// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:29
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0800  End: $ffff  (63488 bytes)
// Crunched with Exomizer v2/v3 (with relocation) — depacked by emulation
// Packer entry: $0810 (via BASIC SYS 2064)
// Entry point:  $0b50 (2896)
// IRQ handler:  $0bb7 (irq_0bb7)
//
// Code: 1144 bytes, Data: 62344 bytes
// Labels: 127, Subroutines: 6
//
// Cross-references: all OK
// ============================================


// --- Region $0b50-$0cbe ---
.pc = $0b50 "main_0b50"

main_0b50:
        jsr $e518
        lda #$08
        jsr $ffd2
        ldx #$00
        stx $d020
        stx dat_0800
        stx $0801
        stx $0802

loc_0b66:
        lda #$20
        sta $06f8,x
        lda #$00
        sta $daf8,x
        sta $0400,x
        sta $0500,x
        sta $05f8,x
        inx
        bne loc_0b66

loc_0b7c:
        lda txt_0b28,x
        clc
        adc #$80
        sta $0748,x
        lda #$a0
        sta $06f8,x
        inx
        cpx #$28
        bne loc_0b7c
        sei
        lda #$1b
        sta $d011
        lda #$f1
        sta $d01a
        lda #$00
        sta $dc0e
        lda #$7f
        sta $dc0c
        lda #$31
        sta $d012
        lda #$b7
        ldx #$0b
        sta $0314
        stx $0315
        cli

loc_0bb4:
        jmp loc_0bb4

irq_0bb7:
        lda #$01
        sta $d019
        lda #$12
        sta $d018
        ldx #$00
        stx smc_0bcc                                // SMC: modifies $0bcc
        lda #$3a
        sta smc_0bd8                                // SMC: modifies $0bd8

loc_0bcb:
.label smc_0bcc = * + 1
        ldx #$00                                    // !SMC: modified by $0bc3, $0c06
        lda dat_0d51,x
        and #$07
        eor #$17
        sta $d016
.label smc_0bd8 = * + 1
        lda #$3a                                    // !SMC: modified by $0bc8, $0be7

loc_0bd9:
        cmp $d012
        bne loc_0bd9
        jsr sub_0d02
        lda smc_0bd8
        clc
        adc #$18
        sta smc_0bd8                                // SMC: modifies $0bd8
        ldx smc_0d08
        ldy smc_0d09
        lda smc_0d0e
        sta smc_0d08                                // SMC: modifies $0d08
        lda smc_0d0f
        sta smc_0d09                                // SMC: modifies $0d09
        stx smc_0d0e                                // SMC: modifies $0d0e
        sty smc_0d0f                                // SMC: modifies $0d0f
        ldx smc_0bcc
        inx
        stx smc_0bcc                                // SMC: modifies $0bcc
        cpx #$06
        bne loc_0bcb
.label smc_0c0e = * + 1
        lda #$00                                    // !SMC: modified by $0d73
        and #$07
        eor #$17
        sta $d016
        ldx #$15
        lda #$ca

loc_0c1a:
        cmp $d012
        bne loc_0c1a
        stx $d018
        jsr sub_0d37
        ldx #$05

loc_0c27:
        dex
        bne loc_0c27
        stx $d021
        lda #$08
        sta $d016
        lda #$da

loc_0c34:
        cmp $d012
        bne loc_0c34
        jsr sub_0d1f
        lda #$00
        sta $d021
        lda $dc01
        cmp #$ef
        bne loc_0c4b
        jmp loc_0d8e

loc_0c4b:
        jsr sub_0c57
        jsr sub_0d6b
        asl $d019
        jmp loc_ea81
// Referenced by: jsr from $0c4b, $fe51

sub_0c57:
        lda #$04
        sta smc_0c88                                // SMC: modifies $0c88
        sta smc_0c8e                                // SMC: modifies $0c8e
        lda #$00
        sta smc_0c87                                // SMC: modifies $0c87
        lda #$28
        sta smc_0c8d                                // SMC: modifies $0c8d

loc_0c69:
.label smc_0c6a = * + 1
        ldy #$00                                    // !SMC: modified by $0c99, $0cba
        lda $0d59,y
        clc
        adc #$02
        ora #$80
        sta $0d59,y
        tax
        lda $0938,x
        sta dat_0d51,y
        lsr
        lsr
        lsr
        tax
        ldy #$28

loc_0c83:
        lda $0a38,x
.label smc_0c87 = * + 1
.label smc_0c88 = * + 2
        sta $0400,y                                 // !SMC: modified by $0c59, $0c61, $0c9f, $0ca5
        lda $0ab0,x
.label smc_0c8d = * + 1
.label smc_0c8e = * + 2
        sta $0428,y                                 // !SMC: modified by $0c5c, $0c66, $0cab, $0cb1
        inx
        iny
        cpy #$50
        bne loc_0c83
        ldy smc_0c6a
        iny
        sty smc_0c6a                                // SMC: modifies $0c6a
        lda dat_0cbe,y
        sta smc_0c87                                // SMC: modifies $0c87
        lda $0cc6,y
        sta smc_0c88                                // SMC: modifies $0c88
        lda $0cce,y
        sta smc_0c8d                                // SMC: modifies $0c8d
        lda $0cd6,y
        sta smc_0c8e                                // SMC: modifies $0c8e
        cpy #$06
        bne loc_0c69
        lda #$00
        sta smc_0c6a                                // SMC: modifies $0c6a
        rts

dat_0cbe:
        .byte $00                                   // .

// --- Region $0d02-$0d51 ---
.pc = $0d02 "sub_0d02"
// Referenced by: jsr from $0bde, $fde4

sub_0d02:
        ldx #$08

loc_0d04:
        dex
        bne loc_0d04

loc_0d07:
.label smc_0d08 = * + 1
.label smc_0d09 = * + 2
        lda $0cde,x                                 // !SMC: modified by $0bf3, $0bf9
        sta $d022
.label smc_0d0e = * + 1
.label smc_0d0f = * + 2
        lda $0cea,x                                 // !SMC: modified by $0bfc, $0bff
        sta $d023
        ldy $0cf6,x

loc_0d16:
        dey
        bne loc_0d16
        inx
        cpx #$0c
        bne loc_0d07
        rts
// Referenced by: jsr from $0c39, $fe3f

sub_0d1f:
        ldx #$09

loc_0d21:
        dex
        bne loc_0d21

loc_0d24:
        lda $0cea,x
        sta $d021
        ldy $0cf6,x
        dey

loc_0d2e:
        dey
        bne loc_0d2e
        inx
        cpx #$06
        bne loc_0d24
        rts
// Referenced by: jsr from $0c22, $fe28

sub_0d37:
        ldx #$09

loc_0d39:
        dex
        bne loc_0d39

loc_0d3c:
        lda $0cde,x
        sta $d021
        ldy $0cf6,x
        dey
        dey
        dey

loc_0d48:
        dey
        bne loc_0d48
        inx
        cpx #$06
        bne loc_0d3c
        rts

dat_0d51:
        .byte $00                                   // .

// --- Region $0d6b-$0e14 ---
.pc = $0d6b "sub_0d6b"
// Referenced by: jsr from $0c4e, $fe54

sub_0d6b:
        inc $0d6f
        ldx #$40
        lda $0938,x
        sta smc_0c0e                                // SMC: modifies $0c0e
        eor #$ff
        lsr
        lsr
        lsr
        tay
        ldx #$00

loc_0d7e:
        lda $0d61,x
        clc
        adc #$80
        sta $06f6,y
        iny
        inx
        cpx #$0a
        bne loc_0d7e
        rts

loc_0d8e:
        sei
        lda #$37
        sta $01
        ldx #$fb
        txs
        jsr $e518
        jsr $fd15
        jsr $fda3
        ldx #$ff
        stx $d800
        inx
        stx $d020
        stx $d021
        stx $0286

loc_0dae:
        lda dat_0dc2,x
        sta $0401,x
        lda #$00
        sta $d801,x
        inx
        bne loc_0dae
        inc $01
        cli
        jmp $0401

dat_0dc2:
        .byte $78,$a2,$00                           // x..

loc_0dc5:
        lda loc_0e00,x
        sta $0801,x
        sta $d016
        inc $d020
        sta $d020
        sta $d021
        dec $d021
        sta $0400
        sta $d800
        inx
        bne loc_0dc5
        inc $0406
        inc $0409
.label loc_0dea = * + 1
        lda $0406
        bne loc_0dc5
        sta $d020
        sta $d021
        lda #$08
        sta $d016
        dec $01
        cli
        jmp loc_fce2

loc_0dff:
        brk

loc_0e00:
        lda $0cde,x
        sta $d021
        ldy $0cf6,x
        cpx $88

loc_0e0b:
        plp
        bne loc_0e0b
        inx
        cpx #$06
        bne loc_0dff
        rts

dat_0e14:
        .byte $a9                                   // .

// --- Region $0e49-$0e7f ---
.pc = $0e49 "loc_0e49"

loc_0e49:
        sbc ($60),y
        sei
        lda #$37
        sta $01
        ldx #$fb
        txs
        jsr $e518
        jsr $fd15
        jsr $fda3
        ldx #$ff
        stx $d800
        inx
        stx $d020
        stx $d021
        stx $0286

loc_0e6b:
        lda dat_0dc2,x
        sta $0401,x
        lda #$00
        sta $d801,x
        inx
        bne loc_0e6b
        inc $01
        cli
        jmp $0401

dat_0e7f:
        .byte $78                                   // x

// --- Region $2625-$2625 ---
.pc = $2625 "sub_2625"
// Referenced by: jsr from $fd15

sub_2625:
        brk

// --- Region $8dd0-$8dd0 ---
.pc = $8dd0 "Segment $8dd0"
        brk

// --- Region $8ed0-$8ed0 ---
.pc = $8ed0 "Segment $8ed0"
        brk

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

// --- Region $ea81-$ea81 ---
.pc = $ea81 "loc_ea81"

loc_ea81:
        brk

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

// --- Region $fce2-$fcf3 ---
.pc = $fce2 "loc_fce2"

loc_fce2:
        and $26
        asl $1400,x
        ora $16,x
        .byte $17,$18                               // slo $18,x // ILLEGAL
        ora $161a,y
        .byte $17,$18                               // slo $18,x // ILLEGAL
        .byte $14,$1b                               // nop $1b,x // ILLEGAL

dat_fcf2:
        // === Sine/lookup table (35 bytes, range $00-$26) ===
        .byte $1c,$1d                               // ..

// --- Region $fd15-$fd27 ---
.pc = $fd15 "Segment $fd15"
        jsr sub_2625
        asl $1400,x
        ora $16,x
        .byte $17,$18                               // slo $18,x // ILLEGAL
        ora $161a,y
        .byte $17,$18                               // slo $18,x // ILLEGAL
        .byte $14,$1b                               // nop $1b,x // ILLEGAL

dat_fd26:
        .byte $1c,$1d                               // ..

// --- Region $fda3-$fe5c ---
.pc = $fda3 "Segment $fda3"
        asl $a9dc
        .byte $7f,$8d,$0c                           // rra smc_0c8d,x // ILLEGAL
        .byte $dc,$a9,$31                           // nop $31a9,x // ILLEGAL
        sta $d012
        lda #$b7
        ldx #$0b
        sta $0314
        stx $0315
        cli
        jmp loc_0bb4

loc_fdbd:
        lda #$01
        sta $d019
        lda #$12
        sta $d018
        ldx #$00
        stx smc_0bcc
        lda #$3a
        sta smc_0bd8

loc_fdd1:
        ldx #$00
        lda dat_0d51,x
        and #$07
        eor #$17
        sta $d016
        lda #$3a

loc_fddf:
        cmp $d012
        bne loc_fddf
        jsr sub_0d02
        lda smc_0bd8
        clc
        adc #$18
        sta smc_0bd8
        ldx smc_0d08
        ldy smc_0d09
        lda smc_0d0e
        sta smc_0d08
        lda smc_0d0f
        sta smc_0d09
        stx smc_0d0e
        sty smc_0d0f
        ldx smc_0bcc
        inx
        stx smc_0bcc
        cpx #$06
        bne loc_fdd1
        lda #$00
        and #$07
        eor #$17
        sta $d016
        ldx #$15
        lda #$ca

loc_fe20:
        cmp $d012
        bne loc_fe20
        stx $d018
        jsr sub_0d37
        ldx #$05

loc_fe2d:
        dex
        bne loc_fe2d
        stx $d021
        lda #$08
        sta $d016
        lda #$da

loc_fe3a:
        cmp $d012
        bne loc_fe3a
        jsr sub_0d1f
        lda #$00
        sta $d021
        lda $dc01
        cmp #$ef
        bne loc_fe51
        jmp loc_0d8e

loc_fe51:
        jsr sub_0c57
        jsr sub_0d6b
        asl $d019
        jmp loc_ea81

// --- Region $fe70-$fe70 ---
.pc = $fe70 "loc_fe70"

loc_fe70:
        brk

// --- Region $fe86-$fec5 ---
.pc = $fe86 "loc_fe86"

loc_fe86:
        lsr $aa
        ldy #$28

loc_fe8a:
        lda $0a38,x
        sta $0400,y
        lda $0ab0,x
        sta $0428,y
        inx
        iny
        cpy #$50
        bne loc_fe8a
        ldy smc_0c6a
        iny
        sty smc_0c6a
        lda dat_0cbe,y
        sta smc_0c87
        lda $0cc6,y
        sta smc_0c88
        lda $0cce,y
        sta smc_0c8d
        lda $0cd6,y
        sta smc_0c8e
        cpy #$06
        bne loc_fe70
        lda #$00
        sta smc_0c6a
        rts

dat_fec5:
        .byte $00                                   // .

// --- Region $ff03-$ff55 ---
.pc = $ff03 "loc_ff03"

loc_ff03:
        asl

loc_ff04:
        ora $050f
        ldx #$08

loc_ff09:
        dex
        bne loc_ff09

loc_ff0c:
        lda $0cde,x
        sta $d022
        lda $0cea,x
        sta $d023
        ldy $0cf6,x

loc_ff1b:
        dey
        bne loc_ff1b
        inx
        cpx #$0c
        bne loc_ff0c
        rts

loc_ff24:
        ldx #$09

loc_ff26:
        dex
        bne loc_ff26

loc_ff29:
        lda $0cea,x
        sta $d021
        ldy $0cf6,x
        dey

loc_ff33:
        dey
        bne loc_ff33
        inx
        cpx #$06
        bne loc_ff29
        rts

dat_ff3c:
        .byte $a2,$09,$ca,$d0                       // ....

loc_ff40:
.label loc_ff41 = * + 1
        sbc $debd,x
        .byte $0c,$8d,$21                           // nop $218d // ILLEGAL
        bne loc_ff04
        inc $0c,x
        cpx $88

loc_ff4c:
        plp
        bne loc_ff4c
        inx
        cpx #$06
        bne loc_ff40
        rts

dat_ff55:
        .byte $a9                                   // .

// --- Region $ff8a-$fffc ---
.pc = $ff8a "loc_ff8a"

loc_ff8a:
        sbc ($60),y
        sei
        lda #$37
        sta $01
        ldx #$fb
        txs
        jsr $e518
        jsr $fd15
        jsr $fda3
        ldx #$ff
        stx $d800
        inx
        stx $d020
        stx $d021
        stx $0286

loc_ffac:
        lda dat_0dc2,x
        sta $0401,x
        lda #$00
        sta $d801,x
        inx
        bne loc_ffac
        inc $01
        cli
        jmp $0401

dat_ffc0:
        .byte $78,$a2,$00                           // x..

loc_ffc3:
        lda loc_0e00,x
        sta $0801,x
        sta $d016
        inc $d020
        sta $d020
        sta $d021
        dec $d021
        sta $0400
        sta $d800
        inx
        bne loc_ffc3
        inc $0406
        inc $0409
        lda $0406
        bne loc_ffc3
        sta $d020
        sta $d021
        lda #$08
        sta $d016
        dec $01
        cli
        jmp loc_fce2

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

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

dat_0800:
        .byte $01,$00,$00,$00,$00,$00,$00,$00,$aa,$95,$9a,$98,$98,$98,$9a,$95 // ................
        .byte $aa,$55,$a5,$09,$09,$09,$a5,$55,$02,$89,$89,$89,$89,$89,$89,$89 // .U.....U........
        .byte $aa,$55,$6a,$80,$80,$80,$aa,$56,$a8,$58,$a8,$00,$00,$00,$00,$00 // .Uj....V.X......
        .byte $aa,$95,$aa,$02,$02,$02,$02,$02,$aa,$55,$6a,$60,$60,$60,$60,$60 // .........Uj`````
        .byte $82,$89,$89,$09,$09,$09,$09,$09,$aa,$55,$a5,$09,$09,$09,$a5,$56 // .........U.....V
        .byte $0a,$89,$89,$89,$89,$89,$89,$09,$aa,$55,$aa,$80,$80,$80,$aa,$55 // .........U.....U
        .byte $a0,$58,$58,$98,$98,$98,$58,$60,$2a,$95,$96,$98,$98,$98,$98,$98 // .XX...X`*.......
        .byte $aa,$55,$a5,$09,$09,$09,$09,$09,$aa,$55,$6a,$80,$80,$80,$80,$80 // .U.......Uj.....
        .byte $a0,$58,$58,$98,$98,$98,$98,$98,$aa,$95,$9a,$98,$98,$98,$98,$98 // .XX.............
        .byte $aa,$55,$6a,$80,$80,$80,$6a,$55,$a8,$58,$a8,$00,$00,$00,$a0,$58 // .Uj...jU.X.....X
        .byte $9a,$98,$98,$98,$98,$98,$98,$a8,$aa,$00,$00,$00,$00,$00,$00,$00 // ................
        .byte $09,$09,$09,$09,$09,$09,$09,$02,$aa,$80,$80,$80,$6a // ............j

txt_08bd:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $00,$00,$00,$00,$a8                   // .....

txt_08c5:
        .text "XX"
        .byte $a8                                   // '(' | $80 (end-of-string marker)
        .fill 8, $02
        .byte $60,$60,$60,$60,$60,$60,$60,$a0,$a5,$09,$09,$09,$09,$09,$09,$0a // ```````.........
        .byte $89,$89,$89,$89,$89,$89,$89,$8a,$aa,$80,$80,$80,$aa // .............

txt_08ed:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $58,$98,$98,$98                       // X...

txt_08f4:
        .text "XXX"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $98,$98,$98,$98,$96,$95,$95,$2a,$09,$09,$09,$09,$a5 // .......*.....

txt_0905:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $89,$89,$89,$89,$89,$89,$89,$0a,$80,$80,$80,$80,$80,$80,$80,$80 // ................
        .byte $98,$98,$98,$98,$98,$98,$98,$a8,$98,$98,$98,$98,$9a,$95,$95,$aa // ................
        .byte $82,$80,$80,$80,$8a,$89,$89,$0a,$aa,$00,$00,$00,$aa // .............

txt_0935:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $74,$71,$6e,$6c,$6a,$67,$65,$62,$60,$5e,$5b // tqnljgeb`^[

txt_0943:
        .text "YWURPNLJGECA?=;986420/-,*)'&$#"
        .byte $22                                   // double quote character
        .text "!"
        .byte $1f,$1e,$1d,$1c,$1b,$1a,$1a,$19,$18,$17,$17,$16,$16,$15,$15,$15 // ................
        .fill 8, $14
        .byte $15,$15,$15,$15,$16,$16,$17,$18,$18,$19,$1a,$1b,$1c,$1d,$1e,$1f // ................

txt_098b:
        .text " !"
        .byte $22                                   // double quote character
        .text "#%&')*,./13468:<>"
        .byte $40                                   // @ character
        .text "BDFHJLNQSUWZ"
        .byte $5c                                   // backslash character
        .byte $5e,$61,$63,$65,$68,$6a,$6d,$6f,$71,$74,$76,$79,$7b,$7d,$80,$82 // ^acehjmoqtvy{}..
        .byte $84,$87,$89,$8c,$8e,$90,$92,$95,$97,$99,$9b,$9e,$a0,$a2,$a4,$a6 // ................
        .byte $a8,$aa,$ac,$ae,$b0,$b2,$b4,$b6,$b8,$b9,$bb,$bd,$be,$c0,$c1,$c3 // ................
        .byte $c4,$c6,$c7,$c8,$ca,$cb,$cc,$cd,$ce,$cf,$d0,$d1,$d2,$d2,$d3,$d4 // ................
        .byte $d4,$d5,$d5,$d6,$d6,$d6,$d7,$d7,$d7,$d7,$d7,$d7,$d7,$d7,$d6,$d6 // ................
        .byte $d6,$d5,$d5,$d4,$d4,$d3,$d3,$d2,$d1,$d0,$cf,$ce,$cd,$cc,$cb,$ca // ................
        .byte $c9,$c7,$c6,$c5,$c3,$c2,$c0,$bf,$bd,$bb,$ba,$b8,$b6,$b4,$b2,$b1 // ................
        .byte $af,$ad,$ab,$a9,$a7,$a5,$a2,$a0,$9e,$9c,$9a,$97,$95,$93,$91,$8e // ................
        .byte $8c,$8a,$87,$85,$83,$80,$7e,$7b,$79,$77,$75,$01,$02,$03,$04,$05 // ......~{ywu.....
        .byte $06,$07,$08,$04,$05,$01,$09,$0a,$0b,$0c,$0d,$0e,$03,$0f,$10,$11 // ................
        .byte $0e,$03,$12,$13,$00,$01,$02,$03,$04,$05,$06,$07,$08,$04,$05,$01 // ................
        .byte $09,$0a,$0b,$0c,$0d,$0e,$03,$0f,$10,$11,$0e,$03,$12,$13,$00,$01 // ................
        .byte $02,$03,$04,$05,$06,$07,$08,$04,$05,$01,$09,$0a,$0b,$0c,$0d,$0e // ................
        .byte $03,$0f,$10,$11,$0e,$03,$12,$13,$00,$01,$02,$03,$04,$05,$06,$07 // ................
        .byte $08,$04,$05,$01,$09,$0a,$0b,$0c,$0d,$0e,$03,$0f,$10,$11,$0e,$03 // ................
        .byte $12,$13,$00,$01,$02,$03,$04,$05,$06,$07,$08,$04,$05,$01,$09,$0a // ................
        .byte $0b,$0c,$0d,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c // ................
        .byte $1d,$1e,$1f                           // ...

txt_0ac0:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ %&"
        .byte $1e,$00,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d // ................
        .byte $1e,$1f                               // ..

txt_0ada:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ %&"
        .byte $1e,$00,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d // ................
        .byte $1e,$1f                               // ..

txt_0af4:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ %&"
        .byte $1e,$00,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d // ................
        .byte $1e,$1f                               // ..

txt_0b0e:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ %&"
        .byte $1e,$00,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d // ................
        .byte $1e,$1f                               // ..

txt_0b28:
        .text "             "
        .byte $01,$06,$14,$05,$12,$0d,$01,$14,$08   // .........

txt_0b3e:
        .text " +2               "

// --- Region $0cbf-$0d01 ---
.pc = $0cbf "Program $0cbf"
        .byte $78,$f0,$68,$e0,$58,$d0,$48,$04,$04,$04,$05,$05,$06,$06,$07,$28 // x.h.X.H........(
        .byte $a0,$18,$90,$08,$80,$f8,$70,$04,$04,$05,$05,$06,$06,$06,$07,$0b // ......p.........
        .byte $0c,$0f,$07,$0d,$01,$0d,$07,$0f,$0c,$0b,$00,$08,$0a,$0f,$07,$0d // ................
        .byte $01,$0d,$07,$0f,$0a,$08,$00,$0b,$0a,$0b,$0b,$0b,$0b,$0b,$0b,$0a // ................
        .byte $0d,$0f,$05                           // ...

// --- Region $0d52-$0d6a ---
.pc = $0d52 "Program $0d52"
        .fill 8, $00
        .byte $f8,$f0,$e8,$e0,$d8,$d0,$c8,$20,$10,$12,$05,$13,$05,$0e,$14,$13 // ....... ........
        .byte $20                                   //  

// --- Region $0e15-$0e48 ---
.pc = $0e15 "Program $0e15"
        .byte $3e,$f8,$f0,$e8,$e0,$d8,$d0,$c8,$20,$10,$12,$05,$13,$05,$0e,$14 // >....... .......
        .byte $13,$20,$ee,$6f,$0d,$a2,$40,$bd,$38,$09,$8d,$0e,$0c,$49,$ff,$e3 // . .o..@.8....I..
        .byte $4a,$60,$85,$a8,$a2,$00,$bd,$61,$0d,$18,$69,$80,$99,$f6,$06,$c8 // J`.....a..i.....
        .byte $e8,$e0,$0a,$d0                       // ....

// --- Region $0e80-$0ebc ---
.pc = $0e80 "Program $0e80"
        .byte $a2,$00,$bd,$00,$0e,$9d,$01,$08,$8d,$16,$d0,$ee,$20,$d0,$8d,$20 // ............ .. 
        .byte $d0,$8d,$21,$d0,$ce,$21,$d0,$8d,$00,$04,$8d,$00,$d8,$e8,$d0,$e2 // ..!..!..........
        .byte $ee,$06,$04,$ee,$09,$04,$ad,$06,$04,$d0,$d7,$8d,$20,$d0,$8d,$21 // ............ ..!
        .byte $d0,$a9,$08,$8d,$16,$d0,$c6,$01,$58,$4c,$e2,$fc // ........XL..

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

// --- Region $2626-$2626 ---
.pc = $2626 "dat_2626"

dat_2626:
        // === Fill data (1 bytes, $2626-$2626) ===
        .byte $00                                   // .

// --- Region $2800-$2800 ---
.pc = $2800 "chr_2800"

chr_2800:
        .byte $00                                   // .

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

scr_3000:
        .byte $00                                   // .

// --- Region $8dd1-$8dd1 ---
.pc = $8dd1 "dat_8dd1"

dat_8dd1:
        // === Fill data (1 bytes, $8dd1-$8dd1) ===
        .byte $00                                   // .

// --- Region $8ed1-$8ed1 ---
.pc = $8ed1 "dat_8ed1"

dat_8ed1:
        // === Fill data (1 bytes, $8ed1-$8ed1) ===
        .byte $00                                   // .

// --- Region $e519-$e519 ---
.pc = $e519 "dat_e519"

dat_e519:
        // === Fill data (1 bytes, $e519-$e519) ===
        .byte $00                                   // .

// --- Region $ea82-$ea82 ---
.pc = $ea82 "dat_ea82"

dat_ea82:
        // === Fill data (1 bytes, $ea82-$ea82) ===
        .byte $00                                   // .

// --- Region $f89e-$f89e ---
.pc = $f89e "dat_f89e"

dat_f89e:
        // === Fill data (1 bytes, $f89e-$f89e) ===
        .byte $00                                   // .

// --- Region $fa00-$fce1 ---
.pc = $fa00 "dat_fa00"

dat_fa00:
        .byte $22,$01,$20,$71,$01,$b1,$2f,$91,$2d,$e6,$2f,$d0,$02,$e6,$30,$e6 // ". q../.-./...0.
        .byte $2d,$d0,$02,$e6,$2e,$ca,$d0,$ed,$c6,$39,$10,$e9,$4c,$00,$01,$2c // -........9..L..,
        .byte $da,$01,$a9,$37,$85,$01,$58,$20,$50,$0b,$4c,$ae,$a7,$e0,$00,$f0 // ...7..X P.L.....
        .byte $ee,$a9,$04,$2c,$a9,$08,$85,$ff,$b1,$2f,$91,$2d,$c8,$c4,$ff,$d0 // ...,...../.-....
        .byte $f7,$18,$a5,$2d,$65,$ff,$85,$2d,$a5,$2e,$69,$00,$85,$2e,$a0,$00 // ...-e..-..i.....
        .byte $ca,$d0,$e5,$18,$a5,$2f,$65,$ff,$85,$2f,$a5,$30,$69,$00,$85,$30 // ...../e../.0i..0
        .byte $4c,$00,$01,$b9,$00,$ef,$99,$00,$ff,$c8,$d0,$f7,$ce,$dc,$01,$ce // L...............
        .byte $df,$01,$ad,$df,$01,$c9,$df,$d0,$ea,$60,$21,$01,$a7,$23,$aa,$95 // .........`!..#..
        .byte $9a,$e3,$98,$25,$9a,$95,$aa,$55,$a5,$e3,$09,$23,$a5,$55,$02,$e7 // ...%...U...#.U..
        .byte $89,$23,$aa,$55,$6a,$e3,$80,$25,$aa,$56,$a8,$58,$a8,$a5,$23,$aa // .#.Uj..%.V.X..#.
        .byte $95,$aa,$e5,$02,$23,$aa,$55,$6a,$e5,$60,$23,$82,$89,$89,$e5,$09 // ....#.Uj.`#.....
        .byte $23,$aa,$55,$a5,$e3,$09,$23,$a5,$56,$0a,$e6,$89,$24,$09,$aa,$55 // #.U...#.V...$..U
        .byte $aa,$e3,$80,$25,$aa,$55,$a0,$58,$58,$e3,$98,$25,$58,$60,$2a,$95 // ...%.U.XX..%X`*.
        .byte $96,$e5,$98,$23,$aa,$55,$a5,$e5,$09,$23,$aa,$55,$6a,$e5,$80,$23 // ...#.U...#.Uj..#
        .byte $a0,$58,$58,$e5,$98,$23,$aa,$95,$9a,$e5,$98,$23,$aa,$55,$6a,$e3 // .XX..#.....#.Uj.
        .byte $80,$25,$6a,$55,$a8,$58,$a8,$a3,$23,$a0,$58,$9a,$e6,$98,$22,$a8 // .%jU.X..#.X...".
        .byte $aa,$a7,$e7,$09,$22,$02,$aa,$e3,$80,$24,$6a // ...."....$j

txt_fb0b:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $a4,$24,$a8                           // .$.

txt_fb11:
        .text "XX"
        .byte $a8                                   // '(' | $80 (end-of-string marker)
        .byte $e8,$02,$e7,$60,$22,$a0,$a5,$e6,$09,$21,$0a,$e7,$89,$22,$8a,$aa // ...`"....!..."..
        .byte $e3,$80,$25,$aa                       // ..%.

txt_fb28:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $58,$e3,$98,$e3                       // X...

txt_fb2f:
        .text "X!"
        .byte $a0                                   // ' ' | $80 (end-of-string marker)
        .byte $e4,$98,$24,$96,$95,$95,$2a,$e4,$09,$24,$a5 // ..$...*..$.

txt_fb3d:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $e7,$89,$21,$0a,$e8,$80,$e7,$98,$21,$a8,$e4,$98,$25,$9a,$95,$95 // ..!.....!...%...
        .byte $aa,$82,$e3,$80,$25,$8a,$89,$89,$0a,$aa,$a3,$60,$3c,$aa // ....%......`<.

txt_fb5e:
        .text "UU"
        .byte $aa                                   // '*' | $80 (end-of-string marker)
        .byte $74,$71,$6e,$6c,$6a,$67,$65,$62,$60,$5e,$5b // tqnljgeb`^[

txt_fb6c:
        .text "YWURPNLJGECA?=;986420/-,*)'&$#"
        .byte $22                                   // double quote character
        .text "!"
        .byte $1f,$1e,$1d,$1c,$1b,$1a,$1a,$19,$18,$17,$17,$16,$16,$e3,$15,$e8 // ................
        .byte $14,$e4,$15,$60,$71,$16,$16,$17,$18,$18,$19,$1a,$1b,$1c,$1d,$1e // ...`q...........
        .byte $1f                                   // .

txt_fbad:
        .text " !"
        .byte $22                                   // double quote character
        .text "#%&')*,./13468:<>"
        .byte $40                                   // @ character
        .text "BDFHJLNQSUWZ"
        .byte $5c                                   // backslash character
        .byte $5e,$61,$63,$65,$68,$6a,$6d,$6f,$71,$74,$76,$79,$7b,$7d,$80,$82 // ^acehjmoqtvy{}..
        .byte $84,$87,$89,$8c,$8e,$90,$92,$95,$97,$99,$9b,$9e,$a0,$a2,$a4,$a6 // ................
        .byte $a8,$aa,$ac,$ae,$b0,$b2,$b4,$b6,$b8,$b9,$bb,$bd,$be,$c0,$c1,$c3 // ................
        .byte $c4,$c6,$c7,$c8,$ca,$cb,$cc,$cd,$ce,$cf,$d0,$d1,$d2,$d2,$d3,$d4 // ................
        .byte $d4,$d5,$d5,$e3,$d6,$e8,$d7,$e3,$d6,$61,$2a,$d5,$d5,$d4,$d4,$d3 // .........a*.....
        .byte $d3,$d2,$d1,$d0,$cf,$ce,$cd,$cc,$cb,$ca,$c9,$c7,$c6,$c5,$c3,$c2 // ................
        .byte $c0,$bf,$bd,$bb,$ba,$b8,$b6,$b4,$b2,$b1,$af,$ad,$ab,$a9,$a7,$a5 // ................
        .byte $a2,$a0,$9e,$9c,$9a,$97,$95,$93,$91,$8e,$8c,$8a,$87,$85,$83,$80 // ................
        .byte $7e,$7b,$79,$77,$75,$01,$02,$03,$04,$05,$06,$07,$08,$04,$05,$01 // ~{ywu...........
        .byte $09,$0a,$0b,$0c,$0d,$0e,$03,$0f,$10,$11,$0e,$03,$12,$13,$00,$01 // ................
        .byte $02,$03,$04,$05,$06,$07,$08,$04,$05,$01,$09,$0a,$0b,$0c,$0d,$0e // ................
        .byte $03,$0f,$10,$11,$0e,$03,$12,$13,$00,$01,$02,$03,$04,$05,$06,$07 // ................
        .byte $08,$04,$05,$01,$09,$0a,$0b,$0c,$0d,$0e,$03,$0f,$10,$11,$0e,$03 // ................
        .byte $12,$13,$00,$01,$02,$03,$04,$05,$06,$07,$08,$04,$05,$01,$09,$0a // ................
        .byte $0b,$0c,$0d,$0e,$03,$0f,$10,$11,$0e,$03,$12,$13,$00,$01,$02,$03 // ................
        .byte $04,$05,$06,$07,$08,$04,$05,$01,$09,$0a,$0b,$0c,$0d,$14,$15,$16 // ................
        .byte $17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d,$1e,$1f // .............

txt_fcdc:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ "

// --- Region $fcf4-$fd14 ---
.pc = $fcf4 "Segment $fcf4"
        .byte $1e,$1f                               // ..

txt_fcf6:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ %&"
        .byte $1e,$00,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d // ................
        .byte $1e,$1f                               // ..

txt_fd10:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$"

// --- Region $fd28-$fda2 ---
.pc = $fd28 "Segment $fd28"
        .byte $1e,$1f                               // ..

txt_fd2a:
        .text " !"
        .byte $22                                   // double quote character
        .text "#$ %&"
        .byte $1e,$00,$14,$15,$16,$17,$18,$19,$1a,$16,$17,$18,$14,$1b,$1c,$1d // ................
        .byte $1e,$1f,$ed,$20,$2c,$01,$06,$14,$05,$12,$0d,$01,$14,$08,$20,$2b // ... ,......... +
        .byte $32,$f0,$20,$61,$2c,$18,$e5,$a9,$08,$20,$d2,$ff,$a2,$00,$8e,$20 // 2. a,.... ..... 
        .byte $d0,$8e,$00,$08,$8e,$01,$08,$8e,$02,$08,$a9,$20,$9d,$f8,$06,$a9 // ........... ....
        .byte $00,$9d,$f8,$da,$9d,$00,$04,$9d,$00,$05,$9d,$f8,$05,$e8,$d0,$ea // ................
        .byte $bd,$28,$0b,$18,$69,$80,$9d,$48,$07,$a9,$a0,$9d,$f8,$06,$e8,$e0 // .(..i..H........
        .byte $28,$d0,$ed,$78,$a9,$1b,$8d,$11,$d0,$a9,$f1,$8d,$1a,$d0,$a9,$00 // (..x............
        .byte $8d                                   // .

// --- Region $fe5d-$fe6f ---
.pc = $fe5d "dat_fe5d"

dat_fe5d:
        .byte $a9,$04,$8d,$88,$0c,$8d,$8e,$0c,$a9,$00,$8d,$87,$0c,$a9,$28,$8d // ..............(.
        .byte $8d,$0c,$a0                           // ...

// --- Region $fe71-$fe85 ---
.pc = $fe71 "dat_fe71"

dat_fe71:
        .byte $b9,$59,$0d,$18,$69,$02,$09,$80,$99,$59,$0d,$aa,$bd,$38,$09,$99 // .Y..i....Y...8..
        .byte $51,$0d,$e3,$4a,$60                   // Q..J`

// --- Region $fec6-$ff02 ---
.pc = $fec6 "Segment $fec6"
        .byte $78,$f0,$68,$e0,$58,$d0,$48,$e3,$04,$31,$05,$05,$06,$06,$07,$28 // x.h.X.H..1.....(
        .byte $a0,$18,$90,$08,$80,$f8,$70,$04,$04,$05,$05,$e3,$06,$3b,$07,$0b // ......p......;..
        .byte $0c,$0f,$07,$0d,$01,$0d,$07,$0f,$0c,$0b,$00,$08,$0a,$0f,$07,$0d // ................
        .byte $01,$0d,$07,$0f,$0a,$08,$00,$0b,$0a,$e6,$0b,$60,$47 // ...........`G

// --- Region $ff56-$ff89 ---
.pc = $ff56 "Segment $ff56"
        .byte $3e,$f8,$f0,$e8,$e0,$d8,$d0,$c8,$20,$10,$12,$05,$13,$05,$0e,$14 // >....... .......
        .byte $13,$20,$ee,$6f,$0d,$a2,$40,$bd,$38,$09,$8d,$0e,$0c,$49,$ff,$e3 // . .o..@.8....I..
        .byte $4a,$60,$85,$a8,$a2,$00,$bd,$61,$0d,$18,$69,$80,$99,$f6,$06,$c8 // J`.....a..i.....
        .byte $e8,$e0,$0a,$d0                       // ....
