Interfaz SDISK2 para Apple II/IIe

Existen diversas soluciones de almacenamiento para el Apple II y sus derivados, pero como es costumbre en esta asociación vamos a tratar uno de ellos que podemos construir en una tarde con componentes muy fáciles de encontrar: el interfaz SDISK II.

La idea original proviene de Koichi Nishida, un entusiasta del Apple II que creó un emulador de disquetera basado en el ATMega328p, el microcontrolador de las placas Arduino, que permitía acceder a imágenes de disquete almacenadas en una tarjeta SD. Sin embargo el diseño original no permitía elegir la imagen a cargar, por lo que solo podíamos tener una única imagen en la tarjeta.

Tanto el esquema como el firmware del microcontrolador fueron ampliados por otros tres aficionados (Victor Trucco, Fabio Benaveluto y Alexandre Suaide) que no solo consiguieron seleccionar la imagen a cargar, sino que le añadieron un display LCD para hacer más sencilla esta selección. Toda la información está disponible en su repositorio.

Partimos de este circuito, aunque nuestro montaje presenta ligeros cambios:

  • ATMega 328p
  • 72HC125
  • LCD 16×2
  • Lector de tarjetas SD
  • Oscilador de cuarzo de 27MHz
  • 2x Condensadores para el oscilador (10 a 33pF aprox).
  • 2x Condensadores de desacoplo para los integrados (1nF)
  • 4x Interruptores momentáneos
  • Resistencias (100K, 10K, 330…)
  • 1x Led

El principal cambio en nuestro montaje es que hemos utilizado un slot SD que ya está preparado para aceptar alimentación de 5V, con lo que no necesitamos el regulador LM317 que aparece en el circuito original y podemos conectar este slot a la alimentación general de la placa.

Además hemos añadido un botón para resetear el microcontrolador, que nunca está de más. Para conectarlo al Apple II usaremos dos filas de 10 pines, en las que pincharemos el cable plano que va a la tarjeta controladora del ordenador. De ahí sacamos la alimentación de la placa, por lo que no es necesario ningún conector USB o jack de alimentación externa.

Como siempre, mirar y remirar varias veces el pineado y la conexión entre ambas tarjetas antes de encender el ordenador.

El firmware está disponible en formato HEX, y para cargarlo en el microcontrolador podemos usar un programador dedicado o una placa Arduino que tengamos a mano, conectándola como ISP. En este útimo caso usaríamos avrdude para volcar el firmware en el micro con una sentencia parecida a esta:

avrdude /ruta-instalacion-arduino/avrdude.conf -v -patmega328p -c stk500v1 -P /dev/ttyACM0 -b 19200 -U lfuse:w:0xDE:m -U hfuse:w:0xD9:m -U efuse:w:0x07:m -Uflash:w:/ruta/firmware.hex:i

Una vez montada la placa y cargado el firmware, el siguiente paso sería preparar una tarjeta SD para almacenar en ella las distintas imágenes. Se recomienda usar tarjetas de poca capacidad, hasta 2 o 4Gb. En nuestras pruebas, la placa ha funcionado perfectamente con una micro SD de 4Gb, pero sin embargo con una de 32Gb la mayoría de imágenes no cargaban correctamente.

Las imágenes en formato DSK deben ser convertidas antes a formato NIC usando la herramienta desarrollado por el propio Nishida y disponible en su página web. Una simple aplicación DSK2NIC sobre la que arrastramos un archivo DSK y nos crea el NIC correspondiente.

Llegados hasta aquí llenamos la tarjeta de juegos y aplicaciones, cruzamos los dedos y encendemos todo. Si no hay ningún fallo, utilizando los tres botones podemos movernos por los directorios de la tarjeta y seleccionar la imagen deseada en el LCD.

Y tras unos segundos…

Puede que también te guste...

6 respuestas

  1. Ben dice:

    Fantastico ! Esto es algo que hay ique ver en directo

  2. Rafael dice:

    Hola, estoy interesado en montar este emulador de disco para el apple ][, según vuestras indicaciones, no se necesita el regulador de 3,3V, si se pone un lector de SD como el que se indica. Me surgen dudas porque el numero de pines y nombre no coinciden, tampoco vienen en el esquema los condensadores de desacoplo, ni la conexión de los pines de Vcc y GND de los C. Integrados aunque sea obvio donde se conectan. ¿como podría conseguir el esquema electrónico con el que habéis trabajado?

  3. admin dice:

    ¡Hola! Efectivamente el montaje final difiere del original, especialmente en la parte del lector de tarjetas. Ese pequeño módulo ya trae integrado un regulador de tensión, con lo que podemos pincharlo directamente a los 5V de la placa. En cuanto a los pines, solo traen seis y la correspondencia entre los nombres del esquema y los que vienen serigrafiados en la plaquita SD serían estos (además de VCC y GND):

    SD_CS -> CS
    SD_CLK -> SCK
    SD_DI -> MOSI
    SD_DO -> MISO

    En esta plaquita no existen los pines SW_A y SW_B que vienen en el esquema y que sirven para indicar cuando se introduce una tarjeta, así que lo que hacemos es conectar SD_SW a tierra para que siempre piense que hay una tarjeta en el slot.

    Aparte de esto se ha seguido el esquema tal cual, con los condensadores de desacoplo lo mas cerca posible del pin de alimentación de los integrados.

  4. Rafael dice:

    Muchas gracias por la ayuda, si me vuelvo a quedar atrancado os consulto.

  5. Juan Rodrigo dice:

    ¿se podría adaptar al apple IIc? Gracias.

  6. E Nilson dice:

    Hello, please excuse my use of English!!

    I’ve been working with several Disk II emulator designs.

    First I built up the Nishida Radio design, using PCBs made from the original Gerbers. These worked just great, booting, reading/writing files to the disk image.

    I then did a breadboard build-up of the modified LCD readout design from the Github-Suaide site. This would boot images and read files just fine. The LCD and three push buttons worked as described.

    However, it would not do any write operations to the disk image (including: Save, Lock, Unlock, etc.). In fact, write attempts would frequently trash the disk image on the SD card, to the point that the image would not load on the Applewin emulator too.

    I know that writing to the SD card works because it seems to update the SDISK II.CFG file on use. The .hex file from Github was used for the firmware burn (didn’t attempt to recompile the C source).

    Disk II writing seems simple enough with only two logic lines (Write- pin 18 and Write_Request- pin 10) involved.

    I would appreciate any feedback from anyone working with these. Has anyone had any problems writing images with the Suaide-LCD design?

    Thank you for any input you can provide.

Responder a Ben Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Descubre más desde Retro Parla

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo