#547

Fairlight [FLT] 07

Fairlight [FLT]

907 lines of code

RasterbarsRSTRSpritesSPRT

History

Released
22 April 1987
Charset
Jon Hare
Group
Fairlight — Sweden, founded 14 April 1987

CSDb catalogues this as Fairlight Intro V1.0 — released on 22 April 1987, just eight days after the group's founding on 14 April 1987. The only credited contributor is Jon Hare for the charset — a name shared with the co-founder of Sensible Software, the studio behind Sensible Soccer and Cannon Fodder, though whether this is the same person is unconfirmed. No separate code or music credits are listed. This is the seventh numbered Fairlight intro, appearing alongside the legendary #2 FLT-01 in the rankings. The "V1.0" designation suggests this was conceived as a foundational template. Fairlight would go on to become one of the most iconic names in both C64 and PC cracking history, with Hugi documenting their story in "The Delight of Eternal Might." Doc Snyder's page preserves the group's extensive catalogue, spanning from these early 1987 productions through modern-era releases by coders like Dwangi and Pantaloon.

Sources: CSDb · docsnyderspage

flt-07.asm 907 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:41
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $ffff  (63487 bytes)
// Crunched with NSU Packer 1.1 — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $c000 (49152)
// IRQ handler:  $c1ba (nmi_c1ba)
// IRQ handler:  $c0fa (irq_c0fa)
//
// Code: 658 bytes, Data: 62829 bytes
// Labels: 73, Subroutines: 5
//
// Verification: 4 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $8dd0-$8dd0 ---
.pc = $8dd0 "Segment $8dd0"
        brk

// --- Region $c000-$c288 ---
.pc = $c000 "main_c000"

main_c000:
        lda dat_dd02
        ora #$03
        sta dat_dd02
        lda $dd00
        and #$fc
        ora #$00
        sta $dd00
        lda dat_d018
        and #$0f
        ora #$10
        and #$f0
        ora #$02
        sta dat_d018
        lda #$04
        sta $0288
        lda #$93
        jsr $ffd2
        lda #$00
        tax

loc_c02d:
        sta $f400,x
        sta $f500,x
        sta $f600,x
        sta $c400,x
        sta $c500,x
        sta $c600,x
        sta $c700,x
        inx
        bne loc_c02d
        lda #$00
        tax

loc_c048:
        sta $c568,x
        inx
        txa
        bne loc_c048
        lda #$01

loc_c051:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_c051
        jsr sub_c27e
        lda #$00
        sta $d020
        sta $d021
        sei
        lda #$00
        nop
        nop
        nop
        sta $fe
        sta $0a
        lda #$7f
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$81
        sta $d01a
        lda #$ba
        sta $fffa
        lda #$c1
        sta $fffb
        lda #$fa
        sta $fffe
        lda #$c0
        sta $ffff
        lda #$32
        sta $d012
        lda #$18
        sta $02
        lda #$ff
        sta $d01d
        lda #$ff
        sta $d017
        lda #$be
        ldy #$01

loc_c0af:
        sta $d000,y
        iny
        iny
        cpy #$11
        bne loc_c0af
        lda #$f8
        ldy #$00

loc_c0bc:
        sta $d000,y
        clc
        adc #$30
        iny
        iny
        cpy #$10
        bne loc_c0bc
        lda #$f0
        sta $d000
        lda #$ff
        sta $d015
        lda #$c1
        sta $d010
        lda #$01
        ldy #$00

loc_c0db:
        sta $d027,y
        iny
        cpy #$08
        bne loc_c0db
        lda #$d0
        ldy #$00

loc_c0e7:
        sta $c7f8,y