#979

Fantasy 15

Fantasy

2.780 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
23 November 1989
Code
Wanderer
Graphics
Excell
Music
Brandis (Peter Holsken) — "Ski Dance"
Group
Fantasy — United States, founded 18 May 1989

Known on CSDb as the "Screaming Face" intro, this release from Fantasy dates to 23 November 1989 — just six months after the group's founding on 18 May 1989. Wanderer coded the intro, Excell provided the graphics, and Brandis — real name Peter Holsken — contributed the SID tune "Ski Dance," preserved in the HVSC. Fantasy was an American cracking group using the abbreviation FAN, and their scrolltexts reference a US-centric network of contacts. Doc Snyder's page documents two additional Fantasy intros: an earlier release coded by Mr. Neutron with artwork by The Punisher and music by Exos, and a later one coded by Kickback with music by Geir Tjelta (Predator). The group's first release dates to 25 May 1989, barely a week after formation. Wanderer also appears as the coder for Rampar intros, suggesting shared membership between these American crews.

Sources: CSDb · intros.c64.org · docsnyderspage

fantasy-15.asm 2.780 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:38
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $42ff  (15104 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $3d00 (15616)
// IRQ handler:  $3ea7 (irq_3ea7)
// IRQ handler:  $3ede (irq_3ede)
// IRQ handler:  $3f1c (irq_3f1c)
// IRQ handler:  $3f46 (irq_3f46)
// IRQ handler:  $3f63 (irq_3f63)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 2601 bytes, Data: 12503 bytes
// Labels: 269, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1563 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $3d93

sub_1000:
        jmp loc_1736

dat_1003:
        .byte $4c,$45,$17                           // LE.
// Referenced by: jsr from $3f8d

sub_1006:
        lda $17a4
        cmp #$02
        beq loc_1014
        cmp #$01
        bne loc_102a
        jmp loc_20e8

loc_1014:
        rts
        ora ($26,x)
        inc $1016
        inc $1016
        lda $1016
        cmp #$32
        bne loc_1029
        lda #$01
        sta $1015

loc_1029:
        rts

loc_102a:
        inc $1772
        inc $1773
        inc $1774
        lda #$1f
        sta $d418
        ldx #$02
        dec $17a3
        bpl loc_1045
        lda $174d
        sta $17a3

loc_1045:
        bit $d020
        stx $ff
        lda $174e,x
        sta $1786
        tay
        lda $17a3
        cmp $174d
        bne loc_106b
        lda $16a1,x
        sta $fb
        lda $16a4,x
        sta $fc
        dec $1757,x
        bmi loc_106e
        jmp loc_11fa

loc_106b:
        jmp loc_120a

loc_106e:
        ldy $1751,x
        lda ($fb),y
        cmp #$fe
        beq loc_108c
        cmp #$ff
        bne loc_1094
        lda #$00
        sta $1757,x
        sta $1751,x
        sta $1754,x
        sta $17a2
        jmp loc_106e

loc_108c:
        lda #$02
        sta $17a4
        jmp loc_1739

loc_1094:
        sta $1797
        and #$80
        beq loc_10a9
        lda $1797
        and #$1f
        sta $177f,x
        inc $1751,x
        jmp loc_106e

loc_10a9:
        lda $1797
        and #$40
        beq loc_10be
        lda $1797
        and #$3f
        sta $17a6,x
        inc $1751,x
        jmp loc_106e

loc_10be:
        lda $1797
        asl
        tay
        lda $16a7,y
        sta $fd
        lda $16a8,y
        sta $fe
        lda #$00
        sta $176f,x
        ldy $1754,x
        sta $1772,x
        lda #$03
        sta $1791,x

loc_10dd:
        lda ($fd),y
        sta $f8
        and #$f0
        cmp #$f0
        bne loc_10f7