1 คะแนน โดย GN⁺ 2026-01-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • PS2Recomp เป็นเครื่องมือ static recompiler และ runtime ที่ทำให้เกม PlayStation 2 รันแบบเนทีฟบนแพลตฟอร์มสมัยใหม่ ได้
  • ก้าวข้ามความสามารถของ อีมูเลเตอร์ (PCSX2) ที่เดิมให้การเรนเดอร์ความละเอียดสูงและเฟรมเรตที่เสถียร โดยสามารถแปลงเกมแล้วรันได้โดยตรง
  • เครื่องมือนี้ต้องปรับใช้แยกสำหรับแต่ละเกม และไม่ได้มาในรูปแบบที่ ‘ดาวน์โหลดแล้วรันได้ทันที’
  • อาจเป็นรากฐานของ รีมาสเตอร์และรีเมกโดยชุมชน พร้อมเปิดความเป็นไปได้ในการปลดล็อกข้อจำกัดเฟรมเรตและปรับปรุงปัญหาฟิสิกส์·การชนกัน
  • หากเสร็จสมบูรณ์ ก็มีศักยภาพจะเป็นจุดเปลี่ยนใหม่ของ การอนุรักษ์เกมและการพอร์ตแบบเนทีฟลง PC

ภาพรวมโปรเจ็กต์ PS2Recomp

  • PS2Recomp เป็นเครื่องมือ static recompiler และ runtime ที่แปลงเกม PlayStation 2 ให้ รันแบบเนทีฟบนพีซี Windows หรือ Linux ได้
    • วิเคราะห์ Emotion Engine (CPU สถาปัตยกรรม MIPS R5900) ซึ่งเป็นสถาปัตยกรรมเฉพาะของ PS2 แล้วแปลงเป็นโค้ดสำหรับแพลตฟอร์มเป้าหมาย
    • ไม่ใช่ไฟล์รันเพียงไฟล์เดียว แต่ต้องผ่านกระบวนการรีคอมไพล์แยกสำหรับแต่ละเกม
  • แนวทางนี้เป็นการ ทดแทนการอีมูเลชัน แบบเดิม และอาจมีข้อดีทั้งด้านความต้องการฮาร์ดแวร์ที่ต่ำกว่าและประสิทธิภาพที่สูงกว่า

ความแตกต่างจากอีมูเลเตอร์แบบเดิม

  • อีมูเลเตอร์อย่าง PCSX2 รองรับ การอัปสเกลความละเอียดภายใน, การทำเฟรมให้เสถียร, การใช้ texture pack เป็นต้น
  • แต่แนวทางรีคอมไพล์สามารถ แปลงเกมแล้วรันโดยตรง จึงอาจทำงานได้โดยไม่ติดข้อจำกัดเฟรมเรต หรือไม่มีข้อผิดพลาดด้านฟิสิกส์·การชนกัน
  • วิธีนี้เปิดอิสระให้กับ งานอนุรักษ์และปรับปรุงเกม ได้มากกว่า

ศักยภาพด้านรีมาสเตอร์และการต่อยอดโดยชุมชน

  • ปัจจุบันมี HD texture pack สำหรับอีมูเลเตอร์ PS2 อยู่แล้ว แต่การรีคอมไพล์จะขยายขอบเขตการปรับแต่งทั้งกราฟิกและเกมเพลย์ได้มากขึ้น
  • มีการกล่าวถึงความเป็นไปได้ในการสร้างเวอร์ชัน PC แบบเนทีฟของเกมหลักอย่าง MGS2, Gran Turismo, God of War, Tekken 4, Shadow Hearts ในอนาคต
  • ยังน่าจะรวมถึง ความเข้ากันได้กับคอนโทรลเลอร์ (DualShock, Xbox เป็นต้น) และการผสานฟีเจอร์เพิ่มเติม

ตัวอย่างโปรเจ็กต์ที่คล้ายกัน

  • บนแพลตฟอร์ม N64 ก็มีโปรเจ็กต์รีคอมไพล์ของ Mario 64 และ Zelda อยู่เช่นกัน
    • โปรเจ็กต์ Mario 64 มีเวอร์ชันที่รองรับ RTX (ray tracing)
    • โปรเจ็กต์ Zelda มีทั้ง การปรับปรุงด้านภาพและเกมเพลย์ รวมถึงแผน เพิ่ม ray tracing ในอนาคต
  • ตัวอย่างเหล่านี้ถูกยกมาเพื่อแสดงทิศทางการพัฒนาที่เป็นไปได้ของ PS2Recomp

โครงสร้างฮาร์ดแวร์ PS2 และสถานะของโปรเจ็กต์

  • PS2 ประกอบด้วย Emotion Engine CPU ความเร็วราว 300MHz, Vector Unit สองชุด, หน่วยความจำ 32MB และ Graphics Synthesizer GPU (4MB eDRAM) ที่ 147MHz
  • แม้มีความถี่สัญญาณนาฬิกาต่ำ แต่ก็เป็นการออกแบบที่มีเอกลักษณ์และให้ประสิทธิภาพทัดเทียม GameCube หรือ Xbox ได้
  • ขณะนี้โปรเจ็กต์ ยังไม่เสร็จสมบูรณ์และอยู่ระหว่างการพัฒนา
    • ถือเป็นความพยายามที่น่าตื่นเต้นมากสำหรับผู้ที่สนใจการอนุรักษ์เกม

1 ความคิดเห็น

 
GN⁺ 2026-01-30
ความคิดเห็นจาก Hacker News
  • PlayStation 2 เป็นหนึ่งในคอนโซลที่ประสบความสำเร็จมากที่สุดในประวัติศาสตร์
    มีเกมระดับมาสเตอร์พีซมากมาย และยังมีไดรฟ์ DVD กับดิสโทร PS2 Linux จนถูกวางตำแหน่งให้เป็นคอมพิวเตอร์ส่วนบุคคลได้ด้วย
    ในโลกอุดมคติ อาจมีคอนโซลสเปกระดับกึ่งกลางระหว่าง PS2 กับ PS3 ออกมา และสร้างระบบนิเวศมาตรฐานแบบ ตลาด IBM PC clone ก็เป็นได้
    ถ้าเป็นแบบนั้น ทุกวันนี้เราอาจยังซื้อ “PS2 clone” ราคา 30 ดอลลาร์มาใช้ทำงานคอมพิวเตอร์พื้นฐานและเล่นเกมคลาสสิกได้อยู่
    • ผมกลับคิดว่า ฮาร์ดแวร์ที่มีข้อจำกัด ต่างหากที่ทำให้คอนโซลอย่าง PS2 สร้างผลงานระดับมาสเตอร์พีซออกมาได้
      ข้อจำกัดของฮาร์ดแวร์บังคับให้นักพัฒนาต้องมีทั้งสุนทรียะและการออกแบบที่ปรับแต่งอย่างเหมาะสม และผลลัพธ์คือมีแต่ไอเดียที่ดีที่สุดเท่านั้นที่รอดอยู่ เหมือนกับ การคัดเลือกโดยวิวัฒนาการ
      อีกอย่าง โลกที่มีผู้ผลิตหลายเจ้ามาทำเครื่องโคลนแบบฝั่ง PC ก็คงไม่น่าสนุกนัก — ลองจินตนาการว่า Nintendo ทำ “PlayStation โคลน” ดูสิ
    • มีคนพูดกันว่า PS2 Linux จริง ๆ แล้วมีไว้เพื่อ เลี่ยงภาษีนำเข้าของ EU
    • ผมเคยมีทั้ง PS2 Linux และฮาร์ดแวร์ที่เกี่ยวข้องจริง ๆ
      Sony มองสิ่งนี้เป็น วิวัฒนาการของ PlayStation Yaroze และพยายามส่งเสริมนักพัฒนาอินดี้ แต่คนส่วนใหญ่เอาไปใช้รันอีมูเลเตอร์แทน
      บน PS3 การเข้าถึงการเร่งกราฟิกจึงถูกปิดกั้นด้วยเหตุผลนี้
      ตลาด IBM PC clone เกิดขึ้นจากความผิดพลาดของ IBM เอง และ Compaq ก็ใช้การย้อนวิศวกรรม BIOS เปิดกล่องแพนโดราขึ้นมา
    • PS2 Linux เป็น คอมพิวเตอร์ที่แย่มาก จริง ๆ
  • ทุกวันนี้แม้แต่อุปกรณ์พกพา Android ราคาไม่เกิน 300 ดอลลาร์ก็สามารถอีมูเลตไลบรารีทั้งหมดของ PS2 ได้แล้ว
    แถมยังรองรับการอัปสเกลอีกด้วย จนน่าทึ่งมาก
    • กฎของมัวร์ ยังใช้ได้อยู่
      อีกไม่นานโทรศัพท์มือถือก็คงจะรันโมเดล AI ระดับเดียวกับคลัสเตอร์มูลค่าหลายร้อยล้านดอลลาร์ได้
      อีก 10 ปีจากนี้ แทบจินตนาการไม่ออกเลยว่าคลัสเตอร์ระดับ หลายพันล้านดอลลาร์ จะทำอะไรได้บ้าง
    • ผมเองก็เพิ่งย้ายมาใช้ Retroid Pocket Flip ไม่นานนี้ มันรันเกม WiiU กับ PS2 ที่ความละเอียด 2 เท่าได้อย่างสมบูรณ์แบบ
      แม้แต่เกม Switch เบา ๆ ก็ยังพอเล่นได้
    • แต่ก็น่าเสียดายที่พลังประมวลผลแรงขนาดนี้กลับถูก ใช้เปลืองไปกับแอปวิดเจ็ต
      โทรศัพท์ของผมแรงกว่าคอมพิวเตอร์ 4 เครื่องที่ผมเคยใช้ระหว่างปี 1990~2002 รวมกันเสียอีก
    • ผมกลับมองว่าอุปกรณ์แบบนี้จากนี้ไปจะรองรับ เกมได้มากขึ้นอีก
      เรากำลังมีชีวิตอยู่ในยุคที่น่าตื่นเต้นจริง ๆ
  • ขอแชร์ลิงก์โปรเจ็กต์จริงแทนข่าวบทความ → PS2Recomp GitHub
  • มีโปรเจ็กต์ OpenGOAL ที่เกี่ยวข้องกับหัวข้อนี้ด้วย
    มันคือการทำอินเทอร์พรีเตอร์ GOAL (Game Oriented Assembly Lisp) ของ Naughty Dog สำหรับ PS2 ขึ้นใหม่ในรูปแบบ FOSS
    ด้วยเหตุนี้ ทีมขนาดเล็กจึงกำลังพอร์ตเกม PS2 ได้อย่างรวดเร็ว
    1. เว็บไซต์ทางการ OpenGOAL
    2. เอกสาร GOAL บนวิกิ
    • น่าทึ่งมาก นี่เป็นครั้งแรกที่ผมรู้ว่า Jak & Daxter ถูกพัฒนาโดยใช้ Emacs เป็น IDE หลัก
  • 90% ของการคำนวณเลขทศนิยมของ PS2 อยู่ที่ หน่วยเวกเตอร์สองตัว (VU)
    การไปโฟกัสที่ CPU R5900 แทบไม่มีความหมาย
    ถึงอย่างนั้น วิธีนี้ก็อาจมีประโยชน์ในการย้าย PC พอร์ตแบบเรียบง่ายลง PS2 ได้
    • เมื่อก่อนผมเคยสร้าง ซิมูเลเตอร์ สำหรับหน่วยเวกเตอร์ของ PS2 ด้วยตัวเอง
      เพราะ Sony ไม่ได้มีดีบักเกอร์ให้
      โชคดีที่ VU เป็นโปรเซสเซอร์ที่เรียบง่ายแต่ทรงพลัง และด้วย เอกสารระดับบิต ที่วิศวกรญี่ปุ่นเขียนไว้ ผมจึงสร้างซิมูเลเตอร์ได้
      แม้จะไม่มีคู่มือการใช้งาน แต่สเปกนั้นสมบูรณ์แบบมาก
  • ผมกำลังใช้ AI เพื่อ decompile Dance Central 3 อยู่
    มันยากเพราะพึ่งพา Kinect มาก แต่พอพบ Debug build ก็ทำต่อได้
    ผมลงมือเพิ่ม คำสั่ง vmx128 ให้กับ Ghidra และ m2c เอง และตอนนี้ก็กู้คืนฟังก์ชันได้แล้วมากกว่า 1,000 ตัว
    ขอแชร์ ตัวอย่างโค้ด กับ working branch
    ไม่น่าเชื่อเลยว่าจะได้ผลลัพธ์แบบนี้ภายในเวลาแค่ไม่กี่ชั่วโมง
  • โปรเจ็กต์นี้เป็นการประยุกต์ใช้ Futamura projectionวิกิ Partial evaluation
    • ตอนแรกผมอ่านผิดเป็น Futurama
    • แต่จริง ๆ แล้วมันไม่ใช่ Futamura projection แบบเต็ม เพราะไม่ได้เป็นการทำ partial evaluation ของ MIPS emulator ให้เฉพาะเจาะจงกับเกมใดเกมหนึ่ง
  • การอีมูเลตก็ยอดเยี่ยม แต่ การรีคอมไพล์ (recompilation) ให้ความรู้สึกเหมือนเวทมนตร์ → Zelda64Recomp GitHub
    • แต่ก็สงสัยว่า “เวทมนตร์นั้น” จริง ๆ แล้วคืออะไร
      ในทางทฤษฎี การแปลความหมายเพื่อรัน (emulation) กับการคอมไพล์ (compilation) ก็ควรให้พฤติกรรมเหมือนกัน
  • ผมชอบไอเดียนี้มากจริง ๆ
    ในฐานะคนรักหนัง เวลาได้ยินคนพูดว่า “หนังปี 2017 เก่าเกินไปแล้ว” จะรู้สึกเหมือน โดนดูถูก
    เหมือนกับหนังคลาสสิก เกมคลาสสิก ก็ยังสนุกได้อย่างเต็มที่แม้ต่างยุคสมัย
    Fallout 1·2 มีความลึกกว่า 3 มาก ขณะที่ภาคต่อของ Baldur’s Gate ยึดติดกับต้นฉบับมากเกินไป แต่ Divinity กลับพัฒนาไปสู่ UI สมัยใหม่
    โปรเจ็กต์รีคอมไพล์แบบนี้อาจกลายเป็น หน้าต่างที่ให้คนรุ่นถัดไปมองอดีตด้วยสายตาใหม่
    • แต่เดี๋ยวนะ “ปี 2017 เป็นหนังเก่า” งั้นเหรอ ตอนนี้ผมเริ่ม รู้สึกถึงวัยตัวเอง แล้ว