Model2 NX 1.0
Sega Model 2 arcade emulator for Nintendo Switch – powered by MAME
Hi everyone!
After SuperModel NX (Sega Model 3), here is its little brother: Model2 NX, a homebrew port of MAME's Sega Model 2 driver to the Nintendo Switch. It's built from MAME 0.289 (Model 2 driver only) with MAME's SDL front end and a Switch platform layer: controls, file paths, threads, audio and a safe exit.
⚠ This is an experimental release, still in development.
It boots and plays, but it's not full speed yet. Daytona USA runs at about 1/3 speed on stock clocks. Please read the "Known limitations" section before trying it.
What works
- MAME's Model 2 driver (Model 2 / 2A), ROM sets from MAME 0.289
- Tested in full: Daytona USA (boots, plays, sound, NVRAM)
- Joy-Cons (attached) and Pro Controller, Nintendo button layout
- MAME menu for game selection, input remapping and settings
- NVRAM and settings are saved when you close the app, including closing from the HOME menu
- Multi-core: the polygon renderer, geometry parsing and audio run on separate cores
- Bundled config tuned for the Switch, installed on first launch and never overwritten
Controls
- − : Insert coin
- + : Start / select in the Test menu
- R3 : Test (service) button, opens the operator menu
- L + R : MAME menu
- − and + together : Back to the game list
- Left stick / D-pad and face buttons: game controls (remappable in the MAME menu)
Installation
- Copy model2nx.nro to sdmc:/switch/model2nx/
- Put your ROM sets (MAME 0.289 zips, don't extract them) in sdmc:/switch/model2nx/roms/
- Run it with title override (hold R while opening a game), not from the album applet, so it gets all the memory
Tips
- Daytona USA stuck on "LINK ID MASTER": press R3 to open the Test menu, go to the game assignments, set the link to SINGLE with +, then exit the menu. The setting is saved to NVRAM when you close the app, so you only need to do it once.
- Overclocking helps a lot: with sys-clk at 1785 MHz CPU the game runs noticeably faster.
- Ryujinx is not supported: it doesn't implement an instruction used by GCC 16's exception handling. Use real hardware (Atmosphère).
- A log is written to sdmc:/switch/model2nx/model2nx.log. Please attach it when you report a problem.
Known limitations
- The i960 main CPU and the TGP geometry processor run in MAME's interpreters, which is most of the remaining CPU time. Recompilers for them are the next big step.
- Daytona USA: about 20 emulated fps (~35% speed) on stock clocks
- Model 2B / 2C games are untested
- No network link play
Roadmap
- Recompiler (JIT) support using libnx code memory
- Recompilers for the TGP and i960
- GPU polygon rendering, faster UI renderer, custom front end
Download & source
https://github.com/toniisound/model2-nx/releases
Source code (GPL): https://github.com/toniisound/model2-nx
Bug reports, test results with other games and logs are very welcome, here or on GitHub issues.
Credits
- The MAME team, for the Model 2 driver and everything around it
- devkitPro / libnx and the SDL2 Switch port
- Everyone who tested SuperModel NX, where the Switch platform layer comes from
Support
This emulator is completely free and open-source. Optional donations to support development are always welcome:
Ko-fi | PayPal
No ROMs are included or will be provided. Don't ask for them. Model2 NX is not affiliated with Sega, Nintendo or the MAME team.






