#557

Hokuto Force [HF] 15

Hokuto Force [HF]

2.028 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
January 2005
Code
Richard
Graphics
RRR
Music
Chubrock (Istvan Szodenyi Jr.) — "Oriental", Linus (Sascha Zeidler) — "Streets of Kleve"
Group
Hokuto Force — Italy, founded 1988

A crack intro from Hokuto Force — an Italian group founded in 1988 whose motto "To Serve and Preserve" reflects their dedication to C64 software preservation well into the 21st century. Released in January 2005, this intro demonstrates the group's continued activity nearly two decades after their founding. Richard handled the code, RRR provided the graphics, and two musicians contributed tracks: Chubrock with "Oriental" and Linus with "Streets of Kleve." Hokuto Force maintained active collaborations with other preservation-focused groups — Doc Snyder's page documents joint releases with Alpha Flight and Excess, among others. The group's website at hokutoforce.c64.org served as a hub for their releases. Chubrock and Linus represent the international reach of the group's musical network, with contributors from Hungary and Germany respectively. By 2005, much of the C64 scene had shifted from cracking commercial software to preserving and fixing older titles, and Hokuto Force became one of the most prominent groups in this preservation movement.

Sources: CSDb · docsnyderspage

hf-15.asm 2.028 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:46
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $33ff  (11264 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $080b (2059)
// IRQ handler:  $098c (irq_098c)
//
// Code: 1723 bytes, Data: 9541 bytes
// Labels: 246, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $080b-$0b02 ---
.pc = $080b "main_080b"

main_080b:
        sei
        lda #$30
        sta smc_0a9a                                // SMC: modifies $0a9a
        lda #$32
        sta smc_0ae3                                // SMC: modifies $0ae3
        lda #$00
        sta smc_0ae2                                // SMC: modifies $0ae2
        sta smc_0a99                                // SMC: modifies $0a99
        sta $0338
        sta $0339
        sta $d020
        sta $d021
        tax
        jsr $e536
        lda #$8c
        sta $0314
        lda #$09
        sta $0315
        lda #$00
        sta $d012
        lda #$7f
        sta $dc0d
        sta $dd0d
        lda #$1b
        sta $d011
        lda #$01
        sta $d019
        sta $d01a
        sta $033a
        lda #$00
        tax
        tay
        jsr sub_1000
        cli
        jsr sub_0952
        lda #$01
        sta $0338
        jsr sub_0952
        lda #$01
        sta $0339
        jsr sub_0952
        ldx #$00

loc_0872:
        ldy #$00

loc_0874:
        lda #$0b
        jsr sub_097f
        lda dat_0c00,x
        sta $0400,x
        lda $0d00,x
        sta $0500,x
        lda $0e00,x
        sta $0600,x
        lda $0ee8,x
        sta $06e8,x
        iny
        bne loc_0874
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        bne loc_0872

loc_089f:
        lda #$00
        sta $0340
        lda $0340

loc_08a7:
        cmp $0340
        beq loc_08a7
        jsr sub_0a71
        jsr sub_0aba
        jsr sub_0a51
        lda $dc01
        cmp #$ef
        bne loc_089f
        ldx #$00
        stx dat_0b03

loc_08c1:
        ldy #$00

loc_08c3:
        lda #$20
        jsr sub_0972
        iny
        bne loc_08c3
        inx
        inx
        inx
        inx
        inx
        inx
        inx
        bne loc_08c1
        jsr sub_0962
        lda #$00
        sta $0339
        jsr sub_0962
        lda #$00
        sta $0338
        jsr sub_3300
        sei
        lda #$00
        sta $d01a
        lda #$00
        sta $c6
        jsr $fda3
        ldy #$1f

loc_08f6:
        lda $fd30,y
        sta $0314,y
        dey
        bpl loc_08f6
        jsr $ff5b
        lda #$00
        sta $d020