Once SVC Zero could stand inside CPS‑2 Marvel vs. Capcom, the better question ran in reverse: can MvC Mega Man cross into the Neo Geo game that once rebuilt Capcom's roster?
Mega Man now appears in hidden Zero's SVC slot with his real CPS‑2 body frames. He is bright, opaque, display-corrected, and faces his opponent. A source-behavior bridge recognizes Mega Man motions, advances his source roots and boxes, normalizes damage to SVC's 225-life scale, and gates supers on the Neo Geo meter. It is also intentionally uncomfortable evidence: the cartridge ROM is unchanged, the HUD still says ZERO, several grounded moves expose attack boxes without connecting, and effects and sound are still not Mega Man-native.
The August 6 manifest now says complete=false. All four native ownership gates are false: C-ROM
graphics, P-ROM dispatch/state, V-ROM samples, and M-ROM sound commands. The bridge can display 30
source action families and apply temporary root/box rows, but it imports zero Mega Man guard,
hit, stun, or knockdown families into SVC and zero source helper or audio systems. Slow motion,
missing poses, donor reactions, and donor sound are therefore expected defects—not finished-port
behavior.
August 6 inspection: what “full animation” means here
The bridge inventory has 30 visible action families: neutral movement, 18 normal families, two special parent-body families, and three hyper parent-body families. That number is not the same as a complete fighter. The current core chooses one of those families from controller history, draws an external RGBA sequence over hidden Zero, and writes temporary roots, boxes, damage, and meter values. SVC's cartridge still owns the underlying character state.
Corrective audit
Thirty visible routes sit on top of zero native Neo Geo ownership layers
Machine-readable bridge manifest; ownership means data and dispatch resident in the SVC cartridge path.
| route | visual route | native SVC state | native child objects | native audio |
|---|---|---|---|---|
| 18 normal families | verifiedexternal source frames packed | pendingZero's P-ROM state remains | pending | pending |
| 2 special parent bodies | verifiedBuster + rising body | pending | pendingno source projectile/helper | pending |
| 3 hyper parent bodies | verified | pending | pendingbody demonstrations only | pending |
| guard / hit / stun / knockdown | pending0 imported families | pendingSVC Zero reactions remain | pending | pending |
| C / P / V / M ROM ownership | pending | pending | pending | pending |
Mega Man also has gameplay branches missing from the 30-family bridge. In MvC, kicks after Weapon Change select Mega Ball, Tornado Hold, or Leaf Shield; those item/helper paths are documented in the Mega Man move reference and are absent here. Block, hit, dizzy/stun, knockdown, throws, intros, wins, KO, cross-up facing, and recovery require the same state-level treatment. The reciprocal experiment is therefore a visualization and measurement scaffold, not Mega Man playing natively in SVC.
Blueprint: build the same house in the opposite climate
The return trip follows the same construction order as the Zero experiment:
- Blueprint: define source ownership and pass/fail gates.
- Foundation: trace Mega Man's real CPS‑2 records and SVC's target object.
- Framing: correct color, facing, X geometry, anchors, and alpha.
- Wiring: map inputs, state timelines, roots, boxes, damage, and meter.
- Plumbing: rebuild helpers, projectiles, effects, and YM2610 audio.
- Inspection: automate contacts, reversals, both facings, screenshots, and video.
- Finish: write native C/P/V/M data and replace every ZERO identity surface.
Exhibit 1
Mega Man owns the visible frame and source timeline; the native Neo Geo house is not built yet
Latest input-driven custom-core run.
| route | art + animation | commands + physics | boxes + damage | effects + sound |
|---|---|---|---|---|
| idle / walk / crouch / jump | verifiedbright, opaque, correct facing | bridgedsource root timeline | bridgedsource hurt rows | donor |
| forward + back dash | verified | bridgeddouble-tap grammar + source roots | bridged | donor |
| standing normals | verified | bridged | pendingboxes appear; 0 connections in fixture | donor |
| crouching normals | verified | bridged | pendingincomplete contact | donor |
| aerial normals | verified | bridged | bridgedLP/LK connect; HP/HK still fail | donor |
| Mega Buster | verified | bridgedQCF+P recognized | pendingchild projectile not imported | donor |
| Rising Special | verified | bridgedDP+P recognized | pendingno contact in latest fixture | donor |
| 3 Mega Man hypers | verified | bridgedmeter-gated four-button chords | bridgedprototype hits connect | pendingbody only; source helpers/audio absent |
| guard / hit / stun / knockdown | pending0 imported source families | donor | donor | donor |
| weapon-change item branches | pendingMega Ball / Tornado Hold / Leaf Shield absent | pending | pending | donor |
| throw / intro / win / KO | pending | donor | donor | donor |
| native C/P/V/M ROM | pending | pending | pending | pending |
| HUD / select identity | pendingstill says ZERO | pending | pending | pending |
So are Mega Man's normals, dashes, specials, and supers functional? The dash and animation routes are present. Attack boxes appear for every family. Only a subset connects. The latest fixture records air LP, air LK, and the three hyper demonstrations; it records no grounded normal, Mega Buster, or Rising Special contact. That is a prototype with useful evidence, not full gameplay.
Foundation: trace the source character instead of guessing from a sheet
Mega Man's MvC fighter id is $20, his animation tree begins at $156BE0, and his body palette
pointer is $1C8F84. Following the actual runtime records yields 206 visual frames across 30 action
families. The bridge also stores the matching source root and collision rows rather than asking
hidden Zero to improvise Mega Man's movement.
Exhibit 2
Normals account for 128 of Mega Man's 206 traced visual frames
Source MvC frame vocabulary by action class.
- Mega Man source vocabulary206 frames46504434
Exhibit 3
Source depth predicts donor pressure better than raw frame count
X = mapped families; Y = source animation units per family; bubble = total source units.
Framing: fix the darkness, the translucency myth, direction, and width
Mega Man looked almost black in the first SVC capture. The pixels were not translucent. The
extractor used the lower 12-bit RGB ramp from ROM while its runtime brightness nibble was zero.
MvC copies the row to live palette RAM with brightness F; matching the live row restores the
full blue ramp. Every visible bridge pixel has alpha 255 and is written directly—no blending.
Facing was a separate sign error. The first renderer inverted Neo Geo's horizontal flag and made P1 look away from P2. It now follows the live body facing and mirrors both pixels and command directions consistently.
Finally, MvC's 384×224 source and Neo Geo's 320×224 source target the same 4:3 display. Mega Man's X coordinates are scaled 5:6, Y is unchanged, and nearest-neighbor sampling preserves pixel edges. Without that correction he appears about 20% too wide.
Exhibit 4
Runtime brightness doubles the usable channel range without changing opacity
Same extracted body art before and after matching live CPS‑2 palette RAM.
- maximum RGB channel+124 / +94.7%ROM row / brightness 0131live row / brightness F255
- opaque sprite pixels+0 / +0.0%before419,600after419,600
- partial-alpha pixels+0before0after0


Wiring: teach SVC to hear Mega Man's commands
The Neo Geo panel has four attack buttons, so the bridge treats A/C as two punch strengths and B/D as two kick strengths. It samples once per emulated frame, keeps a short direction history, mirrors motions by facing, and latches a source action long enough to render its complete timeline.
| mapped input | imported source route | present test result |
|---|---|---|
| A / C | light / heavy punch | frames + boxes; grounded contact still fails |
| B / D | light / heavy kick | frames + boxes; grounded contact still fails |
| down + button | crouching family | frames + boxes; incomplete contact |
| jump + button | aerial family | LP/LK connect; HP/HK fail current fixture |
| QCF + punch | Mega Buster | grammar and body pass; source projectile missing |
| DP + punch | Rising Special | grammar and body pass; contact missing |
| QCF + A+C | Hyper Mega Man | meter gate and three prototype hits |
| QCF + B+D | Rush Drill | meter gate and prototype contact |
| QCB + B+D | Beat Plane | meter gate and prototype contact |
| Weapon Change + kick | Mega Ball / Tornado Hold / Leaf Shield | not represented |
- Mega Man LP1.33% of native full life
4 / 300
- Mega Man MP3.33% of native full life
10 / 300
- Mega Man HP4% of native full life
12 / 300
- Mega Man HK5.67% of native full life
17 / 300
- Mega Buster6% of native full life
18 / 300
- Rush Drill29% of native full life
87 / 300
The data shows why copying Zero's damage table would be wrong. Mega Man has six normal strengths, charged/projectile behavior, and hyper totals that do not map cleanly onto four SVC buttons. The bridge normalizes life percentage, but a native port must also reproduce hit count, scaling, hitstop, pushback, knockdown, cancel windows, meter behavior, and defensive reactions. Its source box rows are useful research data; because the custom core writes them over hidden Zero at runtime, they are not proof that SVC's P-ROM attack and hit-response machinery has been ported.
Plumbing: the prototype still borrows its pipes
The bridge packs 5,897,200 bytes because RGBA is convenient for inspection; it is not Neo Geo's native 4bpp C-ROM format. A cartridge build must quantize palettes, slice tiles, author sprite maps and animation records, allocate protected C-ROM space, patch P-ROM dispatch, replace HUD/select identity, and route audio through the Z80 and YM2610 sample ROMs.
Exhibit 5
Only five routes connect in the latest fixture; visible boxes alone are not gameplay parity
Measured target damage from the input-driven contact run.
- air LP13 damage13
1 fixture hit
- air LK13 damage13
1 fixture hit
- Hyper Mega Man7 damage7
3 prototype hits
- Rush Drill7 damage7
1 prototype hit
- Beat Plane7 damage7
1 prototype hit
Sound is the clearest unfinished pipe. The current SVC round still uses donor cues. Mega Man's QSound samples have not been converted, placed in V-ROM space, commanded by SVC's Z80, or balanced against YM2610 playback. A video with music is not evidence that Mega Man's sound was imported.
The same boundary explains the reported slow and strange motion. Visual durations are latched by the bridge while the hidden SVC Zero object continues under a different native timeline. Until the P-ROM owns Mega Man's complete state graph, a display sequence can finish late, root motion can disagree with the target object, and an incoming hit can reveal Zero's response behavior.
Inspection: use real emulator pixels, including the donor evidence




The HUD still says ZERO. That is not cropped out because it is useful: it exposes the difference between roster identity, visible body, state logic, and sound. The OG card follows the site's own dark instrument-panel style, uses these emulator pixels, and labels the physical route CPS‑2 B-board → Neo Geo MVS instead of inventing a glossy crossover illustration.
The graphs use a disciplined exhibit grammar: state the conclusion in the title, label marks directly, highlight one comparison, and disclose the method beneath the figure. Here, that method note prevents “has attack boxes” from silently becoming “plays correctly.”
Final inspection punch list
- Convert Mega Man frames into native Neo Geo palette rows, tiles, sprite maps, and protected C-ROM data.
- Author native SVC animation/state records instead of selecting an external renderer action.
- Import Mega Man guard, hit, stun, knockdown, throw, intro, win, and KO families and route them from P-ROM state transitions.
- Fix grounded contact geometry and prove every normal at stand/crouch/air/block fixtures.
- Import Mega Buster and hyper helper objects, not only the parent body timeline.
- Rebuild Weapon Change plus Mega Ball, Tornado Hold, and Leaf Shield child-object branches.
- Reproduce velocity, jump arcs, hitstop, pushback, knockdown, cancels, defense, guard, and meter.
- Replace ZERO in the HUD, select preview, portraits, palettes, intro, win, continue, and ending.
- Port QSound voice/effects into the Neo Geo Z80/YM2610 command and sample pipeline.
- Run both facings and cross-ups, then record public footage only from passing builds.
The return trip has a solid blueprint, a visible frame, and enough temporary wiring to measure the hard parts. The native Neo Geo house is still at the framing stage: 30 displayed action families, zero imported response families, zero native ROM ownership layers, and zero Mega Man audio commands. That boundary—not the screenshot—is the real result: it reveals exactly how much engineering is hidden inside the word “character.”