Connomore64: การจำลอง C64 แบบแม่นยำทุกจังหวะโดยใช้ไมโครคอนโทรลเลอร์หลายตัว

BigGo Editorial Team
Connomore64: การจำลอง C64 แบบแม่นยำทุกจังหวะโดยใช้ไมโครคอนโทรลเลอร์หลายตัว

คอมพิวเตอร์ Commodore 64 ยังคงเป็นแรงบันดาลใจให้กับผู้ที่ชื่นชอบฮาร์ดแวร์หลายทศวรรษหลังจากเปิดตัว โดยนวัตกรรมล่าสุดคือเครื่องจำลองแบบแม่นยำทุกจังหวะที่ใช้วิธีการที่ไม่เหมือนใครในการสร้างประสบการณ์การใช้งานคอมพิวเตอร์ 8 บิตอันเป็นเอกลักษณ์

ไมโครคอนโทรลเลอร์หลายตัวทำงานพร้อมกัน

โครงการ Connomore64 ใช้วิธีการที่แปลกใหม่ในการจำลอง C64 โดยใช้ไมโครคอนโทรลเลอร์ RP2040/RP2350 หลายตัวทำงานพร้อมกัน แต่ละตัวจำลององค์ประกอบเฉพาะของระบบดั้งเดิม ต่างจากโปรแกรมจำลองแบบดั้งเดิมที่ทำงานบนโปรเซสเซอร์เดียว วิธีการแบบกระจายนี้ช่วยให้มีความแม่นยำในระดับไมโครวินาทีที่ตรงกับฮาร์ดแวร์ต้นฉบับ โครงการนี้เชื่อมต่อไมโครคอนโทรลเลอร์ราคาประหยัดเหล่านี้ (ราคาต่ำกว่า 1 ยูโรต่อชิ้น) โดยใช้บัส 8 บิตแบบมัลติเพล็กซ์ที่ทำงานที่ประมาณ 8 MHz สร้างระบบที่สามารถเชื่อมต่อกับอุปกรณ์ต่อพ่วง C64 ดั้งเดิมได้

ข้อมูลทางเทคนิคของ Connomore64

  • ไมโครคอนโทรลเลอร์: หลาย RP2040/RP2350 (ใช้ ARM Cortex M0+)
  • การเชื่อมต่อภายใน: บัสแบบมัลติเพล็กซ์ขนาด 8 บิต ทำงานที่ความเร็วประมาณ 8 MHz
  • เอาต์พุตวิดีโอ: DVI/HDMI
  • เอาต์พุตเสียง: อิงตาม SIDKick pico (ใช้การจำลอง reSID)
  • พอร์ตที่รองรับ: Userport, IEC (สำหรับฟล็อปปี้), พอร์ตจอยสติ๊ก
  • รองรับ Fastloader: JiffyDOS, Transwarp
  • รูปแบบฮาร์ดแวร์: PCB แบบกำหนดเองที่พอดีกับเคส C64 ดั้งเดิม
  • ต้นทุนที่เป็นไปได้: ต่ำกว่า 20 ยูโรสำหรับการใช้งานแบบกำหนดเองขนาดเล็ก

ความสามารถในการใช้งานร่วมกับฮาร์ดแวร์จริงคือจุดเด่น

สิ่งที่ทำให้ Connomore64 น่าสนใจเป็นพิเศษสำหรับชุมชนคอมพิวเตอร์เรโทรคือความสามารถในการเชื่อมต่อกับฮาร์ดแวร์ C64 ดั้งเดิม ในขณะที่โปรแกรมจำลองบน PC เช่น VICE ให้คุณภาพการจำลองที่สูง แต่มักขาดความแม่นยำในเวลาจริงที่จำเป็นสำหรับการทำงานกับอุปกรณ์ต่อพ่วงทางกายภาพ Connomore64 รองรับพอร์ต userport ของ C64, พอร์ต IEC สำหรับไดรฟ์ฟล็อปปี้, พอร์ตจอยสติ๊ก และกำลังพัฒนาความสามารถในการใช้งานร่วมกับพอร์ตขยาย

ฉันชอบสิ่งนี้มาก! C64 คือสิ่งที่แนะนำฉันเข้าสู่โลกของคอมพิวเตอร์ตั้งแต่เด็ก ฉันยังคงเก็บเครื่องที่อายุเกือบ 40 ปีไว้ในคอลเลกชันของฉัน แต่ฉันกังวลเรื่องความล้มเหลวทุกครั้งที่เปิดเครื่อง สิ่งนี้ดีกว่า MiSTer ตรงที่ฉันสามารถใช้อุปกรณ์ต่อพ่วงจริงกับมันได้

ความสามารถในการใช้งานร่วมกันนี้ขยายไปถึง fastloaders เช่น JiffyDOS และ Transwarp ซึ่งช่วยเพิ่มความเร็วในการโหลดข้อมูลจากไดรฟ์ฟล็อปปี้อย่างมีนัยสำคัญ โครงการนี้ได้รับการทดสอบกับอุปกรณ์ต่อพ่วงต่างๆ รวมถึงฮาร์ดแวร์ WiC64 userport ซึ่งแสดงให้เห็นถึงการประยุกต์ใช้งานจริงนอกเหนือจากการจำลองเพียงอย่างเดียว

การสมดุลระหว่างความแม่นยำและประสิทธิภาพ

ในขณะที่โครงการนี้มุ่งเน้นการจำลองที่แม่นยำทุกจังหวะ สมาชิกบางคนในชุมชนได้สังเกตเห็นการเลือกออกแบบที่น่าสนใจเกี่ยวกับการแสดงผลกราฟิก นักพัฒนาได้เขียนโค้ดการแสดงผลกราฟิกใหม่ให้ทำงานเร็วขึ้น 5-10 เท่าเมื่อเทียบกับการใช้งานก่อนหน้านี้ แต่ต้องแลกกับความเข้ากันได้บางส่วน การตัดสินใจนี้จุดประกายการอภิปรายเกี่ยวกับความสมดุลระหว่างความแม่นยำที่สมบูรณ์และประสิทธิภาพในทางปฏิบัติ โดยเฉพาะอย่างยิ่งเมื่อพิจารณาถึงกำลังประมวลผลที่จำกัดของไมโครคอนโทรลเลอร์ RP2040/RP2350

โครงการนี้ปัจจุบันจำลองเพียงครึ่งหนึ่งของรอบ CPU ของ C64 แต่ละรอบ ซึ่งจำกัดความเข้ากันได้ที่อาจเกิดขึ้นกับการ์ดขยายบางรุ่น นักพัฒนาระบุว่าแม้จะมีโค้ดสำหรับรอบ Phi ต่ำ แต่ไมโครคอนโทรลเลอร์ไม่เร็วพอที่จะจัดการได้ ซึ่งเน้นย้ำถึงความท้าทายทางเทคนิคในการบรรลุการจำลองที่สมบูรณ์แบบบนฮาร์ดแวร์ที่ค่อนข้างธรรมดา

ข้อจำกัดในปัจจุบัน

  • จำลองเฉพาะส่วน CPU ในแต่ละรอบการทำงานของ C64 เท่านั้น
  • การแสดงผลกราฟิกเสียสละความเข้ากันได้บางส่วนเพื่อความเร็ว
  • การสนับสนุนพอร์ตขยายยังอยู่ในขั้นตอนการพัฒนา
  • ยังไม่พร้อมสำหรับผู้ใช้ทั่วไป (อยู่ในขั้นตอนการพิสูจน์แนวคิด)

เกินกว่าความโหยหาอดีต: ความสำเร็จทางเทคนิค

การสนทนาในชุมชนเผยให้เห็นว่าความสนใจในการจำลอง C64 นั้นเกินกว่าความโหยหาอดีตเพียงอย่างเดียว ข้อจำกัดและความเป็นไปได้ที่เป็นเอกลักษณ์ในเครื่อง C64 ดั้งเดิมยังคงเป็นแรงบันดาลใจให้กับโปรแกรมเมอร์และผู้ที่ชื่นชอบฮาร์ดแวร์ ตามที่ผู้แสดงความคิดเห็นคนหนึ่งได้กล่าวไว้ CPU 8 บิตพร้อมพื้นที่แอดเดรส 16 บิต ภาษาแอสเซมบลีที่เรียบง่าย และอุปกรณ์ต่อพ่วงแบบ memory-mapped ได้สร้างสภาพแวดล้อมที่ผลักดันให้โปรแกรมเมอร์พัฒนาเทคนิคที่สร้างสรรค์ซึ่งให้ผลลัพธ์ที่ดูเหมือนเป็นไปไม่ได้บนกระดาษ

โครงการ Connomore64 ยังเป็นตัวอย่างของการรันซอฟต์แวร์ที่ใช้การประมวลผลสูงบนไมโครคอนโทรลเลอร์ราคาประหยัด กำลังต่ำ ที่เชื่อมต่อกัน ซึ่งอาจให้ข้อมูลเชิงลึกสำหรับแอปพลิเคชันการประมวลผลแบบกระจายอื่นๆ

สถานะปัจจุบันและศักยภาพในอนาคต

ปัจจุบัน Connomore64 รันเกมส่วนใหญ่ได้โดยไม่มีปัญหา รวมถึงเกมคลาสสิกเช่น Mayhem in Monsterland, R-Type, Bubble Bobble และ Turrican นอกจากนี้ยังสามารถจัดการกับเดโมจำนวนมากที่ผลักดันฮาร์ดแวร์ดั้งเดิมจนถึงขีดจำกัด แม้ว่าโครงการนี้จะถูกอธิบายว่าเป็นเพียงการพิสูจน์แนวคิดและยังไม่พร้อมสำหรับผู้ใช้ทั่วไป แต่ก็แสดงให้เห็นถึงศักยภาพที่สำคัญ

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

สำหรับผู้ที่สนใจรายละเอียดทางเทคนิค โครงการนี้สร้างขึ้นบนโครงการโอเพนซอร์สที่มีอยู่หลายโครงการ รวมถึงตัวจำลอง rp2040js, ไลบรารีการจำลอง chips, PicoDVI สำหรับเอาต์พุตวิดีโอ และพอร์ตของเฟิร์มแวร์ SIDKick pico สำหรับเสียง วิธีการทำงานร่วมกันนี้เน้นย้ำถึงจุดแข็งของชุมชนโอเพนซอร์สในการรักษาและขยายประวัติศาสตร์การคำนวณ

อ้างอิง: Connomore64