• Please review our updated Terms and Rules here

IBM 5140 - a blast from a past

Adventurer

Experienced Member
Joined
Jan 8, 2016
Messages
157
Location
Latvia
Sometimes, when you want to do something new, you have to make mistakes. This was exactly the case with IBM, developing portable laptop in the middle of 80-ties. In some ways, it was revolutionary - dual 3,5 inch floppies, with 720K storage offered about more storage than 5,25 inch floppy discs, ability to work without grid power, instant on/off, thanks to CMOS based CPU, which was backed up by rechargeable main Ni-CD battery.

-1813723.sized.jpg


However, it had serious flaws as well. First, it was expensive for a portable - just base unit would cost about 2,000 USD. It would not be a problem, since the price seems to be fair, comparing to other computers from the same time, however, IBM 5140 was missing any expansion ports. Need COM port and LPT? No problem, just buy add on extension for about 200 USD. Need to connect an external monitor? Again, buy another addon, whicn just sticks to the current one. Given the fact, that COM ports were used more than often at that time, and having rather poor non-backlit LCD, which could be read in only very bright light, an external monitor was needed when used on a desk. As a result, usable configuration would cost much more than expected, and you would need a very long table, if you would want to connect all accesories at the back of this PC, making it even more heavy.

-1813732.sized.jpg


The heart of the unit runs at whooping 4,77 Mhz, and base RAM was 256, could be expanded to maximum 640K.

After suffering poor sales and dealing with unsatisfied customers, IBM released an updated model of 5140, solving one major problem - display now had a nice blue backlight, and was much better. Other than that, everything remained the same, and this update did not make a significant boost to it's sales, and it was finally discontinued a few years later.

-1813729.sized.jpg


Still, the unit was very well made (all metal body), and the mechanical keyboard with brown Alps switches is one of the best I've ever used:

-1813726.sized.jpg


This took me a long time to find blue backlit model in near mint state. Even Ni-CD battery is accepting charge, and it can run on it as well. Despite cleaning, drive A: often gets read errors when restarting, but this is the only flaw I have found so far. The display is great for indoor use as well, but pretty useless outdoors. Maybe will use it in November for NaNoWriMo :)
 
So much for the good news, here come the bad ones:

Suddenly I was getting "Parity check" message (no number after the messsge). At first it appeared only when removing floppy from drive B. After the message PC halted, as expected. Hard reset was needed

Then, I started to get Parity errors on booting up as well, usually when prompted to set the time. This time it even worked for a moment after Parity check, then it beeped and screen was filled with random characters.

Tried original IBM5140 diagnostics - run memory test twice, resulted with no errors. Made a "clean" IBM 5140 floppy - starts without problems again. I'm a bit puzzled about this problem, since it does not appears memory is directly involved. Bad original floppy? A virus? (must admit, I did not scan the bootable floppy before, however the issue really looks hardware related). Any additional ideas?

The only fail in IBM system diagnostics is for internal modem, all others have passed multiple times....

Here is a screenshot with boot-up Parity check (sorry for the quality, too much sunshine in the room):

-1813736.sized.jpg
 
Last edited:
First, congratulations on obtaining a 5140. It's a nice, but quirky little machine.

On the parity errors:

Plug it into wall power, boot a clean IBM PC DOS 3.3, and run a generic memory tester. Some memory testers will do stupid things, like test your memory by altering the refresh rate on the DMA controller. That doesn't work/doesn't apply to a 5140 because it has static RAM. Just a plain memory tester that tries a few different patterns should be sufficient. Let it run for a few hours.

You can also very carefully remove the memory boards, clean the contacts, and re-install them. But this might do more damage if you accidentally zap something with static. The process of elimination can also be used to find which memory board has the problem.

When things get better, get a Xircom PE3 and put it on the net!

IBM_Convertible_IRCjr_1_large.jpg
 
Parity can also refer to the integrity of the CMOS (BIOS) values. If no memory test reveals any problems then suspect the CMOS/BIOS, could also be a weak CMOS battery.
 
First, congratulations on obtaining a 5140. It's a nice, but quirky little machine.

On the parity errors:

Plug it into wall power, boot a clean IBM PC DOS 3.3, and run a generic memory tester. Some memory testers will do stupid things, like test your memory by altering the refresh rate on the DMA controller. That doesn't work/doesn't apply to a 5140 because it has static RAM. Just a plain memory tester that tries a few different patterns should be sufficient. Let it run for a few hours.

You can also very carefully remove the memory boards, clean the contacts, and re-install them. But this might do more damage if you accidentally zap something with static. The process of elimination can also be used to find which memory board has the problem.

I already feel it does have a character and a mind of it's own. Besides Parity Check the machine is very picky on floppies - even incorrectly glued label sticker can cause floppy to be unreadable in the drive, as I exeperienced myself. There is one more problem - the machine can format 1.44 MB floppies as 720 K with no problems, can read and write them, but they are unreadable on other machine (Libretto 50ct). If it is "real" 720 K floppy, it can be read in both machines without any problems.

On memory tests - I have different testing software, but some tests do not run at all, some launch and stop responding before I can even select anything. One memory test was working, but it revealed so many memory errors, that I think it is testing it exactly in a way you mentioned.

Only test which seems to be working is original IBM 5140 diagnostics software, which shows no memory problems, no matter how many times I try to run it.

As a side note - suddenly all parity check errors dissapeared, no matter how many times I tried to reboot it, take out/format floppies, and run different programs. What has changed is time and date is no longer lost after sending the machine to reboot with Ctrl+Alt+Del. I left it on for more than 8 hours, and finally decided to have some fun - launched Arkanoid, which also works without any glitches:

-1813753.sized.jpg


I do not know what tomorrow brings though - part of the fun with using vintage equipment, is to be ready for surprises, both good and bad I guess... At least for now I will try not to remove RAM modules. There are even some 256K never used on Ebay, but with shipping costs it would be more than I paid for the machine itself.
 
Parity can also refer to the integrity of the CMOS (BIOS) values. If no memory test reveals any problems then suspect the CMOS/BIOS, could also be a weak CMOS battery.

With this model there is an interesting detail - it does not have separate CMOS battery. All system is powered from main Ni-CD battery pack, so, if it is empty, all CMOS values are lost, as well as instant suspend/resume. I was ready to look for CMOS battery and replace it, but was very glad I did not have to do it, because there is none :)
 
There is one more problem - the machine can format 1.44 MB floppies as 720 K with no problems, can read and write them, but they are unreadable on other machine (Libretto 50ct). If it is "real" 720 K floppy, it can be read in both machines without any problems.
You have to cover the density notch on 1.44mb disks. Genuine 720k drives (and some PS/2 1.44mb drives) ignore the density notch, but a normal 1.44mb drive will always try to read a disk as 1.44mb if it detects that notch.
 
With this model there is an interesting detail - it does not have separate CMOS battery. All system is powered from main Ni-CD battery pack, so, if it is empty, all CMOS values are lost, as well as instant suspend/resume. I was ready to look for CMOS battery and replace it, but was very glad I did not have to do it, because there is none :)

Whilst it might be expensive, generally battery packs can be re-build with new cells, although the required NiCad cells are getting harder to come by. On the other hand NiCads can sometimes be restored by adding electrolytic, or if whiskered by "zapping". A bit of googling will turn up many articles on this.

I guess these days it might be possible to build new packs with a more modern technology inside , lithium polymer perhaps, and with a 3-d printed case.

By the way I just love the machine. Such a neat design and typical of the time
 
I don't like the design for the looks, so bulky... But that the keyboard is so low gives it some good ergonomy. And the backlit display looks really cool.

If you wanna replace the NiCd then a good source are airsoft gun batteries. They are still very common since NiCd can be abused for huge power peaks.
 
Have you tried cleaning the 720K floppy drives with a cleaning diskette? Cleaning takes care of a lot of drive flakiness problems.

In general, do not use 1.44 / 2MB (high density) floppy disks in a 720KB / 1MB (double density) floppy drive. If it works, it's just temporary. The media and the drives are not compatible. Find real double density disks to use.
 
You have to cover the density notch on 1.44mb disks. Genuine 720k drives (and some PS/2 1.44mb drives) ignore the density notch, but a normal 1.44mb drive will always try to read a disk as 1.44mb if it detects that notch.

Thanks, it did the trick - never thought it is important to cover the density notch when reading the floppy...
 
Just a short update.

First, good news is that Ni-CD battery is very much alive. I could get about 4 hours of use with backlight brightness to 2/3, and frequent rebooting/formatting, copying data between floppies. At least I do not have to worry about battery for now, pretty impressive for being original one!

There are bad news as well. For 3 hours on battery I had no Parity Check messages, even trying to provoke them on purpose, such as setting the system time, which usually would result in an error. Then the dreaded message appeared again:

-1813757.sized.jpg


An interesting observation - system is not halted at this moment, and it is often possible to load IBM application selector, exit to DOS, and launch a game, for example, the same arkanoid. However, in about half of the cases it stops there or starts to type garbage on the screen. Tried to connect charger, disconnected the battery - error remains on setting time. A couple of times I even got fatal internal stack failure - even found an article, written in 1986, about IBM XT's with Bios problems - incompatility with DOS 3.2

Tried different tasks, and the system clearly indicated RAM failure by what it did - applications, which sometimes launch, sometimes does not, inccorrect writing to floppy drive - saving a document resulted in unreadable floppy (it was possible to repair it on my Libretto, but it was no longer bootable). Managed to "crash" the floppy twice, and it was not floppy problem - brand new 720K with no read errors, tested.

I had no other choice, but to look for defective RAM module. Getting to them was easier than I thought before - no screws involved. Opening up, and here are 3 128K, and one 256K module. Inside everything looks clean and nice:

-1813754.sized.jpg


Now, I thought to myself - all I have to do is to find defective RAM module. This, however, appeared to be an impossible task. Tried all modules one by one, and setting time always resulted in PARITY CHECK. The only moment, when I was not getting any error messages was in the following configuration:

-1813755.sized.jpg


In fact, there were no messages at all, because the system does not works without RAM installed...

Now I am a bit puzzled. I could imagine two modules going bad, but all four? I don't think it is likely. Bad CMOS, motherboard failing? The problem is I do not really know where to start. It would make no sense to order new RAM, just to find out it was not a problem. Most likely, have to find cheap donor machine for a start. Until that this IBM Convertible will have to spend it's time alone in a large briefcase it was packaged. There is nothing I can do with it now...
 
Have you tried cleaning the 720K floppy drives with a cleaning diskette? Cleaning takes care of a lot of drive flakiness problems.

In general, do not use 1.44 / 2MB (high density) floppy disks in a 720KB / 1MB (double density) floppy drive. If it works, it's just temporary. The media and the drives are not compatible. Find real double density disks to use.

That's the first thing I did when switched it on :) However, now I suspect drive not reading might be caused buy defective RAM/motherboard or both.

I do have some 720K floppies as well, it is just I do not have lots of them...
 
All 4 RAM modules defective is extremely unlikely. Also suspicious that sometimes the parity error seems to come immediately, sometimes after hours.

I'd still suspect the BIOS, people from the "MESS" project have dumped it, so you could probably get dumps from these guys. 2 x 32K EPROMS would be an investment I'd do if you like the machine. A 32K Eprom should be under 10 dollars.
 
Thanks for the offer, that could do the trick! As a last resort today I tried to remove/reseat rom chips, did it about 10 times, but still Parity Check is there...

If ROM chip replacement solves the problem, it would be great, since this is not the most common vintage PC available, some seem to be sold for rather crazy prices as well.
 
First, good news is that Ni-CD battery is very much alive. I could get about 4 hours of use...

There are bad news as well. For 3 hours on battery I had no Parity Check messages...

So it works with a fully charged battery? If this can be repeated then it would seem to be a power related problem, don't you think? A drop in voltage could cause data corruption in RAM and this would likely be detected as a parity error.
 
This is just my opinion but fiddling around with the ROM chips to chase a parity error is a pretty bad idea ...

The more you touch the more risk you take. If the ROMs are really ROM (and not EPROM) then they are probably not causing your parity error, and playing with them is just inviting more damage because they are static sensitive.

You really should be looking at more basic things, like is the power to the motherboard clean/nice/stable? Is there corrosion on any of the contacts on the memory boards? Is the machine properly grounded when it is plugged in?

Sometimes your machine works and sometimes it doesn't you need to find the single factor that makes it unstable. Tearing into more parts and fiddling around with random things probably won't help and more than likely will cause more damage.
 
I like the bad ground suggestion, followed by a thorough examination of power

& power distribution, before more ambitious surgery.

I've been bit several times by flaky ON/OFF switches, for instance...


My $.02 HK - Good luck.
 
Last edited:
Finally an update, but I have not resolved hardware problem yet...

Changed power adapter - used modern one with the same specs. Before tested polarity and voltage. Voltage on original adapter - 15.33 to 15.34 volts, stable. Voltage on modern adapter - 15.1-15.2 volts, stable as well. Had to change the shape of adapter plug to plug in to narrow opening in IBM 5140. Run full diagnostics tests - for the first time Internal Modem test passed Ok! However, repeating the test resulted in failure in modem again.

Still, I do get occasional parity errors, which appear in different circumstances:

* Setting system time, 90 percent of cases (an interesting note - error appears only when changing hours, setting minutes never cause this error)
* accessing floppy drive (voltage drop?)
* idling
* switching on - resuming from standby (voltage drop?), usually time is incorrect, if Parity Check appears in this case, however, time is not reser, the hours are wrong. Still this ine hints to CMOS problem.

Typical scenario in all cases - machine either hangs or becomes unstable. Ctrl+Alt+Del usually does not help, system hangs trying to load from A drive (no errors though). If I switch the machine off at this stage, switching on results in full restart (with memory checking), and after that system loads just fine, unless Parity Error is triggered.

Trying to set the time many times in a row(with full restart) usually finally works, despite getting parity check. After that the machine seems to work fine, and time setting works normally (for limited time though). Time and date is not lost during parity check or full restart.

Running on batteries seems to decrease possibility of getting "Parity check", but it needs more testing to confirm it.

As for the bad floppy - it was not machines fault, the floppy itself died without saving or writing anything in it - it just died, another floppy does not show any problems with saving text. Installed PC-Write, which works well.

Having written all this, nothing is clear yet. I might try to replace CMOS chips after all and see how it works then...

By the way, can you reccomend any cpu/graphics intense application/game, whicn would push this hardware to it's limit? Would be useful for testing stability.
 
Too many weird stuff going on in this system at once, so even though some people may pitty me i still think the BIOS might just be unreliable.

For stressing CPU i think something like benchmarks would be OK... There are some old DOS benchmarks you could loop in batch files....

http://www.roylongbottom.org.uk/oldones.htm


To stress CGA - not really possible. It is not a 3D accelerator, so if you run a video speed benchmark or not shouldn't make a difference at all - after all it is just overwriting video RAM which shouldn't be a stress to the hardware at all, normally that happens all the time at nearly any game (OK, minus Zork) and if the graphics card is busted it simply won't work.
 
Back
Top