From 1eaaf3c9311966b40e619f80da2f98cb039073d9 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Thu, 13 Aug 2015 14:04:03 -0400 Subject: [PATCH] read a data block --- device.aii | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/device.aii b/device.aii index 097394d..0d15ce9 100644 --- a/device.aii +++ b/device.aii @@ -34,5 +34,41 @@ device_write proc export bra device_rw endp + + ; + ; inputs: a = block number. (1024 blocks) + ; + ; +read_data_block proc export + with dev_parms + ; reads a data block. + ; block 0 -> all zeros (sparse support) + + cmp #0 + bne read_it + + ; a = 0! + ldy #1024-2 +loop + sta [dev_buff],y + dey + dey + bpl loop + + clc + rts + +read_it + sta dev_blk_num + stz dev_blk_num+2 + + lda #1024 + sta dev_blk_size + sta dev_req_cnt + stz dev_req_cnt+2 + + bra device_read + endp + end