// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:54
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $35ff  (11776 bytes)
// Crunched with Cruncher AB — depacked by emulation
// Packer entry: $080d (via BASIC SYS 2061)
// Entry point:  $3200 (12800)
// IRQ handler:  $ea31 (irq_ea31)
// IRQ handler:  $3308 (irq_3308)
// IRQ handler:  $3307 (nmi_3307)
//
// Code: 2556 bytes, Data: 9220 bytes
// Labels: 251, Subroutines: 13
//
// Cross-references: all OK
// ============================================


// --- Region $1000-$1006 ---
.pc = $1000 "sub_1000"
// Referenced by: jsr from $3271

sub_1000:
        jmp loc_101d
        jmp loc_1085

dat_1006:
        .byte $4c                                   // L

// --- Region $101d-$101f ---
.pc = $101d "loc_101d"

loc_101d:
        jmp loc_1807

// --- Region $1050-$162e ---
.pc = $1050 "loc_1050"

loc_1050:
        lda $1a7c,y
        sta $1716
        lda $1a7d,y
        sta $1717
        sta $d418
        ldx #$00
        txa

loc_1062:
        sta $1718,x
        inx
        cpx #$86
        bne loc_1062
        ldx #$00
        lda #$01

loc_106e:
        sta $100c,x
        sta $173b,x
        inx
        cpx #$03
        bne loc_106e
        ldx #$00
        txa

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

loc_1085:
        dec $1718
        bpl loc_1090
        lda $1716
        sta $1718

loc_1090:
        ldx #$00
        stx $1720
        jsr sub_10b0
        inx
        jsr sub_10b0
        inx
        jsr sub_10b0
        lda $171c
        sta $d416
        lda $1018
        ora $1723
        sta $d417
        rts
// Referenced by: jsr from $1095, $1099, $109d

sub_10b0:
        lda $100c,x
        beq loc_10c5
        lda $1716
        cmp $1718
        bne loc_10c5
        dec $173b,x
        lda $173b,x
        beq loc_10c8

loc_10c5:
        jmp loc_11f9

loc_10c8:
        lda $1707,x
        sta $f8
        lda $170a,x
        sta $f9

loc_10d2:
        ldy $1726,x
        lda ($f8),y
        bpl loc_1101
        cmp #$ff
        bne loc_10e5
        lda #$00
        sta $1726,x
        jmp loc_10d2

loc_10e5:
        cmp #$fe
        bne loc_10ef
        lda #$00
        sta $100c,x
        rts

loc_10ef:
        sec
        sbc #$a0
        bcs loc_10f8
        eor #$1f
        adc #$01

loc_10f8:
        sta $172c,x
        inc $1726,x
        iny
        lda ($f8),y

loc_1101:
        tay
        lda $1bc6,y
        sta $f8
        lda $1bd7,y
        sta $f9

loc_110c:
        jmp loc_17c0

dat_110f:
        .byte $b1,$f8,$30,$12                       // ..0.

loc_1113:
        cmp #$60
        bcc loc_1122
        and #$1f
        sta $1015,x
        inc $1729,x
        jmp loc_110c

loc_1122:
        jmp loc_11a2

loc_1125:
        cmp #$7e
        beq loc_1174
        cmp #$7d
        beq loc_1183
        cmp #$c0
        bcc loc_1197
        and #$1f
        pha
        and #$0f
        sta $1741,x
        pla
        and #$10
        bne loc_115e
        iny
        lda ($f8),y
        clc
        adc $172c,x
        sta $1744,x
        iny
        lda ($f8),y
        clc
        adc $172c,x
        sta $1747,x
        inc $1729,x
        inc $1729,x
        lda $1744,x
        jmp loc_11a6

loc_115e:
        iny
        lda ($f8),y
        clc
        adc $172c,x
        sta $1747,x
        lda $1012,x
        sta $1744,x
        inc $1729,x
        jmp loc_1174

loc_1174:
        lda $173e,x
        sta $173b,x
        inc $1729,x

loc_117d:
        jsr sub_11e6
        jmp loc_1322

loc_1183:
        lda $173e,x
        sta $173b,x
        lda $100f,x
        eor #$01
        sta $100f,x
        inc $1729,x
        jmp loc_117d

loc_1197:
        jmp loc_17da

loc_119a:
        rol $d418,x
        and #$17
        jmp loc_110c

loc_11a2:
        clc
        adc $172c,x

loc_11a6:
        sta $1012,x
        tay
        lda dat_1647,y
        sta $172f,x
        lda $16a7,y
        sta $1732,x
        lda $173e,x
        sta $173b,x
        inc $1729,x
        lda $17b0,x
        bne loc_117d
        lda #$00
        sta $1735,x
        sta $1738,x
        clc
        sta $1768,x
        sta $176b,x
        jsr sub_1823
        ldy $170d,x
        lda #$08
        jsr sub_17fb
        lda #$ff
        sta $100f,x
        sta $174a,x
// Referenced by: jsr from $117d

sub_11e6:
        ldy $1729,x
        lda ($f8),y
        cmp #$7f
        beq loc_11f0
        rts

loc_11f0:
        lda #$00
        sta $1729,x
        jsr sub_182d
        rts

loc_11f9:
        lda $174a,x
        bne loc_1201
        jmp loc_1322

loc_1201:
        clc
        lda #$00
        sta $174a,x
        sta $1750,x
        sta $1789,x
        sta $1792,x
        sta $1795,x
        lda $1015,x
        asl
        asl
        asl
        adc $1015,x
        adc $1015,x
        adc $1015,x
        sta $174d,x
        tay
        lda $18f0,y
        pha
        lda $18f1,y
        ldy $170d,x
        jsr sub_184b
        pla
        sta $d405,y
        ldy $174d,x
        lda dat_18fa,y
        and #$04
        bne loc_1269
        lda $18f2,y
        pha
        and #$0f
        sta $1753,x
        pla
        lsr
        lsr
        lsr
        lsr
        sta $1756,x
        eor #$0f
        sta $1759,x
        lda $18f6,y
        lsr
        lsr
        lsr
        lsr
        sta $175f,x
        lda #$00
        sta $1762,x
        sta $1765,x

loc_1269:
        lda dat_18fa,y
        and #$20
        beq loc_12c0
        lda $1018
        ora $1710,x
        sta $1018
        lda dat_18fa,y
        and #$02
        bne loc_12c9
        lda #$00
        sta $1719
        sta $171a
        lda $18f6,y
        and #$0f
        asl
        asl
        asl
        asl
        sta $171b
        tay
        lda $19a2,y
        pha
        and #$f0
        sta $1723
        pla
        and #$0f
        asl
        asl
        asl
        asl
        ora $1717
        sta $d418
        lda $19a3,y
        sta $171c
        lda $19a4,y
        sta $171d
        lda $19a5,y
        sta $171e
        jmp loc_12c9

loc_12c0:
        lda $1018
        and $1713,x
        sta $1018

loc_12c9:
        ldy $174d,x
        lda $18f7,y
        pha
        and #$f0
        lsr
        sta $1771,x
        pla
        and #$0f
        sta $1774,x
        lda $18f8,y
        sta $1777,x
        lda loc_18f9,y
        sta dat_177a,x
        lda dat_18fa,y
        sta $177d,x
        ldy $1012,x
        lda $1888,y
        clc
        sta $1792,x
        lda #$02
        sta $1786,x
        jsr sub_1885
        lda $177d,x
        and #$80
        beq loc_1318
        ldy $170d,x
        lda #$ff
        sta $d400,y
        sta $d401,y
        lda #$81
        sta $d404,y
        rts

loc_1318:
        jmp loc_1591

dat_131b:
        .byte $ad,$0e,$dc,$8d,$05,$d4,$4a           // ......J

loc_1322:
        lda $1786,x
        beq loc_132d
        dec $1786,x
        jmp loc_134e

loc_132d:
        lda $177d,x
        and #$10
        beq loc_1342
        lda $173b,x
        cmp #$01
        bne loc_134e
        lda #$fe
        jsr sub_17ec
        bne loc_134e

loc_1342:
        lda $177d,x
        and #$08
        bne loc_134e
        lda #$fe
        sta $100f,x

loc_134e:
        lda $1762,x
        lsr
        clc
        adc $174d,x
        tay
        lda $18f3,y
        sta $171f
        lda $1762,x
        and #$01
        beq loc_1370
        lda $171f
        and #$0f
        asl
        asl
        asl
        asl
        jmp loc_1375

loc_1370:
        lda $171f
        and #$f0

loc_1375:
        clc
        adc $175f,x
        sta $175c,x
        lda $1765,x
        bne loc_139f
        lda $1750,x
        clc
        adc $175c,x
        sta $1750,x
        lda $1753,x
        adc #$00
        sta $1753,x
        cmp $1759,x
        bne loc_13c5
        lda #$01
        sta $1765,x
        bne loc_13bb

loc_139f:
        lda $1750,x
        sec
        sbc $175c,x
        sta $1750,x
        lda $1753,x
        sbc #$00
        sta $1753,x
        cmp $1756,x
        bne loc_13c5
        lda #$00
        sta $1765,x

loc_13bb:
        lda $1762,x
        cmp #$05
        beq loc_13c5
        inc $1762,x

loc_13c5:
        lda $177d,x
        and #$20
        beq loc_141c
        lda $1720
        bne loc_141c
        inx
        stx $1720
        dex
        lda $171c
        cmp $171e
        beq loc_141c
        lda $171b
        clc
        adc $1719
        tay
        lda $19a6,y
        sta $1721
        lda $19ac,y
        sta $1722
        lda $171c
        clc
        adc $1721
        sta $171c
        inc $171a
        lda $171a
        cmp $1722
        bne loc_141c
        lda #$00
        sta $171a
        inc $1719
        lda $1719
        cmp #$06
        bne loc_141c
        lda $171d
        sta $1719

loc_141c:
        lda $1741,x
        beq loc_149f
        asl
        asl
        asl
        asl
        sta $171f
        lda $1744,x
        cmp $1747,x
        bcs loc_145a
        ldy $1747,x
        lda $1735,x
        clc
        adc $171f
        sta $1735,x
        lda $1738,x
        adc #$00
        sta $1738,x
        lda $1735,x
        clc
        adc $172f,x
        lda $1738,x
        adc $1732,x
        cmp $16a7,y
        bne loc_149c
        jmp loc_1481

loc_145a:
        ldy $1747,x
        lda $1735,x
        sec
        sbc $171f
        sta $1735,x
        lda $1738,x
        sbc #$00
        sta $1738,x
        lda $1735,x
        clc
        adc $172f,x
        lda $1738,x
        adc $1732,x
        cmp $16a7,y
        bne loc_149c

loc_1481:
        tya
        sta $1012,x
        lda dat_1647,y
        sta $172f,x
        lda $16a7,y
        sta $1732,x
        lda #$00
        sta $1741,x
        sta $1735,x
        sta $1738,x

loc_149c:
        jmp loc_1591

loc_149f:
        lda $1771,x
        beq loc_14aa
        dec $1771,x
        jmp loc_1591

loc_14aa:
        lda $177d,x
        and #$40
        beq loc_1520
        inc $1019
        lda $1019
        and #$01
        sta $1019
        bne loc_14c1
        jmp loc_1591

loc_14c1:
        ldy $170d,x
        lda $172f,x
        clc
        adc $1735,x
        sta $1724
        lda $1732,x
        adc #$00
        sta $1725
        lda $1724
        sec
        sbc $1798,x
        sta $d400,y
        lda $1725
        sbc $179b,x
        sta $d401,y
        lda $1777,x
        bmi loc_1503
        lda $1798,x
        clc
        adc $1777,x
        sta $1798,x
        lda $179b,x
        adc #$00
        sta $179b,x
        jmp loc_1619

loc_1503:
        lda $1777,x
        and #$7f
        sta $101a
        lda $1798,x
        sec
        sbc $101a
        sta $1798,x
        lda $179b,x
        sbc #$00
        sta $179b,x
        jmp loc_1619

loc_1520:
        lda $1768,x
        bne loc_1546
        lda $1735,x
        clc
        adc $1792,x
        sta $1735,x
        lda $1738,x
        adc $1795,x
        sta $1738,x
        inc $176b,x
        lda $176b,x
        cmp $1774,x
        beq loc_1567
        jmp loc_1591

loc_1546:
        lda $1735,x
        sec
        sbc $1792,x
        sta $1735,x
        lda $1738,x
        sbc $1795,x
        sta $1738,x
        inc $176b,x
        lda $176b,x
        cmp $1774,x
        beq loc_1567
        jmp loc_1591

loc_1567:
        lda #$00
        sta $176b,x
        lda $1768,x
        eor #$01
        sta $1768,x
        lda $176e,x
        cmp $1777,x
        beq loc_1591
        inc $176e,x
        lda $1774,x
        clc
        adc $1774,x
        sta $1774,x
        lda $1795,x
        adc #$00
        bit $1795

loc_1591:
        lda $177d,x
        and #$01
        bne loc_15d5

loc_1598:
        ldy dat_177a,x
        lda $195e,y
        cmp #$90
        bcc loc_15b5
        sec
        sbc #$90
        sta $171f
        lda dat_177a,x
        sec
        sbc $171f
        sta dat_177a,x
        jmp loc_1598

loc_15b5:
        sta $1780,x
        lda $1980,y
        clc
        adc $1012,x
        sta $1783,x
        tay
        lda dat_1647,y
        sta $172f,x
        lda $16a7,y
        sta $1732,x
        inc dat_177a,x
        jmp loc_1603

loc_15d5:
        ldy dat_177a,x
        lda $195e,y
        cmp #$90
        bcc loc_15f2
        sec
        sbc #$90
        sta $171f
        lda dat_177a,x
        sec
        sbc $171f
        sta dat_177a,x
        jmp loc_15d5

loc_15f2:
        sta $1780,x
        lda #$00
        sta $172f,x
        lda $1980,y
        sta $1732,x
        inc dat_177a,x

loc_1603:
        ldy $170d,x
        lda $172f,x
        clc
        adc $1735,x
        sta $d400,y
        lda $1732,x
        adc $1738,x
        sta $d401,y

loc_1619:
        lda $1750,x
        sta $d402,y
        lda $1753,x
        sta $d403,y
        lda $1780,x
        and $100f,x
        sta $d404,y
        rts

// --- Region $163c-$1647 ---
.pc = $163c "loc_163c"

loc_163c:
        sbc $60,x
        pha
        tya
        sta $1015,x
        pla
        jmp loc_11a6

dat_1647:
        .byte $0c                                   // .

// --- Region $17c0-$188d ---
.pc = $17c0 "loc_17c0"

loc_17c0:
        jmp loc_1837

dat_17c3:
        .byte $b1,$f8                               // ..

loc_17c5:
        cmp #$7c
        beq loc_17cc
        jmp loc_1125

loc_17cc:
        lda $17b0,x
        eor #$01
        sta $17b0,x
        inc $1729,x
        jmp loc_17c0

loc_17da:
        cmp #$80
        bcc loc_17e9
        and #$3f
        sta $173e,x
        inc $1729,x
        jmp loc_110c

loc_17e9:
        jmp loc_1113
// Referenced by: jsr from $133d

sub_17ec:
        sta $100f,x
        ldy $170d,x
        lda #$00
        sta $d405,y
        sta $d406,y
        rts
// Referenced by: jsr from $11db

sub_17fb:
        sta $d404,y
        lda #$0f
        sta $d405,y
        sta $d406,y
        rts

loc_1807:
        asl
        asl
        asl
        tay
        ldx #$00

loc_180d:
        lda $1a7c,y
        sta $1707,x
        lda $1a7d,y
        sta $170a,x
        iny
        iny
        inx
        cpx #$03
        bne loc_180d
        jmp loc_1870
// Referenced by: jsr from $11d3

sub_1823:
        sta $176e,x
        sta $1798,x
        sta $179b,x
        rts
// Referenced by: jsr from $11f5

sub_182d:
        inc $1726,x
        sta $17b0,x
        bit $17b3
        rts

loc_1837:
        ldy $1729,x
        lda ($f8),y
        cmp #$f0
        bcc loc_17c5
        and #$0f
        sta $17b3,x
        inc $1729,x
        jmp loc_1837
// Referenced by: jsr from $1230

sub_184b:
        sta $1040
        lda $17b3,x
        bne loc_185a
        lda $1040
        sta $d406,y
        rts

loc_185a:
        lda $1040
        and #$0f
        sta $1040
        lda $17b3,x
        asl
        asl
        asl
        asl
        ora $1040
        sta $d406,y
        rts

loc_1870:
        ldx #$00
        txa

loc_1873:
        sta $17b0,x
        inx
        cpx #$08
        bne loc_1873
        jmp loc_1050

dat_187e:
        .byte $00,$00,$18,$9d,$75,$19,$60           // ....u.`
// Referenced by: jsr from $12fd

sub_1885:
        lda $1774,x
        bne loc_188d
        sta $1792,x

loc_188d:
        rts

// --- Region $18f9-$1903 ---
.pc = $18f9 "loc_18f9"

loc_18f9:
        brk

dat_18fa:
        .byte $00,$00                               // ..

loc_18fc:
        sbc #$77
        .byte $ff,$ff,$ff                           // isc $ffff,x // ILLEGAL
        beq loc_1903

loc_1903:
        brk

// --- Region $1965-$1979 ---
.pc = $1965 "loc_1965"

loc_1965:
        bpl loc_1977
        bpl loc_1979
        bpl loc_18fc
        sta ($91,x)
        eor ($81,x)
        rti

dat_1970:
        .byte $80,$91,$15,$15,$92,$41,$81           // .....A.

loc_1977:
        bpl loc_18f9

loc_1979:
        .byte $92                                   // jam // ILLEGAL

// --- Region $1b8d-$1bd6 ---
.pc = $1b8d "Segment $1b8d"
        .byte $1b,$7e,$1d                           // slo $1d7e,y // ILLEGAL
        ora ($1d),y
        ror $617f,x
        .byte $82,$18                               // nop #$18 // ILLEGAL
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$61                               // nop $61,x // ILLEGAL
        clc
        ror $5462,x
        .byte $54,$7f                               // nop $7f,x // ILLEGAL
        sty $88
        .byte $93,$9e                               // sha ($9e),y // ILLEGAL
        ldx $b0
        .byte $d4,$e6                               // nop $e6,x // ILLEGAL
        sbc #$0c
        .byte $17,$3a                               // slo $3a,x // ILLEGAL
        jmp $6d5d

dat_1bd5:
        // === Data block (2 bytes, $1bd5-$1bd6) ===
        .byte $81,$94                               // ..

// --- Region $2df6-$2e28 ---
.pc = $2df6 "sub_2df6"

// Referenced by: jsr from $3212
sub_2df6: {
        ldx #$00
loop1:
        lda dat_2a00,x
        sta $0429,x
        lda dat_2b00,x
        sta $d829,x
        inx
        cpx #$e0
        bne loop1
        ldx #$00
loop2:
        lda dat_3100,x
        sta $05d8,x
        lda #$00
        sta $d9d8,x
        inx
        cpx #$f0
        bne loop2
        rts
}
// Referenced by: jsr from $3280, $3288, $3290, $3298, $329b, $32a3, $32ab, $32b3

sub_2e1c:
        ldx #$f5

loc_2e1e:
        ldy #$60

loc_2e20:
        dey
        nop
        bne loc_2e20
        dex
        nop
        bne loc_2e1e
        rts

// --- Region $2e84-$2ed2 ---
.pc = $2e84 "loc_2e84"

loc_2e84:
        sei
        lda #$00
        sta $d021
        sta $d020
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$00
        sta $d01a
        sta $d418
        sta $0286
        sta $d015
        sta $d017                                // SMC: modifies $d017
        sta $d01d
        jsr $e544
        lda #$c8
        sta $d016
        lda #$15
        sta $d018
        lda #$81
        sta $dc0d
        lda #$1b
        sta $d011
        ldx #$00

loc_2ec4:
        lda bmp_2ed2,x
        sta $0400,x
        inx
        cpx #$30
        bne loc_2ec4
        jmp $0400

bmp_2ed2:
        // === Bitmap data (1 bytes, $2ed2-$2ed2) ===
        .byte $e6                                   // .

// --- Region $2ef5-$2f63 ---
.pc = $2ef5 "sub_2ef5"
// Referenced by: jsr from $33b1

sub_2ef5:
        lda #$00
        sta $d9fa
        sta $d9fb
        sta $d9fc
        sta $d9fd
        sta $d9fe
        sta $d9ff
        sta $da22
        sta $da23
        sta $da24
        sta $da25
        sta $da26
        sta $da27
        sta $da4a
        sta $da4b
        sta $da4c
        sta $da4d
        sta $da4e
        sta $da4f
        sta $da72
        sta $da73
        sta $da74
        sta $da75
        sta $da76
        sta $da77
        sta $da9a
        sta $da9b
        sta $da9c
        sta $da9d
        sta $da9e
        sta $da9f
        sta $dac2
        sta $dac3
        sta $dac4
        sta $dac5
        sta $dac6
        sta $dac7
        rts

// --- Region $3200-$3400 ---
.pc = $3200 "main_3200"

main_3200:
        lda #$01
        sta $0286
        lda #$7b
        sta $d011
        lda #$00
        sta $d020
        jsr $e544
        jsr sub_2df6
        ldx #$00
        lda #$00

loc_3219:
        sta $0540,x
        inx
        cpx #$50
        bne loc_3219
        ldx #$00

loc_3223:
        lda $2c16,x
        sta $05b8,x
        sta $0568,x
        inx
        cpx #$1a
        bne loc_3223
        sei
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        lda #$08
        sta $0314
        lda #$33
        sta $0315
        lda #$07
        sta $0318
        lda #$33
        sta $0319
        lda #$00
        sta $d012
        lda #$02
        sta $d9b8
        sta $d9d1
        lda #$08
        sta $d9b9
        sta $d9d0
        lda #$0c
        sta $d9ba
        sta $d9cf
        lda #$00
        tax
        tay
        jsr sub_1000
        ldx #$75

loc_3276:
        lda $22a0,x
        sta main_3200,x
        dex
        bne loc_3276
        cli
        jsr sub_2e1c
        lda #$20
        sta smc_342f                                // SMC: modifies $342f
        jsr sub_2e1c
        lda #$20
        sta smc_3441                                // SMC: modifies $3441
        jsr sub_2e1c
        lda #$20
        sta smc_343e                                // SMC: modifies $343e
        jsr sub_2e1c
        jsr sub_2e1c
        lda #$20
        sta smc_3435                                // SMC: modifies $3435
        jsr sub_2e1c
        lda #$20
        sta smc_3432                                // SMC: modifies $3432
        jsr sub_2e1c
        lda #$20
        sta smc_3403                                // SMC: modifies $3403
        jsr sub_2e1c
        lda #$20
        sta smc_3447                                // SMC: modifies $3447

loc_32bb:
        lda $dc01
        cmp #$ef
        bne loc_32bb
        sta smc_3432                                // SMC: modifies $3432
        lda #$00
        sta smc_33a5                                // SMC: modifies $33a5
        sta smc_3419                                // SMC: modifies $3419
        lda #$b8
        sta smc_33aa                                // SMC: modifies $33aa
        jsr sub_2e1c
        lda #$20
        sta smc_3438                                // SMC: modifies $3438
        jsr sub_2e1c
        lda #$20
        sta smc_343b                                // SMC: modifies $343b
        jsr sub_2e1c
        lda #$2c
        sta $2f79
        lda #$00
        sta $350b
        lda #$3d
        sta $350d
        lda #$35
        sta $350e
        jsr sub_2e1c
        lda #$20
        sta smc_3447                                // SMC: modifies $3447
        jsr sub_2e1c
        jmp loc_2e84

nmi_3307:
        rti

irq_3308:
        lda #$00

loc_330a:
        cmp $d012
        bne loc_330a
        lda #$21
        sta $d000
        sta $d002
        sta $d004
        sta $d006
        sta $d00a
        sta $d008
        sta $d00c
        lda #$ff
        sta $d015
        lda #$7f
        sta $d01d
        sta $d017                                // SMC: modifies $d017
        lda #$20
        sta $d01b
        lda #$80
        sta $d010
        lda #$3f
        sta $07f8
        sta $07f9
        sta $07fa
        sta $07fb
        sta $07fc
        sta $07fd
        sta $07fe
        lda #$3e
        sta $07ff
        lda #$00                                    // !SMC: modified by $2cd2
        sta $d027
        sta $d028
        sta $d029
        sta $d02a
        sta $d02b
        sta $d02c
        sta $d02d
        lda #$0b
        sta $d02e
        lda #$58
        sta $d00e
        lda #$03
        sta $d00f
        lda #$14
        sta $d001
        lda #$3e
        sta $d003
        lda #$68
        sta $d005
        lda #$bc
        sta $d007
        lda #$e6
        sta $d009
        lda #$00
        sta $d00d
        lda #$92
        sta $d00b
        ldx #$00
.label smc_33a5 = * + 1
        lda #$00                                    // !SMC: modified by $32c7

loc_33a6:
        sta $d968,x
.label smc_33aa = * + 1
        sta $d968,x                                 // !SMC: modified by $32cf
        inx
        cpx #$1a
        bne loc_33a6
        jsr sub_2ef5
        lda #$7b
        sta $d011
        lda #$d8
        sta $d016
        lda #$19
        sta $d018
        lda #$72

loc_33c5:
        cmp $d012
        bne loc_33c5
        ldx #$0a

loc_33cc:
        dex
        bne loc_33cc
        lda #$1b
        sta $d011
        lda #$c8
        sta $d016
        lda #$1c
        sta $d018
        lda #$82

loc_33e0:
        cmp $d012
        bne loc_33e0
        ldx #$09

loc_33e7:
        dex
        bne loc_33e7
        lda #$12
        sta $d018
        lda #$92

loc_33f1:
        cmp $d012
        bne loc_33f1
        ldx #$0a

loc_33f8:
        dex
        bne loc_33f8
        lda #$00
        sta $d021

spr_3400:
        // === Screen RAM (1 bytes, $3400-$3400) ===
        .byte $8d                                   // scrcode: .

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

// --- Region $0800-$0800 ---
.pc = $0800 "dat_0800"

dat_0800:
        // === Fill data (1 bytes, $0800-$0800) ===
        .byte $00                                   // .

// --- Region $0840-$0840 ---
.pc = $0840 "spr_0840"

spr_0840:
        .byte $00                                   // .

// --- Region $0a09-$0ad5 ---
.pc = $0a09 "dat_0a09"

dat_0a09:
        .byte $78,$d8,$d8,$d8,$78,$00,$00           // char 65 (partial)
        .byte $c0,$f0,$d8,$d8,$d8,$f0,$00,$00       // char 66 'B'
        .byte $00,$70,$d8,$c0,$d8,$70,$00,$00       // char 67 'C'
        .byte $18,$78,$d8,$d8,$d8,$78,$00,$00       // char 68 'D'
        .byte $00,$70,$d8,$f8,$c0,$70,$00,$00       // char 69 'E'
        .byte $70,$c0,$c0,$e0,$c0,$c0,$c0,$c0       // char 70 'F'
        .byte $00,$78,$d8,$d8,$d8,$78,$18,$70       // char 71 'G'
        .byte $c0,$f0,$d8,$d8,$d8,$d8,$00,$00       // char 72 'H'
        .byte $c0,$00,$c0,$c0,$c0,$c0,$00,$00       // char 73 'I'
        .byte $30,$00,$30,$30,$30,$30,$30,$e0       // char 74 'J'
        .byte $c0,$c0,$d8,$f0,$d8,$d8,$00,$00       // char 75 'K'
        .byte $c0,$c0,$c0,$c0,$c0,$c0,$00,$00       // char 76 'L'
        .byte $00,$fe,$db,$db,$db,$db,$00,$00       // char 77 'M'
        .byte $00,$f0,$d8,$d8,$d8,$d8,$00,$00       // char 78 'N'
        .byte $00,$70,$d8,$d8,$d8,$70,$00,$00       // char 79 'O'
        .byte $00,$f0,$d8,$d8,$d8,$f0,$c0,$c0       // char 80 'P'
        .byte $00,$78,$d8,$d8,$d8,$78,$18,$18       // char 81 'Q'
        .byte $00,$70,$c0,$c0,$c0,$c0,$00,$00       // char 82 'R'
        .byte $00,$78,$c0,$70,$18,$f0,$00,$00       // char 83 'S'
        .byte $c0,$e0,$c0,$c0,$c0,$70,$00,$00       // char 84 'T'
        .byte $00,$d8,$d8,$d8,$d8,$70,$00,$00       // char 85 'U'
        .byte $00,$d8,$d8,$d8,$70,$20,$00,$00       // char 86 'V'
        .byte $00,$db,$db,$db,$db,$fe,$00,$00       // char 87 'W'
        .byte $00,$d8,$d8,$70,$d8,$d8,$00,$00       // char 88 'X'
        .byte $00,$d8,$d8,$d8,$d8,$78,$18,$70       // char 89 'Y'
        .byte $00,$f8,$30,$60,$c0,$f8               // char 90 (partial)

// --- Region $0af1-$0b1f ---
.pc = $0af1 "dat_0af1"

dat_0af1:
        .byte $30,$18,$fc,$18,$30,$00,$00           // char 94 (partial)
        .byte $00,$30,$60,$fc,$60,$30,$00,$00       // char 95 '_'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 96 '`'
        .byte $c0,$c0,$c0,$c0,$00,$c0,$00,$00       // char 97 'a'
        .byte $d8,$d8,$48,$00,$00,$00,$00,$00       // char 98 'b'
        .byte $aa,$55,$aa,$55,$aa,$55,$aa,$55       // char 99 'c'

// --- Region $0b38-$0cd6 ---
.pc = $0b38 "dat_0b38"

dat_0b38:
        .byte $c0,$c0,$80,$00,$00,$00,$00,$00       // char 103 'g'
        .byte $60,$c0,$c0,$c0,$c0,$60,$00,$00       // char 104 'h'
        .byte $c0,$60,$60,$60,$60,$c0,$00,$00       // char 105 'i'
        .byte $00,$a8,$70,$f8,$70,$a8,$00,$00       // char 106 'j'
        .byte $00,$00,$30,$fc,$30,$00,$00,$00       // char 107 'k'
        .byte $00,$00,$00,$00,$c0,$c0,$80,$00       // char 108 'l'
        .byte $00,$00,$00,$f0,$00,$00,$00,$00       // char 109 'm'
        .byte $00,$00,$00,$00,$c0,$c0,$00,$00       // char 110 'n'
        .byte $08,$18,$30,$60,$c0,$80,$00,$00       // char 111 'o'
        .byte $70,$d8,$d8,$d8,$d8,$70,$00,$00       // char 112 'p'
        .byte $60,$e0,$60,$60,$60,$60,$00,$00       // char 113 'q'
        .byte $70,$d8,$18,$70,$c0,$f8,$00,$00       // char 114 'r'
        .byte $70,$18,$30,$18,$d8,$70,$00,$00       // char 115 's'
        .byte $d8,$d8,$d8,$78,$18,$18,$00,$00       // char 116 't'
        .byte $f8,$c0,$f0,$18,$d8,$70,$00,$00       // char 117 'u'
        .byte $70,$c0,$f0,$d8,$d8,$70,$00,$00       // char 118 'v'
        .byte $f8,$18,$30,$60,$60,$60,$00,$00       // char 119 'w'
        .byte $70,$d8,$70,$d8,$d8,$70,$00,$00       // char 120 'x'
        .byte $70,$d8,$d8,$78,$18,$70,$00,$00       // char 121 'y'
        .byte $00,$00,$c0,$00,$c0,$00,$00,$00       // char 122 'z'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 123 '{'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 124 '|'
        .byte $00,$00,$f0,$00,$f0,$00,$00,$00       // char 125 '}'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 126 '~'
        .byte $70,$d8,$18,$30,$00,$30,$00,$00       // char 127
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 128
        .byte $78,$cc,$fc,$cc,$cc,$cc,$00,$00       // char 129
        .byte $f8,$cc,$f8,$cc,$cc,$f8,$00,$00       // char 130
        .byte $78,$cc,$c0,$c0,$cc,$78,$00,$00       // char 131
        .byte $f8,$cc,$cc,$cc,$cc,$f8,$00,$00       // char 132
        .byte $f8,$c0,$f0,$c0,$c0,$fc,$00,$00       // char 133
        .byte $fc,$c0,$f0,$c0,$c0,$c0,$00,$00       // char 134
        .byte $78,$c0,$dc,$cc,$cc,$78,$00,$00       // char 135
        .byte $cc,$cc,$fc,$cc,$cc,$cc,$00,$00       // char 136
        .byte $f0,$60,$60,$60,$60,$f0,$00,$00       // char 137
        .byte $3c,$0c,$0c,$0c,$cc,$78,$00,$00       // char 138
        .byte $cc,$cc,$f8,$cc,$cc,$cc,$00,$00       // char 139
        .byte $c0,$c0,$c0,$c0,$c0,$fc,$00,$00       // char 140
        .byte $cc,$fc,$cc,$cc,$cc,$cc,$00,$00       // char 141
        .byte $cc,$ec,$fc,$dc,$cc,$cc,$00,$00       // char 142
        .byte $78,$cc,$cc,$cc,$cc,$78,$00,$00       // char 143
        .byte $f8,$cc,$cc,$f8,$c0,$c0,$00,$00       // char 144
        .byte $78,$cc,$cc,$cc,$dc,$7c,$00,$00       // char 145
        .byte $f8,$cc,$f8,$cc,$cc,$cc,$00,$00       // char 146
        .byte $78,$c0,$78,$0c,$cc,$78,$00,$00       // char 147
        .byte $fc                                   // char 148 (partial)

txt_0ca1:
        .byte $30,$30,$30,$30,$30,$00,$00           // char 148 (partial)
        .byte $cc,$cc,$cc,$cc,$cc,$78,$00,$00       // char 149
        .byte $cc,$cc,$cc,$cc,$78,$30,$00,$00       // char 150
        .byte $cc,$cc,$cc,$cc,$fc,$cc,$00,$00       // char 151
        .byte $cc,$cc,$cc,$78,$cc,$cc,$00,$00       // char 152
        .byte $cc,$cc,$78,$30,$30,$30,$00,$00       // char 153
        .byte $fc,$0c,$38,$60,$c0,$fc               // char 154 (partial)

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

// --- Region $0d00-$0f40 ---
.pc = $0d00 "txt_0d00"

txt_0d00:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 160
        .byte $20,$20,$20,$20,$20,$20,$48,$09       // char 161

txt_0d10:
        .byte $21,$20,$20,$20,$57,$05,$0c,$03       // char 162
        .byte $0f,$0d,$1d,$05,$20,$14,$0f           // char 163 (partial)

txt_0d1f:
        .byte $3a                                   // char 163 (partial)
        .byte $20,$22,$4f,$56,$45,$52,$4c,$4f       // char 164
        .byte $41,$44,$22                           // char 165 (partial)

dat_0d2b:
        // === Fill data (33 bytes, $0d2b-$0d4b) ===
        .fill 33, $20
        .byte $43,$12,$01,$03                       // char 169 (partial)
        .byte $0b,$05,$04,$20,$02,$19               // char 170 (partial)

txt_0d56:
        .byte $20,$46                               // char 170 (partial)
        .byte $52,$41,$4e,$4b,$20,$0f,$06           // char 171 (partial)

txt_0d5f:
        .byte $20                                   // char 171 (partial)
        .byte $4c,$45,$50,$53,$49,$2e,$20,$20       // char 172
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 173
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 174
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 175
        .byte $4f,$12,$09,$07,$09,$0e,$01,$0c       // char 176
        .byte $20,$53,$15,$10,$10,$0c,$09,$05       // char 177
        .byte $04,$20,$02,$19                       // char 178 (partial)

txt_0d94:
        .byte $20,$53,$45,$42                       // char 178 (partial)
        .byte $41,$4c,$4f,$5a,$20,$0f,$06           // char 179 (partial)

txt_0d9f:
        .byte $20                                   // char 179 (partial)
        .byte $4c,$45,$50,$53,$49,$2e,$20,$20       // char 180
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 181
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 182
        .byte $47,$12,$05,$05,$14,$09,$0e,$07       // char 183
        .byte $13,$20,$06,$0f,$12,$3a,$20,$41       // char 184
        .byte $16,$01,$0e,$14,$07,$01,$12,$04       // char 185
        .byte $05                                   // char 186 (partial)

txt_0dd1:
        .byte $20,$2d,$20,$54,$52,$43,$2b           // char 186 (partial)
        .byte $53,$43,$53,$20,$2d,$20,$41,$46       // char 187
        .byte $4c,$20,$2d,$20,$43,$08,$01,$12       // char 188
        .byte $07,$05,$04                           // char 189 (partial)

txt_0deb:
        .byte $20,$2d,$20,$43,$08                   // char 189 (partial)
        .byte $12,$0f,$0d,$1d,$01,$0e,$03,$05       // char 190

txt_0df8:
        .byte $20,$2d,$20,$4d,$0f,$14,$09,$16       // char 191

txt_0e00:
        .byte $20,$38,$20,$2d,$20,$46,$34,$43       // char 192
        .byte $47,$20,$2d,$20,$54,$12,$09,$01       // char 193
        .byte $04                                   // char 194 (partial)

txt_0e11:
        .byte $20,$2d,$20,$45,$0c,$19,$13           // char 194 (partial)
        .byte $09,$15,$0d                           // char 195 (partial)

txt_0e1b:
        .byte $20,$2d,$20,$50,$53                   // char 195 (partial)
        .byte $49,$20,$2d,$20,$41,$07,$0f,$0e       // char 196
        .byte $19                                   // char 197 (partial)

txt_0e29:
        .byte $20,$2d,$20,$45,$18,$03,$05           // char 197 (partial)
        .byte $13,$13                               // char 198 (partial)

txt_0e32:
        .byte $20,$2d,$20,$46,$01,$14               // char 198 (partial)
        .byte $15,$0d                               // char 199 (partial)

txt_0e3a:
        .byte $20,$2d,$20,$4a,$01,$02               // char 199 (partial)
        .byte $0f,$0c,$05                           // char 200 (partial)

txt_0e43:
        .byte $20,$2d,$20,$43,$01                   // char 200 (partial)
        .byte $15,$14,$09,$0f,$0e                   // char 201 (partial)

txt_0e4d:
        .byte $20,$2d,$20                           // char 201 (partial)
        .byte $4e,$09,$10,$13,$0f,$0e               // char 202 (partial)

txt_0e56:
        .byte $2e,$2e                               // char 202 (partial)
        .byte $2e,$20,$20,$20,$20,$20,$20,$49       // char 203
        .byte $0e,$14,$12,$0f,$20,$03,$12,$05       // char 204
        .byte $04,$09,$14,$13,$3a,$20,$43,$0f       // char 205
        .byte $04,$05,$2c,$06,$0f,$0e,$14,$20       // char 206
        .byte $02,$19,$20,$46,$12,$01,$0e,$0b       // char 207

txt_0e80:
        .byte $2f,$4c,$45,$50,$53,$49,$2c,$0c       // char 208
        .byte $0f,$07,$0f,$20,$02,$19,$20,$52       // char 209
        .byte $05,$0c,$01,$18                       // char 210 (partial)

txt_0e94:
        .byte $2f,$46,$45,$4e                       // char 210 (partial)
        .byte $49,$4b,$53,$2c,$0d,$1d,$15,$13       // char 211
        .byte $09,$03,$20,$02,$19,$20,$4d,$0f       // char 212
        .byte $02,$19                               // char 213 (partial)

txt_0eaa:
        .byte $2f,$4e,$49,$50,$53,$4f               // char 213 (partial)
        .byte $4e,$2e,$20,$20,$20,$20,$20,$20       // char 214
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 215
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 216
        .byte $20,$20,$20,$20,$20,$20,$50,$12       // char 217
        .byte $05,$13,$13                           // char 218 (partial)

txt_0ed3:
        .byte $20,$53,$50,$41,$43                   // char 218 (partial)
        .byte $45,$2e                               // char 219 (partial)

dat_0eda:
        // === Fill data (102 bytes, $0eda-$0f3f) ===
        .fill 102, $20

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

// --- Region $0f80-$0fff ---
.pc = $0f80 "spr_0f80"

spr_0f80:
        .fill 15, $00
        .byte $64,$cc,$65,$8a,$a8,$55,$8a,$ac,$62,$8a,$a8,$52,$64,$ce,$62,$00 // d.e..U..b..Rd.b.
        .byte $00,$00,$76,$73
        .text "REUR"
        .byte $66,$75,$62

txt_0faa:
        .byte $45,$55,$50,$45,$55,$52               // char 245 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 246
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 247

spr_0fc0:
        .fill 64, $ff                               // chars 248-255

// --- Region $1007-$101c ---
.pc = $1007 "Segment $1007"
        .byte $2f,$16,$4c,$3e,$16,$01,$01,$01,$ff,$ff,$ff,$0f,$54,$53,$00,$02 // /.L>........TS..
        .byte $02,$06,$00,$00,$00,$00               // ......

// --- Region $1020-$104f ---
.pc = $1020 "txt_1020"

txt_1020:
        .encoding "screencode_mixed"
        .text "! eiger tune by moby of nipson !"
        .encoding "petscii_upper"
        .byte $89,$ad,$0d,$dd,$8d,$11,$d0,$ad,$19,$d0,$8d,$18,$d0,$4e,$18,$d4 // .............N..

// --- Region $162f-$163b ---
.pc = $162f "dat_162f"

dat_162f:
        .byte $a2,$00,$8a,$9d,$0c,$10,$9d,$0f,$10,$e8,$e0,$03,$d0 // .............

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

txt_16e3:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$12,$37,$5c,$1a,$1a,$1a,$00,$07,$0e,$01,$02,$04,$fe,$fd // ...7\...........
        .byte $fb,$01,$0f,$00,$00,$00,$30,$ff,$00,$00,$01,$00,$ff,$00,$f0,$00 // ......0.........
        .byte $00,$06,$03,$03,$08,$0d,$07,$00,$00,$00,$7d,$1e,$97,$02,$86,$7e // ..........}....~
        .byte $00,$00,$00,$00,$00,$00,$04,$04,$08,$04,$04,$08,$00,$00,$00,$00 // ................
        .fill 9, $00
        .byte $16,$16,$00,$00,$00,$08,$00,$00,$01,$00,$00,$0e,$0f,$0f,$88,$ff // ................
        .byte $00,$08                               // ..

// --- Region $177a-$17bf ---
.pc = $177a "dat_177a"

dat_177a:
        .byte $01,$0e,$0e,$00,$20,$20,$41,$81,$81,$0f,$54,$53,$02,$02,$02,$00 // ....  A...TS....
        .fill 20, $00
        .byte $ff,$00,$00,$00,$00,$00,$00,$ff,$e8,$1b,$0a,$22,$07,$11,$01,$e8 // ..........."....
        .byte $1b,$03,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00                               // ..

// --- Region $188e-$18f8 ---
.pc = $188e "dat_188e"

dat_188e:
        .byte $02,$02,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$04,$08,$08 // ................
        .byte $08,$08,$08,$08,$08,$0c,$0c,$0c,$0c,$0c,$10,$10,$10,$10,$14,$14 // ................
        .byte $14,$18,$18,$1c,$1c,$1c               // ......

txt_18b4:
        .text "  $$(,,0488<"
        .byte $40                                   // @ character
        .text "DHLTX"
        .byte $5c                                   // backslash character
        .byte $64,$68,$70,$74,$7c,$84,$8c,$94,$9c,$a8,$b0,$bc,$c8,$d4,$e0,$ec // dhpt|...........
        .byte $fc,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .fill 9, $ff
        .byte $00,$ef,$18,$88,$88,$88,$84,$00,$00   // .........

// --- Region $1904-$1964 ---
.pc = $1904 "dat_1904"

dat_1904:
        .byte $02,$81,$00,$89,$00,$00,$00,$00,$03,$00,$00,$0d,$20,$01,$f8,$08 // ............ ...
        .byte $00,$00,$00,$06,$00,$00,$17,$b1,$00,$c9,$00,$00,$00,$00,$01,$00 // ................
        .byte $00,$0d,$20,$00,$97,$00,$00,$00,$00,$02,$00,$00,$0d,$a0,$00,$a9 // .. .............
        .byte $00,$00,$00,$00,$03,$00,$00,$0d,$20,$00,$d9,$77,$ff,$ff,$ff,$f4 // ........ ..w....
        .byte $00,$00,$0f,$a1,$00,$cf,$00,$00,$00,$00,$05,$00,$00,$14,$28,$00 // ..............(.
        .byte $fc,$74,$11,$11,$11,$d0,$00,$00,$1c,$00,$41,$91,$41,$41,$10,$10 // .t........A.AA..
        .byte $10                                   // .

// --- Region $197a-$1b8c ---
.pc = $197a "dat_197a"

dat_197a:
        .text "AAAAA"
        .byte $95,$00,$00,$0c,$09,$07,$06,$05,$04,$03,$02
        .byte $01,$00,$00,$00,$00,$0c,$ff,$0a,$dd,$00,$00,$09,$00,$0d,$91,$00 // ................
        .byte $c0,$00,$00,$00,$00,$00,$00,$00,$f5,$16,$00,$00,$88,$00,$00,$00 // ................
        .fill 8, $00
        .byte $f3,$1e,$00,$00,$02,$00,$00,$00,$00,$00,$20,$00,$00,$00,$00,$00 // .......... .....
        .byte $f1,$11,$00,$00,$02,$00,$00,$00,$00,$00,$04,$00,$00,$00,$00,$00 // ................
        .byte $f4,$ff,$00,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $f3,$18,$00,$00,$04,$20,$00,$00,$00,$00,$04,$06,$00,$00,$00,$00 // ..... ..........
        .byte $f3,$06,$00,$00,$04,$fc,$04,$fc,$04,$fc // ..........

txt_19fc:
        .text "======"
        .byte $f3,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $01,$01,$01,$01,$01,$02,$01,$02,$01,$01,$01,$01,$01,$02,$09,$09 // ................
        .byte $09,$09,$09,$09,$82,$09,$09,$09,$09,$a0,$08,$08,$0f,$0f,$0f,$0f // ................
        .byte $0f,$0f,$0f,$0f,$ff,$05,$07,$00,$06,$06,$06,$06,$06,$06,$06,$06 // ................
        .byte $05,$07,$06,$06,$06,$06,$06,$06,$0b,$0b,$0c,$0b,$0b,$0b,$0c,$0d // ................
        .byte $00,$00,$00,$10,$10,$10,$10,$10,$10,$ff,$05,$07,$00,$04,$04,$04 // ................
        .byte $04,$04,$04,$04,$04,$05,$07,$04,$04,$04,$04,$04,$04,$00,$00,$0a // ................
        .byte $00,$00,$00,$04,$04,$04,$04,$04,$04,$ff,$12,$1a,$37,$1a,$5c,$1a // ............7.\.
        .byte $01,$0f,$a0,$7e,$7e,$7f,$84,$60,$1d,$11,$1e,$12,$1b,$0f,$1d,$1d // ...~~..`........
        .byte $7f,$84,$60,$1d,$29,$1e,$2a,$1b,$27,$1d,$29,$7f,$60,$84,$1d,$1e // ..`.).*.'.).`...
        .byte $1b,$1d,$1b,$7f,$62,$84,$7e,$88,$53,$5f,$53,$84,$53,$7f,$61,$84 // ....b.~.S_S.S.a.
        .byte $00,$62,$54,$7e,$7e,$7e,$7e,$7e,$61,$00,$00,$62,$54,$7e,$7e,$61 // .bT~~~~~a..bT~~a
        .byte $00,$62,$54,$7e,$7e,$61,$00,$62,$54,$7e,$7e,$61,$00,$7e,$00,$62 // .bT~~a.bT~~a.~.b
        .byte $54,$7f,$61,$84,$00,$62,$54,$61,$00,$62,$54,$61,$00,$62,$54,$61 // T.a..bTa.bTa.bTa
        .byte $00,$62,$54,$7f,$a0,$7e,$7f,$84,$60,$11,$1d,$11,$1d,$11,$1d,$11 // .bT..~..`.......
        .byte $1d,$10,$1c,$10,$1c,$10,$1c,$10,$1c,$11,$1d,$11,$1d,$11,$1d,$11 // ................
        .byte $1d,$0e,$1a,$0e,$1a,$10,$1c,$10,$1c,$7f,$84,$60,$18,$24,$1b,$27 // ...........`.$.'
        .byte $19,$25,$1c,$28,$7f,$84,$69,$11,$1d,$11,$1d,$11,$1d,$11,$1d,$10 // .%.(..i.........
        .byte $1c,$10,$1c,$10,$1c,$10,$1c,$11,$1d,$11,$1d,$11,$1d,$11,$1d,$0e // ................
        .byte $1a,$0e,$1a,$10,$1c,$10,$1c,$7f,$61,$84,$00,$62,$54,$63,$00,$62 // ........a..bTc.b
        .byte $54,$61,$00,$62,$54,$63,$54,$62,$54,$7f,$61,$84,$00,$62,$54,$63 // Ta.bTcTbT.a..bTc
        .byte $00,$62,$54,$61,$00,$62,$54,$63,$54,$54,$7f,$61,$84,$00,$62,$54 // .bTa.bTcTT.a..bT
        .byte $63,$00,$00,$61,$00,$62,$54,$63,$54,$54,$7f,$61,$84,$00,$62,$54 // c..a.bTcTT.a..bT
        .byte $63,$54,$62,$54,$61,$54,$62,$54,$63,$54,$62,$54,$61,$54,$7f,$60 // cTbTaTbTcTbTaT.`
        .byte $84,$1d,$11,$1d,$7e,$1e,$12,$1e,$7e,$1b,$0f // ....~...~..

// --- Region $1bd7-$1c00 ---
.pc = $1bd7 "Segment $1bd7"
        .fill 9, $1a
        .fill 8, $1b

dat_1be8:
        // === Fill data (25 bytes, $1be8-$1c00) ===
        .fill 24, $00

scr_1c00:
        .byte $00                                   // .

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

spr_2000:
        .byte $00                                   // .

// --- Region $2156-$21f0 ---
.pc = $2156 "dat_2156"

dat_2156:
        .byte $05,$16,$00,$00,$00,$00,$00,$00,$54,$65,$00,$00,$00,$00,$00,$00 // ........Te......
        .fill 16, $00
        .byte $66,$aa,$00,$00,$00,$00,$00,$00,$a9,$f6,$00,$00,$00,$00,$00,$00 // f...............
        .byte $00,$aa,$00,$00,$00,$00,$00,$00,$67,$ff,$00,$00,$00,$00,$00,$00 // ........g.......
        .byte $40,$6a,$00,$00,$00,$00,$00,$00,$00,$05,$00,$00,$00,$00,$00,$00 // @j..............
        .byte $5a,$d7,$00,$00,$00,$00,$00,$55,$aa,$ae,$00,$00,$00,$00,$00,$00 // Z......U........
        .byte $41,$55,$00,$00,$00,$00,$00,$00,$50,$54,$00,$00,$00,$00,$00,$00 // AU......PT......
        .fill 8, $00
        .byte $07,$56,$00,$00,$00,$00,$00,$00,$f5,$95,$00,$00,$00,$00,$00,$00 // .V..............
        .byte $54,$95,$00,$00,$00,$00,$00,$00,$05,$2a,$00,$00,$00,$00,$00,$00 // T........*......
        .byte $40,$a9                               // @.

dat_21f0:
        // === Fill data (1 bytes, $21f0-$21f0) ===
        .byte $00                                   // .

// --- Region $228a-$2340 ---
.pc = $228a "dat_228a"

dat_228a:
        .byte $01,$01,$00,$01,$00,$00,$69,$69,$9e,$db,$db,$d5,$59,$e9,$6f,$6e // ......ii....Y.on
        .byte $f6,$f9,$e9,$7f,$76,$d6,$00           // ....v..

txt_22a1:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .text "P"
        .byte $40                                   // @ character
        .text "P"
        .byte $90,$01,$02,$02,$03,$01,$00,$00,$00,$a6,$9a,$bb,$bb,$5b,$6a,$be // .............[j.
        .byte $ab,$67,$6a,$b9,$6e,$65,$66,$ba,$7a,$6d,$69,$ae,$f6,$d9,$9a,$e8 // .gj.nef.zmi.....
        .byte $80,$6b,$9d,$de,$fa,$fd,$6d,$96,$b7,$9a,$ad,$7d,$5a,$96,$d6,$de // .k....m....}Z...
        .byte $e9,$85,$85,$a1,$a1,$a3,$a3,$a3,$85,$55,$b9,$b9,$5d,$56,$da,$9b // .........U..]V..
        .byte $d7,$6e,$fe,$ef,$ed,$67,$f9,$ff,$f0,$67,$eb,$dd,$d6,$56,$b9,$7b // .n...g...g...V.{
        .byte $77,$6f,$e6,$f6,$77,$e7,$6e,$af,$fa,$05,$05,$85,$85,$85,$81,$b1 // wo..w.n.........
        .byte $f1,$65,$65,$e5,$9b,$a7,$6a,$9d,$95,$f7,$a7,$66,$5f,$55,$95,$76 // .ee...j....f_U.v
        .byte $6a,$d5,$65,$67,$e9,$a9,$9f,$6e,$65,$05,$81,$a1,$e0,$e8,$a8,$a8 // j.eg...ne.......
        .byte $a8,$56,$9d,$67,$65,$66,$56,$76,$76,$40,$90,$78,$64,$ff,$5b,$bb // .V.gefVvv@.xd.[.
        .byte $f5                                   // .

dat_2338:
        // === Fill data (9 bytes, $2338-$2340) ===
        .fill 8, $00

spr_2340:
        .byte $00                                   // .

// --- Region $23ca-$2478 ---
.pc = $23ca "dat_23ca"

dat_23ca:
        .byte $01,$00,$01,$01,$01,$05,$67,$6d,$9f,$f5,$f6,$7e,$ee,$d7,$5a,$a6 // ......gm...~..Z.
        .byte $b7,$67,$a6,$da,$99,$59,$60,$60,$60,$90,$50,$40,$90,$80,$00,$00 // .g...Y```.P@....
        .byte $00,$00,$00,$00,$00,$00,$9a,$95,$ae,$d9,$19,$1d,$2a,$00,$a7,$a7 // ............*...
        .byte $d6,$da,$bb,$b5,$f6,$ae,$80,$80,$40,$80,$a2,$eb,$f9,$aa,$99,$2a // ........@......*
        .byte $29,$00,$80,$e0,$a0,$60,$59,$77,$ff,$de,$00,$00,$00,$00,$87,$85 // )....`Yw........

txt_241a:
        .text "57"
        .byte $d7                                   // 'W' | $80 (end-of-string marker)
        .byte $55,$d7,$75,$6f,$7b,$7f,$d5,$fd,$5f,$ea,$b5,$00,$00,$40,$65,$5a // U.uo{..._....@eZ
        .byte $55,$67,$6a,$15,$1a,$5e,$6e,$66,$d5,$e5,$a6,$66,$aa,$6a,$66,$66 // Ugj..^nf...f.jff
        .byte $6a,$aa,$a9,$63,$63,$a3,$a3,$43,$4f,$4f,$0f,$6d,$95,$55,$e5,$e4 // j..cc..COO.m.U..
        .byte $e4,$74,$f4,$56,$56,$55,$02,$00,$00,$00,$00,$65,$df,$7d,$55,$65 // .t.VVU.....e.}Ue
        .byte $29,$00,$00
        .text "TTTP"
        .byte $02
        .byte $2a,$2f,$2a,$69,$79
        .byte $59,$5d
        .byte $57
        .byte $d6,$65,$a5,$68,$a4,$e4,$e4,$e8,$5e,$e6,$69 // .e.h....^.i

dat_2478:
        // === Fill data (1 bytes, $2478-$2478) ===
        .byte $00                                   // .

// --- Region $2508-$25b8 ---
.pc = $2508 "dat_2508"

dat_2508:
        .byte $01,$06,$0a,$05,$05,$0d,$02,$06,$65,$67,$e7,$5a,$9e,$ee,$ea,$ba // ........eg.Z....
        .byte $6e,$57,$ed,$9f,$a7,$a7,$bf,$7f,$40,$80 // nW......@.

txt_2522:
        .byte $40                                   // @ character
        .text "P"
        .byte $40                                   // @ character
        .text "PPP"
        .byte $05,$59,$75,$55,$6f,$95,$29,$25,$55,$9a,$96,$d6,$a5,$99,$5d,$6d // .YuUo.)%U.....]m

txt_2538:
        .text "%%"
        .byte $c9                                   // 'I' | $80 (end-of-string marker)
        .byte $ca,$c9,$f2,$f1,$f2,$9e,$a8,$78,$7e,$ad,$e9,$db,$a7,$80,$00,$00 // .......x~.......
        .byte $00,$01,$06,$06,$86,$00,$00,$00,$aa,$a6,$79,$7b,$ae,$5a,$a6,$a6 // ..........y{.Z..
        .byte $0a,$c2,$f2,$fc,$fc,$5b,$9e,$ee,$f6,$ea,$af,$69,$5a,$65,$5d,$ad // .....[.....iZe].
        .byte $66,$55,$98,$68,$98,$59,$67,$9f,$9a,$58,$00,$00,$00,$54,$50,$52 // fU.h.Yg..X...TPR
        .byte $43,$0b,$0b,$02,$02,$16,$57,$7f       // C.....W.

txt_2583:
        .text "WU"
        .byte $d7                                   // 'W' | $80 (end-of-string marker)
        .byte $55,$5d,$54,$99,$59,$77,$b9,$95,$6e,$6e,$00,$00,$50,$55,$5b,$59 // U]T.Yw..nn..PU[Y
        .byte $e9,$f5,$00,$00,$5a,$6a,$e6,$a6,$be,$6e,$19,$09,$0a,$c2,$fc,$ff // ....Zj...n......
        .byte $ff,$ff,$5a,$77,$b7,$aa,$ad,$27,$2a,$0a,$6a,$96,$da,$e4,$64,$d4 // ..Zw...'*.j...d.
        .byte $6a,$be                               // j.

dat_25b8:
        // === Fill data (1 bytes, $25b8-$25b8) ===
        .byte $00                                   // .

// --- Region $2648-$26fd ---
.pc = $2648 "dat_2648"

dat_2648:
        .byte $01,$02,$02,$03,$03,$06,$0f,$0f,$56,$ad,$be,$77,$5f,$d7,$f9,$59 // ........V..w_..Y
        .byte $56,$f9,$f9,$66,$ae,$bd,$75,$97,$50,$a0,$40,$80,$a3,$75,$69,$97 // V..f..u.P.@..ui.
        .byte $16,$56,$5d,$96,$bf,$7d,$57,$9f,$66,$d6,$65,$e5,$fd,$b5,$96,$57 // .V]..}W.f.e....W
        .byte $93,$63,$63,$a3,$a3,$68,$68,$58,$ee,$ee,$59,$9e,$dd,$fb,$eb,$9a // .cc..hhX..Y.....
        .byte $c1,$c1,$81,$86,$57,$ff,$9b,$db,$6e,$6e,$66,$a5,$79,$aa,$6e,$5d // ....W...nnf.y.n]
        .byte $58,$a8,$58,$68,$98,$a3,$a3,$93,$ff,$fb,$ef,$ed,$f5,$7f,$5e,$ff // X.Xh..........^.
        .byte $9c,$dc,$f7,$f7,$ff,$ef,$6b,$ef,$00,$00,$00,$00,$01,$19,$21,$21 // ......k.......!!
        .byte $00,$00,$00,$00,$00,$11,$04,$11,$f5,$3d,$3e,$0f,$00,$00,$00,$00 // .........=>.....
        .byte $b7,$9a,$ba,$aa,$00,$00,$00,$00,$65,$b9,$aa,$02,$00,$00,$00,$00 // ........e.......
        .byte $95,$db,$57,$77,$15,$17,$05,$01,$af,$e9,$79,$9d,$b7,$b9,$ae,$9a // ..Ww......y.....
        .byte $8f,$8f,$a1,$a3,$a3,$a8,$a8,$a8,$6d,$65,$dd,$57,$5d,$69,$d5,$de // ........me.W]i..
        .byte $40,$40,$80,$80,$80                   // @@...

dat_26fd:
        // === Fill data (1 bytes, $26fd-$26fd) ===
        .byte $00                                   // .

// --- Region $2788-$2838 ---
.pc = $2788 "dat_2788"

dat_2788:
        .byte $05,$05,$01,$01,$00,$00,$00,$00,$66,$56,$57,$59,$5d,$5d,$2a,$00 // ........fVWY]]*.
        .byte $65,$d6,$da,$76,$b7,$b7,$be,$00,$6f,$9d,$56,$9e,$df,$d4,$c0,$00 // e..v....o.V.....
        .byte $56,$b5,$6d,$65,$74,$00,$00,$00,$69,$d5,$57,$69,$20,$00,$00,$00 // V.met...i.Wi ...
        .byte $98,$a8,$a8,$80,$03,$00,$00,$00,$e6,$7d,$ed,$de,$d0,$00,$00,$00 // .........}......
        .byte $ea,$7d,$ed,$67,$0f,$00,$00,$00,$dd,$eb,$9b,$a0,$80,$00,$00,$00 // .}.g............
        .byte $a3,$a1,$8f,$00,$00,$00,$00,$00,$af,$9a,$a6,$26,$00,$00,$00,$00 // ...........&....
        .byte $dc,$70,$f0,$70,$00,$00,$02,$00,$00,$00,$00,$00,$02,$9a,$a7,$aa // .p.p............
        .byte $00,$00,$00,$54,$75,$69,$65,$56       // ...TuieV

chr_2800:
        .byte $00,$00,$00,$29,$97,$e6,$aa,$dd,$00,$00,$ff,$df,$db,$d5,$b7,$ec // ...)............
        .byte $00,$00,$c0,$73,$7b,$bf,$d7,$f7,$00,$00,$02,$69,$a9,$5d,$9e,$9d // ...s{......i.]..
        .byte $f7,$b6,$ab,$fb,$5b,$ff,$ef,$fc,$a8,$a3,$a3,$a3,$8f // ....[........

txt_282d:
        .text "??5"
        .byte $af                                   // '/' | $80 (end-of-string marker)
        .byte $ac,$ac,$be,$6e,$6f,$ab,$8f           // ...no..

dat_2838:
        // === Fill data (1 bytes, $2838-$2838) ===
        .byte $00                                   // .

// --- Region $2930-$2959 ---
.pc = $2930 "dat_2930"

dat_2930:
        .byte $1a,$00,$00,$00,$00,$00,$00,$00,$b1,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $df,$00,$00,$00,$00,$00,$00,$00,$50,$00,$00,$00,$00,$00,$00,$00 // ........P.......
        .byte $05,$00,$00,$00,$00,$00,$00,$00,$5a   // ........Z

dat_2959:
        // === Fill data (1 bytes, $2959-$2959) ===
        .byte $00                                   // .

// --- Region $29c0-$29c0 ---
.pc = $29c0 "spr_29c0"

spr_29c0:
        .byte $00                                   // .

// --- Region $2a00-$2ae0 ---
.pc = $2a00 "dat_2a00"

dat_2a00:
        .byte $fc,$28,$29,$fc,$fc,$bc,$bc,$fc,$bf,$fc // .().......

txt_2a0a:
        .text "LJ"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $4c,$4c,$fc,$d7,$d7,$d7,$4e,$e3,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc // LL....N.........
        .fill 11, $fc
        .byte $2c,$29,$98,$28,$bf,$fc,$bc,$fc,$fc,$bc // ,).(......

txt_2a32:
        .text "LJ*J*"
        .byte $d2                                   // 'R' | $80 (end-of-string marker)
        .byte $d7,$d7,$d7,$ed,$e3,$e3,$fc,$fc       // ........

spr_2a40:
        .fill 16, $fc
        .text ",())"
        .byte $fc,$fc,$fc,$bc,$bc,$bf

txt_2a5a:
        .text ",*JJ"
        .byte $a4                                   // '$' | $80 (end-of-string marker)
        .byte $4a,$d7,$d7,$d7,$de,$e4,$4e,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc // J.....N.........
        .fill 9, $fc
        .byte $28,$82,$28,$92                       // (.(.

txt_2a7c:
        .text "()"
        .byte $bc                                   // '<' | $80 (end-of-string marker)
        .byte $fc,$bc,$fc,$a4,$a4                   // .....

txt_2a84:
        .text "JJM"
        .byte $d7                                   // 'W' | $80 (end-of-string marker)
        .byte $d7,$d7,$7d,$e4,$4e,$4e,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc,$fc // ..}.NN..........
        .fill 8, $fc
        .byte $92
        .byte $29,$29,$92
        .byte $29,$29,$92,$fc,$cb,$bc,$bc
        .text "**C,"
        .byte $17
        .byte $1d,$7d,$d7,$1d,$3d,$e4,$e4,$d7,$d7,$e4,$e3,$fc,$fc,$fc,$fc,$fc // .}..=...........
        .fill 8, $fc
        .byte $8c,$82,$98,$29,$29,$28,$92,$bf,$fb,$bc,$ac,$24,$ad,$1d,$d7,$7d // ...))(.....$...}
        .byte $17,$17,$7d,$17                       // ..}.

txt_2adc:
        .text "=>G$"
        .byte $00                                   // string terminator

// --- Region $2b00-$2be0 ---
.pc = $2b00 "dat_2b00"

dat_2b00:
        .byte $01,$01,$01,$01,$01,$01,$0f,$01,$0c,$01,$01,$02,$02,$01,$01,$01 // ................
        .fill 25, $01
        .byte $08,$02,$01,$0c,$0b,$0f,$0b,$0b,$0f,$0a,$02,$04,$02,$04,$04,$01 // ................
        .byte $01,$01,$01,$04,$04,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ................
        .fill 8, $01
        .byte $09,$08,$01,$01,$0b,$0b,$0f,$0f,$0c,$04,$04,$02,$02,$01,$0d,$01 // ................
        .byte $01,$01,$04,$03,$03,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$01,$01,$01,$01,$09,$09,$09,$01,$09,$08,$09,$0b // ...............

spr_2b80:
        .byte $01,$0b,$0c,$02,$02,$02,$01,$01,$01,$01,$01,$0d,$03,$03,$01,$01 // ................
        .fill 16, $01
        .byte $08,$08,$08,$08,$08,$08,$0b,$0b,$0f,$0f,$04,$04,$04,$01,$0f,$0d // ................
        .byte $07,$01,$01,$07,$0e,$03,$01,$01,$01,$01,$04,$01,$01,$01,$01,$01 // ................
        .fill 9, $01
        .byte $09,$02,$08,$08,$09,$0f,$0c,$0c,$0f,$04,$0a,$04,$07,$01,$01,$0d // ................
        .byte $0d,$01,$0d,$0e,$04,$03,$01           // .......

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

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

scr_2c00:
        .byte $a2,$00,$bd,$31,$2c,$8d,$10,$33,$ee,$01,$2c,$e8,$e0,$65,$30,$05 // ...1,..3..,..e0.
        .byte $a9,$2c,$8d,$3e,$34,$60,$00,$01,$02,$03,$04,$05,$06,$07,$08,$09 // .,.>4`..........
        .byte $0a,$0b,$0c,$0d,$0e,$0f,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19 // ................
        .byte $1a                                   // .

txt_2c31:
        .text " "
        .byte $22                                   // double quote character
        .text "$&(*,.02468:<>"
        .byte $40                                   // @ character
        .text "BDFHJLNPRTVXZ"
        .byte $5c                                   // backslash character
        .byte $5e,$60,$62,$64,$66,$68,$6a,$6c,$6e,$70,$72,$74,$76,$78,$7a,$7c // ^`bdfhjlnprtvxz|
        .byte $7e,$80,$82,$84,$86,$88,$8a,$8c,$8e,$90,$92,$94,$96,$98,$9a,$9c // ~...............
        .byte $9e,$a0,$a2,$a4,$a6,$a8,$aa,$ac,$ae,$b0,$b2,$b4,$b6,$b8,$ba,$bc // ................
        .byte $be,$c0,$c2,$c4,$c6,$c8,$ca,$cc,$ce,$d0,$d2,$d4,$d6,$d8,$da,$dc // ................
        .byte $de,$e0,$e2,$e4,$e6,$e8,$a2,$00,$bd,$af,$2c,$8d,$fc,$33,$8d,$f6 // ..........,..3..
        .byte $2e,$ee,$97,$2c,$e8,$e0,$1e,$30,$05,$a9,$2c,$8d,$41,$34,$60,$05 // ...,...0..,.A4`.
        .byte $00,$00,$00,$00,$00,$05,$00,$00,$00,$00,$05,$00,$00,$00,$00,$05 // ................
        .byte $00,$00,$00,$06,$00,$00,$00,$05,$00,$00,$05,$00,$05,$a2,$00,$bd // ................
        .byte $e3,$2c,$8d,$5a,$33,$ee,$ce,$2c,$e8,$e0,$1e,$30,$05,$a9,$2c,$8d // .,.Z3..,...0..,.
        .byte $2f,$34                               // /4

loc_2ce2:
        .byte $60,$0d,$00,$00,$00,$00,$00,$0d,$00,$00,$00,$00,$0d,$00,$00,$00 // `...............
        .byte $00,$0d,$00,$00,$00,$0d,$00,$00,$00,$0d,$00,$00,$0d,$00,$0d,$a2 // ................
        .byte $00,$bd,$17,$2d,$8d,$a5,$33,$ee,$02,$2d,$e8,$e0,$1b,$30,$05,$a9 // ...-..3..-...0..
        .byte $00,$8d,$02,$2d,$60,$00,$00,$02,$02,$04,$04,$0e,$0e,$05,$05,$03 // ...-`...........
        .byte $03,$0d,$0d,$01,$0d,$0d,$03,$03,$05,$05,$0e,$0e,$04,$04,$02,$02 // ................
        .byte $a2,$00,$bd,$48,$2d,$8d,$b5,$33,$ee,$33,$2d,$e8,$e0,$45,$30,$05 // ...H-..3.3-..E0.
        .byte $a9,$2c,$8d,$35,$34,$60,$3b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$7b // .,.54`;{{{{{{{{{
        .byte $7b,$7b,$3b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$3b,$7b,$7b // {{;{{{{{{{{{{;{{
        .byte $7b,$7b,$7b,$7b,$7b,$7b,$7b,$3b,$7b,$7b,$7b,$7b,$7b,$7b,$7b,$3b // {{{{{{{;{{{{{{{;
        .byte $7b,$7b,$7b,$7b,$7b,$7b,$3b,$7b,$7b,$7b,$7b,$7b,$3b,$7b,$7b,$7b // {{{{{{;{{{{{;{{{
        .byte $7b,$3b,$7b,$7b,$7b,$3b,$7b,$7b,$3b,$7b,$3b,$a2,$00,$bd,$a3,$2d // {;{{{;{{;{;....-
        .byte $8d,$b5,$33,$ee,$8e,$2d,$e8,$e0,$24,$30,$05,$a9,$2c,$8d,$38,$34 // ..3..-..$0..,.84
        .byte $60,$7b
        .byte $3b,$7b
        .byte $3b,$3b,$7b
        .byte $3b,$3b,$3b,$7b
        .text ";;;;"
        .byte $7b
        .text ";;;;;"
        .byte $7b

txt_2db8:
        .text ";;;;;;"
        .byte $7b                                   // {

txt_2dbf:
        .text ";;;;;;;"
        .byte $7b,$a2,$00,$bd,$e3,$2d,$8d,$fc,$33,$8d,$f6,$2e,$8d,$5a,$33,$ee // {....-..3....Z3.
        .byte $c8,$2d,$e8,$e0,$13,$30,$05,$a9,$2c,$8d,$3b,$34,$60,$07,$07,$01 // .-...0..,.;4`...
        .byte $01,$07,$07,$0d,$0d,$03,$03,$0c,$0c,$08,$08,$02,$02,$09,$09,$00 // ................

// --- Region $2e29-$2e83 ---
.pc = $2e29 "bmp_2e29"

bmp_2e29:
        // === Bitmap data (91 bytes, $2e29-$2e83) ===
        .byte $00,$06,$06,$06,$06,$06,$05,$06,$06,$03,$05,$06,$03,$08,$06,$06 // ................
        .byte $06,$06,$05,$06,$05,$06,$06,$08,$06,$06,$06,$01,$01,$01,$07,$07 // ................
        .byte $03,$03,$06,$08,$01,$01,$01,$03,$04,$04,$06,$07,$03,$05,$03,$06 // ................
        .byte $06,$05,$06,$06,$06,$06,$06,$06,$06,$06,$03,$01,$01,$05,$01,$06 // ................
        .byte $02,$07,$07,$07,$07,$07,$07,$07,$07,$05,$07,$07,$07,$07,$07,$07 // ................
        .fill 11, $07

// --- Region $2ed3-$2ef4 ---
.pc = $2ed3 "Segment $2ed3"
        .byte $01,$a2,$00,$bd,$00,$36,$9d,$01,$08,$e8,$d0,$f7,$ee,$09,$04,$ee // .....6..........
        .byte $06,$04,$d0,$ef,$c6,$01,$a2,$ff,$9a,$a9,$00,$8d,$00,$08,$58,$4c // ..............XL
        .byte $e2,$fc                               // ..

// --- Region $2f64-$2f93 ---
.pc = $2f64 "chr_2f64"

chr_2f64:
        // === Bitmap data (48 bytes, $2f64-$2f93) ===
        .byte $0b,$06,$09,$02,$02,$08,$08,$0c,$0c,$03,$03,$0d,$0d,$07,$01,$ae // ................
        .byte $93,$2f,$bd,$64,$2f,$8d,$71,$33,$ad,$93,$2f,$c9,$00,$f0,$03,$ce // ./.d/.q3../.....
        .byte $93,$2f,$ad,$4c,$17,$c9,$ff,$d0,$05,$a9,$0f,$8d,$93,$2f,$60 // ./.L........./`

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

// --- Region $3000-$3000 ---
.pc = $3000 "scr_3000"

scr_3000:
        .byte $00                                   // .

// --- Region $3040-$308b ---
.pc = $3040 "dat_3040"

dat_3040:
        .byte $01,$01,$00,$00,$00,$00,$00,$00,$b3,$b6,$96,$06,$06,$03,$00,$00 // ................
        .byte $cc,$6c,$6c,$6c,$67,$c3,$00,$00,$df,$d8,$de,$d8,$98,$1f,$00,$00 // .lllg...........

txt_3060:
        .text ">3>33"
        .byte $b3,$00,$00,$60,$60,$60,$60,$60,$7e,$00,$00
        .byte $78,$cd,$cd,$cd,$cd,$79,$00,$00,$f3,$9b,$fb,$9b,$9b,$9b,$00,$00 // x....y..........
        .byte $e6
        .text "6200"
        .byte $e0,$00,$00,$c0,$c0
        .byte $40

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

// --- Region $3100-$31ff ---
.pc = $3100 "dat_3100"

dat_3100:
        .text "0000000000000000000000000000000000"
        .byte $63,$63,$63,$63,$63,$63               // cccccc

dat_3128:
        .text "0000000000000000000000000000000000"
        .byte $63,$63,$63,$63,$63,$63               // cccccc

dat_3150:
        .text "0000000000000000000000000000000000"
        .byte $63,$63,$63,$63,$63,$63               // cccccc

dat_3178:
        .text "0000000000000000000000000000000000"
        .byte $63,$63,$63,$63,$63,$63               // cccccc

dat_31a0:
        .text "0000000000000000000000000000000000"
        .byte $63,$63,$63,$63,$63,$63               // cccccc

dat_31c8:
        .text "0000000000000000000000000000000000"
        .byte $63,$63,$63,$63,$63,$63,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // cccccc..........
        .byte $00,$00,$00,$00,$00,$00               // ......

// --- Region $3401-$3555 ---
.pc = $3401 "Segment $3401"
        .encoding "screencode_mixed"
        .text " "
        .byte $d0                                   // scrcode: .
        .encoding "petscii_upper"

smc_3403:
        .text ",P4"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $bc                                   // scrcode: .

loc_3408:
        .encoding "screencode_mixed"
        .byte $cd                                   // scrcode: .
        .text "r"
        .byte $d0,$d0,$fb,$a2                       // scrcode: ....
        .text "h"
        .byte $ea                                   // scrcode: .
        .encoding "petscii_upper"

loc_3410:
        .encoding "screencode_mixed"
        .byte $ca,$d0,$fd,$a9                       // scrcode: ....
        .text "u"
        .byte $8d                                   // scrcode: .
        .text "x"
        .byte $d0,$a9                               // scrcode: ..
        .encoding "petscii_upper"

smc_3419:
        .encoding "screencode_mixed"
        .text "@"
        .byte $8d                                   // scrcode: .
        .text " "
        .byte $d0,$8d                               // scrcode: ..
        .text "!"
        .byte $d0,$a9,$fa                           // scrcode: ...
        .encoding "petscii_upper"

loc_3422:
        .encoding "screencode_mixed"
        .byte $cd                                   // scrcode: .
        .text "r"
        .byte $d0,$d0,$fb,$a9                       // scrcode: ....
        .text "@"
        .byte $8d                                   // scrcode: .
        .text "q"
        .byte $d0,$ee                               // scrcode: ..
        .text "y"
        .byte $d0                                   // scrcode: .
        .encoding "petscii_upper"

smc_342f:
        .encoding "screencode_mixed"
        .text ","
        .byte $cd                                   // scrcode: .
        .text ","
        .encoding "petscii_upper"

smc_3432:
        .encoding "screencode_mixed"
        .text ",a-"
        .encoding "petscii_upper"

smc_3435:
        .encoding "screencode_mixed"
        .text ",2-"
        .encoding "petscii_upper"

smc_3438:
        .encoding "screencode_mixed"
        .text ","
        .byte $8d                                   // scrcode: .
        .encoding "petscii_upper"

txt_343a:
        .text "-"

smc_343b:
        .encoding "screencode_mixed"
        .text ","
        .byte $c7                                   // scrcode: .
        .text "-"
        .encoding "petscii_upper"

smc_343e:
        .encoding "screencode_mixed"
        .text ",@,"
        .encoding "petscii_upper"

smc_3441:
        .encoding "screencode_mixed"
        .text ","
        .byte $96                                   // scrcode: .
        .text ",,"
        .byte $73                                   // scrcode: .
        .text "/"
        .encoding "petscii_upper"

smc_3447:
        .encoding "screencode_mixed"
        .text ",j5 cp"
        .byte $4c,$81,$ea                           // scrcode: ...
        .encoding "petscii_upper"

bmp_3450:
        // === Bitmap data (262 bytes, $3450-$3555) ===
        .byte $a2,$00,$3e,$d8,$08,$3e,$d0,$08,$3e,$c8,$08,$3e,$c0,$08,$3e,$b8 // ..>..>..>..>..>.
        .byte $08,$3e,$b0,$08,$3e,$a8,$08,$3e,$a0,$08,$3e,$98,$08,$3e,$90,$08 // .>..>..>..>..>..
        .byte $3e,$88,$08,$3e,$80,$08,$3e,$78,$08,$3e,$70,$08,$3e,$68,$08,$3e // >..>..>x.>p.>h.>
        .byte $60,$08,$3e,$58,$08,$3e,$50,$08,$3e,$48,$08,$3e,$40,$08,$3e,$38 // `.>X.>P.>H.>@.>8
        .byte $08,$3e,$30,$08,$3e,$28,$08,$3e,$20,$08,$3e,$18,$08,$3e,$10,$08 // .>0.>(.> .>..>..
        .byte $3e,$08,$08,$3e,$00,$08,$e8,$e0,$08,$d0,$a7,$a2,$01,$ca,$8e,$ac // >..>............
        .byte $34,$f0,$01,$60,$ad,$00,$0d,$d0,$0d,$a9,$0d,$8d,$b6,$34,$a9,$01 // 4..`.........4..
        .byte $8d,$b5,$34,$d0,$ef,$60,$aa,$bd,$29,$2e,$8d,$ac,$34,$8a,$c9,$40 // ..4..`..)...4..@
        .byte $30,$08,$a9,$0c,$8d,$f8,$34,$d0,$14,$60,$c9,$20,$30,$08,$a9,$0b // 0.....4..`. 0...
        .byte $8d,$f8,$34,$d0,$08,$60,$c9,$40,$a9,$0a,$8d,$f8,$34,$8a,$0a,$0a // ..4..`.@....4...
        .byte $0a,$8d,$f7,$34,$a2,$00,$bd,$00,$0a,$9d,$d8,$08,$e8,$e0,$08,$d0 // ...4............
        .byte $f5,$ee,$b5,$34,$d0,$03,$ee,$b6,$34,$60,$a2,$00,$bd,$25,$35,$8d // ...4....4`...%5.
        .byte $76,$33,$ee,$0b,$35,$e8,$e0,$18,$30,$0a,$a9,$2c,$8d // v3..5...0..,.

txt_351d:
        .byte $47,$34,$a9,$20,$8d,$44,$34,$60       // G4. .D4`

txt_3525:
        .text "WVUTSRQPONMLKJIH"
        .text "GFEDCBA"
        .byte $40                                   // @ character
        .text "ABCDEFGH"
        .text "IJKLMNOPQRSTUVWX"

dat_3555:
        // === Fill data (1 bytes, $3555-$3555) ===
        .byte $00                                   // .

// --- Region $3580-$3580 ---
.pc = $3580 "spr_3580"

spr_3580:
        .byte $00                                   // .
