domingo, 6 de septiembre de 2020

[Turorial] Construir una interfaz SIO2SD con Arduino para la Atari 600XL / 800XL

 Hola amigos, hoy os traigo un proyecto que he hecho para una Atari 600XL que tengo y que consiste en fabricar un emulador de disquetera usando una placa arduino, un display y un lector de tarjetas SD. Esto nos permitirá cargar juegos y programas desde este emulador con una tarjeta microsd. Este proyecto ha sido posible gracias a la información extraída de las siguientes paginas web:

http://www.retroparla.com/index.php/2018/03/25/sio2arduino-emulador-de-disquetera-para-nuestros-atari/

http://www.whizzosoftware.com/sio2arduino/index.html

La idea básica es emular que tenemos conectada mediante el puerto SIO de nuestra Atari una disquetera 1050 como la de foto:


que va conectada al puerto SIO situado en la parte trasera de nuestra Atari:


Para ello usaremos una placa Arduino Nano , un display LCD de 16x2 HD4478 compatible con Arduino y un lector de tarjetas microsd:






Esta es la lista completa de materiales que necesitamos:

  • Placa perforada para prototipos de electrónica de aproximadamente 9 x 11 cm. (yo he usado dos pequeñas al no disponer de uno grande)
  • Arduino Nano (ATmega 328 V3.0).
  • Display 16x2 azul o verde HD44780.
  • Lector de tarjetas microsd para arduino.
  • Tarjeta microsd de 8 o 16gb.
  • pulsador pequeño de boton para placa.
  • resistencia de 10k.
  • potenciometro pequeño de 10k (para ajustar el contraste del display).
  • cableado para soldar (yo he usado un viejo cable paralelo de una disquetera de ordenador o un cable IDE).
  • soldador y estaño.

El esquema de conexionado seria el siguiente:


aunque veáis que se usa un Arduino Uno, el esquema es el mismo para el Nano, solo tenéis que fijaros en la disposición de los pines en el nano puesto que difiere ligeramente respecto al uno. Si tenéis dudas sobre alguna de las conexiones podéis consultar los enlaces que puse al principio. 
Así que después de varias horas y mucha paciencia para no equivocaros (repasad dos veces el cableado) este es el resultado final:


Para conectar la placa al puerto SIO de nuestra Atari podemos aprovechar algun conector original de una disquetera o casetera que tengamos o bien usar pines hembra sueltos como he hecho yo y conectarlos directamente al puerto.
Este seria el pinout del SIO:


Para alimentar el arduino usaremos un cable USB y un alimentador de móvil.
Una vez que ya tengamos el hardware hecho pasaríamos a la parte de software, el programa que usaremos para el arduino se llama SIO2Arduino y también el IDE de Arduino para compilarlo y subirlo, os dejo los siguientes enlaces para que los descarguéis ya preparados:

Descomprimís los archivos en una carpeta y abrís el ide de arduino. Conectáis el arduino al pc con el cable usb y comprobáis que puerto com le ha asignado (en mi caso el com3). A continuación  configuráis el IDE:

  • Herramientas -> Placa -> Arduino nano
  • Herramientas -> Procesador -> ATmega 328
  • Herramientas -> Puerto -> com1 (o el que tengais asignado)
  • Herramientas -> Programador -> Arduino as ISP
Después abrís el proyecto SIO2Arduino.ino y le dais a verificar primero y luego a subir. Y si todo ha ido bien ya lo tendremos programado.
Ahora solo nos queda copiar nuestros juegos a la tarjeta microsd, para ello la formatearemos en FAT32 y copiamos los juegos en formato atr a la raiz de la microsd. En la Atari 600XL que tengo debido a la limitación de memoria (solo dispone de 16k) no es capaz de cargar juegos de mas de 8k, pero si teneis la 800Xl no hay este problema. A continuación os dejo un enlace con mas de 5000 juegos de Atari.


Conectamos la Arduino a la Atari, la alimentamos y nos aparece la pantalla de bienvenida:






Pulsando el botón del arduino lo que nos hará es cambiar de juego, y una vez seleccionado el que queramos encendemos la Atari y automáticamente lo cargará:






He comprobado que hay muchos juegos que no funcionan supongo que por alguna incompatibilidad pero otros muchos si funcionan, así  que es cuestión de ir probando.

Espero que os haya gustado este tutorial y a seguir disfrutando de nuestras viejas Atari!!!.
Hasta otra!






1 comentario:

  1. Muy buen trabajo. Modificaste el programa o lograste cargarlo a la primera?

    ResponderEliminar