rePIU
The original DOS/4G game code, as it is, on a modern PC.
rePIU is an experimental runtime that executes the original 32-bit x86 code of DOS/4G-based PIU binaries natively, without DOSBox or a full PC emulator. Game logic stays in the original code; only the DOS, DPMI, memory, file-system and hardware boundaries are replaced with High Level Emulation (HLE).
This is research-stage software, not a finished game launcher. Per-title compatibility is still under development.
Screenshots
Screens drawn by the original executables under rePIU's Win32 x86 Release build (640x480). Select an image to see it full size.
Principles
- Original logic preserved — gameplay is not rewritten in C++; the original x86 code stays the primary execution path.
- Selective HLE — only the observed DOS interrupts, DPMI, port I/O and memory behaviour are replaced, narrowly.
- DOS/4GW LE analysis — executable objects, fixups, relocations and runtime image placement are handled directly.
- Replaceable parts — loader, memory, selectors, DOS file system and HLE profiles are kept apart.
- Reproducible records — designs, work orders, analysis and work logs accumulate as repository documents.
How it works
The loader reads the original LE executable, applies its fixups and places it in memory; the original code then runs on the host CPU as it is.
Only when that code reaches a DOS or DPMI call, a privileged instruction or a hardware port does the HLE layer step in, answering from a virtual DOS file system, a memory arena with selectors, and interrupt and port I/O services, then hand control back to the original code.
Platforms
- RELEASE Windows (Win32 x86)The primary host. Every release ships built executables.
- WIP Linux x64Port in progress. Build from source to run it.
- HOLD Web (WebAssembly)The platform-neutral core builds for wasm; the execution backend is on hold.
Supported ROM sets
The MAME-format PIU profiles in the current built-in catalog. Each needs its matching ROM ZIP and CHD, legally owned by the user. Per-title compatibility is still under development.
| Set | Title | Clone of |
|---|---|---|
| pumpit1 | Pump It Up: The 1st Dance Floor (ver 0.53.1999.9.31) | — |
| pumpit2 | Pump It Up: The 2nd Dance Floor (Feb 28 2000) | — |
| pumpit2a | Pump It Up: The 2nd Dance Floor (Dec 27 1999) | pumpit2 |
| pumpit3 | Pump It Up The O.B.G: The 3rd Dance Floor (v3.04 - Jun 02 2000) | — |
| pumpit3a | Pump It Up The O.B.G: The 3rd Dance Floor (v3.03 - May 07 2000) | pumpit3 |
| pumpito | Pump It Up The O.B.G: The Season Evolution Dance Floor (R4/v3.25 - Aug 27 2000) | — |
| pumpitc | Pump It Up: The Collection (R5/v3.43 - Nov 14 2000) | — |
| pumpitpc | Pump It Up: The Perfect Collection (R5/v3.52 - Dec 18 2000) | — |
| pumpitpr | Pump It Up The Premiere: The International Dance Floor (R6/v4.01 - Feb 22 2001) | — |
| pumpitpru | Pump It Up The Premiere: The International Dance Floor (R6/v4.01 - Feb 22 2001 USA) | pumpitpr |
| pumpite | Pump It Up Extra (Mar 21 2001) | — |
| pumpitea | Pump It Up Extra (Mar 08 2001) | pumpite |
| pumpitpx | Pump It Up The PREX: The International Dance Floor (2001 - REV2 / 101) | — |
| pumpit8 | Pump It Up The Rebirth: The 8th Dance Floor (Rebirth/2002) | — |
| pumpitp2 | Pump It Up The Premiere 2: The International 2nd Dance Floor (Premiere 2/2002) | — |
| pumpipx2 | Pump It Up The PREX 2 (Premiere 2/2003) | — |
| pumpipx2p | Pump It Up EXTRA + Plus (Premiere 2/2003) | pumpipx2 |
| pumpitp3 | Pump It Up The Premiere 3: The International 3rd Dance Floor (Premiere 3/2003 - 28th Mar 2003) | — |
| pumpitp3a | Pump It Up The Premiere 3: The International 3rd Dance Floor (Premiere 3/2003 - 17th Mar 2003) | pumpitp3 |
| pumpipx3 | Pump It Up The PREX 3: The International 4th Dance Floor (2003 - X3.2MK3) | — |
| pumpipx3a | Pump It Up The PREX 3: The International 4th Dance Floor (2003 - INT X3.1MK3) | pumpipx3 |
| pumpipx3b | Pump It Up The PREX 3: The International 4th Dance Floor (2003 - Korea X3.1MK3) | pumpipx3 |