#110

Cosmos 03

Cosmos

4.862 lines of code

RasterbarsRSTRMusicSID

History

Released
22 February 1989
Music
Jorg & Frank Schafers — "Hurling Frootmig" / Jeroen Soede — "Funky Stuff"
Graphics
Arny
Group
Cosmos — Austria, founded 17 July 1988

One of the rare Austrian contributions to the C64 cracking scene — Cosmos was founded on 17 July 1988, part of the small but dedicated Austrian scene that operated between the German and Italian spheres of influence. The brothers Jorg and Frank Schafers contributed "Hurling Frootmig" while Jeroen Soede added "Funky Stuff" — all preserved in the HVSC. Arny provided the graphics. No coder is credited on CSDb. Released on 22 February 1989, this came during Austria's brief moment of C64 scene activity. Doc Snyder's page documents the group's output. Soede's involvement connects this Austrian group to the Dutch musician network. The Schafers brothers composing as a duo is unusual — most SID musicians worked solo, making their family collaboration a distinctive footnote.

Sources: CSDb · docsnyderspage

cosmos-03.asm 4.862 lines
// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:48
// 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:  $0a00 (2560)
// IRQ handler:  $0860 (irq_0860)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 4460 bytes, Data: 59028 bytes
// Labels: 539, Subroutines: 26
//
// Cross-references: all OK
// ============================================


// --- Region $080a-$0831 ---
.pc = $080a "loc_080a"

loc_080a:
        sei
        lda #$35
        sta $01
        lda #$60
        sta $fffe
// Referenced by: jsr from $2f00

sub_0814:
        lda #$08
        sta $ffff
        lda #$01
        sta $d01a
        lda #$00
        sta $dc0e
        lda #$1b
        sta $d011
        lda #$33
        sta $d012
        cli

loc_082e:
        jmp loc_082e

dat_0831:
        .byte $00                                   // .

// --- Region $0840-$0856 ---
.pc = $0840 "sub_0840"
// Referenced by: jsr from $0864, $08a7

sub_0840:
        sei
        inc $d019
        sty $d012
        sta $fffe
        nop
        nop
        nop
        cli
        rts

dat_084f:
        .byte $00,$60                               // .`
// Referenced by: jsr from $0878

sub_0851:
        lda #$00
        sta $d021
        rts

// --- Region $0860-$0882 ---
.pc = $0860 "irq_0860"

irq_0860:
        ldy #$5a
        lda #$82
        jsr sub_0840
        lda #$14
        ora #$10
        sta $d016
        ldy #$0b
        sty $d022
        ldy #$0c
        sty $d023
        jsr sub_0851
        nop
        jsr sub_2800

loc_087f:
        jmp loc_087f

dat_0882:
        .byte $a0                                   // .

// --- Region $08a0-$08c9 ---
.pc = $08a0 "loc_08a0"

loc_08a0:
        php
        ldy #$70
        ldy #$30
        lda #$60
        jsr sub_0840
        lda #$07

loc_08ac:
        sta $d021
        jmp loc_08b9

dat_08b2:
        .byte $20,$d0,$a9,$00,$8d,$20,$d0           //  .... .

loc_08b9:
        lda $32
        sta $d016
        jsr sub_1006
        jsr sub_2878
        jsr sub_2730

loc_08c7:
        jmp loc_08c7

// --- Region $090e-$0911 ---
.pc = $090e "sub_090e"
// Referenced by: jsr from $324e

sub_090e:
        .byte $14,$8d                               // nop $8d,x // ILLEGAL
        brk

dat_0911:
        .byte $d0                                   // .

// --- Region $091b-$094f ---
.pc = $091b "loc_091b"

loc_091b:
        bne loc_0986
        bmi loc_08ac
        asl $d0
        adc #$30
        sta $d008
        adc #$30
        sta $d00a
        adc #$2f