A popular, but, much maligned bus expansion device for the CoCo was the venerable MPI. There were several companies who made bus expasion devices for the CoCo, however, this question is related specifically to the Tandy version.

There were three model numbers listed for the MPI:

  • 26-3024 - in both grey and white colors;
  • 26-3124 - in white, released about the same time the restyled CoCo 2 was;
  • 26-3124A - in white, released about the same time as the CoCo 3 was;

It's pretty well known that the second two devices (3124 & 3124A) were electronically identical with the original, but, used more circuit integration. However, there is a compatibility issue with the 3024 and 3124 when used with the CoCo 3.

Two questions:

  1. What is the problem with using the 3024 and 3124 with the CoCo 3?
  2. Is there a method to fix the problem on either device?
  • If you don't have access to a PAL / GAL programmer, Cloud 9 does sell the programmed chip. I'm going to see if I can also start to make these, I just need to buy the correct GAL once I have a big enough order for parts.
    – fziffle
    Jan 26 at 14:45
  • Welcoem to the site @fziffle! Moved this to a comment as it was flagged on not being an answer, and I'm inclined to agree, but it's useful content so didn't want to remove it altogether. If you do have some more info that directly addresses the questions posed feel free to post another, and please do stick around :)
    – Matt Lacey
    Jan 27 at 13:29

2 Answers 2


From Marty Goodman, writing in The Rainbow, January 1987, page 102:

The reason for the Multi-Pak fix for the CoCo 3 is at least twofold.

First, the older PAL chips used to decode the software slot select port for the Multi-Pak “ghosted” from $FF7F to $FF9F. That is, when a value was written to $FF7F, it appeared at $FF9F also, and vice versa. This ghosting caused no problems with the CoCo 2, but it plays havoc with the CoCo 3, which occasionally wants to write to $FF9F when talking to its GIME chip. Similarly, any attempt at slot selection with a ghosting Multi-Pak will send spurious data to the GIME chip. Thus, the decoding of the software slot selection port had to be made more complete.

Second, Tandy felt it necessary to lock out the $FF80 through $FF9F range ($FFA0 and up are already locked out by the programming of the old Multi-Pak PAL chips). This was to protect the GIME chip from conflicts with information from other external devices that might be addressed in that range.

The article goes on to explain the hardware upgrades necessary to fix the Multi-Paks:

On the older Multi-Pak (26-3024) all that is necessary is to replace the PAL chip, U8, with updated PAL chip.

On the newer Multi-Pak (26-3124), Marty makes the case to have the upgrade done by a professional:

If you own one of the newer MPIs (Catalog No. 26-3124), I recommend you take your MPI to Tandy and have them upgrade it for you. This is because the upgrade involves cutting a trace on the circuit board, and then delicately soldering seven wires of the new satellite board to various integrated circuit chip pins on the board. If you feel totally comfortable with doing such work, what follows is a brief outline of the upgrade process.


Tim's answer referencing Marty Goodman offers a good explanation, but not really any options for users today who might need to make this upgrade.

The 3024 model can be modified with a simple PAL upgrade, available from Cloud9

If you have access to a programmer and the proper GAL, there's information on Coco3.com for another option:

If you get a Gray or White Large MPI (both have catalog #26-3024), then the procedure is different – you simply replace the 14L4 PAL with a properly programmed 16V8. You can’t use the equations presented above for a 26-3024. Instead, use these:

Name 26-3024 M.P.I. Upgrade ;
PartNo GCC-3024.01 ;
Date 6/1/2010 ;
Revision 01 ;
Designer J&R ;
Company GIMEchip.com ;
Assembly 26-3024 M.P.I. Upgrade PAL for CoCo 3 ;
Location U6 ;
Device g16v8 ;
/* ***************** INPUT PINS *****************/
PIN 01 = !FFXX; /* LOW For Any Address Between $FF00-$FFFF */
PIN [2..9] = [A7..0]; /* CPU A7 – A0 */
PIN 11 = RW; /* READ = 1, WRITE = 0 */
PIN 12 = E; /* E-Clock */
PIN 13 = Q; /* Q-Clock */
PIN 18 = !CTS; /* Cartridge Select Signal. */
PIN 19 = !SLENB; /* Input To Disable Device Selection. */
/* ***************** OUTPUT PINS *****************/
PIN 14 = !DBEN; /* Enables The Multi-Pak Interface Data Buffer */
PIN 15 = !IOR; /* Read the Slot Select Latch. */
PIN 16 = !IOW; /* Write the Slot Select Latch */
/* ***************** LOGIC EQUATIONS & VARIABLE DEFINITIONS *****************/
FIELD ADDRESS = [A7..0]; /* */
LATCH = ADDRESS:[7F]; /* Slot Select Latch@$FF7F */
IOR = LATCH & FFXX & E & RW; /* Active on $FF7F and E=1 and RW=1 */
IOW = LATCH & FFXX & E & !RW & !Q; /* Active on $FF7F and E=1 and RW=0 and Q=0 */
DBEN = (ADDRESS:[40..7F] & FFXX) # SLENB # CTS;/* Active $FF40-$FF7F or SLENB or CTS */
/* *****************/

The 26-3124 model can be upgraded according to this image from coco3.com using a 74LS10 and some soldering skills:

Little John's 74LS10 upgrade

Standard CoCo 3 upgrade for the 26-3124 Multi-Pak Interface. The integrated circuit is a 74LS10 Tripple 3-Input NAND. The trace connecting pin 19 of IC1 to pin 52 of IC6 is severed. This circuit is assembled and connected as indicated in the schematic. This circuit restricts the address range of the M.P.I. data buffer to $FF40-$FF7F. The data buffer is aso enabled on SLENB* and CTS*. BA7 is buffered address line A7.

Once you make this upgrade, your MPI will only be address compatible with the CoCo 3.

  • 2
    The above information is mostly correct, except for the comment: "Once you make this upgrade, your MPI will only be address compatible with the CoCo 3." That is not true. What is true is that a (very) few CoCo 1/2 devices that use addresses in the $FF80-$FF9F range will no longer work in that Multipak, but most devices including the floppy controller, most (all?) hard disk controllers, the RS232 pak, and most other devices will work fine in a modified Multipak on a CoCo 1, 2 or 3. Sep 7, 2016 at 18:34

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.