Parent

IBM 5150: RAM on 64KB-256KB Motherboard





4 banks of 64 KB motherboard RAM.

RAM chips of type 4164 are used, of an access time rating of 250 ns (or less), and of the type where pin 1 is not used (Not Connected).  4164 examples.

Bank 0: addresses     0 KB to   64 KB   (soldered to motherboard)
Bank 1: addresses   64 KB to 128 KB   (socketed)
Bank 2: addresses 128 KB to 192 KB   (socketed)
Bank 3: addresses 192 KB to 256 KB   (socketed)

Additional RAM can be provided by way of expansion cards, however, all four banks of motherboard RAM must be populated 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)


Switch Settings

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).

The switches on SW2 are set to the total amount of RAM fitted in the 5150 (that is, motherboard + RAM 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.

Switch settings: Refer to pages 5-33 through 5-50 in the APR84 edition of the Guide To Operations manual.


Software Bug

64KB-256KB motherboards are fitted with the 27OCT82 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 RAM (that is, motherboard + RAM expansion cards).

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


RAM error codes for 64KB-256KB motherboard

For a 64KB-256KB motherboard, the following error breakdown applies.
This breakdown is slightly different to that for the 16KB-64KB motherboard.

The format of a RAM error is "bbxx 201". An example is "0510 201".

The "bb" portion of "bbxx" indicates which 4 KB block contains the faulty RAM.
The "xx" portion of "bbxx" indicates which bit in the block is the faulty one.

BLOCK INDICATOR

00xx to 0Fxx = Motherboard bank 0   (see 'Failure of first 16 KB' section below)
10xx to 1Fxx = Motherboard bank 1
20xx to 2Fxx = Motherboard bank 2
30xx to 3Fxx = Motherboard bank 3
40xx to 9Fxx = RAM on an expansion card

If required, you can calculate the failing address from the block indicator.
1. Convert block indicator from hexidecimal (hex) to decimal, e.g. 80 --> 128
2. Multiply that by 4 KB to get the address, e.g. 128 x 4 KB = 512 KB

BIT INDICATOR

XX is 00 indicates the parity chip
XX is 01 indicates the bit 0 chip
XX is 02 indicates the bit 1 chip
XX is 04 indicates the bit 2 chip
XX is 08 indicates the bit 3 chip
XX is 10 indicates the bit 4 chip
XX is 20 indicates the bit 5 chip
XX is 40 indicates the bit 6 chip
XX is 80 indicates the bit 7 chip

XX is something else indicates multiple bit failure, e.g. 24 (20+04) indicates failure of bits 5 and 2.
Note that this is done in hexidecimal. For example, A1 is broken down to 80+20+01 (indicating bits 7, 5 and 0).

5150_ram_bit_breakdown.jpg



Failure of first 16 KB

The Power on Self Test (POST) component of the BIOS checks the first 16 KB of RAM on power on of the motherboard. 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).

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")