INTERPOD IEEE-488 Interface

  • The INTERPOD is an interface box that provides IEEE-488 and RS-232C ports to computers with an IEC bus such as the Commodore VIC-20 and 64.

    Unlike most other IEEE-488 interfaces which plug into the expansion port, the INTERPOD sits on the IEC bus to provide a transparent interface that requires no ROM or software on the computer to operate. It sacrifices speed for better software compatibility.

    I’ve done a bit of work on my INTERPOD including adapting it for use with a C64 power supply, reverse engineering its memory map, and expanding it to allow the use of a larger EPROM.

    Power Supply

    The INTERPOD requires an external power supply that plugs into a 7-pin female DIN socket on the side of the unit, next to the RS-232C port. This is the same DIN connector that is used by the Commodore 64 but the pin configuration is different.

    I do not have the original INTERPOD power supply. Ruud Baltissen does and he reported it uses only two pins on the DIN socket. I confirmed on the INTERPOD circuit board that all other pins on the DIN socket are unconnected. If the female DIN socket is compared to a compass, only the pins at West and North-West (left of the key) are used. Ruud measured his INTERPOD power supply on these pins at 8.7VAC, unloaded.

    The Commodore 64 power supply produces both 5VDC and 9VAC. Luckily, one of its 9VAC legs is the same pin as the INTERPOD. I added a jumper wire for the other pin that makes the INTERPOD compatible with the C64 power supply.

    I/O Connections

    The two serial IEC connectors are wired in parallel like on the 1541 and other serial drives, despite being marked on the INTERPOD circuit board as “DIN IN” and “DIN OUT”. You can connect the computer to either using a standard 6-pin serial cable.

    The edge connector for parallel IEEE-488 is the same as on the PET/CBM series with one unfortunate exception: the two notches are not present. You can use a Commodore cable here but first you must pull out the two small plastic keys.

    At least two versions of the INTERPOD exist. Ruud Baltissen’s INTERPOD has a 24-pin GPIB connector instead of the edge connector.

    Quick Check

    After connecting power to the INTERPOD, its LED should blink rapidly and then stay lit. With its serial IEC port connected to a computer, you can run the following BASIC program to test it even if no IEEE-488 peripherals are attached:

    0 OPEN 2,4,31 : INPUT #2, A$ : CLOSE #2
    1 PRINT A$
    

    After the INTERPOD is first powered on, it should respond with I1.4 (firmware version 1.4). It will subsequently respond with OK.

    When IEEE-488 peripherals are attached, they should transparently respond to their device numbers. The INTERPOD will reset any attached IEEE-488 peripherals when it is powered on or reset by the IEC bus.

    Internals

    Like many Commodore peripherals, the INTERPOD is a small 6502-based microcomputer. It uses an NMOS 6502 and a 2716 EPROM (2Kx8) for its firmware. It also contains a 6532 RIOT, a 6522 VIA, and a 6850 ACIA. This is the address decoding:

    A15  A14  A13  A12  A11  A10  Selected    Base    Mirror Used by Firmware
    ---  ---  ---  ---  ---  ---  ----------  -----   -----------------------
     0    0    X    X    X    0   6532 RAM    $0000   $0000
     0    0    X    X    X    1   6532 I/O    $0400   $0400
     1    X    0    X    X    X   6522 VIA    $8000   $8000
     X    0    1    X    X    X   6850 ACIA   $2000   $A000
     X    1    X    X    X    X   2716 EPROM  $4000   $F000
    

    Firmware

    I own two INTERPOD units that appear to be identical. Each contains a 2716 EPROM with a sticker over the window labeled 1.4. Both EPROM contents are identical.

    INTERPOD Firmware 1.4

    Ruud Baltissen’s INTERPOD came with version 1.6. I have since replaced the 1.4 firmware in one of my units this one and it works well.

    INTERPOD Firmware 1.6

    ROM Expansion

    If you need to burn the original firmware but don’t have a 2716 (2Kx8) handy, you may substitute a 2732 (4Kx8). Burn the firmware into the upper half (or both halves). The INTERPOD has pin 21 (Vpp on 2716, A11 on 2732) hardwired to Vcc.

    The INTERPOD firmware leaves only about 15 bytes free of its 2K EPROM. More space is needed to add any new functionality. You can replace the EPROM with a 2732 and double the amount of ROM space to 4K by making a small modification to the INTERPOD. Cut the trace on the top side of the board from U3 pin 24 (Vcc) to U3 pin 21. On the 2716, pin 21 is Vpp. On the 2732, pin 21 is A11. Add a jumper wire from U3 pin 21 to U1 pin 20.

    C128 Fast Serial

    The INTERPOD is not compatible with the fast serial mode (“burst” or synchronous serial) used by the Commodore 128 computer and the 1571, 1581, and CMD HD/FD drives.

    When attempting to use a C128 (in C128 mode) to copy data between an SFD-1001 behind the INTERPOD and a CMD HD, I noticed that the INTERPOD would lock up the IEC bus whenever an attempt to access the CMD HD was made.

    A temporary solution is to disable fast serial in software. With the power to the INTERPOD off, I power up the C128 and CMD HD. I then issue the U0>B0 (fast serial disable) command to the CMD HD. Finally, I power up the INTERPOD. This will allow me to use the CMD HD in C128 mode until the computer or the CMD HD are reset.

    I also solved this issue in hardware by modifying an IEC cable. I cut the connection to SRQ (pin 1) to disable fast serial. When this cable is the first in the chain (i.e., plugged into the computer), the INTERPOD will not lock up the bus in C128 mode.

    Notes

    I believe that the RS-232 port is transmit only because I could find no reference to the ACIA’s Receive Data Register (RDR) in the firmware. This makes sense on one hand because it was probably intended to be used with a printer. There is a 1489 Quad Line Receiver on the board, so I hope that the hardware will support it even if I am correct and the firmware does not.

    The INTERPOD firmware converts serial IEC to parallel IEEE-488 only, although the hardware is probably also capable of the reverse. It would be very useful to expand the firmware to implement this because it would allow PET/CBM computers to use IEC peripherals like the CMD HD series hard drives.

    Finally, the INTERPOD’s IEC to IEEE-488 conversion is slow. When connecting fast parallel drives like the 8050, they operate at the slow Commodore serial speed like the 1541. Another good project would be to implement the JiffyDOS protocol in the INTERPOD to improve its speed.

    Resources

    End User Manual
    Advertisement (Ahoy, Jan 1984)
    INTERPOD Photos on Flickr