#563

X-Factor [X-F] 03

X-Factor [X-F]

3.229 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
April 1991
Code
Ecco
Music
Laxity (Thomas E. Petersen) — "S2 Xerxes" and "Beastie Boys Intro Music", Danko (Tomas Danko) — "Popper", Jeff (Soren Lund) — "Robin Hood-Style" and "Intro-Sucker", Zonix (Anders Oland) — "Cockcrusher - Shadow Vector", Guy Shavitt — "For Exotic Designs" and "Sidchip Music Score 9"
Group
X-Factor — Denmark, founded 28 May 1989

The third numbered intro from X-Factor — a Danish cracking group founded on 28 May 1989. Released in April 1991, this intro features an extraordinary eight-tune jukebox with music from five composers: Laxity, Danko, Jeff, Zonix, and Guy Shavitt. Ecco handled the code — he also coded XF-01 as documented on Doc Snyder's page. The sheer number of SID tunes made this one of the most musically generous crack intros of its era. X-Factor operated under the motto "The Future of Today — The Legend of Tomorrow" and maintained connections to major European groups including Dominators, Triad, and Fairlight. Doc Snyder's page preserves multiple X-Factor intros, showing the group's evolving visual style across their releases. The group maintained a website at xfactor.dk, and their greeting lists reveal strong ties to the Danish scene alongside international contacts.

Sources: CSDb · docsnyderspage

xf-03.asm 3.229 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:03
// 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:  $2000 (8192)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $2046 (irq_2046)
// IRQ handler:  $2060 (irq_2060)
// IRQ handler:  $207a (irq_207a)
// IRQ handler:  $2099 (irq_2099)
//
// Code: 2818 bytes, Data: 60670 bytes
// Labels: 301, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $0908-$090d ---
.pc = $0908 "sub_0908"
// Referenced by: jsr from $ff8e

sub_0908:
        bmi loc_093a
        bmi loc_0944
// Referenced by: jsr from $ff9e

sub_090c:
        sec
        brk

// --- Region $093a-$093a ---
.pc = $093a "loc_093a"

loc_093a:
        brk

// --- Region $0944-$0950 ---
.pc = $0944 "loc_0944"

loc_0944:
        sec
        sec
        asl $e000,x
        bmi loc_097b
        sec
        sec
        sec
        beq loc_0950

loc_0950:
        brk

// --- Region $097b-$0988 ---
.pc = $097b "loc_097b"

loc_097b:
        clc
        bmi loc_09de
        cpy #$00
        sei
        cpy $fedc
        inc $7cee
        brk

chr_0988:
        // === Charset data (1 bytes, $0988-$0988) ===
        .byte $30                                   // char 0 (partial)

// --- Region $09de-$09de ---
.pc = $09de "loc_09de"

loc_09de:
        rts

// --- Region $1000-$1008 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $20de

sub_1000:
        jmp loc_1548
// Referenced by: jsr from $20b9, $fbe2

sub_1003:
        lda $15bf
        beq loc_101f
        rts

// --- Region $101f-$10db ---
.pc = $101f "loc_101f"

loc_101f:
        ldx #$02
        dec $15c0
        bpl loc_102b
        lda #$02
        sta $15c0

loc_102b:
        lda $15c0
        bne loc_1044
        ldy dat_15d0,x
        lda $172e,y
        and #$40
        beq loc_103f
        lda #$fe
        sta $15eb,x

loc_103f:
        dec scr_159b,x
        bmi loc_108b

loc_1044:
        inc $15c7,x
        lda $15ee,x
        bne loc_107b
        lda $15c4,x
        beq loc_107b
        lda scr_159b,x
        bne loc_107b
        lda $15c0
        cmp #$02
        bcc loc_107b
        lda $1027
        cmp #$03
        bcs loc_1069
        lda $159e,x
        beq loc_107e

loc_1069:
        lda $15c0
        cmp #$02
        beq loc_1083

loc_1070:
        ldy dat_1009,x
        lda #$00
        sta $d406,y
        sta $15b6,x

loc_107b:
        jmp loc_1324

loc_107e: