#129

Shaolin Monastery, The [TSM] 01

Shaolin Monastery, The [TSM]

5.993 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
24 October 1991
Code
Stealth, Doctor O
Music
Reverb (Mark) — "Sellout"
Group
The Shaolin Monastery — United States, founded December 1988

A dual-coder intro — Stealth and Doctor O sharing programming duties for The Shaolin Monastery's first numbered intro. Reverb (Mark) composed "Sellout," preserved in the HVSC. TSM was founded in December 1988 in the United States, though the group would later become more closely associated with the Swedish scene through their partnership with Talent. Released on 24 October 1991, this came during the late period when US-based C64 groups were rare. The martial arts-themed name connects to a broader trend of Eastern-philosophy-inspired group names in the early 1990s scene. TSM would later collaborate with Talent on #106 Talent+TSM and evolve into a more internationally distributed operation.

Sources: CSDb

tsm-01.asm 5.993 lines
// ============================================
// output - Part 1 of 4
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:39
// 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:  $4100 (16640)
// IRQ handler:  $4224 (nmi_4224)
// IRQ handler:  $41ee (irq_41ee)
//
// Code: 4835 bytes, Data: 58653 bytes
// Labels: 641, Subroutines: 28
//
// Cross-references: all OK
// ============================================


// --- Region $0817-$0820 ---
.pc = $0817 "Program $0817"
        cmp $ff,x
        sbc $d7e5,y
        .byte $d7,$d7                               // dcp $d7,x // ILLEGAL
        .byte $d7,$d7                               // dcp $d7,x // ILLEGAL

dat_0820:
        .byte $ff                                   // .

// --- Region $089d-$08ae ---
.pc = $089d "Program $089d"
        .byte $d7,$d5                               // dcp $d5,x // ILLEGAL
        sbc $ff
        sta $e5,x
        sbc $fdfd,x
        sbc $fffd,x
        .byte $ef,$db,$d7                           // isc $d7db // ILLEGAL
        .byte $d7,$d7                               // dcp $d7,x // ILLEGAL

dat_08ae:
        .byte $d7                                   // .

// --- Region $0e01-$0e01 ---
.pc = $0e01 "sub_0e01"
// Referenced by: jsr from $feb9

sub_0e01:
        brk

// --- Region $1021-$1080 ---
.pc = $1021 "sub_1021"
// Referenced by: jsr from $4257, $f9db

sub_1021:
        ldx #$00
.label loc_1024 = * + 1
        dec $1090
        bmi loc_1034
        jsr sub_1226
        jsr sub_1225
        jmp sub_1225

dat_1031:
        .byte $ff,$ff,$ff                           // ...

loc_1034:
        lda #$03

loc_1036:
        sta $1090
        jsr sub_1040
        jsr sub_103f
// Referenced by: jsr from $103c, $dbf7

sub_103f:
        inx
// Referenced by: jsr from $1039, $dbf4

sub_1040:
        dec $108a,x
        bmi loc_1091
        jmp sub_1226

loc_1048:
        lda #$1f
        sta $d418
        lda #$f0
        sta $d417
        and #$0f
        sta $1262
        ldx #$0f

loc_1059:
        sta dat_1081,x
        dex
        bpl loc_1059
        ldx #$02

loc_1061:
        lda $14b9,x
        sta $fa
        lda $14bc,x
        sta $fb
        ldy #$00
        lda ($fa),y
        sta $108d,x
        iny
        lda ($fa),y
        sta $10e6,x
        and #$0f
        sta $10e9,x
        dex
        bpl loc_1061
        rts

// --- Region $1091-$10c6 ---
.pc = $1091 "loc_1091"

loc_1091:
        ldy $108d,x
        cpy #$fe
        bne loc_10a1
// Referenced by: jsr from $10c0, $dc7c

sub_1098:
        lda $1084,x
        and #$fe
        sta $1084,x
        rts

loc_10a1:
        lda $1b50,y
        sta $fa
        lda $1b31,y
        sta $fb
        ldy dat_1081,x
        lda ($fa),y
        bmi loc_10d2
        cmp #$60
        bcc loc_10f9

loc_10b6:
        and #$1f
        sta $108a,x
        lda #$fe
        sta dat_1031,x
        jsr sub_1098