Int 1E

Prev Next Ralf Interrups Categories Contents

------

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).

See Also: 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

See Also: #03226 at INT 4D/AH=09h

Category: Bios - Int 1Eh - S

------

Prev Next Ralf Interrups Categories Contents