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 ( 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 program 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 as the wrong vertical position on screen will be reported ( via an arrow ) which indicates 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.

To Do – In future version.

  • Wre-write the code regarding the reporting side of things and not use 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

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 072019
 

Today I’ve uploaded the latest version on my BINman software to v4.5.0
The main addition here is the inclusion of Fluke 9010 signatures to the checksum area.
Not only does it have support for the 8 bit signatures it also supports the 16 bit signatures.
For 16 bit signatures, it will only support single files so if your hardware has the files across 2 EPROM’s then these will need interleaved or whatever is required to merge them.

Enjoy

 Posted by at 8:04 am

Site Donations

 General  Comments Off on Site Donations
May 312019
 

Well,
Just a few hours after getting the site back up and making a post on here and twitter about the possibility of donations I can safely say that all costs have been met for the full year.

I am stunned at the level of support received on this.
Asking for donations is something I never wanted to publicly ask for but its gone so much better than I expected.

Once again massive thanks to:
Banjo Guy Ollie
Caius
IronGiant/VectorGlow
Derick2k

 Posted by at 7:27 pm

Server move and down time

 General  Comments Off on Server move and down time
May 302019
 

The usual visitors to this site will have noticed that it has been offline for a few days.
Basically the site had grown too big for for our hosting and I made the decision to move.
Obviously this comes at a cost and for a time I thought I was going to have to make some compromises.
Luckily, for this year at least, I had a cash injection from Banjo Guy Ollie & Caius which has allowed me to pay for what was needed.

I am contemplating setting up a Patreon or something in order to help pay for this cost going forward.
We will see how it goes.

Massive thanks to Banjo Guy Ollie & Caius for the contributions.

 Posted by at 12:29 pm