86Box/86Box

Change default setting of Logitech/Microsoft Bus Mouse from IRQ5 to IRQ2

Closed this issue · 4 comments

What happened?

The reason this is necessary is because on a 486 when it's on IRQ5 the driver will say interrupt jumper not present, etc. It can also crash 86Box when it goes into a mouse-aware app when it's on the wrong interrupt.

IRQ2 is the correct setting to use for a 486 class machine. It's less likely that someone will be using a mouse on an older machine, so it makes sense to change the default unless it can have a case statement where it is changed depending on what machine/cpu is being used.

Info on IRQ settings and mouse installation: https://jeffpar.github.io/kbarchive/kb/012/Q12230/

Configuration file

n/a

Operating system

Windows 10

CPU

Core 2 Duo

86Box version

v4.1.1 build 5634

Build architecture

Windows - x86 (32-bit)

Build type

  • New recompiler
  • Debug build

Download source

Official website (Jenkins, GitHub)

Additional context

Also, as this is the only mouse driver with a "continuous" mode, it is the preferable device over serial and PS/2.

On which 486 machine, specifically? Sounds to me like it's conflicting with the LPT port on IRQ 5.

Also, as this is the only mouse driver with a "continuous" mode, it is the preferable device over serial and PS/2.

The continuous mode becomes slower on faster emulated CPU's anyway, since the number of CPU instructions executed between updates increases, defeating the point.

I agree. I was testing mouse options earlier and decided PS/2 was functioning better. Out of curiosity, would you know offhand what rate the PS/2 is actually polling at? I am seeing wildly varying numbers stated everywhere.. 40 Hz, 60 Hz, 100 Hz. I know it can go up to 200 with software in Windows, but how about without it?

The machine in question is the Soyo 4SAW2. Looking at the list of IRQs in the BIOS power management section, it says IRQ5 is for LPT2. But only LPT1 is checked on in the settings which is a different IRQ (and used by sound..). IRQ2 worked A-OK with the mouse driver.. appears as if it's problematic in general though.. this https://jeffpar.github.io/kbarchive/kb/029/Q29279/ says that IRQ2 isn't liked on a 386.

It's polling at whatever rate the guest OS sets it to, and older OS'es tend to set it to ridiculously low rates, such as 40 Hz. For Windows 9x, you need ps2rate, for Windows 3.x and DOS, installing Microsoft IntelliMouse should help.

As for IRQ 2 - it does not exist on AT+, it's the cascade IRQ for the second PIC. The ISA IRQ 2 line is writed to IRQ 9, and the BIOS' IRQ 9 handler than raises the IRQ 2 handler as well, all for backwards compatibility reasons but it's very kludgy.

which is a different IRQ (and used by sound..).

Are you sure sound isn't using IRQ 5 by any chance? If it is, that would explain the strange behavior with the mouse. Because I have a 386SX VM and I tested the bus mouse on IRQ 5 there in Windows 3.1 and it works just fine.

OK, it must be the sound conflicting. Because I just set up the Soyo 4SAW2, bus mouse, IRQ 5, and Windows 3.1 works just fine. But I'm converting this to a discussion so we can discuss what to do with the IRQ.