Nox original Windows demo
Fixture and provenance
The February 2000 original multiplayer demo is preserved at
https://archive.org/download/NoxDemo/noxdemo.exe. Archive metadata identifies
Westwood Studios / Electronic Arts. The publisher-hosted GameStar April 2000
CD index, page 1,
independently lists Demos\Nox\Noxdemo.exe as Nox Multiplayer. This corroborates
the historical filename, not the identity of the Archive copy.
Downloaded on bx_yqnspudj, 2026-10-13, without copying the archive to the
space-constrained coordination checkout:
| Artifact | Identity |
|---|---|
noxdemo.exe |
46,083,584 bytes |
| MD5 | 1b96a80a11370a449c6515648578c80f |
| SHA1 | 78c5187fd27d1264e4cce1b053e1c02bfc0b38ca |
| SHA256 | ba01f1b43ff1d95f4cd2ab63abe4572e9b26ab22f1b7bd8b99d852fba6607eec |
Extracted nox.exe |
1,593,344 bytes; SHA256 496123ad275e5d626f31a845033c7ddb7d86fbbf3c2532d2e1f639f8bc77a781 |
Extracted mss32.dll |
331,776 bytes; SHA256 d7028f4f8d458b359b8cb8e6bbdf00d2ecc145643e88e9e641be98fae0bada23 |
Remote root: /home/user/nox-demo-preflight-20261013. acquisition.json records
the final redirect and verified hashes. Native 7z archive extraction of the
WinZip self-extractor, then distribution/Install/Game1.CAB, yields game/:
125 original files, 50,450,550 bytes. Every path and size agrees with shipped
distribution/Setup/FILESIZE.INI; game-manifest.json pins every SHA256.
No native installer was executed and no license dialog was accepted.
Keep the fixture private/local-only. The shipped Setup/LICENSE.TXT is
restrictive; historical demo availability does not establish public
redistribution permission. Preserve the entire original distribution.
Executable and dependency closure
nox.exe statically imports mss32.dll plus KERNEL32, USER32, GDI32, ADVAPI32,
SHELL32, ole32, WINMM, DDRAW, DINPUT, WSOCK32 and IMM32. The original Miles DLL
imports KERNEL32, USER32 and WINMM. MP3DEC.ASI imports KERNEL32 and mss32;
retain it, mss16.dll and mssb16.tsk. Preserve the original window resources,
nox.csf, configuration, audio/video bags and indexes, and maps:
Bunker, Estate, FortNox, So_Woods.
The separate original distribution/Wolapi/ contains WOLAPI.DLL, PATCHW32.DLL
and registration utilities. They were not needed to reach the tested local
Network host route. Peer networking and Westwood Online are untested.
The pinned CLI checkout warned that real shell32.dll/ole32.dll files were not
on disk, but this route did not encounter an ordinal crash. The demo attempts
to open music\title.wav, which is absent from its own complete manifest; no
replacement was supplied. Audio quality is unassessed.
Ordinary route and input
Both runs used original game/nox.exe, original mss32.dll via --dll-seed,
and --vfs-include=**/*, with no fabricated registry state or game patches.
Pinned source: 5e012cb3c575373a54a004862b3fb89cdf34766e in remote
/home/user/wa-focus-source-work; module SHA256
9b3ef6f173daaa8be90733a4b8449733d74ca861062d0383a709f4be02ce1c77.
Its source tree 77c9daabd16e1c096467385b3cf8efc5672b6780 matches the tested
dialog-focus candidate 33efb438. No new build or runtime fix was needed.
The inspected route is:
- Westwood logo, then Nox title and Click to Continue.
- Multiplay → Network → Host Game.
- Place the host flag on the world map.
- Select the available Conjurer; accept the character and default Jack name.
- Dismiss the Chat Area information dialog. This area is not the arena.
- The Game panel selects Bunker by default; click GO.
- Inspect Jack, carpet, green body and blue crystals in the rendered arena.
Menu control needs relative mouse deltas and held presses across guest execution. An absolute move alone did not reposition the game's pointer. Do not assume its internal cursor remains at the host's absolute point when entering flag placement: the game recenters that cursor. The saved control sequence records the inspected correction.
Shipped default.cfg binds right mouse to MoveForward, left mouse to Action,
and Space/middle mouse to Jump. Only right-button movement was qualified here.
Evidence and qualification
Initial investigation:
scratch/runs/20261013T2149Z-nox-original-startup/investigation.json.
It reaches Bunker and shows movement, but its movement commands are the
standard CLI di-mousedown:2 / di-mouseup:2 adapter. That run alone does not
establish the ordinary renderer right-button path.
Followthrough:
scratch/runs/20261013T2203Z-nox-renderer-control/investigation.json.
All 125 fixture hashes were checked again before launching. After inspecting
the Bunker screenshot, supported control eval called the ordinary handlers:
renderer.handleMouseDown(437, 380, 2);
// Execute 20 guest batches, capture while held.
renderer.handleMouseUp(437, 380, 2);
// Execute 5 batches, capture; execute another 20 idle batches, capture.
The caller does not assign host button state, call a device-memory writer, or
modify guest game state. The normal renderer handles those input duties.
Logs show WM_RBUTTONDOWN 0x204 and WM_RBUTTONUP 0x205 delivered to NOX
0x10001; focus and main window stay 0x10001, the mapping is 640×480 at
1:1, and the observed host button mask is 0 → 2 → 0.
Root reviewed 001-arena-before.png, 003-right-held.png and
005-idle-after-release.png: Jack moves relative to the carpet and green
body, and camera scrolling exposes the adjacent room. The matching idle
control changes 192 pixels; the held comparison changes 123,557 pixels
(120,142 inside the world viewport). Images and input/state records support
the conclusion; pixel differences alone are not the gameplay criterion.
Release is proven as an input event and cleared button state, not immediate motion cessation. The released and later idle screenshots still differ in camera/world placement; this run does not distinguish animation, camera settling or movement inertia. Do not describe the release interval as a stationary control or infer continuous right-button state from those pixels.
The followthrough exited 0 at 2026-10-13T22:03:55.259Z; driver 140433,
guest 140457 and process group 140457 were independently absent at
22:04:06.130Z. Eighteen remote artifacts were copied and hash-verified.
This qualifies a narrow original-game CLI launch and player-controlled
movement through the ordinary renderer. Registration, registered browser
launch, DOM input/pointer capture, other controls, combat, audio, FPS,
physical devices, real network peers and completion remain separate.
Evidence remains investigation.json until a matching candidate is registered.
Registered CLI verification (2026-10-13 22:10 UTC)
Exact candidate 3540d8304237d6db016d0c4179088306072b8fc3 uses
--app=nox_demo with no EXE or DLL override. Native SFX extraction followed
by the registered Game1.CAB preparation reproduced all 125 original game
files with matching SHA-256 hashes and generated the browser file manifest.
The tested source closure matches module
9b3ef6f173daaa8be90733a4b8449733d74ca861062d0383a709f4be02ce1c77.
Run 20261013T2210Z-nox-registered repeats Network/Host/Bunker and normal
renderer right-button hold20/release5/idle20. Root reviewed arena-before and
right-held captures: Jack moves relative to the carpet/body and camera reveals
the corridor. Button mask0/2/0 and WM down/up delivery were observed.
The same post-release settling/inertia limitation above remains. Guest exit0
at22:11:34.223Z; driver146061, guest146111 and guest group were absent at
22:11:54.066Z. This validates registered CLI launch and narrow movement, not
browser/DOM controls, audio, FPS, peer networking or a complete game.