#128

Zenobits 01

Zenobits

4.618 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
19 September 1988
Music
Future Freak (Kim Christensen), Laxity (Thomas E. Petersen)
Charset
Mr. Cursor
Group
Zenobits — Germany, founded 1988

A three-SID jukebox with two Danish composers — Future Freak (Kim Christensen) and Laxity (Thomas E. Petersen) each contributing compositions, including Laxity's popular "Fairlightz" and "Public Enemy." Mr. Cursor provided the charset. Zenobits was a German group founded in 1988. No coder is credited on CSDb. Released on 19 September 1988, this arrived during the period when German groups routinely attracted Scandinavian musicians through mail-trading connections. The HVSC preserves all three tunes. Laxity's "Fairlightz" — a composition named in tribute to #2 Fairlight — circulated widely across the scene. Doc Snyder's page documents Zenobits. Mr. Cursor's charset work appearing yet again demonstrates his extraordinary reach across the German and international scene.

Sources: CSDb · docsnyderspage

zenobits-01.asm 4.618 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:42
// 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:  $2880 (10368)
// IRQ handler:  $151b (irq_151b)
// IRQ handler:  $1580 (irq_1580)
// IRQ handler:  $2840 (irq_2840)
// IRQ handler:  $1bc0 (irq_1bc0)
// IRQ handler:  $138f (irq_138f)
//
// Code: 3801 bytes, Data: 59687 bytes
// Labels: 492, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $0a00-$0d04 ---
.pc = $0a00 "sub_0a00"
// Referenced by: jsr from $0ce4, $e939

sub_0a00:
        lda #$01
        sta $0d4b,x

loc_0a05:
        lda $0d22,x
        sta $fb
        lda $0d23,x
        sta $fc
        lda $0d21,x
        asl
        tay
        iny
        lda ($fb),y
// Referenced by: jsr from $139b, $ee45, $ee67

sub_0a17:
        cmp #$00
        bne loc_0a27
        lda #$00
        sta $0d21,x
        ldy #$01
        lda ($fb),y
        clv
        bvc loc_0a8d

loc_0a27:
        cmp #$01
// Referenced by: jsr from $e5a9, $e5ae, $e5b3

sub_0a29:
        bne loc_0a8d
        lda #$00
        sta chr_0d04
        rts
// Referenced by: jsr from $0b38, $0c3d, $0c4a, $0c56, $e78d

sub_0a31:
        tya
        sta $0d20,x
// Referenced by: jsr from $0b66

sub_0a35:
        lda $0d72,y
        sta $d401,x
        sta $0d37,x
        lda $0dd2,y

loc_0a41:
        sta $d400,x
        sta $0d36,x
        rts
// Referenced by: jsr from $2893, $ed2e, $f7ff

sub_0a48:
        lda #$03
        sta $0d05
        lda #$6f
        sta $0d06
        lda #$07
        sta chr_0d04
        lda #$00
        sta $0d5d
        lda #$40
        sta $0d64
        lda #$80
        sta $0d6b
        lda #$0f
        sta $0d5e
        sta $0d65
        sta $0d6c
        lda #$ab
        sta $fb
        lda #$0e
        sta $fc
        ldx #$00
        lda #$00

loc_0a7d:
        sta $d400,x
        inx
        cpx #$1c
        bne loc_0a7d
        lda #$41
        sta $0d3c
        jmp loc_0ba4

loc_0a8d:
        pha
        dey
        lda ($fb),y
        sta $fb
        pla
        sta $fc
        lda $0d33,x
        tay
        clc
        adc #$02
        sta $0d33,x
        lda ($fb),y
        cmp #$00
        beq loc_0aad
        lda $0d33,x
        cmp #$22
        bne loc_0ad4

loc_0aad:
        lda #$00
        sta $0d33,x
        inc $0d21,x
        lda $0d21,x
        cmp $0eaa
        bne loc_0ad1
        lda #$00
        sta $0d21
        sta $0d28
        sta $0d2f
        sta $0d33
        sta $0d3a
        sta $0d41

loc_0ad1: