#883

Mercenary Cracker 1991, The [TMC] 02

Mercenary Cracker 1991, The [TMC]

638 lines of code

RasterbarsRSTR

History

Released
9 December 1986
Group
TMC 1991 — Netherlands

The second TMC 1991 intro, released on 9 December 1986 — six days before its companion piece. The Mercenary Cracker (Charles Deenen / The Silver Surfer) was a Dutch scener active from 1985 to 1988, serving as coder, cracker, and musician across multiple groups including Flash Cracking Group, Hotline, and The Light Circle. He also founded the group Scoop. This intro was reused across several cracks including 1943: One Year After, Blood 'n Guts, Jailbreak, and Pac-Man. No music or graphics credits are documented. The "1991" suffix in the group name is misleading — both TMC intros predate 1991 by five years, and the number likely references something other than a founding year. Deenen's presence across multiple Dutch groups illustrates the interconnected nature of the Netherlands' C64 scene. Another TMC entry appears at #88 TMC-01.

Sources: CSDb · intros.c64.org

tmc-02.asm 638 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:17
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $1209  (2569 bytes)
// Crunched with PuCrunch — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0c00 (3072)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $0ca3 (irq_0ca3)
//
// Code: 590 bytes, Data: 1979 bytes
// Labels: 76, Subroutines: 5
//
// Verification: 2 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0c00-$0cd5 ---
.pc = $0c00 "main_0c00"

main_0c00:
        lda #$00
        sta $c8
        sta $a4
        sta $d011
        nop
        nop
        nop
        nop
        nop
        ldx #$00

loc_0c10:
        lda dat_0eac,x
        cmp #$00
        beq loc_0c1d
        jsr $ffd2
        inx
        bne loc_0c10

loc_0c1d:
        sei
        jsr sub_0d04
        lda #$a3
        ldy #$0c
        sta $0314
        sty $0315
        lda #$1b
        sta $d011
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        lda #$13
        sta $d018
        cli

loc_0c40:
        jsr $ffe4
        beq loc_0c40
        sei
        jsr $fda3
        jsr $ff5b
        lda #$ea
        sta $0315
        lda #$31
        sta $0314
        lda #$f0
        sta $d01a
        sta $d020
        sta $d021
        ldx #$00

loc_0c63:
        lda dat_0c72,x
        sta $0400,x
        inx
        cpx #$31
        bne loc_0c63
        cli
        jmp $0400

dat_0c72:
        .byte $78,$a9,$00,$85,$01                   // x....

loc_0c77:
        ldx #$00

loc_0c79:
        lda $1200,x
        sta dat_0801,x
        inx
        bne loc_0c79
        inc $0409
        inc $040c
.label loc_0c89 = * + 1
        lda $0409
        cmp #$70
        bne loc_0c77
        lda #$c0
        sta $af
        sta $2e
        lda #$00
        sta $ae
        sta $2d
        lda #$37
        sta $01
        cli
        jmp $fce2

irq_0ca3:
        sei
        lda #$01
        sta $d019
        ldx $c8
        lda dat_0cd4,x
        sta $d021
        sta $d020
        lda $0ce0,x
        sta $d016
        lda $0cec,x
        sta $d012
        lda $0cf8,x
        sta $c8
        txa
        beq loc_0cce
        pla
        tay
        pla
        tax
        pla
        rti

loc_0cce:
        jsr sub_0e04
        jmp loc_0d25

dat_0cd4:
        .byte $00,$0b                               // ..

// --- Region $0d04-$0dda ---
.pc = $0d04 "sub_0d04"
// Referenced by: jsr from $0c1e