Path: utzoo!attcan!uunet!cs.utexas.edu!usc!apple!vsi1!zorch!ditka!nfsun!eklektik!danbabcock From: danbabcock@eklektik.UUCP (/dev/ph1) Newsgroups: comp.sys.amiga.tech Subject: Five ways to read Mac disks Message-ID: <1518@eklektik.UUCP> Date: 5 Apr 90 22:14:41 GMT Reply-To: danbabcock@eklektik.UUCP (/dev/ph1) Organization: Computers, Gerbils, and Games in the Basement, Pgh, PA Lines: 80 This message is directed to K.C.Lee, but it's interesting enough I thought I'd better post it globally. The Mac has five track zones: track range / sectors per track / zone ----- ----- ------- --- ----- ---- 0-15 12 5 16-31 11 4 32-47 10 3 48-63 9 2 64-79 8 1 Zones one and two can be read by the Amiga disk controller without any special effort. Note that the zone designation is not neccessarily used by Apple; I just made it up for convenience. The Mac format is extremely similiar to that of the Apple II, so Beneath Apple DOS or Beneath Apple ProDOS are very useful. I'm surprised and pleased that you thought of controlling drive speed with software. It's really a great concept (although whether it is feasible remains to be proven). I worked on this last summer, so I can get you off to a good start. The first problem that arises is the fact that the drive motor signal can't normally be toggled without deselecting the drive. This causes data to be lost. If there weren't a fix for this, I wouldn't be typing this text now. It turns out that you can disable this feature, without creating any potential problems, with a simple jumper. I installed the jumper in my A1000 - what machine do you have? (so I can provide details pertinant to your situation). There are a couple other very interesting tidbits you should know. One, the motor line is connected to PB7!!!! I put the exlamation marks there because this line is VERY special to a CIA. It can be toggled or pulsed according to the countdown of one of the timers! That *suggests* the possibility of simply loading up the timer and reading from the Mac disk. (in reality, the read routine will undoubtedly be much more complicated). There's another interesting thing I found out. I found that I could read an entire sector of a Mac disk (zone 5) by simply letting the motor decelerate from 300 RPM to 0 RPM! Again, that *suggests* the possibility of reading a Mac disk rather easily. (at least in a one-shot conversion situation). I should mention that this is not the only way to slow down a drive motor on a standard drive. The other method is to vary the input voltage. This is exactly what the Cyclone copy hardware does (or so I am told). They use it to help them copy long track and nibble counting protection schemes, but it could also be used to read (and of course write) Mac disks! Of course, there is yet another method. One could design a floppy drive controller just like the Commodore 1541 drive, which can read and write at various rates. The so-called "data seperater" of the 1541 is completely digital and quite simple. A 16Mhz clock is an input to a programmable counter. Every time the counter counts down, a zero is read. A transition at any time is read as a one and resets the counter. Because the on-board CPU (a 6502) can write the countdown value to the counter chip, many data rates are easily supported. I have absolutely no idea how the Amiga disk controller works internally. If anyone has the schematics to Paula lying around, please provide some information (yes I am serious!). Of course, the OTHER method is to simply use a Mac 800K drive, which AUTOMATICALLY adjusts its speed depending on what track it is on (quite unlike the 400K drives, which required a special control pulse from the host). If anyone needs more methods to read a Mac disk, just let me know (grin!)... -- Dan Babcock 1106 Jefferson Road Pittsburgh, PA 15235 (412)-373-1753