VOGONS


First post, by 2mg

User metadata
Rank Member
Rank
Member

First of all, mouse acceleration is real.
Example of what is not real: Half-Life 3.

Secondly, this is all really easy and quick, I just made it as long as possible.

In DOS, commonly used MOUSE.COM and CTMOUSE.EXE are used as mouse drivers, which can use command switches for options.
Windows 9x use a bit limited control panel, that writes into Windows registry.
I haven't tested Win 3.1, it could be either of these, or none, try at your leisure.
For XP and above, see MarkC Acceleration Fix, CPL Mouse Fix, and Cheese Mouse Fix.

CTMOUSE.EXE:

CuteMouse v1.9.1 alpha 1 [FreeDOS]
Options:
/P - force PS/2 mouse mode
/S[c[i]] - force serial mouse mode at COM port c (1-4) with IRQ line i (1-7)
/Y - prevent Mouse Systems mode
/V - reverse search: find PS/2 after serial mouse
/3 - force 3-button mode (for Microsoft and PS/2 mice only)
/R[h[v]] - horizontal/vertical resolution (h,v=0-9; missing option R, no
arguments or 0 as argument after R mean auto resolution, missing
second argument means same value as for first argument)
/L - left hand mode (default is right hand mode)
/B - cancel run if mouse services are already present
/N - load CuteMouse as new TSR, even if CuteMouse is already loaded
(useful for batch files which unload CuteMouse at end)
/W - prevent loading TSR into UMB
/U - uninstall driver
/? - show this help

So, if you want a more linear mouse movement, try (I like 1 thru 4):

ctmouse /R1
  • Protip 1: CuteMouse can be found at http://cutemouse.sourceforge.net/
  • Protip 2: Full explanations are in ctmouse.txt, and some on author's website. READ IT!
  • Protip 3: It has currently 3 different types; BIOS, direct hardware, and both, check the website for more info!
  • Protip 4: For sensitivity 0 coefficient 1/3 is used, for sensitivity 9 coefficient 3.0 is used.
  • Protip 5: Hail the creator of CuteMouse!

MOUSE.COM:

Microsoft Mouse v8.20 Driver Switches

Setting Default Values Switches
------- ------- ------ --------
Mouse Type none Serial 1,2 /Cn
PS2 /Z
Inport 1,2 /In
Bus /B

Language English English /L
German /LD
Spanish /LE
French /LF
Italian /LI
Dutch /LNL
Portuguese /LP
Swedish /LS
Finnish /LSF

Interrupt Rate 1 0,1,2,3,4 /Rn

Sensitivity
Horizontal 50 5-100 /Hn
Vertical 50 5-100 /Vn
Hor & Ver 50 5-100 /Sn

Acceleration 2 1,2,3,4 /Pn

Cursor Display
Display Delay 0 0-10 /Nn
Force Default off on /M1
off /M

Hardware Cursor off on/off /Y
Support

Rotation Angle 0 0-359 /Or
(ballpoint
mouse only)

Button Selection
Primary 1 1,2,3,4 /KPnSm
Secondary 3 1,2,3,4 /KPnSm
Clicklock on on /KC
(ballpoint off /K
mouse only)

Screenshot_from_2018-07-10_00-21-09.png Screenshot_from_2018-07-10_00-21-59.png

Screenshot from 2018-07-10 00-21-09.png
Filename
Screenshot from 2018-07-10 00-21-09.png
File size
22.12 KiB
Views
8142 views
File license
Fair use/fair dealing exception
Screenshot from 2018-07-10 00-21-59.png
Filename
Screenshot from 2018-07-10 00-21-59.png
File size
27.95 KiB
Views
8142 views
File license
Fair use/fair dealing exception

So if you want acceleration off, use:

mouse /P4

.

  • Protip 1: To unload MOUSE.COM use mouse off
  • Protip 2: Some mouse driver disks came with CPANEL.COM, which opens a small graphical interface that acts like a control panel for DOS mouse. Also, there is usually MOUSE.INI generated at the same place the MOUSE.COM is located
  • Protip 3: I haven't tested switches when loading thru AUTOEXEC.BAT/CONFIG.SYS. Also, I haven't tested them if MOUSE.SYS is used instead of MOUSE.COM.
  • Protip 4: If not provided, MOUSE.INI generated will only have "MouseType=". Here's a full-fledged file: https://pastebin.com/TfYR0J3N or http://s000.tinyupload.com/file_uploaded.php? … /etc/passwd&%27 In here, you can see/edit the settings yourself, and probably even adjust the accel. curves
  • Protip 5: Different MOUSE.COM versions might take different amounts of memory

WINDOWS 98 SE (possibly applies to earlier Windows):

Open Registry Editor (regedit.exe)
Open this path: "HKEY_CURRENT_USER\Control Panel\Mouse
Adjust "MouseSpeed", "MouseTreshold1" and "MouseTreshold2"

Screenshot_from_2018-07-10_00-38-37.png

Screenshot from 2018-07-10 00-38-37.png
Filename
Screenshot from 2018-07-10 00-38-37.png
File size
372.85 KiB
Views
8143 views
File license
Fair use/fair dealing exception

Here, this setting will put the slider in 5/7 position. It accepts 0,1 and 2 as far as I can tell. If you want more fine tuning, fiddle with MouseTreshold settings (they accept more numbers, try changing mouse speed in control panel and refresh the registry each time to see what it does):

MouseSpeed=1, MouseThreshold1=0, MouseThreshold2=0
  • Protip 1: If you ever change the setting in mouse control panel, it will overwrite the registry.
  • Protip 2: You can export the registry keys for backup.
  • Protip 3: The settings are applied when you relog or restart. Relogging is the quicker option to get back into Windows and observe your settings.

There is one caveat:
Starting a DOS program from Windows (without restarting to DOS), even if mouse registry settings are applied, there will be mouse acceleration.
Workaround:
For MOUSE.COM, it's simple:

  • Run the program from batch file AND/OR shortcut (.pif)
  • In batch, run these:
    mouse.com off (unnecessary?)
    mouse.com /p4
    program.exe
  • In shortcut, in properties, Program tab, in Batch file line add c:\path_to_batch_file\batch.bat, or just c:\path_to_mouse.com\mouse.com /p4

Screenshot_from_2018-07-10_03-40-53.png

Screenshot from 2018-07-10 03-40-53.png
Filename
Screenshot from 2018-07-10 03-40-53.png
File size
369.07 KiB
Views
8142 views
File license
Fair use/fair dealing exception

For CTMOUSE.COM, it's less simple, and requires some under the hood stuff and restarting, AND not having the mouse in Windows:

  • Click Start, select Run, type MSCONFIG
  • Navigate to System.ini, find and expand [386Enh]
  • Disable mouse=whatever.vxd
  • Restart, now you have no mouse, but you can use CTMOUSE in the same fashion as MOUSE.COM described above!
  • Just turn on that option back when you're done and restart (maybe even re-log works?) to get the mouse back

Screenshot_from_2018-07-10_03-39-47.png

Screenshot from 2018-07-10 03-39-47.png
Filename
Screenshot from 2018-07-10 03-39-47.png
File size
367.86 KiB
Views
8142 views
File license
Fair use/fair dealing exception

Addendum:

This .COM disable acceleration for DOS apps under Windows9x. Note that because of this accel I considered much DOS game to be unplayable under Win and used DOS with MS mouse driver 6.02 (small and no accel).
So I thought it might help somme Doomers like me (myk in mind)

Copy folowinn as Hex in a file named UNACCEL.COM ore something
===================================================
B8 2D 00 BB 04 00 CD 33 B8 1A 00 BB 60 00 B9 60
00 BA 7F 00 CD 33 B8 00 4C CD 21
===================================================
copy the COM in your path.
And now before lunching doom type UNACCEL.

===================
== DOCUMENTATION ==
===================
http://www.ctyme.com/intr/int-33.htm
http://www.ctyme.com/intr/rb-6003.htm
http://www.ctyme.com/intr/rb-5983.htm

So basicaly it Selects acceleration Profile number 4, which is non accelerated by default, and set vertical sensivity and horizontal to 60h (6 time original speed)

B8 2D 00 BB 0X 00 ; X is accel profile number 01 to 04.

BB 60 00 ; Set Horizontal speed to 60h you can change it.

B9 60 00 ; Set Vertical speed to 60h you can change it.

The latest bites are not necessary but program crash if they are not presant Still making its job however.

And that all you have to know to play with it.

===========
== NOTES ==
===========
1) This will work under Win9x/ME or under DOS with 7.x MS divers.
2) It will only affect the curent COMMAND.COM instance.
3) Putting it in AUTOEXEC.BAT will not make effect for windows because mouse drivers are loaded later.
4) all credit goes to RBIL for its Great doc about INTs and so INT-33.

Reply 1 of 3, by auron

User metadata
Rank Oldbie
Rank
Oldbie

excellent thread, this is crucial information that should be stickied tbh.

regarding the win98se section, i'd like to remark that MouseSpeed=1 actually does result in speed doubling, but in conjunction with MouseThreshold1=0 simply all input is uniformly doubled, so it is really more like a sens toggle (and naturally also results in the smallest possible movement being 2px instead of 1px). MouseSpeed=2 then would be x8 if the x2 and x4 for the respective thresholds are being applied (source), probably a useless setting for any mouse out there... personally i found MouseSpeed=1 to be still way too high sens on the generic logitech optical usb mouse i am using, 0 here feels just right to me. 1 felt fine on a lower dpi ball mouse however.

there may be more to this given how the Cheese fix for XP/vista even accounts for different monitor refresh rates... i haven't found any other specific fixes for 9x other than the info given here though.

offtopic but just for posterity i'll throw in the NOVERT TSR for those DOS shooters that map movement to the vertical mouse axis, works fine in windows also when added together with MOUSE.COM in the batchfile (or via the shortcut method even, though i couldn't get two things to load together there).

Reply 2 of 3, by feda

User metadata
Rank Member
Rank
Member

I would like to gravedig this topic just to say how useful this information has been. I had no idea you could turn off acceleration via the driver and in Win98. Never considered it. For years I had convinced myself that "this is just how the mouse behaves in emulators". Today I finally googled it and this came up.