// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:03
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $2800 (10240)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $2860 (irq_2860)
// IRQ handler:  $2891 (irq_2891)
// IRQ handler:  $28c0 (irq_28c0)
// IRQ handler:  $290a (irq_290a)
// IRQ handler:  $2964 (irq_2964)
//
// Code: 3781 bytes, Data: 59707 bytes
// Labels: 444, Subroutines: 14
//
// Cross-references: all OK
// ============================================


// --- Region $0820-$0824 ---
.pc = $0820 "sub_0820"
// Referenced by: jsr from $ffed

sub_0820:
        .byte $80,$07                               // nop #$07 // ILLEGAL
        .byte $07,$07                               // slo $07 // ILLEGAL

chr_0824:
        // === Charset data (1 bytes, $0824-$0824) ===
        .byte $07                                   // char 0 (partial)

// --- Region $0f04-$0f0b ---
.pc = $0f04 "sub_0f04"
// Referenced by: jsr from $ffe7

sub_0f04:
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        .byte $ff,$3f,$7f                           // isc $7f3f,x // ILLEGAL

chr_0f0a:
        // === Charset data (2 bytes, $0f0a-$0f0b) ===
        .byte $ff,$7f                               // char 0 (partial)

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

sub_1000:
        jmp loc_1020
// Referenced by: jsr from $2954, $f7ce

sub_1003:
        jmp loc_108d

scr_1006:
        // === Screen RAM (1 bytes, $1006-$1006) ===
        .encoding "screencode_mixed"
        .text "a"
        .encoding "petscii_upper"

// --- Region $1020-$1251 ---
.pc = $1020 "loc_1020"

loc_1020:
        asl
        asl
        asl
        tay
        ldx #$00

loc_1026:
        lda $16bb,y
        sta $1627,x
        sta $162d,x
        lda $16bc,y
        sta $162a,x
        sta $1630,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1026
        lda $16bb,y
        sta $16b6
        sta $16b7
        lda $1011
        beq loc_1078
        ldx #$02

loc_104f:
        lda $16bc,y
        sta $1633
        and $1634,x
        sta scr_1006,x
        dex
        bpl loc_104f
        bit $1633
        bpl loc_1078
        ldx #$00

loc_1065:
        lda $16bd,y
        sta $162d,x
        lda $16be,y
        sta $1630,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1065

loc_1078:
        ldy #$00
        tya

loc_107b:
        sta $d400,y
        sta $1643,y
        iny
        cpy #$1b
        bne loc_107b
        lda $1009
        sta $d418
        rts

loc_108d:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02
        dec $16b6
        bpl loc_10a0
        lda $16b7
        sta $16b6

loc_10a0:
        lda scr_1006,x
        bne loc_10a8
        jmp loc_155a

loc_10a8:
        lda $16b6
        bne loc_10b5
        lda $164c,x
        beq loc_10b8
        dec $164c,x

loc_10b5:
        jmp loc_1267

loc_10b8:
        lda $1658,x
        sta $164c,x
        lda $1627,x
        sta $fb
        lda $162a,x
        sta $fc
        ldy #$00
        tya
        sta $164f,x
        lda ($fb),y
        bpl loc_10e8
        and #$7f
        asl
        sta $1643,x
        inc $1627,x
        inc $fb
        bne loc_10e4
        inc $162a,x
        inc $fc

loc_10e4:
        ldy #$00
        lda ($fb),y

loc_10e8:
        tay
        lda $18c3,y
        sta $fb
        lda $18db,y
        sta $fc

loc_10f3:
        ldy $1646,x
        lda ($fb),y
        bmi loc_113a
        beq loc_1130
        cmp #$7e
        beq loc_1126
        sta $165b,x
        asl
        clc
        adc $1643,x
        tay
        lda dat_1567,y
        clc
        adc $16b3,x
        sta $1676,x
        lda $1568,y
        adc #$00
        sta $1679,x
        lda $16aa,x
        beq loc_1129
        dec $16aa,x
        jmp loc_1129

loc_1126:
        inc $164f,x

loc_1129:
        lda #$ff
        sta $163d,x
        bne loc_1198

loc_1130:
        lda #$fe
        sta $163d,x
        inc $164f,x
        bne loc_1198

loc_113a:
        pha
        and #$e0
        cmp #$80
        bne loc_1156
        pla
        pha
        and #$10
        sta $164f,x
        pla
        and #$0f
        sta $164c,x
        sta $1658,x
        inc $1646,x
        bne loc_10f3

loc_1156:
        cmp #$a0
        bne loc_1166
        pla
        asl
        asl
        asl
        sta $1649,x

loc_1161:
        inc $1646,x
        bne loc_10f3

loc_1166:
        pla
        and #$3f
        asl
        tay
        lda $185b,y
        sta $16a1,x
        lda $185a,y
        pha
        and #$1f
        sta $16a4,x
        pla
        pha
        and #$80
        sta $16a7,x
        lda #$01
        sta $16aa,x
        lda #$00
        sta $16ad,x
        sta $16b0,x
        pla
        and #$20
        bne loc_1161
        inc $16aa,x
        bne loc_1161

loc_1198:
        inc $1646,x
        ldy $1646,x
        lda ($fb),y
        cmp #$7f
        bne loc_11d1
        lda #$00
        sta $1646,x
        tay
        lda $1627,x
        clc
        adc #$01
        sta $1627,x
        sta $fb
        lda $162a,x
        adc #$00
        sta $162a,x
        sta $fc
        lda ($fb),y
        cmp #$ff
        bne loc_11d1
        lda $162d,x
        sta $1627,x
        lda $1630,x
        sta $162a,x

loc_11d1:
        cmp #$fe
        bne loc_11e3
        lda #$00
        sta scr_1006,x
        ldy $163a,x
        sta $d404,y
        jmp loc_155a

loc_11e3:
        lda $164f,x
        beq loc_11eb
        jmp loc_1267

loc_11eb:
        lda $1640,x
        and #$fe
        ldy $163a,x
        sta $d404,y
        ldy $1649,x
        lda $17ba,y
        ldy $163a,x
        sta $d405,y
        ldy $1649,x
        lda $17bb,y
        ldy $163a,x
        sta $d406,y
        lda #$09
        sta $d404,y
        ldy $1649,x
        lda $17c1,y
        sta $169b,x
        sta $169e,x
        lda $17be,y
        ldy #$00
        and #$0f
        beq loc_1240
        cmp #$08
        beq loc_123f
        asl
        asl
        asl
        asl
        ora $1009
        sta $d418
        iny
        lda $100a
        ora $1634,x
        bne loc_1246

loc_123f:
        iny

loc_1240:
        lda $100a
        and $1637,x

loc_1246:
        sta $d417
        sta $100a
        cpy #$01
        bne loc_125f

scr_1250:
        // === Screen RAM (2 bytes, $1250-$1251) ===
        .byte $bc,$49                               // scrcode: ..

// --- Region $125f-$1567 ---
.pc = $125f "loc_125f"

loc_125f:
        lda #$02
        sta $1655,x
        jmp loc_155a

loc_1267:
        lda $1655,x
        cmp #$02
        bne loc_127f
        ldy $1649,x
        lda $17c0,y
        sta $1688,x
        tay
        lda #$00
        sta $168b,x
        beq loc_128a

loc_127f:
        lda $168b,x
        beq loc_128a
        dec $168b,x
        jmp loc_12d7

loc_128a:
        ldy $1688,x
        lda $179e,y
        pha
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $167c,x
        pla
        and #$0f
        sta $167f,x
        lda $179f,y
        sta $1682,x
        lda $17a0,y
        sta $1633
        and #$3f
        asl
        sta $168b,x
        bit $1633
        bpl loc_12cb
        lda $17a1,y
        pha
        and #$f0
        sta $168e,x
        pla
        and #$0f
        sta $1691,x
        lda #$00
        sta $1685,x

loc_12cb:
        bit $1633
        bvs loc_12d7
        tya
        clc
        adc #$04
        sta $1688,x

loc_12d7:
        lda $1685,x
        bne loc_12f5
        lda $168e,x
        clc
        adc $1682,x
        sta $168e,x
        lda $1691,x
        adc #$00
        sta $1691,x
        cmp $167f,x
        bne loc_1314
        beq loc_130c

loc_12f5:
        lda $168e,x
        sec
        sbc $1682,x
        sta $168e,x
        lda $1691,x
        sbc #$00
        sta $1691,x
        cmp $167c,x
        bne loc_1314

loc_130c:
        lda $1685,x
        eor #$01
        sta $1685,x

loc_1314:
        cpx #$00
        beq loc_131b
        jmp loc_13b2

loc_131b:
        lda $1699
        beq loc_1326
        dec $1699
        jmp loc_1385

loc_1326:
        ldy $1698
        lda $177b,y
        pha
        and #$f0
        sta $1694
        pla
        and #$0f
        asl
        asl
        asl
        asl
        sta $1695
        lda $177c,y
        sta $1696
        lda $177d,y
        sta $1633
        and #$3f
        asl
        sta $1699
        bit $1633
        bpl loc_1379
        lda $100a
        and #$0f
        sta $1633
        lda $177e,y
        pha
        and #$f0
        sta $169a
        pla
        and #$0f
        asl
        asl
        asl
        asl
        ora $1633
        sta $100a
        sta $d417
        lda #$00
        sta $1697

loc_1379:
        bit $1633
        bvs loc_1385
        tya
        clc
        adc #$04
        sta $1698

loc_1385:
        lda $1697
        bne loc_139b
        lda $169a
        clc
        adc $1696
        sta $169a
        cmp $1695
        bcc loc_13b2
        bcs loc_13aa

loc_139b:
        lda $169a
        sec
        sbc $1696
        sta $169a
        cmp $1694
        bcs loc_13b2

loc_13aa:
        lda $1697
        eor #$01
        sta $1697

loc_13b2:
        ldy $169b,x
        lda $16cb,y
        bmi loc_13ce
        cmp #$7f
        bne loc_13d6
        lda $169e,x
        clc
        adc txt_1723,y
        sta $169b,x
        tay
        lda $16cb,y
        bpl loc_13d6

loc_13ce:
        and #$7f
        asl
        ldy #$01
        jmp loc_13e1

loc_13d6:
        clc
        adc $165b,x
        asl
        clc
        adc $1643,x
        ldy #$00

loc_13e1:
        sty $1633
        tay
        lda dat_1567,y
        clc
        adc $16b3,x
        sta $100b,x
        lda $1568,y
        adc #$00
        sta $100e,x
        ldy $169b,x
        lda txt_1723,y
        sta $1640,x
        inc $169b,x
        lda $16aa,x
        beq loc_145b
        lda $16a7,x
        bne loc_1423
        lda $16ad,x
        clc
        adc $16a1,x
        sta $16ad,x
        lda $16b0,x
        adc $16a4,x
        sta $16b0,x
        jmp loc_1436

loc_1423:
        lda $16ad,x
        sec
        sbc $16a1,x
        sta $16ad,x
        lda $16b0,x
        sbc $16a4,x
        sta $16b0,x

loc_1436:
        lda $1633
        bne loc_144e
        lda $100b,x
        clc
        adc $16ad,x
        sta $100b,x
        lda $100e,x
        adc $16b0,x
        sta $100e,x

loc_144e:
        lda $1655,x
        cmp #$01
        beq loc_1458
        dec $1655,x

loc_1458:
        jmp loc_152a

loc_145b:
        lda $1655,x
        beq loc_14ab
        cmp #$01
        beq loc_146a
        dec $1655,x
        jmp loc_152a

loc_146a:
        ldy $1649,x
        lda $17bd,y
        pha
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $1661,x
        sec
        sbc #$01
        sta $165e,x
        lda #$00
        sta $166d,x
        sta $166a,x
        pla
        and #$0f
        asl
        sta $1664,x
        lda $17bc,y
        pha
        and #$f0
        sta $1667,x
        pla
        and #$0f
        asl
        sta $1670,x
        lda $17be,y
        and #$f0
        lsr
        sta $1673,x
        dec $1655,x

loc_14ab:
        lda $1661,x
        beq loc_152a
        dec $1670,x
        bpl loc_152a
        inc $1670,x

loc_14b8:
        dec $165e,x
        bmi loc_14fc
        lda $166d,x
        cmp #$02
        bcs loc_14e0
        lda $1676,x
        clc
        adc $1667,x
        sta $100b,x
        sta $1676,x
        lda $1679,x
        adc $166a,x
        sta $100e,x
        sta $1679,x
        jmp loc_152a

loc_14e0:
        lda $1676,x
        sec
        sbc $1667,x
        sta $100b,x
        sta $1676,x
        lda $1679,x
        sbc $166a,x
        sta $100e,x
        sta $1679,x
        jmp loc_152a

loc_14fc:
        lda $166d,x
        clc
        adc #$01
        and #$03
        sta $166d,x
        lda $1661,x
        sta $165e,x
        lda $1673,x
// Referenced by: jsr from $ffd2

sub_1510:
        beq loc_14b8
        dec $1673,x
        lda $1667,x
        clc
        adc $1664,x
        sta $1667,x
        lda $166a,x
        adc #$00
        sta $166a,x
        jmp loc_14b8

loc_152a:
        ldy $163a,x
        lda $168e,x
        sta $d402,y
        lda $1691,x
        sta $d403,y
        lda $169a
        sta $d416
        ldy $163a,x
        lda $100b,x
        sta $d400,y
        lda $100e,x
        sta $d401,y
        lda $1640,x
        ldy $163a,x
        and $163d,x
        sta $d404,y

loc_155a:
        dex
        bmi loc_1560
        jmp loc_10a0

loc_1560:
        pla
        sta $fc
        pla
        sta $fb
        rts

dat_1567:
        .byte $16                                   // .

// --- Region $1592-$1597 ---
.pc = $1592 "loc_1592"

loc_1592:
        .byte $03,$e0                               // slo ($e0,x) // ILLEGAL
        .byte $03,$1b                               // slo ($1b,x) // ILLEGAL

dat_1596:
        .byte $04,$5a                               // .Z

// --- Region $160b-$160f ---
.pc = $160b "loc_160b"

loc_160b:
        bpl loc_1689
        bvs loc_1592
        rti

// --- Region $1689-$1689 ---
.pc = $1689 "loc_1689"

loc_1689:
        brk

// --- Region $2800-$2c56 ---
.pc = $2800 "main_2800"

main_2800:
        jsr sub_2806
        jmp loc_2830
// Referenced by: jsr from $2800, $2dd5, $f67b, $fc3a

sub_2806:
        ldx #$31
        ldy #$ea
        stx $0314
        sty $0315
        ldx #$00
        stx $d01a
        stx smc_28a9                                // SMC: modifies $28a9
        stx smc_294b                                // SMC: modifies $294b
        inx
        stx $dc0e
        stx smc_28a4                                // SMC: modifies $28a4
        stx smc_2950                                // SMC: modifies $2950
        lda #$a1
        sta smc_29a4                                // SMC: modifies $29a4
        lda #$2d
        sta smc_29a5                                // SMC: modifies $29a5
        rts

loc_2830:
        jsr sub_29df
        sei
        ldx #$60
        ldy #$28
        stx $0314
        sty $0315
        ldx #$00
        stx $dc0e
        inx
        stx $d01a
        lda #$00
        sta $d020
        sta $d021
        lda #$1b
        sta $d011
        lda #$03
        sta $dd00
        jsr $e453
        cli

loc_285d:
        jmp loc_285d

irq_2860:
        inc $d019
        lda #$3b
        sta $d012
        nop
        nop
        nop
        nop
.label smc_286d = * + 1
        lda #$03                                    // !SMC: modified by $2afe
        sta $d020
        ldx #$08

loc_2873:
        dex
        bne loc_2873
.label smc_2877 = * + 1
        lda #$02                                    // !SMC: modified by $2c41
        sta $d020
        nop
        nop
        nop
        nop
        lda #$00
        sta $d020
        lda #$91
        sta $0314
        lda #$28
        sta $0315
        jmp loc_ea81

irq_2891:
        inc $d019
        lda #$79
        sta $d012
        lda #$18
        sta $d018
        lda #$18
        sta $d016
.label smc_28a4 = * + 1
        lda #$01                                    // !SMC: modified by $281f
        sta $d022
.label smc_28a9 = * + 1
        lda #$00                                    // !SMC: modified by $2815
        sta $d023
        lda #$c0
        sta $0314
        lda #$28
        sta $0315
        jsr sub_2ae6
        jsr sub_2a5c
        jmp loc_ea81

irq_28c0:
        inc $d019
        lda #$91
        sta $d012
        lda #$08
        sta $d016
        lda #$12
        sta $d018
        ldx #$09

loc_28d4:
        dex
        bne loc_28d4
        nop
        nop
        bit $00
        ldy #$00

loc_28dd:
.label smc_28de = * + 1
        lda txt_2ea0,y                              // !SMC: modified by $29d8
        sta $d021
        sta $d021
        ldx $2ec0,y

loc_28e9:
        dex
        bne loc_28e9
        iny
        cpy #$10
        bne loc_28dd
        nop
        nop
        lda #$00
        sta $d021
        lda #$15
        sta $d018
        lda #$0a
        sta $0314
        lda #$29
        sta $0315
        jmp loc_ea81

irq_290a:
        inc $d019
        lda #$e2
        sta $d012
.label smc_2913 = * + 1
        lda #$08                                    // !SMC: modified by $2a77
        sta $d016
        lda #$12
        sta $d018
        ldx #$09

loc_291e:
        dex
        bne loc_291e
        nop
        nop
        bit $00
        ldy #$00

loc_2927:
        lda $2ed0,y
        sta $d021
        sta $d021
        ldx $2ec0,y

loc_2933:
        dex
        bne loc_2933
        iny
        cpy #$10
        bne loc_2927
        nop
        nop
        lda #$00
        sta $d021
        lda #$18
        sta $d016
        sta $d018
.label smc_294b = * + 1
        lda #$00                                    // !SMC: modified by $2818
        sta $d022
.label smc_2950 = * + 1
        lda #$01                                    // !SMC: modified by $2822
        sta $d023
        jsr sub_1003
        lda #$64
        sta $0314
        lda #$29
        sta $0315
        jmp loc_ea81

irq_2964:
        inc $d019
        lda #$39                                    // !SMC: modified by $1165
        sta $d012
        lda #$08
        sta $d016
        lda #$12
        sta $d018
        bit $00
        bit $00
        bit $00
        bit $00
        bit $00
.label smc_2981 = * + 1
        lda #$00                                    // !SMC: modified by $2c47
        sta $d020
        ldx #$08

loc_2987:
        dex
        bne loc_2987
.label smc_298b = * + 1
        lda #$00                                    // !SMC: modified by $2b04
        sta $d020
        nop
        nop
        nop
        bit $00
        lda #$00
        sta $d020
        ldx #$41

loc_299b:
        dex
        bne loc_299b
        lda #$15
        sta $d018
.label smc_29a4 = * + 1
.label smc_29a5 = * + 2
        jsr sub_2da1                                // !SMC: modified by $2827, $282c, $2db2, $2db7
        jsr sub_29bd
        lda #$60
        sta $0314
        lda #$28
        sta $0315
        lda $dc01
        cmp #$ef
        beq loc_29dc
        jmp loc_ea81
// Referenced by: jsr from $29a6

sub_29bd:
        inc $034e
        lda $034e
        cmp #$03
        bne loc_29db
        lda #$00
        sta $034e
        inc smc_28de
        lda smc_28de
        cmp #$b0
        bne loc_29db
        lda #$a0
        sta smc_28de                                // SMC: modifies $28de

loc_29db:
        rts

loc_29dc:
        jmp loc_2dd5
// Referenced by: jsr from $2830

sub_29df:
        lda #$00
        sta $0286
        lda #$93
        jsr $ffd2
        lda #$00
        jsr sub_1000
        jsr sub_2a8b
        ldx #$00

loc_29f3:
        lda #$64
        sta $0400,x
        lda #$00
        sta $0340,x
        sta $0770,x
        inx
        cpx #$28
        bne loc_29f3
        ldx #$00

loc_2a07:
        lda $2e48,x
        sta chr_0800,x
        inx
        cpx #$08
        bne loc_2a07
        ldx #$00

loc_2a14:
        lda $2f00,x
        sta $0450,x
        lda $2ff0,x
        sta $0658,x
        inx
        cpx #$f0
        bne loc_2a14
        ldx #$00
        ldy #$00

loc_2a29:
        lda $2ee0,x
        and #$3f
        sta $0568,y
        clc
        adc #$40
        sta $0569,y
        clc
        adc #$40
        sta $0590,y
        clc
        adc #$40
        sta $0591,y
        inx
        iny
        iny
        cpx #$14
        bne loc_2a29
        ldx #$00
        lda #$08

loc_2a4e:
        sta $d850,x
        sta $da58,x
        inx
        cpx #$f0
        bne loc_2a4e
        rts

dat_2a5a:
        .byte $00,$00                               // ..
// Referenced by: jsr from $28ba, $f734; branch from $2a67

sub_2a5c:
        jsr sub_2a6f
        inc dat_2a5a
        lda dat_2a5a
        cmp #$03
        bne sub_2a5c
        lda #$00
        sta dat_2a5a
        rts
// Referenced by: jsr from $2a5c

sub_2a6f:
        dec $0344
        lda $0344
        and #$07
        sta smc_2913                                // SMC: modifies $2913
        cmp #$07
        beq loc_2a7f
        rts

loc_2a7f:
.label smc_2a80 = * + 1
.label smc_2a81 = * + 2
        lda txt_3100                                // !SMC: modified by $2a8d, $2a92
        and #$3f
        sta $0345
        cmp #$00
        bne loc_2a9b
// Referenced by: jsr from $29ee

sub_2a8b:
        lda #$00
        sta smc_2a80                                // SMC: modifies $2a80
        lda #$31
        sta smc_2a81                                // SMC: modifies $2a81
        lda txt_3100
        sta $0345

loc_2a9b:
        ldx #$00

loc_2a9d:
        lda $05e1,x
        sta $05e0,x
        inx
        cpx #$50
        bne loc_2a9d
        lda $2a5b
        cmp #$00
        beq loc_2ab4
        cmp #$01
        beq loc_2ac6
        rts

loc_2ab4:
        lda $0345
        sta $0607
        clc
        adc #$80
        sta $062f
        lda #$01
        sta $2a5b
        rts

loc_2ac6:
        lda $0345
        clc
        adc #$40
        sta $0607
        clc
        adc #$80
        sta $062f
        lda #$00
        sta $2a5b
        inc smc_2a80
        bne loc_2ae2
        inc smc_2a81

loc_2ae2:
        rts

loc_2ae3:
        jmp loc_2c56
// Referenced by: jsr from $28b7, $f731

sub_2ae6:
        inc $0342
        lda $0342
        cmp #$03
        bne loc_2ae3
        lda #$00
        sta $0342
        ldx $0343
        inc $0343
        lda dat_2c57,x
        sta smc_286d                                // SMC: modifies $286d
        lda $2c72,x
        sta smc_298b                                // SMC: modifies $298b
        inx
        lda dat_2c57,x
        sta $d800
        sta $d801
        sta $d802
        sta $d803
        lda $2c72,x
        sta $db97
        sta $db96
        sta $db95
        sta $db94
        inx
        lda dat_2c57,x
        sta $d804
        sta $d805
        sta $d806
        sta $d807
        lda $2c72,x
        sta $db93
        sta $db92
        sta $db91
        sta $db90
        inx
        lda dat_2c57,x
        sta $d808
        sta $d809
        sta $d80a
        sta $d80b
        lda $2c72,x
        sta $db8f
        sta $db8e
        sta $db8d
        sta $db8c
        inx
        lda dat_2c57,x
        sta $d80c
        sta $d80d
        sta $d80e
        sta $d80f
        lda $2c72,x
        sta $db8b
        sta $db8a
        sta $db89
        sta $db88
        inx
        lda dat_2c57,x
        sta $d810
        sta $d811
        sta $d812
        sta $d813
        lda $2c72,x
        sta $db87
        sta $db86
        sta $db85
        sta $db84
        inx
        lda dat_2c57,x
        sta $d814
        sta $d815
        sta $d816
        sta $d817
        lda $2c72,x
        sta $db83
        sta $db82
        sta $db81
        sta $db80
        inx
        lda dat_2c57,x
        sta $d818
        sta $d819
        sta $d81a
        sta $d81b
        lda $2c72,x
        sta $db7f
        sta $db7e
        sta $db7d
        sta $db7c
        inx
        lda dat_2c57,x
        sta $d81c
        sta $d81d
        sta $d81e
        sta $d81f
        lda $2c72,x
        sta $db7b
        sta $db7a
        sta $db79
        sta $db78
        inx
        lda dat_2c57,x
        sta $d820
        sta $d821
        sta $d822
        sta $d823
        lda $2c72,x
        sta $db77
        sta $db76
        sta $db75
        sta $db74
        inx
        lda dat_2c57,x
        sta $d824
        sta $d825
        sta $d826
        sta $d827
        lda $2c72,x
        sta $db73
        sta $db72
        sta $db71
        sta $db70
        inx
        lda dat_2c57,x
        sta smc_2877                                // SMC: modifies $2877
        lda $2c72,x
        sta smc_2981                                // SMC: modifies $2981
        lda $0343
        cmp #$0f
        bne loc_2c56
        lda #$00
        sta $0343

loc_2c56:
        rts

// --- Region $2cef-$2d36 ---
.pc = $2cef "loc_2cef"

loc_2cef:
        sta $8d2c,x
        ora #$2d
        lda $2cad,x
        sta smc_2950
        lda $2cb5,x
        sta smc_294b
        lda $2cbd,x
        sta $2d16
        ldx #$00

loc_2d08:
        lda $2f00,x
        sta $0450,x
        inx
        cpx #$f0
        bne loc_2d08
        ldx #$00

loc_2d15:
        lda $2f00,x
        sta $0658,x
        inx
.label loc_2d1d = * + 1
        cpx #$f0
        bne loc_2d15
        lda $0341
        cmp #$08
        bne loc_2d36
        lda #$00
        sta $0341
        lda #$bb
        sta smc_29a4
        lda #$2d
        sta smc_29a5

loc_2d36:
        rts

// --- Region $2d59-$2e23 ---
.pc = $2d59 "loc_2d59"

loc_2d59:
        lda $2c
        sta $2d73
        lda $2cb5,x
        sta smc_2950
        lda $2cad,x
        sta smc_294b
        lda $2cc5,x
        sta $2d80
        ldx #$00

loc_2d72:
        lda $2f00,x
        sta $0450,x
        inx
        cpx #$f0
        bne loc_2d72
        ldx #$00

loc_2d7f:
        lda $2f00,x
        sta $0658,x
        inx
.label loc_2d87 = * + 1
        cpx #$f0
        bne loc_2d7f
        lda $0341
        cmp #$08
        bne loc_2da0
        lda #$00
        sta $0341
        lda #$a1
        sta smc_29a4
        lda #$2d
        sta smc_29a5

loc_2da0:
        rts
// Referenced by: jsr from $29a3

sub_2da1:
        inc $0341
        lda $0341
        cmp #$50
        bne loc_2dba
        lda #$00
        sta $0341
        lda #$cd
        sta smc_29a4                                // SMC: modifies $29a4
        lda #$2c
        sta smc_29a5                                // SMC: modifies $29a5

loc_2dba:
        rts

dat_2dbb:
        .byte $ee,$41,$03,$ad                       // .A..

loc_2dbf:
        eor ($03,x)
        cmp #$50
        bne loc_2dd4
        lda #$00
        sta $0341
        lda #$37
        sta smc_29a4
        lda #$2d
        sta smc_29a5

loc_2dd4:
        rts

loc_2dd5:
        jsr sub_2806
        lda #$00
        sta $d020
        sta $d021
        sta $0286
        lda #$93
        jsr $ffd2
        lda #$16
        sta $d018
        ldx #$00

loc_2def:
        lda txt_2e50,x
        sta $05b8,x
        inx
        cpx #$50
        bne loc_2def
        lda #$00
        ldx #$00

loc_2dfe:
        sta $d400,x
        inx
        cpx #$20
        bne loc_2dfe
        lda #$01
        ldx #$00

loc_2e0a:
        sta $d9b8,x
        inx
        cpx #$50
        bne loc_2e0a
        ldx #$00

loc_2e14:
        lda dat_2e23,x
        sta $033c,x
        inx
        cpx #$26
        bne loc_2e14
        cli
        jmp $033c

dat_2e23:
        .byte $78                                   // x

// --- Region $4c10-$4c16 ---
.pc = $4c10 "Segment $4c10"
        brk

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

// --- Region $8dd0-$8dd8 ---
.pc = $8dd0 "Segment $8dd0"
        brk

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

// --- Region $9d16-$9d16 ---
.pc = $9d16 "Segment $9d16"
        brk

// --- Region $a2d0-$a2d0 ---
.pc = $a2d0 "sub_a2d0"
// Referenced by: jsr from $f6e9

sub_a2d0:
        brk

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

// --- Region $bd16-$bd16 ---
.pc = $bd16 "$bd16"
        brk                                         // !SMC: modified by $12e4, $12fd

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

irq_ea31:
        lda $169a
        sec
        sbc $1696
        sta $169a
        cmp $1694
        bcs loc_ea48
        lda $1697
        eor #$01
        sta $1697

loc_ea48:
        ldy $169b,x
        lda $16cb,y
        bmi loc_ea64
        cmp #$7f
        bne loc_ea6c
        lda $169e,x
        clc
        adc txt_1723,y
        sta $169b,x
        tay
        lda $16cb,y
        bpl loc_ea6c

loc_ea64:
        and #$7f
        asl
        ldy #$01
        jmp loc_13e1

loc_ea6c:
        clc
        adc $165b,x
        asl
        clc
        adc $1643,x
        ldy #$00
        sty $1633
        tay
        lda dat_1567,y
        clc
.label loc_ea81 = * + 2
        adc $16b3,x
        sta $100b,x
        lda $1568,y
        adc #$00
        sta $100e,x
        ldy $169b,x
        lda txt_1723,y
        sta $1640,x
        inc $169b,x
        lda $16aa,x
        beq loc_eaf1
        lda $16a7,x
        bne loc_eab9
        lda $16ad,x
        clc
        adc $16a1,x
        sta $16ad,x
        lda $16b0,x
        adc $16a4,x
        sta $16b0,x
        jmp loc_1436

loc_eab9:
        lda $16ad,x
        sec
        sbc $16a1,x
        sta $16ad,x
        lda $16b0,x
        sbc $16a4,x
        sta $16b0,x
        lda $1633
        bne loc_eae4
        lda $100b,x
        clc
        adc $16ad,x
        sta $100b,x
        lda $100e,x
        adc $16b0,x
        sta $100e,x

loc_eae4:
        lda $1655,x
        cmp #$01
        beq loc_eaee
        dec $1655,x

loc_eaee:
        jmp loc_152a

loc_eaf1:
        lda $1655,x
        beq loc_eb41
        cmp #$01
        beq loc_eb00
        dec $1655,x
        jmp loc_152a

loc_eb00:
        ldy $1649,x
        lda $17bd,y
        pha
        and #$f0
        cpx $4a
        adc ($b3,x)
        sta $1661,x
        sec
        sbc #$01
        sta $165e,x
        lda #$00
        sta $166d,x
        sta $166a,x
        pla
        and #$0f
        asl
        sta $1664,x
        lda $17bc,y
        pha
        and #$f0
        sta $1667,x
        pla
        and #$0f
        asl
        sta $1670,x
        lda $17be,y
        and #$f0
        lsr
        sta $1673,x
        dec $1655,x

loc_eb41:
        lda $1661,x
        beq loc_ebc0
        dec $1670,x
        bpl loc_ebc0
        inc $1670,x

loc_eb4e:
        dec $165e,x
        bmi loc_eb92
        lda $166d,x
        cmp #$02
        bcs loc_eb76
        lda $1676,x
        clc
        adc $1667,x
        sta $100b,x
        sta $1676,x
        lda $1679,x
        adc $166a,x
        sta $100e,x
        sta $1679,x
        jmp loc_152a

loc_eb76:
        lda $1676,x
        sec
        sbc $1667,x
        sta $100b,x
        sta $1676,x
        lda $1679,x
        sbc $166a,x
        sta $100e,x
        sta $1679,x
        jmp loc_152a

loc_eb92:
        lda $166d,x
        clc
        adc #$01
        and #$03
        sta $166d,x
        lda $1661,x
        sta $165e,x
        lda $1673,x
        beq loc_eb4e
        dec $1673,x
        lda $1667,x
        clc
        adc $1664,x
        sta $1667,x
        lda $166a,x
        adc #$00
        sta $166a,x
        jmp loc_14b8

loc_ebc0:
        ldy $163a,x
        lda $168e,x
        sta $d402,y
        lda $1691,x
        sta $d403,y
        lda $169a
        sta $d416
        ldy $163a,x
        lda $100b,x
        sta $d400,y
        lda $100e,x
        sta $d401,y
        lda $1640,x
        ldy $163a,x
        and $163d,x
        sta $d404,y
        dex
        bmi loc_ebf6
        jmp loc_10a0

loc_ebf6:
        pla
        sta $fc
        pla
        sta $fb
        rts

dat_ebfd:
        .byte $16                                   // .

// --- Region $ec28-$ec2d ---
.pc = $ec28 "loc_ec28"

loc_ec28:
        .byte $03,$e0                               // slo ($e0,x) // ILLEGAL
        .byte $03,$1b                               // slo ($1b,x) // ILLEGAL

dat_ec2c:
        .byte $04,$5a                               // .Z

// --- Region $eca1-$eca5 ---
.pc = $eca1 "loc_eca1"

loc_eca1:
        bpl loc_ed1f
        bvs loc_ec28
        rti

// --- Region $ed1f-$ed21 ---
.pc = $ed1f "loc_ed1f"

loc_ed1f:
        bvc loc_ed32
        brk

// --- Region $f016-$f019 ---
.pc = $f016 "Segment $f016"
        .byte $80,$37                               // nop #$37 // ILLEGAL
        .byte $82,$00                               // nop #$00 // ILLEGAL

// --- Region $f0a1-$f0a8 ---
.pc = $f0a1 "Segment $f0a1"
        .byte $2b,$81                               // anc #$81 // ILLEGAL
        ror.abs $0080,x
        and #$82
        brk

// --- Region $f1a2-$f1b7 ---
.pc = $f1a2 "loc_f1a2"

loc_f1a2:
        lda $23
        bvc loc_f1b6
        eor $e5,x
        ora ($23,x)
        and #$21
        tax
        ldy $2d
        ora ($a1,x)
        and ($aa,x)
        ora $14
.label loc_f1b6 = * + 1
        bvc loc_f1f7
        rti

// --- Region $f1f7-$f1f9 ---
.pc = $f1f7 "loc_f1f7"

loc_f1f7:
        .byte $2b,$40                               // anc #$40 // ILLEGAL
        rts

// --- Region $f385-$f391 ---
.pc = $f385 "loc_f385"

loc_f385:
        bvc loc_f3c7
        ldx #$21
        ora ($a2,x)
        and #$40
        sty $94
        bcc loc_f3e1
        rti

// --- Region $f3c7-$f3e1 ---
.pc = $f3c7 "loc_f3c7"

loc_f3c7:
        and ($8a,x)
        .byte $e7,$44                               // isc $44 // ILLEGAL
        and ($66,x)
        .byte $a7,$22                               // lax $22 // ILLEGAL
        ldy #$50
        .byte $e7,$10                               // isc $10 // ILLEGAL
        and ($85,x)
        .byte $e3,$81                               // isc ($81,x) // ILLEGAL
        cpx $80
        .byte $a3,$e5                               // lax ($e5,x) // ILLEGAL
        rti

dat_f3dc:
        .byte $e7,$10,$21,$90,$e8                   // ..!..

loc_f3e1:
        rti

// --- Region $f67a-$f6aa ---
.pc = $f67a "loc_f67a"

loc_f67a:
        pla
        jsr sub_2806
        jmp loc_2830

loc_f681:
        ldx #$31
        ldy #$ea
        stx $0314
        sty $0315
        ldx #$00
        stx $d01a
        stx smc_28a9
        stx smc_294b
        inx
        stx $dc0e
        stx smc_28a4
        stx smc_2950
        lda #$a1
        sta smc_29a4
        lda #$2d
        sta smc_29a5
        rts

// --- Region $f6e9-$f7dd ---
.pc = $f6e9 "loc_f6e9"

loc_f6e9:
        jsr sub_a2d0
        php

loc_f6ed:
        dex
        bne loc_f6ed
        lda #$02
        sta $d020
        cpx $ea
        rts

dat_f6f8:
        .byte $f7                                   // .

loc_f6f9:
        lda #$00
        sta $d020
        lda #$91
        sta $0314
        lda #$28
        sta $0315
        jmp loc_ea81

loc_f70b:
        inc $d019
        lda #$79
        sta $d012
        lda #$18
        sta $d018
        lda #$18
        sta $d016
        lda #$01
        sta $d022
        lda #$00
        sta $d023
        lda #$c0
        sta $0314
        lda #$28
        sta $0315
        jsr sub_2ae6
        jsr sub_2a5c
        jmp loc_ea81

loc_f73a:
        inc $d019
        lda #$91
        sta $d012
        lda #$08
        sta $d016
        lda #$12
        sta $d018
        ldx #$09

loc_f74e:
        dex
        bne loc_f74e
        nop
        nop
        bit $00
        ldy #$00

loc_f757:
        lda txt_2ea0,y
        sta $d021
        sta $d021
        ldx $2ec0,y

loc_f763:
        dex
        bne loc_f763
        iny
        cpy #$10
        bne loc_f757
        nop
        nop
        lda #$00
        sta $d021
        lda #$15
        sta $d018
        lda #$0a
        sta $0314
        lda #$29
        sta $0315
        jmp loc_ea81

loc_f784:
        inc $d019
        lda #$e2
        sta $d012
        lda #$08
        sta $d016
        lda #$12
        sta $d018
        ldx #$09

loc_f798:
        dex
        bne loc_f798
        nop
        nop
        bit $00
        ldy #$00

loc_f7a1:
        lda $2ed0,y
        sta $d021
        sta $d021
        ldx $2ec0,y

loc_f7ad:
        dex
        bne loc_f7ad
        iny
        cpy #$10
        bne loc_f7a1
        nop
        nop
        lda #$00
        sta $d021
        lda #$18
        sta $d016
        sta $d018
        lda #$00
        sta $d022
        lda #$01
        sta $d023
        jsr sub_1003
        lda #$64
        sta $0314
        lda #$29
        sta $0315
        jmp loc_ea81

// --- Region $fc0a-$fcae ---
.pc = $fc0a "loc_fc0a"

loc_fc0a:
        eor ($03,x)
        cmp #$50
        bne loc_fc1f
        lda #$00
        sta $0341
        lda #$cd
        sta smc_29a4
        lda #$2c
        sta smc_29a5

loc_fc1f:
        rts

dat_fc20:
        .byte $ee,$41,$03,$ad                       // .A..

loc_fc24:
        eor ($03,x)
        cmp #$50
        bne loc_fc39
        lda #$00
        sta $0341
        lda #$37
        sta smc_29a4
        lda #$2d
        sta smc_29a5

loc_fc39:
        rts

loc_fc3a:
        jsr sub_2806
        lda #$00
        sta $d020
        sta $d021
        sta $0286
        lda #$93
        jsr $ffd2
        lda #$16
        sta $d018
        ldx #$00

loc_fc54:
        lda txt_2e50,x
        sta $05b8,x
        inx
        cpx #$50
        bne loc_fc54
        lda #$00
        ldx #$00

loc_fc63:
        sta $d400,x
        inx
        cpx #$20
        bne loc_fc63
        lda #$01
        ldx #$00

loc_fc6f:
        sta $d9b8,x
        inx
        cpx #$50
        bne loc_fc6f
        ldx #$00

loc_fc79:
        lda dat_2e23,x
        sta $033c,x
        inx
        cpx #$26
        bne loc_fc79
        cli
        jmp $033c

dat_fc88:
        .byte $78,$a9,$34,$85,$01,$a2,$00           // x.4....

loc_fc8f:
        lda $3200,x
        sta $0801,x
        inx
        bne loc_fc8f
        inc $0345
        inc $0348
        lda $0348

loc_fca1:
        cmp #$cc
        bne loc_fc8f
        lda #$37
        sta $01
        cli
        jmp loc_fce2

dat_fcad:
        .byte $00,$ff                               // ..

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

loc_fce2:
        and $4956
        .byte $42                                   // jam // ILLEGAL

// --- Region $ffd2-$ffff ---
.pc = $ffd2 "Segment $ffd2"
        jsr sub_1510
        bpl loc_ffe7
        ora $2ee3,y
        .byte $2f,$20,$13                           // rla $1320 // ILLEGAL
        .byte $0f,$20,$04                           // slo $0420 // ILLEGAL

dat_ffe0:
        .byte $0f,$20,$01,$13,$20,$17,$05           // . .. ..

loc_ffe7:
        jsr sub_0f04
        .byte $e3,$2e                               // isc ($2e,x) // ILLEGAL
        rol
        jsr sub_0820
        ora $12,x
        .byte $14,$20                               // nop $20,x // ILLEGAL
        php
        ora #$0d
        inc $21
        .byte $f3,$20                               // isc ($20),y // ILLEGAL
        lda ($f0,x)
        jsr $0000

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

// --- Region $0800-$081f ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (32 bytes, $0800-$081f) ===
        .byte $d2,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $f0,$c3,$87,$87,$07,$07,$07,$07       // char 1 @+1
        .byte $80,$07,$07,$07,$07,$07,$07,$07       // char 2 @+2
        .byte $f0,$c3,$87,$87,$07,$07,$07,$07       // char 3 @+3

// --- Region $0825-$0f03 ---
.pc = $0825 "Program $0825"
        .byte $07,$07,$07,$80,$07,$07,$07           // char 0 (partial)
        .byte $07,$07,$07,$07,$80,$07,$07,$07       // char 1 @+1
        .byte $07,$07,$07,$07,$f0,$c3,$87,$87       // char 2 @+2
        .byte $07,$07,$07,$07,$8f,$07,$07,$07       // char 3 @+3
        .byte $07,$07,$07,$07,$e0,$f8,$f8,$f8       // char 4 @+4
        .byte $f8,$f8,$f8,$f8,$e0,$ff,$ff,$ff       // char 5 @+5
        .byte $ff,$ff,$ff,$ff,$8f,$07,$07,$07       // char 6 @+6
        .byte $07,$07,$07,$07,$8f,$07,$07,$07       // char 7 @+7
        .byte $07,$07,$07,$07,$8f,$07,$03,$01       // char 8 @+8
        .byte $04,$06,$07,$07,$8f,$07,$03,$01       // char 9 @+9
        .byte $04,$06,$07,$07,$f0,$c3,$87,$87       // char 10 @+10
        .byte $07,$07,$07,$07,$80,$07,$07,$07       // char 11 @+11
        .byte $07,$07,$07,$07,$f0,$c3,$87,$87       // char 12 @+12
        .byte $07,$07,$07,$07,$80,$07,$07,$07       // char 13 @+13
        .byte $07,$07,$07,$07,$f0,$c3,$87,$87       // char 14 @+14
        .byte $07,$07,$07,$87,$00,$f8,$f8,$f8       // char 15 @+15
        .byte $f8,$f8,$f8,$f8,$8f,$07,$07,$07       // char 16 @+16
        .byte $07,$07,$07,$07,$8f,$07,$07,$07       // char 17 @+17
        .byte $07,$07,$07,$07,$8f,$07,$07,$07       // char 18 @+18
        .byte $07,$07,$07,$07                       // char 19 (partial)

spr_08c0:
        .byte $8f,$07,$07,$07                       // char 19 (partial)
        .byte $07,$07,$07,$07,$8f,$07,$07,$07       // char 20 @+20
        .byte $07,$07,$07,$87,$80,$07,$07,$07       // char 21 @+21
        .byte $07,$07,$8f                           // char 22 (partial)

dat_08d7:
        // === Fill data (49 bytes, $08d7-$0907) ===
        .fill 49, $ff
        .byte $fc,$f8,$f8,$f8                       // char 28 (partial)
        .byte $f8,$f8,$f8,$f8,$f3,$e1,$e1,$f3       // char 29 @+29
        .byte $e7,$ff,$ff,$ff,$f3,$e3,$e3,$e3       // char 30 @+30
        .byte $00,$80,$e3,$e3,$fe,$e0,$c0,$c6       // char 31 @+31
        .byte $c6,$c6,$c0,$e0,$9f,$0f,$0f,$9f       // char 32 ' '
        .byte $ff,$fe,$fc,$f8,$ff,$ff,$ff,$ff       // char 33 '!'
        .byte $ff,$ff,$ff,$ff,$fe,$fc,$fc,$fe       // char 34 '"'
        .byte $fc,$ff,$ff,$ff,$ff,$fc,$f8,$f8       // char 35 '#'
        .byte $f0,$f0,$f0,$f0,$01,$f8,$fc,$fc       // char 36 '$'
        .byte $fc,$fc,$fc,$fc,$ff,$ff,$ff,$ff       // char 37 '%'
        .byte $ff,$fc,$f8,$f8,$fc,$f8,$f8,$f8       // char 38 '&'
        .byte $f8,$f8,$f8,$80,$ff,$ff,$ff,$ff       // char 39 '''
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 40 '('
        .byte $ff,$80,$00,$00,$ff,$ff,$ff,$ff       // char 41 ')'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 42 '*'
        .byte $ff,$fe,$fc,$f8,$f0,$c3,$87,$87       // char 43 '+'
        .byte $07,$07,$06,$04,$fc,$f8,$f0,$e0       // char 44 ','
        .byte $f8,$f8,$f8,$f8,$f0,$c3,$87,$87       // char 45 '-'
        .byte $07,$07,$8f,$ff,$f0,$c3,$87,$87       // char 46 '.'
        .byte $07,$07,$8f,$ff,$8f,$07,$07,$07       // char 47 '/'
        .byte $07,$07,$07,$87,$80,$07,$07,$07       // char 48 '0'
        .byte $07,$07,$07,$07,$f0,$c3,$87,$87       // char 49 '1'
        .byte $07,$07,$07,$07,$80,$07,$07,$07       // char 50 '2'
        .byte $07,$07,$8f,$fe,$f0,$c3,$87,$87       // char 51 '3'
        .byte $07,$07,$07,$07,$f0,$c3,$87,$87       // char 52 '4'
        .byte $07,$07,$07,$87,$ff,$ff,$ff,$fe       // char 53 '5'
        .byte $fc,$fe,$ff,$ff,$ff,$ff,$ff,$fe       // char 54 '6'
        .byte $fc,$fe,$ff,$ff,$ff,$ff,$ff,$ff       // char 55 '7'
        .byte $ff,$fe,$fc,$f8,$ff,$ff,$ff,$80       // char 56 '8'
        .byte $00,$80,$ff,$ff,$9f,$0f,$07,$83       // char 57 '9'
        .byte $c1,$e0,$f0,$f8,$80,$07,$87,$ff       // char 58 ':'
        .byte $ff,$ff,$fe,$fc,$ff,$ff,$ff,$ff       // char 59 ';'
        .byte $ff,$ff,$ff,$ff,$1f,$87,$c3,$c3       // char 60 '<'
        .byte $c1,$c1,$c1,$c1,$1f,$87,$c3,$c3       // char 61 '='
        .byte $c1,$c1,$c1,$c1,$1f,$87,$c3,$c3       // char 62 '>'
        .byte $c1,$c1,$e3,$ff,$1f,$87,$c3,$c3       // char 63 '?'
        .byte $c1,$c1,$c1,$c1,$01,$ff,$ff,$ff       // char 64 '@'
        .byte $ff,$ff,$ff,$ff,$01,$ff,$ff,$ff       // char 65 'A'
        .byte $ff,$ff,$ff,$ff,$1f,$87,$c3,$c3       // char 66 'B'
        .byte $c1,$c1,$e3,$ff,$e3,$c1,$c1,$c1       // char 67 'C'
        .byte $c1,$c1,$c1,$c1,$0f                   // char 68 (partial)

txt_0a49:
        .byte $3f,$3f,$3f                           // char 68 (partial)
        .byte $3f,$3f,$3f,$3f,$03,$c1,$c1,$c1       // char 69 'E'
        .byte $c1,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 70 'F'
        .byte $c1,$c1,$c1,$c1,$ff,$ff,$ff,$ff       // char 71 'G'
        .byte $ff,$ff,$ff,$ff,$e3,$c1,$81,$01       // char 72 'H'
        .byte $41,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 73 'I'
        .byte $c1,$41,$01,$81,$1f,$87,$c3,$c3       // char 74 'J'
        .byte $c1,$c1,$c1,$c1,$1f,$87,$c3,$c3       // char 75 'K'
        .byte $c1,$c1,$c1,$c3,$1f,$87,$c3,$c3       // char 76 'L'
        .byte $c1,$c1,$c1,$c1,$1f,$87,$c3,$c3       // char 77 'M'
        .byte $c1,$c1,$c1,$c1,$1f,$87,$c3,$c3       // char 78 'N'
        .byte $c1,$c1,$e3,$ff,$01                   // char 79 (partial)

txt_0aa1:
        .byte $3f,$3f,$3f                           // char 79 (partial)
        .byte $3f,$3f,$3f,$3f,$e3,$c1,$c1,$c1       // char 80 'P'
        .byte $c1,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 81 'Q'
        .byte $c1,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 82 'R'
        .byte $c1,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 83 'S'
        .byte $c1,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 84 'T'
        .byte $c1,$c1,$c1,$c1,$03,$c1,$c1,$c1       // char 85 'U'
        .byte $c1,$c1,$c1,$c3                       // char 86 (partial)

dat_0ad8:
        // === Fill data (48 bytes, $0ad8-$0b07) ===
        .fill 48, $ff
        .byte $7f                                   // char 92 (partial)

txt_0b09:
        .byte $3f,$3f,$3f                           // char 92 (partial)
        .byte $3f,$3f,$3f,$3f,$cf,$87,$87,$cf       // char 93 ']'
        .byte $9f,$ff,$ff,$ff,$cf,$8f,$8f,$8f       // char 94 '^'
        .byte $03,$01,$8f,$8f,$7f,$07,$0f,$7f       // char 95 '_'
        .byte $7f,$7f,$07,$03,$f3,$e1,$c1,$83       // char 96 '`'
        .byte $07,$0f,$1f,$3f,$ff,$ff,$ff,$ff       // char 97 'a'
        .byte $ff,$ff,$ff,$ff,$7f,$3f,$3f,$7f       // char 98 'b'
        .byte $ff,$ff,$ff,$ff,$01,$3f,$7f,$7f       // char 99 'c'
        .byte $7f,$7f,$7f,$7f,$ff,$7f,$3f,$3f       // char 100 'd'
        .byte $1f,$1f,$1f,$1f,$ff,$ff,$ff,$ff       // char 101 'e'
        .byte $ff,$7f,$3f,$3f,$7f                   // char 102 (partial)

txt_0b59:
        .byte $3f,$3f,$3f                           // char 102 (partial)
        .byte $3f,$3f,$3f,$03,$ff,$ff,$ff,$ff       // char 103 'g'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 104 'h'
        .byte $ff,$03,$01,$01,$ff,$ff,$ff,$ff       // char 105 'i'
        .byte $ff,$ff,$ff,$ff,$f3,$e1,$c1,$83       // char 106 'j'
        .byte $07,$0f,$1f,$3f,$1f,$87,$c3,$c3       // char 107 'k'
        .byte $81,$01,$41,$c1,$7f                   // char 108 (partial)

txt_0b89:
        .byte $3f,$3f,$3f                           // char 108 (partial)
        .byte $3f,$3f,$3f,$3f,$1f,$87,$c3,$c3       // char 109 'm'
        .byte $c1,$c1,$c1,$c3,$1f,$87,$c3,$c3       // char 110 'n'
        .byte $c1,$c1,$c1,$c1,$e3,$c1,$c1,$c1       // char 111 'o'
        .byte $c1,$c1,$c1,$c1,$03,$c1,$c1,$c1       // char 112 'p'
        .byte $c1,$c1,$e3,$ff,$03,$c1,$c1,$c1       // char 113 'q'
        .byte $c1,$c1,$e3,$ff,$03,$c1,$c1,$c1       // char 114 'r'
        .byte $c1,$83,$07,$0f,$1f,$87,$c3,$c3       // char 115 's'
        .byte $c1,$c1,$c1,$c1,$1f,$87,$c3,$c3       // char 116 't'
        .byte $c1,$c1,$c1,$c1,$ff,$ff,$ff,$7f       // char 117 'u'
        .byte $3f,$7f,$ff,$ff,$ff,$ff,$ff,$7f       // char 118 'v'
        .byte $3f,$7f,$ff,$ff,$f3,$e1,$c1,$83       // char 119 'w'
        .byte $07,$0f,$1f,$3f,$ff,$ff,$ff,$03       // char 120 'x'
        .byte $01,$03,$ff,$ff,$ff,$ff,$ff,$ff       // char 121 'y'
        .byte $ff,$ff,$7f,$3f,$03,$c1,$c1,$c1       // char 122 'z'
        .byte $83,$07,$0f,$1f                       // char 123 (partial)

scr_0c00:
        .byte $ff,$ff,$ff,$ff                       // char 123 (partial)
        .byte $ff,$ff,$ff,$ff,$07,$07,$00,$07       // char 124 '|'
        .byte $07,$07,$8f,$ff,$07,$07,$00,$07       // char 125 '}'
        .byte $07,$07,$80,$ff,$07,$07,$07,$87       // char 126 '~'
        .byte $87,$c3,$f0,$ff,$07,$07,$07,$07       // char 127
        .byte $07,$07,$80,$ff,$07,$07,$00,$07       // char 128
        .byte $07,$07,$80,$ff,$07,$07,$00,$07       // char 129
        .byte $07,$07,$8f,$ff,$07,$07,$06,$87       // char 130
        .byte $87,$c3,$f0,$ff,$07,$07,$00,$07       // char 131
        .byte $07,$07,$8f,$ff,$f8,$f8,$f8,$f8       // char 132
        .byte $f8,$f8,$e0,$ff,$ff,$ff,$ff,$ff       // char 133
        .byte $87,$07,$80,$ff,$07,$07,$00,$07       // char 134
        .byte $07,$07,$8f,$ff,$07,$07,$07,$07       // char 135
        .byte $07,$07,$80,$ff,$07,$07,$07,$07       // char 136
        .byte $07,$07,$8f,$ff,$07,$07,$07,$07       // char 137
        .byte $07,$07,$8f,$ff,$07,$07,$07,$87       // char 138
        .byte $87,$c3,$f0,$ff,$07,$07,$00,$07       // char 139
        .byte $07,$07,$8f,$ff,$07,$07,$07,$87       // char 140
        .byte $87,$c3,$f0,$ff,$07,$07,$00,$07       // char 141
        .byte $07,$07,$8f,$ff,$87,$c3,$f0,$ff       // char 142
        .byte $87,$07,$80,$ff,$f8,$f8,$f8,$f8       // char 143
        .byte $f8,$f8,$fc,$ff,$07,$07,$07,$87       // char 144
        .byte $87,$c3,$f0,$ff,$07,$87,$87,$c7       // char 145
        .byte $e7,$f1,$fc,$ff,$07,$06,$04,$01       // char 146
        .byte $03,$07,$8f,$ff,$07,$83,$c0,$83       // char 147
        .byte $07,$07,$8f,$ff,$87,$c3,$f0,$ff       // char 148
        .byte $87,$07,$80,$ff,$ff,$ff,$80,$07       // char 149
        .byte $07,$07,$80                           // char 150 (partial)

dat_0cd7:
        // === Fill data (49 bytes, $0cd7-$0d07) ===
        .fill 49, $ff
        .byte $f8,$fc,$ff,$fc                       // char 156 (partial)
        .byte $f8,$f8,$fc,$ff,$ff,$ff,$ff,$ff       // char 157
        .byte $ff,$ff,$ff,$ff,$e3,$e3,$00,$80       // char 158
        .byte $e3,$e3,$e7,$ff,$fe,$fe,$fe,$fe       // char 159
        .byte $e0,$c0,$fe,$ff,$f0,$e0,$c1,$83       // char 160
        .byte $07,$0f,$9f,$ff,$ff,$ff,$ff,$ff       // char 161
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 162
        .byte $ff,$ff,$ff,$ff,$f0,$f0,$f0,$f8       // char 163
        .byte $f8,$fc,$ff,$ff,$fc,$fc,$fc,$fc       // char 164
        .byte $fc,$f8,$01,$ff,$f8,$fc,$ff,$ff       // char 165
        .byte $ff,$ff,$ff,$ff,$00,$00,$80,$f8       // char 166
        .byte $f8,$f8,$fc,$ff,$ff,$ff,$ff,$cf       // char 167
        .byte $87,$87,$cf,$9f,$80,$ff,$ff,$ff       // char 168
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$cf       // char 169
        .byte $87,$87,$cf,$ff,$f0,$e0,$c1,$83       // char 170
        .byte $07,$0f,$9f,$ff,$01,$03,$07,$87       // char 171
        .byte $87,$c3,$f0,$ff,$f8,$f8,$f8,$f8       // char 172
        .byte $f8,$f8,$e0,$ff,$ff,$ff,$80,$07       // char 173
        .byte $07,$07,$80,$ff,$ff,$ff,$fc,$ff       // char 174
        .byte $87,$07,$80,$ff,$87,$c3,$f0,$ff       // char 175
        .byte $ff,$ff,$ff,$ff,$07,$07,$80,$ff       // char 176
        .byte $87,$07,$80,$ff,$07,$07,$00,$07       // char 177
        .byte $07,$07,$80,$ff,$fc,$f8,$f0,$f0       // char 178
        .byte $f0,$f0,$f8,$ff,$07,$87,$c0,$87       // char 179
        .byte $07,$07,$80,$ff,$87,$c3,$f0,$ff       // char 180
        .byte $87,$07,$80,$ff,$fe,$fc,$fe,$ff       // char 181
        .byte $ff,$ff,$ff,$ff,$fe,$fc,$fe,$fc       // char 182
        .byte $ff,$ff,$ff,$ff,$fc,$fe,$ff,$ff       // char 183
        .byte $ff,$ff,$ff,$ff,$80,$00,$80,$ff       // char 184
        .byte $ff,$ff,$ff,$ff,$f0,$e0,$c1,$83       // char 185
        .byte $07,$0f,$9f,$ff,$f8,$f0,$ff,$f8       // char 186
        .byte $f0,$f0,$f8,$ff,$ff,$ff,$ff,$ff       // char 187
        .byte $ff,$ff,$ff,$ff,$c1,$c1,$01,$c1       // char 188
        .byte $c1,$c1,$e3,$ff,$c1,$83,$07,$83       // char 189
        .byte $c1,$c1,$03,$ff,$ff,$ff,$ff,$ff       // char 190
        .byte $c3,$c1,$03,$ff,$c1,$c1,$c1,$c1       // char 191
        .byte $c1,$c1,$03,$ff,$ff,$ff,$07,$ff       // char 192
        .byte $ff,$ff,$01,$ff,$ff,$ff,$07,$ff       // char 193
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$03,$c1       // char 194
        .byte $c1,$c1,$03,$ff,$c1,$c1,$01,$c1       // char 195
        .byte $c1,$c1,$e3,$ff                       // char 196 (partial)

txt_0e48:
        .byte $3f,$3f,$3f,$3f                       // char 196 (partial)
        .byte $3f,$3f,$0f,$ff,$c1,$c1,$c1,$c3       // char 197
        .byte $c3,$87,$1f,$ff,$c1,$83,$07,$03       // char 198
        .byte $81,$c1,$e3,$ff,$ff,$ff,$ff,$ff       // char 199
        .byte $c3,$c1,$03,$ff,$c1,$c1,$c1,$c1       // char 200
        .byte $c1,$c1,$e3,$ff,$c1,$c1,$c1,$c1       // char 201
        .byte $c1,$c1,$e3,$ff,$c1,$c1,$c1,$c3       // char 202
        .byte $c3,$87,$1f,$ff,$c3,$87,$1f,$ff       // char 203
        .byte $ff,$ff,$ff,$ff,$c1,$e1,$d1,$c9       // char 204
        .byte $e5,$d3,$09,$ff,$c1,$83,$07,$03       // char 205
        .byte $81,$c1,$e3,$ff,$ff,$ff,$03,$81       // char 206
        .byte $c1,$c1,$03,$ff                       // char 207 (partial)

txt_0ea0:
        .byte $3f,$3f,$3f,$3f                       // char 207 (partial)
        .byte $3f,$3f,$7f,$ff,$c1,$c1,$c1,$c3       // char 208
        .byte $c3,$87,$1f,$ff,$c1,$c3,$c3,$c7       // char 209
        .byte $cf,$1f,$7f,$ff,$c1,$c1,$41,$01       // char 210
        .byte $81,$c1,$e3,$ff,$c1,$83,$07,$83       // char 211
        .byte $c1,$c1,$e3,$ff,$c1,$c1,$01,$c3       // char 212
        .byte $c3,$87,$1f,$ff,$c3,$87,$1f,$ff       // char 213
        .byte $ff,$ff,$01                           // char 214 (partial)

dat_0ed7:
        // === Fill data (45 bytes, $0ed7-$0f03) ===
        .fill 45, $ff

// --- Region $0f0c-$0fff ---
.pc = $0f0c "Program $0f0c"
        .byte $3f,$3f,$7f,$ff,$ff,$ff               // char 0 (partial)
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$8f,$8f       // char 1 @+1
        .byte $03,$01,$8f,$8f,$9f,$ff,$63,$63       // char 2 @+2
        .byte $63,$63,$03,$07,$7f,$ff,$7f,$ff       // char 3 @+3
        .byte $ff,$f3,$e1,$e1,$f3,$ff,$ff,$ff       // char 4 @+4
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 5 @+5
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$7f,$7f       // char 6 @+6
        .byte $7f,$7f,$7f,$3f,$01,$ff,$1f,$1f       // char 7 @+7
        .byte $1f,$3f,$3f,$7f,$ff,$ff,$3f,$7f       // char 8 @+8
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$01,$01       // char 9 @+9
        .byte $03,$3f,$3f,$3f,$7f,$ff,$ff,$ff       // char 10 @+10
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$03,$ff       // char 11 @+11
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 12 @+12
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$7f,$ff       // char 13 @+13
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$c1,$c1       // char 14 @+14
        .byte $c1,$c3,$c3,$87,$1f,$ff               // char 15 (partial)

txt_0f88:
        .byte $3f,$3f                               // char 15 (partial)
        .byte $3f,$3f,$3f,$3f,$0f,$ff,$c3,$87       // char 16 @+16
        .byte $1f,$ff,$ff,$ff,$01,$ff,$c1,$c3       // char 17 @+17
        .byte $07,$c3,$c1,$c1,$03,$ff,$c1,$c1       // char 18 @+18
        .byte $01,$c1,$c1,$c1,$e3,$ff,$ff,$ff       // char 19 @+19
        .byte $03,$81,$c1,$c1,$03,$ff,$ff,$ff       // char 20 @+20
        .byte $03,$c1,$c1,$c1,$03,$ff,$1f,$3f       // char 21 @+21
        .byte $7f,$7f,$7f,$7f,$ff,$ff               // char 22 (partial)

spr_0fc0:
        .byte $c1,$c3                               // char 22 (partial)
        .byte $07,$c3,$c1,$c1,$03,$ff,$c1,$c1       // char 23 @+23
        .byte $01,$c1,$c1,$c1,$03,$ff,$7f,$3f       // char 24 @+24
        .byte $7f,$ff,$ff,$ff,$ff,$ff,$7f,$3f       // char 25 @+25
        .byte $7f,$ff,$ff,$ff,$ff,$ff,$1f,$0f       // char 26 @+26
        .byte $07,$83,$c1,$e1,$f3,$ff,$03,$01       // char 27 @+27
        .byte $03,$ff,$ff,$ff,$ff,$ff,$7f,$ff       // char 28 @+28
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$3f,$7f       // char 29 @+29
        .byte $ff,$ff,$7f,$7f,$ff,$ff               // char 30 (partial)

// --- Region $1007-$101f ---
.pc = $1007 "Segment $1007"
        .encoding "screencode_mixed"
        .text "bdo"
        .byte $f1,$85                               // scrcode: ..
        .text "t(fz"
        .encoding "petscii_upper"

txt_1010:
        .text "4-PLAYER BY JCH-"

// --- Region $1252-$125e ---
.pc = $1252 "Segment $1252"
        .encoding "screencode_mixed"
        .text "v"
        .byte $b9,$bf                               // scrcode: ..
        .text "w"
        .byte $8d,$98                               // scrcode: ..
        .text "v"
        .byte $a8,$a9                               // scrcode: ..
        .text "@"
        .byte $8d,$99                               // scrcode: ..
        .text "v"
        .encoding "petscii_upper"

// --- Region $1568-$1591 ---
.pc = $1568 "Segment $1568"
        .byte $01,$27,$01,$38,$01,$4b,$01,$5f,$01,$73,$01,$8a,$01,$a1,$01,$ba // .'.8.K._.s......
        .byte $01,$d4,$01,$f0,$01,$0e,$02,$2d,$02,$4e,$02,$71,$02,$96,$02,$bd // .......-.N.q....
        .byte $02,$e7,$02,$13,$03,$42,$03,$74,$03,$a9 // .....B.t..

// --- Region $1598-$160a ---
.pc = $1598 "Segment $1598"
        .byte $04,$9b,$04,$e2,$04,$2c,$05,$7b,$05,$ce,$05,$27,$06,$85,$06,$e8 // .....,.{...'....
        .byte $06,$51,$07,$c1,$07,$37,$08,$b4,$08,$37,$09,$c4,$09,$57,$0a,$f5 // .Q...7...7...W..
        .byte $0a,$9c,$0b,$4e,$0c,$09,$0d,$d0,$0d,$a3,$0e,$82,$0f,$6e,$10,$68 // ...N.........n.h
        .byte $11,$6e,$12,$88,$13,$af,$14,$eb,$15,$39,$17,$9c,$18,$13,$1a,$a1 // .n.......9......
        .byte $1b,$46,$1d,$04,$1f,$dc,$20,$d0,$22,$dc,$24,$10,$27,$5e,$29,$d6 // .F.... .".$.'^).
        .byte $2b,$72                               // +r

txt_15ea:
        .text ".81&4B7"
        .byte $8c,$3a,$08,$3e,$b8,$41,$a0,$45,$b8   // .:.>.A.E.

txt_15fa:
        .text "I N"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $52,$ac,$57,$e4,$5c,$70,$62,$4c,$68,$84,$6e,$18,$75 // R.W.\pbLh.n.u

// --- Region $1610-$1688 ---
.pc = $1610 "dat_1610"

dat_1610:
        .byte $8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98,$d0,$08 // .p.@.x.X........
        .byte $dd,$30,$ea,$20,$f8,$2e,$fd,$84,$a1,$be,$18,$18,$18,$71,$8e,$ab // .0. .........q..
        .byte $18,$18,$18,$00,$01,$02,$04,$fe,$fd,$fb,$00,$07,$0e,$ff,$fe,$fe // ................
        .byte $41,$21,$11,$18,$18,$18,$03,$05,$05,$18,$10,$40,$04,$05,$01,$00 // A!.........@....
        .byte $01,$01,$00,$00,$00,$00,$00,$00,$06,$06,$02,$13,$27,$37,$ff,$ff // ............'7..
        .byte $01,$00,$00,$02,$00,$00,$1e,$00,$00,$30,$00,$00,$00,$00,$00,$03 // .........0......
        .byte $00,$00,$00,$00,$00,$00,$85,$b0,$28,$06,$14,$34,$01,$00,$00,$0b // ........(..4....
        .byte $02,$02,$23,$43,$43,$00,$00,$00,$08   // ..#CC....

// --- Region $168a-$1b30 ---
.pc = $168a "dat_168a"

dat_168a:
        .byte $00,$06,$74,$74,$91,$e1,$e1,$03,$07,$07,$10,$50,$11,$00,$04,$00 // ..tt.......P....
        .byte $07,$1d,$0c,$3f,$1b,$09,$3c,$1c,$30,$55,$00,$00,$00,$00,$00,$00 // ...?..<.0U......
        .byte $00,$00,$00,$c4,$50,$53,$00,$01,$02,$00,$01,$02,$01,$03,$fc,$3c // ....PS.........<
        .byte $01,$6c,$18,$89,$18,$a6,$18,$03,$87,$71,$18,$8e,$18,$ab,$18,$ff // .l.......q......
        .byte $ff,$00,$00,$04,$04,$07,$07,$0b,$0b,$7f,$02,$02,$04,$04,$07,$07 // ................
        .byte $0b,$0b,$7f,$00,$00,$03,$03,$07,$07,$0b,$0b,$7f,$df,$00,$7f,$da // ................
        .byte $af,$ad,$c2,$a9,$c2,$aa,$c2,$7f,$da,$a6,$a4,$a2,$a0,$87,$7f,$df // ................
        .byte $0c,$0c,$0c,$0c,$0c,$00,$00,$00,$00,$00,$7f,$00,$7f,$00,$00,$00 // ................
        .byte $7f,$df,$00,$7f,$00,$7f,$cf,$ae,$ac,$cf,$aa,$cf,$7f,$da,$ae,$ac // ................
        .byte $c2,$c2,$aa,$c2,$7f,$00,$7f,$00,$7f   // .........

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

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

txt_1735:
        .text "!!!!!!!!"
        .byte $00                                   // string terminator
        .byte $81,$41,$01,$81,$41,$40,$80,$40,$80,$40,$80,$07,$81,$41,$40,$40 // .A..A@.@.@...A@@
        .byte $40,$11,$05,$81                       // @...

txt_1752:
        .text "AAAAAAAAAA"
        .byte $01,$41,$00,$41,$41,$11,$02,$81,$11,$01,$17,$00,$81,$41,$40,$80 // .A.AA........A@.
        .byte $40,$80,$03,$81,$41,$40,$80,$80,$40,$80,$03,$21,$00,$41,$00,$15 // @...A@..@..!.A..
        .byte $11,$85,$af,$1a,$00,$4f,$00,$15,$01,$85,$af,$1a,$00,$4f,$00,$15 // .....O.......O..
        .byte $04,$85,$cf,$1a,$00,$4f,$00,$15,$01,$85,$1f,$1a,$00,$4f,$00,$00 // .....O.......O..
        .byte $00,$00,$02,$43,$ff,$05,$1b,$23,$88,$12,$1b,$43,$4f,$00,$00,$00 // ...C...#...CO...
        .byte $ff,$08,$08,$13,$88,$06,$08,$13,$4f,$06,$00,$00,$00,$00,$04,$49 // ........O......I
        .byte $00,$00,$00,$00,$00,$00,$04,$49,$00,$00,$00,$00,$00,$09,$06,$89 // .......I........
        .byte $00,$00,$00,$00,$00,$09,$08,$a2,$00,$00,$01,$00,$04,$1b,$08,$08 // ................
        .byte $00,$00,$01,$08,$0c,$45,$08,$08,$00,$00,$00,$08,$0c,$1e,$08,$a2 // .....E..........
        .byte $02,$23,$11,$00,$04,$1b,$04,$82,$04,$24,$10,$10,$10,$56,$28,$89 // .#.......$...V(.
        .byte $32,$2f,$00,$10                       // 2/..

chr_1800:
        // === Charset data (817 bytes, $1800-$1b30) ===
        .byte $00,$3c,$0e,$e2,$00,$00,$01,$00       // char 0 @+0
        .byte $04,$2e,$08,$82,$00,$26,$10,$10       // char 1 @+1
        .byte $10,$3a,$08,$08,$21,$20,$10,$00       // char 2 @+2
        .byte $00,$40,$06,$a9,$00,$00,$00,$00       // char 3 @+3
        .byte $00,$00,$00,$29,$00,$00,$00,$00       // char 4 @+4
        .byte $00,$43,$06,$a8,$00,$00,$00,$00       // char 5 @+5
        .byte $00,$09,$08,$08,$00,$00,$01,$08       // char 6 @+6
        .byte $0c,$27,$08,$09,$00,$00,$01,$08       // char 7 @+7
        .byte $0c,$45,$08,$09,$00,$00,$01,$08       // char 8 @+8
        .byte $0c,$4c,$04,$84,$04,$24,$10,$00       // char 9 @+9
        .byte $10,$56,$00,$00,$00,$00,$00,$00       // char 10 @+10
        .byte $00,$00,$00,$70,$00,$30,$00,$1c       // char 11 @+11
        .byte $80,$02,$00                           // char 12 (partial)

txt_1863:
        .byte $40,$20,$40,$a0,$20                   // char 12 (partial)
        .byte $00,$55,$00,$00,$8c,$16,$17,$16       // char 13 @+13
        .byte $17,$8c,$01,$8c,$02,$01,$03,$01       // char 14 @+14
        .byte $02,$01,$03,$01,$02,$01,$12,$01       // char 15 @+15
        .byte $02,$01,$03,$01,$02,$01,$03,$12       // char 16 @+16
        .byte $ff,$8c,$04,$05,$04,$05,$8c,$04       // char 17 @+17
        .byte $8c,$05,$04,$05,$04,$05,$04,$05       // char 18 @+18
        .byte $04,$05,$04,$13,$0c,$0d,$0c,$0d       // char 19 @+19
        .byte $0c,$0d,$0c,$0d,$13,$ff,$8c,$11       // char 20 @+20
        .byte $11,$11,$11,$8c,$11,$8c,$11,$11       // char 21 @+21
        .byte $11,$06,$07,$15,$08,$06,$07,$15       // char 22 @+22
        .byte $14,$09,$0a,$09,$0a,$09,$0a,$09       // char 23 @+23
        .byte $0a,$14,$ff,$f3,$f6,$19,$3b,$5b       // char 24 @+24
        .byte $66,$70,$83,$a6,$c8,$ed,$13,$2c       // char 25 @+25
        .byte $3f,$51,$72,$9b,$9f,$a8,$c0,$d1       // char 26 @+26
        .byte $f0,$06,$19,$18,$18,$19,$19,$19       // char 27 @+27
        .byte $19,$19,$19,$19,$19,$19,$1a,$1a       // char 28 @+28
        .byte $1a,$1a,$1a,$1a,$1a,$1a,$1a,$1a       // char 29 @+29
        .byte $1a,$1b,$1b,$80,$00,$7f,$a3,$86       // char 30 @+30
        .byte $0e,$80,$00,$a4,$10,$00,$a3,$82       // char 31 @+31
        .byte $09,$80,$00,$84,$0a,$80,$00,$82       // char 32 ' '
        .byte $11,$80,$00,$a4,$11,$a3,$00,$c2       // char 33 '!'
        .byte $81,$14,$90,$16,$80,$00,$15,$00       // char 34 '"'
        .byte $7f,$a3,$86,$13,$80,$00,$a4,$10       // char 35 '#'
        .byte $00,$a3,$82,$11,$80,$00,$82,$10       // char 36 '$'
        .byte $80,$00,$09,$00,$82,$0d,$80,$00       // char 37 '%'
        .byte $a4,$11,$00,$a3,$11,$00,$82,$10       // char 38 '&'
        .byte $80,$00,$7f,$a3,$86,$13,$80,$00       // char 39 '''
        .byte $a4,$10,$00,$a3,$82,$14,$80,$00       // char 40 '('
        .byte $82,$15,$80,$00,$09,$00,$82,$0d       // char 41 ')'
        .byte $80,$00,$a4,$11,$00,$a6,$84,$11       // char 42 '*'
        .byte $80,$00,$7f,$a1,$8e,$2e,$80,$00       // char 43 '+'
        .byte $a0,$8e,$2e,$80,$00,$7f,$a1,$8e       // char 44 ','
        .byte $27,$80,$00,$8e,$29,$80,$00,$7f       // char 45 '-'
        .byte $a7,$86,$29,$80,$00,$28,$82,$00       // char 46 '.'
        .byte $80,$29,$00,$8c,$26,$80,$00,$29       // char 47 '/'
        .byte $82,$00,$7f,$c1,$80,$28,$a7,$7e       // char 48 '0'
        .byte $90,$29,$80,$7e,$81,$00,$80,$28       // char 49 '1'
        .byte $82,$00,$80,$26,$82,$00,$88,$28       // char 50 '2'
        .byte $80,$00,$c0,$81,$29,$90,$2b,$80       // char 51 '3'
        .byte $00,$29,$00,$28,$00,$7f,$c0,$80       // char 52 '4'
        .byte $2b,$a7,$7e,$90,$2d,$80,$7e,$81       // char 53 '5'
        .byte $00,$80,$32,$82,$00,$80,$33,$82       // char 54 '6'
        .byte $00,$aa,$88,$34,$80,$00,$a7,$28       // char 55 '7'
        .byte $00,$29,$00,$28,$00,$24,$00,$7f       // char 56 '8'
        .byte $a8,$80,$26,$00,$2d,$00,$32,$82       // char 57 '9'
        .byte $00,$80,$32,$82,$00,$80,$26,$00       // char 58 ':'
        .byte $35,$82,$00,$b2,$80,$34,$00,$32       // char 59 ';'
        .byte $82,$00,$c7,$81,$2f,$90,$30,$80       // char 60 '<'
        .byte $00,$32,$82,$00,$7f,$a8,$80,$37       // char 61 '='
        .byte $82,$00,$80,$35,$00,$37,$82,$00       // char 62 '>'
        .byte $80,$38,$82,$00,$a8,$80,$39,$82       // char 63 '?'
        .byte $00,$b2,$80,$39,$00,$35,$00,$32       // char 64 '@'
        .byte $00,$34,$00,$35,$00,$34,$00,$30       // char 65 'A'
        .byte $a8,$00,$7f,$a7,$8a,$29,$80,$00       // char 66 'B'
        .byte $28,$82,$00,$80,$29,$82,$00,$80       // char 67 'C'
        .byte $28,$00,$c4,$81,$28,$90,$29,$85       // char 68 'D'
        .byte $7e,$80,$00,$7f,$a2,$80,$2e,$86       // char 69 'E'
        .byte $00,$80,$2e,$86,$00,$ac,$80,$2e       // char 70 'F'
        .byte $86,$00,$80,$2e,$86,$00,$7f,$a2       // char 71 'G'
        .byte $80,$27,$86,$00,$80,$27,$86,$00       // char 72 'H'
        .byte $80,$29,$86,$00,$80,$29,$86,$00       // char 73 'I'
        .byte $7f,$a7,$86,$29,$80,$00,$82,$28       // char 74 'J'
        .byte $80,$00,$29,$82,$00,$80,$28,$82       // char 75 'K'
        .byte $00,$80,$24,$00,$c4,$81,$24,$90       // char 76 'L'
        .byte $26,$81,$7e,$80,$00,$82,$24,$80       // char 77 'M'
        .byte $00,$7f,$a7,$80,$2b,$00,$29,$00       // char 78 'N'
        .byte $26,$00,$c0,$81,$29,$90,$2b,$81       // char 79 'O'
        .byte $7e,$80,$00,$29,$82,$00,$80,$28       // char 80 'P'
        .byte $82,$00,$80,$24,$00,$c4,$81,$24       // char 81 'Q'
        .byte $90,$26,$81,$7e,$80,$00,$82,$24       // char 82 'R'
        .byte $80,$00,$7f,$8f,$00,$00,$7f,$ad       // char 83 'S'
        .byte $80,$2e,$c5,$8f,$7e,$8e,$7e,$7f       // char 84 'T'
        .byte $a3,$86,$13,$80,$00,$a4,$10,$00       // char 85 'U'
        .byte $a3,$82,$14,$00,$80,$15,$00,$15       // char 86 'V'
        .byte $00,$15,$00,$82,$15,$86,$00,$7f       // char 87 'W'
        .byte $a1,$8e,$27,$80,$00,$ae,$29,$00       // char 88 'X'
        .byte $29,$00,$29,$00,$a1,$84,$29,$00       // char 89 'Y'
        .byte $7f,$c0,$80,$2b,$a7,$7e,$90,$2d       // char 90 'Z'
        .byte $80,$7e,$81,$00,$80,$32,$82,$00       // char 91 '['
        .byte $80,$33,$84,$00,$a5,$80,$34,$00       // char 92 '\'
        .byte $34,$00,$34,$00,$34,$88,$00,$7f       // char 93 ']'
        .byte $a7,$86,$29,$80,$00,$28,$82,$00       // char 94 '^'
        .byte $80,$29,$00,$8c,$26,$80,$00,$29       // char 95 '_'
        .byte $81,$00,$a8,$80,$00,$7f,$af,$80       // char 96 '`'
        .byte $29,$8a,$00,$80,$29,$82,$00,$80       // char 97 'a'
        .byte $29,$86,$00,$b0,$80,$26,$86,$00       // char 98 'b'
        .byte $7f,$af,$80,$29,$8a,$00,$80,$29       // char 99 'c'
        .byte $82,$00,$80,$29,$86,$00,$80,$26       // char 100 'd'
        .byte $82,$00,$80,$28,$00,$26,$00,$7f       // char 101 'e'

dat_1b30:
        // === Fill data (1 bytes, $1b30-$1b30) ===
        .byte $00                                   // .

// --- Region $1c00-$1c00 ---
.pc = $1c00 "scr_1c00"

scr_1c00:
        .byte $00                                   // .

// --- Region $1fc0-$1fc0 ---
.pc = $1fc0 "spr_1fc0"

spr_1fc0:
        .byte $00                                   // .

// --- Region $2000-$2748 ---
.pc = $2000 "dat_2000"

dat_2000:
        .byte $05,$04,$04,$04,$04,$04,$04,$04,$55,$00,$00,$00,$00,$00,$00,$00 // ........U.......
        .byte $40,$42,$4a,$68,$60,$60,$40,$40,$15,$90,$10,$10,$10,$10,$1a,$18 // @BJh``@@........
        .byte $55,$09,$01,$01,$01,$01,$a1,$29,$00,$80,$a0,$28,$08,$0a,$02,$02 // U......)...(....
        .byte $00,$02,$0a                           // ...

txt_2033:
        .text "( "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $80,$80,$2a,$a0,$00,$00,$00,$00,$0a,$28,$a8,$0a,$00,$00,$00,$01 // ..*......(......
        .byte $a1,$29,$00,$85,$94,$58,$48,$4a,$02,$02,$55,$42,$02,$02,$02,$02 // .)...XHJ..UB....
        .byte $15,$52,$55,$00,$00,$00,$00,$00,$50,$10,$55,$01,$01,$01,$01,$01 // .RU.....P.U.....

txt_2066:
        .text ")!"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $00,$00,$00,$00,$01,$a1,$21,$aa,$05,$14,$50,$40,$40,$0a,$08,$55 // ......!...P@@..U
        .byte $4a,$00,$00,$00,$00,$95,$58,$50,$95,$a1,$28,$08,$0a,$42,$52,$02 // J.....XP..(..BR.
        .byte $02,$42,$52,$12,$16,$06,$06,$aa,$00,$00,$00,$00,$01,$01,$01,$aa // .BR.............
        .byte $05,$14                               // ..

txt_209b:
        .text "P"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "* "
        .byte $00                                   // string terminator
        .byte $00,$40,$50,$10,$16,$06,$06,$05,$06,$24,$a4,$84,$84,$05,$00,$55 // .@P......$.....U
        .byte $80,$00,$00,$00,$00,$55,$a0,$55,$2a,$02,$00,$00,$00,$40,$60,$55 // .....U.U*....@`U
        .byte $00,$80,$a0,$20,$28,$05,$04,$55,$08,$08,$08,$08,$08,$55,$08,$6a // ... (..U.....U.j

txt_20d1:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "AA"
        .byte $01,$aa,$05,$14                       // ....

txt_20db:
        .text "P"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $80,$55,$6a,$02,$00,$00,$00,$95,$50,$50,$15,$81,$a0 // .Uj.....PP...

txt_20ec:
        .text " (HX"
        .byte $0a,$08,$48,$58,$18,$14,$04,$04,$a5,$04,$04,$04,$04,$04,$04,$04 // ..HX............
        .fill 8, $00
        .byte $55,$80,$80,$80,$80,$80,$80,$80       // U.......

txt_2110:
        .text "U     U"
        .byte $60,$5a,$15,$01,$02,$02,$02,$42,$52,$00,$00,$40,$50,$10,$14,$04 // `Z.....BR..@P...
        .byte $04,$04,$04,$04,$04,$04,$05,$01,$01,$02,$02,$02,$02,$02,$02,$02 // ................
        .byte $02                                   // .

txt_2138:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "P"
        .byte $10,$10,$10,$10,$10,$10,$10,$18,$18,$18,$09,$09,$09,$09,$09,$09 // ................
        .byte $05,$04,$02,$00,$00,$00,$00,$aa,$00,$00,$82,$82,$82,$82,$82,$82 // ................
        .byte $02,$02,$80,$00,$00,$00,$00,$00,$00,$00 // ..........

txt_2168:
        .text "     ("
        .byte $08,$08,$02,$00,$00,$00,$00,$00,$00,$00 // ..........

txt_2178:
        .text "BBBBBR"
        .byte $12,$12,$10,$10,$15,$00,$00,$00,$00,$00 // ..........

txt_2188:
        .text "!!U  ("
        .byte $08,$08                               // ..

txt_2190:
        .text "%$$$$$$$"
        .byte $08,$08,$08,$08,$08,$0a,$02,$02       // ........

txt_21a0:
        .text "HHHHHX"
        .byte $18,$18,$12,$10,$10,$10,$10,$10,$10,$10,$85,$81,$81,$81,$81,$a1 // ................
        .byte $22,$22,$05,$04,$04,$04,$04,$44,$44,$44,$12,$10,$10,$10,$10,$15 // "".....DDD......
        .byte $00,$02,$85,$89,$89,$89,$89,$55,$88,$88,$80,$80,$80,$80,$80,$a0 // .......U........
        .byte $20,$20,$60,$60,$60,$60,$60,$60,$60,$60,$06,$06,$06,$06,$06,$05 //   ````````......
        .byte $01,$01,$08,$08,$08,$08,$08,$88,$88,$88,$60,$60,$60,$60,$60,$50 // ..........`````P
        .byte $10,$10,$1a,$12,$12,$12,$12,$12,$10,$10,$05,$09,$09,$09,$09,$89 // ................
        .byte $88,$8a,$04,$04,$04,$04,$04,$44,$44,$44,$12,$12,$12,$12,$12,$12 // .......DDD......
        .byte $10,$10,$05,$01,$01,$01,$01,$81,$85,$84,$01,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$42,$42,$52,$16,$05,$16,$52,$42,$14,$05,$00,$00,$00,$00 // ..BBR...RB......
        .byte $00,$05,$58,$48,$08,$08,$09,$08,$08,$48,$04,$14,$10,$50,$40,$50 // ..XH.....H...P@P
        .byte $14,$04,$00,$05,$04,$04,$04,$04,$04,$05,$02,$55,$02,$02,$02,$02 // ...........U....
        .byte $02,$55,$00,$55,$00,$00,$00,$00,$00,$55,$08,$55,$08,$08,$08,$08 // .U.U.....U.U....
        .byte $08,$55,$04                           // .U.

txt_2269:
        .text "DDDDDDD"
        .byte $12,$15
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $15,$00
        .byte $50,$10,$10,$10,$10,$10
        .byte $50
        .fill 8, $08

txt_2288:
        .text "$$$$$$$$"
        .byte $18,$15,$08,$08,$08,$08,$08,$15,$10,$50,$00,$00,$00,$00,$00 // .........P.....

txt_229f:
        .text "P"
        .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
        .byte $22                                   // double quote character
        .text "DDDDDDDD"
        .byte $08,$0a,$00,$00,$00,$00,$00,$0a,$18,$90,$10,$10,$10,$10,$1a,$98 // ................
        .byte $02,$02,$0a,$08,$28,$a0,$80,$00,$20,$2a,$00,$00,$00,$00,$00,$2a // ....(... *.....*
        .byte $60,$60
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $60,$01,$01,$01,$01,$01,$01,$01,$01
        .fill 8, $88
        .fill 8, $04

txt_22f0:
        .text "        "
        .fill 8, $10
        .byte $82,$82,$82,$80,$80,$80,$80,$80
        .text "DDDD"
        .byte $64,$64
        .byte $46,$44
        .byte $28,$0a,$00,$00,$00,$00,$80,$aa,$10,$95,$00,$00,$00,$00,$00,$95 // (...............
        .byte $50,$40,$00,$00,$01,$00,$00,$40,$84,$94,$90,$50,$40,$50,$94,$84 // P@.....@...P@P..
        .byte $01,$01,$01,$05,$04,$04,$04,$04,$42,$02,$02,$02,$02,$02,$02,$02 // ........B.......
        .byte $14,$10,$10,$10,$10,$10,$10,$10,$58,$18,$18,$18,$18,$18,$18,$18 // ........X.......
        .byte $05,$01,$01,$01,$00,$00,$00,$0a,$00,$00,$00
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $6a
        .byte $02,$02,$02,$02,$02,$02,$02,$a2,$12,$12,$12,$12,$12,$12,$12,$12 // ................
        .fill 8, $18
        .byte $00,$00,$00,$00,$00,$00,$00,$15,$08,$08,$08,$08,$08,$08,$08,$55 // ...............U
        .byte $00,$00,$00,$00,$00,$00,$00,$40,$80,$80,$80,$80,$80,$80,$80,$8a // .......@........

txt_2398:
        .text "DDDDDDD"
        .byte $66,$00,$00,$00,$00,$00,$00,$00,$a0,$50,$10,$10,$10,$10,$10,$10 // f........P......
        .byte $10,$85,$81,$81,$81,$80,$80,$80,$80,$00,$00,$00
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40,$10,$10,$10,$10,$10,$10,$10,$90   // @........

txt_23c8:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ 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
        .byte $22                                   // double quote character
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $00,$00,$00,$00,$00,$00,$00,$80,$12,$12,$12,$12,$12,$12,$12,$92 // ................

txt_23e8:
        .text "DDDDDDDE"
        .byte $08,$08,$08,$08,$08,$08,$08,$09,$04,$04,$04,$04,$04,$04,$04,$05 // ................

scr_2400:
        // === Screen RAM (841 bytes, $2400-$2748) ===
        .encoding "screencode_mixed"
        .byte $88,$88,$88,$88,$88,$88,$88,$89       // scrcode: ........
        .text "pppppppr"
        .byte $80,$80,$80,$80,$80,$80,$80,$80       // scrcode: ........
        .text "@@@@@@@"
        .byte $55,$90,$90,$90                       // scrcode: ....
        .text "pxzr"
        .byte $50                                   // scrcode: .
        .text "zrpppp"
        .byte $90                                   // scrcode: .
        .text "u("
        .byte $a0                                   // scrcode: .
        .text "@@@@b"
        .encoding "petscii_upper"

txt_2437:
        .text "U"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "BBJ"
        .encoding "screencode_mixed"
        .byte $68,$60,$40,$80,$80,$80               // scrcode: ......
        .text "@@@@@"
        .byte $80,$80,$a0                           // scrcode: ...
        .text " (jb@jb@@@@"
        .byte $a0                                   // scrcode: .
        .encoding "petscii_upper"

txt_2457:
        .text "*$"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "ddddf"
        .byte $a5                                   // scrcode: .
        .text "@@bbj("
        .byte $a0,$55,$92,$92,$92                   // scrcode: .....
        .text "rrrr"
        .byte $52                                   // scrcode: .
        .text "@@@@@@@"
        .byte $aa                                   // scrcode: .
        .text "hhhhhhh"
        .byte $a8                                   // scrcode: .
        .encoding "petscii_upper"

txt_2480:
        .text "$$$$$$$%"
        .encoding "screencode_mixed"
        .text "bbbbbbb"
        .byte $55                                   // scrcode: .
        .text "xxxxxxx"
        .byte $5a                                   // scrcode: .
        .text "ppppppp"
        .byte $95                                   // scrcode: .
        .encoding "petscii_upper"

txt_24a0:
        .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 "UAAA"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .encoding "screencode_mixed"
        .byte $6a                                   // scrcode: .
        .text "hh"
        .byte $48,$48,$58                           // scrcode: ...
        .text "te"
        .byte $a8                                   // scrcode: .
        .text "te@@@@"
        .encoding "petscii_upper"

txt_24be:
        .byte $40                                   // @ character
        .text "UP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@e"
        .byte $54                                   // scrcode: .
        .text "iiedt"
        .byte $58,$48                               // scrcode: ..
        .text "j"
        .encoding "petscii_upper"

txt_24d0:
        .text "       "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $60,$60,$60,$60,$60,$60,$60,$55       // scrcode: ........
        .text "aaaaaaa"
        .byte $55,$88,$88,$88,$88,$88,$88,$88,$8a   // scrcode: .........
        .text "aaa@@@@"
        .byte $aa                                   // scrcode: .
        .text "  "
        .byte $60,$60,$50                           // scrcode: ...
        .text "t%"
        .byte $a0                                   // scrcode: .
        .text "t"
        .encoding "petscii_upper"

txt_2501:
        .text "%    "
        .encoding "screencode_mixed"
        .byte $60,$55,$50,$40                       // scrcode: ....
        .text "@@@@e"
        .byte $56,$81,$81,$85,$84,$94,$50,$40,$80   // scrcode: .........
        .text "dd"
        .byte $84,$84,$a4                           // scrcode: ...
        .text "$fe(j@@@@"
        .byte $80,$55,$90,$90                       // scrcode: ....
        .text "pppp"
        .text "z"
        .byte $58                                   // scrcode: .
        .text "rrzxx"
        .byte $90,$90                               // scrcode: ..
        .text "u"
        .byte $40,$42,$4a,$68,$60,$a0,$80,$80       // scrcode: ........
        .text "*"
        .byte $a0                                   // scrcode: .
        .text "ppppz("
        .byte $a9                                   // scrcode: .
        .text "jaaaa"
        .byte $a1                                   // scrcode: .
        .text ")@"
        .byte $85,$a4,$68,$48,$4a                   // scrcode: .....
        .text "bb"
        .byte $56,$42                               // scrcode: ..
        .text "bbbbv"
        .byte $52,$aa                               // scrcode: ..
        .text "@@@@@"
        .byte $50                                   // scrcode: .
        .text "p"
        .byte $aa                                   // scrcode: .
        .text "aaaaa"
        .encoding "petscii_upper"

txt_256e:
        .text "*!"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $4a                                   // scrcode: .
        .text "@@@@"
        .byte $a5,$68                               // scrcode: ..
        .text "ej("
        .byte $a4,$84,$84                           // scrcode: ...
        .text "e@"
        .byte $aa,$80                               // scrcode: ..
        .text "@@@@"
        .byte $6a,$a0,$a5                           // scrcode: ...
        .text "*b@@@"
        .byte $80,$a0,$55                           // scrcode: ...
        .text "@"
        .byte $80,$a0                               // scrcode: ..
        .text " (ih"
        .byte $5a                                   // scrcode: .
        .text "hhhhh"
        .byte $59                                   // scrcode: .
        .text "h"
        .byte $aa                                   // scrcode: .
        .encoding "petscii_upper"

txt_25a1:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "AA"
        .encoding "screencode_mixed"
        .text "a"
        .byte $a5,$6a                               // scrcode: ..
        .text "b@@@"
        .byte $95,$a0                               // scrcode: ..
        .text "jh"
        .byte $48,$58                               // scrcode: ..
        .text "xxhh"
        .byte $aa                                   // scrcode: .
        .text "ddddddd"
        .byte $95,$80,$80,$80,$80,$80,$80,$80,$6a   // scrcode: .........
        .encoding "petscii_upper"

txt_25c9:
        .text "     "
        .encoding "screencode_mixed"
        .byte $65,$60,$aa                           // scrcode: ...
        .text "vbbbb"
        .byte $42,$52,$80,$40,$40,$40,$40,$50       // scrcode: ........
        .text "pp"
        .encoding "petscii_upper"

txt_25e0:
        .text "     ("
        .encoding "screencode_mixed"
        .text "xxiiiiijedihhhhhhh"
        .byte $82,$82,$82,$82,$82,$a2,$22,$22       // scrcode: ......""
        .text "!!"
        .byte $65                                   // scrcode: .
        .text "  (hh"
        .byte $86,$82,$82,$82,$82,$a2               // scrcode: ......
        .byte $22,$22,$8a,$89,$89,$89,$89,$99,$88,$88 // scrcode: ""........
        .text "jfffffaa"
        .byte $60,$60,$60,$60,$60,$60               // scrcode: ......
        .text "  iiiii"
        .byte $89,$88,$8a,$42,$42,$52               // scrcode: ......
        .text "vfv"
        .byte $52,$42                               // scrcode: ..
        .text "b"
        .byte $56                                   // scrcode: .
        .text "bbbbb"
        .byte $56                                   // scrcode: .
        .text "h"
        .byte $59                                   // scrcode: .
        .text "hhhhh"
        .byte $59                                   // scrcode: .
        .text "h"
        .encoding "petscii_upper"

txt_2649:
        .text "HHHHHHH"
        .byte $22                                   // double quote character
        .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
        .text "&"
        .encoding "screencode_mixed"
        .text "xyhhhhhy("
        .byte $a0                                   // scrcode: .
        .text "ppppz"
        .byte $a8,$60,$a0                           // scrcode: ...
        .encoding "petscii_upper"

txt_266a:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $44,$44,$84,$84,$a4,$68               // scrcode: ......

txt_2676:
        .text "JD "
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@@@@@"
        .byte $a5,$84,$94,$90,$90,$80,$90,$94,$84   // scrcode: .........
        .text "@@@"
        .encoding "petscii_upper"

txt_268b:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "hhhhhhh"
        .encoding "petscii_upper"

txt_2697:
        .text "YDDDDDDD"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $90,$90,$a0                           // scrcode: ...
        .text " (zr"
        .byte $50                                   // scrcode: .
        .text "zrpppp"
        .byte $a0                                   // scrcode: .
        .encoding "petscii_upper"

txt_26af:
        .text "*("
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@@@@b"
        .byte $aa,$40,$40,$42,$42,$4a,$68,$a0       // scrcode: ........
        .encoding "petscii_upper"

txt_26bf:
        .byte $40                                   // @ character

spr_26c0:
        .encoding "screencode_mixed"
        .text "("
        .byte $a4                                   // scrcode: .
        .text "ddddf"
        .byte $aa                                   // scrcode: .
        .encoding "petscii_upper"

txt_26c8:
        .text "$$$$$$$*"
        .encoding "screencode_mixed"
        .text "bbbbbbb"
        .byte $aa                                   // scrcode: .
        .text "ppppppp"
        .byte $aa                                   // scrcode: .
        .encoding "petscii_upper"

txt_26e0:
        .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
        .byte $a6                                   // '&' | $80 (end-of-string marker)

txt_26e8:
        .text "AAA"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "hh"
        .byte $48,$48,$58                           // scrcode: ...
        .text "xi"
        .byte $a8                                   // scrcode: .
        .text "iiihx"
        .byte $58,$48                               // scrcode: ..
        .text "j"
        .byte $60,$60,$60,$60,$60,$60,$60,$6a       // scrcode: ........
        .text "aaaaaaa"
        .byte $aa                                   // scrcode: .
        .text "  "
        .byte $60,$60,$60                           // scrcode: ...
        .encoding "petscii_upper"

txt_2715:
        .text "$%"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)

txt_2718:
        .text "$%    "
        .encoding "screencode_mixed"
        .byte $60,$6a,$50,$40                       // scrcode: ....
        .text "@@@@e"
        .byte $aa,$82,$82,$86,$84,$94,$90,$80,$80   // scrcode: .........
        .text "dd"
        .byte $84,$84,$a4                           // scrcode: ...
        .text "(je"
        .byte $a0,$90                               // scrcode: ..
        .text "ppppz"
        .byte $a8                                   // scrcode: .
        .encoding "petscii_upper"

spr_2740:
        .encoding "screencode_mixed"
        .text "rrzx("
        .byte $a0,$90                               // scrcode: ..
        .text "u"
        .encoding "petscii_upper"

dat_2748:
        // === Fill data (1 bytes, $2748-$2748) ===
        .byte $00                                   // .

// --- Region $2c57-$2cee ---
.pc = $2c57 "dat_2c57"

dat_2c57:
        .byte $06,$02,$04,$0a,$0f,$07,$01,$07,$0f,$0a,$04,$02,$06,$00,$00,$06 // ................
        .byte $02,$04,$0a,$0f,$07,$01,$07,$0f,$0a,$04,$02,$09,$02,$08,$0a,$0f // ................
        .byte $07,$01,$07,$0f,$0a,$08,$02,$09,$00,$00,$09,$02,$08,$0a,$0f,$07 // ................
        .byte $01,$07,$0f,$0a,$08,$02,$09,$02,$08,$0a,$0f,$07,$01,$01,$01,$07 // ................
        .byte $0f,$0a,$08,$02,$09,$00,$00,$00,$00,$00,$f0,$f0,$f0,$f0,$f0,$f0 // ................
        .byte $f0,$f0,$00,$00,$00,$00,$01,$07,$0f,$0a,$04,$02,$06,$00,$06,$02 // ................
        .byte $04,$0a,$0f,$07,$01,$01,$f0,$f0,$f0,$f0,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$f0,$f0,$f0,$f0,$ee,$40,$03,$ad,$40,$03,$c9,$05,$d0,$5f // .......@..@...._
        .byte $a9,$00,$8d,$40,$03,$ae,$41,$03,$ee,$41,$03,$bd,$8d,$2c,$8d,$a9 // ...@..A..A...,..
        .byte $28,$bd,$95,$2c,$8d,$a4,$28,$bd       // (..,..(.

// --- Region $2d37-$2d58 ---
.pc = $2d37 "dat_2d37"

dat_2d37:
        .byte $ee,$40,$03,$ad,$40,$03,$c9,$05,$d0,$5f,$a9,$00,$8d,$40,$03,$ae // .@..@...._...@..
        .byte $41,$03,$ee,$41,$03,$bd,$95,$2c,$8d,$a9,$28,$bd,$8d,$2c,$8d,$a4 // A..A...,..(..,..
        .byte $28,$bd                               // (.

// --- Region $2e24-$30e0 ---
.pc = $2e24 "Segment $2e24"
        .byte $a9,$34,$85,$01,$a2,$00,$bd,$00,$32,$9d,$01,$08,$e8,$d0,$f7,$ee // .4......2.......
        .byte $45,$03,$ee,$48,$03,$ad,$48,$03,$c9,$cc,$d0,$ea // E..H..H.....

spr_2e40:
        // === Sprite data (64 bytes, $2e40-$2e7f) ===
        .byte $a9,$37,$85                           // #.#.#..#..##.####....#.#
        .byte $01,$58,$4c                           // .......#.#.##....#..##..
        .byte $e2,$fc,$00                           // ###...#.######..........
        .byte $ff,$00,$00                           // ########................
        .byte $00,$00,$00                           // ........................
        .byte $00

txt_2e50:
        .byte $20,$20
        .byte $20,$43,$0f                           // ..#......#....##....####
        .byte $04,$05,$2c                           // .....#.......#.#..#.##..
        .byte $20,$47,$12                           // ..#......#...###...#..#.
        .byte $01,$10,$08                           // .......#...#........#...
        .byte $09,$03,$13                           // ....#..#......##...#..##
        .byte $20,$01,$0e                           // ..#............#....###.
        .byte $04,$20,$43                           // .....#....#......#....##
        .byte $08,$01,$12                           // ....#..........#...#..#.
        .byte $13,$20,$02                           // ...#..##..#...........#.
        .byte $19

txt_2e6e:
        .byte $20,$2d
        .byte $45,$43,$43                           // .#...#.#.#....##.#....##
        .byte $4f,$2d,$20                           // .#..####..#.##.#..#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20                                   // sprite 0 padding
        .byte $20,$20,$4d                           // ..#.......#......#..##.#
        .byte $15,$13,$09                           // ...#.#.#...#..##....#..#
        .byte $03,$20,$02                           // ......##..#...........#.
        .byte $19

txt_2e8a:
        .text " -VIBRANTS-           "

txt_2ea0:
        .encoding "screencode_mixed"
        .text "fffbdjogaaagojdbfffbdjogaaagojdbahhhhhhhahhhhhhhibhjogaaagojhbib  augie doggie +5h  "
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "abcde fghijklmnopqrsoptuvwxyz"
        .encoding "petscii_upper"
        .byte $1b,$1c,$1d,$1e,$1f                   // .....

txt_2f23:
        .text "!"
        .byte $22                                   // double quote character
        .text "#$ %&'()*+,-"
        .byte $00                                   // string terminator

txt_2f32:
        .text "./01234567-489 :;<="
        .byte $00                                   // string terminator

txt_2f46:
        .text ":>?"
        .byte $40                                   // @ character
        .text "A:>BC DEFGHIJKLM NOPQ&RSTUVWXP YZ"
        .byte $5b,$5c,$5d,$5e,$5f,$5f,$60,$61,$62,$63,$64,$65,$20,$66,$67,$68 // [\]^__`abcde fgh
        .byte $69,$6a,$6b,$6c,$20,$50,$5d,$20,$6d   // ijkl P] m

txt_2f84:
        .text " PQ&"
        .byte $6e,$5f,$54,$55,$50,$5f,$6f,$70,$71,$5e,$3b,$5b,$5c,$5d,$5e,$5f // n_TUP_opq^;[\]^_
        .byte $5f,$72,$73,$74,$5f,$75,$76,$77,$5d,$26,$78,$6e,$50,$79,$7a,$7b // _rst_uvw]&xnPyz{
        .byte $50,$5d,$20,$7c                       // P] |

txt_2fac:
        .text " PQ&"
        .byte $6e,$5f,$54,$7d,$50,$5f,$5f,$7e,$79,$5e,$3b,$5b,$5c,$7f,$5e,$5f // n_T}P__~y^;[\.^_
        .byte $5f,$80,$55,$5e,$5f,$81,$82,$79,$7f,$83,$84,$85,$86,$87,$88,$89 // _.U^_..y........
        .byte $8a,$8b,$8c,$8d,$8e,$8f,$90,$91,$92,$93,$94,$95,$96,$97,$98,$99 // ................
        .byte $8e,$9a,$9b,$9c,$9d,$9e,$9f,$a0,$a1,$a2,$a3,$a4,$a5,$a6,$83,$79 // ...............y
        .byte $00,$01,$a7,$a8,$a9,$05,$20,$06,$07,$08,$aa,$ab,$ac,$ad,$0d,$0e // ...... .........
        .byte $ae,$10,$11,$12,$13,$ae,$10,$14,$af,$b0,$b1,$b2,$b3,$b4,$1b,$b5 // ................
        .byte $1d,$b6,$b7,$b8,$b9,$ba               // ......

txt_3016:
        .text "$ %&"
        .byte $bb                                   // ';' | $80 (end-of-string marker)
        .byte $bc,$bd                               // ..

txt_301d:
        .text "*+,-"
        .byte $be                                   // '>' | $80 (end-of-string marker)
        .byte $2e,$bf,$30,$c0                       // ..0.

txt_3026:
        .text "2345"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)

txt_302b:
        .text "7-48"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)

txt_3030:
        .text " :;"
        .byte $c3                                   // 'C' | $80 (end-of-string marker)
        .byte $3d,$00,$3a,$c4,$3f,$c5               // =.:.?.

txt_303a:
        .text "A:"
        .byte $c4                                   // 'D' | $80 (end-of-string marker)

txt_303d:
        .text "BC D"
        .byte $c6                                   // 'F' | $80 (end-of-string marker)

txt_3042:
        .text "FGHI"
        .byte $c7                                   // 'G' | $80 (end-of-string marker)
        .byte $4b,$c8,$c9,$20,$ca                   // K.. .

txt_304c:
        .text "OPQ&"
        .byte $cb                                   // 'K' | $80 (end-of-string marker)

txt_3051:
        .text "STUV"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)

txt_3056:
        .text "XP Y"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $5b,$5c,$5d,$5e,$5e,$5f,$60,$ce,$62,$cf,$64,$d0,$20,$66,$67,$68 // [\]^^_`.b.d. fgh
        .byte $69,$6a,$d1,$6c                       // ij.l

txt_306f:
        .text " PP T PQ&"
        .byte $6e,$5f,$54,$55,$50,$5f,$6f,$d2,$71,$5e,$3b,$5b,$5c,$5d,$5e,$5e // n_TUP_o.q^;[\]^^
        .byte $5f,$72,$d3,$74,$5e,$75,$76,$77,$5d,$26,$78,$6e,$50,$79,$7a,$7b // _r.t^uvw]&xnPyz{
        .byte $50,$50,$20,$7a                       // PP z

txt_309c:
        .text " PQ&"
        .byte $6e,$5f,$54,$7d,$50,$5f,$5f,$7e,$79,$5e,$3b,$5b,$5c,$7f,$5e,$5e // n_T}P__~y^;[\.^^
        .byte $5f,$9d,$55,$5e,$5e,$81,$82,$79,$7f,$83,$d4,$d5,$d6,$d7,$88,$89 // _.U^^..y........
        .byte $8a,$d8,$8c,$8d,$8e,$8f,$d9,$da,$92,$db,$dc,$dd,$de,$97,$98,$df // ................
        .byte $8e,$9a,$e0,$e1,$9d,$9e,$e2,$e3,$e4,$e5,$e6,$62,$e7,$e8,$83,$79 // ...........b...y

dat_30e0:
        // === Fill data (1 bytes, $30e0-$30e0) ===
        .byte $00                                   // .

// --- Region $3100-$3200 ---
.pc = $3100 "txt_3100"

txt_3100:
        .text "     "

txt_3105:
        .encoding "screencode_mixed"
        .text "once again they have managed to make an outstanding piece of work"
        .encoding "petscii_upper"

txt_3146:
        .text " ..   "

txt_314c:
        .encoding "screencode_mixed"
        .text "the performance was done by the company"
        .encoding "petscii_upper"

txt_3173:
        .text "    "

txt_3177:
        .encoding "screencode_mixed"
        .text "this is a nice little game.. your job is to guide a little puppy"
        .encoding "petscii_upper"

txt_31b7:
        .text "... "

txt_31bb:
        .encoding "screencode_mixed"
        .text "so do as we do"
        .encoding "petscii_upper"

txt_31c9:
        .text "...  "
        .byte $08,$15,$12,$14,$20,$08,$09,$0d       // .... ...

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

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

// --- Region $3800-$3800 ---
.pc = $3800 "scr_3800"

scr_3800:
        .byte $00                                   // .

// --- Region $3fc0-$3fc0 ---
.pc = $3fc0 "spr_3fc0"

spr_3fc0:
        .byte $00                                   // .

// --- Region $4c17-$4c17 ---
.pc = $4c17 "dat_4c17"

dat_4c17:
        // === Fill data (1 bytes, $4c17-$4c17) ===
        .byte $00                                   // .

// --- Region $8dd9-$8dd9 ---
.pc = $8dd9 "dat_8dd9"

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

// --- Region $9d17-$9d17 ---
.pc = $9d17 "dat_9d17"

dat_9d17:
        // === Fill data (1 bytes, $9d17-$9d17) ===
        .byte $00                                   // .

// --- Region $a2d1-$a2d1 ---
.pc = $a2d1 "dat_a2d1"

dat_a2d1:
        // === Fill data (1 bytes, $a2d1-$a2d1) ===
        .byte $00                                   // .

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

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

// --- Region $bd17-$bd17 ---
.pc = $bd17 "dat_bd17"

dat_bd17:
        // === Fill data (1 bytes, $bd17-$bd17) ===
        .byte $00                                   // .

// --- Region $c000-$c000 ---
.pc = $c000 "chr_c000"

chr_c000:
        .byte $00                                   // .

// --- Region $c0c0-$c0c0 ---
.pc = $c0c0 "spr_c0c0"

spr_c0c0:
        .byte $00                                   // .

// --- Region $c280-$c280 ---
.pc = $c280 "spr_c280"

spr_c280:
        .byte $00                                   // .

// --- Region $c580-$c580 ---
.pc = $c580 "spr_c580"

spr_c580:
        .byte $00                                   // .

// --- Region $c800-$c800 ---
.pc = $c800 "chr_c800"

chr_c800:
        .byte $00                                   // .

// --- Region $ca40-$ca40 ---
.pc = $ca40 "spr_ca40"

spr_ca40:
        .byte $00                                   // .

// --- Region $cc00-$cc00 ---
.pc = $cc00 "scr_cc00"

scr_cc00:
        .byte $00                                   // .

// --- Region $cfc0-$cfc0 ---
.pc = $cfc0 "spr_cfc0"

spr_cfc0:
        .byte $00                                   // .

// --- Region $d000-$d000 ---
.pc = $d000 "scr_d000"

scr_d000:
        .byte $00                                   // .

// --- Region $d040-$d040 ---
.pc = $d040 "spr_d040"

spr_d040:
        .byte $00                                   // .

// --- Region $d180-$d180 ---
.pc = $d180 "spr_d180"

spr_d180:
        .byte $00                                   // .

// --- Region $da00-$da00 ---
.pc = $da00 "spr_da00"

spr_da00:
        .byte $00                                   // .

// --- Region $e000-$e000 ---
.pc = $e000 "chr_e000"

chr_e000:
        .byte $00                                   // .

// --- Region $e101-$ea30 ---
.pc = $e101 "dat_e101"

dat_e101:
        .byte $f0,$ee,$a9,$04,$2c,$a9,$08           // char 32 (partial)
        .byte $85,$ff,$b1,$2f,$91,$2d,$c8,$c4       // char 33 '!'
        .byte $ff,$d0,$f7,$18,$a5,$2d,$65,$ff       // char 34 '"'
        .byte $85,$2d,$a5,$2e,$69,$00,$85,$2e       // char 35 '#'
        .byte $a0,$00,$ca,$d0,$e5,$18,$a5,$2f       // char 36 '$'
        .byte $65,$ff,$85,$2f,$a5,$30,$69,$00       // char 37 '%'
        .byte $85,$30,$4c,$00,$01,$b9,$00,$ef       // char 38 '&'
        .byte $99,$00,$ff,$c8,$d0,$f7,$ce,$dc       // char 39 '''
        .byte $01,$ce,$df,$01,$ad,$df,$01,$c9       // char 40 '('
        .byte $df,$d0,$ea,$60,$21,$d2,$a7,$24       // char 41 ')'
        .byte $f0,$c3,$87,$87,$e4,$07,$21,$80       // char 42 '*'
        .byte $e7,$07,$24,$f0,$c3,$87,$87,$e4       // char 43 '+'
        .byte $07,$21,$80,$e7,$07,$21,$80,$e7       // char 44 ','
        .byte $07,$21,$80,$e7,$07,$24,$f0,$c3       // char 45 '-'
        .byte $87,$87,$e4,$07,$21,$8f,$e7,$07       // char 46 '.'
        .byte $21,$e0,$e7,$f8,$21,$e0,$c7,$21       // char 47 '/'
        .byte $8f,$e7,$07,$21,$8f,$e7,$07,$34       // char 48 '0'
        .byte $8f,$07,$03,$01,$04,$06,$07,$07       // char 49 '1'
        .byte $8f,$07,$03,$01,$04,$06,$07,$07       // char 50 '2'
        .byte $f0,$c3,$87,$87,$e4,$07,$21,$80       // char 51 '3'
        .byte $e7,$07,$24,$f0,$c3,$87,$87,$e4       // char 52 '4'
        .byte $07,$21,$80,$e7,$07,$24,$f0,$c3       // char 53 '5'
        .byte $87,$87,$e3,$07,$22,$87,$00,$e7       // char 54 '6'
        .byte $f8,$21,$8f,$e7,$07,$21,$8f,$e7       // char 55 '7'
        .byte $07,$21,$8f,$e7,$07,$21,$8f,$e7       // char 56 '8'
        .byte $07,$21,$8f,$e6,$07,$22,$87,$80       // char 57 '9'
        .byte $e5,$07,$21,$8f,$80,$31,$ff,$21       // char 58 ':'
        .byte $fc,$e7,$f8,$25,$f3,$e1,$e1,$f3       // char 59 ';'
        .byte $e7,$c3,$21,$f3,$e3,$e3,$27,$00       // char 60 '<'
        .byte $80,$e3,$e3,$fe,$e0,$c0,$e3,$c6       // char 61 '='
        .byte $2a,$c0,$e0,$9f,$0f,$0f,$9f,$ff       // char 62 '>'
        .byte $fe,$fc,$f8,$c8,$25,$fe,$fc,$fc       // char 63 '?'
        .byte $fe,$fc,$c4,$23,$fc,$f8,$f8,$e4       // char 64 '@'
        .byte $f0,$22,$01,$f8,$e6,$fc,$c5,$24       // char 65 'A'
        .byte $fc,$f8,$f8,$fc,$e6,$f8,$21,$80       // char 66 'B'
        .byte $cd,$21,$80,$a2,$cd,$2f,$fe,$fc       // char 67 'C'
        .byte $f8,$f0,$c3,$87,$87,$07,$07,$06       // char 68 'D'
        .byte $04,$fc,$f8,$f0,$e0,$e4,$f8,$31       // char 69 'E'
        .byte $f0,$c3,$87,$87,$07,$07,$8f,$ff       // char 70 'F'
        .byte $f0,$c3,$87,$87,$07,$07,$8f,$ff       // char 71 'G'
        .byte $8f,$e6,$07,$22,$87,$80,$e7,$07       // char 72 'H'
        .byte $24,$f0,$c3,$87,$87,$e4,$07,$21       // char 73 'I'
        .byte $80,$e5,$07,$26,$8f,$fe,$f0,$c3       // char 74 'J'
        .byte $87,$87,$e4,$07,$24,$f0,$c3,$87       // char 75 'K'
        .byte $87,$e3,$07,$21,$87,$c3,$23,$fe       // char 76 'L'
        .byte $fc,$fe,$c5,$23,$fe,$fc,$fe,$c7       // char 77 'M'
        .byte $23,$fe,$fc,$f8,$c3,$23,$80,$00       // char 78 'N'
        .byte $80,$c2,$2b,$9f,$0f,$07,$83,$c1       // char 79 'O'
        .byte $e0,$f0,$f8,$80,$07,$87,$c3,$22       // char 80 'P'
        .byte $fe,$fc,$c8,$21,$1f,$42,$87,$c3       // char 81 'Q'
        .byte $c3,$c1,$c1,$c1,$c1,$1f,$2b,$87       // char 82 'R'
        .byte $c3,$c3,$c1,$c1,$e3,$ff,$1f,$87       // char 83 'S'
        .byte $c3,$c3,$e4,$c1,$21,$01,$c7,$21       // char 84 'T'
        .byte $01,$c7,$29,$1f,$87,$c3,$c3,$c1       // char 85 'U'
        .byte $c1,$e3,$ff,$e3,$e7,$c1,$21,$0f       // char 86 'V'
        .byte $e7,$3f,$21,$03,$e7,$c1,$21,$e3       // char 87 'W'
        .byte $e7,$c1,$c8,$25,$e3,$c1,$81,$01       // char 88 'X'
        .byte $41,$e3,$c1,$21,$e3,$e4,$c1,$27       // char 89 'Y'
        .byte $41,$01,$81,$1f,$87,$c3,$c3,$e4       // char 90 'Z'
        .byte $c1,$24,$1f,$87,$c3,$c3,$e3,$c1       // char 91 '['
        .byte $21,$c3,$42,$1f,$87,$c3,$c3,$c1       // char 92 '\'
        .byte $c1,$c1,$c1,$29,$1f,$87,$c3,$c3       // char 93 ']'
        .byte $c1,$c1,$e3,$ff,$01,$e7,$3f,$21       // char 94 '^'
        .byte $e3,$e7,$c1,$21,$e3,$e7,$c1,$21       // char 95 '_'
        .byte $e3,$e7,$c1,$21,$e3,$e7,$c1,$21       // char 96 '`'
        .byte $e3,$e7,$c1,$21,$03,$e6,$c1,$21       // char 97 'a'
        .byte $c3,$80,$30,$ff,$21,$7f,$e7           // char 98 (partial)

txt_e317:
        .byte $3f                                   // char 98 (partial)
        .byte $25,$cf,$87,$87,$cf,$9f,$c3,$21       // char 99 'c'
        .byte $cf,$e3,$8f,$27,$03,$01,$8f,$8f       // char 100 'd'
        .byte $7f,$07,$0f,$e3,$7f,$2a,$07,$03       // char 101 'e'
        .byte $f3,$e1,$c1,$83,$07,$0f,$1f,$3f       // char 102 'f'
        .byte $c8,$24,$7f,$3f,$3f,$7f,$c4,$22       // char 103 'g'

spr_e340:
        .byte $01,$3f,$e6,$7f,$24,$ff,$7f,$3f       // char 104 'h'
        .byte $3f,$e4,$1f,$c5,$24,$7f,$3f,$3f       // char 105 'i'
        .byte $7f,$e6,$3f,$21,$03,$cd,$23,$03       // char 106 'j'
        .byte $01,$01,$c8,$31,$f3,$e1,$c1,$83       // char 107 'k'
        .byte $07,$0f,$1f,$3f,$1f,$87,$c3,$c3       // char 108 'l'
        .byte $81,$01,$41,$c1,$7f,$e7,$3f,$24       // char 109 'm'
        .byte $1f,$87,$c3,$c3,$e3,$c1,$25,$c3       // char 110 'n'
        .byte $1f,$87,$c3,$c3,$e4,$c1,$21,$e3       // char 111 'o'
        .byte $e7,$c1,$21,$03,$e5,$c1,$23,$e3       // char 112 'p'
        .byte $ff,$03,$e5,$c1,$23,$e3,$ff,$03       // char 113 'q'
        .byte $e4,$c1,$23,$83,$07,$0f,$42,$1f       // char 114 'r'
        .byte $87,$c3,$c3,$c1,$c1,$c1,$c1,$c3       // char 115 's'
        .byte $23,$7f,$3f,$7f,$c5,$23,$7f,$3f       // char 116 't'
        .byte $7f,$c2,$28,$f3,$e1,$c1,$83,$07       // char 117 'u'
        .byte $0f,$1f,$3f,$c3,$23,$03,$01,$03       // char 118 'v'
        .byte $c8,$23,$7f,$3f,$03,$e3,$c1,$24       // char 119 'w'
        .byte $83,$07,$0f,$1f,$c8,$23,$07,$07       // char 120 'x'
        .byte $00,$e3,$07,$25,$8f,$ff,$07,$07       // char 121 'y'
        .byte $00,$e3,$07,$22,$80,$ff,$e3,$07       // char 122 'z'
        .byte $25,$87,$87,$c3,$f0,$ff,$e6,$07       // char 123 '{'
        .byte $25,$80,$ff,$07,$07,$00,$e3,$07       // char 124 '|'
        .byte $25,$80,$ff,$07,$07,$00,$e3,$07       // char 125 '}'
        .byte $2d,$8f,$ff,$07,$07,$06,$87,$87       // char 126 '~'
        .byte $c3,$f0,$ff,$07,$07,$00,$e3,$07       // char 127

scr_e400:
        // === Screen RAM (1024 bytes, $e400-$e7ff) ===
        .encoding "screencode_mixed"
        .byte $22,$8f,$ff,$e6,$f8                   // scrcode: "....
        .text "!"
        .byte $e0,$c5                               // scrcode: ..
        .text "'"
        .byte $87                                   // scrcode: .
        .text "g"
        .byte $80,$ff                               // scrcode: ..
        .text "gg@"
        .byte $e3                                   // scrcode: .
        .text "g"
        .byte $22,$8f,$ff,$e6                       // scrcode: "...
        .text "g!"
        .byte $80,$42,$ff                           // scrcode: ...
        .text "gggggg"
        .byte $8f,$c1,$e3                           // scrcode: ...
        .text "g("
        .byte $87,$87                               // scrcode: ..
        .byte $c3,$f0,$ff                           // scrcode: ...
        .text "gg@"
        .byte $e3                                   // scrcode: .
        .text "g"
        .byte $22,$8f,$ff,$e3                       // scrcode: "...
        .text "g("
        .byte $87,$87,$c3,$f0,$ff                   // scrcode: .....
        .text "gg@"
        .byte $e3                                   // scrcode: .
        .text "g*"
        .byte $8f,$ff,$87,$c3,$f0,$ff,$87           // scrcode: .......
        .text "g"
        .byte $80,$ff,$e6,$f8,$22,$fc,$ff           // scrcode: ...."..
        .byte $e3                                   // scrcode: .
        .text "g"
        .byte $60                                   // scrcode: .
        .text "$"
        .byte $87,$87,$c3,$f0                       // scrcode: ....
        .encoding "petscii_upper"

loc_e458:
        .encoding "screencode_mixed"
        .byte $ff                                   // scrcode: .
        .text "g"
        .byte $87,$87,$c7,$e7,$f1,$fc,$ff           // scrcode: .......
        .text "gfdacg"
        .byte $8f,$ff                               // scrcode: ..
        .text "g"
        .byte $83,$c0,$83                           // scrcode: ...
        .text "gg"
        .byte $8f,$ff,$87,$c3,$f0,$ff,$87           // scrcode: .......
        .text "g"
        .byte $80,$c3                               // scrcode: ..
        .text "!"
        .byte $80,$e3                               // scrcode: ..
        .text "g!"
        .byte $80,$80                               // scrcode: ..
        .text "1"
        .byte $ff                                   // scrcode: .
        .text "'"
        .byte $f8,$fc,$ff,$fc,$f8,$f8,$fc,$c9       // scrcode: ........
        .text "("
        .byte $e3,$e3                               // scrcode: ..
        .text "@"
        .byte $80,$e3,$e3,$e7,$ff,$e4,$fe           // scrcode: .......
        .text "+"
        .byte $e0,$c0,$fe,$ff,$f0,$e0,$c1,$83       // scrcode: ........
        .text "go"
        .byte $9f,$d1,$e3,$f0                       // scrcode: ....
        .text "#"
        .byte $f8,$f8                               // scrcode: ..
        .byte $fc,$c2,$e5,$fc                       // scrcode: ....
        .text "%"
        .byte $f8                                   // scrcode: .
        .text "a"
        .byte $ff,$f8,$fc,$c6,$a2                   // scrcode: .....
        .text "!"
        .byte $80,$e3,$f8                           // scrcode: ...
        .text "!"
        .byte $fc,$c4                               // scrcode: ..
        .text "&"
        .byte $cf,$87,$87,$cf,$9f,$80,$ca           // scrcode: .......
        .text "5"
        .byte $cf,$87,$87,$cf,$ff,$f0,$e0,$c1,$83   // scrcode: .........
        .text "go"
        .byte $9f                                   // scrcode: .
        .byte $ff                                   // scrcode: .
        .text "acg"
        .byte $87,$87,$c3,$f0,$ff,$e6,$f8           // scrcode: .......
        .text "!"
        .byte $e0,$c3                               // scrcode: ..
        .text "!"
        .byte $80,$e3                               // scrcode: ..
        .text "g!"
        .byte $80,$c3                               // scrcode: ..
        .text ")"
        .byte $fc,$ff,$87                           // scrcode: ...
        .text "g"
        .byte $80,$ff,$87,$c3,$f0,$c5               // scrcode: ......
        .text "+gg"
        .byte $80,$ff,$87                           // scrcode: ...
        .text "g"
        .byte $80                                   // scrcode: .
        .byte $ff                                   // scrcode: .
        .text "gg@"
        .byte $e3                                   // scrcode: .
        .text "g$"
        .byte $80,$ff,$fc,$f8,$e4,$f0               // scrcode: ......
        .text "5"
        .byte $f8,$ff                               // scrcode: ..
        .text "g"
        .byte $87,$c0,$87                           // scrcode: ...
        .text "gg"
        .byte $80,$ff,$87,$c3,$f0,$ff,$87           // scrcode: .......
        .text "g"
        .byte $80,$ff,$fe,$fc,$fe,$c5               // scrcode: ......
        .text "$"
        .byte $fe,$fc,$fe                           // scrcode: ...
        .byte $fc,$c4,$22,$fc,$fe,$c6               // scrcode: .."...
        .text "#"
        .byte $80                                   // scrcode: .
        .text "@"
        .byte $80,$c5                               // scrcode: ..
        .text "/"
        .byte $f0,$e0,$c1,$83                       // scrcode: ....
        .text "go"
        .byte $9f,$ff,$f8,$f0,$ff,$f8,$f0,$f0,$f8,$c9 // scrcode: ..........
        .text "#"
        .byte $c1,$c1                               // scrcode: ..
        .text "a"
        .byte $e3,$c1                               // scrcode: ..
        .text ")"
        .byte $e3,$ff,$c1,$83                       // scrcode: ....
        .text "g"
        .byte $83,$c1,$c1                           // scrcode: ...
        .text "c"
        .byte $c5                                   // scrcode: .
        .text "$"
        .byte $c3,$c1                               // scrcode: ..
        .text "c"
        .byte $ff,$e6,$c1                           // scrcode: ...
        .text "!c"
        .byte $c3                                   // scrcode: .
        .text "!g"
        .byte $c3                                   // scrcode: .
        .text "!a"
        .byte $c3                                   // scrcode: .
        .text "!g"
        .byte $c7                                   // scrcode: .
        .text "!c"
        .byte $e3,$c1                               // scrcode: ..
        .text "%c"
        .byte $ff,$c1,$c1                           // scrcode: ...
        .text "a"
        .byte $e3,$c1,$22,$e3,$ff,$e6               // scrcode: .."...
        .text "?"
        .byte $22                                   // scrcode: "
        .text "o"
        .byte $ff,$e3,$c1                           // scrcode: ...
        .text ","
        .byte $c3,$c3,$87,$1f,$ff,$c1,$83           // scrcode: .......
        .text "gc"
        .byte $81,$c1,$e3,$c5                       // scrcode: ....
        .text "#"
        .byte $c3,$c1                               // scrcode: ..
        .text "c"
        .byte $42,$ff,$c1,$c1,$c1,$c1,$c1,$c1,$e3,$c1,$e3,$c1 // scrcode: ............
        .text "!"
        .byte $c3                                   // scrcode: .
        .text "b"
        .byte $c3                                   // scrcode: .
        .byte $87,$1f,$ff,$c4                       // scrcode: ....
        .text "/"
        .byte $c1,$e1,$d1,$c9,$e5,$d3               // scrcode: ......
        .text "i"
        .byte $ff,$c1,$83                           // scrcode: ...
        .text "gc"
        .byte $81,$c1,$e3,$c3                       // scrcode: ....
        .text "&c"
        .byte $81,$c1,$c1                           // scrcode: ...
        .text "c"
        .byte $ff,$e6                               // scrcode: ..
        .text "?"
        .byte $22,$7f,$ff,$e3,$c1,$60               // scrcode: ".....
        .text "!"
        .byte $c3,$c3,$87                           // scrcode: ...
        .byte $1f,$ff,$c1,$c3,$c3,$c7,$cf,$1f,$7f,$ff,$c1,$c1,$41 // scrcode: .............
        .text "a"
        .byte $81,$c1,$e3,$ff,$c1,$83               // scrcode: ......
        .text "g"
        .byte $83,$c1,$c1,$e3,$ff,$c1,$c1           // scrcode: .......
        .text "a"
        .byte $c3                                   // scrcode: .
        .text "b"
        .byte $c3,$87,$1f,$ff,$c2                   // scrcode: .....
        .text "!a"
        .byte $80                                   // scrcode: .
        .text "1"
        .byte $ff                                   // scrcode: .
        .text "'?"
        .byte $7f,$ff,$7f                           // scrcode: ...
        .text "??"
        .byte $7f,$c9                               // scrcode: ..
        .text "("
        .byte $8f,$8f                               // scrcode: ..
        .text "ca"
        .byte $8f,$8f,$9f,$ff,$e4,$63               // scrcode: ......
        .text "%cg"
        .byte $7f,$ff,$7f,$c2                       // scrcode: ....
        .text "$"
        .byte $f3,$e1,$e1,$f3,$d1,$e5,$7f           // scrcode: .......
        .text "#?a"
        .byte $ff                                   // scrcode: .
        .byte $e3,$1f                               // scrcode: ..
        .text "!?b?"
        .byte $7f,$ff,$ff,$c4                       // scrcode: ....
        .text "#aac"
        .byte $e3                                   // scrcode: .
        .text "?!"
        .byte $7f,$c9                               // scrcode: ..
        .text "!c"
        .byte $cf                                   // scrcode: .
        .text "!"
        .byte $7f,$c7,$e3,$c1                       // scrcode: ....
        .text "%"
        .byte $c3,$c3,$87,$1f,$ff,$e6               // scrcode: ......
        .text "?%o"
        .byte $ff,$c3,$87                           // scrcode: ...
        .byte $1f,$c3                               // scrcode: ..
        .text "-a"
        .byte $ff,$c1,$c3                           // scrcode: ...
        .text "g"
        .byte $c3,$c1,$c1                           // scrcode: ...
        .text "c"
        .byte $ff,$c1,$c1                           // scrcode: ...
        .text "a"
        .byte $e3,$c1                               // scrcode: ..
        .text "!"
        .byte $e3,$c3                               // scrcode: ..
        .text "%c"
        .byte $81,$c1,$c1                           // scrcode: ...
        .text "c"
        .byte $c3                                   // scrcode: .
        .text "!c"
        .byte $e3,$c1                               // scrcode: ..
        .text "$c"
        .byte $ff,$1f                               // scrcode: ..
        .text "?"
        .byte $e4,$7f,$c2                           // scrcode: ...
        .text "+"
        .byte $c1,$c3                               // scrcode: ..
        .text "g"
        .byte $c3,$c1,$c1                           // scrcode: ...
        .text "c"
        .byte $ff,$c1,$c1                           // scrcode: ...
        .text "a"
        .byte $e3,$c1                               // scrcode: ..
        .text "!c"
        .byte $42,$ff,$7f                           // scrcode: ...
        .text "?"
        .byte $7f,$ff,$ff,$ff,$ff                   // scrcode: .....
        .text ","
        .byte $ff,$1f                               // scrcode: ..
        .text "og"
        .byte $83,$c1,$e1,$f3,$ff                   // scrcode: .....
        .text "cac"
        .byte $c5                                   // scrcode: .
        .text "!"
        .byte $7f,$c7,$22                           // scrcode: .."
        .text "?"
        .byte $7f,$c2,$22,$7f,$7f,$c2,$60           // scrcode: .."....
        .text " "
        .byte $4c                                   // scrcode: .
        .text " p"
        .byte $4c,$8d                               // scrcode: ..
        .text "pabdo"
        .byte $f1,$85                               // scrcode: ..
        .text "t(fz"
        .encoding "petscii_upper"

txt_e6a4:
        .text "4-PLAYER BY JCH-"
        .encoding "screencode_mixed"
        .byte $e3                                   // scrcode: .
        .text "j"
        .byte $61                                   // scrcode: .
        .text "8"
        .byte $a8,$a2                               // scrcode: ..
        .text "@"
        .byte $b9,$bb                               // scrcode: ..
        .text "v"
        .byte $9d                                   // scrcode: .
        .text "'v"
        .byte $9d                                   // scrcode: .
        .text "-v"
        .byte $b9,$bc                               // scrcode: ..
        .text "v"
        .byte $9d                                   // scrcode: .
        .text "*v"
        .byte $9d                                   // scrcode: .
        .text "0v"
        .byte $c8,$c8,$e8,$e0                       // scrcode: ....
        .text "c"
        .byte $d0,$e7,$b9,$bb                       // scrcode: ....
        .text "v"
        .byte $8d,$b6                               // scrcode: ..
        .text "v"
        .byte $8d,$b7                               // scrcode: ..
        .text "v"
        .byte $ad                                   // scrcode: .
        .text "qp"
        .byte $f0                                   // scrcode: .
        .text "+"
        .byte $a2                                   // scrcode: .
        .text "b"
        .byte $b9,$bc                               // scrcode: ..
        .text "v"
        .byte $8d                                   // scrcode: .
        .text "3v=4v"
        .byte $9d                                   // scrcode: .
        .text "fp"
        .byte $ca                                   // scrcode: .
        .text "p"
        .byte $f1                                   // scrcode: .
        .text ",3vpu"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $b9,$bd                               // scrcode: ..
        .text "v"
        .byte $9d                                   // scrcode: .
        .text "-v"
        .byte $b9,$be                               // scrcode: ..
        .text "v"
        .byte $9d                                   // scrcode: .
        .text "0v"
        .byte $c8,$c8,$e8,$e0                       // scrcode: ....
        .text "c"
        .byte $d0,$ed,$a0                           // scrcode: ...
        .text "@"
        .byte $98,$99                               // scrcode: ..
        .text "@"
        .byte $d4,$99,$43                           // scrcode: ...
        .text "v"
        .byte $c8,$c0,$1b,$d0,$f5,$ad               // scrcode: ......
        .text "ip"
        .byte $8d                                   // scrcode: .
        .text "x"
        .byte $d4,$60,$a5,$fb,$48,$a5,$fc,$48,$a2   // scrcode: .........
        .text "b"
        .byte $ce,$b6                               // scrcode: ..
        .text "vpf"
        .byte $ad,$b7                               // scrcode: ..
        .text "v"
        .byte $8d,$b6                               // scrcode: ..
        .text "v"
        .byte $bd                                   // scrcode: .
        .text "fp"
        .byte $d0                                   // scrcode: .
        .text "c"
        .byte $4c,$5a                               // scrcode: ..
        .text "u"
        .byte $ad,$b6                               // scrcode: ..
        .text "v"
        .byte $d0                                   // scrcode: .
        .text "h"
        .byte $bd,$4c                               // scrcode: ..
        .text "v"
        .byte $f0                                   // scrcode: .
        .text "f"
        .byte $de,$4c                               // scrcode: ..
        .text "v"
        .byte $4c,$67                               // scrcode: ..
        .text "r"
        .byte $bd,$58                               // scrcode: ..
        .text "v"
        .byte $9d,$4c                               // scrcode: ..
        .text "v"
        .byte $bd                                   // scrcode: .
        .text "'v"
        .byte $85,$fb,$bd                           // scrcode: ...
        .text "*v"
        .byte $85,$fc,$a0                           // scrcode: ...
        .text "@"
        .byte $98,$9d,$4f                           // scrcode: ...
        .text "v"
        .byte $b1,$fb                               // scrcode: ..
        .text "pv)"
        .byte $7f                                   // scrcode: .
        .text "j"
        .byte $9d,$43                               // scrcode: ..
        .text "v"
        .byte $fe                                   // scrcode: .
        .text "'v"
        .byte $e6,$fb,$d0                           // scrcode: ...
        .text "e"
        .byte $fe                                   // scrcode: .
        .text "*v"
        .byte $e6,$fc,$a0                           // scrcode: ...
        .text "@"
        .byte $b1                                   // scrcode: .
        .byte $fb,$a8,$b9,$c3                       // scrcode: ....
        .text "x"
        .byte $85,$fb,$b9,$db                       // scrcode: ....
        .text "x"
        .byte $85,$fc,$bc,$46                       // scrcode: ....
        .text "v"
        .byte $b1,$fb                               // scrcode: ..
        .text "0"
        .byte $40,$f0                               // scrcode: ..
        .text "4"
        .byte $c9,$7e,$f0                           // scrcode: ...
        .text "&"
        .byte $9d,$5b                               // scrcode: ..
        .text "vjx"
        .byte $7d,$43                               // scrcode: ..
        .text "v"
        .byte $a8,$b9,$67                           // scrcode: ...
        .text "ux"
        .byte $7d,$b3                               // scrcode: ..
        .text "v"
        .byte $9d,$76                               // scrcode: ..
        .text "v"
        .byte $b9,$68                               // scrcode: ..
        .text "u"
        .byte $69                                   // scrcode: .
        .text "@"
        .byte $9d,$79                               // scrcode: ..
        .text "v"
        .byte $bd,$aa                               // scrcode: ..
        .text "v"
        .byte $f0                                   // scrcode: .
        .text "i"
        .byte $de,$aa                               // scrcode: ..
        .text "v"
        .byte $4c                                   // scrcode: .
        .text ")q"
        .byte $fe,$4f                               // scrcode: ..
        .text "v"
        .byte $a9,$ff,$9d                           // scrcode: ...
        .text "=v"
        .byte $d0,$68,$a9,$fe,$9d                   // scrcode: .....
        .text "=v"
        .byte $fe,$4f                               // scrcode: ..
        .text "v"
        .byte $d0,$5e,$48                           // scrcode: ...
        .text ")"
        .byte $e0,$c9,$80,$d0                       // scrcode: ....
        .text "u"
        .byte $68,$48                               // scrcode: ..
        .text ")p"
        .byte $9d,$4f                               // scrcode: ..
        .text "v"
        .byte $68                                   // scrcode: .
        .text ")o"
        .byte $9d,$4c                               // scrcode: ..
        .text "v"
        .byte $9d,$58                               // scrcode: ..
        .text "v"
        .byte $fe,$46                               // scrcode: ..
        .text "v"
        .byte $d0,$9d,$c9,$a0,$d0                   // scrcode: .....
        .text "l"
        .byte $68,$e3                               // scrcode: ..
        .text "j"
        .byte $60,$ce                               // scrcode: ..
        .byte $9d,$49                               // scrcode: ..
        .text "v"
        .byte $fe,$46                               // scrcode: ..
        .text "v"
        .byte $d0,$8d,$68                           // scrcode: ...
        .text ")?j"
        .byte $a8,$b9,$5b                           // scrcode: ...
        .text "x"
        .byte $9d,$a1                               // scrcode: ..
        .text "v"
        .byte $b9,$5a                               // scrcode: ..
        .text "x"
        .byte $48                                   // scrcode: .
        .text ")"
        .byte $1f,$9d,$a4                           // scrcode: ...
        .text "v"
        .byte $68,$48                               // scrcode: ..
        .text ")"
        .byte $80,$9d,$a7                           // scrcode: ...
        .text "v"
        .byte $a9                                   // scrcode: .
        .text "a"
        .byte $9d,$aa                               // scrcode: ..
        .text "v"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $9d,$ad                               // scrcode: ..
        .text "v"
        .byte $9d,$b0                               // scrcode: ..
        .text "v"
        .byte $68                                   // scrcode: .
        .encoding "petscii_upper"

txt_e825:
        .text ") "
        .byte $d0                                   // 'P' | $80 (end-of-string marker)
        .byte $ce,$fe,$aa,$16,$d0,$c9,$fe,$46,$16,$bc,$46,$16,$b1,$fb,$c9,$7f // .......F..F.....
        .byte $d0,$2d,$a9,$00,$9d,$46,$16,$a8       // .-...F..

spr_e840:
        // === Sprite data (64 bytes, $e840-$e87f) ===
        .byte $bd,$27,$16                           // #.####.#..#..###...#.##.
        .byte $18,$69,$01                           // ...##....##.#..#.......#
        .byte $9d,$27,$16                           // #..###.#..#..###...#.##.
        .byte $85,$fb,$bd                           // #....#.######.###.####.#
        .byte $2a,$16,$69                           // ..#.#.#....#.##..##.#..#
        .byte $00,$9d,$2a                           // ........#..###.#..#.#.#.
        .byte $16,$85,$fc                           // ...#.##.#....#.#######..
        .byte $b1,$fb,$c9                           // #.##...######.####..#..#
        .byte $ff,$d0,$0c                           // ##########.#........##..
        .byte $bd,$2d,$16                           // #.####.#..#.##.#...#.##.
        .byte $9d,$27,$16                           // #..###.#..#..###...#.##.
        .byte $bd,$30,$16                           // #.####.#..##.......#.##.
        .byte $9d,$2a,$16                           // #..###.#..#.#.#....#.##.
        .byte $c9,$fe,$d0                           // ##..#..########.##.#....
        .byte $0e,$a9,$00                           // ....###.#.#.#..#........
        .byte $9d,$06,$10                           // #..###.#.....##....#....
        .byte $bc,$3a,$16                           // #.####....###.#....#.##.
        .byte $99,$04,$d4                           // #..##..#.....#..##.#.#..
        .byte $4c,$5a,$15                           // .#..##...#.##.#....#.#.#
        .byte $bd,$4f,$16                           // #.####.#.#..####...#.##.
        .byte $f0,$03,$4c                           // ####..........##.#..##..
        .byte $67                                   // sprite 0 padding
        .byte $12,$bd,$40,$16,$29,$fe,$bc,$3a,$16,$99,$04,$d4,$bc,$49,$16,$b9 // ..@.)..:.....I..
        .byte $ba,$17,$bc,$3a,$16,$99,$05,$d4,$bc,$49,$16,$b9,$bb,$17,$bc,$3a // ...:.....I.....:
        .byte $16,$99,$06,$d4,$a9,$09,$99,$04,$d4,$bc,$49,$16,$b9,$c1,$17,$9d // ..........I.....
        .byte $9b,$16,$9d,$9e,$16,$b9,$be,$17,$a0,$00,$29,$0f,$f0,$18,$c9,$08 // ..........).....
        .byte $f0,$13,$e4,$0a,$60,$63,$0d,$09,$10,$8d,$18,$d4,$c8,$ad,$0a,$10 // ....`c..........
        .byte $1d,$34,$16,$d0,$07,$c8,$ad,$0a,$10,$3d,$37,$16,$8d,$17,$d4,$8d // .4.......=7.....
        .byte $0a,$10,$c0,$01,$d0,$0f,$bc,$49,$16,$b9,$bf,$17,$8d,$98,$16,$a8 // .......I........
        .byte $a9,$00,$8d,$99,$16,$a9,$02,$9d,$55,$16,$4c,$5a,$15,$bd,$55,$16 // ........U.LZ..U.

spr_e900:
        // === Sprite data (64 bytes, $e900-$e93f) ===
        .byte $c9,$02,$d0                           // ##..#..#......#.##.#....
        .byte $11,$bc,$49                           // ...#...##.####...#..#..#
        .byte $16,$b9,$c0                           // ...#.##.#.###..###......
        .byte $17,$9d,$88                           // ...#.####..###.##...#...
        .byte $16,$a8,$a9                           // ...#.##.#.#.#...#.#.#..#
        .byte $00,$9d,$8b                           // ........#..###.##...#.##
        .byte $16,$f0,$0b                           // ...#.##.####........#.##
        .byte $bd,$8b,$16                           // #.####.##...#.##...#.##.
        .byte $f0,$06,$de                           // ####.........##.##.####.
        .byte $8b,$16,$4c                           // #...#.##...#.##..#..##..
        .byte $d7,$12,$bc                           // ##.#.###...#..#.#.####..
        .byte $88,$16,$b9                           // #...#......#.##.#.###..#
        .byte $9e,$17,$48                           // #..####....#.###.#..#...
        .byte $29,$f0,$e4                           // ..#.#..#####....###..#..
        .byte $4a,$60,$9e                           // .#..#.#..##.....#..####.
        .byte $9d,$7c,$16                           // #..###.#.#####.....#.##.
        .byte $68,$29,$0f                           // .##.#.....#.#..#....####
        .byte $9d,$7f,$16                           // #..###.#.#######...#.##.
        .byte $b9,$9f,$17                           // #.###..##..#####...#.###
        .byte $9d,$82,$16                           // #..###.##.....#....#.##.
        .byte $b9,$a0,$17                           // #.###..##.#........#.###
        .byte $8d                                   // sprite 0 padding
        .byte $33,$16,$29,$3f,$0a,$9d,$8b,$16,$2c,$33,$16,$10,$14,$b9,$a1,$17 // 3.)?....,3......
        .byte $48,$29,$f0,$9d,$8e,$16,$68,$29,$0f,$9d,$91,$16,$a9,$00,$9d,$85 // H)....h)........
        .byte $16,$2c,$33,$16,$70,$07,$98,$18,$69,$04,$9d,$88,$16,$bd,$85,$16 // .,3.p...i.......
        .byte $d0,$19,$bd,$8e,$16,$18,$7d,$82,$16,$9d,$8e,$16,$bd,$91,$16,$69 // ......}........i
        .byte $00,$9d,$91,$16,$dd,$7f,$16,$d0,$21,$f0,$17,$bd,$8e,$16,$38,$fd // ........!.....8.
        .byte $82,$16,$9d,$8e,$16,$bd,$91,$16,$e9,$00,$9d,$91,$16,$dd,$7c,$16 // ..............|.
        .byte $d0,$08,$bd,$85,$16,$49,$01,$9d,$85,$16,$e0,$00,$f0,$03,$4c,$b2 // .....I........L.
        .byte $13,$ad,$99,$16,$f0,$06,$ce,$99,$16,$4c,$85,$13,$ac,$98,$16,$b9 // .........L......
        .byte $7b,$17,$48,$29,$f0,$8d,$94,$16,$68,$29,$0f,$e4,$0a,$60,$2e,$8d // {.H)....h)...`..
        .byte $95,$16,$b9,$7c,$17,$8d,$96,$16,$b9,$7d,$17,$8d,$33,$16,$29,$3f // ...|.....}..3.)?
        .byte $0a,$8d,$99,$16,$2c,$33,$16,$10,$26,$ad,$0a,$10,$29,$0f,$8d,$33 // ....,3..&...)..3
        .byte $16,$b9,$7e,$17,$48,$29,$f0,$8d,$9a,$16,$68,$29,$0f,$e4,$0a,$61 // ..~.H)....h)...a
        .byte $08,$0d,$33,$16,$8d,$0a,$10,$8d,$17,$d4,$a9,$00,$8d,$97,$16,$2c // ..3............,
        .byte $33,$16,$70,$07,$98,$18,$69,$04,$8d,$98,$16,$ad,$97,$16,$d0,$11 // 3.p...i.........
        .byte $ad,$9a,$16,$18,$6d,$96,$16,$8d,$9a,$16,$cd,$95,$16,$90,$19,$b0 // ....m...........
        .byte $0f                                   // .

// --- Region $ebfe-$ec27 ---
.pc = $ebfe "Segment $ebfe"
        .byte $01,$27,$01,$38,$01,$4b,$01,$5f,$01,$73,$01,$8a,$01,$a1,$01,$ba // .'.8.K._.s......
        .byte $01,$d4,$01,$f0,$01,$0e,$02,$2d,$02,$4e,$02,$71,$02,$96,$02,$bd // .......-.N.q....
        .byte $02,$e7,$02,$13,$03,$42,$03,$74,$03,$a9 // .....B.t..

// --- Region $ec2e-$eca0 ---
.pc = $ec2e "Segment $ec2e"
        .byte $04,$9b,$04,$e2,$04,$2c,$05,$7b,$05,$ce,$05,$27,$06,$85,$06,$e8 // .....,.{...'....
        .byte $06,$51,$07,$c1,$07,$37,$08,$b4,$08,$37,$09,$c4,$09,$57,$0a,$f5 // .Q...7...7...W..
        .byte $0a,$9c,$0b,$4e,$0c,$09,$0d,$d0,$0d,$a3,$0e,$82,$0f,$6e,$10,$68 // ...N.........n.h
        .byte $11,$6e,$12,$88,$13,$af,$14,$eb,$15,$39,$17,$9c,$18,$13,$1a,$a1 // .n.......9......
        .byte $1b,$46,$1d,$04,$1f,$dc,$20,$d0,$22,$dc,$24,$10,$27,$5e,$29,$d6 // .F.... .".$.'^).
        .byte $2b,$72                               // +r

txt_ec80:
        .text ".81&4B7"
        .byte $8c,$3a,$08,$3e,$b8,$41,$a0,$45,$b8   // .:.>.A.E.

txt_ec90:
        .text "I N"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $52,$ac,$57,$e4,$5c,$70,$62,$4c,$68,$84,$6e,$18,$75 // R.W.\pbLh.n.u

// --- Region $eca6-$ed1e ---
.pc = $eca6 "dat_eca6"

dat_eca6:
        .byte $8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98,$d0,$08 // .p.@.x.X........
        .byte $dd,$30,$ea,$20,$f8,$2e,$fd,$84,$a1,$be,$e3,$18,$23,$71,$8e,$ab // .0. ........#q..
        .byte $e3,$18,$30,$00,$01,$02,$04,$fe,$fd,$fb,$00,$07,$0e,$ff,$fe,$fe // ..0.............
        .byte $41,$21,$11,$e3,$18,$2c,$03,$05,$05,$18,$10,$40,$04,$05,$01,$00 // A!...,.....@....
        .byte $01,$01,$a6,$26,$06,$06,$02,$13       // ...&....

txt_ecee:
        .text "'7"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $21,$01,$a2,$21,$02,$a2,$21,$1e,$a2   // !..!..!..

txt_ecfa:
        .text "!0"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $21,$03,$a6,$27,$85,$b0,$28,$06,$14,$34,$01,$a2,$26,$0b,$02,$02 // !..'..(..4..&...

txt_ed0d:
        .text "#CC"
        .byte $a3                                   // '#' | $80 (end-of-string marker)
        .byte $21,$08,$a2,$39,$06,$74,$74,$91,$e1,$e1,$03,$07,$07,$10 // !..9.tt.......

// --- Region $ed22-$f015 ---
.pc = $ed22 "dat_ed22"

dat_ed22:
        .byte $04,$00,$07,$1d,$0c,$3f,$1b,$09,$3c,$1c // .....?..<.

txt_ed2c:
        .text "0U"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $3c,$c4,$50                           // <.P

loc_ed32:
        .byte $53,$00,$01,$02,$00,$01,$02,$01,$03,$fc,$3c,$01,$6c,$18,$89,$18 // S.........<.l...
        .byte $a6,$18,$03,$87,$71,$18,$8e,$18,$ab,$18,$c2,$a2,$30,$04,$04,$07 // ....q.......0...
        .byte $07,$0b,$0b,$7f,$02,$02,$04,$04,$07,$07,$0b,$0b,$7f,$a2,$3b,$03 // ..............;.
        .byte $03,$07,$07,$0b,$0b,$7f,$df,$00,$7f,$da,$af,$ad,$c2,$a9,$c2,$aa // ................
        .byte $c2,$7f,$da,$a6,$a4,$a2,$a0,$87,$7f,$df,$e5,$0c,$a5,$23,$7f,$00 // .............#..
        .byte $7f,$a3,$39,$7f,$df,$00,$7f,$00,$7f,$cf,$ae,$ac,$cf,$aa,$cf,$7f // ..9.............
        .byte $da,$ae,$ac,$c2,$c2,$aa,$c2,$7f,$00,$7f,$00,$7f,$e8,$21,$a1,$e8 // .............!..
        .byte $21,$a1,$e8,$21,$2f,$00,$81,$41,$01,$81,$41,$40,$80,$40,$80,$40 // !..!/..A..A@.@.@
        .byte $80,$07,$81,$41,$e3,$40,$23,$11,$05,$81,$ea,$41,$60,$3e,$01,$41 // ...A.@#....A`>.A
        .byte $00,$41,$41,$11,$02,$81,$11,$01,$17,$00,$81,$41,$40,$80,$40,$80 // .AA........A@.@.
        .byte $03,$81,$41,$40,$80,$80,$40,$80,$03,$21,$00,$41,$00,$15,$11,$85 // ..A@..@..!.A....
        .byte $af,$1a,$00,$4f,$00,$15,$01,$85,$af,$1a,$00,$4f,$00,$15,$04,$85 // ...O.......O....
        .byte $cf,$1a,$00,$4f,$00,$15,$01,$85,$1f,$1a,$00,$4f,$a4,$2b,$02,$43 // ...O.......O.+.C
        .byte $ff,$05,$1b,$23,$88,$12,$1b           // ...#...

txt_ee09:
        .text "CO"
        .byte $a3                                   // '#' | $80 (end-of-string marker)
        .byte $2a,$ff,$08,$08,$13,$88,$06,$08,$13,$4f,$06,$a4,$22,$04,$49,$a6 // *........O..".I.
        .byte $22,$04,$49,$a5,$23,$09,$06,$89,$a5,$23,$09,$08,$a2,$a2,$26,$01 // ".I.#....#....&.
        .byte $00,$04,$1b,$08,$08,$a2,$26,$01,$08,$0c,$45,$08,$08,$a3,$2f,$08 // ......&...E.../.
        .byte $0c,$1e,$08,$a2,$02,$23,$11,$00,$04,$1b,$04,$82,$04,$24,$e3,$10 // .....#.......$..
        .byte $2b,$56,$28,$89,$32,$2f,$00,$10,$00,$3c,$0e,$e2,$a2,$28,$01,$00 // +V(.2/...<...(..
        .byte $04,$2e,$08,$82,$00,$26,$e3,$10,$26,$3a,$08,$08,$21,$20,$10,$a2 // .....&..&:..! ..
        .byte $23,$40,$06,$a9,$a7                   // #@...

txt_ee71:
        .text "!)"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $23,$43,$06,$a8,$a5,$23,$09,$08,$08,$a2,$26,$01,$08,$0c,$27,$08 // #C...#....&...'.
        .byte $09,$a2,$26,$01,$08,$0c,$45,$08,$09,$a2,$2c,$01,$08,$0c,$4c,$04 // ..&...E...,...L.
        .byte $84,$04,$24,$10,$00,$10,$56,$a9,$2f,$70,$00,$30,$00,$1c,$80,$02 // ..$...V./p.0....
        .byte $00                                   // .

txt_eea5:
        .byte $40                                   // @ character
        .text " "
        .byte $40                                   // @ character
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $20,$00,$55,$a2,$28,$8c,$16,$17,$16,$17,$8c,$01,$8c,$02,$02,$01 //  .U.(...........
        .byte $03,$01,$23,$02,$01,$12,$02,$01,$02,$01,$03,$2a,$12,$ff,$8c,$04 // ..#........*....
        .byte $05,$04,$05,$8c,$04,$8c,$02,$05,$04,$05,$04,$23,$05,$04,$13,$02 // ...........#....
        .byte $0c,$0d,$0c,$0d,$23,$13,$ff,$8c,$e4,$11,$23,$8c,$11,$8c,$e3,$11 // ....#.....#.....
        .byte $28,$06,$07,$15,$08,$06,$07,$15,$14,$02,$09,$0a,$09,$0a,$3c,$14 // (.............<.
        .byte $ff,$f3,$f6,$19,$3b,$5b,$66,$70,$83,$a6,$c8,$ed,$13,$2c,$3f,$51 // ....;[fp.....,?Q
        .byte $72,$9b,$9f,$a8,$c0,$d1,$f0,$06,$19,$18,$18,$e9,$19,$eb,$1a,$60 // r..............`
        .byte $dd,$1b,$1b,$80,$00,$7f,$a3,$86,$0e,$80,$00,$a4,$10,$00,$a3,$82 // ................
        .byte $09,$80,$00,$84,$0a,$80,$00,$82,$11,$80,$00,$a4,$11,$a3,$00,$c2 // ................
        .byte $81,$14,$90,$16,$80,$00,$15,$00,$7f,$a3,$86,$13,$80,$00,$a4,$10 // ................
        .byte $00,$a3,$82,$11,$80,$00,$82,$10,$80,$00,$09,$00,$82,$0d,$80,$00 // ................
        .byte $a4,$11,$00,$a3,$11,$00,$82,$10,$80,$00,$7f,$a3,$86,$13,$80,$00 // ................
        .byte $a4,$10,$00,$a3,$82,$14,$80,$00,$82,$15,$80,$00,$09,$00,$82,$0d // ................
        .byte $80,$00,$a4,$11,$00,$a6,$84,$11,$80,$00,$7f,$a1,$8e,$2e,$80,$00 // ................
        .byte $a0,$8e,$2e,$80,$00,$7f,$a1,$8e,$27,$80,$00,$8e,$29,$80,$00,$7f // ........'...)...
        .byte $a7,$86,$29,$80,$00,$28,$82,$00,$80,$29,$00,$8c,$26,$80,$00,$29 // ..)..(...)..&..)
        .byte $82,$00,$7f,$c1,$80,$28,$a7,$7e,$90,$29,$80,$7e,$81,$00,$80,$28 // .....(.~.).~...(
        .byte $82,$00,$80,$26,$82,$00,$88,$28,$80,$00,$c0,$81,$29,$90,$2b,$80 // ...&...(....).+.
        .byte $00,$29,$00,$28,$00,$7f,$c0,$80,$2b,$a7,$7e,$90,$2d,$80,$7e,$81 // .).(....+.~.-.~.
        .byte $00,$80,$32,$82,$00,$80,$33,$82,$00,$aa,$88,$34,$80,$00,$a7,$28 // ..2...3....4...(
        .byte $00,$29,$00,$28,$00,$24,$00,$7f,$a8,$80,$26,$00,$2d,$00,$02,$32 // .).(.$....&.-..2
        .byte $82,$00,$80,$60,$57,$26,$00,$35,$82,$00,$b2,$80,$34,$00,$32,$82 // ...`W&.5....4.2.
        .byte $00,$c7,$81,$2f,$90,$30,$80,$00,$32,$82,$00,$7f,$a8 // .../.0..2....

// --- Region $f01a-$f0a0 ---
.pc = $f01a "dat_f01a"

dat_f01a:
        .byte $80,$35,$00,$37,$82,$00,$80,$38,$82,$00,$a8,$80,$39,$82,$00,$b2 // .5.7...8....9...
        .byte $80,$39,$00,$35,$00,$32,$00,$34,$00,$35,$00,$34,$00,$30,$a8,$00 // .9.5.2.4.5.4.0..
        .byte $7f,$a7,$8a,$29,$80,$00,$28,$82,$00,$80,$29,$82,$00,$80,$28,$00 // ...)..(...)...(.
        .byte $c4,$81,$28,$90,$29,$85,$7e,$80,$00,$7f,$a2,$02,$80,$2e,$86,$00 // ..(.).~.........
        .byte $21,$ac,$02,$80,$2e,$86,$00,$22,$7f,$a2,$02,$80,$27,$86,$00,$60 // !......"....'..`
        .byte $54,$80,$29,$86,$00,$80,$29,$86,$00,$7f,$a7,$86,$29,$80,$00,$82 // T.)...).....)...
        .byte $28,$80,$00,$29,$82,$00,$80,$28,$82,$00,$80,$24,$00,$c4,$81,$24 // (..)...(...$...$
        .byte $90,$26,$81,$7e,$80,$00,$82,$24,$80,$00,$7f,$a7,$80,$2b,$00,$29 // .&.~...$.....+.)
        .byte $00,$26,$00,$c0,$81,$29,$90           // .&...).

// --- Region $f0a9-$f1a1 ---
.pc = $f0a9 "dat_f0a9"

dat_f0a9:
        .byte $80,$28,$82,$00,$80,$24,$00,$c4,$81,$24,$90,$26,$81,$7e,$80,$00 // .(...$...$.&.~..
        .byte $82,$24,$80,$00,$7f,$8f,$a2,$60,$92,$7f,$ad,$80,$2e,$c5,$8f,$7e // .$.....`.......~
        .byte $8e,$7e,$7f,$a3,$86,$13,$80,$00,$a4,$10,$00,$a3,$82,$14,$00,$80 // .~..............
        .byte $15,$00,$15,$00,$15,$00,$82,$15,$86,$00,$7f,$a1,$8e,$27,$80,$00 // .............'..
        .byte $ae,$29,$00,$29,$00,$29,$00,$a1,$84,$29,$00,$7f,$c0,$80,$2b,$a7 // .).).)...)....+.
        .byte $7e,$90,$2d,$80,$7e,$81,$00,$80,$32,$82,$00,$80,$33,$84,$00,$a5 // ~.-.~...2...3...
        .byte $80,$34,$00,$34,$00,$34,$00,$34,$88,$00,$7f,$a7,$86,$29,$80,$00 // .4.4.4.4.....)..
        .byte $28,$82,$00,$80,$29,$00,$8c,$26,$80,$00,$29,$81,$00,$a8,$80,$00 // (...)..&..).....
        .byte $7f,$af,$80,$29,$8a,$00,$80,$29,$82,$00,$80,$29,$86,$00,$b0,$80 // ...)...)...)....
        .byte $26,$86,$00,$7f,$af,$80,$29,$8a,$00,$80,$29,$82,$00,$80,$29,$86 // &.....)...)...).
        .byte $00,$80,$26,$82,$00,$80,$28,$00,$26,$00,$7f,$84,$d0,$00,$21,$05 // ..&...(.&.....!.
        .byte $e7,$04                               // ..

txt_f15b:
        .text "!U"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .text "*"
        .byte $40                                   // @ character
        .text "BJ"
        .byte $68,$60,$60
        .byte $40,$40,$15,$90,$e4,$10
        .byte $24,$1a,$18
        .byte $55,$09,$e4,$01,$34,$a1,$29,$00,$80,$a0,$28,$08,$0a,$02,$02,$00 // U...4.)...(.....
        .byte $02,$0a                               // ..

txt_f180:
        .text "( "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $80,$80,$2a,$a0,$a4,$24,$0a,$28,$a8,$0a,$a3,$2d,$01,$a1,$29,$00 // ..*..$.(...-..).
        .byte $85,$94,$58,$48,$4a,$02,$02,$55,$42,$e4,$02,$23,$15,$52,$55 // ..XHJ..UB..#.RU

// --- Region $f1b8-$f1f6 ---
.pc = $f1b8 "dat_f1b8"

dat_f1b8:
        .byte $0a,$08                               // ..

txt_f1ba:
        .text "UJ"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $33,$95,$58,$50,$95,$a1,$28,$08,$0a,$42,$52,$02,$02,$42,$52,$12 // 3.XP..(..BR..BR.
        .byte $16,$06,$06,$aa,$a4,$e3,$01,$28,$aa,$05,$14 // .......(...

txt_f1d8:
        .text "P"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "* "
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $30,$40,$50,$10,$16,$06,$06,$05,$06,$24,$a4,$84,$84,$05,$00,$55 // 0@P......$.....U
        .byte $80,$a4                               // ..

txt_f1f0:
        .text "%U"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $55,$2a,$02,$a3                       // U*..

// --- Region $f1fa-$f384 ---
.pc = $f1fa "dat_f1fa"

dat_f1fa:
        .byte $55,$00,$80,$a0,$20,$28,$05,$04,$55,$e5,$08,$23,$55,$08,$6a,$e4 // U... (..U..#U.j.
        .byte $40                                   // @ character
        .text ".AA"
        .byte $01,$aa,$05,$14

txt_f212:
        .text "P"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $80,$55,$6a,$02,$a3,$33,$95,$50,$50,$15,$81,$a0 // .Uj..3.PP...

txt_f222:
        .text " (HX"
        .byte $0a,$08,$48,$58,$18,$14,$04,$04,$a5,$e7,$04,$a8,$21,$55,$e7,$80 // ..HX........!U..
        .byte $21,$55,$e5,$20,$25,$55,$60,$5a,$15,$01,$e3,$02 // !U. %U`Z....

txt_f242:
        .byte $22                                   // double quote character
        .text "BR"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $24,$40,$50,$10,$14,$e7,$04,$23,$05,$01,$01,$e8,$02,$e5,$40,$21 // $@P....#......@!
        .byte $50,$e7,$10,$e3,$18,$e6,$09,$23,$05,$04,$02,$a4,$21,$aa,$a2,$e6 // P......#....!...
        .byte $82,$23,$02,$02,$80,$a7,$e5,$20,$24,$28,$08,$08,$02,$a7,$e5,$42 // .#..... $(.....B
        .byte $26,$52,$12,$12,$10,$10,$15,$a5       // &R......

txt_f27e:
        .text ")!!U  ("
        .byte $08,$08,$25,$e7,$24,$e5,$08,$23,$0a,$02,$02,$e5,$48,$24,$58,$18 // ..%.$..#....H$X.
        .byte $18,$12,$e7,$10,$21,$85,$e4,$81,$24,$a1,$22,$22,$05,$e4,$04,$e3 // ....!...$.""....
        .byte $44,$21,$12,$e4,$10,$24,$15,$00,$02,$85,$e4,$89,$23,$55,$88,$88 // D!...$......#U..
        .byte $e5,$80,$23,$a0,$20,$20,$e8,$60,$e5,$06,$23,$05,$01,$01,$e5,$08 // ..#.  .`..#.....
        .byte $e3,$88,$e5,$60,$24,$50,$10,$10,$1a,$e5,$12,$23,$10,$10,$05,$e4 // ...`$P.....#....
        .byte $09,$23,$89,$88,$8a,$e5,$04,$e3,$44,$e6,$12,$23,$10,$10,$05,$e4 // .#......D..#....
        .byte $01
        .byte $24,$81,$85,$84,$01,$a7
        .text "*BBR"
        .byte $16,$05,$16
        .byte $52,$42
        .byte $14,$05,$a5,$33,$05,$58,$48,$08,$08,$09,$08,$08,$48,$04,$14,$10 // ...3.XH.....H...
        .byte $50,$40,$50,$14,$04,$00,$05,$e5,$04,$23,$05,$02,$55,$e5,$02,$23 // P@P......#..U..#
        .byte $55,$00,$55,$a5,$23,$55,$08,$55,$e5,$08,$22,$55,$04,$e7,$44,$22 // U.U.#U.U.."U..D"
        .byte $12,$15,$e5,$22,$23,$15,$00,$50,$e5,$10,$21,$50,$e8,$08,$e8,$24 // ..."#..P..!P...$
        .byte $22,$18,$15,$e5,$08,$23,$15,$10,$50,$a5,$21,$50,$e8,$22,$e8,$44 // "....#..P.!P.".D
        .byte $22,$08,$0a,$a5,$23,$0a,$18,$90,$e4,$10,$2c,$1a,$98,$02,$02,$0a // "...#.....,.....
        .byte $08,$28,$a0,$80,$00                   // .(...

txt_f35a:
        .text " *"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $23,$2a,$60,$60,$e5,$40,$21,$60,$e8,$01,$e8,$88,$e8,$04,$e8,$20 // #*``.@!`....... 
        .byte $e8,$10,$e3,$82,$e5,$80,$e4,$44,$26,$64,$64,$46,$44,$28,$0a,$a4 // .......D&ddFD(..
        .byte $24,$80,$aa,$10,$95,$a5,$23,$95       // $.....#.

// --- Region $f392-$f3c6 ---
.pc = $f392 "dat_f392"

dat_f392:
        .byte $50,$94,$84,$e3,$01,$21,$05,$e4,$04,$21,$42,$e7,$02,$21,$14,$e7 // P....!...!B..!..
        .byte $10,$21,$58,$e7,$18,$21,$05,$e3,$01,$a3,$21,$0a,$a3,$e4,$40,$21 // .!X..!....!...@!
        .byte $6a,$e7,$02,$21,$a2,$e8,$12,$e8,$18,$a7,$21,$15,$e7,$08 // j..!......!...

txt_f3c0:
        .text "!U"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $21,$40,$e7,$80                       // !@..

// --- Region $f3e2-$f679 ---
.pc = $f3e2 "dat_f3e2"

dat_f3e2:
        .byte $e7                                   // .

txt_f3e3:
        .byte $22                                   // double quote character
        .text "!"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $a7,$21,$80,$e7,$12,$21,$92,$e7,$44,$21,$45,$e7,$08,$21,$09,$e7 // .!...!..D!E..!..
        .byte $04,$21,$05,$e7,$88,$21,$89,$e7,$10,$21 // .!...!...!

spr_f400:
        // === Sprite data (64 bytes, $f400-$f43f) ===
        .byte $12,$e8,$80                           // ...#..#.###.#...#.......
        .byte $a7,$21,$55                           // #.#..###..#....#.#.#.#.#
        .byte $e3,$90,$27                           // ###...###..#......#..###
        .byte $10,$18,$1a                           // ...#.......##......##.#.
        .byte $12,$50,$1a                           // ...#..#..#.#.......##.#.
        .byte $12,$e4,$10                           // ...#..#.###..#.....#....
        .byte $24,$90,$15                           // ..#..#..#..#.......#.#.#
        .byte $28,$a0,$a4                           // ..#.#...#.#.....#.#..#..
        .byte $2a,$02

txt_f41a:
        .byte $55
        .byte $40,$40,$42                           // .#.......#.......#....#.
        .byte $42,$4a,$68                           // .#....#..#..#.#..##.#...
        .byte $60,$40,$e3                           // .##......#......###...##
        .byte $80,$a5,$2a                           // #.......#.#..#.#..#.#.#.
        .byte $80,$80,$a0                           // #.......#.......#.#.....
        .byte $20,$28,$0a                           // ..#.......#.#.......#.#.
        .byte $02,$00,$0a                           // ......#.............#.#.
        .byte $02,$a4,$24                           // ......#.#.#..#....#..#..
        .byte $a0

txt_f434:
        .byte $2a,$24
        .byte $a4,$e4,$04                           // #.#..#..###..#.......#..
        .byte $22,$06,$a5                           // ..#...#......##.#.#..#.#
        .byte $a2,$26,$02                           // #.#...#...#..##.......#.
        .byte $02                                   // sprite 0 padding
        .byte $0a,$28,$a0                           // ....#.#...#.#...#.#.....
        .byte $55,$e3,$92                           // .#.#.#.####...###..#..#.
        .byte $e4,$12

txt_f448:
        .text "!R"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $21,$aa,$e7,$08,$21,$a8,$e7,$24,$21,$25,$e7,$02,$21,$55,$e7,$18 // !...!..$!%..!U..
        .byte $21,$5a,$e7,$10,$21,$95,$e7,$22,$21,$55,$e3,$41,$e4,$40,$2b,$6a // !Z..!.."!U.A.@+j
        .byte $08,$08,$48,$48,$58,$14,$05,$a8,$14,$05,$a4 // ..HHX......

txt_f476:
        .text "$"
        .byte $40                                   // @ character
        .text "UP"
        .byte $40                                   // @ character
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $2a,$05,$54,$09,$09,$05,$04,$14,$58,$48,$0a,$e7 // *.T.....XH..

txt_f488:
        .text " !"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $e7,$60,$21,$55,$e7,$01,$21,$55,$e7,$88,$21,$8a,$e3,$01,$a4,$2b // .`!U..!U..!....+
        .byte $aa,$20,$20,$60,$60,$50,$14,$25,$a0,$14,$25,$e4,$20,$24,$60 // .  ``P.%..%. $`

txt_f4aa:
        .text "UP"
        .byte $40                                   // @ character
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $34,$05,$56,$81,$81,$85,$84,$94,$50,$40,$80,$04,$04,$84,$84,$a4 // 4.V.....P@......
        .byte $24,$06,$05,$28,$0a,$a4,$24,$80,$55,$90,$90,$e4,$10,$34,$1a,$58 // $..(..$.U....4.X
        .byte $12,$12,$1a,$18,$18,$90,$90,$15,$40,$42,$4a,$68,$60,$a0,$80,$80 // ........@BJh`...
        .byte $2a,$a0,$e4,$10,$24,$1a,$28,$a9,$0a,$e4,$01,$2c,$a1,$29,$00,$85 // *...$.(....,.)..
        .byte $a4,$68,$48,$4a,$02,$02,$56,$42,$e4,$02,$23,$16,$52,$aa,$a5,$23 // .hHJ..VB..#.R..#
        .byte $50,$10,$aa,$e5,$01                   // P....

txt_f503:
        .text "$*!"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $4a,$a4,$2c,$a5,$68,$05,$0a,$28,$a4,$84,$84,$05,$00,$aa,$80,$a4 // J.,.h..(........
        .byte $25,$6a,$a0,$a5,$2a,$02,$a3,$2b,$80,$a0,$55,$00,$80,$a0,$20,$28 // %j..*..+..U... (
        .byte $09,$08
        .byte $5a,$e5,$08
        .byte $23,$59,$08,$aa,$e4
        .byte $40                                   // @ character
        .text "&AA"
        .byte $01,$a5
        .byte $6a,$02,$a3,$2b,$95,$a0,$0a,$08,$48,$58,$18,$18,$08,$08,$aa,$e7 // j..+....HX......
        .byte $04,$21,$95,$e7,$80,$21,$6a,$e5,$20,$24,$65,$60,$aa,$16,$e4,$02 // .!...!j. $e`....
        .byte $23,$42,$52,$80,$e4,$40,$23,$50,$10,$10,$e5,$20,$23,$28,$18,$18 // #BR..@#P... #(..
        .byte $e5,$09,$24,$0a,$05,$04,$09,$e7,$08,$e5,$82,$2c,$a2,$22,$22,$21 // ..$........,.""!
        .byte $21,$65,$20,$20,$28,$08,$08,$86,$e4,$82,$24,$a2,$22,$22,$8a,$e4 // !e  (.....$.""..
        .byte $89,$24,$99,$88,$88,$0a,$e5,$06,$22,$01,$01,$e6,$60,$22,$20,$20 // .$......"...`"  
        .byte $e5,$09,$2d,$89,$88,$8a,$42,$42,$52,$16,$06,$16,$52,$42,$02,$56 // ..-...BBR...RB.V
        .byte $e5,$02
        .byte $23,$56,$08
        .byte $59,$e5,$08
        .byte $22,$59,$08,$e7
        .text "H"
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .text "&"
        .byte $e5,$22,$23,$26,$18,$19,$e5,$08,$23,$19,$28,$a0,$e4,$10,$24,$1a // ."#&....#.(...$.
        .byte $a8,$60,$a0,$e5                       // .`..

txt_f5cb:
        .byte $40                                   // @ character
        .text "+"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $44,$44,$84,$84,$a4,$68               // DD...h

txt_f5d4:
        .text "JD "
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $a5,$29,$a5,$84,$94,$90,$90,$80,$90,$94,$84,$a3,$e4 // .)...........

txt_f5e5:
        .byte $40                                   // @ character
        .text "!"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $e7,$08,$21,$59,$e7                   // ..!Y.

txt_f5ed:
        .text "D+"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $90,$90,$a0,$20,$28,$1a,$12,$50,$1a,$12,$e4,$10,$24,$a0 // ... (..P....$.

txt_f5fe:
        .text "*("
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $a4
        .byte $2c,$02,$aa
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "BBJ"
        .byte $68,$a0

txt_f60c:
        .byte $40                                   // @ character
        .text "("
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $e4,$04,$22,$06,$aa,$e7,$24,$21,$2a,$e7,$02,$21,$aa,$e7,$10,$21 // .."...$!*..!...!
        .byte $aa,$e7                               // ..

txt_f621:
        .byte $22                                   // double quote character
        .text "!"
        .byte $a6                                   // '&' | $80 (end-of-string marker)
        .byte $e3,$41,$e4                           // .A.

txt_f627:
        .byte $40                                   // @ character
        .text ")"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $08,$08,$48,$48,$58,$18,$09,$a8,$e3,$09,$25,$08,$18,$58,$48,$0a // ..HHX.....%..XH.
        .byte $e7,$60,$21,$6a,$e7,$01,$23,$aa,$20,$20,$e3,$60 // .`!j..#.  .`

txt_f646:
        .text "%$%"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $24,$25,$e4,$20,$24,$60,$6a           // $%. $`j

txt_f651:
        .text "P"
        .byte $40                                   // @ character
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $34,$05,$aa,$82,$82,$86,$84,$94,$90,$80,$80,$04,$04,$84,$84,$a4 // 4...............
        .byte $28,$0a,$05,$a0,$90,$e4,$10,$2a,$1a,$a8,$12,$12,$1a,$18,$28,$a0 // (......*......(.
        .byte $90,$15,$80,$b8,$00,$60               // .....`

// --- Region $f6ab-$f6e8 ---
.pc = $f6ab "dat_f6ab"

dat_f6ab:
        .byte $20,$df,$29,$78,$a2,$60,$a0,$28,$8e,$14,$03,$8c,$15,$03,$a2,$00 //  .)x.`.(........
        .byte $8e,$0e,$dc,$e8,$8e,$1a,$d0,$a9,$00,$8d,$20,$d0,$8d,$21,$d0,$a9 // .......... ..!..
        .byte $1b,$8d,$11,$d0,$a9,$03,$8d,$00,$dd,$20,$53,$e4,$58,$4c,$5d,$28 // ......... S.XL](
        .byte $ee,$19,$d0,$a9,$3b,$8d,$12,$d0,$e4,$ea,$2f,$a9,$03,$8d // ....;...../...

// --- Region $f7de-$fc09 ---
.pc = $f7de "dat_f7de"

dat_f7de:
        .byte $ee,$19,$d0,$a9,$39,$8d,$12,$d0,$a9,$08,$8d,$16,$d0,$a9,$12,$8d // ....9...........
        .byte $18,$d0,$02,$24,$00,$24,$00,$31,$24,$00,$a9,$00,$8d,$20,$d0,$a2 // ...$.$.1$.... ..
        .byte $08,$ca                               // ..

scr_f800:
        // === Screen RAM (1024 bytes, $f800-$fbff) ===
        .encoding "screencode_mixed"
        .byte $d0,$fd,$a9                           // scrcode: ...
        .text "@"
        .byte $8d                                   // scrcode: .
        .text " "
        .byte $d0,$e3,$ea,$60,$c8                   // scrcode: .....
        .text "$@"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d                                   // scrcode: .
        .text " "
        .byte $d0,$a2,$41,$ca,$d0,$fd,$a9           // scrcode: .......
        .text "u"
        .byte $8d                                   // scrcode: .
        .text "x"
        .byte $d0                                   // scrcode: .
        .text " "
        .byte $a1                                   // scrcode: .
        .encoding "petscii_upper"

txt_f81e:
        .text "- "
        .byte $bd                                   // '=' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text ")"
        .byte $a9,$60,$8d                           // scrcode: ...
        .text "tc"
        .byte $a9                                   // scrcode: .
        .text "("
        .byte $8d                                   // scrcode: .
        .text "uc"
        .byte $ad                                   // scrcode: .
        .text "a"
        .byte $dc,$c9,$ef,$f0,$22,$4c,$81,$ea,$ee,$4e // scrcode: ....".....
        .text "c"
        .byte $ad,$4e                               // scrcode: ..
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "c"
        .byte $d0                                   // scrcode: .
        .text "t"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d,$4e                               // scrcode: ..
        .text "c"
        .byte $ee,$de                               // scrcode: ..
        .text "("
        .byte $ad                                   // scrcode: .
        .byte $de                                   // scrcode: .
        .text "("
        .byte $c9,$b0,$d0                           // scrcode: ...
        .text "e"
        .byte $a9,$a0,$8d,$de                       // scrcode: ....
        .text "("
        .byte $60,$4c,$d5                           // scrcode: ...
        .text "-"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d,$86                               // scrcode: ..
        .text "b"
        .byte $a9,$93                               // scrcode: ..
        .text " "
        .byte $d2,$ff,$a9                           // scrcode: ...
        .text "@ @p "
        .byte $8b                                   // scrcode: .
        .text "*"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $a9,$64,$9d                           // scrcode: ...
        .text "@d"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $9d,$40                               // scrcode: ..
        .text "c"
        .byte $9d,$70                               // scrcode: ..
        .text "g"
        .byte $e8,$e0                               // scrcode: ..
        .text "("
        .byte $d0,$ee,$a2                           // scrcode: ...
        .text "@"
        .byte $bd,$48                               // scrcode: ..
        .text "."
        .byte $9d                                   // scrcode: .
        .text "@h"
        .byte $e8,$e0                               // scrcode: ..
        .text "h"
        .byte $d0,$f5,$a2                           // scrcode: ...
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@/"
        .byte $9d,$50                               // scrcode: ..
        .text "d"
        .byte $bd,$f0                               // scrcode: ..
        .text "/"
        .byte $9d,$58                               // scrcode: ..
        .text "f"
        .byte $e8,$e0,$f0,$d0,$ef,$a2               // scrcode: ......
        .text "@"
        .byte $a0                                   // scrcode: .
        .text "@"
        .byte $bd,$e0                               // scrcode: ..
        .text ".)?"
        .byte $99,$68                               // scrcode: ..
        .text "ex"
        .byte $69,$40,$99,$69                       // scrcode: ....
        .text "ex"
        .byte $69,$40,$99,$90                       // scrcode: ....
        .text "ex"
        .byte $69,$40,$99,$91                       // scrcode: ....
        .text "e"
        .byte $e8,$c8,$c8,$e0                       // scrcode: ....
        .text "t"
        .byte $d0,$df,$a2                           // scrcode: ...
        .text "@"
        .byte $a9                                   // scrcode: .
        .text "h"
        .encoding "petscii_upper"

loc_f8c7:
        .encoding "screencode_mixed"
        .byte $9d,$50,$d8,$9d,$58,$da,$e8,$e0,$f0,$d0,$f5,$60,$a2,$62 // scrcode: ..............
        .text "h "
        .byte $6f                                   // scrcode: .
        .text "*"
        .byte $ee                                   // scrcode: .
        .encoding "petscii_upper"

txt_f8da:
        .text "Z*"
        .byte $ad                                   // '-' | $80 (end-of-string marker)

txt_f8dd:
        .text "Z*"
        .byte $c9                                   // 'I' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "c"
        .byte $d0,$f3,$a9                           // scrcode: ...
        .text "@"
        .byte $8d,$5a                               // scrcode: ..
        .text "*"
        .byte $60,$ce,$44                           // scrcode: ...
        .text "c"
        .byte $ad,$44                               // scrcode: ..
        .text "c)g"
        .byte $8d                                   // scrcode: .
        .text "s)"
        .byte $c9                                   // scrcode: .
        .text "g"
        .byte $f0                                   // scrcode: .
        .text "a"
        .byte $60,$ad                               // scrcode: ..
        .text "@1)?"
        .byte $8d,$45                               // scrcode: ..
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "@"
        .byte $d0                                   // scrcode: .
        .text "p"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d                                   // scrcode: .
        .byte $80                                   // scrcode: .
        .text "*"
        .byte $a9                                   // scrcode: .
        .text "1"
        .byte $8d,$81                               // scrcode: ..
        .text "*"
        .byte $ad                                   // scrcode: .
        .text "@1"
        .byte $8d,$45                               // scrcode: ..
        .text "c"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $bd,$e1                               // scrcode: ..
        .text "e"
        .byte $9d,$e0                               // scrcode: ..
        .text "e"
        .byte $e8,$e0,$50,$d0,$f5,$ad,$5b           // scrcode: .......
        .text "*"
        .byte $c9                                   // scrcode: .
        .text "@"
        .byte $f0                                   // scrcode: .
        .text "e"
        .byte $c9                                   // scrcode: .
        .text "a"
        .byte $f0                                   // scrcode: .
        .text "s"
        .byte $60,$ad,$45                           // scrcode: ...
        .text "c"
        .byte $8d                                   // scrcode: .
        .text "gfx"
        .byte $69,$80,$8d                           // scrcode: ...
        .text "/f"
        .byte $a9                                   // scrcode: .
        .text "a"
        .byte $8d,$5b                               // scrcode: ..
        .text "*"
        .byte $60,$ad,$45                           // scrcode: ...
        .text "cx"
        .byte $69,$40,$8d                           // scrcode: ...
        .text "gfx"
        .byte $69,$80,$8d                           // scrcode: ...
        .text "/f"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d,$5b                               // scrcode: ..
        .text "*"
        .byte $ee,$80                               // scrcode: ..
        .text "*"
        .byte $d0                                   // scrcode: .
        .text "c"
        .byte $ee,$81                               // scrcode: ..
        .text "*"
        .byte $60,$4c,$56                           // scrcode: ...
        .text ","
        .byte $ee,$42                               // scrcode: ..
        .text "c"
        .byte $ad,$42                               // scrcode: ..
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "c"
        .byte $d0,$f3,$a9                           // scrcode: ...
        .text "@"
        .byte $8d,$42                               // scrcode: ..
        .text "c"
        .byte $ae,$43                               // scrcode: ..
        .text "c"
        .byte $ee,$43                               // scrcode: ..
        .text "c"
        .byte $bd,$57                               // scrcode: ..
        .text ","
        .byte $8d,$6d                               // scrcode: ..
        .text "("
        .byte $bd,$72                               // scrcode: ..
        .text ","
        .byte $8d,$8b                               // scrcode: ..
        .text ")"
        .byte $e8,$bd,$57                           // scrcode: ...
        .text ","
        .byte $8d                                   // scrcode: .
        .text "@"
        .byte $d8,$8d                               // scrcode: ..
        .text "a"
        .byte $d8,$8d                               // scrcode: ..
        .text "b"
        .byte $d8,$8d                               // scrcode: ..
        .text "c"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$97,$db,$8d,$96,$db,$8d,$95,$db,$8d,$94,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d                                   // scrcode: .
        .text "d"
        .byte $d8,$8d                               // scrcode: ..
        .text "e"
        .byte $d8,$8d                               // scrcode: ..
        .text "f"
        .byte $d8,$8d                               // scrcode: ..
        .text "g"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$93,$db,$8d,$92,$db,$8d,$91,$db,$8d,$90,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d                                   // scrcode: .
        .text "h"
        .byte $d8,$8d                               // scrcode: ..
        .text "i"
        .byte $d8,$8d                               // scrcode: ..
        .text "j"
        .byte $d8,$8d                               // scrcode: ..
        .text "k"
        .byte $d8,$bd                               // scrcode: ..
        .byte $72                                   // scrcode: .
        .text ","
        .byte $8d,$8f,$db,$8d,$8e,$db,$8d,$8d,$db,$8d,$8c,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d                                   // scrcode: .
        .text "l"
        .byte $d8,$8d                               // scrcode: ..
        .text "m"
        .byte $d8,$8d                               // scrcode: ..
        .text "n"
        .byte $d8,$8d                               // scrcode: ..
        .text "o"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$8b,$db,$8d,$8a,$db,$8d           // scrcode: .......
        .byte $89,$db,$8d,$88,$db,$e8,$bd,$57       // scrcode: ........
        .text ","
        .byte $8d                                   // scrcode: .
        .text "p"
        .byte $d8,$8d                               // scrcode: ..
        .text "q"
        .byte $d8,$8d                               // scrcode: ..
        .text "r"
        .byte $d8,$8d                               // scrcode: ..
        .text "s"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$87,$db,$8d,$86,$db,$8d,$85,$db,$8d,$84,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d                                   // scrcode: .
        .text "t"
        .byte $d8,$8d                               // scrcode: ..
        .text "u"
        .byte $d8,$8d                               // scrcode: ..
        .text "v"
        .byte $d8,$8d                               // scrcode: ..
        .text "w"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$83,$db,$8d,$82,$db,$8d,$81,$db,$8d,$80,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d                                   // scrcode: .
        .text "x"
        .byte $d8,$8d                               // scrcode: ..
        .text "y"
        .byte $d8,$8d                               // scrcode: ..
        .text "z"
        .byte $d8                                   // scrcode: .
        .byte $8d,$1b,$d8,$bd,$72                   // scrcode: .....
        .text ","
        .byte $8d,$7f,$db,$8d,$7e,$db,$8d,$7d,$db,$8d,$7c,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d,$1c,$d8,$8d,$1d,$d8,$8d,$1e,$d8,$8d,$1f,$d8,$bd,$72 // scrcode: ..............
        .text ","
        .byte $8d,$7b,$db                           // scrcode: ...
        .byte $8d,$7a,$db,$8d,$79,$db,$8d,$78,$db,$e8,$bd,$57 // scrcode: ............
        .text ","
        .byte $8d                                   // scrcode: .
        .text " "
        .byte $d8,$8d                               // scrcode: ..
        .text "!"
        .byte $d8,$8d,$22,$d8,$8d                   // scrcode: .."..
        .text "#"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$77,$db,$8d,$76,$db,$8d,$75,$db,$8d,$74,$db // scrcode: ............
        .byte $e8,$bd,$57                           // scrcode: ...
        .text ","
        .byte $8d                                   // scrcode: .
        .text "$"
        .byte $d8,$8d                               // scrcode: ..
        .text "%"
        .byte $d8,$8d                               // scrcode: ..
        .text "&"
        .byte $d8,$8d                               // scrcode: ..
        .text "'"
        .byte $d8,$bd,$72                           // scrcode: ...
        .text ","
        .byte $8d,$73,$db,$8d,$72,$db,$8d,$71,$db,$8d,$70,$db,$e8,$bd,$57 // scrcode: ...............
        .text ","
        .byte $8d,$77                               // scrcode: ..
        .text "("
        .byte $bd,$72                               // scrcode: ..
        .text ","
        .byte $8d,$81                               // scrcode: ..
        .text ")"
        .byte $ad,$43                               // scrcode: ..
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "o"
        .byte $d0                                   // scrcode: .
        .text "e"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d,$43                               // scrcode: ..
        .text "c"
        .byte $60                                   // scrcode: .
        .text "fbdjogagojdbf"
        .byte $a2                                   // scrcode: .
        .text "9fbdjogag"
        .text "ojdbibhjogagojhbi"
        .byte $a2                                   // scrcode: .
        .text "2ibhjogagojhbibhjog"
        .byte $e3                                   // scrcode: .
        .text "a&"
        .text "gojhbi"
        .byte $a5,$e8,$f0,$a4                       // scrcode: ....
        .text "0agojdbf@fbdjogaa"
        .byte $e4,$f0,$a8,$e4,$f0,$61,$7d,$ee,$40   // scrcode: .........
        .text "c"
        .byte $ad,$40                               // scrcode: ..
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "e"
        .byte $d0,$5f,$a9                           // scrcode: ...
        .text "@"
        .byte $8d,$40                               // scrcode: ..
        .text "c"
        .byte $ae,$41                               // scrcode: ..
        .text "c"
        .byte $ee,$41                               // scrcode: ..
        .text "c"
        .byte $bd,$8d                               // scrcode: ..
        .text ","
        .byte $8d,$a9                               // scrcode: ..
        .text "("
        .byte $bd,$95                               // scrcode: ..
        .text ","
        .byte $8d,$a4                               // scrcode: ..
        .text "("
        .byte $bd,$9d                               // scrcode: ..
        .text ","
        .byte $8d                                   // scrcode: .
        .text "i-"
        .byte $bd,$ad                               // scrcode: ..
        .text ","
        .byte $8d                                   // scrcode: .
        .encoding "petscii_upper"

txt_fb5d:
        .text "P)"
        .byte $bd                                   // '=' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $b5                                   // scrcode: .
        .text ","
        .byte $8d                                   // scrcode: .
        .encoding "petscii_upper"

txt_fb63:
        .text "K)"
        .byte $bd                                   // '=' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $bd                                   // scrcode: .
        .text ","
        .byte $8d                                   // scrcode: .
        .text "v-"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@/"
        .byte $9d,$50                               // scrcode: ..
        .text "d"
        .byte $e8,$e0,$f0,$d0,$f5,$a2               // scrcode: ......
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@/"
        .byte $9d,$58                               // scrcode: ..
        .text "f"
        .byte $e8,$e0,$f0,$d0,$f5,$ad,$41           // scrcode: .......
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "h"
        .byte $d0                                   // scrcode: .
        .text "o"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d,$41                               // scrcode: ..
        .text "c"
        .byte $a9,$bb,$8d,$a4                       // scrcode: ....
        .text ")"
        .byte $a9                                   // scrcode: .
        .text "-"
        .byte $8d,$a5                               // scrcode: ..
        .text ")"
        .byte $60,$ee,$40                           // scrcode: ...
        .text "c"
        .byte $ad,$40                               // scrcode: ..
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "e"
        .byte $d0,$5f,$a9                           // scrcode: ...
        .text "@"
        .byte $8d,$40                               // scrcode: ..
        .text "c"
        .byte $ae,$41                               // scrcode: ..
        .text "c"
        .byte $ee,$41                               // scrcode: ..
        .text "c"
        .byte $bd,$95                               // scrcode: ..
        .text ","
        .byte $8d,$a9                               // scrcode: ..
        .text "("
        .byte $bd,$8d                               // scrcode: ..
        .text ","
        .byte $8d,$a4                               // scrcode: ..
        .text "("
        .byte $bd,$a5                               // scrcode: ..
        .text ","
        .byte $8d,$73                               // scrcode: ..
        .text "-"
        .byte $bd,$b5                               // scrcode: ..
        .text ","
        .byte $8d                                   // scrcode: .
        .encoding "petscii_upper"

txt_fbc7:
        .text "P)"
        .byte $bd                                   // '=' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $ad                                   // scrcode: .
        .text ","
        .byte $8d                                   // scrcode: .
        .encoding "petscii_upper"

txt_fbcd:
        .text "K)"
        .byte $bd                                   // '=' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $c5                                   // scrcode: .
        .text ","
        .byte $8d,$80                               // scrcode: ..
        .text "-"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@/"
        .byte $9d,$50                               // scrcode: ..
        .text "d"
        .byte $e8,$e0,$f0,$d0,$f5,$a2               // scrcode: ......
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@/"
        .byte $9d,$58                               // scrcode: ..
        .text "f"
        .byte $e8,$e0,$f0,$d0,$f5,$ad,$41           // scrcode: .......
        .text "c"
        .byte $c9                                   // scrcode: .
        .text "h"
        .byte $d0                                   // scrcode: .
        .text "o"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $8d,$41                               // scrcode: ..
        .text "c"
        .byte $a9,$a1,$8d,$a4                       // scrcode: ....
        .text ")"
        .byte $a9                                   // scrcode: .
        .text "-"
        .byte $8d,$a5                               // scrcode: ..
        .text ")"
        .byte $60,$ee,$41                           // scrcode: ...
        .text "c"
        .byte $ad                                   // scrcode: .
        .encoding "petscii_upper"

// --- Region $fcaf-$fce1 ---
.pc = $fcaf "Segment $fcaf"
        .byte $a6,$e3,$20,$60,$22,$43,$0f,$04,$05,$2c,$20,$47,$12,$01,$10,$08 // .. `"C..., G....
        .byte $09,$03,$13,$20,$01,$0e,$04,$20,$43,$08,$01,$12,$13,$20,$02,$19 // ... ... C.... ..

txt_fccf:
        .text " -ECCO-"
        .byte $ed,$20,$33,$4d,$15,$13,$09,$03,$20,$02,$19,$20 // . 3M.... .. 

// --- Region $fce6-$ffd1 ---
.pc = $fce6 "txt_fce6"

txt_fce6:
        .text "RANTS-"
        .byte $eb,$20,$e3,$06,$25,$02,$04,$0a,$0f,$07,$e3,$01,$25,$07,$0f,$0a // . ..%.......%...
        .byte $04,$02,$e3,$06,$25,$02,$04,$0a,$0f,$07,$e3,$01,$25,$07,$0f,$0a // ....%.......%...
        .byte $04,$02,$42,$01,$08,$08,$08,$08,$08,$08,$08,$26,$09,$02,$08,$0a // ..B........&....
        .byte $0f,$07,$e3                           // ...

txt_fd1f:
        .encoding "screencode_mixed"
        .text "a;gojhbib  augie doggie +5h"
        .encoding "petscii_upper"

txt_fd3a:
        .text "  "
        .byte $ad                                   // '-' | $80 (end-of-string marker)
        .byte $61,$df,$01,$02,$03,$04,$05,$20,$06,$07,$08,$09,$0a,$0b,$0c,$0d // a...... ........
        .byte $0e,$0f,$10,$11,$12,$13,$0f,$10,$14,$15,$16,$17,$18,$19,$1a,$1b // ................
        .byte $1c,$1d,$1e,$1f                       // ....

txt_fd61:
        .text "!"
        .byte $22                                   // double quote character
        .text "#$ %&'()*+,-"
        .byte $00                                   // string terminator

txt_fd70:
        .text "./01234567-489 :;<="
        .byte $00                                   // string terminator

txt_fd84:
        .text ":>?"
        .byte $40                                   // @ character
        .text "A:>BC DEFGHIJKLM NOPQ&RSTUVWXP YZ"
        .byte $5b,$5c,$5d,$5e,$5f,$5f,$60,$61,$62,$63,$64,$65,$20,$66,$67,$68 // [\]^__`abcde fgh
        .byte $69,$6a,$6b,$6c,$20,$50,$5d,$20,$6d   // ijkl P] m

txt_fdc2:
        .text " PQ&"
        .byte $6e,$5f,$54,$55,$50,$5f,$6f,$70,$71,$5e,$3b,$5b,$5c,$5d,$5e,$5f // n_TUP_opq^;[\]^_
        .byte $5f,$72,$73,$74,$5f,$75,$76,$77,$5d,$26,$78,$6e,$50,$79,$7a,$7b // _rst_uvw]&xnPyz{
        .byte $50,$5d,$20,$7c                       // P] |

txt_fdea:
        .text " PQ&"
        .byte $6e,$5f,$54,$7d,$50,$5f,$5f,$7e,$79,$5e,$3b,$5b,$5c,$7f,$5e,$5f // n_T}P__~y^;[\.^_
        .byte $5f,$80,$55,$5e,$5f,$81,$82,$79,$7f,$83,$84,$85,$86,$87,$88,$89 // _.U^_..y........
        .byte $8a,$8b,$8c,$8d,$8e,$8f,$90,$91,$92,$93,$94,$95,$96,$97,$98,$99 // ................
        .byte $8e,$9a,$9b,$9c,$9d,$9e,$9f,$a0,$a1,$a2,$a3,$a4,$a5,$a6,$83,$79 // ...............y
        .byte $00,$01,$a7,$a8,$a9,$05,$20,$06,$07,$08,$aa,$ab,$ac,$ad,$0d,$0e // ...... .........
        .byte $ae,$10,$11,$12,$13,$ae,$10,$14,$af,$b0,$b1,$b2,$b3,$b4,$1b,$b5 // ................
        .byte $1d,$b6,$b7,$b8,$b9,$ba               // ......

txt_fe54:
        .text "$ %&"
        .byte $bb                                   // ';' | $80 (end-of-string marker)
        .byte $bc,$bd                               // ..

txt_fe5b:
        .text "*+,-"
        .byte $be                                   // '>' | $80 (end-of-string marker)
        .byte $2e,$bf,$30,$c0                       // ..0.

txt_fe64:
        .text "2345"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)

txt_fe69:
        .text "7-48"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)

txt_fe6e:
        .text " :;"
        .byte $c3                                   // 'C' | $80 (end-of-string marker)
        .byte $3d,$00,$3a,$c4,$3f,$c5               // =.:.?.

txt_fe78:
        .text "A:"
        .byte $c4                                   // 'D' | $80 (end-of-string marker)

txt_fe7b:
        .text "BC D"
        .byte $c6                                   // 'F' | $80 (end-of-string marker)

txt_fe80:
        .text "FGHI"
        .byte $c7                                   // 'G' | $80 (end-of-string marker)
        .byte $4b,$c8,$c9,$20,$ca                   // K.. .

txt_fe8a:
        .text "OPQ&"
        .byte $cb                                   // 'K' | $80 (end-of-string marker)

txt_fe8f:
        .text "STUV"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)

txt_fe94:
        .text "XP Y"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $5b,$5c,$5d,$5e,$5e,$5f,$60,$ce,$62,$cf,$64,$d0,$20,$66,$67,$68 // [\]^^_`.b.d. fgh
        .byte $69,$6a,$d1,$6c                       // ij.l

txt_fead:
        .text " PP T PQ&"
        .byte $6e,$5f,$54,$55,$50,$5f,$6f,$d2,$71,$5e,$3b,$5b,$5c,$5d,$5e,$5e // n_TUP_o.q^;[\]^^
        .byte $5f,$72,$d3,$74,$5e,$75,$76,$77,$5d,$26,$78,$6e,$50,$79,$7a,$7b // _r.t^uvw]&xnPyz{
        .byte $50,$50,$20,$7a                       // PP z

txt_feda:
        .text " PQ&"
        .byte $6e,$5f,$54,$7d,$50,$5f,$5f,$7e,$79,$5e,$3b,$5b,$5c,$7f,$5e,$5e // n_T}P__~y^;[\.^^
        .byte $5f,$9d,$55,$5e,$5e,$81,$82,$79,$7f,$83,$d4,$d5,$d6,$d7,$88,$89 // _.U^^..y........
        .byte $8a,$d8,$8c,$8d,$8e,$8f,$d9,$da,$92,$db,$dc,$dd,$de,$97,$98,$df // ................
        .byte $8e,$9a,$e0,$e1,$9d,$9e,$e2,$e3,$e4,$e5,$e6,$62,$e7,$e8,$83,$79 // ...........b...y
        .byte $80,$20,$00,$e5,$20,$60,$44           // . .. `D

txt_ff25:
        .encoding "screencode_mixed"
        .text "once again they have managed to make an outstanding piece of work .."
        .encoding "petscii_upper"
        .byte $e3,$20,$60                           // . `

txt_ff6c:
        .encoding "screencode_mixed"
        .text "'the performance was done by the company"
        .encoding "petscii_upper"
        .byte $e4,$20,$60,$40                       // . `@

txt_ff98:
        .encoding "screencode_mixed"
        .text "this is a nice little game.. your job is to guide a little"
        .encoding "petscii_upper"
