Doom พอร์ทบน Commodore 64 ทำงานเต็มรูปแบบด้วยฮาร์ดแวร์ 44 ปี

ที่มาภาพ: XDA Developers

Hardware-อ่าน 6 นาทีXDA Developers

Doom พอร์ทบน Commodore 64 ทำงานเต็มรูปแบบด้วยฮาร์ดแวร์ 44 ปี

⚡ สรุป 30 วิ

เกม Doom พอรต์ไปยัง Commodore 64 8‑bit จากปี 1982 ทำงานครบฟีเจอร์ลิฟท์ ประตูและอาวุธ FPS 10‑15 fps โครงการเผยซอร์สบน GitHub กระตุ้นชุมชนรีทโร.

Doom รุ่นคลาสสิกได้ถูกพอร์ตขึ้นมาบน Commodore 64 ‑ เครื่องคอมพิวเตอร์ 8‑bit ที่เปิดตัวในปี 1982 ทำให้เกมยิงมุมแรกที่เป็นตำนานสามารถทำงานบนฮาร์ดแวร์อายุ 44 ปีได้อย่างเต็มรูปแบบ การรัน Doom บน C64 ไม่เพียงแค่สาธิตความคล่องแคล่วของเครื่องเก่าเท่านั้น แต่ยังเปิดเผยขีดจำกัดและศักยภาพที่หลายคนอาจมองข้าม

Overview

การพอร์ตนี้เป็นผลงานของนักพัฒนาที่ทำงานโดยใช้ cross‑assembler และเครื่องมือสมัยใหม่เพื่อสร้างโค้ดที่เหมาะกับสถาปัตยกรรมของ C64 – CPU 6510 ความเร็ว 1 MHz, หน่วยความจำหลัก 64 KB, ชิปกราฟิก VIC‑II และชิปรับเสียง SID การทำงานของเกมบนระบบเหล่านี้ต้องอาศัยการบีบอัดข้อมูลและการจัดสรรทรัพยากรอย่างเข้มงวด เนื่องจาก Doom ดั้งเดิมออกแบบมาเพื่อเครื่องที่มี RAM มากกว่า 4 MB และกราฟิกหลายระดับ

ตามรายงานของ XDA‑Developers นักพัฒนานี้ได้อ้างว่าเวอร์ชันบน C64 สามารถทำงานได้อย่างเสถียรโดยไม่ต้องใช้อุปกรณ์เพิ่มขนาด (expansion) ใด ๆ นอกจากนี้ยังมีการเปิดเผยโค้ดต้นฉบับบน GitHub เพื่อให้ชุมชนสามารถตรวจสอบและปรับปรุงต่อไปได้

Development Process

ขั้นตอนแรกของการพอร์ตเริ่มจากการศึกษาข้อมูลสถาปัตยกรรมของ Commodore 64 อย่างละเอียด ทั้งด้านการจัดการหน่วยความจำ การเข้าถึงกราฟิกผ่าน register ของ VIC‑II และการใช้ช่องเสียง SID เพื่อทำให้เสียงใน Doom สามารถเล่นได้อย่างเหมาะสม นักพัฒนาต้องลดระดับความละเอียดของเท็กซ์เจอร์และสีจาก 256 color ไปเหลือ 8 สี ตามที่ชิปกราฟิกรองรับ

ต่อมาเป็นขั้นตอนการแปลง map ของเกมเดิมให้สอดคล้องกับขนาดเมมโมรีีจำกัด การใช้ RLE (Run‑Length Encoding) เพื่อลดข้อมูลซ้ำซ้อนและการสร้างระบบจัดเก็บ “room” ที่โหลดแบบไดนามิกเมื่อผู้เล่นเข้าสู่พื้นที่ใหม่ นอกจากนี้ยังมีการปรับโลจิกของศัตรูให้ทำงานบน CPU 1 MHz โดยใช้เทคนิค assembly‑level optimization** เพื่อให้ FPS อยู่ในระดับที่สามารถรับชมได้

Technical Challenges

หนึ่งในอุปสรรคสำคัญคือการจำลองระบบ “elevator” และ “door” ของ Doom บน C64 ซึ่งต้องพึ่งพาการควบคุมกราฟิกแบบ raster interrupt เพื่อนำข้อมูลตำแหน่งมาปรับเปลี่ยนหน้าจออย่างเรียลไทม์ การทำเช่นนี้บนเครื่องที่ไม่มีฮาร์ดแวร์ sprite มากกว่า 8 ตัวต่อ scanline ทำให้ต้องจัดสรร sprite ให้กับศัตรูและสิ่งของสำคัญอื่น ๆ อย่างระมัดระวัง

อีกประเด็นคือการรองรับ weapons ทั้งหมดของ Doom (pistol, shotgun, chaingun, rocket launcher) โดยไม่ทำให้ระบบเสียงล้น เนื่องจาก SID มีช่องสั่นเพียง 3 ช่อง นักพัฒนาต้องใช้เทคนิค “mixing” ระหว่างช่องเพื่อสร้างเอฟเฟกต์ที่ใกล้เคียงกับต้นฉบับ การจัดการนี้ต้องประสานงานอย่างแม่นยำระหว่างโค้ดเกมและ ISR (Interrupt Service Routine) ของเสียง

Features & Gameplay

แม้ว่ากราฟิกจะถูกลดระดับลง แต่เวอร์ชันบน C64 ยังคงรักษาองค์ประกอบหลักของ Doom ไว้ครบถ้วน:

  • Elevators ทำงานได้อย่างต่อเนื่องและตอบสนองต่อการกดปุ่ม
  • Doors เปิด‑ปิดตามสคริปต์ของแผนที่โดยไม่มีการค้าง
  • Weapons ทุกชนิดสามารถยิงได้พร้อมกับเอฟเฟกต์เสียงพื้นฐาน

ผู้เล่นจะเห็นว่าอัตรา FPS อยู่ระหว่าง 10‑15 fps ซึ่งต่ำกว่าเครื่องสมัยใหม่อย่างมาก แต่ยังคงให้ประสบการณ์ “first‑person shooter” ที่สมบูรณ์บนฮาร์ดแวร์ 8‑bit นอกจากนี้ ยังมีการสนับสนุน joystick ของ C64 ทำให้การควบคุมเหมือนกับที่เคยใช้ในเกมสมัยนั้น

Community Reaction

ชุมชนผู้รัก retro computing ตอบรับอย่างกระตือรือร้น โดยหลายคนโพสต์วิดีโอแสดงผลบน YouTube เพื่อพิสูจน์ว่าการพอร์ตนี้ทำงานได้จริง บางบทความยังเปรียบเทียบกับโครงการพอร์ต Doom บนเครื่องคอมพิวเตอร์เก่าอื่น ๆ เช่น Apple II และ ZX Spectrum ซึ่งส่วนใหญ่ต้องใช้อุปกรณ์เพิ่มขนาดหรือจำกัดฟีเจอร์บางอย่าง

การเปิดเผยซอร์สโค้ดบน GitHub ทำให้ผู้สนใจสามารถทำ “fork” เพื่อทดลองเพิ่มฟีเจอร์ใหม่ หรือปรับแต่งระดับความละเอียดของกราฟิก การกระตุ้นให้เกิดการพัฒนาแบบโอเพ่นซอร์สนี้เป็นส่วนสำคัญที่ช่วยขยายอายุการใช้งานของเครื่อง Commodore 64 ให้ยาวนานต่อไป

Impact

โครงการนี้แสดงให้เห็นว่าแม้เทคโนโลยีเก่าอย่าง C64 ก็ยังสามารถรองรับซอฟต์แวร์ระดับสูงได้หากมีการออกแบบและปรับแต่งที่เหมาะสม ความสำเร็จของ Doom port นี้อาจเป็นแรงบันดาลใจให้กับนักพัฒนาในอนาคตที่จะทดลองนำเกมหรือแอปพลิเคชันสมัยใหม่มาทดสอบบนฮาร์ดแวร์คลาสสิก ซึ่งนอกจากจะส่งเสริมการเรียนรู้ด้าน low‑level programming แล้ว ยังช่วยรักษามรดกของคอมพิวเตอร์ยุคแรกให้ยังคงเป็นส่วนหนึ่งของวัฒนธรรมเทคโนโลยี

Summary

Doom ได้รับการพอร์ตขึ้นบน Commodore 64 อย่างเต็มรูปแบบโดยมีฟีเจอร์สำคัญเช่น elevators, doors และ weapons ทำงานได้จริง แม้จะต้องประนีประนอมด้านกราฟิกและ FPS การทำเช่นนี้ไม่เพียงแสดงศักยภาพของฮาร์ดแวร์ 8‑bit แต่ยังกระตุ้นชุมชน retro ให้สำรวจขอบเขตใหม่ของการพัฒนาเกมบนแพลตฟอร์มเก่า.

แชร์บทความนี้:

ชอบบทความแบบนี้?

สมัคร AI Automate Weekly Newsletter — รับเคล็ดลับ AI + how-to ใหม่
ทุกสัปดาห์ตรงถึง inbox ฟรี ไม่มีสแปม

แหล่งข่าวต้นฉบับ

ชื่อต้นฉบับ
This Commodore 64 Doom port has working elevators, doors, and weapons — all on 44-year-old hardware
ผู้เขียน
Patrick O'Rourke
แหล่ง
XDA Developers
วันที่เผยแพร่
31 กรกฎาคม 2569 เวลา 01:36

Related

บทความที่เกี่ยวข้อง

Flipper One เปิดตัวแล้ว แต่ยังไม่ขายHardware
23 พฤษภาคม 2569 เวลา 11:26

Flipper One เปิดตัวแล้ว แต่ยังไม่ขาย

Flipper ประกาศ Flipper One อย่างเป็นทางการแล้ว แต่ยังไม่เปิดขาย โดยขอความช่วยเหลือจากชุมชนในการพัฒนาก่อน

XDA Developers2 นาที
Steve McCrea ทำ Doom ให้รันบน Commodore 64 ด้วยเทคนิค ray casting.Hardware
-

Steve McCrea ทำ Doom ให้รันบน Commodore 64 ด้วยเทคนิค ray casting.

Steve McCrea นักโปรแกรมเมอร์สร้าง Doom บน Commodore 64 โดยใช้ ray casting บนตารางไทล์ แม้มี RAM เพียง 64 KB ระบบยังแสดงระดับ E1M1‑E1M8 พร้อม skybox…

PC Gamer6 นาที
Chromecast 13 ปี เปลี่ยนวิธีสตรีม TV อย่างถาวรHardware
-

Chromecast 13 ปี เปลี่ยนวิธีสตรีม TV อย่างถาวร

เมื่อ 13 ปีก่อน Google เปิดตัว Chromecast ราคา $35 ทำให้การแชร์หน้าจอจากมือถือไปยังทีวีง่ายและราคาถูก การหยุดผลิตในปี 2024 ไม่ทำลายมาตรฐาน Google Cast…

Tom's Guide5 นาที
Orange Pi Zero 3W ไม่บูต Android เนื่องจากขาด Userspace สำคัญ – ชุมชนช่วยแก้ด้วยการ graftHardware
30 กรกฎาคม 2569 เวลา 22:00

Orange Pi Zero 3W ไม่บูต Android เนื่องจากขาด Userspace สำคัญ – ชุมชนช่วยแก้ด้วยการ graft

บอร์ด Orange Pi Zero 3W มีสเปคไฮเอนด์แต่ Android image ไม่รวม userspace ที่จำเป็น ทำให้ไม่สามารถบูตและใช้ GPU ได้เต็มที่. ชุมชนได้ graft userspace จาก Radxa…

XDA Developers5 นาที
คัดลอกลิงก์แล้ว!