Super ZSNES - โปรแกรมจำลอง SNES แบบใช้ GPU
(zsnes.com)- เป็น โปรแกรมจำลอง SNES แบบใช้ GPU ที่เขียน ZSNES ขึ้นมาใหม่ทั้งหมด พร้อมคอร์ CPU และเสียงที่แม่นยำยิ่งขึ้น รวมถึง คอร์ PPU แบบใช้ GPU
- รองรับ hi-res Mode 7 และฟีเจอร์ปรับปรุงพิเศษเฉพาะเกม พร้อม UI ความละเอียดสูง และ UX ที่ดีขึ้น รวมถึงฟีเจอร์อำนวยความสะดวกอย่างกรอเร็ว, ย้อนกลับ, save states และประวัติการบันทึกอัตโนมัติ
- Super Enhancement Engine รองรับเกมยอดนิยม 7 เกมในตอนนี้ และมีทั้งการเสริมรายละเอียดแบบกำหนดเองความละเอียดสูง, texture/normal map, overclock, widescreen, การแทนที่เสียงแบบไม่บีบอัด และเอฟเฟกต์ 3D ที่อิงกับ Mode 7
- ฟีเจอร์เสริมทั้งหมดสามารถปิดแยกเป็นรายตัวได้ และข้อมูลการปรับปรุง ไม่มี ROM หรือข้อมูลที่มีลิขสิทธิ์ รวมอยู่ด้วย ดังนั้นผู้ใช้ต้องเตรียม ROM เอง
- สามารถดาวน์โหลดได้บน Windows, Mac, Linux และ Android โดยตอนนี้ยังอยู่ในขั้น early build จึงยังมีบั๊กการจำลอง special chips ที่ยังไม่รองรับ รวมถึงงานที่วางแผนไว้เพิ่มเติมอย่างการปรับแต่งประสิทธิภาพและ Netplay
ดาวน์โหลดและแพลตฟอร์มที่รองรับ
- Windows: Download
- Mac: Download
- Linux: Download
- Android: Google Play
- iOS อยู่ในสถานะ Coming Soon
สถานะการพัฒนาและฟีเจอร์ที่วางแผนไว้
- ขณะนี้ยังอยู่ในขั้น early build จึงยังมีบั๊กในการจำลองอยู่
- special chips อย่าง DSP1, SuperFX เป็นต้น ยังไม่ได้ถูกนำมาใช้งาน
- ยังมีงานปรับแต่งประสิทธิภาพอีกมาก จึงอาจทำงานได้ค่อนข้างช้า
- ต่อไปจะมีการเพิ่ม bug fixes, special chip emulation, การปรับแต่งประสิทธิภาพเพิ่มเติม, ฟีเจอร์ปรับปรุงอีกมากขึ้น และ Netplay
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
การเปลี่ยนเสียงแบบไม่บีบอัดน่าจะเจ๋งมาก และก็อยากรู้ว่าจะมีผลงานอะไรออกมาจากตรงนี้บ้าง
Mathew Valente หรือก็คือ TSSF ทุ่มเทอย่างน่าทึ่งในการตามหาร่องรอยของแซมเปิลต้นฉบับที่ Nobuo Uematsu ใช้กับ Final Fantasy ยุค SNES และ PSX
เกือบทั้งหมดเป็นแซมเปิลจากฮาร์ดแวร์/ซอฟต์แวร์ซินธิไซเซอร์ในยุคนั้น แล้วเขาก็นำมันกลับมาปรับแต่งเพลงใหม่ด้วยแซมเปิลต้นฉบับ ซึ่งไม่ใช่แค่ลากวางธรรมดา แต่ต้องอาศัยการตัดสินใจทั้งเชิงเทคนิค เชิงดนตรี และเชิงอัตวิสัยอย่างมาก
ผลลัพธ์ออกมาสวยงามจริง ๆ และถ้าคุณชอบเพลง Final Fantasy คลาสสิก ช่องนี้ก็น่าจะถูกใจมาก
วิดีโอหนึ่งที่ผมชอบเป็นพิเศษคืออันนี้: https://www.youtube.com/watch?v=XQhxNkZH-DE
ผมเห็นด้วยกับสิ่งที่ Pitchfork พูดถึงแทร็กคลาสสิก Stickerbush จาก Donkey Kong Country
ถ้าเอาเครื่องดนตรีที่ถูกคลายการบีบอัดมาจำลองใน FL Studio แม้องค์ประกอบการประพันธ์จะยังอยู่ แต่ชุดโทนเสียงที่ตั้งใจให้ไม่บริสุทธิ์จะหายไป
มันกลายเป็นเปียโนธรรมดา รีดที่ฟังเหมือนแซ็กโซโฟนจริง ทำให้พื้นผิวเหนือจริงและความตึงเครียดหายไป เพราะงั้นผมจึงคิดว่าคำว่า “restoration” เองก็ผิดฝาผิดตัว
เดิมที Wise ตั้งใจทำเพลงนี้ภายใต้ข้อจำกัดของ SNES และอยากให้เสียงที่จำกัดนั้นรู้สึกไร้ขอบเขต
https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
ถ้าเทียบกับเพลงต้นฉบับ จะได้ยินว่ามันตามหลังในห้องที่ 3: https://www.youtube.com/watch?v=JLrsUOA4Vb4
ดูได้จากลิงก์ timestamp ด้านล่าง และยังมีวิดีโอที่พูดถึง Super ZSNES แบบเต็ม ๆ ด้วย
https://youtu.be/r5twUkvYFpA?t=617
ยังมี MSU-1 pack ที่ใส่แทร็กของเขาไว้ด้วย ทำให้เล่นเกมพร้อมเสียงที่ดีขึ้นได้
ZSNES คือส่วนสำคัญของวัยเด็กผมเลย
ตอนที่มันเพิ่งออกมาใหม่ ๆ ช่วงปลายยุค 90 ถึงต้นยุค 2000 ผมโหลดมันมาเพื่อเล่นเกมโปรดผ่านอีมูเลชัน และยังได้เล่นโปรเจกต์แฟนแปลอย่าง Star Ocean กับ Tales of Phantasia ผ่านมันด้วย
บางช่วงวัตถุโปร่งใสคล้ายเมฆบังทั้งหน้าจอ จนต้องปิดเลเยอร์ด้านบนเองด้วยมือ
ตอนพ่อแม่ไม่อยู่บ้าน ผมจะเอา savestate ลงแผ่นฟลอปปีแล้วย้ายไปเล่นต่อบน Pentium 166MHz แบบเปิดเสียงและความโปร่งใสเพื่อแอบเล่นต่อ
น่าจะทำแบบนั้นกับ Super Mario World เกือบทั้งเกม และกับ Final Fantasy บางภาคด้วย เป็นช่วงเวลาที่สนุกมากจริง ๆ
ชุมชนแปลเกมมีความมุ่งมั่นแทบจะเข้าขั้นบ้าคลั่ง ที่แพตช์เกมญี่ปุ่นได้ทั้งที่ไม่มีซอร์สโค้ด และพาอัญมณีที่ตลาดบ้านเราไม่มีมาถึงมือเรา
แม้คำแปลจะมีบางจุดที่ดัดแปลงค่อนข้างอิสระ แต่แค่ฉากบนเรือฉากเดียวก็คุ้มแล้ว
แถมด้วย ZSNES การปรับความเร็ว, เซฟ/โหลดเร็วได้ตลอดเวลายังยอดเยี่ยมสุด ๆ
ตอนปีที่โรงเรียนเริ่มทดลองใช้นักเรียนพกโน้ตบุ๊กเป็นเครื่องมือการเรียน ผมนั่งเรียนคณิตอยู่และตามปกติต้องเปิดสไลด์ประกอบการสอนทิ้งไว้
แต่มีนักเรียนคนหนึ่งติดตั้ง ZSNES ลงโน้ตบุ๊กแล้วนั่งเล่น Killer Instinct ระหว่างคาบ
หน้าโฮมเพจประเมินความเจ๋งของโปรเจกต์นี้ต่ำไปมาก
MVG ทำวิดีโอภาพรวมไว้ดีมาก: https://www.youtube.com/watch?v=r5twUkvYFpA
เรื่องความแม่นยำในอีมูเลเตอร์ SNES นั้น higan/bsnes ครองตลาดไปแล้ว ดังนั้นแทนที่จะเดินตามเส้นทางเดิม ก็มุ่งไปในแนวทางของตัวเอง
แต่สิ่งที่กังวลคือความต้องการด้านฮาร์ดแวร์
เพราะชื่อเสียงเดิมของ ZSNES คือการรันได้ดีบนฮาร์ดแวร์จำกัดด้วยลูกเล่นและแฮ็กอันชาญฉลาดสารพัด
พลังของความคิดถึงนี่แรงจริง ๆ
https://imgur.com/a/R63BKTe
น่าจะทำแบบที่ PPU emulation จับสถานะรีจิสเตอร์สุดท้ายของทุกพิกเซลเอาไว้ทั้งหมด แล้วให้ GPU เรนเดอร์แต่ละพิกเซลจากสถานะนั้น พร้อมจัดการ layer blending, color math และการคำนวณ mode 7 ได้ด้วย
ถ้าไม่ซีเรียสเรื่องความแม่นยำมากนัก ทำระดับ scanline ก็ได้
แต่จากที่ MVG วิเคราะห์ draw command ในวิดีโอ ดูเหมือนว่า การทำ PPU ของ Super ZSNES จะไม่ใช่แบบนั้น
BG น่าจะเรนเดอร์เป็นระดับไทล์ และ OBJ ก็น่าจะคล้ายกัน ส่วน mode 7 ดูเหมือนเรนเดอร์เป็นรายบรรทัด
ความแม่นยำอาจจะลดลงเล็กน้อย แต่ถ้าจะทำลูกเล่นเสริมภาพที่พวกเขาใส่เข้ามา ก็คงจำเป็นต้องใช้แนวทางนั้น
วิธีตอนนี้คือใช้ fixed-function API แบบเก่าวาด quad แล้วค่อยผสม bump map ลงบนภาพสุดท้าย ซึ่งแปลกพอสมควร
ทั้งที่จริง ๆ แล้วมีเครื่องมือให้ทำอะไรเจ๋ง ๆ บน GPU ได้เยอะมาก แต่กลับเลือกไปทางนี้ และสำหรับผม post-processing shader ที่คนทำไว้ในอีมูเลเตอร์อื่น ๆ ยังน่าประทับใจกว่า
เพราะอีมูเลเตอร์ SNES มีมานานมากแล้ว บางทีก็อดคิดไม่ได้ว่าอาจมีคนที่เล่นเกม Nintendo ผ่านอีมูเลเตอร์มากกว่าบนเครื่อง Nintendo จริงเสียอีก
เจ๋งมาก และโดยเฉพาะอย่างยิ่งการปรับปรุงความแม่นยำนั้นดีมาก
แต่ก็สงสัยว่า GPU จำเป็นจริงหรือเปล่า
SNES เป็นระบบที่เก่ามากแล้ว เลยรู้สึกว่า CPU อย่างเดียวก็น่าจะพอ และถึง GPU จะมีประสิทธิภาพกว่าก็ตาม ก็ไม่แน่ใจว่าคุ้มกับภาระในการรองรับฮาร์ดแวร์ที่หลากหลายกว่ามากไหม
แถมยังใช้ Unity ด้วย เลยไม่จำเป็นต้องลงมือจัดการการรองรับ GPU ระดับล่างทั้งหมดเอง
higan(bsnes) ทำ SNES emulation แบบ cycle-accurate บน CPU ล้วน ๆ มาเกิน 10 ปีแล้ว ดังนั้นระดับนั้นทำได้แน่นอน
แต่ถ้าจะไปไกลกว่านั้น เช่นระดับทรานซิสเตอร์ เรื่องก็จะซับซ้อนขึ้น
AFAIK ในระดับนั้นแม้แต่ pong ยังพอได้ แต่ MetalNES ก็ยังห่างไกลจากการทำงานแบบเรียลไทม์มาก ดังนั้นขีดจำกัดคงอยู่ที่ไหนสักแห่งระหว่างนั้น
โปรเจกต์แบบนี้น่าจะเป็นประเภท “ทำเพราะมันสนุก” มากกว่า
ค่อนข้างน่าสนใจที่ในรายการฟีเจอร์มี No vibe coding กับ classic development style อยู่ด้วย
ยิ่งในบริบทของโปรเจกต์ที่มีลักษณะเหมือนการปลุกเรโทรให้กลับมามีชีวิต ยิ่งดูเข้ากันดี
แต่ก็ยังสงสัยว่านี่หมายถึงว่าไม่ได้ใช้ AI เลยจริง ๆ หรือเปล่า
เช่นแม้แต่ตอนรีวิวโค้ดก็ไม่ใช้เลยหรือไม่ ผมแค่อยากรู้ให้ชัด ไม่ได้จะตัดสินไม่ว่าคำตอบจะเป็นแบบไหน
เอาเรื่องตลกออกก่อน LLM นั้นแย่มากกับงานในโดเมนที่เฉพาะและประหลาดแบบนี้
โดยเฉพาะฝั่งเรโทร มันมักพร่ำแต่เรื่องความยิ่งใหญ่ ความคิดถึง แล้วก็ชอบตีความข้อเท็จจริงย่อย ๆ ที่ไม่สำคัญหรือที่ทุกคนรู้อยู่แล้วผิด ๆ ซ้ำไปซ้ำมา
ความรู้สึกคล้ายกับการอ่านคอมเมนต์ใน Reddit
เหมือนกับเฟอร์นิเจอร์ พรม งานหัตถกรรมอื่น ๆ หรือแม้แต่ Lamborghini ที่ขายกันด้วยภาพลักษณ์แบบนั้น
แค่เดือนก่อนเอง เหตุผลใหญ่ข้อหนึ่งที่คนต่อต้าน DLSS5 อย่างหนักคือมันทำลายวิสัยทัศน์ดั้งเดิมของศิลปิน แต่พอผ่านไปเดือนเดียว คนเล่นทั่วไปกลับตื่นเต้นกับอีมูเลเตอร์ที่เปิดให้เปลี่ยนภาพเกมได้ตามใจผ่าน UI แบบ point-and-click
ถ้าใส่ MCP server เข้าไปด้วยคงยิ่งวุ่นวายแน่
ถ้าเป้าหมายคือความสนุก การลงมือทำเองก็คือคำตอบ
No Vibe Coding. Classic development style
ดูเหมือนว่านี่กำลังกลายเป็นฟีเจอร์ที่ผู้คนต้องการจริง ๆ มากขึ้นเรื่อย ๆ
หรือมีอัลกอริทึมอื่นที่ผมไม่อนุมัติถูกใช้หรือไม่
เป็นคำถามเร่าร้อนที่ทำให้นอนไม่หลับยามคิดถึงอีมูเลเตอร์ฮาร์ดแวร์วินเทจเลยทีเดียว
เมื่อไม่กี่เดือนก่อน ผู้สร้าง ZSNES มีบทสัมภาษณ์กับ Zophar จาก Zophar's Domain ที่ค่อนข้างน่าสนใจ
https://www.youtube.com/watch?v=iG-oqvj4Tqk
ตอนเด็ก ๆ คนกลุ่มนี้สุดยอดมากจริง ๆ ในช่วงแรก ๆ
ผมยังจำช่วงเวลาที่เปิด ZSNES ครั้งแรก แล้วได้เล่น RPG เฉพาะญี่ปุ่นที่แฟน ๆ แปลไว้ได้เลย
มันเหมือนโลกใหม่เปิดออกต่อหน้าต่อตา และผมก็รู้สึกขอบคุณพวกเขามากในแง่นั้น