Formatter on PC

ZXNet echo conference «zx.spectrum»

From Vyacheslav Mednonogov To All 1 August 1997


Get Msg, All!

Here a seemingly simple task arose - to write a formatter/copier for Spekov disks on a PC. Everything seems to be fine, except for the problem with setting the disk density before formatting. M. Kondratiev suggests setting it like this:

=== Cut ===

#define DOR 0x3F2 /* disk output reg. */
#define MSR 0x3F4 /* master state reg. */
#define DR 0x3F5 /* data reg. */
#define DIR 0x3F7 /* disk input reg. */
#define CCR 0x3F7 /* data transfer rate */

/skip/

outportb (CCR,0x01);
delay(500);

=== Cut ===

but something doesn’t work out very well :-( (subsequent check of the result with
the help of the FDA gives Density: High)

Maybe someone can explain what each port is responsible for, what values are #3F7 acceptable for this and how will they affect the data transfer rate / disk rotation speed? Maybe there is a standard way (via int #13) - that would be
cool :))

I would like to make the formatter universal - both for 5.25D and 3.5D.
I would like to make the formatter fast - who knows what values are best
give the bytes in the base table floppy disks (whose address is stored in vector #1E)
to achieve the highest speeds - page :))

Warm greetings, Slava!


From Vyacheslav Mednonogov To All 4 August 1997


Get Msg, All!

02 Aug 97 00:04, Vyacheslav Mednonogov told All about {Formater on PC}:

VM> Here a seemingly simple task arose - to write a formatter/copier
VM> of spec disks on a PC. Everything seems to be good, except for the problem with setting
VM> disk density before formatting.

Perhaps the following thread will be useful to someone.

It turned out to be possible to switch write drives to Double Density /
80 tracks mode without directly programming the controller.

To do this, in BIOS-ROM variables with addresses 490h (for drive A) and 491h
(for drive B) is written to 55h (if the drive is 5"25/1.2M) or 95h (if
the drive is 3"5/1.44M)
In this case, all BIOS functions by Int 13h
(formatting, reading, writing, ...) are available. Works great under Win'95 :))

When using 1.44M floppy disks, you need to seal the ID hole on them.

Warm greetings, Slava!

From Michael Kondratyev To All 15 August 1997


Hello Vyacheslav!

Sat Aug 02 1997, Vyacheslav Mednonogov concocted a letter to All:

VM> Maybe someone can explain what each port is responsible for, what values
VM> are acceptable for this #3F7 and how they will affect the data transfer speed /
VM> disk rotation speed? Maybe there is a standard way (via int #13) -
VM> that would be really cool :))

3f7H AT Write: diskette control register
╓7┬6┬5┬4┬3┬2┬1┬0╖
║ │ ║
╙─┴─┴─┴─┴─┴─┴─┴─╜ bit
╚════╦════╝ ╚═╩═ 0-1: data transfer rate
║ 00=500 KBS, 01=300 KBS, 10=250 KBS, 11=res.
╚══════════ 2-7: I can't find anything about these


With best wishes, Michael.