<!-- Research receipt: original investigation notes. File references below refer to paths inside the downloadable evidence archive. Later findings supersede explicitly earlier scope statements. -->

# Additional stock MvC mash-sensitive moves

Same stock Euro 980123 `mvsc.zip` and cached data/opcode views as
`analysis/mvsc_mash_20260913/provenance.json`. This adds roster investigation;
it is not an exhaustive move census. No ROM or blog edits.

## Paired runtime evidence

MAME 0.287, two human players, standing Spider-Man target. The probe chooses
the P1 roster ID in the committed selection RAM before match initialization.
Health (144), meter (3), and positions are seeded before saving. Every trial
reloads the same character-specific state; ordinary input ports execute the
move and the subsequent taps. No gameplay writes occur during the trial.
Thus these are controlled diagnostic fixtures, not recorded human matches.

`tap_all` presses all six attacks every other callback frame after the command.
`directions` rotates cardinal directions with neutral gaps. Scores below stop
at the end of the first active move state. `B0=2A` includes specials as well as
supers, so the move's E6 value and actual command are also checked. Counts are
fixture measurements, not universal minima/maxima or native frame data.

| Move | E6 | No input: hits | Attack taps: hits | Directions: hits |
|---|---:|---:|---:|---:|
| Wolverine Berserker Barrage, QCF+LP | 04 | 2 | 4 | 2 |
| Wolverine Tornado Claw, DP+LP | 00 | 3 | 5 | 3 |
| Morrigan Soul Eraser, QCF+PP | 0E | 18 | 20 | 19 |
| Shadow Lady Big Bang Laser, QCF+PP | 20 | 21 | 25 | 21 |
| Mega Man Hyper Mega Man, QCF+PP | 0E | 17 | 17 | 17 |
| Roll Hyper Roll, QCF+PP | 0E | 15 | 15 | 15 |

The last two are positively mash-sensitive despite unchanged connected hits:
successful child-object allocations at `$0A8616` (Mega Man type D0) were
14 → 23, and at `$0ACAF2` (Roll type 108) were 12 → 20. Direction trials stayed
14 and 12. These totals include the fixed emissions and the mash scheduler;
scheduler reloads themselves increased 6 → 15 and 6 → 14. More projectiles
need not all connect or extend one combo. See `megaman_emit/run.log` and
`roll_emit/run.log`; `EMIT` is logged only after allocation succeeded.

## Logic checked at instruction boundaries

- **Berserker Barrage:** `$035224..03522A` sets a finite repeat count from
  `3 + strength`. During the continuation window `$0352D8..0352E4` tests
  newly pressed punches `D4 & 0070` and sets latch `4F`. The alternating
  attack cycle reads that latch at `$035302`; without it, the move exits.
  Accepted taps sustain more attack cycles, within the strength-dependent cap.
- **Tornado Claw:** `$034A8E`, `$034B5C`, `$034C64`, and `$034D12` inspect
  `(D4 | DE) & 0070` in their animation windows. Accepted punches set word
  `4E=1` and clear the buffered input at DE, permitting continuation stages.
  The DP+LP probe reaches those routines and verifies the rising claw on screen.
- **Soul Eraser buttons:** `$05FCF2` initializes ten credits at `391`.
  `$05FD82` decreases the phase timer; `$05FDAC..05FDC4` accepts a new attack
  edge, spends one credit, and reimburses one timer tick. The extra duration
  permits more hits, with a finite ten-tick extension budget.
- **Soul Eraser directions:** `$05FD9A..05FDA8` sets parent flag `390` for a
  fresh direction edge. Its satellite child normally advances orbit phase
  `4C` by `BC` at `$081298..08129C`; `$0812A4..0812AA` adds that step again
  when parent flag 390 is set. `$0812C6..0812E6` derives the child position
  from the orbit table. Directions accelerate satellite motion; they do not
  add button credits or simply increment a hit counter.
- **Big Bang Laser:** `$06AB2C` sets sixteen credits at word 398. The active
  phase starts with timer 96 at `$06AC2E`. A new attack edge accepted by
  `$06AC62` spends a credit and skips the decrement at `$06AC72`. It extends
  the active beam period; all sixteen credits were consumed in the tap trial.
- **Hyper Mega Man / Hyper Roll:** scheduler `$06455E` / `$042E56` normally
  subtracts one from timer 50. The button helpers at `$064564` / `$042E5C`
  cause four additional ticks to be subtracted. When due, the code consumes
  the next bounded schedule entry and calls the projectile emitter. Mashing
  makes the scheduled projectiles arrive sooner during the active period.

The shared button helper is Boolean `D4 & 0770`, not a popcount. Multiple
simultaneous attack edges do not count as six accepted events. A held button
does not keep producing edges. Player/CPU and other gating remains as in the
original investigation.

## Findings kept separate

**Jin and Zangief grab routines:** these use direction mashing to affect
animation/damage parameters. Jin `$052DB6` caps counter 38A at 20 and sets
animation timer 3E to 1 for a human direction edge. `$052D66..052D72` later
forms attack damage parameter `32 + floor(counter / 4)`. Zangief's direction
sites at `$056F44`, `$0571A8`, `$057AD6`, `$057D6C`, `$058458` similarly speed
animation and increment capped counters later consumed by the grab's damage
logic (e.g. `$05709C..0570A4`, `$057B92..057B9C`). Exact grab names and live
damage changes were not established here. Do not label these as additional
hits for Blodia Vulcan or a general all-supers feature.

**Lilith:** copied Soul Eraser-like code at `$06EE70` includes the familiar
helpers, but normal QCF+PP instead runs E6=0A Brilliant Shower. No copied
helper events were logged. Its measured 13 hits with no input and attack taps
does not establish button mashing; a direction trial changed connections to
16, but that result alone does not prove a direction-mash mechanism. Excluded
from the positive list pending reachability/input tracing.

**Other input-controlled attacks:** Beat Plane's direct punch/kick fire and
Strider's orbiting projectile firing should be described as player-triggered
shots if included, rather than assumed timer-extension mashing. Jin also has
a button-driven taunt progress routine; that is separate from extra-hit supers.

## Files

`probe.lua`, per-character CSV/logs and local snapshots, plus `summary.json`.
The script now also handles DP commands and successful emitter taps; earlier
logs from the lighter probe remain valid. Save states/ROM-derived binaries are
local intermediates, not distributable evidence.

Move-name cross-checks: contemporary author guides identify
[Hyper Mega Man and Hyper Roll](https://gamefaqs.gamespot.com/switch/470861-marvel-vs-capcom-fighting-collection-arcade-classics/faqs/84),
[Soul Eraser](https://gamefaqs.gamespot.com/arcade/562630-marvel-vs-capcom-clash-of-super-heroes/faqs/87),
and [Big Bang Laser](https://gamefaqs.gamespot.com/arcade/562630-marvel-vs-capcom-clash-of-super-heroes/faqs/105).
Technical results above come from this exact ROM and the recorded probes.
