// ============================================
// output - Disassembled Source
// ============================================
// KickAssembler syntax
// Generated by Restore 64 v0.2.1 alpha build 298, 2026-04-11 21:36:49
// https://restore64.dev by datucker / Rabenauge
//
// Load address: $0801  End: $0ef2  (1778 bytes)
// Entry point:  $0900 (via BASIC SYS 2304)
//
// Code: 325 bytes, Data: 1453 bytes
// Labels: 38, Subroutines: 2
//
// Cross-references: all OK
// ============================================


// --- Region $0828-$08cd ---
.pc = $0828 "loc_0828"

loc_0828:
        lda #$08
        ldx #$01
        sta $fe
        stx $fd
        lda #$0e
        ldx #$f3
        sta $fc
        stx $fb
        lda #$b2
        sta $ff
        lda $01
        and #$fe
        sta $01
        ldy #$00

loc_0844:
        lda ($fb),y
        sta ($fd),y
        dey
        bne loc_0844
        inc $fc
        inc $fe
        dec $ff
        bne loc_0844
        lda $01
        ora #$01
        sta $01
        jmp $fce2

dat_085c:
        .byte $00,$00,$00,$00                       // ....
// Referenced by: jsr from $08a5, $0900

sub_0860:
        ldy #$02
        lda #$00
        tax

loc_0865:
        sta $0c00,x
        dex
        bne loc_0865
        inc $0867
        dey
        bne loc_0865
        dec $0867
        dec $0867
        jsr $e544
        jmp loc_08c0

dat_087d:
        .byte $ea,$ea,$ea                           // ...

loc_0880:
        lda #$50
        sta $08ff

loc_0885:
        ldy $d02e
        ldx #$05

loc_088a:
        lda $d028,x
        sta $d029,x
        dex
        bne loc_088a
        sty $d029
        ldy #$40

loc_0898:
        ldx #$00

loc_089a:
        dex
        bne loc_089a
        dey
        bne loc_0898
        dec $08ff
        bne loc_0885
        jsr sub_0860
        ldx #$35

loc_08aa:
        lda $0827,x
        sta $033f,x
        dex
        bne loc_08aa
        lda #$00
        sta $d015
        sta $0286
        jmp $0340

dat_08be:
        .byte $00,$00                               // ..

loc_08c0:
        lda #$00
        sta $d015
        lda #$0f
        sta $d028
        sta $d027
        rts

// --- Region $0900-$09aa ---
.pc = $0900 "main_0900"

main_0900:
        jsr sub_0860
        lda #$00
        sta $d020
        sta $d021
        sta $d01d
        lda #$ff
        sta $d015
        sta $d017
        ldx #$10

loc_0918:
        lda $09ef,x
        sta $cfff,x
        dex
        bne loc_0918
        ldx #$06
        ldy #$08

loc_0925:
        tya
        sta $d028,x
        dey
        dex
        bne loc_0925
        ldy #$37
        ldx #$08

loc_0931:
        tya
        sta $07f7,x
        dey
        dex
        bne loc_0931
        lda #$00
        sta $fb
        lda #$0a
        sta $fc
        lda #$02
        sta $09ef
        ldy #$00

loc_0948:
        clc
        lda #$d1
        adc $fb
        sta $fb
        bcc loc_095d
        inc $fc
        lda #$0c
        cmp $fc
        bne loc_095d
        dec $fc
        dec $fc

loc_095d:
        lda ($fb,x)
        inc $fc
        inc $fc
        sta ($fb,x)
        dec $fc
        dec $fc
        jsr sub_0976
        dey
        bne loc_0948
        dec $09ef
        bne loc_0948
        beq loc_0986
// Referenced by: jsr from $0969

sub_0976:
        tya
        ldy #$08

loc_0979:
        ldx #$ff

loc_097b:
        dex
        bne loc_097b
        dey
        bne loc_0979
        tay
        rts

dat_0983:
        .byte $ea,$ea,$ea                           // ...

loc_0986:
        lda $09c0,y
        sta $06df,y
        lda #$01
        sta $dadf,y
        iny
        cpy #$08
        bne loc_0986
        ldy #$00

loc_0998:
        lda txt_09c8,y
        sta $0729,y
        lda #$01
        sta $db29,y
        iny
        cpy #$14
        bne loc_0998
        jmp loc_0880

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

// --- Region $0801-$0827 ---
.pc = $0801 "dat_0801"

dat_0801:
        // === BASIC loader stub ===
        .byte $1c,$08                               // next line pointer ($081c)
        .byte $c1,$07                               // line number 1985
        .byte $9e                                   // SYS token
        .text "2304(GAMELORD"               // SYS 2304 → main_0900
        .byte $00                                   // end of line
        .byte $00,$00                               // end of BASIC program
        .fill 10, $00

// --- Region $08ce-$08ce ---
.pc = $08ce "dat_08ce"

dat_08ce:
        // === Fill data (1 bytes, $08ce-$08ce) ===
        .byte $00                                   // .

// --- Region $09ab-$0bf8 ---
.pc = $09ab "dat_09ab"

dat_09ab:
        .fill 21, $ea
        .byte $10,$12,$05,$13,$05,$0e,$14,$13       // ........

txt_09c8:
        .text "    "
        .byte $0a,$0f,$15,$12,$0e,$05,$19,$20,$14,$03,$05 // ....... ...

txt_09d7:
        .text "         "
        .byte $00                                   // string terminator
        .fill 14, $00
        .byte $01,$98,$50,$b0,$50,$5c,$82,$78,$82,$94,$82,$b0,$82,$cc,$82,$ea // ..P.P\.x........
        .byte $82,$1f,$fc,$70,$1f,$fc,$70,$01,$c0,$70,$03,$80,$e0,$03,$80,$e0 // ...p..p..p......
        .byte $03,$80,$e0,$07,$01,$ff,$07,$01,$ff,$07,$01,$ff,$0e,$03,$81,$0e // ................
        .byte $03,$81,$0e,$03,$81,$1c,$07,$03,$1c,$07,$03,$1c,$07,$03,$00,$00 // ................
        .byte $00,$03,$19,$2f,$04,$25,$e8,$05,$bd,$2e,$04,$a5,$28,$03,$25,$2f // .../.%......(.%/
        .byte $fb,$38,$ff,$f0,$38,$ff,$f0,$38,$ff,$f0,$71,$c0,$00,$71,$c0,$00 // .8..8..8..q..q..
        .byte $71,$c0,$00,$e3,$fe,$00,$e3,$fe,$00,$e3,$fe,$00,$c7,$00,$00,$c7 // q...............
        .byte $00,$00,$c7,$00,$00,$8f,$ff,$00,$8f,$ff,$00,$8f,$ff,$00,$00,$00 // ................
        .byte $00                                   // .

txt_0a70:
        .text "C9"
        .byte $c0                                   // '@' | $80 (end-of-string marker)
        .byte $44,$a5                               // D.

txt_0a75:
        .text " D"
        .byte $b9                                   // '9' | $80 (end-of-string marker)

txt_0a78:
        .text " D"
        .byte $a9                                   // ')' | $80 (end-of-string marker)
        .byte $20,$73,$25,$c0,$fb,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$2a //  s%............*
        .byte $a0,$00,$7f,$d0,$00,$ff,$e8,$01,$ff,$f4,$03,$a0,$e8,$03,$a0,$e8 // ................
        .byte $03,$a0,$e8,$07,$55,$d0,$07,$ff,$d0,$07,$ff,$d0,$0f,$ff,$a0,$0e // ....U...........
        .byte $83,$a0,$0e,$83,$a0,$1d,$07,$40,$1d,$07,$40,$1d,$07,$40,$00,$00 // .......@..@..@..
        .byte $00,$00,$00,$00,$fb,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$a8 // ................
        .byte $28,$01,$f4,$74,$01,$f4,$74,$01,$f4,$74,$03,$ba,$e8,$03,$ba,$e8 // (..t..t..t......
        .byte $03,$ba,$e8,$07,$5d,$d0,$07,$5d,$d0,$07,$5d,$d0,$0e,$8f,$a0,$0e // ....]..]..].....
        .byte $8f,$a0,$0e,$8f,$a0,$1d,$07,$40,$1d,$07,$40,$1d,$07,$40,$00,$00 // .......@..@..@..
        .byte $00,$00,$00,$00,$fb,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$2a // ...............*
        .byte $a0,$00,$7f,$d0,$00,$ff,$e8,$01,$ff,$f4,$03,$a0,$e8,$03,$a0,$00 // ................
        .byte $03,$a0,$00,$07,$45,$50,$07,$4f,$d0,$07,$4f,$d0,$0e,$8f,$a0,$0e // ....EP.O..O.....
        .byte $83,$a0,$0e,$83,$a0,$1f,$ff,$40,$0f,$fe,$80,$07,$fd,$00,$00,$00 // .......@........
        .byte $00,$00,$00,$00,$fb,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$aa // ................
        .byte $a8,$01,$ff,$f4,$01,$ff,$f4,$01,$ff,$f4,$03,$a0,$00,$03,$a0,$00 // ................
        .byte $03,$a0,$00,$07,$fd,$00,$07,$fd,$00,$07,$fd,$00,$0e,$80,$00,$0e // ................
        .byte $80,$00,$0e,$80,$00,$1f,$ff,$40,$1f,$ff,$40,$1f,$ff,$40,$00,$00 // .......@..@..@..
        .byte $00,$00,$00,$00,$fb,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$a0 // ................
        .byte $00,$01,$d0,$00,$01,$d0,$00,$01,$d0,$00,$03,$a0,$00,$03,$a0,$00 // ................
        .byte $03,$a0,$00,$07,$40,$00,$07,$40,$00,$07,$40,$00,$0e,$80,$00,$0e // ....@..@..@.....
        .byte $80,$00,$0e,$80,$00,$1f,$ff,$40,$1f,$ff,$40,$1f,$ff,$40,$00,$00 // .......@..@..@..
        .byte $00,$00,$00,$00,$fb,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$0a // ................
        .byte $a0,$00,$7f,$d0,$00,$ff,$e8,$01,$ff,$f4,$03,$a0,$e8,$03,$a0,$00 // ................
        .byte $03,$aa,$80,$03,$ff,$40,$03,$ff,$a0,$01,$ff,$a0,$00,$03,$a0,$05 // .....@..........
        .byte $03,$a0,$0e,$83,$a0,$0f,$ff,$40,$0f,$fe,$80,$07,$fd // .......@.....

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

// --- Region $0ef1-$0ef2 ---
.pc = $0ef1 "dat_0ef1"

dat_0ef1:
        .byte $01,$08                               // ..
