• Please review our updated Terms and Rules here

Early 5150 troubleshooting

I cannot answer that, but maybe someone else can. I have not seen any kind of 'ROM failure statistics by make-model' list.

Even if the scope is reduced to ROM's fitted to the 5150 motherboard, the list at [here] suggests a low failure rate. I doubt that a statistically significant sample size of U33/BASIC ROM failures exists.
I did read that list, but it was a little confusing, only because I personally would group it by problems encountered. Either way, hopefully my replacement EEPROMs will do the trick, as well as getting a copy of Ruud's burned onto one, so I can further diagnose. On the plus side, at least everything else seems to check out okay, aside from the first 16KB of RAM and those two offending ROMs.

On a segue - is my computer the earliest serial anyone's seen by far, or do earlier examples exist?
 
I had a later 5150 with a couple of bad basic ROM and they were Toshiba branded, if that helps. I’ll bet the brand doesn’t matter too much.
 

Attachments

  • IMG_3390.jpeg
    IMG_3390.jpeg
    461.6 KB · Views: 3
Well, I made some more progress. Piggybacking 4116's didn't help, but I swapped out U29 and U32 with plastic DIP Motorola counterparts from another early-ish 5150 I had, and now cassette BASIC passes diags. The parts motherboard doesn't power up, so I'm betting there's a shorted tantalum. This is the first time I've powered it up since acquiring it in 2019, so I might clean it up and then use it for "practice" replacing bank 0 with DIP sockets, before I do it to the board in question.
 
Piggybacking 4116's didn't help, ...
Maybe there was never the possibility that it was going to help, because there is the possibility that the problem is not in bank 0.
I think that you really need to wait to see what Ruud's Diagnostic ROM reports.
 
Maybe there was never the possibility that it was going to help, because there is the possibility that the problem is not in bank 0.
I think that you really need to wait to see what Ruud's Diagnostic ROM reports.
I agree. It's just the waiting game of getting the EEPROM from overseas, unless I get an EPROM writer to rewrite the supersoft ROM.
 
And yet more progress. Using the second revision of the ROM, from yet another spare machine. Apparently, I forgot one of the C7 tants in the upper left corner of the motherboard (by power). Thought what the hell, let's see if I get progress. I have a blinking cursor on the screen, but nothing else happens. I need to put it back in the case and connect it to the speaker, but I'd say that's still progress!
 
And I got it to POST.
0408 201
301

Can't get a screenshot, because my DB9 M/M to my MCE2VGA needs to be replaced. This is definitely progress!
 
Got a working cable, and got it to say 0408 201 again, and now it's stuck on PARITY CHECK 1. So at least it gets through POST, and I'm presuming this means the first 16KB is good.
 
Per [here], '301' is a keyboard related (repeat: related) error.

Thanks, but that I knew. I haven't had a keyboard the entire time for testing. I personally DESPISE the Model F keyboard. I've always been a Model M guy through and through.
Per [here], on a 16KB-64KB motherboard, '0408 201' points to the bit 3 chip in RAM bank 1.
Thanks. I was just about to look it up on your site. I'm going to replace that chip, though I don't yet have a tester and some NOS memory I ordered, so it's a crapshoot at this point. At least for the things I bought, I can try and revive two other "dead" 16-64KB boards.
 
I can finally get to cassette BASIC, but after typing a few things on the keyboard, the screen goes blank to a 40 character cursor (switched to an original black bracket CGA card now). Just for the heck of it, put in the Supersoft BIOS again, and it faulted on hot interrupt a few times, and once on NMI.
 
At least for the things I bought, I can try and revive two other "dead" 16-64KB boards.
If you need help with those, be sure to create a new thread for each one.

I can finally get to cassette BASIC, but after typing a few things on the keyboard, the screen goes blank to a 40 character cursor (switched to an original black bracket CGA card now).
Confirm for us that the 201 error was fixed. If that is still present, Cassette BASIC is compromised (it will not know that the RAM is bad).

Refer to the 'Part Numbers' section of [here]. Were the U29 and U32 that you brought in from another motherboard of the same IBM part numbers? If not, you may have created a mismatched set of Cassette BASIC code. That might explain the Cassette BASIC behaviour (but not the Supersoft behaviour).

And could it be that the CGA card that you introduced is a problem?
 
If you need help with those, be sure to create a new thread for each one.

Absolutely. I wouldn't combine into this thread. This thread is solely for 0100485. :)
Confirm for us that the 201 error was fixed. If that is still present, Cassette BASIC is compromised (it will not know that the RAM is bad).

The diags were acting strangely. At one point, I got an error for hot interrupt, another test iteration gave an error for NMI, and yet another test reported everything okay. In particular, when I had only bank 0 enabled via switches, is when POST would complete and I'd get to cassette BASIC, but it'd still return to a blank screen and flashing cursor when I pressed enter.
Refer to the 'Part Numbers' section of [here]. Were the U29 and U32 that you brought in from another motherboard of the same IBM part numbers? If not, you may have created a mismatched set of Cassette BASIC code. That might explain the Cassette BASIC behaviour (but not the Supersoft behaviour).

And could it be that the CGA card that you introduced is a problem?
The CGA card seems to work fine. I went back and forth between that and the Hercules card I was using. Turns out my DB9 M/M cable was indeed bad, and thankfully, I was able to easily find two replacements.

The replacement ROMs came from another 16-64KB board, albeit with the second BIOS revision. It should still be cassette BASIC 1.0, right? I'll double check the part numbers later today.

On the way to me are a 4116 tester and 40 pieces of NOS 4116, which I'll test individually. At this point, I'd rather just replace all the socketed 4116 chips with known good RAM, to eliminate that problem.

Overall, I'm just beyond elated at the progress I've made, as I really want to show this off at VCF Southwest.
 
In particular, when I had only bank 0 enabled via switches, is when POST would complete and I'd get to cassette BASIC ...
That, and something else that you wrote suggests that the RAM problem has not been fixed yet.

Bank 0 only operation

Per [here], you have not actually 'disabled' RAM banks 1,2, and 3. Unlike in the IBM 5160, in the 5150, the RAM related switches in SW1 do not disable/enable RAM banks. They (together with SW2) only inform the POST of bank population.

- Cassette BASIC is sure to be interrogating the BIOS for RAM size, and so for version C1.00 of Cassette BASIC, I expect that you will have seen the displayed "61404 Bytes free" text change to "12252 Bytes free".

- Supersoft Diagnostic ROM. It has no BIOS to interrogate for RAM size. And it is highly 'suspicious' of the state of the hardware. The author would would have had thoughts like, "Maybe faulty switch circuitry is the cause of the user running it." So RAM wise, it doesn't trust what it reads on the switches. It does a 'I will test XXX amount of RAM and the operator (i.e. someone skilled enough) will be able to interpret the results, e.g. RAM tests erroring on all addresses above 16K is because only 16 KB is fitted to the motherboard'.
I expect that you will still be seeing the Supersoft ROM showing RAM errors. The other thing about the Supersoft ROM is that it is not logical in certain regards. For example, see [here]. Where am I going with that is that I think that it is possible that the Supersoft ROM is using the faulty RAM. I think that you should fix the RAM problem before relying on other errors shown by the Supersoft ROM. Just a possibility (of a few).
 
Refer to the 'Part Numbers' section of [here]. Were the U29 and U32 that you brought in from another motherboard of the same IBM part numbers? If not, you may have created a mismatched set of Cassette BASIC code. That might explain the Cassette BASIC behaviour (but not the Supersoft behaviour).
The replacement ROMs came from another 16-64KB board, albeit with the second BIOS revision. It should still be cassette BASIC 1.0, right? I'll double check the part numbers later today.
One would expect that, but it is an assumption until proven as fact.

Apart from that possible C1.00/C1.10 mismatch, maybe Microsoft sneaked in some minor modifications, changing the IBM part number on the ROM, but did not update the displayed "C1.00"

But we have seen cases of ROM's that have different IBM part numbers on them, but have the same contents.

A CRC/MD5 comparison of all of the various Cassette BASIC ROM's would indicate what is going on.
 
That, and something else that you wrote suggests that the RAM problem has not been fixed yet.

Bank 0 only operation

Per [here], you have not actually 'disabled' RAM banks 1,2, and 3. Unlike in the IBM 5160, in the 5150, the RAM related switches in SW1 do not disable/enable RAM banks. They (together with SW2) only inform the POST of bank population.

I read that, but somehow interpreted that as only applying to the 11/09/1982 BIOS (or whatever the date was of it). I didn't know it also applied to the earlier two revisions.
- Cassette BASIC is sure to be interrogating the BIOS for RAM size, and so for version C1.00 of Cassette BASIC, I expect that you will have seen the displayed "61404 Bytes free" text change to "12252 Bytes free".

Correct. I was charging my phone, so I wasn't able to take a snapshot, and it didn't occur to me to use my mirrorless camera to do the same. But yes, that shows up, but after typing a long string, and ESPECIALLY after typing enter, the system halts with a blank screen and cursor. I presumed it's a memory issue. After fixing the issues with Bank 1, I was still getting errors for Bank 3. I think 0C08 or OC04 or something. I don't remember now, but I know between both banks, I did replace several DIPs, and the last bank (3) has several different vendors/part numbers. I should see my replacement NOS memory here tomorrow or Saturday, along with my tester, so I'll verify ALL the RAM before I install it.
- Supersoft Diagnostic ROM. It has no BIOS to interrogate for RAM size. And it is highly 'suspicious' of the state of the hardware. The author would would have had thoughts like, "Maybe faulty switch circuitry is the cause of the user running it." So RAM wise, it doesn't trust what it reads on the switches. It does a 'I will test XXX amount of RAM and the operator (i.e. someone skilled enough) will be able to interpret the results, e.g. RAM tests erroring on all addresses above 16K is because only 16 KB is fitted to the motherboard'.
I expect that you will still be seeing the Supersoft ROM showing RAM errors. The other thing about the Supersoft ROM is that it is not logical in certain regards. For example, see [here]. Where am I going with that is that I think that it is possible that the Supersoft ROM is using the faulty RAM. I think that you should fix the RAM problem before relying on other errors shown by the Supersoft ROM. Just a possibility (of a few).
FWIW, and I think this is when I only set the switch for bank 0, Supersoft passed everything except the floppy controller test, naturally. So I'm still wondering if the interrupt errors I got are still related to faulty RAM. Every other test otherwise passes.
 
One would expect that, but it is an assumption until proven as fact.

I'll head next door to my work area later and verify. Also, this is the website for the EEPROM I ordered (but bought initially from ebay). Since it's PIN compatible with the MCM68766, it should work, and his part is rated to 150ns, faster than the 250ns IBM specified.
https://www.audesine.com/product-page/drop-in-replacement-for-7854-roms

Apart from that possible C1.00/C1.10 mismatch, maybe Microsoft sneaked in some minor modifications, changing the IBM part number on the ROM, but did not update the displayed "C1.00"

But we have seen cases of ROM's that have different IBM part numbers on them, but have the same contents.

A CRC/MD5 comparison of all of the various Cassette BASIC ROM's would indicate what is going on.
That was the next thing I was going to ask you, actually. I do have my EPROM programmer in hand, so I can do some ROM dumps. Are you able to give a suggestion on how I can do a CRC/MD5 comparison for the files hosted on your site? My work computer is Windows 10, but I have plenty of Linux machines available, so I could compare the image on there; I just don't know/remember offhand what command I'd do to compare the images, and I don't see any MD5 signatures for the replacement ROM images you host. I've also messaged the seller of the EEPROM to ask him if he has two more he could sell before he ships my package. He upgraded me to FedEx 5 day for only $10 more, and although it changes the originality of the machine, I'd kind of feel more at ease if I was absolutely certain all five ROMs have the correct bits programmed in them.
 
I'll head next door to my work area later and verify. Also, this is the website for the EEPROM I ordered (but bought initially from ebay). Since it's PIN compatible with the MCM68766, it should work, and his part is rated to 150ns, faster than the 250ns IBM specified.
https://www.audesine.com/product-page/drop-in-replacement-for-7854-roms


That was the next thing I was going to ask you, actually. I do have my EPROM programmer in hand, so I can do some ROM dumps. Are you able to give a suggestion on how I can do a CRC/MD5 comparison for the files hosted on your site? My work computer is Windows 10, but I have plenty of Linux machines available, so I could compare the image on there; I just don't know/remember offhand what command I'd do to compare the images, and I don't see any MD5 signatures for the replacement ROM images you host. I've also messaged the seller of the EEPROM to ask him if he has two more he could sell before he ships my package. He upgraded me to FedEx 5 day for only $10 more, and although it changes the originality of the machine, I'd kind of feel more at ease if I was absolutely certain all five ROMs have the correct bits programmed in them.
For ROMs, check out Monotech PC. He’ll even program for you.

 
For ROMs, check out Monotech PC. He’ll even program for you.

So did the other company. Both are international, so either way, shipping will take a minute. But thank you for the link. I picked up a Monotech NuXT from my late best friend's estate, so I'm a little familiar with Monotech.
 
I read that, but somehow interpreted that as only applying to the 11/09/1982 BIOS (or whatever the date was of it). I didn't know it also applied to the earlier two revisions.
I think that you may be recalling the problem described at [here], which only applies to the 10/27/82 BIOS.

On a 5150, the motherboard RAM banks are permanently (hardware) enabled.
IBM 5150: As shown at [here], the lines from switches 3 and 4 in SW1 only go to the 8255 chip, to be read by the POST.
IBM 5160: As shown at [here], the lines from switches 3 and 4 in SW1 also head off to another area of the motherboard to enable/disable the RAM banks.

Correct. I was charging my phone, so I wasn't able to take a snapshot, and it didn't occur to me to use my mirrorless camera to do the same. But yes, that shows up, but after typing a long string, and ESPECIALLY after typing enter, the system halts with a blank screen and cursor. I presumed it's a memory issue. After fixing the issues with Bank 1, I was still getting errors for Bank 3. I think 0C08 or OC04 or something. I don't remember now, but I know between both banks, I did replace several DIPs, and the last bank (3) has several different vendors/part numbers. I should see my replacement NOS memory here tomorrow or Saturday, along with my tester, so I'll verify ALL the RAM before I install it.
Yes, I think the way to proceed is to rectify all 201 errors, then see how things go.

Having RAM chips of different vendors and/or different part numbers within a bank is not a problem in the IBM PC family.
 
Back
Top