VOGONS


Reply 60 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

I messed up that last part when I edited it. Pin 19 should be low at all times preferably since we want the signal to be passed through. And it is.

Pin 1 should be L as well and is H though, wrong direction. We don't care for writes at the moment, will test that later. We want reads to work.
This pin being "meh" on U23 is sort of expected because it's unconnected when 8288 is missing, although I would've liked to see it at higher voltage. But we'll worry about that if the test fails.

So check again please with the resistor between 8288#4 and GND, except test pin 1 on U23 and U58.

Reply 61 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie

With 8288#4 shorted to GND using resistor:
U23#1 is 0,013V
U58#1 is 3,83V

with resistor removed:
U23#1 is 1,68V
U58#1 is 3,83V

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 62 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Hm. U23 is connected as I thought it would be, and follows the schematic. But U58 is a bit of a mystery still.

Let's try to attack this from both ends. See if you can find out what U23 B-side (pins 11-18) is connected to. Possibly to the ISA bus data pins (A2-A9) so check that first. If not it has to be another '245, or some weird combination of other '244 / '373.

At the same time, what is pin 1 on U58 connected to? I was hoping it would be some signal amplifier, most likely a '244 type chip. Check U17 first. We need to track this signal down.

Reply 63 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
Deunan wrote:

Hm. U23 is connected as I thought it would be, and follows the schematic. But U58 is a bit of a mystery still.

Let's try to attack this from both ends. See if you can find out what U23 B-side (pins 11-18) is connected to. Possibly to the ISA bus data pins (A2-A9) so check that first. If not it has to be another '245, or some weird combination of other '244 / '373.

Yup, it's hooked up to Data pins on ISA bus.

Deunan wrote:

At the same time, what is pin 1 on U58 connected to? I was hoping it would be some signal amplifier, most likely a '244 type chip. Check U17 first. We need to track this signal down.

Well now… that's kind of scary answer because it's connected in cascade through these gates in the upper right corner on the board… to DRAM, PIC and so on...
I won't even try to describe it - I just mapped it on the schematics (I double checked everything so this should be fine) - but it's incomplete still… hopefully you will be able to make some sense out of it…

turboxt.jpg
Filename
turboxt.jpg
File size
812.96 KiB
Views
699 views
File license
Fair use/fair dealing exception

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 64 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie

I updated schematics further… added rest of the BIOS ROM lines...

turboxt.jpg
Filename
turboxt.jpg
File size
1.07 MiB
Views
688 views
File license
Fair use/fair dealing exception

Also I found and bought this motherboard today (I should get it next week)… it's very similar, hopefully it works (it wasn't tested) and maybe will help us out getting some answers…

turboxt2.jpg
Filename
turboxt2.jpg
File size
558.56 KiB
Views
687 views
File license
Fair use/fair dealing exception

At least I will have another 8Mhz 8088 CPU to test...

Last edited by HanJammer on 2019-04-17, 20:22. Edited 1 time in total.

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 65 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Yeah, that is scary. Parts of it might be actually DMA or DRAM timing/refresh. But the AND/OR gates resemble the schematic a bit so I'm going to assume it works in similar way. You'll need more 100 ohm resistors, although you can use wires on the already checked connections as well.

So put the resistor in the 8288 socket like during last test, and then add another between GND and pin 7 of the 8288. You already did that before, this is the /MEMR signal. This should hopefully bring U13 pin 6 low, and in turn toggle pin 4 to H and U81 pin 8 to L. Which should give the L state on pin 1 of U58 that we need. I sure hope it isn't one of these gates that's busted or we will spend the next 2 weeks figuring it out.

Keep the resistors connected to the socket, we'll need them there for the data bus test anyway.

Reply 66 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
Deunan wrote:

Yeah, that is scary. Parts of it might be actually DMA or DRAM timing/refresh. But the AND/OR gates resemble the schematic a bit so I'm going to assume it works in similar way. You'll need more 100 ohm resistors, although you can use wires on the already checked connections as well.

Not a problem, I have a lot of them...

Deunan wrote:

So put the resistor in the 8288 socket like during last test, and then add another between GND and pin 7 of the 8288. You already did that before, this is the /MEMR signal. This should hopefully bring U13 pin 6 low, and in turn toggle pin 4 to H and U81 pin 8 to L. Which should give the L state on pin 1 of U58 that we need. I sure hope it isn't one of these gates that's busted or we will spend the next 2 weeks figuring it out.

Keep the resistors connected to the socket, we'll need them there for the data bus test anyway.

OK, resistor between 8288#4 and GND, and second one between 8288#7 and GND...

U13 pin 6 is Low.
U13 pin 4 is High.
U81 pin 8 is Low.
U58 pin 1 is Low.

Also notice the updated schematics in the post above (but I think I will cease adding more stuff to the image unless you ask me to because it will only make the picture harder to read)…

PS: Out of the pure interest - why U37 and U43 are connected in a loop like this?

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 67 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Great, so it was down to /MEMR signal. So from the bottom this time:

The schematic has a small error in U50 - pin 6 should be tied to VCC, not GND. Originally on IBM this was connected to /RESET line but here appears unused.
As for U37 and U43 - I think it would be easiest to try and explain this mobo as a set of functional blocks. Now actually the IBM design makes a bit more sense here, so I'll go with it and then address the differences.

So there is the CPU - 8088, which is the 8-bit bus variant of 8086 that wasn't actually used much, even if technically it started the family tree. 8-bit bus is easier to manage on the PCB, especially in the XT days with all the '74 chips around, not a lot of integration so the signals have to go everywhere. And that in itself is also a problem, we tend to think of the busses as some sort of magical connection that "just works" - but there are imperfections of the technology used, the voltage swing is not actually reaching VCC in TTL systems, and doesn't go all the way to ground either. The more chip inputs you connect the worse the output performance that drives them.

The first issue is the 8088 CPU is NMOS tech and really bad at driving H level. Not at multi-MHz speeds anyway. And because Intel opted for standard 40-pin package that was popular, there aren't enough pins for both address and data lines, as well as other signals. So the CPU needs a few extra chips, at least one latch for the lower address byte (the '373), one bi-dir transciver capable of getting the data both in and out (the '245), and amplifiers for the high data lines ('244 or '373, since if you are latching the low byte, might as well latch everything if you can). All this, along with the clock generator and 8288, forms a "CPU block".

Then you have the mobo chips, interrupt controller, RAM, ROM, all the address and control decoding logic, etc. There's so many of them that you might actually need extra buffers - that's another batch of 373, 244 and 245 chips. A "mobo block" then.

And finally there's ISA, and since you insert various cards into the slots, you want the slots separated from the CPU bus as well. Both due to how many chips might be connected here if all slots are populated, and because a faulty card could kill an expensive mobo chip. With a buffer it'll most likely just damage the easy to source 74 chips. That would be "ISA block".

And then there is the cherry on top - the DMA can take over the whole system bus to transfer data between ISA, CPU and the mobo. This too has to be isolated by buffers/latches that can be tri-stated. So that when DMA is doing ISA to memory transfer, the CPU signals will not interfere. This is "DMA block", and is separate even though DMA controller is part of the mobo obviously.

So it's not always all signals in all directions but you have 20 address lines and 8 data lines and some control ones, that must be both amplified and switched between various blocks that might be in control of the busses at the time. With just '74 logic you end up with these loops as you called them. The signals aren't actually supposed to loop, but the copper has to be there to allow those inter-block connections. In this particular example you're probably missing some more connections to other buffer chips, so this looks like a perfect, but useless loop.

And as for differences to IBM, this mobo seems to have the BIOS ROM (and maybe some other things too) connected to the "ISA block" rather than "mobo block". This is fine, so long all the chips work.

Now, for the test: First, measure voltage on the CPU data pins - you should read all H. Then use a resistor to bring the data pins on the ISA slot to L (so, connect to GND) and check if the respective data pin on CPU also went L. Pay attention to the voltage levels, if you get a pin that's somehow different value than other ones (even if the state is correct), take a note of it.
If you get any problems on the CPU pins, then test the A side (pins 2-9) of the U58 instead to see which one of the '245 is causing problems.

Oh and check again that in this mobo state (with the resistors in the 8288 socket) the /OE (pin 22) on the BIOS ROM is L.

If everything seems to work then it could be a faulty CPU, 8288 or some glitch that only manifests at high swtiching speeds. That raises the difficulty bar but perhaps custom BIOS ROM tests will help find it.

Reply 68 of 139, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

There is also another aspect, the fan-out problem.
As the TTLs have quite low input resistance, they suck much current. And the TTL outputs can deliver only so much current until the signal gets out of the logic levels tolerances.
Thus the chips have defined fan-in and fan-outs.
Iirc a typical single inverter fan-in is 1.
But that varies depending on chip complexity and technology. Think of normal, LS, S, AS, ALS, ... There were/are also CMOS HC (usually unable to drive much TTL load) and HCT, where the T indicated TTL input level compatibility. The CMOS things had low fan-in, but other issues like capacitance.

The typical fan-out of non-driver chips is low, maybe 5-10. So the signals need to be buffered (244,245, 373, 374, in some cases open collector 07 etc, for example !RESET), else all the cards combined fan-in would quickly exceed the fan-out of the logic chips.

Reply 69 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
Deunan wrote:

Great, so it was down to /MEMR signal. So from the bottom this time:
The schematic has a small error in U50 - pin 6 should be tied to VCC, not GND. Originally on IBM this was connected to /RESET line but here appears unused.

Yup, you are right.

Deunan wrote:

Now, for the test: First, measure voltage on the CPU data pins - you should read all H.

Well not H at all… (resistors still in 8288 socket).

CPU#16 AD0 - 1,44V
CPU#15 AD1 - 1,30V
CPU#14 AD2 - 1,28V
CPU#13 AD3 - 1,30V
CPU#12 AD4 - 0,11V
CPU#11 AD5 - 1,41V
CPU#10 AD6 - 1,28V
CPU#9 AD7 - 1,32V

Hopefully I didn't broke anything because by mistake I probed resistance at AD0 (with power on) instead of Voltage 😒

Deunan wrote:

Then use a resistor to bring the data pins on the ISA slot to L (so, connect to GND) and check if the respective data pin on CPU also went L. Pay attention to the voltage levels, if you get a pin that's somehow different value than other ones (even if the state is correct), take a note of it.

Grounding A2-A9 ISA pins one by one didn't make any difference to corresponding CPU pins...

Deunan wrote:

If you get any problems on the CPU pins, then test the A side (pins 2-9) of the U58 instead to see which one of the '245 is causing problems.

How I'm supposed to test them? By grounding ISA Data pins and checking state of corresponding U58 pins?

Deunan wrote:

Oh and check again that in this mobo state (with the resistors in the 8288 socket) the /OE (pin 22) on the BIOS ROM is L.

It's L.

Deunan wrote:

If everything seems to work then it could be a faulty CPU, 8288 or some glitch that only manifests at high swtiching speeds. That raises the difficulty bar but perhaps custom BIOS ROM tests will help find it.

Thanks for explaining U37 and U43...

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 70 of 139, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

As easter approaches, I'd say in easteregg speak: it was already warm, now it is hot, verrryyyy hot 😀

I think you can see the egg yourself already... just look again 😀

Reply 71 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
retardware wrote:

As easter approaches, I'd say in easteregg speak: it was already warm, now it is hot, verrryyyy hot 😀

I think you can see the egg yourself already... just look again 😀

U23 '245?

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 73 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
retardware wrote:

AD4 looks unusual to me...
but honestly I didn't mentally reproduce the whole setup to say whether its U23 or U25...

Yeah… that and all of them supposed to be H according to Deunan and should switch to L when ISA pins are grounded… and that didn't happened. ISA Data pins are connected to CPU AD pins through U23 '245 which is socketed one...

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 74 of 139, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
HanJammer wrote:

... which is socketed one...

maybe there is some card lying around with a known-good '245 that you can use for testing?

Reply 75 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

The voltages you got are all wrong. Too low for H level.

First check that the resistors in 8288 socket are making good contact. Pins 4 and 7 should be reading close to 0V due to 100 ohm resistors pulling them down.
Then (with the reisistors still in place) measure voltage on all U23 pins. This way we'll know what goes in and out of this chip.

Measure all pins on U58 and U66 as well. Maybe we got ourselves a case of bus contention by not driving all control signals properly.

Reply 76 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
Deunan wrote:
The voltages you got are all wrong. Too low for H level. […]
Show full quote

The voltages you got are all wrong. Too low for H level.

First check that the resistors in 8288 socket are making good contact. Pins 4 and 7 should be reading close to 0V due to 100 ohm resistors pulling them down.
Then (with the reisistors still in place) measure voltage on all U23 pins. This way we'll know what goes in and out of this chip.

Measure all pins on U58 and U66 as well. Maybe we got ourselves a case of bus contention by not driving all control signals properly.

Resistors do good contact (8288 socket is a bit corroded, but nothing too serious and I removed and put back the 8288 several times from this socket to clean the contacts even before I opened this thread). Pins 4 and 7 of 8288 read close to 0V (around 0,1V maybe).

U23#1: 0,01V
U23#2: 1,39V
U23#3: 1,35V
U23#4: 1,40V
U23#5: 0,01V
U23#6: 1,31V
U23#7: 1,31V
U23#8: 1,31V
U23#9: 1,33V
U23#10: 0,01V
U23#11: 1,41V
U23#12: 1,39V
U23#13: 1,36V
U23#14: 1,37V
U23#15: 0,08V
U23#16: 1,41V
U23#17: 1,36V
U23#18: 1,31V
U23#19: 0,13V
U23#20: 4,7V

Those voltages (all but #20) go down slowly over time… and those L pins #5 #15 #19 slowy go up over time (again, all pins but #10 GND).

U58#1: 0,01V
U58#2: 1,40V
U58#3: 1,41V
U58#4: 1,41V
U58#5: 0,08V
U58#6: 1,41V
U58#7: 1,39V
U58#8: 1,40V
U58#9: 1,45V
U58#10: 0,01V
U58#11: 1,18V
U58#12: 1,16V
U58#13: 1,16V
U58#14: 1,12V
U58#15: 0,05V
U58#16: 1,11V
U58#17: 1,11V
U58#18: 1,07V
U58#19: 0,22V
U58#20: 4,75V

U66#1: 0,14V
U66#2: 1,42V
U66#3: 1,39V
U66#4: 1,41V
U66#5: 0,08V
U66#6: 1,41V
U66#7: 1,39V
U66#8: 1,40V
U66#9: 1,45V
U66#10: 0,02V
U66#11: 1,56V
U66#12: 1,57V
U66#13: 1,57V
U66#14: 1,58V
U66#15: 1,58V
U66#16: 1,60V
U66#17: 1,60V
U66#18: 1,58V
U66#19: 3,40V
U66#20: 4,75V

Unlike on U23 - those voltages don't seem to change over time.

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 77 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

Well, it has been many years since I've last dealt with LS chips to such extent that I would know/remember the exact input->output voltage function. It's possible the lousy output value is just a result of lousy input, and since this is bi-dir LS chip the internal resistors don't allow much current - to save power.

For now we can forget about U66, it's /G input is held high so it's tri-stated (as much as any TTL chip can be). No issues here.

U23 seems to work in the sense that what comes in, goes out. Same for U58, except why is pin 15 (B4) pretty much at L level when all other ones are sort of floating close to H. I want to investigate that.

First power down the mobo and measure resistance of all BIOS ROM socket data pins, both to ground and to +5V. To see if we don't have a short somewhere. Anything lower than 1k would be suspicious so if you find any such reading, stop and report back.

If there are no obvious shorts, power mobo and this time use 100 ohm resistor to connect BIOS socket pin 16, data bit 4, to +5V. See if that brings the pin level close to 4V. If you notice the resistor gets oddly warm or even hot, abort, that's a short.
Again assuming there is no short and the resistor did bring the pin to H level, check U58#5 and U23#5 voltage (or rather than checking U23 you can test directly DATA4 on CPU socket).

If it does seem to work, then also touch the U54 '373 chip with the resistor in place. Did it get hot or considerably warmer than other '373 chips?

Reply 78 of 139, by HanJammer

User metadata
Rank Oldbie
Rank
Oldbie
Deunan wrote:

U23 seems to work in the sense that what comes in, goes out. Same for U58, except why is pin 15 (B4) pretty much at L level when all other ones are sort of floating close to H. I want to investigate that.

First power down the mobo and measure resistance of all BIOS ROM sock1et data pins, both to ground and to +5V. To see if we don't have a short somewhere. Anything lower than 1k would be suspicious so if you find any such reading, stop and report back.

O0 vs GND: 5.98 MOhm
O1 vs GND: 5.98 MOhm
O2 vs GND: 5.95 MOhm
O3 vs GND: 5.94 MOhm
O4 vs GND: 5.98 MOhm
O5 vs GND: 5.99 MOhm
O6 vs GND: 5.93 MOhm
O7 vs GND: 5.85 MOhm

O0 vs +5V: 5.91 MOhm
O1 vs +5V: 5.90 MOhm
O2 vs +5V: 5.91 MOhm
O3 vs +5V: 5.90 MOhm
O4 vs +5V: 5.95 MOhm
O5 vs +5V: 5.96 MOhm
O6 vs +5V: 5.92 MOhm
O7 vs +5V: 5.84 MOhm

So no shorts...

Deunan wrote:

If there are no obvious shorts, power mobo and this time use 100 ohm resistor to connect BIOS socket pin 16, data bit 4, to +5V. See if that brings the pin level close to 4V. If you notice the resistor gets oddly warm or even hot, abort, that's a short.
Again assuming there is no short and the resistor did bring the pin to H level, check U58#5 and U23#5 voltage (or rather than checking U23 you can test directly DATA4 on CPU socket).

Pin was brough to +4,75V.
Resistor didn't got warm.
U58#5: 4,74V
U23#5: 3,80V

Deunan wrote:

If it does seem to work, then also touch the U54 '373 chip with the resistor in place. Did it get hot or considerably warmer than other '373 chips?

I left the power up for a few minutes. U54 '373 is maybe very slightly warmer than U24 and U25, but U58 was noticeably warmer than rest of the surrounding chips (but still warm like cat's nose, not like a kettle on a stove 😉.

New items (October/November 2022) -> My Items for Sale
I8v8PGb.jpg

Reply 79 of 139, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

U58#5 went to 4.74V? That's pretty much VCC level, shouldn't be possible for a TTL chip, there's something wrong with U58 and that particular signal. Almost looks like it's somehow shorted internally on this particular data line.

OK, retry the test but with 1k resistor. Then also try all the other data pins and measure the voltage. It should be close to 4V but not really anywhere this high. How are your soldering skills, you think you'd be able to replace this chip with a socket? It might be less difficult if you just gently cut the chip out and remove the leftover pins one by one.

For now do the test and I'll see if I can find a diagram of the internal structure for the LS 245. BTW if you would plan on replacing it, and LS was hard to find, then a HCT series would be a good modern substitute.