Hugo Holden
Veteran Member
I am currently working on a comprehensive memory test system (combination of hardware & firmware) specifically for the dynamic PET where the IC's are soldered in, so as to identify the defective DRAM IC's (with any kind of DRAM defect) and does not require any functioning DRAM to work and checks for refresh problems too, but it won't be finished for about a month.
Some simple observations though. There are essentially 3 common ways the DRAM can fail. A stuck high or stuck low output pin, or effectively an open circuit output pin equivalent to a non responsive IC.
Rarer problems include IC's which ignore ranges of addresses. I have been collecting a large number of 4116 IC's, especially defective ones for experiments and analysis. Failure to retain data over time, effective failure to refresh can be another problem. There are potentially more complex problems and interactions that can occur too.
In the 32k PET the outputs of pairs of the DRAM IC's (in the upper and lower banks ) are shackled together.
In the case where one IC of a pair contributing to the bit is non responsive, or effectively has an open output pin, it does not interfere with the other IC on that bit which it is connected to. If this IC is in the lower bank I, the computer won't boot because all bytes below $4000 are defective . If this bad IC happened to be in the upper bank though, the computer will boot and BASIC will report only 15359 Bytes Free (if the computer is otherwise working). Because when BASIC looked over the address range $4000, the memory returned defective values. An open output pin (or non responsive IC) is interpreted as logic high via the buffers, so this is reflected in the returned byte value and indicate exactly where the defective IC is in bank J.
On the other hand, if any of the DRAM IC's have a stuck high or low output pin the computer (in its normal state without a Pettester system) is disabled. And in this case, any kind of memory test system, can only resolve the defective DRAM IC in a 32k PET down to one of a pair of physical DRAM IC's in the same bit position of the upper and lower bank. Though, that pair is easy to identify from looking at the way the returned bytes have been corrupted and which bit is defective, stuck high or low.
Some simple observations though. There are essentially 3 common ways the DRAM can fail. A stuck high or stuck low output pin, or effectively an open circuit output pin equivalent to a non responsive IC.
Rarer problems include IC's which ignore ranges of addresses. I have been collecting a large number of 4116 IC's, especially defective ones for experiments and analysis. Failure to retain data over time, effective failure to refresh can be another problem. There are potentially more complex problems and interactions that can occur too.
In the 32k PET the outputs of pairs of the DRAM IC's (in the upper and lower banks ) are shackled together.
In the case where one IC of a pair contributing to the bit is non responsive, or effectively has an open output pin, it does not interfere with the other IC on that bit which it is connected to. If this IC is in the lower bank I, the computer won't boot because all bytes below $4000 are defective . If this bad IC happened to be in the upper bank though, the computer will boot and BASIC will report only 15359 Bytes Free (if the computer is otherwise working). Because when BASIC looked over the address range $4000, the memory returned defective values. An open output pin (or non responsive IC) is interpreted as logic high via the buffers, so this is reflected in the returned byte value and indicate exactly where the defective IC is in bank J.
On the other hand, if any of the DRAM IC's have a stuck high or low output pin the computer (in its normal state without a Pettester system) is disabled. And in this case, any kind of memory test system, can only resolve the defective DRAM IC in a 32k PET down to one of a pair of physical DRAM IC's in the same bit position of the upper and lower bank. Though, that pair is easy to identify from looking at the way the returned bytes have been corrupted and which bit is defective, stuck high or low.
Last edited: