#406

ROM 01

ROM

2.784 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
February 1988
Code
Bitspy
Music
Rob Hubbard — "ACE II" (ripped)
Group
ROM — Germany

CSDb catalogues this as the "ROM Intro" from February 1988. The scrolltext — preserved on Doc Snyder's page — reveals that Bitspy coded the intro and also handled the cracking, naming "Predator" as the attached game. Rob Hubbard's "ACE II" provides the soundtrack, one of the most ripped SIDs of the era and preserved in the HVSC. ROM was a German group based in Bremen, as documented by their postal contact address in the scrolltext. The group's membership included Electro, Peter Parker, and Bitspy. The scrolltext contains an extensive greetings list featuring era-defining groups including The Wanderer Group, Tristar, Ikari, and Dominators. ROM also expressed interest in both Amiga and C64 software swapping, reflecting the transitional period when many sceners were beginning to straddle both platforms. Doc Snyder's page documents two ROM intros, with this being the second listed.

Sources: CSDb · Doc Snyder

rom-01.asm 2.784 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:40
// 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:  $1065 (4197)
// IRQ handler:  $1300 (irq_1300)
// IRQ handler:  $1470 (irq_1470)
// IRQ handler:  $143d (irq_143d)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 2336 bytes, Data: 61152 bytes
// Labels: 284, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0ad0-$0ad7 ---
.pc = $0ad0 "Program $0ad0"
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL

dat_0ad6:
        .byte $ff,$ff                               // ..

// --- Region $0b8d-$0b94 ---
.pc = $0b8d "Program $0b8d"
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL

dat_0b93:
        // === Fill data (2 bytes, $0b93-$0b94) ===
        .byte $ff,$ff                               // ..

// --- Region $0c8d-$0c94 ---
.pc = $0c8d "Program $0c8d"
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL

dat_0c93:
        // === Fill data (2 bytes, $0c93-$0c94) ===
        .byte $ff,$ff                               // ..

// --- Region $0cd0-$0cd7 ---
.pc = $0cd0 "Program $0cd0"
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL

dat_0cd6:
        // === Fill data (2 bytes, $0cd6-$0cd7) ===
        .byte $ff,$ff                               // ..

// --- Region $1000-$107f ---
.pc = $1000 "sub_1000"

// Referenced by: jsr from $1068, $f81c
sub_1000: {
        sei
        lda #$7f
        sta $dc0d
        lda #$00
        sta $0314
        lda #$13
        sta $0315
        lda #$01
        sta $d01a
        lda $d011
        and #$7f
        sta $d011
        lda #$31
        sta $d012
        cli
        ldx #$00
        txa
loop1:
        sta $0400,x
        inx
        cpx #$a0
        bne loop1
        ldx #$00
        lda #$0f
loop2:
        sta $d800,x
        inx
        bne loop2
        ldx #$00
        txa
loop3:
        sta $d8e0,x
        sta $d9e0,x
        sta $dae0,x
        inx
        bne loop3
        lda #$00
        sta $d022
        ldx #$00
loop4:
        lda txt_1690,x
        sta $0590,x
        inx
        bne loop4
        ldx #$00
loop5:
        lda $1790,x
        sta $0690,x
        inx
        cpx #$18
        bne loop5
        rts
}

main_1065:
        jsr $e544
        jsr sub_1000
        lda #$00
        ldx #$20
        sta smc_140b                                // SMC: modifies $140b
        stx smc_140c                                // SMC: modifies $140c

loc_1075:
        lda $dc01
        cmp #$ef
        bne loc_1075
        jmp loc_181c

dat_107f:
        // === Fill data (1 bytes, $107f-$107f) ===
        .byte $00                                   // .

// --- Region $1300-$13b0 ---
.pc = $1300 "irq_1300"

irq_1300:
        ldx #$00
        ldy #$08

loc_1304:
        dey
        bne loc_1304

loc_1307:
        ldy #$07

loc_1309: