#104

Crazy (CH) 03

Crazy (CH)

4.740 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
9 March 1990
Code
Magic Man
Music
Laxity (Thomas E. Petersen) — "Galaxylogo"
Graphics
Gotcha
Group
Crazy — Switzerland, founded 6 December 1988

The same Swiss team as #73 Crazy 01 — Magic Man coding, Gotcha on graphics — but this time with Laxity (Thomas E. Petersen) providing the music. "Galaxylogo" is an original composition preserved in the HVSC. Laxity's involvement demonstrates that even small-scene groups like Crazy could attract top-tier Danish musicians by 1990. Released on 9 March 1990, this came during the period when Switzerland's tiny C64 scene was at its most active. Crazy was founded on 6 December 1988 and Magic Man served as their consistent coder across multiple releases. The combination of Swiss coding, Danish music, and the group's distinctive visual style shows how late-era intros were assembled from international contributors regardless of group nationality.

Sources: CSDb

crazy-03.asm 4.740 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:17
// 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:  $12c0 (4800)
// IRQ handler:  $132d (irq_132d)
//
// Code: 2817 bytes, Data: 60671 bytes
// Labels: 540, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0820-$084a ---
.pc = $0820 "loc_0820"

loc_0820:
        lda $dc01
        cmp #$ef
        bne loc_0820
.label smc_0828 = * + 1
        lda #$80                                    // !SMC: modified by $1877
        sta $3fff
        sei
        jsr $fd15
        jsr $fda3
        jsr $ffb5
        jsr $ff81
        ldx #$00
        ldy #$50

loc_083d:
        lda chr_084a,x
        sta $05b8,x
        inx
        dey
        bne loc_083d
        jmp $05b8

chr_084a:
        // === Charset data (1 bytes, $084a-$084a) ===
        .byte $a9                                   // char 0 (partial)

// --- Region $0900-$0e54 ---
.pc = $0900 "sub_0900"

// Referenced by: jsr from $1349
sub_0900: {
        lda $d012
        clc
        adc #$35
loop:
        cmp $d012
        bne loop
        inc $d019
        lda #$d8
        sta $d016
        rts
}
// Referenced by: jsr from $12e2, $e791

sub_0914:
        lda #$08
        jsr sub_1854
        lda #$e1
        lda $0328
        jsr $e544
        ldy #$00
        ldx #$9a

loc_0925:
        txa
        sta $07f8,y
        lda #$0c
        sta $d027,y
        inx
        iny
        cpy #$06
        bne loc_0925
        lda #$0b
        jsr sub_1683
        nop
        ldx #$59
        lda #$00
        sta smc_0b7b                                // SMC: modifies $0b7b

loc_0941:
        sta $0fe1,x
        dex
        bpl loc_0941
        ldx #$18

loc_0949:
        sta $d400,x
        dex
        bpl loc_0949
        lda #$08
        sta $d404
        sta $d40b
        sta $d412
        ldy #$00

loc_095c:
        lda $1055,y
        sta $1017,y
        iny
        cpy #$06
        bcc loc_095c
        lda #$80
        sta smc_09db                                // SMC: modifies $09db
        rts

loc_096d:
        cmp #$ff
        bne loc_0980
        iny
        lda ($fa),y
        sta $1017,x
        iny
        lda ($fa),y
        sta $101a,x
        jmp loc_09a1

loc_0980:
        cmp #$a0
        bcs loc_098d
        and #$1f
        sta $1026,x

loc_0989:
        iny
        jmp loc_09bc

loc_098d:
        cmp #$c0
        bcs loc_0998
        and #$1f
        sta $1029,x
        bpl loc_0989

loc_0998:
        and #$3f
        sta $101d,x