#612

Fantastic 4 Cracking Group [F4CG] 39

Fantastic 4 Cracking Group [F4CG]

4.888 lines of code

MusicSID

History

Released
1987
Group
Fantastic 4 Cracking Group — Italy, founded 1983

An early F4CG intro from 1987, linked on intros.c64.org to CSDb release 23571 — a crack of Shoot 'em Up Construction Kit. Demozoo catalogues this as "F4CG Cracktro 39," confirming the release year. Scene commenter Twoflower attributed the intro to Lezziero, placing it within F4CG's first wave of activity. One commenter described it as having "an oldschool-feeling" while acknowledging it was "quite ugly" — an honest assessment of a production from when the group was only four years old. F4CG was founded in Italy in 1983 by Ricky, making them one of the earliest cracking groups on the platform. CSDb records over 1,600 releases for the group across their multi-decade lifespan. By 1987, they were already producing numbered intros in the high thirties, demonstrating prolific output even in their early years. The intro's connection to SEUCK — one of the more popular creativity tools of the era — ties it to a specific moment in C64 gaming history.

Sources: intros.c64.org · CSDb · Demozoo

f4cg-39.asm 4.888 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:32
// 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:  $c7a0 (51104)
//
// Code: 3625 bytes, Data: 59862 bytes
// Labels: 434, Subroutines: 26
//
// Verification: 5 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $4ca1-$4ca1 ---
.pc = $4ca1 "Segment $4ca1"
        brk

// --- Region $60a1-$60a1 ---
.pc = $60a1 "Segment $60a1"
        brk

// --- Region $86a1-$86a1 ---
.pc = $86a1 "Segment $86a1"
        brk

// --- Region $8da1-$8da1 ---
.pc = $8da1 "Segment $8da1"
        brk

// --- Region $a144-$a14a ---
.pc = $a144 "loc_a144"

loc_a144:
        eor ($04,x)
        .byte $64,$03                               // nop $03 // ILLEGAL
        asl $03
        brk

// --- Region $a23d-$a3a3 ---
.pc = $a23d "sub_a23d"
// Referenced by: jsr from $bb05

sub_a23d:
        lda $b015,y
        sta $a172
        and #$0f
        sta smc_a298                                // SMC: modifies $a298
        ldx #$02
        stx $a176
        ldx #$04
        stx $a177
        dey

loc_a253:
        lda $b014,y
        ora $b015,y
        beq loc_a287
        ldx $a177
        lda $b014,y
        sta $e0,x
        lda $b015,y
        sta $e1,x
        sty $fd
        ldx $a176
        ldy $a198,x
        lda #$00
        sta $ec,x
        sta $a097,y
        sta $a09b,y
        lda #$07
        sta $e9,x
        lda #$01
        sta $e6,x
        sta $a173,x
        ldy $fd

loc_a287:
        dey
        dey
        dec $a177
        dec $a177
        dec $a176
        bpl loc_a253

loc_a294:
        clc
        lda #$00

loc_a297:
.label smc_a298 = * + 1
        adc #$03                                    // !SMC: modified by $a245
        sta $a178,x
        inx
        cpx #$20
        bcc loc_a297
        rts
// Referenced by: jsr from $acb7

sub_a2a2:
        ldx $a11d
        ldy $a11e
// Referenced by: jsr from $acbd

sub_a2a8:
        stx $f1
        sty $f2
        lda $a115
        sta $a128
        lda $a116
        sta $a129
        rts
// Referenced by: jsr from $adf0

sub_a2b9:
        ldx $a140
        ldy $a141
// Referenced by: jsr from $aaf2, $adf6

sub_a2bf:
        stx $f3
        sty $f4
        lda $a138
        sta dat_a14b
        lda $a139
        sta $a14c
        rts
// Referenced by: jsr from $af62

sub_a2d0:
        ldx $a163
        ldy $a164
// Referenced by: jsr from $abc8, $af68

sub_a2d6:
        stx $f5
        sty $f6
        lda $a15b
        sta $a16e
        lda $a15c
        sta $a16f
        rts
// Referenced by: jsr from $a8f6, $a913