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.

The 1st Dance Floor — title
The 1st Dance Floor — title
The 2nd Dance Floor — title
The 2nd Dance Floor — title
The O.B.G: The 3rd Dance Floor — title
The O.B.G: The 3rd Dance Floor — title
The O.B.G: The Season Evolution — title
The O.B.G: The Season Evolution — title
The Collection — title
The Collection — title
The Perfect Collection — title
The Perfect Collection — title
The Premiere — title
The Premiere — title
The Premiere (USA) — demo play
The Premiere (USA) — demo play
Extra — title
Extra — title
The PREX — title
The PREX — title
The Rebirth: The 8th Dance Floor — title
The Rebirth: The 8th Dance Floor — title
The Premiere 2 — title
The Premiere 2 — title
The PREX 2 — title
The PREX 2 — title
EXTRA + Plus — title
EXTRA + Plus — title
The Premiere 3 — title
The Premiere 3 — title
The Premiere 3 — demo play
The Premiere 3 — demo play
The PREX 3 — title
The PREX 3 — title

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. (22 profiles)

SetTitleClone of
pumpit1Pump It Up: The 1st Dance Floor (ver 0.53.1999.9.31)—
pumpit2Pump It Up: The 2nd Dance Floor (Feb 28 2000)—
pumpit2aPump It Up: The 2nd Dance Floor (Dec 27 1999)pumpit2
pumpit3Pump It Up The O.B.G: The 3rd Dance Floor (v3.04 - Jun 02 2000)—
pumpit3aPump It Up The O.B.G: The 3rd Dance Floor (v3.03 - May 07 2000)pumpit3
pumpitoPump It Up The O.B.G: The Season Evolution Dance Floor (R4/v3.25 - Aug 27 2000)—
pumpitcPump It Up: The Collection (R5/v3.43 - Nov 14 2000)—
pumpitpcPump It Up: The Perfect Collection (R5/v3.52 - Dec 18 2000)—
pumpitprPump It Up The Premiere: The International Dance Floor (R6/v4.01 - Feb 22 2001)—
pumpitpruPump It Up The Premiere: The International Dance Floor (R6/v4.01 - Feb 22 2001 USA)pumpitpr
pumpitePump It Up Extra (Mar 21 2001)—
pumpiteaPump It Up Extra (Mar 08 2001)pumpite
pumpitpxPump It Up The PREX: The International Dance Floor (2001 - REV2 / 101)—
pumpit8Pump It Up The Rebirth: The 8th Dance Floor (Rebirth/2002)—
pumpitp2Pump It Up The Premiere 2: The International 2nd Dance Floor (Premiere 2/2002)—
pumpipx2Pump It Up The PREX 2 (Premiere 2/2003)—
pumpipx2pPump It Up EXTRA + Plus (Premiere 2/2003)pumpipx2
pumpitp3Pump It Up The Premiere 3: The International 3rd Dance Floor (Premiere 3/2003 - 28th Mar 2003)—
pumpitp3aPump It Up The Premiere 3: The International 3rd Dance Floor (Premiere 3/2003 - 17th Mar 2003)pumpitp3
pumpipx3Pump It Up The PREX 3: The International 4th Dance Floor (2003 - X3.2MK3)—
pumpipx3aPump It Up The PREX 3: The International 4th Dance Floor (2003 - INT X3.1MK3)pumpipx3
pumpipx3bPump It Up The PREX 3: The International 4th Dance Floor (2003 - Korea X3.1MK3)pumpipx3