// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:37
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $313f  (10560 bytes)
// Note: PRG was crunched, depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2240 (8768)
// IRQ handler:  $2323 (irq_2323)
// IRQ handler:  $23f0 (irq_23f0)
// IRQ handler:  $2464 (irq_2464)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2839 bytes, Data: 7721 bytes
// Labels: 243, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1003 ---
.pc = $1000 "loc_1000"

loc_1000:
        jmp loc_1081

spr_1003:
        // === Sprite data (1 bytes, $1003-$1003) ===
        .byte $4c

// --- Region $1081-$165c ---
.pc = $1081 "loc_1081"

loc_1081:
.label smc_1082 = * + 1
        lda #$ff                                    // !SMC: modified by $1b93
        bmi loc_10e2

dat_1085:
        .byte $f0,$4c,$0a                           // .L.

loc_1088:
        asl
        asl
        tay
        lda $171b,y
        sta $10f7
        lda $171c,y
        sta $10eb
        ldx #$00

loc_1099:
        iny
        iny
        lda $171b,y
        sta $1036,x
        lda $171c,y
        sta $1039,x
        lda #$01
        sta $101b,x
        sta $1080
        lda #$00
        sta $1033,x
        sta $1030,x
        sta $103c,x
        sta $1024,x
        inx
        cpx #$03
        bne loc_1099
        sta $107f
        sta smc_1299
        ldx #$18

loc_10ca:
        sta $d400,x
        dex
        bpl loc_10ca
        stx smc_1082
        sta $d404
        sta $d40b
        sta $d412
        lda #$0f
        sta $d418
        rts

loc_10e2:
        cld
        ldx #$02
        dec $1080
        bpl loc_10f1
        lda #$00
        sta $1080
        bne loc_1104

loc_10f1:
        dec $107f
        bpl loc_1104
        lda #$02
        sta $107f
        dec $101b
        dec $101c
        dec $101d

loc_1104:
        lda $101b,x
        beq loc_110c
        jmp loc_12bc

loc_110c:
        sta $105d,x
        sta $1021,x
        lda $1036,x
        sta $fe
        lda $1039,x
        sta $ff
        ldy $1033,x
        lda ($fe),y
        bpl loc_1163
        cmp #$fe
        bcc loc_1136
        bne loc_112c
        inc smc_1082

loc_112c:
        lda #$00
        sta $1033,x
        tay
        lda ($fe),y
        bpl loc_1163

loc_1136:
        cmp #$e0
        bcc loc_1147
        sbc #$e0
        sta $103c,x
        inc $1033,x
        iny
        lda ($fe),y
        bpl loc_1163

loc_1147:
        cmp #$c0
        bcc loc_1158
        sbc #$c0
        sta $1024,x
        inc $1033,x
        iny
        lda ($fe),y
        bpl loc_1163

loc_1158:
        and #$3f
        sta $102d,x
        inc $1033,x
        iny
        lda ($fe),y

loc_1163:
        tay
        lda $1967,y
        sta $fe
        lda $1978,y
        sta $ff
        ldy $1030,x
        bne loc_1177
        tya
        sta $104e,x

loc_1177:
        lda ($fe),y
        bmi loc_1188

loc_117b:
        cmp #$7f
        beq loc_11e7
        adc $102d,x
        sta $102a,x
        jmp loc_1206

loc_1188:
        cmp #$c0
        bcs loc_11a1
        and #$3f

loc_118e:
        sta $101e,x
        iny
        lda ($fe),y
        bpl loc_117b
        cmp #$c0
        bcs loc_11a1
        and #$3f
        adc $101e,x
        bne loc_118e

loc_11a1:
        cmp #$e0
        bcs loc_11b5
        and #$1f
        adc $1024,x
        asl
        asl
        asl
        sta $1027,x
        iny
        lda ($fe),y
        bpl loc_117b

loc_11b5:
        cmp #$f0
        bcs loc_11c3
        and #$0f
        sta $104e,x
        iny
        lda ($fe),y
        bpl loc_117b

loc_11c3:
        cmp #$f0
        bne loc_11cf
        sta smc_1299                                // SMC: modifies $1299
        iny
        lda ($fe),y
        bpl loc_117b

loc_11cf:
        cmp #$f1
        bne loc_11dd
        lda #$00
        sta smc_1299                                // SMC: modifies $1299
        iny
        lda ($fe),y
        bpl loc_117b

loc_11dd:
        lda #$00
        sta $d417
        iny
        lda ($fe),y
        bpl loc_117b

loc_11e7:
        iny
        lda ($fe),y
        sta $105a,x
        iny
        lda ($fe),y
        sta $105d,x
        iny
        lda ($fe),y
        clc
        adc $102d,x
        sta $102a,x
        iny
        lda ($fe),y
        adc $102d,x
        sta $1060,x

loc_1206:
        iny
        lda ($fe),y
        cmp #$ff
        bne loc_121c
        lda $103c,x
        beq loc_1217
        dec $103c,x
        bpl loc_121a

loc_1217:
        inc $1033,x

loc_121a:
        ldy #$00

loc_121c:
        tya
        sta $1030,x
        lda $101e,x
        sta $101b,x
        ldy $102a,x
        lda dat_165d,y
        sta $1054,x
        pha
        lda $16bd,y
        sta $1057,x
        ldy $171d,x
        sta $d401,y
        pla
        sta $d400,y
        lda $1027,x
        stx $fe
        tax
        lda $1778,x
        sta $d405,y
        lda $1779,x
        sta $d406,y
        lda $177d,x
        pha
        lda $1776,x
        pha
        lda $177a,x
        pha
        lda $177b,x
        pha
        lda $177c,x
        ldx $fe
        sta $104b,x
        pla
        sta $1048,x
        and #$20
        beq loc_1277
        lda #$00
        sta $d404,y

loc_1277:
        sta $d402,y
        sta $1072,x
        sta $1051,x
        sta $1063,x
        pla
        and #$0f
        sta $d403,y
        sta $1075,x
        pla
        sta $103f,x
        sta $d404,y
        pla
        and #$0f
        beq loc_12b9
.label smc_1299 = * + 1
        ldy #$00                                    // !SMC: modified by $11c7, $11d5
        bne loc_12b9
        asl
        asl
        asl
        tay
        lda $1843,y
        sta $107e
        sta $d416
        lda $1842,y
        clc
        adc $1720,x
        sta $d417
        lda $1841,y
        sta $d418

loc_12b9:
        jmp loc_13d9

loc_12bc:
        ldy $104e,x
        beq loc_12ca
        lda $104b,x
        lsr
        bcs loc_12ca
        jsr sub_143f

loc_12ca:
        ldy $105d,x
        beq loc_12dd
        lda $1021,x
        cmp $105a,x
        bcc loc_12dd
        jsr sub_1467
        jmp loc_12ff

loc_12dd:
        ldy $1027,x
        lda $177d,y
        and #$f0
        beq loc_12ff
        lsr
        lsr
        tay
        lda $1021,x
        cmp $1802,y
        bcc loc_12ff
        lda $1063,x
        bne loc_12fc
        jsr sub_14d6
        bmi loc_12ff

loc_12fc:
        jsr sub_150e

loc_12ff:
        lda $104b,x
        and #$04
        beq loc_130e
        lda $1057,x
        beq loc_132c
        dec $1057,x

loc_130e:
        lda $104b,x
        and #$02
        beq loc_132c
        lda $1021,x
        lsr
        bcc loc_1321
        clc
        adc $1057,x
        bne loc_1329

loc_1321:
        sta $fe
        lda $1057,x
        sec
        sbc $fe

loc_1329:
        sta $1057,x

loc_132c:
        ldy $1027,x
        lda $177a,y
        and #$f0
        beq loc_1339
        jsr sub_156e

loc_1339:
        ldy $1027,x
        lda $177d,y
        and #$0f
        beq loc_1346
        jsr sub_15f3

loc_1346:
        lda $104b,x
        bpl loc_134e
        jsr sub_13e0

loc_134e:
        lda $1048,x
        and #$40
        beq loc_1367
        lda #$01
        cmp $101b,x
        bne loc_1367
        cmp $107f
        bne loc_1367
        ldy $171d,x
        sta $d406,y

loc_1367:
        ldy $1021,x
        bne loc_1385
        lda $104b,x
        and #$40
        beq loc_1385
        ldy $171d,x
        lda #$81
        sta $d404,y
        lda #$f9
        sta $d401,y
        inc $1021,x
        bne loc_13d9

loc_1385:
        cpy #$02
        bcc loc_13b0
        lda $1048,x
        bmi loc_1395
        lda $104b,x
        bmi loc_13b0
        bcs loc_13a8

loc_1395:
        and #$1f
        cmp $101b,x
        bcc loc_13b0
        lda $104b,x
        bpl loc_13a8
        lda $103f,x
        and #$fe
        bcs loc_13b3

loc_13a8:
        ldy $1027,x
        lda $1777,y
        bcs loc_13b3

loc_13b0:
        lda $103f,x

loc_13b3:
        ldy $171d,x
        inc $1021,x
        bne loc_13be
        dec $1021,x

loc_13be:
        sta $d404,y
        lda $1054,x
        sta $d400,y
        lda $1057,x
        sta $d401,y
        lda $1072,x
        sta $d402,y
        lda $1075,x
        sta $d403,y

loc_13d9:
        dex
        bmi loc_13df
        jmp loc_1104

loc_13df:
        rts

// Referenced by: jsr from $134b
sub_13e0: {
        ldy $1027,x
        lda $1777,y
        pha
        and #$7f
        tay
        lda $1735,y
        sta $fe
        lda $1739,y
        sta $ff
        lda $1021,x
        bne skip1
        sta $1042,x
        lda $173d,y
        sta $1045,x
skip1:
        ldy $1042,x
        lda ($fe),y
        cmp #$fe
        bcc skip2
        beq skip3
        iny
        lda ($fe),y
        tay
        lda ($fe),y
skip2:
        sta $103f,x
        iny
        tya
        sta $1042,x
skip3:
        pla
        bmi done
        ldy $1045,x
        lda ($fe),y
        bpl skip4
        cmp #$81
        bcc done
        bne skip4
        iny
        lda ($fe),y
        tay
        lda ($fe),y
skip4:
        sta $1057,x
        lda #$00
        sta $1054,x
        iny
        tya
        sta $1045,x
done:
        rts
}

// Referenced by: jsr from $12c7
sub_143f: {
        dec $1051,x
        bpl skip
        lda $172c,y
        sta $1051,x
skip:
        lda $172a,y
        clc
        adc $1051,x
        tay
        lda $172f,y
        clc
        adc $102a,x
        tay
        lda dat_165d,y
        sta $1054,x
        lda $16bd,y
        sta $1057,x
        rts
}

// Referenced by: jsr from $12d7
sub_1467: {
        sty $fe
        lda #$00
        asl $fe
        rol
        asl $fe
        rol
        sta $ff
        ldy $1060,x
        tya
        cmp $102a,x
        bcs skip
        lda $1054,x
        sec
        sbc $fe
        sta $1054,x
        lda $1057,x
        sbc $ff
        sta $1057,x
        lda $1054,x
        sec
        sbc dat_165d,y
        lda $1057,x
        sbc $16bd,y
        bcs done
loop:
        lda dat_165d,y
        sta $1054,x
        lda $16bd,y
        sta $1057,x
        lda #$00
        sta $105d,x
        sta $1063,x
        tya
        sta $102a,x
done:
        rts
skip:
        lda $1054,x
        clc
        adc $fe
        sta $1054,x
        lda $1057,x
        adc $ff
        sta $1057,x
        lda dat_165d,y
        sec
        sbc $1054,x
        lda $16bd,y
        sbc $1057,x
        bcc loop
        rts
}

// Referenced by: jsr from $12f7
sub_14d6: {
        sta $106f,x
        inc $1063,x
        lda $1803,y
        and #$0f
        sta $1066,x
        lda $1803,y
        lsr
        lsr
        lsr
        lsr
        sta $fe
        ldy $102a,x
        lda $165e,y
        sec
        sbc dat_165d,y
        sta $1069,x
        lda $16be,y
        sbc $16bd,y
        sta $106c,x
loop:
        lsr $106c,x
        ror $1069,x
        dec $fe
        bpl loop
        rts
}

// Referenced by: jsr from $12fc
sub_150e: {
        lda $1063,x
        bmi skip1
        lda $1054,x
        clc
        adc $1069,x
        sta $1054,x
        lda $1057,x
        adc $106c,x
        jmp $1536
skip1:
        lda $1054,x
        sec
        sbc $1069,x
        sta $1054,x
        lda $1057,x
        sbc $106c,x
skip2:
        sta $1057,x
        dec $1066,x
        bne skip3
        lda $1803,y
        and #$0f
        asl
        sta $1066,x
        lda $1063,x
        eor #$ff
        sta $1063,x
skip3:
        lda $1805,y
        cmp $106f,x
        bcc done
        lda $1804,y
        beq done
        adc $1069,x
        sta $1069,x
        lda $106c,x
        adc #$00
        sta $106c,x
        inc $106f,x
done:
        rts
}
// Referenced by: jsr from $1336

sub_156e:
        lsr
        tay
        lda $1021,x
        bne loc_157e
        sta $107b,x
        lda $1810,y
        sta $1078,x

loc_157e:
        lda $1811,y
        beq loc_15b3
        sty smc_15b2                                // SMC: modifies $15b2
        tay
        lda $1835,y
        sta $fe
        lda $1836,y
        sta $ff
        ldy $107b,x
        lda ($fe),y
        cmp #$fe
        bcc loc_15a2
        beq loc_15b1
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_15a2:
        sta $1072,x
        iny
        lda ($fe),y
        sta $1075,x
        iny
        tya
        sta $107b,x
        rts

loc_15b1:
.label smc_15b2 = * + 1
        ldy #$10                                    // !SMC: modified by $1583

loc_15b3:
        lda $1078,x
        bne loc_15d9
        lda $1072,x
        clc
        adc $1815,y
        sta $fe
        lda $1075,x
        adc $1814,y
        cmp $1813,y
        bcc loc_15d0
        sta $1078,x
        rts

loc_15d0:
        sta $1075,x
        lda $fe
        sta $1072,x
        rts

loc_15d9:
        lda $1072,x
        sec
        sbc $1815,y
        sta $fe
        lda $1075,x
        sbc $1814,y
        cmp $1812,y
        bcs loc_15d0
        lda #$00
        sta $1078,x
        rts
// Referenced by: jsr from $1343

sub_15f3:
        asl
        asl
        asl
        tay
        lda $1021,x
        bne loc_1605
        sta smc_1619                                // SMC: modifies $1619
        lda $1847,y
        sta smc_1631                                // SMC: modifies $1631

loc_1605:
        lda $1844,y
        beq loc_1630
        sty smc_162f                                // SMC: modifies $162f
        tay
        lda $1858,y
        sta $fe
        lda $1859,y
        sta $ff
.label smc_1619 = * + 1
        ldy #$01                                    // !SMC: modified by $15fc, $1629
        lda ($fe),y
        cmp #$fe
        bcc loc_1628
        beq loc_162e
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_1628:
        iny
        sty smc_1619                                // SMC: modifies $1619
        bne loc_1644

loc_162e:
.label smc_162f = * + 1
        ldy #$08                                    // !SMC: modified by $160a

loc_1630:
.label smc_1631 = * + 1
        lda #$00                                    // !SMC: modified by $1602, $1640
        bne loc_164b
        lda $107e
        clc
        adc $1848,y
        cmp $1846,y
        bcc loc_1644
        sta smc_1631                                // SMC: modifies $1631
        rts

loc_1644:
        sta $107e
        sta $d416
        rts

loc_164b:
        lda $107e
        sec
        sbc $1848,y
        cmp $1845,y
        bcs loc_1644
        lda #$00
        sta smc_1631
        rts

// --- Region $1b91-$1b99 ---
.pc = $1b91 "sub_1b91"
// Referenced by: jsr from $22e8

sub_1b91:
        lda #$01
        sta smc_1082                                // SMC: modifies $1082
        jmp loc_1000

dat_1b99:
        // === Fill data (1 bytes, $1b99-$1b99) ===
        .byte $00                                   // .

// --- Region $1c00-$1c69 ---
.pc = $1c00 "loc_1c00"

loc_1c00:
        lda $a8
        bne loc_1c53
        lda $a9
        beq loc_1c1c
        lda $2474
        sta $246f
        lda $2479
        sta $2474
        lda #$00
        sta $2479
        dec $a9
        rts

loc_1c1c:
        lda $aa
        cmp #$ff
        beq loc_1c39
        ldx $aa
        lda $2474
        sta $246f
        lda $2479
        sta $2474
        lda $1c70,x
        sta $2479
        dec $aa
        rts

loc_1c39:
        lda #$ff
        sta $a8
        lda #$03
        sta $a9
        sta $aa
        lda $1c31
        clc
        adc #$03
        cmp #$7c
        bne loc_1c4f
        lda #$70

loc_1c4f:
        sta $1c31
        rts

loc_1c53:
        dec $a8
        rts
// Referenced by: jsr from $24c2

sub_1c56:
        lda $a8
        beq loc_1c5d
        jmp loc_1c00

loc_1c5d:
        dec $ab
        bne loc_1c68
        lda #$04
        sta $ab
        jmp loc_1c00

loc_1c68:
        rts

dat_1c69:
        .byte $00                                   // .

// --- Region $2240-$22ef ---
.pc = $2240 "main_2240"

main_2240:
        sei
        lda #$37
        sta $01
        ldx #$00
        lda #$20

loc_2249:
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $06f8,x
        inx
        bne loc_2249

loc_2258:
        lda #$08
        sta $d800,x
        sta $d8e0,x
        sta $daf8,x
        lda $1ef8,x
        sta $06f8,x
        lda dat_1d00,x
        sta $0400,x
        lda $1de0,x
        sta $04e0,x
        lda #$00
        sta $d9e0,x
        sta $d9f8,x
        lda #$ff
        sta $2700,x
        inx
        bne loc_2258
        ldy #$03

loc_2287:
        lda $22fc,y
        sta $07fc,y
        dey
        bpl loc_2287
        txa

loc_2291:
        sta $06a8,x
        sta $05e0,x
        inx
        cpx #$50
        bne loc_2291
        sta $02
        sta $04
        sta $05
        sta $80
        sta $d020
        sty $a8
        tax
        lda #$00

loc_22ac:
        sta $d02b,x
        inx
        cpx #$04
        bne loc_22ac
        lda #$e0
        sta $d010
        lda #$f0
        sta $d015
        lda #$30
        sta $81
        lda #$03
        sta $a9
        sta $aa
        sta $ab
        lda #$0f
        sta $03
        ldx #$06
        lda #$20

loc_22d2:
        sta $23e2,x
        dex
        bpl loc_22d2
        lda #$a6
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        lda #$00
        jsr sub_1b91
        cli
        jmp loc_2300

scr_22ef:
        // === Screen RAM (1 bytes, $22ef-$22ef) ===
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

// --- Region $2300-$2353 ---
.pc = $2300 "loc_2300"

loc_2300:
        sei
        lda #$1b
        ldx #$23
        ldy #$23
        sta $d011
        stx $0314
        sty $0315
        lda #$7f
        ldx #$00
        ldy #$01
        sta $dc0d
        stx $dc0e
        sty $d01a
        cli

loc_2320:
        jmp loc_2320

irq_2323:
        lda #$01
        sta $d019
        lda #$a2
        sta $d012
        lda #$12
        sta $d018
        lda #$f0
        sta $0314
        lda #$23
        sta $0315
        ldy #$01

loc_233e:
        dey
        bne loc_233e
        lda $dc01
        cmp #$ef
        bne loc_234b
        jmp loc_2680

loc_234b:
        lda scr_2354
        sta $d020
        jmp $ea81

// --- Region $235f-$2377 ---
.pc = $235f "sub_235f"
// Referenced by: jsr from $2412, $2415, $2418, $241b, $241e, $2424, $2427, $242a

sub_235f:
        nop
        nop
        nop
        nop
        nop
        nop
        nop
.label smc_2367 = * + 1
        ldy $1ef4                                   // !SMC: modified by $238a, $23aa, $23fa
        inc smc_2367
        lsr $d016
        lda #$c9
        sty $d021
        sta $d016
        rts

// --- Region $2380-$23c2 ---
.pc = $2380 "sub_2380"
// Referenced by: jsr from $2421, $2433

sub_2380:
        nop
        nop
        nop
        ldy smc_2367
        sty smc_239b                                // SMC: modifies $239b
        iny
        sty smc_2367                                // SMC: modifies $2367
        ldx #$00
        ldy #$c7
        lsr $d016
        sta $d016,x
        sty $d016
.label smc_239b = * + 1
        ldy $1eec                                   // !SMC: modified by $2386
        sty $d021
        sta $d016
        ldy smc_2367
        sty smc_23af                                // SMC: modifies $23af
        iny
        sty smc_2367                                // SMC: modifies $2367
        nop
.label smc_23af = * + 1
        ldy $1eed                                   // !SMC: modified by $23a6
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        lsr $d016
        nop
        sty $d021
        sta $d016
        rts

// --- Region $23f0-$2635 ---
.pc = $23f0 "irq_23f0"
irq_23f0: {
        lda #$01
        sta $d019
        cmp $d012
        ldx #$e0
        stx smc_2367                                // SMC: modifies $2367
        dec $ea
        nop
        ldy #$11
loop:
        dey
        bne loop
        dec $ea
        dec $ea
        dec $ea
        dec $ea
        nop
        nop
        nop
        nop
        nop
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_2380
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_2380
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        jsr sub_235f
        ldx #$ea
        nop
        nop
        nop
        lda #$00
        sta $d021
        lda #$64
        sta $0314
        lda #$c3
        sta $d012
        lda #$24
        sta $0315
        jmp $ea81
}

irq_2464:
        lda #$01
        sta $d019
        lda #$18
        sta $d018
        lda #$01
        sta $d021
        lda #$05
        sta $d022
        lda #$09
        sta $d023
        lda #$8f
        sta $0314
        lda #$d8
        sta $d016
        lda #$fa
        sta $d012
        jmp $ea81

loc_248f:
        lda #$01
        sta $d019
        lda #$23
        sta $0314
        lda #$23
        sta $0315
        jsr sub_24d0
        lda #$d8
        sta $d016
        lda #$1a
        sta $d018
        lda #$0b
        sta $d021
        lda #$0c
        sta $d022
        lda #$0f
        sta $d023
        jsr loc_1000
        lda #$93
        sta $d012
        jsr sub_1c56
        jsr sub_2f78
        jsr sub_2e93
        jmp $ea81

dat_24ce:
        .byte $ff,$ff                               // ..
// Referenced by: jsr from $249e

sub_24d0:
        lda $2370
        sec
        sbc #$02
        cmp #$c8
        bcs loc_24df
        jsr sub_2640
        lda #$cf

loc_24df:
        sta $2370
        sec
        sbc #$c8
        sta $d008
        sec
        sbc #$20
        sta $d00a
        sec
        sbc #$70
        sta $d00e
        sec
        sbc #$18
        sta $d00c
        rts

dat_24fb:
        .byte $00,$00,$00,$00,$00                   // .....

loc_2500:
        ldx #$00

loc_2502:
        lda $278d,x
        sta $278c,x
        lda $278e,x
        sta $278d,x
        lda $27cc,x
        sta $278e,x
        lda $27cd,x
        sta $27cc,x
        lda $27ce,x
        sta $27cd,x
        lda $274d,x
        sta $274c,x
        lda $274e,x
        sta $274d,x
        lda $270c,x
        sta $274e,x
        lda $270d,x
        sta $270c,x
        lda $270e,x
        sta $270d,x
        lda $27a5,x
        sta $27a4,x
        lda $27a6,x
        sta $27a5,x
        lda $27e4,x
        sta $27a6,x
        lda $27e5,x
        sta $27e4,x
        lda $27e6,x
        sta $27e5,x
        lda $2765,x
        sta $2764,x
        lda $2766,x
        sta $2765,x
        lda $2724,x
        sta $2766,x
        lda $2725,x
        sta $2724,x
        lda $2726,x
        sta $2725,x
        inx
        inx
        inx
        cpx #$18
        bne loc_2502
        lda $0658
        ldy #$00
        jsr sub_23ca
        ldy #$07
        ldx #$15

loc_258d:
        lda ($82),y
        sta $27ce,x
        dex
        dex
        dex
        dey
        bpl loc_258d
        lda $0680
        ldy #$00
        jsr sub_23ca
        ldy #$07
        ldx #$15

loc_25a4:
        lda ($82),y
        sta $27e6,x
        dex
        dex
        dex
        dey
        bpl loc_25a4
        lda #$37
        sta $01
        ldx #$00

loc_25b5:
        lda $0659,x
        sta $0658,x
        lda $0681,x
        sta $0680,x
        inx
        cpx #$27
        bne loc_25b5
        lda $23e2
        sta $067f
        eor #$80
        sta $06a7
        ldx #$00

loc_25d3:
        lda $23e3,x
        sta $23e2,x
        inx
        cpx #$05
        bne loc_25d3
        ldy #$00

loc_25e0:
        lda ($80),y
        bne loc_25ee
        lda #$00
        sta $80
        lda #$30
        sta $81
        bne loc_25e0

loc_25ee:
        ldx $05
        bmi loc_25f5
        clc
        adc #$40

loc_25f5:
        sta $23e7
        jsr sub_23ca
        ldy #$07
        ldx #$15

loc_25ff:
        lda ($82),y
        sta $270e,x
        dex
        dex
        dex
        dey
        bpl loc_25ff
        ldy #$00
        lda $23e7
        eor #$80
        jsr sub_23ca
        ldy #$07
        ldx #$15

loc_2618:
        lda ($82),y
        sta $2726,x
        dex
        dex
        dex
        dey
        bpl loc_2618
        lda #$37
        sta $01
        ldx $05
        bmi loc_2631
        inc $80
        bne loc_2631
        inc $81

loc_2631:
        bit $ea
        nop
        nop
        rts

// --- Region $2640-$2652 ---
.pc = $2640 "sub_2640"
// Referenced by: jsr from $24da

sub_2640:
        lda $05
        bmi loc_264b
        lda #$ff
        sta $05
        jmp loc_264f

loc_264b:
        lda #$00
        sta $05

loc_264f:
        jmp loc_2500

dat_2652:
        .byte $ff                                   // .

// --- Region $2680-$26bb ---
.pc = $2680 "loc_2680"

loc_2680:
        sei
        ldx #$18
        lda #$00

loc_2685:
        sta $d400,x
        dex
        bpl loc_2685
        jsr $ff81
        lda #$ea
        sta $0315
        lda #$31
        sta $0314
        lda #$00
        sta $d020
        sta $d021
        lda #$93
        jsr $ffd2
        lda #$0e
        sta $0286
        jsr $e544
        ldy #$38

loc_26af:
        lda dat_26bb,y
        sta $0400,y
        dey
        bpl loc_26af
        jmp $0400

dat_26bb:
        .byte $78                                   // x

// --- Region $2e30-$2f01 ---
.pc = $2e30 "sub_2e30"
// Referenced by: jsr from $2f78, $2f7b

sub_2e30:
        ldy #$00
        lda ($80),y
        cmp #$43
        bne loc_2e50
        lda #$20
        sta sub_2e93
        lda #$2c
        sta $2e96
        jsr sub_2e8c
        ldy #$00
        lda ($80),y
        sta $2ec2
        jsr sub_2e8c
        rts

loc_2e50:
        cmp #$44
        bne loc_2e6c
        lda #$2c
        sta sub_2e93
        lda #$20
        sta $2e96
        jsr sub_2e8c
        ldy #$00
        lda ($80),y
        sta $2eee
        jsr sub_2e8c
        rts

loc_2e6c:
        cmp #$53
        bne loc_2e8b
        jsr sub_2e8c
        ldy #$00
        lda ($80),y
        sta $24d5
        beq loc_2e80
        jsr sub_2e8c
        rts

loc_2e80:
        jsr sub_2e8c
        lda ($80),y
        sta $2eaf
        jsr sub_2e8c

loc_2e8b:
        rts

// Referenced by: jsr from $2e42, $2e4c, $2e5e, $2e68, $2e70, $2e7c, $2e80, $2e88
sub_2e8c: {
        inc $80
        bne done
        inc $81
done:
        rts
}
// Referenced by: jsr from $24c8

sub_2e93:
        bit loc_2eb4
        bit loc_2ede
        lda $24d5
        cmp #$00
        beq loc_2ea1
        rts

loc_2ea1:
        inc $04
        lda $04
        cmp #$c0
        beq loc_2eaa
        rts

loc_2eaa:
        lda #$00
        sta $04
        lda #$01
        sta $24d5
        rts

loc_2eb4:
        ldx #$0e
        ldy $02

loc_2eb8:
        lda $1ee5,x
        sta $1ee6,x
        dex
        bpl loc_2eb8
        lda dat_2f00,y
        sta $1ee5
        inc $02
        lda $02
        cmp #$10
        bne loc_2ed8
        lda #$2c
        sta sub_2e93
        lda #$00
        sta $02

loc_2ed8:
        lda #$00
        sta $1ef3
        rts

loc_2ede:
        ldx #$00
        ldy $03

loc_2ee2:
        lda $1ee6,x
        sta $1ee5,x
        inx
        cpx #$0f
        bne loc_2ee2
        lda $2f60,y
        sta $1ef2
        dec $03
        lda $03
        cmp #$01
        bne loc_2f77
        lda #$2c
        jmp loc_2f70

dat_2f00:
        .byte $00,$00                               // ..

// --- Region $2f70-$2f7f ---
.pc = $2f70 "loc_2f70"

loc_2f70:
        sta $2e96
        lda #$0f
        sta $03

loc_2f77:
        rts
// Referenced by: jsr from $24c5

sub_2f78:
        jsr sub_2e30
        jsr sub_2e30
        rts

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

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

// --- Region $0800-$0fff ---
.pc = $0800 "scr_0800"

scr_0800:
        // === Charset data (2048 bytes, $0800-$0fff) ===
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 0 @+0
        .byte $ff,$f8,$f8,$f0,$f0,$e0,$e0,$c1       // char 1 @+1
        .byte $ff,$00,$00,$00,$00,$ff,$83,$83       // char 2 @+2
        .byte $ff,$fe,$f0,$e0,$c0,$c0,$81,$83       // char 3 @+3
        .byte $ff,$00,$00,$00,$00,$ff,$83,$83       // char 4 @+4
        .byte $ff,$00,$00,$00,$00,$ff,$80,$80       // char 5 @+5
        .byte $ff,$00,$00,$00,$00,$ff,$80,$80       // char 6 @+6
        .byte $ff,$fe,$f0,$e0,$c0,$c0,$81,$83       // char 7 @+7
        .byte $ff,$83,$83,$83,$83,$83,$82,$82       // char 8 @+8
        .byte $ff,$80,$80,$80,$80,$ff,$f8,$f8       // char 9 @+9
        .byte $ff,$fe,$fe,$fe,$fe,$ff,$ff,$ff       // char 10 @+10
        .byte $ff,$83,$83,$83,$83,$83,$80,$80       // char 11 @+11
        .byte $ff,$83,$83,$83,$83,$83,$83,$83       // char 12 @+12
        .byte $ff,$00,$00,$00,$00,$ff,$84,$84       // char 13 @+13
        .byte $ff,$00,$00,$00,$00,$ff,$83,$83       // char 14 @+14
        .byte $ff,$f8,$e0,$c0,$80,$83,$07,$07       // char 15 @+15
        .byte $ff,$00,$00,$00,$00,$ff,$80,$80       // char 16 @+16
        .byte $ff,$f8,$e0,$c0,$80,$83,$07,$07       // char 17 @+17
        .byte $ff,$00,$00,$00,$00,$ff,$80,$80       // char 18 @+18
        .byte $ff,$f0,$e0,$e0,$e0,$f0,$f8,$fe       // char 19 @+19
        .byte $ff,$00,$00,$00,$00,$ff,$83,$83       // char 20 @+20
        .byte $ff,$83,$83,$83,$83,$83,$83,$83       // char 21 @+21
        .byte $ff,$07,$07,$03,$83,$81,$c1,$c0       // char 22 @+22
        .byte $ff,$07,$07,$07,$07,$07,$07,$06       // char 23 @+23

spr_08c0:
        .byte $ff,$83,$83,$c1,$c1,$e0,$e0,$f0       // char 24 @+24
        .byte $ff,$83,$83,$83,$83,$83,$c1,$c0       // char 25 @+25
        .byte $ff,$00,$00,$00,$00,$ff,$fc,$f8       // char 26 @+26
        .byte $ff,$01,$01,$3f,$3f,$3f,$07,$07       // char 27 @+27
        .byte $ff,$ff,$ff,$80,$40,$20,$10,$08       // char 28 @+28
        .byte $ff,$e3,$c1,$99,$99,$3f,$3f,$3f       // char 29 @+29
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$e0,$e0       // char 30 @+30
        .byte $ff,$ff,$ff,$fd,$f9,$f1,$e0,$c0       // char 31 @+31
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 32 ' '
        .byte $ff,$f8,$f0,$f0,$f0,$f0,$f8,$f8       // char 33 '!'
        .byte $ff,$e1,$c0,$c0,$e1,$c3,$8f,$ff       // char 34 '"'
        .byte $ff,$80,$bf,$bf,$bf,$80,$80,$81       // char 35 '#'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 36 '$'
        .byte $ff,$ff,$ff,$c7,$83,$83,$c6,$fc       // char 37 '%'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 38 '&'
        .byte $ff,$ff,$ff,$fe,$fc,$f8,$ff,$ff       // char 39 '''
        .byte $ff,$fe,$f8,$f8,$f0,$f0,$e1,$e1       // char 40 '('
        .byte $ff,$f8,$fc,$fe,$ff,$ff,$ff,$ff       // char 41 ')'
        .byte $ff,$ff,$fe,$fe,$fc,$f8,$f0,$c1       // char 42 '*'
        .byte $ff,$ff,$ff,$fc,$fc,$fc,$fc,$c0       // char 43 '+'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 44 ','
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$c0       // char 45 '-'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 46 '.'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$fe,$fc       // char 47 '/'
        .byte $ff,$f8,$e0,$c0,$c0,$81,$83,$82       // char 48 '0'
        .byte $ff,$fc,$f8,$f0,$e0,$c0,$c0,$fc       // char 49 '1'
        .byte $ff,$80,$80,$80,$80,$ff,$ff,$80       // char 50 '2'
        .byte $ff,$80,$80,$80,$80,$ff,$fc,$f8       // char 51 '3'
        .byte $ff,$f8,$f8,$f0,$f0,$e0,$e0,$c1       // char 52 '4'
        .byte $ff,$80,$80,$80,$80,$ff,$80,$80       // char 53 '5'
        .byte $ff,$fc,$f8,$f0,$e0,$e0,$c1,$c1       // char 54 '6'
        .byte $ff,$00,$00,$00,$00,$ff,$fe,$fe       // char 55 '7'
        .byte $ff,$f0,$c0,$c0,$81,$83,$81,$c0       // char 56 '8'
        .byte $ff,$f0,$c0,$80,$80,$03,$07,$07       // char 57 '9'
        .byte $ff,$ff,$ff,$ff,$fc,$f8,$f8,$fc       // char 58 ':'
        .byte $ff,$ff,$ff,$ff,$fc,$f8,$f8,$fc       // char 59 ';'
        .byte $ff,$ff,$ff,$fc,$f8,$f0,$e1,$c2       // char 60 '<'
        .byte $ff,$ff,$ff,$ff,$c0,$c0,$c0,$ff       // char 61 '='
        .byte $ff,$ff,$ff,$84,$c2,$e1,$f0,$f8       // char 62 '>'
        .byte $ff,$80,$80,$80,$80,$ff,$ff,$e0       // char 63 '?'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 64 '@'
        .byte $ff,$1f,$1f,$0f,$0f,$0f,$07,$07       // char 65 'A'
        .byte $ff,$0f,$03,$01,$01,$c1,$83,$07       // char 66 'B'
        .byte $ff,$00,$00,$00,$00,$ff,$ff,$ff       // char 67 'C'
        .byte $ff,$7f,$0f,$07,$03,$03,$81,$c1       // char 68 'D'
        .byte $ff,$00,$00,$00,$00,$ff,$0f,$0f       // char 69 'E'
        .byte $ff,$00,$00,$00,$00,$ff,$0f,$0f       // char 70 'F'
        .byte $ff,$00,$00,$00,$00,$ff,$ff,$ff       // char 71 'G'
        .byte $ff,$c1,$c1,$c1,$c1,$c1,$01,$01       // char 72 'H'
        .byte $ff,$03,$03,$03,$03,$ff,$3f,$3f       // char 73 'I'
        .byte $ff,$01,$01,$01,$01,$c1,$c1,$c1       // char 74 'J'
        .byte $ff,$c1,$c1,$81,$83,$03,$07,$0f       // char 75 'K'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 76 'L'
        .byte $ff,$1f,$07,$03,$03,$c1,$21,$21       // char 77 'M'
        .byte $ff,$1f,$07,$03,$03,$81,$c1,$c1       // char 78 'N'
        .byte $ff,$3f,$0f,$07,$03,$83,$c1,$c1       // char 79 'O'
        .byte $ff,$0f,$03,$03,$01,$c1,$01,$03       // char 80 'P'
        .byte $ff,$1f,$07,$03,$01,$c1,$e0,$e0       // char 81 'Q'
        .byte $ff,$0f,$03,$03,$01,$c1,$03,$03       // char 82 'R'
        .byte $ff,$1f,$3f,$7f,$7f,$1f,$07,$03       // char 83 'S'
        .byte $ff,$00,$00,$00,$00,$ff,$ff,$ff       // char 84 'T'
        .byte $ff,$c1,$c1,$c1,$c1,$c1,$c1,$c1       // char 85 'U'
        .byte $ff,$c1,$c1,$81,$83,$03,$07,$07       // char 86 'V'
        .byte $ff,$c1,$c1,$c1,$c1,$c1,$c1,$c1       // char 87 'W'
        .byte $ff,$c1,$c1,$83,$83,$07,$07,$0f       // char 88 'X'
        .byte $ff,$c1,$c1,$c1,$c1,$c1,$83,$03       // char 89 'Y'
        .byte $ff,$01,$03,$03,$07,$ff,$0f,$1f       // char 90 'Z'
        .byte $ff,$f3,$e3,$c3,$c3,$93,$13,$33       // char 91 '['
        .byte $ff,$ff,$ff,$03,$05,$09,$11,$21       // char 92 '\'
        .byte $ff,$e3,$c1,$99,$99,$3f,$3f,$3f       // char 93 ']'
        .byte $ff,$ff,$ff,$bf,$9f,$8f,$07,$03       // char 94 '^'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$07,$07       // char 95 '_'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 96 '`'
        .byte $ff,$3f,$1f,$1f,$1f,$1f,$3f,$3f       // char 97 'a'
        .byte $ff,$c3,$81,$81,$c3,$87,$1f,$ff       // char 98 'b'
        .byte $ff,$01,$01,$07,$07,$01,$01,$81       // char 99 'c'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 100 'd'
        .byte $ff,$ff,$ff,$c1,$83,$07,$0f,$1f       // char 101 'e'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 102 'f'
        .byte $ff,$87,$0f,$1f,$3f,$7f,$ff,$ff       // char 103 'g'
        .byte $ff,$1f,$3f,$7f,$ff,$ff,$ff,$ff       // char 104 'h'
        .byte $ff,$7f,$1f,$1f,$0f,$0f,$87,$87       // char 105 'i'
        .byte $ff,$ff,$7f,$7f,$3f,$1f,$0f,$83       // char 106 'j'
        .byte $ff,$ff,$ff,$3f,$3f,$3f,$3f,$03       // char 107 'k'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 108 'l'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$03       // char 109 'm'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 110 'n'
        .byte $ff,$ff,$ff,$c1,$83,$07,$0f,$1f       // char 111 'o'
        .byte $ff,$1f,$07,$03,$03,$81,$01,$01       // char 112 'p'
        .byte $ff,$1f,$1f,$1f,$1f,$1f,$1f,$1f       // char 113 'q'
        .byte $ff,$0f,$03,$03,$01,$c1,$c1,$01       // char 114 'r'
        .byte $ff,$01,$03,$07,$0f,$ff,$0f,$03       // char 115 's'
        .byte $ff,$3f,$3f,$7f,$7f,$ff,$ff,$83       // char 116 't'
        .byte $ff,$01,$01,$01,$01,$ff,$0f,$03       // char 117 'u'
        .byte $ff,$0f,$1f,$3f,$7f,$ff,$83,$c1       // char 118 'v'
        .byte $ff,$01,$01,$03,$03,$ff,$07,$07       // char 119 'w'
        .byte $ff,$0f,$03,$03,$81,$c1,$81,$03       // char 120 'x'
        .byte $ff,$1f,$07,$03,$03,$81,$c1,$c1       // char 121 'y'
        .byte $ff,$ff,$ff,$ff,$7f,$3f,$3f,$7f       // char 122 'z'
        .byte $ff,$ff,$ff,$ff,$3f,$1f,$1f,$3f       // char 123 '{'
        .byte $ff,$ff,$ff,$21,$43,$87,$0f,$1f       // char 124 '|'
        .byte $ff,$ff,$ff,$ff,$03,$03,$03,$ff       // char 125 '}'
        .byte $ff,$ff,$ff,$3f,$1f,$0f,$87,$43       // char 126 '~'
        .byte $ff,$0f,$03,$03,$01,$c1,$c1,$01       // char 127
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 128
        .byte $c1,$83,$83,$ff,$00,$00,$00,$00       // char 129
        .byte $82,$83,$83,$83,$80,$80,$80,$80       // char 130
        .byte $83,$83,$81,$c0,$c0,$e0,$f0,$fe       // char 131
        .byte $83,$83,$83,$83,$80,$80,$80,$80       // char 132
        .byte $80,$80,$83,$83,$80,$80,$80,$80       // char 133
        .byte $80,$80,$83,$83,$83,$83,$83,$83       // char 134
        .byte $83,$83,$81,$c0,$c0,$e0,$f0,$fe       // char 135
        .byte $82,$82,$83,$83,$83,$83,$83,$83       // char 136
        .byte $f8,$f8,$f8,$f8,$80,$80,$80,$80       // char 137
        .byte $ff,$ff,$ff,$ff,$80,$80,$80,$80       // char 138
        .byte $80,$80,$83,$83,$83,$83,$83,$83       // char 139
        .byte $83,$83,$83,$83,$80,$80,$80,$80       // char 140
        .byte $84,$84,$84,$84,$84,$84,$84,$84       // char 141
        .byte $83,$83,$83,$83,$83,$83,$83,$83       // char 142
        .byte $07,$07,$07,$83,$80,$c0,$e0,$f8       // char 143
        .byte $80,$80,$83,$83,$83,$83,$83,$83       // char 144
        .byte $07,$07,$07,$83,$81,$c0,$e0,$f0       // char 145
        .byte $80,$80,$82,$83,$83,$83,$83,$83       // char 146
        .byte $ff,$ff,$ff,$ff,$00,$00,$00,$00       // char 147
        .byte $83,$83,$83,$81,$80,$c0,$c0,$f0       // char 148
        .byte $83,$83,$83,$81,$c0,$c0,$e0,$f8       // char 149
        .byte $e0,$e0,$f0,$f0,$f8,$f8,$fc,$fc       // char 150
        .byte $04,$00,$00,$00,$00,$01,$03,$07       // char 151
        .byte $f8,$f0,$e0,$e0,$c1,$c1,$83,$83       // char 152
        .byte $e0,$f0,$f8,$f8,$f8,$f8,$f8,$f8       // char 153
        .byte $f8,$f0,$f0,$e0,$e0,$c0,$c0,$80       // char 154

txt_0cd8:
        .byte $3e,$3e,$3f,$3f,$3f,$3f,$3f,$ff       // char 155
        .byte $04,$0a,$11,$20,$40,$80,$ff,$ff       // char 156
        .byte $3f,$3f,$3f,$99,$99,$c1,$e3,$ff       // char 157
        .byte $e0,$e0,$e0,$ff,$ff,$ff,$ff,$ff       // char 158
        .byte $80,$c0,$e0,$f1,$f9,$fd,$ff,$ff       // char 159
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 160
        .byte $f8,$fc,$ff,$ff,$fc,$f8,$f8,$fc       // char 161
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 162
        .byte $83,$81,$80,$81,$81,$81,$81,$80       // char 163
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 164
        .byte $f8,$f0,$e0,$c1,$83,$07,$ff,$ff       // char 165
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 166
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 167
        .byte $e1,$e1,$e1,$f0,$f0,$f8,$f8,$fe       // char 168
        .byte $ff,$ff,$ff,$ff,$ff,$fe,$fc,$f8       // char 169
        .byte $03,$c1,$f0,$f8,$fc,$fe,$fe,$ff       // char 170
        .byte $c0,$c0,$fc,$fc,$fc,$fc,$ff,$ff       // char 171
        .byte $ff,$ff,$fe,$fc,$fc,$f8,$f0,$f1       // char 172
        .byte $c0,$c0,$ff,$ff,$ff,$ff,$ff,$ff       // char 173
        .byte $ff,$ff,$ff,$ff,$f8,$f0,$f0,$f8       // char 174
        .byte $f8,$f0,$e0,$c1,$83,$07,$ff,$ff       // char 175
        .byte $80,$80,$80,$81,$c0,$c0,$e0,$f8       // char 176
        .byte $fc,$fc,$fc,$fc,$c0,$c0,$c0,$c0       // char 177
        .byte $80,$80,$80,$ff,$80,$80,$80,$80       // char 178
        .byte $f0,$e0,$ff,$ff,$80,$80,$80,$80       // char 179
        .byte $c1,$80,$80,$00,$00,$ff,$ff,$ff       // char 180
        .byte $80,$80,$ff,$ff,$80,$80,$80,$80       // char 181
        .byte $83,$83,$83,$81,$c0,$c0,$e0,$f8       // char 182
        .byte $fc,$fc,$f8,$f8,$f0,$f0,$e0,$e0       // char 183
        .byte $e0,$c0,$81,$83,$81,$c0,$c0,$f0       // char 184
        .byte $07,$83,$c1,$ff,$fe,$fc,$f8,$f0       // char 185
        .byte $ff,$fc,$f8,$f8,$fc,$ff,$ff,$ff       // char 186
        .byte $ff,$ff,$fc,$f8,$f8,$f8,$f0,$e0       // char 187
        .byte $84,$c2,$e1,$f0,$f8,$fc,$ff,$ff       // char 188
        .byte $ff,$c0,$c0,$c0,$ff,$ff,$ff,$ff       // char 189
        .byte $fc,$f8,$f0,$e1,$c2,$84,$ff,$ff       // char 190
        .byte $e0,$e0,$e0,$ff,$e0,$e0,$e0,$e0       // char 191
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 192
        .byte $07,$83,$83,$83,$01,$01,$01,$01       // char 193
        .byte $07,$03,$81,$c1,$01,$01,$03,$0f       // char 194
        .byte $ff,$ff,$ff,$ff,$00,$00,$00,$00       // char 195
        .byte $c1,$c1,$81,$03,$03,$07,$0f,$7f       // char 196
        .byte $0f,$0f,$ff,$ff,$01,$01,$01,$01       // char 197
        .byte $0f,$0f,$ff,$ff,$ff,$ff,$ff,$ff       // char 198
        .byte $c1,$c1,$c1,$c1,$01,$01,$01,$01       // char 199
        .byte $01,$01,$c1,$c1,$c1,$c1,$c1,$c1       // char 200
        .byte $3f,$3f,$3f,$3f,$03,$03,$03,$03       // char 201
        .byte $c1,$c1,$c1,$81,$01,$03,$03,$0f       // char 202
        .byte $0f,$07,$03,$83,$81,$c1,$c1,$c1       // char 203
        .byte $ff,$ff,$ff,$ff,$00,$00,$00,$00       // char 204

txt_0e68:
        .byte $21,$21,$21,$21,$21,$21,$21,$21       // char 205
        .byte $c1,$c1,$c1,$c1,$c1,$c1,$c1,$c1       // char 206
        .byte $c1,$c1,$c1,$83,$03,$07,$0f,$3f       // char 207
        .byte $03,$0f,$ff,$ff,$ff,$ff,$ff,$ff       // char 208
        .byte $e0,$e0,$e0,$c1,$83,$ff,$7f,$3f       // char 209
        .byte $07,$0f,$07,$03,$83,$81,$c1,$c1       // char 210
        .byte $83,$c1,$c1,$81,$03,$03,$07,$1f       // char 211
        .byte $ff,$ff,$ff,$ff,$03,$03,$03,$03       // char 212
        .byte $c1,$c1,$c1,$ff,$00,$00,$00,$00       // char 213
        .byte $0f,$0f,$1f,$1f,$3f,$3f,$7f,$7f       // char 214
        .byte $41,$01,$01,$01,$01,$01,$81,$c1       // char 215
        .byte $1f,$0f,$07,$07,$83,$83,$c1,$c1       // char 216
        .byte $07,$0f,$1f,$1f,$1f,$1f,$1f,$1f       // char 217
        .byte $1f,$3f,$3f,$7f,$00,$00,$00,$00       // char 218
        .byte $01,$01,$f3,$f3,$f3,$f3,$f3,$ff       // char 219
        .byte $41,$a1,$11,$09,$05,$03,$ff,$ff       // char 220
        .byte $21,$21,$39,$99,$99,$c1,$e3,$ff       // char 221
        .byte $01,$03,$07,$8f,$9f,$bf,$ff,$ff       // char 222
        .byte $07,$07,$07,$ff,$ff,$ff,$ff,$ff       // char 223
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 224
        .byte $3f,$7f,$ff,$ff,$7f,$3f,$3f,$7f       // char 225
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 226
        .byte $c1,$81,$01,$81,$81,$81,$81,$01       // char 227
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 228
        .byte $3f,$7f,$c7,$83,$83,$c7,$ff,$ff       // char 229
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 230
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 231
        .byte $ff,$ff,$ff,$ff,$ff,$7f,$3f,$1f       // char 232
        .byte $87,$87,$87,$0f,$0f,$1f,$1f,$7f       // char 233
        .byte $c0,$83,$0f,$1f,$3f,$7f,$7f,$ff       // char 234
        .byte $03,$03,$3f,$3f,$3f,$3f,$ff,$ff       // char 235
        .byte $ff,$ff,$3f,$1f,$1f,$3f,$7f,$ff       // char 236
        .byte $03,$03,$ff,$ff,$ff,$ff,$ff,$ff       // char 237
        .byte $ff,$ff,$ff,$ff,$7f,$3f,$3f,$7f       // char 238
        .byte $3f,$7f,$ff,$ff,$ff,$ff,$ff,$ff       // char 239
        .byte $01,$41,$c1,$81,$03,$03,$07,$1f       // char 240
        .byte $1f,$1f,$1f,$1f,$03,$03,$03,$03       // char 241
        .byte $03,$03,$0f,$ff,$01,$01,$01,$01       // char 242
        .byte $03,$01,$81,$81,$01,$03,$03,$0f       // char 243
        .byte $83,$01,$01,$01,$01,$03,$03,$03       // char 244
        .byte $03,$01,$c1,$c1,$01,$03,$03,$0f       // char 245
        .byte $e0,$e0,$e0,$c0,$01,$01,$03,$0f       // char 246
        .byte $0f,$0f,$1f,$1f,$3f,$3f,$7f,$7f       // char 247
        .byte $07,$03,$81,$c1,$81,$03,$03,$0f       // char 248
        .byte $c1,$83,$83,$07,$07,$0f,$1f,$3f       // char 249
        .byte $ff,$7f,$3f,$3f,$7f,$ff,$ff,$ff       // char 250
        .byte $ff,$ff,$7f,$3f,$3f,$3f,$7f,$ff       // char 251
        .byte $3f,$1f,$0f,$87,$43,$21,$ff,$ff       // char 252
        .byte $ff,$03,$03,$03,$ff,$ff,$ff,$ff       // char 253
        .byte $21,$43,$87,$0f,$1f,$3f,$ff,$ff       // char 254
        .byte $03,$03,$0f,$ff,$ff,$ff,$ff,$ff       // char 255

// --- Region $1004-$1080 ---
.pc = $1004 "Segment $1004"
        .byte $e2,$10

txt_1006:
        .byte $20,$43,$4f                           // ..#......#....##.#..####
        .byte $4f,$4c,$20                           // .#..####.#..##....#.....
        .byte $4d,$55,$53                           // .#..##.#.#.#.#.#.#.#..##
        .byte $49,$43,$20                           // .#..#..#.#....##..#.....
        .byte $42,$59,$20                           // .#....#..#.##..#..#.....
        .byte $32,$30,$43                           // ..##..#...##.....#....##
        .byte $43,$21,$20                           // .#....##..#....#..#.....
        .byte $02,$02,$0c                           // ......#.......#.....##..
        .byte $02,$02,$1c                           // ......#.......#....###..
        .byte $01,$01,$31                           // .......#.......#..##...#
        .byte $00,$00,$00                           // ........................
        .byte $18,$30,$38                           // ...##.....##......###...
        .byte $26,$3c,$32                           // ..#..##...####....##..#.
        .byte $13,$18,$0e                           // ...#..##...##.......###.
        .byte $2e,$07,$1c                           // ..#.###......###...###..
        .byte $07,$13,$06                           // .....###...#..##.....##.
        .byte $61,$78,$45                           // .##....#.####....#...#.#
        .byte $18,$18,$19                           // ...##......##......##..#
        .byte $07,$00,$00                           // .....###................
        .byte $41,$21,$91                           // .#.....#..#....##..#...#
        .byte $00                                   // sprite 0 padding
        .byte $01,$05,$00                           // .......#.....#.#........
        .byte $81,$81,$c2                           // #......##......###....#.
        .byte $c1,$00,$40                           // ##.....#.........#......
        .byte $80,$00,$00                           // #.......................
        .byte $02,$00,$00                           // ......#.................
        .byte $02,$00,$68                           // ......#..........##.#...
        .byte $3c,$57,$09                           // ..####...#.#.###....#..#
        .byte $32,$11,$00                           // ..##..#....#...#........
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$5b                           // .................#.##.##
        .byte $00,$35,$00                           // ..........##.#.#........
        .byte $00,$01,$02                           // ...............#......#.
        .byte $00,$04,$08                           // .............#......#...
        .byte $00,$bb,$00                           // ........#.###.##........
        .byte $00,$00,$00                           // ........................
        .byte $00,$26,$58                           // ..........#..##..#.##...
        .byte $20,$98,$08                           // ..#.....#..##.......#...
        .byte $04,$06,$00                           // .....#.......##.........
        .byte $00,$00,$00                           // ........................
        .byte $02,$00,$98                           // ......#.........#..##...
        .byte $01,$00

// --- Region $165d-$1b90 ---
.pc = $165d "dat_165d"

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

txt_16f9:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$00,$07,$0e,$01,$02,$04,$02,$00,$61,$18,$78,$18,$45,$19 // ..........a.x.E.
        .byte $00,$03,$02,$02,$00,$03,$07,$00,$04,$07,$40,$56,$66,$70,$17,$17 // ..........@Vfp..
        .byte $17,$17,$0b,$04,$05,$81,$41,$40,$80,$80,$40,$80,$80,$40,$80,$fe // ......A@..@..@..
        .byte $cc,$0e,$10,$cc,$c7,$0e,$c7,$cc,$10,$cc,$80,$81,$41,$40,$fe,$f0 // ............A@..
        .byte $0d,$0a,$08,$06,$03,$04,$06,$05,$04,$05,$80,$81,$11,$40,$80,$fe // .............@..
        .byte $ce,$31,$26,$ea,$80                   // .1&..

txt_1770:
        .text "! "
        .byte $40                                   // @ character
        .text " "
        .byte $40                                   // @ character
        .byte $fe,$00,$00,$00,$00,$00,$00,$00,$00,$19,$01,$00,$f7,$08,$60,$81 // ..............`.
        .byte $00,$19,$00,$00,$f8,$08,$60,$81,$00,$41,$40,$04,$f9,$18,$c2,$40 // ......`..A@....@
        .byte $11,$41,$83,$00,$c9,$14,$40,$80,$00,$19,$02,$00,$c3,$08,$60,$81 // .A....@.......`.
        .byte $00,$41,$83,$00,$9a,$28,$c1,$80,$00,$91,$40,$00,$9f,$38,$00,$00 // .A...(....@..8..
        .byte $20,$11,$40,$00,$8f,$4b,$00,$00,$40,$19,$00,$00,$c8,$08,$60,$81 //  .@..K..@.....`.
        .byte $00,$19,$00,$00,$a8,$08,$60,$81,$00,$19,$00,$00,$88,$08,$60,$81 // ......`.......`.
        .byte $00,$19,$00,$00,$68,$08,$60,$81,$00,$19,$00,$00,$48,$08,$60,$81 // ....h.`.....H.`.
        .byte $00,$19,$00,$00,$28,$08,$60,$81,$00,$19,$00,$00,$18,$08,$60,$81 // ....(.`.......`.
        .byte $00,$81,$80,$00,$ff,$00,$60,$00,$02,$41,$40,$04,$9c,$18,$00,$00 // ......`..A@.....
        .byte $10,$0a,$22,$00,$00,$0a,$22,$03,$32,$0c,$32,$06,$38,$0b,$32,$1a // .."...".2.2.8.2.
        .byte $08,$00,$00,$00,$00,$05,$0c,$00,$58,$00,$00,$00,$01,$04,$0c,$00 // ........X.......
        .byte $48,$00,$00,$00,$00,$06,$0c,$00,$78,$00,$00,$01,$00,$08,$0c,$00 // H.......x.......
        .byte $64,$38,$18,$20,$04,$50,$04,$90,$04,$c0,$04,$70,$05,$c0,$05,$50 // d8. .P.....p...P
        .byte $06,$20,$07,$fe,$1f,$f0,$a8,$01,$48,$58,$00,$02,$4f,$f0,$ff,$01 // . ......HX..O...
        .byte $68,$f8,$00,$01,$5b,$18,$98,$78,$68,$58,$48,$fe,$8e,$01,$01,$e2 // h...[..xhXH.....
        .byte $93,$05,$e7,$05,$e7,$0d,$05,$94,$05,$e3,$0d,$05,$93,$05,$e3,$0d // ................
        .byte $05,$0e,$ff,$ef,$8e,$02,$e6,$03,$04,$e6,$03,$04,$e6,$03,$04,$96 // ................
        .byte $07,$07,$98,$07,$07,$08,$07,$08,$08,$96,$07,$07,$98,$07,$07,$08 // ................
        .byte $07,$08,$08,$96,$07,$07,$98,$07,$07,$08,$07,$08,$08,$96,$07,$07 // ................
        .byte $98,$07,$07,$08,$07,$08,$08,$96,$07,$07,$98,$07,$07,$08,$07,$08 // ................
        .byte $08,$96,$07,$07,$98,$07,$07,$08,$07,$08,$08,$96,$07,$07,$98,$07 // ................
        .byte $07,$08,$07,$08,$08,$96,$07,$07,$98,$07,$07,$08,$07,$08,$08,$96 // ................
        .byte $07,$07,$98,$07,$07,$96,$07,$07,$98,$07,$07,$96,$07,$07,$98,$07 // ................
        .byte $07,$96,$07,$07,$98,$07,$07,$96,$07,$07,$98,$07,$07,$96,$07,$07 // ................
        .byte $98,$07,$07,$96,$07,$07,$98,$07,$07,$96,$07,$07,$98,$07,$07,$e6 // ................
        .byte $03,$04,$e6,$03,$04,$97,$07,$07,$99,$07,$07,$97,$07,$07,$99,$07 // ................
        .byte $07,$97,$07,$07,$99,$07,$07,$97,$07,$07,$99,$07,$07,$e6,$03,$04 // ................
        .byte $e6,$03,$04,$96,$07,$07,$98,$07,$07,$96,$07,$07,$98,$07,$07,$96 // ................
        .byte $07,$07,$98,$07,$07,$96,$07,$07,$98,$07,$07,$e6,$03,$04,$0f,$ff // ................
        .byte $e3,$96,$00,$06,$06,$8e,$09,$0a,$09,$0b,$09,$0a,$09,$0b,$90,$0c // ................
        .byte $0c,$96,$06,$97,$06,$91,$0c,$97,$06,$96,$06,$90,$0c,$96,$06,$87 // ................
        .byte $10,$ff,$89,$ba,$d4,$d8,$e7,$f7,$3d,$6f,$7d,$8d,$bd,$ee,$1f,$68 // ........=o}....h
        .byte $97,$a0,$8e,$19,$19,$19,$19,$19,$19,$1a,$1a,$1a,$1a,$1a,$1a,$1b // ................
        .byte $1b,$19,$19,$19,$a0,$c0,$00,$00,$ff,$a0,$a0,$d1,$7f,$00,$08,$18 // ................
        .byte $00,$ff,$a0,$a0,$d0,$7f,$00,$20,$4c,$48,$ff,$82,$c2 // ....... LH...

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

txt_19a5:
        .text ",,"
        .byte $ca                                   // 'J' | $80 (end-of-string marker)

txt_19a8:
        .text ",,"
        .byte $cb                                   // 'K' | $80 (end-of-string marker)

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

txt_19ae:
        .text ",,"
        .byte $cd                                   // 'M' | $80 (end-of-string marker)

txt_19b1:
        .text ",,"
        .byte $ce                                   // 'N' | $80 (end-of-string marker)

txt_19b4:
        .text ",,"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $cf,$2c,$ff,$86,$c3,$0c,$f1,$0c,$88   // .,.......

spr_19c0:
        // === Sprite data (64 bytes, $19c0-$19ff) ===
        .byte $0c,$84,$0c                           // ....##..#....#......##..
        .byte $82,$0a,$0a                           // #.....#.....#.#.....#.#.
        .byte $84,$0a,$86                           // #....#......#.#.#....##.
        .byte $0c,$0c,$88                           // ....##......##..#...#...
        .byte $0c,$84,$11                           // ....##..#....#.....#...#
        .byte $11,$82,$0f                           // ...#...##.....#.....####
        .byte $11,$ff,$88                           // ...#...##########...#...
        .byte $c1,$20,$ff                           // ##.....#..#.....########
        .byte $84,$c1,$20                           // #....#..##.....#..#.....
        .byte $82,$c5,$20                           // #.....#.##...#.#..#.....
        .byte $20,$84,$c2                           // ..#.....#....#..##....#.
        .byte $2c,$82,$c5                           // ..#.##..#.....#.##...#.#
        .byte $20,$20,$ff                           // ..#.......#.....########
        .byte $84,$c1,$20                           // #....#..##.....#..#.....
        .byte $82,$c5,$20                           // #.....#.##...#.#..#.....
        .byte $20,$84,$c2                           // ..#.....#....#..##....#.
        .byte $2c,$82,$c5                           // ..#.##..#.....#.##...#.#
        .byte $20,$c2,$2c                           // ..#.....##....#...#.##..
        .byte $ff,$84,$c3                           // #########....#..##....##
        .byte $0c,$82,$0c                           // ....##..#.....#.....##..
        .byte $18,$84,$0c                           // ...##...#....#......##..
        .byte $88                                   // sprite 0 padding
        .byte $0c,$82,$18,$0c,$84,$0c,$82,$0c,$18,$84,$05,$82,$05,$11,$84,$05 // ................
        .byte $88,$05,$82,$11,$05,$84,$05,$82,$05,$11,$84,$07,$82,$07,$13,$84 // ................
        .byte $07,$88,$07,$82,$13,$07,$84,$05,$82,$05,$11,$84,$07,$82,$07,$13 // ................
        .byte $84,$07,$88,$07,$82,$13,$07,$84,$07,$82,$07,$13,$ff,$86,$c4,$e2 // ................
        .byte $24,$24,$88
        .byte $24,$86
        .text "$$&&"
        .byte $88
        .byte $26,$84
        .byte $26,$26,$82,$e2
        .byte $24,$26,$86,$e1,$28,$28,$88,$28,$84,$28,$82,$e2,$26,$26,$84,$26 // $&..((.(.(..&&.&
        .byte $86,$e1,$28,$28,$88,$28,$84,$28,$82,$e2,$26,$26,$84,$26,$ff,$84 // ..((.(.(..&&.&..
        .byte $c1,$20,$82,$c6,$e2,$24,$24,$84,$c2,$2c,$c6,$24,$ff,$84,$c1,$20 // . ...$$..,.$... 
        .byte $82,$c6,$e1,$26,$26,$84,$c2,$2c,$82,$c6,$26,$26,$ff,$8c,$c0,$00 // ...&&..,..&&....
        .byte $84,$c7,$24,$88,$7f,$00,$1c,$25,$27,$84,$2b,$88,$29,$84,$29,$88 // ..$....%'.+.).).
        .byte $27,$84,$26,$24,$22,$88,$26,$9c,$24,$86,$c8,$7f,$00,$30,$2e,$30 // '.&$".&.$....0.0
        .byte $2e,$84
        .byte $2b,$86,$7f,$00
        .text "4232"
        .byte $84
        .byte $30,$ff,$8c
        .byte $2c,$84
        .byte $c7,$24,$88,$7f,$00,$20,$25,$27,$84,$2b,$88,$29,$84,$29,$88,$27 // .$... %'.+.).).'
        .byte $84                                   // .

txt_1ad1:
        .text ".+)"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $2b,$84,$c8,$7f,$00,$24,$2e,$30,$82,$2e,$84,$30,$82,$2e,$84,$30 // +....$.0...0...0
        .byte $7f,$00                               // ..

txt_1ae7:
        .text "$232.0"
        .byte $ff,$8c,$2c,$84,$c7,$24,$88,$7f,$00,$2c,$25,$27,$84,$2b,$88,$29 // ..,..$...,%'.+.)
        .byte $84,$2b,$88,$2e,$84                   // .+...

txt_1b02:
        .text "0.+"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $30,$84,$c8,$7f,$00,$24,$2e,$30,$82,$2e,$84,$30,$82,$2e,$84,$30 // 0....$.0...0...0
        .byte $7f,$00                               // ..

txt_1b18:
        .text "*35320"
        .byte $ff,$86,$c7,$1e,$22,$25,$2a,$84,$2c,$2e,$84,$2c,$27,$24,$82,$22 // ...."%*.,..,'$."
        .byte $86,$20,$82                           // . .

txt_1b31:
        .byte $22                                   // double quote character
        .text " "
        .byte $22                                   // double quote character
        .text " "
        .byte $1e,$1d,$86,$1e,$22,$25,$2a,$84,$2c,$84,$2e,$2c,$82,$2e,$9a,$30 // ...."%*.,..,...0
        .byte $86
        .text "10.*"
        .byte $84
        .byte $2c,$2e,$84
        .byte $2c,$27,$24,$82
        .byte $22,$86
        .byte $20
        .byte $82                                   // .

txt_1b56:
        .byte $22                                   // double quote character
        .text " "
        .byte $22                                   // double quote character
        .text "$')"
        .byte $86
        .text "*,.0"
        .byte $82

txt_1b62:
        .text "10."
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $2c,$ff,$84,$c3,$0c,$82,$0c,$0c,$18,$0c,$0c,$84,$0c,$82,$0c,$0c // ,...............
        .byte $0c,$18,$84,$0c,$82,$0c,$84,$c3,$05,$82,$05,$05,$11,$05,$05,$84 // ................
        .byte $05,$82,$05,$05,$05,$11,$84,$05,$82,$05,$ff // ...........

// --- Region $1bc0-$1bc8 ---
.pc = $1bc0 "dat_1bc0"

dat_1bc0:
        .byte $a9,$ff,$8d,$00,$08,$4c,$40,$22       // .....L@"

dat_1bc8:
        // === Fill data (1 bytes, $1bc8-$1bc8) ===
        .byte $00                                   // .

// --- Region $1c6a-$1c7c ---
.pc = $1c6a "Segment $1c6a"
        .byte $00,$00,$00,$00,$00,$00,$06,$0e,$01,$02,$0a,$0f,$0b,$0c,$0f,$09 // ................
        .byte $05,$01                               // ..

dat_1c7c:
        // === Fill data (1 bytes, $1c7c-$1c7c) ===
        .byte $00                                   // .

// --- Region $1d00-$1f00 ---
.pc = $1d00 "dat_1d00"

dat_1d00:
        .byte $6a,$6a,$6a,$6a,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$02,$0a // jjjj............
        .byte $0b,$0c,$0d,$0e,$00,$01,$02,$03,$04,$05,$06,$0f,$00,$01,$02,$03 // ................
        .byte $04,$05,$06,$07,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$10,$11,$12,$12 // ....jjjjjjjj....
        .byte $12,$12,$12,$13,$14,$12,$12,$15,$16,$17,$17,$18,$10,$11,$12,$12 // ................
        .byte $12,$12,$12,$19,$10,$11,$12,$12,$12,$12,$12,$13,$6a,$6a,$6a,$6a // ............jjjj
        .byte $6a,$6a,$6a,$6a,$1a,$1b,$1b,$1c,$1d,$1e,$1f,$20,$21,$1b,$1b,$22 // jjjj....... !.."
        .text "#$$%"
        .byte $1a,$1b
        .byte $26,$1c,$1d,$1e,$1f
        .byte $27,$1a,$1b
        .byte $26,$1c
        .byte $1d,$1e,$1f,$20,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$28,$29,$29,$19 // ... jjjjjjjj()).
        .byte $6a,$6a,$6a,$6a,$2a,$29,$29,$18       // jjjj*)).

txt_1d88:
        .text "+)),()-."
        .byte $6a,$6a,$6a,$6a
        .text "()-."
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a
        .byte $6a,$6a,$6a,$6a                       // jjjj

txt_1da4:
        .text "/001234"
        .byte $6a                                   // j

txt_1dac:
        .text "50067008/09:"
        .byte $6a,$6a,$6a,$6a
        .text "/09:"
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a
        .byte $6a,$6a,$6a,$6a                       // jjjj

txt_1dcc:
        .text ";<<<<<="
        .byte $6a                                   // j

txt_1dd4:
        .text ">?"
        .byte $40                                   // @ character
        .text "<<<<A;<BC"
        .byte $6a,$6a,$6a,$6a
        .text ";<BC"
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a
        .byte $6a,$6a,$6a,$6a
        .byte $44,$45,$6a
        .text "FGHI"
        .byte $6a,$6a

txt_1dfd:
        .text "JKLMNOPDQRS"
        .byte $6a,$6a,$6a,$6a                       // jjjj

txt_1e0c:
        .text "DTUSVWXY"
        .fill 8, $6a
        .byte $5a,$45,$5b,$5c,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a,$5d,$5e,$5f,$60 // ZE[\jjjjjjjj]^_`
        .byte $5a,$61,$62,$63,$6a,$6a,$6a,$6a,$5a,$64,$65,$63,$66,$67,$68,$69 // ZabcjjjjZdecfghi
        .byte $6a,$6a,$6a,$6a,$c5,$c5,$c5,$c5,$6b,$6c,$6d,$6e,$c5,$c5,$c5,$c5 // jjjj....klmn....
        .byte $c5,$c5,$c5,$c5,$6f,$70,$71,$72,$73,$74,$75,$76,$c5,$c5,$c5,$c5 // ....opqrstuv....
        .byte $77,$78,$79,$76,$7a,$7b,$7c,$7d,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$c5 // wxyvz{|}........
        .byte $7e,$7f,$80,$81,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$82,$83,$84,$85 // ~...............
        .byte $86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f,$90,$91,$92,$93,$94,$95 // ................
        .fill 8, $c5
        .byte $96,$97,$98,$99,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$9a,$9b,$9c,$9d // ................
        .byte $9e,$9f,$a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$aa,$ab,$ac,$ad // ................
        .fill 8, $c5
        .byte $ae,$af,$b0,$b1,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$c5,$b2,$b3,$b4,$b5 // ................
        .byte $b6,$b7,$b8,$b9,$ba,$bb,$bc,$bd,$b6,$be,$bf,$c0,$c1,$c2,$c3,$c4 // ................
        .byte $c5,$c5,$c5,$c5,$00,$00,$00,$00,$00,$09,$0b,$08,$0c,$0f,$07,$01 // ................
        .byte $01,$01,$0d,$03,$0e,$0b,$06,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$16,$17                   // .....

// --- Region $1f1d-$1fe6 ---
.pc = $1f1d "dat_1f1d"

dat_1f1d:
        .byte $16,$17,$00,$00,$00,$00,$00,$00,$00,$23,$24,$25,$00,$00,$00,$00 // .........#$%....
        .fill 14, $00
        .byte $31,$32,$00,$00,$00,$00,$00,$00,$00,$23,$24,$25,$00,$00,$00,$00 // 12.......#$%....
        .byte $00,$00
        .text "3456"
        .byte $03,$04,$05,$06,$07,$08,$09
        .byte $3e,$3f,$00
        .fill 8, $00
        .byte $37,$38,$39,$00,$00,$00,$00,$00       // 789.....

txt_1f6b:
        .text "3456"
        .byte $00                                   // string terminator
        .byte $00,$01,$07,$08,$09,$3a,$3b,$3c,$00,$0b,$0c,$0d,$0e,$0f,$10,$11 // .....:;<........
        .byte $12,$43,$44,$00,$00,$00,$00,$00,$00,$00,$00,$40,$41,$42,$05,$06 // .CD........@AB..
        .byte $07,$08,$09,$3a,$3b,$3c,$00,$00,$02,$0e,$0f,$10,$11,$12,$3b,$44 // ...:;<........;D
        .byte $00,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f,$45,$46,$03,$04,$05,$01,$07 // .........EF.....
        .byte $08,$09,$3e,$3f,$47,$0c,$0d,$0e,$0f,$10,$11,$12,$3b,$13,$14,$15 // ..>?G.......;...
        .byte $0a,$1b,$1c,$1d,$1e,$1f               // ......

txt_1fc6:
        .text "EF&'()*+,-./0="
        .byte $0c,$0d,$0e,$0f,$10,$11,$12,$43,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f // .......C........
        .byte $20,$21,$22                           //  !"

// --- Region $2000-$223f ---
.pc = $2000 "spr_2000"

spr_2000:
        // === Screen RAM (576 bytes, $2000-$223f) ===
        .encoding "screencode_mixed"
        .fill 8, $ff
        .byte $bf,$9b,$a1,$6e                       // scrcode: ....
        .text ";"
        .byte $7e                                   // scrcode: .
        .text "&x"
        .byte $ff,$ff,$fe,$f8,$e4,$d9,$ee,$fb,$ff,$ff,$ff,$fe,$f8,$e0,$d1,$c1 // scrcode: ................
        .byte $ff,$e5,$90                           // scrcode: ...
        .text "e"
        .byte $46,$56,$92,$a2,$ff,$bf,$7f           // scrcode: .......
        .text "/"
        .byte $5f,$4b,$87,$d2                       // scrcode: ....
        .byte $fe,$f9,$e1,$d6,$cb,$9f,$6e           // scrcode: .......
        .text "("
        .byte $ff,$ff,$be,$b8,$e0,$81               // scrcode: ......
        .text "u"
        .byte $6a,$e6,$86                           // scrcode: ...
        .text "z"
        .byte $6d,$68,$64,$b1,$e1,$96,$60           // scrcode: .......
        .text " "
        .byte $64,$98,$69,$aa,$ae,$fb,$fa,$fd,$fc,$f8,$f6,$e9,$a4 // scrcode: .............
        .byte $d2,$e2,$e2,$f1,$f5,$f8,$f8,$fc,$b5,$f4,$b8,$ad,$bd,$6e,$6b,$6f // scrcode: ................
        .byte $e5,$b9,$b6,$79                       // scrcode: ....
        .text "(("
        .byte $6e,$6b,$a1,$86                       // scrcode: ....
        .text "fv"
        .byte $1b,$5a                               // scrcode: ..
        .text "+"
        .byte $9a,$bb,$ee,$bb,$ff,$be,$fd,$f8,$f4   // scrcode: .........
        .byte $91,$81,$41                           // scrcode: ...
        .text "evy"
        .byte $5a,$6a,$6a,$ad,$69,$ae,$7a,$af,$bf,$ee,$59,$86,$95,$61 // scrcode: ..............
        .text "&"
        .byte $59,$9a,$46,$66,$a9,$a9,$a5           // scrcode: .......
        .encoding "petscii_upper"

txt_209c:
        .text "PF"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $bb,$bf                               // scrcode: ..
        .text "f"
        .byte $40                                   // scrcode: .
        .text "f"
        .byte $69,$aa,$ae,$b9,$ff,$bf,$af,$5b,$86,$9b,$6f,$bf,$ff,$ff,$ff,$fe // scrcode: ................
        .byte $f8,$e5,$9a,$5b,$fa,$e5,$99           // scrcode: .......
        .text ":"
        .byte $b1,$66,$9d,$8c,$f9,$e2,$d0,$c4,$90,$44 // scrcode: ..........
        .text "q"
        .byte $45,$5b                               // scrcode: ..
        .text "z"
        .byte $5b,$46                               // scrcode: ..
        .text "j"
        .byte $6a,$6e,$aa,$af,$9a,$a9,$e4,$a4,$92,$69,$a4,$8a,$e6,$9a // scrcode: ..............
        .text "&"
        .byte $69,$90                               // scrcode: ..
        .text "a"
        .byte $44,$b0,$e1,$a0,$58                   // scrcode: .....
        .text "f"
        .byte $42                                   // scrcode: .
        .text "q"
        .byte $54,$7b,$6a,$51                       // scrcode: ....
        .text "z"
        .byte $91                                   // scrcode: .
        .text "f"
        .byte $48                                   // scrcode: .
        .byte $a4,$ba,$91,$59,$96,$69,$40           // scrcode: .......
        .text "qdf"
        .byte $a9,$5a,$91                           // scrcode: ...
        .text "e"
        .byte $46,$1b,$6f,$bb,$ae,$aa,$a5,$ba,$ae,$b9,$a8,$be,$ef,$ef,$ab // scrcode: ...............
        .text "zjy%"
        .byte $ee,$fb,$ef,$bf,$ff,$ff,$ff           // scrcode: .......
        .byte $ff,$fd,$f8,$f8,$f5,$f1,$e2,$e2,$d7   // scrcode: .........
        .text "f"
        .byte $50,$64,$94,$a4,$b8,$e4,$b5,$5d,$1c   // scrcode: .........
        .text "(("
        .byte $79,$b6,$b9,$f5,$fe,$f9,$e9,$a4,$46,$6b,$bf,$6e,$9a,$6a // scrcode: ..............
        .text "+z"
        .byte $a9,$ee,$fa                           // scrcode: ...
        .byte $ee,$bb,$ef,$bb,$ff,$ab,$46,$91,$ea,$90,$90,$e1,$e4,$f9,$a9,$aa // scrcode: ................
        .byte $a6                                   // scrcode: .
        .text "u"
        .byte $59                                   // scrcode: .
        .text "v"
        .byte $5a                                   // scrcode: .
        .text "vz"
        .byte $56,$86,$64,$99,$aa,$ee,$bb,$ee,$bf,$ff,$5a // scrcode: ...........
        .text ")"
        .byte $5a,$8a,$96,$ea,$a6                   // scrcode: .....
        .byte $e9,$45,$aa,$66,$5b,$86,$92,$a6,$a9,$ae,$be,$fe,$b9,$f8,$ba,$e4 // scrcode: ................
        .byte $a5,$e4,$92,$8b,$6f,$ab,$9e,$9b,$a6,$b6,$e6,$b3,$e7,$9b,$8b,$8f // scrcode: ................
        .byte $5f,$fe,$fd,$fc,$f8,$f4,$f4,$e5       // scrcode: ........
        .byte $da,$ff,$bf,$bf,$af,$6f               // scrcode: ......
        .text "++"
        .byte $4a,$ff,$ff,$ff,$ff,$fe,$fe,$fd,$f9,$c6,$8b,$8a,$56 // scrcode: .............
        .text "zve@"
        .byte $e2,$92,$57                           // scrcode: ...
        .text "k"
        .byte $4b,$5e                               // scrcode: ..
        .text ","
        .byte $79,$e2,$d7,$cb,$9f                   // scrcode: .....
        .text "/"
        .byte $7f,$bf                               // scrcode: ..
        .byte $ff,$db,$ef,$fa,$f1,$f4,$f8,$f8,$fd,$99,$e9,$f1,$a1 // scrcode: .............
        .text "v"
        .byte $48,$98,$a9,$ff,$bf                   // scrcode: .....
        .text "?"
        .byte $af,$df,$eb,$f3,$b6,$f8,$a4,$65,$62,$a5,$49,$42 // scrcode: ............
        .text "t"
        .byte $60,$a4,$b5,$e6,$d3,$97,$8e           // scrcode: .......
        .byte $a9,$b2,$e7,$cb,$9f                   // scrcode: .....
        .text "/"
        .byte $7f,$bf,$ff,$81,$46                   // scrcode: .....
        .text "f"
        .byte $1b                                   // scrcode: .
        .text "/"
        .byte $6f,$af,$eb,$bf,$6f,$1b               // scrcode: ......
        .text "fadae"
        .byte $ff,$ff,$ff,$ff,$bf,$6f,$1b,$6b,$f9,$e2,$86,$e6,$db,$fe,$59 // scrcode: ...............
        .byte $ff,$7a                               // scrcode: ..
        .text "./"
        .byte $9f,$9b,$9a,$87,$c6,$79               // scrcode: ......
        .text "8)"
        .byte $59,$84,$c1,$d2,$e2,$9a,$6e,$ba,$ae,$bb,$ef,$bf,$ef,$ff,$ff,$ff // scrcode: ................
        .byte $bf,$bf,$bf,$ef,$df,$bf,$af,$aa,$a5,$ba,$ae,$b9 // scrcode: ............
        .byte $a8,$ef,$eb,$9b,$ab                   // scrcode: .....
        .text "zjy%"
        .byte $d6,$e2,$e2,$f1,$f5,$f8,$f8,$fc       // scrcode: ........
        .encoding "petscii_upper"

// --- Region $22f0-$22ff ---
.pc = $22f0 "Segment $22f0"
        .encoding "screencode_mixed"
        .fill 12, $00                               // scrcode: @@@@@@@@@@@@
        .byte $9f,$9e,$9d,$9c                       // scrcode: ....
        .encoding "petscii_upper"

// --- Region $2354-$235e ---
.pc = $2354 "scr_2354"

scr_2354:
        // === Screen RAM (11 bytes, $2354-$235e) ===
        .encoding "screencode_mixed"
        .text "@"
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // scrcode: ..........
        .encoding "petscii_upper"

// --- Region $2378-$237f ---
.pc = $2378 "scr_2378"

scr_2378:
        // === Screen RAM (8 bytes, $2378-$237f) ===
        .fill 8, $ff

// --- Region $23c3-$23ef ---
.pc = $23c3 "scr_23c3"

scr_23c3:
        // === Screen RAM (45 bytes, $23c3-$23ef) ===
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff           // scrcode: .......
// Referenced by: jsr from $2586, $259d, $25f8, $2611

sub_23ca:
        .encoding "screencode_mixed"
        .byte $84,$83                               // scrcode: ..
        .text "j&"
        .byte $83                                   // scrcode: .
        .text "j&"
        .byte $83                                   // scrcode: .
        .text "j&"
        .byte $83,$85,$82,$a5,$83                   // scrcode: .....
        .text "ih"
        .byte $85,$83,$a9                           // scrcode: ...
        .text "3"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $60                                   // scrcode: .
        .text " "
        .byte $60                                   // scrcode: .
        .text "p"
        .byte $50                                   // scrcode: .
        .text "r"
        .byte $52                                   // scrcode: .
        .text " "
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff           // scrcode: .......
        .encoding "petscii_upper"

// --- Region $2636-$263f ---
.pc = $2636 "dat_2636"

dat_2636:
        .fill 10, $ff

// --- Region $2653-$267f ---
.pc = $2653 "Segment $2653"
        .fill 13, $ff

txt_2660:
        .encoding "screencode_mixed"
        .text "-coding and logo by adf (c"
        .encoding "petscii_upper"

txt_267a:
        .text ")1989-"

// --- Region $26bc-$2e2f ---
.pc = $26bc "Segment $26bc"
        .byte $a9,$30,$85,$01,$a2,$c8,$a0,$00,$b9,$31,$31,$99,$01,$08,$c8,$d0 // .0.......11.....
        .byte $f7,$ee,$0b,$04,$ee,$0e,$04,$ca,$d0,$ec,$a9,$37,$85,$01,$20,$bf // ...........7.. .
        .byte $e3,$20,$e2,$fc,$4c,$ae,$a7,$00       // . ..L...

txt_26e4:
        .encoding "screencode_mixed"
        .text "intro by adf!"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .encoding "petscii_upper"
        .fill 15, $ff
        .byte $0f,$00,$0f,$03,$00,$03,$03,$00,$03,$01,$00,$01,$c1,$ff,$c1,$01 // ................
        .byte $80,$03,$03,$80,$03,$03,$80,$07,$0f,$80,$0f,$ff,$82,$07,$ff,$83 // ................
        .byte $03,$ff,$83,$83,$ff,$83,$81,$ff,$83,$c1,$ff,$83,$c1,$ff,$ff,$ff // ................
        .fill 18, $ff
        .byte $00,$ff,$ff,$00,$ff,$ff,$00,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$80 // ................
        .byte $ff,$ff,$80,$ff,$ff,$80,$ff,$ff,$80,$ff,$ff,$83,$ff,$ff,$83,$ff // ................
        .byte $ff,$83,$ff,$ff,$83,$ff,$ff,$83,$ff,$ff,$83 // ...........

dat_277c:
        // === Fill data (137 bytes, $277c-$2804) ===
        .fill 132, $ff

scr_2800:
        .byte $ff,$ff,$ff,$ff,$ff,$fe,$fe,$fa,$ff,$ff,$fe,$ea,$a9,$a6,$9f,$7f // ................
        .byte $ff,$ff,$9a,$69,$a5,$ff,$ff,$ff,$ff,$ff,$59,$65,$95,$ff,$ff,$ff // ...i......Ye....
        .byte $ff,$ff,$51,$45,$14,$ff,$ff,$ff,$ff,$ff,$41,$04,$10,$ff,$ff,$ff // ..QE......A.....
        .byte $ff,$ff,$01,$04,$10,$ff,$ff,$ff,$ff,$ff,$05,$17,$5c,$f0,$c0,$c1 // ............\...
        .byte $ff,$ff,$d6,$da,$e9,$e6,$da,$ea,$ff,$ff,$9a,$6a,$a9,$ff,$ff,$ff // ...........j....
        .byte $ff,$ff
        .text "WWSC"
        .byte $03,$07,$ff,$ff,$d6,$d9,$e5,$d6,$da,$e9
        .byte $ff,$ff,$5a,$69,$a6,$ff,$ff,$ff,$ff,$ff,$6a,$a9,$a6,$ff,$ff,$ff // ..Zi......j.....
        .byte $ff,$ff,$6b,$a3,$83,$07,$13,$43,$ff,$ff,$07,$17,$5f,$73,$c3,$03 // ..k....C...._s..

spr_2880:
        .encoding "screencode_mixed"
        .byte $f9,$f6,$da,$e9,$e4,$d5,$59,$65,$b3,$cc // scrcode: ..........
        .text "@@"
        .byte $44                                   // scrcode: .
        .text "q"
        .encoding "petscii_upper"

txt_288e:
        .text "UU3"
        .byte $cc                                   // 'L' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "@@"
        .byte $44                                   // scrcode: .
        .text "q"
        .byte $55,$55                               // scrcode: ..
        .text "d"
        .byte $d0                                   // scrcode: .
        .text "ae"
        .byte $54                                   // scrcode: .
        .text "q"
        .byte $45,$55,$e9,$e6,$da,$e9,$e5,$d6,$d9,$e5 // scrcode: ..........
        .text "s"
        .byte $43                                   // scrcode: .
        .text "gw"
        .byte $53,$47                               // scrcode: ..
        .text "w"
        .byte $57,$e6,$da,$ea,$e9,$e6,$da,$e9,$e5,$cc // scrcode: ..........
        .text "3"
        .text "@@q"
        .byte $44,$55,$55                           // scrcode: ...
        .text "co3"
        .byte $c3                                   // scrcode: .
        .text "o?"
        .byte $f3,$cf                               // scrcode: ..
        .text "gs"
        .byte $43                                   // scrcode: .
        .text "gw"
        .byte $53,$47                               // scrcode: ..
        .text "w"
        .byte $95,$56,$52,$46                       // scrcode: ....
        .text "v"
        .byte $52,$42                               // scrcode: ..
        .text "f"
        .byte $99,$66,$aa,$aa,$aa,$aa,$aa,$aa,$99,$66 // scrcode: ..........
        .byte $aa,$aa,$aa                           // scrcode: ...
        .text "0"
        .byte $c0                                   // scrcode: .
        .text "a"
        .byte $99,$66,$aa,$aa,$aa                   // scrcode: .....
        .text "p"
        .byte $41                                   // scrcode: .
        .text "e"
        .byte $99,$66,$aa,$aa,$aa,$51,$45           // scrcode: .......
        .text "u"
        .byte $99,$66,$aa,$aa,$aa,$51,$45           // scrcode: .......
        .text "t"
        .byte $94,$51,$85,$94,$90,$41               // scrcode: ......
        .text "dp"
        .byte $d5,$d4                               // scrcode: ..
        .byte $d1,$c5,$d4,$d0,$c1,$c4,$53,$47       // scrcode: ........
        .text "w"
        .byte $53,$43                               // scrcode: ..
        .text "gs"
        .byte $43,$d6,$d9,$e5,$d5,$d4,$d1,$c5,$d4,$66,$99,$aa,$aa,$aa,$aa,$aa // scrcode: ................
        .byte $aa                                   // scrcode: .
        .text "?"
        .byte $ff,$f3,$cf                           // scrcode: ...
        .text "?"
        .byte $f3,$c3                               // scrcode: ..
        .text "o"
        .byte $99,$66                               // scrcode: ..
        .byte $aa,$aa,$aa,$ab,$a8,$ab,$57,$53,$47   // scrcode: .........
        .text "w"
        .byte $53,$43                               // scrcode: ..
        .text "gsr"
        .byte $42                                   // scrcode: .
        .text "bfr"
        .byte $42                                   // scrcode: .
        .text "fv"
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa,$d0,$c0,$c1,$c4,$d0,$c1,$c5,$d4 // scrcode: ................
        .byte $d0,$c1                               // scrcode: ..
        .byte $c4,$d0,$c0,$c1,$c4,$d0               // scrcode: ......
        .text "3"
        .byte $c3                                   // scrcode: .
        .text "cgs"
        .byte $43                                   // scrcode: .
        .text "gw"
        .byte $a8,$a8,$a8,$a9,$a8,$a8,$a9,$a9       // scrcode: ........
        .text "o"
        .byte $1f,$4f                               // scrcode: ..
        .text "o"
        .byte $1f,$5f,$4f,$1f,$52,$46               // scrcode: ......
        .text "v"
        .byte $56,$5a,$65,$96,$59,$aa,$aa           // scrcode: .......
        .byte $aa,$aa,$aa,$55,$aa                   // scrcode: .....
        .encoding "petscii_upper"

txt_2987:
        .text "UUVZ"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $aa,$55,$aa,$55,$a5,$96,$59,$aa,$aa,$55,$aa,$55,$95 // scrcode: .............

txt_2999:
        .text "TQ"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $aa,$55,$aa,$55                       // scrcode: ....
        .text "w"
        .byte $5f,$7f,$f3,$cf                       // scrcode: ....
        .text "?"
        .byte $ff,$f3,$d1,$c5,$d5,$d6,$d9,$e5,$d6,$fa // scrcode: ..........
        .text "<"
        .byte $f1,$c4,$aa,$aa,$55,$aa,$55,$41       // scrcode: ........
        .text "eu"
        .byte $aa,$aa,$55,$aa,$55,$53,$47           // scrcode: .......
        .text "w"
        .byte $57                                   // scrcode: .
        .byte $53,$47                               // scrcode: ..
        .text "w"
        .byte $53,$a8,$a9,$a9,$a9,$a8,$55,$a9,$54,$5f,$5f,$4f,$1f,$5f,$4f // scrcode: ...............
        .text "o"
        .byte $1f,$69,$a4,$99,$68,$a8,$a7,$98,$6b,$55 // scrcode: ..........
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $ff,$cf                               // scrcode: ..
        .text "?"
        .byte $f3,$c3                               // scrcode: ..
        .text "o3"
        .byte $c3                                   // scrcode: .
        .text "c"
        .byte $f9,$f6,$fa,$fe,$fd,$fe,$ff,$ff,$55,$80,$95,$40,$90,$8f,$44,$60 // scrcode: ................
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $55                                   // scrcode: .
        .text "@@"
        .byte $ff                                   // scrcode: .
        .text "@?"
        .byte $43                                   // scrcode: .
        .text "gs"
        .byte $43                                   // scrcode: .
        .text "co3"
        .byte $c3,$54                               // scrcode: ..
        .text "a"
        .byte $54                                   // scrcode: .
        .text "@"
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $fc,$4f                               // scrcode: ..
        .text "oo?"
        .byte $cf                                   // scrcode: .
        .text "o?"
        .byte $ff,$a7,$97,$5b,$67,$97,$57,$53,$47,$ff,$ff,$ff,$cf,$df,$67,$df // scrcode: ................
        .byte $cf                                   // scrcode: .
        .text "o?"
        .byte $fc,$f3,$cf                           // scrcode: ...
        .text "?"
        .byte $f3,$c3,$cf                           // scrcode: ...
        .text "<"
        .byte $f0,$ff                               // scrcode: ..
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "l0"
        .byte $c0,$ff,$ff,$ff,$ff,$ff               // scrcode: ......
        .text "gs"
        .byte $43,$ff,$ff,$ff,$ff,$ff,$d0,$f7,$ff,$ff,$ff,$ff,$ff,$ff,$c3 // scrcode: ...............
        .text "o<"
        .byte $ff,$ff,$ff,$ff,$ff,$cf               // scrcode: ......
        .text "?"
        .byte $fc,$ff                               // scrcode: ..
        .byte $ff,$ff,$ff,$ff,$cf                   // scrcode: .....
        .text "<"
        .byte $f1,$c4,$d1,$c5,$d5,$d6,$ff,$ff,$ff,$f3,$f7,$d9,$f7,$f3,$ff,$f3 // scrcode: ................
        .byte $f7,$d9,$f7,$f3,$ff,$ff               // scrcode: ......
        .text "o?"
        .byte $f3,$cf                               // scrcode: ..
        .text "?"
        .byte $ff,$f3,$cf,$ff,$ff,$cf,$df           // scrcode: .......
        .byte $67,$df,$cf,$fd,$ff,$ff,$fc,$ff,$ff   // scrcode: .........
        .text "?"
        .byte $7c,$9f,$cf                           // scrcode: ...
        .text "?"
        .byte $ff,$ff,$cf                           // scrcode: ...
        .text "?"
        .byte $ff,$cf,$ff,$ff,$cf,$df,$67,$df,$cf,$ff,$ff,$ff,$fc,$ff,$ff,$ff // scrcode: ................
        .text "<"
        .byte $7f,$f0,$f1,$f5,$f4                   // scrcode: .....
        .byte $f1,$f5,$f5,$f6,$51,$45               // scrcode: ......
        .text "u"
        .byte $7f,$7f,$7f,$bf,$7f,$59,$65,$96,$ff,$ff,$ff,$ff,$ff,$68,$a1,$85 // scrcode: ................
        .byte $d5,$d4,$d1,$c5,$d4                   // scrcode: .....
        .text "w"
        .byte $53,$43                               // scrcode: ..
        .text "gs"
        .byte $43                                   // scrcode: .
        .text "cg"
        .byte $cf,$df,$67,$df                       // scrcode: ....
        .byte $cf,$ff,$ff,$ff                       // scrcode: ....
        .text "o3"
        .byte $c3                                   // scrcode: .
        .text "cgs"
        .byte $43                                   // scrcode: .
        .text "g"
        .byte $d9,$e5,$d6,$da,$e9,$e6,$da,$ea,$ff,$ff,$ff,$fd,$ff,$ff,$ff,$ff // scrcode: ................
        .byte $ff                                   // scrcode: .
        .text "?"
        .byte $7f,$9f,$7f                           // scrcode: ...
        .text "?"
        .byte $ff,$ff                               // scrcode: ..
        .text "?"
        .byte $f3,$c3                               // scrcode: ..
        .text "o"
        .text "3"
        .byte $c3                                   // scrcode: .
        .text "cg"
        .byte $ff,$ff,$f3,$f7,$d9,$f7,$f3,$ff,$7f   // scrcode: .........
        .text "<"
        .byte $fc,$ff,$fc,$fc,$fc,$fd               // scrcode: ......
        .text "o?"
        .byte $cf                                   // scrcode: .
        .text "oo"
        .byte $1f,$4f                               // scrcode: ..
        .text "o"
        .byte $fd,$ff,$cf,$df,$67,$df,$cf,$ff,$9f,$7c // scrcode: ..........
        .text "<"
        .byte $ff                                   // scrcode: .
        .byte $fc,$fc,$fc,$fd,$f9,$f5,$f6,$fa,$f9,$f6,$fa,$fa,$7f,$bf,$b1,$7f // scrcode: ................
        .byte $bf,$bf,$bf,$7f,$ff,$7f,$93,$7f,$ff,$ff,$ff,$ff,$d0,$c1,$c4,$d0 // scrcode: ................
        .byte $c0,$c3,$cc,$f0,$ff,$ff,$ff,$ff       // scrcode: ........
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "s"
        .byte $43                                   // scrcode: .
        .text "gw"
        .byte $53,$47                               // scrcode: ..
        .text "w"
        .byte $54,$ff,$ff,$ff,$f3                   // scrcode: .....
        .text "?"
        .byte $cc                                   // scrcode: .
        .text "@l"
        .byte $ff                                   // scrcode: .
        .text "?"
        .byte $cf                                   // scrcode: .
        .text "<"
        .byte $cf,$fc                               // scrcode: ..
        .text "0lw"
        .byte $53,$47                               // scrcode: ..
        .text "w"
        .byte $57,$53,$47                           // scrcode: ...
        .text "w"
        .byte $e9,$e6,$da,$e9                       // scrcode: ....
        .byte $e5,$d6,$d9,$e5,$fc,$ff,$fc,$cf,$f3   // scrcode: .........
        .text "oc0"
        .byte $ff                                   // scrcode: .
        .text "3"
        .byte $ff                                   // scrcode: .
        .text "3"
        .byte $cc,$c0                               // scrcode: ..
        .text "@ls"
        .byte $43                                   // scrcode: .
        .text "gw"
        .byte $53,$47                               // scrcode: ..
        .text "w"
        .byte $57                                   // scrcode: .
        .text "s"
        .byte $43                                   // scrcode: .
        .text "gt"
        .byte $53,$44                               // scrcode: ..
        .text "w"
        .byte $57,$ff,$ff                           // scrcode: ...
        .text "?"
        .byte $fc                                   // scrcode: .
        .text "3"
        .byte $cc,$c3                               // scrcode: ..
        .text "@"
        .byte $fc,$fc                               // scrcode: ..
        .text "="
        .byte $f1                                   // scrcode: .
        .text "<"
        .byte $cd,$f1                               // scrcode: ..
        .text "="
        .byte $1f,$5f,$4f,$1f,$5f,$5f,$4f,$1f       // scrcode: ........
        .text "s"
        .byte $43                                   // scrcode: .
        .text "gw"
        .byte $50,$44                               // scrcode: ..
        .text "t"
        .byte $54,$ff,$ff                           // scrcode: ...
        .text "?"
        .byte $f3,$ff                               // scrcode: ..
        .text "l"
        .byte $c0                                   // scrcode: .
        .text "@<"
        .byte $cc                                   // scrcode: .
        .text "="
        .byte $cd                                   // scrcode: .
        .text "0"
        .byte $cd,$f1                               // scrcode: ..
        .text "a"
        .byte $f9,$f6,$fa,$f9,$f5,$f6,$f9,$f5,$bf,$8f,$73,$4c,$b3,$4f,$70,$4c // scrcode: ................
        .byte $ff                                   // scrcode: .
        .text "?"
        .byte $ff,$f3                               // scrcode: ..
        .text "<o"
        .byte $c3                                   // scrcode: .
        .text "@"
        .byte $c3,$cf,$fc,$f3,$cf,$ff               // scrcode: ......
        .text "<3"
        .byte $58,$64,$94,$58                       // scrcode: ....
        .byte $68,$a4,$98,$69,$c0                   // scrcode: .....
        .text "@apd"
        .byte $40                                   // scrcode: .
        .text "a"
        .byte $44                                   // scrcode: .
        .text "@@ap@"
        .byte $44,$41,$55,$53,$43                   // scrcode: .....
        .text "gs"
        .byte $43                                   // scrcode: .
        .text "co3"
        .byte $d5,$d4,$d1,$c5,$d4,$d0,$c1,$c4       // scrcode: ........
        .text "@@dq"
        .text "@u"
        .encoding "petscii_upper"

txt_2c1e:
        .text "QD"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $00,$00,$10,$04,$10
        .text "AUSG"
        .byte $17
        .byte $53,$43,$07,$13
        .byte $43,$58
        .byte $64,$94,$58,$69,$a4,$98,$69,$30,$03,$00,$04,$10,$04,$10,$55,$00 // d.Xi..i0......U.
        .byte $31,$01,$00,$11,$00,$44,$11,$5f,$4f,$16,$59,$65,$00,$04,$00,$ff // 1....D._O.Ye....
        .byte $ff,$54,$51,$45,$00,$01,$15,$ff,$ff,$50,$41,$04,$11,$05,$54,$ff // .TQE.....PA...T.
        .byte $ff,$40,$01,$04,$40,$10,$55,$ff,$ff,$43,$03,$03,$0f,$33,$c3,$58 // .@..@.U..C...3.X
        .byte $64,$95,$58,$68,$a4,$98,$69,$cc,$00,$01,$10,$50,$05,$15,$51,$30 // d.Xh..i....P..Q0
        .byte $01,$11,$44,$11,$00,$41,$50,$5f,$4f,$19,$65,$95,$00,$01,$55,$f5 // ..D..AP_O.e...U.
        .byte $f4,$51,$45,$14,$40,$40,$10,$00,$4c,$40,$00,$00,$11,$40,$05,$c3 // .QE.@@..L@...@..
        .byte $00,$00,$04,$10,$05,$10,$00,$0f,$3c,$30,$03,$0c,$30,$00,$41,$a8 // ........<0..0.A.
        .byte $a5,$99,$69,$a5,$95,$59,$65,$51,$44,$15,$55,$95,$59,$66,$a5,$11 // ..i..YeQD.U.Yf..
        .text "UUYU"
        .byte $99
        .byte $56,$6a,$c3,$0f
        .byte $3f,$f3,$cf
        .byte $3f,$ff,$f3,$d0
        .byte $c0,$c1,$c4,$d0,$c1,$c5,$d4,$51,$55,$66,$55,$99,$66,$a9,$9a,$14 // .......QUfU.f...
        .byte $55,$65,$95                           // Ue.

txt_2ce4:
        .text "YU"
        .byte $a6                                   // '&' | $80 (end-of-string marker)
        .byte $9a,$03,$0f,$33,$c3,$0f,$3f,$f3,$cf,$a9,$a5,$99,$69,$a5,$d6,$d9 // ...3..?.....i...
        .byte $e5,$11,$54,$95                       // ..T.

txt_2cfb:
        .text "UYV"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $aa
        .text "ETUU"
        .byte $65,$95
        .byte $59,$66
        .byte $41,$54,$15
        .byte $56,$99
        .byte $56,$a5
        .byte $99                                   // .

txt_2d10:
        .text "DQVY"
        .byte $a6                                   // '&' | $80 (end-of-string marker)
        .byte $59,$6a,$99
        .byte $45,$55,$55,$95
        .byte $59,$66,$9a,$a6
        .text "EQUY"
        .byte $95
        .byte $59,$aa,$66,$03,$07,$13,$43,$07,$17   // Y.f...C..

txt_2d2e:
        .text "SG"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $a5,$99,$69,$a5,$d5,$d9,$e5,$14,$55,$55,$99,$65,$56,$aa,$a6,$45 // ..i.....UU.eV..E
        .byte $55,$65,$59,$a5,$6a,$99,$66,$11,$55,$55,$65,$99,$65,$aa,$99,$45 // UeY.j.f.UUe.e..E
        .byte $11,$55,$65,$96,$65,$59,$9a,$11,$44,$55,$95,$66,$59,$a6,$99,$41 // .Ue.eY..DU.fY..A
        .byte $54,$45,$55,$99,$a5,$6a,$99,$44,$50,$41,$85,$54,$91,$45,$95,$96 // TEU..j.DPA.T.E..
        .byte $56,$52,$46,$16,$53,$4c,$33,$9a,$a6,$69,$aa,$aa,$3f,$fc,$f3,$99 // VRF.SL3..i..?...
        .byte $66,$9a,$aa,$aa,$3c,$f0,$c3,$cf,$3f,$f3,$c3,$0f,$33,$c3,$03,$d1 // f...<...?...3...
        .byte $c5,$d5,$d6,$d9,$e5,$d4,$d3,$a6,$aa,$aa,$aa,$aa,$3c,$f3,$cf,$66 // ............<..f
        .byte $aa,$aa,$aa,$aa,$fc,$f3,$cf,$3f,$ff,$f3,$cf,$3f,$f3,$c3,$03,$f5 // .......?...?....
        .byte $f4,$f1,$fd,$fc,$ff,$ff,$ff,$26,$69,$4a,$06,$10,$40,$c1,$fc,$9a // .......&iJ..@...
        .byte $a9,$aa,$aa,$2a,$43,$0f,$3c,$6a,$9a,$aa,$aa,$aa,$cc,$30,$c0,$66 // ...*C.<j.....0.f
        .byte $aa,$aa,$aa,$aa,$04,$10,$41,$6a,$aa,$aa,$aa,$aa,$14 // ......Aj.....

txt_2dde:
        .text "QE"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $aa,$aa,$aa,$aa,$54,$51,$45,$17,$57,$53,$47,$17,$53,$43,$03,$2a // ....TQE.WSG.SC.*
        .byte $6a,$4a,$06,$10,$00,$c1,$fc,$a9,$aa,$aa,$aa // jJ.........

txt_2dfc:
        .text "*L0"
        .byte $c3                                   // 'C' | $80 (end-of-string marker)
        .byte $66,$aa,$aa,$aa,$aa,$30,$c0,$01,$69,$aa,$aa,$aa,$aa,$10,$41,$05 // f....0..i.....A.
        .byte $a6,$6a,$aa,$aa,$aa,$51,$45,$15,$a6,$aa,$aa,$aa,$aa,$51,$45,$14 // .j...QE......QE.
        .byte $94,$91,$85,$94,$90,$41,$04,$10,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // .....A..........

// --- Region $2f02-$2f6f ---
.pc = $2f02 "Segment $2f02"
        .byte $06,$0b,$0e,$03,$0d,$01,$01,$01,$07,$0f,$0c,$08,$0b,$09,$00,$00 // ................
        .byte $09,$02,$08,$0a,$0f,$07,$01,$01,$07,$0f,$0a,$08,$02,$09,$00,$00 // ................
        .byte $03,$0f,$05,$0c,$08,$0b,$09,$0b,$08,$0c,$05,$0f,$03,$0d,$00,$00 // ................
        .byte $09,$0b,$08,$0c,$0f,$07,$01,$01,$07,$0f,$0c,$08,$0b,$09,$00,$00 // ................
        .byte $06,$0b,$04,$0c,$0a,$0f,$07,$07,$0f,$0a,$0c,$04,$0b,$06,$00,$00 // ................
        .byte $01,$07,$0f,$0c,$08,$0b,$09,$01,$01,$0d,$03,$0e,$0b,$06,$00,$00 // ................
        .fill 14, $00

// --- Region $3000-$312e ---
.pc = $3000 "spr_3000"

spr_3000:
        // === Sprite data (64 bytes, $3000-$303f) ===
        .byte $20,$43,$00                           // ..#......#....##........
        .byte $53,$02

txt_3005:
        .byte $20
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $06,$34,$03                           // .....##...##.#........##
        .byte $07,$20,$09                           // .....###..#.........#..#
        .byte $13,$20,$10                           // ...#..##..#........#....
        .byte $12,$0f,$15                           // ...#..#.....####...#.#.#
        .byte $04,$20,$14                           // .....#....#........#.#..
        .byte $0f,$20,$10                           // ....####..#........#....
        .byte $12,$05,$13                           // ...#..#......#.#...#..##
        .byte $05,$0e,$14                           // .....#.#....###....#.#..
        .byte $20,$14,$05                           // ..#........#.#.......#.#
        .byte $12,$12,$19                           // ...#..#....#..#....##..#
        .byte $27,$13,$20                           // ..#..###...#..##..#.....
        .byte $02,$09,$07                           // ......#.....#..#.....###
        .byte $20,$01,$04                           // ..#............#.....#..
        .byte $16,$05,$0e                           // ...#.##......#.#....###.
        .byte $14,$15,$12                           // ...#.#.....#.#.#...#..#.
        .byte $05,$20,$06                           // .....#.#..#..........##.
        .byte $12,$0f,$0d                           // ...#..#.....####....##.#
        .byte $20,$13,$08                           // ..#........#..##....#...
        .byte $01                                   // sprite 0 padding

spr_3040:
        // === Sprite data (64 bytes, $3040-$307f) ===
        .byte $04,$05,$13                           // .....#.......#.#...#..##
        .byte $20,$03,$12                           // ..#...........##...#..#.
        .byte $01,$03,$0b                           // .......#......##....#.##
        .byte $05,$04,$20                           // .....#.#.....#....#.....
        .byte $01,$0e,$04                           // .......#....###......#..

txt_304f:
        .byte $20,$27,$2b                           // ..#.......#..###..#.#.##
        .byte $2b,$2b,$27                           // ..#.#.##..#.#.##..#..###
        .byte $20,$14,$12                           // ..#........#.#.....#..#.
        .byte $01,$09,$0e                           // .......#....#..#....###.
        .byte $05,$04,$20                           // .....#.#.....#....#.....
        .byte $02,$19,$20                           // ......#....##..#..#.....
        .byte $0d,$01,$0f                           // ....##.#.......#....####
        .byte $20,$0f,$0e                           // ..#.........####....###.
        .byte $20,$35,$2f                           // ..#.......##.#.#..#.####
        .byte $0f,$03,$14                           // ....####......##...#.#..

txt_306d:
        .byte $2f,$38,$39                           // ..#.####..###.....###..#
        .byte $2e,$20,$20                           // ..#.###...#.......#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20,$20,$20                           // ..#.......#.......#.....
        .byte $20                                   // sprite 0 padding
        .byte $53,$04

txt_3082:
        .text "         C"

txt_308c:
        .encoding "screencode_mixed"
        .text "psome fast hellos to the best like"
        .encoding "petscii_upper"

txt_30ae:
        .text ": 711 - "

txt_30b6:
        .encoding "screencode_mixed"
        .text "dcs - action - crazy - dominators - rti - trascom - legend and no more"
        .encoding "petscii_upper"

txt_30fc:
        .text "          "

txt_3106:
        .encoding "screencode_mixed"
        .text "end of text"
        .encoding "petscii_upper"

txt_3111:
        .text "....                          "
