Página 1 de 1

Para preservar: ensamblador ZXAS para ZX81 versión Indescomp

NotaPublicado: Dom May 12, 2013 7:09 am
por mcleod_ideafix
Resulta que un compañero de trabajo me comentó que él comenzó sus bicheos de informática con un ZX81, y su correspondiente expansión de 16K. Al poco compró un ensamblador, e hizo algunas cosas con él. Le pregunté si podía prestármelo a ver qué pinta tenía, y he podido comprobar que, hasta donde he consultado, esta versión en concreto parece no estar preservada.

Así que he fotografiado, escaneado, y grabado todo lo que he podido del material que me ha prestado, que es esto:

Imagen

El cassette contiene dos programas: un ensamblador y un desensamblador. El ensamblador es una versión del ZXAS originalmente de Bug-Byte, salvo que esta versión está distribuida por Indescomp (y no aparece por ningún sitio el nombre de Bug-Byte). El desensamblador es una versión del ZXDB, también originalmente de Bug-Byte.

Imagen

El librito de instrucciones está en español, y leyendo algunos párrafos se nota que es una traducción del inglés, hecho con más pena que gloria (excepto la primera página, que son las instrucciones generales de carga :D ) pero se entiende. Lo he escaneado y convertido a PDF (no es OCR):

http://www.zxprojects.com/images/stories/zxas/instrucciones_zxas_zxdb_indescomp_spanish.pdf

Las versiones de Bug-Byte (sacó varias por lo que he podido ver) ya están preservadas y no se ha prohibido su difusión, así que no creo que pase lo mismo con esta versión que dejo a vuestra disposición aquí.

En su momento, este software se vendió en el Corte Inglés (lo deduzco de la pegatina del precio, que tiene la pinta de las que usaba el Corte Inglés en esos tiempos), y costó 2600 pesetas

Imagen

Para sacar los archivos .P de la grabación en cinta (que hice un poco aprisa usando el lector de cassette de un +2A que tenía en mi despacho, conectando la salida de audio a la entrada de línea de un PC) he tenido que escribir mi propio conversor de WAV a P, ya que los dos programas que encontré para hacer esto no me sirvieron:

- Uno de ellos es el JAVA ZX81 Tape Converter. Última actualización en el año 2007. Ni siquiera es capaz de cargar los WAV's que genero. Da una I/O exception de no sé qué mark/space. He probado con WAV y AIFF, que se supone que soporta este conversor, pero ni flores. Ni que decir tiene que los WAV's son PCM, sin cosas raras. Dice que necesita JRE 1.4 o superior. En mi Windows 7 lo que hay es JRE 1.7 de Oracle, así que se supone que debería funcionar.

- El otro es de Steven McDonald, y pertenece a un conjunto de dos programitas para MS-DOS, denominados Steven McDonald's ZX81<=>PC Converters [Version 3.0], cuya última actualización es del año 1999. Consigue leer el audio (tiene que estar a 22050Hz, 8 bits, mono), pero hace muuuuuy lentamente (un minuto o más para leer un archivo de unos 20MB) y el fichero .P resultante tiene errores por todas partes.

- Aparte, intenté cargar el WAV con la opción de Wave Loader del EightyOne. Resultado: al terminar la cinta, el emulador se queda completamente colgado.

Así que en vista de que ninguno de estos programas me ha funcionado, que ninguno de los dos dispone de código fuente que se pueda arreglar, y que de hecho, ambos programas aparecen más que abandonados, decidí que si quería preservar esta cinta, tenía que leerla por mis propios medios. Encontré un archivo de texto ASCII llano con información muy suculenta, de Martin Korth (No$Cash) que me ha venido muy bien a la hora de interpretar lo que está grabado en cinta, y más tarde interpretar el archivo .P generado, para poder sacar, por ejemplo, un volcado del contenido actual de la pantalla del ZX81 cuando se grabó el fichero, o poder listar el BASIC de dicho programa. Ambas características han sido añadidas a mi conversor WAV -> P

Los ficheros P de los programas son estos dos: ZXAS y ZXDB

Y para los que quieran todo el material que he podido preservar (fotografías del estuche, documentación, escaneado de la carátula de la cinta, ficheros P) lo he puesto todo en un único fichero:
http://www.zxprojects.com/images/storie ... escomp.zip

El dueño de esta cinta ya desde COU hacía cosillas con el Spectrum recién lanzado éste. Por aquellos tiempos se creó una revista de Matemáticas fundada por la Sociedad Andaluza de Profesores de Matemáticas. Era la revista Thales. En el primer número, el número 0, se publicó un artículo/programa para ZX Spectrum de este muchacho: una mejora de un programa que había hecho su profesor de matemáticas. El programa original hacía gráficas de funciones en pantalla. La mejora consistió en darle la opción de zoom a una parte de la gráfica, con el fin de poder encontrar los "ceros" de la función (los puntos de corte con el eje de abcisas) más fácilmente.

http://www.zxprojects.com/images/stories/zxas/articulos_jesus_en_thales.pdf

A modo de curiosidad, he incluido en el escaneo de la revista Thales, las páginas de publicidad, que ofertaban ordenadores último modelo de la época... ;)

PD: el programa que he escrito para convertir de WAV a P lo liberaré en cuanto termine la parte que lista el BASIC contenido en el fichero, y lo autodocumente un poquito. Es endian-aware, y 100% C estándar, así que podrá ser compilado en cualquier sistema que tenga un compilador de C decente. Como es mi costumbre, el programa es de línea de comandos :P

Re: Para preservar: ensamblador ZXAS para ZX81 versión Indes

NotaPublicado: Dom May 12, 2013 11:13 am
por wilco2009
Tiene muy buena pinta mcleod.

Por cierto, suena muy interesante el programa de conversión que has hecho. A mi me pasa exactamente lo mismo con el Tape Converter.
Estará genial cuando liberes el programa.

Re: Para preservar: ensamblador ZXAS para ZX81 versión Indes

NotaPublicado: Dom May 12, 2013 11:03 pm
por zx81
Interesantísima preservación. Lo que hubiera dado yo por tener esas herramientas cuando estaba aprendiendo CM con mi ZX-81 y me veía obligado a escribir los programillas en papel, convertirlos a decimal a mano y teclearlos en el ZX-81.....

A ver si tengo un rato y pruebo esos .P en el emulador sz81....