under_construction.gif



IBM 5150/5160  -  Faulty RAM refresh on motherboard


Introduction

If you look at the data sheets for the type of dynamic RAM chips used in the IBM 5150 and IBM 5160, you will read that the RAM needs to be refreshed within a period of miliseconds.

Others have said it, and I have verified it myself: The reality for dynamic RAM chips used in the IBM 5150 and IBM 5160 appears to be much different.  (Although maybe dynamic RAM of the early 1970's had a millisecond requirement.)

The authors of the SuperSoft/Landmark diagnostic ROM appear to have recognised that, because for the RAM refresh test: After writing test values to RAM, it waits 10 seconds before reading back the stored values.

It also explains why the 201 RAM test in the power-on self test (POST) of my IBM 5150 motherboards, usually still passes if I have the RAM refresh circuitry disabled.

You have to think of dynamic RAM refresh only being required for long-term storage, not short-term storage. The time periods associated with short-term and long-term will depend on the particular dynamic RAM chips being used.

Below, I performed some 'disable RAM refresh and see what happens' experiments on my IBM 5150/5160 motherboards. You may see different results, because your motherboards are using different make-model RAM chips to what are fitted to my motherboards.

Some low-level information about RAM refresh on the IBM 5150/5160 motherboard is at here.



Test Methodology

COMPONENTS:   IBM 5150/5160 motherboard, PSU, keyboard, video card + monitor.  No other cards.
   
STEP 1 OF 7:   For the IBM 5150, RAM refresh was disabled by grounding pin 13 ('OUT 1') of the motherboard's 8253 chip.
For the IBM 5160, RAM refresh was disabled by grounding pin 4 of chip U71.  See note 1 below.
   
  WARNING: That action carries some risk of damage to motherboard chips.
   
STEP 2 OF 7:   Observed step 1's impact on the motherboard's power-on-self test (POST).
   
STEP 3 OF 7:   Observed step 1's impact on the motherboard's Cassette BASIC.
   
STEP 4 OF 7:   Observed step 1's impact on the SuperSoft/Landmark diagnostic ROM.
   
STEP 5 OF 7:   Observed step 1's impact on Ruud's diagnostic ROM.
   
STEP 6 OF 7:   Observed step 1's impact on a boot from floppy.
   
STEP 7 OF 7:   Observed step 1's impact on a boot from hard drive.



Test Results


IBM 5150 motherboard of type 16KB-64KB, with 64 KB total RAM

• Test components: Motherboard, PSU, keyboard, video card + monitor.  No other cards.
• 64 KB fitted to motherboard.
• RAM refresh disabled, via grounding pin 13 of the 5150's motherboard's 8253 chip.

ROM firmware     Result
IBM POST in 10/27/82 ROM:   POST passed with only a 601 error (601 expected due to no floppy controller + drive).  No 201 error.  End-of-POST beep heard.
   
Cassette BASIC:   Simply entering  PRINT "APPLE"  resulted in a 'PARITY CHECK 1' error (at the point of pressing the ENTER key).
   
Supersoft diagnostic ROM:   On the first iteration, the 16K CRITICAL MEMORY REGION TEST passed then the MEMORY REFRESH TEST failed.  On all subsequent iterations, the CRITICAL MEMORY REGION TEST failed and the MEMORY REFRESH TEST appeared to be skipped (the failure count of MEMORY REFRESH TEST always showed as 1 [from the first iteration]).
   
Ruud's diagnostic ROM:   64 KB of RAM passed per here on first and all subsequent iterations.
   
Boot from floppy:   Because my DOS boot floppy was of DOS 3.3, 64 KB of RAM was not enough; I had to add a RAM expansion card for this test.
With 128 KB total conventional memory, a '1001 201' error appeared, then part way through floppy booting, the screen cleared, then "PARITY CHECK 2" appeared.
With 256 KB total conventional memory, a '1001 201' error appeared, then part way through floppy booting, the screen cleared, then "PARITY CHECK 2" appeared.
With 320 KB total conventional memory, no progress at all past the flashing underline cursor (there was NO end-of-POST beep).

Showing that different amounts of RAM can change the symptoms.
(And different versions of DOS may produce different symptoms.)
   
Boot from hard drive:   As expected, exactly the same as for the 'Boot from floppy' test.



IBM 5150 motherboard of type 16KB-64KB, with 320 KB total RAM

• Test components: Motherboard, PSU, keyboard, video card + monitor, RAM card.  No other cards.
• 64 KB fitted to motherboard + 256 KB on RAM card.
• RAM refresh disabled, via grounding pin 13 of the 5150's motherboard's 8253 chip.

ROM firmware     Result
IBM POST in 10/27/82 ROM:   FAILURE: Flashing underline cursor on-screen, but no progress past that, not even the end-of-POST beep.
   
Cassette BASIC:   Could not be tested (because the POST did not complete).
   
Supersoft diagnostic ROM:   [Untested]
   
Ruud's diagnostic ROM:   [Untested]
   
Boot from floppy:   Could not be tested (because the POST did not complete).
   
Boot from hard drive:   Could not be tested (because the POST did not complete).



IBM 5150 motherboard of type 64KB-256KB, with 256 KB total RAM

• Test components: Motherboard, PSU, keyboard, video card + monitor.  No other cards.
• 256 KB fitted to motherboard.
• RAM refresh disabled, via grounding pin 13 of the 5150's motherboard's 8253 chip.

ROM firmware     Result
IBM POST in 10/27/82 ROM:   POST passed with only a 601 error (601 expected due to no floppy controller + drive).  No 201 error.  End-of-POST beep heard.
   
Cassette BASIC:   'PARITY CHECK 1' error when trying to store lines of code.  For example, Entering  10 PRINT "APPLE"  resulted in a 'PARITY CHECK 1' error (at the point of pressing the ENTER key).
   
Supersoft diagnostic ROM:   On all iterations, both the 16K CRITICAL MEMORY REGION TEST and MEMORY REFRESH TEST passed !!!!!!!!
This was a surprise because the MEMORY REFRESH TEST waits 10 seconds.
Could it be that the particular RAM chips within bank 0 of my motherboard can hold their contents (without frefresh) for more than 10 seconds ?

Investigation required.
   
Ruud's diagnostic ROM:   256 KB of RAM passed on first and all subsequent iterations.

(The diagnostic also indicated "End of memory at 0 KB", but that appears to be a bug in the diagnostic - also happens when RAM refreshing is enabled)
   
Boot from floppy:   A boot from my 720K boot diskette is successful, and I get prompted to enter in the new date.
If I press ENTER for both date and time, I get DOS 3.3's A:> prompt.  I can change directory, run some programs, etc. but eventually, a "PARITY CHECK 1" error appears.

Another way to get the "PARITY CHECK 1" error, is to:
1. Boot from diskette.
2. When prompted to enter in the new date, do nothing for 30 seconds.
2. Press the ENTER key.
   
Boot from hard drive:   Boot from my XT-IDE Rev 4 card is successful.
When DOS 3.3's C:> prompt appears, I can change directory, run some programs, etc.

A way that I can create a failure, a "PARITY CHECK 1" error, is to:
1. When the DOS 3.3 prompt appears after boot, do nothing for 30 seconds.
2. Press the ENTER key.

Another way that I can create a "PARITY CHECK 1" error, is to:
1. Run DEBUG.  DEBUG's dash prompt will appear.
2. Do nothing for 30 seconds.
3. Press the  q  key to quit to DOS.

More investigation required.



IBM 5160 motherboard of type 64KB-256KB, with 256 KB total RAM

• Test components: Motherboard, PSU, keyboard, video card + monitor.  No other cards.
• 256 KB fitted to motherboard.
• RAM refresh disabled, via grounding pin 4 of chip U71 on the 5160 motherboard.

ROM firmware     Result
IBM POST  
in 11/08/82 ROM set:  
POST passed without error.
   
Cassette BASIC  
in 11/08/82 ROM set:  
'PARITY CHECK 1 00000 (S)' error when trying to store lines of code.  For example, Entering  10 PRINT "APPLE"  resulted in a 'PARITY CHECK 1 00000 (S)' error (at the point of pressing the ENTER key).
   
Supersoft diagnostic ROM:   On all iterations, both the 16K CRITICAL MEMORY REGION TEST and MEMORY REFRESH TEST passed !!!!!!!!
This was a surprise because the MEMORY REFRESH TEST waits 10 seconds.
Could it be that the particular RAM chips within bank 0 of my motherboard can hold their contents (without frefresh) for more than 10 seconds ?

Investigation required.
   
Ruud's diagnostic ROM:   256 KB of RAM passed on first and all subsequent iterations.

(The diagnostic also indicated "End of memory at 0 KB", but that appears to be a bug in the diagnostic - also happens when RAM refreshing is enabled)
   
Boot from floppy:    { Yet to try }
   
Boot from hard drive:    { Yet to try }



IBM 5160 motherboard of type 256-640KB, with 640 KB total RAM

• Test components: Motherboard, PSU, keyboard, video card + monitor.  No other cards.
• 640 KB fitted to motherboard.
• RAM refresh disabled, via grounding pin 4 of chip U71 on the 5160 motherboard.

ROM firmware     Result
IBM POST  
in 05/09/86 ROM set:  
POST passed without error.
   
Cassette BASIC  
in 05/09/86 ROM set:  
Initially, I could not find fault, then I happened on something that caused the motherboard to freeze:
1. Enter  10 PRINT "APPLE"
2. Press the F1 key (LIST) then the ENTER key.
3. Wait 30 seconds, doing nothing in that time.
4. Press the F1 key (LIST) then the ENTER key.

At step 3, substituting a delay of 15 seconds mostly worked, rarely not.
30 seconds gave me the consistent result of a freeze.

Might it be that the RAM on my motherboard has a mimumum refresh requirement of between 15 and 30 seconds ?
Or is there something else going on?
   
Supersoft diagnostic ROM:   On all iterations, both the 16K CRITICAL MEMORY REGION TEST and MEMORY REFRESH TEST passed.
The MEMORY REFRESH TEST waits 10 seconds between writing and reading test data values to/from RAM.
The earlier Cassette BASIC experiment suggests why the MEMORY REFRESH TEST passed - I appear to have RAM that holds its contents (without refresh) for more than 10 seconds.
   
Ruud's diagnostic ROM:   640 KB of RAM passed on first and all subsequent iterations.
   
Boot from floppy:   A boot from my 720K boot diskette consistently resulted in a "PARITY CHECK 1" error.
   
Boot from hard drive:   Boot from my XT-IDE Rev 4 card is successful.
When the DOS 3.3 prompt appears, I can change directory, run some programs, etc.

A way that I can create a failure, a "PARITY CHECK 1" error, is to:
1. When DOS 3.3's C:> prompt appears after boot, do nothing for 1 minute.
2. Press the ENTER key.

Another way that I can create a "PARITY CHECK 1" error, is to:
1. Run DEBUG.  DEBUG's dash prompt will appear.
2. Do nothing for 1 minute.
3. Press the  q  key to quit to DOS.

More investigation required.





Note 1    For the IBM 5160 motherboard, if the IBM BIOS ROM's are fitted, grounding pin 13 of the motherboard's 8253 chip results in the POST displaying a 101 error.
That is because of a particular test that the POST of an IBM 5160 does.
(The POST of an IBM 5150 does not have that test.)
The particular test that I am referring to is the 'DMA TC0' test shown at here.

Therefore, an alternate method is used for the IBM 5160 - grounding pin 4 of chip U71 - see here.