// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:56
// 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:  $1680 (5760)
// IRQ handler:  $1820 (irq_1820)
// IRQ handler:  $1859 (nmi_1859)
//
// Code: 3053 bytes, Data: 60435 bytes
// Labels: 246, Subroutines: 14
//
// Verification: 2 line(s) auto-corrected to .byte for exact byte matching
//
// Cross-references: all OK
// ============================================


// --- Region $0f03-$0f03 ---
.pc = $0f03 "sub_0f03"
// Referenced by: jsr from $20c4

sub_0f03:
        brk

// --- Region $0f14-$0f14 ---
.pc = $0f14 "sub_0f14"
// Referenced by: jsr from $20c1

sub_0f14:
        brk

// --- Region $10fd-$10fd ---
.pc = $10fd "Segment $10fd"
        brk

// --- Region $120f-$120f ---
.pc = $120f "sub_120f"
// Referenced by: jsr from $20ca

sub_120f:
        brk

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

// --- Region $1513-$1513 ---
.pc = $1513 "sub_1513"
// Referenced by: jsr from $20d3

sub_1513:
        brk

// --- Region $1680-$1809 ---
.pc = $1680 "main_1680"

main_1680:
        lda #$0b
        sta $d022
        lda #$05
        sta $d023
        lda #$13
        sta $d018
        jsr sub_16ce
        sei
        lda #$35
        sta $01
        lda #$20
        sta $21
        lda #$00
        sta $20
        jsr $f30d
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        lda #$1b
        sta $d011
        lda #$cd
        sta $d012
        lda #$20
        sta $fffe
        lda #$18
        sta $ffff
        lda #$59
        sta $fffa
        lda #$18
        sta $fffb
        cli

loc_16cb:
        jmp loc_16cb
// Referenced by: jsr from $168f

sub_16ce:
        lda #$0b
        sta $0286
        sta $d021
        jsr $e544
        lda #$00
        sta $d020
        sta $d021
        lda #$ff
        sta $d015
        clc
        ldx #$00
        lda #$60

loc_16eb:
        sta $d000,x
        adc #$18
        inx
        inx
        cpx #$10
        bne loc_16eb
        lda #$80
        sta $d010
        ldx #$00
        ldy #$00

loc_16ff:
        lda #$bb
        sta $d001,x
        lda #$00
        sta $d027,y
        inx
        inx
        iny
        cpy #$08
        bne loc_16ff
        lda #$38
        ldx #$00
        clc

loc_1715:
        sta $07f8,x
        adc #$01
        inx
        cpx #$08
        bne loc_1715
        lda #$0c
        sta $03
        lda #$00
        sta $02
        tay

loc_1728:
        lda #$80
        sta ($02),y
        jsr sub_1812
        lda #$40
        sta ($02),y
        jsr sub_1812
        lda #$20
        sta ($02),y
        jsr sub_1812
        lda #$10
        sta ($02),y
        jsr sub_1812
        lda #$08
        sta ($02),y
        jsr sub_1812
        lda #$04
        sta ($02),y
        jsr sub_1812
        lda #$02
        sta ($02),y
        jsr sub_1812
        lda #$01
        sta ($02),y
        jsr sub_1812
        iny
        cpy #$08
        bne loc_1728
        ldx #$00

loc_1767:
        lda $1e42,x
        sta chr_0800,x
        inx
        cpx #$08
        bne loc_1767
        sei
        lda #$32
        sta $01
        lda #$00
        sta $02

loc_177b:
        ldx #$00
        ldy #$00

loc_177f:
.label smc_1780 = * + 1
.label smc_1781 = * + 2
        lda $d008,x                                 // !SMC: modified by $179e, $17a6
.label smc_1783 = * + 1
.label smc_1784 = * + 2
        sta $0808,y                                 // !SMC: modified by $17af, $17b7
.label smc_1786 = * + 1
.label smc_1787 = * + 2
        sta $0809,y                                 // !SMC: modified by $17c0, $17c8
.label smc_1789 = * + 1
.label smc_178a = * + 2
        lda $d00c,x                                 // !SMC: modified by $17d1, $17d9
.label smc_178c = * + 1
.label smc_178d = * + 2
        sta $0a08,y                                 // !SMC: modified by $17e2, $17ea
.label smc_178f = * + 1
.label smc_1790 = * + 2
        sta $0a09,y                                 // !SMC: modified by $17f3, $17fb
        inx
        iny
        iny
        cpx #$04
        bne loc_177f
        lda smc_1780
        clc
        adc #$08
        sta smc_1780                                // SMC: modifies $1780
        lda smc_1781
        adc #$00
        sta smc_1781                                // SMC: modifies $1781
        lda smc_1783
        clc
        adc #$08
        sta smc_1783                                // SMC: modifies $1783
        lda smc_1784
        adc #$00
        sta smc_1784                                // SMC: modifies $1784
        lda smc_1786
        clc
        adc #$08
        sta smc_1786                                // SMC: modifies $1786
        lda smc_1787
        adc #$00
        sta smc_1787                                // SMC: modifies $1787
        lda smc_1789
        clc
        adc #$08
        sta smc_1789                                // SMC: modifies $1789
        lda smc_178a
        adc #$00
        sta smc_178a                                // SMC: modifies $178a
        lda smc_178c
        clc
        adc #$08
        sta smc_178c                                // SMC: modifies $178c
        lda smc_178d
        adc #$00
        sta smc_178d                                // SMC: modifies $178d
        lda smc_178f
        clc
        adc #$08
        sta smc_178f                                // SMC: modifies $178f
        lda smc_1790
        adc #$00
        sta smc_1790                                // SMC: modifies $1790
        inc $02
        lda $02
        cmp #$3f
        beq dat_1809
        jmp loc_177b

dat_1809:
        .byte $20                                   //  

// --- Region $1812-$1a4f ---
.pc = $1812 "sub_1812"
// Referenced by: jsr from $172c, $1733, $173a, $1741, $1748, $174f, $1756, $175d

sub_1812:
        lda $02
        clc
        adc #$08
        sta $02                                     // !SMC: modified by $17dd
        lda $03
        adc #$00
        sta $03
        rts

irq_1820:
        lda $d011
        clc
        ora #$1f
        sta $d011
        lda #$08
        sta $d016
.label smc_182f = * + 1
        lda #$07                                    // !SMC: modified by $1f5c, $1f6a
        sta $d016
        jsr sub_1c7d
        lda dat_185d
        ora #$18
        sta $d011
        lda #$18
        sta $d016
        jsr sub_185f
        jsr $f417
        jsr sub_1ee6
        jsr sub_1f56
        lda $dc01
        cmp #$ef
        beq loc_185a
        ror $d019

nmi_1859:
        rti

loc_185a:
        jmp loc_1f9a

dat_185d:
        .byte $00,$00                               // ..
// Referenced by: jsr from $1843

sub_185f:
        ldx #$00
        ldy #$00

loc_1863:
        lda $1a5b,x
        sta $a0
        lda $1a5c,x
        sta $a1
        lda ($a0),y
        cmp #$80
        bcc loc_1877
        lda #$20
        sta ($a0),y

loc_1877:
        lda $a1
        clc
        adc #$d4
        sta $a1
        lda #$0b
        sta ($a0),y
        inx
        inx
        cpx #$28
        bne loc_1863
        lda #$00
        sta $90
        sta $91
        ldx $1a52
        lda txt_1b0f,x
        clc
        adc #$08
        sec
        sbc dat_185d
        sta $e8
        sta $e9
        lda dat_185d
        lsr
        clc
        adc dat_185d
        sta $02
        ldx $1a52
        lda txt_1b0f,x
        clc
        adc #$0c
        sec
        sbc $02
        sta $ea
        sta $eb
        lda $02
        lsr
        clc
        adc $02
        adc $02
        sta $02
        ldx $1a52
        lda txt_1b0f,x
        clc
        adc #$1e
        sec
        sbc $02
        sta $ec
        sta $ed
        lda $02
        lsr
        clc
        adc $02
        adc $02
        sta $02
        ldx $1a52
        lda txt_1b0f,x
        clc
        adc #$2a
        sec
        sbc $02
        sta $ee
        sta $ef
        lsr $ea
        lsr $ec
        lsr $ec
        lsr $ee
        lsr $ee
        lsr $ee
        lda $e8
        and #$07
        tax
        lda $1a53,x
        sta $e0
        sta $e1
        lsr $e8
        lsr $e8
        lsr $e8
        lda $e8
        sta $e9
        lda $ea
        and #$07
        tax
        lda $1a53,x
        sta $e2
        sta $e3
        lsr $ea
        lsr $ea
        lsr $ea
        lda $ea
        sta $eb
        lda $ec
        and #$07
        tax
        lda $1a53,x
        sta $e4
        sta $e5
        lsr $ec
        lsr $ec
        lsr $ec
        lda $ec
        sta $ed
        lda $ee
        and #$07
        tax
        lda $1a53,x
        sta $e6
        sta $e7
        lsr $ee
        lsr $ee
        lsr $ee
        lda $ee
        sta $ef
        inc $1a52
        lda $1a52
        and #$7f
        sta $1a52
        jmp loc_1967

dat_195f:
        .byte $07,$06,$05,$04,$03,$02,$01,$00       // ........

loc_1967:
        ldx $90
        lda $1aae,x
        tax
        lda dat_195f,x
        sta smc_197c                                // SMC: modifies $197c
        sta smc_19bf                                // SMC: modifies $19bf
        ldx $90
        lda $1aab,x
.label smc_197c = * + 1
        ldx #$00                                    // !SMC: modified by $1970
        clc
        adc $e8,x
        tax
        lda $1c0f,x
        sta $02
        lda $1c42,x
        sta $03
        ldx $90
        lda $02
        clc
        adc dat_1aac,x
        sta $02
        bcc loc_1999
        inc $03

loc_1999:
        lda $02
        sta $92
        sta $04
        lda $03
        sta $93
        clc
        adc #$d4
        sta $05
        ldy #$00
        lda ($02),y
        cmp #$20
        beq loc_19b8
        cmp #$80
        bmi loc_19cb
        cmp #$c0
        bpl loc_19cb

loc_19b8:
        ldx $90
        lda $1aad,x
        clc
.label smc_19bf = * + 1
        ldx #$00                                    // !SMC: modified by $1973
        adc $e0,x
        sta ($02),y
        ldx $90
        lda $1aaf,x
        sta ($04),y

loc_19cb:
        lda ($02),y
        cmp #$80
        bmi loc_1a11
        cmp #$c0
        bpl loc_1a11
        lda #$01
        sta dat_1a4f
        ldx $91
        lda $92
        sta $1a5b,x
        lda $93
        sta $1a5c,x
        tya
        pha
        ldy #$00
        lda ($04),y
        sta $1a84,x
        pla
        tay
        lda $1aab,x
        tax
        lda $1c42,x
        sta $03
        lda $1c0f,x
        sta $02
        lda ($02),y
        cmp #$20
        beq loc_1a0d
        cmp #$80
        bmi loc_1a11
        cmp #$c0
        bpl loc_1a11

loc_1a0d:
        lda #$20
        sta ($02),y

loc_1a11:
        ldx $90
        lda $1aad,x
        sec
        sbc $1aae,x
        sta $1aad,x
        bcs loc_1a3c
        lda $1aad,x
        clc
        adc #$08
        sta $1aad,x
        lda #$01
        sta dat_1a4f
        dec dat_1aac,x
        lda dat_1aac,x
        cmp #$ff
        bne loc_1a3c
        lda #$27
        sta dat_1aac,x

loc_1a3c:
        inc $91
        inc $91
        lda $90
        clc
        adc #$05
        sta $90
        cmp #$64
        beq loc_1a4e
        jmp loc_1967

loc_1a4e:
        rts

dat_1a4f:
        .byte $00                                   // .

// --- Region $1c10-$1c17 ---
.pc = $1c10 "loc_1c10"

loc_1c10:
        plp
        bvc loc_1c8b
        ldy #$c8
        beq $1c2f
        rti

// --- Region $1c20-$1c2a ---
.pc = $1c20 "loc_1c20"

loc_1c20:
        tay
        bne loc_1c23

loc_1c23:
        plp
        bvc loc_1c9e
        ldy #$c8
        beq $1c42
        rti

// --- Region $1c33-$1c3d ---
.pc = $1c33 "loc_1c33"

loc_1c33:
        tay
        bne loc_1c36

loc_1c36:
        plp
        bvc loc_1cb1
        ldy #$c8
        beq $1c55
        rti

// --- Region $1c7d-$1d51 ---
.pc = $1c7d "sub_1c7d"
// Referenced by: jsr from $1833

sub_1c7d:
        ldx $1c7c
        lda txt_1b0f,x
        clc
        adc #$0c
        sta $02
        and #$07
.label loc_1c8b = * + 1
        sta dat_185d
        lsr $02
        lsr $02
        lsr $02
        ldx $02
        lda $1c0f,x
        sta smc_1cfa                                // SMC: modifies $1cfa
        lda loc_1c10,x

loc_1c9e:
        sta smc_1d00                                // SMC: modifies $1d00
        lda $1c11,x
        sta smc_1d06                                // SMC: modifies $1d06
        lda $1c12,x
        sta smc_1d0c                                // SMC: modifies $1d0c
        lda $1c13,x
.label loc_1cb1 = * + 1
        sta smc_1d12                                // SMC: modifies $1d12
        lda $1c14,x
        sta smc_1d18                                // SMC: modifies $1d18
        lda $1c15,x
        sta smc_1d1e                                // SMC: modifies $1d1e
        lda $1c16,x
        sta smc_1d23                                // SMC: modifies $1d23
        lda $1c42,x
        sta smc_1cfb                                // SMC: modifies $1cfb
        lda $1c43,x
        sta smc_1d01                                // SMC: modifies $1d01
        lda $1c44,x
        sta smc_1d07                                // SMC: modifies $1d07
        lda $1c45,x
        sta smc_1d0d                                // SMC: modifies $1d0d
        lda $1c46,x
        sta smc_1d13                                // SMC: modifies $1d13
        lda $1c47,x
        sta smc_1d19                                // SMC: modifies $1d19
        lda $1c48,x
        sta smc_1d1f                                // SMC: modifies $1d1f
        lda $1c49,x
        sta smc_1d24                                // SMC: modifies $1d24
        ldy #$00

loc_1cf7:
        lda #$20
.label smc_1cfa = * + 1
.label smc_1cfb = * + 2
        sta $0400,y                                 // !SMC: modified by $1c98, $1cc8
        lda $1d52,y
.label smc_1d00 = * + 1
.label smc_1d01 = * + 2
        sta $0428,y                                 // !SMC: modified by $1c9e, $1cce
        lda $1d7a,y
.label smc_1d06 = * + 1
.label smc_1d07 = * + 2
        sta $0450,y                                 // !SMC: modified by $1ca4, $1cd4
        lda $1da2,y
.label smc_1d0c = * + 1
.label smc_1d0d = * + 2
        sta $0478,y                                 // !SMC: modified by $1caa, $1cda
        lda $1dca,y
.label smc_1d12 = * + 1
.label smc_1d13 = * + 2
        sta $04a0,y                                 // !SMC: modified by $1cb0, $1ce0
        lda $1df2,y
.label smc_1d18 = * + 1
.label smc_1d19 = * + 2
        sta $04c8,y                                 // !SMC: modified by $1cb6, $1ce6
        lda $1e1a,y
.label smc_1d1e = * + 1
.label smc_1d1f = * + 2
        sta $04f0,y                                 // !SMC: modified by $1cbc, $1cec
        lda #$20
.label smc_1d23 = * + 1
.label smc_1d24 = * + 2
        sta $0518,y                                 // !SMC: modified by $1cc2, $1cf2
        iny
        cpy #$28
        bne loc_1cf7
        lda $1c7c
        clc
        adc #$01
        cmp #$80
        bne loc_1d4d
        ldx dat_1d51
        lda #$05
        sta $1ee2,x
        inc dat_1d51
        lda dat_1d51
        cmp #$03
        bne loc_1d4b
        lda #$00
        sta dat_1d51

loc_1d4b:
        lda #$40

loc_1d4d:
        sta $1c7c
        rts

dat_1d51:
        .byte $00                                   // .

// --- Region $1ee6-$1ff6 ---
.pc = $1ee6 "sub_1ee6"
// Referenced by: jsr from $1849

sub_1ee6:
        dec $1ee5
        beq loc_1eec
        rts

loc_1eec:
        lda #$03
        sta $1ee5
        jsr sub_1efa
        jsr sub_1f12
        jmp loc_1f2d
// Referenced by: jsr from $1ef1

sub_1efa:
        ldx $1ee2
        cpx #$00
        bne loc_1f02
        rts

loc_1f02:
        lda $1edc,x
        sta $d027
        sta $d028
        jsr sub_1f48
        dec $1ee2
        rts
// Referenced by: jsr from $1ef4

sub_1f12:
        ldx $1ee3
        cpx #$00
        bne loc_1f1a
        rts

loc_1f1a:
        lda $1edc,x
        sta $d02a
        sta $d02b
        sta $d029
        jsr sub_1f48
        dec $1ee3
        rts

loc_1f2d:
        ldx $1ee4
        cpx #$00
        bne loc_1f35
        rts

loc_1f35:
        lda $1edc,x
        sta $d02c
        sta $d02d
        sta $d02e
        jsr sub_1f48
        dec $1ee4
        rts

// Referenced by: jsr from $1f0b, $1f26, $1f41
sub_1f48: {
        ldx #$00
loop:
        sta $db48,x
        sta $db70,x
        inx
        cpx #$28
        bne loop
        rts
}
// Referenced by: jsr from $184c

sub_1f56:
        lda smc_182f
        sec
        sbc #$03
        sta smc_182f                                // SMC: modifies $182f
        cmp #$00
        bmi loc_1f64
        rts

loc_1f64:
        lda smc_182f
        clc
        adc #$08
        sta smc_182f                                // SMC: modifies $182f
        ldx #$00

loc_1f6f:
        lda $0749,x
        sta $0748,x
        inx
        cpx #$50
        bne loc_1f6f
        ldy #$00

loc_1f7c:
        lda ($20),y
        bne loc_1f8a
        lda #$00
        sta $20
        lda #$20
        sta $21
        bne loc_1f7c

loc_1f8a:
        sta $076f
        clc
        adc #$40
        sta $0797
        inc $20
        bne loc_1f99

dat_1f97:
        .byte $e6,$21                               // .!

loc_1f99:
        rts

loc_1f9a:
        sei
        lda #$37
        sta $01
        jsr $ff5b
        ldx #$00

loc_1fa4:
        lda loc_1fb2,x
        sta $0340,x
        inx
        cpx #$50
        bne loc_1fa4
        jmp $0340

loc_1fb2:
        sei
        ldx #$00
        ldy #$00
        stx $02
        inx
        stx $04
        lda #$22
        sta $03
        lda #$08
        sta $05
        lda #$00
        sta $d418
        sei
        lda #$34
        sta $01

loc_1fce:
        lda ($02),y
        sta ($04),y
        iny
        bne loc_1fce
        inc $03
        inc $05
        lda $03
        cmp #$ee
        bne loc_1fce
        lda #$37
        sta $01
        cli
        lda #$00
        sta $d020
        sta $d021
        sta $0286
        jsr $e544
        jmp loc_fce2

dat_1ff5:
        .byte $00,$00                               // ..

// --- Region $20a9-$20dc ---
.pc = $20a9 "Segment $20a9"
        .byte $0b,$20                               // anc #$20 // ILLEGAL
        .byte $13,$09                               // slo ($09),y // ILLEGAL
        asl $0503
        jsr sub_3931
        and $2036,y
        ora ($0e,x)
        .byte $04,$20                               // nop $20 // ILLEGAL
        ora sub_120f
        ora $20
        ora #$13
        jsr sub_0f14
        jsr sub_0f03
        ora $2e05
        jsr sub_120f
        ora #$07
        ora #$0e
        ora ($0c,x)
        jsr sub_1513
        bpl loc_20e8
        .byte $0c,$19,$20                           // nop $2019 // ILLEGAL
        .byte $02                                   // jam // ILLEGAL

txt_20dc:
        .encoding "screencode_mixed"
        .text "y"
        .encoding "petscii_upper"

// --- Region $20e8-$20e8 ---
.pc = $20e8 "loc_20e8"

loc_20e8:
        .byte $12                                   // jam // ILLEGAL

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

// --- Region $3931-$3931 ---
.pc = $3931 "sub_3931"
// Referenced by: jsr from $20b0

sub_3931:
        brk

// --- Region $40bd-$40bd ---
.pc = $40bd "Segment $40bd"
        brk

// --- Region $7c9d-$7c9d ---
.pc = $7c9d "Segment $7c9d"
        brk

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

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

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

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

// --- Region $f30d-$f39c ---
.pc = $f30d "Segment $f30d"
        sta $f301
        lda $fbfb
        sta $f98f
        sta $f996
        sta $f99d
        lda $fc0b
        sta $f990
        sta $f997
        sta $f99e
        lda #$00
        sta $f955
        sta $f95c
        sta $f963
        ldy #$17

loc_f335:
        sta $d400,y
        dey
        bpl loc_f335
        sty $f910
        sty $f926
        sty $f92d
        sty $f934
        sty dat_f300
        sty $f92b
        sty $f932
        sty $f939
        sta $f913
        sta $f91a
        sta $f921
        sta $f914
        sta $f91b
        sta $f922
        sta $f915
        sta $f91c
        sta $f923
        sta $f97e
        sta $f985
        sta $f98c
        sta $f980
        sta $f987
        sta $f98e
        sta $fbfa
        lda #$00
        sta $f90f
        lda #$5f
        sta $f911
        sta $f918
        sta $f91f
        lda #$1f
        sta $d418
        sta dat_f90e
        rts

dat_f39c:
        .byte $8d                                   // .

// --- Region $f3cc-$f90d ---
.pc = $f3cc "loc_f3cc"

loc_f3cc:
        sbc $0bad,y
.label loc_f3d1 = * + 2
        .byte $fc,$8d,$90                           // nop $908d,x // ILLEGAL
        sbc.abs $00a9,y
        sta $f955
        ldy #$0d

loc_f3da:
        sta $d400,y
        dey
        bpl loc_f3da
        sta $d417
        sta $d416
        sta $d415
        sty $f926
        sty dat_f300
        sty $f92b
        sta $f913
        sta $f914
        sta $f915
        sta $f97e
        sta $f980
        sta $fbfa
        lda #$00
        sta $f90f
        lda #$5f
        sta $f911
        lda #$1f
        sta $d418
        sta dat_f90e
        rts
        lda $f955
        bpl loc_f42d
        lda $f95c
        bpl loc_f42d
        lda $f963
        bpl loc_f42d
        lda #$00
        sta dat_f300
        beq loc_f43e

loc_f42d:
        ldx #$00

loc_f42f:
        lda $f98f,x
        sta $46
        lda $f990,x
        sta $47
        lda dat_f300
        bmi loc_f453

loc_f43e:
        sta $d405
        sta $d406
        sta $d40c
        sta $d40d
        sta $d413
        sta $d414
        jmp loc_f90d

loc_f453:
        ldy #$06
        lda ($46),y
        and #$10
        beq loc_f481
        lda $f928,x
        beq loc_f474
        dec $f928,x
        lda #$f0
        sta $d401,x
        lda #$00
        sta $f980,x
        lda #$81
        sta $d404,x
        bne loc_f481

loc_f474:
        lda $f929,x
        sta $d401,x
        ldy #$01
        lda ($46),y
        sta $d404,x

loc_f481:
        dec $f914,x
        beq loc_f48b
        bmi loc_f49b

loc_f488:
        jmp loc_f718

loc_f48b:
        lda $f97e,x
        beq loc_f488
        lda #$00
        sta $d405,x
        sta $d406,x
        jmp loc_f718

loc_f49b:
        lda $f955,x
        bpl loc_f4a3
        jmp loc_f8f6

loc_f4a3:
        lda $f910
        bmi loc_f4b1
        cpx #$0e
        bne loc_f4b1
        ldy $f302
        bpl loc_f4db

loc_f4b1:
        ldy $f301
        cpx #$07
        beq loc_f4ce
        cpx #$0e
        bne loc_f4c1
        lda $f910
        bmi loc_f4db

loc_f4c1:
        lda $fcc2,y
        sta $40
        lda dat_fce9,y
        sta $41
        jmp loc_f4e5

loc_f4ce:
        lda $fccf,y
        sta $40
        lda $fcf6,y
        sta $41
        jmp loc_f4e5

loc_f4db:
        lda $fcdc,y
        sta $40
        lda $fd03,y
        sta $41

loc_f4e5:
        ldy $f913,x

loc_f4e8:
        lda ($40),y
        cmp #$60
        bcc loc_f4f7
        sta $f911,x
        inc $f913,x
        iny
        bne loc_f4e8

loc_f4f7:
        tay
        lda $fc84,y
        sta $42
        lda $fca3,y
        sta $43
        lda #$ff
        sta $fbf8
        lda #$00
        sta $f93b,x
        ldy $f915,x
        lda ($42),y
        bne loc_f516
        jmp loc_f635

loc_f516:
        cmp #$fb
        bcc loc_f541
        cmp #$fb
        bne loc_f53d
        lda #$01

loc_f520:
        sta $f93b,x
        iny
        inc $f915,x
        lda ($42),y
        sta $f93d,x
        lda #$00
        sta $f917,x
        sta $f916,x
        inc $f915,x
        iny
        lda ($42),y
        jmp loc_f541

loc_f53d:
        lda #$02
        bne loc_f520

loc_f541:
        cmp #$f7
        bcc loc_f550
        lda #$ff
        sta $f97e,x
        inc $f915,x
        iny
        lda ($42),y

loc_f550:
        cmp #$f6
        bcc loc_f55f
        lda #$00
        sta $f97e,x
        inc $f915,x
        iny
        lda ($42),y

loc_f55f:
        cmp #$71
        bcc loc_f56e
        sbc #$70
        sta $f951,x
        inc $f915,x
        iny
        lda ($42),y

loc_f56e:
        cmp #$70
        bcc loc_f5ba
        iny
        inc $f915,x
        lda ($42),y
        sta $f956,x
        tay
        lda $fbfb,y
        sta $46
        sta $f98f,x
        lda $fc0b,y
        sta $47
        sta $f990,x
        ldy #$00
        lda ($46),y
        pha
        and #$0f
        sta $f93e,x
        sta $f93f,x
        pla
        and #$f0
        sta $f940,x
        sta $f941,x
        lda #$ff
        sta $f92b,x
        lda #$00
        sta $f950,x
        sta $f916,x
        sta $f917,x
        inc $f915,x
        ldy $f915,x
        lda ($42),y

loc_f5ba:
        cmp #$6c
        bcc loc_f5df
        iny
        inc $f915,x
        lda ($42),y
        sec
        sbc #$40
        sta $f966,x
        lda #$00
        sta $f967,x
        lda #$01
        sta $f917,x
        lda #$00
        sta $f916,x
        inc $f915,x
        iny
        lda ($42),y

loc_f5df:
        cmp #$6b
        bne loc_f608
        iny
        inc $f915,x
        lda ($42),y
        sta $f96b,x
        iny
        inc $f915,x
        lda ($42),y
        sta $f97b,x
        sta $f97a,x
        lda #$00
        sta $f96a,x
        lda #$01
        sta $f916,x
        inc $f915,x
        iny
        lda ($42),y

loc_f608:
        cmp #$69
        bne loc_f622
        lda #$00
        lda $f951,x
        sta $f914,x
        lda $f97b,x
        sta $f97a,x
        lda #$00
        sta $f96a,x
        jmp loc_f6cc

loc_f622:
        cmp #$00
        beq loc_f635
        pha
        lda #$00
        lda $f97b,x
        sta $f97a,x
        lda #$00
        sta $f96a,x
        pla

loc_f635:
        sta $f952,x
        lda $f951,x
        sta $f914,x
        lda #$01
        sta $f927,x
        sta $f928,x
        lsr
        sta $f953,x
        lda $f952,x
        beq loc_f668
        ldy #$06
        lda ($46),y
        and #$02
        beq loc_f663
        lda $f941,x
        sta $f940,x
        lda $f93f,x
        sta $f93e,x

loc_f663:
        lda $f952,x
        bne loc_f67e

loc_f668:
        lda $f954,x
        sta $f952,x
        lda #$00
        sta $f954,x
        ldy $f926,x
        dec $fbf8
        beq loc_f67e
        jmp loc_f6c2

loc_f67e:
        sta $f954,x
        tay
        lda $fa04,y
        sta $d401,x
        sta $f929,x
        lda $f9a4,y
        sta $d400,x
        sta $f92a,x
        lda #$00
        sta $f980,x
        ldy #$01
        lda ($46),y
        and #$fe
        sta $d404,x
        ldy #$02
        lda ($46),y
        sta $d405,x
        ldy #$03
        lda ($46),y
        sta $d406,x
        lda $f940,x
        sta $d402,x
        lda $f93e,x
        sta $d403,x
        lda $f950,x
        sta $f969,x

loc_f6c2:
        ldy #$01
        lda ($46),y
        and $fbf8
        sta $d404,x

loc_f6cc:
        inc $f915,x
        ldy $f915,x
        lda ($42),y
        cmp #$ff
        bne loc_f70d
        lda #$00
        sta $f915,x
        lda $f911,x
        cmp #$5f
        beq loc_f6e9
        dec $f911,x
        bne loc_f70d

loc_f6e9:
        inc $f913,x
        ldy $f913,x
        lda ($40),y
        cmp #$ff
        bne loc_f6fc
        lda #$00
        sta $f913,x
        beq loc_f70d

loc_f6fc:
        cmp #$fd
        bne loc_f703
        dec $f955,x

loc_f703:
        cmp #$f0
        bne loc_f70d
        iny
        lda ($40),y
        sta $f913,x

loc_f70d:
        lda $f954,x
        beq loc_f718
        ldy $f926,x
        jmp loc_f8f6

loc_f718:
        ldy #$04
        lda ($46),y
        sta $fbf9
        beq loc_f768
        lda $f965,x
        bne loc_f748
        clc
        lda $f940,x
        adc $fbf9
        sta $f940,x
        sta $d402,x
        lda $f93e,x
        adc #$00
        sta $f93e,x
        sta $d403,x
        clc
        cmp #$0e
        bcc loc_f768
        inc $f965,x
        bne loc_f768

loc_f748:
        lda $f940,x
        sec
        sbc $fbf9
        sta $f940,x
        sta $d402,x
        lda $f93e,x
        sbc #$00
        sta $f93e,x
        sta $d403,x
        clc
        cmp #$08
        bcs loc_f768
        dec $f965,x

loc_f768:
        lda $f917,x
        beq loc_f7b2

loc_f76d:
        lda $f966,x
        asl
        tay
        lda $fd10,y
        sta smc_f79d                                // SMC: modifies $f79d
        sta smc_f789                                // SMC: modifies $f789
        lda $fd11,y
        sta smc_f79e                                // SMC: modifies $f79e
        sta smc_f78a                                // SMC: modifies $f78a
        lda $f967,x
        tay
.label smc_f789 = * + 1
.label smc_f78a = * + 2
        lda $fd4c,y                                 // !SMC: modified by $f778, $f781
        bpl loc_f794
        lda #$00
        sta $f967,x
        bpl loc_f76d

loc_f794:
        lda $f967,x
        tay
        lda $f952,x
        clc
.label smc_f79d = * + 1
.label smc_f79e = * + 2
        adc $fd4c,y                                 // !SMC: modified by $f775, $f77e
        tay
        lda $f9a4,y
        sta $d400,x
        lda $fa04,y
        sta $d401,x
        inc $f967,x
        jmp loc_f8f6

loc_f7b2:
        lda $f916,x
        bne loc_f7ba
        jmp loc_f836

loc_f7ba:
        lda $f969,x
        beq loc_f7c5
        dec $f969,x
        jmp loc_f836

loc_f7c5:
        lda $f96a,x
        beq loc_f7ce
        cmp #$03
        bcc loc_f803

loc_f7ce:
        sec
        lda $f92a,x
        sbc $f96b,x
        sta $f92a,x
        sta $d400,x
        lda $f929,x
        sbc #$00
        sta $f929,x
        sta $d401,x
        dec $f97a,x
        bne loc_f800
        lda $f97b,x
        sta $f97a,x
        inc $f96a,x
        lda $f96a,x
        cmp #$05
        bcc loc_f800
        lda #$01
        sta $f96a,x

loc_f800:
        jmp loc_f82e

loc_f803:
        clc
        lda $f92a,x
        adc $f96b,x
        sta $f92a,x
        sta $d400,x
        lda $f929,x
        adc #$00
        sta $f929,x
        sta $d401,x
        dec $f97a,x
        beq loc_f823
        jmp loc_f8a4

loc_f823:
        lda $f97b,x
        sta $f97a,x
        inc $f96a,x
        bne loc_f8a4

loc_f82e:
        lda $f93b,x
        bne loc_f836
        jmp loc_f8f6

loc_f836:
        lda $f93b,x
        beq loc_f89a
        cmp #$01
        beq loc_f857
        cmp #$02
        beq loc_f882
        cmp #$03
        beq loc_f872
        clc
        lda $f929,x
        adc $f93d,x
        sta $f929,x
        sta $d401,x
        jmp loc_f89a

loc_f857:
        clc
        lda $f92a,x
        sbc $f93d,x
        sta $f92a,x
        sta $d400,x
        lda $f929,x
        sbc #$00
        sta $f929,x
        sta $d401,x
        jmp loc_f89a

loc_f872:
        sec
        lda $f929,x
        sbc $f93d,x
        sta $f929,x
        sta $d401,x
        jmp loc_f89a

loc_f882:
        clc
        lda $f92a,x
        adc $f93d,x
        sta $f92a,x
        sta $d400,x
        lda $f929,x
        adc #$00
        sta $f929,x
        sta $d401,x

loc_f89a:
        ldy #$06
        lda ($46),y
        and #$01
        beq loc_f8a4
        bne loc_f8a7

loc_f8a4:
        jmp loc_f8f6

loc_f8a7:
        ldy $f956,x
        lda $fa64,y
        tay
        lda $fa73,y
        sta $44
        lda $fa7e,y
        sta $45
        ldy $f953,x
        lda ($44),y
        beq loc_f8f3
        bpl loc_f8d3
        sta $d404,x
        iny
        inc $f953,x
        lda ($44),y
        sta $d401,x
        iny
        inc $f953,x
        bne loc_f8f3

loc_f8d3:
        sta $f97c,x
        iny
        inc $f953,x
        sec
        lda $f929,x
        sbc ($44),y
        sta $f929,x
        iny
        inc $f953,x
        lda $f97c,x
        sta $d404,x
        lda $f929,x
        sta $d401,x

loc_f8f3:
        jmp loc_f8f6

loc_f8f6:
        lda $f303
        bmi loc_f904
        cpx #$0e
        beq loc_f90d
        ldx #$0e
        jmp loc_f42f

loc_f904:
        lda $f97f,x
        beq loc_f90d
        tax
        jmp loc_f42f

loc_f90d:
        rts

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

loc_fce2:
        .byte $e2,$e5                               // nop #$e5 // ILLEGAL
        inx
        .byte $eb,$ee                               // sbc #$ee // ILLEGAL
        sbc ($f5),y

dat_fce9:
        // === Fill data (1 bytes, $fce9-$fce9) ===
        .byte $ff                                   // .

// --- Region $fe8d-$fea4 ---
.pc = $fe8d "Segment $fe8d"
        asl $11
        ora $1111,x
        ora ($11),y
        .byte $ff,$f6,$72                           // isc $72f6,x // ILLEGAL
        bvs loc_fe99

loc_fe99:
        bpl loc_fe67
        bvs loc_fea2
        .byte $6b,$10                               // arr #$10 // ILLEGAL
        .byte $03,$25                               // slo ($25,x) // ILLEGAL

dat_fea1:
        .byte $cf                                   // .

loc_fea2:
        and $00
        brk

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

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

// --- Region $0800-$0801 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (2 bytes, $0800-$0801) ===
        .byte $0f                                   // char 0 (partial)

dat_0801:
        // === BASIC loader stub ===
        .byte $00,$00                                                     // [corrected] was: .byte $0b,$08                               // next line pointer ($080b)
        .byte $00,$00                               // line number 0
        .byte $00                                                         // [corrected] was: .byte $9e                                   // SYS token

// --- Region $0f04-$0f13 ---
.pc = $0f04 "chr_0f04"

chr_0f04:
        // === Charset data (16 bytes, $0f04-$0f13) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 1 @+1

// --- Region $0f15-$0f15 ---
.pc = $0f15 "dat_0f15"

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

// --- Region $10fe-$10fe ---
.pc = $10fe "dat_10fe"

dat_10fe:
        // === Fill data (1 bytes, $10fe-$10fe) ===
        .byte $00                                   // .

// --- Region $1210-$1210 ---
.pc = $1210 "dat_1210"

dat_1210:
        // === Fill data (1 bytes, $1210-$1210) ===
        .byte $00                                   // .

// --- Region $130a-$130a ---
.pc = $130a "dat_130a"

dat_130a:
        // === Fill data (1 bytes, $130a-$130a) ===
        .byte $00                                   // .

// --- Region $1514-$1514 ---
.pc = $1514 "dat_1514"

dat_1514:
        // === Fill data (1 bytes, $1514-$1514) ===
        .byte $00                                   // .

// --- Region $180a-$1811 ---
.pc = $180a "Segment $180a"
        .byte $92,$1e,$a9,$37,$85,$01,$58,$60       // ...7..X`

// --- Region $1a50-$1a83 ---
.pc = $1a50 "Segment $1a50"
        .byte $00,$00,$00,$80,$88,$90,$98,$a0,$a8,$b0,$b8,$00,$04,$00,$04,$00 // ................
        .byte $04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00 // ................
        .byte $04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00,$04,$00 // ................
        .byte $04,$00,$04                           // ...

dat_1a83:
        // === Fill data (1 bytes, $1a83-$1a83) ===
        .byte $00                                   // .

// --- Region $1aac-$1c0f ---
.pc = $1aac "dat_1aac"

dat_1aac:
        // === Sine/lookup table (256 bytes, range $00-$8f) ===
        .byte $27,$07,$01,$06,$01,$14,$07,$02,$02,$02,$1c // '..........

txt_1ab7:
        .encoding "screencode_mixed"
        .text "gcdc!gdedrgecepgbbf ggaghgfghcgcdi"
        .byte $22                                   // double quote
        .text "gecjvgbbkrgcdl"
        .text "@"
        .text "gafmqggansgfgo'ggap gbbqegdea'ggab%gfg"
        .encoding "petscii_upper"

txt_1b0f:
        .text "HKORVY"
        .byte $5c                                   // backslash character
        .byte $60,$63,$66,$69,$6d,$70,$72,$75,$78,$7a,$7d,$7f,$81,$83,$85,$87 // `cfimpruxz}.....
        .byte $89,$8a,$8b,$8c,$8d,$8e,$8f,$8f,$8f,$8f,$8f,$8f,$8f,$8e,$8d,$8c // ................
        .byte $8b,$8a,$89,$87,$85,$83,$81,$7f,$7d,$7a,$78,$75,$72,$70,$6d,$69 // ........}zxurpmi
        .byte $66,$63,$60                           // fc`

txt_1b49:
        .byte $5c                                   // backslash character
        .text "YVROKHD"
        .byte $40                                   // @ character
        .text "=963/,)&"
        .byte $22                                   // double quote character
        .text " "
        .byte $1d,$1a,$17,$15,$12,$10,$0e,$0c,$0a,$08,$06,$05,$04,$03,$02,$01 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$01,$02,$03,$04,$05,$06,$08,$0a,$0c // ................
        .byte $0e,$10,$12,$15,$17,$1a,$1d,$1f       // ........

txt_1b84:
        .byte $22                                   // double quote character
        .text "&),/369="
        .byte $40                                   // @ character
        .text "DHKORVY"
        .byte $5c                                   // backslash character
        .byte $60,$63,$66,$69,$6d,$70,$72,$75,$78,$7a,$7d,$7f,$81,$83,$85,$87 // `cfimpruxz}.....
        .byte $89,$8a,$8b,$8c,$8d,$8e,$8f,$8f,$8f,$8f,$8f,$8f,$8f,$8e,$8d,$8c // ................
        .byte $8b,$8a,$89,$87,$85,$83,$81,$7f,$7d,$7a,$78,$75,$72,$70,$6d,$69 // ........}zxurpmi
        .byte $66,$63,$60                           // fc`

txt_1bc9:
        .byte $5c                                   // backslash character
        .text "YVROKHD"
        .byte $40                                   // @ character
        .text "=963/,)&"
        .byte $22                                   // double quote character
        .text " "
        .byte $1d,$1a,$17,$15,$12,$10,$0e,$0c,$0a,$08,$06,$05,$04,$03,$02,$01 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$01,$02,$03,$04,$05,$06,$08,$0a,$0c // ................
        .byte $0e,$10,$12,$15,$17,$1a,$1d,$1f       // ........

txt_1c04:
        .byte $22                                   // double quote character
        .text "&),/369="
        .byte $40                                   // @ character
        .text "D"
        .byte $00                                   // string terminator

// --- Region $1c18-$1c1f ---
.pc = $1c18 "dat_1c18"

dat_1c18:
        .byte $68,$90,$b8,$e0,$08,$30,$58,$80       // h....0X.

// --- Region $1c2b-$1c32 ---
.pc = $1c2b "dat_1c2b"

dat_1c2b:
        .byte $68,$90,$b8,$e0,$08,$30,$58,$80       // h....0X.

// --- Region $1c3e-$1c7c ---
.pc = $1c3e "dat_1c3e"

dat_1c3e:
        .byte $68,$90,$b8,$e0,$04,$04,$04,$04,$04,$04,$04,$05,$05,$05,$05,$05 // h...............
        .byte $05,$06,$06,$06,$06,$06,$06,$04,$04,$04,$04,$04,$04,$04,$05,$05 // ................
        .byte $05,$05,$05,$05,$06,$06,$06,$06,$06,$06,$04,$04,$04,$04,$04,$04 // ................
        .byte $04,$05,$05,$05,$05,$05,$05,$00,$28,$50,$78,$a0,$c8,$f0,$40 // ........(Px...@

// --- Region $1d52-$1ee5 ---
.pc = $1d52 "Segment $1d52"
        .fill 8, $00
        .byte $20,$00,$00,$00,$00,$00,$00,$20,$20,$00,$00 //  ......  ..

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

txt_1d6c:
        .text "      "
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$00,$00,$00               // ......

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

txt_1d7f:
        .text "          "
        .byte $00                                   // string terminator
        .byte $20,$00,$00                           //  ..

txt_1d8d:
        .text "     "
        .byte $00                                   // string terminator
        .byte $00,$00                               // ..

txt_1d95:
        .text "            "
        .byte $00                                   // string terminator
        .byte $20,$20,$20,$00,$00                   //    ..

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

txt_1dad:
        .text "    "
        .byte $00                                   // string terminator
        .byte $20,$00,$00                           //  ..

txt_1db5:
        .text "    "
        .byte $00                                   // string terminator
        .byte $00,$20,$00,$00                       // . ..

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

txt_1dc4:
        .text "     "
        .byte $00                                   // string terminator
        .byte $20,$20,$20,$00,$00                   //    ..

txt_1dcf:
        .text "    "
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$00,$20,$20,$20,$00,$00,$20,$20,$20,$00,$00,$20,$20 // ....   ..   ..  
        .byte $20,$00,$00,$20,$20,$20,$00,$00       //  ..   ..

txt_1dec:
        .text "     "
        .byte $00                                   // string terminator
        .byte $20,$20,$20,$00,$00                   //    ..

txt_1df7:
        .text "    "
        .byte $00                                   // string terminator
        .byte $00,$20,$20,$00,$00,$20,$20,$00,$00,$20,$20,$00,$00 // .  ..  ..  ..

txt_1e09:
        .text "     "
        .byte $00                                   // string terminator
        .byte $00,$20,$20,$00,$00                   // .  ..

txt_1e14:
        .text "     "
        .byte $00                                   // string terminator
        .byte $20,$20,$20,$00,$00                   //    ..

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

txt_1e25:
        .text "    "
        .byte $00                                   // string terminator
        .byte $20,$00,$00,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$20 //  .. ........... 
        .byte $00,$00,$00,$00,$00,$00,$00,$20,$fe,$ed,$d9,$c5,$d1,$e5,$f9,$95 // ....... ........
        .byte $44,$05,$01,$0c,$05,$12,$20,$51,$15,$01,$0c,$09,$14,$19,$20,$53 // D..... Q...... S
        .byte $0f,$06,$14,$17,$01,$12,$05,$20,$00,$01,$02,$40,$41,$42,$80,$81 // ....... ...@AB..
        .byte $82,$c0,$c1,$c2,$00,$01,$02,$40,$41,$42,$80,$81,$82,$c0,$c1,$c2 // .......@AB......
        .fill 12, $0e
        .fill 12, $0f
        .byte $a9,$00,$85,$a0,$20,$a2,$1e,$e6,$a0,$a5,$a0,$c9,$17,$d0,$f5,$60 // .... ..........`
        .byte $a6,$a0,$bd,$62,$1e,$8d,$d1,$1e,$bd,$7a,$1e,$8d,$d2,$1e,$bd,$4a // ...b.....z.....J
        .byte $1e,$85,$02,$a0,$00,$84,$03,$06,$02,$26,$03,$06,$02,$26,$03,$06 // .........&...&..
        .byte $02,$26,$03,$a5,$03,$18,$69,$d8,$85,$03,$a2,$00,$b1,$02,$9d,$ff // .&....i.........
        .byte $ff,$c8,$e8,$e8,$e8,$c0,$08,$d0,$f3,$60,$00,$0b,$0c,$0f,$07,$01 // .........`......
        .byte $00,$00,$00,$03                       // ....

// --- Region $1ff7-$20a8 ---
.pc = $1ff7 "Segment $1ff7"
        .fill 9, $00

txt_2000:
        .text "          "

txt_200a:
        .encoding "screencode_mixed"
        .text "the return of darkness and evil"
        .encoding "petscii_upper"

txt_2029:
        .text "... "

txt_202d:
        .encoding "screencode_mixed"
        .text "quorthon of triad returns with metal warrior"
        .encoding "petscii_upper"

txt_2059:
        .text " 2!!! +6 "

txt_2062:
        .encoding "screencode_mixed"
        .text "trained, shorted and linked in january"
        .encoding "petscii_upper"

txt_2088:
        .text " 2000. "

txt_208f:
        .encoding "screencode_mixed"
        .text "this is my first real crac"
        .encoding "petscii_upper"

// --- Region $20dd-$20e7 ---
.pc = $20dd "Segment $20dd"
        .byte $20,$14,$01,$10,$05,$12,$20,$0f,$06,$20,$14 //  ..... .. .

// --- Region $20e9-$2140 ---
.pc = $20e9 "txt_20e9"

txt_20e9:
        .encoding "screencode_mixed"
        .text "iad and loader supply by napalm of onslaught via taper of triad"
        .encoding "petscii_upper"

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

// --- Region $2186-$2186 ---
.pc = $2186 "dat_2186"

dat_2186:
        // === Fill data (1 bytes, $2186-$2186) ===
        .byte $00                                   // .

// --- Region $2800-$2800 ---
.pc = $2800 "chr_2800"

chr_2800:
        .byte $00                                   // .

// --- Region $3932-$3932 ---
.pc = $3932 "dat_3932"

dat_3932:
        // === Fill data (1 bytes, $3932-$3932) ===
        .byte $00                                   // .

// --- Region $40be-$40be ---
.pc = $40be "dat_40be"

dat_40be:
        // === Fill data (1 bytes, $40be-$40be) ===
        .byte $00                                   // .

// --- Region $7c9e-$7c9e ---
.pc = $7c9e "dat_7c9e"

dat_7c9e:
        // === Fill data (1 bytes, $7c9e-$7c9e) ===
        .byte $00                                   // .

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

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

// --- Region $a092-$a092 ---
.pc = $a092 "dat_a092"

dat_a092:
        // === Fill data (1 bytes, $a092-$a092) ===
        .byte $00                                   // .

// --- Region $a8fe-$a8fe ---
.pc = $a8fe "dat_a8fe"

dat_a8fe:
        // === Fill data (1 bytes, $a8fe-$a8fe) ===
        .byte $00                                   // .

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

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

// --- Region $f300-$f30c ---
.pc = $f300 "dat_f300"

dat_f300:
        .byte $ff,$00,$04,$ff,$4c,$17,$f4,$4c,$9c,$f3,$4c,$c4,$f3 // ....L..L..L..

// --- Region $f39d-$f3cb ---
.pc = $f39d "Segment $f39d"
        .byte $02,$f3,$a0,$06,$a9,$00,$99,$0e,$d4,$88,$10,$fa,$8c,$00,$f3,$8d // ................
        .byte $10,$f9,$8d,$63,$f9,$8d,$21,$f9,$8d,$22,$f9,$8d,$23,$f9,$8d,$8c // ...c..!.."..#...
        .byte $f9,$a9,$5f,$8d,$1f,$f9,$60,$8d,$01,$f3,$ad,$fb,$fb,$8d,$8f // .._...`........

// --- Region $f90e-$fce1 ---
.pc = $f90e "dat_f90e"

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

txt_fa40:
        .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,$00,$01,$00,$00,$00,$00,$05,$04,$06,$07,$08,$09,$0a // ................
        .byte $00,$89,$8e,$95,$9e,$a5,$be,$d1,$fc,$49,$5c,$6d,$fa,$fa,$fa,$fa // .........I\m....
        .byte $fa,$fa,$fa,$fa,$fb,$fb,$fb,$41,$04,$10,$08,$00,$81,$ff,$41,$04 // .......A......A.
        .byte $80,$58,$00,$81,$ff,$11,$04,$10,$04,$10,$06,$00,$81,$ff,$41,$04 // .X............A.
        .byte $80,$38,$00,$81,$ff,$41,$04,$80,$18,$80,$20,$80,$14,$80,$12,$80 // .8...A.... .....
        .byte $14,$80,$16,$80,$12,$80,$10,$80,$14,$80,$10,$00,$81,$ff,$41,$04 // ..............A.
        .byte $80,$38,$80,$30,$80,$2c,$80,$28,$80,$24,$80,$20,$80,$1c,$00,$81 // .8.0.,.(.$. ....
        .byte $ff,$41,$04,$80,$48,$80,$40,$80,$44,$80,$42,$80,$44,$80,$36,$80 // .A..H.@.D.B.D.6.
        .byte $42,$80,$40,$80,$44,$80,$40,$80,$34,$80,$46,$80,$32,$80,$40,$80 // B.@.D.@.4.F.2.@.
        .byte $54,$80,$42,$80,$40,$80,$44,$80,$38,$00,$81,$ff,$81,$04,$80,$30 // T.B.@.D.8......0
        .byte $80,$28,$80,$20,$80,$18,$80,$10,$80,$08,$80,$06,$80,$04,$80,$02 // .(. ............
        .byte $80,$30,$80,$28,$80,$20,$80,$18,$80,$10,$80,$08,$80,$06,$80,$04 // .0.(. ..........
        .byte $80,$02,$80,$30,$80,$28,$80,$20,$80,$18,$80,$10,$80,$08,$80,$06 // ...0.(. ........
        .byte $80,$04,$80,$02,$80,$30,$80,$28,$80,$20,$80,$18,$80,$10,$80,$08 // .....0.(. ......
        .byte $80,$06,$80,$04,$80,$02,$00,$81,$ff,$41,$04,$80,$28,$80,$20,$80 // .........A..(. .
        .byte $1c,$80,$18,$80,$14,$80,$10,$80,$0c,$00,$81,$18,$41,$01,$80,$40 // ............A..@
        .byte $40,$38,$80,$10,$40,$08,$80,$04,$40,$02,$00,$81,$ff,$41,$04,$80 // @8..@...@....A..
        .byte $21,$80,$01,$80,$03,$80,$02,$80,$02,$80,$04,$80,$03,$80,$03,$80 // !...............
        .byte $05,$80,$04,$80,$04,$80,$06,$80,$05,$80,$05,$80,$07,$80,$06,$80 // ................
        .byte $07,$80,$09,$80,$08,$80,$08,$80,$0a,$80,$09,$80,$0a,$80,$0c,$80 // ................
        .byte $0b,$80,$0b,$80,$0e,$80,$0c,$80,$0d,$80,$0f,$80,$0e,$80,$0e,$80 // ................
        .byte $10,$80,$00,$80,$11,$80,$15,$80,$13,$80,$14,$80,$18,$80,$16,$80 // ................
        .byte $18,$80,$20,$80,$1c,$80,$1c,$80,$20,$80,$20,$80,$24,$80,$24,$80 // .. ..... . .$.$.
        .byte $28,$80,$28,$80,$2c,$80,$2c,$80,$30,$80,$30,$80,$34,$80,$30,$80 // (.(.,.,.0.0.4.0.
        .byte $30,$80,$34,$80,$38,$80,$38,$80,$3c,$80,$3c,$80,$40,$80,$40,$80 // 0.4.8.8.<.<.@.@.
        .byte $44,$80,$44,$80,$48,$00,$fe,$18,$00,$1b // D.D.H.....

txt_fbfc:
        .byte $22                                   // double quote character
        .text ")07>ELSZ"
        .byte $61,$68,$6f,$76,$7d,$84,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc // ahov}...........
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$00,$00,$00,$00,$00,$00,$00,$08,$01,$03 // ................
        .byte $04,$04,$00,$01,$08,$01,$06,$09,$04,$00,$01,$08,$41,$04,$29,$f0 // ............A.).
        .byte $00,$02,$08,$41,$d0,$fc,$20,$00,$00,$08,$41,$f0,$9d,$18,$00,$00 // ...A.. ...A.....
        .byte $08,$41,$00,$a8,$10,$00,$02,$08,$01,$06,$59,$04,$00,$01,$08,$01 // .A........Y.....
        .byte $07,$6a,$04,$00,$01,$08,$01,$0a,$9c,$04,$00,$01,$08,$01,$00,$99 // .j..............
        .byte $00,$00,$01,$08,$01,$06,$58,$04,$00,$01,$8f,$41,$05,$18,$10,$00 // ......X....A....
        .byte $01,$08,$01,$00,$ec,$00,$00,$01       // ........

txt_fc7d:
        .byte $40                                   // @ character
        .text "1GH"
        .byte $00                                   // string terminator
        .byte $00,$02,$6e,$74,$79,$80,$8b,$90,$95,$a1,$a6,$b7,$cf,$e3,$e9,$f4 // ..nty...........
        .byte $17,$3c,$53,$69,$7f,$95,$ae,$c1,$ca,$d3,$dc,$e5,$fe,$17,$2c,$45 // .<Si..........,E
        .byte $5d,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fd,$fe // ]...............
        .fill 12, $fe
        .byte $ff,$ff,$ff,$ff,$5d,$ba,$c6,$d0,$d9,$dc,$df,$e2,$e5,$e8,$eb,$ee // ....]...........
        .byte $f1,$92,$be,$c9,$d3,$d9,$df,$e2,$e5,$e8,$eb,$ee,$f1,$f3,$97,$c1 // ................
        .byte $cc,$d6,$d9,$df                       // ....

// --- Region $fcea-$fe8c ---
.pc = $fcea "Segment $fcea"
        .fill 38, $ff
        .byte $30,$fd,$37,$fd,$3e,$fd,$45,$fd,$4c,$fd,$51,$fd,$5a,$fd,$5c,$fd // 0.7.>.E.L.Q.Z.\.
        .byte $5e,$fd,$60,$fd,$62,$fd,$64,$fd,$66,$fd,$68,$fd,$6a,$fd,$6c,$fd // ^.`.b.d.f.h.j.l.
        .byte $00,$03,$07,$0c,$0f,$13,$ff,$00,$03,$09,$0c,$0f,$15,$ff,$00,$03 // ................
        .byte $08,$0c,$0f,$14,$ff,$00,$02,$07,$0c,$0e,$13,$ff,$00,$0c,$18,$0c // ................
        .byte $ff,$00,$00,$03,$03,$07,$07,$0c,$0c,$ff,$00,$ff,$00,$ff,$00,$ff // ................
        .byte $00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$00,$ff,$f6,$87 // ................
        .byte $70,$00,$00,$ff,$9f,$70,$07,$32,$ff,$73,$70,$08,$32,$9f,$32,$ff // p....p.2.sp.2.2.
        .byte $74,$70,$09,$32,$75,$32,$72,$32,$df,$32,$ff,$af,$70,$0a,$32,$ff // tp.2u2r2.2..p.2.
        .byte $af,$70,$0b,$32,$ff,$72,$70,$0c,$26,$73,$29,$2d,$74,$32,$75,$35 // .p.2.rp.&s)-t2u5
        .byte $ff,$ef,$70,$0d,$32,$ff,$73,$70,$0e,$17,$17,$77,$17,$73,$17,$17 // ..p.2.sp...w.s..
        .byte $17,$17,$17,$7f,$17,$00,$ff,$f7,$75,$70,$06,$6c,$42,$28,$28,$7b // ........up.lB(({
        .byte $28,$28,$28,$87
        .byte $2b,$2d,$81
        .text "/-/2"
        .byte $f6
        .byte $34,$00,$ff,$f6
        .byte $75,$70,$02,$32,$32,$7b,$32,$32,$32,$87,$32,$32,$81,$32,$32,$32 // up.22{222.22.222
        .byte $32,$32,$ff,$f6,$71,$70,$00,$00,$ff,$f6,$75,$70,$02,$32,$32,$32 // 22..qp....up.222
        .byte $32,$7b,$32,$ff,$f6,$72,$70,$03,$6c,$44,$2e,$00,$2e,$00,$2e,$00 // 2{2..rp.lD......
        .byte $2e,$00,$72,$2e,$84,$00,$7b,$70,$01,$32,$72,$70,$03,$6c,$44,$3a // ..r...{p.2rp.lD:
        .byte $84,$00,$72,$3a,$78,$00,$ff,$f6,$72,$70,$03,$6b,$80,$01,$2e,$00 // ..r:x...rp.k....
        .byte $2e,$00,$2e,$00,$2e,$00,$72,$2e,$84,$00,$7b,$70,$01,$32,$72,$70 // ......r...{p.2rp
        .byte $03,$6b,$80,$01,$3a,$84,$00,$72,$3a,$78,$00,$ff,$f7,$7b,$70,$06 // .k..:..r:x...{p.
        .byte $16,$22,$19,$7b,$16,$7b,$70,$02,$32,$75,$70,$06,$16,$22,$16,$16 // .".{.{p.2up.."..
        .byte $16,$16,$ff,$7b,$70,$06,$13,$1f,$19,$7b,$13,$7b,$70,$02,$32,$75 // ...{p....{.{p.2u
        .byte $70,$06,$13,$1f,$13,$13,$13           // p......

loc_fe67:
        .byte $13,$ff,$7b,$70,$06,$12,$1e,$19,$7b,$12,$7b,$70,$02,$32,$75,$70 // ..{p....{.{p.2up
        .byte $06,$12,$1e,$12,$12,$12,$12,$ff,$7b,$70,$06,$11,$1d,$19,$7b,$11 // ........{p....{.
        .byte $7b,$70,$02,$32,$75,$70               // {p.2up

// --- Region $fea5-$ff5a ---
.pc = $fea5 "dat_fea5"

dat_fea5:
        .byte $26,$26,$00,$00,$25,$00,$24,$00,$ff,$2e,$00,$2e,$00,$2e,$00,$72 // &&..%.$........r
        .byte $2e,$90,$00,$72,$3a,$84,$00,$72,$3a,$78,$00,$ff,$f6,$72,$70,$03 // ...r:..r:x...rp.
        .byte $6c,$40,$22,$00,$ff,$f6,$72,$70,$03,$6c,$41,$22,$00,$ff,$f6,$72 // l@"...rp.lA"...r
        .byte $70,$03,$6c,$42,$22,$00,$ff,$f6,$72,$70,$03,$6c,$43,$22,$00,$ff // p.lB"...rp.lC"..
        .byte $f6,$72,$70,$00,$10,$cc,$70,$05,$6b,$30,$02,$2e,$cf,$2e,$00,$00 // .rp...p.k0......
        .byte $2b,$2b,$00,$00,$2a,$00,$29,$00,$ff,$f6,$72,$70,$00,$10,$bf,$70 // ++..*.)...rp...p
        .byte $04,$6b,$08,$03,$26,$fb,$0a,$9d,$69,$c1,$6b,$08,$03,$69,$cf,$00 // .k..&...i.k..i..
        .byte $00,$ff,$f6,$72,$70,$00,$10,$ef,$70,$04,$6b,$20,$01,$26,$c1,$6b // ...rp...p.k .&.k
        .byte $08,$03,$69,$cf,$00,$00,$ff,$f6,$72,$70,$00,$10,$bf,$70,$04,$6b // ..i.....rp...p.k
        .byte $10,$02,$26,$fc,$12,$9d,$69,$c1,$6b,$08,$03,$69,$cf,$00,$00,$ff // ..&...i.k..i....
        .byte $f6,$72,$70,$00,$10,$cc,$70,$04,$6b,$30,$02,$31,$7b // .rp...p.k0.1{

txt_ff52:
        .text "2121"
        .byte $cf                                   // 'O' | $80 (end-of-string marker)
        .byte $00,$fb,$30,$bf                       // ..0.

// --- Region $ff5c-$ffff ---
.pc = $ff5c "dat_ff5c"

dat_ff5c:
        .byte $ff,$82,$0e,$15,$14,$15,$14,$15,$14,$15,$14,$16,$14,$16,$14,$16 // ................
        .byte $14,$16,$14,$17,$14,$17,$14,$18,$14,$18,$14,$15,$14,$15,$14,$15 // ................
        .byte $14,$15,$14,$16,$14,$16,$14,$16,$14,$16,$14,$17,$14,$17,$14,$18 // ................
        .byte $14,$18,$14,$6a,$0d,$ff,$62,$19,$13,$19,$ff,$19,$13,$62,$0f,$62 // ...j..b......b.b
        .byte $10,$11,$11,$12,$12,$62,$0f,$62,$10,$11,$11,$12,$12,$62,$0f,$62 // .....b.b.....b.b
        .byte $10,$11,$11,$12,$12,$62,$0f,$62,$10,$11,$11,$12,$12,$ff,$65,$0c // .....b.b......e.
        .byte $00,$fd,$1d,$00,$fd,$63,$0b,$1d,$00,$fd,$09,$00,$fd,$0a,$00,$fd // .....c..........
        .byte $0b,$09,$00,$fd,$1a,$00,$fd,$1b,$00,$fd,$1c,$00,$fd,$01,$00,$fd // ................
        .byte $02,$00,$fd,$03,$00,$fd,$04,$00,$fd,$06,$00,$fd,$07,$00,$fd,$05 // ................
        .byte $00,$fd,$08,$00,$fd,$00,$fd,$00,$fd,$00,$fd,$ff,$ff,$00,$59,$18 // ..............Y.
        .byte $00,$00,$20,$1d                       // .. .
