// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:30
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $3cff  (13568 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $1e00 (7680)
// IRQ handler:  $1820 (irq_1820)
// IRQ handler:  $1850 (irq_1850)
// IRQ handler:  $1880 (irq_1880)
// IRQ handler:  $18b0 (irq_18b0)
// IRQ handler:  $18d0 (irq_18d0)
// IRQ handler:  $18f0 (irq_18f0)
// IRQ handler:  $1910 (irq_1910)
//
// Code: 2371 bytes, Data: 11197 bytes
// Labels: 273, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $0c00-$0c4d ---
.pc = $0c00 "sub_0c00"
// Referenced by: jsr from $1856

sub_0c00:
        ldy $02
        ldx $0c50,y
        ldy #$05

loc_0c07:
        lda $0dc8,x
        sta $0428,y
        lda $0e18,x
        sta $0450,y
        lda $0e68,x
        sta $0478,y
        lda $0eb8,x
        sta $04a0,y
        lda $0f08,x
        sta $04c8,y
        lda $0f58,x
        sta $04f0,y
        lda $0fa8,x
        sta $0518,y
        inx
        iny
        cpy #$28
        bne loc_0c07
        ldx $02
        lda $0cb0,x
        sta $d016
        inc $02
        cpx #$5f
        bne loc_0c49
        lda #$00
        sta $02

loc_0c49:
        jsr sub_0d20
        rts

chr_0c4d:
        // === Charset data (1 bytes, $0c4d-$0c4d) ===
        .byte $60                                   // char 0 (partial)

// --- Region $0d20-$0d3b ---
.pc = $0d20 "sub_0d20"
// Referenced by: jsr from $0c49; jmp from $0d37

sub_0d20:
        ldx $033c
        lda $0d40,x
        sta $d011
        inx
        inc $033c
        cpx #$20
        beq loc_0d32
        rts

loc_0d32:
        lda #$00
        sta $033c
        jmp sub_0d20

chr_0d3a:
        // === Charset data (2 bytes, $0d3a-$0d3b) ===
        .byte $20,$20                               // char 0 (partial)

// --- Region $148d-$148d ---
.pc = $148d "Segment $148d"
        brk

// --- Region $1800-$1954 ---
.pc = $1800 "sub_1800"
// Referenced by: jsr from $1e57

sub_1800:
        sei
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        sta $d019
        lda #$20
        sta $0314
        lda #$18
        sta $0315
        cli
        rts

dat_181a:
        .byte $20,$00                               //  .

txt_181c:
        .text "*L"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $fe                                   // .

irq_1820:
        lda $d019
        sta $d019
        lda #$18
        sta $0315
        lda #$50
        sta $0314
        lda #$08
        sta $d016
        lda #$1b
        sta $d011
        lda #$00
        sta $d012
        jsr sub_3006
        jsr sub_1b60
        jsr sub_1b90
        jmp $febc

dat_184b:
        .byte $4c,$bc,$fe,$00,$00                   // L....

irq_1850:
        lda $d019
        sta $d019
        jsr sub_0c00
        lda #$18
        sta $0315
        lda #$80
        sta $0314
        lda #$18
        sta $d018
        lda #$0b
        sta $d022
        lda #$0c
        sta $d023
        lda #$7a
        sta $d012
        jsr sub_1930
        jsr sub_19c0
        jmp $febc

irq_1880:
        lda $d019
        sta $d019
        nop
        nop
        nop
        lda #$18
        sta $0315
        lda #$b0
        sta $0314
        lda #$13
        sta $d018
        lda #$17
        sta $d011
        lda #$08
        sta $d016
        lda #$ba
        sta $d012
        jsr sub_1980
.label smc_18ab = * + 1
        jsr sub_1d1d                                // !SMC: modified by $1e6b
        jmp $febc

irq_18b0:
        lda $d019
        sta $d019
        jsr sub_1b00
        lda #$18
        sta $0315
        lda #$d0
        sta $0314
        lda #$ca
        sta $d012
        jmp $febc

dat_18cb:
        .byte $4c,$bc,$fe,$00,$00                   // L....

irq_18d0:
        lda $d019
        sta $d019
        jsr sub_1a00
        lda #$18
        sta $0315
        lda #$f0
        sta $0314
        lda #$dc
        sta $d012
        jmp $febc

dat_18eb:
        .byte $00,$00,$00,$00,$00                   // .....

irq_18f0:
        lda $d019
        sta $d019
        jsr sub_1b20
        lda #$19
        sta $0315
        lda #$10
        sta $0314
        lda #$ea
        sta $d012
        jmp $febc

dat_190b:
        .byte $00,$00,$00,$00,$00                   // .....

irq_1910:
        lda $d019
        sta $d019
        jsr sub_1a60
        lda #$18
        sta $0315
        lda #$20
        sta $0314
        lda #$ff
        sta $d012
        jsr sub_2a00
        jmp $febc

dat_192e:
        .byte $00,$00                               // ..
// Referenced by: jsr from $1877

sub_1930:
        ldx #$00

loc_1932:
        lda $daf9,x
        sta $daf8,x
        inx
        cpx #$27
        bne loc_1932
        ldx $0342
        lda dat_1960,x
        sta $db1f
        inx
        inc $0342
        cpx #$10
        beq loc_194f
        rts

loc_194f:
        lda #$00
        sta $0342
        rts

// --- Region $1980-$19a4 ---
.pc = $1980 "sub_1980"
// Referenced by: jsr from $18a7

sub_1980:
        ldx #$00

loc_1982:
        lda $db99,x
        sta $db98,x
        inx
        cpx #$27
        bne loc_1982
        ldx $0343
        lda $19b0,x
        sta $dbbf
        inx
        inc $0343
        cpx #$10
        beq loc_199f
        rts

loc_199f:
        lda #$00
        sta $0343
        rts

// --- Region $19c0-$19e3 ---
.pc = $19c0 "sub_19c0"
// Referenced by: jsr from $187a

sub_19c0:
        ldx #$50
.label smc_19c3 = * + 1
        lda #$0a                                    // !SMC: modified by $19d2

loc_19c4:
        sta $d990,x
        inx
        cpx #$a0
        bne loc_19c4
        ldx $0344
        lda $19f0,x
        sta smc_19c3                                // SMC: modifies $19c3
        inx
        inc $0344
        cpx #$10
        beq loc_19de
        rts

loc_19de:
        lda #$00
        sta $0344
        rts

// --- Region $1a00-$1a17 ---
.pc = $1a00 "sub_1a00"
// Referenced by: jsr from $18d6

sub_1a00:
        ldx #$00

loc_1a02:
        ldy $1a20,x

loc_1a05:
        dey
        bne loc_1a05
        lda $1a40,x
        sta $d020
        sta $d021
        inx
        cpx #$10
        bne loc_1a02
        rts

dat_1a17:
        .byte $00                                   // .

// --- Region $1a60-$1a77 ---
.pc = $1a60 "sub_1a60"
// Referenced by: jsr from $1916

sub_1a60:
        ldx #$00

loc_1a62:
        ldy $1a80,x

loc_1a65:
        dey
        bne loc_1a65
        lda $1aa0,x
        sta $d020
        sta $d021
        inx
        cpx #$10
        bne loc_1a62
        rts

dat_1a77:
        .byte $01                                   // .

// --- Region $1b00-$1b17 ---
.pc = $1b00 "sub_1b00"
// Referenced by: jsr from $18b6

sub_1b00:
        ldx $033d
        dex
        stx $033d
        stx $d016
        cpx #$ff
        beq loc_1b0f
        rts

loc_1b0f:
        lda #$07
        sta $033d
        sta $d016
        rts

// --- Region $1b20-$1b33 ---
.pc = $1b20 "sub_1b20"
// Referenced by: jsr from $18f6; branch from $1b2c

sub_1b20:
        jsr sub_1b40
        ldx $033f
        inx
        inc $033f
        cpx #$02
        bne sub_1b20
        lda #$00
        sta $033f
        rts

// --- Region $1b40-$1b57 ---
.pc = $1b40 "sub_1b40"
// Referenced by: jsr from $1b20

sub_1b40:
        ldx $033e
        dex
        stx $033e
        stx $d016
        cpx #$ff
        beq loc_1b4f
        rts

loc_1b4f:
        lda #$07
        sta $033e
        sta $d016
        rts

// --- Region $1b60-$1bcd ---
.pc = $1b60 "sub_1b60"
// Referenced by: jsr from $1842

sub_1b60:
        lda $033d
        cmp #$00
        beq loc_1b68
        rts

loc_1b68:
        ldx #$00

loc_1b6a:
        lda $06f9,x
        sta $06f8,x
        inx
        cpx #$27
        bne loc_1b6a
        ldx $0340
        lda txt_1c00,x
        sta $071f
        inx
        inc $0340
        cmp #$00
        beq loc_1b87
        rts

loc_1b87:
        lda #$00
        sta $0340
        rts

dat_1b8d:
        .byte $00,$00,$00                           // ...
// Referenced by: jsr from $1845

sub_1b90:
        lda $033e
        cmp #$00
        beq loc_1b98
        rts

loc_1b98:
        ldx #$00

loc_1b9a:
        lda $0799,x
        sta $0798,x
        inx
        cpx #$27
        bne loc_1b9a
        ldx $0341
.label smc_1baa = * + 2
        lda txt_2900,x                              // !SMC: modified by $1bc2
        sta $07bf
        inx
        inc $0341
        cmp #$00
        beq loc_1bbb
        cpx #$ff
        beq loc_1bc6
        rts

loc_1bbb:
        lda #$00
        sta $0341
        lda #$28
        sta smc_1baa                                // SMC: modifies $1baa
        rts

loc_1bc6:
        lda smc_1baa
        inc smc_1baa
        rts

dat_1bcd:
        // === Fill data (1 bytes, $1bcd-$1bcd) ===
        .byte $00                                   // .

// --- Region $1d1d-$1d1d ---
.pc = $1d1d "sub_1d1d"
// Referenced by: jsr from $18aa

sub_1d1d:
        rts

// --- Region $1e00-$1e70 ---
.pc = $1e00 "main_1e00"

main_1e00:
        jsr sub_1ea0
        lda #$00
        sta $d020
        sta $d021
        lda #$08
        jsr $ffd2
        ldx #$00

loc_1e12:
        lda #$0b
        sta $d800,x
        sta $d8ff,x
        inx
        cpx #$ff
        bne loc_1e12
        ldx #$00

loc_1e21:
        lda #$14
        sta $0400,x
        sta $0468,x
        inx
        cpx #$ff
        bne loc_1e21
        ldx #$00

loc_1e30:
        lda #$00
        sta $d940,x
        inx
        cpx #$60
        bne loc_1e30
        ldx #$00

loc_1e3c:
        lda txt_0b00,x
        sta $0590,x
        inx
        cpx #$ff
        bne loc_1e3c
        ldx #$00

loc_1e49:
        lda #$0f
        sta $d990,x
        inx
        cpx #$ff
        bne loc_1e49
        lda #$01
        sta $71
        jsr sub_1800

loc_1e5a:
        lda #$00
        sta $dc00
        lda $dc01
        cmp #$ef
        beq loc_1e69
        jmp loc_1e5a

loc_1e69:
        lda #$30
        sta smc_18ab                                // SMC: modifies $18ab
        jmp loc_1e69

// --- Region $1ea0-$1eaf ---
.pc = $1ea0 "sub_1ea0"
// Referenced by: jsr from $1e00

sub_1ea0:
        jsr $e544
        ldx #$00

loc_1ea5:
        lda #$00
        sta $033c,x
        inx
        cpx #$60
        bne loc_1ea5
        rts

// --- Region $2a00-$2a2d ---
.pc = $2a00 "sub_2a00"
// Referenced by: jsr from $1928

sub_2a00:
        ldx #$00

loc_2a02:
        lda $d991,x
        sta $d990,x
        lda $da31,x
        sta $da30,x
        inx
        cpx #$27
        bne loc_2a02
        ldx $0350
        lda $2a30,x
        sta $d9b7
        sta $da57
        inx
        inc $0350
        cpx #$18
        beq loc_2a28
        rts

loc_2a28:
        lda #$00
        sta $0350
        rts

// --- Region $3006-$3563 ---
.pc = $3006 "sub_3006"
// Referenced by: jsr from $183f

sub_3006:
        lda $3974

loc_3009:
        cmp #$02
        beq loc_3014
        cmp #$01
        bne loc_302a
        jmp loc_38e8

loc_3014:
        rts

dat_3015:
        .byte $19,$26,$ee,$16                       // .&..

loc_3019:
        bmi loc_3009
        asl $30,x
        lda $3016
        cmp #$32
        bne loc_3029
        lda #$01
        sta dat_3015

loc_3029:
        rts

loc_302a:
        inc $3942
        inc $3943
        inc $3944
        lda #$1f
        sta $d418
        ldx #$02
        dec $3973
        bpl loc_3045
        lda $391d
        sta $3973

loc_3045:
        bit $d020
        stx $ff
        lda $391e,x
        sta $3956
        tay
        lda $3973
        cmp $391d
        bne loc_306b
        lda $36a1,x
        sta $fb
        lda $36a4,x
        sta $fc
        dec $3927,x
        bmi loc_306e
        jmp loc_31fa

loc_306b:
        jmp loc_320a

loc_306e:
        ldy $3921,x
        lda ($fb),y
        cmp #$fe
        beq loc_308c
        cmp #$ff
        bne loc_3094
        lda #$00
        sta $3927,x
        sta $3921,x
        sta $3924,x
        sta $3972
        jmp loc_306e

loc_308c:
        lda #$02
        sta $3974
        jmp loc_390b

loc_3094:
        sta $3967
        and #$80
        beq loc_30a9
        lda $3967
        and #$1f
        sta $394f,x
        inc $3921,x
        jmp loc_306e

loc_30a9:
        lda $3967
        and #$40
        beq loc_30be
        lda $3967
        and #$3f
        sta $3976,x
        inc $3921,x
        jmp loc_306e

loc_30be:
        lda $3967
        asl
        tay
        lda $36a7,y
        sta $fd
        lda $36a8,y
        sta $fe
        lda #$00
        sta $393f,x
        ldy $3924,x
        sta $3942,x
        lda #$03
        sta $3961,x

loc_30dd:
        lda ($fd),y
        sta $f8
        and #$f0
        cmp #$f0
        bne loc_30f7
        lda #$01
        sta $3980,x
        inc $3924,x
        iny
        lda ($fd),y
        sta $f8
        jmp loc_3157

loc_30f7:
        lda #$00
        sta $3980,x
        lda $f8
        and #$f0
        cmp #$e0
        bne loc_3130
        lda $f8
        and #$01
        clc
        adc #$01
        sta $393f,x
        lda $f8
        and #$0e
        lsr
        sta $3965
        inc $3924,x
        iny
        lda ($fd),y
        pha
        and #$f0
        sta $3964
        pla
        and #$0f
        sta smc_32f8                                // SMC: modifies $32f8
        inc $3924,x
        iny
        lda ($fd),y
        sta $f8

loc_3130:
        lda $f8
        and #$e0
        cmp #$c0
        bne loc_3142
        lda $f8
        and #$1f
        sta $3933,x
        jsr sub_31ed

loc_3142:
        lda $f8
        and #$c0
        cmp #$80
        bne loc_3157
        lda $f8
        and #$3f
        sta $392a,x
        jsr sub_31ed
        jmp loc_30dd

loc_3157:
        lda $392a,x
        sta $3927,x
        lda $f8
        clc
        adc $394f,x
        sta $3930,x
        tay
        lda dat_3564,y
        pha
        lda $35c4,y
        ldy $3956
        sta $d401,y
        sta $3936,x
        sta $3939,x
        pla
        sta $d400,y
        sta $393c,x
        lda $3980,x
        bne loc_31cc
        lda $3933,x
        asl
        asl
        asl
        tax
        stx $3952
        lda $398a,x
        sta $d405,y
        lda $398b,x
        sta $d406,y
        lda $398c,x
        pha
        lda $3988,x
        pha
        lda $3989,x
        ldx $ff
        sta $392d,x
        sta $3979,x
        lda #$00
        sta $d402,y
        sta $3945,x
        pla
        sta $394b,x
        and #$0f
        sta $d403,y
        sta $3948,x
        lda #$01
        sta $396f,x
        pla
        sta $396c,x

loc_31cc:
        inc $3924,x
        ldy $3924,x
        lda ($fd),y
        cmp #$ff
        bne loc_31ea

loc_31d8:
        lda #$00
        sta $3924,x
        lda $3976,x
        beq loc_31e7
        dec $3976,x
        bpl loc_31ea

loc_31e7:
        inc $3921,x

loc_31ea:
        jmp loc_3552
// Referenced by: jsr from $313f, $3151

sub_31ed:
        inc $3924,x
        iny
        lda ($fd),y
        cmp #$ff
        beq loc_31d8
        sta $f8
        rts

loc_31fa:
        ldy $3956
        lda $3942,x
        beq loc_320a
        lda $392d,x
        and #$fe
        sta $3979,x

loc_320a:
        lda $3933,x
        asl
        asl
        asl
        tay
        lda $398d,y
        sta $3953
        lda $398e,y
        sta $3954
        lda $398f,y
        sta $3955
        and #$04
        bne loc_3233
        lda $3955
        and #$10
        bne loc_3233
        lda $3953
        bne loc_3236

loc_3233:
        jmp loc_3830

loc_3236:
        pha
        and #$78
        lsr
        lsr
        lsr
        sta $3958,x
        pla
        and #$07
        sta $3957
        lda $395b,x
        beq loc_3254
        dec $395e,x
        bne loc_3268
        inc $395b,x
        bpl loc_3268

loc_3254:
        inc $395e,x
        lda $3958,x
        cmp $395e,x
        bcs loc_3268
        sta $395e,x
        dec $395b,x
        dec $395e,x

loc_3268:
        lda $3930,x
        tay
        lda $3565,y
        sec
        sbc dat_3564,y
        sta $397f
        lda $35c5,y
        sbc $35c4,y
        adc $3942,x
        lsr

loc_3280:
        dec $3957
        bmi loc_328c
        lsr
        ror $397f
        jmp loc_3280

loc_328c:
        sta $397e
        lda dat_3564,y
        sta $397c
        lda $35c4,y
        sta $397d
        lda $3958,x
        lsr
        tay

loc_32a0:
        dey
        bmi loc_32b9
        sec
        lda $397c
        sbc $397f
        sta $397c
        lda $397d
        sbc $397e
        sta $397d
        jmp loc_32a0

loc_32b9:
        lda $3942,x
        cmp #$04
        bcc loc_32eb
        ldy $395e,x

loc_32c3:
        dey
        bmi loc_32dc
        clc
        lda $397c
        adc $397f
        sta $397c
        lda $397d
        adc $397e
        sta $397d
        jmp loc_32c3

loc_32dc:
        ldy $3956
        lda $397c
        sta $d400,y
        lda $397d
        sta $d401,y

loc_32eb:
        ldx $ff
        ldy $3956
        lda $392a,x
        sec
        sbc $3927,x
.label smc_32f8 = * + 1
        cmp #$06                                    // !SMC: modified by $3125
        bcc loc_3341
        lda $393f,x
        beq loc_3341
        and #$03
        cmp #$01
        beq loc_3325
        lda $3964
        sec
        lda $393c,x
        sbc $3964
        sta $393c,x
        sta $d400,y
        lda $3936,x
        sbc $3965
        sta $3936,x
        sta $d401,y
        jmp loc_3341

loc_3325:
        lda $3964
        clc
        lda $393c,x
        adc $3964
        sta $393c,x
        sta $d400,y
        lda $3936,x
        adc $3965
        sta $3936,x
        sta $d401,y

loc_3341:
        lda $3954
        beq loc_33b2
        and #$07
        tay
        dey
        tya
        asl
        asl
        tay
        lda $3695,y
        cmp $3942,x
        bcc loc_3359
        jmp loc_3363

loc_3359:
        iny
        iny
        lda $3695,y
        cmp $3942,x
        bcc loc_336d

loc_3363:
        iny
        lda $3695,y
        sta $394e
        jmp loc_3375

loc_336d:
        lda $3954
        and #$fc
        sta $394e

loc_3375:
        lda $396f,x
        bne loc_3397
        lda $3945,x
        sec
        sbc $394e
        sta $3945,x
        lda $3948,x
        sbc #$00
        sta $3948,x
        cmp #$01
        bcs loc_33b2
        lda #$01
        sta $396f,x
        bne loc_33b2

loc_3397:
        lda $3945,x
        clc
        adc $394e
        sta $3945,x
        lda $3948,x
        adc #$00
        sta $3948,x
        cmp #$0f
        bcc loc_33b2
        lda #$00
        sta $396f,x

loc_33b2:
        lda #$00
        sta smc_33d4                                // SMC: modifies $33d4
        lda $394b,x
        and #$80
        beq loc_33ca
        lda $3942,x
        and #$01
        beq loc_33ca
        lda #$b0
        sta smc_33d4                                // SMC: modifies $33d4

loc_33ca:
        ldx $ff
        ldy $3956
        lda $3945,x
        clc
.label smc_33d4 = * + 1
        adc #$00                                    // !SMC: modified by $33b4, $33c7
        sta $d402,y
        lda $3948,x
        adc #$00
        sta $d403,y
        lda $3955
        and #$40
        beq loc_33fb
        ldx $ff
        lda $3942,x
        cmp #$03
        bcc loc_33fb
        and #$03
        tax
        lda $3632,x
        ldx $ff
        sta $3979,x

loc_33fb:
        sty $3967
        lda $3955
        and #$01
        beq loc_342f
        ldx $ff
        stx $3975
        lda #$89
        sta $f9
        lda #$36
        sta $fa
        ldx $ff
        lda $3942,x
        ldy #$0b
        cmp ($f9),y
        bcs loc_3450
        ldy #$0a

loc_341f:
        cmp ($f9),y
        bcs loc_345b
        dey
        cpy #$06
        bne loc_341f
        cmp ($f9),y
        bcs loc_3432
        jmp loc_347b

loc_342f:
        jmp loc_346a

loc_3432:
        lda $ff
        asl
        bne loc_343a
        clc
        adc #$01

loc_343a:
        sta $3968
        ldx $3972
        txa
        and $3968
        bne loc_344e
        txa
        clc
        adc $3968
        sta $d417

loc_344e:
        ldy #$06

loc_3450:
        dey
        dey
        dey
        dey
        dey
        dey
        lda ($f9),y
        jmp loc_3473

loc_345b:
        dey
        dey
        dey
        dey
        dey
        dey
        lda $3969,x
        clc
        adc ($f9),y
        jmp loc_3473

loc_346a:
        lda $ff
        cmp $3975
        bne loc_347b
        lda #$ff

loc_3473:
        ldx $ff
        sta $3969,x
        sta $d416

loc_347b:
        ldy $3967
        lda $3955
        and #$10
        beq loc_34e3
        lda $3953
        and #$0f
        tax
        lda $363e,x
        sta smc_34af                                // SMC: modifies $34af
        lda $3640,x
        sta smc_34b0                                // SMC: modifies $34b0
        lda $3642,x
        sta smc_34b7                                // SMC: modifies $34b7
        lda $3644,x
        sta smc_34b8                                // SMC: modifies $34b8
        ldx $ff
        lda $3942,x
        cmp #$0f
        bcs loc_34e0
        tax
        dex
.label smc_34af = * + 1
.label smc_34b0 = * + 2
        lda $3676,x                                 // !SMC: modified by $348e, $3494
        ldy $ff
        sta $3979,y
.label smc_34b7 = * + 1
.label smc_34b8 = * + 2
        lda $3666,x                                 // !SMC: modified by $349a, $34a0
        sta $3968
        lda $3953
        and #$10
        beq loc_34cf
        ldx $ff
        lda $3930,x
        clc
        adc $3968
        jmp loc_3542

loc_34cf:
        ldy $3956
        lda $3968
        clc
        adc #$0d
        sta $d401,y
        lda #$00
        sta $d400,y

loc_34e0:
        jmp loc_3552

loc_34e3:
        lda $3955
        and #$80
        beq loc_351e
        ldx $ff
        ldy $3956
        lda $3942,x
        cmp #$02
        bcs loc_350a
        lda #$48
        sta $d401,y
        lda #$00
        sta $d400,y
        ldx $ff
        lda #$81
        sta $3979,x
        jmp loc_3552

loc_350a:
        lda $393c,x
        sta $d400,y
        lda $3936,x
        sta $d401,y
        lda $392d,x
        and #$fe
        sta $3979,x

loc_351e:
        lda $3955
        and #$04
        beq loc_3552
        dec $3961,x
        bpl loc_352f
        lda #$02
        sta $3961,x

loc_352f:
        ldx $ff
        lda $3961,x
        tax
        lda $3686,x
        sta $41
        ldx $ff
        lda $3930,x
        clc
        adc $41

loc_3542:
        tax
        ldy $3956
        lda dat_3564,x
        sta $d400,y
        lda $35c4,x
        sta $d401,y

loc_3552:
        ldx $ff
        ldy $3956
        lda $3979,x
        sta $d404,y
        dex
        bmi loc_3563
        jmp loc_3045

loc_3563:
        rts

// --- Region $3807-$381e ---
.pc = $3807 "loc_3807"

loc_3807:
        bne loc_3841
        sta $2c
        lda $38d3,x
        sta $2d
        ldy #$05

loc_3812:
        lda ($2c),y
        sta $36a1,y
        dey
        bpl loc_3812
        jmp loc_3908

dat_381d:
        .byte $00,$80                               // ..

// --- Region $3830-$384e ---
.pc = $3830 "loc_3830"

loc_3830:
        lda $3953
        beq loc_3848
        lsr
        lsr
        lsr
        lsr
        tax
        lda $3953
        and #$0f

loc_383f:
.label loc_3841 = * + 2
        sta $3688
        stx $3687
        jmp loc_32eb

loc_3848:
        lda #$18
        ldx #$0c
        bne loc_383f
        brk

// --- Region $38d9-$3916 ---
.pc = $38d9 "sub_38d9"
// Referenced by: jsr from $3908

sub_38d9:
        lda #$00
        ldx #$62

loc_38dd:
        sta $3921,x
        dex
        bpl loc_38dd
        lda #$b0
        sta $3972

loc_38e8:
        lda #$00
        sta $3942
        sta $3943
        sta $3944
        ldx #$02

loc_38f5:
        sta $3921,x
        sta $3924,x
        sta $3927,x
        sta $3930,x
        dex
        bpl loc_38f5
        sta $3974
        rts

loc_3908:
        jsr sub_38d9

loc_390b:
        ldx #$00
        txa

loc_390e:
        sta $d400,x
        inx
        cpx #$18
        bne loc_390e
        rts

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

// --- Region $0800-$0ad7 ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (728 bytes, $0800-$0ad7) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $1e,$36,$66,$c6,$c6,$fe,$c6,$00       // char 1 @+1
        .byte $f0,$d8,$cc,$fe,$c6,$c6,$fe,$00       // char 2 @+2
        .byte $1e,$30,$60,$c0,$c0,$c0,$fe,$00       // char 3 @+3
        .byte $f0,$d8,$cc,$c6,$c6,$c6,$fe,$00       // char 4 @+4
        .byte $1e,$30,$60,$f8,$c0,$c0,$fe,$00       // char 5 @+5
        .byte $1e,$30,$60,$f8,$c0,$c0,$c0,$00       // char 6 @+6
        .byte $1e,$30,$60,$c0,$ce,$c6,$fe,$00       // char 7 @+7
        .byte $46,$c6,$c6,$fe,$c6,$c6,$c6,$00       // char 8 @+8
        .byte $08,$18,$18,$18,$18,$18,$18,$00       // char 9 @+9
        .byte $02,$06,$06,$06,$46,$c6,$fe,$00       // char 10 @+10
        .byte $46,$cc,$d8,$f0,$d8,$cc,$c6,$00       // char 11 @+11
        .byte $40,$c0,$c0,$c0,$c0,$c0,$fe,$00       // char 12 @+12
        .byte $46,$c6,$ee,$fe,$d6,$c6,$c6,$00       // char 13 @+13
        .byte $46,$c6,$e6,$f6,$de,$ce,$c6,$00       // char 14 @+14
        .byte $1e,$36,$66,$c6,$c6,$c6,$fe,$00       // char 15 @+15
        .byte $78,$cc,$c6,$c6,$fe,$c0,$c0,$00       // char 16 @+16
        .byte $1e,$36,$66,$c6,$d6,$dc,$fa,$00       // char 17 @+17
        .byte $78,$cc,$c6,$c6,$fe,$cc,$c6,$00       // char 18 @+18
        .byte $1e,$30,$60,$c0,$fe,$06,$fe,$00       // char 19 @+19
        .byte $7e,$18,$18,$18,$18,$18,$10,$00       // char 20 @+20
        .byte $46,$c6,$c6,$c6,$c6,$c6,$fe,$00       // char 21 @+21
        .byte $46,$c6,$c6,$c6,$cc,$d8,$f0,$00       // char 22 @+22
        .byte $46,$c6,$c6,$d6,$d6,$dc,$f8,$00       // char 23 @+23
        .byte $46,$c6,$6c,$38,$6c,$c6,$c6,$00       // char 24 @+24
        .byte $46,$c6,$c6,$6c,$38,$18,$18,$00       // char 25 @+25
        .byte $7e,$0c,$18,$30,$60,$c0,$fe,$00       // char 26 @+26
        .byte $78,$60,$60,$60,$60,$60,$78,$00       // char 27 @+27
        .byte $66,$66,$66,$00,$00,$00,$00,$00       // char 28 @+28
        .byte $3c,$0c,$0c,$0c,$0c,$0c,$3c,$00       // char 29 @+29
        .byte $30,$78,$fc,$30,$30,$30,$30,$00       // char 30 @+30
        .byte $20,$60,$fe,$fe,$60,$20,$00,$00       // char 31 @+31
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 32 ' '
        .byte $18,$18,$18,$08,$00,$18,$18,$00       // char 33 '!'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 34 '"'
        .byte $66,$ff,$66,$66,$66,$ff,$66,$00       // char 35 '#'
        .byte $10,$7c,$60,$38,$0c,$7c,$10,$00       // char 36 '$'
        .byte $c4,$cc,$18,$30,$60,$cc,$8c,$00       // char 37 '%'
        .byte $3e,$66,$66,$3c,$78,$cc,$fe,$00       // char 38 '&'
        .byte $0c,$18,$30,$60,$00,$00,$00,$00       // char 39 '''
        .byte $1c,$30,$60,$60,$60,$30,$1c,$00       // char 40 '('
        .byte $70,$18,$0c,$0c,$0c,$18,$70,$00       // char 41 ')'
        .byte $00,$6c,$38,$fe,$38,$6c,$00,$00       // char 42 '*'
        .byte $00,$30,$30,$fc,$30,$30,$00,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$08,$18,$30,$00       // char 44 ','
        .byte $00,$00,$00,$fe,$00,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$18,$18,$00       // char 46 '.'
        .byte $06,$0c,$18,$30,$60,$c0,$80,$00       // char 47 '/'
        .byte $1c,$36,$66,$c6,$c6,$c6,$7c,$00       // char 48 '0'
        .byte $08,$18,$38,$18,$18,$18,$18,$00       // char 49 '1'
        .byte $7c,$06,$06,$3c,$60,$c0,$fe,$00       // char 50 '2'
        .byte $3e,$06,$06,$1c,$06,$c6,$fe,$00       // char 51 '3'
        .byte $46,$c6,$c6,$fe,$06,$06,$02,$00       // char 52 '4'
        .byte $3e,$60,$c0,$fc,$06,$c6,$7c,$00       // char 53 '5'
        .byte $1e,$30,$60,$fe,$c6,$c6,$fe,$00       // char 54 '6'
        .byte $7e,$86,$0c,$18,$30,$30,$30,$00       // char 55 '7'
        .byte $1e,$36,$66,$fe,$c6,$c6,$fe,$00       // char 56 '8'
        .byte $7e,$e6,$c6,$fe,$06,$06,$02,$00       // char 57 '9'
        .byte $18,$18,$00,$00,$18,$18,$00,$00       // char 58 ':'
        .byte $18,$18,$00,$00,$08,$18,$30,$00       // char 59 ';'
        .byte $0e,$18,$30,$60,$30,$18,$0e,$00       // char 60 '<'
        .byte $00,$00,$fe,$00,$fe,$00,$00,$00       // char 61 '='
        .byte $70,$18,$0c,$06,$0c,$18,$70,$00       // char 62 '>'
        .byte $fe,$06,$06,$7c,$60,$00,$60,$00       // char 63 '?'
        .byte $00,$3c,$66,$6e,$6e,$60,$3e,$00       // char 64 '@'
        .byte $00,$1c,$3e,$77,$77,$7f,$77,$00       // char 65 'A'
        .byte $00,$7e,$77,$7e,$77,$77,$7e,$00       // char 66 'B'
        .byte $00,$3e,$77,$70,$70,$77,$3e,$00       // char 67 'C'
        .byte $00,$7c,$76,$77,$77,$7e,$7c,$00       // char 68 'D'
        .byte $00,$7f,$78,$7e,$78,$78,$7f,$00       // char 69 'E'
        .byte $00,$7f,$78,$7e,$78,$78,$78,$00       // char 70 'F'
        .byte $00,$3e,$77,$70,$77,$77,$3b,$00       // char 71 'G'
        .byte $00,$77,$77,$7f,$77,$77,$77,$00       // char 72 'H'
        .byte $00,$7f,$1c,$1c,$1c,$1c,$7f,$00       // char 73 'I'
        .byte $00,$07,$07,$07,$07,$77,$3e,$00       // char 74 'J'
        .byte $00,$77,$76,$7c,$7c,$76,$77,$00       // char 75 'K'
        .byte $00,$78,$78,$78,$78,$78,$7f,$00       // char 76 'L'
        .byte $00,$63,$77,$7f,$7f,$77,$77,$00       // char 77 'M'
        .byte $00,$7b,$7b,$7f,$7f,$77,$77,$00       // char 78 'N'
        .byte $00,$3e,$77,$77,$77,$7f,$3e,$00       // char 79 'O'
        .byte $00,$7e,$77,$77,$7e,$70,$70,$00       // char 80 'P'
        .byte $00,$3e,$77,$77,$7f,$7e,$3b,$00       // char 81 'Q'
        .byte $00,$7e,$77,$77,$7e,$77,$77,$00       // char 82 'R'
        .byte $00,$3e,$77,$38,$0e,$77,$3e,$00       // char 83 'S'
        .byte $00,$7f,$1c,$1c,$1c,$1c,$1c,$00       // char 84 'T'
        .byte $00,$77,$77,$77,$77,$7f,$3b,$00       // char 85 'U'
        .byte $00,$77,$77,$77,$77,$3e,$1c,$00       // char 86 'V'
        .byte $00,$77,$77,$7f,$7f,$77,$63,$00       // char 87 'W'
        .byte $00,$77,$77,$3e,$3e,$77,$77,$00       // char 88 'X'
        .byte $00,$77,$77,$3e,$1c,$1c,$1c,$00       // char 89 'Y'
        .byte $00,$7f,$0e,$1c,$38,$70,$7f           // char 90 (partial)

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

// --- Region $0b00-$0bff ---
.pc = $0b00 "txt_0b00"

txt_0b00:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 96 '`'
        .byte $20,$20,$20,$20,$10,$12,$0f,$15       // char 97 'a'
        .byte $04,$0c,$19,$20,$10,$12,$05,$13       // char 98 'b'
        .byte $05,$0e,$14,$13                       // char 99 (partial)

txt_0b1c:
        .byte $3a                                   // char 99 (partial)

dat_0b1d:
        // === Fill data (63 bytes, $0b1d-$0b5b) ===
        .fill 63, $20
        .byte $10,$15,$12,$10                       // char 107 (partial)
        .byte $0c,$05,$20,$08,$05,$01,$12,$14       // char 108 'l'

txt_0b68:
        .byte $20,$31,$30,$31,$25                   // char 109 (partial)

dat_0b6d:
        // === Fill data (61 bytes, $0b6d-$0ba9) ===
        .fill 61, $20
        .byte $12,$05,$0c,$05,$01,$13               // char 117 (partial)
        .byte $05,$04,$20,$0f,$0e                   // char 118 (partial)

txt_0bb5:
        .byte $20,$33,$31                           // char 118 (partial)
        .byte $2f,$31,$32,$2f,$38,$38               // char 119 (partial)

dat_0bbe:
        // === Fill data (66 bytes, $0bbe-$0bff) ===
        .fill 66, $20

// --- Region $0c4e-$0d1f ---
.pc = $0c4e "Program $0c4e"
        .byte $00,$00,$14,$15,$16,$17,$19           // char 0 (partial)
        .byte $1a,$1b,$1c,$1d,$1f                   // char 1 (partial)

txt_0c5a:
        .byte $20,$21,$22                           // char 1 (partial)
        .byte $23,$23,$24,$25,$25,$26,$26,$27       // char 2 @+2
        .byte $27,$27,$27,$27,$27,$27,$27,$27       // char 3 @+3
        .byte $26,$26,$25,$25,$24,$23,$23,$22       // char 4 @+4
        .byte $21,$20,$1f,$1e,$1c,$1b,$1a,$19       // char 5 @+5
        .byte $17,$16,$15,$14,$12,$11,$10,$0e       // char 6 @+6
        .byte $0d,$0c,$0b,$0a,$08,$07,$06,$05       // char 7 @+7
        .byte $04,$04,$03,$02,$02,$01,$01,$00       // char 8 @+8
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 9 @+9
        .byte $01,$01,$02,$02,$03,$04,$04,$05       // char 10 @+10
        .byte $06,$07,$08,$09,$0b,$0c,$0d,$0e       // char 11 @+11
        .byte $10,$11,$12,$17,$15,$13,$10,$16       // char 12 @+12
        .byte $14,$12,$11,$10,$17,$16,$16,$16       // char 13 @+13
        .byte $17,$11,$12,$15,$10,$14,$10,$15       // char 14 @+14
        .byte $13,$11,$10,$10,$10,$11,$13,$15       // char 15 @+15
        .byte $10,$14,$10,$15,$12,$11,$17,$16       // char 16 @+16
        .byte $16,$16,$17,$17,$11,$12,$14,$16       // char 17 @+17
        .byte $10,$13,$15,$17,$12,$14,$17,$11       // char 18 @+18
        .byte $13,$15,$16,$17,$10,$11,$11,$11       // char 19 @+19
        .byte $10,$16,$15,$12,$17,$13,$17,$12       // char 20 @+20
        .byte $14,$16,$17,$17,$17,$16,$14,$12       // char 21 @+21
        .byte $17,$13,$17,$12,$15,$16,$10,$11       // char 22 @+22
        .byte $11,$11,$10,$10,$16,$15,$13,$11       // char 23 @+23
        .byte $17,$14,$12,$12,$12,$00,$00,$00       // char 24 @+24
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 25 @+25
        .byte $00,$00,$00                           // char 26 (partial)

// --- Region $0d3c-$1000 ---
.pc = $0d3c "Program $0d3c"
        .byte $20,$20,$20,$20,$10,$10               // char 0 (partial)
        .byte $11,$11,$12,$12,$13,$13,$14,$14       // char 1 @+1
        .byte $15,$15,$16,$16,$17,$17,$17,$17       // char 2 @+2
        .byte $16,$16,$15,$15,$14,$14,$13,$13       // char 3 @+3
        .byte $12,$12,$11,$11,$10,$10               // char 4 (partial)

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

txt_0dc0:
        .byte $20,$20                               // char 16 (partial)
        .byte $20,$20,$20,$20,$20,$00,$14,$14       // char 17 @+17
        .byte $14,$14,$14,$14,$14,$14,$14,$14       // char 18 @+18
        .byte $14,$14,$14,$14,$14,$14,$14,$14       // char 19 @+19
        .byte $14,$14,$14,$14,$14,$14,$00,$01       // char 20 @+20
        .byte $01,$02,$03,$04,$05,$01,$06,$07       // char 21 @+21
        .byte $08,$01,$01,$09,$0a,$0b,$0c,$0d       // char 22 @+22
        .byte $0e,$0f,$01,$01,$01,$10,$08,$01       // char 23 @+23
        .byte $01,$06,$07,$11,$12,$01,$01,$13       // char 24 @+24

dat_0e02:
        // === Fill data (46 bytes, $0e02-$0e2f) ===
        .fill 46, $14
        .byte $15,$16                               // char 30 (partial)
        .byte $16,$16,$17,$18,$16,$16,$16,$19       // char 31 @+31
        .byte $1a,$1b,$1c,$16,$1d,$1e,$16,$16       // char 32 ' '
        .byte $1f,$20,$16,$21,$16,$22,$1a,$16       // char 33 '!'
        .byte $16,$16,$19,$23,$1b,$16,$16,$24       // char 34 '"'
        .byte $25                                   // char 35 (partial)

dat_0e53:
        // === Fill data (45 bytes, $0e53-$0e7f) ===
        .fill 45, $14

txt_0e80:
        .byte $26,$27                               // char 40 (partial)
        .byte $28,$29,$2a,$2b,$2c,$2d,$2e,$2f       // char 41 ')'
        .byte $30,$31,$32,$33,$1d                   // char 42 (partial)

txt_0e8f:
        .byte $34,$35,$36                           // char 42 (partial)
        .byte $37,$38,$39,$3a,$3b,$3c,$3d,$3e       // char 43 '+'
        .byte $3f,$40,$41,$42,$43,$44,$45,$46       // char 44 ','
        .byte $47                                   // char 45 (partial)

dat_0ea3:
        // === Fill data (45 bytes, $0ea3-$0ecf) ===
        .fill 45, $14

txt_0ed0:
        .byte $48,$49                               // char 50 (partial)
        .byte $4a,$4b,$4c,$4d,$4e,$5f               // char 51 (partial)

txt_0ed8:
        .byte $50,$51                               // char 51 (partial)
        .byte $52,$53,$54,$49,$1d                   // char 52 (partial)

txt_0edf:
        .byte $55,$56,$57                           // char 52 (partial)
        .byte $58,$59,$4a,$5a,$5b,$5c,$5d,$5e       // char 53 '5'
        .byte $5f,$60,$61,$62,$63,$49,$64,$65       // char 54 '6'
        .byte $66                                   // char 55 (partial)

dat_0ef3:
        // === Fill data (45 bytes, $0ef3-$0f1f) ===
        .fill 45, $14
        .byte $67,$68                               // char 60 (partial)
        .byte $69,$6a,$6b,$6c,$6d,$6e,$6f,$70       // char 61 '='
        .byte $71,$72,$54,$73,$1d,$74,$75,$76       // char 62 '>'
        .byte $6d,$20,$73,$77,$78,$79,$7a,$7b       // char 63 '?'
        .byte $7c,$7d,$7e,$7f,$80,$81,$73,$82       // char 64 '@'
        .byte $83                                   // char 65 (partial)

dat_0f43:
        // === Fill data (47 bytes, $0f43-$0f71) ===
        .fill 47, $14
        .byte $84,$85,$86,$87,$88,$89,$85,$8a       // char 71 'G'
        .byte $8b,$86,$54,$8c,$8d,$8e,$8f,$90       // char 72 'H'
        .byte $91,$92,$8c,$8c,$8c,$8a,$14,$14       // char 73 'I'
        .byte $54,$8c,$8a,$8b,$8c,$8c,$93,$94       // char 74 'J'
        .byte $95                                   // char 75 (partial)

dat_0f93:
        // === Fill data (47 bytes, $0f93-$0fc1) ===
        .fill 47, $14
        .byte $96,$97,$98,$99,$97,$9a,$97,$9b       // char 81 'Q'
        .byte $9c,$98,$9d,$97,$9e,$9f,$97,$97       // char 82 'R'
        .byte $a0,$9d,$97,$97,$97,$9b,$14,$14       // char 83 'S'
        .byte $9d,$97,$9b,$9c,$97,$97,$a1,$14       // char 84 'T'
        .byte $14,$14,$14,$14,$14,$14,$14,$14       // char 85 'U'
        .byte $14,$14,$14,$14,$14,$14,$14,$14       // char 86 'V'
        .byte $14,$14,$14,$14,$14,$14,$14,$14       // char 87 'W'
        .byte $14,$14,$14,$14,$14,$14               // char 88 (partial)

dat_1000:
        // === Fill data (1 bytes, $1000-$1000) ===
        .byte $00                                   // .

// --- Region $1140-$1140 ---
.pc = $1140 "spr_1140"

spr_1140:
        .byte $00                                   // .

// --- Region $1280-$1280 ---
.pc = $1280 "spr_1280"

spr_1280:
        .byte $00                                   // .

// --- Region $148e-$148e ---
.pc = $148e "dat_148e"

dat_148e:
        // === Fill data (1 bytes, $148e-$148e) ===
        .byte $00                                   // .

// --- Region $1540-$1540 ---
.pc = $1540 "spr_1540"

spr_1540:
        .byte $00                                   // .

// --- Region $1955-$1960 ---
.pc = $1955 "dat_1955"

dat_1955:
        .byte $60,$60,$14,$15,$17,$16,$14,$13,$12,$11,$10 // ``.........

dat_1960:
        // === Fill data (1 bytes, $1960-$1960) ===
        .byte $00                                   // .

// --- Region $19a5-$19a6 ---
.pc = $19a5 "dat_19a5"

dat_19a5:
        .byte $60,$60                               // ``

// --- Region $19e4-$19ff ---
.pc = $19e4 "dat_19e4"

dat_19e4:
        .byte $60,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$06,$04 // ``..............
        .byte $0e,$0f,$07,$01,$01,$07,$0a,$08,$02,$09,$00,$00 // ............

// --- Region $1a18-$1a5f ---
.pc = $1a18 "Segment $1a18"
        .fill 8, $00
        .byte $01,$08,$08,$08,$08,$01,$08,$08,$08,$08,$08,$08,$08,$01,$08,$08 // ................
        .fill 16, $01
        .byte $00,$06,$04,$0e,$0f,$07,$01,$01,$07,$0a,$08,$02,$09,$00,$00,$00 // ................
        .byte $00,$00,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ................

// --- Region $1a78-$1aad ---
.pc = $1a78 "Segment $1a78"
        .fill 9, $01
        .byte $08,$08,$08,$08,$01,$08,$08,$08,$08,$08,$08,$08,$01,$08,$08,$01 // ................
        .byte $01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $06,$04,$0e,$0f,$07,$01,$01,$07,$0a,$08,$02,$09 // ............

dat_1aad:
        // === Fill data (1 bytes, $1aad-$1aad) ===
        .byte $00                                   // .

// --- Region $1b18-$1b1f ---
.pc = $1b18 "dat_1b18"

dat_1b18:
        .fill 8, $00

// --- Region $1b34-$1b3f ---
.pc = $1b34 "dat_1b34"

dat_1b34:
        .fill 12, $00

// --- Region $1b58-$1b5f ---
.pc = $1b58 "dat_1b58"

dat_1b58:
        .fill 8, $00

// --- Region $1c00-$1d1c ---
.pc = $1c00 "txt_1c00"

txt_1c00:
        .encoding "screencode_mixed"
        .text "   yupp ! again it's tribor with a further shoot'em up release called 'purple heart'. to come intouch with uz,look in 1ca0 for adress"
        .encoding "petscii_upper"

txt_1c85:
        .text "                         "
        .byte $00                                   // string terminator
        .fill 9, $00

txt_1ca8:
        .encoding "screencode_mixed"
        .text " the rangers! "
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text "@"
        .text " plk"
        .encoding "petscii_upper"

txt_1ccc:
        .text " 046743-"
        .byte $02,$20,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // . ..............
        .byte $00,$00,$00                           // ...

txt_1ce7:
        .text " 565 "
        .byte $13,$0f,$0c,$09,$0e,$07,$05,$0e,$2d,$31,$20,$00,$00,$00,$00,$00 // ........-1 .....
        .byte $00,$00,$00,$00,$ae,$46,$03,$e8,$8e,$46,$03,$e0,$08,$f0,$a5,$72 // .....F...F.....r
        .byte $ea,$ea,$c6,$72,$c9,$00,$f0,$06,$a9,$00,$8d,$46,$03,$60,$4c,$00 // ...r.......F.`L.
        .byte $1f                                   // .

// --- Region $1d1e-$1d7e ---
.pc = $1d1e "dat_1d1e"

dat_1d1e:
        .byte $60,$60,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ``..............
        .byte $00,$00,$ae,$47,$03,$e8,$8e,$47,$03,$e0,$0a,$f0,$01,$60,$ae,$48 // ...G...G.....`.H
        .byte $03,$bd,$71,$1d,$8d,$69,$18,$8d,$6e,$18,$e8,$ee,$48,$03,$e0,$0f // ..q..i..n...H...
        .byte $f0,$09,$a9,$00,$8d,$47,$03,$20,$0a,$1d,$60,$a2,$00,$a9,$00,$9d // .....G. ..`.....
        .byte $00,$d8,$9d,$ff,$d8,$9d,$fe,$d9,$9d,$fd,$da,$e8,$e0,$ff,$d0,$ef // ................
        .byte $4c,$00,$1f,$0b,$0c,$0f,$01,$0f,$0c,$0b,$0c,$0f,$01,$0f,$0c,$0b // L...............

dat_1d7e:
        // === Fill data (1 bytes, $1d7e-$1d7e) ===
        .byte $00                                   // .

// --- Region $1e71-$1e71 ---
.pc = $1e71 "dat_1e71"

dat_1e71:
        // === Fill data (1 bytes, $1e71-$1e71) ===
        .byte $00                                   // .

// --- Region $1eb0-$1eb0 ---
.pc = $1eb0 "dat_1eb0"

dat_1eb0:
        // === Fill data (1 bytes, $1eb0-$1eb0) ===
        .byte $00                                   // .

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

dat_1f00:
        .byte $78,$20,$5b,$ff,$20,$15,$fd,$20,$bf,$e3,$20,$a3,$fd,$58,$a9,$00 // x [. .. .. ..X..
        .byte $8d,$20,$d0,$8d,$21,$d0,$ea,$a2,$00,$9d,$00,$d4,$e8,$e0,$1a,$d0 // . ..!...........
        .byte $f8,$a2,$00,$bd,$3f,$1f,$69,$00,$9d,$e0,$05,$e8,$e0,$27,$d0,$f3 // ....?.i......'..
        .byte $a2,$00,$a9,$01,$9d,$e0,$d9,$e8,$e0,$28,$d0,$f6,$4c,$70,$1f,$1f // .........(..Lp..

txt_1f40:
        .text "    "

txt_1f44:
        .encoding "screencode_mixed"
        .text "rangers the beasts rangers"
        .encoding "petscii_upper"

txt_1f5e:
        .text "         "
        .byte $00                                   // string terminator
        .fill 8, $00
        .byte $a2,$50,$bd,$95,$1f,$9d,$3c,$03,$ca,$10,$f7,$a5,$2e,$38,$e9,$0e // .P....<......8..
        .byte $85,$2e,$a5,$2d,$38,$e9,$3f,$b0,$02,$c6,$2e,$85,$2d,$a9,$00,$8d // ...-8.?.....-...
        .byte $00,$08,$4c,$3c,$03,$78,$a9,$34,$85,$01,$a0,$ea,$a2,$00,$bd,$00 // ..L<.x.4........
        .byte $3d,$9d,$01,$08,$bd,$3c,$03,$9d,$00,$04,$e8,$d0,$f1,$ee,$47,$03 // =....<........G.
        .byte $ee,$4a,$03,$ce,$4d,$03,$88,$d0,$e3,$a9,$37,$85,$01,$58,$4c,$e2 // .J..M.....7..XL.
        .byte $fc                                   // .

dat_1fc1:
        // === Fill data (1 bytes, $1fc1-$1fc1) ===
        .byte $00                                   // .

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

spr_2000:
        .byte $00,$15,$10,$13,$12,$12,$11,$10,$00,$55,$00,$ff,$aa,$aa,$55,$00 // .........U....U.
        .byte $00,$50,$05,$c0,$a8,$aa,$55,$00,$00,$00,$00,$40,$10,$04,$44,$04 // .P....U....@..D.
        .byte $00,$00,$00,$00,$01,$04,$04,$04,$00,$01,$14,$40,$0a,$2a,$55,$00 // ...........@.*U.
        .byte $00,$40,$14,$01,$a0,$a8,$55,$00,$00,$00,$00,$00,$40,$10,$10,$10 // .@....U.....@...
        .byte $00                                   // .

txt_2041:
        .byte $55,$40,$4f,$4a,$4a,$45,$40           // char 8 (partial)
        .byte $00,$40,$14,$01,$a0,$a8,$54,$00       // char 9 @+9
        .byte $00,$00,$00,$00,$40,$40,$10,$11       // char 10 @+10
        .byte $00,$00,$05,$10,$42,$4a,$45,$00       // char 11 @+11
        .byte $00,$55,$00,$3f,$aa,$aa,$55,$00       // char 12 @+12
        .byte $00,$55,$00,$fc,$aa,$aa,$55,$00       // char 13 @+13
        .byte $00,$00,$50,$04,$81,$a1,$51,$00       // char 14 @+14
        .byte $00,$05,$04,$04,$04,$04,$04,$44       // char 15 @+15
        .byte $00,$54,$04,$c4,$84,$84,$44,$04       // char 16 @+16
        .byte $00,$00,$00,$01,$04,$10,$11,$10       // char 17 @+17
        .byte $00,$05,$50,$03,$2a,$aa,$55,$00       // char 18 @+18
        .byte $00,$50,$10,$10,$10,$10,$10,$10       // char 19 @+19
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 20 @+20
        .byte $13,$12,$11,$10,$12,$11,$10,$11       // char 21 @+21
        .byte $ff,$aa,$55,$00,$aa,$55,$00,$55       // char 22 @+22
        .byte $c1,$a1,$51,$01,$a1,$51,$01,$51       // char 23 @+23
        .byte $10,$12,$11,$10,$12,$11,$10,$51       // char 24 @+24
        .byte $04,$84,$44,$04,$84,$44,$04           // char 25 (partial)

txt_20cf:
        .byte $44                                   // char 25 (partial)
        .byte $4f,$4a,$45,$40,$4a,$45,$40,$55       // char 26 @+26
        .byte $ff,$aa,$55,$00,$aa,$55,$00,$50       // char 27 @+27
        .byte $ff,$aa,$55,$00,$aa,$55,$00,$15       // char 28 @+28
        .byte $11,$11,$11,$11,$11,$11,$11,$11       // char 29 @+29
        .byte $3f,$2a,$15,$00,$2a,$15,$00,$15       // char 30 @+30
        .byte $fc,$a8,$54,$00,$a8,$54,$00           // char 31 (partial)

txt_20ff:
        .byte $54                                   // char 31 (partial)
        .byte $44,$44,$44,$44,$44,$44,$44,$44       // char 32 ' '
        .byte $ff,$aa,$55,$00,$aa,$55,$00,$45       // char 33 '!'
        .byte $c4,$84,$44,$04,$84,$44,$04           // char 34 (partial)

txt_2117:
        .byte $54                                   // char 34 (partial)
        .byte $43,$4a,$45,$40,$4a,$45,$40,$45       // char 35 '#'
        .byte $10,$11,$10,$10,$10,$10,$11,$50       // char 36 '$'
        .byte $00,$b9,$31,$31,$01,$00,$b9,$31       // char 37 '%'
        .byte $10,$15,$00,$00,$15,$10,$11,$12       // char 38 '&'
        .byte $00,$55,$00,$00,$55,$00,$be,$e9       // char 39 '''
        .byte $00,$50,$04,$04,$50,$02,$af,$5a       // char 40 '('
        .byte $10,$74,$51,$17,$75,$50,$90,$e5       // char 41 ')'
        .byte $01,$01,$01,$41,$01,$11,$41,$d1       // char 42 '*'
        .byte $10,$10,$10,$10,$11,$13,$11,$10       // char 43 '+'
        .byte $04,$0d,$05,$00,$14,$40,$10,$74       // char 44 ','
        .byte $00,$41,$15                           // char 45 (partial)

txt_216b:
        .byte $51,$41,$41,$41,$41                   // char 45 (partial)
        .byte $40,$11,$07,$11,$25,$3a,$2f,$1a       // char 46 '.'
        .byte $04,$44,$44,$04,$44,$44,$84,$c4       // char 47 '/'

txt_2180:
        .byte $40,$40,$40,$40,$44,$4d,$44,$44       // char 48 '0'
        .byte $01,$01,$01,$11,$71,$11,$11,$71       // char 49 '1'
        .byte $04,$41,$10,$04,$04,$04,$04,$04       // char 50 '2'
        .byte $00,$41,$d4,$5d,$56,$6b,$be,$e9       // char 51 '3'
        .byte $10,$34,$11,$17,$35,$10,$10,$25       // char 52 '4'
        .byte $00,$01,$04,$44,$04,$04,$44,$c4       // char 53 '5'
        .byte $00,$40,$10,$10,$15,$00,$00,$00       // char 54 '6'
        .byte $04,$0c,$04,$00,$55,$00,$00,$00       // char 55 '7'
        .byte $44,$44,$44,$44,$44,$04,$04,$04       // char 56 '8'
        .byte $40,$d1                               // char 57 (partial)

txt_21ca:
        .byte $47,$51,$a5,$fa,$af,$5a               // char 57 (partial)
        .byte $04,$44,$45,$00,$75,$50,$90,$e5       // char 58 ':'
        .byte $00,$00,$55,$00,$04,$1c,$44,$d4       // char 59 ';'
        .byte $00,$00                               // char 60 (partial)

txt_21e2:
        .byte $40,$40,$40,$40,$40,$40               // char 60 (partial)
        .byte $40,$55,$00,$00,$55,$40,$46,$4b       // char 61 '='
        .byte $00,$55,$00,$00,$55,$00,$fa,$a5       // char 62 '>'
        .byte $00,$41,$11,$10,$41,$09,$be,$6b       // char 63 '?'
        .byte $40,$d0,$44,$5d,$d4,$40,$41,$97       // char 64 '@'
        .byte $04,$04,$04,$04,$04,$44,$04           // char 65 (partial)

txt_220f:
        .byte $44                                   // char 65 (partial)
        .byte $40,$40,$40,$40,$45,$47,$41,$44       // char 66 'B'
        .byte $01,$01,$00,$00,$17,$41,$11,$76       // char 67 'C'
        .byte $00,$00,$55,$00,$56,$6b,$be,$e9       // char 68 'D'
        .byte $00,$00,$40,$14,$01,$f0,$ac,$58       // char 69 'E'
        .byte $00,$01,$00,$01,$01,$41,$40,$41       // char 70 'F'
        .byte $31,$89,$00,$b9,$01,$b9,$00,$b9       // char 71 'G'
        .byte $13,$12,$11,$10,$10,$11,$10,$10       // char 72 'H'
        .byte $94,$51,$74,$11,$47,$d1,$40,$00       // char 73 'I'
        .byte $45,$d4,$5d,$05,$40,$00,$00,$00       // char 74 'J'
        .byte $b9,$6e,$5b,$d6,$41,$10,$75,$10       // char 75 'K'
        .byte $41,$44,$04,$10,$04,$44,$c1,$41       // char 76 'L'
        .byte $10,$10,$11,$12,$13,$12,$11,$11       // char 77 'M'
        .byte $18,$6c,$b8,$e4,$94,$4c,$14,$00       // char 78 'N'
        .byte $41,$45,$54,$51,$47,$10,$41,$05       // char 79 'O'
        .byte $05,$14,$5d,$05,$40,$00,$00,$00       // char 80 'P'
        .byte $84                                   // char 81 (partial)

txt_2289:
        .byte $44,$44,$c4,$44,$04,$44,$04           // char 81 (partial)

txt_2290:
        .byte $4d,$45,$44,$49,$4e,$4b,$46,$41       // char 82 'R'
        .byte $51,$d1                               // char 83 (partial)

txt_229a:
        .byte $41,$51,$a1,$f1,$a1,$51               // char 83 (partial)
        .byte $04,$04,$04,$04,$04,$04,$04,$04       // char 84 'T'
        .byte $39,$2e,$1b,$16,$01,$10,$35,$10       // char 85 'U'
        .byte $44,$44,$84,$c4,$84,$44,$c4,$44       // char 86 'V'
        .byte $00,$00,$00                           // char 87 (partial)

txt_22bb:
        .byte $55,$40,$4a,$41,$51                   // char 87 (partial)
        .byte $00,$00,$00,$55,$00,$4c,$14,$00       // char 88 'X'
        .byte $04,$04,$04                           // char 89 (partial)

txt_22cb:
        .byte $44,$44,$44,$44,$44                   // char 89 (partial)
        .byte $b9,$6e,$5b,$d6,$41,$10,$40,$05       // char 90 'Z'
        .byte $5c,$44,$94,$e8,$bc,$68,$00           // char 91 (partial)

txt_22df:
        .byte $55                                   // char 91 (partial)
        .byte $40,$40,$40,$40,$40,$40,$40,$40       // char 92 '\'
        .byte $4e,$49,$45,$40,$41,$47,$41,$40       // char 93 ']'
        .byte $51,$47,$d1,$44,$1d,$44,$00,$00       // char 94 '^'
        .byte $16,$51,$75,$17,$01,$00,$01,$00       // char 95 '_'
        .byte $e5,$b9,$6c,$58,$04,$41,$d7,$41       // char 96 '`'
        .byte $04,$10,$10,$40,$10,$10,$04,$04       // char 97 'a'
        .byte $40,$40,$41,$12,$13,$10,$04,$01       // char 98 'b'
        .byte $1b,$6e,$b9,$e4,$94,$4d,$04           // char 99 (partial)

txt_231f:
        .byte $40                                   // char 99 (partial)
        .byte $44,$d4,$5d,$05,$40,$00,$00,$00       // char 100 'd'
        .byte $10,$11,$10,$10,$11,$10,$10,$11       // char 101 'e'
        .byte $b8,$b9,$00,$01,$b9,$01,$00,$b9       // char 102 'f'
        .byte $10,$10,$15,$00,$00,$00,$00,$00       // char 103 'g'
        .byte $00,$00,$55,$00,$00,$00,$00,$00       // char 104 'h'
        .byte $00,$00,$00,$50,$04,$04,$01,$01       // char 105 'i'
        .byte $01,$07,$01,$55,$00,$15,$2a,$00       // char 106 'j'
        .byte $01,$51,$01,$51,$01,$51,$a1,$01       // char 107 'k'
        .byte $13,$11,$10,$11,$10,$11,$12,$10       // char 108 'l'
        .byte $40,$10,$70,$54,$00,$54,$a8,$00       // char 109 'm'
        .byte $11                                   // char 110 (partial)

txt_2371:
        .byte $41,$41,$41,$41,$41,$41,$41           // char 110 (partial)
        .byte $00,$00,$00,$15,$00,$15,$2a,$00       // char 111 'o'
        .byte $04,$04,$04,$44,$04,$44,$84,$04       // char 112 'p'

txt_2388:
        .byte $44,$4d,$44,$45,$40,$45,$4a,$40       // char 113 'q'
        .byte $41,$d1,$41,$51,$01,$51,$a1,$01       // char 114 'r'
        .byte $00,$00,$00,$55,$00,$55,$aa,$00       // char 115 's'
        .byte $01,$07,$01,$15,$00,$15,$2a,$00       // char 116 't'
        .byte $04,$41,$00,$55,$00,$55,$aa,$00       // char 117 'u'
        .byte $13,$41,$04,$55,$00,$55,$aa,$00       // char 118 'v'
        .byte $04,$04,$05,$40,$00,$55,$aa,$00       // char 119 'w'
        .byte $00,$00,$55,$00,$00,$55,$aa,$00       // char 120 'x'
        .byte $00,$00,$54,$04,$04,$44,$84,$04       // char 121 'y'
        .byte $40,$40,$55,$00,$00,$00,$00,$00       // char 122 'z'
        .byte $00,$00,$54,$01,$00,$00,$00,$00       // char 123 '{'
        .byte $00,$00,$00,$41,$10,$10,$04,$04       // char 124 '|'
        .byte $04,$1d,$04,$55,$00,$55,$aa,$00       // char 125 '}'
        .byte $04,$44,$04,$44,$04,$44,$84,$04       // char 126 '~'
        .byte $00,$00,$00,$55,$40,$45,$4a,$40       // char 127
        .byte $15,$00,$00,$55,$00,$55,$aa,$00       // char 128
        .byte $50,$04,$04,$50,$00,$55,$aa,$00       // char 129
        .byte $11,$10,$11,$10,$11,$10,$11,$10       // char 130
        .byte $00,$00,$b9,$00,$b9,$b8,$b9,$00       // char 131
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 132
        .byte $15,$2a,$3f,$00,$15                   // char 133 (partial)

txt_242d:
        .byte $2a,$2a,$3f                           // char 133 (partial)
        .byte $51,$a1,$f1,$01,$51,$a1,$a1,$f1       // char 134
        .byte $11,$12,$13,$10,$11,$12,$12,$13       // char 135
        .byte $54,$a8,$fc,$00,$54,$a8,$a8,$fc       // char 136

txt_2448:
        .byte $41,$41,$41,$41,$41,$41,$41,$41       // char 137
        .byte $44,$84,$c4,$04,$44,$84,$84,$c4       // char 138

txt_2458:
        .byte $45,$4a,$4f,$40,$45,$4a,$4a,$4f       // char 139
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 140
        .byte $11,$11,$11,$11,$10,$10,$10,$10       // char 141
        .byte $15,$2a,$3f,$00,$45,$4a,$42,$10       // char 142
        .byte $55,$aa,$ff,$00,$55,$aa,$aa           // char 143 (partial)

txt_247f:
        .byte $3f                                   // char 143 (partial)
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$fc       // char 144
        .byte $54,$a8,$fc,$00,$51,$a1,$81,$04       // char 145
        .byte $44,$44,$44,$44,$04,$04,$04,$04       // char 146
        .byte $55,$aa,$ff,$00,$54,$a8,$a0,$01       // char 147
        .byte $11,$11,$11,$10,$40,$40,$40,$00       // char 148
        .byte $b9,$31,$01,$00,$00,$00,$00,$00       // char 149
        .byte $01,$01,$00,$00,$00,$00,$00,$00       // char 150
        .byte $00,$55,$00,$00,$00,$00,$00,$00       // char 151
        .byte $01,$55,$00,$00,$00,$00,$00,$00       // char 152
        .byte $10,$15,$00,$00,$00,$00,$00,$00       // char 153
        .byte $41,$41,$00,$00,$00,$00,$00,$00       // char 154
        .byte $04,$54,$00,$00,$00,$00,$00,$00       // char 155
        .byte $40,$55,$00,$00,$00,$00,$00,$00       // char 156
        .byte $04,$05,$00,$00,$00,$00,$00,$00       // char 157
        .byte $10,$50,$00,$00,$00,$00,$00,$00       // char 158
        .byte $05,$00,$00,$00,$00,$00,$00,$00       // char 159
        .byte $50,$00,$00,$00,$00,$00,$00,$00       // char 160
        .byte $14,$40,$00,$00,$00,$00,$00,$00       // char 161
        .byte $00,$00,$00,$50,$04,$04,$01,$01       // char 162
        .byte $01,$07,$01,$55,$00,$15,$2a,$00       // char 163
        .byte $01,$51,$01,$51,$01,$51,$a1,$01       // char 164
        .byte $13,$11,$10,$11,$10,$11,$12,$10       // char 165
        .byte $40,$10,$70,$54,$00,$54,$a8,$00       // char 166
        .byte $11                                   // char 167 (partial)

txt_2539:
        .byte $41,$41,$41,$41,$41,$41,$41           // char 167 (partial)
        .byte $00,$00,$00,$15,$00,$15,$2a,$00       // char 168
        .byte $04,$04,$04,$44,$04,$44,$84,$04       // char 169

txt_2550:
        .byte $44,$4d,$44,$45,$40,$45,$4a,$40       // char 170
        .byte $41,$d1,$41,$51,$01,$51,$a1,$01       // char 171
        .byte $04,$04,$04,$04,$04,$04,$04,$04       // char 172
        .byte $00,$00,$00,$55,$00,$55,$aa,$00       // char 173
        .byte $11,$11,$11,$11,$11,$11,$11,$11       // char 174
        .byte $01,$07,$01,$15,$00,$15,$2a,$00       // char 175
        .byte $04,$41,$00,$55,$00,$55,$aa,$00       // char 176
        .byte $13,$41,$04,$55,$00,$55,$aa,$00       // char 177
        .byte $40,$10,$70,$54,$00,$54,$a8,$00       // char 178

txt_2598:
        .byte $44,$44,$44,$44,$44,$44,$44,$44       // char 179
        .byte $00,$00,$00,$55,$00,$55,$aa,$00       // char 180
        .byte $04,$04,$05,$40,$00,$55,$aa,$00       // char 181
        .byte $00,$00,$55,$00,$00,$55,$aa,$00       // char 182
        .byte $00,$00,$54,$04,$04,$44,$84,$04       // char 183
        .byte $40,$40,$55,$00,$00,$00,$00,$00       // char 184
        .byte $00,$00,$54,$01,$00,$00,$00,$00       // char 185
        .byte $00,$00,$00,$41,$10,$10,$04,$04       // char 186
        .byte $04,$1d,$04,$55,$00,$55,$aa,$00       // char 187
        .byte $04,$44,$04,$44,$04,$44,$84,$04       // char 188
        .byte $00,$00,$00,$55,$40,$45,$4a,$40       // char 189
        .byte $15,$00,$00,$55,$00,$55,$aa,$00       // char 190
        .byte $50,$04,$04,$50,$00,$55,$aa,$00       // char 191
        .byte $00,$00,$00,$55,$00,$55,$aa,$00       // char 192
        .byte $11,$10,$11,$10,$11,$10,$11,$10       // char 193
        .byte $00,$00,$b9,$00,$b9,$b8,$b9           // char 194 (partial)

dat_2617:
        // === Fill data (1 bytes, $2617-$2617) ===
        .byte $00                                   // .

// --- Region $2650-$2753 ---
.pc = $2650 "dat_2650"

dat_2650:
        .byte $01,$01,$01,$01,$01,$01,$01,$01       // char 202
        .byte $15,$2a,$3f,$00,$15                   // char 203 (partial)

txt_265d:
        .byte $2a,$2a,$3f                           // char 203 (partial)
        .byte $51,$a1,$f1,$01,$51,$a1,$a1,$f1       // char 204
        .byte $11,$12,$13,$10,$11,$12,$12,$13       // char 205
        .byte $54,$a8,$fc,$00,$54,$a8,$a8,$fc       // char 206

txt_2678:
        .byte $41,$41,$41,$41,$41,$41,$41,$41       // char 207
        .byte $15,$2a,$3f,$00,$15,$2a,$2a,$3f       // char 208
        .byte $44,$84,$c4,$04,$44,$84,$84,$c4       // char 209

txt_2690:
        .byte $45,$4a,$4f,$40,$45,$4a,$4a,$4f       // char 210
        .byte $51,$a1,$f1,$01,$51,$a1,$a1,$f1       // char 211
        .byte $04,$04,$04,$04,$04,$04,$04,$04       // char 212
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 213
        .byte $11,$11,$11,$11,$10,$10,$10,$10       // char 214
        .byte $15,$2a,$3f,$00,$45,$4a,$42,$10       // char 215
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$0f       // char 216
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$fc       // char 217
        .byte $54,$a8,$fc,$00,$51,$a1,$81,$34       // char 218
        .byte $44,$44,$44,$44,$04,$04,$04,$04       // char 219
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 220
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 221
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 222
        .byte $44,$84,$c4,$04,$44,$84,$84,$c4       // char 223
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 224
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 225
        .byte $04,$04,$04,$04,$04,$04,$04,$04       // char 226
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 227
        .byte $44,$84,$c4,$04,$44,$84,$84,$c4       // char 228

txt_2728:
        .byte $45,$4a,$4f,$40,$45,$4a,$4a,$4f       // char 229
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 230
        .byte $55,$aa,$ff,$00,$55,$aa,$aa,$ff       // char 231
        .byte $55,$aa,$ff,$00,$54,$a8,$a0,$01       // char 232
        .byte $11,$11,$11,$10,$40,$40,$40,$00       // char 233
        .byte $b9,$31,$01                           // char 234 (partial)

dat_2753:
        // === Fill data (1 bytes, $2753-$2753) ===
        .byte $00                                   // .

// --- Region $2790-$29ff ---
.pc = $2790 "dat_2790"

dat_2790:
        .byte $01,$01,$00,$00,$00,$00,$00,$00       // char 242
        .byte $00,$55,$00,$00,$00,$00,$00,$00       // char 243
        .byte $01,$55,$00,$00,$00,$00,$00,$00       // char 244
        .byte $10,$15,$00,$00,$00,$00,$00,$00       // char 245
        .byte $00,$55,$00,$00,$00,$00,$00,$00       // char 246
        .byte $41,$41,$00,$00,$00,$00,$00,$00       // char 247
        .byte $00,$55,$00,$00,$00,$00,$00,$00       // char 248
        .byte $04,$54,$00,$00,$00,$00,$00,$00       // char 249
        .byte $40,$55,$00,$00,$00,$00,$00,$00       // char 250
        .byte $01,$55,$00,$00,$00,$00,$00,$00       // char 251
        .byte $04,$05,$00,$00,$00,$00,$00,$00       // char 252
        .byte $00,$55,$00,$00,$00,$00,$00,$00       // char 253
        .byte $10,$50,$00,$00,$00,$00,$00,$00       // char 254
        .byte $05,$00,$00,$00,$00,$00,$00,$00       // char 255

txt_2800:
        .text "     "
        .byte $12,$05,$07,$01,$12,$04,$13,$20,$14   // ....... .

txt_280e:
        .text "0: - "

txt_2813:
        .encoding "screencode_mixed"
        .text "abary - abnormal - audion - azoo - beyond force - beastie boys - byterapers - cosmos - drive - druids - ega - fantasy - frontline - fuck - lash - magicians - move - mcg - rage - red-star - rush - savage - unic - vision - wwe - waste - xs"
        .encoding "petscii_upper"

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

dat_290b:
        .text "                                                                                                                                                                                                                                                     "

// --- Region $2a2e-$2a48 ---
.pc = $2a2e "dat_2a2e"

dat_2a2e:
        // === Data block (27 bytes, $2a2e-$2a48) ===
        .byte $60,$60,$06,$06,$04,$04,$0e,$0e,$0f,$0f,$07,$07,$01,$01,$01,$01 // ``..............
        .byte $07,$07,$0a,$0a,$08,$08,$02,$02,$09,$09 // ..........

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

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

scr_2c00:
        .byte $00                                   // .

// --- Region $3000-$3005 ---
.pc = $3000 "dat_3000"

dat_3000:
        .byte $4c,$00
        .text "8L/9"

// --- Region $3564-$371b ---
.pc = $3564 "dat_3564"

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

txt_3600:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd                               // ..

txt_3624:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$00,$00,$00
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $06,$06,$07,$07,$08,$08
        .byte $07,$07,$56,$76,$36,$36,$46,$66,$36,$36,$13,$01,$ff,$23,$08,$13 // ..Vv66Ff66...#..
        .byte $03,$23,$00,$00,$00,$00,$00,$00,$00,$00,$81,$41,$40,$80,$80,$80 // .#.........A@...
        .byte $80,$80,$10,$10,$10,$10,$10,$10,$10,$10,$24,$fd,$fb,$f9,$f8,$f7 // ..........$.....
        .byte $f6,$f6,$f5,$f5,$f4,$f4,$f5,$f6,$f5,$f4,$81 // ...........

txt_3677:
        .text "A"
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00                                   // string terminator
        .byte $0c,$18,$c0,$f0,$f8,$f4,$f2,$40,$01,$02,$06,$0c,$10,$30,$04,$a0 // .......@.....0..
        .byte $08,$60,$04,$80,$0c,$10,$03,$80,$10,$40,$00,$80 // .`.......@..

txt_36a3:
        .text "P778 :$:7:F:Y:"
        .byte $6a,$3a,$78,$3a,$8b,$3a,$a7,$3a,$ba,$3a,$d6,$3a,$eb,$3a,$ef,$3a // j:x:.:.:.:.:.:.:
        .byte $07                                   // .

txt_36c2:
        .text ";8;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;"
        .byte $5b,$3b,$5c,$3b,$5d,$3b,$5e,$3b,$6c,$3b,$7a,$3b,$88,$3b,$00,$02 // [;\;];^;l;z;.;..
        .byte $02,$02,$02,$01,$01,$01,$01,$01,$01,$85,$01,$01,$87,$01,$01,$80 // ................
        .byte $0a,$81,$0d,$0a,$03,$03,$03,$0d,$80,$ff // ..........

dat_371b:
        // === Fill data (1 bytes, $371b-$371b) ===
        .byte $00                                   // .

// --- Region $3780-$37ad ---
.pc = $3780 "dat_3780"

dat_3780:
        .byte $03,$03,$02,$02,$02,$02,$02,$02,$08,$08,$85,$08,$08,$87,$08,$08 // ................
        .byte $80,$02,$87,$02,$02,$89,$02,$02,$81,$02,$02,$83,$02,$85,$02,$02 // ................
        .fill 11, $02
        .byte $80,$ff                               // ..

dat_37ad:
        // === Fill data (1 bytes, $37ad-$37ad) ===
        .byte $00                                   // .

// --- Region $3800-$3806 ---
.pc = $3800 "dat_3800"

dat_3800:
        .byte $a2,$01,$8e,$74,$39,$aa,$bd           // ...t9..

// --- Region $381f-$382f ---
.pc = $381f "Segment $381f"
        .text "P778"
        .byte $1b,$ad,$8a
        .byte $37,$37,$38,$00,$80
        .text "P778"
        .byte $00                                   // .

// --- Region $384f-$388a ---
.pc = $384f "dat_384f"

dat_384f:
        .byte $00,$05,$05,$04,$05,$05,$06,$07,$07,$07,$07,$07,$07,$07,$07,$07 // ................
        .byte $07,$07,$83,$0e,$0e,$0e,$0e,$86,$0e,$0e,$0e,$0e,$88,$0e,$0e,$0e // ................
        .byte $0e,$8b,$0e,$0e,$81,$0e,$0e,$85,$09,$09,$09,$09,$05,$05,$04,$05 // ................
        .byte $05,$05,$04,$05,$05,$05,$04,$05,$05,$80,$ff // ...........

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

// --- Region $38d0-$38d8 ---
.pc = $38d0 "dat_38d0"

dat_38d0:
        .byte $1d                                   // .

txt_38d1:
        .text "#)888"
        .byte $00                                   // string terminator
        .byte $00,$00                               // ..

// --- Region $3917-$3c05 ---
.pc = $3917 "dat_3917"

dat_3917:
        .byte $a9,$02,$8d,$74,$39,$60,$01,$00,$07,$0e,$02,$01,$03,$03,$11,$00 // ...t9`..........
        .byte $04,$00,$03,$05,$02,$05,$15,$15,$11,$3d,$3d,$00,$05,$05,$04,$23 // .........==....#
        .byte $23,$01,$23,$23,$01,$86,$86,$0c,$00,$00,$00,$02,$04,$04,$00,$00 // #.##............
        .byte $00,$08,$08,$08,$08,$08,$08,$40,$00,$00,$00,$28,$00,$00,$80,$00 // .......@...(....
        .byte $ff,$04,$00,$00,$00,$00,$00,$04,$00,$00,$03,$03,$03,$10,$00,$00 // ................
        .byte $00,$f9,$ff,$00,$00,$00,$00,$00,$01,$01,$01,$00,$01,$00,$00,$00 // ................
        .byte $00,$00,$14,$14,$40,$00,$1b,$00,$32,$00,$00,$00,$00,$00,$00,$00 // ....@...2.......
        .fill 9, $00
        .byte $04,$41,$0f,$e9,$00,$00,$41,$80,$08,$11,$0a,$a9,$00,$00,$00,$10 // .A....A.........
        .byte $08,$21,$07,$e7,$00,$00,$81,$84,$08,$11,$0a,$a6,$00,$01,$00,$10 // .!..............
        .byte $08,$15,$07,$a8,$00,$00,$00,$80,$02,$21,$00,$cd,$00,$25,$72,$40 // .........!...%r@
        .byte $02,$21,$00,$ea,$00,$25,$72,$40,$08,$11,$00,$e8,$00,$00,$43,$40 // .!...%r@......C@
        .byte $08,$11,$0b,$a8,$00,$11,$00,$10,$01,$41,$00,$ae,$00,$26,$43,$00 // .........A...&C.
        .byte $01,$41,$00,$af,$00,$00,$43,$00,$08,$15,$00,$a8,$00,$00,$00,$80 // .A....C.........
        .byte $05,$41,$00,$e9,$00,$24,$61,$00,$04,$41,$00,$e8,$00,$85,$63,$04 // .A...$a..A....c.
        .byte $04,$41,$00,$e8,$00,$47,$63,$04,$04,$41,$00,$e8,$00,$59,$63,$04 // .A...Gc..A...Yc.
        .byte $00,$43,$00,$cc,$00,$25,$c3,$40,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // .C...%.@........
        .byte $af,$c0,$00,$ff,$82,$c1,$1b,$1b,$1e,$1b,$1b,$1b,$20,$1b,$1b,$1b // ............ ...
        .byte $22,$1b,$19,$22,$20,$1e,$ff,$85,$c5,$3d,$3d,$88,$49,$85,$3d,$3d // ".." ....==.I.==
        .byte $82,$3d,$85,$49,$3d,$ff,$82,$c5       // .=.I=...

txt_3a48:
        .text "================"
        .byte $ff,$c4,$85,$00,$c5,$25,$c4,$00,$c5,$25,$c4,$00,$c5,$19,$c4,$00 // .....%...%......
        .byte $00,$ff,$82,$c4,$00,$c5               // ......

txt_3a6e:
        .text "%%%"
        .byte $c4                                   // 'D' | $80 (end-of-string marker)
        .byte $00,$c5,$25,$25,$25,$ff,$82,$c2,$00,$00,$00,$00,$00,$00,$00,$00 // ..%%%...........
        .fill 8, $00
        .byte $ff,$82,$c4,$00,$c5,$00,$00,$00,$c2,$00,$c4,$00,$00,$c5,$00,$c4 // ................
        .byte $00,$c2,$00,$c5,$00,$00,$c2,$00,$c5,$00,$00,$00,$ff,$c3,$82 // ...............

txt_3aa9:
        .text "38:?38:??:8?:863"
        .byte $ff,$82,$c4,$00,$c1,$25,$19,$c4,$00,$c2,$00,$c1,$19,$25,$19,$c4 // .....%.......%..
        .byte $00,$c1,$25,$19,$c4,$00,$c2,$00,$00,$c1,$25,$19,$ff,$82,$c9,$30 // ..%.......%....0
        .byte $85,$30,$82,$30,$2b,$85,$2b,$82       // .0.0+.+.

txt_3ae1:
        .text "+(((($$$$"
        .byte $ff,$af,$c0,$00,$ff,$82,$c1,$18,$24,$1f,$1d,$c2,$00,$c1,$18,$1f // ........$.......
        .byte $1f,$18,$24,$1f,$1d,$c2,$00,$c1,$18,$1f,$c2,$00,$ff,$af,$ca,$2b // ..$............+
        .byte $97,$32,$e1,$16,$37,$af,$35,$82,$c9   // .2..7.5..

txt_3b13:
        .text "777744440000----"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .byte $ca,$30,$97,$37,$e1,$16,$3c,$af,$3a,$85,$39,$3a,$39,$8b,$35,$85 // .0.7..<.:.9:9.5.
        .byte $32,$8b,$37,$ff,$82,$c1,$1d,$29,$1d,$29,$c2,$00,$c1,$1d,$29,$1d // 2.7....).)....).
        .fill 26, $ff
        .byte $2f,$37,$00,$aa,$b1,$91,$b3,$22,$00,$00,$00,$4c,$00,$ff,$2f,$37 // /7....."...L../7
        .byte $00,$aa,$b1,$91,$b3,$22,$00,$00,$00,$4c,$00,$ff,$2f,$37,$00,$aa // ....."...L../7..
        .byte $b1,$91,$b3,$22,$00,$00,$00,$4c,$00,$ff,$2f,$37,$00,$aa,$b1,$91 // ..."...L../7....
        .byte $b3,$22,$00,$00,$00,$4c,$00,$ff,$00,$40,$a3,$b3,$bd,$00,$00,$00 // ."...L...@......
        .byte $00,$00,$01,$08,$0c,$cf,$ff,$2f,$37,$00,$aa,$b1,$91,$b3,$22,$00 // ......./7.....".
        .byte $00,$00,$4c,$00,$00,$00,$04,$00,$00,$00,$00,$18,$08,$19,$16,$00 // ..L.............
        .byte $0a,$76,$a3,$00,$00,$00,$00,$00,$00,$40,$a3,$b3,$bd,$00,$00,$00 // .v.......@......
        .byte $00,$00,$01,$08,$0c,$cf,$ff,$2f,$37,$00,$aa,$b1,$91,$b3,$22,$00 // ......./7.....".
        .byte $00,$00,$4c,$00,$00,$00,$04,$00,$00,$00,$00,$18,$08,$19,$16,$00 // ..L.............
        .byte $0a,$76,$a3,$00,$00,$00,$00,$00,$00,$40,$a3,$b3,$bd,$00,$00,$00 // .v.......@......
        .byte $00,$00,$01,$08,$0c,$cf,$ff           // .......

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