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.


  • 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 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.


Atari 800xl repair log #2

 Computer Repair Logs, General, Repair Logs  Comments Off on Atari 800xl repair log #2
Jun 022018

Although I grew up with a Commodore 64, I have a soft spot for Atari 8 bit machines. My mission in life is to save them all from going into landfill.

I spotted this grimy Atari 800XL on Gumtree very recently as untested, it came with an Atariwriter Word Processor Cartridge. I met the friendly chap selling the item and we did the exchange for the computer at Town Hall steps, which is a popular meeting place in Sydney.

Taking the machine apart, I was happy to see that the machine was fully socketed and that the PCB was in excellent condition despite it needing a good clean. Actually, I was expecting a fully socketed machine because it was made in Hong Kong just like my 600xl was. Another pleasant surprise was the brand of DRAMs used ( OKI ) instead of the mT variety, which have a bad reputation for reliability and were used extensively in the Atari 8 bit and C64 line.

I had a close friend of mine over after work and we went through the troubleshooting together. Unfortunately, not much happens after power it up. A black screen most of the time and sometimes an intermittent picture, obviously this is a sync issue.

Sometimes I manage to get a screen that looks like this. This is a good sign. At least I know the CPU, ROMs and DRAMs are working to some extent to produce this screen.


Luckily I  have a fully socketed 65XE to swap parts to and from.  I also tried a known semi good GTIA which was bad on one output only but produced a nice clean picture in a working machine. The GTIA is responsible for generating the luminance, color and csync signals to produce an image to the screen.

Replacing it doesn’t change a single thing so I consult the schematics, the signals go directly to a hex non inverting buffer ( 4050 ) so I switch my logic probe to the CMOS setting and start probing the chip. Output 6 ( lum0 ) is good, lum1, 2 and 3 were all bad and all outputs were floating. I wanted to check the CYSNC line (  composite sync ) and that was also floating ( no signal at all  ).

I short the input and output pins of the 4050 ( pins 14 & 15 ) with my logic probe briefly which restores the picture to the screen.

Replacing the chip completes the job!

Now onto the next challenge, cleaning the motherboard and case!

Pooyan Diagnostic ROM

 General  Comments Off on Pooyan Diagnostic ROM
Dec 092017

This is an initial test release.

Reported to work nicely on real hardware.

This EPROM installs on the CPU board @ A4. This does not replace the original software but is only used as a means of testing the main-board, sound and video hardware. Detects STERN, KONAMI and POOTAN versions of the software.

Diagnostic mode is accessible by holding down player 2 start whilst powering on the game or enabling demo sounds via dip 8 of dsw2.

Version: $55BF

See current version for download

Sep 112017

During my Hypersport’s repair I discovered a problem with the display of my Commodore 1084S monitor. Notice blue missing for “3 LONG HORSE” and “7 POLE VAULT”.

This will be the third time I’ve performed a repair on this old monitor which I’ve had since the early 90s for my Amiga 500 and 2000. At first I would suspect the AV7000 Supergun as the culprit. But subsequent tests would prove otherwise.

There’s definitely a better picture with composite or svideo from my c64 and Atari 8 bits but there seems to be a problem showing blue on the RGB input even though some blue is there ( turquoise , cyan.. etc ) in other images. Adjusting the blue gun and turning up the contrast just makes the backgrounds in Puzznic more blue. Where blue is supposed to be on the screen, it seems to not be present as though the signal were being cancelled out.  With no RGB signal to the monitor at all, it defaults to a blue screen instead of a white one.
Apologies for the sync bands.
I suspected the neck board transistors, so I pull out the one responsible for blue and tests with my multimeter show it’s fine. I even swap the transistors around to see if the problem would move to the other gun….  but it doesn’t.
I found this really good post on eab [ English Amiga Board ] by Loedown
IC502 TDA 3505 pins 12, 13, 14 are RGB in from Euro Connector /SCART, check voltages there to begin with when inputting a perfectly white screen. Then follow the voltages through to transistors TS604 – 606.
The schematic shows the analogue inputs go directly from the RGB connector to the Philips TDA3505 IC via some 100nf caps. Pins 12,13 & 14 are the input RGB signals. I measured 4.3v for red and green but 9.1v for blue. That seems a little too high for blue and the schematic indicates 4v for those signals.
I order some TDA3505s on eBay from atarifreakz and my package arrives a few weeks later.
Not wasting any time. I replace the chip and the picture is now perfect!
The Taito logo and blue shadow around the Puzznic logo is now visible. Notice the bricks and backgrounds are also showing up right compared with the previous screenshot.
I wonder if there will be a part 4 🙂
Jul 092017

In this log I fix the sprite’s incorrect colors as discovered in part 1. To review the problem see the image below. Note that the colors for the weightlifter are incorrect, the runner also has red shadow instead of black and the colors for the area in between the flags on the right are also incorrect.


Initially, I thought the area between the flags were actually made up of background tiles. These are actually sprite objects used as background graphics. I used my test rom to confirm this.


The bipolar proms I ordered finally came but were all faulty! So that was a complete waste of time and money. The good news is after checking the palette prom [ several times over ] it appears to be good and I must have been reading it incorrectly with my TopMax in part 1 of the repair log.

I thought about this for awhile and had an idea that would help me troubleshoot. Firstly, I looked at the color palette for Hypersports in MAME and took down some notes.


After comparing the colors of the sprites from images online [ google images was a good starting point ] with colors from the table above, my suspicions were that there was a stuck bit somewhere. Black [ color 0 ] is being displayed instead white [ color 1 ].

For black [ color 0 ] to be displayed instead of white, bit 0 would have to be stuck low. Color 2 is also being shown instead of color 3 and the only way this could happen is if bit 0 was stuck low. The athlete’s shadow is also being shown as red instead of black for the same reason which results in color 8 being shown instead of color 9.


The backgrounds and sprite data appear to be combined at the LS157 at A4 which then form the signals OUT0-OUT4 at the LS174 A2. These 5 signals represent the color of a single pixel on the screen [ 32 possible colours ]. But I’m more interested in the signals OCOL0-OCOL3 [ object/sprite colors ] so I begin poking around at the inputs and outputs of the LS157 at C17 first. I generally choose the multiplexers to troubleshoot first whenever it’s relevant because these seem to get worked fairly hard [ especially in the video circuit ] and exhibit higher failure rates in these areas.


Pin 4 [ 1Y ] output of C17 appears to be stuck low, exactly what I was looking for. This was later confirmed after testing the chip out of circuit.


The Fujitsu in C17 is a temporary measure, I promise. It’s a working pull from my Gyruss and I didn’t have any other spares on hand.


The colors seem right although I seem to be missing overall color from the CRT.





Changing it over to my LCD just to confirm that my 1084 probably needs an adjustment of some sort.