Micro Maniacs Recompiled

Micro Maniacs Recompiled is a native PC port of Micro Maniacs for PlayStation with online multiplayer and experimental smooth motion.

README

Micro Maniacs Recompiled

GitHub downloads (all assets, all releases) GitHub downloads (latest release) GitHub release

Static recompilation of Micro Maniacs built on psxrecomp (fork with this title's framework changes: Taktloss/psxrecomp) and recomp-ui.

Native PC port of Micro Maniacs (PS1) with online multiplayer

Players1–5 (Multitap, Netplay)
RegionEurope
PublisherCodemasters
Year2000

Scaffolded with the New Project Layout. See psxrecomp/docs/GAME_PROJECT_SETUP.md for the full flow.

Retro Launcher

You can run this title standalone (download the release zip, point it at your disc; the first start generates and builds the game locally), or manage installs, updates, and disc/BIOS wiring with Retro Launcher — the Retro Compilation Manager hub for self-compiling recomps.

Downloads · Full README & features

Retro hub with a background build, next to a title’s recomp-ui launcher

Background cmake build with titles queued

Retro checks for updates, installs the prebuilt release zips, and automates BIOS/ROM/save plumbing so you are not stuck repeating each game’s first run by hand.

Legal

You must own the original game. Disc images under disc/ are gitignored and must never be committed. Retail BIOS dumps are not redistributed and no C derived from one may be committed; releases run on the bundled MIT OpenBIOS.

generated/ (the recompiled game C) is not committed: it is derived from the copyrighted disc. This repository holds only configuration (game.toml, seeds, AOT profile, mods) and the framework. On first start the setup wizard asks for your own disc, generates the game C locally and rebuilds; developers run psxrecomp_cli.py generate themselves. Consequently there is no disc-less prebuilt/CI release path.

Default app icon: assets/psxrecomp.ico (and .png / .svg) — Retro-themed controller mark from psxrecomp/assets/. Windows builds embed it via APP_ICON.

Optional box art under launcher_assets/img/ may come from libretro-thumbnails (Named_Boxarts); see BOXART_SOURCE.txt when present.

Smooth motion (experimental)

Settings → Render thread + Smooth motion draws in-between frames up to your display's refresh rate (races run at 25 game frames per second on PAL) from the game's own draw lists. Presentation only: game speed and logic are untouched, so each netplay player may choose it freely. Adds up to one game frame of latency; turns itself off for a few seconds when the PC falls behind. OpenGL only.

Release (self-compile kit)

The release zip contains no game code: only the runtime setup host, the framework tools and OpenBIOS. On first start it asks for your own disc (Micro Maniacs PAL, SLES-01921, CUE/BIN with 2 tracks), generates the game C locally and builds the playable binary under build-release/. Later starts go straight to the game. Linux uses CMake, Ninja, Python 3 and gcc/g++ or clang/clang++ from PATH when all are installed (Fedora/Nobara: sudo dnf install cmake ninja-build python3 gcc-c++). Without them only Python 3 is needed: the setup page offers to download the portable cmake-clang-v1 pack (nothing is downloaded unless you confirm it there, or run python3 psxrecomp/psxrecomp_cli.py ensure-toolchain). The first build takes a few minutes. Windows x64 (10 version 1803 or later) downloads its build toolchain (cmake-clang-v1) on first start; under Wine/Proton use the Linux kit instead. Kits are built by the Setup kit workflow (.github/workflows/setup-kit.yml): pushing a tag vX.Y.Z builds both and attaches them to that release. Local packaging: scripts/package_setup_kit.sh.

Enhancements (all optional, per player unless noted): internal resolution, texture filtering, FSR 1 upscaling, dithering off, PGXP, CRT/post effects, widescreen 16:9 (mod mmr.widescreen; in netplay the host's choice applies to everyone), cheats (mod mmr.cheats, host's choice in netplay).

Quick start (dev)

git submodule update --init --recursive
./psxrecomp/tools/ci/build_emitters.sh
python3 psxrecomp/psxrecomp_cli.py generate \
  --config game.toml --project-root . --disc disc/<your>.cue
# generated/ stays local (gitignored); never commit it.
# Configures, builds, and stages overlay_toolchain/ beside the runtime so
# streamed overlays can be compiled to native shards (a bare cmake build
# skips that stage and leaves every overlay gap interpreted).
python3 psxrecomp/psxrecomp_cli.py rebuild \
  --config game.toml --project-root . --build-dir build-release --no-pgo

Official optimized Windows/Linux releases use the maintained shared builder with the title disc available. Commit the desired VERSION, source and framework pins, then run:

scripts/package_release.sh --channel public
# Use --channel playtest for a non-public package; --platform selects Windows/Linux.

On Windows PowerShell, use psxrecomp/tools/package_title_release.ps1 --channel public. The generated packaging/release.toml and player instructions define the title payload. The shared builder owns regeneration, qualified build defaults, fresh private PGO boot training on supported native toolchains, staging and verification. Boot training is a build step, not gameplay qualification or a performance claim. See psxrecomp/docs/RELEASING_A_TITLE.md.

The separate Release builds CI workflow (tag vX.Y.Z or dispatch) builds committed generated/ C without a disc on Linux, Windows and macOS. It uses scripts/package_prebuilt_release.sh and attaches compiled-game ZIPs. That explicit prebuilt path does not train selective PGO and is not the official optimized-release command. The common builder does not add macOS support.

Studio's current Export action still uses the old prebuilt argument contract; use the shared command above for optimized releases until Studio adopts the recipe/channel interface. Its packager detection and packaging/ warning also need that adoption; the generated recipe is maintained configuration, not a forked packager.

Symbols

Progressive map: symbols.toml → python3 tools/sync_symbols.py → psx_symbols.h (PSX_FN_*). See psxrecomp/docs/SYMBOLS.md.

Framework pins

Submodule gitlinks (psxrecomp, optional recomp-ui, nested recomp-net) are authoritative. framework_pins.txt is an optional scaffold snapshot; release CI logs SHAs with record_pins.sh but builds whatever the gitlinks resolve to. Bump submodules deliberately — do not float on main/master in release CI.


R.A.I.D. — Retro AI Development · a Discord for AI-assisted retro reverse-engineering, decomp & recomp

Join the Retro AI Development (R.A.I.D.) Discord