Native PS/2 mouse implementation for 386/486 boards using the keyboard controller

Discussion about old PC hardware.

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-12 @ 14:29

I reproduced this modification on an M-Tech R418 486 motherboard with Award BIOS and Holtek KB controller. I believe I can get this working on boards using the AMI Hi-Flex BIOs as well. I will test this out tomorrow. It should be possible to get this mod going in systems that use BIOSes without mouse support as well. I think the BIOS is just sending a command to the KB controller, which we can probably do using a DOS TSR.

I will also start testing a few different KB controllers to see which ones have mouse support. I strongly suspect the AMI Model F does, which would be great as it is extremely common.
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-12 @ 22:26

It is nice to hear someone else has been successful in this adaption. It certainly reduces the need for getting USB mice working on old computers, or for using a serial-to-ps/2 adapter. The parts cost for this mod is under $5.

For how easy it is to mod the BIOS for PS/2 support (Modbin, click ps/2 enable, save, reflash), I think all AWARD users might prefer the BIOS mod approach over a TSR. I'd be very interested if you can get PS/2 support working on a motherboard with an AMI BIOS.

For the AWARD BIOS ps/2 mod, I think only two HEX values get altered. If we can find out which ones these are on the AMI BIOS, perhaps we can just edit the BIOS binary and reflash.

If I had time, I'd love to try this mod out on my 386 motherboard w/AWARD 4.20 BIOS.
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 00:12

Most people with 386s and 486s seem to run the ones that use the 91/92 AMI Hi-flex BIOS. In those BIOS versions the PS/2 enable should already be present in the BIOS. In all of my boards it is enabled, even though a PS/2 mouse port is not present. But it is possible to toggle that bit using AMISETUP V2.99 on boards that have it disabled. Since we don't yet have a copy of AMIBCP that works on old HI Flex cores, I'm not sure how easy it would be to patch though BIOSes.
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 00:19

NJRoadfan wrote:I'm not surprised the onboard IDE is buggy, Many of those early PCI boards used the CMD-640 chip which never worked right. I was looking at doing the same mouse mod on one of my EISA boards which use PS/2 Mouse compatible AMI KEY controllers. I never found a clear explanation of how the keyboard controller is switched between "PS/2 Mode" and "AT Compatible Mode". Holtek and AMI's datasheets doesn't say how its switched. Did you wire up IRQ12 to the keyboard controller? Also, does the BIOS properly set the INT 11 BIOS Equipment flags? Most OSes directly probe for the mouse, but I know CuteMouse uses this to detect PS/2 mice.


The Keyboard controllers can automatically sense how they are wired and choose the correct operating mode.

Also, since you have already provided the information on bit that needs to be changed to let the BIOS know a PS/2 mouse is connected, my job has been made easier.
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 00:21

How soon can you test this on an AMI-BIOSed motherboard?

Not related, but my old 386 AWARD v4.20 has PS/2 disabled by default.
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 00:33

Anonymous Coward wrote:
NJRoadfan wrote:I'm not surprised the onboard IDE is buggy, Many of those early PCI boards used the CMD-640 chip which never worked right. I was looking at doing the same mouse mod on one of my EISA boards which use PS/2 Mouse compatible AMI KEY controllers. I never found a clear explanation of how the keyboard controller is switched between "PS/2 Mode" and "AT Compatible Mode". Holtek and AMI's datasheets doesn't say how its switched. Did you wire up IRQ12 to the keyboard controller? Also, does the BIOS properly set the INT 11 BIOS Equipment flags? Most OSes directly probe for the mouse, but I know CuteMouse uses this to detect PS/2 mice.

...since you have already provided the information on bit that needs to be changed to let the BIOS know a PS/2 mouse is connected, my job has been made easier.

1) How do you modify the INT 11 bit flags via software?
2) Alternately, how do you determine the HEX locations and needed HEX values within the BIOS image file to hardwire ps/2 support for an AMI BIOS? It is probably easiest to extract original.tmp from the BIOS image and work from there. Once you know the correct location in original.tmp, you can hopefully modify the BIOS binary image directly, without extracting original.tmp.
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby NJRoadfan » 2013-11-13 @ 01:19

Nice to hear my crazy idea worked. Can someone create a clear schematic with parts values and list? The Holtek datasheet is kinda thin on the details and I would rather not fry an EISA motherboard or two.

As for the software end. The TSR is nice, but unusable with non-DOS OSes. It will be enough for people to play with this mod even though they don't have the tools to reflash a BIOS.

Anonymous Coward wrote:Most people with 386s and 486s seem to run the ones that use the 91/92 AMI Hi-flex BIOS. In those BIOS versions the PS/2 enable should already be present in the BIOS. In all of my boards it is enabled, even though a PS/2 mouse port is not present.


I don't think this is the case with any of the boards I've had with the 06/06/92 core. The 4th set of numbers in the BIOS string indicates enabled hardware options. The 4th digit is supposed to display a "1" to indicate that mouse support is present in the keyboard controller/BIOS. Every one I've seen has shown "0".

ex: 40-05TB-006257-00101111-060692-UNI4800-F
NJRoadfan
Oldbie
 
Posts: 912
Joined: 2012-5-26 @ 03:54
Location: Northern NJ

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 02:38

I didn't realise that the status of the bits is shown in the BIOS string. That is also very useful to know. I have been relying on AMISETUP V2.99 to show the status of the mouse option. It appeared to be enabled on both my NICE SuperEISA and OPTI495 386 motherboards. On the NICE the EISA CFG program also indicated it was enabled. I'll check out the BIOS strings on both of these boards to see if something is being misreported.

What kind of operating systems are running on 386 and 486 machines? Apparently some software doesn't need the BIOS support to use the PS/2 mouse.
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby NJRoadfan » 2013-11-13 @ 02:47

Does AMISETUP 2.99 properly support the older HiFlex cores? It could be reading the wrong value and returning "true".

The source of CuteMouse clearly just checks the Int 11h value, it does no hardware testing at all to determine if a PS/2 mouse is present. No clue how something like Windows 95 or NT does it.

I tried hex editing a 06/06/92 HiFlex BIOS image and loading it into the PCEm emulator. Turns out AMI embedded a checksum detection routine in their BIOS. That ended any experimentation. One might be able to narrow down how to enable the mouse option in the CMOS setup if a BIOS with PS/2 mouse support with the same core was available to compare. Of course any editing would require finding the checksum stored in the ROM and regenerating a new one to keep the BIOS happy on boot.
NJRoadfan
Oldbie
 
Posts: 912
Joined: 2012-5-26 @ 03:54
Location: Northern NJ

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 03:04

Anyone know of any non-OEM 386/486 boards which are AMI-BIOS-based and have known working ps/2 mouse support?
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 03:12

Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 03:17

Weren't EISA boards always fairly expensive and high-end? What about any ISA-only 386 boards, ISA-only 386 boards, or PCI-based 486 boards?
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 03:27

Here's an ISA/VLB 486 with a PS/2 port

http://artofhacking.com/th99/m/A-B/34591.htm

I believe there is also an AMI board with PCI and PS/2 called Super Voyager PCI.

http://artofhacking.com/th99/m/A-B/33340.htm
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 03:31

I have at least two brands of AMI-based PCI-486 boards which have a PS/2 header, but the PS/2 mouse feature never worked. This is why we'd want to have known working examples of ps/2 mice on AMI BIOS boards.
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby NJRoadfan » 2013-11-13 @ 04:40

I pulled the BIOS for the PS/2 compatible AMI boards. I found a difference that is consistent between PS/2 and non-PS/2 boards involving the "Mouse Support" variable, but can't confirm that it actually works because of the checksum test.
NJRoadfan
Oldbie
 
Posts: 912
Joined: 2012-5-26 @ 03:54
Location: Northern NJ

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 06:09

If there is a PS/2 port on a real AMI branded motherboard, then you can pretty pretty sure that it works. AMI didn't screw around.

So, good news. I tested the AMI Model F keyboard controller, and it works perfectly on my modded R418 motherboard.

Next up, an AMIBIOS HI FLEX 486 board...
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 07:33

Could you upload photos of the KBC's known to work with ps/2 mice? This way others who do this mod will know what to pick.
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 09:55

So far I've just tried the Holtek 6542B and AMI Model F. The only other one I have on hand is a Bestkey. I can upload a photo of the Model F, but everyone should know it because it's the most common one.

One other thing. I quickly tested the modification in my 92 AMI HIFLEX board, and aside from not working I'm getting an odd side effect of the turbo light detecting keyboard activity rather than showing turbo enabled.
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby feipoa » 2013-11-13 @ 11:24

We should probably also note which KBC's won't work with this mod. I can confirm that Winbond's keyboard controller, W83C42, does not work. It originally came with the DTK PKM-0033S.

What KBC pin is the BIOS using for the turbo switch? The PS/2 mouse adaption uses KBC pins 23, 24, 27, and 28. Perhaps your BIOS is wanting to use one of these pins for the turbo feature? Can you use AMISetup to set these pins as disabled for turbo, similar to how Modbin does it (see attachment)?
Attachments
Modbin_Turbo_Pin.png
Modbin_Turbo_Pin.png (15.08 KiB) Viewed 694 times
User avatar
feipoa
l33t++
 
Posts: 5574
Joined: 2011-3-07 @ 13:54
Location: Canada

Re: DTK PKM-0033S +5V pin overheating + PS/2 mouse implementation

Postby Anonymous Coward » 2013-11-13 @ 13:04

I already tried disabling the turbo functions using AMISETUP, but it didn't seem to make a difference. This is a a bit of a problem since the system doesn't seem to be running at full speed (as far as I can tell). I tried both the Holtek and AMI keyboard controllers, but the behaviour was the same. AMIBCP may be required.
Will the highways on the internets become more few?
V'Ger XT|Upgraded AT|Ultimate 386|Super VL/EISA 486|SMP VL/EISA Pentium
User avatar
Anonymous Coward
l33t
 
Posts: 2840
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

PreviousNext

Return to General Old Hardware

Who is online

Users browsing this forum: Google [Bot], jheronimus, Tronix, wiretap and 17 guests