Midway MCR Amp Buzz

posted Aug 30, 2012, 7:05 AM by super technoboy   [ updated Aug 30, 2012, 7:07 AM ]

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 these, everything finally sounds great!

Pole Position II Engine Sound Missing

posted Aug 15, 2011, 11:57 AM by super technoboy   [ updated Aug 28, 2011, 9:45 AM ]

One of my Pole Position IIs worked great, except the player's engine sound was missing. I searched all over for this, and was mostly only able to confirm 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 out 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.

After Burner II Silent Attract Mode

posted Dec 28, 2010, 2:07 PM by super technoboy   [ updated Jan 19, 2011, 5:05 PM ]

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 below 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-1Abest 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! Download ROM patch files for Silent Attract Mode.

Atari Logo Stick Rebuild

posted Dec 25, 2010, 11:20 AM by super technoboy   [ updated Jun 18, 2012, 2:06 PM ]

When I bought my Gauntlet II, the guy had swapped all of the logo sticks with some cheap new 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 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 parts, 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.


Distorted Music on Spy Hunter

posted Dec 25, 2010, 10:12 AM by super technoboy

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 photo below.  A quick swap, and everything was back to normal!


1-5 of 5