Had Muddymusic’s Stun Runner PCB for a long long time awaiting repair.
I put off looking at it because of how test bench unfriendly it would be to setup.
I did have most of the original loom to use but the audio section also used 13v AC and a test bench typically doesn’t have that.
I ordered a small 240v – 12v transformer and eventually set to work in hooking this thing up.
After half a day of messing around I had what I thought was a Stun Runner test rig.
While I had all the connections going to the right places and things like that I soon realised that the speakers I were using in now way suitable to check the sound and also my test bench monitors seem to be getting really picky about what they display properly.
In the end I settled for a black and white picture but I wasn’t too worried as the fault I was looking for was audio related.
The fault was that in game the music didn’t play and the engine tone played at a constant tone.
With my almost useless setup I could hear exactly this. I did a quick heat check with my finger on the audio PCB to check if any of the chips were getting hot and to my surprise all the sounds and music came back when I prodded the M6295.
I powered down and reflowed the chip and all was working again.
I soak tested it as best I could and called it a day.
Muddymusic has now got it back and has confirmed the sounds and music are now good.
Text references 8C instead of 19E when sub-cpu EPROM fails checksum.
Fixed output to reference 19E.
11/04/2015
Support for Venus set added.
Bug fix – Addresses issue when 13J reports bad and prints NG twice, CPU gets lost and crashes game.
10/04/2015
Support added for bootleg ROM from the gyrussb set.
Single ROM labelled “1” at 11J. Other two ROMs are from the original Konami set.
See downloads for update.
4/4/2015
Bug: Sometimes index starts at 5 or some other random value when entering SFX TEST for the first time after power-up. The sound index is written/read to/from $9000 for cycling through 100 possible combinations.
Fix: Cleared this part of RAM before using it.
28/3/2015
1. Added flip to test cocktail mode.
2. Summary added to menu screen of dip switch settings
3. Added routines to check the stack ram @ 3J before moving on to further tests. Since the stack is used to perform further HW testing, execution is now suspended if a stack error is detected with an associated error message.
4. Diagnostic mode added via dip 2 of DSW3. Allows for testing sounds and inputs.
See downloads for update.
26/03/2015
Minor update.
1. Re-wrote much of the code up until where it verifies the work RAM. Purged CPU instructions that rely on the reliability of the the stack which is set to 0x9800 in the work RAM. ( work RAM is verified as good first before using the stack )
2. Background is set to yellow instead of black if video RAM at 5J is bad. This is to assist in troubleshooting. A sound effect is also played when 5J is detected as bad to add redundancy in case none of the light brown colour shows up on the screen.
3. Fixed the boot to As issue. When 13J is pulled it now reports as bad. This was fixed by addressing the issues resolved in 1.
Bugs
* When GY5 is pulled “KONAMI1 NOT RESPONDING” is displayed with no additional information. An additional message should be added to point out a problem with either the CPU, ROM or RAM on the 6809 side. The above is also reproduced by removing the 42 pin custom CPU. Random sprites are also present.
To do: Fix above mentioned bugs.
See downloads for the latest version
03/2015
Gyruss Test & Diagnostics ROM.
The 27C64 EPROM installs at 14J on the CPU board. It performs a series of RAM & ROM tests to identify any problems & will attempt to boot the game once tests are completed regardless of failures found. The EPROM can stay in the socket and it does not interfere with the game in any way once the game starts.
Use at your own risk if you’re using the highscore kit, this will delete your scores as it will performs a series of writes to the NVRAM.
I would like to thank cmonkey & DarrenF on KLOV for providing valuable information & help regarding the hardware. I would also like to thank the MAME team for their great work on the emulator and the Gyruss driver, without these cool debugging features in MAME development of this ROM would not have been possible.
cmonkey needed a replacement 315-5224 chip for his Outrun board.
We have a bunch of PLD dumps from an Outrun board but they are untested and are from an unknown source.
The original 315-5224 is a PLS153 and cmonkey needed it in a GAL16V8 in order to replace it.
The equations themselves aren’t too complex and would fit nicely into a GAL16V8 as the extra IO pins on a PLS153 are actually configured as inputs which makes it pin compatible.
Equations:
PIN 13: /ROM_CE = /MREQ & RFSH & RAM_CS & DACS
PIN 14: /RAM_CS = A11 & A12 & A13 & A14 & A15 & /MREQ & RFSH
PIN 15: /YM_CS = /A6 & /A7 & /IOREQ & M1
PIN 16: /DACS = /A11 & A12 & A13 & A14 & A15 & /MREQ & RFSH
PIN 19: /ZCS = A6 & /A7 & /IOREQ & RFSH
The problem came with needing to use the feedback from pin 16 in order for it to work.
When compiling equations for a GAL16V8 you need to specify what mode you want to use it in. There are three modes a GAL can be used in.
1. Simple
2. Complex
3. Registered
The PLS153 cannot be used as a registered device so we cannot use this mode.
‘Complex’ cannot be used as we need to use pin 12 as an input and pin 12 does not provide any feedback in this mode.
‘Simple’ mode is what we need to use but in this mode pins 15 and 16 cannot provide feedback which is exactly what we are wanting.
Looking at the equations and the schematics we can see that pins 17 and 18 are actually unused. These pins can also provide feedback in ‘simple’ mode.
The workaround for a GAL16V8 is to copy the equations for /o16 and add them to /017 then change the equations for /o13 to use feedback from o17 instead of o16, like this:
Equations:
PIN 13: /ROM_CE = /MREQ & RFSH & RAM_CS & DACS2
PIN 14: /RAM_CS = A11 & A12 & A13 & A14 & A15 & /MREQ & RFSH
PIN 15: /YM_CS = /A6 & /A7 & /IOREQ & M1
PIN 16: /DACS1 = /A11 & A12 & A13 & A14 & A15 & /MREQ & RFSH PIN 17: /DACS2 = /A11 & A12 & A13 & A14 & A15 & /MREQ & RFSH
PIN 19: /ZCS = A6 & /A7 & /IOREQ & RFSH
cmonkey has confirmed this works on his Outrun PCB.
Although this worked well I was not happy with the workaround. The resolution turned out to be simple.
If I took the newly programmed GAL chip and re-dumped it using Charles MacDonald’s hardware I got a list of valid equations that did not rely on the use of feedback at all.
Since the equations were few, it had no problems in fitting into a GAL16V8 and so I ended up with something that left those two unused pins free which is good because cmonkey has a use in mind for them.
About a month ago I purposely purchased a non working Gyruss off eBay to repair myself for fun. This repair would later inspire me to develop the Gyruss test rom which is currently being developed right now.
Symptoms: Game watch-dogging. Only gets as far as the grid test pattern, sometimes partial then resets perpetually.
First thing was to check the voltages from various +5v rails on the bottom board. Voltages were measuring quite low, around 4.7v. I have read that low voltages would also contribute to this behavior. Adjusting the +5v didn’t help.
Next step was to verify all the game ROMs via romident which checked out good. Cleaned pins on all socketed chips, no change. Probed Z80 main CPU, confirmed barking reset line.
Removed both Z80s which tested good in known working Galaga board. Installed IC sockets and re-installed Z80s.
Began process of purging all Fujitsu branded ttls before troubleshooting with some Fujitsu branded ttls still remaining.
Four 74ls163s that are used for memory addressing the 2149 srams tested bad on my Micromaster LV48 device programmer ( but they turn out to be good after fixing the game and re-substituting the 163s back in. The ls161s that I had lying around seemed to work fine as well ). Caius said that these are difficult to test out of circuit so the result of the tests performed by my not so trusty Micromaster LV48 almost lead me in the wrong direction with this repair.
With the 161s installed the symptoms were exactly the same which prompted me to look at other areas as I didn’t believe these would cause the fault, these chips seem to be associated with the video display.
I checked some non Fujitsu ttl logic around the main CPU & 2kx8bit SRAMs. 13E & 14E ( LS245 ) tested good. 17C,5J,3J ( 2kx8bit SRAM ) tested good, 2J tested BAD ( 2kx8bit SRAM ).
@ 0x00000H expected 01, read 00
I was pretty sure that I found the culprit. Bad work ram would definitely cause this kind of issue.
Socketed 17C,5J,3J & 2J ( SRAMs). Replaced 2J with a Sanyo LC3517.