[syslinux:master] memdisk: Fix order of sectors/track and bytes/ sector

syslinux-bot for Kenneth J. Davis jeremyd at fdos.org
Tue Oct 23 03:42:07 PDT 2012


Commit-ID:  7307d60063ee4303da4de45f9d984fdc8df92146
Gitweb:     http://www.syslinux.org/commit/7307d60063ee4303da4de45f9d984fdc8df92146
Author:     Kenneth J. Davis <jeremyd at fdos.org>
AuthorDate: Mon, 22 Oct 2012 19:20:18 +0100
Committer:  Matt Fleming <matt.fleming at intel.com>
CommitDate: Tue, 23 Oct 2012 10:53:17 +0100

memdisk: Fix order of sectors/track and bytes/sector

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>
Signed-off-by: Matt Fleming <matt.fleming at intel.com>

---
 memdisk/mstructs.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

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-commits mailing list