#421

Fantastic 4 Cracking Group [F4CG] 42

Fantastic 4 Cracking Group [F4CG]

1.926 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Group
Fantastic 4 Cracking Group — Italy, founded 1983

The forty-second numbered intro from Fantastic 4 Cracking Group, notable for its music — a SID arrangement of "Arrival of Black Warriors" from the Double Dragon arcade game, credited to TMC. Scene members on intros.c64.org praised it enthusiastically, with one calling it "one of the best F4CG intros of all time" and another declaring it their favourite from the group. F4CG was founded in Italy in 1983 by Ricky and is documented on CSDb with over 1,600 releases — making them arguably the most long-lived group on the Commodore 64. The choice of a Double Dragon arrangement reflects the strong connection between gaming culture and the cracking scene during the late 1980s. No code or graphics credits have been identified. The intro's high regard among community members — despite ranking 421st overall — suggests it resonated with a devoted audience. Other F4CG intros in this collection include #14 F4CG-32 and #54 F4CG-43.

Sources: intros.c64.org · CSDb

f4cg-42.asm 1.926 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:33
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2eff  (9984 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2950 (10576)
// IRQ handler:  $2a23 (irq_2a23)
//
// Code: 935 bytes, Data: 9049 bytes
// Labels: 197, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0bb6-$0bba ---
.pc = $0bb6 "sub_0bb6"
// Referenced by: jsr from $29ee

sub_0bb6:
        jmp loc_0c72

chr_0bb9:
        // === Charset data (2 bytes, $0bb9-$0bba) ===
        .byte $4c,$e9                               // char 0 (partial)

// --- Region $0c72-$0ce8 ---
.pc = $0c72 "loc_0c72"

loc_0c72:
        lda #$01
        sta $0cf2
        stx smc_0ca0                                // SMC: modifies $0ca0
        lda $1481,x
        sta $0cf9
        txa
        sta smc_0c86                                // SMC: modifies $0c86
        asl
.label smc_0c86 = * + 1
        adc #$00                                    // !SMC: modified by $0c81
        asl
        adc #$05
        tax
        ldy #$05

loc_0c8d:
        lda $148d,x
        sta $0bbf,y
        dex
        dey
        bpl loc_0c8d
        sty $d416
        lda #$1f
        sta $d418
.label smc_0ca0 = * + 1
        lda #$00                                    // !SMC: modified by $0c77
        beq loc_0caa

chr_0ca3:
        // === Charset data (7 bytes, $0ca3-$0ca9) ===
        .byte $c9,$01,$f0,$03,$4c,$ae,$0c           // char 0 (partial)

loc_0caa:
        iny
        sty $d417
        lda #$00
        ldx #$63

loc_0cb2:
        sta $0c0e,x
        dex
        bne loc_0cb2
        ldx #$1f

loc_0cba:
        sta $e0,x
        dex
        bpl loc_0cba
        stx $0d78
        stx $0d79
        stx $0d7a
        sta $0cf2
        lda #$00
        sta $d404
        sta $d405
        sta $d406
        sta $d40b
        sta $d40c
        sta $d40d
        sta $d412
        sta $d413
        sta $d414
        rts

// --- Region $2950-$2adc ---
.pc = $2950 "main_2950"

main_2950:
        sei
        ldx #$00
        stx $0286
        stx $d020
        jsr $e544
        ldx #$27

loc_295e:
        lda txt_2900,x
        sta $05b8,x
        lda $2928,x
        sta $0608,x
        lda #$a4
        sta $04a0,x
        sta $0568,x
        dex
        bpl loc_295e
        inx
        lda #$08

loc_2978:
        sta $d800,x
        sta $d868,x
        inx
        bne loc_2978
        stx $80
        stx $82
        stx $d027
        stx $d028
        stx $d029
        stx $d02a
        stx $84
        stx $85
        stx $86
        stx $87
        lda #$27
        sta $81
        lda #$26
        sta $83
        lda #$b9
        sta $07f8
        sta $07f9
        lda #$ba
        sta $07fa
        sta $07fb
        lda #$1f
        sta $d000