- Dolphin ที่เริ่มต้นในปี 2003 ในฐานะโปรแกรมจำลอง GameCube ได้ขยายไปสู่แพลตฟอร์มใหม่ด้วยการเพิ่มการรองรับ ระบบอาร์เคด Triforce ในปี 2026
- การปรับแต่ง MMU Fastmem ช่วยเร่งการเข้าถึงหน่วยความจำแบบอิงตารางหน้า โดยเฉพาะทำให้ Rogue Squadron III สามารถรันที่ความเร็วเต็มได้เป็นครั้งแรก
- บั๊กการซิงก์ออนไลน์ของ Mario Strikers Charged ถูกแก้ไขหลังผ่านไป 5 ปี ทำให้การเล่นผ่านเครือข่ายกับเครื่อง Wii จริงทำงานได้อย่างถูกต้อง
- ในส่วนของ การจำลอง Triforce กำลังมีความคืบหน้าในการกู้คืนโปรโตคอลทัชสกรีนและฟังก์ชัน IC card ของ The Key of Avalon รวมถึงมีแผนปรับปรุงฟีเจอร์ที่เกี่ยวข้องกับ F-Zero AX และ Virtua Striker 4
- มีการเพิ่มฟีเจอร์หลายอย่างเพื่อยกระดับประสบการณ์ใช้งานและประสิทธิภาพ เช่น การแคชเกมไว้ใน RAM, การตั้งค่า SDL controller hint, และ การปรับจังหวะเวลาเมนู Wii
เพิ่มการรองรับ Triforce
- Dolphin รองรับ Triforce ซึ่งเป็นระบบอาร์เคดที่ Sega·Namco·Nintendo พัฒนาร่วมกัน อย่างเป็นทางการ
- รวมถึงการปรับปรุงเบื้องต้น เช่น การใส่ Magnetic Card อัตโนมัติ การตั้งค่าภูมิภาค และการแก้บั๊กการจำลองแบบหลายตู้
- ยืนยันแล้วว่า โปรโตคอลทัชสกรีน ของ The Key of Avalon คล้ายกับ Elo SmartSet และสามารถไปถึงขั้นเริ่มเกมได้สำเร็จ แต่ยังหยุดอยู่ที่ปัญหาการเริ่มต้น IC card
- เมื่อกู้คืนฟังก์ชัน IC card ได้แล้ว โหมด สร้างทีมและสร้างตัวละคร ใน Virtua Striker 4, Gekitou Pro Yakyuu และเกมอื่น ๆ จะกลับมาใช้งานได้อีกครั้ง
MMU Fastmem และการปรับแต่ง Rogue Squadron
- การติดตั้งใช้งาน การแมป Fastmem ด้วยตารางหน้า ช่วยเพิ่มประสิทธิภาพของ Rogue Squadron II·III ได้สูงสุดถึงสองเท่า
- สะท้อนการเปลี่ยนแปลงของตารางหน้าแบบเรียลไทม์ผ่านการติดตามคำสั่ง
tlbie
- การปิดใช้งาน Branch Following, การปรับแต่งการทำให้โค้ดเป็นโมฆะ, และการเปิดใช้ CPU Vertex Culling ช่วย ลดเฟรมดรอปและอาการกระตุก
- Rogue Squadron III สามารถ รันด้วยความเร็วเต็มได้เป็นครั้งแรก บนฮาร์ดแวร์ประสิทธิภาพสูง
แก้บั๊ก Mario Strikers Charged
- สาเหตุของ ข้อผิดพลาดการซิงก์ทางฟิสิกส์ ระหว่าง Dolphin กับเครื่อง Wii จริง ถูกระบุว่าเกิดจาก การคำนวณเลขทศนิยมลอยตัวที่ไม่แม่นยำ ของคำสั่ง
fmadds
- ปัญหานี้ถูกแก้ด้วย การชดเชยการปัดเศษอย่างแม่นยำ โดยใช้อัลกอริทึม
2Sum ทำให้การแข่งขันออนไลน์ซิงก์กันสมบูรณ์
- การแก้ไขนี้ต่อยอดจากประสบการณ์ในการแก้ปัญหาคล้ายกันของ Inazuma Eleven GO: Strikers 2013
การปรับปรุงสำคัญอื่น ๆ
- ปรับ จังหวะเวลาการจัดการข้อมูลเมนู Wii ให้ใกล้เคียงฮาร์ดแวร์จริงมากขึ้น เพื่อลดภาระ CPU ที่มากเกินไปขณะเข้าถึง NAND
- เพิ่มฟีเจอร์ Load Whole Game into Memory เพื่อตัด ความหน่วงจากการรอดิสก์ เมื่อรันจากสตอเรจผ่านเครือข่าย เช่น NAS
- เพิ่ม GUI สำหรับตั้งค่า SDL hints เพื่อปรับปรุงความเข้ากันได้ของคอนโทรลเลอร์ เช่น การแยก Joy-Con และปัญหา hot-plug ของ DualSense
- มีการใช้ แพตช์ซิงก์ VBI กับบางเกม เช่น Need for Speed: Hot Pursuit 2 และ Rabbids Go Home เพื่อทำให้การจำกัดเฟรมกลับมาทำงานได้ถูกต้อง
ประสิทธิภาพและการมีส่วนร่วมจากชุมชน
- รีลีสนี้รวมการเปลี่ยนแปลงจาก 465 commits พร้อมสะท้อนผลจากการทดสอบของชุมชนและการวิจัยฮาร์ดแวร์จำนวนมาก
- มีตัวอย่างการแก้ปัญหาระยะยาวของ ซีรีส์ Rogue Squadron, Mario Strikers Charged, และ Triforce ซึ่งช่วยยกระดับทั้งความแม่นยำและประสิทธิภาพของ Dolphin อย่างมาก
1 ความคิดเห็น
ความเห็นจาก Hacker News
น่าทึ่งที่ Dolphin ทำให้เชื่อมต่อออนไลน์กับเครื่อง Wii จริงได้ แทนเซิร์ฟเวอร์ทางการที่ปิดไปนานแล้ว
ดีใจจริง ๆ ที่ยังมีคนที่มี ความทุ่มเทด้วยใจรัก แบบนี้อยู่
แต่ในระยะสั้น ความก้าวหน้าทางเทคโนโลยีแบบนี้ก็อาจทำให้ ความเหลื่อมล้ำ รุนแรงขึ้นได้เช่นกัน
ถ้าเกมรันไม่ได้ทั้งหมดหรือบางส่วนเพราะบั๊กของอีมูเลเตอร์ คนรุ่นหลังก็จะเสียโอกาสในการได้สัมผัสเกมเหล่านี้
เจ๋งมากที่มีคนใส่ใจถึงขนาดนี้
ส่วนที่ผมรู้สึกว่าน่าสนใจที่สุดคือ การพัฒนาอีมูเลเตอร์มักทำให้ค้นพบว่าเกมต้นฉบับเองก็มี พฤติกรรมแปลก ๆ แต่ตั้งใจให้เป็นแบบนั้น
ผมแปลกใจมากที่รู้ว่า GCC ช่วงกลางยุค 90 จัดการสิ่งที่ผมเคยพยายาม optimize เองด้วยมือในช่วงต้นยุค 2000 ได้อัตโนมัติอยู่แล้ว
อีมูเลเตอร์ไม่ได้บันทึก SRAM เลยทำให้เซฟไม่ตรงกัน แต่ก็แก้ได้อย่างรวดเร็ว
เพราะเป็นโค้ด C เรียบง่ายบนฐาน Plan9 เลยแก้ได้ไม่ยาก
ผมชอบอ่าน รายงานพัฒนา Dolphin มาตลอด
เขาอธิบายเรื่องเทคนิคให้เข้าใจง่ายได้ดีมาก
พูดถึงรายงานของ Dolphin หนึ่งในผู้เขียนได้โพสต์บทความน่าสนใจว่าด้วยปัญหาในชุมชนอีมูเลเตอร์โอเพนซอร์ส
Rethinking Open Source
สรุปคือ ถ้าเอา โปรเจกต์ที่กระแสแรงมากมาเปิดเป็นโอเพนซอร์ส ก่อนที่ฐานชุมชนและอัตลักษณ์ของโครงการจะมั่นคง ก็อาจเกิดปัญหาจากผู้ใช้ที่เรียกร้องเกินจริงได้
อีกทั้งยังมีกรณีที่คนอื่นเอา branch ที่ยังไม่เสร็จไปแจกต่อเหมือนเป็นผลงานของตัวเอง
ทีม Dolphin ยังเดินหน้าโครงการนี้ด้วย ความเป็นมืออาชีพระดับสูง แม้ต้องเจอกับความยากลำบากเหล่านี้
ต่อให้เป็นงานที่ได้เงินก็ยังยาก แต่ถ้าเป็นโปรเจกต์ฟรีก็คงยิ่งหนักกว่าเดิม
fork เก่า ๆ เมื่อก่อนยังไม่ค่อยสมบูรณ์
ชอบที่ผู้เขียนดู ตื่นเต้นกับสิ่งที่ตัวเองเขียนอย่างจริงใจ
ตอนผมเคยรายงานบั๊ก netplay ของ Melee เขาเป็นคนที่มี ความอยากรู้อยากเห็น กับทุกอย่างและขุดลึกมาก
Dolphin เป็นตัวอย่างของ การพัฒนาอย่างชาญฉลาด อย่างแท้จริง
เมื่อก่อน Metroid Prime บนเครื่องเก่าของผมต้องกินครบทั้ง 4 คอร์ถึงจะรันได้ แต่ไม่กี่ปีต่อมากลับใช้แค่ 25% ของคอร์เดียวกัน
ประสิทธิภาพดีขึ้นแบบก้าวกระโดดเพราะ JIT และการทำให้อีมูเลชันมีประสิทธิภาพขึ้น
การ optimize แบบนี้ถือเป็นความสำเร็จที่น่าทึ่งจริง ๆ
ระหว่างคุยเรื่องความเข้ากันได้ของตู้เกมอาร์เคด Triforce มีการพูดถึง “การรองรับ IC card” ว่าถ้าทำได้จะเปิดความสามารถได้อีกมาก
มันดูคล้ายบัตรโดยสารในญี่ปุ่น แต่บนบอร์ด Triforce ใช้เก็บข้อมูลความคืบหน้าในเกม
เป็นฟีเจอร์เจ๋ง ๆ ที่ผมไม่เคยเห็นในอาร์เคดฝั่งอเมริกาเลย
magcard ราคาถูกกว่าแต่ทนทานน้อยกว่า และสามารถพิมพ์ลายได้
ส่วน IC card หนากว่าและทนกว่า แต่พิมพ์ลายไม่ได้
แหล่งข้อมูลพร้อมภาพประกอบ: Rise of the Triforce
เกม Triforce แทบทั้งหมดใช้การ์ดสำหรับเซฟข้อมูล
น่าจะเคยเห็น Mario Kart Arcade GP เวอร์ชันในอเมริกากันบ้าง
แนวคิดคล้าย AIME card ที่ใช้กับ maimai, chunithm, DDR ฯลฯ
แต่ IC card ของ Triforce ไม่ได้มีไว้ยืนยันตัวตนอย่างเดียว ยังใช้ เก็บข้อมูล ได้ด้วย
กรณีที่คำสั่ง CPU
fnmsubsถูก implement ผิดใน JIT แต่ทำงานถูกใน interpreter นั้นน่าสนใจมากรู้สึกว่านี่เป็นโอกาสที่เหมาะสำหรับการใช้ differential fuzzing
ประเด็นสำคัญของบทความนี้คือ Dolphin ได้นำการรองรับตู้เกมอาร์เคด Triforce กลับมาอีกครั้ง
Triforce เป็นฮาร์ดแวร์ที่พัฒนาโดย Nintendo, Sega และ Namco ร่วมกัน ซึ่ง Dolphin เคยยุติการรองรับไปในปี 2016
ตอนนี้เกมอย่าง F-Zero AX และ Mario Kart Arcade GP 1·2 กลับมารันได้อีกครั้ง
รายละเอียดเพิ่มเติม: The Return of the Triforce
ลิงก์การสนทนาก่อนหน้า
ย่อหน้าแรกของบทความก็พูดถึงเรื่องนี้อยู่แล้ว เลยคงเรียกว่าเป็น “ประเด็นที่ถูกมองข้าม” ได้ไม่เต็มปาก
ผมสงสัยว่าเขา รับเงินบริจาคไหม แต่หาไม่เจอในเว็บทางการ
โพสต์ในฟอรัมที่เกี่ยวข้อง: Dolphin Donations