VOGONS


First post, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

I have always been curious about this awesome feature, and finally wanted to give it a try with my Logitech M-35 as secondary serial mouse.
It didn't work. So I started to suspect my mouse was neither Mouse Systems nor Microsoft compatible (the two protocols the game supports) and built a simple program to find out.
Well, turned out - bollocks; it is a normal MS mouse (with middle button extension) and game code was to blame.
I have patched the "OEM version" with EXE labeled 1997 that I got on a reissue CD from 2000s to initialize the UART more reasonably and the game works on a Core Quad.

The attachment sied_000.png is no longer available

The patch is on the same github project page in the release section.

The test programs needs Watcom so not sharing .EXE as I want source code to be GPL 2, but it's as easy as single WCL run to build.

The attachment moustest_000.png is no longer available

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - CMI-8738 - X3MB - CM-300 - Saitek ST-30
Beetle/M/i815+ICH2 - Celeron 566Mhz - Opti 924 - YMF740 - MT-100
https://archive.org/details/peridot-26

Reply 1 of 1, by HwAoRrDk

User metadata
Rank Newbie
Rank
Newbie

Fascinating. I presume the game is talking directly to the serial port I/O interface for the second mouse? Because I assume that would never be possible with the usual mouse driver API.

ludicrous_peridot wrote on 2026-08-22, 22:22:

I have always been curious about this awesome feature, and finally wanted to give it a try with my Logitech M-35 as secondary serial mouse.
It didn't work. So I started to suspect my mouse was neither Mouse Systems nor Microsoft compatible (the two protocols the game supports)

This is probably a bit late to be helpful to you, but Logitech serial mice can actually be configured to work in either of those other protocols. 😅

You just have to issue a serial command to the mouse to get it to switch protocol:

  • *V (0x2A 0x56) - Select Microsoft format
  • *U (0x2A 0x55) - Select Mouse System format
  • *X (0x2A 0x58) - Select Logitech (a.k.a. M+) format

Commands need to be sent at 1200 baud. If you want to test whether commands are being received by the mouse correctly, you can use the *c (0x2A 0x63) command which should have the mouse respond with a copyright/version message.