Contents of the COLORAM.DOC file
COLOR GRAPHICS ADAPTER RAM MEMORY TESTER
INTELITECH Micro Systems
12784 Cara Drive
Woodbridge, Virginia 22192
Phone (703) 490-1890
COLORAM.COM written Januaray 1, 1987 by INTELITECH Micro Systems. If you feel
this program is worthy and you will benefit from its use - please send me $2.
The purpose of this program (utility) is to provide a sophisticated way
to test the full 16K of RAM memory located on the Color Graphics Card (CGA).
This software will also test other types of boards like the Enhanced Graphics
Adapter (EGA) but only up to the first 16K of memory beginning at address
B8000. This software will refuse to run on PCs without a color card. If
you run it on a PC with both a CGA and a monochrome card make sure you execute
the MODE CO80 command before you run the utility to switch over to the color
card or you will see no display and therefore you will not be able to see the
program find the bad RAM (see your DOS manual).
The video RAM on your CGA is not parity checked like regular RAM memory and it
doesn't need to be. As a matter of fact, if it was and a parity error occured
you surely would not want your PC to lock-up when the only adverse affect may
be a stray character appearing on screen. The COLORAM program was written
using on of the most successful RAM checking algorithms available and does a
very complete check of your video RAM. But... it is very slow. If you are
prone to seeing weird characters or colors popping up on screen you could
have a bad 2116 (16 bit RAM chip).
THE WALKING/ROTATING BIT TEST
The testing algoritm is commonly known as the Walking/Rotating-bit Test.
All 8 bits are first set to 0, or cleared. Then the first bit is set to 1
(0000 0001), the program then tests all bits to see if any of them have
changed. The byte is then cleared back to 0 and then the second bit is set to
1 and all bits checked to insure they haven't changed. This process walks
through each bit in that memory location throught the same process and then
goes back and sets all bits to 1 (1111 1111) and walks through the process
all over again starting by turning off bit 1 (1111 1110) and then checking to
insure no other bits are affected. Then turning all bits on again and moving
to the next bit. The number of passes are entered at your option. One pass
means the above process will take place for each byte once (bits are checked a
total of 16 times per pass). Of course entering multiple passes will cause
the program to take much longer but improve its chances of finding
intermittent problems. Entering a 0 will cause the program to continue on
continuously until an error in memory is detected.
One of the side effects of flipping video RAM bits is that any thing in this
RAM is automatically displayed on your screen. This is nice because you can
actually see each bit as it is checked. Remember each position represents 2
bytes - each odd numbered byte is an attribute byte (color, blinking, etc) and
each even byte is a character byte. So you will see a total of 2000 blocks
representing a successful test of that 2 bytes per 4 kilobyte video page.
This program is also writing directly to RAM so you may see anther side effect
that is not so pleasant - "Snow". The "snow" is normal and is a result of
bypassing the BIOS routine that is normally used when writing to the video RAM
but because of this the program runs much faster than it would otherwise.
SPEED OF TEST
This program is my first submission to the Public Domain. I have greatly
streamlined the test to run in under 15 minutes, put it into a .COM format
for faster loading and packed the machine code pulling out an additional 9% of
"fat" and getting it to run alittle faster. Normally a test of this type can
take up to 13 hours per 16K of RAM!
FINDING THE BAD CHIP
The program will not only detect bad RAM but will make a very good attempt at
telling you exactly which chip is bad (IBM CGA only)! The RAM chips on the
IBM CGA are labeled U50 to U57. That is, eight 16 K dynamic RAMS and no
parity chip. The program will display the chip label of the bad chip plus
the exact address offset of the bad bit.
REPLACING THE BAD CHIP
To make repair after a bad chip is found you must unsolder the offending
chip. They are not socketed so a special unsoldering tool made especially
of unsoldering chips must be purchased to replace the tip on your soldering
iron (35 watts or less) or an unsoldering iron can be purchased from Radio
Shack for about $15. The chips are 2116 dynamic RAMs and can be purchased
from your local Radio Shack store or other parts supplier. Hopefully this
program will keep you from the expense of having your CGA replaced for the
cost of a $.55 part. Jay Anderson