#370

Wanderer Group, The [TWG] 04

Wanderer Group, The [TWG]

2.124 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
January 1988
Music
Matt Gray — "Hunter's Moon" (ripped)
Graphics
Speedcracker
Charset
Mark Jones
Group
The Wanderer Group — Germany, founded 1987

The fourth numbered intro from The Wanderer Group, released in January 1988 and featuring Matt Gray's "Hunter's Moon" — a ripped tune preserved in the HVSC. Speedcracker provided the graphics while Mark Jones contributed the charset. Unlike the earlier TWG intros — #52 TWG-03 and #56 TWG-02, both coded by Lui with Fred Gray's "Hysteria" — this production shifts to a different musical choice and credits Speedcracker rather than Lui in a visible role. Speedcracker also commented on the intro at intros.c64.org in January 2005, confirming involvement. The Wanderer Group was a German outfit founded in 1987. Matt Gray's "Hunter's Moon" soundtrack was widely admired — his atmospheric game scores rivalled those of Rob Hubbard and Martin Galway in popularity among European crackers during this period.

Sources: CSDb · intros.c64.org

twg-04.asm 2.124 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: $27ff  (8192 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $12e4 (4836)
// IRQ handler:  $14ed (irq_14ed)
// IRQ handler:  $1400 (irq_1400)
// IRQ handler:  $144b (irq_144b)
// IRQ handler:  $14aa (irq_14aa)
//
// Code: 2423 bytes, Data: 5769 bytes
// Labels: 248, Subroutines: 21
//
// Verification: 6 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0800-$0c0c ---
.pc = $0800 "sub_0800"
// Referenced by: jsr from $0da0, $0da5, $0daa

sub_0800:
        brk

dat_0801:
        // === BASIC loader stub ===
        .byte $00,$00                                                     // [corrected] was: .byte $0b,$08                               // next line pointer ($080b)
        .byte $d0,$04                                                     // [corrected] was: .byte $00,$00                               // line number 0
        .byte $8d                                                         // [corrected] was: .byte $9e                                   // SYS token
        .byte $18,$d4,$60,$c9
        .byte $ab                                                         // [corrected] was: .byte $00                                   // end of line
        .byte $f0,$3c                                                     // [corrected] was: .byte $00,$00                               // end of BASIC program
        jmp loc_08b5

loc_0810:
        lda #$00
        ldy #$18

loc_0814:
        sta $d400,y
        dey
        bpl loc_0814
        lda #$0f
        sta $d418
        sta $0d6a
        ldy #$00
        sty $0d68
        sty $0c3b
        sty $0c42
        sty $0c49
        sty $0c3d
        sty $0c44
        sty $0c4b
        sty $0c12
        sty $0c19
        sty $0c20
        iny
        sty $0c51
        jmp loc_08e5

loc_0849:
        lda $0d68
        beq loc_086c
        cmp $0d69
        bne loc_0869
        dec $0d6a
        lda $0d6a
        sta $d418
        bne loc_0864
        lda #$00
        sta $0c4e
        rts

loc_0864:
        lda #$00
        sta $0d69

loc_0869:
        inc $0d69

loc_086c:
        ldy $0c25,x
        lda $0e04,y
        and #$04
        beq loc_088c
        lda $0c7c,x
        beq loc_0886
        dec $0c7c,x
        lda $0e97,y
        sta $d404,x
        bne loc_088c

loc_0886:
        lda $0dfe,y
        sta $d404,x

loc_088c:
        lda $0e04,y
        and #$10
        beq loc_08a8
        lda $0c7e,x
        beq loc_08a2
        dec $0c7e,x
        lda #$c0
        sta $d401,x
        bne loc_08a8

loc_08a2:
        lda $0c56,x
        sta $d401,x

loc_08a8:
        lda $0c51
        bne loc_08b2
        dec $0c3d,x
        bmi loc_08fa

loc_08b2:
        jmp loc_0a72

loc_08b5:
        ldy $0c4e
        lda $0f61,y
        sta $0c39
        lda $0f65,y
        sta $0c3a
        lda $0f69,y
        sta $0c40
        lda $0f6d,y
        sta $0c41
        lda $0f71,y
        sta $0c47
        lda $0f75,y
        sta $0c48
        lda $0fc8,y
        sta $0c4f
        jmp loc_0810

loc_08e5:
        cpx #$0e
        bne loc_08f4
        dec $0c51