// ============================================
// ddt-01 - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 vdisasm-one 1.0 build 1, 2026-03-29 17:54:11
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $0a00 (2560)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $0a99 (irq_0a99)
// IRQ handler:  $0aed (irq_0aed)
//
// Code: 4286 bytes, Data: 59202 bytes
// Labels: 467, Subroutines: 18
//
// Cross-references: all OK
// ============================================


// --- Region $0a00-$0bd4 ---
.pc = $0a00 "main_0a00"

main_0a00:
        lda #$0b
        sta $0286
        jsr $e544
        lda #$89
        sta $07f8
        lda #$8a
        sta $07f9
        lda #$8b
        sta $07fa
        lda #$8c
        sta $07fb
        lda #$8d
        sta $07fc
        lda #$8e
        sta $07fd
        lda #$8f
        sta $07fe
        lda #$90
        sta $07ff
        ldx #$00

loc_0a32:
        lda scr_1c00,x
        sta $0540,x
        inx
        cpx #$78
        bne loc_0a32
        ldx #$00

loc_0a3f:
        lda #$01
        sta $da18,x
        inx
        cpx #$f0
        bne loc_0a3f
        ldx #$00

loc_0a4b:
        lda #$00
        sta $04a0,x
        sta $04c8,x
        sta $d8a0,x
        sta $d8c8,x
        inx
        cpx #$28
        bne loc_0a4b
        sei
        lda #$99
        ldx #$0a
        sta $0314                                   // set IRQ handler low byte
        stx $0315
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        lda #$01
        sta $d01a                                   // raster IRQ on
        lda #$7f                                    // disable all CIA1 interrupts
        sta $dc0d                                   // disable all CIA IRQs
        lda #$1b
        sta $d011                                   // text mode, screen on, 25 rows, Y-scroll=3
        lda #$01
        sta smc_107e                                // SMC: modifies $107e
        jsr sub_0d76
        lda #$00
        sta $fb
        sta $fc
        cli

loc_0a8c:
        lda $dc01
        cmp #$ef
        beq loc_0a96
        jmp loc_0a8c

loc_0a96:
        jmp loc_0f2a

// ============================================
// IRQ handler
// ============================================

irq_0a99:
        lda #$01
        sta $d019                                   // raster // acknowledge raster IRQ
        lda #$00
        sta $d012
        lda #$ed
        ldx #$0a
        sta $0314                                   // set IRQ handler low byte
        stx $0315
        lda #$00
        sta $d020
        sta $d021
        jsr sub_0b79
        lda #$19
        sta $d018                                   // screen=$0400, charset=$2000

loc_0abd:
        lda #$53
        sta $d012
        cmp $d012
        bne loc_0abd
        lda #$c8
        sta $d016                                   // hires, 40 cols, X-scroll=0
        lda #$12
        sta $d018                                   // screen=$0400, charset=$0800
        jsr sub_107d
        jsr sub_0c47
        jsr sub_0cad
        jsr sub_0d13

loc_0add:
        lda #$94
        cmp $d012
        bne loc_0add
        jmp loc_ea81

chr_0ae7:
        // === Charset data (6 bytes, $0ae7-$0aec) ===
        .byte $06,$00,$01,$00,$00,$00               // char 0 (partial)

// ============================================
// IRQ handler
// ============================================
irq_0aed: {
        lda #$01
        sta $d019                                   // raster // acknowledge raster IRQ
        lda #$99
        ldx #$0a
        sta $0314                                   // set IRQ handler low byte
        stx $0315
        lda #$00
        sta $d012
        ldx #$00
loop1:
        lda chr_0ae7,x
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        sta $d021
        sta $d020
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        inx
        cpx #$02
        bne loop1
        jsr sub_0e7d
        jsr sub_0e06
        jsr sub_0e06
        lda chr_0e05
        sta $d016
loop2:
        lda #$c2
        cmp $d012
        bne loop2
        lda chr_0e41
        sta $d016
        jsr sub_0e42
        jsr sub_0e42
        jsr sub_0e42
loop3:
        lda #$e3
        cmp $d012
        bne loop3
        ldx #$00
loop4:
        lda $0ae9,x
        nop
        nop
        sta $d021
        sta $d020
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        inx
        cpx #$02
        bne loop4
        jmp loc_ea81
}
// Referenced by: jsr from $0ab5; jmp from $0b8a

sub_0b79:
.label smc_0b7a = * + 1
.label smc_0b7b = * + 2
        lda $0bfc                                   // !SMC: modified by $0b84, $0b87, $ead1
        cmp #$ff
        bne loc_0b8d
        lda #$d6
        ldx #$0b
        sta smc_0b7a                                // SMC: modifies $0b7a
        stx smc_0b7b                                // SMC: modifies $0b7b
        jmp sub_0b79

loc_0b8d:
        sta scr_0bd5
        and #$07
        clc
        adc #$d0
        sta $d016                                   // multicolor, 38 cols, X-scroll=6
        lda #$00
        sbc scr_0bd5
        clc
        lsr
        lsr
        lsr
        tax
        ldy #$00

loc_0ba4:
        lda $1cf4,x
        sta $0400,y
        lda $1d74,x
        sta $0428,y
        lda $1df4,x
        sta $0450,y
        lda $1e74,x
        sta $0478,y
        inx
        iny
        cpy #$28
        bne loc_0ba4
        lda #$0e
        sta $d023
        lda #$06
        sta $d022
        inc smc_0b7a
        bne loc_0bd4
        inc smc_0b7b

loc_0bd4:
        rts

// --- Region $0c47-$0c71 ---
.pc = $0c47 "sub_0c47"
// Referenced by: jsr from $0ad4, $ea3e; jmp from $0c58, $eba3

sub_0c47:
.label smc_0c48 = * + 1
.label smc_0c49 = * + 2
        lda $0c9d                                   // !SMC: modified by $0c52, $0c55
        cmp #$ff
        bne loc_0c5b
        lda #$71
        ldx #$0c
        sta smc_0c48                                // SMC: modifies $0c48
        stx smc_0c49                                // SMC: modifies $0c49
        jmp sub_0c47

loc_0c5b:
        ldx #$00

loc_0c5d:
        sta $d940,x
        sta chr_0ae7
        inx
        cpx #$28
        bne loc_0c5d
        inc smc_0c48
        bne loc_0c70
        inc smc_0c49

loc_0c70:
        rts

chr_0c71:
        // === Charset data (1 bytes, $0c71-$0c71) ===
        .byte $09                                   // char 0 (partial)

// --- Region $0cad-$0cd7 ---
.pc = $0cad "sub_0cad"
// Referenced by: jsr from $0ad7, $ea41; jmp from $0cbe, $ebea

sub_0cad:
.label smc_0cae = * + 1
.label smc_0caf = * + 2
        lda $0cf9                                   // !SMC: modified by $0cb8, $0cbb
        cmp #$ff
        bne loc_0cc1
        lda #$d7
        ldx #$0c
        sta smc_0cae                                // SMC: modifies $0cae
        stx smc_0caf                                // SMC: modifies $0caf
        jmp sub_0cad

loc_0cc1:
        ldx #$00

loc_0cc3:
        sta $d968,x
        sta $0ae9
        inx
        cpx #$28
        bne loc_0cc3
        inc smc_0cae
        bne loc_0cd6
        inc smc_0caf

loc_0cd6:
        rts

chr_0cd7:
        // === Charset data (1 bytes, $0cd7-$0cd7) ===
        .byte $09                                   // char 0 (partial)

// --- Region $0d13-$0d3a ---
.pc = $0d13 "sub_0d13"
// Referenced by: jsr from $0ada, $ea44; jmp from $0d24, $ec31

sub_0d13:
.label smc_0d14 = * + 1
.label smc_0d15 = * + 2
        lda $0d52                                   // !SMC: modified by $0d1e, $0d21
        cmp #$ff
        bne loc_0d27
        lda #$3a
        ldx #$0d
        sta smc_0d14                                // SMC: modifies $0d14
        stx smc_0d15                                // SMC: modifies $0d15
        jmp sub_0d13

loc_0d27:
        ldx #$00

loc_0d29:
        sta $d990,x
        inx
        cpx #$28
        bne loc_0d29
        inc smc_0d14
        bne loc_0d39
        inc smc_0d15

loc_0d39:
        rts

chr_0d3a:
        // === Charset data (1 bytes, $0d3a-$0d3a) ===
        .byte $09                                   // char 0 (partial)

// --- Region $0d76-$0eb5 ---
.pc = $0d76 "sub_0d76"
// Referenced by: jsr from $0a82

sub_0d76:
        lda #$06
        sta $dad0
        sta $daf6
        lda #$04
        sta $dad1
        sta $daf5
        lda #$0e
        sta $dad2
        sta $daf4
        lda #$03
        sta $dad3
        sta $daf3
        lda #$07
        sta $dad4
        sta $daf2
        lda #$0c
        sta $d02a
        lda #$09
        sta $d027
        sta $da80
        sta $daa6
        lda #$02
        sta $d028
        sta $da81
        sta $daa5
        lda #$08
        sta $d029
        sta $da82
        sta $daa4
        lda #$0a
        sta $d02b
        sta $da83
        sta $daa3
        lda #$0f
        sta $d02c
        sta $da84
        sta $daa2
        lda #$07
        sta $d02d
        sta $da85
        sta $daa1
        lda #$01
        sta $d02e
        lda #$ff
        sta $d015
        sta $d01d
        lda #$00
        sta smc_0e24                                // SMC: modifies $0e24
        sta smc_0e60                                // SMC: modifies $0e60
        lda #$25
        sta smc_0e25                                // SMC: modifies $0e25
        lda #$27
        sta smc_0e61                                // SMC: modifies $0e61
        rts

chr_0e05:
        // === Charset data (1 bytes, $0e05-$0e05) ===
        .byte $c6                                   // char 0 (partial)
// Referenced by: jsr from $0b29, $0b2c, $ea84, $ea87

sub_0e06:
        ldx chr_0e05
        cpx #$c0
        beq loc_0e11
        dec chr_0e05
        rts

loc_0e11:
        ldx #$c7
        stx chr_0e05
        ldx #$00

loc_0e18:
        lda $0681,x
        sta $0680,x
        inx
        cpx #$28
        bne loc_0e18
.label smc_0e24 = * + 1
.label smc_0e25 = * + 2
        lda $2512                                   // !SMC: modified by $0df4, $0dfc, $0e38, $0e3d
        cmp #$00
        beq loc_0e36
        sta $06a7
        inc smc_0e24
        bne loc_0e35
        inc smc_0e25

loc_0e35:
        rts

loc_0e36:
        lda #$00
        sta smc_0e24                                // SMC: modifies $0e24
        lda #$25
        sta smc_0e25                                // SMC: modifies $0e25
        rts

chr_0e41:
        // === Charset data (1 bytes, $0e41-$0e41) ===
        .byte $c6                                   // char 0 (partial)
// Referenced by: jsr from $0b42, $0b45, $0b48, $ea9d, $eaa0, $eaa3

sub_0e42:
        ldx chr_0e41
        cpx #$c0
        beq loc_0e4d
        dec chr_0e41
        rts

loc_0e4d:
        ldx #$c7
        stx chr_0e41
        ldx #$00

loc_0e54:
        lda $06d0,x
        sta $06cf,x
        inx
        cpx #$28
        bne loc_0e54
.label smc_0e60 = * + 1
.label smc_0e61 = * + 2
        lda $271b                                   // !SMC: modified by $0df7, $0e01, $0e74, $0e79
        cmp #$00
        beq loc_0e72
        sta $06f6
        inc smc_0e60
        bne loc_0e71
        inc smc_0e61

loc_0e71:
        rts

loc_0e72:
        lda #$00
        sta smc_0e60                                // SMC: modifies $0e60
        lda #$27
        sta smc_0e61                                // SMC: modifies $0e61
        rts
// Referenced by: jsr from $0b26, $ea81

sub_0e7d:
        lda chr_0e91
        cmp #$01
        beq loc_0e88
        inc chr_0e91
        rts

loc_0e88:
        jsr sub_0e92
        lda #$00
        sta chr_0e91
        rts

chr_0e91:
        // === Charset data (1 bytes, $0e91-$0e91) ===
        .byte $01                                   // char 0 (partial)
// Referenced by: jsr from $0e88, $ed76; jmp from $0ea6, $ed94

sub_0e92:
.label smc_0e93 = * + 1
.label smc_0e94 = * + 2
        lda $0ec0                                   // !SMC: modified by $0e9d, $0ea0
        cmp #$0a
        bne loc_0ea9
        lda #$b5
        ldx #$0e
        sta smc_0e93                                // SMC: modifies $0e93
        stx smc_0e94                                // SMC: modifies $0e94
        jsr sub_0ecd
        jmp sub_0e92

loc_0ea9:
        sta $d015
        inc smc_0e93
        bne loc_0eb4
        inc smc_0e94

loc_0eb4:
        rts

chr_0eb5:
        // === Charset data (1 bytes, $0eb5-$0eb5) ===
        .byte $80                                   // char 0 (partial)

// --- Region $0ecd-$0f18 ---
.pc = $0ecd "sub_0ecd"
// Referenced by: jsr from $0ea3, $ed91

sub_0ecd:
        ldx $fb
        lda chr_0f18,x
        sta $d000
        sta $d002
        sta $d004
        sta $d006
        sta $d008
        sta $d00a
        sta $d00c
        sta $d00e
        inc $fb
        ldx $fc
        lda $0f21,x
        sta $d001
        sta $d003
        sta $d005
        sta $d007
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        inc $fc
        lda $fb
        cmp #$09
        bne loc_0f17
        lda #$00
        sta $fb
        sta $fc

loc_0f17:
        rts

chr_0f18:
        // === Charset data (1 bytes, $0f18-$0f18) ===
        .byte $a0                                   // char 0 (partial)

// --- Region $0f2a-$0f7c ---
.pc = $0f2a "loc_0f2a"

loc_0f2a:
        sei
        jsr $e544
        lda #$ea
        sta $0315                                   // set IRQ handler high byte
        lda #$31
        sta $0314                                   // set IRQ handler low byte
        lda #$c8
        sta $d016                                   // hires, 40 cols, X-scroll=0
        lda #$f0
        sta $d01a                                   // all IRQs off
        jsr $fda3
        cli
        lda #$00
        sta $d015
        lda #$00
        ldx #$00

loc_0f4f:
        sta $d400,x
        inx
        cpx #$19
        bne loc_0f4f
        lda #$00
        sta $c6
        lda #$00
        sta $ae
        sta $2d
        lda #$00
        sta $af
        sta $2e
        ldx #$00

loc_0f69:
        lda chr_0f7c,x
        sta $0400,x
        inx
        cpx #$24
        bne loc_0f69
        lda #$14
        sta $d018                                   // screen=$0400, charset=$1000
        jmp $0400

chr_0f7c:
        // === VIC register table (1 bytes, $0f7c-$0f7c) ===
        .byte $78                                   // x

// --- Region $107d-$1082 ---
.pc = $107d "sub_107d"
// Referenced by: jsr from $0ad1, $ea3b

sub_107d:
.label smc_107e = * + 1
        lda #$ff                                    // !SMC: modified by $0a7f
        bmi loc_10de

scr_1081:
        // === Screen RAM (2 bytes, $1081-$1082) ===
        .byte $f0,$4c                               // scrcode: ..

// --- Region $10de-$1639 ---
.pc = $10de "loc_10de"

loc_10de:
        cld
        ldx #$02
        dec $1065
        bpl loc_10ed
        lda #$00
        sta $1065
        bne loc_1100

loc_10ed:
        dec $1064
        bpl loc_1100
        lda #$02
        sta $1064
        dec scr_1000
        dec $1001
        dec $1002

loc_1100:
        lda scr_1000,x
        beq loc_1108
        jmp loc_12c1

loc_1108:
        sta $1042,x
        sta $1006,x
        lda $101b,x
        sta $fe
        lda $101e,x
        sta $ff
        ldy $1018,x
        lda ($fe),y
        bpl loc_115f
        cmp #$fe
        bcc loc_1132
        bne loc_1128
        inc smc_107e

loc_1128:
        lda #$00
        sta $1018,x
        tay
        lda ($fe),y
        bpl loc_115f

loc_1132:
        cmp #$e0
        bcc loc_1143
        sbc #$e0
        sta $1021,x
        inc $1018,x
        iny
        lda ($fe),y
        bpl loc_115f

loc_1143:
        cmp #$c0
        bcc loc_1154
        sbc #$c0
        sta $1009,x
        inc $1018,x
        iny
        lda ($fe),y
        bpl loc_115f

loc_1154:
        and #$3f
        sta $1012,x
        inc $1018,x
        iny
        lda ($fe),y

loc_115f:
        tay
        lda $19fc,y
        sta $fe
        lda $1a08,y
        sta $ff
        ldy $1015,x
        bne loc_1173
        tya
        sta $1033,x

loc_1173:
        lda ($fe),y
        bmi loc_1184

loc_1177:
        cmp #$7f
        beq loc_11e3
        adc $1012,x
        sta $100f,x
        jmp loc_1202

loc_1184:
        cmp #$c0
        bcs loc_119d
        and #$3f

loc_118a:
        sta $1003,x
        iny
        lda ($fe),y
        bpl loc_1177
        cmp #$c0
        bcs loc_119d
        and #$3f
        adc $1003,x
        bne loc_118a

loc_119d:
        cmp #$e0
        bcs loc_11b1
        and #$1f
        adc $1009,x
        asl
        asl
        asl
        sta $100c,x
        iny
        lda ($fe),y
        bpl loc_1177

loc_11b1:
        cmp #$f8
        bcs loc_11c1
        and #$1f
        sta $1033,x
        iny
        lda ($fe),y
        bpl loc_1177
        cmp #$f8

loc_11c1:
        bne loc_11cb
        sta smc_1295                                // SMC: modifies $1295
        iny
        lda ($fe),y
        bpl loc_1177

loc_11cb:
        cmp #$f9
        bne loc_11d9
        lda #$00
        sta smc_1295                                // SMC: modifies $1295
        iny
        lda ($fe),y
        bpl loc_1177

loc_11d9:
        lda #$00
        sta $d417
        iny
        lda ($fe),y
        bpl loc_1177

loc_11e3:
        iny
        lda ($fe),y
        sta $103f,x
        iny
        lda ($fe),y
        sta $1042,x
        iny
        lda ($fe),y
        clc
        adc $1012,x
        sta $100f,x
        iny
        lda ($fe),y
        adc $1012,x
        sta $1045,x

loc_1202:
        iny
        lda ($fe),y
        cmp #$ff
        bne loc_1218
        lda $1021,x
        beq loc_1213
        dec $1021,x
        bpl loc_1216

loc_1213:
        inc $1018,x

loc_1216:
        ldy #$00

loc_1218:
        tya
        sta $1015,x
        lda $1003,x
        sta scr_1000,x
        ldy $100f,x
        lda scr_1662,y
        sta $1039,x
        pha
        lda $16c2,y
        sta $103c,x
        ldy $1722,x
        sta $d401,y
        pla
        sta $d400,y
        lda $100c,x
        stx $fe
        tax
        lda $1878,x
        sta $d405,y
        lda $1879,x
        sta $d406,y
        lda $187d,x
        pha
        lda $1876,x
        pha
        lda $187a,x
        pha
        lda $187b,x
        pha
        lda $187c,x
        ldx $fe
        sta $1030,x
        pla
        sta $102d,x
        and #$20
        beq loc_1273
        lda #$00
        sta $d404,y

loc_1273:
        sta $d402,y
        sta $1057,x
        sta $1036,x
        sta $1048,x
        pla
        and #$0f
        sta $d403,y
        sta $105a,x
        pla
        sta $1024,x
        sta $d404,y
        pla
        and #$0f
        beq loc_12be
.label smc_1295 = * + 1
        ldy #$00                                    // !SMC: modified by $11c3, $11d1
        bne loc_12be
        sty smc_161e                                // SMC: modifies $161e
        asl
        asl
        asl
        tay
        lda $190f,y
        sta $1063
        sta $d416
        lda $190e,y
        clc
        adc $1725,x
        sta $d417
        lda $190d,y
        sta $d418
        lda $190a,y
        sta smc_1636                                // SMC: modifies $1636

loc_12be:
        jmp loc_13da

loc_12c1:
        ldy $1042,x
        beq loc_12d4
        lda $1006,x
        cmp $103f,x
        bcc loc_12d4
        jsr sub_147a
        jmp loc_12f6

loc_12d4:
        ldy $100c,x
        lda $187d,y
        and #$f0
        beq loc_12f6
        lsr
        lsr
        tay
        lda $1006,x
        cmp $18ca,y
        bcc loc_12f6
        lda $1048,x
        bne loc_12f3
        jsr sub_14e9
        bmi loc_12f6

loc_12f3:
        jsr sub_1521

loc_12f6:
        lda $1030,x
        and #$04
        beq loc_1305
        lda $103c,x
        beq loc_1323
        dec $103c,x

loc_1305:
        lda $1030,x
        and #$02
        beq loc_1323
        lda $1006,x
        lsr
        bcc loc_1318
        clc
        adc $103c,x
        bne loc_1320

loc_1318:
        sta $fe
        lda $103c,x
        sec
        sbc $fe

loc_1320:
        sta $103c,x

loc_1323:
        ldy $100c,x
        lda $187a,y
        and #$f0
        beq loc_1330
        jsr sub_1581

loc_1330:
        ldy $100c,x
        lda $187d,y
        and #$0f
        beq loc_133d
        jsr sub_1606

loc_133d:
        ldy $1033,x
        beq loc_134b
        lda $1030,x
        lsr
        bcs loc_134b
        jsr sub_1445

loc_134b:
        lda $1030,x
        bpl loc_1353
        jsr sub_13e0

loc_1353:
        lda $102d,x
        and #$40
        beq loc_136c
        lda #$01
        cmp scr_1000,x
        bne loc_136c
        cmp $1064
        bne loc_136c
        ldy $1722,x
        sta $d406,y

loc_136c:
        lda $1006,x
        bne loc_138a
        lda $1030,x
        and #$40
        beq loc_13b1
        ldy $1722,x
        lda #$81
        sta $d404,y
        lda #$f9
        sta $d401,y
        inc $1006,x
        bne loc_13da

loc_138a:
        lda $102d,x
        bmi loc_1396
        lda $1030,x
        bpl loc_13a9
        bmi loc_13b1

loc_1396:
        and #$1f
        cmp scr_1000,x
        bcc loc_13b1
        lda $1030,x
        bpl loc_13a9
        lda $1024,x
        and #$fe
        bcs loc_13b4

loc_13a9:
        ldy $100c,x
        lda $1877,y
        bne loc_13b4

loc_13b1:
        lda $1024,x

loc_13b4:
        ldy $1722,x
        inc $1006,x
        bne loc_13bf
        dec $1006,x

loc_13bf:
        sta $d404,y
        lda $1039,x
        sta $d400,y
        lda $103c,x
        sta $d401,y
        lda $1057,x
        sta $d402,y
        lda $105a,x
        sta $d403,y

loc_13da:
        dex
        bmi loc_1444
        jmp loc_1100
// Referenced by: jsr from $1350, $f1d3

sub_13e0:
        ldy $100c,x
        lda $1877,y
        pha
        and #$7f
        tay
        lda $17d8,y
        sta $fe
        lda $17db,y
        sta $ff
        lda $1006,x
        bne loc_13ff
        sta $1027,x
        sta $102a,x

loc_13ff:
        ldy $1027,x
        lda ($fe),y
        cmp #$fe
        bcc loc_1410
        beq loc_1418
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_1410:
        sta $1024,x
        iny
        tya
        sta $1027,x

loc_1418:
        pla
        bmi loc_1444
        tay
        lda $17de,y
        sta $fe
        lda $17e1,y
        sta $ff
        ldy $102a,x
        lda ($fe),y
        cmp #$fe
        bcc loc_1437
        beq loc_1444
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_1437:
        sta $103c,x
        lda #$00
        sta $1039,x
        iny
        tya
        sta $102a,x

loc_1444:
        rts

// Referenced by: jsr from $1348, $f1cb
sub_1445: {
        lda $172f,y
        sta $fe
        lda $173f,y
        sta $ff
        ldy $1036,x
        iny
        lda ($fe),y
        bpl skip2
        cmp #$81
        beq skip1
        bcs skip2
        rts
skip1:
        iny
        lda ($fe),y
        tay
skip2:
        tya
        sta $1036,x
        lda ($fe),y
        clc
        adc $100f,x
        tay
        lda scr_1662,y
        sta $1039,x
        lda $16c2,y
        sta $103c,x
        rts
}

// Referenced by: jsr from $12ce, $f151
sub_147a: {
        sty $fe
        lda #$00
        asl $fe
        rol
        asl $fe
        rol
        sta $ff
        ldy $1045,x
        tya
        cmp $100f,x
        bcs skip
        lda $1039,x
        sec
        sbc $fe
        sta $1039,x
        lda $103c,x
        sbc $ff
        sta $103c,x
        lda $1039,x
        sec
        sbc scr_1662,y
        lda $103c,x
        sbc $16c2,y
        bcs done
loop:
        lda scr_1662,y
        sta $1039,x
        lda $16c2,y
        sta $103c,x
        lda #$00
        sta $1042,x
        sta $1048,x
        tya
        sta $100f,x
done:
        rts
skip:
        lda $1039,x
        clc
        adc $fe
        sta $1039,x
        lda $103c,x
        adc $ff
        sta $103c,x
        lda scr_1662,y
        sec
        sbc $1039,x
        lda $16c2,y
        sbc $103c,x
        bcc loop
        rts
}

// Referenced by: jsr from $12ee, $f171
sub_14e9: {
        sta $1054,x
        inc $1048,x
        lda $18cb,y
        and #$0f
        sta $104b,x
        lda $18cb,y
        lsr
        lsr
        lsr
        lsr
        sta $fe
        ldy $100f,x
        lda $1663,y
        sec
        sbc scr_1662,y
        sta $104e,x
        lda $16c3,y
        sbc $16c2,y
        sta $1051,x
loop:
        lsr $1051,x
        ror $104e,x
        dec $fe
        bpl loop
        rts
}
// Referenced by: jsr from $12f3, $f176

sub_1521:
        lda $1048,x
        bmi loc_1539
        lda $1039,x
        clc
        adc $104e,x
        sta $1039,x
        lda $103c,x
        adc $1051,x
        jmp loc_1549

loc_1539:
        lda $1039,x
        sec
        sbc $104e,x
        sta $1039,x
        lda $103c,x
        sbc $1051,x

loc_1549:
        sta $103c,x
        dec $104b,x
        bne loc_1562
        lda $18cb,y
        and #$0f
        asl
        sta $104b,x
        lda $1048,x
        eor #$ff
        sta $1048,x

loc_1562:
        lda $18cd,y
        cmp $1054,x
        bcc loc_1580
        lda $18cc,y
        beq loc_1580
        adc $104e,x
        sta $104e,x
        lda $1051,x
        adc #$00
        sta $1051,x
        inc $1054,x

loc_1580:
        rts
// Referenced by: jsr from $132d, $f1b0

sub_1581:
        lsr
        tay
        lda $1006,x
        bne loc_1591
        sta $1060,x
        lda $18d7,y
        sta $105d,x

loc_1591:
        lda $18d6,y
        beq loc_15c6
        sty smc_15c5                                // SMC: modifies $15c5
        tay
        lda $190d,y
        sta $fe
        lda $190e,y
        sta $ff
        ldy $1060,x
        lda ($fe),y
        cmp #$fe
        bcc loc_15b5
        beq loc_15c4
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_15b5:
        sta $1057,x
        iny
        lda ($fe),y
        sta $105a,x
        iny
        tya
        sta $1060,x
        rts

loc_15c4:
.label smc_15c5 = * + 1
        ldy #$00                                    // !SMC: modified by $1596

loc_15c6:
        lda $105d,x
        bne loc_15ec
        lda $1057,x
        clc
        adc $18dd,y
        sta $fe
        lda $105a,x
        adc $18dc,y
        cmp $18d9,y
        bcc loc_15e3
        sta $105d,x
        rts

loc_15e3:
        sta $105a,x
        lda $fe
        sta $1057,x
        rts

loc_15ec:
        lda $1057,x
        sec
        sbc $18db,y
        sta $fe
        lda $105a,x
        sbc $18da,y
        cmp $18d8,y
        bcs loc_15e3
        lda #$00
        sta $105d,x
        rts
// Referenced by: jsr from $133a, $f1bd

sub_1606:
        asl
        asl
        asl
        tay
        lda $1909,y
        beq loc_1635
        sty smc_1634                                // SMC: modifies $1634
        tay
        lda $1928,y
        sta $fe
        lda $1929,y
        sta $ff
.label smc_161e = * + 1
        ldy #$00                                    // !SMC: modified by $1298, $162e
        lda ($fe),y
        cmp #$fe
        bcc loc_162d
        beq loc_1633
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_162d:
        iny
        sty smc_161e                                // SMC: modifies $161e
        bne loc_1649

loc_1633:
.label smc_1634 = * + 1
        ldy #$00                                    // !SMC: modified by $160f

loc_1635:
.label smc_1636 = * + 1
        lda #$01                                    // !SMC: modified by $12bb, $165e
        bne loc_1650

scr_1639:
        // === Screen RAM (1 bytes, $1639-$1639) ===
        .byte $ad                                   // scrcode: .

// --- Region $1649-$1661 ---
.pc = $1649 "loc_1649"

loc_1649:
        sta $1063
        sta $d416
        rts

loc_1650:
        lda $1063
        sec
        sbc $1910,y
        cmp $190b,y
        bcs loc_1649
        lda #$00
        sta smc_1636                                // SMC: modifies $1636
        rts

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

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

// --- Region $ea31-$ea50 ---
.pc = $ea31 "irq_ea31"

// ============================================
// IRQ handler
// ============================================

irq_ea31:
        lda #$c8
        sta $d016                                   // hires, 40 cols, X-scroll=0
        lda #$12
        sta $d018                                   // screen=$0400, charset=$0800
        jsr sub_107d
        jsr sub_0c47
        jsr sub_0cad
        jsr sub_0d13

loc_ea47:
        lda #$94
        cmp $d012
        bne loc_ea47
        jmp loc_ea81

// --- Region $ea81-$eac5 ---
.pc = $ea81 "loc_ea81"

loc_ea81:
        jsr sub_0e7d
        jsr sub_0e06
        jsr sub_0e06
        lda chr_0e05
        sta $d016

loc_ea90:
        lda #$c2
        cmp $d012
        bne loc_ea90
        lda chr_0e41
        sta $d016
        jsr sub_0e42
.label loc_eaa1 = * + 1
        jsr sub_0e42
        jsr sub_0e42

loc_eaa6:
        lda #$e3
        cmp $d012
        bne loc_eaa6
        ldx #$00
        lda $0ae9,x
        nop
        nop
        sta $d021
        sta $d020
        .byte $f2                                   // jam // ILLEGAL

dat_eabb:
        .byte $ea,$60,$2d                           // .`-

loc_eabe:
        inx
        cpx #$02
        bne loc_eaa1
        jmp loc_ea81

// --- Region $ead0-$ead3 ---
.pc = $ead0 "Segment $ead0"
        .byte $0b,$8d                               // anc #$8d // ILLEGAL
        .byte $7a                                   // nop // ILLEGAL

dat_ead3:
        .byte $0b                                   // .

// --- Region $eaf2-$eb22 ---
.pc = $eaf2 "loc_eaf2"

loc_eaf2:
        lda $1cf4,x
        sta $0400,y
        lda $1d74,x
        sta $0428,y
        lda $1df4,x
.label loc_eb02 = * + 1
        sta $0450,y
        lda $1e74,x
.label loc_eb08 = * + 1
        sta $0478,y
        inx
        iny
        cpy #$28
        bne loc_eaf2
        lda #$0e
        sta $d023
        lda #$06
        sta $d022
        inc smc_0b7a
        bne loc_eb22
        inc smc_0b7b

loc_eb22:
        rts

// --- Region $eb92-$ebbc ---
.pc = $eb92 "loc_eb92"

loc_eb92:
        lda $0c9d
        cmp #$ff
        bne loc_eba6
        lda #$71
        ldx #$0c
        sta smc_0c48
        stx smc_0c49
        jmp sub_0c47

loc_eba6:
        ldx #$00

loc_eba8:
        sta $d940,x
        sta chr_0ae7
        inx
        cpx #$28
        bne loc_eba8
        inc smc_0c48
        bne loc_ebbb
        inc smc_0c49

loc_ebbb:
        rts

dat_ebbc:
        .byte $09                                   // .

// --- Region $ebd9-$ec03 ---
.pc = $ebd9 "loc_ebd9"

loc_ebd9:
        lda $0cf9
        cmp #$ff
        bne loc_ebed
        lda #$d7
        ldx #$0c
        sta smc_0cae
        stx smc_0caf
        jmp sub_0cad

loc_ebed:
        ldx #$00

loc_ebef:
        sta $d968,x
        sta $0ae9
        inx
        cpx #$28
        bne loc_ebef
        inc smc_0cae
        bne loc_ec02
        inc smc_0caf

loc_ec02:
        rts

dat_ec03:
        .byte $09                                   // .

// --- Region $ec20-$ec47 ---
.pc = $ec20 "loc_ec20"

loc_ec20:
        lda $0d52
        cmp #$ff
        bne loc_ec34
        lda #$3a
        ldx #$0d
        sta smc_0d14
        stx smc_0d15
        jmp sub_0d13

loc_ec34:
        ldx #$00

loc_ec36:
        sta $d990,x
        inx
        cpx #$28
        bne loc_ec36
        inc smc_0d14
        bne loc_ec46
        inc smc_0d15

loc_ec46:
        rts

dat_ec47:
        .byte $09                                   // .

// --- Region $ecc0-$ecf3 ---
.pc = $ecc0 "loc_ecc0"

loc_ecc0:
        bit $8dd0
        sty $da
        sta $daa2
        lda #$07
        sta $d02d
        sta $da85
        sta $daa1
        lda #$01
        sta $d02e
        lda #$ff
        sta $d015
        sta $d01d
        lda #$00
        sta smc_0e24
        sta smc_0e60
        lda #$25
        sta smc_0e25
        lda #$27
        sta smc_0e61
        rts

dat_ecf3:
        .byte $c6                                   // .

// --- Region $ed06-$ed2f ---
.pc = $ed06 "loc_ed06"

loc_ed06:
        lda $0681,x
.label loc_ed0b = * + 2
        sta $0680,x
        inx
        cpx #$28
        bne loc_ed06
        lda $2512
        cmp #$00
        beq loc_ed24
        sta $06a7
        inc smc_0e24
        bne loc_ed23
        inc smc_0e25

loc_ed23:
        rts

loc_ed24:
        lda #$00
        sta smc_0e24
        lda #$25
        sta smc_0e25
        rts

dat_ed2f:
        .byte $c6                                   // .

// --- Region $ed42-$eda3 ---
.pc = $ed42 "loc_ed42"

loc_ed42:
.label loc_ed43 = * + 1
        lda $06d0,x
        sta $06cf,x
        inx
        cpx #$28

loc_ed4b:
        bne loc_ed42
        lda $271b
        cmp #$00
        beq loc_ed60
        sta $06f6
        inc smc_0e60
        bne loc_ed5f
        inc smc_0e61

loc_ed5f:
        rts

loc_ed60:
        lda #$00
        sta smc_0e60
        lda #$27
        sta smc_0e61
        rts

dat_ed6b:
        .byte $ad,$91,$0e,$c9                       // ....

loc_ed6f:
        ora ($f0,x)
        .byte $04,$ee                               // nop $ee // ILLEGAL
        sta ($0e),y
        rts

loc_ed76:
        jsr sub_0e92
        lda #$00
        sta chr_0e91
        rts

loc_ed7f:
        ora ($ad,x)
        cpy #$0e
        cmp #$0a
        bne loc_ed97
        lda #$b5
        ldx #$0e
        sta smc_0e93
        stx smc_0e94
        jsr sub_0ecd
        jmp sub_0e92

loc_ed97:
        sta $d015
        inc smc_0e93
        bne loc_eda2
        inc smc_0e94

loc_eda2:
        rts

dat_eda3:
        .byte $80                                   // .

// --- Region $ede0-$ee02 ---
.pc = $ede0 "loc_ede0"

loc_ede0:
        bne loc_ed6f
        ora $d0
        sta $d007
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        inc $fc
        lda $fb
        cmp #$09
        bne loc_ee01
        lda #$00
        sta $fb
        sta $fc

loc_ee01:
        rts

dat_ee02:
        .byte $a0                                   // .

// --- Region $ee15-$ee8c ---
.pc = $ee15 "loc_ee15"

loc_ee15:
        sei
        jsr $e544
        lda #$ea
        sta $0315                                   // set IRQ handler high byte
        lda #$31
        sta $0314                                   // set IRQ handler low byte
        lda #$c8
        sta $d016                                   // hires, 40 cols, X-scroll=0
        lda #$f0
        sta $d01a                                   // all IRQs off
        jsr $fda3
        cli
        lda #$00
        sta $d015
        lda #$00
        ldx #$00

loc_ee3a:
        sta $d400,x
        inx
        cpx #$19
        bne loc_ee3a
        lda #$00
        sta $c6
        lda #$00
        sta $ae
        sta $2d
        lda #$00
        sta $af
        sta $2e
        ldx #$00

loc_ee54:
        lda chr_0f7c,x
        sta $0400,x
        inx
        cpx #$24
        bne loc_ee54
        lda #$14
        sta $d018                                   // screen=$0400, charset=$1000
        jmp $0400

dat_ee67:
        .byte $78,$a9,$30,$85,$01                   // x.0..

loc_ee6c:
        ldx #$00

loc_ee6e:
        lda $2900,x
        sta $0801,x
        inx
        bne loc_ee6e
        inc $0409
        inc $040c
.label loc_ee7e = * + 1
        lda $0409
        cmp #$00
        bne loc_ee6c
        lda #$37
        sta $01
        jmp loc_fce2

dat_ee8b:
        .byte $80,$5f                               // ._

// --- Region $eec8-$eecf ---
.pc = $eec8 "loc_eec8"

loc_eec8:
        ora $a7bd,y
        and ($37,x)
        lda $27
        .byte $02                                   // jam // ILLEGAL

// --- Region $ef0d-$ef5e ---
.pc = $ef0d "loc_ef0d"

loc_ef0d:
        bpl loc_eec8
        and ($17,x)
        sta $10e7
        ldx #$00

loc_ef16:
        iny
        iny
        lda $1720,y
        sta $101b,x
        lda $1721,y
        sta $101e,x
        lda #$01
        sta scr_1000,x
        sta $1065
        lda #$00
        sta $1018,x
        sta $1015,x
        sta $1021,x
        sta $1009,x
        inx
        cpx #$03
        bne loc_ef16
        sta $1064
        sta smc_1295
        ldx #$18

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

// --- Region $ef97-$f029 ---
.pc = $ef97 "loc_ef97"

loc_ef97:
        sta $ff
        ldy $1018,x
        lda ($fe),y
        bpl loc_efe0
        cmp #$fe
        bcc loc_efb3
        bne loc_efa9
        inc smc_107e

loc_efa9:
        lda #$00
        sta $1018,x
        tay
        lda ($fe),y
        bpl loc_efe0

loc_efb3:
        cmp #$e0
        bcc loc_efc4
        sbc #$e0
        sta $1021,x
        inc $1018,x
        iny
        lda ($fe),y
        bpl loc_efe0

loc_efc4:
        cmp #$c0
        bcc loc_efd5
        sbc #$c0
        sta $1009,x
        inc $1018,x
        iny
        lda ($fe),y
        bpl loc_efe0

loc_efd5:
        and #$3f
        sta $1012,x
        inc $1018,x
        iny
        lda ($fe),y

loc_efe0:
        tay
        lda $19fc,y
        sta $fe
        lda $1a08,y
        sta $ff
        ldy $1015,x
        bne loc_eff4
        tya
        sta $1033,x

loc_eff4:
        lda ($fe),y
        bmi loc_f005

loc_eff8:
.label loc_eff9 = * + 1
        cmp #$7f
        beq loc_f064
        adc $1012,x
        sta $100f,x
        jmp loc_1202

loc_f005:
        cmp #$c0
        bcs loc_f01e
        and #$3f

loc_f00b:
        sta $1003,x
        iny
        lda ($fe),y
        bpl loc_eff8
        cmp #$c0
        bcs loc_f01e
        and #$3f
        adc $1003,x
        bne loc_f00b

loc_f01e:
        cmp #$e0
        bcs loc_f032
        and #$1f
        adc $1009,x
        .byte $e3,$0a                               // isc ($0a,x) // ILLEGAL
        rts

// --- Region $f032-$f11f ---
.pc = $f032 "loc_f032"

loc_f032:
        dec $c9
        sed
        bcs loc_f043
        and #$1f
        sta $1033,x
        iny
        lda ($fe),y
        bpl loc_eff9
        cmp #$f8

loc_f043:
        bne loc_f04d
        sta smc_1295
        iny
        lda ($fe),y
        bpl loc_eff9

loc_f04d:
        cmp #$f9
        bne loc_f05b
        lda #$00
        sta smc_1295
        iny
        lda ($fe),y
        bpl loc_eff9

loc_f05b:
        lda #$00
        sta $d417
        iny
        lda ($fe),y
.label loc_f064 = * + 1
        bpl loc_eff9
        iny
        lda ($fe),y
        sta $103f,x
        iny
        lda ($fe),y
        sta $1042,x
        iny
        lda ($fe),y
        clc
        adc $1012,x
        sta $100f,x
        iny
        lda ($fe),y
        adc $1012,x
        sta $1045,x
        iny
        lda ($fe),y
        cmp #$ff
        bne loc_f09a
        lda $1021,x
        beq loc_f095
        dec $1021,x
        bpl loc_f098

loc_f095:
        inc $1018,x

loc_f098:
        ldy #$00

loc_f09a:
        tya
        sta $1015,x
        lda $1003,x
        sta scr_1000,x
        ldy $100f,x
        lda scr_1662,y
        sta $1039,x
        pha
        lda $16c2,y
        sta $103c,x
        ldy $1722,x
        sta $d401,y
        pla
        sta $d400,y
        lda $100c,x
        stx $fe
        tax
        lda $1878,x
        sta $d405,y
        lda $1879,x
        sta $d406,y
        lda $187d,x
        pha
        lda $1876,x
        pha
        lda $187a,x
        pha
        lda $187b,x
        pha
        lda $187c,x
        ldx $fe
        sta $1030,x
        pla
        sta $102d,x
        and #$20
        beq loc_f0f5
        lda #$00
        sta $d404,y

loc_f0f5:
        sta $d402,y
        sta $1057,x
        sta $1036,x
        sta $1048,x
        pla
        and #$0f
        sta $d403,y
        sta $105a,x
        pla
        sta $1024,x
        sta $d404,y
        pla
        and #$0f
        beq loc_f140
        ldy #$00
        bne loc_f140
        sty smc_161e
        .byte $e3,$0a                               // isc ($0a,x) // ILLEGAL
        .byte $62                                   // jam // ILLEGAL

// --- Region $f140-$f263 ---
.pc = $f140 "loc_f140"

loc_f140:
        asl $4c,x
        .byte $da                                   // nop // ILLEGAL
        .byte $13,$bc                               // slo ($bc),y // ILLEGAL

dat_f145:
        .byte $42,$10                               // B.

loc_f147:
        beq loc_f157
        lda $1006,x
        cmp $103f,x
        bcc loc_f157
        jsr sub_147a
        jmp loc_12f6

loc_f157:
        ldy $100c,x
        lda $187d,y
        and #$f0
        beq loc_f179
        lsr
        lsr
        tay
        lda $1006,x
        cmp $18ca,y
        bcc loc_f179
        lda $1048,x
        bne loc_f176
        jsr sub_14e9
        bmi loc_f179

loc_f176:
        jsr sub_1521

loc_f179:
        lda $1030,x
        and #$04
        beq loc_f188
        lda $103c,x
        beq loc_f1a6
        dec $103c,x

loc_f188:
        lda $1030,x
        and #$02
        beq loc_f1a6
        lda $1006,x
        lsr
        bcc loc_f19b
        clc
        adc $103c,x
        bne loc_f1a3

loc_f19b:
        sta $fe
        lda $103c,x
        sec
        sbc $fe

loc_f1a3:
        sta $103c,x

loc_f1a6:
        ldy $100c,x
        lda $187a,y
        and #$f0
        beq loc_f1b3
        jsr sub_1581

loc_f1b3:
        ldy $100c,x
        lda $187d,y
        and #$0f
        beq loc_f1c0
        jsr sub_1606

loc_f1c0:
        ldy $1033,x
        beq loc_f1ce
        lda $1030,x
        lsr
        bcs loc_f1ce
        jsr sub_1445

loc_f1ce:
        lda $1030,x
        bpl loc_f1d6
        jsr sub_13e0

loc_f1d6:
        lda $102d,x
        and #$40
        beq loc_f1ef
        lda #$01
        cmp scr_1000,x
        bne loc_f1ef
        cmp $1064
        bne loc_f1ef
        ldy $1722,x
        sta $d406,y

loc_f1ef:
        lda $1006,x
        bne loc_f20d
        lda $1030,x
        and #$40
        beq loc_f234
        ldy $1722,x
        lda #$81
        sta $d404,y
        lda #$f9
        sta $d401,y
        inc $1006,x
        bne loc_f25d

loc_f20d:
        lda $102d,x
        bmi loc_f219
        lda $1030,x
        bpl loc_f22c
        bmi loc_f234

loc_f219:
        and #$1f
        cmp scr_1000,x
        bcc loc_f234
        lda $1030,x
        bpl loc_f22c
        lda $1024,x
        and #$fe
        bcs loc_f237

loc_f22c:
        ldy $100c,x
        lda $1877,y
        bne loc_f237

loc_f234:
        lda $1024,x

loc_f237:
        ldy $1722,x
        inc $1006,x
        bne loc_f242
        dec $1006,x

loc_f242:
        sta $d404,y
        lda $1039,x
        sta $d400,y
        lda $103c,x
        sta $d401,y
        lda $1057,x
        sta $d402,y
        lda $105a,x
        sta $d403,y

loc_f25d:
        dex
        bmi loc_f2c7
        jmp loc_1100

dat_f263:
        .byte $bc                                   // .

// --- Region $f284-$f2c7 ---
.pc = $f284 "loc_f284"

loc_f284:
        bpl loc_f237
        inc $fec9,x
        bcc loc_f293
        beq loc_f29b
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_f293:
        sta $1024,x
        iny
        tya
        sta $1027,x

loc_f29b:
        pla
        bmi loc_f2c7
        tay
        lda $17de,y
        sta $fe
        lda $17e1,y
        sta $ff
        ldy $102a,x
        lda ($fe),y
        cmp #$fe
        bcc loc_f2ba
        beq loc_f2c7
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_f2ba:
        sta $103c,x
        lda #$00
        sta $1039,x
        iny
        tya
        sta $102a,x

loc_f2c7:
        rts

// --- Region $f2d0-$f2fc ---
.pc = $f2d0 "Segment $f2d0"
        sta $ff
        ldy $1036,x
        iny
        lda ($fe),y
        bpl loc_f2e5
        cmp #$81
        beq loc_f2e1
.label loc_f2df = * + 1
        bcs loc_f2e5
        rts

loc_f2e1:
        iny
        lda ($fe),y
        tay

loc_f2e5:
        tya
        sta $1036,x
        lda ($fe),y
        clc
        adc $100f,x
        tay
        lda scr_1662,y
        sta $1039,x
        lda $16c2,y
        sta $103c,x
        rts

// --- Region $f342-$f34a ---
.pc = $f342 "loc_f342"

loc_f342:
        bpl loc_f2e1
        pha
        bpl loc_f2df
        sta $100f,x
        rts

// --- Region $f3b5-$f3bc ---
.pc = $f3b5 "loc_f3b5"

loc_f3b5:
        bpl loc_f434
        eor ($10),y
        jmp loc_1549

dat_f3bc:
        .byte $bd                                   // .

// --- Region $f404-$f4e5 ---
.pc = $f404 "loc_f404"

loc_f404:
        lsr
        tay
        lda $1006,x
        bne loc_f414
        sta $1060,x
        lda $18d7,y
        sta $105d,x

loc_f414:
        lda $18d6,y
        beq loc_f449
        sty smc_15c5
        tay
        lda $190d,y
        sta $fe
        lda $190e,y
        sta $ff
        ldy $1060,x
        lda ($fe),y
        cmp #$fe
        bcc loc_f438
        beq loc_f447
        iny
.label loc_f434 = * + 1
        lda ($fe),y
        tay
        lda ($fe),y

loc_f438:
        sta $1057,x
        iny
        lda ($fe),y
        sta $105a,x
        iny
        tya
        sta $1060,x
        rts

loc_f447:
        ldy #$00

loc_f449:
        lda $105d,x
        bne loc_f46f
        lda $1057,x
        clc
        adc $18dd,y
        sta $fe
        lda $105a,x
        adc $18dc,y
        cmp $18d9,y
        bcc loc_f466
        sta $105d,x
        rts

loc_f466:
        sta $105a,x
        lda $fe
        sta $1057,x
        rts

loc_f46f:
        lda $1057,x
        sec
        sbc $18db,y
        sta $fe
        lda $105a,x
        sbc $18da,y
        cmp $18d8,y
        bcs loc_f466
        lda #$00
        sta $105d,x
        rts

dat_f489:
        .byte $e3,$0a,$60,$b9,$a8,$b9               // ..`...

loc_f48f:
        ora #$19
        beq loc_f4b9
        sty smc_1634
        tay
        lda $1928,y
        sta $fe
        lda $1929,y
        sta $ff
        ldy #$00
        lda ($fe),y
        cmp #$fe
        bcc loc_f4b1
        beq loc_f4b7
        iny
        lda ($fe),y
        tay
        lda ($fe),y

loc_f4b1:
        iny
        sty smc_161e
        bne loc_f4cd

loc_f4b7:
        ldy #$00

loc_f4b9:
        lda #$01
        bne loc_f4d4

dat_f4bd:
        .byte $ad,$63,$10,$18,$79                   // .c..y

loc_f4c2:
        bpl loc_f4dd
        cmp $190c,y
        bcc loc_f4cd
        sta smc_1636
        rts

loc_f4cd:
        sta $1063
        sta $d416
        rts

loc_f4d4:
        lda $1063
        sec
        sbc $1910,y
.label loc_f4dd = * + 2
        cmp $190b,y
        bcs loc_f4cd
        lda #$00
        sta smc_1636
        rts

// --- Region $fc10-$fc14 ---
.pc = $fc10 "loc_fc10"

loc_fc10:
        ora ($04),y
        .byte $04,$01                               // nop $01 // ILLEGAL
        brk

// --- Region $fc31-$fc74 ---
.pc = $fc31 "loc_fc31"

loc_fc31:
        ldy $a600,x
        .byte $ff,$55,$66                           // isc $6655,x // ILLEGAL
        eor $6e6a,y
        .byte $7b,$7f,$ff                           // rra $ff7f,y // ILLEGAL
        .byte $54,$64                               // nop $64,x // ILLEGAL
        sty $a4,x
        cpx $b4
        .byte $f4,$f4                               // nop $f4,x // ILLEGAL
        .byte $54,$64                               // nop $64,x // ILLEGAL
        sty $a4,x
        cpx $b4
        sbc $a6ff,x
        and $55
.label loc_fc52 = * + 2
        .byte $ff,$05,$06                           // isc $0605,x // ILLEGAL
        ora ($a3,x)
        bmi loc_fc52
        .byte $ff,$55,$66                           // isc $6655,x // ILLEGAL
        sta $055a,y
        brk
        ldx $ff
        eor $66,x
        sta $eeaa,y
        .byte $7b,$c2,$30                           // rra $30c2,y // ILLEGAL
        bvc loc_fcba
        bcc loc_fc10
        cpx $b4
        .byte $f4,$f8                               // nop $f8,x // ILLEGAL
        .byte $bf,$ff,$af                           // lax $afff,y // ILLEGAL

dat_fc73:
        .byte $9b,$46                               // .F

// --- Region $fca4-$fcaf ---
.pc = $fca4 "loc_fca4"

loc_fca4:
        and ($10,x)
        lda $21
        plp
        lda $21
        .byte $44,$a2                               // nop $a2 // ILLEGAL
        bmi loc_fc31
        brk

// --- Region $fcba-$fcba ---
.pc = $fcba "loc_fcba"

loc_fcba:
        brk

// --- Region $fce2-$fcf7 ---
.pc = $fce2 "loc_fce2"

loc_fce2:
        ldx #$21
        .byte $44,$a5                               // nop $a5 // ILLEGAL
        and ($28,x)
        lda $21
        bpl loc_fca4
        and ($10,x)
        lda $21
        plp
        lda $2a
        .byte $44,$00                               // nop $00 // ILLEGAL
        ora ($01,x)
        brk

// --- Region $fda3-$fda9 ---
.pc = $fda3 "Segment $fda3"
        php
        ora $12
        jsr $010c
        .byte $02                                   // jam // ILLEGAL

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

// --- Region $0800-$090d ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (270 bytes, $0800-$090d) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $1f,$33,$63,$63,$63,$3b,$00,$00       // char 1 @+1
        .byte $7e,$63,$7e,$63,$63,$7e,$00,$00       // char 2 @+2
        .byte $3c,$66,$60,$60,$63,$3e,$00,$00       // char 3 @+3
        .byte $7c,$66,$63,$63,$63,$7e,$00,$00       // char 4 @+4
        .byte $3e,$60,$3c,$60,$60,$3f,$00,$00       // char 5 @+5
        .byte $3f,$60,$3c,$60,$60,$60,$60,$00       // char 6 @+6
        .byte $3c,$66,$60,$67,$63,$3e,$00,$00       // char 7 @+7
        .byte $63,$63,$7f,$63,$63,$63,$03,$00       // char 8 @+8
        .byte $7e,$18,$18,$18,$18,$7e,$00,$00       // char 9 @+9
        .byte $1f,$03,$03,$03,$63,$3e,$00,$00       // char 10 @+10
        .byte $63,$66,$7c,$66,$63,$63,$06,$00       // char 11 @+11
        .byte $60,$60,$60,$60,$60,$3f,$00,$00       // char 12 @+12
        .byte $63,$77,$7f,$6b,$63,$63,$03,$00       // char 13 @+13
        .byte $7e,$63,$63,$63,$63,$63,$03,$00       // char 14 @+14
        .byte $3e,$63,$63,$63,$63,$3e,$00,$00       // char 15 @+15
        .byte $7e,$63,$63,$7e,$60,$60,$60,$00       // char 16 @+16
        .byte $3e,$63,$63,$6b,$6f,$3f,$00,$00       // char 17 @+17
        .byte $7e,$63,$63,$7e,$63,$63,$06,$00       // char 18 @+18
        .byte $38,$60,$3e,$03,$63,$3e,$00,$00       // char 19 @+19
        .byte $7c,$00,$60,$60,$63,$3e,$00,$00       // char 20 @+20
        .byte $63,$63,$63,$63,$63,$3e,$00,$00       // char 21 @+21
        .byte $63,$63,$63,$63,$36,$1c,$00,$00       // char 22 @+22
        .byte $63,$63,$6b,$7f,$77,$63,$00,$00       // char 23 @+23
        .byte $63,$63,$3e,$63,$63,$63,$03,$00       // char 24 @+24
        .byte $63,$63,$63,$3f,$03,$7e,$00,$00       // char 25 @+25
        .byte $7f,$06,$0c,$18,$30,$7f,$00,$00       // char 26 @+26
        .byte $33,$1f,$33,$63,$63,$3b,$00,$00       // char 27 @+27
        .byte $36,$3e,$63,$63,$63,$3e,$00,$00       // char 28 @+28
        .byte $0c,$1f,$33,$63,$63,$3b,$00,$00       // char 29 @+29
        .byte $04,$06,$7f,$7f,$06,$04,$00,$00       // char 30 @+30
        .byte $10,$30,$7f,$7f,$30,$10,$00,$00       // char 31 @+31
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 32 ' '
        .byte $18,$18,$18,$18,$00,$18               // char 33 (partial)

// --- Region $0928-$09ff ---
.pc = $0928 "dat_0928"

dat_0928:
        .byte $63,$66,$0c,$18,$33,$63,$00,$00       // char 37 '%'
        .byte $3e,$63,$63,$3e,$00,$7f,$00,$00       // char 38 '&'
        .byte $06,$0c,$18,$00,$00,$00,$00,$00       // char 39 '''
        .byte $0c,$18,$30,$30,$18,$0c,$00,$00       // char 40 '('
        .byte $30,$18,$0c,$0c,$18,$30,$00,$00       // char 41 ')'
        .byte $18,$3c,$7e,$7e,$3c,$18,$00,$00       // char 42 '*'
        .byte $18,$18,$7e,$18,$18,$00,$00,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$18,$18,$30,$00       // char 44 ','
        .byte $00,$00,$7e,$00,$00,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$18,$18,$00,$00       // char 46 '.'
        .byte $03,$06,$0c,$18,$30,$60,$00,$00       // char 47 '/'
        .byte $3e,$67,$6b,$73,$63,$3e,$00,$00       // char 48 '0'
        .byte $18,$38,$38,$18,$18,$7e,$00,$00       // char 49 '1'
        .byte $3e,$63,$03,$0e,$38,$7f,$00,$00       // char 50 '2'
        .byte $3e,$63,$0e,$03,$63,$3e,$00,$00       // char 51 '3'
        .byte $66,$66,$66,$3f,$06,$06,$06,$00       // char 52 '4'
        .byte $7f,$60,$7e,$03,$63,$3e,$00,$00       // char 53 '5'
        .byte $3f,$60,$7e,$63,$63,$3e,$00,$00       // char 54 '6'
        .byte $ff,$06,$0c,$18,$18,$18,$18,$00       // char 55 '7'

spr_09c0:
        .byte $3e,$63,$3e,$63,$63,$3e,$00,$00       // char 56 '8'
        .byte $3e,$63,$63,$3f,$03,$7e,$00,$00       // char 57 '9'
        .byte $00,$18,$00,$00,$18,$00,$00,$00       // char 58 ':'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 59 ';'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 60 '<'
        .byte $00,$00,$7e,$00,$7e,$00,$00,$00       // char 61 '='
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 62 '>'
        .byte $3e,$63,$06,$0c,$00,$18,$00,$00       // char 63 '?'

// --- Region $0bd5-$0c46 ---
.pc = $0bd5 "scr_0bd5"

scr_0bd5:
        // === Charset data (114 bytes, $0bd5-$0c46) ===
        .byte $ef,$7f,$86,$8d,$94,$9b,$a2,$a9       // char 0 @+0
        .byte $b0,$b6,$bd,$c3,$c9,$ce,$d4,$d9       // char 1 @+1
        .byte $de,$e3,$e7,$eb,$ef,$f2,$f5,$f7       // char 2 @+2
        .byte $fa,$fb,$fd,$fe,$fe,$fe,$fe,$fe       // char 3 @+3
        .byte $fd,$fb,$fa,$f7,$f5,$f2,$ef,$eb       // char 4 @+4
        .byte $e7,$e3,$de                           // char 5 (partial)

scr_0c00:
        .byte $d9,$d4,$ce,$c9,$c3                   // char 5 (partial)
        .byte $bd,$b6,$b0,$a9,$a2,$9b,$94,$8d       // char 6 @+6
        .byte $86,$7f,$78,$71,$6a,$63               // char 7 (partial)

txt_0c13:
        .byte $5c,$55                               // char 7 (partial)
        .byte $4e,$48,$41,$3b,$35,$30,$2a,$25       // char 8 @+8
        .byte $20,$1b,$17,$13,$0f,$0c,$09,$07       // char 9 @+9
        .byte $04,$03,$01,$00,$00,$00,$00,$00       // char 10 @+10
        .byte $01,$03,$04,$07,$09,$0c,$0f,$13       // char 11 @+11
        .byte $17,$1b                               // char 12 (partial)

txt_0c37:
        .byte $20,$25,$2a,$30,$35,$3b               // char 12 (partial)
        .byte $41,$48,$4e,$55,$5c,$63,$6a,$71       // char 13 @+13
        .byte $78,$ff                               // char 14 (partial)

// --- Region $0c72-$0cac ---
.pc = $0c72 "Program $0c72"
        .byte $09,$0b,$0b,$08,$08,$0c,$0c           // char 0 (partial)
        .byte $0f,$0f,$07,$07,$01,$01,$01,$01       // char 1 @+1
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 2 @+2
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 3 @+3
        .byte $01,$01,$01,$0d,$0d,$03,$03,$0e       // char 4 @+4
        .byte $0e,$04,$04,$06,$06,$00,$00,$00       // char 5 @+5
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 6 @+6
        .byte $00,$00,$00,$ff                       // char 7 (partial)

// --- Region $0cd8-$0d12 ---
.pc = $0cd8 "Program $0cd8"
        .byte $09,$0b,$0b,$08,$08,$0c,$0c           // char 0 (partial)
        .byte $0f,$0f,$07,$07,$01,$01,$01,$01       // char 1 @+1
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 2 @+2
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 3 @+3
        .byte $01,$01,$01,$0d,$0d,$03,$03,$0e       // char 4 @+4
        .byte $0e,$04,$04,$06,$06,$00,$00,$00       // char 5 @+5
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 6 @+6
        .byte $00,$00,$00,$ff                       // char 7 (partial)

// --- Region $0d3b-$0d75 ---
.pc = $0d3b "Program $0d3b"
        .byte $09,$0b,$0b,$08,$08,$0c,$0c           // char 0 (partial)
        .byte $0f,$0f,$07,$07,$01,$01,$01,$01       // char 1 @+1
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 2 @+2
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 3 @+3
        .byte $01,$01,$01,$0d,$0d,$03,$03,$0e       // char 4 @+4
        .byte $0e,$04,$04,$06,$06,$00,$00,$00       // char 5 @+5
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 6 @+6
        .byte $00,$00,$00,$ff                       // char 7 (partial)

// --- Region $0eb6-$0ecc ---
.pc = $0eb6 "Program $0eb6"
        .byte $c0,$e0,$f0,$f8,$fc,$fe,$ff           // char 0 (partial)
        .byte $ff,$ff,$ff,$fe,$fc,$f8,$f0,$e0       // char 1 @+1
        .byte $c0,$80,$00,$00,$00,$00,$00,$0a       // char 2 @+2

// --- Region $0f19-$0f29 ---
.pc = $0f19 "Program $0f19"
        .byte $c8,$60,$fa,$60,$46,$c8,$64           // char 0 (partial)
        .byte $f0,$9b,$64,$78,$c8,$60,$c8,$c8       // char 1 @+1
        .byte $c8,$64                               // char 2 (partial)

// --- Region $0f7d-$0fa0 ---
.pc = $0f7d "Program $0f7d"
        .byte $a9,$30,$85,$01,$a2,$00,$bd,$00,$29,$9d,$01,$08,$e8,$d0,$f7,$ee // .0......).......
        .byte $09,$04,$ee,$0c,$04,$ad,$09,$04,$c9,$00,$d0,$e8,$a9,$37,$85,$01 // .............7..
        .byte $4c,$e2,$fc                           // L..

dat_0fa0:
        .byte $00                                   // .

// --- Region $0fff-$107c ---
.pc = $0fff "dat_0fff"

dat_0fff:
        .byte $20                                   //  

scr_1000:
        .byte $09,$01,$05,$20,$04,$0c,$46,$0a,$16,$00,$00,$00,$08,$10,$40,$32 // ... ..F.......@2
        .byte $37,$5a,$1a,$02,$02,$04,$05,$06,$01,$01,$01,$2c,$6c,$81,$19,$19 // 7Z.........,l...
        .byte $19,$00,$00,$00,$41,$41,$81,$05,$05,$2f,$05,$05,$2f,$60,$60,$60 // ....AA.../../```
        .byte $00,$00,$00,$0d,$00,$00,$06,$00,$00,$31,$1e,$ac,$1c,$19,$bd,$00 // .........1......
        .byte $00,$00,$00,$00,$00,$00,$37,$00,$00,$00,$00,$00,$02,$01,$00,$91 // ......7.........
        .byte $08,$00,$01,$00,$00,$18,$00,$14,$e8,$00,$08,$07,$00,$0e,$00,$00 // ................
        .byte $00,$00,$00,$4f,$01,$00               // ...O..

txt_1066:
        .text " *** (C) 1989 20CC *** "

// --- Region $1083-$10dd ---
.pc = $1083 "Segment $1083"
        .encoding "screencode_mixed"
        .text "jjj"
        .byte $a8,$b9                               // scrcode: ..
        .text " w"
        .byte $8d,$f3                               // scrcode: ..
        .text "p"
        .byte $b9                                   // scrcode: .
        .text "!w"
        .byte $8d,$e7                               // scrcode: ..
        .text "p"
        .byte $a2                                   // scrcode: .
        .text "@"
        .byte $c8,$c8,$b9                           // scrcode: ...
        .text " w"
        .byte $9d,$1b                               // scrcode: ..
        .text "p"
        .byte $b9                                   // scrcode: .
        .text "!w"
        .byte $9d,$1e                               // scrcode: ..
        .text "p"
        .byte $a9                                   // scrcode: .
        .text "a"
        .byte $9d                                   // scrcode: .
        .text "@p"
        .byte $8d,$65                               // scrcode: ..
        .text "p"
        .byte $a9                                   // scrcode: .
        .text "@"
        .byte $9d                                   // scrcode: .
        .text "xp"
        .byte $9d                                   // scrcode: .
        .text "up"
        .byte $9d                                   // scrcode: .
        .text "!p"
        .byte $9d                                   // scrcode: .
        .text "ip"
        .byte $e8,$e0                               // scrcode: ..
        .text "c"
        .byte $d0,$d7,$8d,$64                       // scrcode: ....
        .text "p"
        .byte $8d,$95                               // scrcode: ..
        .text "r"
        .byte $a2                                   // scrcode: .
        .text "x"
        .byte $9d                                   // scrcode: .
        .text "@"
        .byte $d4,$ca                               // scrcode: ..
        .text "p"
        .byte $fa,$8e,$7e                           // scrcode: ...
        .text "p"
        .byte $8d                                   // scrcode: .
        .text "d"
        .byte $d4,$8d                               // scrcode: ..
        .text "k"
        .byte $d4,$8d                               // scrcode: ..
        .text "r"
        .byte $d4,$a9                               // scrcode: ..
        .text "o"
        .byte $8d                                   // scrcode: .
        .text "x"
        .byte $d4,$60                               // scrcode: ..
        .encoding "petscii_upper"

// --- Region $163a-$1648 ---
.pc = $163a "Segment $163a"
        .encoding "screencode_mixed"
        .byte $63                                   // scrcode: .
        .text "px"
        .byte $79                                   // scrcode: .
        .text "py"
        .byte $d9                                   // scrcode: .
        .text "ly"
        .byte $90                                   // scrcode: .
        .text "d"
        .byte $8d                                   // scrcode: .
        .text "6v"
        .byte $60                                   // scrcode: .
        .encoding "petscii_upper"

// --- Region $1662-$1bcf ---
.pc = $1662 "scr_1662"

scr_1662:
        // === Screen RAM (414 bytes, $1662-$17ff) ===
        .encoding "screencode_mixed"
        .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,$b0       // scrcode: ........
        .text "l"
        .byte $77,$e9,$61,$e1,$68,$f7               // scrcode: ......
        .byte $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,$79               // scrcode: ......
        .byte $73,$c7,$7c,$97,$1e                   // scrcode: .....
        .text "x"
        .byte $8b,$7e,$fa                           // scrcode: ...
        .text "f"
        .byte $ac,$f3,$e6,$8f,$f8                   // scrcode: .....
        .text ".aaaaaaaaaaaabbbbbbbccccc"
        .text "ddddeeeffggghhiijkklmnnopqrsuvwyz"
        .byte $1c,$1d,$1f                           // scrcode: ...
        .encoding "petscii_upper"

txt_16fe:
        .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 "@gnabdb@,y"
        .byte $6c                                   // scrcode: .
        .text "y"
        .byte $81                                   // scrcode: .
        .text "y"
        .byte $50,$5e,$6c,$71,$7f,$84,$92,$97       // scrcode: ........
        .byte $9c,$a1,$a6,$ab,$b0,$ba,$c4,$ce       // scrcode: ........
        .text "wwwwwwwwwwwwwwww@@@"
        .byte $fb,$fb,$fb                           // scrcode: ...
        .text "@@@ccc"
        .byte $81                                   // scrcode: .
        .text "@@@"
        .text "@"
        .byte $fc,$fc,$fc                           // scrcode: ...
        .text "@@@ccc"
        .byte $81                                   // scrcode: .
        .text "@@ci"
        .byte $81                                   // scrcode: .
        .text "@@@@"
        .byte $fb,$fb,$fb                           // scrcode: ...
        .text "@@@ddd"
        .byte $81                                   // scrcode: .
        .text "@@dh"
        .byte $81                                   // scrcode: .
        .text "@@@@"
        .byte $fd                                   // scrcode: .
        .byte $fd,$fd                               // scrcode: ..
        .text "@@@ddd"
        .byte $81                                   // scrcode: .
        .text "@@cg"
        .byte $81                                   // scrcode: .
        .text "@@ch"
        .byte $81                                   // scrcode: .
        .text "@@dg"
        .byte $81                                   // scrcode: .
        .text "@@di"
        .byte $81                                   // scrcode: .
        .text "@@ej"
        .byte $81                                   // scrcode: .
        .text "@@gj"
        .byte $81                                   // scrcode: .
        .text "@"
        .text "@cglolgc"
        .byte $81                                   // scrcode: .
        .text "@@chlolhc"
        .byte $81                                   // scrcode: .
        .text "@@dglplgd"
        .byte $81                                   // scrcode: .
        .text "@@dilplid"
        .byte $81                                   // scrcode: .
        .text "@"
        .byte $e4,$e4                               // scrcode: ..
        .text "hwwx"
        .byte $f0,$fc                               // scrcode: ..
        .text "?wwx"
        .byte $81,$41,$80,$40,$40,$40,$80,$40,$80,$40,$80,$fe,$a0 // scrcode: .............
        .text "m"
        .byte $c0                                   // scrcode: .
        .text "lml"
        .byte $a0                                   // scrcode: .
        .text "l"
        .byte $c0                                   // scrcode: .
        .text "l"
        .byte $f0,$fe,$a0                           // scrcode: ...
        .text "o"
        .byte $c0                                   // scrcode: .
        .text "n"
        .encoding "petscii_upper"

scr_1800:
        // === Charset data (976 bytes, $1800-$1bcf) ===
        .byte $0d,$0f,$c0,$10,$c0,$10,$c0,$fe       // char 0 @+0
        .byte $81                                   // char 1 (partial)

txt_1809:
        .byte $41,$40,$40,$40,$40,$40,$40           // char 1 (partial)
        .byte $40,$40,$40,$10,$10                   // char 2 (partial)

txt_1815:
        .byte $40,$40,$40                           // char 2 (partial)
        .byte $40,$40,$40,$40,$40,$40,$10,$10       // char 3 @+3

txt_1820:
        .byte $40,$40,$40,$40,$40,$40,$40,$40       // char 4 @+4
        .byte $40,$10,$10                           // char 5 (partial)

txt_182b:
        .byte $40,$40,$40,$40,$40                   // char 5 (partial)
        .byte $40,$40,$40,$40,$10,$10               // char 6 (partial)

txt_1836:
        .byte $40,$40                               // char 6 (partial)
        .byte $40,$40,$40,$40,$40,$40,$fe,$fd       // char 7 @+7
        .byte $0c,$0a,$08,$06,$07,$08,$07,$06       // char 8 @+8
        .byte $08,$07,$02,$01,$0a,$08,$06,$07       // char 9 @+9
        .byte $08,$07,$06,$08,$07,$02,$01,$0a       // char 10 @+10
        .byte $08,$06,$07,$08,$07,$06,$08,$07       // char 11 @+11
        .byte $02,$01,$0a,$08,$06,$07,$08,$07       // char 12 @+12
        .byte $06,$08,$07,$02,$01,$0a,$08,$06       // char 13 @+13
        .byte $07,$08,$07,$06,$08,$fe,$00,$00       // char 14 @+14
        .byte $00,$00,$00,$00,$00,$00,$41,$40       // char 15 @+15
        .byte $00,$8d,$18,$60,$00,$00,$41,$40       // char 16 @+16
        .byte $00,$8d,$24,$60,$00,$10,$41,$20       // char 17 @+17
        .byte $00,$c9,$38,$60,$40,$01,$41,$40       // char 18 @+18
        .byte $00,$8d,$54,$60,$00,$40,$11,$00       // char 19 @+19
        .byte $00,$f7,$08,$60,$81,$02,$51,$40       // char 20 @+20
        .byte $00,$da,$42,$60,$00,$20,$11,$01       // char 21 @+21
        .byte $00,$c7,$08,$60,$81,$00,$81,$80       // char 22 @+22
        .byte $00,$fc,$00,$60,$00,$03,$41,$40       // char 23 @+23
        .byte $00,$7d,$24,$60,$00,$30,$11,$02       // char 24 @+24
        .byte $00,$db,$08,$60,$81,$02,$0e,$32       // char 25 @+25
        .byte $0f,$17,$06,$21,$12,$09,$0c,$42       // char 26 @+26
        .byte $18,$1c,$0a,$32,$0c,$1a,$00,$00       // char 27 @+27
        .byte $06,$0e,$00,$58,$00,$74,$00,$00       // char 28 @+28
        .byte $06,$0c,$00,$64,$00,$64,$00,$00       // char 29 @+29
        .byte $06,$0c,$00,$c8,$00,$e4,$00,$00       // char 30 @+30
        .byte $04,$0a,$00,$32,$00,$34,$00,$00       // char 31 @+31
        .byte $05,$0d,$00,$70,$00,$70,$00,$00       // char 32 ' '
        .byte $07,$0d,$00,$60,$00,$44,$10,$19       // char 33 '!'
        .byte $fe,$00,$01,$60,$ec,$1f,$f0,$c8       // char 34 '"'
        .byte $02,$00,$00,$f0,$ff,$1f,$f0,$d8       // char 35 '#'
        .byte $00,$00,$01,$0c,$f2,$4f,$f0,$ff       // char 36 '$'
        .byte $08,$2b,$19,$fe,$9a,$01,$03,$03       // char 37 '%'
        .byte $05,$06,$03,$03,$05,$06,$03,$03       // char 38 '&'
        .byte $05,$06,$03,$03,$05,$06,$03,$03       // char 39 '''
        .byte $05,$06,$03,$03,$05,$06,$03,$03       // char 40 '('
        .byte $05,$06,$03,$03,$05,$06,$03,$03       // char 41 ')'
        .byte $05,$06,$99,$03,$03,$05,$06,$03       // char 42 '*'
        .byte $03,$05,$06,$03,$03,$05,$06,$03       // char 43 '+'
        .byte $03,$05,$06,$03,$03,$05,$06,$03       // char 44 ','
        .byte $03,$05,$06,$ff,$82,$08,$02,$0b       // char 45 '-'
        .byte $0b,$8e,$09,$09,$82,$02,$9a,$01       // char 46 '.'
        .byte $81,$02,$8d,$09,$09,$81,$0b,$0b       // char 47 '/'
        .byte $ff,$82,$04,$8e,$07,$93,$07,$8c       // char 48 '0'
        .byte $07,$89,$07,$8e,$07,$93,$07,$8c       // char 49 '1'
        .byte $07,$89,$07,$8e,$07,$93,$07,$8c       // char 50 '2'
        .byte $07,$89,$07,$8e,$07,$93,$07,$8c       // char 51 '3'
        .byte $07,$89,$07,$8e,$07,$93,$07,$8c       // char 52 '4'
        .byte $07,$8e,$0a,$8e,$07,$93,$07,$8c       // char 53 '5'
        .byte $07,$8e,$0a,$8e,$07,$93,$07,$8c       // char 54 '6'
        .byte $07,$89,$07,$8e,$07,$93,$07,$8c       // char 55 '7'
        .byte $07,$89,$07,$8e,$07,$93,$07,$8c       // char 56 '8'
        .byte $07,$89,$07,$8d,$07,$92,$07,$8b       // char 57 '9'
        .byte $07,$88,$07,$8d,$07,$92,$07,$8b       // char 58 ':'
        .byte $07,$88,$07,$8d,$07,$92,$07,$8b       // char 59 ';'
        .byte $07,$8d,$0a,$8d,$07,$92,$07,$8b       // char 60 '<'
        .byte $07,$8d,$0a,$8d,$07,$92,$07,$8b       // char 61 '='
        .byte $07,$88,$07,$8d,$07,$92,$07,$8b       // char 62 '>'
        .byte $07,$88,$07,$ff,$14,$18,$23,$7f       // char 63 '?'
        .byte $9e,$bb,$da,$f9,$0d,$40,$75,$89       // char 64 '@'
        .byte $1a,$1a,$1a,$1a,$1a,$1a,$1a,$1a       // char 65 'A'
        .byte $1b,$1b,$1b,$1b,$a0,$c0,$00,$ff       // char 66 'B'
        .byte $a0,$c1,$ed,$18,$ee,$18,$ef,$16       // char 67 'C'
        .byte $f0,$16,$ff,$94,$c2,$30,$84,$35       // char 68 'D'
        .byte $37,$3a,$82,$38,$8e,$37,$84,$7f       // char 69 'E'
        .byte $00,$28,$35,$37,$35,$84,$33,$82       // char 70 'F'
        .byte $2e,$a2,$7f,$00,$28,$33,$35,$82       // char 71 'G'
        .byte $35,$84,$37,$82,$33,$84,$35,$82       // char 72 'H'
        .byte $32,$84,$33,$82,$30,$84,$32,$30       // char 73 'I'
        .byte $2e,$94,$c2,$30,$84,$32,$33,$35       // char 74 'J'
        .byte $82,$37,$8e,$3c,$84,$7f,$00,$28       // char 75 'K'
        .byte $3d,$3f,$3c,$43,$82,$3f,$a2,$7f       // char 76 'L'
        .byte $00,$38,$3f,$41,$82,$41,$84,$43       // char 77 'M'
        .byte $82,$3f,$84,$41,$82,$3e,$84,$3f       // char 78 'N'
        .byte $82,$3c,$84,$3e,$3c,$3a,$ff,$86       // char 79 'O'
        .byte $c3,$e1,$24,$82,$24,$82,$c5,$30       // char 80 'P'
        .byte $82,$c3,$24,$24,$84,$24,$82,$24       // char 81 'Q'
        .byte $e2,$24,$e1,$24,$84,$c5,$30,$82       // char 82 'R'
        .byte $c3,$e2,$24,$e1,$24,$ff,$90,$ca       // char 83 'S'
        .byte $30,$8c,$c8,$58,$84,$ca,$30,$90       // char 84 'T'
        .byte $30,$8c,$c8,$58,$84,$ca,$30,$90       // char 85 'U'
        .byte $30,$8c,$c8,$58,$84,$ca,$30,$a0       // char 86 'V'
        .byte $c8,$58,$ff,$86,$c3,$e4,$22,$82       // char 87 'W'
        .byte $22,$82,$c5,$30,$82,$c3,$22,$22       // char 88 'X'
        .byte $84,$22,$82,$22,$e1,$24,$e4,$22       // char 89 'Y'
        .byte $84,$c5,$30,$82,$c3,$e1,$24,$e4       // char 90 'Z'
        .byte $22,$ff,$86,$c3,$e6,$22,$82,$22       // char 91 '['
        .byte $82,$c5,$30,$82,$c3,$22,$22,$84       // char 92 '\'
        .byte $22,$82,$22,$e4,$22,$e6,$22,$84       // char 93 ']'
        .byte $c5,$30,$82,$c3,$e4,$22,$e6,$22       // char 94 '^'
        .byte $ff,$84,$c6,$0c,$82,$0c,$18,$86       // char 95 '_'
        .byte $0c,$82,$09,$0c,$0c,$18,$0c,$84       // char 96 '`'
        .byte $0c,$82,$18,$0c,$ff,$94,$c2,$30       // char 97 'a'
        .byte $84,$35,$37,$3a,$82,$38,$8e,$37       // char 98 'b'
        .byte $84,$7f,$00,$24,$35,$37,$35,$84       // char 99 'c'
        .byte $33,$82,$2e,$a2,$7f,$00,$24,$33       // char 100 'd'
        .byte $35,$82,$c7,$2c,$84,$2c,$82,$2c       // char 101 'e'
        .byte $84,$2c,$82,$2c,$84,$2c,$82,$2c       // char 102 'f'
        .byte $84,$2c,$82,$2c,$2c,$2c,$2c,$ff       // char 103 'g'
        .byte $84,$c9,$7f,$00,$48,$35,$37,$30       // char 104 'h'
        .byte $2e,$88,$30,$84,$32,$82,$33,$86       // char 105 'i'
        .byte $35,$82,$37,$35,$84,$33,$3a,$90       // char 106 'j'
        .byte $37,$82,$3a,$37,$35,$84,$35,$82       // char 107 'k'
        .byte $33,$84,$32,$82,$30,$8c,$2e,$82       // char 108 'l'
        .byte $30,$32,$33,$84,$35,$33,$82,$32       // char 109 'm'
        .byte $30,$2e,$92,$30,$ff,$84,$c6,$07       // char 110 'n'
        .byte $82,$07,$13,$86,$07,$82,$04,$0f       // char 111 'o'
        .byte $0f,$1b,$0f,$84,$0e,$82,$1a,$0e       // char 112 'p'
        .byte $ff,$84,$c0,$00,$c4,$30,$30,$2e       // char 113 'q'
        .byte $86,$30,$8e,$7f,$00,$03,$32,$33       // char 114 'r'
        .byte $82,$35,$33,$84,$35,$82,$37,$84       // char 115 's'
        .byte $35,$82,$35,$84                       // char 116 (partial)

txt_1ba4:
        .byte $33,$32,$30,$c0                       // char 116 (partial)
        .byte $00,$c4,$2e,$2e,$82,$2b,$84,$2e       // char 117 'u'
        .byte $82,$2e,$84                           // char 118 (partial)

txt_1bb3:
        .byte $30,$2e,$c0,$00,$82                   // char 118 (partial)
        .byte $c4,$2b,$84,$2b,$2b,$82,$29,$84       // char 119 'w'
        .byte $2b,$c0,$00,$82,$c4,$2b,$2b,$84       // char 120 'x'
        .byte $2e,$7f,$00,$24,$31,$32,$ff           // char 121 (partial)

dat_1bcf:
        // === Fill data (1 bytes, $1bcf-$1bcf) ===
        .byte $00                                   // .

// --- Region $1c00-$1c78 ---
.pc = $1c00 "scr_1c00"

scr_1c00:
        .text "         "
        .encoding "screencode_mixed"
        .text "are proud to give ya"
        .encoding "petscii_upper"

txt_1c1d:
        .text ":                        "
        .encoding "screencode_mixed"
        .text "issuar"
        .encoding "petscii_upper"

txt_1c3c:
        .text " +1                          "
        .encoding "screencode_mixed"
        .text "cracked by hewitt"
        .encoding "petscii_upper"

txt_1c6a:
        .text "!!!!          "
        .byte $00                                   // string terminator

// --- Region $1d01-$1d2b ---
.pc = $1d01 "dat_1d01"

dat_1d01:
        .encoding "screencode_mixed"
        .text "abcdabefabcdabcdabefabcd-./0abefabcdabcd"
        .text "a1"
        .encoding "petscii_upper"

dat_1d2b:
        // === Fill data (1 bytes, $1d2b-$1d2b) ===
        .byte $00                                   // .

// --- Region $1d81-$1dad ---
.pc = $1d81 "dat_1d81"

dat_1d81:
        .encoding "screencode_mixed"
        .text "ghijgklmgknogkpqgklmghij234jgh5mghijgkpq"
        .encoding "petscii_upper"

txt_1da9:
        .text "6789"
        .byte $00                                   // string terminator

// --- Region $1e01-$1e2d ---
.pc = $1e01 "dat_1e01"

dat_1e01:
        .encoding "screencode_mixed"
        .text "rsturvwxryz"
        .byte $1b,$1c,$1d,$1e,$1f                   // scrcode: .....
        .text "rvwxrstu:;<=r>?xr>tu"
        .byte $1c,$1d,$1e,$1f                       // scrcode: ....
        .encoding "petscii_upper"

txt_1e29:
        .byte $40                                   // @ character
        .text "ABC"
        .byte $00                                   // string terminator

// --- Region $1e81-$1ead ---
.pc = $1e81 "txt_1e81"

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

txt_1ea7:
        .text ",'D!"
        .byte $22                                   // double quote character
        .text "#"
        .byte $00                                   // string terminator

// --- Region $2000-$23c0 ---
.pc = $2000 "scr_2000"

scr_2000:
        .fill 8, $00
        .byte $fb,$c0,$84,$c0,$80,$84,$40,$80,$a6,$00,$04,$00,$00,$04,$08,$6e // ......@........n
        .byte $40,$14,$01,$00,$10,$00,$00,$40,$00,$00,$00,$40,$40,$10,$10,$50 // @......@...@@..P
        .byte $55,$00,$00,$00,$10,$00,$00,$40,$54,$04,$08,$04,$c8,$08,$0c,$48 // U......@T......H
        .byte $40,$55,$00,$fb,$c0,$80,$c4,$91,$08,$55,$00,$a4,$14,$04,$44,$14 // @U.......U....D.
        .byte $00,$10                               // ..

txt_204a:
        .byte $40                                   // @ character
        .text "B"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "DQ"
        .byte $04,$04,$04,$04,$04,$04
        .byte $44,$14,$08
        .byte $55
        .byte $00,$a6,$10,$00,$44,$11,$00,$6b,$00,$54,$04,$08,$44,$18,$0c,$bc // ....D..k.T..D...
        .byte $00,$00,$00,$00,$00,$00,$00,$10,$40,$02,$00,$00,$44,$11,$04,$04 // ........@...D...
        .byte $04,$04,$08,$20,$70,$20,$00,$50,$40,$08,$00,$00,$51,$0b,$04,$04 // ... p .P@...Q...
        .byte $20,$20,$30,$80,$c0,$00,$95,$66,$99,$6a,$6e,$7b,$7f,$7f,$54,$64 //   0....f.jn{..Td
        .byte $94,$a4,$e4,$b4,$f5,$ff,$55,$66,$59,$6a,$6e,$7b,$ff,$ff,$54,$64 // ......UfYjn{..Td
        .byte $94,$a4,$e4,$b4,$f4,$f8,$55,$66,$99,$aa,$eb,$b4,$fd,$ff,$58,$6c // ......Uf......Xl
        .byte $98,$ac,$bc,$00,$55,$ff,$00,$00,$00,$00,$00,$00,$54,$f4,$55,$66 // ....U.......T.Uf
        .byte $99,$aa,$e6,$b4,$f4,$f4,$55,$66,$9b,$b8,$80,$00,$00,$00,$c0,$c0 // ......Uf........
        .byte $00,$00,$00,$00,$00,$00,$95,$66,$99,$6a,$55,$00,$00,$00,$55,$66 // .......f.jU...Uf
        .byte $99,$aa,$5b,$06,$01,$01,$74,$59,$a6,$aa,$bb,$ee,$ff,$7f,$00,$00 // ..[...tY........
        .byte $40,$40,$90,$d0,$d0,$f4,$7f,$7f,$6f,$5b
        .text "FA"
        .byte $40                                   // @ character
        .text "U"
        .byte $ff,$ff
        .byte $ff,$ba,$65,$10,$00,$56,$ff,$ef,$9b,$46,$01,$03,$38,$80,$e0,$f0 // ..e..V...F..8...
        .byte $e0,$c0,$c0,$00,$00,$00,$1f,$1f,$1f,$07,$06,$01,$00,$00,$ff,$ff // ................
        .byte $ff,$ba,$65,$10,$50,$06,$ff,$ef,$9b,$46,$01,$00,$00,$6b,$f8,$f4 // ..e.P....F...k..
        .byte $f8,$b8,$6c,$18,$0c,$bc,$7f,$7f,$6f,$5b,$46,$41,$40,$6b,$00,$04 // ..l.....o[FA@k..
        .byte $18,$6c,$18,$04,$00,$00,$54,$40,$88,$cc,$a8,$04,$04,$00,$00,$40 // .l....T@.......@
        .byte $90,$e4,$90
        .byte $40,$00,$00,$7f,$6f,$5b
        .text "FA"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $6b,$00,$00
        .byte $00,$00,$00,$02,$03,$02,$00,$0b,$30,$c0,$c0,$04,$08,$6e,$a5,$00 // ........0....n..
        .byte $00,$00,$10,$00,$00,$40,$54,$04,$04,$04,$c4,$04,$04,$44,$a4,$04 // .....@T......D..
        .byte $04,$04,$04,$04,$04,$64,$08,$04,$04,$04,$10,$10,$14,$11,$08,$04 // .....d..........
        .byte $00,$00,$10,$01,$45,$12,$00           // ....E..

txt_21a1:
        .text "P"
        .byte $40                                   // @ character
        .text "B"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "DQ"
        .byte $00,$6b,$00,$00,$00,$00,$00,$00
        .byte $40
        .byte $40                                   // @ character
        .text "L"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $10,$14,$11,$04,$04,$01,$00,$10,$00
        .byte $44,$11,$00
        .byte $00,$00,$40,$14,$01,$44,$11,$00,$00,$00,$00,$00,$00,$40,$40,$15 // ..@..D.......@@.
        .byte $66,$59,$6a,$6b,$00,$fb,$ff,$56,$6c,$98,$ac,$bc,$00,$a6,$ff,$55 // fYjk...Vl......U
        .byte $66,$59,$6a,$6e,$7b,$7f,$ff,$54,$64,$94,$a4,$e4,$b4,$f4,$f4,$54 // fYjn{..Td......T
        .byte $64,$94,$a4,$e4,$b4,$fd,$ff,$00,$00,$00,$00,$00,$00,$55,$ff,$05 // d............U..
        .byte $06,$01,$00,$00,$00,$fb,$ff,$55,$66,$99,$5a,$05,$00,$a6,$ff,$55 // .......Uf.Z....U
        .byte $66,$99,$aa,$ee,$7b,$ff,$ff,$50,$50,$90,$a4,$e4,$b4,$f4,$f8,$bf // f...{..PP.......
        .byte $ff,$af,$9b,$46,$81                   // ...F.

txt_2226:
        .byte $40                                   // @ character
        .text "U"
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .byte $22                                   // double quote
        .fill 10, $22

spr_2240:
        .byte $00,$10,$00,$00,$10,$00,$00,$00,$00,$00,$28,$00,$00,$00,$00,$00 // ..........(.....
        .byte $44,$00,$00,$00,$00,$00,$00,$00,$02,$00,$80,$08,$00,$20,$c0,$00 // D............ ..
        .byte $06,$08,$00,$20,$02,$00,$80,$00,$00,$00,$00,$00,$00,$00,$44,$00 // ... ..........D.
        .byte $00,$00,$00,$00,$28,$00,$00,$00,$00,$00,$10,$00,$00,$10,$00,$00 // ....(...........

spr_2280:
        .byte $00,$00,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$28,$00,$00 // .............(..
        .byte $00,$00,$00,$44,$00,$00,$82,$00,$01,$01,$00,$04,$00,$40,$20,$00 // ...D.........@ .
        .byte $08,$04,$00,$40,$01,$01,$00,$00,$82,$00,$00,$44,$00,$00,$00,$00 // ...@.......D....
        .byte $00,$28,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$00,$00 // .(..............

spr_22c0:
        .fill 10, $00
        .byte $10,$00,$00,$00,$00,$00,$28,$00,$00,$00,$00,$00,$44,$00,$00,$82 // ......(.....D...
        .byte $00,$02,$00,$80,$10,$00,$10,$02,$00,$80,$00,$82,$00,$00,$44,$00 // ..............D.
        .byte $00,$00,$00,$00,$28,$00,$00,$00,$00,$00,$10,$00,$00,$00,$00,$00 // ....(...........
        .byte $00,$00,$00,$00,$00,$00               // ......

spr_2300:
        .fill 13, $00
        .byte $10,$00,$00,$00,$00,$00,$28,$00,$00,$00,$00,$00,$44,$00,$01,$01 // ......(.....D...
        .byte $00,$08,$00,$20,$01,$01,$00,$00,$44,$00,$00,$00,$00,$00,$28,$00 // ... ....D.....(.
        .byte $00,$00,$00,$00,$10,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00                           // ...

spr_2340:
        .fill 16, $00
        .byte $10,$00,$00,$00,$00,$00,$28,$00,$00,$00,$00,$00,$82,$00,$06,$00 // ......(.........
        .byte $c0,$00,$82,$00,$00,$00,$00,$00,$28,$00,$00,$00,$00,$00,$10 // ........(......

dat_236f:
        // === Fill data (36 bytes, $236f-$2392) ===
        .fill 17, $00

spr_2380:
        .fill 19, $00
        .byte $10,$00,$00,$10,$00,$00,$28,$00,$00,$44,$00,$01,$01,$00,$00,$44 // ......(..D.....D
        .byte $00,$00,$28,$00,$00,$10,$00,$00,$10   // ..(......

dat_23ac:
        // === Fill data (21 bytes, $23ac-$23c0) ===
        .fill 20, $00

spr_23c0:
        .byte $00                                   // .

// --- Region $23d9-$23e6 ---
.pc = $23d9 "dat_23d9"

dat_23d9:
        .byte $10,$00,$00,$28,$00,$00,$c6,$00,$00,$28,$00,$00,$10 // ...(.....(...

dat_23e6:
        // === Fill data (1 bytes, $23e6-$23e6) ===
        .byte $00                                   // .

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

spr_2400:
        .byte $00                                   // .

// --- Region $241c-$2423 ---
.pc = $241c "dat_241c"

dat_241c:
        .byte $10,$00,$00,$38,$00,$00,$10           // ...8...

dat_2423:
        // === Fill data (1 bytes, $2423-$2423) ===
        .byte $00                                   // .

// --- Region $2500-$2633 ---
.pc = $2500 "dat_2500"

dat_2500:
        .byte $20,$20,$20,$19,$05,$01,$08,$08,$08,$08 //    .......

txt_250a:
        .text "!!! "
        .byte $08,$05,$17,$09,$14,$14
        .byte $20,$09,$13
        .byte $20,$02,$01
        .byte $03,$0b,$20,$14,$0f,$20,$10,$12,$05,$13,$05,$0e,$14,$20,$01,$0e // .. .. ....... ..
        .byte $0f,$14,$08,$05,$12,$20,$03,$12,$01,$03,$0b // ..... .....

txt_2535:
        .text "... "
        .byte $14,$08,$09,$13
        .byte $20,$14,$09,$0d,$05
        .byte $20,$15,$0e
        .byte $04,$05,$12,$20,$01,$0e,$0f,$14,$08,$05,$12,$20,$0c,$01,$02,$05 // ... ....... ....
        .byte $0c                                   // .

txt_2556:
        .text "...  "
        .byte $08,$05,$17,$09,$14,$14
        .byte $20,$09,$13
        .byte $20,$16
        .byte $05,$12,$19,$20,$10,$12,$0f,$15,$04,$20,$14,$0f,$20,$10,$12,$05 // ... ..... .. ...
        .byte $13,$05,$0e,$14,$20,$27,$09,$13,$13,$15,$01,$12 // .... '......

txt_2582:
        .text " +1' "
        .byte $09,$0e
        .byte $20,$14,$08,$05
        .byte $20,$0e,$01,$0d,$05
        .byte $20,$0f,$06,$20,$04,$05,$10,$12,$05,$04,$01,$14,$0f,$12,$13 //  .. ...........

txt_25a1:
        .text "...   "
        .byte $09
        .byte $20,$08,$01,$16,$05
        .byte $20,$03,$08,$01
        .byte $0e,$07,$05,$04,$20,$07,$12,$0f,$15,$10,$20,$01,$07,$01,$09,$0e // .... ..... .....
        .byte $2c,$20,$02,$15,$14,$20,$0e,$0f,$17,$20,$09,$20,$01,$0d,$20,$09 // , ... ... . .. .
        .byte $0e,$20,$14,$08,$05,$20,$01,$02,$13,$0f,$0c,$15,$14,$05,$20,$0b // . ... ........ .
        .byte $09,$03,$0b,$20,$01,$13,$13,$20,$07,$12,$0f,$15,$10,$20,$01,$14 // ... ... ..... ..
        .byte $20,$14,$08,$05,$20,$0d,$0f,$0d,$05,$0e,$14 //  ... ......

txt_25fc:
        .text "... "
        .byte $14,$08,$05
        .byte $20,$04,$05,$10,$12,$05,$04,$01,$14
        .byte $0f,$12,$13,$20,$13,$01,$19,$13,$20,$0c,$01,$14,$05,$12,$20,$06 // ... .... ..... .
        .byte $12,$0f,$0d,$20,$0e,$0f,$17           // ... ...

txt_2623:
        .text "....            "

dat_2633:
        // === Fill data (1 bytes, $2633-$2633) ===
        .byte $00                                   // .

// --- Region $2700-$28a0 ---
.pc = $2700 "txt_2700"

txt_2700:
        .text "      "
        .byte $07,$12,$05,$05,$14,$09,$0e,$07,$13

txt_270f:
        .text ".....    "
        .byte $01,$03,$14,$09,$0f,$0e
        .byte $20
        .byte $20,$20,$01,$0c,$10,$08,$01,$20,$06,$0c,$09,$07,$08,$14,$20,$20 //   ..... ......  
        .byte $20,$01,$14,$07,$20,$20,$20,$01,$14,$0f,$0d,$20,$20,$20,$02,$01 //  ...   ....   ..
        .byte $02                                   // .

spr_2740:
        .byte $19,$07,$01,$0e,$07,$20,$20,$20,$02,$05,$01,$13,$14,$09,$05,$20 // .....   ....... 
        .byte $02,$0f,$19,$13,$20,$20,$20,$02,$0c,$01,$13,$14,$05,$12,$13,$20 // ....   ........ 
        .byte $09,$0e,$03,$20,$20,$20,$03,$0f,$0e,$14,$05,$18,$20,$20,$20,$04 // ...   ......   .
        .byte $03,$13,$20,$20,$20,$04,$19,$0e,$01,$0d,$09,$18,$20,$20,$20,$06 // ..   .......   .
        .byte $34,$03,$07,$20,$20,$20,$06,$01,$09,$12,$0c,$09,$07,$08,$14,$20 // 4..   ......... 
        .byte $20,$20,$06,$01,$0c,$03,$0f,$0e,$20,$20,$20,$08,$0f,$14,$0c,$09 //   ......   .....
        .byte $0e,$05,$20,$20,$20,$14,$12,$01,$0e,$13,$03,$0f,$0d,$20,$20,$20 // ..   ........   
        .byte $12,$14,$09,$20,$20,$20,$13,$15,$03,$03,$05,$13,$13,$20,$20,$20 // ...   .......   
        .byte $01,$03,$14,$09,$16,$05,$20,$20,$20,$03,$0f,$13,$0d,$0f,$13,$20 // ......   ...... 
        .byte $20,$20,$03,$12,$01,$1a,$19           //   .....

txt_27d7:
        .text "    "
        .byte $04,$0f,$0d
        .byte $20,$20,$20,$17,$09,$0c,$04
        .byte $2d,$13
        .byte $05,$03,$14,$09,$0f,$0e               // ......

txt_27ed:
        .text "    "
        .byte $07,$10
        .byte $20,$20,$20,$0c,$0f,$14,$15,$13
        .byte $20,$20
        .byte $20,$18,$2d                           //  .-

spr_2800:
        .byte $06,$01,$03,$14,$0f,$12               // ......

txt_2806:
        .text "    "
        .byte $1a,$05,$12,$0f,$10,$01,$07,$05

txt_2812:
        .text "    "
        .byte $17,$17,$05

txt_2819:
        .text "    ...     "
        .byte $06,$0f,$12
        .byte $20
        .byte $03,$0f,$0e,$14,$01,$03,$14,$09,$0e,$07,$20,$17,$12,$09,$14,$05 // .......... .....
        .byte $20,$14,$0f,$20,$14,$08,$0f,$0d,$01,$13,$20,$10,$05,$14,$05,$12 //  .. ...... .....
        .byte $13,$13,$0f,$0e,$2c,$20,$0c,$19,$0e,$07,$10,$01,$12,$0b,$05,$0e // ...., ..........

txt_2859:
        .text " 46, 2800 "
        .byte $0c,$19,$0e,$07,$02,$19
        .byte $2c,$20,$04,$05,$0e,$0d,$01,$12,$0b   // , .......

txt_2872:
        .text "....   "
        .byte $01,$0e,$04
        .byte $20,$04,$0f
        .byte $20,$09,$14
        .byte $20,$0e,$0f,$17                       //  ...

txt_2886:
        .text "...             "
        .fill 10, $20

dat_28a0:
        // === Fill data (1 bytes, $28a0-$28a0) ===
        .byte $00                                   // .

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

scr_2c00:
        .byte $00                                   // .

// --- Region $2f00-$2f00 ---
.pc = $2f00 "spr_2f00"

spr_2f00:
        .byte $00                                   // .

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

spr_3000:
        .byte $00                                   // .

// --- Region $3400-$3400 ---
.pc = $3400 "scr_3400"

scr_3400:
        .byte $00                                   // .

// --- Region $3780-$3780 ---
.pc = $3780 "spr_3780"

spr_3780:
        .byte $00                                   // .

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

chr_3800:
        .byte $00                                   // .

// --- Region $38c0-$38c0 ---
.pc = $38c0 "spr_38c0"

spr_38c0:
        .byte $00                                   // .

// --- Region $39c0-$39c0 ---
.pc = $39c0 "spr_39c0"

spr_39c0:
        .byte $00                                   // .

// --- Region $3ac0-$3ac0 ---
.pc = $3ac0 "spr_3ac0"

spr_3ac0:
        .byte $00                                   // .

// --- Region $3bc0-$3bc0 ---
.pc = $3bc0 "spr_3bc0"

spr_3bc0:
        .byte $00                                   // .

// --- Region $3c00-$3c00 ---
.pc = $3c00 "spr_3c00"

spr_3c00:
        .byte $00                                   // .

// --- Region $3c80-$3c80 ---
.pc = $3c80 "spr_3c80"

spr_3c80:
        .byte $00                                   // .

// --- Region $3d40-$3d40 ---
.pc = $3d40 "spr_3d40"

spr_3d40:
        .byte $00                                   // .

// --- Region $3dc0-$3dc0 ---
.pc = $3dc0 "spr_3dc0"

spr_3dc0:
        .byte $00                                   // .

// --- Region $3f80-$3f80 ---
.pc = $3f80 "spr_3f80"

spr_3f80:
        .byte $00                                   // .

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

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

// --- Region $e545-$e545 ---
.pc = $e545 "dat_e545"

dat_e545:
        // === Fill data (1 bytes, $e545-$e545) ===
        .byte $00                                   // .

// --- Region $e700-$ea30 ---
.pc = $e700 "dat_e700"

dat_e700:
        .byte $d0,$02,$e6,$30,$60,$b1,$2f,$20,$22,$01,$91,$2d,$e6,$2d,$d0,$02 // ...0`./ "..-.-..
        .byte $e6,$2e,$ca,$d0,$f5,$f0,$c5,$a9,$00,$f0,$ef,$a9,$ff,$d0,$eb,$b1 // ................
        .byte $2f,$91,$2d,$e6,$2f,$d0,$02,$e6,$30,$e6,$2d,$d0,$02,$e6,$2e,$ca // /.-./...0.-.....
        .byte $d0,$ed,$f0,$a8,$20,$71,$01,$b1,$2f,$20,$22,$01,$91,$2d,$e6,$2d // .... q../ "..-.-
        .byte $d0,$02,$e6,$2e,$ca,$d0,$f5,$c6,$39,$10,$f1,$30,$8f,$86,$39,$b1 // ........9..0..9.
        .byte $2f,$aa,$4c,$22,$01,$20,$71,$01,$b1,$2f,$91,$2d,$e6,$2f,$d0,$02 // /.L". q../.-./..
        .byte $e6,$30,$e6,$2d,$d0,$02,$e6,$2e,$ca,$d0,$ed,$c6,$39,$10,$e9,$4c // .0.-........9..L
        .byte $00,$01,$2c,$da,$01,$a9,$37,$85,$01,$58,$20,$00,$0a,$4c,$ae,$a7 // ..,...7..X ..L..
        .byte $e0,$00,$f0,$ee,$a9,$04,$2c,$a9,$08,$85,$ff,$b1,$2f,$91,$2d,$c8 // ......,...../.-.
        .byte $c4,$ff,$d0,$f7,$18,$a5,$2d,$65,$ff,$85,$2d,$a5,$2e,$69,$00,$85 // ......-e..-..i..
        .byte $2e,$a0,$00,$ca,$d0,$e5,$18,$a5,$2f,$65,$ff,$85,$2f,$a5,$30,$69 // ......../e../.0i
        .byte $00,$85,$30,$4c,$00,$01,$b9,$00,$ef,$99,$00,$ff,$c8,$d0,$f7,$ce // ..0L............
        .byte $dc,$01,$ce,$df,$01,$ad,$df,$01,$c9,$df,$d0,$ea,$60,$a8,$22,$1f // ............`.".
        .byte $33,$e3,$63                           // 3.c

txt_e7d3:
        .text "!;"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $26,$7e,$63,$7e,$63,$63,$7e,$a2,$26,$3c,$66,$60,$60,$63,$3e,$a2 // &~c~cc~.&<f``c>.
        .byte $22,$7c,$66,$e3,$63,$21,$7e,$a2,$26,$3e,$60,$3c,$60,$60,$3f,$a2 // "|f.c!~.&>`<``?.
        .byte $23,$3f,$60,$3c,$e4,$60,$27,$00,$3c,$66,$60,$67,$63,$3e,$a2,$23 // #?`<.`'.<f`gc>.#
        .byte $63,$63,$7f,$e3,$63,$23,$03,$00,$7e,$e4,$18,$21,$7e,$a2,$21,$1f // cc..c#..~..!~.!.
        .byte $e3,$03,$22,$63,$3e,$a2,$28,$63,$66,$7c,$66,$63,$63,$06,$00,$e5 // .."c>.(cf|fcc...
        .byte $60                                   // `

txt_e827:
        .text "!?"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $29,$63,$77,$7f,$6b,$63,$63,$03,$00,$7e,$e5,$63,$23,$03,$00,$3e // )cw.kcc..~.c#..>
        .byte $e4,$63                               // .c

txt_e83c:
        .text "!>"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $24,$7e,$63,$63,$7e,$e3,$60,$27,$00,$3e,$63,$63,$6b,$6f,$3f,$a2 // $~cc~.`'.>ccko?.
        .byte $2e,$7e,$63,$63,$7e,$63,$63,$06,$00,$38,$60,$3e,$03,$63,$3e,$a2 // .~cc~cc..8`>.c>.
        .byte $24,$7c,$00,$60,$60,$42,$63,$3e,$00,$00,$63,$63,$63,$63,$22,$36 // $|.``Bc>..cccc"6
        .byte $1c,$a2,$26,$63,$63,$6b,$7f,$77,$63,$a2,$23,$63,$63,$3e,$e3,$63 // ..&cck.wc.#cc>.c
        .byte $22,$03,$00,$e3,$63,$23,$3f,$03,$7e,$a2,$26,$7f,$06,$0c,$18,$30 // "...c#?.~.&....0
        .byte $7f,$a2,$26,$33,$1f,$33,$63,$63,$3b,$a2,$22,$36,$3e,$e3,$63 // ..&3.3cc;."6>.c

txt_e89e:
        .text "!>"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $26,$0c,$1f,$33,$63,$63,$3b,$a2,$26,$04,$06,$7f,$7f,$06,$04,$a2 // &..3cc;.&.......
        .byte $26,$10,$30,$7f,$7f,$30,$10,$aa,$e4,$18,$22,$00,$18,$ba,$26,$63 // &.0..0...."...&c
        .byte $66,$0c,$18,$33,$63,$a2,$26,$3e,$63,$63,$3e,$00,$7f,$a2,$23,$06 // f..3c.&>cc>...#.
        .byte $0c,$18,$a5,$26,$0c,$18,$30,$30,$18,$0c,$a2,$26,$30,$18,$0c,$0c // ...&..00...&0...
        .byte $18,$30,$a2,$26,$18,$3c,$7e,$7e,$3c,$18,$a2,$25,$18,$18,$7e,$18 // .0.&.<~~<..%..~.
        .byte $18,$a7,$23,$18,$18,$30,$a3,$21,$7e,$a9,$22,$18,$18,$a2,$26,$03 // ..#..0.!~."...&.
        .byte $06,$0c,$18,$30,$60,$a2,$26,$3e,$67,$6b,$73,$63,$3e,$a2,$26,$18 // ...0`.&>gksc>.&.
        .byte $38,$38,$18,$18,$7e,$a2,$26,$3e,$63,$03,$0e,$38,$7f,$a2,$26,$3e // 88..~.&>c..8..&>
        .byte $63,$0e,$03,$63,$3e,$a2,$e3,$66,$21,$3f,$e3,$06,$27,$00,$7f,$60 // c..c>..f!?..'..`
        .byte $7e,$03,$63,$3e,$a2,$26,$3f,$60,$7e,$63,$63,$3e,$a2,$23,$ff,$06 // ~.c>.&?`~cc>.#..
        .byte $0c,$e4,$18,$27,$00,$3e,$63,$3e,$63,$63,$3e,$a2,$26,$3e,$63,$63 // ...'.>c>cc>.&>cc
        .byte $3f,$03,$7e,$a3,$21,$18,$a2,$21,$18,$b5,$23,$7e,$00,$7e,$ab,$26 // ?.~.!..!..#~.~.&
        .byte $3e,$63,$06,$0c,$00,$18,$a2,$60,$ea,$a9,$0b,$8d,$86,$02,$20,$44 // >c.....`...... D
        .byte $e5,$a9,$89,$8d,$f8,$07,$a9,$8a,$8d,$f9,$07,$a9,$8b,$8d,$fa,$07 // ................
        .byte $a9,$8c,$8d,$fb,$07,$a9,$8d,$8d,$fc,$07,$a9,$8e,$8d,$fd,$07,$a9 // ................
        .byte $8f,$8d,$fe,$07,$a9,$90,$8d,$ff,$07,$a2,$00,$bd,$00,$1c,$9d,$40 // ...............@
        .byte $05,$e8,$e0,$78,$d0,$f5,$a2,$00,$a9,$01,$9d,$18,$da,$e8,$e0,$f0 // ...x............
        .byte $d0,$f6,$a2,$00,$a9,$00,$9d,$a0,$04,$9d,$c8,$04,$9d,$a0,$d8,$9d // ................
        .byte $c8,$d8,$e8,$e0,$28,$d0,$ed,$78,$a9,$99,$a2,$0a,$8d,$14,$03,$8e // ....(..x........
        .byte $15,$03,$a9,$1b,$8d,$11,$d0,$a9,$01,$8d,$1a,$d0,$a9,$7f,$8d,$0d // ................
        .byte $dc,$a9,$1b,$8d,$11,$d0,$a9,$01,$8d,$7e,$10,$20,$76,$0d,$a9,$00 // .........~. v...
        .byte $85,$fb,$85,$fc,$58,$ad,$01,$dc,$c9,$ef,$f0,$03,$4c,$8c,$0a,$4c // ....X.......L..L
        .byte $2a,$0f,$a9,$01,$8d,$19,$d0,$a9,$00,$8d,$12,$d0,$a9,$ed,$a2,$0a // *...............
        .byte $8d,$14,$03,$8e,$15,$03,$a9,$00,$8d,$20,$d0,$8d,$21,$d0,$20,$79 // ......... ..!. y
        .byte $0b,$a9,$19,$8d,$18,$d0,$a9,$53,$8d,$12,$d0,$cd,$12,$d0,$d0,$f6 // .......S........

// --- Region $ea51-$ea80 ---
.pc = $ea51 "dat_ea51"

dat_ea51:
        .byte $06,$00,$01,$a3,$39,$a9,$01,$8d,$19,$d0,$a9,$99,$a2,$0a,$8d,$14 // ....9...........
        .byte $03,$8e,$15,$03,$a9,$00,$8d,$12,$d0,$a2,$00,$bd,$e7,$0a,$ec,$ea // ................
        .byte $26,$8d,$21,$d0,$8d,$20,$d0,$e9,$ea,$60,$3e,$e8,$e0,$02,$d0,$dd // &.!.. ...`>.....

// --- Region $eac6-$eacf ---
.pc = $eac6 "dat_eac6"

dat_eac6:
        .byte $ad,$fc,$0b,$c9,$ff,$d0,$0d,$a9,$d6,$a2 // ..........

// --- Region $ead4-$eaf1 ---
.pc = $ead4 "Segment $ead4"
        .byte $8e,$7b,$0b,$4c,$79,$0b,$8d,$d5,$0b,$29,$07,$18,$69,$d0,$8d,$16 // .{.Ly....)..i...
        .byte $d0,$a9,$00,$ed,$d5,$0b,$18,$e3,$4a,$60,$4f,$aa,$a0,$00 // ........J`O...

// --- Region $eb23-$eb91 ---
.pc = $eb23 "dat_eb23"

dat_eb23:
        .byte $ef,$7f,$86,$8d,$94,$9b,$a2,$a9,$b0,$b6,$bd,$c3,$c9,$ce,$d4,$d9 // ................
        .byte $de,$e3,$e7,$eb,$ef,$f2,$f5,$f7,$fa,$fb,$fd,$e5,$fe,$60,$33,$fd // .............`3.
        .byte $fb,$fa,$f7,$f5,$f2,$ef,$eb,$e7,$e3,$de,$d9,$d4,$ce,$c9,$c3,$bd // ................
        .byte $b6,$b0,$a9,$a2,$9b,$94,$8d,$86,$7f,$78,$71,$6a,$63 // .........xqjc

txt_eb60:
        .byte $5c                                   // backslash character
        .text "UNHA;50*% "
        .byte $1b,$17,$13,$0f,$0c,$09,$07,$04,$03,$01,$a5,$60,$50,$01,$03,$04 // ...........`P...
        .byte $07,$09,$0c,$0f,$13,$17,$1b           // .......

txt_eb82:
        .text " %*05;AHNU"
        .byte $5c                                   // backslash character
        .byte $63,$6a,$71,$78,$ff                   // cjqx.

// --- Region $ebbd-$ebd8 ---
.pc = $ebbd "Segment $ebbd"
        .byte $09,$0b,$0b,$08,$08,$0c,$0c,$0f,$0f,$07,$07,$f7,$01,$2a,$0d,$0d // .............*..
        .byte $03,$03,$0e,$0e,$04,$04,$06,$06,$ae,$60,$37,$ff // .........`7.

// --- Region $ec04-$ec1f ---
.pc = $ec04 "Segment $ec04"
        .byte $09,$0b,$0b,$08,$08,$0c,$0c,$0f,$0f,$07,$07,$f7,$01,$2a,$0d,$0d // .............*..
        .byte $03,$03,$0e,$0e,$04,$04,$06,$06,$ae,$60,$34,$ff // .........`4.

// --- Region $ec48-$ecbf ---
.pc = $ec48 "Segment $ec48"
        .byte $09,$0b,$0b,$08,$08,$0c,$0c,$0f,$0f,$07,$07,$f7,$01,$2a,$0d,$0d // .............*..
        .byte $03,$03,$0e,$0e,$04,$04,$06,$06,$ae,$61,$47,$ff,$a9,$06,$8d,$d0 // .........aG.....
        .byte $da,$8d,$f6,$da,$a9,$04,$8d,$d1,$da,$8d,$f5,$da,$a9,$0e,$8d,$d2 // ................
        .byte $da,$8d,$f4,$da,$a9,$03,$8d,$d3,$da,$8d,$f3,$da,$a9,$07,$8d,$d4 // ................
        .byte $da,$8d,$f2,$da,$a9,$0c,$8d,$2a,$d0,$a9,$09,$8d,$27,$d0,$8d,$80 // .......*....'...
        .byte $da,$8d,$a6,$da,$a9,$02,$8d,$28,$d0,$8d,$81,$da,$8d,$a5,$da,$a9 // .......(........
        .byte $08,$8d,$29,$d0,$8d,$82,$da,$8d,$a4,$da,$a9,$0a,$8d,$2b,$d0,$8d // ..)..........+..
        .byte $83,$da,$8d,$a3,$da,$a9,$0f,$8d       // ........

// --- Region $ecf4-$ed05 ---
.pc = $ecf4 "Segment $ecf4"
        .byte $ae,$05,$0e,$e0,$c0,$f0,$04,$ce,$05,$0e,$60,$a2,$c7,$8e,$05,$0e // ..........`.....
        .byte $a2,$00                               // ..

// --- Region $ed30-$ed41 ---
.pc = $ed30 "Segment $ed30"
        .byte $ae,$41,$0e,$e0,$c0,$f0,$04,$ce,$41,$0e,$60,$a2,$c7,$8e,$41,$0e // .A......A.`...A.
        .byte $a2,$00                               // ..

// --- Region $eda4-$eddf ---
.pc = $eda4 "Segment $eda4"
        .byte $c0,$e0,$f0,$f8,$fc,$fe,$c4,$27,$fe,$fc,$f8,$f0,$e0,$c0,$80,$a5 // .......'........
        .byte $60,$5a,$0a,$a6,$fb,$bd,$18,$0f,$8d,$00,$d0,$8d,$02,$d0,$8d,$04 // `Z..............
        .byte $d0,$8d,$06,$d0,$8d,$08,$d0,$8d,$0a,$d0,$8d,$0c,$d0,$8d,$0e,$d0 // ................
        .byte $e6,$fb,$a6,$fc,$bd,$21,$0f,$8d,$01,$d0,$8d,$03 // .....!......

// --- Region $ee03-$ee14 ---
.pc = $ee03 "Segment $ee03"
        .byte $c8,$60,$fa,$60,$46,$c8,$64,$f0,$9b,$64,$78,$c8,$60,$e3,$c8,$60 // .`.`F.d..dx.`..`
        .byte $77,$64                               // wd

// --- Region $ee8d-$eec7 ---
.pc = $ee8d "Segment $ee8d"
        .byte $00                                   // .

txt_ee8e:
        .encoding "screencode_mixed"
        .text "* iae dl"
        .encoding "petscii_upper"
        .byte $46,$0a,$16,$a3
        .byte $2c,$08,$10
        .byte $40                                   // @ character
        .text "27Z"
        .byte $1a,$02,$02,$04,$05
        .byte $06,$e3,$01,$23,$2c,$6c,$81,$e3,$19,$a3,$29,$41,$41,$81,$05,$05 // ...#,l....)AA...
        .byte $2f,$05,$05,$2f,$e3,$60,$a3,$21,$0d,$a2,$21,$06,$a2,$26,$31,$1e // /../.`.!..!..&1.
        .byte $ac,$1c                               // ..

// --- Region $eed0-$ef0c ---
.pc = $eed0 "dat_eed0"

dat_eed0:
        .byte $01,$00,$91,$08,$00,$01,$a2,$29,$18,$00,$14,$e8,$00,$08,$07,$00 // .......)........
        .byte $0e,$a5,$24,$4f,$01,$00,$20,$e3       // ..$O.. .

txt_eee8:
        .text "*/ (C) 1989 20CC "
        .byte $e3                                   // .

txt_eefa:
        .text "*' "
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $ff,$30,$5d,$f0,$4c,$e3,$0a,$61,$20,$a8,$b9,$20,$17,$8d,$f3 // .0].L..a .. ...

// --- Region $ef5f-$ef96 ---
.pc = $ef5f "dat_ef5f"

dat_ef5f:
        .byte $d8,$a2,$02,$ce,$65,$10,$10,$07,$a9,$00,$8d,$65,$10,$d0,$13,$ce // ....e......e....
        .byte $64,$10,$10,$0e,$a9,$02,$8d,$64,$10,$ce,$00,$10,$ce,$01,$10,$ce // d......d........
        .byte $02,$10,$bd,$00,$10,$f0,$03,$4c,$c1,$12,$9d,$42,$10,$9d,$06,$10 // .......L...B....
        .byte $bd,$1b,$10,$85,$fe,$bd,$1e,$10       // ........

// --- Region $f02a-$f031 ---
.pc = $f02a "dat_f02a"

dat_f02a:
        .byte $f2,$9d,$0c,$10,$c8,$b1,$fe,$10       // ........

// --- Region $f120-$f13f ---
.pc = $f120 "dat_f120"

dat_f120:
        .byte $5c,$a8,$b9,$0f,$19,$8d,$63,$10,$8d,$16,$d4,$b9,$0e,$19,$18,$7d // \.....c........}
        .byte $25,$17,$8d,$17,$d4,$b9,$0d,$19,$8d,$18,$d4,$b9,$0a,$19,$8d,$36 // %..............6

// --- Region $f264-$f283 ---
.pc = $f264 "Segment $f264"
        .byte $0c,$10,$b9,$77,$18,$48,$29,$7f,$a8,$b9,$d8,$17,$85,$fe,$b9,$db // ...w.H).........
        .byte $17,$85,$ff,$bd,$06,$10,$d0,$06,$9d,$27,$10,$9d,$2a,$10,$bc,$27 // .........'..*..'

// --- Region $f2c8-$f2cf ---
.pc = $f2c8 "dat_f2c8"

dat_f2c8:
        .byte $b9,$2f,$17,$85,$fe,$b9,$3f,$17       // ./....?.

// --- Region $f2fd-$f341 ---
.pc = $f2fd "dat_f2fd"

dat_f2fd:
        .byte $84,$fe,$a9,$00,$06,$fe,$2a,$06,$fe,$2a,$85,$ff,$bc,$45,$10,$98 // ......*..*...E..
        .byte $dd,$0f,$10,$b0,$39,$bd,$39,$10,$38,$e5,$fe,$9d,$39,$10,$bd,$3c // ....9.9.8...9..<
        .byte $10,$e5,$ff,$9d,$3c,$10,$bd,$39,$10,$38,$f9,$62,$16,$bd,$3c,$10 // ....<..9.8.b..<.
        .byte $f9,$c2,$16,$b0,$18,$b9,$62,$16,$9d,$39,$10,$b9,$c2,$16,$9d,$3c // ......b..9.....<
        .byte $10,$a9,$00,$9d,$42                   // ....B

// --- Region $f34b-$f3b4 ---
.pc = $f34b "dat_f34b"

dat_f34b:
        .byte $bd,$39,$10,$18,$65,$fe,$9d,$39,$10,$bd,$3c,$10,$65,$ff,$9d,$3c // .9..e..9..<.e..<
        .byte $10,$b9,$62,$16,$38,$fd,$39,$10,$b9,$c2,$16,$fd,$3c,$10,$90,$c7 // ..b.8.9.....<...
        .byte $60,$9d,$54,$10,$fe,$48,$10,$b9,$cb,$18,$29,$0f,$9d,$4b,$10,$b9 // `.T..H....)..K..
        .byte $cb,$18,$e4,$4a,$61,$08,$85,$fe,$bc,$0f,$10,$b9,$63,$16,$38,$f9 // ...Ja.......c.8.
        .byte $62,$16,$9d,$4e,$10,$b9,$c3,$16,$f9,$c2,$16,$9d,$51,$10,$5e,$51 // b..N........Q.^Q
        .byte $10,$7e,$4e,$10,$c6,$fe,$10,$f6,$60,$bd,$48,$10,$30,$13,$bd,$39 // .~N.....`.H.0..9
        .byte $10,$18,$7d,$4e,$10,$9d,$39,$10,$bd,$3c // ..}N..9..<

// --- Region $f3bd-$f403 ---
.pc = $f3bd "Segment $f3bd"
        .byte $39,$10,$38,$fd,$4e,$10,$9d,$39,$10,$bd,$3c,$10,$fd,$51,$10,$9d // 9.8.N..9..<..Q..
        .byte $3c,$10,$de,$4b,$10,$d0,$11,$b9,$cb,$18,$29,$0f,$0a,$9d,$4b,$10 // <..K......)...K.
        .byte $bd,$48,$10,$49,$ff,$9d,$48,$10,$b9,$cd,$18,$dd,$54,$10,$90,$16 // .H.I..H.....T...
        .byte $b9,$cc,$18,$f0,$11,$7d,$4e,$10,$9d,$4e,$10,$bd,$51,$10,$69,$00 // .....}N..N..Q.i.
        .byte $9d,$51,$10,$fe,$54,$10,$60           // .Q..T.`

// --- Region $f4e6-$fc0f ---
.pc = $f4e6 "dat_f4e6"

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

txt_f56f:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$00,$07,$0e,$01,$02,$04,$02,$00,$2c,$19,$6c,$19,$81,$19 // ..........,.l...
        .byte $50,$5e,$6c,$71,$7f,$84,$92,$97,$9c,$a1,$a6,$ab,$b0,$ba,$c4,$ce // P^lq............
        .byte $f0,$17,$a3,$e3,$fb,$a3,$e3,$03,$21,$81,$a4,$e3,$fc,$a3,$e3,$03 // ........!.......
        .byte $21,$81,$a2,$23,$03,$09,$81,$a4,$e3,$fb,$a3,$e3,$04,$21,$81,$a2 // !..#.........!..
        .byte $23,$04,$08,$81,$a4,$e3,$fd,$a3,$e3,$04,$21,$81,$a2,$23,$03,$07 // #.........!..#..
        .byte $81,$a2,$23,$03,$08,$81,$a2,$23,$04,$07,$81,$a2,$23,$04,$09,$81 // ..#....#....#...
        .byte $a2,$23,$05,$0a,$81,$a2,$23,$07,$0a,$81,$a2,$28,$03,$07,$0c,$0f // .#....#....(....
        .byte $0c,$07,$03,$81,$a2,$28,$03,$08,$0c,$0f,$0c,$08,$03,$81,$a2,$28 // .....(.........(
        .byte $04,$07,$0c,$10,$0c,$07,$04,$81,$a2,$38,$04,$09,$0c,$10,$0c,$09 // .........8......
        .byte $04,$81,$00,$e4,$e4,$08,$17,$17,$18,$f0,$fc,$3f,$17,$17,$18,$81 // ...........?....
        .byte $41,$80,$e3,$40,$60,$20,$80,$40,$80,$40,$80,$fe,$a0,$0d,$c0,$0c // A..@` .@.@......
        .byte $0d,$0c,$a0,$0c,$c0,$0c,$f0,$fe,$a0,$0f,$c0,$0e,$0d,$0f,$c0,$10 // ................
        .byte $c0,$10,$c0,$fe,$81,$41,$e9,$40,$22,$10,$10,$e9,$40,$22,$10,$10 // .....A.@"...@"..
        .byte $e9,$40,$22,$10,$10,$e9,$40,$22,$10,$10,$e8,$40,$60,$38,$fe,$fd // .@"...@"...@`8..
        .byte $0c,$0a,$08,$06,$07,$08,$07,$06,$08,$07,$02,$01,$0a,$08,$06,$07 // ................
        .byte $08,$07,$06,$08,$07,$02,$01,$0a,$08,$06,$07,$08,$07,$06,$08,$07 // ................
        .byte $02,$01,$0a,$08,$06,$07,$08,$07,$06,$08,$07,$02,$01,$0a,$08,$06 // ................
        .byte $07,$08,$07,$06,$08,$fe,$a8,$26,$41,$40,$00,$8d,$18,$60,$a2,$39 // .......&A@...`.9
        .byte $41,$40,$00,$8d,$24,$60,$00,$10,$41,$20,$00,$c9,$38,$60,$40,$01 // A@..$`..A ..8`@.
        .byte $41,$40,$00,$8d,$54,$60,$00,$40,$11,$a2,$60,$3d,$f7,$08,$60,$81 // A@..T`.@..`=..`.
        .byte $02,$51,$40,$00,$da,$42,$60,$00,$20,$11,$01,$00,$c7,$08,$60,$81 // .Q@..B`. .....`.
        .byte $00,$81,$80,$00,$fc,$00,$60,$00,$03,$41,$40,$00,$7d,$24,$60,$00 // ......`..A@.}$`.
        .byte $30,$11,$02,$00,$db,$08,$60,$81,$02,$0e,$32,$0f,$17,$06,$21,$12 // 0.....`...2...!.
        .byte $09,$0c,$42,$18,$1c,$0a,$32,$0c,$1a,$a2,$26,$06,$0e,$00,$58,$00 // ..B...2...&...X.
        .byte $74,$a2,$26,$06,$0c,$00,$64,$00,$64,$a2,$26,$06,$0c,$00,$c8,$00 // t.&...d.d.&.....
        .byte $e4,$a2,$26,$04,$0a,$00,$32,$00,$34,$a2,$26,$05,$0d,$00,$70,$00 // ..&...2.4.&...p.
        .byte $70,$a2,$31,$07,$0d,$00,$60,$00,$44,$10,$19,$fe,$00,$01,$60,$ec // p.1...`.D.....`.
        .byte $1f,$f0,$c8,$02,$a2,$25,$f0,$ff,$1f,$f0,$d8,$a2,$2c,$01,$0c,$f2 // .....%......,...
        .byte $4f,$f0,$ff,$08,$2b,$19,$fe,$9a,$01,$09,$03,$03,$05,$06,$21,$99 // O...+.........!.
        .byte $06,$03,$03,$05,$06,$38,$ff,$82,$08,$02,$0b,$0b,$8e,$09,$09,$82 // .....8..........
        .byte $02,$9a,$01,$81,$02,$8d,$09,$09,$81,$0b,$0b,$ff,$82,$04,$44,$8e // ..............D.
        .byte $07,$93,$07,$8c,$07,$89,$07,$21,$8e,$42,$07,$93,$07,$8c,$07,$8e // .......!.B......
        .byte $0a,$8e,$21,$07,$42,$93,$07,$8c,$07,$89,$07,$8e,$07,$25,$93,$07 // ..!.B........%..
        .byte $8c,$07,$89,$42,$07,$8d,$07,$92,$07,$8b,$07,$88,$21,$07,$42,$8d // ...B........!.B.
        .byte $07,$92,$07,$8b,$07,$8d,$0a,$3d,$8d,$07,$92,$07,$8b,$07,$88,$07 // .......=........
        .byte $8d,$07,$92,$07,$8b,$07,$88,$07,$ff,$14,$18,$23,$7f,$9e,$bb,$da // ...........#....
        .byte $f9,$0d,$40,$75,$89,$e8,$1a,$e4,$1b,$60,$8c,$a0,$c0,$00,$ff,$a0 // ..@u.....`......
        .byte $c1,$ed,$18,$ee,$18,$ef,$16,$f0,$16,$ff,$94,$c2,$30,$84,$35,$37 // ............0.57
        .byte $3a,$82
        .byte $38,$8e
        .byte $37,$84,$7f,$00
        .text "(575"
        .byte $84
        .byte $33,$82
        .byte $2e
        .byte $a2,$7f,$00,$28,$33,$35,$82,$35,$84,$37,$82,$33,$84,$35,$82,$32 // ...(35.5.7.3.5.2
        .byte $84,$33,$82,$30,$84,$32,$30,$2e,$94,$c2,$30,$84,$32,$33,$35,$82 // .3.0.20...0.235.
        .byte $37,$8e
        .byte $3c,$84,$7f,$00
        .text "(=?<C"
        .byte $82
        .byte $3f,$a2,$7f,$00
        .byte $38,$3f,$41,$82,$41,$84,$43,$82,$3f,$84,$41,$82,$3e,$84,$3f,$82 // 8?A.A.C.?.A.>.?.
        .byte $3c,$84,$3e,$3c,$3a,$ff,$86,$c3,$e1,$24,$82,$24,$82,$c5,$30,$82 // <.><:....$.$..0.
        .byte $c3,$24,$24,$84,$24,$82,$24,$e2,$24,$e1,$24,$84,$c5,$30,$82,$c3 // .$$.$.$.$.$..0..
        .byte $e2,$24,$e1,$24,$ff,$90,$ca,$42,$30,$8c,$c8,$58,$84,$ca,$30,$90 // .$.$...B0..X..0.
        .byte $60,$7b,$30,$8c,$c8,$58,$84,$ca,$30,$a0,$c8,$58,$ff,$86,$c3,$e4 // `{0..X..0..X....
        .byte $22,$82,$22,$82,$c5,$30,$82,$c3,$22,$22,$84,$22,$82,$22,$e1,$24 // "."..0.."".".".$
        .byte $e4,$22,$84,$c5,$30,$82,$c3,$e1,$24,$e4,$22,$ff,$86,$c3,$e6,$22 // ."..0...$."...."
        .byte $82,$22,$82,$c5,$30,$82,$c3,$22,$22,$84,$22,$82,$22,$e4,$22,$e6 // ."..0.."".".".".
        .byte $22,$84,$c5,$30,$82,$c3,$e4,$22,$e6,$22,$ff,$84,$c6,$0c,$82,$0c // "..0..."."......
        .byte $18,$86,$0c,$82,$09,$0c,$0c,$18,$0c,$84,$0c,$82,$18,$0c,$ff,$94 // ................
        .byte $c2,$30,$84,$35,$37,$3a,$82,$38,$8e,$37,$84,$7f,$00,$24,$35,$37 // .0.57:.8.7...$57
        .byte $35,$84,$33,$82,$2e,$a2,$7f,$00,$24,$33,$35,$82,$c7,$04,$2c,$84 // 5.3.....$35...,.
        .byte $2c,$82,$e4
        .byte $2c,$60,$90,$ff,$84,$c9,$7f,$00
        .text "H570."
        .byte $88,$30,$84,$32,$82,$33,$86,$35,$82,$37,$35,$84,$33,$3a,$90,$37 // .0.2.3.5.75.3:.7
        .byte $82,$3a,$37,$35,$84,$35,$82,$33,$84,$32,$82,$30,$8c,$2e,$82,$30 // .:75.5.3.2.0...0
        .byte $32,$33,$84,$35,$33,$82,$32,$30,$2e,$92,$30,$ff,$84,$c6,$07,$82 // 23.53.20..0.....
        .byte $07,$13,$86,$07,$82,$04,$0f,$0f,$1b,$0f,$84,$0e,$82,$1a,$0e,$ff // ................
        .byte $84,$c0,$00,$c4,$30,$30,$2e,$86,$30,$8e,$7f,$00,$03,$32,$33,$82 // ....00..0....23.
        .byte $35,$33,$84,$35,$82,$37,$84,$35,$82,$35,$84 // 53.5.7.5.5.

txt_f95c:
        .text "320"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $00,$c4,$2e,$2e,$82,$2b,$84,$2e,$82,$2e,$84 // .....+.....

txt_f96b:
        .text "0."
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $00,$82,$c4,$2b,$84,$2b,$2b,$82,$29,$84,$2b,$c0,$00,$82,$c4,$2b // ...+.++.).+....+
        .byte $2b,$84,$2e,$7f,$00,$24,$31,$32,$ff,$80,$31,$00,$e9 // +....$12..1..

txt_f98b:
        .encoding "screencode_mixed"
        .text " 5are proud to give ya:"
        .encoding "petscii_upper"
        .byte $f8,$20,$29,$09,$13,$13,$15,$01,$12,$20,$2b,$31,$fa // . )...... +1.

txt_f9af:
        .encoding "screencode_mixed"
        .text " 1cracked by hewitt"
        .encoding "petscii_upper"
        .byte $e4,$21,$ea,$20,$80,$89,$00,$28,$01,$02,$03,$04,$01,$02,$05,$06 // .!. ...(........
        .byte $02,$01,$02,$03,$04,$30,$01,$02,$05,$06,$01,$02,$03,$04,$2d,$2e // .....0........-.
        .byte $2f,$30,$01,$02,$05,$06,$02,$01,$02,$03,$04,$22,$01,$31,$80,$56 // /0.........".1.V
        .byte $00,$60,$2c,$07,$08,$09,$0a,$07,$0b,$0c,$0d,$07,$0b,$0e,$0f,$07 // .`,.............
        .byte $0b,$10,$11,$07,$0b,$0c,$0d,$07,$08,$09,$0a,$32,$33,$34,$0a,$07 // ...........234..
        .byte $08
        .byte $35,$0d,$07,$08,$09,$0a,$07,$0b,$10,$11
        .text "6789"
        .byte $80
        .byte $54,$00,$60,$2c,$12,$13,$14,$15,$12,$16,$17,$18,$12,$19,$1a,$1b // T.`,............
        .byte $1c,$1d,$1e,$1f,$12,$16,$17,$18,$12,$13,$14,$15
        .text ":;<="
        .byte $12
        .byte $3e,$3f,$18,$12
        .byte $3e,$14,$15,$1c,$1d,$1e,$1f
        .byte $40                                   // @ character
        .text "ABC"
        .byte $80,$54,$00                           // .T.

txt_fa55:
        .text ": !"
        .byte $22                                   // double quote character
        .text "#$%&'(')**+,'$%&' !"
        .byte $22                                   // double quote character
        .text "#D!"
        .byte $02                                   // .

txt_fa71:
        .text "&'$%"
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text "#"
        .byte $a2                                   // '"' | $80 (end-of-string marker)

txt_fa79:
        .text "&,'D!"
        .byte $22                                   // double quote character
        .text "#"
        .byte $81,$5b,$00,$2b,$fb,$c0,$84,$c0,$80,$84,$40,$80,$a6,$00,$04,$a2 // .[.+......@.....
        .byte $28,$04,$08,$6e,$40,$14,$01,$00,$10,$a2 // (..n@.....

txt_fa9a:
        .text "!"
        .byte $40                                   // @ character
        .byte $a3                                   // '#' | $80 (end-of-string marker)
        .byte $26,$40,$40,$10,$10                   // &@@..

txt_faa2:
        .text "PU"
        .byte $a3                                   // '#' | $80 (end-of-string marker)
        .byte $21,$10,$a2,$60,$21,$40,$54,$04,$08,$04,$c8,$08,$0c,$48,$40,$55 // !..`!@T......H@U
        .byte $00,$fb,$c0,$80,$c4,$91,$08,$55,$00,$a4,$14,$04,$44,$14,$00,$10 // .......U....D...

txt_fac5:
        .byte $40                                   // @ character
        .text "B"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "DQ"
        .byte $e6,$04,$34,$44,$14,$08,$55,$00,$a6,$10,$00,$44,$11,$00,$6b,$00 // ..4D..U....D..k.
        .byte $54,$04,$08,$44,$18,$0c,$bc,$a7,$23,$10,$40,$02,$a2,$22,$44,$11 // T..D....#.@.."D.
        .byte $e4,$04,$28,$08,$20,$70,$20,$00,$50,$40,$08,$a2,$60,$20,$51,$0b // ..(. p .P@..` Q.
        .byte $04,$04,$20,$20,$30,$80,$c0,$00,$95,$66,$99,$6a,$6e,$7b,$7f,$7f // ..  0....f.jn{..
        .byte $54,$64,$94,$a4,$e4,$b4,$f5,$ff,$55,$66,$59,$6a,$6e,$7b,$c2,$38 // Td......UfYjn{.8
        .byte $54,$64,$94,$a4,$e4,$b4,$f4,$f8,$55,$66,$99,$aa,$eb,$b4,$fd,$ff // Td......Uf......
        .byte $58,$6c,$98,$ac,$bc,$00,$55,$ff,$a6,$2f,$54,$f4,$55,$66,$99,$aa // Xl....U../T.Uf..
        .byte $e6,$b4,$f4,$f4,$55,$66,$9b,$b8,$80,$a3,$22,$c0,$c0,$a6,$25,$95 // ....Uf...."...%.
        .byte $66,$99,$6a,$55,$a3,$30,$55,$66,$99,$aa,$5b,$06,$01,$01,$74,$59 // f.jU.0Uf..[...tY
        .byte $a6,$aa,$bb,$ee,$ff,$7f,$a2,$2e,$40,$40,$90,$d0,$d0,$f4,$7f,$7f // ........@@......
        .byte $6f,$5b                               // o[

txt_fb6d:
        .text "FA"
        .byte $40                                   // @ character
        .text "U"
        .byte $c3                                   // 'C' | $80 (end-of-string marker)
        .byte $32,$ba,$65,$10,$00,$56,$ff,$ef,$9b,$46,$01,$03,$38,$80,$e0,$f0 // 2.e..V...F..8...
        .byte $e0,$c0,$c0,$a3,$e3,$1f,$23,$07,$06,$01,$a2,$c3,$2a,$ba,$65,$10 // ......#.....*.e.
        .byte $50,$06,$ff,$ef,$9b,$46,$01,$a2,$37,$6b,$f8,$f4,$f8,$b8,$6c,$18 // P....F..7k....l.
        .byte $0c,$bc,$7f,$7f,$6f,$5b,$46,$41,$40,$6b,$00,$04,$18,$6c,$18,$04 // ....o[FA@k...l..
        .byte $a2,$27,$54,$40,$88,$cc,$a8,$04,$04,$a2,$25,$40,$90,$e4,$90,$40 // .'T@......%@...@
        .byte $a2
        .byte $28,$7f,$6f,$5b
        .text "FA"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $6b,$a5
        .byte $2c,$02,$03,$02,$00
        .byte $0b,$30,$c0,$c0,$04,$08,$6e,$a5,$a3,$21,$10,$a2,$22,$40,$54,$e3 // .0....n..!.."@T.
        .byte $04,$25,$c4,$04,$04,$44,$a4,$e6,$04,$22,$64,$08,$e3,$04,$26,$10 // .%...D..."d...&.
        .byte $10,$14,$11,$08,$04,$a2,$2e,$10,$01,$45,$12,$00 // .........E..

txt_fbfe:
        .text "P"
        .byte $40                                   // @ character
        .text "B"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "DQ"
        .byte $00                                   // string terminator
        .byte $6b,$a6                               // k.

txt_fc08:
        .text "0"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "L"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $10,$14                               // ..

// --- Region $fc15-$fc30 ---
.pc = $fc15 "dat_fc15"

dat_fc15:
        .byte $10,$00,$44,$11,$a3,$25,$40,$14,$01,$44,$11,$a6,$60,$2a,$40,$40 // ..D..%@..D..`*@@
        .byte $15,$66,$59,$6a,$6b,$00,$fb,$ff,$56,$6c,$98,$ac // .fYjk...Vl..

// --- Region $fc75-$fca3 ---
.pc = $fc75 "Segment $fc75"
        .byte $81,$40,$55,$f8,$22,$22,$00,$10,$a2,$21,$10,$a5 // .@U.""...!..

txt_fc81:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)

txt_fc84:
        .text "!D"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $2f,$02,$00,$80,$08,$00,$20,$c0,$00,$06,$08,$00,$20,$02,$00,$80 // /..... ..... ...
        .byte $a7                                   // .

txt_fc98:
        .text "!D"
        .byte $a5                                   // '%' | $80 (end-of-string marker)

txt_fc9b:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $21,$10,$a2,$21,$10,$a9               // !..!..

// --- Region $fcb0-$fcb9 ---
.pc = $fcb0 "dat_fcb0"

dat_fcb0:
        .byte $01,$01,$00,$04,$00,$40,$20,$00,$08,$04 // .....@ ...

// --- Region $fcbb-$fce1 ---
.pc = $fcbb "dat_fcbb"

dat_fcbb:
        .byte $40,$01,$01,$a2,$21,$82,$a2           // @...!..

txt_fcc2:
        .text "!D"
        .byte $a5                                   // '%' | $80 (end-of-string marker)

txt_fcc5:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $21,$10,$b2,$21,$10,$a5               // !..!..

txt_fcce:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)

txt_fcd1:
        .text "!D"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $2d,$82,$00,$02,$00,$80,$10,$00,$10,$02,$00,$80,$00,$82 // -.............

// --- Region $fcf8-$fda2 ---
.pc = $fcf8 "dat_fcf8"

dat_fcf8:
        .byte $08,$00,$20,$01,$01,$a2               // .. ...

txt_fcfe:
        .text "!D"
        .byte $a5                                   // '%' | $80 (end-of-string marker)

txt_fd01:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $21,$10,$be,$21,$10,$a5               // !..!..

txt_fd0a:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $27,$82,$00,$06,$00,$c0,$00,$82,$a5   // '........

txt_fd16:
        .text "!("
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $21,$10,$80,$24,$00,$21,$10,$a2,$21,$10,$a2 // !..$.!..!..

txt_fd24:
        .text "!("
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $24,$44,$00,$01,$01,$a2               // $D....

txt_fd2d:
        .text "!D"
        .byte $a2                                   // '"' | $80 (end-of-string marker)

txt_fd30:
        .text "!("
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $21,$10,$a2,$21,$10,$80,$2d,$00,$21,$10,$a2 // !..!..-.!..

txt_fd3e:
        .text "!("
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $21,$c6,$a2                           // !..

txt_fd44:
        .text "!("
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $21,$10,$80,$36,$00,$21,$10,$a2       // !..6.!..

txt_fd4f:
        .text "!8"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $21,$10,$80,$dd,$00,$e3,$20,$23,$19,$05,$01,$e4,$08,$e3,$21,$60 // !..... #......!`

txt_fd62:
        .encoding "screencode_mixed"
        .text "( hewitt is back to present another crack"
        .encoding "petscii_upper"
        .byte $e3                                   // .

txt_fd8c:
        .encoding "screencode_mixed"
        .text ".> this time under anot"
        .encoding "petscii_upper"

// --- Region $fdaa-$fffc ---
.pc = $fdaa "dat_fdaa"

dat_fdaa:
        .byte $05,$0c,$e3,$2e,$60,$48               // ....`H

txt_fdb0:
        .encoding "screencode_mixed"
        .text "  hewitt is very proud to present 'issuar"
        .encoding "petscii_upper"

txt_fdd9:
        .text " +1' "

txt_fdde:
        .encoding "screencode_mixed"
        .text "in the name of depredators"
        .encoding "petscii_upper"
        .byte $e3,$2e,$e3,$20,$60,$55               // ... `U

txt_fdfe:
        .encoding "screencode_mixed"
        .text "i have changed group again, but now i am in the absolute kick ass group at the moment"
        .encoding "petscii_upper"
        .byte $e3,$2e,$60                           // ..`

txt_fe56:
        .encoding "screencode_mixed"
        .text "$ the depredators says later from now"
        .encoding "petscii_upper"
        .byte $e4,$2e,$ec,$20,$80,$cd,$00,$e6,$20,$29,$07,$12,$05,$05,$14,$09 // ... .... )......
        .byte $0e,$07,$13,$e5,$2e,$e4,$20,$26,$01,$03,$14,$09,$0f,$0e,$e3,$20 // ...... &....... 
        .byte $2c,$01,$0c,$10,$08,$01,$20,$06,$0c,$09,$07,$08,$14,$e3,$20,$23 // ,..... ....... #
        .byte $01,$14,$07,$e3,$20,$24,$01,$14,$0f,$0d,$e3,$20,$28,$02,$01,$02 // .... $..... (...
        .byte $19,$07,$01,$0e,$07,$e3,$20,$2c,$02,$05,$01,$13,$14,$09,$05,$20 // ...... ,....... 
        .byte $02,$0f,$19,$13,$e3,$20,$2c,$02,$0c,$01,$13,$14,$05,$12,$13,$20 // ..... ,........ 
        .byte $09,$0e,$03,$e3,$20,$26,$03,$0f,$0e,$14,$05,$18,$e3,$20,$23,$04 // .... &....... #.
        .byte $03,$13,$e3,$20,$27,$04,$19,$0e,$01,$0d,$09,$18,$e3,$20,$24,$06 // ... '........ $.
        .byte $34,$03,$07,$e3,$20,$29,$06,$01,$09,$12,$0c,$09,$07,$08,$14,$e3 // 4... )..........
        .byte $20,$26,$06,$01,$0c,$03,$0f,$0e,$e3,$20,$27,$08,$0f,$14,$0c,$09 //  &....... '.....
        .byte $0e,$05,$e3,$20,$28,$14,$12,$01,$0e,$13,$03,$0f,$0d,$e3,$20,$23 // ... (......... #
        .byte $12,$14,$09,$e3,$20,$27,$13,$15,$03,$03,$05,$13,$13,$e3,$20,$26 // .... '........ &
        .byte $01,$03,$14,$09,$16,$05,$e3,$20,$26,$03,$0f,$13,$0d,$0f,$13,$e3 // ....... &.......
        .byte $20,$25,$03,$12,$01,$1a,$19,$e4,$20,$23,$04,$0f,$0d,$e3,$20,$2c //  %...... #.... ,
        .byte $17,$09,$0c,$04,$2d,$13,$05,$03,$14,$09,$0f,$0e,$e4,$20,$22,$07 // ....-........ ".
        .byte $10,$e3,$20,$25,$0c,$0f,$14,$15,$13,$e3,$20,$28,$18,$2d,$06,$01 // .. %...... (.-..
        .byte $03,$14,$0f,$12,$e4,$20,$28,$1a,$05,$12,$0f,$10,$01,$07,$05,$e4 // ..... (.........
        .byte $20,$23,$17,$17,$05,$e4,$20,$e3,$2e,$e5,$20,$60,$4d //  #.... ... `M

txt_ff98:
        .encoding "screencode_mixed"
        .text "for contacting write to thomas petersson, lyngparken"
        .encoding "petscii_upper"

txt_ffcc:
        .text " 46, 2800 "
        .byte $0c,$19,$0e,$07,$02,$19,$2c,$20,$04,$05,$0e,$0d,$01,$12,$0b,$e4 // ......, ........
        .byte $2e,$e3                               // ..

txt_ffe8:
        .encoding "screencode_mixed"
        .text " -and do it now"
        .encoding "petscii_upper"
        .byte $e3,$2e,$f7,$20,$80,$60               // ... .`
