// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:39
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2f1f  (10016 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2600 (9728)
// IRQ handler:  $272f (irq_272f)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3106 bytes, Data: 6910 bytes
// Labels: 260, Subroutines: 13
//
// Cross-references: all OK
// ============================================


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

sub_1000:
        jmp loc_1028
// Referenced by: jsr from $27d3

sub_1003:
        jmp loc_1065

dat_1006:
        .byte $01                                   // .

// --- Region $1028-$150d ---
.pc = $1028 "loc_1028"

loc_1028:
        asl
        asl
        asl
        tay
        ldx #$00

loc_102e:
        lda $1020,y
        sta $15cd,x
        sta $15d3,x
        lda $1021,y
        sta $15d0,x
        sta $15d6,x
        iny
        iny
        inx
        cpx #$03
        bne loc_102e
        lda $1020,y
        sta $1658
        sta $1659
        ldy #$00
        tya

loc_1053:
        sta $d400,y
        sta $15e2,y
        iny
        cpy #$1b
        bne loc_1053
        lda $1009
        sta $d418
        rts

loc_1065:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02
        dec $1658
        bpl loc_1078
        lda $1659
        sta $1658

loc_1078:
        bne loc_108a
        lda dat_1006,x
        bne loc_1082
        jmp loc_14fd

loc_1082:
        lda $15ee,x
        beq loc_108d
        dec $15ee,x

loc_108a:
        jmp loc_1232

loc_108d:
        lda $15fa,x
        sta $15ee,x
        lda $15cd,x
        sta $fb
        lda $15d0,x
        sta $fc
        ldy #$00
        tya
        sta $15f1,x
        lda ($fb),y
        bpl loc_10bd
        and #$7f
        asl
        sta $15e5,x
        inc $15cd,x
        inc $fb
        bne loc_10b9
        inc $15d0,x
        inc $fc

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

loc_10bd:
        tay
        lda $189e,y
        sta $fb
        lda $18b4,y
        sta $fc

loc_10c8:
        ldy $15e8,x
        lda ($fb),y
        bmi loc_110f
        beq loc_1105
        cmp #$7e
        beq loc_10fb
        sta $15fd,x
        asl
        clc
        adc $15e5,x
        tay
        lda dat_150d,y
        clc
        adc $1655,x
        sta $1618,x
        lda $150e,y
        adc #$00
        sta $161b,x
        lda $164c,x
        beq loc_10fe
        dec $164c,x
        jmp loc_10fe

loc_10fb:
        inc $15f1,x

loc_10fe:
        lda #$ff
        sta $15dc,x
        bne loc_116d

loc_1105:
        lda #$fe
        sta $15dc,x
        inc $15f1,x
        bne loc_116d

loc_110f:
        pha
        and #$e0
        cmp #$80
        bne loc_112b
        pla
        pha
        and #$10
        sta $15f1,x
        pla
        and #$0f
        sta $15ee,x
        sta $15fa,x
        inc $15e8,x
        bne loc_10c8

loc_112b:
        cmp #$a0
        bne loc_113b
        pla
        asl
        asl
        asl
        sta $15eb,x

loc_1136:
        inc $15e8,x
        bne loc_10c8

loc_113b:
        pla
        and #$3f
        asl
        tay
        lda $17bb,y
        sta $1643,x
        lda $17ba,y
        pha
        and #$1f
        sta $1646,x
        pla
        pha
        and #$80
        sta $1649,x
        lda #$01
        sta $164c,x
        lda #$00
        sta $164f,x
        sta $1652,x
        pla
        and #$20
        bne loc_1136
        inc $164c,x
        bne loc_1136

loc_116d:
        inc $15e8,x
        ldy $15e8,x
        lda ($fb),y
        cmp #$7f
        bne loc_11a7
        lda #$00
        sta $15e8,x
        lda $15cd,x
        clc
        adc #$01
        sta $15cd,x
        sta $fb
        lda $15d0,x
        adc #$00
        sta $15d0,x
        sta $fc
        ldy #$00
        lda ($fb),y
        cmp #$ff
        bne loc_11a7
        lda $15d3,x
        sta $15cd,x
        lda $15d6,x
        sta $15d0,x

loc_11a7:
        lda $15f1,x
        beq loc_11af
        jmp loc_1232

loc_11af:
        lda $15e5,x
        sta $15e2,x
        ldy $15eb,x
        lda $1742,y
        ldy $15d9,x
        sta $d405,y
        ldy $15eb,x
        lda $1743,y
        ldy $15d9,x
        sta $d406,y
        ldy $15eb,x
        lda $1748,y
        sta $162a,x
        tay
        lda $170d,y
        pha
        and #$f0
        sta $1630,x
        pla
        and #$0f
        sta $1633,x
        lda #$00
        sta $162d,x
        cpx #$00
        bne loc_121c
        ldy $15eb,x
        lda $1746,y
        and #$0f
        pha
        asl
        asl
        asl
        asl
        ora $1009
        sta $d418
        pla
        beq loc_1207
        lda #$f1

loc_1207:
        sta $d417
        lda $1747,y
        sta $163a
        tay
        lda $1701,y
        sta $163c
        lda #$00
        sta $163b

loc_121c:
        lda $15df,x
        and #$fe
        ldy $15d9,x
        sta $d404,y
        inc $15f4,x
        lda #$02
        sta $15f7,x
        jmp loc_14fd

loc_1232:
        lda $162d,x
        beq loc_123d
        dec $162d,x
        jmp loc_128a

loc_123d:
        ldy $162a,x
        lda $170a,y
        pha
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $161e,x
        pla
        and #$0f
        sta $1621,x
        lda $170b,y
        sta $1624,x
        lda $170c,y
        sta $100a
        and #$3f
        asl
        sta $162d,x
        bit $100a
        bpl loc_127e
        lda $170d,y
        pha
        and #$f0
        sta $1630,x
        pla
        and #$0f
        sta $1633,x
        lda #$00
        sta $1627,x

loc_127e:
        bit $100a
        bvs loc_128a
        tya
        clc
        adc #$04
        sta $162a,x

loc_128a:
        lda $1627,x
        bne loc_12a8
        lda $1630,x
        clc
        adc $1624,x
        sta $1630,x
        lda $1633,x
        adc #$00
        sta $1633,x
        cmp $1621,x
        bne loc_12c7
        beq loc_12bf

loc_12a8:
        lda $1630,x
        sec
        sbc $1624,x
        sta $1630,x
        lda $1633,x
        sbc #$00
        sta $1633,x
        cmp $161e,x
        bne loc_12c7

loc_12bf:
        lda $1627,x
        eor #$01
        sta $1627,x

loc_12c7:
        cpx #$00
        beq loc_12ce
        jmp loc_134a

loc_12ce:
        lda $163b
        beq loc_12d9
        dec $163b
        jmp loc_131d

loc_12d9:
        ldy $163a
        lda $16fe,y
        pha
        and #$f0
        sta $1636
        pla
        and #$0f
        asl
        asl
        asl
        asl
        sta $1637
        lda $16ff,y
        sta $1638
        lda $1700,y
        sta $100a
        and #$3f
        asl
        sta $163b
        bit $100a
        bpl loc_1311
        lda $1701,y
        sta $163c
        lda #$00
        sta $1639

loc_1311:
        bit $100a
        bvs loc_131d
        tya
        clc
        adc #$04
        sta $163a

loc_131d:
        lda $1639
        bne loc_1333
        lda $163c
        clc
        adc $1638
        sta $163c
        cmp $1637
        bcc loc_134a
        bcs loc_1342

loc_1333:
        lda $163c
        sec
        sbc $1638
        sta $163c
        cmp $1636
        bcs loc_134a

loc_1342:
        lda $1639
        eor #$01
        sta $1639

loc_134a:
        lda $15f4,x
        beq loc_135b
        ldy $15eb,x
        lda $1749,y
        sta $163d,x
        sta $1640,x

loc_135b:
        ldy $163d,x
        lda $165a,y
        bmi loc_1377
        cmp #$7f
        bne loc_137f
        lda $1640,x
        clc
        adc $16ac,y
        sta $163d,x
        tay
        lda $165a,y
        bpl loc_137f

loc_1377:
        and #$7f
        asl
        ldy #$01
        jmp loc_138a

loc_137f:
        clc
        adc $15fd,x
        asl
        clc
        adc $15e2,x
        ldy #$00

loc_138a:
        sty $100a
        tay
        lda dat_150d,y
        clc
        adc $1655,x
        sta $100b,x
        lda $150e,y
        adc #$00
        sta $100e,x
        ldy $163d,x
        lda $16ac,y
        sta $15df,x
        inc $163d,x
        lda $164c,x
        beq loc_13f7
        lda $1649,x
        bne loc_13cc
        lda $164f,x
        clc
        adc $1643,x
        sta $164f,x
        lda $1652,x
        adc $1646,x
        sta $1652,x
        jmp loc_13df

loc_13cc:
        lda $164f,x
        sec
        sbc $1643,x
        sta $164f,x
        lda $1652,x
        sbc $1646,x
        sta $1652,x

loc_13df:
        lda $100a
        bne loc_13f7
        lda $100b,x
        clc
        adc $164f,x
        sta $100b,x
        lda $100e,x
        adc $1652,x
        sta $100e,x

loc_13f7:
        lda $164c,x
        bne loc_1408
        lda $15f7,x
        beq loc_144c
        cmp #$01
        beq loc_140b
        dec $15f7,x

loc_1408:
        jmp loc_14cb

loc_140b:
        ldy $15eb,x
        lda $1745,y
        pha
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $1603,x
        sec
        sbc #$01
        sta $1600,x
        lda #$00
        sta $160f,x
        sta $160c,x
        pla
        and #$0f
        asl
        sta $1606,x
        lda $1744,y
        pha
        and #$f0
        sta $1609,x
        pla
        and #$0f
        asl
        sta $1612,x
        lda $1746,y
        and #$f0
        lsr
        sta $1615,x
        dec $15f7,x

loc_144c:
        lda $1603,x
        beq loc_14cb
        dec $1612,x
        bpl loc_14cb
        inc $1612,x

loc_1459:
        dec $1600,x
        bmi loc_149d
        lda $160f,x
        cmp #$02
        bcs loc_1481
        lda $1618,x
        clc
        adc $1609,x
        sta $100b,x
        sta $1618,x
        lda $161b,x
        adc $160c,x
        sta $100e,x
        sta $161b,x
        jmp loc_14cb

loc_1481:
        lda $1618,x
        sec
        sbc $1609,x
        sta $100b,x
        sta $1618,x
        lda $161b,x
        sbc $160c,x
        sta $100e,x
        sta $161b,x
        jmp loc_14cb

loc_149d:
        lda $160f,x
        clc
        adc #$01
        and #$03
        sta $160f,x
        lda $1603,x
        sta $1600,x
        lda $1615,x
        beq loc_1459
        dec $1615,x
        lda $1609,x
        clc
        adc $1606,x
        sta $1609,x
        lda $160c,x
        adc #$00
        sta $160c,x
        jmp loc_1459

loc_14cb:
        ldy $15d9,x
        lda $1630,x
        sta $d402,y
        lda $1633,x
        sta $d403,y
        lda $163c
        sta $d416
        ldy $15d9,x
        lda $15df,x
        and $15dc,x
        sta $d404,y
        lda $100b,x
        sta $d400,y
        lda $100e,x
        sta $d401,y
        lda #$00
        sta $15f4,x

loc_14fd:
        dex
        bmi loc_1506
        lda $1658
        jmp loc_1078

loc_1506:
        pla
        sta $fc
        pla
        sta $fb
        rts

dat_150d:
        .byte $16                                   // .

// --- Region $1538-$153d ---
.pc = $1538 "loc_1538"

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

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

// --- Region $15b1-$15b5 ---
.pc = $15b1 "loc_15b1"

loc_15b1:
        bpl loc_162f
        bvs loc_1538
        rti

// --- Region $162f-$1631 ---
.pc = $162f "loc_162f"

loc_162f:
        bpl loc_1681
        brk

// --- Region $1681-$1681 ---
.pc = $1681 "loc_1681"

loc_1681:
        brk

// --- Region $1e00-$1e97 ---
.pc = $1e00 "sub_1e00"
// Referenced by: jsr from $2753, $279f

sub_1e00:
        lda #$06
        sta $d020
        sta $d021
.label smc_1e09 = * + 1
        ldx #$0b                                    // !SMC: modified by $2cbf

loc_1e0a:
        dex
        bne loc_1e0a
        stx $d020
        stx $d021
        ldx #$0b

loc_1e15:
        dex
        bne loc_1e15
        sta $d020
        sta $d021
.label smc_1e1f = * + 1
        ldx #$0f                                    // !SMC: modified by $2cc4

loc_1e20:
        dex
        bne loc_1e20
        stx $d020
        stx $d021
.label smc_1e2a = * + 1
        ldx #$0a                                    // !SMC: modified by $2cb8

loc_1e2b:
        dex
        bne loc_1e2b
        sta $d020
        sta $d021
.label smc_1e35 = * + 1
        ldx #$24                                    // !SMC: modified by $2cc9

loc_1e36:
        dex
        bne loc_1e36
        stx $d020
        stx $d021
        ldx #$0b

loc_1e41:
        dex
        bne loc_1e41
        sta $d020
        sta $d021
        rts

chr_1e4b:
        // === Charset data (2 bytes, $1e4b-$1e4c) ===
        .byte $ea,$ea                               // char 0 (partial)
// Referenced by: jsr from $2765, $27b1

sub_1e4d:
        stx $d020
        stx $d021
        ldx #$02

loc_1e55:
        dex
        bne loc_1e55
        lda #$06
        sta $d020
        sta $d021
.label smc_1e61 = * + 1
        ldx #$24                                    // !SMC: modified by $2ccd

loc_1e62:
        dex
        bne loc_1e62
        stx $d020
        stx $d021
        ldx #$0b

loc_1e6d:
        dex
        bne loc_1e6d
        sta $d020
        sta $d021
        ldx #$18

loc_1e78:
        dex
        bne loc_1e78
        stx $d020
        stx $d021
.label smc_1e82 = * + 1
        ldx #$0a                                    // !SMC: modified by $2cbb

loc_1e83:
        dex
        bne loc_1e83
        sta $d020
        sta $d021
        ldx #$03

loc_1e8e:
        dex
        bne loc_1e8e
        stx $d020
        stx $d021
        rts

// --- Region $1fa0-$1fa8 ---
.pc = $1fa0 "sub_1fa0"
// Referenced by: jsr from $2780

sub_1fa0:
        lda #$80
        beq chr_1fa8
        dec $1fa1
        rts

chr_1fa8:
        // === Charset data (1 bytes, $1fa8-$1fa8) ===
        .byte $a9                                   // char 0 (partial)

// --- Region $2600-$2931 ---
.pc = $2600 "main_2600"

main_2600:
        lda #$80
        sta $0291
        jsr $e536
        lda #$0b
        sta $d011
        jsr sub_2c9a
        ldx #$00
        stx $d015
        stx $d020
        stx $d021
        txa

loc_261c:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_261c
        lda #$08

loc_262d:
        sta $d968,x
        inx
        bne loc_262d
        ldx #$27

loc_2635:
        lda #$0e
        sta $d878,x
        sta $d8c8,x
        lda $1bd0,x
        sta $dad0,x
        sta $daf8,x
        sta $db20,x
        lda #$08
        sta $dbc0,x
        lda txt_1b80,x
        sta $0478,x
        lda $1ba8,x
        sta $04c8,x
        dex
        bpl loc_2635
        inx

loc_265e:
.label smc_265f = * + 1
        lda #$40                                    // !SMC: modified by $2675
        sta $06d0,x
        clc
        adc #$01
        sta $06f8,x
        clc
        adc #$01
        sta $0720,x
        lda smc_265f
        clc
        adc #$03
        sta smc_265f                                // SMC: modifies $265f
        inx
        cpx #$27
        bne loc_265e
        ldx #$0f

loc_267f:
        lda $15e2,x
        sta $07cc,x
        dex
        bpl loc_267f
        ldx #$7f

loc_268a:
        lda $1b00,x
        sta txt_1b80,x
        dex
        bpl loc_268a
        lda #$2d
        sta $03
        lda #$00
        sta $02

smc_269b:
        jsr sub_1000                                // !SMC: modified by $2cb0
        sei
        lda #$2f
        sta $0314
        lda #$27
        sta $0315
        lda #$00
        sta $d012
        lda #$01
        sta $d019
        sta $d01a
        sta $dc0d
        lda #$1b
        sta $d011
        cli

loc_26bf:
        lda $dc01
        and $dc00
        and #$10
        bne loc_26bf
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$00
        sta $d01a
        sta $dc0d
        sta $d019
        sta $d020
        sta $d021
        sta $d011
        jsr $fda3
        cli
        lda #$c8
        sta $d016                                // SMC: modifies $d016
        lda #$16
        sta $d018
        lda #$00
        sta $c6
        jsr $e536
        ldx #$02
        stx $d023
        dex
        stx $d022
        dex

loc_2707:
        lda #$0a
        sta $d800,x
        lda dat_1f00,x
        sta $0400,x
        inx
        cpx #$a0
        bne loc_2707
        ldx #$1f

loc_2719:
        lda #$00
        sta $d400,x
        dex
        bpl loc_2719
        lda #$1b
        sta $d011
        jmp $fce2

dat_2729:
        .byte $00,$00,$00,$00,$00,$00               // ......

irq_272f:
        lda #$00
        sta $d012
        sta $d021
        lda #$c8
        sta $d016                                // SMC: modifies $d016
        lda #$13
        sta $d018
        jsr sub_2835
        jsr sub_296d

loc_2747:
        lda $d012
        cmp #$37
        bne loc_2747
        ldx #$09

loc_2750:
        dex
        bne loc_2750
        jsr sub_1e00
        jsr sub_29dc

loc_2759:
        lda $d012
        cmp #$6a
        bne loc_2759
        ldx #$09

loc_2762:
        dex
        bne loc_2762
.label smc_2766 = * + 1
        jsr sub_1e4d                                // !SMC: modified by $2cd2
.label smc_2769 = * + 1
        lda #$10                                    // !SMC: modified by $27f1
        sta $d016                                // SMC: modifies $d016
        ldx #$18
        stx $d018
        stx $d022
        inx
        stx $d023
        inx
        stx $d021
        jsr sub_2aed
        jsr sub_1fa0
        jsr sub_2c34

loc_2786:
        lda $d012
        cmp #$af
        bne loc_2786
        ldx #$06

loc_278f:
        dex
        bne loc_278f
        stx $d021
.label smc_2796 = * + 1
        lda #$00                                    // !SMC: modified by $283d
        sta $d016                                // SMC: modifies $d016
        lda #$13
        sta $d018
        jsr sub_1e00
        jsr sub_27dc

loc_27a5:
        lda $d012
        cmp #$e2
        bne loc_27a5
        ldx #$09

loc_27ae:
        dex
        bne loc_27ae
.label smc_27b2 = * + 1
        jsr sub_1e4d                                // !SMC: modified by $2cd5
        ldx #$08

loc_27b6:
        dex
        bne loc_27b6
        lda #$0d
        sta $d021
        lda #$18
        sta $d016                                // SMC: modifies $d016
        sta $d018
        lda #$0d
        sta $d022
        lda #$00
        sta $d023
        jsr sub_2826

smc_27d3:
        jsr sub_1003                                // !SMC: modified by $2cb3
        inc $d019
        jmp $ea7e
// Referenced by: jsr from $27a2

sub_27dc:
.label smc_27dd = * + 1
        lda $1aa1                                   // !SMC: modified by $2822
        tax
        lsr
        lsr
        clc
        adc #$28
        tay
        sty smc_2827                                // SMC: modifies $2827
        txa
        eor #$ff
        asl
        and #$07
        ora #$10
        sta smc_2769                                // SMC: modifies $2769
        ldx #$27

loc_27f6:
        lda txt_1c00,y
        sta $0568,x
        lda $1c50,y
        sta $0590,x
        lda $1ca0,y
        sta $05b8,x
        lda $1cf0,y
        sta $05e0,x
        lda $1d40,y
        sta $0608,x
        dey
        dex
        bpl loc_27f6
        inc smc_27dd
        lda smc_27dd
        bne loc_2825
        lda #$80
        sta smc_27dd                                // SMC: modifies $27dd

loc_2825:
        rts
// Referenced by: jsr from $27d0

sub_2826:
.label smc_2827 = * + 1
        ldy #$00                                    // !SMC: modified by $27e6
        ldx #$27

loc_282a:
        lda $1d90,y
        sta $0630,x
        dey
        dex
        bpl loc_282a
        rts
// Referenced by: jsr from $2741

sub_2835:
        lda smc_2796
        sec
        sbc #$02
        and #$07
        sta smc_2796                                // SMC: modifies $2796
        bcc loc_2843
        rts

loc_2843:
        ldx #$05

loc_2845:
        lda $0e09,x
        sta $0e01,x
        lda $0e11,x
        sta $0e09,x
        lda $0e19,x
        sta $0e11,x
        lda $0e21,x
        sta $0e19,x
        lda $0e29,x
        sta $0e21,x
        lda $0e31,x
        sta $0e29,x
        lda $0e39,x
        sta $0e31,x
        lda $0e41,x
        sta $0e39,x
        lda $0e49,x
        sta $0e41,x
        lda $0e51,x
        sta $0e49,x
        lda $0e59,x
        sta $0e51,x
        lda $0e61,x
        sta $0e59,x
        lda $0e69,x
        sta $0e61,x
        lda $0e71,x
        sta $0e69,x
        lda $0e79,x
        sta $0e71,x
        lda $0e81,x
        sta $0e79,x
        lda $0e89,x
        sta $0e81,x
        lda $0e91,x
        sta $0e89,x
        lda $0e99,x
        sta $0e91,x
        lda $0ea1,x
        sta $0e99,x
        lda $0ea9,x
        sta $0ea1,x
        lda $0eb1,x
        sta $0ea9,x
        lda $0eb9,x
        sta $0eb1,x
        lda $0ec1,x
        sta $0eb9,x
        lda $0ec9,x
        sta $0ec1,x
        lda $0ed1,x
        sta $0ec9,x
        lda $0ed9,x
        sta $0ed1,x
        lda $0ee1,x
        sta $0ed9,x
        lda $0ee9,x
        sta $0ee1,x
        lda $0ef1,x
        sta $0ee9,x
        lda $0ef9,x
        sta $0ef1,x
        lda $0f01,x
        sta $0ef9,x
        lda $0f09,x
        sta $0f01,x
        lda $0f11,x
        sta $0f09,x
        lda $0f19,x
        sta $0f11,x
        lda $0f21,x
        sta $0f19,x
        lda $0f29,x
        sta $0f21,x
        lda $0f31,x
        sta $0f29,x
        dex
        bpl loc_292f

dat_292c:
        .byte $4c,$3a,$29                           // L:)

loc_292f:
        jmp loc_2845

// --- Region $2942-$2c44 ---
.pc = $2942 "loc_2942"

loc_2942:
        asl
        asl
        tax
        bcs loc_295c
        ldy #$00

loc_2949:
        lda $0801,x
        sta $0f31,y
        inx
        iny
        cpy #$06
        bne loc_2949

loc_2955:
        inc $02
        bne loc_295b
        inc $03

loc_295b:
        rts

loc_295c:
        ldy #$00

loc_295e:
        lda $0901,x
        sta $0f31,y
        inx
        iny
        cpy #$06
        bne loc_295e
        jmp loc_2955

// Referenced by: jsr from $2744
sub_296d: {
        ldx $1b00
        ldy #$00
loop1:
        lda $0e00,y
        sta $0a00,x
        inx
        iny
        cpy #$08
        bne loop1
        inc $296e
        ldx $1b02
loop2:
        lda $0e00,y
        sta $0a18,x
        inx
        iny
        cpy #$10
        bne loop2
        inc $2982
        ldx $1b04
loop3:
        lda $0e00,y
        sta $0a30,x
        inx
        iny
        cpy #$18
        bne loop3
        inc $2994
        ldx $1b06
loop4:
        lda $0e00,y
        sta $0a48,x
        inx
        iny
        cpy #$20
        bne loop4
        inc $29a6
        ldx $1b08
loop5:
        lda $0e00,y
        sta $0a60,x
        inx
        iny
        cpy #$28
        bne loop5
        inc $29b8
        ldx $1b0a
loop6:
        lda $0e00,y
        sta $0a78,x
        inx
        iny
        cpy #$30
        bne loop6
        inc $29ca
        rts
}

// Referenced by: jsr from $2756
sub_29dc: {
        ldx $1b0c
        ldy #$00
loop1:
        lda $0e30,y
        sta $0a90,x
        inx
        iny
        cpy #$08
        bne loop1
        inc $29dd
        ldx $1b0e
loop2:
        lda $0e30,y
        sta $0aa8,x
        inx
        iny
        cpy #$10
        bne loop2
        inc $29f1
        ldx $1b10
loop3:
        lda $0e30,y
        sta $0ac0,x
        inx
        iny
        cpy #$18
        bne loop3
        inc $2a03
        ldx $1b12
loop4:
        lda $0e30,y
        sta $0ad8,x
        inx
        iny
        cpy #$20
        bne loop4
        inc $2a15
        ldx $1b14
loop5:
        lda $0e30,y
        sta $0af0,x
        inx
        iny
        cpy #$28
        bne loop5
        inc $2a27
        ldx $1b16
loop6:
        lda $0e30,y
        sta $0b08,x
        inx
        iny
        cpy #$30
        bne loop6
        inc $2a39
        ldx $1b18
loop7:
        lda $0e30,y
        sta $0b20,x
        inx
        iny
        cpy #$38
        bne loop7
        inc $2a4b
        ldx $1b1a
loop8:
        lda $0e30,y
        sta $0b38,x
        inx
        iny
        cpy #$40
        bne loop8
        inc $2a5d
        ldx $1b1c
loop9:
        lda $0e30,y
        sta $0b50,x
        inx
        iny
        cpy #$48
        bne loop9
        inc $2a6f
        ldx $1b1e
loop10:
        lda $0e30,y
        sta $0b68,x
        inx
        iny
        cpy #$50
        bne loop10
        inc $2a81
        ldx $1b20
loop11:
        lda $0e30,y
        sta $0b80,x
        inx
        iny
        cpy #$58
        bne loop11
        inc $2a93
        ldx $1b22
loop12:
        lda $0e30,y
        sta $0b98,x
        inx
        iny
        cpy #$60
        bne loop12
        inc $2aa5
        ldx $1b24
loop13:
        lda $0e30,y
        sta $0bb0,x
        inx
        iny
        cpy #$68
        bne loop13
        inc $2ab7
        ldx $1b26
loop14:
        lda $0e30,y
        sta $0bc8,x
        inx
        iny
        cpy #$70
        bne loop14
        inc $2ac9
        ldx $1b28
loop15:
        lda $0e30,y
        sta $0be0,x
        inx
        iny
        cpy #$78
        bne loop15
        inc $2adb
        rts
}
// Referenced by: jsr from $277d

sub_2aed:
        ldx $1b2a
        ldy #$00

loc_2af2:
        lda $0ea8,y
        sta $0bf8,x
        inx
        iny
        cpy #$08
        bne loc_2af2
        inc $2aee
        ldx $1b2c

loc_2b04:
        lda $0ea8,y
        sta $0c10,x
        inx
        iny
        cpy #$10
        bne loc_2b04
        inc $2b02
        ldx $1b2e

loc_2b16:
        lda $0ea8,y
        sta $0c28,x
        inx
        iny
        cpy #$18
        bne loc_2b16
        inc $2b14
        ldx $1b30

loc_2b28:
        lda $0ea8,y
        sta $0c40,x
        inx
        iny
        cpy #$20
        bne loc_2b28
        inc $2b26
        ldx $1b32

loc_2b3a:
        lda $0ea8,y
        sta $0c58,x
        inx
        iny
        cpy #$28
        bne loc_2b3a
        inc $2b38
        ldx $1b34

loc_2b4c:
        lda $0ea8,y
        sta $0c70,x
        inx
        iny
        cpy #$30
        bne loc_2b4c
        inc $2b4a
        ldx $1b36

loc_2b5e:
        lda $0ea8,y
        sta $0c88,x
        inx
        iny
        cpy #$38
        bne loc_2b5e
        inc $2b5c
        ldx $1b38

loc_2b70:
        lda $0ea8,y
        sta $0ca0,x
        inx
        iny
        cpy #$40
        bne loc_2b70
        inc $2b6e
        ldx $1b3a

loc_2b82:
        lda $0ea8,y
        sta $0cb8,x
        inx
        iny
        cpy #$48
        bne loc_2b82
        inc $2b80
        ldx $1b3c

loc_2b94:
        lda $0ea8,y
        sta $0cd0,x
        inx
        iny
        cpy #$50
        bne loc_2b94
        inc $2b92
        ldx $1b3e

loc_2ba6:
        lda $0ea8,y
        sta $0ce8,x
        inx
        iny
        cpy #$58
        bne loc_2ba6
        inc $2ba4
        ldx $1b40

loc_2bb8:
        lda $0ea8,y
        sta $0d00,x
        inx
        iny
        cpy #$60
        bne loc_2bb8
        inc $2bb6
        ldx $1b42

loc_2bca:
        lda $0ea8,y
        sta $0d18,x
        inx
        iny
        cpy #$68
        bne loc_2bca
        inc $2bc8
        ldx $1b44

loc_2bdc:
        lda $0ea8,y
        sta $0d30,x
        inx
        iny
        cpy #$70
        bne loc_2bdc
        inc $2bda
        ldx $1b46

loc_2bee:
        lda $0ea8,y
        sta $0d48,x
        inx
        iny
        cpy #$78
        bne loc_2bee
        inc $2bec
        ldx $1b48

loc_2c00:
        lda $0ea8,y
        sta $0d60,x
        inx
        iny
        cpy #$80
        bne loc_2c00
        inc $2bfe
        ldx $1b4a

loc_2c12:
        lda $0ea8,y
        sta $0d78,x
        inx
        iny
        cpy #$88
        bne loc_2c12
        inc $2c10
        ldx $1b4c

loc_2c24:
        lda $0ea8,y
        sta $0d90,x
        inx
        iny
        cpy #$90
        bne loc_2c24
        inc $2c22
        rts
// Referenced by: jsr from $2783

sub_2c34:
        lda #$00
        beq loc_2c3c

dat_2c38:
        .byte $ce,$35,$2c,$60                       // .5,`

loc_2c3c:
.label smc_2c3d = * + 1
        lda #$00                                    // !SMC: modified by $2c40
        eor #$01
        sta smc_2c3d                                // SMC: modifies $2c3d
        bne loc_2c6f

// --- Region $2c6f-$2cd9 ---
.pc = $2c6f "loc_2c6f"

loc_2c6f:
        rts

loc_2c70:
        lda #$1e
        sta $2c35
        lda #$00
        sta $2c46
        lda #$2f
        sta $2c5d
        lda #$00
        eor #$01
        sta $2c80
        beq dat_2c93
        lda #$c1
        ldx #$70
        sta $2c51
        stx $2c64
        rts

dat_2c93:
        .byte $a9,$70,$a2,$c1,$4c,$8c,$2c           // .p..L.,
// Referenced by: jsr from $260d

sub_2c9a:
        sei
        lda #$ff

loc_2c9d:
        cmp $d012
        bne loc_2c9d
        ldx #$72

loc_2ca4:
        dex
        bpl loc_2ca4
        lda $d012
        cmp #$03
        bcs loc_2cd8
        lda #$ad
        sta smc_269b                                // SMC: modifies $269b
        sta smc_27d3                                // SMC: modifies $27d3
        ldx #$0b
        stx smc_1e2a                                // SMC: modifies $1e2a
        stx smc_1e82                                // SMC: modifies $1e82
        inx
        stx smc_1e09                                // SMC: modifies $1e09
        lda #$10
        sta smc_1e1f                                // SMC: modifies $1e1f
        ldx #$25
        stx smc_1e35                                // SMC: modifies $1e35
        inx
        stx smc_1e61                                // SMC: modifies $1e61
        lda #$4b
        sta smc_2766                                // SMC: modifies $2766
        sta smc_27b2                                // SMC: modifies $27b2

loc_2cd8:
        cli
        rts

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

// --- Region $0800-$08e7 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (232 bytes, $0800-$08e7) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$7c,$ee,$fe,$ee,$ee,$ee,$00       // char 1 @+1
        .byte $00,$fc,$ee,$fc,$ee,$fe,$fc,$00       // char 2 @+2
        .byte $00,$7e,$e0,$e0,$e0,$fc,$7e,$00       // char 3 @+3
        .byte $00,$fc,$ee,$ee,$ee,$fe,$fc,$00       // char 4 @+4
        .byte $00,$7e,$e0,$f8,$e0,$fc,$7e,$00       // char 5 @+5
        .byte $00,$7e,$e0,$f8,$e0,$e0,$e0,$00       // char 6 @+6
        .byte $00,$7e,$e0,$ee,$ee,$fe,$7e,$00       // char 7 @+7
        .byte $00,$ee,$ee,$fe,$ee,$ee,$ee,$00       // char 8 @+8
        .byte $00,$fe,$38,$38,$38,$fe,$fe,$00       // char 9 @+9
        .byte $00,$0e,$0e,$0e,$0e,$7e,$fc,$00       // char 10 @+10
        .byte $00,$ee,$ec,$f8,$ec,$ee,$ee,$00       // char 11 @+11
        .byte $00,$e0,$e0,$e0,$e0,$fc,$7e,$00       // char 12 @+12
        .byte $00,$c6,$ee,$fe,$ee,$ee,$ee,$00       // char 13 @+13
        .byte $00,$fc,$ee,$ee,$ee,$ee,$ee,$00       // char 14 @+14
        .byte $00,$7c,$ee,$ee,$ee,$fe,$7c,$00       // char 15 @+15
        .byte $00,$fc,$ee,$fc,$e0,$e0,$e0,$00       // char 16 @+16
        .byte $00,$7c,$ee,$ee,$ee,$fc,$76,$00       // char 17 @+17
        .byte $00,$fc,$ee,$fc,$ee,$ee,$ee,$00       // char 18 @+18
        .byte $00,$7e,$e0,$7c,$0e,$7e,$fc,$00       // char 19 @+19
        .byte $00,$fe                               // char 20 (partial)

txt_08a2:
        .byte $38,$38,$38,$38,$38,$00               // char 20 (partial)
        .byte $00,$ee,$ee,$ee,$ee,$fe,$7c,$00       // char 21 @+21
        .byte $00,$ee,$ee,$ee,$ee,$7c,$38,$00       // char 22 @+22
        .byte $00,$ee,$ee,$ee,$fe,$ee,$c6,$00       // char 23 @+23
        .byte $00,$ee,$6c,$38,$6c,$ee,$ee,$00       // char 24 @+24
        .byte $00,$ee,$ee,$7e,$0e,$7e,$fc,$00       // char 25 @+25
        .byte $00,$fe,$1c,$38,$70,$fc,$fe,$00       // char 26 @+26
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 27 @+27
        .byte $00,$7c,$c6,$9e,$9e,$c6,$7c           // char 28 (partial)

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

// --- Region $0909-$09d6 ---
.pc = $0909 "dat_0909"

dat_0909:
        .byte $38,$38,$38,$00,$38,$38,$00           // char 33 (partial)
        .byte $00,$ee,$66,$cc,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$6c,$fe,$6c,$6c,$fe,$6c,$00       // char 35 '#'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 36 '$'
        .byte $00,$e6,$ec,$18,$30,$6e,$ce,$00       // char 37 '%'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 38 '&'
        .byte $00,$38,$18,$30,$00,$00,$00,$00       // char 39 '''
        .byte $00,$3c,$70,$70,$70,$70,$3c,$00       // char 40 '('
        .byte $00,$78,$1c,$1c,$1c,$1c,$78,$00       // char 41 ')'
        .byte $00,$00,$38,$7c,$7c,$38,$00,$00       // char 42 '*'
        .byte $00,$00,$38,$38,$fe,$38,$38,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$38,$18,$30,$00       // char 44 ','
        .byte $00,$00,$00,$e0,$fe,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$38,$38,$00       // char 46 '.'
        .byte $00,$06,$0c,$18,$30,$60,$c0,$00       // char 47 '/'
        .byte $00,$7c,$ee,$d6,$ee,$fe,$7c,$00       // char 48 '0'
        .byte $00,$38,$78,$78,$38,$fe,$fe,$00       // char 49 '1'
        .byte $00,$fc,$0e,$7c,$e0,$fc,$fe,$00       // char 50 '2'
        .byte $00,$fc,$0e,$3c,$0e,$7e,$fc,$00       // char 51 '3'
        .byte $00,$e0,$ee,$ee,$7e,$0e,$0e,$00       // char 52 '4'
        .byte $00,$fe,$e0,$fc,$0e,$7e,$fc,$00       // char 53 '5'
        .byte $00,$7e,$e0,$fc,$ee,$fe,$7c,$00       // char 54 '6'
        .byte $00,$fe,$0e,$1c,$38,$38,$38,$00       // char 55 '7'
        .byte $00,$7c,$ee,$7c,$ee,$fe,$7c,$00       // char 56 '8'
        .byte $00,$7c,$ee,$7e,$0e,$7e,$fc,$00       // char 57 '9'
        .byte $00,$00,$30,$00,$00,$30               // char 58 (partial)

dat_09d6:
        // === Fill data (1 bytes, $09d6-$09d6) ===
        .byte $00                                   // .

// --- Region $09f9-$09ff ---
.pc = $09f9 "dat_09f9"

dat_09f9:
        .byte $fc,$0e,$3c,$00,$38,$38               // char 63 (partial)

dat_09ff:
        // === Fill data (1 bytes, $09ff-$09ff) ===
        .byte $00                                   // .

// --- Region $1007-$1027 ---
.pc = $1007 "Segment $1007"
        .byte $01,$01,$0f,$00,$89,$d1,$6a,$06,$22,$af // ......j.".

txt_1011:
        .text "-PLAYER BY JCH-"
        .byte $c8                                   // 'H' | $80 (end-of-string marker)
        .byte $17,$31,$18,$77,$18,$03,$00           // .1.w...

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

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

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

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

// --- Region $15b6-$162e ---
.pc = $15b6 "dat_15b6"

dat_15b6:
        .byte $8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98,$d0,$08 // .p.@.x.X........
        .byte $dd,$30,$ea,$20,$f8,$2e,$fd,$c8,$31,$77,$17,$18,$18,$c8,$31,$77 // .0. ....1w....1w
        .byte $17,$18,$18,$00,$07,$0e,$ff,$ff,$fe,$41,$17,$11,$ad,$ae,$ae,$af // .........A......
        .byte $b0,$b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$ba,$bb,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$10,$30,$4c,$01,$ff,$00,$02,$00,$02 // ........0L......
        .byte $04,$00,$06,$04,$00,$30,$00,$00,$01,$01,$00,$02,$00,$00,$00,$4f // .....0.........O
        .byte $00,$00,$89,$d1,$6a,$06,$22,$af,$01,$08,$04,$04,$08,$08,$30,$00 // ....j.".......0.
        .byte $20,$00,$01,$01,$08,$00,$08,$02,$40   //  .......@

// --- Region $1632-$1680 ---
.pc = $1632 "dat_1632"

dat_1632:
        .byte $70,$02,$08,$06,$00,$80,$10,$01,$04,$00,$38,$17,$26,$3a,$16,$25 // p.........8.&:.%
        .byte $36,$00,$60,$00,$00,$00,$02,$00,$80,$00,$00,$00,$00,$00,$a0,$00 // 6.`.............
        .byte $00,$f9,$0e,$00,$01,$02,$03,$03,$00,$c8,$ac,$a8,$a4,$ac,$a7,$7f // ................
        .byte $00,$d5,$ae,$aa,$c8,$ae,$c8,$c2,$c8,$c2,$c8,$c2,$00,$7f,$00,$7f // ................
        .byte $00,$d4,$00,$d4,$7f,$00,$03,$07,$7f,$00,$04,$09,$7f,$00,$7f // ...............

// --- Region $1682-$1dff ---
.pc = $1682 "dat_1682"

dat_1682:
        .byte $0c,$0c,$00,$7f,$00,$05,$08,$7f,$bb,$00,$7f,$c0,$00,$7f,$00,$00 // ................
        .byte $00,$00,$7f,$0c,$0c,$00,$0c,$00,$00,$0c,$00,$00,$00,$0c,$00,$00 // ................
        .byte $00,$00,$0c,$7f,$00,$00,$00,$00,$00,$7f,$01,$81,$11,$41,$41,$10 // .............AA.
        .byte $10,$06,$01,$81,$41,$41,$80,$10,$80,$80,$80,$80,$80,$80,$00,$0c // ....AA..........
        .byte $41,$00,$11,$11,$10,$10,$02,$41,$41,$41,$00,$41,$41,$41,$00,$17 // A......AAA.AAA..
        .byte $00,$01,$11,$11,$41,$03,$41,$41,$41,$00,$40,$40,$00,$40,$40,$00 // ....A.AAA.@@.@@.
        .byte $01,$21,$21,$11,$03                   // .!!..

txt_16e7:
        .text "AAAAAAAAAAAAAAAA"
        .byte $00                                   // string terminator
        .text "AAAAQ"
        .byte $04,$08,$10,$83,$88
        .byte $44,$00
        .byte $4f,$40,$00,$00
        .byte $00,$00,$88,$00,$ff,$08,$14,$30,$84,$01,$48,$20,$4f,$04,$08,$a0 // .......0..H O...
        .byte $86,$08,$12,$10,$4f,$02,$68,$40,$88,$80,$68,$40,$4f,$04,$68,$40 // ....O.h@..h@O.h@
        .byte $ff,$08,$08,$20,$88,$08,$24,$20,$4f,$00,$04,$20,$88,$80,$0e,$42 // ... ..$ O.. ...B
        .byte $8f,$00,$0e,$00,$4f,$08,$00,$00,$00,$00,$04,$a8,$00,$00,$00,$00 // ....O...........
        .byte $00,$00,$04,$a8,$00,$00,$00,$00,$00,$08,$00,$d9,$02,$22,$a1,$00 // ............."..
        .byte $04,$16,$00,$a9,$12,$21,$30,$00,$14,$27,$00,$e9,$00,$00,$00,$00 // .....!0..'......
        .byte $00,$18,$00,$aa,$00,$00,$00,$00,$0c,$1d,$00,$aa,$00,$00,$00,$00 // ................
        .byte $0c,$21,$00,$aa,$00,$00,$00,$00,$0c,$2c,$e0,$c9,$00,$00,$00,$00 // .!.......,......
        .byte $00,$25,$00,$ae,$00,$00,$00,$00,$1c,$30,$00,$ae,$00,$00,$00,$00 // .%.......0......
        .byte $1c,$33,$00,$dc,$14,$23,$60,$00,$04,$36,$00,$99 // .3...#`..6..

txt_17a4:
        .text "7"
        .byte $22                                   // double quote character
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $00,$20,$3b,$00,$e9,$2b,$20,$00,$00,$28,$4c,$00,$00,$00,$00,$00 // . ;..+ ..(L.....
        .byte $00,$00,$00,$00,$80,$02,$00,$a0,$30,$00,$c0,$20,$80,$01,$40,$00 // ........0.. ..@.
        .byte $00,$8c,$01,$01,$01,$01,$8f,$01,$93,$01,$8c,$01,$01,$01,$01,$8f // ................
        .byte $01,$93,$01,$8c,$01,$01,$01,$01,$8f,$01,$93,$01,$8c,$06,$07,$06 // ................
        .byte $07,$8f,$07,$93,$06,$8c,$06,$07,$06,$07,$8f,$07,$93,$06,$8c,$06 // ................
        .byte $07,$06,$07,$8f,$07,$93,$06,$8c,$06   // .........

chr_1800:
        // === Charset data (1536 bytes, $1800-$1dff) ===
        .byte $07,$8f,$07,$93,$06,$8c,$06,$07       // char 0 @+0
        .byte $06,$07,$8f,$07,$93,$06,$8c,$06       // char 1 @+1
        .byte $07,$06,$07,$8f,$07,$93,$06,$8c       // char 2 @+2
        .byte $06,$07,$06,$07,$8f,$07,$93,$06       // char 3 @+3
        .byte $8c,$06,$07,$06,$07,$8f,$07,$93       // char 4 @+4
        .byte $06,$8c,$06,$07,$8f,$07,$93,$06       // char 5 @+5
        .byte $ff,$8c,$00,$00,$04,$04,$04,$05       // char 6 @+6
        .byte $02,$03,$02,$09,$02,$0a,$02,$03       // char 7 @+7
        .byte $02,$09,$02,$0a,$02,$03,$02,$09       // char 8 @+8
        .byte $02,$0a,$02,$03,$02,$09,$02,$0a       // char 9 @+9
        .byte $02,$03,$02,$09,$02,$0a,$02,$09       // char 10 @+10
        .byte $02,$0a,$02,$03,$02,$09,$02,$0a       // char 11 @+11
        .byte $02,$03,$02,$09,$02,$0a,$02,$03       // char 12 @+12
        .byte $02,$09,$02,$0a,$02,$03,$02,$09       // char 13 @+13
        .byte $02,$0a,$02,$09,$02,$0a,$ff,$8c       // char 14 @+14
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 15 @+15
        .byte $00,$00,$00,$00,$08,$0b,$00,$00       // char 16 @+16
        .byte $00,$00,$0b,$08,$0c,$0e,$0f,$10       // char 17 @+17
        .byte $0f,$10,$11,$12,$13,$0c,$14,$12       // char 18 @+18
        .byte $15,$0f,$10,$0f,$10,$ff,$ca,$cd       // char 19 @+19
        .byte $d8,$ea,$fc,$00,$0a,$15,$20,$3d       // char 20 @+20
        .byte $4e,$60,$78,$91,$97,$a8,$c3,$e3       // char 21 @+21
        .byte $0b,$1c,$3f,$65,$18,$18,$18,$18       // char 22 @+22
        .byte $18,$19,$19,$19,$19,$19,$19,$19       // char 23 @+23
        .byte $19,$19,$19,$19,$19,$19,$1a,$1a       // char 24 @+24
        .byte $1a,$1a,$8f,$00,$7f,$a2,$81,$10       // char 25 @+25
        .byte $10,$1c,$10,$10,$10,$1c,$10,$7f       // char 26 @+26
        .byte $a0,$81,$3c,$a8,$30,$a1,$3c,$a0       // char 27 @+27
        .byte $3c,$a8,$83,$30,$a1,$81,$3c,$a8       // char 28 @+28
        .byte $30,$7f,$a0,$81,$3c,$a8,$30,$a1       // char 29 @+29
        .byte $3c,$a0,$3c,$a8,$30,$a0,$3c,$a1       // char 30 @+30
        .byte $3c,$a0,$3c,$7f,$a8,$8f,$30,$7f       // char 31 @+31
        .byte $a8,$89,$30,$a0,$81                   // char 32 (partial)

txt_1905:
        .byte $30,$30,$a1                           // char 32 (partial)
        .byte $30,$7f,$a2,$81,$10,$10,$1c,$10       // char 33 '!'
        .byte $1d,$10,$1a,$1c,$7f,$a2,$81,$10       // char 34 '"'
        .byte $10,$1c,$10,$10,$1c,$10,$1c,$7f       // char 35 '#'
        .byte $a3,$83,$00,$28,$29,$81,$2b,$85       // char 36 '$'
        .byte $26,$c2,$81,$7e,$87,$23,$81,$30       // char 37 '%'
        .byte $83,$2f,$81,$2d,$89,$2f,$a9,$80       // char 38 '&'
        .byte $2f,$c2,$8e,$7e,$7f,$a0,$81,$3c       // char 39 '''
        .byte $a8,$30,$a1,$3c,$a0,$3c,$a8,$30       // char 40 '('
        .byte $a0,$3c,$a1,$3c,$3c,$7f,$a0,$81       // char 41 ')'
        .byte $3c,$a8,$40,$a1,$3c,$a0,$3c,$a8       // char 42 '*'
        .byte $40,$a0,$3c,$a1,$3c,$a8,$40,$7f       // char 43 '+'
        .byte $ab,$80,$3b,$3c,$85,$3e,$83,$3c       // char 44 ','
        .byte $81,$3b,$83,$42,$81,$43,$83,$40       // char 45 '-'
        .byte $c1,$81,$4a,$90,$4c,$84,$7e,$7f       // char 46 '.'
        .byte $a3,$81,$32,$30,$2f,$83,$30,$81       // char 47 '/'
        .byte $32,$83,$2f,$c3,$81,$34,$90,$36       // char 48 '0'
        .byte $80,$7e,$81,$37,$87,$34,$81,$2f       // char 49 '1'
        .byte $7f,$8f,$7e,$7e,$7e,$7e,$7f,$a3       // char 50 '2'
        .byte $82,$2f,$c2,$80,$7e,$81,$2d,$89       // char 51 '3'
        .byte $2f,$a9,$80,$2f,$c2,$8e,$7e,$7f       // char 52 '4'
        .byte $a5,$81,$00,$80,$34,$84,$00,$80       // char 53 '5'
        .byte $34,$86,$00,$80,$34,$00,$34,$82       // char 54 '6'
        .byte $00,$a7,$80,$34,$82,$00,$80,$34       // char 55 '7'
        .byte $84,$00,$7f,$a6,$81,$00,$80,$35       // char 56 '8'
        .byte $84,$00,$80,$35,$82,$00,$80,$35       // char 57 '9'
        .byte $82,$00,$80,$37,$00,$37,$82,$00       // char 58 ':'
        .byte $80,$37,$82,$00,$80,$35,$00,$37       // char 59 ';'
        .byte $82,$00,$7f,$a3,$81,$34,$37,$39       // char 60 '<'
        .byte $83,$3b,$c2,$81,$7e,$37,$83,$39       // char 61 '='
        .byte $81,$34,$83,$37,$30,$81,$34,$83       // char 62 '>'
        .byte $2f,$81,$2d,$2b,$2a,$2b,$2d,$85       // char 63 '?'
        .byte $28,$81                               // char 64 (partial)

txt_1a02:
        .byte $2a,$2b,$2d,$2f,$30,$3b               // char 64 (partial)
        .byte $c4,$7e,$7f,$a3,$81,$3c,$3b,$39       // char 65 'A'
        .byte $85,$37,$83,$39,$3b,$81,$3c,$85       // char 66 'B'
        .byte $3b,$83,$36,$7f,$a3,$83,$36,$81       // char 67 'C'
        .byte $37,$8f,$34,$83,$7e,$81,$32,$34       // char 68 'D'
        .byte $36,$83,$30,$81,$34,$83,$2f,$81       // char 69 'E'
        .byte $2d,$2f,$30,$83,$2a,$81,$2b,$84       // char 70 'F'
        .byte $28,$c2,$80,$7e,$83,$26,$7f,$a3       // char 71 'G'
        .byte $82,$2f,$c2,$80,$7e,$81,$2d,$87       // char 72 'H'
        .byte $2f,$81                               // char 73 (partial)

txt_1a4a:
        .byte $2d,$2f,$2d,$2b,$2d,$2b               // char 73 (partial)
        .byte $2a,$86,$28,$c4,$80,$7e,$81,$32       // char 74 'J'
        .byte $c5,$30,$90,$34,$8c,$7e,$81,$34       // char 75 'K'
        .byte $36,$37,$39,$3b,$7f,$a3,$83,$36       // char 76 'L'
        .byte $81,$37,$89,$34,$aa,$80,$34,$c2       // char 77 'M'
        .byte $8e,$7e,$7f,$00,$00,$00,$00,$0e       // char 78 'N'
        .byte $0f,$0d,$07,$01,$07,$0d,$0f,$0e       // char 79 'O'
        .byte $00,$00,$00,$00,$00,$01,$01,$02       // char 80 'P'
        .byte $03,$05,$06,$08,$09,$0b,$0d,$10       // char 81 'Q'
        .byte $12,$15,$17,$1a,$1d                   // char 82 (partial)

txt_1a95:
        .byte $20,$23,$27                           // char 82 (partial)
        .byte $2a,$2e,$31,$35,$39,$3d,$40,$44       // char 83 'S'
        .byte $48,$4c,$50,$54,$58,$5c,$60,$64       // char 84 'T'
        .byte $67,$6b,$6f,$72,$76,$79,$7d,$80       // char 85 'U'
        .byte $83,$86,$89,$8b,$8e,$90,$93,$95       // char 86 'V'
        .byte $97,$98,$9a,$9b,$9d,$9e,$9f,$9f       // char 87 'W'
        .byte $a0,$a0,$a0,$a0,$a0,$9f,$9f,$9e       // char 88 'X'
        .byte $9d,$9b,$9a,$98,$97,$95,$93,$90       // char 89 'Y'
        .byte $8e,$8b,$89,$86,$83,$80,$7d,$79       // char 90 'Z'
        .byte $76,$72,$6f,$6b,$67,$64,$60           // char 91 (partial)

txt_1adf:
        .byte $5c                                   // char 91 (partial)
        .byte $58,$54,$50,$4c,$48,$44,$40,$3d       // char 92 '\'
        .byte $39,$35,$31,$2e,$2a,$27,$23,$20       // char 93 ']'
        .byte $1d,$1a,$17,$15,$12,$10,$0d,$0b       // char 94 '^'
        .byte $09,$08,$06,$05,$03,$02,$01,$01       // char 95 '_'
        .byte $08,$07,$06,$06,$05,$05,$05,$04       // char 96 '`'
        .byte $04,$04,$05,$05,$05,$06,$06,$07       // char 97 'a'
        .byte $08,$09,$0a,$0a,$0b,$0b,$0b,$0c       // char 98 'b'
        .byte $0c,$0c,$0b,$0b,$0b,$0a,$0a,$09       // char 99 'c'
        .byte $08,$07,$06,$05,$04,$03,$02,$01       // char 100 'd'
        .byte $00,$01,$02,$03,$04,$05,$06,$07       // char 101 'e'
        .byte $08,$09,$0a,$0a,$0b,$0b,$0b,$0c       // char 102 'f'
        .byte $0c,$0c,$0b,$0b,$0b,$0a,$0a,$09       // char 103 'g'
        .byte $08,$07,$06,$06,$05,$05,$05,$04       // char 104 'h'
        .byte $04,$04,$05,$05,$05,$06,$06,$07       // char 105 'i'
        .byte $08,$09,$0a,$0b,$0c,$0d,$0e,$0f       // char 106 'j'
        .byte $10,$0f,$0e,$0d,$0c,$0b,$0a,$09       // char 107 'k'
        .byte $08,$07,$06,$05,$04,$03,$03,$02       // char 108 'l'
        .byte $02,$03,$03,$04,$05,$06,$07,$08       // char 109 'm'
        .byte $08,$09,$0a,$0b,$0c,$0d,$0d,$0e       // char 110 'n'
        .byte $0e,$0d,$0d,$0c,$0b,$0a,$09,$08       // char 111 'o'

txt_1b80:
        .byte $20,$20,$20,$20,$20,$08,$05,$0c       // char 112 'p'
        .byte $0c,$06,$09,$12,$05                   // char 113 (partial)

txt_1b8d:
        .byte $20,$2b,$35                           // char 113 (partial)
        .byte $20,$01,$0e,$04,$20,$08,$09,$07       // char 114 'r'
        .byte $08,$13,$03,$0f,$12,$05,$13,$01       // char 115 's'
        .byte $16,$05,$12                           // char 116 (partial)

txt_1ba3:
        .byte $20,$20,$20,$20,$20                   // char 116 (partial)
        .byte $20,$20,$03,$0f,$10,$19,$12,$09       // char 117 'u'
        .byte $07,$08,$14,$20,$0d,$01,$12,$14       // char 118 'v'
        .byte $05,$03,$08,$20,$07,$01,$0d,$05       // char 119 'w'
        .byte $13,$20,$0c,$09,$0d,$09,$14,$05       // char 120 'x'
        .byte $04                                   // char 121 (partial)

txt_1bc9:
        .byte $20,$31,$39,$38,$38,$20,$20           // char 121 (partial)
        .byte $09,$08,$0a                           // char 122 (partial)

dat_1bd3:
        // === Fill data (33 bytes, $1bd3-$1bf3) ===
        .fill 33, $0f
        .byte $0a,$08,$09,$00                       // char 126 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 127

txt_1c00:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 128
        .byte $20,$01,$02,$03,$04,$05,$06,$07       // char 129
        .byte $01,$02,$03,$08,$09,$0a,$0b,$01       // char 130
        .byte $02,$03,$0c,$05,$0d,$0e,$0f,$10       // char 131
        .byte $11,$01,$02,$03,$08,$09,$0a,$0b       // char 132
        .byte $01,$02,$03,$0c,$05,$0d,$0e,$0f       // char 133
        .byte $10,$11,$01,$02,$03,$04,$05,$7c       // char 134
        .byte $07,$01,$02,$03,$08,$09,$0a,$0b       // char 135
        .byte $01,$02,$03,$04,$05,$06,$07           // char 136 (partial)

txt_1c47:
        .byte $20                                   // char 136 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 137
        .byte $20,$20,$20,$20,$12,$13,$14,$15       // char 138
        .byte $16,$17,$18,$19,$1a,$1b,$1c,$1d       // char 139
        .byte $17,$18,$19,$1e,$1f,$00,$21,$17       // char 140
        .byte $18,$19,$22,$1b,$23,$24,$25,$26       // char 141
        .byte $27,$17,$18,$19,$28,$29,$2a,$2b       // char 142
        .byte $17,$18,$19,$7d,$1b,$23,$7e,$25       // char 143
        .byte $26,$7f,$17,$18,$19,$80,$1b,$1c       // char 144
        .byte $81,$17,$18,$19,$1f,$00,$82,$83       // char 145
        .byte $17,$18,$19,$84,$1b,$1c,$85,$86       // char 146
        .byte $87,$88,$89,$8a                       // char 147 (partial)

txt_1c9c:
        .byte $20,$20,$20,$20                       // char 147 (partial)
        .byte $20,$20,$20,$20,$2c,$2d,$2e,$2f       // char 148
        .byte $30,$31,$32,$33,$34,$35,$36,$37       // char 149
        .byte $31,$32,$33,$38,$39,$3a,$3b,$31       // char 150
        .byte $32,$3c,$3d,$35,$3e,$3f,$40,$41       // char 151
        .byte $42,$31,$32,$33,$38,$39,$3a,$43       // char 152
        .byte $31,$32,$3c,$8b,$35,$3e,$8c,$40       // char 153
        .byte $41,$8d,$31,$32,$33,$34,$35,$8e       // char 154
        .byte $8f                                   // char 155 (partial)

txt_1cd9:
        .byte $31,$32,$33,$38,$39,$3a,$90           // char 155 (partial)

txt_1ce0:
        .byte $31,$32,$33,$34,$35,$36,$91,$92       // char 156
        .byte $93,$45,$46,$94                       // char 157 (partial)

txt_1cec:
        .byte $20,$20,$20,$20                       // char 157 (partial)
        .byte $20,$20,$20,$20,$44,$45,$46,$2d       // char 158
        .byte $2e,$47,$1c                           // char 159 (partial)

txt_1cfb:
        .byte $48,$49,$26,$40,$4a                   // char 159 (partial)
        .byte $47,$1c                               // char 160 (partial)

txt_1d02:
        .byte $48,$4b,$4c,$4d,$4e,$47               // char 160 (partial)
        .byte $1c                                   // char 161 (partial)

txt_1d09:
        .byte $48,$4f,$26,$50,$51,$52,$53           // char 161 (partial)
        .byte $54,$47,$1c                           // char 162 (partial)

txt_1d13:
        .byte $48,$55,$56,$57,$4b                   // char 162 (partial)
        .byte $47,$1c,$48,$95,$26,$50,$96,$52       // char 163
        .byte $53,$97,$47,$1c,$48,$98,$26,$40       // char 164
        .byte $99,$47,$1c,$48,$4c,$4d,$4e,$9a       // char 165
        .byte $47,$1c,$48,$9b,$26,$40,$9c,$9d       // char 166
        .byte $9e,$92,$93,$9f                       // char 167 (partial)

txt_1d3c:
        .byte $20,$20,$20,$20                       // char 167 (partial)
        .byte $20,$20,$20,$20,$58,$59,$5a,$5b       // char 168
        .byte $5c,$5d,$25,$5e,$5f,$41,$52,$60       // char 169
        .byte $5d,$25,$5e,$61,$62,$63,$64,$5d       // char 170
        .byte $25,$5e,$65,$41,$66,$67,$68,$69       // char 171
        .byte $6a,$5d,$25,$5e,$5a,$5b,$5c,$61       // char 172
        .byte $5d,$25,$5e,$a0,$41,$66,$a1,$68       // char 173
        .byte $69,$a2,$5d,$25,$5e,$a0               // char 174 (partial)

txt_1d76:
        .byte $41,$52                               // char 174 (partial)
        .byte $a3,$5d,$25,$5e,$62,$63,$64,$a4       // char 175
        .byte $5d,$25,$5e,$a5                       // char 176 (partial)

txt_1d84:
        .byte $41,$52,$a6,$63                       // char 176 (partial)
        .byte $64,$a4,$a7,$a8                       // char 177 (partial)

txt_1d8c:
        .byte $20,$20,$20,$20                       // char 177 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 178
        .byte $20,$6b,$6c,$6d,$6e,$6f,$70,$71       // char 179
        .byte $6b,$6c,$72,$73,$74,$75,$76,$6b       // char 180
        .byte $6c,$6d,$6e,$6f,$77,$78,$79,$7a       // char 181
        .byte $7b,$6b,$6c,$72,$73,$74,$75,$76       // char 182
        .byte $6b,$6c,$6d,$6e,$6f,$77,$78,$79       // char 183
        .byte $7a,$7b,$6b,$6c,$a9,$aa,$6f,$ab       // char 184
        .byte $ac,$6b,$6c,$72,$73,$74,$75,$76       // char 185
        .byte $6b,$6c,$6d,$6e,$6f,$70,$71           // char 186 (partial)

txt_1dd7:
        .byte $20                                   // char 186 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 187
        .byte $0d,$0d,$03,$03,$0f,$0f,$0c,$0c       // char 188
        .byte $0b,$0b,$10,$10,$00,$00,$00,$00       // char 189
        .byte $10,$10,$0b,$0b,$0c,$0c,$0f,$0f       // char 190
        .byte $03,$03,$0d,$0d,$00,$00,$00,$00       // char 191

// --- Region $1e98-$1e98 ---
.pc = $1e98 "dat_1e98"

dat_1e98:
        // === Fill data (1 bytes, $1e98-$1e98) ===
        .byte $00                                   // .

// --- Region $1f00-$1f9f ---
.pc = $1f00 "dat_1f00"

dat_1f00:
        .byte $43,$0f,$04,$05                       // char 13 (partial)

txt_1f04:
        .byte $3a,$20,$4a,$41                       // char 13 (partial)
        .byte $43,$4b,$20,$41,$4c,$49,$45,$4e       // char 14 @+14
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 15 @+15
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 16 @+16
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 17 @+17
        .byte $43,$08,$01,$12                       // char 18 (partial)

txt_1f2c:
        .byte $3a,$20,$4a,$41                       // char 18 (partial)
        .byte $43,$4b,$20,$41,$4c,$49,$45,$4e       // char 19 @+19
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 20 @+20
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 21 @+21
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 22 @+22
        .byte $4c,$0f,$07,$0f                       // char 23 (partial)

txt_1f54:
        .byte $3a,$20,$41,$56                       // char 23 (partial)
        .byte $41,$4c,$41,$4e,$43,$48,$45,$20       // char 24 @+24
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 25 @+25
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 26 @+26
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 27 @+27
        .byte $54,$15,$0e,$05                       // char 28 (partial)

txt_1f7c:
        .byte $3a,$20,$55,$4e                       // char 28 (partial)
        .byte $4b,$4e,$4f,$57,$4e,$20,$20,$20       // char 29 @+29
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 30 @+30
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 31 @+31
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 32 ' '

// --- Region $1fa9-$25e0 ---
.pc = $1fa9 "Segment $1fa9"
        .byte $01,$f0,$19,$a2,$00,$bd,$e0           // char 0 (partial)
        .byte $1d,$8d,$c7,$27,$bd,$f0,$1d,$8d       // char 1 @+1
        .byte $cc,$27,$ad,$ad,$1f,$c9,$0b,$f0       // char 2 @+2
        .byte $1d,$ee,$ad,$1f,$60,$a2,$00,$bd       // char 3 @+3
        .byte $f0,$1d,$8d,$c7,$27,$bd,$e0,$1d       // char 4 @+4
        .byte $8d,$cc,$27,$ad,$c6,$1f,$c9,$0b       // char 5 @+5
        .byte $f0,$04,$ee,$c6,$1f,$60,$a9,$80       // char 6 @+6
        .byte $8d,$a1,$1f,$a9,$00,$8d,$ad,$1f       // char 7 @+7
        .byte $8d,$c6,$1f,$ad,$a9,$1f,$49,$01       // char 8 @+8
        .byte $8d,$a9,$1f,$60,$00,$00,$00,$00       // char 9 @+9
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 10 @+10

spr_2000:
        // === Sprite data (64 bytes, $2000-$203f) ===
        .byte $ff,$06,$01                           // ########.....##........#
        .byte $56,$00,$00                           // .#.#.##.................
        .byte $00,$40,$00                           // .........#..............

txt_2009:
        .byte $3f,$39,$34                           // ..######..###..#..##.#..
        .byte $20,$11,$16                           // ..#........#...#...#.##.
        .byte $2b,$00,$96                           // ..#.#.##........#..#.##.
        .byte $06,$1b,$6e                           // .....##....##.##.##.###.
        .byte $b9,$e4,$90                           // #.###..####..#..#..#....
        .byte $00,$fe,$e4                           // ........#######.###..#..
        .byte $90,$40,$01                           // #..#.....#.............#
        .byte $00,$13,$00                           // ...........#..##........
        .byte $56,$06,$1b                           // .#.#.##......##....##.##
        .byte $6e,$b9,$04                           // .##.###.#.###..#.....#..
        .byte $e0,$00,$fe                           // ###.............#######.
        .byte $e4,$90,$40                           // ###..#..#..#.....#......
        .byte $00,$01,$06                           // ...............#.....##.
        .byte $01,$54,$02                           // .......#.#.#.#........#.
        .byte $07,$1b,$6e                           // .....###...##.##.##.###.
        .byte $b9,$e4,$ff                           // #.###..####..#..########
        .byte $7f,$2f,$1f                           // .#######..#.####...#####
        .byte $8f,$4f,$0f                           // #...####.#..####....####
        .byte $0f                                   // sprite 0 padding
        .byte $00,$56,$06                           // .........#.#.##......##.
        .byte $1b,$6e,$b9                           // ...##.##.##.###.#.###..#
        .byte $00,$ff,$00                           // ........########........
        .byte $fe,$e4,$90                           // #######.###..#..#..#....
        .byte $40,$00,$00                           // .#......................
        .byte $ff,$00,$55                           // ########.........#.#.#.#
        .byte $01,$06,$1b                           // .......#.....##....##.##
        .byte $6e,$00,$ff                           // .##.###.........########
        .byte $0f,$8f,$8f                           // ....#####...#####...####
        .byte $cf,$8f,$4f                           // ##..#####...####.#..####
        .byte $0f,$ff,$00                           // ....############........
        .byte $56,$06,$1b                           // .#.#.##......##....##.##
        .byte $6e,$b9,$00                           // .##.###.#.###..#........
        .byte $f1,$00,$55                           // ####...#.........#.#.#.#
        .byte $01,$06,$1b                           // .......#.....##....##.##
        .byte $6e,$b0,$e3                           // .##.###.#.##....###...##
        .byte $00,$bf,$b9                           // ........#.#######.###..#
        .byte $e4,$90,$40                           // ###..#..#..#.....#......
        .byte $01,$e2,$00                           // .......####...#.........
        .byte $95,$01,$06                           // #..#.#.#.......#.....##.
        .byte $1b,$6e,$b9                           // ...##.##.##.###.#.###..#
        .byte $e4                                   // sprite 1 padding
        .byte $01,$bc,$be                           // .......##.####..#.#####.
        .byte $e4,$90,$41                           // ###..#..#..#.....#.....#
        .byte $06,$1b,$ff                           // .....##....##.##########
        .byte $7f,$2f,$1f                           // .#######..#.####...#####
        .byte $8f,$8f,$cf                           // #...#####...######..####
        .byte $8f,$19,$86                           // #...####...##..##....##.
        .byte $69,$1d,$0f                           // .##.#..#...###.#....####
        .byte $8a,$65,$1c                           // #...#.#..##..#.#...###..
        .byte $a6,$69,$9a                           // #.#..##..##.#..##..##.#.
        .byte $bb,$6e,$db                           // #.###.##.##.###.##.##.##
        .byte $b6,$6d,$49                           // #.##.##..##.##.#.#..#..#
        .byte $92,$64,$ee                           // #..#..#..##..#..###.###.
        .byte $fb,$be,$ef                           // #####.###.#####.###.####
        .byte $bb,$09,$42                           // #.###.##....#..#.#....#.
        .byte $90,$79,$9e                           // #..#.....####..##..####.
        .byte $e7,$b9,$ee                           // ###..####.###..####.###.
        .byte $03,$40,$90                           // ......##.#......#..#....
        .byte $39,$4e,$93                           // ..###..#.#..###.#..#..##
        .byte $e4,$79

txt_20b8:
        .text ">94 "
        .byte $10,$11,$16,$2b,$40,$01,$06,$1b,$6e,$b9,$e4,$90,$63,$b3,$e3,$93 // ...+@...n...c...
        .byte $43,$03,$03,$03,$f1,$02,$83,$f3,$63,$12,$01,$01,$1b,$6e,$b9,$e4 // C.......c....n..
        .byte $90,$40,$01,$06,$90,$40,$01,$06,$1b,$6e,$b9,$e4,$0e,$4d,$8e,$cf // .@...@...n...M..
        .byte $8e,$4f,$0e,$0d,$ff,$90,$24,$5f,$43,$90,$e4,$39,$ff,$00,$00,$95 // .O....$_C..9....
        .byte $90,$e4,$39,$0e,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$01,$80,$f5 // ..9.............
        .byte $6c,$1b,$06,$01,$f1,$91,$62,$f3,$f3,$b3,$e2,$b1,$93,$43,$03,$03 // l.....b......C..
        .byte $13,$63,$b3,$e3,$f3,$93,$22,$51,$41,$92,$e3,$33,$90,$41,$06,$1b // .c...."QA..3.A..
        .byte $6e,$b9,$e4,$91,$6e,$b9,$e4,$91,$46,$1b,$6e,$b9,$4e,$0d,$4c,$8d // n...n...F.n.N.L.
        .byte $cc,$8f,$4e,$4d,$ff,$92,$64,$ff,$fb,$be,$ef,$bb,$ff,$42,$90,$be // ..NM..d......B..
        .byte $9e,$e7,$b9,$ee,$ff,$40,$90,$7e,$4e,$93,$e4,$79,$fc,$90,$24,$5f // .....@.~N..y..$_
        .byte $43,$90,$e4,$39,$0f,$0a,$85,$64,$1c,$0f,$0a,$05,$1b,$c6,$b1,$6c // C..9...d.......l
        .byte $1b,$06,$c1,$b0,$6e,$db,$b6,$6d,$1b,$c6,$b1,$6c,$fb,$be,$ef,$bb // ....n..m...l....
        .byte $6e,$db,$b6,$6d,$9e,$e7,$b9,$ee,$fb,$be,$ef,$bb // n..m........

txt_2188:
        .text ">94 "
        .byte $10,$10,$11,$16,$40,$00,$01,$06,$1b,$6e,$b9,$e4,$10,$6f,$b9,$e4 // ....@....n...o..
        .byte $90,$40,$00,$03,$04,$90,$01,$06,$1b,$6e,$09,$e0,$1b,$6e,$b9,$e4 // .@.......n...n..
        .byte $90,$41,$06,$1b,$90,$41,$04,$11,$6c,$ba,$e5,$91,$1f,$2e,$71,$ec // .A...A..l.....q.
        .byte $7b,$2e,$1d,$8c,$00,$95,$01,$06,$1b,$6e,$00,$ff,$00,$bf,$b9,$e4 // {........n......
        .byte $90,$41,$00,$ff,$00,$96,$06,$1b,$6e,$b9,$00,$ff,$00,$c8,$cc,$8c // .A......n.......
        .byte $4c,$0c,$0d,$fe,$13,$63,$b3,$e3,$93,$43,$03,$03,$61,$d1,$b2,$63 // L....c...C..a..c
        .byte $13,$c3,$b2,$61,$93,$43,$03,$13,$63,$b3,$e3,$93,$43,$92,$e1,$72 // ...a.C..c...C..r
        .byte $93,$e3,$b3,$e2,$46,$1b,$6e,$b9,$e5,$96,$5b,$6e,$e5,$96,$5b,$6e // ....F.n...[n..[n
        .byte $b9,$e6,$9b,$6e,$8c,$cc,$8c,$4c,$8c,$cc,$8d,$8e,$0e,$cf,$cc,$8d // ...n...L........
        .byte $4e,$0f,$0d,$fe,$04,$04,$04,$04,$44,$98,$2d,$0e,$6c,$1b,$06,$01 // N.......D.-.l...
        .byte $00,$00,$00,$40,$1b,$06,$c1,$b0,$6c,$1b,$06,$01 // ...@....l...

txt_2238:
        .text "+>94 "
        .byte $10,$11,$16,$13,$63,$b3,$e3,$93,$43,$03,$13,$f2,$93,$e3,$33,$43 // ....c...C.....3C
        .byte $92,$e1,$72,$cc,$8f,$4e,$4d,$8c,$cc,$8c,$4c,$ff,$be,$ef,$bb,$6e // ..r..NM...L....n
        .byte $db,$b6,$6d,$ff,$e7,$b9,$ee,$fb,$be,$ef,$bb,$ff,$93,$e4,$79,$9e // ..m...........y.
        .byte $e7,$b9,$ee,$ff,$90,$e4,$39,$4e,$93,$e4,$79,$11,$02,$c3,$b3,$63 // ......9N..y....c
        .byte $12,$01,$02,$43,$13,$63,$b3,$e3,$93,$53,$63,$f2,$b3,$e3,$b3,$62 // ...C.c...Sc....b
        .byte $d3,$b3,$63,$b9,$e6,$9b,$6e,$ba,$eb,$af,$be,$ba,$eb,$af,$be,$fa // ..c...n.........
        .byte $eb,$ae,$b9,$cf,$cc,$8c,$8d,$ce,$8f,$4c,$8d,$ff,$06,$c1,$b0,$6c // .........L.....l
        .byte $1b,$06,$01,$ff,$c6,$b1,$6c,$1b,$06,$c1,$b0,$ff,$db,$b6,$6d,$1b // ......l.......m.
        .byte $c6,$b1,$6c,$07,$44,$98,$2d,$0d,$47,$99,$3e,$90,$e4,$39,$0e,$02 // ..l.D.-.G.>..9..
        .byte $e5,$f9,$7e,$00,$00,$00,$40,$40,$f9,$7e,$5f,$6c,$1b,$06,$01,$00 // ..~...@@.~_l....
        .byte $55,$55,$95,$1b,$06,$c1,$b0,$18,$6f,$5b // UU......o[

txt_22e7:
        .text "V+>94 "
        .byte $11,$16,$2b,$63,$b3,$e3,$93,$43,$13,$63,$b3,$93,$e3,$b3,$e2,$a2 // ..+c...C.c......
        .byte $f3,$f3,$f3,$8c,$cc,$8d,$8e,$ce,$cd,$8d,$8e,$1b,$c6,$b1,$6c,$06 // ..............l.
        .byte $5b,$d6,$f5,$6e,$db,$b6,$6d,$06,$db,$f6,$bd,$fb,$be,$ef,$bb,$19 // [..n..m.........
        .byte $ef,$fb,$be,$9e,$e7,$b9,$ee,$a6,$ff,$ff,$ff,$03,$03,$03,$42,$42 // ..............BB
        .byte $f3,$73,$53,$b3,$e3,$93,$63,$b3,$e3,$a3,$b3,$13,$c3,$b3,$63,$03 // .sS...c.......c.
        .byte $53,$d3,$f2,$fa,$eb,$ae,$b9,$e6,$9b,$6e,$b9,$e6,$9b,$6e,$b9,$e5 // S........n...n..
        .byte $96,$5b,$6e,$ce,$8f
        .byte $4f,$4e,$8e,$cf,$8f
        .text "O>94!"
        .byte $16
        .byte $2b,$00,$ff,$46,$1b,$6e,$b9,$e5,$96,$00,$ff,$e3,$93,$53,$63,$b3 // +..F.n.......Sc.
        .byte $e3,$03,$ff,$f2,$f3,$f3,$f3,$f3,$f3,$f0,$ff,$ba,$eb,$af,$be,$fa // ................
        .byte $eb,$00,$ff,$fa,$eb,$ae,$b9,$e6,$9b,$00,$ff,$cf,$8f,$4f,$8f,$cf // .............O..
        .byte $8f,$0f,$ff,$e0,$97,$5b,$6e,$b9,$e6,$00,$ff,$00,$fb,$9b,$6e,$ba // .....[n.......n.
        .byte $eb,$00,$ff,$00,$ff,$af,$be,$fa,$eb,$00,$ff,$00,$ff,$ae,$b9,$e6 // ................
        .byte $9b,$00,$ff,$0f,$cf,$4f,$8f,$cf,$8f,$0f,$ff,$f3,$e3,$a3,$b3,$e3 // .....O..........
        .byte $93,$03,$ff,$f3,$f3,$f3,$f2,$f2,$f3,$f0,$ff,$e5,$96,$5b,$6e,$b9 // .............[n.
        .byte $e4,$00,$ff,$b9,$e4,$91,$46,$1b,$6e,$00,$ff,$0f,$4f,$8f,$cf,$8f // ......F.n...O...
        .byte $4f,$0f,$ff,$01,$54,$02,$06,$1b,$6e,$b9,$e4,$f1,$81,$62,$b3,$13 // O...T...n....b..
        .byte $03,$c2,$b1,$f3,$93,$62,$f1,$f1,$b2,$e3,$b3,$4c,$0c,$4c,$8f,$cf // .....b.....L.L..
        .byte $8c,$4c,$4d,$f1,$81,$62,$b3,$13,$03,$c1,$b1,$0d,$4e,$8c,$cf,$8f // .LM..b......N...
        .byte $4e,$0f,$0f,$ff,$01,$80,$f5,$6c,$1b,$06,$01,$fe,$81,$60,$bd,$1b // N......l.....`..
        .byte $06,$c1,$b0,$f1,$42,$93,$b3,$93,$e2,$b1,$e1,$0c,$4c,$8c,$cd,$8c // ....B.......L...
        .byte $4c,$0d,$0e,$18,$06,$01,$56,$00,$00,$00,$40,$06,$01,$80,$f5,$6c // L.....V...@....l
        .byte $1b,$06,$01,$06,$81,$60,$bd,$1b,$06,$c1,$b0,$19,$86,$61,$be,$1b // .....`.......a..
        .byte $c6,$b1,$6c,$a6,$6b,$9f,$ef,$5f,$cf,$ab,$5e,$61,$11,$02,$03,$03 // ..l.k.._..^a....
        .byte $03,$02,$41,$63,$d2,$b1,$62,$13,$c3,$b3,$62,$8e,$cf,$8c,$4d,$8e // ..Ac..b...b...M.
        .byte $cf,$8d,$8e,$90,$41,$04,$12,$68,$ba,$e4,$91,$1e,$2f,$b6,$ed,$bb // ....A..h..../...
        .byte $2e,$1d,$8c,$0c,$cf,$ce,$8d,$4c,$0c,$0c,$fc,$1f,$2c,$74,$f9,$7e // .......L....,t.~
        .byte $2f,$1c,$cd,$90,$e4,$39,$0e,$43,$90,$e4,$39,$00,$00,$00,$40,$90 // /....9.C..9...@.
        .byte $e4,$39,$0e,$0f,$cb,$a6,$5d,$0f,$0b,$c6,$a5,$91,$e2,$33,$03,$43 // .9....]......3.C
        .byte $92,$e1,$32,$12,$03,$c3,$b3,$62,$13,$03,$03,$cf,$ce,$8f,$8f,$ce // ..2....b........
        .byte $8f,$4e,$8d,$f1,$e2,$33,$03,$43,$92,$e1,$32,$cf,$8e,$4d,$4c,$8c // .N...3.C..2..ML.
        .byte $cf,$8e,$4d,$fc,$e4,$39,$0e,$43,$90,$e4,$39,$f2,$c3,$b3,$63,$13 // ..M..9.C..9...c.
        .byte $02,$c1,$b2,$ce,$8f,$4d,$4e,$8f,$ce,$8f,$4f,$4e,$93,$e4,$79,$9e // .....MN...ON..y.
        .byte $e7,$b9,$ee,$43,$90,$e4,$39,$4e,$93,$e4,$79,$5d,$0f,$0b,$06,$05 // ...C..9N..y]....
        .byte $05,$05,$45,$43,$93,$e3,$72,$42,$f3,$f3,$f3,$03,$03,$03,$43,$43 // ..EC..rB......CC
        .byte $f3,$73,$52,$cf,$8e,$4d,$4c,$8e,$cf,$8f,$4f,$8c,$cc,$8c,$8c,$cc // .sR..ML...O.....
        .byte $cd,$8e,$8f,$4e,$93,$e4,$79,$49,$fb,$fe,$ff,$63,$13,$03,$02,$02 // ...N..yI...c....
        .byte $53,$53,$93,$8e,$cf,$8e,$8d,$ce,$cf,$8e,$8d,$43,$90,$e4,$39,$09 // SS.........C..9.
        .byte $e7,$f9,$be,$85,$d9,$2e,$0f,$07,$e5,$f9,$7e,$e3,$90,$5b,$6e,$b9 // ..........~..[n.
        .byte $e6,$00,$ff,$e2,$0a,$eb,$6e,$ba,$eb,$00,$ff,$fa,$eb,$ae,$b9,$e6 // ......n.........
        .byte $98,$01,$ff,$cf,$8f,$4f,$1f,$2f,$7f,$ff,$ff,$99,$99,$99,$89,$99 // .....O./........
        .byte $ff,$ff,$ff,$99,$19,$99,$89,$99,$ff,$ff,$ff,$58,$d9,$d8,$d9,$19 // ...........X....
        .byte $ff,$ff,$ff,$78,$9b,$7a,$9b,$9a,$ff,$ff,$ff,$19,$78,$79,$79,$39 // ...x.z......xyy9
        .byte $ff,$ff,$ff,$18,$99,$18,$99,$98,$ff,$ff,$ff,$bb,$fa,$fb,$fb,$1b // ................
        .byte $ff,$ff,$ff,$90,$99,$90,$99,$98,$ff,$ff,$ff,$d2,$99,$d8,$99,$d8 // ................
        .byte $ff,$ff,$ff,$90,$f3,$f2,$f3,$b3,$ff,$ff,$ff,$da,$99,$d8,$99,$9a // ................
        .byte $ff,$ff,$ff,$39,$d9,$98,$3d,$1d,$ff,$ff,$ff,$dd,$9d,$9d,$9d,$19 // ...9..=.........
        .byte $ff,$ff,$ff,$0d,$b9,$39,$bb,$0d,$ff,$ff,$ff,$0b,$bf,$0f,$9f,$0b // .....9..........
        .byte $ff,$ff,$ff                           // ...

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

// --- Region $2932-$2941 ---
.pc = $2932 "dat_2932"

dat_2932:
        .byte $a9,$00,$85,$02,$a9,$2d,$85,$03,$a0,$00,$b1,$02,$f0,$f2,$18,$0a // .....-..........

// --- Region $2c45-$2c6e ---
.pc = $2c45 "dat_2c45"

dat_2c45:
        .byte $a2,$00,$e0,$30,$f0,$25,$a0,$00,$b9,$77,$1a,$9d,$70,$d8,$e8,$c8 // ...0.%...w..p...
        .byte $c0,$08,$d0,$f4,$ee                   // .....

txt_2c5a:
        .text "F,"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $2f,$a0,$00,$b9,$78,$1a,$9d,$c1,$d8,$e8,$c8,$c0,$08,$d0,$f4,$ce // /...x...........
        .byte $5d,$2c                               // ],

// --- Region $2cda-$2cda ---
.pc = $2cda "dat_2cda"

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

// --- Region $2d00-$2f1e ---
.pc = $2d00 "txt_2d00"

txt_2d00:
        .encoding "screencode_mixed"
        .text "   welcome to remember release number"
        .encoding "petscii_upper"

txt_2d25:
        .text " 313... "
        .byte $08,$05,$0c,$0c,$06,$09,$12,$05       // ........

txt_2d35:
        .text " ..."

txt_2d39:
        .encoding "screencode_mixed"
        .text "tape original supplied by fatman * cracked, trained, debugged, highscoresaver installed and documents typed by jack alien"
        .encoding "petscii_upper"

txt_2db2:
        .text ".   "

txt_2db6:
        .encoding "screencode_mixed"
        .text "greetings to: nostalgia * cyberpunx * gold * hokuto force * onslaught (antiques"
        .encoding "petscii_upper"

txt_2e05:
        .text ") * "

txt_2e09:
        .encoding "screencode_mixed"
        .text "laxity * excess * triad * trc+scs * hitmen * padua * crest * the collector * gamebase"
        .encoding "petscii_upper"

txt_2e5e:
        .text " 64 "

txt_2e62:
        .encoding "screencode_mixed"
        .text "team * kim lemon * snoopy * s.toomer * sokratekk * yoko tv inc * mason * bender * janer * art * johnny rebel * mad dog"
        .encoding "petscii_upper"

txt_2ed8:
        .text "... "
        .byte $01,$0e,$04,$20,$19,$0f,$15           // ... ...

txt_2ee3:
        .text "!   "

txt_2ee7:
        .encoding "screencode_mixed"
        .text "jack alien of remember in october"
        .encoding "petscii_upper"

txt_2f08:
        .text " 2002... .. .          "
