#338

Shaolin Monastery, The [TSM] 09

Shaolin Monastery, The [TSM]

6.440 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
29 June 1991
Code
Magic Man
Music
JCH (Jens-Christian Huus) — "Skaermtrolden Hugo"
Graphics
Gotcha
Group
The Shaolin Monastery — released under Enigma, Germany, founded May 1991

CSDb lists this under Enigma — a German group founded in May 1991 — rather than The Shaolin Monastery, suggesting a collaboration or a transitional period between the two groups. Magic Man coded the intro, Gotcha contributed the graphics, and JCH (Jens-Christian Huus) provided the music — his composition "Skaermtrolden Hugo," originally written for the Danish TV game show of the same name, preserved in the HVSC. Released on 29 June 1991, this arrived just one month after Enigma's founding. JCH was one of the most sought-after SID composers of the era, and his game music frequently appeared in crack intros. The Shaolin Monastery was founded in December 1988 in the United States, and their association with the German Enigma reflects the international networking that characterised the late C64 scene. Other TSM entries appear elsewhere in the rankings.

Sources: CSDb · CSDb (group)

tsm-09.asm 6.440 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:19
// 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:  $4170 (16752)
// IRQ handler:  $3a39 (irq_3a39)
//
// Code: 5746 bytes, Data: 57742 bytes
// Labels: 702, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $39e9, $f703

sub_1000:
        jmp loc_1040
// Referenced by: jsr from $3d6a, $fa84

sub_1003:
        jmp loc_10d8

dat_1006:
        .byte $01                                   // .

// --- Region $1040-$120a ---
.pc = $1040 "loc_1040"

loc_1040:
        asl
        asl
        asl
        tay
        ldx #$00

loc_1046:
        lda $15a2,y
        sta $1528,x
        sta $152e,x
        lda $15a3,y
        sta $152b,x
        sta $1531,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1046
        ldx #$00
        stx $100b
        lda $15a2,y
        sta $1534

loc_106a:
        sta $158c,x
        inc $100b
        lda $1534
        clc
        adc $15a2,y
        sta $1534
        clc
        adc $100b
        inx
        cpx #$10
        bne loc_106a
        lda $1020
        beq loc_10b3
        ldx #$02

loc_108a:
        lda $15a3,y
        sta $100b
        and $1535,x
        sta dat_1006,x
        dex
        bpl loc_108a
        bit $100b
        bpl loc_10b3
        ldx #$00

loc_10a0:
        lda $15a4,y
        sta $152e,x
        lda $15a5,y
        sta $1531,x
        iny
        iny
        inx
        cpx #$03
        bne loc_10a0

loc_10b3:
        ldy #$00
        tya

loc_10b6:
        sta $d400,y
        iny
        cpy #$18
        bne loc_10b6
        ldy #$00

loc_10c0:
        lda #$00
        sta $153b,y
        sta $1014,y
        lda #$04
        sta $1547,y
        iny
        cpy #$0c
        bne loc_10c0
        lda #$1f
        sta $d418
        rts

loc_10d8:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02

loc_10e0:
        lda dat_1006,x
        bne loc_10e8
        jmp loc_145b

loc_10e8:
        lda $1547,x
        bne loc_10f0
        jmp loc_1223

loc_10f0:
        cmp #$02
        beq loc_10fa
        dec $1547,x
        jmp loc_12d5

loc_10fa:
        dec $1547,x
        lda $1528,x
        sta $fb