Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

maczo

macrumors newbie
Original poster
Dec 25, 2014
28
4
Italy
Dear collectors, as I wrote in another thread here, I had been working in the past year on a tool to connect my Apple Floppy Disk Drives to the PC (just for little testing purposes! No floppy imaging or usage yet, sorry!).

As promised, I'm uploading it here on the forum with source code and documentation to build the interface cable.
You'll need any Linux based OS to run it.
The program is unfinished, mainly for technical limitations of the whole problem approach (I suppose a dedicated microcontroller might do a better job).

Anyway, this forum has been very helpful to me and so I decided to upload my program here, hoping that someone will find it useful (or even better, will help me to improve its functionalities).

Wish you all a Happy New Year!
 

Attachments

  • afdt0.3_n.zip
    17.8 KB · Views: 234
Last edited:
  • Like
Reactions: CripplerX

MacTech68

macrumors 68020
Mar 16, 2008
2,393
208
Australia, Perth
Thanks for this. When I get my testing rig together to start rebuilding drives, this will certainly come in handy.

Odd about the eject not working on a 400K drive. I can see the 750msec timing. I assume that during this period, SEL CA2, CA1 CA0 are all being held too?

I also seem to recall there was a ROM change with something to do with eject and there are two versions of the 400K drive with only ONE model affected by the change. I'll see if I can find the reference.
 

maczo

macrumors newbie
Original poster
Dec 25, 2014
28
4
Italy
Great, I hope you will find something useful to solve the eject problem!

During the 750msec timing every digital line is held in its current state. The command works flawlessy with my OA-D34V-22. It doesn't work with 800K/1.4M Sony drives. Haven't tried it yet with the newest drives from LC475.

I also went through the assembler code of System 7 to see how the IWM was controlled during eject by the system, but found nothing useful. Actually it would be good to know what the IWM itself actually does once it receives the EJECT command from the System, but pity I don't own a logic analyzer to do that.

I have tried with different timings, and also by placing the R/W Head at track 40 before ejecting (like the System does). Nothing.

Thank you, MacTech68 and Best Wishes for 2016!
 

MacTech68

macrumors 68020
Mar 16, 2008
2,393
208
Australia, Perth
Whoops, my bad. I was reading your readme the wrong way around. o_O :(

So the 400K ejects fine but the 800K does not.

There are 3 models of the 800K drive:

MFD-51W-03 (Red on Silver Label) Requires Yellow Stripe Cable
MFD-51W (Black on Silver Label) Requires Red Stripe Cable
51W-10 (Black on Silver Label) Requires Red Stripe Cable

The yellow stripe cable has pin 9 and 20 missing. If these are connected, the MFD-51W-03 will continually run the eject motor. I'm not sure if this is a clue to what's causing the non-eject problem, but thought it worth mentioning.

Clarifying my earlier post, it was the original 128K Macintosh ROMs that required a revision to address a stepper motor change in a later model 400K drive. I don't know how to identify the difference between the two 400K drives.

My memory is getting terrible. :(

All the best for 2016. :)

EDIT: The only other data I could find regarding eject, is this:

Eject Addr Notes.jpg
 
Last edited:

maczo

macrumors newbie
Original poster
Dec 25, 2014
28
4
Italy
Thank you, that appears to be the same documentation that I had.

I suspect that the EJECT command has changed somehow. Maybe it uses a different register, or maybe it needs something else to be configured first.

The MFD-51W-03 is different in that it allows you to eject through the pins that you mentioned, but this is needed when using the drive with an Apple II, so that you can eject the floppy using the external eject button.

You can see the different routing of the signal from the schematics there:

http://www.textfiles.com/bitsavers/pdf/apple/disk/sony/

BTW, I'm wondering if the CSTOUT (cassette out) flag could be set....
 

MacTech68

macrumors 68020
Mar 16, 2008
2,393
208
Australia, Perth
CSTOUT seems to be a read only, and looks like it's directly connected to the disk inserted switch. Since this is only on the -03 drive, and arrives at pin 20, it's not used on the Mac.

Did you see what appears to be a typographical error in the documentation, where EJECT is addressed in the table as 0011, but the next paragraph says EJECT is 0111 (which in the table is /DRVIN) - Page 18 of Doc # 699-0285-A

I did notice that in the picture I posted, it says to set SEL first, then CA0 and CA1, and then set CA2. The other documentation doesn't seem to be quite so specific. Secondly, one says 750mSec, the other says half a second for LSTRB.

I also notice that the CX23077 changed from vanilla to an "-A" variant.

Which specific 800K drive models have you tried noted in the Service Technical Procedures? All three?
 
Last edited:

maczo

macrumors newbie
Original poster
Dec 25, 2014
28
4
Italy
Oh yeah, I saw a lot of confusion in these documents. EJECT must be 0111 because it is using a positive logic, while the signal like /MOTORON (with the / "negative" prefix) are using a negative logic. The value of CA2 is what you are going to set the variable to. So it must be 1 for EJECT.

I'm not sure about which drives I tried, but I'm going to try them again soon. Will keep you updated. ;)
 

maczo

macrumors newbie
Original poster
Dec 25, 2014
28
4
Italy
I know this will sound stupid. However, the EJECT command is actually working.... it was my drive that I used for testing that had a broken transistor! I have now confirmed that it works, after having tested it both on a MFD-51W and on a newer Mitsubishi MF355F drive from a LC475.

(After all, when I wrote this tool, almost all my floppy drives had broken eject motor gears, so I tested it mainly on 400k drives.)

Anyway, sorry for this. I just updated the first post and the program archive to remove from the docs the wrong assumption that the EJECT command wasn't working!
 
  • Like
Reactions: MacTech68
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.