// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:39
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $07ee  End: $18a1  (4276 bytes)
// Crunched with Beta Dynamic v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0b40 (2880)
// IRQ handler:  $0cc8 (irq_0cc8)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 1437 bytes, Data: 2839 bytes
// Labels: 156, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $0b01-$0b30 ---
.pc = $0b01 "smc_0b01"

smc_0b01:
.label smc_0b02 = * + 1
        ldy #$00                                    // !SMC: modified by $1512, $151a

loc_0b03:
        ldx chr_0b30,y

loc_0b06:
        dex
        bne loc_0b06
        lda $14e0,y
        sta $d021
        sta $d021
        iny
        cpy #$0f
        bne loc_0b03
        rts

chr_0b18:
        // === Charset data (1 bytes, $0b18-$0b18) ===
        .byte $a0                                   // char 0 (partial)

smc_0b19:
.label smc_0b1a = * + 1
        ldy #$00                                    // !SMC: modified by $1515, $151d

loc_0b1b:
        ldx chr_0b30,y

loc_0b1e:
        dex
        bne loc_0b1e
        lda $14f0,y
        sta $d021
        sta $d021
        iny
        cpy #$0f
        bne loc_0b1b
        rts

chr_0b30:
        // === Charset data (1 bytes, $0b30-$0b30) ===
        .byte $0a                                   // char 0 (partial)

// --- Region $0b40-$0ca8 ---
.pc = $0b40 "main_0b40"

main_0b40:
        jsr sub_1500
        lda #$0b
        sta $d011

loc_0b48:
        lda $d011
        bpl loc_0b48
        lda #$03
        sta $d026
        ldx #$06
        stx $d025
        inx

loc_0b58:
        lda #$0e
        sta $d027,x
        dex
        bpl loc_0b58
        ldx #$00
        stx $d012
        stx $d020
        stx $d021
        stx $d022
        stx $d023
        stx $d024
        stx $02
        stx $03
        stx $04

loc_0b7a:
        lda #$0a
        sta $d800,x
        sta $d900,x
        sta $d908,x
        lda #$00
        sta $da08,x
        sta $db00,x
        lda #$1d
        sta $0400,x
        sta $0500,x
        sta $0508,x
        inx
        bne loc_0b7a
        dex
        stx $d015
        stx $d01c
        stx $d01d
        ldx #$27

loc_0ba7:
        lda txt_0f80,x
        clc
        adc #$40
        sta $0630,x
        lda $0fa8,x
        clc
        adc #$80
        sta $0680,x
        lda $0fd0,x
        clc
        adc #$c0
        sta $06d0,x
        dex
        bpl loc_0ba7
        lda #$c0
        sta $d010
        lda #$18
        sta $d000
        lda #$40
        sta $d002
        lda #$68
        sta $d004
        lda #$90
        sta $d006
        lda #$b8
        sta $d008
        lda #$e0
        sta $d00a
        lda #$08
        sta $d00c
        lda #$30
        sta $d00e
        ldx #$28
        stx $07f8
        stx $07ff
        inx
        stx $07f9
        stx $07fb
        stx $07fe
        inx
        stx $07fa
        stx $07fc
        inx
        stx $07fd
        lda #$13
        sta $d018
        jsr sub_1000
        sei
        lda #$c8
        sta $0314
        lda #$0c
        sta $0315
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$0b
        sta $d011
        cli

loc_0c30:
        lda $dc01
        cmp #$ef
        bne loc_0c30
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$f0
        sta $d01a
        lda #$00
        sta $dc0d
        sta $d015
        sta $d010
        sta $d01c
        sta $d01d
        lda #$0b
        sta $d011
        jsr $fda3
        cli
        ldx #$10

loc_0c63:
        lda #$00
        sta $d000,x
        dex
        bpl loc_0c63
        jsr $e544
        lda #$c8
        sta $d016
        lda #$16
        sta $d018
        lda #$80
        sta $0291
        ldx #$1f

loc_0c7f:
        lda #$00
        sta chr_0800
        sta $d400,x
        lda chr_0ca8,x
        sta $0340,x
        dex
        bpl loc_0c7f
        ldx #$1d

loc_0c92:
        lda #$0a
        sta $d805,x
        lda $14ba,x
        sta $0405,x
        dex
        bpl loc_0c92
        lda #$1b
        sta $d011
        jmp $0340

chr_0ca8:
        // === Charset data (1 bytes, $0ca8-$0ca8) ===
        .byte $78                                   // char 0 (partial)

// --- Region $0cc8-$0dde ---
.pc = $0cc8 "irq_0cc8"

irq_0cc8:
        lda #$00
        sta $d012
        lda #$5b
        sta $d011
        lda #$02
        sta $d021
        lda $04
        sta $d022
        lda $03
        sta $d023
        lda $02
        sta $d024
        lda #$c8
        sta $d016
        jsr sub_0e5e
        jsr sub_0e74
        jsr sub_0e8a
        jsr sub_0ea0
        jsr sub_0eb6
        jsr sub_0ecc
        jsr sub_0ee2
        jsr sub_0ef8
        jsr sub_0dc0
        jsr sub_0dd6
        jsr sub_0d4e
        jsr sub_0e00
        jsr sub_0d87
        jsr sub_0e30
        jsr sub_1003

loc_0d18:
        lda $d012
        cmp #$9a
        bne loc_0d18
        ldx #$0a

loc_0d21:
        dex
        bne loc_0d21
        stx $d021

loc_0d27:
        lda $d012
        cmp #$ca
        bne loc_0d27
        ldx #$0c

loc_0d30:
        dex
        bne loc_0d30
        lda #$1b
        sta $d011
.label smc_0d39 = * + 1
        lda #$00                                    // !SMC: modified by $0d56
        sta $d016
.label smc_0d3e = * + 1
        jsr smc_0b01                                // !SMC: modified by $150f
.label smc_0d41 = * + 1
        lda #$03                                    // !SMC: modified by $0d8f
        sta $d016
.label smc_0d46 = * + 1
        jsr smc_0b19                                // !SMC: modified by $150a
        inc $d019
        jmp $ea7e
// Referenced by: jsr from $0d09

sub_0d4e:
        lda smc_0d39
        sec
        sbc #$03
        and #$07
        sta smc_0d39                                // SMC: modifies $0d39
        bcc loc_0d5c
        rts

loc_0d5c:
        ldx #$00

loc_0d5e:
        lda $0721,x
        sta $0720,x
        inx
        cpx #$27
        bne loc_0d5e

loc_0d69:
.label smc_0d6a = * + 1
.label smc_0d6b = * + 2
        lda txt_1700                                // !SMC: modified by $0d7c, $0d81
        beq loc_0d7a
        sta $0747
        inc smc_0d6a
        bne loc_0d79
        inc smc_0d6b

loc_0d79:
        rts

loc_0d7a:
        lda #$00
        sta smc_0d6a                                // SMC: modifies $0d6a
        lda #$17
        sta smc_0d6b                                // SMC: modifies $0d6b
        jmp loc_0d69
// Referenced by: jsr from $0d0f

sub_0d87:
        lda smc_0d41
        sec
        sbc #$04
        and #$07
        sta smc_0d41                                // SMC: modifies $0d41
        bcc loc_0d95
        rts

loc_0d95:
        ldx #$00

loc_0d97:
        lda $0771,x
        sta $0770,x
        inx
        cpx #$27
        bne loc_0d97

loc_0da2:
.label smc_0da3 = * + 1
.label smc_0da4 = * + 2
        lda $1531                                   // !SMC: modified by $0db5, $0dba
        beq loc_0db3
        sta $0797
        inc smc_0da3
        bne loc_0db2
        inc smc_0da4

loc_0db2:
        rts

loc_0db3:
        lda #$30
        sta smc_0da3                                // SMC: modifies $0da3
        lda #$15
        sta smc_0da4                                // SMC: modifies $0da4
        jmp loc_0da2

// Referenced by: jsr from $0d03
sub_0dc0: {
        lda $08e8
        pha
        ldx #$00
loop:
        lda $08e9,x
        sta $08e8,x
        inx
        cpx #$07
        bne loop
        pla
        sta $08ef
        rts
}
// Referenced by: jsr from $0d06

sub_0dd6:
        lda #$01
        beq chr_0dde
        dec $0dd7
        rts

chr_0dde:
        // === Charset data (1 bytes, $0dde-$0dde) ===
        .byte $a9                                   // char 0 (partial)

// --- Region $0e00-$0e08 ---
.pc = $0e00 "sub_0e00"
// Referenced by: jsr from $0d0c

sub_0e00:
        lda #$01
        beq chr_0e08
        dec $0e01
        rts

chr_0e08:
        // === Charset data (1 bytes, $0e08-$0e08) ===
        .byte $a9                                   // char 0 (partial)

// --- Region $0e30-$0e38 ---
.pc = $0e30 "sub_0e30"
// Referenced by: jsr from $0d12

sub_0e30:
        lda #$01
        beq chr_0e38
        dec $0e31
        rts

chr_0e38:
        // === Charset data (1 bytes, $0e38-$0e38) ===
        .byte $a9                                   // char 0 (partial)

// --- Region $0e5e-$0f0f ---
.pc = $0e5e "sub_0e5e"
// Referenced by: jsr from $0ceb; jmp from $0e71

sub_0e5e:
.label smc_0e5f = * + 1
        ldx #$30                                    // !SMC: modified by $0e6e
        lda chr_0f0e,x
        beq loc_0e6c
        sta $d001
        inc smc_0e5f
        rts

loc_0e6c:
        lda #$00
        sta smc_0e5f                                // SMC: modifies $0e5f
        jmp sub_0e5e
// Referenced by: jsr from $0cee; jmp from $0e87

sub_0e74:
.label smc_0e75 = * + 1
        ldx #$2b                                    // !SMC: modified by $0e84
        lda chr_0f0e,x
        beq loc_0e82
        sta $d003
        inc smc_0e75
        rts

loc_0e82:
        lda #$00
        sta smc_0e75                                // SMC: modifies $0e75
        jmp sub_0e74
// Referenced by: jsr from $0cf1; jmp from $0e9d

sub_0e8a:
.label smc_0e8b = * + 1
        ldx #$26                                    // !SMC: modified by $0e9a
        lda chr_0f0e,x
        beq loc_0e98
        sta $d005
        inc smc_0e8b
        rts

loc_0e98:
        lda #$00
        sta smc_0e8b                                // SMC: modifies $0e8b
        jmp sub_0e8a
// Referenced by: jsr from $0cf4; jmp from $0eb3

sub_0ea0:
.label smc_0ea1 = * + 1
        ldx #$21                                    // !SMC: modified by $0eb0
        lda chr_0f0e,x
        beq loc_0eae
        sta $d007
        inc smc_0ea1
        rts

loc_0eae:
        lda #$00
        sta smc_0ea1                                // SMC: modifies $0ea1
        jmp sub_0ea0
// Referenced by: jsr from $0cf7; jmp from $0ec9

sub_0eb6:
.label smc_0eb7 = * + 1
        ldx #$1c                                    // !SMC: modified by $0ec6
        lda chr_0f0e,x
        beq loc_0ec4
        sta $d009
        inc smc_0eb7
        rts

loc_0ec4:
        lda #$00
        sta smc_0eb7                                // SMC: modifies $0eb7
        jmp sub_0eb6
// Referenced by: jsr from $0cfa; jmp from $0edf

sub_0ecc:
.label smc_0ecd = * + 1
        ldx #$17                                    // !SMC: modified by $0edc
        lda chr_0f0e,x
        beq loc_0eda
        sta $d00b
        inc smc_0ecd
        rts

loc_0eda:
        lda #$00
        sta smc_0ecd                                // SMC: modifies $0ecd
        jmp sub_0ecc
// Referenced by: jsr from $0cfd; jmp from $0ef5

sub_0ee2:
.label smc_0ee3 = * + 1
        ldx #$12                                    // !SMC: modified by $0ef2
        lda chr_0f0e,x
        beq loc_0ef0
        sta $d00d
        inc smc_0ee3
        rts

loc_0ef0:
        lda #$00
        sta smc_0ee3                                // SMC: modifies $0ee3
        jmp sub_0ee2
// Referenced by: jsr from $0d00; jmp from $0f0b

sub_0ef8:
.label smc_0ef9 = * + 1
        ldx #$0d                                    // !SMC: modified by $0f08
        lda chr_0f0e,x
        beq loc_0f06
        sta $d00f
        inc smc_0ef9
        rts

loc_0f06:
        lda #$00
        sta smc_0ef9                                // SMC: modifies $0ef9
        jmp sub_0ef8

chr_0f0e:
        // === Charset data (2 bytes, $0f0e-$0f0f) ===
        .byte $81,$7d                               // char 0 (partial)

// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $0c14

sub_1000:
        jmp loc_1300
// Referenced by: jsr from $0d15

sub_1003:
        jmp loc_104a

dat_1006:
        .byte $00                                   // .

// --- Region $104a-$1234 ---
.pc = $104a "loc_104a"

loc_104a:
.label smc_104b = * + 1
        ldx #$00                                    // !SMC: modified by $1051, $131c
        dex
        bpl $1051
        ldx #$04
        stx smc_104b                                // SMC: modifies $104b
        ldx #$02

loc_1056:
        lda smc_104b
        bne loc_1070
        lda $103e,x
        beq loc_1065
        dec $103e,x
        lda #$01

loc_1065:
        sta $1023,x
        dec $103b,x
        bpl loc_1070
        jmp loc_114b

loc_1070:
        ldy $102c,x
        lda $1032,x
        clc
        adc $133c,y
        lda $1032,x
        adc $133c,y
        sta $1032,x
        ldy $100e,x
        sta $d402,y
        sta $d403,y
        ldy $1029,x
        inc $1029,x
        lda $1383,y
        cmp #$ff
        bne loc_10a3
        lda $1360,y
        sta $1029,x
        tay
        lda $1383,y

loc_10a3:
        ora $1023,x
        pha
        lda $1360,y
        bmi loc_10b3
        clc
        adc $1026,x
        adc $102f,x

loc_10b3:
        and #$7f
        tay
        lda $1294,y
        pha
        lda dat_1234,y
        ldy $100e,x
        clc
        adc $101a,x
        sta $d400,y
        pla
        adc $101d,x
        sta $d401,y
        pla
        sta $d404,y
        lda $1014,x
        asl
        asl
        asl
        asl
        clc
        adc $101a,x
        sta $101a,x
        lda $1017,x
        adc $101d,x
        sta $101d,x

loc_10e9:
        dex
        bmi loc_10ef
        jmp loc_1056

loc_10ef:
        lda #$1f
        sta $d418
        lda $1041
        ora $1042
        ora $1043
        sta $d417
        beq loc_1142
        lda smc_104b
        beq loc_1142
.label smc_1108 = * + 1
        lda #$00                                    // !SMC: modified by $1130, $1206
        beq loc_1111

dat_110b:
        .byte $ce,$08,$11,$4c,$37,$11               // ...L7.

loc_1111:
.label smc_1112 = * + 1
        ldy #$1a                                    // !SMC: modified by $1134, $1201
        lda $1383,y
        cmp #$ff
        bne loc_1121
        lda $1360,y
        tay
        lda $1383,y

loc_1121:
        cmp #$80
        bcs loc_1143
        ldx $1360,y
        stx smc_1138                                // SMC: modifies $1138
        ldx #$00

loc_112d:
        stx smc_113b                                // SMC: modifies $113b
        sta smc_1108                                // SMC: modifies $1108
        iny
        sty smc_1112                                // SMC: modifies $1112
.label smc_1138 = * + 1
        lda #$d0                                    // !SMC: modified by $1128, $113c
        clc
.label smc_113b = * + 1
        adc #$00                                    // !SMC: modified by $112d
        sta smc_1138                                // SMC: modifies $1138
        sta $d416

loc_1142:
        rts

loc_1143:
        and #$7f
        ldx $1360,y
        jmp loc_112d

loc_114b:
        lda $12f4,x
        sta $fd
        lda $12f7,x
        sta $fe
        ldy $1047,x
        lda ($fd),y
        cmp #$ff
        bne loc_1164
        lda #$00
        sta $1047,x
        tay

loc_1164:
        lda ($fd),y
        bpl loc_1171
        sta $102f,x
        iny
        inc $1047,x
        lda ($fd),y

loc_1171:
        tay
        lda $13a6,y
        sta $fd
        lda $13ae,y
        sta $fe
        ldy $1044,x
        lda ($fd),y
        cmp #$e0
        bcc loc_1193
        sta $1014,x
        iny
        lda ($fd),y
        sta $1017,x
        iny
        lda #$00
        beq loc_119b

loc_1193:
        lda #$00
        sta $1014,x
        sta $1017,x

loc_119b:
        sta $101a,x
        sta $101d,x
        lda ($fd),y
        cmp #$c0
        bcc loc_11b0
        asl
        asl
        asl
        sta $102c,x
        iny
        lda ($fd),y

loc_11b0:
        cmp #$a0
        bcc loc_11bc
        and #$1f
        sta $1020,x
        iny
        lda ($fd),y

loc_11bc:
        cmp #$80
        bcc loc_11c8
        and #$1f
        sta $1038,x
        iny
        lda ($fd),y

loc_11c8:
        cmp #$7e
        bne loc_11d4
        iny
        lda ($fd),y
        sta $1026,x
        lda #$7f

loc_11d4:
        pha
        iny
        lda ($fd),y
        cmp #$ff
        bne loc_11e1
        ldy #$00
        inc $1047,x

loc_11e1:
        tya
        sta $1044,x
        pla
        cmp #$7f
        beq loc_1225
        sta $1026,x
        ldy $102c,x
        lda $1338,y
        sta $1029,x
        lda $133b,y
        sta $1032,x
        lda $133e,y
        beq loc_120c
        sta smc_1112                                // SMC: modifies $1112
        lda #$00
        sta smc_1108                                // SMC: modifies $1108
        lda $1011,x

loc_120c:
        sta $1041,x
        lda $1339,y
        pha
        lda $133a,y
        ldy $100e,x
        sta $d406,y
        pla
        sta $d405,y
        lda #$09
        sta $d404,y

loc_1225:
        lda $1038,x
        sta $103b,x
        lda $1020,x
        sta $103e,x
        jmp loc_10e9

dat_1234:
        .byte $18                                   // .

// --- Region $1300-$131f ---
.pc = $1300 "loc_1300"

loc_1300:
        ldx #$00
        ldy #$fa

loc_1304:
        lda dat_1320,x
        sta $11fa,y
        inx
        iny
        bne loc_1304
        ldx #$35
        tya

loc_1311:
        sta $1014,x
        sta $d400,x
        dex
        bpl loc_1311
        lda #$01
        sta smc_104b                                // SMC: modifies $104b
        rts

// --- Region $1500-$1526 ---
.pc = $1500 "sub_1500"
// Referenced by: jsr from $0b40

sub_1500:
        jsr $e544
        lda $02a6
        bne loc_1526
        lda #$18
        sta smc_0d46                                // SMC: modifies $0d46
        lda #$00
        sta smc_0d3e                                // SMC: modifies $0d3e
        sta smc_0b01                                // SMC: modifies $0b01
        sta smc_0b19                                // SMC: modifies $0b19
        lda #$ea
        sta smc_0b02                                // SMC: modifies $0b02
        sta smc_0b1a                                // SMC: modifies $0b1a
        dec $0b16
        dec $0b2e

loc_1526:
        rts

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

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

chr_0800:
        // === Charset data (769 bytes, $0800-$0b00) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $ff,$c1,$91,$39,$39,$91,$c5,$ff       // char 1 @+1
        .byte $e1,$cf,$93,$39,$39,$93,$c7,$ff       // char 2 @+2
        .byte $ff,$c3,$9d,$3f,$3f,$9b,$c7,$ff       // char 3 @+3
        .byte $0f,$e7,$93,$39,$39,$93,$c7,$ff       // char 4 @+4
        .byte $ff,$c3,$99,$01,$3f,$9b,$c7,$ff       // char 5 @+5
        .byte $c3,$9d,$9f,$07,$9f,$9f,$9f,$ff       // char 6 @+6
        .byte $ff,$85,$19,$31,$81,$79,$83,$ff       // char 7 @+7
        .byte $3f,$23,$19,$39,$39,$33,$31,$ff       // char 8 @+8
        .byte $e3,$b3,$9f,$cf,$cf,$cf,$cf,$ff       // char 9 @+9
        .byte $ff,$f3,$e3,$f3,$f3,$67,$8f,$ff       // char 10 @+10
        .byte $37,$27,$0f,$33,$39,$31,$33,$ff       // char 11 @+11
        .byte $cf,$c7,$e7,$e7,$e7,$e7,$e7,$ff       // char 12 @+12
        .byte $ff,$13,$01,$29,$39,$33,$31,$ff       // char 13 @+13
        .byte $ff,$23,$09,$19,$39,$33,$31,$ff       // char 14 @+14
        .byte $ff,$c7,$93,$39,$39,$93,$c7,$ff       // char 15 @+15
        .byte $ff,$47,$11,$39,$13,$47,$3f,$ff       // char 16 @+16
        .byte $ff,$c5,$91,$39,$91,$c5,$f9,$ff       // char 17 @+17
        .byte $ff,$47,$13,$39,$13,$07,$31,$ff       // char 18 @+18
        .byte $ff,$c3,$9d,$8f,$c3,$73,$87,$ff       // char 19 @+19
        .byte $e7,$01,$cf,$cf,$cf,$c3,$e7,$ff       // char 20 @+20
        .byte $ff,$19,$99,$39,$39,$31,$89,$ff       // char 21 @+21
        .byte $ff,$19,$99,$39,$39,$33,$8f,$ff       // char 22 @+22
        .byte $ff,$19,$99,$39,$29,$01,$91,$ff       // char 23 @+23
        .byte $ff,$99,$41,$c7,$8f,$05,$33,$ff       // char 24 @+24
        .byte $ff,$99,$19,$31,$81,$79,$83,$ff       // char 25 @+25
        .byte $ff,$c1,$b3,$e7,$cf,$1d,$03,$ff       // char 26 @+26
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 27 @+27
        .byte $83,$39,$45,$5d,$45,$39,$83,$ff       // char 28 @+28
        .byte $20,$40,$80,$01,$02,$04,$08,$10       // char 29 @+29
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 30 @+30
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 31 @+31
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 32 ' '
        .byte $f3,$f3,$e3,$e7,$e7,$df,$cf,$ff       // char 33 '!'
        .byte $11,$99,$33,$ff,$ff,$ff,$ff,$ff       // char 34 '"'
        .byte $db,$93,$01,$93,$01,$93,$b7,$ff       // char 35 '#'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 36 '$'
        .byte $9d,$b9,$f3,$e7,$cf,$9d,$b9,$ff       // char 37 '%'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 38 '&'
        .byte $c7,$e7,$cf,$ff,$ff,$ff,$ff,$ff       // char 39 '''
        .byte $fb,$e7,$cf,$cf,$cf,$e7,$fb,$ff       // char 40 '('
        .byte $df,$e7,$f3,$f3,$f3,$e7,$df,$ff       // char 41 ')'
        .byte $c7,$83,$29,$01,$29,$93,$c7,$ff       // char 42 '*'
        .byte $ff,$e7,$e7,$81,$e7,$e7,$ff,$ff       // char 43 '+'
        .byte $ff,$ff,$ff,$ff,$ff,$c7,$e7,$cf       // char 44 ','
        .byte $ff,$ff,$ff,$81,$ff,$ff,$ff,$ff       // char 45 '-'
        .byte $ff,$ff,$ff,$ff,$ff,$e7,$e7,$ff       // char 46 '.'
        .byte $fd,$f9,$f3,$e7,$cf,$9f,$3f,$ff       // char 47 '/'
        .byte $01,$39,$39,$39,$39,$39,$01,$ff       // char 48 '0'
        .byte $c7,$e7,$e7,$e7,$e7,$e7,$c3,$ff       // char 49 '1'
        .byte $01,$f9,$f9,$01,$3f,$3f,$01,$ff       // char 50 '2'
        .byte $01,$f9,$f9,$e1,$f9,$f9,$01,$ff       // char 51 '3'
        .byte $39,$39,$39,$01,$f9,$f9,$f9,$ff       // char 52 '4'
        .byte $01,$3f,$3f,$01,$f9,$f9,$01,$ff       // char 53 '5'
        .byte $01,$3f,$3f,$01,$39,$39,$01,$ff       // char 54 '6'
        .byte $01,$f9,$f9,$f9,$f9,$f9,$f9,$ff       // char 55 '7'
        .byte $01,$39,$39,$01,$39,$39,$01,$ff       // char 56 '8'
        .byte $01,$39,$39,$01,$f9,$f9,$01,$ff       // char 57 '9'
        .byte $ff,$ff,$e7,$ff,$e7                   // char 58 (partial)

dat_09d5:
        // === Fill data (35 bytes, $09d5-$09f7) ===
        .fill 35, $ff
        .byte $03,$39,$f3,$e7,$cf,$ff,$cf,$ff       // char 63 '?'
        .byte $ff,$fc,$00,$ea,$a9,$00,$ea,$a9       // char 64 '@'
        .byte $00,$f9,$5a,$40,$39,$1e,$40,$39       // char 65 'A'
        .byte $0e,$40,$39,$0e,$40,$39,$3e,$40       // char 66 'B'
        .byte $39,$fa                               // char 67 (partial)

txt_0a1a:
        .byte $40,$3a,$a9,$00,$3a,$a9               // char 67 (partial)
        .byte $00,$39,$5a,$40,$39,$1e,$40,$39       // char 68 'D'
        .byte $0e,$40,$39,$0e,$40,$39,$0e,$40       // char 69 'E'
        .byte $f9,$7e,$50,$ea,$7a,$90,$ea,$7a       // char 70 'F'
        .byte $90,$d5,$75,$50,$00,$00,$00,$00       // char 71 'G'
        .byte $ff,$ff,$f0,$ea,$aa,$90,$ea,$aa       // char 72 'H'
        .byte $90,$f9,$55,$90,$39,$01,$50,$39       // char 73 'I'
        .byte $00,$00,$39,$00,$00,$39,$00,$00       // char 74 'J'
        .byte $39,$f0,$00,$3a,$90,$00,$3a,$90       // char 75 'K'
        .byte $00,$39,$50,$00,$39,$00,$00,$39       // char 76 'L'
        .byte $00,$00,$39,$00,$00,$39,$03,$f0       // char 77 'M'
        .byte $f9,$ff,$90,$ea,$aa,$90,$ea,$aa       // char 78 'N'
        .byte $90,$d5,$55,$50,$00,$00,$00,$00       // char 79 'O'
        .byte $fc,$03,$f0,$eb,$0e,$90,$ea,$fa       // char 80 'P'
        .byte $90,$fa,$aa                           // char 81 (partial)

txt_0a8b:
        .byte $50,$39,$a6,$40,$39                   // char 81 (partial)
        .byte $5e,$40,$39,$0e,$40,$39,$0e,$40       // char 82 'R'
        .byte $39,$0e,$40,$39,$0e,$40,$39,$0e       // char 83 'S'
        .byte $40,$39,$0e,$40,$39,$0e,$40,$39       // char 84 'T'
        .byte $0e,$40,$39,$0e,$40,$39,$0e,$40       // char 85 'U'
        .byte $f9,$7e,$50,$ea,$7a,$90,$ea,$7a       // char 86 'V'
        .byte $90,$d5,$75,$50,$00,$00,$00,$00       // char 87 'W'
        .byte $ff,$ff,$00,$ea,$aa,$40,$ea,$aa       // char 88 'X'
        .byte $40,$f9,$56,$90,$39,$07,$90,$39       // char 89 'Y'
        .byte $03,$90,$39,$03,$90,$39,$0f,$90       // char 90 'Z'
        .byte $39,$fe,$90,$3a,$aa                   // char 91 (partial)

txt_0add:
        .byte $40,$3a,$aa                           // char 91 (partial)
        .byte $40,$39,$56,$90,$39,$07,$90,$39       // char 92 '\'
        .byte $03,$90,$39,$03,$90,$39,$0f,$90       // char 93 ']'
        .byte $f9,$fe,$90,$ea,$aa,$40,$ea,$aa       // char 94 '^'
        .byte $40,$d5,$55,$00,$00,$00,$00,$00       // char 95 '_'
        .byte $a0                                   // char 96 (partial)

// --- Region $0b31-$0b3f ---
.pc = $0b31 "Program $0b31"
        .byte $08,$08,$08,$08,$08,$08,$01           // char 0 (partial)
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 1 @+1

// --- Region $0ca9-$0cc7 ---
.pc = $0ca9 "Program $0ca9"
        .byte $a9,$34,$85,$01,$a2,$00,$bd           // char 0 (partial)
        .byte $a0,$18,$9d,$01,$08,$e8,$d0,$f7       // char 1 @+1
        .byte $ee,$4c,$03,$ee,$49,$03,$d0,$ed       // char 2 @+2
        .byte $a9,$37,$85,$01,$58,$4c,$e2,$fc       // char 3 @+3

// --- Region $0ddf-$0dff ---
.pc = $0ddf "Program $0ddf"
        .byte $02,$8d,$d7,$0d,$a5,$03,$85           // char 0 (partial)
        .byte $02,$a5,$04,$85,$03,$a2,$04,$bd       // char 1 @+1
        .byte $4f,$0f,$f0,$06,$85,$04,$ee,$ec       // char 2 @+2
        .byte $0d,$60,$a9,$00,$8d,$ec,$0d,$4c       // char 3 @+3
        .byte $eb,$0d                               // char 4 (partial)

// --- Region $0e09-$0e2f ---
.pc = $0e09 "Program $0e09"
        .byte $02,$8d,$01,$0e,$a2,$00,$bd           // char 0 (partial)
        .byte $e7,$14,$9d,$e6,$14,$e8,$e0,$07       // char 1 @+1
        .byte $d0,$f5,$a2,$04,$bd,$5e,$0f,$f0       // char 2 @+2
        .byte $07,$8d,$ed,$14,$ee,$1b,$0e,$60       // char 3 @+3
        .byte $a9,$00,$8d,$1b,$0e,$4c,$1a,$0e       // char 4 @+4

// --- Region $0e39-$0e5d ---
.pc = $0e39 "Program $0e39"
        .byte $02,$8d,$31,$0e,$a2,$06,$bd           // char 0 (partial)
        .byte $f6,$14,$9d,$f7,$14,$ca,$10,$f7       // char 1 @+1
        .byte $a2,$04,$bd,$67,$0f,$f0,$07,$8d       // char 2 @+2
        .byte $f6,$14,$ee,$49,$0e,$60,$a9,$00       // char 3 @+3
        .byte $8d,$49,$0e,$4c,$48,$0e               // char 4 (partial)

// --- Region $0f10-$0fff ---
.pc = $0f10 "Program $0f10"
        .byte $79,$75,$71,$6d,$69,$65               // char 0 (partial)
        .byte $62,$5e                               // char 1 (partial)

txt_0f18:
        .byte $5a,$57,$54,$50,$4d,$4a               // char 1 (partial)
        .byte $47,$45,$42,$40,$3e,$3b,$3a,$38       // char 2 @+2
        .byte $36,$35,$34,$33,$32,$32,$32,$32       // char 3 @+3
        .byte $32,$32,$32,$33,$34,$35,$36,$38       // char 4 @+4
        .byte $3a,$3b,$3e,$40,$42,$45,$47,$4a       // char 5 @+5
        .byte $4d,$50,$54,$57,$5a,$5e,$62,$65       // char 6 @+6
        .byte $69,$6d,$71,$75,$79,$7d,$81,$85       // char 7 @+7
        .byte $00,$09,$0b,$08,$0c,$0f,$07,$01       // char 8 @+8
        .byte $01,$07,$0f,$0c,$08,$0b,$09,$00       // char 9 @+9
        .byte $06,$0e,$03,$0d,$0d,$03,$0e,$06       // char 10 @+10
        .byte $00,$02,$0a,$0f,$07,$07,$0f,$0a       // char 11 @+11
        .byte $02,$00,$00,$00,$00,$00,$00,$00       // char 12 @+12
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 13 @+13
        .byte $00,$00                               // char 14 (partial)

txt_0f80:
        .byte $20,$20,$20,$20,$20,$20               // char 14 (partial)
        .byte $20,$20,$20,$20,$20,$20,$10,$12       // char 15 @+15
        .byte $0f,$15,$04,$0c,$19,$20,$10,$12       // char 16 @+16
        .byte $05,$13,$05,$0e,$14,$13               // char 17 (partial)

txt_0f9c:
        .byte $20,$20                               // char 17 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 18 @+18
        .byte $20,$20,$20,$20,$20,$20,$04,$0f       // char 19 @+19
        .byte $0e,$0b,$05,$19,$20,$0b,$0f,$0e       // char 20 @+20
        .byte $07,$2b,$35,$20,$01,$0e,$04,$20       // char 21 @+21
        .byte $08,$09,$07,$08,$13,$03,$0f,$12       // char 22 @+22
        .byte $05,$13,$01,$16,$05,$12               // char 23 (partial)

txt_0fcc:
        .byte $20,$20                               // char 23 (partial)
        .byte $20,$20,$20,$20,$20,$20,$1c           // char 24 (partial)

txt_0fd5:
        .byte $20                                   // char 24 (partial)
        .byte $31,$39,$38,$36,$20,$02,$19,$20       // char 25 @+25
        .byte $0f,$03,$05,$01,$0e,$20,$13,$0f       // char 26 @+26
        .byte $06,$14,$17,$01,$12,$05,$20,$0c       // char 27 @+27
        .byte $09,$0d,$09,$14,$05,$04               // char 28 (partial)

txt_0ff4:
        .byte $20,$20                               // char 28 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 29 @+29
        .byte $20,$20                               // char 30 (partial)

// --- Region $1007-$1049 ---
.pc = $1007 "Segment $1007"
        .fill 8, $00
        .byte $07,$0e,$f1,$f2,$f4,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$18,$0c,$24,$09,$12,$20,$10,$08,$20 // .........$.. .. 
        .byte $8c,$8c,$8c,$06,$04,$04,$00,$00,$00,$01,$01,$01,$01,$01,$01,$00 // ................
        .byte $00,$00,$00,$f2,$00,$04,$04,$04,$01,$01,$01 // ...........

// --- Region $1235-$12ff ---
.pc = $1235 "Segment $1235"
        .byte $27,$38,$4b,$5f,$73,$8a,$a1,$ba,$d4,$f0,$0e,$2d,$4e,$71,$96,$bd // '8K_s......-Nq..
        .byte $e7,$13,$42,$74,$a9,$e0,$1b,$5a,$9b,$e2,$2c,$7b,$ce,$27,$85,$e8 // ..Bt...Z..,{.'..
        .byte $51,$c1,$37,$b4,$37,$c4,$57,$f5,$9c,$4e,$09,$d0,$a3,$82,$6e,$68 // Q.7.7.W..N....nh
        .byte $6e,$88,$af,$eb,$39,$9c,$13,$a1,$46,$04,$dc,$d0,$dc,$10,$5e,$d6 // n...9...F.....^.
        .byte $72,$38,$26,$42,$8c,$08,$b8,$a0,$b8,$20,$bc,$ac,$e4,$70,$4c,$84 // r8&B..... ...pL.
        .byte $18,$10,$70,$40,$70,$40,$78,$58,$c8,$e0,$98,$08,$30,$20,$2e,$01 // ..p@p@xX....0 ..
        .fill 10, $01
        .byte $02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04 // ................
        .byte $05,$05,$05,$06,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b,$0c // ................
        .byte $0d,$0d,$0e,$0f,$10,$11,$12,$13,$14,$15,$17,$18,$1a,$1b,$1d,$1f // ................

txt_12cf:
        .text " "
        .byte $22                                   // double quote character
        .text "$')+.147:>AEINRW"
        .byte $5c                                   // backslash character
        .byte $62,$68,$6e,$75,$7c,$83,$8b,$93,$9c,$a5,$af,$b9,$c4,$d0,$dd,$ea // bhnu|...........
        .byte $f8,$fd,$26,$29,$2c,$13,$13,$13,$00,$00,$00,$00,$00,$00 // ..&),.........

// --- Region $1320-$14ff ---
.pc = $1320 "dat_1320"

dat_1320:
        .byte $26,$29,$2c,$13,$13,$13,$8c,$01,$ff,$8c,$02,$ff,$8c,$03,$03,$04 // &),.............
        .byte $04,$06,$06,$05,$05,$07,$07,$ff,$00,$00,$a9,$07,$00,$00,$00,$00 // ................
        .byte $12,$00,$ab,$04,$80,$00,$1a,$00,$09,$00,$c8,$06,$07,$00,$00,$00 // ................
        .byte $15,$00,$85,$00,$00,$00,$00,$00,$20,$00,$ba,$04,$c0,$00,$00,$00 // ........ .......
        .byte $d7,$b3,$a7,$c0,$bb,$bd,$bd,$da,$01,$da,$a8,$a5,$a3,$a0,$9d,$9a // ................
        .byte $98,$10,$00,$00,$13,$da,$cf,$d5,$80,$16,$d0,$f4,$05,$f6,$70,$1e // ..............p.
        .byte $da,$00,$21,$81,$40,$40,$80,$80,$f0,$08,$80,$ff,$81,$11 // ..!.@@........

txt_138e:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $ff,$41,$40,$ff,$81,$80,$80,$80,$ff,$03,$88,$88,$88,$01,$ff,$81 // .A@.............
        .byte $46,$ff,$b6,$ba,$fa,$0e,$33,$5c,$7f,$93,$13,$13,$13,$14,$14,$14 // F.....3\........
        .byte $14,$14,$a0,$9f,$7f,$ff,$c2,$a0,$81,$18,$c3,$80,$18,$18,$c0,$81 // ................
        .byte $18,$c2,$80,$18,$c0,$18,$c2,$18,$c0,$18,$c2,$18,$c3,$18,$c0,$81 // ................
        .byte $18,$c2,$80,$18,$c3,$18,$c2,$81,$18,$c3,$80,$18,$18,$c0,$81,$18 // ................
        .byte $c2,$80,$18,$c0,$18,$c3,$18,$c0,$18,$c2,$18,$c3,$18,$c0,$81,$18 // ................
        .byte $c2,$80,$18,$c3,$18,$ff,$c1,$a0,$81,$0c,$18,$0c,$0e,$0f,$1b,$0f // ................
        .byte $10,$11,$1d,$11,$12,$13,$1f,$0f,$1b,$ff,$c4,$a0,$81,$24,$80,$24 // .............$.$
        .byte $24,$81
        .byte $26,$80
        .byte $24,$81
        .byte $27,$80
        .byte $24,$81
        .text "$)$'"
        .byte $80
        .byte $24
        .byte $24,$81,$26,$80                       // $.&.

txt_1428:
        .text "$'''$$&&$$"
        .byte $ff,$c4,$a0,$81,$24,$80,$24,$24,$81,$24,$80,$24,$81,$24,$80,$24 // ....$.$$.$.$.$.$
        .byte $81,$24,$e2,$00,$a1,$24,$a0,$85,$7e,$26,$ee,$ff,$a1,$81,$26,$a0 // .$...$..~&....&.
        .byte $85,$7e,$24,$ee,$ff,$81,$23,$7e,$22,$ff,$c4,$a0,$81,$24,$ee,$ff // .~$...#~"....$..
        .byte $24,$80
        .byte $24,$e3,$00
        .byte $24,$82,$7e
        .byte $26,$80
        .byte $24,$81
        .text "''()"
        .byte $ee,$ff,$82,$29,$ee,$ff,$27,$83,$24,$81,$22,$24,$ff,$c4,$a0,$81 // ...)..'.$."$....

txt_1482:
        .text "$00$0'$0$0)$0+$0"
        .byte $ff,$c4,$a0,$81,$24,$80,$24,$ee,$ff,$81,$24,$80,$24,$81,$26,$27 // ....$.$...$.$.&'
        .byte $ee,$ff,$27,$e2,$00,$26,$28,$29,$80,$29,$e2,$00,$81,$29,$ef,$ff // ..'..&().)...)..
        .byte $82
        .byte $2b,$81
        .text ")'&$"
        .byte $ff
        .byte $49,$0e,$14,$12,$0f
        .byte $20,$02,$19
        .byte $20,$4a,$01,$03,$0b,$20,$41,$0c,$09,$05,$0e //  J... A....

txt_14cd:
        .text " / R"
        .byte $05,$0d,$05,$0d,$02,$05,$12,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$0d,$03,$0e,$06,$06,$0e,$03,$0d,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$07,$0f,$0a,$02,$02,$0a,$0f,$07,$00,$00 // ...............

// --- Region $1527-$16a0 ---
.pc = $1527 "txt_1527"

txt_1527:
        .text "            "

txt_1533:
        .encoding "screencode_mixed"
        .text "a great 'smile' to: cyberpunx * emulators * nostalgia * hitmen * chromance * alpha flight * the ruling company+success * fantastic four cracking group * dynamic technologies * laxity * fairlight * triad * padua * crest * warriors of wasteland * nomad/sunrise * boomer * double artistry * the collector"
        .encoding "petscii_upper"

txt_1660:
        .text " * ... .. .   "

txt_166e:
        .encoding "screencode_mixed"
        .text "and ofcourse to you"
        .encoding "petscii_upper"

txt_1681:
        .text " !!! ***                       "
        .byte $00                                   // string terminator

// --- Region $1700-$189e ---
.pc = $1700 "txt_1700"

txt_1700:
        .encoding "screencode_mixed"
        .text "   here release"
        .encoding "petscii_upper"

txt_170f:
        .text " #115 ... "
        .byte $04,$0f,$0e,$0b,$05,$19,$20,$0b,$0f,$0e,$07 // ...... ....

txt_1724:
        .text " ... "

txt_1729:
        .encoding "screencode_mixed"
        .text "original tape supplied by fatman"
        .encoding "petscii_upper"

txt_1749:
        .text " ... "

txt_174e:
        .encoding "screencode_mixed"
        .text "cracked, trained, highscoresaver installed and documents typed by jack alien"
        .encoding "petscii_upper"

txt_179a:
        .text ".   "

txt_179e:
        .encoding "screencode_mixed"
        .text "in my option is this the best converted arcade classic version i've ever seen on this great machin"
        .encoding "petscii_upper"

chr_1800:
        // === Charset data (159 bytes, $1800-$189e) ===
        .byte $05,$2c,$20,$05,$16,$05,$0e,$20       // char 0 @+0
        .byte $02,$05,$14,$14,$05,$12,$20,$14       // char 1 @+1
        .byte $08,$01,$0e,$20,$14,$08,$05,$20       // char 2 @+2
        .byte $03,$01,$12,$14,$12,$09,$04,$07       // char 3 @+3
        .byte $05,$20,$16,$05,$12,$13,$09,$0f       // char 4 @+4
        .byte $0e                                   // char 5 (partial)

txt_1829:
        .byte $21,$20,$20,$20,$0f,$0b,$2c           // char 5 (partial)
        .byte $20,$04,$0f,$0e,$27,$14,$20,$17       // char 6 @+6
        .byte $01,$09,$14,$20,$0c,$0f,$0e,$07       // char 7 @+7
        .byte $05,$12,$20,$01,$0e,$04,$20,$10       // char 8 @+8
        .byte $0c,$01,$19,$20,$09,$14               // char 9 (partial)

txt_184e:
        .byte $21,$20                               // char 9 (partial)
        .byte $20,$20,$0a,$01,$03,$0b,$20,$01       // char 10 @+10
        .byte $0c,$09,$05,$0e,$20,$0f,$06,$20       // char 11 @+11
        .byte $12,$05,$0d,$05,$0d,$02,$05,$12       // char 12 @+12
        .byte $20,$09,$0e,$20,$0d,$01,$19           // char 13 (partial)

txt_186f:
        .byte $20                                   // char 13 (partial)
        .byte $31,$39,$39,$38,$2e,$2e,$2e,$20       // char 14 @+14
        .byte $2e,$2e,$20,$2e                       // char 15 (partial)

dat_187c:
        // === Fill data (35 bytes, $187c-$189e) ===
        .fill 35, $20
