From 5c21bd0790d4b61ef7a13161574b8f279e925be0 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sat, 17 Jul 2021 23:46:07 -0400 Subject: [PATCH] it assembles... --- loader.aii | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/loader.aii b/loader.aii index 1af24ea..1e22cd4 100644 --- a/loader.aii +++ b/loader.aii @@ -471,6 +471,70 @@ vector dc.w $ffff endp +read_file_block proc +; a = block # + + with data,HFSExtentDescriptor + +@0 + cmp file_extents+0+blockCount + bcs @1 +; clc + adc file_extents+0+startBlock + bra read_block + +@1 sbc file_extents+0+blockCount + cmp file_extents+4+blockCount + bcs @2 +; clc + adc file_extents+4+startBlock + bra read_block + +@2 sbc file_extents+4+blockCount + cmp file_extents+8+blockCount + bcs @3 + adc file_extents+8+startBlock + bra read_block + +@3 + lda #outOfRange ; too big + sec + rts + + endp + +read_cat_block proc +; a = block # + + with data,HFSExtentDescriptor + +@0 + cmp cat_extents+0+blockCount + bcs @1 +; clc + adc cat_extents+0+startBlock + bra read_block + +@1 sbc cat_extents+0+blockCount + cmp cat_extents+4+blockCount + bcs @2 +; clc + adc cat_extents+4+startBlock + bra read_block + +@2 sbc cat_extents+4+blockCount + cmp cat_extents+8+blockCount + bcs @3 + adc cat_extents+8+startBlock + bra read_block + +@3 + lda #outOfRange ; too big + sec + rts + + endp +