// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:35:50
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0700  End: $d011  (51474 bytes)
// Crunched with Exomizer — depacked by emulation
// Packer entry: $082a (via BASIC SYS 2090)
// Entry point:  $0acd (2765)
// IRQ handler:  $0984 (irq_0984)
// IRQ handler:  $ea31 (loc_ea31)
//
// Code: 303 bytes, Data: 51171 bytes
// Labels: 87, Subroutines: 5
//
// Cross-references: all OK
// ============================================


// --- Region $0900-$098c ---
.pc = $0900 "sub_0900"
// Referenced by: jsr from $0b09

sub_0900:
        sei
        ldx #$00
        stx $dc0e
        inx
        stx $d01a
        lda #$00
        sta $d012
        lda #$84
        sta $0314
        lda #$09
        sta $0315
        cli
        rts
// Referenced by: jsr from $0984

sub_091b:
        ldx #$00

loc_091d:
        lda $d012
        cmp chr_098d,x
        bne loc_091d
        lda $0996,x
        sta $d016
        lda $099f,x
        jsr sub_09a8
        inx
        cpx #$09
        bne loc_091d
// Referenced by: jsr from $0987

sub_0936:
        dec $099a
        lda $099a
        cmp #$ff
        bne loc_094d
        lda #$07
        sta $099a
        jsr sub_0950
        lda #$01
        sta $d019

loc_094d:
        rts

chr_094e:
        // === Charset data (2 bytes, $094e-$094f) ===
        .byte $00,$00                               // char 0 (partial)
// Referenced by: jsr from $0945

sub_0950:
        ldx #$00
.label smc_0953 = * + 1
.label smc_0954 = * + 2
        lda scr_0b19                                // !SMC: modified by $097b, $0980
        sta $05df
        ldx #$00

loc_095a:
        lda $05b9,x
        sta $05b8,x
        inx
        cpx #$28
        bne loc_095a
        inc smc_0953
        lda smc_0953
        cmp #$00
        bne loc_0972
        inc smc_0954

loc_0972:
        lda $05de
        cmp #$21
        bne loc_0983
        lda #$19
        sta smc_0953                                // SMC: modifies $0953
        lda #$0b
        sta smc_0954                                // SMC: modifies $0954

loc_0983:
        rts

irq_0984:
        jsr sub_091b
        jsr sub_0936
        jmp $ea31

// --- Region $09a8-$09bc ---
.pc = $09a8 "sub_09a8"
// Referenced by: jsr from $092e

sub_09a8:
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        sta $d021
        sta $d020
        rts

// --- Region $0acd-$0b19 ---
.pc = $0acd "main_0acd"

main_0acd:
        jsr $ff81
        lda #$02
        ldx #$00

loc_0ad4:
        sta $d800,x
        sta $d900,x
        sta $da00,x
        sta $db00,x
        dex
        bne loc_0ad4
        ldx #$00

loc_0ae5:
        lda chr_09bd,x
        sta $0404,x
        sta $0684,x
        dex
        bne loc_0ae5
        ldx #$0f

loc_0af3:
        lda $0abd,x
        sta $0504,x
        sta $0784,x
        dex
        bne loc_0af3
        lda #$09
        ldx #$88

loc_0b03:
        sta $d9a0,x
        dex
        bne loc_0b03
        jsr sub_0900

loc_0b0c:
        jsr $ffe4
        cmp #$00
        bne loc_0b16
        jmp loc_0b0c

loc_0b16:
        jmp loc_1000

scr_0b19:
        // === Charset data (1 bytes, $0b19-$0b19) ===
        .byte $20                                   // char 0 (partial)

// --- Region $1000-$1042 ---
.pc = $1000 "loc_1000"

loc_1000:
        sei
        lda #$31
        ldy #$ea
        sta $0314
        sty $0315
        lda #$00
        sta $d019
        sta $d01a
        jsr $fda3
        lda $d016
        and #$f0
        ora #$08
        sta $d016
        lda #$93
        jsr $ffd2
        ldx #$00

loc_1027:
        lda scr_1042,x
        sta $0400,x
        lda #$00
        sta $d800,x
        inx
        bne loc_1027
        lda #$15
        sta $d018
        lda #$00
        sta $d015
        jmp $0400

scr_1042:
        // === VIC register table (1 bytes, $1042-$1042) ===
        .byte $78                                   // x

// --- Region $60d0-$60d0 ---
.pc = $60d0 "Segment $60d0"
        brk

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

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

chr_0800:
        // === Charset data (1 bytes, $0800-$0800) ===
        .byte $00                                   // char 0 (partial)

// --- Region $098d-$09a7 ---
.pc = $098d "chr_098d"

chr_098d:
        // === Charset data (27 bytes, $098d-$09a7) ===
        .byte $40,$80,$82,$84,$86,$96,$98,$9a       // char 0 @+0
        .byte $9c,$28,$28,$28,$28,$07,$28,$28       // char 1 @+1
        .byte $28,$28,$00,$06,$0e,$03,$0d,$03       // char 2 @+2
        .byte $0e,$06,$00                           // char 3 (partial)

// --- Region $09bd-$0acc ---
.pc = $09bd "chr_09bd"

chr_09bd:
        // === Charset data (272 bytes, $09bd-$0acc) ===
        .byte $cc                                   // char 0 (partial)

txt_09be:
        .byte $20,$20,$20,$20,$cc,$cc               // char 0 (partial)

txt_09c4:
        .byte $20                                   // char 0 (partial)
        .byte $20,$cc,$cc                           // char 1 (partial)

txt_09c8:
        .byte $20,$20,$cc,$cc                       // char 1 (partial)

txt_09cc:
        .byte $20                                   // char 1 (partial)
        .byte $20,$20,$20,$20,$20,$cc,$cc,$cc       // char 2 @+2
        .byte $cc                                   // char 3 (partial)

txt_09d6:
        .byte $20,$20,$20,$20,$cc                   // char 3 (partial)

txt_09db:
        .byte $20,$20                               // char 3 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 4 @+4
        .byte $cc                                   // char 5 (partial)

txt_09e6:
        .byte $20,$20,$20,$20,$cc,$cc,$20           // char 5 (partial)
        .byte $cc,$cc                               // char 6 (partial)

txt_09ef:
        .byte $20,$20,$20,$cc,$cc,$cc               // char 6 (partial)

txt_09f5:
        .byte $20,$20,$20,$20,$20,$cc,$cc,$20       // char 7 @+7
        .byte $cc,$cc                               // char 8 (partial)

txt_09ff:
        .byte $20,$20,$20,$cc                       // char 8 (partial)

txt_0a03:
        .byte $20,$20                               // char 8 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 9 @+9
        .byte $cc,$cc                               // char 10 (partial)

txt_0a0f:
        .byte $20,$20,$20,$cc,$cc,$cc               // char 10 (partial)
        .byte $cc                                   // char 11 (partial)

txt_0a16:
        .byte $20,$20,$20,$20,$cc,$cc,$cc           // char 11 (partial)
        .byte $cc                                   // char 12 (partial)

txt_0a1e:
        .byte $20,$20,$20,$20,$cc,$cc               // char 12 (partial)

txt_0a24:
        .byte $20                                   // char 12 (partial)
        .byte $20,$cc,$cc                           // char 13 (partial)

txt_0a28:
        .byte $20,$20,$cc,$cc                       // char 13 (partial)

txt_0a2c:
        .byte $20                                   // char 13 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 14 @+14
        .byte $cc,$cc                               // char 15 (partial)

txt_0a37:
        .byte $20,$20,$20,$cc,$cc,$cc               // char 15 (partial)

txt_0a3d:
        .byte $20,$20,$20,$20,$20,$cc,$cc,$20       // char 16 @+16
        .byte $cc,$cc                               // char 17 (partial)

txt_0a47:
        .byte $20,$20,$20,$cc,$cc,$cc               // char 17 (partial)
        .byte $cc,$cc                               // char 18 (partial)

txt_0a4f:
        .byte $20,$20,$20,$cc,$cc                   // char 18 (partial)

txt_0a54:
        .byte $20                                   // char 18 (partial)
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 19 @+19
        .byte $cc,$cc,$cc                           // char 20 (partial)

txt_0a60:
        .byte $20,$20,$cc,$cc,$cc                   // char 20 (partial)
        .byte $cc                                   // char 21 (partial)

txt_0a66:
        .byte $20,$20,$20,$20,$cc,$cc,$cc           // char 21 (partial)
        .byte $cc,$cc,$cc                           // char 22 (partial)

txt_0a70:
        .byte $20,$20,$cc,$cc,$cc                   // char 22 (partial)
        .byte $cc                                   // char 23 (partial)

txt_0a76:
        .byte $20,$20,$20,$20,$cc,$cc,$cc           // char 23 (partial)

txt_0a7d:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 24 @+24
        .byte $cc,$cc,$cc                           // char 25 (partial)

txt_0a88:
        .byte $20,$20,$cc,$cc,$20                   // char 25 (partial)
        .byte $cc,$cc,$cc                           // char 26 (partial)

txt_0a90:
        .byte $20,$20,$cc,$cc                       // char 26 (partial)

txt_0a94:
        .byte $20                                   // char 26 (partial)
        .byte $20,$20,$cc,$cc,$20,$cc,$cc,$20       // char 27 @+27
        .byte $cc,$cc                               // char 28 (partial)

txt_0a9f:
        .byte $20,$20,$20,$cc,$cc,$cc               // char 28 (partial)

txt_0aa5:
        .byte $20,$20,$20,$20,$20,$20,$20,$20       // char 29 @+29
        .byte $cc,$cc,$cc                           // char 30 (partial)

txt_0ab0:
        .byte $20,$20,$cc,$cc                       // char 30 (partial)

txt_0ab4:
        .byte $20                                   // char 30 (partial)
        .byte $20,$20,$cc,$cc,$20,$cc,$cc           // char 31 (partial)

txt_0abc:
        .byte $20                                   // char 31 (partial)
        .byte $20,$20,$20,$cc,$20,$cc,$cc           // char 32 (partial)

txt_0ac4:
        .byte $20                                   // char 32 (partial)
        .byte $20,$20,$cc,$cc,$20,$cc,$cc,$cc       // char 33 '!'

// --- Region $0b1a-$0c00 ---
.pc = $0b1a "Program $0b1a"
        .byte $20,$20,$20,$20,$20,$20,$20           // char 0 (partial)
        .byte $20,$20,$20,$01,$12,$03,$01,$04       // char 1 @+1
        .byte $05,$20,$03,$0c,$01,$13,$13,$09       // char 2 @+2
        .byte $03,$13,$20,$17,$01,$13,$20,$03       // char 3 @+3
        .byte $12,$01,$03,$0b,$05,$04,$20,$02       // char 4 @+4
        .byte $19,$20,$0e,$09,$0b,$20,$0f,$06       // char 5 @+5
        .byte $20,$09,$0b,$01,$12,$09,$20,$0f       // char 6 @+6
        .byte $0e                                   // char 7 (partial)

txt_0b52:
        .byte $20,$31,$37,$2f,$30,$39,$2f           // char 7 (partial)
        .byte $38,$37,$20,$20,$20,$20,$20,$20       // char 8 @+8
        .byte $20,$20,$20,$07,$12,$05,$05,$14       // char 9 @+9
        .byte $13,$20,$14,$0f,$3a,$20,$20,$12       // char 10 @+10
        .byte $05,$0c,$01,$18,$2c,$01,$06,$0c       // char 11 @+11
        .byte $2c,$03,$06,$12,$2c,$03,$03,$14       // char 12 @+12
        .byte $2c,$14,$04,$02,$2c,$01,$03,$03       // char 13 @+13
        .byte $2c,$14,$07,$09,$2c,$14,$08,$13       // char 14 @+14
        .byte $2c,$08,$0f,$14,$0c,$09,$0e,$05       // char 15 @+15
        .byte $2c,$19,$15,$0c,$0b,$2c,$04,$07       // char 16 @+16
        .byte $13,$2c,$05,$18,$09,$0c,$05,$2c       // char 17 @+17
        .byte $04,$0f,$0d,$09,$0e,$01,$14,$0f       // char 18 @+18
        .byte $12,$13,$2c,$14,$09,$08,$2c,$12       // char 19 @+19
        .byte $01,$04,$17,$01,$12,$2c,$17,$05       // char 20 @+20
        .byte $02,$2c,$14,$0e,$0d                   // char 21 (partial)

txt_0bc6:
        .byte $20,$20,$20                           // char 21 (partial)
        .byte $20,$20,$20,$20,$03,$01,$0c,$0c       // char 22 @+22
        .byte $20,$28,$05,$0e,$07                   // char 23 (partial)

txt_0bd6:
        .byte $29,$20,$32                           // char 23 (partial)
        .byte $37,$33,$35,$36,$31,$39,$31,$37       // char 24 @+24
        .byte $21,$1e,$1e,$9d,$00,$09,$e8,$d1       // char 25 @+25
        .byte $03,$ee,$10,$01,$a5,$fc,$05,$fd       // char 26 @+26
        .byte $d0,$e5,$86,$2d,$ad,$10,$01,$95       // char 27 @+27
        .byte $1f,$9d,$14,$9d,$1d,$1d,$1d           // char 28 (partial)

scr_0c00:
        // === Screen RAM (1 bytes, $0c00-$0c00) ===
        .encoding "screencode_mixed"
        .text "@"
        .encoding "petscii_upper"

// --- Region $1043-$1070 ---
.pc = $1043 "Segment $1043"
        .byte $a9,$34,$85,$01,$a2,$00,$bd,$70,$10,$9d,$01,$08,$8d,$20,$d0,$e8 // .4.....p..... ..
        .byte $d0,$f4,$ee,$0c,$04,$ee,$09,$04,$d0,$ea,$a9,$37,$85,$01,$58,$ea // ...........7..X.
        .byte $ea,$ea,$ea,$ea,$ea,$ea,$ea,$4c,$e2,$fc,$4c,$ae,$a7 // .......L..L..

dat_1070:
        .byte $00                                   // .

// --- Region $1400-$1400 ---
.pc = $1400 "scr_1400"

scr_1400:
        .byte $00                                   // .

// --- Region $1800-$1800 ---
.pc = $1800 "chr_1800"

chr_1800:
        .byte $00                                   // .

// --- Region $1c00-$1c00 ---
.pc = $1c00 "scr_1c00"

scr_1c00:
        .byte $00                                   // .

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

scr_2000:
        .byte $00                                   // .

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

scr_2400:
        .byte $00                                   // .

// --- Region $2540-$2540 ---
.pc = $2540 "spr_2540"

spr_2540:
        .byte $00                                   // .

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

spr_2740:
        .byte $00                                   // .

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

chr_2800:
        .byte $00                                   // .

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

scr_2c00:
        .byte $00                                   // .

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

chr_3000:
        .byte $00                                   // .

// --- Region $3400-$3400 ---
.pc = $3400 "scr_3400"

scr_3400:
        .byte $00                                   // .

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

chr_3800:
        .byte $00                                   // .

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

scr_3c00:
        .byte $00                                   // .

// --- Region $60d1-$60d1 ---
.pc = $60d1 "dat_60d1"

dat_60d1:
        // === Fill data (1 bytes, $60d1-$60d1) ===
        .byte $00                                   // .
