Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Apple IIgs ROM 3 disk incompatibility

562 views
Skip to first unread message

Steve Chamberlin

unread,
Apr 10, 2015, 10:51:17 AM4/10/15
to
Does anyone know exactly what changed between Apple IIgs ROM 1 and ROM 3, that makes ROM 3 incompatible with certain disk drives? I've just been bitten by this. I've been working on ProDOS 3.5 inch 800K disk emulation support for the Floppy Emu hardware, and it works fine on a IIgs ROM 1 but not ROM 3.

This Apple technote lists all the ROM 3 changes, and there's nothing about 3.5 disk or SmartPort changes that sounds like it would explain it: http://apple2online.com/web_documents/apple_iigs_technical_notes_26-35.pdf

But these two paragraphs from the Apple 2 wiki mentions that many Apple-brand and 3rd-party floppy drives don't work on the ROM 3 IIgs, including the UniDisk 5.25 and DuoDisk: http://apple2.info/wiki/index.php?title=A2_5.25_Drives_(19_Pin)#IIc_Plus.2C_IIgs_ROM_3.2C_LC_Slot_.2F.2Fe_Card_.26_5.25.22_Drives

First it says "The reason drives may not work with the IIgs ROM 03, IIc Plus or Macintosh LC //e emulator card is because around the introduction of the Apple IIc Plus, Apple changed the Smartport protocol to where each device hooked to it, (be it 5.25" drive, 3.5" drive or a Smartport compatible hard disk) needs an ID Byte. The UniDisk 5.25", DuoDisk and most 3rd party drives DO NOT CONTAIN this needed ID Byte rendering such drives unusable with the newer Smartport protocol." This implies that ROM 03 requires ALL drives to be intelligent SmartPort drives.

But the next paragraph says "The difference is due to the way Apple implemented the Write Protect circuit on their own disk drives. The Apple design integrates the Stepper Motor Phase 2 in the write protect status detection where as many third party drive manufactures used a simple ground to complete the circuit. Incompatible drives on these models will just spin at startup, the recalibration will not take place." This seems to contradict the first paragraph, saying that the problem is related to whether PHASE2 is used as the ground return for WRPROT, or if it's connected directly to GND. This has nothing to do with SmartPort or intelligent drives.

It's possible both paragraphs are irrelevant for my purpose anyway, since they're specific to 5.25 inch drives, and I'm emulating a 3.5 inch drive.

Any great ideas what I might check for to explain this ROM 3 incompatibility for Floppy Emu?

Steven Hirsch

unread,
Apr 10, 2015, 2:56:54 PM4/10/15
to
On 04/10/2015 10:51 AM, Steve Chamberlin wrote:
> Does anyone know exactly what changed between Apple IIgs ROM 1 and ROM 3,
> that makes ROM 3 incompatible with certain disk drives? I've just been
> bitten by this. I've been working on ProDOS 3.5 inch 800K disk emulation
> support for the Floppy Emu hardware, and it works fine on a IIgs ROM 1 but
> not ROM 3.

FWIW, I have never encountered incompatibilities between my ROM 3 IIgs and any
non-emulated diskette drive. What misbehavior are you seeing?

Steve Chamberlin

unread,
Apr 10, 2015, 3:32:41 PM4/10/15
to
> FWIW, I have never encountered incompatibilities between my ROM 3 IIgs and any
> non-emulated diskette drive. What misbehavior are you seeing?

According to that Apple II wiki I linked, the UniDisk 5.25 (A9M0104) and DuoDisk 5.25 (A9M0108) are not compatible with ROM 3, and "incompatible drives on these models will just spin at startup". I haven't confirmed this myself, since I don't have a ROM 3 IIgs.

The reports I've received from two people using the Floppy Emu on a ROM 3 IIgs seem consistent with this "just spin at startup" description:

1: "When I boot, I get the opening IIgs screen, Floppy Emu shows READ on Track 00 Side 0, Status light blinks, and it just stays like this."
2: "Upon boot, the FloppyEmu seems to be stuck on a READ state (blinking Status LED, reading track 0 on the LCD display). "

Whereas on a ROM 1 IIgs, it boots right up with no problems.

Person 1 also tested ROM 3 while connecting the Floppy Emu to the daisy chain board removed from an AppleDisk 3.5 (A9M0106), which was previously reported by several people to work with ROM 1, even before I developed the Apple II-specific firmware. Under this setup, his ROM 3 machine was able to boot ProDOS from the Floppy Emu. It also partially booted GS/OS, but midway through the boot process it would die with "Unable to load START.GS.OS file. Error=$002E" or "UNABLE TO LOAD PRODOS". If he booted GS/OS from a hard disk, and then inserted a disk image with Floppy Emu, it caused the machine to freeze. Yet all of this seems to work fine (?) on a ROM 1 IIgs.

So it seems there is some important difference in how ROM 1 and ROM 3 handle floppy drives, but I'm not sure what it is. Anyone have a ROM 3 machine they want to donate to the cause? :-)

David Schmidt

unread,
Apr 10, 2015, 3:50:40 PM4/10/15
to
Kinda brings to mind Glenn's difficulties with the beta Uthernet II
cards - it too had trouble with ROM 3 GS machines. I think the moral of
the story is that hardware devs should be using ROM 3 as their
reference. ;-)

Rob Justice

unread,
Apr 10, 2015, 9:51:01 PM4/10/15
to
There seems to be some conflicting information on the compatibility of the Duodisk connected to the IIgs:
http://apple2online.com/web_documents/duodisk_info_iigs.pdf
https://support.apple.com/kb/TA36357?locale=en_US
https://support.apple.com/kb/TA46264?locale=en_US

If someone has a physical copy of the Apple iigs hardware reference second edition, this looks like it has schematics for the ROM03 version. I searched and found a few scans but none have the schematics included. It would be good to have a look at them. I have the first edition and it looks like the IWM connects direct to the connector on the back. Be interesting to see if they put something else in line in between the IWM and the connector in the ROM03.

In the IIc, the schematic shows a 'filter' UC1 in between the IWM and the external connector. Not to sure what this has in it, perhaps some in line resistors and filter caps to gnd?

/Rob

Steve Chamberlin

unread,
Apr 11, 2015, 1:16:09 PM4/11/15
to
Interesting. If we knew exactly what the required DuoDisk modification was (clipping a resistor?), along with a DuoDisk schematic, that would probably help explain what's going on.

> Be interesting to see if they put something else in line in between the IWM and the connector in the ROM03.
>
> In the IIc, the schematic shows a 'filter' UC1 in between the IWM and the external connector. Not to sure what this has in it, perhaps some in line resistors and filter caps to gnd?

Yeah, it's probably just an RC filter, similar to what's used on the IWM for some Mac models. I may be wrong, but I'm guessing the ROM03 drive compatability issues are due to changes in the ROM code, rather than a hardware difference in the disk interface circuitry.

Support At ReActiveMicro

unread,
Apr 11, 2015, 1:50:49 PM4/11/15
to
Steve,

You may also want to check your ROM 1 system. I've seen some older ones with a revision '1' or 'A' SlotMaker IC (located towards the front of Slot 7) that 'worked' better with some things. The same card then worked not at all with the revision 'B' SlotMaker (which is also in the ROM 3).

I believe it may be a Load Capacitance difference.



Henry

Rob Justice

unread,
Apr 11, 2015, 10:53:08 PM4/11/15
to
I found this, it suggests that it is a firmware difference in the Rom03 that causes the problem.
https://ia801005.us.archive.org/34/items/IIgs-No_DuoDisk_on_SmartPort/IIgs-No_DuoDisk_on_SmartPort.pdf

/Rob

Christopher G. Mason

unread,
Apr 11, 2015, 11:08:00 PM4/11/15
to
The device in question connects directly to the DB-19 floppy port and
emulates an Apple style 3.5" drive. Didn't somebody here disassemble
both IIgs ROMs? Perhaps that would provide some clues as to what the
firmware differences are.
Message has been deleted

Charlie

unread,
Apr 12, 2015, 12:04:25 AM4/12/15
to
For what it's worth. There were two bugs in the ROM 01 SmartPort
firmware that were "fixed" in the ROM 3. Of course a bug was introduced
in the ROM 3 with this fix. See Smartport Technote #6.

http://www.1000bit.it/support/manuali/apple/technotes/smpt/tn.smpt.6.html

Charlie

Steve Chamberlin

unread,
Apr 12, 2015, 12:26:19 AM4/12/15
to
I'm not sure that's related to the problem I'm facing, but it's interesting nevertheless. On many (all?) Apple floppy drives, the WRPROT output has a pullup resistor to 5V, and is connected through a normally closed switch to the PHASE2 input. So if PHASE2 is 0, WRPROT will be 0 for a non-write protected disk (switch closed), but 1 for a write-protected disk (switch open). But if PHASE2 is 1, then WRPROT will be read as 1 regardless of whether the disk is write protected or not. I'm not sure why Apple did it this way - maybe as a method for checking whether the drive is connected at all?

The DuoDisk solution proposed in that doc is to use a write protected disk, in which case WRPROT will be read as 1 always - same as if PHASE2 were 1. So my guess is that unlike other Apple drives, the DuoDisk does not have the write-protect switch connected to PHASE2 inside the drive, but rather has the switch connected directly to GND. In this case, with a non-write-protected disk, WRPROT will always be read as 0 regardless of what's happening with PHASE2. If the ROM3 firmware does some kind of check where it sets PHASE2 high and waits for WRPROT to go high, it will wait forever unless the disk is write-protected.

This shouldn't have anything to do with my problem, since I'm emulating a 3.5 inch drive, except that I suspect my hardware is being recognized as a 3.5 inch drive *and* a 5.25 inch drive due to the way it handles the enable signals. Perhaps this slides by OK with ROM1, but not ROM3. I've built a small adapter board for Floppy Emu that should correct this, but I don't have a ROM3 machine to test it with. Anyone know of a source? There are zero on eBay. Or if anyone already has a ROM3 IIgs and a Floppy Emu board, and would be willing to try a few tests, please let me know.

Steven Hirsch

unread,
Apr 12, 2015, 11:27:15 AM4/12/15
to
On 04/12/2015 12:26 AM, Steve Chamberlin wrote:

> Or if anyone already has a ROM3 IIgs and a Floppy Emu board,
> and would be willing to try a few tests, please let me know.

I do, and I am. However, I'm unlikely to have the time to tear into this for a
week or so. If you have not found anyone willing to step up by that time
please yell?

I never saw my recent response appear in the newsgroup either. I posted to
confirm that a UniDisk 5.25 works fine on my ROM 3 when piggybacked on a Disk
3.5. I'm 99.9% convinced that there are no compatibility issues between a
UniDisk 5.25 and a ROM 3 GS. It's the most obvious way to read and write
5.25" diskettes and I'd think any issues would be well known and well documented.

Steve Chamberlin

unread,
Apr 12, 2015, 12:41:17 PM4/12/15
to
> I do, and I am. However, I'm unlikely to have the time to tear into this for a
> week or so. If you have not found anyone willing to step up by that time
> please yell?

Will do - thanks!

> I posted to
> confirm that a UniDisk 5.25 works fine on my ROM 3 when piggybacked on a Disk
> 3.5. I'm 99.9% convinced that there are no compatibility issues between a
> UniDisk 5.25 and a ROM 3 GS. It's the most obvious way to read and write
> 5.25" diskettes and I'd think any issues would be well known and well documented.

Is it the A9M0104 UniDisk 5.25, or the A9M0107 AppleDisk 5.25? Maybe the warning at the apple2.info wiki is wrong, or at least doesn't give the whole story.

Steven Hirsch

unread,
Apr 12, 2015, 5:15:30 PM4/12/15
to
On 04/12/2015 12:41 PM, Steve Chamberlin wrote:

>> I posted to confirm that a UniDisk 5.25 works fine on my ROM 3 when
>> piggybacked on a Disk 3.5. I'm 99.9% convinced that there are no
>> compatibility issues between a UniDisk 5.25 and a ROM 3 GS. It's the
>> most obvious way to read and write 5.25" diskettes and I'd think any
>> issues would be well known and well documented.

> Is it the A9M0104 UniDisk 5.25, or the A9M0107 AppleDisk 5.25? Maybe the
> warning at the apple2.info wiki is wrong, or at least doesn't give the
> whole story.

I have the A9M0107. I'll have to dig in my storage area and see if I even
have an A9M0104. If I was ever aware of a distinction between these models,
I'd long forgotten. Sorry for the confusion!

Rob Justice

unread,
Apr 15, 2015, 8:27:29 AM4/15/15
to
I opened up my Duodisk and had a quick look. The WRPROT signal connects to an output of a 74LS125 like in the disk II. A difference is that it has a 1K resistor to gnd on this side as well. This is what i have seen reference to removing this resistor to make it work on the IIgs. I have not looked any further on the board, but did note that it uses an optical sensor to detect the write protect notch in the disk. This might suggest that it does not behave like a disk II in regards to the ph1 signal due it not being a mechanical switch.

I tested my Duodisk as is (with the resistor in place) on my ROM01 IIgs and was able to boot up a disk ok. (write protected or not)
So it seems this resistor would cause a problem only for a ROM03 IIgs?

/Rob

Antony Mauget

unread,
Apr 15, 2015, 4:20:40 PM4/15/15
to

Rob Justice

unread,
Apr 15, 2015, 6:42:52 PM4/15/15
to
On Thursday, April 16, 2015 at 6:20:40 AM UTC+10, Antony Mauget wrote:
> Rob,
> Maybe you are thinking to this mod :
> https://support.apple.com/kb/TA36357?locale=en_US.
> There is an explaination here :
> http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Peripherals/Disk%20Drives/Apple%20DuoDisk%205.25/Documentation/Apple%20DuoDisk%20-%20IIGS%20Compatibility.pdf

Yes, that was the mod. I wanted to see how that resistor was connected.

Thanks for the reply as you made me re-read the apple support article and it says that on a IIgs with it connected directly it will work ok. This is what I observed. But if you connect it after a Unidisk 3.5, the unidisk will not work. I will test this just to confirm.

Steve Chamberlin

unread,
Apr 15, 2015, 9:26:44 PM4/15/15
to
Maybe I'm blind, but what is the explanation? As far as I can see, that doc basically just says it's incompatible, cut the resistor, but doesn't say why, or why the ROM 03 behaves differently from ROM 01.

David Empson

unread,
Apr 16, 2015, 6:57:29 PM4/16/15
to
I don't know about the specific issue, nor have any of the affected
drive, but my Apple 5.25 Drive works fine on my ROM 3 IIgs, as it did on
my ROM 1 IIgs.

One paragraph quoted from the A2 Wiki puzzles me:

Steve Chamberlin <steve.ch...@gmail.com> wrote:

> But these two paragraphs from the Apple 2 wiki mentions that many
> Apple-brand and 3rd-party floppy drives don't work on the ROM 3 IIgs,
> including the UniDisk 5.25 and DuoDisk:
> http://apple2.info/wiki/index.php?title=A2_5.25_Drives_(19_Pin)#IIc_Plus.2
> C_IIgs_ROM_3.2C_LC_Slot_.2F.2Fe_Card_.26_5.25.22_Drives
>
> First it says "The reason drives may not work with the IIgs ROM 03, IIc
> Plus or Macintosh LC //e emulator card is because around the introduction
> of the Apple IIc Plus, Apple changed the Smartport protocol to where each
> device hooked to it, (be it 5.25" drive, 3.5" drive or a Smartport
> compatible hard disk) needs an ID Byte. The UniDisk 5.25", DuoDisk and
> most 3rd party drives DO NOT CONTAIN this needed ID Byte rendering such
> drives unusable with the newer Smartport protocol." This implies that ROM
> 03 requires ALL drives to be intelligent SmartPort drives.

This doesn't make sense, as far as the 5.25" drives are concerned.

5.25" drives do NOT use the SmartPort protocol, so there cannot be any
such "ID byte". The only drives I know of which use the SmartPort
protocol are the UniDisk 3.5 and third party SmartPort hard drives.

The Apple 3.5 Drive and SuperDrive don't use the SmartPort protocol
either, even though they can be accessed via the SmartPort firmware
interface, which is a separate feature despite the common name.

> But the next paragraph says "The difference is due to the way Apple
> implemented the Write Protect circuit on their own disk drives. The Apple
> design integrates the Stepper Motor Phase 2 in the write protect status
> detection where as many third party drive manufactures used a simple
> ground to complete the circuit. Incompatible drives on these models will
> just spin at startup, the recalibration will not take place." This seems
> to contradict the first paragraph, saying that the problem is related to
> whether PHASE2 is used as the ground return for WRPROT, or if it's
> connected directly to GND. This has nothing to do with SmartPort or
> intelligent drives.

That makes more sense (though I can't confirm the specific details).

--
David Empson
dem...@actrix.gen.nz

Steve Chamberlin

unread,
Apr 16, 2015, 11:06:38 PM4/16/15
to
On Thursday, April 16, 2015 at 3:57:29 PM UTC-7, David Empson wrote:
> > This implies that ROM
> > 03 requires ALL drives to be intelligent SmartPort drives.
>
> This doesn't make sense, as far as the 5.25" drives are concerned.

I agree the SmartPort explanation doesn't make much sense. That's the only place I've seen it referenced.

For what it's worth, I think I've found the solution for the IIGS ROM 03 incompatibility with Floppy Emu's 800K Apple II disk emulation, but I need to wait until I get my hands on an actual ROM 03 machine to confirm.

Problem 1: I'm not handling all the /DRIVE1, /DRIVE2, and /EN3.5 signals properly, because some of them aren't physically connected at the Floppy Emu end. I knew this, but I thought it didn't matter in the case where Floppy Emu is the first connected drive. Now it seems it does matter to ROM 03 at least, and for all ROMs if Floppy Emu is the second drive. I've designed an external adapter board that handles the extra signals, that I think will solve the problem. Waiting on hardware to confirm.

Problem 2: To work around problem 1, I advised the ROM 03 testers to use the daisy chain board removed from an Apple 3.5 Drive, and connect Floppy Emu where the Sony mechanism normally would connect. This solves problem 1, but I think it actually creates a new problem that manifests as error $002E while booting GS/OS. Ironically, this only happens if you use the Emu's Apple II firmware with the daisy chain board. If you use the original Macintosh floppy firmware with the daisy chain board, it works fine on the IIgs with either ROM 01 or 03. Precisely what causes this problem isn't clear to me, but it's something to do with the Emu outputting sense data on pin 20 that the daisy chain board interprets as an eject-releated function. I think my external adapter will solve this problem too (fingers crossed).
0 new messages