#781

Shadows, The [TSW] 06

Shadows, The [TSW]

2.908 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
1989
Group
The Shadows — Norway, founded 1986

Omega Supreme returned to coding duties for this later Shadows intro, having previously coded the group's TSW-01 from December 1987. The ripped music comes from Lynx of Sigma, specifically the "Rawhead Introtune" preserved in the HVSC. Released in 1989, this was among the later productions in The Shadows' catalogue before their dissolution around 1991. The Norwegian group had been active since 1986 and accumulated approximately 195 releases during their existence. Omega Supreme served as both coder and cracker for the group, demonstrating the versatility typical of scene members in smaller national scenes where fewer people shouldered more responsibilities. This is the third Shadows intro in this collection, alongside TSW-01 and TSW-04, collectively spanning the group's output from 1987 through 1989.

Sources: CSDb · CSDb — Group

tsw-06.asm 2.908 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:56
// 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:  $1e00 (7680)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1b1f (irq_1b1f)
//
// Code: 1993 bytes, Data: 61495 bytes
// Labels: 269, Subroutines: 4
//
// Cross-references: all OK
// ============================================


// --- Region $0890-$08a4 ---
.pc = $0890 "Program $0890"
        .byte $5a                                   // nop // ILLEGAL
        .byte $5a                                   // nop // ILLEGAL
        lsr $5f5b,x
        .byte $5f,$5c,$53                           // sre $535c,x // ILLEGAL
        tax
        tax
        inc $ffbb
        .byte $ff,$cc,$33                           // isc $33cc,x // ILLEGAL
        .byte $af,$af,$ef                           // lax $efaf // ILLEGAL

chr_08a3:
        // === Charset data (2 bytes, $08a3-$08a4) ===
        .byte $bf,$ff                               // char 0 (partial)

// --- Region $0fc0-$0fe6 ---
.pc = $0fc0 "loc_0fc0"

loc_0fc0:
        lda #$ef

loc_0fc2:
        cmp $dc01
        bne loc_0fc2
        sei
        jsr $fda3
        ldx #$31
        ldy #$ea
        stx $0314
        sty $0315
        jsr $ff5b
        ldx #$18

loc_0fda:
        lda $0fe5,x
        sta $0333,x
        dex
        bne loc_0fda
        jmp $0334

chr_0fe6:
        // === Charset data (1 bytes, $0fe6-$0fe6) ===
        .byte $e6                                   // char 0 (partial)

// --- Region $1000-$1400 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1da1

sub_1000:
        jmp loc_17f3

dat_1003:
        .byte $4c,$0d,$18                           // L..
// Referenced by: jsr from $1c6d

sub_1006:
        jmp loc_100f

dat_1009:
        .byte $01,$02,$04,$00,$07,$0e               // ......

loc_100f:
        lda $04
        beq loc_1019
        bpl loc_1016
        rts

loc_1016:
        jmp loc_17d7

loc_1019:
        ldx #$02
        dec $3c
        bpl loc_1024
        lda $15ab
        sta $3c

loc_1024:
        stx $02
        ldy $100c,x
        sty $03
        lda $3c
        cmp $15ab
        beq loc_1035
        jmp loc_11b6

loc_1035:
        txa
        asl
        tay
        lda dat_15a5,y
        sta smc_1052                                // SMC: modifies $1052
        lda $15a6,y
        sta smc_1053                                // SMC: modifies $1053
        dec $36,x
        bmi loc_104b
        jmp loc_11b6

loc_104b:
        lda #$00
        sta $15

loc_104f:
        ldy $58,x
.label smc_1052 = * + 1
.label smc_1053 = * + 2
        lda $15c4,y                                 // !SMC: modified by $103b, $1041
        cmp #$ff
        bne loc_1061
        lda #$00
        sta $58,x
        sta $5b,x
        jmp loc_1035

loc_1061:
        cmp #$fe
        bne loc_1079
        dec $04
        ldx #$02

loc_1069:
        ldy $100c,x
        lda $2d,x
        and #$fe
        sta $d404,y
        dex
        bpl loc_1069
        jmp loc_1400