// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:46
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $32ff  (11264 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2a00 (10752)
// IRQ handler:  $2ad4 (irq_2ad4)
//
// Code: 2411 bytes, Data: 8853 bytes
// Labels: 239, Subroutines: 15
//
// Cross-references: all OK
// ============================================


// --- Region $08af-$08b6 ---
.pc = $08af "loc_08af"

loc_08af:
        ora $dd
        adc $76,x
        cmp.abs $0003
        brk

// --- Region $08c5-$08cf ---
.pc = $08c5 "loc_08c5"

loc_08c5:
        bpl loc_08f7
        bpl loc_08af
        cmp $da6a,y
        sbc $4f,x
        rti

dat_08cf:
        .byte $c0                                   // .

// --- Region $08f7-$08fe ---
.pc = $08f7 "loc_08f7"

loc_08f7:
        cpy #$f7
        adc $76,x
        cmp.abs $0003
        brk

// --- Region $0e00-$0e36 ---
.pc = $0e00 "loc_0e00"

loc_0e00:
        sei
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        lda #$00
        sta $d020
        sta $d021
        ldx #$00

loc_0e14:
        lda txt_0e80,x
        sta $0400,x
        lda #$0f
        sta $d800,x
        inx
        cpx #$28
        bne loc_0e14
        ldx #$00

loc_0e26:
        lda dat_0e36,x
        sta $0100,x
        inx
        cpx #$28
        bne loc_0e26
        inc $01
        jmp $0100

dat_0e36:
        .byte $a9                                   // .

// --- Region $1000-$100d ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $2a1c

sub_1000:
        jmp loc_1066

dat_1003:
        .byte $4c,$ea,$10,$4c,$fe,$10               // L..L..
// Referenced by: jsr from $2b50

sub_1009:
        jmp loc_1fe0

txt_100c:
        .text "-M"

// --- Region $101e-$10fd ---
.pc = $101e "sub_101e"
// Referenced by: jsr from $1fe0

sub_101e:
        bit dat_15f1
        bmi loc_1065
        bvs loc_106e
        lda #$00
        ldx #$00
        ldy #$00
        jsr sub_1107
        lda #$01
        ldx #$07
        ldy #$25
        jsr sub_1107
        lda #$02
        ldx #$0e
        ldy #$4a
        jsr sub_1107
        dec $15f6
        bpl loc_104b
        lda $15f2
        sta $15f6

loc_104b:
        lda $15f8
        sta $d416
        lda $15f9
        ora #$f0
        sta $d417
        lda $dd0e
        cmp #$01
        beq loc_1065
        lda #$1f
        sta $d418

loc_1065:
        rts

loc_1066:
        and #$3f
        ora #$40
        sta dat_15f1
        rts

loc_106e:
        jsr sub_10ea
        lda #$00
        ldx #$72

loc_1075:
        sta $15f6,x
        dex
        bpl loc_1075
        lda dat_15f1
        and #$3f
        sta dat_15f1
        sta $15fa
        sta $161f
        sta $1644
        asl
        sta $15f7
        asl
        clc
        adc $15f7
        tax
        lda $1677,x
        sta $15fb
        lda $1678,x
        sta $15fc
        lda $1679,x
        sta $1620
        lda $167a,x
        sta $1621
        lda $167b,x
        sta $1645
        lda $167c,x
        sta $1646
        lda #$80
        sta $15ff
        sta $1624
        sta $1649
        ldx dat_15f1
        lda $18af,x
        sta $15f2
        lda $18b7,x
        and #$80
        sta $15fd
        lda $18b7,x
        and #$40
        asl
        sta $1622
        lda $18b7,x
        and #$20
        asl
        asl
        sta $1647
        rts
// Referenced by: jsr from $106e

sub_10ea:
        lda dat_15f1
        ora #$80
        sta dat_15f1
        lda #$08
        sta $d404
        sta $d40b
        sta $d412
        rts

// --- Region $1107-$15f0 ---
.pc = $1107 "sub_1107"
// Referenced by: jsr from $102b, $1034, $103d

sub_1107:
        sta $15f3
        stx $15f4
        sty $15f5
        ldx $15f5
        lda $15fd,x
        bpl loc_1119
        rts

loc_1119:
        lda $15ff,x
        bmi loc_1121
        jmp loc_11f4

loc_1121:
        lda #$00
        sta $1600,x
        lda $15fb,x
        sta $fb
        lda $15fc,x
        sta $fc

loc_1130:
        ldy $15fd,x
        lda ($fb),y
        inc $15fd,x
        cmp #$ff
        bne loc_117f
        lda $15ff,x
        bpl loc_1144
        jmp loc_11e3

loc_1144:
        lda #$00
        sta $15fd,x
        sta $1602,x
        sta $1605,x
        lda #$80
        sta $15ff,x
        ldy $15fa,x
        lda $18a7,y
        cmp $15fa,x
        beq loc_1130
        sta $15fa,x
        tay
        lda $15f3
        asl
        clc
        adc $166f,y
        tay
        lda $1677,y
        sta $fb
        sta $15fb,x
        lda $1678,y
        sta $fc
        sta $15fc,x
        jmp loc_1130

loc_117f:
        cmp #$40
        bcs loc_11bd
        sta $15fe,x
        asl
        tay
        lda $16a7,y
        sta $fb
        lda $16a8,y
        sta $fc

loc_1192:
        ldy #$00
        lda ($fb),y
        and #$3f
        sta $1606,x
        iny
        lda ($fb),y
        clc
        adc $1605,x
        and #$1f
        sta $1604,x
        iny
        lda ($fb),y
        sta $1601,x
        lda #$03
        sta $15ff,x
        lda #$00
        sta $1608,x
        sta $1609,x
        jmp loc_12b3

loc_11bd:
        cmp #$70
        bcs loc_11c9
        and #$3f
        sta $1600,x
        jmp loc_1130

loc_11c9:
        cmp #$d0
        bcs loc_11d6
        sec
        sbc #$70
        sta $1602,x
        jmp loc_1130

loc_11d6:
        cmp #$fe
        beq loc_11e3
        sec
        sbc #$d0
        sta $1605,x
        jmp loc_1130

loc_11e3:
        lda #$80
        sta $15fd,x
        lda #$00
        ldy $15f4
        sta $d404,y
        sta $161e,x
        rts

loc_11f4:
        lda $15f6
        bne loc_1201
        lda $1607,x
        beq loc_1215
        dec $1607,x

loc_1201:
        lda $160d,x
        bmi loc_120c
        jsr loc_120c
        jmp loc_138a

loc_120c:
        lda $161e,x
        beq loc_1214
        dec $161e,x

loc_1214:
        rts

loc_1215:
        lda $15fe,x
        asl
        tay
        lda $16a7,y
        sta $fb
        lda $16a8,y
        sta $fc

loc_1224:
        ldy $15ff,x
        inc $15ff,x
        lda ($fb),y
        bmi loc_1244
        cmp #$60
        bcs loc_1238
        sta $1601,x
        jmp loc_12b3

loc_1238:
        clc
        adc $1605,x
        and #$1f
        sta $1604,x
        jmp loc_1224

loc_1244:
        cmp #$ff
        bne loc_1253
        dec $1600,x
        bpl loc_1250
        jmp loc_1121

loc_1250:
        jmp loc_1192

loc_1253:
        cmp #$b8
        bcs loc_125f
        and #$3f
        sta $1606,x
        jmp loc_1224

loc_125f:
        cmp #$fb
        bcs loc_1279
        sec
        sbc #$b8
        pha
        asl
        asl
        asl
        asl
        asl
        sta $1608,x
        pla
        lsr
        lsr
        lsr
        sta $1609,x
        jmp loc_1224

loc_1279:
        cmp #$fc
        bcs loc_1285
        lda #$00
        sta $160a,x
        jmp loc_137f

loc_1285:
        cmp #$fd
        bcs loc_12a2
        lda $160d,x
        bmi loc_129b
        lda #$00
        ldy $15f4
        sta $d404,y
        lda #$80
        sta $160d,x

loc_129b:
        lda $1606,x
        sta $1607,x
        rts

loc_12a2:
        cmp #$fe
        beq loc_12ab
        lda #$80
        jmp loc_12ad

loc_12ab:
        lda #$40

loc_12ad:
        sta $160a,x
        jmp loc_137f

loc_12b3:
        lda #$00
        sta $160a,x
        sta $160d,x
        sta $160b,x
        sta $160c,x
        sta $1611,x
        sta $1612,x
        sta $161d,x
        sta $1615,x
        sta $1616,x
        sta $1618,x
        sta $1619,x
        sta $161c,x
        ldy $1604,x
        lda $18bf,y
        ldx $15f4
        sta $d405,x
        lda dat_18df,y
        sta $d406,x
        ldx $15f3
        lda $15f9
        and $166c,x
        sta $15f9
        lda $191f,y
        ldx $15f5
        sta $161a,x
        lda $197f,y
        sta $160e,x
        lda $199f,y
        sta $160f,x
        asl
        sta $1610,x
        lda $19ff,y
        sta $1617,x
        lda $193f,y
        sta $161b,x
        lda $1601,x
        clc
        adc $1602,x
        cmp #$60
        bcc loc_132a
        sec
        sbc #$60

loc_132a:
        sta $1601,x
        lda $1601,x
        sta $1603,x
        asl
        tay
        lda $1606,x
        sta $1607,x
        lda #$3f
        sta $161e,x
        lda $17e7,y
        ldx $15f4
        sta $d400,x
        lda $17e8,y
        sta $d401,x
        lda #$01
        sta $d404,x
        ldx $15f5
        ldy $1604,x
        ldx $15f3
        lda $18ff,y
        and #$08
        beq loc_136d
        lda $15f9
        ora $1669,x
        jmp loc_1373

loc_136d:
        lda $15f9
        and $166c,x

loc_1373:
        sta $15f9
        ldx $15f5
        ldy $15f4
        jmp loc_15cc

loc_137f:
        lda #$00
        sta $160d,x
        lda $1606,x
        sta $1607,x

loc_138a:
        ldy $1604,x
        lda $161b,x
        beq loc_1395
        dec $161b,x

loc_1395:
        lda $160e,x
        bne loc_13ec
        lda $160a,x
        bne loc_13ef
        lda $199f,y
        beq loc_13a9
        lda $160f,x
        beq loc_13c7

loc_13a9:
        lda $1611,x
        clc
        adc $19bf,y
        sta $1611,x
        lda $1612,x
        adc $19df,y
        sta $1612,x
        lda $199f,y
        beq loc_13ef
        dec $160f,x
        jmp loc_13ef

loc_13c7:
        lda $1611,x
        sec
        sbc $19bf,y
        sta $1611,x
        lda $1612,x
        sbc $19df,y
        sta $1612,x
        dec $1610,x
        bne loc_13ef
        lda $199f,y
        asl
        sta $160f,x
        sta $1610,x
        jmp loc_13ef

loc_13ec:
        dec $160e,x

loc_13ef:
        lda $1604,x
        asl
        tay
        lda $1767,y
        sta $fb
        lda $1768,y
        sta $fc
        lda $1615,x
        asl
        sta smc_1416                                // SMC: modifies $1416
        tay
        iny
        sty smc_141d                                // SMC: modifies $141d
        lda $1616,x
        beq loc_1415
        dec $1616,x
        jmp loc_141c

loc_1415:
.label smc_1416 = * + 1
        ldy #$00                                    // !SMC: modified by $1402
        lda ($fb),y
        sta $1616,x

loc_141c:
.label smc_141d = * + 1
        ldy #$01                                    // !SMC: modified by $1407
        lda ($fb),y
        clc
        adc $1617,x
        sta $1617,x
        lda $1616,x
        bne loc_1443
        lda $1615,x
        ldy $1604,x
        cmp $1a5f,y
        bcc loc_1440
        lda $1a7f,y
        sta $1615,x
        jmp loc_1443

loc_1440:
        inc $1615,x

loc_1443:
        ldy $1604,x
        lda $18ff,y
        and #$04
        beq loc_14a1
        lda $1604,x
        asl
        tay
        lda $17a7,y
        sta $fb
        lda $17a8,y
        sta $fc
        lda $1618,x
        asl
        sta smc_1474                                // SMC: modifies $1474
        tay
        iny
        sty smc_147b                                // SMC: modifies $147b
        lda $1619,x
        beq loc_1473
        dec $1619,x
        jmp loc_147a

loc_1473:
.label smc_1474 = * + 1
        ldy #$00                                    // !SMC: modified by $1460
        lda ($fb),y
        sta $1619,x

loc_147a:
.label smc_147b = * + 1
        ldy #$01                                    // !SMC: modified by $1465
        lda ($fb),y
        clc
        adc $161a,x
        sta $161a,x
        lda $1619,x
        bne loc_14a1
        lda $1618,x
        ldy $1604,x
        cmp dat_1a9f,y
        bcc loc_149e
        lda $1abf,y
        sta $1618,x
        jmp loc_14a1

loc_149e:
        inc $1618,x

loc_14a1:
        lda $160a,x
        bmi loc_14ac
        asl
        bmi loc_14bf
        jmp loc_14d2

loc_14ac:
        lda $160b,x
        clc
        adc $1608,x
        sta $160b,x
        lda $160c,x
        adc $1609,x
        jmp loc_14cf

loc_14bf:
        lda $160b,x
        sec
        sbc $1608,x
        sta $160b,x
        lda $160c,x
        sbc $1609,x

loc_14cf:
        sta $160c,x

loc_14d2:
        lda $1604,x
        asl
        tay
        lda $1727,y
        sta $fb
        lda $1728,y
        sta $fc
        lda $161d,x
        asl
        sta smc_14ee                                // SMC: modifies $14ee
        tay
        iny
        sty smc_156a                                // SMC: modifies $156a
.label smc_14ee = * + 1
        ldy #$12                                    // !SMC: modified by $14e5
        lda ($fb),y
        sta $15f7
        ldy $1604,x
        lda $18ff,y
        and #$f0
        cmp #$20
        beq loc_155e
        sta smc_151e                                // SMC: modifies $151e
        lda $15f7
        php
        bmi loc_1524
        and #$7f
        cmp #$60
        bcc loc_1512
        sec
        sbc #$60

loc_1512:
        clc
        adc $1603,x
        cmp #$60
        bcc loc_151d
        sec
        sbc #$60

loc_151d:
.label smc_151e = * + 1
        ldy #$10                                    // !SMC: modified by $1500
        bne loc_1524

dat_1521:
        .byte $9d,$03,$16                           // ...

loc_1524:
        asl
        tay
        lda $17e7,y
        sta $1613,x
        lda $17e8,y
        sta $1614,x
        plp
        bmi loc_1569
        lda $1613,x
        clc
        adc $160b,x
        sta $1613,x
        lda $1614,x
        adc $160c,x
        sta $1614,x
        lda $1613,x
        clc
        adc $1611,x
        sta $1613,x
        lda $1614,x
        adc $1612,x
        sta $1614,x
        jmp loc_1569

loc_155e:
        lda #$00
        sta $1613,x
        lda $15f7
        sta $1614,x

loc_1569:
.label smc_156a = * + 1
        ldy #$13                                    // !SMC: modified by $14ea
        lda ($fb),y
        sta $15f7
        lda $161c,x
        bmi loc_1595
        ldy $1604,x
        lda $193f,y
        beq loc_1585
        lda $161b,x
        bne loc_1585
        jmp loc_1590

loc_1585:
        lda $1607,x
        cmp $195f,y
        bcc loc_1590
        jmp loc_159d

loc_1590:
        lda #$80
        sta $161c,x

loc_1595:
        lda $15f7
        and #$fe
        jmp loc_15a0

loc_159d:
        lda $15f7

loc_15a0:
        ldy $15f4
        sta $d404,y
        lda $161d,x
        ldy $1604,x
        cmp $1a1f,y
        bcc loc_15ba
        lda $1a3f,y
        sta $161d,x
        jmp loc_15bd

loc_15ba:
        inc $161d,x

loc_15bd:
        ldy $15f4
        lda $1613,x
        sta $d400,y
        lda $1614,x
        sta $d401,y

loc_15cc:
        lda $1617,x
        asl
        asl
        asl
        asl
        sta $d402,y
        lda $1617,x
        lsr
        lsr
        lsr
        lsr
        sta $d403,y
        ldy $1604,x
        lda $18ff,y
        and #$04
        beq loc_15f0
        lda $161a,x
        sta $15f8

loc_15f0:
        rts

// --- Region $1fe0-$1fe9 ---
.pc = $1fe0 "loc_1fe0"

loc_1fe0:
        jsr sub_101e

loc_1fe3:
        lda $d011
        bmi loc_1fe3
        rts

dat_1fe9:
        .byte $00                                   // .

// --- Region $2a00-$2c4c ---
.pc = $2a00 "main_2a00"
main_2a00: {
        sei
        lda #$01
        sta $d019
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$01
        sta $dc0e
        lda #$1b
        sta $d011
        lda #$00
        tay
        tax
        jsr sub_1000
        lda #$d4
        sta $0314
        lda #$2a
        sta $0315
        lda #$00
        jsr $e536
        ldx #$00
loop1:
        lda spr_2800,x
        sta $0630,x
        lda $28c8,x
        sta $06f8,x
        lda #$0c
        sta $da30,x
        sta $daf8,x
        inx
        cpx #$f0
        bne loop1
        lda #$0a
        sta $d022
        lda #$0f
        sta $d023
        jsr sub_2c33
        ldx #$00
        ldy #$00
loop2:
        lda dat_0f80,y
        sta $05b8,x
        clc
        adc #$40
        sta $05b9,x
        clc
        adc #$40
        sta $05e0,x
        clc
        adc #$40
        sta $05e1,x
        inx
        inx
        iny
        cpy #$14
        bne loop2
        ldx #$00
        lda #$0f
loop3:
        sta $d918,x
        sta $d9b8,x
        inx
        cpx #$50
        bne loop3
        ldx #$00
loop4:
        lda txt_2e00,x
        sta $0428,x
        lda $2e28,x
        sta $0450,x
        lda $2e50,x
        sta $0478,x
        inx
        cpx #$28
        bne loop4
        lda #$04
        sta $2db5
        lda #$03
        sta $2c64
        lda #$7e
        sta smc_2b90                                // SMC: modifies $2b90
        lda #$2c
        sta smc_2b91                                // SMC: modifies $2b91
        lda #$00
        sta dat_2db4
        sta $2dce
        lda #$78
        sta $2d00
        sta $2d4e
        lda #$2e
        sta $2d01
        sta $2d4f
        jsr sub_2d7a
        cli
        jmp $2ad1
}

irq_2ad4:
        lda #$30
        sta $d012
        lda #$32

loc_2adb:
        cmp $d012
        bne loc_2adb
        lda #$0c
        sta $d020
        ldx #$0a

loc_2ae7:
        dex
        bne loc_2ae7
        nop
        lda #$0b
        sta $d020
        sta $d021
        lda #$5a

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

loc_2afc:
        dex
        bne loc_2afc
        nop
        lda #$0c
        sta $d020
        sta $d021
        ldx #$02

loc_2b0a:
        dex
        bne loc_2b0a
        nop
        lda #$00
        sta $d020
        sta $d021
        lda $2c41
        sta $d016
        lda #$19
        sta $d018
        jsr sub_2bae
        lda #$82

loc_2b26:
        cmp $d012
        bne loc_2b26
        lda #$c8
        sta $d016
        jsr sub_2bc8
        jsr sub_2c43
        lda #$a2

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

loc_2b3f:
        dex
        bne loc_2b3f
        nop
        lda #$13
        sta $d018
        lda #$d8
        sta $d016
        nop
        nop
        nop
        jsr sub_1009
        lda #$d4

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

loc_2b5c:
        dex
        bne loc_2b5c
        nop
        lda #$06
        sta $d020
        sta $d021
        lda #$db

loc_2b6a:
        cmp $d012
        bne loc_2b6a
        ldx #$0e

loc_2b71:
        dex
        bne loc_2b71
        ldx #$00

loc_2b76:
.label smc_2b77 = * + 1
        lda $0fab,x                                 // !SMC: modified by $2bc4
        sta $d016
        ldy $0fe0,x

loc_2b7f:
        dey
        bne loc_2b7f
        inx
        cpx #$20
        bne loc_2b76
        nop
        nop
        nop
        lda #$c8
        sta $d016
.label smc_2b90 = * + 1
.label smc_2b91 = * + 2
        jsr sub_2cb8                                // !SMC: modified by $2aad, $2ab2, $2ce8, $2ced
        lda #$2a

loc_2b94:
        cmp $d012
        bne loc_2b94
        lda #$00
        sta $d020
        sta $d021
        lda #$15
        sta $d018
        lda #$01
        sta $d019
        jmp $ea81
// Referenced by: jsr from $2b21

sub_2bae:
.label smc_2baf = * + 1
        lda #$ff                                    // !SMC: modified by $2bb2
        eor #$ff
        sta smc_2baf                                // SMC: modifies $2baf
        beq loc_2bb8

scr_2bb7:
        // === Screen RAM (1 bytes, $2bb7-$2bb7) ===
        .byte $60                                   // scrcode: .

loc_2bb8:
        inc smc_2b77
        lda smc_2b77
        cmp #$c0
        bne loc_2bc7
        lda #$a0
        sta smc_2b77                                // SMC: modifies $2b77

loc_2bc7:
        rts
// Referenced by: jsr from $2b30

sub_2bc8:
        ldx #$06

loc_2bca:
        dec $2c41
        lda $2c41
        cmp #$bf
        bne loc_2bd7
        jsr sub_2bdd

loc_2bd7:
        dex
        cpx #$00
        bne loc_2bca
        rts
// Referenced by: jsr from $2bd4

sub_2bdd:
        lda #$c7
        sta $2c41
        ldy #$00

loc_2be4:
        lda $0519,y
        sta $0518,y
        lda $0541,y
        sta $0540,y
        iny
        cpy #$27
        bne loc_2be4
        lda $2c42
        cmp #$01
        beq loc_2c20

loc_2bfc:
        ldy #$00
        lda ($a9),y
        cmp #$00
        bne loc_2c0a
        jsr sub_2c33
        jmp loc_2bfc

loc_2c0a:
        clc
        adc #$40
        sta $053f
        clc
        adc #$80
        sta $0567
        inc $a9
        bne loc_2c1c
        inc $aa

loc_2c1c:
        inc $2c42
        rts

loc_2c20:
        ldy #$00
        lda ($a9),y
        sta $053f
        clc
        adc #$80
        sta $0567
        lda #$00
        sta $2c42
        rts
// Referenced by: jsr from $2a53, $2c04

sub_2c33:
        lda #$00
        sta $a9
        lda #$30
        sta $aa
        lda #$00
        sta $2c42

spr_2c40:
        // === Sprite data (3 bytes, $2c40-$2c42) ===
        .byte $60,$c5,$01                           // .##.....##...#.#.......#
// Referenced by: jsr from $2b33

sub_2c43:
.label smc_2c44 = * + 1
        lda #$00                                    // !SMC: modified by $2c47
        eor #$ff
        sta smc_2c44                                // SMC: modifies $2c44
        beq spr_2c4d
        rts

// --- Region $2cb8-$2db3 ---
.pc = $2cb8 "sub_2cb8"
// Referenced by: jsr from $2b8f

sub_2cb8:
        lda #$f7
        jsr sub_2cd6
        cmp #$fd
        bne loc_2cc7
        lda #$01
        jsr sub_2cdd
        rts

loc_2cc7:
        lda #$ef
        jsr sub_2cd6
        cmp #$7f
        bne loc_2cd5
        lda #$00
        jsr sub_2cdd

loc_2cd5:
        rts
// Referenced by: jsr from $2cba, $2cc9

sub_2cd6:
        sta $dc00
        lda $dc01
        rts
// Referenced by: jsr from $2cc3, $2cd2

sub_2cdd:
        ldx dat_2db4
        sta $0180,x
        inc dat_2db4
        lda #$f1
        sta smc_2b90                                // SMC: modifies $2b90
        lda #$2c
        sta smc_2b91                                // SMC: modifies $2b91
        rts

loc_2cf1:
        ldx $2dce
        ldy #$00
        lda $2dcf,x
        cmp #$0b
        bne loc_2d15
        ldx #$00

loc_2cff:
        lda $2e78,x
        sta $0478,x
        inx
        cpx #$28
        bne loc_2cff
        lda #$21
        sta smc_2b90
        lda #$2d
        sta smc_2b91
        rts

loc_2d15:
        sta $d878,y
        iny
        cpy #$28
        bne loc_2d15
        inc $2dce
        rts

loc_2d21:
        ldx $2dce
        cpx #$00
        beq loc_2d39
        ldy #$00
        lda $2dcf,x

loc_2d2d:
        sta $d878,y
        iny
        cpy #$28
        bne loc_2d2d
        dec $2dce
        rts

loc_2d39:
        lda $2d00
        clc
        adc #$28
        sta $2d00
        sta $2d4e
        bcc loc_2d4d
        inc $2d01
        inc $2d4f

loc_2d4d:
        lda $2e78
        cmp #$00
        beq loc_2d5f
        lda #$b8
        sta smc_2b90
        lda #$2c
        sta smc_2b91
        rts

loc_2d5f:
        lda #$6a
        sta smc_2b90
        lda #$2d
        sta smc_2b91
        rts

loc_2d6a:
        lda #$7f
        sta $dc00
        lda $dc01
        cmp #$ef
        bne loc_2d79
        jmp loc_0e00

loc_2d79:
        rts
// Referenced by: jsr from $2acd

sub_2d7a:
        lda #$03
        sta $d015
        ldx #$36
        stx $07f8
        inx
        stx $07f9
        lda #$00
        sta $d027
        sta $d028
        sta $d017
        sta $d01d
        sta $d01c
        sta $d01b
        lda #$02
        sta $d010
        lda #$1e
        sta $d000
        lda #$38
        sta $d002
        lda #$67
        sta $d001
        sta $d003
        rts

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

// --- Region $080a-$08ae ---
.pc = $080a "dat_080a"

dat_080a:
        .byte $02,$07,$08,$13,$3f,$1f,$0e,$90,$cc,$33,$fc,$f3,$ff,$7f,$5d,$00 // ....?....3....].
        .byte $0c,$33,$cc,$3f,$f7,$ff,$fd,$03,$cc,$33,$cf,$3f,$ff,$fd,$d8,$04 // .3.?.....3.?....
        .byte $cc,$34,$cc,$fc,$7c,$fc,$9f,$40,$cc,$f3,$cc,$f3,$ff,$ff,$dd,$30 // .4..|..@.......0
        .byte $cc,$33,$fc,$f3,$ff,$7f,$8f,$4c,$cc,$4f,$cc,$cf,$cf,$cf,$75,$03 // .3.....L.O....u.
        .byte $cc,$33,$cf,$3f,$ff,$fd,$98,$08,$c4,$38,$c4,$f4,$7c,$f4,$f7,$1d // .3.?.....8..|...
        .byte $f7,$d5,$d7,$d5,$e5,$d9,$ff,$dd,$77,$dd,$57,$55,$65,$95,$cf,$cd // ........w.WUe...
        .byte $cf,$cf,$c0,$c0,$c0,$c0,$77,$dd,$75,$ff,$00,$00,$00,$00,$7c,$dc // ......w.u.....|.
        .byte $74,$d8,$00,$00,$00,$00,$f7,$dd,$f7,$d5,$d7,$d5,$e5,$d9,$cf,$cd // t...............
        .byte $cf,$cd,$cd,$cd,$ce,$cd,$77,$dd,$75,$d5,$55,$59,$56,$99,$7c,$dc // ......w.u.UYV.|.
        .byte $7c,$dc,$7c,$5c,$5c,$9c,$36,$39,$3a,$0e,$0d,$03,$00,$00,$66,$a9 // |.|\\.69:.....f.
        .byte $6a,$a9,$57,$fc,$70                   // j.W.p

// --- Region $08b7-$08c4 ---
.pc = $08b7 "dat_08b7"

dat_08b7:
        .byte $98,$40,$94,$a6,$aa,$55,$ff,$00,$00,$00,$00,$00,$40,$80 // .@...U......@.

// --- Region $08d0-$08f6 ---
.pc = $08d0 "Program $08d0"
        .byte $66,$a9,$6a,$a9,$57,$fc,$00,$00,$ce,$cd,$ce,$cd,$cf,$cc,$cc,$cc // f.j.W...........
        .byte $66,$9a,$a6,$aa,$55,$ff,$00,$00,$6c,$9c,$ac,$9c,$7c,$cc,$0c,$0c // f...U...l...|...
        .byte $c0,$c0,$40,$c0,$40,$80,$40           // ..@.@.@

// --- Region $08ff-$0dff ---
.pc = $08ff "dat_08ff"

dat_08ff:
        .byte $9d                                   // .

spr_0900:
        // === Sprite data (64 bytes, $0900-$093f) ===
        .byte $58,$94,$a4                           // .#.##...#..#.#..#.#..#..
        .byte $ac,$54,$fc                           // #.#.##...#.#.#..######..
        .byte $0c,$f4,$00                           // ....##..####.#..........
        .byte $00,$00,$00                           // ........................
        .byte $99,$83,$4c                           // #..##..##.....##.#..##..
        .byte $b3,$00,$00                           // #.##..##................
        .byte $00,$00,$77                           // .................###.###
        .byte $00,$0c,$33                           // ............##....##..##
        .byte $04,$08,$04                           // .....#......#........#..
        .byte $04,$cc,$c4                           // .....#..##..##..##...#..
        .byte $cc,$cf,$00                           // ##..##..##..####........
        .byte $00,$00,$00                           // ........................
        .byte $00,$30,$c0                           // ..........##....##......
        .byte $33,$04,$0c                           // ..##..##.....#......##..
        .byte $04,$0c,$0c                           // .....#......##......##..
        .byte $0c,$cc,$3c                           // ....##..##..##....####..
        .byte $40,$80,$40                           // .#......#........#......
        .byte $c0

txt_0934:
        .byte $40,$43
        .byte $cc,$f3,$00                           // ##..##..####..##........
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$0c                           // ....................##..
        .byte $33                                   // sprite 0 padding
        .byte $c4,$cc,$c4                           // ##...#..##..##..##...#..
        .byte $c4,$c8,$c4                           // ##...#..##..#...##...#..
        .byte $c4,$cf,$0c                           // ##...#..##..####....##..
        .byte $0c,$0c,$0c                           // ....##......##......##..
        .byte $0c,$0c,$cc                           // ....##......##..##..##..

txt_094f:
        .text "<"
        .byte $40                                   // @ character
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $c0,$c0,$cf,$cc,$cc,$cf,$00,$00,$00,$00,$75,$30,$c0,$33,$00,$00 // ..........u0.3..
        .byte $00,$00,$98,$08,$c4                   // .....

txt_0967:
        .text "8"
        .byte $40                                   // @ character
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $40,$c0,$cf,$cc,$cc,$cf,$4f,$7f,$ff,$77,$fd,$f7,$dd,$d5,$cc,$33 // @.....O..w.....3
        .byte $ff,$fd,$f7,$7d,$d7,$5d,$cc,$cf,$cf,$cf,$cf,$cf,$cd,$cf,$fc,$f3 // ...}.]..........
        .byte $ff,$7f,$df,$77,$dd,$75,$cc,$fc,$fc,$dc,$7c,$dc,$7c,$dc,$4f,$ff // ...w.u....|.|.O.
        .byte $ff,$f7,$fd,$f7,$dd,$d5,$c4,$cf,$cf,$cf,$cf,$cf,$cd,$cf,$c4,$f4 // ................
        .byte $fc,$d4,$7c,$dc,$7c,$dc,$d5,$d5,$d9,$d5,$e6,$d9,$e6,$da,$d7,$55 // ..|.|..........U
        .byte $55,$59,$65,$99,$6a,$99,$cd,$cd,$cd,$cd,$ce,$cd,$ce,$cd,$5d,$55 // UYe.j.........]U
        .byte $95,$59,$66,$99,$66,$9a,$7c,$5c,$5c,$9c,$5c,$9c,$6c,$9c,$3a,$1a // .Yf.f.|\\.\.l.:.
        .byte $3a,$0e,$06,$01,$00,$00,$aa,$aa,$aa,$6a,$aa,$a5,$7a,$07,$76,$aa // :........j..z.v.
        .byte $aa,$aa,$aa,$95,$aa,$ff,$aa,$aa,$a9,$a6,$96,$69,$b4,$40,$b0,$90 // ...........i.@..
        .byte $b0,$c0,$40,$00,$00,$00               // ..@...

spr_0a00:
        // === Sprite data (64 bytes, $0a00-$0a3f) ===
        .byte $3a,$1a,$39                           // ..###.#....##.#...###..#
        .byte $0e,$06,$01                           // ....###......##........#
        .byte $00,$00,$aa                           // ................#.#.#.#.
        .byte $aa,$aa,$6a                           // #.#.#.#.#.#.#.#..##.#.#.
        .byte $5a,$a5,$7a                           // .#.##.#.#.#..#.#.####.#.
        .byte $07,$76,$aa                           // .....###.###.##.#.#.#.#.
        .byte $aa,$aa,$aa                           // #.#.#.#.#.#.#.#.#.#.#.#.
        .byte $55,$aa,$ff                           // .#.#.#.##.#.#.#.########
        .byte $76,$aa,$aa                           // .###.##.#.#.#.#.#.#.#.#.
        .byte $aa,$aa,$59                           // #.#.#.#.#.#.#.#..#.##..#
        .byte $aa,$ff,$aa                           // #.#.#.#.#########.#.#.#.
        .byte $aa,$a9,$aa                           // #.#.#.#.#.#.#..##.#.#.#.
        .byte $96,$69,$b4                           // #..#.##..##.#..##.##.#..
        .byte $40,$aa,$aa                           // .#......#.#.#.#.#.#.#.#.
        .byte $aa,$aa,$9a                           // #.#.#.#.#.#.#.#.#..##.#.
        .byte $a5,$7a,$07                           // #.#..#.#.####.#......###
        .byte $aa,$aa,$aa                           // #.#.#.#.#.#.#.#.#.#.#.#.
        .byte $a6,$96,$69                           // #.#..##.#..#.##..##.#..#
        .byte $b4,$40,$00                           // #.##.#...#..............
        .byte $00,$00,$00                           // ........................
        .byte $03,$00,$0d                           // ......##............##.#
        .byte $01                                   // sprite 0 padding
        .byte $00,$0c,$c5,$d7,$55,$75,$55,$55,$00,$00,$55,$df,$55,$55,$55,$73 // ....UuUU..U.UUUs
        .byte $00,$c0,$4c,$f5,$5f,$57,$55,$55,$00,$00,$00,$c0,$70,$40,$5c,$50 // ..L._WUU....p@\P
        .byte $00,$0c,$c5,$d7,$7d,$75,$55,$55,$00,$00,$55,$ff,$55,$55,$55,$73 // ....}uUU..U.UUUs
        .byte $00,$00,$55,$fd,$55,$55,$55,$73,$00,$c0,$4c,$f5,$5f,$55,$55,$55 // ..U.UUUs..L._UUU
        .byte $00,$00,$00,$03,$0d,$01,$35,$05,$00,$0c,$c5,$5f,$75,$55,$55,$55 // ......5...._uUUU
        .byte $00,$00,$55,$ff                       // ..U.

txt_0a94:
        .text "UUU"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $00,$c0,$4c,$d7,$7d,$5d,$55,$55,$00,$00,$00,$00,$c0,$00,$70,$40 // ..L.}]UU......p@
        .byte $00,$0c,$c5,$5f,$55,$d5,$55,$55,$00,$00,$55,$7f // ..._U.UU..U.

txt_0ab4:
        .text "UUU"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)
        .byte $07,$0d,$03,$03,$03,$03,$00,$00,$75,$dd,$ff,$ff,$f3,$33,$30,$00 // ........u....30.
        .byte $40,$c0,$70,$f0,$c0,$c0,$c0,$00,$77,$dd
        .text "???3"
        .byte $03,$00
        .byte $74,$dc,$77,$ff,$3c,$3c,$0c,$00,$74,$dc,$5c,$fc,$30,$30,$30,$00 // t.w.<<..t.\.000.
        .byte $07,$0d,$0f,$0f,$0f,$0c,$00,$00,$75,$dd,$fd,$ff,$cf,$cf,$c3,$00 // ........u.......
        .byte $40,$c0,$c0,$c0,$00,$00,$00,$00,$77,$dd,$fd,$ff,$fc,$cc,$0c,$00 // @.......w.......
        .byte $74,$dc,$dc,$fc,$f0,$f0
        .byte $30,$00,$1d
        .text "7???3"
        .byte $03,$00
        .byte $d5,$77,$f7,$ff,$3c,$3c,$0c,$00,$01,$03,$03,$03,$03,$03,$00,$00 // .w..<<..........
        .byte $dd,$77,$f7,$ff,$f3,$33,$30,$00,$d0,$70,$70,$f0,$c0,$c0,$c0,$00 // .w...30..pp.....
        .byte $1d
        .text "7??<<"
        .byte $0c,$00,$d5,$77,$dc,$fc,$f0,$f0
        .byte $30,$00
        .byte $01,$03,$0f,$0f,$0f,$0c,$00,$00,$dd,$77,$dd,$ff,$cf,$cf,$c3,$00 // .........w......
        .byte $d0,$70,$c0,$c0,$00,$00,$00,$00,$03,$03,$01,$00,$00,$00,$00,$00 // .p..............
        .byte $00,$00,$df,$00,$00,$03,$03,$05,$00,$00,$30,$00,$00,$00,$fc,$d5 // ..........0.....
        .byte $00,$00,$00,$30,$30,$00,$00,$cd,$00,$00,$00,$00,$00,$00,$fd,$74 // ...00..........t
        .byte $0c,$00,$0c,$0c,$0c,$0c,$00,$03,$00,$00,$00,$00,$00,$00,$3f,$57 // ..............?W
        .byte $00,$00,$00,$00,$00,$00,$f0,$54,$c0,$c0,$40,$c0,$c0,$00,$03,$05 // .......T..@.....
        .byte $00,$00,$00,$00,$00,$00,$fc,$d5,$0c,$00,$0c,$0c,$0c,$0c,$00,$0d // ................
        .byte $00,$00,$00,$00,$00,$00,$ff,$5d,$00,$00,$00,$00 // .......]....

txt_0bc4:
        .text "00"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)
        .byte $5c,$00,$00,$33,$00,$00,$00,$00,$00,$03,$03,$dd,$00,$00,$00,$00 // \..3............
        .byte $00
        .byte $30,$00
        .text "0000"
        .byte $03
        .byte $35,$00,$00,$00,$00,$00,$00,$ff
        .byte $75,$00,$00,$00,$00,$30,$30,$30,$70,$00,$00,$cf,$00,$00,$00,$00 // u....000p.......
        .byte $00,$0c,$0c,$74,$00,$00,$00,$00,$00,$c0,$00,$c0,$c0,$c0,$c0,$0f // ...t............
        .byte $d5,$00,$00,$00,$c0,$c0,$00,$00,$cd,$00,$00,$cf,$00,$00,$00,$fc // ................
        .byte $5c,$03,$03,$71,$00,$00,$00,$00,$00,$00,$00,$df,$00,$00,$03,$0f // \..q............
        .byte $17,$00,$00,$30,$00,$00,$00,$f0,$57,$00,$00,$00,$30,$30,$00,$03 // ...0....W...00..
        .byte $35,$00,$00,$00,$00,$00,$00,$fc,$74,$03,$03,$01,$30,$30,$00,$00 // 5.......t...00..
        .byte $00,$00,$00,$dc,$00,$00,$00,$3f,$5d,$00,$00,$c0,$00,$00,$00,$c0 // .......?].......
        .byte $5c,$00,$00,$00,$c0,$c0,$00,$0f,$d5,$00,$00,$00,$00,$00,$00,$f0 // \...............
        .byte $d0,$00,$00,$00,$c0,$c0,$00,$00,$00
        .text "7??3"
        .byte $00,$01,$00
        .byte $00,$7f,$ff,$33,$33,$00,$00,$40,$00,$00,$00,$00,$03,$0c,$00,$00 // ...33..@........
        .byte $73,$00,$00,$00,$cc,$00,$00,$00,$03,$00,$00,$d0,$c0,$c0,$00,$00 // s...............
        .byte $34,$dd,$ff,$fc,$cc,$00,$00,$00,$70,$fc,$fc,$cc,$cc,$00,$00,$00 // 4.......p.......
        .byte $cd,$0d,$0f,$0c,$0c,$00,$00,$00,$03,$77,$7f,$f3,$33,$03,$00,$00 // .........w..3...
        .byte $3d,$03,$03,$03,$03,$00               // =.....

txt_0cbd:
        .text "00"
        .byte $d0                                   // 'P' | $80 (end-of-string marker)
        .byte $77,$ff,$f3,$33,$00,$40,$10,$00,$f0,$f0,$30,$30,$00,$00,$00,$1f // w..3.@....00....
        .byte $00,$00,$00,$33,$c0,$00,$00,$30,$00,$00,$0d,$cc,$00,$00,$00,$3d // ...3...0.......=
        .byte $0d,$0f,$0f,$0c,$00,$01,$00,$00,$df,$ff,$cc,$cc,$00,$00,$40,$00 // ..............@.
        .byte $c0,$c0,$c0,$c0,$03,$00,$00,$7c,$00,$00,$00,$cf,$00,$00,$00,$c3 // .......|........
        .byte $00,$00                               // ..

txt_0d02:
        .text "40"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $00,$00
        .text "47??3"
        .byte $00,$04,$01,$00,$7f,$ff
        .byte $33,$33,$00
        .byte $00,$00,$01,$00,$00,$00,$03,$30,$00,$00,$cc,$00,$00,$00,$30,$03 // .......0......0.
        .byte $00,$00,$0c,$00,$00,$d0,$c0,$00,$00,$00,$d0,$dd,$ff,$fc,$cc,$00 // ................
        .byte $10,$04,$00,$fc,$fc,$cc,$cc,$00,$00,$00,$1f,$00,$00,$00,$0c,$c0 // ................
        .byte $00,$00,$30,$00,$00,$03,$cf,$0c,$00,$00,$33,$03,$03,$43,$03,$00 // ..0.......3..C..
        .byte $01,$00,$40,$77,$ff,$f3,$33,$00,$00,$40,$00,$f0,$f0,$30,$30,$03 // ..@w..3..@...00.
        .byte $00,$00,$7c,$00,$00,$00,$33,$00,$00,$00,$c0,$00,$00,$0d,$3c,$00 // ..|...3.......<.
        .byte $00,$00,$f4,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$ff,$64,$40,$fe,$c8,$00,$fb,$64,$00,$f5,$91,$00 // .....d@....d....
        .byte $fe,$48,$00,$ed,$90,$00,$fb,$24,$00,$fd,$90,$00,$fb,$20,$00,$f6 // .H.....$..... ..
        .byte $44,$00,$fd,$10,$00,$ee,$c8,$00,$fd,$92,$00,$fa,$c8,$00,$f5,$b2 // D...............
        .byte $00,$ff,$64,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ..d@............
        .byte $00,$00,$00,$00,$02,$26,$ff,$00,$13,$7f,$00,$26,$df,$00,$89,$af // .....&.....&....
        .byte $00,$12,$7f,$00,$09,$b7,$00,$24,$df,$00,$09,$bf,$00,$04,$df,$00 // .......$........
        .byte $22,$6f,$00,$08,$bf,$00,$13,$77,$00,$49,$bf,$00,$13,$5f,$00,$4d // "o.....w.I..._.M
        .byte $af,$02,$26,$ff,$00,$00,$00,$00,$00,$00,$00 // ..&........

// --- Region $0e37-$0e5b ---
.pc = $0e37 "Program $0e37"
        .byte $00,$a2,$08,$85,$fa,$86,$fb,$a9,$00,$a2,$33,$85,$fc,$86,$fd,$a0 // ..........3.....
        .byte $00,$b1,$fc,$91,$fa,$c8,$d0,$f9,$e6,$fb,$e6,$fd,$d0,$f3,$c6,$01 // ................
        .byte $58,$4c,$e2,$fc                       // XL..

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

// --- Region $0e80-$0ea8 ---
.pc = $0e80 "txt_0e80"

txt_0e80:
        .encoding "screencode_mixed"
        .text "  code and logo by hi-lite of success   "
        .encoding "petscii_upper"

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

// --- Region $0f80-$0fff ---
.pc = $0f80 "dat_0f80"

dat_0f80:
        // === Sine/lookup table (128 bytes, range $00-$d7) ===
        .byte $20,$20,$20,$02,$01,$0c,$0c,$06,$05,$16,$05,$12 //    .........

txt_0f8c:
        .text " ++++   "
        .byte $00                                   // string terminator
        .fill 11, $00
        .byte $d0,$d0,$d0,$d0,$d1,$d1,$d1,$d2,$d2,$d3,$d4,$d5,$d5,$d6,$d6,$d6 // ................
        .byte $d7,$d7,$d7,$d7,$d6,$d6,$d6,$d5,$d5,$d4,$d3,$d2,$d2,$d1,$d1,$d1 // ................
        .byte $d0,$d0,$d0,$d0,$d1,$d1,$d1,$d2,$d2,$d3,$d4,$d5,$d5,$d6,$d6,$d6 // ................
        .byte $d7,$d7,$d7,$d7,$d6,$d6,$d6,$d5,$d5,$d4,$d3,$d2,$d2,$d1,$d1,$d1 // ................
        .byte $08,$09,$09,$09,$09,$09,$01,$0a,$08,$09,$09,$09,$09,$09,$01,$0a // ................
        .byte $08,$09,$09,$09,$09,$09,$01,$0a,$08,$09,$09,$09,$09,$09,$01,$0a // ................

// --- Region $100e-$101d ---
.pc = $100e "Segment $100e"
        .text "USIC BY ARNE/AFL"

// --- Region $10fe-$1106 ---
.pc = $10fe "dat_10fe"

dat_10fe:
        .byte $ad,$f1,$15,$29,$7f,$8d,$f1,$15,$60   // ...)....`

// --- Region $15f1-$18c0 ---
.pc = $15f1 "dat_15f1"

dat_15f1:
        .byte $00,$02,$02,$0e,$4a,$01,$11,$90,$01,$00,$df,$1a,$08,$0f,$08,$27 // ....J..........'
        .byte $5a,$06,$5a,$06,$00,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // Z.Z.............
        .byte $00,$c0,$ac,$7d,$00,$1c,$10,$00,$00,$90,$00,$80,$00,$3b,$00,$ec // ...}.........;..
        .byte $1a,$07,$0a,$08,$01,$2c,$06,$2c,$03,$00,$01,$00,$00,$00,$00,$00 // .....,.,........
        .byte $00,$00,$00,$00,$00,$00,$00,$4e,$0d,$00,$00,$00,$00,$00,$00,$00 // .......N........
        .byte $80,$01,$3b,$00,$1d,$1b,$2b,$10,$07,$27,$08,$06,$08,$01,$00,$03 // ..;...+..'......
        .fill 13, $00
        .byte $02,$00,$00,$80,$00,$00,$00,$00,$80,$0a,$35,$01,$02,$04,$fe,$fd // ..........5.....
        .byte $fb,$00,$06,$0c,$12,$18,$1e,$24,$2a,$df,$1a,$ec,$1a,$1d,$1b,$5b // .......$*......[
        .byte $1b,$5c,$1b,$5d,$1b,$5e,$1b,$5f,$1b,$60,$1b,$61,$1b,$62,$1b,$63 // .\.].^._.`.a.b.c
        .byte $1b,$64,$1b,$65,$1b,$66,$1b,$67,$1b,$68,$1b,$69,$1b,$6a,$1b,$6b // .d.e.f.g.h.i.j.k
        .byte $1b,$6c,$1b,$6d,$1b,$6e,$1b,$6f,$1b,$70,$1b,$cc,$1b,$de,$1b,$fd // .l.m.n.o.p......
        .byte $1b,$40,$1c,$8c,$1c,$bc,$1c,$e5,$1c,$05,$1d,$22,$1d,$4c,$1d,$5f // .@.........".L._
        .byte $1d,$72,$1d,$85,$1d,$94,$1d,$9b,$1d,$af,$1d,$c1,$1d,$e9,$1d,$ed // .r..............
        .byte $1d,$f1,$1d,$f5,$1d,$f9,$1d,$fd,$1d,$01,$1e,$05,$1e,$09,$1e,$0d // ................
        .byte $1e,$11,$1e,$15,$1e,$19,$1e,$1d,$1e,$21,$1e,$25,$1e,$29,$1e,$2d // .........!.%.).-
        .byte $1e,$31,$1e,$35,$1e,$39,$1e,$3d,$1e,$41,$1e,$45,$1e,$49,$1e,$4d // .1.5.9.=.A.E.I.M
        .byte $1e,$51,$1e,$55,$1e,$59,$1e,$5d,$1e,$61,$1e,$65,$1e,$69,$1e,$6d // .Q.U.Y.].a.e.i.m
        .byte $1e,$71,$1e,$75,$1e,$79,$1e,$7d,$1e,$81,$1e,$85,$1e,$89,$1e,$8d // .q.u.y.}........
        .byte $1e,$91,$1e,$95,$1e,$99,$1e,$9d,$1e,$a1,$1e,$a5,$1e,$bd,$1e,$bf // ................
        .byte $1e,$c3,$1e,$c7,$1e,$d3,$1e,$d5,$1e,$d7,$1e,$db,$1e,$dd,$1e,$df // ................
        .byte $1e,$e3,$1e,$e5,$1e,$e9,$1e,$f9,$1e,$05,$1f,$07,$1f,$09,$1f,$0b // ................
        .byte $1f,$0d,$1f,$0f,$1f,$11,$1f,$13,$1f,$15,$1f,$17,$1f,$19,$1f,$1b // ................
        .byte $1f,$1d,$1f,$1f,$1f,$21,$1f,$23,$1f,$25,$1f,$29,$1f,$2b,$1f,$2d // .....!.#.%.).+.-
        .byte $1f,$2f,$1f,$33,$1f,$35,$1f,$39,$1f,$3d,$1f,$41,$1f,$43,$1f,$45 // ./.3.5.9.=.A.C.E
        .byte $1f,$49,$1f,$4b,$1f,$4d,$1f,$4f,$1f,$51,$1f,$53,$1f,$55,$1f,$57 // .I.K.M.O.Q.S.U.W
        .byte $1f,$59,$1f,$5b,$1f,$5d,$1f,$5f,$1f,$61,$1f,$63,$1f,$65,$1f,$67 // .Y.[.]._.a.c.e.g
        .byte $1f,$69,$1f,$6b,$1f,$6d,$1f,$6f,$1f,$71,$1f,$75,$1f,$77,$1f,$79 // .i.k.m.o.q.u.w.y
        .byte $1f,$7b,$1f,$7d,$1f,$7f,$1f,$81,$1f,$83,$1f,$87,$1f,$89,$1f,$8b // .{.}............
        .byte $1f,$8f,$1f,$91,$1f,$93,$1f,$95,$1f,$97,$1f,$99,$1f,$9b,$1f,$9d // ................
        .byte $1f,$9f,$1f,$a1,$1f,$a3,$1f,$a5,$1f,$a7,$1f,$a9,$1f,$ab,$1f,$ad // ................
        .byte $1f,$af,$1f,$b1,$1f,$b3,$1f,$b5,$1f,$0c,$01,$1c,$01,$2d,$01,$3e // .............-.>
        .byte $01,$51,$01,$66,$01,$7b,$01,$91,$01,$a9,$01,$c3,$01,$dd,$01,$fa // .Q.f.{..........
        .byte $01,$18,$02,$38,$02,$5a,$02,$7d,$02,$a3,$02,$cc,$02,$f6,$02,$23 // ...8.Z.}.......#
        .byte $03,$53,$03,$86,$03,$bb,$03,$f4,$03,$30,$04,$70,$04,$b4,$04,$fb // .S.......0.p....
        .byte $04,$47,$05,$98,$05,$ed,$05,$47,$06,$a7,$06,$0c,$07,$77,$07,$e9 // .G.....G.....w..
        .byte $07,$61,$08,$e1,$08,$68,$09,$f7,$09,$8f,$0a,$30,$0b,$da,$0b,$8f // .a...h.....0....
        .byte $0c,$4e,$0d,$18,$0e,$ef,$0e,$d2,$0f,$c3,$10,$c3,$11,$d1,$12,$ef // .N..............
        .byte $13,$1f,$15,$60,$16,$b5,$17,$1e,$19,$9c,$1a,$31,$1c,$df,$1d,$a5 // ...`.......1....
        .byte $1f,$87,$21,$86,$23,$a2,$25,$df       // ..!.#.%.

txt_1866:
        .text "'>*"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $2c,$6b
        .text "/<295"
        .byte $63
        .byte $38,$be
        .byte $3b,$4b,$3f,$0f
        .byte $43,$0c

txt_187a:
        .text "GEK"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $4f,$7d,$54,$83,$59,$d6,$5e,$79,$64,$73,$6a,$c7,$70,$7c,$77,$97 // O}T.Y.^ydsj.p|w.
        .byte $7e,$1e,$86,$18,$8e,$8b,$96,$7e,$9f,$fa,$a8,$06,$b3,$ac,$bd,$f3 // ~......~........
        .byte $c8,$e6,$d4,$8f,$e1,$f8,$ee,$2e,$fd,$00,$01,$02,$03,$04,$05,$06 // ................
        .byte $07,$02,$02,$02,$02,$02,$02,$02,$02,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$0f                           // ...

// --- Region $18df-$196e ---
.pc = $18df "dat_18df"

dat_18df:
        .byte $99,$f8,$78,$68,$88,$f6               // ..xh..

txt_18e5:
        .text "CY"
        .byte $b9                                   // '9' | $80 (end-of-string marker)
        .byte $a8,$00,$c9,$00,$78,$8a,$b6,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ....x...........
        .byte $00,$00,$00,$00,$00,$00,$00,$0c,$20,$00,$10,$10,$2c,$1c,$1c,$0c // ........ ...,...
        .byte $10,$00,$0c,$00,$10,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ...... .........
        .byte $00,$00,$00,$00,$00,$00,$00,$90,$00,$00,$00,$00,$ff,$90,$90,$70 // ...............p
        .byte $00,$00,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ..p.............
        .fill 8, $00
        .byte $03,$03,$03,$00,$03,$03,$03,$00,$03,$00,$00,$00,$03,$03,$03,$00 // ................
        .fill 15, $00
        .fill 10, $01
        .byte $00,$01,$00,$01,$01,$01               // ......

// --- Region $1987-$198a ---
.pc = $1987 "dat_1987"

dat_1987:
        .byte $0f,$0b,$00,$0f                       // ....

// --- Region $19a7-$19ad ---
.pc = $19a7 "dat_19a7"

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

// --- Region $19c7-$19ca ---
.pc = $19c7 "dat_19c7"

dat_19c7:
        .byte $1c,$20,$00,$30                       // . .0

// --- Region $19e5-$1a6b ---
.pc = $19e5 "dat_19e5"

dat_19e5:
        .byte $f0,$fe,$00,$00,$00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 10, $00
        .byte $20                                   //  

spr_1a00:
        // === Sprite data (64 bytes, $1a00-$1a3f) ===
        .byte $80,$00,$00                           // #.......................
        .byte $a0,$80,$00                           // #.#.....#...............
        .byte $00,$20,$30                           // ..........#.......##....
        .byte $00,$10,$00                           // ...........#............
        .byte $00,$40,$80                           // .........#......#.......
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$01,$0b                           // ...............#....#.##
        .byte $00,$01,$01                           // ...............#.......#
        .byte $05,$00,$00                           // .....#.#................
        .byte $01,$00,$00                           // .......#................
        .byte $01,$00,$01                           // .......#...............#
        .byte $07,$05,$00                           // .....###.....#.#........
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $01                                   // sprite 0 padding
        .byte $0b,$00,$01,$01,$05,$00,$00,$01,$00,$00,$01,$00,$01,$07,$05,$00 // ................
        .fill 15, $00
        .byte $01,$00,$00,$00,$01,$00,$01,$01,$01,$00,$00,$01 // ............

dat_1a6b:
        // === Fill data (1 bytes, $1a6b-$1a6b) ===
        .byte $00                                   // .

// --- Region $1a9f-$1f05 ---
.pc = $1a9f "dat_1a9f"

dat_1a9f:
        .byte $01,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$01,$00,$00,$00,$00 // ................
        .fill 16, $00
        .byte $01,$00,$00,$00,$00,$00,$00,$00,$01,$00,$00,$01,$00,$00,$00,$00 // ................
        .fill 16, $00
        .byte $76,$05,$41,$09,$45,$00,$67,$0f,$03,$04,$43,$00,$ff,$76,$5f,$01 // v.A.E.g...C..v_.
        .byte $47,$01,$41,$0a,$0b,$0c,$41,$0a,$0b,$0c,$41,$0a,$0b,$0c,$41,$0a // G.A...A...A...A.
        .byte $0b,$0c,$11,$41,$0a,$0b,$0c,$41,$0a,$0b,$0c,$41,$02,$07,$08,$41 // ...A...A...A...A
        .byte $02,$07,$08,$41,$02,$07,$08,$41,$02,$07,$08,$4f,$01,$ff,$76,$41 // ...A...A...O..vA
        .byte $0a,$0b,$0c,$41,$0a,$0b,$0c,$41,$0a,$0b,$0c,$41,$0a,$0b,$0c,$41 // ...A...A...A...A
        .byte $0a,$0b,$0c,$41,$0a,$0b,$0c,$41,$02,$07,$08,$41,$02,$07,$08,$41 // ...A...A...A...A
        .byte $02,$07,$08,$41,$02,$07,$08,$67,$10,$47,$01,$41,$02,$07,$08,$41 // ...A...g.G.A...A
        .byte $02,$07,$08,$41,$02,$07,$08,$41,$02,$07,$08,$ff,$fe,$fe,$fe,$fe // ...A...A........
        .fill 17, $fe
        .byte $81,$60,$0e,$0e,$1a,$0e,$65,$11,$60,$1a,$0e,$1a,$0e,$0e,$1a,$0e // .`....e.`.......
        .byte $65,$11,$60,$1a,$0e,$1a,$0e,$0e,$1a,$0e,$65,$11,$60,$1a,$0e,$1a // e.`.......e.`...
        .byte $0e,$65,$11,$60,$1a,$0e,$65,$11,$60,$1a,$65,$11,$1d,$60,$0c,$0c // .e.`..e.`.e..`..
        .byte $18,$0c,$65,$0a,$60,$0c,$0c,$18,$0c,$0c,$18,$0c,$65,$0a,$60,$0c // ..e.`.......e.`.
        .byte $0c,$18,$0a,$0a,$16,$0a,$65,$0c,$60,$16,$0a,$65,$18,$60,$0c,$65 // ......e.`..e.`.e
        .byte $0c,$60,$18,$0c,$65,$0c,$60,$18,$65,$0c,$18,$ff,$83,$61,$00,$62 // .`..e.`.e....a.b
        .byte $05,$61,$02,$62,$02,$61,$02,$62,$02,$61,$02,$62,$02,$ff,$81,$63 // .a.b.a.b.a.b...c
        .byte $26,$26,$64,$32,$63,$2d,$64,$30,$63,$26,$64,$32,$63,$2d,$64,$33 // &&d2c-d0c&d2c-d3
        .byte $63,$26,$26,$64,$32,$30,$63,$26,$64,$32,$63,$2d,$ff,$81,$60,$0e // c&&d20c&d2c-..`.
        .byte $0e,$1a,$0e,$0e,$1a,$0e,$1a,$0e,$0e,$1a,$0e,$0e,$1a,$0e,$0e,$1a // ................
        .byte $0e,$1a,$0e,$0e,$1a,$0e,$1a,$0e,$0e,$1a,$0e,$0e,$1a,$0e,$1a,$0c // ................
        .byte $0c,$18,$0c,$0c,$18,$0c,$18,$0c,$0c,$18,$0c,$0c,$18,$0c,$18,$0a // ................
        .byte $0a,$16,$0a,$0a,$16,$0a,$0a,$0c,$0c,$18,$0c,$0c,$18,$0c,$18,$ff // ................
        .byte $81,$60,$0e,$0e,$1a,$0e,$0e,$1a,$0e,$1a,$0e,$0e,$1a,$0e,$0e,$1a // .`..............
        .byte $0e,$0e,$1a,$0e,$1a,$0e,$0e,$1a,$0e,$1a,$0e,$0e,$1a,$0e,$0e,$1a // ................
        .byte $0e,$1a,$0c,$0c,$18,$0c,$0c,$18,$0c,$18,$0c,$0c,$18,$0c,$0c,$18 // ................
        .byte $0c,$18,$0a,$0a,$16,$0a,$65,$0c,$60,$16,$0a,$65,$18,$60,$0c,$65 // ......e.`..e.`.e
        .byte $0c,$60,$18,$0c,$65,$0c,$60,$18,$65,$0c,$18,$ff,$83,$68,$0e,$9b // .`..e.`.e....h..
        .byte $fb,$83,$0e,$0e,$97,$fb,$9f,$0c,$83,$0a,$8b,$fb,$83,$0c,$8b,$fb // ................
        .byte $83,$0e,$9b,$fb,$83,$0e,$0e,$93,$fb,$83,$0e,$9f,$0c,$83,$0a,$8b // ................
        .byte $fb,$83,$0c,$65,$83,$02,$81,$02,$02,$83,$02,$ff,$83,$68,$0e,$fb // ...e.........h..
        .byte $65,$8f,$02,$87,$02,$68,$83,$0e,$0e,$65,$8f,$02,$87,$02,$68,$0c // e....h...e....h.
        .byte $65,$8f,$02,$87,$02,$68,$83,$0a,$fb,$65,$87,$02,$68,$83,$0c,$fb // e....h...e..h...
        .byte $65,$83,$02,$02,$ff,$81,$63,$24,$63,$24,$64,$30,$63,$2b,$64,$30 // e.....c$c$d0c+d0
        .byte $63,$24,$64,$2b,$63,$2b,$64,$30,$63,$24,$24,$30,$64,$32,$63,$24 // c$d+c+d0c$$0d2c$
        .byte $64,$30,$63,$2b,$ff,$81,$63,$22,$22,$64,$2e,$63,$29,$2e,$64,$2e // d0c+..c""d.c).d.
        .byte $63,$2e,$2d,$64,$30,$63,$30,$37,$30,$64,$32,$63,$30,$64,$30,$63 // c.-d0c070d2c0d0c
        .byte $30,$ff,$83,$68,$0e,$fb,$65,$8f,$02,$87,$02,$68,$83,$0e,$0e,$65 // 0..h..e....h...e
        .byte $8f,$02,$87,$02,$68,$0c,$65,$8f,$02,$87,$02,$68,$83,$0a,$fb,$65 // ....h.e....h...e
        .byte $87,$02,$83,$0c,$81,$02,$02,$02,$02,$83,$02,$ff,$81,$63 // .............c

txt_1d4e:
        .text "&&2-0&2-3&&20&2-"
        .byte $ff,$81,$63                           // ..c

txt_1d61:
        .text "$$0+0$++0$$02$0+"
        .byte $ff,$81,$63                           // ..c

txt_1d74:
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text ".)...-00702000"
        .byte $ff,$83,$60,$0e,$81,$0e,$0e,$83,$0c,$87,$0f,$83,$0e,$0c,$0e,$ff // ..`.............
        .byte $87,$6d
        .text "2320"
        .byte $ff,$81,$66

txt_1d9d:
        .text "TTTTTTTTTTTTTT"
        .byte $67,$83,$54,$ff,$83,$61,$00,$6d,$3e,$61,$02,$6d,$3e,$61,$02,$6d // g.T..a.m>a.m>a.m
        .byte $3e,$61,$02,$6d,$3e,$ff,$9f,$6e,$29,$62,$9b,$26,$6f,$83,$02,$6e // >a.m>..n)b.&o..n
        .byte $9f,$2d,$62,$97,$26,$6f,$83,$29,$02,$6e,$9f,$29,$62,$26,$6e,$26 // .-b.&o.).n.)b&n&
        .byte $62,$8b,$02,$6f,$83,$02,$02,$02,$81,$02,$02,$02,$02,$ff,$80,$60 // b..o...........`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60,$00,$ff,$80,$60 // ...`...`...`...`
        .byte $00,$ff,$80,$60,$00,$ff,$df,$81,$00,$41,$a0,$81,$0f,$11,$0d,$11 // ...`.....A......
        .byte $0a,$11,$09,$11,$07,$11,$06,$11,$04,$11,$03,$11,$02,$11,$01,$11 // ................
        .byte $00,$11,$df,$81,$df,$81,$00,$21,$df,$81,$00,$41,$33,$81,$15,$11 // .......!...A3...
        .byte $0e,$41,$33,$81,$0d,$41,$00,$81,$00,$81,$00,$81,$df,$81,$00,$41 // .A3..A.........A
        .byte $00,$15,$00,$00,$df,$81,$00,$41,$00,$00,$df,$81,$00,$55,$df,$81 // .......A.....U..
        .byte $01,$15,$01,$15,$01,$15,$03,$15,$01,$15,$04,$15,$2e,$15,$33,$81 // ..............3.
        .byte $15,$11,$0e,$41,$33,$81,$0d,$41,$00,$81 // ...A3..A..

dat_1f05:
        // === Fill data (1 bytes, $1f05-$1f05) ===
        .byte $00                                   // .

// --- Region $1f25-$1f49 ---
.pc = $1f25 "dat_1f25"

dat_1f25:
        .byte $0f,$06,$0f,$fb,$00,$00,$00,$00,$00,$00,$0f,$08,$0f,$f8,$00,$00 // ................
        .byte $1f,$04,$1f,$fc,$1f,$04,$1f,$fc,$0f,$06,$0f,$fb,$00,$00,$00,$00 // ................
        .byte $0f,$06,$0f,$fb                       // ....

dat_1f49:
        // === Fill data (1 bytes, $1f49-$1f49) ===
        .byte $00                                   // .

// --- Region $1f71-$1f8d ---
.pc = $1f71 "dat_1f71"

dat_1f71:
        .byte $06,$f0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$06,$f8,$00,$00,$00,$00,$00,$00,$06,$f8 // ............

dat_1f8d:
        // === Fill data (1 bytes, $1f8d-$1f8d) ===
        .byte $00                                   // .

// --- Region $1fea-$20d8 ---
.pc = $1fea "Segment $1fea"
        .fill 22, $00

chr_2000:
        // === Charset data (217 bytes, $2000-$20d8) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $03,$07,$07,$0e,$0e,$1c,$1c,$38       // char 1 @+1
        .byte $ff,$f5,$e0,$e0,$e0,$e0,$ff,$fa       // char 2 @+2
        .byte $0f,$3f,$7c,$70,$f0,$e0,$e0,$e0       // char 3 @+3
        .byte $ff,$ff,$eb,$e0,$e0,$e0,$e0,$e0       // char 4 @+4
        .byte $0f,$3f,$7c,$70,$f0,$e0,$e7,$e6       // char 5 @+5
        .byte $0f,$3f,$7c,$70,$f0,$c0,$e7,$c6       // char 6 @+6
        .byte $0f,$3f,$7c,$70,$f0,$e0,$e5,$e0       // char 7 @+7
        .byte $20,$00,$20,$20,$70,$20,$75,$7f       // char 8 @+8
        .byte $01,$00,$01,$01,$03,$01,$03,$03       // char 9 @+9
        .byte $00,$05,$00,$00,$00,$00,$00,$00       // char 10 @+10
        .byte $e0,$e0,$e0,$e0,$e1,$7f,$ff,$63       // char 11 @+11
        .byte $80,$00,$80,$80,$c0,$80,$c0,$c0       // char 12 @+12
        .byte $c0,$e0,$f0,$f0,$f8,$dc,$fc,$ce       // char 13 @+13
        .byte $f8,$fe,$ef,$e3,$e1,$60,$e0,$60       // char 14 @+14
        .byte $0f,$3f,$7d,$70,$e0,$e0,$c0,$e0       // char 15 @+15
        .byte $ff,$ff,$e0,$e0,$e0,$c0,$e0,$c0       // char 16 @+16
        .byte $0f,$3f,$7a,$70,$e0,$e0,$c0,$e0       // char 17 @+17
        .byte $ff,$ff,$e0,$e0,$e0,$c0,$e0,$c0       // char 18 @+18
        .byte $1f,$7e,$f0,$e0,$f0,$7f,$1f,$00       // char 19 @+19
        .byte $bf,$0b,$03,$03,$03,$03,$03,$03       // char 20 @+20
        .byte $80,$00,$80,$80,$c0,$80,$c0,$c0       // char 21 @+21
        .byte $e0,$60,$e0,$70,$30,$70,$38,$38       // char 22 @+22
        .byte $80,$01,$83,$83,$c7,$87,$ce,$ce       // char 23 @+23
        .byte $c0,$60,$e0,$70,$70,$3c,$1f,$3f       // char 24 @+24
        .byte $c0,$60,$e0,$70,$70,$3d,$1f,$07       // char 25 @+25
        .byte $0b,$bf,$00,$00,$03,$07,$0f,$1e       // char 26 @+26

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

// --- Region $2108-$22d6 ---
.pc = $2108 "dat_2108"

dat_2108:
        .byte $01,$03,$03,$03,$03,$01,$03,$01       // char 33 '!'
        .byte $0c,$1e,$1e,$0c,$1e,$0c,$0c,$08       // char 34 '"'
        .byte $07,$1c,$30,$62,$66,$c2,$c0,$c0       // char 35 '#'
        .byte $07,$1c,$30,$62,$63,$c2,$c0,$c0       // char 36 '$'
        .byte $00,$0b,$25,$1b,$5e,$2f,$5f,$77       // char 37 '%'
        .byte $05,$1a,$2d,$3f,$77,$7f,$ff,$79       // char 38 '&'
        .byte $01,$03,$03,$01,$03,$01,$01,$01       // char 39 '''
        .byte $00,$03,$07,$07,$0f,$0e,$0e,$0e       // char 40 '('
        .byte $07,$01,$00,$00,$00,$00,$00,$00       // char 41 ')'
        .byte $07,$04,$05,$7d,$41,$5f,$41,$7d       // char 42 '*'
        .byte $00,$00,$01,$01,$03,$01,$01,$17       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 44 ','
        .byte $00,$00,$00,$00,$00,$00,$00,$ff       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 46 '.'
        .byte $00,$00,$00,$00,$03,$07,$0f,$1e       // char 47 '/'
        .byte $0f,$3f,$7d,$70,$e0,$e0,$c1,$e3       // char 48 '0'
        .byte $07,$1f,$03,$03,$03,$03,$03,$03       // char 49 '1'
        .byte $05,$5f,$00,$00,$01,$03,$07,$0f       // char 50 '2'
        .byte $05,$5f,$00,$00,$01,$07,$00,$00       // char 51 '3'
        .byte $e0,$e0,$e0,$e0,$30,$7f,$17,$00       // char 52 '4'
        .byte $7f,$7e,$70,$70,$70,$7f,$7f,$00       // char 53 '5'
        .byte $0f,$3f,$7c,$70,$f0,$e0,$e5,$e0       // char 54 '6'
        .byte $0b,$bf,$00,$00,$03,$07,$0f,$1e       // char 55 '7'
        .byte $0f,$3f,$78,$70,$70,$7c,$1f,$60       // char 56 '8'
        .byte $0f,$3f,$7a,$70,$60,$70,$30,$38       // char 57 '9'
        .byte $00,$00,$01,$02,$03,$01,$00,$00       // char 58 ':'
        .byte $00,$00,$01,$02,$03,$01,$00,$00       // char 59 ';'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 60 '<'
        .byte $00,$00,$00,$00,$ff,$ff,$e8,$00       // char 61 '='
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 62 '>'
        .byte $07,$1f,$38,$20,$00,$00,$00,$00       // char 63 '?'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 64 '@'
        .byte $80,$c0,$c0,$e0,$e0,$70,$70,$38       // char 65 'A'
        .byte $80,$e0,$e0,$70,$70,$70,$fc,$bc       // char 66 'B'
        .byte $fa,$a0,$00,$00,$00,$00,$00,$00       // char 67 'C'
        .byte $00,$c0,$e0,$f0,$38,$3c,$1c,$0e       // char 68 'D'
        .byte $fa,$a0,$00,$00,$00,$00,$e8,$80       // char 69 'E'
        .byte $fa,$a0,$00,$00,$00,$00,$e8,$80       // char 70 'F'
        .byte $fa,$a0,$00,$00,$00,$00,$fe,$5e       // char 71 'G'
        .byte $1c,$3e,$3e,$3e,$3e,$7c,$fe,$5c       // char 72 'H'
        .byte $00,$00,$00,$00,$80,$00,$80,$80       // char 73 'I'
        .byte $5e,$fe,$0e,$0e,$0e,$0e,$0e,$0e       // char 74 'J'
        .byte $06,$0e,$1c,$78,$f0,$e0,$80,$e0       // char 75 'K'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 76 'L'
        .byte $06,$0e,$1e,$1e,$3e,$76,$7e,$e6       // char 77 'M'
        .byte $08,$00,$08,$88,$cc,$e8,$ec,$7c       // char 78 'N'
        .byte $e0,$f8,$7c,$1c,$0e,$0e,$06,$0e       // char 79 'O'
        .byte $e0,$f8,$7c,$1c,$0e,$0e,$0e,$1c       // char 80 'P'
        .byte $e0,$f8,$bc,$1c,$0e,$0e,$06,$0e       // char 81 'Q'
        .byte $e0,$f8,$7c,$1c,$0e,$0e,$0e,$1c       // char 82 'R'
        .byte $e8,$80,$00,$00,$00,$e0,$f8,$7c       // char 83 'S'
        .byte $fa,$a0,$80,$80,$80,$80,$80,$80       // char 84 'T'
        .byte $02,$00,$02,$02,$06,$02,$06,$06       // char 85 'U'
        .byte $0e,$0c,$0e,$1c,$18,$1c,$38,$38       // char 86 'V'
        .byte $02,$00,$82,$82,$c6,$c2,$e6,$e6       // char 87 'W'
        .byte $06,$0c,$0e,$1c,$1c,$78,$f0,$f8       // char 88 'X'
        .byte $06,$0c,$0e,$1c,$1c,$78,$f0,$c0       // char 89 'Y'
        .byte $fe,$fc,$30,$e0,$c0,$80               // char 90 (partial)

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

// --- Region $2308-$24d7 ---
.pc = $2308 "dat_2308"

dat_2308:
        .byte $80,$c0,$c0,$c0,$c0,$80,$c0,$80       // char 97 'a'
        .byte $30,$78,$78,$30,$78,$30,$30,$20       // char 98 'b'
        .byte $e0,$38,$0c,$46,$c6,$43,$03,$03       // char 99 'c'
        .byte $e0,$38,$0c,$46,$66,$43,$03,$03       // char 100 'd'
        .byte $a0,$58,$b4,$fe,$ee,$fd,$ff,$9e       // char 101 'e'
        .byte $00,$d0,$a4,$d8,$7a,$f4,$fa,$ee       // char 102 'f'
        .byte $80,$c0,$c0,$80,$c0,$80,$80,$00       // char 103 'g'
        .byte $f0,$c0,$80,$00,$00,$00,$00,$00       // char 104 'h'
        .byte $80,$e0,$f0,$70,$78,$38,$38,$38       // char 105 'i'
        .byte $e0,$20,$a0,$be,$82,$fa,$82,$be       // char 106 'j'
        .byte $00,$80,$80,$80,$c0,$80,$80,$f8       // char 107 'k'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 108 'l'
        .byte $00,$00,$00,$00,$00,$00,$00,$fa       // char 109 'm'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 110 'n'
        .byte $02,$0c,$30,$e0,$c0,$80,$00,$00       // char 111 'o'
        .byte $e0,$f8,$7c,$3c,$7e,$de,$a6,$4e       // char 112 'p'
        .byte $80,$80,$80,$80,$80,$00,$80,$00       // char 113 'q'
        .byte $f0,$f8,$18,$70,$e0,$c0,$80,$00       // char 114 'r'
        .byte $f8,$fc,$30,$e0,$c0,$80,$e0,$78       // char 115 's'
        .byte $0e,$0e,$0e,$0e,$0e,$fe,$fe,$06       // char 116 't'
        .byte $e8,$80,$00,$00,$00,$e0,$f8,$7c       // char 117 'u'
        .byte $fa,$a0,$00,$00,$00,$00,$f0,$5c       // char 118 'v'
        .byte $fe,$fc,$30,$e0,$c0,$80,$00,$00       // char 119 'w'
        .byte $e0,$f8,$1c,$0c,$0c,$08,$f0,$5c       // char 120 'x'
        .byte $e0,$f8,$bc,$1c,$0e,$1e,$0e,$0e       // char 121 'y'
        .byte $00,$00,$80,$c0,$c0,$80,$00,$00       // char 122 'z'
        .byte $00,$00,$80,$c0,$c0,$80,$00,$00       // char 123 '{'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 124 '|'
        .byte $00,$00,$00,$00,$fa,$40,$00,$00       // char 125 '}'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 126 '~'
        .byte $f8,$fc,$3c,$1e,$1e,$1c,$78,$f0       // char 127
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 128
        .byte $18,$38,$70,$7f,$fd,$60,$e0,$00       // char 129
        .byte $e0,$e0,$e0,$e0,$e0,$f5,$ff,$00       // char 130
        .byte $e0,$e0,$f0,$70,$7c,$3f,$0f,$00       // char 131
        .byte $e0,$e0,$e0,$e0,$e2,$ff,$ff,$00       // char 132
        .byte $e0,$e0,$f0,$70,$7c,$3f,$0f,$00       // char 133
        .byte $c0,$80,$c0,$80,$80,$00,$80,$00       // char 134
        .byte $e0,$f0,$e0,$70,$7a,$3f,$0f,$00       // char 135
        .byte $f8,$70,$f8,$f8,$f8,$f8,$70,$00       // char 136
        .byte $07,$03,$07,$07,$07,$07,$03,$00       // char 137
        .byte $00,$00,$c0,$60,$7a,$1f,$0b,$00       // char 138
        .byte $60,$20,$60,$20,$20,$00,$20,$00       // char 139
        .byte $e0,$c0,$f0,$70,$7c,$3f,$0f,$00       // char 140
        .byte $ce,$87,$c7,$83,$83,$01,$80,$00       // char 141
        .byte $60,$20,$60,$20,$20,$00,$20,$00       // char 142
        .byte $c0,$e0,$e0,$70,$7d,$3f,$0f,$00       // char 143
        .byte $c0,$85,$c0,$80,$80,$00,$80,$00       // char 144
        .byte $c0,$e0,$e0,$70,$7a,$3f,$0f,$00       // char 145
        .byte $c0,$85,$c0,$9c,$8f,$03,$80,$00       // char 146
        .byte $00,$e0,$e0,$f0,$38,$7f,$17,$00       // char 147
        .byte $03,$03,$07,$03,$07,$07,$03,$00       // char 148
        .byte $e0,$c0,$f0,$70,$7c,$3f,$0f,$00       // char 149
        .byte $1c,$1c,$0e,$06,$07,$03,$01,$00       // char 150
        .byte $fc,$dc,$f8,$f0,$f0,$e0,$c0,$00       // char 151
        .byte $7c,$70,$f0,$60,$e0,$60,$40,$00       // char 152
        .byte $03,$07,$03,$07,$07,$07,$03,$00       // char 153
        .byte $3c,$3c,$78,$78,$f8,$ff,$ff           // char 154 (partial)

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

// --- Region $2508-$26d7 ---
.pc = $2508 "dat_2508"

dat_2508:
        .byte $01,$00,$00,$01,$02,$03,$01,$00       // char 161
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 162
        .byte $c0,$c0,$c0,$60,$61,$30,$1c,$07       // char 163
        .byte $c8,$cc,$c6,$63,$60,$30,$1c,$07       // char 164
        .byte $bf,$5f,$bf,$77,$5f,$3f,$1b,$07       // char 165
        .byte $f0,$70,$b9,$7f,$5f,$2f,$1b,$05       // char 166
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 167
        .byte $0e,$0e,$0f,$07,$07,$03,$00,$00       // char 168
        .byte $00,$00,$00,$00,$00,$01,$07,$00       // char 169
        .byte $05,$05,$05,$05,$05,$04,$07,$00       // char 170
        .byte $7f,$17,$03,$03,$03,$01,$00,$00       // char 171
        .byte $00,$00,$01,$02,$03,$01,$00,$00       // char 172
        .byte $ff,$e8,$00,$00,$00,$00,$00,$00       // char 173
        .byte $00,$00,$00,$01,$02,$03,$01,$00       // char 174
        .byte $3c,$3c,$78,$78,$f8,$f8,$70,$00       // char 175
        .byte $c6,$ed,$fa,$78,$7d,$3f,$0f,$00       // char 176
        .byte $03,$02,$03,$02,$02,$00,$02,$00       // char 177
        .byte $1e,$1e,$3c,$3c,$7c,$7f,$7f,$00       // char 178
        .byte $00,$00,$00,$00,$40,$30,$0f,$00       // char 179
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 180
        .byte $00,$e0,$e0,$f0,$38,$7f,$17,$00       // char 181
        .byte $e0,$f0,$e0,$70,$7a,$3f,$0f,$00       // char 182
        .byte $3c,$3c,$78,$78,$f8,$f8,$f8,$00       // char 183
        .byte $e0,$f0,$e0,$70,$7a,$3f,$0f,$00       // char 184
        .byte $1c,$07,$00,$00,$40,$30,$0f,$00       // char 185
        .byte $01,$02,$03,$01,$00,$00,$00,$00       // char 186
        .byte $01,$02,$03,$01,$00,$00,$00,$00       // char 187
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 188
        .byte $ff,$ff,$e8,$00,$00,$00,$00,$00       // char 189
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 190
        .byte $01,$00,$00,$01,$02,$03,$01,$00       // char 191
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 192
        .byte $30,$38,$1c,$fc,$7e,$0c,$0e,$00       // char 193
        .byte $1e,$0e,$0e,$0e,$1c,$7c,$f0,$00       // char 194
        .byte $00,$00,$00,$00,$00,$d0,$fa,$00       // char 195
        .byte $1e,$0e,$1e,$5c,$bc,$f8,$e0,$00       // char 196
        .byte $00,$00,$00,$00,$00,$a0,$fa,$00       // char 197
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 198
        .byte $0e,$1e,$0e,$1c,$bc,$f8,$e0,$00       // char 199
        .byte $1c,$08,$1c,$08,$08,$00,$08,$00       // char 200
        .byte $c0,$80,$c0,$c0,$c0,$c0,$80,$00       // char 201
        .byte $0e,$0e,$1e,$1c,$7c,$f8,$e0,$00       // char 202
        .byte $f0,$78,$3c,$1c,$1e,$0e,$0e,$00       // char 203
        .byte $00,$00,$00,$00,$00,$a0,$fa,$00       // char 204
        .byte $e6,$c2,$c6,$82,$82,$00,$02,$00       // char 205
        .byte $3e,$3c,$1e,$1e,$0e,$0e,$0e,$00       // char 206
        .byte $06,$0e,$0e,$1c,$7c,$f8,$e0,$00       // char 207
        .byte $7c,$f8,$a0,$00,$00,$00,$00,$00       // char 208
        .byte $86,$ce,$6e,$74,$38,$5c,$ee,$00       // char 209
        .byte $7c,$f8,$a0,$00,$40,$e8,$7c,$00       // char 210
        .byte $1c,$0e,$0e,$1e,$38,$fc,$d0,$00       // char 211
        .byte $80,$80,$c0,$80,$c0,$c0,$80,$00       // char 212
        .byte $0e,$06,$1e,$1c,$7c,$f8,$e0,$00       // char 213
        .byte $70,$70,$e0,$c0,$c0,$80,$00,$00       // char 214
        .byte $7e,$76,$3e,$1e,$1e,$0e,$06,$00       // char 215
        .byte $7c,$1c,$1e,$0c,$0e,$0c,$04,$00       // char 216
        .byte $80,$c0,$80,$c0,$c0,$c0,$80,$00       // char 217
        .byte $00,$00,$00,$00,$00,$fa,$a0           // char 218 (partial)

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

// --- Region $2708-$29b4 ---
.pc = $2708 "dat_2708"

dat_2708:
        .byte $80,$00,$00,$80,$c0,$c0,$80,$00       // char 225
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 226
        .byte $13,$33,$63,$c6,$06,$0c,$38,$e0       // char 227
        .byte $03,$03,$03,$06,$86,$0c,$38,$e0       // char 228
        .byte $0f,$0e,$9d,$fe,$fa,$f4,$d8,$a0       // char 229
        .byte $fd,$fa,$fd,$ee,$fa,$fc,$d8,$e0       // char 230
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 231
        .byte $00,$00,$00,$00,$80,$c0,$f0,$00       // char 232
        .byte $38,$38,$78,$70,$f0,$e0,$80,$00       // char 233
        .byte $a0,$a0,$a0,$a0,$a0,$20,$e0,$00       // char 234
        .byte $fc,$f8,$c0,$c0,$c0,$80,$00,$00       // char 235
        .byte $00,$00,$80,$c0,$c0,$c0,$c0,$40       // char 236
        .byte $40,$00,$00,$00,$00,$00,$00,$00       // char 237
        .byte $00,$00,$00,$80,$c0,$c0,$80,$00       // char 238
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 239
        .byte $86,$0e,$0e,$1c,$7c,$f8,$e0,$00       // char 240
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 241
        .byte $00,$00,$00,$00,$00,$fd,$d0,$00       // char 242
        .byte $7c,$3c,$3c,$3c,$3c,$78,$e0,$00       // char 243
        .byte $06,$02,$06,$02,$02,$00,$02,$00       // char 244
        .byte $1c,$0e,$0e,$1e,$38,$fc,$d0,$00       // char 245
        .byte $0e,$1e,$0e,$1c,$bc,$f8,$e0,$00       // char 246
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 247
        .byte $0e,$1e,$0e,$1c,$bc,$f8,$e0,$00       // char 248
        .byte $1e,$0e,$1e,$1c,$38,$70,$c0,$00       // char 249
        .byte $80,$c0,$c0,$80,$00,$00,$00,$00       // char 250
        .byte $80,$c0,$c0,$c0,$c0,$40,$00,$00       // char 251
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 252
        .byte $fa,$40,$00,$00,$00,$00,$00,$00       // char 253
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 254
        .byte $e0,$c0,$00,$80,$c0,$c0,$80,$00       // char 255

spr_2800:
        // === Screen RAM (437 bytes, $2800-$29b4) ===
        .encoding "screencode_mixed"
        .text "@@abcdefghijabcdeabcdeabcdeabcdeabcde@@@"
        .text "@@klmnoplqrsklmnoklmnoklmnoklmnoklmno@@@"
        .text "@@tuvwxyz"
        .byte $1b,$1c,$1d                           // scrcode: ...
        .text "yz"
        .byte $1e                                   // scrcode: .
        .text "@@yz"
        .byte $1e                                   // scrcode: .
        .text "@@yz"
        .byte $1f                                   // scrcode: .
        .text " @tuvwxtuvwx@@@"
        .text "@@"
        .encoding "petscii_upper"

txt_287a:
        .text "!"
        .byte $22                                   // double quote character
        .text "#$%&'($)&'*+,&'*+,&'-+,!"
        .byte $22                                   // double quote character
        .text "#$%!"
        .byte $22                                   // double quote character
        .text "#$%"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@@"
        .encoding "petscii_upper"

txt_28a2:
        .text "./0123/4123/0153/0153/015./012./012"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@@"
        .encoding "petscii_upper"

txt_28ca:
        .text "6789:6789:6789:6789:6789:6789:6789:"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@@"
        .encoding "petscii_upper"

txt_28f2:
        .text ";<=>?"
        .byte $40                                   // @ character
        .text "AB>?;ACD?;ACD?;EBF?;<=>?;<=>?"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@@"
        .encoding "petscii_upper"

txt_291a:
        .text "GHIJKGLMJKGLNOKGLNOKPQRSTPUVSTPUVST"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@@"
        .byte $57,$58,$59,$5a,$5b,$57,$58,$59,$5a,$5c,$5d,$5e,$5f,$60,$61,$5d // scrcode: ................
        .byte $5e,$5f,$60,$61,$62,$63,$64,$65,$66,$62,$63,$64,$65,$66,$67,$68 // scrcode: ................
        .byte $69,$6a,$6b                           // scrcode: ...
        .text "@"
        .text "@@@@"
        .byte $6c,$6d,$6e,$6f,$70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$7a,$7b // scrcode: ................
        .byte $7c,$7d,$7e,$7f,$80,$75,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a // scrcode: ................
        .byte $8b,$8c,$8d                           // scrcode: ...
        .text "@"
        .text "@@@@@"
        .byte $8e,$8f,$90,$91,$92,$93,$94,$95,$96,$97,$98,$99,$9a,$9b,$9c,$9d // scrcode: ................
        .byte $9e,$9f,$a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$aa,$ab,$ac,$ad // scrcode: ................
        .byte $ae                                   // scrcode: .
        .encoding "petscii_upper"

dat_29b4:
        // === Fill data (1 bytes, $29b4-$29b4) ===
        .byte $00                                   // .

// --- Region $2c4d-$2cb7 ---
.pc = $2c4d "spr_2c4d"

spr_2c4d:
        // === Sprite data (51 bytes, $2c4d-$2c7f) ===
        .byte $ae,$64,$2c                           // #.#.###..##..#....#.##..
        .byte $bd,$65,$2c                           // #.####.#.##..#.#..#.##..
        .byte $c9,$ff,$d0                           // ##..#..###########.#....
        .byte $06,$a9,$00                           // .....##.#.#.#..#........
        .byte $8d,$64,$2c                           // #...##.#.##..#....#.##..
        .byte $60,$8d,$c9                           // .##.....#...##.###..#..#
        .byte $2b,$ee,$64                           // ..#.#.#####.###..##..#..
        .byte $2c,$60,$10                           // ..#.##...##........#....
        .byte $02,$03,$04                           // ......#.......##.....#..
        .byte $05,$05,$06                           // .....#.#.....#.#.....##.
        .byte $06,$07,$07                           // .....##......###.....###
        .byte $08,$08,$08                           // ....#.......#.......#...
        .byte $07,$07,$06                           // .....###.....###.....##.
        .byte $06,$05,$05                           // .....##......#.#.....#.#
        .byte $04,$03,$02                           // .....#........##......#.
        .byte $02,$02,$02                           // ......#.......#.......#.
        .byte $ff,$a0,$00                           // #########.#.............

spr_2c80:
        // === Sprite data (56 bytes, $2c80-$2cb7) ===
        .byte $ae,$b5,$2d                           // #.#.###.#.##.#.#..#.##.#
        .byte $bd,$b6,$2d                           // #.####.##.##.##...#.##.#
        .byte $99,$28,$d8                           // #..##..#..#.#...##.##...
        .byte $ca,$ca,$bd                           // ##..#.#.##..#.#.#.####.#
        .byte $b6,$2d,$99                           // #.##.##...#.##.##..##..#
        .byte $50,$d8,$ca                           // .#.#....##.##...##..#.#.
        .byte $ca,$bd,$b6                           // ##..#.#.#.####.##.##.##.
        .byte $2d,$99,$78                           // ..#.##.##..##..#.####...
        .byte $d8,$c8,$c0                           // ##.##...##..#...##......
        .byte $28,$d0,$e2                           // ..#.#...##.#....###...#.
        .byte $ee,$b5,$2d                           // ###.###.#.##.#.#..#.##.#
        .byte $ad,$b5,$2d                           // #.#.##.##.##.#.#..#.##.#
        .byte $c9,$18,$d0                           // ##..#..#...##...##.#....
        .byte $0f,$a9,$04                           // ....#####.#.#..#.....#..
        .byte $8d,$b5,$2d                           // #...##.##.##.#.#..#.##.#
        .byte $a9,$b8,$8d                           // #.#.#..##.###...#...##.#
        .byte $90,$2b,$a9                           // #..#......#.#.###.#.#..#
        .byte $2c,$8d,$91                           // ..#.##..#...##.##..#...#
        .byte $2b,$60

// --- Region $2db4-$2ddd ---
.pc = $2db4 "dat_2db4"

dat_2db4:
        .byte $00,$04,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b,$0c,$0c,$0f,$0f,$07,$07 // ................
        .byte $01,$01,$07,$07,$0f,$0f,$0f,$0f,$0f,$0f,$00,$0f,$0f,$07,$07,$01 // ................
        .byte $01,$07,$07,$0f,$0f,$0c,$0c,$0b,$0b   // .........

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

// --- Region $2e00-$2f40 ---
.pc = $2e00 "txt_2e00"

txt_2e00:
        .text "              "
        .byte $14,$12,$01,$09,$0e,$05,$12,$20,$0d,$05,$0e,$15 // ....... ....

txt_2e1a:
        .text "                           "
        .fill 14, $63

txt_2e43:
        .text "               "

txt_2e52:
        .encoding "screencode_mixed"
        .text "wanna switch off the enemies ? "
        .encoding "petscii_upper"
        .byte $1b,$19,$2f,$0e,$1d                   // ../..

txt_2e76:
        .text "     "

txt_2e7b:
        .encoding "screencode_mixed"
        .text "wanna have unlimited lives ? "
        .encoding "petscii_upper"
        .byte $1b,$19,$2f,$0e,$1d                   // ../..

txt_2e9d:
        .encoding "screencode_mixed"
        .text "   wanna scroll level after you die ? "
        .encoding "petscii_upper"
        .byte $1b,$19,$2f,$0e,$1d                   // ../..

txt_2ec8:
        .text "      "

txt_2ece:
        .encoding "screencode_mixed"
        .text "wanna be invisible ? "
        .encoding "petscii_upper"
        .byte $1b,$19,$2f,$0e,$1d                   // ../..

txt_2ee8:
        .text "                    "
        .byte $14,$12,$01,$09,$0e,$05,$12,$20,$3f,$20,$1b,$19,$2f,$0e,$1d // ....... ? ../..

txt_2f0b:
        .text "                       "

txt_2f22:
        .encoding "screencode_mixed"
        .text "press space to go on"
        .encoding "petscii_upper"

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

// --- Region $3000-$3140 ---
.pc = $3000 "scr_3000"

scr_3000:
        // === Screen RAM (321 bytes, $3000-$3140) ===
        .encoding "screencode_mixed"
        .text " another day, another game"
        .encoding "petscii_upper"

txt_301a:
        .text "... "
        .encoding "screencode_mixed"
        .text "ballfever was done by m o r e n on a bor"
        .text "ing sunday! call #the lost empire$ at"
        .encoding "petscii_upper"

txt_306b:
        .text " +31 1184-61095 "
        .encoding "screencode_mixed"
        .text "or #edge of midnight$ at"
        .encoding "petscii_upper"

txt_3093:
        .text " 609-587-5759...   "
        .byte $22                                   // double quote character
        .byte $0d                                   // string terminator
        .encoding "screencode_mixed"
        .text "eet ya in denmark!"
        .byte $22                                   // scrcode: "
        .text " to * emp * dmx * trc"
        .text " * rsi * afl * avt * tal * reg * pan * g"
        .text "p"
        .encoding "petscii_upper"

txt_30f9:
        .text " * ..."
        .encoding "screencode_mixed"
        .text "off for a piss! leeta and remember.."
        .byte $22                                   // scrcode: "
        .text "aaa"
        .text "aaaaaarghszzzz"
        .encoding "petscii_upper"

txt_3135:
        .text "!"
        .byte $22                                   // double quote character
        .text "         "
        .byte $00                                   // string terminator

// --- Region $3240-$3240 ---
.pc = $3240 "spr_3240"

spr_3240:
        .byte $00                                   // .

// --- Region $32ff-$32ff ---
.pc = $32ff "dat_32ff"

dat_32ff:
        .byte $d9                                   // scrcode: .
