#426

Crazy (CH)+Lotus 04

Crazy (CH)+Lotus

2.582 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
6 April 1990
Code
Magic Man
Music
Magic Man (Stephan Schloepke) — "Crazy+Lotus Intro"
Graphics
Gotcha
Group
Crazy (CH) + Lotus — Switzerland/Netherlands, Crazy founded 6 December 1988

Another joint release between the Swiss group Crazy and Lotus, released on 6 April 1990 — two months before their other ranked co-operation, #237 C_L-05. Magic Man handled both the code and the music — his original composition "Crazy+Lotus Intro" is preserved in the HVSC under his real name, Stephan Schloepke. Gotcha provided the graphics, the same artist who contributed to #237 C_L-05 and also appeared in #101 Crazy-01. The dual code-and-music credit for Magic Man was uncommon — most intros divided these roles between specialists. Magic Man's versatility made him a key figure in the Swiss scene, and he would later also code for Avantgarde. The April 1990 release date places this during a productive period for the Crazy+Lotus partnership, when the two groups were actively pooling resources across the Swiss-Dutch border.

Sources: CSDb

c_l-04.asm 2.582 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:13
// 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:  $17e8 (6120)
// IRQ handler:  $0a29 (irq_0a29)
//
// Code: 2184 bytes, Data: 61304 bytes
// Labels: 270, Subroutines: 29
//
// Cross-references: all OK
// ============================================


// --- Region $0814-$0818 ---
.pc = $0814 "sub_0814"
// Referenced by: jsr from $fdaf

sub_0814:
        .byte $3c,$3b,$2f                           // nop $2f3b,x // ILLEGAL

txt_0817:
        .text "//"

// --- Region $0a00-$0a56 ---
.pc = $0a00 "loc_0a00"

loc_0a00:
        sei
        lda #$7f
        sta $dc0d
        lda #$f1
        sta $d01a
        lda #$1b
        sta $d011
        lda #$30
        sta $d012
        lda #$29
        sta $0314
        lda #$0a
        sta $0315
        nop
        lda #$00
        jsr sub_0a83
        cli

loc_0a26:
        jmp loc_0a26

irq_0a29:
        lda #$1b
        sta $d011
        jsr sub_1af0
        lda #$b0

loc_0a33:
        cmp $d012
        bne loc_0a33
        lda #$5b
        sta $d011
        jsr sub_1bbf
        jsr sub_0a80
        inc $d019
        lda #$00
        sta $d020
        sta $d021
        lda #$18
        sta $d018
        jmp loc_ea7e

txt_0a56:
        .text " "

// --- Region $0a80-$0efb ---
.pc = $0a80 "sub_0a80"
// Referenced by: jsr from $0a40

sub_0a80:
        jmp loc_0add
// Referenced by: jsr from $0a22

sub_0a83:
        lda $18d0
        sta $0341
        lda #$fe
        sta $0340
        lda #$40
        sta $02b0
        sta $02b7
        sta $02be
        lda #$00
        sta $029b
        sta $02a2
        sta $02a9
        sta $0350
        sta $a4
        sta $ab
        sta $b2
        tax

loc_0aae:
        sta $0342,x
        sta $02da,x
        sta $0100,x
        sta $0106,x
        sta $010c,x
        sta $0112,x
        sta $0118,x
        inx
        cpx #$06
        bne loc_0aae
        tax

loc_0ac9:
        sta $d400,x
        inx
        cpx #$1f
        bne loc_0ac9
        lda #$08
        sta $d404
        sta $d40b
        sta $d412
        rts

loc_0add:
        inc $0350
        lda $0350
        cmp $18d2
        beq loc_0aeb
        jmp loc_0bea

loc_0aeb:
        inc $0340
        inc $0340
        lda #$00
        sta $0350
        lda $0340
        cmp $18d3
        bne loc_0b1d
        lda #$00
        sta $0340
        sta $02db
        sta $02dd
        sta $02df