#865

Fantastic 4 Cracking Group [F4CG] 47

Fantastic 4 Cracking Group [F4CG]

491 lines of code

RasterbarsRSTRScrollerSCRL

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The forty-seventh numbered intro from Fantastic 4 Cracking Group, coded by Ze Smasher. On intros.c64.org, Ze Smasher confirmed authorship and described it as "a very short intro." Fellow F4CG member Zyron praised it — "And a nice one it is!" — while Hades offered a more blunt assessment: "Not really nice, but short!!!" The brevity was likely intentional, as compact intros loaded faster and consumed less disk space on cracked releases. F4CG was founded in Italy in 1983 by Ricky and is documented on CSDb with over 1,600 releases. Ze Smasher was one of the group's most prolific contributors, also coding #392 F4CG-31, #54 F4CG-43, and #249 F4CG-55. No music or graphics credits have been identified for this production. The mixed reception reflects the trade-off between minimalism and visual impact that crack intro designers navigated.

Sources: intros.c64.org · CSDb

f4cg-47.asm 491 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:36
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $0def  (1520 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0818 (2072)
// IRQ handler:  $08c2 (irq_08c2)
//
// Code: 602 bytes, Data: 918 bytes
// Labels: 57, Subroutines: 8
//
// Verification: 4 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0818-$097f ---
.pc = $0818 "main_0818"
main_0818: {
        jsr $e544
        lda #$00
        sta $d020
        sta $d021
        tax
loop1:
        lda #$0b
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loop1
        jsr sub_09e1
        ldx #$0b
        stx smc_0c41                                // SMC: modifies $0c41
        inx
        stx smc_0c49                                // SMC: modifies $0c49
        lda #$10
        sta smc_0c4d                                // SMC: modifies $0c4d
        lda #$04
        sta smc_0c51                                // SMC: modifies $0c51
        lda #$c8
        sta smc_0c57                                // SMC: modifies $0c57
        jsr sub_0c40
        lda #$0d
        sta smc_0c41                                // SMC: modifies $0c41
        sta smc_0c49                                // SMC: modifies $0c49
        lda #$4c
        sta smc_0c4d                                // SMC: modifies $0c4d
        lda #$03
        sta smc_0c51                                // SMC: modifies $0c51
        lda #$40
        sta smc_0c57                                // SMC: modifies $0c57
        jsr sub_0c40
        lda #$0a
        sta smc_0c41                                // SMC: modifies $0c41
        sta smc_0c49                                // SMC: modifies $0c49
        lda #$1c
        sta smc_0c4d                                // SMC: modifies $0c4d
        lda #$02
        sta smc_0c51                                // SMC: modifies $0c51
        lda #$20
        sta smc_0c57                                // SMC: modifies $0c57
        jsr sub_0c40
        ldx #$00
loop2:
        lda #$07
        sta $d940,x
        lda #$a0
        sta $07c0,x
        lda $0ac0,x
        sta $0798,x
        lda #$00
        sta $db98,x
        sta $dbc0,x
        lda #$06
        sta $d828,x
        inx
        cpx #$28
        bne loop2
        sei
        lda #$08
        sta $0315
        lda #$c2
        sta $0314
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        cli
        rts
}

irq_08c2:
        lda #$0a
        sta smc_0c3b                                // SMC: modifies $0c3b
        lda #$b6
        sta smc_0c2b                                // SMC: modifies $0c2b
        lda #$39

loc_08ce:
        cmp $d012
        bne loc_08ce
        jsr sub_0c25
        lda #$46

loc_08d8:
        cmp $d012
        bne loc_08d8
        lda #$c8
        sta $d016
        lda #$1f
        sta smc_0c2b                                // SMC: modifies $0c2b
        lda #$98
        sta smc_0c3b                                // SMC: modifies $0c3b
        lda #$49

loc_08ee:
        cmp $d012
        bne loc_08ee
        jsr sub_0c25
        lda #$c8
        sta $d016
        lda #$16
        sta $d018
        lda #$ea

loc_0902:
        cmp $d012
        bne loc_0902
        ldx #$0a

loc_0909:
        dex
        bne loc_0909
        lda #$c1
        sta $d016
        lda #$0f
        sta $d021
        lda #$00
        sta $d020
        lda #$ef

loc_091d: