// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:50
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $321f  (10784 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $2de0 (11744)
// IRQ handler:  $2962 (nmi_2962)
// IRQ handler:  $2746 (irq_2746)
//
// Code: 2710 bytes, Data: 8074 bytes
// Labels: 291, Subroutines: 19
//
// Cross-references: all OK
// ============================================


// --- Region $1003-$1006 ---
.pc = $1003 "sub_1003"
// Referenced by: jsr from $29eb

sub_1003:
        jmp loc_1073

dat_1006:
        .byte $0f                                   // .

// --- Region $102c-$1493 ---
.pc = $102c "loc_102c"

loc_102c:
        asl
        asl
        tay
        ldx #$00

loc_1031:
        lda $1023,y
        sta $1553,x
        sta $1559,x
        lda $1024,y
        sta $1556,x
        sta $155c,x
        iny
        iny
        inx
        cpx #$03
        bne loc_1031
        lda $1023,y
        sta $15da
        sta $1007
        ldy #$00
        tya

loc_1056:
        sta $d400,y
        sta $1575,y
        iny
        cpy #$1b
        bne loc_1056
        lda dat_1006
        sta $d418
        lda #$ff
        sta $1587
        sta $1588
        sta $1589
        rts

loc_1073:
        lda $fb
        pha
        lda $fc
        pha
        ldx #$02
        dec $15da
        bpl loc_1086
        lda $1007
        sta $15da

loc_1086:
        bne loc_1095
        lda $1020,x
        bne loc_1090
        jmp loc_1483

loc_1090:
        dec $1587,x
        bmi loc_10a0

loc_1095:
        lda $1581,x
        bne loc_109d
        jmp loc_1259

loc_109d:
        jmp loc_117f

loc_10a0:
        lda $158d,x
        sta $1587,x
        lda #$00
        sta $158a,x

loc_10ab:
        lda $1553,x
        sta $fb
        lda $1556,x
        sta $fc
        ldy #$00
        lda ($fb),y
        bpl loc_10e9
        cmp #$ff
        bne loc_10d9
        lda $1559,x
        sta $1553,x
        sta $fb
        lda $155c,x
        sta $1556,x
        sta $fc
        ldy #$00
        lda ($fb),y
        bpl loc_10e9
        cmp #$ff
        beq loc_10ea

loc_10d9:
        and #$7f
        asl
        sta $1578,x
        inc $1553,x
        bne loc_10ab
        inc $1556,x
        bne loc_10ab

loc_10e9:
        tay

loc_10ea:
        lda $171b,y
        sta $fb
        lda $172f,y
        sta $fc

loc_10f4:
        ldy $157b,x
        lda ($fb),y
        bmi loc_1135
        beq loc_112a
        cmp #$7e
        beq loc_111f
        sta $1590,x
        asl
        clc
        adc $1578,x
        tay
        lda dat_1493,y
        clc
        adc $15d7,x
        sta $15ab,x
        lda $1494,y
        adc #$00
        sta $15ae,x
        jmp loc_1122

loc_111f:
        inc $158a,x

loc_1122:
        lda #$ff
        sta $156f,x
        jmp loc_115b

loc_112a:
        lda #$fe
        sta $156f,x
        inc $158a,x
        jmp loc_115b

loc_1135:
        pha
        and #$e0
        cmp #$80
        bne loc_114f
        pla
        pha
        and #$10
        sta $158a,x
        pla
        and #$0f
        sta $1587,x
        sta $158d,x
        jmp loc_1156

loc_114f:
        pla
        asl
        asl
        asl
        sta $1584,x

loc_1156:
        inc $157b,x
        bne loc_10f4

loc_115b:
        inc $157b,x
        ldy $157b,x
        lda ($fb),y
        cmp #$7f
        bne loc_1174
        lda #$00
        sta $157b,x
        inc $1553,x
        bne loc_1174
        inc $1556,x

loc_1174:
        inc $1581,x
        lda $158a,x
        bne loc_117f
        jmp loc_1483

loc_117f:
        lda $1578,x
        sta $1575,x
        lda #$00
        sta $1581,x
        lda $158a,x
        beq loc_1192
        jmp loc_1379

loc_1192:
        ldy $1584,x
        lda $167b,y
        ldy $155f,x
        sta $d405,y
        ldy $1584,x
        lda $167c,y
        ldy $155f,x
        sta $d406,y
        ldy $1584,x
        lda $1681,y
        sta $15bd,x
        tay
        lda $1666,y
        pha
        and #$f0
        sta $15c3,x
        pla
        and #$0f
        sta $15c6,x
        lda #$00
        sta $15c0,x
        ldy $1584,x
        lda $167e,y
        pha
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $1596,x
        sec
        sbc #$01
        sta $1593,x
        lda #$00
        sta $15a2,x
        sta $159f,x
        pla
        and #$0f
        asl
        sta $1599,x
        lda $167d,y
        pha
        and #$f0
        sta $159c,x
        pla
        and #$0f
        asl
        sta $15a5,x
        lda $167f,y
        pha
        and #$f0
        lsr
        sta $15a8,x
        pla
        and #$0f
        beq loc_121e
        asl
        asl
        asl
        asl
        ora dat_1006
        sta $d418
        lda $15d0
        ora $1562,x
        bne loc_1224

loc_121e:
        lda $15d0
        and $1565,x

loc_1224:
        sta $d417
        sta $15d0
        lda $1680,y
        sta $15cd
        tay
        lda $165e,y
        sta $15cf
        lda #$00
        sta $15ce
        ldy $1584,x
        lda $1682,y
        sta $15d1,x
        sta $15d4,x
        lda $1572,x
        and #$fe
        ldy $155f,x
        sta $d404,y
        inc $157e,x
        jmp loc_1379

loc_1259:
        lda $15c0,x
        beq loc_1264
        dec $15c0,x
        jmp loc_12b4

loc_1264:
        ldy $15bd,x
        lda $1663,y
        pha
        and #$f0
        lsr
        lsr
        lsr
        lsr
        sta $15b1,x
        pla
        and #$0f
        sta $15b4,x
        lda $1664,y
        sta $15b7,x
        lda $1665,y
        sta $1568
        and #$3f
        asl
        sta $15c0,x
        bit $1568
        bpl loc_12a5
        lda $1666,y
        pha
        and #$f0
        sta $15c3,x
        pla
        and #$0f
        sta $15c6,x
        lda #$00
        sta $15ba,x

loc_12a5:
        bit $1568
        bvs loc_12b4
        tya
        clc
        adc #$04
        sta $15bd,x
        jmp loc_12b4

loc_12b4:
        lda $15ba,x
        bne loc_12d3
        lda $15c3,x
        clc
        adc $15b7,x
        sta $15c3,x
        lda $15c6,x
        adc #$00
        sta $15c6,x
        cmp $15b4,x
        bne loc_12f2
        jmp loc_12ea

loc_12d3:
        lda $15c3,x
        sec
        sbc $15b7,x
        sta $15c3,x
        lda $15c6,x
        sbc #$00
        sta $15c6,x
        cmp $15b1,x
        bne loc_12f2

loc_12ea:
        lda $15ba,x
        eor #$01
        sta $15ba,x

loc_12f2:
        cpx #$00
        beq loc_12f9
        jmp loc_1379

loc_12f9:
        lda $15ce
        beq loc_1304
        dec $15ce
        jmp loc_134b

loc_1304:
        ldy $15cd
        lda $165b,y
        pha
        and #$f0
        sta $15c9
        pla
        and #$0f
        asl
        asl
        asl
        asl
        sta $15ca
        lda $165c,y
        sta $15cb
        lda $165d,y
        sta $1568
        and #$3f
        asl
        sta $15ce
        bit $1568
        bpl loc_133c
        lda $165e,y
        sta $15cf
        lda #$00
        sta $15cc

loc_133c:
        bit $1568
        bvs loc_134b
        tya
        clc
        adc #$04
        sta $15cd
        jmp loc_134b

loc_134b:
        lda $15cc
        bne loc_1362
        lda $15cf
        clc
        adc $15cb
        sta $15cf
        cmp $15ca
        bcc loc_1379
        jmp loc_1371

loc_1362:
        lda $15cf
        sec
        sbc $15cb
        sta $15cf
        cmp $15c9
        bcs loc_1379

loc_1371:
        lda $15cc
        eor #$01
        sta $15cc

loc_1379:
        ldy $15d1,x
        lda $15db,y
        bmi loc_1397
        cmp #$7f
        bne loc_139d
        lda $15d4,x
        clc
        adc $161b,y
        sta $15d1,x
        tay
        lda $15db,y
        cmp #$7f
        bne loc_1379

loc_1397:
        and #$7f
        asl
        jmp loc_13a6

loc_139d:
        clc
        adc $1590,x
        asl
        clc
        adc $1575,x

loc_13a6:
        tay
        lda dat_1493,y
        clc
        adc $15d7,x
        sta $1569,x
        lda $1494,y
        adc #$00
        sta $156c,x
        ldy $15d1,x
        lda $161b,y
        sta $1572,x
        inc $15d1,x
        lda $157e,x
        beq loc_13cd
        jmp loc_1466

loc_13cd:
        lda $1596,x
        beq loc_13dc
        lda $15a5,x
        beq loc_13df
        bmi loc_1451
        dec $15a5,x

loc_13dc:
        jmp loc_1451

loc_13df:
        dec $1593,x
        bmi loc_1423
        lda $15a2,x
        cmp #$02
        bcs loc_1407
        lda $15ab,x
        sec
        sbc $159c,x
        sta $1569,x
        sta $15ab,x
        lda $15ae,x
        sbc $159f,x
        sta $156c,x
        sta $15ae,x
        jmp loc_1451

loc_1407:
        lda $15ab,x
        clc
        adc $159c,x
        sta $1569,x
        sta $15ab,x
        lda $15ae,x
        adc $159f,x
        sta $156c,x
        sta $15ae,x
        jmp loc_1451

loc_1423:
        lda $15a2,x
        clc
        adc #$01
        and #$03
        sta $15a2,x
        lda $1596,x
        sta $1593,x
        lda $15a8,x
        beq loc_13df
        dec $15a8,x
        lda $159c,x
        clc
        adc $1599,x
        sta $159c,x
        lda $159f,x
        adc #$00
        sta $159f,x
        jmp loc_13df

loc_1451:
        ldy $155f,x
        lda $15c3,x
        sta $d402,y
        lda $15c6,x
        sta $d403,y
        lda $15cf
        sta $d416

loc_1466:
        ldy $155f,x
        lda $1572,x
        and $156f,x
        sta $d404,y
        lda $1569,x
        sta $d400,y
        lda $156c,x
        sta $d401,y
        lda #$00
        sta $157e,x

loc_1483:
        dex
        bmi loc_148c
        lda $15da
        jmp loc_1086

loc_148c:
        pla
        sta $fc
        pla
        sta $fb
        rts

dat_1493:
        .byte $16                                   // .

// --- Region $14be-$14c3 ---
.pc = $14be "loc_14be"

loc_14be:
        .byte $03,$e0                               // slo ($e0,x) // ILLEGAL
        .byte $03,$1b                               // slo ($1b,x) // ILLEGAL

dat_14c2:
        .byte $04,$5a                               // .Z

// --- Region $1537-$153b ---
.pc = $1537 "loc_1537"

loc_1537:
        bpl loc_15b5
        bvs loc_14be
        rti

// --- Region $15b5-$15ba ---
.pc = $15b5 "loc_15b5"

loc_15b5:
        .byte $0f,$09,$61                           // slo $6109 // ILLEGAL
        ora ($41,x)
        brk

// --- Region $2099-$20a1 ---
.pc = $2099 "loc_2099"

loc_2099:
        beq loc_210b
        bvs loc_2099
        bvs loc_210f
        jmp ($0000)

// --- Region $210b-$2110 ---
.pc = $210b "loc_210b"

loc_210b:
        brk

dat_210c:
        .byte $38,$38,$78                           // 88x

loc_210f:
        sec
        brk

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

// --- Region $26f8-$2751 ---
.pc = $26f8 "loc_26f8"

loc_26f8:
        sei
        ldx #$ff
        txs
        lda #$35
        sta $01
        lda #$2f
        sta $00
        jsr sub_2c49
        lda #$1b
        sta $d011
        lda #$01
        sta $d01a
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d019
        lda #$00
        sta $d012
        lda #$62
        sta $fffa
        lda #$29
        sta $fffb
        lda #$46
        sta $fffe
        lda #$27
        sta $ffff
        lda #$51
        sta $0100
        lda #$27
        sta $0101
        cli

loc_273f:
        lda #$00
        beq loc_273f
        jmp loc_2ccc

irq_2746:
        pha
        txa
        pha
        tya
        pha
        lsr $d019
        jmp ($0100)

dat_2751:
        .byte $a6                                   // .

// --- Region $2764-$2855 ---
.pc = $2764 "loc_2764"

loc_2764:
        ldy #$07
        inx

loc_2767:
        lda $2500,x
        sta $d020
        sta $d021
        dey
        bmi loc_2764
        stx $03
        ldx $02
        cpx #$f8
        bcs loc_2783
        lda #$00
        sta $2500,x
        jmp loc_2788

loc_2783:
        bit $fd
        nop
        nop
        nop

loc_2788:
        nop
        nop
        nop
        nop

loc_278c:
        nop
        nop
        inx
        stx $02
        ldx $03
        inx
        cpx #$f8
        bne loc_2767
        ldx $02
        lda $2e2e
        sta $02
        stx $2e2e
        lda $2e2f
        sta $03
        lda #$ff
        sta $d012
        jmp loc_2953

loc_27af:
        lda #$1e
        sta $d012
        ldx $2e2e

loc_27b7:
        cpx $2778
        bcs loc_27c4
        lda #$00
        sta $2500,x
        inx
        bne loc_27b7

loc_27c4:
        lda $294d
        bne loc_27e1
        ldy $2947
        ldx #$00

loc_27ce:
        lda $2e30,x
        sta $2500,y
        iny
        inx
        cpx #$13
        bne loc_27ce
        ldy #$00
        ldx #$d7
        jsr sub_28ad

loc_27e1:
        lda $294e
        bne loc_27fe
        ldy $2948
        ldx #$00

loc_27eb:
        lda $2e43,x
        sta $2500,y
        iny
        inx
        cpx #$13
        bne loc_27eb
        ldy #$01
        ldx #$a7
        jsr sub_28ad

loc_27fe:
        lda $294f
        bne loc_281b
        ldy $2949
        ldx #$00

loc_2808:
        lda $2e56,x
        sta $2500,y
        iny
        inx
        cpx #$13
        bne loc_2808
        ldy #$02
        ldx #$49
        jsr sub_28ad

loc_281b:
        lda $294d
        cmp #$01
        bne loc_2829
        ldy #$de
        ldx #$00
        jsr sub_28fc

loc_2829:
        lda $294e
        cmp #$01
        bne loc_2837
        ldy #$ae
        ldx #$01
        jsr sub_28fc

loc_2837:
        lda $294f
        cmp #$01
        bne loc_284c
        lda #$00
        sta $2550
        ldy #$50
        ldx #$02
        jsr sub_28fc
        lda #$00

loc_284c:
        cmp #$02
        beq dat_2855
        ldx #$00
        jmp loc_2957

dat_2855:
        .byte $a9                                   // .

// --- Region $286a-$293c ---
.pc = $286a "loc_286a"

loc_286a:
        lda #$00
        sta $2cbd
        jsr sub_2cba
        sta $0404,x
        jsr sub_2cba
        sta $042c,x
        jsr sub_2cba
        sta $0454,x
        jsr sub_2cba
        sta $047c,x
        jsr sub_2cba
        sta $04a4,x
        jsr sub_2cba
        sta $04cc,x
        jsr sub_2cba
        sta $04f4,x
        jsr sub_2cba
.label loc_289e = * + 2
        sta $051c,x
        inx
        cpx #$20
        bne loc_286a
        lda #$01
        sta dat_28ac
        jmp loc_295d

dat_28ac:
        .byte $00                                   // .

// Referenced by: jsr from $27de, $27fb, $2818
sub_28ad: {
        stx $28ce
        lda $2944,y
        beq skip1
        tya
        tax
        dec $2944,x
        rts
skip1:
        lda $294d,y
        bne done
        ldx $294a,y
        lda $2947,y
        clc
        adc $2e69,x
        sta $2947,y
        cmp #$ff
        bcs skip2
        cpx #$00
        beq done
        dex
        txa
        sta $294a,y
        rts
skip2:
        lda $28ce
        sta $2947,y
        txa
        clc
        adc #$05
        eor #$3f
        and #$3f
        sta $294a,y
        cmp #$28
        bcs done
        lda #$01
        sta $294d,y
        lda $2950,y
        sta $2778
done:
        rts
}
// Referenced by: jsr from $2826, $2834, $2847

sub_28fc:
        sty $2943
        lda dat_293d,x
        cmp #$01
        beq loc_2918
        tya
        sec
        sbc $2940,x
        tay

loc_290c:
        lda $2501,y
        sta $2500,y
        iny
        cpy $2943
        bne loc_290c

loc_2918:
        lda $2943
        dec $2943
        clc
        adc $2940,x
        tay

loc_2923:
        lda $2500,y
        sta $2501,y
        dey
        cpy $2943
        bne loc_2923
        dec dat_293d,x
        beq loc_2935
        rts

loc_2935:
        txa
        tay
        lda #$02
        sta $294d,y
        rts

// --- Region $2953-$299f ---
.pc = $2953 "loc_2953"

loc_2953:
        ldx dat_299f
        inx

loc_2957:
        stx dat_299f
        jsr sub_2963

loc_295d:
        pla
        tay
        pla
        tax
        pla

nmi_2962:
        rti
// Referenced by: jsr from $295a, $29e1

sub_2963:
        txa
        asl
        tax
        lda txt_29a0,x
        sta $0100
        lda $29a1,x
        sta $0101
        bit $dc0d
        rts

loc_2976:
        ldy #$07
        inx
// Referenced by: jsr from $29d3, $2a07, $2a32, $2a53; branch from $299c

sub_2979:
        lda $2500,x
        sta $d020
        sta $d021
        dey
        bmi loc_2976
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        inx
        cpx #$00
        bcc sub_2979
        rts

dat_299f:
        .byte $00                                   // .

// --- Region $29ab-$2acb ---
.pc = $29ab "loc_29ab"

loc_29ab:
        rol
        lda #$70
        sta $d012
        ldy #$08

loc_29b3:
        dey
        bne loc_29b3
        lda #$12
        sta $d018
        lda #$d8
        sta $d016
        lda #$00
        sta $d022
        lda #$00
        sta $d023
        lda #$33
        sta $299b
        ldx #$27
        ldy #$11
        jsr sub_2979
        lda #$00
        sta $d021
        inc dat_299f
        ldx dat_299f
        jsr sub_2963
        jsr sub_2bb3
        jsr sub_2b38
        cli
        jsr sub_1003
        jsr sub_2a7a
        jmp loc_295d

loc_29f4:
        lda #$9e
        sta $d012
        ldy #$0c

loc_29fb:
        dey
        bne loc_29fb
        lda #$7e
        sta $299b
        ldx #$71
        ldy #$01
        jsr sub_2979
        lda #$c8
        sta $d016
        lda #$18
        sta $d018
        jsr sub_2aea
        jmp loc_2953

loc_2a1a:
        lda #$ce
        sta $d012
        ldy #$0b

loc_2a21:
        dey
        bne loc_2a21
        lda #$00
        sta $d016
        lda #$c0
        sta $299b
        ldx #$9f
        ldy #$03
        jsr sub_2979
        jsr sub_2a6a
        jmp loc_2953

loc_2a3b:
        lda #$26
        sta $d012
        ldy #$0b

loc_2a42:
        dey
        bne loc_2a42
        lda #$00
        sta $d016
        lda #$f0
        sta $299b
        ldx #$cf
        ldy #$03
        jsr sub_2979
        lda smc_2d5e
        cmp #$01
        beq loc_2a62
        lda #$01
        sta smc_2d5e

loc_2a62:
        jsr sub_2b86
        ldx #$02
        jmp loc_2957

// Referenced by: jsr from $2a35
sub_2a6a: {
        lda $dc01
        and $dc01
        and #$10
        bne done
        lda #$01
        sta $2740
done:
        rts
}
// Referenced by: jsr from $29ee

sub_2a7a:
        lda dat_28ac
        cmp #$01
        beq loc_2a86
        cmp #$03
        beq loc_2aa9
        rts

loc_2a86:
        ldx $2ae7
        lda dat_2acc,x
        sta $29d7
        lda $2ad5,x
        sta $29c1
        lda $2ade,x
        sta $29c6
        inx
        cpx #$04
        bne loc_2aa5
        lda #$02
        sta dat_28ac

loc_2aa5:
        stx $2ae7
        rts

loc_2aa9:
        ldx $2ae7
        lda dat_2acc,x
        sta $29d7
        lda $2ad5,x
        sta $29c1
        lda $2ade,x
        sta $29c6
        inx
        cpx #$09
        bne loc_2ac8
        lda #$04
        sta dat_28ac

loc_2ac8:
        stx $2ae7
        rts

// --- Region $2ae9-$2bd8 ---
.pc = $2ae9 "loc_2ae9"

loc_2ae9:
.label sub_2aea = * + 1
        ora ($ad,x)
        and $2a
        sec
        sbc $2ae8
        and #$07
        sta $2a25
        bcc $2af9
        rts

loc_2af9:
        ldx #$00

loc_2afb:
        lda $0659,x
        sta $0658,x
        inx
        cpx #$50
        bne $2afb

loc_2b06:
        jsr sub_2b21
        cmp #$00
        bne $2b13
        jsr sub_2b2d
        jmp loc_2b06

loc_2b13:
        tax
        lda $0e00,x
        sta $067f
        lda $0e80,x
        sta $06a7
        rts

// Referenced by: jsr from $2b06
sub_2b21: {
        lda $ffff
        inc $2b22
        bne done
        inc $2b23
done:
        rts
}
// Referenced by: jsr from $2b0d, $2ca4

sub_2b2d:
        lda #$72
        sta $2b22
        lda #$2f
        sta $2b23
        rts

// Referenced by: jsr from $29e7
sub_2b38: {
        lda $2a46
        sec
        sbc loc_2ae9
        and #$07
        sta $2a46
        bcc skip1
        rts
skip1:
        ldx #$00
loop1:
        lda $0749,x
        sta $0748,x
        inx
        cpx #$50
        bne loop1
loop2:
        jsr sub_2b6f
        cmp #$00
        bne skip2
        jsr sub_2b7b
        jmp $2b54
skip2:
        tax
        lda $0e00,x
        sta $076f
        lda $0e80,x
        sta $0797
        rts
}

// Referenced by: jsr from $2b54
sub_2b6f: {
        lda $ffff
        inc $2b70
        bne done
        inc $2b71
done:
        rts
}
// Referenced by: jsr from $2b5b, $2ca7

sub_2b7b:
        lda #$64
        sta $2b70
        lda #$30
        sta $2b71
        rts
// Referenced by: jsr from $2a62

sub_2b86:
        lda dat_2bd9
        bne loc_2bb2
        ldx #$00

loc_2b8d:
        lda $ffff
        bne loc_2b98
        jsr sub_2bce
        jmp loc_2b8d

loc_2b98:
        inc $2b8e
        bne loc_2ba0
        inc $2b8f

loc_2ba0:
        tay
        lda $0e00,y
        sta $05b8,x
        lda $0e80,y
        sta $05e0,x
        inx
        cpx #$28
        bne loc_2b8d

loc_2bb2:
        rts

// Referenced by: jsr from $29e4
sub_2bb3: {
        ldy dat_2bd9
        lda $2bda,y
        ldx #$00
loop:
        sta $d9b8,x
        inx
        cpx #$50
        bne loop
        iny
        cpy #$60
        bne done
        ldy #$00
done:
        sty dat_2bd9
        rts
}
// Referenced by: jsr from $2b92, $2caa

sub_2bce:
        lda #$a9
        sta $2b8e
        lda #$2e
        sta $2b8f
        rts

// --- Region $2c49-$2dce ---
.pc = $2c49 "sub_2c49"

// Referenced by: jsr from $2704
sub_2c49: {
        lda #$00
        sta $d011
loop1:
        lda $d011
        bpl loop1
        ldx #$00
        txa
loop2:
        lda #$00
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $0700,x
        sta $2500,x
        inx
        bne loop2
        ldx #$00
loop3:
        lda #$cc
        sta $0540,x
        sta $0568,x
        lda #$08
        sta $d800,x
        sta $d828,x
        sta $d850,x
        sta $d878,x
        sta $d8a0,x
        sta $d8c8,x
        sta $d8f0,x
        sta $d918,x
        inx
        cpx #$28
        bne loop3
        lda #$18
        sta $d018
        jsr sub_2b2d
        jsr sub_2b7b
        jsr sub_2bce
        ldx #$00
        lda #$ff
loop4:
        sta $0800,x
        inx
        cpx #$08
        bne loop4
        rts
}
// Referenced by: jsr from $286f, $2875, $287b, $2881, $2887, $288d, $2893, $2899

sub_2cba:
        txa
        clc
        adc #$20
        tay
        lda $2cbd
        clc
        adc #$20
        sta $2cbd
        lda $0d00,y
        rts

loc_2ccc:
        lda #$03
        sta dat_28ac

loc_2cd1:
        lda dat_28ac
        cmp #$04
        bne loc_2cd1
        ldx #$00
        ldy #$00

loc_2cdc:
        lda spr_2000,x
        and dat_2e26,y
        sta spr_2000,x
        jsr sub_2e20
        lda $2100,x
        and dat_2e26,y
        sta $2100,x
        jsr sub_2e20
        lda $2200,x
        and dat_2e26,y
        sta $2200,x
        jsr sub_2e20
        lda $2300,x
        and dat_2e26,y
        sta $2300,x
        jsr sub_2e20
        lda $2330,x
        and dat_2e26,y
        sta $2330,x
        inx
        bne loc_2cdc
        ldy #$10
        ldx #$ff

loc_2d1c:
        dex
        bne loc_2d1c
        dey
        bne loc_2d1c
        inc $2cdb
        ldy $2cdb
        cpy #$08
        bne loc_2cdc
        ldx #$00
        txa

loc_2d2f:
        sta $0400,x
        sta $0800,x
        sta $0900,x
        sta txt_0a00,x
        sta $0b00,x
        sta scr_0c00,x
        sta $0d00,x
        sta $0e00,x
        sta $0f00,x
        inx
        bne loc_2d2f
        ldx #$00
        lda #$00

loc_2d51:
        sta $0800,x
        inx
        cpx #$08
        bne loc_2d51
        ldy #$00
        ldx #$00

loc_2d5d:
.label smc_2d5e = * + 1
        lda #$01                                    // !SMC: modified by $2d7e
        beq loc_2d5d

loc_2d61:
        lda $0400,x
        bne loc_2d73
        lda $2500,x
        cmp $2c2a,y
        bne loc_2d79
        lda #$01
        sta $0400,x

loc_2d73:
        lda $2c2a,y
        sta $2500,x

loc_2d79:
        inx
        bne loc_2d61
        lda #$00
        sta smc_2d5e                                // SMC: modifies $2d5e
        tax
        iny
        cpy #$10
        bne loc_2d5d
        sei
        lda #$37
        sta $01
        jsr $fda3
        jsr $e544
        lda #$15
        sta $d018
        ldx #$00
        stx $d01a
        inx
        stx $d019
        lda #$00
        sta $0800
        ldx #$00

loc_2da7:
        lda txt_2dce,x
        sta $0400,x
        lda #$01
        sta $d800,x
        inx
        bne loc_2da7
        ldx #$00
        txa

loc_2db8:
        sta $d80c,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_2db8
        lda #$37
        sta $01
        jmp $040c

txt_2dce:
        .encoding "screencode_mixed"
        .text "i"
        .encoding "petscii_upper"

// --- Region $2de0-$2dec ---
.pc = $2de0 "main_2de0"

main_2de0:
        jsr $ff81
        jsr $ff84
        jsr $ff8a
        jmp loc_26f8

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

// --- Region $2e20-$2e25 ---
.pc = $2e20 "sub_2e20"
// Referenced by: jsr from $2ce5, $2cf1, $2cfd, $2d09

sub_2e20:
        iny
        tya
        and #$07
        tay
        rts

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

// --- Region $0803-$0e5b ---
.pc = $0803 "dat_0803"

dat_0803:
        .byte $ff,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$fe,$aa,$55,$7f // ..............U.
        .byte $70,$79,$79,$79,$79,$aa,$55,$ff,$00,$55,$aa,$00,$11,$aa,$55,$ff // pyyyy.U..U....U.
        .byte $00,$55,$aa,$02,$12,$aa,$55,$ff,$0c   // .U....U..

txt_082c:
        .text "NNNN"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$ff,$00,$55,$6a                   // U..Uj

txt_0836:
        .byte $40                                   // @ character
        .text "D"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$ff,$00,$55,$aa,$00,$44,$aa,$55,$ff,$03,$53,$93,$93,$93,$aa // U..U..D.U..S....
        .byte $55,$ff,$00,$95,$9a,$90,$91,$aa,$55,$ff,$00,$54,$a4 // U.......U..T.

txt_0856:
        .text "$$"
        .byte $ab                                   // '+' | $80 (end-of-string marker)
        .byte $5b,$da,$d9,$d7,$df,$dc,$fc,$fa,$a5,$5f,$fc,$c1,$16,$69,$64,$aa // [........_...id.
        .byte $55,$ff,$00,$55,$aa,$04,$11,$aa,$55,$ff,$00,$55,$aa,$59,$66,$aa // U..U....U..U.Yf.
        .byte $55,$ff,$00,$55,$aa,$ae,$b8,$bf,$6b,$d6,$fd,$0f,$53,$a4,$64,$aa // U..U....k...S.d.
        .byte $95,$9f,$9c,$5e,$de,$de,$fe,$ab,$56,$fd,$0f,$50,$a5,$0a,$46,$fa // ...^....V..P..F.
        .byte $b9,$69,$d9,$f5                       // .i..

txt_089d:
        .text "=MO"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$ff,$c0,$e5,$e6,$e4,$e4,$aa,$55,$ff,$00,$55,$a9,$09,$49,$aa // U.......U..U..I.
        .byte $56,$f6
        .text "66666"
        .byte $79,$79,$79,$79,$79,$79,$79,$79,$04
        .byte $15,$19                               // ..

txt_08c3:
        .text "&*;.?FV"
        .byte $9a,$66,$aa,$ba,$ee,$fe               // .f....

txt_08d0:
        .text "NNNNNNNNAEFIJNKO"
        .byte $11,$55,$66,$99,$aa,$ee,$bb,$ef,$93,$93,$93,$93,$93,$92,$92,$92 // .Uf.............
        .byte $90,$91,$91,$92,$92
        .text "RCNDV"
        .byte $9b,$6e,$ba,$e9,$a6,$99
        .byte $a4,$e4,$a4,$a4,$64,$a4,$64,$93,$f1,$f1,$f1,$c6,$c4,$c5,$ea,$ff // ....d.d.........
        .byte $90,$81,$84,$11,$00,$55,$aa,$ff,$45,$16,$59,$66,$00,$55,$aa,$ff // .....U..E.Yf.U..
        .byte $9a,$6b,$ae,$ba,$00,$54,$a5,$f9,$e4,$91,$94,$65,$99,$26,$29,$3a // .k...T.....e.&):
        .byte $19,$09,$49,$12,$46,$52,$96,$66       // ..I.FR.f

txt_0938:
        .text ">>>NNNNOINKJ"
        .byte $40                                   // @ character
        .text "U"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $ff,$11,$55,$a6,$e9,$00,$55,$aa,$ff,$11,$55,$66,$99,$00,$55,$aa // ..U...U...Uf..U.
        .byte $ff,$11,$55,$66,$99,$0a,$42,$53,$93,$11,$55,$66,$99,$aa,$ee,$bb // ..Uf..BS..Uf....
        .byte $ff,$93,$93,$93,$a4,$a4,$e4,$a4,$e4,$e4,$e4,$e4,$e4,$e4,$e4,$e4 // ................
        .byte $e4,$11,$55,$66,$99,$aa,$ee,$bb,$fe,$19,$59,$69,$99,$a9,$e9,$b9 // ..Uf......Yi....
        .byte $f9                                   // .

txt_0988:
        .text "66666666;"
        .byte $22                                   // double quote character
        .text ";??"
        .byte $00                                   // string terminator
        .byte $15,$00,$7e,$f2,$fe,$be,$fe,$02,$56,$02 // ..~.....V.

txt_09a0:
        .text "ONOMO"
        .byte $40                                   // @ character
        .text "E"
        .byte $40                                   // @ character
        .byte $df,$46,$df,$ec,$ff,$02,$5b,$2e,$91,$95,$aa,$ee,$ba,$e9,$a6,$99 // .F....[.........
        .byte $4a,$a9,$a6,$99,$65,$94,$51,$44,$65,$94,$51,$46,$12,$42,$09,$19 // J...e.QDe.QF.B..
        .byte $93,$93,$93                           // ...

txt_09cb:
        .text "OOO??"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $e5,$e6,$e4,$e4,$e4,$e4,$e4,$00,$55,$aa,$bb,$ef,$80,$55,$00,$00 // ........U....U..
        .byte $55,$aa,$fc,$ff,$00,$55,$00,$09,$55,$aa,$ff,$ff,$00,$55,$00,$2e // U....U..U....U..
        .byte $3b,$3e,$ff,$ef,$00,$55,$00,$9a,$a6,$ea,$ba,$ee,$0a,$56,$02 // ;>...U.......V.

txt_0a00:
        .text "LNNNNNNN"
        .byte $00                                   // string terminator
        .byte $55,$6a
        .byte $40                                   // @ character
        .text "DADE"
        .byte $00
        .byte $55,$aa
        .byte $45,$11,$04
        .byte $41,$10,$00
        .byte $55,$aa,$9a,$66,$59,$16,$45,$51,$63,$af,$ef,$bb,$ae,$6b,$9a,$fc // U..fY.EQc....k..
        .byte $ef,$8b,$ef,$ff,$02,$96,$e9,$e4,$e4,$93,$93,$93,$4f,$4f,$3f,$7d // ............OO?}
        .byte $e4,$fd,$be,$ff,$00,$55,$00,$f9,$69,$f9,$c9,$f9,$09,$59,$09,$15 // .....U..i....Y..
        .byte $15,$2a,$15                           // .*.

txt_0a4c:
        .text "**?*VV"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $56,$aa,$aa,$fe,$aa                   // V....

txt_0a58:
        .text "EFKNJIFI"
        .byte $ba                                   // ':' | $80 (end-of-string marker)
        .byte $e9,$a6,$99,$65,$94,$51,$44,$65,$94,$51,$44,$10,$41,$00,$95,$10 // ...e.QDe.QD.A...
        .byte $41,$04,$11,$45,$16,$19,$06,$64,$19,$59,$66,$9a,$6a,$ae,$bb,$ff // A..E...d.Yf.j...
        .text "??OOO"
        .byte $93,$93

txt_0a88:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$aa,$aa,$ff,$aa                   // U....

txt_0a90:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$aa,$aa,$f0,$a9                   // U....

txt_0a98:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$aa,$aa,$00                       // U...

txt_0a9f:
        .text "UUU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $55,$aa,$aa                           // U..

txt_0aa6:
        .text "?*IFIJNKNJDQ"
        .byte $94,$65,$99,$a6,$e9,$ba,$11,$04,$41,$10,$44,$51,$00,$95,$66,$59 // .e......A.DQ..fY
        .byte $16,$45,$11,$04,$01,$00,$a4,$a9,$69,$9a,$66,$5a,$16 // .E......i.fZ.

txt_0acf:
        .text "EYY"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $59,$a9,$a9,$f9,$a9                   // Y....

txt_0ad8:
        .text "??*??>;."
        .byte $fe,$fe,$aa,$ee,$ba,$ea,$a6,$9a       // ........

txt_0ae8:
        .text "EDAD"
        .byte $40                                   // @ character
        .text "ADA"
        .byte $10,$41,$04,$11,$45,$16,$59,$66,$99,$92,$92,$92,$93,$93,$93,$93 // .A..E.Yf........
        .text "JKBS"
        .byte $93,$93,$93,$93,$ef,$bf,$aa,$ff,$ff,$ff,$ff,$ff
        .byte $93,$93,$a4,$e4,$e4,$e4,$e4,$e4,$ff,$ff,$aa,$ff,$ff,$ff,$ff,$ff // ................
        .byte $f9,$f9,$a9,$f9,$f9,$f9,$f9,$f9,$a9   // .........

txt_0b29:
        .text "9999999??*?????"
        .byte $fe,$fe,$aa,$fe,$fe,$fe,$fe,$fe       // ........

txt_0b40:
        .text "OOJOOOOO"
        .byte $ee,$fb,$aa,$ff,$ff,$ff,$ff,$ff
        .text "DA"
        .byte $40                                   // @ character
        .text "Q"
        .byte $91,$92,$91,$92
        .byte $11,$04,$41,$10,$44,$51,$94,$65,$93,$93,$24,$64,$24,$24,$64,$24 // ..A.DQ.e..$d$$d$
        .byte $ff,$ff,$aa,$ef,$bb,$ae,$6b,$9a,$f9,$f9,$a9,$f9,$f9,$f9,$b9,$e9 // ......k.........
        .byte $79,$79,$79,$79,$79,$7a,$7f
        .text "U:)&"
        .byte $00
        .byte $55,$aa,$ff
        .byte $55
        .byte $66,$96,$52,$00,$55,$aa,$ff           // f.R.U..

txt_0b8f:
        .text "UNNNNN"
        .byte $ae                                   // '.' | $80 (end-of-string marker)
        .byte $ff                                   // .

txt_0b97:
        .text "UEFI"
        .byte $40                                   // @ character
        .text "U"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $ff,$55,$9a,$6b,$ae,$00,$55,$aa,$ff,$55,$93,$93,$93,$13,$53,$ab // .U.k..U..U....S.
        .byte $ff,$57,$92,$93,$93,$93,$93,$93,$92,$93,$aa,$ff,$fd,$ff,$ef,$df // .W..............
        .byte $46,$df,$a4,$e4,$e4,$e4,$e4,$e4,$e4,$e4,$e4,$e4,$e4,$e4,$e5,$ea // F...............
        .byte $ff,$d5,$aa,$ff,$ff,$00,$55,$aa,$ff,$55,$a9,$f9,$f9,$01,$55,$aa // ......U..U....U.
        .byte $ff                                   // .

txt_0bdf:
        .text "U99999"
        .byte $b9                                   // '9' | $80 (end-of-string marker)
        .byte $f9,$79                               // .y

txt_0be8:
        .text "*?7????9"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $fe,$fa,$fe,$fe,$be,$7e,$1a           // .....~.

txt_0bf8:
        .text "NNNNNNOM"

scr_0c00:
        // === Screen RAM (604 bytes, $0c00-$0e5b) ===
        .encoding "screencode_mixed"
        .byte $4a,$4f,$4f,$40,$55,$aa,$ff,$55,$92,$93,$92,$93,$93,$93,$93,$93 // scrcode: ................
        .byte $99,$a6,$e9,$ba,$ee,$fb,$be,$ff,$64,$64,$a4,$64,$a4,$a4,$e4,$a4 // scrcode: ................
        .byte $66,$59                               // scrcode: ..
        .text "v@"
        .byte $55,$aa,$ff,$55                       // scrcode: ....
        .byte $b9,$a9,$69                           // scrcode: ...
        .text "a"
        .byte $55,$aa,$ff                           // scrcode: ...
        .encoding "petscii_upper"

txt_0c2f:
        .text "U66666"
        .byte $b6                                   // '6' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $f6,$56,$fe,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$aa,$ff,$ff,$ff,$ff,$ff // scrcode: ................
        .byte $ff,$ff,$a7,$e7,$e7,$e7,$e7,$e7,$e7,$e7,$93,$93,$93,$93,$93,$93 // scrcode: ................
        .byte $93,$93,$ef,$ff,$ff                   // scrcode: .....
        .text "?"
        .byte $fe,$ff                               // scrcode: ..
        .byte $ff,$ff,$da,$db,$db,$db,$db,$db,$db,$db,$aa,$fe,$fe,$fe,$fe,$fe // scrcode: ................
        .byte $fe,$fe                               // scrcode: ..
        .encoding "petscii_upper"

txt_0c70:
        .text "??3?????"
        .byte $7e,$be,$fe,$fe,$fe,$be,$fe,$fe       // scrcode: ........

txt_0c80:
        .text "MMMMMMMM"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $bf,$bf,$bf,$bf,$bf,$bf,$bf,$93,$93,$93,$93,$93,$92,$93,$93,$ff // scrcode: ................
        .byte $7f,$fc,$ef,$df,$46,$df,$ef,$aa,$ff,$ef,$77 // scrcode: ...........
        .text "c"
        .byte $77,$bb,$ff,$aa,$ff,$bb,$77,$cf,$77,$bb,$ff,$aa // scrcode: ............
        .byte $ff,$af,$77                           // scrcode: ...
        .text "3"
        .byte $77,$bb,$ff,$e7,$e7,$e7,$e7,$e5,$ea,$ff,$ff,$90,$95,$aa,$ff,$55 // scrcode: ................
        .byte $aa,$ff,$ff                           // scrcode: ...
        .text "@"
        .byte $55,$aa,$ff,$55,$aa,$ff,$ff           // scrcode: .......
        .text "d"
        .byte $54,$aa,$ff,$55,$aa,$ff,$ff,$db       // scrcode: ........
        .byte $db,$db,$db,$5b,$ab,$ff,$ff,$fe,$fe,$fe,$fe,$fe,$fe,$ff,$ff,$79 // scrcode: ................
        .byte $79,$7a,$7f,$55,$aa,$ff,$ff           // scrcode: .......
        .encoding "petscii_upper"

txt_0cf0:
        .text "MM"
        .byte $ad                                   // '-' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .byte $fd,$55,$aa,$ff,$ff,$bf,$bf,$bf,$bf,$bf,$bf,$ff,$ff // scrcode: .............
        .text "@abcdefghicjklmnopqfgggrstg"
        .text "uv@@@@awxyz"
        .byte $1b,$1c,$1d,$1e,$1f                   // scrcode: .....
        .encoding "petscii_upper"

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

txt_0d46:
        .text "456789:;<=>?"
        .byte $40                                   // @ character
        .text "ABCDEF.GH1"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@aw"
        .byte $49,$4a                               // scrcode: ..
        .text "z"
        .encoding "petscii_upper"

txt_0d66:
        .text "KLMNOP.QRSTJ"
        .encoding "screencode_mixed"
        .text "z"
        .encoding "petscii_upper"

txt_0d73:
        .text "UVWXYP.QZ1"
        .byte $00                                   // string terminator
        .encoding "screencode_mixed"
        .text "@@@aw"
        .byte $5b,$5c                               // scrcode: ..
        .text "z"
        .byte $5d,$5e,$5f,$60,$61,$62               // scrcode: ......
        .text "."
        .byte $63,$64,$65,$66,$67                   // scrcode: .....
        .text "z"
        .byte $68,$69,$5f,$6a,$6b,$6c               // scrcode: ......
        .text "."
        .byte $6d,$6e                               // scrcode: ..
        .text "1@@@@a"
        .byte $6f,$70,$71,$72                       // scrcode: ....
        .byte $73,$74,$75,$76,$77,$78,$79,$7a,$7b,$7c,$7d,$7e,$7f,$80,$7a,$75 // scrcode: ................
        .byte $81,$82,$83,$79,$84,$85,$86           // scrcode: .......
        .text "@@@@"
        .byte $87,$88,$88,$88,$88,$88,$88,$89,$8a,$8b // scrcode: ..........
        .text "."
        .byte $8c,$88                               // scrcode: ..
        .byte $8d                                   // scrcode: .
        .text "w"
        .byte $8e,$8f,$90,$91,$88,$89,$92,$93       // scrcode: ........
        .text "."
        .byte $8c,$94,$95,$96                       // scrcode: ....
        .text "@@@@@@@@@@@"
        .byte $97,$98,$99,$9a,$9b                   // scrcode: .....
        .text "@"
        .byte $9c,$9d,$99,$99,$9e,$9f               // scrcode: ......
        .text "@"
        .byte $97                                   // scrcode: .
        .byte $98,$99,$9a,$9b                       // scrcode: ....
        .text "@@@@@@@abcdefgbhijklmnopqrstuvwux@@@"
        .text "@@@yz@@@@"
        .byte $1b,$1c,$1d                           // scrcode: ...
        .text "@"
        .byte $1e                                   // scrcode: .
        .text "@@@"
        .byte $1f                                   // scrcode: .
        .encoding "petscii_upper"

txt_0e30:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$%&'()**+,-."
        .byte $00                                   // string terminator

txt_0e41:
        .text "/01233456789:;<=>?"
        .byte $40                                   // @ character
        .text "ABCDEFG"
        .byte $00                                   // string terminator

// --- Region $0e81-$0efa ---
.pc = $0e81 "txt_0e81"

txt_0e81:
        .text "HIJHKLMNLOPLQQRSTUVWHXYZ"
        .encoding "screencode_mixed"
        .byte $5b,$5c                               // scrcode: ..
        .text "@@@@@@"
        .byte $5d                                   // scrcode: .
        .text "@@@@@@"
        .byte $5e,$5f                               // scrcode: ..
        .text "@"
        .byte $60,$61                               // scrcode: ..
        .text "@"
        .byte $62,$63,$64,$65,$66,$67,$68,$56,$69,$6a,$6b,$6c,$6d,$6e,$6f,$70 // scrcode: ................
        .byte $71,$72                               // scrcode: ..
        .text "@"
        .byte $73,$74,$75,$76,$77,$78,$79,$7a,$4c,$7b,$7c,$77,$7d,$7a,$7e,$78 // scrcode: ................
        .byte $7f,$80,$52,$81,$7e,$82,$83,$84,$81,$85 // scrcode: ..........
        .text "@@@@@@@@@@@@@@"
        .text "@@@@@@@"
        .byte $99,$99,$9e,$9f                       // scrcode: ....
        .text "@"
        .byte $97,$98,$99,$9a,$9b                   // scrcode: .....
        .encoding "petscii_upper"

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

// --- Region $0ff0-$1002 ---
.pc = $0ff0 "dat_0ff0"

dat_0ff0:
        .encoding "screencode_mixed"
        .byte $aa,$a8                               // scrcode: ..
        .text " @p"
        .byte $60                                   // scrcode: .
        .text "@@@@@@@@@@"
        .byte $4c                                   // scrcode: .
        .text "+p"
        .encoding "petscii_upper"

// --- Region $1007-$102b ---
.pc = $1007 "Segment $1007"
        .byte $02                                   // .

txt_1008:
        .text "-MUSIC BY LINK IN JCH'S-"
        .byte $01,$01,$01,$43,$17,$5d,$17,$77,$17,$02,$00,$0a // ...C.].w....

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

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

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

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

// --- Region $153c-$15b4 ---
.pc = $153c "dat_153c"

dat_153c:
        .byte $8b,$70,$93,$40,$9c,$78,$a5,$58,$af,$c8,$b9,$e0,$c4,$98,$d0,$08 // .p.@.x.X........
        .byte $dd,$30,$ea,$20,$f8,$2e,$fd,$45,$5f,$79,$17,$17,$17,$43,$5d,$77 // .0. ...E_y...C]w
        .byte $17,$17,$17,$00,$07,$0e,$01,$02,$04,$fe,$fd,$fb,$41,$e6,$b3,$8e // ............A...
        .byte $04,$26,$13,$ff,$ff,$ff,$41,$11,$41,$18,$18,$18,$18,$18,$18,$13 // .&....A.A.......
        .byte $1b,$11,$00,$00,$00,$01,$01,$01,$08,$18,$40,$00,$00,$00,$00,$00 // ..........@.....
        .byte $00,$00,$00,$00,$10,$33,$26,$00,$00,$ff,$02,$02,$00,$02,$04,$00 // .....3&.........
        .byte $04,$20,$00,$00,$00,$00,$02,$01,$00,$00,$00,$00,$0e,$00,$00,$7b // . .............{
        .byte $61,$8e,$05,$29,$13,$01,$0f,$01,$06   // a..).....

// --- Region $15bb-$1a5d ---
.pc = $15bb "dat_15bb"

dat_15bb:
        .byte $00,$01,$04,$08,$0c,$3e,$00,$00,$a6,$06,$41,$03,$08,$05,$10,$00 // .....>....A.....
        .byte $00,$01,$04,$5d,$41,$f1,$03,$33,$1f,$00,$30,$1d,$00,$03,$06,$00 // ...]A..3..0.....
        .byte $df,$df,$00,$7f,$00,$00,$7f,$a6,$df,$ae,$a8,$a6,$c0,$ba,$7f,$a6 // ................
        .byte $df,$ae,$a8,$a6,$7f,$00,$00,$7f,$df,$00,$03,$07,$7f,$df,$00,$04 // ................
        .byte $07,$7f,$df,$00,$02,$07,$7f,$df,$00,$05,$07,$7f,$00,$00,$7f,$df // ................
        .byte $df,$df,$00,$7f,$00,$00,$00,$00,$7f,$df,$df,$00,$7f,$c1,$00,$7f // ................
        .byte $01,$81,$41,$02,$41,$41,$00,$01,$81,$41,$41,$41,$80,$80,$05,$01 // ..A.AA...AAA....
        .byte $81,$41,$41,$41,$7f,$11,$11,$01,$01,$41,$41,$41,$01,$01,$41,$41 // .AAA.....AAA..AA
        .byte $41,$01,$01,$41,$41,$41,$01,$01,$41,$41,$41,$01,$13,$13,$01,$01 // A..AAA..AAA.....
        .byte $81,$81,$11,$02
        .text "AAAA"
        .byte $01,$09,$81
        .byte $51,$02,$81,$11,$00
        .byte $10,$00,$31,$41,$00,$00,$00,$41,$1f,$41,$00,$81,$16,$61,$61,$16 // ..1A...A.A...aa.
        .byte $ff,$01,$41,$08,$19,$41,$41,$19,$0f,$13,$ff,$06,$04,$02,$41,$04 // ..A..AA.......A.
        .byte $00,$d7,$01,$21,$11,$00,$00,$00,$00,$e7,$01,$21,$21,$00,$00,$00 // ...!.......!!...
        .byte $00,$c8,$01,$21,$21,$04,$04,$04,$0e,$e7,$01,$00,$00,$00,$08,$07 // ...!!...........
        .byte $0e,$e7,$01,$00,$00,$00,$08,$0f,$00,$b9,$22,$22,$20,$00,$0c,$04 // .........."" ...
        .byte $00,$f8,$22,$22,$20,$00,$0c,$15,$00,$a9,$00,$00,$00,$00,$0c,$18 // .."" ...........
        .byte $00,$a9,$00,$00,$00,$00,$0c,$1d,$00,$a9,$00,$00,$00,$00,$0c,$22 // ..............."
        .byte $00,$a9,$00,$00,$00,$00,$0c,$27,$00,$ca,$22,$22,$00,$00,$0c,$2c // .......'..""...,
        .byte $00,$a9,$22,$22,$00,$00,$08,$04,$00,$c7,$22,$22,$00,$00,$08,$30 // ..""......""...0
        .byte $00,$b9,$01,$22,$20,$00,$10,$04,$00,$e9,$22,$22,$24,$00,$04,$34 // ..." .....""$..4
        .byte $00,$e8,$00,$00,$00,$00,$00,$39,$08,$08,$4f,$22,$80,$00,$00,$3d // .......9..O"...=
        .byte $00,$b8,$22,$22,$20,$00,$00,$04,$00,$b8,$00,$00,$00,$00,$04,$04 // .."" ...........
        .byte $91,$94,$bd,$fd,$27,$67,$8c,$ac,$db,$06,$31,$54,$70,$88,$a4,$c1 // ....'g....1Tp...
        .byte $dd,$fd,$19,$1f,$17,$17,$17,$17,$18,$18,$18,$18,$18,$19,$19,$19 // ................
        .byte $19,$19,$19,$19,$19,$19,$1a,$1a,$8c,$01,$03,$01,$03,$01,$03,$01 // ................
        .byte $03,$0a,$0d,$0a,$0d,$01,$03,$01,$03,$01,$03,$01,$03,$12,$12,$12 // ................
        .byte $12,$ff,$8c,$02,$04,$02,$04,$02,$04,$02,$04,$02,$04,$02,$04,$02 // ................
        .byte $04,$02,$04,$02,$04,$02,$04,$13,$13,$13,$13,$ff,$8c,$05,$06,$05 // ................
        .byte $06,$07,$08,$07,$09,$0c,$0b,$0c,$0e,$05,$06,$05,$06,$0f,$10,$0f // ................
        .byte $11,$0f,$10,$0f,$11,$ff,$8f,$00,$7f,$a1,$83,$0e,$81,$00,$83,$0e // ................
        .byte $81,$00,$80,$10,$81,$00,$0c,$80,$00,$84,$13,$80,$00,$84,$12,$80 // ................
        .byte $00,$84,$12,$80,$00,$81,$0e,$80,$00,$81,$0c,$80,$00,$81,$0e,$83 // ................
        .byte $00,$7f,$a4,$80,$30,$00,$ad,$00,$32,$81,$00,$a3,$80,$32,$84,$00 // ....0...2....2..
        .byte $a4,$80,$32,$81,$00,$ad,$80,$32,$81,$00,$a3,$80,$33,$84,$00,$a4 // ..2....2....3...
        .byte $80,$32,$81,$00,$ad,$80,$32,$81,$00,$a3,$80,$32,$81,$00,$80,$34 // .2....2....2...4
        .byte $81,$00,$a4,$80,$32,$81,$00,$ad,$80,$30,$81,$00,$a3,$80,$33,$84 // ....2....0....3.
        .byte $00,$7f,$a1,$83,$0e                   // .....

chr_1800:
        // === Charset data (606 bytes, $1800-$1a5d) ===
        .byte $81,$00,$83,$0e,$81,$00,$80,$0c       // char 0 @+0
        .byte $81,$00,$80,$0e,$81,$00,$80,$10       // char 1 @+1
        .byte $81,$00,$87,$0c,$80,$00,$84,$0c       // char 2 @+2
        .byte $80,$00,$81,$0e,$80,$00,$81,$0c       // char 3 @+3
        .byte $80,$00,$81,$0e,$83,$00,$7f,$a4       // char 4 @+4
        .byte $80,$30,$00,$ad,$00,$32,$81,$00       // char 5 @+5
        .byte $a3,$80,$32,$84,$00,$a4,$80,$32       // char 6 @+6
        .byte $81,$00,$ad,$80,$32,$81,$00,$a3       // char 7 @+7
        .byte $80,$33,$84,$00,$a4,$80,$30,$81       // char 8 @+8
        .byte $00,$ad,$80,$34,$81,$00,$a3,$80       // char 9 @+9
        .byte $32,$84,$00,$a4,$80,$32,$81,$00       // char 10 @+10
        .byte $ad,$80,$30,$81,$00,$a3,$80,$33       // char 11 @+11
        .byte $81,$00,$80,$34,$81,$00,$7f,$a8       // char 12 @+12
        .byte $82,$00,$80,$1f,$81,$00,$80,$26       // char 13 @+13
        .byte $84,$00,$80,$26,$84,$00,$80,$26       // char 14 @+14
        .byte $84,$00,$80,$26,$84,$00,$80,$26       // char 15 @+15
        .byte $84,$00,$80,$26,$81,$00,$a7,$80       // char 16 @+16
        .byte $28,$87,$00,$7f,$a8,$82,$00,$80       // char 17 @+17
        .byte $1f,$81,$00,$80,$26,$84,$00,$80       // char 18 @+18
        .byte $26,$84,$00,$80,$26,$84,$00,$80       // char 19 @+19
        .byte $26,$84,$00,$80,$26,$81,$00,$86       // char 20 @+20
        .byte $24,$87,$00,$7f,$b2,$80,$32,$81       // char 21 @+21
        .byte $00,$80,$39,$81,$00,$80,$35,$81       // char 22 @+22
        .byte $00,$83,$30,$81,$00,$80,$37,$81       // char 23 @+23
        .byte $00,$83,$2f,$81,$00,$80,$2d,$81       // char 24 @+24
        .byte $00,$80,$30,$81,$00,$80,$32,$81       // char 25 @+25
        .byte $00,$84,$26,$83,$00,$a7,$80,$32       // char 26 @+26
        .byte $84,$00,$7f,$b2,$80,$32,$81,$00       // char 27 @+27
        .byte $80,$39,$81,$00,$80,$3b,$81,$00       // char 28 @+28
        .byte $87,$35,$80,$00,$83,$34,$81,$00       // char 29 @+29
        .byte $80,$2d,$81,$00,$80,$30,$81,$00       // char 30 @+30
        .byte $80,$32,$81,$00,$84,$26,$83,$00       // char 31 @+31
        .byte $a7,$80,$32,$84,$00,$7f,$b2,$80       // char 32 ' '
        .byte $32,$81,$00,$80,$39,$81,$00,$80       // char 33 '!'
        .byte $3b,$81,$00,$87,$3c,$80,$00,$83       // char 34 '"'
        .byte $3b,$81,$00,$80,$39,$81,$00,$80       // char 35 '#'
        .byte $3b,$81,$00,$80,$3c,$81,$00,$84       // char 36 '$'
        .byte $32,$83,$00,$a7,$80,$32,$84,$00       // char 37 '%'
        .byte $7f,$a1,$81,$11,$80,$00,$81,$11       // char 38 '&'
        .byte $80,$00,$81,$11,$80,$00,$81,$11       // char 39 '''
        .byte $80,$00,$86,$11,$8f,$00,$80,$00       // char 40 '('
        .byte $81,$0e,$80,$00,$81,$0c,$80,$00       // char 41 ')'
        .byte $0e,$84,$00,$7f,$a7,$80,$32,$81       // char 42 '*'
        .byte $00,$80,$32,$81,$00,$80,$32,$81       // char 43 '+'
        .byte $00,$87,$32,$80,$00,$32,$81,$00       // char 44 ','
        .byte $a8,$80,$32,$8f,$00,$89,$00,$7f       // char 45 '-'
        .byte $a7,$80,$32,$81,$00,$80,$32,$81       // char 46 '.'
        .byte $00,$80,$32,$81,$00,$80,$32,$81       // char 47 '/'
        .byte $00,$86,$32,$8f,$00,$8c,$00,$7f       // char 48 '0'
        .byte $a1,$81,$11,$80,$00,$81,$11,$80       // char 49 '1'
        .byte $00,$81,$11,$80,$00,$87,$11,$80       // char 50 '2'
        .byte $00,$81,$0c,$80,$00,$8f,$0e,$82       // char 51 '3'
        .byte $7e,$87,$00,$7f,$a7,$80,$32,$81       // char 52 '4'
        .byte $00,$80,$32,$81,$00,$80,$32,$81       // char 53 '5'
        .byte $00,$87,$32,$80,$00,$a7,$30,$81       // char 54 '6'
        .byte $00,$a8,$80,$32,$8f,$00,$89,$00       // char 55 '7'
        .byte $7f,$b2,$87,$26,$80,$00,$26,$84       // char 56 '8'
        .byte $00,$80,$26,$81,$00,$82,$24,$00       // char 57 '9'
        .byte $85,$21,$88,$00,$80,$1f,$81,$00       // char 58 ':'
        .byte $83,$1d,$81,$00,$7f,$b2,$87,$29       // char 59 ';'
        .byte $83,$00,$80,$28,$81,$00,$80,$26       // char 60 '<'
        .byte $81,$00,$82,$2b,$00,$84,$2d,$80       // char 61 '='
        .byte $00,$29,$81,$00,$80,$26,$87,$00       // char 62 '>'
        .byte $83,$24,$81,$00,$7f,$b2,$81,$29       // char 63 '?'
        .byte $80,$00,$2b,$81,$00,$84,$30,$80       // char 64 '@'
        .byte $00,$29,$84,$00,$81,$24,$80,$00       // char 65 'A'
        .byte $26,$8f,$00,$83,$00,$24,$81,$00       // char 66 'B'
        .byte $7f,$a0,$8f,$0e,$7e,$7e,$7f,$a6       // char 67 'C'
        .byte $80,$34,$81,$00,$80,$32,$81,$00       // char 68 'D'
        .byte $80,$2d,$81,$00,$80,$26,$81,$00       // char 69 'E'
        .byte $80,$2b,$81,$00,$80,$32,$81,$00       // char 70 'F'
        .byte $80,$30,$81,$00,$80,$2b,$81,$00       // char 71 'G'
        .byte $80,$29,$81,$00,$80,$29,$81,$00       // char 72 'H'
        .byte $80,$29,$81,$00,$80,$2b,$84,$00       // char 73 'I'
        .byte $80,$28,$81,$00,$80,$24,$81,$00       // char 74 'J'
        .byte $80,$21,$81,$00,$7f                   // char 75 (partial)

dat_1a5d:
        // === Fill data (1 bytes, $1a5d-$1a5d) ===
        .byte $00                                   // .

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

spr_2000:
        .fill 12, $00
        .byte $7c,$ee,$0e,$7e,$30,$f0,$70,$70,$7c,$76,$76,$77,$00,$00,$00,$00 // |..~0.pp|vvw....
        .byte $3e,$67,$e2,$e0,$06,$1e,$0e,$0e,$3e,$6e,$6e,$ee,$00,$00,$00,$00 // >g......>nn.....
        .byte $38,$6c,$ee,$fe,$1e,$37,$36,$38,$7c,$38,$38,$38,$00,$00,$00,$00 // 8l...768|888....
        .byte $7b,$ee,$ee,$ee,$10,$38,$30,$00,$18,$78,$38,$38,$04,$0e,$0c,$00 // {....80..x88....
        .byte $06,$1e,$0e,$0e,$30,$f0,$70,$70,$76,$7c,$78,$7c,$18,$78 // ....0.ppv|x|.x

txt_205a:
        .text "888888"
        .byte $00                                   // string terminator
        .byte $00,$00,$00,$ec,$ec,$fe,$fe,$00,$00,$00,$00,$dc,$ec,$ee,$ee,$00 // ................
        .byte $00,$00,$00,$3c,$66,$e7,$e7,$00,$00,$00,$00,$ec,$76,$76,$77,$00 // ...<f.......vvw.
        .byte $00,$00,$00,$37,$6e,$6e,$ee,$00,$00,$00,$00,$ee,$77,$76,$70,$00 // ...7nn......wvp.
        .byte $00,$00,$00,$7e,$e7,$70,$1e,$30       // ...~.p.0

// --- Region $20a2-$210a ---
.pc = $20a2 "dat_20a2"

dat_20a2:
        .byte $00,$00,$cc,$ee,$ee,$ee,$00,$00,$00,$00,$e7,$66,$76,$34,$00,$00 // ...........fv4..
        .byte $00,$00,$c7,$c6,$d6,$d6,$00,$00,$00,$00,$ef,$66,$3c,$18,$00,$00 // ...........f<...
        .byte $00,$00,$fe,$ce,$1c,$38,$30,$78,$78,$78,$30,$30,$30,$00,$00,$66 // .....80xxx000..f
        .byte $66,$ee,$cc,$00,$00,$00,$00,$18,$18,$38,$30,$00,$00,$00,$06,$0c // f........80.....
        .byte $1c,$18
        .text "8888"
        .byte $60
        .byte $30,$38,$18,$1c,$1c,$1c,$1c,$00,$00
        .byte $00,$00,$00,$18,$18,$7e,$06,$0e,$0c,$1c,$18,$38,$30,$70,$00,$00 // .....~.....80p..
        .byte $00,$00,$3c,$66,$ef,$ff,$00,$00,$00   // ..<f.....

// --- Region $2111-$242b ---
.pc = $2111 "dat_2111"

dat_2111:
        .byte $00,$00,$00,$7c,$ee,$4e,$18,$00,$00,$00,$00,$7e,$0c,$18,$0c,$00 // ...|.N.....~....
        .byte $00,$00,$00,$60,$60,$6e,$ee,$00,$00,$00,$00,$fe,$e0,$fc,$0e,$00 // ...``n..........
        .byte $00,$00,$00,$3c,$60,$6c,$f6,$00,$00,$00,$00,$fe,$ec,$18,$18,$00 // ...<`l..........
        .byte $00,$00,$00,$7c,$ee,$7c,$ee,$00,$00,$00,$00,$7e,$e7,$e7,$7f,$00 // ...|.|.....~....
        .byte $00,$00,$00,$00,$30,$30,$00,$00,$00,$00,$00,$00,$12,$36,$6c,$00 // ....00.......6l.
        .byte $00,$00,$00,$00,$00,$7c,$00,$00,$00,$00,$00,$00,$48,$6c,$36,$7e // .....|......Hl6~
        .byte $e7,$67,$0e,$1c,$3c,$38,$00,$06,$0e,$0e,$1e,$16,$16,$36,$3e,$f8 // .g..<8.......6>.
        .byte $6c,$6c,$6c,$78,$6c,$6e,$6e,$38,$6c,$6e,$e4,$e0,$e0,$e0,$e4,$f8 // lllxlnn8ln......
        .byte $6c,$64,$66,$66,$66,$66,$66,$fe,$66,$62,$68,$78,$68,$60,$60,$38 // ldfffff.fbhxh``8
        .byte $6c,$6e,$e4,$e0,$ee,$e6,$e6,$ef,$66,$66,$66,$7e,$66,$66,$66,$7c // ln......fff~fff|

txt_21b1:
        .text "8888888"
        .byte $1f,$0e,$0e,$0e,$0e,$0e,$0e,$4e,$f7,$66,$6e,$6c,$7c,$78,$7c,$6c // .......N.fnl|x|l
        .byte $f0,$60,$60,$60,$60,$60,$60,$60,$c7,$c6,$ee,$ee,$fe,$fe,$d6,$d6 // .```````........
        .byte $ef,$66,$66,$76,$76,$7e,$6e,$6e,$3c,$66,$66,$e7,$e7,$e7,$e7,$e7 // .ffvv~nn<ff.....
        .byte $f8,$6c,$6e,$6e,$6e,$7c,$60,$60,$38,$6c,$6c,$ee,$ee,$ee,$ee,$fe // .lnnn|``8ll.....
        .byte $fc,$6e,$6e,$6e,$6c,$78,$6c,$6c,$3c,$66,$e7,$e6,$70,$3c,$0e,$67 // .nnnlxll<f..p<.g
        .byte $ff,$99,$18,$18,$18,$18,$18,$18,$e7,$e7,$e7,$e7,$e7,$e7,$e7,$e7 // ................
        .byte $e7,$46,$46,$66,$6c,$2c,$3c,$3c,$f3,$63,$63,$63,$6b,$6b,$7f,$77 // .FFfl,<<.ccckk.w
        .byte $e7,$66,$66,$3c,$3c,$18,$3c,$3c,$e7,$66,$66,$34,$3c,$18,$18,$18 // .ff<<.<<.ff4<...
        .byte $ff,$c7,$86,$0c,$1c,$18,$30,$30,$ee,$ee,$77,$00,$00,$00,$00,$00 // ......00..w.....
        .byte $77,$77,$ee,$00,$00,$00,$00,$00,$e2,$67,$3e,$00,$00,$00,$00,$00 // ww.......g>.....
        .byte $e0,$6e,$3c,$00,$00,$00,$00,$00,$38,$38,$7c,$00,$00,$00,$00,$00 // .n<.....88|.....
        .byte $7c,$e0,$78,$0c,$6e,$ee,$7c,$00,$77,$77,$f3,$00,$00,$00,$00,$00 // |.x.n.|.ww......
        .byte $0e,$0e,$0e,$76,$f4,$ec,$78,$00,$76,$76,$fb,$00,$00,$00,$00,$00 // ...v..x.vv......
        .byte $ee,$ef,$e6,$00,$00,$00,$00,$00,$e7,$66,$3c,$00,$00,$00,$00,$00 // .........f<.....
        .byte $77,$76,$7c,$70,$70,$78,$e0,$00,$ee,$6e,$3e,$0e,$0e,$1e,$03,$00 // wv|ppx...n>.....
        .byte $70,$70,$f8,$00,$00,$00,$00,$00,$67,$e7,$7e,$00,$00,$00,$00,$00 // pp......g.~.....
        .byte $6e,$76,$3c,$00,$00,$00,$00,$00,$3c,$18,$18,$00,$00,$00,$00,$00 // nv<.....<.......
        .byte $7c,$6c,$6c,$00,$00,$00,$00,$00,$3c,$6e,$f7,$00,$00,$00,$00,$00 // |ll.....<n......
        .byte $3c,$18,$18,$18,$50,$f0,$60,$00,$70,$e6,$fe,$00,$00,$00,$00,$00 // <...P.`.p.......
        .byte $30,$78,$30,$00,$00,$00,$00,$00,$18,$1c,$0c,$06,$00,$00,$00,$00 // 0x0.............
        .byte $18,$38,$30,$60,$00,$00,$00,$00,$18,$18,$00,$00,$00,$00,$00,$00 // .80`............
        .byte $00,$18,$18,$30,$00,$00,$00,$00,$00,$18,$18,$00,$00,$00,$00,$00 // ...0............
        .byte $60,$e0,$c0,$00,$00,$00,$00,$00,$f7,$66,$3c,$00,$00,$00,$00,$00 // `........f<.....
        .byte $38,$38,$fe,$00,$00,$00,$00,$00,$60,$e6,$fe,$00,$00,$00,$00,$00 // 88......`.......
        .byte $6e,$ee,$7c,$00,$00,$00,$00,$00,$ff,$0e,$0e,$00,$00,$00,$00,$00 // n.|.............
        .byte $e7,$e7,$7e,$00,$00,$00,$00,$00,$38,$38,$38,$00,$00,$00,$00,$00 // ..~.....888.....
        .byte $ee,$ee,$7c,$00,$00,$00,$00,$00,$07,$e7,$7e,$00,$00,$00,$00,$00 // ..|.......~.....
        .byte $30,$30,$00,$00,$00,$00,$00,$00,$30,$30,$60,$00,$00,$00,$00,$00 // 00......00`.....
        .byte $36,$12,$00,$00,$00,$00,$00,$00,$7c,$00,$00,$00,$00,$00,$00,$00 // 6.......|.......
        .byte $6c,$48,$00,$00,$00,$00,$00,$00,$18,$3c,$18,$00,$00,$00,$00,$00 // lH.......<......
        .byte $66,$66,$ef,$00,$00,$00,$00,$00,$6e,$6c,$f8,$00,$00,$00,$00,$00 // ff......nl......
        .byte $6e,$6c,$38,$00,$00,$00,$00,$00,$64,$6c,$f8,$00,$00,$00,$00,$00 // nl8.....dl......
        .byte $62,$66,$fe,$00,$00,$00,$00,$00,$60,$60,$f0,$00,$00,$00,$00,$00 // bf......``......
        .byte $66,$6e,$3a,$00,$00,$00,$00,$00,$66,$66,$f7,$00,$00,$00,$00,$00 // fn:.....ff......
        .byte $ec,$6c,$38,$00,$00,$00,$00,$00,$6e,$66,$f7,$00,$00,$00,$00,$00 // .l8.....nf......
        .byte $c6,$c6,$e7,$00,$00,$00,$00,$00,$66,$66,$3c,$00,$00,$00,$00,$00 // ........ff<.....
        .byte $6c,$6e,$3b,$00,$00,$00,$00,$00,$6e,$67,$f6,$00,$00,$00,$00,$00 // ln;.....ng......
        .byte $18,$18,$3c,$00,$00,$00,$00,$00,$18,$18,$18,$00,$00,$00,$00,$00 // ..<.............
        .byte $77,$63,$63,$00,$00,$00,$00,$00,$66,$66,$e7,$00,$00,$00,$00,$00 // wcc.....ff......
        .byte $61,$e3,$ff                           // a..

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

// --- Region $263a-$263a ---
.pc = $263a "dat_263a"

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

// --- Region $2752-$2763 ---
.pc = $2752 "Segment $2752"
        .byte $02,$8e                               // ..

txt_2754:
        .text ".."
        .byte $a6                                   // '&' | $80 (end-of-string marker)
        .byte $03,$8e,$2f,$2e,$85,$02,$a2,$1e,$a0,$14,$4c,$67,$27 // ../.......Lg'

// --- Region $2856-$2869 ---
.pc = $2856 "Segment $2856"
        .byte $00,$20,$f0,$0f,$a9,$26,$8d,$12,$d0,$a2,$02,$8e,$9f,$29,$20,$63 // . ...&.......) c

txt_2866:
        .text ")X"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $00                                   // .

// --- Region $293d-$2952 ---
.pc = $293d "dat_293d"

dat_293d:
        .byte $07,$07,$21,$0f,$0f,$2a,$00,$00,$40,$a0,$00,$00,$00,$20,$20,$20 // ..!..*..@....   
        .byte $00,$00,$00,$cf,$9f,$10               // ......

// --- Region $29a0-$29aa ---
.pc = $29a0 "txt_29a0"

txt_29a0:
        .text "Q'"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .byte $27,$ac,$29,$f4,$29,$1a,$2a,$3b       // '.).).*;

// --- Region $2acc-$2ae8 ---
.pc = $2acc "dat_2acc"

dat_2acc:
        .byte $00,$09,$0a,$01,$01,$0a,$09,$00,$00,$00,$09,$0a,$0a,$0a,$0a,$09 // ................
        .byte $00,$00,$00,$09,$09,$09,$09,$09,$09,$00,$00,$00,$02 // .............

// --- Region $2bd9-$2c48 ---
.pc = $2bd9 "dat_2bd9"

dat_2bd9:
        .byte $5f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$09,$06,$0b,$02,$08,$04 // _...............
        .byte $0c,$0e,$05,$0a,$0f,$03,$07,$0d       // ........

dat_2bf1:
        // === Fill data (58 bytes, $2bf1-$2c2a) ===
        .fill 58, $01
        .byte $0d,$07,$03,$0f,$0a,$05,$0e,$0c,$04,$08,$02,$0b,$06,$09,$00,$09 // ................
        .byte $06,$0b,$02,$08,$04,$0c,$0e,$05,$0a,$0f,$03,$07,$0d,$01 // ..............

// --- Region $2dcf-$2ddf ---
.pc = $2dcf "Segment $2dcf"
        .byte $0e,$14,$12,$0f,$20,$02,$19,$20,$04,$0f,$03,$4c,$e2,$fc,$00,$00 // .... .. ...L....
        .byte $00                                   // .

// --- Region $2e26-$321b ---
.pc = $2e26 "dat_2e26"

dat_2e26:
        .byte $fe,$bf,$f7,$fd,$7f,$df,$fb,$ef,$00,$00,$02,$02,$0a,$02,$0a,$07 // ................
        .byte $02,$0a,$07,$01,$07,$0a,$02,$07,$0a,$02,$0a,$02,$02,$06,$06,$0e // ................
        .byte $06,$0e,$03,$06,$0e,$03,$01,$03,$0e,$06,$03,$0e,$06,$0e,$06,$06 // ................
        .byte $09,$09,$05,$09,$05,$07,$09,$05,$07,$01,$07,$05,$09,$07,$05,$09 // ................
        .byte $05,$09,$09,$07,$07,$07,$07,$06,$06,$06,$06,$05,$05,$05,$05,$04 // ................
        .byte $04,$04,$04,$03,$03,$03,$03,$02,$02,$02,$02,$01,$01,$01,$01,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$ff,$fe,$fe,$fe,$fe,$fd // ................
        .byte $fd,$fd,$fd,$fc,$fc,$fc,$fc,$fb,$fb,$fb,$fb,$fa,$fa,$fa,$fa,$f9 // ................
        .byte $f9,$f9,$f9                           // ...

txt_2ea9:
        .text "    B"
        .byte $12,$09,$0e,$07,$13,$20,$59,$0f,$15,$20,$54,$08,$09,$13,$20,$43 // ..... Y.. T... C
        .byte $0f,$0f,$0c,$20,$56,$05,$12,$13,$09,$0f,$0e,$20,$4f,$06 // ... V...... O.

txt_2ecc:
        .text ":          S"
        .byte $15,$10,$05,$12,$20,$53,$03,$12,$01,$0d,$02,$0c,$05,$20,$53,$09 // .... S....... S.
        .byte $0d,$15,$0c,$01,$14,$05,$12           // .......

txt_2eef:
        .text "+++H              C"
        .byte $12,$01,$03,$0b,$05,$04,$20,$41,$0e,$04 // ...... A..

txt_2f0c:
        .text " + B"
        .byte $19                                   // .

txt_2f11:
        .text " HOTLINE                   N"
        .byte $14,$13,$03,$20,$41,$0e,$04           // ... A..

txt_2f34:
        .text " + B"
        .byte $19                                   // .

txt_2f39:
        .text " INC.                H"
        .byte $09,$2d,$53,$03,$0f,$12,$05,$20,$53,$01,$16,$05,$12,$20,$42,$19 // .-S.... S.... B.
        .byte $20,$46,$0c,$05,$14,$03,$08,$2f,$49,$0b,$01,$12,$09 //  F...../I....

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

txt_2f72:
        .text "    Y"
        .byte $05,$01,$08,$20,$02,$0f,$19,$13       // ... ....

txt_2f7f:
        .text "...... T"

txt_2f87:
        .encoding "screencode_mixed"
        .text "his is a wicked game thats why i installed a "
        .encoding "petscii_upper"
        .byte $48,$09,$2d,$53,$03,$0f,$12,$05,$20,$53,$01,$16,$05,$12 // H.-S.... S....

txt_2fc2:
        .text "......   L"

txt_2fcc:
        .encoding "screencode_mixed"
        .text "ookout for other titles from us this week"
        .encoding "petscii_upper"

txt_2ff5:
        .text ".....       O"

txt_3002:
        .encoding "screencode_mixed"
        .text "k, gotta rush so see you later dudes"
        .encoding "petscii_upper"

txt_3026:
        .text ".....              L"
        .byte $01,$14,$05,$12,$2c,$20,$46,$0c,$05,$14,$03,$08,$2f,$49,$0b,$01 // ...., F...../I..
        .byte $12,$09                               // ..

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

txt_3064:
        .text "           G"

txt_3070:
        .encoding "screencode_mixed"
        .text "reets to the following "
        .encoding "petscii_upper"
        .byte $47,$12,$0f,$15,$10,$13               // G.....

txt_308d:
        .text " ....... 711 - A"
        .byte $02,$0e,$0f,$12,$0d,$01,$0c           // .......

txt_30a4:
        .text " - A"
        .byte $03,$14,$09,$0f,$0e                   // .....

txt_30ad:
        .text " - A"
        .byte $07,$09,$0c,$05                       // ....

txt_30b5:
        .text " - A"
        .byte $18,$05,$0e,$0f,$0e                   // .....

txt_30be:
        .text " - B"
        .byte $05,$01,$13,$14,$09,$05,$20,$42,$0f,$19,$13 // ...... B...

txt_30cd:
        .text " - B"
        .byte $19,$14,$05,$12,$01,$10,$05,$12,$13   // .........

txt_30da:
        .text " - C"
        .byte $0f,$13,$0d,$0f,$13                   // .....

txt_30e3:
        .text " - C"
        .byte $12,$01,$1a,$19                       // ....

txt_30eb:
        .text " - D"
        .byte $12,$09,$16,$05                       // ....

txt_30f3:
        .text " - E"
        .byte $0c,$09,$14,$05                       // ....

txt_30fb:
        .text " - F"
        .byte $01,$0c,$03,$0f,$0e                   // .....

txt_3104:
        .text " - F"
        .byte $01,$09,$12,$0c,$09,$07,$08,$14       // ........

txt_3110:
        .text " - F"
        .byte $09,$12,$05,$20,$45,$01,$07,$0c,$05   // ... E....

txt_311d:
        .text " - F"
        .byte $12,$01,$0e,$14,$09,$03               // ......

txt_3127:
        .text " - F"
        .byte $15,$14,$15,$12,$05                   // .....

txt_3130:
        .text " - H"
        .byte $0f,$14,$0c,$09,$0e,$05               // ......

txt_313a:
        .text " - L"
        .byte $01,$1a,$05,$12                       // ....

txt_3142:
        .text " - L"
        .byte $09,$07,$08,$14                       // ....

txt_314a:
        .text " - O"
        .byte $0e,$05,$17,$01,$19                   // .....

txt_3153:
        .text " - O"
        .byte $0e,$0c,$09,$0e,$05                   // .....

txt_315c:
        .text " - P"
        .byte $01,$12,$01,$0d,$0f,$15,$0e,$14       // ........

txt_3168:
        .text " - P"
        .byte $15,$0c,$13,$01,$12                   // .....

txt_3171:
        .text " - R"
        .byte $14,$09                               // ..

txt_3177:
        .text " - S"
        .byte $03,$09,$05,$0e,$03,$05               // ......

txt_3181:
        .text " 451 - S"
        .byte $08,$01,$04,$0f,$17,$13               // ......

txt_318f:
        .text " - S"
        .byte $08,$01,$12,$0b,$13                   // .....

txt_3198:
        .text " - S"
        .byte $14,$01,$12,$09,$0f,$0e               // ......

txt_31a2:
        .text " - T"
        .byte $12,$01,$0e,$13,$03,$0f,$0d           // .......

txt_31ad:
        .text " - T"
        .byte $12,$09,$13,$14,$01,$12               // ......

txt_31b7:
        .text " - U"
        .byte $0e,$09,$02,$09,$14,$13               // ......

txt_31c1:
        .text " - W"
        .byte $0f,$14                               // ..

txt_31c7:
        .text " - X"
        .byte $01,$0b,$0b                           // ...

txt_31ce:
        .text " - X-R"
        .byte $01,$19                               // ..

txt_31d6:
        .text " - Z"
        .byte $01,$12,$07,$0f,$0e,$20,$41           // ..... A

txt_31e1:
        .encoding "screencode_mixed"
        .text "nd all other friends of"
        .encoding "petscii_upper"

txt_31f8:
        .text " IKARI                              "
