// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:24
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $fb00  (62209 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $1400 (5120)
//
// Code: 2513 bytes, Data: 59696 bytes
// Labels: 340, Subroutines: 7
//
// Cross-references: all OK
// ============================================


// --- Region $1400-$1718 ---
.pc = $1400 "main_1400"

main_1400:
        lda #$2a
        ldy #$18
        jsr sub_ab1e
        lda #$00
        sta $03
        sta $04
        sta $06
        sta $07
        sta $033b
        lda #$ff
        sta $033c
        lda #$01
        sta $0348
        sta $0349
        sta $034a
        sta $034b
        sta $0338
        jsr sub_1abc
        lda #$1b
        sta $05
        jsr sub_185a
        ldx #$00
        txa

loc_1437:
        sta $04c8,x
        inx
        cpx #$f0
        bne loc_1437
        ldx #$00
        txa

loc_1442:
        sta $d9b8,x
        sta $d8c8,x
        sta $daa8,x
        inx
        cpx #$28
        bne loc_1442
        lda #$b2
        ldx #$00

loc_1454:
        sta $06d0,x
        inx
        cpx #$a0
        bne loc_1454
        lda #$00
        tax

loc_145f:
        sta $db48,x
        sta $d800,x
        inx
        cpx #$78
        bne loc_145f

loc_146a:
        sei
        jmp loc_156b

loc_146e:
        jsr sub_1634
        jmp loc_1706

loc_1474:
        jsr sub_1634
        jmp loc_1768

loc_147a:
        jsr sub_1893
        jmp loc_1a2a

loc_1480:
        jsr sub_1ac7
        jsr $ef2c
        jmp loc_146a

loc_1489:
        lda #$5e
        cmp $d012
        bne loc_1489
        lda #$00
        jsr sub_158c
        lda #$1c
        sta $d018

loc_149a:
        lda #$60
        cmp $d012
        bne loc_149a
        lda $03
        clc
        adc #$30
        sta $d016
        lda $05
        sta $d011
        ldx #$00

loc_14b0:
        ldy #$09

loc_14b2:
        dey
        bne loc_14b2
        lda $17fa,x
        sta $d022
        lda $19eb,x
        sta $d023
        inx
        cpx #$28
        bne loc_14b0

loc_14c6:
        lda #$92
        cmp $d012
        bne loc_14c6
        lda #$1b
        sta $d011
        lda #$16
        sta $d018
        lda #$c8
        sta $d016

loc_14dc:
        lda #$9e
        cmp $d012
        bne loc_14dc
        nop
        ldx #$00

loc_14e6:
        ldy $1738,x

loc_14e9:
        dey
        bne loc_14e9
        lda scr_1718,x
        sta $d020
        sta $d021
        inx
        cpx #$20
        bne loc_14e6
        lda #$c8
        sta $d016

loc_14ff:
        lda #$c9
        cmp $d012
        bne loc_14ff
        lda #$00
        jsr sub_158c
        lda #$1f
        sta $d018
        lda #$18
        sta $d016
        ldx #$00

loc_1517:
        lda scr_17a6,x
        sta $d022
        ldy #$04

loc_151f:
        dey
        bne loc_151f
        inx
        cpx #$19
        bne loc_1517
        ldx #$00

loc_1529:
        lda $17d0,x
        sta $d022
        ldy #$04

loc_1531:
        dey
        bne loc_1531
        inx
        cpx #$0e
        bne loc_1529
        lda #$00
        sta $d022
        sta $d023
        lda #$00
        sta $d022
        sta $d023

loc_1549:
        lda #$e6
        cmp $d012
        bne loc_1549
        lda #$00
        jsr sub_158c
        lda #$15
        sta $d018
        lda #$c8
        sta $d016
        jsr sub_1634
        jsr sub_1634
        jsr sub_1634
        jmp loc_146e

loc_156b:
        lda #$3e
        cmp $d012
        bne loc_156b
        nop
        ldx #$00

loc_1575:
        ldy $1738,x

loc_1578:
        dey
        bne loc_1578
        lda $19eb,x
        sta $d020
        sta $d021
        inx
        cpx #$1b
        bne loc_1575
        jmp loc_1489
// Referenced by: jsr from $1492, $1508, $1552

sub_158c:
        ldx #$02

loc_158e:
        dex
        bne loc_158e
        sta $d020
        sta $d021
        rts

loc_1598:
        dec $03
        ldx $03
        cpx #$ff
        beq loc_15a1
        rts

loc_15a1:
        ldx #$07
        stx $03
        ldx #$00

loc_15a7:
        lda $04c9,x
        sta $04c8,x
        lda $04f1,x
        sta $04f0,x
        lda $0519,x
        sta $0518,x
        lda $0541,x
        sta $0540,x
        lda $0569,x
        sta $0568,x
        inx
        cpx #$27
        bne loc_15a7
        lda $0349
        cmp #$01
        beq loc_15d4
        jmp loc_1609

loc_15d4:
        inc $033c
        ldy $033c
        lda txt_2800,y
        sta $04ef
        lda $2828,y
        sta $0517
        lda $2850,y
        sta $053f
        lda $2878,y
        sta $0567
        lda $28a0,y
        sta $058f
        inc $04
        lda $04
        cmp #$2b
        beq loc_1601
        rts

loc_1601:
        lda #$00
        sta $04
        sta $0349
        rts

loc_1609:
        lda #$00
        sta $04ef
        sta $0517
        sta $053f
        sta $0567
        sta $058f
        inc $04
        lda $04
        cmp #$11
        beq loc_1623
        rts

loc_1623:
        lda #$00
        sta $04
        sta $0348
        lda #$01
        sta $0349
        lda #$15
        sta $033c
// Referenced by: jsr from $146e, $1474, $155f, $1562, $1565

sub_1634:
        lda $0348
        cmp #$01
        beq loc_163e
        jmp loc_1641

loc_163e:
        jmp loc_1598

loc_1641:
        inc $03
        ldx $03
        cpx #$08
        beq loc_164a
        rts

loc_164a:
        ldx #$00
        stx $03
        ldx #$27

loc_1650:
        lda $04c7,x
        sta $04c8,x
        lda $04ef,x
        sta $04f0,x
        lda $0517,x
        sta $0518,x
        lda $053f,x
        sta $0540,x
        lda $0567,x
        sta $0568,x
        dex
        bne loc_1650
        lda $0349
        cmp #$01
        beq loc_167b
        jmp loc_16b0

loc_167b:
        dec $033c
        ldy $033c
        lda $27ff,y
        sta $04c8
        lda $2827,y
        sta $04f0
        lda $284f,y
        sta $0518
        lda $2877,y
        sta $0540
        lda $289f,y
        sta $0568
        inc $04
        lda $04
        cmp #$16
        beq loc_16a8
        rts

loc_16a8:
        lda #$00
        sta $04
        sta $0349
        rts

loc_16b0:
        lda #$00
        sta $04c9
        sta $04f1
        sta $0519
        sta $0541
        sta $0569
        inc $04
        lda $04
        cmp #$14
        beq loc_16ca
        rts

loc_16ca:
        lda #$12
        sta $04
        lda #$01
        sta $0349
        sta $0348
        lda #$11
        sta $033c
        rts

loc_16dc:
        lda $034a
        cmp #$01
        beq loc_16e6
        jmp loc_16f6

loc_16e6:
        inc $05
        lda $05
        cmp #$1f
        bne loc_16f3
        lda #$00
        sta $034a

loc_16f3:
        jmp loc_1474

loc_16f6:
        dec $05
        lda $05
        cmp #$1c
        bne loc_1703
        lda #$01
        sta $034a

loc_1703:
        jmp loc_1474

loc_1706:
        inc $06
        lda $06
        cmp #$02
        bne loc_1715
        lda #$00
        sta $06
        jmp loc_16dc

loc_1715:
        jmp loc_1474

scr_1718:
        // === Screen RAM (1 bytes, $1718-$1718) ===
        .encoding "screencode_mixed"
        .text "f"
        .encoding "petscii_upper"

// --- Region $1768-$17a6 ---
.pc = $1768 "loc_1768"

loc_1768:
        lda scr_17a6
        pha
        ldx #$00

loc_176e:
        lda $17a7,x
        sta scr_17a6,x
        inx
        cpx #$29
        bne loc_176e
        pla
        sta $17cf
        lda $17f9
        pha
        ldx #$29

loc_1783:
        lda $17cf,x
        sta $17d0,x
        dex
        bne loc_1783
        pla
        sta $17d0
        lda $1821
        pha
        ldx #$27

loc_1796:
        lda $17f9,x
        sta $17fa,x
        dex
        bne loc_1796
        pla
        sta $17fa
        jmp loc_147a

scr_17a6:
        // === Screen RAM (1 bytes, $17a6-$17a6) ===
        .encoding "screencode_mixed"
        .text "f"
        .encoding "petscii_upper"

// --- Region $185a-$19ce ---
.pc = $185a "sub_185a"
// Referenced by: jsr from $1431; jmp from $190a

sub_185a:
        lda #$40
        sta smc_18b4                                // SMC: modifies $18b4
        lda $18da
        lda #$29
        sta smc_18b5                                // SMC: modifies $18b5
        sta smc_18db                                // SMC: modifies $18db
        lda #$0a
        sta $0367
        lda #$09
        sta $0368
        lda #$14
        sta $0369
        sta $036a
        rts

loc_187d:
        inc smc_18b5
        lda #$ff
        sta $0367
        jmp loc_18fd

loc_1888:
        inc smc_18db
        lda #$ff
        sta $0368
        jmp loc_1904
// Referenced by: jsr from $147a

sub_1893:
        lda $034b
        cmp #$01
        beq loc_18ad
        cmp #$02
        beq loc_190d
        cmp #$03
        beq loc_18a7
        cmp #$04
        beq loc_18aa
        rts

loc_18a7:
        jmp loc_1991

loc_18aa:
        jmp loc_19a3

loc_18ad:
        dec $0367
        ldy $0367
.label smc_18b4 = * + 1
.label smc_18b5 = * + 2
        lda $2940,y                                 // !SMC: modified by $185c, $1864
        cmp #$ff
        beq loc_190a
        ldx $0369
        dex
        stx $0369
        clc
        asl
        asl
        sta $036b
        clc
        adc #$01
        sta $06f8,x
        clc
        adc #$02
        sta $0720,x
        inc $0368
        ldy $0368
.label smc_18db = * + 2
        lda $2940,y                                 // !SMC: modified by $1867
        cmp #$ff
        beq loc_190a
        ldx $036a
        inx
        stx $036a
        clc
        asl
        asl
        sta $06f7,x
        sta $036c
        clc
        adc #$02
        sta $071f,x
        lda $0367
        cmp #$ff
        beq loc_187d

loc_18fd:
        lda $0368
        cmp #$ff
        beq loc_1888

loc_1904:
        lda #$02
        sta $034b
        rts

loc_190a:
        jmp sub_185a

loc_190d:
        lda $036b
        ldx $0369
        dex
        stx $0369
        sta $06f8,x
        clc
        adc #$02
        sta $0720,x
        lda $036c
        ldx $036a
        inx
        stx $036a
        clc
        adc #$01
        sta $06f7,x
        clc
        adc #$02
        sta $071f,x
        lda #$01
        sta $034b
        ldx $0369
        beq loc_1941
        rts

loc_1941:
        lda #$14
        sta $0369
        sta $036a
        lda #$28
        sta $0370
        lda #$ff
        sta $0371
        ldx #$00

loc_1955:
        inc $0367
        lda $0367
        cmp #$ff
        beq loc_197b

loc_195f:
        inx
        cpx #$1e
        bne loc_1955
        ldx #$00

loc_1966:
        inc $0368
        lda $0368
        cmp #$ff
        beq loc_1986

loc_1970:
        inx
        cpx #$0a
        bne loc_1966
        lda #$03
        sta $034b
        rts

loc_197b:
        inc smc_18b5
        lda #$ff
        sta $0367
        jmp loc_195f

loc_1986:
        inc smc_18db
        lda #$ff
        sta $0368
        jmp loc_1970

loc_1991:
        inc $07
        lda $07
        cmp #$32
        bne loc_19a2
        lda #$00
        sta $07
        lda #$04
        sta $034b

loc_19a2:
        rts

loc_19a3:
        ldx $0370
        dex
        stx $0370
        lda #$b2
        sta $06f8,x
        sta $0720,x
        ldx $0371
        inx
        stx $0371
        lda #$b2
        sta $06f8,x
        sta $0720,x
        ldx $0370
        cpx #$14
        beq loc_19c9
        rts

loc_19c9:
        lda #$01
        sta $034b
        rts

// --- Region $1a2a-$1a76 ---
.pc = $1a2a "loc_1a2a"

loc_1a2a:
        ldx #$00

loc_1a2c:
        lda $1a06,x
        sta $19eb,x
        inx
        cpx #$1b
        bne loc_1a2c
        ldy $033b
        ldx #$00

loc_1a3c:
        lda $1a21,x
        sta $19eb,y
        inx
        iny
        cpx #$09
        bne loc_1a3c
        lda $0338
        cmp #$01
        beq loc_1a52
        jmp loc_1a64

loc_1a52:
        inc $033b
        lda $033b
        cmp #$12
        bne loc_1a61
        lda #$00
        sta $0338

loc_1a61:
        jmp loc_1480

loc_1a64:
        dec $033b
        lda $033b
        cmp #$01
        bne loc_1a73
        lda #$01
        sta $0338

loc_1a73:
        jmp loc_1480

txt_1a76:
        .text "O"

// --- Region $1abc-$1af5 ---
.pc = $1abc "sub_1abc"
// Referenced by: jsr from $142a

sub_1abc:
        sei
        lda #$35
        sta $01
        lda #$0a
        sta $ef03
        rts
// Referenced by: jsr from $1480

sub_1ac7:
        lda $dc01
        cmp #$ef
        bne loc_1af5
        sei
        lda #$37
        sta $01
        jsr $fda3
        jsr $fd15
        jsr $ff5b
        sei
        lda #$00
        sta $d020
        sta $d021
        ldx #$00

loc_1ae7:
        lda dat_1f00,x
        sta $033c,x
        inx
        cpx #$a0
        bne loc_1ae7
        jmp $033c

loc_1af5:
        rts

// --- Region $8dd0-$8dd0 ---
.pc = $8dd0 "Segment $8dd0"
        brk

// --- Region $ab1e-$ab1e ---
.pc = $ab1e "sub_ab1e"
// Referenced by: jsr from $1404

sub_ab1e:
        brk

// --- Region $ad07-$ad07 ---
.pc = $ad07 "Segment $ad07"
        brk

// --- Region $ae07-$ae07 ---
.pc = $ae07 "Segment $ae07"
        brk

// --- Region $ecd0-$ecd0 ---
.pc = $ecd0 "Segment $ecd0"
        brk

// --- Region $ee07-$ee07 ---
.pc = $ee07 "Segment $ee07"
        brk

// --- Region $ef2c-$ef9c ---
.pc = $ef2c "Segment $ef2c"
        lda #$0f
        sta $d418
        ldx #$0e

loc_ef33:
        lda $f778,x
        sta $d406,x
        sta $ef09,x
        jsr $f89b
        jsr $f73e
        jsr $f6e1
        jsr $f540
        jsr $f703
        txa
        sec
        sbc #$07
        tax
        bpl loc_ef33
        jmp loc_ef5a

dat_ef55:
        .byte $4c,$5f,$46,$01,$00                   // L_F..

loc_ef5a:
        lda $ef03
        beq loc_ef6a
        sta $ef04
        jsr $f4bc
        lda #$00
        sta $ef03

loc_ef6a:
        lda $ef04
        bmi loc_ef87
        sta $efd1
        ora #$80
        sta $ef04
        lda #$00
        sta $f82c
        sta $f82d
        lda #$ff
        sta $f834
        sta $f835

loc_ef87:
        lda $efd1
        asl
        clc
        adc #$9b
        sta smc_ef99                                // SMC: modifies $ef99
        lda #$00
        adc #$ef
        sta smc_ef9a                                // SMC: modifies $ef9a
.label smc_ef99 = * + 1
.label smc_ef9a = * + 2
        jmp ($efaf)                                 // !SMC: modified by $ef8e, $ef95

dat_ef9b:
        .byte $d2,$ef                               // ..

// --- Region $efea-$f057 ---
.pc = $efea "loc_efea"

loc_efea:
        ldy #$00
        lda #$28
        ldx #$20
        jsr $f529
        jmp loc_efff

dat_eff6:
        .byte $a0,$00,$a9,$08,$a2,$20,$20,$29,$f5   // .....  ).

loc_efff:
        lda #$10
        sta $f776
        sta dat_f56a
        lda #$00
        sta $f771
        lda #$08
        sta $d405
        sta $d40c
        lda #$0a
        sta $d413
        lda #$06
        jsr $f666
        beq loc_f021
        rts

loc_f021:
        lda $f073,y
        ldx #$00
        jsr $f503
        tya
        and #$0f
        tay
        lda dat_f057,y
        ldx #$0c
        jsr $f4f1
        lda $f82d
        lsr
        lsr
        lsr
        tax
        lda $f067,x
        tax
        lda dat_f057,y
        jsr $f4fa
        ldy #$01
        lda $efd1
        cmp #$15
        beq loc_f051
        ldy #$80

loc_f051:
        jsr $f61b
        jmp loc_f67c

dat_f057:
        .byte $14                                   // .

// --- Region $f0d3-$f147 ---
.pc = $f0d3 "loc_f0d3"

loc_f0d3:
        lda $f82d
        cmp #$28
        lda #$0b
        sta $d40c
        ldy #$00
        lda #$28
        ldx #$20
        jsr $f529
        lda #$06
        jsr $f666
        beq loc_f0ee
        rts

loc_f0ee:
        lda dat_f147,y
        ldx #$0c
        jsr $f4fa
        tya
        and #$3f
        tay
        lda $f31e,y
        ldx #$18
        jsr $f4db
        lda $f35e,y
        ldx #$00
        jsr $f503
        ldy #$01
        jsr $f61b
        jmp loc_f67c

loc_f112:
        ldy #$00
        lda #$28
        ldx #$20
        jsr $f529
        lda #$06
        jsr $f666
        beq loc_f123
        rts

loc_f123:
        tya
        and #$3f
        tay
        lda $f20f,y
        ldx #$0c
        jsr $f4fa
        lda $f31e,y
        ldx #$18
        jsr $f4db
        lda $f35e,y
        ldx #$00
        jsr $f503
        ldy #$01
        jsr $f61b
        jmp loc_f67c

dat_f147:
        .byte $14                                   // .

// --- Region $f24f-$f292 ---
.pc = $f24f "loc_f24f"

loc_f24f:
        ldy #$00
        lda #$28
        ldx #$20
        jsr $f529
        lda #$06
        jsr $f666
        beq loc_f260
        rts

loc_f260:
        lda dat_f292,y
        ldx #$0c
        jsr $f4fa
        tya
        and #$3f
        tay
        lda $f39e,y
        ldx #$18
        jsr $f4db
        lda $f3de,y
        ldx #$00
        jsr $f503
        lda $f82d
        and #$f0
        bne loc_f28a
        lda $efd1
        cmp #$14
        beq loc_f28f

loc_f28a:
        ldy #$80
        jsr $f61b

loc_f28f:
        jmp loc_f67c

dat_f292:
        .byte $0d                                   // .

// --- Region $f4bc-$f569 ---
.pc = $f4bc "Segment $f4bc"
        lda #$01
        sta $ef05
        sta $ef0c
        sta $ef13
        ldx #$00
        txa
        sta $f833

loc_f4cd:
        sta $d400,x
        inx
        cpx #$18
        bne loc_f4cd
        lda #$0f
        sta $d418
        rts
        stx $f78d
        tax
        beq loc_f4ee
        and #$f0
        sta $f776
        lda #$00
        sta $f775
        txa
        and #$0f

loc_f4ee:
        jmp loc_f4f4
        stx $f78d

loc_f4f4:
        ldx #$00
        jsr $f69f
        rts
        stx $f794
        ldx #$07
        jsr $f69f
        rts
        stx $f79b
        ldx #$0e
        jsr $f69f
        rts

loc_f50c:
        lda $f82c
        cmp $f83a
        bne loc_f528
        lda $f82d
        bne loc_f528

loc_f519:
        lda $f79c,y
        sta $f772,x
        inx
        iny
        tya
        and #$07
        cmp #$07
        bne loc_f519

loc_f528:
        rts
        sta $f836
        stx $f837
        ldx #$00
        jsr loc_f50c
        ldy $f836
        jsr loc_f50c
        ldy $f837
        jmp loc_f50c
        inc $f787,x
        lda $f787,x
        cmp $f775,x
        bcs loc_f550
        lda #$00
        jmp loc_f562

loc_f550:
        ldy dat_f56a
        beq loc_f558
        lda $f82c

loc_f558:
        and #$0f
        clc
        adc $f776,x
        tay
        lda $f56b,y

loc_f562:
        clc
        adc $f78b,x
        sta $f78c,x
        rts

// --- Region $f61b-$f635 ---
.pc = $f61b "Segment $f61b"
        lda $f82d
        and #$1f
        tax
        tya
        and $f637,x
        beq loc_f635
        lda dat_f636
        sta $d404
        inc $d404
        lda #$de
        sta $f788

loc_f635:
        rts

// --- Region $f666-$f76f ---
.pc = $f666 "Segment $f666"
        tax
        dex
        stx $f83a
        ldy $f82d
        inc $f82c
        cmp $f82c
        bne loc_f67b
        lda #$00
        sta $f82c

loc_f67b:
        rts

loc_f67c:
        ldx #$ff
        ldy $efd1
        lda $efd3,y
        inc $f82d
        cmp $f82d
        bne loc_f691
        lda #$00
        sta $f82d

loc_f691:
        bne $f69e
        txa
        bpl $f69b
        ldx $efd1
        inx
        txa
        sta $ef04
        rts
        sta $f836
        and #$ff
        bne loc_f6a7
        rts

loc_f6a7:
        clc
        adc $f78d,x
        adc $f833
        asl
        asl
        sta $f78b,x
        sta $f78c,x
        sta $f789,x
        lda #$00
        sta $f787,x
        sta $d400,x
        sta $d401,x
        lda $f773,x
        beq loc_f6cc
        sta $f78a,x

loc_f6cc:
        lda $f772,x
        sta $d404,x
        inc $d404,x
        lda $f836
        bmi loc_f6e0
        lda $f789,x
        sta $f788,x

loc_f6e0:
        rts
        lda $f777,x
        beq loc_f702
        lda $f788,x
        cmp $f789,x
        beq loc_f702
        bcs loc_f6f9
        adc $f777,x
        sta $f788,x
        jmp loc_f6fc

loc_f6f9:
        sbc $f777,x

loc_f6fc:
        sta $f788,x
        sta $f78b,x

loc_f702:
        rts
        lda $f78c,x
        ldy #$06
        sec

loc_f709:
        dey
        sbc #$30
        bcs loc_f709
        clc
        adc #$30
        sty $f836
        asl
        tay
        lda $f83b,y
        sta $f82e
        iny
        lda $f83b,y
        sta $f82f
        ldy $f836
        beq loc_f731

loc_f728:
        lsr $f82f
        ror $f82e
        dey
        bne loc_f728

loc_f731:
        lda $f82e
        sta $d400,x
        lda $f82f
        sta $d401,x
        rts
        lda $f771
        beq loc_f74e
        lda $f82c
        bne loc_f74e
        lda $f773,x
        sta $f78a,x

loc_f74e:
        lda $f78a,x
        clc
        adc $f774,x
        sta $f78a,x
        asl
        asl
        asl
        ora $f832
        sta $d402,x
        lda $f78a,x
        lsr
        lsr
        lsr
        lsr
        lsr
        ora $ef09,x
        sta $d403,x
        rts

// --- Region $f89b-$f900 ---
.pc = $f89b "Segment $f89b"
        lda $ef05,x
        beq loc_f8a3
        jsr $f8be

loc_f8a3:
        lda $ef07,x
        beq loc_f8bd
        inc $ef08,x
        lda $ef08,x
        and #$03
        bne loc_f8bd
        dec $ef07,x
        bne loc_f8bd
        lda $ef06,x
        sta $ef05,x

loc_f8bd:
        rts
        asl
        asl
        asl
        tay
        lda #$00
        sta $f78d,x
        sta $ef05,x
        sty $f836
        lda dat_f900,y
        tay
        jsr loc_f519
        txa
        sec
        sbc #$07
        tax
        ldy $f836
        iny
        lda dat_f900,y
        sta $f788,x
        iny
        lda dat_f900,y
        jsr $f69f
        iny
        lda dat_f900,y
        sta $d405,x
        iny
        lda dat_f900,y
        sta $ef07,x
        iny
        lda dat_f900,y
        sta $ef06,x
        rts

dat_f900:
        .byte $00                                   // .

// --- Region $fa00-$fa61 ---
.pc = $fa00 "loc_fa00"

loc_fa00:
        jsr $ff36
        lda #$09
        sta $d405
        lda #$0d
        sta $d40c
        lda #$0b
        sta $d413
        sta $f771
        lda #$00
        sta dat_f56a
        ldy #$00
        lda #$08
        ldx #$20
        jsr $f529
        lda #$0b
        jsr $f666
        beq loc_fa2b
        rts

loc_fa2b:
        lda $fccd,y
        ldx #$18
        jsr $f4db
        lda $efd1
        cmp #$01
        beq loc_fa42
        lda $fb38,y
        ldx #$18
        jsr $f4fa

loc_fa42:
        lda $fe02,y
        ldx #$00
        jsr $f503
        tya
        and #$0f
        tay
        lda dat_fa61,y
        sta $ff63
        and #$0f
        sta $ff66
        ldy #$01
        jsr $f61b
        jmp loc_f67c

dat_fa61:
        .byte $48                                   // H

// --- Region $fa6d-$fac9 ---
.pc = $fa6d "loc_fa6d"

loc_fa6d:
        pha
        sec
        plp
        clc
        jsr $ff36
        lda #$00
        sta $f771
        sta dat_f56a
        lda #$09
        sta $d405
        sta $d413
        lda #$0b
        sta $d40c
        ldy #$00
        lda #$18
        ldx #$20
        jsr $f529
        lda #$0c
        jsr $f666
        beq loc_fa9a
        rts

loc_fa9a:
        lda $fda5,y
        ldx #$18
        jsr $f4db
        lda $fc10,y
        ldx #$0c
        jsr $f4fa
        lda $feda,y
        ldx #$00
        jsr $f503
        tya
        and #$0f
        tay
        lda dat_fac9,x
        sta $ff63
        and #$0f
        sta $ff66
        ldy #$01
        jsr $f61b
        jmp loc_f67c

dat_fac9:
        .byte $68                                   // h

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

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

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

// --- Region $1719-$1767 ---
.pc = $1719 "Segment $1719"
        .encoding "screencode_mixed"
        .text "fnfnncncc@@kemamek@@ggjgjjbjbb@ihhhhhahh"
        .text "hhhhahhhhhhhahhhhhhhahhhhhhhahhhhhhhahh"
        .encoding "petscii_upper"

// --- Region $17a7-$1859 ---
.pc = $17a7 "Segment $17a7"
        .encoding "screencode_mixed"
        .text "fnnccaaccnnffbbjjggaaggjjbbkkeemmaammeek"
        .text "kffnnccaaccnnffbbjjggaaggjjbbkkeemmaamme"
        .text "ekk@@@ffnnccggaaggccnnff@@@kkeemmgggmmee"
        .text "kk@@@@@@@@@"
        .byte $99,$93                               // scrcode: ..
        .text "qqqqqqqqqqqqqm"
        .encoding "petscii_upper"

txt_183a:
        .text "         "
        .byte $90,$d1                               // ..

txt_1845:
        .text "UALITY IS OUR SLOGAN"
        .byte $00                                   // string terminator

// --- Region $19cf-$1a29 ---
.pc = $19cf "dat_19cf"

dat_19cf:
        .byte $08,$08,$08,$08,$08,$08,$08,$01,$08,$08,$08,$08,$08,$08,$08,$01 // ................
        .byte $08,$08,$08,$08,$08,$08,$08,$01,$08,$08,$08,$08,$06,$06,$0e,$06 // ................
        .byte $0e,$0e,$03,$0e,$03,$03,$01,$03,$01,$01,$0d,$01,$0d,$0d,$05,$0d // ................
        .byte $05,$05,$0b,$05,$0b,$0b,$00,$02,$02,$0a,$02,$0a,$0a,$07,$0a,$07 // ................
        .byte $07,$01,$07,$01,$01,$03,$01,$03,$03,$0e,$03,$0e,$0e,$06,$0e,$06 // ................
        .byte $06,$00,$00,$0b,$05,$0d,$01,$0d,$05,$0b,$00 // ...........

// --- Region $1a77-$1abb ---
.pc = $1a77 "Segment $1a77"
        .text "NLINE '88ONLINE "
        .text "'88ONLINE '88ONL"
        .text "INE '88ONLINE '8"
        .text "8ONLINE '88ONLIN"
        .text "E '88"

// --- Region $1af6-$1af6 ---
.pc = $1af6 "dat_1af6"

dat_1af6:
        // === Fill data (1 bytes, $1af6-$1af6) ===
        .byte $00                                   // .

// --- Region $1f00-$1f5f ---
.pc = $1f00 "dat_1f00"

dat_1f00:
        .byte $a9,$6c,$a0,$03,$20,$1e,$ab,$78,$a9,$00,$85,$01,$a2,$00,$bd,$00 // .l.. ..x........
        .byte $40,$9d,$01,$08,$e8,$d0,$f7,$ee,$4c,$03,$ee,$4f,$03,$ad,$4c,$03 // @.......L..O..L.
        .byte $c9,$ef,$d0,$e8,$78,$a9,$37,$85,$01,$58,$20,$e2,$fc,$4c,$ae,$a7 // ....x.7..X ..L..
        .byte $9b,$93,$11,$11,$11,$11,$11,$11,$11,$11,$11,$11,$0d // .............

txt_1f3d:
        .text "            O N L I N E '88"
        .byte $00                                   // string terminator

txt_1f59:
        .text "MJ+IPS"
        .byte $00                                   // string terminator

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

spr_2000:
        .byte $00                                   // .

// --- Region $2400-$2400 ---
.pc = $2400 "scr_2400"

scr_2400:
        .byte $00                                   // .

// --- Region $2500-$2500 ---
.pc = $2500 "spr_2500"

spr_2500:
        .byte $00                                   // .

// --- Region $2800-$2bf1 ---
.pc = $2800 "txt_2800"

txt_2800:
        .text "     !"
        .byte $22                                   // double quote character
        .text "#$%&'()*+,-./0123456789:;<=>?        "
        .byte $40                                   // @ character
        .text "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        .byte $5b,$5c,$5d,$5e,$5f                   // [\]^_

txt_284c:
        .text "        "
        .byte $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a,$6b,$6c,$6d,$6e,$6f // `abcdefghijklmno
        .byte $70,$71,$72,$73,$74,$75,$76,$77,$78,$79,$7a,$7b,$7c,$7d,$7e,$7f // pqrstuvwxyz{|}~.

txt_2874:
        .text "        "
        .byte $80,$81,$82,$83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f // ................
        .byte $90,$91,$92,$93,$94,$95,$96,$97,$98,$99,$9a,$9b,$9c,$9d,$9e,$9f // ................

txt_289c:
        .text "        "
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$aa,$ab,$ac,$ad,$ae,$af,$b0 // ................
        .byte $b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$ba,$bb,$bc,$bd,$be,$bf // ...............

txt_28c4:
        .text "        "
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$c9,$ca,$cb,$cc,$cd,$ce,$cf,$d0 // ................
        .byte $d1,$d2,$d3,$d4,$d5,$d6,$d7,$d8,$d9,$da,$db,$dc,$dd,$de,$df // ...............

txt_28ec:
        .text "        "
        .byte $e0,$e1,$e2,$e3,$e4,$e5,$e6,$e7,$e8,$e9,$ea,$eb,$ec,$ed,$ee,$ef // ................
        .byte $f0,$f1,$f2,$f3,$f4,$f5,$f6,$f7,$f8,$f9,$fa,$fb,$fc,$fd,$fe,$ff // ................

dat_2914:
        .text "                                              "
        .byte $0f,$0e,$0c,$09,$0e,$05,$20,$10,$12,$05,$13,$05,$0e,$14,$13 // ...... ........

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

txt_2956:
        .encoding "screencode_mixed"
        .text "ega balloon raid"
        .encoding "petscii_upper"

txt_2966:
        .text "       "
        .byte $02,$12,$0f,$0b,$05,$0e,$20,$02,$19   // ...... ..

txt_2976:
        .text "             "
        .byte $06,$2e,$02,$2e,$07                   // .....

txt_2988:
        .text ".        "
        .byte $0f,$0e,$20,$0d,$01,$12,$03,$08,$20,$31,$32,$14,$08 // .. ..... 12..

txt_299e:
        .text " 1988    "
        .byte $12,$01,$0e,$0b,$09,$0e,$07,$13,$20,$06,$12,$0f,$0d // ........ ....

txt_29b4:
        .text "         12.03.88        "

txt_29cd:
        .encoding "screencode_mixed"
        .text "the deadly friends"
        .encoding "petscii_upper"

txt_29df:
        .text "        "
        .byte $09,$0b,$01,$12,$09                   // .....

txt_29ec:
        .text "               "
        .byte $0f,$12,$09,$0f,$0e                   // .....

txt_2a00:
        .text "        "
        .byte $60                                   // `

txt_2a09:
        .text "      "
        .byte $0a,$05,$17,$05,$0c,$13               // ......

txt_2a15:
        .text "            "
        .byte $0d                                   // string terminator
        .byte $05,$07,$01,$06,$0f,$12,$03,$05       // ........

txt_2a2a:
        .text "           "
        .byte $10,$01,$10,$09,$0c,$0c,$09,$0f,$0e,$13 // ..........

txt_2a3f:
        .text "      "

txt_2a45:
        .encoding "screencode_mixed"
        .text "the wanderer group"
        .encoding "petscii_upper"

txt_2a57:
        .text "        "
        .byte $04,$05,$16,$09,$0c,$13               // ......

txt_2a65:
        .text "       "
        .byte $60                                   // `

txt_2a6d:
        .text "      "
        .byte $15,$10,$06,$12,$0f,$0e,$14           // .......

txt_2a7a:
        .text "             "
        .byte $14,$12,$09,$01,$04                   // .....

txt_2a8c:
        .text "     "
        .byte $60                                   // `

txt_2a92:
        .text "          "
        .byte $01,$03,$05                           // ...

txt_2a9f:
        .text "               "
        .byte $0d                                   // string terminator
        .byte $01,$04,$13,$11,$15,$01,$04           // .......

txt_2ab6:
        .text "        "
        .byte $13,$08,$01,$12,$0b,$13,$20,$28,$14,$13,$02,$2c,$14,$10,$09 // ...... (...,...

txt_2acd:
        .text ")         "
        .byte $14,$07                               // ..

txt_2ad9:
        .text " 1541              "
        .byte $03,$06,$12                           // ...

txt_2aef:
        .text "      "
        .byte $60                                   // `

txt_2af6:
        .text "       "
        .byte $1a,$05,$14,$12,$05,$18               // ......

txt_2b03:
        .text " 2005     "
        .byte $60,$20,$20,$20,$04,$0f,$0d,$09,$0e,$01,$14,$0f,$12,$13 // `   ..........

txt_2b1b:
        .text "            "
        .byte $13,$01,$16,$01,$07,$05               // ......

txt_2b2d:
        .text "           "
        .byte $12,$01,$1a,$0f,$12,$20,$05,$18,$10,$12,$05,$13,$13 // ..... .......

txt_2b45:
        .text "     "

txt_2b4a:
        .encoding "screencode_mixed"
        .text "the last science"
        .encoding "petscii_upper"

txt_2b5a:
        .text "        2000 "
        .byte $01,$2e,$04                           // ...

txt_2b6a:
        .text ".          "
        .byte $13,$03,$09,$05,$0e,$03,$05           // .......

txt_2b7c:
        .text " 451 "
        .byte $60                                   // `

txt_2b82:
        .text "           "
        .byte $14,$13,$0b                           // ...

txt_2b90:
        .text "                 "
        .byte $07,$03,$06                           // ...

txt_2ba4:
        .text "               "
        .byte $10,$05,$0e,$14,$01,$03,$0c,$05       // ........

txt_2bbb:
        .text "             "
        .byte $03,$36,$34,$03,$07                   // .64..

txt_2bcd:
        .text "             "
        .byte $02,$02,$26,$04,$05,$0c,$09,$07,$08,$14 // ..&.......

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

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

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

scr_3000:
        .byte $00                                   // .

// --- Region $3201-$3267 ---
.pc = $3201 "dat_3201"

dat_3201:
        .byte $01,$05,$05,$15,$16,$16,$16           // char 64 (partial)
        .byte $55,$55,$6a,$aa,$aa,$aa,$aa,$aa       // char 65 'A'

txt_3210:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 66 'B'

txt_3218:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 67 'C'

txt_3220:
        .byte $54,$55,$a5,$a9,$a9,$aa,$aa,$aa       // char 68 'D'
        .byte $05,$05                               // char 69 (partial)

txt_322a:
        .byte $45,$45,$55,$55,$55,$55               // char 69 (partial)
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 70 'F'

txt_3238:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 71 'G'

txt_3240:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 72 'H'

txt_3248:
        .byte $55,$55,$a9,$aa,$aa,$aa,$aa,$aa       // char 73 'I'
        .byte $01,$41,$51,$51,$55,$95,$95,$95       // char 74 'J'
        .byte $55,$55,$6a,$6a,$6a,$6a,$6a,$6a       // char 75 'K'

txt_3260:
        .byte $55,$55,$a5,$a5,$a5,$a5,$a5,$a5       // char 76 'L'

// --- Region $3280-$3367 ---
.pc = $3280 "txt_3280"

txt_3280:
        .byte $55,$55,$5a,$5a,$5a,$5a,$5a,$5a       // char 80 'P'
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 81 'Q'

txt_3290:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 82 'R'

txt_3298:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 83 'S'

txt_32a0:
        .byte $55,$55,$a9,$a9,$a9,$a9,$a9,$a9       // char 84 'T'

txt_32a8:
        .byte $55,$55,$56,$56,$56,$56,$56,$56       // char 85 'U'
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 86 'V'

txt_32b8:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 87 'W'

txt_32c0:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 88 'X'

txt_32c8:
        .byte $54,$55,$a5,$a9,$a9,$aa,$aa,$aa       // char 89 'Y'
        .byte $05,$05                               // char 90 (partial)

txt_32d2:
        .byte $45,$45,$55,$55,$55,$55               // char 90 (partial)
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 91 '['

txt_32e0:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 92 '\'

txt_32e8:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 93 ']'

txt_32f0:
        .byte $55,$55,$aa,$aa,$aa,$aa,$aa,$aa       // char 94 '^'
        .byte $54,$54,$94,$94,$94,$94,$94,$94       // char 95 '_'
        .byte $16,$16,$16,$16,$16,$16,$16,$16       // char 96 '`'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 97 'a'
        .byte $aa,$95                               // char 98 (partial)

txt_3312:
        .byte $55,$50,$50,$50,$50,$50               // char 98 (partial)
        .byte $aa,$5a,$56,$16,$16,$16,$16,$16       // char 99 'c'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 100 'd'

txt_3328:
        .byte $55,$55,$55,$55,$55,$55,$55,$55       // char 101 'e'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 102 'f'
        .byte $aa,$95,$95,$94,$94,$94,$94,$94       // char 103 'g'
        .byte $aa,$56,$55,$05,$05,$05,$05,$05       // char 104 'h'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 105 'i'
        .byte $95,$95,$95,$95,$95,$95,$95,$95       // char 106 'j'
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a       // char 107 'k'
        .byte $a5,$a5,$a5,$a5,$a5,$a5,$a5,$a5       // char 108 'l'

// --- Region $3380-$3600 ---
.pc = $3380 "dat_3380"

dat_3380:
        .byte $5a,$55,$55,$00,$00,$00,$00,$00       // char 112 'p'
        .byte $aa,$55,$55,$05,$05,$05,$05,$05       // char 113 'q'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 114 'r'
        .byte $aa,$95,$95,$94,$94,$94,$94,$94       // char 115 's'
        .byte $a9,$55,$55,$00,$00,$00,$00,$00       // char 116 't'
        .byte $56,$56,$56,$16,$16,$16,$16,$16       // char 117 'u'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 118 'v'
        .byte $aa                                   // char 119 (partial)

txt_33b9:
        .byte $55,$55,$50,$50,$50,$50,$50           // char 119 (partial)
        .byte $aa,$5a,$56,$16,$16,$16,$16,$16       // char 120 'x'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 121 'y'

txt_33d0:
        .byte $55,$55,$55,$55,$55,$55,$55,$55       // char 122 'z'
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 123 '{'
        .byte $aa,$95,$95,$94,$94,$94,$94,$94       // char 124 '|'
        .byte $aa,$55,$55,$00,$00,$15,$15,$16       // char 125 '}'
        .byte $aa,$55,$55,$00,$00,$54,$54,$94       // char 126 '~'
        .byte $94,$54,$54,$00,$00,$00,$00,$00       // char 127
        .byte $16,$16,$16,$16,$16,$16,$16,$16       // char 128
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 129

txt_3410:
        .byte $50,$50,$50,$50,$50,$55,$95,$aa       // char 130
        .byte $16,$16,$16,$16,$16                   // char 131 (partial)

txt_341d:
        .byte $56,$5a,$aa                           // char 131 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 132

txt_3428:
        .byte $55,$55,$55,$55,$55,$55,$55,$55       // char 133
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 134
        .byte $94,$94,$94,$94,$94,$94,$94,$94       // char 135
        .byte $05,$05,$05,$05,$05,$05,$05,$05       // char 136
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 137
        .byte $95,$95,$95,$95,$95,$95,$95,$95       // char 138
        .byte $6a,$6a,$6a,$6a,$6a,$6a,$6a,$6a       // char 139
        .byte $a5,$a5,$a5,$a5,$a5,$a5,$a9,$aa       // char 140
        .byte $00,$00,$00,$00,$00                   // char 141 (partial)

txt_346d:
        .byte $55,$55,$aa                           // char 141 (partial)
        .byte $00,$00,$00,$00,$00                   // char 142 (partial)

txt_3475:
        .byte $55,$55,$aa                           // char 142 (partial)
        .byte $00,$00,$00,$00,$00                   // char 143 (partial)

txt_347d:
        .byte $55,$55,$a5                           // char 143 (partial)
        .byte $00,$00,$00,$00,$00,$55,$55,$5a       // char 144
        .byte $05,$05,$05,$05,$05                   // char 145 (partial)

txt_348d:
        .byte $55,$55,$aa                           // char 145 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 146
        .byte $94,$94,$94,$94,$94,$95,$95,$aa       // char 147
        .byte $00,$00,$00,$00,$00                   // char 148 (partial)

txt_34a5:
        .byte $55,$55,$a9                           // char 148 (partial)
        .byte $16,$16,$16,$16,$16                   // char 149 (partial)

txt_34ad:
        .byte $56,$56,$56                           // char 149 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 150

txt_34b8:
        .byte $50,$50,$50,$50,$50,$50,$50,$50       // char 151
        .byte $16,$16,$16,$16,$16,$16,$16,$16       // char 152
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 153

txt_34d0:
        .byte $55,$55,$55,$55,$55,$55,$55,$55       // char 154
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$aa,$aa       // char 155
        .byte $94,$94,$94,$94,$94,$95,$a5,$aa       // char 156
        .byte $16,$15,$15,$00,$00                   // char 157 (partial)

txt_34ed:
        .byte $55,$55,$aa                           // char 157 (partial)
        .byte $94,$54,$54,$00,$00                   // char 158 (partial)

txt_34f5:
        .byte $55,$55,$aa                           // char 158 (partial)
        .byte $00,$00,$00,$00,$00,$54,$54,$94       // char 159
        .byte $16,$16,$16,$15,$05,$05,$01,$00       // char 160
        .byte $aa,$aa,$aa,$aa,$aa,$6a               // char 161 (partial)

txt_350e:
        .byte $55,$55                               // char 161 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 162 (partial)

txt_3516:
        .byte $55,$55                               // char 162 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 163 (partial)

txt_351e:
        .byte $55,$55                               // char 163 (partial)
        .byte $aa,$aa,$aa,$a9,$a9,$a5               // char 164 (partial)

txt_3526:
        .byte $55,$54                               // char 164 (partial)
        .byte $55,$55,$55,$55,$45,$45,$05,$05       // char 165
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$55,$55       // char 166
        .byte $94,$94,$94,$94,$94,$94,$54,$54       // char 167
        .byte $05,$05,$05,$05,$05,$05,$05,$05       // char 168
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$55,$55       // char 169
        .byte $95,$95,$95,$95,$94,$94,$54,$54       // char 170
        .byte $6a,$6a,$6a,$5a,$5a,$56,$15,$05       // char 171
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 172 (partial)

txt_3566:
        .byte $55,$55                               // char 172 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 173 (partial)

txt_356e:
        .byte $55,$55                               // char 173 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 174 (partial)

txt_3576:
        .byte $55,$55                               // char 174 (partial)
        .byte $a5,$a5,$a5,$a5,$a5,$a5               // char 175 (partial)

txt_357e:
        .byte $55,$55                               // char 175 (partial)
        .byte $5a,$5a,$5a,$5a,$5a,$5a,$55,$55       // char 176
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 177 (partial)

txt_358e:
        .byte $55,$55                               // char 177 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 178 (partial)

txt_3596:
        .byte $55,$55                               // char 178 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 179 (partial)

txt_359e:
        .byte $55,$55                               // char 179 (partial)
        .byte $a9,$a9,$a9,$a9,$a9,$a9               // char 180 (partial)

txt_35a6:
        .byte $55,$55                               // char 180 (partial)
        .byte $56,$56,$56,$56,$56,$56,$55,$55       // char 181
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 182 (partial)

txt_35b6:
        .byte $55,$55                               // char 182 (partial)
        .byte $50,$50,$50,$50,$50,$50,$50,$50       // char 183
        .byte $16,$16,$16,$16,$16,$16,$15,$15       // char 184
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 185 (partial)

txt_35ce:
        .byte $55,$55                               // char 185 (partial)
        .byte $55,$55,$55,$55,$51,$51,$50,$50       // char 186
        .byte $aa,$aa,$aa,$6a,$6a,$5a,$55,$15       // char 187
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 188 (partial)

txt_35e6:
        .byte $55,$55                               // char 188 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa               // char 189 (partial)

txt_35ee:
        .byte $55,$55                               // char 189 (partial)
        .byte $aa,$aa,$aa,$aa,$aa,$aa,$55,$55       // char 190
        .byte $94,$94,$94,$94,$94,$94,$54,$54       // char 191

dat_3600:
        // === Fill data (1 bytes, $3600-$3600) ===
        .byte $00                                   // .

// --- Region $37ff-$3bb7 ---
.pc = $37ff "dat_37ff"

dat_37ff:
        .byte $85                                   // char 255 (partial)

scr_3800:
        // === Screen RAM (952 bytes, $3800-$3bb7) ===
        .encoding "screencode_mixed"
        .text "@etpp"
        .byte $41,$45,$44                           // scrcode: ...
        .text "@"
        .byte $50                                   // scrcode: .
        .text "tdd"
        .byte $41,$51                               // scrcode: ..
        .text "a"
        .byte $44,$45,$41                           // scrcode: ...
        .text "ppte@a"
        .byte $51,$41                               // scrcode: ..
        .text "ddt"
        .byte $50                                   // scrcode: .
        .text "@@uedddtu"
        .text "@"
        .encoding "petscii_upper"

txt_3829:
        .text "PPPTTTT"
        .encoding "screencode_mixed"
        .text "ttpp"
        .byte $50,$50,$54                           // scrcode: ...
        .text "@ttuuuu"
        .byte $55                                   // scrcode: .
        .text "@@eaaeeee@"
        .encoding "petscii_upper"

txt_3849:
        .text "PUEEEUT"
        .encoding "screencode_mixed"
        .text "eeeeuu"
        .byte $55                                   // scrcode: .
        .text "@tuuut"
        .byte $54,$50                               // scrcode: ..
        .text "@@aeeuuute"
        .byte $55,$45                               // scrcode: ..
        .text "ed@@@ttt"
        .byte $54                                   // scrcode: .
        .text "tte@"
        .text "@@@ttt"
        .byte $54                                   // scrcode: .
        .text "@@eaaeeee@"
        .encoding "petscii_upper"

txt_3889:
        .text "TUUEEEE"
        .encoding "screencode_mixed"
        .text "eeeeuu"
        .byte $55                                   // scrcode: .
        .text "@euuut"
        .byte $54,$50                               // scrcode: ..
        .text "@@eaaeeeee"
        .encoding "petscii_upper"

txt_38a9:
        .text "UEED"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "P"
        .encoding "screencode_mixed"
        .text "eeeeuu"
        .byte $55                                   // scrcode: .
        .text "@@@@ttt"
        .byte $54                                   // scrcode: .
        .text "@@eaaeeeee"
        .encoding "petscii_upper"

txt_38c9:
        .text "UEED"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "P"
        .encoding "screencode_mixed"
        .text "eeeeuu"
        .byte $55                                   // scrcode: .
        .text "@@@@@@@@@@aeeuuuue"
        .byte $55,$45                               // scrcode: ..
        .text "ed@@uttt"
        .byte $54                                   // scrcode: .
        .text "tte@"
        .text "ttttt"
        .byte $54,$50                               // scrcode: ..
        .text "@@ueeeetu@"
        .byte $55                                   // scrcode: .
        .text "eeett"
        .byte $54                                   // scrcode: .
        .text "t"
        .byte $54                                   // scrcode: .
        .text "ttt"
        .byte $54,$55                               // scrcode: ..
        .text "@ttttt"
        .byte $54,$55                               // scrcode: ..
        .text "@"
        .text "@a@@@@aa@"
        .encoding "petscii_upper"

txt_3929:
        .text "UTPPPPP"
        .encoding "screencode_mixed"
        .text "aaaaaeu@"
        .encoding "petscii_upper"

txt_3938:
        .text "PP"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "PT"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "eeutd@@@@"
        .byte $55                                   // scrcode: .
        .text "eeeuuu@@pt"
        .byte $50,$54                               // scrcode: ..
        .text "u@uttt"
        .byte $54,$54,$50                           // scrcode: ...
        .text "@@eaaeeee"
        .text "@"
        .encoding "petscii_upper"

txt_3969:
        .text "P"
        .byte $40                                   // @ character
        .text "UDTPP"
        .encoding "screencode_mixed"
        .text "eeeeuu"
        .byte $55                                   // scrcode: .
        .text "@"
        .byte $50,$50                               // scrcode: ..
        .text "ttttu@@eaaeeee@"
        .encoding "petscii_upper"

txt_3989:
        .text "P"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .encoding "screencode_mixed"
        .text "eeeeuu"
        .byte $55                                   // scrcode: .
        .text "@@@@eeu"
        .byte $54                                   // scrcode: .
        .text "@@ueeeeee@uttt"
        .byte $54,$54,$54                           // scrcode: ...
        .text "uuuqqq"
        .byte $55                                   // scrcode: .
        .text "@"
        .encoding "petscii_upper"

txt_39b8:
        .text "UUUEEEU"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@ueeeeuu@e"
        .encoding "petscii_upper"

txt_39ca:
        .text "EEEDTT"
        .encoding "screencode_mixed"
        .text "uttppp"
        .byte $54                                   // scrcode: .
        .text "@"
        .byte $54,$54,$54,$54,$54                   // scrcode: .....
        .text "tu@@aeeuuut@"
        .byte $50                                   // scrcode: .
        .text "ttutttttt"
        .byte $54                                   // scrcode: .
        .text "tte@"
        .text "t"
        .encoding "petscii_upper"

txt_39f9:
        .text "TTTPP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@eaaaaaa@"
        .encoding "petscii_upper"

txt_3a09:
        .text "TUUEEET"
        .encoding "screencode_mixed"
        .text "eeeeeeu@"
        .byte $40,$40,$40                           // scrcode: ...
        .text "@@@"
        .byte $40                                   // scrcode: .
        .text "@@ae"
        .byte $45,$45,$45                           // scrcode: ...
        .text "eu@"
        .byte $54,$55,$45                           // scrcode: ...
        .text "uuuuuuutuue@"
        .text "utt"
        .encoding "petscii_upper"

txt_3a3b:
        .text "TTUU"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@eaaaaaa@"
        .encoding "petscii_upper"

txt_3a49:
        .text "TUUEEET"
        .encoding "screencode_mixed"
        .text "eeeeeeu@"
        .byte $54,$54,$54                           // scrcode: ...
        .text "tee"
        .byte $55                                   // scrcode: .
        .text "@@aeeuuuee"
        .byte $55,$45                               // scrcode: ..
        .text "ed@@"
        .byte $50                                   // scrcode: .
        .text "a@pt"
        .byte $50,$54                               // scrcode: ..
        .text "u@"
        .byte $54,$54                               // scrcode: ..
        .text "tt"
        .byte $54,$54,$50                           // scrcode: ...
        .text "@tu"
        .byte $51,$51                               // scrcode: ..
        .text "qaaae"
        .encoding "petscii_upper"

txt_3a89:
        .text "UUED"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .encoding "screencode_mixed"
        .text "aaeeeeu@"
        .byte $40,$40                               // scrcode: ..
        .text "@@@"
        .byte $40,$50                               // scrcode: ..
        .text "@@ueeuuuu@"
        .byte $55                                   // scrcode: .
        .text "uuutttttt"
        .byte $54                                   // scrcode: .
        .text "tte@"
        .text "t"
        .encoding "petscii_upper"

txt_3ab9:
        .text "TTTPP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@ueeeeeed"
        .byte $45                                   // scrcode: .
        .text "eeddtteeeeeea@tpp"
        .encoding "petscii_upper"

txt_3adb:
        .text "PPP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@"
        .byte $54                                   // scrcode: .
        .text "uuuuuu@u"
        .encoding "petscii_upper"

txt_3aea:
        .text "EDDTTT"
        .encoding "screencode_mixed"
        .text "uuuuttu@"
        .encoding "petscii_upper"

txt_3af8:
        .text "TTTPPPT"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@ueeeaaa@u"
        .encoding "petscii_upper"

txt_3b0a:
        .text "TTPPPP"
        .encoding "screencode_mixed"
        .text "aaeddt"
        .byte $54                                   // scrcode: .
        .text "@"
        .byte $50,$50,$54,$54,$54                   // scrcode: .....
        .text "tu@@"
        .byte $55                                   // scrcode: .
        .text "ueeeee@"
        .byte $55                                   // scrcode: .
        .text "edt"
        .byte $54,$50,$50                           // scrcode: ...
        .text "aaaeeeu@"
        .byte $50,$40,$40,$40,$40                   // scrcode: .....
        .text "@"
        .byte $40                                   // scrcode: .
        .text "@eettd@aa@"
        .byte $55                                   // scrcode: .
        .text "uu"
        .byte $54,$54,$50,$50                       // scrcode: ....
        .text "eeuu"
        .byte $54,$54,$55                           // scrcode: ...
        .text "@"
        .byte $40,$40                               // scrcode: ..
        .text "@ttt"
        .byte $54                                   // scrcode: .
        .text "@"
        .text "@aedttt"
        .byte $50                                   // scrcode: .
        .text "@@@@@@@@"
        .byte $50,$50,$50                           // scrcode: ...
        .text "ttte@@@@@@@"
        .byte $40                                   // scrcode: .
        .text "@@"
        .byte $50                                   // scrcode: .
        .text "ttteee"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .text "etttp"
        .byte $50,$40                               // scrcode: ..
        .text "@@@@@@@@@@"
        .byte $50                                   // scrcode: .
        .text "ttteee@@@@@@@@etttp"
        .byte $50,$40                               // scrcode: ..
        .encoding "petscii_upper"

dat_3bb7:
        // === Fill data (1 bytes, $3bb7-$3bb7) ===
        .byte $00                                   // .

// --- Region $3c21-$3c37 ---
.pc = $3c21 "dat_3c21"

dat_3c21:
        .byte $06,$0f,$0f,$0f,$0e,$1e,$1e,$00,$00,$00,$00,$00,$00,$00,$00,$1c // ................
        .byte $1c,$08,$00,$30,$78,$30               // ...0x0

dat_3c37:
        // === Fill data (1 bytes, $3c37-$3c37) ===
        .byte $00                                   // .

// --- Region $3cc2-$3cdf ---
.pc = $3cc2 "dat_3cc2"

dat_3cc2:
        .byte $01,$05,$04,$04,$05,$05,$00,$00,$40,$50,$10,$10,$50,$40,$05,$15 // ........@P..P@..
        .byte $14,$54,$54,$14,$05,$00,$44,$45,$44,$14,$04,$14,$45 // .TT...DED...E

dat_3cdf:
        // === Fill data (1 bytes, $3cdf-$3cdf) ===
        .byte $00                                   // .

// --- Region $3d01-$3d5d ---
.pc = $3d01 "dat_3d01"

dat_3d01:
        .byte $01,$05,$04,$14,$14,$14,$50,$00,$00,$00,$00,$00,$00,$00,$00,$50 // ......P........P
        .byte $50,$50,$14,$14,$14,$05,$00,$00,$00,$00,$00,$00,$00,$40,$00,$00 // PP...........@..
        .byte $50,$14,$14,$14,$05,$05,$05,$00,$00,$00,$00,$00,$00,$00,$00,$05 // P...............
        .byte $14,$14,$14,$10,$50,$40,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ....P@..........
        .byte $00,$00,$00,$14,$15,$05,$55,$00,$00,$00,$00 // ......U....

txt_3d4c:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "PUU"
        .byte $05,$15,$14,$00,$00,$00               // ......

txt_3d58:
        .text "TP"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator

// --- Region $3d9c-$3da0 ---
.pc = $3d9c "txt_3d9c"

txt_3d9c:
        .text "PPP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator

// --- Region $3dd4-$3dd7 ---
.pc = $3dd4 "dat_3dd4"

dat_3dd4:
        .byte $14,$14,$14                           // ...

dat_3dd7:
        // === Fill data (1 bytes, $3dd7-$3dd7) ===
        .byte $00                                   // .

// --- Region $3e01-$3f3d ---
.pc = $3e01 "dat_3e01"

dat_3e01:
        .byte $01,$05,$05,$15,$15,$15,$14,$00,$51,$14,$14,$15,$14 // ........Q....

txt_3e0e:
        .text "TTUTTPQUU"
        .byte $00                                   // string terminator

txt_3e18:
        .text "TPPPPP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$01,$01,$00,$00,$01,$00   // .........

txt_3e29:
        .text "TTTPPPP"
        .byte $01,$01,$01,$01,$01,$05,$15,$00       // ........

txt_3e38:
        .text "PP"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "PT"
        .byte $00                                   // string terminator
        .byte $05,$05,$15,$14,$04,$00,$00,$01,$00,$50,$14,$14,$15,$14,$54,$50 // .........P....TP
        .byte $05,$15,$15,$14,$54,$54,$55,$00,$40,$00,$00,$14,$14,$54,$50,$00 // ....TTU.@....TP.
        .byte $05,$05,$15,$14,$04,$00,$00,$01,$00,$50,$14,$15,$15,$15,$14,$50 // .........P.....P
        .byte $00,$00,$10,$14,$50,$54,$15,$00,$54,$14,$14,$14,$54,$54,$50,$00 // ....PT..T...TTP.
        .byte $00,$00,$00,$00,$01,$01,$05,$04,$00,$15,$55,$54,$54,$14,$54,$54 // ..........UTT.TT
        .byte $14,$15,$00,$01,$01,$01,$05,$00       // ........

txt_3e98:
        .text "PUPPPPT"
        .byte $00                                   // string terminator
        .byte $00,$05,$15,$15,$14,$14,$15,$15,$05,$55,$14,$14,$04,$00,$00,$50 // .........U.....P
        .byte $01,$00,$10,$14,$50,$54,$15,$00,$54,$54,$14,$14,$54,$54,$50,$00 // ....PT..TT..TTP.
        .byte $00,$00,$01,$01,$05,$05,$15,$15,$00   // .........

txt_3ec9:
        .text "TP"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$50,$14,$14,$14,$54,$14,$14,$05,$00,$54,$14,$14,$14,$54,$54 // .P...T....T...TT
        .byte $50,$00,$14,$15,$14,$14,$10,$00,$00,$00,$00,$55,$15,$15,$15,$14 // P..........U....
        .byte $14,$14,$00,$00,$00,$00,$00,$01,$01,$00 // ..........

txt_3ef8:
        .text "TTPPPPP"
        .byte $00                                   // string terminator
        .byte $00,$01,$05,$05,$14,$14,$15,$05,$00,$50,$14,$14,$14,$14,$14,$54 // .........P.....T
        .byte $15,$14,$14,$54,$14,$14,$05,$00       // ...T....

txt_3f18:
        .text "PTTTPP"
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$05,$15,$15,$14,$14,$14,$15,$00,$50,$14,$14,$15,$14,$14,$14 // .........P......
        .byte $05,$01,$01,$01,$01,$05,$54,$00       // ......T.

txt_3f38:
        .text "PPP"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator

// --- Region $3fe1-$3ffa ---
.pc = $3fe1 "dat_3fe1"

dat_3fe1:
        .byte $05,$10,$54,$54,$10,$00,$01,$00       // ..TT....

txt_3fe9:
        .text "PTTTTTP"
        .byte $05,$05,$01,$00,$05,$05,$05,$00,$40,$40 // ........@@

dat_3ffa:
        // === Fill data (1 bytes, $3ffa-$3ffa) ===
        .byte $00                                   // .

// --- Region $8dd1-$8dd1 ---
.pc = $8dd1 "dat_8dd1"

dat_8dd1:
        // === Fill data (1 bytes, $8dd1-$8dd1) ===
        .byte $00                                   // .

// --- Region $ab1f-$ab1f ---
.pc = $ab1f "dat_ab1f"

dat_ab1f:
        // === Fill data (1 bytes, $ab1f-$ab1f) ===
        .byte $00                                   // .

// --- Region $ad08-$ad08 ---
.pc = $ad08 "dat_ad08"

dat_ad08:
        // === Fill data (1 bytes, $ad08-$ad08) ===
        .byte $00                                   // .

// --- Region $ae08-$ae08 ---
.pc = $ae08 "dat_ae08"

dat_ae08:
        // === Fill data (1 bytes, $ae08-$ae08) ===
        .byte $00                                   // .

// --- Region $ecd1-$ecd1 ---
.pc = $ecd1 "dat_ecd1"

dat_ecd1:
        // === Fill data (1 bytes, $ecd1-$ecd1) ===
        .byte $00                                   // .

// --- Region $ee08-$ee08 ---
.pc = $ee08 "dat_ee08"

dat_ee08:
        // === Fill data (1 bytes, $ee08-$ee08) ===
        .byte $00                                   // .

// --- Region $ef00-$ef2b ---
.pc = $ef00 "dat_ef00"

dat_ef00:
        .byte $0d,$01,$03,$00,$8a,$00,$00,$00,$4c,$4c,$00,$00,$00,$00,$00,$4c // ........LL.....L
        .byte $8c,$00,$00,$00,$00,$00,$4c,$28,$00,$00,$00,$00,$00,$00,$00,$00 // ......L(........
        .fill 12, $00

// --- Region $ef9d-$efe9 ---
.pc = $ef9d "Segment $ef9d"
        .byte $00,$fa,$00,$fa,$00,$fa,$d9,$fa,$71,$fa,$71,$fa,$df,$fa,$df,$fa // ........q.q.....
        .byte $32,$fb,$ea,$ef,$d3,$f0,$12,$f1,$4f,$f2,$12,$f1,$4f,$f2,$1e,$f4 // 2.......O...O...
        .byte $d3,$f0,$4f,$f2,$1e,$f4,$4f,$f2,$f6,$ef,$ae,$f4,$b4,$f4,$b4,$f4 // ..O...O.........
        .byte $b4,$f4,$b4,$f4,$0a,$60,$00           // .....`.

txt_efd4:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $d8                                   // 'X' | $80 (end-of-string marker)
        .byte $00,$3c,$3c,$80,$80,$00,$60,$80,$80,$60,$80,$80,$20,$00,$80,$40 // .<<...`..`.. ..@
        .byte $80,$60,$00                           // .`.

// --- Region $f058-$f0d2 ---
.pc = $f058 "Segment $f058"
        .byte $14,$00,$14,$14,$00,$14,$00,$14,$00,$14,$00,$14,$14,$14,$14,$18 // ................
        .byte $18,$17,$17,$16,$16,$15,$15,$14,$14,$11,$13,$0d,$00,$00,$00,$00 // ................
        .byte $00,$00,$0d,$0d,$00,$0d,$00,$0d,$00,$0d,$00,$0d,$00,$00,$00,$00 // ................
        .byte $00,$00,$0d,$0d,$00,$0d,$00,$0d,$00,$0c,$00,$0b,$00,$00,$00,$00 // ................
        .byte $00,$00,$0b,$0b,$00,$0b,$00,$0b,$00,$0b,$00,$0a,$00,$00,$00,$00 // ................
        .byte $00,$00,$0a,$0a,$00,$0a,$00,$0a,$00,$0a,$00,$09,$00,$00,$00,$00 // ................
        .byte $00,$00,$09,$09,$00,$09,$00,$09,$00,$08,$00,$06,$00,$00,$00,$00 // ................
        .byte $00,$00,$06,$08,$00,$00,$00,$00,$00,$08,$0b // ...........

// --- Region $f148-$f187 ---
.pc = $f148 "Segment $f148"
        .byte $8d,$00,$00,$0d,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 11, $00
        .byte $0f,$00,$12,$00,$14,$8d,$00,$00,$0d,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 16, $00
        .byte $10,$00,$17,$00,$14                   // .....

// --- Region $f1a1-$f24e ---
.pc = $f1a1 "dat_f1a1"

dat_f1a1:
        .byte $0d,$00,$0f,$00,$12,$00,$14,$8b,$00,$00,$0b,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$0b,$0b,$0d,$09,$00,$00,$00,$00,$00,$09,$0b,$08,$00 // ................
        .byte $00,$00,$00,$00,$17,$00,$15,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$19,$17,$15,$14,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $0d,$00,$10,$00,$12,$00,$14,$8d,$00,$00,$0d,$00,$00,$00,$1b,$00 // ................
        .byte $00,$1b,$1b,$1b,$1c,$1e,$1b,$00,$00,$00,$00,$00,$00,$00,$19,$00 // ................
        .byte $00,$00,$1e,$00,$00,$00,$1b,$00,$00,$17,$17,$14,$17,$19,$14,$00 // ................
        .fill 9, $00
        .byte $14,$14,$14,$17,$19,$14,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$14,$14,$17,$19,$12,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$14,$17,$19,$10,$00,$00,$00,$0f,$00,$00,$00,$0b,$00,$00 // ................
        .byte $00,$08,$00,$00,$00                   // .....

// --- Region $f293-$f44e ---
.pc = $f293 "Segment $f293"
        .fill 10, $00
        .byte $1e,$1e,$1e,$1f,$20,$1e,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // .... ...........
        .byte $00,$1e,$1e,$20,$23,$25,$00,$25,$00,$00,$00,$00,$00,$00,$00,$00 // ... #%.%........
        .byte $00,$00,$1e,$1f,$20,$1e,$00,$00,$00,$1c,$00,$00,$00,$1b,$00,$00 // .... ...........
        .byte $00,$17,$00,$00,$00,$15,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $15,$15,$15,$17,$19,$14,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$17,$00,$15,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $19,$19,$19,$17,$15,$17,$00,$00,$00,$00,$00,$19,$19,$1b,$1b,$19 // ................
        .byte $17,$1b,$1b,$19,$17,$19,$00,$00,$00,$00,$00,$00,$00,$00,$17,$19 // ................
        .byte $1e,$4d,$4d,$00,$4d,$4d,$00,$4d,$4d,$4d,$00,$4d,$00 // .MM.MM.MMM.M.

txt_f32a:
        .text "MMMM=="
        .byte $00                                   // string terminator
        .byte $3d,$3d,$00,$3d,$3d,$1d,$00,$1d,$00,$1d,$1d,$1d,$1d,$4d,$4d,$00 // ==.==........MM.
        .byte $4d,$4d,$00,$4d,$4d,$4d,$00,$4d,$00   // MM.MMM.M.

txt_f34a:
        .text "MMMMMM"
        .byte $00                                   // string terminator
        .byte $4d,$4d,$00,$4d,$4d,$3d,$00,$3d,$00,$3d,$18,$28,$00,$0d,$0d,$00 // MM.MM=.=.=.(....
        .byte $00,$00,$00,$0d,$08,$0d,$0d,$0d,$00,$0d,$00,$0d,$0d,$0b,$0b,$00 // ................
        .byte $00,$00,$00,$0b,$06,$0b,$0b,$0b,$00,$0b,$00,$0b,$06,$0a,$0a,$00 // ................
        .byte $00,$00,$00,$0a,$05,$0a,$0a,$0a,$00,$0a,$00,$0a,$0a,$09,$09,$09 // ................
        .byte $00,$09,$00,$09,$04,$08,$08,$08,$00,$08,$00,$0c,$00,$29,$29,$00 // .............)).
        .byte $29,$29,$00,$29,$00,$29,$00,$29,$00   // )).).).).

txt_f3aa:
        .text "))))++"
        .byte $00                                   // string terminator
        .byte $2b,$2b,$00,$2b,$00,$2b,$00,$2b,$00   // ++.+.+.+.

txt_f3ba:
        .text "++++MM"
        .byte $00                                   // string terminator
        .byte $4d,$4d,$00,$4d,$00,$4d,$00,$4d,$00   // MM.M.M.M.

txt_f3ca:
        .text "MMMM++"
        .byte $00                                   // string terminator
        .byte $00,$2b,$00,$2b,$2b,$19,$29,$00,$00,$39,$00,$29,$00,$06,$06,$00 // .+.++.)..9.)....
        .byte $06,$06,$00,$00,$06,$06,$00,$06,$00,$06,$06,$06,$06,$08,$08,$00 // ................
        .byte $08,$08,$00,$00,$08,$08,$00,$08,$00,$08,$08,$08,$08,$09,$09,$00 // ................
        .byte $09,$09,$00,$00,$09,$09,$00,$09,$00,$09,$09,$09,$09,$0b,$0b,$00 // ................
        .byte $0b,$0b,$00,$00,$0b,$0d,$0b,$00,$00,$09,$00,$08,$00,$a0,$00,$a9 // ................
        .byte $28,$a2,$20,$20,$29,$f5,$a9,$06,$20,$66,$f6,$f0,$01,$60,$b9,$4e // (.  )... f...`.N
        .byte $f4,$a2,$18,$20,$fa,$f4,$98,$29,$0f,$a8,$b9,$8e,$f4,$a2,$18,$20 // ... ...)....... 
        .byte $db,$f4,$b9,$9e,$f4,$a2,$00,$20,$03,$f5,$4c,$7c,$f6,$0d // ....... ..L|..

// --- Region $f468-$f4bb ---
.pc = $f468 "dat_f468"

dat_f468:
        .byte $01,$00,$03,$00,$06,$00,$08,$81,$00,$00,$01,$00,$00,$00,$81,$82 // ................
        .byte $83,$84,$85,$86,$87,$88,$89,$8a,$8b,$8c,$8d,$8e,$8f,$90,$91,$92 // ................
        .byte $93,$94,$95,$96,$97,$98,$4d,$00,$3d,$4d,$00,$1d,$3d,$4d,$4d,$00 // ......M.=M..=MM.
        .byte $3d,$4d,$00,$1d,$29,$2b,$0d,$00,$00,$0d,$00,$0d,$0d,$0d,$0d,$00 // =M..)+..........
        .byte $0d,$0d,$00,$0d,$0d,$0d,$a9,$0a,$8d,$04,$ef,$60,$a9,$00,$8d,$04 // ...........`....
        .byte $ef,$4c,$bc,$f4                       // .L..

// --- Region $f56a-$f61a ---
.pc = $f56a "dat_f56a"

dat_f56a:
        .byte $10,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$1c,$14,$00,$1c,$14,$00,$1c,$14,$00,$1c,$14,$00,$1c,$14 // ................
        .byte $00,$00,$1c,$10,$00,$1c,$10,$00,$1c,$10,$00,$1c,$10,$00,$1c,$10 // ................
        .byte $00,$00,$1c,$08,$00,$1c,$08,$00,$1c,$08,$00,$1c,$08,$00,$1c,$08 // ................
        .byte $00,$00,$1c,$0c,$00,$1c,$0c,$00,$1c,$0c,$00,$1c,$0c,$00,$1c,$0c // ................
        .byte $00,$01,$01,$01,$01,$ff,$fe,$fe,$ff,$01,$02,$02,$01,$ff,$ff,$ff // ................
        .byte $ff,$00,$18,$0c,$00,$18,$0c,$00,$18,$0c,$00,$18,$0c,$00,$18,$0c // ................
        .byte $00,$00,$01,$00,$ff,$00,$01,$00,$ff,$00,$01,$00,$ff,$00,$01,$00 // ................
        .byte $ff,$30,$30,$00,$00,$18,$18,$00,$00,$0c,$0c,$00,$02,$00,$02,$00 // .00.............
        .byte $02,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0,$d0 // ................
        .byte $d0,$01,$01,$01,$01,$09,$09,$09,$09,$01,$01,$01,$01,$0d,$0e,$0f // ................
        .byte $10                                   // .

// --- Region $f636-$f665 ---
.pc = $f636 "dat_f636"

dat_f636:
        .byte $80,$cb,$20,$a2,$00,$b3,$80,$a3,$01,$f3,$a0,$a2,$80,$03,$a0,$b7 // .. .............
        .byte $21,$cf,$20,$a2,$00,$a3,$80,$a3,$01,$e3,$a0,$a2,$80,$23,$a0,$a3 // !. ..........#..
        .byte $21,$ad,$1c,$d4,$18,$69,$6f,$a2,$0c,$8e,$13,$d4,$8d,$01,$d4,$60 // !....io........`

// --- Region $f770-$f89a ---
.pc = $f770 "dat_f770"

dat_f770:
        .byte $00,$00,$40,$f4,$f8,$00,$10,$08,$4c,$40,$0c,$f8,$18,$50,$01,$8c // ..@.....L@...P..
        .byte $40,$01,$08,$06,$50,$04,$28,$02,$ce,$80,$e4,$ce,$ea,$0c,$02,$b0 // @...P.(.........
        .byte $b0,$fc,$b0,$b0,$18,$02,$34,$34,$11,$34,$34,$00,$40,$f4,$f8,$00 // ......44.44.@...
        .byte $80,$08,$4c,$00,$40,$01,$fb,$0c,$50,$04,$20,$00,$40,$84,$fb,$00 // ..L.@...P. .@...
        .byte $70,$02,$00,$00,$40,$0c,$f8,$00,$00,$10,$2c,$00,$40,$01,$08,$06 // p...@.....,.@...
        .byte $50,$04,$28,$00,$40,$0c,$f8,$18,$50,$01,$8c,$00,$00,$00,$00,$00 // P.(.@...P.......
        .byte $00,$00,$00,$00,$80,$00,$00,$00,$a0,$0c,$00,$00,$80,$00,$00,$00 // ................
        .byte $70,$04,$00,$00,$10,$00,$00,$00,$70,$08,$00,$00,$80,$00,$00,$00 // p.......p.......
        .byte $70,$18,$00,$00,$10,$01,$81,$08,$50,$2d,$00,$00,$10,$01,$03,$00 // p.......P-......
        .byte $00,$02,$00,$00,$14,$01,$10,$00,$20,$02,$00,$00,$42,$80,$08,$08 // ........ ...B...
        .byte $50,$1d,$00,$00,$10,$01,$fe,$00,$40,$01,$00,$00,$40,$01,$fe,$08 // P.......@...@...
        .byte $50,$00,$00,$00,$40,$01,$01,$00,$50,$00,$00,$00,$02,$09,$15,$74 // P...@...P......t
        .byte $00,$00,$3f,$00,$ff,$ff,$28,$20,$00,$00,$05,$97,$7e,$6e,$80,$4d // ..?...( ....~n.M
        .byte $82,$32,$84,$1e,$86,$11,$88,$0c,$8a,$0e,$8c,$18,$8e,$29,$90,$41 // .2...........).A
        .byte $92,$62,$94,$8b,$96,$bb,$98,$f4,$9a,$35,$9d,$7e,$9f,$d0,$a1,$2b // .b.......5.~...+
        .byte $a4,$8e,$a6,$fa,$a8,$6f,$ab,$ee,$ad,$75,$b0,$06,$b3,$a1,$b5,$45 // .....o...u.....E
        .byte $b8,$f3,$ba,$ac,$bd,$6e,$c0,$3a,$c3,$11,$c6,$f3,$c8,$df,$cb,$d6 // .....n.:........
        .byte $ce,$d8,$d1,$e6,$d4,$fe,$d7,$23,$db,$52,$de,$8f,$e1,$d6,$e4,$2b // .......#.R.....+
        .byte $e8,$8b,$eb,$f8,$ee,$72,$f2,$f9,$f5,$8c,$f9 // .....r.....

// --- Region $f901-$f9ff ---
.pc = $f901 "Segment $f901"
        .byte $00,$80,$00,$00,$00,$00,$00,$30,$00,$81,$63,$01,$00,$00,$00,$40 // .......0..c....@
        .byte $10,$96,$06,$01,$03,$00,$00,$40,$10,$96,$06,$01,$04,$00,$00,$40 // .......@.......@
        .byte $10,$96,$08,$02,$02,$00,$00,$48,$b0,$96,$09,$02,$05,$00,$00,$50 // .......H.......P
        .byte $fc,$82,$48,$5c,$01,$00,$00,$50,$00,$82,$9a,$5c,$01,$00,$00,$50 // ..H\...P...\...P
        .byte $fc,$82,$16,$02,$01,$00,$00,$58,$10,$8f,$8b,$5a,$01,$00,$00,$40 // .......X...Z...@
        .byte $38,$8e,$0a,$c8,$01,$00,$00,$38,$d8,$85,$99,$c8,$01,$00,$00,$60 // 8......8.......`
        .byte $fc,$84,$9a,$c8,$01,$00,$00,$48,$00,$80,$09,$14,$01,$00,$00,$48 // .......H.......H
        .byte $80,$80,$09,$14,$01,$00,$00,$10,$10,$81,$09,$1a,$01,$00,$00,$18 // ................
        .byte $04,$81,$0d,$c4,$01,$00,$00,$68,$48,$bd,$0c,$de,$01,$00,$00,$68 // .......hH......h
        .byte $70,$a0,$0c,$de,$01,$00,$00,$68,$e8,$8b,$0c,$de,$01,$00,$00,$58 // p......h.......X
        .byte $00,$b6,$09,$01,$14,$00,$00,$50,$00,$b6,$01,$01,$15,$00,$00,$68 // .......P.......h
        .byte $dc,$84,$0f,$01,$16,$00,$00,$58,$f0,$84,$09,$05,$01,$00,$00,$50 // .......X.......P
        .byte $f0,$84,$09,$05,$01,$00,$00,$70,$f0,$84,$09,$05,$01,$00,$00,$18 // .......p........
        .byte $38,$b5,$08,$01,$1b,$00,$00,$18,$38,$b5,$08,$01,$01,$00,$00,$10 // 8.......8.......
        .byte $18,$8d,$69,$02,$01,$00,$00,$10,$38,$86,$69,$02,$01,$00,$00,$40 // ..i.....8.i....@
        .byte $04,$81,$0a,$c8,$01,$00,$00,$40,$10,$96,$06,$07,$01,$00,$00 // .......@.......

// --- Region $fa62-$fa6c ---
.pc = $fa62 "Segment $fa62"
        .byte $00,$28,$00,$48,$38,$28,$18,$48,$00,$00,$00 // .(.H8(.H...

// --- Region $faca-$fb00 ---
.pc = $faca "Segment $faca"
        .byte $00,$68,$00,$68,$00,$68,$00,$68,$00,$68,$00,$68,$00,$68,$38,$a9 // .h.h.h.h.h.h.h8.
        .byte $02,$8d,$04,$ef,$60,$20,$36,$ff,$a0,$00,$a9,$28,$a2,$20,$20,$29 // ....` 6....(.  )
        .byte $f5,$a9,$0c,$20,$66,$f6,$f0,$01,$60,$b9,$4c,$fc,$20,$fd,$f4,$98 // ... f...`.L. ...
        .byte $29,$1f,$a8,$b9,$e1,$fd,$20           // )..... 
