// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:50
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0400  End: $ffff  (64512 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1021 (4129)
// IRQ handler:  $0d40 (irq_0d40)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 1486 bytes, Data: 63026 bytes
// Labels: 153, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $0d40-$0fba ---
.pc = $0d40 "irq_0d40"
irq_0d40: {
        lda $d019
        ror
        bcc skip
        inc $20
        jsr sub_0d5c
        jsr sub_0fc3
skip:
        lda #$01
        sta $d019
        lda $dc0d
        pla
        tay
        pla
        tax
        pla
        rti
}
// Referenced by: jsr from $0d48, $fce7

sub_0d5c:
        lda $10
        beq loc_0d64
        dec $10
        bne loc_0da1

loc_0d64:
        lda $18
        bne loc_0d6b
        jmp loc_0e0b

loc_0d6b:
        dec $18
        bne loc_0d72
        jmp loc_0e54

loc_0d72:
        cmp #$10
        bcs loc_0dc0
        lda #$ff
        sta $1e
        lda $11
        sec
        sbc #$03
        sta $11
        lda #$1e
        sta $12
        lda #$86
        sta $13
        lda #$fa
        sta $14
        lda #$a8
        sta $15
        lda #$61
        sta $16
        lda #$08
        sta $17
        lda #$ba
        sta $d414
        jmp loc_0dd8

loc_0da1:
        lda $11
        cmp #$ff
        beq loc_0da9
        inc $11

loc_0da9:
        ldx #$04

loc_0dab:
        lda $12,x
        sec
        sbc $0fbd,x
        sta $12,x
        lda $13,x
        sbc $0fbe,x
        sta $13,x
        dex
        dex
        bpl loc_0dab
        bmi loc_0dd8

loc_0dc0:
        lda #$61
        sta $12
        lda #$08
        sta $13
        lda #$8f
        sta $14
        lda #$0a
        sta $15
        lda #$18
        sta $16
        lda #$02
        sta $17

loc_0dd8:
        lda $12
        sta $d400
        lda $13
        sta $d401
        lda $14
        sta $d407
        lda $15
        sta $d408
        lda $16
        sta $d40e
        lda $17
        sta $d40f
        lda #$41
        sta $d404
        sta $d40b
        sta $d412
        lda $11
        lsr
        lsr
        lsr
        and #$0f
        sta $d418

loc_0e0b:
        bit $1b
        bmi loc_0e24
        lda $19
        clc
        adc #$0f
        sta $19
        lda $1a
        adc #$00
        and #$0f
        sta $1a
        cmp #$0e
        bcs loc_0e37
        bcc loc_0e3d

loc_0e24:
        lda $19
        sec
        sbc #$0f
        sta $19
        lda $1a
        sbc #$00
        and #$0f
        sta $1a
        cmp #$02
        bcs loc_0e3d

loc_0e37:
        lda $1b
        eor #$ff
        sta $1b

loc_0e3d:
        lda $19
        sta $d402
        sta $d409
        sta $d410
        lda $1a
        sta $d403
        sta $d40a
        sta $d411
        rts

loc_0e54:
        lda #$40
        sta $d404
        sta $d40b
        sta $d412
        lda #$ff
        sta $1c
        rts
// Referenced by: jsr from $0f14, $0f19, $0f1e, $0f23, $0f28, $0f2d, $feb3, $feb8

sub_0e64:
        ldx #$50

loc_0e66:
        sta $d8f0,x
        dex
        bne loc_0e66
        jsr sub_0f81
        rts

loc_0e70:
        lda #$c1
        sta $0318
        lda #$8e
        jsr $ffd2
        lda #$08
        jsr $ffd2
        lda #$3e
        sta $d001
        lda #$b0
        sta $d000
        lda #$0b
        sta $d020
        lda #$12
        sta $d018
        ldx #$00
        stx $1c
        stx $1d
        stx $1e
        stx $1f
        stx $d015
        stx $d021
        lda #$01
        jsr sub_0eae
        jmp loc_0ec0
// Referenced by: jsr from $0fa6, $0fab, $0fb0, $ff45, $ff4a, $ff4f

sub_0eab:
        jsr sub_0f81
// Referenced by: jsr from $0ea5, $fe44

sub_0eae:
        ldx #$00

loc_0eb0:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_0eb0
        rts

loc_0ec0:
        ldx #$28
        lda #$03

loc_0ec4:
        sta $d878,x
        dex
        bne loc_0ec4

loc_0eca:
        sta $d9b8,x
        inx
        cpx #$28
        bne loc_0eca
        lda #$07
        ldx #$05

loc_0ed6:
        sta $d889,x
        sta $d8b1,x
        dex
        bne loc_0ed6
        sei
        lda #$40
        sta $0314
        lda #$0d
        sta $0315
        lda #$01
        sta $d012
        cli
        lda #$88
        sta $20
        php
        sei
        ldx #$09

loc_0ef8:
        lda $0ff6,x
        sta $0f,x
        dex
        bne loc_0ef8
        lda #$ba
        sta $d406
        sta $d40d
        lda #$fa
        sta $d414
        plp

loc_0f0e:
        lda $20
        bne loc_0f0e
        lda #$0f
        jsr sub_0e64
        lda #$0c
        jsr sub_0e64
        lda #$0b
        jsr sub_0e64
        lda #$0c
        jsr sub_0e64
        lda #$0f
        jsr sub_0e64
        lda #$01
        jsr sub_0e64

loc_0f30:
        lda $1c
        bpl loc_0f30

loc_0f34:
        lda $1d
        bpl loc_0f34
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        cli

loc_0f44:
        lda #$c0
        sta $0b63
        sta $0b64
        lda #$03
        sta $0b73
        sta $0b74
        jsr sub_0f8c
        ldx #$00

loc_0f59:
        lsr $0b63
        lsr $0b64
        asl $0b73
        asl $0b74
        inx
        jsr sub_0f8c
        cpx #$06
        bne loc_0f59
        lda #$81
        sta $0b63
        sta $0b64
        sta $0b73
        sta $0b74
        jsr sub_0f8c
        jmp loc_0f44

// Referenced by: jsr from $0e6c, $0eab, $fe0b, $fe4a
sub_0f81: {
        ldx #$50
loop1:
        ldy #$00
loop2:
        iny
        bne loop2
        dex
        bne loop1
        rts
}
// Referenced by: jsr from $0f54, $0f66, $0f7b, $fef3, $ff05, $ff1a

sub_0f8c:
        stx $02
        ldx #$00

loc_0f90:
        ldy #$00

loc_0f92:
        jsr $ffe4
        bne loc_0fa2
        iny
        bne loc_0f92
        inx
        cpx #$01
        bne loc_0f90
        ldx $02
        rts

loc_0fa2:
        pla
        pla
        lda #$0f
        jsr sub_0eab
        lda #$0c
        jsr sub_0eab
        lda #$0b
        jsr sub_0eab
        lda #$00
        sta $13
        jmp loc_1029

chr_0fba:
        // === Charset data (1 bytes, $0fba-$0fba) ===
        .byte $ea                                   // char 0 (partial)

// --- Region $0fc3-$0feb ---
.pc = $0fc3 "sub_0fc3"
// Referenced by: jsr from $0d4b, $fcea

sub_0fc3:
        lda $20
        ror
        bcc loc_0fe1
        lda $1e
        bpl loc_0fe1
        ldx $1f
        bmi loc_0fe1
        lda chr_0fec,x
        cmp #$ff
        beq loc_0fe2
        sta $07f8
        lda #$01
        sta $d015
        inc $1f

loc_0fe1:
        rts

loc_0fe2:
        sta $1d
        sta $1f
        lda #$00
        sta $d015
        rts

// --- Region $1021-$1062 ---
.pc = $1021 "main_1021"

main_1021:
        lda #$1b
        sta $d011
        jmp loc_0e70

loc_1029:
        lda #$93
        jsr $ffd2
        lda #$00
        sta $d015
        lda #$15
        sta $d018
        lda #$0b
        sta $d011
        ldy #$00
        sty $fb
        lda #$11
        sta $fc
        ldy #$00
        sty $fd
        lda #$c7
        sta $fe

loc_104d:
        lda ($fb),y
        sta ($fd),y
        iny
        bne loc_104d
        inc $fc
        inc $fe
        lda $fe
        cmp #$d0
        bne loc_104d
        jmp loc_fce2

dat_1061:
        // === Data block (2 bytes, $1061-$1062) ===
        .byte $c9,$d0                               // ..

// --- Region $5c20-$5c20 ---
.pc = $5c20 "Segment $5c20"
        brk

// --- Region $7808-$7808 ---
.pc = $7808 "Segment $7808"
        brk

// --- Region $906a-$906a ---
.pc = $906a "Segment $906a"
        brk

// --- Region $a9d0-$a9d0 ---
.pc = $a9d0 "Segment $a9d0"
        brk

// --- Region $ea31-$ea31 ---
.pc = $ea31 "irq_ea31"

irq_ea31:
        brk

// --- Region $fcd0-$fcd2 ---
.pc = $fcd0 "Segment $fcd0"
        bpl loc_fcd2

loc_fcd2:
        brk

// --- Region $fce2-$fdf2 ---
.pc = $fce2 "loc_fce2"

loc_fce2:
        ror
        bcc loc_fced
        inc $20
        jsr sub_0d5c
        jsr sub_0fc3

loc_fced:
        lda #$01
        sta $d019
        lda $dc0d
        pla
        tay
        pla
        tax
        pla
        rti

loc_fcfb:
        lda $10
        beq loc_fd03
        dec $10
        bne loc_fd40

loc_fd03:
        lda $18
        bne loc_fd0a
        jmp loc_0e0b

loc_fd0a:
        dec $18
        bne loc_fd11
        jmp loc_0e54

loc_fd11:
        cmp #$10
        bcs loc_fd5f
        lda #$ff
        sta $1e
        lda $11
        sec
        sbc #$03
        sta $11
        lda #$1e
        sta $12
        lda #$86
        sta $13
        lda #$fa
        sta $14
        lda #$a8
        sta $15
        lda #$61
        sta $16
        lda #$08
        sta $17
        lda #$ba
        sta $d414
        jmp loc_0dd8

loc_fd40:
        lda $11
        cmp #$ff
        beq loc_fd48
        inc $11

loc_fd48:
        ldx #$04

loc_fd4a:
        lda $12,x
        sec
        sbc $0fbd,x
        sta $12,x
        lda $13,x
        sbc $0fbe,x
        sta $13,x
        dex
        dex
        bpl loc_fd4a
        bmi $fd77

loc_fd5f:
        lda #$61
        sta $12
        lda #$08
        sta $13
        lda #$8f
        sta $14
        lda #$0a
        sta $15
        lda #$18
        sta $16
        lda #$02
        sta $17
        lda $12
        sta $d400
        lda $13
        sta $d401
        lda $14
        sta $d407
        lda $15
        sta $d408
        lda $16
        sta $d40e
        lda $17
        sta $d40f
        lda #$41
        sta $d404
        sta $d40b
        sta $d412
        lda $11
        lsr
        lsr
        lsr
        and #$0f
        sta $d418
        bit $1b
        bmi loc_fdc3
        lda $19
        clc
        adc #$0f
        sta $19
        lda $1a
        adc #$00
        and #$0f
        sta $1a
        cmp #$0e
        bcs loc_fdd6
        bcc loc_fddc

loc_fdc3:
        lda $19
        sec
        sbc #$0f
        sta $19
        lda $1a
        sbc #$00
        and #$0f
        sta $1a
        cmp #$02
        bcs loc_fddc

loc_fdd6:
        lda $1b
        eor #$ff
        sta $1b

loc_fddc:
        lda $19
        sta $d402
        sta $d409
        sta $d410
        lda $1a
        sta $d403
        sta $d40a
        sta $d411
        rts

// --- Region $fe03-$ff59 ---
.pc = $fe03 "loc_fe03"

loc_fe03:
        ldx #$50

loc_fe05:
        sta $d8f0,x
        dex
        bne loc_fe05
        jsr sub_0f81
        rts

loc_fe0f:
        lda #$c1
        sta $0318
        lda #$8e
        jsr $ffd2
        lda #$08
        jsr $ffd2
        lda #$3e
        sta $d001
        lda #$b0
        sta $d000
        lda #$0b
        sta $d020
        lda #$12
        sta $d018
        ldx #$00
        stx $1c
        stx $1d
        stx $1e
        stx $1f
        stx $d015
        stx $d021
        lda #$01
        jsr sub_0eae
        jmp loc_0ec0

loc_fe4a:
        jsr sub_0f81
        ldx #$00

loc_fe4f:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_fe4f
        rts

loc_fe5f:
        ldx #$28
        lda #$03

loc_fe63:
        sta $d878,x
        dex
        bne loc_fe63

loc_fe69:
        sta $d9b8,x
        inx
        cpx #$28
        bne loc_fe69
        lda #$07
        ldx #$05

loc_fe75:
        sta $d889,x
        sta $d8b1,x
        dex
        bne loc_fe75
        sei
        lda #$40
        sta $0314
        lda #$0d
        sta $0315
        lda #$01
        sta $d012
        cli
        lda #$88
        sta $20
        php
        sei
        ldx #$09

loc_fe97:
        lda $0ff6,x
        sta $0f,x
        dex
        bne loc_fe97
        lda #$ba
        sta $d406
        sta $d40d
        lda #$fa
        sta $d414
        plp

loc_fead:
        lda $20
        bne loc_fead
        lda #$0f
        jsr sub_0e64
        lda #$0c
        jsr sub_0e64
        lda #$0b
        jsr sub_0e64
        lda #$0c
        jsr sub_0e64
        lda #$0f
        jsr sub_0e64
        lda #$01
        jsr sub_0e64

loc_fecf:
        lda $1c
        bpl loc_fecf

loc_fed3:
        lda $1d
        bpl loc_fed3
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        cli
        lda #$c0
        sta $0b63
        sta $0b64
        lda #$03
        sta $0b73
        sta $0b74
        jsr sub_0f8c
        ldx #$00

loc_fef8:
        lsr $0b63
        lsr $0b64
        asl $0b73
        asl $0b74
        inx
        jsr sub_0f8c
        cpx #$06
        bne loc_fef8
        lda #$81
        sta $0b63
        sta $0b64
        sta $0b73
        sta $0b74
        jsr sub_0f8c
        jmp loc_0f44

loc_ff20:
        ldx #$50

loc_ff22:
        ldy #$00

loc_ff24:
        iny
        bne loc_ff24
        dex
        bne loc_ff22
        rts

loc_ff2b:
        stx $02
        ldx #$00

loc_ff2f:
        ldy #$00

loc_ff31:
        jsr $ffe4
        bne loc_ff41
        iny
        bne loc_ff31
        inx
        cpx #$01
        bne loc_ff2f
        ldx $02
        rts

loc_ff41:
        pla
        pla
        lda #$0f
        jsr sub_0eab
        lda #$0c
        jsr sub_0eab
        lda #$0b
        jsr sub_0eab
        lda #$00
        sta $13
        jmp loc_1029

dat_ff59:
        .byte $ea                                   // .

// --- Region $ff62-$ff8a ---
.pc = $ff62 "loc_ff62"

loc_ff62:
        lda $20
        ror
        bcc loc_ff80
        lda $1e
        bpl loc_ff80
        ldx $1f
        bmi loc_ff80
        lda chr_0fec,x
        cmp #$ff
        beq loc_ff81
        sta $07f8
        lda #$01
        sta $d015
        inc $1f

loc_ff80:
        rts

loc_ff81:
        sta $1d
        sta $1f
        lda #$00
        sta $d015
        rts

// --- Region $ffa3-$ffc9 ---
.pc = $ffa3 "loc_ffa3"

loc_ffa3:
        bne loc_fff1
        plp
        php
        ldy #$00
        sty $fb
        lda #$04
        sta $fc

loc_ffaf:
        lda ($fb),y
        eor #$aa
        sta ($fb),y
        iny
        bne loc_ffaf
        inc $fc
        lda $fc
        cmp #$08
        bne loc_ffaf
        lda #$1b
        sta $d011
        jmp loc_0e70

dat_ffc8:
        .byte $a9,$93                               // ..

// --- Region $ffd2-$ffff ---
.pc = $ffd2 "Segment $ffd2"
        lda #$15
        sta $d018
        lda #$0b
        sta $d011
        ldy #$00
        sty $fb
        lda #$11
        sta $fc
        ldy #$00
        sty $fd
        lda #$c7
        sta $fe

loc_ffec:
        lda ($fb),y
        sta ($fd),y
        iny

loc_fff1:
        bne loc_ffec
        inc $fc
        inc $fe
        lda $fe
        cmp #$d0
        bne loc_ffec
        jmp loc_fce2

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

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

chr_0800:
        // === Charset data (1024 bytes, $0800-$0bff) ===
        .byte $00,$00,$18,$3c,$3c,$18,$00,$00       // char 0 @+0
        .byte $00,$3c,$66,$7e,$66,$66,$66,$00       // char 1 @+1
        .byte $00,$7c,$66,$7c,$66,$66,$7c,$00       // char 2 @+2
        .byte $00,$3c,$66,$60,$60,$66,$3c,$00       // char 3 @+3
        .byte $00,$78,$6c,$66,$66,$6c,$78,$00       // char 4 @+4
        .byte $00,$7e,$60,$78,$60,$60,$7e,$00       // char 5 @+5
        .byte $00,$7e,$60,$78,$60,$60,$60,$00       // char 6 @+6
        .byte $00,$3c,$66,$60,$6e,$66,$3c,$00       // char 7 @+7
        .byte $00,$66,$66,$7e,$66,$66,$66,$00       // char 8 @+8
        .byte $00,$3c,$18,$18,$18,$18,$3c,$00       // char 9 @+9
        .byte $00,$1e,$0c,$0c,$0c,$6c,$38,$00       // char 10 @+10
        .byte $00,$66,$6c,$78,$78,$6c,$66,$00       // char 11 @+11
        .byte $00,$60,$60,$60,$60,$60,$7e,$00       // char 12 @+12
        .byte $00,$63,$77,$7f,$6b,$63,$63,$00       // char 13 @+13
        .byte $00,$66,$76,$7e,$7e,$6e,$66,$00       // char 14 @+14
        .byte $00,$3c,$66,$66,$66,$66,$3c,$00       // char 15 @+15
        .byte $00,$7c,$66,$66,$7c,$60,$60,$00       // char 16 @+16
        .byte $00,$3c,$66,$66,$66,$66,$3c,$0e       // char 17 @+17
        .byte $00,$7c,$66,$6c,$78,$6c,$66,$00       // char 18 @+18
        .byte $00,$3c,$66,$30,$0c,$66,$3c,$00       // char 19 @+19
        .byte $00,$7e,$18,$18,$18,$18,$18,$00       // char 20 @+20
        .byte $00,$66,$66,$66,$66,$66,$3c,$00       // char 21 @+21
        .byte $00,$66,$66,$66,$66,$3c,$18,$00       // char 22 @+22
        .byte $00,$63,$63,$6b,$7f,$77,$63,$00       // char 23 @+23
        .byte $00,$66,$66,$3c,$3c,$66,$66,$00       // char 24 @+24
        .byte $00,$66,$66,$3c,$18,$18,$18,$00       // char 25 @+25
        .byte $00,$7e,$06,$0c,$30,$60,$7e,$00       // char 26 @+26
        .byte $00                                   // char 27 (partial)

txt_08d9:
        .byte $3c,$30,$30,$30,$30,$3c,$00           // char 27 (partial)
        .byte $00,$00,$60,$30,$18,$0c,$06,$00       // char 28 @+28
        .byte $00,$3c,$0c,$0c,$0c,$0c,$3c,$00       // char 29 @+29
        .byte $00,$60,$30,$18,$00,$00,$00,$00       // char 30 @+30
        .byte $00,$00,$00,$00,$30,$78,$30,$00       // char 31 @+31
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 32 ' '
        .byte $00,$18,$18,$18,$00,$00,$18,$00       // char 33 '!'
        .byte $00,$66,$66,$66,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$00,$66,$ff,$66,$ff,$66,$00       // char 35 '#'
        .byte $00,$18,$3e,$60,$3c,$06,$7c,$18       // char 36 '$'
        .byte $00,$66,$6c,$18,$30,$66,$46,$00       // char 37 '%'
        .byte $00,$3c,$66,$3c,$38,$67,$3e,$00       // char 38 '&'
        .byte $00,$06,$0c,$18,$00,$00,$00,$00       // char 39 '''
        .byte $00,$0c,$18,$30,$30,$18,$0c,$00       // char 40 '('
        .byte $00,$30,$18,$0c,$0c,$18,$30,$00       // char 41 ')'
        .byte $00,$00,$66,$3c,$ff,$3c,$66,$00       // char 42 '*'
        .byte $00,$00,$18,$18,$7e,$18,$18,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$18,$18,$30       // char 44 ','
        .byte $00,$00,$00,$00,$7e,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$18,$18,$00       // char 46 '.'
        .byte $00,$00,$06,$0c,$18,$30,$60,$00       // char 47 '/'
        .byte $00,$3c,$66,$6e,$76,$66,$3c,$00       // char 48 '0'
        .byte $00,$18,$38,$18,$18,$18,$7e,$00       // char 49 '1'
        .byte $00,$3c,$66,$0c,$38,$60,$7e,$00       // char 50 '2'
        .byte $00,$3c,$66,$0c,$06,$66,$3c,$00       // char 51 '3'
        .byte $00,$0e,$1e,$66,$7f,$06,$06,$00       // char 52 '4'
        .byte $00,$7e,$60,$7c,$06,$66,$3c,$00       // char 53 '5'
        .byte $00,$3c,$60,$7c,$66,$66,$3c,$00       // char 54 '6'
        .byte $00,$7e,$66,$0c,$18,$18,$18,$00       // char 55 '7'
        .byte $00,$3c,$66,$3c,$66,$66,$3c,$00       // char 56 '8'
        .byte $00,$3c,$66,$66,$3e,$06,$3c,$00       // char 57 '9'
        .byte $00,$00,$18,$00,$00,$18,$00,$00       // char 58 ':'
        .byte $00,$00,$18,$00,$00,$18,$18,$30       // char 59 ';'
        .byte $00,$0e,$18,$30,$30,$18,$0e,$00       // char 60 '<'
        .byte $00,$00,$00,$7e,$00,$7e,$00,$00       // char 61 '='
        .byte $00,$70,$18,$0c,$0c,$18,$70,$00       // char 62 '>'
        .byte $00,$3c,$66,$0c,$18,$00,$18,$00       // char 63 '?'
        .byte $ff,$ff,$c0,$c0,$c7,$c7,$c6,$c6       // char 64 '@'
        .byte $ff,$ff,$00,$00,$ff,$ff,$00,$00       // char 65 'A'
        .byte $ff,$ff,$03,$03,$e3,$e3,$63,$63       // char 66 'B'
        .byte $c6,$c6,$c7,$c7,$c0,$c0,$ff,$ff       // char 67 'C'
        .byte $00,$00,$ff,$ff,$00,$00,$ff,$ff       // char 68 'D'
        .byte $63,$63,$e3,$e3,$03,$03,$ff,$ff       // char 69 'E'
        .byte $63,$63,$63,$63,$63,$63,$63,$63       // char 70 'F'
        .byte $c6,$c6,$c6,$c6,$c6,$c6,$c6,$c6       // char 71 'G'
        .byte $00,$00,$00,$ff,$ff,$00,$00,$00       // char 72 'H'
        .byte $00,$00,$00,$1f,$1f,$18,$18,$18       // char 73 'I'
        .byte $00,$00,$00,$f8,$f8,$18,$18,$18       // char 74 'J'
        .byte $18,$18,$18,$1f,$1f,$00,$00,$00       // char 75 'K'
        .byte $18,$18,$18,$f8,$f8,$00,$00,$00       // char 76 'L'
        .byte $18,$18,$18,$18,$18,$18,$18,$18       // char 77 'M'
        .byte $00,$00,$00,$00,$01,$03,$07,$0f       // char 78 'N'
        .byte $18,$3c,$7e,$ff,$ff,$ff,$ff,$ff       // char 79 'O'
        .byte $00,$00,$00,$00,$80,$c0,$e0,$f0       // char 80 'P'
        .byte $00,$3f,$3f,$3f,$00,$00,$00,$00       // char 81 'Q'
        .byte $00,$ff,$ff,$ff,$3c,$3c,$3c,$3c       // char 82 'R'
        .byte $00,$fc,$fc,$fc,$00,$00,$00,$00       // char 83 'S'
        .byte $00,$01,$07,$0f,$1e,$3c,$38,$38       // char 84 'T'
        .byte $00,$ff,$ff,$81,$00,$00,$00,$00       // char 85 'U'
        .byte $00,$80,$e0,$f0,$78,$3c,$1c,$1c       // char 86 'V'
        .byte $00                                   // char 87 (partial)

txt_0ab9:
        .byte $3f,$3f,$3c,$3c,$3c,$3c,$3f           // char 87 (partial)
        .byte $00,$ff,$ff,$00,$00,$00,$00,$ff       // char 88 'X'
        .byte $00,$e0,$f0,$78,$38,$38,$78,$f0       // char 89 'Y'
        .byte $00,$3f,$7f,$f0,$e0,$e0,$f0,$7f       // char 90 'Z'
        .byte $00,$ff,$ff,$03,$00,$00,$00,$ff       // char 91 '['
        .byte $00,$00,$c0,$e0,$00,$00,$00,$80       // char 92 '\'
        .byte $00,$00,$00,$00,$01,$03,$07,$0f       // char 93 ']'
        .byte $18,$3c,$7e,$ff,$ff,$ff,$ff,$ff       // char 94 '^'
        .byte $00,$00,$00,$00,$81,$c3,$e7,$ff       // char 95 '_'
        .byte $18,$3c,$7e,$ff,$ff,$ff,$ff,$ff       // char 96 '`'
        .byte $00,$00,$00,$00,$80,$c0,$e0,$f0       // char 97 'a'

txt_0b10:
        .byte $3c,$3c,$3c,$3c,$3c,$3c,$3c,$00       // char 98 'b'
        .byte $38,$38,$3c,$1e,$0f,$07,$01,$00       // char 99 'c'
        .byte $00,$00,$00,$00,$81,$ff,$ff,$00       // char 100 'd'
        .byte $1c,$1c,$3c,$78,$f0,$c0,$80,$00       // char 101 'e'

txt_0b30:
        .byte $3f,$3c,$3c,$3c,$3c,$3c,$3c,$00       // char 102 'f'
        .byte $ff,$00,$00,$00,$00,$00,$00,$00       // char 103 'g'
        .byte $e0,$00,$00,$00,$00,$00,$00,$00       // char 104 'h'
        .byte $3f,$00,$00,$00,$f8,$7f,$1f,$00       // char 105 'i'
        .byte $ff,$01,$00,$00,$01,$ff,$ff,$00       // char 106 'j'
        .byte $c0,$e0,$e0,$e0,$e0,$c0,$80,$00       // char 107 'k'
        .byte $00,$00,$00,$18,$18,$00,$00,$00       // char 108 'l'
        .byte $00,$00,$00,$18,$18,$00,$00,$00       // char 109 'm'
        .byte $00,$00,$00,$18,$18,$00,$00,$00       // char 110 'n'
        .byte $00,$00,$00,$18,$18,$00,$00,$00       // char 111 'o'

dat_0b80:
        // === Fill data (128 bytes, $0b80-$0bff) ===
        .fill 128, $aa

// --- Region $0c19-$0c26 ---
.pc = $0c19 "dat_0c19"

dat_0c19:
        .byte $10,$00,$00,$38,$00,$00,$7c           // char 131 (partial)
        .byte $00,$00,$38,$00,$00,$10               // char 132 (partial)

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

// --- Region $0c59-$0c66 ---
.pc = $0c59 "dat_0c59"

dat_0c59:
        .byte $38,$00,$00,$7c,$00,$00,$7c           // char 139 (partial)
        .byte $00,$00,$7c,$00,$00,$38               // char 140 (partial)

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

// --- Region $0c93-$0cab ---
.pc = $0c93 "dat_0c93"

dat_0c93:
        .byte $10,$00,$00,$10,$00                   // char 146 (partial)
        .byte $00,$38,$00,$00,$7c,$00,$01,$ff       // char 147
        .byte $00,$00,$7c,$00,$00,$38,$00,$00       // char 148
        .byte $10,$00,$00,$10                       // char 149 (partial)

// --- Region $0cca-$0d3f ---
.pc = $0cca "dat_0cca"

dat_0cca:
        .byte $10,$00,$00,$10,$00,$00               // char 153 (partial)
        .byte $10,$00,$00,$10,$00,$00,$10,$00       // char 154
        .byte $00,$38,$00,$00,$7c,$00,$0f,$ff       // char 155
        .byte $e0,$00,$7c,$00,$00,$38,$00,$00       // char 156
        .byte $10,$00,$00,$10,$00,$00,$10,$00       // char 157
        .byte $00,$10,$00,$00,$10,$00,$00,$00       // char 158
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 159
        .byte $00,$10,$00,$00,$10,$00,$00,$10       // char 160
        .byte $00,$00,$10,$00,$00,$10,$00,$00       // char 161
        .byte $10,$00,$00,$38,$00,$00,$7c,$00       // char 162
        .byte $00,$fe,$00,$01,$ff,$00,$ff,$ff       // char 163
        .byte $ff,$01,$ff,$00,$00,$fe,$00,$00       // char 164
        .byte $7c,$00,$00,$38,$00,$00,$10,$00       // char 165
        .byte $00,$10,$00,$00,$10,$00,$00,$10       // char 166
        .byte $00,$00,$10,$00,$00,$10,$00,$00       // char 167

// --- Region $0fbb-$0fc2 ---
.pc = $0fbb "Program $0fbb"
        .byte $ea,$ea,$76,$00,$95,$00,$00           // char 0 (partial)
        .byte $00                                   // char 1 (partial)

// --- Region $0fec-$1020 ---
.pc = $0fec "chr_0fec"

chr_0fec:
        // === Charset data (20 bytes, $0fec-$0fff) ===
        .byte $30,$31,$32,$33,$34,$33,$32,$31       // char 0 @+0
        .byte $30,$ff,$00,$80,$00,$0f,$43,$7d       // char 1 @+1
        .byte $54,$18,$02,$70                       // char 2 (partial)
        .byte $a9,$0b,$8d,$11,$d0,$4c,$28,$08,$a0,$00,$84,$fb,$a9,$04,$85,$fc // .....L(.........
        .byte $b1,$fb,$49,$aa,$91,$fb,$c8,$d0,$f7,$e6,$fc,$a5,$fc,$c9,$08,$d0 // ..I.............
        .byte $ef                                   // .

// --- Region $1063-$109a ---
.pc = $1063 "Segment $1063"
        .byte $d0,$ef,$4c,$e2,$fc,$ff,$e8,$b1,$0e,$c9,$22,$d0,$0f,$c8,$d0,$02 // ..L.......".....
        .byte $e6,$0f,$be,$00,$f7,$c8,$d0,$02,$e6,$0f,$b1,$0e,$8d,$00,$04,$e6 // ................
        .byte $18,$d0,$02,$e6,$19,$ca,$d0,$f4,$c8,$d0,$db,$e6,$0f,$d0,$d7,$a9 // ................
        .byte $37,$85,$01,$58,$4c,$21,$10           // 7..XL!.

dat_109a:
        // === Fill data (1 bytes, $109a-$109a) ===
        .byte $00                                   // .

// --- Region $1d40-$1d40 ---
.pc = $1d40 "spr_1d40"

spr_1d40:
        .byte $00                                   // .

// --- Region $2400-$2400 ---
.pc = $2400 "scr_2400"

scr_2400:
        .byte $00                                   // .

// --- Region $2600-$2600 ---
.pc = $2600 "spr_2600"

spr_2600:
        .byte $00                                   // .

// --- Region $2900-$2900 ---
.pc = $2900 "spr_2900"

spr_2900:
        .byte $00                                   // .

// --- Region $2c00-$2c00 ---
.pc = $2c00 "scr_2c00"

scr_2c00:
        .byte $00                                   // .

// --- Region $3d00-$3d00 ---
.pc = $3d00 "spr_3d00"

spr_3d00:
        .byte $00                                   // .

// --- Region $5c21-$5c21 ---
.pc = $5c21 "dat_5c21"

dat_5c21:
        // === Fill data (1 bytes, $5c21-$5c21) ===
        .byte $00                                   // .

// --- Region $7809-$7809 ---
.pc = $7809 "dat_7809"

dat_7809:
        // === Fill data (1 bytes, $7809-$7809) ===
        .byte $00                                   // .

// --- Region $906b-$906b ---
.pc = $906b "dat_906b"

dat_906b:
        // === Fill data (1 bytes, $906b-$906b) ===
        .byte $00                                   // .

// --- Region $a9d1-$a9d1 ---
.pc = $a9d1 "dat_a9d1"

dat_a9d1:
        // === Fill data (1 bytes, $a9d1-$a9d1) ===
        .byte $00                                   // .

// --- Region $ea32-$ea32 ---
.pc = $ea32 "dat_ea32"

dat_ea32:
        // === Fill data (1 bytes, $ea32-$ea32) ===
        .byte $00                                   // .

// --- Region $f797-$fccf ---
.pc = $f797 "dat_f797"

dat_f797:
        .byte $80,$00,$a9,$00,$8d,$11,$d0,$8d,$20,$d0,$78,$78,$78,$a2,$00,$86 // ........ .xxx...
        .byte $01,$bd,$9a,$07,$9d,$32,$f7,$e8,$d0,$f7,$ce,$12,$08,$ce,$15,$08 // .....2..........
        .byte $ad,$12,$08,$c9,$06,$d0,$ea,$a0,$c3,$4c,$01,$00 // .........L..

txt_f7c3:
        .byte $22                                   // double quote character
        .text "( "
        .byte $22                                   // double quote character
        .text "("
        .byte $6c                                   // l

txt_f7c9:
        .encoding "screencode_mixed"
        .byte $22                                   // double quote
        .text "* the dark knight"
        .encoding "petscii_upper"

txt_f7db:
        .text "  NOP"
        .byte $22                                   // double quote character

txt_f7e1:
        .encoding "screencode_mixed"
        .text "f daddy zer0"
        .byte $22                                   // double quote
        .text "t "
        .encoding "petscii_upper"
        .byte $4e,$4f,$5f,$60,$61                   // NO_`a

txt_f7f5:
        .byte $22                                   // double quote character
        .text "D QRS TUV WXY WXY Z"
        .byte $5b,$5c,$22,$16,$20,$62,$20,$1f,$63,$64,$65,$1f,$66,$67,$68,$1f // [\". b .cde.fgh.
        .byte $66,$67,$68,$1f,$69,$6a,$6b,$1f       // fgh.ijk.

txt_f821:
        .encoding "screencode_mixed"
        .byte $22                                   // double quote
        .text "9 world karate championship"
        .byte $22                                   // double quote
        .text "2 cracked"
        .encoding "petscii_upper"

txt_f847:
        .text " 05/15/86 "

txt_f851:
        .encoding "screencode_mixed"
        .text "by silicon pirate"
        .encoding "petscii_upper"

txt_f862:
        .byte $22                                   // double quote character
        .text "+ "
        .byte $22                                   // double quote character
        .text "("
        .byte $6e                                   // n

txt_f868:
        .encoding "screencode_mixed"
        .byte $22                                   // double quote
        .text "+ call the datashack at"
        .encoding "petscii_upper"

txt_f880:
        .text " 914/948-2870"
        .byte $22                                   // double quote character
        .text "/ I"
        .byte $22                                   // double quote character
        .byte $1e,$48,$4a,$22,$08                   // .HJ".

txt_f897:
        .text " M  "

txt_f89b:
        .encoding "screencode_mixed"
        .text "the organized professional"
        .encoding "petscii_upper"

txt_f8b5:
        .text "  M"
        .byte $22                                   // double quote character
        .byte $08,$20,$4d                           // . M

txt_f8bc:
        .encoding "screencode_mixed"
        .byte $22                                   // double quote
        .text "g pirating service"
        .byte $22                                   // double quote
        .text "g "
        .encoding "petscii_upper"
        .byte $4d,$22,$08,$20,$4b,$22,$1e           // M". K".

txt_f8d9:
        .text "HL"
        .byte $22                                   // double quote character
        .text ". "

txt_f8de:
        .encoding "screencode_mixed"
        .text "we want you"
        .encoding "petscii_upper"

txt_f8e9:
        .text "... "

txt_f8ed:
        .encoding "screencode_mixed"
        .text "to mail us originals"
        .encoding "petscii_upper"

txt_f901:
        .text "!"
        .byte $22                                   // double quote character
        .text "R "
        .byte $00                                   // string terminator
        .byte $d7,$01,$e3,$8a,$ce,$1a,$20,$83,$ff,$02,$76,$40,$ef,$d0,$cc,$00 // ...... ...v@....
        .byte $f4,$10,$75,$08,$a4,$98,$04,$00,$00,$18,$3c,$3c,$18,$00,$00,$00 // ..u.......<<....
        .byte $3c,$66,$7e,$66,$66,$66,$00,$00,$7c,$66,$7c,$66,$66,$7c,$00,$00 // <f~fff..|f|ff|..
        .byte $3c,$66,$60,$60,$66,$3c,$00,$00,$78,$6c,$66,$66,$6c,$78,$00,$00 // <f``f<..xlfflx..
        .byte $7e,$60,$78,$60,$60,$7e,$00,$00,$7e,$60,$78,$60,$60,$60,$00,$00 // ~`x``~..~`x```..
        .byte $3c,$66,$60,$6e,$66,$3c,$00,$00,$66,$66,$7e,$66,$66,$66,$00,$00 // <f`nf<..ff~fff..
        .byte $3c,$22,$04,$18,$3c,$00,$00,$1e,$0c,$0c,$0c,$6c,$38,$00,$00,$66 // <"..<......l8..f
        .byte $6c,$78,$78,$6c,$66,$00,$00,$22,$05,$60,$7e,$00,$00,$63,$77,$7f // lxxlf..".`~..cw.
        .byte $6b,$63,$63,$00,$00,$66,$76,$7e,$7e,$6e,$66,$00,$00,$3c,$22,$04 // kcc..fv~~nf..<".
        .byte $66,$3c,$00,$00,$7c,$66,$66,$7c,$60,$60,$00,$00,$3c,$22,$04,$66 // f<..|ff|``..<".f
        .byte $3c,$0e,$00,$7c,$66,$6c,$78,$6c,$66,$00,$00,$3c,$66,$30,$0c,$66 // <..|flxlf..<f0.f
        .byte $3c,$00,$00,$7e,$22,$05,$18,$00,$00,$22,$05,$66,$3c,$00,$00,$22 // <..~"....".f<.."
        .byte $04,$66,$3c,$18,$00,$00,$63,$63,$6b,$7f,$77,$63,$00,$00,$66,$66 // .f<...cck.wc..ff
        .byte $3c,$3c,$66,$66,$00,$00,$66,$66,$3c,$18,$18,$18,$00,$00,$7e,$06 // <<ff..ff<.....~.
        .byte $0c,$30,$60,$7e,$00,$00,$3c,$22,$04,$30,$3c,$00,$00,$00,$60,$30 // .0`~..<".0<...`0
        .byte $18,$0c,$06,$00,$00,$3c,$22,$04,$0c,$3c,$00,$00,$60,$30,$18,$22 // .....<"..<..`0."
        .byte $08,$00,$30,$78,$30,$22,$0a,$00,$18,$18,$18,$00,$00,$18,$00,$00 // ..0x0"..........
        .byte $66,$66,$66,$22,$06,$00,$66,$ff,$66,$ff,$66,$00,$00,$18,$3e,$60 // fff"..f.f.f...>`
        .byte $3c,$06,$7c,$18,$00,$66,$6c,$18,$30,$66,$46,$00,$00,$3c,$66,$3c // <.|..fl.0fF..<f<
        .byte $38,$67,$3e,$00,$00,$06,$0c,$18,$22,$05,$00,$0c,$18,$30,$30,$18 // 8g>....."....00.
        .byte $0c,$00,$00,$30,$18,$0c,$0c,$18,$30,$00,$00,$00,$66,$3c,$ff,$3c // ...0....0...f<.<
        .byte $66,$00,$00,$00,$18,$18,$7e,$18,$18,$22,$06,$00,$18,$18,$30,$22 // f.....~.."....0"
        .byte $04,$00,$7e,$22,$08,$00,$18,$18,$00,$00,$00,$06,$0c,$18,$30,$60 // ..~"..........0`
        .byte $00,$00,$3c,$66,$6e,$76,$66,$3c,$00,$00,$18,$38,$18,$18,$18,$7e // ..<fnvf<...8...~
        .byte $00,$00,$3c,$66,$0c,$38,$60,$7e,$00,$00,$3c,$66,$0c,$06,$66,$3c // ..<f.8`~..<f..f<
        .byte $00,$00,$0e,$1e,$66,$7f,$06,$06,$00,$00,$7e,$60,$7c,$06,$66,$3c // ....f.....~`|.f<
        .byte $00,$00,$3c,$60,$7c,$66,$66,$3c,$00,$00,$7e,$66,$0c,$18,$18,$18 // ..<`|ff<..~f....
        .byte $00,$00,$3c,$66,$3c,$66,$66,$3c,$00,$00,$3c,$66,$66,$3e,$06,$3c // ..<f<ff<..<ff>.<
        .byte $00,$00,$00,$18,$00,$00,$18,$22,$04,$00,$18,$00,$00,$18,$18,$30 // .......".......0
        .byte $00,$0e,$18,$30,$30,$18,$0e,$22,$04,$00,$7e,$00,$7e,$00,$00,$00 // ...00.."..~.~...
        .byte $70,$18,$0c,$0c,$18,$70,$00,$00,$3c,$66,$0c,$18,$00,$18,$00,$ff // p....p..<f......
        .byte $ff,$c0,$c0,$c7,$c7,$c6,$c6,$ff,$ff,$00,$00,$ff,$ff,$00,$00,$ff // ................
        .byte $ff,$03,$03,$e3,$e3,$63,$63,$c6,$c6,$c7,$c7,$c0,$c0,$ff,$ff,$00 // .....cc.........
        .byte $00,$ff,$ff,$00,$00,$ff,$ff,$63,$63,$e3,$e3,$03,$03,$ff,$ff,$22 // .......cc......"
        .byte $08,$63,$22,$08,$c6,$00,$00,$00,$ff,$ff,$22,$06,$00,$1f,$1f,$18 // .c".......".....
        .byte $18,$18,$00,$00,$00,$f8,$f8,$22,$06,$18,$1f,$1f,$00,$00,$00,$18 // ......."........
        .byte $18,$18,$f8,$f8,$00,$00,$00,$22,$08,$18,$22,$04,$00,$01,$03,$07 // ......."..".....
        .byte $0f,$18,$3c,$7e,$22,$05,$ff,$22,$04,$00,$80,$c0,$e0,$f0,$00,$3f // ..<~"..".......?
        .byte $3f,$3f,$22,$05,$00,$ff,$ff,$ff,$22,$04,$3c,$00,$fc,$fc,$fc,$22 // ??".....".<...."
        .byte $05,$00,$01,$07,$0f,$1e,$3c,$38,$38,$00,$ff,$ff,$81,$22,$05,$00 // ......<88...."..
        .byte $80,$e0,$f0,$78,$3c,$1c,$1c,$00,$3f,$3f,$22,$04,$3c,$3f,$00,$ff // ...x<...??".<?..
        .byte $ff,$22,$04,$00,$ff,$00,$e0,$f0,$78,$38,$38,$78,$f0,$00,$3f,$7f // ."......x88x..?.
        .byte $f0,$e0,$e0,$f0,$7f,$00,$ff,$ff,$03,$00,$00,$00,$ff,$00,$00,$c0 // ................
        .byte $e0,$00,$00,$00,$80,$22,$04,$00,$01,$03,$07,$0f,$18,$3c,$7e,$22 // .....".......<~"
        .byte $05,$ff,$22,$04,$00,$81,$c3,$e7,$ff,$18,$3c,$7e,$22,$05,$ff,$22 // ..".......<~".."
        .byte $04,$00,$80,$c0,$e0,$f0,$22,$07,$3c,$00,$38,$38,$3c,$1e,$0f,$07 // ......".<.88<...
        .byte $01,$22,$05,$00,$81,$ff,$ff,$00,$1c,$1c,$3c,$78,$f0,$c0,$80,$00 // ."........<x....
        .byte $3f,$22,$06,$3c,$00,$ff,$22,$07,$00,$e0,$22,$07,$00,$3f,$00,$00 // ?".<.."..."..?..
        .byte $00,$f8,$7f,$1f,$00,$ff,$01,$00,$00,$01,$ff,$ff,$00,$c0,$22,$04 // ..............".
        .byte $e0,$c0,$80,$22,$04,$00,$18,$18,$22,$06,$00,$18,$18,$22,$06,$00 // ..."...."...."..
        .byte $18,$18,$22,$06,$00,$18,$18,$00,$00,$00,$22,$80,$aa,$22,$19,$00 // ..".......".."..
        .byte $10,$00,$00,$38,$00,$00,$7c,$00,$00,$38,$00,$00,$10,$22,$33,$00 // ...8..|..8..."3.
        .byte $38,$00,$00,$7c,$00,$00,$7c,$00,$00,$7c,$00,$00,$38,$22,$2d,$00 // 8..|..|..|..8"-.
        .byte $10,$00,$00,$10,$00,$00,$38,$00,$00,$7c,$00,$01,$ff,$00,$00,$7c // ......8..|.....|
        .byte $00,$00,$38,$00,$00,$10,$00,$00,$10,$22,$1e,$00,$10,$00,$00,$10 // ..8......"......
        .byte $00,$00,$10,$00,$00,$10,$00,$00,$10,$00,$00,$38,$00,$00,$7c,$00 // ...........8..|.
        .byte $0f,$ff,$e0,$00,$7c,$00,$00,$38,$00,$00,$10,$00,$00,$10,$00,$00 // ....|..8........
        .byte $10,$00,$00,$10,$00,$00,$10,$22,$0c,$00,$10,$00,$00,$10,$00,$00 // ......."........
        .byte $10,$00,$00,$10,$00,$00,$10,$00,$00,$10,$00,$00,$38,$00,$00,$7c // ............8..|
        .byte $00,$00,$fe,$00,$01,$ff,$00,$ff,$ff,$ff,$01,$ff,$00,$00,$fe,$00 // ................
        .byte $00,$7c,$00,$00,$38,$00,$00,$10,$00,$00 // .|..8.....

// --- Region $fcd3-$fce1 ---
.pc = $fcd3 "dat_fcd3"

dat_fcd3:
        .byte $10,$00,$00,$10,$00,$00,$10,$00,$00,$10,$00,$00,$ad,$19,$d0 // ...............

// --- Region $fdf3-$fe02 ---
.pc = $fdf3 "dat_fdf3"

dat_fdf3:
        .byte $a9,$40,$8d,$04,$d4,$8d,$0b,$d4,$8d,$12,$d4,$a9,$ff,$85,$1c,$60 // .@.............`

// --- Region $ff5a-$ff61 ---
.pc = $ff5a "Segment $ff5a"
        .byte $ea,$ea,$76,$00,$95,$00,$00,$00       // ..v.....

// --- Region $ff8b-$ffa2 ---
.pc = $ff8b "txt_ff8b"

txt_ff8b:
        .text "012343210"
        .byte $ff,$00,$80,$00,$0f,$43,$7d,$54,$18,$02,$70,$a9,$0b,$8d,$11 // .....C}T..p....

// --- Region $ffca-$ffd1 ---
.pc = $ffca "Segment $ffca"
        .byte $20,$d2,$ff,$a9,$00,$8d,$15,$d0       //  .......
