My Next Project

I recently wrote up how my next programming project is going to behave. The program will be called Imager. It’ll be used for scanning old floppy disks and tapes.
First I am going to acquire a PCI Catweasel card so I can write this software for my Mac.
When you first open the software you’ll be presented with a blank window. From the file menu you’ll choose “Read from Catweasel” from a menu and you’ll be presented with a dialog for which tracks and sides you want to read. You’ll confirm the dialog and it will read in the data and present it to you without any post processing. I am talking flux transistions. They will be presented as a wave form for each track/side.
It’s very difficult for a human to understand flux transistions, so you’ll need to add a “signal to block” data converter. You’ll choose a IBM3410/MFM “signal to block” converter. This will collapse the flux transistion pane and insert a new pane below it that shows all of the disk blocks found. The IBM3410 format contains two kinds of blocks: ID blocks and data blocks.
Now add a new WD1779x “Block to Block” converted pane to inturpet the ID and data blocks and combine them into named sectors.
Now you’ll be able to add another “Block to Block” converter. This one will be called “Microsoft DECB allocation unit”. This converter knows how to take sectors and combine them to granules. So you get a list of named granules that you can inspect. It will also alert you if there are incomplete granules since it knows how many sectors are in each granule.
Now for another pane. A “Block to Block” converter called “DECB Files”. This one will know how to read the directory track and granules to find all of the allocated files. It will present you with their name, the ganules they reside on, and the length and any other meta data included on the directory track. You be presented with any error conditions like missing/damaged granules.
That about does it for a DECB disk. But I can further imagine writing format converters for files. If there is a picture on a DECB disk in some obscure format, it’ll be possible to write an image converter so you can see the image in another pane.
Also imagine a cassette tape “signal to block” converter. Imagine being able to decode one track as FM and the other tracks as MFM to get around crude copy-protection implenentations. Imagine a whole stack of OS-9 “Block to Block” converters to verify the contents of those disks. Imagine being able to write your own “Signal to Block” and “Block to Block” converters in a scripting language so you can make the program even more powerful. And finally image every pane being editable, and when edits are made they propagate back up thru the stack all the way to the flux transistion pane. Now you’ll be able to correct errors.
Imagine every pane able to export it’s data so a file can be saved to a native file. Or the sectors can be dumped so the disk image can be used in an emulator.
I have a lot of expectations for this program.