VOGONS


First post, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

I have a weird problem in some games that makes using the mouse quite painful: The mouse moves twice as fast horizontally when compared to moving it vertically. Ultima 8 is an example.

I tried tweaking mouse settings in KDE's settings, but nothing seems to help.

DOSBox 0.74 (also tried SVN). I'm on Linux 64-bit, using the evdev mouse driver, X.Org server 1.9.0, kernel 2.6.35.7 (also tried 2.6.36-rc8, but same thing happens.)

Reply 1 of 18, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

yeah I think one of our default mouse modes is wrong for a certain video mode. Most games don't care as they set all parameters themselves

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 18, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

Another game where this happens is "Frederik Pohl's Gateway". That one uses 640x480 16 color mode.

This problem happens to occur to 2 out of 3 games I'm currently playing 😁 Is there something that can be done to work around the issue?

Reply 4 of 18, by realnc

User metadata
Rank Oldbie
Rank
Oldbie

Could you give me some info about what would be needed to fix it? I could take a look at it. I never looked at DOSBox's sources and don't know much about hardware emulation, but still, maybe it's something that I could do.

Reply 5 of 18, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

a list of broken games would be a good start.
then you need to see which videomode they use.
then you would need to see which mouse calls they do.
Combine the 2 above things to determine where it goes wrong.
(probably a different sensitivity setting (in src/ints/mouse.cpp) for a specific videomode.)

Water flows down the stream
How to ask questions the smart way!

Reply 6 of 18, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Might be a good idea to be sure there's a problem with DOSBox's mouse driver, first. I see the same difference in axial speed with MS Mouse drivers as well in both games.

Legend adventure games, like Gateway, have an XMOUSE parameter to use their internal mouse driver. It has a different feel to it, whether it's better or not is subjective.

Reply 8 of 18, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Ultima 8 is calling function 0xf of the mouse driver to change the mickey/pixel ratio to 3 horizontal and 16 vertical. The default ratio is 8 horizontal, so no wonder the speed is off. Using the default ratio gives equal speed on both axes. Maybe there's some issue that causes it to use that ratio, because I don't see a reason; but it does the same thing with MS Mouse drivers.

The attached TSR program will override the strange ratio in Ultima 8.

Attachments

  • Filename
    U8MPR.ZIP
    File size
    180 Bytes
    Downloads
    509 downloads
    File license
    Fair use/fair dealing exception

Reply 11 of 18, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie

I've noticed that this happens a lot when 4:3 resolutions are used on widescreen monitors without scaling, which (besides the obvious distortion) is why it really irks me whenever people use resolutions like 1024x768 on their flashy new monitors "because it's easier to read".

Reply 12 of 18, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The different axial speeds of the mouse in Ultima 8 are the result of the game specifically instructing the mouse driver to handle pointer motion that way. I thought at first it might be a DOSBox issue of some kind, but the code in the game is very straightforward about how it programs the mickey-to-pixel ratios of the mouse driver.

I think the faster horizontal speed serves a purpose. To make The Avatar run, the mouse pointer must be moved almost to the edges of the screen. If the mouse movement speed is the same on both axes, you have to physically move your mouse further to run horizontally than vertically because of the rectangular screen resolution. The faster horizontal speed is probably the game designers' attempt to have the mouse move in a square area while the mouse pointer moves in a rectangular area. It sort of works for moving around, but when you use the mouse to click on items, dialogue choices, and interface elements, the different axial speeds can be difficult to get used to.

If you find the different speeds more annoying then useful, the TSR is an easy way to force the game to use equal speeds on both axes. To use the TSR program, just run it before running the game. It's intended for Ultima 8 only, and probably won't have an effect on other games.

Reply 14 of 18, by twotone8

User metadata
Rank Newbie
Rank
Newbie

hey mr_bigmouth_502. what resolutions would you reccomend running on a 16:9 monitor. just a native 16:9 resolution?
....hrm
....this might be a stupid question come to thenk of it, but what the hell.

Reply 16 of 18, by ynkot

User metadata
Rank Newbie
Rank
Newbie

Anyone else is having this exact problem with Warlords 2 1.02 and Warlords 2 Deluxe? Using hacks such as "mousex" or "mouse2kv" doesn't help. Is there any way to force the mouse sensitivity in dosbox?

Reply 17 of 18, by beastlike

User metadata
Rank Member
Rank
Member
ripsaw8080 wrote:

Ultima 8 is calling function 0xf of the mouse driver to change the mickey/pixel ratio to 3 horizontal and 16 vertical. The default ratio is 8 horizontal, so no wonder the speed is off. Using the default ratio gives equal speed on both axes. Maybe there's some issue that causes it to use that ratio, because I don't see a reason; but it does the same thing with MS Mouse drivers.

The attached TSR program will override the strange ratio in Ultima 8.

Gave it a quick disassemble - very cool the way it overrides their override 😀 Also dig the mousex.exe from another post.

Is it possible that games like this called 33h/F because of the way the mouse worked with Mode X in machines of that era?

I'm seeing the same behavior in Warlords 2 in DOS on a newer mobo (not DOSBOX), and the game looks too high res to be MCGA and too low res to be SVGA - that's what made me think this could be the issue.

Even when the pixel ratio is set back to 8, it's still a tiny bit off, but WAY more playable. Thank you!

Reply 18 of 18, by mr_bigmouth_502

User metadata
Rank Oldbie
Rank
Oldbie
beastlike wrote:
Gave it a quick disassemble - very cool the way it overrides their override :) Also dig the mousex.exe from another post. […]
Show full quote
ripsaw8080 wrote:

Ultima 8 is calling function 0xf of the mouse driver to change the mickey/pixel ratio to 3 horizontal and 16 vertical. The default ratio is 8 horizontal, so no wonder the speed is off. Using the default ratio gives equal speed on both axes. Maybe there's some issue that causes it to use that ratio, because I don't see a reason; but it does the same thing with MS Mouse drivers.

The attached TSR program will override the strange ratio in Ultima 8.

Gave it a quick disassemble - very cool the way it overrides their override 😀 Also dig the mousex.exe from another post.

Is it possible that games like this called 33h/F because of the way the mouse worked with Mode X in machines of that era?

I'm seeing the same behavior in Warlords 2 in DOS on a newer mobo (not DOSBOX), and the game looks too high res to be MCGA and too low res to be SVGA - that's what made me think this could be the issue.

Even when the pixel ratio is set back to 8, it's still a tiny bit off, but WAY more playable. Thank you!

Holy necroposting, Batman. 😳 Anyway, from what I can gather the original release of Warlords II uses 16 color VGA, while Warlords II Deluxe adds support for 256 color SVGA. It's possible the original is using some sort of a tweaked VGA mode or even 640x350 EGA, but I'm doubtful about the latter.