History
- Released
- 22 October 1989
- Code
- Excell (Brian K. Hansen) — guest from Ikari
- Music
- JCH (Jens-Christian Huus) — Laxin'
- Graphics
- Excell
- Charset
- Andrew Threlfall (Software Creations, UK)
- Group
- Fantasy — USA, founded 18 May 1989
Fantasy (USA) habitually recruited Europe's finest coders as guest contributors — and for this October 1989 entry they secured Excell of #6 Ikari for both code and graphics. JCH provided the SID tune Laxin', composed during the prolific period when he held simultaneous membership in Dominators, Ikari, and his own Vibrants. The charset was drawn by Andrew Threlfall, a professional game artist at Software Creations whose pixel fonts circulated widely across the scene. Notably, the intro was packaged as the Fantasy Intro +Editor, allowing Fantasy members to attach and configure it for new cracks without Excell's direct involvement.
Sources: CSDb · CSDb group
fantasy-06.asm 2.209 lines
// ============================================ // fantasy-06 - Disassembled Source // ============================================ // KickAssembler syntax // Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:15 // https://restore64.dev by datucker / Rabenauge // // Load address: $0800 End: $2b3c (9021 bytes) // Note: PRG was crunched, depacked by emulation // Packer entry: $080b (via BASIC SYS 2059) // Entry point: $0f39 (3897) // IRQ handler: $1001 (irq_1001) // IRQ handler: $ea31 (irq_ea31) // IRQ handler: $6565 (nmi_6565) // // Code: 2533 bytes, Data: 6488 bytes // Labels: 194, Subroutines: 14 // // Cross-references: all OK // ============================================ // --- Region $0f39-$0faf --- .pc = $0f39 "main_0f39" main_0f39: jsr sub_114b sei lda #$01 sta $d01a // raster IRQ on lda #$7f // disable all CIA1 interrupts sta $dc0d // disable all CIA IRQs lda #$1b sta $d011 // text mode, screen on, 25 rows, Y-scroll=3 lda #$01 sta $0314 // set IRQ handler low byte lda #$10 sta $0315 // set IRQ handler high byte lda #$00 sta $c1 cli loc_0f5b: lda $dc00 and $dc01 and #$10 bne loc_0f5b sei lda #$37 sta $01 jsr $fda3 jsr $ff5b lda #$31 sta $0314 // set IRQ handler low byte lda #$ea sta $0315 // set IRQ handler high byte lda #$00 sta $0286 sta $d020 sta $d021 jsr $e544 ldx #$18 loc_0f8a: sta $d400,x dex bpl loc_0f8a ldx #$00 loc_0f92: lda txt_0faf,x sta $0400,x lda #$00 sta $d800,x inx bne loc_0f92 ldx #$00 lda #$01 loc_0fa4: sta $d800,x inx cpx #$0f bne loc_0fa4 jmp $040f txt_0faf: .encoding "screencode_mixed" .text "i" .encoding "petscii_upper" // --- Region $0fbe-$1028 --- .pc = $0fbe "loc_0fbe" loc_0fbe: lda #$34 sta $01 lda #$3d sta $02 lda #$2b sta $03 lda #$01 sta $04 lda #$08 sta $05 loc_0fd2: ldy #$00 loc_0fd4: lda ($02),y sta ($04),y iny bne loc_0fd4 inc $03 inc $05 lda $03 cmp #$ff bne loc_0fd2 lda #$37 sta $01 lda #$95 ldx #$9b sta $ae stx $af sta $2d stx $2e lda #$01 sta $2b lda #$08 sta $2c cli jmp $fce2 // ============================================ // IRQ handler // ============================================ irq_1001: { lda $d019 sta $d019 ldx $c1 inx cpx #$07 bne skip ldx #$00 skip: stx $c1 txa clc asl