// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:11
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $31ff  (10752 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2e00 (11776)
// IRQ handler:  $2ec2 (irq_2ec2)
// IRQ handler:  $2efd (irq_2efd)
// IRQ handler:  $2f67 (irq_2f67)
// IRQ handler:  $2fbc (irq_2fbc)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2457 bytes, Data: 8295 bytes
// Labels: 225, Subroutines: 18
//
// Cross-references: all OK
// ============================================


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

sub_1000:
        jmp loc_101d
// Referenced by: jsr from $2ee4

sub_1003:
        jmp loc_1085

dat_1006:
        .byte $4c                                   // L

// --- Region $101d-$101f ---
.pc = $101d "loc_101d"

loc_101d:
        jmp loc_1807

// --- Region $1050-$162e ---
.pc = $1050 "loc_1050"

loc_1050:
        lda $1af4,y
        sta $1716
        lda $1af5,y
        sta $1717
        sta $d418
        ldx #$00
        txa

loc_1062:
        sta $1718,x
        inx
        cpx #$86
        bne loc_1062
        ldx #$00
        lda #$01

loc_106e:
        sta $100c,x
        sta $173b,x
        inx
        cpx #$03
        bne loc_106e
        ldx #$00
        txa

loc_107c:
        sta $d400,x
        inx
        cpx #$18
        bne loc_107c
        rts

loc_1085:
        dec $1718
        bpl loc_1090
        lda $1716
        sta $1718

loc_1090:
        ldx #$00
        stx $1720
        jsr sub_10b0
        inx
        jsr sub_10b0
        inx
        jsr sub_10b0
        lda $171c
        sta $d416
        lda $1018
        ora $1723
        sta $d417
        rts
// Referenced by: jsr from $1095, $1099, $109d

sub_10b0:
        lda $100c,x
        beq loc_10c5
        lda $1716
        cmp $1718
        bne loc_10c5
        dec $173b,x
        lda $173b,x
        beq loc_10c8

loc_10c5:
        jmp loc_11f9

loc_10c8:
        lda $1707,x
        sta $f8
        lda $170a,x
        sta $f9

loc_10d2:
        ldy $1726,x
        lda ($f8),y
        bpl loc_1101
        cmp #$ff
        bne loc_10e5
        lda #$00
        sta $1726,x
        jmp loc_10d2

loc_10e5:
        cmp #$fe
        bne loc_10ef
        lda #$00
        sta $100c,x
        rts

loc_10ef:
        sec
        sbc #$a0
        bcs loc_10f8
        eor #$1f
        adc #$01

loc_10f8:
        sta $172c,x
        inc $1726,x
        iny
        lda ($f8),y

loc_1101:
        tay
        lda $1e6e,y
        sta $f8
        lda $1e82,y
        sta $f9

loc_110c:
        jmp loc_17c0

dat_110f:
        .byte $b1,$f8,$30,$12                       // ..0.

loc_1113:
        cmp #$60
        bcc loc_1122
        and #$1f
        sta $1015,x
        inc $1729,x
        jmp loc_110c

loc_1122:
        jmp loc_11a2

loc_1125:
        cmp #$7e
        beq loc_1174
        cmp #$7d
        beq loc_1183
        cmp #$c0
        bcc loc_1197
        and #$1f
        pha
        and #$0f
        sta $1741,x
        pla
        and #$10
        bne loc_115e
        iny
        lda ($f8),y
        clc
        adc $172c,x
        sta $1744,x
        iny
        lda ($f8),y
        clc
        adc $172c,x
        sta $1747,x
        inc $1729,x
        inc $1729,x
        lda $1744,x
        jmp loc_11a6

loc_115e:
        iny
        lda ($f8),y
        clc
        adc $172c,x
        sta $1747,x
        lda $1012,x
        sta $1744,x
        inc $1729,x
        jmp loc_1174

loc_1174:
        lda $173e,x
        sta $173b,x
        inc $1729,x

loc_117d:
        jsr sub_11e6
        jmp loc_1322

loc_1183:
        lda $173e,x
        sta $173b,x
        lda $100f,x
        eor #$01
        sta $100f,x
        inc $1729,x
        jmp loc_117d

loc_1197:
        jmp loc_17da

loc_119a:
        rol $d418,x
        and #$17
        jmp loc_110c

loc_11a2:
        clc
        adc $172c,x

loc_11a6:
        sta $1012,x
        tay
        lda $1647,y
        sta $172f,x
        lda $16a7,y
        sta $1732,x
        lda $173e,x
        sta $173b,x
        inc $1729,x
        lda $17b0,x
        bne loc_117d
        lda #$00
        sta $1735,x
        sta $1738,x
        clc
        sta $1768,x
        sta $176b,x
        jsr sub_1823
        ldy $170d,x
        lda #$08
        jsr sub_17fb
        lda #$ff
        sta $100f,x
        sta $174a,x
// Referenced by: jsr from $117d

sub_11e6:
        ldy $1729,x
        lda ($f8),y
        cmp #$7f
        beq loc_11f0
        rts

loc_11f0:
        lda #$00
        sta $1729,x
        jsr sub_182d
        rts

loc_11f9:
        lda $174a,x
        bne loc_1201
        jmp loc_1322

loc_1201:
        clc
        lda #$00
        sta $174a,x
        sta $1750,x
        sta $1789,x
        sta $1792,x
        sta $1795,x
        lda $1015,x
        asl
        asl
        asl
        adc $1015,x
        adc $1015,x
        adc $1015,x
        sta $174d,x
        tay
        lda $18f0,y
        pha
        lda $18f1,y
        ldy $170d,x
        jsr sub_184b
        pla
        sta $d405,y
        ldy $174d,x
        lda $18fa,y
        and #$04
        bne loc_1269
        lda $18f2,y
        pha
        and #$0f
        sta $1753,x
        pla
        lsr
        lsr
        lsr
        lsr
        sta $1756,x
        eor #$0f
        sta $1759,x
        lda $18f6,y
        lsr
        lsr
        lsr
        lsr
        sta $175f,x
        lda #$00
        sta $1762,x
        sta $1765,x

loc_1269:
        lda $18fa,y
        and #$20
        beq loc_12c0
        lda $1018
        ora $1710,x
        sta $1018
        lda $18fa,y
        and #$02
        bne loc_12c9
        lda #$00
        sta $1719
        sta $171a
        lda $18f6,y
        and #$0f
        asl
        asl
        asl
        asl
        sta $171b
        tay
        lda $1a8c,y
        pha
        and #$f0
        sta $1723
        pla
        and #$0f
        asl
        asl
        asl
        asl
        ora $1717
        sta $d418
        lda $1a8d,y
        sta $171c
        lda $1a8e,y
        sta $171d
        lda $1a8f,y
        sta $171e
        jmp loc_12c9

loc_12c0:
        lda $1018
        and $1713,x
        sta $1018

loc_12c9:
        ldy $174d,x
        lda $18f7,y
        pha
        and #$f0
        lsr
        sta $1771,x
        pla
        and #$0f
        sta $1774,x
        lda $18f8,y
        sta $1777,x
        lda $18f9,y
        sta $177a,x
        lda $18fa,y
        sta $177d,x
        ldy $1012,x
        lda $1888,y
        clc
        sta $1792,x
        lda #$02
        sta $1786,x
        jsr sub_1885
        lda $177d,x
        and #$80
        beq loc_1318
        ldy $170d,x
        lda #$ff
        sta $d400,y
        sta $d401,y
        lda #$81
        sta $d404,y
        rts

loc_1318:
        jmp loc_1591

dat_131b:
        .byte $ad,$0e,$dc,$8d,$05,$d4,$4a           // ......J

loc_1322:
        lda $1786,x
        beq loc_132d
        dec $1786,x
        jmp loc_134e

loc_132d:
        lda $177d,x
        and #$10
        beq loc_1342
        lda $173b,x
        cmp #$01
        bne loc_134e
        lda #$fe
        jsr sub_17ec
        bne loc_134e

loc_1342:
        lda $177d,x
        and #$08
        bne loc_134e
        lda #$fe
        sta $100f,x

loc_134e:
        lda $1762,x
        lsr
        clc
        adc $174d,x
        tay
        lda $18f3,y
        sta $171f
        lda $1762,x
        and #$01
        beq loc_1370
        lda $171f
        and #$0f
        asl
        asl
        asl
        asl
        jmp loc_1375

loc_1370:
        lda $171f
        and #$f0

loc_1375:
        clc
        adc $175f,x
        sta $175c,x
        lda $1765,x
        bne loc_139f
        lda $1750,x
        clc
        adc $175c,x
        sta $1750,x
        lda $1753,x
        adc #$00
        sta $1753,x
        cmp $1759,x
        bne loc_13c5
        lda #$01
        sta $1765,x
        bne loc_13bb

loc_139f:
        lda $1750,x
        sec
        sbc $175c,x
        sta $1750,x
        lda $1753,x
        sbc #$00
        sta $1753,x
        cmp $1756,x
        bne loc_13c5
        lda #$00
        sta $1765,x

loc_13bb:
        lda $1762,x
        cmp #$05
        beq loc_13c5
        inc $1762,x

loc_13c5:
        lda $177d,x
        and #$20
        beq loc_141c
        lda $1720
        bne loc_141c
        inx
        stx $1720
        dex
        lda $171c
        cmp $171e
        beq loc_141c
        lda $171b
        clc
        adc $1719
        tay
        lda $1a90,y
        sta $1721
        lda $1a96,y
        sta $1722
        lda $171c
        clc
        adc $1721
        sta $171c
        inc $171a
        lda $171a
        cmp $1722
        bne loc_141c
        lda #$00
        sta $171a
        inc $1719
        lda $1719
        cmp #$06
        bne loc_141c
        lda $171d
        sta $1719

loc_141c:
        lda $1741,x
        beq loc_149f
        asl
        asl
        asl
        asl
        sta $171f
        lda $1744,x
        cmp $1747,x
        bcs loc_145a
        ldy $1747,x
        lda $1735,x
        clc
        adc $171f
        sta $1735,x
        lda $1738,x
        adc #$00
        sta $1738,x
        lda $1735,x
        clc
        adc $172f,x
        lda $1738,x
        adc $1732,x
        cmp $16a7,y
        bne loc_149c
        jmp loc_1481

loc_145a:
        ldy $1747,x
        lda $1735,x
        sec
        sbc $171f
        sta $1735,x
        lda $1738,x
        sbc #$00
        sta $1738,x
        lda $1735,x
        clc
        adc $172f,x
        lda $1738,x
        adc $1732,x
        cmp $16a7,y
        bne loc_149c

loc_1481:
        tya
        sta $1012,x
        lda $1647,y
        sta $172f,x
        lda $16a7,y
        sta $1732,x
        lda #$00
        sta $1741,x
        sta $1735,x
        sta $1738,x

loc_149c:
        jmp loc_1591

loc_149f:
        lda $1771,x
        beq loc_14aa
        dec $1771,x
        jmp loc_1591

loc_14aa:
        lda $177d,x
        and #$40
        beq loc_1520
        inc $1019
        lda $1019
        and #$01
        sta $1019
        bne loc_14c1
        jmp loc_1591

loc_14c1:
        ldy $170d,x
        lda $172f,x
        clc
        adc $1735,x
        sta $1724
        lda $1732,x
        adc #$00
        sta $1725
        lda $1724
        sec
        sbc $1798,x
        sta $d400,y
        lda $1725
        sbc $179b,x
        sta $d401,y
        lda $1777,x
        bmi loc_1503
        lda $1798,x
        clc
        adc $1777,x
        sta $1798,x
        lda $179b,x
        adc #$00
        sta $179b,x
        jmp loc_1619

loc_1503:
        lda $1777,x
        and #$7f
        sta $101a
        lda $1798,x
        sec
        sbc $101a
        sta $1798,x
        lda $179b,x
        sbc #$00
        sta $179b,x
        jmp loc_1619

loc_1520:
        lda $1768,x
        bne loc_1546
        lda $1735,x
        clc
        adc $1792,x
        sta $1735,x
        lda $1738,x
        adc $1795,x
        sta $1738,x
        inc $176b,x
        lda $176b,x
        cmp $1774,x
        beq loc_1567
        jmp loc_1591

loc_1546:
        lda $1735,x
        sec
        sbc $1792,x
        sta $1735,x
        lda $1738,x
        sbc $1795,x
        sta $1738,x
        inc $176b,x
        lda $176b,x
        cmp $1774,x
        beq loc_1567
        jmp loc_1591

loc_1567:
        lda #$00
        sta $176b,x
        lda $1768,x
        eor #$01
        sta $1768,x
        lda $176e,x
        cmp $1777,x
        beq loc_1591
        inc $176e,x
        lda $1774,x
        clc
        adc $1774,x
        sta $1774,x
        lda $1795,x
        adc #$00
        bit $1795

loc_1591:
        lda $177d,x
        and #$01
        bne loc_15d5

loc_1598:
        ldy $177a,x
        lda $19e2,y
        cmp #$90
        bcc loc_15b5
        sec
        sbc #$90
        sta $171f
        lda $177a,x
        sec
        sbc $171f
        sta $177a,x
        jmp loc_1598

loc_15b5:
        sta $1780,x
        lda $1a37,y
        clc
        adc $1012,x
        sta $1783,x
        tay
        lda $1647,y
        sta $172f,x
        lda $16a7,y
        sta $1732,x
        inc $177a,x
        jmp loc_1603

loc_15d5:
        ldy $177a,x
        lda $19e2,y
        cmp #$90
        bcc loc_15f2
        sec
        sbc #$90
        sta $171f
        lda $177a,x
        sec
        sbc $171f
        sta $177a,x
        jmp loc_15d5

loc_15f2:
        sta $1780,x
        lda #$00
        sta $172f,x
        lda $1a37,y
        sta $1732,x
        inc $177a,x

loc_1603:
        ldy $170d,x
        lda $172f,x
        clc
        adc $1735,x
        sta $d400,y
        lda $1732,x
        adc $1738,x
        sta $d401,y

loc_1619:
        lda $1750,x
        sta $d402,y
        lda $1753,x
        sta $d403,y
        lda $1780,x
        and $100f,x
        sta $d404,y
        rts

// --- Region $17c0-$188d ---
.pc = $17c0 "loc_17c0"

loc_17c0:
        jmp loc_1837

scr_17c3:
        // === Screen RAM (2 bytes, $17c3-$17c4) ===
        .byte $b1,$f8                               // scrcode: ..

loc_17c5:
        cmp #$7c
        beq loc_17cc
        jmp loc_1125

loc_17cc:
        lda $17b0,x
        eor #$01
        sta $17b0,x
        inc $1729,x
        jmp loc_17c0

loc_17da:
        cmp #$80
        bcc loc_17e9
        and #$3f
        sta $173e,x
        inc $1729,x
        jmp loc_110c

loc_17e9:
        jmp loc_1113
// Referenced by: jsr from $133d

sub_17ec:
        sta $100f,x
        ldy $170d,x
        lda #$00
        sta $d405,y
        sta $d406,y
        rts
// Referenced by: jsr from $11db

sub_17fb:
        sta $d404,y
        lda #$0f
        sta $d405,y
        sta $d406,y
        rts

loc_1807:
        asl
        asl
        asl
        tay
        ldx #$00

loc_180d:
        lda $1af4,y
        sta $1707,x
        lda $1af5,y
        sta $170a,x
        iny
        iny
        inx
        cpx #$03
        bne loc_180d
        jmp loc_1870
// Referenced by: jsr from $11d3

sub_1823:
        sta $176e,x
        sta $1798,x
        sta $179b,x
        rts
// Referenced by: jsr from $11f5

sub_182d:
        inc $1726,x
        sta $17b0,x
        bit $17b3
        rts

loc_1837:
        ldy $1729,x
        lda ($f8),y
        cmp #$f0
        bcc loc_17c5
        and #$0f
        sta $17b3,x
        inc $1729,x
        jmp loc_1837
// Referenced by: jsr from $1230

sub_184b:
        sta $1040
        lda $17b3,x
        bne loc_185a
        lda $1040
        sta $d406,y
        rts

loc_185a:
        lda $1040
        and #$0f
        sta $1040
        lda $17b3,x
        asl
        asl
        asl
        asl
        ora $1040
        sta $d406,y
        rts

loc_1870:
        ldx #$00
        txa

loc_1873:
        sta $17b0,x
        inx
        cpx #$08
        bne loc_1873
        jmp loc_1050

dat_187e:
        .byte $00,$00,$18,$9d,$75,$19,$60           // ....u.`
// Referenced by: jsr from $12fd

sub_1885:
        lda $1774,x
        bne loc_188d
        sta $1792,x

loc_188d:
        rts

// --- Region $2e00-$2e04 ---
.pc = $2e00 "main_2e00"

main_2e00:
        jmp loc_2e5d

dat_2e03:
        .byte $09,$09                               // ..

// --- Region $2e5d-$310e ---
.pc = $2e5d "loc_2e5d"

loc_2e5d:
        jsr $ff5b
        sei
        lda #$c2
        ldx #$2e
        sta $0314
        stx $0315
        lda #$01
        ldx #$00
        ldy #$1b
        sta $d01a
        stx $dc0e
        sty $d011
        lda #$00
        jsr sub_1000
        ldx #$00

loc_2e81:
        lda #$08
        sta $d8a0,x
        sta $d908,x
        lda #$00
        sta $da08,x
        dex
        bne loc_2e81
        ldx #$00

loc_2e93:
        lda #$20
        sta $04a0,x
        lda #$00
        sta $d800,x
        sta $d828,x
        sta $d850,x
        sta $d878,x
        sta $d8a0,x
        inx
        cpx #$28
        bne loc_2e93
        cli

loc_2eaf:
        ldx #$00

loc_2eb1:
        lda $0428,x
        clc
        adc #$40
        sta $0450,x
        inx
        cpx #$28
        bne loc_2eb1
        jmp loc_2eaf

irq_2ec2:
        inc $d019
        lda #$32
        sta $d012
        lda #$14
        sta $d018
        lda #$0b
        sta $d021
        sta $d020
        ldx #$03

loc_2ed9:
        dex
        bne loc_2ed9
        lda #$00
        sta $d021
        sta $d020
        jsr sub_1003
        jsr sub_2fea
        jsr sub_30a1
        jsr sub_30c6
        lda #$fd
        ldx #$2e
        sta $0314
        stx $0315
        jmp $febc

irq_2efd:
        inc $d019
        lda #$52
        sta $d012
        nop
        lda #$0b
        sta $d021
        sta $d020
        ldx #$02

loc_2f10:
        dex
        bne loc_2f10
        lda #$00
        sta $d021
        sta $d020
        lda #$12
        sta $d018
        lda dat_30c3
        sta $d016
.label smc_2f27 = * + 1
        lda $2e0f                                   // !SMC: modified by $2f63
        sta $d021
        inc smc_2f27
.label smc_2f30 = * + 1
        lda $2e39                                   // !SMC: modified by $2f55
        sta $30c4
        inc smc_2f30
        jsr sub_2f4b
        jsr sub_2f59
        lda #$67
        ldx #$2f
        sta $0314
        stx $0315
        jmp $febc
// Referenced by: jsr from $2f38

sub_2f4b:
        lda smc_2f30
        cmp #$5d
        beq loc_2f53
        rts

loc_2f53:
        lda #$2d
        sta smc_2f30                                // SMC: modifies $2f30
        rts
// Referenced by: jsr from $2f3b

sub_2f59:
        lda smc_2f27
        cmp #$2d
        beq loc_2f61
        rts

loc_2f61:
        lda #$03
        sta smc_2f27                                // SMC: modifies $2f27
        rts

irq_2f67:
        inc $d019
        lda #$55
        sta $d012
        lda #$14
        sta $d018
        lda #$0b
        sta $d021
        sta $d020
        ldx #$03

loc_2f7e:
        dex
        bne loc_2f7e
        lda #$00
        sta $d021
        sta $d020
        lda #$12
        sta $d018
        lda $299b
        sta $d022
        lda $2a9b
        sta $d023
        inc $2f8f
        inc $2f95
        inc $2fb1
        lda #$bc
        ldx #$2f
        sta $0314
        stx $0315
        jmp $febc
// Referenced by: jsr from $3067

sub_2fb0:
        lda $289b
        sta $d021
        lda #$18
        sta $d018
        rts

irq_2fbc:
        inc $d019
        lda #$f2
        sta $d012
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        jsr sub_3046
        lda #$c2
        ldx #$2e
        sta $0314
        stx $0315
        lda $dc01
        cmp #$ef
        beq loc_2fe7
        jmp $febc

loc_2fe7:
        jmp loc_3133

// Referenced by: jsr from $2ee7
sub_2fea: {
        inc $02c0
        inc $02c0
        inc $02c0
        inc $02c0
        inc $02c0
        ldx $02c0
        lda txt_0e00,x
        and #$07
        eor #$17
        sta dat_309e
        lda txt_0e00,x
        lsr
        lsr
        lsr
        tay
        ldx #$00
loop:
        lda scr_0c00,y
        sta $04c8,x
        lda $0c28,y
        sta $04f0,x
        lda $0c50,y
        sta $0518,x
        lda $0c78,y
        sta $0540,x
        lda $0ca0,y
        sta $0568,x
        lda $0cc8,y
        sta $0590,x
        lda $0cf0,y
        sta $05b8,x
        lda $0d18,y
        sta $05e0,x
        inx
        iny
        cpy #$28
        bne loop
        rts
}
// Referenced by: jsr from $2fd0

sub_3046:
        ldx $309f

loc_3049:
        lda $d012
        tay
        and #$07
        ora #$18

loc_3051:
        cpy $d012
        beq loc_3051
        sta $d011
        dex
        bne loc_3049
        lda dat_309e
        sta $d016
        ldx #$50

loc_3064:
        dex
        bne loc_3064
        jsr sub_2fb0
        lda $d012
        clc
        adc #$44

loc_3070:
        cmp $d012
        bne loc_3070
        lda #$4e
        sbc $309f
        tax
        lda #$c8
        sta $d016
        lda #$00
        sta $d021

loc_3085:
        lda $d012
        tay
        and #$07
        ora #$18

loc_308d:
        cpy $d012
        beq loc_308d
        sta $d011
        dex
        bne loc_3085
        lda #$1b
        sta $d011
        rts

dat_309e:
        .byte $16,$36,$74                           // .6t
// Referenced by: jsr from $2eea

sub_30a1:
        ldx $30a0

loc_30a4:
        lda $0f00,x
        cmp #$ff
        bne loc_30b3
        ldx #$00
        stx $30a0
        jmp loc_30a4

loc_30b3:
        sta $309f
        inc $30a0
        inc $30a0
        inc $30a0
        inc $30a0
        rts

dat_30c3:
        .byte $00,$03,$00                           // ...
// Referenced by: jsr from $2eed

sub_30c6:
        sec
        lda dat_30c3
        sbc $30c4
        bcc loc_30d3
        sta dat_30c3
        rts

loc_30d3:
        eor #$f8
        sta dat_30c3
        ldx #$00

loc_30da:
        lda $0429,x
        sta $0428,x
        inx
        cpx #$28
        bne loc_30da
        ldy $30c5
        cpy #$ff
        bne loc_30f3
        jsr loc_30f3
        inc smc_30f5
        rts

loc_30f3:
.label smc_30f5 = * + 2
        lda $2b00,y                                 // !SMC: modified by $3106
        beq loc_30ff
        sta $044f
        inc $30c5
        rts

loc_30ff:
        lda #$00
        sta $30c5
        lda #$2b
        sta smc_30f5                                // SMC: modifies $30f5
        lda #$20
        sta $044f
        rts

// --- Region $3133-$317b ---
.pc = $3133 "loc_3133"

loc_3133:
        lda #$31
        ldx #$ea
        sta $0314
        stx $0315
        jsr $ff81
        jsr $ff84
        lda #$00
        sta $d021
        sta $d020
        lda #$16
        sta $d018
        ldx #$00

loc_3152:
        lda dat_310f,x
        clc
        adc #$40
        sta $07c4,x
        lda #$0b
        sta $dbc4,x
        inx
        cpx #$24
        bne loc_3152
        ldx #$00

loc_3167:
        lda dat_317b,x
        sta $0400,x
        lda #$00
        sta $d400,x
        inx
        cpx #$50
        bne loc_3167
        cli
        jmp $0400

dat_317b:
        .byte $78                                   // x

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

// --- Region $0800-$0d40 ---
.pc = $0800 "spr_0800"

spr_0800:
        // === Charset data (1345 bytes, $0800-$0d40) ===
        .byte $00,$00,$00,$ff,$ff,$ff,$ff,$ff       // char 0 @+0
        .byte $ff,$8f,$67,$c3,$c3,$93,$99,$19       // char 1 @+1
        .byte $ff,$87,$73,$91,$99,$99,$f1,$83       // char 2 @+2
        .byte $ff,$e7,$c3,$83,$89,$9d,$1d,$3f       // char 3 @+3
        .byte $ff,$0f,$07,$c7,$a3,$93,$93,$99       // char 4 @+4
        .byte $ff,$c7,$83,$93,$3b,$27,$3f,$8f       // char 5 @+5
        .byte $ff,$c7,$83,$09,$1d,$3d,$27,$03       // char 6 @+6
        .byte $ff,$e7,$c3,$83,$89,$9d,$1d,$3f       // char 7 @+7

spr_0840:
        .byte $ff,$db,$9b,$99,$19,$39,$39,$3f       // char 8 @+8
        .byte $ff,$ef,$cf,$cf,$9f,$9f,$1f,$1f       // char 9 @+9
        .byte $ff,$cf,$e7,$f3,$f3,$f3,$f1,$f9       // char 10 @+10
        .byte $ff,$1c,$19,$99,$99,$99,$99,$91       // char 11 @+11
        .byte $ff,$e7,$cb,$cf,$cf,$cf,$cf,$8f       // char 12 @+12
        .byte $ff,$df,$93,$91,$01,$21,$29,$39       // char 13 @+13
        .byte $ff,$3c,$99,$99,$c9,$89,$89,$a5       // char 14 @+14
        .byte $ff,$e7,$c3,$93,$91,$b9,$39,$39       // char 15 @+15

spr_0880:
        .byte $ff,$c3,$81,$91,$99,$19,$19,$71       // char 16 @+16
        .byte $ff,$e7,$c3,$93,$91,$b9,$39,$39       // char 17 @+17
        .byte $ff,$c3,$81,$91,$99,$19,$19,$71       // char 18 @+18
        .byte $ff,$e7,$c3,$8b,$9b,$97,$9f,$c7       // char 19 @+19
        .byte $ff,$83,$01,$29,$6f,$67,$e7,$e3       // char 20 @+20
        .byte $ff,$bf,$1f,$9b,$91,$99,$99,$19       // char 21 @+21
        .byte $ff,$7d,$7d,$39,$39,$19,$99,$99       // char 22 @+22
        .byte $ff,$93,$99,$39,$39,$39,$39,$39       // char 23 @+23

spr_08c0:
        .byte $ff,$39,$39,$39,$11,$93,$83,$c7       // char 24 @+24
        .byte $ff,$9d,$3d,$39,$39,$39,$99,$89       // char 25 @+25
        .byte $ff,$01,$81,$f9,$f9,$f1,$f3,$e3       // char 26 @+26
        .byte $33,$33,$ff,$87,$43,$c3,$91,$19       // char 27 @+27

txt_08e0:
        .byte $3c,$24,$c3,$93,$91,$b9               // char 28 (partial)

txt_08e6:
        .byte $39,$39                               // char 28 (partial)
        .byte $cf,$cf,$ff,$87,$43,$c3,$91,$19       // char 29 @+29
        .byte $0f,$ff,$3f,$7f,$0f,$ff,$bf,$ff       // char 30 @+30
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 31 @+31

spr_0900:
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 32 ' '
        .byte $ff,$8f,$8f,$c7,$c7,$c7,$c7,$e7       // char 33 '!'
        .byte $99,$99,$11,$33,$77                   // char 34 (partial)

dat_0915:
        // === Fill data (35 bytes, $0915-$0937) ===
        .fill 35, $ff
        .byte $e7,$e7,$c7,$cf,$df,$ff,$ff,$ff       // char 39 '''

spr_0940:
        .byte $e7,$cf,$cf,$9f,$9f,$9f,$3f,$3f       // char 40 '('
        .byte $9f,$cf,$cf,$e7,$e7,$e7,$f3,$f3       // char 41 ')'
        .byte $ff,$ef,$ef,$ef,$c7,$c7,$01,$83       // char 42 '*'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 43 '+'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 44 ','
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$03       // char 45 '-'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 46 '.'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 47 '/'

spr_0980:
        .byte $ff,$e7,$c3,$93,$91,$b9,$31,$31       // char 48 '0'
        .byte $ff,$f7,$e7,$c7,$87,$e7,$e7,$e7       // char 49 '1'
        .byte $ff,$83,$01,$31,$39,$79,$b9,$f3       // char 50 '2'
        .byte $ff,$87,$03,$73,$b3,$f3,$c7,$e3       // char 51 '3'
        .byte $ff,$99                               // char 52 (partial)

txt_09a2:
        .byte $33,$33,$33,$31,$39,$29               // char 52 (partial)
        .byte $ff,$07,$23,$7f,$47,$03,$23,$73       // char 53 '5'
        .byte $ff,$87,$23,$73,$f9,$f9,$f9,$cd       // char 54 '6'
        .byte $ff,$31,$01,$c9,$f9,$f1,$b3,$83       // char 55 '7'
        .byte $ff,$83,$11,$39,$11,$cb,$a7,$13       // char 56 '8'
        .byte $ff,$87,$03,$33,$31,$39,$0d,$83       // char 57 '9'
        .byte $ff,$ff,$ff,$ff,$ff,$cf,$cf           // char 58 (partial)

dat_09d7:
        // === Fill data (34 bytes, $09d7-$09f8) ===
        .fill 34, $ff
        .byte $87,$03,$33,$79,$b9,$f9,$f3           // char 63 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 64 '@'
        .byte $79,$85,$70,$98,$18,$18,$18,$31       // char 65 'A'
        .byte $67,$93,$91,$99,$19,$11,$03,$07       // char 66 'B'
        .byte $3f,$3f,$3d,$39,$19,$99,$83,$c7       // char 67 'C'
        .byte $99,$99,$99,$99,$99,$11,$01,$03       // char 68 'D'
        .byte $9f,$3f,$3f,$3b,$1d,$99,$83,$c7       // char 69 'E'
        .byte $0b,$1f,$9f,$9f,$8f,$c7,$c3,$e1       // char 70 'F'
        .byte $3f,$41,$31,$39,$19,$99,$81,$c3       // char 71 'G'
        .byte $31,$00,$0e,$19,$11,$11,$11,$11       // char 72 'H'
        .byte $1f,$9f,$8f,$8f,$8f,$c7,$c7,$c3       // char 73 'I'
        .byte $f9,$f9,$f9,$91,$31,$03,$03,$c7       // char 74 'J'
        .byte $83,$87,$83,$91,$91,$11,$11,$18       // char 75 'K'
        .byte $9f,$9f,$9f,$9f,$1f,$1d,$01,$03       // char 76 'L'

txt_0a68:
        .byte $39,$39,$39,$39,$39,$39,$31,$93       // char 77 'M'
        .byte $a1,$91,$11,$11,$11,$11,$11,$18       // char 78 'N'
        .byte $39,$39,$39,$39,$39,$91,$83,$c3       // char 79 'O'
        .byte $83,$7f,$1f,$1f,$1f,$8f,$8f,$87       // char 80 'P'
        .byte $39,$39,$39,$21,$31,$91,$81,$c0       // char 81 'Q'
        .byte $83,$67,$33,$13,$19,$99,$89,$8c       // char 82 'R'
        .byte $e3,$f3,$91,$39,$39,$11,$83,$c7       // char 83 'S'
        .byte $f3,$f3,$f3,$e3,$e3,$c7,$c7,$c7       // char 84 'T'
        .byte $39,$39,$39,$39,$19,$85,$81,$c8       // char 85 'U'
        .byte $89,$c9,$c1,$c1,$e3,$e3,$e3,$f7       // char 86 'V'
        .byte $39,$39,$39,$29,$09,$01,$83,$93       // char 87 'W'
        .byte $c7,$83,$83,$91,$19,$19,$19,$1c       // char 88 'X'
        .byte $c1,$e3,$f3,$c7,$c7,$8f,$0f,$1f       // char 89 'Y'
        .byte $e7,$cf,$cf,$9f,$9f,$3f,$03,$01       // char 90 'Z'
        .byte $79,$85,$70,$98,$18,$18,$18           // char 91 (partial)

txt_0adf:
        .byte $31                                   // char 91 (partial)
        .byte $39,$39,$39,$39,$39,$91,$83,$c3       // char 92 '\'
        .byte $79,$85,$70,$98,$18,$18,$18,$31       // char 93 ']'
        .byte $1f,$6f,$1b,$6f,$6f,$1f,$ff,$ff       // char 94 '^'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 95 '_'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 96 '`'
        .byte $e7,$c7,$c7,$cf,$cf,$ff,$cf,$8f       // char 97 'a'

dat_0b10:
        // === Fill data (48 bytes, $0b10-$0b3f) ===
        .fill 48, $ff
        .byte $3f,$3f,$9f,$9f,$9f,$cf,$cf,$e7       // char 104 'h'
        .byte $f3,$f3,$e7,$e7,$e7,$cf,$cf,$9f       // char 105 'i'
        .byte $83,$c7,$c7,$83,$93,$93,$bb,$bb       // char 106 'j'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 107 'k'
        .byte $ff,$ff,$ff,$ff,$ff,$e7,$c7,$df       // char 108 'l'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 109 'm'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$e7,$e7       // char 110 'n'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 111 'o'
        .byte $21,$29,$09,$19,$19,$91,$83,$c3       // char 112 'p'
        .byte $c7,$c7,$c7,$c7,$e3,$e3,$e3,$f1       // char 113 'q'
        .byte $f3,$e7,$cf,$8f,$9d,$3d,$03,$07       // char 114 'r'
        .byte $f3,$f1,$91,$31,$31,$23,$83,$cf       // char 115 's'
        .byte $09,$91,$f1,$f3,$f3,$e3,$c7,$cf       // char 116 't'
        .byte $f3,$f3,$f3,$73,$73,$33,$83,$87       // char 117 'u'
        .byte $85,$3b,$3d,$39,$39,$13,$83,$c7       // char 118 'v'
        .byte $c7,$c3,$cb,$8f,$9f,$9f               // char 119 (partial)

txt_0bbe:
        .byte $3f,$3f                               // char 119 (partial)
        .byte $33,$39,$39,$39,$11,$01,$81,$c7       // char 120 'x'
        .byte $fd,$f9,$f1,$f3,$e3,$e7,$cf,$1f       // char 121 'y'
        .byte $ff,$cf,$cf                           // char 122 (partial)

dat_0bd3:
        // === Fill data (37 bytes, $0bd3-$0bf7) ===
        .fill 37, $ff
        .byte $f3,$e7,$cf,$00,$00,$00,$00,$00       // char 127

scr_0c00:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 128
        .byte $00,$01,$02,$03,$04,$05,$00,$06       // char 129
        .byte $06,$06,$07,$08,$20,$09,$0a,$0b       // char 130
        .byte $0c,$0d,$00,$0e,$0f,$0f,$10,$0d       // char 131
        .byte $00,$11,$12,$13,$14,$15,$16           // char 132 (partial)

txt_0c27:
        .byte $20                                   // char 132 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 133
        .byte $17,$18,$19,$1a,$1b,$1c,$1d,$1e       // char 134
        .byte $1f                                   // char 135 (partial)

txt_0c39:
        .byte $21,$22,$23,$24,$25,$20,$26           // char 135 (partial)
        .byte $27,$28,$1d,$29,$2a,$2b,$2c,$2d       // char 136
        .byte $1d                                   // char 137 (partial)

txt_0c49:
        .byte $2e,$2f,$30,$31,$32,$33,$20           // char 137 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 138
        .byte $17,$34,$35,$36,$19,$37,$38,$39       // char 139
        .byte $3a,$3b,$1f                           // char 140 (partial)

txt_0c63:
        .byte $20,$3c,$3d,$3e,$3f                   // char 140 (partial)
        .byte $20,$40,$41,$42,$43,$44,$2a,$45       // char 141
        .byte $46,$47,$48,$49,$2f,$4a,$4b,$20       // char 142
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 143
        .byte $17,$4c,$4d,$34,$35,$4e,$1d,$37       // char 144
        .byte $1b,$39,$3a,$4f,$1d                   // char 145 (partial)

txt_0c8d:
        .byte $20,$22,$50                           // char 145 (partial)
        .byte $3e,$51,$52,$40,$27,$53,$43,$29       // char 146
        .byte $54,$55,$2c,$56,$48,$57,$24,$20       // char 147
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 148
        .byte $17,$58,$59,$5a,$4d,$34,$5b,$18       // char 149
        .byte $19,$5c,$1b,$39,$5d,$1e,$1f,$52       // char 150
        .byte $22,$5e,$5f,$51,$20,$60,$27,$42       // char 151
        .byte $61,$29,$2a,$62,$2c,$56,$63           // char 152 (partial)

txt_0cc7:
        .byte $20                                   // char 152 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 153
        .byte $64,$20,$65,$66,$59,$4c,$67,$34       // char 154
        .byte $35,$68,$19,$37,$69,$6a,$3a,$6b       // char 155
        .byte $1f,$20,$6c,$5e                       // char 156 (partial)

txt_0ce4:
        .byte $3e,$3f,$20,$40                       // char 156 (partial)
        .byte $6d,$42,$43,$44,$2a,$45,$6e           // char 157 (partial)

txt_0cef:
        .byte $20                                   // char 157 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 158
        .byte $6f,$20,$20,$70,$65,$71,$72,$4c       // char 159
        .byte $4d,$73,$35,$18,$74,$75,$1b,$76       // char 160
        .byte $3a,$77,$72                           // char 161 (partial)

txt_0d0b:
        .byte $20,$22,$50,$3e,$51                   // char 161 (partial)
        .byte $52,$40,$27,$53,$43,$29,$54,$20       // char 162
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 163
        .byte $78,$79,$7a,$7b,$7c,$7d,$7e,$7f       // char 164
        .byte $80,$81,$82,$83,$84,$20,$85,$86       // char 165
        .byte $87,$7d,$7e,$88,$88,$89,$8a,$8b       // char 166
        .byte $89,$88,$88,$81,$8c,$8d,$8e,$20       // char 167

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

// --- Region $0e00-$0fff ---
.pc = $0e00 "txt_0e00"

txt_0e00:
        .byte $25,$25,$26,$26,$27,$28,$28,$29       // char 192
        .byte $2a,$2a,$2b,$2c,$2c,$2d,$2e,$2e       // char 193
        .byte $2f,$2f,$30,$31,$31,$32,$32,$33       // char 194
        .byte $34,$34,$35,$35,$36,$36,$37,$37       // char 195
        .byte $38,$38,$39,$39,$39,$3a,$3a,$3b       // char 196
        .byte $3b,$3b,$3c,$3c,$3c,$3d,$3d,$3d       // char 197
        .byte $3d,$3e,$3e,$3e,$3e,$3f,$3f,$3f       // char 198
        .byte $3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f       // char 199
        .byte $3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f       // char 200
        .byte $3f,$3f,$3f,$3f,$3e,$3e,$3e,$3e       // char 201
        .byte $3d,$3d,$3d,$3d,$3c,$3c,$3c,$3b       // char 202
        .byte $3b,$3b,$3a,$3a,$39,$39,$39,$38       // char 203
        .byte $38,$37,$37,$36,$36,$35,$35,$34       // char 204
        .byte $34,$33,$32,$32,$31,$31,$30,$2f       // char 205
        .byte $2f,$2e,$2e,$2d,$2c,$2c,$2b,$2a       // char 206
        .byte $2a,$29,$28,$28,$27,$26,$26,$25       // char 207
        .byte $25,$24,$23,$23,$22,$21,$21,$20       // char 208
        .byte $1f,$1f,$1e,$1d,$1d,$1c,$1b,$1b       // char 209
        .byte $1a,$1a,$19,$18,$18,$17,$17,$16       // char 210
        .byte $15,$15,$14,$14,$13,$13,$12,$12       // char 211
        .byte $11,$11,$10,$10,$10,$0f,$0f,$0e       // char 212
        .byte $0e,$0e,$0d,$0d,$0d,$0c,$0c,$0c       // char 213
        .byte $0c,$0b,$0b,$0b,$0b,$0a,$0a,$0a       // char 214
        .byte $0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a       // char 215
        .byte $0a,$0a,$0a,$0a,$0a,$0a,$0a,$0a       // char 216
        .byte $0a,$0a,$0a,$0a,$0b,$0b,$0b,$0b       // char 217
        .byte $0c,$0c,$0c,$0c,$0d,$0d,$0d,$0e       // char 218
        .byte $0e,$0e,$0f,$0f,$10,$10,$10,$11       // char 219
        .byte $11,$12,$12,$13,$13,$14,$14,$15       // char 220
        .byte $15,$16,$17,$17,$18,$18,$19,$1a       // char 221
        .byte $1a,$1b,$1b,$1c,$1d,$1d,$1e,$1f       // char 222
        .byte $1f                                   // char 223 (partial)

txt_0ef9:
        .byte $20,$21,$21,$22,$23,$23,$24           // char 223 (partial)
        .byte $27,$28,$29,$2a,$2b,$2c,$2d,$2e       // char 224
        .byte $2f,$2f,$30,$31,$32,$33,$34,$35       // char 225
        .byte $36,$37,$37,$38,$39,$3a,$3b,$3c       // char 226
        .byte $3c,$3d,$3e,$3f,$3f,$40,$41,$42       // char 227
        .byte $42,$43,$44,$44,$45,$45,$46,$46       // char 228
        .byte $47,$48,$48,$48,$49,$49,$4a,$4a       // char 229
        .byte $4b,$4b,$4b,$4c,$4c,$4c,$4c,$4d       // char 230
        .byte $4d,$4d,$4d,$4d,$4d,$4d,$4d,$4d       // char 231
        .byte $4d,$4d,$4d,$4d,$4d,$4d,$4d,$4d       // char 232
        .byte $4d,$4d,$4c,$4c,$4c,$4c,$4b,$4b       // char 233
        .byte $4b,$4a,$4a,$49,$49,$48,$48,$48       // char 234
        .byte $47,$46,$46,$45,$45,$44,$44,$43       // char 235
        .byte $42,$42,$41,$40,$3f,$3f,$3e,$3d       // char 236
        .byte $3c,$3c,$3b,$3a,$39,$38,$37,$37       // char 237
        .byte $36,$35,$34,$33,$32,$31,$30,$2f       // char 238
        .byte $2f,$2e,$2d,$2c,$2b,$2a,$29,$28       // char 239
        .byte $27,$26,$25,$24,$23,$22,$21,$20       // char 240
        .byte $1f,$1f,$1e,$1d,$1c,$1b,$1a,$19       // char 241
        .byte $18,$17,$17,$16,$15,$14,$13,$12       // char 242
        .byte $12,$11,$10,$0f,$0f,$0e,$0d,$0c       // char 243
        .byte $0c,$0b,$0a,$0a,$09,$09,$08,$08       // char 244
        .byte $07,$06,$06,$06,$05,$05,$04,$04       // char 245
        .byte $03,$03,$03,$02,$02,$02,$02,$01       // char 246
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 247
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 248
        .byte $01,$01,$02,$02,$02,$02,$03,$03       // char 249
        .byte $03,$04,$04,$05,$05,$06,$06,$06       // char 250
        .byte $07,$08,$08,$09,$09,$0a,$0a,$0b       // char 251
        .byte $0c,$0c,$0d,$0e,$0f,$0f,$10,$11       // char 252
        .byte $12,$12,$13,$14,$15,$16,$17,$17       // char 253
        .byte $18,$19,$1a,$1b,$1c,$1d,$1e,$1f       // char 254
        .byte $1f                                   // char 255 (partial)

txt_0ff9:
        .byte $20,$21,$22,$23,$24,$25,$26           // char 255 (partial)

// --- Region $1007-$101c ---
.pc = $1007 "Segment $1007"
        .byte $2f,$16,$4c,$3e,$16,$01,$01,$01,$ff,$ff,$ff,$22,$34,$35,$01,$02 // /.L>......."45..
        .byte $0c,$01,$00,$00,$00,$00               // ......

// --- Region $1020-$104f ---
.pc = $1020 "txt_1020"

txt_1020:
        .byte $22                                   // double quote character
        .text "THE GNOME... "
        .byte $22                                   // double quote character
        .text " BY ZYRON 930609!"
        .byte $61,$ad,$0d,$dd,$8d,$11,$d0,$ad,$19,$d0,$8d,$18,$d0,$4e,$18,$d4 // a............N..

// --- Region $162f-$17bf ---
.pc = $162f "scr_162f"

scr_162f:
        // === Screen RAM (401 bytes, $162f-$17bf) ===
        .encoding "screencode_mixed"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $8a,$9d                               // scrcode: ..
        .text "lp"
        .byte $9d                                   // scrcode: .
        .text "op"
        .byte $e8,$e0                               // scrcode: ..
        .text "c"
        .byte $d0,$f5,$60,$48,$98,$9d               // scrcode: ......
        .text "up"
        .byte $68,$4c,$a6                           // scrcode: ...
        .text "ql"
        .byte $1c                                   // scrcode: .
        .text "->"
        .byte $47,$66,$7b,$91,$a9,$c3,$dd,$fa       // scrcode: ........
        .text "x8"
        .byte $5a,$7d                               // scrcode: ..
        .byte $a3,$cc,$f6                           // scrcode: ...
        .text "#"
        .byte $53,$86,$bb,$f4                       // scrcode: ....
        .text "0"
        .byte $70,$b4,$fb,$47,$98,$ed,$47,$a7       // scrcode: ........
        .text "l"
        .byte $77,$e9,$61,$e1,$68,$f7,$8f           // scrcode: .......
        .text "0"
        .byte $da,$8f,$4e                           // scrcode: ...
        .text "x"
        .byte $ef,$d2,$c3,$c3,$d1,$ef,$1f,$60,$b5,$1e // scrcode: ..........
        .byte $9c                                   // scrcode: .
        .text "1"
        .byte $df,$a5,$87,$86,$a2,$df               // scrcode: ......
        .text ">"
        .byte $c1,$6b                               // scrcode: ..
        .text "<9"
        .byte $63,$be,$4b                           // scrcode: ...
        .text "ol"
        .byte $45,$bf,$7d,$83,$d6,$79,$73,$c7,$7c,$97,$1e // scrcode: ...........
        .text "x"
        .byte $8b,$7e,$fa                           // scrcode: ...
        .text "f"
        .byte $ac,$f3,$e6,$8f,$f8,$fc               // scrcode: ......
        .fill 12, $01                               // scrcode: AAAAAAAAAAAA
        .text "bbbbbbbcccccddddeeeffggghhiijkklmnnopqrs"
        .text "uvwyz"
        .byte $1c,$1d,$1f                           // scrcode: ...
        .encoding "petscii_upper"

txt_16e3:
        .text "!#%'*,/258;?CGKOTY"
        .encoding "screencode_mixed"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // scrcode: ................
        .byte $ee,$fd,$ac,$c3,$da                   // scrcode: .....
        .text "zzz@gnabd"
        .byte $fe,$fd,$fb                           // scrcode: ...
        .text "@o@a@@z"
        .text "@@aa"
        .byte $fa                                   // scrcode: .
        .text "a"
        .byte $f0                                   // scrcode: .
        .text "@@bbbv%v@@@"
        .byte $77                                   // scrcode: .
        .text "@"
        .byte $60                                   // scrcode: .
        .text "gpv@@@@@@fffhhh@@@@"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .text "kv"
        .byte $84                                   // scrcode: .
        .text "/@@hhkb@omo@/@@o@@@@@@@@@@@@aa@@@g@@b"
        .text "@@a@@be"
        .byte $4c                                   // scrcode: .
        .text "(ap"
        .byte $41                                   // scrcode: .
        .text "q!"
        .byte $22                                   // scrcode: "
        .text "55aaa@@@@@@@@@p@@@@@@@@@@"
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "@@@@@@"
        .byte $ff,$96,$1e                           // scrcode: ...
        .text "v"
        .byte $55                                   // scrcode: .
        .text "btb"
        .byte $96,$1e                               // scrcode: ..
        .text "@@@@@@@@@@@@@@@@@"
        .encoding "petscii_upper"

// --- Region $188e-$1e96 ---
.pc = $188e "dat_188e"

dat_188e:
        .byte $02,$02,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$08,$08 // ................
        .byte $08,$08,$08,$08,$08,$0c,$0c,$0c,$0c,$0c,$10,$10,$10,$10,$14,$14 // ................
        .byte $14,$18,$18,$1c,$1c,$1c               // ......

txt_18b4:
        .text "  $$(,,0488<"
        .byte $40                                   // @ character
        .text "DHLTX"
        .byte $5c                                   // backslash character
        .byte $64,$68,$70,$74,$7c,$84,$8c,$94,$9c,$a8,$b0,$bc,$c8,$d4,$e0,$ec // dhpt|...........
        .byte $fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .fill 9, $ff
        .fill 9, $00
        .byte $01,$00,$00,$e4,$28,$22,$00,$00,$f0,$12,$01,$00,$28,$00,$f7,$08 // ....("......(...
        .byte $00,$00,$00,$00,$00,$00,$03,$01,$00,$f7,$08,$00,$00,$00,$00,$00 // ................
        .byte $00,$09,$01,$00,$75,$00,$00,$00,$00,$00,$00,$00,$0f,$08,$00,$75 // ....u..........u
        .byte $00,$00,$00,$00,$00,$00,$00,$16,$08,$00,$75,$00,$00,$00,$00,$00 // ..........u.....
        .byte $00,$00,$1d,$08,$00,$75,$00,$00,$00,$00,$00,$00,$00,$24,$08,$00 // .....u.......$..
        .byte $75,$00,$00,$00,$00,$00,$00,$00,$2b,$08,$00,$75,$00,$00,$00,$00 // u.......+..u....
        .byte $00,$00,$00,$32,$08,$b0,$7b,$00,$00,$00,$00,$00,$00,$00,$39,$08 // ...2..{.......9.
        .byte $00,$75,$00,$00,$00,$00,$00,$00,$00,$42,$08,$00,$61,$fb,$00,$00 // .u.......B..a...
        .byte $00,$00,$00,$00,$4b,$10,$b2,$1a,$01,$00,$00,$00,$00,$00,$00,$4d // ....K..........M
        .byte $00,$00,$cd,$08,$00,$00,$00,$00,$12,$01,$4f,$00,$00,$a9,$04,$22 // ..........O...."
        .byte $00,$00,$f0,$12,$01,$51,$90,$00,$f0,$28,$22,$00,$00,$f1,$00,$00 // .....Q...(".....
        .byte $53,$b0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00 // S...............
        .byte $00,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$01,$00,$01,$41,$91,$81,$11,$11,$11 // ..........A.....
        .byte $11,$91,$81,$41,$81,$41,$81,$91       // ...A.A..

txt_19f1:
        .text "!!!!!!"
        .byte $96                                   // .

txt_19f8:
        .text "!!!!!!"
        .byte $96                                   // .

txt_19ff:
        .text "!!!!!!"
        .byte $96                                   // .

txt_1a06:
        .text "!!!!!!"
        .byte $96                                   // .

txt_1a0d:
        .text "!!!!!!"
        .byte $96                                   // .

txt_1a14:
        .text "!!!!!!"
        .byte $96                                   // .

txt_1a1b:
        .text "!!!!!!!!"
        .byte $98                                   // .

txt_1a24:
        .text "!!!!!!!!"
        .byte $98,$21,$91,$21,$91,$21,$91,$41,$91,$41,$91,$00,$00,$00,$ff,$10 // .!.!.!.A.A......
        .byte $0a,$08,$06,$00,$3c,$0d,$3c,$0b,$f0,$00,$00,$00,$03,$03,$07,$07 // ....<.<.........
        .byte $00,$03,$03,$07,$07,$0c,$0c,$00,$07,$07,$0c,$0c,$0f,$0f,$00,$00 // ................
        .byte $00,$04,$04,$07,$07,$00,$04,$04,$07,$07,$0c,$0c,$00,$07,$07,$0c // ................
        .byte $0c,$10,$10,$00,$00,$00,$03,$03,$07,$07,$0c,$0c,$00,$00,$00,$03 // ................
        .byte $03,$07,$07,$08,$08,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $f1,$20,$00,$00,$fa,$00,$00,$00,$00,$00,$01,$00,$00,$00,$00,$00 // . ..............
        .byte $f1,$c0,$00,$00,$f8,$00,$00,$00,$00,$00,$08,$00,$00,$00,$00,$00 // ................
        .byte $a0,$01,$01,$01,$01,$01,$01,$01,$0e,$0a,$01,$01,$82,$01,$01,$01 // ................
        .byte $01,$a0,$01,$01,$0e,$0a,$ff,$a0,$02,$02,$02,$02,$02,$02,$02,$0f // ................
        .byte $09,$02,$02,$82,$02,$02,$02,$02,$a0,$02,$02,$0f,$09,$ff,$a0,$05 // ................
        .byte $06,$03,$04,$07,$08,$07,$0d,$05,$05,$06,$82,$0b,$0c,$0b,$0c,$a0 // ................
        .byte $10,$11,$12,$13,$ff,$fe,$fe,$fe,$ac,$1a,$c3,$1a,$da,$1a,$00,$0f // ................
        .byte $f1,$1a,$f2,$1a,$f3,$1a,$00,$0f       // ........

dat_1b04:
        // === Fill data (256 bytes, $1b04-$1c03) ===
        .fill 256, $7e
        .byte $61,$88,$1d,$7e,$20,$22,$7e           // a..~ "~

txt_1c0b:
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text " $"
        .byte $7e,$22,$20,$7e,$1b,$1d,$20,$1d,$7e,$20,$22,$7e,$22,$22,$20,$1d // ~" ~.. .~ "~"" .
        .byte $18,$20,$1d,$7e,$7e,$7e,$7e,$7f,$62,$88,$34,$64,$35,$63,$34,$62 // . .~~~~.b.4d5c4b
        .byte $34,$64,$35,$35,$63,$34,$62,$34,$34,$64,$35,$63,$34,$62,$34,$64 // 4d55c4b44d5c4b4d
        .byte $35,$35,$63,$34,$7e,$62,$34,$64,$35,$63,$34,$62,$34,$64,$35,$35 // 55c4~b4d5c4b4d55
        .byte $63,$34,$62,$34,$34,$64,$35,$63,$34,$62,$34,$64,$35,$35,$63,$34 // c4b44d5c4b4d55c4
        .byte $7e,$7f,$f0,$6f,$90,$38,$38,$88,$3a,$7e,$33,$90,$35,$30,$7e,$88 // ~..o.88.:~3.50~.
        .byte $30,$33,$30,$90,$38,$37,$88,$35,$7e,$33,$90,$35,$88,$7e,$7e,$7e // 030.87.5~3.5.~~~
        .byte $7e,$7e,$7e,$7e,$7f,$6f,$90,$38,$37,$88,$35,$7e,$38,$90,$35,$30 // ~~~~.o.87.5~8.50
        .byte $7e,$88,$30,$33,$30,$90,$38,$37,$88,$35,$35,$33,$90,$35,$88,$7e // ~.030.87.553.5.~
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7f,$6c,$88,$11,$1d // ~~~~~~.l...

txt_1caa:
        .text ")5AMYY"
        .fill 8, $7e
        .byte $11,$1d                               // ..

txt_1cba:
        .text ")5AMYY"
        .fill 8, $7e
        .byte $7f,$6c,$88,$11,$1d                   // .l...

txt_1ccd:
        .text ")5AMYY"
        .fill 8, $7e
        .byte $11,$1d                               // ..

txt_1cdd:
        .text ")5AMYY"
        .byte $7e,$7e,$7e,$7e,$7e,$63,$35,$7e,$84,$35,$35,$7f,$6e,$90,$35,$37 // ~~~~~c5~.55.n.57
        .byte $38,$3a,$3c,$7e,$7e,$3f,$3c,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7f,$6e // 8:<~~?<~~~~~~~.n
        .byte $90
        .text "578:<"
        .byte $7e,$7e
        .byte $3a,$35,$7e,$7e,$7e,$7e,$7e,$7e
        .byte $7e,$7f,$63,$88,$35,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e // ~.c.5~~~~~~~~~~~
        .byte $7e,$84,$62,$35,$35,$88,$63,$35,$35,$35,$7e,$7e,$7e,$7e,$7e,$7e // ~.b55.c555~~~~~~
        .byte $7e,$7e,$84,$62,$35,$35,$63,$88,$35,$35,$62,$35,$63,$35,$35,$62 // ~~.b55c.55b5c55b
        .byte $35,$7f,$61,$90                       // 5.a.

txt_1d47:
        .text "$$$$$$$ "
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text " "
        .byte $7f,$6f,$90
        .byte $3c,$90
        .text "::8?"
        .byte $7e
        .byte $41,$3c,$7e,$7e,$7e,$7e
        .byte $6a
        .byte $35,$7e,$7d,$7e,$7f,$6f,$90
        .byte $3c,$90
        .text "::8?"
        .byte $7e
        .byte $41
        .byte $44,$7e,$41,$7e,$7e,$6a,$35,$7e,$7d,$7e,$7f,$6e,$90,$3d,$3c,$3a // D~A~~j5~}~.n.=<:
        .byte $38,$37,$7e,$7e,$33,$31,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7f,$61,$88 // 87~~31~~~~~~~.a.
        .byte $1d,$7e,$20,$22,$7e                   // .~ "~

txt_1d9c:
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text " $"
        .byte $7e,$22,$20,$7e,$1b,$1d,$20,$19,$7e,$1d,$1f,$7e,$1f,$1f,$1d,$22 // ~" ~.. .~..~..."
        .byte $20,$1f,$1b,$7e,$7e,$7e,$7e,$7f,$62,$88,$34,$64,$35,$63,$34,$62 //  ..~~~~.b.4d5c4b
        .byte $34,$64,$35,$35,$63,$34,$62,$34,$34,$64,$35,$63,$34,$62,$34,$64 // 4d55c4b44d5c4b4d
        .byte $35,$35,$63,$34,$7e,$62,$34,$64,$31,$63,$34,$62,$34,$64,$31,$31 // 55c4~b4d1c4b4d11
        .byte $63,$34,$62,$34,$34,$65,$30,$63,$34,$62,$34,$67,$33,$33,$63,$34 // c4b44e0c4b4g33c4
        .byte $7e,$7f,$6f,$88
        .text "5035"
        .byte $90
        .byte $38,$88
        .byte $37,$38,$90
        .byte $3a,$88
        .byte $38,$3a,$90
        .byte $3c,$88
        .text ":<=<:"
        .byte $90
        .byte $35,$88

txt_1e0d:
        .text "53587:"
        .byte $90,$35,$88,$7e,$7e,$7e,$7f,$6f,$88   // .5.~~~.o.

txt_1e1c:
        .text "87:587:5"
        .byte $90,$33,$88,$31,$30,$7e,$7e,$7e,$7e   // .3.10~~~~

txt_1e2d:
        .text "87:587:3"
        .byte $90,$35,$7e,$7e,$7e,$7f,$6f,$88       // .5~~~.o.

txt_1e3d:
        .text "87:<=<:8"
        .byte $90,$37,$7e,$35,$7e,$31,$88,$7e,$31,$35,$37,$90,$38,$33,$88,$7e // .7~5~1.~157.83.~
        .text "378:"
        .byte $7e,$7f,$6f,$90
        .byte $3c,$7e,$7e,$7e
        .byte $3d,$7e
        .byte $3c,$38
        .byte $7e,$7e                               // ~~

txt_1e67:
        .text ":<=<85"
        .byte $7f,$04,$04,$27,$61,$84,$a6,$c9,$ef,$02,$15,$45,$58,$6d,$82,$95 // ...'a......EXm..
        .byte $b8,$f2,$1a,$3b,$5b,$1b,$1c,$1c,$1c,$1c,$1c,$1c,$1c,$1d,$1d,$1d // ...;[...........
        .byte $1d,$1d,$1d,$1d,$1d,$1d,$1e,$1e,$1e   // .........

dat_1e96:
        // === Fill data (1 bytes, $1e96-$1e96) ===
        .byte $00                                   // .

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

spr_2000:
        // === Charset data (2048 bytes, $2000-$27ff) ===
        .byte $ff,$ff,$ff,$ff,$ff,$fe,$fc,$fc       // char 0 @+0
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$96,$a5       // char 1 @+1
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$54,$95       // char 2 @+2
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$50,$14       // char 3 @+3
        .byte $ff,$ff,$ff,$ff,$ff,$ab,$42,$10       // char 4 @+4
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$bf,$2f       // char 5 @+5
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$ff,$ff       // char 6 @+6
        .byte $ff,$ff,$ff,$ff,$ff,$ab,$1a,$c6       // char 7 @+7
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$bf,$af       // char 8 @+8
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe       // char 9 @+9
        .byte $ff,$ff,$ff,$ff,$ff,$fa,$a3,$fc       // char 10 @+10
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$c3,$f0       // char 11 @+11
        .byte $ff,$ff,$ff,$ff,$ff,$ab,$02,$c0       // char 12 @+12
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$bf,$6f       // char 13 @+13
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$96,$65       // char 14 @+14
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$9a,$a6       // char 15 @+15
        .byte $ff,$ff,$ff,$ff,$ff,$ab,$5a,$96       // char 16 @+16
        .byte $ff,$ff,$ff,$ff,$ff,$aa,$03,$40       // char 17 @+17
        .byte $ff,$ff,$ff,$fc,$ff,$aa,$0f,$c3       // char 18 @+18
        .byte $ff,$ff,$ff,$18,$ff,$ae,$2c,$ec       // char 19 @+19
        .byte $ff,$ff,$ff,$69,$ff,$aa,$ff,$ff       // char 20 @+20
        .byte $ff,$ff,$ff,$aa,$ff,$aa,$ff,$ff       // char 21 @+21
        .byte $ff,$ff,$ff,$aa,$fe,$ae,$ee,$ee       // char 22 @+22
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 23 @+23
        .byte $69,$9a,$a6,$a9,$6a,$9a,$a6,$69       // char 24 @+24
        .byte $65,$59,$96,$a5,$69,$9a,$a6,$a9       // char 25 @+25

txt_20d0:
        .byte $45,$51,$40,$ac,$6c,$6c,$ac,$ac       // char 26 @+26
        .byte $04,$41,$50,$14,$45,$51,$54,$95       // char 27 @+27
        .byte $0b,$0b,$42,$12,$06,$41,$50,$14       // char 28 @+28
        .byte $fc,$fc,$fc,$fc,$fc,$bc,$bc,$bc       // char 29 @+29
        .byte $ff,$3f,$cf,$f3,$3c,$0f,$c3,$30       // char 30 @+30
        .byte $ff,$ff,$ff,$ff,$ff,$3f,$cf,$f3       // char 31 @+31
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 32 ' '
        .byte $ff,$ff,$c3,$ec,$ec,$ec,$ec,$ec       // char 33 '!'
        .byte $f1,$fc,$ff,$ff,$ff,$ff,$ff,$ff       // char 34 '"'
        .byte $ab,$6b,$1a,$c6,$f2,$fc,$ff,$ff       // char 35 '#'
        .byte $ff,$ff,$ff,$ff,$ff,$bf,$bf,$bf       // char 36 '$'
        .byte $f3,$f3,$cf,$cf,$cf,$3f,$0f,$13       // char 37 '%'
        .byte $3c,$cf,$f3,$ec,$ec,$ec,$ec,$ec       // char 38 '&'
        .byte $30,$0c,$c3,$f0,$3c,$cf,$f3,$fc       // char 39 '''
        .byte $1b,$0b,$02,$c2,$32,$0c,$c3,$f0       // char 40 '('
        .byte $59,$56,$15,$45,$51,$14,$05,$41       // char 41 ')'
        .byte $69,$5a,$96,$65,$59,$56,$15,$45       // char 42 '*'
        .byte $a9,$6a,$82,$ac,$6c,$6c,$ac,$6c       // char 43 '+'
        .byte $a5,$69,$9a,$a6,$a9,$6a,$9a,$a6       // char 44 ','
        .byte $9b,$6b,$5a,$96,$a6,$69,$9a,$a6       // char 45 '-'
        .byte $10,$04,$41,$50,$14,$45,$51,$54       // char 46 '.'
        .byte $30,$0c,$03,$40,$10,$04,$41,$50       // char 47 '/'
        .byte $ec,$2c,$2c,$ec,$2c,$2c,$2c,$6c       // char 48 '0'
        .byte $ff,$ff,$3f,$cf,$f3,$3c,$0f,$c3       // char 49 '1'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$3f,$cf       // char 50 '2'
        .byte $ee,$ee,$ed,$ee,$ee,$ed,$ec,$ee       // char 51 '3'
        .byte $5a,$96,$65,$59,$56,$15,$45,$51       // char 52 '4'
        .byte $6a,$9a,$a6,$69,$5a,$96,$65,$59       // char 53 '5'
        .byte $6c,$ac,$ac,$ac,$6a,$9a,$a6,$69       // char 54 '6'
        .byte $45,$51,$54,$95,$65,$59,$96,$a5       // char 55 '7'
        .byte $bc,$6c,$6c,$2c,$6c,$bc,$bc,$bc       // char 56 '8'
        .byte $0c,$03,$40,$10,$04,$41,$50,$14       // char 57 '9'
        .byte $3c,$0f,$c3,$30,$0c,$03,$40,$10       // char 58 ':'
        .byte $ec,$2c,$ec,$ec,$28,$0f,$c3,$30       // char 59 ';'
        .byte $bf,$ec,$ec,$ec,$ec,$bc,$bc,$bc       // char 60 '<'
        .byte $24,$69,$1a,$c6,$f1,$fc,$ff,$ff       // char 61 '='
        .byte $ff,$3f,$4f,$93,$a4,$69,$1a,$c6       // char 62 '>'
        .byte $ec,$ec,$ec,$ec,$ec,$2c,$6c,$ac       // char 63 '?'
        .byte $3c,$cf,$f3,$fc,$ff,$ff,$ff,$ff       // char 64 '@'
        .byte $bc,$2c,$ec,$ec,$2c,$ec,$ec,$ec       // char 65 'A'
        .byte $10,$04,$01,$c0,$30,$0c,$c3,$f0       // char 66 'B'
        .byte $51,$14,$05,$41,$10,$04,$01,$c0       // char 67 'C'
        .byte $6c,$6c,$2c,$6c,$6c,$2c,$2c,$6c       // char 68 'D'
        .byte $a9,$6a,$9a,$a6,$69,$5a,$96,$65       // char 69 'E'
        .byte $bc,$6c,$ac,$ac,$ac,$6f,$af,$af       // char 70 'F'
        .byte $95,$65,$59,$96,$a5,$29,$1a,$26       // char 71 'G'
        .byte $14,$45,$51,$54,$95,$65,$59,$96       // char 72 'H'
        .byte $2c,$2c,$6c,$6c,$18,$45,$51,$54       // char 73 'I'
        .byte $f3,$3c,$0f,$c3,$30,$0c,$03,$40       // char 74 'J'
        .byte $ed,$ec,$2c,$ef,$ef,$bf,$bf,$bf       // char 75 'K'
        .byte $14,$05,$41,$10,$04,$01,$c0,$30       // char 76 'L'
        .byte $56,$15,$45,$51,$14,$05,$41,$10       // char 77 'M'
        .byte $6a,$9a,$ab,$aa,$6a,$9a,$a6,$69       // char 78 'N'
        .byte $fe,$3e,$cb,$f2,$3e,$0f,$c3,$30       // char 79 'O'
        .byte $ac,$6c,$2c,$ec,$ec,$ec,$ec,$ec       // char 80 'P'
        .byte $ff,$ff,$ff,$ff,$ff,$3f,$4f,$93       // char 81 'Q'
        .byte $ec,$ec,$ec,$ec,$ec,$ec,$ec,$ec       // char 82 'R'
        .byte $2c,$2c,$2c,$ec,$2c,$2c,$ec,$ec       // char 83 'S'
        .byte $6f,$6f,$af,$6f,$6f,$6f,$2f,$6f       // char 84 'T'
        .byte $c9,$ca,$f2,$c6,$c9,$1a,$16,$25       // char 85 'U'
        .byte $95,$65,$59,$96,$a5,$69,$9a,$a6       // char 86 'V'
        .byte $12,$06,$4b,$52,$16,$45,$51,$54       // char 87 'W'
        .byte $0c,$c3,$f0,$3c,$cf,$f3,$fc,$ff       // char 88 'X'
        .byte $04,$01,$c0,$30,$0c,$c3,$f0,$3c       // char 89 'Y'
        .byte $14,$01,$6c,$2c,$2c,$2c,$ec,$2c       // char 90 'Z'
        .byte $6c,$ac,$ac,$6c,$6c,$ac,$6c,$6c       // char 91 '['
        .byte $41,$6c,$6c,$ac,$6c,$6c,$ac,$ac       // char 92 '\'
        .byte $2c,$2c,$ec,$2c,$2c,$2c,$6c,$2c       // char 93 ']'
        .byte $a4,$69,$1a,$c6,$f1,$fc,$ff,$ff       // char 94 '^'
        .byte $ec,$2c,$6c,$ac,$ac,$6c,$2c,$ec       // char 95 '_'
        .byte $2c,$ec,$ec,$ec,$ec,$ec,$ec,$ec       // char 96 '`'
        .byte $6c,$2c,$2c,$6c,$2c,$2c,$2c,$ec       // char 97 'a'
        .byte $a1,$6c,$ac,$ac,$6c,$6c,$ac,$6c       // char 98 'b'
        .byte $2f,$6f,$6f,$6f,$af,$6f,$6f,$af       // char 99 'c'
        .byte $fc,$fc,$fc,$fc,$fc,$ec,$ec,$dc       // char 100 'd'
        .byte $cf,$f3,$fc,$ff,$ff,$ff,$ff,$ff       // char 101 'e'
        .byte $2c,$ec,$ec,$2c,$ec,$ec,$ec,$ec       // char 102 'f'
        .byte $6c,$2c,$6c,$6c                       // char 103 (partial)

txt_233c:
        .byte $2c,$2c,$bc,$bc                       // char 103 (partial)
        .byte $6c,$ac,$ac,$ac,$6c,$ac,$ac,$6c       // char 104 'h'
        .byte $2c,$6c,$6c,$2c,$6c,$6c,$6f,$af       // char 105 'i'
        .byte $0c,$03,$40,$10,$04,$41,$10,$14       // char 106 'j'
        .byte $ec,$2c,$ec,$ec,$2c,$2c,$ec,$2c       // char 107 'k'
        .byte $ec,$ec,$ec,$ec,$ec,$ec,$bc,$bc       // char 108 'l'
        .byte $2c,$2c,$ec,$ec,$2c,$ec,$ec,$ec       // char 109 'm'
        .byte $af,$6f,$af,$af,$af,$6f,$af,$af       // char 110 'n'
        .byte $cc,$ec,$dc,$cc,$dc,$cc,$cc,$cc       // char 111 'o'
        .byte $eb,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 112 'p'
        .byte $0c,$c3,$f2,$3e,$ce,$fb,$fb,$cf       // char 113 'q'
        .byte $bc,$bc,$fc,$fc,$fc,$fc,$fc,$fc       // char 114 'r'
        .byte $6c,$ac,$6c,$6c,$6c,$2c,$6c,$6c       // char 115 's'
        .byte $6f,$6f,$af,$af,$6f,$af,$af,$af       // char 116 't'
        .byte $05,$11,$c4,$c5,$c5,$f1,$f2,$fc       // char 117 'u'
        .byte $08,$03,$40,$10,$04,$41,$50,$14       // char 118 'v'
        .byte $ff,$3f,$ce,$f2,$3e,$0b,$cb,$0f       // char 119 'w'
        .byte $cc,$cc,$cf,$c0,$ff,$ff,$ff,$ff       // char 120 'x'
        .byte $ff,$00,$ff,$00,$ff,$ff,$ff,$ff       // char 121 'y'
        .byte $ff,$00,$ff,$11,$ff,$ff,$ff,$ff       // char 122 'z'
        .byte $ff,$00,$ff,$86,$ff,$ff,$ff,$ff       // char 123 '{'
        .byte $fc,$03,$ff,$bf,$ff,$ff,$ff,$ff       // char 124 '|'
        .byte $3f,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 125 '}'
        .byte $fc,$fc,$ff,$ff,$ff,$ff,$ff,$ff       // char 126 '~'
        .byte $0c,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 127
        .byte $04,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 128
        .byte $2c,$2c,$ff,$ff,$ff,$ff,$ff,$ff       // char 129
        .byte $56,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 130
        .byte $5a,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 131
        .byte $6f,$2f,$ff,$ff,$ff,$ff,$ff,$ff       // char 132
        .byte $05,$f0,$ff,$ff,$ff,$ff,$ff,$ff       // char 133
        .byte $45,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 134
        .byte $04,$03,$ff,$ff,$ff,$ff,$ff,$ff       // char 135
        .byte $ff,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 136
        .byte $ec,$2c,$ff,$ff,$ff,$ff,$ff,$ff       // char 137
        .byte $f1,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 138
        .byte $a4,$00,$ff,$ff,$ff,$ff,$ff,$ff       // char 139
        .byte $30,$00,$ff,$03,$7f,$af,$bf,$ff       // char 140
        .byte $10,$00,$ff,$3f,$7f,$bf,$ab,$ff       // char 141
        .byte $6f,$2f,$ff,$3f,$7f,$bf,$bf           // char 142 (partial)

dat_2477:
        // === Fill data (905 bytes, $2477-$27ff) ===
        .fill 457, $ff

spr_2640:
        .fill 448, $ff
        .fill 16, $00

dat_2810:
        // === Fill data (40 bytes, $2810-$2837) ===
        .fill 40, $0b

// --- Region $2850-$2877 ---
.pc = $2850 "dat_2850"

dat_2850:
        // === Fill data (40 bytes, $2850-$2877) ===
        .fill 40, $09

// --- Region $2890-$28b7 ---
.pc = $2890 "dat_2890"

dat_2890:
        // === Fill data (40 bytes, $2890-$28b7) ===
        .fill 40, $02

// --- Region $28d0-$2c20 ---
.pc = $28d0 "dat_28d0"

dat_28d0:
        // === Fill data (40 bytes, $28d0-$28f7) ===
        .fill 40, $06
        .fill 20, $00
        .byte $0b,$0b,$0b,$0b                       // ....

dat_2910:
        // === Fill data (40 bytes, $2910-$2937) ===
        .fill 40, $0c
        .byte $0b,$0b,$0b,$0b,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$09,$09,$09,$09       // ........

dat_2950:
        // === Fill data (40 bytes, $2950-$2977) ===
        .fill 40, $08
        .byte $09,$09,$09,$09,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$02,$02,$02,$02       // ........

dat_2990:
        // === Fill data (40 bytes, $2990-$29b7) ===
        .fill 40, $0a
        .byte $02,$02,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$06,$06,$06,$06       // ........

dat_29d0:
        // === Fill data (40 bytes, $29d0-$29f7) ===
        .fill 40, $0e
        .byte $06,$06,$06,$06,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $0b,$0b,$0b,$0b,$0c,$0c,$0c,$0c       // ........

dat_2a10:
        // === Fill data (40 bytes, $2a10-$2a37) ===
        .fill 40, $0f
        .byte $0c,$0c,$0c,$0c,$0b,$0b,$0b,$0b       // ........

spr_2a40:
        // === Sprite data (64 bytes, $2a40-$2a7f) ===
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$09                           // ....................#..#
        .byte $09,$09,$09                           // ....#..#....#..#....#..#
        .byte $08,$08,$08                           // ....#.......#.......#...
        .byte $08

dat_2a50:
        // === Fill data (40 bytes, $2a50-$2a77) ===
        .fill 40, $0a
        .byte $08
        .byte $08,$08,$08                           // ....#.......#.......#...
        .byte $09,$09,$09                           // ....#..#....#..#....#..#
        .byte $09                                   // sprite 0 padding
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$02                           // ......................#.
        .byte $02,$02,$02                           // ......#.......#.......#.
        .byte $0a,$0a,$0a                           // ....#.#.....#.#.....#.#.
        .byte $0a

dat_2a90:
        // === Fill data (40 bytes, $2a90-$2ab7) ===
        .fill 40, $0f
        .byte $0a,$0a,$0a,$0a,$02,$02,$02,$02,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $06,$06,$06,$06,$0e,$0e,$0e,$0e       // ........

dat_2ad0:
        // === Fill data (40 bytes, $2ad0-$2af7) ===
        .fill 40, $03

txt_2af8:
        .encoding "screencode_mixed"
        .text "nnnnffff bronx is here with another fast crack for you"
        .encoding "petscii_upper"

txt_2b2e:
        .text "..  "
        .byte $22                                   // double quote character

txt_2b33:
        .encoding "screencode_mixed"
        .text "cashman"
        .byte $22                                   // double quote
        .text " was cracked by the psychopath of bronx"
        .encoding "petscii_upper"

txt_2b62:
        .text "..  "

txt_2b66:
        .encoding "screencode_mixed"
        .text "we send our greetings to our friends in"
        .encoding "petscii_upper"

txt_2b8d:
        .text ":  * "
        .byte $0d                                   // string terminator
        .byte $0f,$14,$09,$16                       // ....

txt_2b97:
        .text " 8 * "

txt_2b9c:
        .encoding "screencode_mixed"
        .text "success * extacy * avantgarde * chromance * alpha flight * regina * and all the other coolies"
        .encoding "petscii_upper"

txt_2bf9:
        .text "..  "

txt_2bfd:
        .encoding "screencode_mixed"
        .text "the psychopath off"
        .encoding "petscii_upper"

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

// --- Region $2e05-$2e5c ---
.pc = $2e05 "Segment $2e05"
        .byte $09,$02,$02,$02,$08,$08,$08,$0a,$0a,$0a,$0f,$0f,$0f,$07,$07,$07 // ................
        .byte $01,$01,$01,$07,$07,$07,$0f,$0f,$0f,$0a,$0a,$0a,$08,$08,$08,$02 // ................
        .byte $02,$02,$09,$09,$09,$00,$00,$00,$00,$00,$00,$01,$01,$01,$02,$02 // ................
        .byte $02,$03,$03,$03,$04,$04,$04,$05,$05,$05,$06,$06,$06,$07,$07,$07 // ................
        .byte $08,$08,$08,$07,$07,$07,$06,$06,$06,$05,$05,$05,$04,$04,$04,$03 // ................
        .byte $03,$03,$02,$02,$02,$01,$01,$01       // ........

// --- Region $310f-$3132 ---
.pc = $310f "dat_310f"

dat_310f:
        .byte $c6,$c1,$d3,$d4,$20,$c3,$cf,$c4,$c5,$20,$c2,$d9,$20,$d4,$c8,$c5 // .... .... .. ...
        .byte $20,$d0,$d3,$d9,$c3,$c8,$cf,$d0,$c1,$d4,$c8,$20,$cf,$c6,$20,$c2 //  .......... .. .
        .byte $d2,$cf,$ce,$d8                       // ....

// --- Region $317c-$31a3 ---
.pc = $317c "Segment $317c"
        .byte $a9,$34,$85,$01,$a2,$00,$bd,$00,$32,$9d,$01,$08,$e8,$d0,$f7,$ee // .4......2.......
        .byte $09,$04,$ee,$0c,$04,$ad,$09,$04,$c9,$00,$d0,$ea,$a9,$37,$85,$01 // .............7..
        .byte $58,$20,$e2,$fc,$4c,$ae,$a7           // X ..L..

dat_31a3:
        // === Fill data (1 bytes, $31a3-$31a3) ===
        .byte $00                                   // .
