#666

Bonzai [BZ] 02

Bonzai [BZ]

300 lines of code

History

Released
23 August 1991
Group
Bonzai [BZ] — Denmark
Code
Crush
Graphics
Stiff
Charset
Spacie; Scrap
Music
Laxity (Thomas Petersen) — Def Con One; Scortia (Thomas Bendt) — CoverGirl Strip Poker

This crack intro from the Danish group Bonzai is catalogued on CSDb as release #95130, dated 23 August 1991. Code is credited to Crush, graphics to Stiff, the charset split between Spacie and Scrap, and two SID tunes — "Def Con One" by Laxity (Thomas E. Petersen) and "CoverGirl Strip Poker" by Scortia (Thomas Bendt) — both preserved in the HVSC. Bonzai operated under the tagline "More than just a tree" — a play on the Japanese art of bonsai. Doc Snyder's page confirms Crush as coder and Stiff as artist, with Scortia credited for music. The scrolltext describes a crack of "PP Hammer" completed in approximately two hours and references a party co-hosted with Amnesia/Starion — where a false fire alarm reportedly cost 20,000 Danish kroner. Light won the party's demo competition, followed by Camelot and Spirit.

Sources: CSDb · intros.c64.org · docsnyderspage

bz-02.asm 300 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:11
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0aff  (767 bytes)
// Entry point:  $0816 (via BASIC SYS 2070)
//
// Code: 308 bytes, Data: 459 bytes
// Labels: 39, Subroutines: 3
//
// Cross-references: all OK
// ============================================


// --- Region $0816-$0905 ---
.pc = $0816 "main_0816"

main_0816:
        jsr $ff81
        lda #$0b
        jsr $e536
        lda #$9d
        ldy #$09
        jsr $ab1e
        ldx #$1f

loc_0827:
        lda $09c0,x
        sta $d400,x
        dex
        bpl loc_0827
        inx
        ldy #$00

loc_0833:
        lda tbl_09e0,y
        beq loc_083b
        iny
        bne loc_0833

loc_083b:
        sty $02
        lda #$28
        sec
        sbc $02
        lsr
        tay

loc_0844:
        lda tbl_09e0,x
        sta $06a8,y
        iny
        inx
        cpx $02
        bne loc_0844
        lda #$16
        sta $d018
        ldx #$01
        stx $fd
        dex
        stx $d020
        stx $d021
        stx $fb
        stx $fc
        stx $fe

loc_0866:
        ldy #$00

loc_0868:
        lda dat_096f,x
        asl dat_096f,x
        and #$80
        beq loc_0876
        lda #$40
        bne loc_0878

loc_0876:
        lda #$20

loc_0878:
.label smc_0879 = * + 1
.label smc_087a = * + 2
        sta $0540,y                                 // !SMC: modified by $0885, $088d
        iny
        cpy #$08
        bne loc_0868
        tya
        clc
        adc smc_0879
        sta smc_0879                                // SMC: modifies $0879
        lda smc_087a
        adc #$00
        sta smc_087a                                // SMC: modifies $087a
        inx
        cpx #$1e
        bne loc_0866
        ldy #$27

loc_0897:
        lda #$0c
        sta $d968,y
        sta $d9e0,y
        lda #$0f
        sta $d990,y
        sta $d9b8,y
        dey
        bpl loc_0897
        sei

loc_08ab:
        lda #$d0

loc_08ad:
        cmp $d012
        bne loc_08ad
        lda $fb
        sta $d016
        lda #$f0

loc_08b9:
        cmp $d012
        bne loc_08b9
        lda #$08
        sta $d016
        jsr sub_0929
        jsr sub_094f
        lda $dc01
        cmp #$ef
        bne loc_08ab
        sei
        ldy #$1f

loc_08d3:
        lda #$00
        sta $d400,y
        sta.abs $0090,y
        dey
        bpl loc_08d3
        ldx #$00

loc_08e0:
        lda $0b00,x
        sta $c000,x
        lda $0c00,x
        sta $c100,x
        lda $0d00,x