// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:06
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $2fff  (10240 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2700 (9984)
// IRQ handler:  $27d3 (irq_27d3)
//
// Code: 2307 bytes, Data: 7933 bytes
// Labels: 287, Subroutines: 4
//
// Cross-references: all OK
// ============================================


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

sub_1000:
        jmp loc_16b7
// Referenced by: jsr from $2802

sub_1003:
        jmp loc_11ce

dat_1006:
        // === Data block (1 bytes, $1006-$1006) ===
        .byte $78                                   // x

// --- Region $11ce-$1327 ---
.pc = $11ce "loc_11ce"

loc_11ce:
        dec dat_1160
        ldx #$00

loc_11d3:
        jsr sub_123d
        inx
        cpx #$03
        bne loc_11d3
        lda dat_1160
        bpl loc_11e6
        lda $11cd
        sta dat_1160

loc_11e6:
        ldy $11c7
        lda $11c6
        and #$01
        bne loc_1210
        lda $11ca
        beq loc_1203
        dec $11ca
        bne loc_1203
        lda $18d3,y
        sta $11ca
        inc $11c6

loc_1203:
        lda $11c9
        clc
        adc $18dc,y
        sta $11c9
        jmp loc_122d

loc_1210:
        lda $11ca
        beq loc_1223
        dec $11ca
        bne loc_1223
        lda $18ca,y
        sta $11ca
        inc $11c6

loc_1223:
        lda $11c9
        clc
        adc $18e5,y
        sta $11c9

loc_122d:
        lda $11c9
        sta $d416
        lda $11c8
        sta $d418
        rts

loc_123a:
        jmp loc_14ec
// Referenced by: jsr from $11d3

sub_123d:
        lda dat_1160
        bpl loc_123a
        dec $117f,x
        beq loc_12ab
        jmp loc_1478

loc_124a:
        iny
        lda ($fb),y
        sta $1161,x

loc_1250:
        lda $11be,x
        sta $fb
        lda $11c1,x
        sta $fc
        ldy $1161,x
        lda ($fb),y
        bpl loc_129e
        cmp #$c0
        bcs loc_1271
        sec
        sbc #$a0
        sta $116a,x

loc_126b:
        inc $1161,x
        jmp loc_1250

loc_1271:
        cmp #$f0
        bcs loc_1286
        and #$0f
        sta $fd
        lda $11c8
        and #$f0
        ora $fd
        sta $11c8
        jmp loc_126b

loc_1286:
        cmp #$fd
        beq loc_124a
        cmp #$fe
        bne loc_1297
        ldy dat_1724,x
        lda #$00
        sta $d404,y
        rts

loc_1297:
        lda #$00
        sta $1161,x
        beq loc_1250

loc_129e:
        cmp #$60
        bcc loc_12b0
        sec
        sbc #$5e
        sta $117c,x
        jmp loc_126b

loc_12ab:
        lda $1164,x
        bmi loc_1250

loc_12b0:
        sta $1164,x
        tay
        lda $17f2,y
        sta $fb
        lda $181f,y
        sta $fc
        ldy $1167,x

loc_12c1:
        lda ($fb),y
        bpl loc_133c
        cmp #$e0
        bcs loc_12d7
        and #$7f
        bne loc_12d0
        iny
        lda ($fb),y

loc_12d0:
        sta $1179,x

loc_12d3:
        iny
        jmp loc_12c1

loc_12d7:
        cmp #$f0
        bcs loc_12ec
        and #$0f
        sta $fd
        lda $11c8
        and #$f0
        ora $fd
        sta $11c8
        jmp loc_12d3

loc_12ec:
        cmp #$f0
        beq loc_12d3
        cmp #$f1
        bne loc_12fd
        iny
        lda ($fb),y
        sta $11bb,x
        jmp loc_12d3

loc_12fd:
        cmp #$f2
        bne loc_131b
        iny
        lda ($fb),y
        sta $1185,x
        sty $fd
        ldy dat_1724,x
        sta $d406,y
        ldy $fd

loc_1311:
        lda #$fe
        sta $1176,x

loc_1316:
        inc $1173,x
        bne loc_134f

loc_131b:
        cmp #$f3
        beq loc_1311
        cmp #$f4
        beq loc_1316
        cmp #$ff
        bne loc_133c

dat_1327:
        .byte $bd                                   // .

// --- Region $1332-$1723 ---
.pc = $1332 "loc_1332"

loc_1332:
        adc ($11,x)
        lda #$00
        sta $1167,x
        jmp loc_1250

loc_133c:
        cmp #$60
        bcc loc_1348
        and #$1f
        sta $116d,x
        jmp loc_12d3

loc_1348:
        clc
        adc $116a,x
        sta $1170,x

loc_134f:
        iny
        tya
        sta $1167,x
        lda $1179,x
        sta $117f,x
        lda $1173,x
        beq loc_1394
        bmi loc_1364
        jmp loc_1475

loc_1364:
        lda $1170,x
        sta $11a9,x
        tay
        lda $172a,y
        sta $11af,x
        lda $178a,y
        sta $11b2,x
        lda $11ac,x
        sta $1170,x
        tay
        lda $11af,x
        sec
        sbc $172a,y
        sta $11af,x
        lda $11b2,x
        sbc $178a,y
        sta $11b2,x
        jmp loc_1475

loc_1394:
        ldy $116d,x
        lda $1882,y
        asl
        asl
        asl
        asl
        sta $118b,x
        lda $1882,y
        lsr
        lsr
        lsr
        lsr
        sta $118e,x
        lda $188b,y
        sta $1191,x
        lda #$00
        sta $119d,x
        sta $11a0,x
        sta $11a6,x
        sta $11a3,x
        sta $1182,x
        sta $119a,x
        sta $11b5,x
        sta $11b8,x
        sta $11af,x
        sta $11b2,x
        lda $189d,y
        bne loc_13e2
        lda $18af,y
        sta $11a6,x
        lda $18a6,y
        sta $11a3,x

loc_13e2:
        lda $1727,x
        eor #$ff
        and $11cb
        sta $11cb
        lda $1855,y
        and #$f0
        beq loc_142a
        sta $fd
        lda $11c8
        and #$0f
        ora $fd
        sta $11c8
        lda $11cb
        cmp #$f0
        ora $1727,x
        sta $11cb
        cpy $11c7
        bne loc_1415
        lda $18b8,y
        bpl loc_142a

loc_1415:
        tya
        sta $11c7
        lda $18c1,y
        sta $11c9
        lda $18ca,y
        sta $11ca
        lda #$00
        sta $11c6

loc_142a:
        lda $11cb
        sta $d417
        lda $184c,y
        sta $1197,x
        lda #$ff
        sta $1176,x
        sta $1194,x
        lda $1879,y
        sta $1188,x
        beq loc_1475
        ldy dat_1724,x
        lda #$ff
        sta $d405,y
        lda #$0f
        sta $d406,y
        lda #$09
        sta $d404,y
// Referenced by: jsr from $1475

sub_1458:
        lda #$00
        sta $1173,x
        ldy $1167,x
        lda ($fb),y
        cmp #$f0
        bne loc_146b
        lda #$01
        sta $1173,x

loc_146b:
        cmp #$f1
        bne loc_1474

dat_146f:
        .byte $a9,$81,$9d,$73,$11                   // ...s.

loc_1474:
        rts

loc_1475:
        jsr sub_1458

loc_1478:
        lda $1170,x
        sta $11ac,x
        inc $1182,x
        bne loc_1486
        dec $1182,x

loc_1486:
        ldy $117f,x
        lda $1173,x
        beq loc_1490
        ldy #$ff

loc_1490:
        sty $11cc
        ldy $116d,x
        lda $1870,y
        bpl loc_14a3
        and #$7f
        cmp $1182,x
        jmp loc_14a6

loc_14a3:
        cmp $11cc

loc_14a6:
        bne loc_14ad
        lda #$fe
        sta $1176,x

loc_14ad:
        lda $189d,y
        bpl loc_14ba
        and #$7f
        cmp $1182,x
        jmp loc_14bd

loc_14ba:
        cmp $11cc

loc_14bd:
        bne loc_14c5
        lda $18a6,y
        sta $11a3,x

loc_14c5:
        lda $1188,x
        bpl loc_14d2
        and #$7f
        cmp $1182,x
        jmp loc_14d5

loc_14d2:
        cmp $11cc

loc_14d5:
        bne loc_14e9
        lda $1185,x
        and #$f0
        ora #$01
        ldy dat_1724,x
        sta $d406,y
        lda #$fe
        sta $1176,x

loc_14e9:
        jmp loc_14ec

loc_14ec:
        lda #$ff
        cmp $1194,x
        bne loc_150b
        ldy $116d,x
        lda $1867,y
        sta $1185,x
        lda $185e,y
        ldy dat_1724,x
        sta $d405,y
        lda $1185,x
        sta $d406,y

loc_150b:
        ldy $116d,x
        lda $1191,x
        bmi loc_1534
        beq loc_1522
        dec $1191,x
        bne loc_1522
        lda $188b,y
        ora #$80
        sta $1191,x

loc_1522:
        lda $1894,y
        clc
        adc $118b,x
        sta $118b,x
        bcc loc_1531
        inc $118e,x

loc_1531:
        jmp loc_1556

loc_1534:
        and #$7f
        beq loc_1547
        dec $1191,x
        cmp #$01
        bne loc_1547
        lda $188b,y
        and #$7f
        sta $1191,x

loc_1547:
        lda $118b,x
        sec
        sbc $1894,y
        sta $118b,x
        bcs loc_1556
        dec $118e,x

loc_1556:
        lda $11a3,x
        beq loc_1571
        lda $18b8,y
        and #$7f
        clc
        adc $11a6,x
        bcs loc_156b
        cmp $18af,y
        bcc loc_156e

loc_156b:
        lda $18af,y

loc_156e:
        sta $11a6,x

loc_1571:
        lda $11a3,x
        bmi loc_1597
        beq loc_1585
        dec $11a3,x
        bne loc_1585
        lda $18a6,y
        ora #$80
        sta $11a3,x

loc_1585:
        lda $11a6,x
        clc
        adc $119d,x
        sta $119d,x
        bcc loc_1594
        inc $11a0,x

loc_1594:
        jmp loc_15b9

loc_1597:
        and #$7f
        beq loc_15aa
        dec $11a3,x
        cmp #$01
        bne loc_15aa
        lda $18a6,y
        and #$7f
        sta $11a3,x

loc_15aa:
        lda $119d,x
        sec
        sbc $11a6,x
        sta $119d,x
        bcs loc_15b9
        dec $11a0,x

loc_15b9:
        lda $11b2,x
        eor $11b8,x
        bmi loc_1614
        lda $11b8,x
        cmp $11b2,x
        beq loc_15cd
        bcc loc_15d9
        bcs loc_1614

loc_15cd:
        lda $11b5,x
        cmp $11af,x
        beq loc_1641
        bcc loc_15d9
        bcs loc_1614

loc_15d9:
        lda $11bb,x
        beq loc_15e7
        clc
        adc $11b5,x
        sta $11b5,x
        bcc loc_15ea

loc_15e7:
        inc $11b8,x

loc_15ea:
        lda $11b8,x
        lda $11b8,x
        cmp $11b2,x
        bcc loc_1641
        lda $11b5,x
        cmp $11af,x
        bcc loc_1641

loc_15fd:
        lda #$00
        sta $11b5,x
        sta $11b8,x
        sta $11af,x
        sta $11b2,x
        lda $11a9,x
        sta $1170,x
        jmp loc_1641

loc_1614:
        lda $11bb,x
        beq loc_1625
        lda $11b5,x
        sec
        sbc $11bb,x
        sta $11b5,x
        bcs loc_1628

loc_1625:
        dec $11b8,x

loc_1628:
        lda $11b8,x
        lda $11b8,x
        cmp $11b2,x
        beq loc_1635
        bcs loc_1641

loc_1635:
        lda $11b5,x
        cmp $11af,x
        beq loc_15fd
        bcs loc_1641
        bne loc_15fd

loc_1641:
        dec $119a,x
        bpl loc_1654
        ldy $116d,x
        lda $1855,y
        and #$0f
        sta $119a,x
        inc $1197,x

loc_1654:
        ldy $1197,x
        lda $18ee,y
        cmp #$ff
        bne loc_1668
        lda $190b,y
        tay
        sta $1197,x
        lda $18ee,y

loc_1668:
        sta $1194,x
        lda $190b,y
        bpl loc_1677
        sec
        sbc #$c0
        clc
        adc $1170,x

loc_1677:
        tay
        lda $172a,y
        clc
        adc $11b5,x
        sta $11c4
        lda $178a,y
        adc $11b8,x
        sta $11c5
        ldy dat_1724,x
        lda $11c4
        clc
        adc $119d,x
        sta $d400,y
        lda $11c5
        adc $11a0,x
        sta $d401,y
        lda $118b,x
        sta $d402,y
        lda $118e,x
        sta $d403,y
        lda $1194,x
        and $1176,x
        sta $d404,y
        rts

loc_16b7:
        asl
        asl
        asl
        tay
        ldx #$00

loc_16bd:
        lda $17ea,y
        sta $11be,x
        iny
        lda $17ea,y
        sta $11c1,x
        iny
        inx
        cpx #$03
        bne loc_16bd
        ldx #$00
        lda #$00

loc_16d4:
        sta $d400,x
        inx
        cpx #$16
        bne loc_16d4
        lda $17ea,y
        and #$0f
        sta $d418
        sta $11c8
        lda $17ea,y
        and #$f0
        sta $d417
        sta $11cb
        lda $17eb,y
        sta $11cd
        ldx #$02

loc_16fa:
        lda #$01
        sta $117f,x
        lda #$00
        sta $116a,x
        sta $117c,x
        sta $1161,x
        sta $1167,x
        sta $1173,x
        sta $1176,x
        lda #$ff
        sta $1164,x
        dex
        bpl loc_16fa
        sta $11c7
        lda #$07
        sta dat_1160
        rts

// --- Region $228d-$228d ---
.pc = $228d "Segment $228d"
        brk

// --- Region $2700-$2ab5 ---
.pc = $2700 "main_2700"

main_2700:
        sei
        jsr $fda3
        jsr $ff5b
        ldx #$01
        stx $d01a
        dex
        stx $d011
        stx $d020
        stx $d021
        stx $dc0e
        stx $02
        stx $2b
        stx $2c
        stx $ad
        lda #$08

loc_2723:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_2723
        lda #$10
        sta $2d
        lda #$10
        sta $ae
        lda #$13
        sta $d018
        lda #$97
        sta $dd00
        lda #$92
        sta $d012
        ldx #$d3
        ldy #$27
        stx $0314
        sty $0315
        lda #$00
        jsr sub_1000
        ldy #$0b

loc_275a:
        ldx #$28

loc_275c:
.label smc_275d = * + 1
        lda spr_2000,x                              // !SMC: modified by $2771
.label smc_2760 = * + 1
        sta $03ff,x                                 // !SMC: modified by $277f
.label smc_2763 = * + 1
        lda $2396,x                                 // !SMC: modified by $278d
.label smc_2766 = * + 1
        sta $062f,x                                 // !SMC: modified by $279b
        dex
        bne loc_275c
        clc
        lda smc_275d
        adc #$50
        sta smc_275d                                // SMC: modifies $275d
        bcc loc_2779
        inc $275e

loc_2779:
        clc
        lda smc_2760
        adc #$28
        sta smc_2760                                // SMC: modifies $2760
        bcc loc_2787
        inc $2761

loc_2787:
        clc
        lda smc_2763
        adc #$50
        sta smc_2763                                // SMC: modifies $2763
        bcc loc_2795
        inc $2764

loc_2795:
        clc
        lda smc_2766
        adc #$28
        sta smc_2766                                // SMC: modifies $2766
        bcc loc_27a3
        inc $2767

loc_27a3:
        dey
        bne loc_275a
        ldx #$78
        lda #$a0

loc_27aa:
        sta $05b7,x
        sta $d9b7,x
        dex
        bne loc_27aa
        lda #$0f
        sta $d021
        lda #$0b
        sta $d022
        lda #$0c
        sta $d023
        ldx #$29
        stx $2e
        ldx #$26
        stx $af
        lda #$c1
        sta $0318
        cli

loc_27d0:
        jmp loc_27d0

irq_27d3:
        inc $d019
        lda #$92

loc_27d8:
        cmp $d012
        bne loc_27d8
        ldx #$0a

loc_27df:
        dex
        bne loc_27df
        lda $2c
        sta $d016
        lda $dc01
        and #$10
        bne loc_27f1
        jmp loc_2a69

loc_27f1:
        lda #$9a

loc_27f3:
        cmp $d012
        bne loc_27f3
        ldx #$0a

loc_27fa:
        dex
        bne loc_27fa
        lda $ae
        sta $d016
        jsr sub_1003
        lda $2c
        sec
        sbc #$03
        bmi loc_2811
        sta $2c
        jmp loc_285f

loc_2811:
        and #$07
        sta $2c
        ldx #$00

loc_2817:
        lda $05e1,x
        sta $05e0,x
        inx
        cpx #$27
        bne loc_2817
        lda $02
        bne loc_2855

loc_2826:
.label smc_2827 = * + 1
.label smc_2828 = * + 2
        lda $2b80                                   // !SMC: modified by $282d, $2832
        bne loc_2839
        lda #$80
        sta smc_2827                                // SMC: modifies $2827
        lda #$2b
        sta smc_2828                                // SMC: modifies $2828
        bne loc_2826
        and #$3f

loc_2839:
        ora #$80
        sta $0607
        ldx #$10

loc_2840:
        cmp $0b88,x
        beq loc_284a
        dex
        bne loc_2840
        inc $02

loc_284a:
        inc smc_2827
        bne loc_2852
        inc smc_2828

loc_2852:
        jmp loc_285f

loc_2855:
        dec $02
        lda $0606
        ora #$40
        sta $0607

loc_285f:
        lda $2b
        beq loc_2866
        jmp loc_28f1

loc_2866:
        ldx $ad
        sec
        lda $2d
        and #$ef
        sbc $0bb0,x
        bmi loc_2879
        ora #$10
        sta $2d
        jmp loc_296f

loc_2879:
        and #$07
        ora #$10
        sta $2d
        ldx #$00

loc_2881:
        lda $0401,x
        sta $0400,x
        inx
        cpx #$dc
        bne loc_2881
        ldx #$00

loc_288e:
        lda $04dc,x
        sta $04db,x
        inx
        cpx #$dc
        bne loc_288e
        ldy #$0b
        ldx $2e

loc_289d:
.label smc_289e = * + 1
.label smc_289f = * + 2
        lda spr_2000,x                              // !SMC: modified by $28a9, $28c4, $28c9
.label smc_28a1 = * + 1
.label smc_28a2 = * + 2
        sta $0427                                   // !SMC: modified by $28b7, $28ce, $28d3
        clc
        lda smc_289e
        adc #$50
        sta smc_289e                                // SMC: modifies $289e
        bcc loc_28b1
        inc smc_289f

loc_28b1:
        clc
        lda smc_28a1
        adc #$28
        sta smc_28a1                                // SMC: modifies $28a1
        bcc loc_28bf
        inc smc_28a2

loc_28bf:
        dey
        bne loc_289d
        lda #$00
        sta smc_289e                                // SMC: modifies $289e
        lda #$20
        sta smc_289f                                // SMC: modifies $289f
        lda #$27
        sta smc_28a1                                // SMC: modifies $28a1
        lda #$04
        sta smc_28a2                                // SMC: modifies $28a2
        inc $ad
        inc $2e
        lda $2e
        cmp #$50
        bne loc_28ee
        inc $2b
        ldx #$27
        stx $2e
        ldx #$2a
        stx $af
        lda #$00
        sta $ad

loc_28ee:
        jmp loc_296f

loc_28f1:
        clc
        ldx $ad
        lda $2d
        adc $0bb0,x
        cmp #$18
        bcs loc_2902
        sta $2d
        jmp loc_296f

loc_2902:
        and #$17
        sta $2d
        ldx #$dc

loc_2908:
        lda $04da,x
        sta $04db,x
        dex
        bne loc_2908
        ldx #$dc

loc_2913:
        lda $03ff,x
        sta $0400,x
        dex
        bne loc_2913
        ldy #$0b
        ldx $2e

loc_2920:
.label smc_2921 = * + 1
.label smc_2922 = * + 2
        lda spr_2000,x                              // !SMC: modified by $292c, $2947, $294c
.label smc_2924 = * + 1
.label smc_2925 = * + 2
        sta $0400                                   // !SMC: modified by $293a, $2951, $2956
        clc
        lda smc_2921
        adc #$50
        sta smc_2921                                // SMC: modifies $2921
        bcc loc_2934
        inc smc_2922

loc_2934:
        clc
        lda smc_2924
        adc #$28
        sta smc_2924                                // SMC: modifies $2924
        bcc loc_2942
        inc smc_2925

loc_2942:
        dey
        bne loc_2920
        lda #$00
        sta smc_2921                                // SMC: modifies $2921
        lda #$20
        sta smc_2922                                // SMC: modifies $2922
        lda #$00
        sta smc_2924                                // SMC: modifies $2924
        lda #$04
        sta smc_2925                                // SMC: modifies $2925
        inc $ad
        dec $2e
        lda $2e
        bne loc_296f
        dec $2b
        ldx #$29
        stx $2e
        ldx #$27
        stx $af
        lda #$00
        sta $ad

loc_296f:
        lda $d012
        cmp #$10
        bcs loc_296f
        lda $2d
        sta $d016
        lda #$1b
        sta $d011
        lda $2b
        bne loc_2987
        jmp loc_29fc

loc_2987:
        ldx $ad
        sec
        lda $ae
        and #$ef
        sbc $0bb0,x
        bmi loc_299a
        ora #$10
        sta $ae
        jmp loc_2a66

loc_299a:
        and #$07
        ora #$10
        sta $ae
        ldx #$00

loc_29a2:
        lda $0631,x
        sta $0630,x
        inx
        cpx #$dc
        bne loc_29a2
        ldx #$00

loc_29af:
        lda $070c,x
        sta $070b,x
        inx
        cpx #$dc
        bne loc_29af
        ldy #$0b
        ldx $af

loc_29be:
.label smc_29bf = * + 1
.label smc_29c0 = * + 2
        lda $2370,x                                 // !SMC: modified by $29ca, $29e5, $29ea
.label smc_29c2 = * + 1
.label smc_29c3 = * + 2
        sta $0657                                   // !SMC: modified by $29d8, $29ef, $29f4
        clc
        lda smc_29bf
        adc #$50
        sta smc_29bf                                // SMC: modifies $29bf
        bcc loc_29d2
        inc smc_29c0

loc_29d2:
        clc
        lda smc_29c2
        adc #$28
        sta smc_29c2                                // SMC: modifies $29c2
        bcc loc_29e0
        inc smc_29c3

loc_29e0:
        dey
        bne loc_29be
        lda #$70
        sta smc_29bf                                // SMC: modifies $29bf
        lda #$23
        sta smc_29c0                                // SMC: modifies $29c0
        lda #$57
        sta smc_29c2                                // SMC: modifies $29c2
        lda #$06
        sta smc_29c3                                // SMC: modifies $29c3
        inc $af
        jmp loc_2a66

loc_29fc:
        clc
        ldx $ad
        lda $ae
        adc $0bb0,x
        cmp #$18
        bcs loc_2a0d
        sta $ae
        jmp loc_2a66

loc_2a0d:
        and #$17
        sta $ae
        ldx #$dc

loc_2a13:
        lda $070a,x
        sta $070b,x
        dex
        bne loc_2a13
        ldx #$dc

loc_2a1e:
        lda $062f,x
        sta $0630,x
        dex
        bne loc_2a1e
        ldy #$0b
        ldx $af

loc_2a2b:
.label smc_2a2c = * + 1
.label smc_2a2d = * + 2
        lda $2370,x                                 // !SMC: modified by $2a37, $2a52, $2a57
.label smc_2a2f = * + 1
.label smc_2a30 = * + 2
        sta $0630                                   // !SMC: modified by $2a45, $2a5c, $2a61
        clc
        lda smc_2a2c
        adc #$50
        sta smc_2a2c                                // SMC: modifies $2a2c
        bcc loc_2a3f
        inc smc_2a2d

loc_2a3f:
        clc
        lda smc_2a2f
        adc #$28
        sta smc_2a2f                                // SMC: modifies $2a2f
        bcc loc_2a4d
        inc smc_2a30

loc_2a4d:
        dey
        bne loc_2a2b
        lda #$70
        sta smc_2a2c                                // SMC: modifies $2a2c
        lda #$23
        sta smc_2a2d                                // SMC: modifies $2a2d
        lda #$30
        sta smc_2a2f                                // SMC: modifies $2a2f
        lda #$06
        sta smc_2a30                                // SMC: modifies $2a30
        dec $af

loc_2a66:
        jmp $ea7e

loc_2a69:
        sei
        jsr $fda3
        jsr $ff5b
        lda #$00
        sta $d020
        sta $d021
        ldx #$1f

loc_2a7a:
        lda $fd30,x
        sta $0314,x
        dex
        bpl loc_2a7a
        ldx #$00
        txa

loc_2a86:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_2a86
        lda #$17
        sta $d018
        lda #$80
        sta $0291
        ldx #$a0

loc_2aa1:
        lda #$0f
        sta $d877,x
        lda $2adf,x
        sta $0477,x
        dex
        bne loc_2aa1
        ldx #$37
        stx $01
        jmp $fce2

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

// --- Region $0800-$0bd7 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (984 bytes, $0800-$0bd7) ===
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 0 @+0
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$fd,$fe       // char 1 @+1
        .byte $ff,$fd,$f4,$d0,$40,$80,$00,$00       // char 2 @+2
        .byte $d8,$80,$00,$00,$00,$00,$00,$00       // char 3 @+3
        .byte $00,$00,$00,$00,$00,$00,$20,$10       // char 4 @+4
        .byte $9f,$09,$00,$00,$00,$00,$00,$00       // char 5 @+5
        .byte $ff,$ff,$7f,$1f,$07,$0b,$01,$02       // char 6 @+6
        .byte $f6,$f8,$f8,$f0,$f0,$f0,$f0,$f0       // char 7 @+7
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 8 @+8
        .byte $02,$00,$00,$00,$00,$00,$00,$00       // char 9 @+9
        .byte $7f,$bf,$bf,$3f,$3f,$3f,$3d,$3e       // char 10 @+10
        .byte $fe,$f4,$f8,$f8,$f0,$f0,$f0,$f0       // char 11 @+11

txt_0860:
        .byte $30,$30,$30,$30,$30,$30,$30,$30       // char 12 @+12
        .byte $fe,$74,$b8,$b8,$30,$30,$30,$30       // char 13 @+13
        .byte $f0,$70,$b0,$b0                       // char 14 (partial)

txt_0874:
        .byte $30,$30,$30,$30                       // char 14 (partial)
        .byte $3e,$34,$38,$38,$30,$30,$30,$30       // char 15 @+15
        .byte $ff,$7f,$bf,$bf,$3f,$3f,$3f,$3f       // char 16 @+16
        .byte $f0,$f0,$f0,$f0,$f0,$f0,$f0,$f0       // char 17 @+17

txt_0890:
        .byte $30,$30,$38,$38,$36,$3f,$3f,$36       // char 18 @+18
        .byte $00,$00,$00,$00,$00,$ff,$ff,$00       // char 19 @+19
        .byte $00,$00,$00,$00,$02,$ff,$ff,$02       // char 20 @+20

txt_08a8:
        .byte $30,$30,$b0,$b0,$70,$f0,$f0,$70       // char 21 @+21

txt_08b0:
        .byte $3f,$3f,$3f,$3f,$3f,$3f,$3f,$3f       // char 22 @+22
        .byte $38,$38,$30,$30,$30,$30,$30,$30       // char 23 @+23
        .byte $b0,$b0                               // char 24 (partial)

txt_08c2:
        .byte $30,$30,$30,$30,$30,$30               // char 24 (partial)
        .byte $00,$00,$24,$10,$26,$00,$26,$11       // char 25 @+25

txt_08d0:
        .byte $30,$30,$30,$30,$38,$38,$36,$3f       // char 26 @+26
        .byte $00,$00,$00,$00,$00,$00,$00,$ff       // char 27 @+27
        .byte $00,$00,$00,$00,$00,$00,$02,$ff       // char 28 @+28

txt_08e8:
        .byte $30,$30,$30,$30,$b0,$b0,$70,$f0       // char 29 @+29
        .byte $00,$00,$00,$00,$00,$02,$02,$01       // char 30 @+30

txt_08f8:
        .byte $30,$30,$b0,$b0,$70,$f0,$f0,$f0       // char 31 @+31

txt_0900:
        .byte $30,$30,$30,$30,$30,$38,$38,$34       // char 32 ' '
        .byte $15,$11,$08,$15,$04,$08,$02,$ff       // char 33 '!'

txt_0910:
        .byte $3f,$3f,$3f,$3f,$bf,$bf,$7f,$ff       // char 34 '"'
        .byte $10,$20,$00,$00,$00,$00,$00,$20       // char 35 '#'
        .byte $00,$00,$00,$00,$09,$00,$00,$00       // char 36 '$'
        .byte $0b,$07,$1f,$7f,$ff,$7f,$1f,$07       // char 37 '%'

txt_0930:
        .byte $3e,$3e,$3d,$3f,$3f,$3f,$3f,$3f       // char 38 '&'
        .byte $00,$00,$00,$80,$40,$d0,$f4,$fd       // char 39 '''
        .byte $00,$00,$00,$00,$00,$00,$00,$80       // char 40 '('
        .byte $09,$02,$02,$00,$00,$00,$02,$02       // char 41 ')'
        .byte $10                                   // char 42 (partial)

txt_0951:
        .byte $30,$30,$30,$30,$30,$30,$30           // char 42 (partial)
        .byte $3f,$3f,$36,$38,$38,$30,$30,$30       // char 43 '+'
        .byte $ff,$ff,$00,$00,$00,$00,$00,$00       // char 44 ','
        .byte $ff,$ff,$02,$00,$00,$00,$00,$00       // char 45 '-'
        .byte $f0,$f0,$70,$b0,$b0,$30,$30,$30       // char 46 '.'
        .byte $0b,$01,$02,$02,$00,$00,$00,$00       // char 47 '/'
        .byte $f0,$f0,$f0,$f0,$70,$b0,$b0,$30       // char 48 '0'
        .byte $d8,$ff,$02,$00,$00,$00,$00,$00       // char 49 '1'
        .byte $00,$f0,$70,$b0,$b0,$30,$30,$30       // char 50 '2'
        .byte $09                                   // char 51 (partial)

txt_0999:
        .byte $3f,$36,$38,$38,$30,$30,$30           // char 51 (partial)
        .byte $ff,$ff,$7f,$bf,$bf                   // char 52 (partial)

txt_09a5:
        .byte $3f,$3f,$3f                           // char 52 (partial)
        .byte $30,$30,$30,$30,$38,$38,$34,$3e       // char 53 '5'
        .byte $30,$30,$30,$30,$b8,$b8,$74,$fe       // char 54 '6'
        .byte $f0,$f0,$f0,$f0,$f0,$f8,$f8,$f6       // char 55 '7'
        .byte $00,$00,$00,$00,$00,$00,$00,$02       // char 56 '8'

txt_09c8:
        .byte $30,$30,$30,$30,$30,$b8,$b8,$76       // char 57 '9'

txt_09d0:
        .byte $3e,$3d,$3f,$3f,$3f,$bf,$bf,$7f       // char 58 ':'
        .byte $00,$00,$80,$40,$d0,$f4,$fd,$ff       // char 59 ';'
        .byte $00,$00,$00,$00,$00,$00,$80,$d8       // char 60 '<'
        .byte $10,$20,$00,$00,$00,$00,$00,$00       // char 61 '='
        .byte $00,$00,$00,$00,$00,$00,$09,$9f       // char 62 '>'
        .byte $02,$01,$0b,$07,$1f,$7f,$ff,$ff       // char 63 '?'
        .byte $fe,$fd,$ff,$ff,$ff,$ff,$ff,$ff       // char 64 '@'
        .byte $ff,$ff,$ff,$fd,$f4,$f8,$d0,$e0       // char 65 'A'
        .byte $fd,$d8,$40,$00,$00,$00,$00,$00       // char 66 'B'
        .byte $80,$00,$00,$00,$00,$00,$02,$01       // char 67 'C'
        .byte $09,$00,$00,$00,$00,$00,$00,$00       // char 68 'D'
        .byte $ff,$9f,$07,$01,$00,$00,$00,$00       // char 69 'E'
        .byte $ff,$ff,$ff,$ff,$7f,$bf,$1f,$2f       // char 70 'F'
        .byte $60,$80,$80,$00,$00,$00,$00,$00       // char 71 'G'
        .byte $27,$0b,$0b,$03,$03,$03,$03,$03       // char 72 'H'
        .byte $e0,$40,$80,$80,$00,$00,$00,$00       // char 73 'I'
        .byte $03,$03,$03,$03,$03,$03,$03,$03       // char 74 'J'
        .byte $2f,$07,$0b,$0b,$03,$03,$03,$03       // char 75 'K'
        .byte $00,$00,$02,$01,$02,$00,$02,$01       // char 76 'L'
        .byte $03,$03,$43,$03,$63,$03,$63,$13       // char 77 'M'
        .byte $00,$00,$00,$00,$80,$80,$60,$ff       // char 78 'N'
        .byte $03,$03,$03,$03,$0b,$0b,$27,$ff       // char 79 'O'
        .byte $00,$00,$80,$80,$40,$e0,$e0,$d0       // char 80 'P'
        .byte $03,$03,$0b,$0b,$07,$2f,$2f,$1f       // char 81 'Q'
        .byte $00,$00,$00,$00,$00,$80,$80,$40       // char 82 'R'
        .byte $01,$01,$00,$01,$00,$00,$00,$ff       // char 83 'S'
        .byte $53,$13,$83,$53,$4b,$8b,$27,$ff       // char 84 'T'
        .byte $9f,$2f,$2f,$0f,$0f,$0f,$2f,$2f       // char 85 'U'
        .byte $f8,$f4,$fd,$ff,$ff,$ff,$fd,$f4       // char 86 'V'
        .byte $00,$00,$00,$40,$d8,$40,$00,$00       // char 87 'W'
        .byte $01,$02,$00,$00,$00,$00,$00,$02       // char 88 'X'
        .byte $00,$00,$01,$07,$9f,$07,$01,$00       // char 89 'Y'
        .byte $bf,$7f,$ff,$ff,$ff,$ff,$ff,$7f       // char 90 'Z'
        .byte $e0,$e0,$d0,$f8,$f4,$fd,$ff,$ff       // char 91 '['
        .byte $00,$00,$00,$00,$00,$00,$40,$d8       // char 92 '\'
        .byte $00,$03,$03,$03,$03,$03,$03,$03       // char 93 ']'
        .byte $9f,$ff,$60,$80,$80,$00,$00,$00       // char 94 '^'
        .byte $ff,$ff,$27,$0b,$0b,$03,$03,$03       // char 95 '_'
        .byte $f8,$d0,$e0,$e0,$40,$80,$80,$00       // char 96 '`'
        .byte $01,$03,$03,$03,$03,$03,$03,$03       // char 97 'a'
        .byte $bf,$1f,$2f,$2f,$07,$0b,$0b,$03       // char 98 'b'
        .byte $ff,$ff,$60,$80,$80,$00,$00,$00       // char 99 'c'
        .byte $fd,$ff,$00,$00,$00,$00,$00,$00       // char 100 'd'
        .byte $80,$ff,$27,$0b,$0b,$03,$03,$03       // char 101 'e'
        .byte $00,$00,$00,$00,$80,$80,$40,$e0       // char 102 'f'
        .byte $03,$03,$03,$03,$0b,$0b,$07,$0f       // char 103 'g'
        .byte $e0,$d0,$f8,$f4,$fd,$ff,$ff,$ff       // char 104 'h'
        .byte $00,$00,$00,$00,$00,$40,$d8,$fd       // char 105 'i'
        .byte $01,$02,$00,$00,$00,$00,$00,$80       // char 106 'j'
        .byte $00,$00,$00,$00,$00,$00,$00,$09       // char 107 'k'
        .byte $00,$00,$00,$00,$01,$07,$9f,$ff       // char 108 'l'
        .byte $2f,$1f,$bf,$7f,$ff,$ff,$ff,$ff       // char 109 'm'
        .byte $00,$00,$00,$00,$00,$80,$80,$60       // char 110 'n'
        .byte $03,$03,$03,$03,$03,$0b,$0b,$27       // char 111 'o'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 112 'p'
        .byte $00,$89,$9b,$9d,$a1,$a7,$a8,$a9       // char 113 'q'
        .byte $ab,$ac,$ad,$ae,$b1,$ba,$9e,$9f       // char 114 'r'
        .byte $a0,$00,$00,$00,$00,$00,$00,$00       // char 115 's'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 116 't'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 117 'u'
        .byte $04,$06                               // char 118 (partial)

dat_0bb2:
        // === Fill data (35 bytes, $0bb2-$0bd4) ===
        .fill 35, $08
        .byte $06,$04                               // char 122 (partial)

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

// --- Region $0c00-$0fff ---
.pc = $0c00 "dat_0c00"

dat_0c00:
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 128
        .byte $f8,$fc,$fa,$f1,$e3,$c7,$8f,$00       // char 129
        .byte $00,$1f,$1f,$00,$1f,$1f,$1f,$00       // char 130
        .byte $e0,$8f,$1f,$1f,$1f,$1f,$8f,$e0       // char 131
        .byte $00,$1f,$1f,$1f,$1f,$1f,$1f,$00       // char 132
        .byte $e0,$8f,$1f,$00,$1f,$1f,$8f,$e0       // char 133
        .byte $e0,$8f,$1f,$00,$1f,$1f,$1f,$1f       // char 134
        .byte $e0,$8f,$1f,$1f,$1f,$1f,$8f,$e0       // char 135
        .byte $1f,$1f,$1f,$00,$1f,$1f,$1f,$1f       // char 136
        .byte $c7,$c7,$c7,$c7,$c7,$c7,$c7,$c7       // char 137
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$00       // char 138
        .byte $1f,$1f,$1f,$00,$1f,$1f,$1f,$1f       // char 139
        .byte $1f,$1f,$1f,$1f,$1f,$1f,$8f,$e0       // char 140
        .byte $e1,$8c,$1e,$1f,$1f,$1f,$1f,$1f       // char 141
        .byte $00,$1f,$1f,$1f,$1f,$1f,$1f,$1f       // char 142
        .byte $e0,$8f,$1f,$1f,$1f,$1f,$8f,$e0       // char 143
        .byte $00,$1f,$1f,$00,$1f,$1f,$1f,$1f       // char 144
        .byte $e0,$8f,$1f,$1f,$1f,$1f,$8f,$e0       // char 145
        .byte $00,$1f,$1f,$00,$1f,$1f,$1f,$1f       // char 146
        .byte $80,$1f,$1f,$80,$ff,$ff,$ff,$00       // char 147
        .byte $00,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 148
        .byte $1f,$1f,$1f,$1f,$1f,$1f,$8f,$e0       // char 149
        .byte $1f,$1f,$1f,$1f,$8f,$8f,$c7,$f0       // char 150
        .byte $1f,$1f,$1f,$1f,$1f,$1e,$8c,$e1       // char 151
        .byte $1f,$1f,$8f,$c0,$8f,$1f,$1f,$1f       // char 152
        .byte $1f,$1f,$8f,$e0,$fc,$fc,$fc,$fc       // char 153
        .byte $00,$ff,$ff,$e0,$8f,$1f,$1f,$00       // char 154
        .byte $01,$1f,$1f,$1f,$1f,$1f,$1f,$01       // char 155
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 156
        .byte $01,$f1,$f1,$f1,$f1,$f1,$f1,$01       // char 157
        .byte $ff,$f7,$f3,$01,$01,$f3,$f7,$ff       // char 158
        .byte $ff,$df,$9f,$01,$01,$9f,$df,$ff       // char 159
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 160
        .byte $c7,$83,$83,$83,$c7,$c7,$ff,$c7       // char 161
        .byte $c7,$c7,$cf,$ff,$ff,$ff,$ff,$ff       // char 162
        .byte $e3,$e3,$80,$e3,$e3,$80,$e3,$e3       // char 163
        .byte $f3,$80,$13,$80,$f3,$f3,$00,$f3       // char 164
        .byte $1f,$1f,$ff,$e0,$8f,$1f,$1f,$1f       // char 165
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 166
        .byte $c7,$c7,$cf,$ff,$ff,$ff,$ff,$ff       // char 167
        .byte $f1,$c7,$8f,$8f,$8f,$8f,$c7,$f1       // char 168
        .byte $1f,$c7,$e3,$e3,$e3,$e3,$c7,$1f       // char 169
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 170
        .byte $ff,$c7,$c7,$01,$c7,$c7,$ff,$ff       // char 171
        .byte $ff,$ff,$ff,$ff,$ff,$c7,$c7,$cf       // char 172
        .byte $ff,$ff,$ff,$01,$ff,$ff,$ff,$ff       // char 173
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$c7,$c7       // char 174
        .byte $ff,$ff,$ff,$e0,$8f,$1f,$1f,$1f       // char 175
        .byte $e0,$8f,$1f,$1e,$1c,$19,$83,$e0       // char 176
        .byte $e3,$c3,$e3,$e3,$e3,$e3,$e3,$e3       // char 177
        .byte $00,$ff,$ff,$e0,$8f,$1f,$1f,$00       // char 178
        .byte $00,$ff,$ff,$f0,$ff,$ff,$ff,$00       // char 179
        .byte $ff,$fc,$f1,$c7,$1f,$00,$ff,$ff       // char 180
        .byte $00,$1f,$1f,$00,$ff,$ff,$ff,$00       // char 181
        .byte $80,$1f,$1f,$00,$1f,$1f,$1f,$80       // char 182
        .byte $00,$ff,$ff,$f0,$ff,$ff,$ff,$ff       // char 183
        .byte $80,$1f,$1f,$80,$1f,$1f,$1f,$80       // char 184
        .byte $80,$1f,$1f,$80,$ff,$ff,$ff,$00       // char 185
        .byte $ff,$c7,$c7,$ff,$ff,$c7,$c7           // char 186 (partial)

dat_0dd7:
        // === Fill data (33 bytes, $0dd7-$0df7) ===
        .fill 33, $ff
        .byte $00,$ff,$ff,$ff,$fe,$fc,$ff,$fc       // char 191
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 192
        .byte $ff,$7f,$3f,$1f,$8f,$c7,$e3,$01       // char 193
        .byte $03,$f1,$f1,$03,$f1,$f1,$f1,$03       // char 194
        .byte $01,$ff,$ff,$ff,$ff,$ff,$ff,$01       // char 195
        .byte $0f,$e3,$f1,$f1,$f1,$f1,$e3,$0f       // char 196
        .byte $01,$ff,$ff,$1f,$ff,$ff,$ff,$01       // char 197
        .byte $01,$ff,$ff,$1f,$ff,$ff,$ff,$ff       // char 198
        .byte $01,$ff,$ff,$c1,$f1,$f1,$f1,$01       // char 199
        .byte $f1,$f1,$f1,$01,$f1,$f1,$f1,$f1       // char 200
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 201
        .byte $f1,$f1,$f1,$f1,$f1,$f1,$e3,$0f       // char 202
        .byte $f1,$f1,$e3,$07,$e3,$f1,$f1,$f1       // char 203
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$01       // char 204
        .byte $0f,$63,$f1,$f1,$f1,$f1,$f1,$f1       // char 205
        .byte $0f,$e3,$f1,$f1,$f1,$f1,$f1,$f1       // char 206
        .byte $0f,$e3,$f1,$f1,$f1,$f1,$e3,$0f       // char 207
        .byte $03,$f1,$f1,$03,$ff,$ff,$ff,$ff       // char 208
        .byte $0f,$e3,$f1,$f1,$f1,$c3,$e1,$09       // char 209
        .byte $03,$f1,$f1,$03,$e3,$f1,$f1,$f1       // char 210
        .byte $01,$ff,$ff,$03,$f1,$f1,$f1,$03       // char 211
        .byte $01,$7f,$7f,$7f,$7f,$7f,$7f,$7f       // char 212
        .byte $f1,$f1,$f1,$f1,$f1,$f1,$e3,$0f       // char 213
        .byte $f1,$f1,$f1,$f1,$e3,$e3,$c7,$1f       // char 214
        .byte $f1,$f1,$f1,$f1,$f1,$f1,$63,$0f       // char 215
        .byte $f1,$f1,$e3,$07,$e3,$f1,$f1,$f1       // char 216
        .byte $f1,$f1,$e3,$0f,$7f,$7f,$7f,$7f       // char 217
        .byte $01,$f1,$e3,$0f,$ff,$ff,$ff,$01       // char 218

dat_0ed8:
        // === Fill data (56 bytes, $0ed8-$0f0f) ===
        .fill 56, $ff
        .byte $c7,$c7,$cf,$ff,$ff,$ff,$ff,$ff       // char 226
        .byte $8f,$8f,$03,$8f,$8f,$03,$8f,$8f       // char 227
        .byte $9f,$01,$9f,$03,$91,$91,$03,$9f       // char 228
        .byte $f1,$f1,$e3,$0f,$ff,$ff,$f1,$f1       // char 229

dat_0f30:
        // === Fill data (72 bytes, $0f30-$0f77) ===
        .fill 72, $ff
        .byte $f1,$f1,$e3,$0f,$ff,$ff,$ff,$ff       // char 239
        .byte $0f,$83,$31,$71,$f1,$f1,$e3,$0f       // char 240
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 241
        .byte $03,$f1,$f1,$03,$ff,$ff,$ff,$01       // char 242
        .byte $03,$f1,$f1,$03,$f1,$f1,$f1,$03       // char 243
        .byte $11,$71,$f1,$f1,$f1,$01,$f1,$f1       // char 244
        .byte $01,$ff,$ff,$03,$f1,$f1,$f1,$03       // char 245
        .byte $01,$ff,$ff,$03,$f1,$f1,$f1,$03       // char 246
        .byte $03,$f1,$f1,$01,$f1,$f1,$f1,$f1       // char 247
        .byte $03,$f1,$f1,$03,$f1,$f1,$f1,$03       // char 248
        .byte $03,$f1,$f1,$01,$f1,$f1,$f1,$03       // char 249

dat_0fd0:
        // === Fill data (40 bytes, $0fd0-$0ff7) ===
        .fill 40, $ff
        .byte $03,$f1,$f1,$83,$3f,$7f,$ff,$7f       // char 255

// --- Region $1007-$1019 ---
.pc = $1007 "Segment $1007"
        .byte $a9,$00,$20,$00,$10,$a9,$80,$cd,$12,$d0,$d0,$fb,$20,$03,$10,$4c // .. ......... ..L
        .byte $0c,$10                               // ..

dat_1019:
        // === Fill data (1 bytes, $1019-$1019) ===
        .byte $00                                   // .

// --- Region $1160-$11cd ---
.pc = $1160 "dat_1160"

dat_1160:
        .byte $ff,$01,$01,$01,$02,$01,$00,$1c,$04,$04,$00,$00,$00,$01,$02,$00 // ................
        .byte $1f,$1f,$18,$00,$00,$00,$ff,$fe,$ff,$06,$60,$c0,$00,$00,$00,$02 // ..........`.....
        .byte $02,$62,$04,$5e,$5e,$88,$6a,$ff,$01,$02,$80,$60,$b0,$00,$06,$00 // .b.^^.j....`....
        .byte $08,$02,$82,$00,$41,$41,$09,$05,$05,$00,$00,$00,$00,$00,$00,$00 // ....AA..........
        .byte $00,$00,$00,$01,$00,$00,$10,$00,$00,$13,$2e,$2b,$1f,$1f,$18,$00 // ...........+....
        .fill 11, $00
        .byte $60,$80,$40,$28,$54,$80,$19,$19,$19,$5a,$04,$01,$01,$1f,$8c,$01 // `.@(T....Z......
        .byte $f1,$62,$ff                           // .b.

// --- Region $1328-$1331 ---
.pc = $1328 "Segment $1328"
        .byte $7c,$11,$f0,$05,$de,$7c,$11,$d0,$03,$fe // |....|....

// --- Region $1724-$2038 ---
.pc = $1724 "dat_1724"

dat_1724:
        .byte $00,$07,$0e,$01,$02,$04,$16,$27,$39,$4b,$5f,$74,$8a,$a1,$ba,$d4 // .......'9K_t....
        .byte $f0,$0e,$2d,$4e,$71,$96,$be,$e7,$14,$42,$74,$a9,$e0,$1b,$5a,$9c // ..-Nq....Bt...Z.
        .byte $e2,$2d,$7b,$cf,$27,$85,$e8,$51,$c1,$37,$b4,$38,$c4,$59,$f7,$9e // .-{.'..Q.7.8.Y..
        .byte $4e,$0a,$d0,$a2,$81,$6d,$67,$70,$89,$b2,$ed,$3b,$9d,$13,$a0,$45 // N....mgp...;...E
        .byte $03,$db,$cf,$e1,$12,$65,$db,$76,$3a,$27,$41,$8a,$05,$b5,$9d,$c1 // .....e.v:'A.....
        .byte $24,$c9,$b6,$ed,$73,$4e,$82,$14,$0a,$6a,$3b,$82,$48,$93,$6b,$d9 // $...sN...j;.H.k.
        .byte $e7,$9c,$03,$28,$14,$ff,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ...(............
        .byte $01,$02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04 // ................
        .byte $04,$05,$05,$05,$06,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b // ................
        .byte $0c,$0d,$0d,$0e,$0f,$10,$11,$12,$13,$14,$15,$17,$18,$1a,$1b,$1d // ................
        .byte $1f                                   // .

txt_17c5:
        .text " "
        .byte $22                                   // double quote character
        .text "$')+.147:>AEINRW"
        .byte $5c                                   // backslash character
        .byte $62,$68,$6e,$75,$7c,$83,$8b,$93,$9c,$a5,$af,$b9,$c4,$d0,$dd,$ea // bhnu|...........
        .byte $f8,$ff,$28,$19,$54,$19,$80,$19,$ff,$ff,$ac,$b1,$b7,$ef,$16,$47 // ..(.T..........G
        .byte $59,$8d,$9f,$b6,$dc,$07,$32,$6d       // Y.....2m

chr_1800:
        // === Charset data (2048 bytes, $1800-$1fff) ===
        .byte $a1,$d6,$01,$3c,$66,$a4,$e2,$1c       // char 0 @+0
        .byte $45,$5e,$85,$bf,$e2,$05,$2d,$32       // char 1 @+1
        .byte $61,$90,$bf,$c8,$ce,$e2,$11,$23       // char 2 @+2
        .byte $3a,$5f,$65,$6e,$93,$a1,$c8,$19       // char 3 @+3
        .byte $19,$19,$19,$1a,$1a,$1a,$1a,$1a       // char 4 @+4
        .byte $1a,$1a,$1b,$1b,$1b,$1b,$1b,$1c       // char 5 @+5
        .byte $1c,$1c,$1c,$1c,$1d,$1d,$1d,$1d       // char 6 @+6
        .byte $1d,$1d,$1e,$1e,$1e,$1e,$1e,$1e       // char 7 @+7
        .byte $1e,$1e,$1e,$1f,$1f,$1f,$1f,$1f       // char 8 @+8
        .byte $1f,$1f,$1f,$1f,$ff,$04,$04,$04       // char 9 @+9
        .byte $06,$0a,$0e,$13,$18,$00,$13,$00       // char 10 @+10
        .byte $00,$00,$00,$00,$00,$00,$ff,$00       // char 11 @+11
        .byte $06,$04,$04,$04,$04,$04,$04,$ff       // char 12 @+12
        .byte $88,$6a,$48,$89,$89,$86,$a9,$89       // char 13 @+13
        .byte $00,$80,$c0,$84,$84,$84,$84,$84       // char 14 @+14
        .byte $84,$80,$01,$02,$02,$02,$02,$02       // char 15 @+15
        .byte $02,$02,$80,$46,$08,$08,$00,$00       // char 16 @+16
        .byte $80,$80,$00,$00,$06,$30,$00,$00       // char 17 @+17
        .byte $00,$06,$04,$00,$00,$80,$18,$00       // char 18 @+18
        .byte $00,$00,$80,$40,$00,$00,$00,$00       // char 19 @+19
        .byte $00,$00,$00,$00,$00,$00,$00,$01       // char 20 @+20
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 21 @+21
        .byte $10,$00,$00,$00,$00,$00,$00,$00       // char 22 @+22
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 23 @+23
        .byte $00,$00,$90,$00,$00,$00,$00,$00       // char 24 @+24
        .byte $00,$00,$00,$40,$00,$00,$00,$00       // char 25 @+25
        .byte $00,$00,$00,$00,$20,$00,$00,$00       // char 26 @+26
        .byte $00,$00,$00,$00,$00,$fe,$00,$00       // char 27 @+27
        .byte $00,$00,$00,$00,$00,$00,$04,$00       // char 28 @+28
        .byte $00,$00,$00,$00,$00,$00,$09,$ff       // char 29 @+29
        .byte $41,$41,$ff,$41,$ff,$21,$21,$21       // char 30 @+30
        .byte $ff,$21,$21,$21,$ff,$81,$41,$41       // char 31 @+31
        .byte $41,$ff,$81,$41,$81,$41,$ff,$21       // char 32 ' '
        .byte $21,$21,$ff,$c0,$00,$c0,$b4,$02       // char 33 '!'
        .byte $c0,$05,$c0,$c3,$c7,$07,$c0,$c5       // char 34 '"'
        .byte $c8,$0b,$4e,$24,$1f,$1a,$11,$4e       // char 35 '#'
        .byte $29,$49,$24,$16,$c0,$c4,$c7,$19       // char 36 '$'
        .byte $a0,$02,$06,$02,$06,$a0,$02,$06       // char 37 '%'
        .byte $02,$06,$0b,$0a,$0f,$0b,$0b,$0a       // char 38 '&'
        .byte $0f,$0b,$0b,$0a,$0f,$0b,$1c,$1c       // char 39 '''
        .byte $1c,$1c,$20,$1c                       // char 40 (partial)

txt_1944:
        .byte $26,$29,$26,$2b                       // char 40 (partial)
        .byte $a2,$0b,$0a,$0f,$0b,$a3,$0b,$0a       // char 41 ')'
        .byte $0f,$0b,$fd,$05,$a0,$01,$01,$01       // char 42 '*'
        .byte $01,$a0,$05,$05,$07,$08,$0d,$0d       // char 43 '+'
        .byte $0d,$0e,$15,$16,$18,$17,$19,$19       // char 44 ','
        .byte $1a,$1b,$1d,$1e,$1f,$1f,$23,$1f       // char 45 '-'
        .byte $1f,$1f,$1f,$2c,$a2,$15,$16,$18       // char 46 '.'
        .byte $17,$a3,$19,$19,$1a,$1b,$fd,$05       // char 47 '/'
        .byte $a0,$00,$00,$03,$03,$a0,$04,$04       // char 48 '0'
        .byte $03,$09,$0c,$0c,$10,$0c,$12,$12       // char 49 '1'
        .byte $13,$14,$12,$12,$13,$14               // char 50 (partial)

txt_1996:
        .byte $21,$21                               // char 50 (partial)
        .byte $22,$24,$25,$24,$27,$28,$27,$2a       // char 51 '3'
        .byte $a2,$12,$12,$13,$14,$a3,$12,$12       // char 52 '4'
        .byte $13,$14,$fd,$05,$60,$80,$c0,$18       // char 53 '5'
        .byte $ff,$62,$80,$60,$1f,$1f,$ff,$61       // char 54 '6'
        .byte $8c,$1f,$f1,$60,$86,$13,$8c,$1f       // char 55 '7'
        .byte $86,$13,$8c,$1f,$f1,$60,$86,$13       // char 56 '8'
        .byte $8c,$1f,$86,$13,$8c,$1f,$f1,$60       // char 57 '9'
        .byte $86,$13,$1f,$8c,$1f,$f1,$60,$86       // char 58 ':'
        .byte $13,$8c,$1f,$86,$13,$8c,$1f,$f1       // char 59 ';'
        .byte $60,$86,$13,$8c,$1f,$86,$13,$8c       // char 60 '<'
        .byte $1f,$f1,$60,$86,$13,$1f,$ff,$8c       // char 61 '='
        .byte $f4,$64,$86,$37,$8c,$f2,$00,$86       // char 62 '>'
        .byte $37,$8c,$f2,$00,$65,$a4,$37,$64       // char 63 '?'
        .byte $8c,$37,$f2,$00,$86,$37,$8c,$f2       // char 64 '@'
        .byte $00,$86,$37,$8c,$f2,$00,$65,$a4       // char 65 'A'
        .byte $37,$86,$37,$f2,$00,$ff,$66,$8c       // char 66 'B'
        .byte $24,$64,$86,$37,$f2,$00,$66,$24       // char 67 'C'
        .byte $64,$37,$8c,$f2,$00,$65,$98,$37       // char 68 'D'
        .byte $66,$8c,$24,$64,$37,$66,$24,$64       // char 69 'E'
        .byte $86,$37,$f2,$00,$66,$24,$64,$37       // char 70 'F'
        .byte $8c,$f2,$00,$65,$98,$37,$66,$8c       // char 71 'G'
        .byte $24,$67,$86,$37,$f2,$00,$ff,$62       // char 72 'H'
        .byte $b0,$1f,$66,$86,$1f,$62,$aa,$1f       // char 73 'I'
        .byte $b0,$1f,$66,$86,$1f,$62,$aa,$1f       // char 74 'J'
        .byte $ff,$61,$8c,$1f,$f1,$60,$86,$13       // char 75 'K'
        .byte $8c,$1f,$86,$13,$8c,$1f,$f1,$60       // char 76 'L'
        .byte $86,$13,$8c,$1f,$86,$13,$8c,$1f       // char 77 'M'
        .byte $f1,$60,$86,$13,$1f,$8c,$1f,$f1       // char 78 'N'
        .byte $60,$86,$13,$8c,$1f,$86,$13,$1f       // char 79 'O'
        .byte $13,$14,$20,$20,$14,$1f,$f1,$60       // char 80 'P'
        .byte $8c,$13,$86,$13,$ff,$66,$98,$1f       // char 81 'Q'
        .byte $1f,$1f,$1f,$1f,$86,$1f,$67,$1f       // char 82 'R'
        .byte $66,$8c,$1f,$98,$1f,$1f,$ff,$66       // char 83 'S'
        .byte $98,$1f,$1f,$1f,$1f,$1f,$86,$1f       // char 84 'T'
        .byte $67,$1f,$66,$8c,$1f,$98,$1f,$67       // char 85 'U'
        .byte $86,$1f,$1f,$1f,$1f,$ff,$8c,$f4       // char 86 'V'
        .byte $64,$86,$37,$8c,$f2,$00,$86,$37       // char 87 'W'
        .byte $8c,$f2,$00,$65,$a4,$37,$64,$8c       // char 88 'X'
        .byte $37,$f2,$00,$86,$37,$8c,$f2,$00       // char 89 'Y'
        .byte $86,$37,$8c,$f2,$00,$65,$a7,$37       // char 90 'Z'
        .byte $67,$89,$1f,$ff,$61,$86,$1f,$13       // char 91 '['
        .byte $1f,$2b,$67,$24,$61,$1f,$24,$1f       // char 92 '\'
        .byte $2b,$13,$2b,$1f,$67,$24,$61,$13       // char 93 ']'
        .byte $1f,$24,$1f,$13,$2b,$1f,$67,$13       // char 94 '^'
        .byte $61,$1f,$13,$14,$20,$20,$14,$1f       // char 95 '_'
        .byte $67,$1a,$61,$13,$1f,$2b,$ff,$61       // char 96 '`'
        .byte $86,$1f,$13,$1f,$2b,$67,$24,$61       // char 97 'a'
        .byte $1f,$24,$1f,$2b,$13,$2b,$1f,$67       // char 98 'b'
        .byte $24,$61,$13,$1f,$24,$1f,$13,$2b       // char 99 'c'
        .byte $1f,$67,$13,$61,$1f,$13,$1f,$13       // char 100 'd'
        .byte $2b,$24,$1f,$67,$1a,$61,$13,$1f       // char 101 'e'
        .byte $2b,$ff,$61,$86,$1f,$1f,$64,$37       // char 102 'f'
        .byte $61,$1f,$1f,$64,$37,$61,$1f,$1f       // char 103 'g'
        .byte $65,$8c,$37,$61,$86,$1f,$64,$8c       // char 104 'h'
        .byte $37,$61,$86,$1f,$64,$37,$61,$1f       // char 105 'i'
        .byte $1f,$1f,$64,$37,$61,$1f,$1f,$64       // char 106 'j'
        .byte $37,$61,$1f,$1f,$65,$8c,$37,$61       // char 107 'k'
        .byte $86,$1f,$64,$8c,$37,$61,$86,$1f       // char 108 'l'
        .byte $64,$37,$61,$1f,$ff,$66,$86,$3c       // char 109 'm'
        .byte $63,$37,$37,$37,$66,$3c,$63,$2b       // char 110 'n'
        .byte $37,$67,$3c,$66,$3c,$63,$37,$37       // char 111 'o'
        .byte $37,$66,$3c,$63,$2b,$37,$43,$66       // char 112 'p'
        .byte $3c,$63,$37,$37,$37,$66,$3c,$63       // char 113 'q'
        .byte $2b,$37,$67,$3c,$66,$3c,$63,$37       // char 114 'r'
        .byte $37,$37,$66,$3c,$63,$2b,$37,$43       // char 115 's'
        .byte $ff,$66,$86,$3c,$63,$37,$37,$37       // char 116 't'
        .byte $66,$3c,$63,$2b,$37,$67,$3c,$66       // char 117 'u'
        .byte $3c,$63,$37,$37,$37,$66,$3c,$63       // char 118 'v'
        .byte $2b,$37,$43,$66,$3c,$63,$37,$37       // char 119 'w'
        .byte $37,$66,$3c,$63,$2b,$37,$67,$3c       // char 120 'x'
        .byte $66,$3c,$63,$37,$37,$37,$66,$3c       // char 121 'y'
        .byte $67,$2b,$37,$63,$43,$ff,$61,$86       // char 122 'z'
        .byte $1d,$11,$1d,$29,$67,$24,$61,$1d       // char 123 '{'
        .byte $27,$1d,$29,$11,$1d,$11,$67,$24       // char 124 '|'
        .byte $61,$11,$1d,$1b,$1b,$0f,$27,$1b       // char 125 '}'
        .byte $67,$13,$61,$1b,$0f,$1b,$0f,$27       // char 126 '~'
        .byte $0f,$1b,$67,$1a,$61,$0f,$1b,$27       // char 127
        .byte $ff,$61,$86,$1d,$1d,$64,$37,$61       // char 128
        .byte $1d,$1d,$64,$37,$61,$1d,$1d,$65       // char 129
        .byte $8c,$37,$61,$86,$1d,$64,$8c,$37       // char 130
        .byte $61,$86,$1d,$64,$37,$61,$1d,$1b       // char 131
        .byte $1b,$64,$37,$61,$1b,$1b,$64,$37       // char 132
        .byte $61,$1b,$1b,$65,$8c,$37,$61,$86       // char 133
        .byte $1b,$64,$8c,$37,$61,$86,$1b,$64       // char 134
        .byte $37,$61,$18,$ff,$61,$86,$1f,$13       // char 135
        .byte $1f,$2b,$67,$24,$61,$1f,$24,$1f       // char 136
        .byte $2b,$13,$2b,$1f,$67,$24,$61,$13       // char 137
        .byte $1f,$24,$18,$0c,$24,$18,$67,$13       // char 138
        .byte $61,$18,$0c,$18,$0c,$24,$0c,$18       // char 139
        .byte $67,$1a,$0c,$18,$24,$ff,$66,$86       // char 140
        .byte $1f,$61,$1f,$64,$37,$61,$1f,$1f       // char 141
        .byte $64,$37,$61,$1f,$1f,$66,$37,$65       // char 142
        .byte $37,$61,$1f,$64,$8c,$37,$61,$86       // char 143
        .byte $1f,$64,$37,$61,$1f,$66,$1f,$61       // char 144
        .byte $1f,$68,$35,$61,$1f,$1f,$64,$37       // char 145
        .byte $61,$1f,$1f,$66,$3c,$65,$37,$61       // char 146
        .byte $1f,$68,$8c,$35,$61,$86,$1f,$68       // char 147
        .byte $35,$61,$1f,$ff,$66,$86,$1d,$61       // char 148
        .byte $1d,$68,$35,$61,$1d,$1d,$68,$35       // char 149
        .byte $61,$1d,$1d,$66,$3c,$68,$35,$61       // char 150
        .byte $1d,$68,$8c,$35,$61,$86,$1d,$68       // char 151
        .byte $35,$61,$1d,$66,$1b,$61,$1b,$68       // char 152
        .byte $33,$61,$1b,$1b,$68,$33,$61,$1b       // char 153
        .byte $1b,$66,$18,$68,$33,$61,$1b,$68       // char 154
        .byte $8c,$33,$61,$86,$1b,$68,$35,$61       // char 155
        .byte $1d,$ff,$66,$86,$1f,$61,$1f,$64       // char 156
        .byte $37,$61,$1f,$1f,$64,$37,$61,$1f       // char 157
        .byte $1f,$66,$18,$65,$37,$61,$1f,$64       // char 158
        .byte $8c,$37,$61,$86,$1f,$64,$37,$61       // char 159
        .byte $1f,$66,$1f,$61,$1f,$68,$35,$61       // char 160
        .byte $1f,$1f,$64,$37,$61,$1f,$1f,$66       // char 161
        .byte $0c,$65,$37,$61,$1f,$68,$95,$35       // char 162
        .byte $67,$89,$24,$ff,$62,$83,$35,$f1       // char 163
        .byte $80,$95,$37,$83,$3e,$f0,$3c,$f0       // char 164
        .byte $86,$3e,$83,$3e,$f1,$c0,$3c,$8c       // char 165
        .byte $3e,$86,$3f,$3e,$3c,$3c,$f1,$90       // char 166
        .byte $3e,$83,$3c,$f0,$3a,$f0,$3c,$f0       // char 167
        .byte $3a,$80,$60,$37,$ff,$62,$86,$2b       // char 168
        .byte $37,$3a,$8c,$3e,$86,$37,$3a,$3c       // char 169
        .byte $3a,$8c,$37,$3a,$37,$86,$3a,$83       // char 170
        .byte $35,$f1,$50,$dd,$37,$ff,$62,$86       // char 171

txt_1d60:
        .byte $2b,$37,$3a,$3e,$43,$37,$3a,$3c       // char 172
        .byte $3a,$f0,$83,$37,$f0,$3c,$f0,$3f       // char 173
        .byte $f0,$37,$8c,$3a,$37,$82,$3a,$f0       // char 174
        .byte $35,$f0,$37,$83,$35,$f1,$50,$c5       // char 175
        .byte $37,$f0,$98,$32,$ff,$62,$83,$33       // char 176
        .byte $f1,$80,$95,$35,$83,$3a,$f0,$37       // char 177
        .byte $f0,$86,$35,$83,$37,$f1,$c0,$3a       // char 178
        .byte $8c,$3e,$86,$3f,$3e,$3c,$3c,$f1       // char 179
        .byte $90,$3e,$83,$3c,$f0,$3a,$f0,$3c       // char 180
        .byte $f0,$3a,$98,$33,$86,$3f,$33,$3f       // char 181
        .byte $f1,$50,$33,$3f,$83,$41,$f0,$33       // char 182
        .byte $86,$3f,$41,$8c,$43,$35,$ff,$63       // char 183
        .byte $86                                   // char 184 (partial)

txt_1dc1:
        .byte $2b,$37,$2b,$35,$2b,$37,$2b           // char 184 (partial)
        .byte $35,$2b,$37,$2b,$35,$2b,$37,$35       // char 185
        .byte $32,$2b,$37,$2b,$35,$2b,$37,$2b       // char 186
        .byte $35,$2b,$37,$2b,$35,$32,$35,$32       // char 187
        .byte $37,$ff,$63,$86                       // char 188 (partial)

txt_1de4:
        .byte $29,$35,$29,$33                       // char 188 (partial)
        .byte $29,$35,$29,$33,$29,$35,$29,$33       // char 189
        .byte $29,$35,$33,$32,$27,$33,$27,$30       // char 190
        .byte $27,$33,$27,$30,$27,$33,$32,$30       // char 191
        .byte $27,$30,$32,$33,$ff,$63,$86,$2b       // char 192
        .byte $1f                                   // char 193 (partial)

txt_1e09:
        .byte $26,$35,$2b,$37,$2b,$35,$2b           // char 193 (partial)
        .byte $37,$2b,$35,$2b,$37,$35,$32,$83       // char 194
        .byte $29,$f1,$80,$89,$2b,$86               // char 195 (partial)

txt_1e1e:
        .byte $2b,$35                               // char 195 (partial)
        .byte $2b,$37,$2b,$35,$2b,$37,$2b,$35       // char 196
        .byte $32,$35,$32,$37,$ff,$61,$80,$c0       // char 197
        .byte $13,$ff,$66,$8c,$18,$64,$37,$66       // char 198
        .byte $18,$64,$86,$37,$66,$18,$65,$92       // char 199
        .byte $37,$86,$37,$66,$8c,$18,$64,$37       // char 200
        .byte $66,$86,$18,$64,$37,$8c,$37,$66       // char 201
        .byte $0c,$64,$86,$37,$66,$0c,$65,$92       // char 202
        .byte $37,$86,$37,$66,$8c,$18,$64,$37       // char 203
        .byte $ff,$66,$8c,$18,$64,$37,$66,$18       // char 204
        .byte $64,$86,$37,$66,$18,$65,$92,$37       // char 205
        .byte $86,$37,$66,$8c,$18,$64,$37,$66       // char 206
        .byte $86,$18,$64,$37,$8c,$37,$66,$0c       // char 207
        .byte $64,$86,$37,$66,$0c,$65,$92,$37       // char 208
        .byte $86,$37,$67,$8c,$18,$64,$37,$ff       // char 209
        .byte $66,$8c,$18,$64,$37,$67,$18,$64       // char 210
        .byte $86,$37,$66,$18,$65,$92,$37,$86       // char 211
        .byte $37,$67,$8c,$18,$64,$37,$66,$86       // char 212
        .byte $18,$64,$37,$8c,$37,$67,$0c,$64       // char 213
        .byte $86,$37,$66,$0c,$65,$92,$37,$86       // char 214
        .byte $37,$67,$8c,$18,$64,$37,$ff,$61       // char 215
        .byte $80,$60,$1d,$c8,$1b,$98,$16,$ff       // char 216
        .byte $62,$80,$60,$1f,$1f,$ff,$62,$86       // char 217
        .byte $29,$f1,$40,$c2,$2b,$86,$32,$f0       // char 218
        .byte $2e,$f0,$8c,$2b,$98,$32,$33,$32       // char 219
        .byte $30,$ff,$66,$8c,$18,$68,$35,$67       // char 220
        .byte $18,$68,$86,$35,$66,$18,$68,$92       // char 221
        .byte $35,$86,$35,$67,$8c,$18,$68,$35       // char 222
        .byte $66,$86,$18,$68,$33,$8c,$33,$67       // char 223
        .byte $0c,$68,$86,$33,$66,$0c,$68,$92       // char 224
        .byte $33,$86,$33,$67,$8c,$18,$68,$35       // char 225
        .byte $ff,$62,$86,$29,$f1,$40,$c2,$2b       // char 226
        .byte $86,$32,$f0,$2e,$f0,$8c,$2b,$80       // char 227
        .byte $60,$2b,$ff,$62,$c8,$29,$86,$2b       // char 228
        .byte $f0,$29,$f0,$2b,$f0,$30,$8c,$33       // char 229
        .byte $86,$32,$33,$f1,$30,$98,$32,$32       // char 230
        .byte $33,$ff,$61,$86,$1f,$2b,$29,$1f       // char 231
        .byte $2b,$29,$1f,$2b,$1f,$2b,$29,$1f       // char 232
        .byte $2b,$f0,$29,$f0,$1f,$29,$1f,$2b       // char 233
        .byte $29,$1f,$2b,$29,$1f,$2b,$1f,$2b       // char 234
        .byte $29,$1f,$29,$1f,$2b,$29,$ff,$62       // char 235
        .byte $80,$60,$13,$13,$ff,$62,$80,$60       // char 236
        .byte $13,$a4,$13,$bc,$0d,$ff,$61,$86       // char 237
        .byte $1f,$2b,$29,$1f,$2b,$29,$1f,$2b       // char 238
        .byte $1f,$2b,$29,$1f,$2b,$f0,$29,$f0       // char 239
        .byte $1f,$29,$1f,$2b,$29,$1f,$2b,$29       // char 240
        .byte $1f,$2b,$19,$19,$25,$19,$25,$19       // char 241
        .byte $19,$25,$ff,$62,$80,$60,$13,$a4       // char 242
        .byte $13,$aa,$0d,$67,$86,$18,$18,$18       // char 243
        .byte $ff,$61,$86,$1f,$2b,$29,$1f,$2b       // char 244
        .byte $29,$1f,$2b,$1f,$2b,$29,$1f,$2b       // char 245
        .byte $f0,$29,$f0,$1f,$29,$1f,$2b,$29       // char 246
        .byte $1f,$2b,$29,$1f,$2b,$19,$19,$25       // char 247
        .byte $19,$f0,$1a,$26,$f0,$1b,$29,$ff       // char 248
        .byte $66,$8c,$18,$64,$37,$67,$18,$64       // char 249
        .byte $86,$37,$66,$18,$65,$92,$37,$86       // char 250
        .byte $37,$67,$8c,$18,$64,$37,$66,$86       // char 251
        .byte $18,$64,$37,$8c,$37,$67,$0c,$64       // char 252
        .byte $86,$37,$66,$0c,$65,$92,$37,$86       // char 253
        .byte $37,$67,$8c,$18,$64,$83,$37,$67       // char 254
        .byte $89,$24,$ff,$00,$00,$00,$00,$00       // char 255

spr_2000:
        // === Sprite data (57 bytes, $2000-$2038) ===
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$01                           // .......................#
        .byte $02,$03,$04                           // ......#.......##.....#..
        .byte $05,$06,$01                           // .....#.#.....##........#
        .byte $02,$03,$04                           // ......#.......##.....#..
        .byte $05,$06,$07                           // .....#.#.....##......###
        .byte $08,$08,$04                           // ....#.......#........#..
        .byte $05,$06,$07                           // .....#.#.....##......###
        .byte $08,$09,$0a                           // ....#.......#..#....#.#.
        .byte $02,$03,$04                           // ......#.......##.....#..
        .byte $05,$06,$01                           // .....#.#.....##........#
        .byte $02,$03,$04                           // ......#.......##.....#..
        .byte $05,$06

dat_2038:
        // === Fill data (1 bytes, $2038-$2038) ===
        .byte $00                                   // .

// --- Region $2067-$2089 ---
.pc = $2067 "dat_2067"

dat_2067:
        .byte $0b,$08,$08,$0c,$08,$09,$0d,$08,$08,$0c,$08,$09,$0e,$08,$08,$0c // ................
        .byte $08,$09,$0e,$08,$08,$0f,$08,$08,$0c,$08,$09,$0d,$08,$08,$0c,$08 // ................
        .byte $09,$10                               // ..

dat_2089:
        // === Fill data (1 bytes, $2089-$2089) ===
        .byte $00                                   // .

// --- Region $20b7-$20d9 ---
.pc = $20b7 "dat_20b7"

dat_20b7:
        .byte $11,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c // ................
        .byte $08,$08,$12,$13,$14,$15,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08 // ................
        .byte $08,$16                               // ..

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

// --- Region $2107-$2129 ---
.pc = $2107 "dat_2107"

dat_2107:
        .byte $11,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c // ................
        .byte $08,$08,$17,$08,$08,$18,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08 // ................
        .byte $19,$16                               // ..

dat_2129:
        // === Fill data (1 bytes, $2129-$2129) ===
        .byte $00                                   // .

// --- Region $2157-$2179 ---
.pc = $2157 "dat_2157"

dat_2157:
        .byte $11,$08,$08,$0c,$08,$08,$0c,$08,$08,$1a,$1b,$1c,$1d,$08,$08,$0c // ................
        .byte $08,$1e,$1f,$08,$08,$20,$08,$08,$1a,$1b,$1c,$1d,$08,$08,$1a,$1b // ..... ..........
        .byte $21,$22                               // !"

dat_2179:
        // === Fill data (1 bytes, $2179-$2179) ===
        .byte $00                                   // .

// --- Region $21a7-$21c6 ---
.pc = $21a7 "dat_21a7"

dat_21a7:
        .byte $11,$08,$08,$23,$08,$08,$0c,$08,$08,$16,$00,$00,$11,$08,$08,$23 // ...#...........#
        .byte $24,$25,$11,$08,$08,$26,$27,$28,$08,$05,$06,$11,$08,$08,$29 // $%...&'(......)

dat_21c6:
        // === Fill data (1 bytes, $21c6-$21c6) ===
        .byte $00                                   // .

// --- Region $21f7-$2219 ---
.pc = $21f7 "dat_21f7"

dat_21f7:
        .byte $11,$08,$08
        .byte $2a,$08,$08,$0c,$08,$08
        .text "+,-."
        .byte $08,$08
        .byte $2a
        .byte $08
        .byte $2f,$30,$08,$08
        .text "+,12"
        .byte $08,$09,$0e,$08,$08

txt_2215:
        .text "3,-4"
        .byte $00                                   // string terminator

// --- Region $2247-$2269 ---
.pc = $2247 "dat_2247"

dat_2247:
        .byte $11,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c // ................
        .byte $08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08 // ................
        .byte $08,$16                               // ..

dat_2269:
        // === Fill data (1 bytes, $2269-$2269) ===
        .byte $00                                   // .

// --- Region $228e-$22b9 ---
.pc = $228e "dat_228e"

dat_228e:
        .fill 9, $00
        .byte $11,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c // ................
        .byte $08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08,$08,$0c,$08 // ................
        .byte $08,$16                               // ..

dat_22b9:
        // === Fill data (1 bytes, $22b9-$22b9) ===
        .byte $00                                   // .

// --- Region $22e7-$2309 ---
.pc = $22e7 "dat_22e7"

dat_22e7:
        .byte $11,$08,$08,$0c,$08,$08,$35,$08,$08,$0c,$08,$08,$1d,$08,$08,$0c // ......5.........
        .byte $08,$08,$0c,$08,$08,$35,$08,$08,$0c,$08,$08,$36,$08,$08,$0c,$08 // .....5.....6....
        .byte $08,$22                               // ."

dat_2309:
        // === Fill data (1 bytes, $2309-$2309) ===
        .byte $00                                   // .

// --- Region $2337-$2358 ---
.pc = $2337 "dat_2337"

dat_2337:
        .byte $37,$08,$38,$39,$08                   // 7.89.

txt_233c:
        .text "8:;<=>?7"
        .byte $08,$38,$39,$08,$38,$39,$08           // .89.89.

txt_234b:
        .text "8:;<=>?"
        .byte $40                                   // @ character
        .text ";<=>?"
        .byte $00                                   // string terminator

// --- Region $2386-$23aa ---
.pc = $2386 "txt_2386"

txt_2386:
        .text "ABCDEFG"
        .byte $08,$48,$47,$08                       // .HG.

txt_2391:
        .text "HABCDEFABCDEFABCDEFABCDEF"
        .byte $00                                   // string terminator

// --- Region $23d6-$23fa ---
.pc = $23d6 "dat_23d6"

dat_23d6:
        .byte $49,$08,$4a,$08,$08,$4b,$08,$08,$4a,$08,$08,$4a,$49,$08,$4a,$08 // I.J..K..J..JI.J.
        .byte $08,$4b,$49,$08,$4a,$08,$08,$4b,$49,$08,$4a,$08,$08,$4b,$49,$08 // .KI.J..KI.J..KI.
        .byte $4a,$08,$08,$4b                       // J..K

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

// --- Region $2426-$244a ---
.pc = $2426 "dat_2426"

dat_2426:
        .byte $08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08 // ..J..J..J..J..J.
        .byte $08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08 // .J..J..J..J..J..
        .byte $4a,$08,$08,$4a                       // J..J

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

// --- Region $2476-$249a ---
.pc = $2476 "dat_2476"

dat_2476:
        .byte $08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08 // ..J..J..J..J..J.
        .byte $08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08 // .J..J..J..J..J..
        .byte $4a,$08,$4c,$4d                       // J.LM

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

// --- Region $24c6-$24ea ---
.pc = $24c6 "dat_24c6"

dat_24c6:
        .byte $08,$08,$4a,$4e,$1b,$4f,$50,$08,$4a,$08,$08,$51,$08,$08,$4a,$4e // ..JN.OP.J..Q..JN
        .byte $1b,$4f,$08,$08,$4a,$4e,$1b,$4f,$52,$08,$4a,$4e,$1b,$4f,$52,$08 // .O..JN.OR.JN.OR.

txt_24e6:
        .text "JNST"
        .byte $00                                   // string terminator

// --- Region $2516-$253a ---
.pc = $2516 "dat_2516"

dat_2516:
        .byte $08,$08,$08,$55,$00,$00,$56,$57,$58,$08,$59,$5a,$08,$08,$4a,$00 // ...U..VWX.YZ..J.
        .byte $00,$00,$08,$08,$08,$55,$00,$00,$5b,$5c,$08,$44,$45,$46,$5b,$5c // .....U..[\.DEF[\
        .byte $08,$44,$45,$46                       // .DEF

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

// --- Region $2566-$258a ---
.pc = $2566 "dat_2566"

dat_2566:
        .byte $08,$08,$5d,$5e,$2c,$5f,$60,$08,$61,$08,$08,$62,$08,$08,$4a,$63 // ..]^,_`.a..b..Jc
        .byte $2c,$5f,$08,$08,$5d,$5e,$2c,$5f,$63,$64,$65,$08,$08,$4b,$63,$64 // ,_..]^,_cde..Kcd
        .byte $65,$08,$08,$4b                       // e..K

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

// --- Region $25b6-$25da ---
.pc = $25b6 "dat_25b6"

dat_25b6:
        .byte $08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08 // ..J..J..J..J..J.
        .byte $08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08 // .J..J..J..J..J..
        .byte $4a,$08,$08,$4a                       // J..J

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

// --- Region $2606-$262a ---
.pc = $2606 "dat_2606"

dat_2606:
        .byte $08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08 // ..J..J..J..J..J.
        .byte $08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08,$4a,$08,$08 // .J..J..J..J..J..
        .byte $4a,$08,$08,$4a                       // J..J

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

// --- Region $2656-$267a ---
.pc = $2656 "dat_2656"

dat_2656:
        .byte $66,$08,$4a,$08,$08,$67,$08,$08,$4a,$08,$08,$4a,$66,$08,$4a,$08 // f.J..g..J..Jf.J.
        .byte $08,$67,$66,$08,$4a,$08,$08,$67,$66,$08,$4a,$08,$08,$67,$66,$08 // .gf.J..gf.J..gf.
        .byte $4a,$08,$08,$67                       // J..g

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

// --- Region $26a6-$26ca ---
.pc = $26a6 "dat_26a6"

dat_26a6:
        .byte $68,$69,$6a,$6b,$6c,$6d,$6e,$08,$6f,$6e,$08,$6f,$68,$69,$6a,$6b // hijklmn.on.ohijk
        .byte $6c,$6d,$68,$69,$6a,$6b,$6c,$6d,$68,$69,$6a,$6b,$6c,$6d,$68,$69 // lmhijklmhijklmhi
        .byte $6a,$6b,$6c,$6d                       // jklm

dat_26ca:
        // === Fill data (1 bytes, $26ca-$26ca) ===
        .byte $00                                   // .

// --- Region $2ab6-$2ab6 ---
.pc = $2ab6 "dat_2ab6"

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

// --- Region $2adc-$2ec7 ---
.pc = $2adc "dat_2adc"

dat_2adc:
        .byte $c4,$c9,$c4,$c9,$43,$0f,$04,$05,$3a,$20,$44,$09,$04,$09,$2f,$4c // ....C...: D.../L
        .byte $01,$18,$09,$14,$19                   // .....

txt_2af1:
        .text "                    "
        .byte $1b,$20,$1d,$4c,$0f,$07,$0f,$3a,$20,$43,$01,$14,$2f,$41,$03,$12 // . .L...: C../A..
        .byte $09,$13,$05,$2b,$45,$18,$03,$05,$13,$13 // ...+E.....

txt_2b1f:
        .text "                 C"
        .byte $08,$01,$12,$3a,$20,$44,$09,$04,$09,$2f,$4c,$01,$18,$09,$14,$19 // ...: D.../L.....

txt_2b41:
        .text "                       T"
        .byte $15,$0e,$05,$3a,$20,$53,$0e,$01,$10,$2f,$41,$14,$0c,$01,$0e,$14 // ...: S.../A.....
        .byte $09,$13                               // ..

dat_2b6b:
        .text "                                                                                     .."

txt_2bc2:
        .encoding "screencode_mixed"
        .text "he shall apear to thee and thou shall know him.. he is no son of god.. he is the son of earth! a new messiah.. he's walked among the living and lived among the dead.. he holds the key up there"
        .encoding "petscii_upper"

txt_2c82:
        .text "..    "

txt_2c88:
        .encoding "screencode_mixed"
        .text "enough! the mendrake returns with yet another fast release. our contribution to the world premiers' is"
        .encoding "petscii_upper"

txt_2cee:
        .text "    "
        .byte $1e,$20,$12,$0f,$02,$0f,$14,$12,$0f,$0e,$09,$18,$20,$1f // . .......... .

txt_2d00:
        .text "        "

txt_2d08:
        .encoding "screencode_mixed"
        .text "released as demo version on 19th september"
        .encoding "petscii_upper"

txt_2d32:
        .text " 1996. "

txt_2d39:
        .encoding "screencode_mixed"
        .text "released and maximum crunched by the mendrake, supplied by gothic"
        .encoding "petscii_upper"

txt_2d7a:
        .text ".     "
        .byte $0d                                   // string terminator

txt_2d81:
        .encoding "screencode_mixed"
        .text "ake sure leaving us a buzz at "
        .encoding "petscii_upper"
        .byte $1e                                   // .

txt_2da0:
        .encoding "screencode_mixed"
        .text " the dragon's tower "
        .encoding "petscii_upper"
        .byte $1f,$20,$1b,$01,$03,$12,$05,$18,$2f,$0e,$0f,$14,$20,$17,$08,$11 // . ....../... ...
        .byte $1d,$20,$0f,$0e                       // . ..

txt_2dc8:
        .text "  (+49)-2215104891..       "

txt_2de3:
        .encoding "screencode_mixed"
        .text "hail to the brave ones, such as"
        .encoding "petscii_upper"

txt_2e02:
        .text "..    "

txt_2e08:
        .encoding "screencode_mixed"
        .text "not.. onslaught.. alpha flight.. motiv"
        .encoding "petscii_upper"

txt_2e2e:
        .text " 8.. "

txt_2e33:
        .encoding "screencode_mixed"
        .text "success and trc.. active.. triad.. fairlight.. chromance.. and more"
        .encoding "petscii_upper"

txt_2e76:
        .text "..                "

txt_2e88:
        .encoding "screencode_mixed"
        .text "gotta run so later on"
        .encoding "petscii_upper"

txt_2e9d:
        .text "!          "
        .byte $60                                   // `

txt_2ea9:
        .text "                              "
        .byte $00                                   // string terminator
