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

Discussion about old PC hardware.

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

Postby NJRoadfan » 2018-2-06 @ 13:19

IRQ12 still needs to be wired. The TSR replaces the need to modify the BIOS. Loading it and a mouse driver on a machine with a modded keyboard controller should produce a working PS/2 mouse.
NJRoadfan
Oldbie
 
Posts: 866
Joined: 2012-5-26 @ 03:54
Location: Northern NJ

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

Postby keropi » 2018-2-06 @ 14:25

I also like the PCB idea, Rio444 sell them!
Last edited by keropi on 2018-2-07 @ 23:58, edited 1 time in total.
User avatar
keropi
l33t++
 
Posts: 6227
Joined: 2003-9-08 @ 06:45
Location: Greece

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

Postby Rio444 » 2018-2-06 @ 14:53

feipoa wrote:1) Do we still need to wire the KBC to IRQ 12 on the ISA slot?

Yes, of course. Otherwise, KBC can not signal that the data received from the mouse. NJRoadfan is absolutely right.

2) We can either modify the BIOS to allow for PS/2 mouse, or we can use your TSR program?

Yes, that's right.

3) Have you tested this with a AMIBIOS on a 386 motherboard? Did it work?

I tested with AMIBIOS on a 386 and a 286 motherboards.
I have only three motherboards with already installed KBC socket.
Therefore I used them.
They all worked.

4) Are there any motherboards which this hasn't worked with?

I tested one 486, one 386 and two 286 motherboards. On the 486 motherboard, I was forced to solder the socket for KBC.
They all worked. To run the driver at a 286 I had to recompile it, using only 286 CPU instructions.

5) Did you include inductors on the mouse clock and mouse data lines? I've noticed that pretty much all 486 motherboards include the inductors. They are small, usually in the 1-4 uH range.

The inductors (in another way called "ferrite beads") are necessary to suppress strong electromagnetic interference. The same purpose is served by capacitors. Usually there is no special need for ferrite beads.

6) Do you have additional PCB's? I'd be very interested to test one.

PCB is very simple. I made it myself, using a laser printer and electric iron. Do you know this technology?))))
Due to the fact that I very rarely make PCB, the quality is not very good. It would not be very appropriate to offer you it.
I can give you the drawing of the PCB in the Sprint-Layout 6.0 or graphic format.
Now unfortunately I do not have any ready-made PCBs.
I can make a couple extra PCBs for you when I do them next time. But I don't know when it will be.
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby feipoa » 2018-2-07 @ 00:44

Rio444. Thank you for anwering the questions. I now have a few more questions.

1) Which KBC are you using? Is it the Holtek HT6542B?

2) I noticed that you did not use 47 pF for the capacitors. Did you find that 220 pF was necessary? Or was this just what you had on hand?

3) Pin 39 on the KBC socket normally goes to keyboard data, but for PS/2 mode, it needs to get rewired. On my module, you can see in the photo that I am bending pin 39 on the KBC out of the way so that it does not make contact with the socket. How are you managing this?

4) Could you show photos of the sides and top of your module?

5) No, I have never done, nor know how to use an electric iron to make the PCB. Perhaps you could briefly describe the process? I no longer have the opportunity (time) to engage in any activity which requires learning new skills. My only free time is in the middle of the night when I'm tired, which makes me loose even more sleep the next day. If this home brew method is very simple, as you noted, I recommend producing at least a dozen of them and selling them with the KBC. I'm pretty sure they would all be sold in the first day (hour?) of offering. I'll take at least 2 :) I have 10 motherboards which could benefit from this. My way of making the module is extremely time consuming. Yours is a lot cleaner.

6) Have you tried using your module in a motherboard which already has a working PS/2 mouse port?
User avatar
feipoa
l33t
 
Posts: 4833
Joined: 2011-3-07 @ 13:54
Location: Canada

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

Postby Anonymous Coward » 2018-2-07 @ 01:20

I noticed that on most of my motherboards without PS/2 support, IRQ12 was already wired to the KB controller, so there was no need to feed off an ISA slot.

Rio444, did you test the turbo functions with this module installed? With my original prototype, I noticed that it interfered with the operation of CTRL-ALT +/- which toggles turbo on some boards. From what I have seen, this problem can likely be fixed with a copy of AMIBCP.

Sharing those Sprint files is a pretty good idea. It would be nice to have this mod mass produced if we can make sure it's bug free.

I really want to know how that TSR works.
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: 2663
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

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

Postby bjwil1991 » 2018-2-07 @ 20:14

I almost thought about that back in 2012 for my 486 that I had for 18 years. Having a PS/2 mouse implementation for the 386/486 boards sounds interesting. That would go to the AT port on the back end, right, or does that require a special connector? Out of curiosity.
C64, WheelWriter 10 Series II QuietWriter 8, Pack-Mate 28 Plus, K6-2/300, Pavilion N3350, iMac G3 & G4, Socket 370, 2x Inspiron 600m, Athlon 64, Dimension 4550 & E510, ThinkPad R40, Presario C700, ASUS X54C, Raspberry Pi B+, 2B-3B+, Custom FX-6300
User avatar
bjwil1991
Oldbie
 
Posts: 1215
Joined: 2013-8-14 @ 03:10
Location: United States of America

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

Postby Rio444 » 2018-2-07 @ 21:50

feipoa, I will be glad to answer all your questions. I have some problems with English. Please forgive me if I write something stupid, or something insulting.
feipoa wrote:1) Which KBC are you using? Is it the Holtek HT6542B?

I used VIA VT82C42N. I studied the datasheets of different KBC and came to the conclusion that the differences between them are extremely insignificant.

2) I noticed that you did not use 47 pF for the capacitors. Did you find that 220 pF was necessary? Or was this just what you had on hand?

In the circuits of motherboards, capacitors from 150 to 470pf are used. Any value in this range is acceptable. Moreover, usually everything works fine without capacitors.
The frequency of the PS/2 interface is about 10 kHz. The full spectrum is on the order of 100kHz. Capacitors and "ferrite beads" are designed to filter high-frequency noise, above 100kHz. In the home, such interference is unlikely. I think this is relevant in industry. In order to slightly increase the noise immunity, I reduced the value of the collector resistors to 2kOhm. Typical schemes use 4.7 kΩ.

3) Pin 39 on the KBC socket normally goes to keyboard data, but for PS/2 mode, it needs to get rewired. On my module, you can see in the photo that I am bending pin 39 on the KBC out of the way so that it does not make contact with the socket. How are you managing this?

Pins 38 and 39 of the KBC are cut off, so that about 1mm remains. They are soldered to the wiring done with the winding lacquered wire and going to the PCB. Look at the photo below.
Image

4) Could you show photos of the sides and top of your module?

Now the device is filled with epoxy glue. I did this for durability. While I have one copy, I move it from one board to another. Now it looks like this:
Image

Image

Here is one of the photos before filling.
Image

I did not take a photo of the other side.
Pins 38 and 39, which in the socket, is "not real." They are bent by the letter "L", glued to the back of the PCB and soldered to PCB edge.
These pins are cut off from an unnecessary chip.

5) No, I have never done, nor know how to use an electric iron to make the PCB. Perhaps you could briefly describe the process? I no longer have the opportunity (time) to engage in any activity which requires learning new skills. My only free time is in the middle of the night when I'm tired, which makes me loose even more sleep the next day. If this home brew method is very simple, as you noted, I recommend producing at least a dozen of them and selling them with the KBC. I'm pretty sure they would all be sold in the first day (hour?) of offering. I'll take at least 2 :) I have 10 motherboards which could benefit from this. My way of making the module is extremely time consuming. Yours is a lot cleaner.

Oh, I sympathize with you.
The method of "laser iron" is that the image of the conductors is printed with a laser printer on thin glossy paper (for example, cut from a magazine). This image is placed on the workpiece of the PCB and ironed with a hot iron. As a result, the toner melts and glued to the workpiece. It remains to remove the paper under the stream of water. We get a workpiece with a picture of the PCB. Then it is etched in solution.This method is very cheap. But the quality of the boards is worse than the factory ones. Also it is extremely difficult to obtain a double-sided printed circuit board. It is very suitable for creating a prototype. If it's a batch, it's better to order PCBs at the factory.
Here you can see the photos of the process. http://easyelectronics.ru/sozdanie-pech ... tyuga.html

6) Have you tried using your module in a motherboard which already has a working PS/2 mouse port?


This makes no sense.
I will explain the above circuit.The blue part of the circuit is shown, which is already present on the motherboard. Including X1.1 and X1.2. - the socket of the KBC.
The color of the device is shown in black.
I hope you understand that every transistor on the circuit works as an inverter. It is equivalent to the inverter 7406. In the AT mode of the KBC, the output "Keyboard Date" is connected via a repeater (or two serial inverters). In the device to this chain one more inverter on VT1 is added. Also pin 39 of the sockets is reconnected. It is connected to the 27th pin of the KBC. This allows you to use a keyboard connector on the motherboard. So no intervention is required on the motherboard, excluding the connection of pin 36 to IRQ12
Last edited by Rio444 on 2018-2-07 @ 22:22, edited 1 time in total.
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby Rio444 » 2018-2-07 @ 22:00

bjwil1991 wrote:

PS/2 mouse port requires a separate connector. The keyboard is inserted into a standard DIN connector on the motherboard, although it works already in PS/2 mode.
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby Rio444 » 2018-2-07 @ 22:08

Anonymous Coward wrote:I noticed that on most of my motherboards without PS/2 support, IRQ12 was already wired to the KB controller, so there was no need to feed off an ISA slot.

It's strange. On the motherboards I tested, it was not connected. I'll check the rest.

Rio444, did you test the turbo functions with this module installed? With my original prototype, I noticed that it interfered with the operation of CTRL-ALT +/- which toggles turbo on some boards. From what I have seen, this problem can likely be fixed with a copy of AMIBCP

I did not check. I'll check. What do you mean by "copy of AMIBCP"?

Sharing those Sprint files is a pretty good idea. It would be nice to have this mod mass produced if we can make sure it's bug free.

What is 'Sprint files'?

I really want to know how that TSR works.

I described above. What exactly do you want to know?

Here is another picture.
Image
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby keropi » 2018-2-08 @ 00:01

this needs to be produced Rio444 , it's just too great :D
User avatar
keropi
l33t++
 
Posts: 6227
Joined: 2003-9-08 @ 06:45
Location: Greece

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

Postby Anonymous Coward » 2018-2-08 @ 01:01

I did not check. I'll check. What do you mean by "copy of AMIBCP"?


AMIBCP is a software tool provided by OEMs by AMI so that they can customise (enable/disable) features in the BIOS, including how the turbo function is toggled. Personally, I don't think it's a big deal. Even if you can't use the keyboard shortcuts, the turbo button should still work.

What is 'Sprint files'?

Didn't you say you had Sprint Layout 6.0 PCB filles

I described above. What exactly do you want to know?

I must have missed it. I'll look again. Lack of a TSR was main reason I abandoned the module in the first place. Most 386/486 boards have AMI BIOS, and the module was useless unless you had Award.
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: 2663
Joined: 2008-3-20 @ 05:37
Location: Shandong, China

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

Postby feipoa » 2018-2-08 @ 02:41

Rio444, thanks for providing additional photos and your answers. Do you have a motherboard with working PS/2 mouse in which you could test the module in?

Rio444 wrote:feipoa
6) Have you tried using your module in a motherboard which already has a working PS/2 mouse port?


This makes no sense.

It makes no sense until you find reason for it to make sense.
As I see it, there are two main components to this module working, 1) the TSR or BIOS hack and 2) the module itself. To reduce uncertainty in if the TSR is working as expected or not, I will likely test the module in a board with working PS/2 to ensure that I have assembled my KBC module correctly. Once I know the KBC module is assembled correctly, then I would move it into a motherboard which does not have PS/2 mouse support. At this point, I know the module works and will be loading your TSR. If the module doesn't work in this new motherboard, then the issue could be with the TSR because I know the module works in some other motherboard(s). Are you able to test your module in motherboards with a working PS/2 mouse port?

Another reason might be that the motherboard's ps/2 mouse controller stopped working and the module would be a quick fix without having to troubleshoot your motherboard.
User avatar
feipoa
l33t
 
Posts: 4833
Joined: 2011-3-07 @ 13:54
Location: Canada

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

Postby feipoa » 2018-2-08 @ 03:08

I have also noticed that you have what looks like bare solid-core copper wire crossing the PCB traces. I assume that this crossing wire is not making electrical contact in the middle, but making contact only at the ends of the wire where it is soldered. If so, what are you using to insulate the trace from the copper wire?
User avatar
feipoa
l33t
 
Posts: 4833
Joined: 2011-3-07 @ 13:54
Location: Canada

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

Postby Rio444 » 2018-2-08 @ 06:38

Anonymous Coward wrote:
I did not check. I'll check. What do you mean by "copy of AMIBCP"?


AMIBCP is a software tool provided by OEMs by AMI so that they can customise (enable/disable) features in the BIOS, including how the turbo function is toggled. Personally, I don't think it's a big deal. Even if you can't use the keyboard shortcuts, the turbo button should still work.

I know what AMIBCP is. I did not understand why the "copy".

What is 'Sprint files'?

Didn't you say you had Sprint Layout 6.0 PCB filles

OK I understood. Sprint Layout file is here https://yadi.sk/d/0rGZmkCN3SCK2y (Click the "Скачать" button in the in the upper right corner to download.)
I changed the usual use of layers.
Green is the PCB conductors.Yellow color - wire connections.
View from the side of the SMD elements.
Pins 20, 38, 39, 40 are soldered to the edge of the board.
Pins 23, 24, 27, 28 (P22, P23, P10, P11) are bent and soldered to the PCB.
Image

I described above. What exactly do you want to know?

I must have missed it. I'll look again. Lack of a TSR was main reason I abandoned the module in the first place. Most 386/486 boards have AMI BIOS, and the module was useless unless you had Award.


My TSR program is not dependent on the BIOS. It is dependent on DOS. Because it's written to run in dos. This is its main drawback. It can not be run in WinNT or Linux.
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby Rio444 » 2018-2-08 @ 07:14

feipoa wrote:I have also noticed that you have what looks like bare solid-core copper wire crossing the PCB traces. I assume that this crossing wire is not making electrical contact in the middle, but making contact only at the ends of the wire where it is soldered. If so, what are you using to insulate the trace from the copper wire?

Once again I apologize for my English. I wrote above.This wire is not bare.This wire is in lacquered insulation. It is used for transformers winding. Diameter is about 0,3-0,4mm. It is thinner than a conventional mounting wire.

feipoa wrote:As I see it, there are two main components to this module working, 1) the TSR or BIOS hack and 2) the module itself...

I can confidently say:
My device (you call it a module?) and driver (you call it a TSR?) are completely independent of each other.
You can check the TSR with the hardware modification you made earlier.
TSR not run if the BIOS already supports a PS/2 mouse or already there is a copy of the TSR in the memory. Before to run the TSR, the program checks the absence of the mouse flag in the "list of equipment" at the address 0040: 0010h. This is done deliberately.To test TSR, you need a motherboard with hardware modification, but without modification of the BIOS.
The "module" for work requires my TSR program or BIOS modification, which you already did with Award BIOS.
Last edited by Rio444 on 2018-2-08 @ 07:49, edited 1 time in total.
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby Rio444 » 2018-2-08 @ 07:34

keropi, are you interested in a PCB, PCB with soldered smd elements, or the whole device, including KBC?
It is not difficult for me to order the PSB lot and send it to those who wish.
I can solder the SMD elements to the PCBs. Although this will take time.
Assembly entirely will take quite some time. And I need to find lot of KBCs.
The last time I bought them a few years ago in the US online store. They were very cheap, but the delivery was expensive.
If you are interested in the latter option, what price would be acceptable for you?
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

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

Postby feipoa » 2018-2-08 @ 07:57

Rio444, the last time I played with my module, I was unable to get it working on my intended motherboard, which had AWARD 4.20. I did the BIOS mod, but couldn't get the adapter working for whatever reason. It is also the only AWARD 4.20 BIOS I've ever come across. I tested it in motherboards I already hardware/BIOS modded (AWARD 4.5x) for PS/2 mouse support, but I could not get it to work. Unfortunately, I did not have any other AWARD-based motherboards which did not have the PS/2 mouse modification to try it on. For this reason, and the other reasons I mentioned earlier, I would be very interested to know if your module will work in a motherboard which already has the PS/2 mouse circuit integrated onto the motherboard.

For some of us, we would be OK just to have the PCB and the components and solder it ourselves. I am OK to do this. For many others, though, they would probably like to buy the complete package (KBC, soldered components, wire header, and PS/2 DIN slot bracket), preferably pre-tested.

One Vogons member created a serial to PS/2 mouse protocal converter, which he also sold to various members of this forum. It is a really well made package. He mailed out the PCB and components for us to solder on ourselves. It works really well, except that many KVM's don't like it, mine included. I don't remember what he changed for the kit. Was it $16 + shipping? viewtopic.php?f=46&t=42862&hilit=Mouse+Converter

Another member made real-time clock replacements and sent them out to various members, viewtopic.php?p=360426#p360426

There is a guy on here doing some midi wavetable rebuilds with batches of PCBs.

Its pretty neat to see the community pull together like this. If you are able to produce several of these PCB's, many people would be grateful.
Last edited by feipoa on 2018-2-08 @ 08:15, edited 1 time in total.
User avatar
feipoa
l33t
 
Posts: 4833
Joined: 2011-3-07 @ 13:54
Location: Canada

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

Postby keropi » 2018-2-08 @ 08:13

Rio444 wrote:keropi, are you interested in a PCB, PCB with soldered smd elements, or the whole device, including KBC?
[...]


I would be interested in 2-3 of bare pcbs to experiment with if it's possible, no components need to be soldered or provided with them :)
User avatar
keropi
l33t++
 
Posts: 6227
Joined: 2003-9-08 @ 06:45
Location: Greece

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

Postby feipoa » 2018-2-08 @ 08:19

keropi wrote:I would be interested in 2-3 of bare pcbs to experiment with if it's possible, no components need to be soldered or provided with them :)

Seconded. I'm very interested to experiment with your design.
feipoa wrote:I'll take at least 2 :)
User avatar
feipoa
l33t
 
Posts: 4833
Joined: 2011-3-07 @ 13:54
Location: Canada

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

Postby Rio444 » 2018-2-08 @ 08:29

feipoa wrote:... For this reason, and the other reasons I mentioned earlier, I would be very interested to know if your module will work in a motherboard which already has the PS/2 mouse circuit integrated onto the motherboard.

It will not work in a motherboard which already has the PS/2 mouse circuit integrated onto the motherboard.
It does not replace, but complements the circuit on the motherboard. That is, module uses part of the motherboard circuit related to the keyboard.This allows you to minimize changes in the motherboard circuit and to connect the keyboard to the connector on the motherboard.

For some of us, we would be OK just to have the PCB and the components and solder it ourselves. I am OK to do this. For many others, though, they would probably like to buy the complete package (KBC, soldered components, wire header, and PS/2 DIN slot bracket), preferably pre-tested.

One Vogons member created a serial to PS/2 mouse protocal converter, which he also sold to various members of this forum. It is a really well made package. He mailed out the PCB and components for us to solder on ourselves. It works really well, except that many KVM's don't like it, mine included. I don't remember what he changed for the kit. Was it $16 + shipping? viewtopic.php?f=46&t=42862&hilit=Mouse+Converter

Another member made real-time clock replacements and sent them out to various members, viewtopic.php?p=360426#p360426

There is a guy on here doing some midi wavetable rebuilds with batches of PCBs.

Its pretty neat to see the community pull together like this. If you are able to produce several of these PCB's, many people would be be grateful.

OK, I will work on this issue, including different options.
I can not promise to do this quickly.
Now I'm interested in you to test the TSR and module on your systems and confirm their good working.
Also for me, the question remains, is it necessary to fill the module with epoxy glue?
This makes the module more durability, but significantly increases the complexity of manufacturing.
Rio444
Newbie
 
Posts: 45
Joined: 2017-7-15 @ 07:17
Location: Russia, Rostov-on-Don

PreviousNext

Return to General Old Hardware

Who is online

Users browsing this forum: ATauenis, Deksor, furan, xjas and 12 guests