Cabinet wiring audio ground on pin 16
PS schematic audio ground on pin 12
Correct wire at pin 12 (W-G)
I'm sure others have found this before, but here's my story.
I picked up a really nice Galaga cocktail that was running on a switching power supply (with Arcadeshop adapter). I prefer to run my games on original hardware, and luckily, the original power supply was all there. I plugged in the board, and was surprised to find no blown fuses, and all voltages present. I hooked up the PCB stack and the game entered a reboot loop, resetting immediately after the self-test text appeared. No big deal, probably dirty power, so I ordered a cap kit.
When the kit came in, I recapped the board, reinstalled it and... reboot loop. Checked the +5 and it looked good. This time I pulled out the oscilloscope just to be sure, and the +5 was rock-solid. All the other voltages checked out, too. I plug the switcher back in and the board boots great. What's going on here?!
The Midway A084-90414-C935 power supply produces three voltages from two completely isolated circuits. The first circuit produces +7.2 VDC for the coin meter and +5 VDC for the logic. The second circuit produces +13 VDC for the audio. These two circuits do not share a ground. The switching power supply produces +5 VDC and +12 VDC from one circuit with a common ground. (Perhaps you are realizing the grounding is important.)
Now, on to the schematics. The PDF manual and schematic package contains a cabinet wiring diagram, shown in the first photo. As you can see, the audio ground (V. AUDIO RETURN) is on pin 16 of the power supply connector. This same drawing package contains the 90414 schematic, which clearly shows the audio ground (-V. AUDIO) on pin 12! What's on pin 16, you may ask? A logic ground from the other half of the supply.
So what happens when you ground your +5 circuit to the +13 circuit and vice versa? A reboot loop! This error does not affect the switcher at all, since it only has one ground for both voltages. My guess is that someone repinned the harness using the cabinet wiring diagram as a guide, which is exactly what you SHOULD do, normally.
I swapped pin 12 and 16 in the harness, and I'm blastin' away. The last image shows the audio ground in the proper position, at pin 12. You can't miss it--it's the white wire with the green stripe.
The culprits
Lots of Midway MCR series games use some version of the Dual Power Amp (Tron, Spy Hunter, DOT, etc). The environmental Discs of Tron actually has two, since it needs to mix four channels of sound.
When I got the power supply working in my EDOT and fired it up, I was greeted with a VERY LOUD BUZZ. I really thought is was a bad ballast somewhere, and I'm not exaggerating when I say that EDOT has a LOT of ballasts to unhook. Unfortunately, that wasn't it. Nor the ground straps. Nor the CRT. Nor the big caps (already replaced).
After replacing the MB3730 amps and all the electrolytic caps on the amp boards with no improvement, it turned out to be the C3 and C4 tantalum caps. After replacing them, everything finally sounds great!
One of my Pole Position IIs worked great, except the player's engine sound was missing. I searched all over for this issue, mostly just confirming that it happens to others. The ONLY successful fix I could find was this one on RGVAC, which was a bad 7497 at 11C.
Luckily, I had a working boardset to compare to, and I found that I was missing the ADCLK coming from the 7497 at 12B (pin 6). This should pulse as soon as the player's engine starts to make noise. I replaced the chip and all is well.
So, based on my sample, 100% of the player's engine sound missing issues are caused by one of the two 7497s at 11C and 12B. If you have a logic probe, here is what I think you should see on those two chips DURING GAMEPLAY. These are oriented as you see them in the game, with pin 1 at the upper right. H=high, L=low, P=pulse, X=no connection.
11C
LPPHLLLH
PLLXLLLH
12B
LXPHLHHH
PPPPLLHH
The bold P on 12B was my issue.
MAME Debug Mode
Call me strange, but I like to have all of my games set for a silent attract mode. I really like having the machines running when I’m there to see them, but sometimes I listen to music or watch TV, and the attract sounds become annoying pretty fast.
Most games have settings through the DIP switches to allow the attract mode sounds to be turned off. In fact, the original Afterburner did have this option. Somewhere between Afterburner I and II the option was lost, and now the attract sounds are permanent. Unless you write a ROM hack!
The most important part of this process for me was becoming familiar with MAME’s debug mode. When MAME is started with the -debug option, a screen like the one in the image will appear. I’ve annotated some of the important parts of the window. The debugger allows real-time analysis of the code as the game is running, allowing you to pinpoint sections of code fairly quickly.
Finding what you’re looking for requires the use of breakpoints and watchpoints. Breakpoints are used to halt execution at a certain line. Entering the debugger command bp 7e4e, for instance, will stop the code whenever it attempts to execute line 7e4e. Watchpoints are used to determine when specific memory locations are written to or read from. Entering the command wp ff890,1,rw will look at the memory range ff890-ff891 for any data read or written, and will halt execution at the command after the read or write occurs.
For the Afterburner II Silent Attract Mode, I started with the Afterburner’s sound diagnostic screen to locate the sound routines. I could see one of the data registers change when I pressed the key to generate a sound. Looking for program instructions that read that register led me to the memory location that stores the sound command, which is passed to the Z80 that handles the sound on Afterburner. The memory location is ff890c-ff892c, so I can enter wp ff890c,20,w to create a watchpoint that will halt execution whenever the program writes to this location. Now I can run the attract mode to find all of the lines that pass sound data.
After a little digging, I found out that the memory location 29c09c stores a value that corresponds to the state the game is in. Some of the states are shown below.
State Description
0 attract reset
1 attract plane flying
2-3 attract best fighters
4-5 attract photos/instructions
6-B attract planes shooting logo
C-D credit
E-F takeoff
10 gameplay
17-18 game over
19-1A best fighters
In the sound routine, there is an instruction that mutes the game during the attract plane flying sequence that looks like this:
Line Instruction Hex Encoding
00b854 cmpi.w #$1, $29c09c.l 0c79 0001 0029 c09c
00b85c beq $b884 6700 0026
Line b854 says compare the value from 29c09c (the game state) to 1, and line b85c says if they’re equal goto (branch to) line b884, which skips loading the sound to memory.
What I want to do is mute the sound for game states 0 through B from the table above, so I want it to read:
Line Instruction Hex Encoding
00b854 cmpi.w #$b, $29c09c.l 0c79 000b 0029 c09c
00b85c ble $b884 6f00 0026
Now line b854 says compare the value from 29c09c (the game state) to b, and line b85c says if it’s less than or equal, goto line b884.
So all I need to do is change a 1 to a b and a 7 to an f, but there is one final complication. The 68000 uses two ROMS that are interleaved to store the program. The beq command shown above encodes into the two ROMs like this:
ROM 11107
67 00 00 26
ROM 11108
In order to find the correct line to modify in the ROM, the line numbers need to be divided by two with a hex calculator. A table showing the locations is below.
ROM Program Line ROM Line Old Hex New Hex
11108 b854 5c2a 79 01 79 0b
11107 b85c 5c2e 67 00 6f 00
That’s it! The modified ROMs can be burned with an EPROM programmer or by a service like hobbyroms.com, and then installed in place of the originals (the chip type is NEC 27C1000). Now Afterburner II is nice and quiet, until you drop a quarter!
Atari logo stick centering plastics
When I bought my Gauntlet II, the previous owner had swapped out the original logo sticks with some new, cheap, generic ones. He said the old sticks were all sloppy and no good, but he'd throw them in if I wanted. I tore them down, and two of them were pretty good (the outside sticks, I'm sure). The other two, however, were terrible. They wouldn't center at all, and were indeed terribly sloppy.
I dis-assembled, cleaned everything up, and replaced the centering plastics with new parts. Re-assembled with a little white lithium on the moving pieces, and WOW! These things feel great! Crispy, almost. Here's a photo of the old plastics vs. new. I stuck a couple of arrows in there to show the wear spots.
Spy Hunter D/A Converter (red arrow)
I bought my Spy Hunter upright at an auction. The music control was turned down on the machine, and when I got home and turned it up I quickly found out why. The music was distorted, scratchy, and garbled. Here's a video that does a better job explaining.
The problem turned out to be the digital to analog converter at U10 (AD7533JN). A socketed chip! They have apparently been discontinued, but I was able to find one at an electronics surplus place. The chip is located at the arrow in the image. A quick swap, and everything was back to normal!