// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:44
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $37fe  (12287 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $3000 (12288)
// IRQ handler:  $3100 (irq_3100)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $3140 (irq_3140)
// IRQ handler:  $31c0 (irq_31c0)
// IRQ handler:  $3200 (irq_3200)
//
// Code: 2456 bytes, Data: 9831 bytes
// Labels: 268, Subroutines: 12
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$111e ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1559, $155e, $1563

sub_1000:
        lda $140d
        bne loc_100c
        sta $d418
        rts

scr_1009:
        // === Screen RAM (3 bytes, $1009-$100b) ===
        .encoding "screencode_mixed"
        .byte $8d                                   // scrcode: .
        .text "lt"
        .encoding "petscii_upper"

loc_100c:
        cmp #$ab
        beq loc_1042
        jmp loc_1071

loc_1013:
        jsr sub_1521
        lda #$0f
        sta $d418
        ldy #$00
        sty $13fa
        sty $1401
        sty $1408
        sty $13fc
        sty $1403
        sty $140a
        sty $13d1
        sty $13d8
        sty $13df
        iny
        sty $140c
        sty $1410
        jmp loc_109b

loc_1042:
        ldy $13e4,x
        lda $15bd,y
        and #$04
        beq loc_1064
        lda $143c,x
        beq loc_105e
        lda $1630,y
        sta $d404,x
        lda #$00
        sta $143c,x
        beq loc_1064

loc_105e:
        lda $15b7,y
        sta $d404,x

loc_1064:
        lda $1410
        bne loc_106e
        dec $13fc,x
        bmi loc_10b5

loc_106e:
        jmp loc_1231

loc_1071:
        ldy $140d
        lda $16d2,y
        sta $13f8
        lda $16d5,y
        sta $13f9
        lda $16d8,y
        sta $13ff
        lda $16db,y
        sta scr_1400
        lda $16de,y
        sta $1406
        lda $16e1,y
        sta $1407
        jmp loc_1013

loc_109b:
        cpx #$0e
        bne loc_10aa
        dec $1410
        bpl loc_10aa
        lda $140e
        sta $1410

loc_10aa:
        lda $140c
        beq loc_10b4
        lda #$ab
        sta $140d

loc_10b4:
        rts

loc_10b5:
        lda $13f8,x
        sta $6b
        lda $13f9,x
        sta $6c
        ldy $13fa,x
        lda ($6b),y
        tay
        lda $16a6,y
        sta $6d
        lda $16bc,y
        sta $6e
        lda #$ff
        sta $1411
        lda #$00
        sta $13ce,x
        sta $13cd,x
        sta scr_13cc,x

loc_10df:
        ldy $13d1,x
        lda ($6d),y
        cmp #$fd
        bcc loc_10f6
        iny
        inc $13d1,x
        lda ($6d),y
        sta $13e3,x

loc_10f1:
        inc $13d1,x
        bne loc_10df

loc_10f6:
        cmp #$fb
        bcc loc_111a
        cmp #$fb
        bne loc_1116
        lda #$01

loc_1100:
        sta $13ce,x
        iny
        inc $13d1,x
        lda ($6d),y
        sta $13e1,x
        lda #$00
        sta $13cd,x
        sta scr_13cc,x
        beq loc_10f1

loc_1116:
        lda #$02
        bne loc_1100

loc_111a:
        cmp #$fa
        bcc loc_1143

scr_111e:
        // === Screen RAM (1 bytes, $111e-$111e) ===
        .byte $c8                                   // scrcode: .

// --- Region $1143-$13cc ---
.pc = $1143 "loc_1143"

loc_1143:
        sta $1415,x
        lda $13e3,x
        sta $13fc,x
        lda #$00
        sta $13cf,x
        sta $13d0,x
        lda #$01
        sta $143c,x
        ldy $13e4,x
        lda $15bd,y
        and #$02
        beq loc_116f
        lda $13e6,x
        sta $13e5,x
        lda $13f6,x
        sta $13e7,x

loc_116f:
        lda $1415,x
        bne loc_1187
        lda $142d,x
        sta $1415,x
        lda #$00
        sta $142d,x
        ldy $13e4,x
        dec $1411
        bne loc_11ac

loc_1187:
        sta $142d,x
        tay
        lda $14b1,y
        sta $d401,x
        sta $1414,x
        sta $1416,x
        lda $1451,y
        sta $d400,x
        sta $1413,x
        sta $1412,x
        ldy $13e4,x
        lda $15bc,y
        sta $d404,x

loc_11ac:
        lda $15b7,y
        and $1411
        sta $d404,x
        lda $15b8,y
        sta $d405,x
        lda $15b9,y
        sta $d406,x
        lda $13e5,x
        sta $d402,x
        lda $13e7,x
        sta $d403,x
        inc $13d1,x
        ldy $13d1,x
        lda ($6d),y
        cmp #$ff
        bne loc_11fa
        lda #$00
        sta $13d1,x
        inc $13fa,x
        ldy $13fa,x
        lda ($6b),y
        cmp #$ff
        bne loc_11f1
        lda #$00
        sta $13fa,x
        beq loc_11fa

loc_11f1:
        cmp #$fe
        bne loc_11fa
        lda #$00
        sta $140c

loc_11fa:
        lda $142d,x
        beq loc_1231
        ldy $13e4,x
        lda $13ce,x
        bne loc_1215
        lda $1632,y
        beq loc_1218
        sta $13ce,x
        lda $1631,y
        sta $13e1,x

loc_1215:
        jmp loc_1358

loc_1218:
        lda $15bb,y
        beq loc_1220
        jmp loc_1578

loc_1220:
        sta $13cd,x
        lda $162e,y
        beq loc_122b
        jmp loc_159a

loc_122b:
        sta scr_13cc,x
        jmp loc_109b

loc_1231:
        lda $15ba,y
        sta $140f
        beq loc_1280
        lda $13d2,x
        bne loc_1260
        clc
        lda $13e5,x
        adc $140f
        sta $13e5,x
        sta $d402,x
        lda $13e7,x
        adc #$00
        sta $13e7,x
        sta $d403,x
        clc
        cmp #$0e
        bcc loc_1280
        inc $13d2,x
        bne loc_1280

loc_1260:
        lda $13e5,x
        sec
        sbc $140f
        sta $13e5,x
        sta $d402,x
        lda $13e7,x
        sbc #$00
        sta $13e7,x
        sta $d403,x
        clc
        cmp #$08
        bcs loc_1280
        dec $13d2,x

loc_1280:
        lda $13cd,x
        beq loc_12be
        lda $13f7,x
        asl
        tay
        lda $1511,y
        sta smc_12a9                                // SMC: modifies $12a9
        lda $1512,y
        sta smc_12aa                                // SMC: modifies $12aa
        lda $1418,x
        cmp $1417,x
        bne loc_12a3
        lda #$00
        sta $1418,x

loc_12a3:
        tay
        lda $1415,x
        clc
.label smc_12a9 = * + 1
.label smc_12aa = * + 2
        adc $151b,y                                 // !SMC: modified by $128d, $1293
        tay
        lda $1451,y
        sta $d400,x
        lda $14b1,y
        sta $d401,x
        inc $1418,x
        jmp loc_109b

loc_12be:
        lda scr_13cc,x
        bne loc_12c6
        jmp loc_1358

loc_12c6:
        lda $1427,x
        beq loc_1304
        cmp #$03
        bcc loc_132d
        sec
        lda $1412,x
        sbc $1428,x
        sta $1412,x
        sta $d400,x
        lda $1416,x
        sbc #$00
        sta $1416,x
        sta $d401,x
        dec $142a,x
        bne loc_1301
        lda $1429,x
        sta $142a,x
        inc $1427,x
        lda $1427,x
        cmp #$05
        bcc loc_1301
        lda #$01
        sta $1427,x

loc_1301:
        jmp loc_109b

loc_1304:
        sec
        lda $1412,x
        sbc $1428,x
        sta $1412,x
        sta $d400,x
        lda $1416,x
        sbc #$00
        sta $1416,x
        sta $d401,x
        dec $142a,x
        bne loc_132a
        lda $1429,x
        sta $142a,x
        inc $1427,x

loc_132a:
        jmp loc_109b

loc_132d:
        clc
        lda $1412,x
        adc $1428,x
        sta $1412,x
        sta $d400,x
        lda $1416,x
        adc #$00
        sta $1416,x
        sta $d401,x
        dec $142a,x
        bne loc_13c9
        lda $1429,x
        sta $142a,x
        inc $1427,x
        bne loc_13c9
        jmp loc_109b

loc_1358:
        lda $13ce,x
        beq loc_13bc
        cmp #$01
        beq loc_1379
        cmp #$02
        beq loc_13a4
        cmp #$03
        beq loc_1394
        clc
        lda $1416,x
        adc $13e1,x
        sta $1416,x
        sta $d401,x
        jmp loc_13bc

loc_1379:
        clc
        lda $1412,x
        sbc $13e1,x
        sta $1412,x
        sta $d400,x
        lda $1416,x
        sbc #$00
        sta $1416,x
        sta $d401,x
        jmp loc_13bc

loc_1394:
        sec
        lda $1416,x
        sbc $13e1,x
        sta $1416,x
        sta $d401,x
        jmp loc_13bc

loc_13a4:
        clc
        lda $1412,x
        adc $13e1,x
        sta $1412,x
        sta $d400,x
        lda $1416,x
        adc #$00
        sta $1416,x
        sta $d401,x

loc_13bc:
        ldy $13e4,x
        lda $15bd,y
        and #$01
        beq loc_13c9
        jmp loc_16e4

loc_13c9:
        jmp loc_109b

scr_13cc:
        // === Screen RAM (1 bytes, $13cc-$13cc) ===
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

// --- Region $1521-$152b ---
.pc = $1521 "sub_1521"
// Referenced by: jsr from $1013

sub_1521:
        ldy #$18
        lda #$00

loc_1525:
        sta $d418,y
        dey
        bne loc_1525
        rts

// --- Region $1557-$1566 ---
.pc = $1557 "sub_1557"
// Referenced by: jsr from $327f

sub_1557:
        ldx #$00
        jsr sub_1000
        ldx #$07
        jsr sub_1000
        ldx #$0e
        jsr sub_1000
        rts

// --- Region $1578-$15b6 ---
.pc = $1578 "loc_1578"

loc_1578:
        pha
        and #$0f
        sta $13f7,x
        pla
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $1417,x
        lda #$00
        sta $1418,x
        lda #$01
        sta $13cd,x
        lda #$00
        sta scr_13cc,x
        jmp loc_109b

loc_159a:
        sta $1428,x
        lda $162f,y
        sta $1429,x
        sta $142a,x
        lda #$00
        sta $13cd,x
        sta $1427,x
        lda #$01
        sta scr_13cc,x
        jmp loc_109b

scr_15b6:
        // === Screen RAM (1 bytes, $15b6-$15b6) ===
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

// --- Region $16e4-$174c ---
.pc = $16e4 "loc_16e4"

loc_16e4:
        lda $1414,x
        beq loc_16ec
        dec $1414,x

loc_16ec:
        lda $13cf,x
        beq loc_1704
        dec $13cf,x
        lda #$81
        sta $d404,x
        lda $1414,x
        eor #$23
        sta $d401,x
        jmp loc_109b

loc_1704:
        jmp loc_1718

loc_1707:
        lda $1416,x
        sta $d401,x
        sta $1414,x
        lda #$11
        sta $d404,x
        jmp loc_109b

loc_1718:
        lda $13d0,x
        cmp #$03
        beq loc_1727
        inc $13cf,x
        inc $13d0,x
        bne loc_1707

loc_1727:
        lda #$00
        sta $13d0,x
        sta $13cf,x
        beq loc_1707
        .byte $04,$04                               // nop $04 // ILLEGAL
        php
        php
        php
        php
        php
        php
        .byte $07,$07                               // slo $07 // ILLEGAL
        ora #$0b
        .byte $0b,$0c                               // anc #$0c // ILLEGAL
        .byte $0c,$09,$0d                           // nop $0d09 // ILLEGAL
        ora $0e0e
        .byte $0f,$0f,$10                           // slo $100f // ILLEGAL
        ora ($09),y
        ora $15,x
        .byte $12                                   // jam // ILLEGAL

// --- Region $1a20-$1a25 ---
.pc = $1a20 "sub_1a20"
// Referenced by: jsr from $36b3

sub_1a20:
        lda #$01
        sta $140d
        rts

// --- Region $3000-$3082 ---
.pc = $3000 "main_3000"

main_3000:
        lda #$93
        jsr $ffd2
        sei
        ldx #$01
        stx $d01a
        stx $dc0d
        lda #$72
        sta $d012
        lda #$00
        sta $0314
        lda #$31
        sta $0315
        lda #$1b
        sta $d011
        jsr sub_35e8
        cli

loc_3026:
        lda $dc01
        cmp #$ef
        beq loc_3034
        lda $dc00
        cmp #$6f
        bne loc_3026

loc_3034:
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$f0
        sta $d01a
        cli
        jsr $ff84
        jsr $fda3
        jsr $ff5b
        lda #$00
        sta $d020
        lda #$00
        sta $d021
        lda #$1b
        sta $d011
        lda #$15
        sta $d018
        lda #$c8
        sta $d016
        lda #$62
        sta $2d
        lda #$c6
        sta $2e
        nop
        nop
        nop
        ldy #$00

loc_3074:
        lda bmp_3082,y
        sta $0340,y
        iny
        cpy #$c0
        bne loc_3074
        jmp $0340

bmp_3082:
        // === Bitmap data (1 bytes, $3082-$3082) ===
        .byte $4c                                   // L

// --- Region $3100-$31b4 ---
.pc = $3100 "irq_3100"

irq_3100:
        sei
.label smc_3102 = * + 1
        ldx #$10                                    // !SMC: modified by $3593
        nop
        beq $311d

loc_3106:
        nop
        nop
        nop
        lda $d012
        and #$07
        ora #$18
        sta $d011
        ldy #$07

loc_3115:
        dey
        bne loc_3115
        nop
        nop
        dex
        bne loc_3106
        lda #$01
        sta $d019
        lda #$40
        sta $0314
        lda #$31
        sta $0315
        clc
        lda smc_3102
        adc #$32
        sta $d012
        lda #$13
        sta $d018
        jmp $febc

bmp_313d:
        // === Bitmap data (3 bytes, $313d-$313f) ===
        .byte $ea,$ea,$ea                           // ...

irq_3140:
        ldy #$1b
        sty $ffff
        lda $03
        ora #$10
        sta $ffff
        lda #$0c
        sta $d023
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        ldy #$00

loc_315b:
        ldx #$f8
        lda $0110,y

loc_3160:
        sta $d020
        sta $d021
        iny
        inx
        beq loc_315b
        cpy #$4d
        bcs $318e
        nop
        nop
        clc
        lda scr_0c00,y
        sta $ffff
        lda tbl_0d00,y
        sta $ffff
        lda $02b0,y
        sta $ffff
        lda spr_1c00,y
        sta $d023
        lda $0110,y
        bcc loc_3160
        lda #$c0
        sta $0314
        lda #$31
        sta $0315
        clc
        lda smc_3102
        adc #$82
        sta $d012
        lda #$01
        sta $d019
        lda #$19
        sta $d018
.label smc_31ac = * + 1
        lda #$07                                    // !SMC: modified by $35e4
        sta $d022
        jmp $febc

bmp_31b3:
        // === Bitmap data (2 bytes, $31b3-$31b4) ===
        .byte $ea,$ea                               // ..

// --- Region $31c0-$328c ---
.pc = $31c0 "irq_31c0"

irq_31c0:
        sei
.label smc_31c2 = * + 1
        ldx #$18                                    // !SMC: modified by $359c
        nop
        beq $31dd

loc_31c6:
        nop
        nop
        nop
        lda $d012
        and #$07
        ora #$18
        sta $d011
        ldy #$07

loc_31d5:
        dey
        bne loc_31d5
        nop
        nop
        dex
        bne loc_31c6
        lda #$01
        sta $d019
        lda #$00
        sta $0314
        lda #$32
        sta $0315
        lda #$1b
        sta $d011
        lda #$ba
        sta $d012
        jmp $febc

bmp_31f9:
        // === Bitmap data (7 bytes, $31f9-$31ff) ===
        .byte $ea,$ea,$ea,$ea,$ea,$ea,$ea           // .......

irq_3200:
        ldy #$1b
        sty $d011
        lda $03
        ora #$10
        sta $d016
        lda #$0c
        sta $d023
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        ldy #$00

loc_321b:
        ldx #$f8
        lda $0340,y

loc_3220:
        sta $d020
        sta $d021
        iny
        inx
        beq loc_321b
        cpy #$38
        bcs $324e
        nop
        nop
        clc
        lda scr_0c00,y
        sta $ffff
        lda tbl_0d00,y
        sta $ffff
        lda $02b0,y
        sta $d018
        lda $3469,y
        sta $d022
        lda $0340,y
        bcc loc_3220
        nop
        nop
        lda #$00
        sta $0314
        lda #$31
        sta $0315
        lda #$2c
        sta $d012
        lda #$15
        sta $d018
        lda #$1b
        sta $d011
        lda $d019
        sta $d019
        lda #$18
        sta $d016
        lda #$0c
        sta $d022
        jsr sub_33a7
        jsr sub_3500
        jsr sub_1557
        jsr smc_3577
        jsr smc_35a0
        jmp $febc

bmp_328b:
        // === Bitmap data (2 bytes, $328b-$328c) ===
        .byte $ea,$ea                               // ..

// --- Region $3300-$347f ---
.pc = $3300 "sub_3300"

// Referenced by: jsr from $35e8
sub_3300: {
        ldy #$00
        ldx #$f8
loop1:
        txa
        sta $0200,y
        inx
        iny
        cpy #$10
        bne loop1
        lda #$00
        sta $f7
        sta $fe
        sta smc_3400                                // SMC: modifies $3400
        sta $fa
        lda #$0a
        sta $ff
        sta smc_3404                                // SMC: modifies $3404
        sta $fb
        ldy #$00
loop2:
        lda ($fa),y
        cmp #$ff
        beq skip
        iny
        bne loop2
        inc $fb
        bne loop2
skip:
        sty smc_3477                                // SMC: modifies $3477
        lda $fb
        sta smc_347b                                // SMC: modifies $347b
        lda #$03
        sta $02
        lda #$13
        sta $03
        lda #$01
        sta $04
        rts
}

// Referenced by: jsr from $33a7
sub_3346: {
        lda $04
        beq done1
        inc $06
        lda $06
        and #$01
        sta $06
        bne done1
        lda $dc00
        cmp #$7b
        beq skip1
        cmp #$77
        beq skip3
        lda $dc01
        cmp #$fb
        beq skip1
        cmp #$f7
        beq skip3
done1:
        rts
skip1:
        inc $02
        lda $02
        cmp #$08
        bne skip2
        lda #$07
        sta $02
skip2:
        ldy #$07
loop1:
        lda $0208,y
        cmp $02
        beq done2
        dey
        bpl loop1
        rts
done2:
        lda #$00
        sta $f7
        rts
skip3:
        dec $02
        lda $02
        cmp #$f8
        bne skip4
        lda #$f9
        sta $02
skip4:
        ldy #$07
loop2:
        lda $0200,y
        cmp $02
        beq done3
        dey
        bpl loop2
        rts
done3:
        lda #$01
        sta $f7
        rts
}
// Referenced by: jsr from $3279

sub_33a7:
        jsr sub_3346
        lda $f7
        bne loc_3408
        sec
        lda $03
        sbc $02
        sta $03
        bcs loc_3407
        lda $03
        and #$07
        sta $03
        ldy #$00

loc_33bf:
        lda $0681,y
        sta $0680,y
        iny
        cpy #$4f
        bne loc_33bf
        ldy #$00
        inc $04
        lda $04
        and #$01
        sta $04
        bne loc_33e3
        lda ($fe),y
        sta $06a7
        ora #$80
        sta $06cf
        jmp loc_3407

loc_33e3:
        lda ($fe),y
        ora #$40
        sta $06a7
        lda ($fe),y
        ora #$c0
        sta $06cf
        inc $fe
        bne loc_33f7
        inc $ff

loc_33f7:
        ldy #$00
        lda ($fe),y
        cmp #$ff
        bne loc_3407
.label smc_3400 = * + 1
        lda #$00                                    // !SMC: modified by $3314
        sta $fe
.label smc_3404 = * + 1
        lda #$0a                                    // !SMC: modified by $331d
        sta $ff

loc_3407:
        rts

loc_3408:
        sec
        lda #$00
        sbc $02
        sta $05
        clc
        lda $03
        adc $05
        sta $03
        cmp #$08
        bcc loc_347e
        lda $03
        and #$07
        sta $03
        ldy #$4e

loc_3422:
        lda $0680,y
        sta $0681,y
        dey
        bpl loc_3422
        sec
        lda $fe
        sbc #$15
        sta $fa
        lda $ff
        sbc #$00
        sta $fb
        ldy #$00
        inc $04
        lda $04
        and #$01
        sta $04
        bne loc_3455
        lda ($fa),y
        ora #$40
        sta $0680
        lda ($fa),y
        ora #$c0
        sta $06a8
        jmp loc_346e

loc_3455:
        lda ($fa),y
        sta $0680
        lda ($fa),y
        ora #$80
        sta $06a8
        sec
        lda $fe
        sbc #$01
        sta $fe
        lda $ff
        sbc #$00
        sta $ff

loc_346e:
        ldy #$00
        lda ($fe),y
        cmp #$fe
        bne loc_347e
.label smc_3477 = * + 1
        lda #$7c                                    // !SMC: modified by $3331
        sta $fe
.label smc_347b = * + 1
        lda #$0c                                    // !SMC: modified by $3336
        sta $ff

loc_347e:
        rts

bmp_347f:
        // === Bitmap data (1 bytes, $347f-$347f) ===
        .byte $ea                                   // .

// --- Region $3500-$36b6 ---
.pc = $3500 "sub_3500"
// Referenced by: jsr from $327c

sub_3500:
        ldy #$18
        lda #$00

loc_3504:
        sta $0340,y
        sta $0360,y
        dey
        bpl loc_3504
        ldy #$11
        lda #$19

loc_3511:
        sta $02c5,y
        dey
        bpl loc_3511
        lda smc_3538
        cmp #$c6
        bne loc_3521
        jsr smc_3538

loc_3521:
        nop
        ldy #$0c

loc_3524:
        lda $34f0,y
        sta $0358,y
        dey
        bpl loc_3524
        lda smc_3538
        cmp #$e6
        bne loc_3537
        jsr smc_3538

loc_3537:
        rts

smc_3538:
        inc $f8                                     // !SMC: modified by $3542, $354b, $35fb
        ldy $f8
        cpy #$00
        bne loc_3545
        lda #$e6
        sta smc_3538                                // SMC: modifies $3538

loc_3545:
        cpy #$4f
        bne loc_354e
        lda #$c6
        sta smc_3538                                // SMC: modifies $3538

loc_354e:
        lda txt_3490,y
        sta smc_3560                                // SMC: modifies $3560
        clc
        adc #$70
        sta smc_3571                                // SMC: modifies $3571
        ldy #$06

loc_355c:
        lda $34e8,y
.label smc_3560 = * + 1
        sta $0345,y                                 // !SMC: modified by $3551
        dey
        bpl loc_355c
        lda smc_3538
        cmp #$e6
        bne loc_3576
        ldy #$06
        lda #$1b

loc_3570:
.label smc_3571 = * + 1
        sta $02b5,y                                 // !SMC: modified by $3557
        dey
        bpl loc_3570

loc_3576:
        rts

smc_3577:
        inc $f6                                     // !SMC: modified by $3581, $358a, $3626
        ldy $f6
        cpy #$00
        bne loc_3584
        lda #$e6
        sta smc_3577                                // SMC: modifies $3577

loc_3584:
        cpy #$3f
        bne loc_358d
        lda #$c6
        sta smc_3577                                // SMC: modifies $3577

loc_358d:
        sec
        lda txt_3490,y
        sbc #$45
        sta smc_3102                                // SMC: modifies $3102
        sec
        lda #$28
        sbc smc_3102
        sta smc_31c2                                // SMC: modifies $31c2
        rts

smc_35a0:
        inc $f5                                     // !SMC: modified by $35aa, $35b3, $3661
        ldy $f5
        cpy #$00
        bne loc_35ad
        lda #$e6
        sta smc_35a0                                // SMC: modifies $35a0

loc_35ad:
        cpy #$50
        bne loc_35b6
        lda #$c6
        sta smc_35a0                                // SMC: modifies $35a0

loc_35b6:
        sec
        lda txt_3490,y
        tay
        ldx #$00

loc_35bd:
        lda $1bfd,y
        sta $0134,x
        iny
        inx
        cpx #$14
        bne loc_35bd
        ldy $f5
        lda txt_3490,y
        tay
        ldx #$14

loc_35d1:
        lda $1bfd,y
        sta $0120,x
        iny
        dex
        bpl loc_35d1
        ldy $f5
        lda txt_3490,y
        tay
        lda $1bfd,y
        sta smc_31ac                                // SMC: modifies $31ac
        rts
// Referenced by: jsr from $3022

sub_35e8:
        jsr sub_3300
        ldy #$00
        lda #$0e

loc_35ef:
        sta $da80,y
        iny
        bne loc_35ef
        lda #$00
        sta $f7
        lda #$e6
        sta smc_3538                                // SMC: modifies $3538
        lda #$00
        tax
        tay
        sta $fa
        lda #$28
        sta $fb
        lda #$00

loc_360a:
        sta ($fa),y
        iny
        bne loc_360a
        inc $fb
        inx
        cpx #$08
        bne loc_360a
        ldy #$50
        lda #$19

loc_361a:
        sta $02aa,y
        dey
        bpl loc_361a
        lda #$05
        sta $f9
        lda #$e6
        sta smc_3577                                // SMC: modifies $3577
        lda #$00
        sta $f6
        ldy #$00

loc_362f:
        lda $1e78,y
        sta $0400,y
        lda #$09
        sta $d800,y
        iny
        bne loc_362f
        ldy #$00

loc_363f:
        lda $1f78,y
        sta $0500,y
        lda #$09
        sta $d900,y
        iny
        cpy #$68
        bne loc_363f
        ldy #$00
        lda #$00

loc_3653:
        sta $0100,y
        iny
        cpy #$90
        bne loc_3653
        lda #$00
        sta $f5
        lda #$e6
        sta smc_35a0                                // SMC: modifies $35a0
        ldy #$07

loc_3666:
        lda $1c81,y
        sta $0118,y
        sta $0149,y
        dey
        bpl loc_3666
        lda #$b8
        sta $fa
        lda #$05
        sta $fb
        ldx #$00

loc_367c:
        ldy #$00
        lda txt_1fe0,x
        sta ($fa),y
        iny
        ora #$40
        sta ($fa),y
        lda txt_1fe0,x
        ora #$80
        ldy #$28
        sta ($fa),y
        ora #$c0
        iny
        sta ($fa),y
        inc $fa
        inc $fa
        inx
        cpx #$14
        bne loc_367c
        ldy #$00
        lda #$0e

loc_36a3:
        sta $d9b8,y
        iny
        bne loc_36a3
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        jsr sub_1a20
        rts

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

// --- Region $0800-$0800 ---
.pc = $0800 "dat_0800"

dat_0800:
        // === Fill data (1 bytes, $0800-$0800) ===
        .byte $00                                   // .

// --- Region $0920-$0f38 ---
.pc = $0920 "dat_0920"

dat_0920:
        .text "                                                                                                                                                "
        .byte $ff                                   // char 54 (partial)

dat_09b1:
        .text "                                                                                    "
        .byte $14,$08,$05                           // char 64 (partial)
        .byte $20,$13,$08,$01,$12,$0b,$13,$20       // char 65 'A'
        .byte $10,$12,$05,$13,$05,$0e,$14           // char 66 (partial)

txt_0a17:
        .byte $3a                                   // char 66 (partial)
        .byte $20,$20,$20,$20,$20,$13,$0f,$0c       // char 67 'C'
        .byte $09,$04,$20,$01,$06,$12,$09,$03       // char 68 'D'
        .byte $01,$2e,$20,$20,$01,$20,$07,$01       // char 69 'E'
        .byte $0d,$05,$20,$14,$08,$01,$14,$20       // char 70 'F'
        .byte $08,$0f,$10,$05,$06,$15,$0c,$0c       // char 71 'G'
        .byte $19,$20,$17,$09,$0c,$0c,$20,$0e       // char 72 'H'
        .byte $05,$16,$05,$12,$20,$13,$05,$05       // char 73 'I'
        .byte $20,$14,$08,$05,$20,$0c,$09,$07       // char 74 'J'
        .byte $08,$14,$13,$20,$0f,$06,$20,$14       // char 75 'K'
        .byte $08,$05,$20,$0c,$05,$07,$01,$0c       // char 76 'L'
        .byte $20,$03,$0f,$0d,$10,$15,$14,$05       // char 77 'M'
        .byte $12,$20,$17,$0f,$12,$0c,$04           // char 78 (partial)

txt_0a77:
        .byte $2e                                   // char 78 (partial)
        .byte $20,$20,$20,$20,$02,$12,$0f,$15       // char 79 'O'
        .byte $07,$08,$14,$20,$14,$0f,$20,$19       // char 80 'P'
        .byte $0f,$15,$20,$02,$19,$20,$14,$08       // char 81 'Q'
        .byte $05,$20,$0d,$05,$12,$03,$09,$0c       // char 82 'R'
        .byte $05,$13,$13,$20,$14,$10,$09,$20       // char 83 'S'
        .byte $01,$0e,$04,$20,$15,$0c,$14,$09       // char 84 'T'
        .byte $0d,$01,$18                           // char 85 (partial)

txt_0aab:
        .byte $20,$21,$20,$20,$20                   // char 85 (partial)
        .byte $20,$20,$14,$08,$09,$13,$20,$09       // char 86 'V'
        .byte $13,$20,$01,$20,$0b,$09,$0e,$04       // char 87 'W'
        .byte $20,$01,$20,$10,$12,$05,$16,$09       // char 88 'X'
        .byte $05,$17,$2c,$02,$15,$14,$20,$01       // char 89 'Y'
        .byte $0c,$0c,$20,$07,$01,$0d,$05,$20       // char 90 'Z'
        .byte $06,$15,$0e,$03,$14,$09,$0f,$0e       // char 91 '['
        .byte $13,$20,$01,$12,$05,$20,$10,$05       // char 92 '\'
        .byte $12,$06,$05,$03,$14                   // char 93 (partial)

txt_0aed:
        .byte $20,$21,$20                           // char 93 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 94 '^'
        .byte $20,$20,$20,$20,$20,$20,$20,$2d       // char 95 '_'
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 96 '`'
        .byte $20,$20,$17,$05,$20,$05,$18,$10       // char 97 'a'
        .byte $12,$05,$13,$13,$20,$0f,$15,$12       // char 98 'b'
        .byte $20,$13,$19,$0d,$10,$01,$14,$08       // char 99 'c'
        .byte $19,$20,$14,$0f                       // char 100 (partial)

txt_0b24:
        .byte $3a,$20,$20,$20                       // char 100 (partial)
        .byte $14,$12,$09,$01,$04,$2c,$0a,$05       // char 101 'e'
        .byte $17,$05,$0c,$13,$2c,$10,$01,$10       // char 102 'f'
        .byte $09,$0c,$0c,$09,$0f,$0e,$13,$2c       // char 103 'g'
        .byte $14,$12,$09,$01,$0e,$07,$0c,$05       // char 104 'h'
        .byte $2c,$04,$05,$16,$09,$0c,$13,$2c       // char 105 'i'
        .byte $04,$05,$14,$0f,$0e,$01,$14,$0f       // char 106 'j'
        .byte $12,$2c,$0f,$12,$09,$0f,$0e,$2c       // char 107 'k'
        .byte $14,$0c,$06,$2c,$08,$0f,$14,$0c       // char 108 'l'
        .byte $09,$0e,$05,$2c,$09,$0b,$01,$12       // char 109 'm'
        .byte $09,$2c,$04,$0f,$0d,$09,$0e,$01       // char 110 'n'
        .byte $14,$0f,$12,$13,$2c,$14,$17,$07       // char 111 'o'

spr_0b80:
        .byte $2c,$32,$30,$30,$30,$20,$01,$2e       // char 112 'p'
        .byte $04,$2e,$2c,$04,$03,$15,$2c,$13       // char 113 'q'
        .byte $03,$01,$2c,$01,$18,$09,$0f,$13       // char 114 'r'
        .byte $2c,$15,$10,$06,$12,$0f,$0e,$14       // char 115 's'
        .byte $2c,$10,$0c,$05,$01,$13,$15,$12       // char 116 't'
        .byte $05,$2c,$06,$01,$03,$2c,$01,$03       // char 117 'u'
        .byte $03,$2c,$0d,$01,$04,$20,$13,$11       // char 118 'v'
        .byte $15,$01,$04,$2c,$14,$04,$06,$2c       // char 119 'w'
        .byte $0f,$0e,$0c,$09,$0e,$05,$2c,$12       // char 120 'x'
        .byte $05,$2c,$14,$13,$0b,$2c,$06,$0c       // char 121 'y'
        .byte $14,$2c,$14,$05,$0b,$2c,$14,$0c       // char 122 'z'
        .byte $09,$2c,$0d,$03,$0e,$2c,$08,$03       // char 123 '{'
        .byte $01,$2c,$1a,$05,$14,$12,$05,$18       // char 124 '|'
        .byte $2c,$12,$08,$05,$0e,$15,$13,$20       // char 125 '}'
        .byte $01,$0e,$04,$20,$01,$0c,$0c,$20       // char 126 '~'
        .byte $0f,$14,$08,$05,$12,$13               // char 127 (partial)

txt_0bfe:
        .byte $20,$2e                               // char 127 (partial)

scr_0c00:
        // === VIC register table (312 bytes, $0c00-$0d37) ===
        .text "...     "
        .byte $17,$12,$09,$14,$05
        .byte $20,$14,$0f
        .byte $3a,$20,$03,$2b,$0c,$2c,$10,$0c,$0b   // : .+.,...

txt_0c19:
        .text " 042319 "
        .byte $03                                   // .

txt_0c22:
        .text ",2400 "
        .byte $0c,$15,$05,$02,$05,$03,$0b           // .......

txt_0c2f:
        .text " 1  "
        .byte $0f,$12,$20,$20,$20,$0d,$03,$0c,$2c,$10,$0c,$0b,$20 // ..   ...,... 

spr_0c40:
        .byte $01                                   // .

txt_0c41:
        .text " 015014,6231 "
        .byte $13,$03,$08,$17,$01,$0c,$02,$01,$03,$08,$2c,$02,$0f,$14,$08,$20 // ..........,.... 
        .byte $17,$05,$13,$14,$2d,$07,$05,$12,$0d,$01,$0e,$19 // ....-.......

txt_0c6a:
        .text " !  "
        .byte $07,$0f,$0f,$04,$20,$0e,$09,$07,$08,$14 // .... .....

txt_0c78:
        .text " .  "
        .byte $ff                                   // .

dat_0c7d:
        .text "                                                                                                                                  "
        .byte $ff                                   // .

tbl_0d00:
        .byte $00,$00,$00,$ff,$ff,$ff,$fa,$fa,$00,$00,$00,$ff,$ff,$ff,$aa,$aa // ................
        .byte $00,$00,$00,$ff,$ff,$ff,$aa,$55,$00,$00,$00,$ff,$ff,$ff,$aa,$65 // .......U.......e
        .byte $00,$00,$00,$ff,$ff,$ff,$aa,$69,$00,$00,$00,$ff,$ff,$ff,$aa,$59 // .......i.......Y
        .byte $00,$00,$00,$ff,$ff,$ff,$aa,$99,$00,$00,$00,$ff,$ff,$ff,$aa,$5a // ...............Z
        .byte $00,$00,$00,$ff,$fd,$f5,$94,$94,$fa,$fa,$fa,$fa,$fa,$fa,$fa,$fa // ................
        .byte $aa,$aa,$aa,$aa,$aa,$a9,$a9,$a9,$aa,$aa,$aa,$aa,$aa,$55,$55,$55 // .............UUU
        .byte $66,$66,$6a,$6a,$aa,$55,$55,$55,$66,$66,$66,$66,$aa // ffjj.UUUffff.

txt_0d6d:
        .text "UUU"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $a9,$a9,$69,$aa                       // ..i.

txt_0d75:
        .text "UUU"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $a9,$a9,$59,$aa,$55,$55,$55,$99,$99,$99,$59,$aa // ..Y.UUU...Y.

txt_0d85:
        .text "UUU"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $a9,$aa,$a9,$aa                       // ....

txt_0d8d:
        .text "UUU"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $59,$99,$59,$aa                       // Y.Y.

txt_0d95:
        .text "UUU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $aa,$a9,$a9,$a5                       // ....

txt_0d9d:
        .text "UTTPP"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$a9,$a9,$a9,$a9,$a9,$a9,$a9,$a9 // ...........

txt_0db0:
        .text "PPPPPPP"
        .byte $5f,$00,$00,$00,$00,$00,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00 // _...............
        .byte $fd,$ff,$ff,$ff,$fa,$fa,$fa,$fa,$fa,$ff,$ff,$ff,$a9,$a9,$a9,$a9 // ................
        .byte $a9,$ff,$df,$5f,$5f,$5f,$5f,$5f,$5f,$ff,$ff,$ff,$aa,$aa,$aa,$aa // ...______.......
        .byte $aa,$fd,$f5,$d5,$95,$95,$95,$95,$95,$ff,$ff,$ff,$a9,$a5,$a5,$94 // ................
        .byte $94,$f0,$d0,$40,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ...@@...........
        .byte $00,$a9,$a9,$aa,$aa,$aa,$aa,$aa,$aa,$7f,$ff,$aa,$aa,$aa,$aa,$aa // ................
        .byte $aa,$ff,$ff,$aa,$aa,$aa,$aa,$aa,$aa,$f5,$d5,$95,$95,$95,$95,$95 // ................
        .byte $95,$5f,$5f,$5f,$5f,$5f,$5f,$7f,$ff,$aa,$aa,$aa,$aa,$aa,$aa,$aa // .______.........
        .byte $aa,$95,$95,$95,$95,$95,$95,$95,$95,$aa,$aa,$a9,$a9,$a9,$a9,$a9 // ................
        .byte $a9,$aa,$aa,$55,$57,$5f,$5f,$7f,$ff,$aa,$aa // ...UW__....

txt_0e52:
        .byte $55,$55,$55,$50,$50,$50               // char 202 (partial)
        .byte $aa,$aa,$55,$55,$55,$00,$00,$00       // char 203
        .byte $fa,$fa,$f5,$d5,$55,$00,$00,$00       // char 204
        .byte $aa,$aa,$55,$55,$55,$15,$15,$15       // char 205
        .byte $aa,$aa,$a9,$a5,$95,$a5,$a9,$aa       // char 206
        .byte $95                                   // char 207 (partial)

txt_0e79:
        .byte $55,$54,$50,$40,$50,$54,$55           // char 207 (partial)
        .byte $a9,$a9,$a9,$a9,$a9,$a9,$a9,$aa       // char 208
        .byte $50,$50,$50,$50,$5f,$7f,$ff,$aa       // char 209
        .byte $00,$00,$00,$00,$ff,$ff,$ff,$aa       // char 210
        .byte $00,$00,$00,$00,$fd,$f5,$d5,$95       // char 211
        .byte $00,$00,$00,$00,$03,$03,$0f,$0f       // char 212
        .byte $15,$15,$15,$f5,$fd,$ff,$aa,$aa       // char 213
        .byte $55,$57,$5f,$5f,$5f,$5f,$5f,$5f       // char 214
        .byte $fa,$fa,$fa,$fa,$fa,$fa,$fa,$f5       // char 215
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$55       // char 216
        .byte $00,$00,$00,$00,$03,$03,$0d,$05       // char 217
        .byte $3e,$3e,$fa,$fa,$ea,$55,$55,$55       // char 218
        .byte $95,$95,$95,$95,$95,$55,$55,$55       // char 219
        .byte $fa,$fa,$fa,$fa,$fa,$f5,$d5,$55       // char 220
        .byte $a9,$a9,$a9,$a9,$a9,$55,$55,$55       // char 221
        .byte $5f,$5f,$5f,$5f,$5f,$5f,$5d,$55       // char 222
        .byte $d5,$55,$55,$00,$00,$00,$00,$00       // char 223
        .byte $55,$55,$55,$00,$00,$00,$00,$00       // char 224
        .byte $55,$55,$55,$15,$15,$15,$15,$15       // char 225
        .byte $3f,$3f,$ff,$fa,$ea,$ea,$aa,$aa       // char 226
        .byte $f5,$fd,$ff,$aa,$aa,$aa,$aa,$aa       // char 227
        .byte $3e,$3e,$f5,$d5,$55,$00,$00,$00       // char 228
        .byte $95,$95,$55,$55,$55,$00,$00,$00       // char 229

txt_0f30:
        .byte $2a,$2a,$2a,$2a,$2a,$2a,$2a,$2a       // char 230

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

// --- Region $111f-$1142 ---
.pc = $111f "Segment $111f"
        .encoding "screencode_mixed"
        .byte $fe,$d1                               // scrcode: ..
        .text "s"
        .byte $b1,$6d                               // scrcode: ..
        .text "jjj"
        .byte $9d,$e4                               // scrcode: ..
        .text "s"
        .byte $a8,$b9,$b6                           // scrcode: ...
        .text "u"
        .byte $48                                   // scrcode: .
        .text ")o"
        .byte $9d,$e7                               // scrcode: ..
        .text "s"
        .byte $9d,$f6                               // scrcode: ..
        .text "s"
        .byte $68                                   // scrcode: .
        .text ")"
        .byte $f0,$9d,$e5                           // scrcode: ...
        .text "s"
        .byte $9d,$e6                               // scrcode: ..
        .text "s"
        .byte $4c,$f1                               // scrcode: ..
        .text "p"
        .encoding "petscii_upper"

// --- Region $13cd-$1520 ---
.pc = $13cd "Segment $13cd"
        .encoding "screencode_mixed"
        .fill 14, $00                               // scrcode: @@@@@@@@@@@@@@
        .text "a@@@@a0@o0o"
        .byte $50                                   // scrcode: .
        .text "da@o"
        .byte $40,$f0,$60                           // scrcode: ...
        .text "c@@ox"
        .byte $b0                                   // scrcode: .
        .text " ia@1wb@k@@"
        .byte $4f                                   // scrcode: .
        .encoding "petscii_upper"

scr_1400:
        // === Screen RAM (289 bytes, $1400-$1520) ===
        .encoding "screencode_mixed"
        .text "wb@kja"
        .byte $82                                   // scrcode: .
        .text "wb@k@aac"
        .byte $70                                   // scrcode: .
        .text "@"
        .byte $ff,$77,$77                           // scrcode: ...
        .text "g"
        .byte $22                                   // scrcode: "
        .text "g@@"
        .byte $bb,$bb                               // scrcode: ..
        .text "cvc@@"
        .byte $b5,$b5                               // scrcode: ..
        .text "w6wdca"
        .text "0bb@@"
        .byte $22                                   // scrcode: "
        .text "@@@@@@v@@@@@@6a@@@@@@a@@@@@@@@@@@@"
        .text "@l"
        .byte $1c                                   // scrcode: .
        .text "->"
        .byte $51,$66,$7b,$91,$a9,$c3,$dd,$fa       // scrcode: ........
        .text "x8"
        .byte $5a,$7d,$a3,$cc,$f6                   // scrcode: .....
        .text "#"
        .byte $53,$86,$bb,$f4                       // scrcode: ....
        .text "0"
        .byte $70,$b4,$fb,$47,$98,$ed,$47,$a7       // scrcode: ........
        .text "l"
        .byte $77,$e9,$61,$e1,$68                   // scrcode: .....
        .byte $f7,$8f                               // scrcode: ..
        .text "0"
        .byte $da,$8f,$4e                           // scrcode: ...
        .text "x"
        .byte $ef,$d2,$c3,$c3,$d1,$ef,$1f,$60,$b5,$1e,$9c // scrcode: ...........
        .text "1"
        .byte $df,$a5,$87,$86,$a2,$df               // scrcode: ......
        .text ">"
        .byte $c1,$6b                               // scrcode: ..
        .text "<9"
        .byte $63,$be,$4b                           // scrcode: ...
        .text "ol"
        .byte $45,$bf,$7d,$83,$d6                   // scrcode: .....
        .byte $79,$73,$c7,$7c,$97,$1e               // scrcode: ......
        .text "x"
        .byte $8b,$7e,$fa                           // scrcode: ...
        .text "f"
        .byte $ac,$f3,$e6,$8f,$f8                   // scrcode: .....
        .text ".aaaaaaaaaaaabbbbbbbcccc"
        .text "cddddeeeffggghhiijkklmnnopqrsuvwyz"
        .byte $1c,$1d,$1f                           // scrcode: ...
        .encoding "petscii_upper"

txt_14ed:
        .text "!#%'*,/258;?CGKOTY"
        .encoding "screencode_mixed"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // scrcode: ................
        .byte $ee,$fd                               // scrcode: ..
        .text "wu"
        .byte $1b                                   // scrcode: .
        .text "u"
        .byte $1f                                   // scrcode: .
        .text "u@eil@dgl@l"
        .encoding "petscii_upper"

// --- Region $152c-$1556 ---
.pc = $152c "scr_152c"

scr_152c:
        // === Screen RAM (43 bytes, $152c-$1556) ===
        .encoding "screencode_mixed"
        .byte $78,$a9,$42,$8d                       // scrcode: ....
        .text "tc"
        .byte $a9                                   // scrcode: .
        .text "u"
        .byte $8d                                   // scrcode: .
        .text "uc"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $8e                                   // scrcode: .
        .text "n"
        .byte $dc,$e8,$8e                           // scrcode: ...
        .text "z"
        .byte $d0,$58,$60,$a9                       // scrcode: ....
        .text "a"
        .byte $8d                                   // scrcode: .
        .text "y"
        .byte $d0,$a9,$82,$8d                       // scrcode: ....
        .text "r"
        .byte $d0,$a9,$1b,$8d                       // scrcode: ....
        .text "q"
        .byte $d0                                   // scrcode: .
        .text " "
        .byte $57                                   // scrcode: .
        .text "u"
        .byte $4c                                   // scrcode: .
        .text "1"
        .byte $ea                                   // scrcode: .
        .encoding "petscii_upper"

// --- Region $1567-$1577 ---
.pc = $1567 "scr_1567"

scr_1567:
        .text "(C)1987 MATT GRAY"

// --- Region $15b7-$16e3 ---
.pc = $15b7 "Segment $15b7"
        .encoding "screencode_mixed"
        .byte $81                                   // scrcode: .
        .text "i@@@"
        .byte $80                                   // scrcode: .
        .text "a*"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $60,$70,$40,$40                       // scrcode: ....
        .text "f@"
        .byte $81                                   // scrcode: .
        .text "h@@@"
        .byte $80                                   // scrcode: .
        .text "a*"
        .byte $41                                   // scrcode: .
        .text "@"
        .byte $60,$70,$41,$40                       // scrcode: ....
        .text "f@@@@@@@@"
        .byte $f1                                   // scrcode: .
        .byte $41                                   // scrcode: .
        .text "i@5@"
        .byte $40                                   // scrcode: .
        .text "b"
        .byte $51,$41                               // scrcode: ..
        .text "m@%@"
        .byte $40                                   // scrcode: .
        .text "b"
        .byte $51,$41                               // scrcode: ..
        .text "j@%@"
        .byte $40                                   // scrcode: .
        .text "b"
        .byte $60,$41                               // scrcode: ..
        .text "m@0@"
        .byte $40                                   // scrcode: .
        .text "b"
        .byte $c0,$41                               // scrcode: ..
        .text "@"
        .byte $90,$45                               // scrcode: ..
        .text "@"
        .byte $40                                   // scrcode: .
        .text "b"
        .byte $51                                   // scrcode: .
        .byte $41                                   // scrcode: .
        .text "k@0"
        .byte $42,$40                               // scrcode: ..
        .text "@"
        .byte $40,$41                               // scrcode: ..
        .text "i@"
        .byte $50,$42,$40                           // scrcode: ...
        .text "b"
        .byte $c0,$41                               // scrcode: ..
        .text "@"
        .byte $90,$45                               // scrcode: ..
        .text "@"
        .byte $40                                   // scrcode: .
        .text "@"
        .byte $90,$41                               // scrcode: ..
        .text "@"
        .byte $90,$c0                               // scrcode: ..
        .text "@"
        .byte $40                                   // scrcode: .
        .text "@@um@@@t@@"
        .text "@@ac@@@@@"
        .byte $81                                   // scrcode: .
        .text "@@@@@@@@ac@@@@@"
        .byte $81                                   // scrcode: .
        .text "@@@@@@@@@@@@@@"
        .text "@"
        .byte $81                                   // scrcode: .
        .text "@@@@@@@"
        .byte $81                                   // scrcode: .
        .text "@@@@@@@@@@@@@@@@@@@@@0b@@@@@@@"
        .fill 15, $00                               // scrcode: @@@@@@@@@@@@@@@
        .text "0b@@@@@@0b@@@@@@@@@"
        .byte $d5                                   // scrcode: .
        .text "d@@@"
        .byte $b7,$bd,$fb,$d8                       // scrcode: ....
        .text "ajy"
        .byte $22,$49,$71,$7a,$bf,$ce,$e3,$f9,$1e   // scrcode: "........
        .byte $43,$b2,$c4,$d0,$df,$e8               // scrcode: ......
        .text "wwwwxxxxxxxxxxxyyyyyyy@1g@wz@"
        .byte $4f                                   // scrcode: .
        .text "i@wz"
        .text "@"
        .byte $82                                   // scrcode: .
        .text "k@wz"
        .encoding "petscii_upper"

// --- Region $174d-$1a1f ---
.pc = $174d "scr_174d"

scr_174d:
        // === Screen RAM (179 bytes, $174d-$17ff) ===
        .encoding "screencode_mixed"
        .text "t"
        .byte $ff                                   // scrcode: .
        .text "ff@ccccccccccccccjccccccjccccccccccccc"
        .text "cjcccccccc@@"
        .byte $ff                                   // scrcode: .
        .text "eeaaaaaaaaaaaaaaaaeaaaaaaea"
        .fill 13, $01                               // scrcode: AAAAAAAAAAAAA
        .text "euusaaaaaaaa"
        .byte $ff,$fd                               // scrcode: ..
        .text "?"
        .byte $fa                                   // scrcode: .
        .text "d@"
        .byte $ff,$fa                               // scrcode: ..
        .text "a"
        .byte $fd                                   // scrcode: .
        .text "a8888"
        .byte $fa                                   // scrcode: .
        .text "c6666"
        .byte $fa                                   // scrcode: .
        .text "a6666"
        .byte $fa                                   // scrcode: .
        .text "c6666"
        .byte $ff,$fa                               // scrcode: ..
        .text "g"
        .byte $fd                                   // scrcode: .
        .text "ayy"
        .byte $fa                                   // scrcode: .
        .text "@1"
        .byte $fa                                   // scrcode: .
        .text "gy"
        .byte $1e,$1e,$fa                           // scrcode: ...
        .text "@1"
        .byte $fa                                   // scrcode: .
        .text "g"
        .byte $1e                                   // scrcode: .
        .text "##"
        .byte $fa                                   // scrcode: .
        .text "@1"
        .byte $fa                                   // scrcode: .
        .text "g#"
        .byte $22,$22,$fa                           // scrcode: "".
        .text "@12"
        .byte $ff,$fd                               // scrcode: ..
        .text "o"
        .byte $fa                                   // scrcode: .
        .text "d@"
        .encoding "petscii_upper"

chr_1800:
        // === Charset data (544 bytes, $1800-$1a1f) ===
        .byte $ff,$fa,$06,$fd,$0f,$19,$1e,$23       // char 0 @+0
        .byte $22,$ff,$fa,$01,$fd,$0f,$38,$fa       // char 1 @+1
        .byte $03,$36,$fa,$01,$36,$fa,$03,$36       // char 2 @+2
        .byte $ff,$fa,$08,$fd,$0f,$19,$1e,$17       // char 3 @+3
        .byte $16,$ff,$fa,$09,$fd,$0f,$38,$fd       // char 4 @+4
        .byte $05,$3a,$3b,$fd,$03,$3a,$fd,$0f       // char 5 @+5
        .byte $38,$fd,$07,$36,$35,$fd,$0f,$38       // char 6 @+6
        .byte $fd,$03,$31,$2f,$31,$35,$fd,$07       // char 7 @+7

txt_1840:
        .byte $35,$31,$33,$31,$35,$31,$33,$31       // char 8 @+8
        .byte $ff,$fa,$06,$fd,$03,$19,$19,$00       // char 9 @+9
        .byte $00,$fd,$0e,$00,$fd,$00,$14,$ff       // char 10 @+10
        .byte $1a,$1a,$21,$26,$1a,$1a,$21,$26       // char 11 @+11
        .byte $17,$17,$1e,$23,$17,$17,$1e,$23       // char 12 @+12
        .byte $14,$14,$1b,$20,$14,$14,$1b,$20       // char 13 @+13
        .byte $ff,$fa,$09,$fd,$0f,$38,$3a,$3b       // char 14 @+14
        .byte $3d,$ff,$fa,$07,$fd,$01,$19,$19       // char 15 @+15
        .byte $fa,$00,$31,$fa,$07,$19,$19,$19       // char 16 @+16
        .byte $fa,$00,$31,$fa,$07,$19,$1e,$1e       // char 17 @+17
        .byte $fa,$00,$31,$fa,$07,$1e,$1e,$1e       // char 18 @+18
        .byte $fa,$00,$31,$fa,$07,$1e,$1c,$1c       // char 19 @+19
        .byte $fa,$00,$31,$fa,$07,$1c,$1c,$1c       // char 20 @+20
        .byte $fa,$00,$31,$fa,$07,$1c,$1e,$1e       // char 21 @+21
        .byte $fa,$00,$31,$fa,$07,$1e,$1e,$1e       // char 22 @+22
        .byte $fa,$00,$31,$fa,$07,$1e,$ff,$fa       // char 23 @+23
        .byte $09,$fd,$03,$41,$41,$00,$00,$fd       // char 24 @+24
        .byte $0d,$00,$fd,$01,$3d,$ff,$fa,$09       // char 25 @+25
        .byte $fd,$03                               // char 26 (partial)

txt_18d2:
        .byte $41,$41,$42,$42,$44,$44               // char 26 (partial)
        .byte $42,$42,$41,$41,$42,$42,$3f,$3f       // char 27 @+27
        .byte $41,$3d,$ff,$fa,$09,$fd,$01           // char 28 (partial)

txt_18e7:
        .byte $41                                   // char 28 (partial)
        .byte $3d,$38,$35,$36,$3a,$3d,$3a,$40       // char 29 @+29
        .byte $3f,$3d,$3b,$3a,$38,$3a,$36,$ff       // char 30 @+30
        .byte $ff,$fa,$09,$fd,$00                   // char 31 (partial)

txt_18fd:
        .byte $3d,$3b,$3d                           // char 31 (partial)
        .byte $3b,$3d,$3b,$3d,$3b,$3d,$3b,$3d       // char 32 ' '
        .byte $3b,$3d,$3b,$3d,$3b,$3d,$3b,$3d       // char 33 '!'
        .byte $3b,$3d,$3b,$3d,$3b,$3d,$3b,$3d       // char 34 '"'
        .byte $3b,$3d,$3b,$3d,$3b,$ff,$fa,$09       // char 35 '#'
        .byte $fd,$00                               // char 36 (partial)

txt_1922:
        .byte $40,$3d,$40,$3d,$40,$3d               // char 36 (partial)
        .byte $40,$3d,$40,$3d,$40,$3d,$40,$3d       // char 37 '%'
        .byte $40,$3d,$40,$3d,$40,$3d,$40,$3d       // char 38 '&'
        .byte $40,$3d,$40,$3d,$40,$3d,$40,$3d       // char 39 '''
        .byte $40,$3d,$ff,$fa,$0c,$fd,$09,$3b       // char 40 '('
        .byte $fd,$05,$fc,$23,$3b,$fd,$09,$3d       // char 41 ')'
        .byte $fd,$05,$fb,$23,$3d,$fd,$00           // char 42 (partial)

txt_1957:
        .byte $3d                                   // char 42 (partial)
        .byte $3b,$38,$3d,$3b,$38,$3d,$3b,$38       // char 43 '+'
        .byte $3d,$3b,$38,$3d,$3b,$38,$38,$fd       // char 44 ','
        .byte $09,$38,$fd,$05,$fb,$30,$38,$fd       // char 45 '-'
        .byte $00                                   // char 46 (partial)

txt_1971:
        .byte $44,$47,$44,$47,$44,$47,$44           // char 46 (partial)
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 47 '/'
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 48 '0'
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 49 '1'
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 50 '2'
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 51 '3'
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 52 '4'
        .byte $47,$44,$47,$44,$47,$44,$47,$44       // char 53 '5'
        .byte $47,$ff,$fa,$0d,$fd,$3f,$fc,$20       // char 54 '6'
        .byte $3b,$fa,$0e,$31,$ff,$3d,$fd,$0f       // char 55 '7'
        .byte $3e,$40,$3f,$ff,$fa,$0c,$fd,$0f       // char 56 '8'
        .byte $3b,$fc,$0f,$3b,$fd,$1f,$3d,$ff       // char 57 '9'
        .byte $fd,$00,$00,$fa,$0c,$fd,$0f,$3b       // char 58 ':'
        .byte $fc,$0f,$3b,$fd,$1e,$3d,$ff,$fa       // char 59 ';'
        .byte $0c,$fd,$7f,$31,$fd,$7f,$3d,$ff       // char 60 '<'
        .byte $fa,$07,$fd,$01,$19,$19,$25,$19       // char 61 '='
        .byte $19,$25,$19,$19,$19,$25,$19,$25       // char 62 '>'
        .byte $25,$19,$25,$19,$ff                   // char 63 (partial)

txt_19fd:
        .byte $28,$43,$29                           // char 63 (partial)
        .byte $31,$39,$38,$37,$20,$4d,$47,$15       // char 64 '@'
        .byte $ff,$03,$ff,$15,$ff,$00,$00,$00       // char 65 'A'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 66 'B'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 67 'C'

// --- Region $1a26-$1a26 ---
.pc = $1a26 "dat_1a26"

dat_1a26:
        // === Fill data (1 bytes, $1a26-$1a26) ===
        .byte $00                                   // .

// --- Region $1a80-$1aa0 ---
.pc = $1a80 "dat_1a80"

dat_1a80:
        .byte $09,$0e,$14,$12,$0f,$20               // char 11 (partial)
        .byte $02,$19,$20,$0d,$12,$2e,$03,$15       // char 12 @+12
        .byte $12,$13,$0f,$12,$2f,$13,$08,$01       // char 13 @+13
        .byte $12,$0b,$13                           // char 14 (partial)

txt_1a99:
        .byte $20,$21,$21,$21,$21                   // char 14 (partial)
        .byte $21,$21                               // char 15 (partial)

dat_1aa0:
        // === Fill data (1 bytes, $1aa0-$1aa0) ===
        .byte $00                                   // .

// --- Region $1b00-$20d8 ---
.pc = $1b00 "dat_1b00"

dat_1b00:
        .byte $15,$14,$16,$00,$00,$4d               // char 27 (partial)
        .byte $16,$6e,$16,$b8,$16,$b8,$16,$e4       // char 28 @+28
        .byte $16,$e4,$16,$4d,$16,$4d,$16,$6e       // char 29 @+29
        .byte $16,$b8,$16,$b8,$16,$e4,$16,$e4       // char 30 @+30
        .byte $16,$4d,$16,$6e,$16,$8f,$16,$af       // char 31 @+31
        .byte $16,$b8,$16,$8f,$16,$af,$16,$b8       // char 32 ' '
        .byte $16,$c9,$16,$c9,$16,$d2,$16,$d2       // char 33 '!'
        .byte $16,$db,$16,$db,$16,$e4,$16,$4d       // char 34 '"'
        .byte $16,$8f,$16,$8f,$16,$b8,$16,$af       // char 35 '#'
        .byte $16,$af,$16,$e4,$16,$b8,$16,$f5       // char 36 '$'
        .byte $16,$6e,$16,$8f,$16,$8f,$16,$b8       // char 37 '%'
        .byte $16,$af,$16,$af,$16,$e4,$16,$b8       // char 38 '&'
        .byte $16,$f5,$16,$6e,$16,$4d,$16,$6e       // char 39 '''
        .byte $16,$b8,$16,$b8,$16,$e4,$16,$e4       // char 40 '('
        .byte $16,$4d,$16,$4d,$16,$8f,$16,$8f       // char 41 ')'
        .byte $16,$b8,$16,$af,$16,$af,$16,$e4       // char 42 '*'
        .byte $16,$b8,$16,$f5,$16,$6e,$16,$8f       // char 43 '+'
        .byte $16,$8f,$16,$b8,$16,$af,$16,$af       // char 44 ','
        .byte $16,$e4,$16,$b8,$16,$f5,$16,$6e       // char 45 '-'
        .byte $16,$00,$00,$01,$15,$0e,$15,$01       // char 46 '.'
        .byte $15,$48,$15,$7d,$15,$01,$15,$48       // char 47 '/'
        .byte $15,$7d,$15,$00,$00,$8d,$17,$05       // char 48 '0'
        .byte $18,$99,$18,$a9,$05,$8d,$01,$10       // char 49 '1'
        .byte $a9,$6f,$8d,$02,$10,$a9,$07,$8d       // char 50 '2'
        .byte $00,$10,$a5,$fb,$48,$a5,$fc,$48       // char 51 '3'
        .byte $a9,$ab,$85,$fb,$a9,$18,$85,$fc       // char 52 '4'
        .byte $20,$1a,$14,$68,$85,$fc,$68,$85       // char 53 '5'
        .byte $fb,$60                               // char 54 (partial)

dat_1bd8:
        // === Fill data (40 bytes, $1bd8-$1bff) ===
        .fill 40, $ea

spr_1c00:
        .byte $00,$00,$00,$00,$00,$00               // char 59 (partial)
        .byte $00,$06,$06,$06,$06,$06,$06,$0e       // char 60 '<'
        .byte $06,$0e,$0e,$0e,$03,$0e,$03,$03       // char 61 '='
        .byte $0e,$0f,$0f,$0d,$0d,$0f,$07,$0f       // char 62 '>'
        .byte $0d,$01,$0d,$0f,$0a,$08,$02,$09       // char 63 '?'
        .byte $00,$00,$00,$00,$06,$0b,$0c,$0f       // char 64 '@'
        .byte $0d,$01,$0d,$07,$0a,$08,$02,$09       // char 65 'A'
        .byte $00,$0b,$06,$0e,$03,$01,$0f,$0c       // char 66 'B'
        .byte $0b,$06,$0a,$0f,$07,$01,$07,$0f       // char 67 'C'
        .byte $0a,$09,$02,$0a,$0f,$07,$01,$01       // char 68 'D'
        .byte $07,$0f,$0a,$02,$09,$00,$00,$0b       // char 69 'E'
        .byte $0c,$0f,$0d,$01,$01,$0d,$0f,$0c       // char 70 'F'
        .byte $0b,$06,$00,$0b,$05,$03,$0d,$01       // char 71 'G'
        .byte $01,$0d,$03,$05,$0b,$00,$06,$0b       // char 72 'H'
        .byte $0e,$03,$01,$01,$03,$0e,$0b,$06       // char 73 'I'
        .byte $00,$0b,$0c,$0f,$01,$01,$0f,$0c       // char 74 'J'
        .byte $0b,$00,$00,$09,$02,$08,$0a,$08       // char 75 'K'
        .byte $02,$09,$00                           // char 76 (partial)

dat_1c89:
        // === Fill data (118 bytes, $1c89-$1cfe) ===
        .fill 118, $ea
        .byte $fe                                   // char 91 (partial)

dat_1d00:
        .text "                                                                                                                                                                                                                                                                                                                                                                                        "
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $c0,$c0,$c0,$a0,$a1                   // char 138 (partial)
        .byte $a1,$a1,$a1,$a1,$a1,$a1,$a1,$a1       // char 139
        .byte $a1,$a1,$a1,$a1,$a1,$a1,$a1,$a1       // char 140
        .byte $a1,$a1,$a1,$a1,$a1,$a1,$a1,$a1       // char 141
        .byte $a2,$a3,$a4,$a5,$a6,$a5,$a5,$a5       // char 142
        .byte $a7,$a8,$c0,$c0,$c0,$c0,$a9,$aa       // char 143
        .byte $ab,$ab,$ab,$ab,$ab,$ab,$ab,$ab       // char 144
        .byte $ab,$ab,$ab,$ab,$ab,$ab,$ab,$ab       // char 145
        .byte $ab,$ab,$ab,$ab,$ab,$ab,$ab,$ab       // char 146
        .byte $ac,$ad,$ae,$af,$b0,$b1,$b2,$b0       // char 147
        .byte $b3,$b4,$c0,$c0,$c0,$c0,$a9,$b5       // char 148
        .byte $b6,$b7,$b7,$b8,$b9,$ba,$bb,$bc       // char 149
        .byte $bd,$b9,$bc,$bc,$bc,$bd,$b9,$bc       // char 150
        .byte $bc,$bc,$bd,$b9,$ba,$bb,$bc,$bd       // char 151
        .byte $b9,$bc,$bc,$bc,$bc,$bc,$bc,$be       // char 152
        .byte $bf,$c0,$c0,$c0,$c0,$c0,$a9,$c1       // char 153
        .byte $c2,$c3,$c3,$c4,$a9,$b5,$c5,$c6       // char 154
        .byte $c7,$a9                               // char 155 (partial)

spr_1f00:
        .byte $c8,$c9,$c6,$c7,$a9,$c8               // char 155 (partial)
        .byte $c9,$c6,$c7,$a9,$b5,$c5,$c6,$c7       // char 156
        .byte $a9,$c8,$ca,$cb,$cb,$cb,$cb,$b4       // char 157
        .byte $c0,$c0,$c0,$c0,$c0,$c0,$cc,$cb       // char 158
        .byte $cb,$cd,$c6,$c7,$a9,$c6,$c6,$c6       // char 159
        .byte $c7,$a9,$c6,$c6,$c6,$c7,$a9,$c6       // char 160
        .byte $c6,$ce,$cf,$a9,$c6,$c6,$ce,$cf       // char 161
        .byte $a9,$d0,$d1,$d2,$d2,$d3,$c0,$c0       // char 162
        .byte $c0,$c0,$c0,$c0,$d4,$a1,$a1,$a1       // char 163
        .byte $a1,$d5,$c6,$c7,$a9,$b5,$d6,$c6       // char 164
        .byte $c7,$a9,$b5,$d6,$c6,$c7,$a9,$b5       // char 165
        .byte $d6,$c6,$c7,$a9,$b5,$d6,$c6,$c7       // char 166
        .byte $d7,$d8,$d8,$d8,$c6,$c7,$c0,$c0       // char 167
        .byte $c0,$c0,$c0,$d9,$da,$ab,$ab,$ab       // char 168
        .byte $ab,$ab,$ab,$db,$dc,$dd,$de,$ab       // char 169
        .byte $db,$dc,$dd,$de,$ab,$db,$dc,$dd       // char 170
        .byte $de,$ab,$db,$dc,$dd,$de,$ab,$db       // char 171
        .byte $df,$e0,$e0,$e1,$c6,$c7,$c0,$c0       // char 172
        .byte $c0,$c0,$d4,$e2,$bc,$bc,$bc,$bc       // char 173
        .byte $bc,$bc,$bc,$bc,$bc,$bc,$bc,$bc       // char 174
        .byte $bc,$bc,$bc,$bc,$bc,$bc,$bc,$bc       // char 175
        .byte $bc,$bc,$bc,$bc,$bc,$bc,$bc,$bc       // char 176
        .byte $bc,$bc,$bc,$e3,$c6,$c7,$c0,$c0       // char 177
        .byte $c0,$c0,$e4                           // char 178 (partial)

dat_1fb9:
        // === Fill data (34 bytes, $1fb9-$1fda) ===
        .fill 34, $cb
        .byte $e5,$c0,$c0                           // char 182 (partial)
        .byte $c0,$c0                               // char 183 (partial)

txt_1fe0:
        .byte $20,$20,$20,$20,$13,$0f               // char 183 (partial)
        .byte $0c,$09,$04,$20,$01,$06,$12,$09       // char 184
        .byte $03,$01                               // char 185 (partial)

txt_1ff0:
        .byte $2b,$20,$20,$20,$20,$20               // char 185 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 186
        .byte $20,$20                               // char 187 (partial)

spr_2000:
        // === Bitmap data (217 bytes, $2000-$20d8) ===
        .byte $00,$00,$00,$00,$02,$09,$25,$95,$aa,$95,$95,$95,$97,$97,$97,$95 // ......%.........
        .byte $aa,$95,$95,$95,$bf,$aa,$95,$95,$aa,$95,$95,$95,$97,$97,$97,$97 // ................
        .byte $aa,$95,$95,$95,$97,$97,$97,$97,$aa,$95,$95,$95,$97,$96,$95,$95 // ................
        .byte $aa,$95,$95,$95,$97,$96,$95,$95,$aa,$95,$95,$95,$97,$97,$97,$97 // ................
        .byte $aa,$97,$97,$97,$97,$97,$95,$95,$0a,$09,$09,$09,$09,$09,$09,$09 // ................
        .fill 8, $00
        .byte $aa,$97,$97,$97,$97,$97,$95,$95,$aa,$97,$97,$97,$97,$97,$97,$97 // ................
        .byte $a0,$a8,$9a,$96,$95,$95,$95,$97,$aa,$95,$95,$95,$95,$97,$97,$97 // ................
        .byte $aa,$95,$95,$95,$95,$97,$97,$97,$aa,$95,$95,$95,$bf,$aa,$95,$95 // ................
        .byte $aa,$95,$95,$95,$95,$97,$97,$97,$aa,$95,$95,$95,$bf,$aa,$95,$95 // ................
        .byte $aa,$95,$95,$95,$97,$96,$95,$95,$aa,$95,$95,$95,$bd,$09,$09,$09 // ................
        .byte $aa,$97,$97,$97,$97,$97,$97,$97,$aa,$97,$97,$97,$97,$97,$97,$95 // ................
        .byte $aa,$97,$97,$97,$97,$97,$97,$97,$ab,$97,$97,$97,$97,$95,$a5,$29 // ...............)
        .byte $aa,$97,$97,$97,$97,$97,$95,$95,$aa,$95,$95,$95,$bf,$02,$0a,$09 // ................

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

// --- Region $2108-$2110 ---
.pc = $2108 "dat_2108"

dat_2108:
        .byte $0a,$09,$09,$09,$09,$09,$09,$09       // ........

dat_2110:
        // === Fill data (1 bytes, $2110-$2110) ===
        .byte $00                                   // .

// --- Region $2138-$21df ---
.pc = $2138 "dat_2138"

dat_2138:
        .byte $0a,$09,$09,$0a,$09,$0b,$00,$00,$00,$02,$02,$0a,$09,$09,$09,$09 // ................
        .text "*'%%)"
        .byte $09,$09,$09,$00,$00,$00,$00,$00,$00,$00,$00
        .byte $00,$0a,$09,$09,$09,$a9,$95,$95,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$2a,$25,$25,$00,$00,$00,$00,$00,$00,$00,$00 // .....*%%........
        .byte $00,$00,$00,$02,$02,$0a,$09,$29,$aa,$95,$95,$95,$97,$97,$97,$97 // .......)........
        .byte $0a,$09,$09,$09,$09,$09,$09,$09,$aa,$95,$95,$95,$bf,$aa,$95,$95 // ................
        .byte $aa,$95,$95,$95,$97,$be,$09,$09,$aa,$97,$97,$97,$97,$97,$95,$95 // ................
        .byte $aa,$95,$95,$95,$97,$96,$95,$95,$aa,$95,$95,$95,$97,$96,$95,$95 // ................
        .byte $aa,$95,$95,$95,$bf,$00,$00,$00,$aa,$95,$95,$95,$97,$96,$95,$95 // ................
        .byte $aa,$95,$95,$95,$97,$96,$95,$95,$00,$00,$00,$0a,$09,$09,$09,$0b // ................
        .byte $00,$00,$00,$0a,$09,$09,$09,$0b       // ........

// --- Region $21f8-$22d8 ---
.pc = $21f8 "dat_21f8"

dat_21f8:
        .byte $2a,$a5,$95,$95,$97,$be,$0a,$09,$00,$00,$00,$00,$80,$60 // *............`

txt_2206:
        .byte $58,$56,$aa,$57,$57,$57,$97,$97,$97,$57,$aa // XV.WWW...W.

txt_2211:
        .byte $57,$57,$57,$d7,$97                   // WWW..

txt_2216:
        .byte $57,$5c,$aa,$57,$57,$57,$ff,$00,$00,$00,$a0,$68,$5a,$57,$97,$97 // W\.WWW.....hZW..
        .byte $97,$97,$aa,$57,$57,$57,$ff,$a8       // ...WWW..

txt_222e:
        .byte $5c,$5c,$aa,$57,$57,$57,$ff,$a8       // \\.WWW..

txt_2236:
        .byte $5c,$5c,$aa,$57,$57,$57,$ff,$aa,$97,$97,$aa,$97,$97,$97,$97,$97 // \\.WWW..........

txt_2246:
        .byte $57,$57,$a0,$70,$70,$70,$70,$70,$70,$70,$aa,$97,$97,$97,$97,$97 // WW.ppppppp......
        .byte $97,$97,$aa,$97,$97,$97,$97,$57,$5f,$7c,$00,$00,$00,$00,$00,$00 // .......W_|......
        .byte $00,$00,$0a,$2b,$a7,$97               // ...+..

txt_226c:
        .byte $57,$57,$57,$d7,$aa                   // WWW..

txt_2271:
        .text "WWWW"
        .byte $d7,$97,$97,$aa

txt_2279:
        .text "WWWW"
        .byte $d7,$97,$97,$aa

txt_2281:
        .byte $57,$57,$57,$d7,$97                   // WWW..

txt_2286:
        .byte $57,$57,$aa                           // WW.

txt_2289:
        .text "WWWW"
        .byte $d7,$97,$97,$aa

txt_2291:
        .byte $57,$57,$57,$d7,$97                   // WWW..

txt_2296:
        .byte $57,$5c,$aa,$57,$57,$57,$ff,$aa       // W\.WWW..

txt_229e:
        .byte $57,$57,$aa,$57,$57,$57,$7f,$70,$70,$70,$aa,$97,$97,$97,$97,$97 // WW.WWW.ppp......
        .byte $97,$97,$aa,$97,$97,$97,$97,$97,$97,$57,$aa,$97,$97,$97,$97,$97 // .........W......
        .byte $97,$97,$ab,$97,$97,$97,$97,$57,$5f,$7e,$aa,$97,$97,$97,$97,$97 // .......W_~......

txt_22ce:
        .byte $57,$57,$ab                           // WW.

txt_22d1:
        .byte $57,$57,$57,$d7,$57,$5f,$5c           // WWW.W_\

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

// --- Region $2308-$2310 ---
.pc = $2308 "dat_2308"

dat_2308:
        .byte $a0,$70,$70,$70,$70,$70,$70,$70       // .ppppppp

dat_2310:
        // === Fill data (1 bytes, $2310-$2310) ===
        .byte $00                                   // .

// --- Region $2338-$23df ---
.pc = $2338 "dat_2338"

dat_2338:
        .byte $b0,$70,$70,$70,$f0,$c0,$00,$00,$a8,$9c,$5c,$5c,$7c,$70,$70,$70 // .ppp......\\|ppp
        .byte $00,$c0,$c0,$f0,$70,$70,$70,$70,$00,$00,$00,$00,$00,$00,$00,$00 // ....pppp........
        .byte $00,$a0,$70,$70,$70,$7a,$57,$57,$00,$00,$00,$00,$00,$00,$00,$00 // ..pppzWW........
        .byte $00,$00,$00,$00,$00,$a8,$5c,$5c,$00,$00,$00,$00,$00,$00,$00,$00 // ......\\........
        .byte $2b,$a7,$97,$97,$5f,$5c,$7c,$70,$aa   // +..._\|p.

txt_2381:
        .byte $57,$57,$57,$d7,$97,$97,$97,$a0,$70,$70,$70,$70,$70,$70,$70,$aa // WWW.....ppppppp.

txt_2391:
        .byte $57,$57,$57,$d7,$97                   // WWW..

txt_2396:
        .byte $57,$57,$aa                           // WW.

txt_2399:
        .byte $57,$57,$57,$d7,$97,$57,$57,$00,$00,$a8,$5c,$5c,$5f // WWW..WW...\\_

txt_23a6:
        .byte $57,$57,$aa,$57,$57,$57,$ff,$ab       // WW.WWW..

txt_23ae:
        .byte $57,$57,$aa,$57,$57,$57,$ff,$ab       // WW.WWW..

txt_23b6:
        .byte $57,$57,$aa                           // WW.

txt_23b9:
        .byte $57,$57,$57,$d7,$97,$97,$97,$aa       // WWW.....

txt_23c1:
        .byte $57,$57,$57,$d7,$97                   // WWW..

txt_23c6:
        .byte $57,$57,$aa                           // WW.

txt_23c9:
        .byte $57,$57,$57,$d7,$97,$57,$57,$00,$00,$00,$a0,$70,$70,$70,$f0,$00 // WWW..WW....ppp..
        .byte $00,$00,$a0,$70,$70,$70,$f0           // ...ppp.

// --- Region $23f8-$24d7 ---
.pc = $23f8 "dat_23f8"

dat_23f8:
        .byte $a0                                   // .

txt_23f9:
        .byte $5c,$57,$57,$d7,$57,$5f,$5c           // \WW.W_\

scr_2400:
        .byte $d5,$35,$0d,$03,$00,$00,$00,$00,$95,$97,$97,$97,$97,$97,$bf,$00 // .5..............
        .byte $95,$97,$96,$95,$95,$95,$bf,$00,$97,$97,$97,$95,$95,$95,$bf,$00 // ................
        .byte $97,$97,$97,$95,$95,$95,$bf,$00,$95,$97,$96,$95,$95,$95,$bf,$00 // ................
        .byte $95,$97,$97,$97,$97,$97,$bf,$00,$97,$97,$97,$95,$95,$95,$bf,$00 // ................
        .byte $95,$97,$97,$97,$97,$97,$bf,$00,$09,$09,$09,$09,$09,$09,$0b,$00 // ................
        .byte $ab,$97,$97,$95,$95,$95,$bf,$00,$95,$97,$97,$97,$97,$97,$bf,$00 // ................
        .byte $97,$97,$97,$95,$95,$95,$bf,$00,$97,$97,$97,$97,$97,$97,$bf,$00 // ................
        .byte $97,$97,$97,$97,$97,$97,$bf,$00,$97,$97,$95,$95,$95,$95,$bf,$00 // ................
        .byte $95,$97,$97,$97,$97,$97,$bf,$00,$97,$97,$95,$95,$95,$95,$ff,$00 // ................
        .byte $95,$95,$97,$97,$97,$97,$bf,$00,$95,$bf,$aa,$95,$95,$95,$bf,$00 // ................
        .byte $09,$09,$09,$09,$09,$09,$0b,$00,$97,$97,$95,$95,$95,$95,$bf,$00 // ................
        .byte $a5,$25,$25,$29,$09,$09,$0b,$00,$97,$95,$95,$95,$95,$97,$bf,$00 // .%%)............
        .byte $25,$95,$97,$97,$97,$97,$bf,$00,$95,$bd,$09,$09,$09,$09,$0b,$00 // %...............

txt_24d0:
        .byte $29,$25,$a5,$95,$95,$95,$bf           // )%.....

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

// --- Region $2508-$250f ---
.pc = $2508 "dat_2508"

dat_2508:
        .byte $09,$0b,$0a,$09,$09,$09,$0b           // .......

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

// --- Region $2540-$25df ---
.pc = $2540 "dat_2540"

dat_2540:
        .byte $09,$09,$09,$0a,$02,$02,$00,$00,$09,$09 // ..........

txt_254a:
        .text ")%%'/"
        .byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$bd,$09
        .byte $09,$09,$08,$00,$00,$00,$00,$00,$0a,$09,$09,$0a,$09,$0b,$25,$2f // ..............%/
        .fill 8, $00
        .byte $0a,$09,$09,$09,$0b,$00,$25,$a5,$97,$97,$9f,$9c,$bc,$b0,$97,$97 // ......%.........
        .byte $97,$95,$95,$95,$bf,$00,$09,$09,$09,$09,$09,$09,$0b,$00,$95,$97 // ................
        .byte $96,$95,$95,$95,$bf,$00,$09,$ab,$96,$95,$95,$95,$bf,$00,$95,$bf // ................
        .byte $02,$02,$02,$02,$02,$00,$95,$bf,$aa,$95,$95,$95,$bf,$00,$95,$97 // ................
        .byte $96,$95,$95,$95,$bf,$00,$00,$00,$00,$00,$00,$00,$00,$00,$95,$97 // ................
        .byte $96,$95,$95,$95,$bf,$00,$95,$bf,$aa,$95,$95,$95,$bf,$00,$0a,$09 // ................
        .byte $09,$09,$0b,$00,$00,$00,$0a,$09,$09,$09,$09,$25,$95,$bf // ...........%..

// --- Region $25f8-$26d7 ---
.pc = $25f8 "dat_25f8"

dat_25f8:
        .byte $09,$0b,$0a,$09,$09,$09,$0b,$00,$57,$5c,$70,$c0,$00,$00,$00,$00 // ........W\p.....
        .byte $57,$97,$97,$97,$97,$97,$bf,$00,$57,$d7,$97,$57,$57,$57,$ff,$00 // W.......W..WWW..
        .byte $00,$00,$aa,$57,$57,$57,$ff,$00,$97,$97,$97,$57,$5f,$7c,$f0,$00 // ...WWW.....W_|..
        .byte $5c,$fc,$aa,$57,$57,$57,$ff,$00,$5c,$fc,$00,$00,$00,$00,$00,$00 // \..WWW..\.......
        .byte $97,$97,$97,$57,$57,$57,$ff,$00,$57,$97,$97,$97,$97,$97,$bf,$00 // ...WWW..W.......
        .byte $70,$70,$70,$70,$70,$70,$f0,$00,$97,$97,$97,$57,$57,$57,$ff,$00 // pppppp.....WWW..
        .byte $5f,$57,$97,$97,$97,$97,$bf,$00,$00,$00,$aa,$57,$57,$57,$ff,$00 // _W.........WWW..
        .byte $97,$97,$97,$97,$97,$97,$bf,$00,$97,$97,$97,$97,$97,$97,$bf,$00 // ................
        .byte $97,$97
        .text "WWWW"
        .byte $ff,$00
        .byte $57,$ff,$00,$00,$00,$00,$00,$00
        .byte $97,$97
        .text "WWWW"
        .byte $f7
        .byte $3f,$5f
        .byte $57,$97,$97,$97,$97,$bf,$00
        .byte $57,$d7,$97,$57,$57,$57,$ff,$00,$70,$70,$70,$70,$70,$70,$f0,$00 // W..WWW..pppppp..
        .byte $97,$97
        .text "WWWW"
        .byte $ff,$00,$5f
        .byte $5c,$5c,$7c,$70,$70,$f0,$00
        .byte $97                                   // .

txt_26b9:
        .text "WWWW"
        .byte $d7,$ff,$00
        .byte $5c,$57,$97,$97,$97,$97,$bf,$00
        .byte $57
        .byte $7f,$70,$70,$70,$70,$f0,$00,$7c,$70,$ab,$57,$57,$57,$ff // .pppp..|p.WWW.

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

// --- Region $2708-$270f ---
.pc = $2708 "dat_2708"

dat_2708:
        .byte $70,$f0,$a0,$70,$70,$70,$f0           // p..ppp.

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

// --- Region $2740-$27de ---
.pc = $2740 "dat_2740"

dat_2740:
        .byte $70,$70,$7c,$5c,$5c,$9c,$bc,$00,$70,$70,$70,$f0,$c0,$c0,$00,$00 // pp|\\...ppp.....
        .fill 8, $00
        .byte $7f,$70,$70,$70,$f0,$00,$00,$00,$00,$00,$a0,$70,$70,$70,$f0,$c0 // .ppp.......ppp..
        .byte $5c,$fc,$00,$00,$00,$00,$00,$00,$00,$00,$a0,$70,$70,$70,$f0,$00 // \..........ppp..
        .byte $f0,$c0,$c0,$00,$00,$00,$00,$00,$97,$97,$97,$57,$57,$57,$ff,$00 // ...........WWW..
        .byte $70,$70,$70,$70,$70,$70,$f0,$00,$57,$ff,$ab,$57,$57,$57,$ff,$00 // pppppp..W..WWW..
        .byte $57,$d7,$97
        .byte $57,$57,$57,$ff,$00
        .byte $57,$5f
        .byte $5c                                   // backslash
        .byte $5c                                   // backslash
        .byte $5c                                   // backslash
        .byte $5c                                   // backslash
        .byte $fc,$00
        .byte $57,$d7,$97,$57,$57,$57,$ff,$00,$57,$d7,$97,$57,$57,$57,$ff,$00 // W..WWW..W..WWW..
        .byte $97,$97,$97,$97,$97,$97,$bf,$00,$57,$d7,$97,$57,$57,$57,$ff,$00 // ........W..WWW..
        .byte $57,$d7,$97,$57,$57,$57,$ff,$00,$a0,$70,$70,$70,$f0,$00,$00,$00 // W..WWW...ppp....
        .byte $a0,$70,$70,$70,$70,$70,$c0           // .ppppp.

// --- Region $27f8-$2800 ---
.pc = $27f8 "dat_27f8"

dat_27f8:
        .byte $7c,$f0,$b0,$70,$70,$70,$f0           // |..ppp.

dat_27ff:
        // === Fill data (2 bytes, $27ff-$2800) ===
        .byte $00                                   // .

scr_2800:
        .byte $00                                   // .

// --- Region $2c00-$2c00 ---
.pc = $2c00 "spr_2c00"

spr_2c00:
        .byte $00                                   // .

// --- Region $3083-$3085 ---
.pc = $3083 "Segment $3083"
        .byte $e2,$fc                               // ..

dat_3085:
        // === Fill data (1 bytes, $3085-$3085) ===
        .byte $00                                   // .

// --- Region $30c5-$30ff ---
.pc = $30c5 "dat_30c5"

dat_30c5:
        // === Fill data (59 bytes, $30c5-$30ff) ===
        .fill 59, $ea

// --- Region $31b5-$31bf ---
.pc = $31b5 "Segment $31b5"
        .fill 11, $ea

// --- Region $328d-$32ff ---
.pc = $328d "Segment $328d"
        .fill 115, $ea

// --- Region $3480-$34ff ---
.pc = $3480 "Segment $3480"
        .byte $01,$0d,$07,$0f,$0c,$0e,$0b,$06,$00,$0b,$0b,$0c,$0f,$0d,$00,$00 // ................

txt_3490:
        .text "EEEEEFFFFFGGGHHH"
        .text "IIJJJKKLMMNNOPPQ"
        .text "RSTUVWXYZ"
        .byte $5b
        .byte $5c,$5d,$5e,$5f,$60,$61
        .byte $62,$63,$64,$65,$66,$67,$68,$68,$69,$69,$6a,$6b,$6b,$6c,$6c,$6c // bcdefghhiijkklll
        .byte $6d,$6d,$6e,$6e,$6e,$6f,$6f,$6f,$70,$70,$70,$70,$70,$71,$71,$71 // mmnnnooopppppqqq
        .fill 8, $71
        .byte $0b,$0c,$0f,$01,$0f,$0c,$0b,$00,$09,$02,$08,$0a,$0f,$07,$01,$07 // ................
        .byte $0f,$0a,$08,$02,$09,$01,$01,$01       // ........

// --- Region $36b7-$37fe ---
.pc = $36b7 "dat_36b7"

dat_36b7:
        // === Fill data (328 bytes, $36b7-$37fe) ===
        .fill 328, $ea
