Interrupt List Release 61 Last change 16jul00
Copyright (c) 1989-1999,2000 Ralf Brown
Index for interrupt INT 1E

Table of Contents by Order
1E - INT 1E - SYSTEM DATA - DISKETTE PARAMETERS


1E - INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
INT 1E - SYSTEM DATA - DISKETTE PARAMETERS
Notes:	the default parameter table (see #01264) is located at F000h:EFC7h for
	  100% compatible BIOSes
	if the table is changed, INT 13/AH=00h should be called to ensure that
	  the floppy-disk controller is appropriately reprogrammed
	before rebooting the machine, this pointer should be restored to point
	  to the original position of the floppy parameters in the ROM BIOS.
	  The DOS boot sector takes care of this and in the case of a bootstrap
	  error, resets the vector. It also passes the original pointer to the
	  IO.SYS/IBMDOS.COM file for possible later restoration.
	under PhysTechSoft's PTS ROM-DOS this table is fictitious.
	the DR-DOS multi-OS LOADER (at least 1.04 up to including DR-DOS 7.03)
	  does not alter the INT 1Eh vector when launching IBMBIO.COM files
	  via its boot methods "S" or "D".  Although this allows booting
	  (uncompressed) IBMBIO.COM files bigger than 29 KB, it may
	  occasionally cause the floppy parameters to get trashed due to a 
	  bug in the DR-DOS 7.03 IBMBIO.COM startup code.
BUG:	The 2nd level decompressor of the DR-DOS 7.03 IBMBIO.COM (1998/08/11 to
	  1999/07) start-up code erroneously assumes that the floppy parameters
	  reside at 0000h:7C00h (normally set up there by the boot sector)
	  instead of relying on the INT 1Eh vector to point at their location.
	  Since the "assumed" floppy parameters get moved around and INT 1Eh
	  gets updated to point to their new location, this may cause the
	  contents of the floppy params to get trashed, if they weren't
	  actually copied to 0000h:7C00h by the bootstrap loader (that is the
	  boot sector or the LOADER utility).
SeeAlso: INT 13/AH=0Fh,INT 41"HARD DISK 0",INT 4D/AH=0Ah

Format of diskette parameter table:
Offset	Size	Description	(Table 01264)
 00h	BYTE	first specify byte
		bits 7-4: step rate (Fh=2ms,Eh=4ms,Dh=6ms,etc.)
		bits 3-0: head unload time (0Fh = 240 ms)
 01h	BYTE	second specify byte
		bits 7-1: head load time (01h = 4 ms)
		bit    0: non-DMA mode (always 0)
		Note:	The DOS boot sector sets the head load time to 15ms,
			  however, one should retry the operation on failure
 02h	BYTE	delay until motor turned off (in clock ticks)
 03h	BYTE	bytes per sector (00h = 128, 01h = 256, 02h = 512, 03h = 1024)
 04h	BYTE	sectors per track (maximum if different for different tracks)
 05h	BYTE	length of gap between sectors (2Ah for 5.25", 1Bh for 3.5")
 06h	BYTE	data length (ignored if bytes-per-sector field nonzero)
 07h	BYTE	gap length when formatting (50h for 5.25", 6Ch for 3.5")
 08h	BYTE	format filler byte (default F6h)
 09h	BYTE	head settle time in milliseconds
 0Ah	BYTE	motor start time in 1/8 seconds
---IBM SurePath BIOS---
 0Bh	BYTE	maximum track number
 0Ch	BYTE	data transfer rate
 0Dh	BYTE	drive type in CMOS
SeeAlso: #03226 at INT 4D/AH=09h

Top
Home Interrupt Index: by Category by Number TOC: by Order Top