• Please review our updated Terms and Rules here

IBM 5140 Convertible eternal beep

nestor

Veteran Member
Joined
Jul 23, 2010
Messages
509
Location
Spain
I have acquired a IBM 5140 Convertible PC that is not working. When powered on, almost instantly starts to make a continuum low pitch beep until the power button is pressed again. There is nothing displayed on the LCD.

I have tried to remove the LCD, the keyboard, the two floppy drives and the four SRAM boards but behaves the same way.

Any idea about what part can be causing it?
 
A little update: watching youtube videos I noticed that when powering on a 5140 system it always makes a beep of the same pitch like the one I described, but in the working systems that beep is very short.

Removing the ROM ICs makes the system to do absolutely nothing, no beep at all, so it must be produced by the early bios routines. I found a 5140 bios dump on modem7 ROM collection. How can I dissassemble it? Maybe it can throw some light on the problem...
 
The ROM ICs contain the BIOS, so there would be no BIOS around to make the beep.

I have a 5140 here and the Technical Reference manuals, but not the Hardware Maintenance and Service manuals. I'll power it up tonight and see if I can get the same beep.

Your original message said a continual low pitched beep - is it really coming from the speaker, or is it a power supply type humming sound?
 
Hi mbbrutman,
It is a speaker beep, i said low pitch to describe it and difference it from the standard IBM PC POST beep. Now I'm sure that the beep my 5140 produces is the same as working 5140 units do when powered up, but for some reason the BIOS code is stopped between the activation and deactivation of the 8255 speaker pin.
 
I've seen this before--the 8253 simply generates whatever default frequency and the gating pin floats from the 8255. To me, this says that your code didn't get far enough to initialize the 8255 or the 8253.

Sometimes this happens because of a bad "Power good" signal from the PSU and the CPU doesn't reset correctly. Try a manual reset by momentarily grounding Power Good and see if it makes a difference.
 
I couldn't find a schematic of the Power PCB and its edge connector to the main board, so I don't know even if there is a Power Good line. I hope mbbrutman have this info in his manuals...

On the other side, I think the 8253 is initialized because the pitch of the beep is the same as in the working 5140 and never varies, but instead of being about 1/8 second long, the computer hangs and never finishes.

You can hear the short beep in a working 5140 it in this video, at 0:24

 
Anyone knows if the rom chips are pin compatible with the standard 27C256? They are labeled as SMM6326CBK
 
I managed to disassemble the BIOS image. First it checks and sets the warm boot flag

Code:
loc_START:
                 mov     al, 0FAh
                 out     0A1h, al
                 mov     ax, 40h
                 mov     ds, ax
                 cmp     word ptr ds:72h, 0ABCDh
                 jnz     short loc_INIT
                 mov     word ptr ds:72h, 0

Then performs a initialization and starts the beep

Code:
loc_INIT:
                 cli
                 cld
                 mov     al, 0FFh
                 out     21h, al
                 mov     al, 20h 
                 out     7Ch, al
                 sub     al, al
                 out     7Fh, al
                 out     77h, al
                 out     0A0h, al
                 out     7Ah, al
                 out     0A2h, al
                 out     0A3h, al
                 out     74h, al
                 in      al, 75h
                 and     al, 0BFh
                 out     75h, al
                 mov     al, 7
                 out     72h, al
                 mov     al, 2Fh 
                 out     61h, al
                 mov     al, 0B6h 
                 out     43h, al
                 mov     ax, 1333h
                 out     42h, al
                 mov     al, ah
                 out     42h, al
                 jmp     loc_TST01
                 hlt

While the beep is played, the CPU performs some tests (mostly flags and registers). This is one of them:

Code:
loc_TST11:
                 cmc
                 jnb     short loc_ERR01
                 mov     ax, 123h
                 cmp     ax, 123h
                 jnz     short loc_ERR01
                 jz      short loc_TST12
                 jmp     short loc_ERR01


If all tests are completed successfully, it stops playing the beep:

Code:
                 mov     al, 28h
                 out     61h, al
                 jmp     loc_TDONE


But if one test fails, it jumps to this code. The hlt instruction halts the computers because interrupts are disabled during init with cli instruction. In this case the 8255 is not accessed, so the beep plays forever.

Code:
loc_ERROR:
                 mov     ax, 1
                 xchg    al, ah
                 out     0A2h, al
                 jmp     short $+2
                 xchg    ah, al
                 out     0A3h, al
                 mov     al, 2
                 out     7Fh, al
                 hlt

So I think there are two possible causes:

1) Processor and / or chipset are damaged. The first is a soldered 80c88 in smd package, and the chipset is composed by 3 o 4 IBM ICs. I think it is not repairable. If this was the case, there is a test that fails and prevents the machine to work, giving the eternal beep.

2) Power instability. The current that feeds the motherboard has noise or something similar. I think this cause is not very likely because it seems to fail always in the same point. And it also happens using battery power, that is more stable than wall charger.

Some schematic of the 5140 power section would be a great help in this moment.
 
Some schematic of the 5140 power section would be a great help in this moment.

My apologies - the week goes by faster than I would like.

To me it is unlikely that it ran that much code with something seriously damaged. I haven't gone through the 5140 BIOS listing yet, but on other IBM machines the POST is going to look for stuck keys on the keyboard, spurious interrupts from other devices, failures of the time chip, etc. Memory gets tested a little later and the machine is more elegant about how it reports memory errors.

I would remove all but one memory card, remove the drives, and remove anything attached to the back including the printer slice and other slices. If you can get at the built-in modem that can go too. Examine all of the connectors and the internals of the machine to make sure that nothing is shorted; this can be a flake of something metallic bridging two IC pins even. Compressed air is a good way to clean the machine out. Be careful with the keyboard connectors - they are fragile. (There is a good page on opening the 5140 at http://ohlandl.ipv7.net/5140/5140.html .)

I can look things up in the tech ref for you, but I we need to be slightly more specific - my time is very limited lately. I think the first thing I will do is look at the BIOS listing to find what devices it is testing - that will help us narrow the search down.


Mike
 
The boards are clean, here are two pictures:


Click to enlarge



Click to enlarge


I burned the BIOS images from per collection in two 27C256 and replaced the original ROM ICs with these. The system behaved exactly the same, so now I know that I can use standard 27C256 EPROMS to perform tests.

I also measured with a multimeter the address / data pins on the eproms when the system is hung with the beep. They are stable (all read 0v or 5v, so they are not switching). In both roms the /OE and /CE pins are set high, but the address and data pins read the same value: 61h (the address of the 8255, coincidence?).

mbbrutman, I would like to know the pinout of the brown power connector (20 pins) to supply power with a external power supply.

Thank you!
 
Back
Top