El Commodore 64, un ícono indiscutible de la era dorada de la informática doméstica, sigue siendo objeto de admiración y estudio entre entusiastas, coleccionistas y desarrolladores. La fidelidad en la emulación de este clásico sistema no solo preserva su legado sino que abre puertas a nuevas formas de interacción y experimentación con tecnología retro. En ese contexto surge Connomore64, un proyecto revolucionario que busca lograr una emulación de ciclo exacto y en tiempo real del Commodore 64 mediante la utilización simultánea de múltiples microcontroladores RP2040 y RP2350 trabajando en paralelo. Esta aproximación no solo redefine los límites técnicos de la emulación en microcontroladores económicos sino que también promete compatibilidad con hardware original como unidades de disco y periféricos, algo muy difícil de encontrar en emuladores tradicionales. El nacimiento de Connomore64 se originó como un proyecto experimental durante unas vacaciones, con la idea inicial de simplemente portar un emulador existente de C64 a una plataforma ARM a 400 MHz.
Sin embargo, pronto quedó claro que la emulación precisa y con exactitud temporal del procesador MOS 6510 y otros chips clásicos no era sencilla de conseguir con una sola unidad de procesamiento. Mientras que los emuladores clásicos basados en PC, tales como VICE o BMC, ofrecen un alto nivel de emulación pero carecen de sincronía en tiempo real, y las soluciones basadas en FPGA que permiten máxima fidelidad resultan complejas, costosas y poco flexibles, Connomore64 apuesta por un camino intermedio: alcanzar un alto grado de exactitud y funcionalidad con dispositivos económicos, accesibles y abiertos. El concepto técnico central del proyecto radica en desglosar la emulación del C64 chip por chip y distribuir la carga de trabajo entre varios microcontroladores de bajo costo, en particular el RP2040 y su variante más potente RP2350. Cada microcontrolador asume tareas específicas, comunicándose a través de un bus multiplexado de 8 bits que opera efectivamente a velocidades cercanas a los 8 MHz. Este enfoque paralelo permite recrear con un nivel de detalle sin precedentes la temporización real del hardware original, incluyendo procesamiento de video, audio, lógica del CPU, y control de dispositivos externos.
Un elemento crucial que diferencia a Connomore64 de emuladores simplificados es la emulación ciclo exacta del procesador MOS 6510, el corazón del Commodore 64. Se ha avanzado mucho en corregir las imperfecciones de emulación previas, por ejemplo, se ha mejorado el motor gráfico VIC-II para que maneje sprites, modos de vídeo bitmap y texto con gran rapidez y mayor precisión. La sincronización microsegundo a microsegundo es clave para que juegos, demos y software original funcionen sin problemas ni artefactos causados por retrasos o simplificaciones en la emulación. En cuanto a salida audiovisual, Connomore64 utiliza tecnologías modernas como HDMI o DVI para ofrecer video y audio de alta calidad, integrando la librería PicoDVI para el manejo de señal de vídeo y adaptaciones del firmware SIDKick para emular el característico sonido del chip SID con gran detalle. Este nivel de integración permite que la experiencia visual y sonora se acerque mucho a lo que se experimentaba con el hardware original, pero con la comodidad de un sistema basado en microcontroladores asequibles.
Otra ventaja importante es la capacidad de interacción con componentes físicos originales del Commodore 64. Por ejemplo, Connomore64 puede conectar y trabajar con unidades de disco C1541, soportando además populares aceleradores y fastloaders como JiffyDOS y Transwarp. También se ha probado la compatibilidad con hardware conectado mediante el puerto de usuario, incluyendo dispositivos externos WiC64, lo que abre un abanico interesante para usuarios que desean utilizar periféricos originales con un sistema emulado. El diseño de hardware actual se materializa en un prototipo llamado Breadbox v0, que encaja dentro de la carcasa clásica del C64 y mantiene los puertos originales como IEC, usuario, joystick y expansión. La modularidad del diseño permite innovar con actualizaciones o mejoras futuras, como el soporte completo para cartuchos de expansión, un aspecto todavía en desarrollo.
La robustez del prototipo y su enfoque en mantener funcionalidades genuinas demuestran el compromiso con la autenticidad y utilidad real. Desde una perspectiva de costos, este proyecto es especialmente destacable, porque los microcontroladores usados tienen un precio menor a 1 euro por unidad y la disposición del sistema podría mantenerse por debajo de los 20 euros en material. Esta economía permite que personas y comunidades interesadas exploren la arquitectura del C64 de manera educativa, hacker y práctica, sin incurrir en grandes inversiones o depender de equipos costosos. La base del código se soporta en la biblioteca “chips” desarrollada por Andre Weissflog, con significativas optimizaciones para acelerar la emulación del VIC-II y la CIA, pero siempre preservando la fidelidad en el procesamiento de eventos a nivel de hardware. El proyecto también ha ampliado el uso del emulador rp2040js desarrollado por Uri Shaked para simular microcontroladores RP2040/RP2350 con soporte para ciclos exactos y generación de trazas VCD para analizar señales GPIO y los tiempos de operación internos.
Sin embargo, hay retos y limitaciones pendientes. Actualmente, solo la mitad del ciclo del C64 es emulada, lo que provoca ciertas incompatibilidades en la detección y uso de cartuchos de expansión; además, la velocidad de los microcontroladores, aunque adecuada para muchas funciones, sigue siendo un cuello de botella para alcanzar la emulación total del circuito Phi low y algunos aspectos complejos de la arquitectura interna. El desarrollo del firmware para la expansión y soporte integral de puertos aún requiere investigaciones adicionales y refinamientos. Connomore64 no es un producto comercial listo para usuarios finales, sino que se presenta como un proyecto de código abierto con énfasis en compartir avances, abrir puertas al desarrollo colaborativo y fomentar la exploración técnica en el ámbito de la emulación retro. El autor está abierto a recibir contribuciones y discutir formas de llevar adelante la iniciativa desde perspectivas técnicas, creativas o didácticas.
En términos de compatibilidad, los tests realizados hasta ahora indican que la mayoría de los juegos clásicos del C64 corren perfectamente en la plataforma, incluyendo títulos emblemáticos como Mayhem in Monsterland, Hawkeye, Armalyte, Katakis, R-Type, Bubble Bobble y Turrican, entre otros. Incluso demos que dependen de sincronización fina y efectos especiales también pueden ejecutarse con buena calidad. La integración con fastloaders facilita la carga rápida de software, crucial para la experiencia de uso. En definitiva, Connomore64 representa un paso fascinante en el mundo de la emulación al combinar accesibilidad económica, precisión técnica y capacidad de expandirse hacia la interacción con hardware real. La idea de construir un sistema ciclo exacto basado en microcontroladores baratos y pequeños demuestra que la emulación de sistemas tan complejos como el Commodore 64 no requiere necesariamente plataformas costosas o especializadas.
Por el contrario, el futuro de la emulación puede ser más abierto, colaborativo y adaptable gracias a proyectos como este. Para quienes estén interesados en el retrocomputing, la ingeniería de microcontroladores o la preservación de tecnología clásica, Connomore64 es una fuente invaluable de conocimiento. No solo se pone a prueba cuánto pueden hacer dispositivos modestos, sino que además aborda la emulación con un nivel de detalle y autenticidad sin sacrificar el espíritu hacker y de aprendizaje que caracteriza al mundo del Commodore 64. Connomore64 apunta a ser más que un simple emulador; es una plataforma para redescubrir, entender y reinventar una pieza clave en la historia de la informática personal.