1 คะแนน โดย GN⁺ 2023-08-28 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • บทความเกี่ยวกับการรัน Linux ได้สำเร็จบน Commodore C64 ซึ่งเป็นคอมพิวเตอร์ภายในบ้านระดับคลาสสิกจากยุค 1980
  • ระบบปฏิบัติการ Linux ทำงานบน Commodore C64 ได้แต่ช้ามาก และจำเป็นต้องมีหน่วยขยาย RAM (REU) เนื่องจากข้อจำกัดหน่วยความจำ 64KiB ของเครื่อง
  • ระบบนี้ใช้หน่วยจัดการหน่วยความจำ (MMU) เพื่อจำลองหน่วยความจำเสมือน
  • ผู้เขียนยังไม่ได้ทดสอบการตั้งค่าบนฮาร์ดแวร์จริง และแนะนำให้ผู้อ่านแบ่งปันประสบการณ์
  • ในการสร้างระบบ ต้องใช้คำสั่ง make และเครื่องมือ mos-c64-clang
  • การตั้งค่าเคอร์เนลแตกต่างจากเคอร์เนล semu เดิม เนื่องจากการจัดแนวเซกชันขนาดใหญ่ โดยสามารถหาเคอร์เนลคอนฟิกที่เหมาะสมกว่าได้ในโฟลเดอร์ย่อย config
  • ใช้สคริปต์ mk_linux_reu.py เพื่อประกอบอิมเมจ REU ทั้งหมดที่จำเป็นสำหรับ VICE emulator
  • ในการรันระบบ ต้องสร้างไฟล์ .d64 ที่มีไฟล์ปฏิบัติการ semu ที่คอมไพล์แล้ว จากนั้นจึงโหลดไฟล์นี้เข้าไปใน VICE emulator
  • ผู้เขียนมีแผนจะเพิ่มอาร์ไคฟ์บน GitHub ที่รวมไบนารีที่สร้างไว้ล่วงหน้าทั้งหมดที่จำเป็น
  • ผู้เขียนยังกล่าวถึงความเป็นไปได้ในการปรับแต่งโค้ด 6502 ที่คอมไพล์แล้วเพื่อเพิ่มประสิทธิภาพ และการทำ checkpoint VM เพื่อหลีกเลี่ยงกระบวนการบูตที่ยาวนาน
  • บทความปิดท้ายด้วยการกล่าวถึงผลงานของ semu ซึ่งเป็นอีมูเลเตอร์ RISC-V32 แบบมินิมัลลิสต์ และเครื่องมือ llvm-mos ที่ทำให้โปรเจกต์นี้เกิดขึ้นได้

1 ความคิดเห็น

 
GN⁺ 2023-08-28
ความคิดเห็นจาก Hacker News
  • Onno Kortman สามารถรัน Linux บน Commodore 64 ได้สำเร็จ โดยใช้ตัวจำลอง RISC-V ขนาดเล็กชื่อ semu และ llvm-mos ซึ่งเป็น LLVM port สำหรับโปรเซสเซอร์ MOS 6502
  • กระบวนการนี้ใช้เวลามาก และการสร้างภาพหน้าจอใน "โหมดวาร์ป" ก็ใช้เวลาหลายชั่วโมง ส่วน C64 จริงควรจะบูต Linux ได้ภายในหนึ่งสัปดาห์
  • โปรเจ็กต์นี้ต้องใช้อุปกรณ์ฮาร์ดแวร์หายากอย่าง 16MB REU โดย REU ที่มีให้ใช้กับ C64 ในสมัยนั้นมีขนาด 256kB และ 512kB
  • โปรเจ็กต์นี้ถูกนำไปเปรียบกับการรัน Doom3 บน 386 แต่ 386 นั้นเป็นการ์ด PCI สำหรับพีซีสมัยใหม่ การเปรียบเทียบนี้สื่อว่าในทางเทคนิคมันเป็นไปได้ แต่ไม่ได้สะท้อนความสามารถของฮาร์ดแวร์ดั้งเดิม
  • หลังจากแผนผังวงจร SuperCPU ต้นฉบับสูญหายไป ก็มีการเรียกร้องขอแผนผังวงจร "super CPU" แบบโอเพนซอร์ส โดยปัจจุบัน SuperCPU และ DMA controller ของมันถูกจำลองด้วย FPGA ที่ทรงพลัง
  • ผู้ใช้บางคนกำลังทดลองกับอุปกรณ์เสริม C-64 รุ่นใหม่ เช่น "Kung Fu Flash" ซึ่งสามารถจำลอง "Super Snapshot" ได้ แต่ไม่ใช่ REU
  • มีการถกเถียงกันถึงฮาร์ดแวร์ที่เก่าแก่ที่สุดที่ยังสามารถบูต Linux รุ่นปัจจุบันได้ และยังใช้งานในชีวิตประจำวันได้จริง
  • โปรเจ็กต์นี้ถูกมองว่าเป็นการสาธิตความเทียบเท่าทางทัวริง ว่าหากมีเวลามากพอ คอมพิวเตอร์ที่ทัวริงสมบูรณ์ทุกเครื่องก็สามารถทำสิ่งที่คอมพิวเตอร์ทัวริงสมบูรณ์อีกเครื่องทำได้
  • มีคำถามว่าโปรเจ็กต์นี้แตกต่างจาก Lunix ซึ่งเป็นระบบปฏิบัติการขนาดเล็กแบบหลายงานสำหรับ Commodore 64 หรือไม่
  • ผู้ใช้บางคนเสนอวิธีทางเลือกในการรัน Linux บน C64 เช่น ใช้ฟลอปปีดิสก์หลายแผ่นเป็น RAM แล้วสลับตามความจำเป็น
  • มีการอธิบายอย่างชัดเจนว่าโปรเจ็กต์นี้ไม่ใช่การที่ C64 รัน Linux โดยตรง แต่เป็นการจำลองสภาพแวดล้อม RISC-V
  • โปรเจ็กต์นี้ทำให้คนอื่นนึกถึงโปรเจ็กต์คล้ายกัน เช่น การรัน RISC-V บน Gameboy หรือการติดตั้งระบบสไตล์ Unix บน TRS-80 Model 4