// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:37:05
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $31ff  (11008 bytes)
// Crunched with Exomizer v2/v3 — depacked by emulation
// Packer entry: $080b (via BASIC SYS 2059)
// Entry point:  $0813 (2067)
// IRQ handler:  $0868 (irq_0868)
// IRQ handler:  $0a00 (irq_0a00)
//
// Code: 4298 bytes, Data: 6710 bytes
// Labels: 323, Subroutines: 34
//
// Cross-references: all OK
// ============================================


// --- Region $0813-$095c ---
.pc = $0813 "main_0813"

main_0813:
        lda #$00
        sta $d011
        ldx #$00
        lda #$0f

loc_081c:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        inx
        bne loc_081c
        lda #$00
        tax
        tay
        jsr sub_08b0
        jsr sub_0900
        sei
        lda #$7f
        sta $dc0d
        lda #$01
        sta $d01a
        lda #$1b
        sta $d011
        lda #$a8
        sta $d016
        lda #$1d
        sta $d018
        lda #$68
        sta $0314
        lda #$08
        sta $0315
        lda #$30
        sta $d012
        nop
        nop
        nop
        cli

loc_0862:
        jmp loc_0862

dat_0865:
        .byte $00,$00,$00                           // ...

irq_0868:
        inc $d019
        jsr sub_08a0
        lda #$00
        sta $0314
        lda #$0a
        sta $0315
        lda #$70
        sta $d012
        jmp $ea81

loc_0880:
.label loc_0881 = * + 1
        jsr sub_2e24
        jsr sub_2270
        jsr sub_08f8
        lda #$68
        sta $0314
        lda #$08
        sta $0315
        lda #$30
        sta $d012
        lda #$1b
        sta $d011
        jmp $ea81
// Referenced by: jsr from $086b

sub_08a0:
        jsr sub_0900
        jsr sub_1003
        jsr sub_2f48
        jsr sub_2f88
        rts

dat_08ad:
        .byte $60,$00,$00                           // `..
// Referenced by: jsr from $082f

sub_08b0:
        jsr sub_1000
        ldx #$00
        lda #$1f

loc_08b7:
        sta $0400,x
        sta $0500,x
        sta $0600,x
        sta $0700,x
        inx
        bne loc_08b7
        nop
        nop
        nop
        ldx #$00
        lda #$00

loc_08cd:
        sta $0e00,x
        sta $0e7f,x
        inx
        bne loc_08cd
        lda #$00
        sta $2006
        sta $226c
        lda #$ff
        sta $0f7f
        lda #$07
        sta $226e
        lda #$27
        sta $226f
        jsr sub_0fa0
        nop
        nop
        nop
        rts

dat_08f4:
        .byte $00,$00,$00,$00                       // ....
// Referenced by: jsr from $0886

sub_08f8:
        jsr sub_2008
        jmp sub_2008

dat_08fe:
        .byte $00,$00                               // ..
// Referenced by: jsr from $0832, $08a0

sub_0900:
        lda #$00
        sta $d020
        sta $d021
        lda #$80
        sta $d001
        lda #$58
        sta $d000
        lda #$00
        sta $d017
        sta $d01b
        sta $d01c
        sta $d01d
        lda #$01
        sta $d010
        ldx #$38
        stx $07f8
        lda #$ff
        sta $d015
        ldx #$00
        lda #$01

loc_0933:
        nop
        nop
        nop
        inx
        cpx #$08
        bne loc_0933
        ldx #$b1
        stx $07f9
        inx
        stx $07fa
        inx
        stx $07fb
        inx
        stx $07fc
        inx
        stx $07fd
        inx
        stx $07fe
        inx
        stx $07ff
        jmp loc_0fb8

dat_095b:
        .byte $00,$00                               // ..

// --- Region $0992-$09d0 ---
.pc = $0992 "loc_0992"

loc_0992:
        nop
        nop
        lda $2007
        sec
        sbc #$01
        bcs loc_099e
        lda #$06

loc_099e:
        sta $2007
        ldx $2007
        lda $0977,x
        clc
        adc $097e
        tax
        lda $097e
        clc
        adc #$01
        cmp #$0a
        bcc loc_09b8
        lda #$00

loc_09b8:
        sta $097e
        lda $2300,x
        cmp #$02
        beq loc_09cb
        sta $2006
        lda #$40
        sta $227b
        rts

loc_09cb:
        lda #$78
        sta $227b
        rts

// --- Region $0a00-$0a2a ---
.pc = $0a00 "irq_0a00"

irq_0a00:
        lda #$01
        sta $d019
        lda #$a8
        sta $d016
        lda #$1a
        sta $d018
        lda #$1b
        sta $d013
        lda #$7b
        sta $d012
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        lda #$2c
        sta $0314
        jmp $ea81

// --- Region $0a79-$0d1d ---
.pc = $0a79 "loc_0a79"

loc_0a79:
        nop
        nop
        ldy #$01
        lda $d012
        cmp #$80
        beq loc_0a84

loc_0a84:
        jmp loc_0a87

loc_0a87:
        bit $01
        jmp loc_0a8c

loc_0a8c:
        ldx #$00
        ldy #$00
        lda #$00
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        lda #$95
        sta $d001
        jsr sub_0d36
        dec $d000
        inc $07f8
        jsr sub_0d30
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        lda #$aa
        sta $d001
        jsr sub_0d33
        dec $d000
        inc $07f8
        jsr sub_0d30
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        lda #$bf
        sta $d001
        jsr sub_0d33
        dec $d000
        inc $07f8
        jsr sub_0d30
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        lda #$d4
        sta $d001
        inc $07f8
        jsr sub_0d3b
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d55
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jmp loc_0d70

dat_0d1c:
        .byte $00,$00                               // ..

// --- Region $0d2d-$0d44 ---
.pc = $0d2d "sub_0d2d"
// Referenced by: jsr from $0a9b, $0aad, $0ab3, $0ab9, $0abf, $0ac5, $0acb, $0add

sub_0d2d:
        nop
        nop
        nop
// Referenced by: jsr from $0b15, $0b9b, $0c21, $0d84

sub_0d30:
        nop
        nop
        nop
// Referenced by: jsr from $0aa7, $0ad7, $0b3f, $0b6f, $0b92, $0ba7, $0bd7, $0c07

sub_0d33:
        nop
        nop
        nop
// Referenced by: jsr from $0b0c

sub_0d36:
        nop
        nop
        nop
        nop
        nop
// Referenced by: jsr from $0ca7

sub_0d3b:
        nop
        nop
// Referenced by: jsr from $0a95, $0aa1, $0ad1, $0b01, $0b39, $0b69, $0ba1, $0bd1

sub_0d3d:
        bit $ea
        lda #$00
        sta $d013
        rts

// --- Region $0d55-$0df2 ---
.pc = $0d55 "sub_0d55"
// Referenced by: jsr from $0cbf

sub_0d55:
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        bit $ea
        lda #$00
        sta $d010
        rts

dat_0d6d:
        .byte $00,$00,$00                           // ...

loc_0d70:
        jsr sub_0d2d
        dec $d000
        lda #$e9
        sta $d001
        jsr sub_0d33
        dec $d000
        inc $07f8
        jsr sub_0d30
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d3d
        dec $d000
        jsr sub_0d33
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jsr sub_0d2d
        dec $d000
        jmp loc_0880

// --- Region $0e20-$0e20 ---
.pc = $0e20 "Program $0e20"
        brk

// --- Region $0f0e-$0f13 ---
.pc = $0f0e "sub_0f0e"
// Referenced by: jsr from $30ac

sub_0f0e:
        brk

dat_0f0f:
        .byte $e0,$00,$00,$c0                       // ....
        brk

// --- Region $0fa0-$1006 ---
.pc = $0fa0 "sub_0fa0"
// Referenced by: jsr from $08ed

sub_0fa0:
        lda #$00
        sta smc_2025                                // SMC: modifies $2025
        sta $201e
        lda #$30
        sta smc_202a                                // SMC: modifies $202a
        sta $201f
        lda #$00
        sta dat_2000
        jmp loc_2e54

loc_0fb8:
        lda $0fff
        sta $d003
        sta $d005
        sta $d007
        sta $d009
        sta $d00b
        sta $d00d
        sta $d00f
        lda $0ffe
        sta $d002
        clc
        adc #$18
        sta $d004
        clc
        adc #$18
        sta $d006
        clc
        adc #$18
        sta $d008
        clc
        adc #$18
        sta $d00a
        clc
        adc #$18
        sta $d00c
        clc
        adc #$18
        sta $d00e
        rts

dat_0ffb:
        .byte $00,$00,$00,$30,$54                   // ...0T
// Referenced by: jsr from $08b0

sub_1000:
        jmp loc_1185
// Referenced by: jsr from $08a3

sub_1003:
        jmp loc_11d6

dat_1006:
        .byte $19                                   // .

// --- Region $1185-$1881 ---
.pc = $1185 "loc_1185"

loc_1185:
        ldx #$78
        lda #$00

loc_1189:
        sta $1019,x
        dex
        bpl loc_1189
        jsr sub_11cb
        lda dat_1897,y
        sta smc_11a1                                // SMC: modifies $11a1
        lda $1898,y
        sta smc_11a2                                // SMC: modifies $11a2
        ldx #$05

loc_11a0:
.label smc_11a1 = * + 1
.label smc_11a2 = * + 2
        lda loc_1899,x                              // !SMC: modified by $1195, $119b
        sta $104c,x
        dex
        bpl loc_11a0
        lda #$40
        sta $f7
        lda #$04
        sta $f6
        lda #$02
        sta $f5
        ldx #$02

loc_11b7:
        jsr sub_13d3
        lda #$03
        sta $1022,x
        dex
        bpl loc_11b7
        lda #$0f
        sta smc_11d7                                // SMC: modifies $11d7
        sta smc_187e                                // SMC: modifies $187e
        rts
// Referenced by: jsr from $118f

sub_11cb:
        ldx #$18
        lda #$08

loc_11cf:
        sta $d400,x
        dex
        bpl loc_11cf
        rts

loc_11d6:
.label smc_11d7 = * + 1
        lda #$0f                                    // !SMC: modified by $11c4, $13f6, $188e
.label smc_11d9 = * + 1
        ora #$20                                    // !SMC: modified by $1299
        sta $d418
        lda #$02
        sta $f5
        lda #$04
        sta $f6
        lda #$40
        sta $f7
.label smc_11ea = * + 1
        lda #$f0                                    // !SMC: modified by $12a1
        sta smc_1879                                // SMC: modifies $1879
        ldx #$02

loc_11f0:
        lda $1034,x
        beq loc_11f8
        jmp loc_1872

loc_11f8:
        lda $103a,x
        sta $fe
        lda $103d,x
        sta $ff
        lda #$19
        sta $fd
        lda #$49
        clc
        adc $1025,x
        sta $fc
        bcc loc_1212
        inc $fd

loc_1212:
        ldy $1040,x
        lda $1019,x
        cmp $101c,x
        bcs loc_1230
        lda ($fe),y
        cmp #$ff
        bne loc_122d
        lda $1019,x
        cmp #$02
        bne loc_122d
        jsr sub_13c8

loc_122d:
        jmp loc_155b

loc_1230:
        lda #$00
        sta $1019,x
        sta $105b,x
        sta $105e,x
        sta $102e,x
        sta $102b,x
        sta $1037,x
        lda ($fe),y
        bmi loc_125f
        cmp #$60
        bcs loc_124f

loc_124c:
        jmp loc_1440

loc_124f:
        and #$0f
        asl
        asl
        asl
        sta $1097,x
        iny
        lda ($fe),y
        bmi loc_125f
        jmp loc_1440

loc_125f:
        cmp #$80
        bne loc_126e
        iny
        lda ($fe),y
        sta $1022,x
        iny
        lda ($fe),y
        bpl loc_124c

loc_126e:
        cmp #$81
        bne loc_128f
        iny
        lda ($fe),y
        sty $fb
        clc
        adc $1028,x
        tay
        lda $10c7,y
        sta $1061,x
        lda $1126,y
        sta $1064,x
        ldy $fb
        iny
        lda ($fe),y
        bpl loc_124c

loc_128f:
        cmp #$82
        bne loc_12a9
        iny
        lda ($fe),y
        pha
        and #$f0
        sta smc_11d9                                // SMC: modifies $11d9
        pla
        asl
        asl
        asl
        asl
        sta smc_11ea                                // SMC: modifies $11ea
        iny
        lda ($fe),y
        bpl loc_124c

loc_12a9:
        cmp #$e0
        bcs loc_1305
        and #$1f
        asl
        asl
        asl
        cmp $1025,x
        beq loc_12ca
        sta $1025,x
        lda #$19
        sta $fd
        lda #$49
        clc
        adc $1025,x
        sta $fc
        bcc loc_12ca
        inc $fd

loc_12ca:
        lda #$00
        sta $109a,x
        sta $108b,x
        sta $1091,x
        sta $1094,x
        lda #$03
        sta $1022,x
        sty $fb
        ldy #$05
        lda ($fc),y
        and #$0f
        sta $108e,x
        ldy #$06
        lda ($fc),y
        and #$0f
        beq loc_12fb
        iny
        lda ($fc),y
        and #$f0
        sta $107f,x
        sta $1088,x

loc_12fb:
        ldy $fb
        iny
        lda ($fe),y
        bmi loc_1305
        jmp loc_1440

loc_1305:
        and #$0f
        sta $1049,x
        pha
        iny
        lda ($fe),y
        sta $1043,x
        clc
        adc $1028,x
        sta $101f,x
        sta $1046,x
        sty $fb
        tay
        lda $10c7,y
        sta $f9
        sta $1079,x
        pla
        bne loc_1341
        lda $1061,x
        sec
        sbc $f9
        sta $1055,x
        lda $1126,y
        sta $107c,x
        sbc $1064,x
        sta $1058,x
        jmp loc_135a

loc_1341:
        lda $1126,y
        sta $fa
        sta $107c,x
        lda $1061,x
        sec
        sbc $f9
        sta $1055,x
        lda $1064,x
        sbc $fa
        sta $1058,x

loc_135a:
        ldy $fb
        iny
        lda ($fe),y
        sta $101c,x
        iny
        lda ($fe),y
        sta $105b,x
        and #$01
        beq loc_1387
        sty $fb
        ldy #$05
        lda ($fc),y
        and #$0f
        sta $108e,x
        lda #$00
        sta $108b,x
        sta $1091,x
        sta $109a,x
        sta $1094,x
        ldy $fb

loc_1387:
        iny
        tya
        sta $1040,x
        lda $1085,x
        beq loc_13a0
        lda smc_1879
        ora $10a0,x
        sta smc_1879                                // SMC: modifies $1879
        lda $1088,x
        sta $107f,x

loc_13a0:
        ldy #$06
        lda ($fc),y
        and #$80
        bne loc_13b5
        lda $101c,x
        sec
        sbc #$03
        cmp #$03
        bcc loc_13b5
        sta $1022,x

loc_13b5:
        asl $105b,x
        bcc loc_13bd
        rol $105e,x

loc_13bd:
        asl $105b,x
        bcc loc_13c5
        rol $105e,x

loc_13c5:
        jmp loc_1740
// Referenced by: jsr from $122a

sub_13c8:
        lda #$00
        sta $1040,x
        dec $1052,x
        beq sub_13d3
        rts
// Referenced by: jsr from $11b7; branch from $13d0

sub_13d3:
        lda #$01
        sta $1052,x
        lda $104c,x
        sta $f9
        lda $104f,x
        sta $fa
        ldy $1031,x
        lda ($f9),y
        bpl loc_142a
        cmp #$ff
        bne loc_13fd
        iny
        lda ($f9),y
        tay
        lda #$0f
        sta smc_187e                                // SMC: modifies $187e
        sta smc_11d7                                // SMC: modifies $11d7
        lda ($f9),y
        bpl loc_142a

loc_13fd:
        cmp #$fe
        bne loc_1414
        lda #$00
        sta smc_187e                                // SMC: modifies $187e
        iny
        lda ($f9),y
        sta $1885
        sta smc_1892                                // SMC: modifies $1892
        iny
        lda ($f9),y
        bpl loc_142a

loc_1414:
        bit $f7
        bne loc_1422
        and #$3f
        sta $1028,x
        iny
        lda ($f9),y
        bpl loc_142a

loc_1422:
        and #$3f
        sta $1052,x
        iny
        lda ($f9),y

loc_142a:
        iny
        sty $fb
        tay
        lda $19f1,y
        sta $103a,x
        lda $19fc,y
        sta $103d,x
        lda $fb
        sta $1031,x
        rts

loc_1440:
        sta $1043,x
        clc
        adc $1028,x
        sta $101f,x
        sta $1046,x
        iny
        lda ($fe),y
        sta $101c,x
        iny
        tya
        sta $1040,x
        ldy $1046,x
        lda $10c7,y
        sta $1079,x
        sta $1061,x
        lda $1126,y
        sta $107c,x
        sta $1064,x
        lda #$00
        sta $106a,x
        tay
        lda ($fc),y
        lsr
        lsr
        lsr
        lsr
        tay
        lda $10b7,y
        beq loc_1481
        lda #$09

loc_1481:
        sta smc_1554                                // SMC: modifies $1554
        cmp #$45
        beq $149c
        ldy #$05
        lda ($fc),y
        and #$0f
        sta $108e,x
        lda #$00
        sta $108b,x
        sta $1091,x
        sta $1094,x
        ldy #$01
        lda ($fc),y
        sta smc_154a                                // SMC: modifies $154a
        iny
        lda ($fc),y
        sta smc_154f                                // SMC: modifies $154f
        iny
        lda ($fc),y
        tay
        and #$01
        beq loc_14b7
        lda $101f,x
        sta $1043,x

loc_14b7:
        sty $fb
        ldy #$06
        lda ($fc),y
        and #$0f
        beq loc_14cd
        lda $fb
        tay
        and #$02
        bne loc_1503
        tya
        and #$f0
        bpl loc_14de

loc_14cd:
        ldy #$07
        lda ($fc),y
        tay
        and #$0f
        asl
        asl
        sta $1037,x
        tya
        and #$f0
        beq loc_1503

loc_14de:
        lsr
        lsr
        tay
        lda $193d,y
        sta $106a,x
        iny
        lda $193d,y
        sta $106d,x
        sta $1073,x
        lsr
        sta $1076,x
        iny
        lda $193d,y
        sta $1067,x
        iny
        lda $193d,y
        sta $1070,x

loc_1503:
        ldy #$06
        lda ($fc),y
        tay
        and #$80
        bne loc_1519
        lda $101c,x
        sec
        sbc #$03
.label sub_1513 = * + 1
        cmp #$03
        bcc loc_1519
        sta $1022,x

loc_1519:
        tya
        and #$10
        sta $1082,x
        tya
        and #$0f
        sta $1085,x
        beq loc_1546
        lda smc_1879
        ora $10a0,x
        sta smc_1879                                // SMC: modifies $1879
        tya
        and #$20
        beq loc_1546
        lda #$00
        sta $109a,x
        ldy #$07
        lda ($fc),y
        and #$f0
        sta $107f,x
        sta $1088,x

loc_1546:
        ldy $109d,x
.label smc_154a = * + 1
        lda #$00                                    // !SMC: modified by $14a0
        sta $d405,y
.label smc_154f = * + 1
        lda #$fc                                    // !SMC: modified by $14a6
        sta $d406,y
.label smc_1554 = * + 1
        lda #$09                                    // !SMC: modified by $1481
        sta $d404,y
        jmp loc_186f

loc_155b:
        ldy #$00
        sty $f8
        lda $1019,x
        cmp $1022,x
        bcc loc_1575
        lda ($fc),y
        and #$0f
        tay
        lda $10b7,y
        sta smc_1861                                // SMC: modifies $1861
        jmp loc_15a0

loc_1575:
        lda ($fc),y
        lsr
        lsr
        lsr
        lsr
        tay
        lda $10b7,y
        sta smc_1861                                // SMC: modifies $1861
        inc $f8
        lda $1019,x
        cmp #$01
        bne loc_15a0
        ldy #$06
        lda ($fc),y
        bit $f7
        beq loc_15a0
        lda #$80
        sta smc_1861                                // SMC: modifies $1861
        lda #$5e
        sta $101f,x
        jmp loc_162d

loc_15a0:
        ldy #$03
        lda ($fc),y
        bit $f6
        beq loc_15f1
        lda $1097,x
        sta $fb
        clc
        adc $102e,x
        tay
        lda $19b1,y
        cmp #$ff
        bne loc_15c6
        lda #$00
        sta $102e,x
        ldy $fb
        lda $19b1,y
        jmp loc_15ca

loc_15c6:
        cmp #$fe
        beq loc_162d

loc_15ca:
        pha
        and #$7f
        clc
        adc $1046,x
        sta $101f,x
        ldy $102e,x
        pla
        and #$80
        beq loc_15e3
        lda $1019,x
        and #$01
        bne loc_15e4

loc_15e3:
        iny

loc_15e4:
        cpy #$08
        bne loc_15ea
        ldy #$00

loc_15ea:
        tya
        sta $102e,x
        jmp loc_162d

loc_15f1:
        bit $f5
        beq loc_162d
        lsr
        lsr
        lsr
        lsr
        tay
        lda $18fc,y
        sta $fe
        lda $1902,y
        sta $ff
        lda $18f9,y
        sta $f9
        lda loc_18ff,y
        sta $fa
        ldy $102b,x
        lda ($fe),y
        bpl loc_161e
        iny
        lda ($fe),y
        tay
        sta $102b,x
        lda ($fe),y

loc_161e:
        clc
        adc $1043,x
        sta $101f,x
        lda ($f9),y
        sta smc_1861                                // SMC: modifies $1861
        inc $102b,x

loc_162d:
        lda $1085,x
        beq loc_169e
        asl
        sta $fb
        lda smc_1879
        ora $10a0,x
        sta smc_1879                                // SMC: modifies $1879
        ldy #$03
        lda ($fc),y
        and #$08
        beq loc_1677
        ldy #$07
        lda ($fc),y
        and #$0f
        tay
        lda loc_189f,y
        sta $f9
        lda $18a0,y
        sta $fa
        ldy $109a,x
        lda ($f9),y
        cmp #$ff
        bne loc_166b
        lda #$00
        sta $109a,x
        tay
        lda ($f9),y
        jmp loc_166f

loc_166b:
        cmp #$fe
        beq loc_169e

loc_166f:
        sta $d416
        inc $109a,x
        bne loc_169e

loc_1677:
        ldy #$07
        lda ($fc),y
        asl
        asl
        asl
        asl
        cmp $107f,x
        beq loc_169e
        lda $1082,x
        beq loc_1692
        lda $107f,x
        clc
        adc $fb
        jmp loc_1698

loc_1692:
        lda $107f,x
        sec
        sbc $fb

loc_1698:
        sta $107f,x
        sta $d416

loc_169e:
        ldy #$04
        lda ($fc),y
        pha
        lsr
        lsr
        lsr
        lsr
        sta smc_170e                                // SMC: modifies $170e
        pla
        and #$0f
        sta smc_172a                                // SMC: modifies $172a
        inc smc_172a
        lda $1085,x
        bne loc_16e5
        lda $1082,x
        beq loc_16e5
        ldy #$05
        lda ($fc),y
        lsr
        lsr
        lsr
        lsr
        tay
        lda loc_18f2,y
        sta $f9
        lda $18f4,y
        sta $fa
        ldy $1094,x
        lda ($f9),y
        sta $fb
        iny
        lda ($f9),y
        cmp #$ff
        beq loc_16ef
        tya
        sta $1094,x
        jmp loc_16ef

loc_16e5:
        ldy #$05
        lda ($fc),y
        and #$f0
        sta $fb
        beq loc_1740

loc_16ef:
        lda $1019,x
        cmp $1037,x
        bcc loc_1740
        lda $1091,x
        beq loc_1718
        lda $108b,x
        sec
        sbc $fb
        sta $108b,x
        lda $108e,x
        sbc #$00
        sta $108e,x
.label smc_170e = * + 1
        cmp #$00                                    // !SMC: modified by $16a7
        bne loc_1740
        lda #$00
        sta $1091,x
        beq loc_1740

loc_1718:
        lda $108b,x
        clc
        adc $fb
        sta $108b,x
        lda $108e,x
        adc #$00
        sta $108e,x
.label smc_172a = * + 1
        cmp #$01                                    // !SMC: modified by $16ad
        bne loc_1740
        cmp #$10
        bne loc_173b
        lda #$ff
        sta $108b,x
        lda #$0f
        sta $108e,x

loc_173b:
        lda #$01
        sta $1091,x

loc_1740:
        ldy $101f,x
        bpl loc_1748
        jmp loc_1847

loc_1748:
        lda $10c7,y
        sta smc_184b                                // SMC: modifies $184b
        lda $1126,y
        sta smc_1850                                // SMC: modifies $1850
        lda $105b,x
        beq loc_175c
        jmp loc_17e4

loc_175c:
        lda $1067,x
        cmp $1019,x
        bcc loc_1767

loc_1764:
        jmp loc_1847

loc_1767:
        lda $106a,x
        beq loc_1764
        lda $1076,x
        beq loc_179b
        lda $106a,x
        asl
        sta $fb
        bcc loc_177c
        dec $107c,x

loc_177c:
        lda $1079,x
        sec
        sbc $fb
        sta $1079,x
        lda $107c,x
        sbc #$00
        sta $107c,x
        dec $1076,x
        bne loc_17c2
        lda $106d,x
        sta $1073,x
        jmp loc_17c2

loc_179b:
        lda $106a,x
        asl
        sta $fb
        bcc loc_17a6
        inc $107c,x

loc_17a6:
        lda $1079,x
        clc
        adc $fb
        sta $1079,x
        lda $107c,x
        adc #$00
        sta $107c,x
        dec $1073,x
        bne loc_17c2
        lda $106d,x
        sta $1076,x

loc_17c2:
        lda $1079,x
        sta smc_184b                                // SMC: modifies $184b
        lda $107c,x
        sta smc_1850                                // SMC: modifies $1850
        lda $1019,x
        and #$01
        beq loc_17e1
        lda $106a,x
        clc
        adc $1070,x
        bmi loc_17e1
        sta $106a,x

loc_17e1:
        jmp loc_1847

loc_17e4:
        lda $1049,x
        beq loc_1803
        lda smc_1850
        clc
        adc $1058,x
        sta smc_1850                                // SMC: modifies $1850
        lda smc_184b
        adc $1055,x
        sta smc_184b                                // SMC: modifies $184b
        bcc loc_181b
        inc smc_1850
        bne loc_181b

loc_1803:
        lda smc_1850
        sec
        sbc $1058,x
        sta smc_1850                                // SMC: modifies $1850
        lda smc_184b
        sbc $1055,x
        sta smc_184b                                // SMC: modifies $184b
        bcs loc_181b
        dec smc_1850

loc_181b:
        lda $1058,x
        sec
        sbc $105e,x
        sta $1058,x
        bmi loc_1838
        lda $1055,x
        sec
        sbc $105b,x
        sta $1055,x
        bcs loc_1847
        dec $1058,x
        bpl loc_1847

loc_1838:
        lda #$00
        sta $105b,x
        lda $106d,x
        sta $1073,x
        lsr
        sta $1076,x

loc_1847:
        ldy $109d,x
.label smc_184b = * + 1
        lda #$04                                    // !SMC: modified by $174b, $17c5, $17f9, $1813
        sta $d400,y
.label smc_1850 = * + 1
        lda #$dd                                    // !SMC: modified by $1751, $17cb, $17f0, $180a
        sta $d401,y
        lda $108b,x
        sta $d402,y
        lda $108e,x
        sta $d403,y
.label smc_1861 = * + 1
        lda #$80                                    // !SMC: modified by $156f, $157f, $1595, $1627
        beq $1866
        ora $f8
        sta $d404,y
        lda $1046,x
        sta $101f,x

loc_186f:
        inc $1019,x

loc_1872:
        dex
        bmi loc_1878
        jmp loc_11f0

loc_1878:
.label smc_1879 = * + 1
        lda #$f2                                    // !SMC: modified by $11eb, $1397, $152d, $163b
        sta $d417
.label smc_187e = * + 1
        lda #$0f                                    // !SMC: modified by $11c7, $13f3, $1403
        bne loc_1896

dat_1881:
        .byte $ce                                   // .

// --- Region $188d-$18b5 ---
.pc = $188d "Segment $188d"
        dey
        sty smc_11d7                                // SMC: modifies $11d7

loc_1891:
.label smc_1892 = * + 1
        lda #$57                                    // !SMC: modified by $140c
        sta $1885

loc_1896:
        rts

dat_1897:
        .byte $99,$18                               // ..

loc_1899:
        .byte $07,$22                               // slo $22 // ILLEGAL

loc_189b:
        rti

dat_189c:
        .byte $1a,$1a,$1a                           // ...

loc_189f:
        lda ($18,x)
        jsr sub_2020
        jsr $a020
        ldy #$a0
        ldy #$a0
        bvc loc_18fd
        bvc loc_18ff
        bvc loc_1891
        cpx #$e0
        cpx #$e0
        rts

// --- Region $18ce-$1933 ---
.pc = $18ce "loc_18ce"

loc_18ce:
        bpl loc_18e0
        bpl loc_18e2
        bpl loc_1914
        rti

dat_18d5:
        .byte $40,$40,$40                           // @@@

loc_18d8:
        ldy #$a0
        ldy #$a0
        ldy #$10
        bpl loc_18f0

loc_18e0:
        bpl loc_18f2

loc_18e2:
        rti

dat_18e3:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character

loc_18e7:
        bcs loc_1899
        bcs loc_189b
        bcs loc_192d
        rti

dat_18ee:
        .byte $40,$40                               // @@

loc_18f0:
        rti

dat_18f1:
        .byte $ff                                   // .

loc_18f2:
        inc $f6,x
        clc
        clc
        ora $01
        .byte $ff,$0f,$22                           // isc $220f,x // ILLEGAL
        and $05,x

loc_18fd:
        .byte $17,$2b                               // slo $2b,x // ILLEGAL

loc_18ff:
        ora $1919,y
        ora $1919,y
        eor $2e34,x
        .byte $44,$2d                               // nop $2d // ILLEGAL
        .byte $44,$45                               // nop $45 // ILLEGAL

dat_190c:
        .byte $44,$ff,$06,$80,$10,$40,$80,$40       // D....@.@

loc_1914:
        .byte $80,$80                               // nop #$80 // ILLEGAL
        .byte $80,$5d                               // nop #$5d // ILLEGAL
        and ($29),y
        and $20
        ora $1419,x
        brk
        .byte $ff,$08,$80                           // isc $8008,x // ILLEGAL
        bpl loc_1965
        rti

dat_1926:
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $40                                   // @ character
        .byte $00
        .byte $21,$1f

loc_192d:
        .byte $1c,$18,$14                           // nop $1418,x // ILLEGAL
        bpl loc_1940
        brk

dat_1933:
        .byte $ff                                   // .

// --- Region $1940-$1940 ---
.pc = $1940 "loc_1940"

loc_1940:
        brk

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

loc_1965:
        .byte $1f,$08,$80                           // slo $8008,x // ILLEGAL
        brk

// --- Region $1e8d-$1e8d ---
.pc = $1e8d "Segment $1e8d"
        .byte $b2                                   // jam // ILLEGAL

// --- Region $1ead-$1eb1 ---
.pc = $1ead "Segment $1ead"
        and.abs $008f,x
        txa
        brk

// --- Region $1f29-$1f29 ---
.pc = $1f29 "Segment $1f29"
        brk

// --- Region $1f8d-$1f8d ---
.pc = $1f8d "Segment $1f8d"
        brk

// --- Region $2008-$21e5 ---
.pc = $2008 "sub_2008"
// Referenced by: jsr from $08f8; jmp from $08fb

sub_2008:
        lda dat_2000
        sec
        sbc $2001
        bcc loc_2017
        sta dat_2000
        jmp loc_2079

loc_2017:
        clc
        adc #$08
        sta dat_2000
        lda $3023
// Referenced by: jsr from $18a1, $30a9

sub_2020:
        cmp #$00
        bne loc_2030
.label smc_2025 = * + 1
        lda #$00                                    // !SMC: modified by $0fa2
        sta $201e
.label smc_202a = * + 1
        lda #$30                                    // !SMC: modified by $0faa
        sta $201f
        lda #$20

loc_2030:
        sta $2002
        lda $201e
        clc
        adc #$01
        bcc loc_203e
        inc $201f

loc_203e:
        sta $201e
        lda $2002
        and #$1f
        asl
        rol
        rol
        tay
        lda $2002
        and #$e0
        lsr
        ror
        ror
        ror
        ror
        clc
        adc #$24
        sta $a1
        sty $a0
        ldy #$00
        ldx #$00

loc_205f:
        lda ($a0),y
        sta $21f0,y
        iny
        cpy #$08
        bcc loc_205f
        inc $a1
        inc $a1
        ldy #$00

loc_206f:
        lda ($a0),y
        sta $21f8,y
        iny
        cpy #$08
        bcc loc_206f

loc_2079:
        ldx #$40
        jsr sub_20c0
        lda $0f3c
        sta $0f40
        ldx #$00
        jsr sub_20c0
        lda $0efc
        sta $0f00
        ldx #$c0
        jsr sub_2140
        lda $0ebc
        sta $0ec0
        ldx #$80
        jsr sub_2140
        lda $0e7c
        sta $0e80
        ldx #$40
        jsr sub_2140
        lda $0e3c
        sta $0e40
        ldx #$00
        jsr sub_2140
        lda dat_2000
        eor #$07
        tax
        jmp loc_21bc

dat_20be:
        .byte $00,$00                               // ..
// Referenced by: jsr from $207b, $2086, $2202, $220d

sub_20c0:
        lda $0f39,x
        sta $0f3c,x
        lda $0f36,x
        sta $0f39,x
        lda $0f33,x
        sta $0f36,x
        lda $0f30,x
        sta $0f33,x
        lda $0f2d,x
        sta $0f30,x
        lda $0f2a,x
        sta $0f2d,x
        lda $0f27,x
        sta $0f2a,x
        lda $0f24,x
        sta $0f27,x
        lda $0f21,x
        sta $0f24,x
        lda $0f1e,x
        sta $0f21,x
        lda $0f1b,x
        sta $0f1e,x
        lda $0f18,x
        sta $0f1b,x
        lda $0f15,x
        sta $0f18,x
        lda $0f12,x
        sta $0f15,x
        lda dat_0f0f,x
        sta $0f12,x
        lda $0f0c,x
        sta dat_0f0f,x
        lda $0f09,x
        sta $0f0c,x
        lda $0f06,x
        sta $0f09,x
        lda $0f03,x
        sta $0f06,x
        lda $0f00,x
        sta $0f03,x
        rts

dat_2139:
        .byte $00,$00,$00,$00,$00,$00,$00           // .......
// Referenced by: jsr from $2091, $209c, $20a7, $20b2, $2218, $2223, $222e, $2239

sub_2140:
        lda $0e39,x
        sta $0e3c,x
        lda $0e36,x
        sta $0e39,x
        lda $0e33,x
        sta $0e36,x
        lda $0e30,x
        sta $0e33,x
        lda $0e2d,x
        sta $0e30,x
        lda $0e2a,x
        sta $0e2d,x
        lda $0e27,x
        sta $0e2a,x
        lda $0e24,x
        sta $0e27,x
        lda dat_0e21,x
        sta $0e24,x
        lda $0e1e,x
        sta dat_0e21,x
        lda $0e1b,x
        sta $0e1e,x
        lda $0e18,x
        sta $0e1b,x
        lda $0e15,x
        sta $0e18,x
        lda $0e12,x
        sta $0e15,x
        lda $0e0f,x
        sta $0e12,x
        lda $0e0c,x
        sta $0e0f,x
        lda $0e09,x
        sta $0e0c,x
        lda $0e06,x
        sta $0e09,x
        lda $0e03,x
        sta $0e06,x
        lda $0e00,x
        sta $0e03,x
        rts

dat_21b9:
        .byte $00,$00,$00                           // ...

loc_21bc:
        lda $21e8,x
        sta $a2
        ldy #$00

loc_21c3:
        lda $21f0,y
        and $a2
        beq loc_21d3
        lda $21e8,y
        ora $21bb
        sta $21bb

loc_21d3:
        iny
        cpy #$08
        bne loc_21c3
        lda $21bb
        sta $0e00
        lda #$00
        sta $21bb
        jmp loc_2200

// --- Region $2200-$227f ---
.pc = $2200 "loc_2200"

loc_2200:
        ldx #$41
        jsr sub_20c0
        lda $0f3d
        sta $0f41
        ldx #$01
        jsr sub_20c0
        lda $0efd
        sta $0f01
        ldx #$c1
        jsr sub_2140
        lda $0ebd
        sta $0ec1
        ldx #$81
        jsr sub_2140
        lda $0e7d
        sta $0e81
        ldx #$41
        jsr sub_2140
        lda $0e3d
        sta $0e41
        ldx #$01
        jsr sub_2140
        lda dat_2000
        eor #$07
        tax
        nop
        lda $21e8,x
        sta $a2
        ldy #$00

loc_224a:
        lda $21f8,y
        and $a2
        beq loc_225a
        lda $21e8,y
        ora $21bb
        sta $21bb

loc_225a:
        iny
        cpy #$08
        bne loc_224a
        lda $21bb
        sta $0e01
        lda #$00
        sta $21bb
        rts

dat_226b:
        .byte $26,$03,$05,$01,$21                   // &...!
// Referenced by: jsr from $0883

sub_2270:
        inc $226c
        lda $226c
        cmp #$08
        beq loc_227e
        jsr sub_2346
        rts

loc_227e:
        lda #$00

// --- Region $2346-$239e ---
.pc = $2346 "sub_2346"
// Referenced by: jsr from $227a

sub_2346:
        lda $2005
        clc
        adc #$d4
        sta $a8
        lda $2004
        sta $a7
        lda $226f
        sta dat_226b
        ldx $226c
        lda $2b80,x
        ldx #$00

loc_2361:
        ldy #$00
        sta ($a7),y
        ldy #$28
        sta ($a7),y
        ldy #$50
        sta ($a7),y
        pha
        inc dat_226b
        lda dat_226b
        cmp #$28
        bne loc_238a
        lda $a7
        clc
        adc #$50
        sta $a7
        bcc loc_2383
        inc $a8

loc_2383:
        lda $226e
        cmp #$07
        beq loc_239d

loc_238a:
        lda $a7
        clc
        adc #$01
        sta $a7
        bcc loc_2395
        inc $a8

loc_2395:
        pla
        inx
        cpx $226d
        bcc loc_2361
        rts

loc_239d:
        pla
        rts

// --- Region $23ad-$23ca ---
.pc = $23ad "Segment $23ad"
        sta $230b
        lda $23ea,x
        sta $2312
        lda $23cc,x
        sta $226d
        pla
        and #$f0
        lsr
        ror
        ror
        ror
        tax
        lda $23d8,x
        sta $235d
        rts

// --- Region $2e54-$2ed9 ---
.pc = $2e54 "loc_2e54"

loc_2e54:
        lda #$00
        sta $2e51
        jmp loc_2eac
// Referenced by: jsr from $2eb3, $2ec9

sub_2e5c:
        ldx $2e51
        lda $2ee8,x
        pha
        and #$1f
        asl
        rol
        rol
        sta $b1
        pla
        jsr sub_2f00
        ror
        ror
        clc
        adc #$24
        sta $b2
        inx
        stx $2e51
        rts

// Referenced by: jsr from $2eb8
sub_2e7a: {
        ldy #$00
loop:
        lda ($b1),y
        sta $2c40,x
        inx
        inx
        inx
        iny
        jsr sub_2f08
        nop
        nop
        nop
        nop
        nop
        cpy #$10
        bcc loop
        rts
}
// Referenced by: jsr from $2ece

sub_2e92:
        ldy #$00

loc_2e94:
        lda ($b1),y
        sta $2d40,x
        inx
        inx
        inx
        iny
        jsr sub_2f08
        nop
        nop
        nop
        nop
        nop
        cpy #$10
        bcc loc_2e94
        rts

chr_2eaa:
        // === Charset data (2 bytes, $2eaa-$2eab) ===
        .byte $00,$00                               // char 0 (partial)

loc_2eac:
        ldx #$00

loc_2eae:
        ldy chr_2ed9,x
        txa
        pha
        jsr sub_2e5c
        tya
        tax
        jsr sub_2e7a
        pla
        tax
        inx
        cpx #$0c
        bne loc_2eae
        ldx #$00

loc_2ec4:
        ldy chr_2ed9,x
        txa
        pha
        jsr sub_2e5c
        tya
        tax
        jsr sub_2e92
        pla
        tax
        inx
        cpx #$09
        bne loc_2ec4
        rts

chr_2ed9:
        // === Charset data (1 bytes, $2ed9-$2ed9) ===
        .byte $00                                   // char 0 (partial)

// --- Region $2f00-$2f1c ---
.pc = $2f00 "sub_2f00"
// Referenced by: jsr from $2e6b

sub_2f00:
        and #$e0
        lsr
        ror
        ror

loc_2f05:
        rts

chr_2f06:
        // === Charset data (2 bytes, $2f06-$2f07) ===
        .byte $00,$00                               // char 0 (partial)
// Referenced by: jsr from $2e85, $2e9d

sub_2f08:
        tya
        cmp #$08
        bne loc_2f05
        inc $b2
        inc $b2
        lda $b1
        sec
        sbc #$08
        sta $b1
        bcs loc_2f1c
        dec $b2

loc_2f1c:
        rts

// --- Region $2f48-$2fba ---
.pc = $2f48 "sub_2f48"
// Referenced by: jsr from $08a6

sub_2f48:
        lda $dc01
        cmp #$ef
        beq loc_2f51
        rts

chr_2f50:
        // === Charset data (1 bytes, $2f50-$2f50) ===
        .byte $78                                   // char 0 (partial)

loc_2f51:
        jsr $ff81
        jsr $ff8a
        lda #$1b
        sta $d011
        lda #$00
        sta $d020
        sta $d021
        lda #$00
        sta $0800
        ldx #$18
        lda #$00

loc_2f6d:
        sta $d400,x
        dex
        bne loc_2f6d
        cli
        ldx #$00

loc_2f76:
        lda $2f20,x
        sta $033a,x
        inx
        cpx #$50
        bne loc_2f76
        jmp $033a

chr_2f84:
        // === Charset data (4 bytes, $2f84-$2f87) ===
        .byte $00,$00,$01,$19                       // char 0 (partial)
// Referenced by: jsr from $08a9

sub_2f88:
        inc $2f87
        lda $2f87
        cmp #$38
        bne loc_2f97
        lda #$00
        sta $2f87

loc_2f97:
        lda $2f86
        eor #$01
        sta $2f86
        cmp #$00
        beq loc_2fa4
        rts

loc_2fa4:
        ldx $2f87
        lda $2fc0,x
        sta $d027
        lda $2fc0,x
        lda #$01
        ldx #$08

loc_2fb4:
        sta $d027,x
        dex
        bne loc_2fb4
        rts

// --- Region $30a9-$30ca ---
.pc = $30a9 "Segment $30a9"
        jsr sub_2020
        jsr sub_0f0e
        .byte $14,$20                               // nop $20,x // ILLEGAL
        .byte $0c,$09,$0b                           // nop $0b09 // ILLEGAL
        ora $20
        .byte $13,$0f                               // slo ($0f),y // ILLEGAL
        ora $2005
        .byte $0f,$14,$08                           // slo $0814 // ILLEGAL
        ora $12
        jsr sub_1513
        .byte $03,$0b                               // slo ($0b,x) // ILLEGAL
        ora #$0e
        jsr $0516
        .byte $12                                   // jam // ILLEGAL

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

// --- Region $095d-$0991 ---
.pc = $095d "Program $095d"
        .fill 12, $00
        .byte $c0,$0f,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$d0,$da // ................
        .byte $e4,$ed,$10,$1a,$25,$01,$06,$ad,$04,$20,$c9,$00,$f0,$01,$60,$ad // ....%.... ....`.
        .byte $05,$20,$c9,$27,$d0,$12,$a9,$00,$ea   // . .'.....

// --- Region $09d1-$09ff ---
.pc = $09d1 "dat_09d1"

dat_09d1:
        .fill 15, $00
        .byte $c9,$ce,$d4,$d2,$cf,$e0,$c2,$d9,$e0,$d4,$d2,$c9,$c7,$c7,$c5,$d2 // ................
        .byte $af,$d8,$ad,$d2,$c1,$d9,$a0,$a0,$a8,$c3,$a9,$b0,$b2,$af,$b9,$b1 // ................

// --- Region $0a2b-$0a78 ---
.pc = $0a2b "dat_0a2b"

dat_0a2b:
        .byte $00,$a9,$52,$8d,$14,$03,$a9,$0a,$8d,$15,$03,$a9,$7f,$8d,$12,$d0 // ..R.............
        .byte $a9,$01,$8d,$19,$d0,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea // ................
        .byte $ea,$ea,$ea,$ea,$4c,$81,$ea,$a0,$03,$88,$d0,$fd,$ea,$24,$01,$ad // ....L........$..
        .byte $12,$d0,$c9,$7f,$f0,$00,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea // ................
        .fill 14, $ea

// --- Region $0d1e-$0d2c ---
.pc = $0d1e "Program $0d1e"
        .byte $00,$00,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea // ...............

// --- Region $0d45-$0d54 ---
.pc = $0d45 "dat_0d45"

dat_0d45:
        .byte $00,$00,$00,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea,$ea // ................

// --- Region $0df3-$0df3 ---
.pc = $0df3 "dat_0df3"

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

// --- Region $0e21-$0e21 ---
.pc = $0e21 "dat_0e21"

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

// --- Region $0e65-$0f0d ---
.pc = $0e65 "dat_0e65"

dat_0e65:
        .byte $cc,$00,$ff,$ec,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$7c // ...............|
        .byte $00,$f8,$7c,$00,$f8,$0c,$00,$c3,$0c,$00,$00,$c3,$1c,$00,$e3,$fc // ..|.............
        .byte $00,$ff,$f8,$00,$7f,$00,$00,$00,$fc,$00,$fc,$fc,$00,$ff,$0c,$00 // ................
        .byte $c3,$1c,$00,$c7,$fc,$00,$df,$fc,$00,$df,$0c,$00,$c0,$00,$00,$00 // ................
        .byte $ec,$00,$7f,$ec,$00,$ff,$0c,$00,$e0,$0c,$00,$c0,$1c,$00,$c0,$fc // ................
        .byte $00,$ff,$f8,$00,$ff,$00,$00,$00,$fe,$00,$00,$7c,$ff,$00,$ff,$00 // ...........|....
        .byte $00,$e3,$00,$00,$c3,$00,$00,$c3,$fc,$00,$ff,$fc,$00,$ff,$00,$00 // ................
        .byte $00,$00,$00,$7e,$00,$00,$ff,$00,$00,$c7,$00,$00,$c3,$00,$00,$c3 // ...~............
        .byte $fe,$00,$ff,$ff,$00,$ff,$00,$00,$00,$00,$00,$c0,$00,$00,$70,$00 // ..............p.
        .byte $00,$3c,$00,$00,$0f,$c0,$00,$03,$f0,$00,$00,$00,$3c,$00,$00,$00 // .<..........<...
        .byte $00,$00,$fe,$00,$7f,$ff,$00,$ff,$00   // .........

// --- Region $0f14-$0f9f ---
.pc = $0f14 "dat_0f14"

dat_0f14:
        .byte $00,$c0,$fc,$00,$ff,$fc,$00,$ff,$00,$00,$00,$00,$00,$7f,$fe,$00 // ................
        .byte $ff,$ff,$00,$e3,$80,$00,$c3,$00,$00,$c3,$00,$00,$ff,$fe,$00,$ff // ................
        .byte $fe,$00,$00,$00,$00,$f8,$7c,$00,$f8,$7c,$00,$00,$c3,$0c,$00,$c3 // ......|..|......
        .byte $0c,$00,$e3,$1c,$00,$ff,$fc,$00,$7f,$f8,$00,$00,$00,$00,$7c,$f8 // ..............|.
        .byte $00,$fc,$fc,$00,$cc,$cc,$00,$c0,$0c,$00,$c3,$fc,$00,$ff,$fc,$00 // ................
        .byte $7f,$f8,$00,$00,$00,$00,$7f,$ec,$00,$ff,$ec,$00,$e0,$0c,$00,$c0 // ................
        .byte $0c,$00,$c0,$1c,$00,$ff,$fc,$00,$ff,$f8,$00,$00,$ee,$7f,$0f,$ad // ................
        .byte $7f,$0f,$c9,$08,$d0,$05,$a9,$00,$8d,$7f,$0f,$aa,$bd,$98,$0f,$8d // ................
        .byte $97,$0f,$60,$00,$00,$10               // ..`...

txt_0f9a:
        .text " 0"
        .byte $40                                   // @ character
        .text "P"
        .byte $60,$70                               // `p

// --- Region $1007-$1184 ---
.pc = $1007 "Segment $1007"
        .byte $18,$98,$00,$18,$9c,$02,$18,$a0,$00,$19,$fc,$0a,$18,$ff,$05,$18 // ................
        .byte $f4,$01,$07,$01,$2b,$0c,$06,$60,$5c,$26,$09,$03,$03,$5d,$38,$08 // ....+..`\&...]8.
        .byte $00,$09,$15,$09,$00,$00,$00,$00,$00,$00,$03,$03,$03,$00,$00,$00 // ................
        .byte $00,$00,$00,$15,$f1,$66,$1b,$1a,$1a,$0c,$13,$00,$53,$11,$00,$5c // .....f......S..\
        .byte $26,$09,$00,$00,$00,$07,$22,$40,$1a,$1a,$1a,$17,$17,$06,$00,$00 // &....."@........
        .fill 10, $00
        .byte $04,$c4,$d4,$dd,$09,$01,$00,$0a,$00,$00,$10,$00,$00,$03,$00,$00 // ................
        .byte $00,$00,$00,$03,$00,$00,$01,$00,$04,$c4,$d4,$dd,$09,$01,$00,$00 // ................
        .byte $00,$00,$00,$00,$00,$02,$00,$00,$00,$00,$00,$00,$00,$00,$03,$00 // ................
        .byte $00,$00,$00,$00,$00,$00,$38,$00,$00,$00,$23,$00,$00,$07,$0e,$01 // ......8...#.....
        .byte $02,$04                               // ..

txt_10a3:
        .text "(C)1991 AUDIAL ARTS!"
        .byte $00                                   // string terminator
        .byte $10,$20,$40,$80,$50,$12,$22,$42,$82,$52,$14,$24,$44,$84,$54,$16 // . @.P."B.R.$D.T.
        .byte $27,$39,$4b,$5f,$74,$8a,$a1,$ba,$d4,$f0,$0e,$2d,$4e,$71,$96,$be // '9K_t......-Nq..
        .byte $e7,$14,$42,$74,$a9,$e0,$1b,$5a,$9c,$e2,$2d,$7b,$cf,$27,$85,$e8 // ..Bt...Z..-{.'..
        .byte $51,$c1,$37,$b4,$38,$c4,$59,$f7,$9e,$4e,$0a,$c8,$a2,$81,$6d,$67 // Q.7.8.Y..N....mg
        .byte $70,$89,$b2,$ed,$3b,$9d,$14,$a0,$45,$03,$db,$cf,$e1,$12,$65,$db // p...;...E.....e.
        .byte $76,$3a,$27,$41,$8a,$05,$b5,$9d,$c1,$24,$c9,$b6,$ed,$73,$4e,$82 // v:'A.....$...sN.
        .byte $14,$0a,$6a,$3b,$82,$48,$93,$6b,$da,$e7,$9c,$04,$28,$14,$01,$01 // ..j;.H.k....(...
        .fill 9, $01
        .byte $02,$02,$02,$02,$02,$02,$02,$03,$03,$03,$03,$03,$04,$04,$04,$04 // ................
        .byte $05,$05,$05,$06,$06,$06,$07,$07,$08,$08,$09,$09,$0a,$0a,$0b,$0c // ................
        .byte $0d,$0d,$0e,$0f,$10,$11,$12,$13,$14,$15,$17,$18,$1a,$1b,$1d,$1f // ................

txt_1161:
        .text " "
        .byte $22                                   // double quote character
        .text "$')+.147:>AEINRW"
        .byte $5c                                   // backslash character
        .byte $62,$68,$6e,$75,$7c,$83,$8b,$93,$9c,$a5,$af,$b9,$c4,$d0,$dd,$ea // bhnu|...........
        .byte $f8                                   // .

// --- Region $1882-$188c ---
.pc = $1882 "Segment $1882"
        .byte $85,$18,$a9,$20,$d0,$0e,$ac,$d7,$11,$f0,$09 // ... .......

// --- Region $18b6-$18cd ---
.pc = $18b6 "dat_18b6"

dat_18b6:
        .byte $60,$60,$60,$60                       // ````

txt_18ba:
        .text "00000FFFFFIIIII"
        .byte $80,$80,$80,$80,$80                   // .....

// --- Region $1934-$193f ---
.pc = $1934 "Segment $1934"
        .byte $07,$11,$11,$11,$10,$10,$10,$10,$00,$00,$00,$00 // ............

// --- Region $1941-$1964 ---
.pc = $1941 "dat_1941"

dat_1941:
        .byte $10,$03,$0a,$00,$48,$05,$0d,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ....H...........
        .byte $33,$00,$fc,$18,$1f,$53,$c2,$00,$11,$09,$08,$02,$1f,$08,$80,$00 // 3....S..........
        .byte $11,$09,$08,$12                       // ....

// --- Region $1969-$1e8c ---
.pc = $1969 "dat_1969"

dat_1969:
        .byte $12,$09,$08,$04,$00,$00,$80,$00,$12,$09,$08,$04,$00,$00,$80,$00 // ................
        .byte $11,$08,$a8,$22,$1f,$08,$c0,$00,$44,$01,$59,$00,$00,$00,$c0,$00 // ..."....D.Y.....
        .byte $33,$03,$56,$04,$1f,$44,$00,$00,$11,$03,$58,$22,$1f,$08,$c0,$00 // 3.V..D....X"....
        .byte $33,$03,$5d,$04,$1f,$44,$80,$00,$44,$03,$95,$08,$00,$00,$81,$00 // 3.]..D..D.......
        .byte $00,$00,$00,$08,$00,$00,$21,$00,$80,$84,$80,$04,$07,$00,$04,$07 // ......!.........
        .byte $80,$83,$80,$03,$07,$00,$03,$07,$80,$83,$87,$ff,$00,$00,$00,$00 // ................
        .byte $80,$84,$87,$ff,$00,$00,$00,$00,$80,$83,$88,$ff,$00,$00,$00,$00 // ................
        .byte $80,$85,$89,$ff,$00,$00,$00,$00,$80,$00,$03,$83,$87,$07,$ff,$00 // ................
        .byte $80,$00,$04,$84,$87,$07,$ff,$00,$66,$6a,$f1,$15,$2e,$75,$c1,$e5 // ........fj...u..
        .byte $f9,$3e,$42,$1a,$1a,$1a,$1b,$1b,$1b,$1b,$1b,$1b,$1c,$1c,$89,$d8 // .>B.............
        .byte $03,$d0,$03,$89,$05,$05,$8b,$05,$05,$8a,$07,$8b,$07,$8a,$07,$8c // ................
        .byte $07,$fe,$57,$89,$d0,$03,$0a,$ff,$00,$95,$d8,$02,$96,$c8,$02,$99 // ..W.............
        .byte $c8,$02,$95,$c8,$02,$97,$c8,$02,$96,$c8,$06,$97,$c8,$06,$96,$c8 // ................
        .byte $08,$95,$d0,$06,$09,$ff,$00,$89,$c8,$00,$04,$04,$89,$01,$01,$8a // ................
        .byte $01,$01,$8d,$01,$01,$89,$01,$01,$8b,$01,$01,$8a,$01,$01,$8b,$01 // ................
        .byte $01,$8a,$01,$01,$8c,$01,$01,$89,$c4,$01,$0a,$ff,$00,$c0,$00,$60 // ...............`
        .byte $ff,$c3,$00,$0c,$71,$c4,$24,$0c,$c2,$00,$0c,$c3,$00,$06,$c4,$24 // ....q.$........$
        .byte $06,$70,$22,$0c,$c3,$00,$0c,$c2,$00,$0c,$71,$c4,$24,$06,$c2,$00 // .p".......q.$...
        .byte $06,$c3,$00,$06,$c4,$24,$06,$24,$0c,$c2,$00,$0c,$c3,$00,$06,$c4 // .....$.$........
        .byte $24,$06,$70,$22,$0c,$c3,$00,$0c,$c2,$00,$0c,$71,$c4,$24,$06,$c2 // $.p".......q.$..
        .byte $00,$06,$c3,$00,$0c,$c4,$24,$0c,$c2,$00,$0c,$c3,$00,$06,$c4,$24 // ......$........$
        .byte $06,$70,$22,$0c,$c3,$00,$0c,$c2,$00,$0c,$c4,$22,$06,$c2,$00,$06 // .p"........"....
        .byte $c3,$00,$06,$71,$c4,$24,$06,$24,$0c,$c2,$00,$0c,$c3,$00,$06,$c4 // ...q.$.$........
        .byte $24,$06,$70,$22,$0c,$c2,$00,$06,$71,$c4,$26,$06,$c2,$00,$06,$00 // $.p"....q.&.....
        .byte $06,$c4,$24,$06,$c2,$00,$06,$ff,$82,$2f,$c1,$0c,$06,$11,$06,$0c // ..$....../......
        .byte $06,$0c,$06,$13,$06,$0f,$06,$0c,$06,$11,$06,$11,$06,$0c,$06,$0c // ................
        .byte $06,$0c,$06,$0f,$06,$13,$06,$11,$06,$0c,$06,$ff,$c9,$00,$0c,$c7 // ................
        .byte $53,$0c,$c9,$00,$0c,$c7,$53,$0c,$c9,$00,$0c,$c7,$53,$0c,$c9,$00 // S.....S.....S...
        .byte $0c,$c7,$53,$0c,$ff,$c3,$00,$18,$c2,$00,$0c,$c3,$00,$18,$00,$0c // ..S.............
        .byte $c2,$00,$12,$00,$06,$c3,$00,$18,$c2,$00,$0c,$c3,$00,$18,$00,$0c // ................
        .byte $c2,$00,$12,$00,$06,$c3,$00,$18,$c2,$00,$0c,$c3,$00,$18,$00,$0c // ................
        .byte $c2,$00,$12,$00,$06,$c3,$00,$18,$c2,$00,$0c,$c3,$00,$18,$c2,$00 // ................
        .byte $0c,$00,$06,$00,$06,$c0,$00,$06,$c2,$00,$06,$ff,$c9,$00,$0c,$72 // ...............r
        .byte $c8,$24,$0c,$24,$18,$73,$22           // .$.$.s"

spr_1b80:
        // === Sprite data (64 bytes, $1b80-$1bbf) ===
        .byte $12,$22,$12                           // ...#..#...#...#....#..#.
        .byte $72,$24,$12                           // .###..#...#..#.....#..#.
        .byte $c0,$00,$06                           // ##...................##.
        .byte $c6,$1e,$0c                           // ##...##....####.....##..
        .byte $1e,$06,$1e                           // ...####......##....####.
        .byte $0c,$1c,$06                           // ....##.....###.......##.
        .byte $1c,$0c,$1a                           // ...###......##.....##.#.
        .byte $0c,$1a,$06                           // ....##.....##.#......##.
        .byte $1a,$0c,$1a                           // ...##.#.....##.....##.#.
        .byte $06,$c9,$00                           // .....##.##..#..#........
        .byte $0c,$72,$c8                           // ....##...###..#.##..#...
        .byte $24,$0c,$24                           // ..#..#......##....#..#..
        .byte $18,$73,$22                           // ...##....###..##..#...#.
        .byte $12,$72,$24                           // ...#..#..###..#...#..#..
        .byte $12,$24,$0c                           // ...#..#...#..#......##..
        .byte $74,$26,$0c                           // .###.#....#..##.....##..
        .byte $26,$0c,$75                           // ..#..##.....##...###.#.#
        .byte $24,$0c,$24                           // ..#..#......##....#..#..
        .byte $06,$72,$24                           // .....##..###..#...#..#..
        .byte $1e,$73,$22                           // ...####..###..##..#...#.
        .byte $0c,$72,$24                           // ....##...###..#...#..#..
        .byte $0c                                   // sprite 0 padding
        .byte $ff,$82,$2f,$c1,$0c,$06,$16,$06,$18,$06,$0c,$06,$16,$06,$18,$06 // ../.............
        .byte $0c,$06,$16,$06,$18,$06,$0c,$06,$16,$06,$18,$06,$0c,$06,$16,$06 // ................
        .byte $18,$06,$16,$06,$ff,$76,$80,$24,$ca,$24,$c0,$77,$22,$90,$22,$18 // .....v.$.$.w".".
        .byte $22,$18,$76,$24,$c0,$77,$22,$c0,$ff,$82,$2f,$cb,$48,$06,$48,$06 // ".v$.w".../.H.H.
        .byte $48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06 // H.H.H.H.H.H.H.H.
        .byte $48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$cb,$48,$06,$48 // H.H.H.H.H.H..H.H
        .byte $06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48 // .H.H.H.H.H.H.H.H
        .byte $06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$48,$06,$ff,$cc,$00 // .H.H.H.H.H.H....
        .byte $03,$ff,$c0,$00,$03,$ff,$80,$08,$33,$0c,$30,$0c,$80,$14,$2e,$18 // ........3.0.....
        .byte $80,$08,$2b,$0c,$2e,$0c,$80,$38,$e0,$30,$3c,$07,$cc,$62,$27,$18 // ..+....8.0<..b'.
        .byte $29,$18,$ff,$00,$21,$0c,$1f,$06,$21,$18,$23,$0c,$24,$0c,$23,$02 // )...!...!.#.$.#.
        .byte $24,$16,$23,$0c,$21,$0c,$1c,$30,$1a,$06,$18,$06,$1c,$30,$1c,$0c // $.#.!..0.....0..
        .byte $1f,$0c
        .byte $21,$0c
        .text "#0$$&"
        .byte $18
        .byte $2d,$0c
        .byte $2b,$06
        .byte $2d,$0c
        .byte $2b,$06,$2d,$24,$2f,$18,$2f,$0c,$2d,$0c,$2b,$0c,$26,$24,$28,$18 // +.-$/./.-.+.&$(.
        .byte $2d,$0c,$2b,$06,$2d,$0c,$2b,$06,$2d,$24,$2f,$18,$30,$0c,$30,$18 // -.+.-.+.-$/.0.0.
        .byte $2f,$18,$2b,$24,$ff,$ce,$2d,$90,$30,$0c,$30,$06,$2f,$12,$2b,$0c // /.+$..-.0.0./.+.
        .byte $2d,$48,$2b,$0c,$26,$06,$28,$12,$26,$18,$26,$0c,$30,$0c,$30,$06 // -H+.&.(.&.&.0.0.
        .byte $2f,$12,$2b,$0c,$2d,$90,$30,$0c,$30,$06,$2f,$12,$2b,$0c,$2d,$48 // /.+.-.0.0./.+.-H
        .byte $2b,$0c,$26,$06,$28,$12,$26,$24,$24,$12,$23,$12,$1f,$0c,$ff,$60 // +.&.(.&$$.#....`
        .byte $ff,$c0,$00,$60,$ff,$c0,$00,$60,$ff,$10,$35,$08,$c0,$74,$2b,$08 // ...`...`..5..t+.
        .byte $74,$a0,$80,$16,$90,$17,$90,$18,$80,$00,$84,$0c,$80,$00,$81,$0c // t...............
        .byte $a1,$83,$0c,$a0,$81,$11,$12,$7f,$a3,$83,$0c,$a9,$8a,$26,$80,$00 // .............&..
        .byte $a3,$83,$0c,$a5,$86,$24,$80,$00,$a7,$83,$24,$a3,$0c,$a7,$8b,$24 // .....$....$....$
        .byte $a3,$83,$0c,$a7,$8a,$24,$80,$00,$7f,$a3,$83,$0c,$a9,$84,$26,$80 // .....$........&.
        .byte $00,$84,$26,$80,$00,$a3,$83,$0c,$a5,$84,$24,$80,$00,$84,$24,$80 // ..&.......$...$.
        .byte $00,$a3,$83,$0c,$a7,$8b,$24,$a3,$83,$0c,$a7,$81,$24,$85,$24,$82 // ......$.....$.$.
        .byte $24,$80,$00,$7f,$b1,$85,$0d,$00,$82,$0d,$80,$00,$b2,$85,$0c,$89 // $...............
        .byte $00,$b1,$85,$0c,$00,$83,$0c,$b2,$85,$0c,$00,$b1,$82,$0c,$80,$00 // ................
        .byte $7f,$b1,$85,$0a,$89,$00,$b2,$85,$0c,$00,$b1,$82,$0a,$80,$00,$85 // ................
        .byte $0a,$89,$00,$b2,$85,$0c,$89,$00,$7f,$b4,$85,$25,$8f,$00,$89,$00 // ...........%....
        .byte $b5,$85,$24,$8f,$00,$85,$00,$82,$24,$80,$00,$7f,$b4,$89,$22,$8f // ..$.....$.....".
        .byte $00,$00,$00,$85,$00,$7f,$b3,$84,$3d,$8f,$00,$8a,$00,$84,$3c,$8f // ........=.....<.
        .byte $00,$86,$00,$82,$3c,$80,$00,$7f,$b3,$84,$3a,$8f,$00,$86,$00,$82 // ....<.....:.....
        .byte $3a,$80,$00,$84,$3a,$8f,$00,$8a,$00,$7f,$b1,$85,$0a,$89,$00,$b2 // :...:...........
        .byte $85,$0c,$00,$b1,$82,$0a,$80,$00,$85,$0a,$89,$00,$b2,$85,$0c,$81 // ................
        .byte $00,$b1,$82,$0e,$80,$00,$82,$11,$80,$00,$7f,$a3,$83,$0c,$a9,$84 // ................
        .byte $26,$80,$00,$84,$26,$80,$00,$a3,$83,$0c,$a5,$84,$24,$80,$00,$84 // &...&.......$...
        .byte $24,$80,$00,$a3,$83,$0c,$a7,$8b,$24,$a3,$83,$0c,$a7,$81,$24,$84 // $.......$.....$.
        .byte $24,$a2,$82,$0e,$81,$0e,$7f,$a9,$84,$32,$80,$00,$84,$32,$80,$00 // $........2...2..
        .byte $82,$32,$80,$00,$a5,$84,$30,$80,$00,$84,$30,$80,$00,$82,$30,$80 // .2....0...0...0.
        .byte $00,$a7,$8f,$30,$89,$7e,$a2,$81,$0c,$82,$0c,$80,$00,$7f,$b3,$84 // ...0.~..........
        .byte $3a,$8f,$00,$86,$00,$82,$3a,$80,$00,$84,$3a,$8f,$00,$82,$00,$a2 // :.....:...:.....
        .byte $81,$0c,$83,$0c,$81,$0c,$7f,$a8,$85,$25,$8f,$00,$89,$00,$b5,$85 // .........%......
        .byte $24,$8f,$00,$85,$00,$82,$24,$80,$00,$7f,$b1,$85,$0d,$00,$82,$0d // $.....$.........
        .byte $80,$00,$b2,$85,$0c,$89,$00,$b1,$85,$0c,$00,$83,$0c // .............

// --- Region $1e8e-$1eac ---
.pc = $1e8e "dat_1e8e"

dat_1e8e:
        .byte $85,$0c,$00,$b1,$82,$0d,$80,$00,$7f,$a8,$85,$25,$8f,$00,$89,$00 // ...........%....
        .byte $b5,$85,$24,$8f,$00,$85,$00,$b4,$82,$25,$80,$00,$7f,$b3,$84 // ..$......%.....

// --- Region $1eb2-$1efc ---
.pc = $1eb2 "dat_1eb2"

dat_1eb2:
        .byte $84,$3c,$8f,$00,$86,$00,$82,$3d,$80,$00,$7f,$b1,$85,$0f,$89,$00 // .<.....=........
        .byte $b2,$85,$0c,$00,$b1,$82,$0f,$80,$00,$85,$0f,$89,$00,$b2,$85,$0c // ................
        .byte $89,$00,$7f,$b4,$89,$27,$8f,$00,$00,$8b,$00,$a2,$81,$32,$85,$32 // .....'.......2.2
        .byte $81,$32,$7f,$b3,$84,$3f,$8f,$00,$86,$00,$82,$3f,$80,$00,$84,$3f // .2...?.....?...?
        .byte $8f,$00,$81,$00,$a2,$84,$30,$83,$30,$7f // ......0.0.

dat_1efc:
        // === Fill data (1 bytes, $1efc-$1efc) ===
        .byte $00                                   // .

// --- Region $1f2a-$1f2a ---
.pc = $1f2a "dat_1f2a"

dat_1f2a:
        // === Fill data (1 bytes, $1f2a-$1f2a) ===
        .byte $00                                   // .

// --- Region $1f8e-$1f8e ---
.pc = $1f8e "dat_1f8e"

dat_1f8e:
        // === Fill data (1 bytes, $1f8e-$1f8e) ===
        .byte $00                                   // .

// --- Region $2000-$2007 ---
.pc = $2000 "dat_2000"

dat_2000:
        .byte $02,$01,$20,$00,$c1,$04,$01,$00       // .. .....

// --- Region $21e6-$21ff ---
.pc = $21e6 "dat_21e6"

dat_21e6:
        .byte $00,$00,$80,$40,$20,$10,$08,$04,$02,$01,$00,$00,$00,$00,$00,$00 // ...@ ...........
        .fill 10, $00

// --- Region $2280-$2345 ---
.pc = $2280 "spr_2280"

spr_2280:
        // === Sprite data (64 bytes, $2280-$22bf) ===
        .byte $8d,$6c,$22                           // #...##.#.##.##....#...#.
        .byte $ad,$6d,$22                           // #.#.##.#.##.##.#..#...#.
        .byte $18,$6d,$6f                           // ...##....##.##.#.##.####
        .byte $22,$8d,$6f                           // ..#...#.#...##.#.##.####
        .byte $22,$c9,$28                           // ..#...#.##..#..#..#.#...
        .byte $90,$1f,$38                           // #..#.......#####..###...
        .byte $e9,$28,$8d                           // ###.#..#..#.#...#...##.#
        .byte $6f,$22,$ee                           // .##.####..#...#.###.###.
        .byte $6e,$22,$ad                           // .##.###...#...#.#.#.##.#
        .byte $6e,$22,$c9                           // .##.###...#...#.##..#..#
        .byte $08,$d0,$0f                           // ....#...##.#........####
        .byte $a9,$00,$8d                           // #.#.#..#........#...##.#
        .byte $06,$20,$8d                           // .....##...#.....#...##.#
        .byte $6e,$22,$8d                           // .##.###...#...#.#...##.#
        .byte $6f,$22,$20                           // .##.####..#...#...#.....
        .byte $80,$0f,$ea                           // #...........#######.#.#.
        .byte $ee,$06,$20                           // ###.###......##...#.....
        .byte $ad,$06,$20                           // #.#.##.#.....##...#.....
        .byte $c9,$10,$d0                           // ##..#..#...#....##.#....
        .byte $05,$a9,$00                           // .....#.##.#.#..#........
        .byte $8d,$06,$20                           // #...##.#.....##...#.....
        .byte $ea                                   // sprite 0 padding
        .byte $ea,$ea,$ad,$06,$20,$18,$6d,$97,$0f,$aa,$bd,$c0,$2b,$ea,$20,$a0 // .... .m.....+. .
        .byte $23,$ad,$6f,$22,$8d,$6b,$22,$ae,$6e,$22,$bd,$f0,$23,$8d,$04,$20 // #.o".k".n"..#.. 
        .byte $bd,$f8,$23,$8d,$05,$20,$ad,$04,$20,$18,$6d,$6f,$22,$8d,$04,$20 // ..#.. .. .mo".. 
        .byte $90,$03,$ee,$05,$20,$ad,$04,$20,$85,$a7,$ad,$05,$20,$85,$a8,$a2 // .... .. .... ...
        .byte $00,$a0,$00,$bd,$18,$2b,$91,$a7,$a0,$28,$bd,$20,$2b,$91,$a7,$a0 // .....+...(. +...
        .byte $50,$bd,$28,$2b,$91,$a7,$ee,$6b,$22,$ad,$6b,$22,$c9,$28,$d0,$12 // P.(+...k".k".(..
        .byte $a5,$a7,$18,$69,$50,$85,$a7,$90,$02,$e6,$a8,$ad,$6e,$22,$c9,$07 // ...iP.......n"..
        .byte $f0,$11,$a5,$a7,$18,$69,$01,$85,$a7,$90,$02,$e6,$a8,$e8,$ec,$6d // .....i.........m
        .byte $22,$90,$be,$ea,$ea,$ea               // ".....

// --- Region $239f-$23ac ---
.pc = $239f "dat_239f"

dat_239f:
        .byte $00,$48,$29,$07,$aa,$bd,$e0,$23,$8d,$04,$23,$bd,$e5,$23 // .H)....#..#..#

// --- Region $23cb-$24d7 ---
.pc = $23cb "dat_23cb"

dat_23cb:
        .byte $00,$06,$05,$04,$04,$00,$00,$00,$00,$00,$00,$00,$00,$80,$88,$90 // ................
        .byte $98,$a0,$a8,$b0,$b8,$00,$18,$30,$48,$00,$08,$20,$38,$50,$00,$10 // .......0H.. 8P..
        .byte $28,$40,$58,$00,$00,$28,$a0,$18,$90,$08,$80,$f8,$70,$04,$04,$05 // (@X..(......p...
        .byte $05,$06,$06,$06,$07,$00,$00,$00,$00,$00,$00,$00,$00,$fc,$fe,$ce // ................
        .byte $c6,$c6,$c6,$fe,$fe,$fe,$fe,$06,$66,$66,$76,$7c,$7c,$7c,$fe,$c6 // ........ffv|||..
        .byte $c6,$ce,$ce,$e0,$e0,$fc,$fe,$06,$c6,$c6,$c6,$e6,$e6,$7e,$fe,$e6 // .............~..
        .byte $c6,$c6,$c0,$f8,$f8,$7e,$fe,$e6,$c6,$c0,$c0,$fc,$fc,$7e,$fe,$e6 // .....~.......~..
        .byte $c6,$c0,$c0,$ce,$ce,$c6,$c6,$c6,$c6,$c6,$c6,$fe,$fe,$3c,$3c,$18 // .............<<.
        .byte $18,$18,$18,$38,$38,$fe,$fe,$c6,$c6,$06,$06,$0e,$0e,$ce,$ce,$ce // ...88...........
        .byte $ce,$ce,$e6,$fc,$fc,$e0,$e0,$c0,$c0,$c0,$c0,$c0,$c0,$7c,$fe,$d6 // .............|..
        .byte $d6,$d6,$d6,$d6,$d6,$fc,$fe,$ce,$c6,$c6,$c6,$c6,$c6,$fc,$fe,$ce // ................
        .byte $c6,$c6,$c6,$c6,$c6,$fc,$fe,$c6,$c6,$c6,$ce,$fe,$fc,$fc,$fe,$ce // ................
        .byte $c6,$c6,$c6,$c6,$c6,$fc,$fe,$ce,$c6,$c6,$c6,$fc,$fc,$7c,$fe,$c6 // .............|..
        .byte $c6,$c0,$c0,$fc,$fe,$fe,$fe,$18,$18,$18,$18 // ...........

txt_24a6:
        .text "88O"
        .byte $cf                                   // 'O' | $80 (end-of-string marker)
        .byte $c6,$c6,$c6,$c6,$c6,$c6,$46,$c6,$c6,$c6,$c6,$c6,$c6,$c6,$56,$d6 // ......F.......V.
        .byte $d6,$d6,$d6,$d6,$d6,$d6,$46,$c6,$c6,$c6,$c6,$ee,$7c,$7c,$46,$c6 // ......F.....||F.
        .byte $c6,$c6,$c6,$c6,$fe,$7c,$7e,$7e,$66,$66,$6c,$4c,$18,$18 // .....|~~fflL..

// --- Region $24f0-$251f ---
.pc = $24f0 "dat_24f0"

dat_24f0:
        .byte $10,$38,$7c,$fe                       // .8|.

txt_24f4:
        .text "8888"
        .byte $00                                   // string terminator
        .byte $00,$00,$10,$30,$70,$ff,$ff,$00,$00,$00,$00,$00,$00,$00,$00 // ...0p..........

txt_2508:
        .text "00000000"
        .byte $6c,$6c,$6c,$24,$00,$00,$00,$00,$24,$6c,$6c,$6c,$fe,$fe,$6c,$6c // lll$....$lll..ll

// --- Region $2538-$26d5 ---
.pc = $2538 "dat_2538"

dat_2538:
        .byte $0c,$0c,$18,$18,$00,$00,$00,$00,$0e,$1e,$18
        .text "80000"
        .byte $e0,$f0,$30,$38,$18,$18,$18,$18,$00,$00,$00,$00,$00,$18,$3c,$7e // ..08..........<~
        .byte $00,$00,$00,$08,$18,$18,$7e,$7e,$00,$00,$00,$00,$00,$00,$00,$00 // ......~~........
        .byte $00,$00,$00,$00,$00,$00,$7e,$7e,$00,$00,$00,$00,$00,$00,$00,$00 // ......~~........
        .byte $02,$06,$0c,$0c,$18,$18,$30,$30,$7e,$7e,$66,$66,$6e,$6e,$76,$76 // ......00~~ffnnvv
        .byte $0c,$0c,$0c,$0c,$0c,$0c,$1c,$1c,$fe,$fe,$c6,$86,$06,$06,$fe,$fe // ................
        .byte $fe,$fe,$c6,$c6,$06,$06               // ......

txt_259e:
        .text ">>"
        .byte $ce                                   // 'N' | $80 (end-of-string marker)
        .byte $cc,$cc,$cc,$cc,$cc,$fe,$fe,$fe,$fe,$c0,$c0,$fe,$fe,$06,$06,$7e // ...............~
        .byte $7e,$66,$66,$60,$60,$7e,$7e,$fe,$fe,$c6,$86,$06,$06,$3e,$3e,$7e // ~ff``~~......>>~
        .byte $7e,$66,$66,$66,$66,$7e,$7e,$7e,$7e,$66,$66,$66,$66,$7e,$7e,$00 // ~ffff~~~~ffff~~.
        .byte $00,$00,$00,$18,$18,$00,$18,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 11, $00
        .byte $7c,$78,$00,$7c,$00,$00,$00,$00,$00,$00,$00,$00,$fe,$fe,$c6,$c6 // |x.|............
        .byte $06,$06,$1e,$1e                       // ....

spr_2600:
        // === Sprite data (64 bytes, $2600-$263f) ===
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$00                           // ........................
        .byte $00,$00,$ce                           // ................##..###.
        .byte $c6,$c6,$c6                           // ##...##.##...##.##...##.
        .byte $c6,$c6,$c6                           // ##...##.##...##.##...##.
        .byte $04,$66,$66                           // .....#...##..##..##..##.
        .byte $66,$76,$fe                           // .##..##..###.##.#######.
        .byte $fe,$00,$00                           // #######.................
        .byte $ee,$ee,$e6                           // ###.###.###.###.###..##.
        .byte $e6,$fe,$7c                           // ###..##.#######..#####..
        .byte $00,$00,$e6                           // ................###..##.
        .byte $e6,$e6,$e6                           // ###..##.###..##.###..##.
        .byte $fe,$fc,$00                           // #######.######..........
        .byte $00,$c0,$c6                           // ........##......##...##.
        .byte $c6,$e6,$fe                           // ##...##.###..##.#######.
        .byte $7e,$00,$00                           // .######.................
        .byte $c0,$c0,$c0                           // ##......##......##......
        .byte $c0,$c0,$c0                           // ##......##......##......
        .byte $c0,$80,$c6                           // ##......#.......##...##.
        .byte $c6,$c6,$e6                           // ##...##.##...##.###..##.
        .byte $fe,$7e,$06                           // #######..######......##.
        .byte $04                                   // sprite 0 padding
        .byte $c6,$c6,$c6,$c6,$c6,$c6,$06,$04       // ........

txt_2648:
        .text "8888<<"
        .byte $00                                   // string terminator
        .byte $00,$0e,$0e,$ce,$ce,$fe,$7c,$00,$00,$ee,$ce,$ce,$ce,$ce,$c6,$06 // ......|.........
        .byte $04,$ce,$ce,$c6,$e6,$fe,$7e,$00,$00,$d6,$d6,$d6,$d6,$d6,$d6,$06 // ......~.........
        .byte $04,$c6,$c6,$c6,$c6,$c6,$c6,$06,$04,$c6,$c6,$c6,$e0,$fe,$7e,$00 // ..............~.
        .byte $00,$c0,$c0,$c0,$c0,$c0,$c0,$c0,$80,$c6,$c6,$de,$ee,$fe,$7e,$07 // ..............~.
        .byte $03,$c6,$c6,$c6,$c6,$c6,$c6,$06,$04,$06,$06,$c6,$ce,$fe,$fc,$00 // ................
        .byte $00                                   // .

txt_26a0:
        .text "888888"
        .byte $7c,$7c,$c6,$c6,$c6,$e6,$fe,$7c,$00,$00,$c6,$c6,$c6,$e6,$7c,$38 // ||.....|......|8
        .byte $00,$00,$d6,$d6,$d6,$d6,$fe,$7c,$00,$00,$ee,$c6,$c6,$c6,$c6,$c6 // .......|........
        .byte $06,$04,$18,$18,$18,$18,$18,$18,$18,$10,$32,$36,$66,$66,$7e,$7e // ..........26ff~~

// --- Region $26f0-$271e ---
.pc = $26f0 "txt_26f0"

txt_26f0:
        .text "8880 "
        .byte $00                                   // string terminator
        .byte $00,$00,$70,$30,$10,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ..p0............
        .byte $00,$00,$30,$30,$20,$00,$30,$30,$00,$00,$00,$00,$00,$00,$00,$00 // ..00 .00........
        .byte $00,$00,$fe,$fe,$6c,$6c,$6c,$48       // ....lllH

dat_271e:
        // === Fill data (1 bytes, $271e-$271e) ===
        .byte $00                                   // .

// --- Region $2740-$2898 ---
.pc = $2740 "dat_2740"

dat_2740:
        .byte $30,$30,$38,$18,$1e,$0e,$00,$00,$18,$18,$38,$30,$f0,$e0,$00,$00 // 008.......80....
        .byte $7e,$3c,$18,$00,$00,$00,$00,$00,$18,$18,$18,$10,$00,$00,$00,$00 // ~<..............
        .byte $00,$00,$00,$0c,$0c,$1c,$18,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $00,$00,$00,$00,$3c,$3c,$00,$00,$60,$60,$c0,$c0,$80,$80,$00,$00 // ....<<..``......
        .byte $76,$76,$76,$76,$7e,$7e,$00,$00,$1c,$1c,$1c,$1c,$1c,$1c,$3e,$3e // vvvv~~........>>
        .byte $e0,$e0,$e2,$e6,$fe,$fe,$00,$00,$0e,$0e,$8e,$ce,$fe,$fe,$00,$00 // ................
        .byte $0c,$0c,$0c,$0c,$0c,$0c,$1e,$1e,$c6,$c6,$e6,$e6,$fe,$fe,$00,$00 // ................
        .byte $66,$66,$66,$66,$7e,$7e,$00,$00,$0e,$0e,$0e,$0e,$0e,$0e,$1f,$1f // ffff~~..........
        .byte $76,$76,$76,$76,$7e,$7e,$00,$00,$0e,$0e,$6e,$6e,$7e,$7e,$00,$00 // vvvv~~....nn~~..
        .byte $18,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // ................
        .fill 8, $00
        .byte $78,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 // x...............
        .byte $18,$18,$00,$00,$18,$18,$00,$00       // ........

scr_2800:
        // === Charset data (153 bytes, $2800-$2898) ===
        .byte $f0,$88,$a7,$b0,$b9,$b1,$b1,$b1       // char 0 @+0
        .byte $00,$0f,$e8,$2b,$ab,$ab,$bb,$83       // char 1 @+1
        .byte $00,$f9,$06,$f0,$19,$19,$19,$19       // char 2 @+2
        .byte $00,$ff,$00,$fd,$cc,$8c,$8c,$8c       // char 3 @+3
        .byte $00,$ef,$10,$d6,$d6,$d6,$d6,$d6       // char 4 @+4
        .byte $00,$80,$80,$80,$80,$80,$80,$80       // char 5 @+5
        .byte $00,$ff,$80,$bf,$86,$f6,$16,$16       // char 6 @+6
        .byte $00,$ff,$00,$ce,$1b,$b1,$b1,$b0       // char 7 @+7
        .byte $00,$1f,$a0,$4e,$1b,$b1,$b1,$31       // char 8 @+8
        .byte $00,$7f,$8a                           // char 9 (partial)

txt_284b:
        .byte $24,$31,$bb,$bf,$b5                   // char 9 (partial)
        .byte $00,$e0,$20,$a0,$a0,$a0,$a0,$a0       // char 10 @+10
        .byte $00,$00,$00,$00,$00,$00,$ff,$40       // char 11 @+11
        .byte $02,$05,$08,$10,$20,$40,$80,$00       // char 12 @+12
        .byte $00,$00,$80,$40,$20,$10,$0f,$00       // char 13 @+13
        .byte $00,$00,$00,$00,$00,$00,$f8,$10       // char 14 @+14
        .byte $00,$00,$00,$00,$00,$00,$ff,$7f       // char 15 @+15
        .byte $02,$07,$0f,$1f,$3f,$7f,$ff,$ff       // char 16 @+16
        .byte $00,$00,$80,$c0,$e0,$f0,$ff,$ff       // char 17 @+17
        .byte $00,$00,$00,$00,$00,$00,$f8,$f0       // char 18 @+18

dat_2898:
        // === Fill data (1 bytes, $2898-$2898) ===
        .byte $00                                   // .

// --- Region $2900-$2993 ---
.pc = $2900 "dat_2900"

dat_2900:
        .byte $b1,$9b,$ce,$9b,$b1,$b1,$b1,$b9       // char 32 ' '
        .byte $93,$3b,$13,$03,$83,$83,$83,$c3       // char 33 '!'
        .byte $19,$31,$61,$31,$19,$19,$19,$9d       // char 34 '"'
        .byte $8c,$fc,$8c,$8c,$8c,$8c,$8c,$8e       // char 35 '#'
        .byte $d6,$c6,$66,$3e,$06,$e6,$a6,$ae       // char 36 '$'
        .byte $80,$80,$80,$80,$80,$80,$80,$80       // char 37 '%'
        .byte $16,$16,$16,$16,$16                   // char 38 (partial)

txt_2935:
        .byte $36,$2e,$26                           // char 38 (partial)
        .byte $b0,$b0,$b0,$b0,$b1,$b1,$9b           // char 39 (partial)

txt_293f:
        .byte $4e                                   // char 39 (partial)
        .byte $31,$31,$31,$31,$b1,$b1,$1b,$4e       // char 40 '('
        .byte $b1,$b5,$b5,$b5,$b5,$b5,$35,$15       // char 41 ')'
        .byte $a0,$a0,$a0,$a0,$b0,$90,$d0,$90       // char 42 '*'
        .byte $20,$10,$08,$04,$02,$01,$01,$02       // char 43 '+'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 44 ','
        .byte $00,$00,$00,$01,$02,$04,$04,$02       // char 45 '-'
        .byte $20,$40,$80,$00,$00,$00,$00,$00       // char 46 '.'
        .byte $3f,$1f,$0f,$07,$03,$01,$01,$03       // char 47 '/'
        .byte $ff,$ff,$ff,$ff,$ff,$ff,$ff,$ff       // char 48 '0'
        .byte $ff,$ff,$ff,$ff,$fe,$fc,$fc,$fe       // char 49 '1'
        .byte $e0,$c0,$80                           // char 50 (partial)

dat_2993:
        // === Fill data (1 bytes, $2993-$2993) ===
        .byte $00                                   // .

// --- Region $2a00-$2a97 ---
.pc = $2a00 "spr_2a00"

spr_2a00:
        .byte $81,$fd,$04,$04,$07,$00,$00,$00       // char 64 '@'
        .byte $80,$3f,$40,$80,$00,$00,$00,$00       // char 65 'A'
        .byte $18,$d3,$44,$48,$70,$00,$00,$00       // char 66 'B'
        .byte $0c,$e9,$22,$3c,$00,$00,$00,$00       // char 67 'C'
        .byte $a6,$12,$08,$07,$00,$00,$00,$00       // char 68 'D'
        .byte $80,$80,$80,$80,$00,$00,$00,$00       // char 69 'E'
        .byte $12,$08,$07,$00,$00,$00,$00,$00       // char 70 'F'
        .byte $a0,$9f,$00,$00,$00,$00,$00,$00       // char 71 'G'
        .byte $a0,$1f,$00,$00,$00,$00,$00,$00       // char 72 'H'
        .byte $45,$bc,$03,$00,$00,$00,$00,$00       // char 73 'I'
        .byte $20,$40,$80,$00,$00,$00,$00,$00       // char 74 'J'
        .byte $02,$04,$04,$08,$09,$16,$18,$00       // char 75 'K'
        .byte $00,$07,$18,$60,$80,$00,$00,$00       // char 76 'L'
        .byte $02,$01,$c1,$30,$0c,$03,$00,$00       // char 77 'M'
        .byte $00,$00,$00,$80,$80,$40,$c0,$00       // char 78 'N'
        .byte $03,$07,$07,$0f,$0f,$1e,$18,$00       // char 79 'O'

spr_2a80:
        .byte $ff,$ff,$f8,$e0,$80,$00,$00,$00       // char 80 'P'
        .byte $fe,$ff,$ff,$3f,$0f,$03,$00,$00       // char 81 'Q'
        .byte $00,$00,$00,$80,$80,$c0,$c0           // char 82 (partial)

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

// --- Region $2b01-$2b5c ---
.pc = $2b01 "dat_2b01"

dat_2b01:
        .byte $01,$02,$03,$04,$05,$00,$00           // char 96 (partial)

txt_2b08:
        .byte $20,$21,$22,$23,$24,$25,$00,$00       // char 97 'a'

txt_2b10:
        .byte $40,$41,$42,$43,$44,$45,$00,$00       // char 98 'b'
        .byte $00,$01,$02,$03,$04,$05,$00,$00       // char 99 'c'

txt_2b20:
        .byte $20,$21,$22,$23,$24,$25,$00,$00       // char 100 'd'

txt_2b28:
        .byte $40,$41,$42,$43,$44,$45,$00,$00       // char 101 'e'
        .byte $0b,$0c,$0d,$0e,$00,$00,$00,$00       // char 102 'f'

txt_2b38:
        .byte $2b,$2c,$2d,$2e,$00,$00,$00,$00       // char 103 'g'

txt_2b40:
        .byte $4b,$4c,$4d,$4e,$00,$00,$00,$00       // char 104 'h'
        .byte $0f,$10,$11,$12,$00,$00,$00,$00       // char 105 'i'

txt_2b50:
        .byte $2f,$30,$31,$32,$00,$00,$00,$00       // char 106 'j'

txt_2b58:
        .byte $4f,$50,$51,$52                       // char 107 (partial)

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

// --- Region $2b81-$2ced ---
.pc = $2b81 "dat_2b81"

dat_2b81:
        .byte $0b,$0c,$0f,$01,$01,$0a,$02           // char 112 (partial)
        .byte $00,$0b,$0c,$0f,$01,$01,$0f,$0a       // char 113 'q'
        .byte $00,$0b,$0c,$0f,$01,$01,$0f,$0e       // char 114 'r'
        .byte $0b,$0c,$0f,$01,$0f,$0c,$0b,$00       // char 115 's'
        .byte $00,$0b,$0c,$0f,$01,$01,$0e,$06       // char 116 't'
        .byte $0b,$0c,$0f,$01,$01,$0f,$0c,$0b       // char 117 'u'
        .byte $00,$0b,$0c,$0f,$01,$01,$0f,$0c       // char 118 'v'
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 119 'w'
        .byte $03,$01,$03,$00,$03,$03,$03,$00       // char 120 'x'
        .byte $03,$01,$03,$03,$03,$01,$03,$00       // char 121 'y'

txt_2bd0:
        .byte $33,$31,$33,$30,$33,$33,$33,$30       // char 122 'z'
        .byte $33,$31,$33,$33,$33,$31,$33,$30       // char 123 '{'
        .byte $41,$20,$41,$20,$41,$20,$41,$20       // char 124 '|'
        .byte $02,$41,$02                           // char 125 (partial)

txt_2beb:
        .byte $20,$41,$20,$41,$20                   // char 125 (partial)
        .byte $11,$00,$11,$00,$11,$00,$11,$00       // char 126 '~'
        .byte $03,$11,$03,$00,$11,$00,$11,$00       // char 127

txt_2c00:
        .byte $31,$30,$31,$30,$31,$30,$31,$30       // char 128
        .byte $32,$31,$33,$30,$31,$30,$31,$30       // char 129
        .byte $30,$51,$30,$61,$30,$51,$30,$61       // char 130
        .byte $30,$51,$30,$61,$30,$51,$30,$61       // char 131
        .byte $60,$31,$50,$31,$60,$31,$50,$31       // char 132
        .byte $60,$31,$50,$31,$60                   // char 133 (partial)

txt_2c2d:
        .byte $31,$50,$31                           // char 133 (partial)
        .byte $30,$31,$30,$31,$30,$31,$30,$31       // char 134
        .byte $30,$31,$30,$31,$30,$31,$30,$31       // char 135
        .byte $7c,$7c,$fc,$fe,$fe,$fe,$c6,$d6       // char 136
        .byte $ce,$c6,$d6,$c6,$c0,$d6,$c6,$c0       // char 137
        .byte $d6,$c6,$fc,$d6,$fe,$fe,$d6,$fe       // char 138
        .byte $06,$d6,$ce,$06,$d6,$c6,$c6,$d6       // char 139
        .byte $c6,$ce,$d6,$c6,$fe,$d6,$c6,$fc       // char 140
        .byte $d6,$c6,$00,$06,$c6,$00,$04,$04       // char 141
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 142
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 143
        .byte $7c,$c6,$00,$fe,$c6,$00,$c6,$c6       // char 144
        .byte $00,$c6,$c6,$00,$c0,$c6,$00,$c0       // char 145
        .byte $c6,$00,$fc,$fe,$00,$fe,$fe,$00       // char 146
        .byte $06,$c6,$00,$06,$c6,$00,$c6,$c6       // char 147
        .byte $00,$ce,$c6,$00,$fe,$c6,$00,$fc       // char 148
        .byte $c6,$00,$00,$06,$00,$00,$04,$00       // char 149
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 150
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 151
        .byte $fe,$00,$46,$fe,$00,$c6,$18,$00       // char 152
        .byte $c6,$18,$00,$c6,$18,$00,$c6,$18       // char 153
        .byte $00,$c6,$38,$00,$c6,$38,$00,$c6       // char 154
        .byte $38,$00,$c6,$38,$00,$c6,$38,$00       // char 155
        .byte $c6,$38,$00,$e6,$38,$3c,$7c,$38       // char 156
        .byte $3c,$38,$7c,$00,$00,$7c               // char 157 (partial)

// --- Region $2d0a-$2d28 ---
.pc = $2d0a "dat_2d0a"

dat_2d0a:
        .byte $08,$08,$00,$18,$18,$00               // char 161 (partial)
        .byte $18,$18,$00,$7e,$7e,$00,$7e,$7e       // char 162
        .byte $00,$18,$18,$00,$18,$18,$00,$18       // char 163
        .byte $18,$00,$10,$10,$3c,$00,$00,$3c       // char 164

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

// --- Region $2d49-$2d63 ---
.pc = $2d49 "dat_2d49"

dat_2d49:
        .byte $08,$08,$08,$18,$18,$18,$18           // char 169 (partial)
        .byte $18,$18,$7e,$7e,$7e,$7e,$7e,$7e       // char 170
        .byte $18,$18,$18,$18,$18,$18,$18,$18       // char 171
        .byte $18,$10,$10,$10                       // char 172 (partial)

// --- Region $2d81-$2de7 ---
.pc = $2d81 "dat_2d81"

dat_2d81:
        .byte $fc,$ce,$00,$fe,$ce,$00,$ce           // char 176 (partial)
        .byte $ce,$00,$c6,$ce,$00,$c6,$ce,$00       // char 177
        .byte $c6,$e6,$00,$c6,$fc,$00,$c6,$fc       // char 178
        .byte $00,$c6,$ee,$00,$c6,$ce,$00,$c6       // char 179
        .byte $ce,$00,$e0,$ce,$00,$fe,$ce,$00       // char 180
        .byte $7e,$c6,$00,$00,$06,$00,$00,$04       // char 181
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 182
        .byte $00,$00,$00,$00,$00,$00,$00,$00       // char 183
        .byte $30,$00,$00,$30,$00,$00,$30,$00       // char 184
        .byte $00,$30,$00,$00,$30,$00,$00,$30       // char 185
        .byte $00,$00,$30,$00,$00,$30,$00,$00       // char 186
        .byte $30,$00,$00,$30,$00,$00,$20,$00       // char 187
        .byte $00,$00,$00,$00,$30,$00,$00,$30       // char 188

// --- Region $2e00-$2e53 ---
.pc = $2e00 "dat_2e00"

dat_2e00:
        .byte $1d,$1a,$17,$14,$11,$0f,$0c,$0a       // char 192
        .byte $08,$06,$04,$03,$02,$01,$01,$01       // char 193
        .byte $01,$01,$02,$03,$04,$06,$08,$0a       // char 194
        .byte $0c,$0f,$11,$14,$17,$1a,$1d,$20       // char 195
        .byte $16,$08,$00,$00                       // char 196 (partial)
// Referenced by: jsr from $0880

sub_2e24:
        .byte $ee                                   // char 196 (partial)

txt_2e25:
        .byte $20,$2e,$ad                           // char 196 (partial)

txt_2e28:
        .byte $20,$2e,$c9,$20,$d0,$05,$a9,$00       // char 197
        .byte $8d                                   // char 198 (partial)

txt_2e31:
        .byte $20,$2e,$aa,$bd,$00,$2e,$8d           // char 198 (partial)

txt_2e38:
        .byte $21,$2e,$a9,$20,$38,$ed,$21,$2e       // char 199
        .byte $48,$18,$69,$18,$8d,$fe,$0f,$68       // char 200
        .byte $18,$69,$3c,$8d,$ff,$0f,$4c,$b8       // char 201
        .byte $0f,$15,$00,$00                       // char 202 (partial)

// --- Region $2eda-$2eff ---
.pc = $2eda "Segment $2eda"
        .byte $01,$02,$40,$41,$42,$80,$81           // char 0 (partial)
        .byte $82,$c0,$c1,$c2,$00,$00,$00,$13       // char 1 @+1
        .byte $0d,$01,$13,$08,$20,$14,$2e,$16       // char 2 @+2

txt_2ef1:
        .byte $2e,$2b,$2b,$2b,$2b,$2b,$20,$0f       // char 3 @+3
        .byte $0b                                   // char 4 (partial)

txt_2efa:
        .byte $21,$20,$20,$20,$20,$20               // char 4 (partial)

// --- Region $2f1d-$2f47 ---
.pc = $2f1d "chr_2f1d"

chr_2f1d:
        // === Charset data (43 bytes, $2f1d-$2f47) ===
        .byte $00,$00,$00,$78,$a9,$34,$85,$01       // char 0 @+0
        .byte $a2,$00,$bd,$00,$32,$9d,$01,$08       // char 1 @+1
        .byte $e8,$d0,$f7,$ee,$43,$03,$ee,$46       // char 2 @+2
        .byte $03,$ad,$43,$03,$c9,$00,$d0,$ea       // char 3 @+3
        .byte $a9,$37,$85,$01,$58,$4c,$e2,$fc       // char 4 @+4
        .byte $4c,$ae,$a7                           // char 5 (partial)

// --- Region $2fbb-$30a8 ---
.pc = $2fbb "chr_2fbb"

chr_2fbb:
        // === Charset data (69 bytes, $2fbb-$2fff) ===
        .byte $00,$00,$00,$00,$00,$02,$02,$0a       // char 0 @+0
        .byte $0a,$07,$07                           // char 1 (partial)

dat_2fc6:
        // === Fill data (44 bytes, $2fc6-$2ff1) ===
        .fill 44, $01
        .byte $07                                   // char 6 (partial)
        .byte $07,$0a,$0a,$02,$02,$02,$02,$07       // char 7 @+7
        .byte $07,$0a,$0a,$01,$01                   // char 8 (partial)

txt_3000:
        .encoding "screencode_mixed"
        .text "   smash t.v. from ocean/probe"
        .encoding "petscii_upper"

txt_301e:
        .text "!        "

txt_3027:
        .encoding "screencode_mixed"
        .text "was cracked and"
        .encoding "petscii_upper"

txt_3036:
        .text " +5 "
        .byte $14,$12,$01,$09,$0e,$05,$04,$20,$02,$19 // ....... ..

txt_3044:
        .text "     - "

txt_304b:
        .encoding "screencode_mixed"
        .text "c h r y s a g on"
        .encoding "petscii_upper"

txt_305b:
        .text " -        "

txt_3065:
        .encoding "screencode_mixed"
        .text "this version return's to the title when you finished the last level!"
        .encoding "petscii_upper"

// --- Region $30cb-$31ff ---
.pc = $30cb "dat_30cb"

dat_30cb:
        .byte $13,$09,$0f,$0e,$27,$13               // ....'.

txt_30d1:
        .text "!             "

txt_30df:
        .encoding "screencode_mixed"
        .text "again a quality prove"
        .encoding "petscii_upper"

txt_30f4:
        .text ".     "

txt_30fa:
        .encoding "screencode_mixed"
        .text "and a kick in triad's face"
        .encoding "petscii_upper"

txt_3114:
        .text "!            "
        .byte $0f,$15,$14,$14,$01,$20,$13,$03,$08,$0e,$01,$10,$1a,$1a,$1a // ..... .........

txt_3130:
        .text "!               "

dat_3140:
        // === Fill data (192 bytes, $3140-$31ff) ===
        .fill 192, $2f
