[comp.os.msdos.programmer] Diskette parameters

bobmon@iuvax.cs.indiana.edu (RAMontante) (09/11/90)

vsarkela@csc.fi <1990Sep11.144431.1@csc.fi> :
|         Does anyone know the diskette parameters? Interrupt 1Eh is actually
|         a pointer to those parameters, which are needed when formatting a
|         diskette. Yes, I know about fdformat PD program, which has source 
|         code also in the packed file. Point is, it works only with 360 kB 
|         diskettes. There is something wrong with those parameters (11 bytes).

Not true --- as of version 1.20, which I have, it happily mucks around with
my 720KB, 3.5" drive, and the documentation discusses 1.44M and 1.2M
diskettes (I can't try those formats).

This is the "fdformat" by Christoph Hochstaetter of Marburg, Germany.  (I
can't easily make an "a" with two dots over it, so I've substituted "ae".
That might not be the best substitution; my apologies to Christoph.)

mitchell (Bill Mitchell) (09/11/90)

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

vsarkela@csc.fi (09/11/90)

  
        Does anyone know the diskette parameters? Interrupt 1Eh is actually
        a pointer to those parameters, which are needed when formatting a
        diskette. Yes, I know about fdformat PD program, which has source 
        code also in the packed file. Point is, it works only with 360 kB 
        diskettes. There is something wrong with those parameters (11 bytes).


Vesa Sarkela                  Keskuslaboratorio Oy
vsarkela@opmvax.csc.fi   Finnish Pulp & Paper Research Institute

PA163514@tecmtyvm.mty.itesm.mx (09/15/90)

Vesa Sarkela

You must review, interrupt 21h, service 1Ch

Here is the information,

GET FAT Information for drive
*Interrupt 21h, service 1ch)

Registers on entry
AH: 1Ch
DL: Drive code (A=0, B=1 etc)

Registers on return
AL : Sectors per cluster
BX : Offset address of FAT ID byte
CX : Bytes per sector
DX : Clusters per disk
DS : Segment address of FAT ID byte

Memory affected: None

The FAT ID byte to which DS:BX points indicates the type of disk in use
Actually, this byte indicates only how the disk was formatted. Refer to
next table for more information.

Value Disk Characteristics
  F0        Not identifiable
  F8        Fixed disk
  F9        Double sided, 15 sectors/track
  F9        Double sided, 9 sectors/track(720 Kb)
  FC        Single sided, 9sectros/track
  FD        Double sided, 9 sectors/track (360 Kb)
  FE        Single sided, 8 sectors/track
  FF        Double sided, 8 sectors/track

This could be enough, but if not send me a e-mail

Juan Manuel Gonzalez Nava
Informatic Research Center
ITESM Monterrey Mexico

Bitnet
PA163514@TECMTYVM.MTY.ITESM.MX

Chao. and god look.

There is a new country. Mexico