// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:42
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $0d18 (3352)
//
// Code: 1012 bytes, Data: 62476 bytes
// Labels: 124, Subroutines: 23
//
// Cross-references: all OK
// ============================================


// --- Region $0d18-$0da9 ---
.pc = $0d18 "main_0d18"

main_0d18:
        jsr $e544
        dex
        stx $0286
        stx $d020
        stx $d021
        stx $d011
        jsr sub_10ae
        jsr sub_1249

loc_0d2e:
        lda #$08
        sta $d8c7,x
        sta $d8f8,x
        lda #$20
        sta $f6f7,x
        sta $d7ff,x
        sta $d9f7,x
        sta $daf6,x
        dex
        bne loc_0d2e
        jsr sub_1005
        lda #$a8
        ldx #$f6
        jsr sub_0f29
        lda #$e4
        ldx #$14
        jsr sub_107e
        lda #$20
        ldx #$f7
        jsr sub_0f29
        lda #$f8
        ldx #$14
        jsr sub_107e
        jsr sub_0f25
        lda #$35
        sta $01

loc_0d6d:
        ldx #$fb
        jsr sub_0e68
        lda #$1b
        sta $d011
        lda #$d8
        sta $d016
        lda $fe
        sec
        sbc #$02
        and #$07
        sta $fe
        bcs loc_0dcd
        ldx #$00

loc_0d89:
        lda $f799,x
        sta $f798,x
        lda $f7c1,x
        sta $f7c0,x
        inx
        cpx #$27
        bne loc_0d89
        lda $fd
        eor #$01
        sta $fd
        beq loc_0dc0
        ldy #$00
        lda #$20
        cmp #$20
        beq loc_0dbc

// --- Region $0dbc-$0de9 ---
.pc = $0dbc "loc_0dbc"

loc_0dbc:
        sta $ff
        bne loc_0dc5

loc_0dc0:
        lda $ff
        clc
        adc #$40

loc_0dc5:
        sta $f7bf
        adc #$80
        sta $f7e7

loc_0dcd:
        jsr sub_0e75
        jsr sub_0f7e
        lda #$10
        sta $d418
        jsr sub_128a
        lda $dc01
        cmp #$ef
        bne loc_0de5
        sta smc_0e76                                // SMC: modifies $0e76

loc_0de5:
        lda #$00
        beq loc_0e19

chr_0de9:
        // === Charset data (1 bytes, $0de9-$0de9) ===
        .byte $aa                                   // char 0 (partial)

// --- Region $0e19-$0eb9 ---
.pc = $0e19 "loc_0e19"

loc_0e19:
        ldx #$97
        ldy #$12
        jsr sub_0e6e
        ldx #$00
        ldy chr_0f40,x
        sty $d021
        pha
        ldx #$59
        jsr sub_0f51
        ldx #$10
        ldy chr_0f40,x
        sty $d021
        pla
        sta $d022
        sta $d023
        ldx #$b9
        jsr sub_0e68
        sta $d021
        ldx #$94
        ldy #$df
        jsr sub_0e6e
        ldx #$bb
        jsr sub_0f2e
        ldx #$d3
        jsr sub_0f2e
        lda $fe
        ldy #$01
        ldx #$ea
        jsr sub_0e68
        sta $d016
        sty $d021
        jmp loc_0d6d
// Referenced by: jsr from $0d6f, $0e3f, $0e5c; branch from $0e6b

sub_0e68:
        cpx $d012
        bne sub_0e68
        rts
// Referenced by: jsr from $0e1d, $0e49

sub_0e6e:
        stx $dd00
        sty $d018
        rts
// Referenced by: jsr from $0dcd

sub_0e75:
.label smc_0e76 = * + 1
        lda #$01                                    // !SMC: modified by $0de2
        beq loc_0ece
        lda #$00
        tax
        tay

loc_0e7d:
        lda chr_0ecf,x
        beq loc_0eb5
        dec chr_0ecf,x
        bne loc_0eae
        inx
        lda chr_0ecf,x
        sta loc_0ece,x
        inx
        lda chr_0ecf,x
        sta $f8
        inx
        lda chr_0ecf,x
        sta $f9
        inx
        lda ($f8),y
        cmp chr_0ecf,x
        beq loc_0eaa
        inx
        clc
        adc chr_0ecf,x
        sta ($f8),y
.label loc_0eaa = * + 1
        bit $e8
        inx
        bne loc_0e7d

loc_0eae:
        txa
        clc
        adc #$06
        tax
        bne loc_0e7d

loc_0eb5:
        lda #$ff
        bne loc_0ece

chr_0eb9:
        // === Charset data (1 bytes, $0eb9-$0eb9) ===
        .byte $4c                                   // char 0 (partial)

// --- Region $0ece-$0ece ---
.pc = $0ece "loc_0ece"

loc_0ece:
        rts

// --- Region $0f25-$0f3f ---
.pc = $0f25 "sub_0f25"
// Referenced by: jsr from $0d66

sub_0f25:
        lda #$0c
        ldx #$15
// Referenced by: jsr from $0d4e, $0d5c, $100c

sub_0f29:
        sta $fa
        stx $fb
        rts
// Referenced by: jsr from $0e4e, $0e53

sub_0f2e:
        ldy #$00

loc_0f30:
        lda chr_0f40,y

loc_0f33:
        cpx $d012
        bne loc_0f33
        sta $d021
        inx
        dey
        bpl loc_0f30
        rts

// --- Region $0f51-$0f93 ---
.pc = $0f51 "sub_0f51"
// Referenced by: jsr from $0e2b

sub_0f51:
        stx $f7
        ldy #$00
        sty $fc
        inx
        stx $f7

loc_0f5a:
        lda $1131,y
        tax
        lda $1159,y
        tay
        txa
        ldx $f7

loc_0f65:
        cpx $d012
        bne loc_0f65
        sta $d023
        sty $d022
        inx
        inx
        stx $f7
        ldy $fc
        iny
        sty $fc
        cpy #$01
        bne loc_0f5a
        rts
// Referenced by: jsr from $0dd0

sub_0f7e:
.label smc_0f7f = * + 1
        ldy #$01                                    // !SMC: modified by $0f81, $0f8b
        dey
        sty smc_0f7f                                // SMC: modifies $0f7f
        bne $0ff0
        sty smc_0fb1                                // SMC: modifies $0fb1
        lda #$03
        sta smc_0f7f                                // SMC: modifies $0f7f
.label smc_0f8f = * + 1
        ldx #$06                                    // !SMC: modified by $0fa8
        dex
        bne loc_0fa8

chr_0f93:
        // === Charset data (1 bytes, $0f93-$0f93) ===
        .byte $ac                                   // char 0 (partial)

// --- Region $0fa8-$0ff1 ---
.pc = $0fa8 "loc_0fa8"

loc_0fa8:
        stx smc_0f8f                                // SMC: modifies $0f8f
        stx smc_0fbd                                // SMC: modifies $0fbd
        ldy #$00

loc_0fb0:
.label smc_0fb1 = * + 1
        ldx #$00                                    // !SMC: modified by $0f86, $0fb7
        lda chr_0ff1,x
        bne loc_0fbc
        sta smc_0fb1                                // SMC: modifies $0fb1
        beq loc_0fb0

loc_0fbc:
.label smc_0fbd = * + 1
        ldx #$06                                    // !SMC: modified by $0fab, $0fcb

loc_0fbe:
        sta $1131,y
        iny
        cpy #$1c
        bcs $0fd3
        dex
        bne loc_0fbe
        ldx #$06
        stx smc_0fbd                                // SMC: modifies $0fbd
        inc smc_0fb1
        bne loc_0fb0
        ldy #$00
.label smc_0fd6 = * + 1
        ldx #$0b                                    // !SMC: modified by $0fdc
        dex
        bpl loc_0fdc

chr_0fda:
        // === Charset data (2 bytes, $0fda-$0fdb) ===
        .byte $a2,$0b                               // char 0 (partial)

loc_0fdc:
        stx smc_0fd6                                // SMC: modifies $0fd6

loc_0fdf:
        lda $0ff8,x
        bne loc_0fe7
        tax
        beq loc_0fdf

loc_0fe7:
        sta $1159,y
        inx
        iny
        cpy #$1c
        bne loc_0fdf
        rts

chr_0ff1:
        // === Charset data (1 bytes, $0ff1-$0ff1) ===
        .byte $09                                   // char 0 (partial)

// --- Region $1005-$1130 ---
.pc = $1005 "sub_1005"

// Referenced by: jsr from $0d47
sub_1005: {
        sei
        inc $01
        lda #$00
        ldx #$f8
        jsr sub_0f29
loop:
        jsr sub_103a
        jsr sub_112b
        jsr sub_112b
        jsr sub_103a
        lda #$08
        jsr sub_102e
        lda $fb
        and #$f9
        sta $fb
        dec $1148
        bne loop
        dec $01
        rts
}
// Referenced by: jsr from $101d, $1097

sub_102e:
        clc
        adc $fa
        sta $fa
        lda $fb
        adc #$00
        sta $fb
        rts
// Referenced by: jsr from $100f, $1018

sub_103a:
        ldy #$01
        lda #$04
        sta $fe

loc_1040:
        inc $01
        lda $d000
        dec $01
        jsr sub_1062
        jsr sub_112b
        jsr sub_1062
        jsr sub_111a
        inc $1043
        bne loc_105b
        inc $1044

loc_105b:
        iny
        iny
        dec $fe
        bne loc_1040
        rts

// Referenced by: jsr from $1047, $104d
sub_1062: {
        ldx #$04
loop:
        asl
        bcc loc_1069
        clc
.label loc_1069 = * + 1
        bit $38
        pha
        php
        lda ($fa),y
        rol
        plp
        rol
        sta ($fa),y
        dey
        lda #$ff
        sta ($fa),y
        iny
        pla
        dex
        bne loop
        rts
}
// Referenced by: jsr from $0d55, $0d63

sub_107e:
        sta smc_1087                                // SMC: modifies $1087
        stx smc_1088                                // SMC: modifies $1088
        ldx #$00

loc_1086:
.label smc_1087 = * + 1
.label smc_1088 = * + 2
        lda $ffff,x                                 // !SMC: modified by $107e, $1081
        ldy #$00
        jsr sub_10a0
        ldy #$28
        adc #$40
        jsr sub_10a0
        lda #$02
        jsr sub_102e
        inx
        cpx #$14
        bne loc_1086
        rts
// Referenced by: jsr from $108b, $1092

sub_10a0:
        clc
        sta ($fa),y
        adc #$40
        iny
        sta ($fa),y
        rts

dat_10a9:
        .byte $00,$30,$11,$00,$04                   // .0...
// Referenced by: jsr from $0d28

sub_10ae:
        ldx #$05

loc_10b0:
        ldy $10a8,x
        sty $f6,x
        dex
        bne loc_10b0

loc_10b8:
        jsr sub_10f2
        bne loc_10dd
        jsr sub_10f5
        cmp #$f2
        bne loc_10e1
        jsr sub_10f5
        bne loc_10d2
        jsr sub_10f2
        beq loc_10f1
        lda #$f2
        bne loc_10e1

loc_10d2:
        sta smc_10d9                                // SMC: modifies $10d9
        jsr sub_10f5
.label smc_10d9 = * + 1
        ldx #$00                                    // !SMC: modified by $10d2
        jmp loc_10e3

loc_10dd:
        ldx $fc
        inx
        txa

loc_10e1:
        ldx #$01

loc_10e3:
        sta $fc

loc_10e5:
        lda $fc
        sta ($fa),y
        jsr sub_1126
        dex
        bne loc_10e5
        beq loc_10b8

loc_10f1:
        rts
// Referenced by: jsr from $10b8, $10c9

sub_10f2:
        ldx #$01
.label sub_10f5 = * + 1
        bit $08a2
        stx $fe
        sty $fd

loc_10fb:
        ldx $f7
        bne loc_1106
        lda ($f8),y
        sta $ff
        jsr sub_111f

loc_1106:
        asl $ff
        rol $fd
        inx
        cpx #$08
        bne loc_1111
        ldx #$00

loc_1111:
        stx $f7
        dec $fe
        bne loc_10fb
        lda $fd
        rts
// Referenced by: jsr from $1050

sub_111a:
        dec $fb
        dec $fb
        rts
// Referenced by: jsr from $1103

sub_111f:
        inc $f8
        bne loc_1125
        inc $f9

loc_1125:
        rts
// Referenced by: jsr from $10e9

sub_1126:
        inc $fa
        bne loc_112f
.label sub_112b = * + 1
        bit $fbe6
        inc $fb

loc_112f:
        rts

dat_1130:
        .byte $79                                   // y

// --- Region $1249-$125a ---
.pc = $1249 "sub_1249"
// Referenced by: jsr from $0d2b

sub_1249:
        ldx #$18

loc_124b:
        lda $1271,x
        sta $d400,x
        lda dat_125b,x
        sta $03e0,x
        dex
        bpl loc_124b

loc_125a:
        rts

// --- Region $128a-$1326 ---
.pc = $128a "sub_128a"
// Referenced by: jsr from $0dd8

sub_128a:
        dec $03e0
        bne loc_125a
        lda #$0a
        sta $03e0
        ldx #$02

loc_1296:
        dec $03e4,x
        bne loc_12f3
        txa
        sta $9e
        asl
        pha
        asl
        asl
        sec
        sbc $9e
        tay
        lda $03e1,x
        sta $d404,y
        pla
        tay

loc_12ae:
        lda $03f0,y
        sta $9e
        clc
        adc #$03
        sta $03f0,y
        lda $03f1,y
        sta $9f
        adc #$00
        sta $03f1,y
        ldy #$02
        lda ($9e),y
        beq loc_12f0
        sta $03ea,x
        dey
        lda ($9e),y
        sta $03e7,x
        lda #$01

loc_12d4:
        sta $03ed,x
        dey
        lda ($9e),y
        sta $03e4,x
        bne loc_12f3
        txa
        asl
        tay
        lda $132a,y
        sta $03f0,y
        lda $132b,y
        sta $03f1,y
        bne loc_12ae

loc_12f0:
        dey
        bcc loc_12d4

loc_12f3:
        dex
        bpl loc_1296
        ldy #$04
        sty $d40a
        ldx #$01
        dey

loc_12fe:
        lda $03e7,y
        sta $d400,x
        lda $03e8,y
        sta $d407,x
        lda $03e9,y
        sta $d40e,x
        ldy #$00
        dex
        bpl loc_12fe
        ldx #$02

loc_1317:
        ldy dat_1327,x
        lda $03e1,x
        ora $03ed,x
        sta $d404,y
        dex
        bpl loc_1317
        rts

// --- Region $14cf-$14e3 ---
.pc = $14cf "loc_14cf"

loc_14cf:
        lda $1700,x
        sta $0801,x
        inx
        bne loc_14cf
.label loc_14d9 = * + 1
        inc $01f0
.label loc_14dc = * + 1
        inc $01ed
        bne loc_14cf
        dec $01
        cli
        rts

// --- Region $20c9-$20c9 ---
.pc = $20c9 "Segment $20c9"
        brk

// --- Region $8ed0-$8ed0 ---
.pc = $8ed0 "Segment $8ed0"
        brk

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

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

// --- Region $f79d-$f7a2 ---
.pc = $f79d "Segment $f79d"
        brk

dat_f79e:
        .byte $00,$00,$00,$00                       // ....
        brk

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

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

chr_0800:
        // === Charset data (1304 bytes, $0800-$0d17) ===
        .byte $00,$0b,$08,$00,$00,$9e               // char 0 (partial)

txt_0806:
        .byte $33,$33                               // char 0 (partial)
        .byte $35,$32,$00,$00,$00,$00,$00,$00       // char 1 @+1
        .byte $ff,$fa,$e9,$e6,$99,$a6,$99,$a6       // char 2 @+2
        .byte $aa,$66,$99,$66,$99,$66,$99,$65       // char 3 @+3
        .byte $aa,$66,$99,$66,$99,$66,$55,$7f       // char 4 @+4
        .byte $aa,$66,$99,$66,$99,$66,$55,$ff       // char 5 @+5
        .byte $af,$6b,$97,$67,$97,$67,$5f,$fe       // char 6 @+6
        .byte $ea,$a6,$99,$a6,$99,$a6,$99,$66       // char 7 @+7
        .byte $aa,$66,$99,$66,$99,$66,$99,$66       // char 8 @+8
        .byte $ff,$bf,$7f,$7f,$7f,$7f,$7f,$5f       // char 9 @+9
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 10 @+10
        .byte $fe,$fa,$f9,$fa,$f9,$fa,$f9,$fa       // char 11 @+11
        .byte $ab,$66,$99,$65,$99,$65,$99,$65       // char 12 @+12
        .byte $fa,$e9,$e6,$e9,$e6,$e9,$e6,$e9       // char 13 @+13
        .byte $aa,$99,$66,$99,$66,$99,$66,$99       // char 14 @+14
        .byte $aa,$99,$66,$99,$66,$99,$56,$7d       // char 15 @+15
        .byte $bf,$ab,$66,$99,$66,$99,$66,$99       // char 16 @+16
        .byte $ff,$ff,$ff,$bf,$bf,$9f,$5f,$97       // char 17 @+17
        .byte $ff,$bf,$7f,$7f,$7f,$7f,$7f,$7f       // char 18 @+18
        .byte $af,$9b,$67,$97,$67,$97,$67,$97       // char 19 @+19
        .byte $ff,$ff,$ff,$fe,$fe,$fa,$f9,$e6       // char 20 @+20
        .byte $fe,$ea,$99,$66,$99,$66,$99,$66       // char 21 @+21
        .byte $aa,$66,$99,$66,$99,$66,$95,$5f       // char 22 @+22
        .byte $af,$6b,$97,$67,$97,$67,$5f,$ff       // char 23 @+23
        .byte $ea,$a6,$99,$a6,$99,$a6,$99,$a6       // char 24 @+24
        .byte $fa,$e6,$e9,$e6,$e9,$e6,$e9,$e6       // char 25 @+25
        .byte $af,$6b,$97,$67,$97,$67,$97,$67       // char 26 @+26
        .byte $ea,$a6,$99,$a6,$99,$a6,$e5,$ff       // char 27 @+27
        .byte $aa,$66,$99,$66,$99,$66,$55,$f6       // char 28 @+28
        .byte $ab,$6a,$99,$65,$99,$65,$57,$ff       // char 29 @+29
        .byte $99,$a6,$99,$a6,$99,$a6,$99,$a6       // char 30 @+30
        .byte $99,$65,$99,$65,$99,$65,$99,$65       // char 31 @+31
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 32 ' '
        .byte $99,$66,$99,$66,$99,$66,$99,$66       // char 33 '!'
        .byte $fe,$fe,$fe,$fe,$fe,$fa,$f9,$fa       // char 34 '"'
        .byte $9f,$5f,$9f,$5f,$9f,$67,$97,$67       // char 35 '#'
        .byte $f9,$fa,$f9,$fa,$f9,$fa,$f9,$fa       // char 36 '$'
        .byte $e6,$e9,$e6,$e9,$e6,$e9,$e6,$e9       // char 37 '%'
        .byte $66,$99,$66,$99,$66,$99,$66,$99       // char 38 '&'
        .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7f       // char 39 '''
        .byte $66,$99,$e6,$e9,$e6,$f9,$fa,$f9       // char 40 '('
        .byte $67,$97,$65,$99,$65,$99,$65,$99       // char 41 ')'
        .byte $67,$97,$67,$97,$67,$97,$67,$97       // char 42 '*'
        .byte $e9,$e6,$99,$a6,$99,$a6,$99,$a6       // char 43 '+'
        .byte $99,$66,$99,$65,$99,$65,$99,$65       // char 44 ','
        .byte $7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff       // char 45 '-'
        .byte $e9,$e6,$e9,$e6,$e9,$e6,$e9,$e6       // char 46 '.'
        .byte $97,$67,$97,$67,$97,$67,$97,$67       // char 47 '/'
        .byte $9f,$5f,$9f,$5f,$9f,$5f,$9f,$5f       // char 48 '0'
        .byte $99,$65,$99,$65,$99,$66,$99,$66       // char 49 '1'
        .byte $ff,$ff,$ff,$aa,$99,$66,$99,$66       // char 50 '2'
        .byte $ff,$ff,$ff,$af,$9b,$67,$97,$67       // char 51 '3'
        .byte $f9,$fa,$f9,$e6,$e9,$e6,$e9,$e6       // char 52 '4'
        .byte $99,$56,$99,$7a,$79,$7a,$79,$7a       // char 53 '5'
        .byte $97,$67,$97,$65,$99,$65,$99,$65       // char 54 '6'
        .byte $fa,$f9,$fa,$f9,$fa,$f9,$fa,$f9       // char 55 '7'
        .byte $65,$99,$65,$99,$65,$99,$65,$99       // char 56 '8'
        .byte $ff,$ff,$ff,$fa,$e9,$e6,$e9,$e6       // char 57 '9'
        .byte $ff,$ff,$ff,$ab,$97,$67,$97,$67       // char 58 ':'
        .byte $99,$55,$ff,$ff,$ff,$ff,$ff,$ff       // char 59 ';'
        .byte $97,$5f,$ff,$ff,$ff,$ff,$ff,$fe       // char 60 '<'
        .byte $e9,$a6,$99,$a6,$99,$a6,$99,$66       // char 61 '='
        .byte $99,$65,$99,$65,$99,$65,$99,$66       // char 62 '>'
        .byte $79,$fe,$fe,$fe,$fe,$fe,$6a,$66       // char 63 '?'
        .byte $ff,$7f,$7f,$7f,$7f,$7f,$7f,$5f       // char 64 '@'
        .byte $7f,$7f,$7f,$7f,$7f,$7e,$5a,$99       // char 65 'A'
        .byte $e6,$e9,$e6,$99,$a6,$99,$66,$99       // char 66 'B'
        .byte $67,$97,$67,$9f,$5f,$7f,$7f,$ff       // char 67 'C'
        .byte $e9,$f9,$ff,$ff,$ff,$ff,$ff,$ff       // char 68 'D'
        .byte $99,$56,$d9,$e6,$e9,$e6,$e9,$e6       // char 69 'E'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$6a,$66       // char 70 'F'
        .byte $e9,$e6,$e9,$e6,$e9,$e6,$99,$66       // char 71 'G'
        .byte $99,$66,$99,$66,$95,$5f,$9f,$5f       // char 72 'H'
        .byte $99,$66,$99,$66,$55,$ff,$ff,$ff       // char 73 'I'
        .byte $99,$66,$99,$66,$59,$d6,$e9,$e6       // char 74 'J'
        .byte $66,$99,$66,$99,$56,$7d,$7f,$7f       // char 75 'K'
        .byte $57,$9f,$6b,$9a,$66,$99,$66,$99       // char 76 'L'
        .byte $ff,$ff,$ff,$ff,$bf,$bf,$5f,$9f       // char 77 'M'
        .byte $99,$66,$99,$66,$99,$65,$99,$65       // char 78 'N'
        .byte $9f,$5f,$9f,$7f,$7f,$7f,$7f,$7f       // char 79 'O'
        .byte $e9,$e6,$e9,$fa,$f9,$fa,$f9,$fa       // char 80 'P'
        .byte $e6,$e9,$e6,$f9,$fa,$f9,$fa,$f9       // char 81 'Q'
        .byte $67,$97,$67,$99,$65,$99,$65,$99       // char 82 'R'
        .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$6f       // char 83 'S'
        .byte $99,$a6,$99,$a6,$99,$e6,$e9,$e6       // char 84 'T'
        .byte $ff,$ff,$ff,$ff,$ff,$7f,$7f,$5f       // char 85 'U'
        .byte $99,$a6,$99,$a6,$99,$a6,$e5,$ff       // char 86 'V'
        .byte $99,$65,$99,$65,$99,$65,$57,$ff       // char 87 'W'
        .byte $e9,$a6,$99,$a6,$99,$a6,$e5,$ff       // char 88 'X'
        .byte $7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 89 'Y'
        .byte $f9,$fe,$fe,$fe,$fe,$fe,$ff,$ff       // char 90 'Z'
        .byte $99,$66,$99,$66,$99,$66,$95,$ff       // char 91 '['
        .byte $f9,$7a,$79,$7a,$79,$7a,$fe,$ff       // char 92 '\'
        .byte $e6,$e9,$e6,$e9,$e6,$e9,$f9,$ff       // char 93 ']'
        .byte $66,$99,$66,$99,$66,$99,$55,$ff       // char 94 '^'
        .byte $7f,$7f,$7f,$7f,$7f,$7f,$ff,$ff       // char 95 '_'
        .byte $fa,$f9,$fa,$f9,$fa,$f9,$fe,$ff       // char 96 '`'
        .byte $65,$99,$65,$99,$65,$99,$57,$ff       // char 97 'a'
        .byte $e6,$e9,$e6,$f9,$fa,$fe,$ff,$ff       // char 98 'b'
        .byte $66,$99,$66,$99,$66,$59,$d5,$ff       // char 99 'c'
        .byte $5a,$99,$66,$99,$66,$99,$55,$ff       // char 100 'd'
        .byte $aa,$99,$66,$99,$66,$99,$55,$ff       // char 101 'e'
        .byte $ab,$9a,$65,$99,$65,$99,$57,$ff       // char 102 'f'
        .byte $67,$97,$67,$97,$67,$97,$5f,$ff       // char 103 'g'
        .byte $f9,$fa,$fe,$fe,$ff,$ff,$ff,$ff       // char 104 'h'
        .byte $99,$66,$99,$66,$59,$d6,$fd,$ff       // char 105 'i'
        .byte $9a,$66,$99,$66,$99,$66,$55,$ff       // char 106 'j'
        .byte $a9,$66,$99,$66,$99,$66,$55,$ff       // char 107 'k'
        .byte $97,$67,$97,$67,$97,$67,$5f,$ff       // char 108 'l'
        .byte $e9,$e6,$e9,$e6,$e9,$e6,$f9,$ff       // char 109 'm'
        .byte $f9,$fa,$f9,$fa,$f9,$fa,$fe,$ff       // char 110 'n'
        .byte $99,$66,$99,$66,$99,$66,$55,$ff       // char 111 'o'
        .byte $9f,$5f,$9f,$5f,$9f,$5f,$7f,$ff       // char 112 'p'
        .byte $f3,$cf,$9f,$9f,$3e,$3c,$3c,$39       // char 113 'q'
        .byte $f0,$ce,$9f,$3f,$7f,$fe,$fc,$f9       // char 114 'r'
        .byte $ff,$7f,$3f,$3f,$7f,$7f,$ff,$ff       // char 115 's'
        .byte $ff,$fe,$fe,$fc,$fd,$fd,$fd,$f9       // char 116 't'
        .byte $3f,$9f,$df,$9f,$9f,$bf,$3f,$7f       // char 117 'u'
        .byte $f9,$f4,$f6,$e4,$ec,$ed,$e9,$cb       // char 118 'v'
        .byte $99,$66,$99,$66,$99,$56,$99,$56       // char 119 'w'
        .byte $3c,$9a,$db,$92,$96,$b6,$34,$65       // char 120 'x'
        .byte $ff,$7f,$7f,$7f,$7f,$ff,$ff,$ff       // char 121 'y'
        .byte $fe,$fd,$fd,$f9,$fb,$fb,$fa,$f2       // char 122 'z'
        .byte $7f,$3f,$bf,$3f,$3f,$73,$73,$e7       // char 123 '{'
        .byte $99,$c3,$f0,$f3,$e7,$e7,$e7,$c7       // char 124 '|'
        .byte $f3,$c7,$1f,$ff,$ff,$ff,$ff,$ff       // char 125 '}'
        .byte $ff,$ff,$f8,$e6,$cf,$9f,$9f,$3f       // char 126 '~'
        .byte $fa,$fa,$f8,$79,$39,$33,$93,$83       // char 127
        .byte $7f,$ff,$f8,$e6,$cf,$9f,$9f,$3f       // char 128
        .byte $d3,$d7,$c7,$4e,$0c,$19,$99,$93       // char 129
        .byte $ff,$ff,$8f,$67,$f3,$f2,$e6,$9e       // char 130
        .byte $ff,$ff,$31,$2c,$1e,$1e,$3e,$7e       // char 131
        .byte $ff,$ff,$ff,$ff,$7f,$7f,$7f,$7f       // char 132
        .byte $69,$eb,$e3,$e7,$e6,$cc,$cc,$89       // char 133
        .byte $ff,$ff,$c7,$33,$79,$f9,$f3,$ce       // char 134
        .byte $ff,$ff,$f1,$cc,$9e,$3e,$3e,$7f       // char 135
        .byte $f4,$f5,$80,$f3,$73,$67,$e7,$e7       // char 136
        .byte $ff,$ff,$67,$cf,$ce,$cc,$9c,$99       // char 137
        .byte $ff,$ff,$c7,$31,$78,$f9,$fc,$fc       // char 138
        .byte $ff,$ff,$e6,$85,$23,$c3,$c7,$cf       // char 139
        .byte $ff,$ff,$3f,$9f,$cf,$cf,$cf,$cf       // char 140
        .byte $c7,$e7,$e3,$e3,$f1,$f0,$f8,$fe       // char 141
        .byte $fe,$fe,$fc,$f8,$f1,$c3,$03,$0b       // char 142
        .byte $3f,$7f,$7f,$7f,$3e,$3c,$99,$c7       // char 143
        .byte $87,$96,$24,$24,$61,$e3,$e3,$f7       // char 144
        .byte $92,$b0,$31,$23,$23,$13,$19,$bc       // char 145
        .byte $3c,$fc,$f8,$f0,$e4,$c9,$99,$79       // char 146
        .byte $7c,$fc,$fc,$f9,$f9,$f9,$f8,$fd       // char 147
        .byte $ff,$ff,$ff,$ff,$ff,$7f,$ff,$ff       // char 148
        .byte $fe,$fe,$fc,$fc,$f9,$f3,$07,$1f       // char 149
        .byte $87,$97,$27,$26,$64,$e1,$e3,$f7       // char 150
        .byte $99,$18,$18,$91,$91,$89,$8c,$de       // char 151
        .byte $1e,$7c,$f8,$fa,$f2,$e6,$cf,$3f       // char 152
        .byte $7f,$ff,$ff,$ff,$7e,$7c,$31,$87       // char 153
        .byte $c7,$cf,$8f,$0e,$4d,$cb,$c7,$ef       // char 154
        .byte $99,$9b,$33,$33,$21,$2d,$1c,$be       // char 155
        .byte $fc,$fc,$f9,$f9,$f3,$e7,$cf,$3f       // char 156
        .byte $cf,$9f,$9f,$9f,$9f,$3f,$3f,$3f       // char 157
        .byte $9f,$9f,$9f,$3f,$3f,$2f,$1f,$bf       // char 158
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe       // char 159
        .byte $d7,$97,$a7,$27,$6f,$6f,$4f,$4f       // char 160
        .byte $fe,$fe,$ff,$ff,$ff,$ff,$ff,$ff       // char 161
        .byte $df,$1f,$3f,$ff,$ff,$ff,$ff,$ff       // char 162

// --- Region $0daa-$0dbb ---
.pc = $0daa "chr_0daa"

chr_0daa:
        // === Charset data (18 bytes, $0daa-$0dbb) ===
        .byte $b1,$fa,$d0,$05,$20,$25,$0f,$d0       // char 0 @+0
        .byte $f7                                   // char 1 (partial)

txt_0db3:
        .byte $29,$3f,$aa,$a9,$01,$20,$2e           // char 1 (partial)
        .byte $10,$8a                               // char 2 (partial)

// --- Region $0dea-$0e18 ---
.pc = $0dea "Program $0dea"
        .byte $ca,$8e,$21,$d0,$8e,$11,$d0           // char 0 (partial)
        .byte $a2,$97,$a0,$16,$20,$6e,$0e,$a9       // char 1 @+1
        .byte $c8,$8d,$16,$d0,$a9,$37,$85,$01       // char 2 @+2
        .byte $20,$44,$e5,$a9,$1b,$8d,$11,$d0       // char 3 @+3
        .byte $a2,$ff,$9a,$e6,$01,$a0,$18,$b9       // char 4 @+4
        .byte $cb,$14,$48,$88,$10,$f9,$e8,$60       // char 5 @+5

// --- Region $0eba-$0ecd ---
.pc = $0eba "Program $0eba"
        .byte $bc,$0e,$a2,$2a,$bd,$fa,$0e           // char 0 (partial)
        .byte $9d,$cf,$0e,$ca,$10,$f7,$8e,$b6       // char 1 @+1
        .byte $0e,$e8,$8e,$76,$0e                   // char 2 (partial)

// --- Region $0ecf-$0f24 ---
.pc = $0ecf "chr_0ecf"

chr_0ecf:
        // === Charset data (86 bytes, $0ecf-$0f24) ===
        .byte $60,$03,$2f,$0f,$10,$01,$02,$02       // char 0 @+0
        .byte $7a,$0f,$1d,$01,$40,$02,$21,$0e       // char 1 @+1
        .byte $08,$01,$50,$02,$2f,$0e,$08,$ff       // char 2 @+2
        .byte $80,$80,$a5,$0d,$21,$01,$a0,$a0       // char 3 @+3
        .byte $b6,$0e,$00,$01,$07,$07,$d4,$0d       // char 4 @+4
        .byte $1f,$01,$00,$60,$03,$2f,$0f,$00       // char 5 @+5
        .byte $ff,$02,$02,$7a,$0f,$01,$ff,$c0       // char 6 @+6
        .byte $02,$21,$0e,$00,$ff,$d0,$02,$2f       // char 7 @+7
        .byte $0e,$10,$01,$01,$80,$a5,$0d,$20       // char 8 @+8
        .byte $ff,$fe,$00,$e6,$0d,$01,$01,$10       // char 9 @+9
        .byte $10,$d4,$0d,$10,$ff,$00               // char 10 (partial)

// --- Region $0f40-$0f50 ---
.pc = $0f40 "chr_0f40"

chr_0f40:
        // === Charset data (17 bytes, $0f40-$0f50) ===
        .byte $00,$06,$0e,$0e,$03,$03,$0d,$0d       // char 0 @+0
        .byte $01,$01,$07,$07,$0a,$0a,$02,$02       // char 1 @+1
        .byte $00                                   // char 2 (partial)

// --- Region $0f94-$0fa7 ---
.pc = $0f94 "Program $0f94"
        .byte $f1,$0f,$a2,$00,$bd,$f2,$0f           // char 0 (partial)
        .byte $9d,$f1,$0f,$e8,$e0,$05,$d0,$f5       // char 1 @+1
        .byte $8c,$f6,$0f,$a2,$06                   // char 2 (partial)

// --- Region $0ff2-$1004 ---
.pc = $0ff2 "Program $0ff2"
        .byte $02,$08,$0a,$08,$02,$00,$09           // char 0 (partial)
        .byte $02,$08,$0a,$0f,$07,$01,$07,$0f       // char 1 @+1
        .byte $0a,$08,$02,$00                       // char 2 (partial)

// --- Region $1131-$1248 ---
.pc = $1131 "Segment $1131"
        .byte $07,$90,$1c,$7e,$f2,$22,$20,$3e,$7f,$bc,$87,$c8,$11,$bd,$1e,$91 // ...~." >........
        .byte $ef,$21,$f2,$04,$fd,$e4               // .!....

txt_1147:
        .text "L"
        .byte $40                                   // @ character
        .byte $a1                                   // '!' | $80 (end-of-string marker)
        .byte $bc,$86,$08,$00,$5f,$ff,$c1,$b0,$93,$c8,$08,$28,$1a,$13,$e0,$50 // ...._......(...P
        .byte $bc,$18,$0a,$0c,$f0,$40,$58,$3a,$f2,$02,$20,$0f,$5e,$40,$41,$42 // .....@X:.. .^@AB
        .byte $21,$09,$dc
        .byte $46,$0a,$12,$07,$c4,$be
        .byte $25,$de
        .byte $40                                   // @ character
        .text "ABQW"
        .byte $79,$01,$05,$07,$a0,$a1,$74,$14,$24,$10,$8c,$01,$4f,$20,$22,$00 // y.....t.$...O ".
        .byte $f0,$c7,$88,$46,$b0,$50,$90           // ...F.P.

txt_1191:
        .text ">%"
        .byte $c6                                   // 'F' | $80 (end-of-string marker)
        .byte $f1,$2e,$f2,$02,$0a,$12,$8a,$83,$d1,$c8,$c8,$74,$1e,$82,$85,$d0 // ...........t....
        .byte $50,$90,$42,$30,$05,$3c,$80,$88,$03,$d1,$df,$88,$48,$02,$40,$f8 // P.B0.<......H.@.
        .byte $96,$41,$c4,$bb,$c8,$08,$28,$4a,$2a,$0f,$48,$91,$78,$78,$7c,$46 // .A....(J*.H.xx|F
        .byte $8b,$c1,$42,$41,$08,$c0,$14,$f2,$02,$20,$0f,$41,$42,$21,$09,$23 // ..BA..... .AB!.#
        .byte $11,$c3,$e2,$59,$2f,$12,$ef           // ...Y/..

txt_11db:
        .text "  "
        .byte $a1                                   // '!' | $80 (end-of-string marker)
        .byte $28,$a8,$3d,$05,$0b,$a1,$e2,$71,$26,$2f,$05,$09,$04,$23,$00,$53 // (.=....q&/...#.S
        .byte $c8,$08,$80,$3d,$05,$0d,$04,$24,$f0,$51,$40,$6c,$24,$0f,$89,$72 // ...=...$.Q@l$..r
        .byte $8c                                   // .

txt_11ff:
        .text "K)"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $80,$82,$84,$a2,$a2,$a0,$f8,$aa,$2e,$87,$a0,$a1,$74,$14,$24,$10 // ............t.$.
        .byte $8c,$01,$4f,$20,$22,$02,$b4,$14,$58,$2b,$96 // ..O "...X+.

txt_121d:
        .text "AE"
        .byte $ac                                   // ',' | $80 (end-of-string marker)
        .byte $ae,$5d,$ff,$97,$4c,$ff               // .]..L.

txt_1226:
        .text "+AF"
        .byte $d3                                   // 'S' | $80 (end-of-string marker)
        .byte $60,$28,$dd,$82,$9e,$46,$e4,$07,$1e,$78,$88,$0f,$57,$90,$f9,$01 // `(...F...x..W...
        .byte $f3,$a1,$7f,$bc,$87,$08,$11,$a9,$54,$7a,$5b,$fd,$e4,$00,$00 // ........Tz[....

// --- Region $125b-$1289 ---
.pc = $125b "dat_125b"

dat_125b:
        .byte $01,$10,$40,$40,$02,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ..@@............
        .byte $81,$13,$30,$13,$81,$13,$00,$00,$00,$08,$10,$2e,$4e,$00,$00,$00 // ..0.........N...
        .byte $08,$40,$8a,$0a,$00,$00,$00,$07,$40,$0a,$0a,$00,$7d,$d6,$1f // .@......@...}..

// --- Region $1327-$14ce ---
.pc = $1327 "dat_1327"

dat_1327:
        .byte $00,$07,$0e,$81,$13,$30,$13,$81,$13,$03,$85,$06,$03,$e2,$04,$06 // .....0..........
        .byte $2c,$05,$03,$cf,$05,$03,$cf,$05,$06,$85,$06,$03,$85,$06,$03,$e2 // ,...............
        .byte $04,$06,$2c,$05,$03,$cf,$05,$03,$cf,$05,$06,$85,$06,$03,$85,$06 // ..,.............
        .byte $02,$85,$06,$01,$0a,$0d,$06,$2c,$05,$03,$cf,$05,$02,$e2,$04,$01 // .......,........
        .byte $cf,$05,$06,$85,$06,$03,$85,$06,$03,$e2,$04,$06,$2c,$05,$03,$cf // ............,...
        .byte $05,$03,$e2,$04,$06,$42,$03,$00,$00,$00,$60,$00,$00,$03,$29,$34 // .....B....`...)4
        .byte $01,$8c,$3a,$01,$08,$3e,$01,$29,$34,$04,$a1,$45,$02,$08,$3e,$01 // ..:..>.)4..E..>.
        .byte $8d,$3a,$01,$08,$3e,$04,$8d,$3a,$06,$29,$34,$03,$29,$34,$01,$8d // .:..>..:.)4.)4..
        .byte $3a,$01,$08,$3e,$01,$29,$34,$04,$a1,$45,$02,$08,$3e,$01,$8c,$3a // :..>.)4..E..>..:
        .byte $01,$08,$3e,$04,$a1,$45,$06,$27,$4e,$03,$27,$4e,$01,$cd,$52,$01 // ..>..E.'N.'N..R.
        .byte $27,$4e,$01,$cd,$52,$04,$27,$4e,$02,$a1,$45,$01,$08,$3e,$01,$a1 // 'N..R.'N..E..>..
        .byte $45,$04,$8d,$3a,$06,$29,$34,$03,$29,$34,$01,$8d,$3a,$01,$08,$3e // E..:.)4.)4..:..>
        .byte $01,$29,$34,$04,$a1,$45,$02,$08,$3e,$01,$8c,$3a,$01,$08,$3e,$02 // .)4..E..>..:..>.
        .byte $8c,$3a,$02,$78,$2e,$06,$29,$34,$02,$0a,$0d,$02,$0a,$0d,$01,$a3 // .:.x..)4........
        .byte $0e,$01,$82,$0f,$04,$b3,$14,$02,$89,$13,$02,$68,$11,$02,$82,$0f // ...........h....
        .byte $02,$a3,$0e,$03,$82,$0f,$01,$68,$11,$02,$a3,$0e,$02,$0a,$0d,$02 // .......h........
        .byte $0a,$0d,$01,$a3,$0e,$01,$82,$0f,$02,$b3,$14,$02,$89,$13,$02,$68 // ...............h
        .byte $11,$02,$82,$0f,$02,$a3,$0e,$02,$82,$0f,$06,$c4,$09,$02,$0a,$0d // ................
        .byte $02,$a3,$0e,$02,$82,$0f,$02,$b3,$14,$02,$89,$13,$02,$68,$11,$02 // .............h..
        .byte $82,$0f,$02,$a3,$0e,$02,$82,$0f,$06,$82,$0f,$02,$0a,$0d,$02,$0a // ................
        .byte $0d,$01,$a3,$0e,$01,$82,$0f,$02,$b3,$14,$02,$b3,$14,$02,$89,$13 // ................
        .byte $02,$68,$11,$02,$82,$0f,$01,$a3,$0e,$01,$82,$0f,$06,$0a,$0d,$06 // .h..............
        .byte $0a,$0d,$09,$82,$0f,$03,$a3,$0e,$06,$0a,$0d,$06,$13,$27,$09,$d0 // .............'..
        .byte $22,$03,$04,$1f,$06,$14,$1a,$03,$14,$1a,$02,$14,$1a,$01,$13,$27 // "..............'
        .byte $06,$66,$29,$03,$d0,$22,$02,$04,$1f,$01,$46,$1d,$06,$14,$1a,$03 // .f).."....F.....
        .byte $14,$1a,$03,$8a,$13,$06,$b3,$14,$04,$04,$1f,$05,$d0,$22,$03,$14 // ............."..
        .byte $1a,$00,$00,$00,$ea,$01,$e1,$fc       // ........

// --- Region $14e4-$162f ---
.pc = $14e4 "txt_14e4"

txt_14e4:
        .encoding "screencode_mixed"
        .text " fairlight presents"
        .encoding "petscii_upper"

txt_14f7:
        .text ":    "
        .byte $02,$12,$15,$03,$05,$20,$0c,$05,$05   // ..... ...

txt_1505:
        .text "+2     HOWDY HACKERS! "

txt_151b:
        .encoding "screencode_mixed"
        .text "upon porting my collection of c64 stuff to the pc, i encountered a horrible amount of freezes. i've decided to try to replace them by cracking old originals into good versions and this is one of them. thanx to rowdy for the intro - the rest by me, bacchus"
        .encoding "petscii_upper"

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

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

// --- Region $2000-$2000 ---
.pc = $2000 "spr_2000"

spr_2000:
        .byte $00                                   // .

// --- Region $20ca-$20ca ---
.pc = $20ca "dat_20ca"

dat_20ca:
        // === Fill data (1 bytes, $20ca-$20ca) ===
        .byte $00                                   // .

// --- Region $8ed1-$8ed1 ---
.pc = $8ed1 "dat_8ed1"

dat_8ed1:
        // === Fill data (1 bytes, $8ed1-$8ed1) ===
        .byte $00                                   // .

// --- Region $e545-$e545 ---
.pc = $e545 "dat_e545"

dat_e545:
        // === Fill data (1 bytes, $e545-$e545) ===
        .byte $00                                   // .

// --- Region $f521-$f521 ---
.pc = $f521 "dat_f521"

dat_f521:
        // === Fill data (1 bytes, $f521-$f521) ===
        .byte $00                                   // .

// --- Region $f7a3-$f7a3 ---
.pc = $f7a3 "dat_f7a3"

dat_f7a3:
        // === Fill data (1 bytes, $f7a3-$f7a3) ===
        .byte $00                                   // .
