#663

Zenith 04

Zenith

3.263 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
1988
Code
Steve
Music
Red (Jeroen Kimmel) — "Traz"; Rob Hubbard — "Zoids"; Matt Gray — "Bangkok Knights Loader"; David Whittaker — "Feud"
Group
Zenith — United Kingdom, founded December 1987

Steve coded this Zenith intro — a jukebox-style production featuring four SID composers among the C64's most celebrated. Red (Jeroen Kimmel) contributes "Traz," Rob Hubbard provides "Zoids," Matt Gray offers "Bangkok Knights Loader," and David Whittaker supplies "Feud" — all preserved in the HVSC. A fifth unattributed SID titled "Zenith Intro" is also listed. Released in 1988, this arrived during the height of the multi-tune intro trend when groups competed to pack the most impressive music selections into their crack screens. Zenith was a British group founded in December 1987 under the tagline "Poetry in motion." The inclusion of four industry-grade composers — spanning Dutch, British, and continental talent — demonstrates the era's practice of incorporating ripped professional game music. Other Zenith intros appear at #19 Zenith-01 and #77 Zenith-02.

Sources: CSDb · docsnyderspage

zenith-04.asm 3.263 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:06
// 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:  $2400 (9216)
// IRQ handler:  $22d0 (irq_22d0)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $246a (irq_246a)
//
// Code: 3542 bytes, Data: 59946 bytes
// Labels: 331, Subroutines: 12
//
// Cross-references: all OK
// ============================================


// --- Region $0814-$0826 ---
.pc = $0814 "Program $0814"
        bcs $07cc
        lda ($b7),y
        .byte $0f,$30,$47                           // slo $4730 // ILLEGAL
        .byte $5f,$98,$b3                           // sre $b398,x // ILLEGAL
        ldy $b4,x
        .byte $ff,$80,$be                           // isc $be80,x // ILLEGAL
        .byte $bf,$b3,$b4                           // lax $b4b3,y // ILLEGAL

dat_0826:
        .byte $b7                                   // .

// --- Region $0dd8-$0dd8 ---
.pc = $0dd8 "loc_0dd8"

loc_0dd8:
        brk

// --- Region $0e0f-$0e18 ---
.pc = $0e0f "Program $0e0f"
        inc $b464,x
        ldy $74,x
        cpx $88
        bmi loc_0dd8
        brk

// --- Region $0f0c-$0f0c ---
.pc = $0f0c "Program $0f0c"
        brk

// --- Region $1000-$1373 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $2445

sub_1000:
        jmp loc_19f2
// Referenced by: jsr from $1087, $f109

sub_1003:
        jmp loc_1a23
// Referenced by: jsr from $24ef, $fd7f

sub_1006:
        inc $146e
        bit $1462
        bmi loc_102c
        bvc loc_1046
        lda #$00
        sta $146e
        ldx #$02

loc_1017:
        sta $1438,x
        sta $143b,x
        sta $143e,x
        sta $1447,x
        dex
        bpl loc_1017
        sta $1462
        jmp loc_1046

loc_102c:
        bvc loc_1043
        lda #$00
        sta $d404
        sta $d40b
        sta $d412
        lda #$0f
        sta $d418
        lda #$80
        sta $1462

loc_1043:
        jmp loc_1373

loc_1046:
        ldx #$02
        dec $145f
        bpl loc_1053
        lda $1460
        sta $145f

loc_1053:
        lda $1434,x
        sta $1437
        tay
        lda $145f
        cmp $1460
        bne loc_1077
        lda $14e7,x
        sta $fb
        lda $14ea,x
        sta $fc
        dec $143e,x
        bmi loc_107a
        jmp loc_115e

dat_1074:
        .byte $4c,$6d,$13                           // Lm.

loc_1077:
        jmp loc_117d

loc_107a:
        ldy $1438,x
        lda ($fb),y
        cmp #$ff
        beq loc_108d
        cmp #$fe
        bne loc_109e
        jsr sub_1003
        jmp loc_1373

loc_108d:
        lda #$00
        sta $143e,x
        sta $1438,x
        sta $143b,x
        jmp loc_107a

dat_109b:
        .byte $4c,$6d,$13                           // Lm.

loc_109e:
        tay
        lda $14ff,y
        sta $fd