Emulador de unidad para Atari en Arduino

Saludos Comparto mi experiencia en la fabricación de un emulador de disco Atari basado en Arduino Nano. Bajo las instrucciones de montaje de kat, diagrama, firmware y una demostración de trabajo.




En nuestro museo (detalles en el perfil) hay varias computadoras Atari para las cuales quería hacer algo que le permita descargar programas rápidamente. Las grabadoras de cinta 410s originales no son muy adecuadas para esto, e incluso si tuviéramos una unidad original, esto también crearía dificultades. Atari usa su propia interfaz en serie, Atari SIO , desarrollada por Joe Decour en 1979 para cargar programas en la memoria. Sorprendentemente, Joe también participó en el desarrollo de estándares para comunicaciones por módem, USB y Bluetooth. Tanto la grabadora de cinta analógica como la unidad digital transfirieron datos a la computadora Atari en el mismo bus serie, cuyo rendimiento podría alcanzar los 120 kbps. Como el protocolo es serial, los datos se pueden descargar directamente desde una computadora a través de un adaptador USB-UART y AspeQt , que le permite emular los periféricos de Atari. Pero quería algo compacto y autónomo. No quería ordenar y soldar la placa para SIO2SD , un emulador con una tarjeta SD, pero en el proceso de búsqueda obtuve el proyecto SIO2Arduino , en base al cual ensamblé mi dispositivo.

El emulador se puede ensamblar en varias versiones, quería un dispositivo con una pantalla en la que pueda seleccionar la imagen del disquete deseado.

El primer prototipo se ensambló en un par de horas, el cable se retiró de la grabadora de cinta Atari XC12 que no funcionaba, si no fuera así, tendría que jugar con el conector.



El prototipo fue probado en el Atari 800XL , funcionó de inmediato, sin modificaciones ni configuraciones.



Fue posible pasar a la segunda fase: un dispositivo completo.
En lugar de un Arduino grande, UNO decidió construir todo basado en el Arduino Nano. Todo estaba montado en una placa de circuito y soldada por el viejo MGTF.

Vista desde el Arduino



Vista desde la pantalla



El estuche Kradex Z119 encaja bien en tamaño. Aparecí una pantalla en el panel frontal, un botón para cambiar las imágenes de disco y un LED que cuelga en la pata TX y muestra el proceso de arranque.

No había un diagrama esquemático en el sitio web del proyecto, lo dibujé yo mismo. Las resistencias que controlan el contraste de la pantalla se seleccionaron para la pantalla azul con letras blancas. Para otros colores pueden ser diferentes, es mejor preconfigurar una resistencia de sintonización. Si los valores de resistencia son incorrectos, los símbolos en la pantalla no son visibles, esto fue confuso la primera vez que se encendió el prototipo.



Al actualizar el dispositivo terminado, debe recordar cambiar la placa Arduino IDE de Uno a Nano, resulta que son ligeramente incompatibles y el IDE no vio a Nano hasta que cambió la configuración. Todo el proyecto para Arduino IDE con configuraciones para la pantalla y el botón está disponible en el enlace

En forma ensamblada, tenemos un dispositivo de este tipo:




Alimentada por un cable micro-usb, la tarjeta de memoria está formateada en FAT32, copió imágenes de disco ATR y XEX a la raíz, hay un gran archivo con imágenes en archive.org

Para Atari 800XL, el procedimiento es el siguiente:

  • Encienda SIO2Arduino
  • Use el botón para seleccionar la imagen de disco deseada
  • Enciende Atari

La descarga comienza automáticamente después de encender o reiniciar, como lo demuestra el parpadeo alegre del LED en la línea TX. El juego A-Zone , que dura 92 kB, tarda unos 30 segundos en cargarse. Las imágenes más grandes en el archivo ocupan 130 kB.

Resultado en la pantalla:



Gracias por su atencion

Source: https://habr.com/ru/post/es407479/


All Articles