• Please review our updated Terms and Rules here

Favorite memory check routines

ef1j95

Experienced Member
Joined
Oct 10, 2013
Messages
145
Location
Philly, Yo
Nothing says "S-100" quite like memory problems, which seem to crop up unexpectedly and lead to mysterious faults and crashes. My latest escapade has involved DDT suddenly not running on a 63K CP/M 1.4. I think I've narrowed it down to an 8K board addressed at C000-DFFF.

I'm running a bunch of static ram boards in an IMSAI. Nearly each and every one has had a bad 2102 chip or two. Sometimes bad bits can be detected by the front panel, but other times the memory issues only crop up when running a program or (presumably) during DMA by the disk controller. This is with an 8080 board. Apparently things can get worse running a faster Z-80 CPU.

I've used a number of memory check routines, ranging from the December 1976 Interface Age program, to other simple routines I've cobbled together, and going as far as comparing memory dumps written to disk then transferred to a unix box to examine with hexdump when the front panel and memory routines have failed to come up with anything.

Since things seem to get weird with the (Tarbell 1011A) disk controller, I'm thinking of writing a routine that checks with reads and writes to disk (assuming the drives and controller are working... sigh...) (note: I think I've excluded that possibility in the present case.)

I'm looking for recommendations and source of favorite memory routines out there. What do you use and why?

Eric
 
Hi Eric,

I feel your pain as I've had similar problems with my 2102 RAM boards. Recently, I've been using Martin Eberhard's MEMON ROM monitor with the additional memory test program. It's been great at finding faulty RAM although I've found that I sometimes have to run several passes for a fault to show up. Using a ROM based program means I can pull pretty much everything else out the system.

Cheers,
Dave
 
The most intensive is galpat but march C or variants work well enough. For static memory you might want to include a retention test as it might surprise one to know that there are faults that make a static RAM act like a DRAM.
Dwight
 
Yes if the memory crashes in a zone used by CP/M all hell breaks loose.

I have been running 48k of RAM in my SOL-20 & CP/M. Before I got all the hardware bugs out of the three 16k RAM boards, I had all kinds of trouble.

Most of the issues (aside from some faulty delay lines) were due to poor connections from the corroded dissimilar metals on the IC pins & sockets.

Once repaired the problems vanished. Each IC pin must have the corrosion removed where it interfaces with the socket and each socket pin must be checked for spring tension with an IC pin taken from a donor IC and soldered to a small arm to feel the socket pin tension on every socket. (If the RAM IC's and others are not in sockets, you are probably better off).

The memory test program I used to check the entire memory from 0000h to BFFFh, is from Mike Douglas's site. It hides at CAC0h on the main board ram.But its address can be altered:

http://deramp.com/downloads/processor_technology/sol-20/software/memory_test/MEMTEST.ASM

One advantage; it relentlessly cycles and throws up the faulty addresses, but because of this, it makes it very easy to check the card with the scope to find defective IC's & socket connections etc while its doing its checking.

(PS: TI sockets grip the IC pins from side to side, while other brands do it across the flat part of the IC pin. It is important to know which types of IC socket you have so the IC pins can be cleaned up on the surface that interfaces with the socket pin. The corrosion often needs to be scraped off the IC pin with a rectangular edge metal tool and then finished with 2000 grade paper.Every pin on every IC in a socket requires attention. Just washing the pins or re-seating the IC's won't work as the layers are crystalline oxides which are electrical insulators)
 
Last edited:
Back
Top