#665

Fantastic 4 Cracking Group [F4CG] 03

Fantastic 4 Cracking Group [F4CG]

7.439 lines of code

RasterbarsRSTRMusicSIDSpritesSPRT

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The third numbered crack intro from Fantastic 4 Cracking Group — an early entry in what would become one of the most extensive intro catalogues in C64 history. No individual credits for code, music, or graphics have been identified; the CSDb search returned no matching release for this specific intro. F4CG was founded in Italy in 1983 — the same year as the C64's European commercial launch — making them one of the oldest cracking groups on the platform. The low sequence number places this among the group's earliest productions, likely from the mid-to-late 1980s before contributors like Smasher, Kid, and JLD became prominent in their credits. As an Italian group, F4CG represented the dedicated Southern European scene in an era dominated by Scandinavian and German outfits. Other F4CG intros in this collection include #14 F4CG-32, #30 F4CG-08, #33 F4CG-20, and #105 F4CG-01.

Sources: intros.c64.org

f4cg-03.asm 7.439 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:24
// 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:  $2000 (8192)
// IRQ handler:  $202f (irq_202f)
//
// Code: 2124 bytes, Data: 61363 bytes
// Labels: 651, Subroutines: 17
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0a0c-$0a46 ---
.pc = $0a0c "$0a0c"
        lda ($f8),y
        bpl loc_0a38
        cmp #$ff
        bne loc_0a1c
        lda #$00
        jsr sub_1042
        jmp loc_10d2

loc_0a1c:
        cmp #$fe
        bne loc_0a26
        lda #$00
        sta $100c,x
        rts

loc_0a26:
        sec
        sbc #$a0
        bcs loc_0a2f
        eor #$1f
        adc #$01

loc_0a2f:
        sta $172c,x
        inc $1726,x
        iny
        lda ($f8),y

loc_0a38:
        tay
        lda $1aee,y
        sta $f8
        lda $1afa,y
        sta $f9
        jmp loc_17c0

dat_0a46:
        .byte $b1                                   // .

// --- Region $0b04-$0b2f ---
.pc = $0b04 "$0b04"
        sta $1768,x
        sta $176b,x
        jsr sub_1823
        ldy $170d,x
        lda #$08
        jsr sub_17fb
        lda #$ff
        sta $100f,x
        sta $174a,x
        ldy $1729,x
        lda ($f8),y
        cmp #$7f
        beq loc_0b27
        rts

loc_0b27:
        lda #$00
        sta $1729,x
        jsr sub_182d
        rts

// --- Region $1000-$1003 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $260f

sub_1000:
        jmp loc_101d

scr_1003:
        // === Screen RAM (1 bytes, $1003-$1003) ===
        .byte $4c                                   // scrcode: .

// --- Region $101d-$101f ---
.pc = $101d "loc_101d"

loc_101d:
        jmp loc_1807

// --- Region $1042-$107f ---
.pc = $1042 "sub_1042"
// Referenced by: jsr from $0a16, $10df

sub_1042:
        iny
        lda ($f8),y
        sta $1726,x
        rts

scr_1049:
        // === Screen RAM (7 bytes, $1049-$104f) ===
        .encoding "screencode_mixed"
        .text "@@@1.35"
        .encoding "petscii_upper"

loc_1050:
        lda $19e4,y
        sta $1716
        lda $19e5,y
        sta $1717
        sta $d418
        ldx #$00
        txa

loc_1062:
        sta $1718,x
        inx
        cpx #$86
        bne loc_1062
        ldx #$00
        lda #$01

loc_106e:
        sta $100c,x
        sta $173b,x
        inx
        cpx #$03
        bne loc_106e
        ldx #$00
        txa

loc_107c:
        sta $d400,x
        inx

// --- Region $10d2-$11f8 ---