#114

Fresh (CH) 05

Fresh (CH)

3.322 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
May 1989
Code
Mat
Music
Tim (Tim Kleinert) — "Fresh Intro" (original)
Group
Fresh — Switzerland, founded 1987

Another Swiss group — alongside #73 Crazy, Fresh represents Switzerland's modest but genuine C64 cracking scene. Mat coded while Tim Kleinert composed an original piece titled simply "Fresh Intro," preserved in the HVSC. Fresh was founded in 1987, making them one of the earlier Swiss operations. Released in May 1989, this arrived during a period when Switzerland had at least three active C64 cracking groups — a small but notable presence for a country better known for neutrality than software piracy. The decision to commission an original tune rather than rip from a game shows ambition. Kleinert's composition carries the group name, suggesting it was written specifically as a theme piece. The Swiss scene's isolation between France, Germany, and Italy gave its groups access to distribution networks in all three directions.

Sources: CSDb

fresh-05.asm 3.322 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:21
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3fff  (14336 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1c90 (7312)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1100 (irq_1100)
// IRQ handler:  $fe47 (nmi_fe47)
// IRQ handler:  $10ff (nmi_10ff)
//
// Code: 2558 bytes, Data: 11778 bytes
// Labels: 317, Subroutines: 10
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$116c ---
.pc = $1000 "loc_1000"

loc_1000:
        sei
        lda #$11
        sta $0315
        lda #$00
        sta $0314
        lda #$00
        sta $dc0e
        lda #$1b
        sta $d011
        lda #$01
        sta $d01a
        sta $d019
        lda #$52
        sta $d012
        lda #$01
        sta $11c0
        lda #$52
        sta $d001
        lda #$67
        sta $d003
        lda #$7c
        sta $d005
        lda #$98
        sta $d006
        lda #$b0
        sta $d008
        lda #$c8
        sta $d00a
        lda #$01
        sta $d027
        sta $d028
        sta $d029
        lda #$07
        sta $d015
        sta $d01d
        sta $d01b
        ldx #$00

loc_105d:
        lda #$08
        sta $d800,x
        sta $d8fa,x
        sta $d9f4,x
        sta $daee,x
        lda #$00
        sta $0400,x
        sta $04fa,x
        sta $05f4,x
        sta $06ee,x
        inx
        cpx #$fa
        bne loc_105d
        lda #$80
        tax

loc_1081:
        sta $dae8,x
        dex
        bpl loc_1081
        lda #$00
        sta $d020
        lda #$0f
        sta $d021
        sei
        lda #$07
        sta $11c1
        lda #$07
        sta $11c2
        ldx #$00
        txa

loc_109f:
        sta $da08,x
        dex
        bne loc_109f
        ldx #$0f

loc_10a7:
        lda $13a0,x
        sta $13d0,x
        dex
        bpl loc_10a7
        lda #$10
        sta $11c4
        ldx #$77

loc_10b7:
        lda $1400,x
        sta $0400,x
        lda $1478,x
        sta $0770,x
        dex
        bpl loc_10b7
        lda #$d0
        sta $11ce
        ldx #$07

loc_10cd:
        lda $1198,x
        sta $11d0,x
        lda $1190,x
        sta $11c6,x
        dex
        bpl loc_10cd
        nop
        lda #$10
        sta $11cf
        lda #$00
        sta $11d8
        sta $11d9
        sta $11da
        sta $11dc
        lda #$40
        sta $11db
        lda #$80
        sta $11dd
        jmp loc_1890

dat_10fd:
        .byte $00,$00                               // ..

nmi_10ff:
        rti