โฉมหน้าโปรเจกต์ PaperBoy ที่ทำให้หน้าจอ E-Ink เล่นเกมเรโทรได้ลื่นไหลแบบสุดๆ!
Wassup ชาว Maker และสายเรโทรเกม! 👾 ปกติเวลาเราพูดถึงหน้าจอ E-Ink (อีอิงค์) ภาพในหัวคือหน้าจอที่เอาไว้อ่าน E-Book เพราะมันประหยัดแบตเตอรี่มากๆ ถนอมสายตา แต่แลกมากับข้อเสียคือ "รีเฟรชเรทโคตรอืด!" กระพริบทีหน้าจอมืดไปวิครึ่ง จะเอามาเล่นเกมคือฝันไปได้เลย!
แต่วันนี้มี Maker เทพที่ชื่อ Wenting Zhang ได้ทุบข้อจำกัดนั้นทิ้ง! ด้วยการสร้างโปรเจกต์ "PaperBoy" โปรแกรมอีมูเลเตอร์ (Emulator) ที่จับเกม Game Boy มารันบนจอ E-Ink ด้วยขุมพลังของ ESP32-S3 และที่สำคัญ... มันรันได้ลื่นถึง 60 FPS! (Frame per Second) เป็นไปได้ไงเนี่ยยย!
เคล็ดลับความลื่น: แฮกไดร์เวอร์จอ 🛠️
เพื่อให้จอ E-Ink กระพริบได้รัวๆ ระดับ 60 FPS ผู้พัฒนาเค้าใช้ทริคหลายอย่างเลยครับ:
ใช้บอร์ด M5Stack PaperS3: บอร์ดตัวนี้มีความพิเศษคือมันต่อกับหน้าจอโดยใช้ "Raw row/column driver interface" ซึ่งทำให้ผู้พัฒนาสามารถข้ามระบบการวาดจอแบบเก่า (Waveform method) ที่มันช้าๆ ไปได้เลย!
รีเฟรชแค่ส่วนที่จำเป็น: จอมีขนาด 4.7 นิ้ว (960 x 540) เค้าเลยแบ่งครึ่งจอด้านล่างเป็น "ปุ่มกด (Touch buttons)" ซึ่งไม่ต้องรีเฟรชบ่อย แล้วเอาแค่ส่วนบนมาขยายพิกเซลเป็น 160 x 144 เพื่อแสดงผลเกมเท่านั้น
ขุมพลังซอฟต์แวร์: เค้าใช้ CrankBoy Project เป็นแกนหลักในการทำอีมูเลเตอร์ ทำให้เกมส่วนใหญ่รันได้ที่ 30-60 FPS เลยทีเดียว (มาริโอ้นี่รันลื่นสุดๆ)
💡 ป้ายยาไอเทมเด็ด: โปรเจกต์เกมมิ่งสนุกๆ แบบนี้ การพิมพ์เคส 3D หุ้มบอร์ดทำเป็นเครื่องเกมพกพา (Handheld) ถือว่าตอบโจทย์มากครับ หากเพื่อนๆ กำลังมองหา บอร์ดพัฒนา ESP32-S3 ตัวแรงๆ, หน้าจอแสดงผลต่างๆ หรือต้องการ บริการรับปริ้นท์ชิ้นงาน 3D พรีเมียม แวะมาจัดของที่ Globalbyte Shop ได้เลยครับ! ทัก LINE OA มาปรึกษาแอดมินหรือส่งไฟล์ 3D มาให้ประเมินราคาฟรีได้เลย!
เรื่องเสียงก็ไม่ธรรมดา 🔈
ความฮาคือบอร์ด PaperS3 มันมีแค่ Buzzer โง่ๆ (ลำโพงปิ๊บๆ) ที่เล่นได้ทีละโน้ต เค้าเลยแก้ปัญหาด้วยการสร้างคลื่นเสียงสี่เหลี่ยม (Square waves) แบบเดียวกับที่คอมพิวเตอร์ยุคเก่าใช้ ทำให้มีเสียงเกม 8-bit ออกมาได้ แถมยังรองรับการต่อ จอยสติ๊ก Bluetooth LE เพื่อเล่นแทนการกดจอบนหน้าจอได้อีกด้วย!
⚠️ คำเตือน: บอร์ดนี้หายากแล้วนะ!
ข่าวร้ายนิดนึงคือบอร์ด M5Stack PaperS3 ที่ใช้ทำโปรเจกต์นี้ เลิกผลิตไปแล้ว (End-of-Life)! ถ้าไปหาใน eBay ราคาจะพุ่งไป 2 เท่าเลย ใครอยากทำตามอาจจะต้องไปหาบอร์ดรุ่นใกล้เคียงอย่าง M5Paper รุ่นเก่า แล้วเอามาโมดิฟายโค้ดเอาเองครับ
▼ คลิกเพื่อดูคลิปสาธิตความลื่น และการต่อจอย Bluetooth (View Demo) ▲ ซ่อนรายละเอียดเพิ่มเติม
🔗 ข้อมูลอ้างอิงและจุดวาร์ปโหลดโค้ด:
ใครสนใจแกะโค้ดการจัดการหน้าจอ E-Ink ว่าเค้าเขียน Driver ยังไงให้มันรีเฟรชได้ไวขนาดนี้ แอดมินรวบรวมลิงก์ทั้งหมดมาให้แล้วครับ:
⚡ อุปกรณ์พร้อม ไอเดียพร้อม แล้วคุณล่ะพร้อมงัดความแรงของ ESP32 ออกมาหรือยัง? ⚡
*Disclaimer (ข้อจำกัดความรับผิดชอบ): เนื้อหาบทความนี้ถูกเรียบเรียงและสรุปมาจากโปรเจกต์ของต่างประเทศ การเขียนโค้ดและไลบรารีเพื่อเชื่อมต่อจอ E-Ink แบบข้ามข้อจำกัด มีความซับซ้อนและต้องใช้ความรู้ด้านเฟิร์มแวร์ ESP-IDF ระดับสูง ผู้ที่สนใจทำตามควรเข้าไปศึกษา
Source Code ต้นฉบับ อย่างละเอียด เพื่อประสิทธิภาพสูงสุดของโปรเจกต์ครับ!