#470

Fantastic 4 Cracking Group [F4CG] 66

Fantastic 4 Cracking Group [F4CG]

1.394 lines of code

RasterbarsRSTRScrollerSCRLSpritesSPRT

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The sixty-sixth numbered intro from Fantastic 4 Cracking Group, described by scene members on intros.c64.org as a "classic intro" with a "classic trainer menu" — CenTraX's description situating it firmly within the established conventions of crack intro design. The presence of a trainer menu indicates this intro was attached to cracked games offering cheat options such as infinite lives or invincibility. No individual credits for code, music, or graphics have been confirmed. F4CG was founded in Italy in 1983 by Ricky and is documented on CSDb with over 1,600 releases. The high serial number demonstrates the group's prolific output across their multi-decade lifespan. The group's Italian origin made them one of the most prominent Southern European cracking operations, and their ability to attract international members — CSDb lists active contributors from across Europe — expanded their reach far beyond Italy. Other F4CG intros in this collection include #118 F4CG-63 and #447 F4CG-59.

Sources: intros.c64.org · CSDb

f4cg-66.asm 1.394 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:37
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $cfff  (51199 bytes)
// Crunched with Exomizer — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $c35e (50014)
// IRQ handler:  $c036 (irq_c036)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 903 bytes, Data: 50296 bytes
// Labels: 124, Subroutines: 3
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0e7c-$0ebb ---
.pc = $0e7c "loc_0e7c"

loc_0e7c:
        .byte $5f,$f4,$1d                           // sre $1df4,x // ILLEGAL
        cmp #$a0
        .byte $53,$80                               // sre ($80),y // ILLEGAL
        ldy $13f0,x
        .byte $34,$06                               // nop $06,x // ILLEGAL
        bmi loc_0e9a
        .byte $0c,$c3,$73                           // nop $73c3 // ILLEGAL
        cpx #$2f
        .byte $8f,$06,$1c                           // sax $1c06 // ILLEGAL
        and $d3c7
        .byte $eb,$38                               // sbc #$38 // ILLEGAL
        beq loc_0e7c
.label loc_0e9a = * + 1
        and $c021,x
        cpy $a4
        asl $395c,x
        adc ($95,x)
        asl

loc_0ea4:
        .byte $07,$0e                               // slo $0e // ILLEGAL
        .byte $1c,$38,$70                           // nop $7038,x // ILLEGAL
        cpx #$7f
        eor #$7e
        sbc ($71,x)
        bne loc_0edd
        bmi loc_0f19
        and $07,x
        .byte $3c,$36,$10                           // nop $1036,x // ILLEGAL
        .byte $4f,$0e,$03                           // sre $030e // ILLEGAL
        rts

// --- Region $0edd-$0ef5 ---
.pc = $0edd "loc_0edd"

loc_0edd:
        sbc $e068,x
        beq loc_0ea4
        .byte $13,$41                               // slo ($41),y // ILLEGAL
        bmi loc_0f29
        .byte $1f,$5c,$6e                           // slo $6e5c,x // ILLEGAL
        rol $3676,x
        cmp $72
        .byte $7f,$3f,$1f                           // rra $1f3f,x // ILLEGAL
        .byte $0f,$07,$9f                           // slo $9f07 // ILLEGAL

dat_0ef4:
        .byte $03,$01                               // ..

// --- Region $0f19-$0f37 ---
.pc = $0f19 "loc_0f19"

loc_0f19:
        txs
        .byte $8b,$98                               // ane #$98 // ILLEGAL
        lda $36
        and ($fb,x)
        asl $90
        lda $1f81,y
        eor #$02
        asl
        brk

loc_0f29:
        .byte $67,$9c                               // rra $9c // ILLEGAL
        and #$c0
        cpy #$c2
        clc
        cpx #$43
        .byte $07,$0d                               // slo $0d // ILLEGAL
        and $cc
        brk

dat_0f37:
        .byte $83                                   // .

// --- Region $20d0-$20d0 ---
.pc = $20d0 "Segment $20d0"
        brk

// --- Region $a240-$a240 ---
.pc = $a240 "loc_a240"

loc_a240:
        brk

// --- Region $a9d0-$a9d0 ---
.pc = $a9d0 "Segment $a9d0"
        brk

// --- Region $bfff-$c1e5 ---
.pc = $bfff "sub_bfff"
// Referenced by: jsr from $c172

sub_bfff:
        brk
// Referenced by: jsr from $c2bb

sub_c000:
        lda #$36
        sta $0314
        lda #$c0
        sta $0315
        lda #$60
        sta $d012
        lda $d011
        and #$7f
        sta $d011
        lda #$81
        sta $d019
        sta $d01a
        lda #$00
        sta $02
        lda #$e6
        sta $03
        lda #$c1
        sta $04
        lda #$00
        sta $05
        cli
        lda #$20
        sta $dc0e
        rts