rePIU

원본 DOS/4G 게임 코드를, 그대로, 현대 PC에서.

rePIU는 DOSBox나 전체 PC 에뮬레이터를 쓰지 않고, 원본 DOS/4G 기반 PIU 실행 파일의 32비트 x86 코드를 네이티브로 실행하는 실험적 런타임입니다. 게임 로직은 원본 코드에 그대로 두고 DOS, DPMI, 메모리, 파일 시스템, 하드웨어 경계만 High Level Emulation(HLE)으로 대신합니다.

연구·개발 단계의 소프트웨어이며 완성된 게임 런처가 아닙니다. 타이틀별 호환성은 계속 개발 중입니다.

스크린샷

rePIU의 Win32 x86 Release 빌드에서 원본 실행 파일이 그린 화면입니다(640x480). 이미지를 누르면 원본 크기로 봅니다.

The 1st Dance Floor — 타이틀
The 1st Dance Floor — 타이틀
The 2nd Dance Floor — 타이틀
The 2nd Dance Floor — 타이틀
The O.B.G: The 3rd Dance Floor — 타이틀
The O.B.G: The 3rd Dance Floor — 타이틀
The O.B.G: The Season Evolution — 타이틀
The O.B.G: The Season Evolution — 타이틀
The Collection — 타이틀
The Collection — 타이틀
The Perfect Collection — 타이틀
The Perfect Collection — 타이틀
The Premiere — 타이틀
The Premiere — 타이틀
The Premiere (USA) — 데모 플레이
The Premiere (USA) — 데모 플레이
Extra — 타이틀
Extra — 타이틀
The PREX — 타이틀
The PREX — 타이틀
The Rebirth: The 8th Dance Floor — 타이틀
The Rebirth: The 8th Dance Floor — 타이틀
The Premiere 2 — 타이틀
The Premiere 2 — 타이틀
The PREX 2 — 타이틀
The PREX 2 — 타이틀
EXTRA + Plus — 타이틀
EXTRA + Plus — 타이틀
The Premiere 3 — 타이틀
The Premiere 3 — 타이틀
The Premiere 3 — 데모 플레이
The Premiere 3 — 데모 플레이
The PREX 3 — 타이틀
The PREX 3 — 타이틀

원칙

  • 원본 로직 보존 — 게임플레이를 C++로 다시 쓰지 않고 원본 x86 코드를 주 실행 경로로 유지합니다.
  • 선별적 HLE — 관찰된 DOS interrupt, DPMI, port I/O와 메모리 동작만 좁은 범위로 대체합니다.
  • DOS/4GW LE 분석 — executable object, fixup, relocation과 runtime image 배치를 직접 다룹니다.
  • 교체 가능한 구조 — loader, 메모리, selector, DOS 파일 시스템, HLE profile을 서로 분리합니다.
  • 재현 가능한 기록 — 설계, 작업 지시, 분석과 작업 로그를 저장소 문서로 누적합니다.

동작 방식

로더가 원본 LE 실행 파일을 읽어 fixup을 적용하고 메모리에 배치하면, 원본 코드는 호스트 CPU에서 그대로 실행됩니다.

코드가 DOS·DPMI 호출이나 특권 명령, 하드웨어 port에 닿는 순간에만 HLE 계층이 가로채 가상 DOS 파일 시스템, 메모리 arena와 selector, interrupt·port I/O 서비스로 응답한 뒤 원본 코드로 돌려보냅니다.

플랫폼

  • 배포 Windows (Win32 x86)기본 호스트입니다. 릴리스마다 빌드된 실행 파일을 제공합니다.
  • 진행 중 Linux x64이식 진행 중입니다. 소스에서 빌드해 실행합니다.
  • 보류 Web (WebAssembly)플랫폼 공용 코어의 wasm 빌드까지 진행했고, 실행 backend는 보류 중입니다.

지원 ROM 세트

현재 내장 카탈로그의 MAME 형식 PIU profile입니다. 각 profile은 사용자가 합법적으로 보유한 해당 ROM ZIP과 CHD가 있어야 실행됩니다. 타이틀별 호환성은 계속 개발 중입니다. (22 개 profile)

세트타이틀원본 세트
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