diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 76cb0f10..fce91f38 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 e59af822..64e75084 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 17f40fa7..1fc7b2aa 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 cfe44890..19f53a3d 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 2e53dfbd..c920585e 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/Source/Doc/SystemGuide.md b/Source/Doc/SystemGuide.md index 6c5e1246..018683c9 100644 --- a/Source/Doc/SystemGuide.md +++ b/Source/Doc/SystemGuide.md @@ -265,9 +265,24 @@ hence the name "Common". # Disk Layout -RomWBW supports and automatically detects 2 different disk layouts -known as Modern (hd1k) and Classic (hd512). Specifics of these two -variants are described in separate sections below. +RomWBW supports two hard disk layouts: the Classic layout used by +RomWBW with 512 directory entries per slice and a Modern layout with +1024 directory entries per slice. These layouts are referred to as +hd512 and hd1k respectively. + +WARNING: You **can not** mix the two hard disk layouts on one hard +disk device. You can use different layouts on different hard disk +devices in a single system though. + +RomWBW determines which of the hard disk layouts to use for a given +hard disk device based on whether there is a RomWBW hard disk +partition on the disk containing the slices. If there is no RomWBW +partition, then RomWBW will assume the 512 directory entry format for +all slices and will assume the slices start at the first sector of +the hard disk. If there is a RomWBW partition on the hard disk +device, then RomWBW will assume the 1024 directory entry format for +all slices and will assume the slices are located in the defined +partition. RomWBW supports up to 256 CP/M slices (0-255). Under hd512, the slices begin at the start of the hard disk. Under hd1k, the slices reside @@ -282,8 +297,10 @@ geometry for operating systems: - Cylinder = 16 Tracks (256 Sectors per Cylinder, 128KB per Cylinder) If one is used, the FAT Partition must not overlap the CP/M slices. -In the case of hd1k, the CP/M slices are within partition 0x2E and the -FAT partition must not start after the last CP/M slice, but does not need to start immediately after it nor does it need to extend to the end of the hard disk. +The FAT partition does not need to start immediately after the CP/M +slices nor does it need to extend to the end of the hard disk. Its +location and size are entirely determined by its corresponding +partition table entry. Drive letters in CP/M are ASSIGNed to the numbered slices as desired. At boot, RomWBW automatically assigns up to 8 slices to drive letters diff --git a/Source/HBIOS/sd.asm b/Source/HBIOS/sd.asm index 5d38e297..aa04b885 100644 --- a/Source/HBIOS/sd.asm +++ b/Source/HBIOS/sd.asm @@ -2052,7 +2052,7 @@ SD_DESELECT: #ENDIF ; #IF (SDMODE == SDMODE_FZ80) - CALL SD_WAITBSY + ;;;CALL SD_WAITBSY #ENDIF ; LD A,(SD_OPRVAL) @@ -2188,7 +2188,7 @@ SD_PUT1: #ENDIF ; #IF (SDMODE == SDMODE_FZ80) - CALL SD_WAITBSY ; WAIT FOR PENDING ACTIVITY + ;;;CALL SD_WAITBSY ; WAIT FOR PENDING ACTIVITY OUT (SD_DATA),A ; POST THE VALUE OUT (SD_ACTION),A ; INITIATE THE WRITE ;;;CALL PC_SPACE ; *DEBUG* @@ -2299,13 +2299,10 @@ SD_GET1: #ENDIF ; #IF (SDMODE == SDMODE_FZ80) - CALL SD_WAITBSY ; WAIT FOR PENDING ACTIVITY + ;;;CALL SD_WAITBSY ; WAIT FOR PENDING ACTIVITY IN A,(SD_ACTION) ; INITIATE READ - CALL SD_WAITBSY ; WAIT FOR DONE + ;;;CALL SD_WAITBSY ; WAIT FOR DONE IN A,(SD_DATA) ; GET THE VALUE - ;;;CALL PC_SPACE ; *DEBUG* - ;;;CALL PC_LT ; *DEBUG* - ;;;CALL PRTHEXBYTE ; *DEBUG* #ENDIF RET ; diff --git a/Source/ver.inc b/Source/ver.inc index 68d08681..8a60457c 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 5 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.5.0-dev.64" +#DEFINE BIOSVER "3.5.0-dev.65" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index c4232719..959577f0 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 5 rup equ 0 rtp equ 0 biosver macro - db "3.5.0-dev.64" + db "3.5.0-dev.65" endm