// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:48
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $403f  (14656 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0800 (2048)
// IRQ handler:  $0839 (irq_0839)
// IRQ handler:  $0876 (irq_0876)
// IRQ handler:  $08b6 (irq_08b6)
// IRQ handler:  $08f3 (irq_08f3)
// IRQ handler:  $0930 (irq_0930)
// IRQ handler:  $0a35 (irq_0a35)
// IRQ handler:  $0a89 (irq_0a89)
// IRQ handler:  $0adc (irq_0adc)
// IRQ handler:  $0b9d (irq_0b9d)
// IRQ handler:  $0bba (irq_0bba)
// IRQ handler:  $0c1c (irq_0c1c)
// IRQ handler:  $0c43 (irq_0c43)
// IRQ handler:  $0c79 (irq_0c79)
// IRQ handler:  $0cbe (irq_0cbe)
// IRQ handler:  $0cf7 (irq_0cf7)
// IRQ handler:  $0d28 (irq_0d28)
// IRQ handler:  $0d67 (irq_0d67)
// IRQ handler:  $ea31 (irq_ea31)
//
// Code: 3983 bytes, Data: 10673 bytes
// Labels: 364, Subroutines: 30
//
// Cross-references: all OK
// ============================================


// --- Region $0800-$0948 ---
.pc = $0800 "main_0800"

main_0800:
        lda #$00
        sta $d020
        sta $d021
        lda #$15
        sta $d018
        ldx #$ff

loc_080f:
        inx
        lda $09a8,x
        jsr $ffd2
        bne loc_080f
        ldx #$00

loc_081a:
        ldy #$00

loc_081c:
        iny
        nop
        nop
        nop
        nop
        nop
        nop
        bne loc_081c
        inx
        bne loc_081a
        lda #$0b
        sta $d011
        jsr sub_1bd9
        jsr sub_1cfb

loc_0833:
        jmp loc_0833

dat_0836:
        .byte $4c,$fc,$0e                           // L..
irq_0839: {
        rol $d019
        lda dat_1d20
        sta $d021
        lda $1d21
        sta $d023
        lda $1d22
        sta $d022
        lda $1d98
        sta $d016
        lda $43
        beq skip2
        lda $49
        bne skip1
        jsr sub_1b24
        jmp $0864
skip1:
        dec $49
skip2:
        lda #$76
        sta $0314
        lda #$08
        sta $0315
        lda #$61
        sta $d012
        jmp $ea81
}
irq_0876: {
        rol $d019
        nop
        nop
        nop
        lda $1d99
        sta $d016
        lda $1d23
        sta $d021
        lda $1d24
        sta $d023
        lda $1d25
        sta $d022
        lda $43
        beq skip2
        lda $4a
        bne skip1
        jsr sub_1b58
        jmp $08a4
skip1:
        dec $4a
skip2:
        lda #$b6
        sta $0314
        lda #$08
        sta $0315
        lda #$91
        sta $d012
        jmp $ea81
}
irq_08b6: {
        rol $d019
        lda $1d26
        sta $d021
        lda $1d27
        sta $d023
        lda $1d28
        sta $d022
        lda $1d9a
        sta $d016
        lda $43
        beq skip2
        lda $4b
        bne skip1
        jsr sub_1b8c
        jmp $08e1
skip1:
        dec $4b
skip2:
        lda #$f3
        sta $0314
        lda #$08
        sta $0315
        lda #$c1
        sta $d012
        jmp $ea81
}
irq_08f3: {
        rol $d019
        lda $1d29
        sta $d021
        lda $1d2a
        sta $d023
        lda $1d2b
        sta $d022
        lda $1d9b
        sta $d016
        lda $43
        beq skip2
        lda $48
        bne skip1
        jsr sub_1af0
        jmp $091e
skip1:
        dec $48
skip2:
        lda #$30
        sta $0314
        lda #$09
        sta $0315
        lda #$ff
        sta $d012
        jmp $ea81
}

irq_0930:
        rol $d019
        jsr sub_098e
        lda $43
        beq loc_093d
        jsr sub_1000

loc_093d:
        lda $43
        cmp #$01
        bne loc_0959
.label smc_0944 = * + 1
        lda #$ff                                    // !SMC: modified by $1c73
        bne loc_0956

dat_0947:
        .byte $a9,$ff                               // ..

// --- Region $0956-$09a1 ---
.pc = $0956 "loc_0956"

loc_0956:
        dec smc_0944

loc_0959:
        lda $43
        cmp #$03
        beq loc_0971
        lda #$39
        sta $0314
        lda #$08
        sta $0315
        lda #$2f
        sta $d012
        jmp $ea81

loc_0971:
        lda $45
        sta $44
        lda $46
        sta $45
        jsr sub_1af0
        lda #$35
        sta $0314
        lda #$0a
        sta $0315
        lda #$2f
        sta $d012
        jmp $ea81
// Referenced by: jsr from $0933

sub_098e:
        lda $43
        asl
        tax
        lda dat_09a2,x
        sta smc_099f                                // SMC: modifies $099f
        lda $09a3,x
        sta smc_09a0                                // SMC: modifies $09a0
.label smc_099f = * + 1
.label smc_09a0 = * + 2
        jsr sub_09f9                                // !SMC: modified by $0995, $099b
        rts

// --- Region $09bf-$0e44 ---
.pc = $09bf "loc_09bf"

loc_09bf:
        eor $53
        eor #$47
        lsr $2e53
        rol.abs $002e
        lda #$01
        bne loc_09f4

loc_09cd:
        ldx $40
        lda $1dac,x
        ldy $42
        sta dat_1d20,y
        inx
        cpx #$0c
        bne loc_09ed
        lda $1d8c,y
        sta dat_1d20,y
        iny
        cpy #$0c
        bne loc_09e9
        inc $43

loc_09e9:
        sty $42
        ldx #$00

loc_09ed:
        stx $40
        lda #$02
        sta $09ca

loc_09f4:
        dec $09ca
        rts

dat_09f8:
        .byte $60                                   // `
// Referenced by: jsr from $099e

sub_09f9:
        lda #$01
        bne loc_0a31

loc_09fd:
        ldx $40
        lda $1dac,x
        ldy $42
        sta dat_1d20,y
        inx
        cpx #$0c
        bne loc_0a2a
        iny
        cpy #$03
        bne loc_0a26
        lda $0a0e
        cmp #$03
        bne loc_0a1f
        lda #$03
        sta $43
        jmp loc_0a26

loc_0a1f:
        lda #$03
        sta $0a0e
        ldy #$00

loc_0a26:
        sty $42
        ldx #$00

loc_0a2a:
        stx $40
        lda #$02
        sta $09fa

loc_0a31:
        dec $09fa
        rts

irq_0a35:
        rol $d019
        ldx #$00

loc_0a3a:
        lda $9000,x
        ldy $d012

loc_0a40:
        cpy $d012
        beq loc_0a40
        nop
        nop
        nop
        nop
        nop
        nop
        tya
        and #$07
        ora #$10
        sta $d011
        inx
.label smc_0a55 = * + 1
        cpx #$01                                    // !SMC: modified by $1c82
        bne loc_0a3a
        lda $1d23
        sta $d021
        lda $1d24
        sta $d023
        lda $1d25
        sta $d022
        lda $1d98
        sta $d016
        jsr sub_1b24
        lda #$89
        sta $0314
        lda #$0a
        sta $0315
        lda $d012
        clc
        adc #$07
        sta $d012
        jmp $ea81

irq_0a89:
        rol $d019
        ldx #$00

loc_0a8e:
        lda $9000,x
        ldy $d012

loc_0a94:
        cpy $d012
        beq loc_0a94
        dey
        dey
        dey
        dey
        dey
        tya
        and #$07
        ora #$10
        sta $d011
        inx
.label smc_0aa8 = * + 1
        cpx #$59                                    // !SMC: modified by $1c87
        bne loc_0a8e
        lda $1d26
        sta $d021
        lda $1d27
        sta $d023
        lda $1d28
        sta $d022
        lda $1d99
        sta $d016
        jsr sub_1af0
        lda #$dc
        sta $0314
        lda #$0a
        sta $0315
        lda $d012
        clc
        adc #$02
        sta $d012
        jmp $ea81

irq_0adc:
        rol $d019
        lda #$00
        sta $d021
        lda #$00
        sta $d023
        lda #$00
        sta $d022
        lda #$d8
        sta $d016
        lda smc_0a55
        cmp #$01
        beq loc_0b1e
        dec smc_0a55
        dec smc_0a55
        inc smc_0aa8
        inc smc_0aa8
        inc smc_0aa8
        inc smc_0aa8
        lda #$9d
        sta $0314
        lda #$0b
        sta $0315
        lda #$ff
        sta $d012
        jmp $ea81

loc_0b1e:
        ldx #$28

loc_0b20:
        lda #$c0
        lda #$c0
        sta $04ef,x
        sta $053f,x
        sta $058f,x
        lda #$00
        sta $06a7,x
        lda #$01
        sta $05b7,x
        sta $05df,x
        sta $0607,x
        sta $062f,x
        sta $0657,x
        sta $067f,x
        dex
        bne loc_0b20
        ldx #$00

loc_0b4b:
        lda txt_1f00,x
        clc
        adc #$c0
        sta $0518,x
        lda $1f28,x
        clc
        adc #$c0
        sta $0568,x
        lda #$00
        sta $d918,x
        sta $d968,x
        inx
        cpx #$28
        bne loc_0b4b
        lda #$1b
        sta $d011
        jsr sub_1000
        lda #$01
        sta $43
        lda #$00
        sta $40
        sta $41
        lda $1d99
        sta $1d9b
        lda $45
        sta $47
.label smc_0b87 = * + 1
        lda #$00                                    // !SMC: modified by $1c8d
        sta $3fff
        lda #$ba
        sta $0314
        lda #$0b
        sta $0315
        lda #$31
        sta $d012
        jmp $ea81

irq_0b9d:
        rol $d019
        lda #$1b
        sta $d011
        jsr sub_1000
        lda #$35
        sta $0314
        lda #$0a
        sta $0315
        lda #$2f
        sta $d012
        jmp $ea81

irq_0bba:
        rol $d019
        lda $1d23
        sta $d021
        lda $1d24
        sta $d023
        lda $1d25
        sta $d022
        lda $1d98
        sta $d016
        lda $1de8
        sta $d010
        ldx #$00
        ldy #$00

loc_0bdf:
        lda $1dd8,y
        sta $d000,x
        lda #$6a
        sta $d001,x
        iny
        inx
        inx
        cpx #$10
        bne loc_0bdf
        ldx #$00
        lda $1deb

loc_0bf6:
        sta $d027,x
        inx
        cpx #$08
        bne loc_0bf6
.label sub_0bff = * + 1
        lda $1dec
        sta $d025
        lda $1dea
        sta $d026
        lda #$62
        sta $d012
        lda #$1c
        sta $0314
        lda #$0c
        sta $0315
        jmp $ea81

irq_0c1c:
        rol $d019
        lda #$00
        sta $d020
        sta $d021
        lda #$c8
        sta $d016
        lda #$1a
        sta $d018
        lda #$66
        sta $d012
.label sub_0c37 = * + 1
        lda #$43
        sta $0314
        lda #$0c
        sta $0315
        jmp $ea81
irq_0c43: {
        rol $d019
        nop
        nop
        nop
        nop
        nop
        nop
        lda $0e4e
        sta $d020
        sta $d021
        ldx #$0a
loop:
        dex
        bne loop
        lda #$00
        sta $d020
        sta $d021
        lda #$c8
        sta $d016
        lda #$72
        sta $d012
        lda #$79
        sta $0314
        lda #$0c
        sta $0315
        jmp $ea81
}
irq_0c79: {
.label loc_0c7a = * + 1
        rol $d019
        ldx #$00
        lda $1dee
loop1:
        sta $d027,x
        inx
        cpx #$08
        bne loop1
        lda $1def
        sta $d025
        lda $1ded
        sta $d026
        lda $1de9
        sta $d010
        ldy #$00
        ldx #$00
loop2:
        lda $1de0,y
        sta $d000,x
        iny
        inx
        inx
        cpx #$10
        bne loop2
        lda #$89
        sta $d012
        lda #$be
        sta $0314
        lda #$0c
        sta $0315
        jmp $ea81
}

irq_0cbe:
        rol $d019
        lda $4c
        sta $d016
        lda $1d29
.label sub_0ccb = * + 2
        sta $d022
        lda $1d2b
        sta $d023
        ldx #$05

loc_0cd4:
        dex
        bne loc_0cd4
        lda $1d2a
        sta $d021
        jsr sub_1b8c
        lda #$00
        sta $d021
        lda #$be
        sta $d012
        lda #$f7
        sta $0314
        lda #$0c
        sta $0315
        jmp $ea81
irq_0cf7: {
        rol $d019
        nop
        nop
        nop
        nop
        nop
        nop
        lda $0e4e
        sta $d020
        sta $d021
        ldx #$0a
loop:
        dex
        bne loop
        lda #$00
        sta $d020
        sta $d021
        lda #$c1
        sta $d012
        lda #$28
        sta $0314
        lda #$0d
        sta $0315
        jmp $ea81
}
irq_0d28: {
        rol $d019
        lda $1d27
        sta $d023
        lda $1d28
        sta $d022
        lda $1d9b
        sta $d016
        ldx #$07
loop:
        dex
        bne loop
        nop
        nop
        nop
        nop
        nop
        lda #$18
        sta $d018
        lda $1d26
        sta $d021
        jsr sub_1af0
        lda #$ff
        sta $d012
        lda #$67
        sta $0314
        lda #$0d
        sta $0315
        jmp $ea81
}

irq_0d67:
        rol $d019
        lda #$1b
        sta $d011
        jsr sub_1000
        ldx #$00
        lda $03a5
        cmp $0e4d
        beq loc_0d84
        sta $0e4d
        lda #$00
        sta $0e4f

loc_0d84:
        ldx $0e4f
        cpx #$0b
        beq loc_0d94
        lda $1dac,x
        sta $0e4e
        inc $0e4f

loc_0d94:
        lda #$ff
        sta $d015
        sta $d01d
        sta $d017
        sta $d01b
        ldx #$00

loc_0da4:
        dec $1de0,x
        dec $1de0,x
        lda $1de0,x
        cmp #$fe
        bne loc_0dc4
        lda $1de9
        eor dat_0e45,x
        sta $1de9
        and dat_0e45,x
        beq loc_0dc4
        lda #$68
        sta $1de0,x

loc_0dc4:
        inx
        cpx #$08
        bne loc_0da4
        ldx #$00

loc_0dcb:
        inc $1dd8,x
        inc $1dd8,x
        lda $1dd8,x
        bne loc_0ddf
        lda $1de8
        eor dat_0e45,x
        sta $1de8

loc_0ddf:
        inx
        cpx #$08
        bne loc_0dcb
        lda $40
        bne loc_0dee
        jsr sub_0e50
        jmp loc_0df0

loc_0dee:
        dec $40

loc_0df0:
        dec $43
        bne loc_0e20
        ldx $41
        lda spr_1e00,x
        and #$1f
        sta $ff
        asl
        clc
        adc $ff
        tay
        ldx #$00

loc_0e04:
        lda $1d2c,y
        sta $1d23,x
        iny
        inx
        cpx #$09
        bne loc_0e04
        ldx #$00

loc_0e12:
        lda $1d2c,y
        sta $1dea,x
        inx
        iny
        cpx #$06
        bne loc_0e12
        inc $41

loc_0e20:
        lda $dc01
        cmp #$ef
        bne loc_0e33
        ldx #$00

loc_0e29:
        lda #$ea
        sta loc_0833,x
        inx
        cpx #$03
        bne loc_0e29

loc_0e33:
        lda #$ba
        sta $0314
        lda #$0b
        sta $0315
        lda #$31
        sta $d012
        jmp $ea81

// --- Region $0e50-$1004 ---
.pc = $0e50 "sub_0e50"
// Referenced by: jsr from $0de8

sub_0e50:
.label smc_0e51 = * + 1
        ldx #$04                                    // !SMC: modified by $0ef2

loc_0e52:
        txa
        pha
        ldx $4c
        dex
        cpx #$cf
        bne loc_0ecf
        ldx #$00

loc_0e5d:
        lda $0609,x
        sta $0608,x
        inx
        cpx #$78
        bne loc_0e5d
        jmp loc_0e73

loc_0e6b:
        lda #$00
        sta $4d
        lda #$3c
        sta $4e

loc_0e73:
        ldy #$00
        lda ($4d),y
        jsr sub_0eda
        lda ($4d),y
        beq loc_0e6b
        tax
        lda $1f80,x
        clc
        adc $4f
        sta $fb
        lda $1fc0,x
        adc #$00
        sta $fc
        lda #$2f
        sta $fd
        lda #$06
        sta $fe
        ldx #$00

loc_0e98:
        lda ($fb),y
        sta ($fd),y
        lda $fb
        clc
        adc #$03
        sta $fb
        lda $fc
        adc #$00
        sta $fc
        lda $fd
        clc
        adc #$28
        sta $fd
        lda $fe
        adc #$00
        sta $fe
        inx
        cpx #$03
        bne loc_0e98
        inc $4f
        lda $4f
        cmp #$03
        bne loc_0ecd
        lda #$00
        sta $4f
        inc $4d
        bne loc_0ecd
        inc $4e

loc_0ecd:
        ldx #$d7

loc_0ecf:
        stx $4c
        pla
        tax
        dex
        beq loc_0ed9
        jmp loc_0e52

loc_0ed9:
        rts
// Referenced by: jsr from $0e77

sub_0eda:
        cmp #$53
        bne loc_0efb
        inc $4d
        bne loc_0ee4
        inc $4e

loc_0ee4:
        lda ($4d),y
        sec
        sbc #$30
        bne loc_0ef2
        lda #$80
        sta $40
        jmp loc_0ef5

loc_0ef2:
        sta smc_0e51                                // SMC: modifies $0e51

loc_0ef5:
        inc $4d
        bne loc_0efb
        inc $4e

loc_0efb:
        rts

loc_0efc:
        sei
        lda #$31
        sta $0314
        lda #$ea
        sta $0315
        lda #$06
        sta $d020
        sta $d021
        lda #$01
        sta $dc0e
        lda #$f0
        sta $d01a
        lda #$1b
        sta $d011
        lda #$c8
        sta $d016
        lda #$00
        sta $d418
        sta $d015
        lda #$15
        sta $d018
        lda #$01
        sta $0286
        lda #$93
        jsr $ffd2
        cli
        ldx #$00

loc_0f3d:
        lda loc_0f4b,x
        sta $0380,x
        inx
        cpx #$80
        bne loc_0f3d
        jmp $0380

loc_0f4b:
        lda #$00
        sta $fb
        lda #$40
        sta $fc
        lda #$01
        sta $fd
        lda #$08
        sta $fe
        sei
        lda #$34
        sta $01
        ldy #$00

loc_0f62:
        lda ($fb),y
        sta ($fd),y
        iny
        bne loc_0f62
        inc $fc
        inc $fe
        lda $fc
        bne loc_0f62
        lda #$37
        sta $01
        cli
        jmp $fce2

dat_0f79:
        .byte $00,$fe,$20,$37,$0c                   // .. 7.

loc_0f7e:
        lda $fe01
        jsr sub_0c37
        lda #$37
        sta $01
        bne loc_0fab

loc_0f8a:
        ldy #$00
        lda ($f7),y
        beq loc_0fdf
        cmp #$ff
        beq loc_0fed
        ldy #$04

loc_0f96:
        lda ($f7),y
        jsr sub_1338
        bne loc_0f96
        ldy #$02
        lda ($f7),y
        jsr sub_0c37
        ldy #$03
        lda ($f7),y
        jsr sub_0c37

loc_0fab:
        jsr sub_11ea

loc_0fae:
        jsr sub_0ccb
        beq loc_0fb6
        jmp loc_1156

loc_0fb6:
        jsr loc_0cd4
        ldy #$00
        sty $01

loc_0fbd:
        lda $2700,y
        sta ($fd),y
        iny
        bne loc_0fbd
        lda #$37
        sta $01
        inc $fe
        lda #$ff
        jsr sub_1188
        lda $2700
        beq loc_0fdb
        dec $32
        bne loc_0fae
        beq loc_0ff2

loc_0fdb:
        dec $32
        beq loc_0ff2

loc_0fdf:
        clc
        lda $f7
        adc #$14
        sta $f7
        bcc loc_0fea
        inc $f8

loc_0fea:
        jmp loc_0f8a

loc_0fed:
        lda #$00
        jsr sub_0c37

loc_0ff2:
        jsr sub_120e
        clc
        ldx #$0b
        ldy #$02
        jsr $fff0
        jsr sub_0bff
// Referenced by: jsr from $093a, $0b6f, $0ba5, $0d6f

sub_1000:
.label smc_1001 = * + 1
        ldy #$ff                                    // !SMC: modified by $15a7, $1cfd
        bmi loc_100d

dat_1004:
        .byte $f0                                   // .

// --- Region $100d-$1083 ---
.pc = $100d "loc_100d"

loc_100d:
        ldx #$02

loc_100f:
        jsr sub_1026
        dex
        bpl loc_100f
        dec $0383
        bpl loc_1020
        lda $0384
        sta $0383

loc_1020:
        lda #$ff
        sta smc_13c8                                // SMC: modifies $13c8
        rts
// Referenced by: jsr from $100f

sub_1026:
        lda $0383
        bne loc_1033
        dec $0380,x
        bne loc_1033
        jmp loc_13c7

loc_1033:
        lda $0388,x
        bne loc_10ae
        sta $03d3,x
        sta $03d6,x
        sta $03f7,x
        sta $039a,x
        sta $03c7,x
        sta $03c4,x
        ldy $0391,x
        lda $03bb,x
        and #$20
        sta $03f4,x
        lda $1767,y
        and #$0f
        sta $03fa,x
        lda $1765,y
        pha
        lda $1766,y
        ldy $1703,x
        sta $d406,y
        pla
        sta $d405,y
        ldy $038e,x
        lda $180b,y
        bmi loc_10ae
        bne loc_1080
        sta $d417
        sta $03fe
        beq loc_10ae

loc_1080:
.label smc_1081 = * + 1
        ldy #$ff                                    // !SMC: modified by $1456, $145e
        bne loc_10ae

// --- Region $10ae-$15b8 ---
.pc = $10ae "loc_10ae"

loc_10ae:
        lda $0388,x
        cmp #$ff
        beq loc_10b8
        inc $0388,x

loc_10b8:
        lda $03bb,x
        bpl loc_10e8
        ldy $0394,x
        lda $172b,y
        sta $10
        lda $172e,y
        sta $11
        ldy $03b5,x
        lda ($10),y
        cmp #$ff
        beq loc_10d9
        inc $03b5,x
        sta $03b2,x

loc_10d9:
        ldy $03b8,x
        lda ($10),y
        cmp #$80
        beq loc_10e8
        inc $03b8,x
        sta $039a,x

loc_10e8:
        lda $0397,x
        tay
        lda $03bb,x
        and #$08
        bne loc_10fc
        tya
        clc
        adc $039d,x
        adc $03c7,x
        tay

loc_10fc:
        sty smc_1222                                // SMC: modifies $1222
        lda $1640,y
        sta $03cd,x
        lda $16a0,y
        clc
        adc $039a,x
        sta $03d0,x
        lda $03e2,x
        beq loc_1146
        lda $0388,x
        cmp #$01
        bne loc_1121
        jsr sub_1347
        jmp loc_1146

loc_1121:
        cmp $03df,x
        bcs loc_1128
        bcc loc_1146

loc_1128:
        cmp $03e2,x
        bcs loc_1133
        jsr sub_1397
        jmp loc_1146

loc_1133:
        lda $03e5,x
        sta $0397,x
        lda #$00
        sta $03e2,x
        sta $03d3,x
        sta $03d6,x
        beq loc_10e8

loc_1146:
        lda $03eb,x
        beq loc_114e
        jsr sub_137b

loc_114e:
        lda $03fe
        beq loc_1156
        jsr sub_130c

loc_1156:
        ldy $0391,x
        lda $1768,y
        bne loc_1163
        ldy $03c1,x
        beq loc_1166

loc_1163:
        jsr sub_12a5

loc_1166:
        ldy $03ca,x
        beq loc_1175
        jsr sub_128b
        lda $03bb,x
        and #$02
        bne loc_119b

loc_1175:
        lda $03bb,x
        and #$01
        beq loc_119b
        lda $03e2,x
        bne loc_119b
        lda $03eb,x
        beq loc_118d
.label sub_1188 = * + 2
        lda $03bb,x
        and #$04
        bne loc_119b

loc_118d:
        ldy $038e,x
        lda $17fd,y
        cmp $0388,x
        bcs loc_119b
        jsr sub_11f9

loc_119b:
        lda #$02
        cmp $0388,x
        bne loc_11b7
        lda $03bb,x
        and #$40
        beq loc_11b7
        lda #$00
        sta $03cd,x
        lda #$f0
        sta $03d0,x
        lda #$81
        bne loc_11d3

loc_11b7:
        ldy $038e,x
        lda $0388,x
        cmp $17ef,y
        bne loc_11d0
        lda $03bb,x
        bmi loc_11d0
        ldy $0391,x
        lda $1764,y
        sta $03b2,x

loc_11d0:
        lda $03b2,x

loc_11d3:
        ldy $1703,x
        sta $d404,y
        lda $03cd,x
        clc
        adc $03d3,x
        sta $d400,y
        lda $03d0,x
        adc $03d6,x
.label sub_11ea = * + 1
        sta $d401,y
        lda $03f7,x
        sta $d402,y
        lda $03fa,x
        sta $d403,y
        rts
// Referenced by: jsr from $1198

sub_11f9:
        lda $03be,x
        and #$0f
        sta $03ff
        lsr $03ff
        ldy $03ee,x
        bmi loc_1210
        dec $03f1,x
        bne loc_1221
// Referenced by: jsr from $0ff2

sub_120e:
        beq loc_121b

loc_1210:
        inc $03f1,x
        cmp $03f1,x
        bcs loc_1221
        sta $03f1,x

loc_121b:
        tya
        eor #$ff
        sta $03ee,x

loc_1221:
.label smc_1222 = * + 1
        ldy #$46                                    // !SMC: modified by $10fc
        lda $1641,y
        sec
        sbc $03cd,x
        sta $10
        lda $16a1,y
        sbc $03d0,x
        ldy $03be,x
        bpl loc_123a
        adc $0388,x

loc_123a:
        sta $11
        lda $03be,x
        and #$70
        lsr
        lsr
        lsr
        lsr
        tay

loc_1246:
        lsr $11
        ror $10
        dey
        bpl loc_1246
        lda $03ff
        sec
        sbc $03f1,x
        bmi loc_126e
        tay

loc_1257:
        dey
        bmi loc_128a
        clc
        lda $03cd,x
        adc $10
        sta $03cd,x
        lda $03d0,x
        adc $11
        sta $03d0,x
        jmp loc_1257

loc_126e:
        lda $03f1,x
        sec
        sbc $03ff
        tay

loc_1276:
        lda $03cd,x
        sec
        sbc $10
        sta $03cd,x
        lda $03d0,x
        sbc $11
        sta $03d0,x
        dey
        bne loc_1276

loc_128a:
        rts

// Referenced by: jsr from $116b
sub_128b: {
        dec $03c4,x
        bpl skip
        lda $1724,y
        sta $03c4,x
skip:
        lda $170c,y
        clc
        adc $03c4,x
        tay
        lda $1713,y
        sta $03c7,x
        rts
}
// Referenced by: jsr from $1163

sub_12a5:
        sta smc_12b8                                // SMC: modifies $12b8
        sta smc_12cf                                // SMC: modifies $12cf
        ldy $038e,x
        lda $03f4,x
        bne loc_12ca
        lda $03f7,x
        clc
.label smc_12b8 = * + 1
        adc #$f0                                    // !SMC: modified by $12a5
        pha
        lda $03fa,x
        adc $03c1,x
        cmp $17d3,y
        bcc loc_1304
        inc $03f4,x
        bne loc_12e3

loc_12ca:
        lda $03f7,x
        sec
.label smc_12cf = * + 1
        sbc #$f0                                    // !SMC: modified by $12a8
        pha
        lda $03fa,x
        sbc $03c1,x
        cmp $17e1,y
        bmi loc_12de
        bcs loc_1304

loc_12de:
        lda #$00
        sta $03f4,x

loc_12e3:
        lda $03bb,x
        and #$10
        beq loc_1302
        lda $03bb,x
        and #$20
        sta $03f4,x
        ldy $0391,x
        lda $1767,y
        and #$0f
        sta $03fa,x
        lda #$00
        sta $03f7,x

loc_1302:
        pla
        rts

loc_1304:
        sta $03fa,x
        pla
        sta $03f7,x
        rts
// Referenced by: jsr from $1153

sub_130c:
        ldy #$01
.label smc_130f = * + 1
        lda #$00                                    // !SMC: modified by $1320
        bmi dat_1324
        lda $03fd
        clc
        adc $03fe
        cmp $1820,y
        bcc loc_1336
        lda #$ff
        sta smc_130f                                // SMC: modifies $130f
        rts

dat_1324:
        .byte $ad,$fd,$03,$38,$ed,$fe,$03           // ...8...

loc_132b:
        cmp $1822,y
        bcs loc_1336
        lda #$00
        sta smc_130f
        rts

loc_1336:
.label sub_1338 = * + 2
        sta $03fd
        sta $d416
        cmp $1824,y
        bne $1346
        lda #$00
        sta $03fe

loc_1346:
        rts
// Referenced by: jsr from $111b

sub_1347:
        lda $03e2,x
        sta smc_136c                                // SMC: modifies $136c
        sta smc_1370                                // SMC: modifies $1370
        dec smc_136c
        dec smc_1370
        clc
        adc $03df,x
        sta $03e2,x
// Referenced by: jsr from $14dd

sub_135d:
        ldy #$07
        lda $03e8,x

loc_1362:
        asl $03d9,x
        rol $03dc,x
        rol
        bcs loc_136f
.label smc_136c = * + 1
        cmp #$09                                    // !SMC: modified by $134a, $147b
        bcc loc_1374

loc_136f:
.label smc_1370 = * + 1
        sbc #$09                                    // !SMC: modified by $134d, $147e
        inc $03d9,x

loc_1374:
        dey
        bpl loc_1362
        sta $03e8,x
        rts
// Referenced by: jsr from $114b

sub_137b:
        php
        and #$7f
        sta $03d9,x
        lda #$00
        sta $03dc,x
        asl $03d9,x
        rol $03dc,x
        asl $03d9,x
        rol $03dc,x
        plp
        bpl loc_13b3
        bmi loc_139f
// Referenced by: jsr from $112d

sub_1397:
        lda $0397,x
        cmp $03e5,x
        bcc loc_13b3

loc_139f:
        lda $03d3,x
        sec
        sbc $03d9,x
        sta $03d3,x
        lda $03d6,x
        sbc $03dc,x
        sta $03d6,x
        rts

loc_13b3:
        lda $03d3,x
        clc
        adc $03d9,x
        sta $03d3,x
        lda $03d6,x
        adc $03dc,x
        sta $03d6,x
        rts

loc_13c7:
.label smc_13c8 = * + 1
        lda #$ff                                    // !SMC: modified by $1022
        bpl loc_13f0

loc_13cb:
        ldy $03a0,x
        lda $186b,y
        sta $10
        lda $1878,y
        sta $11

loc_13d8:
        ldy $03a3,x
        lda ($10),y
        cmp #$ff
        bne loc_13f6
        lda $03af,x
        beq loc_13f0
        dec $03af,x
        lda #$00
        sta $03a3,x
        beq loc_13d8

loc_13f0:
        jsr sub_1555
        jmp loc_13cb

loc_13f6:
        lda #$00
        sta $03ff
        sta $0388,x
        sta $03e2,x
        sta $03eb,x

loc_1404:
        lda ($10),y
        bmi loc_1413
        sta $0397,x

loc_140b:
        iny
        tya
        sta $03a3,x
        jmp loc_14e5

loc_1413:
        cmp #$c0
        bcc loc_1438
        cmp #$e0
        bcc loc_1444
        cmp #$f0
        bcc loc_144c
        beq loc_146f
        cmp #$f1
        beq loc_142f
        cmp #$f2
        beq loc_1454
        cmp #$f3
        beq loc_145c
        bne loc_1464

loc_142f:
        iny
        lda ($10),y
        sta $03eb,x
        iny
        bne loc_1404

loc_1438:
        and #$3f
        clc
        adc $03ff
        sta $03ff
        iny
        bne loc_1404

loc_1444:
        and #$1f
        sta $038e,x
        iny
        bne loc_1404

loc_144c:
        and #$0f
        sta $03ca,x
        iny
        bne loc_1404

loc_1454:
        lda #$ff
        sta smc_1081                                // SMC: modifies $1081
        iny
        bne loc_1404

loc_145c:
        lda #$00
        sta smc_1081                                // SMC: modifies $1081
        iny
        bne loc_1404

loc_1464:
        lda #$00
        sta $d417
        sta $03fe
        iny
        bne loc_1404

loc_146f:
        iny
        lda ($10),y
        sta $03df,x
        iny
        lda ($10),y
        sta $03e2,x
        sta smc_136c                                // SMC: modifies $136c
        sta smc_1370                                // SMC: modifies $1370
        dec smc_136c
        dec smc_1370
        iny
        lda ($10),y
        sta $0397,x
        iny
        tya
        pha
        lda ($10),y
        sta $03e5,x
        clc
        adc $039d,x
        tay
        lda $16a0,y
        pha
        lda $1640,y
        pha
        lda $0397,x
        adc $039d,x
        tay
        pla
        sec
        sbc $1640,y
        sta $03d9,x
        pla
        sbc $16a0,y
        sta $03dc,x
        lda #$00
        sta $03e8,x
        lda $0397,x
        cmp $03e5,x
        bcc loc_14dd
        lda $03d9,x
        eor #$ff
        sta $03d9,x
        lda $03dc,x
        eor #$ff
        sta $03dc,x
        inc $03d9,x
        bne loc_14dd
        inc $03dc,x

loc_14dd:
        jsr sub_135d
        pla
        tay
        jmp loc_140b

loc_14e5:
        lda $03ff
        beq loc_14ed
        sta $0385,x

loc_14ed:
        lda $0385,x
        sta $0380,x
        lda $038b,x
        beq loc_14fb
        sta $038e,x

loc_14fb:
        lda $038e,x
        asl
        asl
        asl
        sta $0391,x
        tay
        lda $1763,y
        sta $03b2,x
        sta $0394,x
        lda $1767,y
        lsr
        lsr
        lsr
        lsr
        sta $03c1,x
        lda $1769,y
        sta $03bb,x
        and #$01
        beq loc_1534
        sta $03ee,x
        lda $176a,y
        sta $03be,x
        and #$0f
        lsr
        sta $03f1,x
        inc $03f1,x

loc_1534:
        lda $03bb,x
        bmi loc_153a
        rts

loc_153a:
        ldy $0394,x
        lda $172b,y
        sta $10
        lda $172e,y
        sta $11
        ldy #$00
        lda ($10),y
        sta $03b5,x
        iny
        lda ($10),y
        sta $03b8,x
        rts
// Referenced by: jsr from $13f0

sub_1555:
        lda #$00
        sta $03a3,x
        sta $03ca,x
        ldy $03a6,x
        lda $03a9,x
        sta $10
        lda $03ac,x
        sta $11

loc_156a:
        lda ($10),y
        cmp #$40
        bcc loc_15b0
        cmp #$80
        bcc loc_158d
        cmp #$c0
        bcc loc_1595
        cmp #$ff
        beq loc_15ac
        cmp #$d0
        bcc loc_159d
        cmp #$fe
        beq loc_15a5
        sec
        sbc #$d0
        sta $038b,x
        iny
        bne loc_156a

loc_158d:
        and #$3f
        sta $03af,x
        iny
        bne loc_156a

loc_1595:
        and #$3f
        sta $039d,x
        iny
        bne loc_156a

loc_159d:
        and #$0f
        sta $d418
        iny
        bne loc_156a

loc_15a5:
        ldy #$00
        sty smc_1001                                // SMC: modifies $1001
        beq loc_156a

loc_15ac:
        ldy #$00
        beq loc_156a

loc_15b0:
        sta $03a0,x
        iny
        tya
        sta $03a6,x
        rts

// --- Region $168d-$16ac ---
.pc = $168d "Segment $168d"
        .byte $83,$d6                               // sax ($d6,x) // ILLEGAL
        adc $c773,y
        .byte $7c,$97,$1e                           // nop $1e97,x // ILLEGAL
        clc
        .byte $8b,$7e                               // ane #$7e // ILLEGAL
        .byte $fa                                   // nop // ILLEGAL
        asl $ac
        .byte $f3,$e6                               // isc ($e6),y // ILLEGAL
        .byte $8f,$f8,$2e                           // sax $2ef8 // ILLEGAL
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        ora ($01,x)
        .byte $02                                   // jam // ILLEGAL

// --- Region $1af0-$1d1f ---
.pc = $1af0 "sub_1af0"

// Referenced by: jsr from $0916, $0979, $0ac3, $0d52
sub_1af0: {
        ldx $44
        ldy #$00
        jsr sub_1bc0
loop:
        lda scr_3000,x
        sta $0400,y
        lda $3050,x
        sta $0428,y
        lda $30a0,x
        sta $0450,y
        lda $30f0,x
        sta $0478,y
        lda $3140,x
        sta $04a0,y
        lda $3190,x
        sta $04c8,y
        inx
        iny
        cpy #$28
        bne loop
        inc $44
        rts
}

// Referenced by: jsr from $085c, $0a70
sub_1b24: {
        ldx $45
        ldy #$01
        jsr sub_1bc0
loop:
        lda scr_3000,x
        sta $04f0,y
        lda $3050,x
        sta $0518,y
        lda $30a0,x
        sta $0540,y
        lda $30f0,x
        sta $0568,y
        lda $3140,x
        sta $0590,y
        lda $3190,x
        sta $05b8,y
        inx
        iny
        cpy #$28
        bne loop
        inc $45
        rts
}

// Referenced by: jsr from $089c
sub_1b58: {
        ldx $46
        ldy #$02
        jsr sub_1bc0
loop:
        lda scr_3000,x
        sta $05e0,y
        lda $3050,x
        sta $0608,y
        lda $30a0,x
        sta $0630,y
        lda $30f0,x
        sta $0658,y
        lda $3140,x
        sta $0680,y
        lda $3190,x
        sta $06a8,y
        inx
        iny
        cpy #$28
        bne loop
        inc $46
        rts
}

// Referenced by: jsr from $08d9, $0cdd
sub_1b8c: {
        ldx $47
        ldy #$03
        jsr sub_1bc0
loop:
        lda scr_3000,x
        sta $06d0,y
        lda $3050,x
        sta $06f8,y
        lda $30a0,x
        sta $0720,y
        lda $30f0,x
        sta $0748,y
        lda $3140,x
        sta $0770,y
        lda $3190,x
        sta $0798,y
        inx
        iny
        cpy #$28
        bne loop
        inc $47
        rts
}
// Referenced by: jsr from $1af4, $1b28, $1b5c, $1b90

sub_1bc0:
        lda spr_1e00,x
        and #$07
        ora #$d0
        eor #$07
        sta $1d98,y
        lda spr_1e00,x
        lsr
        lsr
        lsr
        clc
        adc #$0f
        tax
        ldy #$00
        rts

// Referenced by: jsr from $082d
sub_1bd9: {
        ldx #$00
loop1:
        txa
        sta $0400,x
        sta $04f0,x
        sta $05e0,x
        sta $06d0,x
        lda #$08
        sta $d800,x
        sta $d8f0,x
        sta $d9e0,x
        sta $dad0,x
        inx
        cpx #$f0
        bne loop1
        lda #$00
        sta $d020
        ldx #$00
loop2:
        lda #$00
        sta $d021,x
        inx
        cpx #$03
        bne loop2
        lda #$19
        sta $d018
        ldx #$00
loop3:
        lda #$00
        sta $07c0,x
        lda #$08
        sta $dbc0,x
        inx
        cpx #$28
        bne loop3
        lda $d012
        and #$07
        sta $04
        lda #$2c
        sta $02
        lda #$1d
        sta $03
        ldx #$00
        cpx $04
        beq skip
        lda $02
        clc
        adc #$0c
        sta $02
        lda $03
        adc #$00
        sta $03
        inx
        jmp $1c33
skip:
        ldy #$00
loop5:
        lda ($02),y
        sta $1d8c,y
        lda #$00
        sta dat_1d20,y
        iny
        cpy #$0c
        bne loop5
        ldx #$00
loop6:
        lda $1d9c,x
        sta $40,x
        inx
        cpx #$10
        bne loop6
        ldx #$00
        lda #$d0
loop7:
        sta $1d98,x
        inx
        cpx #$04
        bne loop7
        lda #$00
        sta smc_0944                                // SMC: modifies $0944
        lda #$02
        sta $0948
        lda #$0c
        sta $0a0e
        lda #$2d
        sta smc_0a55                                // SMC: modifies $0a55
        lda #$01
        sta smc_0aa8                                // SMC: modifies $0aa8
        lda $3fff
        sta smc_0b87                                // SMC: modifies $0b87
        lda #$ff
        sta $3fff
        ldy #$e0
        ldx #$00
loop8:
        tya
        sta $07f8,x
        lda $1d8d
        sta $d027,x
        iny
        inx
        cpx #$08
        bne loop8
        lda #$ff
        sta $d01c
        lda $1d8e
        sta $d025
        lda $1d8c
        sta $d026
        lda #$e0
        sta $1de8
        sta $1de9
        lda #$18
        ldx #$00
loop9:
        sta $1dd8,x
        sta $1de0,x
        clc
        adc #$30
        inx
        cpx #$08
        bne loop9
        lda #$00
        sta $fb
        lda #$32
        sta $fc
        ldx #$00
loop10:
        lda $fb
        sta $1f80,x
        lda $fc
        sta $1fc0,x
        lda $fb
        clc
        adc #$09
        sta $fb
        lda $fc
        adc #$00
        sta $fc
        inx
        cpx #$40
        bne loop10
        rts
}
// Referenced by: jsr from $0830

sub_1cfb:
        lda #$01
        sta smc_1001                                // SMC: modifies $1001
        sei
        lda #$39
        sta $0314
        lda #$08
        sta $0315
        ldx #$00
        stx $dc0e
        inx
        stx $d01a
        lda #$1b
        sta $d011
        lda #$32
        sta $d012
        cli
        rts

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

// --- Region $0949-$0955 ---
.pc = $0949 "Program $0949"
        .byte $d0,$08,$a9,$02,$85,$43,$a9,$09,$85,$42,$ce,$48,$09 // .....C...B.H.

// --- Region $09a2-$09be ---
.pc = $09a2 "dat_09a2"

dat_09a2:
        .byte $c9,$09,$f8,$09,$f9,$09,$93,$05       // ........

txt_09aa:
        .text "INTRO:SKYLINE/IMAGE D"

// --- Region $0e45-$0e4f ---
.pc = $0e45 "dat_0e45"

dat_0e45:
        .byte $01,$02,$04,$08,$10,$20,$40,$80,$07,$00,$0b // ..... @....

// --- Region $1005-$100c ---
.pc = $1005 "Segment $1005"
        .byte $03,$4c,$b9,$15,$8c,$18,$d4,$60       // .L.....`

// --- Region $1084-$10ad ---
.pc = $1084 "dat_1084"

dat_1084:
        .byte $8d,$0d,$13,$0a,$0a,$a8,$b9,$15,$18,$8d,$18,$d4,$b9,$16,$18,$18 // ................
        .byte $7d,$00,$17,$8d,$17,$d4,$b9,$17,$18,$8d,$fd,$03,$8d,$16,$d4,$b9 // }...............
        .byte $18,$18,$8d,$0f,$13,$29,$7f,$8d,$fe,$03 // .....)....

// --- Region $15b9-$168c ---
.pc = $15b9 "dat_15b9"

dat_15b9:
        .byte $a2,$17,$a9,$08,$9d,$00,$d4,$a9,$00,$9d,$00,$d4,$ca,$10,$f3,$8e // ................
        .byte $01,$10,$8d,$83,$03,$8d,$c8,$13,$8d,$81,$10,$8d,$fe,$03,$a9,$0f // ................
        .byte $8d,$18,$d4,$88,$b9,$06,$17,$8d,$84,$03,$98,$0a,$85,$10,$0a,$18 // ................
        .byte $65,$10,$a8,$a2,$00,$b9,$07,$17,$9d,$a9,$03,$c8,$b9,$07,$17,$9d // e...............
        .byte $ac,$03,$a9,$01,$9d,$80,$03,$a9,$00,$9d,$a6,$03,$9d,$af,$03,$9d // ................
        .byte $8b,$03,$c8,$e8,$e0,$03,$d0,$dd,$60   // ........`

txt_1612:
        .text ">>> MUSICROUTINE BY 20CC , MUSIC BY D418 !!<<<"
        .byte $0c,$1c,$2d,$3e,$51,$66,$7b,$91,$a9,$c3,$dd,$fa,$18,$38,$5a,$7d // ..->Qf{......8Z}
        .byte $a3,$cc,$f6,$23,$53,$86,$bb,$f4,$30,$70,$b4,$fb,$47,$98,$ed,$47 // ...#S...0p..G..G
        .byte $b0,$0c,$77,$e9,$61,$e1,$68,$f7,$8f,$30,$da,$8f,$4e,$18,$ef,$d2 // ..w.a.h..0..N...
        .byte $c3,$c3,$d1,$ef,$1f,$60,$b5,$1e,$9c,$31,$df,$a5,$87,$86,$a2,$df // .....`...1......

spr_1680:
        // === Sprite data (13 bytes, $1680-$168c) ===
        .byte $3e,$c1,$6b                           // ..#####.##.....#.##.#.##
        .byte $3c,$39,$63                           // ..####....###..#.##...##
        .byte $be,$4b,$0f                           // #.#####..#..#.##....####
        .byte $0c,$45,$bf                           // ....##...#...#.##.######
        .byte $7d

// --- Region $16ad-$1aef ---
.pc = $16ad "spr_16ad"

spr_16ad:
        // === Sprite data (19 bytes, $16ad-$16bf) ===
        .byte $02,$02,$02                           // ......#.......#.......#.
        .byte $02,$02,$02                           // ......#.......#.......#.
        .byte $03,$03,$03                           // ......##......##......##
        .byte $03,$03,$04                           // ......##......##.....#..
        .byte $04,$04,$04                           // .....#.......#.......#..
        .byte $05,$05,$05                           // .....#.#.....#.#.....#.#
        .byte $06
        .byte $06,$07,$07,$07,$08,$08,$09,$09,$0a,$0b,$0b,$0c,$0d,$0e,$0e,$0f // ................
        .byte $10,$11,$12,$13,$15,$16,$17,$19,$1a,$1c,$1d,$1f // ............

txt_16dc:
        .text "!#%'*,/258;?CGKOTY"
        .byte $5e,$64,$6a,$70,$77,$7e,$86,$8e,$96,$9f,$a8,$b3,$bd,$c8,$d4,$e1 // ^djpw~..........
        .byte $ee,$fd,$01,$02,$04,$00,$07,$0e,$02,$27,$18,$38,$18,$4a,$18,$00 // .........'.8.J..
        .byte $03,$06,$09,$0c,$0f,$00,$07,$03,$00,$08,$03,$00,$07,$04,$00,$09 // ................
        .byte $04,$00,$08,$05,$00,$09,$05,$02,$02,$02,$02,$02,$02,$31,$45,$57 // .............1EW
        .byte $17,$17,$17,$02,$07,$19,$81,$41,$40,$ff,$00,$40,$0a,$08,$06,$04 // .......A@..@....
        .byte $05,$06,$05,$04,$06,$05,$80,$02,$08,$19,$81,$41,$40,$80,$ff,$00 // ...........A@...
        .byte $30,$00,$ff
        .text "0,0,0"
        .byte $80,$02,$06
        .byte $49,$81
        .byte $40,$ff,$00
        .byte $a0,$09,$08,$07,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$08 // ................
        .byte $d8,$08,$40,$88,$00,$01,$00,$08,$f7,$08,$00,$88,$00,$51,$40,$00 // ..@..........Q@.
        .byte $ad,$08,$48,$41,$e4,$51,$40,$00,$86,$08,$f0,$40,$00,$51,$40,$08 // ..HA.Q@....@.Q@.
        .byte $fd,$09,$60,$00,$00,$41,$40,$99,$fc,$0f,$48,$20,$00,$01,$40,$00 // ..`..A@...H ..@.
        .byte $99,$08,$a0
        .text "A$Q"
        .byte $40                                   // @ character
        .byte $00,$a9,$08,$f0,$00,$00
        .byte $41,$40,$00
        .byte $bf,$08,$40,$00,$00,$01,$40,$00,$ad,$08,$98,$41,$24,$02,$00,$08 // ..@...@....A$...
        .byte $f8,$08,$00,$80,$00,$00,$00,$08,$d8,$08,$40,$88,$00,$41,$40,$99 // ..........@..A@.
        .byte $fc,$0f,$48,$20,$00,$00,$0a,$00,$0c,$0c,$0c,$10,$0d,$0d,$0d,$0c // ..H ............
        .byte $0a,$0a,$10,$00,$08,$00,$06,$02,$07,$0e,$02,$02,$07,$08,$08,$08 // ................
        .byte $0e,$03,$03,$03,$03,$03,$03,$18,$03,$03,$03,$03,$03,$03,$10,$00 // ................
        .byte $00,$00,$06,$00,$00,$00,$08,$00,$00,$0c,$00,$00,$00,$80,$80,$80 // ................
        .byte $80,$80,$01,$80,$80,$80,$80,$80,$80,$00,$02,$3f,$f0,$30,$04,$3f // ...........?.0.?
        .byte $f0,$28,$06,$40,$48,$10,$28,$a0,$a0,$8a,$41,$0a,$44,$02,$05,$02 // .(.@H.(...A.D...
        .byte $0a,$02,$41,$0a,$8b,$43,$02,$41,$02,$ff,$8a,$41,$09,$44,$03,$06 // ..A..C.A...A.D..
        .byte $0c,$09,$03,$41,$09,$8b,$43,$03,$90,$43,$0b,$ff,$8f,$41,$04,$00 // ...A..C..C...A..
        .byte $04,$8a,$41,$01,$8f,$00,$04,$00,$04,$07,$da,$8a,$01,$d0,$95,$08 // ..A.............
        .byte $8a,$01,$8f,$41,$04,$8b,$41,$01,$da,$43,$01,$d0,$ff,$85,$8a,$c4 // ...A..A..C......
        .byte $35,$8b,$ad,$e6,$2f,$4b,$5f,$fc,$9a,$bb,$18,$18,$18,$19,$19,$19 // 5.../K_.........
        .byte $19,$1a,$1a,$19,$18,$1a,$1a,$c0,$a0,$a0,$00,$ff,$c3,$82,$30,$32 // ..............02
        .byte $33,$94,$2b,$82,$30,$82,$32,$33,$84,$32,$82,$2e,$86,$2b,$30,$29 // 3.+.0.23.2...+0)
        .byte $84,$30,$f0,$00,$08,$33,$35,$82,$30,$32,$33,$94,$2b,$82,$2b,$30 // .0...35.023.+.+0
        .byte $32,$84,$33,$84,$32,$84,$30,$82,$2c,$84,$f0,$00,$0a,$33,$35,$33 // 2.3.2.0.,....353
        .byte $32,$82,$2e,$30,$32,$ff,$c1,$82,$00,$c4 // 2..02.....

txt_18c8:
        .text "<0<"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $2c,$c4                               // ,.

txt_18ce:
        .text "0<"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $00,$00,$c4,$30,$c1,$00,$c4,$3c,$c2,$2c,$c4,$3c,$c1,$00,$c4,$30 // ...0...<.,.<...0
        .byte $c1,$00,$c4                           // ...

txt_18e4:
        .text ">2>"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $2c,$c4                               // ,.

txt_18ea:
        .text "2>"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $00,$00,$c4,$2e,$c1,$00,$c4,$3a,$c2,$2c,$c1,$00,$c2 // .......:.,...

txt_18fa:
        .text ",,"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $82,$00,$c4                           // ...

txt_1900:
        .text "<0<"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $2c,$c4                               // ,.

txt_1906:
        .text "0<"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $00,$00,$c4,$30,$c1,$00,$c4,$3c,$c2,$2c,$c4,$3c,$c1,$00,$c4,$30 // ...0...<.,.<...0
        .byte $c1,$00,$c4                           // ...

txt_191c:
        .text "8,8"
        .byte $c2                                   // 'B' | $80 (end-of-string marker)
        .byte $2c,$c4                               // ,.

txt_1922:
        .text ",8"
        .byte $c1                                   // 'A' | $80 (end-of-string marker)
        .byte $00,$00,$c4,$2e,$c1,$00,$c4,$3a,$c2,$2c,$c1,$00,$c2,$2c,$2c,$ff // .......:.,...,,.
        .byte $c5,$84,$0c,$f2,$82,$18,$0c,$84,$0c,$82,$18,$0c,$84,$0c,$82,$18 // ................
        .byte $0c,$84,$0c,$82,$18,$0c,$84,$07,$82,$13,$07,$84,$07,$82,$13,$07 // ................
        .byte $84,$0a,$82,$16,$0a,$84,$0a,$82,$16,$0a,$c5,$84,$0c,$f2,$82,$18 // ................
        .byte $0c,$84,$0c,$82,$18,$0c,$84,$0c,$82,$18,$0c,$84,$0c,$82,$18,$0c // ................
        .byte $84,$08,$82,$14,$08,$84,$08,$82,$14,$08,$84 // ...........

spr_1980:
        // === Sprite data (64 bytes, $1980-$19bf) ===
        .byte $0a,$82,$16                           // ....#.#.#.....#....#.##.
        .byte $0a,$84,$0a                           // ....#.#.#....#......#.#.
        .byte $82,$16,$f3                           // #.....#....#.##.####..##
        .byte $0a,$ff,$e0                           // ....#.#.###########.....
        .byte $c7,$82,$37                           // ##...####.....#...##.###
        .byte $32,$84,$2b                           // ..##..#.#....#....#.#.##
        .byte $84,$35,$82                           // #....#....##.#.##.....#.
        .byte $37,$84,$35                           // ..##.####....#....##.#.#
        .byte $35,$82

txt_199a:
        .byte $32
        .byte $35,$32,$35                           // ..##.#.#..##..#...##.#.#
        .byte $37,$cb,$14                           // ..##.#####..#.##...#.#..
        .byte $14,$84,$12                           // ...#.#..#....#.....#..#.
        .byte $11,$82,$0f                           // ...#...##.....#.....####
        .byte $0e,$90,$c6                           // ....###.#..#....##...##.
        .byte $e1,$2b,$ff                           // ###....#..#.#.##########
        .byte $c0,$84,$00                           // ##......#....#..........
        .byte $c7,$84,$2b                           // ##...####....#....#.#.##
        .byte $86,$30,$84                           // #....##...##....#....#..
        .byte $2e,$2e,$2e                           // ..#.###...#.###...#.###.
        .byte $82,$2b,$2e                           // #.....#...#.#.##..#.###.
        .byte $86,$30,$84                           // #....##...##....#....#..
        .byte $2e                                   // sprite 0 padding
        .byte $86,$2c,$84                           // #....##...#.##..#....#..
        .byte $2c,$2c,$2e                           // ..#.##....#.##....#.###.
        .byte $82,$2c,$2e                           // #.....#...#.##....#.###.
        .byte $86,$30,$c7                           // #....##...##....##...###
        .byte $84,$2b,$86                           // #....#....#.#.###....##.
        .byte $30,$84,$2e                           // ..##....#....#....#.###.
        .byte $2e,$2e,$82                           // ..#.###...#.###.#.....#.
        .byte $2b,$2e,$86                           // ..#.#.##..#.###.#....##.
        .byte $30,$84,$30                           // ..##....#....#....##....
        .byte $86,$30,$84                           // #....##...##....#....#..
        .byte $32,$32,$32                           // ..##..#...##..#...##..#.
        .byte $82,$32,$33                           // #.....#...##..#...##..##
        .byte $32,$ff,$c1                           // ..##..#.##########.....#
        .byte $84,$00,$c8                           // #....#..........##..#...
        .byte $84,$30,$86                           // #....#....##....#....##.
        .byte $33,$84,$32                           // ..##..###....#....##..#.
        .byte $32,$32,$82                           // ..##..#...##..#.#.....#.
        .byte $30,$32,$82                           // ..##......##..#.#.....#.
        .byte $33,$c1,$84                           // ..##..####.....##....#..
        .byte $00,$c8,$84                           // ........##..#...#....#..
        .byte $32,$86,$30                           // ..##..#.#....##...##....
        .byte $84                                   // sprite 1 padding
        .byte $30,$30,$32                           // ..##......##......##..#.
        .byte $82,$30,$32                           // #.....#...##......##..#.
        .byte $82,$33,$c1                           // #.....#...##..####.....#
        .byte $84,$00,$c8                           // #....#..........##..#...
        .byte $84,$30,$86                           // #....#....##....#....##.
        .byte $33,$84,$32                           // ..##..###....#....##..#.
        .byte $32,$32,$82                           // ..##..#...##..#.#.....#.
        .byte $30,$32,$82                           // ..##......##..#.#.....#.
        .byte $33,$c1,$84                           // ..##..####.....##....#..
        .byte $00,$c8,$84                           // ........##..#...#....#..
        .byte $33,$86,$33                           // ..##..###....##...##..##
        .byte $82,$35,$c2                           // #.....#...##.#.###....#.
        .byte $c1,$00,$84                           // ##.....#........#....#..
        .byte $c8,$35,$35                           // ##..#.....##.#.#..##.#.#
        .byte $82,$35,$37                           // #.....#...##.#.#..##.###
        .byte $35,$ff,$c5                           // ..##.#.###########...#.#
        .byte $88,$13,$cc                           // #...#......#..####..##..
        .byte $00,$00,$00                           // ........................
        .byte $c5,$0f,$cc                           // ##...#.#....######..##..
        .byte $00,$00,$00                           // ........................
        .byte $c5,$13,$cc                           // ##...#.#...#..####..##..
        .byte $00                                   // sprite 2 padding
        .byte $00,$00,$c5                           // ................##...#.#
        .byte $0f,$cc,$00                           // ....######..##..........
        .byte $c5,$11,$cc                           // ##...#.#...#...###..##..
        .byte $00,$ff,$c9                           // ........##########..#..#
        .byte $81,$f0,$00                           // #......#####............
        .byte $04,$20,$28                           // .....#....#.......#.#...
        .byte $f0,$00,$04                           // ####.................#..
        .byte $28,$20,$f0                           // ..#.#.....#.....####....
        .byte $00,$04,$20                           // .............#....#.....
        .byte $28,$f0,$00                           // ..#.#...####............
        .byte $04,$28,$20                           // .....#....#.#.....#.....
        .byte $82,$f0,$00                           // #.....#.####............
        .byte $06,$20,$28                           // .....##...#.......#.#...
        .byte $f0,$00,$06                           // ####.................##.
        .byte $28,$20,$83                           // ..#.#.....#.....#.....##
        .byte $f0,$00,$08                           // ####................#...
        .byte $20,$28,$f0                           // ..#.......#.#...####....
        .byte $00,$08,$28                           // ............#.....#.#...
        .byte $20,$84,$f0                           // ..#.....#....#..####....
        .byte $00,$0a,$20                           // ............#.#...#.....
        .byte $28,$f0,$00                           // ..#.#...####............
        .byte $0a                                   // sprite 3 padding
        .byte $28,$1c,$86                           // ..#.#......###..#....##.
        .byte $f0,$00,$0c                           // ####................##..
        .byte $1c,$28,$f0                           // ...###....#.#...####....
        .byte $00,$0c,$28                           // ............##....#.#...
        .byte $1a,$88,$f0                           // ...##.#.#...#...####....
        .byte $00,$0d,$1a                           // ............##.#...##.#.
        .byte $28,$96,$f0                           // ..#.#...#..#.##.####....
        .byte $00,$42,$28                           // .........#....#...#.#...
        .byte $00,$ff,$e0                           // ........###########.....
        .byte $f4,$c7,$82                           // ####.#..##...####.....#.
        .byte $37,$32,$84                           // ..##.###..##..#.#....#..
        .byte $2b,$84,$35                           // ..#.#.###....#....##.#.#
        .byte $82,$37,$84                           // #.....#...##.####....#..
        .byte $35,$35,$82                           // ..##.#.#..##.#.##.....#.

txt_1aaa:
        .text "25257"
        .byte $cb                                   // 'K' | $80 (end-of-string marker)
        .byte $14,$14,$84,$12,$11,$0f,$90,$cd,$e1,$2b,$ff,$c5,$84,$0c,$f2,$82 // .........+......
        .byte $18,$0c,$84,$0c,$82,$18,$0c,$84,$0c,$82,$18,$0c,$84,$0c,$82,$18 // ................
        .byte $0c,$84,$07,$82,$13,$07,$84,$07,$82,$13,$07,$84,$0a,$82,$16,$0a // ................
        .byte $84,$0a,$82,$16,$f3,$0a,$f4,$c9,$a0,$a0,$f0,$00,$be,$00,$2b,$ff // ..............+.

// --- Region $1d20-$3000 ---
.pc = $1d20 "dat_1d20"

dat_1d20:
        .byte $00,$00,$00,$0d,$0a,$04,$0f,$0a,$04,$0d,$05,$08,$01,$0d,$05,$03 // ................
        .byte $0d,$05,$0d,$05,$08,$0d,$05,$09,$0d,$05,$09,$0d,$05,$08,$03,$0d // ................
        .byte $05,$01,$0d,$05,$01,$0e,$06,$03,$0e,$06,$0f,$0e,$06,$0f,$0c,$06 // ................
        .byte $0f,$0c,$06,$0f,$0e,$06,$03,$0e,$06,$01,$0e,$06,$0f,$0a,$04,$0d // ................
        .byte $0a,$04,$0d,$05,$04,$0d,$05,$08,$0d,$05,$08,$0d,$05,$04,$0d,$0a // ................
        .byte $04,$0f,$0a,$04,$0d,$05,$08,$0f,$0a,$02,$0d,$0a,$04,$03,$0e,$06 // ................
        .byte $0d,$05,$08,$03,$0e,$06,$0f,$0c,$0b,$0d,$0a,$04,$0f,$0c,$06,$0f // ................
        .byte $0e,$06,$03,$0e,$06,$01,$0e,$06,$d0,$d2,$d0,$d0,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$10,$50,$10,$50,$d7,$00,$3c,$00,$00,$0b,$0c,$0f // .....P.P..<.....
        .byte $01,$01,$01,$0f,$0c,$0b,$00,$00,$00,$00,$06,$06,$06,$06,$0e,$0e // ................
        .byte $0e,$0e,$03,$03,$03,$03,$01,$01,$01,$01,$03,$03,$03,$03,$0e,$0e // ................
        .byte $0e,$0e,$06,$06,$06,$06,$00,$00,$58,$88,$b8,$e8,$18,$48,$78,$a8 // ........X....Hx.
        .byte $d0,$00,$30,$60,$26,$56,$86,$b6,$f0,$0e,$0f,$0a,$02,$0d,$0a,$04 // ..0`&V..........
        .byte $a0,$bb,$b9,$00,$01,$99,$00,$06,$c8,$d0,$f7,$a9,$07,$85,$31,$85 // ..............1.

spr_1e00:
        // === Sprite data (64 bytes, $1e00-$1e3f) ===
        .byte $86,$8c,$92                           // #....##.#...##..#..#..#.
        .byte $98,$9e,$a4                           // #..##...#..####.#.#..#..
        .byte $aa,$b0,$b6                           // #.#.#.#.#.##....#.##.##.
        .byte $bb,$c1,$c6                           // #.###.####.....###...##.
        .byte $cb,$d0,$d5                           // ##..#.####.#....##.#.#.#
        .byte $d9,$de,$e2                           // ##.##..###.####.###...#.
        .byte $e6,$e9,$ec                           // ###..##.###.#..####.##..
        .byte $f0,$f2,$f5                           // ####....####..#.####.#.#
        .byte $f7,$f9,$fb                           // ####.########..######.##
        .byte $fc,$fd,$fe                           // ######..######.########.
        .byte $fe,$ff,$fe                           // #######.###############.
        .byte $fe,$fd,$fc                           // #######.######.#######..
        .byte $fb,$f9,$f7                           // #####.#######..#####.###
        .byte $f5,$f2,$f0                           // ####.#.#####..#.####....
        .byte $ec,$e9,$e6                           // ###.##..###.#..####..##.
        .byte $e2,$de,$d9                           // ###...#.##.####.##.##..#
        .byte $d5,$d0,$cb                           // ##.#.#.###.#....##..#.##
        .byte $c6,$c1,$bb                           // ##...##.##.....##.###.##
        .byte $b6,$b0,$aa                           // #.##.##.#.##....#.#.#.#.
        .byte $a4,$9e,$98                           // #.#..#..#..####.#..##...
        .byte $92,$8c,$86                           // #..#..#.#...##..#....##.
        .byte $7f                                   // sprite 0 padding
        // === Sine/lookup table (256 bytes, range $01-$fe) ===
        .byte $79,$73,$6d,$67,$61,$5b               // ysmga[

txt_1e46:
        .text "UOID>94/*&!"
        .byte $1d,$19,$16,$13,$0f,$0d,$0a,$08,$06,$04,$03,$02,$01,$01,$01,$01 // ................
        .byte $01,$02,$03,$04,$06,$08,$0a,$0d,$0f,$13,$16,$19,$1d // .............

txt_1e6e:
        .text "!&*/49>DIOU"
        .byte $5b,$61,$67,$6d,$73,$79,$7f,$86,$8c,$92,$98,$9e,$a4,$aa,$b0,$b6 // [agmsy..........
        .byte $bb,$c1,$c6,$cb,$d0,$d5,$d9,$de,$e2,$e6,$e9,$ec,$f0,$f2,$f5,$f7 // ................
        .byte $f9,$fb,$fc,$fd,$fe,$fe,$fe,$fe,$fe,$fd,$fc,$fb,$f9,$f7,$f5,$f2 // ................
        .byte $f0,$ec,$e9,$e6,$e2,$de,$d9,$d5,$d0,$cb,$c6,$c1,$bb,$b6,$b0,$aa // ................
        .byte $a4,$9e,$98,$92,$8c,$86,$7f,$79,$73,$6d,$67,$61,$5b // .......ysmga[

txt_1ec6:
        .text "UOID>94/*&!"
        .byte $1d,$19,$16,$13,$0f,$0d,$0a,$08,$06,$04,$03,$02,$01,$01,$01,$01 // ................
        .byte $01,$02,$03,$04,$06,$08,$0a,$0d,$0f,$13,$16,$19,$1d // .............

txt_1eee:
        .text "!&*/49>DIOU"
        .byte $5b,$61,$67,$6d,$73,$79,$80           // [agmsy.

txt_1f00:
        .encoding "screencode_mixed"
        .text "  side of hotline presents on"
        .encoding "petscii_upper"

txt_1f1d:
        .text " 14/08/89          "

txt_1f30:
        .encoding "screencode_mixed"
        .text "kings of the beach (pal"
        .encoding "petscii_upper"

txt_1f47:
        .text ")"

dat_1f48:
        // === Fill data (56 bytes, $1f48-$1f7f) ===
        .fill 56, $20
        .byte $00,$09,$12,$1b                       // ....

txt_1f84:
        .text "$-6?HQZ"
        .byte $63,$6c,$75,$7e,$87,$90,$99,$a2,$ab,$b4,$bd,$c6,$cf,$d8,$e1,$ea // clu~............
        .byte $f3,$fc,$05,$0e,$17                   // .....

txt_1fa0:
        .text " )2;DMV"
        .byte $5f,$68,$71,$7a,$83,$8c,$95,$9e,$a7,$b0,$b9,$c2,$cb,$d4,$dd,$e6 // _hqz............
        .byte $ef,$f8,$01,$0a,$13,$1c               // ......

txt_1fbd:
        .text "%.72222222222222222222222222222233333333333333333333333333334444444"

dat_2000:
        // === Fill data (34 bytes, $2000-$2021) ===
        .fill 34, $ff
        .byte $08,$02,$00,$02,$8a,$22               // char 4 (partial)
        .byte $ff,$fd,$b7,$bd,$b5,$75,$b6,$79       // char 5 @+5
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 6 @+6
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 7 @+7
        .byte $ff,$ff,$ff,$ff,$fc,$f2,$c8,$02       // char 8 @+8
        .byte $ff,$ff,$fe,$ea,$a9,$26,$a9,$2a       // char 9 @+9
        .byte $ff,$ff,$99,$65,$95,$65,$99,$a5       // char 10 @+10
        .byte $ff,$ff,$7f,$57,$57,$5d,$77,$dd       // char 11 @+11
        .byte $ff,$ff,$ff,$ff,$7f,$df,$7f,$dd       // char 12 @+12
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 13 @+13
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 14 @+14
        .byte $ff,$ff,$ff,$ff,$ff,$fd,$f7,$dd       // char 15 @+15
        .byte $ff,$ff,$ff,$f5,$55,$d5,$77,$dd       // char 16 @+16
        .byte $ff,$ff,$55,$56,$59,$56,$55,$dd       // char 17 @+17
        .byte $ff,$ff,$59,$66,$aa,$5a,$66,$59       // char 18 @+18
        .byte $ff,$ff,$a2,$88,$20,$88,$a2,$aa       // char 19 @+19
        .byte $ff,$ff,$20,$00,$00,$00,$80,$22       // char 20 @+20
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 21 @+21
        .byte $ff,$ff,$fc,$fc,$fc,$fc,$fc,$fc       // char 22 @+22
        .byte $ff,$ff,$08,$22,$8a,$22,$aa,$2a       // char 23 @+23
        .byte $ff,$ff,$99,$a6,$a9,$aa,$99,$65       // char 24 @+24
        .byte $ff,$ff,$95,$65,$95,$75,$5d,$77       // char 25 @+25
        .byte $ff,$ff,$5d,$77,$5d,$77,$df,$7f       // char 26 @+26
        .byte $ff,$ff,$ff,$5f,$dd,$77,$dd,$ff       // char 27 @+27
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$df,$f7       // char 28 @+28
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 29 @+29
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 30 @+30
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$fd,$f7       // char 31 @+31
        .byte $ff,$ff,$ff,$fd,$d5,$75,$dd,$77       // char 32 ' '
        .byte $ff,$ff,$d5,$66                       // char 33 (partial)

txt_210c:
        .byte $59,$56,$d5,$77                       // char 33 (partial)
        .byte $ff,$ff,$a2,$a8,$aa,$9a,$66,$5a       // char 34 '"'
        .byte $ff,$ff,$20,$80,$00,$80,$22,$88       // char 35 '#'

dat_2120:
        // === Fill data (64 bytes, $2120-$215f) ===
        .fill 64, $ff
        .byte $aa,$2a,$a9,$66,$99,$65,$95,$67       // char 44 ','
        .byte $b6,$79,$7a,$79,$72,$7a,$f2,$7a       // char 45 '-'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 46 '.'
        .byte $fc,$fc,$f0,$f0,$f2,$c8,$e2,$ca       // char 47 '/'
        .byte $00,$02,$00,$8a,$2a,$8b,$ab,$af       // char 48 '0'
        .byte $aa,$aa,$af,$be,$f2,$c8,$02,$23       // char 49 '1'
        .byte $99,$65,$ff,$aa,$2a,$8a,$3f,$ff       // char 50 '2'
        .byte $77,$df,$ff,$ff,$af,$9b,$65,$f9       // char 51 '3'
        .byte $77,$fd,$f7,$fd,$ff,$ff,$ff,$ff       // char 52 '4'
        .byte $ff,$df,$df,$f7,$ff,$fd,$ff,$fd       // char 53 '5'
        .byte $ff,$ff,$fd,$f7,$f7,$ff,$df,$ff       // char 54 '6'
        .byte $7f,$7d,$ff,$ff,$ff,$ff,$ff,$ff       // char 55 '7'
        .byte $77,$fd,$ff,$fc,$f0,$c2,$00,$03       // char 56 '8'
        .byte $77,$ff,$c8,$22,$88,$02,$bf,$ff       // char 57 '9'
        .byte $76,$ff,$aa,$2a,$8a,$22,$ff,$ff       // char 58 ':'
        .byte $aa,$fe,$ae,$ae,$ae,$ad,$ae,$ad       // char 59 ';'
        .byte $88,$a2,$aa,$9a,$a6,$99,$66,$99       // char 60 '<'
        .byte $ff,$ff,$dd,$f7,$ff,$ff,$ff,$ff       // char 61 '='
        .byte $fc,$ff,$d5,$75,$dd,$75,$ff,$ff       // char 62 '>'
        .byte $a9,$ff,$59,$56,$59,$66,$ff,$ff       // char 63 '?'
        .byte $99,$ff,$9a,$aa,$a8,$6a,$ff,$ff       // char 64 '@'
        .byte $dd,$ff,$88,$20,$80,$20,$ff,$ff       // char 65 'A'
        .byte $df,$fd,$8f,$00,$02,$88,$fe,$ff       // char 66 'B'
        .byte $ff,$7f,$f7,$ff,$2f,$a3,$0a,$e2       // char 67 'C'
        .byte $dd,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 68 'D'
        .byte $ff,$7f,$7f,$ff,$df,$f7,$f7,$f7       // char 69 'E'
        .byte $ff,$ff,$ff,$fd,$ff,$ff,$ff,$ff       // char 70 'F'
        .byte $dd,$7f,$7f,$ff,$ff,$ff,$ff,$ff       // char 71 'G'
        .byte $df,$ff,$ff,$ff,$fe,$fa,$e2,$ca       // char 72 'H'
        .byte $dd,$7f,$f9,$a6,$a9,$a6,$9f,$ff       // char 73 'I'
        .byte $de,$ff,$95,$57,$5d,$57,$ff,$ff       // char 74 'J'
        .byte $aa,$ff,$df,$ff,$dd,$77               // char 75 (partial)

dat_225e:
        // === Fill data (66 bytes, $225e-$229f) ===
        .fill 66, $ff
        .byte $5d,$57,$dd,$77,$df,$7f,$df,$77       // char 84 'T'
        .byte $f2,$f8,$f2,$70,$f0,$70,$f8,$f0       // char 85 'U'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 86 'V'
        .byte $aa,$6a,$a9,$6a,$99,$66,$99,$65       // char 87 'W'
        .byte $ac,$ac,$ac,$70,$b0,$70,$70,$72       // char 88 'X'
        .byte $0f,$3f,$3f,$3f,$ff,$ff,$ff,$ff       // char 89 'Y'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 90 'Z'
        .byte $fd,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 91 '['
        .byte $7f,$7f,$5f,$df,$df,$df,$f7,$ff       // char 92 '\'
        .byte $fd,$ff,$fd,$ff,$ff,$df,$f7,$df       // char 93 ']'
        .byte $77,$7f,$f7,$7d,$5f,$5f,$5f,$9f       // char 94 '^'
        .byte $fc,$fc,$f0,$f0,$f0,$f0,$f0,$f0       // char 95 '_'
        .byte $0f,$3f,$3f,$ff,$ff,$ff,$ff,$ff       // char 96 '`'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 97 'a'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 98 'b'
        .byte $ae,$8d,$8e,$2d,$8d,$2f,$0d,$8f       // char 99 'c'
        .byte $56,$55,$5d,$77,$5d,$77,$dd,$7f       // char 100 'd'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 101 'e'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 102 'f'
        .byte $f0,$f0,$f2,$f8,$f2,$fa,$f9,$f6       // char 103 'g'
        .byte $8a,$22,$8a,$a9,$a6,$69,$a5,$57       // char 104 'h'
        .byte $af,$6f,$9f,$9f,$5f,$5f,$df,$5f       // char 105 'i'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 106 'j'
        .byte $fa,$fa,$fe,$fe,$ff,$ff,$ff,$ff       // char 107 'k'
        .byte $bf,$bf,$af,$af,$af,$af,$af,$af       // char 108 'l'
        .byte $fd,$ff,$fd,$fd,$ff,$ff,$ff,$ff       // char 109 'm'
        .byte $df,$df,$ff,$df,$df,$df,$d7,$df       // char 110 'n'
        .byte $ff,$ff,$fc,$fc,$ff,$f7,$dd,$f7       // char 111 'o'
        .byte $a3,$0f,$2f,$3f,$ff,$75,$d5,$76       // char 112 'p'
        .byte $ff,$ff,$ff,$ff,$ff,$6a,$98,$6a       // char 113 'q'
        .byte $ff,$ff,$ff,$ff,$ff,$20,$80,$20       // char 114 'r'

dat_2398:
        // === Fill data (72 bytes, $2398-$23df) ===
        .fill 72, $ff
        .byte $df,$7f,$df,$7f,$7f,$ff,$7f,$ff       // char 124 '|'
        .byte $f8,$f2,$f8,$f2,$ff,$ff,$ff,$ff       // char 125 '}'
        .byte $ff,$ff,$ff,$df,$f7,$db,$eb,$cb       // char 126 '~'
        .byte $57,$55,$57,$75,$5f,$77,$df,$7f       // char 127
        .byte $70,$f2,$72,$f8,$72,$f8,$7a,$f8       // char 128
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 129
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 130
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 131
        .byte $f7,$fd,$f7,$dd,$d7,$dd,$77,$dd       // char 132
        .byte $77,$df,$7f,$df,$7f,$5e,$7e,$7e       // char 133
        .byte $6f,$9d,$6f,$ad,$ad,$3d,$b7,$3f       // char 134
        .byte $f0,$f8,$f2,$f0,$f8,$f2,$f8,$f2       // char 135
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 136
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 137
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 138
        .byte $0d,$0f,$0f,$0f,$0f,$c3,$c3,$c3       // char 139
        .byte $f7,$dd,$f7,$dd,$fd,$f7,$ff,$ff       // char 140
        .byte $ff,$ff,$ff,$ff,$ff,$7f,$7f,$ff       // char 141
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 142
        .byte $f9,$f6,$f5,$f5,$f5,$f7,$f5,$f7       // char 143
        .byte $9d,$57,$7d,$7f,$df,$7f,$ff,$7f       // char 144
        .byte $ff,$7f,$df,$7f,$ff,$7f,$df,$ff       // char 145
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 146
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 147
        .byte $af,$af,$af,$8f,$2f,$8f,$0f,$2f       // char 148
        .byte $ff,$ff,$ff,$ff,$ff,$fd,$fd,$fd       // char 149
        .byte $d7,$ef,$db,$eb,$cb,$e2,$c0,$c2       // char 150
        .byte $ff,$ff,$fd,$ff,$ff,$22,$8a,$2a       // char 151

spr_24c0:
        .byte $dd,$77,$dd,$75,$ff,$99,$aa,$a9       // char 152
        .byte $9a,$66,$d9,$66,$ff,$95,$65,$95       // char 153
        .byte $88,$a2,$aa,$aa,$ff,$dd,$77,$df       // char 154
        .byte $ff,$ff,$ff,$ff,$ff,$df               // char 155 (partial)

dat_24de:
        // === Fill data (69 bytes, $24de-$2522) ===
        .fill 69, $ff
        .byte $7f,$ff,$7f,$7f,$7f                   // char 164 (partial)
        .byte $ff,$ff,$ff,$f2,$f8,$f2,$f8,$f2       // char 165
        .byte $e3,$cb,$c3,$0b,$83,$03,$8b,$ff       // char 166
        .byte $df,$7f,$df,$7f,$ff,$7f,$ff,$7f       // char 167
        .byte $fa,$fa,$fa,$fa,$fa,$fa,$fa,$fa       // char 168
        .byte $ff,$ff,$ff,$c0,$c0,$c2,$c0,$c2       // char 169
        .byte $ff,$ff,$ff,$22,$88,$22,$8a,$2a       // char 170
        .byte $fd,$f9,$8a,$29,$8a,$2a,$a6,$99       // char 171
        .byte $55,$96,$65,$99,$67,$97,$5c,$72       // char 172
        .byte $7c,$72,$f0,$c0,$c3,$03,$0f,$0f       // char 173
        .byte $b7,$f7,$df,$df,$df,$7f,$7f,$7f       // char 174
        .byte $fa,$fa,$fa,$fa,$fa,$fa,$fa,$fa       // char 175
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 176
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 177
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 178
        .byte $c0,$f0,$f0,$f0,$fc,$fc,$ff,$ff       // char 179
        .byte $ff,$ff,$ff,$3f,$3f,$0f,$03,$02       // char 180
        .byte $df,$f7,$fd,$ff,$ff,$ff,$ff,$ff       // char 181
        .byte $ff,$ff,$7f,$f7,$ff,$ff,$ff,$ff       // char 182
        .byte $f7,$ff,$f7,$d7,$ff,$ff,$ff,$ff       // char 183
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 184
        .byte $ff,$ff,$ff,$ff,$df,$ff,$df,$df       // char 185
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 186
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 187
        .byte $0f,$0f,$0f,$0f,$0f,$0f,$0f,$0f       // char 188
        .byte $ff,$fd,$ff,$ff,$ff,$ff,$ff,$ff       // char 189
        .byte $c0,$ff,$ff,$dd,$ff,$ff,$ff,$ff       // char 190
        .byte $89,$ff,$ff,$5d,$f7,$dd,$ff,$ff       // char 191
        .byte $a6,$ff,$ff,$55,$75,$d5,$77,$dd       // char 192
        .byte $55,$ff,$ff,$66,$9a,$66,$55,$dd       // char 193
        .byte $77,$ff,$ff,$a8,$aa,$68,$9a,$6a       // char 194
        .byte $7f,$ff,$ff,$80,$20,$88,$20,$88       // char 195

dat_2620:
        // === Fill data (64 bytes, $2620-$265f) ===
        .fill 64, $ff
        .byte $7f,$5d,$ff,$f7,$fd,$77,$dd,$ff       // char 204
        .byte $fa,$fa,$fa,$66,$d9,$56,$da,$ff       // char 205
        .byte $ff,$ff,$ff,$f7,$dd,$ff,$fd,$ff       // char 206
        .byte $7f,$57,$ff,$59,$d6,$55,$dd,$ff       // char 207
        .byte $fa,$7a,$fa,$9a,$6a,$9a,$6a,$ff       // char 208
        .byte $c8,$c2,$ff,$df,$fd,$f7,$fd,$ff       // char 209
        .byte $aa,$aa,$ff,$77,$dd,$55,$d5,$ff       // char 210
        .byte $a7,$ff,$fa,$66,$59,$67,$7f,$ff       // char 211
        .byte $e8,$8a,$ab,$af,$bf,$fd,$f7,$ff       // char 212
        .byte $bf,$ff,$ff,$77,$dd,$f7,$7d,$ff       // char 213
        .byte $7f,$5d,$ff,$56,$59,$66,$55,$ff       // char 214
        .byte $fa,$fa,$fa,$6a,$9a,$6a,$aa           // char 215 (partial)

dat_26bf:
        // === Fill data (33 bytes, $26bf-$26df) ===
        .fill 33, $ff
        .byte $c0,$f2,$fc,$ff,$ff,$ff,$ff,$ff       // char 220
        .byte $bf,$2f,$aa,$88,$e2,$fe,$ff,$ff       // char 221
        .byte $ff,$ff,$ff,$aa,$aa,$aa,$fa,$ff       // char 222
        .byte $ff,$dd,$ff,$66,$99,$a5,$99,$ff       // char 223
        .byte $ff,$55,$ff,$65,$57,$dd,$77,$ff       // char 224
        .byte $df,$5f,$ff,$dd,$77,$ff,$7f,$ff       // char 225
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 226
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 227
        .byte $0f,$0f,$0f,$00,$00,$00,$00,$ff       // char 228
        .byte $ff,$ff,$ff,$00,$00,$00,$00,$ff       // char 229
        .byte $ff,$ff,$ff,$00,$88,$22,$8a,$ff       // char 230
        .byte $ff,$fd,$ff,$22,$8a,$a6,$a9,$ff       // char 231
        .byte $f7,$dd,$ff,$a6,$99,$65,$95,$ff       // char 232
        .byte $75,$56,$ff,$65,$95,$57,$5d,$ff       // char 233
        .byte $9a,$6a,$ff,$77,$5f,$77,$df,$ff       // char 234
        .byte $a2,$aa,$ff,$77,$dd,$7f               // char 235 (partial)

dat_275e:
        // === Fill data (161 bytes, $275e-$27fe) ===
        .fill 161, $ff
        .byte $00                                   // char 255 (partial)
        .byte $ff,$ff,$00,$00,$00,$00,$00,$00       // char 256
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 257
        .byte $fd,$f0,$c0,$c1,$24,$90,$02,$88       // char 258
        .byte $55,$55,$42,$08,$22,$a8,$7f,$f8       // char 259
        .byte $ff,$3f,$4f,$8f,$a3,$eb,$bb,$f3       // char 260
        .byte $a2,$ca,$ab,$ee,$fb,$ef,$fe,$fb       // char 261
        .byte $2f,$8b,$be,$fb,$ee,$fe,$bc,$3a       // char 262
        .byte $eb,$b3,$e3,$a7,$83,$27,$87,$07       // char 263
        .byte $ee,$fa,$e8,$fb,$ee,$ff,$ff,$ff       // char 264
        .byte $3c,$78,$39,$72,$b8,$ff,$ff,$ff       // char 265
        .byte $17,$47,$17,$07,$23,$ff,$ff,$ff       // char 266
        .byte $55,$15,$94,$11,$04,$90,$02,$88       // char 267
        .byte $2a,$55,$42,$08,$22,$ea,$7f,$3e       // char 268
        .byte $2b,$ef,$be,$fb,$fe,$3e,$bc,$02       // char 269
        .byte $ff,$bf,$8f,$8f,$93,$27,$87,$07       // char 270
        .byte $88,$20,$81,$a2,$88,$ff,$ff,$ff       // char 271
        .byte $17,$5f,$5f,$0f,$3f,$ff,$ff,$ff       // char 272
        .byte $55,$55,$42,$08,$22,$aa,$7f           // char 273 (partial)

txt_288f:
        .text "??"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $3f,$bf,$b8,$3c,$8c,$82,$ff,$ff,$ff,$ff,$13,$47,$87,$07,$fe,$fa // ?..<.......G....
        .byte $fc,$fb,$fe,$ff,$ff,$ff,$17,$5f,$9f,$3f,$ff,$ff,$ff,$ff,$3f,$bf // ......._.?....?.
        .byte $3e,$bf,$be,$3e,$8c,$06,$17,$5f,$5f,$3f,$ff,$ff,$ff,$ff,$55,$55 // >..>...__?....UU
        .byte $42,$08,$22,$ef,$7f,$08,$47,$13,$23,$ab,$b3,$fb,$ff,$bf,$22,$ef // B."...G.#.....".
        .byte $be,$fb,$ff,$3f,$81,$04,$bf,$3f,$bf   // ...?...?.

txt_28db:
        .text "??"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $17,$57,$22,$ef,$be,$fb,$ff,$3f,$bf,$3f,$bf,$3f,$bf // .W"....?.?.?.

txt_28eb:
        .text "??"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $ff,$ff,$3f,$7f,$3f,$7f,$bf,$ff,$ff,$ff,$ff,$3f,$4f,$8f,$a3,$eb // ..?.?......?O...
        .byte $bb,$ff,$22,$8a,$3e,$bb,$be,$3f,$82,$86,$8b,$23,$e3,$a7,$83,$27 // ..".>..?...#...'
        .byte $87,$07,$75,$79,$7a,$7c,$7a,$3e,$7f,$0e,$47,$13,$23,$ab,$b3,$eb // ..uyz|z>..G.#...
        .byte $bb,$f3,$23,$ef,$be,$fb,$fe,$3e,$bc,$3a,$55,$15,$94,$11,$04,$8a // ..#....>.:U.....
        .byte $2b,$fe,$55,$55,$42,$08,$22,$8b,$2a,$ac,$47,$13,$23,$ab,$b3,$fb // +.UUB.".*.G.#...
        .fill 8, $ff
        .byte $2b,$e2,$ba,$ee,$bc,$fa,$ec,$b8,$e9,$a0,$ff,$ff,$ff,$ff,$ff,$ff // +...............
        .byte $17,$57,$f5,$f9,$fa,$fc,$fa,$fe,$ff,$fe,$ff,$ff,$42,$c8,$fb,$ef // .W..........B...
        .byte $fe,$fb,$ff,$ff,$3e,$bf,$be,$3e,$8c,$82,$2b,$ef,$bc,$fb,$ee,$3a // ....>..>..+....:
        .byte $b8,$3a,$ff,$ff,$bf,$0f,$9f,$07,$87,$07,$3c,$78,$39,$72,$78,$ff // .:........<x9rx.
        .byte $ff,$ff,$7f,$7f,$7f,$7f,$7f,$3f,$7f   // .......?.

txt_298f:
        .text "??"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $3f,$bf,$bf,$3f,$81,$04,$fd,$79,$7a,$5c,$02,$9a,$2b,$ae,$bb,$af // ?..?...yz\..+...
        .byte $3e,$bf,$be,$3e,$bc,$3a,$75,$79,$7a,$5c,$0a,$9e,$2f,$ae,$bf,$ef // >..>.:uyz\../...
        .byte $be,$fb,$ee,$3a,$a8,$32,$28,$78,$39,$72,$b8,$ff,$ff,$ff,$3f,$bf // ...:.2(x9r....?.
        .byte $3e,$bf,$be,$3e,$8c,$82,$23,$8f,$be,$fb,$ee,$ff,$be,$3f,$eb,$b3 // >..>..#......?..
        .byte $f3,$bf,$ef,$bf,$ff,$ff,$3f,$c0,$2e,$af,$ae,$3e,$a8,$a2,$eb,$b3 // ......?....>....
        .byte $e3,$a7,$83,$27,$87,$17,$15,$45,$15,$11,$25,$ff,$ff,$ff,$23,$8f // ...'...E..%...#.
        .byte $be,$fb,$ee,$fa,$e8,$f2,$eb,$b3,$f3,$bf,$ef,$4f,$9f,$17,$a2,$ca // ...........O....
        .byte $bb,$fe,$ff,$8a,$fe,$fb,$a2,$ef,$be,$fb,$fe,$3e,$8c,$82,$bf,$2f // ...........>.../
        .byte $cf,$87,$83,$27,$87,$07,$ff,$ff,$fe,$ff,$fe,$ff,$ff,$ff,$89,$21 // ...'...........!
        .byte $81,$a1,$88,$ff,$ff,$ff,$75,$79,$7a,$7c,$7a,$3e,$7f,$3e,$a2,$ca // ......uyz|z>.>..
        .byte $bb,$fe,$fb,$ff,$fe,$ff,$03,$cf,$ae,$fb,$ee,$ba,$e8,$a2,$eb,$b3 // ................
        .byte $c3,$8f,$9f,$4f,$3f,$7f,$7f,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$2f,$8f // ...O?........./.
        .byte $3e,$bf,$ee,$ba,$e8,$b2,$a8,$78,$29,$72,$b8,$ff,$ff,$ff,$55,$15 // >......x)r....U.
        .byte $94,$11,$04,$90,$02,$a8,$75,$79,$7a,$7c,$7a,$3e,$0b,$8e,$f2,$ee // ......uyz|z>....
        .byte $f2,$ca,$eb,$8f,$fe,$fb,$bb,$ef,$bc,$fb,$ee,$ba,$f8,$3a,$a2,$ea // .............:..
        .byte $fb,$fe,$ff,$ff,$ff,$ff,$ab,$ef,$be,$fb,$ec,$b8,$e9,$a0,$eb,$a3 // ................
        .byte $cf,$0f,$3f,$ff,$ff,$ff,$55,$15,$94,$11,$04,$8a,$2b,$ff,$55,$55 // ..?...U.....+.UU
        .byte $42,$08,$22,$ef,$bf,$fe,$ff,$ff,$ff,$fe,$fb,$ff,$fe,$fb,$fb,$ef // B.".............
        .byte $be,$fa,$e8,$a3,$81,$04,$cb,$af,$8f,$3f,$ff,$ff,$17,$57,$55,$95 // .........?...WU.
        .byte $00,$89,$a0,$c8,$aa,$ec,$fa,$ee,$fc,$fa,$fc,$ff,$ff,$04,$c9,$a1 // ................
        .byte $c1,$a1,$88,$ff,$ff,$ff,$d5,$15,$94,$11,$04,$c1,$0b,$af,$f5,$44 // ...............D
        .byte $62,$68,$72,$3e,$fa,$fe,$7f,$1f,$0f,$8f,$af,$8f,$bf,$ff,$bf,$ff // bhr>............
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$fb,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$d5,$91 // ................
        .byte $02,$88,$a2,$e8,$af,$ff,$ff,$3f,$7f   // .......?.

txt_2b0b:
        .text "??"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $ff,$ff,$fd,$f9,$ea,$e8,$b2,$ca,$ab,$ee,$4f,$1f,$0f,$8f,$2f,$8f // ..........O.../.
        .byte $3f,$bf,$fb,$ef,$fe,$fb,$ee,$fa,$e8,$e2,$bf,$3f,$bf,$3f,$3f,$7f // ?..........?.??.
        .byte $3f,$5f,$e8,$f0,$e9,$f2,$fc,$ff,$ff,$ff,$5f,$5f,$1f,$1f,$2f,$ff // ?_........__../.
        .byte $ff,$ff                               // ..

spr_2b40:
        // === Sprite data (64 bytes, $2b40-$2b7f) ===
        .byte $d5,$e5,$c4                           // ##.#.#.####..#.###...#..
        .byte $c1,$e0,$c8                           // ##.....####.....##..#...
        .byte $fa,$fc,$ff                           // #####.#.######..########
        .byte $7f,$5f,$1f                           // .#######.#.#####...#####
        .byte $07,$83,$23                           // .....####.....##..#...##
        .byte $ab,$fa,$fe                           // #.#.#.#######.#.#######.
        .byte $ff,$fe,$ff                           // ###############.########
        .byte $ff,$fe,$ef                           // ###############.###.####
        .byte $b3,$eb,$bb                           // #.##..#####.#.###.###.##
        .byte $f3,$eb,$b3                           // ####..#####.#.###.##..##
        .byte $e3,$a7,$fa                           // ###...###.#..########.#.
        .byte $fa,$f8,$fb                           // #####.#.#####...#####.##
        .byte $ee,$ff,$ff                           // ###.###.################
        .byte $ff,$93,$0f                           // #########..#..##....####
        .byte $ef,$bf,$ff                           // ###.#####.##############
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$fd,$fe                           // ##############.########.
        .byte $fc,$fe,$fe                           // ######..#######.#######.
        .byte $ff,$52,$ff                           // ########.#.#..#.########
        .byte $55,$54,$09                           // .#.#.#.#.#.#.#......#..#
        .byte $20,$88,$2a                           // ..#.....#...#.....#.#.#.
        .byte $ac                                   // sprite 0 padding

spr_2b80:
        // === Sprite data (64 bytes, $2b80-$2bbf) ===
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$a3,$84                           // #########.#...###....#..
        .byte $ca,$ab,$ee                           // ##..#.#.#.#.#.#####.###.
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ba,$ef                           // #########.###.#.###.####
        .byte $be,$fb,$ef                           // #.#####.#####.#####.####
        .byte $b8,$e9,$a0                           // #.###...###.#..##.#.....
        .byte $8b,$b3,$e3                           // #...#.###.##..#####...##
        .byte $a7,$e3,$bb                           // #.#..######...###.###.##
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$fe,$ff                           // ###############.########
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$89,$21                           // #########...#..#..#....#
        .byte $e9,$a2,$ff                           // ###.#..##.#...#.########
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$fa                           // #####################.#.
        .byte $fa,$fb,$ff                           // #####.#.#####.##########
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$3f,$8f                           // ########..#######...####
        .byte $8f                                   // sprite 0 padding

spr_2bc0:
        // === Sprite data (64 bytes, $2bc0-$2bff) ===
        .byte $fe,$fa,$fc                           // #######.#####.#.######..
        .byte $f3,$ee,$ff                           // ####..#####.###.########
        .byte $ff,$ff,$9f                           // #################..#####
        .byte $0f,$1f,$bf                           // ....####...######.######
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$51                           // ################.#.#...#
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$08,$22                           // ########....#.....#...#.
        .byte $ef,$be,$fb                           // ###.#####.#####.#####.##
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$fe                           // #######################.
        .byte $fa,$fa,$fb                           // #####.#.#####.#.#####.##
        .byte $9f,$0f,$df                           // #..#####....######.#####
        .byte $bf,$ff,$ff                           // #.######################
        .byte $ff,$ff,$ff                           // ########################
        .byte $fd,$f8,$fc                           // ######.######...######..
        .byte $fa,$ea,$bb                           // #####.#.###.#.#.#.###.##
        .byte $ee                                   // sprite 0 padding

spr_2c00:
        // === Sprite data (64 bytes, $2c00-$2c3f) ===
        .byte $ff,$13,$43                           // ########...#..##.#....##
        .byte $ab,$b3,$cb                           // #.#.#.###.##..####..#.##
        .byte $af,$af,$ff                           // #.#.#####.#.############
        .byte $ff,$ff,$fe                           // #######################.
        .byte $ff,$ff,$fe                           // #######################.
        .byte $fb,$fb,$ee                           // #####.#######.#####.###.
        .byte $bc,$f2,$eb                           // #.####..####..#.###.#.##
        .byte $a3,$cf,$0f                           // #.#...####..####....####
        .byte $bf,$3f,$ff                           // #.######..##############
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ee                           // ###################.###.
        .byte $f8,$fd,$fb                           // #####...######.######.##
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$3f,$7f                           // ########..######.#######
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $ff,$ff,$ff                           // ########################
        .byte $fd,$fe,$f6                           // ######.########.####.##.
        .byte $fa,$fc,$55                           // #####.#.######...#.#.#.#
        .byte $95,$02,$88                           // #..#.#.#......#.#...#...
        .byte $22,$8a,$2b                           // ..#...#.#...#.#...#.#.##
        .byte $ae                                   // sprite 0 padding
        .byte $7f,$3f,$7f                           // .?.

txt_2c43:
        .text "??"
        .byte $bf                                   // '?' | $80 (end-of-string marker)
        .byte $3f,$bf,$fb,$ff,$ff,$ff,$ff,$ff,$e8,$f2,$fb,$ef,$fe,$fb,$ee,$fa // ?...............
        .byte $e8,$22,$bf,$3f,$bf,$3f,$3f,$7f,$17,$57,$fe,$fa,$f8,$fb,$ee,$ff // .".?.??..W......
        .byte $ff,$ff,$bb,$ef,$fe,$f8,$e3,$8f,$3e,$fb,$3f,$cf,$3e,$fb,$ef,$bf // ........>.?.>...
        .byte $c1,$04,$eb,$a3,$cf,$ff,$ff,$ff,$17,$57,$fd,$f0,$c0,$c1,$24,$90 // .........W....$.
        .byte $02,$ae,$bb,$ff,$ff,$ff,$22,$ca,$fe,$fb,$2b,$ef,$fe,$fb,$fe,$fe // ......"...+.....
        .byte $bc,$82,$fb,$bf,$8f,$8f,$93,$27,$87,$07,$ff,$ff,$ff,$ff,$ff,$fe // .......'........
        .byte $ff,$fe,$f5,$c5,$e2,$a8,$a2,$ca,$2b,$ae,$4f,$1f,$0f,$8f,$af,$cf // ........+.O.....
        .byte $af,$ef,$fa,$ee,$fb,$fe,$fb,$ef,$fe,$fb,$bb,$ef,$be,$fb,$be,$2a // ...............*
        .byte $e8,$a2,$cf,$af,$cf,$8f,$93,$07,$87,$07,$ee,$ff,$fe,$ff,$ff,$ff // ................
        .byte $ff,$ff,$88,$b0,$e1,$e2,$c8,$ff,$ff,$ff,$17,$47,$17,$1f,$2f,$ff // ...........G../.
        .byte $ff,$ff,$55,$15,$94,$11,$04,$92,$00,$89,$55,$55,$42,$08,$22,$ef // ..U.......UUB.".
        .byte $42,$08,$4f,$1f,$0f,$8f,$af,$cf,$ff,$bf,$a2,$ca,$ab,$ff,$ff,$8a // B.O.............
        .byte $28,$fa,$bb,$ef,$be,$fb,$fe,$fe,$8c,$02,$8f,$af,$c3,$a7,$83,$27 // (..............'
        .byte $87,$07,$ee,$fa,$f8,$fb,$fe,$ff,$ff,$ff,$55,$55,$42,$08,$22,$ae // ..........UUB.".
        .byte $7f,$08,$ff,$3f,$4f,$8f,$a3,$eb,$ff,$ff,$22,$ef,$be,$fb,$fe,$3e // ...?O....."....>
        .byte $8c,$82,$55,$55,$42,$08,$22,$ea,$bb,$fe,$47,$13,$23,$ab,$b3,$cb // ..UUB."...G.#...
        .byte $af,$ef,$ff,$ff,$ff,$ff,$ff,$ff,$fe,$ff,$fb,$ef,$fe,$fa,$ec,$b8 // ................
        .byte $e1,$a7,$8f,$3f,$bf,$3f,$ff,$ff,$ff,$ff,$83,$07,$9f,$9f,$8f,$ff // ...?.?..........
        .byte $ff,$ff,$55,$55,$42,$08,$22,$aa,$7f,$0e,$b2,$ea,$ff,$ce,$eb,$ef // ..UUB.".........
        .byte $fe,$fb,$ab,$ef,$be,$fb,$fe,$fe,$8c,$82,$ee,$fa,$ec,$fb,$fe,$ff // ................
        .byte $ff,$ff,$a2,$ea,$fb,$fe,$ff,$8a,$28,$fb,$ab,$ef,$be,$fb,$fe,$3e // ........(......>
        .byte $8c,$02,$ff,$fd,$f5,$c5,$e4,$c0,$e2,$ec,$ff,$ff,$7f,$5f,$0f,$9f // ............._..
        .byte $0f,$cf,$fb,$ff,$ff,$fc,$f2,$fb,$fe,$fb,$ff,$ff,$ff,$ff,$bf,$2f // .............../
        .byte $cf,$8f,$fe,$fe,$fe,$ff,$ff,$ff,$ff,$ff,$9f,$8f,$ff,$ff,$ff,$ff // ................
        .byte $ff,$ff,$fd,$f1,$c0,$c1,$24,$90,$02,$88,$bb,$ef,$ff,$fe,$ff,$ff // ......$.........
        .byte $ff,$fe,$fb,$ef,$be,$fa,$e8,$f3,$ff,$0f,$cb,$af,$8f,$3f,$ff,$ff // .............?..
        .byte $ff,$ff,$fc,$fe,$fc,$fb,$fe,$ff,$ff,$ff,$13,$27,$87,$a3,$8f,$ff // ...........'....
        .byte $ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$ff,$80
        .text "?9!9"
        .byte $ff,$ff,$ff,$03
        .text "939#"
        .byte $ff,$ff,$ff,$81,$3f,$3f,$3f,$80,$ff,$ff,$ff,$03,$39,$39,$f9,$03 // ....???.....99..
        .byte $ff,$ff,$ff,$81
        .byte $3f,$27,$3f,$80,$ff,$ff,$ff,$80
        .text "?'??"
        .byte $ff,$ff,$ff,$80,$3f,$39,$39,$81,$ff,$ff,$ff,$39,$39,$09,$39,$38 // ....?99....99.98
        .byte $ff,$ff,$ff,$e7,$ff,$e7,$e7,$07,$ff,$ff,$ff,$f8,$f9,$f9,$39,$83 // ..............9.
        .byte $ff,$ff,$ff
        .text "93'38"
        .byte $ff,$ff,$ff
        .text "????"
        .byte $80
        .byte $ff,$ff,$ff
        .byte $39,$11
        .byte $29,$39,$38,$ff,$ff,$ff,$03
        .text "9998"
        .byte $ff,$ff,$ff,$83,$39,$39,$f9,$03,$ff,$ff,$ff,$03 // ....99......

txt_2e82:
        .text "999#??"
        .byte $ff,$81
        .byte $39,$39,$39,$89,$f9,$f8,$ff,$03
        .text "99'3"
        .byte $f9,$fc
        .byte $ff,$80,$3f,$83,$f9,$03,$ff,$ff,$ff,$00,$e7,$e7,$e7,$e7,$ff,$ff // ..?.............
        .byte $ff
        .text "8999"
        .byte $83,$ff,$ff,$ff
        .byte $38,$39,$93,$93,$c7,$ff,$ff
        .byte $ff,$38,$39,$29,$11,$39,$ff,$ff,$ff   // .89).9...

txt_2ec1:
        .text "99"
        .byte $c7                                   // 'G' | $80 (end-of-string marker)
        .byte $39,$38,$ff,$ff,$ff,$39,$39,$89,$f9,$03,$ff,$ff,$ff,$01,$f3,$c7 // 98...99.........
        .byte $9f,$00,$ff,$ff,$ff,$c3,$cf,$cf,$cf,$c0,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .byte $ff,$ff,$ff,$ff,$ff,$03,$f3,$f3,$f3,$c3,$ff,$ff,$ff,$e7,$c3,$81 // ................
        .byte $c3,$c3,$ff,$ff,$ff,$ef,$c3,$83,$83,$c3,$ef,$ff,$ff,$ff,$ff,$ff // ................
        .byte $ff,$ff,$ff,$ff,$ff,$e7,$e7,$e7,$ff,$e7,$ff,$ff,$ff,$93,$93,$ff // ................
        .byte $ff,$ff,$ff,$ff,$ff,$93,$01,$93,$01,$93,$ff,$ff,$e7,$c0,$9f,$c3 // ................
        .byte $f9,$03,$e7,$ff,$ff,$99,$93,$e7,$c9,$99,$ff,$ff,$ff,$c7,$93,$c4 // ................
        .byte $99,$c4,$ff,$ff,$ff,$f3,$e7,$ff,$ff,$ff,$ff,$ff,$ff,$e7,$cf,$cf // ................
        .byte $cf,$e0,$ff,$ff,$ff,$07,$f3,$f3,$f3,$e7,$ff,$ff,$ff,$99,$c3,$00 // ................
        .byte $c3,$99,$ff,$ff,$ff,$e7,$e7,$81,$e7,$e7,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .byte $e7,$e7,$cf,$ff,$ff,$ff,$ff,$c3,$ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff // ................
        .byte $ff,$e7,$ff,$ff,$ff,$ff,$f9,$f3,$e7,$cf,$ff,$ff,$ff,$83,$19,$29 // ...............)
        .byte $f1,$03,$ff,$ff,$ff,$e7,$c7,$e7,$e7,$03,$ff,$ff,$ff,$83,$f9,$c3 // ................
        .byte $9f,$80,$ff,$ff,$ff,$83,$f9,$c9,$f9,$03,$ff,$ff,$ff,$cf,$9f,$33 // ...............3
        .byte $03,$f0,$ff,$ff,$ff,$00,$3f,$03,$f9,$03,$ff,$ff,$ff,$80,$3f,$03 // ......?.......?.
        .byte $39,$83,$ff,$ff,$ff,$01,$f3,$e7,$cf,$cf,$ff,$ff,$ff,$83,$39,$83 // 9.............9.
        .byte $39,$83,$ff,$ff,$ff,$83,$39,$89,$f9,$03,$ff,$ff,$ff,$ff,$e7,$ff // 9.....9.........
        .byte $e7,$ff,$ff,$ff,$ff,$ff,$e7,$ff,$e7,$e7,$cf,$ff,$ff,$e7,$cf,$9f // ................
        .byte $cf,$e0,$ff,$ff,$ff,$ff,$c3,$ff,$c3,$ff,$ff,$ff,$ff,$07,$f3,$f9 // ................
        .byte $f3,$e7,$ff,$ff,$c3,$99,$f9,$e3,$ff,$e7,$ff,$ff // ............

scr_3000:
        // === Screen RAM (1 bytes, $3000-$3000) ===
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

// --- Region $301f-$3046 ---
.pc = $301f "dat_301f"

dat_301f:
        .encoding "screencode_mixed"
        .text "abcdefghijklmnopqrstuvwxyz"
        .byte $1b,$1c,$1d,$1e,$1f                   // scrcode: .....
        .encoding "petscii_upper"

txt_303e:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$%&'"
        .byte $00                                   // string terminator

// --- Region $306e-$3096 ---
.pc = $306e "txt_306e"

txt_306e:
        .text "()*+,-./0123456789:;<=>?"
        .byte $40                                   // @ character
        .text "ABCDEFGHIJKLMNO"
        .byte $00                                   // string terminator

// --- Region $30be-$30e6 ---
.pc = $30be "txt_30be"

txt_30be:
        .text "PQRSTUVWXYZ"
        .byte $5b,$5c,$5d,$5e,$5f,$60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a // scrcode: ................
        .byte $6b,$6c,$6d,$6e,$6f,$70,$71,$72,$73,$74,$75,$76,$77 // scrcode: .............

dat_30e6:
        // === Fill data (1 bytes, $30e6-$30e6) ===
        .byte $00                                   // .

// --- Region $310e-$3136 ---
.pc = $310e "dat_310e"

dat_310e:
        .byte $78,$79,$7a,$7b,$7c,$7d,$7e,$7f,$80,$81,$82,$83,$84,$85,$86,$87 // scrcode: ................
        .byte $88,$89,$8a,$8b,$8c,$8d,$8e,$8f,$90,$91,$92,$93,$94,$95,$96,$97 // scrcode: ................
        .byte $98,$99,$9a,$9b,$9c,$9d,$9e,$9f       // scrcode: ........

dat_3136:
        // === Fill data (1 bytes, $3136-$3136) ===
        .byte $00                                   // .

// --- Region $315e-$3186 ---
.pc = $315e "dat_315e"

dat_315e:
        .byte $a0,$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$aa,$ab,$ac,$ad,$ae,$af // scrcode: ................
        .byte $b0,$b1,$b2,$b3,$b4,$b5,$b6,$b7,$b8,$b9,$ba,$bb,$bc,$bd,$be,$bf // scrcode: ................
        .byte $c0,$c1,$c2,$c3,$c4,$c5,$c6,$c7       // scrcode: ........

dat_3186:
        // === Fill data (1 bytes, $3186-$3186) ===
        .byte $00                                   // .

// --- Region $31ae-$31d6 ---
.pc = $31ae "dat_31ae"

dat_31ae:
        .byte $c8,$c9,$ca,$cb,$cc,$cd,$ce,$cf,$d0,$d1,$d2,$d3,$d4,$d5,$d6,$d7 // scrcode: ................
        .byte $d8,$d9,$da,$db,$dc,$dd,$de,$df,$e0,$e1,$e2,$e3,$e4,$e5,$e6,$e7 // scrcode: ................
        .byte $e8,$e9,$ea,$eb,$ec,$ed,$ee,$ef       // scrcode: ........

dat_31d6:
        // === Fill data (1 bytes, $31d6-$31d6) ===
        .byte $00                                   // .

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

spr_3200:
        .fill 9, $00
        .byte $02,$03,$04,$05,$06,$07,$08,$09,$0a,$0b,$0c,$04,$05,$0d,$0e,$08 // ................
        .byte $0f,$10,$02,$11,$04,$05,$12,$13,$14,$0f,$15,$0b,$0c,$04,$05,$16 // ................
        .byte $07,$08,$0f,$17,$0b,$18,$19,$05,$1a,$1b,$08,$0f,$0a,$0b,$18,$19 // ................
        .byte $05,$1c,$1d,$08,$1e,$01,$02,$11,$1f,$05,$20,$21,$14,$0f,$15,$0b // .......... !....
        .byte $22,$23,$05,$24,$07,$08,$09,$0a       // "#.$....

txt_3251:
        .text "%&'()*"
        .encoding "screencode_mixed"
        .text "hoja+#,-gtouk"
        .byte $22                                   // scrcode: "
        .text "#e./h0jk1ae2*hojk3#e4ghijk"
        .text "5#e6gh7jbcde8gtouklde9:h"
        .byte $1e                                   // scrcode: .
        .text "abcde;<to=klde>"
        .text "?h7jbq"
        .byte $1f,$40,$41,$42                       // scrcode: ....
        .text "tou%&'a)a"
        .byte $43,$44                               // scrcode: ..
        .text "ak"
        .byte $45                                   // scrcode: .
        .text "#e8gtouk"
        .encoding "petscii_upper"

txt_32c7:
        .text "E#FGHCDI"
        .encoding "screencode_mixed"
        .text "k"
        .byte $45                                   // scrcode: .
        .text "#e"
        .byte $4a                                   // scrcode: .
        .text "gh"
        .byte $4b                                   // scrcode: .
        .text "j"
        .encoding "petscii_upper"

txt_32d8:
        .text "LM#NO/"
        .encoding "screencode_mixed"
        .text "h0jk"
        .encoding "petscii_upper"

txt_32e2:
        .byte $22                                   // double quote character
        .text "#PQRCD"
        .encoding "screencode_mixed"
        .text "a"
        .encoding "petscii_upper"

txt_32ea:
        .text "ST#UVW"
        .encoding "screencode_mixed"
        .text "hoj"
        .encoding "petscii_upper"

dat_32f3:
        // === Fill data (55 bytes, $32f3-$3329) ===
        .fill 55, $01
        .encoding "screencode_mixed"
        .byte $58                                   // scrcode: .
        .text "aa"
        .byte $59                                   // scrcode: .
        .text "aa"
        .byte $5a                                   // scrcode: .
        .text "a"
        .byte $5b,$5c,$5d,$5e,$5f                   // scrcode: .....
        .encoding "petscii_upper"

dat_3337:
        // === Fill data (41 bytes, $3337-$335f) ===
        .fill 9, $01

spr_3340:
        .fill 32, $01
        .byte $60,$61,$01,$01,$01,$01,$01,$01,$01,$62,$63,$01,$64,$65,$01,$66 // `a.......bc.de.f
        .byte $67,$68,$69,$01,$6a,$6b,$01,$6c,$6d,$01,$01,$01,$01,$01,$01,$01 // ghi.jk.lm.......
        .byte $01,$01,$01,$6e,$6f,$70,$71,$72,$73,$74,$75,$01,$01,$01,$01,$76 // ...nopqrstu....v
        .byte $77,$01,$78,$79,$01,$7a,$7b,$70,$71,$7c,$73,$01,$01,$01,$01,$01 // w.xy.z{pq|s.....
        .byte $01,$7d,$77,$01,$14,$7e,$01,$01,$7f,$80,$81,$82,$83,$84,$85,$01 // .}w..~..........
        .byte $02,$03,$04,$05,$38,$07,$14,$0f,$15,$86,$87,$88,$89,$8a,$8b,$8c // ....8...........
        .byte $0f,$0a,$02,$03,$04,$8d,$8e,$8f,$08,$0f,$0a,$90,$03,$04,$91,$92 // ................
        .byte $93,$14,$0f,$15,$94,$95,$96,$97,$98,$99,$9a,$9b,$9c,$9d,$9e,$9f // ................
        .byte $a0,$a1,$a2,$a3,$0f,$15,$02,$a4,$a5,$05,$a6,$42,$14,$0f,$15,$53 // ...........B...S
        .byte $a7,$a8,$a9,$aa,$ab,$8c,$ac,$01,$02,$ad,$04,$ae,$af,$93,$b0,$0f // ................

dat_3400:
        // === Fill data (1 bytes, $3400-$3400) ===
        .byte $00                                   // .

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

dat_3800:
        .byte $44,$45,$9a,$11,$15,$66,$00,$44,$55,$00,$11,$15,$00,$00,$00,$00 // DE...f.DU.......
        .fill 9, $00
        .byte $44,$55,$00,$11,$15,$00,$04,$45,$11,$11,$55 // DU.....E..U

// --- Region $3840-$3863 ---
.pc = $3840 "dat_3840"

dat_3840:
        .byte $aa,$ab,$ba,$9a,$aa,$ee,$66,$aa,$ab,$99,$aa,$aa,$00,$00,$00,$00 // ......f.........
        .fill 8, $00
        .byte $66,$aa,$ab,$99,$aa,$aa,$6a,$ab,$bb,$9a,$ae,$ee // f.....j.....

// --- Region $3880-$38a3 ---
.pc = $3880 "dat_3880"

dat_3880:
        .byte $bb,$bf,$ff,$ee,$ff,$fe,$bf,$ff,$bb,$ef,$ff,$ee,$00,$00,$00,$00 // ................
        .fill 8, $00
        .byte $bf,$ff,$bb,$ef,$ff,$ee,$fb,$bf,$ff,$ae,$ef,$fe // ............

// --- Region $38c0-$38e3 ---
.pc = $38c0 "dat_38c0"

dat_38c0:
        .byte $bb,$bb,$aa,$ee,$ee,$e9,$aa,$bb,$aa,$ea,$aa,$aa,$00,$00,$00,$00 // ................
        .fill 8, $00
        .byte $aa,$bb,$aa,$ea,$aa,$aa,$bb,$aa,$aa,$ee,$ea,$99 // ............

// --- Region $3900-$3923 ---
.pc = $3900 "dat_3900"

dat_3900:
        .byte $aa,$65,$55,$99,$99,$55,$66,$65,$55,$a9,$55,$45,$00,$00,$00,$00 // .eU..UfeU.UE....
        .fill 8, $00
        .byte $66,$65,$55,$a9,$55,$45,$66,$55,$11,$99,$54,$44 // feU.UEfU..TD

// --- Region $3940-$3963 ---
.pc = $3940 "dat_3940"

dat_3940:
        .byte $44,$00,$00,$51,$11,$00,$44,$44,$44,$11,$10,$00,$00,$00,$00,$00 // D..Q..DDD.......
        .fill 8, $00
        .byte $44,$44,$44,$11,$10,$00,$00,$00,$00,$44,$44 // DDD......DD

dat_3963:
        // === Fill data (1 bytes, $3963-$3963) ===
        .byte $00                                   // .

// --- Region $3c00-$3e82 ---
.pc = $3c00 "txt_3c00"

txt_3c00:
        .text " S2  - "

txt_3c07:
        .encoding "screencode_mixed"
        .text "kings of the beach"
        .encoding "petscii_upper"

txt_3c19:
        .text " -S3 "
        .byte $06,$12,$0f,$0d                       // ....

txt_3c22:
        .text " S2 - "
        .byte $05,$0c,$05,$03,$14,$12,$0f,$0e,$09,$03,$20,$01,$12,$14,$13 // .......... ....

txt_3c37:
        .text " - S3"
        .byte $17,$01,$13,$20                       // ... 

spr_3c40:
        // === Sprite data (64 bytes, $3c40-$3c7f) ===
        .byte $03,$12,$01                           // ......##...#..#........#
        .byte $03,$0b,$05                           // ......##....#.##.....#.#
        .byte $04,$20,$02                           // .....#....#...........#.
        .byte $19

txt_3c4a:
        .byte $20,$20
        .byte $20,$2d,$20                           // ..#.......#.##.#..#.....
        .byte $20,$14,$13                           // ..#........#.#.....#..##
        .byte $0d

txt_3c53:
        .byte $20,$20
        .byte $2d,$20,$20                           // ..#.##.#..#.......#.....
        .byte $53,$30,$20                           // .#.#..##..##......#.....
        .byte $53,$33,$20                           // .#.#..##..##..##..#.....
        .byte $09,$0d,$10                           // ....#..#....##.#...#....
        .byte $0f,$12,$14                           // ....####...#..#....#.#..
        .byte $05,$04,$20                           // .....#.#.....#....#.....
        .byte $01,$0e,$04                           // .......#....###......#..
        .byte $20,$10,$01                           // ..#........#...........#
        .byte $0c,$20,$06                           // ....##....#..........##.
        .byte $09,$18,$05                           // ....#..#...##........#.#
        .byte $04,$20,$02                           // .....#....#...........#.
        .byte $19

txt_3c77:
        .byte $20,$20
        .byte $20,$2d,$20                           // ..#.......#.##.#..#.....
        .byte $13,$09,$04                           // ...#..##....#..#.....#..
        .byte $05                                   // sprite 0 padding

txt_3c80:
        .text " -   S0  S3 "
        .byte $07,$12,$05,$05,$14,$13,$20,$14,$0f   // ...... ..

txt_3c95:
        .text " S2 "
        .byte $10,$01,$0e,$09,$0e,$01,$12,$0f       // ........

txt_3ca1:
        .text " - 711 - "

txt_3caa:
        .encoding "screencode_mixed"
        .text "nato - action - talent - f4cg - sphinx - elite - unibit - image"
        .encoding "petscii_upper"

txt_3ce9:
        .text "... S3 "

txt_3cf0:
        .encoding "screencode_mixed"
        .text "in the land of influx greets to"
        .encoding "petscii_upper"

txt_3d0f:
        .text "  S3 "

txt_3d14:
        .encoding "screencode_mixed"
        .text "tsm (thanx to warp factor"
        .encoding "petscii_upper"

txt_3d2d:
        .text ") S2- "

txt_3d33:
        .encoding "screencode_mixed"
        .text "nec - rfo - arc - xds - atc - oep"
        .encoding "petscii_upper"

txt_3d54:
        .text "...   S3 "

txt_3d5d:
        .encoding "screencode_mixed"
        .text "after bad times, good times will follow (hint hint"
        .encoding "petscii_upper"

txt_3d8f:
        .text ")....S2 S1    "

txt_3d9d:
        .encoding "screencode_mixed"
        .text "side of hotline says"
        .encoding "petscii_upper"

txt_3db1:
        .text " +++ S4 ("
        .byte $14,$08,$09,$13,$20,$13               // .... .

spr_3dc0:
        // === Sprite data (64 bytes, $3dc0-$3dff) ===
        .byte $05,$0e,$14                           // .....#.#....###....#.#..
        .byte $05,$0e,$03                           // .....#.#....###.......##
        .byte $05,$20,$09                           // .....#.#..#.........#..#
        .byte $13,$20,$10                           // ...#..##..#........#....
        .byte $12,$0f,$14                           // ...#..#.....####...#.#..
        .byte $05,$03,$14                           // .....#.#......##...#.#..
        .byte $05,$04,$20                           // .....#.#.....#....#.....
        .byte $02,$19,$20                           // ......#....##..#..#.....
        .byte $14,$08,$05                           // ...#.#......#........#.#
        .byte $20,$28,$03                           // ..#.......#.#.........##
        .byte $29,$20,$0c                           // ..#.#..#..#.........##..
        .byte $01,$17,$13                           // .......#...#.###...#..##
        .byte $20,$01,$0e                           // ..#............#....###.
        .byte $04,$20,$0d                           // .....#....#.........##.#
        .byte $01,$19,$20                           // .......#...##..#..#.....
        .byte $0e,$0f,$14                           // ....###.....####...#.#..
        .byte $20,$02,$05                           // ..#...........#......#.#
        .byte $20,$12,$05                           // ..#........#..#......#.#
        .byte $10,$12,$0f                           // ...#.......#..#.....####
        .byte $04,$15,$03                           // .....#.....#.#.#......##
        .byte $05,$04,$20                           // .....#.#.....#....#.....
        .byte $02                                   // sprite 0 padding

txt_3e00:
        .encoding "screencode_mixed"
        .text "y any lamer without written permision of rico or side, so lamers beware and stop acting like a xerox machine"
        .encoding "petscii_upper"

txt_3e6c:
        .text "!..)S3 S2 S1          "
        .byte $00                                   // string terminator
