En esta primera entrega de Chaos Manor Atari 8 bits analizamos el SDrive-MAX, un emulador de diskette y cassette basado en Arduino para toda la línea Atari 8 bits, damos un vistazo al uso del Atari DOS 2.5 con la diskettera Atari 1050, y los problemas que surgen al intentar copiar archivos .ATR a discos reales.
DOS 2.5 y Atari 1050 Disk Drive
Algo que puede resultar muy sencillo de hacer en algunas plataformas, puede resultar una pesadilla en otras. En Commodore, por ejemplo, es relativamente simple copiar imágenes de disco descargadas de Internet a discos reales, ya sea mediante un cable que conecta una diskettera 1541 a la PC a través del puerto paralelo, o bien con interfaces más modernas (como la XUM1541) que utilizan el puerto USB presente en todas las PC actuales (como ya vimos en el primer post dedicado a Commodore de Chaos Manor hace dos semanas atrás).
En MSX es todavía más fácil, ya que PC y MSX utilizan el mismo formato de grabación de datos, además de la compatibilidad existente entre MSX-DOS y MS-DOS, ambos creados por Microsoft. En este caso, solamente hace falta un software para extraer la imagen de disco y escribirla en un diskette de 3,5″ o 5,25″ que luego perfectamente podemos insertar y leer en la diskettera de una MSX real. También un ejemplo de ésto lo vimos el pasado domingo en nuestro primer post de Chaos Manor dedicado a MSX, en el que aprendimos a transferir archivos .DSK a discos reales utilizando Disk Manager.
Atari, como siempre, es un mundo aparte. El problema que se presenta aquí es que Atari utiliza un formato de grabación en disco que funciona sólo en las unidades de Atari, y graba en los formatos de densidad simple (90 Kb), densidad mejorada (130 Kb) o densidad doble (180 Kb). Esos archivos no funcionan en una diskettera de baja densidad de una PC, que tiene una capacidad de 360 Kb. Al no poder copiar los datos de forma directa, es necesario un dispositivo externo que emule una diskettera Atari o utilizar un cable SIO2PC, que en Argentina son realmente escasos.
Un problema adicional es el sistema operativo de disco. La gran ventaja de la Commodore 1541, por ejemplo, es que el DOS está incluido en la ROM de la diskettera, lo que hace sencillo su uso y encarece muchísimo el costo del equipo (en su momento una 1541 costaba más caro que una Commodore 64, es decir, la diskettera era más cara que la computadora). De todas formas, no deja de ser una ventaja. Atari (sí, en ésto también) es un mundo aparte: el sistema operativo se carga desde un diskette, por lo que una diskettera Atari sin el disco del sistema es prácticamente inútil.
En abril de 2019 se llevó a cabo la última reunión de Retrocomputación en Puerto Madryn. Allí fue posible generar un diskette con el Atari DOS 2.5 y así darle vida a mi Atari 1050 que tenía guardada desde hacía más de un año. Aunque la tarea en principio puede parecer sencilla, terminó siendo toda una proeza. Y eso gracias al cable SIO2PC creado por Pablo Roldán (the_woz) y la pericia técnica de Jorge Castillo (pastbytes).
El procedimiento fue el siguiente: 1°) descargar de Internet la imagen de disco .ATR con el Atari DOS 2.5; 2°) instalar en una notebook el APE (Atari Peripheral Emulator), un emulador de periféricos Atari que funciona en PC a través del puerto serie; 3°) conectar la PC y la Atari 1050 con el cable SIO2PC; y 4°) emular con APE una diskettera Atari y transferir mediante el cable SIO2PC la imagen de disco a la Atari 1050.
Para bootear el DOS 2.5 basta con insertar el diskette en el drive, encender la diskettera y luego la computadora. Si bien el DOS se carga en memoria desde el disco, para acceder al menú del sistema tenemos que tipear «DOS» y apretar la tecla RETURN. Pero, ¿qué podemos hacer con el sistema? El menú del DOS 2.5 tiene 16 opciones que repasaremos a continuación:
- DISK DIRECTORY: lista los archivos almacenados en el diskette, los sectores que ocupan y los sectores libres que quedan disponibles en el disco.
- RUN CARTRIDGE: sólo para usar con un cartucho insertado en la computadora o bien para ir al BASIC y poder, de estar forma, grabar nuestros programas.
- COPY FILE: para copiar archivos de una diskettera a otra, o para hacer una copia de un archivo en el mismo disco pero cambiando su nombre.
- DELETE FILE: simplemente para borrar archivos del diskette y crear espacio disponible.
- RENAME FILE: para cambiar el nombre a un archivo.
- LOCK FILE: interesante opción para evitar que un archivo pueda ser modificado, renombrado o incluso borrado. El archivo aparecerá en el directorio con un asterisco indicando que está protegido.
- UNLOCK FILE: quita la protección a un archivo para que pueda ser modificado, renombrado o eliminado.
- WRITE DOS FILES: esta opción se utiliza para agregar los archivos de sistema DOS.SYS y DUP.SYS desde el disco del sistema a otro diskette.
- FORMAT DISK: da formato a un diskette para poder ser utilizado o bien para borrar la información que contenga.
- DUPLICATE DISK: permite hacer una réplica exacta del disco en otro. El diskette de destino será formateado automáticamente.
- BINARY SAVE: graba el contenido de una locación específica de memoria en el diskette.
- BINARY LOAD: recupera un achivo objeto desde diskette. Es la función inversa de Binary Save.
- RUN AT ADDRESS: se utiliza para ingresar a la dirección hexadecimal de inicio de un programa objeto cargado en la memoria RAM con Binary Load.
- CREATE MEM.SAV: reserva espacio en el diskette para el programa alojado en la memoria RAM mientras el archivo DUP.SYS está en uso.
- DUPLICATE FILE: sirve para hacer una copia de un archivo de un disco a otro utilizando sólo una diskettera.
- FORMAT SINGLE: para formatear un diskette a densidad simple (90 Kb.) utiizando una diskettera Atari 1050.
Si tenemos una computadora Atari 130XE (de 128 Kb de memoria RAM) podemos utiizar los 64 Kb de memoria adicional como un RAM Disk o disco RAM. Para activar el RAM Disk basta con ejecutar el archivo RAMDISK.COM.
SDrive-MAX
El SDrive-MAX es un dispositivo emulador de diskette y cassette basado en Arduino para todo el rango de computadoras Atari de 8 bits. SDrive-MAX permite leer y escribir archivos .ATR y .CAS en hardware real como si fueran discos y cassettes reales. También puede cargar archivos ejecutables .XEX como si estuvieran en discos booteables de solo lectura. El software del SDrive-MAX está en constante desarrollo.
Todo comenzó en 2008 cuando Robert Petružela y Radek Štěrba crearon el SDrive original, que ganó el Abbuc Hardware Contest y eso permitió que los esquemas, el código fuente y el diseño obtuvieran bastante publicidad. Luego llegaron varias versiones mejoradas, como el SDrive-NUXX en 2009, el SDrive Micro en 2012, el SDrive-NG en 2014 y el SDrive2 en 2017. El SDrive-NG lideró el desarrollo del cual surgió el SDrive-MAX.
Al estar basado en Arduino, el SDrive-MAX es un dispositivo bastante sencillo de hacer. Requiere un poco de conocimientos en soldadura de circuitos electrónicos, pero nada fuera del alcance de un principiante. Lo bueno es que se conecta directamente al puerto SIO de la Atari, y no todos los dispositivos que se conectan al SIO funcionan correctamente. Posee una carcasa plástica realizada con una impresora 3D y una pantalla táctil de 2,8″, conector SIO, cable y utiliza una tarjeta microSD de 8GB formateada con FAT32.
El SDrive-MAX se controla desde la pantalla táctil. Se pueden cargar hasta un total de 4 diskettes (D1, D2, D3 y D4) y cuenta además con un slot para disco booteable (D0), que puede ser activado o no. En el siguiente gráfico explicativo (en inglés) se indica la utilidad de cada botón del SDrive-MAX:
También se puede operar el SDrive-MAX desde la Atari. De hecho una vez encendida la computadora con el SDrive-MAX conectado en el puerto SIO, el menú se carga automáticamente. Desde allí podremos navegar por las carpetas de la tarjeta microSD, seleccionar el o los discos a cargar, y agregarlos a los distintos slots. Luego deberemos presionar la tecla RESET de la Atari para que comience la carga del diskette en el slot D1. Para utilizar otro disco, será necesario apagar la computadora y volver a encender. Mucho software necesita que el BASIC esté deshabilitado para funcionar. Para hacer eso, una vez seleccionado el disco a cargar, presionar la tecla OPTION y sin soltarla presionar luego RESET.
Gracias al SDrive-MAX he podido sortear los problemas para generar discos con el DOS 2.5 en la Atari 1050, y sobre todo me ha permitido correr casi todo el software para Atari 8 bits que está disponible en Internet. A continuación les dejo el enlace hacia la página oficial del SDrive-MAX, donde está toda la información que comenté en los párrafos anteriores y también los esquemas para construirlo:
Enlace: The SDrive-MAX Proyect
Nota: el título de esta sección brinda homenaje a «Chaos Manor», la genial columna que durante años escribió Jerry Pournelle para la versión impresa de la revista Byte en la que describía sus experiencias (buenas y malas) con diversos productos informáticos de hardware y software. La foto que acompañaba su clásica columna mostraba a Jerry en medio de cajas y cajas de productos dispersos por toda la casa, convertida en una verdadera «Mansión del caos». Esa descripción tranquilamente puede aplicarse a mi habitación. 🙂
Leer más
Si te gustó este post, desde aquí puedes acceder a todos los artículos de Chaos Manor publicados hasta la fecha.
¡Excelente nota!
¿Cómo es la comunidad Atari en Argentina?, ¿hay muchos miembros?
No tengo equipos Atari 🙁
¡Me gustaría!
¡Hola German! ¡Muchas gracias por tus palabras! 🙂
La comunidad argentina de Atari no es muy grande, ya que no existe una gran base de usuarios como sí ocurre en otros países de latinoamérica. Como he mencionado en la nota, Atari es un mundo aparte en comparación con otras plataformas, pero bien vale la pena darle una oportunidad.
¡Abrazo!
¡Muy buen artículo! Solo una precisión: Atariteca se realiza en Perú, aunque la comunidad atariana más activa tiene base en Chile. ¡Saludos!
¡Hola! Una alegría tenerlos por acá. 🙂
¡Muchísimas gracias por la visita y por el comentario! Ya está hecha la corrección en el texto del artículo.
¡Saludos!
Yo soy de la comunidad Atari Argentina. Es muy chica a comparación de la de Spectrum o de C64. El Market Share era en los 80s C64 (40%), Spectrum (30%), MSX (15%) y Atari 800XL (10%), pero acá se hicieron los avances tecnológicos más importantes para Atari, como el sistema de Stack, carga acelerada, Turbo Loader (que en Chile se conoció como Turbo Software), la carga de juegos desde VHS (eran compilados de 200 juegos en 1 VHS, re bizarro), y software educativo que por el segundo canal de audio de la 800XL la máquina te iba hablando. Tuve un par de ellos, y todo ésto gracias a SKYDATA S.A. ¿Quienes eran? Eran 5 vagos que sabían que la máquina era la correcta pero el lugar era el incorrecto (Argentina). Terminaron migrando a Chile uno por uno, donde sí había mercado, y estableciendose directamente a vivir allí en Chile.
Recomiendo este documental:
https://www.youtube.com/watch?v=mD_z0eWzdeU
TURBO SOFT, parte de la historia, explica bastante bien cómo era. Ahora el SMAX lo tengo, lo usé al principio como el SIO2USB, luego tiré todo al tacho. ATARI MAX cartdridge CF- es lo mejor. Te permite correr juegos de 1MBIT (Atari Blast, Space Harrier) y la carga desde Compact Flash por el puerto de cartuchos que es 3 veces más rápido que el puerto SIO. Acá el cuello de botella está en el puerto SIO, y el precio es parejo: el ATARI MAX 100 USD y el SDMAX 140 USD.
¡Hola Mauro! Muchas gracias por el enlace al video con el documental de Turbo Soft, ¡muy bueno! Mucha historia que no conocía.
Hay países donde Atari tuvo un buen share del mercado, como Chile, Perú, México, Polonia, Ucrania, Rumania, Italia y Filipinas. Cada cual tenía su parte del mundo. ZX Spectrum tenía copada Europa y Rusia con clones rusos; MSX, Japón, y así.
En Colombia, Atari fue la principal computadora doméstica. Establecieron un modelo de negocios copiado del que tenía Coelsa en Chile. Aquí se llamó Infesa y promocionó ampliamente el uso de Atari en los hogares y los colegios.
De otra parte, ahora que conozco más de Commodore, debo decir que es mucho más sencillo cargar un programa o un juego desde una unidad de disco Atari, tan simple como encender el computador y la unidad de disco y listo, nada de escribir o seleccionar nada desde el BASIC y las funciones del sistema operativo a través de menús, mucho más fácil que los complejos comandos que hay que memorizar en Commodore.
Finalmente, crear discos reales de Atari desde un moderno PC es tan sencillo como conectar una unidad de disco Atari a un puerto USB con una interfase SIO2PC, de las muchas que hay. En mi caso, uso la de Atarimax.
¡Hola José! Atari es una plataforma muy interesante. La carga automática es una de las especialidades de estos equipos, dependiendo del tipo de programa que se quiera cargar. Eso le da una ventaja en relación a otras computadoras como Commodore, Spectrum o MSX.
Vale recordar que existen cuatro posibilidades, según el estado de las teclas OPTION y START. Encender la computadora manteniendo presionada la tecla OPTION iniciará automáticamente la carga desde diskette. Si la diskettera no responde, aparecerá el test de autodiagnóstico. En cambio, si encendemos la máquina manteniendo presionada la tecla START comenzará automáticamente la carga desde cassette, aunque el modo normal de cargar los programas comerciales en cassette es con la combinación de ambas teclas. Si no se presiona nada, se accede al intérprete BASIC.
Por último, el problema mayor aquí en Argentina es que las interfases SIO2PC son muy difíciles de conseguir.