[syslinux] [PATCH] memdisk: adjust order of DPT values in mstructs.h

Kenneth J. Davis jeremyd at fdos.org
Mon Oct 22 07:02:24 PDT 2012


This is a resubmission of my patch sent Jun 18, 2011 since it does not
seem it was accepted.  Please let me know if I am doing something
wrong in how I am submitting this patch.  Thank you.

The below patch will swap order of sectors/track with bytes/sector to
match diskette
parameter table order (as pointed to by INT 1Eh).

References: (additional ones available if necessary)
'System BIOS for IBM PC/XT/AT computers and compatibles' by Phoenix
Technologies Ltd. copyright 1987,88,89 3rd printing 1990 ISBN:
0-201-51806-6 pages 61-62
'PC Interrupts' 2nd edition by Ralf Brown & Jim Kyle copyright 1994
1st printing 1993 ISBN: 0-201-62485-0 page 211

Note: this fixes an issue with older FreeDOS kernels that expect this
structure to contain valid values.
Signed-off-by: Kenneth J. Davis <jeremyd at fdos.org>


diff --git a/memdisk/mstructs.h b/memdisk/mstructs.h
index fecbff4..0b0dc07 100644
--- a/memdisk/mstructs.h
+++ b/memdisk/mstructs.h
@@ -121,9 +121,9 @@ typedef union {
        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 sectors;        /* Sectors/track */
        uint8_t isgap;          /* Length of intersector gap */
        uint8_t dlen;           /* Data length (0FFh) */
        uint8_t fgap;           /* Formatting gap */



More information about the Syslinux mailing list