Nudmehi Software's Boot Cassette Maker

  • Desarrollado por: Nudmehi Software
  • Publicado en: 1982
  • Distribuido por: Nudmehi Software
  • Medio: Diskette


1. INTRODUCCIÓN


Nudmehi Software fue una pequeña compañía de software ubicada en Pennsylvania que liberó al mercado al inicio de los años 80 algunos utilitarios orientados a los modelos 400 y 800 de computadores Atari. Uno de ellos fue el "Replica 1 + 1", un programa con utilitarios para la realización de respaldos, edición y diagnóstico de diskettes. Pero fue otro producto de Nudmehi el que hizo posible que muchos usuarios de computadores Atari, que sólo tenían una cassettera como medio de almacenamiento, tuvieran acceso a cientos de programas y juegos hasta el momento disponibles sólo en diskette. Y este artículo se trata precisamente sobre ese producto.


El BOOT CASSETTE MAKER fue un producto de Nudmehi Software publicitado en las revistas Compute! (N° 26, Julio 1982) y Antic (Vol 1, N°3, Agosto 1982) con el siguiente anuncio:


https://www.atariware.cl/archivos/nudmehi_bcm/AnticV1N3-01.jpg


El aviso especifica que este programa permite poner en un cassette cualquier programa en lenguaje de máquina que pueda ser cargado como archivo binario, es decir, cualquier ejecutable que se pueda cargar desde DOS. En pocas palabras, permite traspasar un programa (o juego) desde un diskette a un cassette.


¿Cómo se usa este programa? Acá te lo explicamos.

2. REQUISITOS


Lo primero que se debe tener en consideración es que el programa original sólo es compatible con los computadores Atari 400 y 800, es decir, requiere la versión del sistema operativo popularmente conocido como OS-B, por lo que no es compatible con la línea de computadores Atari XL/XE. Años después, este programa fue modificado para hacerlo compatible con la línea XL/XE, pero esta se trataría de una versión no oficial. Para poder realizar el traspaso, se requiere tanto de una diskettera como de una cassettera, ambas conectadas a un computador Atari.

3. RESTRICCIONES


Otro factor a tener en consideración es que, contrariamente a lo publicitado, no todos los programas en diskette son factibles de ser traspasados a cassette por medio del uso de este utilitario. Programas en diskette que están conformados por varios archivos (Como por ejemplo, el Strip Poker), o programas que tienen su propio DOS y cuyo directorio no puede ser obtenido por medio del Atari DOS, no podrán ser traspasados. Programas con una cantidad excesiva de sectores tampoco podrán ser traspasados. Cualquier archivo binario que no sea ejecutable (Es decir, que no pueda ser cargado usando la opción BINARY LOAD del Atari DOS) tampoco podrá ser traspasado. Programas que accedan a un diskette durante su ejecución podrán ser traspasados, pero fallarán al momento de ser ejecutados desde cassette.

4. USO DEL PROGRAMA


Cargue el programa BOOT CASSETTE MAKER desde el diskette. Al finalizar la carga, se le presentará la siguiente pantalla:



En "Enter Filename", se debe ingresar el nombre del programa que queremos traspasar a cassette, en formato NOMBRE.EXT. Acá no debe especificarse la unidad de disco (D1:, D2:, ...), este dato deberá ser ingresado a continuación. Si no sabemos el nombre del ejecutable a traspasar, podemos ingresar X (o cualquier letra), seguido del nùmero de unidad de disco, y el programa, al no encontrar el archivo X, listará el directorio del diskette al momento de ingresar el número de unidad de disco:



Una vez que tengamos claro el nombre del programa a traspasar, lo ingresamos en "Enter Filename", y en "Drive (1..4)" ingresamos el número de unidad de disco donde está almacenado dicho programa. Si todo va bien, es decir, el programa cumple con los requisitos para ser traspasado, este es leído completamente desde el disco y almacenado en la memoria RAM de nuestro computador Atari. Cuando este proceso termina, el mensaje "rewind cassette, depress PLAY and RECORD, and hit <RETURN>" aparece, indicándonos que debemos preparar nuestro cassette para ser grabado en la cassettera, rebobinándolo y presionando las teclas RECORD y PLAY. Cuando todo esté listo, debemos presionar la tecla RETURN para comenzar el proceso de traspaso a cassette del programa:



Cuando presionamos RETURN, aparece el mensaje "writing cassette boot tape …..", la cassettera se pone en marcha y comienza la secuencia de pitidos tradicionales. Cuando el proceso de traspaso a cassette termina, el motor de la cassettera se detiene y aparece los mensajes "Boot cassette completed" y "type <RETURN> to continue". Con esto finaliza el proceso de traspaso.



Como se indicó anteriormente, hay casos en que el traspaso no es posible. Por ejemplo, cuando el programa a traspasar tiene una cantidad excesiva de sectores. En este caso, al momento de almacenar el programa en memoria RAM, aparecerá el mensaje "INSUFFICIENT MEMORY FOR SORT":



Cuando se intenta traspasar un programa que no corresponde a un binario ejecutable, por ejemplo, una imagen de un oponente del diskette Strip Poker, se obtendrá el mensaje de error "SPECIFIED FILE IS NOT BINARY LOADABLE":



Ya tenemos nuestro programa traspasado. Para cargarlo desde el cassette, seguimos el procedimiento estándar: rebobinamos, apretamos la tecla PLAY en la cassettera, presionamos la tecla START y prendemos el computador Atari. Con esto se comienza la carga automática del juego:



El proceso de carga transcurre sin ninguna indicación de cuantos bloques faltan por cargar ni nada por el estilo. La pantalla se encuentra limpia con el cursor ubicado en la esquina superior izquierda de la pantalla (HOME). Cuando termina la carga desde cassette, el programa se ejecuta automáticamente:



Otra característica que poseen los programas traspasados a cassette por medio del uso de este utilitario, es que si detectan la presencia de algún cartucho (Por ejemplo, el de BASIC en el caso de los computadores 400/800), al momento de comenzar la carga aparece el mensaje "cartridge installed type <ESC> to continue boot":


5. EL MISTERIOSO SIGNO DE EXCLAMACIÓN


Un efecto no deseado que caracteriza a este utilitario es que si el programa traspasado es cargado en un computador Atari de la línea XL, unos 30 segundos luego de haber comenzado la carga desde cassette, se imprime un signo de exclamación (!) en la esquina inferior derecha:



Esta característica es recordada por cientos de usuarios de computadores Atari de la línea XL sin acceso a diskettera, quienes no tenían ninguna otra entretención más que mirar fijamente ese signo de exclamación durante todo el tiempo de carga, mientras rezaban para que la carga desde cassette no fallara. No hay indicador de bloques por cargar, o de tiempo restante de carga, ni la posibilidad de rebobinar un par de vueltas y presionar PLAY para reintentar la carga fallida de algún bloque. La razón de por qué se imprime este signo de exclamación durante la carga en computadores de la línea XL/XE fue un misterio por años, hasta que Franco Catrín lo investigó en profundidad. Su análisis se encuentra disponible en el siguiente link:


Cargador de signo de exclamación en Atari – Decodificado


En resumen, este signo de exclamación es desplegado en pantalla por la siguiente razón: El cargador de cassette ejecuta el siguiente código:

765 169 125     LDA #125   ; CLEAR SCREEN
767  32 164 246 JSR PRINT  ; $F6A4	

Sin embargo, la rutina de impresión localizada en $F6A4 es sólo válida para la línea de computadores 400/800. En los computadores de la línea XL/XE, dicha rutina se encuentra localizada en otro lugar.


Citando a Ian Chadwick, autor del libro Mapping the Atari, en la página 15 de la edición de enero de 1986 (Vol. 4, N° 9) de la revista Antic:


Muchos programas escritos para los computadores 400/800 hacían saltos directos a las rutinas de "put" y "get" del teclado, en lugar de hacerlo a través de los vectores adecuados, lo que los hace incompatibles con las máquinas XL / XE. Las rutinas de "get" en el XL / XE comienzan en la dirección 62026 ($F24A). Esta correspondía a la dirección 63038 ($F63E) en el Atari 800. Las rutinas de "put" comienzan en la dirección 62128 ($F2B0), o 63140 ($F6A4) en el Atari 800. Si tiene un programa que no funciona en su XL / XE, intente encontrar si usa estas ubicaciones y cámbielas.

Se puede confirmar esto al cambiar la dirección de la llamada, de $F6A4 a $F2B0. El resultado será que el cargador limpiará la pantalla, ubicando el cursor en la esquina superior izquierda, en lugar de imprimir el signo de exclamación en la esquina inferior derecha.

6. DESCARGAS


Puede descargar la versión original del BOOT CASSETTE MAKER haciendo click en el siguiente link:
Boot Cassette Maker v1.0 [Req OS B]


La versión hackeada del BOOT CASSETTE MAKER haciendo click en el siguiente link:
Boot Cassette Maker v1.0 (1982)(Nudmehi Software)(US)[Req OS B]


La versión corregida para ser usada en computadores XL/XE puede ser descargada desde este link:
Boot Cassette Maker v1.0 (1982)(Nudmehi Software)(US)[f XL OS patch Voy]


Los detalles de las correcciones realizadas los puede encontrar por acá.
Boot Cassette Maker v1.0 (1982)(Nudmehi Software)(US)[f XL OS patch Voy]

7. AGRADECIMIENTOS


A Nudmehi Software, por ofrecer este utilitario que les abrió las puertas a muchos usuarios encadenados a sus cassetteras y les permitió conocer títulos antes sólo disponibles exclusivamente en diskette.


A Franco Catrín, por darse la lata de descifrar cómo funciona la carga de cassette, y en particular por hincarle el diente al misterio detrás del signo de exclamación.


A Ian Chadwick, por haber escrito el Mapping The Atari.


A los amigos polacos de Atarionline.pl, quienes gentilmente "aportaron" con los ATR que se encuentran en la sección Descargas.


Y a Abel Carrasco, por mantener vivo el espíritu Atariware.

Comentarios