#201

Fairlight [FLT] 15

Fairlight [FLT]

4.576 lines of code

MusicSID

History

Released
25 May 1988
Code
Gandalf
Music
David Hanlon — "Enlightenment: Druid II" (same as FLT-01)
Graphics
Hobbit
Group
Fairlight — Sweden, founded 14 April 1987

Gandalf and Hobbit — a Tolkien-themed coding/graphics partnership working under the Fairlight banner. The music is the same Druid II SID from the legendary #2 FLT-01, continuing the group's strategy of audio branding through their signature tune. Released on 25 May 1988, seven months after FLT-01, this shows Fairlight maintaining the same musical identity while rotating their visual team. Gandalf coded — a different member from Woodo who created the original. Hobbit's graphics give this variant its own visual character while the instantly-recognizable Hanlon SID provides continuity. The HVSC preserves the tune. Doc Snyder's page documents the full Fairlight numbered series. This Tolkien-handle era of Fairlight preceded the Bacchus/Alchemist generation that would carry the group into the 1990s.

Sources: CSDb · docsnyderspage

flt-15.asm 4.576 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:21
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $ffff  (63487 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $3300 (13056)
// IRQ handler:  $358f (irq_358f)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 1146 bytes, Data: 62341 bytes
// Labels: 402, Subroutines: 12
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0c54-$0c57 ---
.pc = $0c54 "loc_0c54"

loc_0c54:
        .byte $bf,$23,$2b                           // lax $2b23,y // ILLEGAL

dat_0c57:
        .byte $02                                   // .

// --- Region $0cb0-$0cbb ---
.pc = $0cb0 "Program $0cb0"
        bvc loc_0c54
        inx
        ora ($e8,x)
        sed
        tay
        cpx $bf
        bit $2b
        .byte $02                                   // jam // ILLEGAL

// --- Region $2fe8-$2ff4 ---
.pc = $2fe8 "sub_2fe8"
// Referenced by: jsr from $3359, $335e

sub_2fe8:
        lda #$08
        clc
        adc $00,x
        sta $00,x
        bcc loc_2ff4
        inc $01,x
        rts

loc_2ff4:
        rts

// --- Region $3300-$3313 ---
.pc = $3300 "main_3300"

main_3300:
        sei
        ldx #$37

loc_3303:
        ldy $3857,x
        lda $10,x
        sta $0500,x
        tya
        sta $10,x
        cpx #$20
        bcs loc_331e

chr_3312:
        // === Charset data (2 bytes, $3312-$3313) ===
        .byte $bd,$1f                               // char 0 (partial)

// --- Region $331e-$340e ---
.pc = $331e "loc_331e"

loc_331e:
        dex
        bpl loc_3303
        lda #$8f
        sta $0314
        lda #$35
        sta $0315
        lda #$02
        sta $0328
        lda #$7f
        sta $dc0d
        lda #$33
        sta $01
        ldx #$3f

loc_333b:
        ldy #$07

loc_333d:
        lda ($40),y
        cpx #$14
        bcc loc_334d
        cpx #$18
        bcs loc_334d

chr_3347:
        // === Charset data (6 bytes, $3347-$334c) ===
        .byte $39,$b2,$38,$4c,$50,$33               // char 0 (partial)

loc_334d:
        and $38ab,y
        sta ($42),y
        dey
        bpl loc_333d
        stx $26
        ldx #$40
        jsr sub_2fe8
        ldx #$42
        jsr sub_2fe8
        ldx $26
        dex
        bpl loc_333b
        iny

loc_3367:
        lda $38b9,y
        sta ($42),y
        iny
        bne loc_3367
        lda #$37
        sta $01
        lda #$02

loc_3375:
        inx
        sta $040c,x
        cpx #$48
        bne loc_3375
        ldx #$00

loc_337f:
        lda #$00
        sta $d800,x
        sta $d868,x
        lda #$01
        sta $d968,x
        sta $da00,x
        sta $db00,x