#770

Dominators, The [DOM] 19

Dominators, The [DOM]

4.008 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRTBitmapBMAP

History

Released
3 August 1991
Group
The Dominators — Denmark, founded 1986

Released 3 August 1991, this Dominators intro was coded by NME and features a two-tune jukebox with JCH's "Memory I" and Gerard Gourley's "Terminator Title" from Sonic Graffiti. Gabriel provided graphics while Deek — affiliated with Genesis Project and Vibrants among other groups — contributed the charset. Deek's charset work also appears in #25 DOM-10, the group's June 1990 multi-composer showcase. The dual-tune format follows a pattern established across several Dominators intros, offering users a choice of SID music. JCH's "Memory I" represents his later compositional style, while Gourley's presence connects the intro to Sonic Graffiti. A comment from Tricket/DOM on intros.c64.org confirms the production's authenticity. CSDb records the intro being reused across cracks of Banger Racer, Bouncing Heads, and Mean Machine.

Sources: CSDb

dom-19.asm 4.008 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:16
// 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:  $0ae8 (2792)
// IRQ handler:  $0b87 (irq_0b87)
//
// Code: 4422 bytes, Data: 59066 bytes
// Labels: 385, Subroutines: 9
//
// Verification: 2 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0aa0-$0aaf ---
.pc = $0aa0 "loc_0aa0"

loc_0aa0:
        sei
        ldx #$60

loc_0aa3:
        lda chr_0aaf,x
        sta $0334,x
        dex
        bpl loc_0aa3
        jmp $0334

chr_0aaf:
        // === Charset data (1 bytes, $0aaf-$0aaf) ===
        .byte $ea                                   // char 0 (partial)

// --- Region $0ae8-$0dd5 ---
.pc = $0ae8 "main_0ae8"

main_0ae8:
        lda #$08
        sta $0286
        jsr $e544
        lda #$03
        sta $d015
        sta $d010
        sta $d01f
        lda #$00
        sta $d01c
        lda #$01
        sta $d027
        sta $d028
        lda #$21
        sta $07f8
        lda #$22
        sta $07f9
        lda #$ff
        sta $d001
        sta $d003
        lda #$20
        sta $d000
        lda #$38
        sta $d002
        ldx #$00

loc_0b26:
        lda #$08
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0b26
        ldx #$00
        lda #$0e

loc_0b3b:
        sta $d8c8,x
        inx
        cpx #$f0
        bne loc_0b3b
        ldx #$00

loc_0b45:
        lda $08c0,x
        sta $0428,x
        clc
        adc #$40
        sta $0450,x
        clc
        adc #$40
        sta $0478,x
        inx
        cpx #$28
        bne loc_0b45
        sei
        lda #$7f
        sta $dc0d
        lda #$87
        sta $0314
        lda #$0b
        sta $0315
        lda #$01
        sta $d01a
        lda #$1b
        sta $d011
        lda #$00
        sta $3f
        lda #$19
        sta $40
        lda #$00
        jsr sub_1000
        cli

loc_0b84:
        jmp loc_0b84

irq_0b87:
        lda #$00
        sta $d021
        lda #$03
        sta $d022
        lda #$0e
        sta $d023
        lda #$54
        sta $d012
        lda #$18
        sta $d018
.label smc_0ba1 = * + 1
        lda #$15                                    // !SMC: modified by $0d59
        sta $d016
        jsr sub_0c6f
        lda #$b2

loc_0baa:
        cmp $d012
        bne loc_0baa
        ldx #$09

loc_0bb1:
        dex
        bne loc_0bb1
        lda #$1a
        sta $d018
.label smc_0bba = * + 1
        lda #$16                                    // !SMC: modified by $0d9b