• Please review our updated Terms and Rules here

Writing .IMD, and .TD0 Images to Floppy that have a Single Density First Track

ldkraemer

Veteran Member
Joined
Mar 14, 2013
Messages
2,626
Location
Chaffee, MO
For all you CP/M folks that use 22DISK, Teledisk, Imagedisk. and cpmtools (w/libdsk) to
access Images of your various Floppy's there is another way you can now write an image
back to floppy that has a Single Density Track 0 with the remaining tracks Double Density.

What you will need is a way to convert the *.TD0 and *.IMD files to *.SCP files. A .SCP
file can also created by reading the floppy with a Supercard Pro. If you already have a
converted *.SCP file, then you just need a GreaseWeazle, and the appropriate Floppy
Drive that can write the complete *.SCP Image. A 48 TPI or 96 TPI (40 or 80 Track drive)
must be used that can also support Side0 & Side1 (if used), Single Density or Double Density,
3.5", 5.25", or 8".

The Original (.TD0, *.IMD) Image can be processed with HXCFE or HXCFLOPPYEMULATOR.
These software packages are available for Windows, MAC, and Linux. The current subversion
package is ver 1904 as of Dec 2019.

There are instructions on the Debian Forum for Building on Debian 9.x (Stretch) for a 64 Bit
system. The build has been automated enough so it should be very easy to compile. These
instructions should also apply for anyone running Raspbian on the Raspberry Pi.

http://forums.debian.net/viewtopic.php?f=16&t=144670

More information on GreaseWeazle can be located at the following URL's.
https://github.com/keirf/Greaseweazle
https://github.com/keirf/Greaseweazle/wiki

There is also a GROUP located on Facebook with lots of additional information.

NOTE:
I'm currently waiting on some PCB's for the Adapter Interface to Floppy to start testing
on real systems.

Thanks.

Larry
 
Last edited:
Is this for PCs with no single density floppy support in their controllers?

I've been writing mixed density disks on my IMD reader/writer for years.
 
That method is also handy for those who do not have real floppy controllers (well, get one, better yet, get a dozen!). The HxC software does a fairly good job converting formats like this in to flux stream formats that can be written by the Kryoflux, SuperCard Pro, or other flux writers.
 
Al & Chuck,
That is news to me, that a FDC that doesn't pass the Single Density Test can still be able
to write Single Density Boot tracks. I've assumed it couldn't if the testing did not pass.

I've got a tweener, but as a Snowbird a GreaseWeazle will be a lot easier to load and haul
to that winters destination. I'd rather not drag a Monitor, and tweener if don't have to.

I'll keep playing with the GreaseWeazle as it less than $3.00 and the Adapter board $5.00.
It's worth my time, just as a learning tool.

Larry

I've already cut down to two laptops and one small plastic tub of computer items.
 
The big problem that I see with the Greaseweazle is that its sample frequency is limited, which means that the t, 1.5t and 2t frequency bands aren't as well-defined as they might be on faster devices. For example, for sampling simple 250KHz MFM/FM/MMFM, I use a clock sample rate of 28 MHz, which produces a nice spread at about 1/3, 1/2 and 2/3rds in a 7-bit sample space (for 300KHz, I use 36 MHz). For high density, I use 56MHz--and for extended, 112MHz. That, and the driving for older (including 8" drives) is pretty weak--needing, as I pointed out earlier, additional 5V buffering for output signals, particularly when long (>2m) cables are involved.

I've got P3 and P4 systems with integrated FDCs here that do FM reading and writing just fine--and they pass FDtest.

Mind you, I was arguing for using cheap MCUs when the Catweasel was the be-all of time capture sampling. Even got ridiculed for the idea.
 
I've spoken to Larry on facebook about this a bit - once you've got an IMD with a single density track 0, HxC will convert it to SCP and the greaseweazle will write it quite happily (I've done this with a 40track 5.25" drive). Works fine. The tricky bit is actually having tools that can construct the IMD files with the SD track 0 in the first place. There doesn't seem to be a coherent toolchain for doing this - or is there and I'm missing something? I'm halfway through putting something together in Python, but it's starting to slip into the specific rather than the generic (which is what would be ideal) simply as I'm in a bit of a rush and started to lose the will to think of all the necessary permutations...
 
LibDsk, as presently constituted, can't - it can access / convert disc images where different tracks have different geometries, but the built-in tools can't create them from scratch. The nearest it gets is the -md3 option in dsktrans, which hardcodes a specific geometry used by MicroDesign 3. It wouldn't be hard to write something that created a disc image in a specific format with a single-density track 0, but I don't think there's a general case.

The quick and dirty fix would be to add options to dskform(1) so it could format ranges of tracks - then you could use it twice on the same disk image with different geometries, once to format track 0 and once to format the rest. The proper fix would be to redesign LibDsk so that its DSK_GEOMETRY structure supported multiple zones - this would also be useful for Mac 400k / 800k disc images.
 
The proper fix would be to redesign LibDsk so that its DSK_GEOMETRY structure supported multiple zones - this would also be useful for Mac 400k / 800k disc images.
And also Microbee disks. Some have first 5 tracks different to the rest, heads numbered 128/129 instead of 0/1, some heads even 0/0 to confuse the issue further. But there is a patched version of CPMTools/LibDsk available that sorts them all out just fine.
Alan
 
Back
Top