About me

My photo
Vanløse, Copenhagen, Denmark
Mathematician. Working programmer/system developer. Nerd. Married. Father of 3.

23.11.14

Capcom Ghost 'n Goblins Bootleg Repair Log

I snapped up this defective bootleg Ghost 'n Goblins along with some other defectives very cheap at a danish forum about a year ago. Up until now, it had just been sitting on the shelf; not even tested. It had adaptor wires soldered directly onto the edge connector.


As mentioned before I believe, that people who does these kind of things, will burn in a special level of Hell; the one they reserve for child molesters and people who talk at the theatre... The Special Hell! }:-(
Well, anyway... the fingerboard soldered to the other end of the wires wasn't JAMMA, so I made a QAD adaptor with a JAMMA fingerboard connecting only the power and video connections. The game booted, and I was greeted with the attract mode:



The backgrounds and sprites were perfect, but the layer displaying characters and the game logo was pretty messed up and the game was dead silent. The silence could, however, just be due to a dip switch setting turning off attract sound.
I did the usual visual inspection, but as nothing obvious was to find, I started doing (what I sometimes refer to as) "Playing the game of peeking and poking around". For this, I use either my scope, logic probe or both. The purpose of this, is to give me a rough idea of where the different elements of the game are generated. I usually start with the ROMs and RAMs trying to short adjacent data and address lines with the probe to see what that stirs up in the game. Also I peek a bit at the data and address signals. This time I started with the logic probe and quickly found that this ROM


and this RAM


both at the primary PCB (also containing the primary CPU, program-ROMs and the entire sound system) were definitely involved in making the character layer.
Next I went over all the data and address signal lines of the two with the scope, but didn't find anything unusual. But then these two these two guys


sort of in the middle of the ROM and RAM caugth my attention. Why just them you might ask? Well because they are Fujitsus, and Fujitsu TTLs from around the 80'es, just have a tendency to go bad at the moment. So they are all Usual Suspects when repairing PCBs from that period. In general this board is peppered with Fujitsu TTLs, but these sort of sat there in the middle of this cluster of non-Fujitsus and happen to be in the same area as the RAM and ROM. The 74LS86s are packs of 4 XOR gates. So again I tried to short some of the signal pins and found, and when I shorted pin 8 and 9 on the right of the twins


the character layer changed to this



Hmmm, all the letters displayed correctly, but upside-down. Then tried flipping the dip switch to flip the picture


and when shortening the 2 pins again got this


Perfect character layer. Ha! Haaaaa! Surely on to something now };-P I peeked the inputs and the output of that gate



and found one of the inputs floating. I traced the input to the output at pin 8 on the left Fujitsu 74LS86. I salvaged a 86 from a scrap board, piggybacked it on the left one


And got perfect character layer with both orientations };-P



So out it went.


In my eager I accidently pulled out a via with it, but luckily it isn't connected to anything on the component side, so no worries. A socket was fitted and the salvaged 86 installed.


So now the graphics was a'okay... time to clean up that edge-connector-mess! With a combo of soldering iron, desoldering iron, solder wig, a whole lotta patience, and a final rub with rubbing alcohol


it actually ended up looking pretty okay in the end. I attached my full Capcom Classic adaptor and booted her up; but alas, no sound. So I dug up my external amp. It's actually just an old PC-speaker, where I've cut the jack plug and attached a crocodile clip for GND and an old multimeter probe for signal (actually it also good for listening on signal lines as well). Anyway, I heard sound from the speaker


Followed the sound to the fingerboard and found, that this was again a game that uses SPK- for signal and SKP+ for GND. As my SuperGun uses SPK+ for signal, that was why I didn't get any sound. So I finally pulled myself together, and installed a switch to flip the polarity of the sound in my SuperGun.


...better late that never, right };-P This closes the case...

Plz take care all you lovely people out there!

<3 Whole Lotta Love <3
};-P Elgen

4.10.14

Taito F3 Motherboard Repair Log

Finally BACK! ...from a faaar too long pause };-P
This little repair was done on-site at a gaming gathering I attended in Næstved. My friend m1chelsen, who runs a youtube channel and a blog about gaming and game collecting, has made a very nice looking consolization of a Taito F3 System. The motherboard he had gotten for free, as it might have some trouble with the controls. Also, he didn't have any games to actually test it with, so he brougth to the geeky gathering, where some other people brought their F3 carts.


It worked! ... or let's say, it almost worked. It booted up perfectly, but the down direction for player 1 wasn't responding (and Elevator Action Returns really isn't that fun without). Luckily I'd brought some basic tools with me ... just in case };-P
So after m1chelsen had freed the motherboard from the nice wooden casing


I started debugging. I followed the trace from the player 1 down pin on the fingerboard and found, that all the control inputs ends in some opto couplers (the 2 rows of white ICs; haven't really seen that before on an arcade board).


After googling the data sheet


I found that the LEDs inside have one end connected to Vcc via resistorarrays; the other end goes directly to the fingerboard. When the control is activated, the link to GND is made and the LED lights up activating the corresponding photosensitive transistor in the IC-pack.
I tested the relevant resistorpack with the multimeter


and found, the resistor for player 1 down direction broken.
Now we didn't have any spare resistor packs at hand nor a single resistor to patch on, and we wanted to play it like frakkin' now! So what to do? Hmmm think McFly, think!

....DING! (the sound of Elgen getting one his crazy ideas };-P)...

Okay, the reasoning goes like this: Due to the very physical nature of a joystick, you can never activate both up AND down at the same time. So if I connect the down-LED to the up-resistor of the array as well, they will never "use" the resistor both at the same time. So no risk of drawing too much current. I soldered in a small jumper wire on the solderside of the board


... and BAM! Dear m1chelsen was now able to ride the elevator down in Elevator Action };-P
The motherboard was put back into the nice wooden case and was played several times during the weekend. This closes the case };-P

More blog posts is on it's way soon ... promise! Also remember, that you are also able to follow ElgensRepairs via Facebook, Twitter, Instagram.

<3 Love };-P Elgen <3

16.5.14

Incredible Technologies Strata Bowling Repair Log

About a year a year ago, I started becoming a Wednesday night regular at Chassis Arcade on Østerbro, Copenhagen. It's located in a basement in Faksegade, and on Wednesday nights, it's THE place to be. It's always packed with lovely and friendly people, there's funny contests, people are playing, talking and having a brewsky or two, and after the arcade closes at 10 o'clock, we hit a nearby pub and have a few drinks. Ever since my first Wednesday there, a machine had been standing in the corner turned off. It was a Strata Bowling; not the one with the trackball depicted in the KLOV link, but actually the version that uses a real cue ball and IR-sensors to detect the direction and speed of the ball being thrown. The game is really cool, and behind the brand Strata actually stands Incredible Technologies that later made some very famous titles including the Golding Tee series.
The problem with this poor machine was, that it kept blowing the fuse on the logic board. Chriss and Julian (the owners of Chassis Arcade) had tried a few things, but couldn't get it to work, so they asked me if I'd have a look at it. And that's how the PCB ended up on my test bench.


The edge connector is (besides the controls) JAMMA compatible, so I didn't need to make an adaptor. I didn't have any fuses with the correct form factor (the big ones), so I started by just hooking up one the small ones using some crocodile test wires


however the game wouldn't start at all. Pretty soon I found out why


the poor board didn't get enough juice; I guess those test wires has way too much resistance in them. On the first picture I measure before the fuse, and on the second one after. So I made an alternative solution


I piggy backed the little fuse on top the big blown one. And now the game actually booted up... no blown fuse or anything!


I heard a fine start-up jingle, but the display wouldn't sync properly. I have had such problems before, due to the fact that I'm using a Commodore monitor for test instead of a real arcade monitor, so I just assumed that this was one of those cases as well; more on that later...
The board now seemed to be booting to some extend, so before I returned it to Chriss and Julian, I decided to see if it might have any other obvious errors. A cell battery should always alert a conscientious arcade repper, and this was no exception



The battery is 3V, but gave a reading of 0.27V. So it was desoldered. I didn't have a replacement at that time, so I made this rather crude solution for a start


just using 2 standard AAA batteries in series connected with wires. Now I was pretty confident, that the problems had been fixed, and that the syncing wouldn't be a problem once it got connected to a proper arcade monitor. So I proudly brought it back to the arcade...

After some time, Julian found time to connect it in the cab only to find, that the piggy backed fuse blew right away }:-( So home to me it went again.

It now sat on the shelf for a couple of weeks, while I was doing some other stuff. Amongst that, I had to hook a Q*bert Qubes, that uses positive horizontal and vertical sync instead of negative composite (as pretty much all JAMMA boards use), in my test bench. While googling on how to convert the syncing signal to composite negative sync, I learned that some PCBs actually has a dip switch setting to switch between positive and negative sync. Hmmmm, I wonder!?.... try looking at page 11 in the manual (in the paragraph "SYNC").
So I grabbed the board from the shelf, flipped SW1, made another crude "solution" to the fuse problem


(plz don't try this at home), and applied power


I couldn't get the game to actually start due to the "CUE BALL IS MISSING"-detection, but when I hit the service button, it bought up the service menu


and I was able to playback some of the in-game cut-scenes (for strikes and so on) from there





I wasn't too proud of the battery "solution" that I had come up with, so while I had the board back at the bench, I decided to make it a little bit nicer. I had this old PC-motherboard in the scrap pile. It had a battery of a different form factor, but still 3V... and it was placed in a battery holder.


This type of batteries can be purchased in any bigger supermarket for about 10DKK (~$2) a piece, so that was a perfect solution. So desoldered the holder and attached a wire because of the different form factor


and soldered it onto the board


I can see that it works perfectly, as when I take out the battery, the game boots with a message that the battery is dead. But when it's installed, it saves the settings I've made in the service menu.

The last thing to get settled, was the issue with the blowing fuse. So I tried using one of the small again, and the board booted perfectly. However, when I tried to boot it again the next day, the fuse blow right away.
And THEN it struck me! I had been using fast (in danish: flink) fuses. These are designed to blow at the moment the current gets too high. Slow blow (in danish: træg) fuses however, can withstand a much higher current than what they are rated for, for a short period of time. Very close to the fuse are a couple of rather big electrolyte capacitors. When I booted the board with the "wired" fuse, these would get charged just fine, but when trying with the fast fuse, it would blow right away, because of the high current this charging generates. I couldn't find any documentation anywhere if this fuse should be fast or slow blow, but after seeing that the board runs just fine with a fast fuse once the caps are charged, I'm not in doubt.
So on my way to the arcade that day, I bought a 10 pack of slow blows (in the right form factor), as I didn't have any, and handed them over along with the PCB. About a week later, Chriss and Julian sent me this awesome video


The 2 jolly arcade owners speaks danish in the video, but to recap they're telling, that the game now seems to work just fine, but that they are missing a ball of the right size. Should you, good reader, know anything about what ball to use, plz leave a comment.

So this ended up being more of a piece of detective work and hardly any real repairing. But that's how it is some times, and I'm just happy that it works, and I'm really looking forward too trying this game out };-P

(Don't forget to swing by my Facebook-page and like it to get more frequent updates than just following the blog.)