#440

Hotline [HTL] 17

Hotline [HTL]

3.493 lines of code

RasterbarsRSTRMusicSIDScrollerSCRLSpritesSPRT

History

Released
March 1989
Code
The Silver Surfer
Music
EVS (Edwin van Santen) — "Big Fun Mix"
Graphics
The Syndicate
Charset
Tob
Group
Hotline — Netherlands, founded August 1986

The seventeenth numbered intro from Hotline, released in March 1989. The Silver Surfer handled the code — one of Hotline's most frequently credited coders, also responsible for #5 HTL-03 and other entries in the group's extensive catalogue. EVS (Edwin van Santen) contributed "Big Fun Mix," preserved in the HVSC — Van Santen was a prolific Dutch SID composer who provided music to multiple groups including Warriors of the Wasteland. The Syndicate created the graphics while Tob provided the charset. The division of labour across four contributors reflects Hotline's organized approach to intro production — code, music, graphics, and charset each handled by a specialist. This March 1989 release sits in the middle of Hotline's numbered sequence and represents the group's mature period, more than two years after their August 1986 founding. The collaboration between Silver Surfer and EVS was a recurring partnership that defined much of Hotline's visual and auditory identity during this era.

Sources: CSDb · docsnyderspage

htl-17.asm 3.493 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:47
// 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:  $0a0c (irq_0a0c)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3598 bytes, Data: 59890 bytes
// Labels: 391, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $09d0-$09d5 ---
.pc = $09d0 "Program $09d0"
        .byte $ff,$ff,$e7                           // isc $e7ff,x // ILLEGAL
        .byte $e7,$e7                               // isc $e7 // ILLEGAL

dat_09d5:
        .byte $e7                                   // .

// --- Region $0a00-$0abd ---
.pc = $0a00 "main_0a00"
// Referenced by: jsr from $ea86

main_0a00:
        lda #$00
        sta $d011
        beq loc_0a20

txt_0a07:
        .text "4 TSS"

irq_0a0c:
.label smc_0a0d = * + 1
.label smc_0a0e = * + 2
        jsr sub_0a58                                // !SMC: modified by $0a0f, $0a12
        sta smc_0a0d                                // SMC: modifies $0a0d
        sty smc_0a0e                                // SMC: modifies $0a0e
        stx $d012
        lda #$01
        sta $d019
        jmp loc_ea7e

loc_0a20:
        sta $d020
        sta $d021
        sta $0277
        sta $0286
        jsr $e544
        sei
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$20
        sta $d012
        lda #$0c
        ldy #$0a
        sta $0314
        sty $0315
        jsr sub_0b34
        lda #$1b
        sta $d011
        lda #$01
        sta $d019
        cli
        jmp loc_0b80
// Referenced by: jsr from $0a0c, $ec46

sub_0a58:
        sei
        lda #$d8
        sta dat_d016
        lda #$18
        sta $d018
        jsr sub_0c37
        lda #$6d
        ldy #$0a
        ldx #$2b
        rts

loc_0a6d:
        sei
        ldx #$10

loc_0a70:
        lda $d012

loc_0a73:
        cmp $d012
        beq loc_0a73
        and #$07
        ora #$10
        sta $d011
        dex
        bne loc_0a70
        ldx #$01

loc_0a84:
        dex
        bne loc_0a84
        ldx #$00
        lda #$d3
        sta dat_d016

loc_0a8e:
        lda $1000,x
        ldy $1058,x

loc_0a94:
        dey
        bne loc_0a94
        sta $d020
        sta $d021
        inx
        cpx #$58
        bne loc_0a8e
        ldx #$03

loc_0aa4:
        dex
        bne loc_0aa4
        sty $d020
        sty $d021
        lda #$12
        sta $d018
        lda $0a6f
        clc
        adc #$88
        tax
        lda #$be
        ldy #$0a
        rts

// --- Region $0aed-$0ca0 ---
.pc = $0aed "loc_0aed"

loc_0aed:
        sei
        lda #$00
        sta $d021
        ldx #$0e