#285

Mercenary Cracker 1991, The [TMC] 01

Mercenary Cracker 1991, The [TMC]

1.392 lines of code

RasterbarsRSTR

History

Released
15 December 1986
Group
TMC 1991 — Netherlands

The Mercenary Cracker — identified on CSDb as scener ID 5357 — was a Dutch coder, cracker, and musician active from 1985 to 1988. His real identity was Charles Deenen, also known as The Silver Surfer. This intro, released on 15 December 1986, was used in cracks of Blood 'n Guts V2, Dragon's Lair II, and Space Harrier. Despite the "1991" in the group name, the releases date to 1986 — the suffix likely referenced a phone number or codename rather than a founding year. The Mercenary Cracker was a member of Flash Cracking Group, Hotline, Newlook, and The Light Circle, and he founded the group Scoop. No music or graphics credits are documented for this intro. A second TMC 1991 intro exists on CSDb from 9 December 1986, suggesting both designs were created within the same week. Another TMC entry appears at #280 TMC-02.

Sources: CSDb · intros.c64.org

tmc-01.asm 1.392 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:34
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $0c00 (3072)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $0c97 (irq_0c97)
//
// Code: 717 bytes, Data: 62771 bytes
// Labels: 159, Subroutines: 9
//
// Cross-references: all OK
// ============================================


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

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

loc_0c0b:
        lda chr_0f8b,x
        cmp #$00
        beq loc_0c18
        jsr $ffd2
        inx
        bne loc_0c0b

loc_0c18:
        sei
        jsr sub_0cfe
        lda #$97
        ldy #$0c
        sta $0314
        sty $0315
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        jsr sub_0e9f
        cli

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

loc_0c57:
        lda chr_0c66,x
        sta $0400,x
        inx
        cpx #$31
        bne loc_0c57
        cli
        jmp $0400

chr_0c66:
        // === Charset data (1 bytes, $0c66-$0c66) ===
        .byte $78                                   // char 0 (partial)

// --- Region $0c97-$0ccf ---
.pc = $0c97 "irq_0c97"

irq_0c97:
        sei
        lda #$01
        sta $d019
        ldx $c8
        lda chr_0cce,x
        sta $d021
        sta $d020
        lda $0cda,x
        sta $d016
        lda $0ce6,x
        clc
        adc #$d0
        sta $d012
        lda $0cf2,x
        sta $c8
        txa
        beq loc_0cc5
        pla
        tay
        pla
        tax
        pla
        rti

loc_0cc5:
        jsr sub_0efe
        jsr sub_0df7
        jmp loc_0d1f

chr_0cce:
        // === Charset data (2 bytes, $0cce-$0ccf) ===
        .byte $00,$09                               // char 0 (partial)

// --- Region $0cfe-$0dcd ---
.pc = $0cfe "sub_0cfe"
// Referenced by: jsr from $0c19

sub_0cfe:
        lda #$d8
        sta $35
        lda #$0f
        sta $36
        lda #$00
        sta $02a7
        lda #$02
        sta $02a8
        ldx #$00
        lda #$20

loc_0d14:
        sta $04c8,x
        inx
        cpx #$28
        bne loc_0d14
        jmp loc_0d36

loc_0d1f:
        ldy $d8f0
        ldx #$00

loc_0d24:
        lda $d8f1,x
        sta $d8f0,x
        inx