// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:42
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3d07  (13576 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2da0 (11680)
// IRQ handler:  $2e8c (irq_2e8c)
// IRQ handler:  $2ec7 (irq_2ec7)
// IRQ handler:  $2ef7 (irq_2ef7)
// IRQ handler:  $2f30 (irq_2f30)
// IRQ handler:  $2f67 (irq_2f67)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2983 bytes, Data: 10593 bytes
// Labels: 308, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1008 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $2da9

sub_1000:
        jmp loc_1548
// Referenced by: jsr from $2eb2

sub_1003:
        lda $15bf
        beq loc_101f
        rts

// --- Region $101f-$10db ---
.pc = $101f "loc_101f"

loc_101f:
        ldx #$02
        dec $15c0
        bpl loc_102b
        lda #$02
        sta $15c0

loc_102b:
        lda $15c0
        bne loc_1044
        ldy $15d0,x
        lda $172a,y
        and #$40
        beq loc_103f
        lda #$fe
        sta $15eb,x

loc_103f:
        dec dat_159b,x
        bmi loc_108b

loc_1044:
        inc $15c7,x
        lda $15ee,x
        bne loc_107b
        lda $15c4,x
        beq loc_107b
        lda dat_159b,x
        bne loc_107b
        lda $15c0
        cmp #$02
        bcc loc_107b
        lda $1027
        cmp #$03
        bcs loc_1069
        lda $159e,x
        beq loc_107e

loc_1069:
        lda $15c0
        cmp #$02
        beq loc_1083

loc_1070:
        ldy dat_1009,x
        lda #$00
        sta $d406,y
        sta $15b6,x

loc_107b:
        jmp loc_1324

loc_107e:
        lda $15c0
        bne loc_107b

loc_1083:
        lda #$fe
        sta $15eb,x
        jmp loc_1070

loc_108b:
        lda $15ca,x
        sta smc_109b                                // SMC: modifies $109b
        lda $15cd,x
        sta smc_109c                                // SMC: modifies $109c
        ldy $15b9,x

loc_109a:
.label smc_109b = * + 1
.label smc_109c = * + 2
        lda $1d00,y                                 // !SMC: modified by $108e, $1094
        bpl loc_10f5
        cmp #$a0
        bcs loc_10ae
        and #$1f
        sta $15b0,x
        inc $15b9,x
        iny
        bne loc_109a

loc_10ae:
        cmp #$c0
        bcs loc_10bd
        and #$1f
        sta $15a1,x
        inc $15b9,x
        iny
        bne loc_109a

loc_10bd:
        cmp #$e0
        bcs loc_10cc
        and #$1f
        sta $15c1,x
        inc $15b9,x
        iny
        bne loc_109a

loc_10cc:
        cmp #$ff
        bne loc_10d8
        lda #$00
        sta $15b9,x
        tay
        beq loc_109a

loc_10d8:
        cmp #$fe
        bne loc_10e4

// --- Region $10e4-$159a ---
.pc = $10e4 "loc_10e4"

loc_10e4:
        and #$0f
        sta $15bd
        ora $15be
        sta $15bc
        iny
        inc $15b9,x
        bne loc_109a

loc_10f5:
        asl
        tay
        lda $179e,y
        sta $fe
        lda $179f,y
        sta $ff
        lda $159e,x
        sta dat_159b,x
        lda #$00
        sta $15d6,x
        sta $15ee,x
        ldy $15e2,x

loc_1112:
        lda ($fe),y
        bpl loc_1162
        cmp #$c0
        bcs loc_112a
        and #$3f
        sta $159e,x
        sta dat_159b,x
        iny
        inc $15e2,x
        lda ($fe),y
        bpl loc_1162

loc_112a:
        cmp #$e0
        bcs loc_1143
        and #$1f
        adc $15b0,x
        asl
        asl
        asl
        sta $15d0,x
        iny
        inc $15e2,x
        lda ($fe),y
        bpl loc_1162
        cmp #$e0

loc_1143:
        bne loc_11b6

loc_1145:
        iny
        lda ($fe),y
        sta $15e5,x
        iny
        lda ($fe),y
        pha
        and #$1f
        sta $15e8,x
        pla
        and #$80
        beq loc_115c
        inc $15d6,x

loc_115c:
        inc $15d6,x
        iny
        lda ($fe),y

loc_1162:
        clc
        adc $15c1,x
        sta $15f1,x
        iny
        tya
        sta $15e2,x
        lda ($fe),y
        cmp #$ff
        bne loc_1186
        lda #$00
        sta $15e2,x
        lda $15a1,x
        bne loc_1183
        inc $15b9,x
        bne loc_1186

loc_1183:
        dec $15a1,x

loc_1186:
        lda $15ee,x
        bne loc_1193
        lda #$00
        sta $15c7,x
        sta $15a4,x

loc_1193:
        lda $15f1,x
        tay
        lda $1636,y
        sta $1617,x
        sta $1602,x
        lda $1696,y
        sta $161a,x
        sta $1605,x
        lda $15ee,x
        beq loc_11b1
        jmp loc_1243

loc_11b1:
        lda #$ff
        jmp loc_1240

loc_11b6:
        cmp #$e1
        bne loc_11e4
        lda #$fe
        sta $15eb,x
        lda #$09
        sta $15f4,x
        iny
        inc $15e2,x
        lda ($fe),y
        cmp #$ff
        bne loc_11db
        lda #$00
        sta $15e2,x
        lda $15a1,x
        bne loc_11de
        inc $15b9,x

loc_11db:
        jmp loc_150b

loc_11de:
        dec $15a1,x
        jmp loc_150b

loc_11e4:
        cmp #$e2
        bne loc_120e
        lda #$fe
        sta $15eb,x
        iny
        tya
        sta $15e2,x
        lda ($fe),y
        cmp #$ff
        bne loc_1205
        lda #$00
        sta $15e2,x
        lda $15a1,x
        bne loc_1208
        inc $15b9,x

loc_1205:
        jmp loc_1324

loc_1208:
        dec $15a1,x
        jmp loc_1324

loc_120e:
        cmp #$e3
        bne loc_1229
        lda #$ff
        sta $15eb,x
        lda #$01
        sta $15ee,x
        iny
        lda ($fe),y
        cmp #$e0
        beq loc_1226
        jmp loc_1162

loc_1226:
        jmp loc_1145

loc_1229:
        sta $d417
        iny
        lda ($fe),y
        sta $15be
        ora $15bd
        sta $15bc
        iny
        tya
        sta $15e2,x
        jmp loc_1112

loc_1240:
        sta $15eb,x

loc_1243:
        lda #$00
        sta $1623,x
        sta $160e,x
        sta $15a7,x
        lda $15ee,x
        bne loc_12cf
        sta $1614,x
        ldy $15d0,x
        lda #$09
        sta $15f4,x
        lda $172a,y
        sta $fd
        and #$10
        sta $15c4,x
        lda $fd
        and #$0f
        sta $1620,x
        lda $1729,y
        and #$0f
        cmp #$0f
        beq loc_1292
        and #$07
        asl
        asl
        asl
        sta $15df,x
        tay
        lda $fd
        and #$80
        bne loc_1290
        lda $16f6,y
        sta $d416
        sta $15fa

loc_1290:
        lda #$01

loc_1292:
        sta $15d3,x
        ldy $15d0,x
        lda $172d,y
        and #$80
        bne loc_12cf
        lda $172d,y
        cmp #$01
        bne loc_12b4
        lda #$08
        sta $15dc,x
        lda #$00
        sta $15d9,x
        lda #$01
        bne loc_12cc

loc_12b4:
        and #$7f
        sta $15ff,x
        tay
        lda $1710,y
        and #$f0
        sta $15d9,x
        lda $1710,y
        and #$0f
        sta $15dc,x
        lda #$00

loc_12cc:
        sta $15aa,x

loc_12cf:
        ldy $15d0,x
        lda $1727,y
        sta $15b3,x
        lda $fd
        and #$20
        beq loc_12e8
        lda $15b6,x
        sec
        sbc $1635
        jmp loc_12eb

loc_12e8:
        lda $1728,y

loc_12eb:
        sta $15b6,x
        lda $172b,y
        lsr
        lsr
        lsr
        lsr
        beq loc_1321
        sta $15fc,x
        asl
        sta $1623,x
        lda $1729,y
        and #$f0
        sta $161d,x
        lda $172b,y
        and #$0f
        asl
        sta $1608,x
        lda $172c,y
        and #$f0
        lsr
        sta $1626,x
        lda $172c,y
        and #$0f
        asl
        sta $1629,x

loc_1321:
        jmp loc_150b

loc_1324:
        ldy $15d0,x
        lda $1726,y
        sta $1611,x
        clc
        adc $1614,x
        tay
        lda $17ce,y
        bmi loc_1370
        cmp #$72
        bne loc_134d
        lda $1812,y
        sta $15a7,x
        iny
        inc $1614,x
        lda $17ce,y
        bmi loc_1370
        jmp loc_1365

loc_134d:
        cmp #$71
        beq loc_139e
        cmp #$70
        bne loc_1365
        lda $1812,y
        sta $1614,x
        clc
        adc $1611,x
        tay
        lda $17ce,y
        bmi loc_1370

loc_1365:
        clc
        adc $15f1,x
        sta $162c,x
        lda #$00
        beq loc_1377

loc_1370:
        and #$7f
        sta $162c,x
        lda #$01

loc_1377:
        sta $15ad,x
        lda $1812,y
        sta $15f4,x
        lda $162c,x
        tay
        lda $1636,y
        sta $1617,x
        lda $1696,y
        sta $161a,x
        lda $15a7,x
        beq loc_139b
        dec $15a7,x
        jmp loc_139e

loc_139b:
        inc $1614,x

loc_139e:
        lda $15aa,x
        bne loc_13fd
        ldy $15ff,x
        lda $170f,y
        sta $160b,x
        inc $15a4,x
        lda $170e,y
        pha
        and #$80
        sta $15f7,x
        pla
        and #$7f
        cmp $15a4,x
        bcs loc_13d1
        lda $1711,y
        cmp #$ff
        beq loc_13d1
        sta $15ff,x
        lda #$00
        sta $15a4,x
        beq loc_139e

loc_13d1:
        lda $15f7,x
        beq loc_13eb
        lda $15d9,x
        sec
        sbc $160b,x
        sta $15d9,x
        lda $15dc,x
        sbc #$00
        sta $15dc,x
        jmp loc_13fd

loc_13eb:
        lda $15d9,x
        clc
        adc $160b,x
        sta $15d9,x
        lda $15dc,x
        adc #$00
        sta $15dc,x

loc_13fd:
        lda $15d3,x
        beq loc_1452
        ldy $15d0,x
        lda $1729,y
        and #$08
        beq loc_1415

loc_140c:
        ldy $15df,x
        lda $16f7,y
        jmp loc_1442

loc_1415:
        lda $172a,y
        and #$80
        bne loc_140c
        ldy $15df,x
        lda $16fa,y
        cmp $15c7,x
        bcs loc_143f
        iny
        lda $16fa,y
        cmp $15c7,x
        bcs loc_143f
        iny
        lda $16fa,y
        cmp $15c7,x
        bcs loc_143f
        lda $16fb,y
        jmp loc_144c

loc_143f:
        lda $16f7,y

loc_1442:
        sta $15fb
        lda $15fa
        clc
        adc $15fb

loc_144c:
        sta $15fa
        sta $d416

loc_1452:
        lda $15d6,x
        beq loc_1459
        bne loc_14ca

loc_1459:
        lda $1623,x
        bne loc_1461

loc_145e:
        jmp loc_150b

loc_1461:
        dec $1608,x
        bpl loc_145e
        inc $1608,x
        dec $15fc,x
        bmi loc_149f
        lda $160e,x
        bmi loc_1489
        lda $1617,x
        clc
        adc $161d,x
        sta $1617,x
        lda $161a,x
        adc $1620,x
        sta $161a,x
        jmp loc_150b

loc_1489:
        lda $1617,x
        sec
        sbc $161d,x
        sta $1617,x
        lda $161a,x
        sbc $1620,x
        sta $161a,x
        jmp loc_150b

loc_149f:
        lda $160e,x
        eor #$80
        sta $160e,x
        lda $1623,x
        sta $15fc,x
        lda $1626,x
        beq loc_1459
        dec $1626,x
        lda $161d,x
        clc
        adc $1629,x
        sta $161d,x
        lda $1620,x
        adc #$00
        sta $1620,x
        jmp loc_1459

loc_14ca:
        lda $15ad,x
        bne loc_150b
        lda $15d6,x
        cmp #$01
        bne loc_14f2
        lda $1602,x
        clc
        adc $15e5,x
        sta $1602,x
        sta $1617,x
        lda $1605,x
        adc $15e8,x
        sta $1605,x
        sta $161a,x
        jmp loc_150b

loc_14f2:
        lda $1602,x
        sec
        sbc $15e5,x
        sta $1602,x
        sta $1617,x
        lda $1605,x
        sbc $15e8,x
        sta $1605,x
        sta $161a,x

loc_150b:
        ldy dat_1009,x
        lda $1617,x
        sta $d400,y
        lda $161a,x
        sta $d401,y
        lda $15d9,x
        sta $d402,y
        lda $15b6,x
        sta $d406,y
        lda $15dc,x
        sta $d403,y
        lda $15b3,x
        sta $d405,y
        lda $15f4,x
        and $15eb,x
        sta $d404,y
        dex
        bmi loc_1541
        jmp loc_102b

loc_1541:
        lda $15bc
        sta $d418
        rts

loc_1548:
        lda #$00
        tay
        ldx #$17

loc_154d:
        sta $d400,x
        dex
        bpl loc_154d
        inx

loc_1554:
        sta $15a1,x
        inx
        cpx #$8e
        bne loc_1554
        sty $15bf
        iny
        sty dat_159b
        sty $159c
        sty $159d
        dey

loc_156a:
        lda $162f,y
        sta $15ca,y
        iny
        cpy #$06
        bne loc_156a
        lda #$1f
        sta $d418
        sta $15bc
        pha
        and #$0f
        sta $15bd
        pla
        and #$f0
        sta $15be
        lda $1027
        sta $15c0
        lda #$08
        sta $d404
        sta $d40b
        sta $d412
        rts

// --- Region $2da0-$2fb0 ---
.pc = $2da0 "main_2da0"

main_2da0:
        sei
        ldx #$08
        stx $0286
        jsr $e544
        jsr sub_1000
        ldx #$00
        stx $11
        stx $04
        stx $e0
        stx $e3
        stx $e7
        stx $e9
        stx $ea
        txa

loc_2dbd:
        sta chr_3800,x
        sta $3900,x
        sta spr_3a00,x
        sta $3b00,x
        sta $3c00,x
        sta $3c08,x
        inx
        bne loc_2dbd
        ldx #$00

loc_2dd4:
        lda #$01
        sta $d9e0,x
        sta $daa8,x
        lda #$0f
        sta $da58,x
        lda #$09
        sta $daf8,x
        sta $db20,x
        sta $db70,x
        sta $db98,x
        lda #$a0
        sta $06f8,x
        sta $0720,x
        sta $06a8,x
        sta $0770,x
        sta $0798,x
        inx
        cpx #$50
        bne loc_2dd4
        ldx #$ff
        ldy #$00

loc_2e09:
        inx
        txa
        sta $0748,y
        inx
        txa
        sta $0770,y
        inx
        txa
        sta $0798,y
        inx
        txa
        sta $07c0,y
        iny
        cpy #$28
        bne loc_2e09
        ldx #$00
        ldy #$00

loc_2e26:
        lda chr_2fb0,x
        and #$3f
        sta $05e0,y
        eor #$40
        sta $05e1,y
        eor #$c0
        sta $0608,y
        eor #$40
        sta $0609,y
        iny
        iny
        inx
        cpx #$14
        bne loc_2e26
        lda #$1b
        sta $06f4
        lda #$5b
        sta $06f5
        lda #$9b
        sta $06f6
        lda #$db
        sta $06f7
        lda #$00
        sta $d020
        sta $d021
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        sta $d019
        ldx #$8c
        ldy #$2e
        stx $0314
        sty $0315
        lda #$c1

loc_2e79:
        lda $d011
        bmi loc_2e79

loc_2e7e:
        lda $d011
        bpl loc_2e7e
        lda #$1b
        sta $d011
        cli

loc_2e89:
        jmp loc_2e89

irq_2e8c:
        inc $d019
        ldx #$30

loc_2e91:
        cpx $d012
        bne loc_2e91
.label smc_2e97 = * + 1
        lda #$d8                                    // !SMC: modified by $3002
        sta $d016
        lda #$18
        sta $d018
        lda #$0f                                    // !SMC: modified by $2e6e, $2f9d
        ldx #$0c
        ldy #$0b
        sta $d021
        stx $d022
        sty $d023
        jsr sub_33f6
        jsr sub_1003
        lda #$90
        sta $d012
        ldx #$c7
        ldy #$2e
        stx $0314
        sty $0315
        jmp $ea7e

irq_2ec7:
        inc $d019
        ldx #$92

loc_2ecc:
        cpx $d012
        bne loc_2ecc
        ldx #$05
        jsr sub_2fac
        lda #$00
        sta $d021
        lda #$12
        sta $d018
        lda #$c8
        sta $d016
        lda #$a2
        sta $d012
        ldx #$f7
        ldy #$2e
        stx $0314
        sty $0315
        jmp $ea7e

irq_2ef7:
        inc $d019
        ldx #$a2

loc_2efc:
        cpx $d012
        bne loc_2efc
        lda $e8
        ora #$c0
        sta $d016
        ldx #$00

loc_2f0a:
        lda $2fc4,x
        ldy $2fcc,x

loc_2f10:
        dey
        bne loc_2f10
        sta $d020
        sta $d021
        inx
        cpx #$08
        bne loc_2f0a
        lda #$b2
        sta $d012
        ldx #$30
        ldy #$2f
        stx $0314
        sty $0315
        jmp $ea7e

irq_2f30:
        inc $d019
        ldx #$bb

loc_2f35:
        cpx $d012
        bne loc_2f35
        lda #$c8
        sta $d016
        ldx #$00

loc_2f41:
        lda $2fd4,x
        ldy $2fdc,x

loc_2f47:
        dey
        bne loc_2f47
        sta $d020
        sta $d021
        inx
        cpx #$07
        bne loc_2f41
        lda #$c3
        sta $d012
        ldx #$67
        ldy #$2f
        stx $0314
        sty $0315
        jmp $ea7e

irq_2f67:
        inc $d019
        ldx #$ca

loc_2f6c:
        cpx $d012
        bne loc_2f6c
        ldx #$07
        jsr sub_2fac
        lda #$1e
        sta $d018
        lda #$d8
        sta $d016
.label smc_2f81 = * + 1
        ldx #$03                                    // !SMC: modified by $313a
.label smc_2f83 = * + 1
        ldy #$02                                    // !SMC: modified by $3140
        stx $d022
        sty $d023
        jsr sub_2ff8
        jsr sub_305a
        lda $dc01
        cmp #$ef
        beq loc_2fa9
        lda #$00
        sta $d012
        ldx #$8c
        ldy #$2e
        stx $0314
        sty $0315
        jmp $ea7e

loc_2fa9:
        jmp loc_3469
// Referenced by: jsr from $2ed3, $2f73; branch from $2fad

sub_2fac:
        dex
        bne sub_2fac
        rts

chr_2fb0:
        // === Charset data (1 bytes, $2fb0-$2fb0) ===
        .byte $20                                   // char 0 (partial)

// --- Region $2ff8-$30ad ---
.pc = $2ff8 "sub_2ff8"

// Referenced by: jsr from $2f8a
sub_2ff8: {
        inc $10
        lda $10
        and #$7f
        tax
        lda $2b98,x
        sta smc_2e97                                // SMC: modifies $2e97
        lda $2c98,x
        tax
        ldy #$00
loop:
        lda $26f8,x
        sta $0400,y
        lda $275a,x
        sta $0428,y
        lda $27bc,x
        sta $0450,y
        lda $281e,x
        sta $0478,y
        lda $2880,x
        sta $04a0,y
        lda $28e2,x
        sta $04c8,y
        lda $2944,x
        sta $04f0,y
        lda $29a6,x
        sta $0518,y
        lda $2a08,x
        sta $0540,y
        lda $2a6a,x
        sta $0568,y
        lda $2acc,x
        sta $0590,y
        lda $2b2e,x
        sta $05b8,y
        inx
        iny
        cpy #$28
        bne loop
        rts
}
// Referenced by: jsr from $2f8d; jmp from $3067

sub_305a:
        ldx $11
        lda scr_30ae,x
        cmp #$ff
        bne loc_306a
        lda #$06
        sta $11
        jmp sub_305a

loc_306a:
        cmp #$01
        beq loc_308f
        cmp #$02
        beq loc_3092
        cmp #$03
        beq loc_3095
        cmp #$04
        beq loc_309c
        cmp #$05
        beq loc_309f
        cmp #$06
        beq loc_30a2
        cmp #$07
        beq loc_30a5
        cmp #$08
        beq loc_30a8
        cmp #$09
        beq loc_30ab
        rts

loc_308f:
        jmp loc_3125

loc_3092:
        jmp loc_3146

loc_3095:
        lda #$00
        sta $05
        jmp loc_3189

loc_309c:
        jmp loc_31b1

loc_309f:
        jmp loc_31c4

loc_30a2:
        jmp loc_31e0

loc_30a5:
        jmp loc_31ef

loc_30a8:
        jmp loc_3225

loc_30ab:
        jmp loc_3209

// --- Region $3125-$32c2 ---
.pc = $3125 "loc_3125"

loc_3125:
        jsr sub_33ee
        inc $11
        ldx $11
        ldy scr_30ae,x
        stx $11
        cmp #$22
        beq loc_313a
        cmp #$23
        beq loc_3140
        rts

loc_313a:
        sty smc_2f81                                // SMC: modifies $2f81
        jmp loc_3143

loc_3140:
        sty smc_2f83                                // SMC: modifies $2f83

loc_3143:
        inc $11
        rts

loc_3146:
        jsr sub_33ee
        cmp #$02
        bcs loc_317b

smc_314d:
        sta $02                                     // !SMC: modified by $3180
        lda #$38

smc_3151:
        sta $03                                     // !SMC: modified by $3183
        ldy #$00
        tya

loc_3156:
        sta ($02),y
        iny
        iny
        cpy #$40
        bne loc_3156
        lda $02
        clc
        adc #$40
        sta $02
        beq loc_316b
        cmp #$01
        bne loc_317e

loc_316b:
        inc $03
        lda $03
        cmp #$3d
        bne loc_317e

scr_3173:
        // === Screen RAM (8 bytes, $3173-$317a) ===
        .encoding "screencode_mixed"
        .byte $a9,$85,$8d,$4d                       // scrcode: ....
        .text "1"
        .byte $8d,$51                               // scrcode: ..
        .text "1"
        .encoding "petscii_upper"

loc_317b:
        inc $11
        rts

loc_317e:
        lda #$24
        sta smc_314d                                // SMC: modifies $314d
        sta smc_3151                                // SMC: modifies $3151
        dec $11
        rts

loc_3189:
        ldy #$00

loc_318b:
        ldx $04
        lda txt_35a2,x
        beq loc_31a4
        cmp #$1e
        beq loc_31a9
        sta $36a2,y
        inc $04
        inc $05
        iny
        cpy #$0b
        beq loc_31a4
        bne loc_318b

loc_31a4:
        inc $04
        inc $11
        rts

loc_31a9:
        lda #$00
        sta $04
        rts

scr_31ae:
        // === Screen RAM (3 bytes, $31ae-$31b0) ===
        .encoding "screencode_mixed"
        .byte $4c,$a6                               // scrcode: ..
        .text "1"
        .encoding "petscii_upper"

loc_31b1:
        lda $05
        sta $08
        asl $05
        asl $05
        lda #$28
        sec
        sbc $05
        lsr
        sta $05
        inc $11
        rts

loc_31c4:
        lda #$e0
        sta $06
        lda #$37
        sta $07

loc_31cc:
        lda #$20
        clc
        adc $06
        sta $06
        lda $07
        adc #$00
        sta $07
        dec $05
        bpl loc_31cc
        inc $11
        rts

loc_31e0:
        jsr sub_33ee
        cmp #$02
        bcs loc_31ec
        clc
        adc $06
        sta $06

loc_31ec:
        inc $11
        rts

loc_31ef:
        jsr sub_33ee
        cmp #$22
        beq loc_31fd
        cmp #$23
        beq loc_3202
        inc $11
        rts

loc_31fd:
        lda #$55
        jmp loc_3204

loc_3202:
        lda #$aa

loc_3204:
        sta $09
        inc $11
        rts

loc_3209:
        lda $e7
        eor #$01
        sta $e7
        beq loc_3218
        ldx #$10
        ldy #$30
        jmp loc_321c

loc_3218:
        ldx #$30
        ldy #$10

loc_321c:
        stx smc_33e2                                // SMC: modifies $33e2
        sty smc_33d2                                // SMC: modifies $33d2
        inc $11
        rts

loc_3225:
        lda $e0
        beq loc_327c
        cmp #$01
        beq loc_327f
        cmp #$02
        beq loc_3282
        cmp #$03
        beq loc_3285
        cmp #$04
        beq loc_328f
        cmp #$05
        beq loc_327c
        cmp #$06
        beq loc_327f
        cmp #$07
        beq loc_3282
        cmp #$08
        beq loc_3285
        cmp #$09
        beq loc_3292
        cmp #$0a
        beq loc_327c
        cmp #$0b
        beq loc_327f
        cmp #$0c
        beq loc_3282
        cmp #$0d
        beq loc_3285
        cmp #$0e
        beq loc_328f
        cmp #$0f
        beq loc_327c
        cmp #$10
        beq loc_327f
        cmp #$11
        beq loc_3282
        cmp #$12
        beq loc_3285
        cmp #$13
        beq loc_3292
        cmp #$14
        beq loc_3288
        inc $11
        rts

loc_327c:
        jmp loc_3295

loc_327f:
        jmp loc_32ea

loc_3282:
        jmp loc_3383

loc_3285:
        jmp loc_33c1

loc_3288:
        lda #$00
        sta $e0
        jmp loc_3225

loc_328f:
        jmp loc_33ce

loc_3292:
        jmp loc_33de

loc_3295:
        ldx $e3
        lda $36a2,x
        and #$3f
        sta $e1
        ldy #$00
        sty $e2
        asl $e1
        rol $e2
        asl $e1
        rol $e2
        asl $e1
        rol $e2
        ldx #$00
        lda scr_32e6,x
        sta smc_32ba                                // SMC: modifies $32ba
        lda $e2
        clc
.label smc_32ba = * + 1
        adc #$08                                    // !SMC: modified by $32b3
        sta $e2
        cpx #$03
        bne loc_32e0

scr_32c1:
        // === Screen RAM (2 bytes, $32c1-$32c2) ===
        .byte $a5,$e3                               // scrcode: ..

// --- Region $32e0-$34b7 ---
.pc = $32e0 "loc_32e0"

loc_32e0:
        inc $32af
        inc $e0
        rts

scr_32e6:
        // === Screen RAM (4 bytes, $32e6-$32e9) ===
        .encoding "screencode_mixed"
        .text "hljn"
        .encoding "petscii_upper"

loc_32ea:
.label smc_32eb = * + 1
        ldy #$00                                    // !SMC: modified by $337d
        lda ($e1),y
        asl
        sta $e4
        bcc loc_32fc
        lda $09
        and #$c0
        sta $36ac,y
        lda $e4

loc_32fc:
        asl
        sta $e4
        bcc loc_330d
        lda $09
        and #$30
        ora $36ac,y
        sta $36ac,y
        lda $e4

loc_330d:
        asl
        sta $e4
        bcc loc_331e
        lda $09
        and #$0c
        ora $36ac,y
        sta $36ac,y
        lda $e4

loc_331e:
        asl
        sta $e4
        bcc loc_332f
        lda $09
        and #$03
        ora $36ac,y
        sta $36ac,y
        lda $e4

loc_332f:
        asl
        sta $e4
        bcc loc_3340
        lda $09
        and #$c0
        ora $36b4,y
        sta $36b4,y
        lda $e4

loc_3340:
        asl
        sta $e4
        bcc loc_3351
        lda $09
        and #$30
        ora $36b4,y
        sta $36b4,y
        lda $e4

loc_3351:
        asl
        sta $e4
        bcc loc_3360
        lda $09
        and #$0c
        ora $36b4,y
        sta $36b4,y

loc_3360:
        lda $e4
        asl
        sta $e4
        bcc loc_3371
        lda $09
        and #$03
        ora $36b4,y
        sta $36b4,y

loc_3371:
        inc smc_32eb
        lda smc_32eb
        cmp #$08
        bne loc_3382
        lda #$00
        sta smc_32eb                                // SMC: modifies $32eb
        inc $e0

loc_3382:
        rts

loc_3383:
        ldy #$00
        ldx #$00

loc_3387:
        lda $36ac,x
        sta ($06),y
        inx
        iny
        iny
        cpy #$10
        bne loc_3387
        lda $06
        sta $e5
        lda $07
        sta $e6
        lda $06
        clc
        adc #$20
        sta $06
        lda $07
        adc #$00
        sta $07
        ldy #$00

loc_33aa:
        lda $36ac,x
        sta ($06),y
        inx
        iny
        iny
        cpy #$10
        bne loc_33aa
        lda $e5
        sta $06
        lda $e6
        sta $07
        inc $e0
        rts

loc_33c1:
        ldx #$0f
        lda #$00

loc_33c5:
        sta $36ac,x
        dex
        bpl loc_33c5
        inc $e0
        rts

loc_33ce:
        lda $06
        clc
.label smc_33d2 = * + 1
        adc #$10                                    // !SMC: modified by $321f
        sta $06
        lda $07
        adc #$00
        sta $07
        inc $e0
        rts

loc_33de:
        lda $06
        clc
.label smc_33e2 = * + 1
        adc #$30                                    // !SMC: modified by $321c
        sta $06
        lda $07
        adc #$00
        sta $07
        inc $e0
        rts
// Referenced by: jsr from $3125, $3146, $31e0, $31ef

sub_33ee:
        inc $11
        ldx $11
        lda scr_30ae,x
        rts
// Referenced by: jsr from $2eaf

sub_33f6:
        lda $e8
        sec
.label smc_33fa = * + 1
        sbc #$02                                    // !SMC: modified by $3445
        and #$07
        sta $e8
        bcc loc_3402
        rts

loc_3402:
        ldx #$00

loc_3404:
        lda $0659,x
        sta $0658,x
        lda $0681,x
        sta $0680,x
        inx
        cpx #$28
        bne loc_3404
        lda $e9
        eor #$01
        sta $e9
        beq loc_344e

loc_341d:
.label smc_341e = * + 1
.label smc_341f = * + 2
        lda txt_2500                                // !SMC: modified by $3460, $3463
        beq loc_345c
        and #$3f
        sta $067f
        ora #$80
        sta $06a7
        inc smc_341e
        bne loc_3434
        inc smc_341f

loc_3434:
        inc $ea
        lda $ea
        and #$07
        sta $ea
        beq loc_3443
        cmp #$04
        beq loc_3449
        rts

loc_3443:
        lda #$02

loc_3445:
        sta smc_33fa                                // SMC: modifies $33fa
        rts

loc_3449:
        lda #$03
        jmp loc_3445

loc_344e:
        lda $067e
        ora #$40
        sta $067f
        ora #$80
        sta $06a7
        rts

loc_345c:
        ldx #$00
        ldy #$25
        stx smc_341e                                // SMC: modifies $341e
        sty smc_341f                                // SMC: modifies $341f
        jmp loc_341d

loc_3469:
        lda #$00
        sta $d01a
        sta $dc0d
        sei
        lda #$31
        ldx #$ea
        sta $0314
        stx $0315
        cli
        jsr $fda3
        jsr $e518
        lda #$00
        sta $0286
        jsr $e544
        lda #$00
        sta $d020
        sta $d021
        sta $c6
        lda #$ff
        sta $dc00
        sta $dc01
        ldx #$00

loc_349f:
        lda scr_34b7,x
        sta $0400,x
        inx
        bne loc_349f
        ldx #$00
        lda #$01

loc_34ac:
        sta $d800,x
        inx
        cpx #$c8
        bne loc_34ac
        jmp $04c8

scr_34b7:
        // === Screen RAM (1 bytes, $34b7-$34b7) ===
        .encoding "screencode_mixed"
        .text "i"
        .encoding "petscii_upper"

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

// --- Region $0800-$08de ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (223 bytes, $0800-$08de) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 1 @+1
        .byte $00,$00,$ff,$ff,$fc,$fc,$fd,$fd       // char 2 @+2
        .byte $00,$00,$0f,$3f,$7e,$7c,$fc,$fc       // char 3 @+3
        .byte $00,$00,$ff,$ff,$fc,$fc,$fc,$fc       // char 4 @+4
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 5 @+5
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 6 @+6
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 7 @+7
        .byte $00,$00,$fc,$fc,$fc,$fc,$ff,$ff       // char 8 @+8
        .byte $00,$00,$7f,$7f,$07,$07,$07,$07       // char 9 @+9
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 10 @+10
        .byte $00,$00,$fc,$fc,$fc,$fc,$ff,$ff       // char 11 @+11
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 12 @+12
        .byte $00,$00,$0e,$3f,$7f,$7b,$fd,$fc       // char 13 @+13
        .byte $00,$00,$ff,$ff,$fc,$fc,$fc,$fc       // char 14 @+14
        .byte $00,$00,$0f,$3f,$7e,$7c,$fc,$fc       // char 15 @+15
        .byte $00,$00,$ff,$ff,$fc,$fc,$fd,$fd       // char 16 @+16
        .byte $00,$00,$0f,$3f,$7e,$7c,$fc,$fc       // char 17 @+17
        .byte $00,$00,$ff,$ff,$fc,$fc,$fd,$fd       // char 18 @+18
        .byte $00,$00,$1f,$7f,$fc,$fc,$7f,$1f       // char 19 @+19
        .byte $00,$00,$ff,$ff,$00,$00,$00,$00       // char 20 @+20
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 21 @+21
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$7c,$7c       // char 22 @+22
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fd       // char 23 @+23
        .byte $00,$00,$fc,$fc,$7c,$7e,$3f,$3f       // char 24 @+24
        .byte $fc,$fc,$fc,$fc,$fc,$fe,$7f,$1f       // char 25 @+25
        .byte $00,$00,$ff,$ff,$00,$00,$01,$07       // char 26 @+26
        .byte $f1,$8a,$8a,$f2,$8a,$89               // char 27 (partial)

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

// --- Region $0908-$0ade ---
.pc = $0908 "dat_0908"

dat_0908:
        .byte $07,$07,$07,$07,$07,$07,$07,$07       // char 33 '!'
        .byte $fc,$fc,$fc,$fc,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 35 '#'
        .byte $00,$01,$1f,$7f,$fd,$fd,$7f,$1f       // char 36 '$'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 37 '%'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 38 '&'
        .byte $07,$07,$07,$07,$07,$00,$00,$00       // char 39 '''
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 40 '('
        .byte $e0,$f8,$7c                           // char 41 (partial)

txt_094b:
        .byte $3c,$3e,$3e,$3e,$3e                   // char 41 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$00,$00,$07,$07,$07,$3f,$3f       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 44 ','
        .byte $00,$00,$00,$00,$00,$00,$3f,$3f       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 46 '.'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 47 '/'
        .byte $00,$00,$0f,$3f,$7e,$7e,$ff,$fd       // char 48 '0'
        .byte $00,$00,$07,$0f,$1f,$07,$07,$07       // char 49 '1'
        .byte $00,$00,$ff,$ff,$00,$00,$00,$03       // char 50 '2'
        .byte $00,$00,$0f,$0f,$00,$00,$3f,$3f       // char 51 '3'
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$ff,$ff       // char 52 '4'
        .byte $00,$00,$ff,$ff,$fc,$fc,$ff,$7f       // char 53 '5'
        .byte $00,$00,$0f,$3f,$7e,$7c,$ff,$ff       // char 54 '6'
        .byte $00,$00,$ff,$ff,$00,$00,$00,$00       // char 55 '7'
        .byte $00,$00,$1f,$7f,$fc,$fc,$7d,$7d       // char 56 '8'
        .byte $00,$00,$3f,$7f,$fe,$fc,$ff,$7f       // char 57 '9'
        .byte $00,$00,$00,$00,$07,$07,$00,$00       // char 58 ':'
        .byte $00,$00,$00,$00,$07,$07,$00,$00       // char 59 ';'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 60 '<'
        .byte $00,$00,$00,$00,$3f,$3f,$00,$00       // char 61 '='
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 62 '>'
        .byte $0f,$1f,$18,$00,$01,$03,$03,$07       // char 63 '?'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 64 '@'
        .byte $00,$00,$e0,$f8,$fc,$7c,$fe,$fe       // char 65 'A'
        .byte $00,$00,$e0,$f8,$fc,$7c,$fc,$fc       // char 66 'B'
        .byte $00,$00,$e0,$e0,$00,$00,$00,$00       // char 67 'C'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 68 'D'
        .byte $00,$00,$e0,$e0,$00,$00,$f8,$f8       // char 69 'E'
        .byte $00,$00,$fe,$fe,$00,$00,$f8,$f8       // char 70 'F'
        .byte $00,$00,$e0,$e0,$00,$00,$fe,$fe       // char 71 'G'

spr_0a40:
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$fe,$fe       // char 72 'H'
        .byte $00,$00,$fc,$fc,$c0,$c0,$c0,$c0       // char 73 'I'
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e       // char 74 'J'
        .byte $7e,$7e,$7e,$7e,$7c,$fc,$f8,$f8       // char 75 'K'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 76 'L'
        .byte $00,$00,$e0,$f8,$fc,$bc,$7e,$7e       // char 77 'M'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 78 'N'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 79 'O'
        .byte $00,$00,$f8,$fc,$fe,$7e,$fe,$fc       // char 80 'P'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$3e       // char 81 'Q'
        .byte $00,$00,$f8,$fc,$fe,$7e,$fc,$fc       // char 82 'R'
        .byte $00,$00,$fe,$fe,$00,$00,$e0,$f8       // char 83 'S'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 84 'T'
        .byte $00,$00,$7e,$7e,$7e,$7e,$7e,$7e       // char 85 'U'
        .byte $00,$00,$7e,$7e,$7e,$7e,$7c,$7c       // char 86 'V'
        .byte $00,$00,$7e,$7e,$7e,$7e,$7e,$7e       // char 87 'W'
        .byte $7e,$7e,$7e,$7e,$7c,$fc,$f8,$f8       // char 88 'X'
        .byte $00,$00,$7e,$7e,$7e,$7e,$fe,$fe       // char 89 'Y'
        .byte $00,$00,$f8,$fc,$3c,$78,$e0,$80       // char 90 'Z'
        .byte $cf                                   // char 91 (partial)

txt_0ad9:
        .byte $22,$22,$22,$22,$c2                   // char 91 (partial)

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

// --- Region $0b08-$0cde ---
.pc = $0b08 "dat_0b08"

dat_0b08:
        .byte $c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0       // char 97 'a'
        .byte $7e,$7e,$7e,$7e,$00,$00,$00,$00       // char 98 'b'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 99 'c'
        .byte $00,$80,$fe,$fe,$80,$80,$e0,$f8       // char 100 'd'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 101 'e'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 102 'f'
        .byte $c0,$c0,$c0,$80,$00,$00,$00,$00       // char 103 'g'
        .byte $0e,$3e,$7c,$78,$f8,$f8,$f8,$f8       // char 104 'h'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 105 'i'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 106 'j'
        .byte $00,$00,$00,$c0,$c0,$c0,$f8,$f8       // char 107 'k'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 108 'l'
        .byte $00,$00,$00,$00,$00,$00,$f8,$f8       // char 109 'm'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 110 'n'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 111 'o'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$fe       // char 112 'p'
        .byte $00,$00,$c0,$c0,$c0,$c0,$c0,$c0       // char 113 'q'
        .byte $00,$00,$f0,$fc,$fe,$7e,$f8,$e0       // char 114 'r'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 115 's'
        .byte $00,$00,$00,$00,$fc,$fc,$fe,$fe       // char 116 't'
        .byte $00,$00,$fe,$fe,$00,$00,$e0,$f8       // char 117 'u'
        .byte $00,$00,$e0,$e0,$00,$00,$f0,$fc       // char 118 'v'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 119 'w'
        .byte $00,$00,$f0,$fc,$7e,$7e,$fc,$fc       // char 120 'x'
        .byte $00,$00,$fe,$fe,$fe,$7e,$7e,$7e       // char 121 'y'
        .byte $00,$00,$00,$00,$c0,$c0,$00,$00       // char 122 'z'
        .byte $00,$00,$00,$00,$c0,$c0,$00,$00       // char 123 '{'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 124 '|'
        .byte $00,$00,$00,$00,$f8,$f8,$00,$00       // char 125 '}'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 126 '~'
        .byte $f0,$f8,$38,$78,$f0,$e0,$c0,$c0       // char 127

scr_0c00:
        // === Screen RAM (223 bytes, $0c00-$0cde) ===
        .encoding "screencode_mixed"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .fill 10, $fc
        .byte $fd,$fd,$fd,$fd,$fc,$fc,$fc,$fe,$7f,$7f // scrcode: ..........
        .text "?o@@"
        .byte $fc,$fc,$fd,$fd,$fd,$fd,$fc,$fc,$fc,$fe,$7f,$7f // scrcode: ............
        .text "?o@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fe // scrcode: ..........
        .byte $7f,$7f                               // scrcode: ..
        .text "?o@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // scrcode: ........
        .text "gg"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@@@"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fe // scrcode: ..........
        .byte $7f,$7f                               // scrcode: ..
        .text "?o@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc // scrcode: ................
        .byte $fc,$fe,$7f,$7f                       // scrcode: ....
        .text "?o@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fe // scrcode: ..........
        .byte $7f,$7f                               // scrcode: ..
        .text "?o@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // scrcode: ........
        .text "@@"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@@@@@@@@@"
        .byte $fc,$fe,$7f,$7f                       // scrcode: ....
        .text "?o@@>?"
        .byte $1f                                   // scrcode: .
        .text "ogc@@"
        .byte $fb,$ff,$7f,$7f                       // scrcode: ....
        .text ">l@@"
        .byte $7e,$7c,$fc,$fc,$fc,$fc,$fc,$fc       // scrcode: ........
        .text "@@"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@"
        .byte $1e,$7f,$ff,$ff,$7f                   // scrcode: .....
        .text "?@@"
        .byte $be                                   // scrcode: .
        .encoding "petscii_upper"

txt_0cd9:
        .text "  8 !"
        .byte $00                                   // string terminator

// --- Region $0d0a-$0d27 ---
.pc = $0d0a "dat_0d0a"

dat_0d0a:
        .encoding "screencode_mixed"
        .text "gggg@@@@@@@@@@@@@@@@@@aa"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "a"
        .encoding "petscii_upper"

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

// --- Region $0d48-$0ede ---
.pc = $0d48 "dat_0d48"

dat_0d48:
        .encoding "screencode_mixed"
        .text ">>>><"
        .byte $7c,$f8,$e0                           // scrcode: ...
        .text "@@@@@@@@ggg@@@@@@@ggggoo@@@@@@@@"
        .text "@@gggg@@@@@@@@@@"
        .byte $fc,$fe,$7f,$7f                       // scrcode: ....
        .text "?o@@gg"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@"
        .byte $1f,$7f,$ff,$ff,$ff,$ff               // scrcode: ......
        .text "@@"
        .text "@@"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@@@@@@@@@@@"
        .byte $ff,$ff,$ff,$ff                       // scrcode: ....
        .text "@@"
        .byte $fc,$fe,$ff,$ff,$7f,$1f               // scrcode: ......
        .text "@@@@@@@@@@"
        .byte $fc,$fc,$ff,$ff,$7f,$1f               // scrcode: ......
        .text "@@@@@@@@@@@@gggg@@@@ggggoo@@@@@@@@"
        .text "??@@@@@@@@@@@@@@@@gggg@@"
        .encoding "petscii_upper"

spr_0e00:
        .encoding "screencode_mixed"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .byte $7e,$7e,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .byte $7e,$7e,$fe,$fe,$fe,$fc               // scrcode: ......
        .text "@@@@"
        .byte $fe,$fe,$fe,$fe                       // scrcode: ....
        .text "@@"
        .byte $7e,$7e,$fe,$fe,$fe,$fc               // scrcode: ......
        .text "@@@@"
        .byte $fe,$fe,$fe,$fe                       // scrcode: ....
        .text "@@"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .byte $7e,$7e,$fe,$fe,$fe,$fc               // scrcode: ......
        .text "@@"
        .byte $7e,$7e,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .byte $c0,$c0,$fe,$fe,$fe,$fe               // scrcode: ......
        .text "@@"
        .byte $7e,$fe,$fc,$fc,$f8,$e0               // scrcode: ......
        .text "@@"
        .byte $fc,$7c,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .text "@@"
        .byte $fe,$fe,$fe,$fe                       // scrcode: ....
        .text "@@"
        .byte $7e,$7e,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .byte $7e,$7e,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .byte $7e,$fe,$fe,$fc,$f8,$e0               // scrcode: ......
        .text "@@@@@@@@@@"
        .byte $de,$fe,$7e,$fc,$fe,$e6               // scrcode: ......
        .text "@@"
        .byte $fe,$7e,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .byte $fc,$7c,$fe,$fe,$fc,$f0               // scrcode: ......
        .text "@@"
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$fe,$fe,$fc,$f8,$e0 // scrcode: ..............
        .text "@@"
        .byte $f8,$f8,$f0,$e0,$c0,$80               // scrcode: ......
        .text "@@"
        .byte $be,$fe,$fe,$fc,$f8,$60               // scrcode: ......
        .text "@@"
        .byte $fc,$7c,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@"
        .byte $7e,$fe,$fc,$fc,$f8,$e0               // scrcode: ......
        .text "@@@@"
        .byte $fe,$fe,$fe,$fe                       // scrcode: ....
        .text "@@"
        .byte $48,$48,$90,$90                       // scrcode: ....
        .text "@ "
        .encoding "petscii_upper"

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

// --- Region $0f0a-$0f26 ---
.pc = $0f0a "dat_0f0a"

dat_0f0a:
        .encoding "screencode_mixed"
        .byte $c0,$c0,$c0,$c0                       // scrcode: ....
        .text "@@@@@@@@@@@@@@@@@@"
        .byte $fc,$bc,$fe,$fe,$fc,$f0,$80           // scrcode: .......
        .encoding "petscii_upper"

// --- Region $0f40-$0fff ---
.pc = $0f40 "dat_0f40"

dat_0f40:
        .encoding "screencode_mixed"
        .byte $f8,$f8,$f8,$f8,$78,$7c               // scrcode: ......
        .text ">n@@@@@@@@@@@@@@@@"
        .byte $c0,$c0,$c0                           // scrcode: ...
        .text "@@@@@@@"
        .byte $c0,$c0,$c0,$c0,$80                   // scrcode: .....
        .text "@"
        .fill 10, $00                               // scrcode: @@@@@@@@@@
        .byte $c0,$c0,$c0,$c0                       // scrcode: ....
        .text "@@@@@@@@@@"
        .byte $fe,$fe,$fe,$fc,$f8,$e0               // scrcode: ......
        .text "@@"
        .byte $c0,$c0,$fe,$fe,$fe,$fe               // scrcode: ......
        .text "@@"
        .byte $80                                   // scrcode: .
        .text "@"
        .byte $fe,$fe,$fe,$fe                       // scrcode: ....
        .text "@@"
        .byte $7e,$fe                               // scrcode: ..
        .byte $fc,$fc,$f8,$e0                       // scrcode: ....
        .text "@@"
        .byte $fc,$fc,$fc,$fc,$fc,$fc               // scrcode: ......
        .text "@@"
        .byte $fc,$7c,$fe,$fe,$fc,$f0               // scrcode: ......
        .text "@@"
        .byte $7c,$7e,$fe,$fe,$fc,$f0               // scrcode: ......
        .text "@@"
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e // scrcode: ..........
        .byte $fe,$fe,$fc,$f0                       // scrcode: ....
        .text "@@"
        .byte $7e,$7e,$7e,$7e,$7e,$7e               // scrcode: ......
        .text "@@@@"
        .byte $c0,$c0,$c0,$c0                       // scrcode: ....
        .text "@@@@"
        .byte $c0,$c0,$c0,$c0,$80                   // scrcode: .....
        .text "@@@@@@@@@"
        .byte $f8,$f8                               // scrcode: ..
        .fill 16, $00                               // scrcode: @@@@@@@@@@@@@@@@
        .byte $c0,$c0,$c0,$c0                       // scrcode: ....
        .text "@@"
        .encoding "petscii_upper"

// --- Region $1009-$101e ---
.pc = $1009 "dat_1009"

dat_1009:
        .byte $00,$07,$0e                           // ...

txt_100c:
        .text "(C) 1991 SCS,ISRAEL"

// --- Region $10dc-$10e3 ---
.pc = $10dc "dat_10dc"

dat_10dc:
        .byte $ee,$bf,$15,$a9,$09,$4c,$91,$15       // .....L..

// --- Region $159b-$1baf ---
.pc = $159b "dat_159b"

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

txt_16d2:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$7a,$00,$00,$00,$01,$02,$03,$8a,$70,$00,$02,$01,$01,$10 // ..z.......p.....
        .byte $30,$c1,$91,$00,$08,$00,$01,$07,$08,$c1,$01,$21,$02,$ff,$01,$20 // 0..........!... 
        .byte $03,$ff,$01,$00,$06,$ff,$0f,$10,$0d,$10,$90,$08,$00,$14,$10,$08 // ................
        .byte $00,$10,$00,$00,$00,$0f,$10,$00,$00,$01,$02,$00,$ca,$1f,$50,$26 // ..............P&
        .byte $00,$00,$07,$02,$7a,$00,$50,$00,$00,$04,$0e,$00,$c6,$0f,$50,$00 // ....z.P.......P.
        .byte $00,$01,$16,$00,$38,$0f,$50,$00,$00,$01,$02,$00,$ba,$1f,$50,$26 // ....8.P.......P&
        .byte $00,$00,$1e,$02,$6c,$0f,$50,$00,$00,$01,$25,$02,$6c,$0f,$50,$00 // ....l.P...%.l.P.
        .byte $00,$01,$2f,$04,$5f,$01,$50,$00,$00,$0c,$2c,$00,$a8,$0f,$50,$00 // ../._.P...,...P.
        .byte $00,$08,$38,$00,$a9,$0f,$50,$00,$00,$01,$3c,$00,$a8,$0f,$40,$00 // ..8...P...<...@.
        .byte $00,$08,$3c,$00,$58,$0f,$40,$00,$00,$08,$41,$00,$a9,$0f,$50,$00 // ..<.X.@...A...P.
        .byte $00,$04,$2f,$04,$6f,$02,$50,$00,$00,$0c,$e0,$19,$f0,$19,$17,$1a // ../.o.P.........
        .byte $e3,$19,$1a,$1a,$56,$1a,$72,$1a,$28,$1a,$3f,$1a,$87,$1a,$a5,$1a // ....V.r.(.?.....
        .byte $b5,$1a,$c5,$1a,$d5,$1a,$e5,$1a,$ef,$1a,$fe,$1a,$0c,$1b,$3c,$1b // ..............<.
        .byte $6a,$1b,$75,$1b,$7e,$1b,$87,$1b,$95,$1b,$00,$71,$ca,$00,$71,$00 // j.u.~......q..q.
        .byte $71,$18,$0c,$0c,$00,$00,$00,$70,$cc,$a9,$a7,$a3,$a0,$9e,$92,$71 // q......p.......q
        .byte $cc,$1c,$1a,$16,$13,$11,$05,$71,$07,$07,$04,$04,$00,$00,$70,$07 // .......q......p.
        .byte $07,$03,$03,$00,$00,$70,$ca,$0c,$71,$0c,$0c,$0c // .....p..q...

chr_1800:
        // === Charset data (944 bytes, $1800-$1baf) ===
        .byte $0c,$00,$00,$00,$00,$70,$18,$0c       // char 0 @+0
        .byte $00,$70,$00,$01,$00,$00,$70,$0c       // char 1 @+1
        .byte $00,$71,$09,$00,$81,$41,$00,$41       // char 2 @+2
        .byte $00                                   // char 3 (partial)

txt_1819:
        .byte $21,$41,$41,$41,$41,$41,$00           // char 3 (partial)
        .byte $81,$41,$40,$40,$40,$40,$10,$00       // char 4 @+4
        .byte $81                                   // char 5 (partial)

txt_1829:
        .byte $41,$40,$40,$40,$40,$40,$00           // char 5 (partial)

txt_1830:
        .byte $21,$21,$21,$21,$21,$21,$00           // char 6 (partial)

txt_1837:
        .byte $21                                   // char 6 (partial)
        .byte $21,$21,$21,$21,$21,$00,$81,$41       // char 7 @+7
        .byte $00                                   // char 8 (partial)

txt_1841:
        .byte $41,$41,$41,$41,$41,$41,$41           // char 8 (partial)
        .byte $41,$00,$21,$21,$21,$00,$01,$41       // char 9 @+9
        .byte $41,$41,$01,$41,$41,$00,$cd,$03       // char 10 @+10
        .byte $03,$d4,$03,$d2,$03,$cd,$03,$03       // char 11 @+11
        .byte $d4,$03,$d2,$03,$cd,$84,$03,$d4       // char 12 @+12
        .byte $03,$d2,$03,$03,$d6,$03,$d4,$03       // char 13 @+13
        .byte $d2,$03,$cd,$03,$d6,$03,$d4,$03       // char 14 @+14
        .byte $d2,$03,$03,$d6,$03,$d4,$03,$d2       // char 15 @+15
        .byte $03,$cd,$a2,$03,$d4,$03,$d2,$03       // char 16 @+16
        .byte $cd,$03,$03,$d4,$03,$d2,$03,$cd       // char 17 @+17
        .byte $03,$d4,$03,$d2,$03,$03,$d6,$03       // char 18 @+18
        .byte $d4,$03,$d2,$03,$cd,$03,$d6,$03       // char 19 @+19
        .byte $d4,$03,$d2,$03,$03,$d6,$03,$d4       // char 20 @+20
        .byte $03,$d2,$03,$cd,$a2,$03,$d4,$03       // char 21 @+21
        .byte $03,$d2,$03,$03,$d6,$03,$0e,$cd       // char 22 @+22
        .byte $03,$03,$d4,$03,$03,$d2,$03,$03       // char 23 @+23
        .byte $d1,$03,$03,$cd,$03,$03,$d4,$03       // char 24 @+24
        .byte $d2,$03,$cd,$03,$03,$d4,$03,$d2       // char 25 @+25
        .byte $03,$cd,$03,$d4,$03,$d2,$03,$03       // char 26 @+26
        .byte $d6,$03,$d4,$03,$d2,$03,$cd,$03       // char 27 @+27
        .byte $d6,$03,$d4,$03,$d2,$03,$03,$d6       // char 28 @+28
        .byte $03,$d4,$03,$d2,$03,$cd,$03,$cd       // char 29 @+29
        .byte $03,$03,$d4,$03,$03,$d2,$03,$03       // char 30 @+30
        .byte $d6,$03,$0e,$cd,$03,$03,$d4,$03       // char 31 @+31
        .byte $03,$d2,$03,$03,$d1,$03,$03,$cd       // char 32 ' '
        .byte $03,$03,$d4,$03,$d2,$03,$cd,$03       // char 33 '!'
        .byte $03,$d4,$03,$d2,$03,$ff,$cd,$af       // char 34 '"'
        .byte $04,$07,$d4,$07,$d2,$07,$07,$d6       // char 35 '#'
        .byte $08,$d4,$07,$d2,$07,$cd,$07,$d6       // char 36 '$'
        .byte $08,$d4,$07,$d2,$07,$07,$d6,$08       // char 37 '%'
        .byte $d4,$07,$d2,$07,$cd,$a2,$07,$d4       // char 38 '&'
        .byte $07,$d2,$07,$cd,$07,$07,$d4,$07       // char 39 '''
        .byte $d2,$07,$cd,$0a,$0b,$0c,$0c,$0d       // char 40 '('
        .byte $0b,$0c,$0a,$0d,$0b,$0c,$0c,$0d       // char 41 ')'
        .byte $0b,$0c,$0a,$a3,$0f,$cf,$a3,$10       // char 42 '*'
        .byte $cd,$a3,$10,$ca,$a2,$0f,$cc,$0f       // char 43 '+'
        .byte $cd,$a3,$0f,$cf,$a3,$10,$cd,$a3       // char 44 ','
        .byte $10,$cc,$a2,$10,$16,$cd,$07,$07       // char 45 '-'
        .byte $d4,$07,$d2,$07,$cd,$07,$07,$d4       // char 46 '.'
        .byte $07,$d2,$07,$cd,$13,$cb,$14,$c9       // char 47 '/'
        .byte $14,$14,$cd,$15,$cb,$14,$c9,$14       // char 48 '0'
        .byte $cd,$13,$15,$cb,$14,$c9,$14,$14       // char 49 '1'
        .byte $cd,$15,$cb,$14,$c9,$14,$cd,$13       // char 50 '2'
        .byte $a3,$0f,$cf,$a3,$10,$cd,$a3,$10       // char 51 '3'
        .byte $ca,$a2,$0f,$cc,$0f,$cd,$a3,$0f       // char 52 '4'
        .byte $cf,$a3,$10,$cd,$a3,$10,$cc,$a2       // char 53 '5'
        .byte $10,$16,$d9,$17,$17,$ff,$cd,$00       // char 54 '6'
        .byte $01,$02,$01,$c1,$05,$06,$09,$06       // char 55 '7'
        .byte $cd,$00,$01,$02,$01,$c1,$05,$06       // char 56 '8'
        .byte $09,$06,$c8,$11,$12,$cd,$00,$01       // char 57 '9'
        .byte $02,$01,$c1,$05,$06,$09,$06,$c8       // char 58 ':'
        .byte $11,$12,$cd,$00,$01,$02,$01,$ff       // char 59 ';'
        .byte $87,$e1,$ff,$f4,$10,$83,$c1,$05       // char 60 '<'
        .byte $87,$11,$83,$11,$87,$05,$11,$ff       // char 61 '='
        .byte $83,$c2,$29,$29,$87,$29,$24,$80       // char 62 '>'
        .byte $e3,$28,$82,$e3,$29,$83,$29,$29       // char 63 '?'
        .byte $29,$87,$2d,$8f,$29,$83,$28,$28       // char 64 '@'
        .byte $87,$2b,$83,$29,$28,$87,$26,$83       // char 65 'A'

txt_1a10:
        .byte $26,$28,$26,$24,$22,$21,$ff,$87       // char 66 'B'
        .byte $1d,$ff,$85,$c3,$00,$81,$c4,$06       // char 67 'C'
        .byte $83,$c3,$00,$81,$c4,$06,$04,$ff       // char 68 'D'
        .byte $83,$c3,$00,$c6,$29,$c3,$00,$c6       // char 69 'E'
        .byte $29,$81,$c3,$00,$83,$c6,$29,$81       // char 70 'F'
        .byte $29,$83,$c3,$00,$c6,$29,$ff,$83       // char 71 'G'
        .byte $c3,$00,$c7,$29,$c3,$00,$c7,$29       // char 72 'H'
        .byte $81,$c3,$00,$83,$c7,$29,$81,$29       // char 73 'I'
        .byte $83,$c3,$00,$c7,$29,$ff,$8f,$e1       // char 74 'J'
        .byte $83,$c8,$2d,$2d,$2d,$8b,$2b,$83       // char 75 'K'
        .byte $2b,$2b,$2b,$2b,$8b,$2d,$a7,$29       // char 76 'L'
        .byte $81,$c9,$24,$24,$83,$24,$26,$29       // char 77 'M'
        .byte $26,$ff,$8f,$e1,$83,$c8,$2d,$2e       // char 78 'N'
        .byte $2d,$8b,$2b,$83,$2b,$2b,$2b,$2d       // char 79 'O'
        .byte $87,$2e,$8b,$2d,$b3,$29,$ff,$8b       // char 80 'P'
        .byte $e1,$83,$c8,$29,$2d,$2e,$2d,$87       // char 81 'Q'
        .byte $2b,$83,$2b,$2b,$2b,$2b,$2b,$8b       // char 82 'R'
        .byte $2d,$a7,$29,$81,$c9,$24,$24,$83       // char 83 'S'
        .byte $24,$26,$29,$26,$ff,$83,$ca           // char 84 (partial)

txt_1aa7:
        .byte $29                                   // char 84 (partial)
        .byte $29,$29,$c3,$00,$c6,$29,$c3,$00       // char 85 'U'
        .byte $c6,$29,$c3,$00,$ff,$83,$ca           // char 86 (partial)

txt_1ab7:
        .byte $28                                   // char 86 (partial)
        .byte $28,$28,$c3,$00,$c6,$30,$c3,$00       // char 87 'W'
        .byte $c6,$30,$c3,$00,$ff,$83,$ca           // char 88 (partial)

txt_1ac7:
        .byte $26                                   // char 88 (partial)
        .byte $26,$26,$c3,$00,$c6,$2e,$c3,$00       // char 89 'Y'
        .byte $c6,$2e,$c3,$00,$ff,$83,$ca           // char 90 (partial)

txt_1ad7:
        .byte $29                                   // char 90 (partial)
        .byte $29,$29,$c3,$00,$c7,$32,$c3,$00       // char 91 '['
        .byte $c7,$32,$c3,$00,$ff,$83,$05,$87       // char 92 '\'
        .byte $11,$83,$11,$87,$07,$13,$ff,$81       // char 93 ']'
        .byte $cb,$29,$cc                           // char 94 (partial)

txt_1af3:
        .byte $29,$29,$cb                           // char 94 (partial)

txt_1af6:
        .byte $29,$24                               // char 94 (partial)
        .byte $cc                                   // char 95 (partial)

txt_1af9:
        .byte $24,$24,$cb,$24,$ff,$cb,$29           // char 95 (partial)
        .byte $cc                                   // char 96 (partial)

txt_1b01:
        .byte $29,$29,$cb                           // char 96 (partial)

txt_1b04:
        .byte $29,$22,$cc                           // char 96 (partial)

txt_1b07:
        .byte $22                                   // char 96 (partial)
        .byte $22,$cb,$22,$ff,$8b,$e1,$83,$ce       // char 97 'a'
        .byte $26,$87,$29,$83,$29,$87,$29,$83       // char 98 'b'
        .byte $29,$29,$29,$85,$29,$29,$83,$26       // char 99 'c'
        .byte $8b,$2b,$81,$2d,$2b,$9b,$29,$83       // char 100 'd'
        .byte $29,$87,$2b,$83,$2d,$87,$2e,$27       // char 101 'e'
        .byte $83,$27,$9b,$27,$83,$27,$87           // char 102 (partial)

txt_1b37:
        .byte $27                                   // char 102 (partial)
        .byte $22,$bf,$26,$ff,$8b,$e1,$83,$ce       // char 103 'g'
        .byte $26,$87,$29,$83,$29,$8b,$29,$83       // char 104 'h'
        .byte $29,$29,$29,$29,$87,$26,$8b,$2b       // char 105 'i'
        .byte $81,$2d,$2b,$97,$29,$83,$29,$29       // char 106 'j'
        .byte $29,$2b,$87,$2d,$8b,$2e,$9b,$27       // char 107 'k'
        .byte $83,$27,$27,$27,$29,$87,$27,$bf       // char 108 'l'
        .byte $26,$ff,$83,$cd                       // char 109 (partial)

txt_1b6c:
        .byte $2d,$29,$24,$2d                       // char 109 (partial)
        .byte $29,$24,$2d,$29,$ff                   // char 110 (partial)

txt_1b75:
        .byte $2d,$2a,$26                           // char 110 (partial)
        .byte $2d,$2a,$26,$2d,$2a,$ff               // char 111 (partial)

txt_1b7e:
        .byte $2d,$29                               // char 111 (partial)
        .byte $26,$2d,$29,$26,$2d,$29,$ff,$cb       // char 112 'p'
        .byte $29,$cc                               // char 113 (partial)

txt_1b8a:
        .byte $29,$29,$cb                           // char 113 (partial)

txt_1b8d:
        .byte $29,$2e,$cc                           // char 113 (partial)

txt_1b90:
        .byte $2e,$2e,$cb,$2e,$ff,$87,$e1,$83       // char 114 'r'
        .byte $cd,$29,$28,$29,$8b,$2d,$83,$29       // char 115 's'
        .byte $28,$29,$8b,$2d,$87,$29,$97,$28       // char 116 't'
        .byte $87,$29,$8b,$2e,$93,$26,$ff           // char 117 (partial)

dat_1baf:
        // === Fill data (1 bytes, $1baf-$1baf) ===
        .byte $00                                   // .

// --- Region $2000-$24c8 ---
.pc = $2000 "spr_2000"

spr_2000:
        // === Sprite data (64 bytes, $2000-$203f) ===
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $fe,$fd,$ff                           // #######.######.#########
        .byte $ff,$f9,$e6                           // #############..####..##.
        .byte $9b,$6a,$6d                           // #..##.##.##.#.#..##.##.#
        .byte $aa,$fe,$95                           // #.#.#.#.#######.#..#.#.#
        .byte $6a,$bb,$ae                           // .##.#.#.#.###.###.#.###.
        .byte $b9,$ab,$9a                           // #.###..##.#.#.###..##.#.
        .byte $55,$aa,$fb                           // .#.#.#.##.#.#.#.#####.##
        .byte $a7,$ea,$ae                           // #.#..######.#.#.#.#.###.
        .byte $a9,$9a,$55                           // #.#.#..##..##.#..#.#.#.#
        .byte $aa,$bf,$fb                           // #.#.#.#.#.###########.##
        .byte $ee,$9b,$aa                           // ###.###.#..##.###.#.#.#.
        .byte $95,$55,$aa                           // #..#.#.#.#.#.#.##.#.#.#.
        .byte $ef,$bb,$ef                           // ###.#####.###.#####.####
        .byte $ba,$ae,$69                           // #.###.#.#.#.###..##.#..#
        .byte $5b,$a5,$ba                           // .#.##.###.#..#.##.###.#.
        .byte $ee,$9b,$b9                           // ###.###.#..##.###.###..#
        .byte $6b,$a6,$ff                           // .##.#.###.#..##.########
        .byte $6f,$96,$e9                           // .##.#####..#.##.###.#..#
        .byte $ae,$ba,$a7                           // #.#.###.#.###.#.#.#..###
        .byte $6a                                   // sprite 0 padding
        .byte $ff,$ff,$ff,$bf,$6f,$9f,$9b,$67,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // ....o..g........
        .byte $95,$5a,$6b,$6e,$6b,$6e,$6b,$69,$55,$aa,$ee,$fb,$be,$ea,$ad,$9a // .ZknknkiU.......
        .byte $55,$aa,$fe,$bb,$ae,$b9,$ab,$9a,$55,$aa,$fb,$a7,$ea,$ae,$aa,$9a // U.......U.......
        .byte $55,$aa,$bf,$fb,$ee,$9b,$aa,$55,$f9,$f6,$f6,$e6,$d9,$d9,$d8,$da // U......U........
        .byte $b9,$6a,$96,$59,$26,$91               // .j.Y&.

txt_2086:
        .text "XE"
        .byte $b9                                   // '9' | $80 (end-of-string marker)
        .byte $66,$9a,$69,$56,$25,$52,$94,$a6,$da,$66 // f.iV%R...f

txt_2093:
        .text "ZF&FZZ"
        .byte $6f,$7f,$7f,$7f,$7f,$7f,$7f,$5a,$99,$da,$da,$d9,$d9,$da,$d9,$e9 // o......Z........
        .byte $a6,$59,$62,$99,$25,$51,$49,$e9,$96,$a4,$92,$25,$59,$94,$44,$a6 // .Yb.%QI....%Y.D.
        .byte $79,$99,$49,$96,$22,$96,$4a,$ff,$ff,$ff,$bf,$7f,$7f,$7f,$7f,$66 // y.I.".J........f
        .byte $6e,$66,$66,$65,$61,$64,$66,$7e,$7f,$7f,$7f,$7f,$7f,$7f,$7f,$99 // nffeadf~........
        .byte $64,$61,$60,$64,$60,$61,$60,$14,$51,$14,$40,$04,$40,$04,$10,$45 // da`d`a`.Q.@.@..E
        .byte $14,$05,$40,$10,$41,$00,$04,$12,$46,$12,$46,$12,$02,$42,$06,$7f // ..@.A...F.F..B..
        .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$d8,$d9,$d8,$d8,$d9,$d8,$d8,$d8,$54 // ...............T
        .byte $11,$05,$41,$04,$10,$01,$40,$51,$44,$10,$01,$40,$04,$00,$01,$12 // ..A...@QD..@....
        .byte $44,$11,$00,$04,$40,$01,$00,$6f,$9f,$9f,$9f,$9f,$9f,$9f,$9f,$54 // D...@..o.......T
        .byte $11,$05,$41,$04,$10,$41,$04,$12,$44,$11,$00,$04,$40,$10,$01,$61 // ..A..A..D...@..a
        .byte $64,$61,$60,$64,$60,$61,$60           // da`d`a`

spr_2140:
        // === Sprite data (64 bytes, $2140-$217f) ===
        .byte $61,$60,$60                           // .##....#.##......##.....
        .byte $60,$60,$60                           // .##......##......##.....
        .byte $60,$61,$00                           // .##......##....#........
        .byte $00,$10,$00                           // ...........#............
        .byte $00,$00,$11                           // ...................#...#
        .byte $00,$40,$00                           // .........#..............
        .byte $00,$00,$00                           // ........................
        .byte $40,$04,$10                           // .#...........#.....#....
        .byte $02,$42,$02                           // ......#..#....#.......#.
        .byte $06,$02,$12                           // .....##.......#....#..#.
        .byte $02,$02,$d8                           // ......#.......#.##.##...
        .byte $d8,$da,$d6                           // ##.##...##.##.#.##.#.##.
        .byte $e5,$ff,$ff                           // ###..#.#################
        .byte $ff,$00,$00                           // ########................
        .byte $00,$aa,$55                           // ........#.#.#.#..#.#.#.#
        .byte $ff,$ff,$ff                           // ########################
        .byte $00,$40,$00                           // .........#..............
        .byte $aa,$55,$ff                           // #.#.#.#..#.#.#.#########
        .byte $ff,$ff,$00                           // ################........
        .byte $00,$02,$aa                           // ..............#.#.#.#.#.
        .byte $55,$ff,$ff                           // .#.#.#.#################
        .byte $ff                                   // sprite 0 padding
        .byte $9f,$9f,$9f,$5f,$6f,$ff,$ff,$ff,$d8,$d8,$d8,$d8,$d8,$d8,$d8,$d8 // ..._o...........
        .byte $40,$00,$04,$00,$00,$00,$04,$40,$10,$00,$00,$00,$00,$10,$41,$04 // @......@......A.
        .byte $00,$10,$00,$01,$00,$04,$00,$00,$9f,$9f,$9f,$9f,$9f,$9f,$9f,$9f // ................
        .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$7e,$d8,$d8,$d8,$d8,$d8,$98,$60,$60 // .......~......``
        .byte $00,$10,$00,$02,$02,$06,$02,$02,$9f,$9f,$9f,$6f,$7f,$7f,$7f,$7f // ...........o....
        .byte $60,$60,$60,$61,$64,$61,$61,$66,$01,$41,$12,$01,$16,$52,$27,$56 // ```adaaf.A...R'V
        .byte $00,$11,$50,$24,$50,$64,$a5,$78,$06,$02,$46,$05,$59,$46,$99,$5a // ..P$Pd.x..F.YF.Z
        .byte $7f,$55,$aa,$61,$11,$66,$61,$b6,$ff,$55,$a9,$1a,$52,$22,$56,$62 // .U.a.fa..U..R"Vb
        .byte $ff,$bf,$7f,$7f,$7f,$7f,$7f,$7f,$06,$02,$46,$06,$5a,$46,$9a,$5a // ..........F.ZF.Z
        .byte $d8,$d8,$d8,$d8,$d9,$d8,$d8,$d9,$00,$10,$04,$40,$05,$54,$49,$95 // ...........@.TI.
        .byte $40,$44,$94,$49,$94,$99,$e9,$9e,$01,$40,$11,$01,$16,$11,$66,$16 // @D.I.....@....f.
        .byte $79,$56,$a8,$61,$11,$66,$61,$b6,$80,$10,$04,$10,$51,$20,$54,$61 // yV.a.fa.....Q Ta
        .byte $09,$49,$19,$26,$27,$9b,$9f,$6f,$bf,$ff,$ff,$ff,$ff,$ff,$ff,$ff // .I.&'..o........
        .byte $61,$66,$66,$6b,$66,$6b,$6f,$6b,$6b,$a7,$7b,$ab,$bf,$fb,$bf,$ff // affkfkokk.{.....
        .byte $a5,$b9,$fa,$bd,$fa,$fe,$ff,$9e,$ae,$9b,$ee,$af,$ff,$ef,$fe,$fe // ................
        .byte $66,$bb,$b6,$fb,$bb,$ff,$aa,$55,$a6,$76,$aa,$b6,$fa,$ba,$a9,$55 // f......U.v.....U
        .byte $7f,$7f,$7f,$7f,$7f,$7f,$7f,$bf,$ae,$9a,$ee,$ae,$fe,$ee,$fe,$fe // ................
        .byte $d8,$d9,$d9,$da,$d9,$da,$db,$da,$5a,$a9,$9e,$ea,$af,$fe,$ef,$ff // ........Z.......
        .byte $e9,$ee,$fe,$ef,$fe,$ff,$ff,$e7,$6b,$66,$bb,$6b,$bf,$bb,$ff,$bf // ........kf.k....
        .byte $66,$bb,$b6,$fb,$bb,$ff,$ab,$56,$a4,$75,$a9,$b6,$f9,$ba,$ff,$fe // f......V.u......
        .byte $e5,$ee,$fe,$ef,$fe,$ff,$ff,$e7,$bf,$6f,$9f,$9b,$e7,$a6,$f9,$b9 // .........o......
        .byte $6e,$69,$64,$69,$6e,$6f,$6f,$6e,$ff,$be,$6f,$bf,$ff,$fb,$ff,$fb // nidinoon..o.....
        .byte $ff,$ff,$ef,$fb,$e6,$91,$e6,$fb,$fe,$e6,$fe,$be,$fa,$be,$fe,$fa // ................
        .byte $db,$da,$d9,$da,$db,$db,$db,$db,$bf,$6f,$1b,$6f,$bf,$fe,$ff,$be // .........o.o....
        .byte $ff,$bf,$fb,$fe,$f9,$e4,$f9,$fe,$ff,$f9,$ff,$ef,$be,$6f,$bf,$fe // .............o..
        .byte $79,$7e,$7f,$7f,$7f,$7f,$7f,$7f,$bf,$6e,$69,$9a,$db,$db,$db,$db // y~.......ni.....
        .byte $f9,$fe,$fe,$ee,$be,$6e,$bf,$fe,$bf,$7f,$7f,$7f,$7f,$6f,$9f,$9f // .....n.......o..
        .byte $67,$6f,$6f,$6e,$69,$64,$61,$66,$e6,$fb,$bf,$6b,$16,$41,$94,$e9 // goonidaf...k.A..
        .byte $ff,$ff,$ef,$bf,$6e,$19,$44,$91,$fe,$9e,$fe,$ae,$5a,$06,$52,$a6 // ....n.D.....Z.R.
        .byte $d9,$db,$db,$db,$da,$d9,$d8,$d9,$f9,$fe,$ef,$9a,$45,$10,$65,$ba // ............E.e.
        .byte $bf,$ff,$fb,$ef,$9b,$46,$11,$64,$ff,$e7,$ff,$eb,$96,$41,$14,$69 // .....F.d.....A.i
        .byte $6b,$6e,$69,$64,$60,$61,$64,$60,$be,$6b,$16,$41,$10,$01,$40,$04 // knid`ad`.k.A..@.
        .byte $e6,$bb,$6e,$19,$44,$10,$40,$01,$fa,$ae,$5a,$06,$42,$06,$12,$02 // ..n.D.@...Z.B...
        .byte $da,$db,$da,$d9,$d8,$d8,$d9,$d8,$ef,$9a,$45,$10,$04,$40,$10,$01 // ..........E..@..
        .byte $b9,$ee,$9b,$46,$11,$44,$10,$00,$be,$eb,$96,$41,$10,$01,$04,$40 // ...F.D.....A...@
        .byte $60,$60,$60,$60,$60,$60,$60,$65,$00,$00,$00,$00,$50,$00,$50,$55 // ```````e....P.PU
        .byte $02,$02,$02,$02,$52,$02,$52,$56,$60,$60,$60,$98,$d8,$d8,$d8,$d9 // ....R.RV```.....
        .byte $02,$02,$02,$02,$52,$00,$50,$55,$7f,$7f,$7f,$6f,$5a,$95,$6a,$55 // ....R.PU...oZ.jU
        .byte $d8,$d8,$d8,$98,$58,$60,$90,$55,$00,$00,$00,$02,$56,$02 // ....X`.U....V.

txt_23ee:
        .text "VV"
        .byte $d8                                   // 'X' | $80 (end-of-string marker)
        .byte $d8,$d8,$d8,$d8,$d8,$d8,$d9,$00,$00,$00,$00,$14,$00,$14,$55 // ..............U

spr_2400:
        // === Sprite data (64 bytes, $2400-$243f) ===
        .byte $60,$65,$65                           // .##......##..#.#.##..#.#
        .byte $6a,$65,$6a                           // .##.#.#..##..#.#.##.#.#.
        .byte $6a,$6f,$a0                           // .##.#.#..##.#####.#.....
        .byte $55,$a5,$aa                           // .#.#.#.##.#..#.##.#.#.#.
        .byte $f5,$aa,$fa                           // ####.#.##.#.#.#.#####.#.
        .byte $ff,$a2,$56                           // #########.#...#..#.#.##.
        .byte $a6,$aa,$f6                           // #.#..##.#.#.#.#.####.##.
        .byte $aa,$fa,$fe                           // #.#.#.#.#####.#.#######.
        .byte $e6,$f6,$f6                           // ###..##.####.##.####.##.
        .byte $f9,$fd,$fe                           // #####..#######.########.
        .byte $ff,$ff,$a0                           // #################.#.....
        .byte $55,$a5,$aa                           // .#.#.#.##.#..#.##.#.#.#.
        .byte $b5,$6a,$6a                           // #.##.#.#.##.#.#..##.#.#.
        .byte $9b,$a0,$55                           // #..##.###.#......#.#.#.#
        .byte $a5,$aa,$f5                           // #.#..#.##.#.#.#.####.#.#
        .byte $aa,$fa,$fe                           // #.#.#.#.#####.#.#######.
        .byte $a9,$59,$a9                           // #.#.#..#.#.##..##.#.#..#
        .byte $a6,$e7,$9b                           // #.#..##.###..####..##.##
        .byte $9f,$6f,$d8                           // #..#####.##.######.##...
        .byte $d9,$d9,$da                           // ##.##..###.##..###.##.#.
        .byte $d9,$da,$da                           // ##.##..###.##.#.##.##.#.
        .byte $db                                   // sprite 0 padding
        .byte $28,$55,$69,$aa,$7d,$aa,$be,$ff,$6a,$6f,$5a,$95,$ff,$ff,$ff,$ff // (Ui.}...joZ.....
        .byte $fa,$ff,$aa,$55,$ff,$ff,$ff,$ff,$fa,$fe,$a9,$55,$ff,$ff,$ff,$ff // ...U.......U....
        .byte $7f,$7f,$7f,$bf,$ff,$ff,$ff,$ff,$e6,$f9,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .byte $ba,$6a,$95,$fe,$ff,$ff,$ff,$ff,$fa,$fa,$a5,$5b,$ff,$ff,$ff,$ff // .j.........[....
        .byte $e9,$96,$6f,$ff,$ff,$ff,$ff,$ff,$da,$db,$d6,$e5,$ff,$ff,$ff,$ff // ..o.............
        .byte $be,$ff,$aa,$55,$ff,$ff,$ff,$ff,$9f,$9f,$5f,$6f,$ff,$ff,$ff,$ff // ...U......_o....
        .byte $e5,$d6,$da,$db,$da,$d9,$d8,$d9,$55,$aa,$ef,$9a,$45,$10,$65,$ba // ........U...E.e.
        .byte $55,$aa,$fb,$ef,$9b,$46,$11,$64,$55,$aa,$fe,$eb,$96,$41,$14,$69 // U....F.dU....A.i
        .byte $6f,$5f,$9f,$9f,$9f,$9f,$9f,$9f       // o_......

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

// --- Region $2500-$2d9f ---
.pc = $2500 "txt_2500"

txt_2500:
        .encoding "screencode_mixed"
        .text " another game this time preview cracked by the force. look also for coalminer,beat ball, etc"
        .encoding "petscii_upper"

txt_255c:
        .text "       "
        .byte $03,$01,$0c,$0c                       // ....

txt_2567:
        .text " 02+712524 "
        .byte $0f,$12,$20,$10,$2e,$0f,$2e,$02,$0f,$18 // .. .......

txt_257c:
        .text " 10140,91101 "
        .byte $0a,$05,$12,$15,$13,$01,$0c,$05,$0d,$20,$2c,$09,$13,$12,$01,$05 // ......... ,.....
        .byte $0c                                   // .

txt_259a:
        .text "          "
        .byte $0c,$01,$14,$05,$12                   // .....

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

dat_25b5:
        .text "                                                                                                                                                                                                                                                                                                                                           "
        .fill 24, $09
        .byte $00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$00,$01,$02,$03,$04,$05 // ................
        .byte $06,$07,$08,$09,$0a,$0b,$0c,$0d,$0e,$05,$06,$07,$08,$09,$00,$01 // ................
        .byte $02,$03,$04,$05,$06,$07,$08,$09,$00,$01,$02,$03,$04,$05,$06,$07 // ................
        .byte $08                                   // .

dat_2749:
        // === Fill data (49 bytes, $2749-$2779) ===
        .fill 49, $09
        .byte $0f,$10,$11,$12,$13,$14,$15,$16,$17,$18,$0f,$10,$11,$12,$13,$14 // ................
        .byte $15,$16,$17,$18,$19,$10,$11,$12,$1a,$14,$15,$16,$17,$18,$0f,$10 // ................
        .byte $11,$12,$13,$14,$15,$16,$17,$18,$0f,$10,$11,$12,$13,$14,$15,$16 // ................
        .byte $17,$18                               // ..

dat_27ac:
        // === Fill data (48 bytes, $27ac-$27db) ===
        .fill 48, $09
        .byte $1b,$1c,$1d,$1e,$1f                   // .....

txt_27e1:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$"
        .byte $1b,$1c,$1d,$1e,$1f                   // .....

txt_27eb:
        .text " %"
        .byte $22                                   // double quote character
        .text "&$'"
        .byte $1c,$1d,$1e,$1f                       // ....

txt_27f5:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$"
        .byte $1b,$1c,$1d,$1e,$1f                   // .....

txt_27ff:
        .text " "

chr_2800:
        // === Charset data (1440 bytes, $2800-$2d9f) ===
        .byte $21,$22,$23,$24,$1b,$1c,$1d,$1e       // char 0 @+0
        .byte $1f                                   // char 1 (partial)

txt_2809:
        .byte $20,$21,$22,$23,$24                   // char 1 (partial)

dat_280e:
        // === Fill data (48 bytes, $280e-$283d) ===
        .fill 48, $09
        .byte $28,$29                               // char 7 (partial)
        .byte $2a,$2b,$1f                           // char 8 (partial)

txt_2843:
        .byte $2c,$2d,$2e,$2f,$30                   // char 8 (partial)
        .byte $28,$29,$2a,$2b,$1f                   // char 9 (partial)

txt_284d:
        .byte $31,$32,$33                           // char 9 (partial)
        .byte $34,$35,$28,$29,$2a,$2b,$36,$37       // char 10 @+10
        .byte $32,$33,$38,$39,$28,$29,$2a,$2b       // char 11 @+11
        .byte $1f                                   // char 12 (partial)

txt_2861:
        .byte $2c,$2d,$2e,$2f,$30,$28,$29           // char 12 (partial)
        .byte $2a,$2b,$1f,$2c,$2d,$2e,$2f,$30       // char 13 @+13

dat_2870:
        // === Fill data (48 bytes, $2870-$289f) ===
        .fill 48, $09

txt_28a0:
        .byte $3a,$3b,$3c,$3d,$3e,$3f,$40,$09       // char 20 @+20
        .byte $09,$09,$3a,$3b,$3c,$41,$1f           // char 21 (partial)

txt_28af:
        .byte $42                                   // char 21 (partial)
        .byte $43,$44,$45,$35,$3a,$3b,$3c,$3d       // char 22 @+22
        .byte $46,$47,$43,$44,$48,$49,$3a,$3b       // char 23 @+23
        .byte $3c,$41,$1f,$09,$09,$09,$09,$09       // char 24 @+24

txt_28c8:
        .byte $3a,$3b,$3c,$3d,$3e,$3f,$40           // char 25 (partial)

dat_28cf:
        // === Fill data (51 bytes, $28cf-$2901) ===
        .fill 51, $09

txt_2902:
        .byte $4a,$4b,$4c,$4d,$4e,$4f               // char 32 (partial)
        .byte $50,$09,$09,$09,$4a,$4b,$4c,$51       // char 33 '!'
        .byte $1f                                   // char 34 (partial)

txt_2911:
        .byte $52,$53,$54,$55,$35,$4a,$4b           // char 34 (partial)
        .byte $4c,$4d,$56,$57,$53,$58,$59,$09       // char 35 '#'
        .byte $4a,$4b,$4c,$51,$1f,$09,$09,$09       // char 36 '$'
        .byte $09,$09                               // char 37 (partial)

txt_292a:
        .byte $4a,$4b,$4c,$4d,$4e,$4f               // char 37 (partial)
        .byte $50                                   // char 38 (partial)

dat_2931:
        // === Fill data (51 bytes, $2931-$2963) ===
        .fill 51, $09
        .byte $5a,$5b,$5c,$5d                       // char 44 (partial)
        .byte $1f,$09,$09,$09,$09,$09,$5a,$5b       // char 45 '-'
        .byte $5c,$5d,$1f,$5e,$5f,$60,$61,$35       // char 46 '.'
        .byte $5a,$5b,$5c,$5d,$62,$63,$5f,$60       // char 47 '/'
        .byte $64,$65,$5a,$5b,$5c,$5d,$1f,$09       // char 48 '0'
        .byte $09,$09,$09,$09,$5a,$5b,$5c,$5d       // char 49 '1'
        .byte $1f                                   // char 50 (partial)

dat_2991:
        // === Fill data (53 bytes, $2991-$29c5) ===
        .fill 53, $09
        .byte $66,$67                               // char 56 (partial)
        .byte $68,$69,$1f,$09,$09,$09,$09,$09       // char 57 '9'
        .byte $66,$67,$68,$69,$1f,$6a,$6b,$6c       // char 58 ':'
        .byte $6d,$35,$66,$67,$68,$69,$1f,$6a       // char 59 ';'
        .byte $6b,$6c,$6d,$35,$66,$67,$68,$69       // char 60 '<'
        .byte $1f,$94,$95,$96,$97,$98,$66,$67       // char 61 '='
        .byte $68,$69,$1f,$94,$95,$96,$97,$98       // char 62 '>'

dat_29f8:
        // === Fill data (48 bytes, $29f8-$2a27) ===
        .fill 48, $09
        .byte $6e,$6f,$70,$71,$1f,$09,$09,$09       // char 69 'E'
        .byte $09,$09,$6e,$6f,$70,$71,$1f,$72       // char 70 'F'
        .byte $73,$74,$75,$35,$6e,$6f,$70,$71       // char 71 'G'
        .byte $1f,$72,$73,$74,$75,$35,$6e,$6f       // char 72 'H'
        .byte $70,$71,$1f,$72,$73,$74,$75,$35       // char 73 'I'
        .byte $6e,$6f,$70,$71,$1f,$72,$73,$74       // char 74 'J'
        .byte $75,$35                               // char 75 (partial)

dat_2a5a:
        // === Fill data (48 bytes, $2a5a-$2a89) ===
        .fill 48, $09
        .byte $76,$77,$77,$78,$1f,$09               // char 81 (partial)
        .byte $09,$09,$09,$09,$79,$77,$77,$7a       // char 82 'R'
        .byte $7b,$7c,$77,$77,$7d,$39,$76,$77       // char 83 'S'
        .byte $77,$78,$1f,$7e,$7f,$7f,$7f,$35       // char 84 'T'
        .byte $79,$77,$77,$7a,$7b,$7c,$77,$77       // char 85 'U'
        .byte $7d,$39,$79,$77,$77,$7a,$7b,$7c       // char 86 'V'
        .byte $77,$77,$7d,$39                       // char 87 (partial)

dat_2abc:
        // === Fill data (48 bytes, $2abc-$2aeb) ===
        .fill 48, $09
        .byte $80,$81,$81,$82                       // char 93 (partial)
        .byte $1f,$09,$09,$09,$09,$09,$83,$84       // char 94 '^'
        .byte $81,$81,$81,$81,$81,$85,$86,$49       // char 95 '_'
        .byte $80,$81,$81,$82,$1f,$87,$88,$88       // char 96 '`'
        .byte $88,$35,$83,$84,$81,$81,$81,$81       // char 97 'a'
        .byte $81,$85,$86,$49,$83,$84,$81,$81       // char 98 'b'
        .byte $81,$81,$81,$85,$86,$49               // char 99 (partial)

dat_2b1e:
        // === Fill data (48 bytes, $2b1e-$2b4d) ===
        .fill 48, $09
        .byte $89,$8a                               // char 105 (partial)
        .byte $8a,$8b,$8c,$09,$09,$09,$09,$09       // char 106 'j'
        .byte $09,$8d,$8e,$8a,$8a,$8a,$8f,$90       // char 107 'k'
        .byte $49,$09,$89,$8a,$8a,$8b,$8c,$91       // char 108 'l'
        .byte $92,$92,$92,$93,$09,$8d,$8e,$8a       // char 109 'm'
        .byte $8a,$8a,$8f,$90,$49,$09,$09,$8d       // char 110 'n'
        .byte $8e,$8a,$8a,$8a,$8f,$90,$49,$09       // char 111 'o'
        .byte $09,$09,$09,$09,$09,$09,$09,$09       // char 112 'p'
        .byte $09,$09,$09,$09,$09,$09,$09,$09       // char 113 'q'
        .byte $09,$09,$09,$09,$09,$09,$09,$09       // char 114 'r'
        .byte $d3,$d3,$d3,$d1,$d0,$d6,$d3,$d0       // char 115 's'
        .byte $d4,$d0,$d4,$d7,$d2,$d4,$d6,$d0       // char 116 't'
        .byte $d1,$d2,$d2,$d3,$d3,$d2,$d2,$d1       // char 117 'u'
        .byte $d0,$d7,$d6,$d4,$d3,$d1,$d7,$d5       // char 118 'v'
        .byte $d3,$d2,$d0,$d6,$d4,$d3,$d1,$d0       // char 119 'w'
        .byte $d7,$d6,$d5,$d5,$d4,$d4,$d5,$d5       // char 120 'x'
        .byte $d6,$d7,$d1,$d3,$d5,$d0,$d3,$d7       // char 121 'y'
        .byte $d3,$d7,$d4,$d1,$d7,$d6,$d4,$d4       // char 122 'z'
        .byte $d3,$d4,$d4,$d6,$d7,$d1,$d4,$d7       // char 123 '{'
        .byte $d3,$d7,$d3,$d0,$d5,$d3,$d1,$d7       // char 124 '|'
        .byte $d6,$d5,$d5,$d4,$d4,$d5,$d5,$d6       // char 125 '}'
        .byte $d7,$d0,$d1,$d3,$d4,$d6,$d0,$d2       // char 126 '~'
        .byte $d3,$d5,$d7,$d1,$d3,$d4,$d6,$d7       // char 127
        .byte $d0,$d1,$d2,$d2,$d3,$d3,$d2,$d2       // char 128
        .byte $d1,$d0,$d6,$d4,$d2,$d7,$d4,$d0       // char 129
        .byte $d4,$d0,$d3,$d6,$d0,$d1,$d3,$d3       // char 130
        .byte $d3,$d3,$d3,$d1,$d0,$d6,$d3,$d0       // char 131
        .byte $d4,$d0,$d4,$d7,$d2,$d4,$d6,$d0       // char 132
        .byte $d1,$d2,$d2,$d3,$d3,$d2,$d2,$d1       // char 133
        .byte $d0,$d7,$d6,$d4,$d3,$d1,$d7,$d5       // char 134
        .byte $d4,$d2,$d0,$d6,$d4,$d3,$d1,$d0       // char 135
        .byte $d7,$d6,$d5,$d5,$d4,$d4,$d5,$d5       // char 136
        .byte $d6,$d7,$d1,$d3,$d5,$d0,$d3,$d7       // char 137
        .byte $d3,$d7,$d4,$d1,$d7,$d6,$d4,$d4       // char 138
        .byte $d4,$d4,$d4,$d6,$d7,$d1,$d4,$d7       // char 139
        .byte $d3,$d7,$d3,$d0,$d5,$d3,$d1,$d7       // char 140
        .byte $d6,$d5,$d5,$d4,$d4,$d5,$d5,$d6       // char 141
        .byte $d7,$d0,$d1,$d3,$d4,$d6,$d0,$d2       // char 142
        .byte $d3,$d5,$d7,$d1,$d3,$d4,$d6,$d7       // char 143
        .byte $d0,$d1,$d2,$d2,$d3,$d3,$d2,$d2       // char 144
        .byte $d1,$d0,$d6,$d4,$d2,$d7,$d4,$d0       // char 145
        .byte $d4,$d0,$d3,$d6,$d0,$d1,$d3,$d3       // char 146
        .byte $0c,$0c,$0c,$0c,$0c,$0d,$0d,$0d       // char 147
        .byte $0e,$0e,$0f,$10,$10,$11,$12,$12       // char 148
        .byte $13,$14,$15,$16,$17,$18,$19,$1a       // char 149
        .byte $1b,$1d,$1e,$1f                       // char 150 (partial)

txt_2cb4:
        .byte $20,$21,$23,$24                       // char 150 (partial)
        .byte $25,$26,$27,$29,$2a,$2b,$2c,$2d       // char 151
        .byte $2f,$30,$31,$32,$33,$34,$35,$36       // char 152
        .byte $37,$38,$38,$39,$3a,$3a,$3b,$3c       // char 153
        .byte $3c,$3d,$3d,$3d,$3e,$3e,$3e,$3e       // char 154
        .byte $3e,$3e,$3e,$3e,$3e,$3d,$3d,$3d       // char 155
        .byte $3c,$3c,$3b,$3a,$3a,$39,$38,$38       // char 156
        .byte $37,$36,$35,$34,$33,$32,$31,$30       // char 157
        .byte $2f,$2d,$2c,$2b,$2a,$29,$27,$26       // char 158
        .byte $25,$24,$23,$21,$20,$1f,$1e,$1d       // char 159
        .byte $1b,$1a,$19,$18,$17,$16,$15,$14       // char 160
        .byte $13,$12,$12,$11,$10,$10,$0f,$0e       // char 161
        .byte $0e,$0d,$0d,$0d,$0c,$0c,$0c,$0c       // char 162
        .byte $0c,$0c,$0c,$0c,$0c,$0d,$0d,$0d       // char 163
        .byte $0e,$0e,$0f,$10,$10,$11,$12,$12       // char 164
        .byte $13,$14,$15,$16,$17,$18,$19,$1a       // char 165
        .byte $1b,$1d,$1e,$1f                       // char 166 (partial)

txt_2d34:
        .byte $20,$21,$23,$24                       // char 166 (partial)
        .byte $25,$26,$27,$29,$2a,$2b,$2c,$2d       // char 167
        .byte $2f,$30,$31,$32,$33,$34,$35,$36       // char 168
        .byte $37,$38,$38,$39,$3a,$3a,$3b,$3c       // char 169
        .byte $3c,$3d,$3d,$3d,$3e,$3e,$3e,$3e       // char 170
        .byte $3e,$3e,$3e,$3e,$3e,$3d,$3d,$3d       // char 171
        .byte $3c,$3c,$3b,$3a,$3a,$39,$38,$38       // char 172
        .byte $37,$36,$35,$34,$33,$32,$31,$30       // char 173
        .byte $2f,$2d,$2c,$2b,$2a,$29,$27,$26       // char 174
        .byte $25,$24,$23,$21,$20,$1f,$1e,$1d       // char 175
        .byte $1b,$1a,$19,$18,$17,$16,$15,$14       // char 176
        .byte $13,$12,$12,$11,$10,$10,$0f,$0e       // char 177
        .byte $0e,$0d,$0d,$0d,$0c,$0c,$0c,$0c       // char 178
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 179

// --- Region $2fb1-$2ff7 ---
.pc = $2fb1 "Segment $2fb1"
        .byte $20,$4c,$45,$54,$48,$41,$4c           // char 0 (partial)
        .byte $20,$5a,$4f,$4e,$45,$20,$50,$52       // char 1 @+1
        .byte $56,$20,$20,$20,$00,$09,$0b,$08       // char 2 @+2
        .byte $0c,$0f,$07,$00,$04,$08,$08,$08       // char 3 @+3
        .byte $08,$08,$07,$08,$07,$0f,$0c,$08       // char 4 @+4
        .byte $0b,$09,$00,$00,$01,$08,$08,$08       // char 5 @+5
        .byte $08,$08,$08,$08,$12,$0f,$0e,$0e       // char 6 @+6
        .byte $19,$20,$0f,$06,$20,$14,$08,$05       // char 7 @+7
        .byte $20,$06,$0f,$12,$03,$05,$20,$21       // char 8 @+8

// --- Region $30ae-$3124 ---
.pc = $30ae "scr_30ae"

scr_30ae:
        // === Screen RAM (119 bytes, $30ae-$3124) ===
        .encoding "screencode_mixed"
        .text "a"
        .byte $22                                   // scrcode: "
        .text "@a#@cdefag"
        .byte $22                                   // scrcode: "
        .text "hia#ga"
        .byte $22                                   // scrcode: "
        .text "ia#ma"
        .byte $22                                   // scrcode: "
        .text "ka#oa"
        .byte $22                                   // scrcode: "
        .text "ha#la"
        .byte $22                                   // scrcode: "
        .text "la"
        .text "#ha"
        .byte $22                                   // scrcode: "
        .text "oa#ka"
        .byte $22                                   // scrcode: "
        .text "ga#ia"
        .byte $22                                   // scrcode: "
        .text "aa#@b@cdef@g#hia"
        .byte $22                                   // scrcode: "
        .text "ga#ia"
        .byte $22                                   // scrcode: "
        .text "m"
        .text "a#ka"
        .byte $22                                   // scrcode: "
        .text "oa#ha"
        .byte $22                                   // scrcode: "
        .text "la#la"
        .byte $22                                   // scrcode: "
        .text "ha#oa"
        .byte $22                                   // scrcode: "
        .text "ka#ga"
        .byte $22                                   // scrcode: "
        .text "ia#aa"
        .byte $22                                   // scrcode: "
        .text "@ba"
        .byte $ff                                   // scrcode: .
        .encoding "petscii_upper"

// --- Region $32c3-$32df ---
.pc = $32c3 "Segment $32c3"
        .encoding "screencode_mixed"
        .byte $c5                                   // scrcode: .
        .text "h"
        .byte $d0                                   // scrcode: .
        .text "r"
        .byte $e6                                   // scrcode: .
        .text "q"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $85,$e3,$8d,$af                       // scrcode: ....
        .text "2"
        .byte $a2                                   // scrcode: .
        .text "i"
        .byte $9d,$a2                               // scrcode: ..
        .text "6"
        .byte $ca                                   // scrcode: .
        .text "p"
        .byte $fa,$60,$a9,$ff,$8d,$af               // scrcode: ......
        .text "2"
        .byte $e6,$e3                               // scrcode: ..
        .encoding "petscii_upper"

// --- Region $34b8-$36a2 ---
.pc = $34b8 "Segment $34b8"
        .encoding "screencode_mixed"
        .text "ntro finished in"
        .encoding "petscii_upper"

txt_34c8:
        .text " 16/07/91BB B BBB      "
        .encoding "screencode_mixed"
        .text "coding....rotf/the forcw"
        .byte $70,$43,$73                           // scrcode: ...
        .encoding "petscii_upper"

txt_34fa:
        .text "BBBBBBB      "
        .byte $0d                                   // string terminator
        .encoding "screencode_mixed"
        .text "usic.....guy s./scs"
        .encoding "petscii_upper"

txt_351b:
        .text "    B B"
        .byte $6b,$6e,$6b,$6e,$42,$6b,$7d           // scrcode: .......

txt_3529:
        .text "      "
        .encoding "screencode_mixed"
        .text "logo"
        .encoding "petscii_upper"

txt_3533:
        .text "......"
        .encoding "screencode_mixed"
        .text "smasher/f4cg"
        .encoding "petscii_upper"

txt_3545:
        .text "  B BB B B"
        .byte $6b,$6e                               // scrcode: ..

txt_3551:
        .text "      CCCCCCCCCCCCCCCCCCCCCCCC"
        .encoding "screencode_mixed"
        .byte $7d                                   // scrcode: .
        .text " "
        .byte $6d,$71,$43,$71,$43,$71,$71,$7d       // scrcode: ........
        .encoding "petscii_upper"

txt_3579:
        .text "      "
        .encoding "screencode_mixed"
        .byte $78,$a9                               // scrcode: ..
        .text "4"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $bd                                   // scrcode: .
        .text "h="
        .byte $9d                                   // scrcode: .
        .text "ah"
        .byte $e8,$d0,$f7,$ee,$d1                   // scrcode: .....
        .text "d"
        .byte $ee,$d4                               // scrcode: ..
        .text "d"
        .byte $ad,$d1                               // scrcode: ..
        .text "d"
        .byte $d0,$ec,$a9                           // scrcode: ...
        .text "7"
        .byte $85                                   // scrcode: .
        .text "a"
        .byte $58,$4c,$e2,$fc                       // scrcode: ....
        .encoding "petscii_upper"

txt_35a2:
        .text "02+712524"
        .byte $00                                   // string terminator
        .byte $1e                                   // scrcode: .

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

// --- Region $3800-$3800 ---
.pc = $3800 "chr_3800"

chr_3800:
        .byte $00                                   // .

// --- Region $3a00-$3a00 ---
.pc = $3a00 "spr_3a00"

spr_3a00:
        .byte $00                                   // .

// --- Region $3a40-$3a40 ---
.pc = $3a40 "spr_3a40"

spr_3a40:
        .byte $00                                   // .
