Nintendo DS เป็นคอนโซลยอดนิยมหลายปี เป็นแพลตฟอร์มของเกมนับไม่ถ้วน ตอนนี้กลายเป็น classics แม้แต่เก่าๆ ก็ถูก revitalized ตอนนี้ DS ก็เป็นเรื่องอดีต แต่นี่คือวิธีเล่นเกม Nintendo DS บน Linux? DeSmuME เป็น emulator สำหรับ Linux ที่จะให้คุณ reviver วันวานอันอันงดงามของ DS บน laptop หรือ desktop ได้
ติดตั้ง DeSmuME
DeSmuME available อย่างเป็นทางการบน Windows (x86/x86-64/x86 without SSE2) และ Macs (x86/x86-64 และ PowerPC) แต่ source code ก็ available สำหรับใครก็ตามที่อยาก port ไปที่อื่น ดังนั้น port ไป Xbox และ PlayStation ก็มีเกือบแน่นอนว่าจะหาทางมาถึง Linux
DeSmuME หาได้ใน official repositories ของหลาย distributions ทำให้การติดตั้งง่าย
Ubuntu/Debian
DeSmuME อยู่ใน official repositories ของ Debian และ Ubuntu ติดตั้งด้วย:
sudo apt install desmume
Arch / OpenSUSE / Solus Linux
การติดตั้ง DeSmuME บน Arch, OpenSUSE, หรือ Solus Linux ง่ายเท่ากับ Debian และ Ubuntu สำหรับ Arch ใช้:
sudo pacman -S desmume
บน OpenSUSE ใช้:
sudo zypper in desmume
สุดท้ายบน Solus ลอง:
sudo eopkg it desmume
Fedora
Fedora เป็นหนึ่งใน distributions ที่ไม่ include DeSmuME ใน repositories โชคดีที่ RPM Fusion มี ติดตั้ง DeSmuME ต้องเพิ่ม unofficial software source นี้เข้า repositories list ก่อน ด้วย:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
การติดตั้งจริงแค่:
sudo dnf install desmume
การเล่นเกม
มี 2 วิธีได้ Nintendo DS games บน Linux PC และเพียงหนึ่งทางถูกกฎหมาย วิธีแรกคือ backup เกม DS ของคุณด้วย flash cartridge
อีกวิธี (และง่ายกว่า) คือ download มา น่าเสียดายที่เป็น illegal โดยตรงในหลายประเทศ แต่อยู่ใน legal gray area ในบางประเทศ
เมื่อได้เกมที่อยากเล่นเป็น ROM ใน format "ds" แล้ว ให้เปิด DeSmuME คลิกไอคอนแรกใน toolbar และเลือกไฟล์เกม
เกมที่เลือกจะโหลดและรันอัตโนมัติ ขึ้นอยู่กับเกม อาจต้องใช้ mouse บนหน้าจอที่สองของ DS ที่ emulate (default คือหน้าจอล่าง) หรือกดปุ่มบางปุ่มเพื่อเล่น
ปุ่มควบคุมของ Nintendo DS: directional cross map ไป cursor keys ปุ่ม A, B, R, L, X, Y map ตามลำดับไป X, Z, W, Q, S, A บนคีย์บอร์ด ส่วน Start และ Select map ไป Return และ Shift ขวาโดย default
การ Remap ควบคุม (Control Remapping)
หากไม่ชอบ default controls ของ DeSmuME สามารถ remap ไปปุ่มอื่นได้ที่ "Config -> Edit controls"
คลิกที่ control ที่อยากเปลี่ยน แล้วกดปุ่มใหม่ที่ตรงกับ action นั้น
เราคิดว่า mouse และ keyboard combo ดีกว่าสำหรับเกมที่ใช้ DS touch screen แต่หลายเกมใช้หน้าจอที่สองแค่ display ไม่ใช่ extra input เกมเหล่านั้นรู้สึกดีกว่ากับ joypad ใกล้เคียง button arrangement เดิมของ DS DeSmuME ทำงานกับ generic joypads ส่วนใหญ่ที่ใช้งานบน PC ได้แล้ว Controls นั้น remap ได้เหมือนกันจาก "Config -> Edit Joystick controls"
การควบคุมหน้าจอ (Screen Control)
DS มีหน้าจอหนึ่งอยู่ใต้อีกหนึ่ง และเกมส่วนใหญ่ออกแบบสำหรับ orientation นี้ แต่บางเกมไม่ได้ และจัดการแต่ละหน้าจอเป็น independent display ด้วยเกมเหล่านั้น สามารถใช้ widescreen estate บน PC ได้ดีขึ้นด้วยการจัดเรียงหน้าจอ DeSmuME วางติดกัน
ทำได้จาก "View -> LCDs Layout -> Horizontal" หรือกด Ctrl + 2 กลับไป vertical orientation จากเมนูนี้หรือกด Ctrl + 1 DeSmuME ยัง swap หน้าจอได้จากเมนูนี้หรือกด Space มีประโยชน์ตอนสนใจ input ของ secondary screen มากกว่า passive display บน main screen สุดท้ายสำหรับเกมที่ไม่ใช้ secondary screen เลย สามารถตั้ง emulator ให้แสดงแค่หน้าจอเดียว เลือก "Single screen" จากเมนูเดียวกันหรือกด Ctrl + 0
คุณน่าจะมี HD monitor บน PC และ output ของ DeSmuME จะดูเหมือน thumbnails บนหน้าจอ สามารถเปลี่ยน virtual screen size ได้จาก "View -> Window Size" แล้วเลือก multiplier จาก sub-menu 1x คือ native size และเป็น default multipliers สูงกว่าจะขยาย virtual screens Scale to window จะ "free" multiplier ให้ match ขนาดของ emulator window
เนื่องจากวิธีทำงานของ LCD screens เลือก even multiplier ดีกว่า odd และ even ทั้งคู่ดู blocky แต่ odd ones เพิ่ม artifacting มากขึ้น
มีวิธีลด blockiness ด้วย filters DeSmuME มี collection of filters เข้าถึงได้จาก "View -> Video Filter" sub-menu
Performance & Save States
DeSmuME เป็น emulator ที่เก่า คุณน่าจะไม่มีปัญหา performance บน modern PC หากมี บน PC เก่าหรือ under-powered สามารถปรับปรุง performance ได้โดยการ skip frames Option อยู่ที่ "Config -> Frameskip" เริ่มต้นที่ 0 (never skip)
Emulator จะแสดง frames น้อยลงเมื่อเลือกค่าสูงขึ้น "speed up" เกม แต่ frames นั้นจะหายไป ทำให้ animations และ scrolling ตัดขาด จุดหนึ่ง option นี้มีประโยชน์แค่ในเกมช้า mostly static เช่น RPGs และ adventures เพราะเกมที่มี real-time controls จะเล่นไม่ได้
เล่นเกมส่วนใหญ่จะไร้ประโยชน์หากไม่สามารถ save progress ได้ แรก ในเกมส่วนใหญ่สามารถใช้ built-in save features บันทึกข้อมูลใน DeSmuME ได้ เล่นเกมปกติและ save data จะ load ได้ครั้งหน้า แต่บางอย่าง limited - อาจ save ได้แค่จุดเฉพาะในเกม
อีกวิธีคือ save state ของเกมโดยตรงผ่าน DeSmuME
เลือก "File -> Save state" และหนึ่งในสิบ slots เพื่อ save game current state ลงไฟล์ ในการ recall saved state เลือก "File -> Load state" และ slot ของเกมที่ save
DeSmuME ยัง record audio และ video จากเกมได้ผ่าน "File -> Record video/audio" ที่ชื่อเหมาะสม สามารถ screenshot ได้จาก "Take a screenshot option" หรือกด Ctrl + S ขณะเล่น
ตอนนี้คุณรู้วิธีเล่นเกม Nintendo DS บน Linux แล้ว ถัดไปคุณสามารถติดตั้ง DOSbox เล่นเกม DOS เก่า หรือเล่นเกม PSP ด้วย PPSSPP