#727

Galaxy Force 01

Galaxy Force

3.031 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLBitmapBMAP

History

Released
1988
Code
Metal (Torben Korgaard Hansen)
Music
Fate (Peter Slotta) — "Swapper Zax"
Group
Galaxy Force — Germany

Galaxy Force's sole catalogued intro dates from 1988 and was coded by Metal, identified by Doc Snyder's page as Torben Korgaard Hansen, a member of TBI who contributed his programming skills to the group. The SID tune "Swapper Zax" was composed by Fate, the handle of Peter Slotta, and is preserved in the High Voltage SID Collection. Galaxy Force was a German group based in the Oberhausen area, and the scrolltext reveals a youthful, enthusiastic crew whose members included Zak, Pegasus, and The Sys. The intro accompanied a crack of "Chuck Yeager's Advanced Flight Trainer" from Electronic Arts, with Zak boasting the game was broken in a single day. Greetings in the scrolltext reach out to International Cracking Company, Horizon, X-Ample, and The Blasters Inc., placing Galaxy Force within the broader German cracking network of the late 1980s. The group's output appears limited to this single documented intro, suggesting a short-lived but spirited operation.

Sources: CSDb · docsnyderspage

galaxyforce-01.asm 3.031 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:43
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3fff  (14336 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0f3f (3903)
// IRQ handler:  $0900 (irq_0900)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2691 bytes, Data: 11645 bytes
// Labels: 327, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $0900-$0b8c ---
.pc = $0900 "irq_0900"

irq_0900:
        lda $d019
        sta $d019
        lda #$1b
        sta $d011
        lda #$1a
        sta $d018
        lda #$08
        ldx #$01
        ldy #$07
        sta $d021
        stx $d022
        sty $d023
        lda #$d7
        sta $d016
        lda #$3d
        sta $0314
        lda #$72
        sta $d012
        jsr sub_0d59
        jsr sub_0d89
        jsr sub_0c88
        jsr sub_0cef
        jmp $ea81

loc_093d:
        lda $d019
        sta $d019
        lda #$00
        sta $d021
        nop
        lda #$1e
        sta $d018
        lda #$c8

loc_0950:
        sta $d016
        lda #$60
        sta $0314
        lda #$92
        sta $d012
        jmp $ea81

dat_0960:
        .byte $a9,$1b,$8d,$11                       // ....

loc_0964:
        bne loc_0950
        nop
        nop
        lda $d019
        sta $d019
        ldx #$00

loc_0970:
        ldy $d012

loc_0973:
        cpy $d012
        beq loc_0973
        tya
        and #$07
        ora #$18
        sta $d011
        inx
        cpx #$01
        bne loc_0970
        lda #$1c
        sta $d018
        lda #$00
        ldx #$0a
        ldy #$07
        sta $d021
        stx $d022
        sty $d023
        lda #$d7
        sta $d016
        lda #$e9
        sta $0314
        lda $d012
        clc
        adc #$1e

loc_09a9:
        cmp $d012
        bne loc_09a9
        ldx #$00

loc_09b0:
        ldy $d012

loc_09b3:
        cpy $d012
        beq loc_09b3
        tya
        and #$07
        ora #$18
        sta $d011
        inx
        cpx #$01
        bne loc_09b0
        lda #$d7
        sta $d016
        ldx #$00

loc_09cc:
        ldy $d012

loc_09cf:
        cpy $d012
        beq loc_09cf
        tya
        and #$07
        ora #$18
        sta $d011
        inx
        cpx #$01
        bne loc_09cc
        lda #$fa
        sta $d012
        jmp $ea81

loc_09e9:
        lda $d019
        sta $d019
        lda #$00