mirror of
https://github.com/felixrieseberg/windows95.git
synced 2026-05-09 00:24:09 +00:00
Seamless mouse (VMware backdoor + VBADOS) and fs-backed TOOLS share (#355)
* Seamless mouse via VMware backdoor + fs-backed TOOLS share v86 (rebuilt libv86.js from fork branch vmware-mouse): new VMwareMouse device on port 0x5658 implementing GETVERSION/ABSPOINTER_* fed by the existing mouse-absolute bus event. Move-only packets are coalesced so the guest cursor never falls more than one frame behind. Emits vmware-absolute-mouse on the bus when the guest driver toggles mode. Renderer: listens for that event, keeps the v86 mouse enabled without pointer lock, drops the startup auto-capture, and hides the host cursor over the canvas (.seamless-mouse) while the driver is active. Falls back to click-to-capture when no driver is present. SMB: TOOLS share is now backed by the bundled guest-tools/ directory (subdirectories work) with the synthetic README.TXT/_MAPZ.BAT overlaid at the root. resolve() routes by tid; SEARCH and FIND_FIRST2 share a single listForSearch helper. guest-tools/mouse-driver/: VBMOUSE.EXE + VBMOUSE.DRV from VBADOS (Javier S. Pedro, GPLv2). Load the TSR from AUTOEXEC.BAT and set mouse.drv=vbmouse.drv in SYSTEM.INI to enable seamless mouse. Also: tsconfig rootDir "." for TS 6.0 (preserves dist/src/ layout). * docs: windows95-base now includes vmware-abspointer
This commit is contained in:
committed by
Felix Rieseberg
parent
1dbb853fe6
commit
27b9e0eb7a
23
guest-tools/README.md
Normal file
23
guest-tools/README.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# guest-tools
|
||||
|
||||
Files and folders in this directory are exposed read-only inside the VM at
|
||||
`\\HOST\TOOLS` (alongside the synthetic `_MAPZ.BAT` and `README.TXT`).
|
||||
Drop drivers and utilities here that you want available from within
|
||||
Windows 95.
|
||||
|
||||
## mouse-driver/ — seamless mouse (VBADOS)
|
||||
|
||||
`VBMOUSE.EXE` (DOS TSR) + `VBMOUSE.DRV` (Windows 3.x/9x driver) from
|
||||
[VBADOS](https://git.javispedro.com/cgit/vbados.git/) by Javier S. Pedro,
|
||||
GPLv2. Talks to v86's VMware mouse backdoor (port 0x5658) so the Windows
|
||||
95 cursor tracks the host cursor pixel-for-pixel without pointer lock.
|
||||
|
||||
Install inside the guest:
|
||||
|
||||
1. Copy `\\HOST\TOOLS\mouse-driver\VBMOUSE.EXE` to `C:\` and add a
|
||||
`C:\VBMOUSE.EXE` line to `C:\AUTOEXEC.BAT`.
|
||||
2. Windows Setup (or Control Panel → Mouse → General → Change → Have
|
||||
Disk) → browse to `\\HOST\TOOLS\mouse-driver` → pick **VBMouse int33
|
||||
absolute mouse driver**.
|
||||
3. Reboot. The app detects the driver and stops grabbing pointer lock;
|
||||
ESC still toggles lock for games that want raw relative input.
|
||||
6
guest-tools/mouse-driver/LICENSE.TXT
Normal file
6
guest-tools/mouse-driver/LICENSE.TXT
Normal file
@@ -0,0 +1,6 @@
|
||||
VBMouse - DOS/Windows absolute mouse driver
|
||||
Copyright (C) 2022 Javier S. Pedro
|
||||
Licensed under the GNU General Public License, version 2 or later.
|
||||
|
||||
Source: https://git.javispedro.com/cgit/vbados.git/
|
||||
Binaries extracted from https://depot.javispedro.com/vbox/vbados/vbados.flp
|
||||
8
guest-tools/mouse-driver/OEMSETUP.INF
Normal file
8
guest-tools/mouse-driver/OEMSETUP.INF
Normal file
@@ -0,0 +1,8 @@
|
||||
[data]
|
||||
Version = "3.0"
|
||||
|
||||
[disks]
|
||||
1 =., "VBADOS driver disk", disk1
|
||||
|
||||
[pointing.device]
|
||||
vbmouse = 1:vbmouse.drv, "VBMouse int33 absolute mouse driver", x:*vmd, vbmouse
|
||||
BIN
guest-tools/mouse-driver/VBMOUSE.DRV
Normal file
BIN
guest-tools/mouse-driver/VBMOUSE.DRV
Normal file
Binary file not shown.
54
guest-tools/mouse-driver/VBMOUSE.EN
Normal file
54
guest-tools/mouse-driver/VBMOUSE.EN
Normal file
@@ -0,0 +1,54 @@
|
||||
# Language: English
|
||||
# Codepage: 437
|
||||
#
|
||||
# Spaces before text must be kept. Be sure that no spaces are
|
||||
# added to the end of the lines.
|
||||
#
|
||||
0.0:Usage:
|
||||
0.1: VBMOUSE <ACTION> <ARGS..>
|
||||
0.2:Supported actions and options:
|
||||
0.3: install Install the driver (default).
|
||||
0.4: low Install in conventional memory (otherwise UMB).
|
||||
0.5: uninstall Uninstall the driver from memory.
|
||||
0.6: wheel <ON|OFF> Enable/disable wheel API support.
|
||||
0.7: wheelkey <KEY|OFF> Emulate a specific keystroke on wheel scroll.
|
||||
0.8: Supported keys: updn, pageupdn.
|
||||
0.9: integ <ON|OFF> Enable/disable VirtualBox integration.
|
||||
0.10: hostcur <ON|OFF> Enable/disable mouse cursor rendering in the host.
|
||||
0.11: reset Reset mouse driver.
|
||||
1.0:Wheel mouse found and enabled\n
|
||||
1.1:Setting wheel support to %s\n
|
||||
1.2:enabled
|
||||
1.3:disabled
|
||||
1.4:Generate Up Arrow / Down Arrow key presses on wheel movement\n
|
||||
1.5:Generate PageUp / PageDown key presses on wheel movement\n
|
||||
1.6:Disabling wheel keystroke generation\n
|
||||
1.7:VirtualBox integration enabled\n
|
||||
1.8:Disabled VirtualBox integration\n
|
||||
1.9:VirtualBox integration already disabled or not available\n
|
||||
1.10:Setting host cursor to %s\n
|
||||
1.11:Found VMware protocol version %ld\n
|
||||
1.12:VMware integration enabled\n
|
||||
1.13:Disabled VMware integration\n
|
||||
1.14:VMware integration already disabled or not available\n
|
||||
1.15:Neither VirtualBox nor VMware integration available\n
|
||||
1.16:VirtualBox integration not available\n
|
||||
1.17:Driver installed\n
|
||||
1.18:Driver uninstalled\n
|
||||
1.19:Reset mouse driver\n
|
||||
1.20:\nVBMouse %x.%x (like MSMOUSE %x.%x)\n
|
||||
1.21:VBMouse already installed\n
|
||||
3.0:Could not find PS/2 wheel mouse\n
|
||||
3.1:Wheel not detected or support not enabled\n
|
||||
3.2:Unknown key '%s'\n
|
||||
3.3:Cannot find VirtualBox PCI device, err=%d\n
|
||||
3.4:Cannot lock buffer used for VirtualBox communication, err=%d\n
|
||||
3.5:VirtualBox communication is not working, err=%d\n
|
||||
3.6:Could not detect VMware, err=%ld\n
|
||||
3.7:VMware absolute pointer error, err=0x%lx\n
|
||||
3.8:Cannot init PS/2 mouse BIOS, err=%d\n
|
||||
3.9:INT33 has been hooked by someone else, cannot safely remove\n
|
||||
3.10:INT2F has been hooked by someone else, cannot safely remove\n
|
||||
3.11:Driver data not found (driver not installed?)\n
|
||||
3.12:Invalid argument '%s'\n
|
||||
3.13:Argument required for '%s'\n
|
||||
BIN
guest-tools/mouse-driver/VBMOUSE.EXE
Normal file
BIN
guest-tools/mouse-driver/VBMOUSE.EXE
Normal file
Binary file not shown.
Reference in New Issue
Block a user