Image Map Image Map
Page 1 of 2 12 LastLast
Results 1 to 10 of 14

Thread: IBM 5150 Parity Error

  1. #1
    Join Date
    Aug 2008
    Location
    Burlington, VT
    Posts
    302

    Default IBM 5150 Parity Error

    I'm going through a few PC and XT motherboards here. One of the 16K-64K PC boards is showing error code '0401 201' followed by 'Parity Error 1'. Occasionally it displays '0400 201'. I've replaced the Row 1 parity chip and bit 0 chip with known good memory, but the problem persists. The sockets look just fine and I see no bad solder joints. To make sure I was interpreting the message correctly, I pulled bit 7 from row 1 and the message changed to '0480 201'. So, I'm in the right place and on the right chips.

    Does anyone have an idea what might be causing the POST error? I looked at the circuit description on minuszero.com and cannot see any gates or other parts that are specific to only that row.

  2. #2
    Join Date
    Jan 2019
    Location
    New Hampshire
    Posts
    336

    Default

    Just curious what are your switch settings? And which banks have chips installed?

    On the 16k motherboard, 0401 should be Bank 1 bit 1
    0400 should be Bank 1 parity bit

    Banks are numbered 0-3, so "bank 1" is the 2nd row of chips, the first socketed row next to the ones soldered directly in the board

  3. #3
    Join Date
    Jan 2019
    Location
    New Hampshire
    Posts
    336

    Default

    Also, which version BIOS is installed on the board?

  4. #4
    Join Date
    Jan 2019
    Location
    New Hampshire
    Posts
    336

    Default

    Correction: 0401 should be Bank 1 bit 0 .... so it definitely sounds like you are on the right spot!

    Dirty socket? Broken socket wiper? Possibly bad other chip in the bank? Possibly bad other bit 0 in other other banks?

  5. #5
    Join Date
    Aug 2008
    Location
    Burlington, VT
    Posts
    302

    Default

    The sockets look fine - nice and shiny with no bent or broken wipers. Switch settings:

    SW1: on on off off off off on on
    SW2: on on on on on off off off

    BIOS is 12/82 (latest). All four banks are populated with 16k DRAM, Motorola MCM4116BP25 soldered in bank 0 and Mostek MK4116N-44GP elsewhere.

    Perhaps I'm misunderstanding the POST memory check, but my impression was that it checked all 9 bank bits independently. Could another bit (or row) falsely flag an unrelated bit?

    The board initially had a shorted tantalum bypass cap on the +12V rail (at far left of bank 3). Would another bypass cap failing open cause this?

  6. #6
    Join Date
    Aug 2008
    Location
    Burlington, VT
    Posts
    302

    Default

    Ok, so this is getting interesting. The original reference I found for POST errors said this:

    5150/4450 (PC-1) Failing Memory Module Bit/Bank Location: 16-64K planar
    Code: xyzz 201 if x=0, then the failing memory is on the planar
    for x=0, y=0 -> Bank 0 (row closest to the expansion card slots)
    for x=0, y=4 -> Bank 1 (2nd row from the expansion card slots)
    for x=0, y=8 -> Bank 2 (3rd row from the expansion card slots)
    for x=0, y=C -> Bank 3 (row closest to the speaker connector)
    zz=00 -> Parity Bit - chip on the left side of planar (keyboard
    connector is on top)
    zz=01 -> Bit 0 - chip to right of Parity Bit
    zz=02 -> Bit 1 - chip to right of Bit 0
    zz=04 -> Bit 2 - chip to right of Bit 1
    zz=08 -> Bit 3 - chip to right of Bit 2
    zz=10 -> Bit 4 - chip to right of Bit 3
    zz=20 -> Bit 5 - chip to right of Bit 4
    zz=40 -> Bit 6 - chip to right of Bit 5
    zz=80 -> Bit 7 - chip to right of Bit 6

    I used this information to infer the problem was in Bank 1. But, in an online blog I found:

    64/256K board
    ------------
    00xx to 0Fxx = Bank 0 (the XX indicates which chip [or chips] have failed)
    10xx to 1Fxx = Bank 1 (the XX indicates which chip [or chips] have failed)
    20xx to 2Fxx = Bank 2 (the XX indicates which chip [or chips] have failed)
    30xx to 3Fxx = Bank 3 (the XX indicates which chip [or chips] have failed)


    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 chip failure, eg. 24 would indicate bit 5 and bit 2 failure.

    Tezza was seeing the exact error I reported (0400 201) and found a bad parity chip in Bank 0! Problem is that pulling bit 7 from Bank 1 gives me 0480 201, which contradicts the second table. Grrr.

    UPDATE: My bad - ETOOLITTLECOFFEE. The second chart was for a 64-256k board... Ooof.

  7. #7
    Join Date
    Aug 2008
    Location
    Burlington, VT
    Posts
    302

    Default

    More information: Since the '82 ROM version requires that all banks be populated, I decided to try older ROMs to see if I could get POST to pass on Bank 0 (16k). First, I verified that my 2364 adapter was working correctly by programming a new 2764 with the '82 image. It worked exactly like the mask ROM and showed the same error. Then I tried both earlier images. Neither would POST at all! I can the little "tick" on power up, but that's the only output that ever occurs. Black screen, no further sounds. Was there also a hardware difference associated with the older firmware? Shouldn't this have done something?

  8. #8
    Join Date
    Aug 2008
    Location
    Burlington, VT
    Posts
    302

    Default

    Nailed it. When all else has been ruled out whatever is left, however unlikely, must be the culprit. Even though the error code indicated a problem with bank 1, I took a chance and removed bank 0, replacing it with sockets. Plugged in 9 new chips and the phantom parity error on bank 1 is no longer showing up. I can only surmise that the POST test logic was being thrown off by a bit error in the first 16k bank. HTH someone else down the line.

  9. #9
    Join Date
    Jan 2019
    Location
    New Hampshire
    Posts
    336

    Default

    Awesome! Yeah, bank 0 can do funny things. Glad you solved it and putting sockets in Bank 0 is one of the best upgrades ever for these boards, I believe!

    Just curious if you tried a diagnostic ROM like supersoft/landmark and if it reported a problem in bank 0? Interesting results for sure, thanks for sharing.

  10. #10
    Join Date
    Aug 2008
    Location
    Burlington, VT
    Posts
    302

    Default

    Quote Originally Posted by chris_nh View Post
    Awesome! Yeah, bank 0 can do funny things. Glad you solved it and putting sockets in Bank 0 is one of the best upgrades ever for these boards, I believe!

    Just curious if you tried a diagnostic ROM like supersoft/landmark and if it reported a problem in bank 0? Interesting results for sure, thanks for sharing.
    I was unable to find a diagnostic ROM for 5150. The only ones I saw were for XT (5160).

    I've been through a pile of XT and PC motherboards in the past few days and all of them had one or more shorted tantalum caps. Materials science has improved quite a bit since 1981.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •