Bubble Bobble repair log #5

 PCB Repair Logs  Comments Off on Bubble Bobble repair log #5
Jul 262019
 

Received for repair from New Zealand an original Bubble Bobble PCB.Set is made of a CPU board

And a VIDEO board:

It came already adapted to JAMMA so it was just matter to plug it in.I did it but nothing came up on screen. I noticed wires were soldered onto the pins of ‘H’ connector and then a molex connector was used to carry power to JAMMA fingerboard:

I didn’t like this solution because it can cause loose connection so I removed the molex connector and soldered wires directly to JAMMA fingerboard.In this way the board properly booted up, games was perfectly playable with sound too but every alternate horizontal line of graphics was missing :

From top of my experience I know this kind of issue are most of times caused by bad counters (74LS161/163/169).Looking at board I spotted two rows of 74LS169 on bottom VIDEO board:

From schematics I could see they are involved in VIDEO RAM data bus, this made sense :

I went to probe these 74LS169 in circuit with my HP10529A logic comparator, all of them passed the test except the one @IC64 that gave troubles on all its outputs:

I pulled the part out :

It failed the out-of-circuit test on my BK560 :

I installed socket and a fresh IC :

This cured the issue and fixed board completely.End of job.

 Posted by at 10:56 am

Space Invaders DX double repair log

 PCB Repair Logs  Comments Off on Space Invaders DX double repair log
Jul 262019
 

I received from Portugal a couple of Space Invades DX PCBs, a game released in 1994 by Taito (more or less a port of the original Space Invaders, with a few new features).

Both boards were in very good condition but completely dead.Here’s the first one:

All I got on power up was a steady black screen.Probing the 68000 main CPU revealed the address/data busses were active but the three interrupts inputs (IPL0-IPL1-IPL2) were all in fixed high logical state.I traced these inputs back to a PALCE20V8 marked ‘D72-07’ :

Then I disassembled the fusemap of the MAME dump of this PAL being able to identify its inputs and outputs:

/** Inputs **/
Pin 1 = i0;
Pin 2 = i1;
Pin 3 = i2;
Pin 4 = i3;
Pin 5 = i4;
Pin 6 = i5;
Pin 7 = i6;
Pin 8 = i7;
Pin 9 = i8;
Pin 10 = i9;
Pin 11 = i10;
Pin 13 = i12;
Pin 14 = i13;

/** Outputs **/
Pin 15 = o15; /**(Combinatorial, No output feedback, Active low) **/
Pin 16 = o16; /**(Combinatorial, Output feedback output, Active low) **/
Pin 18 = o18; /**(Combinatorial, Output feedback output, Active low) **/
Pin 19 = o19; /**(Combinatorial, Output feedback output, Active low) **/
Pin 20 = o20; /**(Combinatorial, Output feedback output, Active low) **/
Pin 21 = o21; /**(Combinatorial, Output feedback output, Active low) **/
Pin 22 = o22; /**(Combinatorial, No output feedback, Active high) **/

Pin 20-21-22 were outputs to 68000 interrupts lines and they were confirmed to be stuck high along with all other outputs :

Although PAL was secured I tried to read it in my programmer, this would have at least told me the state of ‘health’ of the chip.Reading failed hence the chip was faulty:

I burned a GAL20V8 (GAL and PALCE are most of time interchangeable) with MAME fusemap :

Board booted up with no further issue.First board repaired.

 

The second board:

As said, it was completely dead.Probing the 68000 main CPU revealed the clock input was stuch high:

I traced it back to a 74F161 @IC51 which acts as a clock divider of the 32Mhz signal generated by the near oscillator :

There was nothing coming from the oscillator into the clock input (pin 2) of this 74F161 counter:

At first glance I thought the oscillator was dead but before replacing it I made a visual inspection on solder side.I found a dry joint on its output pin :

I promptly reflowed it and then powered up the board again.It booted up with no further issues.Double repair accomplished.

 Posted by at 10:34 am

Shoestring’s Atari 8bit ram tester

 Computer Repair Logs, General  Comments Off on Shoestring’s Atari 8bit ram tester
Jul 232019
 

For Atari 800XL, 800XLF, 65XE and 600XL 64kb home computers.

Diagnostic program – previews

 

 

 

 

 

 

This program installs in the OS ROM socket and is used as a means for testing the DRAM and the Atari Basic ROM. If you have some spare 27c128s lying around then this can easily be installed without an adapter in any Atari 8 bit.

When the program first fires up you’ll see a black screen & hear an annoying sound as the data is being written to the first 2kb of DRAM, this is intentional and to let you know that the program is busy writing data and evaluating it. The first chunk of memory is critical to test as this contains page zero and work ram used for assembler programs accessing shadow registers..etc

  • Evaluates the first 2kb 0x0000 – 0x07ff.
  • Calculates a checksum of the BASIC ROM and stores the result in zero page if the memory there is good.
  • Turns off BASIC.
  • Performs evaluation from 0x800-0xbfff ( this includes the memory under the BASIC ).
  • Copies a large chunk of the ROM to DRAM starting at offset 0x900.
  • Turns off OS rom.
  • Tests the remainder of the memory 0xc000 – 0xffff,  including the memory underneath the OS ROM but skipping the I/O area ( 0xd000-0xd7ff )

Memory test algorithms used

  • Checkerboard, Inverse checkerboard, Walking 1s, Walking 0s, 1s, 0s and exhaustive.

Example of walking 1 bit pattern evaluation

This writes the bit pattern directly to PMG address space which is visible on the right hand side of the screen in red.

Bad ram detected in the 0x800 to 0xBffff memory region ( the arrow indicates a bad data bit was read back )

What it does

  • During testing,  the program displays bit patterns on screen which represent the data written to DRAM.
  • Plays sound to indicate CPU is functioning ( for systems playing blind ).
  • High beep = cleared one of the available algorithmic tests.
  • Low beep = successfully evaluated 100 memory locations with no errors during the exhaustive search.

Note: This does note evaluate the memory underneath the I/O ( 0xd000 – 0xd7ff ).  As there is no possible way ( that I know of ) to access it like you can in the Commodore 64 via bank-switching. Programs do not utilise this area of memory anyway.

Pre calculated Basic ROM checksums 16 bit [ sum of bytes ]

  • REV A – 0x12c9
  • REV B – 0x4469
  • REV C – 0x42ab

Advantages of using the ROM

  • It will still boot up with no DRAM installed or with dead DRAM, as long as that is the only problem.
  • Great for testing completely dead systems with a black screen. If the system does not start then there are other hidden issues. If your system starts up fine with this ROM and there are no DRAM errors, suspect a bad OS ROM ( this would normally cause a red screen ).

Note –  Chips that get hot to the touch including DRAM chips indicate an internal short. This should be addressed prior to using this diagnostic tool. +5 voltages below 4.75v will cause instability and unpredictable results.   First remove the suspected chip from the machine then power the machine on and confirm no other chips are getting hot to the touch before installing the replacement chip, this is to prevent the possibility of damaging the replacement chip, confirm no short present by checking the +5v reading at one of the chips.

Do not use this diagnostic tool if you have not verified the operation of the power supply.

Limitations

  • PMG graphics are written to memory, so if bad ram is detected within these areas then expect unreliable results the wrong data bit being identified.  By all means, any error detected should not indicate a false positive and you should manually test each DRAM chip externally using a RAM tester or device programmer that can handle these types of devices. I am currently further testing and investigating  more reliable solutions.

To Do – In future version.

  • Wre-write the code regarding the reporting side of things and not totally rely on PMGs to indicate bad data bits. This will make reporting more accurate.
  • Write a 128kb version for 130XE machines.

What I probably won’t do

  • Write a version for systems with memory exceeding 128kb. The diagnostic was written as a means for trouble shooting a basic system.

Download

Download link 1: a8diag1-6.rom

Download link 2: a8diag1-6.rom

DRAM configuration of  600xl

This tool is compatible with the following DRAM configuration in the 600XL which requires two 4464s installed in the original sockets with 3 additional wires. See following link for instructions. If you use a 3rd party RAM expansion board, then chances are it will have 8 x 4164 1 bit DRAMs. Whilst you can certainly check the integrity of the RAM on the board using this program, you’ll most likely need to identify the bad chips yourself.

Atari 600xl 64kb mod

This is the cleanest method in my opinion as it does not require soldering any wires to the board and is easily reversible.

 

Jul 222019
 

One drunken day at the excellent Revival event I offered to look at a Nintendo Space Firebird PCB.
Initially I was given the eBay link which had a few pictures of the fault.

When I got the board I did my usual visual checks and found a few things I didn’t like the look of.
First up both main RAM chips are socketed. I removed these to check out of circuit and found this

I fixed that up by removing a leg from a donor chip and soldering it on

Next up was the 8212 Input/Output port. It too was socketed with a single wipe socket but what really got me suspicious was the state of the soldering

I wasn’t a fan of this so desoldered it. When I desoldered it I found this

A bit of trace has been lifted there. I can only assume this has been removed before.
I fitted a new socket and moved on.

Found a burnt looking resistor on the sound PCB

The resistor still reads 20 ohms but i will replace that once my parts order comes in.

Lastly there were a few areas with the solder mask removed and solder on it. Not a huge problem but it needs addressed.
I cleared the excess solder from these places and covered them using a Chemtronics pen.

Not pretty but it does the job.

Firing up the PCB for the first time confirmed the original fault was still present.
As the fault was with the video I looked there first.
I started by reseating the two socketed RAM chips

To my surprise this fixed up the graphics. Not sure what effects the previous fixes would have had but Im not removing them to find out.

New problem now. The game hangs at the title screen at the same point every time.
Whenever I get issues like this I always think RAM or ROM issues.
I had already confirmed the RAM so went on to dealing with the ROM’s.
All of them were a match for Space Firebird according to MAME’s ROMident but the ROM at location 5J was for a different version of the game.

It should have been this

I erased and reprogrammed the 2716 EPROM and now the game plays fine.

While comparing gameplay against MAME I realised some colours were missing

This should look more like this

I chased this round for quite a long time only to realise that the 74LS04 inverter I was using (as stated in the manual) to invert the colours was my problem. Switching to the proper Nintendo inverter PCB made everything look right again.

All that’s left now if to replace all those capacitors on the sound PCB and that burnt looking resistor and this board is done

 Posted by at 6:18 pm

Capcom Trojan PCB repair Log

 PCB Repair Logs, Repair Logs  Comments Off on Capcom Trojan PCB repair Log
Jul 212019
 

I got this board a few years ago when I got a Pac-Man cabaret cab that had been converted to Trojan.

The whole cab was sold to me as not working so I assumed the board wasn’t booting either I converted the cab back to pacman and put this board aside until this year

So I fired up the board and it booted up just fine. However there was absolutely no sound coming out.

One of the issues with this board is that there aren’t any schematics available for it.
Luckily the sound section is almost identical to Ghost n Goblins.
Since the traces are visible on the board, I drew them for help on the back of the board.
Crude but it helped figure out things a bit.

It’s got that same sound module (85H001) to drive two YM2203 (3 channel sound chip)
The signal is then fed to a YM3014 DAC, and LM324 Op-Amp and a final HA13001 power amplifier.

Probing the YM2203, YM3014 , LM324 I can see signal coming out of all these and into the input of the power amplifier .

 

However there’s nothing coming out of the HA13001 so I’m assuming this is the culprit here.
Removing it, half the legs broke off . No wonder it wasn’t working

I fitted a new one and the sound came back right away and I was able to enjoy a quick game of Trojan

A quick and easy one but you need these every now and then

And as usual, for those who prefer the video format: