#203

Federation Against Copyright [FAC] 03

Federation Against Copyright [FAC]

836 lines of code

RasterbarsRSTRSpritesSPRTBitmapBMAP

History

Released
c. 1987
Group
Federation Against Copyright — Netherlands, founded April 1985

The third intro from the Federation Against Copyright, with graphics and scroller modifications credited to Rocky — who joined FAC as a cracker in July 1987 according to CSDb. On intros.c64.org, Zyron confirmed Rocky created this intro and modified the scroller, noting a comparison with "Rocky intro 03" which "actually looks a bit better." Ace — co-founder of FAC — commented that "sometimes we were in a hurry releasing new stuff, so some intros weren't that good, the warez were" — a recurring FAC self-assessment. FAC was a Dutch cracking and import group founded on April 20, 1985 by Ace and AVH, with 486 releases documented on CSDb before the group dissolved in 1988. The group's full name — Federation Against Copyright — was unusually explicit in its ideological stance. Their numeric identifier "4012" derives from hexadecimal notation ($FAC = 4012). Other FAC intros in this collection include #624 FAC-02 and #455 FAC-12.

Sources: intros.c64.org · CSDb

fac-03.asm 836 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:20
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $d011  (51474 bytes)
// Crunched with Exomizer — depacked by emulation
// Packer entry: $082a (via BASIC SYS 2090)
// Entry point:  $1280 (4736)
// IRQ handler:  $1177 (irq_1177)
//
// Code: 662 bytes, Data: 50812 bytes
// Labels: 98, Subroutines: 3
//
// Verification: 6 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$129d ---
.pc = $1000 "loc_1000"

loc_1000:
        jsr $e544
        lda #$00
        sta $d020
        sta $d021
        lda #$12
        sta $d018
        ldx #$ff
        sta $d015
        lda #$ff
        sta $d01d

loc_101a:
        lda #$0e
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_101a
        lda #$00
        sta $03ff
        sei
        lda #$7f
        sta $dc0d
        lda #$77
        sta $0314
        lda #$11
        sta $0315
        lda #$01
        sta $d01a
        lda #$1b
        sta $d011
        cli
        ldx #$00

loc_104d:
        lda dat_1400,x
        sta $0400,x
        lda $1500,x
        sta $0500,x
        lda $1600,x
        sta $0600,x
        lda $1700,x
        sta $0700,x
        inx
        bne loc_104d
        ldx #$00

loc_106a:
        lda $0f50,x
        sta $daf8,x
        sta $da08,x
        inx
        cpx #$28
        bne loc_106a
        ldx #$00

loc_107a:
        lda txt_0fd0,x
        sta $0608,x
        inx
        cpx #$28
        bne loc_107a
        lda #$0c
        sta $033c

loc_108a:
        lda $033c
        sta smc_1094                                // SMC: modifies $1094
        ldx #$00

loc_1092:
.label smc_1093 = * + 1
.label smc_1094 = * + 2
        lda scr_0c00,x                              // !SMC: modified by $108d, $10b9
        sta $06f8,x
        inx
        cpx #$28
        bne loc_1092
        jsr sub_10ce
        ldy #$00

loc_10a2:
        inc smc_1093
        iny
        cpy #$28
        bne loc_10a2
        lda smc_1093
        cmp #$f0
        beq loc_10b4
        jmp loc_108a

loc_10b4:
        inc $033c
        lda #$00
        sta smc_1093                                // SMC: modifies $1093
        lda $033c
        cmp #$0f
        beq loc_10c6
        jmp loc_108a

loc_10c6:
        lda #$0c
        sta $033c
        jmp loc_108a
// Referenced by: jsr from $109d

sub_10ce:
        lda #$00
        ldy #$06
        jsr sub_1117
        lda #$0b
        ldy #$0e
        jsr sub_1117
        lda #$0b
        ldy #$06
        jsr sub_1117
        lda #$0c
        ldy #$0e
        jsr sub_1117
        lda #$0f
        ldy #$06
        jsr sub_1117
        jsr sub_1155