I dig. How does it run on a NATO Defense boardset? (From the mods, it looks like yours was a NATO set originally)
Good observation.
The short answer:
It actually will run on a NATO or Thief boardset, which I've both verified.
(And it may be possible to support native Shark Attack boardsets too. But I don't own a factory Shark set, and did most of this work after I'd shipped Phetishboy's back, so I didn't get a chance to try it. That said, there's an alternate way to support Shark Attack *cabs*, keep reading...)
The long, very detailed answer (for anyone really interested):
For terminology, there are three boards in a NATO or Thief set:
- The CPU board (with the main ROMs, RAM, and video circuitry),
- The smaller I/O board (which handles I/O and audio),
- The Coprocessor board (which handles additional graphics functions), and is slightly smaller than the CPU board.
Shark Attack boardsets are a separate case, for a couple of reasons. First, it's only a 2-board set, not three. Shark Attack doesn't use the Coprocessor board (which actually makes things easier, in one sense). It also has a CPU board with a slightly different video section, but I believe the same CPU/ROM design. But the I/O board is the same as Thief and NATO. So I think it may be compatible here, but I don't have one to check.
Worst-case, even if the native Shark CPU board is not directly compatible, you should still be able to drop one of these modified 3-board NATO/Thief sets into a Shark Attack cab and get all 3 games, as the cab connections are all the same. You would just have to add two wires to get +5V and GND to the Coprocessor board, but that's easy. The Coprocessor board connects to the I/O and CPU boards via the ribbon cable, so no other cab connections/mods are needed.
One additional interesting side note is that the Shark Attack CPU boards (which are blue, not green) are also labeled Rev 2A. However they are visibly different than the green Rev 2A CPU boards for NATO and Thief, and I think were only used for Shark Attack. (I can post pics later.) If you compare the video sections, Shark Attack only has 12 or so video RAM chips, not the huge block of 32 chips that Thief and NATO have. However I suspect (but have not confirmed) that they may be functionally equivalent enough to run NATO/Thief. That's back-burnered until I can get access to another Shark Attack CPU board to test. But it's also somewhat moot, because you can drop a Thief/NATO set into a Shark Attack cab, and those are easy to get.
Anyway, back to NATO/Thief. This is where it gets a little detailed. But basically there are two revisions of the green CPU PCB's. Some say Rev 2A, and some say Rev 3, printed on the silkscreen.
Most Thief sets use the Rev 2A board. I believe all NATO boards use Rev 3, and also have a bunch of blue-wire mods and trace cuts done to them. (This is why I originally thought a multikit would not be possible, as the boards appeared to be too different.)
NATO CPU boards also have two additional 2114 RAM's populated at K4 and K5, and one additional ROM socket populated at H1, compared to Thief. (Thief has spots for these extra ROM and RAM, the sockets are just not installed.) NATO also has six ROMs on the Coprocessor board instead of two ROMs for Thief (even though the Coprocessor PCB revisions are the same Rev 0, NATO just has more of the ROM sockets populated.) However other than the number of populated ROM sockets, the Coprocessor PCBs are actually the same between Thief and NATO. (The PROMs and everything else are identical.)
However I also have one Thief set (which still had the factory-stickered ROMs), which has a Rev 3 CPU board that does NOT have the blue wire mods. And, I have another Thief set with a Rev 3 CPU board that DOES have the blue-wire mods (i.e., what we would actually think of as being a NATO CPU board). This is what got me thinking maybe these boards are not as different as I originally thought.
And that's where I started digging into the details of what the different board revs are, as well as the blue-wire mods. Long story short, it turns out these boards are sort of a superset of each other:
- A factory NATO 3-board set can also run Thief and/or Shark Attack with a ROM swap.
- A factory Thief 3-board set can also run Shark Attack with a ROM swap (but can't run NATO, because NATO has more ROMs, and the two extra RAMs).
- A factory Shark Attack set can't run Thief or NATO, mainly because it's missing the Coprocessor board, blue-wire mods, and extra ROM/RAM for NATO.
However, I believe all of the above limitations can ultimately be overcome, with some mods, and a few caveats.
After spending a bunch of time comparing the schematics and toning out the different boards I have, it turns out that half of the blue-wire mods on NATO CPU boards are for the self-test ROM (which is the extra one at H1). The way they implemented self-test on NATO boards is a little different than Thief. And it's a little wonky, as self-test is implemented entirely on that extra ROM at H1, which Thief doesn't have. (For Thief, self-test is built into one of the other 8 ROMs, and doesn't need any blue-wire mods.)
Thief boards can be strapped to use either sixteen 2716 ROMs, or eight 2732's. (I think every one I've seen has had the latter.) NATO uses nine 2732's, which is basically the same configuration as Thief, plus the one extra 2732 for the self-test ROM.
This is where you ask, "Wait a minute, how is it NINE?", as normally you'd expect either sixteen 2716's, or eight 2732's. But NATO has one extra 2732.
This is where half of the blue-wire mods come in. They're basically some funky hackery to wedge in support for that extra self-test ROM. (The details of which are interesting, and could be an entire separate post, but I'll skip that for now.) Thief doesn't have or use these mods for the extra ROM, which is why you can run Thief ROMs on a NATO boardset, without any mods, and just a ROM swap. (Because NATO is a superset of Thief, and Thief doesn't care if the extra mods or RAM on a NATO board, it just ignores them.)
However, it turns out that because of the way they implemented the blue-wire hacks to wedge in the self-test ROM, if you are willing to just not have self-test, NATO will also run on a Thief CPU board (i.e., Rev 2A, without the wire mods), if you just populate the two sockets for the two extra 2114 RAMs that NATO needs. None of the NATO blue-wire mods are related to the extra RAM. So you can just drop two sockets + 2114's at K4/K5 onto a Thief CPU board to get it to run NATO, with the ROM swap, and without the ROM at H1 for NATO self-test. (And you need to add the extra NATO ROMs on the Coprocessor board.)
Not having self-test for NATO is not a huge deal if you're running this multikit, because NATO's test mode is basically the same as Thief, and you still have access to Thief's self test. So you can still test the basic communication to ROM/RAM/IO/Coprocessor, as well as the switch tests and all other video test modes using the Thief self-tests, when the kit is installed. And the NATO ROMs will still run fine without that H1 ROM installed, you just won't get test mode if you try to enter it. (Nothing happens if the self-test dip is enabled, and the game just runs normally.)
So to build a multikit for the CPU board, we basically just have to combine all of the eight 2732's for each game (or seven for Shark Attack) into one 27C010 ROM, and add switches to the highest two address bits, to switch between the different banks of lower bits (where one 27C010 can hold four banks of 256k each, and 256k is sufficient to old eight 2732's.)
Adding just Shark Attack to either a NATO or Thief set is relatively easy, because it only requires adding the one single-ROM mod board to the CPU board (which contains both sets of ROMs), and three wires for the three extra address lines needed by the single ROM board. It's basically just a ROM swap, and Shark Attack doesn't use the Coprocessor board at all, so nothing needs to be done to the Coprocessor in that case.
However if you want all three games, you also have to switch the ROMs on the Coprocessor board, along with the CPU board ROMs. Hence the additional two single-ROM daughterboards on the Coprocessor board in the demo. Two single-ROM boards are needed because the Coprocessor board uses separate ROMs for the even and odd addresses, and there are separate busses for each. So one large ROM can't be used for everything. But they are all just 2732's, so you can combine them together (like we did on the CPU board), and bank them all in two large switchable ROMs, one for each odd/even bus.
Right now I have separate switches on the CPU and Coprocessor boards, only to prevent needing to run wires between them, to control the ROM switching with a single set of switches. But if you add those wires, you can have one set of switches that switches everything at the same time. (And you could mount the switches remotely, inside the coin door for easy access.) So flip a switch, swap the tape (or MP3 SD card), and you can switch between all three games in one cab.
SO...
If you've followed along with all of that, and are interested in this, there's one more semi-obvious question you might have, regarding support for the different cabs.
Any guesses?