# Stock MvC mash investigation: public evidence

## September 14 revision: start here

- `revision/core/methodology.md`: MAME 0.287 and custom instrumented FBNeo,
  first-move event attribution, positive-health versus overkill counts,
  input controls, censored runs, RNG and the limits of every headline claim.
- `revision/core/result-summary.json`: authoritative event-scored results.
  Raw case `result.json` can include later attacks; do not substitute its totals.
- `revision/core/outside-window-controls.json`: sampled early/late presses with
  zero credit spends or reimbursements in both engines.
- `revision/roster/methodology.md` and `inventory.json`: native table census,
  normal branches, transformations, named paths and specific unresolved findings.
- `revision/review/core-claim-review.md`: an independent recount of all core
  trials and attempts to falsify the headline interpretations.
- `revision/review/hardware-review.md`: member/offset/byte and schematic review.
- `presentation/`: scored display records, hardware diagram sources and the
  player guide, including super verdicts, input recipes, baseline/best totals,
  code limits and unresolved maximums. The generated scan viewer was removed.

The revision retains the earlier receipts below as historical observations.
Fixture results are not universal maxima. Gold's181 ordinary-health processing
events include67 MAME /65 FBNeo after KO;114 /116 include the lethal event while
health was positive before damage. Roll's first-move23 excludes a later24th event.
Chun's original25 retained18 credits; the new complete-credit fixture reaches30.
No global maximum or infinite-duration result is claimed.

The standalone core manifest authenticates original event/observation files and
portable execution receipts. Its transformation ledger links sanitized and
original hashes. No event values were altered. Recreate saves using the included
scripts and your own ROMs; no saved state or executable is redistributed.

## Original investigations

This package combines the September 13 Chun-Li experiments with the September
14 roster follow-up. Target: unmodified Euro 980123 `mvsc.zip`, MAME 0.287.
`chun-li/provenance.json` identifies every ROM member. Supply your own matching
ROMs and QSound dependency. ROMs, decrypted images, save states and NVRAM are
deliberately excluded. A ZIP hash identifies one archive; member hashes identify
the ROM contents independently of ZIP ordering/compression.

## Read the claims before interpreting the counters

- `receipts/chun-li.md`: Kikosho and Senretsukyaku.
- `receipts/war-machine.md`: Gold and ordinary Proton Cannon; unresolved War
  Destroyer contact comparison; separately labelled high-health duration probe.
- `receipts/ryu.md`: five supers across base Ryu, Ken mode and Akuma mode.
- `receipts/hulk.md`: three supers, fixed wave/rock allocations, held-direction
  aiming, and separate follow-up-charge handling.
- `receipts/roster.md`: Wolverine, Morrigan, Shadow Lady, Mega Man and Roll;
  unresolved Lilith reachability and statically traced grab parameters.
- `receipts/roster-additions.md`: Venom's extra slam cycle, Red Venom's copied
  throw, Strider's projectile firing and Spider-Man's rotation mechanic.
- `receipts/red-venom.md`: Venom Rush with an ordinary-Venom control.
- `code-excerpts.txt`: selected decrypted instructions and CPU addresses,
  independently started at known instruction boundaries; not a whole-ROM scan.
- `hardware-map.json`: program-ROM member identities, physical reference notes,
  CPU addresses, member offsets, raw bytes and decoded instruction samples.

These receipts retain the original investigation's scope/date statements.
Later roster experiments supersede the September 13 notes' "not live-tested"
status for Wolverine and Mega Man. B0=2A identifies a shared attack state, not
solely a Hyper Combo; match the move command and E6 selector as well.

The CSVs sample emulator callbacks. They are not native frame data. Equal
fixture state means the same saved setup within each move. Health/meter/position
are seeded before saving; several roster probes also set a pre-match selection
fixture. No gameplay writes or ROM patches occur during input trials. The
extended Gold duration probe seeds 1024 HP once and is not a normal-health damage
measurement. Read its own receipt. Logged counts are examples, not universal
maximums. Extra objects, impacts, connected combo hits and damage are different
measurements. Strider and Red Venom Web Throw are static-only findings here.

## Verify the downloaded evidence

From the extracted directory, run `python3 verify.py`. It checks every listed
file's size and SHA-256 against manifest.json. This verifies package integrity,
not the truth of every interpretation. `python3 chun-li/summarize.py` also
recomputes and validates the original ten Chun-Li trials.

## Reproduce an input comparison

Create a fresh absolute output directory for each run. Copy the chosen harness
there as `probe.lua`; each script makes its own fixture/save locally. With MAME
0.287, change the three example paths and run:

```sh
MASH_DIR=/absolute/output MASH_MOVE=shinkuu_hadoken mame mvsc \
  -rompath /absolute/roms -noreadconfig \
  -cfg_directory /absolute/output/cfg \
  -nvram_directory /absolute/output/nvram \
  -video none -sound none -nothrottle -skip_gameinfo \
  -autoboot_delay 0 -autoboot_script /absolute/output/probe.lua \
  -seconds_to_run 120 > /absolute/output/run.log 2>&1
```

| Harness inside package | MASH_MOVE | Additional environment |
|---|---|---|
| chun-li/probe.lua | kikosho or senretsukyaku | — |
| roster/ryu/probe.lua | shinkuu_hadoken, shinkuu_tatsumaki, shin_shoryuken, ken_shinryuken, akuma_messatsu_gou_hadou | — |
| roster/war_machine/probe.lua | gold or war_machine | — |
| roster/hulk/probe-traced.lua | gamma_wave, gamma_quake, gamma_crush | — |
| roster/roster/probe.lua | qcf_p or dp_p | MASH_CHAR=8 for Wolverine |
| roster/roster/probe.lua | qcf_pp | MASH_CHAR=30 Morrigan, 42 Shadow Lady, 32 Mega Man, 16 Roll, 44 Lilith |
| roster/venom_webthrow/probe.lua | webthrow | — |
| roster/war_machine/red_venom/probe.lua | qcf_k | MASH_CHAR=36 Red Venom; 12 for ordinary control |

Read each Lua script for its exact input schedule and setup. The stock input
navigator, native transformation commands and roster assertions are part of
the experiment. Do not reuse save states from a different ROM or emulator.
For Hulk, only `*-traced.log` files are published: the earlier lighter probe
included observer-generated input reads and cannot establish CPU read sites.

The screenshots establish visual move identity or a displayed result; they
are sparse captures, not a synchronized video or a substitute for the logs.
