// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:41
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2dff  (9728 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1000 (4096)
// IRQ handler:  $1050 (irq_1050)
//
// Code: 2290 bytes, Data: 7438 bytes
// Labels: 232, Subroutines: 8
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1003 ---
.pc = $1000 "main_1000"

main_1000:
        jmp loc_13fe

scr_1003:
        .byte $40                                   // @ character

// --- Region $1033-$103f ---
.pc = $1033 "loc_1033"

loc_1033:
        sta $d024
        lda scr_1003,x
        sta $d021
        sta $d021
        inx

// --- Region $1050-$114a ---
.pc = $1050 "irq_1050"

irq_1050:
        lda #$d0

loc_1052:
        cmp $d012
        bne loc_1052
        ldx #$06

loc_1059:
        dex
        bne loc_1059
        bit $ea
        ldx #$00
        ldy #$00
        lda scr_1003,x
        nop

loc_1066:
        nop
        bit $ea
        sta $d024
        lda scr_1003,x
        sta $d021
        sta $d021
        inx
        lda scr_1003,x
        cpy #$02
        beq loc_1033
        nop

loc_107e:
        pha
        lda $d012
        and #$07
        tay
        bit $ea
        nop
        nop
        nop
        pla
        cpx #$2a
        bne loc_1066
        lda #$fa

loc_1091:
        cmp $d012
        bne loc_1091
        lda #$13
        sta $d011
        jsr sub_2a40
        jsr sub_2a85
        jsr sub_1460
        ldx $e4
        lda tbl_0f00,x
        and #$07
        ora #$b0
        sta $d016
        lda #$12
        sta $d018
        lda #$0b
        sta $d022
        lda #$0d
        sta $d023
        jsr sub_1171
        jsr sub_1503
        lda $14d2
        sta $14c1
        ldx #$10

loc_10cd:
        lda $14c1,x
        sta $14c2,x
        sta $dab4,x
        dex
        bpl loc_10cd
        lda #$ba

loc_10db:
        cmp $d012
        bne loc_10db
        lda #$17
        sta $d018
        ldx #$00

loc_10e7:
        lda scr_1048,x
        sta $d016
        ldy #$f6

loc_10ef:
        iny
        bne loc_10ef
        inx
        cpx #$08
        bne loc_10e7
        lda #$ce

loc_10f9:
        cmp $d012
        bne loc_10f9
        lda $12dd
        sta $d016
        lda #$0e
        sta $d022
        lda #$06
        sta $d023
        lda #$18
        sta $d018
        lda #$1b
        sta $d011
        lda $dc01
        and #$10
        beq loc_1122
        jmp $febc

loc_1122:
        sei
        ldx #$00
        stx $d01a
        stx $d011
        ldx #$ff
        txs
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        ldx #$00
        stx $d011

loc_113c:
        lda scr_114a,x
        sta $0340,x
        inx
        cpx #$c0
        bne loc_113c
        jmp $0340

scr_114a:
        // === Screen RAM (1 bytes, $114a-$114a) ===
        .byte $78                                   // scrcode: .

// --- Region $1171-$1232 ---
.pc = $1171 "sub_1171"
// Referenced by: jsr from $10bf

sub_1171:
        dec $12dd

smc_1174:
        dec $12dd                                   // !SMC: modified by $1314, $1343, $137a, $138a

smc_1177:
        dec $12dd                                   // !SMC: modified by $1317, $1346, $135f, $137f

smc_117a:
        dec $12dd                                   // !SMC: modified by $131a, $1349, $1362, $1382

smc_117d:
        bit $12dd                                   // !SMC: modified by $131d, $132e, $134e, $1365

smc_1180:
        bit $12dd                                   // !SMC: modified by $1320, $1331, $1351, $1368

smc_1183:
        bit $12dd                                   // !SMC: modified by $1323, $1334, $1354, $136b

smc_1186:
        bit $12dd                                   // !SMC: modified by $1326, $1337, $1357, $136e
        lda $12dd
        cmp #$00
        bmi loc_1191
        rts

loc_1191:
        lda #$07
        sta $12dd
        ldx #$00

loc_1198:
        lda $0721,x
        sta $0720,x
        lda $0749,x
        sta $0748,x
        lda $0771,x
        sta $0770,x
        lda $0799,x
        sta $0798,x
        lda $07c1,x
        sta $07c0,x
        inx
        cpx #$28
        bne loc_1198
.label smc_11bc = * + 1
        ldx #$00                                    // !SMC: modified by $1209
        lda dat_13d9,x
        sta $0747
        lda $13e0,x
        sta $076f
        lda $13e7,x
        sta $0797
        lda $13ee,x
        sta $07bf
        lda $13f5,x
        sta $07e7
        ldy #$00
        lda ($eb),y
        cmp #$31
        beq loc_11fb
        cmp #$32
        beq loc_11fe
        cmp #$33
        beq loc_1201
        cmp #$34
        beq loc_1204
        inc smc_11bc
        dec $ed
        lda $ed
        and #$80
        bne loc_1207
        rts

loc_11fb:
        jmp loc_12de

loc_11fe:
        jmp loc_12e7

loc_1201:
        jmp loc_12f0

loc_1204:
        jmp loc_12f9

loc_1207:
        ldy #$00
        sty smc_11bc                                // SMC: modifies $11bc
        lda ($eb),y
        cmp #$00
        bne loc_121c
        lda #$c0
        sta $eb
        lda #$1e
        sta $ec
        lda #$20

loc_121c:
        and #$3f
        cmp #$20
        bne scr_1233
        ldx #$22
        lda #$00

loc_1226:
        sta dat_13d9,x
        dex
        bpl loc_1226
        lda #$03
        sta $ed
        jmp loc_12c4

// --- Region $12c4-$12cb ---
.pc = $12c4 "loc_12c4"

loc_12c4:
        inc $eb
        bne loc_12ca
        inc $ec

loc_12ca:
        rts

scr_12cb:
        // === Screen RAM (1 bytes, $12cb-$12cb) ===
        .byte $a5                                   // scrcode: .

// --- Region $12de-$138f ---
.pc = $12de "loc_12de"

loc_12de:
        lda #$00
        ldx #$00
        ldy #$00
        jmp loc_1302

loc_12e7:
        lda #$00
        ldx #$01
        ldy #$00
        jmp loc_1302

loc_12f0:
        lda #$00
        ldx #$01
        ldy #$01
        jmp loc_1302

loc_12f9:
        lda #$01
        ldx #$01
        ldy #$01
        jmp loc_1302

loc_1302:
        sta $1392
        stx scr_1390
        sty $1391
        lda $1392
        cmp #$00
        beq loc_132c
        lda #$ce
        sta smc_1174                                // SMC: modifies $1174
        sta smc_1177                                // SMC: modifies $1177
        sta smc_117a                                // SMC: modifies $117a
        sta smc_117d                                // SMC: modifies $117d
        sta smc_1180                                // SMC: modifies $1180
        sta smc_1183                                // SMC: modifies $1183
        sta smc_1186                                // SMC: modifies $1186
        jmp loc_138d

loc_132c:
        lda #$2c
        sta smc_117d                                // SMC: modifies $117d
        sta smc_1180                                // SMC: modifies $1180
        sta smc_1183                                // SMC: modifies $1183
        sta smc_1186                                // SMC: modifies $1186
        lda $1391
        cmp #$00
        beq loc_135d
        lda #$ce
        sta smc_1174                                // SMC: modifies $1174
        sta smc_1177                                // SMC: modifies $1177
        sta smc_117a                                // SMC: modifies $117a
        lda #$2c
        sta smc_117d                                // SMC: modifies $117d
        sta smc_1180                                // SMC: modifies $1180
        sta smc_1183                                // SMC: modifies $1183
        sta smc_1186                                // SMC: modifies $1186
        jmp loc_138d

loc_135d:
        lda #$2c
        sta smc_1177                                // SMC: modifies $1177
        sta smc_117a                                // SMC: modifies $117a
        sta smc_117d                                // SMC: modifies $117d
        sta smc_1180                                // SMC: modifies $1180
        sta smc_1183                                // SMC: modifies $1183
        sta smc_1186                                // SMC: modifies $1186
        lda scr_1390
        cmp #$00
        beq loc_1388
        lda #$ce
        sta smc_1174                                // SMC: modifies $1174
        lda #$2c
        sta smc_1177                                // SMC: modifies $1177
        sta smc_117a                                // SMC: modifies $117a
        jmp loc_138d

loc_1388:
        lda #$2c
        sta smc_1174                                // SMC: modifies $1174

loc_138d:
        jmp loc_12c4

// --- Region $13fe-$14b0 ---
.pc = $13fe "loc_13fe"

loc_13fe:
        jsr sub_1500
        sei
        jsr sub_2a59
        ldx #$00
        stx $d020
        stx $d021
        stx $d011
        stx $0286
        stx $ed
        jsr $e544
        ldx #$01
        stx $d01a
        dex
        stx $dc0e

loc_1421:
        lda #$00
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $06e8,x
        lda #$0d
        sta $d850,x
        sta $d8e0,x
        inx
        bne loc_1421

loc_143a:
        lda spr_14b0,x
        sta $06b4,x
        lda #$01
        sta $dab4,x
        inx
        cpx #$11
        bne loc_143a
        ldx #$c0
        ldy #$1e
        stx $eb
        sty $ec
        lda #$50
        sta $0314
        lda #$10
        sta $0315
        cli

loc_145d:
        jmp loc_145d
// Referenced by: jsr from $10a1

sub_1460:
        lda $e4
        clc
        adc #$02
        sta $e4
        ldx $e4
        lda tbl_0f00,x
        lsr
        lsr
        lsr
        sta $e7
        lda #$30
        sec
        sbc $e7
        sta $e7
        lda #$50
        sta $e5
        lda #$04
        sta $e6
        lda #$27
        sta $e8
        lda #$0a
        sta $e3

loc_1488:
        ldy #$27

loc_148a:
        lda ($e7),y
        sta ($e5),y
        dey
        bpl loc_148a
        lda $e5
        clc
        adc #$28
        sta $e5
        lda $e6
        adc #$00
        sta $e6
        lda $e7
        clc
        adc #$50
        sta $e7
        lda $e8
        adc #$00
        sta $e8
        dec $e3
        bne loc_1488
        rts

spr_14b0:
        // === Sprite data (1 bytes, $14b0-$14b0) ===
        .byte $59

// --- Region $1500-$1518 ---
.pc = $1500 "sub_1500"
// Referenced by: jsr from $13fe

sub_1500:
        jmp loc_1507
// Referenced by: jsr from $10c2

sub_1503:
        jmp loc_162e

dat_1506:
        .byte $ea                                   // .

loc_1507:
        lda #$00
        sta $a7
        ldx #$28

loc_150d:
        lda #$00
        sta $02c0,x
        dex
        bpl loc_150d
        jmp loc_1555

dat_1518:
        .byte $20                                   //  

// --- Region $1555-$1625 ---
.pc = $1555 "loc_1555"

loc_1555:
        sei
        lda $a7
        asl
        tax
        lda $152d,x
        sta $39
        lda $152e,x
        sta $3a
        ldy #$00

loc_1566:
        lda ($39),y
        sta $1535,y
        iny
        cpy #$06
        bne loc_1566
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        ldx #$05

loc_1599:
        lda $1535,x
        sta $aa,x
        dex
        bpl loc_1599
        jmp loc_15a6

dat_15a4:
        .byte $00,$00                               // ..

loc_15a6:
        ldy #$00
        lda $1535
        sta $39
        lda $1536
        sta $3a
        lda ($39),y
        sta $b7
        iny
        lda ($39),y
        sta $b8
        ldy #$00
        lda $1537
        sta $39
        lda $1538
        sta $3a
        lda ($39),y
        sta $b9
        iny
        lda ($39),y
        sta $ba
        ldy #$00
        lda $1539
        sta $39
        lda $153a
        sta $3a
        lda ($39),y
        sta $bb
        iny
        lda ($39),y
        sta $bc
        lda #$03
        sta $02d5
        lda #$01
        sta $02db
        sta $02dc
        sta $02dd
        ldx #$20

loc_15f7:
        lda #$08
        sta $d400,x
        lda #$00
        sta $d400,x
        dex
        bpl loc_15f7
        lda #$01
        sta $02e1
        sta $02e2
        sta $02e3
        ldx #$12
        lda #$00

loc_1613:
        sta $166a,x
        dex
        bpl loc_1613
        lda #$03
        sta $1668
        sta $1669
        sta $166a
        cli
        rts

// --- Region $162e-$1665 ---
.pc = $162e "loc_162e"

loc_162e:
        lda #$0f
        sta $d418
        ldx #$0a

loc_1635:
        dex
        bne loc_1635
        lda #$03
        sta $02d5
        lda #$15
        sta $02e8

loc_1642:
        sec
        lda $02e8
        sbc #$07
        sta $02e8
        dec $02d5
        bpl loc_1661
        ldx #$17

loc_1652:
        lda $02c0,x
        sta $d400,x
        dex
        bpl loc_1652
        bit $d020
        rts

dat_165f:
        .byte $31,$ea                               // 1.

loc_1661:
        jmp loc_190e

dat_1664:
        .byte $00,$00                               // ..

// --- Region $1682-$1694 ---
.pc = $1682 "loc_1682"

loc_1682:
        ldy $02d5
        ldx $02e8
        lda $02d8,y
        and #$01
        cmp #$01
        bne loc_16e7
        jmp loc_16a2

dat_1694:
        .byte $07                                   // .

// --- Region $16a2-$16d5 ---
.pc = $16a2 "loc_16a2"

loc_16a2:
        inc dat_1694
        ldx dat_1694
        cpx #$0c
        bne loc_16b1
        ldx #$00
        stx dat_1694

loc_16b1:
        lda $1696,x
        sta $1695
        ldx $02e8
        clc
        lda $02c2,x
        adc $1695
        sta $02c2,x
        lda $1695
        bpl loc_16cf
        dec $02c3,x
        jmp loc_16e7

loc_16cf:
        inc $02c3,x
        jmp loc_16e7

dat_16d5:
        .byte $35                                   // 5

// --- Region $16e7-$1ab1 ---
.pc = $16e7 "loc_16e7"

loc_16e7:
        lda $02d8,y
        and #$02
        cmp #$02
        beq loc_16f3
        jmp loc_177c

loc_16f3:
        ldx $02d5
        inc $16d8,x
        lda $16d8,x
        cmp #$03
        bne loc_1705
        lda #$00
        sta $16d8,x

loc_1705:
        tax
        lda $16de,x
        ldx $02d5
        sta dat_16d5
        lda scr_1a01,x
        sta $16d7
        and #$0f
        sta $16d6
        lda $16d7
        lsr
        lsr
        lsr
        lsr
        sta $16d7
        clc
        lda dat_16d5
        adc $16d7
        sta $16d7
        cmp #$0d
        bmi loc_173e
        sec
        lda $16d7
        sbc #$0c
        sta $16d7
        inc $16d6

loc_173e:
        lda $16d7
        asl
        asl
        asl
        asl
        eor $16d6
        sta dat_16d5
        lsr
        lsr
        lsr
        and #$1e
        tax
        lda $02e8
        pha
        tay
        lda $153b,x
        sta $02c0,y
        lda $153c,x
        sta $02c1,y
        pla
        tax
        ldy #$00
        lda dat_16d5
        and #$0f
        tay
        lda $02c0,x

loc_176f:
        asl
        rol $02c1,x
        dey
        bpl loc_176f
        sta $02c0,x
        jmp loc_1642

loc_177c:
        lda $02d8,y
        and #$04
        cmp #$04
        bne loc_17c3
        lda $1a04,y
        beq loc_17b3
        ldx $02d5
        dec $1a04,x
        beq loc_179f
        clc
        ldx $02e8
        rol $02c1,x
        asl $02c0,x
        jmp loc_17c3

loc_179f:
        lda #$40
        ldx $02e8
        sta $02c4,x
        lda $16e1,y
        sta $02c0,x
        lda $16e4,y
        sta $02c1,x

loc_17b3:
        lda $02c1,x
        bne loc_17c0
        lda #$00
        sta $02c0,x
        jmp loc_17c3

loc_17c0:
        dec $02c1,x

loc_17c3:
        ldx $02e8
        lda $02d8,y
        and #$08
        cmp #$08
        bne loc_17fa
        clc
        lda #$04
        adc dat_17f8
        sta dat_17f8
        lda $17f9
        adc #$00
        sta $17f9
        lda dat_17f8
        sta $02c2,x
        lda $17f9
        cmp #$02
        bne loc_17f2
        lda #$01
        sta $17f9

loc_17f2:
        sta $02c3,x
        jmp loc_17fa

dat_17f8:
        .byte $d8,$01                               // ..

loc_17fa:
        ldx $02e8
        ldy $02d5
        lda $02d8,y
        and #$10
        cmp #$10
        bne loc_1822
        lda $1679,y
        eor #$01
        sta $1679,y
        beq loc_181c
        asl $02c0,x
        rol $02c1,x
        jmp loc_1822

loc_181c:
        lsr $02c1,x
        ror $02c0,x

loc_1822:
        lda $02d8,y
        and #$20
        cmp #$20
        bne loc_1834
        clc
        asl $02c1,x
        bcc loc_1834
        inc $02c1,x

loc_1834:
        lda $02d8,y
        and #$40
        cmp #$40
        beq loc_1840
        jmp loc_18c6

loc_1840:
        ldx $02d5
        inc $16d8,x
        lda $16d8,x
        cmp #$03
        bne loc_1852
        lda #$00
        sta $16d8,x

loc_1852:
        tax
        lda $16db,x
        ldx $02d5
        sta dat_16d5
        lda scr_1a01,x
        sta $16d7
        and #$0f
        sta $16d6
        lda $16d7
        lsr
        lsr
        lsr
        lsr
        sta $16d7
        clc
        lda dat_16d5
        adc $16d7
        sta $16d7
        cmp #$0d
        bmi loc_188b
        sec
        lda $16d7
        sbc #$0c
        sta $16d7
        inc $16d6

loc_188b:
        lda $16d7
        asl
        asl
        asl
        asl
        eor $16d6
        sta dat_16d5
        lsr
        lsr
        lsr
        and #$1e
        tax
        lda $02e8
        pha
        tay
        lda $153b,x
        sta $02c0,y
        lda $153c,x
        sta $02c1,y
        pla
        tax
        ldy #$00
        lda dat_16d5
        and #$0f
        tay
        lda $02c0,x

loc_18bc:
        asl
        rol $02c1,x
        dey
        bpl loc_18bc
        sta $02c0,x

loc_18c6:
        lda $02d8,y
        and #$80
        cmp #$80
        bne loc_190b
        ldx $02d5
        ldy $02e8
        lda $167f,x
        eor #$01
        sta $167f,x
        bne loc_18ee
        lda $166a,x
        sta $02c0,y
        lda $166d,x
        sta $02c1,y
        jmp loc_190b

loc_18ee:
        lda $1670,x
        sta $02c0,y
        lda $1673,x
        sta $02c1,y
        clc
        lda $1670,x
        adc #$c8
        sta $1670,x
        lda $1673,x
        adc #$00
        sta $1673,x

loc_190b:
        jmp loc_1642

loc_190e:
        ldx $02d5
        dec $02db,x
        dec dat_1664,x
        bne loc_1924
        ldx $02e8
        lda #$fe
        and $02c4,x
        sta $02c4,x

loc_1924:
        ldx $02d5
        lda $02db,x
        beq loc_192f
        jmp loc_1682

loc_192f:
        lda $1524,x
        tax
        lda $b7,x
        sta $fd
        lda $b8,x
        sta $fe

loc_193b:
        ldy #$00
        lda ($fd),y
        cmp #$ff
        bne loc_19ac
        ldx $02d5
        lda $1524,x
        tax
        clc
        lda $aa,x
        adc #$02
        sta $aa,x
        sta $71
        lda $ab,x
        adc #$00
        sta $ab,x
        sta $72
        ldy #$00
        lda ($71),y
        sta $b7,x
        iny
        lda ($71),y
        sta $b8,x
        lda $b7,x
        sta $fd
        lda $b8,x
        sta $fe
        lda $aa,x
        sta $71
        lda $ab,x
        sta $72
        ldy #$01
        lda ($71),y
        cmp #$ff
        bne loc_19ac
        ldx $02d5
        lda $1524,x
        tax
        lda $1535,x
        sta $aa,x
        sta $71
        lda $1536,x
        sta $ab,x
        sta $72
        ldy #$00
        lda ($71),y
        sta $b7,x
        sta $fd
        iny
        lda ($71),y
        sta $b8,x
        sta $fe
        ldx $02d5
        lda $1524,x
        tax
        jmp loc_193b

loc_19ac:
        ldx $02e8
        ldy #$00
        lda ($fd),y
        cmp #$fe
        bne loc_1a07
        iny
        lda ($fd),y
        sta $71
        iny
        lda ($fd),y
        sta $72
        ldy #$00
        lda ($71),y
        sta $02c4,x
        iny
        lda ($71),y
        sta $02c5,x
        iny
        lda ($71),y
        sta $02c6,x
        iny
        lda ($71),y
        ldx $02d5
        sta $02d8,x
        jsr sub_19e9
        jsr sub_19e9
        jsr sub_19e9
        jmp loc_1a07
// Referenced by: jsr from $19dd, $19e0, $19e3, $1a4d, $1a50

sub_19e9:
        stx $a7
        ldx $02d5
        lda $1524,x
        tax
        inc $b7,x
        bne loc_19f8
        inc $b8,x

loc_19f8:
        inc $fd
        bne loc_19fe
        inc $fe

loc_19fe:
        ldx $a7
        rts

scr_1a01:
        // === Screen RAM (6 bytes, $1a01-$1a06) ===
        .encoding "screencode_mixed"
        .text "q"
        .byte $82,$84                               // scrcode: ..
        .text "b@b"
        .encoding "petscii_upper"

loc_1a07:
        ldx $02d5
        lda #$00
        sta $1679,x
        ldy #$00
        lda ($fd),y
        sta scr_1a01,x
        lsr
        lsr
        lsr
        and #$1e
        tax
        lda $02e8
        pha
        tay
        lda $153b,x
        sta $02c0,y
        lda $153c,x
        sta $02c1,y
        pla
        tax
        ldy #$00
        lda ($fd),y
        and #$0f
        tay
        lda $02c0,x

loc_1a39:
        asl
        rol $02c1,x
        dey
        bpl loc_1a39
        sta $02c0,x
        ldy #$01
        ldx $02d5
        lda ($fd),y
        sta $02db,x
        jsr sub_19e9
        jsr sub_19e9
        ldx $02e8
        ldy $02d5
        lda $02d8,y
        and #$04
        cmp #$04
        bne loc_1a7d
        lda $02c0,x
        sta $16e1,y
        lda $02c1,x
        sta $16e4,y
        lda #$a0
        sta $02c1,x
        lda #$00
        sta $02c0,x
        lda #$81
        sta $02c4,x

loc_1a7d:
        lda #$02
        sta $1a04,y
        lda #$07
        sta $02c3,x
        lda #$90
        sta $02c2,x
        lda $02c0,x
        sta $166a,y
        sta $1670,y
        lda $02c1,x
        sta $166d,y
        sta $1673,y
        lda #$01
        ora $02c4,x
        sta $02c4,x
        ldx $02d5
        lda #$04
        sta dat_1664,x
        jmp loc_1642

scr_1ab1:
        // === Screen RAM (1 bytes, $1ab1-$1ab1) ===
        .byte $63                                   // scrcode: .

// --- Region $2a40-$2ad9 ---
.pc = $2a40 "sub_2a40"
// Referenced by: jsr from $109b

sub_2a40:
        lda $2aeb
        lsr
        lsr
        lsr
        and #$0f
        tax
        lda scr_2ada,x
        sta $07f8
        sta $07f9
        sta $07fa
        sta $07fb
        rts
// Referenced by: jsr from $1402

sub_2a59:
        ldx #$08
        stx $d027
        stx $d028
        stx $d029
        stx $d02a
        ldx #$0f
        stx $d015
        stx $d01c
        ldx #$00
        stx $d01d
        stx $d017
        stx $d01b
        lda #$09
        sta $d025
        lda #$0f
        sta $d026
        rts
// Referenced by: jsr from $109e

sub_2a85:
        ldx $2aeb
        inx
        inx
        stx $2aeb
        lda $2aec,x
        clc
        adc #$40
        sta $d000
        txa
        eor #$80
        tax
        lda $2aec,x
        clc
        adc #$40
        sta $d002
        lda $2aeb
        clc
        adc #$50
        asl
        tax
        eor #$80
        tay
        lda $2aec,x
        sta $d001
        clc
        adc #$50
        sta $d004
        lda $2aec,y
        sta $d003
        clc
        adc #$50
        sta $d006
        lda $2aeb
        tay
        eor #$80
        tax
        lda $2aec,x
        sta $d005
        lda $2aec,y
        sta $d007
        rts

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

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

spr_0800:
        // === Screen RAM (1024 bytes, $0800-$0bff) ===
        .encoding "screencode_mixed"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .byte $ab,$80,$85,$c6,$c6,$c6,$46,$46,$f5   // scrcode: .........
        .text "@"
        .byte $55,$aa,$aa,$aa,$aa,$aa,$55           // scrcode: .......
        .text "@"
        .byte $55,$aa,$aa,$95,$90,$92,$55           // scrcode: .......
        .text "@"
        .byte $55,$aa,$aa,$56                       // scrcode: ....
        .text "a"
        .byte $b1,$40                               // scrcode: ..
        .text "u"
        .byte $40,$95,$aa,$aa,$aa,$aa               // scrcode: ......
        .text "@@"
        .byte $50                                   // scrcode: .
        .text "d"
        .byte $51,$91,$a4,$a4                       // scrcode: ....
        .text "@@@@@@"
        .byte $40,$40                               // scrcode: ..
        .text "@@@bhl11@o"
        .byte $b0                                   // scrcode: .
        .text "e"
        .byte $5a,$6a,$aa,$aa                       // scrcode: ....
        .text "u"
        .byte $40                                   // scrcode: .
        .text "u"
        .byte $6a,$aa,$aa,$aa,$aa                   // scrcode: .....
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$aa,$aa,$aa,$aa,$55           // scrcode: .......
        .text "a"
        .byte $51,$91,$91,$91,$91,$91               // scrcode: ......
        .text "jhhllldd"
        .byte $bf                                   // scrcode: .
        .text "@"
        .byte $55,$6a,$6a,$6a,$6a,$6a,$55           // scrcode: .......
        .text "@"
        .byte $55,$a9,$a9,$a9,$a9,$a9               // scrcode: ......
        .byte $50                                   // scrcode: .
        .text "ppppppp"
        .byte $53                                   // scrcode: .
        .text "spssppu0"
        .byte $74,$c4                               // scrcode: ..
        .text "0"
        .byte $74,$44                               // scrcode: ..
        .text "@"
        .byte $7e                                   // scrcode: .
        .text "@"
        .encoding "petscii_upper"

txt_0899:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $c0,$80,$af                           // scrcode: ...
        .text "@@@@@@@"
        .encoding "petscii_upper"

txt_08a7:
        .text "TFFFFFFFF"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$92,$93,$93,$91,$91,$91,$91,$91 // scrcode: ...............
        .text "dddddddl"
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$a4,$a9,$a9,$a9,$a9,$a9,$a9,$a4 // scrcode: ................
        .byte $40                                   // scrcode: .
        .text "pppppp"
        .byte $40                                   // scrcode: .
        .text "q"
        .encoding "petscii_upper"

txt_08e1:
        .text "FFFFFFF"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $a9,$a4,$a4,$92,$93,$93,$91,$aa,$56   // scrcode: .........
        .text "a"
        .byte $b1                                   // scrcode: .
        .text "dddd"
        .byte $aa,$aa,$aa,$aa,$6a,$6a,$6a,$6a,$a4,$a9,$a9,$a9,$a9,$a9,$a9,$a9 // scrcode: ................
        .byte $40                                   // scrcode: .
        .text "ppppppp"
        .byte $91                                   // scrcode: .
        .byte $91,$91,$91,$91,$91,$91,$91           // scrcode: .......
        .text "dddddddd"
        .byte $a9,$a9,$a9,$a9,$a9,$a9,$a9,$a9       // scrcode: ........
        .text "pppppppp"
        .byte $aa,$aa,$aa,$aa,$6a,$6a,$55           // scrcode: .......
        .text "@"
        .byte $a4                                   // scrcode: .
        .byte $a9,$a9,$a9,$a9,$a9,$55               // scrcode: ......
        .text "@"
        .encoding "petscii_upper"

spr_0940:
        .encoding "screencode_mixed"
        .byte $40                                   // scrcode: .
        .text "pp"
        .encoding "petscii_upper"

txt_0943:
        .text "000  "
        .encoding "screencode_mixed"
        .text "sppppsss"
        .byte $f0,$54                               // scrcode: ..
        .text "@@@"
        .byte $f0,$74,$c4,$80,$c0,$c0,$c0           // scrcode: .......
        .encoding "petscii_upper"

txt_095c:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "FFFFFFFG"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $aa,$aa,$aa,$aa,$aa,$ee,$bb,$91,$91,$93,$90,$95,$aa,$ee,$bb // scrcode: ...............
        .text "lh"
        .byte $e1                                   // scrcode: .
        .text "a"
        .byte $56,$aa,$ee,$bb                       // scrcode: ....
        .encoding "petscii_upper"

spr_0980:
        .byte $6a,$6a,$aa,$aa                       // scrcode: ....

txt_0984:
        .text "U"
        .byte $40                                   // @ character
        .text "O"
        .byte $40                                   // @ character
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $a4,$93,$52                           // scrcode: ...
        .text "h"
        .byte $e0                                   // scrcode: .
        .text "@"
        .byte $50,$c0,$c0                           // scrcode: ...
        .text "@@@@@@"
        .encoding "petscii_upper"

txt_0998:
        .text "FFFFFFGF"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $aa,$aa,$aa,$aa,$aa,$bb,$ee,$91,$91,$91,$91,$91,$91,$91,$d1,$6a // scrcode: ................
        .byte $6a,$6a,$6a,$6a,$6a,$6e,$7b,$a9,$a9,$a9,$a9,$a9,$a9,$ed,$b9,$91 // scrcode: ................
        .byte $91,$91,$91,$91,$91,$d1,$91           // scrcode: .......
        .text "e"
        .text "@@@@jhh"
        .byte $55                                   // scrcode: .
        .text "@@@@"
        .byte $bf                                   // scrcode: .
        .text "@"
        .byte $55,$fe                               // scrcode: ..
        .text "@@@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$a0                               // scrcode: ..
        .text "@@@@"
        .byte $50                                   // scrcode: .
        .text "pp"
        .byte $91,$91,$91,$91,$93,$90,$d5,$bb       // scrcode: ........
        .text "d"
        .text "llh"
        .byte $e8                                   // scrcode: .
        .text "@"
        .byte $55,$bb,$6a,$6a,$6a,$6a,$6a,$6a,$6e,$bb // scrcode: ..........
        .text "sspsssss"
        .byte $70,$74,$44,$f0,$74,$f4,$74,$74       // scrcode: ........
        .encoding "petscii_upper"

txt_0a10:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@"
        .encoding "petscii_upper"

txt_0a18:
        .text "GEGEEDDD"
        .encoding "screencode_mixed"
        .byte $ff,$dd,$77,$55                       // scrcode: ....
        .text "q"
        .byte $44                                   // scrcode: .
        .text "@@"
        .byte $ff,$dd,$55,$50                       // scrcode: ....
        .text "q"
        .byte $51                                   // scrcode: .
        .text "qq"
        .byte $ff,$dd,$57                           // scrcode: ...
        .text "a"
        .byte $51                                   // scrcode: .
        .text "ddd"
        .byte $55,$dd,$77,$55                       // scrcode: ....
        .text "q"
        .byte $44,$40,$40                           // scrcode: ...
        .text "d"
        .byte $51,$51,$54                           // scrcode: ...
        .text "t"
        .byte $44                                   // scrcode: .
        .text "aa"
        .text "@@@"
        .byte $40,$40,$40                           // scrcode: ...
        .text "pp"
        .encoding "petscii_upper"

txt_0a50:
        .text "GGEEDEDD"
        .encoding "screencode_mixed"
        .byte $ff,$77,$dd,$55,$44                   // scrcode: .....
        .text "q@@"
        .byte $d1,$51,$d1,$51,$51                   // scrcode: .....
        .text "qqq"
        .byte $7f,$5d,$77,$55,$51,$44,$40,$40,$fd,$dd,$75,$55 // scrcode: ............
        .text "q"
        .byte $45                                   // scrcode: .
        .text "aa"
        .byte $d1,$d1,$51,$51                       // scrcode: ....
        .text "q"
        .byte $51                                   // scrcode: .
        .text "qq"
        .text "lllddddl"
        .byte $ff,$dd,$77,$55                       // scrcode: ....
        .text "q"
        .byte $44                                   // scrcode: .
        .text "up"
        .byte $ff,$dd,$77,$55                       // scrcode: ....
        .text "q"
        .byte $44,$55                               // scrcode: ..
        .text "@"
        .byte $ff,$dd,$77,$55                       // scrcode: ....
        .text "q"
        .byte $44,$40,$40                           // scrcode: ...
        .text "pssspspp"
        .byte $44                                   // scrcode: .
        .text "0"
        .byte $74,$f4,$74,$f4,$54                   // scrcode: .....
        .text "@"
        .encoding "petscii_upper"

txt_0ab0:
        .text "DEEGEGGFD"
        .encoding "screencode_mixed"
        .text "q"
        .byte $55,$77,$dd,$ff,$bb,$ee,$51           // scrcode: .......
        .text "q"
        .encoding "petscii_upper"

txt_0ac2:
        .text "QQ"
        .byte $d1                                   // 'Q' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $d1,$91,$d1,$44,$51,$55,$77,$5d,$7f,$7b,$6e,$45 // scrcode: ............
        .text "q"
        .byte $55,$75,$dd,$fd,$b9,$ed               // scrcode: ......
        .encoding "petscii_upper"

txt_0ad8:
        .text "EDEEGGFG"
        .encoding "screencode_mixed"
        .text "q"
        .byte $44,$55,$dd,$77,$ff,$ee,$bb           // scrcode: .......
        .text "q"
        .encoding "petscii_upper"

txt_0ae9:
        .text "QT"
        .byte $d4                                   // 'T' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $75,$ff,$ee,$bb                       // scrcode: ....
        .text "lh"
        .byte $e1                                   // scrcode: .
        .text "a"
        .byte $57,$ff,$ee,$bb,$51,$44,$55,$dd,$77,$ff,$ee,$bb // scrcode: ............
        .text "q"
        .byte $45,$55,$dd,$75,$fd,$ed,$b9,$51       // scrcode: ........
        .text "q"
        .byte $54,$74,$dd,$ff,$bb,$ee               // scrcode: ......
        .text "lh"
        .byte $e1                                   // scrcode: .
        .text "a"
        .byte $55,$ff,$bb,$ee,$44,$51,$55,$77,$dd,$ff,$bb,$ee,$52 // scrcode: .............
        .text "r"
        .encoding "petscii_upper"

txt_0b22:
        .text "SS"
        .byte $d1                                   // 'Q' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $d1,$91,$d1,$bc                       // scrcode: ....
        .text "ddddddd"
        .byte $51,$44,$55,$5d,$77,$7f,$6e,$7b       // scrcode: ........
        .encoding "petscii_upper"

txt_0b38:
        .text "FFFFFFE"
        .byte $40                                   // @ character
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $aa,$aa,$aa,$aa,$aa,$55               // scrcode: ......
        .text "@"
        .byte $91,$91,$91,$93,$93,$93,$52           // scrcode: .......
        .text "b"
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$55           // scrcode: .......
        .text "@"
        .byte $a9,$a9,$a9,$a9,$a9,$a9,$55           // scrcode: .......
        .text "@ppp"
        .encoding "petscii_upper"

txt_0b63:
        .text "000  "
        .encoding "screencode_mixed"
        .text "qqqdda@@"
        .byte $aa,$aa,$aa,$6a,$5a                   // scrcode: .....
        .text "e"
        .byte $50                                   // scrcode: .
        .text "e"
        .byte $aa,$aa,$aa,$aa,$aa,$6a               // scrcode: ......
        .text "u"
        .byte $40,$aa,$aa,$aa,$aa,$aa,$95,$40,$1f,$a4,$a4,$a4,$93,$52 // scrcode: ..............
        .text "h"
        .byte $e0                                   // scrcode: .
        .text "@"
        .byte $40,$c0,$c0                           // scrcode: ...
        .text "@@@@@"
        .byte $55                                   // scrcode: .
        .text "@@@@@@@"
        .byte $5f                                   // scrcode: .
        .text "@@@@@a@"
        .byte $ea                                   // scrcode: .
        .text "aaaac"
        .byte $5f                                   // scrcode: .
        .text "ceacccb"
        .byte $fa                                   // scrcode: .
        .text "b"
        .byte $55                                   // scrcode: .
        .text "@@jhh"
        .byte $bc                                   // scrcode: .
        .text "l"
        .byte $fe                                   // scrcode: .
        .text "@@"
        .byte $bf                                   // scrcode: .
        .text "@"
        .byte $55,$6a,$6a,$a0                       // scrcode: ....
        .text "@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$aa                           // scrcode: ...
        .text "@@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$a9,$a9                           // scrcode: ...
        .text "@@@"
        .byte $50                                   // scrcode: .
        .text "ppp0"
        .text "u@@"
        .byte $af,$80,$c5,$c6,$46,$55               // scrcode: ......
        .text "@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$95,$40                       // scrcode: ....
        .text "@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$56                           // scrcode: ...
        .text "@@@"
        .byte $40                                   // scrcode: .
        .text "t"
        .byte $41,$94,$a4                           // scrcode: ...
        .encoding "petscii_upper"

scr_0c00:
        // === Screen RAM (712 bytes, $0c00-$0ec7) ===
        .encoding "screencode_mixed"
        .text "@@@@bh!1@@@="
        .byte $c0                                   // scrcode: .
        .text "u"
        .byte $6a,$a9                               // scrcode: ..
        .text "u@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$56,$55                       // scrcode: ....
        .text "@@"
        .byte $40                                   // scrcode: .
        .text "t"
        .byte $41,$94,$a4,$40                       // scrcode: ....
        .text "@@@@@"
        .byte $40,$40                               // scrcode: ..
        .text "@@@"
        .byte $ab,$80,$85,$c6,$c6                   // scrcode: .....
        .text "@@@"
        .byte $f5                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$95                           // scrcode: ...
        .text "@@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$56                           // scrcode: ...
        .text "u@@@@@"
        .byte $40,$40,$55                           // scrcode: ...
        .text "@@"
        .byte $ab,$80,$85,$c6,$c6                   // scrcode: .....
        .byte $40                                   // scrcode: .
        .text "@@"
        .byte $f5                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$aa                           // scrcode: ...
        .text "@@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$aa,$55                       // scrcode: ....
        .text "@@"
        .byte $50                                   // scrcode: .
        .text "pp"
        .byte $1f                                   // scrcode: .
        .text "0"
        .byte $5f                                   // scrcode: .
        .encoding "petscii_upper"

txt_0c69:
        .text "0000 "
        .byte $ab                                   // '+' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text " "
        .byte $ea                                   // scrcode: .
        .text "@dddl"
        .byte $ff                                   // scrcode: .
        .text "le@@@@@"
        .byte $f5                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@@@@@"
        .byte $40                                   // scrcode: .
        .text "@"
        .byte $fe                                   // scrcode: .
        .text "@@@@@@@"
        .byte $a0                                   // scrcode: .
        .text "@@@@@@"
        .text "@@@"
        .byte $57                                   // scrcode: .
        .text "@@@@@cb"
        .byte $fa                                   // scrcode: .
        .text "bcccacc"
        .byte $bf                                   // scrcode: .
        .text "aaa@@ld"
        .byte $54                                   // scrcode: .
        .text "de@@j"
        .byte $6a,$6a,$55                           // scrcode: ...
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $f5,$aa,$aa,$55                       // scrcode: ....
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $50,$a9,$a9,$55                       // scrcode: ....
        .text "@"
        .byte $fe                                   // scrcode: .
        .text "@@@"
        .encoding "petscii_upper"

txt_0cd0:
        .text "00  "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@@@"
        .byte $90,$92,$93,$91,$91,$91,$91,$90       // scrcode: ........
        .text "a"
        .byte $d1                                   // scrcode: .
        .text "ddlh"
        .byte $e1                                   // scrcode: .
        .text "a"
        .byte $a9,$a9,$69,$69,$64,$54               // scrcode: ......
        .text "b<pp"
        .encoding "petscii_upper"

txt_0cf2:
        .text "00"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $80                                   // scrcode: .
        .text "@@"
        .byte $c6,$c6                               // scrcode: ..
        .encoding "petscii_upper"

txt_0cfa:
        .text "FFFFFF"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $a4,$92,$93,$91,$91,$93,$90           // scrcode: .......
        .text "a"
        .byte $b1                                   // scrcode: .
        .text "dllh"
        .byte $e8                                   // scrcode: .
        .text "@"
        .byte $a9,$a9,$69,$69,$69,$69,$69,$69,$c6   // scrcode: .........
        .encoding "petscii_upper"

txt_0d19:
        .text "FFFFFFF"
        .encoding "screencode_mixed"
        .byte $90,$92,$92,$93,$93,$91,$91,$91       // scrcode: ........
        .text "a"
        .byte $b1                                   // scrcode: .
        .text "dddddd"
        .byte $95,$90,$92,$93,$93,$90,$95,$aa,$55   // scrcode: .........
        .text "@"
        .byte $f5                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$aa,$55                           // scrcode: ...
        .text "@"
        .byte $5f                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "a"
        .byte $51,$91                               // scrcode: ..
        .encoding "petscii_upper"

txt_0d48:
        .text "0 "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $55                                   // scrcode: .
        .text "@@@@000"
        .byte $7f                                   // scrcode: .
        .text "0pppllh"
        .byte $ea                                   // scrcode: .
        .text "hlll@@@"
        .byte $ff                                   // scrcode: .
        .text "@@@@@@@"
        .byte $55                                   // scrcode: .
        .text "@@@@aaa"
        .text "@@@@@hllddddd@"
        .byte $55,$6d,$7d,$75,$51,$44,$51           // scrcode: .......
        .text "ppppp"
        .byte $45,$40,$55                           // scrcode: ...
        .text "@@@@@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@@@"
        .text "@@"
        .byte $50                                   // scrcode: .
        .text "pp"
        .encoding "petscii_upper"

txt_0da0:
        .text "GFGEEDDE"
        .encoding "screencode_mixed"
        .byte $95,$ee,$ff,$d5,$50,$52               // scrcode: ......
        .text "sq"
        .byte $55,$ee,$ff,$57                       // scrcode: ....
        .text "a"
        .byte $d1                                   // scrcode: .
        .text "dda"
        .byte $54,$f4,$75,$55                       // scrcode: ....
        .text "q"
        .byte $41,$45                               // scrcode: ..
        .text "@"
        .byte $40,$40                               // scrcode: ..
        .text "ppppp"
        .encoding "petscii_upper"

txt_0dc8:
        .text "GFGGEEDD"
        .encoding "screencode_mixed"
        .byte $95,$ee,$ff,$55,$50                   // scrcode: .....
        .text "rr"
        .byte $53,$55,$ee,$ff,$55                   // scrcode: .....
        .text "@"
        .byte $bc                                   // scrcode: .
        .text "dd"
        .byte $79,$ed,$fd,$75                       // scrcode: ....
        .encoding "petscii_upper"

txt_0de4:
        .text "UQAEFFGGEEDD"
        .encoding "screencode_mixed"
        .byte $91,$d1,$d1,$51,$51                   // scrcode: .....
        .text "qs"
        .byte $50                                   // scrcode: .
        .text "dddllh"
        .byte $e1                                   // scrcode: .
        .text "a"
        .byte $69,$79,$7d,$5d,$55,$45               // scrcode: ......
        .text "a"
        .encoding "petscii_upper"

txt_0e07:
        .text "EFGGEEDDE"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $95,$d0,$d2,$53,$53                   // scrcode: .....
        .text "pu"
        .byte $aa,$55                               // scrcode: ..
        .text "@"
        .byte $f5                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$93,$53                           // scrcode: ...
        .text "b"
        .byte $fa                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "pp@@@@@@lldddd@@d"
        .text "daa@@@@"
        .byte $55,$77,$1f                           // scrcode: ...
        .text "v"
        .byte $41                                   // scrcode: .
        .text "ta@"
        .byte $55,$77,$ff,$ee,$55                   // scrcode: .....
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$75,$fd,$ed,$55                   // scrcode: .....
        .text "@"
        .byte $fe                                   // scrcode: .
        .text "@p"
        .encoding "petscii_upper"

txt_0e59:
        .text "000  "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

txt_0e60:
        .text "EGGFE"
        .byte $40                                   // @ character
        .text "U"
        .byte $00                                   // string terminator

txt_0e68:
        .text "QQ"
        .byte $d3                                   // 'S' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $d3,$52                               // scrcode: ..
        .text "b"
        .byte $fa                                   // scrcode: .
        .text "@dddddde@"
        .byte $55,$5d,$7d,$79,$55                   // scrcode: .....
        .text "@"
        .byte $7f                                   // scrcode: .
        .text "@"
        .encoding "petscii_upper"

txt_0e80:
        .text "EEGGE"
        .byte $40                                   // @ character
        .text "U"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .byte $53,$d1,$d1,$93,$53                   // scrcode: .....
        .text "b"
        .byte $fa                                   // scrcode: .
        .text "@pp"
        .encoding "petscii_upper"

txt_0e92:
        .text "000 "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@"
        .byte $55,$dd,$ff,$bb,$55                   // scrcode: .....
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55,$dd,$ff,$bb,$55                   // scrcode: .....
        .text "@"
        .byte $57                                   // scrcode: .
        .text "@"
        .byte $55,$dd,$f4,$94                       // scrcode: ....
        .encoding "petscii_upper"

txt_0eac:
        .text "B8"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

txt_0eb0:
        .text "00"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $80                                   // scrcode: .
        .text "@@@@"
        .byte $55,$75,$fd,$ed,$55                   // scrcode: .....
        .text "@"
        .byte $5f                                   // scrcode: .
        .text "@ppp"
        .encoding "petscii_upper"

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

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

// --- Region $0f00-$0fff ---
.pc = $0f00 "tbl_0f00"

tbl_0f00:
        // === VIC register table (256 bytes, $0f00-$0fff) ===
        .byte $7e,$7b,$78,$75,$72,$6f,$6c,$69,$66,$63,$60,$5d // ~{xurolifc`]

txt_0f0c:
        .text "ZWTQNKHEC"
        .byte $40                                   // @ character
        .text "=;8530.+)'%"
        .byte $22                                   // double quote character
        .text " "
        .byte $1e,$1c,$1a,$18,$17,$15,$13,$12,$10,$0e,$0d,$0c,$0a,$09,$08,$07 // ................
        .byte $06,$05,$04,$03,$03,$02,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$01,$01,$02,$03,$03,$04,$05,$06,$07,$08,$09,$0a,$0c // ................
        .byte $0d,$0f,$10,$12,$13,$15,$17,$19,$1b,$1c,$1e // ...........

txt_0f5e:
        .text "!#%'),.1368;="
        .byte $40                                   // @ character
        .text "CFHKNQTWZ"
        .byte $5d,$60,$63,$66,$69,$6c,$6f,$72,$75,$79,$7c,$7f,$82,$85,$88,$8b // ]`cfiloruy|.....
        .byte $8e,$91,$95,$98,$9b,$9e,$a1,$a4,$a7,$aa,$ad,$af,$b2,$b5,$b8,$bb // ................
        .byte $bd,$c0,$c3,$c5,$c8,$ca,$cd,$cf,$d2,$d4,$d6,$d9,$db,$dd,$df,$e1 // ................
        .byte $e3,$e5,$e7,$e8,$ea,$ec,$ed,$ef,$f0,$f1,$f3,$f4,$f5,$f6,$f7,$f8 // ................
        .byte $f9,$fa,$fb,$fb,$fc,$fc,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd // ................
        .byte $fc,$fc,$fc,$fb,$fa,$fa,$f9,$f8,$f7,$f6,$f5,$f4,$f2,$f1,$f0,$ee // ................
        .byte $ed,$eb,$ea,$e8,$e6,$e4,$e2,$e0,$de,$dc,$da,$d8,$d6,$d3,$d1,$cf // ................
        .byte $cc,$ca,$c7,$c5,$c2,$bf,$bd,$ba,$b7,$b4,$b1,$af,$ac,$a9,$a6,$a3 // ................
        .byte $a0,$9d,$9a,$97,$94,$91,$8d,$8a,$87,$84,$81 // ...........

// --- Region $1004-$1032 ---
.pc = $1004 "Segment $1004"
        .byte $40,$41,$41,$4d,$41,$4d,$4d,$45,$4d,$45,$45,$4b,$45,$4b,$4b,$40 // scrcode: ................
        .byte $4b,$40,$40,$4b,$40,$4b,$4b,$45,$4b,$45,$45,$4d,$45,$4d,$4d,$41 // scrcode: ................
        .byte $4d,$41,$41,$4d,$41,$4d,$41,$41       // scrcode: ........
        .byte $40,$40,$40,$40,$40,$40,$40           // scrcode: .......

// --- Region $1040-$104f ---
.pc = $1040 "spr_1040"

spr_1040:
        // === Sprite data (16 bytes, $1040-$104f) ===
        .byte $bd,$03,$10                           // #.####.#......##...#....
        .byte $24,$ea,$4c                           // ..#..#..###.#.#..#..##..
        .byte $7e,$10

scr_1048:
        // === Screen RAM (8 bytes, $1048-$104f) ===
        .encoding "screencode_mixed"
        .text "gfedcba@"
        .encoding "petscii_upper"

// --- Region $114b-$1170 ---
.pc = $114b "Segment $114b"
        .encoding "screencode_mixed"
        .byte $a2                                   // scrcode: .
        .text "0"
        .byte $86                                   // scrcode: .
        .text "a"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "@."
        .byte $9d                                   // scrcode: .
        .text "ah"
        .byte $e8,$d0,$f7,$ee,$4c                   // scrcode: .....
        .text "c"
        .byte $ee,$49                               // scrcode: ..
        .text "c"
        .byte $d0,$ed,$a9                           // scrcode: ...
        .text "7"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $85,$c6,$8d                           // scrcode: ...
        .text "@h"
        .byte $58,$4c,$e2,$fc                       // scrcode: ....
        .encoding "petscii_upper"

// --- Region $1233-$12c3 ---
.pc = $1233 "scr_1233"

scr_1233:
        // === Screen RAM (145 bytes, $1233-$12c3) ===
        .encoding "screencode_mixed"
        .byte $c9                                   // scrcode: .
        .text "."
        .byte $d0                                   // scrcode: .
        .text "b"
        .byte $a9,$1b,$c9                           // scrcode: ...
        .text ","
        .byte $d0                                   // scrcode: .
        .text "b"
        .byte $a9,$1c,$c9                           // scrcode: ...
        .text "!"
        .byte $d0                                   // scrcode: .
        .text "b"
        .byte $a9,$1d,$c9                           // scrcode: ...
        .text "-"
        .byte $d0                                   // scrcode: .
        .text "b"
        .byte $a9,$1e,$aa,$bd,$9b                   // scrcode: .....
        .text "s8"
        .byte $e9                                   // scrcode: .
        .text "a"
        .byte $85,$ed,$bd,$ba                       // scrcode: ....
        .text "s"
        .byte $a0                                   // scrcode: .
        .text "@"
        .byte $c9                                   // scrcode: .
        .text "'"
        .byte $90                                   // scrcode: .
        .text "t"
        .byte $c8                                   // scrcode: .
        .text "8"
        .byte $e9                                   // scrcode: .
        .text "("
        .byte $c9                                   // scrcode: .
        .text "&"
        .byte $90                                   // scrcode: .
        .text "l8"
        .byte $e9                                   // scrcode: .
        .text "("
        .byte $c8,$c9                               // scrcode: ..
        .text "&"
        .byte $90                                   // scrcode: .
        .text "d8"
        .byte $e9                                   // scrcode: .
        .text "("
        .byte $c8,$8d,$db                           // scrcode: ...
        .text "r"
        .byte $be,$93                               // scrcode: ..
        .text "s"
        .byte $86,$e0,$be,$97                       // scrcode: ....
        .text "s"
        .byte $86,$e1,$a2                           // scrcode: ...
        .text "@"
        .byte $a8,$b1,$e0                           // scrcode: ...
        .byte $9d,$d9                               // scrcode: ..
        .text "s"
        .byte $c8,$e8,$e0                           // scrcode: ...
        .text "g"
        .byte $d0,$f5                               // scrcode: ..
        .text " "
        .byte $cb                                   // scrcode: .
        .text "r"
        .byte $b1,$e0,$9d,$e0                       // scrcode: ....
        .text "s"
        .byte $c8,$e8,$e0                           // scrcode: ...
        .text "g"
        .byte $d0,$f5                               // scrcode: ..
        .text " "
        .byte $cb                                   // scrcode: .
        .text "r"
        .byte $b1,$e0,$9d,$e7                       // scrcode: ....
        .text "s"
        .byte $c8,$e8,$e0                           // scrcode: ...
        .text "g"
        .byte $d0,$f5                               // scrcode: ..
        .text " "
        .byte $cb                                   // scrcode: .
        .text "r"
        .byte $b1,$e0,$9d,$ee                       // scrcode: ....
        .text "s"
        .byte $c8,$e8,$e0                           // scrcode: ...
        .text "g"
        .byte $d0,$f5                               // scrcode: ..
        .text " "
        .byte $cb                                   // scrcode: .
        .text "r"
        .byte $b1,$e0,$9d,$f5                       // scrcode: ....
        .text "s"
        .byte $c8,$e8,$e0                           // scrcode: ...
        .text "g"
        .byte $d0,$f5                               // scrcode: ..
        .encoding "petscii_upper"

// --- Region $12cc-$12dd ---
.pc = $12cc "Segment $12cc"
        .encoding "screencode_mixed"
        .byte $e0                                   // scrcode: .
        .text "x"
        .byte $69                                   // scrcode: .
        .text "("
        .byte $85,$e0,$a5,$e1,$69                   // scrcode: .....
        .text "@"
        .byte $85,$e1,$a2                           // scrcode: ...
        .text "@"
        .byte $a0                                   // scrcode: .
        .text "@"
        .byte $60                                   // scrcode: .
        .text "@"
        .encoding "petscii_upper"

// --- Region $1390-$13d9 ---
.pc = $1390 "scr_1390"

scr_1390:
        // === Screen RAM (74 bytes, $1390-$13d9) ===
        .encoding "screencode_mixed"
        .text "@@@@"
        .byte $c8,$90,$58                           // scrcode: ...
        .text "##$%@eeeeeeeeceeegeeeeeeeeegeeecc"
        .text "cf@@ejoty"
        .byte $1e                                   // scrcode: .
        .encoding "petscii_upper"

txt_13c2:
        .text "#(+05:AFKPUZ"
        .byte $5f,$64,$69,$6e,$78,$7d,$82,$87,$8a,$8d,$90 // scrcode: ...........

dat_13d9:
        // === Fill data (1 bytes, $13d9-$13d9) ===
        .byte $00                                   // .

// --- Region $14b1-$14d3 ---
.pc = $14b1 "Segment $14b1"
        .byte $4f,$55
        .byte $52,$20,$4c                           // .#.#..#...#......#..##..
        .byte $4f,$43,$41                           // .#..####.#....##.#.....#
        .byte $4c,$20,$44                           // .#..##....#......#...#..
        .byte $45,$41,$4c                           // .#...#.#.#.....#.#..##..
        .byte $45,$52,$41                           // .#...#.#.#.#..#..#.....#
        .byte $41,$4d,$43                           // .#.....#.#..##.#.#....##
        .byte $45,$4c,$4b                           // .#...#.#.#..##...#..#.##
        .byte $40,$4b,$4c                           // .#.......#..#.##.#..##..
        .byte $45,$43,$4d                           // .#...#.#.#....##.#..##.#
        .byte $41,$41,$41                           // .#.....#.#.....#.#.....#
        .byte $41,$41

dat_14d3:
        // === Fill data (1 bytes, $14d3-$14d3) ===
        .byte $00                                   // .

// --- Region $1519-$1554 ---
.pc = $1519 "Segment $1519"
        .byte $00,$07,$0e,$01,$02,$04,$08,$10,$20,$40,$80,$00,$02,$04,$06,$08 // ........ @......
        .byte $0a,$0c,$0e,$10,$2f,$15,$b1,$1a,$f5,$1a,$57,$1b,$b1,$1a,$f5,$1a // ..../.....W.....
        .byte $57,$1b,$00,$00,$16,$01,$27,$01,$39,$01,$4b,$01,$5f,$01,$74,$01 // W.....'.9.K._.t.
        .byte $8a,$01,$a1,$01,$ba,$01,$d4,$01,$f0,$01,$0e,$02 // ............

// --- Region $1626-$162d ---
.pc = $1626 "dat_1626"

dat_1626:
        .byte $a9,$01,$2c,$19,$d0                   // ..,..

txt_162b:
        .text ", "
        .byte $d0                                   // 'P' | $80 (end-of-string marker)

// --- Region $1666-$1681 ---
.pc = $1666 "Segment $1666"
        .byte $f3,$03,$03,$03,$58,$00,$20,$04,$a0,$34,$58,$00,$20,$04,$a0,$34 // ....X. ..4X. ..4
        .fill 12, $00

// --- Region $1695-$16a1 ---
.pc = $1695 "Segment $1695"
        .byte $ff,$01,$01,$01,$01,$01,$01,$ff,$ff,$ff,$ff,$ff,$ff // .............

// --- Region $16d6-$16e6 ---
.pc = $16d6 "Segment $16d6"
        .byte $05,$03,$01,$02,$01,$00,$07,$04,$00,$07,$03,$00,$08,$60,$00,$0d // .............`..
        .byte $11                                   // .

// --- Region $1ab2-$2280 ---
.pc = $1ab2 "Segment $1ab2"
        .encoding "screencode_mixed"
        .byte $1b,$8a,$1b,$8a,$1b,$b5,$1b,$b5,$1b,$e0,$1b,$e0,$1b // scrcode: .............
        .text "k"
        .byte $1c                                   // scrcode: .
        .text "k"
        .byte $1c,$8a,$1b,$8a,$1b,$b5,$1b,$b5,$1b,$e0,$1b,$e0,$1b // scrcode: .............
        .text "k"
        .byte $1c                                   // scrcode: .
        .text "k"
        .byte $1c,$8a,$1b,$8a,$1b,$b5,$1b,$b5       // scrcode: ........
        .byte $1b,$e0,$1b,$e0,$1b                   // scrcode: .....
        .text "k"
        .byte $1c                                   // scrcode: .
        .text "k"
        .byte $1c,$8a,$1b,$8a,$1b,$b5,$1b,$b5,$1b,$e0,$1b,$e0,$1b // scrcode: .............
        .text "k"
        .byte $1c                                   // scrcode: .
        .text "k"
        .byte $1c,$ff,$ff                           // scrcode: ...
        .text "#"
        .byte $1e                                   // scrcode: .
        .text "6"
        .byte $1c                                   // scrcode: .
        .text "6"
        .byte $1c,$56,$1c,$56,$1c,$76,$1c,$76       // scrcode: ........
        .byte $1c,$96,$1c,$96,$1c,$42,$1d,$42,$1d,$42,$1d,$42,$1d,$57,$1d,$57 // scrcode: ................
        .byte $1d,$57,$1d,$57,$1d,$69,$1d,$69,$1d,$69,$1d,$69,$1d,$7b,$1d,$7b // scrcode: ................
        .byte $1d,$63,$1b                           // scrcode: ...
        .text "6"
        .byte $1c                                   // scrcode: .
        .text "6"
        .byte $1c,$56                               // scrcode: ..
        .byte $1c,$56,$1c,$76,$1c,$76,$1c,$96,$1c,$96,$1c,$8d,$1d,$8d,$1d,$8d // scrcode: ................
        .byte $1d,$8d,$1d,$b1,$1d,$b1,$1d,$b1,$1d,$b1,$1d,$d5,$1d,$d5,$1d,$d5 // scrcode: ................
        .byte $1d,$d5,$1d,$ff,$1d,$ff,$1d,$ff       // scrcode: ........
        .byte $1d,$ff,$1d,$ff,$ff                   // scrcode: .....
        .text "#"
        .byte $1e,$b6,$1c,$b6,$1c,$b6,$1c,$b6,$1c,$ff,$ff,$fe // scrcode: ............
        .text "*"
        .byte $1e,$43                               // scrcode: ..
        .text "d3d#dsdsd#d3d"
        .byte $43                                   // scrcode: .
        .text "d"
        .byte $53                                   // scrcode: .
        .text "d"
        .byte $63                                   // scrcode: .
        .text "d"
        .byte $73                                   // scrcode: .
        .text "d"
        .byte $83                                   // scrcode: .
        .text "d"
        .byte $93                                   // scrcode: .
        .text "d"
        .byte $a3                                   // scrcode: .
        .text "d"
        .byte $b3                                   // scrcode: .
        .text "d"
        .byte $c3                                   // scrcode: .
        .text "dt"
        .byte $40,$ff,$ff,$fe                       // scrcode: ....
        .text "2"
        .byte $1e                                   // scrcode: .
        .text "qpqhrh"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e                                   // scrcode: .
        .text "qhqhrhq"
        .text "hqhrh"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e                                   // scrcode: .
        .text "qhqh"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text "2"
        .byte $1e,$80                               // scrcode: ..
        .text "p"
        .byte $80                                   // scrcode: .
        .text "h"
        .byte $81                                   // scrcode: .
        .text "h"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e,$80                               // scrcode: ..
        .text "h"
        .byte $80                                   // scrcode: .
        .text "h"
        .byte $81                                   // scrcode: .
        .text "h"
        .byte $80                                   // scrcode: .
        .text "h"
        .byte $80                                   // scrcode: .
        .text "h"
        .byte $81                                   // scrcode: .
        .text "h"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e,$80                               // scrcode: ..
        .text "h"
        .byte $80                                   // scrcode: .
        .text "h"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text "2"
        .byte $1e,$a0                               // scrcode: ..
        .text "p"
        .byte $a0                                   // scrcode: .
        .text "h"
        .byte $a1                                   // scrcode: .
        .text "h"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e,$a0                               // scrcode: ..
        .text "h"
        .byte $a0                                   // scrcode: .
        .text "h"
        .byte $a1                                   // scrcode: .
        .text "h"
        .byte $a0                                   // scrcode: .
        .text "h"
        .byte $a0                                   // scrcode: .
        .text "h"
        .byte $a1                                   // scrcode: .
        .text "h"
        .byte $fe,$52,$1e                           // scrcode: ...
        .encoding "petscii_upper"

scr_1c00:
        // === Screen RAM (1024 bytes, $1c00-$1fff) ===
        .encoding "screencode_mixed"
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e,$a0                               // scrcode: ..
        .text "h"
        .byte $a0                                   // scrcode: .
        .text "h"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text "2"
        .byte $1e,$60                               // scrcode: ..
        .text "p"
        .byte $60                                   // scrcode: .
        .text "h"
        .byte $61                                   // scrcode: .
        .text "h"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e,$60                               // scrcode: ..
        .text "h"
        .byte $60                                   // scrcode: .
        .text "h"
        .byte $61                                   // scrcode: .
        .text "h"
        .byte $60                                   // scrcode: .
        .text "h"
        .byte $60                                   // scrcode: .
        .text "h"
        .byte $61                                   // scrcode: .
        .text "h"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "tp"
        .byte $fe                                   // scrcode: .
        .text "2"
        .byte $1e,$60                               // scrcode: ..
        .text "h"
        .byte $60                                   // scrcode: .
        .text "h"
        .byte $ff,$ff,$fe,$52,$1e                   // scrcode: .....
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "t-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "t-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "t"
        .byte $1d,$ff,$ff,$fe,$52,$1e               // scrcode: ......
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$83                               // scrcode: ..
        .text "-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$83                               // scrcode: ..
        .text "-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$83,$1d,$ff,$ff,$fe,$52           // scrcode: .......
        .byte $1e                                   // scrcode: .
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a3                               // scrcode: ..
        .text "-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a3                               // scrcode: ..
        .text "-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a3,$1d,$ff,$ff,$fe,$52,$1e       // scrcode: ........
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$63                               // scrcode: ..
        .text "-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$63                               // scrcode: ..
        .text "-"
        .byte $fe,$52,$1e                           // scrcode: ...
        .text "uc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$63,$1d,$ff,$ff,$fe,$4a,$1e       // scrcode: ........
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "u"
        .byte $5d,$fe,$4a,$1e                       // scrcode: ....
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .byte $84,$1d,$fe,$4a,$1e                   // scrcode: .....
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "u"
        .byte $1d,$fe,$4a,$1e                       // scrcode: ....
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$84,$1d,$fe,$4a,$1e               // scrcode: ......
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "u"
        .byte $1d,$fe,$4a,$1e                       // scrcode: ....
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .byte $84,$1d,$fe,$4a,$1e                   // scrcode: .....
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$84,$7d,$fe,$5e,$1e               // scrcode: ......
        .text "rp"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e                                   // scrcode: .
        .text "sxspshsp"
        .byte $43                                   // scrcode: .
        .text "h"
        .byte $43                                   // scrcode: .
        .text "h"
        .byte $43                                   // scrcode: .
        .text "hshshsh"
        .byte $fe,$4a,$1e                           // scrcode: ...
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a4,$bd,$fe,$4a,$1e               // scrcode: ......
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a4,$1d,$fe,$4a,$1e               // scrcode: ......
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$84,$1d,$fe,$4a,$1e               // scrcode: ......
        .text "vc"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e,$64,$fd                           // scrcode: ...
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text "6"
        .byte $1e                                   // scrcode: .
        .text "sh"
        .byte $84                                   // scrcode: .
        .text "huhsh"
        .byte $c4                                   // scrcode: .
        .text "huhsh"
        .byte $84                                   // scrcode: .
        .text "h"
        .byte $ff,$ff,$83                           // scrcode: ...
        .text "h"
        .byte $84                                   // scrcode: .
        .text "huh"
        .byte $83                                   // scrcode: .
        .text "h"
        .byte $c4                                   // scrcode: .
        .text "huh"
        .byte $83                                   // scrcode: .
        .text "h"
        .byte $84                                   // scrcode: .
        .text "h"
        .byte $ff                                   // scrcode: .
        .byte $ff,$a3                               // scrcode: ..
        .text "h"
        .byte $a4                                   // scrcode: .
        .text "huh"
        .byte $a3                                   // scrcode: .
        .text "h"
        .byte $c4                                   // scrcode: .
        .text "huh"
        .byte $a3                                   // scrcode: .
        .text "h"
        .byte $a4                                   // scrcode: .
        .text "h"
        .byte $ff,$ff,$63                           // scrcode: ...
        .text "h"
        .byte $64                                   // scrcode: .
        .text "huh"
        .byte $63                                   // scrcode: .
        .text "h"
        .byte $c4                                   // scrcode: .
        .text "huh"
        .byte $63                                   // scrcode: .
        .text "h"
        .byte $64                                   // scrcode: .
        .text "h"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text ":"
        .byte $1e                                   // scrcode: .
        .byte $82                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $83                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $83                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $83                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $83                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a3                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $fe                                   // scrcode: .
        .text "."
        .byte $1e,$a3                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $ff,$ff,$fe                           // scrcode: ...
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "t"
        .text "h"
        .byte $63                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $63                                   // scrcode: .
        .text "h"
        .byte $fe                                   // scrcode: .
        .text ":"
        .byte $1e,$82                               // scrcode: ..
        .text "h"
        .byte $fe                                   // scrcode: .
        .text "*"
        .byte $1e                                   // scrcode: .
        .text "th"
        .byte $ff,$ff,$fe,$5e,$1e                   // scrcode: .....
        .text "@"
        .byte $80,$ff,$ff,$41                       // scrcode: ....
        .text "@"
        .byte $7c,$40,$41                           // scrcode: ...
        .text "@"
        .byte $7c                                   // scrcode: .
        .text "b"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $fa                                   // scrcode: .
        .text "h"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $5c                                   // scrcode: .
        .text "q"
        .byte $81                                   // scrcode: .
        .text "@"
        .byte $f9                                   // scrcode: .
        .text "d"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $dc                                   // scrcode: .
        .text "q"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $df                                   // scrcode: .
        .text "q"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $fd,$80                               // scrcode: ..
        .text "v@"
        .byte $f9                                   // scrcode: .
        .text "@v@"
        .byte $f1                                   // scrcode: .
        .text "@"
        .byte $81                                   // scrcode: .
        .text "@"
        .byte $a9                                   // scrcode: .
        .text "p"
        .byte $81                                   // scrcode: .
        .text "@"
        .byte $f7                                   // scrcode: .
        .text "pq@"
        .byte $fc                                   // scrcode: .
        .text " @@@@"
        .byte $e2,$fc                               // scrcode: ..
        .text "."
        .byte $e2,$fc,$ca,$d0,$e9,$a9               // scrcode: ......
        .text "@"
        .byte $8d                                   // scrcode: .
        .text " "
        .byte $d0,$8d                               // scrcode: ..
        .text "!"
        .byte $d0,$a9                               // scrcode: ..
        .text "6"
        .byte $85                                   // scrcode: .
        .text "a @ "
        .byte $a9                                   // scrcode: .
        .text "7"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $4c                                   // scrcode: .
        .text "1"
        .byte $ea                                   // scrcode: .
        .byte $57,$9e                               // scrcode: ..
        .text "@@@@@@kkkkllllooooaaaaoooo@lllkkkk"
        .byte $ff                                   // scrcode: .
        .text "aol"
        .text "kloaolklo"
        .byte $cb,$8c                               // scrcode: ..
        .text "b"
        .byte $cb                                   // scrcode: .
        .text "@@@@@@@@@@@ 3 rough trade i"
        .text "ncorporated presents   bmx freestyle. fr"
        .text "om codemasters.craacked by rti. greeting"
        .text "s to.action..f4cg..sharks..xfactor..cont"
        .text "ex..derbyram..zeb wot..tbi..falcon..unib"
        .text "it..gp fe..asi..oneway..fbr..special tha"
        .text "nx to x-ray"
        .encoding "petscii_upper"

txt_1fa3:
        .text ".      "
        .encoding "screencode_mixed"
        .text "later"
        .encoding "petscii_upper"

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

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

spr_2000:
        // === Bitmap data (641 bytes, $2000-$2280) ===
        .fill 8, $ff
        .fill 8, $00
        .fill 8, $f0
        .fill 8, $0f
        .byte $ff,$ff,$fc,$f0,$f0,$c0,$c0,$c0,$f0,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $ff,$0f,$03,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$3f,$3f,$3f // .............???

spr_2040:
        .byte $00,$f0,$f0,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$3f // ...............?
        .byte $0f,$0f,$0f,$ff,$ff,$ff,$ff,$ff,$00,$f0,$f0,$f0,$f0,$f0,$f0,$00 // ................
        .byte $00,$f0,$f0,$ff,$ff,$f0,$f0,$00,$00,$00,$00,$ff,$ff,$00,$00,$00 // ................
        .byte $0f,$0f,$0f,$ff,$ff,$0f,$0f,$0f,$00,$f0,$f0,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$ff,$ff       // ........

txt_2088:
        .text "??????"
        .byte $ff,$ff,$00,$f0,$f0,$f0,$f0,$f0,$f0,$f0
        .byte $c0,$c0,$c0,$f0,$f0,$fc,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$f0 // ................
        .byte $00,$00,$00,$00,$00,$03,$0f,$ff,$3f,$3f,$3f,$ff,$ff,$ff,$ff,$ff // ........???.....
        .byte $00,$00,$00,$00,$00,$00,$00,$c0,$00,$00,$ff,$ff,$f0,$f0,$00,$00 // ................
        .byte $00,$00,$ff,$ff,$00,$00,$00,$00,$0f,$0f,$ff,$ff,$0f,$0f,$0f,$3f // ...............?
        .byte $00,$00,$ff,$ff,$00,$00,$00,$c0,$00,$00,$f0,$f0,$f0,$f0,$00,$00 // ................
        .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$3f,$c0,$c0,$f0,$f0,$fc,$ff,$ff,$ff // .......?........
        .byte $00,$00,$00,$00,$00,$00,$f0,$ff       // ........

spr_2100:
        .byte $00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$00,$03,$0f,$ff,$ff // ................
        .byte $3f,$3f,$ff,$ff,$ff,$ff,$ff,$ff,$f0,$f0,$f0,$f0,$f0,$f0,$f0,$ff // ??..............
        .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$ff,$f0,$f0,$f0,$f0,$f0,$00,$00,$00 // ................
        .byte $0f,$0f,$0f,$3f,$3f,$3f,$ff,$ff,$00,$00,$00,$00,$00,$00,$f0,$f0 // ...???..........
        .byte $03,$0f,$03,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$f0,$f0,$00 // ................
        .byte $ff,$ff,$ff,$ff,$ff,$00,$00,$00,$ff,$ff,$ff,$ff,$ff,$0f,$0f,$0f // ................
        .byte $00,$00,$00,$c0,$c0,$c0,$c0,$c0,$00,$00,$00 // ...........

txt_216b:
        .text "00000"
        .byte $00,$00,$00,$f0,$f0,$f0,$f0,$f0,$ff,$ff,$ff
        .byte $ff,$00,$00,$00,$c0,$ff,$ff,$ff,$ff,$00,$00,$00,$00,$f0,$f0,$f0 // ................
        .byte $f0,$f0,$f0,$00,$00,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0 // .............

txt_2198:
        .fill 8, $30
        .byte $00,$00,$00,$ff,$ff,$ff,$ff,$ff,$00,$00,$c0,$c0,$c0,$f0,$f0,$fc // ................
        .byte $00,$ff,$ff,$ff,$ff,$f0,$f0,$00,$0f,$ff,$ff,$ff,$ff,$00,$00,$00 // ................

spr_21c0:
        .byte $f0,$f0,$f0,$f0,$f0,$f0,$f0,$00,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$00 // ................

txt_21d0:
        .text "0000000"
        .byte $00,$00,$f0,$ff,$ff,$00,$00,$00,$00
        .byte $00,$00,$c0,$c0,$f0,$f0,$f0,$fc,$f0,$f0,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$03,$03,$0f,$0f,$3f,$3f,$ff,$ff,$ff,$ff // ..........??....
        .byte $fc,$ff,$ff,$ff,$ff,$ff,$ff,$fc,$00,$00,$00,$c0,$c0,$00,$00,$00 // ................
        .byte $03,$0f,$0f,$3f,$3f,$0f,$0f,$03,$00,$ff,$ff,$ff,$ff,$ff,$ff,$fc // ...??...........
        .byte $00,$f0,$f0,$c0,$c0,$00,$00,$00,$03,$0f,$0f,$3f,$3f,$ff,$ff,$00 // ...........??...
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$0f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$00 // ................
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$c0,$00,$00,$00,$00,$00,$ff,$ff,$00 // ................
        .byte $0f,$0f,$0f,$0f,$0f,$ff,$ff,$0f,$fc,$fc,$f0,$f0,$c0,$c0,$00,$00 // ................
        .byte $03,$03,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$3f,$3f,$0f,$0f // ............??..
        .byte $00,$00,$00,$00,$ff,$ff,$ff,$ff
        .text "????"
        .byte $ff,$ff,$ff,$ff

dat_2280:
        // === Fill data (1 bytes, $2280-$2280) ===
        .byte $00                                   // .

// --- Region $2305-$23d6 ---
.pc = $2305 "dat_2305"

dat_2305:
        .byte $01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$02,$01,$03,$00 // ................
        .byte $00,$00,$00,$00,$04,$05,$01,$06,$07,$00,$00,$00,$00,$00,$01,$01 // ................
        .byte $00,$00,$00,$04,$05,$01,$01,$03,$01,$01,$01,$06,$07,$04,$05,$01 // ................
        .byte $06,$07,$04,$05,$01,$01,$03,$04,$05,$01,$06 // ...........

spr_2340:
        .byte $07,$01,$01,$08,$09,$0a,$04,$05,$01,$06,$07,$01,$01,$01,$06,$07 // ................
        .byte $01,$01,$0b,$01,$03,$01,$01,$0b,$01,$03,$01,$01,$0c,$0d,$0e,$01 // ................
        .byte $01,$0b,$01,$03,$01,$01,$0f,$01,$03,$01,$01,$10,$11,$00,$01,$01 // ................
        .byte $0f,$01,$03,$01,$01,$12,$01,$03,$13,$14,$01,$01,$03,$13,$14,$01 // ................
        .byte $15,$16,$13,$14,$01,$15,$16,$13,$14,$01,$15,$16,$17,$01,$18,$19 // ................
        .byte $1a,$01,$01,$00,$00,$00,$1b,$19,$1c,$01,$1d,$01,$01,$02,$01,$03 // ................
        .fill 20, $00
        .byte $1e,$1f                               // ..

txt_23b6:
        .text " !"
        .byte $22                                   // double quote
        .text "  "
        .byte $00,$00,$00,$1e,$1f
        .byte $20,$21,$22,$00,$00
        .byte $23
        .byte $20,$24,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$00,$00,$00,$01 //  $..............
        .byte $01                                   // .

// --- Region $23f0-$253f ---
.pc = $23f0 "dat_23f0"

dat_23f0:
        .byte $01,$01,$03,$00,$00,$02,$01,$03,$01,$01,$25,$01,$26,$01,$01,$00 // ..........%.&...

scr_2400:
        .byte $00,$00,$04,$05,$01,$01,$01,$06,$07,$04,$05,$01,$06,$07,$04,$05 // ................
        .byte $01,$06,$07,$01,$01,$01,$06,$07,$01,$01,$03,$00,$00,$02,$01,$03 // ................
        .byte $01,$01,$27,$28,$07,$01,$01,$29,$2a,$2b,$01,$01,$2c,$01,$2d,$01 // ..'(...)*+..,.-.
        .byte $03,$01,$01,$2e,$01,$03,$01,$01,$0b,$01,$03,$01,$01,$0b,$01,$03 // ................

spr_2440:
        .byte $13,$14,$03,$2f,$30,$31,$01,$1d,$01,$01,$02,$01,$03,$13,$14,$01 // .../01..........
        .byte $15,$16,$01,$01,$32,$01,$33,$01,$03,$01,$01,$02,$01,$03,$13,$14 // ....2.3.........
        .byte $01,$15,$16,$01,$01,$01,$15,$16,$00,$00,$00,$1e,$1f,$20,$21,$22 // ............. !"
        .byte $00,$00,$23,$20,$24,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ..# $...........
        .fill 11, $00
        .byte $20,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 //   ..............
        .byte $00,$00,$00,$00,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 13, $00
        .byte $04,$05,$01,$01,$03,$04,$05,$01,$01,$03,$01,$01,$00,$00,$00,$01 // ................
        .byte $01,$01,$03,$00,$01,$01,$02,$01,$03,$01,$01,$02,$01,$03,$01,$01 // ................
        .byte $32,$01,$33,$01,$03,$00,$00,$00,$01,$01,$0b,$01,$03,$01,$01,$34 // 2.3............4
        .byte $34,$0a,$35,$01,$01,$06,$07,$01,$01,$36,$37,$2b,$01,$01,$38,$01 // 4.5......67+..8.
        .byte $03,$01,$01,$38,$01,$03,$01,$01       // ...8....

spr_2500:
        .byte $39,$01,$3a,$01,$03,$00,$00,$00,$13,$14,$01,$01,$03,$01,$01,$00 // 9.:.............
        .byte $00,$00,$2f,$3b,$1c,$01,$1d,$13,$14,$01,$15,$16,$13,$14,$01,$01 // ../;............
        .byte $03,$13,$14,$01,$15,$16,$13,$14,$01,$01,$01,$15,$16,$00,$00,$00 // ................
        .byte $00,$00,$23,$20,$24,$00,$00,$00,$00,$00,$1e,$1f,$20,$21,$22 // ..# $....... !"

dat_253f:
        // === Fill data (1 bytes, $253f-$253f) ===
        .byte $00                                   // .

// --- Region $256d-$26a3 ---
.pc = $256d "dat_256d"

dat_256d:
        .byte $01,$01,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$3c,$01,$3d,$3e,$3f,$01,$01,$02,$01,$03,$01,$01,$01 // ...<.=>?........
        .byte $3e,$3f,$00,$00,$00,$00,$00,$00,$01,$01,$03 // >?.........

txt_2598:
        .text "00000"
        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
        .byte $40,$41,$01,$42,$00,$35,$01,$01,$01,$03,$43,$44,$01 // @A.B.5....CD.

txt_25b5:
        .text "EFGGFHGFIIJ"

spr_25c0:
        .byte $01,$01,$01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $4b,$01
        .text "'LM/;"
        .byte $1c,$01,$1d
        .byte $4b,$01,$01,$01,$03,$01
        .byte $01,$03,$32,$01,$03,$01,$01,$03,$00,$00,$00,$00,$00,$00,$00,$00 // ..2.............
        .fill 13, $00
        .byte $1e,$1f,$20,$21,$22,$00,$00,$00,$00,$00,$00,$00,$00,$4e,$4e,$4f // .. !"........NNO
        .fill 19, $00

txt_2620:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "KLECMAAAAAAAAA"
        .text "AAAAAMCELK"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $8d
        .byte $24,$d0
        .byte $bd,$20,$26,$8d,$20,$d0,$8d,$21,$d0,$e8,$bd,$20,$26,$24,$ea,$4c // . &. ..!... &$.L
        .byte $91,$26,$a9,$ae,$cd,$12,$d0,$d0,$fb,$a9,$1c,$8d,$18,$d0,$a9,$c8 // .&..............
        .byte $8d,$16,$d0,$a9,$b0,$cd,$12,$d0,$d0,$fb,$a2,$06,$ca,$d0,$fd,$24 // ...............$
        .byte $ea,$a2,$00,$a0,$00,$bd,$20,$26,$ea,$ea,$24,$ea,$8d,$24,$d0,$bd // ...... &..$..$..
        .byte $20,$26,$8d,$20,$d0,$8d,$21,$d0,$e8,$bd //  &. ..!...

txt_268a:
        .byte $20,$26,$c0,$02,$f0,$ad,$ea,$48,$ad,$12,$d0,$29,$07,$a8,$24,$ea //  &.....H...)..$.
        .byte $ea,$ea,$ea,$68,$e0,$1c,$d0,$d7,$60   // ...h....`

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

// --- Region $2722-$2748 ---
.pc = $2722 "dat_2722"

dat_2722:
        .byte $01,$02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$05,$06,$07,$01,$02 // ................
        .byte $0c,$0d,$0e,$0f,$10,$08,$09,$0a,$0b,$05,$06,$07,$01,$02,$0c,$0d // ................
        .byte $0e,$0f,$11,$12,$13,$14               // ......

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

// --- Region $2772-$2797 ---
.pc = $2772 "dat_2772"

dat_2772:
        .byte $15,$16,$17,$18,$19,$1a,$1b,$1c,$16,$1d,$1e,$1f,$20,$21,$15,$16 // ............ !..
        .byte $22,$23,$19,$24,$25,$1c,$16,$1d,$1e,$26,$27,$28,$15,$16,$22,$23 // "#.$%....&'(.."#
        .byte $19                                   // .

txt_2793:
        .text "$)*+"

dat_2797:
        // === Fill data (1 bytes, $2797-$2797) ===
        .byte $00                                   // .

// --- Region $27c2-$27e7 ---
.pc = $27c2 "txt_27c2"

txt_27c2:
        .text ",-./012345#67%34"
        .text "5#67%,-89:;<,-=>"
        .text "?7"
        .byte $40                                   // @ character
        .text "AB"

dat_27e7:
        // === Fill data (1 bytes, $27e7-$27e7) ===
        .byte $00                                   // .

// --- Region $2800-$2840 ---
.pc = $2800 "spr_2800"

spr_2800:
        .fill 18, $00

txt_2812:
        .byte $43,$44,$45,$46,$47,$48               // char 2 (partial)
        .byte $49,$4a,$4b,$4c,$18                   // char 3 (partial)

txt_281d:
        .byte $4d,$4e,$25                           // char 3 (partial)
        .byte $4a,$4b,$4c,$18                       // char 4 (partial)

txt_2824:
        .byte $4d,$4e,$25,$43                       // char 4 (partial)
        .byte $44,$4f,$50,$4d,$4e,$25,$43,$44       // char 5 @+5
        .byte $51,$52,$53,$4e,$54,$55               // char 6 (partial)

dat_2836:
        // === Fill data (11 bytes, $2836-$2840) ===
        .fill 10, $00

spr_2840:
        .byte $00                                   // .

// --- Region $2862-$2885 ---
.pc = $2862 "txt_2862"

txt_2862:
        .byte $56,$57,$58,$23,$59,$5a               // char 12 (partial)
        .byte $25,$5b,$5c,$5d,$5e,$5f,$60,$25       // char 13 @+13
        .byte $5b,$5c,$5d,$5e,$5f,$60,$25,$56       // char 14 @+14
        .byte $57,$61,$62,$63,$5a,$25,$56,$57       // char 15 @+15
        .byte $64,$65,$66,$60,$25                   // char 16 (partial)

dat_2885:
        // === Fill data (1 bytes, $2885-$2885) ===
        .byte $00                                   // .

// --- Region $28b2-$28d5 ---
.pc = $28b2 "dat_28b2"

dat_28b2:
        .byte $67,$68,$69,$23,$6a,$6b               // char 22 (partial)
        .byte $6c,$6d,$6e,$6f,$68,$70,$71,$72       // char 23 @+23
        .byte $6d,$6e,$6f,$68,$70,$71,$72,$6d       // char 24 @+24
        .byte $6e,$6f,$68,$70,$71,$72,$67,$68       // char 25 @+25
        .byte $69,$23,$6a,$6b,$6c                   // char 26 (partial)

dat_28d5:
        // === Fill data (1 bytes, $28d5-$28d5) ===
        .byte $00                                   // .

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

spr_2900:
        .byte $00,$00,$73,$74,$75,$76,$77,$78,$79,$7a,$7b,$7c,$7d,$7e,$7f,$07 // ..stuvwxyz{|}~..
        .byte $80,$81,$82,$83,$84,$85,$86,$87,$7f,$88,$89,$8a,$8b,$7a,$8c,$8d // .............z..
        .byte $8e,$8f,$90,$91,$92                   // .....

dat_2925:
        // === Fill data (1 bytes, $2925-$2925) ===
        .byte $00                                   // .

// --- Region $2953-$2973 ---
.pc = $2953 "dat_2953"

dat_2953:
        .byte $93,$94,$95,$96,$97                   // char 42 (partial)
        .byte $98,$99,$9a,$15,$9b,$9c,$9d,$9e       // char 43 '+'
        .byte $9f,$a0,$a1,$a2,$25,$a3,$a4,$a5       // char 44 ','
        .byte $a2,$25,$a3,$a6,$a7,$a8,$a9,$aa       // char 45 '-'
        .byte $ab,$ac,$ad                           // char 46 (partial)

dat_2973:
        // === Fill data (1 bytes, $2973-$2973) ===
        .byte $00                                   // .

// --- Region $29a4-$29c1 ---
.pc = $29a4 "dat_29a4"

dat_29a4:
        .byte $ae,$00,$af,$b0                       // char 52 (partial)
        .byte $b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8       // char 53 '5'
        .byte $b9,$ba,$bb,$bc,$25,$bd,$be,$bf       // char 54 '6'
        .byte $c0,$25,$c1,$c2,$c3,$c4,$b3,$c5       // char 55 '7'
        .byte $c6                                   // char 56 (partial)

dat_29c1:
        // === Fill data (1 bytes, $29c1-$29c1) ===
        .byte $00                                   // .

// --- Region $29f6-$2a0f ---
.pc = $29f6 "dat_29f6"

dat_29f6:
        .byte $c7,$c8                               // char 62 (partial)
        .byte $c9,$ca,$cb,$cc,$cd,$ce,$cf,$cb       // char 63 '?'
        .byte $d0,$d1,$ce,$cf,$d2,$d0,$d3,$d4       // char 64 '@'
        .byte $d5,$d6,$cc,$c9,$c9,$d7,$d8           // char 65 (partial)

dat_2a0f:
        // === Fill data (1 bytes, $2a0f-$2a0f) ===
        .byte $00                                   // .

// --- Region $2ada-$2c74 ---
.pc = $2ada "scr_2ada"

scr_2ada:
        // === Charset data (411 bytes, $2ada-$2c74) ===
        .byte $b0,$b1,$b2,$b3,$b4,$b5,$b5,$b5       // char 0 @+0
        .byte $b5,$b4,$b3,$b2,$b1,$b0,$b0,$b0       // char 1 @+1
        .byte $b0,$00,$63,$62,$61,$60,$5f,$5d       // char 2 @+2
        .byte $5c,$5b                               // char 3 (partial)

txt_2af4:
        .byte $5a,$59,$57,$56,$55,$54               // char 3 (partial)
        .byte $53,$51,$50,$4f,$4e,$4d,$4c,$4b       // char 4 @+4
        .byte $4a,$49,$48,$47,$46,$45,$44,$43       // char 5 @+5
        .byte $42,$41,$40,$3f,$3e,$3e,$3d,$3c       // char 6 @+6
        .byte $3b,$3b,$3a,$39,$39,$38,$37,$37       // char 7 @+7
        .byte $36,$36,$35,$35,$34,$34,$34,$33       // char 8 @+8
        .byte $33,$33,$32,$32,$32,$32,$32,$32       // char 9 @+9
        .byte $32,$32,$32,$32,$32,$32,$32,$32       // char 10 @+10
        .byte $32,$32,$32,$33,$33,$33,$34,$34       // char 11 @+11
        .byte $34,$35,$35,$36,$36,$37,$37,$38       // char 12 @+12
        .byte $39,$39,$3a,$3b,$3b,$3c,$3d,$3e       // char 13 @+13
        .byte $3f,$3f,$40,$41,$42,$43,$44,$45       // char 14 @+14
        .byte $46,$47,$48,$49,$4a,$4b,$4c,$4d       // char 15 @+15
        .byte $4e,$4f,$51,$52,$53,$54,$55,$56       // char 16 @+16
        .byte $58,$59,$5a,$5b,$5c,$5e,$5f,$60       // char 17 @+17
        .byte $61,$63,$64,$65,$66,$67,$69,$6a       // char 18 @+18
        .byte $6b,$6c,$6e,$6f,$70,$71,$72,$73       // char 19 @+19
        .byte $75,$76,$77,$78,$79,$7a               // char 20 (partial)

spr_2b80:
        .byte $7b,$7c                               // char 20 (partial)
        .byte $7d,$7e,$80,$81,$82,$82,$83,$84       // char 21 @+21
        .byte $85,$86,$87,$88,$89,$8a,$8a,$8b       // char 22 @+22
        .byte $8c,$8d,$8d,$8e,$8f,$8f,$90,$90       // char 23 @+23
        .byte $91,$91,$92,$92,$93,$93,$93,$94       // char 24 @+24
        .byte $94,$94,$95,$95,$95,$95,$95,$95       // char 25 @+25
        .byte $95,$95,$95,$95,$95,$95,$95,$95       // char 26 @+26
        .byte $95,$95,$94,$94,$94,$94,$93,$93       // char 27 @+27
        .byte $92,$92,$92,$91,$91,$90,$8f,$8f       // char 28 @+28
        .byte $8e,$8e,$8d,$8c,$8b,$8b,$8a,$89       // char 29 @+29
        .byte $88,$87,$87,$86,$85,$84,$83,$82       // char 30 @+30
        .byte $81,$80,$7f,$7e,$7d,$7c,$7b,$7a       // char 31 @+31
        .byte $78,$77,$76,$75,$74,$73,$72,$70       // char 32 ' '
        .byte $6f,$6e,$6d,$6c,$6a,$69,$68,$67       // char 33 '!'
        .byte $65,$64,$6d,$6c,$6a,$69,$68,$67       // char 34 '"'
        .byte $65,$64,$67,$65,$64,$00,$00,$00       // char 35 '#'
        .byte $00,$00,$00,$00,$00,$00               // char 36 (partial)

scr_2c00:
        // === Screen RAM (117 bytes, $2c00-$2c74) ===
        .encoding "screencode_mixed"
        .text "@@@@t@@"
        .byte $7d                                   // scrcode: .
        .text "@a"
        .byte $ff,$40                               // scrcode: ..
        .text "f"
        .byte $ff,$90                               // scrcode: ..
        .text "f"
        .byte $be,$90                               // scrcode: ..
        .text "f"
        .byte $aa,$90                               // scrcode: ..
        .text "u"
        .byte $aa,$54                               // scrcode: ..
        .text "u"
        .byte $69,$54                               // scrcode: ..
        .text "q"
        .byte $55,$44                               // scrcode: ..
        .text "p"
        .byte $55                                   // scrcode: .
        .text "dptdp@dp"
        .text "tdd"
        .byte $55                                   // scrcode: .
        .text "pe"
        .byte $69,$50                               // scrcode: ..
        .text "e"
        .byte $aa,$50                               // scrcode: ..
        .text "a"
        .byte $be,$40                               // scrcode: ..
        .text "@"
        .byte $69                                   // scrcode: .
        .text "@@t@@@@"
        .byte $bb                                   // scrcode: .
        .text "@@@@@@@@@@t@@"
        .byte $7d                                   // scrcode: .
        .text "@a"
        .byte $ff,$40                               // scrcode: ..
        .text "f"
        .byte $be,$90                               // scrcode: ..
        .text "e"
        .byte $aa,$50                               // scrcode: ..
        .text "u"
        .byte $69,$54                               // scrcode: ..
        .text "q"
        .byte $55,$44                               // scrcode: ..
        .text "p"
        .byte $55                                   // scrcode: .
        .text "dptdp@ddtpd"
        .byte $69                                   // scrcode: .
        .text "pa"
        .byte $be,$40                               // scrcode: ..
        .text "@"
        .byte $69                                   // scrcode: .
        .text "@@t"
        .encoding "petscii_upper"

// --- Region $2c8d-$2d80 ---
.pc = $2c8d "dat_2c8d"

dat_2c8d:
        .encoding "screencode_mixed"
        .text "t@@"
        .byte $7d                                   // scrcode: .
        .text "@a"
        .byte $be,$40                               // scrcode: ..
        .text "a"
        .byte $aa,$40                               // scrcode: ..
        .text "e"
        .byte $69,$50                               // scrcode: ..
        .text "d"
        .byte $55                                   // scrcode: .
        .text "pdtpd@pdtpa"
        .byte $69,$40                               // scrcode: ..
        .text "a"
        .byte $be,$40                               // scrcode: ..
        .text "@"
        .byte $69                                   // scrcode: .
        .text "@@t@@@"
        .fill 10, $00                               // scrcode: @@@@@@@@@@
        .text "/@@@@@@@@@@@@@@@@t@@"
        .byte $7d                                   // scrcode: .
        .text "@a"
        .byte $aa,$40                               // scrcode: ..
        .text "a"
        .byte $69,$40                               // scrcode: ..
        .text "at"
        .byte $40                                   // scrcode: .
        .text "a@"
        .byte $40                                   // scrcode: .
        .text "at"
        .byte $40                                   // scrcode: .
        .text "a"
        .byte $69,$40                               // scrcode: ..
        .text "a"
        .byte $be,$40                               // scrcode: ..
        .text "@"
        .byte $69                                   // scrcode: .
        .text "@@t@@@@@@@@@@@@@@@@"
        .byte $8d                                   // scrcode: .
        .text "@@@@@@@@@@@@@@@"
        .text "@@@@t@@"
        .byte $7d                                   // scrcode: .
        .text "@a"
        .byte $aa,$40                               // scrcode: ..
        .text "a"
        .byte $69,$40                               // scrcode: ..
        .text "at"
        .byte $40                                   // scrcode: .
        .text "at"
        .byte $40                                   // scrcode: .
        .text "a"
        .byte $69,$40                               // scrcode: ..
        .text "@"
        .byte $7d                                   // scrcode: .
        .text "@@t@@@@@@@@@@@"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .byte $f0                                   // scrcode: .
        .text "@@@@@@@@@@@@@@@@@@@@@@t@@"
        .byte $69                                   // scrcode: .
        .text "@@"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $45                                   // scrcode: .
        .text "@@"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $69                                   // scrcode: .
        .text "@"
        .text "@t@@@@@@@@@@@@@@@@@@@@@@"
        .byte $c8                                   // scrcode: .
        .encoding "petscii_upper"

dat_2d80:
        // === Fill data (1 bytes, $2d80-$2d80) ===
        .byte $00                                   // .
