Para preservar: ensamblador ZXAS para ZX81 versión Indescomp

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Para preservar: ensamblador ZXAS para ZX81 versión Indescomp

Mensajepor mcleod_ideafix » 12 May 2013, 07:11

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
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Namek
Atari 1040 STf
Atari 1040 STf
Mensajes: 838
Registrado: 11 Jul 2011, 13:13
Gracias dadas: 18 veces
Gracias recibidas: 63 veces

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

Mensajepor Namek » 12 May 2013, 08:29

OLE, OLE y OLEEEE!!! =D> Esto es PRESERVAR, si, en mayusculas... y todo lo demas son tonterias... :mrgreen:

jepalza

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

Mensajepor jepalza » 12 May 2013, 09:03

mcleod_ideafix escribió:... he tenido que escribir mi propio conversor de WAV a P...


jeje, Como en el chiste del "Iquea":
- Va un tio a una entrevista de trabajo de "Iquea", y le dice el entrevistador:
- Coja una silla, ármela y siéntese..

Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

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

Mensajepor jotego » 12 May 2013, 09:21

Como siempre, una entrada interesante y útil. ¡Gracias!

Avatar de Usuario
PabloMarmol
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 171
Registrado: 03 Sep 2012, 17:32
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Nintendo NES/Clónica
Ubicación: León, España
Gracias dadas: 16 veces
Gracias recibidas: 18 veces

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

Mensajepor PabloMarmol » 12 May 2013, 21:24

Interesante...

¿El .wav también lo vas a preservar? (curioso que es uno... :)

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

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

Mensajepor mcleod_ideafix » 12 May 2013, 21:34

¿Los WAVs? No, ¿para qué? Todo lo que había en el WAV está ahora en el fichero P (el nombre del fichero es el mismo con el que se grabó la cinta)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
PabloMarmol
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 171
Registrado: 03 Sep 2012, 17:32
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Nintendo NES/Clónica
Ubicación: León, España
Gracias dadas: 16 veces
Gracias recibidas: 18 veces

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

Mensajepor PabloMarmol » 13 May 2013, 03:02

mcleod_ideafix escribió:¿Los WAVs? No, ¿para qué? Todo lo que había en el WAV está ahora en el fichero P (el nombre del fichero es el mismo con el que se grabó la cinta)


Nada, solo curiosidad de saber como sonaba las grabaciones del zx81.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

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

Mensajepor mcleod_ideafix » 13 May 2013, 03:06

Lo vas a averiguar en breve, ya que el conversor también tiene ya la posibilidad de hacer la conversión a la inversa: de un .P a un .WAV :)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

jepalza

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

Mensajepor jepalza » 13 May 2013, 05:31

PabloMarmol escribió:Nada, solo curiosidad de saber como sonaba las grabaciones del zx81.

Igual que las de Spectrum, pero mas lentas, por que leía mas lento, con lo que los sonidos son como si fueran de un Spectrum, pero a mitad de velocidad.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

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

Mensajepor mcleod_ideafix » 13 May 2013, 06:15

En realidad el ruido del ZX81 tiene poco que ver con el del Spectrum. El Spectrum usa un ciclo de 1000Hz para representar un 1, y uno de 2000Hz para representar un 0. En el ZX81 se usan 4 ciclos de una señal de 3600Hz más un silencio de 1300us para representar un 0, y 9 ciclos de una señal de 3600Hz más un silencio de 1300us para representar un 1. Así, el ruido del Spectrum suena más a un modem muy antiguo, y el del ZX81.... no sé.... a un motor eléctrico chirriando... o algo así.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 21 invitados