Arcade Marvel Super Heroes is one on one. This makes it play like Marvel vs. Capcom: Infinite: pick two heroes, tag with HP+HK in the middle of a combo, switch out of theirs, call your partner in beside you, and land both supers at once.
It's a patch for your own ROM, not a new ROM, for the 1995 game's 951024 sets, the msh set Fightcade plays included. There's a four-player version too, in our RetroArch core, for one PC or online play.
22heroes a sidetag in and out, or both on screen at once
77team movesfrom a tag to a hyper tag, on one shared gauge
11installerfor the 951024 sets, the one Fightcade plays included
44playersin the MSH TAG RetroArch core
v1.2, preview. v1.2 makes automatic tag-entry attacks blockable standing or crouching and fixes Hulk’s crouching HP followup after its first strike hits or is blocked. Two-player tags no longer pass held HP+HK to the incoming hero; four-player partners keep their own input. The v1.1 fixes remain. Patch your clean original ZIP again. Local installer and gameplay diagnostics pass; independent Windows/Fightcade and four-physical-controller tests are pending. Every package includes TESTER_CHECKLIST.txt. Fightcade flicker remains open; the linked September 28 footage predates v1.1. Clips here show the historical v1 Phoenix build.
$NEW · start here
v1 · the partner flies in
What's a tag?
Two heroes a side. Press HP+HK and your partner flies in at the opponent, attacking, while your hero finishes its move and leaves, so a tag can keep a combo going. The bench wins back its red life. Lose both and the match is over. Automatic tag-entry attacks can be blocked standing or crouching.
v1 · double team, meteor sky
What's a double team?
With two levels, QCB+HP+HK calls your partner in beside you. One stick drives both heroes, supers are free until the TIME bar runs out, and with your Marvel vs. Capcom ZIP the stage gives way to its meteor sky.
v1 · team super
What's a team super?
With two levels, QCF+HP+HK: your partner appears beside you and both heroes fire their supers at once. Each spends its own level.
$01
What it does.
Eight pieces. Every clip says which build it shows and how it was recorded.
v1 release build · MAME · ordinary inputs
01
01TAG
Tag in the middle of a combo.
HP+HK. Your partner flies in with its jumping attack while your hero finishes its move and leaves, and the combo count keeps going. A normal or a special that hit or was blocked cancels into the tag. Automatic tag-entry attacks are blockable standing or crouching; ordinary jumping attacks keep their native guard rule.
v1 release build · MAME · ordinary inputs
02
02COUNTER SWITCH
Tag out of their combo.
HP+HK while you're being hit. It costs two levels; with less, your red life and a tenth of your life pay for it. Your partner flies in and the combo is over.
v1 release build · MAME · ordinary inputs
03
03PUSH BLOCK
Shove them off your guard.
LP+MP+HP while you're blocking, as in Marvel vs. Capcom: the attacker slides away. It's free, and it works as often as you block.
v1 release build · MAME · ordinary inputs
04
04SNAPBACK
Knock their point out.
QCF+MP+MK for one level: a lunging hit. If it lands, the opponent's hero is knocked off the screen, tumbling, and its partner is forced in.
v1 release build, sky from an MvC1 ZIP · MAME · ordinary inputs
05
05DOUBLE TEAM
Two heroes, one stick, one sky.
QCB+HP+HK with two levels. Your partner lands beside you and one stick drives both: every attack, special and super comes out twice. The gauge reads infinity, a TIME bar runs along the bottom, and supers are free while it lasts. Install with your Marvel vs. Capcom ZIP and the stage gives way to its meteor sky.
v1 release build · MAME · ordinary inputs
06
06TEAM SUPER
Both supers at once.
QCF+HP+HK with two levels. Your partner appears beside you and both supers start together. Each spends its own level.
v1 release build · MAME · ordinary inputs
07
07HYPER TAG
One super into the other.
HP+HK during your super. Your partner comes in and goes straight into its own super, for one more level. Press it during the flash: the patch keeps it for you.
v1 four-player build, music off · MAME · four controllers
08
08FOUR PLAYERS
Everybody gets a hero.
P1 and P3 against P2 and P4. P3 plays P1's second pick and P4 plays P2's, wherever that hero is: flying in on a tag, on point, or beside the point in a double team. It runs in the MSH TAG RetroArch core: four pads on one PC, or four people through Parsec or RetroArch netplay.
$02
Two players or four.
Pick one. Each has its own download and its own three-minute setup below.
2 players · v1.2 preview
Two players
Fightcade · FBNeo · MAME
The whole game for two: in Fightcade, or on one PC in FBNeo or MAME.
One installer for the 951024 sets: msh (the one Fightcade plays), mshu, msha, mshjr1 and the Phoenix mshud
Fightcade: the patched file goes in its ROMs folder as msh.zip
Tags, Counter Switch, crossover counters, push blocks, snapbacks, double teams, team supers, hyper tags, six colors
Marvel vs. Capcom's meteor sky in double teams, read from your own mvsc.zip
Needs: Your clean Marvel Super Heroes ZIP (951024), with its key file inside, as Fightcade's and MAME's have. For the sky, your clean Marvel vs. Capcom ZIP (mvsc.zip)
Drop your ROM zip on the installer. It writes a new patched file next to it and never touches your original. No terminal needed.
PREVIEW · v1.2 · WINDOWS INSTALLER
The two-player installer
It takes a clean Marvel Super Heroes ZIP of the 951024 revision: msh (Euro, the set Fightcade plays and MAME's parent), mshu, msha, mshjr1 or the Phoenix mshud. It checks every file before it writes anything, copies the key file through (and writes the Phoenix set's phoenix.key if it's missing), and refuses a set that's already patched.
What you need: the patcher, your own clean MSH ZIP and an installed copy of MAME or Fightcade. The .cmd creates a patched ZIP; that ZIP is what the emulator plays. Two players use the normal emulator. The custom MSH TAG RetroArch core is for four players. Your clean mvsc.zip is optional: it adds the meteor sky.
Watch the ZIP open into ROM chips, assemble into a patched file and fly into Fightcade's ROMs folder, or choose the still guide. Keep your clean original and rename the patched copy msh.zip. Windows · MSH TAG v1.2.
01Put both files in one folder.Your clean ZIP (msh.zip, mshu.zip, msha.zip, mshjr1.zip or mshud.zip) and msh-tag-v1.2-preview.cmd. For the double team's meteor sky, put your clean Marvel vs. Capcom ZIP (mvsc.zip) there too. Any folder works.
02Drag your ZIP onto the installer.It checks every file, then writes msh_tag_v1.2.zip (named after your set) next to your ZIP and lists what it wrote, and whether the sky is in. Press Enter to close it.
03Launch the patched ZIP.Fightcade: back up emulator\fbneo\ROMs\msh.zip, then put msh_tag_v1.2.zip there as msh.zip. MAME: use the launcher setup below; its game-list scan rejects patched sets.
04Play.Test offline first. Pick two heroes; HP+HK tags. Any online test needs matching files: the same set, both with mvsc.zip or both without. Fightcade online play is still untested.
Already patched, but not loading?
Fightcade: use the Euro msh outputBack up Fightcade\emulator\fbneo\ROMs\msh.zip. Copy msh_tag_v1.2.zip into that folder and rename the copy msh.zip, then test offline. An output such as mshud_tag_v1.2.zip belongs to a different set: renaming it msh.zip won't convert it.
MAME: start with the launcherExtract the patch package with the MAME launcher. Put PLAY MSH TAG MAME.cmd and your msh_tag_v1.2.zip (or your set's output) beside mame.exe. Keep your qsound_hle.zip in MAME's roms folder, then double-click the launcher. It copies and renames the output for you. MAME's game-list scan rejects patched checksums; the launcher uses the command line.
Still stuck? Share the exact error, emulator version, output ZIP filename and the installer's .receipt.json. Those details let us check which step failed; keep the ROM itself private.
Not patched at $005E38 (life bar tiles) on a clean 951024 ROM
The first v1 download used the wrong ROM view for these tables and rejected valid retail sets. It was an installer bug, fixed on September 27; the ZIP size does not identify the ROM revision.
Use the current installer (v1.2) from a fresh folder and patch your clean original ZIP. For four players, extract the full v1.2 RetroArch pack so its launcher uses the current installer. All file-hash checks remain enabled.
MAME: "Required ROM/disk images for the selected system are missing or incorrect"
MAME's game-list scan can reject the patched files because their checksums differ from the original. The same error can also mean a genuinely missing file.
Use the MAME launcher setup above: PLAY MSH TAG MAME.cmd beside mame.exe and your <set>_tag_v1.2.zip, with qsound_hle.zip in MAME's roms folder. If it still stops, share the exact error and the installer's receipt.
Fightcade doesn't find msh_tag_v1.2.zip
Fightcade loads the Euro game as msh.zip; the installer keeps a different output name to preserve your original.
Back up Fightcade\emulator\fbneo\ROMs\msh.zip, then copy msh_tag_v1.2.zip there as msh.zip. Use the output from clean Euro msh.zip; a renamed mshud or another clone is still a different set.
MAME says qsound_hle.zip is missing
The game needs MAME's QSound device ROM as well as the patched game ZIP.
With PLAY MSH TAG MAME.cmd, keep your qsound_hle.zip in MAME's roms folder. With a direct command using a separate ROM folder, put it in that folder too. The patch download doesn't include ROMs.
FBNeo or Fightcade has controls for P1 and P2 only
That's this game: Fightcade, MAME and stock FBNeo run it for two players.
For four players, use the RetroArch download in the next section.
The patcher made a ZIP, but the emulator says its key is missing
The patcher can finish with a warning when an encrypted set lacks its key file. A generated ZIP alone does not prove it can launch.
Check the receipt for keyCopied: false. Use your own complete clean set with its matching key file, then patch that clean ZIP again.
It plays like the 1995 game: HP+HK doesn't tag
The emulator loaded your clean ZIP, not the patched file.
Back up the original, then put the patched file in the emulator's ROMs folder under the set's own name (msh.zip for Fightcade).
Online in Fightcade, your opponent sees the original game
Only one of you has the patched file, or your files differ.
Both players need the same file: each patches a clean msh.zip the same way (both with mvsc.zip for the sky, or both without) and puts the result in Fightcade's ROMs folder as msh.zip.
A double team keeps the stage
The installer found no clean mvsc.zip next to your ZIP, so it left the sky out. Its last lines say so.
Put your clean Marvel vs. Capcom ZIP (mvsc.zip) next to your clean MSH ZIP, or drag both onto the installer, and patch the clean ZIP again.
A patched clone (mshu, msha, mshjr1 or mshud) won't start in FBNeo
FBNeo found a clean msh.zip in the same folder and loaded its msh.06b, without the patch.
Keep the patched clone in a folder of its own, away from msh.zip. MAME uses the clone's own copy either way.
The installer refuses your ZIP
It's already patched, it's the 951117 revision (mshj, mshh, mshb), or required game files are missing.
Use a clean 951024 ZIP with its key file inside. The installer's message says what it found.
Your ROMs came out of Marvel vs. Capcom Fighting Collection
The installer takes only the MAME sets it lists, checked file by file.
Use a MAME-format ZIP, such as the msh.zip Fightcade plays.
The fine printMAME and FBNeo · macOS and Linux · split and merged sets · known limits
MAME without the launcherCopy the patched file into a folder of its own, named after its set (msh.zip for msh), with qsound_hle.zip. Start MAME from a command prompt: mame msh -rompath "C:\path\to\that\folder". The command line reports the changed ROMs as wrong checksums. The Windows launcher setup is shown above.
macOS and LinuxThe patch package has a Python patcher that writes the same file: python3 msh_tag_patch.py /path/to/msh.zip.
Split and merged setsA split clone ZIP is completed from your clean msh.zip in the same folder (or --parent in the Python patcher), and a merged msh.zip gives a patched msh. In FBNeo, keep a patched clone away from a clean msh.zip: FBNeo would load the parent's clean program ROM and the game wouldn't start.
Known limitsBoth v1.2 installers pass all five supported clean sets, plus 19 fixture tests. Native diagnostics check the final Phoenix two-player fixes and installed Euro four-player tags and double teams in a macOS MSH TAG core; USA, Asia and Japan gameplay remain unverified. Independent Windows/Fightcade installation is still pending. The 951117 revision (mshj, mshh, mshb) has different code and isn't supported, and Marvel vs. Capcom Fighting Collection's files aren't either. Still unverified: Windows PowerShell 5.1 and drag-and-drop, the Windows core on Windows, the RetroArch UI, Fightcade online play, four physical controllers and real hardware. Every package includes the independent tester checklist.
$04
Four players: set up RetroArch.
New to RetroArch? You only need this section. You never pick a core in RetroArch's menus: our launcher does it.
PREVIEW · v1.2 · WINDOWS · LINUX
One download, one double-click.
The MSH TAG RetroArch download holds the core, a launcher and the four-player installer. The launcher makes the four-player game from your clean ZIP, puts the core into RetroArch and starts the two together.
Watch the launcher build msh4p.zip and copy the MSH TAG core into RetroArch, followed by the four controller slots, or choose the still guide. Check for (MSH TAG) in the title bar, then map your controllers: P1 and P3 against P2 and P4. Windows · MSH TAG v1.2.
01Install RetroArch.It's free: retroarch.com > Download > Windows > Installer. Keep the folder it suggests.
02Unzip our download.Right-click msh-tag-v1.2-retroarch.zip > Extract All. RetroArch can't open the zip itself.
03Add your ROM.Put your clean ZIP in the extracted folder, next to PLAY MSH TAG 4P.cmd: msh.zip (Fightcade's works if it isn't patched), mshu.zip, msha.zip, mshjr1.zip or mshud.zip. Add your clean mvsc.zip (Marvel vs. Capcom) for the double team's meteor sky.
04Double-click PLAY MSH TAG 4P.cmd.The first time it makes msh4p.zip, copies the core into RetroArch and starts the game. If Windows says it protected your PC: More info > Run anyway.
05Give everyone a controller.Press F1, then Settings > Input > RetroPad Binds > Port 1 Controls > Device Index. Same for ports 2, 3 and 4. Ports 1 and 3 are a team.
Next time, just double-click PLAY MSH TAG 4P.cmd. There are no coins: HP+HK joins. P1 and P2 pick both of their team's heroes; P3 plays P1's second pick and P4 plays P2's. Start isn't there, so there's no taunt and no Infinity Gem cycling with four players. It's a preview: the core passed its four-player checks in a scripted libretro frontend, and RetroArch itself, the Windows core on Windows and four physical controllers haven't been tried yet.
check · is it the right core?
RetroArch's title bar says (MSH TAG).
RetroArch's own cores read two players for this game and don't know the four-player set. If the title bar doesn't say MSH TAG, close RetroArch and use the launcher.
Not patched at $005E38 (life bar tiles) on a clean 951024 ROM
The first v1 download used the wrong ROM view for these tables and rejected valid retail sets. It was an installer bug, fixed on September 27; the ZIP size does not identify the ROM revision.
Extract the full v1.2 RetroArch pack into a fresh folder and run its launcher with your clean original ZIP. All file-hash checks remain enabled.
"Romset is unknown"
RetroArch's own FinalBurn Neo core, or a renamed file.
Start with PLAY MSH TAG 4P.cmd. The four-player game has to be called msh4p.zip.
The title bar says FB Alpha 2012
RetroArch's old core. It has two players for this game.
Close RetroArch and start with PLAY MSH TAG 4P.cmd.
Port 3 and Port 4 Controls show --- for every button
A two-player game is loaded (msh.zip or msh_tag_v1.2.zip).
Four players need msh4p.zip. The launcher makes it and loads it.
Right-click it > Extract All, then use the launcher in the new folder.
The launcher says the installer didn't make msh4p.zip
Your ZIP isn't a clean 951024 set, it's already patched, or required game files are missing.
Use a clean msh, mshu, msha, mshjr1 or mshud ZIP. The installer's own message says what it found.
The launcher says msh4p.zip was made by an earlier MSH TAG
It found an older msh4p.zip and no clean ZIP next to it to make the v1.2 game from.
Put your clean ZIP next to PLAY MSH TAG 4P.cmd and double-click it again: it renames the old file msh4p_before_v1.2.zip and makes the v1.2 one.
The launcher can't find RetroArch
RetroArch isn't in the folder its installer suggests.
Drag retroarch.exe, or its folder, into the launcher's window and press Enter. It remembers the place.
The buttons
RetroPad
Arcade
Xbox pad
Y
Light punch
X
X
Medium punch
Y
L
Heavy punch
LB
B
Light kick
A
A
Medium kick
B
R
Heavy kick
RB
L2
All three punches
LT
R2
All three kicks
RT
Play onlineParsec, the easiest · RetroArch netplay
ParsecOne player hosts: they set everything up as above and share their screen with Parsec. The three guests connect with Parsec and plug in their pads, and Parsec gives each of them a pad on the host's PC. The host sets Port 1 to their own pad and Ports 2, 3 and 4 to the guests', then Main Menu > Configuration File > Save Current Configuration. Only the host needs the core and the ROM. For the least delay: the host wired, RetroArch fullscreen, Vsync on.
RetroArch netplayEveryone needs this same download and makes their own msh4p.zip: the same clean ZIP always gives the same file, and different sets (msh and mshu, say) give different files, so agree on one. Before joining, each player turns on Settings > User Interface > Show Advanced Settings, then sets Settings > Network > Request Device to YES for their own port only (P1 port 1, P3 port 3 and so on). The host uses Main Menu > Netplay > Host; the others join from Netplay > Refresh Netplay Host List.
Without the launcher, and on Linux and macOSby hand in RetroArch · the Linux script · building for macOS
By handMake msh4p.zip: drag your clean ZIP onto msh-tag-v1.2-4p-preview.cmd, or run the Python patcher from the four-player patch package. Keep that name. In RetroArch: Load Core > Install or Restore a Core, pick the core file, and copy fbneo_mshtag_libretro.info into RetroArch's info folder. Then Load Core > Arcade (FinalBurn Neo - MSH TAG) > Load Content > msh4p.zip.
Linux and macOSLinux: with msh4p.zip next to it, sh play_msh_tag_4p.sh starts RetroArch with the core. macOS has no ready-made core yet: in the download's src folder run sh build_core.sh (it needs Xcode's command line tools, xcode-select --install), then the same script.
One line and the link. Copy it, or post it straight to X.
ready to post
MSH TAG v1.2 for arcade Marvel Super Heroes: Marvel vs. Capcom: Infinite-style tag teams with Counter Switch, push blocks, snapbacks, double teams under Marvel vs. Capcom's meteor sky, team supers, hyper tags and four players. A free patch for your own ROM.
Every older installer is still here, with its checksum and change log.
Two players · v1.12026-09-29
Windows one-file installer: drag your clean Marvel Super Heroes ZIP (msh, mshu, msha, mshjr1 or mshud, the 951024 revision) onto it, or put the ZIP beside it and double-click. It writes <set>_tag_v1.1.zip beside your ZIP (msh_tag_v1.1.zip for msh) and never changes the original. With your clean mvsc.zip (Marvel vs. Capcom) next to your ZIP, or dropped on it too, double teams get Marvel vs. Capcom's meteor sky, read from your file; without it the stage stays. On macOS or Linux, use the Python patcher in the patch package (--mvc names the Marvel vs. Capcom ZIP). The key file comes from your ZIP, as Fightcade's and MAME's have it inside; mshud's phoenix.key is written if it's missing. Patch the clean ZIP, not a v1 output. Four players: the MSH TAG four-player download.
v1.1: fixes for what testers found on the September 28 stream, and two more the fuzzing found. Patch your clean original ZIP, not a v1 output.
The first game after power-on plays one round too. v1 played it best of three, and a knocked-out partner stayed out in round 2. A draw's final round starts both teams whole.
Arcade: a CPU team you beat stays beaten. v1 marked whoever was on point at the knockout, often the partner, so the same team could come back as the next match.
Daily Bugle: the reflections in the windows keep the stage's own colors (v1 painted them in the partner's colors). Captain America's shield keeps his colors when he tags back in (v1: the last partner's).
A tag no longer hands the leaving hero's projectiles and effects to the one coming in, and a hero that tags in no longer inherits the first one's character flags. In v1 both could crash the game: Blackheart's Inferno with a gem, Captain America's shield, Juggernaut teamed with Iron Man.
A hero knocked out while it leaves is out: v1 benched it with no health and the team could tag it back in. A partner has no Infinity Gems of its own: in v1 its empty slots read as the Power Gem, which it could use without end.
An Infinity Gem that's running keeps going through a tag: the hero coming in gets it (v1 ended it, so a Soul Gem stopped healing). DOUBLE K.O. only when both teams are out: v1 called it when a hero went down and its partner, dropping in, knocked out the other team's last one.
Two players · v12026-09-27
September 27 correction: the old installer wrongly rejected clean retail ROMs at $005E38 (life bar tiles). Download this version again and patch your clean original; the table reads and checks are corrected, with all ROM identity checks retained. Windows one-file installer: drag your clean Marvel Super Heroes ZIP (msh, mshu, msha, mshjr1 or mshud, the 951024 revision) onto it, or put the ZIP beside it and double-click. It writes <set>_tag_v1.zip beside your ZIP (msh_tag_v1.zip for msh) and never changes the original. With your clean mvsc.zip (Marvel vs. Capcom) next to your ZIP, or dropped on it too, double teams get Marvel vs. Capcom's meteor sky, read from your file; without it the stage stays. On macOS or Linux, use the Python patcher in the patch package (--mvc names the Marvel vs. Capcom ZIP). The key file comes from your ZIP, as Fightcade's and MAME's have it inside; mshud's phoenix.key is written if it's missing. Patch the clean ZIP, not an earlier output. Four players: the MSH TAG four-player download.
September 27 retail installer correction: fixes the false $005E38 life-bar-table refusal on supported clean 951024 sets and the associated runtime table reads; preserves all member and hook checks. Re-download and patch a clean original.
First release. Two picks per side, and the confirm button picks the colors: LP is the game's own, LK, MP, HP, MK and HK are Marvel vs. Capcom 2's.
HP+HK tags: the partner flies in at the opponent with its jumping attack while your hero finishes its move, so a tag carries a combo; a normal or special that hit or was blocked cancels into it.
Counter Switch (HP+HK while being hit, 2 levels, or your red life and a tenth of your life), crossover counter (B, DB, D + HP+HK while blocking, 1 level), push block (LP+MP+HP while blocking, free), snapback (QCF + MP+MK, 1 level: the point is knocked off the screen), double team (QCB + HP+HK, 2 levels), team super (QCF + HP+HK, 2 levels) and hyper tag (HP+HK during a super, 1 more level).
Two life bars per side, each the size of the game's own, and both heroes' faces; the bench is darker gold with a gray name and a darker face; red life heals on the bench. The gauges sit under the bars and stop at Level 3; in a double team the gauge reads infinity and a TIME bar runs along the bottom.
Double teams fight under Marvel vs. Capcom's meteor sky when you install with your clean mvsc.zip: the installer reads it from your file.
KO hand-off: the partner drops in, untouchable until it lands. CPU opponents bring partners and tag.
Current validation: all five real supported sets pass both installers; Euro and Phoenix builds pass bounded native boot/selection/tag/HUD checks in two- and four-player modes. Broader v1 feature footage predates this correction; Windows and online acceptance remain unverified.
Four players · v1.12026-09-29
The MSH TAG RetroArch download holds everything for four players except RetroArch and your ROM: the MSH TAG core, the four-player installer and the PLAY MSH TAG 4P launcher. Put your clean ZIP next to the launcher and double-click it: it makes msh4p.zip, copies the core into RetroArch and starts the game with it. Coming from v1, keep your clean ZIP next to the launcher: it sets the v1 msh4p.zip aside (msh4p_before_v1.1.zip) and makes the v1.1 one. The installer on its own writes msh4p.zip, the name the core loads: keep it. RetroArch's own FinalBurn Neo cores, MAME and Fightcade read two players only for this game. There are no Start or Coin buttons: HP+HK joins.
v1.1: the two-player fixes, for four players too (they're in the shared game code). Make msh4p.zip again from your clean ZIP; the launcher does it for you and sets the v1 file aside.
The launchers (Windows and Linux/macOS) check which version made the msh4p.zip they find, so an old one isn't played by mistake. Everyone online needs the v1.1 msh4p.zip.
The core is unchanged: the same Windows DLL and Linux SO as v1.
Four players · v12026-09-27
September 27 correction: the old installer wrongly rejected clean retail ROMs at $005E38 (life bar tiles). Download this version again and patch your clean original; the table reads and checks are corrected, with all ROM identity checks retained. The MSH TAG RetroArch download holds everything for four players except RetroArch and your ROM: the MSH TAG core, the four-player installer and the PLAY MSH TAG 4P launcher. Put your clean ZIP next to the launcher and double-click it: it makes msh4p.zip, copies the core into RetroArch and starts the game with it. The installer on its own writes msh4p.zip, the name the core loads: keep it. RetroArch's own FinalBurn Neo cores, MAME and Fightcade read two players only for this game. There are no Start or Coin buttons: HP+HK joins.
September 27 retail installer correction: fixes the false $005E38 life-bar-table refusal on supported clean 951024 sets and the associated runtime table reads; preserves all member and hook checks. Re-download and patch a clean original.
First release. Four players: P1 and P2 pick both of their team's heroes, P3 plays P1's second pick and P4 plays P2's, wherever that hero is: tagging in, on point, or beside the point in a double team or a team super.
One download for RetroArch: msh-tag-v1-retroarch.zip holds the MSH TAG core (Windows, Linux), the four-player installer and the PLAY MSH TAG 4P launcher, which makes msh4p.zip from your clean ZIP, copies the core into RetroArch and starts the game with it.
No coins and no Start button: HP+HK joins. Without Start there's no taunt and no Infinity Gem cycling.
Current validation: all five real supported sets pass both installers; Euro and Phoenix builds pass bounded native boot/selection/tag/HUD checks in two- and four-player modes. Broader v1 feature footage predates this correction; Windows and online acceptance remain unverified.
HOW IT WORKSHow four heroes share a two-fighter engine, how a tag carries a combo, where the meteor sky fits, where the patch lives in an encrypted ROM, and what got tested.+
Marvel Super Heroes (1995) is the game the Marvel vs. Capcom series grew out of:
the same heroes, the same Infinity Gems, super jumps and air combos, but one on
one. MSH TAG gives it the tag system of Marvel vs. Capcom: Infinite. Each side
picks two heroes. HP+HK tags the partner in, even in the middle of a combo, and a
knockout sends the partner in instead of ending the round. The team shares one
gauge, and the gauge buys the rest: a Counter Switch out of the opponent's combo,
a crossover counter, a snapback, a double team with both heroes on screen, a team
super, and a hyper tag from one super into the other. Blocking gets Marvel vs.
Capcom's push block, free.
It's a patch for your own ROM. The installer takes the 951024 sets, msh (the one
Fightcade plays), mshu, msha, mshjr1 and the Phoenix mshud, and a
four-player version runs in a RetroArch core of its own. Give it your Marvel vs.
Capcom ZIP too and double teams fight under that game's meteor sky: the
installer reads it from your file, and nothing of it is in the download.
What's in v1
Two picks per side. The first pick starts the fight. The button that
confirms a pick chooses its colors: LP is the game's own, the other five are
Marvel vs. Capcom 2's colors for that hero.
Tag (HP+HK). The partner flies in at the opponent with its jumping attack
while your hero finishes its move and leaves, so a tag can carry a combo. A
normal or a special that hit or was blocked cancels into the tag.
Counter Switch. HP+HK while you're being hit tags out of the combo. It costs
two levels; with less, your red life and a tenth of your life pay for it.
Crossover counter. B, DB, D + HP+HK while blocking: the partner comes in
attacking, for one level.
Push block. LP+MP+HP while blocking, as in Marvel vs. Capcom: the
attacker slides away. Free, as often as you block.
Snapback. QCF + MP+MK: a lunging hit for one level. If it lands, the
opponent's hero is knocked off the screen, tumbling, and its partner is forced
in.
Double team. QCB + HP+HK, two levels: the partner lands beside you, one
stick drives both, and supers are free until the TIME bar runs out. With your
Marvel vs. Capcom ZIP, the stage gives way to its meteor sky.
Team super. QCF + HP+HK, two levels: both heroes' supers at once.
Hyper tag. HP+HK during a super: the partner comes in with its own super,
for one more level.
Life. Two life bars per side, each the size of the game's own, and both
heroes' faces. The hero on the bench has a darker bar, a gray name and a darker
face. Part of the damage stays red, and the bench wins it back.
The gauges stay on top, under the life bars. In a double team the gauge
grays out, its level reads infinity, and a TIME bar runs along the bottom of
the screen.
KO hand-off. A knocked-out hero lies down and the partner drops in,
untouchable until it lands. One round per match; time over compares teams.
The gauge stops at Level 3. Level 5 is the three-on-three convention of
Marvel vs. Capcom 2 and 3; two-on-two games stop at three.
CPU teams. Every CPU opponent brings a partner, and CPU teams tag too.
Four players, one per hero, in the MSH TAG RetroArch core: a separate
download.
The Infinity Gems, dashes, super jumps and throws work as they always did.
Four heroes in a two-hero game
QCB + HP+HK: a double team, one stick for both, under the meteor sky.Both sides in a double team: four heroes on screen.
Marvel Super Heroes runs the engine of X-Men: Children of the Atom, with its
routines moved. It was written for two fighters: P1 at $FF4000 and P2 at
$FF4400, $400 bytes each. The partners live in RAM the game never uses,
$FF3000 and $FF3400, and the team state (who is on point, the side's mode,
the bench's health and red life, the timers) at $FF3800.
A partner on screen is a whole fighter. The patch sets it up with the
character's own setup routine, ticks it right after the stock ticks with its own
buttons, registers it for the stock hit checks against the other side, pushes
it, draws it with palettes of its own, and widens the camera so everyone stays
in the picture. When it leaves, its slot is emptied: nothing ticks, draws, hits
or aims at it until the next entry.
The tag itself is a swap. The partner is spawned in the free slot with the
bench's health and color and jumps in. It homes in on the opponent: its jumping
attack starts within 88 pixels or 12 frames into the entry, it crosses the
screen at up to 22 pixels a frame, and against an opponent in the air it rises
to meet it. The old point finishes its move and leaps out. When the entry is
over, the two slots trade places, so the hero on point is always in P1's or P2's
slot, where the stock game expects it.
The hyper tag and the freeze
A super freezes the fighters: while the flash plays, the stock game updates no
one's buttons. The first hyper tag builds lost HP+HK pressed in the flash. Now
the patch reads the controller itself while its own side is in a super and the
freeze is on, holds the command, and starts the partner's super when the freeze
ends.
The HUD
Two bars and two faces per side; the bench is darker gold with a gray name. The gauges sit under the bars.
Each side has two life bars on one scale, each the size of the game's own: the
point on top in the game's yellow, the partner under it in a darker gold, with
its name in gray. Red life is its own segment. The partner's bar sits nine
pixels nearer the middle, so its end meets the timer's V the way the point's
does.
Both heroes show their faces. Under the point's portrait the partner's face
peeks out, as if it stood behind: the lower half of its own portrait, darker
while it waits on the bench, and the game's own low-life face once it's knocked
out. A portrait is drawn in its hero's body colors, and the game keeps colors
only for the heroes on screen. On screen the partner's face uses its body's
palette. On the bench it gets a darker copy in a palette row the stock game
never draws with in a fight (a census of twelve stages, supers included, found
them), or, when those are taken, in an effects row it gives back whenever an
effect needs it.
The timing took some care. A sprite the game lists shows two frames later, a
palette write one frame later, so a face whose colors change with its sprite
flashed the wrong colors for a few frames at every tag. The patch holds each
palette row that changes meaning and writes it so it reaches the screen with the
sprite list drawn for it. That cured the point's portrait too, which had shown
the new face in the old hero's colors for two frames at every tag.
The gauges keep the game's place under the life bars, ten pixels lower to make
room for the partner's bar. The gauge never goes past Level 3: the patch
rewrites the table of maximum levels ($09EA90, one word per character) to 3,
and the level reads 3 where the stock game shows infinity. In a double team the
gauge grays out, its level shows the infinity sign, and a TIME bar runs along
the bottom, under the game's own small TIME label: the gauge's shape, filled by
the time left, while supers are free. The stock HUD draws under the fighters;
the TIME bar is appended after the last record of the frame (the sprite list's
end marker at $019BAC is hooked), so it draws over fighters and shadows, like
the gems and the combo count.
The meteor sky
Marvel vs. Capcom draws its Cross background from a map it builds at boot:
32 blocks of meta-tiles, eight 512-pixel windows of a scrolling field of meteors
and rocks, and a 36-step palette animation. MSH TAG builds the same sky when you
install it, from your own mvsc.zip, so the download carries none of it.
The sky has to fit in a game that never planned for it. A census of the
graphics tiles the game references (objects and all three scroll layers, over
attract mode, supers and fights on ten home stages) found four runs of blank
tiles that nothing referenced: 1,118 seats for 16-pixel tiles. Four of the eight
windows, cut to the screen, need 986 unique tiles, and the installer copies them
into those seats. The map of the four phases and the 36 palette records go into
the free end of msh.06b, at $1F8000.
In a double team the patch points scroll 2 at a free part of video memory
($91C000, empty in every one of 120 fight dumps), turns scroll 1 and 3 off, and
empties the stage's sprite layer lists, so only the fighters, the effects and
the HUD stay over the sky. A VBlank hook right after the game's own register
commit sets the scroll and the colors each frame: four phases six frames apart,
the palette a record every four frames. When the last double team ends, the
stage comes back.
The first version copied the sky's map into video memory when a double team
started. On Fightcade's FBNeo core that made one frame run long, and a command
pressed in it was lost: two double teams called at once got only one. The start
of a double team is the busiest moment of a fight, with no idle time to spare on
either emulator. Now the map goes in when each round's fight starts, half a
phase a frame, where there's room, and the double team copies nothing. With the
stage's sprites off, a double team under the sky even leaves the processor a
little more idle time than one in front of the stage.
Six colors
The confirm button picks the colors, as in Six MvC2 colors
for Marvel vs. Capcom: LK, MP, HP, MK and HK load Marvel vs. Capcom 2's colors
for that hero from the Dreamcast palette banks (LK is LK, MP is HP, HP is A1, MK
is HK and HK is A2), converted to the CPS-2's 16-bit colors with the game's own
brightness.
Where the patch lives
The program is eight 512 KB ROMs, 03 to 10; the graphics and the sound are
separate. The v1.2 payload is 24,252 bytes of 68000 code in the free end of msh.06b
(from $1E8C00), with 101 guarded program replacements: short jumps into it
and data. The four-player build has 24,684 bytes and 102 replacements. The
confirmed Hulk followup adds a data box in msh.10b; its original followup box
stays intact. (v1 had 22,820 bytes and 95 replacements; v1.1 had 23,888 and 98.)
The CPS-2 encrypts its program. On an arcade board each set has a key, and
MAME's set holds it as a 20-byte file (msh.key). The encrypted range of
Marvel Super Heroes is $000000 to $0FFFFF: the 03 and 04 chips. 05
and up are plain in every set, so the payload in 06b is the same bytes for all
of them. The code hooks sit in 03 and 04, where the board decrypts instruction
fetches. A plain data read returns the stored chip bytes without opcode
decryption. Code and data must be checked in the view the CPU actually uses.
The keys are MAME's master keys from before key files existed, one per region
and the same for both revisions. The proof is a rebuild: each master key, the
watchdog instruction cmpi.l #$19660419,d1 and the upper bound $100000 make a
key file with exactly the checksums MAME lists for msh.key, mshu.key,
msha.key, mshj.key, mshh.key and mshb.key. Change a key bit or swap the
watchdog words and none matches. So the installer ships each hook already
encrypted with each set's key and needs no cipher of its own.
The payload reads stock DATA tables: the life bar tiles at $5E38, the gauge
tiles at $607A, the name plates at $65DE, the portraits' faces at $669E
and $671E, and the camera heights at $82804. Forming a table address
relative to the program counter does not change a later read through that
address into an opcode fetch. The patch and its guards preserve the DATA view,
and copy most of these tables into RAM at the start of each match.
The installer checks before it writes. For each set it carries the SHA-256 of
the bytes at every hook site and at 43 stock routines and tables (45 in four-player mode) the payload
relies on, and it refuses a ZIP where any of them differs. For the sky it takes
only the clean Marvel vs. Capcom files MAME lists, and a changed one is
refused when you name it and skipped when it's just found next to your ZIP. The 951117 revision
(mshj, mshh, mshb) has different code in 03, 04 and 05, and it's
refused.
October 1: v1.2
Automatic tag-entry attacks can now be blocked standing or crouching. That rule
applies to the attack the patch starts when the partner flies in; ordinary
jumping attacks keep their native overhead behavior. In two-player mode,
holding HP+HK to tag no longer carries those held attack buttons into the
incoming hero's first move. Four-player partners keep their own pad input.
Hulk's crouching HP could hit once and miss its followup against smaller or
crouching opponents. v1.2 uses a box with more outer and lower reach only after
the first strike hits or is blocked. If the first strike whiffs, the followup
keeps its original box. Timing, damage and reaction stay native.
The v1.1 fixes remain. Patch your clean original ZIP again; for four players,
extract the full v1.2 RetroArch pack and let its launcher remake msh4p.zip.
The Windows and Linux core binaries and source patch are unchanged from v1.
Start-based taunt and Infinity Gem cycling remain unavailable in four-player
mode.
Fightcade flicker remains open. The linked September 28 footage predates v1.1;
the precise reported moment, current build and display settings have not been
confirmed. Independent Windows/Fightcade installation and four physical
controllers still need human testing. The
tester checklist is also in all
three packages and explains which files, settings and results to record.
September 29: v1.1
Testers played v1 on a stream on September 28. v1.1 fixes what they found, and
two more bugs the fuzzing turned up.
One round, from power-on. The round count is set once, when a game starts.
v1 set one round only when team play was already on, and it isn't on the
first game after the board boots: that game was best of three, and a
knocked-out partner stayed out in round 2. Every game is one round now. A draw
still brings the stock final round, and a hook on the round start ($8056)
brings both teams back whole for it.
The arcade route. When a CPU side loses, the stock marks its character as
beaten ($CCC0). With teams that was whoever was on point, often the partner,
so the route's opponent came back as the next match. v1.1 marks the team's
first member.
Tags swap records. A tag makes the partner's slot the point's. v1 copied
the partner's $400-byte record over the old point's, so the old point's
projectiles and effects went on reading and writing the new hero's data:
Blackheart's Inferno state, Captain America's shield state, a hit's move data.
v1.1 swaps the two records, and every object keeps the record of the hero that
made it. What the retired record still owns is freed when the partner slot is
used again. A random Blackheart fight with gems that crashed v1 runs clean on
v1.1; it's the likeliest cause of the Blackheart crash on the stream.
Character flags stay with the character. Each fighter record has a flag
per character, set by that character's own setup and read as "am I Iron Man,
Magneto or Doom" (flight, push boxes). v1 kept them with the player's slot, so
a hero that tagged in kept the first one's. Juggernaut teamed with Iron Man
flew with an Iron Man animation he doesn't have: invisible, then an address
error in the sprite code.
Palettes. On the Daily Bugle, the reflections in the windows use OBJ
palette row 21, which v1 also lent to partners, so the reflections took the
partner's colors: the "bizarro Spider-Man". On that stage partners now borrow
rows 26 to 28, and a tag reloads the reflection row for the new point.
Captain America's shield copies its owner's palette row when it's made. One
made while he was the partner kept the partner's rows after he took the point,
and showed the last partner's colors. A tag now moves every object off the
partner's rows.
A knockout on the way out. A hero knocked out while it finished its move
and left went to the bench with no health and wasn't marked out, so the team
could tag it back in. Now it lies down and it's out.
The K.O. call. The round's message calls DOUBLE K.O. when both points
have no health left ($6B7B0). On the stream Juggernaut went down, Hulk
dropped in and knocked out Iron Man, the CPU's last hero, before he landed:
"that was not a double KO". The win was Hulk's all along. The call now counts
what each team has left, like the team KO test, so it's DOUBLE K.O. only when
both teams are out.
Gems. A partner starts with no Infinity Gems of its own. v1 cleared its
inventory to zeros, and zero is the Power Gem, which a partner could then use
without end. And a gem that's running keeps going through a tag: the gem and
the inventory belong to the player, so its timer and effect move to the hero
coming in. v1 ended it at the tag, and a Soul Gem stopped healing.
v1.1 needs your clean ZIP again: patch the original, not a v1 output. For four
players the launcher sets a v1 msh4p.zip aside and makes the v1.1 one.
September 27: retail installer correction
The earlier v1 installer rejected legitimate clean retail ROMs at $005E38
with a “life bar tiles” error. That was our bug. It confused forming a table's
address with reading its contents and used the wrong ROM view for several
checks and runtime reads. This download fixes both; it keeps the complete
ROM identity checks and every hook guard.
If you saw that message, download the installer again and patch your clean
original ZIP. For four players, download and extract the full RetroArch pack
again so the launcher uses the corrected installer. ZIP size alone does not
identify a set. Your original ZIP is only read.
What got tested
v1.1 gameplay: in MAME 0.264 on the Phoenix mshud and the patched Euro
msh, 24 random two-player fights of 9,000 frames (1,230 tags, 38 double
teams, gems now and then) had no crash or hang; v1 crashed in 1 of the same 24,
and in 1 of 3 arcade runs against Thanos's team, which v1.1 clears 3 of 3.
Scripted runs check every fix above: the first game's one round, the draw's
final round, the arcade's beaten flag, the knockout on the way out, the
returning shield on both sides, the Daily Bugle's reflection row on every
frame of a fight with tags (v1: 2,132 of 2,292 frames wrong, v1.1: none), the
K.O. call (a point down while its partner drops in and the other team's last
hero down before it lands: K.O.; both teams out: DOUBLE K.O.), and a Soul Gem
that goes on healing the hero who tags in (v1: it stopped at the tag).
v1.1 four players: the MSH TAG core, unchanged from v1, runs a v1.1
msh4p.zip made from the Euro set in a scripted libretro frontend: P1 to P4
join, pick and drive their heroes, and ports 3 and 4 tag back.
v1.2 installers: 19 of 19 fixture tests pass, including the optional
sky, and all five real clean sets (msh, mshu, msha, mshjr1, mshud)
pass both variants: ten cases. Python and the exact installer PowerShell
body on PowerShell 7/macOS produce identical members. All 43 two-player and
45 four-player dependency guards per set reject changed bytes; eight
negative controls produce no output. Original inputs remain unchanged.
v1.2 Hulk and guard: the final Phoenix two-player build passes 220 Hulk
cases across the roster, both sides, standing/crouching, hits, blocks, edges
and whiffs. There are 25 explicit guard expectations across 27 two/four-player
probes; two roster whiffs are excluded from guard success claims. Ordinary
jumping overheads and independent P3 input remain available.
v1.2 regressions: nine quantitative scenarios pass again, covering
rounds, the CPU beaten flag, draw/bench restoration, exiting-fighter KO,
identity flags, shield colors, reflections and Soul Gem carry. K.O. and
DOUBLE K.O. banners also pass visual review. These are bounded diagnostics;
the longer v1.1 fuzzing above is historical and was not repeated as a new
long-session soak.
v1.2 four players: the final installed Euro msh4p.zip passes scripted
logical ports 1–4 joining, selecting and tagging out/back with correct
ownership, empty first-partner gem slots, and team inventory continuity at
the slot swap. Both sides' double teams and all eight TIME-bar checks pass.
All five copied HUD/camera tables match the clean ROM before and after tags.
These native runs use ordinary pad inputs and read-only RAM in a local
macOS build of the published MSH TAG core. The MAME regression fixtures
declare their setup writes.
Historical v1 footage: the clips and original broad feature tests used
the Phoenix build in MAME and FBNeo, including the optional meteor sky.
They do not show the new v1.2 fixes.
Still unverified: independent Windows/Fightcade installation, Windows
PowerShell 5.1, cmd.exe and drag-and-drop, the Windows core on Windows,
RetroArch UI and online play, four physical controllers, real hardware,
and native gameplay on the USA/Asia/Japan retail builds. Their installer
coverage does not establish native gameplay coverage. Use the tester
checklist for the independent handoff.
Credits
To the testers on Discord whose notes on MvC1, XCOTA TAG and SSF2T TAG shaped
this one: incoming partners you can block, color select, four players, and
installers that explain themselves. And to Loïc "WydD" Petit, for his
CPS-2 hardware research
(CC BY 4.0).
Community input · Next release
Help shape the next MSH TAG update
Choose up to 3 priorities. No account needed.
Community signals
Unavailable
Feedback guides the roadmap. Votes do not confirm bugs or commit a change to the next release.
Copies public poll choices and counts for your own workflow. Private notes are excluded. Copying sends nothing to another service.