Path: utzoo!utgpu!watserv1!watmath!att!occrsh!uokmax!apple!julius.cs.uiuc.edu!zaphod.mps.ohio-state.edu!van-bc!mdivax1!mitchell Newsgroups: comp.os.msdos.programmer Subject: Re: Diskette parameters Message-ID: <1990Sep11.143532.2181@mdivax1.uucp> Date: 11 Sep 90 14:35:32 GMT References: <1990Sep11.144431.1@csc.fi> Reply-To: mdivax1!bb29c!mitchell (Bill Mitchell) Organization: Mobile Data International Lines: 51 Return-Path: Apparently-To: van-bc!rnews In article <1990Sep11.144431.1@csc.fi> vsarkela@csc.fi writes: > > > Does anyone know the diskette parameters? Interrupt 1Eh is actually > a pointer to those parameters, which are needed when formatting a > diskette. The following information was extracted from a shareware tech ref I got some time ago. I've found the reference very useful but have lost the sourcing info. It says it is Copyright Dave Williams. If Dave is listening, perhaps he can post sourcing info for the whole thing. Int 1e (0000:0078) points to a table used by BIOS. Default table location is f000:efc7. The table contains 11 bytes of data. 00: 4 bit step rate, 4 bit head unload time 01: 7 bit head load time, 1 bit DMA flag 02: 54.9254 ms counts of motor-off delay time (36-38 typical) 03: sector size code 00 128 bytes 01 256 bytes 03 512 bytes 03 1024 bytes 04: Last sector on track (8 or 9 typical) 05: Intersector gap on read/write (42 typical) 06: data length for DMA transfers (42 typical) 07: gap length between sectors for format (0xf6 typical) 09: head settle time in ms (15 to 25 typical) 0a: motor start time in 0.125 sec intravals (2-4 typical) ----------------------------------------- And the following was extracted from a smaller tech ref I got from a BBS. This was compiled by Information Modes, P.O. Box F, Denton TX 762602, (817) 387-3339: ORG 0efc7h ;address in IBM rom DISK_BASE label byte db 11001111B ;CF= SRT-C Unload=0f db 2 ;02= HD LOAD =1, MODE=DMA db 25 ;25= delay till motor off (ticks) db 2 ;02= 512 bytes/sector db 8 ;08= EOT, # sectors/track db 02ah ;2a= gap lenght db 0ffh ;ff= DTL db 050h ;50= gap for format db 0f6h ;fill byte for format db 25 ;head settle time in ms db 4 ;motor start time in 1/8 sec