MegaManXSNESRecomp
The original game's compiled code translated into a native program for a new platform, usually a PC port.
Based on Mega Man X
Links, repository & detailsAbout
Mega Man X is a 1993 platform game developed and published by Capcom for the Super Nintendo Entertainment System, and the first game in the Mega Man X series. MegaManXSNESRecomp is a static recompilation of the SNES Mega Man X into native C using the snesrecomp framework. The 65816 CPU code is translated to C, with an interpreter as a fallback for code the static pass cannot prove, while the SNES's graphics, audio and other hardware are emulated. The author reports it as fully playable end to end on Windows, with macOS and Linux builds supported from source.
How it differs from the original
Adds features the SNES original does not have: an experimental widescreen mod that draws extra gameplay area at the sides (off by default), save states, a rewind history, turbo fast-forward, and a choice of display aspect presentations.
Getting started
Download a release, run the executable, and choose your own Mega Man X (USA) (Rev 1) ROM when prompted; headered and unheadered dumps both work. Keys can be remapped in an auto-generated config file, and common gamepads are detected automatically. Building from source uses CMake and requires generating the recompiled code from your own ROM first.
Known issues & limitations
- Widescreen is experimental, so visual or gameplay edge cases may remain.
What you need to run it
Features
- The game is playable end to end on Windows.
- The USA Rev 1 build offers an optional experimental widescreen mode that adds gameplay area at the sides instead of stretching the image.
- The launcher offers 4:3 CRT, 8:7 square-pixel, and 1:1 square-frame display presentations.
- Xbox, PlayStation, and Switch Pro controllers are auto-detected.
How to install
- Download and extract the latest release zip, then run mmx.exe.
- On first launch, choose your ROM in the file picker; the selected path is cached for later launches.
Controls
- Player 2 is unbound by default; assign keys in keybinds.ini to enable a second keyboard player.
- F7 opens the save browser and F8 opens rewind history; both pause the game and audio while choosing.
Summarised from the project's README.
Media
Licensing & legal
- The project code is licensed under PolyForm Noncommercial 1.0.0; the ROM is never redistributed.
Additional notes
- Validation
- A tester completed the game on Linux on a Steam Deck, and the playthrough was recorded on Twitch.
- Regional variant
- The Japanese Rockman X (v1.1) can also be built, but widescreen is not currently available for it.
FAQ
- What is MegaManXSNESRecomp?
- MegaManXSNESRecomp is an open-source recompilation of Mega Man X. The original game's compiled code translated into a native program for a new platform, usually a PC port. The original game ran on SNES.
- Do I need the original game files to run MegaManXSNESRecomp?
- Yes. The project does not include the original game's assets, so you need your own copy. Requires your own legally-obtained Mega Man X (USA Rev 1) ROM to run.
- How is MegaManXSNESRecomp licensed?
- project: PolyForm Noncommercial 1.0.0 (original code in this repository). The repository itself is the authoritative source.
- Does the project include the game ROM?
- No. You must supply your own legally dumped copy; the ROM is not redistributed.
- Do headered .smc ROM files work?
- Yes. 512-byte SMC copier headers are removed automatically before hashing, so headered and unheadered files work.