// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:18
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $359f  (11680 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $080d (2061)
// IRQ handler:  $0893 (nmi_0893)
// IRQ handler:  $099b (irq_099b)
// IRQ handler:  $09d9 (irq_09d9)
// IRQ handler:  $0a0d (irq_0a0d)
// IRQ handler:  $0a52 (irq_0a52)
// IRQ handler:  $0b00 (irq_0b00)
//
// Code: 3402 bytes, Data: 8278 bytes
// Labels: 272, Subroutines: 18
//
// Cross-references: all OK
// ============================================


// --- Region $080d-$08ad ---
.pc = $080d "main_080d"

main_080d:
        jsr $e544
        ldx #$00

loc_0812:
        lda $b0,x
        sta $2fd3,x
        inx
        cpx #$10
        bne loc_0812
        ldx #$00
        lda #$00

loc_0820:
        sta dat_2c00,x
        inx
        bne loc_0820
        jsr $ff81
        lda #$00
        sta $d020
        sta $d021
        ldx #$00

loc_0833:
        lda chr_2800,x
        sta $0400,x
        lda $2900,x
        sta $d800,x
        inx
        cpx #$c8
        bne loc_0833
        ldx #$00

loc_0846:
        lda #$0f
        sta $d8f0,x
        sta $d968,x
        sta $da30,x
        inx
        cpx #$50
        bne loc_0846
        jsr sub_0dbe
        lda #$00
        sta $bf
        lda #$00
        jsr sub_1003
        sei
        lda #$35
        sta $01
        lda #$01
        sta $d01a
        sta $dc0d
        lda #$93
        sta $fffa
        lda #$08
        sta $fffb
        lda #$9b
        sta $fffe
        lda #$09
        sta $ffff
        cli

loc_0884:
.label smc_0885 = * + 1
        lda #$01                                    // !SMC: modified by $088d, $0c29
        bne loc_0884
        jsr sub_0d26
        lda #$01
        sta smc_0885                                // SMC: modifies $0885
        jmp loc_0884
// Referenced by: jmp from $09c7

nmi_0893:
        lda #$37
        sta $01
        jsr $e518
        jsr $fd15
        jsr $fda3
        jsr $ff81
        lda #$00
        sta $d020
        sta $d011
        jmp $fce2

// --- Region $0915-$0ae7 ---
.pc = $0915 "sub_0915"

// Referenced by: jsr from $0b09
sub_0915: {
        ldy $d012
        iny
loop1:
        cpy $d012
        bne loop1
        ldx #$0a
loop2:
        dex
        bne loop2
        iny
        cpy $d012
        beq skip1
        bit $ea
        nop
skip1:
        ldx #$09
loop3:
        dex
        bne loop3
        nop
        nop
        nop
        iny
        cpy $d012
        beq skip2
        bit $ea
skip2:
        ldx #$0a
loop4:
        dex
        bne loop4
        nop
        iny
        cpy $d012
        bne done
done:
        rts
}

// Referenced by: jsr from $0a1e
sub_0949: {
        ldx $0997
        jsr sub_0982
        lda $d012
        clc
        adc #$27
loop1:
        cmp $d012
        bne loop1
        lda #$28
        sbc $0997
        tax
        jsr sub_0982
        ldx dat_0996
loop2:
        lda txt_2b00,x
        cmp #$ff
        bne skip
        ldx #$00
        stx dat_0996
        jmp $0966
skip:
        sta $0997
        lda dat_0996
        clc
        adc #$04
        sta dat_0996
        rts
}
// Referenced by: jsr from $094c, $0960; branch from $0993

sub_0982:
        lda $d012
        tay
        and #$07
        ora #$38

loc_098a:
        cpy $d012
        beq loc_098a
        sta $d011
        dex
        bne sub_0982
        rts

dat_0996:
        .byte $f0,$21,$01,$00,$18                   // .!...
irq_099b: {
        sta $0998
        sty $0999
        stx $099a
        asl $d019
        lda #$1b
        sta $d011
        lda #$d8
        sta $d016
        lda #$18
        sta $d018
        lda #$d9
        sta $fffe
        lda #$09
        sta $ffff
        lda $dc01
        cmp #$ef
        bne skip
        jmp nmi_0893
skip:
        lda #$20
        sta $d012
        lda $0998
        ldy $0999
        ldx $099a
        rti
}

irq_09d9:
        sta $0998
        sty $0999
        stx $099a
        asl $d019
        lda #$1b
        sta $d011
        lda #$d8
        sta $d016
        lda #$18
        sta $d018
        lda #$0d
        sta $fffe
        lda #$0a
        sta $ffff
        lda #$30
        sta $d012
        lda $0998
        ldy $0999
        ldx $099a
        rti

irq_0a0d:
        sta $0998
        sty $0999
        stx $099a
        asl $d019
        lda #$18
        sta $d018
        jsr sub_0949
        lda #$1b
        sta $d011
        lda #$1c
        sta $d018
        lda #$00
        sta $d021
        lda dat_0ca6
        sta $d016
        jsr sub_0c77
        lda #$52
        sta $fffe
        lda #$0a
        sta $ffff
        lda #$9c
        sta $d012
        lda $0998
        ldy $0999
        ldx $099a
        rti

irq_0a52:
        sta $0998
        sty $0999
        stx $099a

loc_0a5b:
        asl $d019
        lda #$1b
        sta $d011
        lda #$1c
        sta $d018
        lda $0ca7
        sta $d016
        lda #$f0
        sta $d015
        lda #$0f
        sta $d02e
        sta $d02d
        sta $d02c
        sta $d02b
        lda #$b0
        sta $07fc
        lda #$b1
        sta $07fd
        lda #$b2
        sta $07fe
        lda #$b3
        sta $07ff
        lda #$c8
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        lda #$d0
        sta $d010
        lda #$e0
        clc
        adc dat_0dc7
        sta $d008
        lda #$00
        clc
        adc dat_0dc7
        sta $d00a
        lda #$58
        clc
        adc dat_0dc7
        sta $d00c
        lda #$70
        clc
        adc dat_0dc7
        sta $d00e
        jsr sub_0c48
        lda #$00
        sta $fffe
        lda #$0b
        sta $ffff
        lda #$c4
        sta $d012
        lda $0998
        ldy $0999
        ldx $099a
        rti

// --- Region $0b00-$0ca6 ---
.pc = $0b00 "irq_0b00"

irq_0b00:
        sta $0998
        sty $0999
        stx $099a
        jsr sub_0915
        ldy #$06

loc_0b0e:
        dey
        bne loc_0b0e
        bit $ff
        nop
        bit $ff
.label smc_0b17 = * + 1
        lda #$c4                                    // !SMC: modified by $0d39
.label smc_0b19 = * + 1
        ldx #$cc                                    // !SMC: modified by $0d41
        sta $d016
        stx $d016
        ldy #$04

loc_0b22:
        dey
        bne loc_0b22
        nop
        bit $ff
        ldy #$00
        sty $d021
        nop
        bit $ffff
        nop
        bit $ffff
        sta $d016
        stx $d016
        ldy #$08

loc_0b3d:
        dey
        bne loc_0b3d
        bit $ff
        sta $d016
        stx $d016
        sta $d016,y
        stx $d016
        ldy #$08

loc_0b50:
        dey
        bne loc_0b50
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0b5d:
        dey
        bne loc_0b5d
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0b6a:
        dey
        bne loc_0b6a
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0b77:
        dey
        bne loc_0b77
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0b84:
        dey
        bne loc_0b84
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0b91:
        dey
        bne loc_0b91
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0b9e:
        dey
        bne loc_0b9e
        bit $ff
        sta $d016
        stx $d016
        sta $d016,y
        stx $d016
        ldy #$08

loc_0bb1:
        dey
        bne loc_0bb1
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0bbe:
        dey
        bne loc_0bbe
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0bcb:
        dey
        bne loc_0bcb
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0bd8:
        dey
        bne loc_0bd8
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0be5:
        dey
        bne loc_0be5
        bit $ff
        sta $d016
        stx $d016
        ldy #$08

loc_0bf2:
        dey
        bne loc_0bf2
        bit $ff
        sta $d016
        stx $d016
        ldy #$06

loc_0bff:
        dey
        bne loc_0bff
        nop
        nop
        nop
        nop
        sta $d016
        stx $d016
        sta $d016,y
        stx $d016
        ldy #$08

loc_0c14:
        dey
        bne loc_0c14
        bit $ff
        sta $d016
        stx $d016
        lda #$00
        sta $d021
        jsr sub_1000
        lda #$00
        sta smc_0885                                // SMC: modifies $0885
        asl $d019
        lda #$9b
        sta $fffe
        lda #$09
        sta $ffff
        lda #$02
        sta $d012
        lda $0998
        ldy $0999
        ldx $099a
        rti
// Referenced by: jsr from $0acc

sub_0c48:
.label smc_0c49 = * + 1
        ldy #$78                                    // !SMC: modified by $0c73
        lda $2a00,y
        tax
        eor #$ff
        and #$07
        sta dat_0ca6
        txa
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_0c5c:
        lda txt_0ca8,y
        sta $04f0,x
        ora #$40
        sta $0518,x
        iny
        inx
        cpx #$28
        bne loc_0c5c
        lda smc_0c49
        clc
        adc #$02
        sta smc_0c49                                // SMC: modifies $0c49
        rts
// Referenced by: jsr from $0a36

sub_0c77:
.label smc_0c78 = * + 1
        ldy #$5d                                    // !SMC: modified by $0ca2
        lda $2a00,y
        tax
        eor #$ff
        and #$07
        sta $0ca7
        txa
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_0c8b:
        lda $0ce7,y
        sta $0568,x
        ora #$40
        sta $0590,x
        iny
        inx
        cpx #$28
        bne loc_0c8b
        lda smc_0c78
        clc
        adc #$02
        sta smc_0c78                                // SMC: modifies $0c78
        rts

dat_0ca6:
        .byte $05                                   // .

// --- Region $0d26-$0dc6 ---
.pc = $0d26 "sub_0d26"
// Referenced by: jsr from $0888

sub_0d26:
        lda $bf
        sec
        sbc #$02
        and #$07
        sta $bf
        sta dat_0dc7
        bcc loc_0d45
// Referenced by: jsr from $0d45

sub_0d34:
        lda #$c0
        clc
        adc $bf
        sta smc_0b17                                // SMC: modifies $0b17
        lda #$c8
        clc
        adc $bf
        sta smc_0b19                                // SMC: modifies $0b19
        rts

loc_0d45:
        jsr sub_0d34
        lda $2fc8
        sta $2fc7
        lda $2fc9
        sta $2fc8
        lda $2fca
        sta $2fc9
        lda $2fcb
        sta $2fca
        lda $2fcc
        sta $2fcb
        lda $0630
        sta $2fcc
        ldx #$00

loc_0d6e:
        lda $0631,x
        sta $0630,x
        eor #$40
        sta $0658,x
        inx
        cpx #$27
        bne loc_0d6e
        lda $2fcd
        sta $0657
        eor #$40
        sta $067f
        lda $2fce
        sta $2fcd
        lda $2fcf
        sta $2fce
        lda $2fd0
        sta $2fcf
        lda $2fd1
        sta $2fd0
        lda $2fd2
        sta $2fd1
        ldy #$00
        lda ($b0),y
        sta $2fd2
        jsr sub_2d00
        ldy #$00
        lda ($b0),y
        beq sub_0dbe
        inc $b0
        bne loc_0dbd
        inc $b1

loc_0dbd:
        rts
// Referenced by: jsr from $0856; branch from $0db5

sub_0dbe:
        lda #$64
        sta $b0
        lda #$34
        sta $b1
        rts

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

sub_1000:
        jmp loc_103d
// Referenced by: jsr from $085f

sub_1003:
        jmp loc_1049

txt_1006:
        .text "M"

// --- Region $103d-$1101 ---
.pc = $103d "loc_103d"

loc_103d:
        lda $18bd
        cmp #$01
        beq loc_10b6
        cmp #$02
        bne loc_1082
        .byte $02                                   // jam // ILLEGAL

loc_1049:
        tax
        lda $1048,x
        sta $18fc
        txa
        sta $1932
        ldx #$00
        asl
        asl
        clc
        adc $1932
        adc $1932
        tay

loc_1060:
        lda $1768,y
        sta $1762,x
        iny
        inx
        cpx #$06
        bne loc_1060
        ldy #$00
        lda $1932
        asl
        adc $1932
        tax

loc_1076:
        lda $18be,y
        sta $18be,y
        inx
        iny
        cpy #$03
        bne loc_1076

loc_1082:
        ldx #$02
        lda #$00

loc_1086:
        sta $18e7,x
        sta $18e1,x
        sta $18de,x
        sta $18d5,x
        sta $1936,x
        sta $18d8,x
        sta $1939,x
        sta $18db,x
        dex
        bpl loc_1086
        lda #$1f
        sta smc_10b7                                // SMC: modifies $10b7
        lda #$01
        sta $18bd
        ldx #$18
        lda #$00

loc_10af:
        sta $d400,x
        dex
        bpl loc_10af
        rts

loc_10b6:
.label smc_10b7 = * + 1
        lda #$1f                                    // !SMC: modified by $10a3, $14c9, $1505
        sta $d418
        ldx #$02
        stx $18c3
        dec $18f9
        bpl loc_10cb
        lda $18fc
        sta $18f9

loc_10cb:
        lda $18d1,x
        sta $18d4
        lda $18f9
        cmp $18fc
        bne loc_10f8
        txa
        asl
        tay
        lda $1762,y
        sta $14
        lda $1763,y
        sta $15
        dec $18db,x
        bpl loc_10ee
        jmp loc_14b2

loc_10ee:
        lda $191a,x
        beq loc_10f8
        lda #$fe
        sta $18ea,x

loc_10f8:
        lda $18e7,x
        asl
        asl
        asl
        tay
.label spr_1100 = * + 1
        sty $18ff

// --- Region $1140-$1686 ---
.pc = $1140 "Segment $1140"
        clc

loc_1141:
        lda $18ce,x
        cmp #$ff
        beq loc_1166
        dec $18ce,x
        lda $18ce,x
        cmp #$ff
        bne loc_11ac
        lda $18cb,x
        and #$fe
        sta $18cb,x
        lda $18cb,x
        and #$7f
        lsr
        sta $18c5,x
        jmp loc_11ac

loc_1166:
        lda $18c5,x
        bpl loc_118d
        clc
        lda $1933,x
        adc $18c8,x
        sta $1933,x
        lda $18f6,x
        adc #$00
        sta $18f6,x
        dec $18c5,x
        bmi loc_11ac
        lda $18cb,x
        and #$7f
        sta $18c5,x
        jmp loc_11ac

loc_118d:
        sec
        lda $1933,x
        sbc $18c8,x
        sta $1933,x
        lda $18f6,x
        sbc #$00
        sta $18f6,x
        dec $18c5,x
        bpl loc_11ac
        lda $18cb,x
        ora #$80
        sta $18c5,x

loc_11ac:
        lda $18f2
        beq loc_1206
        ldy $18ff
        lda $1771,y
        and #$0f
        sta smc_11d4                                // SMC: modifies $11d4
        lda $190a,x
        bne loc_11de
        lda $1911,x
        clc
        adc $18f2
        sta $1911,x
        lda $1914,x
        adc #$00
        sta $1914,x
.label smc_11d4 = * + 1
        cmp #$00                                    // !SMC: modified by $11b9
        bne loc_11f7
        lda #$01
        sta $190a,x
        bne loc_11f7

loc_11de:
        lda $1911,x
        sec
        sbc $18f2
        sta $1911,x
        lda $1914,x
        sbc #$00
        sta $1914,x
        bne loc_11f7
        lda #$00
        sta $190a,x

loc_11f7:
        ldy $18d4
        lda $1914,x
        sta $d403,y
        lda $1911,x
        sta $d402,y

loc_1206:
        lda $1939,x
        beq loc_126f
        lda $192e,x
        beq loc_124a
        clc
        lda $1933,x
        adc $192d
        sta $1933,x
        lda $18f6,x
        adc #$00
        sta $18f6,x
        cmp txt_1929,x
        beq loc_122b
        bcs loc_1237
        bcc loc_126f

loc_122b:
        lda $1933,x
        cmp $1926,x
        beq loc_1237
        bcs loc_1237
        bcc loc_126f

loc_1237:
        lda $1926,x
        sta $1933,x
        lda txt_1929,x
        sta $18f6,x
        lda #$00
        sta $1939,x
        beq loc_126f

loc_124a:
        sec
        lda $1933,x
        sbc $192d
        sta $1933,x
        lda $18f6,x
        sbc #$00
        sta $18f6,x
        cmp txt_1929,x
        beq loc_1265
        bcc loc_1237
        bcs loc_126f

loc_1265:
        lda $1933,x
        cmp $1926,x
        beq loc_1237
        bcc loc_1237

loc_126f:
        ldy $18ff
        lda $191a,x
        cmp #$02
        bcc loc_1287
        lda $176e,y
        pha

loc_127d:
        lda $18f6,x
        pha
        lda $1933,x
        jmp loc_1299

loc_1287:
        lda $1775,y
        and #$f0
        clc
        adc #$01
        pha
        cmp #$81
        bne loc_127d
        lda #$c0
        pha
        lda #$00

loc_1299:
        sta $1904,x
        pla
        sta $1901,x
        pla
        sta $18e1,x
        lda $190d
        cmp #$0f
        bne loc_12ea
        lda $1907,x
        sec
        sbc $18db,x
        cmp #$01
        bcc loc_12cd
        lda $1773,y
        cmp #$80
        bcs loc_12d0
        sta $192c
        lda $18f6,x
        clc
        adc $192c
        sta $1901,x
        sta $18f6,x

loc_12cd:
        jmp loc_1409

loc_12d0:
        sec
        sbc #$80
        sta $192c
        lda $18f6,x
        sec
        sbc $192c
        cmp #$0a
        bcc loc_12cd
        sta $1901,x
        sta $18f6,x
        jmp loc_1409

loc_12ea:
        lda $190d
        and #$02
        beq loc_1357
        lda $191a,x
        cmp #$02
        bcs loc_1319
        ldy $18ff
        lda $1949
        sta $18c2
        lda $1774,y
        pha
        and #$0f
        sta $1948
        sta $18c1
        pla
        and #$f0
        clc
        adc #$0f
        sta $194a
        sta $18c4

loc_1319:
        lda $194b,x
        sta $d417
        lda $18c1
        bne loc_132c
        lda $18c2
        bne loc_133e
        jmp loc_1361

loc_132c:
        dec $18c1
        lda $18c4
        clc
        adc #$06
        sta $18c4
        sta $d416
        jmp loc_1361

loc_133e:
        dec $18c2
        lda #$00
        cmp $18c4
        bcs loc_1361
        lda $18c4
        sec
        sbc #$06
        sta $18c4
        sta $d416
        jmp loc_1361

loc_1357:
        dec $18c3
        bpl loc_1361
        lda #$f0
        sta $d417

loc_1361:
        lda $190d
        and #$04
        beq loc_13c1
        lda $1773,y
        cmp #$20
        bcs loc_1379
        lda #$00
        sta smc_13b0                                // SMC: modifies $13b0
        sta smc_13b8                                // SMC: modifies $13b8
        beq loc_138d

loc_1379:
        lda $18e4,x
        asl
        tay
        lda $166e,y
        sta smc_13b8                                // SMC: modifies $13b8
        lda $166f,y
        sta smc_13b0                                // SMC: modifies $13b0
        ldy $18ff

loc_138d:
        lda $1773,y
        asl
        asl
        asl
        sta $193c
        tya
        pha
        lda $191a,x
        cmp #$09
        bcs loc_13bc
        clc
        adc $193c
        tay
        dey
        lda $181e,y
        sta $18e1,x
        lda $1806,y
        clc
.label smc_13b0 = * + 1
        adc #$00                                    // !SMC: modified by $1371, $1387
        sta $1901,x
        lda #$00
        clc
.label smc_13b8 = * + 1
        adc #$00                                    // !SMC: modified by $1374, $1381
        sta $1904,x

loc_13bc:
        pla
        tay
        jmp loc_1409

loc_13c1:
        lda $190d
        and #$08
        beq loc_1409
        lda $1773,y
        beq loc_13de
        pha
        lsr
        lsr
        lsr
        lsr
        sta $1924
        pla
        and #$0f
        sta $1925
        jmp loc_13e7

loc_13de:
        lda #$0c
        sta $1924
        asl
        sta $1925

loc_13e7:
        dec $191d
        bpl loc_13f1
        lda #$02
        sta $191d

loc_13f1:
        ldy $191d
        lda $18e4,x
        clc
        adc $1923,y
        asl
        tay
        lda $166e,y
        sta $1904,x
        lda $166f,y
        sta $1901,x

loc_1409:
        ldy $18d4
        lda $1901,x
        sta $d401,y
        lda $1904,x
        sta $d400,y
        lda $18e1,x
        and $18ea,x
        sta $d404,y
        inc $191a,x
        dex
        bmi loc_1468
        jmp loc_10cb
// Referenced by: jsr from $1605

sub_142a:
        lda $176f,x
        and #$10
        bne loc_147b
        lda $176f,x
        and #$0f
        asl
        asl
        asl
        asl
        sta smc_1454                                // SMC: modifies $1454
        txa
        tay
        ldx $18ef
        lda $1942,x
        beq loc_1469
        cmp #$01
        beq loc_145b
        lda $193f,x
        cmp #$10
        bcc loc_1468
        sec
.label smc_1454 = * + 1
        sbc #$10                                    // !SMC: modified by $143a
        sta $193f,x
        jmp loc_1465

loc_145b:
        lda $193f,x
        sec
        sbc $1774,y
        sta $193f,x

loc_1465:
        inc $1942,x

loc_1468:
        rts

loc_1469:
        lda $1770,y
        sta $193f,x
        jmp loc_1465
// Referenced by: jsr from $14e3, $14ef, $14fb, $1508

sub_1472:
        inc $18d5,x
// Referenced by: jsr from $14b2, $14cc

sub_1475:
        ldy $18d5,x
        lda ($14),y
        rts

loc_147b:
        lda $176f,x
        and #$0f
        asl
        asl
        asl
        asl
        sta smc_149e                                // SMC: modifies $149e
        txa
        tay
        ldx $18ef
        lda $1942,x
        beq loc_1469
        cmp #$01
        beq loc_14a5
        lda $193f,x
        cmp #$fe
        bcs loc_1468
        clc
.label smc_149e = * + 1
        adc #$10                                    // !SMC: modified by $1484
        sta $193f,x
        jmp loc_1465

loc_14a5:
        lda $193f,x
        clc
        adc $1774,y
        sta $193f,x
        jmp loc_1465

loc_14b2:
        jsr sub_1475
        cmp #$ff
        bne loc_14cf
        lda #$00
        sta $18db,x
        sta $18d8,x
        sta $18d5,x
        sta $18de,x
        lda #$1f
        sta smc_10b7                                // SMC: modifies $10b7
        jsr sub_1475

loc_14cf:
        cmp #$fe
        bne loc_14d9
        lda #$02
        sta $18bd
        rts

loc_14d9:
        cmp #$74
        bcc loc_14e6
        sec
        sbc #$80
        sta $1945,x
        jsr sub_1472

loc_14e6:
        cmp #$60
        bcc loc_14f2
        and #$0f
        sta $1936,x
        jsr sub_1472

loc_14f2:
        cmp #$50
        bcc loc_14fe
        and #$0f
        sta $18de,x
        jsr sub_1472

loc_14fe:
        cmp #$40
        bcc loc_150b
        sec
        sbc #$30
        sta smc_10b7                                // SMC: modifies $10b7
        jsr sub_1472

loc_150b:
        tay
        lda $18be,x
        beq loc_1519
        lda #$ff
        sta $18db,x
        jmp loc_1409

loc_1519:
        tya
        asl
        tay
        lda $1732,y
        sta $fe
        lda $1733,y
        sta $ff
        lda #$00
        sta $191a,x
        sta $1939,x
        lda #$ff
        sta $18ea,x
        ldy $18d8,x
        lda ($fe),y
        cmp #$ff
        bne loc_1547
        lda #$00
        sta $18d8,x
        inc $18d5,x
        jmp loc_1409

loc_1547:
        cmp #$e0
        bcc loc_1595
        and #$0f
        asl
        asl
        asl
        asl
        sta $192d
        lda #$01
        sta $1939,x
        lda $18e4,x
        sta smc_156c                                // SMC: modifies $156c
        jsr sub_15ad
        lda ($fe),y
        clc
        adc $1945,x
        sta $18f1
.label smc_156c = * + 1
        cmp #$15                                    // !SMC: modified by $155c
        bcc loc_1576
        lda #$01
        sta $192e,x
        bne loc_157b

loc_1576:
        lda #$00
        sta $192e,x

loc_157b:
        lda $1907,x
        sta $18db,x
        lda $18f1
        asl
        tay
        lda $166e,y
        sta $1926,x
        lda $166f,y
        sta txt_1929,x
        jmp loc_163f

loc_1595:
        jsr sub_159b
        jmp loc_15c1
// Referenced by: jsr from $1595

sub_159b:
        cmp #$c0
        bcc loc_15b3
        and #$1f
        clc
        adc $1936,x
        sta $18e7,x
        lda #$00
        sta $1942,x
// Referenced by: jsr from $155f

sub_15ad:
        inc $18d8,x
        iny
        lda ($fe),y

loc_15b3:
        cmp #$80
        bcc loc_15c0
        and #$3f
        sta $1907,x
        inc $18d8,x
        iny

loc_15c0:
        rts

loc_15c1:
        lda ($fe),y
        and #$7f
        clc
        adc $1945,x
        sta $18e4,x
        asl
        tay
        lda $166e,y
        sta $1933,x
        lda $166f,y
        sta $18f6,x
        lda $1907,x
        sta $18db,x
        txa
        sta $18ef
        tay
        lda $18e7,x
        asl
        asl
        asl
        tax
        lda $176e,x
        sta $18f0
        ldy $18d4
        lda $1772,x
        and #$0f
        sta $d403,y
        pha
        lda $1775,x
        and #$01
        beq loc_1618
        jsr sub_142a
        ldy $18d4
        lda $193f,x
        sta $d406,y
        lda #$00
        sta $d405,y
        beq loc_1627

loc_1618:
        lda $1770,x
        sta $d406,y
        lda $176f,x
        sta $d405,y
        ldx $18ef

loc_1627:
        lda #$00
        sta $d402,y
        sta $1911,x
        sta $190a,x
        sta $18f3,x
        pla
        sta $1914,x
        lda $18f0
        sta $18e1,x

loc_163f:
        inc $18d8,x
        ldy $18d8,x
        lda ($fe),y
        cmp #$ff
        bne loc_1663

loc_164b:
        lda #$00
        sta $18d8,x
        sta $1936,x
        lda $18de,x
        beq loc_165d
        dec $18de,x
        bne loc_1660

loc_165d:
        inc $18d5,x

loc_1660:
        jmp loc_1409

loc_1663:
        cmp #$fe
        bne loc_1660
        lda #$01
        sta $3007,x
        bne loc_164b
        asl $01,x
        .byte $27,$01                               // rla $01 // ILLEGAL
        and $4b01,y
        ora ($5f,x)
        ora ($74,x)
        ora ($8a,x)
        ora ($a1,x)
        ora ($ba,x)
        ora ($d4,x)
        ora ($f0,x)
        ora ($0e,x)
        .byte $02                                   // jam // ILLEGAL

dat_1686:
        .byte $2d                                   // -

// --- Region $2d00-$2d41 ---
.pc = $2d00 "sub_2d00"
// Referenced by: jsr from $0dae

sub_2d00:
        lda $2fd2
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$c8
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fd2
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$e0
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fd1
.label spr_2d40 = * + 1
        jsr sub_2fa7

// --- Region $2d80-$2fc5 ---
.pc = $2d80 "Segment $2d80"
        .byte $2f,$85,$b4                           // rla $b485 // ILLEGAL
        lda $2fc6
        sta $b5
        lda #$c6
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fd0
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$de
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcf
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$88
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcf
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$a0
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fce
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$87
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fce
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$9f
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcd
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$86
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcd
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$9e
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcc
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$48
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcc
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$60
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcb
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$47
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fcb
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$5f
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fca
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$46
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fca
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$5e
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fc9
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$08
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fc9
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$20
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fc8
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$07
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        lda $2fc8
        eor #$40
        jsr sub_2fa7
        lda chr_2fc5
        sta $b4
        lda $2fc6
        sta $b5
        lda #$1f
        sta smc_2f9c                                // SMC: modifies $2f9c
        lda #$2c
        sta smc_2f9d                                // SMC: modifies $2f9d
        jsr sub_2f95
        rts
// Referenced by: jsr from $2d1a, $2d39, $2d92, $2db1, $2dce, $2ded, $2e0a, $2e29

sub_2f95:
        ldx #$00
        ldy #$00

loc_2f99:
        lda ($b4),y
.label smc_2f9c = * + 1
.label smc_2f9d = * + 2
        sta $2c1f,x                                 // !SMC: modified by $2d12, $2d17, $2d31, $2d36, $2d4e, $2d53, $2d6d, $2d72, $2d8a, $2d8f, $2da9, $2dae, $2dc6, $2dcb, $2de5, $2dea, $2e02, $2e07, $2e21, $2e26, $2e3e, $2e43, $2e5d, $2e62, $2e7a, $2e7f, $2e99, $2e9e, $2eb6, $2ebb, $2ed5, $2eda, $2ef2, $2ef7, $2f11, $2f16, $2f2e, $2f33, $2f4d, $2f52, $2f6a, $2f6f, $2f89, $2f8e
        inx
        inx
        inx
        iny
        cpy #$08
        bne loc_2f99
        rts
// Referenced by: jsr from $2d03, $2d22, $2d3f, $2d9a, $2db7, $2dd6, $2df3, $2e12

sub_2fa7:
        sta chr_2fc5
        lda #$00
        sta $2fc6
        ldx #$03

loc_2fb1:
        clc
        rol chr_2fc5
        rol $2fc6
        dex
        bne loc_2fb1
        lda $2fc6
        clc
        adc #$30
        sta $2fc6
        rts

chr_2fc5:
        // === Bitmap data (1 bytes, $2fc5-$2fc5) ===
        .byte $00                                   // .

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

// --- Region $0800-$080c ---
.pc = $0800 "dat_0800"

dat_0800:
        .byte $2f,$e8,$10,$67,$f6,$6a
        .text "4K4,"
        .byte $e8,$d6,$fa

// --- Region $08ae-$08ae ---
.pc = $08ae "dat_08ae"

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

// --- Region $0ca7-$0d25 ---
.pc = $0ca7 "Program $0ca7"
        .byte $04                                   // .

txt_0ca8:
        .text "                    "
        .byte $10,$12,$0f,$15,$04,$0c,$19,$20,$10,$12,$05,$13,$05,$0e,$14,$13 // ....... ........

dat_0ccc:
        .text "                                             "

txt_0cf9:
        .encoding "screencode_mixed"
        .text "sceptre of baghdad"
        .encoding "petscii_upper"

txt_0d0b:
        .text "+2                        "
        .byte $00                                   // string terminator

// --- Region $0dc7-$0dc8 ---
.pc = $0dc7 "dat_0dc7"

dat_0dc7:
        // === Data block (2 bytes, $0dc7-$0dc8) ===
        .byte $04                                   // .

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

// --- Region $0f00-$0f12 ---
.pc = $0f00 "spr_0f00"

spr_0f00:
        .byte $85,$01,$a9,$00,$8d,$20,$d0,$8d,$21,$d0,$8d,$18,$d4,$8d,$11,$d0 // ..... ..!.......
        .byte $58,$60                               // X`

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

// --- Region $1007-$103c ---
.pc = $1007 "Segment $1007"
        .text "USIC BY SANKE M "
        .text "CHOE(SMC) OF P.L"
        .text ". PLAYER BY MS O"
        .text "F LOS."

// --- Region $1102-$113f ---
.pc = $1102 "dat_1102"

dat_1102:
        .byte $b9
        .byte $72,$17,$29                           // .###..#....#.###..#.#..#
        .byte $f0,$8d,$f2                           // ####....#...##.#####..#.
        .byte $18,$b9,$75                           // ...##...#.###..#.###.#.#
        .byte $17,$29,$0f                           // ...#.###..#.#..#....####
        .byte $8d,$0d,$19                           // #...##.#....##.#...##..#
        .byte $c9,$04,$b0                           // ##..#..#.....#..#.##....
        .byte $05,$b9,$73                           // .....#.##.###..#.###..##
        .byte $17,$d0,$03                           // ...#.#####.#..........##

loc_111b:
        .byte $4c,$ac,$11                           // .#..##..#.#.##.....#...#

loc_111e:
        .byte $bd,$1a,$19                           // #.####.#...##.#....##..#
        .byte $c9,$02,$b0                           // ##..#..#......#.#.##....
        .byte $1c,$ac,$ff                           // ...###..#.#.##..########
        .byte $18,$b9,$73                           // ...##...#.###..#.###..##
        .byte $17,$48,$29                           // ...#.###.#..#.....#.#..#
        .byte $0f,$9d,$cb                           // ....#####..###.###..#.##
        .byte $18,$68,$29                           // ...##....##.#.....#.#..#
        .byte $f0,$9d,$c8                           // ####....#..###.###..#...
        .byte $18,$b9,$71                           // ...##...#.###..#.###...#
        .byte $17,$4a,$4a                           // ...#.###.#..#.#..#..#.#.
        .byte $4a,$4a,$9d                           // .#..#.#..#..#.#.#..###.#
        .byte $ce                                   // sprite 0 padding

// --- Region $1687-$1c14 ---
.pc = $1687 "Segment $1687"
        .byte $02,$4e,$02,$71,$02,$96,$02,$be,$02,$e7,$02,$14,$03,$42,$03,$74 // .N.q.........B.t
        .byte $03,$a9,$03,$e0,$03,$1b,$04,$5a,$04,$9c,$04,$e2,$04,$2d,$05,$7b // .......Z.....-.{
        .byte $05,$cf,$05,$27,$06,$85,$06,$e8,$06,$51,$07,$c1,$07,$37,$08,$b4 // ...'.....Q...7..
        .byte $08,$38,$09,$c4,$09,$59,$0a,$f7,$0a,$9e,$0b,$4e,$0c,$0a,$0d,$d0 // .8...Y.....N....
        .byte $0d,$a2,$0e,$81,$0f,$6d,$10,$67,$11,$70,$12,$89,$13,$b2,$14,$ed // .....m.g.p......
        .byte $15,$3b,$17,$9d,$18,$14,$1a,$a0,$1b,$45,$1d,$03,$1f,$db,$20,$cf // .;.......E.... .
        .byte $22,$e1,$24,$12,$27,$65,$29,$db,$2b,$76 // ".$.'e).+v

txt_16f1:
        .text ".:1'4A7"
        .byte $8a,$3a,$05,$3e,$b5,$41,$9d,$45,$c1   // .:.>.A.E.

txt_1701:
        .text "I$N"
        .byte $c9                                   // 'I' | $80 (end-of-string marker)
        .byte $52,$b6,$57,$ed,$5c,$73,$62,$4e,$68,$82,$6e,$14,$75,$0a,$7c,$6a // R.W.\sbNh.n.u.|j
        .byte $83,$3b,$8b,$82,$93,$48,$9c,$93,$a5,$6b,$af,$da,$b9,$e7,$c3,$9c // .;...H...k......
        .byte $d0,$04,$dd,$28,$ea,$14,$f8,$00,$00,$00,$00,$00,$00,$4e,$19,$53 // ...(.........N.S
        .byte $19,$5a,$19,$6d,$19,$8b,$19,$a2,$19,$c6,$19,$f6,$19,$27,$1a,$28 // .Z.m.........'.(
        .byte $1a,$4f,$1a,$80,$1a,$99,$1a,$b0,$1a,$d4,$1a,$f4,$1a,$17,$1b,$38 // .O.............8
        .byte $1b,$4f,$1b,$78,$1b,$a1,$1b,$b6,$1b,$d8,$1b,$ee,$1b,$36,$18,$70 // .O.x.........6.p
        .byte $18,$8a,$18,$36,$18,$70,$18,$8a,$18,$00,$00,$00,$00,$00,$00,$00 // ...6.p..........
        .byte $00,$09,$01,$e8,$00,$08,$02,$00,$04,$17,$01,$ab,$00,$00,$00,$00 // ................
        .byte $80,$11,$01,$a9,$40,$36,$14,$00,$40,$17,$01,$ae,$00,$01,$00,$00 // ....@6..@.......
        .byte $40,$41,$01,$ae,$f8,$26,$14,$0f,$02,$41,$0b,$e8,$07,$43,$00,$51 // @A...&...A...C.Q
        .byte $52,$41,$05,$ee,$a7
        .text "C$QRA"
        .byte $0b,$e8,$07
        .byte $43,$00
        .byte $30
        .byte $52,$21,$01,$a9,$00,$00,$37,$00,$88,$21,$01,$a9,$00,$00,$47,$00 // R!....7..!....G.
        .byte $88,$21,$01,$a9,$00,$00,$46,$00,$88,$41,$01,$99,$0f,$60,$00,$00 // .!....F..A...`..
        .byte $80,$41,$01,$7e,$ff,$60,$35,$00,$80,$09,$01,$e8,$00,$08,$01,$71 // .A.~.`5........q
        .byte $05,$09,$0e,$e7,$00,$08,$01,$48,$06,$09,$01,$f8,$00,$08,$02,$71 // .......H.......q
        .byte $05,$41,$01,$99,$00,$35,$37,$20,$89,$41,$01,$99,$00,$35,$47,$20 // .A...57 .A...5G 
        .byte $89,$00,$00,$00,$00,$00,$00,$00,$00,$54,$0d // .........T.

txt_1810:
        .text "TTTTTTT"
        .byte $0a,$09,$08,$07,$06,$05,$04,$00,$00,$00,$00,$00,$00,$00,$00,$81 // ................
        .byte $41,$80,$80,$80,$80,$80,$80,$81,$11,$10,$10,$10,$10,$10,$10,$84 // A...............
        .byte $03,$07,$06,$07,$06,$07,$06,$07,$06,$53,$12,$13,$07,$06,$07,$06 // .........S......
        .byte $07,$06,$07,$06,$53,$12,$13,$54,$01,$54,$14,$86,$16,$16,$17,$15 // ....S..T.T......
        .byte $53,$12,$13,$4e,$01,$4c,$01,$4b,$01,$4a,$01,$49,$14,$47,$14,$45 // S..N.L.K.J.I.G.E
        .byte $14,$43,$14,$42,$14,$41,$14,$00,$ff,$84,$55,$02,$0d,$0a,$0d,$0a // .C.B.A....U.....
        .byte $0e,$0e,$0d,$0a,$0d,$0a,$0e,$0e,$54,$0f,$86,$56,$0f,$0e,$0e,$55 // ........T..V...U
        .byte $0f,$00,$ff,$84,$04,$05,$09,$05,$09,$05,$09,$05,$09,$0b,$0c,$0b // ................
        .byte $0c,$0b,$0c,$0b,$11,$05,$09,$05,$09,$05,$09,$05,$09,$0b,$0c,$0b // ................
        .byte $0c,$0b,$0c,$0b,$11,$54,$10,$86,$56,$10,$0b,$0c,$0b,$0c,$0b,$0c // .....T..V.......
        .byte $0b,$11,$55,$10,$00,$ff,$01,$00,$00,$00,$01,$0f,$00,$79,$01,$82 // ..U..........y..
        .byte $81,$30,$30,$20,$05,$04,$04,$04,$ff,$ff,$00,$07,$0e,$00,$0b,$07 // .00 ............
        .byte $0d,$1d,$18,$09,$01,$0d,$01,$02,$00,$00,$81,$41,$80,$2f,$36,$04 // ...........A./6.
        .byte $11,$0d,$0f,$ff,$fe,$fe,$00,$00,$00,$41,$04,$30,$00,$00,$00,$10 // .........A.0....
        .byte $18,$01,$01,$00,$00,$02,$00,$02,$88,$00,$13,$18,$54,$89,$6d,$00 // ............T.m.
        .byte $01,$17,$03,$00,$00,$00,$09,$00,$00,$00,$30,$a0,$00,$05,$0b,$08 // ..........0.....
        .byte $00,$00,$00,$02,$20,$08,$01,$00,$00,$00,$00,$00,$00,$03,$07,$db // .... ...........
        .byte $89,$5f                               // ._

txt_1929:
        .encoding "screencode_mixed"
        .text " sa"
        .text "@"
        .text " aa"
        .text "@"
        .text "@"
        .text "@"
        .encoding "petscii_upper"
        .byte $6d,$6d,$5f,$00,$00,$00,$00,$00,$00,$08,$00,$00,$69,$59,$77,$03 // mm_.........iYw.
        .byte $00,$00,$04,$04,$04,$08,$0f,$4f,$f1,$f2,$f4,$c0,$bf,$00,$00,$ff // .......O........
        .byte $c1,$87,$00,$00,$00,$00,$ff,$c3,$83   // .........

txt_195c:
        .text "0070807:00705032"
        .byte $ff,$c4,$bb,$0c,$83,$0c,$bb,$0c,$83,$0c,$bb,$08,$83,$08,$bb,$05 // ................
        .byte $83,$03,$af,$0c,$ce,$81,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$c5 // ................
        .byte $bb,$0c,$83,$0c,$bb,$0c,$83,$0c,$bb,$08,$83,$08,$bb,$05,$83,$03 // ................
        .byte $bb,$0c,$c7,$83,$0a,$ff,$c7,$83,$0c,$0c,$13,$0c,$85,$16,$c8,$83 // ................
        .byte $18,$c6,$81,$13,$16,$18,$c7,$83,$0c,$0c,$c8,$81,$13,$16,$c7,$83 // ................
        .byte $0c,$e5,$87,$16,$cf,$83,$00,$c7,$0f,$ff,$c1,$83,$00,$cb,$33,$ce // ..............3.
        .byte $81,$00,$00,$cb,$33,$c1,$00,$83,$00,$cb,$33,$ce,$81,$00,$00,$cb // ....3.....3.....
        .byte $83,$33,$c1,$00,$cb,$33,$ce,$81,$00,$00,$cb,$83,$33,$c1,$00,$cb // .3...3......3...
        .byte $33,$ce,$81,$00,$00,$cb,$33,$ce,$00,$ff,$c1,$83,$00,$ca,$33,$ce // 3.....3.......3.
        .byte $81,$00,$00,$ca,$33,$c1,$00,$83,$00,$ca,$33,$ce,$81,$00,$00,$ca // ....3.....3.....
        .byte $83,$33,$c1,$00,$ca,$33,$ce,$81,$00,$00,$ca,$33,$d0,$00,$00,$00 // .3...3.....3....
        .byte $ca,$33,$d0,$00,$00,$00,$ca,$33,$ce,$00,$ff,$ff,$c7,$85,$11,$81 // .3.....3........
        .byte $11,$cf,$83,$00,$c7,$81,$0c,$89,$0f,$cf,$83,$00,$c8,$81,$0c,$0f // ................
        .byte $c7,$85,$11,$81,$11,$cf,$83,$00,$c7,$81,$0c,$87,$0f,$81,$11,$e2 // ................
        .byte $87,$00,$ff,$cd,$93,$30,$cc,$83,$30,$81 // .....0..0.

txt_1a56:
        .text "0.+)"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $93,$2b,$e6,$8b,$2e,$cc,$83,$30,$30,$30,$81,$30,$30,$83,$33,$30 // .+.....000.00.30
        .byte $2e,$30,$30,$81,$30,$30,$83,$33,$81,$30,$30,$83,$36,$81 // .00.00.3.00.6.

txt_1a79:
        .text "53653."
        .byte $ff,$c7,$85,$14,$c6,$81,$14,$cf,$83,$00,$c7,$81,$14,$87,$14,$c6 // ................
        .byte $81,$14,$cf,$83,$00,$c8,$81,$15,$15,$ff,$c7,$85,$16,$c6,$81,$16 // ................
        .byte $cf,$83,$00,$c7,$81,$11,$83,$16,$16,$81,$16,$cf,$83,$16,$c7,$16 // ................
        .byte $ff,$cd,$97,$30,$83,$2e,$8b,$30,$87   // ...0...0.

txt_1ab8:
        .text ".+'"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)
        .byte $83,$29,$29,$29,$81,$27,$29,$83       // .))).').

txt_1ac4:
        .text "+$'()))"
        .byte $81
        .byte $27,$29,$83
        .text "+$'("
        .byte $ff,$cd,$87

txt_1ad6:
        .text ",320"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)
        .byte $83                                   // .

txt_1adc:
        .text "2.)"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $93,$2e,$83,$33,$30,$29,$8b,$30,$87,$33,$97,$32,$80,$32,$33,$81 // ...30).0.3.2.23.
        .byte $32,$33,$32,$ff,$d1,$85,$30,$81,$30,$83 // 232...0.0.

txt_1afa:
        .text "00"
        .byte $ca                                   // 'J' | $80 (end-of-string marker)
        .byte $2e,$c9,$30,$ce,$81,$00,$00,$d2,$83,$2e,$85,$2c,$d2,$81,$2c,$ca // ..0........,..,.
        .byte $83                                   // .

txt_1b0e:
        .text ",,"
        .byte $c9                                   // 'I' | $80 (end-of-string marker)

txt_1b11:
        .text "0)"
        .byte $ca                                   // 'J' | $80 (end-of-string marker)
        .byte $2c,$2e,$ff,$c7,$85,$0c,$81,$18,$cf,$83,$00,$c7,$13,$8b,$16,$83 // ,...............
        .byte $0f,$85,$11,$81,$11,$cf,$83,$00,$c7,$0f,$13,$0c,$ce,$81,$00,$00 // ................
        .byte $c7,$83,$11,$ff,$c7,$85,$13,$c6,$81,$13,$cf,$83,$00,$c7,$81,$13 // ................
        .byte $83,$13,$13,$81,$13,$cf,$83,$13,$c7,$13,$ff,$c1,$83,$00,$d2,$2c // ...............,
        .byte $81                                   // .

txt_1b55:
        .text ",,,,"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $83,$00,$d2,$2c,$81                   // ...,.

txt_1b5f:
        .text ",,,,"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $83,$00,$d1,$83,$2b,$81,$2b,$2b,$83,$2b,$c1,$00,$d1,$2b,$81,$2b // ....+.++.+...+.+
        .byte $2b,$83,$2b,$ff,$c1,$83,$00,$d2,$2c,$81 // +.+.....,.

txt_1b7e:
        .text ",,,,"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $83,$00,$d2,$2c,$81                   // ...,.

txt_1b88:
        .text ",,,,"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $83,$00,$d2,$83,$2e,$81,$2e,$2e,$83,$2e,$c1,$00,$d2,$2e,$81,$2e // ................
        .byte $2e,$83,$2e,$ff,$c1,$83,$00,$c2,$30,$c1,$00,$c2,$34,$c1,$00,$c2 // ........0...4...
        .byte $38,$c1,$00,$c2,$81,$3c,$c1,$00,$ff,$cd,$85,$30,$cc,$81,$30,$cd // 8....<.....0..0.
        .byte $83,$30,$2e,$30,$87,$33,$ef,$35,$cc,$83 // .0.0.3.5..

txt_1bc7:
        .text "3565+./"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $87,$30,$2e,$2b,$83,$2e,$a3,$29,$ff,$cc,$87,$30,$83,$30,$2b,$87 // .0.+...)...0.0+.
        .byte $2e,$83,$30,$2b,$87,$30,$83           // ..0+.0.

txt_1be6:
        .text "0+"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .text ".+)'"
        .byte $ff,$cd,$85
        .byte $30,$cc,$81
        .byte $30,$cd,$83
        .byte $30,$2e,$30
        .byte $87                                   // .

txt_1bfa:
        .text ".0"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)
        .byte $83                                   // .

txt_1bfe:
        .text "3300+./"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $87,$30,$2e,$2b,$83,$2e,$97,$29,$83   // .0.+...).

txt_1c0f:
        .text ")*"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)
        .byte $2b,$ff                               // +.

dat_1c14:
        // === Fill data (1 bytes, $1c14-$1c14) ===
        .byte $00                                   // .

// --- Region $2000-$2000 ---
.pc = $2000 "bmp_2000"

bmp_2000:
        .byte $00                                   // .

// --- Region $2035-$2060 ---
.pc = $2035 "dat_2035"

dat_2035:
        .byte $03,$02,$0f                           // char 6 (partial)
        .byte $00,$03,$0b,$2f,$bb,$ac,$68,$a0       // char 7 @+7
        .byte $00,$ec,$bb,$ef,$3f,$0c,$03,$0c       // char 8 @+8
        .byte $00,$00,$00,$c0,$c2,$c8,$02,$30       // char 9 @+9
        .byte $00,$00,$3c,$fb,$3e,$fb,$0e,$0a       // char 10 @+10
        .byte $00,$00,$00,$00,$c0,$b0,$a0,$60       // char 11 @+11

dat_2060:
        // === Fill data (1 bytes, $2060-$2060) ===
        .byte $00                                   // .

// --- Region $2091-$20a0 ---
.pc = $2091 "dat_2091"

dat_2091:
        .byte $02,$0b,$0a,$09,$06,$09,$25           // char 18 (partial)
        .byte $00,$c0,$b0,$a0,$a0,$60,$90,$60       // char 19 @+19

dat_20a0:
        // === Fill data (1 bytes, $20a0-$20a0) ===
        .byte $00                                   // .

// --- Region $20e9-$2110 ---
.pc = $20e9 "dat_20e9"

dat_20e9:
        .byte $03,$0e,$0b,$0e,$02,$00,$00           // char 29 (partial)
        .byte $00,$c0,$f0,$b0,$f0,$80,$00,$00       // char 30 @+30
        .byte $00,$00,$00,$00,$00,$00,$00,$0f       // char 31 @+31
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 32 ' '
        .byte $00,$00,$00,$00,$00,$00,$00,$d0       // char 33 '!'

dat_2110:
        // === Fill data (1 bytes, $2110-$2110) ===
        .byte $00                                   // .

// --- Region $216f-$2250 ---
.pc = $216f "dat_216f"

dat_216f:
        .byte $03                                   // char 45 (partial)
        .byte $0e,$1f,$37,$1d,$57,$5d,$d5,$74       // char 46 '.'
        .byte $e0,$80,$c0,$c0,$00,$00,$00,$00       // char 47 '/'
        .byte $0f,$0f,$0b,$0e,$0b,$0e               // char 48 (partial)

txt_2186:
        .byte $2b,$2e                               // char 48 (partial)
        .byte $c8,$30,$cc,$f0,$f0,$d0,$70,$d0       // char 49 '1'
        .byte $03,$02,$03,$03,$01,$03,$01,$01       // char 50 '2'
        .byte $ec,$a8,$98,$a4,$98,$64,$94,$58       // char 51 '3'
        .byte $00,$00,$02,$0f                       // char 52 (partial)

txt_21a4:
        .byte $2e,$3b,$2e,$ab                       // char 52 (partial)
        .byte $0f,$ff,$7f,$ff,$70                   // char 53 (partial)

txt_21ad:
        .byte $40,$42,$c2                           // char 53 (partial)
        .byte $80,$fc,$fd,$f7,$dd,$75,$54,$54       // char 54 '6'
        .byte $00,$00,$02,$0a,$26,$19,$26,$59       // char 55 '7'
        .byte $0e,$ba,$ee,$fb,$70,$c0,$40,$40       // char 56 '8'
        .byte $00,$e0,$b8,$ac,$3c,$33,$0c,$00       // char 57 '9'

txt_21d0:
        .byte $2b,$2e,$3b,$2e,$3f,$37,$1f,$37       // char 58 ':'
        .byte $ae,$6b,$ae,$68,$90,$60,$40,$40       // char 59 ';'
        .byte $00,$e0,$a8,$a6,$e9,$26,$19,$25       // char 60 '<'
        .byte $00,$00,$00,$00,$00,$c0,$c0,$00       // char 61 '='
        .byte $00,$00,$01,$05,$1d,$37,$1d,$f7       // char 62 '>'
        .byte $0e,$ba,$ee,$fb,$70,$c0,$40,$40       // char 63 '?'
        .byte $80,$64,$99,$a5,$14,$11,$04,$00       // char 64 '@'
        .byte $00,$00,$00,$03,$03,$02,$0b,$4e       // char 65 'A'
        .byte $0c,$1f,$7f,$df,$74,$5c,$50,$60       // char 66 'B'
        .byte $c0,$b8,$ea,$a9,$3a,$09,$06,$09       // char 67 'C'
        .byte $00,$00,$00,$c0,$80,$e0,$a0,$80       // char 68 'D'
        .byte $03,$0f,$0b,$0e,$0b,$0a,$26,$19       // char 69 'E'
        .byte $c0,$f0,$70,$d0,$70,$50,$80           // char 70 (partial)

txt_2237:
        .byte $40                                   // char 70 (partial)
        .byte $3f,$cf,$3e,$cf,$3e,$0b,$0e,$02       // char 71 'G'
        .byte $c2,$82,$c1,$86,$89,$a5,$95,$65       // char 72 'H'
        .byte $ec,$a8,$98,$64,$90,$50,$40,$40       // char 73 'I'

dat_2250:
        // === Fill data (1 bytes, $2250-$2250) ===
        .byte $00                                   // .

// --- Region $22a8-$2390 ---
.pc = $22a8 "dat_22a8"

dat_22a8:
        .byte $03,$03,$03,$0e,$0b,$0a,$06,$09       // char 85 'U'
        .byte $ec,$f8,$7c,$d0,$70,$d0,$50,$40       // char 86 'V'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 87 'W'

txt_22c0:
        .byte $3f,$2e,$3b,$2e,$3a,$29,$66,$99       // char 88 'X'
        .byte $c0,$c0,$80,$c0,$80,$80,$00,$00       // char 89 'Y'
        .byte $03,$02,$03,$03,$02,$03,$02,$03       // char 90 'Z'
        .byte $a8,$ec,$b8,$fc,$ec,$b8,$ec,$a8       // char 91 '['
        .byte $ff,$7f,$df,$77,$dd,$77,$55,$99       // char 92 '\'
        .byte $4e,$7b,$7e,$f8,$70,$c0,$00,$00       // char 93 ']'
        .byte $a0,$80,$00,$00,$00,$00,$c0,$f0       // char 94 '^'
        .byte $aa,$bb,$ee,$fb,$ff,$ef,$bb,$ee       // char 95 '_'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 96 '`'
        .byte $00,$00,$00                           // char 97 (partial)

txt_230b:
        .byte $38,$2f,$bb,$ae,$6b                   // char 97 (partial)

txt_2310:
        .byte $3b,$3e,$2f,$3b,$2e,$2b,$1a           // char 98 (partial)

txt_2317:
        .byte $26                                   // char 98 (partial)
        .byte $40,$c0,$c0,$40,$c0,$40,$c0,$40       // char 99 'c'
        .byte $0e,$0a,$08,$02,$08,$02,$00,$00       // char 100 'd'
        .byte $c0,$30,$c0,$30,$00,$08,$20,$08       // char 101 'e'
        .byte $ea,$bb,$ee,$fb,$ff,$ef,$bb,$ee       // char 102 'f'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 103 'g'
        .byte $33,$0c,$3f,$3b,$ef,$bb,$ae,$6b       // char 104 'h'
        .byte $0e,$0f,$0b,$0e,$0b,$0a,$06,$09       // char 105 'i'
        .byte $70,$50,$50,$70,$d0,$70,$d0,$f0       // char 106 'j'
        .byte $03,$02,$02,$00,$02,$00,$00,$00       // char 107 'k'
        .byte $a0,$88,$20,$88,$00,$83,$0c,$03       // char 108 'l'

txt_2368:
        .byte $3f,$3f,$3f,$3b,$3e,$3b,$1a,$16       // char 109 'm'
        .byte $c0,$c0,$c0,$80,$c0,$80,$82,$82       // char 110 'n'
        .byte $03,$03,$0d,$3f,$fd,$f7,$dd,$74       // char 111 'o'
        .byte $ea,$a8,$ea,$a9,$8a,$09,$0a,$09       // char 112 'p'
        .byte $00,$00,$00,$40,$c0,$40,$f0,$f0       // char 113 'q'

dat_2390:
        // === Fill data (1 bytes, $2390-$2390) ===
        .byte $00                                   // .

// --- Region $23e8-$24cc ---
.pc = $23e8 "dat_23e8"

dat_23e8:
        .byte $3b,$2a,$1a,$66,$99,$66,$55,$14       // char 125 '}'
        .byte $c0,$80,$c0,$00,$00,$00,$00,$00       // char 126 '~'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 127
        .byte $ee,$fb,$7f,$dd,$14,$00,$00,$00       // char 128
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 129
        .byte $03,$03,$02,$03,$02,$02,$00,$00       // char 130
        .byte $ec,$b8,$ec,$b8,$a8,$66,$99,$65       // char 131
        .byte $59,$16,$15,$0d,$00,$00,$00,$00       // char 132
        .byte $c2,$59,$66,$9a,$66,$00,$00,$00       // char 133
        .byte $cc,$f0,$cc,$f0,$00,$00,$00,$00       // char 134
        .byte $fe,$1f,$37,$0d,$00,$00,$00,$00       // char 135
        .byte $83,$bd,$ef,$bd,$f7,$00,$00,$00       // char 136
        .byte $fb,$7c,$dc,$70,$00,$00,$00,$00       // char 137
        .byte $2e,$3b,$2a,$16,$09,$00,$00,$00       // char 138
        .byte $c0,$80,$c0,$80,$00,$00,$00,$00       // char 139
        .byte $03,$00,$03,$03,$01,$03,$01,$01       // char 140
        .byte $30,$cc,$3c,$f8,$ec,$b8,$e8,$a8       // char 141
        .byte $fe,$1f,$37,$0d,$00,$00,$00,$00       // char 142
        .byte $c1,$d6,$75,$d6,$59,$00,$00,$00       // char 143
        .byte $ae,$6a,$9a,$4a,$0a,$00,$00,$00       // char 144
        .byte $0f,$8f,$8f,$85,$03,$00,$00,$00       // char 145
        .byte $e0,$b0,$e0,$f0,$40,$00,$00,$00       // char 146
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 147
        .byte $cc,$33,$cf,$fe,$bb,$ee,$ba,$aa       // char 148
        .byte $2e,$0b,$0a,$02,$00,$0b,$20,$37       // char 149
        .byte $e3,$a3,$a3,$80,$00,$52,$1f,$11       // char 150
        .byte $7c,$fc,$f0,$f0,$00,$18,$32,$11       // char 151
        .byte $02,$03,$03,$00,$00,$00,$00,$00       // char 152
        .byte $a8,$a8,$a8,$a0                       // char 153 (partial)

dat_24cc:
        // === Fill data (1 bytes, $24cc-$24cc) ===
        .byte $00                                   // .

// --- Region $2558-$2559 ---
.pc = $2558 "dat_2558"

dat_2558:
        .byte $3c                                   // char 171 (partial)

dat_2559:
        // === Fill data (1 bytes, $2559-$2559) ===
        .byte $00                                   // .

// --- Region $25a8-$25a9 ---
.pc = $25a8 "dat_25a8"

dat_25a8:
        .byte $f0                                   // char 181 (partial)

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

// --- Region $25e0-$25fa ---
.pc = $25e0 "dat_25e0"

dat_25e0:
        .byte $3c,$00,$00,$00,$00,$00,$00,$00       // char 188
        .byte $02,$98,$00,$00,$00,$00,$00,$00       // char 189
        .byte $23,$13,$02,$00,$00,$00,$00,$00       // char 190
        .byte $01,$e4                               // char 191 (partial)

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

// --- Region $2800-$2c00 ---
.pc = $2800 "chr_2800"

chr_2800:
        .byte $bc,$bc,$bc,$fc,$fc,$bc,$fe,$3e,$f4,$f9,$f8,$a8,$e6,$f6,$f6,$a8 // .......>........
        .byte $f8,$fc,$e4,$e4,$fc,$fc,$fc,$fc,$fc,$f6,$f6,$f3,$f3,$f3,$f3,$fc // ................
        .byte $fc,$6c,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$bc,$fc,$fc,$fc,$bc,$de,$fe // .l..............
        .byte $94,$49,$38,$3a,$f3,$d4,$43,$3a,$38,$f8,$de,$3e,$64,$3a,$a9,$38 // .I8:..C:8..>d:.8
        .byte $98,$6d,$3d,$64,$36,$e3,$3e,$94,$e4,$e4,$4e,$fc,$fc,$fc,$fc,$fc // .m=d6.>...N.....
        .byte $fc,$fc,$fc,$fc,$fc,$8a,$ad,$f5,$3e,$fe,$83,$a3,$e4,$34,$e4,$f3 // ........>....4..
        .byte $fd,$e4,$a3,$3e,$36,$f9,$e3,$6d,$e4,$a3,$da,$e6,$46,$64,$64,$ea // ...>6..m....Fdd.
        .byte $3e,$e4,$f4,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$98,$fa,$f9 // >...............
        .byte $de,$f8,$9e,$4e,$4e,$46,$f4,$ed,$43,$e6,$8a,$fa,$8e,$e8,$ed,$e4 // ...NNF..C.......
        .byte $e4,$84,$83,$68,$48,$e6,$e6,$46,$6e,$63,$fc,$fc,$fc,$fc,$fc,$fc // ...hH..Fnc......
        .byte $fc,$fc,$fc,$fc,$f5,$f5,$fc,$38,$a9,$fc,$fc,$fc,$fc,$f6,$fc,$fc // .......8........
        .byte $f6,$fc,$fc,$fc,$fc,$fc,$fc,$fe,$f4,$f6,$fc,$f6,$f4,$46,$64,$64 // .............Fdd
        .byte $fa,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$f9,$f5,$fd,$da // ................
        .byte $fc,$f6,$fc,$fc,$fc,$fc,$e3,$9d,$94,$fc,$fc,$fc,$fc,$fc,$fc,$64 // ...............d
        .byte $64,$fc,$f3,$f3,$fc,$fc,$fc,$fc,$f5,$f5,$f9,$f5,$fc,$fc,$fc,$fc // d...............
        .byte $fc,$fc,$fc,$fc,$fc,$f9,$e3,$e3,$fc,$fc,$f3,$38,$f9,$64,$4e,$a8 // ...........8.dN.
        .byte $0f,$3f,$0f,$0b,$0b,$0f,$03,$04,$06,$06,$09,$09,$04,$04,$09,$09 // .?..............
        .byte $09,$00,$06,$06,$00,$00,$00,$00,$00,$04,$04,$0a,$0a,$0a,$0a,$06 // ................
        .byte $06,$04,$00,$00,$20,$00,$00,$00,$0b,$0f,$0b,$0b,$cb,$83,$83,$03 // .... ...........
        .byte $f6,$06,$0a,$08,$8d,$13,$0a,$04,$0a,$b9,$03,$04,$0e,$06,$03,$0a // ................
        .byte $0a,$03,$0e,$0e,$04,$1d,$0d,$06,$06,$06,$86,$00,$80,$00,$00,$00 // ................
        .byte $3b,$0b,$cb,$0b,$0b,$a3,$03,$09,$04,$24,$0d,$0d,$03,$0e,$06,$8d // ;........$......
        .byte $03,$06,$0d,$0d,$04,$06,$8d,$03,$06,$0d,$03,$04,$09,$8e,$0e,$04 // ................
        .byte $04,$03,$06,$00,$80,$00,$00,$00,$20,$00,$20,$00,$00,$0a,$08,$25 // ........ . ....%
        .byte $03,$09,$03,$03,$06,$0e,$26,$03,$9e,$f4,$f3,$f3,$f9,$f9,$f3,$f3 // ......&.........
        .byte $f6,$aa,$0a,$f9,$09,$04,$04,$0e,$83,$0e,$f3,$00,$00,$00,$f0,$00 // ................
        .byte $f0,$00,$ab,$00,$89,$09,$a0,$fa,$08,$a9,$00,$84,$00,$44,$f6,$8d // .............D..
        .byte $04,$f0,$a0,$a0,$00,$08,$00,$03,$fa,$04,$a8,$48,$88,$08,$0e,$fe // ...........H....
        .byte $04,$80,$f0,$90,$80,$00,$80,$00,$80,$f0,$fb,$f0,$f5,$a9,$f3,$83 // ................
        .byte $f9,$f9,$f0,$f0,$a0,$f0,$bd,$f3,$f6,$f0,$f0,$a0,$f0,$a0,$f0,$fe // ................
        .byte $fe,$f0,$aa,$fa,$70,$f0,$f0,$f0,$f9,$a9,$f5,$e9,$f0,$f0,$f0,$f0 // ....p...........
        .byte $b0,$00,$fb,$a0,$09,$95,$0d,$bd,$f0,$a0,$aa,$0a,$08,$0e,$93,$f9 // ................
        .byte $8e,$8e,$8e,$8e,$8e,$8e,$8e,$8d,$8d,$8d,$8c,$8c,$8b,$8b,$8a,$8a // ................
        .byte $89,$88,$88,$87,$86,$85,$84,$83,$82,$81,$80,$7f,$7e,$7d,$7c,$7b // ............~}|{
        .byte $7a,$78,$77,$76,$74,$73,$72,$70,$6f,$6d,$6c,$6a,$69,$67,$66,$64 // zxwvtsrpomljigfd
        .byte $62,$61,$5f,$5d                       // ba_]

txt_2a34:
        .byte $5c                                   // backslash
        .text "ZXWUSQPNLKI"

spr_2a40:
        .text "GECB"
        .byte $40                                   // @ character
        .text ">=;976421/-"
        .text ",*('%$"
        .byte $22                                   // double quote
        .text "!"
        .byte $1f,$1e,$1c,$1b,$1a,$18,$17,$16
        .byte $14,$13,$12,$11,$10,$0f,$0e,$0d,$0c,$0b,$0a,$09,$08,$07,$06,$06 // ................
        .byte $05,$04,$04,$03,$03,$02,$02,$01,$01,$01,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$01,$01,$01,$02,$02,$03,$03,$04,$04 // ................
        .byte $05,$06,$06,$07,$08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10,$11,$12,$13 // ................
        .byte $14,$16,$17,$18,$1a,$1b,$1c,$1e,$1f   // .........

txt_2aa9:
        .text "!"
        .byte $22                                   // double quote
        .text "$%'(*,-/124679"
        .text ";=>"
        .byte $40                                   // @ character
        .text "BCEGIKLNPQSU"
        .text "WXZ"
        .byte $5c                                   // backslash
        .byte $5d,$5f,$61,$62,$64,$66,$67,$69,$6a,$6c,$6d,$6f
        .byte $70,$72,$73,$74,$76,$77,$78,$7a,$7b,$7c,$7d,$7e,$7f,$80,$81,$82 // prstvwxz{|}~....
        .byte $83,$84,$85,$86,$87,$88,$88,$89,$8a,$8a,$8b,$8b,$8c,$8c,$8d,$8d // ................
        .byte $8d,$8e,$8e,$8e,$8e,$8e,$8e           // .......

txt_2b00:
        .fill 15, $22
        .text "!!!!!!    "
        .byte $1f,$1f,$1f,$1f,$1e,$1e
        .byte $1e,$1e,$1d,$1d,$1d,$1c,$1c,$1c,$1c,$1b,$1b,$1a,$1a,$1a,$19,$19 // ................
        .byte $19,$18,$18,$18,$17,$17,$16,$16,$16,$15,$15,$14,$14,$14,$13,$13 // ................
        .byte $12,$12,$12,$11,$11,$10,$10,$10,$0f,$0f,$0e,$0e,$0e,$0d,$0d,$0c // ................
        .byte $0c,$0c,$0b,$0b,$0b,$0a,$0a,$0a,$09,$09,$08,$08,$08,$08,$07,$07 // ................
        .byte $07,$06,$06,$06,$06,$05,$05,$05,$05,$04,$04,$04,$04,$03,$03,$03 // ................
        .byte $03,$03,$03,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02,$02 // ................
        .fill 16, $02
        .byte $03,$03,$03,$03,$03,$03,$04,$04,$04,$04,$05,$05,$05,$05,$06,$06 // ................
        .byte $06,$06,$07,$07,$07,$08,$08,$08,$08,$09,$09,$0a,$0a,$0a,$0b,$0b // ................
        .byte $0b,$0c,$0c,$0c,$0d,$0d,$0e,$0e,$0e,$0f,$0f,$10,$10,$10,$11,$11 // ................
        .byte $12,$12,$12,$13,$13,$14,$14,$14,$15,$15,$16,$16,$16,$17,$17,$18 // ................
        .byte $18,$18,$19,$19,$19,$1a,$1a,$1a,$1b,$1b,$1c,$1c,$1c,$1c,$1d,$1d // ................
        .byte $1d,$1e,$1e,$1e,$1e,$1f,$1f,$1f,$1f   // .........

txt_2be8:
        .text "    !!!!!!"
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .fill 8, $22

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

// --- Region $2c40-$2c40 ---
.pc = $2c40 "spr_2c40"

spr_2c40:
        .byte $00                                   // .

// --- Region $2c80-$2c80 ---
.pc = $2c80 "spr_2c80"

spr_2c80:
        .byte $00                                   // .

// --- Region $2cc0-$2cc0 ---
.pc = $2cc0 "spr_2cc0"

spr_2cc0:
        .byte $00                                   // .

// --- Region $2d42-$2d7f ---
.pc = $2d42 "dat_2d42"

dat_2d42:
        .byte $ad
        .byte $c5,$2f,$85                           // ##...#.#..#.#####....#.#
        .byte $b4,$ad,$c6                           // #.##.#..#.#.##.###...##.
        .byte $2f,$85,$b5                           // ..#.#####....#.##.##.#.#
        .byte $a9,$c7,$8d                           // #.#.#..###...####...##.#
        .byte $9c,$2f,$a9                           // #..###....#.#####.#.#..#
        .byte $2c,$8d,$9d                           // ..#.##..#...##.##..###.#
        .byte $2f,$20,$95                           // ..#.####..#.....#..#.#.#
        .byte $2f,$ad,$d1                           // ..#.#####.#.##.###.#...#

txt_2d5b:
        .byte $2f,$49,$40                           // ..#.####.#..#..#.#......
        .byte $20,$a7,$2f                           // ..#.....#.#..###..#.####
        .byte $ad,$c5,$2f                           // #.#.##.###...#.#..#.####
        .byte $85,$b4,$ad                           // #....#.##.##.#..#.#.##.#
        .byte $c6,$2f,$85                           // ##...##...#.#####....#.#
        .byte $b5,$a9,$df                           // #.##.#.##.#.#..###.#####
        .byte $8d,$9c,$2f                           // #...##.##..###....#.####
        .byte $a9,$2c,$8d                           // #.#.#..#..#.##..#...##.#
        .byte $9d,$2f,$20                           // #..###.#..#.####..#.....
        .byte $95,$2f,$ad                           // #..#.#.#..#.#####.#.##.#
        .byte $d0

txt_2d7a:
        .byte $2f,$20
        .byte $a7,$2f,$ad                           // #.#..###..#.#####.#.##.#
        .byte $c5                                   // sprite 0 padding

// --- Region $2fc6-$2fe3 ---
.pc = $2fc6 "Segment $2fc6"
        .byte $33,$0b,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$f8,$35,$3c // 3.............5<
        .byte $03,$00,$31,$00,$03,$03,$60,$08,$20,$01,$00,$00,$06 // ..1...`. ....

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

// --- Region $3000-$30d8 ---
.pc = $3000 "chr_3000"

chr_3000:
        .fill 8, $00
        .byte $7c,$ee,$ee,$ee,$fe,$ee,$ee,$ee,$fc,$ee,$ee,$ee,$fc,$ee,$ee,$ee // |...............
        .byte $7c,$ee,$ee,$ee,$e0,$e0,$e0,$e0,$fc,$ee,$ee,$ee,$ee,$ee,$ee,$ee // |...............
        .byte $7c,$ee,$ee,$ee,$e0,$f8,$e0,$e0,$7c,$ee,$ee,$ee,$e0,$f8,$e0,$e0 // |.......|.......
        .byte $7c,$ee,$ee,$ee,$e0,$fe,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$fe,$ee,$ee // |...............
        .byte $fe                                   // .

txt_3049:
        .text "8888888"
        .byte $fe,$0e,$0e,$0e,$0e,$0e,$0e,$0e,$ee
        .byte $ee,$ee,$ec,$ec,$f8,$ec,$ec,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$ee // ................
        .byte $fe,$d6,$ee,$ee,$ee,$ee,$ee,$fc,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$7c // ...............|
        .byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$fc,$ee,$ee,$ee,$ee,$fc,$e0,$e0,$7c // ...............|
        .byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$fc,$ee,$ee,$ec,$ec,$f8,$ec,$ec,$7e // ...............~
        .byte $ee,$ee,$ee,$e0,$7c,$0e,$0e,$fe       // ....|...

txt_30a1:
        .text "8888888"
        .byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee
        .fill 20, $ee
        .byte $7c,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$7e,$0e,$0e,$fe,$0e,$0e,$0e,$0e // |.......~.......
        .byte $fe,$e0,$e0                           // ...

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

// --- Region $3108-$3115 ---
.pc = $3108 "txt_3108"

txt_3108:
        .fill 8, $3c
        .byte $00,$33,$66,$66,$cc                   // .3ff.

dat_3115:
        // === Fill data (1 bytes, $3115-$3115) ===
        .byte $00                                   // .

// --- Region $3139-$31d7 ---
.pc = $3139 "dat_3139"

dat_3139:
        .byte $0c,$1c,$38,$20,$00,$00,$00,$7e,$e0,$c0,$c0,$c0,$c0,$c0,$c0,$fc // ..8 ...~........
        .byte $0e,$06,$06,$06,$06,$06,$06,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$18,$18,$18,$7e,$7e,$00,$00,$00,$00,$00,$00,$00,$00,$00 // .....~~.........
        .byte $00,$00,$00,$00,$00,$7e,$7e,$00,$00,$00,$00,$00,$00,$00,$00,$06 // .....~~.........
        .byte $06,$06,$0c,$0c,$0c,$18,$18,$7c,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$38 // .......|.......8
        .byte $78                                   // x

txt_318a:
        .text "888888"
        .byte $fc,$1e,$0e,$1e,$7c,$f0,$e0,$e0,$fc,$ee
        .byte $ee,$ee,$0e,$3c,$0e,$0e,$ee,$ee,$ee,$ee,$ee,$fe,$0e,$0e,$fe,$e0 // ...<............
        .byte $e0,$e0,$e0,$fc,$0e,$0e,$7e,$e0,$e0,$e0,$e0,$fc,$ee,$ee,$fe,$0e // ......~.........
        .byte $1e
        .text "<8888"
        .byte $7c,$ee,$ee,$ee,$ee,$7c,$ee,$ee,$7c,$ee
        .byte $ee,$ee,$ee,$7e,$0e,$0e,$00,$00,$00,$00,$18,$18,$18 // ...~.........

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

// --- Region $31f8-$32d8 ---
.pc = $31f8 "dat_31f8"

dat_31f8:
        .byte $7c,$ee,$ee,$dc,$18,$3c,$3c,$3c,$00,$00,$00,$00,$00,$00,$00,$00 // |....<<<........
        .fill 10, $ee
        .byte $fe,$fe,$fe,$fe,$fe,$fc,$ee,$ee,$fe,$fe,$fe,$fe,$fe,$fc,$ee,$ee // ................
        .byte $fe,$fe,$fe,$fe,$fe,$fc,$e0,$ee,$fe,$fe,$fe,$fe,$fe,$fc,$e0,$e0 // ................
        .byte $e0,$e0,$e0,$e0,$e0,$e0,$ee,$ee,$fe,$fe,$fe,$fe,$fe,$fc,$ee,$ee // ................
        .byte $ee,$ee,$ee,$ee,$ee,$ee               // ......

txt_3248:
        .text "8888888"
        .byte $fe,$ee,$ee,$fe,$fe,$fe,$fe,$fe,$fc
        .fill 10, $ee
        .byte $fe,$fe,$fe,$fe,$fe,$fc,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee // ................
        .fill 8, $ee
        .byte $fe,$fe,$fe,$fe,$fe,$7c,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$e0,$ee,$ee // .....|..........
        .byte $fe,$fe,$fe,$ee,$76,$02,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee // ....v...........
        .byte $fe,$fe,$fe,$fe,$fe,$fc               // ......

txt_32a0:
        .fill 8, $38
        .byte $ee,$ee,$fe,$fe,$fe,$fe,$fe,$7e,$ee,$ee,$fe,$fe,$fe,$fe,$7c,$38 // .......~......|8
        .byte $ee,$ee,$d6,$fe,$fe,$fe,$fe,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$ee // ................
        .byte $ee,$ee,$fe,$fe,$fe,$fe,$fe,$fc,$ee,$ee,$fe,$fe,$fe,$fe,$fe,$fe // ................

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

// --- Region $3308-$3310 ---
.pc = $3308 "dat_3308"

dat_3308:
        .byte $3c,$3c,$18,$00,$18,$3c,$3c,$18       // <<...<<.

dat_3310:
        // === Fill data (1 bytes, $3310-$3310) ===
        .byte $00                                   // .

// --- Region $3340-$33d5 ---
.pc = $3340 "dat_3340"

dat_3340:
        .byte $c0,$c0,$c0,$c0,$c0,$c0,$e0,$7e,$06,$06,$06,$06,$06,$06,$0e,$fc // .......~........
        .fill 8, $00
        .byte $18,$18,$18,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$38,$70 // ..............8p
        .fill 14, $00
        .byte $30,$30,$18,$30,$30,$30,$60,$60,$60,$60 // 00.000````

spr_3380:
        .byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$7c       // .......|

txt_3388:
        .fill 8, $38
        .byte $e0,$e0,$e0,$e0,$ee,$ee,$ee,$fe,$0e,$0e,$0e,$0e,$ee,$ee,$ee,$fc // ................
        .fill 12, $0e
        .byte $ee,$ee,$ee,$fc,$ee,$ee,$ee,$ee,$ee,$ee,$ee,$7c // ...........|

txt_33b8:
        .fill 8, $38
        .byte $ee,$ee,$ee,$ee,$ee,$ee,$ee,$7c,$0e,$0e,$0e,$0e,$ee,$ee,$ee,$fc // .......|........
        .byte $00,$00,$18,$18,$18                   // .....

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

// --- Region $33f8-$359f ---
.pc = $33f8 "dat_33f8"

dat_33f8:
        .byte $3c,$3c,$18,$00,$18,$3c,$18,$00       // <<...<..

scr_3400:
        .byte $03,$0f,$04,$05,$20,$02,$19,$20,$3a,$20,$13,$01,$14 // .... .. : ...

txt_340d:
        .fill 8, $20
        .byte $07,$06,$18,$20,$02,$19,$20,$3a,$20,$13,$0d,$04 // ... .. : ...

txt_3421:
        .fill 17, $20
        .byte $09,$04,$05,$01,$20,$02,$19,$3a,$20,$08,$05,$01,$16,$19,$20,$08 // .... ..: ..... .
        .byte $05,$01,$04                           // ...

txt_3445:
        .fill 31, $20
        .byte $09,$03,$05,$02,$01,$0c,$0c,$20,$0f,$06,$20,$0d,$05,$03,$08,$01 // ....... .. .....
        .byte $0e,$09,$18                           // ...

txt_3477:
        .text " 2124 "
        .byte $09,$13
        .byte $20,$02,$01,$03,$0b
        .byte $20,$09,$0e
        .byte $20,$14,$0f,$17,$0e,$20,$17,$09,$14,$08,$20,$01,$20,$0e,$05,$17 //  .... .... . ...
        .byte $20,$03,$12,$01,$03,$0b,$20,$06,$0f,$12,$20,$19,$0f,$15,$12,$20 //  ..... ... .... 
        .byte $10,$0c,$05,$01,$13,$15,$12,$05,$21,$20,$14,$08,$09,$13,$20,$14 // ........! .... .
        .byte $09,$0d,$05,$20,$09,$14,$27,$13,$20   // ... ..'. 

spr_34c0:
        .byte $22,$13,$03,$05,$10,$14,$12,$05,$20,$0f,$06,$20,$02,$01,$07,$08 // "....... .. ....
        .byte $04,$01,$04                           // ...

txt_34d3:
        .text "+2"
        .byte $22                                   // double quote
        .text " "
        .byte $03,$12,$01,$03,$0b,$05,$04
        .byte $2c,$20,$14,$12,$01
        .byte $09,$0e,$05,$04,$20,$01,$0e,$04,$20,$15,$0e,$2d,$06,$12,$05,$05 // .... ... ..-....
        .byte $1a,$05,$04,$20,$02,$19,$20,$09,$03,$05,$02,$01,$0c,$0c,$20,$0f // ... .. ....... .
        .byte $06,$20,$0d,$05,$03,$08,$01,$0e,$09,$18 // . ........

txt_350d:
        .text " 2124. "
        .byte $09
        .byte $20,$01,$0c,$13,$0f
        .byte $20,$12,$05
        .byte $0d,$0f,$16,$05,$04,$20,$14,$08,$05,$20,$10,$01,$13,$13,$17,$0f // ..... ... ......
        .byte $12,$04,$2d,$03,$08,$05,$03,$0b,$05,$12,$20,$09,$0e,$20,$14,$08 // ..-....... .. ..
        .byte $05,$20,$05,$0e,$04,$10,$01,$12,$14,$2e,$20,$07,$0f,$20,$03,$08 // . ........ .. ..
        .byte $05,$03,$0b,$20,$09,$14,$20,$0f,$15,$14,$20,$2d,$20,$01,$0e,$19 // ... .. ... - ...
        .byte $17,$01,$19,$20,$09,$27,$0d,$20,$0f,$15,$14,$14,$01,$20,$08,$05 // ... .'. ..... ..
        .byte $12,$05                               // ..

txt_356f:
        .byte $21,$21,$21                           // !!!

dat_3572:
        // === Fill data (40 bytes, $3572-$3599) ===
        .fill 40, $20
        .byte $00                                   // .

txt_359b:
        .text "     "
