플레이스테이션 2 리컴파일 프로젝트는 정말 놀라움
(redgamingtech.com)- PS2Recomp은 플레이스테이션 2 게임을 현대 플랫폼에서 네이티브 실행 가능하게 만드는 정적 리컴파일러 및 런타임 도구
- 기존 에뮬레이터(PCSX2) 가 제공하던 고해상도 렌더링과 안정적 프레임레이트를 넘어, 게임을 직접 변환해 실행할 수 있음
- 이 도구는 각 게임별로 별도 적용이 필요하며, 단순히 ‘다운로드 후 즉시 실행’되는 형태는 아님
- 리마스터와 커뮤니티 리메이크의 기반이 될 수 있으며, 프레임레이트 제한 해제와 물리·충돌 문제 개선 가능성 제시
- 완성되면 게임 보존과 PC 네이티브 포팅의 새로운 전환점이 될 잠재력 보유
PS2Recomp 프로젝트 개요
-
PS2Recomp은 플레이스테이션 2 게임을 Windows나 Linux PC에서 네이티브로 실행할 수 있도록 변환하는 정적 리컴파일러 및 런타임 도구
- PS2의 독자적 구조인 Emotion Engine(MIPS R5900 기반 CPU) 을 분석해, 대상 플랫폼용 코드로 변환
- 단일 실행 파일이 아닌, 각 게임별로 별도 리컴파일 과정을 거쳐야 함
- 이 방식은 단순한 에뮬레이션을 대체하며, 하드웨어 요구 사양이 낮고 성능 효율이 높을 가능성 있음
기존 에뮬레이터와의 차이
- PCSX2 같은 에뮬레이터는 내부 해상도 업스케일링, 프레임 안정화, 텍스처 팩 적용 등을 지원
- 그러나 리컴파일 방식은 게임을 직접 변환해 실행하므로, 프레임레이트 제한 해제나 물리·충돌 오류 없이 동작할 수 있음
- 이 접근은 게임 보존 및 개선 작업에 더 큰 자유도 제공
리마스터 및 커뮤니티 확장 가능성
- 이미 PS2 에뮬레이터용 HD 텍스처 팩이 존재하지만, 리컴파일은 그래픽·게임플레이 수정의 폭을 넓힘
- 향후 MGS2, Gran Turismo, God of War, Tekken 4, Shadow Hearts 등 주요 타이틀의 네이티브 PC 버전 구현 가능성 언급
- 컨트롤러 호환성(DualShock, Xbox 등)과 추가 기능 통합도 기대
유사 프로젝트 사례
- N64 플랫폼에서도 Mario 64와 Zelda 리컴파일 프로젝트가 진행 중
- Mario 64 프로젝트는 RTX(레이 트레이싱) 지원 버전 존재
- Zelda 프로젝트는 시각적·게임플레이 개선과 향후 레이 트레이싱 도입 계획 포함
- 이러한 사례는 PS2Recomp의 발전 방향을 보여주는 예시로 제시됨
PS2 하드웨어 구조와 프로젝트 진행 상황
- PS2는 약 300MHz의 Emotion Engine CPU, 두 개의 Vector Unit, 32MB 메모리, 147MHz의 Graphics Synthesizer GPU(4MB eDRAM) 으로 구성
- 낮은 클럭에도 불구하고 GameCube이나 Xbox에 필적하는 성능을 발휘한 독특한 설계
- 현재 프로젝트는 완성되지 않았으며 개발 진행 중
- 게임 보존에 관심 있는 이들에게 매우 고무적인 시도로 평가됨
Hacker News 의견들
-
PlayStation 2는 역사상 가장 성공적인 콘솔 중 하나였음
수많은 명작 게임이 있고, DVD 드라이브와 PS2 Linux 배포판까지 제공하며 개인용 컴퓨터로도 포지셔닝되었음
이상적인 세상에서는 PS2와 PS3 사이의 중간 사양 콘솔이 나와서, IBM PC 클론 시장처럼 표준화된 생태계가 만들어졌을지도 모름
그랬다면 지금도 30달러짜리 “PS2 클론”을 사서 기본적인 컴퓨팅과 고전 게임을 즐길 수 있었을 것임- 나는 오히려 제한된 하드웨어 덕분에 PS2와 같은 콘솔이 명작을 낳았다고 생각함
하드웨어 제약이 개발자들에게 미적 감각과 설계 최적화를 강요했고, 그 결과 진화론적 선택처럼 최고의 아이디어만 남았음
또, PC처럼 여러 제조사가 복제기를 만드는 세상은 재미없을 것임 — 닌텐도가 “플레이스테이션 복제품”을 만든다고 상상해보면 됨 - PS2 Linux는 사실 EU 수입세 회피용이었다는 말이 있음
- 나는 실제로 PS2 Linux와 관련 하드웨어를 가지고 있었음
Sony는 이를 PlayStation Yaroze의 진화형으로 보고 인디 개발을 장려하려 했지만, 대부분은 에뮬레이터 실행용으로 썼음
PS3에서는 이런 이유로 그래픽 가속 접근이 막혔음
IBM PC 클론 시장은 IBM의 실수로 생긴 것이고, Compaq이 BIOS를 역공학하며 판도라의 상자를 열었음 - PS2 Linux는 정말 형편없는 컴퓨터였음
- 나는 오히려 제한된 하드웨어 덕분에 PS2와 같은 콘솔이 명작을 낳았다고 생각함
- 요즘 300달러 이하의 Android 휴대용 기기로도 PS2 전체 라이브러리를 에뮬레이션할 수 있음
업스케일링까지 지원돼서 놀라울 정도임-
Moore의 법칙은 여전히 유효함
곧 휴대폰이 수억 달러짜리 클러스터 수준의 AI 모델을 돌릴 날이 올 것임
10년 뒤에는 수십억 달러 규모의 클러스터에서 어떤 일이 가능할지 상상조차 어렵음 - 나도 최근 Retroid Pocket Flip으로 옮겼는데, WiiU와 PS2 게임을 2배 해상도로 완벽히 돌리고 있음
심지어 가벼운 Switch 게임도 가능함 - 그런데 이렇게 강력한 성능을 위젯 앱 돌리는 데 낭비하는 게 아쉬움
내 휴대폰은 1990~2002년 사이 내가 썼던 PC 네 대를 합친 것보다 강력함 - 나는 오히려 이런 기기들이 앞으로 더 많은 타이틀을 다룰 거라고 봄
흥미로운 시대에 살고 있음
-
Moore의 법칙은 여전히 유효함
- 뉴스 기사 대신 실제 프로젝트 링크를 공유함 → PS2Recomp GitHub
- 이 주제와 관련해 OpenGOAL 프로젝트도 있음
이는 Naughty Dog의 PS2용 GOAL (Game Oriented Assembly Lisp) 인터프리터를 FOSS로 구현한 것임
덕분에 소규모 팀이 빠르게 PS2 타이틀을 포팅 중임- 놀라움. Jak & Daxter가 Emacs를 주요 IDE로 개발되었다는 사실을 처음 알았음
- PS2의 부동소수점 연산의 90%는 두 개의 벡터 유닛(VU) 에 있음
R5900 CPU에 집중하는 건 의미가 없음
그래도 이 접근법은 단순한 PC 포트를 PS2로 옮기는 데는 유용할 수 있음- 예전에 나는 PS2의 벡터 유닛용 시뮬레이터를 직접 만들었음
Sony가 디버거를 제공하지 않았기 때문임
다행히 VU는 단순하지만 강력한 프로세서였고, 일본 엔지니어들이 작성한 비트 단위 문서 덕분에 시뮬레이터를 만들 수 있었음
사용법 가이드는 없었지만, 명세는 완벽했음
- 예전에 나는 PS2의 벡터 유닛용 시뮬레이터를 직접 만들었음
- 나는 AI를 이용해 Dance Central 3를 디컴파일 중임
Kinect 의존성이 커서 어려웠지만, Debug 빌드가 발견되어 가능해졌음
Ghidra와 m2c에 vmx128 명령어를 직접 구현했고, 이미 1천 개 이상의 함수를 복원했음
예시 코드와 작업 브랜치를 공유함
단 몇 시간 만에 이런 결과를 얻을 수 있다는 게 믿기지 않음 - 이 프로젝트는 Futamura projection의 응용임 → Partial evaluation 위키
- 처음엔 Futurama로 잘못 읽었음
- 하지만 실제로는 MIPS 에뮬레이터를 특정 게임에 부분 평가하는 방식이 아니므로 완전한 Futamura projection은 아님
- 에뮬레이션도 훌륭하지만, 리컴파일(recompilation) 은 마법 같음 → Zelda64Recomp GitHub
- 그런데 “그 마법”이 정확히 뭔지 궁금함
이론상 해석(emulation)과 컴파일(compilation)은 동일한 동작을 해야 함
- 그런데 “그 마법”이 정확히 뭔지 궁금함
- 나는 이 아이디어가 정말 마음에 듦
영화광으로서 “2017년 영화는 너무 오래됐다”는 말을 들으면 모욕감을 느낌
고전 영화처럼, 고전 게임도 세대가 달라도 충분히 즐길 수 있음
Fallout 1·2는 3보다 훨씬 깊이가 있고, Baldur’s Gate의 후속작들이 원작에 너무 집착한 반면, Divinity는 현대적 UI로 진화했음
이런 리컴파일 프로젝트는 다음 세대가 과거를 새 시선으로 바라보는 창이 될 수 있음- 그런데 “2017년이 오래된 영화”라니, 이제 내가 나이를 실감하게 됨