7

Pin 32 of the Apple II bus is a signal called /INH (short for "INHIBIT"). Some of what I found online about using this pin for an Apple II expansion card suggests it was inconsistently implemented across the various versions of the Apple II.

Pin 32: this is the INHIBIT pin on all machines. This behaves differently on all three machines: the II and II+ only allow the $D000-$FFFF ROM area to be inhibited. The IIe allows RAM to be inhibited as well, but has strange interaction with main and auxiliary memory. The IIgs only allows this signal to be used if the machine is running in slow mode.

Other references simply say that /INH disables all the motherboard memory. Which description is correct?

Also, what sort of expansion cards use /INH and how? Is it for a particular type of memory expansion card?

7

Other references simply say that /INH disables all the motherboard memory. Which description is correct?

All three are.

  1. /INHIBIT is originally used in the II/II+ to disable the ROMs. It was intended to allow I/O cards to hold alternate System-ROMs. In the Apple II it was mostly used by the Language Card.

  2. The IIe already came with 64 KiB of on board RAM, organized like an Apple II with Language Card, thus original use of /INHIBIT was no longer needed. It got reused to disable the whole RAM decoding - except this worked only in a straight way when no aux-64 KiB card was installed(*1).

  3. During IIgs development, use of the MEGA II chip, essentially a whole IIe on a chip, was made mandatory. The 16 bit side is build around this with all (classic) I/O on the 8 bit side. As a result all usage of /INHIBIT was not only restricted to the 8 bit side, but rather useless as well.

Also, what sort of expansion cards use /INH and how? Is it for a particular type of memory expansion card?

Yes, it was first used with the Firmware Card holding either Applesoft II ROMS or Integer ROMs (*2). Not much later with the Language Card (16 KiB Card) for Pascal.

In the early 80s memory cards like the Saturn, which were based on an extended Language Card scheme did use it as well.


*1 - I've been once told, this was due the sequence the Apple IIe was developed. The new handling for /INHIBIT was fixed in the MMU design, before the 64 KiB expansion was fully defined. But I can't find any reference here, so take it with a grain of salt.

*2 - IIRC there were as well third party ROMS with FORTH(!), PILOT and some enhanced BASIC.

| improve this answer | |
  • Mostly makes sense. Surely this created compatibility issues for memory cards that preceeded the //e. But I guess the banking scheme of the Language Card and //e then became the "standard" for up to 128KiB. – Brian H Apr 23 at 12:32
  • Now I'm also wondering if RamFactor used /INH. – Brian H Apr 23 at 12:34
  • @BrianH The classic AE one or the new Reaktive Micro card? Well, in any case, they are RAM cards using a memory window for access. They do not mimic the Language Card structure, that's why they need to run in a slot other than #0 and why they work on any II like computer. - AFAIR that is. – Raffzahn Apr 23 at 13:05
4

As far as the Apple II and II plus are concerned, both Jim Sather (Understanding the Apple II, 1983) and Titus, Larsen & Titus (Apple Interfacing, 1981) agree that /INH affects only the the onboard ROMs:

Relevant paragraph from Sather

(Sather)

enter image description here

(Titus, Larsen & Titus)

(I know this is just a third of an answer, really, but I only have no reference material for the IIe or IIgs on hand.)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.