#697

Shaolin Monastery, The [TSM] 06

Shaolin Monastery, The [TSM]

1.376 lines of code

RasterbarsRSTRScrollerSCRL

History

Released
1 March 1991
Group
The Shaolin Monastery — United States, founded December 1988

Excell coded this silent Shaolin Monastery intro, released on 1 March 1991. It was reused across multiple crack releases including Chip's Challenge, Shadow Dancer, and North & South — serving as a standardized release wrapper. The Shaolin Monastery was an American group founded in December 1988, with key members including Aycee as organizer, Kickback and Master Kracker as coders, Rad Man as coder and cracker, and Stealth handling code and NTSC-fixing. The group dissolved in September 1994. TSM operated several affiliated BBSes across the United States, functioning as a hub for American C64 software distribution during the early 1990s. The intro's visual-only approach — relying on scrolltext and on-screen graphics without audio — kept the file size compact, a practical consideration for BBS-based distribution where transfer speeds mattered.

Sources: CSDb · CSDb — Group

tsm-06.asm 1.376 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: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $1090 (4240)
// IRQ handler:  $11d4 (nmi_11d4)
// IRQ handler:  $1198 (irq_1198)
//
// Code: 1046 bytes, Data: 62442 bytes
// Labels: 141, Subroutines: 10
//
// Cross-references: all OK
// ============================================


// --- Region $1090-$11d4 ---
.pc = $1090 "main_1090"

main_1090:
        ldx #$00
        lda #$40

loc_1094:
        sta $1012,x
        clc
        adc #$01
        inx
        cmp #$64
        beq loc_10a8
        cmp #$48
        beq loc_10a5
        bne loc_1094

loc_10a5:
        inx
        bne loc_1094

loc_10a8:
        ldx #$00
        lda #$60

loc_10ac:
        sta $1312,x
        sec
        sbc #$28
        pha
.label smc_10b4 = * + 1
        lda #$70                                    // !SMC: modified by $10bb
        sta $1338,x
        sec
        sbc #$28
        sta smc_10b4                                // SMC: modifies $10b4
        pla
        inx
        inx
        cpx #$26
        bne loc_10ac
        ldx #$00
        lda #$10
        jsr sub_10da
        inc $10e0
        dec $10e5
        lda #$07
        jsr sub_10da
        jmp loc_10fb
// Referenced by: jsr from $10c9, $10d4, $fce2

sub_10da:
        ldy #$02
        jsr sub_10ef
        ldy #$05
        jsr sub_10ef
        ldy #$06
        jsr sub_10ef
        ldy #$02
        jsr sub_10ef
        rts
// Referenced by: jsr from $10dc, $10e1, $10e6, $10eb, $fcea, $fcef, $fcf4; branch from $10f5

sub_10ef:
        sta $1313,x
        inx
        inx
        dey
        bpl sub_10ef
        sec
        sbc #$01
        rts

loc_10fb:
        lda #$08
        ldx #$c0
        ldy #$13
        stx $fb
        sty $fc
        jsr $e536
        sei
        lda #$35
        ldx #$01
        ldy #$7f
        sta $01
        stx $d01a
        sty $dc0d
        ldx #$d4
        ldy #$11
        stx $fffa
        sty $fffb
        lda #$98
        ldx #$11
        sta $fffe
        stx smc_ffff                                // SMC: modifies $ffff
        lda #$dd
        ldx #$1b
        sta $d012
        stx $d011
        cli
        ldx #$18

loc_1138:
        ldy $1310
        cpy #$01
        bne loc_114b
        lda #$00
        sta $1310
        cpx #$0f
        beq loc_114b
        jsr sub_116c

loc_114b:
        inc $1310
        lda #$0c
        sta dat_135e,x
        sta $1386,x
        lda #$0a
        tay

loc_1159:
        cmp $d012
        bne loc_1159
        dey
        bne loc_1159
        lda #$0f
        sta dat_135e,x
        dex