Parent

IBM 5150:  RAM on a '64KB - 256KB' Type of Motherboard


5150_label_64kb_256kb_cpu.jpg


4 banks of 64 KB motherboard RAM, providing up to 256 KB of conventional memory.

RAM chips of type 4164 are used, of an access time rating of 250 ns (or faster), and of the type where pin 1 is not used (Not Connected).  4164 examples.
250 ns is the figure that appears in IBM's technical reference for the 5150.

Bank 0: 64 KB sized,  addressed 00000 to 0FFFF hex  (    0 KB to   64 KB)   (soldered to motherboard)
Bank 1: 64 KB sized,  addressed 10000 to 1FFFF hex  (  64 KB to 128 KB)   (socketed)
Bank 2: 64 KB sized,  addressed 20000 to 2FFFF hex  (128 KB to 192 KB)   (socketed)
Bank 3: 64 KB sized,  addressed 30000 to 3FFFF hex  (192 KB to 256 KB)   (socketed)

Click here for a diagram that shows the bank and bit layout on the 5150 motherboard.


Increasing conventional memory

First, click here for a definition of 'conventional memory'.

No, you cannot simply upgrade the 5150 motherboard's RAM chips to larger capacity types.

Additional conventional memory can be provided by way of expansion cards, however, in an IBM 5150, all four banks of motherboard RAM must be populated and used before RAM can be added by way of expansion cards (source: Note on page 5-34 of the APR84 edition of the Guide To Operations manual).  That is because, on a 5150 motherboard, all four banks are permanently enabled.  Note that, per here, removing the RAM chips from a bank will not disable the bank.  Click here to see an example.


RAM related switch settings on motherboard

SW1

Switches 3 and 4 on switch block SW1 are set according to how many banks of RAM are populated on the motherboard (however, read the Software Bug section below).
On a 5150 motherboard, those two switches do not enable/disable the motherboard's banks of RAM; instead, used to inform the BIOS of bank population.
Click here for SW1 settings.

SW2

The switches on switch block SW2 are set to the total amount of conventional memory fitted in the 5150 (that is, on motherboard + on expansion cards).
If you set SW2 to a LOWER amount than is fitted, there is no error - the motherboard will only recognise what was set per SW2.
If you set SW2 to a HIGHER amount than is fitted, there is a 201 memory error.

Click here for SW2 settings.


Software bug

64KB-256KB motherboards are fitted with the 10/27/82 revision of the 5150 BIOS.  Two of the bugs in that BIOS result in problems if SW1/SW2 are set for less than 4 banks of motherboard RAM.  So make sure that all 4 banks are populated and that SW1/SW2 are set accordingly, remembering that SW2 is set to the total amount of conventional memory fitted (that is, on motherboard + on expansion cards).

If desired, click here for technical details about the two bugs.


POST test of conventional memory

During the 5150's Power-On Self Test (POST), the POST tests the conventional memory that is specified by the setting of the SW2 switch block.

If a problem is found in the first 16 KB, the POST will halt.  It will appear to you that the motherboard is 'dead'.  For further information, see the section below titled 'Failure of first 16 KB'.

If a problem is found in the remaining RAM, a 201 type error is reported on-screen.  The format of a 201 error produced by a 5150 is "aabb 201".  An example is "0510 201".
The "aa" portion of "aabb" indicates which 4 KB address block contains the address at fault.
The "bb" portion of "aabb" indicates which bit/s in the block is/are faulty.

You can use the diagram here to calculate the failing address block and bit/s, but also read the 'Multiple bit failure' section below.


Address Block Indicator

The following table is specific to the 64KB-256KB motherboard.

Value of 'aa' in 201 error Corresponds to RAM bank Address range of bank            Comment
00 to 0F Motherboard bank 0 00000 to 0FFFF hex   (    0 KB to   64 KB) See 'Failure of first 16 KB' section below
10 to 1F Motherboard bank 1 10000 to 1FFFF hex   (  64 KB to 128 KB)  
20 to 2F Motherboard bank 2 20000 to 2FFFF hex   (128 KB to 192 KB)  
30 to 3F Motherboard bank 3 30000 to 3FFFF hex   (192 KB to 256 KB)  
40 to 9F RAM on an expansion card/s 40000 to 9FFFF‬ hex   (256 KB to 640 KB) Cannot elaborate - too many different types of RAM cards

Click here for a diagram that shows which banks are where on the 5150 motherboard.


Bit Indicator

Value of 'bb'
in 201 error
Bit at fault            Comment
00 parity  
01 bit 0  
02 bit 1  
04 bit 2  
08 bit 3  
10 bit 4  
20 bit 5  
40 bit 6  
80 bit 7  
other [multiple] Multiple bits.  Use the diagram here to calculate the failing bits, but also read the 'Multiple bit failure' section below.

Click here for a diagram that shows which bits are where on the 5150 motherboard.


Multiple bit failure

If multiple bits are indicated, note that sometimes that is because non-existent RAM is being tested by the POST.  For example, if I remove the RAM expansion card from my 64KB-256KB motherboard (without doing anything else), then I see the start-up error of "4098 201", a bit indicator of 98.

Example causes of non-existent RAM being tested:
* SW1 and SW2 set for more RAM than is actually fitted to the 5150.
* An expansion card that provides RAM is faulty.
* An expansion card that provides RAM is incorrectly configured.
* Some violations of the requirement at here.



Failure of first 16 KB

If the POST discovers a problem in any of the first 16 KB of RAM, the POST will stop, providing no indication whatsoever (visual or audible).  To you, it will appear that the motherboard is 'dead'.

One way to diagnose this particular problem is to use a suitable SuperSoft/Landmark diagnostic ROM in socket U33 (replacing the existing BIOS ROM).

The piggybacking technique will sometimes diagnose this particular problem.

Note that the first 16 KB corresponds to the first quarter of each chip in bank 0 (64 KB sized).  RAM chips fail in different ways.  Therefore, if a RAM chip in bank 0 fails completely, you'll see the 'dead' motherboard symptom described earlier.  But if a RAM chip in bank 0 fails in such a way that the failure only affects an address/addresses in the last three quarters of the chip, then the BIOS will display a corresponding 201 error (e.g.  failure at 32 KB resuts in a block indicator of "08")