#277

Hotline [HTL] 15

Hotline [HTL]

887 lines of code

ScrollerSCRLSpritesSPRT

History

Released
23 February 1988
Code
Lethal
Charset
The Mercenary Cracker
Group
Hotline — Netherlands, founded August 1986

Hotline Intro #15, released on 23 February 1988, is a crack intro from the influential Dutch group Hotline. The code is by Lethal, with a charset contribution from The Mercenary Cracker -- a key Hotline member who also coded the group's iconic #10 Hotline Intro #3. Founded in August 1986 in the Netherlands with the motto "Where cracking is an Art," Hotline built one of the strongest reputations in European cracking circles. The group's intro roster on Doc Snyder's Page features an impressive lineup of musicians, including Jeroen Tel, EVS (Edwin van Santen), Marc Buttery, and Charles Deenen. Hotline is extensively represented in this ranking, with additional entries at #23 HTL Intro #28 and #290 HTL Intro #22, among others.

Sources: CSDb · intros.c64.org · Doc Snyder's Page

htl-15.asm 887 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: $14ff  (3328 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0ec0 (3776)
// IRQ handler:  $0f6f (irq_0f6f)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 694 bytes, Data: 2634 bytes
// Labels: 94, Subroutines: 9
//
// Cross-references: all OK
// ============================================


// --- Region $0cf0-$0cf0 ---
.pc = $0cf0 "Program $0cf0"
        brk

// --- Region $0ec0-$0f4e ---
.pc = $0ec0 "main_0ec0"

main_0ec0:
        sei
        lda #$00
        sta $0277
        sta $0286
        sta $d011
        sta $d020
        sta $d021
        sta $07ff
        sta $f8
        sta $f9
        sta $fb
        sta $ff
        tax
        lda #$01

loc_0ee0:
        sta $d027,x
        inx
        cpx #$08
        bne loc_0ee0
        lda #$c7
        sta $fc
        sta $fd
        sta $fe
        jsr $e544
        ldx #$00

loc_0ef5:
        lda chr_0f4d,x
        sta $0640,x
        inx
        cpx #$08
        bne loc_0ef5
        ldx #$00

loc_0f02:
        lda $0f55,x
        sta $0687,x
        inx
        cpx #$1a
        bne loc_0f02
        sta $40
        lda #$2e
        ldx #$00

loc_0f13:
        sta $07f8,x
        sec
        sbc #$01
        inx
        cpx #$07
        bne loc_0f13
        lda #$ff
        sta $d015
        lda #$12
        sta $d018
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$6f
        ldy #$0f
        sta $0314
        sty $0315
        lda #$20
        sta $d012
        lda #$1b
        sta $d011
        lda #$01
        sta $d019
        cli

loc_0f4a:
        jmp loc_0f4a

chr_0f4d:
        // === Charset data (2 bytes, $0f4d-$0f4e) ===
        .byte $10,$12                               // char 0 (partial)

// --- Region $0f6f-$0fee ---
.pc = $0f6f "irq_0f6f"

irq_0f6f:
        jsr sub_1009

loc_0f72:
        lda $d012
        cmp #$d0
        bne loc_0f72
        lda $fc
        sta $d016

loc_0f7e:
        lda $d012
        cmp #$dc
        bne loc_0f7e
        lda $fd
        sta $d016

loc_0f8a:
        lda $d012
        cmp #$f0
        bne loc_0f8a
        lda $fe
        sta $d016

loc_0f96:
        lda $d012
        cmp #$fb
        bne loc_0f96
        lda #$c8
        sta $d016
        jsr sub_108e
        jsr sub_10c6
        jsr sub_10c6
        jsr sub_10fe
        jsr sub_10fe
        jsr sub_10fe
        jsr sub_1136
        lda $dc01
        cmp #$ef
        beq loc_0fc1