From bf313e7c43cbd28ff6dda511fde70e7c121195ee Mon Sep 17 00:00:00 2001 From: b1ackmai1er Date: Fri, 11 Dec 2020 20:21:45 +0800 Subject: [PATCH] Update Architecture.md Can you please check and confirm that upper 32k limitation has now been removed. I think the limitation is that you cant/shouldnt cross a boundary. Sorry if I'm wrong on that. --- Source/Doc/Architecture.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Source/Doc/Architecture.md b/Source/Doc/Architecture.md index cad546bd..017363cc 100644 --- a/Source/Doc/Architecture.md +++ b/Source/Doc/Architecture.md @@ -587,7 +587,7 @@ _Id_ | _Device Type / Driver_ Disk Input/Output (DIO) ----------------------- -Character input/output functions require that a character unit be specified +Disk input/output functions require that a disk unit be specified in the C register. This is the logical disk unit number assigned during the boot process that identifies all disk i/o devices uniquely. @@ -613,11 +613,12 @@ MID\_HDNEW | 10 | Hard Disk with 1024 Directory entries | _Entry Parameters_ | B: 0x10 +| C: Disk Device Unit ID | _Exit Results_ | A: Status (0=OK, else error) -### Function 0x11 -- Disk Status (DIORESET) +### Function 0x11 -- Disk Reset (DIORESET) | _Entry Parameters_ | B: 0x11 @@ -668,6 +669,7 @@ determine if the device supports LBA addressing. | _Entry Parameters_ | B: 0x13 | C: Disk Device Unit ID +| D: Bank ID | E: Block Count | HL: Buffer Address @@ -683,14 +685,14 @@ read. On error, current sector is sector where error occurred. Blocks read indicates number of sectors successfully read. Caller must ensure: 1) buffer address is large enough to contain data for -all sectors requested, and 2) entire buffer area resides in upper 32K of -memory. +all sectors requested, and 2) does not cross a 32k memory bank boundary. ### Function 0x14 -- Disk Write (DIOWRITE) | _Entry Parameters_ | B: 0x14 | C: Disk Device Unit ID +| D: Bank ID | E: Block Count | HL: Buffer Address @@ -705,9 +707,7 @@ function. Current sector is incremented after each sector successfully written. On error, current sector is sector where error occurred. Blocks written indicates number of sectors successfully written. -Caller must ensure: 1) buffer address is large enough to contain data for -all sectors being written, and 2) entire buffer area resides in upper 32K -of memory. +Caller must ensure the source buffer does not cross a 32k memory bank boundary. ### Function 0x15 -- Disk Verify (DIOVERIFY)