#239

Hotline [HTL] 30

Hotline [HTL]

4.473 lines of code

RasterbarsRSTRMusicSIDScrollerSCRL

History

Released
17 May 1988
Code
The Silver Surfer
Graphics
Art
Charset
Tob
Music
Mike (Michael Hendriks) — "Sphinx (2)", MC (Marco Swagerman) — "Parallax"
Group
Hotline [HTL] — Netherlands, founded August 1986

Intro number thirty from Hotline — a remarkably high number that reflects the Dutch group's prolific output. The Silver Surfer coded, Art handled the graphics, and Tob contributed the charset. Two SID tunes are featured: "Sphinx (2)" by Mike (Michael Hendriks) and "Parallax" by MC (Marco Swagerman), both preserved in the HVSC. Released on 17 May 1988, this came during Hotline's most productive period. Hotline was founded in August 1986 in the Netherlands — their motto "Where cracking is an Art" reflected their aspirations. This is the third Hotline entry in the rankings, alongside #5 HTL-03 and #60 HTL-28. The Silver Surfer was Hotline's primary intro coder, appearing in multiple entries documented on Doc Snyder's page. Both musicians — Mike and MC — were part of the FAME music collective associated with the Dutch scene.

Sources: CSDb · Doc Snyder

htl-30.asm 4.473 lines
// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:22
// 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:  $19c0 (6592)
// IRQ handler:  $1a04 (irq_1a04)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 4261 bytes, Data: 59227 bytes
// Labels: 514, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $0814-$0818 ---
.pc = $0814 "sub_0814"
// Referenced by: jsr from $1d3a

sub_0814:
        ror $7e73,x
        brk

dat_0818:
        .byte $00                                   // .

// --- Region $0906-$0906 ---
.pc = $0906 "Program $0906"
        brk

// --- Region $0c01-$0c08 ---
.pc = $0c01 "Program $0c01"
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL

dat_0c07:
        .byte $ff,$8c                               // ..

// --- Region $0d20-$0d28 ---
.pc = $0d20 "Program $0d20"
        sbc #$e9
        .byte $83,$83                               // sax ($83,x) // ILLEGAL
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL

dat_0d27:
        .byte $ff,$c9                               // ..

// --- Region $0f08-$0f08 ---
.pc = $0f08 "Program $0f08"
        .byte $02                                   // jam // ILLEGAL

// --- Region $1047-$1591 ---
.pc = $1047 "sub_1047"
// Referenced by: jsr from $1a30, $f0b3

sub_1047:
        tax
        lda $176b,x
        sta $1250
        txa
        asl
        sta $50
        asl
        clc
        adc $50
        tax
        ldy #$05

loc_1059:
        lda $1765,x
        sta $16cf,x
        inx
        dey
        bpl loc_1059
        ldy #$02
        lda #$ff

loc_1067:
        sta $16ae,y
        sta $16e1,y
        dey
        bpl loc_1067
        sta $16e4
        sta $16e5
        rts

loc_1077:
        lda #$fe
        sta $16b7,x

loc_107c:
        jmp loc_12e7
// Referenced by: jsr from $1aec, $f16f

sub_107f:
        ldx #$02
        dec $16e4

loc_1084:
        bit $16e4
        bmi loc_108f
        jmp loc_12e7

loc_108c:
        jmp loc_1174

loc_108f:
        dec $16ae,x
        beq loc_1077
        bpl loc_107c
        bit $16e5
        bmi loc_108c

loc_109b:
        ldy $16b1,x
        lda $166a,y
        sta $50
        lda $1677,y
        sta $51
        ldy $16b4,x

loc_10ab:
        lda ($50),y
        cmp #$ff
        bne loc_10b4
        jmp loc_1174

loc_10b4:
        bmi loc_10b9
        jmp loc_11bf

loc_10b9:
        cmp #$a0
        bcs loc_10c6
        and #$1f
        sta $16de,x
        iny
        jmp loc_10ab

loc_10c6:
        cmp #$c0
        bcs loc_10d6
        and #$1f
        asl