// ============================================
// output - Part 1 of 2
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:59
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $4dff  (18176 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $2800 (10240)
// IRQ handler:  $2970 (irq_2970)
// IRQ handler:  $2cf5 (irq_2cf5)
// IRQ handler:  $29aa (irq_29aa)
// IRQ handler:  $29f1 (irq_29f1)
// IRQ handler:  $2a39 (irq_2a39)
// IRQ handler:  $2a88 (irq_2a88)
// IRQ handler:  $3438 (irq_3438)
// IRQ handler:  $3480 (irq_3480)
//
// Code: 5073 bytes, Data: 13103 bytes
// Labels: 327, Subroutines: 15
//
// Cross-references: all OK
// ============================================


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

sub_1000:
        jmp loc_101d
// Referenced by: jsr from $2973, $29ba, $2a02, $2a3f, $2ae2, $2cfb, $3449, $3490

sub_1003:
        jmp loc_1093

txt_1006:
        .text "H"

// --- Region $101d-$10c9 ---
.pc = $101d "loc_101d"

loc_101d:
        asl
        asl
        asl
        tay
        lda $1988,y
        sta $10d0
        and #$0f
        sta smc_10a2                                // SMC: modifies $10a2
        lda $1989,y
        sta smc_1098                                // SMC: modifies $1098
        eor #$0f
        sta $182a
        lda #$0f
        sta smc_10bd                                // SMC: modifies $10bd
        ldx #$00
        stx $d416
        stx smc_1094                                // SMC: modifies $1094
        stx $1823
        stx smc_10c7                                // SMC: modifies $10c7
        stx $1822
        stx $1824
        stx $d417
        stx smc_10bb                                // SMC: modifies $10bb

loc_1056:
        lda $1982,y
        sta $182d,x
        lda $1983,y
        sta $182e,x
        lda #$00
        sta $182f,x
        sta $1830,x
        sta $1831,x
        sta $186d,x
        sta $1895,x
        sta $182c,x
        sta $182b,x
        sta $186c,x
        sta $185b,x
        sta $d404,x
        lda #$ff
        sta $1898,x
        clc
        txa
        adc #$07
        tax
        iny
        iny
        cpx #$15
        bcc loc_1056
        rts

loc_1093:
.label smc_1094 = * + 1
        ldy #$00                                    // !SMC: modified by $1041, $165c
        bne loc_10dc
.label smc_1098 = * + 1
        lda #$07                                    // !SMC: modified by $102f
        sta spr_1821
        dec $1823
        bpl loc_10a6
.label smc_10a2 = * + 1
        lda #$01                                    // !SMC: modified by $1029
        sta $1823

loc_10a6:
        ldx #$00
        txa

loc_10a9:
        lsr spr_1821
        bcc loc_10dd
        jsr sub_10eb

loc_10b1:
        clc
        txa
        adc #$07
        tax
        cpx #$15
        bcc loc_10a9
.label smc_10bb = * + 1
        lda #$30                                    // !SMC: modified by $1053, $14e5
.label smc_10bd = * + 1
        ora #$0f                                    // !SMC: modified by $1039, $164b
        sta $d418
.label smc_10c2 = * + 1
        lda #$e0                                    // !SMC: modified by $14db
        sta $d416
.label smc_10c7 = * + 1
        lda #$00                                    // !SMC: modified by $1047, $1655, $1675
        beq loc_10dc

// --- Region $10dc-$1244 ---
.pc = $10dc "loc_10dc"

loc_10dc:
        rts

loc_10dd:
        lda $1824
        and $186a,x
        beq loc_10b1
        jsr sub_10eb
        jmp loc_10b1
// Referenced by: jsr from $10ae, $10e5

sub_10eb:
        lda $1823
        cmp smc_10a2
        bne loc_1117
        lda $1898,x
        bmi loc_10fe
        dec $1898,x
        jmp loc_1117

loc_10fe:
        dec $182c,x
        beq loc_1112
        bpl loc_1108
        jmp loc_162c

loc_1108:
        ldy $182b,x
        lda $1c39,y
        and #$08
        bne loc_1117

loc_1112:
        lda #$fe
        sta $186b,x

loc_1117:
        ldy $182b,x
        sty $ff
        lda $1855,x
        bne loc_1147
        sta $1894,x
        sta $1857,x
        sta $1858,x
        sta $186e,x
        sta $1883,x
        lda $1d33,y
        sta $186f,x
        lda $1ce8,y
        sta $1899,x
        lda $1d1a,y
        sta $189a,x
        lda #$01
        sta $1843,x

loc_1147:
        lda $1898,x
        bmi loc_1151
        lda #$ff
        sta $186b,x

loc_1151:
        lda $1840,x
        cmp $1841,x
        beq loc_11ac
        bcs loc_1177
        clc
        lda $1870,x
        adc $1842,x
        sta $1870,x
        lda $185b,x
        adc #$00
        sta $185b,x
        ldy $1841,x
        cmp $18b2,y
        bcc loc_11a9
        bcs loc_1191

loc_1177:
        sec
        lda $1870,x
        sbc $1842,x
        sta $1870,x
        lda $185b,x
        sbc #$00
        sta $185b,x
        ldy $1841,x
        cmp $18b2,y
        bcs loc_11a9

loc_1191:
        lda $186d,x
        and #$7f
        sta $186d,x
        tya
        sta $1840,x
        lda $1911,y
        sta $1870,x
        lda $18b2,y
        sta $185b,x

loc_11a9:
        jmp loc_136c

loc_11ac:
        ldy $ff
        lda $1d65,y
        and #$02
        beq loc_11f3
        lda $1d4c,y
        sta $fe
        and #$7f
        asl
        tay
        lda $1970,y
        sta $fc
        lda $1971,y
        sta $fd
        ldy #$00
        lda $1855,x
        cmp ($fc),y
        bcs loc_11f0
        asl
        adc #$01
        tay
        lda ($fc),y
        sta $1846,x
        iny
        lda ($fc),y
        bit $fe
        bpl loc_11e8
        clc
        ldy $1840,x
        adc $18b3,y

loc_11e8:
        sta $185b,x
        lda #$00
        sta $1870,x

loc_11f0:
        jmp loc_1399

loc_11f3:
        lda $1d65,y
        and #$b0
        bne loc_1201
        lda $1d4c,y
        sta $fc
        bne loc_1204

loc_1201:
        jmp loc_129e

loc_1204:
        lda $1855,x
        cmp $1d33,y
        bcs loc_1218
        lda $fc
        lsr
        lsr
        lsr
        lsr
        sta $1857,x
        jmp loc_136c

loc_1218:
        lda $fc
        and #$78
        lsr
        lsr
        lsr
        sta smc_1277                                // SMC: modifies $1277
        ldy $1840,x
        lda $1911,y
        sec
        sbc $1910,y
        pha
        lda $18b2,y
        sbc $18b1,y
        sta $fd
        lda $fc
        and #$07
        tay
        lda $18aa,y
        sta smc_1243                                // SMC: modifies $1243
        pla
        clv
.label smc_1243 = * + 1
        bvc loc_1259                                // !SMC: modified by $123d

dat_1244:
        .byte $46                                   // F

// --- Region $1259-$1820 ---
.pc = $1259 "loc_1259"

loc_1259:
        lsr $fd
        ror
        ldy $1858,x
        bne loc_1280
        clc
        adc $1870,x
        sta $1870,x
        lda $185b,x
        adc $fd
        sta $185b,x
        inc $1857,x
        lda $1857,x
.label smc_1277 = * + 1
        cmp #$04                                    // !SMC: modified by $121f
        bcc loc_127d
        inc $1858,x

loc_127d:
        jmp loc_136c

loc_1280:
        sta $fc
        sec
        lda $1870,x
        sbc $fc
        sta $1870,x
        lda $185b,x
        sbc $fd
        sta $185b,x
        dec $1857,x
        bne loc_127d
        dec $1858,x
        jmp loc_136c

loc_129e:
        lda $1d65,y
        bpl loc_12e8
        dec $186e,x
        bpl loc_12c5
        lda $186f,x
        sta $186e,x
        lda $186d,x
        eor #$20
        sta $186d,x
        ora $1d65,y
        and #$20
        bne loc_12c5
        lda $186f,x
        beq loc_12c5
        dec $186f,x

loc_12c5:
        ldy $1840,x
        lda $186d,x
        and #$20
        bne loc_12d9
        ldy $ff
        clc
        lda $1de2,y
        adc $1840,x
        tay

loc_12d9:
        lda $1911,y
        sta $1870,x
        lda $18b2,y
        sta $185b,x
        jmp loc_136c

loc_12e8:
        sta $fe
        and #$40
        beq loc_1325
        ldy $1882,x
        clc
        lda #$d9
        adc $197a,y
        sta $fc
        lda #$1e
        adc #$00
        sta $fd
        dec $1883,x
        bpl loc_130b
        ldy #$00
        lda ($fc),y
        sta $1883,x

loc_130b:
        ldy $1883,x
        iny
        lda ($fc),y
        clc
        adc $1840,x
        tay
        lda $1911,y
        sta $1870,x
        lda $18b2,y
        sta $185b,x
        jmp loc_136c

loc_1325:
        lda $fe
        and #$10
        beq loc_136c
        ldy $ff
        lda $1d7e,y
        sta smc_1339                                // SMC: modifies $1339
        beq loc_133e
        lda $185b,x
.label smc_1339 = * + 1
        cmp #$00                                    // !SMC: modified by $1330
        beq loc_136c
        bne loc_1351

loc_133e:
        lda $185b,x
        cmp $1de2,y
        bcs loc_1351
        ldy $1840,x
        lda $18b2,y
        sta $185b,x
        ldy $ff

loc_1351:
        sec
        lda $1870,x
        sbc $1d33,y
        sta $1870,x
        lda $185b,x
        sbc $1d4c,y
        bcs loc_1369
        ldy smc_1339
        beq loc_1369
        tya

loc_1369:
        sta $185b,x

loc_136c:
        ldy $ff
        lda $1855,x
        bne loc_1386
        lda $1c52,y
        bpl loc_138e
        lda #$81
        sta $d401,x
        sta $d404,x
        sta $18a9
        jmp loc_1399

loc_1386:
        lda $1c52,y
        and #$7f
        sta $18a9

loc_138e:
        cmp $1855,x
        bcs loc_1399
        lda $1c6b,y
        sta $1846,x

loc_1399:
        ldy $ff
        lda $1d65,y
        sta $fe
        and #$08
        beq loc_13cd
        lda $186d,x
        and #$40
        bne loc_13cd
        lda $1856,x
        cmp #$02
        bcs loc_13bb
        lda $1c9d,y
        and #$f0
        ora #$02
        bne loc_13bd

loc_13bb:
        lda #$02

loc_13bd:
        sta smc_13c9                                // SMC: modifies $13c9
        lda $182c,x
        cmp $1d7e,y
        bcs loc_13cd
.label smc_13c9 = * + 1
        lda #$02                                    // !SMC: modified by $13bd
        sta $d406,x

loc_13cd:
        ldy $ff
        lda $1d97,y
        sta $fd
        and #$7f
        bne loc_13db
        jmp loc_14ee

loc_13db:
        sec
        sbc #$01
        asl
        asl
        asl
        sta $fc
        lda $1855,x
        bne loc_1431
        lda $fd
        cmp #$80
        lda #$00
        rol
        sta $1896,x
        lda $1895,x
        bne loc_1421

loc_13f7:
        sta $1880,x
        lda #$ff
        sta $1881,x
        lda #$80
        sta $187f,x
        lda $1db0,y
        asl
        asl
        asl
        asl
        sta $1845,x
        sta smc_14d7                                // SMC: modifies $14d7
        lda $1896,x
        sta $1895,x
        lda $18a9
        bpl loc_1431

loc_141c:
        lda #$e0
        jmp loc_14db

loc_1421:
        lda $18a9
        bmi loc_141c
        lda $1896,x
        bne loc_1431
        sta $1895,x
        jmp loc_13f7

loc_1431:
        bit $fd
        bvc loc_1438
        jmp loc_14cf

loc_1438:
        ldy $fc
        dec $1880,x
        bpl loc_1496
        lda $1f0c,y
        sta $1880,x
        lda $1881,x
        cmp #$03
        bne loc_1493
        lda $1f0d,y
        beq loc_1465
        bne loc_1496

loc_1453:
        lda $1f0d,y
        bmi loc_1465
        asl
        bpl loc_1468
        asl
        sta $187f,x
        lda $1f0a,y
        sta $1845,x

loc_1465:
        jmp loc_14cf

loc_1468:
        asl
        bpl loc_1477
        sta $187f,x
        lda $1f0b,y
        sta $1845,x
        jmp loc_14cf

loc_1477:
        asl
        bpl loc_1485
        ldy $fc
        lda $1f0a,y
        sta $1845,x
        jmp loc_14cf

loc_1485:
        asl
        bpl loc_14cf
        ldy $fc
        lda $1f0b,y
        sta $1845,x
        jmp loc_14cf

loc_1493:
        inc $1881,x

loc_1496:
        lda $1881,x
        ora $fc
        tay
        lda $187f,x
        bmi loc_14ba
        clc
        lda $1845,x
        adc $1f0e,y
        sta $1845,x
        ldy $fc
        cmp $1f0b,y
        bcc loc_14cf
        lda #$80

loc_14b4:
        sta $187f,x
        jmp loc_1453

loc_14ba:
        sec
        lda $1845,x
        sbc $1f0e,y
        sta $1845,x
        ldy $fc
        cmp $1f0a,y
        bcs loc_14cf
        lda #$00
        beq loc_14b4

loc_14cf:
        lda $1845,x
        bit $fd
        bvc loc_14db
.label smc_14d7 = * + 1
        lda #$70                                    // !SMC: modified by $140e
        sta $1845,x

loc_14db:
        sta smc_10c2                                // SMC: modifies $10c2
        ldy $ff
        lda $1db0,y
        and #$f0
        sta smc_10bb                                // SMC: modifies $10bb
        lda $186a,x
        sta $1894,x

loc_14ee:
        lda $1894
        ora $189b
        ora $18a2
        ora #$f0
        sta $d417
        ldy $ff
        lda $fe
        and #$01
        bne loc_1556
        lda $1cb6,y
        bne loc_150c
        jmp loc_15da

loc_150c:
        lda $1899,x
        beq loc_1526
        dec $1899,x
        lda $1859,x
        clc
        adc $1ccf,y
        sta $1859,x
        bcc loc_1523
        inc $185a,x

loc_1523:
        jmp loc_15d1

loc_1526:
        lda $189a,x
        beq loc_1540
        dec $189a,x
        sec
        lda $1859,x
        sbc $1d01,y
        sta $1859,x
        bcs loc_153d
        dec $185a,x

loc_153d:
        jmp loc_15d1

loc_1540:
        lda $1d65,y
        and #$04
        beq loc_1553
        lda $1ce8,y
        sta $1899,x
        lda $1d1a,y
        sta $189a,x

loc_1553:
        jmp loc_15ce

loc_1556:
        lda $1ccf,y
        asl
        asl
        asl
        tay
        lda $1f52,y
        sta smc_15ad                                // SMC: modifies $15ad
        lda $1f53,y
        sta smc_15c6                                // SMC: modifies $15c6
        lda $1f54,y
        cmp $1855,x
        bcc loc_1573
        bcs loc_1587

loc_1573:
        iny
        lda $1f54,y
        cmp $1855,x
        bcc loc_157e
        bcs loc_1587

loc_157e:
        iny
        lda $1f54,y
        cmp $1855,x
        bcc loc_158d

loc_1587:
        lda $1f57,y
        jmp loc_1594

loc_158d:
        ldy $ff
        lda $1cb6,y
        and #$f0

loc_1594:
        sta $fd
        lda $1843,x
        bne loc_15b4
        lda $1859,x
        sec
        sbc $fd
        sta $1859,x
        lda $185a,x
        sbc #$00
        sta $185a,x
.label smc_15ad = * + 1
        cmp #$00                                    // !SMC: modified by $1560
        bcs loc_15ce
        lda #$01
        bne loc_15cb

loc_15b4:
        clc
        lda $1859,x
        adc $fd
        sta $1859,x
        lda $185a,x
        adc #$00
        sta $185a,x
.label smc_15c6 = * + 1
        cmp #$00                                    // !SMC: modified by $1566
        bcc loc_15ce
        lda #$00

loc_15cb:
        sta $1843,x

loc_15ce:
        lda $1859,x

loc_15d1:
        sta $d402,x
        lda $185a,x
        sta $d403,x

loc_15da:
        lda $18a9
        bmi loc_15f4
        lda $1870,x
        sta $d400,x
        lda $185b,x
        sta $d401,x
        lda $1846,x
        and $186b,x
        sta $d404,x

loc_15f4:
        lda $1855,x
        bmi loc_15fc
        inc $1855,x

loc_15fc:
        lda #$00
        sta $18a9
        rts
// Referenced by: jsr from $17b1

sub_1602:
        lda $1885,x
        bmi loc_1624
        beq loc_1616
        clc
        lda $1884,x
        adc $1de2,y
        sta $1884,x
        jmp loc_1620

loc_1616:
        clc
        lda $1884,x
        adc dat_1dc9,y
        sta $1884,x

loc_1620:
        inc $1885,x
        rts

loc_1624:
        lda $fe
        sta $1884,x
        jmp loc_1620

loc_162c:
        lda $182d,x
        sta $fc
        lda $182e,x
        sta $fd
        ldy $182f,x
        dey

loc_163a:
        iny

loc_163b:
        lda ($fc),y
        bpl loc_16a2
        cmp #$fd
        bcc loc_166f
        beq loc_166a
        and #$01
        beq loc_165a
        ldy #$0f
        sty smc_10bd                                // SMC: modifies $10bd
        lsr

loc_164f:
        sta $182f,x
        tay
        lda #$00
        sta smc_10c7                                // SMC: modifies $10c7
        beq loc_163b

loc_165a:
        ldy #$ff
        sty smc_1094                                // SMC: modifies $1094
        iny
        sty $d412
        sty $d40b
        sty $d404
        rts

loc_166a:
        iny
        lda ($fc),y
        bne loc_164f

loc_166f:
        cmp #$fc
        bcc loc_167a
        lda #$01
        sta smc_10c7                                // SMC: modifies $10c7
        bne loc_163a

loc_167a:
        cmp #$fa
        bcc loc_1685

dat_167e:
        .byte $e9,$fa,$9d,$6c,$18,$10,$b5           // ...l...

loc_1685:
        cmp #$f9
        bcc loc_168f
        iny
        lda ($fc),y
        jmp loc_101d

loc_168f:
        cmp #$b4
        bcc loc_169b
        sbc #$c0
        sta $1844,x
        jmp loc_163a

loc_169b:
        sbc #$7f
        sta $1831,x
        bpl loc_163a

loc_16a2:
        asl
        sta smc_16ab                                // SMC: modifies $16ab
        tya
        sta $182f,x
.label smc_16ab = * + 1
        ldy #$18                                    // !SMC: modified by $16a3
        lda $186c,x
        beq loc_16be
        lda $1818,y
        sta $fc
        lda $1819,y
        sta $fd
        jmp loc_16c8

loc_16be:
        lda $19af,y
        sta $fc
        lda $19b0,y
        sta $fd

loc_16c8:
        ldy $1830,x

loc_16cb:
        lda ($fc),y
        bmi loc_16de
        cmp #$60
        bcc loc_16db
        and #$1f
        sta $1882,x
        iny
        bne loc_16cb

loc_16db:
        jmp loc_1757

loc_16de:
        cmp #$a0
        bcs loc_16ef
        and #$1f
        sta $182b,x
        lda #$ff
        sta $1885,x
        iny
        bne loc_16cb

loc_16ef:
        cmp #$e0
        bcs loc_16fb

dat_16f3:
        .byte $e9,$9f,$9d,$56,$18                   // ...V.

loc_16f8:
        iny
        bne loc_16cb

loc_16fb:
        cmp #$e1
        bcs loc_172c
        lda $186d,x
        ora #$80
        sta $186d,x
        iny
        lda ($fc),y
        sta $fe
        and #$7f
        clc
        adc $1844,x
        sta $1841,x
        iny
        lda ($fc),y
        sta $1842,x
        bit $fe
        bmi loc_173f
        iny
        lda ($fc),y
        clc
        adc $1844,x
        sta $1840,x
        iny
        bne loc_176a

loc_172c:
        cmp #$e2
        bcs loc_1747
        iny
        lda ($fc),y
        bpl loc_173c
        and #$7f
        sta $1898,x
        bpl loc_16f8

loc_173c:
        sta $1856,x

loc_173f:
        iny
        tya
        sta $1830,x
        jmp loc_17e7

loc_1747:
        asl
        asl
        asl
        asl
        asl
        clc
        adc $182b,x
        sta $182b,x
        iny
        jmp loc_16cb

loc_1757:
        clc
        adc $1844,x
        sta $1840,x
        sta $1841,x
        lda $186d,x
        and #$7f
        sta $186d,x
        iny

loc_176a:
        tya
        sta $1830,x
        lda $186d,x
        and #$80
        sta $186d,x
        ldy $182b,x
        lda $1cb6,y
        and #$0f
        sta $d403,x
        sta $185a,x
        lda $1d65,y
        and #$01
        bne loc_1797
        lda $1cb6,y
        and #$f0
        sta $1859,x
        lda #$00
        beq loc_179b

loc_1797:
        lsr
        sta $1859,x

loc_179b:
        sta $1855,x
        sta $d402,x
        lda $1c84,y
        sta $d405,x
        lda $1c9d,y
        sta $fe
        lda dat_1dc9,y
        beq loc_17bd
        jsr sub_1602
        lda $1884,x
        sta $d406,x
        jmp loc_17c2

loc_17bd:
        lda $fe
        sta $d406,x

loc_17c2:
        lda #$ff
        sta $186b,x
        lda $1c39,y
        and #$f7
        sta $d404,x
        sta $1846,x
        ldy $1840,x
        lda $1911,y
        sta $d400,x
        sta $1870,x
        lda $18b2,y
        sta $d401,x
        sta $185b,x

loc_17e7:
        lda $1856,x
        sta $182c,x
        ldy $1830,x
        lda ($fc),y
        cmp #$e1
        bne loc_17fe
        lda $186d,x
        ora #$40
        sta $186d,x

loc_17fe:
        lda ($fc),y
        bne loc_1813
        sta $1830,x
        lda $1831,x
        beq loc_180f
        dec $1831,x
        bpl loc_1812

loc_180f:
        inc $182f,x

loc_1812:
        rts

loc_1813:
        cmp #$ff
        bne loc_1812
        lda $1824
        and $1897,x
        sta $1824
        rts

// --- Region $1943-$194f ---
.pc = $1943 "Segment $1943"
        .byte $89,$b2                               // nop #$b2 // ILLEGAL
        sbc $9d3b
        .byte $14,$a0                               // nop $a0,x // ILLEGAL
        eor $03
        .byte $db,$cf,$e1                           // dcp $e1cf,y // ILLEGAL
        .byte $12                                   // jam // ILLEGAL

// --- Region $2020-$2024 ---
.pc = $2020 "sub_2020"

sub_2020:
        bmi loc_2042
        bit $60
        rti

// --- Region $2042-$2048 ---
.pc = $2042 "loc_2042"

loc_2042:
        php
        .byte $0c,$04,$04                           // nop $0404 // ILLEGAL
        asl $02
        .byte $02                                   // jam // ILLEGAL

// --- Region $2800-$2fde ---
.pc = $2800 "main_2800"

main_2800:
        sei
        ldx #$00
        stx $d020
        stx $d021
        stx $48
        stx $49
        stx $4c
        stx $d011
        stx chr_0800
        stx $4d
        lda #$00
        ldy #$0a
        sta smc_341b                                // SMC: modifies $341b
        sty smc_341c                                // SMC: modifies $341c
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
        lda #$1e
        sta bmp_33ed
        lda #$03
        sta $33ee
        lda #$ff
        sta $4b01
        sta dat_4a01
        ldx #$00

loc_283d:
        lda #$00
        sta chr_2000,x
        sta $2100,x
        sta $2200,x
        sta $2300,x
        sta scr_2400,x
        sta $2500,x
        sta $2600,x
        sta $2700,x
        lda #$0f
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $dae8,x
        lda $4000,x
        sta $0400,x
        sta $04a0,x
        sta $0540,x
        sta $05e0,x
        sta $0680,x
        inx
        bne loc_283d

loc_287a:
        lda $4000,x
        sta $0720,x
        inx
        cpx #$c8
        bne loc_287a
        ldx #$00

loc_2887:
        lda $3117,x
        sta $3107,x
        lda #$01
        sta $dbc0,x
        sta $dbd0,x
        sta $dbd8,x
        lda #$20
        sta $07c0,x
        sta $07d0,x
        sta $07d8,x
        inx
        cpx #$10
        bne loc_2887
        lda #$18
        sta $d018
        lda #$08
        sta $d016
        lda #$fb
        sta $d012
        lda #$70
        ldx #$29
        sta $0314
        stx $0315
        lda #$01
        sta $d01a
        sta $dc0d
        jsr sub_3127
        jsr sub_3255
        lda #$00
        jsr sub_1000
        lda #$00
        sta $d010
        sta $d017
        sta $d01d
        sta $d01c
        ldx #$00

loc_28e4:
        sta $d000,x
        inx
        cpx #$10
        bne loc_28e4
        lda #$ff
        sta $d015
        ldx #$38
        stx $07f9
        inx
        stx $07fa
        inx
        stx $07fb
        inx
        stx $07fc
        inx
        stx $07fd
        inx
        stx $07fe
        inx
        stx $07ff
        lda #$01
        sta $d027
        lda #$0b
        sta $d028
        sta $d029
        sta $d02a
        sta $d02b
        sta $d02c
        sta $d02d
        sta $d02e
        lda #$1b
        sta $d011
        cli

loc_2930:
        lda $0314
        cmp #$88
        bne loc_2930
        lda $0315
        cmp #$2a
        bne loc_2930

loc_293e:
        lda $dc01
        cmp #$ef
        bne loc_293e
        sei
        lda #$f5
        ldx #$2c
        sta $0314
        stx $0315
        lda #$fb
        sta $d012
        ldx #$00
        stx $d015
        lda #$20

loc_295c:
        sta $07c0,x
        inx
        cpx #$28
        bne loc_295c
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
        cli
        jmp loc_293e
irq_2970: {
        inc $d019
        jsr sub_1003
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne skip
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne skip
        lda #$aa
        ldx #$29
        sta $0314
        stx $0315
        lda #$fb
        sta $d012
        lda #$1b
        sta $d011
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
skip:
        lda $dc0d
        jmp $ea81
}
irq_29aa: {
        inc $d019
        lda #$00
        ldy #$7f
loop:
        sta chr_2000,y
        dey
        bpl loop
        jsr sub_2dee
        jsr sub_1003
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne skip
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne skip
        lda #$f1
        ldx #$29
        sta $0314
        stx $0315
        lda #$fb
        sta $d012
        lda #$1b
        sta $d011
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
skip:
        lda $dc0d
        jmp $ea81
}
irq_29f1: {
        inc $d019
        ldy #$7f
loop:
        lda $4c00,y
        sta chr_2000,y
        dey
        bpl loop
        jsr sub_2dee
        jsr sub_1003
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne skip
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne skip
        lda #$39
        ldx #$2a
        sta $0314
        stx $0315
        lda #$fb
        sta $d012
        lda #$1b
        sta $d011
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
skip:
        lda $dc0d
        jmp $ea81
}
irq_2a39: {
        inc $d019
        jsr sub_2d8f
        jsr sub_1003
        lda $48
        clc
        adc #$01
        sta $48
        lda $49
        clc
        adc #$01
        sta $49
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne skip
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne skip
        lda bmp_33ed
        sta $4b01
        lda $33ee
        sta dat_4a01
        lda #$88
        ldx #$2a
        sta $0314
        stx $0315
        lda #$f0
        sta $d012
        lda #$1b
        sta $d011
skip:
        lda $dc0d
        jmp $ea81
}
irq_2a88: {
        inc $d019
        lda #$7b
        sta $d011
        lda #$12
        sta $d018
        lda $4d
        sta $d016
        ldx #$0d
loop1:
        dex
        bne loop1
        nop
        lda #$1b
        sta $d011
        jsr sub_2d8f
        ldy #$00
        ldx $4c
        jsr sub_2d49
        lda #$34
        sta $d003
        sta $d005
        sta $d007
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        lda #$32
        sta $d001
        ldx $4c
        lda tbl_4d80,x
        sta $d000
        lda #$3f
        sta $07f8
        lda #$18
        sta $d018
        lda #$08
        sta $d016
        jsr sub_1003
        lda #$47
        jsr sub_2d40
        lda $4c
        clc
        adc #$04
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$4b
        ldy #$4e
loop2:
        cmp $d012
        bne loop2
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$10
        and #$7f
        tax
        jsr sub_2d49
        lda #$5c
        jsr sub_2d40
        lda $4c
        clc
        adc #$08
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$64
        ldy #$67
loop3:
        cmp $d012
        bne loop3
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$20
        and #$7f
        tax
        jsr sub_2d49
        lda #$71
        jsr sub_2d40
        lda $4c
        clc
        adc #$0c
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$7d
        ldy #$80
loop4:
        cmp $d012
        bne loop4
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$30
        and #$7f
        tax
        jsr sub_2d49
        lda #$86
        jsr sub_2d40
        lda $4c
        clc
        adc #$10
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        jsr sub_3400
        lda #$96
        ldy #$99
loop5:
        cmp $d012
        bne loop5
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$40
        and #$7f
        tax
        jsr sub_2d49
        lda #$9a
loop6:
        cmp $d012
        bne loop6
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        lda #$9b
        sta $d001
        lda $4c
        clc
        adc #$14
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$af
        ldy #$b2
loop7:
        cmp $d012
        bne loop7
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$50
        and #$7f
        tax
        lda #$b0
        sta $d001
        jsr sub_2d49
        lda $4c
        clc
        adc #$18
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$c5
        jsr sub_2d40
        lda $4c
        clc
        adc #$1c
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$c8
        ldy #$cb
loop8:
        cmp $d012
        bne loop8
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$60
        and #$7f
        tax
        jsr sub_2d49
        lda #$da
        jsr sub_2d40
        lda $4c
        clc
        adc #$20
        and #$7f
        tax
        lda tbl_4d80,x
        sta $d000
        lda #$e1
        ldy #$e4
loop9:
        cmp $d012
        bne loop9
        sty $d003
        sty $d005
        sty $d007
        sty $d009
        sty $d00b
        sty $d00d
        sty $d00f
        ldy #$00
        lda $4c
        clc
        adc #$70
        and #$7f
        tax
        jsr sub_2d49
        lda $4d
        cmp #$06
        bne skip1
        jsr sub_341a
skip1:
        lda $dc00
        and #$10
        beq skip2
        lda $48
        clc
        adc #$01
        sta $48
        lda $49
        clc
        adc #$01
        sta $49
skip2:
        lda $4c
        clc
        adc #$01
        and #$7f
        sta $4c
        lda #$f0
        sta $d012
        inc $d019
        lda $dc0d
        jmp $ea81
}
irq_2cf5: {
        inc $d019
        jsr sub_2d8f
        jsr sub_1003
        lda $48
        clc
        adc #$01
        sta $48
        lda $49
        clc
        adc #$01
        sta $49
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne skip
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne skip
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
        lda #$38
        ldx #$34
        sta $0314
        stx $0315
        lda #$fb
        sta $d012
        lda #$1b
        sta $d011
skip:
        lda $dc0d
        jmp $ea81
}
// Referenced by: jsr from $2ae7, $2b25, $2b63, $2ba1, $2c46, $2c84; branch from $2d43

sub_2d40:
        cmp $d012
        bne sub_2d40
        sta $d001
        rts

// Referenced by: jsr from $2aac, $2b20, $2b5e, $2b9c, $2bdd, $2c33, $2c7f, $2cbd
sub_2d49: {
        lda dat_4d00,x
        sta $d002
        clc
        adc #$18
        sta $d004
        bcc skip1
        ldy #$fc
skip1:
        clc
        adc #$18
        sta $d006
        bcc skip2
        ldy #$f8
skip2:
        clc
        adc #$18
        sta $d008
        bcc skip3
        ldy #$f0
skip3:
        clc
        adc #$18
        sta $d00a
        bcc skip4
        ldy #$e0
skip4:
        clc
        adc #$18
        sta $d00c
        bcc skip5
        ldy #$c0
skip5:
        clc
        adc #$18
        sta $d00e
        bcc done
        ldy #$80
done:
        sty $d010
        rts
}
// Referenced by: jsr from $2a3c, $2aa5, $2cf8

sub_2d8f:
        ldy #$7f

loc_2d91:
        lda $4c00,y
        sta chr_2000,y
        dey
        bpl loc_2d91
        jsr sub_2dee
        jsr sub_3384
        ldx #$00
        ldy $48
        lda $4a00,y
        cmp #$ff
        bne loc_2db2
        ldy #$00
        sty $48
        lda $4a00,y

loc_2db2:
        tay

loc_2db3:
.label smc_2db4 = * + 1
.label smc_2db5 = * + 2
        lda $4340,x                                 // !SMC: modified by $339c, $33bd
        ora chr_2000,y
.label smc_2dba = * + 1
.label smc_2dbb = * + 2
        and $43c0,x                                 // !SMC: modified by $33a8, $33c2
        sta chr_2000,y
.label smc_2dc0 = * + 1
.label smc_2dc1 = * + 2
        lda $4360,x                                 // !SMC: modified by $339f, $33ca
        ora sub_2020,y
.label smc_2dc6 = * + 1
.label smc_2dc7 = * + 2
        and $43e0,x                                 // !SMC: modified by $33ab, $33cf
        sta sub_2020,y
.label smc_2dcc = * + 1
.label smc_2dcd = * + 2
        lda $4300,x                                 // !SMC: modified by $33a2, $33d7
        ora $2040,y
.label smc_2dd2 = * + 1
.label smc_2dd3 = * + 2
        and $4380,x                                 // !SMC: modified by $33ae, $33dc
        sta $2040,y
.label smc_2dd8 = * + 1
.label smc_2dd9 = * + 2
        lda $4320,x                                 // !SMC: modified by $33a5, $33e4
        ora $2060,y
.label smc_2dde = * + 1
.label smc_2ddf = * + 2
        and $43a0,x                                 // !SMC: modified by $33b1, $33e9
        sta $2060,y
        iny
        tya
        and #$1f
        tay
        inx
        cpx #$20
        bne loc_2db3
        rts

// Referenced by: jsr from $29b7, $29ff, $2d9a, $3446, $348d
sub_2dee: {
        ldx $3107
        lda $301f,x
        ldy #$00
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3107
        dex
        bpl skip1
        ldx $30f7
skip1:
        stx $3107
        ldx $3108
        lda $305f,x
        ldy #$17
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3108
        dex
        bpl skip2
        ldx $30f8
skip2:
        stx $3108
        ldx $3109
        lda $308f,x
        ldy #$05
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3109
        dex
        bpl skip3
        ldx $30f9
skip3:
        stx $3109
        ldx $310a
        lda $30af,x
        ldy #$11
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $310a
        dex
        bpl skip4
        ldx $30fa
skip4:
        stx $310a
        ldx $310b
        lda $30c7,x
        ldy #$0d
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $310b
        dex
        bpl skip5
        ldx $30fb
skip5:
        stx $310b
        ldx $310c
        lda $30d7,x
        ldy #$1b
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $310c
        dex
        bpl skip6
        ldx $30fc
skip6:
        stx $310c
        ldx $310d
        lda $30e4,x
        ldy #$09
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $310d
        dex
        bpl skip7
        ldx $30fd
skip7:
        stx $310d
        ldx $310e
        lda $30ef,x
        ldy #$13
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $310e
        dex
        bpl skip8
        ldx $30fe
skip8:
        stx $310e
        ldx $310f
        lda $301f,x
        ldy #$0f
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $310f
        dex
        bpl skip9
        ldx $30ff
skip9:
        stx $310f
        ldx $3110
        lda $305f,x
        ldy #$04
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3110
        dex
        bpl skip10
        ldx $3100
skip10:
        stx $3110
        ldx $3111
        lda $308f,x
        ldy #$1e
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3111
        dex
        bpl skip11
        ldx $3101
skip11:
        stx $3111
        ldx $3112
        lda $30af,x
        ldy #$0b
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3112
        dex
        bpl skip12
        ldx $3102
skip12:
        stx $3112
        ldx $3113
        lda $30c7,x
        ldy #$19
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3113
        dex
        bpl skip13
        ldx $3103
skip13:
        stx $3113
        ldx $3114
        lda $30d7,x
        ldy #$02
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3114
        dex
        bpl skip14
        ldx $3104
skip14:
        stx $3114
        ldx $3115
        lda $30e4,x
        ldy #$15
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3115
        dex
        bpl skip15
        ldx $3105
skip15:
        stx $3115
        ldx $3116
        lda $30ef,x
        ldy #$07
        tax
        jsr sub_2fcf
        ora chr_2000,y
        sta chr_2000,y
        ldx $3116
        dex
        bpl done
        ldx $3106
done:
        stx $3116
        rts
}
// Referenced by: jsr from $2df7, $2e15, $2e33, $2e51, $2e6f, $2e8d, $2eab, $2ec9

sub_2fcf:
        sty scr_2fde
        lda $2fdf,x
        clc
        adc scr_2fde
        tay
        lda $2fff,x
        rts

scr_2fde:
        // === Bitmap data (1 bytes, $2fde-$2fde) ===
        .byte $07                                   // .

// --- Region $3127-$33ed ---
.pc = $3127 "sub_3127"
// Referenced by: jsr from $28c9

sub_3127:
        ldx #$7f

loc_3129:
        lda $4100,x
        sta dat_4200,x
        dex
        bpl loc_3129
        ldx #$00

loc_3134:
        lda dat_4200,x
        sta $4300,x
        lda $4220,x
        sta $4320,x
        lda $4240,x
        sta $4340,x
        lda $4260,x
        sta $4360,x
        lda $4300,x
        rol
        rol $4360,x
        rol $4340,x
        rol $4320,x
        rol $4300,x
        lda $4300,x
        sta $4400,x
        lda $4320,x
        sta $4420,x
        lda $4340,x
        sta $4440,x
        lda $4360,x
        sta $4460,x
        lda $4400,x
        rol
        rol $4460,x
        rol $4440,x
        rol $4420,x
        rol $4400,x
        lda $4400,x
        sta $4500,x
        lda $4420,x
        sta $4520,x
        lda $4440,x
        sta $4540,x
        lda $4460,x
        sta $4560,x
        lda $4500,x
        rol
        rol $4560,x
        rol $4540,x
        rol $4520,x
        rol $4500,x
        lda $4500,x
        sta $4600,x
        lda $4520,x
        sta $4620,x
        lda $4540,x
        sta $4640,x
        lda $4560,x
        sta $4660,x
        lda $4600,x
        rol
        rol $4660,x
        rol $4640,x
        rol $4620,x
        rol $4600,x
        lda $4600,x
        sta $4700,x
        lda $4620,x
        sta $4720,x
        lda $4640,x
        sta $4740,x
        lda $4660,x
        sta $4760,x
        lda $4700,x
        rol
        rol $4760,x
        rol $4740,x
        rol $4720,x
        rol $4700,x
        lda $4700,x
        sta $4800,x
        lda $4720,x
        sta $4820,x
        lda $4740,x
        sta $4840,x
        lda $4760,x
        sta $4860,x
        lda $4800,x
        rol
        rol $4860,x
        rol $4840,x
        rol $4820,x
        rol $4800,x
        lda $4800,x
        sta $4900,x
        lda $4820,x
        sta $4920,x
        lda $4840,x
        sta $4940,x
        lda $4860,x
        sta $4960,x
        lda $4900,x
        rol
        rol $4960,x
        rol $4940,x
        rol $4920,x
        rol $4900,x
        inx
        cpx #$20
        beq bmp_3254
        jmp loc_3134

bmp_3254:
        // === Bitmap data (1 bytes, $3254-$3254) ===
        .byte $60                                   // `
// Referenced by: jsr from $28cc

sub_3255:
        ldx #$7f

loc_3257:
        lda $4180,x
        sta $4280,x
        dex
        bpl loc_3257
        ldx #$00

loc_3262:
        lda $4280,x
        sta $4380,x
        lda $42a0,x
        sta $43a0,x
        lda $42c0,x
        sta $43c0,x
        lda $42e0,x
        sta $43e0,x
        lda $4380,x
        rol
        rol $43e0,x
        rol $43c0,x
        rol $43a0,x
        rol $4380,x
        lda $4380,x
        sta $4480,x
        lda $43a0,x
        sta $44a0,x
        lda $43c0,x
        sta $44c0,x
        lda $43e0,x
        sta $44e0,x
        lda $4480,x
        rol
        rol $44e0,x
        rol $44c0,x
        rol $44a0,x
        rol $4480,x
        lda $4480,x
        sta $4580,x
        lda $44a0,x
        sta $45a0,x
        lda $44c0,x
        sta $45c0,x
        lda $44e0,x
        sta $45e0,x
        lda $4580,x
        rol
        rol $45e0,x
        rol $45c0,x
        rol $45a0,x
        rol $4580,x
        lda $4580,x
        sta $4680,x
        lda $45a0,x
        sta $46a0,x
        lda $45c0,x
        sta $46c0,x
        lda $45e0,x
        sta $46e0,x
        lda $4680,x
        rol
        rol $46e0,x
        rol $46c0,x
        rol $46a0,x
        rol $4680,x
        lda $4680,x
        sta $4780,x
        lda $46a0,x
        sta $47a0,x
        lda $46c0,x
        sta $47c0,x
        lda $46e0,x
        sta $47e0,x
        lda $4780,x
        rol
        rol $47e0,x
        rol $47c0,x
        rol $47a0,x
        rol $4780,x
        lda $4780,x
        sta $4880,x
        lda $47a0,x
        sta $48a0,x
        lda $47c0,x
        sta $48c0,x
        lda $47e0,x
        sta $48e0,x
        lda $4880,x
        rol
        rol $48e0,x
        rol $48c0,x
        rol $48a0,x
        rol $4880,x
        lda $4880,x
        sta $4980,x
        lda $48a0,x
        sta $49a0,x
        lda $48c0,x
        sta $49c0,x
        lda $48e0,x
        sta $49e0,x
        lda $4980,x
        rol
        rol $49e0,x
        rol $49c0,x
        rol $49a0,x
        rol $4980,x
        inx
        cpx #$20
        beq bmp_3382
        jmp loc_3262

bmp_3382:
        // === Bitmap data (2 bytes, $3382-$3383) ===
        .byte $60,$12                               // `.
// Referenced by: jsr from $2d9d

sub_3384:
        ldy $49
        lda $4b00,y
        cmp #$ff
        bne loc_3394
        ldy #$00
        sty $49
        lda $4b00,y

loc_3394:
        sta $3383
        and #$07
        clc
        adc #$41
        sta smc_2db5                                // SMC: modifies $2db5
        sta smc_2dc1                                // SMC: modifies $2dc1
        sta smc_2dcd                                // SMC: modifies $2dcd
        sta smc_2dd9                                // SMC: modifies $2dd9
        sta smc_2dbb                                // SMC: modifies $2dbb
        sta smc_2dc7                                // SMC: modifies $2dc7
        sta smc_2dd3                                // SMC: modifies $2dd3
        sta smc_2ddf                                // SMC: modifies $2ddf
        lda $3383
        and #$f8
        asl
        asl
        and #$70
        sta smc_2db4                                // SMC: modifies $2db4
        ora #$80
        sta smc_2dba                                // SMC: modifies $2dba
        clc
        adc #$20
        and #$70
        sta smc_2dc0                                // SMC: modifies $2dc0
        ora #$80
        sta smc_2dc6                                // SMC: modifies $2dc6
        clc
        adc #$20
        and #$70
        sta smc_2dcc                                // SMC: modifies $2dcc
        ora #$80
        sta smc_2dd2                                // SMC: modifies $2dd2
        clc
        adc #$20
        and #$70
        sta smc_2dd8                                // SMC: modifies $2dd8
        ora #$80
        sta smc_2dde                                // SMC: modifies $2dde
        rts

bmp_33ed:
        // === Bitmap data (1 bytes, $33ed-$33ed) ===
        .byte $1e                                   // .

// --- Region $3400-$353f ---
.pc = $3400 "sub_3400"

// Referenced by: jsr from $2bb2
sub_3400: {
        lda $4d
        sec
        sbc #$02
        bmi skip
        sta $4d
        rts
skip:
        and #$07
        sta $4d
        ldx #$d8
loop:
        lda $06e9,x
        sta $06e8,x
        inx
        bne loop
        rts
}
// Referenced by: jsr from $2cc6; jmp from $3429

sub_341a:
.label smc_341b = * + 1
.label smc_341c = * + 2
        lda $0a47                                   // !SMC: modified by $281b, $281e, $3423, $3426
        bne loc_342c
        lda #$00
        ldx #$0a
        sta smc_341b                                // SMC: modifies $341b
        stx smc_341c                                // SMC: modifies $341c
        jmp sub_341a

loc_342c:
        sta $07e7
        inc smc_341b
        bne loc_3437
        inc smc_341c

loc_3437:
        rts
irq_3438: {
        inc $d019
        ldy #$7f
loop:
        lda $4c00,y
        sta chr_2000,y
        dey
        bpl loop
        jsr sub_2dee
        jsr sub_1003
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne skip
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne skip
        lda #$80
        ldx #$34
        sta $0314
        stx $0315
        lda #$fb
        sta $d012
        lda #$1b
        sta $d011
        lda #$01
        ldy #$c0
        sta $4a
        sty $4b
skip:
        lda $dc0d
        jmp $ea81
}

irq_3480:
        inc $d019
        lda #$00
        ldy #$7f

loc_3487:
        sta chr_2000,y
        dey
        bpl loc_3487
        jsr sub_2dee
        jsr sub_1003
        lda $4b
        sec
        sbc #$01
        sta $4b
        bne loc_34a8
        lda $4a
        sec
        sbc #$01
        sta $4a
        bne loc_34a8
        jmp loc_34b0

loc_34a8:
        lda $dc0d
        jmp $ea81

bmp_34ae:
        // === Bitmap data (2 bytes, $34ae-$34af) ===
        .byte $00,$00                               // ..

loc_34b0:
        sei
        lda #$00
        sta $d418
        lda $0330
        ldx $0331
        sta bmp_34ae
        stx $34af
        ldx #$00
        stx $d011
        stx $d020
        lda #$15
        sta $d018
        lda #$c8
        sta $d016
        lda #$03
        sta $dd00
        lda #$20

loc_34db:
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $06e8,x
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $dae8,x
        inx
        bne loc_34db
        lda #$fb

loc_34f8:
        cmp $d012
        bne loc_34f8
        jsr $fda3
        ldx #$00
        stx $d020
        stx $d011
        lda #$fb

loc_350a:
        cmp $d012
        bne loc_350a
        jsr $fd15
        ldx #$00
        stx $d020
        stx $d011
        lda #$fb

loc_351c:
        cmp $d012
        bne loc_351c
        jsr $ff5b
        ldx #$00
        stx $d020
        stx $d021
        stx $d011
        lda bmp_34ae
        sta $0330
        lda $34af
        sta $0331
        cli
        jmp loc_3600

bmp_353f:
        // === Bitmap data (1 bytes, $353f-$353f) ===
        .byte $00                                   // .

// --- Region $3600-$3602 ---
.pc = $3600 "loc_3600"

loc_3600:
        jmp $fce2

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

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

// --- Region $0800-$08ee ---
.pc = $0800 "chr_0800"

chr_0800:
        // === Charset data (239 bytes, $0800-$08ee) ===
        .byte $46,$00,$00,$00,$00,$00,$00,$00       // char 0 @+0
        .byte $e0,$70,$78,$6c,$66,$7e,$67,$e0       // char 1 @+1
        .byte $00,$fc,$66,$7c,$66,$63,$43,$fe       // char 2 @+2
        .byte $3e,$77,$e7,$c0,$c0,$c7,$ce,$fc       // char 3 @+3
        .byte $00,$fc,$4e,$63,$63,$63,$4f,$fe       // char 4 @+4
        .byte $00,$fc,$44,$70,$60,$62,$fe,$00       // char 5 @+5
        .byte $00,$fe,$62,$70,$60,$60,$f0,$00       // char 6 @+6
        .byte $3c,$76,$e2,$c0,$c0,$cf,$e6,$7c       // char 7 @+7
        .byte $e0,$6f,$6c,$7c,$6c,$6c,$ec,$0e       // char 8 @+8
        .byte $7e,$5a,$18,$18,$18,$5a,$7e,$00       // char 9 @+9
        .byte $7e,$18,$0c,$0c,$c6,$66,$3e,$00       // char 10 @+10
        .byte $e0,$66,$6c,$78,$78,$6c,$e6,$03       // char 11 @+11
        .byte $f0,$60,$60,$60,$66,$63,$fe,$00       // char 12 @+12
        .byte $e0,$66,$7e,$7e,$66,$66,$e6,$07       // char 13 @+13
        .byte $e0,$66,$76,$7e,$6e,$66,$e6,$07       // char 14 @+14
        .byte $00,$7e,$46,$66,$66,$66,$7e,$00       // char 15 @+15
        .byte $00,$fc,$46,$66,$7c,$60,$60,$e0       // char 16 @+16
        .byte $00,$7e,$46,$66,$66,$60,$76,$00       // char 17 @+17
        .byte $00,$fc,$46,$66,$7c,$6c,$e6,$03       // char 18 @+18
        .byte $00,$7e,$62,$78,$3c,$9e,$86,$fe       // char 19 @+19
        .byte $fe,$b2,$b0,$30,$30,$30,$38,$60       // char 20 @+20
        .byte $00,$e0,$67,$66,$66,$66,$7e,$00       // char 21 @+21
        .byte $66,$66,$66,$66,$66,$3c,$18,$00       // char 22 @+22
        .byte $e0,$66,$66,$66,$7e,$7e,$66,$00       // char 23 @+23
        .byte $e0,$67,$36,$1c,$38,$6c,$e6,$07       // char 24 @+24
        .byte $c3,$e7,$66,$3c,$18,$18,$d8,$70       // char 25 @+25
        .byte $00,$fe,$8c,$18,$30,$62,$fe,$00       // char 26 @+26
        .byte $00                                   // char 27 (partial)

txt_08d9:
        .byte $3c,$30,$30,$30,$30,$3c,$00           // char 27 (partial)
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 28 @+28
        .byte $00,$3c,$0c,$0c,$0c,$0c,$3c           // char 29 (partial)

// --- Region $0909-$090f ---
.pc = $0909 "dat_0909"

dat_0909:
        .byte $18,$18,$18,$18,$00,$18               // char 33 (partial)

dat_090f:
        // === Fill data (1 bytes, $090f-$090f) ===
        .byte $00                                   // .

// --- Region $0938-$09cf ---
.pc = $0938 "dat_0938"

dat_0938:
        .byte $06,$0c,$18,$00,$00,$00,$00,$00       // char 39 '''
        .byte $00,$0c,$18,$30,$30,$18,$0c,$00       // char 40 '('
        .byte $00,$30,$18,$0c,$0c,$18,$30,$00       // char 41 ')'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 42 '*'
        .byte $00,$00,$18,$7e,$18,$00,$00,$00       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$18,$30,$00       // char 44 ','
        .byte $00,$00,$00,$7c,$00,$00,$00,$00       // char 45 '-'
        .byte $00,$00,$00,$00,$00,$18,$18,$00       // char 46 '.'
        .byte $00,$03,$06,$0c,$18,$30,$60,$00       // char 47 '/'

spr_0980:
        .byte $00,$7e,$46,$6e,$76,$66,$7e,$00       // char 48 '0'
        .byte $00,$18,$18,$18,$18,$18,$18,$00       // char 49 '1'
        .byte $00,$3c,$66,$0c,$30,$60,$7e,$00       // char 50 '2'
        .byte $00,$3c,$66,$0c,$06,$66,$7c,$00       // char 51 '3'
        .byte $00,$1c,$3c,$6c,$cc,$fe,$0c,$00       // char 52 '4'
        .byte $7e,$60,$7c,$06,$66,$66,$3c,$00       // char 53 '5'
        .byte $00,$3e,$60,$7c,$66,$66,$3c,$00       // char 54 '6'
        .byte $00,$7e,$66,$0c,$18,$18,$18,$00       // char 55 '7'
        .byte $00,$3c,$66,$3c,$66,$66,$3c,$00       // char 56 '8'
        .byte $00,$3c,$66,$3e,$06,$66,$3c           // char 57 (partial)

dat_09cf:
        // === Fill data (1 bytes, $09cf-$09cf) ===
        .byte $00                                   // .

// --- Region $09f8-$0c00 ---
.pc = $09f8 "dat_09f8"

dat_09f8:
        .byte $3e,$66,$66,$0c,$18,$00,$18,$00       // char 63 '?'
        .byte $20,$20,$20,$14,$08,$09,$13,$20       // char 64 '@'
        .byte $07,$01,$0d,$05,$20,$03,$01,$0c       // char 65 'A'
        .byte $0c,$05,$04,$20,$2d,$07,$15,$0e       // char 66 'B'
        .byte $13,$27,$0e,$20,$12,$0f,$13,$05       // char 67 'C'
        .byte $13,$2d,$20,$17,$01,$13,$20,$12       // char 68 'D'
        .byte $05,$0c,$05,$01,$13,$05,$04,$20       // char 69 'E'
        .byte $09,$0e,$20,$05,$0e,$04,$20,$0f       // char 70 'F'
        .byte $06,$20,$0e,$0f,$16,$05,$0d,$02       // char 71 'G'

spr_0a40:
        .byte $05,$12,$20,$02,$19,$20,$14,$08       // char 72 'H'
        .byte $05,$20,$16,$01,$12,$13,$09,$14       // char 73 'I'
        .byte $19,$27,$05,$12,$13,$2e,$20,$14       // char 74 'J'
        .byte $08,$09,$13,$20,$07,$01,$0d,$05       // char 75 'K'
        .byte $20,$17,$01,$13,$20,$06,$0f,$15       // char 76 'L'
        .byte $0e,$04,$20,$0f,$0e,$20,$01,$20       // char 77 'M'
        .byte $04,$09,$13,$0b,$0d,$01,$07,$20       // char 78 'N'
        .byte $03,$01,$0c,$0c,$05,$04,$20,$03       // char 79 'O'
        .byte $0f,$0d,$0c,$09,$16,$05               // char 80 (partial)

txt_0a86:
        .byte $20,$36                               // char 80 (partial)
        .byte $34,$2e,$20,$09,$14,$27,$13,$20       // char 81 'Q'
        .byte $0e,$0f,$14,$08,$09,$0e,$07,$20       // char 82 'R'
        .byte $0d,$0f,$12,$05,$20,$14,$08,$01       // char 83 'S'
        .byte $0e,$20,$01,$20,$02,$09,$07,$20       // char 84 'T'
        .byte $13,$08,$09,$14,$20,$13,$0f,$20       // char 85 'U'
        .byte $08,$05,$12,$05,$20,$01,$12,$05       // char 86 'V'
        .byte $20,$0f,$15,$12,$20,$12,$05,$07       // char 87 'W'
        .byte $01,$12,$04,$13,$20,$14,$0f,$20       // char 88 'X'
        .byte $14,$27,$10,$01,$15,$2c,$12,$13       // char 89 'Y'
        .byte $09,$2c,$01,$12,$03,$01,$04,$05       // char 90 'Z'
        .byte $2c,$18,$2d,$12,$01,$14,$05,$04       // char 91 '['
        .byte $20,$01,$0e,$04,$20,$14,$08,$05       // char 92 '\'
        .byte $20,$12,$05,$13,$14,$2e,$20,$05       // char 93 ']'
        .byte $18                                   // char 94 (partial)

txt_0af1:
        .byte $2e,$20,$20,$20,$20,$20,$20           // char 94 (partial)
        .byte $20,$20,$20,$20,$20,$20,$00           // char 95 (partial)

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

scr_0c00:
        .byte $00                                   // .

// --- Region $0d80-$0d80 ---
.pc = $0d80 "spr_0d80"

spr_0d80:
        .byte $00                                   // .

// --- Region $0e02-$0fff ---
.pc = $0e02 "dat_0e02"

dat_0e02:
        .byte $78,$00,$00,$f8,$0e,$01               // char 192 (partial)
        .byte $fc,$3f,$01,$fc,$3f,$81,$fc,$7f       // char 193
        .byte $81,$fe,$7f,$81,$fe,$7f,$01,$fe       // char 194
        .byte $7f,$01,$fe,$7f,$00,$fe,$7e,$00       // char 195
        .byte $fc,$7f,$01,$fc,$7f,$83,$fc,$7f       // char 196
        .byte $cf,$fc,$3f,$ff,$f8,$3f,$ff,$f0       // char 197
        .byte $1f,$ff,$e0,$0f,$ff,$c0,$03,$ff       // char 198
        .byte $00,$00,$fc,$00,$00,$78,$00,$00       // char 199
        .byte $00,$00,$00,$00,$78,$00,$01,$fe       // char 200
        .byte $00,$03,$ff,$00,$07,$ff,$80,$0f       // char 201
        .byte $ff,$80,$0f,$ff,$c0,$1f,$ff,$e0       // char 202
        .byte $3f,$c7,$e0,$3f,$83,$fc,$7f,$8f       // char 203
        .byte $fe,$7f,$ff,$fe,$7f,$ff,$fe,$7f       // char 204
        .byte $ff,$fe,$7f,$ff,$fc,$7f,$f8,$fc       // char 205
        .byte $7e,$00,$fc,$3e,$00,$78,$18,$00       // char 206
        .byte $30,$00,$00,$00,$00,$00,$00,$00       // char 207
        .byte $00,$00,$00,$00,$7e,$00,$0f,$ff       // char 208
        .byte $c0,$3f,$ff,$f0,$7f,$ff,$f8,$7f       // char 209
        .byte $ff,$f8,$7f,$e3,$f8,$7f,$87,$f0       // char 210
        .byte $3f,$ff,$f0,$0f,$ff,$e0,$0f,$ff       // char 211
        .byte $c0,$07,$ff,$f0,$07,$e7,$f8,$07       // char 212
        .byte $e1,$fc,$07,$f0                       // char 213 (partial)

loc_0eac:
        .byte $fc,$07,$f0,$fc                       // char 213 (partial)
        .byte $07,$f8,$38,$07,$f8,$08,$07,$f8       // char 214
        .byte $00,$03,$f0,$00,$00,$f0,$00,$00       // char 215
        .byte $00,$00,$00,$00,$7e,$00,$0f,$ff       // char 216
        .byte $c0,$3f,$ff,$f0,$7f,$ff,$f8,$7f       // char 217
        .byte $ff,$f8,$7f,$e3,$f8,$7f,$81,$f0       // char 218
        .byte $3f,$e0,$00,$0f,$fe,$00,$0f,$ff       // char 219
        .byte $c0,$07,$ff,$f0,$00,$ff,$f8,$00       // char 220
        .byte $0f,$fc,$07,$c1,$fc,$1f,$ff,$fc       // char 221
        .byte $3f,$ff,$f8,$3f,$ff,$f8,$1f,$ff       // char 222
        .byte $f0,$0f,$ff,$c0,$01,$fc,$00,$00       // char 223
        .byte $00,$07,$00,$00,$0f,$80,$00,$1f       // char 224
        .byte $80,$00,$1f,$80,$00,$1f,$80,$00       // char 225
        .byte $0f,$00,$00,$00,$00,$00,$3f,$00       // char 226
        .byte $00,$7f,$00,$00,$7f,$00,$00,$7f       // char 227
        .byte $00,$00,$7f,$00,$00,$7f,$00,$00       // char 228
        .byte $7e,$00,$00,$fe,$00,$00,$fe,$00       // char 229
        .byte $00,$fe,$00,$00,$fc,$00,$00,$fc       // char 230
        .byte $00,$00,$70,$00,$00,$00,$00,$00       // char 231

spr_0f40:
        .byte $00,$1e,$00,$3f,$bf,$00,$7f,$ff       // char 232
        .byte $f8,$7f,$ff,$fc,$7f,$ff,$fe,$1f       // char 233
        .byte $ff,$fe,$01,$ff,$fc,$00,$7f,$98       // char 234
        .byte $00,$3f,$80,$00,$3f,$80,$00,$3f       // char 235
        .byte $00,$00,$7f,$00,$00,$7f,$00,$00       // char 236
        .byte $7e,$00,$00,$7e,$00,$00,$7e,$00       // char 237
        .byte $00,$7e,$00,$00,$7e,$00,$00,$3c       // char 238
        .byte $00,$00,$3c,$00,$00,$00,$00,$00       // char 239

spr_0f80:
        .byte $00,$00,$38,$00,$00,$7c,$00,$00       // char 240
        .byte $7e,$07,$00,$fe,$0f,$80,$fe,$0f       // char 241
        .byte $81,$fc,$1f,$c3,$fc,$1f,$c7,$f8       // char 242
        .byte $1f,$ef,$f0,$0f,$ff,$e0,$0f,$ff       // char 243
        .byte $c0,$07,$ff,$80,$07,$ff,$00,$01       // char 244
        .byte $ff,$80,$01,$ff,$80,$07,$fb,$00       // char 245
        .byte $1f,$f0,$00                           // char 246 (partial)

loc_0fb3:
        .byte $1f,$e0,$00,$1f,$80                   // char 246 (partial)
        .byte $00,$07,$80,$00,$00,$00,$00,$00       // char 247

spr_0fc0:
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 248
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 249
        .byte $00,$00,$3e,$3c,$38,$67,$76,$6c       // char 250
        .byte $43,$66,$e6,$03,$66,$c0,$03,$6e       // char 251
        .byte $c0,$03,$6d,$c0,$07,$7d,$c0,$06       // char 252
        .byte $39,$80,$0e,$71,$c0,$0e,$f8,$c0       // char 253
        .byte $5c,$da,$e0,$f8,$db,$76,$de,$ee       // char 254
        .byte $36,$f7,$6f,$1c,$41,$3d,$80,$00       // char 255

// --- Region $1007-$101c ---
.pc = $1007 "Segment $1007"
        .text "I-TEK BY A-MAN/A"
        .text "RCADE!"

// --- Region $10ca-$10db ---
.pc = $10ca "spr_10ca"

spr_10ca:
        // === Sprite data (18 bytes, $10ca-$10db) ===
        .byte $ce,$22,$18                           // ##..###...#...#....##...
        .byte $10,$0d,$a0                           // ...#........##.##.#.....
        .byte $11,$8c,$22                           // ...#...##...##....#...#.
        .byte $18,$ad,$bd                           // ...##...#.#.##.##.####.#
        .byte $10,$f0,$03                           // ...#....####..........##
        .byte $ce,$bd,$10                           // ##..###.#.####.#...#....

// --- Region $1245-$1258 ---
.pc = $1245 "Segment $1245"
        .byte $fd,$6a,$46,$fd,$6a,$46,$fd,$6a,$46,$fd,$6a,$46,$fd,$6a,$46,$fd // .jF.jF.jF.jF.jF.
        .byte $6a,$46,$fd,$6a                       // jF.j

// --- Region $1821-$1942 ---
.pc = $1821 "spr_1821"

spr_1821:
        // === Sprite data (31 bytes, $1821-$183f) ===
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $08,$01,$02                           // ....#..........#......#.
        .byte $8a,$19,$0e                           // #...#.#....##..#....###.
        .byte $0b,$03,$0d                           // ....#.##......##....##.#
        .byte $05,$9a,$19                           // .....#.##..##.#....##..#
        .byte $09,$07,$03                           // ....#..#.....###......##
        .byte $0f,$17,$a5                           // ....####...#.####.#..#.#
        .byte $19,$08,$04                           // ...##..#....#........#..
        .byte $01
        .byte $0d,$0d,$58,$01,$0b,$42,$81,$37,$37,$80,$01,$0b,$00,$11,$31,$31 // ..X..B.77.....11
        .byte $80,$01,$0b,$60,$21,$01,$02,$02,$00,$37,$07,$02,$07,$08,$00,$00 // ...`!....7......
        .byte $00,$08,$1a,$31,$2f,$00,$00,$60,$09,$1b,$01,$ff,$00,$00,$00,$04 // ...1/..`........
        .byte $4e,$02,$fe,$00,$00,$00,$00,$14,$04,$ff,$00,$40,$00,$00,$a0,$80 // N..........@....
        .byte $32,$03,$18,$00,$c1,$ff,$80,$00,$03,$05,$01,$00,$ff,$80,$00,$ff // 2...............
        .byte $06,$07,$00,$ff,$01,$01,$01,$fe,$ff,$26,$ff,$00,$00,$00,$fd,$ff // .........&......
        .byte $00,$00,$00,$00,$00,$fb,$ff,$00,$fe,$00,$15,$12,$0f,$0c,$09,$06 // ................
        .byte $03,$00,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$01,$02,$02,$02 // ................
        .byte $02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04,$05,$05,$05 // ................
        .byte $06,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b,$0c,$0d,$0d,$0e // ................
        .byte $0f,$10,$11,$12,$13,$14,$15,$17,$18,$1a,$1b,$1d,$1f // .............

txt_18ed:
        .text " "
        .byte $22                                   // double quote character
        .text "$')+.147:>AEINRW"
        .byte $5c                                   // backslash character
        .byte $62,$68,$6e,$75,$7c,$83,$8b,$93,$9c,$a5,$af,$b9,$c4,$d0,$dd,$ea // bhnu|...........
        .byte $f8,$16,$27,$39,$4b,$5f,$74,$8a,$a1,$ba,$d4,$f0,$0e,$2d,$4e,$71 // ..'9K_t......-Nq
        .byte $96,$be,$e7,$14,$42,$74,$a9,$e0,$1b,$5a,$9c,$e2,$2d,$7b,$cf,$27 // ....Bt...Z..-{.'
        .byte $85,$e8,$51,$c1,$37,$b4,$38,$c4,$59,$f7,$9e,$4e,$0a,$d0,$a2,$81 // ..Q.7.8.Y..N....
        .byte $6d,$67,$70                           // mgp

// --- Region $1950-$1dc9 ---
.pc = $1950 "dat_1950"

dat_1950:
        .byte $65,$db,$76,$3a,$27,$41,$8a,$05,$b5,$9d,$c1,$24,$c9,$b6,$ed,$73 // e.v:'A.....$...s
        .byte $4e,$82,$14,$0a,$6a,$3b,$82,$48,$93,$6b,$da,$e7,$9c,$04,$28,$14 // N...j;.H.k....(.
        .byte $fb,$1d,$1c,$1e,$5b,$1e,$9a,$1e,$9a,$1e,$00,$05,$0a,$0e,$12,$16 // ....[...........
        .byte $1f,$28,$8a,$19,$9a,$19,$a5,$19,$11,$07,$cb,$82,$01,$07,$cd,$0b // .(..............
        .byte $cf,$0b,$cd,$0b,$cf,$0b,$cb,$83,$0c,$ff,$cb,$81,$02,$81,$04,$08 // ................
        .byte $87,$06,$83,$0d,$ff,$cb,$00,$81,$03,$0a,$81,$05,$81,$0e,$ff,$d1 // ................
        .byte $19,$d8,$19,$20,$1a,$46,$1a,$91,$1a,$c6,$1a,$e2,$1a,$fe,$1a,$14 // ... .F..........
        .byte $1b,$2d,$1b,$ad,$1b,$c2,$1b,$e7,$1b,$0b,$1c,$1c,$1c,$27,$1c,$27 // .-...........'.'
        .byte $1c,$80,$cf,$01,$24,$30,$1f,$00,$81,$a2,$02,$02,$0e,$02,$0c,$0e // ....$0..........
        .byte $02,$05,$02,$02,$0e,$02,$0c,$0e,$02,$05,$02,$02,$0e,$02,$0c,$0e // ................
        .byte $02,$05,$02,$02,$a2,$05,$a2,$04,$ab,$09,$a2,$02,$02,$0e,$02,$0c // ................
        .byte $0e,$02,$05,$02,$02,$0e,$02,$0c,$0e,$02,$05,$02,$02,$0e,$02,$0c // ................
        .byte $0e,$02,$05,$09,$0c,$0e,$a5,$13,$a2,$11,$a5,$e0,$00,$58,$15,$00 // .............X..
        .byte $82,$ab,$30,$01,$01,$01,$01,$01,$83,$a2,$01,$82,$01,$01,$83,$a5 // ..0.............
        .byte $01,$a0,$01,$01,$01,$a2,$01,$01,$82,$ab,$01,$01,$01,$01,$01,$01 // ................
        .byte $a5,$01,$01,$ab,$01,$00,$8e,$a2,$60   // ........`

txt_1a49:
        .text "&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
        .byte $ab                                   // '+' | $80 (end-of-string marker)
        .byte $62,$26,$60,$a2                       // b&`.

txt_1a6a:
        .text "&&&&&&&&&&&&&&&&&&&&&&&&&&"
        .byte $a2                                   // '"' | $80 (end-of-string marker)
        .byte $63,$34,$a5,$62,$32,$a2,$64,$32,$a5,$62,$32,$00,$82,$a5,$24,$85 // c4.b2.d2.b2...$.
        .byte $a2,$21,$21,$82,$a5,$45,$85,$a2,$21,$21,$82,$a5,$18,$85,$a2,$21 // .!!..E..!!.....!
        .byte $21,$82,$a5,$09,$85,$a2,$21,$21,$82,$a5,$18,$85,$a2,$21,$21,$82 // !.....!!.....!!.
        .byte $a5,$18,$85,$a2,$21,$21,$82,$a5,$18,$84,$45,$45,$85,$a2,$21,$21 // ....!!....EE..!!
        .byte $00,$82,$ab                           // ...

txt_1ac8:
        .text "<<<<<<"
        .byte $a5                                   // '%' | $80 (end-of-string marker)

txt_1acf:
        .text "<<"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $3c,$e1,$02,$3c,$ab                   // <..<.

txt_1ad7:
        .text "<<<<<<<"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $3c,$3c,$00,$96,$a2
        .text "GGGG"
        .byte $83,$a5
        .byte $3c,$96,$a2
        .byte $47,$83
        .byte $a5,$47,$96,$a2,$47,$47,$47,$83,$a5,$3c,$96,$a2,$47,$47,$00,$88 // .G..GGG..<..GG..
        .byte $a5,$10,$a2,$0e,$0c,$0e,$0c,$09,$07,$88,$a5,$09,$a2,$07,$8a,$ab // ................
        .byte $09,$83,$a2,$01,$00,$96,$a2
        .text "GGGG"
        .byte $83,$a5
        .byte $3c,$96,$a2
        .byte $47,$83,$a5,$3c,$96,$a2,$47,$47,$83,$ab,$3c,$a2,$3c,$00,$00,$12 // G..<..GG..<.<...
        .byte $d0,$aa,$e0,$fe,$d0,$b0,$66,$02,$ad,$12,$d0,$29,$08,$49,$55,$09 // ......f....).IU.
        .byte $01,$aa,$bd,$1d,$13,$59,$00,$dd,$99,$70,$07,$3d,$70,$07,$59,$70 // .....Y...p.=p.Yp
        .byte $07,$bd,$70,$07,$18,$69,$5f,$99,$70   // ..p..i_.p

dat_1b58:
        // === Fill data (85 bytes, $1b58-$1bac) ===
        .fill 85, $07
        .byte $89,$a2                               // ..

txt_1baf:
        .text "(+-+-024"
        .byte $a5                                   // '%' | $80 (end-of-string marker)
        .byte $39,$a2,$37,$8b,$ab,$39,$80,$a2       // 9.7..9..

spr_1bc0:
        // === Sprite data (64 bytes, $1bc0-$1bff) ===
        .byte $01,$00,$81                           // .......#........#......#
        .byte $a2,$09,$07                           // #.#...#.....#..#.....###
        .byte $04,$09,$07                           // .....#......#..#.....###
        .byte $04,$0a,$07                           // .....#......#.#......###
        .byte $09,$07,$04                           // ....#..#.....###.....#..
        .byte $09,$07,$09                           // ....#..#.....###....#..#
        .byte $0d,$0c,$09                           // ....##.#....##......#..#
        .byte $07,$04,$09                           // .....###.....#......#..#
        .byte $07,$04,$0a                           // .....###.....#......#.#.
        .byte $07,$09,$07                           // .....###....#..#.....###
        .byte $04,$09,$07                           // .....#......#..#.....###
        .byte $8a,$a5,$09                           // #...#.#.#.#..#.#....#..#
        .byte $e1,$02,$00                           // ###....#......#.........
        .byte $81,$a2,$02                           // #......##.#...#.......#.
        .byte $02,$0e,$02                           // ......#.....###.......#.
        .byte $0c,$0e,$02                           // ....##......###.......#.
        .byte $05,$02,$02                           // .....#.#......#.......#.
        .byte $0e,$02,$0c                           // ....###.......#.....##..
        .byte $0e,$02,$07                           // ....###.......#......###
        .byte $02,$02,$0e                           // ......#.......#.....###.
        .byte $02,$0c,$0e                           // ......#.....##......###.
        .byte $02                                   // sprite 0 padding

scr_1c00:
        // === Screen RAM (458 bytes, $1c00-$1dc9) ===
        .encoding "screencode_mixed"
        .text "ebbnbln"
        .byte $8a,$a5                               // scrcode: ..
        .text "e@"
        .byte $8d,$ab,$65                           // scrcode: ...
        .text "&"
        .byte $a8                                   // scrcode: .
        .encoding "petscii_upper"

txt_1c10:
        .text "-,.-"
        .byte $ab                                   // '+' | $80 (end-of-string marker)
        .encoding "screencode_mixed"
        .text "&"
        .byte $a8                                   // scrcode: .
        .text "-&$(@"
        .byte $8f,$cf,$66                           // scrcode: ...
        .text "&"
        .byte $e1                                   // scrcode: .
        .text "/"
        .byte $67                                   // scrcode: .
        .text "&"
        .byte $e1                                   // scrcode: .
        .text "/@"
        .byte $9a,$a7                               // scrcode: ..
        .text "-74&$bnbnbnznzn@@"
        .byte $89                                   // scrcode: .
        .text "aa"
        .text "qs@y"
        .byte $89                                   // scrcode: .
        .text "y"
        .byte $89                                   // scrcode: .
        .text "ya"
        .byte $41,$49                               // scrcode: ..
        .text "yy@@@@@"
        .byte $81                                   // scrcode: .
        .text "@"
        .byte $49                                   // scrcode: .
        .text "@"
        .byte $80                                   // scrcode: .
        .text "@@@@@@"
        .byte $80,$80,$80,$80                       // scrcode: ....
        .text "@@"
        .byte $80                                   // scrcode: .
        .text "@"
        .byte $80                                   // scrcode: .
        .text "@@"
        .text "@@@@@"
        .byte $80                                   // scrcode: .
        .text "@"
        .byte $41                                   // scrcode: .
        .text "aauu@u"
        .byte $41,$41,$41,$41                       // scrcode: ....
        .text "aq!!w@@@@@"
        .byte $81                                   // scrcode: .
        .text "@"
        .byte $41                                   // scrcode: .
        .text "@oo@@@@@@"
        .text "@o@o@@"
        .byte $e1                                   // scrcode: .
        .text "@@@@@@@@@@"
        .byte $fe,$f9,$e8,$e8,$f5                   // scrcode: .....
        .text "@"
        .byte $7a,$fe,$4f,$fe,$4f,$f9,$6a,$87,$8d,$4d // scrcode: ..........
        .text "@@@@@"
        .byte $74                                   // scrcode: .
        .text "@"
        .byte $da                                   // scrcode: .
        .text "@whh@@@h"
        .byte $f8                                   // scrcode: .
        .text "h"
        .byte $f8                                   // scrcode: .
        .text "hhh@h@@@@@@@@6@'@@@@@he"
        .byte $ff                                   // scrcode: .
        .text "e"
        .byte $ff                                   // scrcode: .
        .text "@@"
        .text "@h@@@@@@@@x@'@@@@@he"
        .byte $ff                                   // scrcode: .
        .text "e"
        .byte $ff                                   // scrcode: .
        .text "@@@0@@@@@@@@"
        .byte $48                                   // scrcode: .
        .text "@'@@"
        .text "@@@he e @@@ @@@@@@@@x@"
        .byte $ff                                   // scrcode: .
        .text "@@@@@h "
        .byte $ff                                   // scrcode: .
        .text " "
        .byte $ff                                   // scrcode: .
        .text "@@@"
        .byte $ff                                   // scrcode: .
        .text "@@@"
        .text "@@@@@"
        .byte $ff                                   // scrcode: .
        .text "@d@@@@@hdddd@@@@@@@@@@@@h@ @a"
        .byte $f0,$f2                               // scrcode: ..
        .text "@!!"
        .text " "
        .byte $f0,$f0,$80                           // scrcode: ...
        .text "@@@@@@@@@@@!@hbbpp@hhhhhb"
        .byte $48,$48,$48                           // scrcode: ...
        .text "@@@@@@@@"
        .text "h@aaa@@@aaaaaaa@@@@@@@@@@a@"
        .byte $85                                   // scrcode: .
        .text "@@@@@@b@b@@@"
        .fill 10, $00                               // scrcode: @@@@@@@@@@
        .text "b@7@@@@@@4@4@@@@@"
        .encoding "petscii_upper"

spr_1dc0:
        .encoding "screencode_mixed"
        .fill 8, $00                                // scrcode: @@@@@@@@
        .text "x"
        .encoding "petscii_upper"

dat_1dc9:
        // === Fill data (1 bytes, $1dc9-$1dc9) ===
        .byte $00                                   // .

// --- Region $1dfb-$1f7a ---
.pc = $1dfb "dat_1dfb"

dat_1dfb:
        .encoding "screencode_mixed"
        .text "p"
        .byte $81,$40                               // scrcode: ..
        .text "qkqjqiqhqgqfqeqdqcqbqaq@q@q@q@"
        .byte $1f,$81,$40,$41                       // scrcode: ....
        .text "n"
        .byte $41                                   // scrcode: .
        .text "l"
        .byte $81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40 // scrcode: ................
        .byte $81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40 // scrcode: ................
        .byte $81,$40,$81,$40,$81,$40,$81,$40       // scrcode: ........
        .byte $81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40,$81,$40 // scrcode: ................
        .byte $1f,$81,$40,$41                       // scrcode: ....
        .text "n"
        .byte $41                                   // scrcode: .
        .text "l"
        .byte $81,$40,$81,$40,$81,$40               // scrcode: ......
        .text "@@@@"
        .byte $81,$40,$41                           // scrcode: ...
        .text "n"
        .byte $41                                   // scrcode: .
        .text "l"
        .byte $81                                   // scrcode: .
        .byte $40,$81,$40,$81,$40                   // scrcode: .....
        .text "@@@@"
        .byte $81,$40,$41                           // scrcode: ...
        .text "n"
        .byte $41                                   // scrcode: .
        .text "l"
        .byte $81,$40,$81,$40,$81,$40               // scrcode: ......
        .text "@@@@"
        .byte $81,$40,$41                           // scrcode: ...
        .text "n"
        .byte $41                                   // scrcode: .
        .text "l"
        .byte $81,$40,$81,$40,$81,$40               // scrcode: ......
        .text "@@"
        .byte $1f                                   // scrcode: .
        .byte $81,$40,$41                           // scrcode: ...
        .text "ou6"
        .byte $81,$40                               // scrcode: ..
        .text "u4"
        .byte $81,$40                               // scrcode: ..
        .text "u2"
        .byte $81,$40                               // scrcode: ..
        .text "u0"
        .byte $41                                   // scrcode: .
        .text "ou."
        .byte $81,$40                               // scrcode: ..
        .text "u,"
        .byte $81,$40                               // scrcode: ..
        .text "u*"
        .byte $81,$40                               // scrcode: ..
        .text "u("
        .byte $41                                   // scrcode: .
        .text "ou&"
        .byte $81,$40                               // scrcode: ..
        .text "u$"
        .byte $81,$40                               // scrcode: ..
        .text "u"
        .byte $22,$81,$40                           // scrcode: "..
        .text "u "
        .byte $41                                   // scrcode: .
        .text "ou"
        .byte $1e,$81,$40                           // scrcode: ...
        .text "u"
        .byte $1c,$81,$40                           // scrcode: ...
        .text "uzc@cg@c@dg@b@eib@ej"
        .text "b@cjgl@@@l@x@g@cg@oscgg@ei@queih"
        .byte $f0,$f0,$f0                           // scrcode: ...
        .text "c@@@f"
        .byte $60,$60,$60                           // scrcode: ...
        .text "d@@@h"
        .byte $40,$f0,$f0                           // scrcode: ...
        .text "c@@@"
        .byte $ff,$ff,$f0,$f0                       // scrcode: ....
        .text "a@@ax"
        .byte $70,$ff,$f0                           // scrcode: ...
        .text "a@@a"
        .byte $ff,$ff,$90,$8b,$83,$76,$69           // scrcode: .......
        .text "&2"
        .text "p"
        .byte $60,$60                               // scrcode: ..
        .text "a@@!f"
        .byte $60,$60,$60                           // scrcode: ...
        .text "c@@@"
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // scrcode: ........
        .text "ejcfi"
        .byte $60,$40                               // scrcode: ..
        .text " o"
        .byte $ff                                   // scrcode: .
        .text "cpf"
        .byte $a0,$a0,$a0                           // scrcode: ...
        .text "h"
        .text "ncfi"
        .byte $ff,$cf,$9f                           // scrcode: ...
        .text "fjbde"
        .byte $60,$40,$60                           // scrcode: ...
        .text "fiabc"
        .byte $e0,$f0,$e0                           // scrcode: ...
        .encoding "petscii_upper"

dat_1f7a:
        // === Fill data (1 bytes, $1f7a-$1f7a) ===
        .byte $00                                   // .

// --- Region $1fc0-$1fc0 ---
.pc = $1fc0 "spr_1fc0"

spr_1fc0:
        .byte $00                                   // .

// --- Region $2000-$201f ---
.pc = $2000 "chr_2000"

chr_2000:
        // === Charset data (32 bytes, $2000-$201f) ===
        .byte $10,$30,$20,$20,$60                   // char 0 (partial)

txt_2005:
        .byte $40,$40,$c0                           // char 0 (partial)
        .byte $80,$81,$81,$01,$03,$03,$03,$07       // char 1 @+1
        .byte $06,$06,$0e,$0c,$08,$fe,$f7,$41       // char 2 @+2
        .byte $07,$84,$04,$0c,$08,$08,$18,$10       // char 3 @+3

// --- Region $2025-$2041 ---
.pc = $2025 "spr_2025"

spr_2025:
        // === Charset data (29 bytes, $2025-$2041) ===
        .byte $42,$c0,$80,$80,$bc,$76,$66,$66       // char 0 @+0
        .byte $6e,$6d,$7d,$39,$71,$f8,$da,$db       // char 1 @+1
        .byte $ee,$6f,$3d,$fc,$04,$0c,$08,$08       // char 2 @+2
        .byte $18,$10,$10,$18,$08                   // char 3 (partial)

// --- Region $2049-$2058 ---
.pc = $2049 "scr_2049"

scr_2049:
        // === Charset data (16 bytes, $2049-$2058) ===
        .byte $38,$6c,$e6,$c0,$c0,$c0,$c0,$80       // char 0 @+0
        .byte $c0,$c0,$e0,$76,$36,$1c,$80           // char 1 (partial)

dat_2058:
        // === Fill data (1 bytes, $2058-$2058) ===
        .byte $00                                   // .

// --- Region $2140-$2140 ---
.pc = $2140 "spr_2140"

spr_2140:
        .byte $00                                   // .

// --- Region $21c0-$21c0 ---
.pc = $21c0 "spr_21c0"

spr_21c0:
        .byte $00                                   // .

// --- Region $2400-$2400 ---
.pc = $2400 "scr_2400"

scr_2400:
        .byte $00                                   // .

// --- Region $2740-$2740 ---
.pc = $2740 "spr_2740"

spr_2740:
        .byte $00                                   // .

// --- Region $2fdf-$3126 ---
.pc = $2fdf "Segment $2fdf"
        .fill 8, $00

txt_2fe7:
        .fill 8, $20
        .fill 8, $40
        .fill 8, $60
        .byte $80                                   // .

scr_3000:
        .byte $40,$20,$10,$08,$04,$02,$01,$80,$40,$20,$10,$08,$04,$02,$01,$80 // @ ......@ ......
        .byte $40,$20,$10,$08,$04,$02,$01,$80,$40,$20,$10,$08,$04,$02,$01,$00 // @ ......@ ......
        .byte $00,$01,$01,$02,$02,$03,$03,$04,$04,$05,$05,$06,$06,$07,$07,$08 // ................
        .byte $08,$09,$09,$0a,$0a,$0b,$0b,$0c,$0c,$0d,$0d,$0e,$0e,$0f,$0f,$10 // ................
        .byte $10,$11,$11,$12,$12,$13,$13,$14,$14,$15,$15,$16,$16,$17,$17,$18 // ................
        .byte $18,$19,$19,$1a,$1a,$1b,$1b,$1c,$1c,$1d,$1d,$1e,$1e,$1f,$1f,$00 // ................
        .byte $00,$01,$02,$02,$03,$04,$04,$05,$06,$06,$07,$08,$08,$09,$0a,$0a // ................
        .byte $0b,$0c,$0c,$0d,$0e,$0e,$0f,$10,$10,$11,$12,$12,$13,$14,$14,$15 // ................
        .byte $16,$16,$17,$18,$18,$19,$1a,$1a,$1b,$1c,$1c,$1d,$1e,$1e,$1f,$00 // ................
        .byte $01,$02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$0c,$0d,$0e,$0f,$10 // ................
        .byte $11,$12,$13,$14,$15,$16,$17,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f,$00 // ................
        .byte $01,$03,$04,$05,$07,$08,$09,$0b,$0c,$0d,$0f,$10,$11,$13,$14,$15 // ................
        .byte $17,$18,$19,$1b,$1c,$1d,$1f,$00,$02,$04,$06,$08,$0a,$0c,$0e,$10 // ................
        .byte $12,$14,$16,$18,$1a,$1c,$1e,$00,$03,$05,$08,$0a,$0d,$0f,$12,$14 // ................
        .byte $17,$19,$1c,$1e,$00,$03,$06,$09,$0c,$0f,$12,$15,$18,$1b,$1e,$00 // ................
        .byte $04,$08,$0c,$10,$14,$18,$1c,$3f,$2f,$1f,$17,$0f,$0c,$0a,$07,$3f // .......?/......?
        .byte $2f,$1f,$17,$0f,$0c,$0a,$07,$2d,$2d,$0d,$15,$0d,$0a,$06,$05,$20 // /......--...... 
        .byte $23,$1e,$01,$0f,$04,$01,$00,$3f,$2f,$1f,$17,$0f,$0c,$0a,$07,$32 // #......?/......2
        .byte $25,$10,$03,$01,$06,$05,$02           // %......

// --- Region $33ee-$33ff ---
.pc = $33ee "Segment $33ee"
        .byte $03,$e9,$02,$30,$03,$85,$4d,$60,$29,$07,$85,$4d,$a2,$d8,$bd,$e9 // ...0..M`)..M....
        .byte $06,$9d                               // ..

// --- Region $3603-$3603 ---
.pc = $3603 "dat_3603"

dat_3603:
        // === Fill data (1 bytes, $3603-$3603) ===
        .byte $00                                   // .

// --- Region $3800-$3800 ---
.pc = $3800 "scr_3800"

scr_3800:
        .byte $00                                   // .

// --- Region $39c0-$39c0 ---
.pc = $39c0 "spr_39c0"

spr_39c0:
        .byte $00                                   // .

// --- Region $3a40-$3a40 ---
.pc = $3a40 "spr_3a40"

spr_3a40:
        .byte $00                                   // .

// --- Region $3c00-$3c00 ---
.pc = $3c00 "scr_3c00"

scr_3c00:
        .byte $00                                   // .

// --- Region $3dc0-$3dc0 ---
.pc = $3dc0 "spr_3dc0"

spr_3dc0:
        .byte $00                                   // .

// --- Region $3f80-$3f80 ---
.pc = $3f80 "spr_3f80"

spr_3f80:
        .byte $00                                   // .

// --- Region $4001-$4200 ---
.pc = $4001 "dat_4001"

dat_4001:
        .byte $04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00 // ................
        .byte $04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00 // ................
        .byte $04,$08,$0c,$00,$04,$08,$0c,$01,$05,$09,$0d,$01,$05,$09,$0d,$01 // ................
        .byte $05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$01 // ................
        .byte $05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$02 // ................
        .byte $06,$0a,$0e,$02,$06,$0a,$0e,$02,$06,$0a,$0e,$02,$06,$0a,$0e,$02 // ................
        .byte $06,$0a,$0e,$02,$06,$0a,$0e,$02,$06,$0a,$0e,$02,$06,$0a,$0e,$02 // ................
        .byte $06,$0a,$0e,$02,$06,$0a,$0e,$03,$07,$0b,$0f,$03,$07,$0b,$0f,$03 // ................
        .byte $07,$0b,$0f,$03,$07,$0b,$0f,$03,$07,$0b,$0f,$03,$07,$0b,$0f,$03 // ................
        .byte $07,$0b,$0f,$03,$07,$0b,$0f,$03,$07,$0b,$0f,$03,$07,$0b,$0f,$00 // ................
        .byte $04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00 // ................
        .byte $04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00,$04,$08,$0c,$00 // ................
        .byte $04,$08,$0c,$00,$04,$08,$0c,$01,$05,$09,$0d,$01,$05,$09,$0d,$01 // ................
        .byte $05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$01 // ................
        .byte $05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$01,$05,$09,$0d,$02 // ................
        .byte $06,$0a,$0e,$02,$06,$0a,$0e,$02,$06,$0a,$0e,$02,$06,$0a,$0e,$00 // ................
        .byte $00,$3f,$20,$30,$10,$10,$18,$08,$08,$0c,$04,$04,$06,$02,$02,$03 // .? 0............
        .byte $01,$01,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$e0,$20,$20,$30,$10,$10,$18,$08,$08,$0c,$04,$04,$06,$02,$02 // ..  0...........
        .byte $03,$01,$81,$81,$80,$c0,$40,$40,$60,$20,$20,$30,$10,$10,$1f,$00 // ......@@`  0....
        .byte $00,$03,$02,$02,$06,$04,$04,$0c,$08,$08,$18,$10,$10,$30,$20,$20 // .............0  
        .byte $60                                   // `

txt_4152:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $80,$81,$81,$01,$03,$02,$02,$06,$04,$04,$fc,$00,$00,$fe,$02,$06 // ................
        .byte $04,$04,$0c,$08,$08,$18,$10,$10,$30,$20,$20,$60 // ........0  `

txt_4171:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $80,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$ff,$ff,$ff,$e0 // ................
        .byte $f0,$f0,$f0,$f8,$f8,$f8,$fc,$fc,$fc,$fe,$fe,$fe,$ff,$ff,$ff,$ff // ................
        .fill 15, $ff
        .byte $3f,$3f,$3f,$1f,$1f,$1f,$0f,$0f,$0f,$07,$07,$07,$03,$03,$03,$01 // ???.............
        .byte $81,$81,$80,$c0,$c0,$c0,$e0,$e0,$e0,$f0,$f0,$f0,$ff,$ff,$ff,$ff // ................
        .byte $fe,$fe,$fe,$fc,$fc,$fc,$f8,$f8,$f8,$f0,$f0,$f0,$e0,$e0,$e0,$c0 // ................
        .byte $c0,$c0,$80,$81,$81,$01,$03,$03,$03,$07,$07,$07,$ff,$ff,$ff,$ff // ................
        .byte $03,$07,$07,$07,$0f,$0f,$0f,$1f,$1f,$1f,$3f,$3f,$3f,$7f,$7f,$7f // ..........???...
        .fill 13, $ff

dat_4200:
        // === Fill data (1 bytes, $4200-$4200) ===
        .byte $00                                   // .

// --- Region $4921-$4921 ---
.pc = $4921 "dat_4921"

dat_4921:
        // === Fill data (1 bytes, $4921-$4921) ===
        .byte $00                                   // .

// --- Region $4a01-$4c58 ---
.pc = $4a01 "dat_4a01"

dat_4a01:
        .byte $03,$06,$09,$0c,$0f,$12,$15,$18,$1b,$1e,$01,$04,$07,$0a,$0d,$10 // ................
        .byte $13,$16,$19,$1b,$1e,$01,$03,$06,$09,$0b,$0e,$10,$12,$15,$17,$19 // ................
        .byte $1b,$1e,$00,$02,$04,$06,$07,$09,$0b,$0c,$0e,$10,$11,$12,$14,$15 // ................
        .byte $16,$17,$18,$19,$1a,$1b,$1b,$1c,$1d,$1d,$1e,$1e,$1e,$1e,$1e,$1f // ................
        .byte $1e,$1e,$1e,$1e,$1e,$1d,$1d,$1c,$1b,$1b,$1a,$19,$18,$17,$16,$15 // ................
        .byte $14,$12,$11,$10,$0e,$0c,$0b,$09,$07,$06,$04,$02,$00,$1e,$1b,$19 // ................
        .byte $17,$15,$12,$10,$0e,$0b,$09,$06,$03,$01,$1e,$1b,$19,$16,$13,$10 // ................
        .byte $0d,$0a,$07,$04,$01,$1e,$1b,$18,$15,$12,$0f,$0c,$09,$06,$03,$00 // ................
        .byte $1c,$19,$16,$13,$10,$0d,$0a,$07,$04,$01,$1e,$1b,$18,$15,$12,$0f // ................
        .byte $0c,$09,$06,$04,$01,$1e,$1c,$19,$16,$14,$11,$0f,$0d,$0a,$08,$06 // ................
        .byte $04,$01,$1f,$1d,$1b,$19,$18,$16,$14,$13,$11,$0f,$0e,$0d,$0b,$0a // ................
        .byte $09,$08,$07,$06,$05,$04,$04,$03,$02,$02,$01,$01,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$01,$01,$02,$02,$03,$04,$04,$05,$06,$07,$08,$09,$0a // ................
        .byte $0b,$0d,$0e,$0f,$11,$13,$14,$16,$18,$19,$1b,$1d,$1f,$01,$04,$06 // ................
        .byte $08,$0a,$0d,$0f,$11,$14,$16,$19,$1c,$1e,$01,$04,$06,$09,$0c,$0f // ................
        .byte $12,$15,$18,$1b,$1e,$01,$04,$07,$0a,$0d,$10,$13,$16,$19,$1c,$1f // ................
        .byte $1e,$1e,$1e,$1e,$1e,$1d,$1d,$1c,$1b,$1b,$1a,$19,$18,$17,$16,$15 // ................
        .byte $14,$12,$11,$10,$0e,$0c,$0b,$09,$07,$06,$04,$02,$00,$1e,$1b,$19 // ................
        .byte $17,$15,$12,$10,$0e,$0b,$09,$06,$03,$01,$1e,$1b,$19,$16,$13,$10 // ................
        .byte $0d,$0a,$07,$04,$01,$1e,$1b,$18,$15,$12,$0f,$0c,$09,$06,$03,$00 // ................
        .byte $1c,$19,$16,$13,$10,$0d,$0a,$07,$04,$01,$1e,$1b,$18,$15,$12,$0f // ................
        .byte $0c,$09,$06,$04,$01,$1e,$1c,$19,$16,$14,$11,$0f,$0d,$0a,$08,$06 // ................
        .byte $04,$01,$1f,$1d,$1b,$19,$18,$16,$14,$13,$11,$0f,$0e,$0d,$0b,$0a // ................
        .byte $09,$08,$07,$06,$05,$04,$04,$03,$02,$02,$01,$01,$01,$01,$01,$01 // ................
        .byte $01,$01,$01,$01,$01,$02,$02,$03,$04,$04,$05,$06,$07,$08,$09,$0a // ................
        .byte $0b,$0d,$0e,$0f,$11,$13,$14,$16,$18,$19,$1b,$1d,$1f,$01,$04,$06 // ................
        .byte $08,$0a,$0d,$0f,$11,$14,$16,$19,$1c,$1e,$01,$04,$06,$09,$0c,$0f // ................
        .byte $12,$15,$18,$1b,$1e,$01,$04,$07,$0a,$0d,$10,$13,$16,$19,$1c,$1f // ................
        .byte $03,$06,$09,$0c,$0f,$12,$15,$18,$1b,$1e,$01,$04,$07,$0a,$0d,$10 // ................
        .byte $13,$16,$19,$1b,$1e,$01,$03,$06,$09,$0b,$0e,$10,$12,$15,$17,$19 // ................
        .byte $1b,$1e,$00,$02,$04,$06,$07,$09,$0b,$0c,$0e,$10,$11,$12,$14,$15 // ................
        .byte $16,$17,$18,$19,$1a,$1b,$1b,$1c,$1d,$1d,$1e,$1e,$1e,$1e,$1e,$00 // ................
        .fill 8, $00
        .byte $3e,$67,$43,$03,$03,$03,$07,$06,$0e,$0e,$5c,$f8,$de,$f7,$41,$00 // >gC.......\...A.
        .fill 16, $00
        .byte $3c,$76,$66,$66,$6e,$6d,$7d,$39,$71,$f8,$da,$db,$ee,$6f,$3d,$00 // <vffnm}9q....o=.
        .fill 16, $00
        .byte $38,$6c,$e6,$c0,$c0,$c0,$c0,$80,$c0,$c0,$e0,$76,$36,$1c,$80 // 8l.........v6..

dat_4c58:
        // === Fill data (1 bytes, $4c58-$4c58) ===
        .byte $00                                   // .

// --- Region $4d00-$4dff ---
.pc = $4d00 "dat_4d00"

dat_4d00:
        // === Sine/lookup table (128 bytes, range $1f-$a9) ===
        .byte $64,$67,$6a,$6e,$71,$74,$78,$7b,$7e,$81,$84,$87,$8a,$8d,$8f,$92 // dgjnqtx{~.......
        .byte $94,$97,$99,$9b,$9d,$9f,$a0,$a2,$a3,$a4,$a6,$a6,$a7,$a8,$a8,$a8 // ................
        .byte $a9,$a8,$a8,$a8,$a7,$a6,$a6,$a4,$a3,$a2,$a0,$9f,$9d,$9b,$99,$97 // ................
        .byte $94,$92,$8f,$8d,$8a,$87,$84,$81,$7e,$7b,$78,$74,$71,$6e,$6a,$67 // ........~{xtqnjg
        .byte $64,$60,$5d                           // d`]

txt_4d43:
        .text "YVSOLIFC"
        .byte $40                                   // @ character
        .text "=:8530.,*('%$#!! "
        .byte $1f,$1f,$1f,$1f,$1f,$1f,$1f           // .......

txt_4d64:
        .text " !!#$%'(*,.0358:="
        .byte $40                                   // @ character
        .text "CFILOSVY"
        .byte $5d,$60                               // ]`

tbl_4d80:
        // === VIC register table (128 bytes, $4d80-$4dff) ===
        .byte $b8,$be,$c5,$cc,$d3,$d9,$df,$e5,$ea,$ee,$f3,$f6,$f9,$fb,$fd,$fe // ................
        .byte $ff,$fe,$fd,$fb,$f9,$f6,$f3,$ee,$ea,$e5,$df,$d9,$d3,$cc,$c5,$be // ................
        .byte $b8,$b1,$aa,$a3,$9c,$96,$90,$8a,$85,$81,$7c,$79,$76,$74,$72,$71 // ..........|yvtrq
        .byte $71,$71,$72,$74,$76,$79,$7c,$81,$85,$8a,$90,$96,$9c,$a3,$aa,$b1 // qqrtvy|.........
        .byte $b7,$be,$c5,$cc,$d3,$d9,$df,$e5,$ea,$ee,$f3,$f6,$f9,$fb,$fd,$fe // ................
        .byte $ff,$fe,$fd,$fb,$f9,$f6,$f3,$ee,$ea,$e5,$df,$d9,$d3,$cc,$c5,$be // ................
        .byte $b8,$b1,$aa,$a3,$9c,$96,$90,$8a,$85,$81,$7c,$79,$76,$74,$72,$71 // ..........|yvtrq
        .byte $71,$71,$72,$74,$76,$79,$7c,$81,$85,$8a,$90,$96,$9c,$a3,$aa,$b1 // qqrtvy|.........
