#874

Shaolin Monastery, The [TSM] 11

Shaolin Monastery, The [TSM]

3.123 lines of code

RasterbarsRSTRMusicSIDSpritesSPRTBitmapBMAP

History

Released
1 April 1992
Code
Trigger
Graphics
Jatagan
Music
Link (Klaus Grongaard) — "Quedex Tune"
Group
The Shaolin Monastery [TSM] / Enigma — Germany, Enigma founded May 1991

This crack intro, released on 1 April 1992, is credited to The Shaolin Monastery but is catalogued on CSDb under the group Enigma — a German group founded in May 1991. This dual attribution suggests a close relationship between TSM and Enigma, possibly a merger or shared membership. The code is by Trigger, graphics by Jatagan, and the SID music is "Quedex Tune" by Link — real name Klaus Grongaard — preserved in the HVSC. Both Trigger and Jatagan also appear as contributors to X-Ray intros on Doc Snyder's page, indicating overlapping membership between the German cracking groups. TSM is well represented in this collection with entries including #129 TSM Intro #1, #109 TSM Intro #2, and #338 TSM Intro #9. TSM maintained connections with American scene contacts, as referenced in X-Ray scrolltexts.

Sources: CSDb · intros.c64.org

tsm-11.asm 3.123 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:55
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3aff  (13056 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0820 (2080)
// IRQ handler:  $0876 (irq_0876)
// IRQ handler:  $08a7 (irq_08a7)
// IRQ handler:  $08ce (irq_08ce)
// IRQ handler:  $08f3 (irq_08f3)
//
// Code: 2480 bytes, Data: 10576 bytes
// Labels: 247, Subroutines: 17
//
// Cross-references: all OK
// ============================================


// --- Region $0820-$0969 ---
.pc = $0820 "main_0820"
main_0820: {
        lda #$00
        sta $d011
        sta $d021
        sta $d020
        ldx #$00
        lda #$0e
loop1:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loop1
        lda #$00
        tax
        tay
        jsr sub_1000
        jsr sub_0a00
        sei
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d019
        lda #$20
        sta $d012
        ldx #$76
        ldy #$08
        stx $0314
        sty $0315
        cli
        jsr sub_0bcc
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        jmp $0868
}

irq_0876:
        inc $d019
        lda #$18
        sta $d018
        lda #$d8
        sta $d016
        lda #$1b
        sta $d011
        lda #$0b
        sta $d022
        lda #$0c
        sta $d023
        jsr sub_092c
        ldx #$a7
        ldy #$08
        stx $0314
        sty $0315
        lda #$51
        sta $d012
        jmp $ea81
irq_08a7: {
        inc $d019
        ldx #$0c
loop:
        dex
        bne loop
        lda #$03
        ldy #$0e
        sta $d022
        sty $d023
        jsr sub_0990
        ldx #$ce
        ldy #$08
        stx $0314
        sty $0315
        lda #$d0
        sta $d012
        jmp $ea81
}

irq_08ce:
        inc $d019
        lda $0811
        ora #$a0
        sta $d016
        lda #$1a
        sta $d018
        jsr sub_0926
        ldx #$f3
        ldy #$08
        stx $0314
        sty $0315
        lda #$f7
        sta $d012
        jmp $ea81
irq_08f3: {
        inc $d019
        ldx #$06
loop:
        dex
        bne loop
        lda #$13
        sta $d011
        lda #$ff
        jsr sub_091c
        inc $0810
        ldx #$76
        ldy #$08
        stx $0314
        sty $0315
        lda #$04
        sta $d012
        jmp $ea81
}
// Referenced by: jsr from $0935

sub_091a:
        lda #$ab
// Referenced by: jsr from $0902, $0928, $092e