Connomore64: Emulasi C64 Siklus-Eksak Menggunakan Beberapa Mikrokontroler

BigGo Editorial Team
Connomore64: Emulasi C64 Siklus-Eksak Menggunakan Beberapa Mikrokontroler

Commodore 64 terus menginspirasi para penggemar perangkat keras selama beberapa dekade setelah peluncurannya, dengan inovasi terbaru berupa emulator siklus-eksak yang menggunakan pendekatan unik untuk menciptakan kembali pengalaman komputer 8-bit ikonik ini.

Beberapa Mikrokontroler Bekerja Secara Paralel

Proyek Connomore64 mengambil pendekatan baru dalam emulasi C64 dengan menggunakan beberapa mikrokontroler RP2040/RP2350 yang bekerja secara paralel, masing-masing mengemulasikan komponen spesifik dari sistem aslinya. Berbeda dengan emulator perangkat lunak tradisional yang berjalan pada satu prosesor, pendekatan terdistribusi ini memungkinkan pengaturan waktu yang tepat hingga mikrodetik yang cocok dengan perangkat keras asli. Proyek ini menghubungkan mikrokontroler murah (harga kurang dari 1 euro per unit) menggunakan bus 8-bit multipleks yang berjalan pada kecepatan sekitar 8 MHz, menciptakan sistem yang dapat berinteraksi dengan periferal C64 asli.

Spesifikasi Teknis Connomore64

  • Mikrokontroler: Beberapa RP2040/RP2350 (berbasis ARM Cortex M0+)
  • Interkoneksi: Bus 8-bit multipleks berjalan pada ~8 MHz
  • Output Video: DVI/HDMI
  • Output Audio: Berbasis SIDKick pico (menggunakan emulasi reSID)
  • Port Kompatibel: Userport, IEC (floppy), port joystick
  • Dukungan Fastloader: JiffyDOS, Transwarp
  • Bentuk Perangkat Keras: PCB khusus yang cocok dengan casing C64 asli
  • Potensi Biaya: Di bawah €20 untuk implementasi khusus yang lebih kecil

Kompatibilitas dengan Perangkat Keras Asli Menjadi Pembeda

Yang membuat Connomore64 sangat menarik bagi komunitas komputasi retro adalah kemampuannya untuk berinteraksi dengan perangkat keras C64 asli. Meskipun emulator berbasis PC seperti VICE menawarkan kualitas emulasi yang tinggi, mereka biasanya tidak memiliki pengaturan waktu real-time yang tepat yang diperlukan untuk bekerja dengan periferal fisik. Connomore64 mendukung userport C64, port IEC untuk floppy drive, port joystick, dan sedang mengembangkan kompatibilitas port ekspansi.

Saya suka ini! C64 memperkenalkan saya ke dunia komputer saat masih kecil. Saya masih memiliki mesin yang berusia hampir 40 tahun itu dalam koleksi saya, tapi saya khawatir akan rusak setiap kali menyalakannya. Ini agak lebih baik daripada MiSTer karena saya dapat menggunakan periferal fisik dengannya.

Kompatibilitas ini mencakup fastloader seperti JiffyDOS dan Transwarp, yang secara signifikan mempercepat pemuatan data dari floppy drive. Proyek ini telah diuji dengan berbagai periferal termasuk perangkat keras userport WiC64, menunjukkan aplikasi praktisnya di luar emulasi biasa.

Menyeimbangkan Akurasi dan Kinerja

Meskipun proyek ini bertujuan untuk emulasi siklus-eksak, beberapa anggota komunitas mencatat pilihan desain yang menarik terkait rendering grafis. Pengembang menulis ulang kode rendering grafis agar berjalan 5-10 kali lebih cepat dari implementasi sebelumnya, tetapi dengan mengorbankan beberapa kompatibilitas. Keputusan ini memicu diskusi tentang keseimbangan antara akurasi sempurna dan kinerja praktis, terutama mengingat daya pemrosesan terbatas dari mikrokontroler RP2040/RP2350.

Saat ini proyek hanya mengemulasikan setengah siklus CPU dari setiap siklus C64, yang membatasi potensi kompatibilitas dengan beberapa kartrid port ekspansi. Pengembang mencatat bahwa meskipun ada kode untuk siklus Phi rendah, mikrokontroler tidak cukup cepat untuk menanganinya, menyoroti tantangan teknis untuk mencapai emulasi sempurna pada perangkat keras yang relatif sederhana.

Keterbatasan Saat Ini

  • Hanya mengemulasi setengah siklus CPU dari C64
  • Rendering grafis mengorbankan beberapa kompatibilitas demi kecepatan
  • Dukungan port ekspansi masih dalam pengembangan
  • Belum siap untuk pengguna akhir (masih dalam tahap bukti konsep)

Di Luar Nostalgia: Sebuah Pencapaian Teknis

Diskusi komunitas mengungkapkan bahwa minat pada emulasi C64 melampaui sekadar nostalgia. Kombinasi unik antara keterbatasan dan kemungkinan dalam C64 asli terus menginspirasi programmer dan penggemar perangkat keras. Seperti yang dicatat oleh seorang komentator, CPU 8-bit dengan ruang alamat 16-bit, bahasa assembly sederhana, dan periferal yang dipetakan ke memori menciptakan lingkungan yang mendorong programmer untuk mengembangkan teknik inovatif yang menghasilkan hasil yang tampak mustahil di atas kertas.

Proyek Connomore64 juga berfungsi sebagai contoh menjalankan perangkat lunak yang membutuhkan komputasi intensif pada mikrokontroler yang murah, berdaya rendah, dan saling terhubung, yang berpotensi memberikan wawasan untuk aplikasi komputasi terdistribusi lainnya.

Status Saat Ini dan Potensi Masa Depan

Saat ini, Connomore64 menjalankan sebagian besar game tanpa masalah, termasuk klasik seperti Mayhem in Monsterland, R-Type, Bubble Bobble, dan Turrican. Ini juga menangani sebagian besar demo yang mendorong perangkat keras asli hingga batasnya. Meskipun proyek ini digambarkan sebagai bukti konsep dan belum siap untuk pengguna akhir, ini menunjukkan potensi yang signifikan.

Pengembang telah membuat PCB khusus yang cocok dengan casing C64 asli, menampilkan port C64 standar plus output HDMI dan audio modern. Kemungkinan di masa depan termasuk PCB khusus yang lebih kecil dan lebih hemat biaya yang berpotensi menurunkan total biaya di bawah 20 euro, menjadikannya pilihan yang terjangkau bagi penggemar C64 yang ingin melestarikan pengalaman komputasi retro mereka tanpa membahayakan perangkat keras asli mereka yang sudah tua.

Bagi mereka yang tertarik dengan detail teknis, proyek ini dibangun berdasarkan beberapa proyek open-source yang sudah ada, termasuk emulator rp2040js, pustaka emulasi chips, PicoDVI untuk output video, dan port dari firmware SIDKick pico untuk audio. Pendekatan kolaboratif ini menyoroti kekuatan komunitas open-source dalam melestarikan dan memperluas sejarah komputasi.

Referensi: Connomore64