Jul 282012
 

Saw this the other day on eBay and it was going for a sensible price with sensible delivery costs so I took a shot and won it.
On power up we got this

Never seen this fault before and as everything was soldered in I didn’t want to go down the route of swapping everything out.
I could not use the cartridge port or type anything in but I did have what looked like a flashing cursor. I also found, when I pressed the CONTROL key the screen flashed up with a nice multicoloured garbage screen which I have seen before with a dodgy PLA.
Whipped this out and burned a new PLS100 chip.

Now everything is back to normal (or is it?)

Whilst running some diagnostics I saw there was a fault on one of the CIA chips that displayed “INTERRUPT”yet everything seemed to be working.
Running a different set of diagnostics I found that the RESTORE key did not function. As the restore key generates an NMI this was probably what I was seeing.
I don’t have any spare CIA chips so this will have to stay as it is for now.

UPDATE: Thanks to a comment left by Rocky I revisited this today armed with schematics. Found a completely knackered 556 timer chip that just so happens to control the NMI from the RESTORE key. Replacing this fixed all my problems.
Lesson learnt. Don’t assume you always know what your talking about!

Thanks to Rocky for making me look at this again

 Posted by at 7:12 pm
Jul 142012
 

This came up on eBay the other day and thought I may as well have a go at repairing it.
According to the listing it failed its startup tests and the picture showed this too however when I got it, it passed all startup tests no problem.
So, here is what I was getting at first boot up

Picture is upside down and garbage on the screen during game. There is also no music but SFX are present.
I removed and reattached the ribbon cables and that gave me this

The video board on this has been messed with before with some pretty bad soldering and not so great wire links added.

There are a couple of points here that are completely trashed, luckily though these are not used so I can ignore them. I removed the links and remade them which brought the screen the right way round again and fixed some colour issues.

There is now clearly a problem with the sprites, every other line is missing. I recalled that my friend Elgen had the very same issue on his bootleg board so asked him what lines he patched. He sent me some pictures but unfortunately it wasn’t my issue. It did however point me to the correct part of the board.
At location IC84 is a TMM2018 RAM. I noticed when my hand was near this chip, some of the missing lines on screen would appear. Checking the outputs from this RAM revealed some weak signals.

These outputs fed into the 2 chips that Elgen had pointed out to me so that confirmed what I was seeing.
I removed the RAM and replaced it with a 6116 I had which then gave me this

All graphics problems sorted. Now onto the music problem.
Going from previous experience I knew where to look.
The YM2151 is responsible for our nice FM sounds. I could see the inputs pulsing away but the outputs at pins 19,20 and 21 were all stuck high. Replacing this gave me that oh so familiar music.

Job done

 Posted by at 12:32 pm

Spectrum divIDE repair log #2

 Computer Repair Logs, Repair Logs  Comments Off on Spectrum divIDE repair log #2
Jul 092012
 

Another divIDE repair today.
Very simple, with the device connected I got this

As Ive found with all of the divIDE boards that Ive repaired the EEPROM was blank. A re-flash sorted this problem out.

There is apparently a reason why this keeps happening and has got something to do with the way the Spectrum regulates power at startup.

 Posted by at 4:38 pm
Jun 082012
 

This game took me ages to fix and the fault ended up being something strange.

Anyway, the game booted to a frozen screen of garbage.
Checked the voltages, all were fine.
Checked the clock, reset and halt lines on both of the 6809 CPU’s, all were fine.
Pulled the ROM’s and checked them, all were OK.

I probed the work RAM and it looked OK but pulled it anyway just in case. No problem with that so back in it went.
Other than the fact it didn’t work, I couldn’t find anything wrong with operation. All the TTL seemed to be functioning as it should. The only thing that bothered me was the I8751 MCU in the bottom left hand corner. There is no dump of its contents available and the security bit has been set.

I did find on my probing travels that when I probed the DIRECTION pin (pin 1) of a group of 74LS245’s then the intro and music would play through as it should. Although the colours were messed up I could coin it up but the game would not start. This little find sent me on a wild goose chase for a day.

As I couldn’t find anything wrong I decided to draw up some schematics of the CPU’s. Everything seemed to be going where it should. I left it alone for a day after this because I was loosing patience with it.

So, today I started looking into the code with the view of writing some test code. The hardware is actually very easy to work with and had no problems doing some tests.
It seems the sub CPU actually does most of the work at startup. Here is what it performs:
1. Shared RAM clearing
2. VRAM clearing
3. BG data clearing
4. Sprite RAM clearing
5. Copies the Hi Score data into RAM
6. Sends the region information to the i8751 MCU
7. Stores data 0x01 into address $6 in RAM
8. Sends interrupt to main CPU

After step 8, the sub CPU continually monitors address $6 in a loop. When the main CPU sets this to 0x00 then the sub CPU will continue.
On to the main CPU then. The only thing that this does before restarting the sub CPU is set the palette RAM. Once this is done the game should start up.

I edited the sub CPU code so that it wrote 0x5050 to all the VRAM. This should will the screen with the letter “P”.
I also made the background into something to prove the BG data could be written.

In MAME I got this

On the real hardware I got this

Ignoring the colour difference I was happy with that result.

Next step was to bypass the need for the sub CPU to monitor address $6. Doing that should allow me to run the intro sequence without the main CPU fitted.
This would prove that the sub CPU is all working fine and the reason the game didn’t run was down to the main CPU playing up.

I wrote the new ROM and tested.

The intro now ran. The colours were messed up but that’s to be expected as the main CPU sets up the palette RAM and that’s been bypassed.
As the main CPU doesn’t really do a lot before the game is meant to run I came to the conclusion that it wasn’t writing address $6 with 0x00.

To cut a long story short, out of desperation I burned another program ROM for the main CPU.

All working. Despite the fact I could read the original ROM out, the hardware wasn’t happy with it.
Crazy fault nearly drove me mental

 Posted by at 1:14 pm

1943 repair log

 PCB Repair Logs, Repair Logs  Comments Off on 1943 repair log
May 312012
 

Got a few boards today.
One of them is an original Capcom 1943 board.

Game had no sound at all.
After a quick look over the problem became apparent.

The EPROM for the sound was missing its GND leg. I replaced this with a 27c512 (data doubled up) for now as I seem to be out of 27c256 EPROM’s.
Game is fully working now.

 Posted by at 7:36 pm