// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:41
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $2431  (7474 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1a68 (6760)
// IRQ handler:  $1a7f (nmi_1a7f)
// IRQ handler:  $1a84 (irq_1a84)
//
// Code: 2413 bytes, Data: 5061 bytes
// Labels: 187, Subroutines: 18
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1382 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $1e70

sub_1000:
        jmp loc_1a31
// Referenced by: jsr from $1087

sub_1003:
        jmp loc_1a62

loc_1006:
        inc $147d
        bit $1471
        bmi loc_102c
        bvc loc_1046
        lda #$00
        sta $147d
        ldx #$02

loc_1017:
        sta $1447,x
        sta $144a,x
        sta $144d,x
        sta $1456,x
        dex
        bpl loc_1017
        sta $1471
        jmp loc_1046

loc_102c:
        bvc loc_1043
        lda #$00
        sta $d404
        sta $d40b
        sta $d412
        lda #$0f
        sta $d418
        lda #$80
        sta $1471

loc_1043:
        jmp loc_1382

loc_1046:
        ldx #$02
        dec $146e
        bpl loc_1053
        lda $146f
        sta $146e

loc_1053:
        lda $1443,x
        sta $1446
        tay
        lda $146e
        cmp $146f
        bne loc_1077
        lda $14f6,x
        sta $fb
        lda $14f9,x
        sta $fc
        dec $144d,x
        bmi loc_107a
        jmp loc_116d

dat_1074:
        .byte $4c,$7c,$13                           // L|.

loc_1077:
        jmp loc_118c

loc_107a:
        ldy $1447,x
        lda ($fb),y
        cmp #$ff
        beq loc_108d
        cmp #$fe
        bne loc_109e
        jsr sub_1003
        jmp loc_1382

loc_108d:
        lda #$00
        sta $144d,x
        sta $1447,x
        sta $144a,x
        jmp loc_107a

spr_109b:
        // === Sprite data (3 bytes, $109b-$109d) ===
        .byte $4c,$7c,$13                           // .#..##...#####.....#..##

loc_109e:
        tay
        lda $150e,y
        sta $fd
        lda $152d,y
        sta $fe
        lda #$00
        sta $1478,x
        ldy $144a,x
        lda #$ff
        sta $145c
        lda ($fd),y
        sta $1450,x
        sta $145d
        and #$1f
        sta $144d,x
        lda #$4c
        sec
        sbc $1449
        cmp #$0f
        bcc loc_10cf
        lda #$0f

loc_10cf:
        sta $d418
        bit $145d
        bvs loc_1116
        inc $144a,x
        lda $145d
        bpl loc_10f0
        iny
        lda ($fd),y
        bpl loc_10ea
        sta $1478,x
        jmp loc_10ed

loc_10ea:
        sta $1459,x

loc_10ed:
        inc $144a,x

loc_10f0:
        iny
        lda ($fd),y
        sta $1456,x
        asl
        tay
        lda dat_1383,y
        sta $145e
        lda $1384,y
        ldy $1446
        sta $d401,y
        sta $1472,x
        lda $145e
        sta $d400,y
        sta $1475,x
        jmp loc_1119

loc_1116:
        dec $145c

loc_1119:
        ldy $1446
        lda $1459,x
        stx $145f
        asl
        asl
        asl
        tax
        lda txt_1480,x
        sta $1460
        lda txt_1480,x
        and $145c
        sta $d404,y
        lda $147e,x
        sta $d402,y
        lda $147f,x
        sta $d403,y
        lda $1481,x
        sta $d405,y
        lda $1482,x
        sta $d406,y
        ldx $145f
        lda $1460
        sta $1453,x
        inc $144a,x
        ldy $144a,x
        lda ($fd),y
        cmp #$ff
        bne loc_116a
        lda #$00
        sta $144a,x
        inc $1447,x

loc_116a:
        jmp loc_137c

loc_116d:
        ldy $1446
        lda $1450,x
        and #$20
        bne loc_118c
        lda $144d,x
        bne loc_118c
        lda $1453,x
        and #$fe
        sta $d404,y
        lda #$00
        sta $d405,y
        sta $d406,y

loc_118c:
        lda $1459,x
        asl
        asl
        asl
        tay
        sty $1470
        lda $1485,y
        sta $147b
        lda $1484,y
        sta $1462
        lda $1483,y
        sta $1461
        beq loc_1219
        lda $147d
        and #$07
        cmp #$04
        bcc loc_11b5
        eor #$07

loc_11b5:
        sta $1467
        lda $1456,x
        asl
        tay
        sec
        lda $1385,y
        sbc dat_1383,y
        sta $1463
        lda $1386,y
        sbc $1384,y

loc_11cd:
        lsr
        ror $1463
        dec $1461
        bpl loc_11cd
        sta $1464
        lda dat_1383,y
        sta $1465
        lda $1384,y
        sta $1466
        lda $1450,x
        and #$1f
        cmp #$08
        bcc loc_120a
        ldy $1467

loc_11f1:
        dey
        bmi loc_120a
        clc
        lda $1465
        adc $1463
        sta $1465
        lda $1466
        adc $1464
        sta $1466
        jmp loc_11f1

loc_120a:
        ldy $1446
        lda $1465
        sta $d400,y
        lda $1466
        sta $d401,y

loc_1219:
        lda $147b
        and #$08
        beq loc_1235
        ldy $1470
        lda $147e,y
        adc $1462
        sta $147e,y
        ldy $1446
        sta $d402,y
        jmp loc_129c

loc_1235:
        lda $1462
        beq loc_129c
        ldy $1470
        and #$1f
        dec $1468,x
        bpl loc_129c
        sta $1468,x
        lda $1462
        and #$e0
        sta $147c
        lda $146b,x
        bne loc_126e
        lda $147c
        clc
        adc $147e,y
        pha
        lda $147f,y
        adc #$00
        and #$0f
        pha
        cmp #$0e
        bne loc_1285
        inc $146b,x
        jmp loc_1285

loc_126e:
        sec
        lda $147e,y
        sbc $147c
        pha
        lda $147f,y
        sbc #$00
        and #$0f
        pha
        cmp #$08
        bne loc_1285
        dec $146b,x

loc_1285:
        stx $145f
        ldx $1446
        pla
        sta $147f,y
        sta $d403,x
        pla
        sta $147e,y
        sta $d402,x
        ldx $145f

loc_129c:
        ldy $1446
        lda $1478,x
        beq loc_12e3
        and #$7e
        sta $145f
        lda $1478,x
        and #$01
        beq loc_12cb
        sec
        lda $1475,x
        sbc $145f
        sta $1475,x
        sta $d400,y
        lda $1472,x
        sbc #$00
        sta $1472,x
        sta $d401,y
        jmp loc_12e3

loc_12cb:
        clc
        lda $1475,x
        adc $145f
        sta $1475,x
        sta $d400,y
        lda $1472,x
        adc #$00
        sta $1472,x
        sta $d401,y

loc_12e3:
        lda $147b
        and #$01
        beq loc_131f
        lda $1472,x
        beq loc_131f
        lda $144d,x
        beq loc_131f
        lda $1450,x
        and #$1f
        sec
        sbc #$01
        cmp $144d,x
        ldy $1446
        bcc loc_1314
        lda $1472,x
        dec $1472,x
        sta $d401,y
        lda $1453,x
        and #$fe
        bne loc_131c

loc_1314:
        lda $1472,x
        sta $d401,y
        lda #$80

loc_131c:
        sta $d404,y

loc_131f:
        lda $147b
        and #$02
        beq loc_134b
        lda $1450,x
        and #$1f
        cmp #$10
        bcc loc_134b
        lda $144d,x
        cmp #$18
        bcs loc_134b
        lda $147d
        and #$01
        beq loc_134b
        lda $1472,x
        beq loc_134b
        dec $1472,x
        ldy $1446
        sta $d401,y

loc_134b:
        lda $147b
        and #$04
        beq loc_137c
        lda $147d
        and #$04
        bne loc_1362
        lda $1456,x
        clc
        adc #$0c
        jmp loc_1365

loc_1362:
        lda $1456,x

loc_1365:
        asl
        tay
        lda dat_1383,y
        sta $145e
        lda $1384,y
        ldy $1446
        sta $d401,y
        lda $145e
        sta $d400,y

loc_137c:
        dex
        bmi loc_1382
        jmp loc_1053

loc_1382:
        rts

// --- Region $13ae-$13b0 ---
.pc = $13ae "loc_13ae"

loc_13ae:
        .byte $03,$e0                               // slo ($e0,x) // ILLEGAL

dat_13b0:
        .byte $03                                   // .

// --- Region $1427-$142b ---
.pc = $1427 "loc_1427"

loc_1427:
        bpl loc_14a5
        bvs loc_13ae
        rti

// --- Region $14a5-$14a7 ---
.pc = $14a5 "loc_14a5"

loc_14a5:
        ora $f8
        .byte $02                                   // jam // ILLEGAL

// --- Region $14b0-$14c5 ---
.pc = $14b0 "Segment $14b0"
        eor ($0d,x)
        .byte $9f,$02,$99                           // sha $9902,y // ILLEGAL
        php
        .byte $80,$01                               // nop #$01 // ILLEGAL
        ora $0a,x
        .byte $0c,$01,$00                           // nop $0001 // ILLEGAL
        ora $00
        php
        eor ($6c,x)
        asl
        ora ($00,x)
        .byte $02                                   // jam // ILLEGAL

// --- Region $15d0-$15d3 ---
.pc = $15d0 "Segment $15d0"
        .byte $ff,$1a,$1a                           // isc $1a1a,x // ILLEGAL
        .byte $1a                                   // nop // ILLEGAL

// --- Region $194c-$194f ---
.pc = $194c "Segment $194c"
        rol $0983
        .byte $52                                   // jam // ILLEGAL

// --- Region $1a31-$1a6c ---
.pc = $1a31 "loc_1a31"

loc_1a31:
        ldy #$00
        asl
        sta $145f
        asl
        clc
        adc $145f
        tax

loc_1a3d:
        lda $14fc,x
        sta $14f6,y
        inx
        iny
        cpy #$06
        bne loc_1a3d
        lda #$00
        sta $d404
        sta $d40b
        sta $d412
        sta $d417
        lda #$0f
        sta $d418
        lda #$40
        sta $1471
        rts

loc_1a62:
        lda #$c0
        sta $1471
        rts

main_1a68:
        jmp loc_1e10

dat_1a6b:
        .byte $bd,$32                               // .2

// --- Region $1a75-$1d6a ---
.pc = $1a75 "loc_1a75"

loc_1a75:
        cmp $02
        nop
        lda #$37
        sta $01
        jmp $fce2

nmi_1a7f:
        sec
        rol $242f
        rti

irq_1a84:
        lda #$01
        sta $d019
        ldx #$07
        lda #$7f

loc_1a8d:
        sta $dc00
        ldy $dc01
        iny
        bne loc_1a9a
        sec
        ror
        bcs loc_1a8d

loc_1a9a:
        tya
        ora $242f
        sta $242f

smc_1aa1:
        bit loc_1aa7                                // !SMC: modified by $1f6d
        jmp $ea81

loc_1aa7:
        jsr loc_1006
        lda #$0f
        sta $d418
        jmp loc_1ac4

loc_1ab2:
        dec $242c
        bpl loc_1ac4
        lda #$04
        sta $242c
        lda $1aab
        beq loc_1ac4
        dec $1aab

loc_1ac4:
        rts
// Referenced by: jsr from $1ad0, $1b05, $1ba5, $1d35, $1e2a, $1f74, $1fbd; branch from $1ac8

sub_1ac5:
        bit $d011
        bpl sub_1ac5

loc_1aca:
        bit $d011
        bmi loc_1aca
        rts
// Referenced by: jsr from $1e6b, $1f54, $2005, $201b, $2025, $206b; branch from $1ad4

sub_1ad0:
        jsr sub_1ac5
        dey
        bne sub_1ad0
        rts
// Referenced by: jsr from $1f77, $200f

sub_1ad7:
        ldx $02
        lda $20a9,x
        sta smc_1af2                                // SMC: modifies $1af2
        ldx #$0f

loc_1ae1:
        lda $2109,x
        and #$3f
        sta $063c,x
        lda $2119,x
        and #$3f
        sta $0664,x
.label smc_1af2 = * + 1
        lda #$00                                    // !SMC: modified by $1adc
        sta $da3c,x
        sta $da64,x
        dex
        bpl loc_1ae1
        rts
// Referenced by: jsr from $1f60, $200c

sub_1afd:
        ldx $02
        lda $20a9,x
        sta smc_1b29                                // SMC: modifies $1b29
        jsr sub_1ac5
        lda #$30
        sta $aa
        lda #$0c
        sta $ab
        lda #$ad
        sta $ac
        lda #$04
        sta $ad
        lda #$ad
        sta $ae
        lda #$d8
        sta $af
        ldx #$00

loc_1b22:
        ldy #$0d

loc_1b24:
        lda ($aa),y
        sta ($ac),y
.label smc_1b29 = * + 1
        lda #$01                                    // !SMC: modified by $1b02
        sta ($ae),y
        dey
        bpl loc_1b24
        clc
        lda #$0e
        adc $aa
        sta $aa
        bcc loc_1b3a
        inc $ab

loc_1b3a:
        clc
        lda #$28
        adc $ac
        sta $ac
        bcc loc_1b45
        inc $ad

loc_1b45:
        clc
        lda #$28
        adc $ae
        sta $ae
        bcc loc_1b50
        inc $af

loc_1b50:
        inx
        cpx #$09
        bne loc_1b22
        rts

// Referenced by: jsr from $1f27, $2016
sub_1b56: {
        lda #$5b
        sta $ac
        lda #$04
        sta $ad
        lda #$5b
        sta $ae
        lda #$d8
        sta $af
        ldx #$00
loop1:
        txa
        clc
        adc #$96
        ldy #$11
loop2:
        sta ($ac),y
        pha
        lda $03
        sta ($ae),y
        pla
        dey
        bpl loop2
        clc
        lda #$28
        adc $ac
        sta $ac
        bcc skip
        inc $ad
skip:
        clc
        lda #$28
        adc $ae
        sta $ae
        bcc done
        inc $af
done:
        inx
        cpx #$14
        bne loop1
        rts
}

// Referenced by: jsr from $1f59, $2020
sub_1b95: {
        sta $02
        ldx #$13
loop1:
        txa
        sta $0334,x
        lda #$00
        sta $0348,x
        dex
        bpl loop1
loop2:
        jsr sub_1ac5
        ldx #$13
loop3:
        dec $0334,x
        bpl skip
        lda #$02
        sta $0334,x
        txa
        asl
        asl
        asl
        adc $0348,x
        tay
        lda $02
        sta $0cb0,y
        inc $0348,x
skip:
        dex
        bpl loop3
        ldx #$13
        lda #$08
loop4:
        and $0348,x
        dex
        bpl loop4
        cmp #$08
        bne loop2
        rts
}

// Referenced by: jsr from $1cb0
sub_1bd6: {
        ldx #$06
loop:
        rol $0de0,x
        rol $0dd8,x
        rol $0dd0,x
        rol $0dc8,x
        rol $0dc0,x
        rol $0db8,x
        rol $0db0,x
        rol $0da8,x
        rol $0da0,x
        rol $0d98,x
        rol $0d90,x
        rol $0d88,x
        rol $0d80,x
        rol $0d78,x
        rol $0d70,x
        rol $0d68,x
        rol $0d60,x
        rol $0d58,x
        rol $0d50,x
        dex
        bpl loop
        rts
}

// Referenced by: jsr from $1cca
sub_1c15: {
        ldx #$06
loop:
        rol $0e78,x
        rol $0e70,x
        rol $0e68,x
        rol $0e60,x
        rol $0e58,x
        rol $0e50,x
        rol $0e48,x
        rol $0e40,x
        rol $0e38,x
        rol $0e30,x
        rol $0e28,x
        rol $0e20,x
        rol $0e18,x
        rol $0e10,x
        rol $0e08,x
        rol $0e00,x
        rol $0df8,x
        rol $0df0,x
        rol $0de8,x
        dex
        bpl loop
        rts
}
// Referenced by: jsr from $1cbd; branch from $1c63

sub_1c54:
.label smc_1c55 = * + 1
.label smc_1c56 = * + 2
        lda txt_230a                                // !SMC: modified by $1c5b, $1c60
        bne loc_1c65
        lda #$0a
        sta smc_1c55                                // SMC: modifies $1c55
        lda #$23
        sta smc_1c56                                // SMC: modifies $1c56
        bne sub_1c54

loc_1c65:
        ldx #$e0
        ldy #$0d
        inc smc_1c55
        bne loc_1c90
        inc smc_1c56
        bne loc_1c90
// Referenced by: jsr from $1cd7; branch from $1c82

sub_1c73:
.label smc_1c74 = * + 1
.label smc_1c75 = * + 2
        lda $2229                                   // !SMC: modified by $1c7a, $1c7f
        bne loc_1c84
        lda #$29
        sta smc_1c74                                // SMC: modifies $1c74
        lda #$22
        sta smc_1c75                                // SMC: modifies $1c75
        bne sub_1c73

loc_1c84:
        ldx #$78
        ldy #$0e
        inc smc_1c74
        bne loc_1c90
        inc smc_1c75

loc_1c90:
        stx $ac
        sty $ad
        and #$3f
        asl
        asl
        asl
        php
        sta $aa
        plp
        and #$00
        adc #$08
        sta $ab
        ldy #$07

loc_1ca5:
        lda ($aa),y
        sta ($ac),y
        dey
        bpl loc_1ca5
        rts

// Referenced by: jsr from $1fc0, $1fde
sub_1cad: {
        lda #$02
loop:
        pha
        jsr sub_1bd6
        dec $2430
        bpl skip
        lda #$07
        sta $2430
        jsr sub_1c54
skip:
        pla
        sec
        sbc #$01
        bne loop
        rts
}

// Referenced by: jsr from $1fc3, $1fe1
sub_1cc7: {
        lda #$01
loop:
        pha
        jsr sub_1c15
        dec $2431
        bpl skip
        lda #$07
        sta $2431
        jsr sub_1c73
skip:
        pla
        sec
        sbc #$01
        bne loop
        rts
}
// Referenced by: jsr from $1fc6

sub_1ce1:
        dec $242b
        bpl loc_1d07
        ldy #$00
        ldx $242e

loc_1ceb:
        lda $2129,x
        and #$3f
        sta $072c,y
        inx
        iny
        cpy #$10
        bne loc_1ceb
        stx $242e
        lda #$5f
        sta $242b
        lda dat_20a8
        jmp loc_1d19

loc_1d07:
        lda $242b
        cmp #$20
        bcs loc_1d22
        cmp #$10
        bcc loc_1d33
        sec
        sbc #$10
        tax
        lda $20b1,x

loc_1d19:
        ldy #$0f

loc_1d1b:
        sta $db2c,y
        dey
        bpl loc_1d1b
        rts

loc_1d22:
        cmp #$57
        bcc loc_1d33
        sec
        lda #$5f
        sbc $242b
        tax
        lda dat_20a8,x
        jmp loc_1d19

loc_1d33:
        rts

// Referenced by: jsr from $1f3d, $2039
sub_1d34: {
        pha
        jsr sub_1ac5
        pla
        ldx #$00
        sta $d020
loop1:
        sta $d800,x
        inx
        bne loop1
loop2:
        sta $d900,x
        inx
        bne loop2
loop3:
        sta $da00,x
        inx
        bne loop3
loop4:
        sta $dae8,x
        inx
        bne loop4
        rts
}
// Referenced by: jsr from $1fc9, $1fe4

sub_1d57:
.label smc_1d58 = * + 1
        lda #$00                                    // !SMC: modified by $1d5b
        eor #$80
        sta smc_1d58                                // SMC: modifies $1d58
        bpl dat_1d6b
        ldx #$3f
        lda #$00

loc_1d64:
        sta $02c0,x
        dex
        bpl loc_1d64
        rts

// --- Region $1e10-$20a7 ---
.pc = $1e10 "loc_1e10"

loc_1e10:
        sei
        lda #$7f
        sta $0318
        lda #$1a
        sta $0319
        ldx #$00
        txa

loc_1e1e:
        sta $0cb0,x
        inx
        bne loc_1e1e
        stx chr_0800
        lda #$40

loc_1e29:
        pha
        jsr sub_1ac5
        ldy #$04

loc_1e2f:
        eor $dc05
        adc $dc04
        tax
        lda $0cb0,x
        bne loc_1e2f
        lda #$a0
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $0700,x
        lda $d020
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inc $0cb0,x
        dey
        bne loc_1e2f
        pla
        sec
        sbc #$01
        bne loc_1e29
        lda #$0b
        sta $d011
        ldy #$10
        jsr sub_1ad0
        lda #$00
        jsr sub_1000
        lda #$84
        sta $0314
        lda #$1a
        sta $0315
        lda #$7f
        sta $dc0d
        bit $dc0d
        lda #$01
        sta $d01a
        dec $d019
        lda #$e0
        sta $d012
        lda #$02
        sta $d021
        lda #$12
        sta $d018
        lda #$0d
        sta $07f8
        lda #$0e
        sta $07f9
        lda #$70
        sta $d000
        lda #$e8
        sta $d002
        lda #$b8
        sta $d001
        sta $d003
        lda #$02
        sta $d027
        sta $d028
        ldx #$00
        stx $d017
        stx $d01b
        stx $d01d
        stx $d015

loc_1ece:
        lda #$3e
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $06e8,x
        lda #$00
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $dae8,x
        cpx #$a0
        bcs $1efb
        lda #$ff
        sta $0cb0,x
        lda #$00
        sta $0d50,x
        sta $0de8,x
        txa
        sta $02
        ldy #$04

loc_1f00:
        ror $02
        php
        ror
        plp
        ror
        dey
        bne loc_1f00
        sta $0f00,x
        inx
        bne loc_1ece

loc_1f0f:
        lda $dc04
        eor $d012
        and #$0f
        tax
        beq loc_1f0f
        lda $20d1,x
        beq loc_1f0f
        stx $242d
        lda $20c1,x
        sta $03
        jsr sub_1b56
        ldy #$0f
        lda $d020
        and #$0f

loc_1f31:
        cmp $20c1,y
        beq loc_1f39
        dey
        bpl loc_1f31

loc_1f39:
        cli

loc_1f3a:
        lda $20c1,y
        jsr sub_1d34
        cpy $242d
        beq loc_1f4d
        iny
        bcc loc_1f3a
        dey
        dey
        jmp loc_1f3a

loc_1f4d:
        lda #$1b
        sta $d011
        ldy #$10
        jsr sub_1ad0
        lda #$00
        jsr sub_1b95
        lda #$00
        sta $02

loc_1f60:
        jsr sub_1afd
        inc $02
        lda $02
        cmp #$08
        bne loc_1f60
        lda #$20
        sta smc_1aa1                                // SMC: modifies $1aa1
        lda #$00
        sta $02

loc_1f74:
        jsr sub_1ac5
        jsr sub_1ad7
        inc $02
        lda $02
        cmp #$08
        bne loc_1f74
        ldy #$20
        lda $242f
        bne loc_2005
        ldx #$11

loc_1f8b:
        txa
        clc
        adc #$aa
        sta $06b3,x
        lda #$01
        sta $dab3,x
        dex
        bpl loc_1f8b
        ldx #$11

loc_1f9c:
        txa
        clc
        adc #$bd
        sta $06db,x
        lda #$01
        sta $dadb,x
        dex
        bpl loc_1f9c
        ldx #$3f
        lda #$00

loc_1faf:
        sta $0340,x
        sta $0380,x
        dex
        bpl loc_1faf
        lda #$03
        sta $d015

loc_1fbd:
        jsr sub_1ac5
        jsr sub_1cad
        jsr sub_1cc7
        jsr sub_1ce1
        jsr sub_1d57
        lda $242f
        beq loc_1fbd
        lda $242b
        cmp #$01
        bne loc_1fbd
        lda #$0f

loc_1fda:
        pha
        jsr sub_1ac5
        jsr sub_1cad
        jsr sub_1cc7
        jsr sub_1d57
        pla
        pha
        tax
        lda $20b1,x
        ldx #$11

loc_1fef:
        sta $dab3,x
        sta $dadb,x
        dex
        bpl loc_1fef
        pla
        sec
        sbc #$01
        bcs loc_1fda
        lda #$00
        sta $d015
        ldy #$01

loc_2005:
        jsr sub_1ad0
        lda #$07
        sta $02

loc_200c:
        jsr sub_1afd
        jsr sub_1ad7
        dec $02
        bpl loc_200c
        jsr sub_1b56
        ldy #$08
        jsr sub_1ad0
        lda #$ff
        jsr sub_1b95
        ldy #$10
        jsr sub_1ad0
        lda #$0b
        sta $d011
        lda #$2c
        sta $1aaf
        ldy $242d

loc_2035:
        dey
        lda $20c1,y
        jsr sub_1d34
        tya
        bne loc_2035

loc_203f:
        lda $1aab
        bne loc_203f
        sei
        jsr $fd15
        jsr $fda3
        ldx #$2e

loc_204d:
        cpx #$21
        beq $205b
        cpx #$12
        beq $205b
        lda $ecb8,x
        sta $cfff,x
        dex
        bne loc_204d
        stx $d021
        jsr $e51b
        lda #$0f
        sta $0286
        ldy #$10
        jsr sub_1ad0
        ldx #$27

loc_2070:
        lda txt_20e1,x
        and #$3f
        sta $07c0,x
        dex
        bpl loc_2070
        ldx #$00

loc_207d:
        jsr sub_1ac5
        lda $20c1,x
        ldy #$27

loc_2085:
        sta $dbc0,y
        dey
        bpl loc_2085
        lda #$1b
        sta $d011
        inx
        cpx #$10
        bne loc_207d
        sei
        lda #$e4
        sta $01
        ldx #$14

loc_209c:
        lda $1a6a,x
        sta $02bf,x
        dex
        bne loc_209c
        jmp $02c0

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

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

chr_0800:
        // === Charset data (237 bytes, $0800-$08ec) ===
        .byte $99,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $38,$6c,$7c,$c6,$c6,$00,$00,$00       // char 1 @+1
        .byte $fc,$c6,$fc,$c6,$fc,$00,$00,$00       // char 2 @+2
        .byte $7c,$c6,$c0,$66,$3c,$00,$00,$00       // char 3 @+3
        .byte $f8,$cc,$c6,$c6,$fc,$00,$00,$00       // char 4 @+4
        .byte $fe,$c0,$f8,$c0,$fe,$00,$00,$00       // char 5 @+5
        .byte $fe,$c0,$f8,$c0,$c0,$00,$00,$00       // char 6 @+6
        .byte $7c,$c0,$ce,$66,$3e,$00,$00,$00       // char 7 @+7
        .byte $c6,$c6,$fe,$c6,$c6,$00,$00,$00       // char 8 @+8
        .byte $3c,$18,$18,$18,$3c,$00,$00,$00       // char 9 @+9
        .byte $06,$06,$06,$c6,$7c,$00,$00,$00       // char 10 @+10
        .byte $c6,$cc,$f8,$cc,$c6,$00,$00,$00       // char 11 @+11
        .byte $c0,$c0,$c0,$c0,$7e,$00,$00,$00       // char 12 @+12
        .byte $c6,$ee,$fe,$d6,$c6,$00,$00,$00       // char 13 @+13
        .byte $e6,$f6,$de,$ce,$c6,$00,$00,$00       // char 14 @+14
        .byte $7c,$c6,$c6,$c6,$7c,$00,$00,$00       // char 15 @+15
        .byte $fc,$c6,$fc,$c0,$c0,$00,$00,$00       // char 16 @+16
        .byte $7c,$c6,$c6,$c6,$7c,$0e,$00,$00       // char 17 @+17
        .byte $fc,$c6,$fc,$cc,$c6,$00,$00,$00       // char 18 @+18
        .byte $7c,$c0,$7c,$06,$fc,$00,$00,$00       // char 19 @+19
        .byte $7e,$18,$18,$18,$18,$00,$00,$00       // char 20 @+20
        .byte $c6,$c6,$c6,$c6,$7c,$00,$00,$00       // char 21 @+21
        .byte $c6,$c6,$6c,$6c,$38,$00,$00,$00       // char 22 @+22
        .byte $c6,$d6,$fe,$ee,$c6,$00,$00,$00       // char 23 @+23

spr_08c0:
        .byte $c6,$6c,$38,$6c,$c6,$00,$00,$00       // char 24 @+24
        .byte $c6,$6c,$38,$30,$60,$00,$00,$00       // char 25 @+25
        .byte $fe,$0c,$38,$60,$fe,$00,$00,$00       // char 26 @+26

txt_08d8:
        .byte $3c,$30,$30,$30,$3c,$00,$00,$00       // char 27 @+27
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 28 @+28
        .byte $3c,$0c,$0c,$0c,$3c                   // char 29 (partial)

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

dat_0908:
        .byte $60,$60,$60,$00,$60,$00,$00,$00       // char 33 '!'
        .byte $6c,$6c,$00,$00,$00,$00,$00,$00       // char 34 '"'
        .byte $6c,$fe,$6c,$fe,$6c,$00,$00,$00       // char 35 '#'
        .byte $7c,$d8,$7c,$36,$7c,$00,$00,$00       // char 36 '$'
        .byte $66,$6c,$18,$36,$66,$00,$00,$00       // char 37 '%'
        .byte $78,$cc,$78,$cc,$7e,$00,$00,$00       // char 38 '&'
        .byte $18,$30,$00,$00,$00,$00,$00,$00       // char 39 '''
        .byte $18,$30,$30,$30,$18,$00,$00,$00       // char 40 '('
        .byte $18,$0c,$0c,$0c,$18,$00,$00,$00       // char 41 ')'
        .byte $00,$6c,$38,$6c,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$18,$3c,$18,$00,$00,$00,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$30,$60,$00,$00       // char 44 ','
        .byte $00,$00,$3c,$00,$00,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$60,$60,$00,$00,$00       // char 46 '.'
        .byte $06,$0c,$18,$30,$60,$00,$00,$00       // char 47 '/'
        .byte $7c,$c6,$c6,$c6,$7c,$00,$00,$00       // char 48 '0'
        .byte $18,$38,$18,$18,$7e,$00,$00,$00       // char 49 '1'
        .byte $7c,$06,$7c,$c0,$fe,$00,$00,$00       // char 50 '2'
        .byte $fc,$06,$3c,$06,$fc,$00,$00,$00       // char 51 '3'
        .byte $c0,$cc,$fe,$0c,$0c,$00,$00,$00       // char 52 '4'
        .byte $fe,$c0,$fc,$06,$fc,$00,$00,$00       // char 53 '5'
        .byte $7c,$c0,$fc,$c6,$7c,$00,$00,$00       // char 54 '6'
        .byte $fe,$06,$0c,$18,$18,$00,$00,$00       // char 55 '7'
        .byte $7c,$c6,$7c,$c6,$7c,$00,$00,$00       // char 56 '8'
        .byte $7c,$c6,$7e,$06,$7c,$00,$00,$00       // char 57 '9'
        .byte $00,$18,$00,$18,$00,$00,$00,$00       // char 58 ':'
        .byte $00,$18,$00,$18,$18,$30,$00,$00       // char 59 ';'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 60 '<'
        .byte $00,$3c,$00,$3c,$00,$00,$00,$00       // char 61 '='
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 62 '>'
        .byte $fc,$06,$3c,$00,$30,$00,$00,$00       // char 63 '?'
        .byte $07,$04,$04,$04,$04,$04,$04,$04       // char 64 '@'
        .byte $ff,$00,$00,$00,$00,$00,$00,$00       // char 65 'A'
        .byte $fe,$01,$00,$00,$00,$00,$00,$00       // char 66 'B'
        .byte $00,$c0,$30,$0c,$02,$01,$00,$00       // char 67 'C'
        .byte $00,$00,$00,$00,$00,$00,$80,$40       // char 68 'D'
        .byte $00,$00,$00,$00,$00,$00,$01,$02       // char 69 'E'
        .byte $00,$03,$0c,$30,$40,$80,$00,$00       // char 70 'F'
        .byte $7f,$80,$00,$00,$00,$00,$00,$00       // char 71 'G'
        .byte $e0                                   // char 72 (partial)

txt_0a41:
        .byte $20,$20,$20,$20,$20,$20,$20           // char 72 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 73 'I'
        .byte $04,$04,$04,$04,$04,$04,$04,$04       // char 74 'J'
        .byte $20,$10,$10,$08,$08,$04,$04,$04       // char 75 'K'
        .byte $04,$08,$08,$10,$10                   // char 76 (partial)

txt_0a65:
        .byte $20,$20,$20                           // char 76 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 77 'M'
        .byte $04,$04,$04,$04,$07,$00,$00,$00       // char 78 'N'
        .byte $00,$00,$00,$00,$ff,$00,$00,$03       // char 79 'O'
        .byte $00,$00,$00,$00,$ff,$38,$c0,$00       // char 80 'P'
        .byte $00,$00,$00,$00,$ff,$00,$00,$00       // char 81 'Q'
        .byte $00,$00,$00,$00,$f0,$00,$00,$00       // char 82 'R'
        .byte $02,$02,$02,$02,$02,$02,$02,$02       // char 83 'S'

txt_0aa0:
        .byte $40,$40,$40,$40,$40,$40,$40,$40       // char 84 'T'
        .byte $00,$00,$00,$00,$0f,$00,$00,$00       // char 85 'U'
        .byte $00,$00,$00,$00,$ff,$1c,$03,$00       // char 86 'V'
        .byte $00,$00,$00,$00,$ff,$00,$00,$c0       // char 87 'W'

txt_0ac0:
        .byte $20,$20,$20,$20,$e0,$00,$00,$00       // char 88 'X'
        .byte $00,$00,$00,$00,$00,$00,$00,$01       // char 89 'Y'
        .byte $04,$08,$10,$20,$40,$80,$80,$00       // char 90 'Z'
        .byte $04,$04,$04,$08,$08,$10,$10           // char 91 (partial)

txt_0adf:
        .byte $20                                   // char 91 (partial)
        .byte $20,$20,$20,$10,$10,$08,$08,$04       // char 92 '\'
        .byte $20,$10,$08,$04,$02,$01,$01,$00       // char 93 ']'
        .byte $00,$00,$00,$00,$00,$00,$00,$80       // char 94 '^'
        .byte $01,$02,$02,$02,$04,$04,$04,$04       // char 95 '_'
        .byte $00,$00,$00,$00,$00,$00,$00,$ff       // char 96 '`'
        .byte $00,$00,$00,$00,$00,$00,$01,$ff       // char 97 'a'
        .byte $00,$00,$01,$02,$0c,$30,$c0,$ff       // char 98 'b'
        .byte $40,$80,$00,$00,$00,$00,$00,$fe       // char 99 'c'
        .byte $02,$01,$00,$00,$00,$00,$00,$7f       // char 100 'd'
        .byte $00,$00,$80,$40,$30,$0c,$03,$ff       // char 101 'e'
        .byte $00,$00,$00,$00,$00,$00,$80,$ff       // char 102 'f'
        .byte $80                                   // char 103 (partial)

txt_0b39:
        .byte $40,$40,$40,$20,$20,$20,$20           // char 103 (partial)
        .byte $04,$04,$04,$04,$02,$02,$02,$01       // char 104 'h'

txt_0b48:
        .byte $20,$20,$20,$20,$40,$40,$40,$80       // char 105 'i'
        .byte $01,$00,$00,$00,$00,$00,$00,$00       // char 106 'j'
        .byte $00,$80,$80,$40,$20,$10,$08,$04       // char 107 'k'
        .byte $00,$01,$01,$02,$04,$08,$10,$20       // char 108 'l'
        .byte $80,$00,$00,$00,$00,$00,$00,$00       // char 109 'm'
        .byte $03,$00,$00,$00,$00,$01,$01,$01       // char 110 'n'
        .byte $00,$c0,$38,$07,$00,$fc,$86,$fc       // char 111 'o'
        .byte $00,$00,$00,$ff,$00,$ff,$c0,$f0       // char 112 'p'
        .byte $00,$00,$00,$ff,$00,$7f,$61,$61       // char 113 'q'
        .byte $00,$00,$00,$ff,$00,$07,$8c,$87       // char 114 'r'
        .byte $02,$02,$02,$fe,$00,$e7,$06,$e7       // char 115 's'
        .byte $40,$40,$40,$7f,$00,$f9,$03,$83       // char 116 't'
        .byte $00,$00,$00,$ff,$00,$fd,$00,$00       // char 117 'u'
        .byte $00,$00,$00,$ff,$00,$fe,$30,$30       // char 118 'v'
        .byte $00,$00,$00,$ff,$00,$7e,$c3,$c3       // char 119 'w'
        .byte $00,$03,$1c,$e0,$00,$7f,$61,$7f       // char 120 'x'
        .byte $c0,$00,$00,$00,$00,$00,$80,$00       // char 121 'y'
        .byte $01,$01,$00,$00,$00,$00,$00,$00       // char 122 'z'
        .byte $86,$86,$00,$00,$00,$00,$00,$00       // char 123 '{'
        .byte $c0,$ff,$00,$00,$00,$00,$00,$00       // char 124 '|'
        .byte $61,$7f,$00,$00,$00,$00,$00,$00       // char 125 '}'
        .byte $80,$0f,$00,$00,$00,$00,$00,$00       // char 126 '~'
        .byte $36,$e7,$00,$00,$00,$00,$00,$00       // char 127
        .byte $03,$f9,$00,$00,$00,$00,$00,$00       // char 128
        .byte $00,$fc,$00,$00,$00,$00,$00,$00       // char 129
        .byte $30,$30,$00,$00,$00,$00,$00,$00       // char 130
        .byte $c3,$7e,$00,$00,$00,$00,$00,$00       // char 131
        .byte $61,$61,$00,$00,$00,$00,$00,$00       // char 132
        .byte $80,$80,$00,$00,$00,$00,$00,$00       // char 133

txt_0c30:
        .byte $40,$41,$41,$41,$42,$43,$44,$45       // char 134
        .byte $46,$47,$41,$41,$41,$48,$4a,$49       // char 135
        .byte $49,$49,$49,$49,$4b,$4c,$49,$49       // char 136
        .byte $49,$49,$49,$4d,$4e,$4f,$50,$51       // char 137
        .byte $52,$49,$53,$54,$49,$55,$51,$56       // char 138
        .byte $57,$58,$59,$5a,$49,$49,$49,$49       // char 139
        .byte $5b,$5c,$49,$49,$49,$49,$5d,$5e       // char 140
        .byte $5f,$49,$49,$60,$61,$62,$63,$64       // char 141
        .byte $65,$66,$60,$49,$49,$67,$68           // char 142 (partial)

txt_0c77:
        .byte $49                                   // char 142 (partial)
        .byte $49,$49,$49,$49,$53,$54,$49,$49       // char 143
        .byte $49,$49,$49,$69,$6a,$6b               // char 144 (partial)

txt_0c86:
        .byte $49,$49                               // char 144 (partial)
        .byte $49,$49,$53,$54,$49,$49,$49,$49       // char 145
        .byte $6c,$6d,$49,$6e,$6f,$70,$71,$72       // char 146
        .byte $73,$74,$75,$76,$77,$78,$79,$49       // char 147
        .byte $49,$7a,$7b,$7c,$7d,$7e,$7f,$80       // char 148
        .byte $81,$82,$83,$84,$85,$49               // char 149 (partial)

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

// --- Region $1383-$13ad ---
.pc = $1383 "dat_1383"

dat_1383:
        .byte $16,$01,$27,$01,$38,$01,$4b,$01,$5f,$01,$73,$01,$8a,$01,$a1,$01 // ..'.8.K._.s.....
        .byte $ba,$01,$d4,$01,$f0,$01,$0e,$02,$2d,$02,$4e,$02,$71,$02,$96,$02 // ........-.N.q...
        .byte $bd,$02,$e7,$02,$13,$03,$42,$03,$74,$03,$a9 // ......B.t..

// --- Region $13b1-$1426 ---
.pc = $13b1 "Segment $13b1"
        .byte $1b,$04,$5a,$04,$9b,$04,$e2,$04,$2c,$05,$7b,$05,$ce,$05,$27,$06 // ..Z.....,.{...'.
        .byte $85,$06,$e8,$06,$51,$07,$c1,$07,$37,$08,$b4,$08,$37,$09,$c4,$09 // ....Q...7...7...
        .byte $57,$0a,$f5,$0a,$9c,$0b,$4e,$0c,$09,$0d,$d0,$0d,$a3,$0e,$82,$0f // W.....N.........
        .byte $6e,$10,$68,$11,$6e,$12,$88,$13,$af,$14,$eb,$15,$39,$17,$9c,$18 // n.h.n.......9...
        .byte $13,$1a,$a1,$1b,$46,$1d,$04,$1f,$dc,$20,$d0,$22,$dc,$24,$10,$27 // ....F.... .".$.'
        .byte $5e,$29,$d6,$2b,$72                   // ^).+r

txt_1406:
        .text ".81&4B7"
        .byte $8c,$3a,$08,$3e,$b8,$41,$a0,$45,$b8   // .:.>.A.E.

txt_1416:
        .text "I N"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $52,$ac,$57,$e4,$5c,$70,$62,$4c,$68,$84,$6e,$18,$75 // R.W.\pbLh.n.u

// --- Region $142c-$14a4 ---
.pc = $142c "dat_142c"

dat_142c:
        .byte $8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98,$d0,$08 // .p.@.x.X........
        .byte $dd,$30,$ea,$20,$f8,$2e,$fd,$00,$07,$0e,$00,$0a,$10,$10,$05,$0a // .0. ............
        .byte $0b,$00,$00,$04,$0b,$03,$87
        .text "AAA/&"
        .byte $1f,$05,$04,$02
        .byte $ff,$03,$dc,$00,$41,$00,$78,$a7,$00,$d6,$2b,$00,$00,$00,$00,$00 // ....A.x...+.....
        .byte $00,$00,$02,$02,$28,$40,$10,$03,$00,$6e,$c4,$85,$00,$00,$00,$0c // ....(@...n......
        .byte $e0,$52,$60,$0d                       // .R`.

txt_1480:
        .text "AY"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .byte $02,$e0,$00,$80,$08,$81,$09,$0a,$01,$00,$05,$fb,$01,$41,$0c,$cd // .............A..
        .byte $00,$01,$0d,$00,$02,$81,$0b,$0c,$00,$00,$05,$80,$02,$41,$07,$0a // .............A..
        .byte $00,$00                               // ..

// --- Region $14a8-$14af ---
.pc = $14a8 "dat_14a8"

dat_14a8:
        .byte $41,$0c,$af,$00,$78,$0c,$80,$08       // A...x...

// --- Region $14c6-$15cf ---
.pc = $14c6 "dat_14c6"

dat_14c6:
        .byte $00,$09,$11,$0f,$ff,$00,$00,$04,$00,$08,$41,$6c,$70,$01,$00,$02 // ..........Alp...
        .byte $00,$03,$11,$0f,$ff,$02,$00,$04,$00,$08,$41,$0a,$0a,$00,$00,$01 // ..........A.....
        .byte $00,$02,$41,$39,$8f,$02,$04,$08,$00,$08,$41,$09,$8f,$02,$e0,$00 // ..A9......A.....
        .byte $4c,$7d,$d1,$15,$15,$15,$4c,$7d,$d1,$15,$15,$15,$26,$29,$2c,$16 // L}....L}....&),.
        .byte $16,$16,$2f,$32,$37,$16,$16,$16,$3c,$65,$3f,$96,$69,$7a,$93,$c4 // ../27...<e?.iz..
        .byte $d7,$f6,$e5,$40,$8f,$a4,$b0,$ca,$d0,$b9,$f5,$48,$35,$77,$86,$71 // ...@.......H5w.q
        .byte $bd,$10,$0a,$1f,$25,$2b,$e5,$16,$19,$16,$18,$16,$19,$16,$16,$16 // ....%+..........
        .byte $16,$16,$17,$19,$19,$18,$18,$17,$19,$19,$19,$18,$18,$18,$17,$17 // ................
        .byte $1a,$1a,$1a,$1a,$1a,$17,$18,$18,$18,$18,$02,$04,$06,$07,$06,$08 // ................
        .byte $09,$06,$07,$06,$0a,$06,$07,$06,$0b,$10,$10,$14,$15,$14,$16,$17 // ................
        .byte $02,$04,$06,$07,$06,$08,$18,$18,$18,$18,$18,$18,$18,$18,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$ff,$19,$19,$19,$19,$03,$03,$03,$03,$03 // ................
        .fill 22, $03
        .byte $0e,$0f,$03,$0e,$03,$03,$13,$13,$13,$13,$13,$13,$13,$13,$13,$13 // ................
        .byte $13,$13,$13,$13,$03,$0e,$03,$03,$03,$03,$03,$03,$03,$03,$03,$03 // ................
        .byte $03,$03,$03,$03,$19,$19,$19,$19,$19,$19,$19,$19,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00                       // ....

// --- Region $15d4-$194b ---
.pc = $15d4 "dat_15d4"

dat_15d4:
        .byte $1a,$01,$01,$01,$01,$01,$01,$01,$01,$05,$01,$05,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$01,$01,$05,$01,$05,$01,$05,$01,$05,$0c,$0d,$11,$05 // ................
        .byte $0c,$01,$01,$0d,$0d,$12,$0d,$0d,$0d,$12,$0d,$12,$0d,$12,$0d,$0d // ................
        .byte $12,$05,$0c,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$05,$01,$05 // ................
        .byte $01,$1a,$1a,$1a,$1a,$1a,$1a,$1a,$1a,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$ff,$18,$1b,$fe,$19,$1c,$fe,$1d,$1d,$fe,$1e,$1b,$fe,$13,$13 // ................
        .byte $13,$1c,$fe,$0d,$12,$0d,$1d,$fe,$5f,$5f,$ff,$8f,$00,$2f,$0b,$2f // ........__..././
        .byte $03,$2d,$0f,$2f,$0b,$2f,$03,$2d,$0f,$2f,$1f,$32,$47,$03,$30,$03 // .-././.-./.2G.0.
        .byte $32,$1f,$33,$1f,$30,$03,$2f,$03,$30,$1f,$32,$83,$0c,$2f,$03,$2f // 2.3.0./.0.2.././
        .byte $07,$2c,$07,$2c,$ff,$8f,$00,$2f,$0b,$2f,$03,$2d,$0f,$2f,$0b,$2f // .,.,..././.-././
        .byte $03,$2d,$0f,$2f,$1f,$32,$47,$03,$30,$03,$32,$1f,$33,$1f,$37,$1f // .-./.2G.0.2.3.7.
        .byte $32,$47,$83,$0c,$2f,$03,$2f,$07,$2c,$83,$00,$30,$03,$32,$ff,$02 // 2G.././.,..0.2..
        .byte $33,$01,$30,$02,$33,$02,$30,$01,$33,$02,$30,$02,$37,$01,$33,$02 // 3.0.3.0.3.0.7.3.
        .byte $37,$02,$33,$01,$37,$02,$33,$02,$3c,$01,$37,$02,$3c,$02,$37,$01 // 7.3.7.3.<.7.<.7.
        .byte $3c,$02,$37,$02,$3f,$01,$3c,$02,$3f,$02,$3c,$01,$3f,$02,$3c,$ff // <.7.?.<.?.<.?.<.
        .byte $0f,$3c,$0f,$3a,$87,$0c,$2f,$07,$2f,$03,$2c,$03,$2c,$83,$00,$30 // .<.:.././.,.,..0
        .byte $03,$32,$ff,$1f,$3e,$87,$0c,$2f,$07,$2f,$03,$2c,$03,$2c,$07,$2c // .2..>.././.,.,.,
        .byte $ff,$1f,$3e,$87,$0c,$2f,$07,$2f,$03,$2c,$03,$2c,$83,$05,$30,$03 // ..>.././.,.,..0.
        .byte $32,$ff,$8f,$05,$2f,$0b,$2f,$03,$2d,$0f,$2f,$0b,$2f,$03,$2d,$0f // 2..././.-././.-.
        .byte $2f,$1f,$32,$47,$03,$2b,$03,$2d,$1f,$2e,$1f,$31,$1f,$2f,$83,$0c // /.2G.+.-...1./..
        .byte $2f,$07,$2f,$03,$2c,$07,$2c,$07,$2c,$8f,$05,$2f,$0b,$2f,$03,$2d // /./.,.,.,.././.-
        .byte $0f,$2f,$0b,$2f,$03,$2d,$0f,$2f,$1f,$32,$47,$03,$2f,$03,$30,$1f // ././.-./.2G./.0.
        .byte $31,$1f,$34,$1f,$32,$17,$35,$03,$30,$03,$32,$ff,$9f,$06,$3f,$07 // 1.4.2.5.0.2...?.
        .byte $3c,$07                               // <.

txt_1746:
        .text ">!?"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $c0,$3f,$07                           // .?.

txt_174d:
        .text "A7?"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $a7,$3f,$0f,$3e,$07,$3f,$07,$41,$1f,$42,$07,$3f,$07 // .?.>.?.A.B.?.

txt_175e:
        .text "A!B"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $ca,$42,$07                           // .B.

txt_1765:
        .text "D7B"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $ab,$42,$0f,$41,$07,$42,$07           // .B.A.B.

txt_1770:
        .text "D'G"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $b7,$47,$0f,$46,$0f                   // .G.F.

txt_1779:
        .text "D'F"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $d1                                   // .

txt_177e:
        .text "F7D"
        .byte $a7                                   // ''' | $80 (end-of-string marker)
        .byte $ab,$44,$0f,$43,$07,$44,$07,$46,$a7,$d0,$46,$17,$48,$83,$0c,$2f // .D.C.D.F..F.H../
        .byte $07,$2f,$03,$2c,$07,$2c,$87,$06,$48,$a7,$fe,$48,$17,$4b,$83,$0c // ./.,.,..H..H.K..
        .byte $2f,$07,$2f,$03,$2c,$07,$2c,$87,$05,$3f,$0f,$3e,$87,$0c,$2f,$07 // /./.,.,..?.>../.
        .byte $2f,$87,$07,$4f,$07,$43,$87,$0c,$2c,$07,$2c,$8f,$07,$43,$87,$0c // /..O.C..,.,..C..
        .byte $2f,$07,$2f,$87,$07,$4f,$07,$43,$87,$0c,$2c,$07,$2c,$ff,$8f,$08 // /./..O.C..,.,...
        .byte $4a,$0b,$4a,$03,$48,$01,$4a,$01,$4b,$01,$4a,$01,$48,$07,$4d,$0b // J.J.H.J.K.J.H.M.
        .byte $4a,$03,$48,$8f,$08,$4a,$0b,$4a,$03,$48,$01,$4a,$01,$4b,$01,$4a // J.H..J.J.H.J.K.J
        .byte $01,$48,$07,$4d,$07,$4a,$03,$4b,$03,$4d,$0f,$4e,$03,$52,$03,$53 // .H.M.J.K.M.N.R.S
        .byte $07,$52,$01,$50,$01,$52,$01,$50,$01,$4e,$01,$4d,$01,$4e,$01,$4d // .R.P.R.P.N.M.N.M
        .byte $01,$4b,$01,$4d,$01,$4e,$01,$4d,$01,$4b,$01,$4d,$01,$4e,$01,$4d // .K.M.N.M.K.M.N.M
        .byte $01,$4b,$03,$4a,$03,$4b,$17,$4d,$87,$07,$52,$07,$46,$87,$0c,$2f // .K.J.K.M..R.F../
        .byte $07,$2c,$ff,$81,$08,$33,$01,$2a,$01,$2e,$01,$33,$01,$36,$01,$2e // .,...3.*...3.6..
        .byte $01,$33,$01,$36,$01,$3a,$01,$33,$01,$36,$01,$3a,$01,$3f,$01,$36 // .3.6.:.3.6.:.?.6
        .byte $01,$3a,$01,$3f,$01,$42,$01,$3a,$01,$3f,$01,$42,$01,$46,$01,$3f // .:.?.B.:.?.B.F.?
        .byte $01,$42,$01,$46,$01,$4b,$01,$42,$01,$46,$01,$4b,$01,$4e,$01,$46 // .B.F.K.B.F.K.N.F
        .byte $01,$4b,$01,$4e,$ff,$0f,$4b,$0f,$49,$87,$07,$52,$07,$46,$87,$0c // .K.N..K.I..R.F..
        .byte $2f,$07,$2c,$ff,$1f,$4d,$87,$07,$52,$07,$46,$87,$0c,$2f,$83,$0a // /.,..M..R.F../..
        .byte $42,$03,$44,$ff,$8f,$01,$40,$83,$04,$2b,$03,$2b,$03,$26,$03,$2b // B.D...@..+.+.&.+
        .byte $8f,$01,$40,$83,$04,$2b,$03,$2b,$03,$26,$83,$02,$1f,$ff,$8f,$01 // ..@..+.+.&......
        .byte $40,$83,$04,$2c,$03,$2c,$03,$27,$03,$2c,$8f,$01,$40,$83,$04,$2c // @..,.,.'.,..@..,
        .byte $03,$2c,$03,$27,$83,$0c,$2f,$ff,$8f,$01,$40,$83,$04,$2e,$03,$2e // .,.'../...@.....
        .byte $03,$29,$03,$2e,$8f,$01,$40,$83,$04,$2e,$03,$2e,$03,$29,$83,$0c // .)....@......)..
        .byte $2f,$8f,$01,$40,$83,$04,$2f,$03,$2f,$03,$2a,$03,$2f,$8f,$01,$40 // /..@.././.*./..@
        .byte $83,$04,$2f,$03,$2f,$03,$2a,$83,$0c,$2f,$8f,$01,$40,$83,$04,$31 // .././.*../..@..1
        .byte $03,$31,$03,$2c,$03,$31,$8f,$01,$40,$83,$04,$31,$03,$31,$03,$2c // .1.,.1..@..1.1.,
        .byte $83,$0c,$2f,$8f,$01,$40,$83,$04,$34,$03,$34,$03,$2f,$03,$34,$8f // ../..@..4.4./.4.
        .byte $01,$40,$83,$04,$34,$03,$34,$03,$2f,$83,$0c,$2f,$8f,$01,$40,$83 // .@..4.4./../..@.
        .byte $04,$33,$03,$33,$03,$2e,$03,$33,$8f,$01,$40,$83,$04,$33,$03,$33 // .3.3...3..@..3.3
        .byte $03,$2e,$83,$0c,$2f,$ff,$87,$07,$3a,$07 // ..../...:.

// --- Region $1950-$1a30 ---
.pc = $1950 "dat_1950"

dat_1950:
        .byte $03,$46,$03,$3a,$03,$2e,$87,$07,$3a,$07,$2e,$83,$09,$2e,$03,$3a // .F.:....:......:
        .byte $03,$46,$03,$52,$ff,$87,$02,$13,$07,$13,$87,$03,$30,$87,$02,$1f // .F.R........0...
        .byte $07,$1f,$07,$13,$87,$03,$30,$07,$2c,$ff,$87,$02,$18,$07,$18,$87 // ......0.,.......
        .byte $03,$30,$87,$02,$24,$07,$24,$07,$18,$87,$03,$30,$07,$2c,$ff,$87 // .0..$.$....0.,..
        .byte $02,$14,$07,$14,$87,$03,$30,$87,$02,$20,$07,$20,$07,$14,$87,$03 // ......0.. . ....
        .byte $30,$07,$2c,$ff,$87,$02,$16,$07,$16,$87,$03,$30,$87,$02,$22,$07 // 0.,........0..".
        .byte $22,$07,$16,$87,$03,$30,$07,$2c,$ff,$87,$02,$17,$07,$17,$87,$03 // "....0.,........
        .byte $30,$87,$02,$23,$07,$23,$07,$17,$87,$03,$30,$07,$2c,$87,$02,$19 // 0..#.#....0.,...
        .byte $07,$19,$87,$03,$30,$87,$02,$25,$07,$25,$07,$19,$87,$03,$30,$07 // ....0..%.%....0.
        .byte $2c,$87,$02,$1c,$07,$1c,$87,$03,$30,$87,$02,$28,$07,$28,$07,$1c // ,.......0..(.(..
        .byte $87,$03,$30,$07,$2c,$87,$02,$1b,$07,$1b,$87,$03,$30,$87,$02,$27 // ..0.,.......0..'
        .byte $07,$27,$07,$1b,$87,$03,$30,$07,$2c,$ff,$bf,$02,$13,$1f,$13,$ff // .'....0.,.......
        .byte $8f,$01,$40,$8f,$03,$30,$8f,$01,$40,$87,$03,$30,$07,$2c,$ff,$bf // ..@..0..@..0.,..
        .byte $07,$43,$1f,$43,$ff,$bf,$03,$30,$1f,$30,$ff,$bf,$02,$16,$1f,$16 // .C.C...0.0......
        .byte $ff                                   // .

// --- Region $1a6d-$1a74 ---
.pc = $1a6d "Segment $1a6d"
        .byte $24,$9d,$01,$08,$e8,$d0,$f7,$ee       // $.......

// --- Region $1d6b-$1e0f ---
.pc = $1d6b "dat_1d6b"

dat_1d6b:
        .byte $a0,$07,$98,$85,$02,$0a,$0a,$0a,$85,$04,$ad,$12,$d0,$4d,$05,$dc // .............M..
        .byte $6d,$04,$dc,$29,$07,$65,$04,$aa,$bd,$c0,$02,$d0,$f3,$a9,$c0,$9d // m..).e..........
        .byte $c0,$02,$c6,$02,$10,$e4,$88,$10,$d9,$a2,$07,$a0,$15,$1e,$c0,$02 // ................
        .byte $6a,$1e,$c8,$02,$6a,$1e,$d0,$02,$6a,$1e,$d8,$02,$6a,$1e,$e0,$02 // j...j...j...j...
        .byte $6a,$1e,$e8,$02,$6a,$1e,$f0,$02,$6a,$1e,$f8,$02,$6a,$99,$40,$03 // j...j...j...j.@.
        .byte $6a,$26,$04,$6a,$26,$04,$6a,$26,$04,$6a,$26,$04,$6a,$26,$04,$6a // j&.j&.j&.j&.j&.j
        .byte $26,$04,$6a,$26,$04,$6a,$26,$04,$a5,$04,$99,$82,$03,$88,$88,$88 // &.j&.j&.........
        .byte $ca,$10,$ba,$a0,$15,$be,$40,$03,$bd,$00,$0f,$99,$59,$03,$8a // ......@.....Y..

txt_1dea:
        .text "JJJJ"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $bd,$00,$0f,$99,$58,$03,$be,$82,$03,$bd,$00,$0f,$99,$9a,$03,$8a // ....X...........

txt_1dff:
        .text "JJJJ"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $bd,$00,$0f,$99,$99,$03,$88,$88,$88,$10,$d1,$60 // ...........`

// --- Region $20a8-$242b ---
.pc = $20a8 "dat_20a8"

dat_20a8:
        .byte $02,$08,$0c,$0a,$0f,$03,$07,$0d,$01,$02,$08,$08,$08,$04,$04,$0a // ................
        .byte $0c,$0e,$05,$0a,$0f,$03,$07,$0d,$01,$00,$06,$09,$0b,$02,$08,$04 // ................
        .byte $0c,$0e,$05,$0a,$0f,$03,$07,$0d,$01,$00,$01,$01,$01,$00,$01,$01 // ................
        .fill 9, $01

txt_20e1:
        .text " - GET THE MESSAGE / RED SECTOR RULES -  WORKING STONE!    PAL/NTSC+2   CRACKED 31/07/93       BY             HOK!                      ORIGINAL SUPPLY        BY          COUNT ZERO                   INTRO PRODUCTION       BY       MISTER PRESIDENT                   INTRO S/FX          BY         ROBB HUBBARD                  HAILS TO THESE NOBLE PIRATES.. *EMPIRE* , ARMAGEDDON , CODERZ , RAD , TSM , NEI , DEMONIX , ILLUSION , SUCCESS , TALENT , CHROMANCE , ALPHA FLIGHT , TRC , GENESIS PROJECT , F4CG , LEGEND , FAIRLIGHT ,.....                   "
        .byte $00                                   // string terminator

txt_230a:
        .text "THE SAGA CONTINUES!   THE RED HOT RSI RULERZ PAY BACK WITH A LITTLE PUZZLE BUDGET CALLED *WORKING STONE*  WHICH WAS CRACKED AND TRAINED BY +HOK+ AND PAL/NTSC FIXED BY THE ALMIGHTY -MISTER PRESIDENT-!  CALL *FORPLAY* 314-481-4821...  SEE YOU IN THE NEXT MAJOR RELEASE!...                  "
        .byte $00                                   // string terminator
        .byte $1f                                   // .
