WIN95 USB LAB 0.1.0 PREVIEW -- TEST TOOLS, NOT A HID DRIVER

Target: Windows 95 OSR2 (95B/95C), initially a QEMU VM with UHCI USB.
Physical hardware is not validated. USB mouse/tablet driver compatibility
is unresolved. USB storage needs a separately supplied compatible driver.

1. PREPARE
   On a modern host, run prepare.py to create a fresh run. Copy U95TEST.EXE
   and its TEST.INI together into any guest folder, or attach U95TEST.IMG
   as a read-only floppy. Keep the host manifest.json for checking results.
   Install the required device drivers before starting the three-phase run.

2. INSTALL
   Start -> Run: A:\U95TEST.EXE /install
   Replace A: with the folder containing the prepared executable and INI.
   Installation copies test files into C:\U95TEST and adds one Run entry
   named PerslisU95Test. It refuses an existing test directory or entry.
   No system DLL, device driver, SYSTEM.INI or CONFIG.SYS is replaced.

3. INSPECT (optional, before the timed run)
   Start -> Run: C:\U95TEST\U95TEST.EXE /inspect
   This writes SNAPSHOT.JSON with actual device status and driver bindings.
   It does not advance a phase, contact the network, or write storage files.
   Archive an existing SNAPSHOT.JSON before inspecting again.

4. TEST
   Start -> Run: C:\U95TEST\U95TEST.EXE /run
   For input/all, click the two target centers with the intended USB device.
   The report is saved after the network check and clicks complete, or after
   two minutes when clicks fail. A completion screen is not a success claim.
   For storage/all, attach the prepared USBTEST.IMG through the VM's USB
   controller. Its drive letter must match storageDrive in TEST.INI.
   A matching U95VOL.TAG and SEED.BIN are required before any test write.
   Only new U95P0.BIN, U95P1.BIN and U95P2.BIN files (64 KiB each) are made.
   These files are never overwritten. Earlier files are checked each phase.

5. RESTART AND COLD BOOT
   Phase 0: use the central completion button or Enter to request restart.
   Phase 1: repeat the checks, then request shutdown. Confirm the guest is
   fully powered off. Cold-start it; do not resume a saved-memory state.
   Phase 2: repeat the checks, then finish and shut down. This removes the
   test's automatic-start entry. Keep independent evidence of the two boots.
   Enter is keyboard recovery and never counts as a USB mouse click.
   The test may start after your network logon prompt; log on normally.

6. COLLECT
   Once the guest is stopped, copy C:\U95TEST to the host using your existing
   VM manager's file-transfer method. Preserve TEST.INI, PHASE0.JSON through
   PHASE2.JSON and EXIT0.JSON through EXIT2.JSON. Keep screenshots of device
   status, the observed input actions, and VM shutdown/cold-start evidence.
   Run check.py on the host. Guest reports alone do not prove USB routing,
   a DHCP lease, or successful VM lifecycle transitions.

7. CANCEL OR REMOVE
   Alt+F4 cancels the tester and removes its Run entry. To remove startup
   later, run C:\U95TEST\U95TEST.EXE /remove. This operation is repeatable.
   After the tester exits, archive the reports and delete C:\U95TEST if
   desired. No driver rollback is performed by removing this tester.
   For third-party driver removal, follow that driver's own documentation.

Never change, format, or repair a system disk to prepare these tests. The
host preparation tool creates new auxiliary media only. Use a VM backup
before changing drivers. Retain PS/2 input while testing USB input.
