#954

Demonix 07

Demonix

965 lines of code

RasterbarsRSTRScrollerSCRLSpritesSPRT

History

Group
Demonix — United States, founded January 1990

The seventh numbered intro from Demonix, an American group founded in January 1990 that operated as a demo group, import group, and fixing group. Demonix specialized in adapting European PAL releases for NTSC hardware — a critical function in the North American C64 scene where many European cracks would not run correctly without modification. The group's founding members — Swan Song, Taskmaster, and The Unholy — built a crew that remained active into the mid-1990s, unusually late for a C64 cracking operation. Comments on intros.c64.org from both The Unholy and Taskmaster confirm the intro's provenance. CSDb documents the group with over 40 crack intros, making Demonix one of the more prolific American groups in terms of intro production. As with Demonix #01, the group's visual identity was shaped by members like Cybernoid and collaborators including The Anarchist from The Wanderer Group USA.

Sources: CSDb · intros.c64.org

demonix-07.asm 965 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:15
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $db47  (54344 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0e00 (3584)
// IRQ handler:  $0ecd (irq_0ecd)
// IRQ handler:  $0ef6 (irq_0ef6)
// IRQ handler:  $0f44 (irq_0f44)
//
// Code: 709 bytes, Data: 53635 bytes
// Labels: 116, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $0e00-$0fac ---
.pc = $0e00 "main_0e00"

main_0e00:
        jmp loc_10e3

loc_0e03:
        lda #$93
        jsr $ffd2
        lda #$00
        sta $d021
        sta $d020
        ldx #$00

loc_0e12:
        lda spr_0d00,x
        sta $0540,x
        lda #$0e
        sta $d940,x
        inx
        bne loc_0e12
        ldx #$00

loc_0e22:
        lda dat_1077,x
        sta $d878,x
        sta $d8a0,x
        sta $daf8,x
        sta $db20,x
        inx
        cpx #$28
        bne loc_0e22
        lda #$ff
        sta $d015
        lda #$0d
        sta $d01c
        lda #$03
        sta $d010
        lda #$0f
        sta $d025
        lda #$06
        sta $d026
        lda #$0e
        sta $d027
        sta $d029
        sta $d02a
        lda #$31
        sta $07f8
        lda #$24
        sta $d000
        lda #$9f
        sta $d001
.label smc_0e6a = * + 1
        lda #$32                                    // !SMC: modified by $1100
        sta $07f9
        lda #$36
        sta $d002
        lda #$e0
        sta $d003
        lda #$31
        sta $07fa
        lda #$a4
        sta $d004
        lda #$9f
        sta $d005
        lda #$31
        sta $07fb
        lda #$f0
        sta $d006
        lda #$9f
        sta $d007
        lda #$00
        sta smc_1012                                // SMC: modifies $1012
        lda #$12
        sta smc_1013                                // SMC: modifies $1013
        lda #$00
        sta smc_1054                                // SMC: modifies $1054
        lda #$16
        sta smc_1055                                // SMC: modifies $1055
        sei
        lda #$cd
        sta $0314
        lda #$0e
        sta $0315
        lda #$32
        sta $d012
        lda #$81
        sta $d01a
        lda #$7f
        sta $dc0d
        cli
        lda #$1b
        sta $d011

loc_0eca:
        jmp loc_0eca

irq_0ecd:
        inc $d019
        lda chr_0ef5
        ora #$c1
        sta $d016
        lda #$18
        sta $d018
        lda #$f6
        sta $0314
        lda #$0e
        sta $0315
        lda #$70
        sta $d012
        jsr sub_0f86
        jsr sub_1035
        jmp $ea81

chr_0ef5:
        // === Charset data (1 bytes, $0ef5-$0ef5) ===
        .byte $06                                   // char 0 (partial)

irq_0ef6:
        inc $d019
        nop
        nop
        nop
        nop
        nop
        nop
.label smc_0f00 = * + 1
        lda #$0b                                    // !SMC: modified by $0f97