#367

Fairlight [FLT] 14

Fairlight [FLT]

528 lines of code

RasterbarsRSTRScrollerSCRL

History

Released
December 1992
Code
The Alchemist
Group
Fairlight — Sweden, founded 14 April 1987

Coded by The Alchemist — a name that also appears on #2 Fairlight Intro #1's sister production, the #02 intro on Doc Snyder's page, where The Alchemist coded alongside Tob's charset. This December 1992 release has no credited musician or SID data in CSDb, suggesting it either uses minimal audio or an unidentified ripped tune. Fairlight was founded in Sweden on 14 April 1987 and became one of the most storied names in cracking history — their legacy documented in Hugi's "The Delight of Eternal Might" retrospective. By December 1992 the C64 scene had thinned considerably, yet Fairlight continued producing releases. The Alchemist's presence on both an early iconic intro and this late-era piece spans nearly the full arc of Fairlight's C64 period. The intro attracted comments from Bacchus and iAN CooG — both well-known scene archivists.

Sources: CSDb · Doc Snyder's Page

flt-14.asm 528 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:42
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $10b5  (2230 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0801 (2049)
//
// Code: 372 bytes, Data: 1858 bytes
// Labels: 43, Subroutines: 2
//
// Cross-references: all OK
// ============================================


// --- Region $0801-$0805 ---
.pc = $0801 "main_0801"

main_0801:
        jmp loc_0c40

chr_0804:
        // === Charset data (2 bytes, $0804-$0805) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $0c40-$0d30 ---
.pc = $0c40 "loc_0c40"

loc_0c40:
        lda #$01
        sta $d021
        sta $0286
        jsr $e544
        ldx #$00
        stx $d020
        lda #$08

loc_0c52:
        sta $d828,x
        inx
        cpx #$f0
        bne loc_0c52
        jsr $ffd2
        ldx #$27

loc_0c5f:
        lda $0e2f,x
        sta $0400,x
        lda $0f47,x
        sta $0518,x
        lda $0f73,x
        and #$3f
        sta $0658,x
        dex
        bpl loc_0c5f
        ldx #$f1

loc_0c78:
        lda $0e56,x
        sta $0427,x
        dex
        bne loc_0c78
        lda #$1b
        sta $d011
        lda #$d8
        sta $d016
        lda #$12
        sta $d018
        lda #$d7
        sta $0805
        lda #$9b
        ldx #$0f
        sta $f8
        stx $f9

loc_0c9d:
        sei
        lda #$d8
        sta $d016
        lda #$40

loc_0ca5:
        cmp $d012
        bne loc_0ca5
        ldx #$00

loc_0cac:
        lda chr_0dcf,x
        sta $d021
        lda $0def,x
        sta $d022
        lda $0e0f,x
        sta $d023
        lda $d012

loc_0cc1:
        cmp $d012
        beq loc_0cc1
        inx
        cpx #$20
        bne loc_0cac
        stx $d021
        lda #$8a

loc_0cd0:
        cmp $d012
        bne loc_0cd0
        lda $0805
        sta $d016
        lda #$94

loc_0cdd:
        cmp $d012
        bne loc_0cdd
        lda #$c8
        sta $d016
        jsr sub_0d4e
        jsr sub_0d96
        lda #$00
        sta $dc00
        lda $dc01
        cmp #$ef
        beq loc_0d09
        lda $0e0f
        and #$07
        ldx #$27

loc_0d00:
        sta $da58,x
        dex
        bpl loc_0d00
        jmp loc_0c9d

loc_0d09:
        jsr $ff81
        jsr $ff84
        lda #$00
        sta $d020
        sta $d021
        sta $0286
        jsr $e544
        ldx #$1e

loc_0d1f:
        lda chr_0d30,x
        sta $03c0,x