// ============================================
// htl_inc-01 - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:17
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $1aff  (4864 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $19a1 (6561)
// IRQ handler:  $149c (irq_149c)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 1099 bytes, Data: 3765 bytes
// Labels: 198, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $0cb8-$0ce1 ---
.pc = $0cb8 "loc_0cb8"

loc_0cb8:
        lda $ff
        beq loc_0cc9
        lda #$00
        sta $ff
        jsr sub_14e0
        jsr sub_1570
        jmp loc_0cb8

loc_0cc9:
        lda $dc01
        cmp #$ef
        bne loc_0cb8
        jmp loc_144a

loc_0cd3:
        lda #$03
        sta $d022
        lda #$0e
        sta $d023
        jmp loc_0db8

chr_0ce0:
        // === Charset data (2 bytes, $0ce0-$0ce1) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $0d00-$0d77 ---
.pc = $0d00 "sub_0d00"
// Referenced by: jsr from $14a4, $14bb; branch from $0d0e

sub_0d00:
        ldy #$08
        clc

loc_0d03:
        lda chr_0d78,x
        sta $d021
        sta $d020
        inx
        dey
        beq sub_0d00
        jsr sub_0d27
        jsr sub_0d27
        jsr sub_0d27

smc_0d19:
        nop                                         // !SMC: modified by $19a9

smc_0d1a:
        nop                                         // !SMC: modified by $19b4
        cpx #$09
        bne loc_0d03
        lda #$00
        sta $d021
        sta $d020
// Referenced by: jsr from $0d10, $0d13, $0d16

sub_0d27:
        rts
// Referenced by: jsr from $14d2; branch from $0d36

sub_0d28:
        ldy #$08
        clc

loc_0d2b:
        lda $0d81,x
        sta $d021
        sta $d020
        inx
        dey
        beq sub_0d28
        jsr sub_0d4f
        jsr sub_0d4f
        jsr sub_0d4f

smc_0d41:
        nop                                         // !SMC: modified by $19ac

smc_0d42:
        nop                                         // !SMC: modified by $19b7
        cpx #$09
        bne loc_0d2b
        lda #$01
        sta $d021
        sta $d020
// Referenced by: jsr from $0d38, $0d3b, $0d3e

sub_0d4f:
        rts
// Referenced by: jsr from $155c; branch from $0d5e

sub_0d50:
        ldy #$08
        clc

loc_0d53:
        lda $0d89,x
        sta $d021
        sta $d020
        inx
        dey
        beq sub_0d50
        jsr sub_0d77
        jsr sub_0d77
        jsr sub_0d77

smc_0d69:
        nop                                         // !SMC: modified by $19af

smc_0d6a:
        nop                                         // !SMC: modified by $19ba
        cpx #$09
        bne loc_0d53
        lda #$00
        sta $d021
        sta $d020
// Referenced by: jsr from $0d60, $0d63, $0d66

sub_0d77:
        rts

// --- Region $0db8-$0dcf ---
.pc = $0db8 "loc_0db8"

loc_0db8:
        ldx #$00

loc_0dba:
        lda chr_0dce,x
        sta $06a9,x
        lda $0dd2,x
        sta $0743,x
        inx
        cpx #$04
        bne loc_0dba
        jmp loc_0cb8

chr_0dce:
        // === Charset data (2 bytes, $0dce-$0dcf) ===
        .byte $9c,$9d                               // char 0 (partial)

// --- Region $0ef0-$0efe ---
.pc = $0ef0 "loc_0ef0"

loc_0ef0:
        lda #$18
        sta smc_1948                                // SMC: modifies $1948
        lda #$28
        sta smc_1981                                // SMC: modifies $1981
        jmp loc_0cd3

chr_0efd:
        // === Charset data (2 bytes, $0efd-$0efe) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $1300-$1317 ---
.pc = $1300 "sub_1300"
// Referenced by: jsr from $1561

sub_1300:
        lda #$00
        lda $1301
        cmp #$01
        beq loc_133e
        ldy #$05
        lda dat_13c4,y
        sta $f0
        inc $130a
        iny
        cpy #$30
        bne loc_1322

// --- Region $1322-$134c ---
.pc = $1322 "loc_1322"

loc_1322:
        lda $f0
        sta smc_132e                                // SMC: modifies $132e
        ldy #$00
        lda smc_14a8
        sec
.label smc_132e = * + 1
        sbc #$03                                    // !SMC: modified by $1324
        sta smc_14a8                                // SMC: modifies $14a8
        bcc loc_1335
        rts

loc_1335:
        and #$07
        sta smc_14a8                                // SMC: modifies $14a8
        jsr sub_1386
        rts

loc_133e:
        ldy #$00
        lda dat_13c4,y
        sta $f0
        inc $133f
        iny
        cpy #$30
        bne loc_1357

// --- Region $1357-$13c3 ---
.pc = $1357 "loc_1357"

loc_1357:
        lda $f0
        sta smc_1363                                // SMC: modifies $1363
        ldy #$00
        lda smc_14a8
        clc
.label smc_1363 = * + 1
        adc #$01                                    // !SMC: modified by $1359
        sta smc_14a8                                // SMC: modifies $14a8
        cmp #$08
        bcs loc_136c
        rts

loc_136c:
        and #$07
        sta smc_14a8                                // SMC: modifies $14a8
        dec $139b
        dec $13a1
        dec $13a7
        dec $13ad
        dec $13b3
        dec $13b9
        jmp loc_1398
// Referenced by: jsr from $133a

sub_1386:
        inc $139b
        inc $13a1
        inc $13a7
        inc $13ad
        inc $13b3
        inc $13b9

loc_1398:
        ldy #$00

loc_139a:
        lda $100d,y
        sta $0478,y
        lda $108d,y
        sta $04a0,y
        lda $110d,y
        sta $04c8,y
        lda $118d,y
        sta $04f0,y
        lda $120d,y
        sta $0518,y
        lda $128d,y
        sta $0540,y
        iny
        cpy #$28
        bne loc_139a
        rts

// --- Region $13f4-$1567 ---
.pc = $13f4 "loc_13f4"

loc_13f4:
        lda #$08
        jsr $ffd2
        jsr $ff81
        lda #$00
        tax
        sta $19ff
        sta smc_1917                                // SMC: modifies $1917
        sta $19fe

loc_1408:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_1408
        lda #$0e

loc_1419:
        sta $d877,x
        inx
        cpx #$ff
        bne loc_1419
        sei
        lda #$7f                                    // disable all CIA1 interrupts
        sta $dc0d                                   // disable all CIA IRQs
        lda #$01
        sta $d01a                                   // raster IRQ on
        lda #$12
        sta $d018                                   // screen=$0400, charset=$0800
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        lda #$3a
        sta $d012
        lda #$9c
        sta $0314                                   // set IRQ handler low byte
        lda #$14
        sta $0315                                   // set IRQ handler high byte
        cli
        jmp loc_0ef0

dat_1449:
        .byte $00                                   // .

loc_144a:
        sei
        lda #$f0
        sta $d01a                                   // all IRQs off
        lda #$31
        ldy #$ea
        sta $0314                                   // set IRQ handler low byte
        sty $0315
        cli
        jsr $fda3
        jsr $e518
        jsr $e544
        ldx #$00

loc_1466:
        lda loc_1479,x
        sta $0400,x
        inx
        cpx #$24
        bne loc_1466
        jmp loc_1a78

dat_1474:
        .byte $00,$00,$00,$00,$00                   // .....

loc_1479:
        ldx #$00

loc_147b:
        lda $1b00,x
        sta $0801,x
        inx
        bne loc_147b
        inc $0407
        inc $0404

loc_148a:
        bne loc_1479
        lda #$37
        sta $01
        lda #$00
        sta chr_0800
        cli
        jmp $fce2

dat_1499:
        .byte $4c,$0d,$08                           // L..

// ============================================
// IRQ handler
// ============================================

irq_149c:
        rol $d019
.label smc_14a0 = * + 1
        ldx #$04                                    // !SMC: modified by $19bf

loc_14a1:
        dex
        bne loc_14a1
        jsr sub_0d00
.label smc_14a8 = * + 1
        lda #$06                                    // !SMC: modified by $132f, $1337, $1364, $136e
        clc
        adc #$10
        sta $d016                                   // hires, 38 cols, X-scroll=6
        lda #$81

loc_14b1:
        cmp $d012
        bne loc_14b1
.label smc_14b7 = * + 1
        ldx #$18                                    // !SMC: modified by $19c4

loc_14b8:
        dex
        bne loc_14b8
        jsr sub_0d00
        lda #$c8
        sta $d016                                   // hires, 40 cols, X-scroll=0
        jsr sub_15c0
        lda #$a1

loc_14c8:
        cmp $d012
        bne loc_14c8
.label smc_14ce = * + 1
        ldx #$18                                    // !SMC: modified by $19c7

loc_14cf:
        dex
        bne loc_14cf
        jsr sub_0d28
        lda #$b1

loc_14d7:
        cmp $d012
        bne loc_14d7
        jmp loc_1530

dat_14df:
        .byte $00                                   // .
// Referenced by: jsr from $0cc0

sub_14e0:
        nop
.label smc_14e2 = * + 1
        ldy #$1c                                    // !SMC: modified by $14f8
        ldx dat_1600,y

loc_14e6:
        jsr sub_14fe
        dex
        bne loc_14e6
        inc smc_14e2
        lda smc_14e2
        cmp #$80
        bne loc_14fb
        lda #$00
        sta smc_14e2                                // SMC: modifies $14e2

loc_14fb:
        jmp loc_152e
// Referenced by: jsr from $14e6

sub_14fe:
        dec $fc
        ldy $fc
        cpy #$bf
        bne loc_152e
        lda #$c7
        sta $fc
        ldy #$00

loc_150c:
        lda $0681,y
        sta $0680,y
        iny
        cpy #$28
        bne loc_150c
.label smc_1518 = * + 1
        ldy #$00                                    // !SMC: modified by $1520
        lda txt_1700,y
        bne loc_1525
        lda #$ff
        sta smc_1518                                // SMC: modifies $1518
        lda #$20

loc_1525:
        clc
        adc #$c0
        sta $06a7
        inc smc_1518

loc_152e:
        rts

dat_152f:
        .byte $00                                   // .

loc_1530:
        lda $fc
        sta $d016
        lda #$bb

loc_1537:
        cmp $d012
        bne loc_1537
        lda #$c8
        sta $d016                                   // hires, 40 cols, X-scroll=0
        lda #$da

loc_1543:
        cmp $d012
        bne loc_1543
        lda $fd
        sta $d016
        jsr sub_1900
        lda #$e9

loc_1552:
        cmp $d012
        bne loc_1552
        ldx #$19

loc_1559:
        dex
        bne loc_1559
        jsr sub_0d50
        inc $ff
        jsr sub_1300
        jmp $ea7e

dat_1567:
        .byte $00                                   // .

// --- Region $1570-$15e0 ---
.pc = $1570 "sub_1570"
// Referenced by: jsr from $0cc3

sub_1570:
        nop
.label smc_1572 = * + 1
        ldy #$5a                                    // !SMC: modified by $1588
        ldx dat_1600,y

loc_1576:
        jsr sub_158e
        dex
        bne loc_1576
        inc smc_1572
        lda smc_1572
        cmp #$80
        bne loc_158b
        lda #$00
        sta smc_1572                                // SMC: modifies $1572

loc_158b:
        jmp loc_15be
// Referenced by: jsr from $1576

sub_158e:
        dec $fd
        ldy $fd
        cpy #$bf
        bne loc_15be
        lda #$c7
        sta $fd
        ldy #$00

loc_159c:
        lda $0749,y
        sta $0748,y
        iny
        cpy #$28
        bne loc_159c
.label smc_15a8 = * + 1
        ldy #$00                                    // !SMC: modified by $15b0
        lda txt_1800,y
        bne loc_15b5
        lda #$ff
        sta smc_15a8                                // SMC: modifies $15a8
        lda #$20

loc_15b5:
        clc
        adc #$c0
        sta $076f
        inc smc_15a8

loc_15be:
        rts

dat_15bf:
        .byte $00                                   // .
// Referenced by: jsr from $14c3

sub_15c0:
        ldy #$00
        ldx smc_14e2
        lda $1680,x

loc_15c8:
        sta $daa9,y
        iny
        cpy #$04
        bne loc_15c8
        ldy #$00
        ldx smc_1572
        lda $1680,x

loc_15d8:
        sta $db43,y
        iny
        cpy #$04
        bne loc_15d8
        rts

// --- Region $1900-$19cd ---
.pc = $1900 "sub_1900"
// Referenced by: jsr from $154d

sub_1900:
        lda $19ff
        cmp #$00
        beq loc_1914
        cmp #$01
        beq loc_1945
        cmp #$02
        beq loc_1968
        cmp #$03
        beq loc_197e
        rts

loc_1914:
        ldx #$00

loc_1916:
.label smc_1917 = * + 1
        lda txt_1a00,x                              // !SMC: modified by $1402, $1931, $193c
        clc
        adc #$c0
        sta $05e0,x
        inx
        cpx #$28
        bne loc_1916
        lda smc_1917
        cmp #$50
        beq loc_193a
        lda smc_1917
        clc
        adc #$28
        sta smc_1917                                // SMC: modifies $1917
        lda #$01
        sta $19ff
        rts

loc_193a:
        lda #$00
        sta smc_1917                                // SMC: modifies $1917
        lda #$01
        sta $19ff
        rts

loc_1945:
        ldx #$00

loc_1947:
.label smc_1948 = * + 1
        lda $0f18                                   // !SMC: modified by $0ef2, $195f
        sta $d9e0,x
        inx
        cpx #$28
        bne loc_1947
        lda smc_1948
        cmp #$27
        beq loc_195d
        inc smc_1948
        rts

loc_195d:
        lda #$18
        sta smc_1948                                // SMC: modifies $1948
        lda #$02
        sta $19ff
        rts

loc_1968:
        lda $19fe
        cmp #$b0
        beq loc_1973
        inc $19fe
        rts

loc_1973:
        lda #$00
        sta $19fe
        lda #$03
        sta $19ff
        rts

loc_197e:
        ldx #$00

loc_1980:
.label smc_1981 = * + 1
        lda $0f28                                   // !SMC: modified by $0ef7, $1998
        sta $d9e0,x
        inx
        cpx #$28
        bne loc_1980
        lda smc_1981
        cmp #$37
        beq loc_1996
        inc smc_1981
        rts

loc_1996:
        lda #$28
        sta smc_1981                                // SMC: modifies $1981
        lda #$00
        sta $19ff
        rts

main_19a1:
        sei
        lda $02a6
        bne loc_19ca
        lda #$a1
        sta smc_0d19                                // SMC: modifies $0d19
        sta smc_0d41                                // SMC: modifies $0d41
        sta smc_0d69                                // SMC: modifies $0d69
        lda #$20
        sta smc_0d1a                                // SMC: modifies $0d1a
        sta smc_0d42                                // SMC: modifies $0d42
        sta smc_0d6a                                // SMC: modifies $0d6a
        lda #$05
        sta smc_14a0                                // SMC: modifies $14a0
        lda #$19
        sta smc_14b7                                // SMC: modifies $14b7
        sta smc_14ce                                // SMC: modifies $14ce

loc_19ca:
        jmp loc_13f4

dat_19cd:
        // === Fill data (1 bytes, $19cd-$19cd) ===
        .byte $00                                   // .

// --- Region $1a78-$1aab ---
.pc = $1a78 "loc_1a78"

loc_1a78:
        lda #$00
        sta $d020
        sta $d021
        ldx #$00

loc_1a82:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_1a82
        ldx #$00

loc_1a93:
        lda txt_1ab0,x
        sta $05e0,x
        lda #$01
        sta $d9e0,x
        inx
        cpx #$28
        bne loc_1a93
        sei
        lda #$34
        sta $01
        jmp $0400

dat_1aab:
        .byte $00                                   // .

// ============================================
// Data blocks
// ============================================

// --- Region $0800-$0cb7 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (1208 bytes, $0800-$0cb7) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $bf,$00,$55,$00,$ff,$aa,$55,$aa       // char 1 @+1
        .byte $ff,$00,$51,$13,$d3,$93,$53,$93       // char 2 @+2
        .byte $ff,$00,$55,$00,$ff,$aa,$55,$aa       // char 3 @+3
        .byte $ff,$00,$54,$04,$f4,$a4,$54,$a4       // char 4 @+4
        .byte $c0,$c3,$cc,$f0,$c3,$ce,$0d           // char 5 (partial)

txt_082f:
        .byte $3a                                   // char 5 (partial)
        .byte $3f,$c0,$05,$f0,$ff,$aa,$55,$ab       // char 6 @+6
        .byte $ff,$00,$54,$01,$ff,$aa,$55,$fa       // char 7 @+7
        .byte $00,$f0,$0c,$43,$d0,$a4,$54,$a9       // char 8 @+8
        .byte $ae,$80,$c5,$8c,$cf,$ce,$0d,$0f       // char 9 @+9
        .byte $bf,$00,$55,$00,$ff,$aa,$55,$ff       // char 10 @+10
        .byte $ff,$00,$55,$00,$ff,$aa,$55,$af       // char 11 @+11
        .byte $ff,$00,$55,$01,$fd,$a9,$55,$fd       // char 12 @+12
        .byte $ff,$00,$15,$30,$3f,$3a,$35,$3a       // char 13 @+13
        .byte $fc,$0c                               // char 14 (partial)

txt_0872:
        .byte $4c,$4c,$4c,$4c,$4c,$4c               // char 14 (partial)
        .byte $2b,$20,$31,$23,$33,$33,$33,$33       // char 15 @+15
        .byte $af,$00,$55,$00,$ff,$aa,$55,$aa       // char 16 @+16
        .byte $ff,$00,$54,$04,$f4,$a4,$54,$a4       // char 17 @+17
        .byte $ff,$00,$55,$c0,$ff,$ea,$d5,$ea       // char 18 @+18
        .byte $ff,$00,$55,$00,$ff,$aa,$55,$ab       // char 19 @+19
        .byte $ff,$00,$54,$01,$ff,$aa,$55,$ea       // char 20 @+20
        .byte $00,$f0,$0c,$43,$d0,$a4,$54,$a9       // char 21 @+21
        .byte $00,$00,$00,$03,$cc,$cc,$30,$33       // char 22 @+22
        .byte $03,$3c,$c0,$0f,$3f,$ea,$d5,$aa       // char 23 @+23
        .byte $ff,$00,$55,$00,$ff,$aa,$55,$ab       // char 24 @+24
        .byte $ff,$00,$55,$00,$ff,$aa,$55,$ff       // char 25 @+25
        .byte $ee,$00,$54,$04,$f4,$a4,$54,$f4       // char 26 @+26
        .byte $80,$80,$c0,$80,$80,$c0,$c0,$c0       // char 27 @+27
        .byte $cf,$cc,$cd,$ce,$cf,$cc,$ce,$cf       // char 28 @+28
        .byte $ff,$00,$55,$aa,$ff,$00,$aa,$ff       // char 29 @+29
        .byte $d3,$13,$53,$93,$d3,$13,$93,$d3       // char 30 @+30
        .byte $f4,$04,$54,$a4,$f4,$04,$a4,$f4       // char 31 @+31
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 32 ' '

txt_0908:
        .byte $3f,$30,$d5,$ea,$ff,$c0,$ea,$ff       // char 33 '!'
        .byte $fd,$01,$55,$a9,$fd,$01,$a9,$fd       // char 34 '"'

txt_0918:
        .byte $3f,$30,$35,$3a,$3f,$30,$3a,$3f       // char 35 '#'
        .byte $fd,$01,$55,$aa,$ff,$00,$aa,$ff       // char 36 '$'
        .byte $00,$0f                               // char 37 (partial)

txt_092a:
        .byte $4c,$4c,$4c,$4c,$4c,$4c               // char 37 (partial)
        .byte $03,$f3                               // char 38 (partial)

txt_0932:
        .byte $33,$33,$33,$33,$33,$33               // char 38 (partial)
        .byte $f4,$04,$54,$a4,$f4,$04,$a4,$f4       // char 39 '''
        .byte $00,$ff,$c3,$c3,$c3,$c3,$c3,$c3       // char 40 '('

txt_0948:
        .byte $3f,$30,$35,$3a,$3f,$30,$3a,$3f       // char 41 ')'
        .byte $4c,$4c,$4c,$4c,$4c,$4c,$4c,$4c       // char 42 '*'
        .byte $33,$33,$33,$33,$33,$33,$33,$33       // char 43 '+'
        .byte $ff,$c0,$d5,$ea,$ff,$c0,$ea,$ff       // char 44 ','
        .byte $fd,$01,$55,$aa,$ff,$00,$aa,$ff       // char 45 '-'
        .byte $33,$03                               // char 46 (partial)

txt_0972:
        .byte $4d,$4e,$4f,$4c,$4e,$4f               // char 46 (partial)
        .byte $f4,$04,$50,$93,$d3,$13,$93,$d3       // char 47 '/'
        .byte $00,$ff,$c0,$00,$00,$00,$00,$00       // char 48 '0'
        .byte $00,$ff,$00,$00,$00,$00,$00,$00       // char 49 '1'
        .byte $c0,$c0,$00,$00,$00,$00,$00,$00       // char 50 '2'
        .byte $cc,$cf,$cc,$cc,$cc,$cc,$cc,$cc       // char 51 '3'
        .byte $00,$ff,$00,$20,$00,$0c,$08,$e6       // char 52 '4'
        .byte $13,$d3,$13,$13,$15,$00,$0e,$c0       // char 53 '5'
        .byte $00,$ff,$00,$08,$c0,$80,$6c,$80       // char 54 '6'
        .byte $04,$f4,$04,$04,$04,$04,$84,$04       // char 55 '7'
        .byte $c0,$ff,$c0,$c3,$c0,$c0,$cc,$c0       // char 56 '8'
        .byte $01,$fd,$21,$99,$21,$31,$01,$01       // char 57 '9'

txt_09d0:
        .byte $30,$3f,$33,$32,$39,$32,$33,$30       // char 58 ':'
        .byte $00,$ff,$00,$04,$b0,$00,$0c           // char 59 (partial)

txt_09df:
        .byte $20                                   // char 59 (partial)
        .byte $30,$3f,$30,$30,$33,$30,$32,$30       // char 60 '<'
        .byte $00,$ff,$30,$20,$9b,$20,$30,$00       // char 61 '='
        .byte $00,$ff,$00,$00,$10,$00,$00,$33       // char 62 '>'
        .byte $04,$f4,$04,$84,$04,$04,$04,$04       // char 63 '?'
        .byte $c3,$c3,$c3,$c3,$c3,$c3,$c3,$c3       // char 64 '@'
        .byte $cc,$cc,$cc,$cc,$cc,$cc,$cf,$cc       // char 65 'A'
        .byte $00,$ff,$08,$40,$0e,$20,$00,$30       // char 66 'B'
        .byte $04,$f4,$c4,$84,$64,$84,$c4,$04       // char 67 'C'
        .byte $c0,$ff,$c0,$c0,$c3,$c0,$c0,$c8       // char 68 'D'
        .byte $01,$fd,$01,$01,$21,$01,$01           // char 69 (partial)

txt_0a2f:
        .byte $31                                   // char 69 (partial)
        .byte $30,$3f,$33,$32,$39,$32,$33,$30       // char 70 'F'
        .byte $00,$ff,$00,$00,$b0,$08,$00,$00       // char 71 'G'

txt_0a40:
        .byte $4c,$4f,$4c,$4c,$4c,$4c,$4c,$4c       // char 72 'H'
        .byte $00,$ff,$00,$08,$40,$00,$03,$02       // char 73 'I'
        .byte $13,$d3,$13,$13,$10,$15,$00,$08       // char 74 'J'
        .byte $00,$00,$00,$fc,$0c,$4c,$4c,$4c       // char 75 'K'
        .byte $08,$0c,$00,$42,$00,$00,$ff,$00       // char 76 'L'
        .byte $00,$3f,$13,$13,$13,$13,$d3,$13       // char 77 'M'
        .byte $c0,$00,$01,$00,$30,$00,$ff,$00       // char 78 'N'
        .byte $04,$04,$04,$04,$04,$04,$f4,$04       // char 79 'O'
        .byte $c0,$c0,$e0,$c0,$cc,$c0,$ff,$c0       // char 80 'P'
        .byte $21,$01,$41,$01,$21,$01,$fd,$01       // char 81 'Q'

txt_0a90:
        .byte $31,$30,$30,$3e,$30,$30,$3f,$30       // char 82 'R'
        .byte $00,$c0,$80,$6c,$80,$c0,$ff,$00       // char 83 'S'
        .byte $20,$9b,$20,$30,$00,$00,$ff,$00       // char 84 'T'
        .byte $04,$04,$04,$44,$04,$04,$f4,$04       // char 85 'U'

txt_0ab0:
        .byte $30,$30,$33,$30,$30,$30,$3f,$30       // char 86 'V'
        .byte $04,$00,$08,$00,$40,$00,$ff,$00       // char 87 'W'
        .byte $20,$9b,$20,$30,$04,$00,$ff,$00       // char 88 'X'
        .byte $c0,$c3,$c0,$c4,$c0,$c0,$ff,$c0       // char 89 'Y'
        .byte $21,$99,$21,$31,$01,$01,$fd,$01       // char 90 'Z'

txt_0ad8:
        .byte $30,$30,$30,$30,$32,$30,$3f,$30       // char 91 '['
        .byte $0c,$40,$00,$08,$00,$00,$ff,$00       // char 92 '\'

txt_0ae8:
        .byte $4e,$4c,$4c,$4c,$4c,$4c,$4f,$4c       // char 93 ']'
        .byte $39,$02,$03,$c0,$08,$00,$ff,$00       // char 94 '^'
        .byte $b0,$00,$3f,$10,$13,$13,$d3,$13       // char 95 '_'
        .byte $4c,$4c,$4c,$0c,$fc,$00,$00,$00       // char 96 '`'
        .byte $cf,$ce,$cc,$cf,$ce,$cd,$cc,$cf       // char 97 'a'
        .byte $ff,$aa,$00,$ff,$aa,$55,$00,$ff       // char 98 'b'
        .byte $d3,$93,$13,$d3,$93,$53,$13,$d3       // char 99 'c'
        .byte $f4,$a4,$04,$f4,$a4,$54,$04,$f4       // char 100 'd'
        .byte $ff,$ea,$c0,$ff,$ea,$d5,$30,$3f       // char 101 'e'
        .byte $fd,$a9,$01,$fd,$a9,$55,$01,$fd       // char 102 'f'

txt_0b38:
        .byte $3f,$3a,$30,$3f,$3a,$35,$30,$3f       // char 103 'g'
        .byte $ff,$aa,$00,$ff,$aa,$55,$01,$fd       // char 104 'h'

txt_0b48:
        .byte $4c,$4c,$4c,$4c,$4c,$4c,$0c           // char 105 (partial)

txt_0b4f:
        .byte $30                                   // char 105 (partial)
        .byte $3f,$3a,$30,$3f,$3a,$35,$30,$3f       // char 106 'j'
        .byte $4c,$4c,$4c,$4c,$4c,$4c,$4f,$40       // char 107 'k'
        .byte $00,$00,$00,$00,$00,$00,$ff,$00       // char 108 'l'

txt_0b68:
        .byte $33,$33,$33,$33,$33,$33,$f3,$03       // char 109 'm'
        .byte $ff,$ea,$c0,$ff,$ea,$d5,$c0,$ff       // char 110 'n'
        .byte $fd,$a9,$01,$fd,$a9,$55,$01,$fd       // char 111 'o'

txt_0b80:
        .byte $3f,$3a,$30,$3f,$3a,$35,$30,$3f       // char 112 'p'
        .byte $4f,$4e,$4c,$4f,$4e,$4d,$43,$43       // char 113 'q'
        .byte $d3,$93,$13,$d3,$93,$50,$04,$f4       // char 114 'r'
        .byte $00,$00,$00,$00,$00,$c0,$ff,$00       // char 115 's'
        .byte $00,$00,$00,$00,$00,$00,$ff,$00       // char 116 't'
        .byte $00,$00,$00,$00,$00,$00,$c0,$c0       // char 117 'u'
        .byte $ce,$cd,$ce,$cf,$8c,$cf,$80,$ae       // char 118 'v'
        .byte $aa,$55,$aa,$ff,$00,$ff,$00,$bf       // char 119 'w'
        .byte $93,$53,$93,$d3,$13,$d3,$00,$ff       // char 120 'x'
        .byte $aa,$55,$aa,$ff,$00,$ff,$00,$ff       // char 121 'y'
        .byte $a4,$54,$a4,$f4,$04,$f4,$00,$ff       // char 122 'z'
        .byte $3a,$0d,$ce,$c3,$e0,$cc,$c2,$c0       // char 123 '{'
        .byte $a9,$55,$aa,$ff,$f0,$0f,$80           // char 124 (partial)

txt_0be7:
        .byte $3a                                   // char 124 (partial)
        .byte $5a,$55,$aa,$ff,$01,$fc,$00,$ff       // char 125 '}'
        .byte $a9,$54,$a4,$d0,$43,$0c,$f0,$00       // char 126 '~'

txt_0bf8:
        .byte $30,$30,$c0,$c0,$00,$00,$00,$00       // char 127

txt_0c00:
        .byte $33,$33,$33,$33,$23,$33,$20,$2b       // char 128
        .byte $aa,$55,$aa,$ff,$00,$ff,$00,$af       // char 129
        .byte $a4,$54,$a4,$f4,$04,$f4,$00,$ff       // char 130
        .byte $c3,$c3,$c3,$c3,$c2,$c3,$c2,$c2       // char 131

txt_0c20:
        .byte $3a,$35,$3a,$3f,$30,$3f,$00,$ba       // char 132
        .byte $53,$53,$93,$d3,$13,$d3,$00,$ff       // char 133
        .byte $c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0       // char 134
        .byte $a4,$54,$a4,$f4,$04,$f4,$00,$ff       // char 135
        .byte $ea,$d5,$ea,$ff,$c0,$ff,$00,$ff       // char 136
        .byte $a9,$55,$a9,$fd,$01,$fd,$00,$ff       // char 137

txt_0c50:
        .byte $3a,$35,$3a,$3f,$30,$3f,$00,$ff       // char 138

txt_0c58:
        .byte $43,$40,$40,$4c,$4e,$4c,$0c,$fc       // char 139
        .byte $aa,$d5,$ea,$3f,$0f,$c0,$28,$03       // char 140
        .byte $a9,$55,$aa,$ff,$00,$ff,$00,$af       // char 141

txt_0c70:
        .byte $54,$54,$a4,$f4,$04,$f4,$00,$ff       // char 142
        .byte $13,$d3,$13,$13,$13,$13,$13,$13       // char 143
        .byte $93,$13,$13,$13,$13,$13,$d3,$13       // char 144
        .byte $03,$08,$20,$10,$55,$80,$80,$c0       // char 145
        .byte $f3,$22,$22,$11,$51,$22,$22,$33       // char 146
        .byte $00,$80,$20,$10,$04,$08,$02,$00       // char 147
        .byte $cf,$88,$88,$44,$44,$88,$88,$cf       // char 148
        .byte $f0,$08,$02,$01,$01,$02,$08,$f0       // char 149
        .byte $ae,$80,$c5,$8c,$cf,$ce,$cd,$ce       // char 150

// --- Region $0ce2-$0cff ---
.pc = $0ce2 "Program $0ce2"
        .byte $cd,$cc,$fc,$cc,$cc,$00               // char 0 (partial)
        .byte $00,$00,$fb,$63,$63,$63,$61,$00       // char 1 @+1
        .byte $00,$00,$01,$03,$04,$00,$f0,$00       // char 2 @+2
        .byte $00,$c0,$e0,$f0,$c8,$c0,$c0,$c0       // char 3 @+3

// --- Region $0d78-$0db7 ---
.pc = $0d78 "chr_0d78"

chr_0d78:
        // === Charset data (64 bytes, $0d78-$0db7) ===
        .byte $0c,$0a,$0f,$07,$01,$0d,$0f,$05       // char 0 @+0
        .byte $0c,$09,$02,$09,$02,$0a,$02,$0a       // char 1 @+1
        .byte $07,$01,$03,$0e,$06,$03,$0e,$06       // char 2 @+2
        .byte $0e,$06,$00,$00,$00,$00,$00,$00       // char 3 @+3
        .byte $00,$1b,$1b,$1b,$1b,$1b,$00,$00       // char 4 @+4
        .byte $00,$19,$9b,$db,$7b,$39,$00,$00       // char 5 @+5
        .byte $00,$f0,$00,$04,$03,$f1,$00,$00       // char 6 @+6
        .byte $c0,$c0,$c0,$c8,$f0,$e0,$c0,$00       // char 7 @+7

// --- Region $0dd0-$0dd6 ---
.pc = $0dd0 "Program $0dd0"
        .byte $9e,$9f,$b3,$b4,$b5,$b6               // char 0 (partial)

dat_0dd6:
        // === Fill data (1 bytes, $0dd6-$0dd6) ===
        .byte $00                                   // .

// --- Region $0e08-$0eef ---
.pc = $0e08 "dat_0e08"

dat_0e08:
        .byte $78,$cc,$cc,$fc,$cc,$cc               // char 7 (partial)
        .byte $cc,$cc,$f8,$cc,$cc,$f8,$cc,$cc       // char 8 @+8
        .byte $cc,$f8,$78,$cc,$c0,$c0,$c0,$cc       // char 9 @+9
        .byte $cc,$78,$f8,$cc,$cc,$cc,$cc,$cc       // char 10 @+10
        .byte $cc,$f8,$fc,$c0,$c0,$f0,$c0,$c0       // char 11 @+11
        .byte $c0,$7c,$7c,$c0,$c0,$f0,$c0,$c0       // char 12 @+12
        .byte $c0,$c0,$78,$cc,$c0,$dc,$cc,$cc       // char 13 @+13
        .byte $cc,$78,$cc,$cc,$cc,$fc,$cc,$cc       // char 14 @+14
        .byte $cc,$cc                               // char 15 (partial)

txt_0e48:
        .byte $30,$30,$30,$30,$30,$30               // char 15 (partial)
        .byte $30,$30,$fc,$cc,$0c,$0c,$0c,$cc       // char 16 @+16
        .byte $cc,$78,$cc,$d8,$d8,$f0,$f0,$d8       // char 17 @+17
        .byte $d8,$cc,$c0,$c0,$c0,$c0,$c0,$c0       // char 18 @+18
        .byte $c0,$7c,$c6,$ee,$fe,$d6,$c6,$c6       // char 19 @+19
        .byte $c6,$c6,$cc,$cc,$ec,$fc,$dc,$cc       // char 20 @+20
        .byte $cc,$cc,$78,$cc,$cc,$cc,$cc,$cc       // char 21 @+21
        .byte $cc,$78,$f8,$cc,$cc,$f8,$c0,$c0       // char 22 @+22
        .byte $c0,$c0,$78,$cc,$cc,$cc,$cc,$dc       // char 23 @+23
        .byte $d8,$6c,$f8,$cc,$cc,$d8,$f0,$d8       // char 24 @+24
        .byte $d8,$cc,$78,$cc,$c0,$70,$38,$0c       // char 25 @+25
        .byte $cc,$78,$fc                           // char 26 (partial)

txt_0ea1:
        .byte $30,$30,$30,$30,$30                   // char 26 (partial)
        .byte $30,$30,$cc,$cc,$cc,$cc,$cc,$cc       // char 27 @+27
        .byte $cc,$78,$cc,$cc,$cc,$cc,$cc,$cc       // char 28 @+28
        .byte $78,$30,$c6,$c6,$c6,$c6,$d6,$fe       // char 29 @+29
        .byte $ee,$c6,$c6,$cc,$6c,$38,$38,$6c       // char 30 @+30
        .byte $66,$c6,$cc,$cc,$cc,$cc,$7c,$0c       // char 31 @+31
        .byte $cc,$78,$7e,$06,$0c,$18,$30,$60       // char 32 ' '
        .byte $c0,$fc                               // char 33 (partial)

txt_0ed8:
        .byte $3c,$30,$30,$30,$30,$30               // char 33 (partial)
        .byte $30,$3c,$00,$00,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$00,$3c,$0c,$0c,$0c,$0c,$0c       // char 35 '#'
        .byte $0c,$3c                               // char 36 (partial)

// --- Region $0eff-$12ff ---
.pc = $0eff "Program $0eff"
        .byte $00,$00,$00,$00,$00,$00               // char 0 (partial)
        .byte $00,$00,$00,$18,$18,$18,$18,$18       // char 1 @+1
        .byte $18,$00,$18,$36,$66,$6c,$00,$00       // char 2 @+2
        .byte $00,$00,$00,$06,$0e,$0e,$0e,$0e       // char 3 @+3
        .byte $03,$03,$03,$03,$07,$07,$07,$01       // char 4 @+4
        .byte $01,$01,$01,$01,$01,$01,$07,$07       // char 5 @+5
        .byte $07,$03,$03,$03,$03,$0e,$0e,$0e       // char 6 @+6
        .byte $0e,$06,$00,$06,$0c,$18,$00,$00       // char 7 @+7
        .byte $00,$00,$00,$0c,$18,$18,$30,$30       // char 8 @+8
        .byte $18,$18,$0c,$30,$18,$18,$0c,$0c       // char 9 @+9
        .byte $18,$18,$30,$00,$cc,$6c,$f8,$3e       // char 10 @+10
        .byte $6c,$66,$00,$00,$18,$18,$7e,$18       // char 11 @+11
        .byte $18,$00,$00,$00,$00,$00,$00,$00       // char 12 @+12
        .byte $18,$18,$30,$00,$00,$00,$7e,$00       // char 13 @+13
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 14 @+14
        .byte $18,$18,$00,$06,$0c,$18,$18,$30       // char 15 @+15
        .byte $30,$60,$c0,$78,$cc,$cc,$cc,$cc       // char 16 @+16
        .byte $cc,$cc,$78,$18,$38,$18,$18,$18       // char 17 @+17
        .byte $18,$18,$3c,$78,$cc,$0c,$18,$30       // char 18 @+18
        .byte $60,$c0,$fc,$7c,$0c,$0c,$38,$0c       // char 19 @+19
        .byte $cc,$cc,$78,$2c,$6c,$cc,$fe,$0c       // char 20 @+20
        .byte $0c,$0c,$0c,$fc,$c0,$c0,$f8,$0c       // char 21 @+21
        .byte $cc,$cc,$78,$1c,$60,$c0,$f8,$cc       // char 22 @+22
        .byte $cc,$cc,$78,$fc,$cc,$18               // char 23 (partial)

txt_0fbb:
        .byte $30,$30                               // char 23 (partial)
        .byte $30,$30,$30,$38,$6c,$6c,$38,$cc       // char 24 @+24
        .byte $cc,$cc,$78,$78,$cc,$cc,$cc,$7c       // char 25 @+25
        .byte $0c,$18,$70,$00,$00,$18,$00,$00       // char 26 @+26
        .byte $18,$00,$00,$00,$00,$18,$00,$00       // char 27 @+27
        .byte $18,$18,$30,$0e,$18,$30,$60,$60       // char 28 @+28
        .byte $30,$18,$0e,$00,$00,$7e,$00,$7e       // char 29 @+29
        .byte $00,$00,$00,$70,$18,$0c,$06,$06       // char 30 @+30
        .byte $0c,$18,$70,$7c,$c6,$c6,$0c,$18       // char 31 @+31
        .byte $38,$00,$f0                           // char 32 (partial)

txt_1000:
        .text "                     "
        .byte $96,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0a,$03,$0b,$0c,$0d,$03 // ................
        .byte $0e,$20,$0f,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1a,$1b // . .............

txt_1034:
        .text "      "
        .byte $0f,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$1a,$1b // .............

dat_1047:
        .text "                                                                              "
        .byte $1c,$1d,$1e,$1d,$1f                   // .....

txt_109a:
        .text "!"
        .byte $22                                   // double quote character
        .text "#$%&"
        .byte $1d
        .byte $27,$28,$29,$1d
        .byte $2a,$20,$2b,$1d,$1f
        .text ","
        .byte $22                                   // double quote
        .text ")-."
        .byte $1d

txt_10b0:
        .text "/012      +"
        .byte $1d,$1f
        .text ","
        .byte $22                                   // double quote
        .text ")-."
        .byte $1d

txt_10c3:
        .text "/012"

dat_10c7:
        // === Fill data (78 bytes, $10c7-$1114) ===
        .fill 78, $20
        .text "3456789:;*+>?"
        .byte $40                                   // @ character
        .text "<="
        .text "* +BCDEFGHIJK   "
        .text "     +BCDEFGHI"
        .byte $8f

dat_1144:
        .text "                                                                                 ALMNOPQRS*+TU"
        .byte $40                                   // @ character
        .text "VW* +XOYZ"
        .byte $5b,$5c,$5d,$5e,$5f,$60               // [\]^_`

txt_11b2:
        .text "        +XOYZ"
        .byte $5b,$5c,$5d,$5e,$90                   // [\]^.

dat_11c4:
        .text "                                                                                 "
        .byte $61,$62,$63,$62,$64,$65,$66,$67,$68,$69,$2b,$62,$64,$40,$70,$62 // abcbdefghi+bd@pb
        .byte $6b,$6c,$6d,$62,$64,$6e,$6f,$70,$62,$71,$62,$72,$73,$74,$75 // klmbdnopbqbrstu

txt_1234:
        .text "      +"
        .byte $62,$64,$6e,$6f,$70,$62,$71,$62,$72,$73,$74,$75 // bdnopbqbrstu

dat_1247:
        .text "                                                                              "
        .byte $76,$77,$78,$79,$7a,$7b,$7c,$7d,$7e,$7f,$80,$81,$82,$83,$84,$79 // vwxyz{|}~......y
        .byte $79,$79,$85,$79,$87,$88,$89,$8a,$79,$8b,$8c,$8d,$79,$8e,$86,$91 // yy.y....y...y...
        .byte $92,$93,$94,$95,$20,$80,$81,$82,$88,$89,$8a,$79,$8b,$8c,$8d,$79 // .... ......y...y
        .byte $8e,$86                               // ..

dat_12c7:
        .text "                                                         "

// --- Region $1318-$1321 ---
.pc = $1318 "dat_1318"

dat_1318:
        .byte $a9,$00,$8d,$0a,$13,$a9,$01,$8d,$01,$13 // ..........

// --- Region $134d-$1356 ---
.pc = $134d "dat_134d"

dat_134d:
        .byte $a9,$00,$8d,$3f,$13,$a9,$00,$8d,$01,$13 // ...?......

// --- Region $13c4-$13f3 ---
.pc = $13c4 "dat_13c4"

dat_13c4:
        .byte $01,$01,$02,$02,$03,$03,$03,$04,$04,$04,$04,$05,$05,$05,$05,$05 // ................
        .byte $06,$06,$06,$06,$06,$07,$07,$07,$07,$07,$07,$06,$06,$06,$06,$06 // ................
        .byte $05,$05,$05,$05,$05,$04,$04,$04,$04,$03,$03,$03,$02,$02,$01,$01 // ................

// --- Region $1568-$156f ---
.pc = $1568 "Segment $1568"
        .fill 8, $00

// --- Region $1600-$16b4 ---
.pc = $1600 "dat_1600"

dat_1600:
        .byte $01,$01,$01,$02,$02,$02,$03,$03,$03,$03,$04,$04,$04,$04,$04,$05 // ................
        .byte $05,$05,$05,$05,$05,$06,$06,$06,$06,$06,$06,$07,$07,$07,$07,$07 // ................
        .byte $07,$07,$06,$06,$06,$06,$06,$06,$05,$05,$05,$05,$05,$05,$04,$04 // ................
        .byte $04,$04,$04,$03,$03,$03,$03,$02,$02,$02 // ..........

dat_163a:
        // === Fill data (70 bytes, $163a-$167f) ===
        .fill 70, $01
        .byte $00,$00,$00,$00,$0b,$0b,$0b,$0b,$0c,$0c,$0c,$0c,$0f,$0f,$0f,$0f // ................
        .fill 24, $01
        .byte $0f,$0f,$0f,$0f,$0c,$0c,$0c,$0c,$0b,$0b,$0b,$0b // ............

dat_16b4:
        // === Fill data (1 bytes, $16b4-$16b4) ===
        .byte $00                                   // .

// --- Region $1700-$18a8 ---
.pc = $1700 "txt_1700"

txt_1700:
        .encoding "screencode_mixed"
        .text "   hi and welcome to"
        .encoding "petscii_upper"

txt_1714:
        .text " -+ "
        .byte $13,$15,$10,$05,$12,$20,$0e,$15,$04,$07,$05 // ..... .....

txt_1723:
        .text " +-   "

txt_1729:
        .encoding "screencode_mixed"
        .text "cracked by xxx!  this is da nu ash and dave game!  no trainer is needed"
        .encoding "petscii_upper"

txt_1770:
        .text "!   "
        .byte $0d                                   // string terminator

txt_1775:
        .encoding "screencode_mixed"
        .text "ega ninja kick'n greetz go out to"
        .encoding "petscii_upper"

txt_1796:
        .text "..    "

txt_179c:
        .encoding "screencode_mixed"
        .text "inc.. ikari.. tristar.. fairlight"
        .encoding "petscii_upper"

txt_17bd:
        .text ".. 711.. "
        .byte $0e,$06,$09                           // ...

txt_17c9:
        .text "..  "

txt_17cd:
        .encoding "screencode_mixed"
        .text "and no fucking more dis time"
        .encoding "petscii_upper"

txt_17e9:
        .text "!!     "
        .byte $0c,$38,$12,$20,$0c,$05,$05,$03,$08   // .8. .....

txt_17f9:
        .text "!!    "
        .byte $00                                   // string terminator

txt_1800:
        .encoding "screencode_mixed"
        .text "  inc here with +supernudge+ on"
        .encoding "petscii_upper"

txt_181f:
        .text " 16/06/89   "
        .byte $07,$12,$05,$05,$14,$13,$20,$14,$0f   // ...... ..

txt_1834:
        .text ":  +"
        .byte $08,$0f,$14,$0c,$09,$0e,$05           // .......

txt_183f:
        .text "!+ +"
        .byte $0e,$06,$09,$2b,$20,$2b,$05,$18,$0f,$04,$15,$13,$2b,$20,$2b,$12 // ...+ +......+ +.
        .byte $06,$0f,$2b,$20,$2b,$14,$17,$07,$2b,$20,$01,$0e,$04,$20,$2b,$06 // ..+ +...+ ... +.
        .byte $01,$09,$12,$0c,$09,$07,$08,$14       // ........

txt_186b:
        .text "+    "

txt_1870:
        .encoding "screencode_mixed"
        .text "inc! we're here to correct your mistakes"
        .encoding "petscii_upper"

txt_1898:
        .text "..              "
        .byte $00                                   // string terminator

// --- Region $1a00-$1a77 ---
.pc = $1a00 "txt_1a00"

txt_1a00:
        .text "    "

txt_1a04:
        .encoding "screencode_mixed"
        .text "together we present super nudge"
        .encoding "petscii_upper"

txt_1a23:
        .text "!         "

txt_1a2d:
        .encoding "screencode_mixed"
        .text "grafix and code by bod and tms"
        .encoding "petscii_upper"

txt_1a4b:
        .text "           "

txt_1a56:
        .encoding "screencode_mixed"
        .text "it's all right to be afraid"
        .encoding "petscii_upper"

txt_1a71:
        .text "!      "

// --- Region $1aac-$1ad8 ---
.pc = $1aac "Segment $1aac"
        .byte $00,$00,$00,$00                       // ....

txt_1ab0:
        .text "        ("
        .byte $03,$29,$08,$0f,$14,$0c,$09,$0e,$05,$20,$26,$20,$09,$0e,$03 // .)....... & ...

txt_1ac8:
        .text " 1989!          "
        .byte $00                                   // string terminator
