VOGONS


Reply 20 of 42, by ediflorianUS

User metadata
Rank Member
Rank
Member

that may be written in bios like that , best to use working cache chips +settings.(set to 1024kb). and disable write back/trough from bios , better yet disable evrything , install os then enable one-by-one.

L.E. Btw that's not cache memory , thats ram.... it's main ram from MB . old style boards had up to 1 mb onboard , and rest is extended/expanded. *my toshiba has same 1mb during boot , and then can use up to 5mb under dos.

My 80486-S i66 Project

Reply 21 of 42, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie

I only just noticed, does this BIOS say SIS 85C471 durig boot? In the ID string? And that is an ALI chipset mobo? Are you sure that is the correct BIOS for this mobo because it really doesn't seem like it.

Reply 22 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++
Deunan wrote on 2023-06-15, 17:56:

I only just noticed, does this BIOS say SIS 85C471 durig boot? In the ID string? And that is an ALI chipset mobo? Are you sure that is the correct BIOS for this mobo because it really doesn't seem like it.

Holy shit, that kind of explains everything..

Time to break out the TL866 and wite a new EPROM..

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 23 of 42, by mkarcher

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-06-15, 13:56:
mkarcher wrote on 2023-06-14, 22:40:

It's not super reliable, but just checking the voltage at pin 3 using a multimeter can give some hints. The clock needs to be high some times, and low at other times. In TTL logic, "high" is typically around 3.5 to 4.0 Volts, and "low" is around 0.2 to 0.4 Volts. A valid clock signal thus shold measure around 1.6 to 2.0 volts for TTL levels, or around 2.5 volts for CMOS levels, which is definitely between "clearly low" and "cleary high". If I read 1.5 to 2.2 Volts on a clock line, I expect it to be OK for a first assesment.

For Pin 3, with the KBC installed I get a 1.98-1.99V reading. Curiously, I get I measure 1.83V at the socket with no KBC installed. Is that normal, I wonder?

TTL inputs source a small amount of current (they pull the input higher). TTL outputs are bad at producing output voltages near 5V (that's why we consider everything above 2.0V to be a high logic level with TTL chips). Getting a slightly higher "high" level with an input that helps pulling the high level higher than without that input connected is normal.

appiah4 wrote on 2023-06-15, 13:56:

A question, should I be able to measurethe battery voltage on any pin of the KBC or BIOS EPROM or anyone else on the board for that matter when there is no mains power? Because I can't, even with the external battery (3V CR2035) connected.. Going by @Deunan 's schematic I should read the battery voltage at Pin 26 of the KBC (VDD) right? I get 4.88V with mains connected, 0V with it unplugged. Maybe it's not booting up because the battery circuit (battery damage was worst there) is an issue?

Battery voltage should only be connected to the RTC chip. Not the the KBC, not to the BIOS. On your board, the RTC is likely integrated into the ALi M1431.

Reply 24 of 42, by mkarcher

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-06-15, 14:47:

I checked the lanes from VDCC and PROG on the KBC and figured it was actually O+O- and when I connected it this way.

You should get battery negative to GND on the main board, and battery positive to the Vbat pin of the M1431. Trying to find battery voltage at the KBC seems strange, maybe your actual problem is that some power trace is interrupted, and now you are powering some chip that is supposed to be powered from +5V from the external battery? What do you mean by VDCC? Both Pin 40 (VCC) and Pin 26 (VDD) of the 8042 are NOT supposed to be connected to the battery. That pin is to be connected directly to the +5V plane of the mainboard. The same is true about pin 25 (PROG): "should be tied high if unused."

appiah4 wrote on 2023-06-15, 14:47:

Also, the 72-pin SIMM slots were labeled SIMM8 & SIMM7, so I assumed SIMM7 (below) was Bank 0.

Wrong!

I had to move the SIMM to SIMM7 for the board to POST:

The whole RAM/cache issues are likely gone as soon as you got the correct BIOS for the board. RAM/cache initialization strongly depends on the chipset. You still should check the battery connection stuff. Everything except +OO- is very unusual on PC mainboards, and using the O+O- configuration is likely a workaround to a problem that still exists, and might drain your battery quite fast.

Reply 25 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++
mkarcher wrote on 2023-06-15, 19:03:

The whole RAM/cache issues are likely gone as soon as you got the correct BIOS for the board. RAM/cache initialization strongly depends on the chipset. You still should check the battery connection stuff. Everything except +OO- is very unusual on PC mainboards, and using the O+O- configuration is likely a workaround to a problem that still exists, and might drain your battery quite fast.

Thank you for all the help. I managed to find a copy of this board's BIOS on TheRetroWeb and I think I have a few 256Kb EPROMs lying about. That will have to wait for some days, but hopefully it will be fixed.

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 26 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++
Deunan wrote on 2023-06-15, 17:56:

I only just noticed, does this BIOS say SIS 85C471 durig boot? In the ID string? And that is an ALI chipset mobo? Are you sure that is the correct BIOS for this mobo because it really doesn't seem like it.

Unbelievable. I logged on to VOGONS to post that I had given up and binned this board only to read this, and after an EPROM flash and swap, it works 99%!

rsz_img_20230616_213528.jpg
Filename
rsz_img_20230616_213528.jpg
File size
296.81 KiB
Views
755 views
File license
CC-BY-4.0

The remaining 1% is the Keyboard Error I still get, although the keyboard works fine. See me enter the BIOS:

rsz_img_20230616_213600.jpg
Filename
rsz_img_20230616_213600.jpg
File size
311.91 KiB
Views
755 views
File license
CC-BY-4.0

What could cause a Keyboard error yet a working keyboard? Perhaps this board doesn't like my PS2 keyboard through an AT adapter?

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 27 of 42, by mkarcher

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-06-16, 18:41:

What could cause a Keyboard error yet a working keyboard? Perhaps this board doesn't like my PS2 keyboard through an AT adapter?

PS/2 and AT is really just a different pinout. IBM shrunk both connectors when they added the second connector for the mouse. As long as your adapter isn't generally broken, it's not the source of your issue. As typing works, we can be sure that both the DATA and the CLK lines are connected. Also, +5V and GND also obviously work, because otherwise the keyboard wouldn't be powered at all.

As I already said, both DATA and CLK in the keyboard protocol are bidirectional. The AT keyboard protocol supports communication in both directions: The host can send commands to the keyboard. The keyboard can send command responses to the host and the keyboard can send information about the keys you pressed to the host. Obviously, the keyboard sending key codes to the host works. Key codes and command responses are sent the same way, so if one kind of communication from the keyboard to the host works, the other one works, too. This leaves communication from the host to the keyboard as the final unknown. When you boot up the machine, the BIOS instructs the keyboard controller to send a "reset" command to the keyboard, and expects to receive a "keyboard passed the keyboard POST" response. Also, the BIOS sends an "identify keyboard type" command (to find out whether it is an original AT 84-key keyboard or an enhanced 101/102-key keyboard), and expects a response to that command. Possibly, sending commands to the keyboard fails, and the BIOS notices that the keyboard doesn't respond to the commands it tries to send. The only issue I see with this theory is that non-working command transfer to the keyboard means that the "start sending key codes" command won't reach the keyboard. It's not impossible that your keyboard powers up with sending key codes enabled, though.

There is a quick way to test whether sending commands to the keyboard works: The indicator LEDs (NUM, CAPS, SCROLL) are host-controlled using the "set LEDs" command. If pressing NUM LOCK doesn't toggle the LED, I'm on to something. If sending command indeed doesn't work, the primary suspect are the traces from pins 37 and 38 of the KBC to the 7406 and the traces from the 7406 to pins 1 and 39 of the KBC, as well as the power supply pins of the 7406. The 7406 is only required to send stuff to the keyboard, but not to receive stuff from the keyboard.

Reply 28 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++
mkarcher wrote on 2023-06-16, 19:45:
PS/2 and AT is really just a different pinout. IBM shrunk both connectors when they added the second connector for the mouse. As […]
Show full quote
appiah4 wrote on 2023-06-16, 18:41:

What could cause a Keyboard error yet a working keyboard? Perhaps this board doesn't like my PS2 keyboard through an AT adapter?

PS/2 and AT is really just a different pinout. IBM shrunk both connectors when they added the second connector for the mouse. As long as your adapter isn't generally broken, it's not the source of your issue. As typing works, we can be sure that both the DATA and the CLK lines are connected. Also, +5V and GND also obviously work, because otherwise the keyboard wouldn't be powered at all.

As I already said, both DATA and CLK in the keyboard protocol are bidirectional. The AT keyboard protocol supports communication in both directions: The host can send commands to the keyboard. The keyboard can send command responses to the host and the keyboard can send information about the keys you pressed to the host. Obviously, the keyboard sending key codes to the host works. Key codes and command responses are sent the same way, so if one kind of communication from the keyboard to the host works, the other one works, too. This leaves communication from the host to the keyboard as the final unknown. When you boot up the machine, the BIOS instructs the keyboard controller to send a "reset" command to the keyboard, and expects to receive a "keyboard passed the keyboard POST" response. Also, the BIOS sends an "identify keyboard type" command (to find out whether it is an original AT 84-key keyboard or an enhanced 101/102-key keyboard), and expects a response to that command. Possibly, sending commands to the keyboard fails, and the BIOS notices that the keyboard doesn't respond to the commands it tries to send. The only issue I see with this theory is that non-working command transfer to the keyboard means that the "start sending key codes" command won't reach the keyboard. It's not impossible that your keyboard powers up with sending key codes enabled, though.

There is a quick way to test whether sending commands to the keyboard works: The indicator LEDs (NUM, CAPS, SCROLL) are host-controlled using the "set LEDs" command. If pressing NUM LOCK doesn't toggle the LED, I'm on to something. If sending command indeed doesn't work, the primary suspect are the traces from pins 37 and 38 of the KBC to the 7406 and the traces from the 7406 to pins 1 and 39 of the KBC, as well as the power supply pins of the 7406. The 7406 is only required to send stuff to the keyboard, but not to receive stuff from the keyboard.

Pressing the Num Lock or Caps Lock on the keyboard indeed results in no LED as you guessed.

Continuity check results:

8042-37 is connected to 7406-13 Input
7406-12 Output is connected to 8042-01
8042-01 is connected to AT Keyboard Pin-1 (KBDCLK)
(8042-37 is connected to KBDCLK through 1 inverted buffer)

8042-38 is connected to 7406-03 Input
7406-04 Output is connected to 7406-11 Input
7406-10 Output is connected to 8042-39
8042-39 is connected to AT Keyboard Pin-2 (KBDATA)
(8042-38 is connected to KBDATA through 2 inverted buffers)

7406-14 is connected to 5V

Seems right to me, based on the schematic you shared earlier?

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 29 of 42, by mkarcher

User metadata
Rank l33t
Rank
l33t
appiah4 wrote on 2023-07-02, 20:48:
Continuity check results: […]
Show full quote

Continuity check results:

8042-01 is connected to AT Keyboard Pin-1 (KBDCLK)
8042-39 is connected to 7406-10 Output
8042-39 is also connected to AT Keyboard Pin-2 (KBDATA)
8042-37 is connected to 7406-13 Input; 7406-12 Output is connected to 8042-01 (and thus to KBDCLK)
8042-38 is connected to 7406-03 Input; 7406-04 Output is NOT connected to AT Keyboard Pin-2 (KBDAT) which I THINK is the issue here
7406-14 is connected to 5V

My gut feeling is that

My gut feeling is that your post is truncated 😉

It's strange to see more than two inverters of the 7406 used on a board not supporting PS/2 mice. On a board with PS/2 support, KBC wiring is different, but as long as 8042-39 is connected to KBDATA, we can be sure that the board is meant to be used with an AT KBC, not a PS/2-compatible keyboard controller (which would have "mouse clock" on pin 39).

Maybe for timing reason, they used a chain of three or five inverters on KBDAT instead of a single inverter, or they used multiple inverters in parallel for increased drive strength. Nevertheless, the missing connection from (NOT 8042-38) to (8042-39) is perfectly able to explain the issue you are facing.

Reply 30 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++
mkarcher wrote on 2023-07-02, 21:35:
My gut feeling is that your post is truncated ;) […]
Show full quote
appiah4 wrote on 2023-07-02, 20:48:
Continuity check results: […]
Show full quote

Continuity check results:

8042-01 is connected to AT Keyboard Pin-1 (KBDCLK)
8042-39 is connected to 7406-10 Output
8042-39 is also connected to AT Keyboard Pin-2 (KBDATA)
8042-37 is connected to 7406-13 Input; 7406-12 Output is connected to 8042-01 (and thus to KBDCLK)
8042-38 is connected to 7406-03 Input; 7406-04 Output is NOT connected to AT Keyboard Pin-2 (KBDAT) which I THINK is the issue here
7406-14 is connected to 5V

My gut feeling is that

My gut feeling is that your post is truncated 😉

It's strange to see more than two inverters of the 7406 used on a board not supporting PS/2 mice. On a board with PS/2 support, KBC wiring is different, but as long as 8042-39 is connected to KBDATA, we can be sure that the board is meant to be used with an AT KBC, not a PS/2-compatible keyboard controller (which would have "mouse clock" on pin 39).

Maybe for timing reason, they used a chain of three or five inverters on KBDAT instead of a single inverter, or they used multiple inverters in parallel for increased drive strength. Nevertheless, the missing connection from (NOT 8042-38) to (8042-39) is perfectly able to explain the issue you are facing.

I was editing my post sorry can you check the updated post above? Apologies for the inconvenience but 38-39 are connected.

Some of these pins are also connected to a resistor array right beside the KBC socket. I can check which is connected to what leg as well, as that is the only thing I did not look at 😔

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 31 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++

Attached is a photo of my bodge repairs and the circuit schematic as far as I figured it out. It seems right wrt what we discussed so far so I don't know what to do..

I gave the board a good alcohol wipe to remove repair flux, reseated the KBC and will try a real AT keyboard tomorrow. Could corrosion in the socket do this? No idea, I will also check the keyboard socket..

Open to further ideas 😀

Attachments

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 32 of 42, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
appiah4 wrote on 2023-07-03, 19:28:

Open to further ideas 😀

I had to replace some keyboard connectors due to corrosion, but it seems unlikely that it would work only one-way. I suppose you could desolder and replace that 7406. These can die if there is a short from +5V to the output pin, the driving transistor is meant to handle higher voltages and currents but it also makes it less resistant to low-resistance short to power.

Since there is no space for socket and desoldering is risky on damaged copper, you can try to solder wires to socket on the bottom of the mobo and put a piggy-back 7406 in there. This is pretty safe in this configuration since the outputs are only driving low. It's very unlikely for the output to be shorted but that can happen - this can be easily tested with an ohm meter with mobo powered off though. None of the outputs on the 7406 should have low resistance (<1k) to GND.

Reply 33 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++

I checked the currently installed 7406, and none of the outputs are short to ground.

I also replaced the KBC with other known working ones yesterday, and the issue persists.

I tried a native AT keyboard, and the issue is the same: Three LED's light up at boot, the keyboard works but gets an error, Caps/Num/Scroll Lock does not work and spamming these keys results in a fart-like protest from the PC Speaker as well as a momentary system hangup.

At this point I may as well replace the 7406 and give a fresh one a chance I guess? I could destructively remove the old 7406; cut off the legs with a side cutter, then desolder and remove the legs. It shouldn't be too hard. I'm kind of not sure that is the problem though 🙁

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 34 of 42, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
appiah4 wrote on 2023-07-05, 06:07:

At this point I may as well replace the 7406 and give a fresh one a chance I guess? I could destructively remove the old 7406; cut off the legs with a side cutter, then desolder and remove the legs. It shouldn't be too hard. I'm kind of not sure that is the problem though 🙁

Destructive removal is a good idea. This is a mid-90' 7406, hidden under another chip as well, nothing worth preserving if it can limit mobo damage. Inspect all the traces under the chip, if you spot any corrosion (or any remains of salts) consider lifting the other DIP chip nearby as well. You tested the connections but there might be a marginal one - good enough to show pass on the meter but not able to drive any currents during fast switching. All in all it's better to try that 7406 replacement then keep poking the mobo blindly, at least you'll be able to inspect the PCB and install new part, that will be now crossed off the list. And hopefully it will fix the problem as well.

Reply 35 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++

I'll order a few replacements for both DIP's and replace them one by one, 7406 first then. I'll post any further updates here 😀 Thanks to everyone who has been helping me out, I really appreciate it.

EDIT: The other IC seems to be a 74F04, not available locally. That said, I THINK it's not really related to communicating with the keyboard and not very likely to be the culprit? That one handles communication with the ISA Bus or something?..

Retronautics: A digital gallery of my retro computers, hardware and projects.

Reply 36 of 42, by mkarcher

User metadata
Rank l33t
Rank
l33t

Don't use a 74F04 instead of a 7406. While they are both hex inverters, the 74F04 is faster (doesn't really matter here), but it is also not open-collector (which makes the chip unsuitable here), and can not sink as much current to ground as the 7406. A F-type 74-series chip is usually used for signals at FSB frequencies. At ISA frequencies, or even lower frequencies like the keyboard interface, LS-type chips are very common. LS means "low-power schottky". Logic chips with schottky technology consume less power at the same speed. The S series consumes approximately as much power as the original 74 series, but it is faster. The LS series on the other hand has approximately the same speed as the original 74 chips, but consumes less power. The 74LS chips do not only use less power for their internal operation, but they also use less current to communicate with each other. That's why the keyboard driver chip is specifically not manufactured in LS technology, because the point of the chip is to drive the logic level over the long keyboard cable, which can require some power for switching.

Reply 37 of 42, by Deunan

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2023-07-05, 22:33:

Don't use a 74F04 instead of a 7406.

While I agree I think there is another DIP chip next to that 7406 and it's a 74F04. Which would probably be part of some address decoding or maybe it's inverting a control line (RD, WR or some chip select). There is no need to use F in anything keyboard related except at the ISA side, which is working because keyboard data is being processed by KBC chip. Although there might be PCB corrosion under that 74F04.

74F04 can usually be replaced with 74ACT04 but since it cannot be socketed I'd replace the 7406 first and not touch the F chip for now.

Reply 38 of 42, by ediflorianUS

User metadata
Rank Member
Rank
Member
appiah4 wrote on 2023-06-16, 18:41:
Unbelievable. I logged on to VOGONS to post that I had given up and binned this board only to read this, and after an EPROM flas […]
Show full quote
Deunan wrote on 2023-06-15, 17:56:

I only just noticed, does this BIOS say SIS 85C471 durig boot? In the ID string? And that is an ALI chipset mobo? Are you sure that is the correct BIOS for this mobo because it really doesn't seem like it.

Unbelievable. I logged on to VOGONS to post that I had given up and binned this board only to read this, and after an EPROM flash and swap, it works 99%!

rsz_img_20230616_213528.jpg

The remaining 1% is the Keyboard Error I still get, although the keyboard works fine. See me enter the BIOS:

rsz_img_20230616_213600.jpg

What could cause a Keyboard error yet a working keyboard? Perhaps this board doesn't like my PS2 keyboard through an AT adapter?

Never give up and never surrender... especially on older PC's (not sure that's the case on laptops , they give me a headache).

& remember to clean board with contact cleaner - DUeCI(so it de-oxidizes) or car-brake cleaner if don't have anything else , and a WD40 silicone for protection + shininess;

My 80486-S i66 Project

Reply 39 of 42, by appiah4

User metadata
Rank l33t++
Rank
l33t++

I am armed and dangerous 😅

IMG_20230720_213654.jpg
Filename
IMG_20230720_213654.jpg
File size
857.96 KiB
Views
484 views
File license
CC-BY-4.0

Now I just need pointers on what to poke at with my new toy before I start desoldering the 7406..

Retronautics: A digital gallery of my retro computers, hardware and projects.