07/03/10: 8-Slot MPI (Multi-Pak Interface) for my friends at CoCo3.com and MaltedMedia list (1 of 2) by gimechip, | Tags: | Category: General | Comments are closed

8-Slot MPI (Multi-Pak Interface) for my friends at CoCo3.com and MaltedMedia list (1 of 2)

This is part 1 of 2 of: An 8-Slot MPI (Multi-Pak Interface) Design for my friends at CoCo3.com and/or the MaltedMedia list members from your friend John [at] GIMEchip [dot] com


A couple of days ago, one of my neighbors contracted to have some water lines run to his house. In the process of digging said lines, the contractor severed my phone line and thus my DSL connection. This being the case, I had no internet and seemingly nothing to do. So, once again, I decided to use this time to create a hardware product for my TRS-80 Color Computer Family (yes, I consider you folks my friends and family by CoCo). Now, one of the most popular requests that I have had is to clone the MultiPak Interface. Over the last 3-ish years, I’ve made several 4 slot units and designed an advanced 8-slot unit (which included features such as speed indicator displays, halt/step/run circuit, active slot display and oodles of other features.) That design, unfortunately, was huge, and too costly to produce (I had been pondering over the possibility of producing it for the past couple of weeks.) Fitting it into a CPLD would have made it able to be produced at a reasonable cost. However, this would have entailed the use of surface mount components and would have made it difficult for some (such as myself – poor eyesight) to assemble. So, I took the opportunity afforded by the outage of my internet DSL service to create a brand new design from scratch. I wanted this to be easy to assemble and reasonable (cost-wise) to produce.

With that in mind, I began working non-stop for just under nine hours. At the end of that nine hours, I had finished that which you see before you now. An 8-Slot Multi-Pak Compatible Interface for our beloved CoCo. Keep in mind – this was all done for you guys (and gals). I wanted to make something that would be of use to each and every one of you.

Now, this article is separated into two parts. This is part 1 of 2. I decided early on to use two PCB’s (Printed Circuit Boards), with the 8-Slot Board attaching to the Buffer Cartridge Board via a short length of 40-wire ribbon cable. I know that using two PCB’s increases the cost somewhat, but I really wanted the flexibility afforded by the use of the ribbon cable. With that in mind, let’s have a look at the Buffer Cartridge Board (download the files at the end of this article and print out the PDF’s to reference as you read along.)

The Buffer Cartridge Board plugs into the cartridge slot of the CoCo or Dragon and buffers all address and control lines before passing them via the ribbon cable to the Slot Board. Note that the Data Bus isn’t buffered at this point by the cartridge board – it is passed on to the Slot Board where it is buffered bi-directionally.

Looking at the schematic, page 1:
CN1 is the cartridge plug that plugs into the CoCo.
CN2 and CN3 are the grounding tabs (one on each side of the cartridge plug).
Resistor R1 and LED1 are a power on indicator – if this LED is lit, then the Computer is powered on.
Resistor R2, R3, transistor Q1 and capacitor C1 are connected so as to act as a SWITCH. When power is applied to the CoCo, the collector of Q1 will be pulled to a low logic level, termed !PS_ON (I suppose it would be more accurate to say that the transistor is wired as a logic inverter). This signal is passed to the Slot Board and is used to power on an ATX Power Supply. Turning on the CoCo, therefore, will automatically power on the 8-Slot MPI via it’s standard ATX Power Supply. This !PS_ON signal is passed to the Slot Board via Pin 9 of the 40 pin header (which is normally 5 volts from the coco, see next…)
Capacitor C6 is used as a filter cap for the 5 volts from the CoCo cartridge slot. Note that this 5 volts is used only on the Buffer Cartridge Board – it is NOT passed on to the slot board – all power is provided to the slot board via the ATX Power Supply. As such, pin 9 of the 40 pin header is freed for another use – the passing of the signal that turns on the MPI’s ATX Power Supply.
RN1A-RN1D are part of a 4.7K Resistor Network – they are used as pull up resistors for some of the sensitive signals.
S1 is a RESET switch – very handy – you can RESET the CoCo (and the MPI [if enabled, see below]) by simply pressing this little TAC Switch.
IC1 and IC2 are the Address Bus Buffers.
C2 and C3 are the decoupling caps for IC1 and IC2.

Schematic, Page 2:
CN4 is the 40-pin IDE-Type Header, which is used to connect to the Slot Board. ALL signals are buffered between the two boards, but the data bus is buffered on the Slot Board for reasons that will become apparent in part 2 of this article.
C7 is a filter cap that I erroneously included in the design and it should be omitted. This pin is not the 5V from the CoCo but is being used to pass the signal to tell the ATX power supply to switch on – so this cap is not needed.
SW1 and SW2 are switches that I will discuss at the end of this (part 1) article.
Capacitors C8,C9 and C10 are on the !CART, E and Q lines and may or may not be needed. I have allowed for them just in case.
RN1E is another 4.7K section of the resistor network used as a pullup.
IC3 and IC4 buffer all of the Control Lines plus the two (E & Q) clocks.
C3 and C4 are the decoupling caps for IC3 and IC4.

Now, the functions of the two 8-Position DIP Switches will be discussed. These 16 Total switches (contained in two 16-pin DIP packages) allow great flexibility in the control of this interface. Let’s look at them in order, starting with SW1, switch 1, on continuing until all 8 have been discussed.
SW1:
S1 = Allow/Disallow !SLENB. If this switch is OFF then !SLENB cannot be controlled by any device in the MPI. If this switch is on, !SLENB functions normally.
S2 – Allow/Disallow SOUND. If this switch is OFF, then no sound can be passed from any device in the MPI back to the SND input of the CoCo. Since the ON position of all of these switches is common sense, I’ll only discuss what the OFF position means.
S3 – OFF = Prevent R/W* from reaching the MPI.
S4 – OFF = Prevent Q Clock from reaching the MPI.
S5 – OFF = Prevent E Clock from reaching the MPI.
S6 – OFF = Prevent CTS* from reaching the MPI.
S7 – OFF = Prevent SCS* from reaching the MPI.
S8 – OFF = Prevent CART* from the MPI from reaching the CoCo. This can be used to disable the Auto-Start of the cartridge in the active MPI slot.
SW2:
S1 – OFF = Prevent RESET* from reaching the MPI. This can be used to allow the CoCo to be reset without resetting the MPI and peripherals therein.
S2 – OFF = Prevent NMI* from reaching the CoCo from the MPI.
S3 – OFF = Prevent HALT* from reaching the CoCo from the MPI.
S4 – OFF = This controls whether or not the ENABLE* signal reaches the MPI. The ENABLE* signal is generated on the cartridge board and will be discussed below. Pin 33 of the 40-pin header is used to pass the ENABLE* signal to the slot board (this pin [33] is normally 1 of 2 GND pins. The other is Pin 34 which still serves as GND.)
S5 – This switch determines whether or not pin 2 of the CoCo cartridge connector is connected to pin 2 of the header connector. Since pin 2 is not used in the CoCo 3 (it has +12V in the CoCo & Dragon), it can be used to pass specific signals such as interrupts, etc between the CoCo & the MPI. I have thus allowed for it to be used in case you need it for a project.
S6 – This switch determines whether or not pin 1 of the CoCo cartridge connector is connected to pin 1 of the header connector. Since pin 1 is not used in the CoCo 3 (it has -12V in the CoCo & +12V in the Dragon), it can be used to pass specific signals such as interrupts, etc between the CoCo & the MPI. I have thus allowed for it to be used in case you need it for a project.
S7 – This determines whether or not the !PS_ON signal reaches the MPI’s ATX power supply. If this switch is off, then the MPI cannot power on. Useful in cases where you do not wish to turn on the MPI.
S8 – This switch generates the ENABLE* signal. If this switch is OFF then the address and control bus buffers are tri-stated. If S4 is ON, then the DATA buffer is also tri-stated. This effectively disconnects the MPI from the CoCo, in case you need to do so without powering everything down. If S4 is off, the address and control buffers will tri-state, but not the data buffers (I don’t know if this mode is useful, but it’s a ”freebie” mode). Now, if S8 is off, the MPI functions normally.

Well, that’s about it for Part 1. I will post Part 2 (the Slot Board) as soon as I have time to type it all up. As you can tell, I’m not very good at writing articles – also, whenever you see a signal referred to as !ENABLE, it is the same as ENABLE* – that means the signal is active low.
DOWNLOAD THE FILES FOR PART 1 HERE:
Buffer Cartridge Board – Schematic and Layout EAGLE files
Buffer Cartridge Board – Schematic and Layout PDF files

PART 2 COMING SOON.

If you see any potential problems in this design, please let me know.

Thanks – John

Comments are closed.