// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:45
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $408c  (14477 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1d00 (7424)
// IRQ handler:  $1d9a (irq_1d9a)
// IRQ handler:  $1dca (irq_1dca)
// IRQ handler:  $221b (irq_221b)
// IRQ handler:  $3cb6 (irq_3cb6)
// IRQ handler:  $3cfc (irq_3cfc)
// IRQ handler:  $1d3d (irq_1d3d)
// IRQ handler:  $3d4d (irq_3d4d)
// IRQ handler:  $3db1 (irq_3db1)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $1d4d (irq_1d4d)
//
// Code: 6389 bytes, Data: 8088 bytes
// Labels: 411, Subroutines: 33
//
// Cross-references: all OK
// ============================================


// --- Region $1020-$1579 ---
.pc = $1020 "sub_1020"
// Referenced by: jsr from $1e07, $3cc6, $3d0f, $3d60, $3dbe; jmp from $3ca3

sub_1020:
        jsr sub_2c88
        jmp sub_2de0

dat_1026:
        .byte $00,$00,$00,$00,$00,$00,$00,$13,$1d   // .........
// Referenced by: jsr from $1e31

sub_102f:
        tax
        lda $1773,x
        sta smc_1238                                // SMC: modifies $1238
        txa
        asl
        sta $50
        asl
        clc
        adc $50
        tax
        ldy #$05

loc_1041:
        lda $176d,x
        sta $16cd,x
        inx
        dey
        bpl loc_1041
        ldy #$02
        lda #$ff

loc_104f:
        sta $16ac,y
        sta $16df,y
        dey
        bpl loc_104f
        sta $16e2
        sta $16e3
        rts

loc_105f:
        lda #$fe
        sta $16b5,x

loc_1064:
        jmp loc_12cf

loc_1067:
        ldx #$02
        dec $16e2

loc_106c:
        bit $16e2
        bmi loc_1077
        jmp loc_12cf

loc_1074:
        jmp loc_115c

loc_1077:
        dec $16ac,x
        beq loc_105f
        bpl loc_1064
        bit $16e3
        bmi loc_1074

loc_1083:
        ldy $16af,x
        lda $1646,y
        sta $50
        lda $1664,y
        sta $51
        ldy $16b2,x

loc_1093:
        lda ($50),y
        cmp #$ff
        bne loc_109c
        jmp loc_115c

loc_109c:
        bmi loc_10a1
        jmp loc_11a7

loc_10a1:
        cmp #$a0
        bcs loc_10ae
        and #$1f
        sta $16dc,x
        iny
        jmp loc_1093

loc_10ae:
        cmp #$c0
        bcs loc_10be
        and #$1f
        asl
        asl
        asl
        sta $1688,x
        iny
        jmp loc_1093

loc_10be:
        cmp #$e0
        bcs loc_10cf
        and #$1f
        sta $16ac,x
        lda #$00
        sta $16be,x
        jmp loc_1227

loc_10cf:
        cmp #$fc
        bcs loc_10ee
        and #$1f
        sta $16e4
        iny
        lda ($50),y
        sta smc_11f6                                // SMC: modifies $11f6
        stx smc_11e9                                // SMC: modifies $11e9
        lda smc_1508
        ora $1682,x
        sta smc_1508                                // SMC: modifies $1508
        iny
        jmp loc_1093

loc_10ee:
        cmp #$fc
        bne loc_10fb
        lda #$fe
        sta $16b8,x
        iny
        jmp loc_1093

loc_10fb:
        cmp #$fe
        bne loc_1117
        lda $1682,x
        eor #$ff
        ora #$f0
        and smc_1508
        sta smc_1508                                // SMC: modifies $1508
        and #$6f
        bne loc_1113
        sta $16e4

loc_1113:
        iny
        jmp loc_1093

loc_1117:
        iny
        lda ($50),y
        and #$1f
        sta $16ac,x
        lda ($50),y
        sta $52
        lsr
        lsr
        lsr
        lsr
        lsr
        and #$03
        sta $16d9,x
        iny
        lda ($50),y
        sta $16d6,x
        bit $52
        bpl loc_1148
        lda #$00
        sec
        sbc $16d6,x
        sta $16d6,x
        lda #$00
        sbc $16d9,x
        sta $16d9,x

loc_1148:
        lda #$ff
        sta $16be,x
        jmp loc_1227

loc_1150:
        iny
        lda ($50),y
        sta $16cd,x
        iny
        lda ($50),y
        sta $16d0,x

loc_115c:
        lda $16df,x
        bmi loc_1167
        dec $16df,x
        jmp loc_119f

loc_1167:
        lda $16cd,x
        sta $50
        lda $16d0,x
        sta $51
        ldy #$00
        lda ($50),y
        bpl loc_118e
        cmp #$ff
        beq loc_1150
        cmp #$c0
        bcc loc_1186
        and #$3f
        sta $16df,x
        bpl loc_118b

loc_1186:
        and #$3f
        sta $16bb,x

loc_118b:
        iny
        lda ($50),y                                 // !SMC: modified by $3cb1

loc_118e:
        sta $16af,x
        iny
        tya
        clc
        adc $16cd,x
        bcc loc_119c
        inc $16d0,x

loc_119c:
        sta $16cd,x

loc_119f:
        lda #$00
        sta $16b2,x
        jmp loc_1083

loc_11a7:
        clc
        adc $16bb,x
        sta $16a9,x
        lda $16dc,x
        sta $16ac,x
        sty $52
        lda #$ff
        sta $16b5,x
        sta $16b8,x
        ldy $1688,x
        lda $16e5,y
        and #$1f
        bne loc_11ce
        lda $16e6,y
        sta $16ca,x

loc_11ce:
        lda $16e1,y
        sta $16c1,x
        lda #$00
        sta $168b,x
        sta $168e,x
        sta $16a3,x
        sta $16a6,x
        sta $16c4,x
        sta $16d3,x
.label smc_11e9 = * + 1
        cpx #$00                                    // !SMC: modified by $10de
        bne loc_11fa
        sta smc_1565                                // SMC: modifies $1565
        sta $16e5
        sta $16e6
.label smc_11f6 = * + 1
        lda #$c0                                    // !SMC: modified by $10db
        sta smc_1570                                // SMC: modifies $1570

loc_11fa:
        lda #$80
        sta $16c7,x
        lda $16e3,y
        and #$1f
        tay
        lda $174a,y
        sta $16be,x
        lda $1751,y
        sta smc_1219                                // SMC: modifies $1219
        ldy $16a9,x
        lda $1588,y
        clc
.label smc_1219 = * + 1
        adc #$00                                    // !SMC: modified by $120e
        sta $1694,x
        lda $15e7,y
        adc #$00
        sta $1697,x
        ldy $52

loc_1227:
        iny
        tya
        sta $16b2,x

loc_122c:
        dex
        bmi loc_1232
        jmp loc_106c

loc_1232:
        bit $16e2
        bpl loc_123c
.label smc_1238 = * + 1
        lda #$02                                    // !SMC: modified by $1033
        sta $16e2

loc_123c:
        lda #$00
        sta $16e3
        jmp loc_1502

loc_1244:
        lda $1694,x
        clc
        adc $16d6,x
        sta $1694,x
        lda $1697,x
        adc $16d9,x
        sta $1697,x
        jmp loc_141d

loc_125a:
        lda ($50),y
        sty $53
        clc
        adc $16a9,x
        tay
        lda $1588,y
        sta $1694,x
        lda $15e7,y
        sta $1697,x
        lda $53
        clc
        adc #$01
        sta $168e,x

loc_1277:
        jmp loc_141d

loc_127a:
        lda $16e3,y
        pha
        and #$1f
        tay
        lda $172e,y
        sta $50
        lda $1735,y
        sta $51
        lda $168e,x
        cmp $173c,y
        bcc loc_1299
        lda $1743,y
        sta $168e,x

loc_1299:
        tay
        pla
        cmp #$a0
        bcs loc_125a
        lda ($50),y
        sty $53
        clc
        adc $1697,x
        ldy $1685,x
        sta $d401,y
        lda $1694,x
        sta $d400,y
        lda $53
        clc
        adc #$01
        sta $168e,x
        jmp loc_142c

loc_12be:
        jmp loc_13b4

loc_12c1:
        ldy $1685,x
        lda #$08
        sta $d404,y
        jmp loc_122c

loc_12cc:
        jmp loc_1244

loc_12cf:
        lda $16be,x
        beq loc_12dc
        bmi loc_12cc
        dec $16be,x
        jmp loc_141d

loc_12dc:
        ldy $1688,x
        beq loc_12c1
        lda $16e3,y
        sta $52
        beq loc_1277
        bmi loc_127a
        and #$1f
        tay
        dec $168b,x
        bpl loc_12be
        lda $172e,y
        sta $50
        lda $1735,y
        sta $51
        lda $168e,x
        cmp $173c,y
        bcc loc_130a
        lda $1743,y
        sta $168e,x

loc_130a:
        tay
        lda ($50),y
        lsr
        lsr
        sta $1691,x
        lsr
        lsr
        and #$07
        sta $168b,x
        lda ($50),y
        and #$0f
        sta $169a,x
        iny
        lda ($50),y
        bit $52
        bvc loc_1372
        sty $52
        and #$07
        sta $53
        lda ($50),y
        lsr
        lsr
        lsr
        and #$07
        clc
        adc $16a9,x
        tay
        lda $1588,y
        sec
        sbc $1587,y
        sta $169d,x
        lda $15e7,y
        sbc $15e6,y
        lsr
        sta $16a0,x

loc_134d:
        dec $53
        bmi loc_1358
        ror $169d,x
        lsr
        jmp loc_134d

loc_1358:
        sta $16a0,x
        lda $169d,x
        clc
        adc $16a3,x
        sta $169d,x
        lda $16a0,x
        adc $16a6,x
        sta $16a0,x
        ldy $52
        bpl loc_1384

loc_1372:
        asl
        and #$7f
        clc
        adc $16a3,x
        sta $169d,x
        lda #$00
        adc $16a6,x
        sta $16a0,x

loc_1384:
        lda ($50),y
        ora $1691,x
        sta $1691,x
        iny
        tya
        sta $168e,x
        ldy $1688,x
        lda $16e4,y
        lsr
        lsr
        lsr
        lsr
        lsr
        sta smc_13a7                                // SMC: modifies $13a7
        lda $16e5,y
        lsr
        lsr
        and #$38
.label smc_13a7 = * + 1
        ora #$02                                    // !SMC: modified by $139c
        clc
        adc $16a3,x
        sta $16a3,x
        bcc loc_13b4
        inc $16a6,x

loc_13b4:
        lda $1691,x
        bpl loc_13cf
        lda $1694,x
        clc
        adc $169d,x
        sta $1694,x
        lda $1697,x
        adc $16a0,x
        sta $1697,x
        jmp loc_13e2

loc_13cf:
        lda $1694,x
        sec
        sbc $169d,x
        sta $1694,x
        lda $1697,x
        sbc $16a0,x
        sta $1697,x

loc_13e2:
        lda $1691,x
        asl
        bpl loc_13fa
        lda $169d,x
        clc
        adc $169a,x
        sta $169d,x
        bcc loc_1409
        inc $16a0,x
        jmp loc_1409

loc_13fa:
        lda $169d,x
        sec
        sbc $169a,x
        sta $169d,x
        bcs loc_1409
        dec $16a0,x

loc_1409:
        lda $1691,x
        and #$20
        beq loc_1415
        inc $169a,x
        bpl loc_141d

loc_1415:
        lda $169a,x
        beq loc_141d
        dec $169a,x

loc_141d:
        ldy $1685,x
        lda $1694,x
        sta $d400,y
        lda $1697,x
        sta $d401,y

loc_142c:
        ldy $1688,x
        lda $16e4,y
        and #$1f
        beq loc_147d
        tay
        dec $16c4,x
        bpl loc_145a
        lda $16c7,x
        eor #$80
        sta $16c7,x
        bpl loc_1452
        lda $1758,y
        lsr
        lsr
        lsr
        lsr
        sta $16c4,x
        bpl loc_146e

loc_1452:
        lda $1758,y
        and #$0f
        sta $16c4,x

loc_145a:
        lda $16c7,x
        bmi loc_146e
        lda $16c1,x
        clc
        adc $175b,y
        adc #$00
        sta $16c1,x
        jmp loc_1480

loc_146e:
        lda $16c1,x
        sec
        sbc $175b,y
        sbc #$00
        sta $16c1,x
        jmp loc_1480

loc_147d:
        lda $16c1,x

loc_1480:
        ldy $1685,x
        and #$0f
        sta $d403,y
        lda $16c1,x
        and #$f0
        sta $d402,y
        ldy $1688,x
        lda $16e5,y
        and #$1f
        beq loc_14c2
        tay
        lda tbl_lo_175e,y
        sta $50
        lda tbl_hi_1763,y
        sta $51
        ldy $1688,x
        lda $16d3,x
        cmp $16e2,y
        bcc loc_14b3
        lda $16e6,y

loc_14b3:
        tay
        iny
        tya
        sta $16d3,x
        dey
        lda ($50),y
        and $16b8,x
        jmp loc_14d7

loc_14c2:
        lda $16ca,x
        bmi loc_14d1
        dec $16ca,x
        bpl loc_14d1
        lda #$fe
        sta $16b5,x

loc_14d1:
        lda $16e2,y
        and $16b5,x

loc_14d7:
        ldy $1685,x
        sta $d404,y
        tya
        stx $53
        ldy $1688,x
        tax
        lda $16df,y
        sta $d405,x
        lda $16e0,y
        sta $d406,x
        ldx $53
        jmp loc_122c

loc_14f5:
        lda smc_1565
        sta $d415
        lda smc_1570
        sta $d416
        rts

loc_1502:
.label smc_1503 = * + 1
        lda #$1f                                    // !SMC: modified by $151d
        sta $d418
.label smc_1508 = * + 1
        lda #$f1                                    // !SMC: modified by $10e7, $1109, $1530
        sta $d417
        ldx $16e4
        beq loc_14f5
        dec $16e5
        bpl loc_1564
        lda $176b,x
        and #$f0
        ora #$0f
        sta smc_1503                                // SMC: modifies $1503
        lda $176b,x
        asl
        asl
        asl
        asl
        sta $52
        lda smc_1508
        and #$0f
        ora $52
        sta smc_1508                                // SMC: modifies $1508
        lda $1768,x
        sta $50
        lda $1769,x
        sta $51
        lda $16e6
        cmp $176a,x
        bcc loc_154a
        lda #$00
        sta $16e6

loc_154a:
        tay
        lda ($50),y
        and #$0f
        sta $16e5
        lda ($50),y
        and #$f0
        sta smc_1568                                // SMC: modifies $1568
        iny
        lda ($50),y
        sta smc_1572                                // SMC: modifies $1572
        iny
        tya
        sta $16e6

loc_1564:
.label smc_1565 = * + 1
        lda #$00                                    // !SMC: modified by $11ec, $1569
        clc
.label smc_1568 = * + 1
        adc #$00                                    // !SMC: modified by $1556
        sta smc_1565                                // SMC: modifies $1565
        sta $d415
.label smc_1570 = * + 1
        lda #$7a                                    // !SMC: modified by $11f7, $1573
.label smc_1572 = * + 1
        adc #$f2                                    // !SMC: modified by $155c
        sta smc_1570                                // SMC: modifies $1570
        sta $d416
        rts

// --- Region $1c9c-$1ca0 ---
.pc = $1c9c "$1c9c"
        sta ($11,x)
        eor ($80,x)
        rti

// --- Region $1cae-$1cd7 ---
.pc = $1cae "$1cae"
        sta ($41,x)
        bpl loc_1cba
        and ($41,x)
        rti

dat_1cb5:
        .byte $10,$88,$20,$08,$20                   // .. . 

loc_1cba:
        dey
        asl $f2
        .byte $0f,$01,$0f                           // slo $0f01 // ILLEGAL
        ora ($0f,x)
        ora ($0f,x)
        ora ($21,x)
        eor ($41,x)
        .byte $0c,$07,$00                           // nop $0007 // ILLEGAL
        bmi loc_1cd7
        .byte $07,$0a                               // slo $0a // ILLEGAL
        asl
        .byte $02                                   // jam // ILLEGAL

dat_1cd1:
        .byte $02,$0a,$02,$02,$00,$00               // ......

loc_1cd7:
        brk

// --- Region $1d00-$1d5f ---
.pc = $1d00 "main_1d00"

main_1d00:
        lda #$96
        jsr $ffd2
        lda #$93
        jsr $ffd2
        jsr $e544
        sei
        lda #$7f
        sta $dc0d
        lda #$00
        sta $dc0e
        lda #$f1
        sta $d01a
        lda #$32
        sta $d012
        lda #$1b
        sta $d011
        nop
        nop
        nop
        lda #$9a
        sta $0314
        lda #$1d
        sta $0315
        nop
        nop
        jsr sub_1e2f
        cli

loc_1d3a:
        jmp loc_1d3a

irq_1d3d:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr sub_2d10

irq_1d4d:
        jsr loc_1067
        jsr sub_2c97
        jsr sub_1d69
        lda #$01
        sta $d019
        jmp $febc

dat_1d5e:
        .byte $19,$d0                               // ..

// --- Region $1d69-$1e1e ---
.pc = $1d69 "sub_1d69"
// Referenced by: jsr from $1d53

sub_1d69:
        lda $dc01
        cmp #$ef
        bne sub_1d73
        jmp loc_3d42
// Referenced by: jsr from $3c9a, $3ceb, $3d09, $3d5d, $3dc1; branch from $1d6e

sub_1d73:
        lda $34
        beq loc_1d7f
        dec $34
        jsr sub_2de0
        jmp loc_2def

loc_1d7f:
        lda #$01
        sta $34
        jsr sub_2e01
        ldy $1ccc

loc_1d89:
        lda $1ccd,x
        sta $1ccc,x
        inx
        cpx #$20
        bne loc_1d89
        sty $1cec
        rts

dat_1d98:
        .byte $00,$00                               // ..

irq_1d9a:
        lda #$01
        sta $d019
        jsr sub_22e9
        dec $03f0
        lda $03f0
        beq loc_1db2

loc_1daa:
        lda #$01
        sta $d019
        jmp $febc

loc_1db2:
        dec $03f1
        lda $03f1
        beq loc_1dbd
        jmp loc_1daa

loc_1dbd:
        lda #$ca
        sta $0314
        lda #$1d
        sta $0315
        jmp loc_1daa

irq_1dca:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr loc_1067
        jsr sub_1de8
        jsr sub_2de0
        lda #$01
        sta $d019
        jmp $febc
// Referenced by: jsr from $1dda

sub_1de8:
        lda $03f2
        beq loc_1e07
        ldy $03f3
        lda bmp_2e22,y
        sta dat_1000,y
        inc $03f3
        ldy $03f3
        cpy #$0e
        beq loc_1e01
        rts

loc_1e01:
        lda #$00
        sta $03f2
        rts

loc_1e07:
        jsr sub_1020
        dec $03f4
        lda $03f4
        beq loc_1e13
        rts

loc_1e13:
        dec $03f5
        lda $03f5
        beq loc_1e1c
        rts

loc_1e1c:
        jmp loc_2210

// --- Region $1e2f-$1e50 ---
.pc = $1e2f "sub_1e2f"
// Referenced by: jsr from $1d36

sub_1e2f:
        lda #$00
        jsr sub_102f
        lda #$a5
        sta $40
        lda #$3e
        sta $41
        lda #$01
        sta $7d
        lda #$80
        sta $7e
        lda #$01
        sta $7f
        lda #$00
        sta $7b
        jmp loc_1efb

dat_1e4f:
        .byte $00,$02                               // ..

// --- Region $1efb-$1ff2 ---
.pc = $1efb "loc_1efb"

loc_1efb:
        ldx #$00

loc_1efd:
        lda $1e80,x
        sta $0334,x
        inx
        cpx #$69
        bne loc_1efd
        lda #$85
        sta $03f0
        lda #$02
        sta $03f1
        lda #$00
        sta $d020
        sta $d021
        lda #$60
        sta smc_2811                                // SMC: modifies $2811
        lda #$01
        sta $03f2
        lda #$00
        sta $03f3
        lda #$f0
        sta $03f4
        lda #$03
        sta $03f5
        lda #$00
        sta $03f6
        sta $03f7
        lda #$00
        tax

loc_1f3e:
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $0700,x
        inx
        bne loc_1f3e

loc_1f4d:
        sta $1e80,x
        inx
        cpx #$69
        bne loc_1f4d
        ldx #$00

loc_1f57:
        lda txt_37d8,x
        sta $0110,x
        inx
        cpx #$28
        bne loc_1f57
        ldx #$00

loc_1f64:
        lda txt_37d8,x
        sec
        adc #$7f
        sta $0138,x
        inx
        cpx #$28
        bne loc_1f64
        lda #$00
        sta $03f8
        lda #$07
        sta $76
        jsr sub_2d10
        jsr sub_2d10
        jsr sub_2d10
        lda #$00
        sta $03f9
        lda #$68
        sta $03fa
        lda #$01
        sta $03fb
        lda #$15
        sta $03fc
        ldx #$01
        stx $03fd
        dex
        stx $03fe
        ldx #$00

loc_1fa3:
        txa
        sta main_1d00,x
        inx
        cpx #$35
        bne loc_1fa3
        ldx #$00

loc_1fae:
        txa
        sta $1f00,x
        sta txt_37d8,x
        inx
        cpx #$28
        bne loc_1fae
        ldx #$00

loc_1fbc:
        lda $3870,x
        sta $37f8,x
        inx
        cpx #$08
        bne loc_1fbc
        lda #$01
        sta $34
        rts

dat_1fcc:
        .byte $00,$00,$00,$00                       // ....

loc_1fd0:
        lda $20
        beq loc_1fdc
        dec $20
        jsr sub_2ca4
        jmp loc_1fdf

loc_1fdc:
        jsr sub_2cb8

loc_1fdf:
        lda smc_1570
        sta $1e83
        lda $16b2
        sta $1e85
        lda $16d4
        sta $1e87
        rts

dat_1ff2:
        .byte $d5                                   // .

// --- Region $2210-$22df ---
.pc = $2210 "loc_2210"

loc_2210:
        lda #$1b
        sta $0314
        lda #$22
        sta $0315
        rts

irq_221b:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr sub_3c97
        nop
        lda #$01
        sta $d019
        jmp $febc
// Referenced by: jsr from $2274

sub_2234:
        lda $03f6
// Referenced by: jsr from $3dee

sub_2237:
        cmp #$01
        beq loc_227b
        cmp #$02
        beq loc_227e
        cmp #$03
        beq loc_2281
        cmp #$04
        beq loc_2284
        cmp #$05
        beq loc_2287
        cmp #$06
        beq loc_228a
        cmp #$07
        beq loc_228d
        cmp #$08
        beq loc_2290
        cmp #$09
        beq loc_2293
        cmp #$0a
        beq loc_2296
        cmp #$0b
        beq loc_2299
        cmp #$0c
        beq loc_229c
        cmp #$0d
        beq loc_229f
        cmp #$0e
        beq loc_22a2
        cmp #$0f
        beq loc_22a5
        rts
// Referenced by: jsr from $3ca0

sub_2274:
        jsr sub_2234
        inc $03f6
        rts

loc_227b:
        jmp loc_22a8

loc_227e:
        jmp loc_22af

loc_2281:
        jmp loc_2e30

loc_2284:
        jmp loc_2e91

loc_2287:
        jmp loc_2f22

loc_228a:
        jmp loc_2fd7

loc_228d:
        jmp loc_39f6

loc_2290:
        jmp loc_3a5d

loc_2293:
        jmp loc_3ac4

loc_2296:
        jmp loc_3b1f

loc_2299:
        jmp loc_3b96

loc_229c:
        jmp loc_3bf1

loc_229f:
        jmp loc_3c3a

loc_22a2:
        jmp loc_3c77

loc_22a5:
        jmp loc_3c90

loc_22a8:
        lda $392b
        sta $052b
        rts

loc_22af:
        lda $3902
        sta $0502
        lda $3903
        sta $0503
        lda $3904
        sta $0504
        lda $392a
        sta $052a
        lda $392c
        sta $052c
        lda $3952
        sta $0552
        lda $3953
        sta $0553
        lda $3954
        sta $0554
        rts

// --- Region $22e9-$22fd ---
.pc = $22e9 "sub_22e9"
// Referenced by: jsr from $1d9f

sub_22e9:
        lda #$18
        sta $d018
        jmp loc_1067
// Referenced by: jsr from $3c97

sub_22f1:
        lda $03f6
        cmp #$13
        beq loc_22f9
        rts

loc_22f9:
        jmp loc_3ca6

scr_22fc:
        // === Charset data (2 bytes, $22fc-$22fd) ===
        .byte $00,$00                               // char 0 (partial)

// --- Region $240d-$2c8c ---
.pc = $240d "sub_240d"
// Referenced by: jsr from $1d47, $1dd4, $2225, $3cc0, $3d06, $3d57, $3dbb

sub_240d:
        lda #$42

loc_240f:
        cmp $d012
        bne loc_240f
        ldy #$09

loc_2416:
        dey
        bne loc_2416
        lda $1eec
        ldx $1400
        ldy spr_2400
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        lda $1eed
        ldx $2361
        ldy $2301
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_2445:
        dey
        bne loc_2445
        ldx #$00

loc_244a:
        lda $1eee,x
        ldy $2302,x
        stx $12
        sty $13
        ldy $12
        ldx $2362,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e50,x

loc_246c:
        dey
        bne loc_246c
        inx
        cpx #$06
        bne loc_244a
        lda $1eed
        ldx $2368
        ldy $2308
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1eee
        ldx $2369
        ldy $2309
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_24a0:
        dey
        bne loc_24a0
        ldx #$00

loc_24a5:
        lda $1eef,x
        ldy $230a,x
        stx $12
        sty $13
        ldy $12
        ldx $236a,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e58,x

loc_24c7:
        dey
        bne loc_24c7
        inx
        cpx #$06
        bne loc_24a5
        lda $1eee
        ldx $2370
        ldy $2310
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1eef
        ldx $2371
        ldy $2311
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_24fb:
        dey
        bne loc_24fb
        ldx #$00

loc_2500:
        lda $1ef0,x
        ldy $2312,x
        stx $12
        sty $13
        ldy $12
        ldx $2372,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e60,x

loc_2522:
        dey
        bne loc_2522
        inx
        cpx #$06
        bne loc_2500
        lda $1eef
        ldx $2378
        ldy $2318
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1ef0
        ldx $2379
        ldy $2319
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_2556:
        dey
        bne loc_2556
        ldx #$00

loc_255b:
        lda $1ef1,x
        ldy $231a,x
        stx $12
        sty $13
        ldy $12
        ldx $237a,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e68,x

loc_257d:
        dey
        bne loc_257d
        inx
        cpx #$06
        bne loc_255b
        lda $1ef0
        ldx $2380
        ldy $2300
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1ef1
        ldx $2381
        ldy $2301
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_25b1:
        dey
        bne loc_25b1
        ldx #$00

loc_25b6:
        lda $1ef2,x
        ldy $2302,x
        stx $12
        sty $13
        ldy $12
        ldx $2382,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e70,x

loc_25d8:
        dey
        bne loc_25d8
        inx
        cpx #$06
        bne loc_25b6
        lda $1ef1
        ldx $2388
        ldy $2308
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1ef2
        ldx $2389
        ldy $2309
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_260c:
        dey
        bne loc_260c
        ldx #$00

loc_2611:
        lda $1ef3,x
        ldy $230a,x
        stx $12
        sty $13
        ldy $12
        ldx $238a,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e68,x

loc_2633:
        dey
        bne loc_2633
        inx
        cpx #$06
        bne loc_2611
        lda dat_1000
        ldx $2390
        ldy $2310
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1001
        ldx $2391
        ldy $2311
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_2667:
        dey
        bne loc_2667
        ldx #$00

loc_266c:
        lda $1002,x
        ldy $2312,x
        stx $12
        sty $13
        ldy $12
        ldx $2392,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e60,x

loc_268e:
        dey
        bne loc_268e
        inx
        cpx #$06
        bne loc_266c
        lda $1001
        ldx $2398
        ldy $2318
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1002
        ldx $2399
        ldy $2319
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_26c2:
        dey
        bne loc_26c2
        ldx #$00

loc_26c7:
        lda $1003,x
        ldy $231a,x
        stx $12
        sty $13
        ldy $12
        ldx $239a,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e68,x

loc_26e9:
        dey
        bne loc_26e9
        inx
        cpx #$06
        bne loc_26c7
        lda $1002
        ldx $23a0
        ldy $2300
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1003
        ldx $23a1
        ldy $2301
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_271d:
        dey
        bne loc_271d
        ldx #$00

loc_2722:
        lda $1004,x
        ldy $2302,x
        stx $12
        sty $13
        ldy $12
        ldx $23a2,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e70,x

loc_2744:
        dey
        bne loc_2744
        inx
        cpx #$06
        bne loc_2722
        lda $1003
        ldx $23a8
        ldy $2308
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1004
        ldx $23a9
        ldy $2309
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_2778:
        dey
        bne loc_2778
        ldx #$00

loc_277d:
        lda $1005,x
        ldy $230a,x
        stx $12
        sty $13
        ldy $12
        ldx $23aa,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e68,x

loc_279f:
        dey
        bne loc_279f
        inx
        cpx #$06
        bne loc_277d
        lda $1004
        ldx $1680
        ldy $2310
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        lda $1005
        ldx $1681
        ldy $2311
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldy #$04

loc_27d3:
        dey
        bne loc_27d3
        ldx #$00

loc_27d8:
        lda $1006,x
        ldy $2312,x
        stx $12
        sty $13
        ldy $12
        ldx dat_1000,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d016
        ldx $12
        ldy $1e78,x

loc_27fa:
        dey
        bne loc_27fa
        inx
        cpx #$06
        bne loc_27d8
        lda $1e80
        ldx spr_2000
        ldy $102d
        sta $d020
        sta $d021

smc_2811:
        stx $d022                                   // !SMC: modified by $1f1c, $3cb2, $3dad
        sty $d018
        lda $1e81
        ldx $1681
        ldy $1001
        sta $d020
        sta $d021
        stx.abs $0022
        sty $d023
        ldy #$04

loc_282e:
        dey
        bne loc_282e
        ldx #$00

loc_2833:
        lda $1e82,x
        ldy $1002,x
        stx $12
        sty $13
        ldy $12
        ldx $1682,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        ldx $12
        ldy $1e70,x

loc_2855:
        dey
        bne loc_2855
        inx
        cpx #$06
        bne loc_2833
        lda $1e88
        ldx $1680
        ldy $1008
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        lda $1e89
        ldx $1681
        ldy $1009
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        ldy #$04

loc_2889:
        dey
        bne loc_2889
        ldx #$00

loc_288e:
        lda $1e8a,x
        ldy $10a9,x
        stx $12
        sty $13
        ldy $12
        ldx $1682,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        ldx $12
        ldy $1e68,x

loc_28b0:
        dey
        bne loc_28b0
        inx
        cpx #$06
        bne loc_288e
        lda $1e90
        ldx $1680
        ldy $1010
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        lda $1e91
        ldx $1681
        ldy $1011
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        ldy #$04

loc_28e4:
        dey
        bne loc_28e4
        ldx #$00

loc_28e9:
        lda $1e92,x
        ldy $232a,x
        stx $12
        sty $13
        ldy $12
        ldx $1cca,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e78,x

loc_290b:
        dey
        bne loc_290b
        inx
        cpx #$06
        bne loc_28e9
        lda $1e98
        ldx $1cd0
        ldy $2330
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1e99
        ldx dat_1cd1
        ldy $2331
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_293f:
        dey
        bne loc_293f
        ldx #$00

loc_2944:
        lda $1e9a,x
        ldy $2332,x
        stx $12
        sty $13
        ldy $12
        ldx $1cd2,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e68,x

loc_2966:
        dey
        bne loc_2966
        inx
        cpx #$06
        bne loc_2944
        lda $1ea0
        ldx dat_1cd8
        ldy $2338
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1ea1
        ldx $1cd9
        ldy $2339
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_299a:
        dey
        bne loc_299a
        ldx #$00

loc_299f:
        lda $1ea2,x
        ldy $233a,x
        stx $12
        sty $13
        ldy $12
        ldx $1cda,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e70,x

loc_29c1:
        dey
        bne loc_29c1
        inx
        cpx #$06
        bne loc_299f
        lda $1ea8
        ldx $1680
        ldy $1550
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1ea9
        ldx $1681
        ldy $1551
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_29f5:
        dey
        bne loc_29f5
        ldx #$00

loc_29fa:
        lda $1eaa,x
        ldy $1551,x
        stx $12
        sty $13
        ldy $12
        ldx $1682,y
        ldy $13
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        ldx $12
        ldy $1e78,x

loc_2a1c:
        dey
        bne loc_2a1c
        inx
        cpx #$06
        bne loc_29fa
        lda $1eb0
        ldx $1680
        ldy $1550
        sta $d020
        sta $d021
        stx $d022
        sty $d023
        lda $1eb1
        ldx.abs $0090
        ldy $1551
        sta $d020
        sta $d021
        stx $d016
        sty $d023
        ldy #$04

loc_2a50:
        dey
        bne loc_2a50
        ldx #$00

loc_2a55:
        lda $1eb2,x
        ldy $23c2,x
        stx $12
        sty $13
        ldy $12
        ldx $1010,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e68,x

loc_2a77:
        dey
        bne loc_2a77
        inx
        cpx #$06
        bne loc_2a55
        lda $1eb8
        ldx dat_1000
        ldy $1cce
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1eb9
        ldx $1001
        ldy $1ccf
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_2aab:
        dey
        bne loc_2aab
        ldx #$00

loc_2ab0:
        lda $1eba,x
        ldy $1cd0,x
        stx $12
        sty $13
        ldy $12
        ldx $1002,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e70,x

loc_2ad2:
        dey
        bne loc_2ad2
        inx
        cpx #$06
        bne loc_2ab0
        lda $1ec0
        ldx $1008
        ldy $1cd6
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1ec1
        ldx $1009
        ldy loc_1cd7
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_2b06:
        dey
        bne loc_2b06
        ldx #$00

loc_2b0b:
        lda $1ec2,x
        ldy dat_1cd8,x
        stx $12
        sty $13
        ldy $12
        ldx $100a,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e60,x

loc_2b2d:
        dey
        bne loc_2b2d
        inx
        cpx #$06
        bne loc_2b0b
        lda $1ec8
        ldx $1010
        ldy $1cde
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1ec9
        ldx $1011
        ldy $102e
        sta $d020
        sta $d021
        stx $d022
        sty $d018
        ldy #$04

loc_2b61:
        dey
        bne loc_2b61
        ldx #$00

loc_2b66:
        lda $1eca,x
        ldy $2332,x
        stx $12
        sty $13
        ldy $12
        ldx $1ee2,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e68,x

loc_2b88:
        dey
        bne loc_2b88
        inx
        cpx #$06
        bne loc_2b66
        lda $1ed0
        ldx $1ee8
        ldy $2338
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1ed1
        ldx $1ee9
        ldy $2339
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_2bbc:
        dey
        bne loc_2bbc
        ldx #$00

loc_2bc1:
        lda $1ed2,x
        ldy $233a,x
        stx $12
        sty $13
        ldy $12
        ldx $1eea,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e70,x

loc_2be3:
        dey
        bne loc_2be3
        inx
        cpx #$06
        bne loc_2bc1
        lda $1ed8
        ldx $1ef0
        ldy spr_2340
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        lda $1ed9
        ldx $1ef1
        ldy $2341
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$04

loc_2c17:
        dey
        bne loc_2c17
        ldx #$00

loc_2c1c:
        lda $1eda,x
        ldy $2342,x
        stx $12
        sty $13
        ldy $12
        ldx $1ef2,y
        ldy $13
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldx $12
        ldy $1e60,x

loc_2c3e:
        dey
        bne loc_2c3e
        inx
        cpx #$06
        bne loc_2c1c
        lda $0801
        ldx $1ef8
        ldy $2348
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        ldy #$09

loc_2c5d:
        dey
        bne loc_2c5d
        lda $0802
        ldx $1ef9
        ldy $2349
        sta $d020
        sta $d021
        sty $d023
        stx $d022
        rts

// Referenced by: jsr from $2cb8
sub_2c76: {
        ldx #$16
loop:
        lda $0fff,x
        sta dat_1000,x
        dex
        bne loop
        lda $1016
        sta dat_1000
        rts
}
// Referenced by: jsr from $1020, $2c97

sub_2c88:
        jmp loc_1fd0

bmp_2c8b:
        // === Bitmap data (2 bytes, $2c8b-$2c8c) ===
        .byte $05,$c6                               // ..

// --- Region $2c97-$2e21 ---
.pc = $2c97 "sub_2c97"
// Referenced by: jsr from $1d50

sub_2c97:
        jsr sub_2c88
        sec
        lda $7a
        adc #$cf
        sta $90
        rts

bmp_2ca2:
        // === Bitmap data (2 bytes, $2ca2-$2ca3) ===
        .byte $90,$60                               // .`

// Referenced by: jsr from $1fd6
sub_2ca4: {
        ldy $2361
        ldx #$00
loop:
        lda $2361,x
        sta $2360,x
        inx
        cpx #$50
        bne loop
        sty $23b0
        rts
}
// Referenced by: jsr from $1fdc

sub_2cb8:
        jsr sub_2c76
        lda #$01
        sta $20
        rts

loc_2cc0:
        ldx #$00

loc_2cc2:
        lda $0721,x
        sta $0720,x
        lda $0749,x
        sta $0748,x
        inx
        cpx #$27
        bne loc_2cc2
        ldy #$00
        jsr sub_2cec
        ldx #$00

loc_2cda:
        lda $0720,x
        sta $07c0,x
        lda $0748,x
        sta $0798,x
        inx
        cpx #$28
        bne loc_2cda
        rts
// Referenced by: jsr from $2cd5

sub_2cec:
        ldx $7b
        beq loc_2d04
        lda ($40),y
        jsr sub_2dd4
        ldx #$00
        stx $7b
        inc $40
        beq loc_2cff
        bne loc_2d01

loc_2cff:
        inc $41

loc_2d01:
        jmp sub_2d2e

loc_2d04:
        lda ($40),y
        jsr sub_2dda
        ldx #$01
        stx $7b
        jmp sub_2d2e
// Referenced by: jsr from $1d4a, $1f7b, $1f7e, $1f81

sub_2d10:
        lda $7d
        beq loc_2d20
        lda $7f
        sta $7c

loc_2d18:
        jsr sub_2d2e
        dec $7c
        bne loc_2d18
        rts

loc_2d20:
        dec $7e
        beq loc_2d25
        rts

loc_2d25:
        lda #$01
        sta $7d
        lda #$8c
        sta $7e
        rts
// Referenced by: jsr from $2d18; jmp from $2d01, $2d0d

sub_2d2e:
        ldx $76
        dex
        bmi loc_2d38
        stx $7a
        stx $76
        rts

loc_2d38:
        lda #$08
        sta $76
        sta $7a
        jmp loc_2cc0

loc_2d41:
        cmp #$20
        beq loc_2d6b
        cmp #$00
        beq loc_2d7b
        cmp #$22
        beq loc_2d7b
        cmp #$23
        beq loc_2d7b
        cmp #$24
        beq loc_2d7b
        cmp #$25
        beq loc_2d7b
        cmp #$26
        beq loc_2d7b
        cmp #$00
        beq loc_2d7b
        sec
        sta $0747
        adc #$7f
        sta $076f
        rts

loc_2d6b:
        sta $0747
        sta $076f
        rts

loc_2d72:
        lda #$a5
        sta $40
        lda #$3e
        sta $41
        rts

loc_2d7b:
        lda #$20
        jmp loc_2d6b

loc_2d80:
        cmp #$20
        beq loc_2dcd
        cmp #$00
        beq loc_2d72
        jmp loc_2d96

loc_2d8b:
        adc #$3f
        sta $0747
        adc #$80
        sta $076f
        rts

loc_2d96:
        cmp #$22
        beq loc_2db1
        cmp #$23
        beq loc_2db6
        cmp #$24
        beq loc_2dbb
        cmp #$25
        beq loc_2dc0
        cmp #$26
        beq loc_2dc5
        cmp #$00
        beq loc_2d72
        jmp loc_2d8b

loc_2db1:
        lda #$00
        sta $7d
        rts

loc_2db6:
        lda #$01
        sta $7f
        rts

loc_2dbb:
        lda #$02
        sta $7f
        rts

loc_2dc0:
        lda #$03
        sta $7f
        rts

loc_2dc5:
        lda #$04
        sta $7f
        rts

bmp_2dca:
        // === Bitmap data (3 bytes, $2dca-$2dcc) ===
        .byte $85,$7f,$60                           // ..`

loc_2dcd:
        sta $0747
        sta $076f
        rts
// Referenced by: jsr from $2cf2

sub_2dd4:
        clc
        adc #$51
        jmp loc_2d80
// Referenced by: jsr from $2d06

sub_2dda:
        clc
        adc #$51
        jmp loc_2d41
// Referenced by: jsr from $1d79, $1ddd; jmp from $1023

sub_2de0:
        ldx #$00
        ldy #$19

loc_2de4:
        lda dat_1000,y
        sta $1ee0,x
        inx
        dey
        bne loc_2de4
        rts

loc_2def:
        ldx #$0c

loc_2df1:
        lda $23ff,x
        sta spr_2400,x
        dex
        bne loc_2df1
        lda $240c
        sta spr_2400
        rts
// Referenced by: jsr from $1d83

sub_2e01:
        ldx #$20

loc_2e03:
        lda $22ff,x
        sta $2300,x
        dex
        bne loc_2e03
        lda $2320
        sta $2300
        nop
        ldy #$00
        ldx #$18

loc_2e17:
        lda $1cd0,y
        sta $2330,x
        iny
        dex
        bne loc_2e17
        rts

// --- Region $2e30-$2f81 ---
.pc = $2e30 "loc_2e30"

loc_2e30:
        lda $38d9
        sta $04d9
        lda $38da
        sta $04da
        lda $38db
        sta $04db
        lda $38dc
        sta $04dc
        lda $38dd
        sta $04dd
        lda $3901
        sta $0501
        lda $3905
        sta $0505
        lda $3929
        sta $0529
        lda $392d
        sta $052d
        lda $3951
        sta $0551
        lda $3955
        sta $0555
        lda $3979
        sta $0579
        lda $397a
        sta $057a
        lda $397b
        sta $057b
        lda $397c
        sta $057c
        lda $397d
        sta $057d
        rts

loc_2e91:
        lda $38b0
        sta $04b0
        lda $38b1
        sta $04b1
        lda $38b2
        sta $04b2
        lda $38b3
        sta $04b3
        lda $38b4
        sta $04b4
        lda $38b5
        sta $04b5
        lda $38b6
        sta $04b6
        lda $38d8
        sta $04d8
        lda $38de
        sta $04de
        lda $3900
        sta $0500
        lda $3906
        sta $0506
        lda $3928
        sta $0528
        lda $392e
        sta $052e
        lda $3950
        sta $0550
        lda $3956
        sta $0556
        lda $3978
        sta $0578
        lda txt_397e
        sta $057e
        lda $39a0
        sta $05a0
        lda $39a1
        sta $05a1
        lda $39a2
        sta $05a2
        lda $39a3
        sta $05a3
        lda $39a4
        sta $05a4
        lda $39a5
        sta $05a5
        lda $39a6
        sta $05a6
        rts

loc_2f22:
        lda $3887
        sta $0487
        lda $3888
        sta $0488
        lda $3889
        sta $0489
        lda $388a
        sta $048a
        lda $388b
        sta $048b
        lda $388c
        sta $048c
        lda $388d
        sta $048d
        lda $388e
        sta $048e
        lda $388f
        sta $048f
        lda $38af
        sta $04af
        lda $38b7
        sta $04b7
        lda $38d7
        sta $04d7
        lda $38df
        sta $04df
        lda $38ff
        sta $04ff
        lda $3907
        sta $0507
        lda $3927
.label spr_2f80 = * + 1
        sta $0527

// --- Region $2fc0-$2ffd ---
.pc = $2fc0 "Segment $2fc0"
        and $cb8d,y
        ora $ad
        cpy $8d39
        cpy $ad05
        cmp $8d39
        cmp $ad05
        dec $8d39
        dec $6005

loc_2fd7:
        lda $3886
        sta $0486
        lda $3890
        sta $0490
        lda $38ae
        sta $04ae
        lda $38b8
        sta $04b8
        lda $38d6
        sta $04d6
        lda $38e0
        sta $04e0
        jmp loc_3800

// --- Region $3800-$386c ---
.pc = $3800 "loc_3800"

loc_3800:
        lda $38fe
        sta $04fe
        lda $3908
        sta $0508
        lda $3926
        sta $0526
        lda $3930
        sta $0530
        lda $394e
        sta $054e
        lda $3958
        sta $0558
        lda $3976
        sta $0576
        lda spr_3980
        sta $0580
        lda $399e
        sta $059e
        lda $39c6
        sta $05c6
        lda $39ee
        sta $05ee
        lda $39ef
        sta $05ef
        lda $39f0
        sta $05f0
        lda $39f1
        sta $05f1
        lda $39f2
        sta $05f2
        lda $39f3
        sta $05f3
        lda $39f4
        sta $05f4
        lda $39f5
        sta $05f5
        rts

// --- Region $39f6-$3e3b ---
.pc = $39f6 "loc_39f6"

loc_39f6:
        lda $3885
        sta $0485
        lda $3891
        sta $0491
        lda $38ad
        sta $04ad
        lda $38b9
        sta $04b9
        lda $38d5
        sta $04d5
        lda $38e1
        sta $04e1
        lda $3909
        sta $0509
        lda $3931
        sta $0531
        lda $3959
        sta $0559
        lda $3981
        sta $0581
        lda $38fd
        sta $04fd
        lda $3925
        sta $0525
        lda $394d
        sta $054d
        lda $3975
        sta $0575
        lda $399d
        sta $059d
        lda $39c5
        sta $05c5
        lda $39ed
        sta $05ed
        rts

loc_3a5d:
        lda $3892
        sta $0492
        lda $38ba
        sta $04ba
        lda $38e2
        sta $04e2
        lda $390a
        sta $050a
        lda $3932
        sta $0532
        lda $395a
        sta $055a
        lda $3982
        sta $0582
        lda $3884
        sta $0484
        lda $38ac
        sta $04ac
        lda $38d4
        sta $04d4
        lda $38fc
        sta $04fc
        lda $3924
        sta $0524
        lda $394c
        sta $054c
        lda $3974
        sta $0574
        lda $399c
        sta $059c
        lda $39c4
        sta $05c4
        lda $39ec
        sta $05ec
        rts

loc_3ac4:
        lda $3893
        sta $0493
        lda $38bb
        sta $04bb
        lda $38e3
        sta $04e3
        lda $390b
        sta $050b
        lda $3933
        sta $0533
        lda $395b
        sta $055b
        lda $3983
        sta $0583
        lda $3883
        sta $0483
        lda $38ab
        sta $04ab
        jsr sub_3b86
        sta $0523
        lda $394b
        sta $054b
        lda $3973
        sta $0573
        lda $399b
        sta $059b
        lda $39c3
        sta $05c3
        lda $39eb
        sta $05eb
        rts

loc_3b1f:
        lda $3882
        sta $0482
        lda $38aa
        sta $04aa
        lda $38d2
        sta $04d2
        lda $38fa
        sta $04fa
        lda $3922
        sta $0522
        lda $394a
        sta $054a
        lda $3972
        sta $0572
        lda $399a
        sta $059a
        lda $39c2
        sta $05c2
        lda $39ea
        sta $05ea
        lda $3894
        sta $0494
        lda $38bc
        sta $04bc
        lda $38e4
        sta $04e4
        lda $390c
        sta $050c
        lda $3934
        sta $0534
        lda $395c
        sta $055c
        lda $3984
        sta $0584
        rts
// Referenced by: jsr from $3afa

sub_3b86:
        lda $38d3
        sta $04d3
        lda $38fb
        sta $04fb
        lda $3923
        rts

loc_3b96:
        lda $3895
        sta $0495
        lda $38bd
        sta $04bd
        lda $38e5
        sta $04e5
        lda $390d
        sta $050d
        lda $3935
        sta $0535
        lda $395d
        sta $055d
        lda $38a9
        sta $04a9
        lda $38d1
        sta $04d1
        lda $38f9
        sta $04f9
        lda $3921
        sta $0521
        lda $3949
        sta $0549
        lda $3971
        sta $0571
        lda $3999
        sta $0599
        lda $39c1
        sta $05c1
        lda $39e9
        sta $05e9
        rts

loc_3bf1:
        lda $3896
        sta $0496
        lda $38be
        sta $04be
        lda $38e6
        sta $04e6
        lda $390e
        sta $050e
        lda $38f8
        sta $04f8
        lda $3920
        sta $0520
        lda $3948
        sta $0548
        lda $3970
        sta $0570
        lda $3998
        sta $0598
        lda $39c0
        sta $05c0
        lda $39e8
        sta $05e8
        lda $3936
        sta $0536
        rts

loc_3c3a:
        lda $391f
        sta $051f
        lda $3947
        sta $0547
        lda $396f
        sta $056f
        lda $3997
        sta $0597
        lda $39bf
        sta $05bf
        lda $39e7
        sta $05e7
        lda $3897
        sta $0497
        lda $38bf
        sta $04bf
        lda $38e7
        sta $04e7
        lda $390f
        sta $050f
        rts

loc_3c77:
        lda $396e
        sta $056e
        lda $3996
        sta $0596
        lda $39be
        sta $05be
        lda txt_39e6
        sta $05e6
        rts

loc_3c90:
        lda txt_39bd
        sta $05bd
        rts
// Referenced by: jsr from $2228

sub_3c97:
        jsr sub_22f1
        jsr sub_1d73
        jsr loc_1067
        jsr sub_2274
        jmp sub_1020

loc_3ca6:
        lda #$b6
        sta $0314
        lda #$3c
        sta $0315
        lda #$8e
        sta smc_2811                                // SMC: modifies $2811
        rts

irq_3cb6:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr loc_1067
        jsr sub_1020
        nop
        nop
        nop
        jsr sub_3ceb
        lda #$01
        sta $d019
        jmp $febc

loc_3cd7:
        ldx $03f7
        lda $0334,x
        sta $1e80,x
        inc $03f7
        lda $03f7
        cmp #$69
        beq loc_3cf1
        rts
// Referenced by: jsr from $3ccc

sub_3ceb:
        jsr sub_1d73
        jmp loc_3cd7

loc_3cf1:
        lda #$fc
        sta $0314
        lda #$3c
        sta $0315
        rts

irq_3cfc:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr sub_1d73
        jsr loc_1067
        jsr sub_1020
        jsr sub_3d1d
        lda $01
        sta $d019
        jmp $febc
// Referenced by: jsr from $3d12

sub_3d1d:
        ldx $03f8
        lda $0110,x
        sta $0680,x
        lda $0138,x
        sta $06a8,x
        inc $03f8
        lda $03f8
        cmp #$28
        beq loc_3d37
        rts

loc_3d37:
        lda #$3d
        sta $0314
        lda #$1d
        sta $0315
        rts

loc_3d42:
        lda #$4d
        sta $0314
        lda #$3d
        sta $0315
        rts

irq_3d4d:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr loc_1067
        jsr sub_1d73
        jsr sub_1020
        jsr sub_3d6e
        lda #$01
        sta $d019
        jmp $febc

// Referenced by: jsr from $3d63
sub_3d6e: {
        lda #$00
        ldx $03f9
        sta $0680,x
        sta $06a8,x
        sta $0720,x
        sta $0748,x
        sta $07c0,x
        sta $0798,x
        lda $03f9
        cpx #$28
        beq skip1
        inc $03f9
        rts
skip1:
        lda #$00
        ldx $03fa
        sta $1e80,x
        dec $03fa
        lda $03fa
        beq skip2
        rts
skip2:
        lda #$b1
        sta $0314
        lda #$3d
        sta $0315
        lda #$60
        sta smc_2811                                // SMC: modifies $2811
        rts
}

irq_3db1:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        jsr sub_240d
        jsr sub_1020
        jsr sub_1d73
        jsr loc_1067
        jsr sub_3dd2
        lda #$01
        sta $d019
        jmp $febc
// Referenced by: jsr from $3dc7

sub_3dd2:
        lda $03fb
        beq loc_3de6
        ldx #$00
        txa

loc_3dda:
        sta $3870,x
        sta $38f6,x
        inx
        bne loc_3dda
        stx $03fb

loc_3de6:
        lda $03fd
        beq loc_3dff
        lda $03fc
        jsr sub_2237
        dec $03fc
        lda $03fc
        beq loc_3dfa
        rts

loc_3dfa:
        lda #$00
        sta $03fd

loc_3dff:
        sta dat_1000
        inc $03fe
        lda $03fe
        cmp #$30
        beq loc_3e0d
        rts

loc_3e0d:
        jsr sub_3e82
        jsr sub_3e69
        jsr $fda3
        ldx #$40

loc_3e18:
        lda bmp_3e3b,x
        sta $0400,x
        dex
        bpl loc_3e18
        lda $2e
        sec
        sbc #$0e
        sta $2e
        lda $2d
        sec
        sbc #$3f
        bcs loc_3e31
        dec $2e

loc_3e31:
        sta $2d
        lda #$00
        sta chr_0800
        jmp $0400

bmp_3e3b:
        // === Bitmap data (1 bytes, $3e3b-$3e3b) ===
        .byte $78                                   // x

// --- Region $3e69-$3e79 ---
.pc = $3e69 "sub_3e69"
// Referenced by: jsr from $3e10

sub_3e69:
        jsr $e3bf
        ldx #$00

loc_3e6e:
        lda bmp_3e7a,x
        sta $05a0,x
        inx
        cpx #$08
        bne loc_3e6e
        rts

// --- Region $3e82-$3ea6 ---
.pc = $3e82 "sub_3e82"
// Referenced by: jsr from $3e0d

sub_3e82:
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        jsr $e544
        lda #$08
        sta $d016
        lda #$15
        sta $d018
        lda #$00
        sta $d418
        sta $d01a
        jmp $ff84

chr_3ea5:
        // === Bitmap data (2 bytes, $3ea5-$3ea6) ===
        .byte $d4,$c8                               // ..

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

// --- Region $0800-$09d8 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Screen RAM (473 bytes, $0800-$09d8) ===
        .encoding "screencode_mixed"
        .fill 9, $00                                // scrcode: @@@@@@@@@
        .text "c>"
        .byte $fa,$ea,$ea,$ea,$e9                   // scrcode: .....
        .text "o>"
        .byte $fa,$ea,$e9,$eb,$ea,$ea               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$ea,$e9,$e9,$e9               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$e9,$e9,$e9,$e9               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$e9,$eb,$ea,$ea               // scrcode: ......
        .text "o"
        .text ">"
        .byte $fa,$ea,$e9,$eb,$ea,$ea               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$ea,$e9,$e9,$e9               // scrcode: ......
        .text "m="
        .byte $f9,$e9,$e9,$e9,$ea,$ea               // scrcode: ......
        .text "@connnnn@@@@@@@@m"
        .text "="
        .byte $f9,$e9,$e9,$e9,$ea,$ea               // scrcode: ......
        .text "m="
        .byte $f9,$e9,$e9,$e9,$e9,$e9               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$ea,$e6,$e6,$e6               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$ea,$ea,$ea,$e9               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$ea,$e9,$e9,$e9               // scrcode: ......
        .text "o"
        .text ">"
        .byte $fa,$ea,$d5,$ff,$ea,$ea               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$ea,$e9,$e9,$e9               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$d5,$ff,$ea,$ea               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$e9,$eb,$ea,$ea               // scrcode: ......
        .text "o>"
        .byte $fa,$ea,$d6                           // scrcode: ...
        .text "nnnm"
        .text "="
        .byte $f9,$e9,$e9,$e9,$e9,$e9               // scrcode: ......
        .text "m="
        .byte $f9,$e9,$e9,$e9,$e9,$ea               // scrcode: ......
        .text "o>"
        .byte $f6,$e6,$e6,$e6,$e6,$e6               // scrcode: ......
        .text "m="
        .byte $f9,$e9,$e9,$ea,$fa                   // scrcode: .....
        .text ">m="
        .byte $f9,$e9,$e9,$e9,$ea,$fa               // scrcode: ......
        .text "o"
        .text ">"
        .byte $fa,$ea,$d5                           // scrcode: ...
        .text "con@@@@@@@@ccnn::"
        .byte $ea,$ea                               // scrcode: ..
        .text "@@@@@@@@cnnn::"
        .byte $ea,$ea                               // scrcode: ..
        .text "@"
        .text "cnn::"
        .byte $ea,$ea                               // scrcode: ..
        .text "@@@@@@@@"
        .byte $ff,$ea,$ea,$fa                       // scrcode: ....
        .text ":>no"
        .byte $ff,$e9,$e9,$e9,$e9,$e9,$e9,$d5       // scrcode: ........
        .text "@@@@@@@@c"
        .text "n::"
        .byte $e9,$e9                               // scrcode: ..
        .text "::"
        .byte $fc,$e9,$e9,$e9,$d5                   // scrcode: .....
        .text "cnno:"
        .byte $e9,$e9                               // scrcode: ..
        .text "::::onnonm@@@cconnnn="
        .text "9::>nnn@@av"
        .byte $66                                   // scrcode: .
        .text "zz"
        .byte $6a                                   // scrcode: .
        .text "@@@@@@@@@@@@@@@@@@@@@?::@"
        .fill 10, $00                               // scrcode: @@@@@@@@@@
        .text "ccon>?"
        .byte $fa,$ea,$ea,$ea,$e9,$e9,$ea           // scrcode: .......
        .text "co>::>nn?"
        .byte $fa,$ea,$ea,$e9,$d5                   // scrcode: .....
        .text "co?"
        .byte $fa,$ea,$ea,$e9,$d7                   // scrcode: .....
        .text "nn="
        .byte $f9,$e9                               // scrcode: ..
        .byte $e9,$e9,$e9,$ea,$ea                   // scrcode: .....
        .text "?"
        .byte $fa,$ea,$ea,$e9,$eb,$ea,$ea           // scrcode: .......
        .text "?"
        .byte $fa,$ea,$ea,$e9,$eb,$ea,$ea           // scrcode: .......
        .text "?"
        .byte $fa,$ea,$ea,$d5                       // scrcode: ....
        .text "ccc?"
        .byte $fa,$ea,$ea,$e9,$eb,$ea,$fa           // scrcode: .......
        .text "?"
        .byte $fa,$ea                               // scrcode: ..
        .byte $ea,$e9,$eb,$ea,$fa                   // scrcode: .....
        .text "@@@onnnm"
        .encoding "petscii_upper"

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

// --- Region $09f8-$0bd8 ---
.pc = $09f8 "dat_09f8"

dat_09f8:
        .encoding "screencode_mixed"
        .text "?"
        .byte $fa,$ea,$ea,$e9,$d7                   // scrcode: .....
        .text "on@@"
        .byte $40,$94,$99,$a4,$a4,$a9,$fc,$ad,$a9,$a9,$a9,$a9,$a9,$e9,$fc,$ad // scrcode: ................
        .byte $a9,$a9,$69,$e9,$a9,$a5,$fd,$a9,$a9,$a9,$55,$40 // scrcode: ............
        .text "@@"
        .byte $f4,$a5,$a9,$a9,$a9,$e9,$e9,$e9,$fd,$a9,$a9,$a9,$55,$fd,$a9,$a9 // scrcode: ................
        .byte $fd,$a9,$a9,$a9,$55,$fd,$a9,$a9,$fd,$a9,$a9,$a9,$55,$fd,$a9,$a9 // scrcode: ................
        .byte $fd,$e9,$e9,$e9,$e9,$e9,$a9,$a9       // scrcode: ........
        .byte $d0,$d0,$90,$90,$90,$90,$90,$90       // scrcode: ........
        .text "m="
        .byte $f9,$e9,$e9,$e9,$e9,$e9,$fd,$e9,$e9,$e9,$e9,$a9,$a5,$94 // scrcode: ..............
        .text "@@@@@@@@"
        .byte $fd,$e9,$a9,$a9,$a9,$69,$69,$69       // scrcode: ........
        .byte $fd,$e9,$e9,$e9,$a9,$a9,$a9,$a9,$f4,$a5,$a9,$a9,$a9,$e9,$e9,$e9 // scrcode: ................
        .byte $f4,$a5,$a9,$a9,$69,$e9,$a9,$a9,$f4,$a5,$a9,$a9,$a9,$e9,$e9,$e9 // scrcode: ................
        .byte $f4,$a5,$a9,$a9,$69,$e9,$a9,$a9       // scrcode: ........
        .byte $fd,$a9,$a9,$a9,$55,$f4,$a5,$a9,$fd,$a9,$a9,$a9,$95,$90,$90,$90 // scrcode: ................
        .byte $fd,$e9,$e9,$e9,$e9,$e9,$e9,$e9,$fd,$e9,$e9,$e9,$e9,$e9,$e9,$a9 // scrcode: ................
        .byte $ff,$69,$69,$69,$69,$69,$69,$69       // scrcode: ........
        .byte $fd,$e9,$e9,$e9,$e9,$a9,$a5,$94,$fd,$e9,$e9,$e9,$e9,$e9,$a9,$a5 // scrcode: ................
        .byte $fd,$a9,$a9,$a9,$69,$a9,$a5,$a4       // scrcode: ........
        .text "@@@@@@@@"
        .byte $f0,$a4                               // scrcode: ..
        .encoding "petscii_upper"

txt_0ae2:
        .text "YYDP"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $a4                                   // scrcode: .
        .text "@@@@@@@@"
        .byte $c0,$90,$90,$90,$a4,$a4,$a9,$a9       // scrcode: ........
        .text "@@"
        .byte $c0,$c0,$c0,$cf,$be,$be               // scrcode: ......
        .text "@@@@@@@@"
        .byte $fc,$a9,$a9,$a9,$a9,$a9,$a9           // scrcode: .......
        .byte $a9,$ff,$e9,$e9,$e9,$e9,$e9,$e9,$d5   // scrcode: .........
        .text "@@@@@@@@"
        .byte $d0,$95,$aa,$aa                       // scrcode: ....
        .encoding "petscii_upper"

txt_0b24:
        .text "UP"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $a4                                   // scrcode: .
        .text "<9"
        .byte $e9,$e9,$a4,$a4,$90,$90,$f4,$a4,$e9,$e9,$a4,$a4,$90,$94,$d0,$90 // scrcode: ................
        .byte $90,$90,$50,$40                       // scrcode: ....
        .text "@@"
        .byte $f4,$e4,$a4,$a4,$94,$90,$90,$90       // scrcode: ........
        .text "@"
        .byte $40,$40,$50,$90,$90,$90               // scrcode: ......
        .byte $90                                   // scrcode: .
        .text "@@"
        .byte $40,$94,$99,$a4,$a4,$a9               // scrcode: ......
        .text "@@@@@@@@@@@@@@@@@@@@@"
        .byte $f4,$a4,$a4                           // scrcode: ...
        .text "@@@@@@@"
        .text "@="
        .byte $f9,$e9,$e9,$a5,$a4,$94,$90           // scrcode: .......
        .encoding "petscii_upper"

spr_0b80:
        .encoding "screencode_mixed"
        .byte $f4,$a5,$a9,$a9,$a9,$a9,$a9,$a9,$d0,$90,$90,$90,$90,$90,$90,$90 // scrcode: ................
        .byte $f4,$a5,$a9,$a9,$69,$e9,$a9,$a5,$f4,$a5,$a9,$a9,$69,$e9,$a9,$a5 // scrcode: ................
        .text "@@"
        .byte $f4,$a4,$a4,$a5,$a9,$a9               // scrcode: ......
        .byte $fd,$a9,$a9,$a9,$55,$fd,$a9,$a9,$f4,$a5,$a9,$a9,$69,$fd,$a9,$a9 // scrcode: ................
        .byte $fd,$a9,$a9,$a9,$69,$e9,$a5,$a4,$f4,$a5,$a9,$a9,$69,$e9,$a9,$a5 // scrcode: ................
        .byte $f4,$a5,$a9,$a9,$69,$e9,$a9,$a9       // scrcode: ........
        .text "@@@"
        .byte $d0,$90,$90,$90,$50                   // scrcode: .....
        .encoding "petscii_upper"

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

// --- Region $0bf8-$0dd5 ---
.pc = $0bf8 "dat_0bf8"

dat_0bf8:
        .byte $f4,$a5,$a9,$a9,$69,$a9,$a5,$a4       // scrcode: ........

spr_0c00:
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 128
        .byte $e9,$ea,$ea,$e9,$e9,$e9,$e9,$d5       // char 129
        .byte $ea,$e9,$eb,$ea,$ea,$ea,$ea,$d5       // char 130
        .byte $e9,$e9,$ea,$ea,$ea,$fa,$3a,$35       // char 131
        .byte $e9,$e9,$e9,$ea,$ea,$ea,$ea,$d5       // char 132
        .byte $ea,$e9,$eb,$ea,$ea,$fa,$3a,$35       // char 133
        .byte $ea,$e9,$e9,$e9,$e9,$e5,$d4,$d0       // char 134
        .byte $e9,$e9,$ea,$ea,$ea,$fa,$3a,$35       // char 135
        .byte $ea,$e9,$e9,$e9,$e9,$e9,$e9,$d5       // char 136
        .byte $0e,$0e,$0e,$0e,$0e,$0e,$0d,$0d       // char 137
        .byte $fd,$e9,$e9,$ea,$ea,$fa,$3a,$35       // char 138
        .byte $ea,$e9,$e9,$e9,$e9,$e9,$e9,$d5       // char 139
        .byte $e9,$e9,$e9,$ea,$ea,$fa,$3a,$35       // char 140
        .byte $e6,$e6,$e6,$e6,$e6,$e6,$e6,$d5       // char 141
        .byte $e9,$e9,$e9,$e9,$e9,$e9,$e9,$d5       // char 142
        .byte $e9,$e9,$ea,$ea,$ea,$fa,$3a,$35       // char 143
        .byte $ea,$e9,$e9,$e9,$e9,$e5,$d4,$d0       // char 144
        .byte $e9,$e9,$ea,$ea,$ea,$f9,$39,$05       // char 145
        .byte $ea,$e9,$e9,$e9,$e9,$e9,$e9,$d5       // char 146
        .byte $fa,$35,$ff,$ea,$ea,$ea,$ea,$d5       // char 147
        .byte $0e,$0e,$0e,$0e,$0e,$0e,$0d,$0d       // char 148
        .byte $e9,$e9,$ea,$ea,$ea,$fa,$3a,$35       // char 149
        .byte $fa,$3a,$3a,$3e,$0e,$0e,$0e,$0d       // char 150
        .byte $e6,$e6,$ea,$ea,$ea,$ea,$e9,$d5       // char 151

spr_0cc0:
        .byte $da,$ea,$e9,$e9,$e9,$e9,$e9,$d5       // char 152
        .byte $3a,$3e,$0e,$0e,$0e,$0e,$0e,$0d       // char 153
        .byte $3e,$3a,$fa,$ea,$ea,$ea,$ea,$d5       // char 154
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 155
        .byte $3a,$3a,$39,$e9,$ea,$ea,$d5,$00       // char 156
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 157
        .byte $3e,$0e,$03,$03,$0e,$0e,$0e,$03       // char 158
        .byte $ea,$ea,$1a,$1a,$06,$06,$01,$00       // char 159
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 160
        .byte $03,$03,$00,$00,$00,$00,$00,$00       // char 161
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 162
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 163
        .byte $0f,$ff,$ea,$ea,$3e,$0e,$0e,$01       // char 164
        .byte $3a,$3a,$e9,$e9,$e4,$e4,$d0,$00       // char 165
        .byte $e9,$e9,$e9,$e9,$ea,$3a,$05,$00       // char 166
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 167

spr_0d40:
        .byte $0e,$0e,$0e,$0f,$03,$03,$00,$00       // char 168
        .byte $0e,$0e,$3e,$3a,$3a,$39,$35,$00       // char 169
        .byte $6a,$1a,$1a,$66,$16,$01,$00,$00       // char 170
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 171
        .byte $00,$00,$0f,$0e,$0e,$0f,$0e,$0d       // char 172
        .byte $3a,$35,$00,$00,$00,$00,$00,$00       // char 173
        .byte $00,$00,$0f,$0e,$0e,$0e,$0d,$00       // char 174
        .byte $3a,$fa,$e9,$e9,$e5,$e4,$d4,$d0       // char 175
        .byte $ea,$ea,$ea,$ea,$ea,$fa,$3a,$35       // char 176
        .byte $0e,$0e                               // char 177 (partial)

txt_0d8a:
        .byte $3e,$3a,$3a,$3a,$3a,$35               // char 177 (partial)
        .byte $3e,$fa,$ea,$ea,$ea,$ea,$ea,$d5       // char 178
        .byte $0e,$fd,$eb,$ea,$ea,$fa,$3a,$35       // char 179
        .byte $fa,$35,$03,$03,$03,$03,$03,$03       // char 180
        .byte $ea,$d5,$eb,$ea,$ea,$fa,$3a,$35       // char 181
        .byte $ea,$e9,$eb,$ea,$ea,$fa,$3a,$35       // char 182
        .byte $0f,$0e,$0e,$0e,$0e,$0e,$0e,$0d       // char 183
        .byte $ea,$e9,$eb,$ea,$ea,$fa,$3a,$35       // char 184
        .byte $3a,$fd,$eb,$ea,$ea,$fa,$3a,$35       // char 185
        .byte $0f,$0e,$0e,$0e,$0d                   // char 186 (partial)

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

// --- Region $0df8-$0fd5 ---
.pc = $0df8 "dat_0df8"

dat_0df8:
        .byte $0e,$0d,$0f,$0e,$0e,$0e,$0e,$0d       // char 191

spr_0e00:
        .byte $a9,$a4,$a4,$99,$94,$40,$00,$00       // char 192
        .byte $e9,$a9,$a9,$e9,$e9,$e5,$d4,$d0       // char 193
        .byte $a9,$69,$e9,$a9,$a9,$a5,$94,$50       // char 194
        .byte $00,$c0,$fd,$a9,$a9,$a5,$94,$50       // char 195
        .byte $e9,$e9,$a9,$a9,$a9,$a5,$94,$50       // char 196
        .byte $a9,$55,$fd,$a9,$a9,$a5,$94,$50       // char 197
        .byte $a9,$55,$00,$00,$00,$00,$00,$00       // char 198
        .byte $a9,$e9,$e9,$a9,$a9,$a5,$94,$50       // char 199
        .byte $a9,$e9,$e9,$e9,$e9,$e5,$d4,$d0       // char 200
        .byte $90,$90,$90,$90,$90,$50,$40,$00       // char 201
        .byte $e9,$e9,$e9,$a9,$a9,$a5,$94,$50       // char 202
        .byte $a5,$a9,$e9,$e9,$e9,$e5,$d4,$d0       // char 203
        .byte $00,$00,$fd,$a9,$a9,$a5,$94,$50       // char 204
        .byte $69,$69,$69,$69,$69,$65               // char 205 (partial)

txt_0e6e:
        .byte $54,$50                               // char 205 (partial)
        .byte $a9,$e9,$e9,$e9,$e9,$e5,$d4,$d0       // char 206
        .byte $e9,$e9,$a9,$a9,$a9,$a5,$94,$50       // char 207
        .byte $a5,$54,$00,$00,$00,$00,$00,$00       // char 208
        .byte $e9,$e9,$a9,$a9,$69,$e5,$e9,$55       // char 209
        .byte $a5,$a5,$a9,$e9,$e9,$e5,$d4,$d0       // char 210
        .byte $a9,$69,$e9,$a9,$a9,$a5,$94,$50       // char 211
        .byte $90,$90,$90,$90,$90,$50,$40,$00       // char 212
        .byte $e9,$e9,$a9,$a9,$a9,$a5,$94,$50       // char 213
        .byte $a5,$a4,$a4,$94,$90,$90,$90,$50       // char 214
        .byte $69,$69,$a9,$a9,$a9,$a5,$d4,$50       // char 215
        .byte $ad,$a9,$e9,$e9,$e9,$e5,$d4,$d0       // char 216
        .byte $a4,$94,$90,$90,$90,$90,$90,$50       // char 217
        .byte $94,$90,$fd,$a9,$a9,$a5,$94,$50       // char 218
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 219
        .byte $50,$44,$19,$59,$a4,$a4,$50,$00       // char 220
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 221
        .byte $94,$90,$90,$90,$90,$90,$90,$40       // char 222
        .byte $aa,$aa                               // char 223 (partial)

txt_0efa:
        .byte $55,$40,$40,$40,$00,$00               // char 223 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 224
        .byte $a9,$a9,$d5,$00,$3c,$e9,$e9,$15       // char 225
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 226
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 227
        .byte $e9,$e9,$a4,$a4,$90,$90,$90,$40       // char 228
        .byte $40,$7c,$e9,$e9,$e9,$e9,$d5,$00       // char 229
        .byte $e9,$e9,$e4,$e4,$a9,$a9,$54,$00       // char 230
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 231
        .byte $90,$90,$94,$a4,$a4,$e4,$d4,$00       // char 232
        .byte $90,$90,$90,$50,$40,$40,$00,$00       // char 233
        .byte $a9,$a4,$a4,$99,$94,$40,$00,$00       // char 234
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 235
        .byte $00,$00,$d0,$90,$90,$90               // char 236 (partial)

txt_0f66:
        .byte $50,$40                               // char 236 (partial)
        .byte $a4,$54,$00,$00,$00,$00,$00,$00       // char 237
        .byte $00,$00,$d0,$90,$90,$90,$50,$00       // char 238
        .byte $50,$40,$40,$00,$00,$00,$00,$00       // char 239
        .byte $e9,$e9,$a9,$a9,$a9,$a9,$a4,$54       // char 240
        .byte $90,$90,$94,$a4,$a4,$a4,$a4,$54       // char 241
        .byte $a4,$94,$fd,$a9,$a9,$a9,$a9,$55       // char 242
        .byte $a9,$69,$e9,$a9,$a9,$a9,$a4,$54       // char 243
        .byte $a9,$a5,$a4,$a4,$a4,$a4,$a4,$54       // char 244
        .byte $a9,$69,$e9,$a9,$a9,$a9,$a4,$54       // char 245
        .byte $a9,$69,$e9,$a9,$a9,$a9,$a4,$54       // char 246
        .byte $a4,$94,$90,$90,$90,$90,$90,$50       // char 247
        .byte $a9,$69,$e9,$a9,$a9,$a9,$a4,$54       // char 248
        .byte $a9,$69,$e9,$a9,$a9,$a9,$a4,$54       // char 249
        .byte $d0,$90,$90,$90,$50                   // char 250 (partial)

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

// --- Region $0ff8-$1000 ---
.pc = $0ff8 "dat_0ff8"

dat_0ff8:
        .byte $94,$50,$d0,$90,$90,$90,$90,$50       // char 255

dat_1000:
        // === Fill data (1 bytes, $1000-$1000) ===
        .byte $00                                   // .

// --- Region $157a-$1c9b ---
.pc = $157a "txt_157a"

txt_157a:
        .text ">1988 BY FAME<"
        .byte $16,$27,$38,$4b,$5f,$73,$8a,$a1,$ba,$d4,$f0,$0e,$2d,$4e,$71,$96 // .'8K_s......-Nq.
        .byte $bd,$e7,$13,$42,$74,$a9,$e0,$1b,$5a,$9b,$e2,$2c,$7b,$ce,$27,$85 // ...Bt...Z..,{.'.
        .byte $e8,$51,$c1,$37,$b4,$37,$c4,$57,$f5,$9c,$4e,$09,$d0,$a3,$82,$6e // .Q.7.7.W..N....n
        .byte $68,$6e,$88,$af,$eb,$39,$9c,$13,$a1,$46,$04,$dc,$d0,$dc,$10,$5e // hn...9...F.....^
        .byte $d6,$72,$38,$26,$42,$8c,$08,$b8,$a0,$b8,$20,$bc,$ac,$e4,$70,$4c // .r8&B..... ...pL
        .byte $84,$18,$10,$70,$40,$70,$40,$78,$58,$c8,$e0,$98,$08,$30,$20,$01 // ...p@p@xX....0 .
        .fill 10, $01
        .byte $02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04 // ................
        .byte $05,$05,$05,$06,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b,$0c // ................
        .byte $0d,$0d,$0e,$0f,$10,$11,$12,$14,$14,$15,$17,$18,$1a,$1b,$1d,$1f // ................

txt_1622:
        .text " "
        .byte $22                                   // double quote character
        .text "$')+.147:>AEINRW"
        .byte $5c                                   // backslash character
        .byte $62,$68,$6e,$75,$7c,$83,$8b,$93,$9c,$a5,$af,$b9,$c4,$d0,$dd,$ea // bhnu|...........
        .byte $f8,$09,$0c
        .byte $3d,$73,$84,$87,$92,$c2,$d7
        .text "P"
        .byte $5c                                   // backslash
        .text "&7"
        .byte $7a,$84
        .byte $9f,$a1,$b3,$bc,$d1,$e4,$f7,$08,$12
        .text "#5DU"
        .byte $68,$7b,$19
        .fill 8, $19
        .byte $1a,$1a,$19,$1b,$1b,$1b,$1b,$1b,$1b,$1b,$1b,$1b,$1b,$1c,$1c,$1c // ................
        .byte $1c,$1c,$1c,$1c,$1c,$01,$02,$04,$00,$07,$0e,$18,$38,$40,$00,$00 // ............8@..
        .byte $00,$00,$04,$04,$08,$64,$64,$2c,$e2,$54,$05,$04,$2e,$00,$01,$02 // .....dd,.T......
        .byte $10,$4a,$34,$00,$00,$00,$00,$00,$14,$00,$00,$00,$1b,$1a,$41,$02 // .J4...........A.
        .byte $02,$02,$01,$02,$06,$05,$1e,$0d,$ff,$ff,$ff,$ff,$ff,$ff,$0e,$00 // ................
        .byte $0c,$02,$00,$00,$f7,$78,$02,$0c,$00,$0c,$00,$80,$00,$ff,$ff,$ff // .....x..........
        .byte $c5,$90,$e9,$17,$18,$18,$00,$04,$03,$00,$00,$c0,$00,$00,$ff,$03 // ................
        .byte $03,$03,$ff,$ff,$ff,$01,$00,$01,$02,$02,$00,$cd,$81,$03,$41,$41 // ..............AA
        .byte $25,$02,$00,$f7,$08,$41,$a2,$02,$00,$02,$0a,$db,$76,$41,$06,$03 // %....A......vA..
        .byte $00,$ff,$00,$f6,$08,$04,$83,$00,$01,$03,$00,$fd,$00,$11,$41,$60 // ..............A`
        .byte $20,$02,$00,$f5,$78,$0d,$85,$00,$03,$0c,$00,$f5,$78,$05,$84,$00 //  ...x.......x...
        .byte $02,$04,$00,$be,$81,$03,$41,$41,$24,$02,$00,$f9,$08,$41,$a7,$02 // ......AA$....A..
        .byte $00,$02,$7b,$83,$8a,$a8,$8e,$b5,$c8,$1c,$1c,$1c,$1c,$1c,$1c,$1c // ..{.............
        .byte $08,$03,$04,$05,$0d,$06,$03,$00,$00,$03,$04,$0c,$02,$00,$00,$00 // ................
        .byte $00,$00,$00,$06,$00,$00,$00,$00,$00,$00,$00,$00,$1f,$65,$0f,$20 // .............e. 
        .byte $30                                   // 0

tbl_lo_175e:
        .byte $60,$86,$ad,$9b,$b2                   // RTS dispatch table low bytes (addr-1)

tbl_hi_1763:
        .byte $c5,$1c,$1c,$1c,$1c                   // RTS dispatch table high bytes (addr-1)
        .byte $1c,$bb,$1c,$0a,$1f,$74,$71,$cf,$17,$18,$18,$02,$80,$10,$10,$10 // .....tq.........
        .fill 8, $10
        .byte $11,$8c,$01,$8e,$01,$8b,$01,$8c,$0b,$8c,$01,$8e,$01,$8b,$01,$8c // ................
        .byte $0b,$8c,$01,$8e,$01,$8b,$01,$8c,$0b,$8c,$01,$8e,$01,$8b,$01,$8c // ................
        .byte $0b,$90,$01,$8e,$01,$8e,$01,$90,$01,$90,$01,$8e,$01,$8b,$01,$8c // ................
        .byte $0b,$8c,$01,$8b,$01,$8b,$01,$8c,$01,$8c,$01,$8c,$01,$8b,$01,$8b // ................
        .byte $01,$8c,$01,$8e,$01,$8b,$01,$8c,$0b,$8c,$01,$8e,$01,$8b,$01,$8c // ................
        .byte $0b,$90,$01,$8e,$01,$8e,$01,$90,$01,$90,$01,$8e,$01,$8b,$01,$8c // ................
        .byte $0b,$8c,$01,$8b,$01,$8b,$01,$8c,$01,$8c,$01,$8c,$01,$8b,$01,$8b // ................
        .byte $01,$8c,$01,$8e,$01,$8b,$01,$8c,$0b,$8c,$01,$8e,$01,$8b,$01,$8c // ................

scr_1800:
        // === Screen RAM (1024 bytes, $1800-$1bff) ===
        .encoding "screencode_mixed"
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $90                                   // scrcode: .
        .text "a"
        .byte $90                                   // scrcode: .
        .text "a@@"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $90                                   // scrcode: .
        .text "aaaaa"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $8c                                   // scrcode: .
        .text "k"
        .byte $8c                                   // scrcode: .
        .text "a"
        .byte $8e                                   // scrcode: .
        .text "a"
        .byte $8b                                   // scrcode: .
        .text "a"
        .byte $84                                   // scrcode: .
        .text "aaa@"
        .byte $ff,$74                               // scrcode: ..
        .text "w"
        .byte $80                                   // scrcode: .
        .text "@@@@rs"
        .text "rtrsru"
        .byte $80                                   // scrcode: .
        .encoding "petscii_upper"

dat_187f:
        // === Fill data (39 bytes, $187f-$18a5) ===
        .fill 39, $02
        .encoding "screencode_mixed"
        .text "nmmmmjj"
        .byte $97                                   // scrcode: .
        .text "aaaaa"
        .byte $93                                   // scrcode: .
        .text "a"
        .byte $95                                   // scrcode: .
        .text "a"
        .byte $92                                   // scrcode: .
        .text "a"
        .byte $93                                   // scrcode: .
        .text "a"
        .byte $95                                   // scrcode: .
        .text "a"
        .byte $92                                   // scrcode: .
        .text "a@@@@@@@@@@@@@"
        .byte $ff,$71                               // scrcode: ..
        .text "xmmmmvvvvvvvwffxyz"
        .byte $1b                                   // scrcode: .
        .text "xyz"
        .byte $1c,$8c                               // scrcode: ..
        .text "hiffhiffjldo"
        .byte $80                                   // scrcode: .
        .text "bbf"
        .text "fbbbbbbbbbbbbb@@"
        .byte $ff,$cf                               // scrcode: ..
        .text "x"
        .byte $a0,$df,$ff,$e1,$c0,$a3,$83           // scrcode: .......
        .text "m"
        .byte $83                                   // scrcode: .
        .text "m"
        .byte $81                                   // scrcode: .
        .text "m"
        .byte $83                                   // scrcode: .
        .text "m"
        .byte $83                                   // scrcode: .
        .text "m"
        .byte $83                                   // scrcode: .
        .text "m"
        .byte $81                                   // scrcode: .
        .text "m"
        .byte $81                                   // scrcode: .
        .text "m"
        .byte $81                                   // scrcode: .
        .text "m"
        .byte $81                                   // scrcode: .
        .text "m"
        .byte $81                                   // scrcode: .
        .text "m"
        .byte $ff,$83                               // scrcode: ..
        .text "q"
        .byte $83                                   // scrcode: .
        .text "q"
        .byte $81                                   // scrcode: .
        .text "q"
        .byte $83                                   // scrcode: .
        .text "q"
        .byte $83                                   // scrcode: .
        .text "q"
        .byte $83                                   // scrcode: .
        .text "q"
        .byte $81                                   // scrcode: .
        .text "q"
        .byte $81                                   // scrcode: .
        .text "q"
        .byte $81                                   // scrcode: .
        .text "q"
        .byte $81                                   // scrcode: .
        .text "o"
        .byte $81                                   // scrcode: .
        .text "o"
        .byte $ff,$fe,$a7,$83                       // scrcode: ....
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $a6                                   // scrcode: .
        .byte $85                                   // scrcode: .
        .text "z"
        .byte $a7,$83                               // scrcode: ..
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $83                                   // scrcode: .
        .text "z"
        .byte $a6,$83                               // scrcode: ..
        .text "z"
        .byte $a7,$81                               // scrcode: ..
        .text "z"
        .byte $a6,$81                               // scrcode: ..
        .text "z"
        .byte $a7,$83                               // scrcode: ..
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $a6,$85                               // scrcode: ..
        .text "z"
        .byte $a7,$83                               // scrcode: ..
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $83                                   // scrcode: .
        .text "z"
        .byte $a6,$81                               // scrcode: ..
        .text "z"
        .byte $a7,$83                               // scrcode: ..
        .text "z"
        .byte $a6,$81                               // scrcode: ..
        .text "z"
        .byte $ff,$a1,$80                           // scrcode: ...
        .text "!"
        .byte $fd,$1e                               // scrcode: ..
        .text "e"
        .byte $fd,$1f                               // scrcode: ..
        .text "e"
        .byte $fc,$fd,$1f                           // scrcode: ...
        .text "e"
        .byte $fd,$1f                               // scrcode: ..
        .text "e"
        .byte $ff,$df,$df,$ff,$cf,$a8,$83           // scrcode: .......
        .text ":"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $ff,$a8,$8f                           // scrcode: ...
        .text "5"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $83                                   // scrcode: .
        .text "3"
        .byte $87                                   // scrcode: .
        .text "3"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $87                                   // scrcode: .
        .text "5"
        .byte $87                                   // scrcode: .
        .text "7"
        .byte $87                                   // scrcode: .
        .text "8"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $87                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $87                                   // scrcode: .
        .text "8"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $ff,$a1,$80                           // scrcode: ...
        .text "!"
        .byte $fd,$1e                               // scrcode: ..
        .text "e"
        .byte $fd,$1f                               // scrcode: ..
        .text "e"
        .byte $fd,$1f                               // scrcode: ..
        .text "e"
        .byte $fd,$1f                               // scrcode: ..
        .text "e"
        .byte $fd                                   // scrcode: .
        .text "oe"
        .byte $fc,$cf,$ff,$a8,$87                   // scrcode: .....
        .text "5"
        .byte $87                                   // scrcode: .
        .text ")"
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $87                                   // scrcode: .
        .text "."
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $87                                   // scrcode: .
        .text ")"
        .byte $93                                   // scrcode: .
        .text "'"
        .byte $87                                   // scrcode: .
        .text "'"
        .byte $87                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $a9,$83                               // scrcode: ..
        .text "?"
        .byte $81,$41,$83                           // scrcode: ...
        .text "<"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

spr_1a00:
        .encoding "screencode_mixed"
        .text ":"
        .byte $8b                                   // scrcode: .
        .text "5"
        .byte $a8,$87                               // scrcode: ..
        .text ")"
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $87                                   // scrcode: .
        .text "."
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $87                                   // scrcode: .
        .text ")"
        .byte $93                                   // scrcode: .
        .text "'"
        .byte $83                                   // scrcode: .
        .text "'"
        .byte $8b                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text ","
        .byte $83                                   // scrcode: .
        .text "."
        .byte $8b                                   // scrcode: .
        .text ","
        .byte $87                                   // scrcode: .
        .text ","
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $85                                   // scrcode: .
        .text "1"
        .byte $85                                   // scrcode: .
        .text "1"
        .byte $83                                   // scrcode: .
        .text "1"
        .byte $8b                                   // scrcode: .
        .text "3"
        .byte $83                                   // scrcode: .
        .text "1"
        .byte $85                                   // scrcode: .
        .text "0"
        .byte $85                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text ","
        .byte $93                                   // scrcode: .
        .text "0"
        .byte $87                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text "1"
        .byte $87                                   // scrcode: .
        .text "3"
        .byte $87                                   // scrcode: .
        .text "0"
        .byte $9f                                   // scrcode: .
        .text ","
        .byte $c7,$87                               // scrcode: ..
        .encoding "petscii_upper"

spr_1a40:
        .encoding "screencode_mixed"
        .text ")"
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $8b                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text ")"
        .byte $8b                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text ","
        .byte $9f                                   // scrcode: .
        .text "+"
        .byte $ff,$a1,$93                           // scrcode: ...
        .text "0"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "<"
        .byte $83                                   // scrcode: .
        .text ":"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $ff,$c1,$a2,$81                       // scrcode: ....
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $85                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $85                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $85                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $83                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $83                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "$"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "$"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text "$"
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ")"
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text ","
        .byte $81                                   // scrcode: .
        .text "."
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $ff,$a1,$80                           // scrcode: ...
        .text ","
        .byte $fd,$8e                               // scrcode: ..
        .text "n"
        .byte $85                                   // scrcode: .
        .text ","
        .byte $85                                   // scrcode: .
        .text "."
        .byte $86                                   // scrcode: .
        .text ","
        .byte $fd,$85,$40,$c6,$85                   // scrcode: .....
        .text "+"
        .byte $85                                   // scrcode: .
        .text ","
        .byte $83                                   // scrcode: .
        .text "."
        .byte $93                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $83                                   // scrcode: .
        .text "."
        .byte $8f                                   // scrcode: .
        .text ","
        .byte $85                                   // scrcode: .
        .text ","
        .byte $85                                   // scrcode: .
        .text ","
        .byte $83                                   // scrcode: .
        .text "1"
        .byte $8f                                   // scrcode: .
        .text "0"
        .byte $85                                   // scrcode: .
        .text "1"
        .byte $85                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $93                                   // scrcode: .
        .text "."
        .byte $83                                   // scrcode: .
        .text "+"
        .byte $83                                   // scrcode: .
        .text ","
        .byte $83                                   // scrcode: .
        .text "."
        .byte $87                                   // scrcode: .
        .text "."
        .byte $87                                   // scrcode: .
        .text "+"
        .byte $87                                   // scrcode: .
        .text ","
        .byte $83                                   // scrcode: .
        .text "1"
        .byte $9f                                   // scrcode: .
        .text "0"
        .byte $fc,$c4,$ff,$a7,$87                   // scrcode: .....
        .text "z"
        .byte $87                                   // scrcode: .
        .text "z"
        .byte $87                                   // scrcode: .
        .text "z"
        .byte $87                                   // scrcode: .
        .text "z"
        .byte $ff,$a7,$83                           // scrcode: ...
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $a6,$85                               // scrcode: ..
        .text "z"
        .byte $a7,$83                               // scrcode: ..
        .text "z"
        .byte $81                                   // scrcode: .
        .text "z"
        .byte $83                                   // scrcode: .
        .text "z"
        .byte $a6,$83                               // scrcode: ..
        .text "z"
        .byte $a7,$81                               // scrcode: ..
        .text "z"
        .byte $a6,$81                               // scrcode: ..
        .text "z"
        .byte $ff,$de,$ff,$e1,$c0,$a3,$83,$1d,$1d,$1d // scrcode: ..........
        .byte $81,$1d,$83,$1d,$1d,$1d,$81,$1b,$1b,$1b,$ff,$83,$1d,$1d,$1d,$81 // scrcode: ................
        .byte $1d,$91,$1d,$ff,$fe,$a2,$81           // scrcode: .......
        .text ".0003"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

txt_1bc7:
        .text "535.00335"
        .encoding "screencode_mixed"
        .byte $ff,$81                               // scrcode: ..
        .text ".0003"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

txt_1bda:
        .text "588775535"
        .encoding "screencode_mixed"
        .byte $ff,$81                               // scrcode: ..
        .text ".0003"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

txt_1bed:
        .text "53300..,,"
        .encoding "screencode_mixed"
        .byte $ff,$81                               // scrcode: ..
        .text ".0003"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $81                                   // scrcode: .
        .text "5"
        .byte $a1,$83                               // scrcode: ..
        .text ":<:8"
        .byte $ff,$a7,$87                           // scrcode: ...
        .text "z"
        .byte $a6                                   // scrcode: .
        .text "z"
        .byte $a7                                   // scrcode: .
        .text "z"
        .byte $a6                                   // scrcode: .
        .text "z"
        .byte $ff,$a7,$87                           // scrcode: ...
        .text "z"
        .byte $a6                                   // scrcode: .
        .text "z"
        .byte $a7,$83                               // scrcode: ..
        .text "z"
        .byte $a6,$81                               // scrcode: ..
        .text "zz"
        .text "zzzz"
        .byte $ff,$a2,$81                           // scrcode: ...
        .text "55"
        .byte $83                                   // scrcode: .
        .text "53"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text "335"
        .byte $81                                   // scrcode: .
        .text "030"
        .byte $ff,$83                               // scrcode: ..
        .text "335"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text "773"
        .byte $81                                   // scrcode: .
        .text "030"
        .byte $ff,$81                               // scrcode: ..
        .text "5"
        .text "5"
        .byte $83                                   // scrcode: .
        .text "53"
        .byte $81                                   // scrcode: .
        .text "0"
        .byte $83                                   // scrcode: .
        .text "335"
        .byte $81                                   // scrcode: .
        .text "030"
        .byte $ff,$81                               // scrcode: ..
        .text "55"
        .byte $83                                   // scrcode: .
        .text "35"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $81                                   // scrcode: .
        .text "53577"
        .byte $83                                   // scrcode: .
        .text "8"
        .byte $ff,$81                               // scrcode: ..
        .text "55"
        .byte $83                                   // scrcode: .
        .text "35"
        .byte $81                                   // scrcode: .
        .text "3"
        .byte $83                                   // scrcode: .
        .text "5"
        .byte $81                                   // scrcode: .
        .text "53588"
        .byte $83                                   // scrcode: .
        .text "7"
        .byte $ff                                   // scrcode: .
        .text "z"
        .byte $84,$90,$44                           // scrcode: ...
        .text "zd"
        .byte $90,$c4                               // scrcode: ..
        .text "xl@q"
        .byte $81                                   // scrcode: .
        .text "qp@"
        .byte $48                                   // scrcode: .
        .text "@@l"
        .byte $48                                   // scrcode: .
        .text "hj(h8h"
        .text "(hh(@q"
        .encoding "petscii_upper"

// --- Region $1ca1-$1cad ---
.pc = $1ca1 "dat_1ca1"

dat_1ca1:
        .byte $80,$40,$80,$10,$40,$80,$08,$03,$38,$02,$01,$00,$11 // .@..@...8....

// --- Region $1cd8-$1cff ---
.pc = $1cd8 "dat_1cd8"

dat_1cd8:
        .byte $00,$00,$00,$02,$02,$0a,$02,$0a,$0a,$07,$0a,$07,$02,$01,$07,$01 // ................
        .byte $01,$07,$01,$07,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 8, $00

// --- Region $1d60-$1d68 ---
.pc = $1d60 "Segment $1d60"
        .byte $4c,$bc,$fe,$4c,$bc,$fe,$4c,$bc,$fe   // L..L..L..

// --- Region $1e1f-$1e2e ---
.pc = $1e1f "dat_1e1f"

dat_1e1f:
        .byte $f5,$a2,$00,$8a,$9d,$f8,$05,$e8,$e0,$11,$d0,$f8,$aa,$9d,$00,$06 // ................

// --- Region $1e51-$1edf ---
.pc = $1e51 "Segment $1e51"
        .byte $02,$01,$02,$02,$04,$02,$02,$02,$01,$02,$02,$02,$04,$02,$02,$02 // ................
        .byte $01,$02,$02,$02,$04,$02,$02,$01,$02,$02,$02,$02,$04,$02,$02,$01 // ................
        .byte $02,$02,$02,$02,$04,$00,$a9,$02,$01,$02,$02,$02,$03,$02,$02,$00 // ................
        .byte $00,$00,$7a,$00,$05,$00,$04,$00,$00,$0b,$0c,$0f,$01,$0f,$0c,$0b // ..z.............
        .byte $00,$02,$02,$0a,$02,$0a,$0a,$0a,$07,$0a,$07,$07,$01,$0a,$01,$01 // ................
        .byte $0a,$01,$07,$07,$0a,$07,$0a,$0a,$02,$0a,$02,$02,$00,$0b,$0c,$0f // ................
        .byte $01,$0f,$0c,$0b,$00,$00,$00,$0b,$00,$0b,$0c,$00,$0b,$0c,$0f,$00 // ................
        .byte $0b,$0c,$0f,$01,$00,$00,$0b,$0b,$0c,$0f,$01,$01,$03,$0e,$06,$06 // ................
        .byte $00,$00,$01,$03,$0e,$06,$00,$03,$0e,$06,$00,$0e,$06,$00,$06 // ...............

// --- Region $1ff3-$220f ---
.pc = $1ff3 "Segment $1ff3"
        .byte $16,$8d,$88,$1e,$60,$00,$00,$00,$00,$00,$00,$00,$00 // ....`........

spr_2000:
        // === Charset data (528 bytes, $2000-$220f) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$2a,$aa,$aa,$a9,$95,$55       // char 1 @+1
        .byte $00,$00,$aa,$aa,$aa,$55,$55,$55       // char 2 @+2
        .byte $00,$00,$aa,$aa,$aa,$56,$55,$55       // char 3 @+3
        .byte $00,$00,$a0,$a8,$aa,$aa,$6a,$5a       // char 4 @+4
        .byte $00,$00,$00,$00,$00,$00,$80,$80       // char 5 @+5
        .byte $00,$00,$00,$02,$02,$02,$02,$0a       // char 6 @+6
        .byte $a9,$a9,$a5,$a5,$a5,$a5,$a5,$95       // char 7 @+7

spr_2040:
        .byte $55,$55,$55,$55,$55,$55,$55,$55       // char 8 @+8
        .byte $5a,$56,$56,$56,$55,$55,$55,$55       // char 9 @+9
        .byte $80,$a0,$a0,$a0,$a0,$a0,$a0,$a0       // char 10 @+10
        .byte $0a,$0a                               // char 11 (partial)

txt_205a:
        .byte $2a,$2a,$2a,$a9,$a9,$a9               // char 11 (partial)
        .byte $95,$95                               // char 12 (partial)

txt_2062:
        .byte $55,$55,$55,$55,$55,$55               // char 12 (partial)
        .byte $55,$56,$56,$56,$56,$56,$5a,$5a       // char 13 @+13
        .byte $a0,$a0,$a0,$a0,$a0,$80,$80,$80       // char 14 @+14
        .byte $00,$02,$02,$02,$0a,$0a,$0a,$2a       // char 15 @+15
        .byte $a9,$a5,$a5,$a5,$95,$95,$95           // char 16 (partial)

txt_2087:
        .byte $55                                   // char 16 (partial)
        .byte $55,$55,$55,$55,$56,$56,$56,$56       // char 17 @+17
        .byte $55,$55,$55,$aa,$aa,$aa,$a5,$a5       // char 18 @+18

txt_2098:
        .byte $55,$55,$55,$aa,$aa,$aa               // char 19 (partial)

txt_209e:
        .byte $55,$55                               // char 19 (partial)
        .byte $55,$55,$55,$aa,$aa,$aa               // char 20 (partial)

txt_20a6:
        .byte $56,$56                               // char 20 (partial)
        .byte $55,$55,$55,$a5,$a5,$a5               // char 21 (partial)

txt_20ae:
        .byte $55,$55                               // char 21 (partial)
        .byte $55,$55,$55,$55,$55,$55,$55,$56       // char 22 @+22
        .byte $5a,$6a,$6a,$6a,$a8,$a8,$a0,$a0       // char 23 @+23

spr_20c0:
        .byte $80,$00,$00,$00,$00,$00,$00,$00       // char 24 @+24
        .byte $00,$00,$00,$00,$00,$00,$02,$02       // char 25 @+25

txt_20d0:
        .byte $2a,$2a,$2a,$a9,$a9,$a9,$a5,$a5       // char 26 @+26
        .byte $5a,$5a,$5a,$6a,$6a,$6a,$6a,$a9       // char 27 @+27
        .byte $95,$95,$95                           // char 28 (partial)

txt_20e3:
        .byte $55,$55,$55,$55,$55                   // char 28 (partial)
        .byte $5a,$5a,$5a,$5a,$6a,$6a,$6a,$a9       // char 29 @+29
        .byte $a5,$95,$95,$95                       // char 30 (partial)

txt_20f4:
        .byte $55,$55,$55,$55                       // char 30 (partial)
        .byte $56,$56,$56,$5a,$5a,$5a,$6a,$6a       // char 31 @+31
        .byte $a0,$a0,$80,$80,$80,$80,$00,$00       // char 32 ' '
        .byte $02,$0a,$0a,$0a,$0a                   // char 33 (partial)

txt_210d:
        .byte $2a,$2a,$2a                           // char 33 (partial)
        .byte $a5,$95,$95,$95,$95                   // char 34 (partial)

txt_2115:
        .byte $55,$55,$55                           // char 34 (partial)
        .byte $55,$55,$56,$56,$56,$55,$55,$55       // char 35 '#'
        .byte $a9,$a9,$a5,$a5,$a5                   // char 36 (partial)

txt_2125:
        .byte $55,$55,$55                           // char 36 (partial)
        .byte $55,$55,$56,$56,$56,$5a,$5a,$5a       // char 37 '%'
        .byte $a9,$a9,$a5,$a5,$a5,$95,$95,$95       // char 38 '&'

txt_2138:
        .byte $55,$55,$55,$55,$55,$55,$55,$5a       // char 39 '''
        .byte $55,$55,$55,$56,$56,$5a,$6a,$aa       // char 40 '('
        .byte $aa,$a8,$a8,$a8,$a0,$a0,$80,$80       // char 41 ')'
        .byte $00,$00,$00,$02,$02,$02,$0a,$0a       // char 42 '*'
        .byte $a9,$a9,$a9,$a5,$a5,$a5,$95,$95       // char 43 '+'
        .byte $6a,$6a,$6a,$a9,$a9,$a9,$a9,$a5       // char 44 ','

txt_2168:
        .byte $55,$56,$56,$56,$5a,$5a,$5a,$6a       // char 45 '-'
        .byte $aa,$aa,$aa,$a0,$80,$80,$80,$00       // char 46 '.'
        .byte $aa,$aa,$aa,$00,$00,$00,$00,$00       // char 47 '/'
        .byte $aa,$a8,$80,$00,$00,$00,$00,$00       // char 48 '0'
        .byte $56,$56,$5a,$5a,$5a,$6a,$6a,$6a       // char 49 '1'
        .byte $a5,$a5,$95,$95,$95                   // char 50 (partial)

txt_2195:
        .byte $55,$55,$55                           // char 50 (partial)
        .byte $55,$55,$55,$55,$55,$56,$56,$56       // char 51 '3'
        .byte $6a,$6a,$a8,$a8,$a8,$a0,$a0,$a0       // char 52 '4'
        .byte $02,$02,$02,$02,$02,$02,$02,$00       // char 53 '5'
        .byte $a9,$a9,$a5,$a5,$a5,$a9,$aa,$aa       // char 54 '6'

txt_21b8:
        .byte $55,$55,$55,$55,$55,$55,$aa,$aa       // char 55 '7'

txt_21c0:
        .byte $55,$55,$55,$55,$56,$56,$aa,$aa       // char 56 '8'
        .byte $a9,$a9,$a9,$a9,$a5,$a5,$aa,$aa       // char 57 '9'

txt_21d0:
        .byte $55,$55,$55,$55,$55,$56,$aa,$aa       // char 58 ':'
        .byte $5a,$5a,$5a,$6a,$6a,$aa,$a8,$a8       // char 59 ';'
        .byte $80,$80,$80,$80,$00,$00,$00,$00       // char 60 '<'
        .byte $2a,$00,$00,$00,$00,$00,$00,$00       // char 61 '='
        .byte $aa,$00,$00,$00,$00,$00,$00,$00       // char 62 '>'
        .byte $a0,$00,$00,$00,$00,$00,$00,$00       // char 63 '?'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 64 '@'
        .byte $00,$00,$00,$00,$02,$0a,$2a,$2a       // char 65 'A'

// --- Region $22e0-$22e8 ---
.pc = $22e0 "chr_22e0"

chr_22e0:
        // === Charset data (9 bytes, $22e0-$22e8) ===
        .byte $20,$74,$22,$20,$67,$10,$4c,$88       // char 0 @+0
        .byte $2c                                   // char 1 (partial)

// --- Region $22fe-$23c9 ---
.pc = $22fe "Segment $22fe"
        .byte $00,$00,$d2,$d2,$d3,$d3               // char 0 (partial)
        .byte $d4,$d4,$d4,$d5,$d5,$d5,$d6,$d6       // char 1 @+1
        .byte $d7,$d7,$d7,$d7,$d6,$d5,$d5,$d5       // char 2 @+2
        .byte $d4,$d4,$d4,$d3,$d3,$d2,$d2,$d1       // char 3 @+3
        .byte $d1,$d1,$d1,$d1,$d2,$d0,$d0,$d0       // char 4 @+4
        .byte $d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0       // char 5 @+5
        .byte $02,$02,$00,$00,$00,$07,$01,$02       // char 6 @+6
        .byte $07,$0a,$07,$0a,$0a,$02,$0a,$02       // char 7 @+7
        .byte $02,$00,$00,$00                       // char 8 (partial)

spr_2340:
        .byte $00,$00,$00,$02                       // char 8 (partial)
        .byte $02,$0a,$02,$02,$0a,$00,$00,$00       // char 9 @+9
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 10 @+10
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 11 @+11
        .byte $00,$d0,$d0,$d0,$06,$00,$06,$06       // char 12 @+12
        .byte $00,$09,$00,$00,$09,$02,$00,$09       // char 13 @+13
        .byte $02,$08,$00,$02,$02,$08,$0a,$00       // char 14 @+14
        .byte $02,$08,$0a,$0f,$00,$09,$09,$02       // char 15 @+15
        .byte $08,$0a,$02,$08,$0a,$0f,$07,$01       // char 16 @+16
        .byte $00,$09,$02,$08,$0f,$0d,$0f,$05       // char 17 @+17
        .byte $02,$06,$00,$01,$01,$0d,$0f,$05       // char 18 @+18
        .byte $06,$00,$0d,$0f,$05,$04,$04,$02       // char 19 @+19
        .byte $06,$06,$00,$0f,$05,$04,$04,$06       // char 20 @+20
        .byte $00,$05,$04,$02,$06,$00,$04,$02       // char 21 @+21
        .byte $06,$00,$02,$06,$06,$05,$07,$00       // char 22 @+22
        .byte $09,$00,$00,$00,$00,$00,$00,$00       // char 23 @+23
        .byte $00,$00,$00,$00,$0f,$0c,$0f,$0c       // char 24 @+24
        .byte $0c,$0b,$0c,$0b,$0b                   // char 25 (partial)

dat_23c9:
        // === Fill data (1 bytes, $23c9-$23c9) ===
        .byte $00                                   // .

// --- Region $2400-$240c ---
.pc = $2400 "spr_2400"

spr_2400:
        .byte $08,$02,$09,$02                       // char 32 (partial)
        .byte $08,$0a,$07,$01,$01,$01,$07,$0a       // char 33 '!'
        .byte $08                                   // char 34 (partial)

// --- Region $2c8d-$2c96 ---
.pc = $2c8d "txt_2c8d"

txt_2c8d:
        .byte $20,$4c,$a4                           //  L.

txt_2c90:
        .byte $2c,$4c,$b8,$2c,$00,$00,$00           // ,L.,...

// --- Region $2e22-$2e2f ---
.pc = $2e22 "bmp_2e22"

bmp_2e22:
        // === Bitmap data (14 bytes, $2e22-$2e2f) ===
        .byte $09,$02,$08,$0a,$07,$01,$01,$07,$0a,$08,$02,$09,$00,$00 // ..............

// --- Region $2f82-$2fbf ---
.pc = $2f82 "dat_2f82"

dat_2f82:
        .byte $ad
        .byte $2f,$39,$8d                           // ..#.####..###..##...##.#
        .byte $2f,$05,$ad                           // ..#.####.....#.##.#.##.#
        .byte $4f,$39,$8d                           // .#..####..###..##...##.#
        .byte $4f,$05,$ad                           // .#..####.....#.##.#.##.#
        .byte $57,$39,$8d                           // .#.#.###..###..##...##.#
        .byte $57,$05,$ad                           // .#.#.###.....#.##.#.##.#
        .byte $77,$39,$8d                           // .###.###..###..##...##.#
        .byte $77,$05,$ad                           // .###.###.....#.##.#.##.#
        .byte $7f,$39,$8d                           // .#######..###..##...##.#
        .byte $7f,$05,$ad                           // .#######.....#.##.#.##.#
        .byte $9f,$39,$8d                           // #..#####..###..##...##.#
        .byte $9f,$05,$ad                           // #..#####.....#.##.#.##.#
        .byte $c7,$39,$8d                           // ##...###..###..##...##.#
        .byte $c7,$05,$ad                           // ##...###.....#.##.#.##.#
        .byte $c8,$39,$8d                           // ##..#.....###..##...##.#
        .byte $c8,$05,$ad                           // ##..#........#.##.#.##.#
        .byte $c9,$39,$8d                           // ##..#..#..###..##...##.#
        .byte $c9,$05,$ad                           // ##..#..#.....#.##.#.##.#
        .byte $ca,$39,$8d                           // ##..#.#...###..##...##.#
        .byte $ca,$05,$ad                           // ##..#.#......#.##.#.##.#
        .byte $cb                                   // sprite 0 padding

// --- Region $2ffe-$31d5 ---
.pc = $2ffe "bmp_2ffe"

bmp_2ffe:
        // === Bitmap data (472 bytes, $2ffe-$31d5) ===
        .byte $00,$00                               // ..

chr_3000:
        .fill 8, $00
        .byte $e9,$ea,$ea,$ea,$fa,$3e,$0f,$03,$ea,$ea,$eb,$e9,$ea,$fa,$3e,$0f // .....>........>.
        .byte $e9,$e9,$e9,$ea,$ea,$fa,$3e,$0f,$e9,$e9,$e9,$e9,$ea,$fa,$3e,$0f // ......>.......>.
        .byte $ea,$ea,$eb,$e9,$ea,$fa,$3e,$0f,$ea,$ea,$eb,$e9,$ea,$fa,$3e,$0f // ......>.......>.
        .byte $e9,$e9,$e9,$ea,$ea,$fa,$3e,$0f,$ea,$ea,$e9,$e9,$e9,$f9,$3d,$0d // ......>.......=.
        .byte $0e,$0e,$0e,$0e,$0e,$0f,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $ea,$ea,$e9,$e9,$e9,$f9,$3d,$0d,$e9,$e9,$e9,$e9,$e9,$f9,$3d,$0d // ......=.......=.
        .byte $e6,$e6,$e6,$ea,$ea,$fa,$3e,$0f,$e9,$ea,$ea,$ea,$ea,$fa,$3e,$0f // ......>.......>.
        .byte $e9,$e9,$e9,$ea,$ea,$fa,$3e,$0f,$ea,$ea,$ff,$d5,$ea,$fa,$3e,$0f // ......>.......>.
        .byte $e9,$e9,$e9,$ea,$ea,$fa,$3e,$0f,$ea,$ea,$ff,$d5,$ea,$fa,$3e,$0f // ......>.......>.
        .byte $ea,$ea,$eb,$e9,$ea,$fa,$3e,$0f,$0e,$0e,$0e,$d6,$ea,$fa,$3e,$0f // ......>.......>.
        .byte $e9,$e9,$e9,$e9,$e9,$f9,$3d,$0d,$ea,$e9,$e9,$e9,$e9,$f9,$3d,$0d // ......=.......=.
        .byte $e6,$e6,$e6,$e6,$e6,$f6,$3e,$0f,$3e,$fa,$ea,$e9,$e9,$f9,$3d,$0d // ......>.>.....=.
        .byte $fa,$ea,$e9,$e9,$e9,$f9,$3d,$0d,$0e,$0f,$03,$d5,$ea,$fa,$3e,$0f // ......=.......>.
        .fill 8, $00
        .byte $ea,$ea,$3a,$3a,$0e,$0e,$03,$03,$00,$00,$00,$00,$00,$00,$00,$00 // ..::............
        .byte $ea,$ea,$3a,$3a,$0e,$0e,$0e,$03,$ea,$ea,$3a,$3a,$0e,$0e,$03,$00 // ..::......::....
        .fill 8, $00
        .byte $0f,$0e,$3e,$3a,$fa,$ea,$ea,$ff,$d5,$e9,$e9,$e9,$e9,$e9,$e9,$ff // ..>:............
        .fill 8, $00
        .byte $3a,$3a,$e9,$e9,$3a,$3a,$0e,$03,$0e,$0e,$03,$d5,$e9,$e9,$e9,$fc // ::..::..........
        .text "::::"
        .byte $e9,$e9
        .byte $3a,$0f,$00,$00,$0d,$0e,$0f,$0e,$0e,$0f
        .byte $0e,$0e,$0e,$0e,$0f,$03,$03,$00,$0e,$0e,$0e
        .text ">::9="
        .byte $6a,$1a,$1a,$66,$16,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // j..f............
        .fill 8, $00
        .byte $3a,$3a,$3f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ::?.............
        .byte $3e,$0e,$0f,$03,$03,$00,$00,$00,$ea,$e9,$e9,$ea,$ea,$ea,$fa,$3f // >..............?
        .byte $0e,$0e
        .text ">::>"
        .byte $0f,$03,$0f,$03,$d5,$e9,$ea,$ea,$fa
        .byte $3f
        .byte $0e,$0e,$d7,$e9,$ea,$ea,$fa,$3f,$ea,$ea,$e9,$e9,$e9,$e9,$f9,$3d // .......?.......=
        .byte $ea,$ea,$eb,$e9,$ea,$ea,$fa,$3f,$ea,$ea,$eb,$e9,$ea,$ea,$fa,$3f // .......?.......?
        .byte $03,$03,$03,$d5,$ea,$ea,$fa,$3f,$fa,$ea,$eb,$e9,$ea,$ea,$fa,$3f // .......?.......?
        .byte $fa,$ea,$eb,$e9,$ea,$ea,$fa,$3f,$0d,$0e,$0e,$0e,$0f // .......?.....

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

// --- Region $31f8-$33d5 ---
.pc = $31f8 "dat_31f8"

dat_31f8:
        .byte $0e,$0f,$d7,$e9,$ea,$ea,$fa,$3f,$a9,$a4,$a4,$99,$94,$40,$00,$00 // .......?.....@..
        .byte $e9,$a9,$a9,$a9,$a9,$a9,$ad,$fc,$a5,$a9,$e9,$69,$a9,$a9,$ad,$fc // ...........i....
        .byte $00,$00                               // ..

txt_321a:
        .byte $40,$55,$a9,$a9,$a9,$fd,$e9,$e9,$e9,$a9,$a9,$a9,$a5,$f4,$a9,$a9 // @U..............
        .byte $fd,$55,$a9,$a9,$a9,$fd,$a9,$a9,$fd,$55,$a9,$a9,$a9,$fd,$a9,$a9 // .U.......U......
        .byte $fd,$55,$a9,$a9,$a9,$fd,$a9,$a9,$e9,$e9,$e9,$e9,$e9,$fd,$90,$90 // .U..............
        .byte $90,$90,$90,$90,$d0,$d0,$e9,$e9,$e9,$e9,$e9,$f9,$3d,$0d,$94,$a5 // ............=...
        .byte $a9,$e9,$e9,$e9,$e9,$fd,$00,$00,$00,$00,$00,$00,$00,$00,$69,$69 // ..............ii
        .byte $69,$a9,$a9,$a9,$e9,$fd,$a9,$a9,$a9,$a9,$e9,$e9,$e9,$fd,$e9,$e9 // i...............
        .byte $e9,$a9,$a9,$a9,$a5,$f4,$a9,$a9,$e9,$69,$a9,$a9,$a5,$f4,$e9,$e9 // .........i......
        .byte $e9,$a9,$a9,$a9,$a5,$f4,$a9,$a9,$e9,$69,$a9,$a9,$a5,$f4,$a9,$a5 // .........i......
        .byte $f4,$55,$a9,$a9,$a9,$fd,$90,$90,$90,$95,$a9,$a9,$a9,$fd,$e9,$e9 // .U..............
        .byte $e9,$e9,$e9,$e9,$e9,$fd,$a9,$e9,$e9,$e9,$e9,$e9,$e9,$fd,$69,$69 // ..............ii
        .byte $69,$69,$69,$69,$69,$ff,$94,$a5,$a9,$e9,$e9,$e9,$e9,$fd,$a5,$a9 // iiiii...........
        .byte $e9,$e9,$e9,$e9,$e9,$fd,$a4,$a5,$a9,$69,$a9,$a9,$a9,$fd,$00,$00 // .........i......
        .byte $00,$00,$00,$00,$00,$00,$a4,$a4       // ........

txt_32e2:
        .text "PDYY"
        .byte $a4,$f0,$00,$00,$00,$00,$00,$00,$00,$00,$a9,$a9
        .byte $a4,$a4,$90,$90,$90,$c0,$be,$be,$cf,$c0,$c0,$c0,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$a9,$a9,$a9,$a9,$a9,$a9,$a9,$fc,$d5,$e9 // ................
        .byte $e9,$e9,$e9,$e9,$e9,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$a4,$a4 // ................

txt_3322:
        .byte $50,$55,$aa,$aa,$95,$d0,$90,$90,$a4,$a4,$e9,$e9,$39,$3c,$94,$90 // PU..........9<..
        .byte $a4,$a4,$e9,$e9,$a4,$f4,$00,$00,$40,$50,$90,$90,$90,$d0,$90,$90 // ........@P......
        .byte $90,$94,$a4,$a4,$e4,$f4,$90,$90,$90,$90,$50,$40,$40,$00,$a9,$a4 // ..........P@@...
        .byte $a4,$99,$94,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ...@............
        .byte $00,$00,$00,$00,$00,$00,$a4,$a4,$f4,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$90,$94,$a4,$a5,$e9,$e9,$f9,$3d,$a9,$a9 // .............=..
        .byte $a9,$a9,$a9,$a9,$a5,$f4,$90,$90,$90,$90,$90,$90,$90,$d0,$a5,$a9 // ................
        .byte $e9,$69,$a9,$a9,$a5,$f4,$a5,$a9,$e9,$69,$a9,$a9,$a5,$f4,$a9,$a9 // .i.......i......
        .byte $a5,$a4,$a4,$f4,$00,$00,$a9,$a9,$fd,$55,$a9,$a9,$a9,$fd,$a9,$a9 // .........U......
        .byte $fd,$69,$a9,$a9,$a5,$f4,$a4,$a5,$e9,$69,$a9,$a9,$a9,$fd,$a5,$a9 // .i.......i......
        .byte $e9,$69,$a9,$a9,$a5,$f4,$a9,$a9,$e9,$69,$a9,$a9,$a5,$f4,$50,$90 // .i.......i....P.
        .byte $90,$90,$d0                           // ...

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

// --- Region $33f8-$35d8 ---
.pc = $33f8 "dat_33f8"

dat_33f8:
        .byte $a4,$a5,$a9,$69,$a9,$a9,$a5,$f4       // ...i....

spr_3400:
        .fill 8, $00
        .byte $d5,$e9,$e9,$e9,$e9,$ea,$ea,$e9,$d5,$ea,$ea,$ea,$ea,$eb,$e9,$ea // ................
        .byte $35,$3a,$fa,$ea,$ea,$ea,$e9,$e9,$d5,$ea,$ea,$ea,$ea,$e9,$e9,$e9 // 5:..............
        .byte $35,$3a,$fa,$ea,$ea,$eb,$e9,$ea,$d0,$d4,$e5,$e9,$e9,$e9,$e9,$ea // 5:..............
        .byte $35,$3a,$fa,$ea,$ea,$ea,$e9,$e9,$d5,$e9,$e9,$e9,$e9,$e9,$e9,$ea // 5:..............
        .byte $0d,$0d,$0e,$0e,$0e,$0e,$0e,$0e,$35,$3a,$fa,$ea,$ea,$e9,$e9,$fd // ........5:......
        .byte $d5,$e9,$e9,$e9,$e9,$e9,$e9,$ea,$35,$3a,$fa,$ea,$ea,$e9,$e9,$e9 // ........5:......
        .byte $d5,$e6,$e6,$e6,$e6,$e6,$e6,$e6,$d5,$e9,$e9,$e9,$e9,$e9,$e9,$e9 // ................
        .byte $35,$3a,$fa,$ea,$ea,$ea,$e9,$e9,$d0,$d4,$e5,$e9,$e9,$e9,$e9,$ea // 5:..............
        .byte $05,$39,$f9,$ea,$ea,$ea,$e9,$e9,$d5,$e9,$e9,$e9,$e9,$e9,$e9,$ea // .9..............
        .byte $d5,$ea,$ea,$ea,$ea,$ff,$35,$fa,$0d,$0d,$0e,$0e,$0e,$0e,$0e,$0e // ......5.........
        .byte $35,$3a,$fa,$ea,$ea,$ea,$e9,$e9,$0d,$0e,$0e,$0e,$3e,$3a,$3a,$fa // 5:..........>::.
        .byte $d5,$e9,$ea,$ea,$ea,$ea,$e6,$e6,$d5,$e9,$e9,$e9,$e9,$e9,$ea,$da // ................
        .byte $0d,$0e,$0e,$0e,$0e,$0e               // ......

txt_34ce:
        .byte $3e,$3a,$d5,$ea,$ea,$ea,$ea,$fa,$3a,$3e,$00,$00,$00,$00,$00,$00 // >:......:>......
        .byte $00,$00,$00,$d5,$ea,$ea,$e9,$39,$3a,$3a,$00,$00,$00,$00,$00,$00 // .......9::......
        .byte $00,$00,$03,$0e,$0e,$0e,$03,$03,$0e,$3e,$00,$01,$06,$06,$1a,$1a // .........>......
        .byte $ea,$ea,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $03,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$01,$0e,$0e,$3e,$ea,$ea,$ff,$0f,$00,$d0,$e4,$e4,$e9,$e9 // .....>..........
        .byte $3a,$3a,$00,$05,$3a,$ea,$e9,$e9,$e9,$e9,$00,$00,$00,$00,$00,$00 // ::..:...........
        .byte $00,$00,$00,$00,$03,$03,$0f,$0e,$0e,$0e,$00
        .text "59::>"
        .byte $0e,$0e,$00,$00,$01,$16,$66,$1a,$1a,$6a,$00,$00,$00,$00,$00,$00 // ......f..j......
        .byte $00,$00,$0d,$0e,$0f,$0e,$0e,$0f,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $35,$3a,$00,$0d,$0e,$0e,$0e,$0f,$00,$00,$d0,$d4,$e4,$e5,$e9,$e9 // 5:..............
        .byte $fa,$3a,$35,$3a,$fa,$ea,$ea,$ea,$ea,$ea // .:5:......

txt_3588:
        .text "5::::>"
        .byte $0e,$0e,$d5,$ea,$ea,$ea,$ea,$ea,$fa
        .byte $3e
        .byte $35,$3a,$fa,$ea,$ea,$eb,$fd,$0e,$03,$03,$03,$03,$03,$03,$35,$fa // 5:............5.
        .byte $35,$3a,$fa,$ea,$ea,$eb,$d5,$ea,$35,$3a,$fa,$ea,$ea,$eb,$e9,$ea // 5:......5:......
        .byte $0d,$0e,$0e,$0e,$0e,$0e,$0e,$0f,$35,$3a,$fa,$ea,$ea,$eb,$e9,$ea // ........5:......
        .byte $35,$3a,$fa,$ea,$ea,$eb,$fd,$3a,$00,$00,$00,$0d,$0e,$0e,$0e,$0f // 5:.....:........

dat_35d8:
        // === Fill data (1 bytes, $35d8-$35d8) ===
        .byte $00                                   // .

// --- Region $35f8-$37ff ---
.pc = $35f8 "dat_35f8"

dat_35f8:
        .byte $0d,$0e,$0e,$0e,$0e,$0f,$0d,$0e,$00,$00,$40,$94,$99,$a4,$a4,$a9 // ..........@.....
        .byte $d0,$d4,$e5,$e9,$e9,$a9,$a9,$e9,$50,$94,$a5,$a9,$a9,$e9,$69,$a9 // ........P.....i.
        .byte $50,$94,$a5,$a9,$a9,$fd,$c0,$00,$50,$94,$a5,$a9,$a9,$a9,$e9,$e9 // P.......P.......
        .byte $50,$94,$a5,$a9,$a9,$fd,$55,$a9,$00,$00,$00,$00,$00,$00,$55,$a9 // P.....U.......U.
        .byte $50,$94,$a5,$a9,$a9,$e9,$e9,$a9,$d0,$d4,$e5,$e9,$e9,$e9,$e9,$a9 // P...............
        .byte $00,$40,$50,$90,$90,$90,$90,$90,$50,$94,$a5,$a9,$a9,$e9,$e9,$e9 // .@P.....P.......
        .byte $d0,$d4,$e5,$e9,$e9,$e9,$a9,$a5,$50,$94,$a5,$a9,$a9,$fd,$00,$00 // ........P.......
        .byte $50,$54,$65,$69,$69,$69,$69,$69,$d0,$d4,$e5,$e9,$e9,$e9,$e9,$a9 // PTeiiiii........
        .byte $50,$94,$a5,$a9,$a9,$a9,$e9,$e9,$00,$00,$00,$00,$00,$00,$54,$a5 // P.............T.
        .byte $55,$e9,$e5,$69,$a9,$a9,$e9,$e9,$d0,$d4,$e5,$e9,$e9,$a9,$a5,$a5 // U..i............
        .byte $50,$94,$a5,$a9,$a9,$e9,$69,$a9,$00,$40,$50,$90,$90,$90,$90,$90 // P.....i..@P.....
        .byte $50,$94,$a5,$a9,$a9,$a9,$e9,$e9,$50,$90,$90,$90,$94,$a4,$a4,$a5 // P.......P.......
        .byte $50,$d4,$a5,$a9,$a9,$a9,$69,$69,$d0,$d4,$e5,$e9,$e9,$e9,$a9,$ad // P.....ii........
        .byte $50,$90,$90,$90,$90,$90,$94,$a4,$50,$94,$a5,$a9,$a9,$fd,$90,$94 // P.......P.......
        .fill 9, $00
        .byte $50,$a4,$a4,$59,$19,$44,$50,$00,$00,$00,$00,$00,$00,$00,$00,$40 // P..Y.DP........@
        .byte $90,$90,$90,$90,$90,$90,$94,$00,$00   // .........

txt_36fa:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "U"
        .byte $aa,$aa,$00,$00,$00,$00,$00,$00,$00,$00,$15,$e9
        .byte $e9,$3c,$00,$d5,$a9,$a9,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // .<..............
        .byte $00,$00,$00,$00,$00,$00,$40,$90,$90,$90,$a4,$a4,$e9,$e9,$00,$d5 // ......@.........
        .byte $e9,$e9,$e9,$e9,$7c,$40,$00,$54,$a9,$a9,$e4,$e4,$e9,$e9,$00,$00 // ....|@.T........
        .byte $00,$00,$00,$00,$00,$00,$00,$d4,$e4,$a4,$a4,$94,$90,$90,$00,$00 // ................
        .byte $40,$40,$50,$90,$90,$90,$00,$00,$40,$94,$99,$a4,$a4,$a9,$00,$00 // @@P.....@.......
        .byte $00,$00,$00,$00,$00,$00,$40,$50,$90,$90,$90,$d0,$00,$00,$00,$00 // ......@P........
        .byte $00,$00,$00,$00,$54,$a4,$00,$50,$90,$90,$90,$d0,$00,$00,$00,$00 // ....T..P........
        .byte $00,$00,$00                           // ...

txt_377d:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "PT"
        .byte $a4,$a9,$a9,$a9,$a9,$e9,$e9
        .byte $54,$a4,$a4,$a4,$a4
        .byte $94,$90,$90,$55,$a9,$a9,$a9,$a9,$fd,$94,$a4,$54,$a4,$a9,$a9,$a9 // ...U.......T....
        .byte $e9,$69,$a9,$54,$a4,$a4,$a4,$a4,$a4,$a5,$a9,$54,$a4,$a9,$a9,$a9 // .i.T.......T....
        .byte $e9,$69,$a9,$54,$a4,$a9,$a9,$a9,$e9,$69,$a9,$50,$90,$90,$90,$90 // .i.T.....i.P....
        .byte $90,$94,$a4,$54,$a4,$a9,$a9,$a9,$e9,$69,$a9,$54,$a4,$a9,$a9,$a9 // ...T.....i.T....
        .byte $e9,$69,$a9,$00,$00,$00,$50,$90,$90,$90,$d0 // .i....P....

txt_37d8:
        .fill 8, $20
        .byte $07,$47,$12,$52,$01,$41,$06,$46,$06,$46,$09,$49,$14,$54,$09,$49 // .G.R.A.F.F.I.T.I
        .byte $20,$0d,$4d,$01,$41,$0e               //  .M.A.

txt_37f6:
        .text "N         "

// --- Region $386d-$39f5 ---
.pc = $386d "bmp_386d"

bmp_386d:
        // === Bitmap data (393 bytes, $386d-$39f5) ===
        .byte $00,$00,$00,$50,$90,$90,$90,$90,$d0,$50,$94,$00,$00,$00,$00,$00 // ...P.....P......
        .byte $00,$00,$00,$00,$00,$41,$01,$02,$02,$02,$02,$02,$02,$02,$02,$02 // .....A..........
        .fill 8, $02
        .byte $03,$04,$05,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$06,$07,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08 // ................
        .fill 9, $08
        .byte $09,$0a,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$0b,$0c,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08,$08 // ................
        .fill 8, $08
        .byte $0d,$0e,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$0f,$10,$08,$08,$08,$11,$12,$13,$13,$13,$14,$12,$13,$13 // ................
        .byte $13,$13,$13,$15,$08,$08,$08,$16,$17,$18,$00,$00,$00,$00,$00,$00 // ................
        .fill 9, $00
        .byte $19,$1a,$08,$08,$08,$08,$1b,$1c,$08,$08,$08,$1d,$1e,$08,$08,$08 // ................
        .byte $08,$08,$08,$08,$08,$08,$1f,$20,$00,$00,$00,$00,$00,$00,$00,$00 // ....... ........
        .fill 8, $00
        .byte $21,$22,$08,$08,$08,$23,$24,$08,$08,$08,$25,$26,$08,$08,$08,$08 // !"...#$...%&....
        .byte $08,$08,$08,$08,$27,$28,$29,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ....'().........
        .byte $00,$00,$00,$00,$00,$00,$00,$2a,$2b,$08,$08,$08,$08,$08,$08,$08 // .......*+.......
        .byte $08,$16,$2c,$08,$08,$08,$08           // ..,....

txt_397e:
        .byte $2d,$2e                               // -.

spr_3980:
        .text "////0"
        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
        .byte $00,$00,$00,$00,$00,$00,$0b,$0c,$08,$08,$08,$08,$08,$08,$08,$08 // ................
        .byte $31,$32,$08,$08,$08,$33,$34,$00,$00,$00,$00,$00,$00,$00,$00,$00 // 12...34.........
        .fill 13, $00

txt_39bd:
        .text "567777777789777:"
        .byte $3b,$3c,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ;<..............
        .fill 9, $00

txt_39e6:
        .text "=>>>>>>>>>>>>>>?"

// --- Region $3e3c-$3e68 ---
.pc = $3e3c "Segment $3e3c"
        .byte $a9,$34,$85,$01,$a0,$ff,$a2,$00,$bd,$8d,$40,$9d,$01,$08,$9d,$00 // .4........@.....
        .byte $06,$e8,$d0,$f4,$ee,$0b,$04,$ee,$0e,$04,$ac,$0b,$04,$d0,$e7,$ea // ................
        .byte $ea,$ea,$a9,$37,$85,$01,$58,$20,$e2,$fc,$4c,$ae,$a7 // ...7..X ..L..

// --- Region $3e7a-$3e81 ---
.pc = $3e7a "bmp_3e7a"

bmp_3e7a:
        // === Bitmap data (8 bytes, $3e7a-$3e81) ===
        .byte $07,$2a,$10                           // .*.

txt_3e7d:
        .text " 1988"

// --- Region $3ea7-$408c ---
.pc = $3ea7 "Segment $3ea7"
        .byte $c8,$b0,$c1,$c1,$c1,$b6,$b7,$b7,$b7,$cf,$dd,$dd,$dd,$dd,$dd,$cf // ................
        .byte $d3,$b8,$c3,$d6,$c2,$cf,$b6,$b4,$bd,$b4,$c2,$b8,$c2,$cf,$bf,$c1 // ................
        .byte $be,$b9,$b4,$b2,$c3,$cf,$b0,$b6,$b0,$b8,$bd,$cf,$dd,$dd,$dd,$dd // ................
        .byte $dd,$cf,$cf,$cf,$cf,$c3,$b7,$b8,$c2,$cf,$c3,$b8,$bc,$b4,$cf,$c6 // ................
        .byte $b8,$c3,$b7,$cf,$c3,$b7,$b4,$cf,$b2,$c1,$b0,$b2,$ba,$cf,$be,$b5 // ................
        .byte $cf,$d6,$b6,$c1,$b0,$b5,$b5,$b8,$c3,$b8,$cf,$bc,$b0,$bd,$d6,$cf // ................
        .byte $dd,$dd,$dd,$cf,$cf,$c3,$b7,$b8,$c2,$cf,$b6,$b0,$bc,$b4,$cf,$c1 // ................
        .byte $b4,$b0,$bb,$bb,$c8,$cf,$c2,$c4,$b2,$ba,$c2,$dd,$dd,$dd,$dd,$cf // ................
        .byte $cf,$cf,$bb,$be,$be,$ba,$cf,$b0,$bb,$c2,$be,$cf,$be,$c4,$c3,$cf // ................
        .byte $b5,$be,$c1,$cf,$be,$c4,$c1,$cf,$b2,$c1,$b0,$b2,$ba,$c2,$cf,$be // ................
        .byte $b5,$cf,$d6,$b4,$bd,$b5,$be,$c1,$b2,$b4,$c1,$d6,$cf,$db,$cf,$d6 // ................
        .byte $c3,$c8,$bf,$b7,$be,$be,$bd,$d6,$cf,$b0,$bd,$b3,$cf,$c3,$c6,$be // ................
        .byte $cf,$be,$c3,$b7,$b4,$c1,$cf,$b2,$c1,$b0,$bf,$dc,$b6,$b0,$bc,$b4 // ................
        .byte $c2,$cf,$dd,$dd,$dd,$dd,$cf,$cf,$cf,$cf,$cf,$b8,$b5,$cf,$c8,$be // ................
        .byte $c4,$cf,$c6,$b0,$bd,$c3,$cf,$c3,$be,$cf,$b2,$be,$bd,$c3,$b0,$b2 // ................
        .byte $c3,$cf,$b6,$bf,$db,$cf,$c6,$c1,$b8,$c3,$b4,$cf,$c3,$be,$cf,$e9 // ................
        .byte $cf,$bf,$bb,$ba,$cf,$df,$e3,$df,$df,$df,$e2,$cf,$b1,$cf,$dd,$dd // ................
        .byte $be,$c1,$dd,$dd,$cf,$bf,$bb,$ba,$cf,$df,$e0,$e6,$e4,$e5,$e1,$cf // ................
        .byte $b2,$cf,$dd,$dd,$dd,$cf,$cf,$b1,$be,$c3,$b7,$cf,$b8,$bd,$cf,$e5 // ................
        .byte $e1,$e2,$e3,$cf,$b7,$b0,$c3,$c3,$b4,$c1,$c2,$b7,$b4,$b8,$bc,$cf // ................
        .byte $dd,$dd,$dd,$cf,$be,$b5,$dc,$b2,$be,$c9,$cf,$b8,$bd,$cf,$be,$c4 // ................
        .byte $c1,$cf,$bb,$be,$c5,$b4,$bb,$c8,$cf,$c6,$b4,$c2,$c3,$dc,$b6,$b4 // ................
        .byte $c1,$bc,$b0,$bd,$c8,$cf,$dd,$dd,$dd,$cf,$cf,$cf,$cf,$cf,$bd,$be // ................
        .byte $cf,$c3,$b8,$bc,$b4,$cf,$c3,$be,$cf,$c6,$c1,$b8,$c3,$b4,$cf,$bc // ................
        .byte $be,$c1,$b4,$db,$cf,$c3,$b7,$b4,$c1,$b4,$cf,$b0,$c1,$b4,$cf,$c2 // ................
        .byte $c3,$b8,$bb,$bb,$cf,$e2,$cf,$b6,$b0,$bc,$b4,$c2,$cf,$c3,$be,$cf // ................
        .byte $b2,$c1,$b0,$b2,$ba,$cf,$dd,$dd,$dd,$dd,$dd,$cf,$cf,$cf,$cf,$cf // ................
        .byte $b4,$bd,$b9,$be,$c8,$cf,$c3,$b7,$b8,$c2,$cf,$b6,$b0,$bc,$b4,$cf // ................
        .byte $b0,$bd,$b3,$cf,$c2,$c3,$b0,$c8,$cf,$b2,$be,$be,$bb,$cf,$dd,$dd // ................
        .byte $dd,$dd,$dd,$dd,$cf,$cf,$cf,$cf,$cf,$cf,$cf,$cf,$cf,$cf,$cf,$cf // ................
        .byte $cf,$cf,$cf,$cf,$cf,$af               // ......
