#159

Empire 02

Empire

1.988 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
29 June 1992
Code
Blackice
Music
Martin Walker — "Citadel" / Fred Gray — "ShadowFire" (ripped)
Group
Empire — Canada

Same team, same date, same music as #64 Empire 04 — Blackice coding with Walker and Gray providing ripped tunes. CSDb lists both Empire intros on 29 June 1992 with identical credits, suggesting these were visual variants distributed with different cracks on the same day. Empire was a Canadian group that maintained C64 output into mid-1992, long after most North American operations had ceased. Martin Walker's "Citadel" and Fred Gray's "ShadowFire" — both British game soundtracks — are preserved in the HVSC. The duplicate entries in the ranking demonstrate how a single production team could generate multiple popular intros through visual variation alone. Doc Snyder's page documents Empire's releases.

Sources: CSDb · docsnyderspage

empire-02.asm 1.988 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:18
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $35ff  (12032 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $3200 (12800)
// IRQ handler:  $32b1 (irq_32b1)
// IRQ handler:  $32fb (irq_32fb)
// IRQ handler:  $331f (irq_331f)
// IRQ handler:  $334b (irq_334b)
// IRQ handler:  $3374 (irq_3374)
// IRQ handler:  $3397 (irq_3397)
// IRQ handler:  $33f4 (irq_33f4)
//
// Code: 1241 bytes, Data: 10791 bytes
// Labels: 226, Subroutines: 12
//
// Cross-references: all OK
// ============================================


// --- Region $1200-$1203 ---
.pc = $1200 "sub_1200"
// Referenced by: jsr from $35cf, $35d4, $35d9

sub_1200:
        jmp loc_13fb

dat_1203:
        .byte $4c                                   // L

// --- Region $13fb-$156e ---
.pc = $13fb "loc_13fb"

loc_13fb:
        ldx #$02

loc_13fd:
        lda #$00
        sta dat_156f,x
        sta txt_1572,x
        lda $1581,x
        tay
        lda $158b,x
        sta $d402,y
        lda $158e,x
        sta $d403,y
        lda #$08
        sta $d404,y
        lda $1594,x
        sta $d405,y
        lda $1597,x
        sta $d406,y
        dex
        bpl loc_13fd
        lda #$d6
        sta $1575
        lda #$12
        sta $1578
        lda #$ff
        sta $1576
        lda #$12
        sta $1579
        lda #$28
        sta $1577
        lda #$13
        sta $157a
        lda #$00
        sta $1584
        sta $1587
        sta $1585
        lda #$08
        sta $1586
        rts

// Referenced by: jsr from $32d7
sub_1458: {
        inc $1584
        lda $1587
        bne skip1
        clc
        lda $1585
        adc #$40
        sta $1585
        sta $d402
        lda $1586
        adc #$00
        sta $1586
        sta $d403
        cmp #$0e
        bne skip2
        inc $1587
        bne skip2
skip1:
        sec
        lda $1585
        sbc #$40
        sta $1585
        sta $d402
        lda $1586
        sbc #$00
        sta $1586
        sta $d403
        cmp #$02
        bne skip2
        dec $1587
skip2:
        lda $1584
        cmp #$04
        bne skip3
        ldx #$02
loop:
        lda $1581,x
        tay
        lda txt_1591,x
        and #$fe
        sta $d404,y
        dex
        bpl loop
        rts
skip3:
        cmp #$08
        bne done
        lda #$00
        sta $1584
        jsr sub_14c4
done:
        rts
}
// Referenced by: jsr from $14c0

sub_14c4:
        lda $02
        pha
        lda $03
        pha
        ldx #$00
        jsr sub_14e0
        ldx #$01
        jsr sub_14e0
        ldx #$02
        jsr sub_14e0
        pla
        sta $03
        pla