Skip to content

SuperModel NX 1.1.0

Choose a tag to compare

@Thorhax Thorhax released this 04 Oct 12:43
· 5 commits to main since this release

Audio and performance update for SuperModel NX, the Sega Model 3 arcade emulator for Nintendo Switch.

What's new

  • Sound effects and speech no longer crackle. SDL's audio thread was starting at the lowest priority on the same core as the renderer, so long frames starved it. It now runs on its own core above the emulator threads, with larger audio buffers.
  • No more stutter during loading and attract mode. 3D textures now upload in one call per texture area instead of one call per row, and the 2D layers rotate between three textures so uploads never wait on the GPU. In Scud Race, drops to 20–30 FPS and hitches of 100–440 ms are gone.
  • Faster PowerPC recompiler. Reads of the PowerPC decrementer register are now compiled instead of interpreted. Scud Race does up to 150,000 of these per frame.
  • 3D state from one buffer. Each mesh's settings now come from a single buffer per pass instead of about 25 shader uniforms per mesh (New3DBatchedDraws, on by default). A self-test at startup picks a method the GPU driver handles correctly.
  • New RenderScale option (25–100, default 100). Renders at a percentage of the resolution and upscales.
  • Better logs. The log reports audio timing and a breakdown of 3D render time. It also keeps the logs of the three previous runs (Supermodel.1.log to .3.log).

Installation

  1. Copy supermodel.nro to /switch/supermodel/ on your SD card, replacing the old one.
  2. Put your MAME-style ROM zips in /switch/supermodel/ROMs/.
  3. Optional: put your NVRAM files in /switch/supermodel/NVRAM/ (e.g. daytona2.nv), or set each game up once in its test menu.
  4. Requires Atmosphère. Launch in title mode (hold R while opening a game) for full memory.

When you update from 1.0, your existing Config/Supermodel.ini is kept. The new settings use their defaults until you add them under [ Global ].

Tips

  • In 3D-heavy races (e.g. Scud Race), the GPU is the limit. With sys-clk, raise the GPU clock rather than the CPU's.
  • RenderScale = 75 holds 60 FPS in Scud Race races (52–57 FPS at 100), but the image is softer.
  • If a game shows no 3D, set New3DBatchedDraws = 0 to go back to the original rendering path, and please report it with your Log/Supermodel.log. Do not use New3DBatchedDraws = 2 on the Switch: it hangs the GPU.

No ROMs or NVRAM data are included. Not affiliated with or endorsed by Sega or Nintendo.

By ToniiSound and Thorhax. Based on Supermodel (The Supermodel Team) and Libretro-Supermodel. Licensed under GPL v3.

❤️ Enjoying the port?
If this project helped you out, consider buying me a coffee on Ko-fi or supporting on Patreon to support future updates!

Support on Ko-fi Support on Patreon