#430

Fantastic 4 Cracking Group [F4CG] 04

Fantastic 4 Cracking Group [F4CG]

4.774 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The fourth numbered intro from Fantastic 4 Cracking Group — an early entry in their long-running sequence of crack intro designs. No CSDb match has been confirmed, leaving the coder, musician, and release date unverified. As one of F4CG's lowest-numbered intros in the rankings, this likely dates from the late 1980s when the group was establishing the visual identity that would define their later, more polished productions. F4CG's progression from these early designs to the elaborate intros of their mature period — represented by entries like #30 F4CG-08 with code by Kid and music by JLD — traces the evolution of crack intro aesthetics on the C64. Founded in Italy in 1983, F4CG's early output helped establish a Southern European presence in a scene dominated by Northern European groups. Their numbered intro series would eventually stretch past ninety entries, a volume unmatched by most contemporaries. The group's prolific output across nearly a decade remains one of the defining features of Italian C64 scene history.

Sources: intros.c64.org

f4cg-04.asm 4.774 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:25
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $2400 (9216)
// IRQ handler:  $2424 (irq_2424)
//
// Code: 3633 bytes, Data: 59855 bytes
// Labels: 466, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1003 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1e86, $f70a

sub_1000:
        jmp loc_1085

spr_1003:
        // === Sprite data (1 bytes, $1003-$1003) ===
        .byte $4c

// --- Region $1085-$1508 ---
.pc = $1085 "loc_1085"

loc_1085:
        ldx #$00
        txa

loc_1088:
        lda #$00
        sta $1029,x
        sta $105f,x
        lda #$01
        sta $1026,x
        lda #$09
        sta $102c,x
        lda #$10
        sta $102f,x
        inx
        cpx #$03
        bcc loc_1088
        lda $1011
        sta $1013
        lda #$1f
        sta $d418
        lda #$01
        sta $100a
        rts

loc_10b5:
        lda #$00
        sta $100a
        rts
// Referenced by: jsr from $255d, $fb2c; jmp from $ec7f

sub_10bb:
        lda $100a
        bne loc_10c1
        rts

loc_10c1:
        lda #$00
        sta $1074
        ldx #$02

loc_10c8:
        lda $100e,x
        sta $bb
        tay
        lda $1026,x
        beq loc_1120
        dec $1059,x
        bpl loc_10f7
        inc $1059,x
        dec $1071,x
        bmi loc_10eb
        lda $1068,x
        ora #$01
        sta $d404,y
        jmp loc_126a

loc_10eb:
        inc $1071,x
        lda $1068,x
        sta $d404,y
        jmp loc_126a

loc_10f7:
        lda $1041,x
        and #$10
        beq loc_111d
        lda #$81
        sta $d404,y
        lda $1012
        asl
        tay
        lda scr_1508,y
        pha
        lda $1509,y
        pha
        ldy $bb
        pla
        sta $d401,y
        pla
        sta $d400,y
        jmp loc_141d

loc_111d:
        jmp loc_126a

loc_1120:
        txa
        tay
        lda $102c,y
        sta $bc
        lda $102f,y
        sta $bd
        lda #$00
        sta $100d
        ldy $1029,x
        lda #$00
        sta $1020,x
        lda ($bc),y
        cmp #$ff
        bne loc_1142
        jmp loc_14c1

loc_1142:
        pha
        and #$20
        beq loc_114c
        lda #$01
        sta $100d

loc_114c:
        pla
        cmp #$80
        bcc loc_1154
        jmp loc_1444