#194

Babygang 01

Babygang

2.855 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
1991
Group
Babygang [BYG] — France, founded 1987
Graphics
Midnight
Music
O'Neill (Morten Kristensen) — Magascene #03 (tune 9)

This crack intro from the French group Babygang is catalogued on CSDb as release #221557, dated 1991. Graphics are credited to Midnight, and the music is by Danish composer O'Neill (Morten Kristensen) using his SID tune "Magascene #03 (tune 9)," preserved in the HVSC. No individual coder is recorded on CSDb. The scrolltext announces a crack of "Terminator 2 Preview" by Uncle Ben and Dany, with thanks to Foggy for the original. Babygang was founded in 1987 in France — part of the small but dedicated French C64 scene — and maintained a website at babygang.fr. Doc Snyder's page documents five Babygang intros, with credits spanning coders Wolf, Chocapoc, The Cybernetic Man, and Ozzy, alongside musicians from Marcel Donne to Drax to EVS. The other ranked Babygang entry is #765 BYG-02.

Sources: CSDb · intros.c64.org · docsnyderspage

byg-01.asm 2.855 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:17
// 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:  $0bf0 (3056)
// IRQ handler:  $0d00 (irq_0d00)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2225 bytes, Data: 7759 bytes
// Labels: 268, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $0bf0-$0c01 ---
.pc = $0bf0 "main_0bf0"

main_0bf0:
        lda #$0d
        jsr $ffd2
        lda $3fff
        sta smc_1cb6                                // SMC: modifies $1cb6
        lda #$00
        sta $3fff

spr_0c00:
        // === Screen RAM (2 bytes, $0c00-$0c01) ===
        .encoding "screencode_mixed"
        .text " "
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

// --- Region $0c60-$0ccb ---
.pc = $0c60 "loc_0c60"

loc_0c60:
        ldx #$0a

loc_0c62:
        dex
        bne loc_0c62
        lda #$00
        sta $d020
        lsr $d019
        jsr sub_0f00
        lda #$19
        sta $d011
        jsr sub_1003
        jmp loc_1d50

chr_0c7b:
        // === Charset data (5 bytes, $0c7b-$0c7f) ===
        .byte $00,$00,$00,$00,$00                   // char 0 (partial)
// Referenced by: jsr from $0d7d

sub_0c80:
        ldx #$07

loc_0c82:
        lda #$2c
        sta $07f8,x
        lda #$0b
        sta $d027,x
        dex
        bpl loc_0c82
        ldx #$0f

loc_0c91:
        lda $0ce0,x
        sta $d000,x
        dex
        bpl loc_0c91
        lda #$0c
        sta $d025
        lda #$0f
        sta $d026
        lda #$c0
        sta $d010
        lda #$ff
        sta $d01b
        sta $d01d
        sta $d01c
        ldx #$1e

loc_0cb6:
.label smc_0cb7 = * + 1
        lda $0b62,x                                 // !SMC: modified by $0f4f
        sta $0b12,x
        dex
        bpl loc_0cb6
        ldx #$00

loc_0cc1:
        dex
        bne loc_0cc1
        ldx #$73

loc_0cc6:
        dex
        bne loc_0cc6
        nop
        nop
        rts

// --- Region $0d00-$0f32 ---
.pc = $0d00 "irq_0d00"

irq_0d00:
        lda #$31
        sta $d012
        lda #$18
        sta $d011
        lda #$19
        sta $d011
        lda $d012
        and #$07
        ora #$10
        sta $d011
        lda $d012
        and #$07
        ora #$10
        sta $d011
        lda $d012
        and #$07
        ora #$10
        sta $d011
        ldy #$00
        lda #$d0
        sta $d016
        lda #$18
        sta $d018
        lda #$03
        sta $d022
        lda #$0e
        sta $d023
        ldx #$00

loc_0d45:
        lda $d012

loc_0d48:
        cmp $d012
        beq loc_0d48