• Please review our updated Terms and Rules here

Trying to revive "dead" 5160 motherboard

th3bar0n

Experienced Member
Joined
Oct 14, 2017
Messages
51
Location
London
Hi all,

I’m having issues with the 64-256KB motherboard in my IBM 5160. It was working fine a few months a go but when I went to power it on recently, the fan turned in the PSU but nothing came up on the display, instead it made a continuous buzzing sound.

I’ve taken the motherboard out and done the following, none of which have made a difference,

-Replaced Bank 0 with known good RAM
-Swapped in known good 8088
-Checked continuity for the 40 8088 pins (top of IC to solder joint on bottom of board)
-Swapped in a known good 8284A clock generator
-Checked resistance with the board disconnected, as per http://minuszerodegrees.net/5150_5160/MDC/no_beeps_2_2.htm
+5v = 900 ohms
-5v = OL
+12v = OL
-12v = OL

-Checked voltages with board powered on, from known good PSU,
P8-Pin1 = 5.01v
P8-Pin3 = 12.43v
P8-Pin4 = -11.16v
P9-Pin3 = -5.11v
P9-Pin4 = 5.04v
P9-Pin5 = 5.04v
P9-Pin6 = 5.04v

-Replaced U18 with known good Landmark ROM. Nothing comes up on the display, although the buzzing starts straight after power on, whereas with the normal bios it takes a few seconds to start.
-I’ve checked that the CPU RESET line gets taken low and there seems to be a CLK signal at Pin 19 of the 8088.

I’m not sure what else to try at this point. It’s obviously failing very early on, as neither the POST nor Landmark appear to start executing, and I’m guessing the buzzing is because of the following,
http://www.vcfed.org/forum/showthread.php?69921-5160-XT-motherboard-problem&p=571673#post571673

Here is a video of it starting up,
https://imgur.com/gallery/nZ9wZGE

Sorry – just checked one last thing as per here,
http://www.vcfed.org/forum/archive/index.php/t-15315.html

S0, S1 and S2 are all held high – so the 8088 is stuck in the HOLD state?


Any pointers much appreciated - Thanks!
 
I've checked levels on several of the main ICs. Clocks seem to be in the right places, and Vcc and GND levels look correct.
Unfortunately I'm not sure much else is. A lot of pins, like the 8088 address lines, give no reading with the logic probe.

Any clues here as to how things could get into this state?

8284
Pin1,CSYNC = Low
Pin2,PCLK = Pulse
Pin3,-AEN = Low
Pin4,RDY1 = High
Pin5,READY = High
Pin6,RDY2 =
Pin7,-AEN2 =
Pin8,CLK = Pulse
Pin9,GND = Low
Pin10,RESET = Low
Pin11,-RES = High
Pin12,OSC =
Pin13,F/-C = Low
Pin14,EFI =
Pin15,-ASYNC = Low
Pin16,X2 =
Pin17,X1 = Low
Pin18,VCC = High

8288
Pin1,IOB = Low
Pin2,CLK = Pulse
Pin3,S1 = High
Pin4,DT/R =
Pin5,ALE = Low
Pin6,AEN = Low
Pin7,MRDC = High
Pin8,AMWC = High
Pin9,MWTC = High
Pin10,GND = Low
Pin11,IOWC = High
Pin12,AIOWC = High
Pin13,IORC = High
Pin14,INTA = High
Pin15,CEN = High
Pin16,DEN = Low
Pin17,MCE/PDEN = Low
Pin18,S2 = High
Pin19,S0 = High
Pin20,VCC = High

8088
Pin1,GND = Low
Pin2,A14 =
Pin3,A13 =
Pin4,A12 =
Pin5,A11 =
Pin6,A10 =
Pin7,A9 =
Pin8,A8 =
Pin9,AD7 =
Pin10,AD6 =
Pin11,AD5 =
Pin12,AD4 =
Pin13,AD3 =
Pin14,AD2 =
Pin15,AD1 =
Pin16,AD0 =
Pin17,NMI = Low
Pin18,INTR = High
Pin19,CLK = Pulse
Pin20,GND = Low
Pin21,Reset = Low
Pin22,Ready = High
Pin23,Test = High
Pin24,INTA = Low
Pin25,ALE = Low
Pin26,DEN = High
Pin27,DT/R = High
Pin28,IO/M = High
Pin29,WR =
Pin30,HLDA = High
Pin31,HOLD = High
Pin32,RD =
Pin33,MN/MX =
Pin34,SS0 =
Pin35,A19/S6 =
Pin36,A18/S5 =
Pin37,A17/S4 =
Pin38,A16/S3 =
Pin39,A15 =
Pin40,VCC = High

8237
Pin1,IOR = High
Pin2,IOW = High
Pin3,MEMR = High
Pin4,MEMW = High
Pin5,NC = High
Pin6,READY = High
Pin7,HLDA = Low
Pin8,ADSTB = Low
Pin9,AEN = Low
Pin10,HRQ = Low
Pin11,CS = High
Pin12,CLK = Pulse
Pin13,RESET = Low
Pin14,DACK2 = High
Pin15,DACK3 = High
Pin16,DREQ3 =
Pin17,DREQ2 =
Pin18,DREQ1 =
Pin19,DREQ0 = High
Pin20,(GND) VSS = Low
Pin21,DB7 = High
Pin22,DB6 = High
Pin23,DB5 = High
Pin24,DACK1 = High
Pin25,DACK0 = High
Pin26,DB4 = High
Pin27,DB3 = High
Pin28,DB2 = High
Pin29,DB1 = High
Pin30,DB0 = High
Pin31,VCC = High
Pin32,A0 = High
Pin33,A1 = High
Pin34,A2 = High
Pin35,A3 = High
Pin36,EOP = High
Pin37,A4 = High
Pin38,A5 = High
Pin39,A6 = High
Pin40,A7 = High

8255
Pin1,PA3 =
Pin2,PA2 =
Pin3,PA1 =
Pin4,PA0 =
Pin5,RD = High
Pin6,CS = High
Pin7,GND = Low
Pin8,A1 = High
Pin9,A0 = High
Pin10,PC7 = Low
Pin11,PC6 = Low
Pin12,PC5 = High
Pin13,PC4 = Low
Pin14,PC0 = Low
Pin15,PC1 = High
Pin16,PC2 = Low
Pin17,PC3 = Low
Pin18,PB0 =
Pin19,PB1 =
Pin20,PB2 = High
Pin21,PB3 = High
Pin22,PB4 = High
Pin23,PB5 = High
Pin24,PB6 =
Pin25,PB7 =
Pin26,VCC = High
Pin27,D7 = High
Pin28,D6 = High
Pin29,D5 = High
Pin30,D4 = High
Pin31,D3 = High
Pin32,D2 = High
Pin33,D1 = High
Pin34,D0 = High
Pin35,RESET = Low
Pin36,WR = High
Pin37,PA7 =
Pin38,PA6 =
Pin39,PA5 =
Pin40,PA4 =
 
S0, S1 and S2 are all held high – so the 8088 is stuck in the HOLD state?
I think you will have seen the startup sequence at [here].

As expected, you are 'diving deeper' in your diagnosis. At a certain point, you will need to acquire better test equipment, as well as the knowledge of how to use that test equipment, and a better knowledge of motherboard operation.

For example, you are looking at S0/S1/S2 in what appears to be a 'final state'. If you are looking for S0/S1/S2 reflecting a 'Read Data from Memory' bus transaction during the startup sequence, you would use appropriate test equipment to see if that state was occurring at the expected time (not some time later). And that also goes for the various signals out of the bus controller. During the startup sequence, you need to see what's happening at various points in time (based on your knowledge of circuit operation, chip operation). What you observe then steers your diagnosis/examination in a particular direction depending on the observation.

One thing you should not assume is that if you acquire the required test equipment, that someone on these forums is then going to spend, say, 100 hours of their time stepping you through equipment setup and diagnosis. It is very time consuming (and 'painful') to do deep-level diagnosis remotely (and slowly), compounded by bad measurement from things like pin confusion, probes and/or clips not going through oxide build-up, misunderstanding.

If you were in Australia, I would say, "Based on what you have tried so far, post the board to me (postage both ways being your expense) and I will freely attempt to diagnose it in my spare time."
 
One thing you can do is to pull pin A0, IOCHRDY, to ground when powering up. If things are OK the address bus should output FFF0h and the data bus should output EAh (= jump far). If it does not, then some part is broken. If it does show the mentioned values, it means that something goes wrong during executing the BIOS.
Explanation: IOCHRDY halts the CPU. In this case the cpu is halted right at the first instruction.
In the last case you either need a logic analyzer or a single-stepper. Please see http://baltissen.org/newhtm/debugger.htm, this is one for the Commodore 64. I have built one for the PC as well based on this schematic but is doesn't have the means to stop at a certain address.

I hope this helps a bit.
 
Hi modem7- thank you very much for your detailed reply and kind offer to fix the board!
Unfortunately I'm not in Australia and I would like to build up the skills to fix it myself, but it was never with the intention or expectation of a big investment of time from the very knowledgeable people on here.
My initial hope was that there was some clear tell-tale sign as to how the system had got into that state, but I appreciate this is very much piecing things together after the fact.

Thank you for the link, there is a lot more information here than I realised before and this is just what I need to help me get started.


Ruud - Firstly, great work on your diagnostic rom! I've been using that to troubleshoot another board I have. Thank you too for your suggestion. I will start my investigations here.
Hopefully I will ultimately get it going and learn a lot along the way.
 
Ok no problem! I'm going to be doing some more reading first before attempting it, so all good - thanks again!
 
Back
Top