#80

Army of Darkness [AOD] 01

Army of Darkness [AOD]

3.145 lines of code

MusicSIDSpritesSPRTBitmapBMAP

History

Released
21 December 2020
Music
Bax (Bartek Wilk) — "Zombie"
Charset
Prowler
Group
Army of Darkness — United States, founded 21 December 2020

A modern crack intro released in 2020 — CSDb rates it 9.5/10, proof that the C64 cracking scene continues to produce exceptional work over three decades after the platform's commercial peak. Bax (Bartek Wilk) composed "Zombie" as an original SID piece, preserved in the HVSC. Prowler contributed the charset. Army of Darkness was founded on the same day this intro was released, suggesting it served as the group's debut statement. The 2020 date places this firmly in the "new school" era where C64 intros are created as artistic tributes to the historical cracking scene rather than practical accompaniments to pirated software. No coder credit is listed on CSDb. The high CSDb rating demonstrates that modern productions can match or exceed the quality of 1980s classics — contemporary SID musicians and pixel artists bring decades of accumulated technique to the platform.

Sources: CSDb · docsnyderspage

aod-01.asm 3.145 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:44
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $45c0  (15809 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0810 (2064)
// IRQ handler:  $08b8 (irq_08b8)
//
// Code: 2298 bytes, Data: 13511 bytes
// Labels: 280, Subroutines: 15
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$08aa ---
.pc = $0810 "main_0810"

main_0810:
        lda $02a6
        beq loc_0824
        lda #$08
        sta smc_086e                                // SMC: modifies $086e
        lda #$10
        sta $091d
        lda #$03
        sta $091c

loc_0824:
        sei
        jsr sub_0935
        lda #$35
        sta $01
        lda #$01
        sta $d019
        sta $d01a
        lda #$1b
        sta $d011
        lda #$7f
        sta $dc0d
        sta $dd0d
        lda #$00
        sta $dc0e
        sta $dc0f
        lda $08b4
        sta $d012
        lda #$34
        sta $fffc
        lda #$09
        sta $fffd
        lda #$b8
        sta $fffe
        lda #$08
        sta $ffff                                // SMC: modifies $ffff
        lda $dc0d
        lda #$09

loc_0868:
        cmp $d012
        bne loc_0868
.label smc_086e = * + 1
        ldy #$04                                    // !SMC: modified by $0817
        sty $dc04

loc_0872:
        dey
        bne loc_0872
        sty $dc05
        sta $dc0e,y
        lda #$11
        cmp $d012
        sty $d015
        bne loc_0868
        cli

loc_0886:
        lda $dc01
        cmp #$ef
        bne loc_0886
        jmp loc_098b

loc_0890:
        inc scr_08ab
        ldx scr_08ab
        cpx #$04
        bne loc_089f
        ldx #$00
        stx scr_08ab

loc_089f:
        lda $08b4,x
        sta $d012
        pla
        tax
        pla
        tay
        pla
        rti

// --- Region $08b8-$0a58 ---
.pc = $08b8 "irq_08b8"

irq_08b8:
        pha
        lda $dc04
        eor #$07
        sta smc_08c2                                // SMC: modifies $08c2
.label smc_08c2 = * + 1
        bpl loc_08c3                                // !SMC: modified by $08be

loc_08c3:
        lda #$a9
        lda #$a9
        lda $eaa5
        tya
        pha
        txa
        pha
        lda #$01
        sta $d019
        ldx scr_08ab
        lda tbl_08ac,x
        sta smc_08e3                                // SMC: modifies $08e3
        lda tbl_08b0,x
        sta smc_08e4                                // SMC: modifies $08e4
.label smc_08e3 = * + 1
.label smc_08e4 = * + 2
        jmp $ffff                                // !SMC: modified by $08d9, $08df
        lda #$19
        sta $d018
        lda #$00
        sta $d021
        jmp loc_0890
        lda #$1d
        sta $d018
        lda #$00
        sta $d016
        jmp loc_0890
sub_08ff: {
        ldy #$0c
loop1:
        dey
        bne loop1
        lda #$1b
        sta $d018