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는 정말 형편없는 컴퓨터였음
  • 요즘 300달러 이하의 Android 휴대용 기기로도 PS2 전체 라이브러리를 에뮬레이션할 수 있음
    업스케일링까지 지원돼서 놀라울 정도임
    • Moore의 법칙은 여전히 유효함
      곧 휴대폰이 수억 달러짜리 클러스터 수준의 AI 모델을 돌릴 날이 올 것임
      10년 뒤에는 수십억 달러 규모의 클러스터에서 어떤 일이 가능할지 상상조차 어렵음
    • 나도 최근 Retroid Pocket Flip으로 옮겼는데, WiiU와 PS2 게임을 2배 해상도로 완벽히 돌리고 있음
      심지어 가벼운 Switch 게임도 가능함
    • 그런데 이렇게 강력한 성능을 위젯 앱 돌리는 데 낭비하는 게 아쉬움
      내 휴대폰은 1990~2002년 사이 내가 썼던 PC 네 대를 합친 것보다 강력함
    • 나는 오히려 이런 기기들이 앞으로 더 많은 타이틀을 다룰 거라고 봄
      흥미로운 시대에 살고 있음
  • 뉴스 기사 대신 실제 프로젝트 링크를 공유함 → PS2Recomp GitHub
  • 이 주제와 관련해 OpenGOAL 프로젝트도 있음
    이는 Naughty Dog의 PS2용 GOAL (Game Oriented Assembly Lisp) 인터프리터를 FOSS로 구현한 것임
    덕분에 소규모 팀이 빠르게 PS2 타이틀을 포팅 중임
    1. OpenGOAL 공식 사이트
    2. GOAL 위키 문서
    • 놀라움. Jak & Daxter가 Emacs를 주요 IDE로 개발되었다는 사실을 처음 알았음
  • PS2의 부동소수점 연산의 90%는 두 개의 벡터 유닛(VU) 에 있음
    R5900 CPU에 집중하는 건 의미가 없음
    그래도 이 접근법은 단순한 PC 포트를 PS2로 옮기는 데는 유용할 수 있음
    • 예전에 나는 PS2의 벡터 유닛용 시뮬레이터를 직접 만들었음
      Sony가 디버거를 제공하지 않았기 때문임
      다행히 VU는 단순하지만 강력한 프로세서였고, 일본 엔지니어들이 작성한 비트 단위 문서 덕분에 시뮬레이터를 만들 수 있었음
      사용법 가이드는 없었지만, 명세는 완벽했음
  • 나는 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년이 오래된 영화”라니, 이제 내가 나이를 실감하게 됨