Apr 252016

I had on the bench this mint 1941 : Counter Attack CPS1 boardset:


Board played fine except for a minor sprite issue on some objects on backgrounds which manifested only on first level:


The game use the ‘CPS-B-05’ ASIC on C-BOARD which acts as a GPU generating all the graphics:


so I swapped a good known one from a Street Fighter II : The World Warrior boardset:


All the sprites were restored so I had confirm the ‘CPS-B-05’ ASIC was bad (probably an address line was ‘spitting out’ wrong addresss).I could swap the entire C-BOARD but appearances count too so I decided to transplant only the IC on the original C-BOARD.


I used an hot-air rework station covering the plastic connectors with tin foil as protection against heat:


To solder the chip I used the ‘drag soldering’ technique:

I succesfully tested the reworked C-BOARD and declared board as 100% working :


 Posted by at 6:51 pm
Apr 242016

Recently I received this Undercover Cops PCB for a repair:


Before power it up I inspected the board and found that the resistor array @RA3 was replaced by an homemade one, very ugly solution:


Since the original part is not a common resistor array (it’s a mix between 4.7KOhm and 220 Ohm resistors) I replaced it with an original spare part :


Powering up the board, all was working fine except for the PCM samples that were scratchy:

The chip which plays the samples (fetching data from a MASK ROM located on VIDEO board) is the ‘GA20’ ASIC:


Probing some pins with an external amplifier I had confirm that sound came out already corrupted from it so most likely its DAC section was faulty. So I played the card of replacing it taking a good chip from a GunForce donor PCB:


And this was the winning move since voice samples were restored:

 Posted by at 12:02 am
Apr 232016

The game booted perfectly but was missing some parts of graphics , road and cars





Upon closer inspection, there was a missing bprom in position 14k.



Since I had a working Mad Gear, I borrowed the bprom and installed on the faulty Mad Gear just to see if the chip was taken away because the game had other problems.

To my surprise, with the bprom in place, the game was perfectly working with all graphics in place.

It could have  been an easy repair but bproms are discontinued since 30 years and nowadays they are nearly impossible to find empty: they are otp chips so once programmed they cannot be erased!

In any case I did a research on ebay and there was no one selling the same kind of bprom needed for Mad Gear which is a 82s129 (equal to 6301 or 7052, depending on the manufacturer).

Next step was to find a way to reproduce it.

Bproms have small capacity but they have a fast access time (less than 50ns) and for that reason they are used often for decoding graphics.

Some OTP roms, such as 27256 or 27512 , have fast access times and can be used in place of bproms by just burning the binary file into them but the problem is that you have to build an adapter because the pinout is different and also the size of the chip itself is much bigger.

The other solution , more elegant and less invasive , is to reproduce the content of the Bprom into a GAL (Generic array logic). This has been done before by other people to reproduce some bproms but they had programming skills which I don’t have.

My friend Caius some months ago pointed me to a blog of a guy who programmed an alternate software for the TOP2005 chinese programmer which had also the ability to produce equations for a GAL out of a  bprom file.

Turned out that this was exactly what I had been looking for!

So first of all I would like to give full credit for this wonderful program to the guy who goes by the name of Elgen.

His blog is: http://elgensrepairs.blogspot.dk/

Facebook page: http://facebook.com/ElgensRepairs

Most important the software to convert bprom to GAL equations can be downloaded from here: https://bitbucket.org/Elgen/u2pa

Now back to the problem: my wish was to reproduce the bprom into a gal without building an adapter.

So I ran Elgen program on the bprom file taken from Mame which produced the GAL equations.

I then started the program WINCUPL by Atmel (can be downloaded free from here: http://www.atmel.com/tools/WINCUPL.aspx ) in order to produce the JED file (fuses list) out of the PLD equations (source code)  so that a programmer could burn the GAL chip.

On the WINCUPL program I declared the inputs (addresses) and outputs (datas) in the same pinout standard of the original bprom chip so that I could avoid bulding an adapter:


We don’t have to worry about CE1 and 2 because normally they are tied to GND

After copying and past the equations produced by Elgen program into the PLD project of WINCUPL and minimizing the equations using Expresso algorithm I got this:


Since the equations were not complex in this case, I could use the smaller 20 pins GAL chip, a 16V8 instead of the bigger 24 pins 22V10.

You can see that the GAL file used only 2 data lines instead of the 4 of the bprom file.

At this time you can notice that the BPROM chip is only 16 pins while the GAL 16V8 is 20 pins.

After compiling succesfully I got my JED file to be used in a common programmer supporting PLD files:



With the way I declared inputs and outputs, I could install the GAL chip on the socket, leaving out 4 bottom pins.

In order to power it, I only needed to solder a jump wire from pin 10 to pin 8 for the GND! Very easy and less invasive!




Now the smoke test:





Game fully restored!

Again I would like to thanks Elgen, without his program I couldn’t repair this game, but more over, it’s a very important tool for everyone who has missing or broken Bproms because they are really near impossible to find empty nowadays



Apr 172016

Got this ugly bootleg for a repair.



Game had no sound and the jump button didn’t work.

First of all, this bootleg is known to have the picture upside down and I wonder why the bootleggers left the game in this state.



Since I had no white noise from the amp I checked the circuit near it and found a capacitor with a leg desoldered. Unfortunately the hole was completely rusted and I had to run an ugly wire to another point on the pcb to restore the sound.

To do: find a thinner wire 🙂




For the “Jump” problem I traced back from pin 23 of the Jamma connector to input 2A of a 74LS257 multiplexer.

The jump button of the second player, was connected to input 2B of the same 74LS257.

So those buttons has the ouput 2Y of the 74LS257 in common, so to check if the TTL  was working correctly, I ran the input test with the second joystick and infact also the second player jump was not working. The output 2Y was oscillating but evidently not in a correct way.


Given that the game has no first player and second player  playing at the same time, I opted with a simple but effective solution: I shorted 2A and 2Y togheter so that the first player button was connected directly to 2Y.

In this way when you press first player button you press also the second player one but for TNZS is not a big deal because you never play a co-op game 🙂



With this solution I could fix the game without bothering to replace the ttl chip

Apr 172016

Game showed a static white screen at boot.

Checked the clock and it was fine, then I checked if the 68000 was reset correctly and found out that it didn’t get any reset signal.

Tracing back I came to a capacitor which had a leg unsoldered.



After fixing it, the game booted correctly



I started a game but I soon noticed that it the pcb played sometimes random or wrong music/sfx.

The game has no FM chip, so the OKIM6265 is responsible for music and sfx and there is only one soundrom.

Checking the circuit in detail I noticed one jumper for selecting 8Mbit rom was broken in half.

After resoldering a new one, the music and sfx was restored correctly.