View Single Post
Old 12 June 2006, 11:34   #6
cappuchok
Registered User
 
Join Date: Jun 2006
Location: Sweden
Posts: 13
Maybe this should be moved to a more appropriate section (prb.Hardware, perhaps?).

Although how to read Amiga floppies on a PC is a common question from newbies (and me, although I've been using Amiga since late 1980-ish and emulating the Amiga since late 1990's), and is seemingly answered in the FAQ, I think it merits further investigation as modern legacy-free PCs with driver-dependant (and thus probably somewhat software-driven) USB FDDs should be way more flexible than their entirely hardwired older counterparts. USB drives aren't considered in the FAQ yet, so perhaps there might be a possibility of getting it to work under some operating system. Windows or Linux-based, or even Mac-based, platform choice doesn't matter much to me.

There has to be some solution to this, and given that a Catweasel plus a regular PC FDD would cost about three times as much as an (expensive) USB floppy drive, doesn't fit in a laptop, I'd rather go with the USB solution because my Amiga disk collection isn't that big and not worth shelling out on a very hard-to-find piece of equipment. If an USB floppy will support the SPS tools and write real Amiga disks as well, all the better. Even the SPS team seems dubious that the Catweasel will be able to do the job (see their FAQ on their site).

If any programmer or the SPS people are reading this, here is the specification of the UFI protocol (Adobe Reader required) used in communicating with a USB floppy drive. It would appear that most drives are controlled by an Intel 82077 or compatible SMSC chip, which according to this data sheet should be able to handle standard command sets as well as UFI, and has a dedicated memory for custom programs (firmware) as well. I don't know how to find out what controller exists in my drive, so if anyone can find out a way to probe the drive for this information, I'd appreciate it.
The standard command set should make it suitable for using with ADFread or OmniDisk, IF and only if a custom Windows or Linux driver can be made that ignores UFI conventions and sends the standard commands to the FDC. OR even better, perhaps the drive could be upgraded with a custom firmware to allow it to read any format and return the raw waveforms for SPS analysis.

I've done some preliminary testing with my USB drive and discovered the following quirks: it doesn't report it's capabilities properly to neither Windows nor Mac OS. In Windows, you can't format a DD disk in the drive using Explorer. You can, however, use the format command in cmd.exe and it will properly format a 720 KB disk.

On a Mac, things are even more strange as it won't recognize an 800KB disk. It will only read 720 KB PC disks as far as DD goes. HD is no problem. Using thirdparty programs, an 800 KB disk can be formatted, BUT when imaged in Linux using the 'dd' command, it becomes only 736 KB indicating that the formatting process isn't done in quite the right way.

An AmigaDOS formatted DS-DD disk will simply be ignored by the drive, it will not deliver any data whatsoever to the 'dd' command except for an I/O error.
Something tells me there is a firmware on the drive controller that needs a big update to 1) report it's capabilities properly, and 2) allow the drive to transfer raw data whatever the format of the disk currently in the drive.

Odd how the UFI specifications seem to restrict floppy drives even more instead of making them more flexible (which should be the natural order of things). There's got to be a way around it, to access the drive without having to deal with the inadequacies of the controller (or make the controller behave properly). Still, I'm no programmer nor a hardware expert, so someone else will have to take it from here.

Last edited by cappuchok; 13 June 2006 at 08:04.
cappuchok is offline  
 
Page generated in 0.04293 seconds with 11 queries