#344

Fantastic 4 Cracking Group [F4CG] 10

Fantastic 4 Cracking Group [F4CG]

5.818 lines of code

RasterbarsRSTRMusicSIDSpritesSPRTBitmapBMAP

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The tenth numbered intro from Fantastic 4 Cracking Group, ranking 344th overall. No CSDb match was found and no individual credits have been identified for code, graphics, or music. The intro is catalogued on intros.c64.org under IID 401, where comments from Twoflower and BoardPruck date from 2004 and 2008. F4CG was founded in Italy in 1983, making them one of the oldest cracking groups on the Commodore 64. Their numbered intro series eventually exceeded ninety entries — a volume that testifies to the group's sustained creative output across nearly a decade. The tenth entry falls in the early portion of this catalogue, likely from the late 1980s. F4CG's Italian roots placed them at the heart of the Southern European scene, where they competed with and traded alongside Scandinavian and German groups. Other F4CG intros in this collection span from #14 F4CG-32 at the top through #193 F4CG-91 — the most entries of any single group.

Sources: intros.c64.org

f4cg-10.asm 5.818 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:27
// 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:  $4800 (18432)
// IRQ handler:  $48b1 (irq_48b1)
// IRQ handler:  $490e (irq_490e)
// IRQ handler:  $49b2 (irq_49b2)
// IRQ handler:  $4a44 (irq_4a44)
// IRQ handler:  $4ae1 (irq_4ae1)
// IRQ handler:  $4b1a (irq_4b1a)
//
// Code: 5083 bytes, Data: 58405 bytes
// Labels: 648, Subroutines: 42
//
// Cross-references: all OK
// ============================================


// --- Region $0800-$0805 ---
.pc = $0800 "smc_0800"

smc_0800:
        jmp loc_1008                                // !SMC: modified by $4819
// Referenced by: jsr from $48d3, $50ab, $5545

sub_0803:
        jmp loc_0886

// --- Region $0843-$0e48 ---
.pc = $0843 "sub_0843"
// Referenced by: jsr from $08e0

sub_0843:
        iny
        lda ($f8),y
        sta $0f27,x
        rts

dat_084a:
        .byte $00,$00,$00
        .text "KB94"

loc_0851:
        lda $1402,y
        sta $0f17
        lda $1403,y
        sta $0f18
        sta $d418
        ldx #$00
        txa

loc_0863:
        sta $0f19,x
        inx
        cpx #$86
        bne loc_0863
        ldx #$00
        lda #$01

loc_086f:
        sta $080d,x
        sta $0f3c,x
        inx
        cpx #$03
        bne loc_086f
        ldx #$00
        txa

loc_087d:
        sta $d400,x
        inx
        cpx #$18
        bne loc_087d
        rts

loc_0886:
        dec $0f19
        bpl loc_0891
        lda $0f17
        sta $0f19

loc_0891:
        ldx #$00
        stx $0f21
        jsr sub_08b1
        inx
        jsr sub_08b1
        inx
        jsr sub_08b1
        lda $0f1d
        sta $d416
        lda $0819
        ora $0f24
        sta $d417
        rts
// Referenced by: jsr from $0896, $089a, $089e

sub_08b1:
        lda $080d,x
        beq loc_08c6
        lda $0f17
        cmp $0f19
        bne loc_08c6
        dec $0f3c,x
        lda $0f3c,x
        beq loc_08c9

loc_08c6:
        jmp loc_09fa

loc_08c9:
        lda $0f08,x
        sta $f8
        lda $0f0b,x
        sta $f9

loc_08d3:
        ldy $0f27,x
        lda ($f8),y
        bpl loc_0902
        cmp #$ff
        bne loc_08e6
        lda #$00
        jsr sub_0843
        jmp loc_08d3

loc_08e6:
        cmp #$fe
        bne loc_08f0
        lda #$00
        sta $080d,x
        rts

loc_08f0:
        sec
        sbc #$a0
        bcs loc_08f9
        eor #$1f
        adc #$01

loc_08f9:
        sta $0f2d,x
        inc $0f27,x