#73

Crazy (CH) 01

Crazy (CH)

2.868 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
16 August 1989
Code
Magic Man
Music
Mike (Michael Hendriks) — "Beyond"
Graphics
Gotcha, Gary Penn
Group
Crazy — Switzerland, founded 6 December 1988

One of the few Swiss contributions to the C64 cracking scene — Crazy was founded on 6 December 1988, part of the small but dedicated Swiss scene that operated in the shadow of neighbouring Germany's massive cracking infrastructure. Magic Man coded the intro while Mike (Michael Hendriks) contributed "Beyond," preserved in the HVSC. The graphics credit includes Gary Penn — a name shared with the famous ZZAP!64 journalist, though whether this is the same person is unconfirmed. Gotcha also contributed graphics. Released on 16 August 1989, this intro demonstrates that even small-scene countries could produce quality work by tapping into international musician networks. Magic Man would also code for other Crazy intros. Switzerland's geographic position between Germany, France, and Italy gave Swiss sceners access to multiple national distribution networks.

Sources: CSDb

crazy-01.asm 2.868 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: $31ff  (10752 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2914 (10516)
// IRQ handler:  $18c4 (irq_18c4)
//
// Code: 2936 bytes, Data: 7816 bytes
// Labels: 326, Subroutines: 21
//
// Cross-references: all OK
// ============================================


// --- Region $0f30-$1003 ---
.pc = $0f30 "loc_0f30"

loc_0f30:
        ldy #$04
        nop
        lda #$01
        beq loc_0f43

loc_0f37:
        dec $0fed
        bpl loc_0f3f
        jsr sub_0f54

loc_0f3f:
        dey
        bne loc_0f37
        rts

loc_0f43:
        inc $0fed
        lda $0fed
        cmp #$08
        bne loc_0f50
        jsr sub_0f6d

loc_0f50:
        dey
        bne loc_0f43
        rts

// Referenced by: jsr from $0f3c
sub_0f54: {
        lda #$07
        sta $0fed
        ldx #$00
loop:
        lda $06a9,x
        sta $06a8,x
        inx
        cpx #$27
        bne loop
        jsr sub_0f84
        sta $06cf
        rts
}

// Referenced by: jsr from $0f4d
sub_0f6d: {
        lda #$00
        sta $0fed
        ldx #$26
loop:
        lda $06a8,x
        sta $06a9,x
        dex
        bpl loop
        jsr sub_0f84
        sta $06a8
        rts
}
// Referenced by: jsr from $0f66, $0f7d; jmp from $0fe9

sub_0f84:
        lda $2c19
        cmp #$00
        beq sub_0fa6
        cmp #$40
        beq loc_0fb3
        cmp #$41
        bcs loc_0fbb
        jmp loc_0f9d

dat_0f96:
        .byte $00,$00,$4c,$00,$38,$00,$00           // ..L.8..

loc_0f9d:
        inc $0f85
        bne loc_0fa5
        inc $0f86

loc_0fa5:
        rts
// Referenced by: jsr from $1f88; branch from $0f89

sub_0fa6:
        lda #$00
        sta $0f85
        lda #$2a
        sta $0f86
        lda #$20
        rts

loc_0fb3:
        lda #$ff
        sta $0fdc
        jmp loc_0fe6

loc_0fbb:
        cmp #$50
        beq loc_0fcb
        cmp #$51
        bcs loc_0fd3
        and #$0f
        sta $0f31
        jmp loc_0fe6

loc_0fcb:
        lda #$01
        sta $0f34
        jmp loc_0fe6

loc_0fd3:
        lda #$00
        sta $0f34
        jmp loc_0fe6

loc_0fdb:
        lda #$00
        beq loc_0fe3

dat_0fdf:
        .byte $ce,$dc,$0f,$60                       // ...`

loc_0fe3:
        jmp loc_0f30

loc_0fe6:
        jsr loc_0f9d
        jmp sub_0f84