#189

Fairlight [FLT] 02

Fairlight [FLT]

1.206 lines of code

History

Code
The Alchemist
Music
David Hanlon
Charset
Tob
Released
September 1993
Group
Fairlight [FLT] -- Sweden, founded 14 April 1987

Fairlight Crack Intro #02 is a C64 crack intro released in September 1993 by the legendary Swedish cracking group Fairlight. The intro was coded by The Alchemist, with charset work by Tob and music by David Hanlon -- using his acclaimed "Enlightenment: Druid II" SID tune, which became a Fairlight signature across multiple intros. Both CSDb and Doc Snyder confirm these credits. The scrolltext references a crack of "Castor" published by CP Verlag, handled by Moonchild, with the original supplied by TMG of Fatum. Fairlight was founded on 14 April 1987 and remains one of the most historically significant groups in the C64 scene. This is one of six Fairlight crack intros catalogued on Doc Snyder's page, with the Druid II tune appearing across four of them. The release is preserved on CSDb as release #99206, verified through the Doc Snyder link. Also ranked: #384 Fairlight Intro #4.

Sources: CSDb · CSDb Group · intros.c64.org · Doc Snyder

flt-02.asm 1.206 lines
// ============================================
// output - Disassembled Source
// ============================================
// 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:  $c000 (49152)
// IRQ handler:  $c080 (irq_c080)
//
// Code: 265 bytes, Data: 63222 bytes
// Labels: 121, Subroutines: 0
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


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

main_c000:
        sei
        lda #$00
        sta $dd00
        sta $fa
        sta $fc
        lda #$d0
        sta $fb
        ldx #$2f

loc_c010:
        lda $c04f,x
        sta $cfff,x
        dex
        bne loc_c010
        lda #$80
        sta $0314
        lda #$c0
        sta $0315
        cli
        lda #$7f
        sta $dc0d

loc_c029:
        jsr $ffe4
        beq loc_c029
        jsr $fd15
        jsr $fda3
        jsr $ff5b
        jmp loc_fce2

dat_c03a:
        .byte $00,$00                               // ..

// --- Region $c080-$c11f ---
.pc = $c080 "irq_c080"

irq_c080:
        ldx $fc
        bne loc_c0be
        inc $01

loc_c086:
        ldy #$00
        lda ($fa),y
        bne loc_c097
        lda #$00
        sta $fa
        lda #$d0
        sta $fb
        jmp loc_c086

loc_c097:
        ldx #$19
        stx $fe
        asl
        rol $fe
        asl
        rol $fe
        asl
        rol $fe
        sta $fd
        inc $fa
        bne loc_c0ac
        inc $fb

loc_c0ac:
        dec $01
        ldy #$00

loc_c0b0:
        lda ($fd),y
        sta $03f0,y
        iny
        cpy #$08
        bne loc_c0b0
        ldx #$08
        stx $fc

loc_c0be:
        lda #$f0
        sta smc_c0c7                                // SMC: modifies $c0c7
        ldx #$00

loc_c0c5:
        clc
.label smc_c0c7 = * + 1
        asl $03f8                                   // !SMC: modified by $c0c0
        rol $c4c4,x
        rol $c4c3,x
        rol $c485,x
        rol $c484,x
        rol $c483,x
        rol $c445,x
        rol $c444,x
        rol $c443,x
        rol $c405,x
        rol $c404,x
        rol $c403,x
        rol $c3c5,x
        rol $c3c4,x
        rol $c3c3,x
        rol $c385,x
        rol $c384,x
        rol $c383,x
        rol $c345,x
        rol $c344,x
        rol $c343,x
        rol $c305,x
        rol $c304,x
        inc smc_c0c7
        inx
        inx
        inx
        inx
        inx
        inx
        cpx #$30
        bne loc_c0c5
        dec $fc
        inc $d019
        jmp loc_ea31

// --- Region $ea31-$ea31 ---
.pc = $ea31 "loc_ea31"