7

Preamble

I own a Gotek floppy emulator that I use with my BBC Model B. It is the latest model with the Artery AT32F435 MCU1, so there is a lot of memory space and processing power for future features in firmware updates. I am looking to minimise expense and trying to see if it is possible to use that same Gotek floppy emulator with a Macintosh, or Apple ][.

After looking on a couple of forums(2, 3) and then this question, Can the Gotek floppy emulator be made to work with classic Macs?, the answer seems to be:

"No, because the cable/connector/interface/operation/electrical_signalling of a standard floppy interface is different from that employed by Apple".

I am well aware that:

  • Mac floppy drives were very different (or superior, depending upon your own particular bias) to standard floppy drives (auto-ejecting being the first thing that springs to mind), and;
  • Electrically, the ID34 connector for the standard floppy, and the ID20 connector, for the Apple floppy, are not wired up in the same way and obviously don't fit together.

Standard floppy interface working on an Apple IIc

However, this question, What are the differences between the various HxC Floppy Emulator hardware options when used with an Apple II?, links to a short video, Slim HxC Floppy Emulator on Apple 2c, showing a standard floppy drive emulator being used on an Apple ][.

That video is produced by closed source commerical outfit HxC, and the hardware is not a Gotek. That seems to have been a side project and isn't commerically available, so that is a dead end.

Another example of it working with an Apple ][ system

This closed issue on Github, Using Flashfloppy with Trackstar 128 (reading Apple 2 disks) #333 also shows that it can be (partially) done (using HxC firmware)4:

I haven't had a lot of success so far; HXC firmware at least gets me far enough to boot an Apple II game but disks are read-only.

Joining the dots

Now seeing that:

it doesn't take much of a stretch of imagination to realise that some firmware changes could be made (either via a Feature Request, or a private fork and a bit of hacking) to add both Apple ][ and Macintosh functionality to a Gotek - just leaving the electrical interface needing to be sorted out.

TL;DR

So, my question is, ignoring for the moment the required firmware changes, what cable changes are required to get a Gotek half-way talking to an Apple ][ or Mac?

That is to say:

  • What are the custom changes to the floppy cable that were made in that video, but not shown?
  • What, if any, additional discrete logic is required (logic level shifting, glue logic, etc.)?
    • Clearly any discrete logic could be dispensed with by having the logic handled in firmware. However, this would probably require a Gotek to be reflashed each time it is moved between an Apple device and a PC-floppy drive compatible device. So an external small logic board would be preferrable.
    • Without trying to increase the scope of this question too much, I'm looking for an outline of this required logic.

Note: This question is for Apple ][ and classic Macintosh and a USB based solution will not work. Neither the Apple ][ nor Macintosh have USB, and the floppy was phased out for the modern Apple computers starting with the coloured 1999 iMac.


References

1 See Github: keirf/Flashfloppy - Wiki - Gotek Models

2 GOTEK Floppy Emulators in Classic Macs?

3 Gotek floppy emulator?

4 Photos of (and information about) the Trackstar can be found here, AppleLogic - Trackstar, and here, Trackstar 128.

Footnote

Here is the pinout of the Apple Floppy Drive Cable 821-0655 from Oldcrap.org - Apple Disk 5.25

Apple Disk 5.25 connector

And this would appear to be a standard floppy connector pinout

Standard floppy connector pinout

8
  • Commenting out of ignorance: why can it not be done through USB? (because you don't say which type of Mac) Dec 22, 2022 at 9:39
  • 1
    Neither the Apple ][ nor Macintosh have USB, and the floppy was phased out for the modern Apple computers starting with the coloured 1999 iMac. Dec 22, 2022 at 10:37
  • 2
    It’s definitely not just wires that need to be changed — e.g. on an Apple II the computer takes direct responsibility for the four phases of the stepper, whereas on a classic drive you just indicate direction and request a step. Also on the Mac drive speed varies by zone (automatically as of the 800kb drive).
    – Tommy
    Dec 22, 2022 at 12:57
  • 1
    First, make sure the Mac doesn't fling your USB stick into your face when ejecting a disk ;)
    – tofro
    Dec 22, 2022 at 13:23
  • 1
    @Greenonline it would definitely need to accept those signals and process them appropriately, yes. So on that basis alone I think a custom cable plus a custom firmware would be required, even if it’d be very similar to what the Gotek already runs.
    – Tommy
    Dec 22, 2022 at 16:25

1 Answer 1

2

I opened a feature request shortly after posting the above question, Apple II and/or classic Macintosh support #733.

Today there has been some activity on the issue, most notably:

Mainly it will be an issue of connecting signals correctly to the ID34. However, the head stepper is directly controlled by 4 phase lines PH0-3. So the main work is in connecting those to appropriate input lines on the Gotek, and using them to step between tracks (and half tracks? and quarter tracks?).

Beyond that I reckon you could use HFE image files as a raw container for Apple GCR bitcells.

...

Further, I think /WREQ and WR would connect to ID34 Write Gate and Write Data.

RD would connect to ID34 Read Data.

/DRVEN would connect to ID34 Select (pin 10, say)

WRPROT would connect to ID34 Write Protect.

PH0-3 would connect to remaining input pins: MOTOR, DIR, STEP, SIDE. And firmware would need to interpret phase signals on these pins.

I'm not sure on "sense" of some Apple pins (eg is RD active high or active low) and on details like whether phase signals interact with drive select. Nor how/when Apple drive spins up since there's no MOTOR signal.

Probably some work with a scope or logic analyser on a real Drive II will be needed at some points.

So, it is looking promising.


In addition, this post on the issue has a link to some very interesting timing diagrams (which I can't really summarise suitably in this answer):

This might be helpful: https://embeddedmicro.weebly.com/apple-2iie.html

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .