PCB Repair Logs Gyruss
Gyruss
Manufacturer | Konami |
---|---|
Year | 1983 |
PCB Image | Reserved |
Pin Out | Gyruss |
Repairer: cal2
Forum Thread: Gyruss PCB Repair
I bought a pcb lot in which there was a konami pcb. I dumped some eproms and they matched the gyruss romset.
The board was very corroded and would not boot at all. The edge connector was so corroded that the board wasn't powered at all.
By cleaning the edge connector, the game booted almost flawlessly. Everything was good except for sound and sprites. The text layer and colors however were good.
I found at least three eproms that didn't matched the gyruss rom set. First was GY11 on the sound board simply because one pin broke when I removed it from the board, because of corrosion.
The konami-1 sub cpu code eprom was almost completly eaten by corrosion so it wasn't a surprise it matched no set.
Also, an other graphic rom was bad.
I replaced all eproms (2764) by 27512 by duplicating the rom content.
I powered the board again and tada, sprites were all there and working. However, after powering off and on the board again, the sprites were gone again
So, I first removed all chips from the corroded part of the main pcb, and cleaned it using vinegar and alcool. Then I put sockets and new replacement chips.
Still no sprites, but the pcb was looking a lot cleaner
I put a new socket for the konami1 cpu code eprom since it was corroded also.
Still nothing. I desoldered the shared ram between the z80 and konami1 cpu which tested ok.
However the data bus on the shared ram wasn't nice looking. So I desoldered and tested the two 74LS245 related to it. One was buggy. Replaced it.
Still nothing
According to the scope, sometimes the konami1 cpu was running, and sometimes not. As if it was crashing.
The konami1 cpu is a custom 6809 which scrambles some lines on opcodes only. Since I had no other board that uses it, I couldn't replace it to test if it was ok.
I assumed it was ok, but crashing due to various bus issues.
To be sure, I replaced and socketed the two 74LS244 on the konami1 address bus.
Still nothing.
Then using the scope, I noticed that one pin of the 74LS245 on the konami1 data bus was different than the others. Actually, the signal was between 0 and 1/2 VCC, not 0 and VCC.
So I replaced it and got some sprites on screen
However the sprites were flickering and it was obvious that there was a positionning problem for them since they were moving wrong.
Also, the sprites stopped moving after a minute and the konami1 was dead again as if it had crashed.
Looking at the gyruss mame source code, I found that the konami1 cpu had work ram, sprite ram, shared ram between it and the main z80 and of course rom code.
I knew where the sprite ram, shared ram and rom code were on the pcb, but couldn't find the work ram location.
I first thought that the custom konami1 cpu had internal ram. But looking at other konami games using it, it was obvious it hadn't since the ram memory range was often different than in gyruss.
Then, looking at the 4x 4bit sprite ram chips, I found that the total was exactly the same as the total of the konami1 work ram and sprite ram.
In fact, konami uses the sprite ram as work ram for the konami 1 cpu.
This means that program variables and stack are stored in the sprite ram.
Bad ram would explain why the konami1 cpu kept crashing.
I desoldered the 4x 4bit srams and found that two of them had bad pins.
Replacing the sram with compatible chips (5114), fixed the sprites problem.
Now sprites are good and the konami1 cpu doesn't crash anymore
Next steps:
- fix the inputs for this game since some inputs are stuck high.
- fix the sound