VOGONS


Early P5 + P54C (Socket 4 + Socket 5) mainboard

Topic actions

Reply 140 of 283, by LocalBus

User metadata
Rank Member
Rank
Member
snufkin wrote on 2022-02-05, 23:30:

Erm, just been looking at that bodge and something's odd. You said that pin 8 went to IRQ 14? It looks like pin 9 has a bodge wire that goes to a via, which also connects to IRQ 14 of the 822. Which would mean that 8 and 9 are shorted together, which with a NOT gate is a bad thing. The PCB trace under the blob o' gunk looks like it might be burnt. I'm suspicious now about that. Can you remove the gunk and give it a closer look? I'm not convinced that pin 8 should connect to that trace at all. I wonder if they found they needed to add a pull down to the IRQ line and this bodge (resistor from pin 7 to 9, wire link from 9 to via) was the easiest way. Maybe pin 8 isn't supposed to be connected to anything.

Correct, pin 8 goes straight to IRQ 14 on 82C206.

The "burnt" trace goes to IRQ 14 on the ISA slots as well as to the 82C822 through the via. Then the "bodge wire" connects with pin 9, which is the inverter input to pin 8.

The "burnt" trace goes awfully close to pin 8 (which have an excessive amount of solder on it) but I don't think they are shorted.

Edit: Hmm ISA slot pin D7 IRQ 14 goes to pin 8 on the 7406N and thus is directly connected to IRQ 14 on 82C206. So pin 9 on 82C822 should only go to pin 9.

Pin 8 and pin 9 on 7406N does not read short, so the "burnt" trace is indeed burnt. Question is if it should? This is a proper bodge job.

I will compare and see how e.g. IRQ 15 is routed from the 82C822 to the ISA slots and 82C206 respectively (as a reference).

Yes I will use the hot air station to heat up the glue and remove it, then we can see better what is going on underneath 😀

Last edited by LocalBus on 2022-02-06, 11:05. Edited 2 times in total.

Reply 141 of 283, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie
rasz_pl wrote on 2022-02-05, 18:58:
While technically correct, same could be said about out 0x80,al :) its also provides short IO delay ;-) Not buying it considerin […]
Show full quote
Chkcpu wrote on 2022-02-05, 17:46:

Behind each OUT 0E1h, AX instruction is says: Short I/O delay and I have no reason to think it means anything else. 😉

While technically correct, same could be said about out 0x80,al 😀 its also provides short IO delay 😉
Not buying it considering this instruction is present after critical operations and often strategically outputs both index/data or function/data combo of called procedure as in my examples above. I looked at another Award bios from 486 era and it also pushed a ton of useful debug data into 0xE1. Maybe Award used their own custom 0xE1 POST card when debugging new bios ports, and didnt bother removing that code.
If you wanted delay youd use nop , xchg BX, BX or jz $+2 like here:

FE98A read_CMOS       proc near
xchg bx, bx
out 70h, al ; CMOS Memory:
jcxz short $+2
jcxz short $+2
xchg bx, bx
in al, 71h ; CMOS Memory
jcxz short $+2
jcxz short $+2
retn
read_CMOS endp

Thank you for the listing! Sweet comments all over the place.

Hi rasz_pl,

You have a good point there.
Looking into this OUT 0E1h, AX instruction comment a bit further, I found that it is not the disassembler that thinks it an I/O delay.
Sourcer also uses a hardware comments override file where you can put-in your own comments for Interrupts and I/O instructions. Guess what, I found the "Short I/O delay" comment override right there. I must have put it in myself, about 15 years ago when I checked the file's date stamp. I completely forgot about that! 😉

So I think you are right, Award probably used port 0E1h as a BIOS Debug port. 😀

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 142 of 283, by Chkcpu

User metadata
Rank Oldbie
Rank
Oldbie
rasz_pl wrote on 2022-02-05, 22:02:
http://www.bioscentral.com/misc/cmosmap.htm […]
Show full quote
snufkin wrote on 2022-02-05, 20:51:
Disclaimer: It is entirely possible that I may have had a beer or two and that I mistakenly start to think I understand some of […]
Show full quote

Disclaimer: It is entirely possible that I may have had a beer or two and that I mistakenly start to think I understand some of this stuff. So apologies if this is nonsense.

But this snippet from POST B:

F000:0880			locloop_121:					;  xref F000:0889
F000:0880 B0 8A mov AL, 8Ah
F000:0882 E8 E105 call Read_CMOS ; (E98A)
F000:0885 A8 80 test AL, 80h
F000:0887 74 04 jz short loc_122 ; Jump if zero
F000:0889 E2 F5 loop locloop_121 ; Loop if cx > 0

looks like a possible halt point. Is this the bit that's checking the UIP bit of the CMOS, and if bit 7 never goes low then it'll be stuck looping? So if the 206 is dead and the bus happens to float high then 0B is where it stays? If so, can the 'jump if zero' be changed to a 'jump', just to see if it makes any progress.

I haven't checked to see if there are any earlier possible halt points, or later to see if there are any other halt points in 0B.

http://www.bioscentral.com/misc/cmosmap.htm

0Ah 10 1 byte Status Register A
Bit 7 = Update in progress (0 = Date and time can be read, 1 = Time update in progress)

yep, it thinks 206 is busy. Now we know 206 is either:
-kept in low power mode
-dead
-Chipset is not sending AS to 206
"AS 71 74 I Address Strobe: An active high input which is pulsed by the System
Controller when the CPU accesses the real-time clock or CMOS
RAM of the 82C206. The falling edge of this pulse latches the
address from the 🤣 bus."

Luckily, there is an escape from this loop. The loop instruction only takes the loop when the value in CX is not zero.

F000:087E  33 C9				xor	CX, CX			; Zero register

F000:0880 locloop_121: ; xref F000:0889
F000:0880 B0 8A mov AL, 8Ah
F000:0882 E8 E105 call Read_CMOS ; (E98A)
F000:0885 A8 80 test AL, 80h
F000:0887 74 04 jz short loc_122 ; Jump if zero
F000:0889 E2 F5 loop locloop_121 ; Loop if cx > 0

F000:088B EB 49 jmp short loc_130 ; (08D6)

Before this RTC UIP check, the CX register in cleared. The loop instruction decrements CX by 1, than checks if the result is zero and takes the loop if not.
Because CX is a 16-bit register, the loop will be executed a maximum of 65536 times before the CPU procedes to the next instruction after the loop.
So a UIP bit stuck high should not cause a hang here. 😉

Jan

CPU Identification utility
The Unofficial K6-2+ / K6-III+ page

Reply 143 of 283, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

So that sounds like something's wrong. Shouldn't have both pin 8 and 9 connected to IRQ14. Connecting the output of a NOT gate directly to its own input will either cause oscillation (up in the MHz region) or it'll end up sitting somewhere between Vdd and Ground, probably drawing a lot of current and maybe causing anything using it as an input (822 and 206) to also draw a lot of current.

Does IRQ14 on the 206 connect to IRQ14 on the 822?

I think it's possible that that particular in/out (pin 8&9) on the 7406 wasn't being used, so pin 8 shouldn't connect to anything. Then they just used pin 9 as a convenient and easy place to solder the bodge pull down on to. If the IRQ14 isn't connected between the 206 and 822 then I think somehow pin 8 and 9 of the 7406 shorted, which burnt out the trace between them, which would split the IRQ14 net.

Reply 144 of 283, by LocalBus

User metadata
Rank Member
Rank
Member
snufkin wrote on 2022-02-06, 11:03:

So that sounds like something's wrong. Shouldn't have both pin 8 and 9 connected to IRQ14. Connecting the output of a NOT gate directly to its own input will either cause oscillation (up in the MHz region) or it'll end up sitting somewhere between Vdd and Ground, probably drawing a lot of current and maybe causing anything using it as an input (822 and 206) to also draw a lot of current.

Does IRQ14 on the 206 connect to IRQ14 on the 822?

I think it's possible that that particular in/out (pin 8&9) on the 7406 wasn't being used, so pin 8 shouldn't connect to anything. Then they just used pin 9 as a convenient and easy place to solder the bodge pull down on to. If the IRQ14 isn't connected between the 206 and 822 then I think somehow pin 8 and 9 of the 7406 shorted, which burnt out the trace between them, which would split the IRQ14 net.

Yes I agree. I find it hard to believe that they left it from the factory with a burnt trace (or a design that would burn it on first power up). The quest continues!

The gunk will be removed along with the jumper wire from the via (going to 82C822) to pin 9 on the 7406.

As a next step I will remove the pull-down resistor.

Very strange this is 🤔

Reply 145 of 283, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie
Chkcpu wrote on 2022-02-06, 10:32:
Luckily, there is an escape from this loop. The loop instruction only takes the loop when the value in CX is not zero. […]
Show full quote

Luckily, there is an escape from this loop. The loop instruction only takes the loop when the value in CX is not zero.

F000:087E  33 C9				xor	CX, CX			; Zero register

F000:0880 locloop_121: ; xref F000:0889
F000:0880 B0 8A mov AL, 8Ah
F000:0882 E8 E105 call Read_CMOS ; (E98A)
F000:0885 A8 80 test AL, 80h
F000:0887 74 04 jz short loc_122 ; Jump if zero
F000:0889 E2 F5 loop locloop_121 ; Loop if cx > 0

F000:088B EB 49 jmp short loc_130 ; (08D6)

Before this RTC UIP check, the CX register in cleared. The loop instruction decrements CX by 1, than checks if the result is zero and takes the loop if not.
Because CX is a 16-bit register, the loop will be executed a maximum of 65536 times before the CPU procedes to the next instruction after the loop.
So a UIP bit stuck high should not cause a hang here. 😉

Jan

Thanks for the explanation, that makes sense. So the two inner loops (locloop_121 and 127) both drop out to loc_130 if CX gets to 0, and the bigger loop (from loc_120 to loc_129) exits to loc_130 when SI gets to the end of the POST_B header stuff (default settings?). So as long as the CPU is working, does that mean the halt must be somewhere after loc_130?

LocalBus wrote on 2022-02-06, 11:13:
Yes I agree. I find it hard to believe that they left it from the factory with a burnt trace (or a design that would burn it on […]
Show full quote

Yes I agree. I find it hard to believe that they left it from the factory with a burnt trace (or a design that would burn it on first power up). The quest continues!

The gunk will be removed along with the jumper wire from the via (going to 82C822) to pin 9 on the 7406.

As a next step I will remove the pull-down resistor.

Very strange this is 🤔

Maybe leave the jumper wire for the moment. First thing is to try and see whether it looks like pin 8 should be connected to anything or not. At the moment I think it's not designed to, but has ended up touching something it shouldn't.

Reply 146 of 283, by LocalBus

User metadata
Rank Member
Rank
Member

The cut trace looks deliberate (not burnt). It is indeed making contact with pin 8, questionable if it should - but probably - otherwise how would the 82C822 talk on IRQ 14 channel? But maybe start in that end and see what happens?

The attachment 20220206_150304.jpg is no longer available
The attachment 20220206_150314.jpg is no longer available
The attachment 20220206_150327.jpg is no longer available

On the top side pin 8 goes nowhere.

The attachment 20220206_151710.jpg is no longer available
The attachment 20220206_151717.jpg is no longer available

Reply 147 of 283, by rasz_pl

User metadata
Rank l33t
Rank
l33t

So I tried to be clever and use an emulator. 86Box is able to boot AWARD_ISA_PCI_586_non_PNP_SN_013870745_1994 bios if you rename it to \roms\machines\p54sp4\SI5I0204.AWD and pretend that its an SiS 85C501/502/503 ASUS PCI/I-P54SP4.
Sadly there is no debug functionality build in other than POST reader, you cant even slow down/set custom speed of the emulated system 🙁 The idea is to emulate broken 206 and see if it hangs in same way.

edit: setting up build env and compiling 86Box was a breeze, now to figure out whats going on inside and to modify away.

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor

Reply 148 of 283, by LocalBus

User metadata
Rank Member
Rank
Member

This FLIR camera has soon paid for itself (at least in time), something lit up as a sun next to the CPU and voila, shorted capacitor!

The attachment 20220206_171603.jpg is no longer available

Impressive that it reaches as far as it does in the boot-up procedure. I wonder which parts of the board this shorted cap is disturbing. But it must come off!

Found another DMM with hFE feature and the removed PNP BJT reads a hFE value of 245.

Last edited by LocalBus on 2022-02-06, 16:35. Edited 2 times in total.

Reply 149 of 283, by LocalBus

User metadata
Rank Member
Rank
Member
rasz_pl wrote on 2022-02-06, 14:33:

So I tried to be clever and use an emulator. 86Box is able to boot AWARD_ISA_PCI_586_non_PNP_SN_013870745_1994 bios if you rename it to \roms\machines\p54sp4\SI5I0204.AWD and pretend that its an SiS 85C501/502/503 ASUS PCI/I-P54SP4.
Sadly there is no debug functionality build in other than POST reader, you cant even slow down/set custom speed of the emulated system 🙁 The idea is to emulate broken 206 and see if it hangs in same way.

edit: setting up build env and compiling 86Box was a breeze, now to figure out whats going on inside and to modify away.

Cool! I had no idea you could load custom BIOS ROMs in x86 emulators. Well that is yet another proof that the BIOS ROM is just fine 🙂

Reply 150 of 283, by rasz_pl

User metadata
Rank l33t
Rank
l33t

Modified 86Box to break RTC always returning 0 or 0xff. POST_7 freeze.
Finally read POST_7 carefully and it indeed http://mrbios.com/techsupport/award/postcodes.htm

07 Test CMOS Interface and battery status. Detects bad battery. BE and Chipset Default Initialisation. Program chipset registers with power-on BIOS defaults.

tests CMOS by writing all 1 bit combinations to offset 0x0F, reading it back and if something is wrong ending up in eternal loop, BP holds current POST test number

loc_F01D1:
cli
mov ax, bp
mov dx, 80h ; 'Ç'
out dx, al ; manufacture's diagnostic checkpoint
jmp short loc_F01D1

ergo 86c206 must be working after all. Its cold because its a very basic chip with not much logic in it. Gonna move to reading POST_B now.

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor

Reply 151 of 283, by LocalBus

User metadata
Rank Member
Rank
Member

Removed the ceramic capacitor (C23), next component to light up is the SMD resistor reading 330 so 33 ohms? I guess that could actually generate some heat though?

The attachment 20220206_192315.jpg is no longer available

Looks more like it is the SMD resistor reading 151. Seems related with keylock.

The attachment FLIR_20220206_074033.jpg is no longer available
The attachment 20220206_194133.jpg is no longer available

Reply 152 of 283, by LocalBus

User metadata
Rank Member
Rank
Member

Ok now I am really confused 😕

With the mainboard AT connector attached (the half with power good lead) the pads where C23 used to sit reads a short 0 ohm in resistance mode and 0.015V voltage drop in diode mode.

With the AT connector removed it reads sane values, like 2.45 kOhm and 0.6V or 0.252V voltage drop in diode mode (depending on polarity).

Of course with the PSU offline.

The attachment 20220206_203918.jpg is no longer available
The attachment 20220206_203935.jpg is no longer available

I couldn't understand why I measured no short after removing the cap, only to come back to a short reading with the board assembled?!

Reply 153 of 283, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

Slightly random collections of thoughts. Agree that that trace looks cut and not burnt. So they deliberately modded the board to disconnect the IRQ14 output from the 822 to the input on the 206. I guess they had some polarity thing that found they needed to fix. Not sure, but I think they way they've done it might disable the 822 from triggering IRQ14 (there's supposed to be some way for it to allow PCI cards to trigger ISA IRQ14). It has an 'open drain' output which can only pull a line low and would need an external resistor pulling it high. But it connects to pin 9 on the 7406, which has a pull down resistor on it. So the line is either pulled low by that resistor, or by the output of the 822. But I can't see anything that can ever pull that pin 9 high. Probably not actually important though.

The output on pin 8 is 'open collector' (same deal as open drain, can only actively drive a line low). Since the input on pin 9 is always low (I think), then the output on pin 8 is effectively disconnected from the IRQ14 net. So the ISA slots can signal the 206 however they would normally.

So I think that's all fine.

Keylock pin 1&3 are the power LED outputs (no idea why, but that was standard). So the 150 ohm resistor will be the current limit for that. I assume the via between the 150 ohm and 33 ohm resistor goes to +5?
But things are a bit odd their because if the 150 ohm resistor is the current limit for a power LED, then there should be no current flowing through it until you connect an LED to the header. So why's it heating up? Also, I don't understand why there's what looks like a 150 ohm (it's probably not a 1.1MOhm, but I can't actually tell which way up it should be) going to the speaker output. I would have guessed that the 33ohm resistor was the limiting resistor for the speaker output. Photo of back?

Maybe they're conducting heat up out of the board in that area?

Intermittent short suggests a dodgy connection somewhere. The capacitor will be between ground and one of the voltage supplies (5V maybe, for the PI5C switches?). So measuring short across that component just tells you there was a short somewhere on the board between those two things. It doesn't necessarily mean the capacitor was short (try measuring it out of circuit). Tracking shorts can be a pain because you can know where it is until you fix the problem. FLIR cam may help here though.

Actually, might be worth checking on your PSU what the resistance measures as between +5 and Gnd (with the PSU off). Maybe it's just that it measures short when it's off, and this isn't a problem.

Just a thought on the FLIR photo. You can see from the board mounting holes that the IR map isn't aligned with the visual. You can see the purple of the corner hole, and the purple of the ground ring around the mounting hole. Also the yellow streaks should line up with the diodes I think. So you have to imagine moving the colours sideways a bit. So I think the hot spots might be the 33 ohm and 510 (?) ohm resistors. which probably depends on whatever that trace is that comes in between them is doing. How hot are the colours in the FLIR? Can you feel anything getting warm with a finger?

Reply 154 of 283, by LocalBus

User metadata
Rank Member
Rank
Member
snufkin wrote on 2022-02-07, 00:26:
Slightly random collections of thoughts. Agree that that trace looks cut and not burnt. So they deliberately modded the board […]
Show full quote

Slightly random collections of thoughts. Agree that that trace looks cut and not burnt. So they deliberately modded the board to disconnect the IRQ14 output from the 822 to the input on the 206. I guess they had some polarity thing that found they needed to fix. Not sure, but I think they way they've done it might disable the 822 from triggering IRQ14 (there's supposed to be some way for it to allow PCI cards to trigger ISA IRQ14). It has an 'open drain' output which can only pull a line low and would need an external resistor pulling it high. But it connects to pin 9 on the 7406, which has a pull down resistor on it. So the line is either pulled low by that resistor, or by the output of the 822. But I can't see anything that can ever pull that pin 9 high. Probably not actually important though.

The output on pin 8 is 'open collector' (same deal as open drain, can only actively drive a line low). Since the input on pin 9 is always low (I think), then the output on pin 8 is effectively disconnected from the IRQ14 net. So the ISA slots can signal the 206 however they would normally.

So I think that's all fine.

Keylock pin 1&3 are the power LED outputs (no idea why, but that was standard). So the 150 ohm resistor will be the current limit for that. I assume the via between the 150 ohm and 33 ohm resistor goes to +5?
But things are a bit odd their because if the 150 ohm resistor is the current limit for a power LED, then there should be no current flowing through it until you connect an LED to the header. So why's it heating up? Also, I don't understand why there's what looks like a 150 ohm (it's probably not a 1.1MOhm, but I can't actually tell which way up it should be) going to the speaker output. I would have guessed that the 33ohm resistor was the limiting resistor for the speaker output. Photo of back?

Maybe they're conducting heat up out of the board in that area?

Intermittent short suggests a dodgy connection somewhere. The capacitor will be between ground and one of the voltage supplies (5V maybe, for the PI5C switches?). So measuring short across that component just tells you there was a short somewhere on the board between those two things. It doesn't necessarily mean the capacitor was short (try measuring it out of circuit). Tracking shorts can be a pain because you can know where it is until you fix the problem. FLIR cam may help here though.

Actually, might be worth checking on your PSU what the resistance measures as between +5 and Gnd (with the PSU off). Maybe it's just that it measures short when it's off, and this isn't a problem.

Just a thought on the FLIR photo. You can see from the board mounting holes that the IR map isn't aligned with the visual. You can see the purple of the corner hole, and the purple of the ground ring around the mounting hole. Also the yellow streaks should line up with the diodes I think. So you have to imagine moving the colours sideways a bit. So I think the hot spots might be the 33 ohm and 510 (?) ohm resistors. which probably depends on whatever that trace is that comes in between them is doing. How hot are the colours in the FLIR? Can you feel anything getting warm with a finger?

Yes the IRQ net I hope is OK and I think the reasoning we had so far about it holds up.

Regarding the resistors adjacent to the panel headers, they are reading: 151 ohm, 33 ohm and 510 ohm (upside down so it is not 115 but 511 rather 😉 ).

The via you mentioned is going to +5V Vcc yes.

So why are the resistors heating up if there is no current sink?

I did measure the resistance and diode mode readings on the PSU between GND and 5V rails and it confirms the readings on the board, so I guess the PSU is OK.

The capacitor reads open so it goes back on the board 😀

The key question is to figure out why these resistors light up as the sun? I will feel with my finger but the heat scale is like 50 °C when it is white, and this lights up instantly when turning on power so I should be able to feel it.

I agree with the misalignment in the FLIR picture, will try to calibrate it some more.

A picture of the backside of this area:

The attachment 20220207_111310.jpg is no longer available

Reply 155 of 283, by LocalBus

User metadata
Rank Member
Rank
Member

Confirmed, it is definitely the 33 0hm resistor getting hot 🔥 Unpleasant for the finger hot.

The attachment FLIR_20220207_015100.jpg is no longer available

Now the trace that disappears to the other side of the board (connecting to the 33 ohm resistor opposite to Vcc) is my culprit.

Huge voltage drop from 5v to 1.6V over that 33 ohm resistor.

Reply 156 of 283, by snufkin

User metadata
Rank Oldbie
Rank
Oldbie

[wrote most of this before reading your last post, and I'm too lazy to edit it to acknowledge that you've already found what I think is a problem trace]

So, just to confirm, the output from the PSU measures short when it's off, so any readings on the board need to be taken with the PSU disconnected?

A way for the resistors to light up is if the trace coming in between the 33 ohm and 510 ohm is being driven low. Current (150mA or so) will then flow from the +5V via, through the 33 ohm resistor and off to wherever that trace goes. Heat from that resistor might conduct along the short traces to the other resistors. If that's right, and that trace is being held permanently low, then the 33 ohm resistors is burning around 0.75W (150mA * 5V), which'll be way more than it's rated for.

If you've got an LED to hand, try sticking it across pin 1&3 of keylock, that should be a power LED, so turns on whenever the PSU is on.

That speaker drive area confuses me. Pin 4 of the speaker header should +5V. Pin 2&3 probably Ground. Pin 1 should normally read 5V, so no current flows. To make the speaker beep, pin 1 should be toggled back and forth very quickly. Often that's handled by merging two signals. An output from a timer chip (in this case, probably in the 206) provides a permanent audio frequency, which is then gated in some way with an 'on or off' speaker data output from the chipset (maybe the 571?). But if that trace between 33 and 510 is the speaker signal, why go through a 510 ohm resistor before the speaker? That'd make the (often) 8 ohm speaker pretty quiet. And what's the 33 ohm resistor doing? It looks like it's just pulling that line strongly to +5. I would have expected to see a 33 ohm resistor where the 510 is, and nothing where the 33 is (maybe a weaker pull up). I struggle to believe a pick-and-place accidentally swapped the two resistors around and it wasn't picked up.

Just looked at the 206 datasheet and it explicitly gives the speaker pins. Pin 16 is a Gate input from somewhere else that turns a frequency output on pin 13 (Out2) on or off. So maybe pin 16 is driven from somewhere on the 571 and pin 13 goes round to that trace between the 33 and 510 ohm resistors? If pins 13&16 are connected on the 206, they go under it so I don't know where they go. And the output probably goes via a buffer chip of some sort. The datasheet doesn't give the current handling capability of the 206, but it's not going to handle 150mA if it tried to pull the speaker low directly.

It may be that this is another sign of a problem with the 206. Might be worth measuring resistance of that trace to ground, and if it's not ground, trying to trace what it connects to. If it is shorted to ground then working out where it goes will mean having to visually trace it. Looks like it start off running up the board edge and then turns under the BIOS, which is where I lose it. It's unlikely to connect directly to the 206 (check anyway) but more likely one of the discrete logic chips between the ISA slots.

[just read your post. 1.6V? What kind of a daft voltage is that. Hmm. So (5-1.6)/33 = 100mA. 1.6volt/0.1amps = 16ohm. So maybe 16 ohms to ground? Could be combination of trace length and input resistance of whatever is driving that line.]

Reply 157 of 283, by LocalBus

User metadata
Rank Member
Rank
Member
snufkin wrote on 2022-02-07, 13:12:
So, just to confirm, the output from the PSU measures short when it's off, so any readings on the board need to be taken with th […]
Show full quote

So, just to confirm, the output from the PSU measures short when it's off, so any readings on the board need to be taken with the PSU disconnected?

That speaker drive area confuses me. Pin 4 of the speaker header should +5V. Pin 2&3 probably Ground. Pin 1 should normally read 5V, so no current flows. To make the speaker beep, pin 1 should be toggled back and forth very quickly. Often that's handled by merging two signals. An output from a timer chip (in this case, probably in the 206) provides a permanent audio frequency, which is then gated in some way with an 'on or off' speaker data output from the chipset (maybe the 571?). But if that trace between 33 and 510 is the speaker signal, why go through a 510 ohm resistor before the speaker? That'd make the (often) 8 ohm speaker pretty quiet. And what's the 33 ohm resistor doing? It looks like it's just pulling that line strongly to +5. I would have expected to see a 33 ohm resistor where the 510 is, and nothing where the 33 is (maybe a weaker pull up). I struggle to believe a pick-and-place accidentally swapped the two resistors around and it wasn't picked up.

Just looked at the 206 datasheet and it explicitly gives the speaker pins. Pin 16 is a Gate input from somewhere else that turns a frequency output on pin 13 (Out2) on or off. So maybe pin 16 is driven from somewhere on the 571 and pin 13 goes round to that trace between the 33 and 510 ohm resistors? If pins 13&16 are connected on the 206, they go under it so I don't know where they go. And the output probably goes via a buffer chip of some sort. The datasheet doesn't give the current handling capability of the 206, but it's not going to handle 150mA if it tried to pull the speaker low directly.

It may be that this is another sign of a problem with the 206. Might be worth measuring resistance of that trace to ground, and if it's not ground, trying to trace what it connects to. If it is shorted to ground then working out where it goes will mean having to visually trace it. Looks like it start off running up the board edge and then turns under the BIOS, which is where I lose it. It's unlikely to connect directly to the 206 (check anyway) but more likely one of the discrete logic chips between the ISA slots.

Thanks.

I did some additional tracing and found that the trace between the 33 and 510 ohm resistors goes to a 7407N buffer (output pin) - I have not yet managed to find where the corresponding input goes - not from pin 13 or pin 16 on the 206 at least.

Regarding what happens when measuring the resistance between various decoupling capacitors when the PSU is connected (offline), then so far it is only on C23 I get these strange results. EDIT: See below (I found it all over the place on the Vcc 5V rail).

Resistance to GND is close to 2kOhms on the C23 (positive pad) when the PSU is disconnected. When connected it is 16 ohms.

Same goes for the Vcc pad going in to the 33 ohm resistor. Close to 2kOhms when PSU is disconected. When connected it is 16 ohms.

Other places where I measure resistance from the Vcc pin to GND is ~350 ohms (regardless of PSU connected / disconnected) .

EDIT: Ok I am an idiot, the 350 ohms reading is from the 3.3V circuit.

Found some more decouplings that behave in the same way around the chipset decoupling, so probably OK.

Regarding the burning 33 ohm resistor, probably this pin should be driven high then (under normal circumstances) to not have it burn up when the PC speaker is silent... so this could be yet another sign of the 82C206 gone bad. I found a replacement part on fleabay, but it will take a couple of weeks for it to arrive at my doorstep. I hope the "82C206F" works as well?

The PC speaker beeps I have got so far have been quite silent yes, but I though that was attributed to its tiny size. Now knowing that there is 510 ohm blocking it, I can understand it.

I am tempted to desolder the 33 ohm resistor just to see what happens (more than lack of PC speaker).

I can also test to remove Vcc from the 82C206 and see if PC speaker goes silent?

The ATX-to-AT adapter will show up this week so I will try with a fresh ATX PSU, doubtful it will make any difference - but I will at least give it a shot. Along with some new electrolytic caps.

Another thought about the inverting IRQ circuit between 82C822 and the IRQ net. I have only found that IRQ 14 and 15 are connected this way, but shouldn't then also IRQ 15 have a pull-down resistor? (Same as IRQ 14).

Speaker pin 1 reads 1.6V.

Power LED OK:

The attachment 20220207_181414.jpg is no longer available
Last edited by LocalBus on 2022-02-07, 17:40. Edited 1 time in total.

Reply 158 of 283, by LocalBus

User metadata
Rank Member
Rank
Member

Just tested, PC speaker works without any Vcc to the 82C206.

But that burning 33 0hm resistor cannot be a good thing 🔥

So a normal PC speaker circuit would have these resistors in reverse then? Which order of them would put a higher load on the 7407N ?

Reply 159 of 283, by rasz_pl

User metadata
Rank l33t
Rank
l33t
LocalBus wrote on 2022-02-07, 15:48:

Regarding what happens when measuring the resistance between various decoupling capacitors when the PSU is connected (offline), then so far it is only on C23 I get these strange results.

Resistance to GND is close to 2kOhms on the C23 (positive pad) when the PSU is disconnected. When connected it is 16 ohms.
Same goes for the Vcc pad going in to the 33 ohm resistor. Close to 2kOhms when PSU is disconected. When connected it is 16 ohms.

SMPS power supplies need some load to regulate properly (or modern sophisticated control logic)
16 ohms at 5V is barely 1.5W - your Supply might simply have a load resistor inside to ensure proper output.

LocalBus wrote on 2022-02-07, 15:48:

Other places where I measure resistance from the Vcc pin to GND is ~350 ohms (regardless of PSU connected / disconnected) .

which Vcc? same 5V? 12V? there are multiple power rails on the board

LocalBus wrote on 2022-02-07, 15:48:

Regarding the burning 33 ohm resistor, probably this pin should be driven high then (under normal circumstances) to not have it burn up when the PC speaker is silent... so this could be yet another sign of the 82C206 gone bad.

206 doesnt drive speaker directly, 82C206 OUT2 should to to the chipset, and then a dedicated speaker pin on the chipset drives a discrete logic/transistor

LocalBus wrote on 2022-02-07, 15:48:

I found a replacement part on fleabay, but it will take a couple of weeks for it to arrive at my doorstep. I hope the "82C206F" works as well?

Im not so sure about 206 being bad anymore 😀

now verified this BIOS POST codes match "Late Award BIOS (4-5x PnP)" http://mrbios.com/techsupport/award/postcodes.htm exactly despite this apparently not being PnP bios?
screwing RTC was hanging POST_7

"Verifies CMOS's basic R/W functionality"

means POST_B is
1.Verify the RTC time is valid or not checked, not it. Just resets date if corrupted.
2.Detect bad battery
3.Read CMOS data into BIOS stack area
4.PnP initializations including (PnP BIOS only)
Assign CSN to PnP ISA card
Create resource map from ESCD
5.Assign IO & Memory for PCI devices (PCI BIOS only)

thats a lot of stuff under one post code to go bad 🙁 will experiment with breaking them now one by one

https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor