#694

Fusion 05

Fusion

2.057 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
24 December 1987
Music
Fred Gray — "Hysteria"
Group
Fusion — United Kingdom, founded October 1987

Released on Christmas Eve 1987, this is the fifth numbered crack intro from Fusion, a British group founded just two months earlier in October 1987. The sole confirmed credit is the music — "Hysteria" by Fred Gray, preserved in the HVSC at /MUSICIANS/G/Gray_Fred/Hysteria.sid. Gray was primarily known as a professional game music composer, and the use of his work in a crack intro was typical of the era's practice of repurposing commercial SID tunes. Fusion used the motto "Man and Machine" and is also represented at #28 Fusion-01, #208 Fusion-03, and #245 Fusion-02. Doc Snyder's Page documents five Fusion intros with credits spanning coders The Tex and Ian and musicians including Jeroen Tel and Marc Buttery. The group's scrolltexts reference European contacts with Triad, Fairlight, Dominators, and Orion, as well as US ties to INC and Eaglesoft.

Sources: CSDb · Doc Snyder's Page

fusion-05.asm 2.057 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:14
// 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:  $0f30 (3888)
// IRQ handler:  $10fa (irq_10fa)
//
// Code: 2207 bytes, Data: 61281 bytes
// Labels: 213, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $0f00-$0f26 ---
.pc = $0f00 "sub_0f00"
// Referenced by: jsr from $0f35

sub_0f00:
        lda #$00
        sta $fc
        lda #$14
        sta $fd

loc_0f08:
        ldy #$00

loc_0f0a:
        lda ($fc),y
        cmp #$20
        beq loc_0f1e
        sta ($fc),y

loc_0f12:
        iny
        bne loc_0f0a
        inc $fd
        lda $fd
        cmp #$18
        bne loc_0f08
        rts

loc_0f1e:
        lda #$25
        sta ($fc),y
        jmp loc_0f12

chr_0f25:
        // === Charset data (2 bytes, $0f25-$0f26) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $0f30-$0fa8 ---
.pc = $0f30 "main_0f30"

main_0f30:
        lda #$93
        jsr $ffd2
        jsr sub_0f00
        jmp loc_1001

chr_0f3b:
        // === Charset data (5 bytes, $0f3b-$0f3f) ===
        .byte $00,$00,$00,$00,$00                   // char 0 (partial)
// Referenced by: jsr from $110c

sub_0f40:
        jsr sub_129a
        jsr sub_0f50
        jsr sub_0f50
        jsr sub_0f50
        rts

chr_0f4d:
        // === Charset data (3 bytes, $0f4d-$0f4f) ===
        .byte $00,$00,$00                           // char 0 (partial)
// Referenced by: jsr from $0f43, $0f46, $0f49, $0f66, $0f69

sub_0f50:
        ldx $dc04
        inc $d800,x
        dec $d900,x
        inc $da00,x
        rts

chr_0f5d:
        // === Charset data (3 bytes, $0f5d-$0f5f) ===
        .byte $00,$00,$00                           // char 0 (partial)
// Referenced by: jsr from $1105

sub_0f60:
        jsr sub_1213
        jsr sub_0f70
        jsr sub_0f50
        jsr sub_0f50
        rts

chr_0f6d:
        // === Charset data (3 bytes, $0f6d-$0f6f) ===
        .byte $00,$00,$00                           // char 0 (partial)
// Referenced by: jsr from $0f63

sub_0f70:
        lda #$35
        sta $01
        jsr $ef2c
        lda #$37
        sta $01
        rts

chr_0f7c:
        // === Charset data (4 bytes, $0f7c-$0f7f) ===
        .byte $00,$00,$00,$00                       // char 0 (partial)

loc_0f80:
        sei
        ldx #$00
        lda #$00

loc_0f85:
        sta $d400,x
        inx
        cpx #$19
        bne loc_0f85
        jsr $ff81
        jsr $ff8a
        lda #$01
        sta $dc0e
        ldx #$00

loc_0f9a:
        lda chr_0fa8,x
        sta $0100,x
        inx
        cpx #$4a
        bne loc_0f9a
        jmp $0100

chr_0fa8:
        // === Charset data (1 bytes, $0fa8-$0fa8) ===
        .byte $78                                   // char 0 (partial)

// --- Region $1001-$134b ---
.pc = $1001 "loc_1001"