How to construct a Vectrex Multicart (Very simple)
by Tursi (M.Brent)
NO SUPPORT IS PROVIDED FOR THIS DOCUMENT!
First - the background!
The Vectrex has a 32k address space available on the cart port. Most games are only 4 or 8k, however. There are a few public domain programs at 32k.
The cartridge port pinout is as follows. Even is on the top, odd is on the bottom. The circuit board I worked from was labelled, so it's not too hard to tell.
(Some updates thanks to Canadian CoCo Nut.)
PIN Function
The cartridge I worked with was Clean Sweep, a 4k x 8bit cart. The 24-pin pinout for the ROM on the board is:
The EPROM chosen was the 27C040, a 512k x 8bit EPROM. With this EPROM, allocating 8k per image, we can fit up to 64 images on the ROM. (I only had 44 when I did it, mind you.) Using a second switch (see below), we can also map in the 32k ROMs. Anyway, this handles all the commercial stuff, although the ones that need a light pen or 3D helmet will still need those things, and apparently Animaction needs some extra RAM, which this doesn't provide.
The 27C040 has the following 32-pin pinout:
If you line up the back end of the ROMs, you'll notice all the pins except 3 line up - A11 and *CE are swapped (this is apparently due to a last minute ROM change at GCE ;) ), and A13 on the EPROM line up with Vcc on the ROM.. which isn't right.
What you'll need, then:
1x 27C040 EPROM, programmed with all the images that you wish to run, each starting exactly on an 8k boundary. (I've found the M27C4001 a good replacements)
1x DIP switch with at least 6 switches (or 6 other on/off switches as you choose)
6x 10k resistors (get small ones, not big ones like I did. ;) )
1x Vectrex cart that you’re willing to canabalize
... and a bit of wire, soldering iron, solder, and a clue.
First you'll need to desolder the ROM on the Vectrex board, and get the holes clean. It's not too bad, mine came off easily with a bit of desoldering braid, but be careful not to apply too much heat as the pads and traces lift really easily (especially the second and third times through... oy!)
Next, cut the traces from 10 and 16 on the card edge connector. If you look, they run under the chip and loop around to reverse the signals. We actually want them back in their original positions. I used a jumper wire after mounting the EPROM, so just cut the traces and come back to it. ;)
On the EPROM, lift pins 1, 2, 3, 4, and 28, 29, 30, 31, 32, so that they don't touch the board. All these pins except 28 have no hole anyway. Make sure that pin 28 doesn't touch the connection underneath, as it's +5v. Insert the EPROM into the board, with the notched side hanging over the edge. (IE: pins 16 and 17 are in holes and pins 1 and 32 are not. ;) ) Go ahead and solder it in. Note, if you use a socket, there won't be room to reassemble the cartridge.
Connect a jumper from card edge pin 16 to EPROM pin 22, and pin 10 on the edge to EPROM pin 25. The traces on the circuit board run right beside these pins so they're easy to spot. This fixes the reversed pins.
Connect pin 1 and pin 32 on the EPROM to Vcc (card edge pin 2 and 4, either one).
Connect pin 4 on the EPROM to card edge pin 29 (this pin was not connected on Clean Sweep.) This is the 8k high address bit.
Connect one side of all the switches to Vcc. Connect one lead from the other side of each switch to each of EPROM pins 2, 3, 28, 29, 30, and 31. Numbering the switches from 0 to 5, I mapped them like this:
EPROM | Switch | Line |
2 | 3 | A16 |
3 | 2 | A15 |
28 | 0 | A13 |
29 | 1 | A14 |
30 | 4 | A17 |
31 | 5 | A18 |
Finally, attach a 10k pulldown resistor between GND and the EPROM pins going to the switch, that is, pins 2, 3, 28, 29, 30 and 31. This forces the leads to logic low when the switch is off.
Mounting things can be a pain.. I just cut a notch in the end of the cartridge for the DIP switch and mounted it there. Then I printed out a nice small label listing the games and what switch settings to use for each.
Trouble-shooting - If things go wrong... check the wiring. Over and over again. Here's what I specifically ran into:
-forgot to swap pins 10 and 16 - Vectrex was dead with the cart in place
-pullup resistors not in place - some, not all, but some games crashed horribly after the game title page. (And some were glitchy there).
That's all! Here's a blurry image of the prototype... for what it's worth. ;) Schematics follow.
I've included a rough schematic for using a DPDT to enable 32k mode... it could be used to stick 32k games in the cartridge. It just replaces SW0 and SW1 with the appropriate address lines from the Vectrex. The caveat then is that 32k games must sit at a 32k offset, and all other games at an 8k offset. You'd also have to remember to flip the 32k switch to play a 32k game, but there are some nice ones (like Vecmania)... This is tested and works well. ;)
The following games are in the all32k.bin file (with dipswitch settings):
Original File Dip Switch Setting make8k all.bin ARMOR.bin 000000 make8k all.bin BEDLAM.bin 000001 make8k all.bin BERZERK.bin 000010 make8k all.bin BLITZ.bin 000011 make8k all.bin CASTLE.bin 000100 make8k all.bin CHASM.bin 000101 make8k all.bin CRAZY.bin 000110 make8k all.bin DUALVEC2.bin 000111 make8k all.bin HEADSUP.bin 001000 make8k all.bin HYPER.bin 001001 make8k all.bin LANDER.bin 001010 make8k all.bin MELODY.bin 001011 make8k all.bin MINE3.bin 001100 make8k all.bin NARROW.bin 001101 make8k all.bin NARZOD.bin 001110 make8k all.bin PATRIOT.bin 001111 make8k all.bin POLAR.bin 010000 make8k all.bin POLE.bin 010001 make8k all.bin RIPOFF.bin 010010 make8k all.bin SCRAMBLE.bin 010011 make8k all.bin SOLAR.bin 010100 make8k all.bin SPACE.bin 010101 make8k all.bin SPIKE.bin 010110 make8k all.bin SPINBALL.bin 010111 make8k all.bin STARHAWK.bin 011000 make8k all.bin STARTREK.bin 011001 make8k all.bin SWEEP.bin 011010 make8k all.bin WEBWARS.bin 011011 rem 32k switch on make32k all.bin AGT.bin 011100 make32k all.bin DKTOWER.bin 100000 make32k all.bin frogger.bin 100100 make32k all.bin Omega16k.bin 101000 make32k all.bin SPECTRUM.bin 101100 make32k all.bin SPIKEHOP.bin 110000 make32k all.bin vm-bank1.bin 111000 make32k all.bin vm-bank2.bin 111100Click here to download the binary for the 32k cartridge