guest-tools/README.md
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.
VBMOUSE.EXE (DOS TSR) + VBMOUSE.DRV (Windows 3.x/9x driver) from
VBADOS 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:
\\HOST\TOOLS\mouse-driver\VBMOUSE.EXE to C:\ and add a
C:\VBMOUSE.EXE line to C:\AUTOEXEC.BAT.\\HOST\TOOLS\mouse-driver → pick VBMouse int33
absolute mouse driver.W95TOOLS.EXE is a hidden-window agent that talks to the emulator over
the VMware backdoor (port 0x5658). Currently it:
CF_TEXT clipboard to the host (legacy backdoor
commands 6–9; host side is src/renderer/clipboard.ts, which polls
Electron's clipboard),\\HOST\HOST to Z: at login via WNetAddConnection, so
the shared folder shows up as a drive without a trip through
Start → Run,Host-initiated shutdown and a tray icon will live here too when those land.
Install inside the guest:
\\HOST\TOOLS\agent\W95TOOLS.EXE to C:\WINDOWS\.C:\WINDOWS\Start Menu\Programs\StartUp so it runs on login.Copy text on either side and it appears on the other within ~250 ms.
Text only; conversion is Windows-1252 ↔ UTF-8 with CRLF ↔ LF, capped at
64 KB. Built from w95tools.c with Open Watcom v2 — make -C guest-tools/agent (needs Docker).
To update an already-installed agent: end the running W95tools task
(Ctrl+Alt+Del → End Task) or reboot Windows, copy the new
\\HOST\TOOLS\agent\W95TOOLS.EXE over C:\WINDOWS\W95TOOLS.EXE, and
start it again (the StartUp shortcut also picks it up at next login).
Fresh boots run whatever is baked into images/windows95.img — the
agent is installed there twice: at C:\WINDOWS\W95TOOLS.EXE and as a
copy in C:\WINDOWS\Start Menu\Programs\StartUp. You can bake a new
build directly from the host with mtools (brew install mtools), no
QEMU boot needed. The FAT32 partition starts at sector 63 (byte offset
32256):
make -C guest-tools/agent
IMG="images/windows95.img@@32256"
mcopy -o -i "$IMG" guest-tools/agent/W95TOOLS.EXE '::/WINDOWS/W95TOOLS.EXE'
mcopy -o -i "$IMG" guest-tools/agent/W95TOOLS.EXE \
'::/WINDOWS/STARTM~1/PROGRAMS/STARTUP/W95TOOLS.EXE'
Do this while the app is not running. Note that an existing saved
state (state-v4.bin+) keeps its own dirty-block overlay over the
image and the old agent stays loaded in the resumed session's RAM —
so resumed sessions only pick up a new agent after a guest reboot or
an End Task + relaunch.