Jump to content
Due to a large amount of spamers, accounts will now have to be approved by the Admins so please be patient. ×
IGNORED

Golden Axe Repair Log


Recommended Posts

The last time Noisuf was over he mentioned he had been looking for a Golden Axe PCB for ages, I was pretty sure I had retired my own Golden Axe as I had got a mint PCB that had booted the non-original one from my Sega shelf.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5554.jpg

 

I said he was welcome to the spare one, if I could find it, which I couldn't, I must have swapped it for something. What I did find was this one, in the scrap bin.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4419.jpg

 

It is the water damaged ugly duckling mainboard I got ages ago in a bulk-buy back in 2012, that showed signs of being stored somewhere wet. No idea where the ROM top came from, in old photos I can see it arrived with something else attached. Anyway, how hard could fixing it be, probably just a fuse right?

 

No signs of life!

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4418.jpg

 

The ROM board had also been someones hack-job at one stage, and was peppered with purposefully cut tracks, wires soldered everywhere and run through holes drilled in the PCB. Some were neatly run...

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4434.jpg

 

...others not.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4435.jpg

 

More madness, am pretty sure this was intentional, err maybe.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4436.jpg

 

Note the cut track inside the OBJ-4 socket.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4446.jpg

 

One thing was clear, this was a LOT of EPROMs for a Golden Axe, more than double the number on my PCB. Time to dump some ROMs and check what the hell was on this board.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4421.jpg

 

Well it was partially Golden Axe, out of the fully populated board only the ROMs left in the photo above were recognised as being from Golden Axe, the rest were a mix of blank, utterly unknown or the first half of the right data, but in the wrong capacity EPROM.

 

The EPROMs used were also non-JEDEC pinout chips, which is what the mess of cut tracks, wire links and drilled holes seemed to be an attempt to fix, the only difference between the types is the /E and A16 pins are swapped over. The sad fact is that whoever did this was monumentally wasting their time, the ROM board lets choose which type you want to use simply by moving some jumpers.

 

The simplest way forward was to undo all the hackery and put the board back to its original state. A lot of small links and a few longer links where required to bridge the cuts and connect it back up the way nature intended.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4437.jpg

 

The board also showed signs of track rot on the parts side, a number of tracks were totally black under the lacquer and clearly were open circuit, so it seemed simpler to reverse engineer the pinout and track down what was missing all in one go. I am sure this information exists somewhere out there, a couple of the other Sega ROM boards have been fully defined but this one wasn't one of them. Eitherway its often easier to work it through yourself instead of trying to understand someone else's work.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4465.jpg

 

As the board mostly contains only ROMs it is actually pretty easy to spot things that are missing, if you only have 7 of the 8 data lines present on the connector and there is a gap in the numbering where the missing one should fit it is easy to make assumptions, which can be checked out on a working board. It also confirmed that the hack-job guy was investing hours in making changes that could be achieved in seconds with the jumpers.

 

With the missing lines reconnected with yet more links...

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5529.jpg

 

... and freshly imported batch of the EPROMs installed it was time for first power up.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5532.jpg

 

Not too bad...

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5533.jpg

 

.. not too good either, anything sprite related was a total mess. Plus I had an angry buzzing static noise from the speakers.

 

Scope time!

 

On these boards the sockets for the SCROLL ROMs are for the background (scrollable) graphics data, and this was fine. The sockets marked ROM are for the program code, which was clearly running. The SND and SPEECH sockets are self explanatory, which leaves the OBJ ROMs for the Objects, aka Sprites.

 

The OBJ ROMs on this PCB are arranged in two blocks of 4, in column B on the ROM board, B1-B4 and B5-B8. Golden Axe doesn't need that much data so the sockets at B4 and B8 are unused. Of the populated slots, the chips are paired with each ROM providing 8 bits of the 16 bit word of data. B1 is paired with B5, B2 with B6 and B3 with B7 (and B4 with B8 if used). Each pair has a common /E enable signal, so that when one pair's enable pins are logic LOW the others pairs should be logic HIGH. This ensures only one pair of ROMs is talking at any given time, this is important as all 4 pairs of sockets sit across a common data bus, D0-D15 for the full 16 bit goodness. If more than one pair was talking on the data bus the data would be corrupted, which was what was happening.

 

On this board all the /E pins were LOW all the time, as the tracks that should connect them up to the decoding IC (the 74LS138 which enables and disables the ROMs based on what the address bus is doing) were shot through leaving everything swinging in the breeze and all ROMs talking on the bus simultaneously

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_4439.jpg

 

The 74LS138 inputs are configured using the nearby bank of jumpers, which was right in the middle of the worst area of track rot on the board. Getting that lot reconnected up meant I had to drills some access holes myself as I had to connect some of the lines to the input pins of the 74LS138 on the solder side, to the accessible pins on the connector CN3, which can only be tapped onto on the parts side.

 

With that connected up...

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5539.jpg

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5541.jpg

 

...we have sprites!!!

 

Next fault was the sound, I did a quick buzz through of the pins from the SND ROM at A10 (which contains the Z80 program code) to the Z80 CPU, and all pins had continuity, and as the sound RAM on the main board was socketed I tested it in my EPROM reader and it was fine too.

 

My patience was running thin so I opted for the heavy artillery and pulled out the Fluke 9010 with the Z80 pod.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5544.jpg

 

This lets me take control of the board as if I was the CPU, which lets me test the RAM, ROMs as well as the PCB itself. The sound ROM at A10 has a Fluke Sig of D337, and a size of 8000. Reading at 0000 on the board got me back F3 which is the first byte in the ROM, so it looked like the ROM sat at the bottom of the memory map. So I kicked off a ROM test from 0000 to 7FFF and it confirmed the Sig of the ROM it could read in that address location was D337.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5547.jpg

 

The above should show the OK result of the ROM test, but my camera doesn't like the way the Fluke strobes its display sometimes.

 

This test proved a few things, that the ROM was correct and that the PCB tracks for the address bus, the data bus, and the address decoding was correct - i.e. that the ROM was selected and everything else on the bus was correctly deselected.

 

Next step was the RAM, except I had no idea where in the 64KB address space the RAM was physically wired into. There is a lot of information about the System 16 and 18 PCB hardware online but one major omission is the Z80 memory map for the System 16 board. The one for the System 18 is documented but is a different animal to the 16 as it has twice the RAM.

 

The Fluke 9010 has another trick up its sleeve, give it a working board and it can learn the memory map by running a variety of tests. With it hooked up to my working Golden Axe PCB and set to Learn mode it chugged away for ten minutes or so before completing and reporting that it had found 2KB of RAM sat between C000 and C7FF.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5549.jpg

 

The TMM2015 SRAM is a 2KB RAM chip and the C7FF minus C000 and converted to decimal is 2047, and as zero is valid location you have 2048 locations holding 8 bits each, or 2KB. Result!

 

Except on my board the RAM test run at this location failed at the first location reporting an issue with data line 8. Doing some manual tests confirmed this, whatever 8 bit pattern I wrote to C000 came back with the most significant bit set to 1.

 

Writing FF (1111 1111) gave me FF on read back (1111 1111)

Writing 00 (0000 0000) game me 40 on read back (1000 0000)

Writing 55 (0101 0101) game me D5 on read back (1101 0101)

 

A quick test with the multi-meter in continuity mode showed the data bus was broken between the CPU, the RAM and the YM2151 chip downstream. The first 7 data lines were fine, but the 8th was open circuit. A wire link fitted to the underside of the board fixed that and the sound was restored, briefly.

 

It worked fine for a play through to the second level but returned to the previous fault at next power on. After reconnecting the Fluke and checking everything again (everything was fine) the only conclusion was that either the CPU, the RAM or the YM2151 could barely handle the speed at which the board was driving them. The prime candidate for this was the TMM2015 SRAM, swapping in a faster RAM fixed the issue once and for all.

 

With the game now fully functional there were only a few more borderline issues to fix. There were a few lines of sparklies (flickering pixels) in the background from time to time, often this can be caused by low voltage, or RAM issues, but in this case the most likely candidate was noise or voltage dips at the ROMs feeding this data out into the system, due to a lack of decent decoupling nearby. I've seen similar issues on these ROM boards that range from sparklies to the entire sprite system crashing. As the 470uF capacitors on the ROM board were a wreck, probably from years of grinding up against other boards in someones scrap box...

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5558.jpg

 

...so these were replaced with new ones, which chased the issue away. The worst looking capacitor just happened to be the one next to the scroll ROMs, probably not a coincidence.

 

And then there was this...

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5559.jpg

 

... this is what happens when you run a board on a harness that has too thin wires on the power lines, the most obvious effect is rampant voltage drop and and owners wondering why they can only get a much lower voltage at the board than they can measure at the PSU. Usually they have the PSU cranked up to the max to get close to 5V at the board. The other result is heat, on the wires there is a lot of air cooled surface area so you wont notice, but the edge connector will start to fry leading to this kind of damage, as the PCB material starts to delaminate with the heat. This increases the resistance of the contact so the problem gets worse and everything heats up even more. Someone had helpfully run a hair of wire over the burnt portion and soldered it to the remains of the conductor at the edge, it would restore connectivity but not any current carrying capacity. The board ran OK with this damage but the heat rises over time, and the remaining 5V line to the left and underside were having to carry more current as a result that 1/3 of the copper in the 5V path was now gone. If the game was left running for many hours this could cause those connectors to overheat and start to burn up too.

 

Fixing this was actually easier than I thought, I had to remove the solder mess and file down the board to remove the carbonised mess. The torn up copper track was cut back and some of the solder mask removed to expose decent copper further up. Some adhesive copper trace repair tape filled in the gap.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5560.jpg

 

The same was done for the burnt ground pin to the left, with the tape wrapping around the nose of the edge connector and round to the other side. It was then soldered to the decent original copper, with a small piece of leg off cut used to fill in the gap and provide something a bit more structural. Many thanks to the AAer who sent me this tape many years ago, its awesome stuff.

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5562.jpg

 

With that fixed and some EPROM stickers fitted I'm calling this one resurrected!

 

http://i40.photobucket.com/albums/e230/Womble76/GoldenAxeUgly/IMG_5563.jpg

 

PS - Interesting side note - if you go into the test mode on Golden Axe and into the sound tests, the first voice SFX is the "Welcome" sample taken from Atari's Gauntlet, some of the other SFX sound like they were lifted from there too. None of them are used in the game, cool to find them hiding in the ROM though. ---Actually it is used, when player 2 joins mid-way through an active game. Still sounds verrrrrrrry Atari - suspicious!

 

@noisuf - all yours mate! Be gentle with it, it's had a hard life.

Edited by Womble
Link to comment
Share on other sites

Thanks guys!

 

Great write-up and very interesting read.

 

That copper tape looks amazing, had not heard of it before.

 

Is there a product to repair/repaint? the green layer of the pcb?

 

There probably is an official product, but not all greens are the same green. I have heard of people using Araldite to fill in small areas and then using nail polish to coat it. The next time I repair and edge connector I'll use Araldite to get a perfectly smooth base for the tape, this one was still slightly lumpy it seems, based on the photos.

Link to comment
Share on other sites

OMG, I only just realised the repair thread for the GA was up!!!

 

Wow, I can only now slightly appreciate the amount of effort, experience and skill it has taken to bring this one back to life!

 

Thanks so much @Womble!!! I will be very gentle. Will put it into a home made 'case'. ;)

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Picked up the GA board from Womble on the weekend.

 

Let's just say if it was for the first school day tomorrow, my little one would be playing it right now. She was very disappointed....but I did promise a bit of GA tomorrow. :) Thanks so much @Womble!!!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...