#916

Crazy (CH) 19

Crazy (CH)

1.625 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
21 June 1989
Code
Magic Man
Music
Link (Klaus Grongaard) — "Abnormal"
Graphics
Gotcha
Group
Crazy — Switzerland, founded 6 December 1988

Released on 21 June 1989, this is a crack intro from Switzerland's Crazy — one of the few Swiss contributions to the C64 cracking scene. Magic Man coded the intro, Gotcha provided the graphics, and Link (Klaus Grongaard) composed "Abnormal" — a SID preserved in the HVSC. Link was a Danish musician whose compositions circulated widely across European crack intros. Magic Man served as Crazy's primary coder, also contributing to #73 Crazy-01 and #104 Crazy-03. Founded on 6 December 1988, Crazy had been active for just over six months by the time of this release. The group's abbreviation [C] and Swiss origin placed them in a unique geographic position between the massive German, French, and Italian scene infrastructures. The high intro number — 19 — suggests prolific output for a group less than seven months old, indicating Crazy prioritized volume in their early period.

Sources: CSDb

crazy-19.asm 1.625 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: $217f  (6528 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1900 (6400)
// IRQ handler:  $0e28 (irq_0e28)
//
// Code: 1725 bytes, Data: 4803 bytes
// Labels: 170, Subroutines: 5
//
// Cross-references: all OK
// ============================================


// --- Region $0e28-$0e70 ---
.pc = $0e28 "irq_0e28"

irq_0e28:
        inc $d019
.label smc_0e2c = * + 1
        ldx #$09                                    // !SMC: modified by $1959
        lda $0ea1,x
        sta $d021
        lda $0ea0,x
        sta $d022
        lda $0ea2,x
        sta $d023
        jmp loc_0eac

chr_0e42:
        // === Charset data (6 bytes, $0e42-$0e47) ===
        .byte $20,$00,$0f,$20,$5d,$0f               // char 0 (partial)

loc_0e48:
        lda #$7a

loc_0e4a:
        cmp $d012
        bne loc_0e4a
        ldx #$08

loc_0e51:
        dex
        bpl loc_0e51
        ldx #$00

loc_0e56:
        lda chr_0e70,x
        sta $d021
        ldy $0e88,x

loc_0e5f:
        dey
        bpl loc_0e5f
        inx
        cpx #$19
        bne loc_0e56
        jsr sub_1960
        inc $d019
        jmp $ea7e

chr_0e70:
        // === Charset data (1 bytes, $0e70-$0e70) ===
        .byte $06                                   // char 0 (partial)

// --- Region $0eac-$0ebc ---
.pc = $0eac "loc_0eac"

loc_0eac:
        lda #$12
        sta $d018
.label smc_0eb2 = * + 1
        lda #$01                                    // !SMC: modified by $1b46, $1b67
        bne loc_0eb8

chr_0eb5:
        // === Charset data (3 bytes, $0eb5-$0eb7) ===
        .byte $4c,$e0,$19                           // char 0 (partial)

loc_0eb8:
        jmp loc_1b12

chr_0ebb:
        // === Charset data (2 bytes, $0ebb-$0ebc) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1921

sub_1000:
        jmp loc_102b
// Referenced by: jsr from $19ce

sub_1003:
        jmp loc_1073

dat_1006:
        .byte $00                                   // .

// --- Region $102b-$147e ---
.pc = $102b "loc_102b"

loc_102b:
        lda #$00
        nop
        tay
        ldx #$00

loc_1031:
        lda $1023,y
        sta $153e,x
        sta $1544,x
        lda $1024,y
        sta $1541,x
        sta $1547,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1031
        lda $1023,y
        sta $15be
        sta $1007
        ldy #$00
        tya

loc_1056:
        sta $d400,y
        sta $155a,y
        iny
        cpy #$1b
        bne loc_1056
        lda dat_1006
        sta $d418
        lda #$ff
        sta $156c
        sta $156d
        sta $156e
        rts

loc_1073:
        lda $fb
        pha