// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:16
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $27ff  (8192 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1ba0 (7072)
// IRQ handler:  $1be3 (irq_1be3)
//
// Code: 2265 bytes, Data: 5927 bytes
// Labels: 264, Subroutines: 15
//
// Cross-references: all OK
// ============================================


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

sub_1000:
        jmp loc_1081
// Referenced by: jsr from $1cc3

sub_1003:
        jmp loc_10e2

txt_1006:
        .text " "

// --- Region $1081-$164a ---
.pc = $1081 "loc_1081"

loc_1081:
.label smc_1082 = * + 1
        lda #$ff                                    // !SMC: modified by $2088
        bmi loc_10e2

dat_1085:
        .byte $f0,$4c,$0a                           // .L.

loc_1088:
        asl
        asl
        tay
        lda $171b,y
        sta $10f7
        lda $171c,y
        sta $10eb
        ldx #$00

loc_1099:
        iny
        iny
        lda $171b,y
        sta $1036,x
        lda $171c,y
        sta $1039,x
        lda #$01
        sta $101b,x
        sta $1080
        lda #$00
        sta $1033,x
        sta $1030,x
        sta $103c,x
        sta $1024,x
        inx
        cpx #$03
        bne loc_1099
        sta $107f
        sta smc_1299
        ldx #$18

loc_10ca:
        sta $d400,x
        dex
        bpl loc_10ca
        stx smc_1082
        sta $d404
        sta $d40b
        sta $d412
        lda #$0f
        sta $d418
        rts

loc_10e2:
        cld
        ldx #$02
        dec $1080
        bpl loc_10f1
        lda #$00
        sta $1080
        bne loc_1104

loc_10f1:
        dec $107f
        bpl loc_1104
        lda #$02
        sta $107f
        dec $101b
        dec $101c
        dec $101d

loc_1104:
        lda $101b,x
        beq loc_110c
        jmp loc_12bc

loc_110c:
        sta $105d,x
        sta $1021,x
        lda $1036,x
        sta $fe
        lda $1039,x
        sta $ff
        ldy $1033,x
        lda ($fe),y
        bpl loc_1163
        cmp #$fe
        bcc loc_1136
        bne loc_112c
        inc smc_1082

loc_112c:
        lda #$00
        sta $1033,x
        tay
        lda ($fe),y
        bpl loc_1163

loc_1136:
        cmp #$e0
        bcc loc_1147
        sbc #$e0
        sta $103c,x
        inc $1033,x
        iny
        lda ($fe),y
        bpl loc_1163

loc_1147:
        cmp #$c0
        bcc loc_1158
        sbc #$c0
        sta $1024,x
        inc $1033,x
        iny
        lda ($fe),y
        bpl loc_1163

loc_1158:
        and #$3f
        sta $102d,x
        inc $1033,x
        iny
        lda ($fe),y

loc_1163:
        tay
        lda $1967,y
        sta $fe
        lda $1978,y
        sta $ff
        ldy $1030,x
        bne loc_1177
        tya
        sta $104e,x

loc_1177:
        lda ($fe),y
        bmi loc_1188

loc_117b:
        cmp #$7f
        beq loc_11e7
        adc $102d,x
        sta $102a,x
        jmp loc_1206

loc_1188:
        cmp #$c0
        bcs loc_11a1
        and #$3f

loc_118e:
        sta $101e,x
        iny
        lda ($fe),y
        bpl loc_117b
        cmp #$c0
        bcs loc_11a1
        and #$3f
        adc $101e,x
        bne loc_118e

loc_11a1:
        cmp #$e0
        bcs loc_11b5
        and #$1f
        adc $1024,x
        asl
        asl
        asl
        sta $1027,x
        iny
        lda ($fe),y
        bpl loc_117b

loc_11b5:
        cmp #$f0
        bcs loc_11c3
        and #$0f
        sta $104e,x
        iny
        lda ($fe),y
        bpl loc_117b

loc_11c3:
        cmp #$f0
        bne loc_11cf
        sta smc_1299                                // SMC: modifies $1299
        iny
        lda ($fe),y
        bpl loc_117b

loc_11cf:
        cmp #$f1
        bne loc_11dd
        lda #$00
        sta smc_1299                                // SMC: modifies $1299
        iny
        lda ($fe),y
        bpl loc_117b

loc_11dd:
        lda #$00
        sta $d417
        iny
        lda ($fe),y
        bpl loc_117b

loc_11e7:
        iny
        lda ($fe),y
        sta $105a,x
        iny
        lda ($fe),y
        sta $105d,x
        iny
        lda ($fe),y
        clc
        adc $102d,x
        sta $102a,x
        iny
        lda ($fe),y
        adc $102d,x
        sta $1060,x

loc_1206:
        iny
        lda ($fe),y
        cmp #$ff
        bne loc_121c
        lda $103c,x
        beq loc_1217
        dec $103c,x
        bpl loc_121a

loc_1217:
        inc $1033,x

loc_121a:
        ldy #$00

loc_121c:
        tya
        sta $1030,x
        lda $101e,x
        sta $101b,x
        ldy $102a,x
        lda dat_165d,y
        sta $1054,x
        pha
        lda $16bd,y
        sta $1057,x
        ldy $171d,x
        sta $d401,y
        pla
        sta $d400,y
        lda $1027,x
        stx $fe
        tax
        lda $1778,x
        sta $d405,y
        lda $1779,x
        sta $d406,y
        lda $177d,x
        pha
        lda $1776,x
        pha
        lda $177a,x
        pha
        lda $177b,x
        pha
        lda $177c,x
        ldx $fe
        sta $104b,x
        pla
        sta $1048,x
        and #$20
        beq loc_1277
        lda #$00
        sta $d404,y

loc_1277:
        sta $d402,y
        sta $1072,x
        sta $1051,x
        sta $1063,x
        pla
        and #$0f
        sta $d403,y
        sta $1075,x
        pla
        sta $103f,x
        sta $d404,y
        pla
        and #$0f
        beq loc_12b9
.label smc_1299 = * + 1
        ldy #$00                                    // !SMC: modified by $11c7, $11d5
        bne loc_12b9
        asl
        asl
        asl
        tay
        lda $1843,y
        sta $107e
        sta $d416
        lda $1842,y
        clc
        adc $1720,x
        sta $d417
        lda $1841,y
        sta $d418

loc_12b9:
        jmp loc_13d9

loc_12bc:
        ldy $104e,x
        beq loc_12ca
        lda $104b,x
        lsr
        bcs loc_12ca
        jsr sub_143f

loc_12ca:
        ldy $105d,x
        beq loc_12dd
        lda $1021,x
        cmp $105a,x
        bcc loc_12dd
        jsr sub_1467
        jmp loc_12ff

loc_12dd:
        ldy $1027,x
        lda $177d,y
        and #$f0
        beq loc_12ff
        lsr
        lsr
        tay
        lda $1021,x
        cmp $1802,y
        bcc loc_12ff
        lda $1063,x
        bne loc_12fc
        jsr sub_14d6
        bmi loc_12ff

loc_12fc:
        jsr sub_150e

loc_12ff:
        lda $104b,x
        and #$04
        beq loc_130e
        lda $1057,x
        beq loc_132c
        dec $1057,x

loc_130e:
        lda $104b,x
        and #$02
        beq loc_132c
        lda $1021,x
        lsr
        bcc loc_1321
        clc
        adc $1057,x
        bne loc_1329

loc_1321:
        sta $fe
        lda $1057,x
        sec
        sbc $fe

loc_1329:
        sta $1057,x

loc_132c:
        ldy $1027,x
        lda $177a,y
        and #$f0
        beq loc_1339
        jsr sub_156e

loc_1339:
        ldy $1027,x
        lda $177d,y
        and #$0f
        beq loc_1346
        jsr sub_15f3

loc_1346:
        lda $104b,x
        bpl loc_134e
        jsr sub_13e0

loc_134e:
        lda $1048,x
        and #$40
        beq loc_1367
        lda #$01
        cmp $101b,x
        bne loc_1367
        cmp $107f
        bne loc_1367
        ldy $171d,x
        sta $d406,y

loc_1367:
        ldy $1021,x
        bne loc_1385
        lda $104b,x
        and #$40
        beq loc_1385
        ldy $171d,x
        lda #$81
        sta $d404,y
        lda #$f9
        sta $d401,y
        inc $1021,x
        bne loc_13d9

loc_1385:
        cpy #$02
        bcc loc_13b0
        lda $1048,x
        bmi loc_1395
        lda $104b,x
        bmi loc_13b0
        bcs loc_13a8

loc_1395:
        and #$1f
        cmp $101b,x
        bcc loc_13b0
        lda $104b,x
        bpl loc_13a8
        lda $103f,x
        and #$fe
        bcs loc_13b3

loc_13a8:
        ldy $1027,x
        lda $1777,y
        bcs loc_13b3

loc_13b0:
        lda $103f,x

loc_13b3:
        ldy $171d,x
        inc $1021,x
        bne loc_13be
        dec $1021,x

loc_13be:
        sta $d404,y
        lda $1054,x
        sta $d400,y
        lda $1057,x
        sta $d401,y
        lda $1072,x
        sta $d402,y
        lda $1075,x
        sta $d403,y

loc_13d9:
        dex
        bmi loc_13df
        jmp loc_1104

loc_13df:
        rts

// Referenced by: jsr from $134b
sub_13e0: {
        ldy $1027,x
        lda $1777,y
        pha
        and #$7f
        tay
        lda $1735,y
        sta $fe
        lda $1739,y
        sta $ff
        lda $1021,x
        bne skip1
        sta $1042,x
        lda $173d,y
        sta $1045,x
skip1:
        ldy $1042,x
        lda ($fe),y
        cmp #$fe
        bcc skip2
        beq skip3
        iny
        lda ($fe),y
        tay
        lda ($fe),y
skip2:
        sta $103f,x
        iny
        tya
        sta $1042,x
skip3:
        pla
        bmi done
        ldy $1045,x
        lda ($fe),y
        bpl skip4
        cmp #$81
        bcc done
        bne skip4
        iny
        lda ($fe),y
        tay
        lda ($fe),y
skip4:
        sta $1057,x
        lda #$00
        sta $1054,x
        iny
        tya
        sta $1045,x
done:
        rts
}

// Referenced by: jsr from $12c7
sub_143f: {
        dec $1051,x
        bpl skip
        lda $172c,y
        sta $1051,x
skip:
        lda $172a,y
        clc
        adc $1051,x
        tay
        lda $172f,y
        clc
        adc $102a,x
        tay
        lda dat_165d,y
        sta $1054,x
        lda $16bd,y
        sta $1057,x
        rts
}

// Referenced by: jsr from $12d7
sub_1467: {
        sty $fe
        lda #$00
        asl $fe
        rol
        asl $fe
        rol
        sta $ff
        ldy $1060,x
        tya
        cmp $102a,x
        bcs skip
        lda $1054,x
        sec
        sbc $fe
        sta $1054,x
        lda $1057,x
        sbc $ff
        sta $1057,x
        lda $1054,x
        sec
        sbc dat_165d,y
        lda $1057,x
        sbc $16bd,y
        bcs done
loop:
        lda dat_165d,y
        sta $1054,x
        lda $16bd,y
        sta $1057,x
        lda #$00
        sta $105d,x
        sta $1063,x
        tya
        sta $102a,x
done:
        rts
skip:
        lda $1054,x
        clc
        adc $fe
        sta $1054,x
        lda $1057,x
        adc $ff
        sta $1057,x
        lda dat_165d,y
        sec
        sbc $1054,x
        lda $16bd,y
        sbc $1057,x
        bcc loop
        rts
}

// Referenced by: jsr from $12f7
sub_14d6: {
        sta $106f,x
        inc $1063,x
        lda $1803,y
        and #$0f
        sta $1066,x
        lda $1803,y
        lsr
        lsr
        lsr
        lsr
        sta $fe
        ldy $102a,x
        lda $165e,y
        sec
        sbc dat_165d,y
        sta $1069,x
        lda $16be,y
        sbc $16bd,y
        sta $106c,x
loop:
        lsr $106c,x
        ror $1069,x
        dec $fe
        bpl loop
        rts
}

// Referenced by: jsr from $12fc
sub_150e: {
        lda $1063,x
        bmi skip1
        lda $1054,x
        clc
        adc $1069,x
        sta $1054,x
        lda $1057,x
        adc $106c,x
        jmp $1536
skip1:
        lda $1054,x
        sec
        sbc $1069,x
        sta $1054,x
        lda $1057,x
        sbc $106c,x
skip2:
        sta $1057,x
        dec $1066,x
        bne skip3
        lda $1803,y
        and #$0f
        asl
        sta $1066,x
        lda $1063,x
        eor #$ff
        sta $1063,x
skip3:
        lda $1805,y
        cmp $106f,x
        bcc done
        lda $1804,y
        beq done
        adc $1069,x
        sta $1069,x
        lda $106c,x
        adc #$00
        sta $106c,x
        inc $106f,x
done:
        rts
}
// Referenced by: jsr from $1336

sub_156e:
        lsr
        tay
        lda $1021,x
        bne loc_157e
        sta $107b,x
        lda $1810,y
        sta $1078,x

loc_157e:
        lda $1811,y
        beq loc_15b3
        sty smc_15b2                                // SMC: modifies $15b2
        tay
        lda $1835,y
        sta $fe
        lda $1836,y
        sta $ff
        ldy $107b,x
        lda ($fe),y
        cmp #$fe
        bcc loc_15a2
        beq loc_15b1
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_15a2:
        sta $1072,x
        iny
        lda ($fe),y
        sta $1075,x
        iny
        tya
        sta $107b,x
        rts

loc_15b1:
.label smc_15b2 = * + 1
        ldy #$10                                    // !SMC: modified by $1583

loc_15b3:
        lda $1078,x
        bne loc_15d9
        lda $1072,x
        clc
        adc $1815,y
        sta $fe
        lda $1075,x
        adc $1814,y
        cmp $1813,y
        bcc loc_15d0
        sta $1078,x
        rts

loc_15d0:
        sta $1075,x
        lda $fe
        sta $1072,x
        rts

loc_15d9:
        lda $1072,x
        sec
        sbc $1815,y
        sta $fe
        lda $1075,x
        sbc $1814,y
        cmp $1812,y
        bcs loc_15d0
        lda #$00
        sta $1078,x
        rts
// Referenced by: jsr from $1343

sub_15f3:
        asl
        asl
        asl
        tay
        lda $1021,x
        bne loc_1605
        sta smc_1619                                // SMC: modifies $1619
        lda $1847,y
        sta smc_1631                                // SMC: modifies $1631

loc_1605:
        lda $1844,y
        beq loc_1630
        sty smc_162f                                // SMC: modifies $162f
        tay
        lda $1858,y
        sta $fe
        lda $1859,y
        sta $ff
.label smc_1619 = * + 1
        ldy #$05                                    // !SMC: modified by $15fc, $1629
        lda ($fe),y
        cmp #$fe
        bcc loc_1628
        beq loc_162e
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_1628:
        iny
        sty smc_1619                                // SMC: modifies $1619
        bne loc_1644

loc_162e:
.label smc_162f = * + 1
        ldy #$08                                    // !SMC: modified by $160a

loc_1630:
.label smc_1631 = * + 1
        lda #$00                                    // !SMC: modified by $1602, $1640
        bne dat_164b
        lda $107e
        clc
        adc $1848,y
        cmp $1846,y
        bcc loc_1644
        sta smc_1631                                // SMC: modifies $1631
        rts

loc_1644:
        sta $107e
        sta $d416
        rts

// --- Region $1653-$165c ---
.pc = $1653 "loc_1653"

loc_1653:
        eor $18
        bcs loc_1644
        lda #$00
        sta smc_1631
        rts

// --- Region $1ba0-$1ba4 ---
.pc = $1ba0 "main_1ba0"

main_1ba0:
        jmp loc_2075

chr_1ba3:
        // === Charset data (2 bytes, $1ba3-$1ba4) ===
        .byte $09,$01                               // char 0 (partial)

// --- Region $1be3-$1cff ---
.pc = $1be3 "irq_1be3"

irq_1be3:
        lsr $d019
        lda #$38

loc_1be8:
        cmp $d012
        bne loc_1be8
        lda #$12
        sta $d018
.label smc_1bf3 = * + 1
        lda #$c0                                    // !SMC: modified by $1e22
        sta $d016
        lda #$3a

loc_1bf9:
        cmp $d012
        bne loc_1bf9
        ldx #$00

loc_1c00:
        ldy chr_1ba3,x

loc_1c03:
        dey
        bne loc_1c03
        lda $1bc3,x
        sta $d020
        sta $d021
        inx
        cpx #$1a
        bne loc_1c00
        lda #$00
        sta $d012
        lda #$01
        sta $d019
        bit $1d78
        bit $1dd9
        jsr sub_1df8
        jsr sub_1df8
        lda #$61

loc_1c2c:
        cmp $d012
        bne loc_1c2c
        ldx #$01

loc_1c33:
        dex
        bne loc_1c33
.label smc_1c37 = * + 1
        ldx #$05                                    // !SMC: modified by $1c79

loc_1c38:
        lda $d012

loc_1c3b:
        cmp $d012
        beq loc_1c3b
        and #$07
        ora #$10
        sta $d011
        ldy #$07

loc_1c49:
        dey
        bne loc_1c49
        dex
        bne loc_1c38
        ldx #$00

loc_1c51:
        ldy $1d28,x

loc_1c54:
        dey
        bne loc_1c54
        lda $1d50,x
        sta $d016
        sta $d016
        inx
        cpx #$28
        bne loc_1c51
        lda $02
        sta $d016
.label smc_1c6b = * + 1
        ldx #$06                                    // !SMC: modified by $1c73
        inx
        cpx #$28
        bne loc_1c73

chr_1c71:
        // === Charset data (2 bytes, $1c71-$1c72) ===
        .byte $a2,$00                               // char 0 (partial)

loc_1c73:
        stx smc_1c6b                                // SMC: modifies $1c6b
        lda chr_1d00,x
        sta smc_1c37                                // SMC: modifies $1c37
.label smc_1c7d = * + 1
        ldx #$2a                                    // !SMC: modified by $1cac

loc_1c7e:
        lda $d012

loc_1c81:
        cmp $d012
        beq loc_1c81
        and #$07
        ora #$10
        sta $d011
        ldy #$07

loc_1c8f:
        dey
        bne loc_1c8f
        dex
        bne loc_1c7e
        lda #$1b
        sta $d011
.label smc_1c9b = * + 1
        ldx #$06                                    // !SMC: modified by $1ca3
        inx
        cpx #$28
        bne loc_1ca3

chr_1ca1:
        // === Charset data (2 bytes, $1ca1-$1ca2) ===
        .byte $a2,$00                               // char 0 (partial)

loc_1ca3:
        stx smc_1c9b                                // SMC: modifies $1c9b
        sbc chr_1d00,x
        clc
        adc #$15
        sta smc_1c7d                                // SMC: modifies $1c7d
        lda #$18
        sta $d016
        lda #$02
        sta $d021
        lda #$03
        sta $d022
        lda #$0a
        sta $d023
        jsr sub_1003
        lda #$da

loc_1cc8:
        cmp $d012
        bne loc_1cc8
        ldy #$0a

loc_1ccf:
        dey
        bne loc_1ccf
        lda #$0b
        sta $d021
        lda #$03
        sta $d022
        lda #$05
        sta $d023
        jsr sub_1e33
        jsr sub_1ea1
        jsr sub_1fed

smc_1cea:
        bit $1fbc                                   // !SMC: modified by $1ff7
        jsr sub_202c
        jsr sub_2235
        lda #$01
        sta $d019
        lda #$00
        sta $d021
        jmp $ea31

// --- Region $1df8-$1e50 ---
.pc = $1df8 "sub_1df8"
// Referenced by: jsr from $1c24, $1c27

sub_1df8:
        ldx smc_1bf3
        dex
        cpx #$bf
        bne loc_1e22
        ldy #$00

loc_1e02:
        lda $0451,y
        sta $0450,y
        iny
        cpy #$27
        bne loc_1e02

loc_1e0d:
.label smc_1e0e = * + 1
.label smc_1e0f = * + 2
        lda $22d4                                   // !SMC: modified by $1e28, $1e2d
        beq loc_1e26
        inc smc_1e0e
        bne loc_1e1a
        inc smc_1e0f

loc_1e1a:
        clc
        adc #$87
        sta $0477
        ldx #$c7

loc_1e22:
        stx smc_1bf3                                // SMC: modifies $1bf3
        rts

loc_1e26:
        lda #$d4
        sta smc_1e0e                                // SMC: modifies $1e0e
        lda #$22
        sta smc_1e0f                                // SMC: modifies $1e0f
        jmp loc_1e0d
// Referenced by: jsr from $1ce1

sub_1e33:
        ldx #$27

loc_1e35:
        lda $d84f,x
        sta $d850,x
        dex
        bne loc_1e35
.label smc_1e3f = * + 1
        ldx #$06                                    // !SMC: modified by $1e47
        inx
        cpx #$50
        bne loc_1e47

chr_1e45:
        // === Charset data (2 bytes, $1e45-$1e46) ===
        .byte $a2,$00                               // char 0 (partial)

loc_1e47:
        stx smc_1e3f                                // SMC: modifies $1e3f
        lda chr_1e51,x
        sta $d850
        rts

// --- Region $1ea1-$1f5a ---
.pc = $1ea1 "sub_1ea1"
// Referenced by: jsr from $1ce4

sub_1ea1:
.label smc_1ea2 = * + 1
        ldx #$24                                    // !SMC: modified by $1eaa
        inx
        cpx #$60
        bne loc_1eaa

chr_1ea8:
        // === Charset data (2 bytes, $1ea8-$1ea9) ===
        .byte $a2,$00                               // char 0 (partial)

loc_1eaa:
        stx smc_1ea2                                // SMC: modifies $1ea2
        lda chr_1f5b,x
        and #$07
        eor #$07
        sta $1d56
        sta $1d57
        sta $1d58
        sta $1d59
        sta $1d5a
        sta $1d5b
        sta $1d5c
        sta $1d5d
        lda chr_1f5b,x
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_1ed5:
        lda $0f38,y
        clc
        adc #$87
        sta $04f0,x
        inx
        iny
        cpx #$27
        bne loc_1ed5
.label smc_1ee5 = * + 1
        ldx #$28                                    // !SMC: modified by $1eed
        inx
        cpx #$60
        bne loc_1eed

chr_1eeb:
        // === Charset data (2 bytes, $1eeb-$1eec) ===
        .byte $a2,$00                               // char 0 (partial)

loc_1eed:
        stx smc_1ee5                                // SMC: modifies $1ee5
        lda chr_1f5b,x
        and #$07
        eor #$07
        sta $1d66
        sta $1d67
        sta $1d68
        sta $1d69
        sta $1d6a
        sta $1d6b
        sta $1d6c
        sta $1d6d
        lda chr_1f5b,x
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_1f18:
        lda $0fa8,y
        clc
        adc #$87
        sta $0540,x
        inx
        iny
        cpx #$27
        bne loc_1f18
.label smc_1f28 = * + 1
        ldx #$2c                                    // !SMC: modified by $1f30
        inx
        cpx #$60
        bne loc_1f30

chr_1f2e:
        // === Charset data (2 bytes, $1f2e-$1f2f) ===
        .byte $a2,$00                               // char 0 (partial)

loc_1f30:
        stx smc_1f28                                // SMC: modifies $1f28
        lda chr_1f5b,x
        and #$07
        eor #$07
        sta $02
        sta $1d75
        sta $1d76
        lda chr_1f5b,x
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_1f4b:
        lda $0f63,y
        clc
        adc #$87
        sta $0590,x
        inx
        iny
        cpx #$27
        bne loc_1f4b
        rts

// --- Region $1fed-$1ffb ---
.pc = $1fed "sub_1fed"
// Referenced by: jsr from $1ce7

sub_1fed:
        lda $1fbd
        cmp #$07
        beq loc_1ff5
        rts

loc_1ff5:
        lda #$2c
        sta smc_1cea                                // SMC: modifies $1cea
        rts

chr_1ffb:
        // === Charset data (1 bytes, $1ffb-$1ffb) ===
        .byte $02                                   // char 0 (partial)

// --- Region $202c-$2034 ---
.pc = $202c "sub_202c"
// Referenced by: jsr from $1ced

sub_202c:
.label smc_202d = * + 1
        ldx #$02                                    // !SMC: modified by $202f
        dex
        stx smc_202d                                // SMC: modifies $202d
        beq spr_2035
        rts

// --- Region $2075-$20e4 ---
.pc = $2075 "loc_2075"

loc_2075:
        jsr $fda3
        jsr $fd15
        jsr $e518
        lda #$1b
        sta $0286
        jsr $e544
        lda #$01
        sta smc_1082                                // SMC: modifies $1082
        jsr sub_1000
        sei
        lda #$7f
        sta $dc0d
        lda #$e3
        sta $0314
        lda #$1b
        sta $0315
        lda #$01
        sta $d01a
        ldx #$00

loc_20a5:
        lda $20e4,x
        sta $05b8,x
        lda #$18
        sta $d9b8,x
        sta $dab8,x
        inx
        bne loc_20a5
        ldx #$00

loc_20b8:
        lda $21e4,x
        sta $06b8,x
        inx
        cpx #$40
        bne loc_20b8
        ldx #$00
        txa

loc_20c6:
        sta $d8f0,x
        inx
        cpx #$c8
        bne loc_20c6
        lda $3fff
        sta chr_20e3
        lda #$ff
        sta $3fff
        sta spr_0800
        sta $0801
        cli

loc_20e0:
        jmp loc_20e0

chr_20e3:
        // === Charset data (2 bytes, $20e3-$20e4) ===
        .byte $ff,$00                               // char 0 (partial)

// --- Region $2235-$228b ---
.pc = $2235 "sub_2235"
// Referenced by: jsr from $1cf0

sub_2235:
        lda $dc00
        cmp #$7f
        beq loc_223d

loc_223c:
        rts

loc_223d:
        lda $dc01
        cmp #$ef
        bne loc_223c
        jsr $fda3
        jsr $fd15
        jsr $e518
        lda #$00
        sta $d020
        sta $d021
        lda #$17
        sta $d018
        ldx #$00

loc_225c:
        lda chr_228b,x
        sta $0400,x
        lda #$03
        sta $d800,x
        inx
        cpx #$28
        bne loc_225c
        lda chr_20e3
        sta $3fff
        ldx #$00

loc_2274:
        lda $22b3,x
        sta $04a0,x
        lda #$00
        sta $d8a0,x
        inx
        cpx #$24
        bne loc_2274
        lda #$34
        sta $01
        jmp $04a0

chr_228b:
        // === Charset data (1 bytes, $228b-$228b) ===
        .byte $49                                   // char 0 (partial)

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

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

spr_0800:
        // === Sprite data (64 bytes, $0800-$083f) ===
        .byte $00,$ff,$ff                           // ........################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$fd,$fd                           // ##############.#######.#
        .byte $fd,$fd,$fd                           // ######.#######.#######.#
        .byte $fd,$ff,$ff                           // ######.#################
        .byte $55,$ff,$ff                           // .#.#.#.#################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$5f                           // ################.#.#####
        .byte $cf,$cf,$cf                           // ##..######..######..####
        .byte $cf,$cf,$55                           // ##..######..####.#.#.#.#
        .byte $7f,$4c,$73                           // .#######.#..##...###..##
        .byte $40,$62,$48                           // .#.......##...#..#..#...
        .byte $6a,$55,$ff                           // .##.#.#..#.#.#.#########
        .byte $cc,$33,$00                           // ##..##....##..##........
        .byte $35,$08,$aa                           // ..##.#.#....#...#.#.#.#.
        .byte $57,$fc,$cc                           // .#.#.#########..##..##..
        .byte $33,$00,$4d                           // ..##..##.........#..##.#
        .byte $08,$aa,$ff                           // ....#...#.#.#.#.########
        .byte $3f,$cf,$33                           // ..########..####..##..##
        .byte $03,$20,$88                           // ......##..#.....#...#...
        .byte $a8                                   // sprite 0 padding
        .byte $ff,$ff,$fd,$f7,$f4,$d2,$d8,$da,$f5,$5f,$cc,$33,$00,$55,$08,$aa // ........._.3.U..
        .byte $7f,$c3,$cc,$33,$00,$65,$08,$aa,$fd,$fd,$fd,$3d,$3d,$0d,$8d,$8d // ...3.e.....==...
        .byte $ff,$ff,$cc,$33,$00,$85,$08,$aa,$cd,$cd,$cd,$0d,$0d,$0d,$8d,$8d // ...3............
        .byte $ff,$ff,$ff,$3f,$3f,$0d,$8d,$8d,$ff,$f5,$dc,$73,$40,$22,$88,$aa // ...??......s@"..
        .byte $5f,$f0,$cc,$33,$00,$9d,$08,$aa,$ff,$ff,$3f,$0f,$0f,$23,$83,$a3 // _..3......?..#..
        .byte $ff,$fd,$f4,$d3,$d0,$62,$48,$6a,$d5,$7f,$cc,$33,$00,$ad,$08,$aa // .....bHj...3....
        .byte $57,$f3,$c3,$33,$03,$23,$83,$a3,$55,$fc,$cc,$30,$00,$b3,$08,$a8 // W..3.#..U..0....
        .byte $59,$66,$00,$bb,$08,$d5,$d5,$d5,$99,$66,$00,$db,$08,$54,$64,$88 // Yf.......f...Td.
        .byte $99,$66,$15,$d5,$d5,$d5,$d5,$d9,$98,$64
        .text "TTTT"
        .byte $68,$80
        .byte $d9,$d6,$c0,$ff,$d5,$d5,$d5,$d5,$99,$66,$00,$f3,$08,$54,$54,$54 // .........f...TTT
        .byte $99,$66,$15,$d5,$d5,$d5,$d6,$d8,$98,$64
        .text "TTTTT"
        .byte $98
        .byte $99,$66,$00,$01,$09,$d5,$d5,$d5,$99,$66,$05,$f5,$7d,$4d,$4d,$4d // .f.......f..}MMM
        .fill 8, $00
        .byte $99,$66                               // .f

txt_090a:
        .text "UUUUVX"
        .byte $8d                                   // .

txt_0911:
        .text "MMMMMM"
        .byte $8d,$99,$66
        .text "UUUU"
        .byte $65,$89,$8d

txt_0921:
        .text "MLOMMMM"
        .byte $99,$66,$00,$ff
        .text "UUUU"
        .byte $99,$66,$01,$fd,$5d
        .byte $4d,$4d,$4d
        .byte $99,$66                               // .f

txt_093a:
        .text "UUUUUV"
        .byte $99,$66,$00,$ff,$5f,$4f,$4f,$4f,$99,$66,$00,$ff,$ff,$ff,$ff,$ff // .f.._OOO.f......
        .byte $99,$66                               // .f

txt_0952:
        .text "UUUUUU"
        .byte $93,$63                               // .c

txt_095a:
        .text "SSSSSSY"
        .byte $66,$00,$ff
        .text "UUUU"
        .byte $99,$66,$00,$ff
        .text "WSSS"
        .byte $99
        .byte $66
        .text "UUUUY"
        .byte $62
        .byte $59,$66

txt_097a:
        .text "UUUUUU"
        .byte $99,$66                               // .f

txt_0982:
        .text "TSSSSS"
        .byte $93,$63,$03,$ff,$ff,$ff,$ff,$ff,$98,$64,$00,$ff,$ff,$ff,$ff,$ff // .c.......d......
        .byte $da,$d0,$df,$df,$df,$df,$df,$df,$30,$fc,$fc,$fc,$fc,$fc,$fc,$fc // ........0.......
        .byte $d2,$dc,$df,$df,$df,$df,$df,$df,$3c,$fc,$fc,$fc,$fc,$fc,$fc,$fc // ........<.......
        .byte $d5,$d9,$d2,$dc,$df,$df,$df,$df       // ........

txt_09c0:
        .text "TTX"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $0c,$fc,$fc,$fc,$d3,$df,$df,$df,$df,$df,$df,$df,$20,$cc,$fc,$fc // ............ ...
        .byte $fc,$fc,$fc,$fc,$d9,$d2,$dc,$df,$df,$df,$df,$df,$54,$54,$98,$20 // ............TT. 
        .byte $cc,$fc,$fc,$fc,$4d,$4d,$8d,$0d,$cd,$cd,$cd,$cd,$63,$8f,$3f,$ff // ....MM......c.?.
        .byte $ff,$ff,$ff,$ff,$0d,$cd,$cd,$cd,$cd,$cd,$cd,$cd,$32,$fc,$ff,$ff // ............2...
        .byte $ff,$ff,$ff,$ff,$4d,$8d,$0d,$cd,$cd,$cd,$cd,$cd,$59,$62,$8c,$3f // ....M.......Yb.?
        .byte $ff,$ff,$ff,$ff,$58,$63,$8f,$3f,$ff,$ff,$ff,$ff,$8d,$0d,$cd,$cd // ....Xc.?........
        .byte $cd,$cd,$cd,$cd,$55,$65,$89,$32,$fc,$ff,$ff,$ff,$55,$66,$88,$33 // ....Ue.2....Uf.3
        .byte $ff,$ff,$c0,$cd,$99,$22,$cc,$ff,$ff,$ff,$ff,$ff,$4f,$4f,$8f,$0f // ....."......OO..
        .byte $cf,$cf,$cf,$cf,$59,$62,$4c,$7f,$7f,$7f,$7f,$7f,$53,$53,$93,$23 // ....YbL.....SS.#
        .byte $c3,$f3,$f3,$f3,$55,$56,$58,$63,$4f,$7f,$7f,$7f,$4c,$7f,$7f,$7f // ....UVXcO...L...
        .byte $7f,$7f,$7f,$7f,$93,$23,$c3,$f3,$f3,$f3,$f3,$f3,$53,$63,$83,$33 // .....#......Sc.3
        .byte $f3,$f3,$f3,$f3,$55,$55,$59,$62,$4c,$7f,$df,$df,$5f,$55,$98,$23 // ....UUYbL..._U.#
        .byte $cf,$ff,$ff,$ff,$ff,$ff,$3f,$cf,$cf,$f3,$f3,$f3,$df,$df,$df,$df // ......?.........
        .byte $dc,$df,$dc,$dc,$f0,$fc,$f0,$f0,$08,$f0,$08,$08,$0d,$cd,$0d,$0d // ................
        .byte $8d,$0d,$8d,$8d,$ff,$ff,$ff,$ff,$c0,$ff,$c0,$c0,$0f,$cf,$0f,$0f // ................
        .byte $8f,$0f,$8f,$8f,$7f,$7f,$7f,$7f,$70,$7f,$70,$70,$c3,$f3,$c3,$c3 // ........p.pp....
        .byte $23,$c3,$23,$23,$f7,$fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$3f,$c0,$ff // #.##.........?..
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$7f,$70,$7f,$70,$70,$d2,$dc,$d2,$d2 // ........p.pp....
        .byte $d9,$d2,$d9,$d9,$a4,$08,$a4,$a4,$55,$aa // ........U.

txt_0aee:
        .text "UU"
        .byte $d2                                   // 'R' | $80 (end-of-string marker)
        .byte $dc,$d2,$d2,$55,$aa                   // ...U.

txt_0af6:
        .text "UU"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $08,$a4,$a4,$54,$a4                   // ...T.

txt_0afe:
        .text "TT"
        .byte $d2                                   // 'R' | $80 (end-of-string marker)
        .byte $dc,$c0,$ff,$55,$aa                   // ...U.

txt_0b06:
        .text "UU"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $08,$00,$ff,$55,$aa,$55,$55,$4d,$8d   // ...U.UUM.

txt_0b12:
        .text "MMMMMM*"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $2a,$2a,$95,$2a,$95,$95,$4d,$8d       // **.*..M.

txt_0b22:
        .text "MMU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)

txt_0b26:
        .text "UU*"
        .byte $c0                                   // '@' | $80 (end-of-string marker)

txt_0b2a:
        .text "**U"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$55,$4f,$8f                       // UUO.

txt_0b32:
        .text "OOOOOOJ"
        .byte $70,$4a,$4a,$65,$4a,$65,$65,$93,$23,$93,$93,$53,$93,$53,$53,$93 // pJJeJee.#..S.SS.
        .byte $23,$93,$93,$55,$aa,$55,$55,$4a,$70,$00,$ff,$55,$aa,$55,$55,$93 // #..U.UUJp..U.UU.
        .byte $23,$03,$ff,$55,$aa,$55,$55,$4a,$70   // #..U.UUJp

txt_0b62:
        .text "JJU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$55,$ff,$ff,$ff,$ff,$55,$6a,$55,$55,$ff,$ff,$ff,$ff,$55,$aa // UU....UjUU....U.

txt_0b76:
        .text "UU"
        .byte $d5                                   // 'U' | $80 (end-of-string marker)
        .byte $d9,$d5,$d5,$d5,$d5,$c0,$ff           // .......

txt_0b80:
        .text "UUUUUU"
        .byte $00                                   // string terminator
        .byte $ff                                   // .

txt_0b88:
        .text "UUUUUT"
        .byte $03,$ff                               // ..

txt_0b90:
        .text "TTSSO?"
        .byte $ff,$ff,$d5,$d9,$f5,$f5,$fd,$ff,$ff,$ff // ..........

txt_0ba0:
        .text "UUUUUU"
        .byte $f0,$ff                               // ..

txt_0ba8:
        .text "TTTTTT"
        .byte $00                                   // string terminator
        .byte $ff                                   // .

txt_0bb0:
        .text "MMMMMM"
        .byte $0d                                   // string terminator
        .byte $fd,$55,$95                           // .U.

txt_0bba:
        .text "UUUUUUMMMMMMLOU"
        .byte $95
        .text "UUUU"
        .byte $00,$ff

txt_0bd0:
        .text "MMMMMM"
        .byte $0c,$ff                               // ..

txt_0bd8:
        .text "OOOOOO"
        .byte $0f,$ff,$55,$65                       // ..Ue

txt_0be2:
        .text "UUUUUUSSSSSSSSU"
        .byte $65,$d5,$d5,$f5,$fd,$ff,$ff           // e......

txt_0bf8:
        .text "UUUUUU"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $ff                                   // .

scr_0c00:
        .text "SSSSSS"
        .encoding "screencode_mixed"
        .text "c"
        .byte $ff                                   // scrcode: .
        .encoding "petscii_upper"

txt_0c08:
        .text "UUUUUP"
        .encoding "screencode_mixed"
        .text "o"
        .byte $ff,$53,$53,$4f,$4f                   // scrcode: .....
        .text "?"
        .byte $ff,$ff,$ff,$fd,$fd,$fd,$fd,$fc,$ff,$ff,$ff,$55,$55,$55,$55 // scrcode: ...............
        .text "@"
        .byte $ff,$ff,$ff,$4f,$4f,$4f,$4f           // scrcode: .......
        .text "o"
        .byte $ff,$ff,$ff,$53,$53,$53,$53           // scrcode: .......
        .text "c"
        .byte $ff                                   // scrcode: .
        .byte $ff,$ff                               // scrcode: ..
        .text "@@@@@@@@@@>g?"
        .byte $77                                   // scrcode: .
        .text ";@@"
        .byte $70,$70,$7e,$77,$77,$6e               // scrcode: ......
        .text "@@@>"
        .byte $77,$70,$77                           // scrcode: ...
        .text ">@@gg?"
        .byte $77,$77                               // scrcode: ..
        .text ";@@@>"
        .byte $77,$7f,$70                           // scrcode: ...
        .text ">@@o"
        .byte $1c                                   // scrcode: .
        .text "?"
        .byte $1c,$1c,$1c                           // scrcode: ...
        .text "@@@;"
        .byte $77,$77                               // scrcode: ..
        .text "?g"
        .byte $7e                                   // scrcode: .
        .text "@"
        .byte $70,$70,$7e,$77,$77,$77               // scrcode: ......
        .text "@@"
        .byte $1c                                   // scrcode: .
        .text "@<"
        .byte $1c,$1c                               // scrcode: ..
        .text ">@@g@oggg>@"
        .byte $70,$73,$76,$7c,$76,$73               // scrcode: ......
        .text "@@<"
        .byte $1c,$1c,$1c,$1c                       // scrcode: ....
        .text ">@@@"
        .byte $66,$7f,$7f,$6b,$63                   // scrcode: .....
        .text "@@@"
        .byte $6e,$77,$77,$77                       // scrcode: ....
        .byte $77                                   // scrcode: .
        .text "@@@>"
        .byte $77,$77,$77                           // scrcode: ...
        .text ">@@@"
        .byte $6e,$77,$77,$7e,$70,$70               // scrcode: ......
        .text "@@;"
        .byte $77,$77                               // scrcode: ..
        .text "?gg@@"
        .byte $6e,$77,$70,$70,$70                   // scrcode: .....
        .text "@@@?"
        .byte $70                                   // scrcode: .
        .text ">g"
        .byte $7e                                   // scrcode: .
        .text "@@"
        .byte $1c,$7f,$1c,$1c,$1c                   // scrcode: .....
        .text "o@@@"
        .byte $77,$77,$77,$77                       // scrcode: ....
        .text ";@@@"
        .byte $77,$77,$77                           // scrcode: ...
        .text ">"
        .byte $1c                                   // scrcode: .
        .text "@@@"
        .byte $63,$6b,$7f                           // scrcode: ...
        .text ">6@@@"
        .byte $77                                   // scrcode: .
        .text ">"
        .byte $1c                                   // scrcode: .
        .text ">"
        .byte $77                                   // scrcode: .
        .text "@@@"
        .byte $77,$77,$77                           // scrcode: ...
        .text "?n"
        .byte $7c                                   // scrcode: .
        .text "@@"
        .byte $7f                                   // scrcode: .
        .text "n"
        .byte $1c                                   // scrcode: .
        .text "8"
        .byte $7f                                   // scrcode: .
        .text "@"
        .encoding "petscii_upper"

txt_0d10:
        .text "<00000<"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .byte $c0,$f0,$f0,$f0,$f0,$f0,$f0,$f0       // scrcode: ........
        .text "<lllll<@@x<"
        .byte $7e                                   // scrcode: .
        .text "xxxx@p0"
        .byte $7f,$7f                               // scrcode: ..
        .text "0p@@@@@@@@@"
        .text "@>>>"
        .byte $1c                                   // scrcode: .
        .text "@"
        .byte $1c                                   // scrcode: .
        .text "@"
        .byte $66,$66,$66                           // scrcode: ...
        .text "@@@@@"
        .byte $66,$66,$ff,$66,$ff,$66,$66           // scrcode: .......
        .text "@x>"
        .byte $60                                   // scrcode: .
        .text "<f"
        .byte $7c                                   // scrcode: .
        .text "x@"
        .byte $62,$66                               // scrcode: ..
        .text "lx0"
        .byte $66,$46                               // scrcode: ..
        .text "@"
        .text "<"
        .byte $66                                   // scrcode: .
        .text "<8"
        .byte $67,$66                               // scrcode: ..
        .text "?@flx@@@@@@n"
        .byte $1c                                   // scrcode: .
        .text "xx"
        .byte $1c                                   // scrcode: .
        .text "n@@"
        .byte $70                                   // scrcode: .
        .text "8xx8"
        .byte $70                                   // scrcode: .
        .text "@@"
        .byte $66                                   // scrcode: .
        .text "<"
        .byte $ff                                   // scrcode: .
        .text "<"
        .byte $66                                   // scrcode: .
        .text "@@"
        .text "@xx"
        .byte $7e                                   // scrcode: .
        .text "xx@@@@@@@"
        .byte $1c,$1c                               // scrcode: ..
        .text "8@@@"
        .byte $7e                                   // scrcode: .
        .text "@@@@@@@@@88@@gn"
        .byte $1c                                   // scrcode: .
        .text "8"
        .byte $70,$60                               // scrcode: ..
        .text "@"
        .text "@>"
        .byte $67,$6f,$7b,$73                       // scrcode: ....
        .text ">@@"
        .byte $1c                                   // scrcode: .
        .text "<"
        .byte $1c,$1c,$1c,$7f                       // scrcode: ....
        .text "@@>"
        .byte $67                                   // scrcode: .
        .text "n"
        .byte $1c                                   // scrcode: .
        .text "8"
        .byte $7f                                   // scrcode: .
        .text "@@"
        .byte $7f                                   // scrcode: .
        .text "n"
        .byte $1c                                   // scrcode: .
        .text "n"
        .byte $67                                   // scrcode: .
        .text ">@@n"
        .byte $1e                                   // scrcode: .
        .text ">"
        .byte $6e,$7f                               // scrcode: ..
        .text "n@"
        .text "@"
        .byte $7f,$70,$7e                           // scrcode: ...
        .text "g"
        .byte $77                                   // scrcode: .
        .text ">@@>"
        .byte $70,$7e,$77,$77                       // scrcode: ....
        .text ">@@"
        .byte $7f                                   // scrcode: .
        .text "gn"
        .byte $1c                                   // scrcode: .
        .text "88@@>"
        .byte $77                                   // scrcode: .
        .text ">"
        .byte $77,$77                               // scrcode: ..
        .text ">@@>"
        .byte $77                                   // scrcode: .
        .text "?gn<@"
        .text "@@"
        .byte $1c,$1c                               // scrcode: ..
        .text "@"
        .byte $1c,$1c                               // scrcode: ..
        .text "@@@"
        .byte $1c,$1c                               // scrcode: ..
        .text "@"
        .byte $1c,$1c                               // scrcode: ..
        .text "8n"
        .byte $1c                                   // scrcode: .
        .text "8"
        .byte $70                                   // scrcode: .
        .text "8"
        .byte $1c                                   // scrcode: .
        .text "n@@@"
        .byte $7e                                   // scrcode: .
        .text "@"
        .byte $7e                                   // scrcode: .
        .text "@@@"
        .byte $70                                   // scrcode: .
        .text "8"
        .byte $1c                                   // scrcode: .
        .text "n"
        .byte $1c                                   // scrcode: .
        .text "8"
        .byte $70                                   // scrcode: .
        .text "@"
        .text "@>"
        .byte $77                                   // scrcode: .
        .text "n"
        .byte $1c                                   // scrcode: .
        .text "@"
        .byte $1c                                   // scrcode: .
        .text "@@<"
        .byte $66,$6e,$6e,$60                       // scrcode: ....
        .text ">@@"
        .byte $1c                                   // scrcode: .
        .text ">"
        .byte $77,$77,$7f,$77                       // scrcode: ....
        .text "@@"
        .byte $7e,$77,$7e,$77,$77,$7e               // scrcode: ......
        .text "@@>"
        .byte $77,$70,$70,$77                       // scrcode: ....
        .text ">@"
        .text "@"
        .byte $7c,$76,$77,$77,$7e,$7c               // scrcode: ......
        .text "@@"
        .byte $7f,$78,$7e,$78,$78,$7f               // scrcode: ......
        .text "@@"
        .byte $7f,$78,$7e,$78,$78,$78               // scrcode: ......
        .text "@@>"
        .byte $77,$70,$77,$77                       // scrcode: ....
        .text ";@@"
        .byte $77,$77,$7f,$77,$77,$77               // scrcode: ......
        .text "@"
        .text "@"
        .byte $7f,$1c,$1c,$1c,$1c,$7f               // scrcode: ......
        .text "@@gggg"
        .byte $77                                   // scrcode: .
        .text ">@@"
        .byte $77,$76,$7c,$7c,$76,$77               // scrcode: ......
        .text "@@"
        .byte $78,$78,$78,$78,$78,$7f               // scrcode: ......
        .text "@@"
        .byte $63,$77,$7f,$7f,$77,$77               // scrcode: ......
        .text "@"
        .text "@"
        .byte $7b,$7b,$7f,$7f,$77,$77               // scrcode: ......
        .text "@@>"
        .byte $77,$77,$77,$7f                       // scrcode: ....
        .text ">@@"
        .byte $7e,$77,$77,$7e,$70,$70               // scrcode: ......
        .text "@@>"
        .byte $77,$77,$7f,$7e                       // scrcode: ....
        .text ";@@"
        .byte $7e,$77,$77,$7e,$77,$77               // scrcode: ......
        .text "@"
        .text "@>"
        .byte $77                                   // scrcode: .
        .text "8n"
        .byte $77                                   // scrcode: .
        .text ">@@"
        .byte $7f,$1c,$1c,$1c,$1c,$1c               // scrcode: ......
        .text "@@"
        .byte $77,$77,$77,$77,$7f                   // scrcode: .....
        .text ";@@"
        .byte $77,$77,$77,$77                       // scrcode: ....
        .text ">"
        .byte $1c                                   // scrcode: .
        .text "@@"
        .byte $77,$77,$7f,$7f,$77,$63               // scrcode: ......
        .text "@"
        .text "@"
        .byte $77,$77                               // scrcode: ..
        .text ">>"
        .byte $77,$77                               // scrcode: ..
        .text "@@"
        .byte $77,$77                               // scrcode: ..
        .text ">"
        .byte $1c,$1c,$1c                           // scrcode: ...
        .text "@@"
        .byte $7f                                   // scrcode: .
        .text "n"
        .byte $1c                                   // scrcode: .
        .text "8"
        .byte $70,$7f                               // scrcode: ..
        .text "@"
        .byte $fc                                   // scrcode: .
        .encoding "petscii_upper"

txt_0f11:
        .text "<<<<<<"
        .encoding "screencode_mixed"
        .byte $fc,$f0                               // scrcode: ..
        .text "0@"
        .byte $c0,$c0                               // scrcode: ..
        .text "@3"
        .byte $f3                                   // scrcode: .
        .text "l"
        .encoding "petscii_upper"

txt_0f21:
        .text "<<<<<<"
        .encoding "screencode_mixed"
        .text "l"
        .byte $c0,$f0                               // scrcode: ..
        .text "@@@@"
        .byte $f3,$c3                               // scrcode: ..
        .text "l"
        .encoding "petscii_upper"

txt_0f31:
        .text "<<<?<<<               T"
        .encoding "screencode_mixed"
        .text "he "
        .byte $4b                                   // scrcode: .
        .text "ing of "
        .byte $43                                   // scrcode: .
        .text "racks presents"
        .encoding "petscii_upper"

txt_0f62:
        .text "                 C"
        .encoding "screencode_mixed"
        .text "racked "
        .byte $42                                   // scrcode: .
        .text "y "
        .byte $44                                   // scrcode: .
        .text "erbyshire "
        .byte $52                                   // scrcode: .
        .text "am"
        .encoding "petscii_upper"

dat_0f8c:
        .text "                                              S"
        .encoding "screencode_mixed"
        .text "uper "
        .byte $54                                   // scrcode: .
        .text "ank "
        .byte $53                                   // scrcode: .
        .text "imulator"
        .encoding "petscii_upper"

txt_0fce:
        .text " +"

dat_0fd0:
        // === Fill data (48 bytes, $0fd0-$0fff) ===
        .fill 48, $20

// --- Region $1007-$1080 ---
.pc = $1007 "Segment $1007"
        .text "COOL MUSIC BY 20"
        .text "CC! "
        .byte $02,$02,$02,$02,$02,$06,$00,$00,$0c,$00,$00,$00
        .byte $18,$28,$20,$18,$2e,$3c,$13,$0e,$16,$16,$06,$0b,$05,$0a,$04,$61 // .( ..<.........a
        .byte $78,$45,$18,$18,$19,$00,$04,$00,$41,$19,$40,$00,$03,$05,$00,$0f // xE......A.@.....
        .byte $81,$c2,$60,$40,$40,$81,$80,$00,$00,$02,$00,$00,$00,$30,$ef,$87 // ..`@@........0..
        .byte $04,$0e,$21,$00,$00,$00,$00,$00,$00,$00,$00,$35,$00,$00,$00,$02 // ..!........5....
        .byte $00,$02,$08,$00,$5f,$00,$00,$00,$00,$00,$0c,$00,$00,$20,$08,$08 // ...._........ ..
        .byte $08,$00,$00,$00,$00,$08,$00,$a8,$02,$00 // ..........

// --- Region $164b-$1652 ---
.pc = $164b "dat_164b"

dat_164b:
        .byte $ad,$7e,$10,$38,$f9,$48,$18,$d9       // .~.8.H..

// --- Region $165d-$1b9f ---
.pc = $165d "dat_165d"

dat_165d:
        .byte $0c,$1c,$2d,$3e,$51,$66,$7b,$91,$a9,$c3,$dd,$fa,$18,$38,$5a,$7d // ..->Qf{......8Z}
        .byte $a3,$cc,$f6,$23,$53,$86,$bb,$f4,$30,$70,$b4,$fb,$47,$98,$ed,$47 // ...#S...0p..G..G
        .byte $b0,$0c,$77,$e9,$61,$e1,$68,$f7,$8f,$30,$da,$8f,$4e,$18,$ef,$d2 // ..w.a.h..0..N...
        .byte $c3,$c3,$d1,$ef,$1f,$60,$b5,$1e,$9c,$31,$df,$a5,$87,$86,$a2,$df // .....`...1......
        .byte $3e,$c1,$6b,$3c,$39,$63,$be,$4b,$0f,$0c,$45,$bf,$7d,$83,$d6,$79 // >.k<9c.K..E.}..y
        .byte $73,$c7,$7c,$97,$1e,$18,$8b,$7e,$fa,$06,$ac,$f3,$e6,$8f,$f8,$2e // s.|....~........
        .fill 12, $01
        .byte $02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04 // ................
        .byte $05,$05,$05,$06,$06,$07,$07,$07,$08,$08,$09,$09,$0a,$0b,$0b,$0c // ................
        .byte $0d,$0e,$0e,$0f,$10,$11,$12,$13,$15,$16,$17,$19,$1a,$1c,$1d,$1f // ................

txt_16f9:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$00,$07,$0e,$01,$02,$04,$02,$00,$61,$18,$78,$18,$45,$19 // ..........a.x.E.
        .byte $00,$03,$02,$02,$00,$03,$07,$00,$04,$07,$40,$56,$66,$70,$17,$17 // ..........@Vfp..
        .byte $17,$17,$0b,$04,$05,$81,$41,$40,$80,$80,$40,$80,$80,$40,$80,$fe // ......A@..@..@..
        .byte $cc,$0e,$10,$cc,$c7,$0e,$c7,$cc,$10,$cc,$80,$81,$41,$40,$fe,$f0 // ............A@..
        .byte $0d,$0a,$08,$06,$03,$04,$06,$05,$04,$05,$80,$81,$11,$40,$80,$fe // .............@..
        .byte $ce,$31,$26,$ea,$80                   // .1&..

txt_1770:
        .text "! "
        .byte $40                                   // @ character
        .text " "
        .byte $40                                   // @ character
        .byte $fe,$00,$00,$00,$00,$00,$00,$00,$00,$19,$01,$00,$f7,$08,$60,$81 // ..............`.
        .byte $00,$19,$00,$00,$f8,$08,$60,$81,$00,$41,$40,$04,$f9,$18,$c2,$40 // ......`..A@....@
        .byte $11,$41,$83,$00,$c9,$14,$40,$80,$00,$19,$02,$00,$c3,$08,$60,$81 // .A....@.......`.
        .byte $00,$41,$83,$00,$9a,$28,$c1,$80,$00,$91,$40,$00,$9f,$38,$00,$00 // .A...(....@..8..
        .byte $20,$11,$40,$00,$8f,$4b,$00,$00,$40,$19,$00,$00,$c8,$08,$60,$81 //  .@..K..@.....`.
        .byte $00,$19,$00,$00,$a8,$08,$60,$81,$00,$19,$00,$00,$88,$08,$60,$81 // ......`.......`.
        .byte $00,$19,$00,$00,$68,$08,$60,$81,$00,$19,$00,$00,$48,$08,$60,$81 // ....h.`.....H.`.
        .byte $00,$19,$00,$00,$28,$08,$60,$81,$00,$19,$00,$00,$18,$08,$60,$81 // ....(.`.......`.
        .byte $00,$81,$80,$00,$ff,$00,$60,$00,$02,$41,$40 // ......`..A@

chr_1800:
        // === Charset data (928 bytes, $1800-$1b9f) ===
        .byte $04,$9c,$18,$00,$00,$10,$0a,$22       // char 0 @+0
        .byte $00,$00,$0a,$22,$03,$32,$0c,$32       // char 1 @+1
        .byte $06,$38,$0b,$32,$1a,$08,$00,$00       // char 2 @+2
        .byte $00,$00,$05,$0c,$00,$58,$00,$00       // char 3 @+3
        .byte $00,$01,$04,$0c,$00,$48,$00,$00       // char 4 @+4
        .byte $00,$00,$06,$0c,$00,$78,$00,$00       // char 5 @+5
        .byte $01,$00,$08,$0c,$00,$64,$38,$18       // char 6 @+6
        .byte $20,$04,$50,$04,$90,$04,$c0,$04       // char 7 @+7
        .byte $70,$05,$c0,$05,$50,$06,$20,$07       // char 8 @+8
        .byte $fe,$1f,$f0,$a8,$01,$48,$58,$00       // char 9 @+9
        .byte $02,$4f,$f0,$ff,$01,$68,$f8,$00       // char 10 @+10
        .byte $01,$5b,$18,$98,$78,$68,$58,$48       // char 11 @+11
        .byte $fe,$8e,$01,$01,$e2,$93,$05,$e7       // char 12 @+12
        .byte $05,$e7,$0d,$05,$94,$05,$e3,$0d       // char 13 @+13
        .byte $05,$93,$05,$e3,$0d,$05,$0e,$ff       // char 14 @+14
        .byte $ef,$8e,$02,$e6,$03,$04,$e6,$03       // char 15 @+15
        .byte $04,$e6,$03,$04,$96,$07,$07,$98       // char 16 @+16
        .byte $07,$07,$08,$07,$08,$08,$96,$07       // char 17 @+17
        .byte $07,$98,$07,$07,$08,$07,$08,$08       // char 18 @+18
        .byte $96,$07,$07,$98,$07,$07,$08,$07       // char 19 @+19
        .byte $08,$08,$96,$07,$07,$98,$07,$07       // char 20 @+20
        .byte $08,$07,$08,$08,$96,$07,$07,$98       // char 21 @+21
        .byte $07,$07,$08,$07,$08,$08,$96,$07       // char 22 @+22
        .byte $07,$98,$07,$07,$08,$07,$08,$08       // char 23 @+23
        .byte $96,$07,$07,$98,$07,$07,$08,$07       // char 24 @+24
        .byte $08,$08,$96,$07,$07,$98,$07,$07       // char 25 @+25
        .byte $08,$07,$08,$08,$96,$07,$07,$98       // char 26 @+26
        .byte $07,$07,$96,$07,$07,$98,$07,$07       // char 27 @+27
        .byte $96,$07,$07,$98,$07,$07,$96,$07       // char 28 @+28
        .byte $07,$98,$07,$07,$96,$07,$07,$98       // char 29 @+29
        .byte $07,$07,$96,$07,$07,$98,$07,$07       // char 30 @+30
        .byte $96,$07,$07,$98,$07,$07,$96,$07       // char 31 @+31
        .byte $07,$98,$07,$07,$e6,$03,$04,$e6       // char 32 ' '
        .byte $03,$04,$97,$07,$07,$99,$07,$07       // char 33 '!'
        .byte $97,$07,$07,$99,$07,$07,$97,$07       // char 34 '"'
        .byte $07,$99,$07,$07,$97,$07,$07,$99       // char 35 '#'
        .byte $07,$07,$e6,$03,$04,$e6,$03,$04       // char 36 '$'
        .byte $96,$07,$07,$98,$07,$07,$96,$07       // char 37 '%'
        .byte $07,$98,$07,$07,$96,$07,$07,$98       // char 38 '&'
        .byte $07,$07,$96,$07,$07,$98,$07,$07       // char 39 '''
        .byte $e6,$03,$04,$0f,$ff,$e3,$96,$00       // char 40 '('
        .byte $06,$06,$8e,$09,$0a,$09,$0b,$09       // char 41 ')'
        .byte $0a,$09,$0b,$90,$0c,$0c,$96,$06       // char 42 '*'
        .byte $97,$06,$91,$0c,$97,$06,$96,$06       // char 43 '+'
        .byte $90,$0c,$96,$06,$87,$10,$ff,$89       // char 44 ','
        .byte $ba,$d4,$d8,$e7,$f7,$3d,$6f,$7d       // char 45 '-'
        .byte $8d,$bd,$ee,$1f,$68,$97,$a0,$8e       // char 46 '.'
        .byte $19,$19,$19,$19,$19,$19,$1a,$1a       // char 47 '/'
        .byte $1a,$1a,$1a,$1a,$1b,$1b,$19,$19       // char 48 '0'
        .byte $19,$a0,$c0,$00,$00,$ff,$a0,$a0       // char 49 '1'
        .byte $d1,$7f,$00,$08,$18,$00,$ff,$a0       // char 50 '2'
        .byte $a0,$d0,$7f,$00,$20,$4c,$48,$ff       // char 51 '3'
        .byte $82,$c2                               // char 52 (partial)

txt_19a2:
        .byte $2c,$2c,$c9                           // char 52 (partial)

txt_19a5:
        .byte $2c,$2c,$ca                           // char 52 (partial)

txt_19a8:
        .byte $2c,$2c,$cb                           // char 53 (partial)

txt_19ab:
        .byte $2c,$2c,$cc                           // char 53 (partial)

txt_19ae:
        .byte $2c,$2c                               // char 53 (partial)
        .byte $cd                                   // char 54 (partial)

txt_19b1:
        .byte $2c,$2c,$ce                           // char 54 (partial)

txt_19b4:
        .byte $2c,$2c,$a4,$cf                       // char 54 (partial)
        .byte $2c,$ff,$86,$c3,$0c,$f1,$0c,$88       // char 55 '7'
        .byte $0c,$84,$0c,$82,$0a,$0a,$84,$0a       // char 56 '8'
        .byte $86,$0c,$0c,$88,$0c,$84,$11,$11       // char 57 '9'
        .byte $82,$0f,$11,$ff,$88,$c1,$20,$ff       // char 58 ':'
        .byte $84,$c1,$20,$82,$c5,$20,$20,$84       // char 59 ';'
        .byte $c2,$2c,$82,$c5,$20,$20,$ff,$84       // char 60 '<'
        .byte $c1,$20,$82,$c5,$20,$20,$84,$c2       // char 61 '='
        .byte $2c,$82,$c5,$20,$c2,$2c,$ff,$84       // char 62 '>'
        .byte $c3,$0c,$82,$0c,$18,$84,$0c,$88       // char 63 '?'
        .byte $0c,$82,$18,$0c,$84,$0c,$82,$0c       // char 64 '@'
        .byte $18,$84,$05,$82,$05,$11,$84,$05       // char 65 'A'
        .byte $88,$05,$82,$11,$05,$84,$05,$82       // char 66 'B'
        .byte $05,$11,$84,$07,$82,$07,$13,$84       // char 67 'C'
        .byte $07,$88,$07,$82,$13,$07,$84,$05       // char 68 'D'
        .byte $82,$05,$11,$84,$07,$82,$07,$13       // char 69 'E'
        .byte $84,$07,$88,$07,$82,$13,$07,$84       // char 70 'F'
        .byte $07,$82,$07,$13,$ff,$86,$c4,$e2       // char 71 'G'
        .byte $24,$24,$88,$24,$86,$24,$24,$26       // char 72 'H'
        .byte $26,$88,$26,$84,$26,$26,$82,$e2       // char 73 'I'
        .byte $24,$26,$86,$e1,$28,$28,$88,$28       // char 74 'J'
        .byte $84,$28,$82,$e2,$26,$26,$84,$26       // char 75 'K'
        .byte $86,$e1,$28,$28,$88,$28,$84,$28       // char 76 'L'
        .byte $82,$e2,$26,$26,$84,$26,$ff,$84       // char 77 'M'
        .byte $c1,$20,$82,$c6,$e2,$24,$24,$84       // char 78 'N'
        .byte $c2,$2c,$c6,$24,$ff,$84,$c1,$20       // char 79 'O'
        .byte $82,$c6,$e1,$26,$26,$84,$c2,$2c       // char 80 'P'
        .byte $82,$c6,$26,$26,$ff,$8c,$c0,$00       // char 81 'Q'
        .byte $84,$c7,$24,$88,$7f,$00,$1c,$25       // char 82 'R'
        .byte $27,$84,$2b,$88,$29,$84,$29,$88       // char 83 'S'
        .byte $27,$84,$26,$24,$22,$88,$26,$9c       // char 84 'T'
        .byte $24,$86,$c8,$7f,$00,$30,$2e,$30       // char 85 'U'
        .byte $2e,$84,$2b,$86,$7f,$00,$34,$32       // char 86 'V'
        .byte $33,$32,$84,$30,$ff,$8c,$2c,$84       // char 87 'W'
        .byte $c7,$24,$88,$7f,$00,$20,$25,$27       // char 88 'X'
        .byte $84,$2b,$88,$29,$84,$29,$88,$27       // char 89 'Y'
        .byte $84                                   // char 90 (partial)

txt_1ad1:
        .byte $2e,$2b,$29,$a4,$2b,$84,$c8           // char 90 (partial)
        .byte $7f,$00,$24,$2e,$30,$82,$2e,$84       // char 91 '['
        .byte $30,$82,$2e,$84,$30,$7f,$00           // char 92 (partial)

txt_1ae7:
        .byte $24                                   // char 92 (partial)
        .byte $32,$33,$32,$2e,$30,$ff,$8c,$2c       // char 93 ']'
        .byte $84,$c7,$24,$88,$7f,$00,$2c,$25       // char 94 '^'
        .byte $27,$84,$2b,$88,$29,$84,$2b,$88       // char 95 '_'
        .byte $2e,$84                               // char 96 (partial)

txt_1b02:
        .byte $30,$2e,$2b,$a4,$30,$84               // char 96 (partial)
        .byte $c8,$7f,$00,$24,$2e,$30,$82,$2e       // char 97 'a'
        .byte $84,$30,$82,$2e,$84,$30,$7f,$00       // char 98 'b'

txt_1b18:
        .byte $2a,$33,$35,$33,$32,$30,$ff,$86       // char 99 'c'
        .byte $c7,$1e,$22,$25,$2a,$84,$2c,$2e       // char 100 'd'
        .byte $84,$2c,$27,$24,$82,$22,$86,$20       // char 101 'e'
        .byte $82                                   // char 102 (partial)

txt_1b31:
        .byte $22,$20,$22,$20,$1e,$1d,$86           // char 102 (partial)
        .byte $1e,$22,$25,$2a,$84,$2c,$84,$2e       // char 103 'g'
        .byte $2c,$82,$2e,$9a,$30,$86,$31,$30       // char 104 'h'
        .byte $2e,$2a,$84,$2c,$2e,$84,$2c,$27       // char 105 'i'
        .byte $24,$82,$22,$86,$20,$82               // char 106 (partial)

txt_1b56:
        .byte $22,$20                               // char 106 (partial)
        .byte $22,$24,$27,$29,$86,$2a,$2c,$2e       // char 107 'k'
        .byte $30,$82                               // char 108 (partial)

txt_1b62:
        .byte $31,$30,$2e,$a2,$2c,$ff               // char 108 (partial)
        .byte $84,$c3,$0c,$82,$0c,$0c,$18,$0c       // char 109 'm'
        .byte $0c,$84,$0c,$82,$0c,$0c,$0c,$18       // char 110 'n'
        .byte $84,$0c,$82,$0c,$84,$c3,$05,$82       // char 111 'o'
        .byte $05,$05,$11,$05,$05,$84,$05,$82       // char 112 'p'
        .byte $05,$05,$05,$11,$84,$05,$82,$05       // char 113 'q'
        .byte $ff,$00,$00,$00,$00,$00,$00,$00       // char 114 'r'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 115 's'

// --- Region $1ba5-$1be2 ---
.pc = $1ba5 "Segment $1ba5"
        .byte $08,$08,$08,$08,$08,$08               // char 0 (partial)
        .byte $08,$01,$08,$08,$08,$08,$08,$08       // char 1 @+1
        .byte $08,$01,$08,$08,$08,$08,$08,$08       // char 2 @+2
        .byte $08,$01,$08,$08,$08,$08,$08,$08       // char 3 @+3
        .byte $00,$0b,$00,$0b,$0c,$00,$0b,$0c       // char 4 @+4
        .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f       // char 5 @+5
        .byte $0f,$0c,$0b,$00,$0c,$0b,$00,$0b       // char 6 @+6
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 7 @+7

// --- Region $1d00-$1df7 ---
.pc = $1d00 "chr_1d00"

chr_1d00:
        // === Charset data (248 bytes, $1d00-$1df7) ===
        .byte $01,$01,$02,$03,$03,$04,$05,$06       // char 0 @+0
        .byte $07,$08,$0a,$0c,$0e,$10,$12,$14       // char 1 @+1
        .byte $16,$19,$1c,$1f,$22,$1f,$1c,$19       // char 2 @+2
        .byte $16,$14,$12,$10,$0e,$0c,$0a,$08       // char 3 @+3
        .byte $07,$06,$05,$04,$03,$03,$02,$01       // char 4 @+4
        .byte $01,$08,$08,$08,$08,$08,$08,$01       // char 5 @+5
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 6 @+6
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 7 @+7
        .byte $08,$08,$08,$08,$08,$08,$08,$01       // char 8 @+8
        .byte $08,$08,$08,$08,$08,$08,$01,$01       // char 9 @+9
        .byte $02,$02,$02,$02,$02,$02,$07,$07       // char 10 @+10
        .byte $07,$07,$07,$07,$07,$07,$01,$02       // char 11 @+11
        .byte $02,$02,$02,$02,$03,$03,$07,$07       // char 12 @+12
        .byte $07,$07,$07,$07,$07,$07,$01,$01       // char 13 @+13
        .byte $03,$03,$03,$03,$03,$03,$03,$00       // char 14 @+14
        .byte $a2,$03,$ca,$8e,$79,$1d,$f0,$01       // char 15 @+15
        .byte $60,$a2,$03,$8e,$79,$1d,$a2,$21       // char 16 @+16
        .byte $e8,$e0,$22,$d0,$02,$a2,$00,$8e       // char 17 @+17
        .byte $87,$1d,$bd,$b1,$1d,$8d,$cf,$1b       // char 18 @+18
        .byte $a2,$00,$bd,$c4,$1b,$9d,$c3,$1b       // char 19 @+19
        .byte $e8,$e0,$0c,$d0,$f5,$a2,$0b,$bd       // char 20 @+20
        .byte $ce,$1b,$9d,$cf,$1b,$ca,$d0,$f7       // char 21 @+21
        .byte $60,$00,$00,$00,$00,$00,$00,$00       // char 22 @+22
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 23 @+23
        .byte $00,$0b,$00,$00,$00,$0b,$00,$00       // char 24 @+24
        .byte $0b,$00,$0b,$0c,$00,$0b,$0c,$0f       // char 25 @+25
        .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f       // char 26 @+26
        .byte $00,$ad,$87,$1d,$c9,$21,$f0,$01       // char 27 @+27
        .byte $60,$a9,$2c,$8d,$1e,$1c,$8d,$21       // char 28 @+28
        .byte $1c,$a9,$20,$8d,$24,$1c,$8d,$27       // char 29 @+29
        .byte $1c,$8d,$ea,$1c,$8d,$ed,$1c,$60       // char 30 @+30

// --- Region $1e51-$1ea0 ---
.pc = $1e51 "chr_1e51"

chr_1e51:
        // === Charset data (80 bytes, $1e51-$1ea0) ===
        .byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b       // char 0 @+0
        .byte $0c,$0c,$0c,$0c,$0f,$0f,$0f,$0f       // char 1 @+1
        .byte $0c,$0c,$0c,$0c                       // char 2 (partial)

dat_1e65:
        // === Fill data (60 bytes, $1e65-$1ea0) ===
        .fill 60, $0b

// --- Region $1f5b-$1fec ---
.pc = $1f5b "chr_1f5b"

chr_1f5b:
        // === Charset data (146 bytes, $1f5b-$1fec) ===
        .byte $50,$55,$5a,$5f,$64,$69,$6e,$73       // char 0 @+0
        .byte $77,$7c,$80,$84,$88,$8c,$8f,$92       // char 1 @+1
        .byte $95,$97,$99,$9b,$9d,$9e,$9f,$9f       // char 2 @+2
        .byte $9f,$9f,$9f,$9e,$9d,$9b,$99,$97       // char 3 @+3
        .byte $95,$92,$8f,$8c,$88,$84,$80,$7c       // char 4 @+4
        .byte $78,$73,$6e,$69,$64,$5f               // char 5 (partial)

txt_1f89:
        .byte $5a,$55                               // char 5 (partial)
        .byte $50,$4a,$45,$40,$3b,$36,$31,$2c       // char 6 @+6
        .byte $28,$23,$1f,$1b,$17,$13,$10,$0d       // char 7 @+7
        .byte $0a,$08,$06,$04,$02,$01,$00,$00       // char 8 @+8
        .byte $00,$00,$00,$01,$02,$04,$06,$08       // char 9 @+9
        .byte $0a,$0d,$10,$13,$17,$1b,$1f           // char 10 (partial)

txt_1fb2:
        .byte $23                                   // char 10 (partial)
        .byte $27,$2c,$31,$36,$3b,$40,$45,$4a       // char 11 @+11
        .byte $4f,$a2,$07,$e8,$e0,$09,$d0,$02       // char 12 @+12
        .byte $a2,$00,$8e,$bd,$1f,$bd,$fb,$1f       // char 13 @+13
        .byte $8d,$b5,$1c,$bd,$03,$20,$8d,$ba       // char 14 @+14
        .byte $1c,$bd,$0b,$20,$8d,$bf,$1c,$bd       // char 15 @+15
        .byte $13,$20,$8d,$d3,$1c,$bd,$1b,$20       // char 16 @+16
        .byte $8d,$d8,$1c,$bd,$24,$20,$8d,$dd       // char 17 @+17
        .byte $1c,$60                               // char 18 (partial)

// --- Region $1ffc-$202b ---
.pc = $1ffc "Segment $1ffc"
        .byte $02,$02,$02,$02                       // char 0 (partial)

chr_2000:
        // === Charset data (44 bytes, $2000-$202b) ===
        .byte $02,$02,$02,$00,$00,$00,$00,$02       // char 0 @+0
        .byte $0a,$03,$03,$00,$00,$02,$0a,$0a       // char 1 @+1
        .byte $0a,$0a,$0a,$0b,$0b,$0b,$0b,$0b       // char 2 @+2
        .byte $0b,$0b,$0b,$00,$00,$00,$00,$0b       // char 3 @+3
        .byte $05,$03,$03,$03,$00,$00,$0b,$05       // char 4 @+4
        .byte $05,$05,$05,$05                       // char 5 (partial)

// --- Region $2035-$2074 ---
.pc = $2035 "spr_2035"

spr_2035:
        // === Charset data (64 bytes, $2035-$2074) ===
        .byte $a2,$03,$8e                           // char 0 (partial)

txt_2038:
        .byte $2d,$20,$a2,$00,$bd                   // char 0 (partial)
        .byte $90,$d9,$9d,$40,$d9,$bd,$40,$d9       // char 1 @+1
        .byte $9d,$f0,$d8,$e8,$e0,$28,$d0,$ef       // char 2 @+2
        .byte $a2,$04,$e8,$e0,$0e,$d0,$02,$a2       // char 3 @+3
        .byte $00,$8e                               // char 4 (partial)

txt_2057:
        .byte $4e,$20,$bd,$65,$20,$a2               // char 4 (partial)
        .byte $27,$9d,$8f,$d9,$ca,$d0,$fa,$60       // char 5 @+5
        .byte $09,$0b,$08,$0c,$0f,$07,$01,$01       // char 6 @+6
        .byte $07,$0f,$0c,$08,$0b,$09,$00,$00       // char 7 @+7

// --- Region $20e5-$20f3 ---
.pc = $20e5 "Segment $20e5"
        .byte $00,$00,$00,$00,$00,$00               // char 0 (partial)
        .byte $00,$00,$00,$00,$00,$00,$01,$02       // char 1 @+1
        .byte $03                                   // char 2 (partial)

// --- Region $210c-$2217 ---
.pc = $210c "dat_210c"

dat_210c:
        .byte $04,$05,$06,$07,$08,$09,$06           // char 5 (partial)
        .byte $07,$08,$09,$05,$05,$0a,$0b,$0c       // char 6 @+6
        .byte $0d,$05,$05,$0a,$0e,$0f,$05,$05       // char 7 @+7
        .byte $05,$05,$05,$10,$11,$12,$13,$10       // char 8 @+8
        .byte $11,$12,$13,$05,$14,$12,$13,$05       // char 9 @+9
        .byte $15,$16,$17,$18,$19,$1a,$1b,$1c       // char 10 @+10
        .byte $1d,$1a,$1b,$1e,$1f                   // char 11 (partial)

txt_2140:
        .byte $21,$22,$23                           // char 11 (partial)
        .byte $24,$25,$26,$27,$24,$25,$25,$25       // char 12 @+12
        .byte $28,$29,$29,$2a,$2b,$2c,$2d,$2e       // char 13 @+13
        .byte $2b,$2f,$30,$29,$31,$2c,$2d,$29       // char 14 @+14
        .byte $32,$33,$34,$35,$36,$37,$38,$39       // char 15 @+15
        .byte $3a,$3b,$3c,$3b,$3d,$3e,$3f,$40       // char 16 @+16
        .byte $41,$42,$3d,$43,$44,$45,$46,$47       // char 17 @+17
        .byte $48,$00,$00                           // char 18 (partial)

txt_2176:
        .byte $49,$4a,$4b,$4a,$4c                   // char 18 (partial)
        .byte $4d,$4b,$4e,$00,$00                   // char 19 (partial)

txt_2180:
        .byte $4f,$42,$50                           // char 19 (partial)
        .byte $51,$52,$53,$52,$53,$52,$53,$52       // char 20 @+20
        .byte $53,$52,$53,$52,$54,$55,$54,$55       // char 21 @+21
        .byte $54,$55,$54,$55,$54,$55,$54,$55       // char 22 @+22
        .byte $56,$00,$00                           // char 23 (partial)

txt_219e:
        .byte $57,$58,$57,$58,$57                   // char 23 (partial)
        .byte $58,$57,$58,$00,$00,$59,$5a,$5b       // char 24 @+24
        .byte $58,$5c,$5d,$5e,$5f,$5c,$5d,$60       // char 25 @+25
        .byte $61,$5e,$5f,$5c,$62,$63,$62,$63       // char 26 @+26
        .byte $64,$65,$62,$63,$62,$63,$62,$63       // char 27 @+27
        .byte $66,$00,$00,$67,$68,$67,$69,$6a       // char 28 @+28
        .byte $6b,$6c,$68,$6d,$6e,$6e,$6e,$6c       // char 29 @+29
        .byte $68,$6f,$70,$71,$72,$73,$74,$70       // char 30 @+30
        .byte $70,$70,$75,$6f,$76,$77,$78,$79       // char 31 @+31
        .byte $70,$70,$76,$77,$78,$79,$7a,$79       // char 32 ' '
        .byte $7b,$00,$00,$7c,$7d,$7e,$7f,$70       // char 33 '!'
        .byte $70,$70,$80,$70,$70,$70,$70,$81       // char 34 '"'
        .byte $82,$00,$00,$00,$00,$00,$00,$00       // char 35 '#'
        .byte $00,$00,$00,$00,$83,$84,$85,$00       // char 36 '$'
        .byte $00,$00,$83,$84,$85,$00,$00,$00       // char 37 '%'
        .byte $00,$00,$00,$84,$86                   // char 38 (partial)

// --- Region $228c-$259c ---
.pc = $228c "Segment $228c"
        .byte $0e,$14,$12,$0f,$20,$03,$0f           // char 0 (partial)
        .byte $04,$05,$20,$02,$19,$20,$4d,$09       // char 1 @+1
        .byte $14,$03,$08                           // char 2 (partial)

txt_229e:
        .byte $21,$20,$20,$20,$20                   // char 2 (partial)
        .byte $20,$20,$20,$54,$15,$0e,$05,$20       // char 3 @+3
        .byte $02,$19                               // char 4 (partial)

txt_22ad:
        .byte $20,$32,$30,$43,$43,$21               // char 4 (partial)
        .byte $a2,$00,$bd,$00,$28,$9d,$01,$08       // char 5 @+5
        .byte $e8,$d0,$f7,$ee,$a4,$04,$ee,$a7       // char 6 @+6
        .byte $04,$ad,$a4,$04,$c9,$ff,$f0,$02       // char 7 @+7
        .byte $d0,$e8,$a9,$37,$85,$01,$4c,$e2       // char 8 @+8
        .byte $fc,$19,$0f                           // char 9 (partial)

txt_22d6:
        .byte $21,$20,$20,$20,$43                   // char 9 (partial)
        .byte $12,$01,$03,$0b,$05,$04,$20,$01       // char 10 @+10
        .byte $0e,$04,$20,$54,$12,$01,$09,$0e       // char 11 @+11
        .byte $05,$04,$20,$0f,$0e,$20,$14,$08       // char 12 @+12
        .byte $05,$20,$31,$13,$14,$2e,$0f,$06       // char 13 @+13
        .byte $20,$41,$10,$12,$09,$0c               // char 14 (partial)

txt_2301:
        .byte $2e,$20                               // char 14 (partial)
        .byte $20,$20,$41,$0c,$10,$08,$01,$20       // char 15 @+15
        .byte $07,$12,$05,$05,$14,$13,$20,$07       // char 16 @+16
        .byte $0f,$20,$0f,$15,$14,$20,$14,$0f       // char 17 @+17
        .byte $20,$14,$08,$05,$20,$06,$0f,$0c       // char 18 @+18
        .byte $0c,$0f,$17,$09,$0e,$07               // char 19 (partial)

txt_2329:
        .byte $20,$2e                               // char 19 (partial)
        .byte $2e,$41,$03,$14,$09,$0f,$0e           // char 20 (partial)

txt_2332:
        .byte $2c                                   // char 20 (partial)
        .byte $20,$41,$54,$43,$2c,$20,$42,$0f       // char 21 @+21
        .byte $0e,$1a,$01,$09,$2c,$20,$43,$0f       // char 22 @+22
        .byte $0e,$14,$05,$18,$2c,$20,$43,$0f       // char 23 @+23
        .byte $13,$0d,$0f,$13,$2c,$20,$43,$12       // char 24 @+24
        .byte $01,$1a,$19,$2c,$20,$43,$12,$19       // char 25 @+25
        .byte $10,$14,$2c,$20,$43,$05,$0e,$13       // char 26 @+26
        .byte $0f,$12,$20,$44,$05,$13,$09,$07       // char 27 @+27
        .byte $0e                                   // char 28 (partial)

txt_236c:
        .byte $2c,$20,$44,$43,$53,$2c,$20           // char 28 (partial)
        .byte $44,$44,$54,$2c,$20,$45,$43,$47       // char 29 @+29
        .byte $2c,$20,$46,$01,$09,$12,$0c,$09       // char 30 @+30
        .byte $07,$08,$14,$2c,$20,$46,$01,$0c       // char 31 @+31
        .byte $03,$0f,$0e                           // char 32 (partial)

txt_238e:
        .byte $2c,$20,$46,$34,$43                   // char 32 (partial)
        .byte $47,$2c,$20,$46,$15,$13,$09,$0f       // char 33 '!'
        .byte $0e,$2c,$20,$47,$05,$0e,$05,$13       // char 34 '"'
        .byte $09,$13,$20,$50,$12,$0f,$0a,$05       // char 35 '#'
        .byte $03,$14,$2c,$20,$48,$0f,$14,$0c       // char 36 '$'
        .byte $09,$0e,$05,$2c,$20,$49,$0b,$01       // char 37 '%'
        .byte $12,$09,$2f,$54,$01,$0c,$05,$0e       // char 38 '&'
        .byte $14,$2c,$20,$49,$0c,$0c,$15,$13       // char 39 '''
        .byte $09,$0f,$0e,$2c,$20,$4c,$05,$07       // char 40 '('
        .byte $05,$0e,$04,$2c,$20,$4c,$0f,$0e       // char 41 ')'
        .byte $07,$06,$05,$0c,$0c,$0f,$17,$2c       // char 42 '*'
        .byte $20,$4c,$0f,$14,$15,$13,$2c,$20       // char 43 '+'
        .byte $4d,$05,$07,$05,$04,$05,$14,$08       // char 44 ','

txt_23f3:
        .byte $2c,$20,$4e,$45,$43,$2c,$20,$4e       // char 45 '-'
        .byte $01,$14,$0f,$2c,$20,$4e,$15,$0b       // char 46 '.'
        .byte $05,$02,$15,$13,$14,$05,$12,$13       // char 47 '/'
        .byte $2c,$20,$4f,$12,$09,$0f,$0e           // char 48 (partial)

txt_2412:
        .byte $2c                                   // char 48 (partial)
        .byte $20,$50,$56,$43,$2c,$20,$51,$15       // char 49 '1'
        .byte $09,$0e,$14,$05,$18,$2c,$20,$52       // char 50 '2'
        .byte $15,$02,$09,$04,$09,$15,$0d           // char 51 (partial)

txt_242a:
        .byte $2c                                   // char 51 (partial)
        .byte $20,$53,$34,$35,$31,$2c,$20,$53       // char 52 '4'
        .byte $08,$01,$12,$0b,$13,$2c,$20,$53       // char 53 '5'
        .byte $0c,$0f,$14,$08,$13,$0f,$06,$14       // char 54 '6'
        .byte $2c,$20,$53,$15,$03,$03,$05,$13       // char 55 '7'
        .byte $13                                   // char 56 (partial)

txt_244c:
        .byte $2c,$20,$53,$2d,$45,$18,$10           // char 56 (partial)
        .byte $12,$05,$13,$13                       // char 57 (partial)

txt_2457:
        .byte $2c,$20,$54,$41                       // char 57 (partial)
        .byte $43,$2c,$20,$54,$05,$14,$12,$01       // char 58 ':'
        .byte $07,$0f,$0e,$2c,$20,$54,$09,$03       // char 59 ';'
        .byte $2d,$54,$01,$03                       // char 60 (partial)

txt_246f:
        .byte $2c,$20,$54,$43                       // char 60 (partial)
        .byte $4c,$2c,$20,$54,$53,$53,$2c,$20       // char 61 '='
        .byte $54,$12,$01,$0e,$13,$03,$0f,$0d       // char 62 '>'
        .byte $2c,$20,$55,$0e,$09,$03,$05,$13       // char 63 '?'
        .byte $13,$2c,$20,$55,$0e,$09,$13,$05       // char 64 '@'
        .byte $18,$2c,$20,$57,$01,$12,$0c,$0f       // char 65 'A'
        .byte $03,$0b,$2c,$20,$58,$05,$0e,$14       // char 66 'B'
        .byte $12,$09,$18,$2c,$20,$58,$05,$12       // char 67 'C'
        .byte $0f,$18                               // char 68 (partial)

txt_24ad:
        .byte $2c,$20,$58,$2d,$52,$01               // char 68 (partial)
        .byte $19                                   // char 69 (partial)

txt_24b4:
        .byte $2c,$20,$58,$2d,$46,$01,$03           // char 69 (partial)
        .byte $14,$0f,$12                           // char 70 (partial)

txt_24be:
        .byte $2e,$20,$2b,$54,$08                   // char 70 (partial)
        .byte $05,$20,$46,$0f,$12,$07,$0f,$14       // char 71 'G'
        .byte $14,$05,$0e,$2c,$20,$20,$01,$0e       // char 72 'H'
        .byte $04,$20,$14,$0f,$20,$01,$0c,$0c       // char 73 'I'
        .byte $20,$0d,$19,$20,$0f,$14,$08,$05       // char 74 'J'
        .byte $12,$20,$07,$0f,$0f,$04,$20,$03       // char 75 'K'
        .byte $0f,$0e,$14,$01,$03,$14,$13,$20       // char 76 'L'
        .byte $01,$0e,$04,$20,$06,$12,$09,$05       // char 77 'M'
        .byte $0e,$04,$13                           // char 78 (partial)

txt_24fe:
        .byte $2e,$20,$20,$20,$20                   // char 78 (partial)
        .byte $20,$20,$20,$20,$4c,$01,$14,$05       // char 79 'O'
        .byte $12                                   // char 80 (partial)

txt_250c:
        .byte $2e,$20,$20,$20,$44,$05,$12           // char 80 (partial)
        .byte $02,$19,$13,$08,$09,$12,$05,$20       // char 81 'Q'
        .byte $52,$01,$0d,$20,$0f,$06,$20,$54       // char 82 'R'
        .byte $08,$05,$20,$44,$0f,$0d,$09,$0e       // char 83 'S'
        .byte $01,$14,$0f,$12,$13                   // char 84 (partial)

txt_2530:
        .byte $2e                                   // char 84 (partial)

dat_2531:
        // === Fill data (107 bytes, $2531-$259b) ===
        .fill 107, $20

dat_259c:
        // === Fill data (1 bytes, $259c-$259c) ===
        .byte $00                                   // .
