#590

Empire 07

Empire

1.286 lines of code

RasterbarsRSTRSpritesSPRT

History

Released
December 1992
Code
Vizz
Music
Rob Hubbard — "Lightforce" (ripped)
Group
Empire — Canada, founded February 1989

Vizz coded this Empire intro, released in December 1992, with Rob Hubbard's iconic "Lightforce" as the ripped soundtrack — one of the most celebrated SID compositions ever written, preserved in the HVSC. Choosing Hubbard's work was a statement of taste; "Lightforce" remains among the most recognized C64 game soundtracks. Doc Snyder's page documents Empire's output, listing numerous coders including The Last Dragon, Booze, Blackice, and Zapper across their releases. Empire was a Canadian group founded in February 1989, and their scrolltexts consistently greeted Enigma, Action, Fairlight, F4CG, and Dominators. This is one of six Empire entries in the rankings, including #64 Empire-04, #66 Empire-01, and #585 Empire-05. The December 1992 date places this in the twilight of Empire's most active period.

Sources: CSDb · Doc Snyder

empire-07.asm 1.286 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:19
// 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:  $0980 (2432)
//
// Code: 1350 bytes, Data: 62138 bytes
// Labels: 148, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $0843-$087f ---
.pc = $0843 "Program $0843"
        .byte $f7,$59                               // isc $59,x // ILLEGAL
        ldx $dd
        ror $99
        sbc $9a,x
        adc $d6
        tax
        stx $d9,y
        .byte $83,$5e                               // sax ($5e,x) // ILLEGAL
        inc $83
        ror $da,x
        .byte $83,$de                               // sax ($de,x) // ILLEGAL
        sbc #$83
        ror $83e6,x
        inc $d9,x
        .byte $83,$de                               // sax ($de,x) // ILLEGAL
        sbc $83
        ror $d7,x
        .byte $83,$d6                               // sax ($d6,x) // ILLEGAL
        cmp $5a83,x
        .byte $f7,$83                               // isc $83,x // ILLEGAL
        ror $df
        .byte $83,$9a                               // sax ($9a,x) // ILLEGAL
        sbc $6a83,x
        .byte $f7,$83                               // isc $83,x // ILLEGAL
        ldx $dd
        .byte $83,$9a                               // sax ($9a,x) // ILLEGAL
        sbc $83,x
        ror $ea
        .byte $83,$aa                               // sax ($aa,x) // ILLEGAL
        brk

// --- Region $0980-$0ca6 ---
.pc = $0980 "main_0980"

main_0980:
        jsr $fda3
        ldx #$2f

loc_0985:
        lda $0f60,x
        sta $cfff,x
        dex
        bne loc_0985
        nop
        jsr sub_0f00
        jsr sub_0f95
        ldx #$00

loc_0997:
        lda $0d76
        sta $d8a0,x
        sta $daf8,x
        lda $0d77
        sta $d8c8,x
        sta $dad0,x
        lda $0d78
        sta $d8f0,x
        sta $daa8,x
        lda $0d79
        sta $d918,x
        sta $da80,x
        lda $0d7a
        sta $d940,x
        sta $da58,x
        inx
        cpx #$27
        bne loc_0997
        ldx #$00

loc_09cb:
        lda #$20
        sta $02c0,x
        inx
        cpx #$28
        bne loc_09cb
        ldx #$00

loc_09d7:
        lda txt_0ca5,x
        sta $07f8,x
        lda #$00
        sta $d027,x
        inx
        cpx #$08
        bne loc_09d7
        lda #$0b
        sta $d025
        lda #$0c
        sta $d026
        lda #$7f
        sta $d015
        sta $d01c

loc_09f9:
        sei
        lda #$2c

loc_09fc:
        cmp $d012
        bne loc_09fc
.label smc_0a02 = * + 1
        ldx #$34                                    // !SMC: modified by $0b94
        lda $0cf7,x
        sta $e0
.label smc_0a09 = * + 1
        ldx #$3c                                    // !SMC: modified by $0ba3
        lda $0cf7,x
        sta $e1
.label smc_0a10 = * + 1
        ldx #$44                                    // !SMC: modified by $0bb2
        lda $0cf7,x
        sta $e2
.label smc_0a17 = * + 1
        ldx #$4c                                    // !SMC: modified by $0bc1
        lda $0cf7,x
        sta $e3
.label smc_0a1e = * + 1
        ldx #$54                                    // !SMC: modified by $0bd0
        lda $0cf7,x
        sta $e4
.label smc_0a25 = * + 1
        ldx #$5c                                    // !SMC: modified by $0bdf
        lda $0cf7,x
        sta $e5
.label smc_0a2c = * + 1
        ldx #$64                                    // !SMC: modified by $0bee
        lda $0cf7,x
        sta $e6
        ldx #$38