summaryrefslogtreecommitdiff
path: root/memdisk/mstructs.h
diff options
context:
space:
mode:
Diffstat (limited to 'memdisk/mstructs.h')
-rw-r--r--memdisk/mstructs.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/memdisk/mstructs.h b/memdisk/mstructs.h
index b5f37225..47dffe95 100644
--- a/memdisk/mstructs.h
+++ b/memdisk/mstructs.h
@@ -110,6 +110,39 @@ struct mBFT {
struct mdi mdi;
} MEMDISK_PACKED_POSTFIX;
+/* The Disk Parameter Table may be required */
+typedef union {
+ struct hd_dpt {
+ uint16_t max_cyl; /* Max cylinder */
+ uint8_t max_head; /* Max head */
+ uint8_t junk1[5]; /* Obsolete junk, leave at zero */
+ uint8_t ctrl; /* Control byte */
+ uint8_t junk2[7]; /* More obsolete junk */
+ } hd;
+ struct fd_dpt {
+ uint8_t specify1; /* "First specify byte" */
+ uint8_t specify2; /* "Second specify byte" */
+ uint8_t delay; /* Delay until motor turn off */
+ uint8_t sectors; /* Sectors/track */
+
+ uint8_t bps; /* Bytes/sector (02h = 512) */
+ uint8_t isgap; /* Length of intersector gap */
+ uint8_t dlen; /* Data length (0FFh) */
+ uint8_t fgap; /* Formatting gap */
+
+ uint8_t ffill; /* Format fill byte */
+ uint8_t settle; /* Head settle time (ms) */
+ uint8_t mstart; /* Motor start time */
+ uint8_t maxtrack; /* Maximum track number */
+
+ uint8_t rate; /* Data transfer rate */
+ uint8_t cmos; /* CMOS type */
+ uint8_t pad[2];
+
+ uint32_t old_fd_dpt; /* Extension: pointer to old INT 1Eh */
+ } fd;
+} dpt_t;
+
MEMDISK_PACKED_PREFIX
struct patch_area {
struct mdi mdi;