• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

hey B M O W ! :-) Apple IIgs support - Floppy Emu?

uniserver

Well-known member
What do you think buddy?

Would it make the thing too complex?

Or maybe would you have to make up 2 separate floppy emu adaptors?

I know at-least with the IIgs the 800K Apple® 3.5 inch external is identical to the Macintosh…. they work for both machines.

Also I think a cable that comes from the rear to the front (for ease of use) where the nice LCD screen can be visible would be pretty nice?

 

NJRoadfan

Well-known member

bigmessowires

Well-known member
Somebody with a IIgs just needs to try it out! :)

If it doesn't already work, I think it could be done. Aside from the image file format, the other place where things might need adjustment is in the headers, footers, and checksums for each sector. I know the the IIgs uses the same method to read and write bits from the floppy, but it may still use a different header signature than the Mac, or have a different sector size, or a different checksum algorithm, or something like that. That stuff isn't part of the disk image file - it's generated on the fly by the Floppy Emu firmware.

A cable from the rear to the front is a handy accessory. You can buy one here: http://www.iec-usa.com/cgi-bin/iec/L1561

 

NJRoadfan

Well-known member
www.apple-iigs.info/doc/dociigs.htm

Buried in there is the Apple IIgs firmware and technical references. They are also on archive.org. The sector sizes should be the same.

does that mean that maybe it could also work with the IIc or IIe as well?
The Apple IIc, if it has ROM 0 or later, definitely will not work. It uses the SmartPort interface instead of directly accessing the drive since its too slow. Normally the Unidisk 3.5" is used on the IIc and with most IIe interface cards since it has an onboard CPU to handle all the decoding/encoding of data.

 

NJRoadfan

Well-known member
This is mostly for the slot-less Apple IIc, but it will work (slowly) on a IIgs: http://pcedric3.free.fr/SmartportVHD/

The Smartport interface is no barn burner in terms of performance. I have the Unidisk 3.5" to compare with the "dumb" Apple 3.5" drive and having the IWM directly control the drive is a heck of a lot faster. The fastest 3.5" controller by Apple had to have been the FDHD controller. It was more powerful than an Apple IIe! It reads disks about the same speeds as a modern Macintosh.

 

uniserver

Well-known member
I can't get the floppy EMU to load up IIgs images

I made the IIgs images with disk copy 4.2

maybe that is the issue?

The floppy emu accepts DSK files and IMG files….

I do not know how to make a DSK file. How ever it must be more complicated then Disk Copy.

It just sits there Track 00 Side 0 Idle

i even connected the emu to the back of the 800k IIgs floppy drive… booted GOS, and does the same thing.

 

Cosmo

Well-known member
I can't get the floppy EMU to load up IIgs images
I made the IIgs images with disk copy 4.2

maybe that is the issue?

The floppy emu accepts DSK files and IMG files….

I do not know how to make a DSK file. How ever it must be more complicated then Disk Copy.

It just sits there Track 00 Side 0 Idle

i even connected the emu to the back of the 800k IIgs floppy drive… booted GOS, and does the same thing.
There's discussion about it at http://www.applefritter.com/node/9479 if that would help you sir?

 

NJRoadfan

Well-known member
I think I found the problem. Apple defines pin #4 as chassis ground on Macs, but on an Apple IIgs it is defined for "3.5/5.25 Drive Select". Pin #9 is N/C on a Macintosh (some models provide power on this pin), while the IIgs defines it as "Drive 2 select". On the emulator schematics, pin 4 is grounded and pin 9 isn't connected to anything.

I have a feeling that this problem is related to why the 800k Macintosh 3.5" drive (M0131, the one without an eject button) doesn't work on a IIgs, but the 800k Apple 3.5" Drive (A9M0106 with eject button) does. I don't see any info in Apple IIgs docs on how Pin 4 is used to identify drive type. Pin 9 isn't used on Macs because they only support 2 total 3.5" drives in a given system.

Here is a summery of pin assignments from Apple regarding the IIgs are various Macintosh Models.

Apple IIgs: https://archive.org/stream/Apple_IIgs_Hardware_Reference#page/n87/mode/2up

Macintosh Plus and SE: https://archive.org/stream/apple-guide-macintosh-family-hardware/Apple_Guide_to_the_Macintosh_Family_Hardware_2e#page/n375/mode/2up

FDHD Equipped models: https://archive.org/stream/apple-guide-macintosh-family-hardware/Apple_Guide_to_the_Macintosh_Family_Hardware_2e#page/n387/mode/2up

Some additional info on other Apple II models: http://mirrors.apple2.org.za/ground.icaen.uiowa.edu/MiscInfo/Drives/pinouts.drives

 

bigmessowires

Well-known member
Interesting. I see several other differences in the floppy connector pin assignments between the IIgs and Mac. How are these ever able to use the same external drive?

4: IIgs is 3.5/5.25 Drive Select, Mac is GND

9: IIgs is Drive 2 Select, Mac is N.C.

10: IIgs is Write Protect, Mac is PWM

16: IIgs is Head Select, Mac is register select

17: IIgs is Drive 1 Select, Mac is external drive enable (is drive 1 external?)

Pin 10 is especially troubling, because it's an output on the Mac, and an input on the IIgs, and I don't see any way to reconcile those.

The others could work if Apple chose the right defaults. If GND = 3.5 inch drive, the external drive is drive 1, and head select can be re-mapped to register select in software.

Given that there are some real-world Apple floppy drives that will work on a Mac and a IIgs, this has to be possible somehow.

Here's some more info on Apple IIgs floppy cables that may be relevant: http://apple2.info/wiki/index.php?title=Pinouts#3.5_in._and_5.25_in._Drive_cable_pinouts

 

NJRoadfan

Well-known member
PWM is only needed by 400k drives from what I read. The IIgs doesn't support them at all. Pin 10 may not be used by the IIgs despite having an assignment, I have used the A9M0106 800k drive on early 400k Macs without a problem despite the PWM signal being present. Its also possible that the write protect pin is used by the "smart" Unidisk 3.5" drive which can't be used on a Macintosh at all without risking stuff blowing up!

As for Drive 2 Select, the IIgs supports daisy chaining two 3.5" drives on its floppy port, something Macs can't do (there is no internal drive on the IIgs). The pass through board in the Apple 3.5" Disk (A9M0106) likely controls pin 9. It might not be required for the floppy emulator to work, but it might restrict the floppy port to just one drive.

Code:
"The UniDisk uses pin 9 to select the second drive. Inside each UniDisk, the signal from pin 9 at the computer is connected to pin 17 of the daisy- chain drive connector. When the computer selects drive 2 by activating pin 9, the first drive passes this through and the second drive sees its enable signal on pin 17. Thus all drives are identical."
Basically when the machine wants to access drive #2, it activates pin 9 instead of pin 17.

I still think the problem is with pin 4. Since the IIgs floppy port supports both drive types, it needs to be able to determine which type its talking to. The Apple IIgs Setup guide specifically states that all 5.25" drives must be connected after 3.5" drives on the chain. Its likely this pin is left floating on 3.5" drives, but I'll try and dig up more info on how it works. Uniserver could be daring and disconnect pin 4 from ground and see if it works.....

Code:
"Despite the IIgs having special functions for pins 4 and 16, they may be ignored when dealing with 5.25" drives, and treated as a UniDisk controller (i.e. connect pin 4 to ground, and pin 16 to +5V). The Apple 3.5 drive disconnects these signals internally, so that they will not interfere with its operation."
 

NJRoadfan

Well-known member
I know you were looking for this earlier, here is some protocol information regarding the IIgs and 3.5" disks: https://archive.org/stream/Apple_IIgs_Firmware_Reference#page/n133/mode/2up

Corrections: https://archive.org/stream/IIgs_2523025_Firmware_Reference#page/n3/mode/2up

Raw disk access info: http://wiretap.area.com/Gopher/Library/Techdoc/Hardware/iwmiigs.txt

And finally, information on what pin-4 does on the IIgs floppy port: https://groups.google.com/d/msg/comp.sys.apple2/WH3jr4M97AM/S5a1XIBgKz8J

Another reference to the 3.5" enable pin: https://groups.google.com/d/msg/comp.sys.apple2/VFZJeum2Cy8/NTqWfXrsCvkJ

 
Last edited by a moderator:

bigmessowires

Well-known member
I'm not sure I understand those docs about pin 4. So is it an input or an output for the IIgs? You're thinking that it should be left floating, rather than connected to GND on the Floppy Emu board? Or should it be driven high (to 5V)?

As a test, you could try physically cutting off pin 4 from Floppy Emu's DB-19, or use a cable and cut the pin 4 wire. It shouldn't affect the behavior when used on a Mac, since there are three other ground lines already.

 

NJRoadfan

Well-known member
Perhaps...

Anyway, that 3.5DISK line and the head select line are not controlled by the IWM, but by the VGC (graphics chip). (See page 3 and 4)

www.classiccmp.org/cini/pdf/Apple/Apple ... ematic.pdf

Gotta love it when unrelated functions migrate into a chip. Anyway, looking at the hardware reference, the disk interface register (page 153) sets the status of those two pins on the connectors. 3.5DISK pin 4 is "1" (pulled high?) when using 3.5" disks, and Head Select pin 16 selects which head of the drive to use.

https://archive.org/stream/Apple_IIgs_Hardware_Reference_HiRes#page/n175/mode/2up

 

bigmessowires

Well-known member
I'm assuming that when a 3.5" drive is in use, the IIgs software uses pin 16 as a register select (like the Mac), not a direct head select. One of the drive registers is the head select, so the Mac doesn't need a separate pin for it.

OK, so pin 4 on the IIgs is an output, with an in-line series resistor according to the doc. And when the IIgs wants to enable a 3.5 drive, it sets pin 4 high, as well as setting either pin 17 or pin 9 low depending on whether it wants the first or second 3.5 drive. Does that sound right?

If that's the case, then because Floppy Emu ignores line 4, it's going to respond whenever the IIgs sets pin 17 low for either a 3.5 or a 5.25 drive. So it may be getting confused if it checks to see if there's a 5.25 drive connect and then Floppy Emu responds. Or maybe it tries to set pin 4 high, then checks the actual voltage on pin 4 (after the series resistor) to see if it's high or low, and if it's low it assumes there's a 5.25 drive rather than a 3.5 inch drive.

 

bigmessowires

Well-known member
As I think about it more, something doesn't quite add up here:

On a IIgs, a 3.5 drive must only respond when pin 4 is high.

On a Mac, pin 4 will always be low (GND). So a 3.5 drive designed for the IIgs will never respond.

But we know there are some floppy drives that work on both the IIgs and the Mac. How can that be? There doesn't seem to be any way the drive could know what kind of computer it's connected to.

Edit: Maybe the drive could internally have a pull-down resistor on pin 9. On the Mac that's a no-connect, so it would always be low. But on a IIgs it would normally be driven high. Then the drive could be designed to respond if pin 4 is high, pin 9 is high, and pin 17 is low (IIgs mode), or if pin 4 is low, pin 9 is low (thanks to the pull-down), and pin 17 is low (Mac mode). That seems pretty wacky, though.

 
Last edited by a moderator:
Top