VOGONS


First post, by Darmok

User metadata
Rank Newbie
Rank
Newbie

Serial mice have a low number of reports per second, which is due to the low transfer speed of the RS232 interface. The standard value for mice is 1200 baud, while we have 40 reports per second for a mouse in the MS Mouse standard. This may not be enough for dynamic shooters. If you increase the transfer speed to, for example, 4800 baud, we get 160 reports per second, which is already quite acceptable. Experiments show that further increasing the number of reports per second for a serial mouse does not bring real benefit, but on the contrary, due to the increase in the number of interrupts per second, overall performance may deteriorate.

The controllers of many serial mice use a timing quartz resonator with a frequency of 32768 Hz. In most cases, the controller is able to work with a resonator of 131072 Hz, and the exchange rate via the interface will proportionally increase to 4800 baud.

The Genius EasyMouse serial ball mouse with the Genius K0303028 controller was used as an experimental sample. I replaced the 32768 Hz resonator with a similar resonator (in a cylindrical case) with a frequency of 131072 Hz. Modified Microsoft mouse drivers were used to test the mouse. Re: USB to Serial Mouse using the Pi Pico!
The computer used for testing was 386DX40, DOS and Win95. Mouse movements became smoother and more responsive. For illustration purposes, I provide files obtained in the Paint editor from Win95. I moved the mouse with my hand at about the same speed.

Since this method of overclocking is very easy to implement, anyone can repeat it and evaluate its usefulness for themselves.

Reply 1 of 5, by King Wajih

User metadata
Rank Newbie
Rank
Newbie

I had to make an account just to answer this. If only there were overclocking capable win xp 64bit compatable drivers so I could use them on my Win 7 64bit PC (maybe even Win 10 :p). I was looking a way to OC the baud rate on the sermouse.sys in Win 7 for a few years to make my new old stock A4tech serial ball mouse perform as well as the PS/2 version.
Sermouse.sys takes exclusive com port control and sets it at 1200bps (on a modern most probably 19200bps capable mouse & 115200bps PC!). No amount of MODE Command in CMD & Device Manager can do anything. The jitter on it is very annoying. Yet I still used it to play some COD MW (2007) for lols and got rekt.
Anywho with the power of chatgpt and my ADHD I'll try to hex edit something and hope it works fingers crossed . Driver signing would be a later headache and is doable, unless somebody has a modded driver and can save me from falling into this rabbit hole.

P.S I am a med student and have no professional coding experience. I do it cuz it makes my brain go brr 😀

Reply 2 of 5, by Darmok

User metadata
Rank Newbie
Rank
Newbie

The only currently existing method is to use some COM port accelerator. For example, Digi AccelePort C2 or similar for the PCI bus. In this case, it is possible to use standard drivers, and to increase the exchange speed with the mouse by means of hardware acceleration of the port.

Reply 3 of 5, by mkarcher

User metadata
Rank l33t
Rank
l33t
Darmok wrote on 2025-07-01, 07:21:

The only currently existing method is to use some COM port accelerator.

I wonder whether you could plug a filter driver between sermouse.sys and the COM port driver, ideally as "lower filter" on sermouse.sys so that it works with any kind of COM port. But I know I am possibly just throwing around buzzwords and perhaps the driver stack doesn't work that way in the case of mouse drivers.

Reply 4 of 5, by Jo22

User metadata
Rank l33t++
Rank
l33t++

The computer used for testing was 386DX40, DOS and Win95

Chances are it uses an 16450 UART FiFo on an multi-i/o card, which has high amount of interrupts.
Using an pin compatible 16550AFN or similar likely causes less interrupts.

In DOS, there are FiFo enabling utilities, which turn the 16550 into native mode.
In Windows 3.11 an updated 16550 aware COM driver is included, which supports FiFo=true setting in the INI files.

More info:
Re: What mouse connection is this?
https://tldp.org/HOWTO/Serial-HOWTO-18.html

Utility:
https://web.tapr.org/tapr_history/SIG_Archive … Smisc/16550.zip

Of course, the accelerator cards are even better in principle.
They're meant for high-performance and do cause less overhead to the PC.

Edit: Ah I see, "sermouse.sys" is an Windows NT device driver (not a DOS driver)..
Please never mind then.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 5, by Darmok

User metadata
Rank Newbie
Rank
Newbie

Another way to overclock a COM port is to replace the quartz resonator on an 8-bit ISA multicard with a resonator of higher frequency. For 2400 baud, a resonator of double frequency is needed, for 4800 baud - quadruple. On such boards, as a rule, only one resonator is installed, and it needs to be replaced.