• Please review our updated Terms and Rules here

Troubleshooting a QuadRAM QuadBoard

joelgraff

Member
Joined
Jun 16, 2018
Messages
40
Location
Illinois, USA
I have a 5150 Rev A with a 256K QuadBoard that is generating a memory error. If I pull the board, the system boots fine with 64K. Adding the board (but leaving the system memory at 64K) generates a memory error. It seems like it's a short in the board itself, since it doesn't make sense a memory error would occur if the card were installed but the motherboard SW2 was set to ignore anything over 64K

I've verified the switch settings on the mobo and the quadboard. At the moment, If I get an error to report on the screen, it's been 3008 201, 102B 201, and 10AA 201... I really don't know where to begin with this. Are there any tips and tricks for troubleshooting a Quadboard?
 
Just an update...

I remembered my other Rev A has a 256K QuadRAM board in it as well. Interestingly, I discovered the QuadRAM board from the problem machine generated a 3008 201 error on both machines - an error in the 192K block. Unfortunately, the QuadRAM board from the known good system did not work in the problem system.

The other interesting thing I noted is that while the system will boot to DOS (if I run it with the expansion card removed and set SW2 to 64K), it *never* boots to BASIC if the disk is not inserted.

Finally, I tried configuring it for 16K (setting SW1 #3 and #4 to ON) and PARITY CHECK 1 came up immediately. The PARITY CHECK 1 error persists with the first three memory banks enabled, but if I enable the fourth, the error disappears. Here, it boots to DOS if a disk is in the drive, but will not boot to BASIC.

So it seems I need to order some sockets and replacement chips... unless there's something else I ought to check first?

Also, I noticed tonight that the CPU in this is a V20. I doubt it matters, but probably worth noting all the same. Perhaps I ought to swap in a spare 8086 chip I've got?
 
Bugs in third BIOS revision

Does your IBM 5150 have the third and final BIOS revision, the 10/27/82 one? See [here].
If so, bugs in that BIOS revision mean that you need to have all 4 banks of motherboard RAM populated. Otherwise, the BIOS can miscalculate how much motherboard RAM there is. Sometimes, depending on the situation, that results in a 201 error appearing.

RAM expansion card rule

Another important thing to remember is that in the IBM 5150, all four banks of motherboard RAM are permanently enabled. In the IBM 5150, switches 3 and 4 in SW1 do not enable/disable RAM banks. That is the reason why IBM (and others) indicates that for the IBM 5150, all four banks of motherboard RAM must be populated before adding additional RAM by way of expansion card.

Because of how the motherboard is designed, removing RAM chips from motherboard banks does not get around that rule.

Failure to observe the above results in an address conflict, times when the data bus is simultaneously driven by both the motherboard's RAM circuitry and the RAM circuitry on the expansion card.

To use the QuadBoard's RAM with your 16KB-64KB motherboard, you need to have:
- all four banks of motherboard RAM populated (i.e. 64 KB);
- switches 3 and 4 in motherboard SW1 set accordingly;
- QuadBoard configured to start its RAM at address 64K; and
- motherboard SW2 set for 320 KB of RAM, noting that per [here], different BIOS revisions use slightly different SW2 settings.
 
Bugs in third BIOS revision

Does your IBM 5150 have the third and final BIOS revision, the 10/27/82 one? See [here].
If so, bugs in that BIOS revision mean that you need to have all 4 banks of motherboard RAM populated. Otherwise, the BIOS can miscalculate how much motherboard RAM there is. Sometimes, depending on the situation, that results in a 201 error appearing.

RAM expansion card rule

Another important thing to remember is that in the IBM 5150, all four banks of motherboard RAM are permanently enabled. In the IBM 5150, switches 3 and 4 in SW1 do not enable/disable RAM banks. That is the reason why IBM (and others) indicates that for the IBM 5150, all four banks of motherboard RAM must be populated before adding additional RAM by way of expansion card.

Because of how the motherboard is designed, removing RAM chips from motherboard banks does not get around that rule.

I didn't remove any RAM chips because of the population requirement. I expected it to boot with 16K when setting switches 3 and 4 to ON even though the mobo was still fully populated. If it doesn't work, I guess it doesn't work. My BIOS is the 4/24/81 version.
 
I didn't remove any RAM chips because of the population requirement. I expected it to boot with 16K when setting switches 3 and 4 to ON even though the mobo was still fully populated. If it doesn't work, I guess it doesn't work. My BIOS is the 4/24/81 version.
The 4/24/81 revision does not have the RAM related bugs that the 10/27/82 does. For the 4/24/81 revision, the requirement for all four banks being populated and SW1/SW2 set appropriately will only kick in if a RAM expansion card is to be added.

Sometime today, I will fetch my 16KB-64KB motherboard, fit the 4/24/81 revision BIOS, and test 'bank 0 only' operation. The only issue that I expect is that 16K will not be enough RAM for later versions of DOS.

Also, note that "boot" means different things to different people.
 
The 4/24/81 revision does not have the RAM related bugs that the 10/27/82 does. For the 4/24/81 revision, the requirement for all four banks being populated and SW1/SW2 set appropriately will only kick in if a RAM expansion card is to be added.

Sometime today, I will fetch my 16KB-64KB motherboard, fit the 4/24/81 revision BIOS, and test 'bank 0 only' operation. The only issue that I expect is that 16K will not be enough RAM for later versions of DOS.

Also, note that "boot" means different things to different people.

lol. I can't imagine what "boot" would reasonably mean other than coming to some useful state - whether it loads DOS form disk or at least goes to basic... :)

Anyway, I tested it on my working Rev A, and yes, it does boot to basic with 16K using the Bank 0 option only. (12,000+ bytes free).

So I'm going to bet that PARITY CHECK 1 error means something when I try to boot the non-working PC with only BANK 0 selected - time to order some sockets and MOSTEK chips, I guess...

*however* I just noticed something I had missed previously. The non-working system gives a long beep and a short beep on startup and then reports the memory error. I just assumed it was associated with the memory issue, but the link below suggests it's not:

http://www.minuszerodegrees.net/5150/post/5150%20-%20POST%20-%20Some%20errors.htm

Which now makes me wonder if the memory error is related to a possibly bad 8259 / 8253 chip?
 
So it looks like the problem is the BASIC ROM 3 chip. The actual beep code the PC was giving me was a long beep / short beep followed by another quick beep 15 seconds later - pointing to a BASIC ROM chip. So I started pulling ROM chips and sure enough BASIC ROM #3 had a rusted through leg - the other half is inextricably lodged in the socket.

So.. a new socket and a new ROM chip. Whether or not this solves the memory problem remains to be seem. But... it's a starting point.
 
Last edited:
lol. I can't imagine what "boot" would reasonably mean other than coming to some useful state - whether it loads DOS form disk or at least goes to basic...
Different things to different people.

Anyway, I tested it on my working Rev A, and yes, it does boot to basic with 16K using the Bank 0 option only. (12,000+ bytes free).

So I'm going to bet that PARITY CHECK 1 error means something when I try to boot the non-working PC with only BANK 0 selected - time to order some sockets and MOSTEK chips, I guess...
The information in my following post strongly suggests that the PARITY CHECK 1 is the result of certain versions of DOS not being able to cope with low amounts of conventional memory.

IBM DOS 3.10 is the earliest version of which I have a boot floppy. I will see if I can create boot floppies of earlier DOS versions.
 
Bank 0 only (16K)
------------------

BIOS = 04/24/81

SW1: 3=ON, 4=ON
SW2: 1=ON, 2=ON, 3=ON, 4=ON

With a video card being the only card plugged in, at power-on, there was a 601 error, then after a while, Cassette BASIC started. BASIC (version C1.00) displayed "12252 Bytes free" .

Powered off. I then added a floppy controller and 360K drive. No DOS boot diskette in the drive. Powered on. The floppy drive was accessed, then after a while, Cassette BASIC started.

Powered off. I then put a DOS boot floppy, of IBM DOS version 3.10, into the drive. Powered on. The floppy drive was accessed, then "PARITY CHECK 1" appeared. On the floppy drive, the access LED stayed on and the spindle continued to turn, even so after a few minutes.

Presumably, the PARITY CHECK 1 was an unfriendly result of IBM DOS 3.10 not being able to cope with only 16K of RAM.


Banks 0 and 1 only (32K)
-----------------------

BIOS = 04/24/81

SW1: 3=OFF, 4=ON
SW2: 1=ON, 2=ON, 3=ON, 4=ON

With a video card being the only card plugged in, at power-on, there was a 601 error, then after a while, Cassette BASIC started. BASIC (version C1.00) displayed "28638 Bytes free" .

Powered off. I then added a floppy controller and 360K drive. No DOS boot diskette in the drive. Powered on. The floppy drive was accessed, then after a while, Cassette BASIC started.

Powered off. I then put a DOS boot floppy, of IBM DOS version 3.10, into the drive. Powered on. The floppy drive was accessed, then "PARITY CHECK 1" appeared. On the floppy drive, the access LED stayed on and the spindle continued to turn, even so after a few minutes.

Presumably, the PARITY CHECK 1 was an unfriendly result of IBM DOS 3.10 not being able to cope with only 32K of RAM.


Banks 0 and 1 and 2 only (48K)
-------------------------------

BIOS = 04/24/81

SW1: 3=ON, 4=OFF
SW2: 1=ON, 2=ON, 3=ON, 4=ON

With a video card being the only card plugged in, at power-on, there was a 601 error, then after a while, Cassette BASIC started. BASIC (version C1.00) displayed "45020 Bytes free" .

Powered off. I then added a floppy controller and 360K drive. No DOS boot diskette in the drive. Powered on. The floppy drive was accessed, then after a while, Cassette BASIC started.

Powered off. I then put a DOS boot floppy, of IBM DOS version 3.10, into the drive. Powered on. The floppy drive was accessed, then "PARITY CHECK 1" appeared. On the floppy drive, the access LED stayed on and the spindle continued to turn, even so after a few minutes.

Presumably, the PARITY CHECK 1 was an unfriendly result of IBM DOS 3.10 not being able to cope with only 48K of RAM.


All banks (64K)
-------------------------------

BIOS = 04/24/81

SW1: 3=OFF, 4=OFF
SW2: 1=ON, 2=ON, 3=ON, 4=ON

With a video card being the only card plugged in, at power-on, there was a 601 error, then after a while, Cassette BASIC started. BASIC (version C1.00) displayed "61404 Bytes free" .

Powered off. I then added a floppy controller and 360K drive. No DOS boot diskette in the drive. Powered on. The floppy drive was accessed, then after a while, Cassette BASIC started.

Powered off. I then put a DOS boot floppy, of IBM DOS version 3.10, into the drive. Powered on. DOS version 3.10 booted to a DOS prompt.
 
IBM DOS 3.10 is the earliest version of which I have a boot floppy. I will see if I can create boot floppies of earlier DOS versions.

IBM DOS 1.00

Attempt to boot using an IBM DOS 1.00 boot floppy:

M/B configured for 16K = DOS booted successfully
M/B configured for 32K = DOS booted successfully
M/B configured for 48K = DOS booted successfully
M/B configured for 64K = DOS booted successfully


IBM DOS 2.10

Attempt to boot using an IBM DOS 2.10 boot floppy:

M/B configured for 16K = 'PARITY CHECK 1' on-screen, plus floppy drive access LED on continuously, plus floppy drive spindle turning continuously.
M/B configured for 32K = Nothing on-screen except underline cursor. Floppy drive access LED on continuously, plus floppy drive spindle turning continuously.
M/B configured for 48K = DOS booted successfully
M/B configured for 64K = DOS booted successfully
 
Oddly, I didn't have a DOS disk in when the error first appeared. I don't think it has anything to do with DOS.
'PARITY CHECK 1' ?

I see that you have not written about 'PARITY CHECK 2'. PARITY CHECK 2 is certainly expected because the 201 errors that you have written of to date, point to the Quadboard card. The '2' indicates an expansion card source.

If indeed PARITY CHECK 1 (motherboard is source of parity error), if you adequately detail the situation in which that occurs, I will try to replicate it here.

Going back over the posts, I see that I have not answered your primary query which was about the 201 errors that point to the Quadboard.
Assuming that you have not made progress on that:
- First, re-seat all of the RAM chips on the Quadboard.
- Inform us of exactly which version of Quadboard you have, so that banks and bits can be identified. A pointer to a photo would be good.
- Inform us of the 201 errors that are still occurring.

The combined facts of multiple 201 errors, and a BASIC chip that has a "rusted through leg" suggests a machine that has endured a 'hostile' environment. Hopefully, multiple re-seating of the RAM chips on the Quadboard will 'do the trick'.
 
'PARITY CHECK 1' ?

I see that you have not written about 'PARITY CHECK 2'. PARITY CHECK 2 is certainly expected because the 201 errors that you have written of to date, point to the Quadboard card. The '2' indicates an expansion card source.

If indeed PARITY CHECK 1 (motherboard is source of parity error), if you adequately detail the situation in which that occurs, I will try to replicate it here.

Going back over the posts, I see that I have not answered your primary query which was about the 201 errors that point to the Quadboard.
Assuming that you have not made progress on that:
- First, re-seat all of the RAM chips on the Quadboard.
- Inform us of exactly which version of Quadboard you have, so that banks and bits can be identified. A pointer to a photo would be good.
- Inform us of the 201 errors that are still occurring.

The combined facts of multiple 201 errors, and a BASIC chip that has a "rusted through leg" suggests a machine that has endured a 'hostile' environment. Hopefully, multiple re-seating of the RAM chips on the Quadboard will 'do the trick'.

I've used two different Quadboards (both 256K) in this machine with the same error. Both work fine in my working 5150 Rev A.

The bytecode tells me it's seeing the error in the 64K bank (x10), but only when the QuadBoard is installed. I've also seen an error for x3008, which puts it in the 192K bank, but I don't remember what I had done that caused that to appear at the moment.

To the point, though, I don't think the QuadBoards are the issue, as both work without generating errors on another machine. I'll re-run those tests to be sure, though.

Otherwise, I'm waiting on a replacement ROM and socket for BASIC at the moment. Figure I should at least clear that issue first.
 
I've used two different Quadboards (both 256K) in this machine with the same error. Both work fine in my working 5150 Rev A.
The bytecode tells me it's seeing the error in the 64K bank (x10), but only when the QuadBoard is installed.
Because of your earlier "102B 201, and 10AA 201", I'm sure that you meant something like '10xx', i.e. for your 16KB-64KB type motherboard, the '10' points to the first bank on the Quadboard.

Given the 'hostile' environment that the machine has suffered, an environment that rusted away the leg on a chip, I wonder if the metal contacts in your motherboard's ISA slots are badly affected in some way. How confident are you that the contacts are functional ?
 
BTW. This is something that you can try if you want: Using Casette BASIC to write-then-read test bytes to the first bank of RAM on the Quadboard.

Presently, you only have 64 KB of RAM (maximum motherboard RAM), which is hardly anything for running RAM diagnostics. As soon as you add the Quadboard, and set SW2 accordingly, a reboot results in a 201 10xx error (the '10' pointing to the Quadboard's first bank of RAM), then the screen clears, then a 'PARITY CHECK 2' error, then the 5150 halts.

So, add the Quadboard, but leave SW2 set for 64 KB total conventional memory. Your 5150 will then start, sucessfully test the 64 KB of motherboard RAM, then continue to Cassette BASIC. The Quadboard's RAM, starting at address 64K, will be present (although the POST/BIOS are unaware of it).

Below, we will first disable the motherboard from reacting to a RAM parity error.
We then write 0 to the first byte of the Quadboard's first bank of RAM, then read the byte back, expecting 0.
We then write 255 (all one's) to the first byte of the Quadboard's first bank of RAM, then read the byte back, expecting 255.

In Cassette BASIC, enter the following commands:

out &hA0,inp(&hA0) and 127
def seg = &h1000
poke 0,0
print peek(0)


You should see 0.

poke 0,255
print peek(0)


You should see 255.
 
Actually, I tried switching the mobo to 64K only with the Quadboard in early on. It still game me an error. If I pull the Quadbaord, it boots fine, again, swtiched to 64K max. It's part of why the problem seems so confusing - that suggested a short to me in the quadboard that was backfeeding the system, but again, it ran fine in my working 5150 A. I tried a different slot with the same effect.

Anyway, I need to replace the BASIC ROM first, then maybe pull and reseat the chips just as an opportunity to inspect things. The rusted leg tells me I really need to tear this thing down and give it a good cleaning anyway.

That said, I still suspect there may be an issue with the Quadboard - I noticed something that made me think that, but it escapes my memory at the moment. Once I get the BASIC ROM replaced and give the board a good cleaning, I'm sure I'll be back.

@modem7 - thanks for the tips. You've been a dogged troubleshooter. I appreciate it!
 
Back
Top