diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index e03f4e0a..fb199cd5 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index 3f97fb4a..7e38334b 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf index e66bd0f4..2209d8e5 100644 Binary files a/Doc/RomWBW Errata.pdf and b/Doc/RomWBW Errata.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 96d70a7c..862fd8f3 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index 8f2cba7d..604f74b8 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index 615bd7b3..0a08366e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ **RomWBW ReadMe** \ Version 3.5 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -27 Aug 2024 +03 Sep 2024 # Overview diff --git a/ReadMe.txt b/ReadMe.txt index 0388635d..172dbca3 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW ReadMe Wayne Warthen (wwarthen@gmail.com) -27 Aug 2024 +03 Sep 2024 diff --git a/Source/Doc/SystemGuide.md b/Source/Doc/SystemGuide.md index 018683c9..cacd3439 100644 --- a/Source/Doc/SystemGuide.md +++ b/Source/Doc/SystemGuide.md @@ -847,12 +847,19 @@ more of the defined media types. | MID_FD111 | 9 | 8" 1.11M Floppy | | MID_HD1K | 10 | Hard Disk (LBA) w/ 1024 directory entries | +**NOTE**: HBIOS does not actually differentiate between MID_HD512 and +MID_HD1K. The use of these two formats is determined by the use of a +partition table on the media and is implemented by the operating +system itself. HBIOS treats all hard disks as raw sectors. See +[Function 0x18 -- Disk Media (DIOMEDIA)] for more information on the +Media ID byte returned. + HBIOS supports both Cylinder/Head/Sector (CHS) and Logical Block Addresses (CHS) when locating a sector for I/O (see DIOSEEK function). For devices that are natively CHS (e.g., floppy disk), the HBIOS driver can convert LBA values to CHS values according to the geometry of the current media. For devices that are natively LBA (e.g., hard disk), the - HBIOS driver simulates CHS using a fictitious geometry provided by the +HBIOS driver simulates CHS using a fictitious geometry provided by the driver (typically 16 sectors per track and 16 heads per cylinder). ### Function 0x10 -- Disk Status (DIOSTATUS) @@ -1065,6 +1072,12 @@ Report the Media ID (E) for the for media in the specified Disk Unit will be performed. The Status (A) is a standard HBIOS result code. If there is no media in device, function will return an error status. +**NOTE**: This function will always return MID_HD512 for hard disk +devices. MID_HD1K is provided for use internally by operating systems +that provide different filsystem formats depending on the partition +table. This function cannot be used to determine if an HD1K formatted +partition exists on the hard disk. + ### Function 0x19 -- Disk Define Media (DIODEFMED) | **Entry Parameters** | **Returned Values** | @@ -1098,7 +1111,7 @@ DIOMEDIA function to force this if desired. | **Entry Parameters** | **Returned Values** | |----------------------------------------|----------------------------------------| | B: 0x1B | A: Status | -| C: Disk Unit | D: Heads | +| C: Disk Unit | D: Heads / LBA | | | E: Sectors | | | HL: Cylinder Count | | | BC: Block Size | @@ -1108,7 +1121,11 @@ device uses LBA mode addressing natively, then the drivers simulated geometry will be returned. The Status (A) is a standard HBIOS result code. If the media is unknown, an error will be returned. -Heads (D) refers to the number of heads per cylinder. Sectors (E) +LBA capability is indicated by D:7. When set, the device is capable +of LBA addressing. Refer to [Function 0x12 -- Disk Seek (DIOSEEK)] +for more information on specifying LBA vs. CHS addresses. + +Heads (D:6-0) refers to the number of heads per cylinder. Sectors (E) refers to the number of sectors per track. Cylinder Count (HL) is the total number of cylinders addressable for the media. Block Size (BC) is the number of bytes in one sector.