// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:58
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $2fff  (10496 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2800 (10240)
// IRQ handler:  $2890 (nmi_2890)
// IRQ handler:  $2925 (irq_2925)
// IRQ handler:  $29bc (irq_29bc)
//
// Code: 2421 bytes, Data: 8075 bytes
// Labels: 248, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1563 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $282c

sub_1000:
        jmp loc_1800

dat_1003:
        .byte $4c,$0f,$19                           // L..
// Referenced by: jsr from $2a40

sub_1006:
        lda $1974

loc_1009:
        cmp #$02
        beq loc_1014
        cmp #$01
        bne loc_102a
        jmp loc_18e8

loc_1014:
        rts

dat_1015:
        .byte $f9,$26,$ee,$16                       // .&..

loc_1019:
        bpl loc_1009
        asl $10,x
        lda $1016
        cmp #$32
        bne loc_1029
        lda #$01
        sta dat_1015

loc_1029:
        rts

loc_102a:
        inc $1942
        inc $1943
        inc $1944
        lda #$1f
        sta $d418
        ldx #$02
        dec $1973
        bpl loc_1045
        lda $191d
        sta $1973

loc_1045:
        bit $d020
        stx $ff
        lda $191e,x
        sta $1956
        tay
        lda $1973
        cmp $191d
        bne loc_106b
        lda $16a1,x
        sta $fb
        lda $16a4,x
        sta $fc
        dec $1927,x
        bmi loc_106e
        jmp loc_11fa

loc_106b:
        jmp loc_120a

loc_106e:
        ldy $1921,x
        lda ($fb),y
        cmp #$fe
        beq loc_108c
        cmp #$ff
        bne loc_1094
        lda #$00
        sta $1927,x
        sta $1921,x
        sta $1924,x
        sta $1972
        jmp loc_106e

loc_108c:
        lda #$02
        sta $1974
        jmp loc_190b

loc_1094:
        sta $1967
        and #$80
        beq loc_10a9
        lda $1967
        and #$1f
        sta $194f,x
        inc $1921,x
        jmp loc_106e

loc_10a9:
        lda $1967
        and #$40
        beq loc_10be
        lda $1967
        and #$3f
        sta $1976,x
        inc $1921,x
        jmp loc_106e

loc_10be:
        lda $1967
        asl
        tay
        lda $16a7,y
        sta $fd
        lda $16a8,y
        sta $fe
        lda #$00
        sta $193f,x
        ldy $1924,x
        sta $1942,x
        lda #$03
        sta $1961,x

loc_10dd:
        lda ($fd),y
        sta $f8
        and #$f0
        cmp #$f0
        bne loc_10f7
        lda #$01
        sta $1980,x
        inc $1924,x
        iny
        lda ($fd),y
        sta $f8
        jmp loc_1157

loc_10f7:
        lda #$00
        sta $1980,x
        lda $f8
        and #$f0
        cmp #$e0
        bne loc_1130
        lda $f8
        and #$01
        clc
        adc #$01
        sta $193f,x
        lda $f8
        and #$0e
        lsr
        sta $1965
        inc $1924,x
        iny
        lda ($fd),y
        pha
        and #$f0
        sta $1964
        pla
        and #$0f
        sta smc_12f8                                // SMC: modifies $12f8
        inc $1924,x
        iny
        lda ($fd),y
        sta $f8

loc_1130:
        lda $f8
        and #$e0
        cmp #$c0
        bne loc_1142
        lda $f8
        and #$1f
        sta $1933,x
        jsr sub_11ed

loc_1142:
        lda $f8
        and #$c0
        cmp #$80
        bne loc_1157
        lda $f8
        and #$3f
        sta $192a,x
        jsr sub_11ed
        jmp loc_10dd

loc_1157:
        lda $192a,x
        sta $1927,x
        lda $f8
        clc
        adc $194f,x
        sta $1930,x
        tay
        lda dat_1564,y
        pha
        lda $15c4,y
        ldy $1956
        sta $d401,y
        sta $1936,x
        sta $1939,x
        pla
        sta $d400,y
        sta $193c,x
        lda $1980,x
        bne loc_11cc
        lda $1933,x
        asl
        asl
        asl
        tax
        stx $1952
        lda $198a,x
        sta $d405,y
        lda $198b,x
        sta $d406,y
        lda $198c,x
        pha
        lda $1988,x
        pha
        lda $1989,x
        ldx $ff
        sta $192d,x
        sta $1979,x
        lda #$00
        sta $d402,y
        sta $1945,x
        pla
        sta $194b,x
        and #$0f
        sta $d403,y
        sta $1948,x
        lda #$01
        sta $196f,x
        pla
        sta $196c,x

loc_11cc:
        inc $1924,x
        ldy $1924,x
        lda ($fd),y
        cmp #$ff
        bne loc_11ea

loc_11d8:
        lda #$00
        sta $1924,x
        lda $1976,x
        beq loc_11e7
        dec $1976,x
        bpl loc_11ea

loc_11e7:
        inc $1921,x

loc_11ea:
        jmp loc_1552
// Referenced by: jsr from $113f, $1151

sub_11ed:
        inc $1924,x
        iny
        lda ($fd),y
        cmp #$ff
        beq loc_11d8
        sta $f8
        rts

loc_11fa:
        ldy $1956
        lda $1942,x
        beq loc_120a
        lda $192d,x
        and #$fe
        sta $1979,x

loc_120a:
        lda $1933,x
        asl
        asl
        asl
        tay
        lda $198d,y
        sta $1953
        lda $198e,y
        sta $1954
        lda $198f,y
        sta $1955
        and #$04
        bne loc_1233
        lda $1955
        and #$10
        bne loc_1233
        lda $1953
        bne loc_1236

loc_1233:
        jmp loc_1830

loc_1236:
        pha
        and #$78
        lsr
        lsr
        lsr
        sta $1958,x
        pla
        and #$07
        sta $1957
        lda $195b,x
        beq loc_1254
        dec $195e,x
        bne loc_1268
        inc $195b,x
        bpl loc_1268

loc_1254:
        inc $195e,x
        lda $1958,x
        cmp $195e,x
        bcs loc_1268
        sta $195e,x
        dec $195b,x
        dec $195e,x

loc_1268:
        lda $1930,x
        tay
        lda $1565,y
        sec
        sbc dat_1564,y
        sta $197f
        lda $15c5,y
        sbc $15c4,y
        adc $1942,x
        lsr

loc_1280:
        dec $1957
        bmi loc_128c
        lsr
        ror $197f
        jmp loc_1280

loc_128c:
        sta $197e
        lda dat_1564,y
        sta $197c
        lda $15c4,y
        sta $197d
        lda $1958,x
        lsr
        tay

loc_12a0:
        dey
        bmi loc_12b9
        sec
        lda $197c
        sbc $197f
        sta $197c
        lda $197d
        sbc $197e
        sta $197d
        jmp loc_12a0

loc_12b9:
        lda $1942,x
        cmp #$04
        bcc loc_12eb
        ldy $195e,x

loc_12c3:
        dey
        bmi loc_12dc
        clc
        lda $197c
        adc $197f
        sta $197c
        lda $197d
        adc $197e
        sta $197d
        jmp loc_12c3

loc_12dc:
        ldy $1956
        lda $197c
        sta $d400,y
        lda $197d
        sta $d401,y

loc_12eb:
        ldx $ff
        ldy $1956
        lda $192a,x
        sec
        sbc $1927,x
.label smc_12f8 = * + 1
        cmp #$01                                    // !SMC: modified by $1125
        bcc loc_1341
        lda $193f,x
        beq loc_1341
        and #$03
        cmp #$01
        beq loc_1325
        lda $1964
        sec
        lda $193c,x
        sbc $1964
        sta $193c,x
        sta $d400,y
        lda $1936,x
        sbc $1965
        sta $1936,x
        sta $d401,y
        jmp loc_1341

loc_1325:
        lda $1964
        clc
        lda $193c,x
        adc $1964
        sta $193c,x
        sta $d400,y
        lda $1936,x
        adc $1965
        sta $1936,x
        sta $d401,y

loc_1341:
        lda $1954
        beq loc_13b2
        and #$07
        tay
        dey
        tya
        asl
        asl
        tay
        lda $1695,y
        cmp $1942,x
        bcc loc_1359
        jmp loc_1363

loc_1359:
        iny
        iny
        lda $1695,y
        cmp $1942,x
        bcc loc_136d

loc_1363:
        iny
        lda $1695,y
        sta $194e
        jmp loc_1375

loc_136d:
        lda $1954
        and #$fc
        sta $194e

loc_1375:
        lda $196f,x
        bne loc_1397
        lda $1945,x
        sec
        sbc $194e
        sta $1945,x
        lda $1948,x
        sbc #$00
        sta $1948,x
        cmp #$01
        bcs loc_13b2
        lda #$01
        sta $196f,x
        bne loc_13b2

loc_1397:
        lda $1945,x
        clc
        adc $194e
        sta $1945,x
        lda $1948,x
        adc #$00
        sta $1948,x
        cmp #$0f
        bcc loc_13b2
        lda #$00
        sta $196f,x

loc_13b2:
        lda #$00
        sta smc_13d4                                // SMC: modifies $13d4
        lda $194b,x
        and #$80
        beq loc_13ca
        lda $1942,x
        and #$01
        beq loc_13ca
        lda #$b0
        sta smc_13d4                                // SMC: modifies $13d4

loc_13ca:
        ldx $ff
        ldy $1956
        lda $1945,x
        clc
.label smc_13d4 = * + 1
        adc #$00                                    // !SMC: modified by $13b4, $13c7
        sta $d402,y
        lda $1948,x
        adc #$00
        sta $d403,y
        lda $1955
        and #$40
        beq loc_13fb
        ldx $ff
        lda $1942,x
        cmp #$03
        bcc loc_13fb
        and #$03
        tax
        lda $1632,x
        ldx $ff
        sta $1979,x

loc_13fb:
        sty $1967
        lda $1955
        and #$01
        beq loc_142f
        ldx $ff
        stx $1975
        lda #$89
        sta $f9
        lda #$16
        sta $fa
        ldx $ff
        lda $1942,x
        ldy #$0b
        cmp ($f9),y
        bcs loc_1450
        ldy #$0a

loc_141f:
        cmp ($f9),y
        bcs loc_145b
        dey
        cpy #$06
        bne loc_141f
        cmp ($f9),y
        bcs loc_1432
        jmp loc_147b

loc_142f:
        jmp loc_146a

loc_1432:
        lda $ff
        asl
        bne loc_143a
        clc
        adc #$01

loc_143a:
        sta $1968
        ldx $1972
        txa
        and $1968
        bne loc_144e
        txa
        clc
        adc $1968
        sta $d417

loc_144e:
        ldy #$06

loc_1450:
        dey
        dey
        dey
        dey
        dey
        dey
        lda ($f9),y
        jmp loc_1473

loc_145b:
        dey
        dey
        dey
        dey
        dey
        dey
        lda $1969,x
        clc
        adc ($f9),y
        jmp loc_1473

loc_146a:
        lda $ff
        cmp $1975
        bne loc_147b
        lda #$ff

loc_1473:
        ldx $ff
        sta $1969,x
        sta $d416

loc_147b:
        ldy $1967
        lda $1955
        and #$10
        beq loc_14e3
        lda $1953
        and #$0f
        tax
        lda $163e,x
        sta smc_14af                                // SMC: modifies $14af
        lda $1640,x
        sta smc_14b0                                // SMC: modifies $14b0
        lda $1642,x
        sta smc_14b7                                // SMC: modifies $14b7
        lda $1644,x
        sta smc_14b8                                // SMC: modifies $14b8
        ldx $ff
        lda $1942,x
        cmp #$0f
        bcs loc_14e0
        tax
        dex
.label smc_14af = * + 1
.label smc_14b0 = * + 2
        lda $1676,x                                 // !SMC: modified by $148e, $1494
        ldy $ff
        sta $1979,y
.label smc_14b7 = * + 1
.label smc_14b8 = * + 2
        lda $1666,x                                 // !SMC: modified by $149a, $14a0
        sta $1968
        lda $1953
        and #$10
        beq loc_14cf
        ldx $ff
        lda $1930,x
        clc
        adc $1968
        jmp loc_1542

loc_14cf:
        ldy $1956
        lda $1968
        clc
        adc #$0d
        sta $d401,y
        lda #$00
        sta $d400,y

loc_14e0:
        jmp loc_1552

loc_14e3:
        lda $1955
        and #$80
        beq loc_151e
        ldx $ff
        ldy $1956
        lda $1942,x
        cmp #$02
        bcs loc_150a
        lda #$48
        sta $d401,y
        lda #$00
        sta $d400,y
        ldx $ff
        lda #$81
        sta $1979,x
        jmp loc_1552

loc_150a:
        lda $193c,x
        sta $d400,y
        lda $1936,x
        sta $d401,y
        lda $192d,x
        and #$fe
        sta $1979,x

loc_151e:
        lda $1955
        and #$04
        beq loc_1552
        dec $1961,x
        bpl loc_152f
        lda #$02
        sta $1961,x

loc_152f:
        ldx $ff
        lda $1961,x
        tax
        lda $1686,x
        sta $41
        ldx $ff
        lda $1930,x
        clc
        adc $41

loc_1542:
        tax
        ldy $1956
        lda dat_1564,x
        sta $d400,y
        lda $15c4,x
        sta $d401,y

loc_1552:
        ldx $ff
        ldy $1956
        lda $1979,x
        sta $d404,y
        dex
        bmi loc_1563
        jmp loc_1045

loc_1563:
        rts

// --- Region $1800-$181e ---
.pc = $1800 "loc_1800"

loc_1800:
        ldx #$01
        stx $1974
        tax
        lda dat_18d0,x
        sta $2c
        lda $18d3,x
        sta $2d
        ldy #$05

loc_1812:
        lda ($2c),y
        sta $16a1,y
        dey
        bpl loc_1812
        jmp loc_1908

dat_181d:
        .byte $00,$80                               // ..

// --- Region $1830-$184e ---
.pc = $1830 "loc_1830"

loc_1830:
        lda $1953
        beq loc_1848
        lsr
        lsr
        lsr
        lsr
        tax
        lda $1953
        and #$0f

loc_183f:
        sta $1688
        stx $1687
        jmp loc_12eb

loc_1848:
        lda #$18
        ldx #$0c
        bne loc_183f
        brk

// --- Region $18d9-$1916 ---
.pc = $18d9 "sub_18d9"
// Referenced by: jsr from $1908

sub_18d9:
        lda #$00
        ldx #$62

loc_18dd:
        sta $1921,x
        dex
        bpl loc_18dd
        lda #$b0
        sta $1972

loc_18e8:
        lda #$00
        sta $1942
        sta $1943
        sta $1944
        ldx #$02

loc_18f5:
        sta $1921,x
        sta $1924,x
        sta $1927,x
        sta $1930,x
        dex
        bpl loc_18f5
        sta $1974
        rts

loc_1908:
        jsr sub_18d9

loc_190b:
        ldx #$00
        txa

loc_190e:
        sta $d400,x
        inx
        cpx #$18
        bne loc_190e
        rts

// --- Region $2690-$269a ---
.pc = $2690 "loc_2690"

loc_2690:
        lda #$00
        sta $d020
        sta $d021
        jmp $fce2

// --- Region $2800-$2890 ---
.pc = $2800 "main_2800"

main_2800:
        lda #$37
        sta $01
        sei
        jsr $e518
        jsr $fd15
        jsr $fda3
        lda #$00
        sta $10
        sta $13
        sta $14
        sta $d020
        sta $d021
        sta $0286
        lda #$13
        sta $11
        lda #$01
        sta $12
        jsr $e544
        lda #$00
        jsr sub_1000
        lda #$81
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$1b
        sta $d011
        lda #$32
        sta $d012
        lda #$01
        sta $d019
        jsr sub_2bfe
        lda #$a0
        ldx #$2e
        sta smc_2aed                                // SMC: modifies $2aed
        stx smc_2aee                                // SMC: modifies $2aee
        ldx #$00

loc_2857:
        lda dat_0b00,x
        sta $0400,x
        lda dat_2700,x
        sta $d800,x
        inx
        cpx #$a0
        bne loc_2857
        ldx #$00

loc_286a:
        lda bmp_2891,x
        sta $d9e0,x
        sta $d9b8,x
        inx
        cpx #$28
        bne loc_286a
        lda #$90
        ldx #$28
        sta $0318
        stx $0319
        lda #$25
        ldx #$29
        sta $0314
        stx $0315
        cli

loc_288d:
        jmp loc_288d

nmi_2890:
        rti

// --- Region $28ba-$2904 ---
.pc = $28ba "loc_28ba"

loc_28ba:
        lda #$37
        sta $01
        sei
        jsr $e518
        jsr $fd15
        jsr $fda3
        lda #$00
        sta $d020
        sta $d021
        lda #$01
        sta $0286
        jsr $e544
        lda #$00
        ldx #$00

loc_28dc:
        sta $d800,x
        sta $d900,x
        sta $dc00
        inx
        bne loc_28dc
        ldx #$00

loc_28ea:
        lda bmp_2904,x
        sta $0683,x
        inx
        cpx #$21
        bne loc_28ea
        ldx #$00

loc_28f7:
        lda #$00
        sta $d400,x
        inx
        cpx #$40
        bne loc_28f7
        jmp loc_2690

bmp_2904:
        // === Bitmap data (1 bytes, $2904-$2904) ===
        .byte $09                                   // .

// --- Region $2925-$2b6d ---
.pc = $2925 "irq_2925"
irq_2925: {
        lda $d019
        sta $d019
        jsr sub_2a46
        lda #$94
        sta $d012
        lda #$3b
        sta $d011
        lda #$18
        sta $d018
        lda #$d8
        sta $d016
        lda #$30
loop1:
        cmp $d012
        bne loop1
        lda $0fa5
        adc #$02
        sta $28b9
        ldx $28b9
loop2:
        lda $d012
loop3:
        cmp $d012
        beq loop3
        and #$07
        ora #$30
        sta $d011
        dex
        bne loop2
        jsr sub_2a62
        lda $d012
        adc #$12
loop4:
        cmp $d012
        bne loop4
        lda #$40
        sec
        sbc $28b9
        tax
loop5:
        lda $d012
loop6:
        cmp $d012
        beq loop6
        and #$07
        ora #$30
        sta $d011
        dex
        bne loop5
        inc $294a
        lda #$98
loop7:
        cmp $d012
        bne loop7
        lda #$1b
        sta $d011
        lda #$13
        sta $d018
        lda #$c8
        sta $d016
        lda #$bc
        ldx #$29
        sta $0314
        stx $0315
        lda $dc01
        cmp #$ef
        beq skip
        jmp $ea7e
skip:
        jmp loc_28ba
}

irq_29bc:
        lda $d019
        sta $d019
        lda #$2a
        sta $d012
        lda #$1b
        sta $d011
        lda #$13
        sta $d018
        lda #$c8
        sta $d016
        lda $2a61
        sta $d016
        lda #$b0

loc_29de:
        cmp $d012
        bne loc_29de
        lda bmp_2a93
        sta $d016
        lda #$c0

loc_29eb:
        cmp $d012
        bne loc_29eb
        lda bmp_2ac5
        sta $d016
        jsr sub_2a94
        lda #$e0

loc_29fb:
        cmp $d012
        bne loc_29fb
        lda #$c8
        sta $d016
        jsr sub_2b50
        jsr sub_2b32
        lda #$25
        ldx #$29
        sta $0314
        stx $0315
        lda #$06
        sta $2a60
        lda #$fb

loc_2a1c:
        cmp $d012
        bne loc_2a1c
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        jsr sub_2a46
        lda #$00
        sta $2a60
        jsr sub_2b94
        jsr sub_2ac7
        jsr sub_1006
        jmp $febc
// Referenced by: jsr from $292b, $2a32

sub_2a46:
        ldx #$00

loc_2a48:
        ldy bmp_2a5d,x

loc_2a4b:
        dey
        bne loc_2a4b
        lda $2a5f,x
        sta $d020
        sta $d021
        inx
        cpx #$02
        bne loc_2a48
        rts

bmp_2a5d:
        // === Bitmap data (5 bytes, $2a5d-$2a61) ===
        .byte $01,$08,$01,$00,$c0                   // .....
// Referenced by: jsr from $2966

sub_2a62:
        ldx #$a8
        lda dat_1f00,x
        and #$07
        eor #$07
        ora #$c0
        sta $2a61
        lda dat_1f00,x
        and #$f8
        lsr
        lsr
        lsr
        tax
        ldy #$00

loc_2a7b:
        lda $2dc0,x
        sta $04f0,y
        lda $2dc0,x
        ora #$80
        sta $0518,y
        iny
        inx
        cpy #$28
        bne loc_2a7b
        inc $2a63
        rts

bmp_2a93:
        // === Bitmap data (1 bytes, $2a93-$2a93) ===
        .byte $c7                                   // .
// Referenced by: jsr from $29f6

sub_2a94:
        ldx #$c1
        lda dat_1f00,x
        and #$07
        eor #$07
        ora #$c0
        sta bmp_2a93
        lda dat_1f00,x
        and #$f8
        lsr
        lsr
        lsr
        tax
        ldy #$00

loc_2aad:
        lda txt_2e20,x
        sta $0540,y
        lda txt_2e20,x
        ora #$80
        sta $0568,y
        iny
        inx
        cpy #$28
        bne loc_2aad
        inc $2a95
        rts

bmp_2ac5:
        // === Bitmap data (2 bytes, $2ac5-$2ac6) ===
        .byte $04,$05                               // ..
// Referenced by: jsr from $2a3d

sub_2ac7:
        sec
        lda bmp_2ac5
        sbc $2ac6
        bcc loc_2ad4
        sta bmp_2ac5
        rts

loc_2ad4:
        eor #$f8
        sta bmp_2ac5
        ldx #$00

loc_2adb:
        lda $05e1,x
        sta $05e0,x
        lda $05b9,x
        sta $05b8,x
        inx
        cpx #$28
        bne loc_2adb

loc_2aec:
.label smc_2aed = * + 1
.label smc_2aee = * + 2
        lda $2f14                                   // !SMC: modified by $284f, $2852, $2b0c, $2b0f
        cmp #$00
        beq loc_2b08
        cmp #$1f
        beq loc_2b15
        sta $05df
        ora #$80
        sta $0607
// Referenced by: jsr from $2b15, $2b2c

sub_2aff:
        inc smc_2aed
        bne loc_2b07
        inc smc_2aee

loc_2b07:
        rts

loc_2b08:
        lda #$a0
        ldx #$2e
        sta smc_2aed                                // SMC: modifies $2aed
        stx smc_2aee                                // SMC: modifies $2aee
        jmp loc_2aec

loc_2b15:
        jsr sub_2aff
        lda smc_2aed
        ldx smc_2aee
        sta smc_2b25                                // SMC: modifies $2b25
        stx smc_2b26                                // SMC: modifies $2b26
.label smc_2b25 = * + 1
.label smc_2b26 = * + 2
        lda txt_2ea2                                // !SMC: modified by $2b1e, $2b21
        sbc #$30
        sta $2ac6
        jsr sub_2aff
        jmp loc_2aec

// Referenced by: jsr from $2a08
sub_2b32: {
        ldx $10
        cpx #$26
        beq done
        lda bmp_2b6e,x
        ldx #$00
loop:
        sta $d8f0,x
        sta $d918,x
        inx
        cpx #$28
        bne loop
        inc $10
        rts
done:
        lda #$00
        sta $10
        rts
}
// Referenced by: jsr from $2a05

sub_2b50:
        ldx $11
        cpx #$26
        beq loc_2b69
        lda bmp_2b6e,x
        ldx #$00

loc_2b5b:
        sta $d940,x
        sta $d968,x
        inx
        cpx #$28
        bne loc_2b5b
        inc $11
        rts

loc_2b69:
        lda #$00
        sta $11
        rts

// --- Region $2b94-$2c0a ---
.pc = $2b94 "sub_2b94"
// Referenced by: jsr from $2a3a

sub_2b94:
        ldx $12
        cpx #$01
        beq loc_2bb1
        cpx #$02
        beq loc_2b9f
        rts

loc_2b9f:
        lda $13
        cmp #$f0
        beq loc_2ba8
        inc $13
        rts

loc_2ba8:
        lda #$01
        sta $12
        lda #$00
        sta $13
        rts

loc_2bb1:
        ldx $14
        cpx #$22
        beq loc_2bce
        lda bmp_2c0b,x
        cmp #$10
        beq loc_2bd7
        ldx #$00

loc_2bc0:
        sta $da30,x
        sta $da58,x
        inx
        cpx #$28
        bne loc_2bc0
        inc $14
        rts

loc_2bce:
        lda #$00
        sta $14
        lda #$02
        sta $12
        rts

loc_2bd7:
        ldx #$00

loc_2bd9:
.label smc_2bda = * + 1
.label smc_2bdb = * + 2
        lda $2c90,x                                 // !SMC: modified by $2bf5, $2c02, $2c05
        cmp #$00
        beq sub_2bfe
        sta $0630,x
        ora #$80
        sta $0658,x
        inx
        cpx #$28
        bne loc_2bd9
        inc $14
        lda smc_2bda
        clc
        adc #$28
        sta smc_2bda                                // SMC: modifies $2bda
        bcc loc_2bfd
        inc smc_2bdb

loc_2bfd:
        rts
// Referenced by: jsr from $2848; branch from $2bde

sub_2bfe:
        lda #$40
        ldx #$2c
        sta smc_2bda                                // SMC: modifies $2bda
        stx smc_2bdb                                // SMC: modifies $2bdb
        inc $14
        rts

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

// --- Region $0800-$08df ---
.pc = $0800 "scr_0800"

scr_0800:
        // === Charset data (224 bytes, $0800-$08df) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$00,$7c,$0e,$7e,$ee,$ee       // char 1 @+1
        .byte $00,$00,$e0,$fc,$ee,$ee,$ee,$ee       // char 2 @+2
        .byte $00,$00,$00,$7c,$ee,$e0,$e0,$e0       // char 3 @+3
        .byte $00,$00,$0e,$7e,$ee,$ee,$ee,$ee       // char 4 @+4
        .byte $00,$00,$00,$7c,$ee,$fc,$e0,$e0       // char 5 @+5
        .byte $00,$00,$7e,$e0,$f8,$e0,$e0,$e0       // char 6 @+6
        .byte $00,$00,$00,$7c,$ee,$ee,$ee,$ee       // char 7 @+7

spr_0840:
        .byte $00,$00,$e0,$fc,$ee,$ee,$ee,$ee       // char 8 @+8
        .byte $00,$00,$38,$00                       // char 9 (partial)

txt_084c:
        .byte $38,$38,$38,$38                       // char 9 (partial)
        .byte $00,$00,$0e,$00,$0e,$0e,$0e,$0e       // char 10 @+10
        .byte $00,$00,$e0,$ee,$ec,$f8,$ec,$ee       // char 11 @+11
        .byte $00,$00                               // char 12 (partial)

txt_0862:
        .byte $38,$38,$38,$38,$38,$38               // char 12 (partial)
        .byte $00,$00,$00,$6c,$fe,$ee,$ee,$ee       // char 13 @+13
        .byte $00,$00,$00,$fc,$ee,$ee,$ee,$ee       // char 14 @+14
        .byte $00,$00,$00,$7c,$ee,$ee,$ee,$ee       // char 15 @+15
        .byte $00,$00,$00,$fc,$ee,$ee,$ee,$ee       // char 16 @+16
        .byte $00,$00,$00,$7e,$ee,$ee,$ee,$ee       // char 17 @+17
        .byte $00,$00,$00,$7c,$ee,$e0,$e0,$e0       // char 18 @+18
        .byte $00,$00,$00,$7c,$e0,$7c,$0e,$0e       // char 19 @+19
        .byte $00,$00,$e0,$e0,$f8,$e0,$e0,$e0       // char 20 @+20
        .byte $00,$00,$00,$ee,$ee,$ee,$ee,$ee       // char 21 @+21
        .byte $00,$00,$00,$ee,$ee,$ee,$ee,$ee       // char 22 @+22
        .byte $00,$00,$00,$ee,$ee,$ee,$ee,$ee       // char 23 @+23
        .byte $00,$00,$00,$ee,$6c,$38,$6c,$ee       // char 24 @+24
        .byte $00,$00,$00,$ee,$ee,$ee,$ee,$ee       // char 25 @+25
        .byte $00,$00,$00,$fe,$0e,$7c,$e0,$e0       // char 26 @+26
        .byte $00,$00,$00,$5e,$df,$df,$5e           // char 27 (partial)

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

// --- Region $090a-$0ad8 ---
.pc = $090a "txt_090a"

txt_090a:
        .byte $38,$38,$38,$38,$38,$38               // char 33 (partial)
        .byte $00,$ee,$66,$cc,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$00,$00,$6c,$6c,$fe,$6c,$6c       // char 35 '#'
        .byte $00,$00,$10,$10,$fe,$d0,$fe,$16       // char 36 '$'
        .byte $00,$00,$66,$66,$0c,$0c,$18,$18       // char 37 '%'
        .byte $00,$00,$78,$c0,$cc,$7e,$cc,$cc       // char 38 '&'
        .byte $00,$38,$18,$30,$00,$00,$00,$00       // char 39 '''
        .byte $00,$00,$3c,$70,$70,$70,$70,$70       // char 40 '('
        .byte $00,$00,$78,$1c,$1c,$1c,$1c,$1c       // char 41 ')'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$00,$18,$18,$7e,$18,$18,$18       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 44 ','
        .byte $00,$00,$00,$00,$7e,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 46 '.'
        .byte $00,$00,$06,$06,$0c,$0c,$18,$18       // char 47 '/'
        .byte $00,$00,$7c,$ee,$ee,$ee,$ee,$ee       // char 48 '0'
        .byte $00,$00,$7c,$1c,$1c,$1c,$1c,$1c       // char 49 '1'
        .byte $00,$00,$7c,$0e,$7c,$e0,$e0,$e0       // char 50 '2'
        .byte $00,$00,$fc,$0e,$3c,$0e,$0e,$0e       // char 51 '3'
        .byte $00,$00,$ee,$ee,$7e,$0e,$0e,$0e       // char 52 '4'
        .byte $00,$00,$fc,$e0,$fc,$0e,$0e,$0e       // char 53 '5'
        .byte $00,$00,$7c,$e0,$fc,$ee,$ee,$ee       // char 54 '6'
        .byte $00,$00,$7c,$ee,$1e,$0e,$0e,$0e       // char 55 '7'
        .byte $00,$00,$7c,$ee,$7c,$ee,$ee,$ee       // char 56 '8'
        .byte $00,$00,$7c,$ee,$7e,$0e,$0e,$0e       // char 57 '9'
        .byte $00,$00,$00,$00,$38,$38,$00,$38       // char 58 ':'
        .byte $00,$00,$00,$00,$38,$38,$00,$38       // char 59 ';'
        .byte $00,$03,$01,$03,$0e,$17,$17,$0f       // char 60 '<'
        .byte $00,$00,$00,$7e,$00,$7e,$00,$00       // char 61 '='
        .byte $00,$c0,$80,$c0,$70,$68,$68,$f0       // char 62 '>'
        .byte $00,$00,$7c,$0e,$7c,$e0,$e0,$e0       // char 63 '?'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 64 '@'
        .byte $00,$00,$7c,$ee,$fe,$ee,$ee,$ee       // char 65 'A'
        .byte $00,$00,$fc,$ee,$fc,$ee,$ee,$ee       // char 66 'B'
        .byte $00,$00,$7c,$ee,$e0,$e0,$e0,$e0       // char 67 'C'
        .byte $00,$00,$fc,$ee,$ee,$ee,$ee,$ee       // char 68 'D'
        .byte $00,$00,$7c,$ee,$f0,$e0,$e0,$e0       // char 69 'E'
        .byte $00,$00,$7c,$ee,$f0,$e0,$e0,$e0       // char 70 'F'
        .byte $00,$00,$7c,$ee,$e0,$e0,$ee,$ee       // char 71 'G'
        .byte $00,$00,$ee,$ee,$fe,$ee,$ee,$ee       // char 72 'H'
        .byte $00,$00,$fe                           // char 73 (partial)

txt_0a4b:
        .byte $38,$38,$38,$38,$38                   // char 73 (partial)
        .byte $00,$00,$7c,$0e,$0e,$0e,$0e,$0e       // char 74 'J'
        .byte $00,$00,$ee,$ec,$f8,$ec,$ee,$ee       // char 75 'K'
        .byte $00,$00,$e0,$e0,$e0,$e0,$e0,$e0       // char 76 'L'
        .byte $00,$00,$c6,$ee,$fe,$ee,$ee,$ee       // char 77 'M'
        .byte $00,$00,$7c,$ee,$ee,$ee,$ee,$ee       // char 78 'N'
        .byte $00,$00,$7c,$ee,$ee,$ee,$ee,$ee       // char 79 'O'
        .byte $00,$00,$fc,$ee,$fc,$e0,$e0,$e0       // char 80 'P'
        .byte $00,$00,$7c,$ee,$ee,$ee,$ee,$ee       // char 81 'Q'
        .byte $00,$00,$fc,$ee,$fc,$ee,$ee,$ee       // char 82 'R'
        .byte $00,$00,$7c,$e0,$7c,$0e,$0e,$0e       // char 83 'S'
        .byte $00,$00,$fe                           // char 84 (partial)

txt_0aa3:
        .byte $38,$38,$38,$38,$38                   // char 84 (partial)
        .byte $00,$00,$ee,$ee,$ee,$ee,$ee,$ee       // char 85 'U'
        .byte $00,$00,$ee,$ee,$ee,$ee,$ee,$ee       // char 86 'V'
        .byte $00,$00,$ee,$ee,$ee,$ee,$ee,$ee       // char 87 'W'
        .byte $00,$00,$ee,$6c,$38,$6c,$ee,$ee       // char 88 'X'
        .byte $00,$00,$ee,$ee,$7e,$0e,$0e,$0e       // char 89 'Y'
        .byte $00,$00,$7e,$0e,$7c,$e0,$e0,$e0       // char 90 'Z'

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

// --- Region $0b00-$0ceb ---
.pc = $0b00 "dat_0b00"

dat_0b00:
        .byte $7f,$8a,$5c,$f1,$f1,$81,$8a,$f7       // char 96 '`'
        .byte $8a,$f1,$81,$87,$fa,$8a,$f7,$8a       // char 97 'a'
        .byte $f9,$a1,$8f,$f9,$f9,$f9,$a1,$8f       // char 98 'b'
        .byte $f9,$f9,$f9,$a1,$8f,$f9,$f9,$f9       // char 99 'c'
        .byte $a1,$8f,$f9,$f9,$f9,$fc,$fc,$fc       // char 100 'd'
        .byte $f7,$a2,$fc,$f1,$1f,$2a,$a2,$f1       // char 101 'e'
        .byte $2a,$1f,$2a,$a2,$f7,$28,$f1,$2a       // char 102 'f'
        .byte $71,$28,$a8,$fa,$f8,$f7,$f8,$f8       // char 103 'g'
        .byte $f8,$f2,$71,$f8,$f8,$f8,$f2,$f7       // char 104 'h'
        .byte $f8,$f8,$f2,$fc,$fc,$fc,$fc,$fc       // char 105 'i'
        .byte $f7,$92,$fc,$fa,$fa,$f9,$f9,$fa       // char 106 'j'
        .byte $f9,$fa,$f9,$f9,$fa,$f9,$fa,$f9       // char 107 'k'
        .byte $fa,$f9,$89,$82,$89,$fa,$98,$92       // char 108 'l'
        .byte $f8,$f8,$28,$98,$92,$f8,$f9,$f8       // char 109 'm'
        .byte $92,$f9,$f8,$f9,$fc,$fc,$fc,$fc       // char 110 'n'
        .byte $af,$fa,$f8,$f9,$f8,$f8,$f8,$f9       // char 111 'o'
        .byte $f8,$a8,$a8,$9a,$f8,$a8,$f8,$a9       // char 112 'p'
        .byte $f8,$f8,$f2,$f2,$f9,$f8,$f8,$f2       // char 113 'q'
        .byte $f2,$f9,$f8,$f8,$f2,$f2,$f9,$f8       // char 114 'r'
        .byte $f8,$f2,$f2,$f9,$f8                   // char 115 (partial)

dat_0b9d:
        // === Fill data (99 bytes, $0b9d-$0bff) ===
        .fill 99, $fc

scr_0c00:
        // === Screen RAM (236 bytes, $0c00-$0ceb) ===
        .encoding "screencode_mixed"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .byte $ee,$ee,$ee,$7e                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$fc                       // scrcode: ....
        .text "@@@@"
        .byte $e0,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$7e                       // scrcode: ....
        .text "@@@@"
        .byte $e0,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $e0,$e0,$e0,$e0                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$7e                           // scrcode: ...
        .text "n"
        .byte $7c                                   // scrcode: .
        .text "@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .encoding "petscii_upper"

txt_0c48:
        .text "8888"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@nnnn"
        .byte $7c                                   // scrcode: .
        .text "@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .encoding "petscii_upper"

txt_0c60:
        .text "8888"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$fc,$e0                   // scrcode: .....
        .text "@@@"
        .byte $ee,$ee,$ee,$7e                       // scrcode: ....
        .text "n"
        .text "@@@"
        .byte $e0,$e0,$e0,$e0                       // scrcode: ....
        .text "@@@@n"
        .byte $ee,$ee,$fc                           // scrcode: ...
        .text "@@@@"
        .byte $e0,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$7e                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$6c                           // scrcode: ...
        .text "8@"
        .text "@@@"
        .byte $ee,$ee,$fe,$6c                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$7e                           // scrcode: ...
        .text "n"
        .byte $7c                                   // scrcode: .
        .text "@@@"
        .byte $e0,$ee,$ee,$fe                       // scrcode: ....
        .text "@@@@@@@@@"
        .fill 11, $00                               // scrcode: @@@@@@@@@@@
        .byte $5e,$df,$df,$5e                       // scrcode: ....
        .encoding "petscii_upper"

// --- Region $0d08-$0ed4 ---
.pc = $0d08 "dat_0d08"

dat_0d08:
        .encoding "screencode_mixed"
        .text "88@8@@@@@@@@@@@@"
        .byte $fe,$6c,$6c                           // scrcode: ...
        .text "@@@@@"
        .byte $d6,$fe                               // scrcode: ..
        .text "pp@@@@00"
        .byte $66,$66                               // scrcode: ..
        .text "@@@@"
        .byte $cc,$cc,$cc,$78                       // scrcode: ....
        .text "@@@@@@@@@@@@"
        .byte $70,$70,$70                           // scrcode: ...
        .text "<@@@@"
        .byte $1c,$1c,$1c,$78                       // scrcode: ....
        .text "@@@@@@@@@@@@"
        .fill 10, $00                               // scrcode: @@@@@@@@@@
        .text "8x0@@@@@@@@@@@@@88@@@@00"
        .byte $60,$60                               // scrcode: ..
        .text "@@@@"
        .byte $ee,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $1c,$1c                               // scrcode: ..
        .byte $1c,$1c                               // scrcode: ..
        .text "@@@@"
        .byte $e0,$ee,$ee,$fe                       // scrcode: ....
        .text "@@@@n"
        .byte $ee,$ee,$fc                           // scrcode: ...
        .text "@@@@nnnn@@@@n"
        .byte $ee,$ee,$fc                           // scrcode: ...
        .text "@@@@"
        .byte $ee,$ee                               // scrcode: ..
        .byte $ee,$7c                               // scrcode: ..
        .text "@@@@nnnn@@@@"
        .byte $ee,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@n"
        .byte $ee,$ee,$fc                           // scrcode: ...
        .text "@@@@8@@@@@@@x0"
        .text "@@@@@@caag"
        .byte $1f,$1f,$1f                           // scrcode: ...
        .text "@@@@@@@@@"
        .byte $c0,$80,$80,$e0,$f8,$f8,$f8           // scrcode: .......
        .text "@"
        .byte $e0,$e0                               // scrcode: ..
        .text "@"
        .byte $e0                                   // scrcode: .
        .text "@@@@@@"
        .text "@@@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$fc                       // scrcode: ....
        .text "@@@@"
        .byte $e0,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$fc                       // scrcode: ....
        .text "@@@@"
        .byte $e0,$ee                               // scrcode: ..
        .byte $ee,$fc                               // scrcode: ..
        .text "@@@@"
        .byte $e0,$e0,$e0,$e0                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$7e                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@888"
        .byte $fe                                   // scrcode: .
        .text "@@@@n"
        .byte $ee                                   // scrcode: .
        .byte $ee,$7c                               // scrcode: ..
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $e0,$ee,$ee,$fc                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee                               // scrcode: ..
        .byte $ee,$7c                               // scrcode: ..
        .text "@@@@"
        .byte $e0,$e0,$e0,$e0                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$7e                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@n"
        .byte $ee,$ee,$fc                           // scrcode: ...
        .text "@@@@"
        .encoding "petscii_upper"

txt_0ea0:
        .text "8888"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@"
        .byte $ee,$ee,$ee,$7c                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$6c                           // scrcode: ...
        .text "8@@@@"
        .byte $ee,$fe,$ee,$c6                       // scrcode: ....
        .text "@@@@"
        .byte $ee,$ee,$ee,$ee                       // scrcode: ....
        .text "@@@@n"
        .byte $ee,$ee,$fc                           // scrcode: ...
        .text "@"
        .text "@@@"
        .byte $e0,$ee,$ee,$fe                       // scrcode: ....
        .encoding "petscii_upper"

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

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

dat_0f00:
        .encoding "screencode_mixed"
        .text "y"
        .byte $1b,$1d,$1f                           // scrcode: ...
        .encoding "petscii_upper"

txt_0f04:
        .text " "
        .byte $22                                   // double quote character
        .text "$&')*+-./0112222222210//-,+*('%#"
        .byte $22                                   // double quote character
        .text " "
        .encoding "screencode_mixed"
        .byte $1e,$1c                               // scrcode: ..
        .text "zxwusqonljigfedcbaa@@@@@@@aabcdefgijln"
        .text "oqsuwxz"
        .byte $1c,$1e                               // scrcode: ..
        .encoding "petscii_upper"

txt_0f59:
        .text " "
        .byte $22                                   // double quote character
        .text "#%'(*+,-//0122222222110/.-+*)'&$"
        .byte $22                                   // double quote character
        .text " "
        .encoding "screencode_mixed"
        .byte $1f,$1d,$1b                           // scrcode: ...
        .text "ywusrpnlkihgedcbaa@@@@@@@@abccefghjkm"
        .text "oprtvxz"
        .byte $1b,$1d,$1f                           // scrcode: ...
        .encoding "petscii_upper"

txt_0faf:
        .text "!#$&()+,-./0112222222110/.-,+)(&$#!"
        .encoding "screencode_mixed"
        .byte $1f,$1d,$1b                           // scrcode: ...
        .text "zxvtrpomkjhgfeccba@@@@@@@@aabcdeghikl"
        .text "nprsuw"
        .encoding "petscii_upper"

// --- Region $1564-$170a ---
.pc = $1564 "dat_1564"

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

txt_1600:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd                               // ..

txt_1624:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$00,$00,$00
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $06,$06,$07,$07,$08,$08
        .byte $07,$07,$56,$76,$16,$16,$46,$66,$16,$16,$13,$01,$ff,$23,$08,$13 // ..Vv..Ff.....#..
        .byte $03,$23,$00,$00,$00,$00,$00,$00,$00,$00,$81,$41,$40,$80,$80,$80 // .#.........A@...
        .byte $80,$80,$10,$10,$10,$10,$10,$10,$10,$10,$24,$fd,$fb,$f9,$f8,$f7 // ..........$.....
        .byte $f6,$f6,$f5,$f5,$f4,$f4,$f5,$f6,$f5,$f4,$81 // ...........

txt_1677:
        .text "A"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $0c,$18,$c0,$f0,$f8,$f4,$f2,$40,$01,$02,$06,$0c,$10,$30,$04,$a0 // .......@.....0..
        .byte $08,$60,$04,$80,$0c,$10,$03,$80,$10,$40,$00,$80,$50,$17,$17,$18 // .`.......@..P...
        .byte $00,$1a,$04,$1a,$0b,$1a,$3d,$1a,$48,$1a,$53,$1a,$66,$1a,$6c,$1a // ......=.H.S.f.l.
        .byte $6d,$1a,$6e,$1a,$6f,$1a,$70,$1a,$71,$1a,$72,$1a,$73,$1a,$74,$1a // m.n.o.p.q.r.s.t.
        .byte $75,$1a,$76,$1a,$77,$1a,$78,$1a,$79,$1a,$7a,$1a,$7b,$1a,$7c,$1a // u.v.w.x.y.z.{.|.
        .byte $7d,$1a,$7e,$1a,$7f,$1a,$80,$1a,$81,$1a,$82,$1a,$83,$1a,$84,$1a // }.~.............
        .byte $85,$1a,$86,$1a,$87,$1a,$88,$1a,$89,$1a,$8a,$1a,$8b,$1a,$8c,$1a // ................
        .byte $8d,$1a,$8e,$1a,$8f,$1a,$90,$1a,$6c,$80,$4f,$01,$87,$47,$01,$85 // ........l.O..G..
        .byte $47,$01,$ff                           // G..

dat_170a:
        // === Fill data (1 bytes, $170a-$170a) ===
        .byte $00                                   // .

// --- Region $1780-$1787 ---
.pc = $1780 "dat_1780"

dat_1780:
        .byte $43,$02,$4f,$00,$41,$02,$ff           // C.O.A..

dat_1787:
        // === Fill data (1 bytes, $1787-$1787) ===
        .byte $00                                   // .

// --- Region $181f-$182f ---
.pc = $181f "Segment $181f"
        .byte $50,$17,$17,$18,$0a,$82,$55,$17,$17,$18,$00,$80,$50,$17,$17,$18 // P.....U.....P...
        .byte $00                                   // .

// --- Region $184f-$185c ---
.pc = $184f "dat_184f"

dat_184f:
        .byte $00,$03,$04,$03,$05,$03,$04,$03,$05,$43,$00,$06,$ff // .........C...

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

// --- Region $18d0-$18d8 ---
.pc = $18d0 "dat_18d0"

dat_18d0:
        .byte $1d,$23,$29,$18,$18,$18,$00,$00,$00   // .#)......

// --- Region $1917-$1a91 ---
.pc = $1917 "dat_1917"

dat_1917:
        .byte $a9,$02,$8d,$74,$19,$60,$01,$00,$07,$0e,$05,$01,$03,$03,$21,$0f // ...t.`........!.
        .byte $03,$01,$2d,$05,$02,$35,$41,$11,$23,$1f,$30,$34,$01,$04,$0a,$06 // ..-..5A.#.04....
        .byte $10,$17,$06,$10,$15,$47,$c3,$ef,$00,$00,$01,$04,$02,$10,$80,$00 // .....G..........
        .byte $20,$0a,$08,$0d,$08,$08,$08,$a0,$07,$00,$00,$20,$00,$41,$81,$00 //  .......... .A..
        .byte $ff,$00,$00,$04,$00,$00,$00,$00,$00,$00,$03,$03,$03,$30,$00,$00 // .............0..
        .byte $00,$fd,$90,$00,$00,$00,$00,$00,$01,$01,$01,$00,$01,$00,$00,$01 // ................
        .byte $00,$00,$40,$41,$40,$8b,$14,$00,$4a,$00,$00,$00,$00,$00,$00,$00 // ..@A@...J.......
        .fill 9, $00
        .byte $08,$41,$00,$ee,$00,$00,$41,$81,$08,$11,$0f,$e8,$00,$00,$00,$10 // .A....A.........
        .byte $02,$41,$00,$ab,$00,$00,$1f,$84,$08,$11,$04,$c8,$00,$01,$00,$10 // .A..............
        .byte $08,$17,$00,$e8,$00,$00,$00,$80,$00,$41,$00,$ae,$00,$1e,$f1,$40 // .........A.....@
        .byte $02,$41,$00,$ae,$00,$35,$83,$40,$01,$11,$00,$ae,$00,$25,$1f,$40 // .A...5.@.....%.@
        .byte $08,$41,$00,$a9,$00,$00,$f1,$84,$08,$23,$0d,$af,$00,$25,$aa,$40 // .A.......#...%.@
        .byte $0f,$21,$00,$ae,$00,$34,$88,$40,$02,$51,$00,$ae,$00,$25,$1f,$40 // .!...4.@.Q...%.@
        .byte $03,$41,$00,$ae,$00,$1f,$f1,$40,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // .A.....@........
        .byte $c0,$9e,$18,$ff,$c1,$85,$18,$82,$24,$24,$ff,$c4,$85,$30,$82 // ........$$...0.

txt_1a0f:
        .text "00"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $30,$c4,$30,$30,$85,$30,$82,$30,$85,$c2,$30,$82,$c4,$30,$82,$c4 // 0.00.0.0..0..0..

txt_1a22:
        .text "000"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $85,$30,$82,$c4                       // .0..

txt_1a2a:
        .text "00"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $30,$c4                               // 0.

txt_1a2f:
        .text "000"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $30,$30,$30,$85,$30,$82,$30,$30,$30,$ff,$ca,$91,$30,$85,$32,$35 // 000.0.000...0.25
        .byte $8b,$34,$b5,$35,$ff,$ca,$91,$30,$85,$32,$35,$8b,$34,$b5,$32,$ff // .4.5...0.25.4.2.
        .byte $ca,$85,$32,$35,$8b,$34,$85,$32,$35,$8b,$34,$b5,$e0,$31,$34,$e1 // ..25.4.25.4..14.
        .byte $31,$37,$ff,$ca,$bd,$e1,$21,$37       // 17....!7

dat_1a6b:
        // === Fill data (38 bytes, $1a6b-$1a90) ===
        .fill 38, $ff

dat_1a91:
        // === Fill data (1 bytes, $1a91-$1a91) ===
        .byte $00                                   // .

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

dat_1f00:
        // === Sine/lookup table (256 bytes, range $00-$ff) ===
        .byte $80,$83,$86,$89,$8c,$8f,$92,$95,$98,$9c,$9f,$a2,$a5,$a8,$ab,$ae // ................
        .byte $b0,$b3,$b6,$b9,$bc,$bf,$c1,$c4,$c7,$c9,$cc,$ce,$d1,$d3,$d5,$d8 // ................
        .byte $da,$dc,$de,$e0,$e2,$e4,$e6,$e8,$ea,$ec,$ed,$ef,$f0,$f2,$f3,$f5 // ................
        .byte $f6,$f7,$f8,$f9,$fa,$fb,$fc,$fc,$fd,$fe,$fe,$ff,$ff,$ff,$ff,$ff // ................
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$fe,$fe,$fd,$fc,$fc,$fb,$fa,$f9,$f8,$f7 // ................
        .byte $f6,$f5,$f3,$f2,$f0,$ef,$ed,$ec,$ea,$e8,$e6,$e4,$e2,$e0,$de,$dc // ................
        .byte $da,$d8,$d5,$d3,$d1,$ce,$cc,$c9,$c7,$c4,$c1,$bf,$bc,$b9,$b6,$b3 // ................
        .byte $b0,$ae,$ab,$a8,$a5,$a2,$9f,$9c,$98,$95,$92,$8f,$8c,$89,$86,$83 // ................
        .byte $80,$7c,$79,$76,$73,$70,$6d,$6a,$67,$63,$60,$5d // .|yvspmjgc`]

txt_1f8c:
        .text "ZWTQOLIFC"
        .byte $40                                   // @ character
        .text ">;8631.,*'%#!"
        .byte $1f,$1d,$1b,$19,$17,$15,$13,$12,$10,$0f,$0d,$0c,$0a,$09,$08,$07 // ................
        .byte $06,$05,$04,$03,$03,$02,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$01,$01,$02,$03,$03,$04,$05,$06,$07,$08,$09,$0a,$0c // ................
        .byte $0d,$0f,$10,$12,$13,$15,$17,$19,$1b,$1d,$1f // ...........

txt_1fde:
        .text "!#%'*,.1368;>"
        .byte $40                                   // @ character
        .text "CFILOQTWZ"
        .byte $5d,$60,$63,$67,$6a,$6d,$70,$73,$76,$79,$7c // ]`cgjmpsvy|

dat_2000:
        // === Fill data (1 bytes, $2000-$2000) ===
        .byte $00                                   // .

// --- Region $2020-$211f ---
.pc = $2020 "dat_2020"

dat_2020:
        .byte $ea,$ba,$ae,$ad,$b9,$ad,$b9,$ed,$a8,$ac,$bc,$fc,$dc,$f4,$dc,$74 // ...............t
        .fill 8, $00
        .byte $bf,$ef,$fb,$f9,$ed,$f9,$ed,$b9,$fc,$f8,$e8,$a8,$98,$a4,$98,$64 // ...............d
        .byte $ea,$ba,$ae,$ad,$b9,$ad,$b9,$ed,$aa,$aa,$aa,$ff,$dd,$f7,$dd,$74 // ...............t
        .byte $ee,$ba,$ea
        .text "UUUU"
        .byte $01,$e0,$7e,$dd
        .byte $55,$99,$a6,$a6,$99
        .byte $00,$00,$80,$c0,$90,$e0,$a0,$a0,$bf,$ef,$fb,$f9,$ed,$f9,$ed,$b9 // ................
        .byte $fc,$f8,$e8,$a8,$98,$a4,$98,$64,$00,$01,$07,$0f,$1f // .......d.....

txt_2085:
        .text "??=;"
        .byte $aa,$ab,$af,$b5,$d5,$d5
        .byte $55,$fe,$fb,$fe,$aa
        .byte $55
        .byte $55,$55,$00,$77,$5d,$77,$55,$aa,$a8,$a2,$00,$7c,$f8,$e8,$a0,$c8 // UU.w]wU....|....
        .byte $b0,$2c,$00,$00,$01,$07,$0f,$1f       // .,......

txt_20ad:
        .text "??=;"
        .byte $aa,$ab,$af,$b5,$d5,$d5
        .byte $55,$fe,$fb,$fe,$aa
        .byte $55
        .byte $55,$55,$00,$77,$5d,$77,$55,$aa,$a8,$a2,$00,$7c,$f8,$e8,$a0,$c8 // UU.w]wU....|....
        .byte $b0,$2c,$00,$00,$01,$07,$0f,$1f       // .,......

txt_20d5:
        .text "??=;"
        .byte $aa,$ab,$af,$b5,$d5,$d5
        .byte $55,$fe,$fb,$fe,$aa
        .byte $55
        .byte $55,$55,$00,$77,$5d,$77,$55,$aa,$a8,$a2,$00,$7c,$f8,$e8,$a0,$c8 // UU.w]wU....|....
        .byte $b0,$2c,$00,$00,$01,$07,$0f,$1f       // .,......

txt_20fd:
        .text "??=;"
        .byte $aa,$ab,$af,$b5,$d5,$d5
        .byte $55,$fe,$fb,$fe,$aa
        .byte $55
        .byte $55,$55,$00,$77,$5d,$77,$55,$aa,$a8,$a2,$00,$7c,$f8,$e8,$a0,$c8 // UU.w]wU....|....
        .byte $b0,$2c                               // .,

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

// --- Region $2160-$21cf ---
.pc = $2160 "dat_2160"

dat_2160:
        .byte $fe,$de,$fe,$be,$ee,$ba,$ee,$aa,$fc,$ec,$fc,$74,$fc,$74,$d4,$74 // ...........t.t.t
        .fill 8, $00
        .byte $fd,$ed,$fd,$7d,$dd,$75,$dd,$55,$fc,$ec,$fc,$74,$fc,$74,$d4,$74 // ...}.u.U...t.t.t
        .byte $fe,$de,$fe,$be,$ee,$ba,$ee,$aa,$fc,$ec,$fc,$74,$fc,$74,$d4,$74 // ...........t.t.t
        .fill 8, $00
        .byte $75,$95,$a5,$69,$99,$65,$99,$55,$e4,$b8,$a8,$64,$a8,$64,$94,$64 // u..i.e.U...d.d.d
        .byte $fd,$ed,$fd,$7d,$dd,$75,$dd,$55,$fc,$ec,$fc,$74,$fc,$74,$d4,$74 // ...}.u.U...t.t.t
        .byte $eb,$67,$57,$d7,$77,$df,$77,$ff,$ec,$b8,$a8,$64,$a8,$64,$94,$64 // .gW.w.w....d.d.d

// --- Region $21e8-$2260 ---
.pc = $21e8 "dat_21e8"

dat_21e8:
        .byte $7d,$b9,$a9,$69,$99,$65,$99,$55,$ec,$b8,$e8,$a8,$a7,$9f,$7f,$55 // }..i.e.U.......U
        .byte $00,$00,$00,$00,$fe,$ba,$ed,$56,$00,$00,$00,$00,$90,$60,$a0,$b0 // .......V.....`..
        .fill 8, $00
        .byte $eb,$67,$57,$d7,$77,$df,$77,$df,$ec,$b8,$e8,$a8,$a7,$9f,$7f,$55 // .gW.w.w........U
        .byte $00,$00,$00,$00,$fe,$ba,$ee,$55,$00,$00,$00,$00,$80,$fc,$af,$7f // .......U........
        .byte $00,$00,$00,$00,$00,$00,$00,$80,$7d,$b9,$a9,$69,$99,$65,$99,$65 // ........}..i.e.e
        .byte $ec,$b8,$e8,$a8,$a7,$9f,$7f,$55,$00,$00,$00,$00,$fe,$ba,$ee,$55 // .......U.......U
        .byte $00,$00,$00,$00,$c0,$a8,$fa,$6a,$00,$00,$00,$00,$00,$00,$00,$c0 // .......j........

dat_2260:
        // === Fill data (1 bytes, $2260-$2260) ===
        .byte $00                                   // .

// --- Region $22a0-$230f ---
.pc = $22a0 "dat_22a0"

dat_22a0:
        .byte $5d,$95,$65,$99,$a5,$99,$a9,$a9,$fc,$b8,$ec,$a8,$e0,$a8,$20,$88 // ].e........... .
        .fill 8, $00
        .byte $5d,$95,$65,$99,$a5,$99,$a9,$a9       // ].e.....

spr_22c0:
        .byte $fc,$b8,$ec,$a8,$e0,$a8,$a0,$88,$5d,$95,$65,$99,$a5,$99,$a9,$a9 // ........].e.....
        .byte $fc,$b8,$ec,$a8,$e0,$a8,$a0,$a8,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $5d,$95,$65,$99,$a5,$99,$a9,$a9,$fc,$b8,$ec,$a8,$e0,$a8,$a0,$a8 // ].e.............
        .byte $5d,$95,$65,$99,$a5,$99,$a9,$a9,$fc,$b8,$ec,$a8,$e0,$a8,$a0,$a8 // ].e.............
        .byte $5d,$95,$65,$99,$a5,$99,$a9,$a9,$fc,$b8,$ec,$a8,$e0,$a8,$20,$88 // ].e........... .

// --- Region $2328-$23a0 ---
.pc = $2328 "dat_2328"

dat_2328:
        .byte $5d,$95,$65,$99,$a5,$99,$a9,$a9,$bd,$6f,$d9,$54,$d0,$54,$10 // ].e......o.T.T.

txt_2337:
        .text "DGQD"
        .byte $00,$00,$00,$00,$00,$e0,$b0,$e0,$00,$00,$00,$00
        .fill 9, $00
        .byte $fd,$fa,$e9,$00,$00,$00,$00,$00,$bd,$ff,$bd,$00,$00,$00,$00,$00 // ................
        .byte $45,$51,$44,$01,$00,$00,$00,$00,$df,$b7,$e7,$f9,$ed,$b9,$a9,$a9 // EQD.............
        .byte $c0,$a0,$e0,$a0,$a0,$28,$a8,$28,$57,$5a,$6b,$00,$00,$00,$00,$00 // .....(.(WZk.....

spr_2380:
        .byte $e9,$aa,$e9,$00,$00,$00,$00,$00,$8a,$a2,$88,$02,$00,$00,$00,$00 // ................
        .byte $df,$b7,$e7,$f9,$ed,$b9,$a9,$a9,$c0,$a0,$e0,$a0,$a0,$28,$a8,$28 // .............(.(

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

// --- Region $23e0-$24e0 ---
.pc = $23e0 "dat_23e0"

dat_23e0:
        .byte $ed,$b9,$ad,$b9,$a9,$a7,$9f,$7f,$00,$0b,$2e,$bf,$55,$ee,$bb,$ee // ............U...
        .byte $00,$ab,$af,$bb,$55,$af,$bb,$af,$fd,$7d,$9d,$a5,$55,$aa,$a8,$aa // ....U....}..U...

scr_2400:
        .byte $30,$cc,$00,$c0,$00,$80,$e0,$38,$67,$9b,$a7,$9b,$ab,$ad,$b6,$d5 // 0......8g.......
        .byte $30,$cc,$00,$0c,$c0,$b0,$6c,$98,$00,$00,$00,$00,$00,$00,$00,$00 // 0.....l.........
        .byte $ed,$b9,$ad,$b9,$a9,$a7,$9e,$7f,$30,$cc,$00,$0c,$c0,$b0,$6c,$98 // ........0.....l.
        .byte $ed,$b9,$ad,$b9,$a9,$a7,$9e,$7f,$20,$88,$00,$08,$80,$e0,$78,$dc // ........ .....x.
        .byte $ed,$b9,$ad,$b9,$a9,$a7,$9f,$7f,$00,$0b,$2e,$bf,$55,$ee,$bb,$ee // ............U...
        .byte $00,$fe,$fa,$ee,$55,$fa,$ee,$fa,$00,$ae,$bb,$ef,$55,$bf,$ec,$bf // ....U.......U...
        .byte $00,$ac,$b8,$e0,$a8,$e8,$b8,$2c,$ed,$b9,$ad,$b9,$a9,$a7,$9f,$7f // .......,........
        .byte $00,$0b,$2e,$bf,$55,$ee,$bb,$ee,$00,$fe,$fa,$ee,$55,$fa,$ee,$fa // ....U.......U...
        .byte $00,$ae,$bb,$ef,$55,$bf,$ec,$bf,$00,$ac,$b8,$e0,$a8,$e8,$b8,$2c // ....U..........,
        .byte $00,$7f,$9f,$b7,$a9,$a7,$9f,$7e,$00,$bb,$ee,$ba,$55,$ee,$ba,$aa // .......~....U...
        .byte $00,$fe,$fa,$ee,$55,$fa,$ee,$ba,$a9,$ad,$b9,$ed,$55,$bf,$ec,$bf // ....U.......U...
        .byte $88,$20,$08,$20,$80,$e0,$b8,$2c,$00,$7f,$9f,$b7,$a9,$a7,$9f,$7e // . . ...,.......~
        .byte $00,$bb,$ee,$ba,$55,$ee,$ba,$aa,$00,$fe,$fa,$ee,$55,$fa,$ee,$ba // ....U.......U...
        .byte $a9,$ad,$b9,$ed,$55,$bf,$ec,$bf,$88,$20,$08,$20,$80,$e0,$b8,$2c // ....U.... . ...,

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

// --- Region $269b-$269b ---
.pc = $269b "dat_269b"

dat_269b:
        // === Fill data (1 bytes, $269b-$269b) ===
        .byte $00                                   // .

// --- Region $2700-$27ff ---
.pc = $2700 "dat_2700"

dat_2700:
        .byte $f1,$f1,$f1,$f7,$f7,$fa,$f1,$f1,$f1,$27,$fa,$21,$f7,$ff,$f1,$f1 // .........'.!....
        .byte $f1,$f7,$f7,$fa,$fa,$f1,$17,$f7,$fa,$fa,$f1,$f7,$f7,$fa,$fa,$f1 // ................
        .byte $27,$f7,$fa,$fa,$fa,$f1,$f1,$f1,$91,$f8,$f1,$f7,$f7,$f8,$f8,$07 // '...............
        .byte $f8,$f7,$58,$f8,$fa,$fa,$f7,$f8,$ff,$fa,$ff,$f8,$f9,$f1,$fa,$fa // ..X.............
        .byte $f9,$f8,$ff,$fa,$fa,$22,$f8,$01,$fa,$fa,$f8,$f2,$f1,$f1,$21,$21 // ....."........!!
        .byte $fa,$21,$f1,$f7,$f7,$f2,$f2,$f7,$f2,$f7,$f2,$f2,$f7,$f2,$f7,$f2 // .!..............
        .byte $f7,$f2,$f2,$f9,$81,$57,$f2,$f8,$f9,$f9,$ff,$f2,$f8,$59,$f2,$f2 // .....W.......Y..
        .byte $f8,$22,$f9,$f2,$f1,$f1,$f1,$f1,$f8,$f8,$f2,$f8,$fa,$fa,$f2,$f8 // ."..............

spr_2780:
        .byte $f9,$ff,$f9,$28,$fa,$f9,$fa,$28,$fa,$fa,$f8,$f9,$f8,$fa,$fa,$f8 // ...(...(........
        .byte $f9,$f8,$fa,$fa,$f8,$f9,$28,$fa,$fa,$f8,$f9,$f8,$f9,$f1,$f1,$f1 // ......(.........
        .byte $f1,$f1,$21,$f1,$f1,$21,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1 // ..!..!..........
        .fill 17, $f1
        .byte $21,$f1,$f1,$f1,$f1,$f1,$21,$f1,$21,$f1,$f1,$f1,$01,$f1,$21,$21 // !.....!.!.....!!
        .byte $f1,$21,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1,$f1 // .!..............
        .fill 9, $f1
        .byte $21,$f1,$f1,$f1,$f1,$f1,$01,$f1,$21,$21,$f1,$f1,$f1,$f1,$f1,$f1 // !.......!!......
        .byte $f1,$21,$f1,$f1,$f1,$f1               // .!....

// --- Region $2891-$28b9 ---
.pc = $2891 "bmp_2891"

bmp_2891:
        // === Bitmap data (41 bytes, $2891-$28b9) ===
        .byte $06,$04,$0e,$03,$0d,$07,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ................
        .fill 17, $01
        .byte $07,$0f,$0a,$08,$02,$09,$01,$10       // ........

// --- Region $2905-$2924 ---
.pc = $2905 "Segment $2905"
        .byte $0e,$14,$12,$0f,$20,$02,$19,$3a,$20,$12,$01,$19,$20,$28,$03,$0f // .... ..: ... (..
        .byte $04,$05                               // ..

txt_2917:
        .text ") & "
        .byte $17,$01,$16,$05
        .byte $20,$28,$07,$06,$18
        .byte $29

// --- Region $2b6e-$2b93 ---
.pc = $2b6e "bmp_2b6e"

bmp_2b6e:
        // === Bitmap data (38 bytes, $2b6e-$2b93) ===
        .byte $01,$01,$07,$07,$0f,$0f,$0c,$0c,$0b,$0b,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$0b,$0b,$0c,$0c,$0f,$0f,$07,$07,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$01,$01,$01               // ......

// --- Region $2c0b-$2e00 ---
.pc = $2c0b "bmp_2c0b"

bmp_2c0b:
        // === Bitmap data (502 bytes, $2c0b-$2e00) ===
        .byte $01,$01,$0d,$0d,$07,$07,$0f,$0f,$0a,$0a,$08,$08,$02,$02,$09,$09 // ................
        .byte $00,$10,$09,$09,$02,$02,$08,$08,$0a,$0a,$0f,$0f,$07,$07,$0d,$0d // ................
        .byte $01,$01,$01,$0d,$0d,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00                   // .....

txt_2c40:
        .text "       I"
        .byte $0e,$13,$05,$12,$14
        .byte $20,$53,$09
        .byte $04,$05,$20,$32,$20,$0f,$06,$20,$14,$08,$05,$20,$04,$09,$13,$0b // .. 2 .. ... ....

txt_2c60:
        .fill 11, $20
        .byte $43,$0f,$0e,$14,$01,$03,$14,$20,$14,$08,$05,$20,$12,$15,$0c,$05 // C...... ... ....
        .byte $12,$13,$20,$0f,$0e,$20,$14,$08,$09,$13,$20,$01,$04,$12,$05,$13 // .. .. .... .....
        .byte $13                                   // .

txt_2c8c:
        .text ":               "
        .byte $20,$4d,$01,$13,$0f,$0e,$2f,$55,$0e,$09,$03,$05,$13,$13 //  M..../U......

txt_2caa:
        .fill 31, $20
        .byte $4d,$01,$13,$0f,$0e                   // M....

txt_2cce:
        .fill 30, $20
        .byte $50,$0f,$13,$14,$05,$20,$52,$05,$13,$14,$01,$0e,$14,$05 // P.... R.......

txt_2cfa:
        .fill 25, $20
        .text "DK-8270 H"
        .byte $0f,$0a,$02,$0a,$05,$12,$07

txt_2d23:
        .fill 29, $20
        .byte $44,$05,$0e,$0d,$01,$12,$0b           // D......

txt_2d47:
        .text "!               "
        .fill 11, $20
        .byte $4c,$01,$0d,$05,$12,$13,$20,$01,$12,$05,$20,$17,$05,$0c,$03,$0f // L..... ... .....
        .byte $0d,$05                               // ..

txt_2d74:
        .fill 22, $20
        .byte $49,$20,$0c,$0f,$16,$05,$20,$06,$12,$05,$05,$20,$04,$09,$13,$0b // I .... .... ....
        .byte $13                                   // .

txt_2d9b:
        .text "!           "
        .byte $00

dat_2da8:
        .text "                                             U"
        .byte $0e,$09,$03,$05,$13,$13,$20,$50,$12,$0f,$15,$04,$0c,$19,$20,$50 // ...... P...... P
        .byte $12,$05,$13,$05,$0e,$14,$13           // .......

txt_2ded:
        .text ":               "
        .byte $20,$20,$20                           //    

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

// --- Region $2e20-$2e60 ---
.pc = $2e20 "txt_2e20"

txt_2e20:
        .fill 28, $20
        .byte $43,$12,$05,$01,$14,$15,$12,$05,$13   // C........

txt_2e45:
        .text " 2+3M           "
        .fill 11, $20

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

// --- Region $2ea0-$2fa0 ---
.pc = $2ea0 "dat_2ea0"

dat_2ea0:
        .byte $20,$1f                               //  .

txt_2ea2:
        .text "5  C"
        .byte $12,$05,$01,$14,$15,$12,$05,$13

txt_2eae:
        .text " II+3M "
        .byte $17,$01,$13
        .byte $20,$03,$12,$01,$03,$0b
        .byte $05,$04,$2c,$20,$14,$12,$01,$09,$0e,$05,$04,$20,$01,$0e,$04,$20 // .., ....... ... 
        .byte $09,$06,$06,$0c,$2d,$0c,$09,$0e,$0b,$05,$04,$20,$02,$19,$20,$4d // ....-...... .. M
        .byte $01,$13,$0f,$0e,$20,$0f,$06,$20,$55,$0e,$09,$03,$05,$13,$13 // .... .. U......

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

txt_2f37:
        .text "???      "
        .byte $19,$0f,$15
        .byte $20,$12,$05,$14
        .byte $15,$12,$0e,$20,$14,$08,$05,$20,$02,$01,$02,$19,$20,$14,$0f,$20 // ... ... .... .. 
        .byte $14,$08,$05,$20,$10,$05,$12,$01,$0d,$02,$15,$0c,$01,$14,$0f,$12 // ... ............

txt_2f67:
        .text "   HE HE HE     "
        .text "   M"
        .byte $01,$13,$0f,$0e
        .byte $20,$09,$13
        .byte $20,$0f,$06,$06

txt_2f86:
        .text "!               "
        .fill 10, $20

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