#778

2000 A.D. 03

2000 A.D.

2.356 lines of code

RasterbarsRSTRMusicSID

History

Released
30 December 1999
Group
2000 A.D. — CSDb group ID #261

The third ranked 2000 A.D. intro is also documented on Demozoo as "2000AD Cracktro 3," with a release date of 30 December 1999. Demozoo lists this as a Windows-platform cracktro, placing it in the late crossover period when some groups transitioned beyond the C64. The group's C64 catalogue on CSDb is extensive, with at least fourteen crack intros under group ID #261 — including numbered entries from Intro 01 through Intro 09. Demozoo links to files hosted on scene.org and the Untergrund FTP archive, confirming the release circulated through established distribution channels. The Pouet entry (prod #24789) provides a further cross-reference. Comments from Rough and Pudwerx on intros.c64.org in 2009 and 2010 show ongoing interest in the group's work. This intro ranks #778, the lowest of the three 2000 A.D. entries alongside #195 2000 A.D. Intro #1 and #587 2000 A.D. Intro #2.

Sources: CSDb Group · Demozoo · intros.c64.org

2000ad-03.asm 2.356 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:05
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $20ce  (6607 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0810 (2064)
// IRQ handler:  $08d7 (irq_08d7)
//
// Code: 2666 bytes, Data: 3941 bytes
// Labels: 239, Subroutines: 9
//
// Cross-references: all OK
// ============================================


// --- Region $0810-$089b ---
.pc = $0810 "main_0810"

main_0810:
        jsr sub_102a
        sei
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$d7
        sta $0314
        lda #$08
        sta $0315
        lda #$1b
        sta $d011
        cli

loc_082c:
        lda $dc01
        cmp #$ef
        bne loc_082c
        lda #$a0
        sta $096d
        sta $096e
        sta dat_1041
        ldx #$00
        txa

loc_0841:
        sta $09e7,x
        jsr sub_08c9
        inx
        cpx #$10
        bne loc_0841
        lda #$0b
        sta $d011
        sei
        lda #$35
        sta $01
        ldx #$00

loc_0858:
        lda $f800,x
        sta $3800,x
        lda $f900,x
        sta $3900,x
        lda $fa00,x
        sta $3a00,x
        lda $fb00,x
        sta $3b00,x
        inx
        bne loc_0858
        lda #$37
        sta $01
        jsr $ff81
        jsr $ff84
        jsr $ff8a
        lda #$00
        sta $d011
        sta $d020
        sta $d418
        cli
        ldx #$00

loc_088e:
        lda dat_089c,x
        sta $02a7,x
        inx
        cpx #$30
        bne loc_088e
        jmp $02a7

// --- Region $08bb-$090c ---
.pc = $08bb "loc_08bb"

loc_08bb:
        sta $01
        cli
        jmp $fce2

dat_08c1:
        .fill 8, $fc

// Referenced by: jsr from $0844
sub_08c9: {
        lda #$00
loop1:
        ldy #$00
loop2:
        iny
        bne loop2
        adc #$01
        cmp #$20
        bne loop1
        rts
}

irq_08d7:
        asl $d019
        lda #$72
        sta $d012
        lda $1044
        sta $d016
        lda #$13
        sta $d018
        jsr sub_0f8b
        lda #$f5
        sta $0314
        jmp loc_1e18

loc_08f5:
        asl $d019
        lda #$e0
        sta $d012
        lda #$c8
        sta $d016
        lda #$0d
        sta $0314
        jsr sub_0fc8
        jmp $ea81

// --- Region $0941-$098f ---
.pc = $0941 "$0941"
        lda $1043
        cmp #$40
        beq loc_094b
        jmp $ea81

loc_094b:
        sta $0fcc