Virtual Pro Wrestling 64: Recompiled is a project that uses N64Recomp to statically recompile the Nintendo 64 game Virtual Pro Wrestling 64 (Japan) into a native PC port, running on the N64ModernRuntime with RT64 as the rendering engine. It is the sister project of WCW vs. nWo World Tour: Recompiled — VPW64 and World Tour are direct siblings, released seventeen days apart in December 1997 — and of WCW/nWo Revenge: Recompiled, sharing their runtime stack and conventions.
This repository and its releases do not contain game assets. The original game is required to build or run this project.
Status: beta. The game boots, renders at high resolution, plays music and sound effects, takes keyboard and gamepad input through the menus and matches, rumbles, and saves persist automatically. See Known Issues for what's still rough.
- System Requirements
- Features
- Planned Features
- FAQ
- Known Issues
- Building
- Libraries Used and Projects Referenced
- Special Thanks
Currently a Windows build is provided; other operating systems may be supported later.
A GPU supporting Direct3D 12.0 (Shader Model 6) or Vulkan 1.2 is required. A CPU supporting the SSE4.1 instruction set is also required (Intel Core 2 Penryn series or AMD Bulldozer and newer).
If you have crashes on startup, make sure your graphics drivers are fully up to date.
Provide your copy of the Japanese release of the game and start playing! The project loads assets directly from your ROM, so there is no separate extraction or build step.
Rendering is hardware-accelerated through RT64 at high resolution, with the game's original visual effects intact — no emulator-style workarounds or hacks.
With Aspect Ratio set to Expand (the default), the 3D scene renders at your window's aspect ratio with a correctly widened field of view, while 2D interface elements stay at their original proportions.
Press Esc (or your gamepad's Back/Select button) during play to open the config menu: general settings, graphics settings, full input rebinding for keyboard and controller (two bindings per input), and audio settings. Menus can be used with mouse, keyboard, or controller.
Like the rest of the AKI wrestling family, VPW64 moves on the N64 d-pad and taunts with the analog stick, so the default mappings are built for that: move on the left stick and d-pad, taunt on the right stick, and the defensive pair on mirrored triggers. Grapple = A, attack = X, run = B, climb/turnbuckle = Y, switch focus = bumpers. Keyboard: WASD moves, IJKL taunts, Space/Shift/Q/E/R for the face buttons. Everything is rebindable in the in-game menu.
On real hardware VPW64 saves player records to a Controller Pak — which occupies the same controller slot a Rumble Pak needs, forcing players to physically swap paks. The port's virtual pak is both at once: saves are always honored and persist automatically across sessions, and your gamepad rumbles during matches. No juggling.
- High framerate support (frame interpolation) — see Known Issues
- Linux support
- Mod support
Static recompilation is the process of automatically translating an application from one platform to another — here, the game's original MIPS machine code is translated into C and compiled for modern PCs. For details, see N64Recomp. This is not an emulator and not a decompilation.
It isn't — no public decompilation of Virtual Pro Wrestling 64 exists. Unlike most
recompilation ports, which borrow symbol names from a decomp, this project generated
its own symbol metadata from scratch via a splat
disassembly (see disasm/ and syms/), transferring libultra identifications from
its sister project World Tour by machine-code fingerprinting.
Yes. Virtual Pro Wrestling 64 was only released in Japan, and this port renders the game exactly as it shipped — menus and wrestler names are in Japanese. (The menus are straightforward to navigate even without Japanese; the port's own config menus are in English.) A community English translation patch exists for the original ROM; patched ROMs are not accepted by this port today — translation support is a mod-support topic, planned.
- Windows:
%LOCALAPPDATA%\Vpw64Recompiled\saves\
Configuration files and the log file live one level up in the same app folder. Save data is preserved across updates.
Yes — place a file named portable.txt in the same folder as the executable and
saves, config files, and the stored ROM will be kept next to the executable instead.
You don't. This project is only a port of Virtual Pro Wrestling 64, and it
only accepts one specific ROM: the Japanese N64 release
(SHA1 F9E9FA2ED819C3A39DB5CB6AFECA186F021DB5ED). It is not an emulator and it
cannot run any arbitrary ROM.
You can't accidentally load the wrong file — the launcher validates the ROM before storing its own copy (so the original file can be moved or deleted afterwards). If the stored copy ever goes missing or gets corrupted, the launcher simply offers Load ROM again.
- Frame interpolation is disabled (Framerate is locked to Original). Like its sister games, VPW64 builds each visual frame from several RSP tasks and submits fully composed matrices, which defeats RT64's frame-interpolation heuristics — interpolated frames warp geometry. High-framerate support needs game-side matrix-group patches and is planned.
- The title screen's pak status reports "a Rumble Pak is inserted" — that's the port's virtual pak answering the game's rumble probe, exactly as real hardware would with a Rumble Pak in the slot. Saves still work (and persist) regardless.
- Overlays such as MSI Afterburner and other software such as Wallpaper Engine can cause performance issues that prevent the game from rendering correctly. Disabling such software is recommended.
Building is not required to play — grab a release instead. To build from source, see BUILDING.md.
- N64Recomp — the static recompiler this port is built with
- N64ModernRuntime — the modern runtime (ultramodern + librecomp)
- RT64 — the rendering engine
- RecompFrontend — launcher, config menus, and input stack
- RmlUi for building the menus and launcher
- lunasvg for SVG rendering, used by RmlUi
- FreeType for font rendering, used by RmlUi
- SDL2 for windowing, input, and audio
- moodycamel::ConcurrentQueue for semaphores and fast, lock-free MPMC queues
- Gamepad Motion Helpers for sensor fusion and calibration algorithms
- DirectX Shader Compiler, zstd, nativefiledialog-extended, and plume via RT64
- splat / spimdisasm for the disassembly that produced this project's symbol metadata
- Inter, Noto Emoji, and
PromptFont fonts (OFL; PromptFont license in
assets/promptfont/) - SDL_GameControllerDB for community controller mappings
- WCW vs. nWo World Tour: Recompiled, WCW/nWo Revenge: Recompiled, Bomberman Hero: Recompiled, and Zelda64Recomp as reference projects for structure and conventions
- Wiseguy and DarioSamo for creating N64Recomp and RT64.
- RevoSucks and the Bomberman Hero: Recompiled project, the template for this port's sister projects and therefore for this one.
- The Zelda64Recomp team for establishing the conventions the whole recomp ecosystem follows.
- ethteck and the splat/spimdisasm contributors — the disassembly tooling that made a no-decomp recompilation possible.


