#298

Crystal 01

Crystal

3.774 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
April 1992
Music
GT (Geir Tjelta), Guy Shavitt
Graphics
D.A.D.
Group
Crystal — Denmark, founded 1992

Crystal Intro #1, released in April 1992, is a crack intro from the Danish group Crystal. The graphics are by D.A.D., and the intro features two SID tunes -- "Off7" by GT (the Norwegian composer Geir Tjelta) and "Hexagone (tune 10)" by Guy Shavitt, an Israeli musician. Crystal was founded in 1992 in Denmark under the abbreviation CSL. This dual-musician approach gives the intro a richer audio profile than single-tune productions. The presence of a Norwegian and an Israeli composer demonstrates the C64 scene's genuinely international reach, even for a newly formed Danish group. No code credit has been identified on CSDb. The intro is catalogued on CSDb as release #100304 and has drawn community discussion on intros.c64.org, including identification comments by iAN CooG.

Sources: CSDb · intros.c64.org

crystal-01.asm 3.774 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:14
// 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:  $0811 (2065)
// IRQ handler:  $0989 (irq_0989)
// IRQ handler:  $09c5 (irq_09c5)
// IRQ handler:  $09ff (irq_09ff)
// IRQ handler:  $0a3d (irq_0a3d)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3072 bytes, Data: 60416 bytes
// Labels: 360, Subroutines: 20
//
// Cross-references: all OK
// ============================================


// --- Region $0811-$08ac ---
.pc = $0811 "main_0811"

main_0811:
        jsr $ff5b
        jsr $fda3
        jsr $fd15
        lda #$00
        sta $0286
        jsr $e544
        sei
        lda #$02
        sta smc_0ba4                                // SMC: modifies $0ba4
        lda #$00
        sta smc_0bb5                                // SMC: modifies $0bb5
        jsr sub_1000
        jsr sub_0c5d
        ldx #$00

loc_0835:
        lda #$08
        sta $d800,x
        sta $d840,x
        lda #$01
        sta $0490,x
        inx
        bne loc_0835
        ldy #$00
        sty $0d34
        jsr sub_0cd0
        lda #$00
        sta smc_0ac4                                // SMC: modifies $0ac4
        lda #$26
        sta smc_0ac5                                // SMC: modifies $0ac5
        lda #$00
        sta smc_0b49                                // SMC: modifies $0b49
        lda #$30
        sta smc_0b4a                                // SMC: modifies $0b4a
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$89
        sta $0314
        lda #$09
        sta $0315
        cli

loc_0879:
        lda scr_0c47
        beq loc_0884
        jsr sub_0c48
        dec scr_0c47

loc_0884:
        lda #$ef
        cmp $dc01
        bne loc_0879
        sei
        lda #$1b
        sta $d011
        lda #$f0
        sta $d01a
        lda #$ea
        sta $0315
        lda #$31
        sta $0314
        cli
        jsr $ff5b
        jsr $fda3
        jsr $fd15
        jmp loc_0f00

// --- Region $0972-$0be1 ---
.pc = $0972 "sub_0972"
// Referenced by: jsr from $0a2d, $0a69

sub_0972:
        ldx #$00

loc_0974:
        ldy dat_0900,x

loc_0977:
        dey
        bne loc_0977
        lda $0d9a,x
        sta $d021
        sta $d021
        inx
        cpx #$12
        bne loc_0974
        rts

irq_0989:
        asl $d019
        lda #$81
        sta $d012
        lda #$19
        sta $d018
        lda #$d8
        sta $d016
        lda #$00
        sta $d020
.label smc_09a1 = * + 1
        lda #$0b                                    // !SMC: modified by $0bc5, $0c3a
        sta $d022
.label smc_09a6 = * + 1
        lda #$0c                                    // !SMC: modified by $0bbf, $0c34
        sta $d023
.label smc_09ab = * + 1
        lda #$0f                                    // !SMC: modified by $0bb9, $0c2e
        sta $d021
        jsr sub_0a9e
        jsr sub_0b23
        jsr sub_1003
        lda #$c5
        sta $0314
        lda #$09
        sta $0315
        jmp loc_ea7e

irq_09c5:
        asl $d019
        lda #$c6