#980

Spirit 04

Spirit

2.114 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
September 1991
Code
Rage
Charset
Houbba
Music
Atman (Arne Puszelski) — "Searching for Ya" / Danko (Tomas Danko) — "Raggamuffin"
Group
Spirit — Germany, founded 1989

This September 1991 crack intro from Spirit features two SID tunes: "Searching for Ya" by Atman (Arne Puszelski) and "Raggamuffin" by Tomas Danko, both preserved in the HVSC. The inclusion of two music tracks in a single intro was relatively uncommon, suggesting either a tune selector or sequential playback. Rage coded the intro while Houbba contributed the charset. Spirit was a German group founded in 1989 and abbreviated as. Another Spirit entry in this collection is #328 Spirit 01. Tomas Danko was a prolific SID musician whose compositions appeared across numerous intros and demos. Atman similarly contributed music to various scene productions during the early 1990s. The group left a modest footprint in the scene archives — no entries appear on Doc Snyder's page, Demozoo, or Pouet — making CSDb the primary surviving record.

Sources: CSDb · intros.c64.org

spirit-04.asm 2.114 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:46
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2850  (8273 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1000 (4096)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1100 (irq_1100)
//
// Code: 2251 bytes, Data: 6022 bytes
// Labels: 190, Subroutines: 15
//
// Cross-references: all OK
// ============================================


// --- Region $0f40-$0f57 ---
.pc = $0f40 "sub_0f40"
// Referenced by: jsr from $1162

sub_0f40:
        ldx #$00

loc_0f42:
        lda $0f60,x
        sta $d021
        sta $d021
        ldy $0f70,x

loc_0f4e:
        dey
        bne loc_0f4e
        inx
        cpx #$10
        bne loc_0f42
        rts

scr_0f57:
        // === Screen RAM (1 bytes, $0f57-$0f57) ===
        .byte $ff                                   // scrcode: .

// --- Region $0f9a-$0faa ---
.pc = $0f9a "loc_0f9a"

loc_0f9a:
        ldx #$00

loc_0f9c:
        lda scr_0faa,x
        sta $0400,x
        inx
        cpx #$36
        bne loc_0f9c
        jmp $0400

scr_0faa:
        // === Screen RAM (1 bytes, $0faa-$0faa) ===
        .byte $78                                   // scrcode: .

// --- Region $1000-$11d4 ---
.pc = $1000 "main_1000"

main_1000:
        sei
        lda #$08
        sta $0286
        jsr $e544
        lda #$e1
        sta $0328
        lda #$00
        jsr sub_1800
        jsr sub_17c1
        ldx #$00

loc_1018:
        lda #$fc
        sta $0400,x
        sta $0518,x
        sta $0680,x
        sta $0798,x
        inx
        cpx #$28
        bne loc_1018
        ldx #$00

loc_102d:
        lda $1f15,x
        adc #$10
        sta $07e4,x
        inx
        cpx #$04
        bne loc_102d
        ldx #$00

loc_103c:
        lda $2400,x
        sta $0428,x
        sta $06a8,x
        inx
        cpx #$f0
        bne loc_103c
        ldx #$00

loc_104c:
        lda #$00
        sta $d800,x
        sta $da80,x
        sta $db98,x
        inx
        cpx #$28
        bne loc_104c
        ldx #$00

loc_105e:
        lda #$00
        sta $d918,x
        sta $d980,x
        inx
        bne loc_105e
        lda #$ff
        ldx #$e0
        ldy #$01
        sta $d015
        sta $d01b
        sta $d01c
        sta $d01d
        stx $d010
        sty $d01a
        ldx #$00

loc_1083:
        lda #$a0
        sta $07f8,x
        inx
        cpx #$07
        bne loc_1083
        ldx #$00
        lda #$18

loc_1091:
        sta $d000,x
        adc #$2f
        inx
        inx
        cpx #$10