25 Oct 2017

Beast Busters - SNK 1989 (repair log)

A very good game, the last one SNK made before the launch of the Neo Geo. Hardware has a lot of similarities with its successor: 68k for main CPU, Z80 + YM2610 for audio, etc. Even the test menu looks like the one of MVS slots.

1) Getting the game to boot

After a first inspection I noticed someone previously worked on the board as two program ROMs have been replaced. Also one of the ribbon cables connecting the top board and the bottom board (there's a middle board too so a total of 3) was missing. I made one with old parts I had in my stock:

Then I powered the board and it got stuck on a PROGRAM ROM ERROR.

2) Fixing the program ROM error

Looking carefully at the two program ROMs that have been replaced I discovered they were 27C010 type (JEDEC) when the board needs 27C301 type (non-JEDEC). Out of curiosity I dumped them and they contained the right data. Only pinout was the matter. I burnt two fresh 27C100 ROMs (27C301 compatible pinout) and tried to boot the game again. This time self-test reported everything good:

But then got stuck on a black screen: this is typical of a failed gun calibration or corrupted calibration data.

3) Gun calibration

I followed the procedure that has been added at the end of the manual you can find online.

If you don't have the original positional guns you can hack a joystick.
For each player there's a 6 pin JST NH connector with the following pinout:
1 = GND
2 = X DATA
3 = +5V
4 = GND
5 = Y DATA
6 = +5V
Original potentiometers are 5k so depending of the ones in the joystick you plan to use it may not work.
Gun coordinates depend of the voltage on pins 2 (X DATA) & 5 (Y DATA) :
0V = most left/up
2.5V = middle/centre
5V = most right/bottom
An other solution is to desolder the 28C04 EEPROM located @ K7 on the top board and burn the file named bbusters-eeprom.bin included in the MAME romset on it.
After doing a proper calibration game booted:

But... Some sprites had jailbars over them and sound was crackling.

4) Fixing the sprite issue

With the help of the test menu I learned only "FONT 1" sprites (probably a misspelling of FRONT 1 by opposition to background) were affected.
The game shows 4 sprites in a loop, each being stored in a different ROM. So problem was probably downward in the video processing as it seemed unlikely the 4 ROMS were bad with the same jailbars.

According to MAME those sprites are stored in ROMs 11, 12, 13 and 14. They are located on the middle board so I looked carefully at it for broken traces when I noticed a factory defect: RAM @ C14 had its pin 15 not soldered at all. It was probably not a problem when board was new but with oxidisation and dust accumulated over the years connection became poor.

I resoldered it and sprites were restored:

5) Fixing the sound issue

Continuing playing with MAME I was able to reproduce the exact same crackling sound by blanking the sample ROM @ L5. However by using the sound test menu I discovered some samples/tunes were played perfectly while others were totally crappy, and after probing both PCM samples ROMs it revealed sound was perfect when accessing only to the PCM A ROM @ L5. So I burnt a replacement for the PCM B ROM @ L3 in a 27C400 EPROM and tried to piggyback it: that fixed the problem!
I dumped the faulty ROM and compared its content with the MAME file:

As you can see bit 8 is stuck low.

Game fixed.

No comments:

Post a Comment