What is a Bus Mouse? A Technical History of Early Microsoft Mouse Interfaces
Comments and questions about this article are welcome on the Stardot Forums thread: What is a bus mouse?.
While researching what kind of mouse I would need to work with my Acorn BBC Master Compact (circa 1986), I came across the the term "bus mouse". I'm familiar with how 1980s/1990s era electromechanical mouses work, but I'd not encountered this usage before, and never in the context of Acorn computers.
The term "bus mouse" has a clear origin with Microsoft in the early 1980s, and implies specific connectors and pinouts. Sadly, through compounded misunderstanding, incorrect posts by sellers on sites like eBay, and a proliferation of electrically identical but physically incompatible mouse connectors by different computer manufacturers over the years, not to mention the existence of electrically incompatible mouses using identical physical connectors, confusion reigns. Even the Wikipedia article on the subject gets off on the wrong foot. (The linked Wikipedia article is a snapshot of how it appeared the time of writing - let's see what we can do about improving it!)
1983 - The Microsoft Mouse
The original Microsoft Mouse from May 1983 - retailing at $195 - is often known as the "green eyed mouse" owing to the colour of the two buttons. With 100 counts-per-inch (CPI) resolution, a massive steel mouse ball, and three small rolling-ball castors to reduce desktop friction, it was well engineered. Though it was the first product to emerge from Microsoft's new hardware division, production was outsourced to Japanese electronics conglomerate, Alps Electric, and based on their Alps MZ-1X10. Alps are still known today for their pointing devices, notably touch pads.

When launched in May 1983, it was available only as a bus mouse with a male DE-9 connector. (Note that DE-9 connectors are all-too-often described as DB-9 connectors. This is a common misnomer, but there is no such thing. Even the Microsoft Mouse documentation makes this mistake.)

A serial version with an RS-232 interface and female DB-25 connector on the mouse cable followed in 1984.

If you look closely, you'll see that the DE-9 connector of the bus mouse has two pins omitted. This is a deliberate feature of the connector design. We'll cover more details of the electrical details of the pinout later.

The Microsoft documentation says,
There are two operational versions of the Microsoft Mouse: Bus version and Serial version. The versions differ in system requirements and the hardware included in the mouse package. The software is the same for either version.
The Serial version mouse is for the IBM PC equipped with a serial communications interface board capable of RS-232 standard asynchronous communication. The board must have a 25-pin male connector or a 25-pin male-to-female adapter. Serial version packages include the mouse pointing unit, a connecting cable, and a 25-pin female connector.
The Bus version mouse includes the mouse pointing unit, connecting cable, a 9-pin female [sic - it's male, on the cable] connector, and an interface circuit board. The Bus version is for the IBM PC that either doesn't have a serial communications interface board installed or whose serial communications port is already used for something else.
Microsoft Mouse (Serial Version) for the IBM Personal Computer. Installation and Operating Manual
The Bus Mouse ISA card
The interface circuit board referred to above is an 8-bit IBM PC/XT-bus ISA card with the required DE-9 female connector.


The female DE-9 connector on the back of the ISA card appears to have all nine conductors present, and with corresponding holes the face of the connector, so the missing pins weren't used for any kind of mechanical keying.

The card's centrepiece is a large 40-pin DIP chip which is an Intel 8255 Programmable Peripheral Interface (PPA). The 8255 provides 24 parallel I/O lines organised into three 8-bit ports (Port A, Port B and Port C).

Some other 74-series logic devices are identifiable, likely performing address decoding and ISA bus buffering. Between the 8255 and the mouse port sits the 64H101 device. According to Sol Sherr's 1988 book Input Devices, the 64H101 is an Alps Electric quadrature decoder IC which conditions and decodes the four quadrature input signals from the mouse encoders. The chip counts the state transitions to produce parallel output data in the form of four 4-bit nibbles. X/Y and select lines allow the host system to select which counter (X-axis or Y-axis) to read, while an enable line gates the data to the bus buffer and clears the counters. The 64H101 interfaces with standard bus buffer or parallel I/O chips like the 8255, which in turn connects to the ISA bus.

Sherr refers to these devices as "parallel mice" to distinguish them from the "serial mice" which communicate via RS-232 serial ports. The term "bus mouse" appears to be specific to the Microsoft product line, while "parallel mouse" is an apt description for the entire category of quadrature mice that interface via parallel I/O ports.
Quadrature Encoding
So what is the "bus" of the "bus mouse"?
Inside the mouse, rotation of the steel ball as it rolls across the table top, drives two perpendicular rollers, one for horizontal movement (X) and one for vertical movement (Y). On each roller spindle is a closed contact incremental encoder, an arrangement of two electrical switches which cause each switch to alternately close (make contact) and open (break contact) as the wheel rotates, about 100 times per inch of mouse movement. As the mouse moves, each switch is capable of modulating a square wave pulse train on to an electrical signal. Crucially, the two switches in a single encoder are carefully positioned around the wheel such that, considering rotation in one of the two possible directions, just as one switch is making contact, the other switch is midway between having made contact, and breaking contact again. This means that the two square-waves produced by a single incremental encoder are 90º out of phase.
The signal lines pairs XA and XB, and YA and YB convey velocity and direction information to the host computer using a two-bit Gray code. A Gray code is a binary sequence where successive values differ by only one bit. A cycle of four two-bit gray code signals progresses through (0,0) → (1,0) → (1,1) → (0,1) → (0,0) where 0 represents an open switch and 1 represents a closed switch. The key insight is that the 90º phase difference between the two switches on each axis allows the direction of travel to be determined. If XA changes state before XB (we say XA leads XB) we know the mouse is moving right, and if XB leads XA, we know the mouse is moving left. The frequency of either XA or XB alone is sufficient to determine the speed of the mouse. With all four signals, the computer can determine the velocity vector in two dimensions, and numerically integrate to determine pointer position.
The term 'quadrature' derives from the 90° phase offset between the two signals, with 'quadrature' meaning 'square' or 'right angle' in this context. This encoding scheme is also called '2-bit Gray code' or 'incremental rotary encoding', and is widely used in industrial motion sensing beyond computer mice.
So the Microsoft "bus mouse" models are specific cases of what should more generally be called a "quadrature mouse".
The Microsoft Bus Mouse Pinout
The pinout for the original 1983 bus mouse with the male DE-9 connector is as follows:
In table form, this pinout and other electrical details are as follows:
| Mouse | DE-9 male | DE-9 female | ISA card | Pull-up |
|---|---|---|---|---|
| function | on mouse | on card | Resistor | |
| (1) Not fitted | 1 | + 5 V (probably) | ||
| XA | 2 | 2 | ? | 100k |
| XB | 3 | 3 | ? | 100k |
| YA | 4 | 4 | ? | 100k |
| YB | 5 | 5 | ? | 100k |
| Button 1 | 6 | 6 | 8255 PA7 | 5k6 |
| (7) Not fitted | 7 | 8255 PA6 | 5k6 | |
| Button 2 | 8 | 8 | 8255 PA5 | 5k6 |
| Ground | 9 | 9 | Ground |
Notably, the mouse does not use a positive (e.g. +5 V) supply, because none is necessary. Since the six mouse sensors are all make or break switches (two in each of the two encoders, plus two buttons, making six) then each switch can connect a digital input line to ground when closed, with the input being pulled high by a pull-up resistor when the switch is open . Each switch is therefore active-low, or so-called negative logic. By tracing tracks on the ISA card we can see that pin 7 of the socket is actually connected to a digital input line on the 8255 in an identical manner to the lines for Buttons 1 and 2. This is a strong indicator that the ISA card was 3-button capable.


Moreover, although we can't tell for certain, it looks highly probably that pin 1 of the socket is connected the the +5 V supply, making the ISA card compatible with other mouse designs that require a positive supply.

1985 The Grey-Eyed Mouse
Microsoft's second-generation mouse arrived in 1985, replacing the distinctive green buttons with grey ones. Along with minor ergonomic improvements such the buttons extending on to the upper surface of the mouse, the mouse featured a rubber-coated steel ball, and the resolution was doubled to 200-CPI. Other aspects remained unchanged, and like its predecessor, the mouse used closed-contact mechanical encoders. The mouse was still available in serial and bus versions, the latter using the same DE-9 pinouts and the 8255-based ISA card. The DE-9 bus mouse version seems incredibly rare.
1986 The InPort Evolution
In 1986, Microsoft introduced a redesigned bus mouse interface branded InPort. This represented a significant evolution of the design. The male DE-9 (7) connector gave way to a round Mini-DIN-9 connector, marking a break in physical backwards compatibility. The +5 V supply was now required to facilitate the transition from mechanical switch-based incremental encoders to optical encoders which require power for LEDs. The third-button pin was carried over too, perhaps anticipating future needs, though not one that was ever really taken advantage of by Microsoft themselves. Around this time, the term "bus" mouse appears to have started falling from favour, in Microsoft at least. The InPort required a new ISA card design, this time with a purpose-designed mouse controller IC in favour of the general purpose 8255, allowing for a reduced component count.


The InPort pin assignments are as follows:
| Mini-DIN-9 pin | Function |
|---|---|
| 1 | Button 2 |
| 2 | Button 3 |
| 3 | Ground |
| 4 | XB |
| 5 | YA |
| 6 | YB |
| 7 | Button 1 |
| 8 | +5 V |
| 9 | XA |
An adapter from the original DE-9 green-eyed mouse connector, to the new InPort connector was available from Microsoft:

-- source: Modem7 on vcfed.org
1987 Off the bus - the PS/2 Mouse Standard
In 1987, IBM launched the PS/2, it's second generation PC architecture with a dedicated PS/2 mouse port. The PS/2 interface marked a fundamental departure from the bus mouse paradigm. Instead of parallel quadrature signals requiring an ISA card and 8255 PPI for interpretation, the PS/2 mouse contained its own microcontroller that pre-processed the encoder signals internally. The mouse then communicated with the host via a synchronous serial protocol through a smaller Mini-DIN-6 connector, sending packaged movement and button data rather than raw encoder states.
By integrating mouse support into the motherboard's keyboard controller (typically an Intel 8042), IBM eliminated the dedicated ISA card entirely. This freed an expansion slot, reduced cost, and standardized the interface across all PS/2 systems. Though announced in 1987, PS/2 mice coexisted with bus and serial mice through the early 1990s before achieving dominance.
The NEC PC-98 – pin compatible and 8255-based
The architectural influence of the Microsoft bus mouse extended beyond the world of PC compatibles. The PC-9800 series computers from NEC (usually known as PC-98) were x86-based computers though not IBM PC compatible. This line of machines was dominant in the Japanese market from the mid-1980s and well into the 1990s. The PC-98 mouse interface is identical to that of the original Microsoft bus mouse ISA card, including the +5 V supply on pin 1 and third button support on pin 7. The PC-98 also used an 8255-based design for capturing the quadrature signal states from the mouse and presenting information to the CPU.

Quadrature mice on other platforms
Outside the PC ecosystem, mouses with electrically similar interfaces to Microsoft's bus mouse were in use from the mid-1980s. The Atari ST, Commodore Amiga, NeXT, Fujitsu FM11, Acorn BBC Master Compact and Acorn Archimedes all used raw quadrature mouse signals similar to the Microsoft bus mouse, though each employed different connector types and pinouts (various DE-9 pinouts, Mini-DIN variants) and sometimes different signal polarities and quadrature phase relationships. Notably, the Acorn Archimedes and later A-series ARM-based computers also used a Mini-DIN-9 connector like the Microsoft InPort, though with different pin assignments, so they are not compatible.
This proliferation of electrically similar but physically incompatible designs created the very confusion that sparked this article. The term 'bus mouse' became loosely synonymous with 'quadrature mouse,' obscuring the fact that Microsoft's specific DE-9 pinout and 8255-based ISA card defined the true 'bus mouse' standard, and InPort the evolution of it on the PC. These cross-platform variations deserve detailed exploration of their own – a topic for a future article, perhaps.
If you want your own bus mouse
If you want your own "green-eyed" mouse, be prepared to pay. These early mouses are not cheap, and you can expect to pay hundreds of dollars on sites like eBay. Hopefully you won't have to pay the eye-watering $8190 price achieved by one notable example of historical importance from the Paul G. Allen collection, which was auctioned in the 2024 "Firsts: The History of Computing" online auction, by Christies. Retro-hardware is going up in value as those of us who were young at the time now have the financial resources to indulge our nostalgia, but there are limits to how far most of us will go. Still, even at $8190, this luxury retro mouse pales in comparison to Allen's record-breaking $1.5 billion art collection auction in 2022; wealth accumulated in a large part through the computer revolution that the humble green-eyed mouse helped enable. For most of us, the historical significance lies not in auction prices, but in recognizing how this modest peripheral and its siblings from Apple, Amiga, Atari, Acorn and others helped transform the computer from a command-line device into a graphical, mouse-driven interface we take for granted today.

Acknowledgements
The good people of Stardot and in particular Bubblewrap for tracking down some information about the Alps 64H101 quadrature decoder and counter IC.
The folks over at the [Vintage Computer Federation forum], in particular snuci for providing excellent pictures of the bus mouse and its ISA card, and krebizfan for setting me straight about the fact that the serial version of the Microsoft mouse was released after the bus mouse.
- ← Previous
Acorn BBC Master Compact Joystick