GVP IOExtender

Karl Jeacle

With the arrival of a `multimode data controller' to connect my Shortwave Radio to the Amiga, I found myself continuously leaning around the back of the Amiga struggling with serial cables to switch between the controller and my modem. This became tiresome pretty quickly, and the need for a second serial port arose.

The only serial expansion board I was aware of for the Amiga range was Commodore's 7-port A2232 board. Unfortunately, this board seemed to have been discontinued and only supported speeds up to 19200bps. I searched through several UK magazines for alternatives but found nothing. Eventually I came across a discussion of GVP's IOExtender on Usenet. There were two or three alternatives, but they were quite a bit more expensive, and GVP owners seemed to be happy with their purchases. I looked no further.

It was all going so well...

I ordered my IOExtender from `Amigaman' in the USA. They charged US$109 for the board and US$25 for shipping and insurance. My credit card was charged a total of IR#98.50. The only annoyance I found here was that I had to fax a copy of both sides of my credit card to them. A little strange I thought, but it seems to be a reasonbly common practice.

Three weeks later, the board arrived. Not having purchased a GVP product before, I was a little surprised, but impressed with the quality of the packaging, and general presentation of the board.

Unfortunately, all was not well. The board initially failed to function correctly. The serial ports would open, but I couldn't send or receive data. To cut a long story short, I found that the crystal which was supposed to clock the serial ports had come loose from the board during transit and was stuck at the bottom of the anti-static bag.

I rang both GVP and Amigaman. GVP told me my dealer would replace the board and sure enough, Amigaman sent one out the day I called. A predictable three weeks later, a new board arrived. This time with a slightly less loose crystal but working perfectly.

The Hardware

The GVP IOExtender is a full length Zorro II card which offers two high-speed DB9 serial ports, a DB9 MIDI port and a standard parallel port. The board itself has the first serial port and the parallel port fitted. A rear slot cover bracket is supplied with the second serial and MIDI port. Two ribbon cables run from these to the board. You don't have to fit these extra ports if you don't want to, but since I had no other cards in my machine, there was no reason why not to. A CPU slot cover plate is also supplied (for use on 2000/3000 machines) which avoids using up a valuable Zorro slot by allowing you to mount the extra ports at the CPU slot.

Another nice touch is the jumpers on the card which allow the serial ports to be run as `null-modem' ports (by simply crossing Tx & Rx lines). This eliminates the need for a null modem cable on the outside. However, since these jumpers are on the board itself and not accessable from the outside, you'd want to know for sure if this was all you wanted that port for. Another jumper is provided which switches the parallel port from Amiga Parallel to IBM PC Parallel. The difference here is that the Amiga port supplies 5 volts on pin 14 (allowing devices such as samplers and digitizers to be powered).

The MIDI port on the board is not a standard MIDI DIN connector. You need to buy an additional MIDI expansion unit, which provides two 16 channel MIDI buses. Each bus provides 1 IN, 3 OUT and 1 THRU connectors.

Although the IOExtender only has two serial ports, you can install as many IOExtenders in your Amiga as you have free Zorro slots. Each port is assigned a unique ID number allocated `down' the expansion bus. As you count cards along the bus, you get SerUnit0, SerUnit1, SerUnit2, SerUnit3 and so on. This of course applies to the parallel ports as well.

There is also an empty chip socket and option connector on the board which are reserved for future expansion. I've read on Usenet that there are mumblings of Ethernet capability for this port, but I have my doubts.

The Documentation

The manual supplied with the IOExtender is one of those small plastic ring-bound affairs. It's 44 pages long and has plenty of diagrams, screenshots and examples on how to install the board, and configure it to work with popular software packages. It also has an index and troubleshooting guide. Quite adequate.

The Software

Software supplied with the board consists of a single disk with drivers and several control programs. An installer program is supplied.

Getting your software to use the board can be achieved in three ways.

The most desireable method is tell your application which serial or parallel port you would like to use. Most terminal programs allow you to do this. So to use your modem with your IOExtender board, you could enter gvpser.device in place of serial.device, and select unit 0 or 1 to choose which of your new serial ports to use.

The second method involves the use of logical device designations GVPPar0: and GVPSer0:. These are managed by a handler in the l: directory. Some programs allow you to specify your output device in this manner.

The final method is a last resort. If your application software insists on using the internal Amiga ports, GVP have supplied a program called SetDevice which runs at startup and can intercept calls to the serial and parallel ports. An intuition front-end called GVPIOControl is provided which lets you decide whether calls intercepted should be passed through as normal or whether they should be redirected to one of the IOExtender ports.

Although this last system seems a little nasty, it can work well. If you are using something like a digitizer or sampler on your internal parallel port, the software to control this device most likely deals directly with the hardware. By using this software, you can attach a printer to your IOExtender and make it look like it's attached to the internal parallel port, so none of your software needs to be changed at all.

A third program called GVPSerial is supplied. The function of this program is identical to that of the standard Serial program supplied in your Prefs drawer. It just controls the GVP serial ports instead of the internal port.


I haven't made any performance tests on the board, but there seems to be a reasonable drop in CPU overhead during high-speed serial transfers. How do I know this? Well, not very scientific, I'll admit, but when `Blanker' kicks into operation when the machine is downloading a file, the splines move smoothly around the screen instead of the usual jerky motion.

I've no real complaints about the board; my only gripe would be that GVP didn't supply DB9<->DB25 adaptors for the serial port, but perhaps this is asking a bit much.

Overall, I'm happy with the IOExtender. It does everything I want it to, has a quality feel to it and is relatively good value for money. I'd have to recommend it.