Commandos: Behind Enemy Lines (demo)

Pyro Studios / Eidos, 1998. Playable demo with two missions (Baptism of Fire, Reverse Engineering). Registered as commandos_demo.

Fixture

Route (headless, worked first time with no emulator change, 2026-10-06)

Batch numbers at the default --batch-size, --quiet-api:

batch input screen
~0-300K - "Welcome to the playable demo"
300K keydown/keyup VK_RETURN main menu
460K mousedown/up 315,162 New Game submenu
570K mousedown/up 275,200 Mission 1 "Baptism of Fire" briefing (voice-over)
700K keydown/keyup VK_ESCAPE in mission: intro camera pan, then the map
880K+ mousedown/up 30,20 (first portrait) Green Beret selected, camera centres on him, inventory panel
mousedown/up 250,400 (ground) he walks there, footprints in the snow, patrols move

Escape inside the mission opens the in-game menu (do not press it twice). A ground click at 320,330 right under the tree canopy did nothing visible; pick open snow. Use run.js --control --frozen + tools/ctl.js beyond the briefing: one 880K-batch scripted run takes ~80 s of wall clock.

Evidence: scratch/runs/20261006-commandos-demo-move.

Audio (CLI, data level)

Two DirectSound users, and the first one is a trap when measuring:

A guest thread's API calls only reach the log with --trace-api=NAMES ([API T1] lines); --trace-api without names prints none of them, so a census from the default log undercounts every streaming mixer.

Measured 2026-10-06: --trace-host=voice_play_ring shows the music voice refreshed 75,849 times by batch 760K; a dump of its ring at 750K has peak 1.0 and 91% non-silent samples. Real browser output, FPS and the browser route are not yet checked.