#185

Wanderer Group, The [TWG] 01

Wanderer Group, The [TWG]

2.141 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
June 1988
Code
The Electronic Federation
Music
Johannes Bjerregaard — "Namnam Special" / Jess (Oliver Kluwer) — "K.A.O.S."
Group
The Wanderer Group — Germany, founded 1987

A dual-SID intro with a Danish master and a German newcomer — Johannes Bjerregaard contributing "Namnam Special" alongside Jess (Oliver Kluwer) providing "K.A.O.S." Bjerregaard was among the most celebrated Danish SID composers, his work extensively preserved in the HVSC. The Electronic Federation handled coding — credited under a collective name rather than an individual handle. The Wanderer Group was founded in Germany in 1987, and this June 1988 release shows them evolving from the single-tune formula of their earlier #26 TWG-03 and #45 TWG-02 to a multi-composer approach. Both compositions are preserved in the HVSC. The collective coding credit suggests either a team effort or a member who preferred anonymity within a group identity.

Sources: CSDb

twg-01.asm 2.141 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:38
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2dfe  (9727 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1000 (4096)
// IRQ handler:  $0d22 (irq_0d22)
// IRQ handler:  $1140 (irq_1140)
// IRQ handler:  $11e0 (irq_11e0)
// IRQ handler:  $0d60 (irq_0d60)
//
// Code: 2004 bytes, Data: 7723 bytes
// Labels: 239, Subroutines: 17
//
// Cross-references: all OK
// ============================================


// --- Region $0d00-$0d40 ---
.pc = $0d00 "sub_0d00"
// Referenced by: jsr from $11dc

sub_0d00:
        sei
        lda #$22
        sta $0314
        lda #$0d
        sta $0315
        lda #$01
        sta $dc0d
        sta $d019
        sta $d01a
        lda #$1b
        sta $d011
        lda #$01
        sta $d012
        cli
        rts

irq_0d22:
        sei
        lda #$01
        sta $d019
        lda #$1b
        sta $d011
        lda #$c8
        sta $d016
        lda #$40
        sta $0314
        lda #$11
        sta $0315
        lda #$2b
.label spr_0d40 = * + 2
        sta $d012

// --- Region $0d60-$0e80 ---
.pc = $0d60 "irq_0d60"

irq_0d60:
        sei
        lda $03
        sta $d019
        ldx #$00

loc_0d68:
        ldy $0fa0,x

loc_0d6b:
        dey
        bne loc_0d6b
        ldy dat_0fe0,x
        sty $d020
        sty $d021
        lda $d012
        and #$07
        tay
        lda tbl_0fc0,y
        sta $d011
        inx
.label smc_0d85 = * + 1
        cpx #$08                                    // !SMC: modified by $0dcf
        bne loc_0d68
        lda #$13
        sta $d018
        lda $02
        sta $d016
        lda #$22
        sta $0314
        lda #$0d
        sta $0315
        lda #$01
        sta $d012
        cmp $ea,x
        cli
        jsr sub_0e00
        jsr sub_0dc0
        jsr sub_0dd3
        jsr sub_1220
        jsr sub_1059
        jsr sub_1126
        jmp $ea81

chr_0db9:
        // === Charset data (7 bytes, $0db9-$0dbf) ===
        .byte $4c,$81,$ea,$00,$00,$c0,$01           // char 0 (partial)
// Referenced by: jsr from $0da7

sub_0dc0:
        inc $46
        ldx $46
        cpx #$34
        bne loc_0dcc
        lda #$00
        sta $46

loc_0dcc:
        lda $0ee0,x
        sta smc_0d85                                // SMC: modifies $0d85
        rts
// Referenced by: jsr from $0daa

sub_0dd3:
        ldx #$00

loc_0dd5:
        lda smc_0d85
        cmp spr_0e80,x
        beq loc_0ded
        cmp $0ea0,x
        beq loc_0df3
        cmp spr_0ec0,x
        beq loc_0df9
        inx
        cpx #$18
        bne loc_0dd5
        rts

loc_0ded:
        lda #$0b
        sta $0f20
        rts

loc_0df3:
        lda #$09
        sta $0f20