Recently I’ve been working on some Windows based software to use the Data I/O 29 series programmers.
Its coming along well and I have a few people willing to test things out for me which has been great as its a pretty tedious task of trying things out and reporting back, rinse and repeat.
I captured a small video showing some progress.
The programmer itself isn’t all that hard to interface with as most of it is just issuing commands which are all outlined in the manual but there are a couple of things to deal with when it comes to uploading a file to the programmer.
I’ve also been collecting ID codes for programmers and modules so I can auto detect programmer and more importantly the module that is fitted. This allows me to auto populate a device list.
Ive tested this using a cheap USB to serial adapter and its been working fine.
As many of us know (not only long term arcade collectors/enthusiasts) Toaplan manufactured few but excellent games.Some of them can be considered real masterpieces like Out Zone and Truxton for example.Going into technical details four of them are united by the fact the hardware uses a custom IC to handle inputs: the ‘HK-1000’.I have partially covered this argument in my past repair log of Tatsujin Oh, you can read it here:
As said in the above post, two revisions of the HK-1000 were made with same functionality but different package.The first one was ceramic hence very fragile.This is used on Truxton II/Tatsujin Oh and FixEight:
The second one is more robust and it’s adopted on Ghox and Pipis & Bibis :
If this custom goes bad (like it happens very often especially on first revision) you will be no longer able to fully control the two players and in the worst of case the board will be stuck on a TILT message.The only option could be find a donor board but we are speaking of valuable PCBs even if faulty.So some kind of replacement was needed.
There is very few info and documentation about this custom but it seems Toplan engineers embedded on a single IC (the HK-1000, indeed) all the circutry they used to handle inputs (but also coin counters/lockouts) on previous PCBs (Wardner, Out Zone, Rally Bike and others too).I took inspiration from an Out Zone PCB to study the design:
As you can see from the above picture, I highlighted two sections of PCB : the blue one concerns the circuitry for coin counters/lockouts handling, the red one is for inputs (players direction and buttons, TEST, SERVICE, TILT).With this knowledge I started my tests.As testing platform I used a Pipis & Bibis PCB (the cheapest one which carries the HK-1000).I removed the custom and mapped some inputs following the above mentioned design:
This was successful so I started to draw and route schematics for a real replacement.I voluntarily omitted from my design the circuitry for coin counters/lockouts as it’s not a vital part (although I figured it out so I can implement it in a later moment)
I sent the layout to a manufacturer and after few days I received the bare PCBs:
Very few components are needed to populate the PCB :
Three 74LS240 in SOIC20 package
Three 100nF ceramic by-pass capacitors in ‘0805’ package
Three (two 9 pins and one 8 pins) 4.7Kohm SIL bussed resistor networks for inputs pull-up (I opted for thru-hole ones to keep cost down, they can be salveaged from arcade PCBs)
Two strips of 24 pins male rounded machine-tooled pin header with 2.54mm of pitch.The corresponding female ones must be used on the arcade PCB.
Here is final result after 5 minutes of soldering:
A comparison with original custom:
Testing on the Pipis & Bibis PCB was successful, all inputs of both players were correctly mapped and working as well as TEST, TILT and SERVICE ones:
As said, this is not a 1:1 reproduction of original part since coin counters/lockouts handling has been not implemented for now but it’s enough to salveage your faulty boards from uselessness.Stay tuned for the next reproduction project!
Received this original Moon Cresta PCB (board ‘SMC-2FJ’ manufactured by Nichibutsu) for repair :
Board booted up but some sprites were upside down and partially doubled :
Some Fujitsu TTLs were present so I went through them with my logic comparator.I quickly found a suspicious 74LS08 @6H:
It was really bad once tested out of circuit:
Now sprites were correctly placed but I noticed that the bullets were missing:
Looking at schematics there are two separate circuitries which generate yellow and white bullets.Probing them I found that the two active LOW signals /YBPS and /WBPS were stuck HIGH all the time also when you pressed the fire button and generated the bullets:
The signals are geneated by a 74LS139 @4C:
My logic comparator complained about pin 11 everytime I pressed the fire button and hence activated the selection line B on pin 13:
I pulled the TTL and I had confirm it was bad in that specific gate:
Fitted a good TTL and bullets were displayed again.Board 100% fixed.
In this log I fix the sprite’s incorrect colors as discovered in part 1. To review the problem see the image below. Note that the colors for the weightlifter are incorrect, the runner also has red shadow instead of black and the colors for the area in between the flags on the right are also incorrect.
Initially, I thought the area between the flags were actually made up of background tiles. These are actually sprite objects used as background graphics. I used my test rom to confirm this.
The bipolar proms I ordered finally came but were all faulty! So that was a complete waste of time and money. The good news is after checking the palette prom [ several times over ] it appears to be good and I must have been reading it incorrectly with my TopMax in part 1 of the repair log.
I thought about this for awhile and had an idea that would help me troubleshoot. Firstly, I looked at the color palette for Hypersports in MAME and took down some notes.
After comparing the colors of the sprites from images online [ google images was a good starting point ] with colors from the table above, my suspicions were that there was a stuck bit somewhere. Black [ color 0 ] is being displayed instead white [ color 1 ].
For black [ color 0 ] to be displayed instead of white, bit 0 would have to be stuck low. Color 2 is also being shown instead of color 3 and the only way this could happen is if bit 0 was stuck low. The athlete’s shadow is also being shown as red instead of black for the same reason which results in color 8 being shown instead of color 9.
The backgrounds and sprite data appear to be combined at the LS157 at A4 which then form the signals OUT0-OUT4 at the LS174 A2. These 5 signals represent the color of a single pixel on the screen [ 32 possible colours ]. But I’m more interested in the signals OCOL0-OCOL3 [ object/sprite colors ] so I begin poking around at the inputs and outputs of the LS157 at C17 first. I generally choose the multiplexers to troubleshoot first whenever it’s relevant because these seem to get worked fairly hard [ especially in the video circuit ] and exhibit higher failure rates in these areas.
Pin 4 [ 1Y ] output of C17 appears to be stuck low, exactly what I was looking for. This was later confirmed after testing the chip out of circuit.
The Fujitsu in C17 is a temporary measure, I promise. It’s a working pull from my Gyruss and I didn’t have any other spares on hand.
The colors seem right although I seem to be missing overall color from the CRT.
Changing it over to my LCD just to confirm that my 1084 probably needs an adjustment of some sort.