- 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 ความคิดเห็น
ความคิดเห็นจาก Hacker News
มีเกมระดับมาสเตอร์พีซมากมาย และยังมีไดรฟ์ DVD กับดิสโทร PS2 Linux จนถูกวางตำแหน่งให้เป็นคอมพิวเตอร์ส่วนบุคคลได้ด้วย
ในโลกอุดมคติ อาจมีคอนโซลสเปกระดับกึ่งกลางระหว่าง PS2 กับ PS3 ออกมา และสร้างระบบนิเวศมาตรฐานแบบ ตลาด IBM PC clone ก็เป็นได้
ถ้าเป็นแบบนั้น ทุกวันนี้เราอาจยังซื้อ “PS2 clone” ราคา 30 ดอลลาร์มาใช้ทำงานคอมพิวเตอร์พื้นฐานและเล่นเกมคลาสสิกได้อยู่
ข้อจำกัดของฮาร์ดแวร์บังคับให้นักพัฒนาต้องมีทั้งสุนทรียะและการออกแบบที่ปรับแต่งอย่างเหมาะสม และผลลัพธ์คือมีแต่ไอเดียที่ดีที่สุดเท่านั้นที่รอดอยู่ เหมือนกับ การคัดเลือกโดยวิวัฒนาการ
อีกอย่าง โลกที่มีผู้ผลิตหลายเจ้ามาทำเครื่องโคลนแบบฝั่ง PC ก็คงไม่น่าสนุกนัก — ลองจินตนาการว่า Nintendo ทำ “PlayStation โคลน” ดูสิ
Sony มองสิ่งนี้เป็น วิวัฒนาการของ PlayStation Yaroze และพยายามส่งเสริมนักพัฒนาอินดี้ แต่คนส่วนใหญ่เอาไปใช้รันอีมูเลเตอร์แทน
บน PS3 การเข้าถึงการเร่งกราฟิกจึงถูกปิดกั้นด้วยเหตุผลนี้
ตลาด IBM PC clone เกิดขึ้นจากความผิดพลาดของ IBM เอง และ Compaq ก็ใช้การย้อนวิศวกรรม BIOS เปิดกล่องแพนโดราขึ้นมา
แถมยังรองรับการอัปสเกลอีกด้วย จนน่าทึ่งมาก
อีกไม่นานโทรศัพท์มือถือก็คงจะรันโมเดล AI ระดับเดียวกับคลัสเตอร์มูลค่าหลายร้อยล้านดอลลาร์ได้
อีก 10 ปีจากนี้ แทบจินตนาการไม่ออกเลยว่าคลัสเตอร์ระดับ หลายพันล้านดอลลาร์ จะทำอะไรได้บ้าง
แม้แต่เกม Switch เบา ๆ ก็ยังพอเล่นได้
โทรศัพท์ของผมแรงกว่าคอมพิวเตอร์ 4 เครื่องที่ผมเคยใช้ระหว่างปี 1990~2002 รวมกันเสียอีก
เรากำลังมีชีวิตอยู่ในยุคที่น่าตื่นเต้นจริง ๆ
มันคือการทำอินเทอร์พรีเตอร์ GOAL (Game Oriented Assembly Lisp) ของ Naughty Dog สำหรับ PS2 ขึ้นใหม่ในรูปแบบ FOSS
ด้วยเหตุนี้ ทีมขนาดเล็กจึงกำลังพอร์ตเกม PS2 ได้อย่างรวดเร็ว
การไปโฟกัสที่ CPU R5900 แทบไม่มีความหมาย
ถึงอย่างนั้น วิธีนี้ก็อาจมีประโยชน์ในการย้าย PC พอร์ตแบบเรียบง่ายลง PS2 ได้
เพราะ Sony ไม่ได้มีดีบักเกอร์ให้
โชคดีที่ VU เป็นโปรเซสเซอร์ที่เรียบง่ายแต่ทรงพลัง และด้วย เอกสารระดับบิต ที่วิศวกรญี่ปุ่นเขียนไว้ ผมจึงสร้างซิมูเลเตอร์ได้
แม้จะไม่มีคู่มือการใช้งาน แต่สเปกนั้นสมบูรณ์แบบมาก
มันยากเพราะพึ่งพา Kinect มาก แต่พอพบ Debug build ก็ทำต่อได้
ผมลงมือเพิ่ม คำสั่ง vmx128 ให้กับ Ghidra และ m2c เอง และตอนนี้ก็กู้คืนฟังก์ชันได้แล้วมากกว่า 1,000 ตัว
ขอแชร์ ตัวอย่างโค้ด กับ working branch
ไม่น่าเชื่อเลยว่าจะได้ผลลัพธ์แบบนี้ภายในเวลาแค่ไม่กี่ชั่วโมง
ในทางทฤษฎี การแปลความหมายเพื่อรัน (emulation) กับการคอมไพล์ (compilation) ก็ควรให้พฤติกรรมเหมือนกัน
ในฐานะคนรักหนัง เวลาได้ยินคนพูดว่า “หนังปี 2017 เก่าเกินไปแล้ว” จะรู้สึกเหมือน โดนดูถูก
เหมือนกับหนังคลาสสิก เกมคลาสสิก ก็ยังสนุกได้อย่างเต็มที่แม้ต่างยุคสมัย
Fallout 1·2 มีความลึกกว่า 3 มาก ขณะที่ภาคต่อของ Baldur’s Gate ยึดติดกับต้นฉบับมากเกินไป แต่ Divinity กลับพัฒนาไปสู่ UI สมัยใหม่
โปรเจ็กต์รีคอมไพล์แบบนี้อาจกลายเป็น หน้าต่างที่ให้คนรุ่นถัดไปมองอดีตด้วยสายตาใหม่