← กลับไปยังบทความทั้งหมด

MiSTer FPGA การจำลองเครื่องเกมและคอมพิวเตอร์คลาสสิกด้วยฮาร์ดแวร์

สรุปใจความสำคัญ

  • ใช้เทคโนโลยี FPGA เพื่อจำลองฮาร์ดแวร์ในระดับวงจร ไม่ใช่การจำลองด้วยซอฟต์แวร์ (Software Emulation)
  • ใช้บอร์ด Terasic DE10-Nano เป็นฮาร์ดแวร์หลักในการทำงาน
  • เป็นโครงการโอเพนซอร์สที่รองรับเครื่องเกมและคอมพิวเตอร์คลาสสิกหลากหลายรุ่นตั้งแต่ยุค 8-บิต ถึง 32-บิต

MiSTer (หรือที่รู้จักในชื่อ MiSTer FPGA) เป็นโครงการโอเพนซอร์ส (Open-source) ที่มีเป้าหมายเพื่อสร้างเครื่องคอมพิวเตอร์ เครื่องเกมคอนโซล และเครื่องเกมอาเขตคลาสสิกขึ้นมาใหม่ โดยใช้ฮาร์ดแวร์สมัยใหม่ที่ทำงานบนพื้นฐานของ FPGA (Field-Programmable Gate Array) ซึ่งช่วยให้ซอฟต์แวร์และภาพของวิดีโอเกมสามารถทำงานได้เสมือนกับว่ากำลังรันบนฮาร์ดแวร์ต้นฉบับจริงๆ โดยรองรับการใช้งานอุปกรณ์ต่อพ่วง เช่น เมาส์ คีย์บอร์ด จอยสติ๊ก และคอนโทรลเลอร์เกมอื่นๆ

ประวัติความเป็นมา

โครงการ MiSTer ถูกสร้างขึ้นโดย Alexey "Sorgelig" Melnikov และเปิดตัวบน GitHub ในเดือนมิถุนายน ปี 2017 โดยมีจุดเริ่มต้นมาจากการพอร์ตโครงการ MIST ซึ่งเป็นโครงการจำลองเครื่อง Amiga และ Atari ST ด้วย FPGA

แรงบันดาลใจสำคัญเกิดขึ้นเมื่อ Sorgelig พบปัญหาในการแสดงผลภาพบนจอภาพหรือโทรทัศน์ เนื่องจากฮาร์ดแวร์ของ MIST รองรับเพียงเอาต์พุตวิดีโอแบบอนาล็อก ในขณะที่จอภาพและทีวีส่วนใหญ่ในปัจจุบันใช้ HDMI เขาจึงคิดหาวิธีให้บอร์ด FPGA สามารถส่งสัญญาณ HDMI ได้โดยตรง ซึ่งนำไปสู่การกำเนิดของโครงการ MiSTer ในที่สุด

ความแตกต่างที่สำคัญคือ MiSTer เลือกใช้บอร์ดที่ผลิตในปริมาณมากเพื่อให้ทุกคนเข้าถึงได้ง่ายและมีราคาถูกลง โดยเขาเลือกใช้ Terasic DE10-Nano ซึ่งสร้างขึ้นรอบๆ Intel SoC FPGA แทนที่จะใช้บอร์ดสั่งทำพิเศษ

ชื่อ MiSTer เดิมทีมาจากคำว่า "MIST on Terasic board" แต่ปัจจุบันกลายเป็นชื่อเรียกทั่วไปของโครงการนี้ โดยตัวโครงการอยู่ภายใต้สัญญาอนุญาต GNU General Public Licence เวอร์ชัน 3 นอกจากนี้ ในปี 2024 ได้มีการเปิดตัว MiSTer Pi ซึ่งเป็นบอร์ดโคลนราคาประหยัดที่ใช้ Altera Cyclone V FPGA และอ้างว่ามีความเข้ากันได้กับคอร์ (Cores) และซอฟต์แวร์ของ MiSTer เดิมอย่างสมบูรณ์

ฮาร์ดแวร์และการทำงาน

หัวใจหลักของ MiSTer คือบอร์ด Terasic DE10-Nano ซึ่งประกอบด้วย FPGA ผู้สนับสนุนโครงการได้พัฒนาสิ่งที่เรียกว่า "คอร์" (Cores) ซึ่งเขียนด้วยภาษาคำอธิบายฮาร์ดแวร์ (Hardware Description Language) เพื่อกำหนดค่าให้ FPGA กลายเป็นเครื่องคอมพิวเตอร์หรือเครื่องเกมเฉพาะรุ่น ซึ่งแตกต่างจากอีมูเลเตอร์ที่ใช้ซอฟต์แวร์จำลองการทำงาน แต่ MiSTer จะจำลองในระดับฮาร์ดแวร์ (Hardware Emulation)

อุปกรณ์เสริมเพื่อการขยายขีดความสามารถ

แม้ว่าบอร์ด DE10-Nano จะทำงานได้ด้วยตัวเอง แต่ผู้ใช้สามารถเพิ่มประสิทธิภาพได้ด้วยบอร์ดเสริมต่างๆ ดังนี้:

  • SDRAM add-on board: จำเป็นสำหรับคอร์หลายตัว โดยแนะนำขนาด 128MB เพื่อความเข้ากันได้สูงสุดกับเกมจาก Neo Geo, Game Boy Advance และอื่นๆ
  • USB hub add-on board: เพิ่มพอร์ต USB 2.0 จำนวน 6 พอร์ต และพอร์ตจ่ายไฟ 1 พอร์ต เพื่อการเชื่อมต่ออุปกรณ์ต่อพ่วงที่หลากหลาย
  • Analog I/O add-on board: ให้พอร์ต VGA สำหรับเอาต์พุตวิดีโออนาล็อก เพื่อเชื่อมต่อกับทีวี CRT หรือจอภาพรุ่นเก่า พร้อมพอร์ตเสียง 3.5 มม. และพัดลมระบายความร้อน
  • Digital I/O add-on board: มีคุณสมบัติคล้ายกับ Analog I/O แต่ไม่มีวิดีโออนาล็อก โดยจะเพิ่มพอร์ต TOSLINK สำหรับเสียงดิจิทัลแบบออปติคัล
  • Real-time clock add-on board: เพิ่มฟังก์ชันนาฬิกาเวลาจริง (RTC) ซึ่งจำเป็นสำหรับคอร์บางประเภท

ระบบที่รองรับ

ปัจจุบัน MiSTer มีคอร์ที่รองรับเครื่องเกมและคอมพิวเตอร์จำนวนมาก ครอบคลุมตั้งแต่ยุค 8-บิต, 16-บิต ไปจนถึง 32-บิต ดังนี้:

เครื่องเกมคอนโซลยุคที่ 2

  • Atari 2600, 5200, ColecoVision, Intellivision, Vectrex และอื่นๆ

เครื่องเกมคอนโซลยุคที่ 3

  • Nintendo Entertainment System (NES) & Famicom Disk System, Master System, Atari 7800

เครื่องเกมคอนโซลยุคที่ 4

  • Super NES (SNES), Genesis/Mega Drive & Sega CD, TurboGrafx-16/PC Engine, Neo Geo, Philips CD-i

เครื่องเกมคอนโซลยุคที่ 5

  • Nintendo 64, Saturn, PlayStation, 3DO, Jaguar

เครื่องเกมพกพา

  • Game Boy, Game Boy Advance, Game Gear, Lynx, WonderSwan, Neo Geo Pocket

ไมโครคอมพิวเตอร์

  • Amiga, Atari ST, Commodore 64/128, Apple I/II, Macintosh Plus, ZX Spectrum, IBM PC compatible (486 & XT) และอื่นๆ

คำถามที่พบบ่อย

MiSTer FPGA แตกต่างจากอีมูเลเตอร์ทั่วไปอย่างไร?

อีมูเลเตอร์ทั่วไปใช้ซอฟต์แวร์เพื่อจำลองการทำงานของฮาร์ดแวร์บนระบบปฏิบัติการอื่น แต่ MiSTer ใช้ FPGA เพื่อกำหนดค่าวงจรไฟฟ้าภายในให้ทำงานเหมือนกับฮาร์ดแวร์ของเครื่องเกมนั้นๆ จริงๆ ทำให้มีความแม่นยำสูงและลดอาการหน่วง (Input Lag) ได้ดีกว่า

จำเป็นต้องมีบอร์ดเสริม SDRAM หรือไม่?

จำเป็นสำหรับคอร์บางตัว เช่น Game Boy Advance หรือ Neo Geo ซึ่งต้องการหน่วยความจำเพิ่มเติมเพื่อให้สามารถรันเกมได้สมบูรณ์ หากต้องการใช้งานทุกคอร์ได้อย่างเต็มประสิทธิภาพ แนะนำให้ใช้บอร์ด SDRAM 128MB

สามารถใช้จอยสติ๊กเดิมของเครื่องเกมคลาสสิกได้หรือไม่?

ได้ โดยการใช้บอร์ดเสริม Analog I/O หรือ Digital I/O และตัวแปลงสัญญาณที่เหมาะสม เพื่อเชื่อมต่อคอนโทรลเลอร์ดั้งเดิมเข้ากับระบบ MiSTer