★

Crest 01

Crest

3.806 lines of code

MusicSIDSpritesSPRT

History

Released
March 1990
Code
Crossbow
Music
Drax (Thomas Mogensen) — Kuldioxid
Graphics
Crossbow
Group
Crest — Germany, founded July 1988

Crest was founded in July 1988 by Crossbow and Goldrush, and would become one of the most technically formidable groups in the German demoscene — Crossbow alone holds a 9.8/10 coding rating on CSDb across three decades of output. The intro's centerpiece is a pair of oversized CREST logos built entirely from hardware sprites, deliberately symmetrical and dominating the screen — a knowing echo of the sprite-logo tradition established by #2 Eagle Soft Inc. three years earlier. The SID is Drax's Kuldioxid, composed in 1989 during his Vibrants period, eventually appearing in over a hundred scene releases. The intro was attached to 6 cracks including Turrican +17 and Black Tiger +11H.

Sources: CSDb · CSDb group

crest-01.asm 3.806 lines
// ============================================
// crest-01 - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:10
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $0880 (2176)
// IRQ handler:  $0a00 (irq_0a00)
//
// Code: 3609 bytes, Data: 59879 bytes
// Labels: 390, Subroutines: 11
//
// Cross-references: all OK
// ============================================


// --- Region $0840-$0849 ---
.pc = $0840 "loc_0840"

loc_0840:
        lda $dc01
        cmp #$ef
        bne loc_0840
        jmp loc_1da8

// --- Region $0880-$09c5 ---
.pc = $0880 "main_0880"

main_0880:
        sei
        lda #$01
        sta $d01a                                   // raster IRQ on
        sta $dc0d                                   // clear, timer A
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        lda #$f0
        sta $d012
        lda #$00
        sta $0314                                   // set IRQ handler low byte
        lda #$0a
        sta $0315                                   // set IRQ handler high byte
        lda #$0e
        sta $0286
        jsr $e544
        lda #$18
        sta $d018                                   // screen=$0400, charset=$2000
        sta $d016                                   // multicolor, 40 cols, X-scroll=0
        lda #$00
        sta $d020
        sta $d021
        lda #$0f
        sta $d022
        lda #$0e
        sta $d023
        lda #$00
        jsr sub_1000
        lda #$40
        sta $d000
        sta $d002
        sta $d008
        lda #$f8
        sta $d004
        sta $d006
        sta $d00a
        lda #$ff
        sta $d015
        sta $d01c
        lda #$0a
        sta $d027
        sta $d028
        sta $d029
        sta $d02a
        sta $d02b
        sta $d02c
        lda #$08
        sta $d025
        lda #$09
        sta $d026
        lda #$10
        sta $2b
        lda #$04
        sta $2c
        lda #$10
        sta $3b
        lda #$d8
        sta $3c
        ldx #$01

loc_0912:
        ldy #$00
        txa
        sta ($2b),y
        lda #$01
        sta ($3b),y
        ldy #$01
        txa
        clc
        adc #$20
        sta ($2b),y
        lda #$01
        sta ($3b),y
        lda $2b
        clc
        adc #$28
        bcc loc_0932
        inc $2c
        inc $3c

loc_0932:
        sta $2b
        sta $3b
        inx
        cpx #$1a
        bne loc_0912
        lda #$07
        sta $a7
        lda #$00
        sta $9e
        lda #$2e
        sta $9f
        lda #$00
        ldx #$3f

loc_094b:
        sta $0340,x
        dex
        bpl loc_094b
        ldx #$d8

loc_0953:
        sta $2000,x
        sta $2100,x
        dex
        bne loc_0953
        lda #$15
        sta $2b
        sta $3b
        lda #$04
        sta $2c
        lda #$d8
        sta $3c
        ldx #$00

loc_096c:
        ldy #$00
        lda $09e0,x