// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-01 10:59:19
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $2a6f  (9072 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2400 (9216)
// IRQ handler:  $2597 (irq_2597)
// IRQ handler:  $2612 (irq_2612)
// IRQ handler:  $26a8 (irq_26a8)
// IRQ handler:  $26cb (irq_26cb)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 2261 bytes, Data: 6811 bytes
// Labels: 222, Subroutines: 10
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1009 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $24d8

sub_1000:
        jmp loc_1040

dat_1003:
        .byte $4c,$35,$10                           // L5.
// Referenced by: jsr from $26ba

sub_1006:
        jmp loc_10b4

txt_1009:
        .text "M"

// --- Region $1036-$1511 ---
.pc = $1036 "loc_1036"

loc_1036:
        ora ($8d,x)
        bne loc_104f
        lda #$00
        sta $d418
        rts

loc_1040:
        ldy #$18
        lda #$00

loc_1044:
        sta $d400,y
        dey
        bpl loc_1044
        lda #$1f
        sta $d418

loc_104f:
        lda $15d2
        sta $15d1
        ldx #$00

loc_1057:
        lda #$01
        sta $15d6,x
        lda #$00
        sta $15df,x
        sta $15f1,x
        sta $164f,x
        sta $15dc,x
        lda $15e8,x
        sta $fc
        lda $15eb,x
        sta $fd
        ldy $15df,x
        lda ($fc),y
        cmp #$ff
        bne loc_107d

loc_107d:
        bpl loc_108c
        and #$7f
        sta $15ee,x
        inc $15df,x
        ldy $15df,x
        lda ($fc),y

loc_108c:
        cmp #$40
        bcc loc_109d
        and #$3f
        sta $15f1,x
        inc $15df,x
        ldy $15df,x
        lda ($fc),y

loc_109d:
        asl
        tay
        lda $1694,y
        sta $15e2,x
        lda $1695,y
        sta $15e5,x
        inc $15df,x
        inx
        cpx #$03
        bne loc_1057
        rts

loc_10b4:
        lda $15d0
        beq loc_10ba
        rts

loc_10ba:
        dec $15d1
        beq loc_10c8
        ldx #$02

loc_10c1:
        jsr sub_11cd
        dex
        bpl loc_10c1
        rts

loc_10c8:
        lda $15d2
        sta $15d1
        ldx #$02

loc_10d0:
        dec $15d6,x
        beq loc_10db
        jsr sub_11cd
        jmp loc_11c6

loc_10db:
        lda $15e2,x
        sta $fa
        lda $15e5,x
        sta $fb

loc_10e5:
        ldy $15dc,x
        lda ($fa),y
        cmp #$ff
        bne loc_115a
        lda $15f1,x
        beq loc_10fe
        dec $15f1,x
        lda #$00
        sta $15dc,x
        jmp loc_10e5

loc_10fe:
        lda #$00
        sta $15dc,x
        lda $15e8,x
        sta $fc
        lda $15eb,x
        sta $fd

loc_110d:
        ldy $15df,x
        lda ($fc),y
        cmp #$ff
        bne loc_1121
        lda #$00
        sta $15df,x
        sta $15dc,x
        jmp loc_110d

loc_1121:
        bpl loc_1130
        and #$7f
        sta $15ee,x
        inc $15df,x
        ldy $15df,x
        lda ($fc),y

loc_1130:
        cmp #$40
        bcc loc_1141
        and #$3f
        sta $15f1,x
        inc $15df,x
        ldy $15df,x
        lda ($fc),y

loc_1141:
        asl
        tay
        lda $1694,y
        sta $15e2,x
        sta $fa
        lda $1695,y
        sta $15e5,x
        sta $fb
        inc $15df,x
        ldy #$00
        lda ($fa),y

loc_115a:
        cmp #$fe
        bne loc_116c
        lda $164f,x
        eor #$ff
        sta $164f,x
        inc $15dc,x
        jmp loc_10e5

loc_116c:
        cmp #$c0
        bcc loc_117d
        and #$bf
        sta $15d9,x
        inc $15dc,x
        ldy $15dc,x
        lda ($fa),y

loc_117d:
        bpl loc_118f
        and #$7f
        sta $15d6,x
        sta $15f4,x
        inc $15dc,x
        ldy $15dc,x
        lda ($fa),y

loc_118f:
        clc
        adc $15ee,x
        sta $15d3,x
        lda $15f4,x
        sta $15d6,x
        inc $15dc,x
        lda $164f,x
        bne loc_11c6
        jsr sub_1499
        ldy $15d3,x
        lda scr_1512,y
        ldy $15f7,x
        sta $d400,y
        ldy $15d3,x
        lda $1571,y
        ldy $1637,x
        beq loc_11c0
        lda #$ff

loc_11c0:
        ldy $15f7,x
        sta $d401,y

loc_11c6:
        dex
        bmi loc_11cc
        jmp loc_10d0

loc_11cc:
        rts

// Referenced by: jsr from $10c1, $10d5
sub_11cd: {
        lda $160d,x
        bne skip1
        jmp $1307
skip1:
        lda $1604,x
        beq skip2
        jsr sub_150e
        asl
        clc
        sta $163d,x
        tay
        lda $1758,y
        ldy $15f7,x
        sta $d404,y
        ldy $163d,x
        lda $1760,y
        ldy $15f7,x
        sta $d401,y
        lda #$02
        sta $163a,x
        lda #$08
        ldy $15f7,x
        sta $d403,y
        lda #$00
        sta $160d,x
        jmp $12c4
skip2:
        ldy $15d3,x
        lda scr_1512,y
        ldy $15f7,x
        sta $d400,y
        ldy $15d3,x
        lda $1571,y
        ldy $15f7,x
        sta $d401,y
        lda $15fb,x
        pha
        lsr
        lsr
        lsr
        lsr
        sta $1616,x
        jsr sub_150e
        sta $1619,x
        pla
        and #$0f
        sta $1610,x
        ldy $15f7,x
        sta $d403,y
        lda #$00
        sta $161c,x
        sta $161f,x
        sta $1613,x
        dec $160a,x
        beq skip3
        ldy $1625,x
        lda $1707,y
        sta $160a,x
        lda $1703,y
        ldy $15f7,x
        sta $d404,y
        lda #$01
        sta $1628,x
        jmp $1271
skip3:
        lda #$00
        sta $1628,x
        lda $1601,x
        beq skip5
        pha
        lsr
        lsr
        lsr
        lsr
        sta $162b,x
        sta $1634,x
        pla
        and #$0f
        jsr sub_150e
        sta $1631,x
        lda #$00
        sta $162e,x
skip5:
        lda $15fe,x
        beq skip6
        asl
        asl
        tay
        lda $178a,y
        sta $1652,x
        lda $178c,y
        sta $1655,x
        lda $178b,y
        beq skip6
        sta $1658,x
        pha
        asl
        sta $1664,x
        pla
        lsr
        sta $165b,x
        ldy $15d3,x
        lda scr_1512,y
        sta $165e,x
        lda $1571,y
        sta $1661,x
skip6:
        cpx #$00
        bne done1
        lda $1607,x
        beq skip7
        lda #$f1
        sta $d417
        lda $1607,x
        pha
        and #$f0
        sta $d416
        sta $1646,x
        pla
        and #$0f
        jsr sub_150e
        sta $164c,x
        tay
        lda $177f,y
        sta $1643,x
        lda $1783,y
        sta $1640,x
        lda #$00
        sta $1649,x
        jmp $1301
skip7:
        lda #$00
        sta $d417
done1:
        lda #$00
        sta $160d,x
        rts
        lda $1604,x
        beq skip10
        ldy $163a,x
        cpy #$08
        beq skip9
        jsr sub_150e
        asl
        clc
        adc $163a,x
        sta $163d,x
        tay
        lda $1757,y
        ldy $15f7,x
        sta $d404,y
        ldy $163d,x
        lda $175f,y
        ldy $15f7,x
        sta $d401,y
        inc $163a,x
skip9:
        jmp $1460
skip10:
        lda $161c,x
        beq skip11
        dec $161c,x
        jmp $135c
skip11:
        lda $1619,x
        clc
        adc $161f,x
        tay
        lda $1719,y
        sta $1622,x
        lda $171d,y
        sta $161c,x
        inc $161f,x
        lda $1613,x
        clc
        adc $1622,x
        sta $1613,x
        bcc skip13
        inc $1610,x
skip13:
        lda $1613,x
        ldy $15f7,x
        sta $d402,y
        lda $1610,x
        sta $d403,y
        lda $160a,x
        beq skip14
        dec $160a,x
        jmp $139f
skip14:
        inc $1628,x
        lda $1625,x
        clc
        adc $1628,x
        tay
        lda $1706,y
        sta $160a,x
        lda $1702,y
        ldy $15f7,x
        sta $d404,y
        lda $1601,x
        beq skip19
        lda $162b,x
        beq skip16
        dec $162b,x
        jmp $13f3
skip16:
        lda $1631,x
        clc
        adc $162e,x
        tay
        lda $1739,y
        cmp #$ff
        bne skip17
        lda #$00
        sta $162e,x
        jmp $13af
skip17:
        bpl skip18
        lda #$00
        sta $1601,x
        jmp $13f3
skip18:
        clc
        adc $15d3,x
        pha
        tay
        lda scr_1512,y
        ldy $15f7,x
        sta $d400,y
        pla
        tay
        lda $1571,y
        ldy $15f7,x
        sta $d401,y
        inc $162e,x
        lda $1634,x
        sta $162b,x
skip19:
        lda $15fe,x
        beq skip25
        lda $1655,x
        beq skip20
        dec $1655,x
        jmp $1460
skip20:
        lda $165b,x
        cmp $1658,x
        bcs skip22
        inc $165b,x
        lda $165e,x
        sec
        sbc $1652,x
        sta $165e,x
        bcs skip21
        dec $1661,x
skip21:
        lda $165e,x
        ldy $15f7,x
        sta $d400,y
        lda $1661,x
        sta $d401,y
        jmp $1460
skip22:
        lda $165b,x
        cmp $1664,x
        bcs skip24
        inc $165b,x
        lda $165e,x
        clc
        adc $1652,x
        sta $165e,x
        bcc skip23
        inc $1661,x
skip23:
        lda $165e,x
        ldy $15f7,x
        sta $d400,y
        lda $1661,x
        sta $d401,y
        jmp $1460
skip24:
        lda #$00
        sta $165b,x
skip25:
        cpx #$00
        bne done2
        lda $1607,x
        beq done2
        lda $1640,x
        beq skip26
        dec $1640,x
        jmp $148b
skip26:
        inc $1649,x
        lda $164c,x
        clc
        adc $1649,x
        tay
        lda $177f,y
        sta $1643,x
        lda $1783,y
        sta $1640,x
        lda $1646,x
        clc
        adc $1643,x
        sta $1646,x
        sta $d416
done2:
        rts
}

// Referenced by: jsr from $11a4
sub_1499: {
        lda $15d9,x
        jsr sub_150e
        sta $15fa
        tay
        lda $16aa,y
        jsr sub_150e
        sta $1625,x
        tay
        lda $1706,y
        sta $160a,x
        lda $1702,y
        cmp #$81
        pha
        bne skip1
        lda #$01
        sta $1637,x
        jmp $14c8
skip1:
        lda #$00
        sta $1637,x
skip2:
        pla
        ldy $15f7,x
        sta $d404,y
        ldy $15fa
        lda $16ab,y
        ldy $15f7,x
        sta $d405,y
        ldy $15fa
        lda $16ac,y
        ldy $15f7,x
        sta $d406,y
        ldy $15fa
        lda $16ad,y
        sta $15fb,x
        lda $16ae,y
        sta $1601,x
        lda $16af,y
        sta $15fe,x
        lda $16b0,y
        sta $1604,x
        lda $16b1,y
        sta $1607,x
        lda #$01
        sta $160d,x
        rts
}
// Referenced by: jsr from $11da, $1230, $1284, $12e1, $1313, $149c, $14a6

sub_150e:
        asl
        asl
        asl
        rts

// --- Region $1816-$182d ---
.pc = $1816 "Segment $1816"
        bmi loc_184b
        .byte $c2,$00                               // nop #$00 // ILLEGAL
        .byte $c3,$00                               // dcp ($00,x) // ILLEGAL
        dec $35
        rol $37,x
        .byte $ff,$c7,$b0                           // isc $b0c7,x // ILLEGAL
        rol $2efe
        inc $fe2d,x
        and $fffe
        iny
        .byte $92                                   // jam // ILLEGAL

// --- Region $184b-$184c ---
.pc = $184b "loc_184b"

loc_184b:
        rol
        .byte $92                                   // jam // ILLEGAL

// --- Region $1f30-$1f95 ---
.pc = $1f30 "sub_1f30"

// Referenced by: jsr from $24ff
sub_1f30: {
        ldx #$00
loop:
        lda $1fa2,x
        sta $d8c8,x
        sta $d8f0,x
        lda $1fc9,x
        sta $d918,x
        sta $d940,x
        inx
        cpx #$28
        bne loop
        rts
}
// Referenced by: jsr from $24ed

sub_1f4a:
        ldx $1f99
        lda $1eb8,x
        cpx #$77
        bne loc_1f56
        ldx #$ff

loc_1f56:
        inx
        stx $1f99
        pha
        lsr
        lsr
        lsr
        sta smc_1f6d                                // SMC: modifies $1f6d
        pla
        eor #$07
        and #$07
        clc
        adc #$10
        sta smc_26d1                                // SMC: modifies $26d1
.label smc_1f6d = * + 1
        ldx #$0b                                    // !SMC: modified by $1f5e
        ldy #$00

loc_1f70:
        lda $1d03,x
        sta $0400,y
        lda $1d53,x
        sta $0428,y
        lda $1da3,x
        sta $0450,y
        lda $1df3,x
        sta $0478,y
        lda $1e43,x
        sta $04a0,y
        iny
        inx
        cpy #$28
        bne loc_1f70
        rts

dat_1f95:
        .byte $00                                   // .

// --- Region $2400-$247a ---
.pc = $2400 "main_2400"

main_2400:
        jsr $e544
        ldx #$00
        lda #$00

loc_2407:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_2407
        lda #$fb
        sta $0328
        lda $3fff
        sta dat_2596
        lda #$ff
        sta $3fff
        lda #$00
        sta $d020
        sta $d021
        lda #$13
        sta $d018
        ldy #$00
        ldx #$00

loc_2437:
        lda $24a7,y
        sta $05b8,x
        clc
        adc #$80
        sta $05e0,x
        inx
        sec
        sbc #$40
        sta $05b8,x
        clc
        adc #$80
        sta $05e0,x
        inx
        iny
        cpx #$28
        bne loc_2437
        jsr sub_2564

loc_2459:
        ldx dat_247a
        cpx #$2a
        bne loc_2463
        jmp loc_24bb

loc_2463:
        inx
        stx dat_247a
        lda txt_247b,x
        ldy #$00

loc_246c:
        sta $d9b8,y
        iny
        cpy #$80
        bne loc_246c
        jsr sub_2581
        jmp loc_2459

dat_247a:
        // === Sine/lookup table (65 bytes, range $00-$2e) ===
        .byte $00                                   // .

// --- Region $24bb-$277c ---
.pc = $24bb "loc_24bb"

loc_24bb:
        sei
        ldx #$00
        stx $dc0e
        inx
        stx $dc0d
        stx $d019
        stx $d01a
        lda #$97
        sta $0314
        lda #$25
        sta $0315
        cli
        lda #$00
        jsr sub_1000

loc_24db:
        inc $1f96
        bne loc_24db
        inc $1f97
        ldx $1f97
        cpx #$60
        bne loc_24db
        jsr sub_283f
        jsr sub_1f4a
        ldx #$00
        lda #$08

loc_24f4:
        sta $d800,x
        sta $d968,x
        inx
        cpx #$c8
        bne loc_24f4
        jsr sub_1f30

loc_2502:
        lda $dc01
        and #$10
        bne loc_2502

smc_2509:
        jmp loc_2502                                // !SMC: modified by $2762

dat_250c:
        .byte $ad,$96,$25,$8d,$ff,$3f               // ..%..?

loc_2512:
        sei
        lda #$31
        ldy #$ea
        sta $0314
        sty $0315
        jsr $ff5b
        jsr $fda3
        ldx #$00
        stx $d020
        stx $d021

loc_252b:
        lda dat_2539,x
        sta $03b7,x
        inx
        cpx #$3c
        bne loc_252b
        jmp $03b7

dat_2539:
        .byte $78,$a9,$30,$85,$01,$a2,$00           // x.0....

loc_2540:
        lda $2b00,x
        sta $0801,x
        inx
        bne loc_2540
        inc $03c0
        inc $03c3

loc_254f:
        lda $03c0
        bne loc_2540
        lda #$37
        sta $01
        lda #$1b
        sta $d011
        cli
        jmp $fce2

dat_2561:
        .byte $00,$00,$00                           // ...
// Referenced by: jsr from $2456

sub_2564:
        lda #$00
        sta $40
        sta $41
        lda #$01
        sta $42

loc_256e:
        dec $40
        lda $40
        bne loc_256e
        dec $41
        lda $41
        bne loc_256e
        dec $42
        lda $42
        bne loc_256e
        rts
// Referenced by: jsr from $2474

sub_2581:
        lda #$00
        sta $40
        lda #$10
        sta $41

loc_2589:
        dec $40
        lda $40
        bne loc_2589
        dec $41
        lda $41
        bne loc_2589
        rts

dat_2596:
        .byte $00                                   // .

irq_2597:
        lda #$01
        sta $d019
        sta $d01a
.label smc_25a0 = * + 1
        ldx #$00                                    // !SMC: modified by $25f1

loc_25a1:
        lda $d012

loc_25a4:
        cmp $d012
        beq loc_25a4
        and #$07
        ora #$10
        sta $d011
        dex
        bne loc_25a1
        lda #$00
        sta $d021
        lda #$c8
        sta $d016
        lda #$13
        sta $d018
        lda $d012
        clc
        adc #$0f

loc_25c8:
        cmp $d012
        bne loc_25c8
.label smc_25ce = * + 1
        ldx #$00                                    // !SMC: modified by $25fa

loc_25cf:
        lda $d012

loc_25d2:
        cmp $d012
        beq loc_25d2
        and #$07
        ora #$10
        sta $d011
        dex
        bne loc_25cf
        ldx $1f9b
        cpx #$7f
        bne loc_25ea
        ldx #$ff

loc_25ea:
        inx
        stx $1f9b
        lda txt_1c00,x
        sta smc_25a0                                // SMC: modifies $25a0
        lda #$2a
        sec
        sbc smc_25a0
        sta smc_25ce                                // SMC: modifies $25ce
        lda #$93
        sta $d012
        lda #$12
        sta $0314
        lda #$26
        sta $0315
        inc $d019
        jmp $febc

irq_2612:
        lda #$01
        sta $d019
        lda #$97
        sta $d012
.label smc_261d = * + 1
        ldx #$00                                    // !SMC: modified by $266c

loc_261e:
        lda $d012

loc_2621:
        cmp $d012
        beq loc_2621
        and #$07
        ora #$10
        sta $d011
        dex
        bne loc_261e
        lda #$00
        sta $d016
        lda $d012
        clc
        adc #$15

loc_263b:
        cmp $d012
        bne loc_263b
.label smc_2641 = * + 1
        ldx #$00                                    // !SMC: modified by $2675

loc_2642:
        lda $d012

loc_2645:
        cmp $d012
        beq loc_2645
        and #$07
        ora #$10
        sta $d011
        dex
        bne loc_2642
.label smc_2655 = * + 1
        lda #$c8                                    // !SMC: modified by $285e
        sta $d016
        ldx $1f9c
        cpx #$7f
        bne loc_2662
        ldx #$ff

loc_2662:
        inx
        stx $1f9c
        lda $1c80,x
        clc
        adc #$01
        sta smc_261d                                // SMC: modifies $261d
        lda #$28
        sec
        sbc smc_261d
        sta smc_2641                                // SMC: modifies $2641
        lda #$18
        sta $d018
.label smc_267e = * + 1
        lda #$00                                    // !SMC: modified by $272f
        sta $d021
.label smc_2683 = * + 1
        lda #$00                                    // !SMC: modified by $2734
        sta $d022
.label smc_2688 = * + 1
        lda #$00                                    // !SMC: modified by $2739
        sta $d023
        lda #$d8
        sta $d012
        lda #$1b
        sta $d011
        lda #$a8
        sta $0314
        lda #$26
        sta $0315
        lda #$01
        sta $d019
        jmp $febc

irq_26a8:
        lda #$28
        sta $d012
        lda #$cb
        sta $0314
        lda #$26
        sta $0315

smc_26b7:
        lda sub_1f4a                                // !SMC: modified by $2742
        jsr sub_1006

smc_26bd:
        lda dat_277b                                // !SMC: modified by $2754

smc_26c0:
        lda $27dd                                   // !SMC: modified by $275d
        lda #$01
        sta $d019
        jmp $febc

irq_26cb:
        lda #$58
        sta $d012
.label smc_26d1 = * + 1
        lda #$c8                                    // !SMC: modified by $1f69
        sta $d016
        lda #$18
        sta $d018
.label smc_26db = * + 1
        lda #$00                                    // !SMC: modified by $271c
        sta $d021
.label smc_26e0 = * + 1
        lda #$00                                    // !SMC: modified by $2721
        sta $d022
.label smc_26e5 = * + 1
        lda #$00                                    // !SMC: modified by $2726
        sta $d023
        lda #$1c
        sta $d011
        lda #$97
        sta $0314
        lda #$25
        sta $0315

smc_26f8:
        lda sub_283f                                // !SMC: modified by $274b
        inc $d019

smc_26fe:
        lda $febc                                // !SMC: modified by $2775
        lda dat_1f95
        bne loc_270e
        lda #$01
        sta dat_1f95
        jmp $febc

loc_270e:
        lda #$00
        sta dat_1f95
        ldx $1f98
        cpx #$50
        bne loc_2729
        lda #$0f
        sta smc_26db                                // SMC: modifies $26db
        lda #$0c
        sta smc_26e0                                // SMC: modifies $26e0
        lda #$0b
        sta smc_26e5                                // SMC: modifies $26e5

loc_2729:
        cpx #$70
        bne loc_273c
        lda #$0f
        sta smc_267e                                // SMC: modifies $267e
        lda #$0c
        sta smc_2683                                // SMC: modifies $2683
        lda #$0b
        sta smc_2688                                // SMC: modifies $2688

loc_273c:
        cpx #$a0
        bne loc_2745
        lda #$20
        sta smc_26b7                                // SMC: modifies $26b7

loc_2745:
        cpx #$a5
        bne loc_274e
        lda #$20
        sta smc_26f8                                // SMC: modifies $26f8

loc_274e:
        cpx #$c0
        bne loc_2757
        lda #$20
        sta smc_26bd                                // SMC: modifies $26bd

loc_2757:
        cpx #$e0
        bne loc_2768
        lda #$20
        sta smc_26c0                                // SMC: modifies $26c0
        lda #$ad
        sta smc_2509                                // SMC: modifies $2509
        jmp loc_276f

loc_2768:
        inx
        stx $1f98
        jmp $febc

loc_276f:
        inx
        stx $1f98
        lda #$4c
        sta smc_26fe                                // SMC: modifies $26fe
        jmp $febc

dat_277b:
        .byte $a9,$fe                               // ..

// --- Region $283f-$288a ---
.pc = $283f "sub_283f"
// Referenced by: jsr from $24ea

sub_283f:
        ldx $1f9a
        lda $1eb8,x
        cpx #$77
        bne loc_284b
        ldx #$ff

loc_284b:
        inx
        stx $1f9a
        pha
        lsr
        lsr
        lsr
        sta smc_2862                                // SMC: modifies $2862
        pla
        eor #$07
        and #$07
        clc
        adc #$10
        sta smc_2655                                // SMC: modifies $2655
.label smc_2862 = * + 1
        ldx #$00                                    // !SMC: modified by $2853
        ldy #$00

loc_2865:
        lda $1d03,x
        sta $0568,y
        lda $1d53,x
        sta $0590,y
        lda $1da3,x
        sta $05b8,y
        lda $1df3,x
        sta $05e0,y
        lda $1e43,x
        sta $0608,y
        iny
        inx
        cpy #$28
        bne loc_2865
        rts

dat_288a:
        .byte $00                                   // .

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

// --- Region $0800-$0d27 ---
.pc = $0800 "scr_0800"

scr_0800:
        // === Charset data (1320 bytes, $0800-$0d27) ===
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 1 @+1
        .byte $00,$00,$ff,$ff,$fc,$fc,$fd,$fd       // char 2 @+2
        .byte $00,$00,$0f,$3f,$7e,$7c,$fc,$fc       // char 3 @+3
        .byte $00,$00,$ff,$ff,$fc,$fc,$fc,$fc       // char 4 @+4
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 5 @+5
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 6 @+6
        .byte $00,$00,$0f,$3f,$7e,$7c,$fd,$fd       // char 7 @+7
        .byte $00,$00,$fc,$fc,$fc,$fc,$ff,$ff       // char 8 @+8
        .byte $00,$00,$7f,$7f,$07,$07,$07,$07       // char 9 @+9
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 10 @+10
        .byte $00,$00,$fc,$fc,$fc,$fc,$ff,$ff       // char 11 @+11
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 12 @+12
        .byte $00,$00,$0e,$3f,$7f,$7b,$fd,$fc       // char 13 @+13
        .byte $00,$00,$ff,$ff,$fc,$fc,$fc,$fc       // char 14 @+14
        .byte $00,$00,$0f,$3f,$7e,$7c,$fc,$fc       // char 15 @+15
        .byte $00,$00,$ff,$ff,$fc,$fc,$fd,$fd       // char 16 @+16
        .byte $00,$00,$0f,$3f,$7e,$7c,$fc,$fc       // char 17 @+17
        .byte $00,$00,$ff,$ff,$fc,$fc,$fd,$fd       // char 18 @+18
        .byte $00,$00,$1f,$7f,$fc,$fc,$7f,$1f       // char 19 @+19
        .byte $00,$00,$ff,$ff,$00,$00,$00,$00       // char 20 @+20
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 21 @+21
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$7c,$7c       // char 22 @+22
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fd       // char 23 @+23
        .byte $00,$00,$fc,$fc,$7c,$7e,$3f,$3f       // char 24 @+24
        .byte $fc,$fc,$fc,$fc,$fc,$fe,$7f,$1f       // char 25 @+25
        .byte $00,$00,$ff,$ff,$00,$00,$01,$07       // char 26 @+26

dat_08d8:
        // === Fill data (40 bytes, $08d8-$08ff) ===
        .fill 40, $aa
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 32 ' '
        .byte $07,$07,$07,$07,$07,$07,$07,$07       // char 33 '!'
        .byte $fc,$fc,$fc,$fc,$00,$00,$00,$00       // char 34 '"'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 35 '#'
        .byte $00,$01,$1f,$7f,$fd,$fd,$7f,$1f       // char 36 '$'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 37 '%'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 38 '&'
        .byte $07,$07,$07,$07,$07,$00,$00,$00       // char 39 '''
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 40 '('
        .byte $e0,$f8,$7c                           // char 41 (partial)

txt_094b:
        .byte $3c,$3e,$3e,$3e,$3e                   // char 41 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$00,$00,$07,$07,$07,$3f,$3f       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 44 ','
        .byte $00,$00,$00,$00,$00,$00,$3f,$3f       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 46 '.'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 47 '/'
        .byte $00,$00,$0f,$3f,$7e,$7e,$ff,$fd       // char 48 '0'
        .byte $00,$00,$07,$0f,$1f,$07,$07,$07       // char 49 '1'
        .byte $00,$00,$ff,$ff,$00,$00,$00,$03       // char 50 '2'
        .byte $00,$00,$0f,$0f,$00,$00,$3f,$3f       // char 51 '3'
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$ff,$ff       // char 52 '4'
        .byte $00,$00,$ff,$ff,$fc,$fc,$ff,$7f       // char 53 '5'
        .byte $00,$00,$0f,$3f,$7e,$7c,$ff,$ff       // char 54 '6'
        .byte $00,$00,$ff,$ff,$00,$00,$00,$00       // char 55 '7'
        .byte $00,$00,$1f,$7f,$fc,$fc,$7d,$7d       // char 56 '8'
        .byte $00,$00,$3f,$7f,$fe,$fc,$ff,$7f       // char 57 '9'
        .byte $00,$00,$00,$00,$07,$07,$00,$00       // char 58 ':'
        .byte $00,$00,$00,$00,$07,$07,$00,$00       // char 59 ';'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 60 '<'
        .byte $00,$00,$00,$00,$3f,$3f,$00,$00       // char 61 '='
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 62 '>'
        .byte $0f,$1f,$18,$00,$01,$03,$03,$07       // char 63 '?'
        .byte $00,$e0,$fe,$1e,$e6,$fe,$1e,$06       // char 64 '@'
        .byte $00,$00,$e0,$f8,$fc,$7c,$fe,$fe       // char 65 'A'
        .byte $00,$00,$e0,$f8,$fc,$7c,$fc,$fc       // char 66 'B'
        .byte $00,$00,$e0,$e0,$00,$00,$00,$00       // char 67 'C'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 68 'D'
        .byte $00,$00,$e0,$e0,$00,$00,$f8,$f8       // char 69 'E'
        .byte $00,$00,$fe,$fe,$00,$00,$f8,$f8       // char 70 'F'
        .byte $00,$00,$e0,$e0,$00,$00,$fe,$fe       // char 71 'G'

spr_0a40:
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$fe,$fe       // char 72 'H'
        .byte $00,$00,$fc,$fc,$c0,$c0,$c0,$c0       // char 73 'I'
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e       // char 74 'J'
        .byte $7e,$7e,$7e,$7e,$7c,$fc,$f8,$f8       // char 75 'K'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 76 'L'
        .byte $00,$00,$e0,$f8,$fc,$bc,$7e,$7e       // char 77 'M'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 78 'N'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 79 'O'
        .byte $00,$00,$f8,$fc,$fe,$7e,$fe,$fc       // char 80 'P'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$3e       // char 81 'Q'
        .byte $00,$00,$f8,$fc,$fe,$7e,$fc,$fc       // char 82 'R'
        .byte $00,$00,$fe,$fe,$00,$00,$e0,$f8       // char 83 'S'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 84 'T'
        .byte $00,$00,$7e,$7e,$7e,$7e,$7e,$7e       // char 85 'U'
        .byte $00,$00,$7e,$7e,$7e,$7e,$7c,$7c       // char 86 'V'
        .byte $00,$00,$7e,$7e,$7e,$7e,$7e,$7e       // char 87 'W'
        .byte $7e,$7e,$7e,$7e,$7c,$fc,$f8,$f8       // char 88 'X'
        .byte $00,$00,$7e,$7e,$7e,$7e,$fe,$fe       // char 89 'Y'
        .byte $00,$00,$f8,$fc,$3c,$78,$e0,$80       // char 90 'Z'

dat_0ad8:
        // === Fill data (40 bytes, $0ad8-$0aff) ===
        .fill 40, $aa
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 96 '`'
        .byte $c0,$c0,$c0,$c0,$c0,$c0,$c0,$c0       // char 97 'a'
        .byte $7e,$7e,$7e,$7e,$00,$00,$00,$00       // char 98 'b'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 99 'c'
        .byte $00,$80,$fe,$fe,$80,$80,$e0,$f8       // char 100 'd'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 101 'e'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 102 'f'
        .byte $c0,$c0,$c0,$80,$00,$00,$00,$00       // char 103 'g'
        .byte $0e,$3e,$7c,$78,$f8,$f8,$f8,$f8       // char 104 'h'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 105 'i'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 106 'j'
        .byte $00,$00,$00,$c0,$c0,$c0,$f8,$f8       // char 107 'k'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 108 'l'
        .byte $00,$00,$00,$00,$00,$00,$f8,$f8       // char 109 'm'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 110 'n'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 111 'o'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$fe       // char 112 'p'
        .byte $00,$00,$c0,$c0,$c0,$c0,$c0,$c0       // char 113 'q'
        .byte $00,$00,$f0,$fc,$fe,$7e,$f8,$e0       // char 114 'r'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 115 's'
        .byte $00,$00,$00,$00,$fc,$fc,$fe,$fe       // char 116 't'
        .byte $00,$00,$fe,$fe,$00,$00,$e0,$f8       // char 117 'u'
        .byte $00,$00,$e0,$e0,$00,$00,$f0,$fc       // char 118 'v'
        .byte $00,$00,$e0,$f8,$fc,$7c,$7e,$7e       // char 119 'w'
        .byte $00,$00,$f0,$fc,$7e,$7e,$fc,$fc       // char 120 'x'
        .byte $00,$00,$fe,$fe,$fe,$7e,$7e,$7e       // char 121 'y'
        .byte $00,$00,$00,$00,$c0,$c0,$00,$00       // char 122 'z'
        .byte $00,$00,$00,$00,$c0,$c0,$00,$00       // char 123 '{'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 124 '|'
        .byte $00,$00,$00,$00,$f8,$f8,$08,$08       // char 125 '}'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 126 '~'
        .byte $f0,$f8,$38,$78,$f0,$e0,$c0,$c0       // char 127
        .byte $3c,$7c,$fc,$fc,$78,$30,$00,$00       // char 128
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 129
        .byte $fc,$fc,$fd,$fd,$fd,$fd,$fc,$fc       // char 130
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 131
        .byte $fc,$fc,$fd,$fd,$fd,$fd,$fc,$fc       // char 132
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 133
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 134
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 135
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 136
        .byte $07,$07,$ff,$ff,$ff,$ff,$00,$00       // char 137
        .byte $00,$00,$ff,$ff,$ff,$ff,$00,$00       // char 138
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 139
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 140
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 141
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 142
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 143
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 144
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 145
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc       // char 146
        .byte $00,$00,$ff,$ff,$ff,$ff,$00,$00       // char 147
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 148
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 149
        .byte $3e,$3f,$1f,$0f,$07,$03,$00,$00       // char 150
        .byte $fb,$ff,$7f,$7f,$3e,$0c,$00,$00       // char 151
        .byte $7e,$7c,$fc,$fc,$fc,$fc,$fc,$fc       // char 152
        .byte $00,$00,$ff,$ff,$ff,$ff,$00,$00       // char 153
        .byte $1e,$7f,$ff,$ff,$7f,$3f,$00,$00       // char 154

dat_0cd8:
        // === Fill data (40 bytes, $0cd8-$0cff) ===
        .fill 40, $aa
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 160
        .byte $00,$00,$07,$07,$07,$07,$00,$00       // char 161
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 162
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 163
        .byte $01,$01,$ff,$ff,$ff,$ff,$01           // char 164 (partial)

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

// --- Region $0d48-$0ed6 ---
.pc = $0d48 "dat_0d48"

dat_0d48:
        .byte $3e,$3e,$3e,$3e,$3c,$7c,$f8,$e0       // char 169
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 170
        .byte $07,$07,$07,$00,$00,$00,$00,$00       // char 171
        .byte $00,$00,$07,$07,$07,$07,$0f,$0f       // char 172
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 173
        .byte $00,$00,$07,$07,$07,$07,$00,$00       // char 174
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 175
        .byte $fc,$fe,$7f,$7f,$3f,$0f,$00,$00       // char 176
        .byte $07,$07,$ff,$ff,$ff,$ff,$00,$00       // char 177
        .byte $1f,$7f,$ff,$ff,$ff,$ff,$00,$00       // char 178
        .byte $00,$00,$ff,$ff,$ff,$ff,$00,$00       // char 179
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 180
        .byte $00,$00,$ff,$ff,$ff,$ff,$00,$00       // char 181
        .byte $fc,$fe,$ff,$ff,$7f,$1f,$00,$00       // char 182
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 183
        .byte $fc,$fc,$ff,$ff,$7f,$1f,$00,$00       // char 184
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 185
        .byte $00,$00,$07,$07,$07,$07,$00,$00       // char 186
        .byte $00,$00,$07,$07,$07,$07,$0f,$0f       // char 187
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 188
        .byte $3f,$3f,$00,$00,$00,$00,$00,$00       // char 189
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 190
        .byte $00,$00,$07,$07,$07,$07,$00,$00       // char 191

spr_0e00:
        .byte $06,$06,$1e,$3e,$7e,$7e,$3c,$18       // char 192
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$00,$00       // char 193
        .byte $7e,$7e,$fe,$fe,$fe,$fc,$00,$00       // char 194
        .byte $00,$00,$fe,$fe,$fe,$fe,$00,$00       // char 195
        .byte $7e,$7e,$fe,$fe,$fe,$fc,$00,$00       // char 196
        .byte $00,$00,$fe,$fe,$fe,$fe,$00,$00       // char 197
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 198
        .byte $7e,$7e,$fe,$fe,$fe,$fc,$00,$00       // char 199
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$00,$00       // char 200
        .byte $c0,$c0,$fe,$fe,$fe,$fe,$00,$00       // char 201
        .byte $7e,$fe,$fc,$fc,$f8,$e0,$00,$00       // char 202
        .byte $fc,$7c,$7e,$7e,$7e,$7e,$00,$00       // char 203
        .byte $00,$00,$fe,$fe,$fe,$fe,$00,$00       // char 204
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$00,$00       // char 205
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$00,$00       // char 206
        .byte $7e,$fe,$fe,$fc,$f8,$e0,$00,$00       // char 207

spr_0e80:
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 208
        .byte $de,$fe,$7e,$fc,$fe,$e6,$00,$00       // char 209
        .byte $fe,$7e,$7e,$7e,$7e,$7e,$00,$00       // char 210
        .byte $fc,$7c,$fe,$fe,$fc,$f0,$00,$00       // char 211
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e       // char 212
        .byte $7e,$fe,$fe,$fc,$f8,$e0,$00,$00       // char 213
        .byte $f8,$f8,$f0,$e0,$c0,$80,$00,$00       // char 214
        .byte $be,$fe,$fe,$fc,$f8,$60,$00,$00       // char 215
        .byte $fc,$7c,$7e,$7e,$7e,$7e,$00,$00       // char 216
        .byte $7e,$fe,$fc,$fc,$f8,$e0,$00,$00       // char 217
        .byte $00,$00,$fe,$fe,$fe,$fe               // char 218 (partial)

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

// --- Region $0f0a-$0f26 ---
.pc = $0f0a "dat_0f0a"

dat_0f0a:
        .byte $c0,$c0,$c0,$c0,$00,$00               // char 225 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 226
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 227
        .byte $fc,$bc,$fe,$fe,$fc,$f0,$80           // char 228 (partial)

// --- Region $0f40-$0fff ---
.pc = $0f40 "dat_0f40"

dat_0f40:
        .byte $f8,$f8,$f8,$f8,$78,$7c,$3e,$0e       // char 232
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 233
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 234
        .byte $c0,$c0,$c0,$00,$00,$00,$00,$00       // char 235
        .byte $00,$00,$c0,$c0,$c0,$c0,$80,$00       // char 236
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 237
        .byte $00,$00,$c0,$c0,$c0,$c0,$00,$00       // char 238
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 239
        .byte $fe,$fe,$fe,$fc,$f8,$e0,$00,$00       // char 240
        .byte $c0,$c0,$fe,$fe,$fe,$fe,$00,$00       // char 241
        .byte $80,$00,$fe,$fe,$fe,$fe,$00,$00       // char 242
        .byte $7e,$fe,$fc,$fc,$f8,$e0,$00,$00       // char 243
        .byte $fc,$fc,$fc,$fc,$fc,$fc,$00,$00       // char 244
        .byte $fc,$7c,$fe,$fe,$fc,$f0,$00,$00       // char 245
        .byte $7c,$7e,$fe,$fe,$fc,$f0,$00,$00       // char 246
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$7e,$7e       // char 247
        .byte $7e,$7e,$fe,$fe,$fc,$f0,$00,$00       // char 248
        .byte $7e,$7e,$7e,$7e,$7e,$7e,$00,$00       // char 249
        .byte $00,$00,$c0,$c0,$c0,$c0,$00,$00       // char 250
        .byte $00,$00,$c0,$c0,$c0,$c0,$80,$00       // char 251
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 252
        .byte $f8,$f8,$00,$00,$00,$00,$00,$00       // char 253
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 254
        .byte $00,$00,$c0,$c0,$c0,$c0,$00,$00       // char 255

// --- Region $100a-$1035 ---
.pc = $100a "Segment $100a"
        .text "USIC&PLAYER (C) "
        .text "ZARDAX/ORIGO DRE"
        .text "AMLINE 1990"
        .byte $a9

// --- Region $1512-$1815 ---
.pc = $1512 "scr_1512"

scr_1512:
        // === Screen RAM (750 bytes, $1512-$17ff) ===
        .encoding "screencode_mixed"
        .text "r#4"
        .byte $46,$5a,$6e,$84,$9b,$b3,$cd,$e9       // scrcode: ........
        .text "f%"
        .byte $45,$68,$8c,$b3,$dc                   // scrcode: .....
        .text "h6"
        .byte $67,$9b,$d2                           // scrcode: ...
        .text "l"
        .byte $49,$8b,$d0                           // scrcode: ...
        .text "y"
        .byte $67,$b9                               // scrcode: ..
        .text "p"
        .byte $6c,$ce                               // scrcode: ..
        .text "5"
        .byte $a3                                   // scrcode: .
        .text "w"
        .byte $93                                   // scrcode: .
        .text "u"
        .byte $9f                                   // scrcode: .
        .text "<"
        .byte $cd,$72                               // scrcode: ..
        .text " "
        .byte $d8,$9c,$6b,$46                       // scrcode: ....
        .text "/%*?"
        .byte $64,$9a,$e3                           // scrcode: ...
        .text "?"
        .byte $b1                                   // scrcode: .
        .text "8"
        .byte $d6,$8d,$5e,$4b,$55,$7e,$c8           // scrcode: .......
        .text "4"
        .byte $c6,$7f,$61,$6f,$ac,$7e,$bc,$95,$a9,$fc,$a1,$69,$8c,$fe,$c2 // scrcode: ...............
        .byte $df,$58                               // scrcode: ..
        .text "4"
        .byte $78                                   // scrcode: .
        .text "+"
        .byte $53,$f7,$1f,$d2                       // scrcode: ....
        .text "y"
        .byte $fc,$85,$bd,$b0,$67                   // scrcode: .....
        .text "aaaaaaaaaaabbbbbbbcccccdd"
        .text "ddeeefffgghhiijjkllmnopqrstuvxy"
        .byte $1b,$1c,$1e                           // scrcode: ...
        .encoding "petscii_upper"

txt_15ac:
        .text " "
        .byte $22                                   // double quote character
        .text "$&(+-0369="
        .byte $40                                   // @ character
        .text "DHLQV"
        .encoding "screencode_mixed"
        .byte $5b,$60,$66,$6c,$73,$7a,$81,$89,$91,$99,$a3,$ac,$b7,$c1,$cd,$d9 // scrcode: ................
        .byte $e6,$f4                               // scrcode: ..
        .text "@bbiiijja"
        .byte $80,$80,$83                           // scrcode: ...
        .text "ccvccc"
        .byte $91,$91                               // scrcode: ..
        .text "fw"
        .text "wx"
        .byte $67,$78,$87                           // scrcode: ...
        .text "vvviiicc"
        .byte $1b                                   // scrcode: .
        .text "00c@gnx@@@@@@@@@@@a@@@jja@"
        .text "@@rrl))"
        .byte $60                                   // scrcode: .
        .text "@@c@@x"
        .byte $bf,$bf,$fe                           // scrcode: ...
        .text "ddb"
        .byte $40,$40,$40                           // scrcode: ...
        .text "@@heea@@@@ac@px@@"
        .text "@@@@@@e@@tw@@d@@"
        .byte $94                                   // scrcode: .
        .text "@@@@@h@@@@@"
        .byte $68                                   // scrcode: .
        .text "@@g@@c@@a@@"
        .byte $7e                                   // scrcode: .
        .text "@@&@@f@@"
        .byte $89,$43                               // scrcode: ..
        .text "@ccddgg"
        .byte $8b                                   // scrcode: .
        .text "gg"
        .byte $89                                   // scrcode: .
        .text "ddj"
        .byte $ff,$89,$43                           // scrcode: ...
        .text "@"
        .byte $45                                   // scrcode: .
        .text "aee"
        .byte $8b                                   // scrcode: .
        .text "ee"
        .byte $89,$43                               // scrcode: ..
        .text "ai"
        .byte $ff,$89,$5b                           // scrcode: ...
        .text "bff"
        .byte $8b                                   // scrcode: .
        .text "ff"
        .byte $89,$4f                               // scrcode: ..
        .text "bh"
        .byte $ff,$91                               // scrcode: ..
        .text "w"
        .byte $95                                   // scrcode: .
        .text "wfx!x,x"
        .byte $5b                                   // scrcode: .
        .text "x"
        .byte $e0                                   // scrcode: .
        .text "x3y"
        .byte $53                                   // scrcode: .
        .text "y"
        .byte $6a                                   // scrcode: .
        .text "y"
        .byte $79                                   // scrcode: .
        .text "y@@@@"
        .text "@@@@a@"
        .byte $ea                                   // scrcode: .
        .text "u@@@@a@"
        .byte $a2                                   // scrcode: .
        .text "@@@b@a@"
        .byte $c8                                   // scrcode: .
        .text "@@@a@a@"
        .byte $b8                                   // scrcode: .
        .text "(a@@@a@"
        .byte $b8                                   // scrcode: .
        .text "("
        .text "b@@@b@"
        .byte $a5                                   // scrcode: .
        .text ":c@@@c@"
        .byte $cf,$46                               // scrcode: ..
        .text "@a@"
        .byte $41                                   // scrcode: .
        .text "c@"
        .byte $af,$4c                               // scrcode: ..
        .text "@a@"
        .byte $71                                   // scrcode: .
        .text "a@"
        .byte $a9                                   // scrcode: .
        .text ":d@@@a@"
        .byte $a9                                   // scrcode: .
        .text ":"
        .text "e@@@a@"
        .byte $a9                                   // scrcode: .
        .text ":b@@@q"
        .byte $40                                   // scrcode: .
        .text "@@a"
        .byte $ff                                   // scrcode: .
        .text "@@"
        .byte $81,$40                               // scrcode: ..
        .text "@@a"
        .byte $ff                                   // scrcode: .
        .text "@@q"
        .byte $41,$40                               // scrcode: ..
        .text "@af"
        .byte $ff,$80                               // scrcode: ..
        .text "0@@@"
        .byte $ff                                   // scrcode: .
        .text "@@@0"
        .byte $60,$a0                               // scrcode: ..
        .text "@bb"
        .byte $ff,$f0,$40                           // scrcode: ...
        .text "@@a"
        .byte $ff                                   // scrcode: .
        .text "@@@0"
        .byte $60,$90                               // scrcode: ..
        .text "ddd"
        .byte $ff                                   // scrcode: .
        .text "eh@"
        .byte $ff                                   // scrcode: .
        .text "@@@@dg@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .text "@@@x@@"
        .byte $80                                   // scrcode: .
        .text "@@@@@@ei@"
        .byte $ff                                   // scrcode: .
        .text "@@@@ch@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $81,$41,$40,$80,$80,$80,$80           // scrcode: .......
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "mj"
        .byte $ff,$60                               // scrcode: ..
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "@"
        .byte $81                                   // scrcode: .
        .encoding "petscii_upper"

txt_1779:
        .text "A"
        .byte $40                                   // @ character
        .text " "
        .byte $40                                   // @ character
        .encoding "screencode_mixed"
        .text "p"
        .byte $40                                   // scrcode: .
        .text "@"
        .byte $ff                                   // scrcode: .
        .text "kifedcd"
        .byte $fe                                   // scrcode: .
        .text "@@ "
        .byte $40,$ff,$68                           // scrcode: ...
        .text "cp"
        .byte $c0,$b0                               // scrcode: ..
        .text "@"
        .byte $ff,$c1,$86                           // scrcode: ...
        .text "l"
        .byte $c4,$83                               // scrcode: ..
        .text "+"
        .byte $c1,$86                               // scrcode: ..
        .text "l"
        .byte $c4,$83                               // scrcode: ..
        .text "+"
        .byte $c1                                   // scrcode: .
        .text "jk"
        .byte $86                                   // scrcode: .
        .text "l"
        .byte $c4                                   // scrcode: .
        .text "+"
        .byte $c1,$83                               // scrcode: ..
        .text "l"
        .byte $c4                                   // scrcode: .
        .text "+"
        .byte $c1,$83                               // scrcode: ..
        .text "jk"
        .byte $c1,$86                               // scrcode: ..
        .text "l"
        .byte $c4,$83                               // scrcode: ..
        .text "+"
        .byte $c1,$86                               // scrcode: ..
        .text "l"
        .byte $c4,$83                               // scrcode: ..
        .text "+"
        .byte $c1                                   // scrcode: .
        .text "jk"
        .byte $86                                   // scrcode: .
        .text "l"
        .byte $c4                                   // scrcode: .
        .text "+"
        .byte $c1,$83                               // scrcode: ..
        .text "l"
        .byte $c4                                   // scrcode: .
        .text "+"
        .byte $c1,$83                               // scrcode: ..
        .text "no"
        .byte $c1,$86                               // scrcode: ..
        .text "q"
        .byte $c5,$83                               // scrcode: ..
        .text ")"
        .byte $c1,$86                               // scrcode: ..
        .text "q"
        .byte $c5,$83                               // scrcode: ..
        .text ")"
        .byte $c1                                   // scrcode: .
        .text "op"
        .byte $86                                   // scrcode: .
        .text "q"
        .byte $c5                                   // scrcode: .
        .text ")"
        .byte $c1,$83                               // scrcode: ..
        .text "q"
        .byte $c5                                   // scrcode: .
        .text ")"
        .byte $c1,$83                               // scrcode: ..
        .text "op"
        .byte $c1,$86                               // scrcode: ..
        .text "q"
        .byte $c5,$83                               // scrcode: ..
        .text ")"
        .byte $c1,$86                               // scrcode: ..
        .text "q"
        .byte $c5,$83                               // scrcode: ..
        .text ")"
        .byte $c1                                   // scrcode: .
        .text "op"
        .byte $86                                   // scrcode: .
        .text "q"
        .byte $c5                                   // scrcode: .
        .text ")"
        .byte $c1,$83                               // scrcode: ..
        .text "q"
        .byte $c5                                   // scrcode: .
        .text ")"
        .byte $c1,$83                               // scrcode: ..
        .text "on"
        .byte $ff,$c2,$83                           // scrcode: ...
        .text "@"
        .byte $c6                                   // scrcode: .
        .encoding "petscii_upper"

txt_180a:
        .text "030"
        .byte $c3                                   // 'C' | $80 (end-of-string marker)
        .byte $00,$c6                               // ..

txt_1810:
        .text "570"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $00,$c6                               // ..

// --- Region $182e-$184a ---
.pc = $182e "dat_182e"

dat_182e:
        .byte $30,$8c,$33,$86,$35,$29,$2a,$92,$2b,$2e,$8c,$30,$2d,$86,$29,$92 // 0.3.5)*.+..0-.).
        .byte $29,$86,$27,$b6,$29,$c8,$92,$30,$8c,$33,$86,$35,$29 // ).'.)..0.3.5)

// --- Region $184d-$1987 ---
.pc = $184d "dat_184d"

dat_184d:
        .byte $2b,$2e,$8c,$30,$2d,$86,$29,$92,$29,$86,$33,$b6,$35,$ff,$c9,$86 // +..0-.).).3.5...
        .byte $29,$29,$83,$29,$86,$29,$29,$29,$83,$29,$86,$29,$83,$29,$29,$86 // )).).))).).).)).
        .byte $29,$29,$83,$29,$86,$29,$29,$29,$83,$29,$86,$29,$83 // )).).))).).).

txt_187a:
        .text "))"
        .byte $ca                                   // 'J' | $80 (end-of-string marker)
        .byte $86,$2b,$2b,$83,$2b,$86,$2b,$2b,$2b,$83,$2b,$86,$2b,$83,$2b,$2b // .++.+.+++.+.+.++
        .byte $86,$2b,$2b,$83,$2b,$86,$2b,$2b,$2b,$83,$2b,$86,$2b,$83 // .++.+.+++.+.+.

txt_189b:
        .text "++"
        .byte $c9                                   // 'I' | $80 (end-of-string marker)
        .byte $86,$29,$29,$83,$29,$86,$29,$29,$29,$83,$29,$86,$29,$83,$29,$29 // .)).).))).).).))
        .byte $86,$29,$29,$83,$29,$86,$29,$29,$29,$83,$29,$86,$29,$83 // .)).).))).).).

txt_18bc:
        .text "))"
        .byte $cb                                   // 'K' | $80 (end-of-string marker)
        .byte $86,$29,$29,$83,$29,$86,$29,$29,$29,$83,$29,$86,$29,$83,$29,$29 // .)).).))).).).))
        .byte $86,$29,$29,$83,$29,$86,$29,$29,$29,$83,$29,$86,$29,$83,$29,$29 // .)).).))).).).))
        .byte $ff,$c1,$89,$16,$16,$86,$16,$8c,$16,$86,$16,$16,$89,$16,$16,$86 // ................
        .byte $16,$8c,$16,$86,$16,$16,$89,$0f,$0f,$86,$0f,$8c,$0f,$86,$0f,$0f // ................
        .byte $89,$0f,$0f,$86,$0f,$8c,$0f,$86,$0f,$0f,$c1,$89,$16,$16,$86,$16 // ................
        .byte $8c,$16,$86,$16,$16,$89,$16,$16,$86,$16,$8c,$16,$86,$16,$16,$89 // ................
        .byte $11,$11,$86,$11,$8c,$11,$86,$11,$11,$89,$11,$11,$86,$11,$8c,$11 // ................
        .byte $86,$11,$11,$ff,$c7,$98
        .text ").02"
        .byte $8c
        .byte $33,$86
        .byte $32,$b6
        .byte $2b
        .byte $8c
        .byte $29,$27,$98
        .byte $29,$2e,$30,$8c
        .byte $32,$33,$86
        .text "50.-"
        .byte $98
        .byte $29,$b0,$35,$ff,$c3,$83,$00,$00,$c2,$00,$c3,$00,$c3,$00,$c2,$00 // ).5.............
        .byte $00,$00,$00,$00,$c3,$00,$00,$c2,$8c,$00,$ff,$c1,$83,$0c,$89,$0f // ................
        .byte $86,$11,$12,$83,$13,$16,$17,$8f,$18,$ff,$c8,$8f,$30,$83,$33,$30 // ............0.30
        .byte $2b,$2e,$2b,$83,$2e,$8f,$30,$ff       // +.+...0.

dat_1987:
        // === Fill data (1 bytes, $1987-$1987) ===
        .byte $00                                   // .

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

txt_1c00:
        .text "(%"
        .byte $22                                   // double quote character
        .text " "
        .byte $1d,$1b,$18,$16,$13,$11,$0f,$0d,$0c,$0a,$09,$07,$06,$05,$05,$04 // ................
        .byte $04,$04,$04,$04,$04,$05,$06,$07,$08,$09,$0b,$0c,$0e,$10,$12,$14 // ................
        .byte $17,$19,$1b,$1e                       // ....

txt_1c28:
        .text " #&'$!"
        .byte $1f,$1c,$1a,$17,$15,$13,$11,$0f,$0d,$0b,$0a,$08,$07,$06,$05,$04 // ................
        .byte $04,$04,$04,$04,$04,$04,$05,$06,$07,$08,$0a,$0b,$0d,$0f,$11,$13 // ................
        .byte $15,$17,$1a,$1c,$1f                   // .....

txt_1c53:
        .text "!$'&# "
        .byte $1e,$1b,$19,$17,$14,$12,$10,$0e,$0c,$0b,$09,$08,$07,$06,$05,$04 // ................
        .byte $04,$04,$04,$04,$04,$05,$05,$06,$07,$09,$0a,$0c,$0d,$0f,$11,$13 // ................
        .byte $16,$18,$1b,$1d,$20,$22,$25,$03,$05,$07,$0a,$0c,$0e,$11,$13,$15 // .... "%.........
        .byte $17,$19,$1a,$1c,$1d,$1f               // ......

txt_1c8f:
        .text " !"
        .byte $22                                   // double quote character
        .text "#######"
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text "! "
        .byte $1e,$1d,$1b,$1a,$18,$16,$14,$12,$10,$0e,$0b,$09,$07,$04,$03,$06 // ................
        .byte $08,$0b,$0d,$0f,$11,$13,$16,$17,$19,$1b,$1d,$1e,$1f // .............

txt_1cba:
        .text " !"
        .byte $22                                   // double quote character
        .text "#######"
        .byte $22                                   // double quote character
        .text "! "
        .byte $1f,$1e,$1d,$1b,$19,$17,$16,$13,$11,$0f,$0d,$0b,$08,$06,$03,$04 // ................
        .byte $07,$09,$0b,$0e,$10,$12,$14,$16,$18,$1a,$1b,$1d,$1e // .............

txt_1ce4:
        .text " !"
        .byte $22                                   // double quote character
        .byte $22                                   // double quote character
        .text "#######"
        .byte $22                                   // double quote character
        .text "! "
        .byte $1f,$1d,$1c,$1a,$19,$17,$15,$13,$11,$0e,$0c,$0a,$07,$05 // ..............

txt_1d00:
        .text "                       "
        .byte $00                                   // string terminator
        .byte $01,$02,$0a,$04,$05,$0b,$0c,$03,$04,$62,$48,$49,$08,$09,$00,$01 // .........bHI....
        .byte $02,$03,$04,$47,$01,$02,$0a,$61,$05,$0b,$0c,$03,$04 // ...G...a.....

dat_1d35:
        .text "                                                  "
        .byte $0d                                   // string terminator
        .byte $1d,$1e,$1f,$21,$12,$1a,$5f,$10,$60,$5e,$5d,$22,$15,$1c,$0d,$0e // ...!.._.`^]"....
        .byte $0f,$10,$11
        .text "OPYZ"
        .byte $5b,$13,$14,$16,$10,$11

dat_1d85:
        .text "                                                  #123 "
        .byte $17,$18                               // ..

txt_1dbe:
        .text "()*  "
        .byte $63                                   // c

txt_1dc4:
        .text "/0#$%&'+,-.4+"
        .byte $19,$1b                               // ..

txt_1dd3:
        .text "/0"

dat_1dd5:
        // === Fill data (50 bytes, $1dd5-$1e06) ===
        .fill 50, $20
        .text ">?DEF"
        .byte $06

txt_1e0d:
        .text "89:=  <:=789:;AB5C6AB"
        .byte $07                                   // .

txt_1e23:
        .text "C="

dat_1e25:
        // === Fill data (50 bytes, $1e25-$1e56) ===
        .fill 50, $20
        .text "STVWXJKLM"
        .byte $5c                                   // backslash
        .text "  "
        .byte $40                                   // @ character
        .text "M"
        .byte $5c                                   // backslash
        .text "J"
        .text "KLMNSTUQRSTUQR"

dat_1e75:
        // === Fill data (67 bytes, $1e75-$1eb7) ===
        .fill 67, $20
        // === Sine/lookup table (120 bytes, range $00-$fd) ===
        .byte $7f,$85,$8c,$92,$99,$9f,$a6,$ac,$b2,$b8,$be,$c4,$c9,$ce,$d3,$d8 // ................
        .byte $dd,$e1,$e5,$e9,$ec,$f0,$f3,$f5,$f7,$f9,$fb,$fc,$fd,$fd,$fd,$fd // ................
        .byte $fd,$fc,$fb,$f9,$f7,$f5,$f3,$f0,$ec,$e9,$e5,$e1,$dd,$d8,$d3,$ce // ................
        .byte $c9,$c4,$be,$b8,$b2,$ac,$a6,$9f,$99,$92,$8c,$85,$7f,$78,$71,$6b // .............xqk
        .byte $64,$5e                               // d^

txt_1efa:
        .text "WQKE?94/*% "
        .byte $1c,$18,$14,$11,$0d,$0a,$08,$06,$04,$02,$01,$00,$00,$00,$00,$00 // ................
        .byte $01,$02,$04,$06,$08,$0a,$0d,$11,$14,$18,$1c // ...........

txt_1f20:
        .text " %*/49?EKQW"
        .byte $5e,$64,$6b,$71,$78                   // ^dkqx

// --- Region $1f96-$23ff ---
.pc = $1f96 "Segment $1f96"
        .fill 12, $00
        .byte $09,$02,$08,$0a,$0f,$07,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ................
        .fill 14, $01

spr_1fc0:
        // === Sprite data (64 bytes, $1fc0-$1fff) ===
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $07,$0f,$0a                           // .....###....####....#.#.
        .byte $08,$02,$09                           // ....#.........#.....#..#
        .byte $06,$04,$0e                           // .....##......#......###.
        .byte $05,$03,$07                           // .....#.#......##.....###
        .byte $0d,$01,$01                           // ....##.#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $01,$01,$01                           // .......#.......#.......#
        .byte $07,$03,$05                           // .....###......##.....#.#
        .byte $0e,$04,$06                           // ....###......#.......##.
        .byte $03,$0f,$04                           // ......##....####.....#..
        .byte $05,$04,$20                           // .....#.#.....#....#.....
        .byte $02,$19,$20                           // ......#....##..#..#.....
        .byte $04,$12,$01                           // .....#.....#..#........#
        .byte $0b,$05,$21                           // ....#.##.....#.#..#....#
        .byte $00                                   // sprite 0 padding
        .byte $ff,$ff,$fe,$f8,$f5,$e1,$d6,$d6,$e4,$80,$05,$6e,$bf,$fe,$fb,$ff // ...........n....
        .byte $00,$00,$aa,$ee,$bb,$ee,$ff,$aa,$11,$04,$aa,$99,$a6,$e9,$ba,$ee // ................
        .byte $17,$57,$a7,$ab,$67,$ab,$6b,$ab,$00,$00,$0a,$1a,$0b,$1a,$4b,$1e // .W..g.k.......K.
        .byte $45,$01,$05,$05,$06,$09,$06,$09,$71,$74,$71,$70,$74,$70,$51,$41 // E.......qtqptpQA
        .byte $6f,$0b,$42,$e4,$f9,$fd,$be,$fe,$ff,$ff,$ff,$bf,$7f,$2f,$5f,$5f // o.B........../__
        .byte $11,$04,$aa,$99,$a6,$e9,$ba,$aa,$45,$11,$b9,$ed,$ba,$fd,$ba,$fd // ........E.......
        .byte $70,$70,$70,$b1,$70,$b1,$b4,$b1,$97,$9a,$5b // ppp.p.....[

txt_206b:
        .text "ZKWEP"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $fe,$be,$ee,$be,$fe,$ae,$56,$95,$a5,$b4,$b5,$b4,$81,$00,$aa,$ba // ......V.........
        .byte $ee,$fb,$fe,$fb,$fe,$e9,$54,$ab,$e7,$ab,$a7,$5b,$67,$1b,$27,$5b // ......T....[g.'[
        .byte $1e,$5b
        .text "ZKWE"
        .byte $90,$5b,$1e,$5b
        .byte $5a,$46,$96,$85,$d4,$be
        .byte $fe,$be,$ee,$fd,$fe,$be,$15,$fb,$fe,$fb,$fe,$fb,$fe,$e9,$54,$b5 // ..............T.
        .byte $b1,$b5,$b5,$b4,$81,$00,$aa,$d4,$e4,$e4,$e0,$d4,$91,$84,$51 // ..............Q

spr_20c0:
        // === Sprite data (64 bytes, $20c0-$20ff) ===
        .byte $00,$10,$40                           // ...........#.....#......
        .byte $11,$45,$12                           // ...#...#.#...#.#...#..#.
        .byte $46,$56,$00                           // .#...##..#.#.##.........
        .byte $00,$40,$50                           // .........#.......#.#....
        .byte $96,$f9,$ff                           // #..#.##.#####..#########
        .byte $ff,$be,$fe                           // #########.#####.#######.
        .byte $be,$ee,$be                           // #.#####.###.###.#.#####.
        .byte $fe,$ae,$55                           // #######.#.#.###..#.#.#.#
        .byte $00,$11,$44                           // ...........#...#.#...#..
        .byte $11,$65,$95                           // ...#...#.##..#.##..#.#.#
        .byte $f5,$f4,$5b                           // ####.#.#####.#...#.##.##
        .byte $5b,$9b,$97                           // .#.##.###..##.###..#.###
        .byte $5b,$67,$1b                           // .#.##.##.##..###...##.##
        .byte $27,$bf,$fe                           // ..#..####.#############.
        .byte $be,$ee,$be                           // #.#####.###.###.#.#####.
        .byte $fe,$ad,$56                           // #######.#.#.##.#.#.#.##.
        .byte $96,$af,$bf                           // #..#.##.#.#.#####.######
        .byte $bf,$bf,$40                           // #.#######.######.#......
        .byte $00,$a5,$aa                           // ........#.#..#.##.#.#.#.
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$07,$17                           // ########.....###...#.###
        .byte $67                                   // sprite 0 padding
        .fill 8, $ff
        .byte $ab,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$9b,$e6,$f5,$f5,$f4,$f1,$f4,$f0 // ................
        .byte $40,$10,$40,$10,$44,$11,$04,$11,$00,$10,$40,$11,$46,$12,$46,$56 // @.@.D.....@.F.FV
        .byte $00,$10,$44,$11,$a9,$55,$75,$b4,$00,$10,$44,$10,$44,$11,$44,$55 // ..D..Uu...D.D.DU
        .byte $17,$1b,$17,$17,$57,$17,$5b,$17,$00,$10,$44,$11,$a4,$55,$75,$b4 // ....W.[...D..Uu.
        .byte $00,$10,$45,$10,$44,$11,$44,$55,$5f,$6f,$6f,$6f,$5f,$1b,$5b,$17 // ..E.D.DU_ooo_.[.
        .byte $e1,$e5,$f9,$fe,$ff,$ff,$ff,$ff,$00,$00,$41,$50,$96,$f9,$ff,$ff // ..........AP....
        .byte $00,$44,$11,$44,$65,$99,$e6,$f5,$14,$04,$01,$41,$11,$44,$51,$54 // .D.De......A.DQT
        .byte $00,$10,$44,$11,$44,$11,$44,$55       // ..D.D.DU

spr_2180:
        // === Sprite data (64 bytes, $2180-$21bf) ===
        .byte $17,$1b,$57                           // ...#.###...##.##.#.#.###
        .byte $17,$57,$17                           // ...#.###.#.#.###...#.###
        .byte $5b,$17,$00                           // .#.##.##...#.###........
        .byte $10,$40,$11                           // ...#.....#.........#...#
        .byte $46,$12,$46                           // .#...##....#..#..#...##.
        .byte $55,$00,$11                           // .#.#.#.#...........#...#
        .byte $44,$11,$aa                           // .#...#.....#...##.#.#.#.
        .byte $56,$7f,$bf                           // .#.#.##..########.######
        .byte $27,$2b,$67                           // ..#..###..#.#.##.##..###
        .byte $6b,$ab,$6b                           // .##.#.###.#.#.##.##.#.##
        .byte $ff,$ff,$bf                           // #################.######
        .byte $7f,$2f,$5f                           // .#######..#.####.#.#####
        .byte $5f,$5b,$5b                           // .#.#####.#.##.##.#.##.##
        .byte $5b,$75,$74                           // .#.##.##.###.#.#.###.#..
        .byte $75,$70,$74                           // .###.#.#.###.....###.#..
        .byte $70,$51,$41                           // .###.....#.#...#.#.....#
        .byte $57,$97,$57                           // .#.#.####..#.###.#.#.###
        .byte $9b,$67,$9b                           // #..##.##.##..####..##.##
        .byte $6b,$ab,$05                           // .##.#.###.#.#.##.....#.#
        .byte $01,$05,$05                           // .......#.....#.#.....#.#
        .byte $06,$09,$06                           // .....##.....#..#.....##.
        .byte $09                                   // sprite 0 padding
        .byte $66,$96,$66,$9a,$66,$aa,$aa,$ba,$71,$b4,$b0,$b0,$b4,$b0,$b0,$b4 // f.f.f...q.......
        .byte $65,$59,$65,$99,$66,$a9,$aa,$b9,$5b,$27,$5b,$6b,$5b,$ab,$67,$ab // eYe.f...['[k[.g.
        .byte $f1,$f4,$f0,$f0,$f4,$f0,$f0,$f4,$5b,$27,$5b,$6b,$5b,$ab,$6b,$ab // ........['[k[.k.
        .byte $05,$01,$05,$05,$06,$49,$86,$92,$66,$95,$66,$99,$66,$a9,$a9,$ba // .....I..f.f.f...
        .byte $f1,$f4,$f1,$f5,$f1,$f5,$f4,$f6,$40,$10,$05,$05,$06,$49,$86,$92 // ........@....I..
        .byte $45,$01,$66,$99,$66,$a9,$a9,$ba,$65,$59,$66,$99,$66,$a9,$aa,$b9 // E.f.f...eYf.f...
        .byte $7f,$bf,$7f,$7f,$7f,$7f,$5f,$40,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$01 // ......_@........
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$17,$ff,$ff,$fe,$f8,$f5,$e1,$d6,$96 // ................
        .byte $00,$00,$ab,$ee,$bf,$ef,$ff,$56,$00,$00,$a9,$ee,$bb,$ee,$ff,$6b // .......V.......k
        .byte $0a,$0a,$1e,$4b,$1e,$5f,$45,$6a,$ae,$ba,$ee,$b9,$ee,$fd,$aa,$aa // ...K._Ej........
        .byte $71,$b4,$71,$b5,$71,$75,$74,$b6,$ea,$ba,$ee,$bb,$ee,$ff,$5a,$aa // q.q.qut.......Z.
        .byte $a7,$ab,$e7,$a7,$d7,$d7,$a7,$ab,$87,$5a,$0b,$4b,$46,$96,$85,$d4 // .........Z.KF...
        .byte $bf,$fe,$fe,$fd,$fd,$fe,$be,$15,$ea,$ba,$ee,$ba,$e9,$a6,$6b,$bf // ..............k.
        .byte $6f,$af,$6f,$bf,$bf,$ff,$ff,$ff,$c6,$d6,$e1,$f5,$f9,$fe,$ff,$ff // o.o.............
        .byte $ee,$bb,$ee,$bf,$6f,$5a,$96,$fa,$96,$bb,$ee,$bb,$ef,$ff,$6a,$aa // ....oZ........j.
        .byte $94,$bb,$ee,$bb,$ef,$ff,$6a,$aa,$00,$ba,$ee,$bb,$ee,$ff,$aa,$aa // ......j.........
        .byte $47,$a7,$e7,$a7,$d7,$d7,$a7,$ab,$96,$af,$bf,$bf,$bf,$80,$00,$a9 // G...............
        .byte $aa,$ff,$ff,$ff,$ff,$6f,$0b,$42,$af,$ff,$ff,$ff,$ff,$ff,$ff,$ff // .....o.B........
        .byte $a7,$ab,$e7,$9b,$e7,$d7,$a7,$ab,$95,$ff,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .byte $59,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$b5,$b1,$b5,$b5,$b4,$81,$01,$a9 // Y...............
        .byte $ab,$e7,$ab,$a7,$5b,$67,$1b,$2b,$5f,$5f,$9f,$af,$9f,$af,$af,$af // ....[g.+__......
        .byte $00,$00,$0a,$1a,$0b,$1a,$4b,$16,$f0,$f1,$f4,$f1,$f4,$f5,$f5,$f4 // ......K.........

txt_2320:
        .encoding "screencode_mixed"
        .text " greetings to those who deserves it: nec+nei, destiny, exodus, napalm, atc"
        .encoding "petscii_upper"

txt_236a:
        .text ".... "

txt_236f:
        .encoding "screencode_mixed"
        .text "and censor, dominators, crazy, illusion, nato (where's my films, macro-nit"
        .encoding "petscii_upper"

txt_23b9:
        .text "?), "

txt_23bd:
        .encoding "screencode_mixed"
        .text "origo, genesis, crest and some more"
        .encoding "petscii_upper"

txt_23e0:
        .text ".....    "
        .byte $ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$00           // .......

// --- Region $247b-$24ba ---
.pc = $247b "txt_247b"

txt_247b:
        .encoding "screencode_mixed"
        .text "ibhjogmaaaaaaaaaaaaaaaaaaaaaaaaaaaamgojhbi"
        .text "@"
        .text "@"
        .text "  still alive"
        .encoding "petscii_upper"

txt_24b4:
        .text ".....  "

// --- Region $277d-$283e ---
.pc = $277d "Segment $277d"
        .byte $49,$ff,$29                           // I.)

spr_2780:
        // === Sprite data (64 bytes, $2780-$27bf) ===
        .byte $07,$8d,$89                           // .....####...##.##...#..#
        .byte $27,$18,$ad                           // ..#..###...##...#.#.##.#
        .byte $b9,$25,$e9                           // #.###..#..#..#.####.#..#
        .byte $01,$29,$07                           // .......#..#.#..#.....###
        .byte $8d,$b9,$25                           // #...##.##.###..#..#..#.#
        .byte $a9,$00,$2a                           // #.#.#..#..........#.#.#.
        .byte $49,$01,$f0                           // .#..#..#.......#####....
        .byte $46,$a2,$00                           // .#...##.#.#...#.........
        .byte $bd,$c9,$04                           // #.####.###..#..#.....#..
        .byte $9d,$c8,$04                           // #..###.###..#........#..
        .byte $69,$80,$9d                           // .##.#..##.......#..###.#
        .byte $f0,$04,$e8                           // ####.........#..###.#...
        .byte $e0,$28,$d0                           // ###.......#.#...##.#....
        .byte $f0,$ee,$9d                           // ####....###.###.#..###.#
        .byte $1f,$ad,$9d                           // ...######.#.##.##..###.#
        .byte $1f,$29,$01                           // ...#####..#.#..#.......#
        .byte $f0,$1e,$ee                           // ####.......####.###.###.
        .byte $bb,$27,$d0                           // #.###.##..#..#####.#....
        .byte $03,$ee,$bc                           // ......#####.###.#.####..
        .byte $27,$ad,$90                           // ..#..####.#.##.##..#....
        .byte $28,$c9,$ff                           // ..#.#...##..#..#########
        .byte $d0                                   // sprite 0 padding
        .byte $0c,$a9,$90,$8d,$bb,$27,$a9,$28,$8d,$bc,$27,$a9 // .....'.(..'.

txt_27cc:
        .text " L"
        .byte $d6                                   // 'V' | $80 (end-of-string marker)
        .byte $27,$ad,$9e,$1f,$18,$69,$40,$8d,$ef,$04,$8d,$9e,$1f,$60,$a9,$fd // '....i@......`..
        .byte $49,$ff,$29,$07,$8d,$eb,$27,$18,$ad,$31,$26,$e9,$01,$29,$07,$8d // I.)...'..1&..)..

txt_27ef:
        .text "1&"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $00,$2a,$49,$01,$f0,$46,$a2,$00,$bd,$19,$05,$9d,$18,$05 // .*I..F........

spr_2800:
        // === Sprite data (63 bytes, $2800-$283e) ===
        .byte $69,$80,$9d                           // .##.#..##.......#..###.#
        .byte $40,$05,$e8                           // .#...........#.####.#...
        .byte $e0,$28,$d0                           // ###.......#.#...##.#....
        .byte $f0,$ee,$a0                           // ####....###.###.#.#.....
        .byte $1f,$ad,$a0                           // ...######.#.##.##.#.....
        .byte $1f,$29,$01                           // ...#####..#.#..#.......#
        .byte $f0,$1e,$ee                           // ####.......####.###.###.
        .byte $1d,$28,$d0                           // ...###.#..#.#...##.#....
        .byte $03,$ee,$1e                           // ......#####.###....####.
        .byte $28,$ad

txt_281d:
        .byte $20
        .byte $23,$c9,$ff                           // ..#...####..#..#########
        .byte $d0,$0c,$a9                           // ##.#........##..#.#.#..#
        .byte $20,$8d,$1d                           // ..#.....#...##.#...###.#
        .byte $28,$a9,$23                           // ..#.#...#.#.#..#..#...##
        .byte $8d,$1e,$28                           // #...##.#...####...#.#...
        .byte $a9

txt_282e:
        .byte $20,$4c
        .byte $38,$28,$ad                           // ..###.....#.#...#.#.##.#
        .byte $9f,$1f,$18                           // #..#####...#####...##...
        .byte $69,$40,$8d                           // .##.#..#.#......#...##.#
        .byte $3f,$05,$8d                           // ..######.....#.##...##.#
        .byte $9f,$1f,$60                           // #..#####...#####.##.....

// --- Region $288b-$2a61 ---
.pc = $288b "Segment $288b"
        .byte $00,$00,$00,$00,$00,$20,$01,$12,$14,$09,$0c,$0c,$05,$14,$19 // ..... .........

txt_289a:
        .text " '90+4 "

txt_28a1:
        .encoding "screencode_mixed"
        .text "from double density. presented to you as first by drake and nam of extasy! this is just the first game in a row"
        .encoding "petscii_upper"

txt_2910:
        .text "....  "

txt_2916:
        .encoding "screencode_mixed"
        .text "to get more, call our kickin' boards"
        .encoding "petscii_upper"

txt_293a:
        .text ": 718/251-7150 ("
        .byte $0d                                   // string terminator

txt_294b:
        .encoding "screencode_mixed"
        .text "ystic caverns) and"
        .encoding "petscii_upper"

txt_295d:
        .text " ++45 3297 2079 ("

txt_296e:
        .encoding "screencode_mixed"
        .text "never never land"
        .encoding "petscii_upper"

txt_297e:
        .text ")...  "

txt_2984:
        .encoding "screencode_mixed"
        .text "lame non-modemers should write to p.o.box"
        .encoding "petscii_upper"

txt_29ad:
        .text " 171, 4300 "

txt_29b8:
        .encoding "screencode_mixed"
        .text "holbaek, denmark to buy the latest (and last?) c64 stuff!  oh by the way, special greetings to the federation against software theft! good luck guys! hahaha"
        .encoding "petscii_upper"

txt_2a54:
        .text "....         "
        .byte $ff                                   // .
