mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
SD Card Speed Improvement for FZ80
- Removed wait routines for FZ80 in SD driver. Latest FPGA code does not require them. - Minor improvements to disk layout documentation.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user