#529

Crazy (CH) 13

Crazy (CH)

3.001 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
10 September 1989
Code
Shine
Music
Markus Schneider — "Lingo"
Graphics
Gary Penn
Group
Crazy — Switzerland, founded 6 December 1988

A Swiss crack intro coded by Shine, with music from Markus Schneider and graphics by Gary Penn. Schneider's "Lingo" is preserved in the HVSC. Released on 10 September 1989, this arrived nine months after Crazy's founding on 6 December 1988. Crazy was one of the few Swiss groups in the C64 cracking scene, operating from a small but strategically located country between Germany, France, and Italy. Gary Penn's graphics credit appears in multiple Crazy intros — this is the thirteenth numbered entry from the group, sitting alongside #231 Crazy-01 in the rankings. Markus Schneider was a German musician whose compositions appeared across multiple groups' intros during this period. Shine takes over coding duties from Magic Man, who handled earlier Crazy productions. The intro's scrolltexts — visible on other Crazy entries — typically greeted groups including Dominators, X-Ray, and Transcom, reflecting the Swiss-German scene axis.

Sources: CSDb

crazy-13.asm 3.001 lines
// ============================================
// output - Part 1 of 2
// ============================================
// 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: $35ff  (11776 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1800 (6144)
// IRQ handler:  $18f7 (irq_18f7)
// IRQ handler:  $1b11 (irq_1b11)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3274 bytes, Data: 8502 bytes
// Labels: 309, Subroutines: 12
//
// Cross-references: all OK
// ============================================


// --- Region $0815-$085a ---
.pc = $0815 "sub_0815"
// Referenced by: jsr from $1b0b

sub_0815:
        dec $d019
        jsr sub_0e00
        lda $dc01
        cmp #$ef
        beq loc_0825
        jmp loc_35f2

loc_0825:
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        jsr $e518
        lda #$00
        sta $d020

loc_0838:
        sta $d021
        ldx #$07

loc_083d:
        lda dat_085a,x
        sta $0400,x

loc_0843:
        lda #$04
        sta $d800,x
        dex
        bpl loc_083d
        ldx #$58

loc_084d:
        lda $35c2,x
        sta $0200,x
        dex
        bpl loc_084d
        cli
        jmp loc_35ea

dat_085a:
        .byte $83                                   // .

// --- Region $0863-$0881 ---
.pc = $0863 "loc_0863"

loc_0863:
        bcc loc_0838
        ldx #$0f
        stx $18f6
        jmp sub_0e00

dat_086d:
        .byte $80                                   // .

loc_086e:
        bcc loc_0843
        ldx #$0f
        stx $18f6
        jmp sub_0e00

loc_0878:
        ldx #$0f
        stx $18f6
        jmp sub_0e00

dat_0880:
        .byte $00,$08                               // ..

// --- Region $0e00-$0e07 ---
.pc = $0e00 "sub_0e00"
// Referenced by: jsr from $0818; jmp from $086a, $0875, $087d

sub_0e00:
        jmp loc_0e9a
// Referenced by: jsr from $18eb

sub_0e03:
        jmp loc_0ea4

scr_0e06:
        // === Screen RAM (2 bytes, $0e06-$0e07) ===
        .encoding "screencode_mixed"
        .text "@@"
        .encoding "petscii_upper"

// --- Region $0e9a-$1444 ---
.pc = $0e9a "loc_0e9a"

loc_0e9a:
        lda scr_0e06
        beq loc_0f10
        bpl loc_0f05
        jmp loc_0edd

loc_0ea4:
        tax
        lda $0ede,x
        sta $0e46
        txa
        sta $0e47
        ldx #$00
        asl
        asl
        clc
        adc $0e47
        adc $0e47
        tay

loc_0ebb:
        lda $1526,y
        sta $1520,x
        iny
        inx
        cpx #$06
        bne loc_0ebb
        ldy #$00
        lda $0e47
        asl
        adc $0e47
        tax

loc_0ed1: