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,7 +23,7 @@ fallbacks, no fetching from copy.sh.
|
||||
## The fork branch
|
||||
|
||||
v86 should be checked out on **`felixrieseberg/v86:windows95-base`**.
|
||||
That branch merges two bugfix branches, each with an open upstream PR:
|
||||
That branch merges three feature branches, each upstreamable on its own:
|
||||
|
||||
- **`electron-renderer-fs-loader`** (PR #1540) — `src/lib.js` uses
|
||||
`require("fs")` instead of `await import("node:fs/promises")`. Dynamic
|
||||
@@ -35,6 +35,11 @@ That branch merges two bugfix branches, each with an open upstream PR:
|
||||
writes to target only `current_interface`, but per ATA spec they're
|
||||
channel-shared (one register file on the IDE cable; both drives latch
|
||||
the same value).
|
||||
- **`vmware-abspointer`** — `src/vmware.js` implements the VMware mouse
|
||||
backdoor (port `0x5658`, GETVERSION + ABSPOINTER_*) so a guest driver
|
||||
(VBADOS VBMOUSE) can read absolute cursor position and track the host
|
||||
cursor 1:1 without pointer lock. Consumes the `mouse-absolute` bus
|
||||
event that `MouseAdapter` already emits.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
|
||||
Reference in New Issue
Block a user