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:

Tatsujin Oh repair log #3

 PCB Repair Logs  Comments Off on Tatsujin Oh repair log #3
Jul 122019
 

Got in the mail today this Tatsujin Oh PCB (japanese release of Truxton II), a great vertical shoot ’em up released by Toaplan in 1992 :

The board was bought on eBay and according to the seller it didn’t accept credits.But actually, when I powered it up, it booted to a ‘TILT’ message screen and then kept resetting in an endless loop:

I have experienced this issue many times and the culprit was always him,  the “infamous” ‘HK-1000’ :

This custom IC handles all the inputs including SERVICE, TEST and TILT and it’s a very prone to failure part, especially the first ceramic revision (like the one present on this board) cracks very easily or goes internally bad.As you may know, I have done a reproduction of this custom IC so I installed a unit after removed the original part and put some round machine pin headers :

Board booted now into game and correctly played but audio was loud, especially explosions and other sound FXs :

As you can see in above video I could not even adjust the volume by acting on the 1K potentiometer :

So I removed it:

It was broken as it fell off in pieces :

I installed a good one:

Sound was fully restored, board 100% fixed.End of today job.

 

 

 Posted by at 3:55 pm

Out Zone repair log #8

 PCB Repair Logs  Comments Off on Out Zone repair log #8
Jul 112019
 

Received some days ago an Out Zone PCB for repair :

Board was marked as faulty with player 2 stuck in down direction and so it was when I powered it up:

Probing the P2 DOWN pin (19 solder side) on the JAMMA connector revealed it was floating as if it was not pulled-up :

Checking the relevant pin of the 4.7KOhm resistor array (which acts as pull-up) gave me a value of 3.8KOhm, there was something pulling it low:

The signal from the resistor array goes then to pin 4 of a 74LS240 @15M whose resistance to GROUND was only 2.2KOhm:

I removed the IC :

Although the chip was tested good out-of-circuit I replaced it :

This fixed the issue with player 2 but the board suddenly died while I was testing it giving me a solid black screen on power up.From the top of my experience with this hardware I know that the audio circuit must be running otherwise the board will not boot.When I checked the Z80 audio CPU I found the clock input stuck low :

The clock is derived from a 28MHz oscillator:

The scope confirmed there was no periodic signal from its output, ther oscillator was dead:

I pulled it out :

Fitted a spare:

Board booted up again with no further issues.Repair accomplished.

 Posted by at 9:51 am