VOGONS


Reply 580 of 584, by feipoa

User metadata
Rank l33t++
Rank
l33t++

I recently assembled my first solder-on KBC-PS2 adaptor. With the VIA KBC's at only about $2/each, I felt OK with snipping off all their pins. I'm not sure if I would do this with the more expensive KBC's. I would only do the solder-on if the KBC is behind the ISA slots, as shown here:

The attachment KBC-PS2_soldered_1.JPG is no longer available

Due to the height of the 14-SOIC inverter package, this is as close to the PCB as achievable:

The attachment KBC-PS2_soldered_3.JPG is no longer available

The KBC clears the ISA drop-down PCB by about 1.2 mm. I am using 0.6 mm PCB's. If using standard 1.6 mm PCB's, clearance would drop to about 0.2 mm, or just hitting:

The attachment KBC-PS2_soldered_2.JPG is no longer available

I needed to run the inline mouse header again, otherwise the header would be in the way of the ISA card:

The attachment KBC-PS2_soldered_4.JPG is no longer available
The attachment KBC-PS2_soldered_5.JPG is no longer available

On some motherboards, the KBC socket is flipped 180 degrees. This is normally fine, unless you are running an ISA card that has the wrap around support on the slot bracket itself. Luckily, very few slot brackets have this wrap around.

Plan your life wisely, you'll be dead before you know it.

Reply 581 of 584, by youxiaojie

User metadata
Rank Newbie
Rank
Newbie
feipoa wrote on 2013-07-11, 23:23:
The DTK PKM-0033S doesn't use the UM8881/8886, it uses a SiS 496/497. I've been working with this board over the past few days. […]
Show full quote

The DTK PKM-0033S doesn't use the UM8881/8886, it uses a SiS 496/497. I've been working with this board over the past few days. I have hacked up the Zida Tomato 4DPS BIOS v1.72f to work on this DTK board. Now the DTK board seems to work with two 64 MB FPM sticks, 1024K, fastest timings, AMD X5-160. No HIMEM errors, Windows 98SE seems functional. I've tested a few graphics cards, USB cards, Intel NIC, PCI audio, ISA audio, and ISA ethernet cards without crashes. A max of three 64 MB FPM sticks work. The system doesn't turn on with four.

I removed the Funworld logo from the 4DPS BIOS and replaced it with the standard AWARD EPA logo. The important hack to the BIOS was the IRQ routing table. If you leave the standard 4DPS routing table in the BIOS and use it on the DTK board, the BIOS cannot seem to assign any IRQ to the PCI cards. The 4DPS BIOS was the closest match I could find to the DTK board - same chipset, same super I/O, no VLB. The only thing lacking is the 4DPS board has 3 PCI slots, whereas the DTK has 4. However, only 4 PCI masters are allowed. With the onboard IDE being 1 master, I think only 3 PCI slots are really usable. This particular 4DPS version fixes the 8 GB HDD size limitation, although I am still using an Ultra ATA PCI card on this system.

awdbedit was used to alter the IRQ routing table, but unfortunately I don't know all the INTA/B/C/D values used on the original DTK BIOS because the DTK BIOS won't open with awdbedit for whatever reason. I can open both BIOSes with MODBIN, but that only shows me the IRQ #'s used (see attachments). I am still stuck with the 4DPS INTA/B/C/D routing information. I need to somehow figure out how to interpret the HEX inside the DTK BIOS to find out what the INT's are and then put those into the 4DPS BIOS.

For now, the 4DPS BIOS works on the DTK with just altering the IRQ 6,7,8 numbers using awdbedit. IRQ's 9, 10, 11 get assigned to the PCI cards and the cards work in Win98SE, but PCI steering in Win98SE claims there is an error in the IRQ routing table - the consequence of this is probably just that Windows cannot reassign IRQs and we are stuck with what the BIOS presents.

Does anybody know a way to view the IRQ routing table for the DTK BIOS? I need the INT A/B/C/D values.

I also cannot use PCI slot #4. I was hoping to use it for a USB card for use with a USB/PS2 mouse, but since the system cannot assign an IRQ, it can't be used. But in reality, even with the DTK original BIOS, I got a hang-up when trying to use the 4th PCI slot as well.

When running the PCI bus at 40 MHz and using an ISA sound card, I found that using 1/4 clock setting for the ISA bus fixes crashing issues. Using the 7.1x MHz keyboard speed for the ISA bus caused eventual crashes when playing an mp3 in loop.

Now onto the good stuff. The 4DPS BIOS has a working PS/2 port. So I socketed the keyboard controller on the DTK board, and also socketed the 7406 inverter. I then proceeded to hook-up a HOLTEK keyboard controller in the exact same manner as on the 4DPS board. Note that the original 7406 inverter shown on the top right had some slight rewiring to change the double-inverter (buffer) used with a single keyboard to an inverter when used with a mouse configuration. Basically, I've hooked everything up just as it appears on the Holtek-HT6542B spec sheet for PS/2 mouse support. This is how the 4DPS boads have it hooked up.

I used mouse.com/test.exe to test the PS/2 mouse, but the system will hang right when I try to move the mouse or hit a click. Keyboard works fine though. I'm not sure what I'm doing wrong. I tried this with both the 4DPS and DTK BIOSes. My next step will be to try different PS/2 mice and check the wiring for a 4th time.

how to modify irq routing table? just modify slot number ie 6789 and cde as picture above or need modify inta b c d 's value? what is the number mean?

Reply 582 of 584, by feipoa

User metadata
Rank l33t++
Rank
l33t++

wow, that was from 12 years ago. Isn't the information somewhere in the first half dozen pages of this thread? If not, I will go off my memory. The number is some integer, I think between 0 and 255. I don't know why some board's BIOSes have different numbers here, but the BIOS seems to need the expected number to work correctly with a given PCI slot. Unless you are able to construct the BIOS code into assembly and read it to figure out where the numbers are stored in the microcodes, you would use a simple tool like AWDBEDIT to adjust the IRQ routing tables. Unfortunately, MODBIN doesn't have this feature. Keep in mind, however, that once you edit and save a BIOS with AWDBEDIT, you won't be able to open it in MODBIN again. As such, if you want to do some MODBIN changes, do them first, then do the AWDBEDIT changes. I have only needed to alter the PCI routing tables for socket 3 boards when using BIOSes from other motherboards, in which case, I'd copy the routing table from motherboard A's BIOS into motherboard B's BIOS.

Plan your life wisely, you'll be dead before you know it.

Reply 583 of 584, by SergeK

User metadata
Rank Newbie
Rank
Newbie
feipoa wrote on 2025-03-05, 11:32:
I assembled about a dozen of these modules and was doing some testing. I noticed that some keyboard controller chips get quite […]
Show full quote

I assembled about a dozen of these modules and was doing some testing. I noticed that some keyboard controller chips get quite a bit hotter than others.

Intel / American Megatrends / AMI KB-BIOS-VER-F = 44.3 C
Intel / American Megatrends / MEGA-KB-F-WP = 44.3 C
Intel / Megatrends Megakey = 42.3 C

Holtek HT6542B = 28.8 C
VIA V T82C42N = 29.1 C

This may or may not cause issues for some users who are pushing the overclocking limits of their system. On my testbed, which has lousy AT connector contacts, and has the KBC placed right next to the AT connector, these hot KBC's were causing some drop in the 5 V rail. I think it was around 0.08 V, but enough so that I couldn't run my SXL2 at the desired voltage (crashes). The issue noted here is minimal, but I recall another user mentioning that certain KBC's worked better than others when pushing the system to its limits.

This might very well be the case of older NMOS logic vs. newer CMOS logic.
The first free keyboard controllers use Intel 8042 MCU that has nominal operating current of 80 mA @ 5V. That is 0.4W of thermal energy that heats up the package... (See ICC a IDD Total Supply Current on page 12 of the datasheet: https://ardent-tool.com/datasheets/Intel_UPI-41AH_42AH.pdf)
Holtek HT6542B datasheet says it is MOS technology, they don't specify whether is is CMOS or NMOS. But it does say that the operating current is 4mA. (See IDD Operating Current on page 4 of the datasheet https://theretroweb.com/chip/documentation/ht … 6a680582906.pdf)
VIA VT82C42N datasheet does not specify the operating current, but it does say that it uses CMOS technology. (Page 1 of the datasheet https://theretroweb.com/chip/documentation/vt … 9e811961681.pdf)

By the way, supposedly there are Intel 80C42 based keyboard controllers with lower operating current - 9 or 14 mA, depending on the exact type... (https://www.dosdays.co.uk/media/intel/Intel%208042.pdf)

Anyway, the moral of the story is that the temperatures you see are to be expected and are not dangerous to the keyboard controller operation...

feipoa wrote on 2025-03-05, 11:32:

My preferred all around keyboard controller is the Holtek HT6542B, but I some of the "hot" keyboard controllers may be needed to get soft reset working on some systems.

I played with multiple different controllers back in the day (when I designed Xi 8088), and VIA VT82C42N was (and still is) my favorite. It is much faster than other controllers, and it is less finicky that Intel based ones. That's what I uses for the Alsea River 386SX Motherboard... which also has PS/2 mouse support: https://github.com/skiselev/mb386sx-rc2016/

Reply 584 of 584, by SergeK

User metadata
Rank Newbie
Rank
Newbie
froller wrote on 2025-03-12, 14:41:
I've read thoroughly datasheets for KBD42W11, KBD43W13, W83C43, HT6542B and VT82C42 and combined all the pin information into si […]
Show full quote

I've read thoroughly datasheets for KBD42W11, KBD43W13, W83C43, HT6542B and VT82C42 and combined all the pin information into single document.
Hopefully it helps you to investigate KBC incompatibilities. At least it shows some functions of KBC other than keyboard and mouse interaction.
The only thing I haven't yet figured out is what is "Manufacturing jumper" connected to Pin32.
Also take a look a pins 27-30. They are have no special purpose according to datasheet but still can be controlled with status registers of KBC. Thus they can be used for some undocumented purposes.
They also can be used in your adapter board if you need some kind of program configuration.

In the PS/2 mouse mode, which is enabled by using an inverting gate between keyboard clock output (pin 37) and keyboard clock input (pin 1), pins 27 and 28 are used as the keyboard data input and mouse data input respectfully.
It is also important to note that when using an external clock source, that clock signal is connected to XTAL2 (pin 3), while XTAL1 (pin 2) is typically pulled down - either connected to the ground directly, or through a 10k or so resistor. Generally speaking, pull-down resistor seems to be a safer option for compatibility with different type of the keyboard controller.

I did quite a few tests with different keyboard controllers, and I haven't seen too many incompatibilities. Some keyboard controllers do not implement PS/2 mouse support at all. But that's about it.
Typically, I'd connect pins 5,25,26, and 40 to 5V and pins 7 and 20 to the ground.

Regarding pins 29 and 30, and potentially, with the AT / no PS/2 mouse configuration, pins 27 and 28: They could be used to control stuff on the motherboard, e.g., turning on and off turbo mode or some kind of power saving features. MODBIN has a configuration screen where these can be set up. I am not sure what and how many motherboards actually used these pins that way.