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.