[Coco] [Color Computer] Re: From virtual disk to real disk
John E. Malmberg
wb8tyw at qsl.net
Wed Nov 5 21:48:00 EST 2003
Neil Morrison wrote:
> FWIW, the trick under MSDOS is to alter a table of parameters kept in
> ram on the PC. This lets the PC read Coco sectors. The program deals
> with the result. Also, AnaDisk from Sybex can read most any
> reasonable format the hardware can handle.
That is exactly what I did. There is a BIOS call to retrieve the
address of the table, and another one to set a new address.
The recommended procedure is to copy the table, change it, and then
temporarily change the address to the new table.
That works under DOS 2.x, but under 3.x the size of the table changed
and the change was not documented, so in order to make it work you had
to modify the real table values and restore them afterword.
Under Windows on a 386, you are not modifying the real BIOS table, but a
process private copy of it. In virual 86 mode all the calls are
simulated, so if the program is calling BIOS calls, it should still work.
There is a documented BIOS write_track function for formatting a disk,
but I never tried it.
A look at my now out of date MSDN documentation shows that they have
removed the definitions of the BIOS call wrappers from the Microsoft C
RTL documentation, but apparently they will still work from assembler,
and that there are replacement routines to support FAT32. An iteresting
note is that they state the new FAT32 may not work for some functions
and to fall back on the functions that I am having problems finding
documentation for.
If you can get to the hardware, you should be able to do a raw track
read, and then try to decipher the binary. With a raw track read, you
will probably get a bunch of packed bytes, but the data may skewed up to
7 bits off, and you have to parse out all the sector overhead.
The Catweasel card was available in PCI format the last time I looked,
and it has the capability to read / write almost any format of floppy.
-John
wh8tyw at qsl.net
Personal Opinion Only
More information about the Coco
mailing list