#451

Fantastic 4 Cracking Group [F4CG] 49

Fantastic 4 Cracking Group [F4CG]

1.877 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The forty-ninth numbered intro from Fantastic 4 Cracking Group, coded jointly by Sneaper and Ray. On intros.c64.org, Sneaper confirmed both his and Ray's involvement in the coding. CenTraX noted a distinctive technical feature — the intro generated a random colour scheme at startup, meaning each load produced a different visual appearance. F4CG was founded in Italy in 1983 by Ricky and is documented on CSDb with over 1,600 releases spanning more than four decades of activity. The randomised palette was an unusual choice for a crack intro, where visual consistency typically reinforced group branding. No music or graphics credits have been identified. The collaboration between Sneaper and Ray represents one of several coding partnerships within F4CG's roster — a group large enough to support multiple active coders simultaneously. Other F4CG intros in this collection include #14 F4CG-32 and #54 F4CG-43.

Sources: intros.c64.org · CSDb

f4cg-49.asm 1.877 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: $0800  End: $24ff  (7424 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2000 (8192)
// IRQ handler:  $215e (nmi_215e)
// IRQ handler:  $21d5 (irq_21d5)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $220d (irq_220d)
//
// Code: 1869 bytes, Data: 5555 bytes
// Labels: 184, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $205a

sub_1000:
        jmp loc_1048
// Referenced by: jsr from $21e8

sub_1003:
        jmp loc_1021

txt_1006:
        .text " "

// --- Region $1021-$1080 ---
.pc = $1021 "loc_1021"

loc_1021:
        ldx #$00
        dec $1090
        bmi loc_1034
        jsr sub_1226
        jsr sub_1225
        jmp sub_1225

dat_1031:
        .byte $ff,$ff,$ff                           // ...

loc_1034:
        lda #$02
        sta $1090
        jsr sub_1040
        jsr sub_103f
// Referenced by: jsr from $103c

sub_103f:
        inx
// Referenced by: jsr from $1039

sub_1040:
        dec $108a,x
        bmi loc_1091
        jmp sub_1226

loc_1048:
        lda #$1f
        sta $d418
        lda #$f0
        sta $d417
        and #$0f
        sta smc_1262                                // SMC: modifies $1262
        ldx #$0f

loc_1059:
        sta dat_1081,x
        dex
        bpl loc_1059
        ldx #$02

loc_1061:
        lda $14b9,x
        sta $fa
        lda $14bc,x
        sta $fb
        ldy #$00
        lda ($fa),y
        sta $108d,x
        iny
        lda ($fa),y
        sta $10e6,x
        and #$0f
        sta $10e9,x
        dex
        bpl loc_1061
        rts

// --- Region $1091-$10c6 ---
.pc = $1091 "loc_1091"

loc_1091:
        ldy $108d,x
        cpy #$fe
        bne loc_10a1
// Referenced by: jsr from $10c0

sub_1098:
        lda $1084,x
        and #$fe
        sta $1084,x
        rts

loc_10a1:
        lda $1ace,y
        sta $fa
        lda $1aba,y
        sta $fb
        ldy dat_1081,x
        lda ($fa),y
        bmi loc_10d2
        cmp #$60
        bcc loc_10f9

loc_10b6:
        and #$1f
        sta $108a,x
        lda #$fe
        sta dat_1031,x
        jsr sub_1098

loc_10c3:
        jmp loc_1187

dat_10c6:
        .byte $00                                   // .

// --- Region $10d2-$10dd ---
.pc = $10d2 "loc_10d2"

loc_10d2:
        cmp #$a0
        bcc loc_10ec
        and #$1f
        sta $108a,x
        bcs loc_10c3
        brk

// --- Region $10ec-$1141 ---