ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

El lugar para hablar de los emuladores. || Post here if you have any question about the emulators.

Moderadores: Neville, CEZ

Responder
Avatar de Usuario
NeilParsons
128 bits
128 bits
Mensajes: 1719
Registrado: 23 Oct 2006 13:21
Ubicación: Al borde del estrecho y a un paso de Gibraltar
Contactar:

ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por NeilParsons »

Buenas a todos. Llevo siglos sin escribir en este foro... :oops:

Estoy tratando de pasar todos los listados de ZX81 que aparecieron en la revista "ZX" del nº 1 al 19 y tenerlos preservados en mi blog Proyecto BASIC ZX. Para ello, los estoy copiando pacientemente con el bloc de notas del s.o. Windows y tenerlos en modo texto (TXT) para después convertirlos a .P con la utilidad ZX Text2P que encontré de entre todas estas aplicaciones.

Resulta que me he encontrado con un caso en que, pese a haberlo convertido con éxito, he tenido que corregir uno de estos listados con el EightyOne tras encontrar varios errores, debido a que el doble asterisco (SHIFT + H en el ZX81) es interpretado como dos signos de multiplicación juntos.

En la página web de esta utilidad o en el documento de ayuda contenido en la carpeta "doc", no se dice nada de cómo hay que identificar esta función (** = elevación de un número a tal cantidad. P. ej: LET X=A**B) en un listado contenido en el archivo .TXT para que, una vez convertido a .P, el BASIC del ZX81 lo interprete como lo que es y no me dé el error C, según el manual del ZX81.

Lo mismo para el caso de introducir un texto con comillas dentro de un comando PRINT. Por ejemplo: PRINT "PULSA ""STOP"" PARA TERMINAR EL PROGRAMA". En el ZX81 no es como en el Spectrum que con repetir dos veces SHIFT y P antes y después de la palabra STOP es lo correcto. Ya me he dado cuenta que se tiene que introducir estas dobles comillas con SHIFT y Q a la vez.

¿Alguien que haya tenido ocasión de usar ZX Text2P sabría cómo hacerlo, o no tendría más remedio que modificar el programa y corregir estos datos después con el emulador EightyOne, allí en las líneas donde esta función se aplique?

Y otra cuestión, otra utilidad llamada ZMakeBas de la que me han hablado recientemente ¿no convierte de texto a .TAP o .P (ZX Spectrum / ZX81) o cómo es eso?

Gracias de antemano, pues en materia del ZX81 apenas tengo conocimiento.
Última edición por NeilParsons el 29 Sep 2020 19:54, editado 1 vez en total.
They tried to make me go to rehab
but I said, no no no.
Avatar de Usuario
NeilParsons
128 bits
128 bits
Mensajes: 1719
Registrado: 23 Oct 2006 13:21
Ubicación: Al borde del estrecho y a un paso de Gibraltar
Contactar:

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por NeilParsons »

¿El autor o autores del ZXText2P (me equivoqué antes al escribir el nombre del programa) no podrían actualizar esta herramienta para que también puedan identificar estos símbolos (**) y ("") con algún código de caracteres ASCII, como cuando se tienen que añadir bloques gráficos en un programa BASIC o texto en modo inverso? :-k
They tried to make me go to rehab
but I said, no no no.
ZX81xaa
8 bits
8 bits
Mensajes: 4
Registrado: 30 Sep 2020 22:42

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por ZX81xaa »

Hola, soy Xavier, hace unos días que me presente en este foro, pues después de muchos años he remodelado mi sitio web https://zx81.webnode.es/, dedicado en su totalidad al ZX81.
En el 2005, mi antigua web estaba alojada en el servidor de Microhobby y formaba parte junto a otras, era como una comunidad retroinformática. En 2014 migre a la actual plataforma, pero casi no actualizaba nada por falta de tiempo, hasta ahora que he vuelto con ganas de más actualizaciones y novedades más actuales que no del pasado.
Dicho esto y leyendo tu mensaje en este foro sobre el tema ZX Text2P, comentarte que para mí, uno de los cerebros más importantes sobre estas materias es el creador de las herramientas denominadas ZX BASIC del sitio http://dskcenter.free.fr/zxtools.html, donde el autor creo un paquete de utilidades independientes, con la intención precisamente de escribir los programas en texto para luego convertirlos en file p para cualquier emulador. Yo contacte con el autor, y continuamente él me enviaba versiones depuradas, pero claro estoy hablando de la época de los Windows 98 / XP, pero en la actualidad a pesar de que ha intentado actualizar las DLL para que funcione, el editor ZX BASIC ya no funciona, ni siquiera con una máquina virtual. El autor, qué a día de hoy continua con numerosos proyectos tanto de software como de hardware, (yo no se de donde saca tanto tiempo), si que ha continuado perfeccionando su emulador VB81_XuR, del que yo fui uno de los primeros, por no decir el primero, en testearlo, ya que él me envió numerosas versiones adaptadas a temas que yo le sugería. Y es en este emulador donde actúa la magia del ZX Text2P.
Hace poco le pregunte si era posible una nueva versión del editor ZX BASIC en su versión 1.4, y me comento que no era posible, se tendrá que crear de nuevo. Entonces me puse a investigar para encontrar alguna alternativa, me he dado cuenta de que la mayor parte esta orientada al ZX Spectrum. Hay una opción como la utilidad BASin (que pena que no la hayan adaptado para el ZX81), pero no pase por alto otra opción en la cual estoy en fase de pruebas y de momento me esta dando resultado, se trata del ZX-Editor en el site:
http://zx-modules.de/ ,
http://zx-modules.de/?page_id=46
Este editor esta orientado al ZX Spectrum, pero no quiere decir que no se puedan teclear programas para el ZX81. Para ello hay que hacer un par de retoques muy fáciles, uno de ellos el más importante es que hay que instalar las fuentes del ZX81, y luego cuando lo guardas en texto, es cuando mediante el emulador VB81_XuR, hay que hacer un pequeño paso para convertir en file P. Yo ya he hecho alguna prueba y para poner un carácter grafico no tengo que poner ningún símbolo equivalente del ZX Text2P, el emulador me lo interpreta. Una vez tengo el file P lo ejecuto con el otro emulador con el que también trabajo, EightyOne V1.18 y me funciona.
Como es un poco largo de explicar, casi prefiero hacer un pequeño manual de como lo hago todo.
He visto tu PROYECTO BASIC ZX, y la verdad es que es estupendo. Si lo ves bien me gustaría poner un link en mi web como página amiga, también yo tengo mucho material, libros etc, y proyectos en mente, si el tiempo me lo permite. En el caso de poder mandarte algún programa, casi mejor por e-mail, ya me dirás.
Mucha salud
Avatar de Usuario
NeilParsons
128 bits
128 bits
Mensajes: 1719
Registrado: 23 Oct 2006 13:21
Ubicación: Al borde del estrecho y a un paso de Gibraltar
Contactar:

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por NeilParsons »

Gracias. En cuanto tenga ocasión lo pruebo.
They tried to make me go to rehab
but I said, no no no.
ZX81xaa
8 bits
8 bits
Mensajes: 4
Registrado: 30 Sep 2020 22:42

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por ZX81xaa »

Pronto publicare en mi site, juegos en color, estoy dando color a los programas del ZX81, que se podrán ejecutar mediante el emulador EightyOne V1.18, utilizando su interfaz Chroma. Tengo ya algunos funcionando.
Avatar de Usuario
salvacam
8 bits
8 bits
Mensajes: 37
Registrado: 16 May 2011 12:43

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por salvacam »

NeilParsons escribió: 16 Sep 2020 22:27 Buenas a todos. Llevo siglos sin escribir en este foro... :oops:

Estoy tratando de pasar todos los listados de ZX81 que aparecieron en la revista "ZX" del nº 1 al 19 y tenerlos preservados en mi blog Proyecto BASIC ZX. Para ello, los estoy copiando pacientemente con el bloc de notas del s.o. Windows y tenerlos en modo texto (TXT) para después convertirlos a .P con la utilidad ZX Text2P que encontré de entre todas estas aplicaciones.

Resulta que me he encontrado con un caso en que, pese a haberlo convertido con éxito, he tenido que corregir uno de estos listados con el EightyOne tras encontrar varios errores, debido a que el doble asterisco (SHIFT + H en el ZX81) es interpretado como dos signos de multiplicación juntos.

En la página web de esta utilidad o en el documento de ayuda contenido en la carpeta "doc", no se dice nada de cómo hay que identificar esta función (** = elevación de un número a tal cantidad. P. ej: LET X=A**B) en un listado contenido en el archivo .TXT para que, una vez convertido a .P, el BASIC del ZX81 lo interprete como lo que es y no me dé el error C, según el manual del ZX81.

Lo mismo para el caso de introducir un texto con comillas dentro de un comando PRINT. Por ejemplo: PRINT "PULSA ""STOP"" PARA TERMINAR EL PROGRAMA". En el ZX81 no es como en el Spectrum que con repetir dos veces SHIFT y P antes y después de la palabra STOP es lo correcto. Ya me he dado cuenta que se tiene que introducir estas dobles comillas con SHIFT y Q a la vez.

¿Alguien que haya tenido ocasión de usar ZX Text2P sabría cómo hacerlo, o no tendría más remedio que modificar el programa y corregir estos datos después con el emulador EightyOne, allí en las líneas donde esta función se aplique?

Y otra cuestión, otra utilidad llamada ZMakeBas de la que me han hablado recientemente ¿no convierte de texto a .TAP o .P (ZX Spectrum / ZX81) o cómo es eso?

Gracias de antemano, pues en materia del ZX81 apenas tengo conocimiento.
Buenas Neil, no se si lo habrás solucionado.
Hace poco he empezado a usar ZXText2P.
Para las comillas dentro de un texto, se usa la barra invertida, según la documentación

Código: Seleccionar todo

Escape Codes and Block Graphics
In BASIC, the quote symbol (") is used to delimit strings of text. If you want a quote symbol to appear in the middle of a string, you must therefore prefix it with a backslash ("\") escape character. For example:-

   10 PRINT "He said, \"Hello.\""
Para elevación no lo he usado aún, lo intentare probar.

Edito:
Para la elevación se usan dos asteriscos y hay que dejar espacio delante y detrás, tal que así

Código: Seleccionar todo

let prueba = 2
print at 0,1; prueba
let prueba1 = prueba ** 2
print at 0,5; prueba1
print at 0,10; prueba ** 3
Avatar de Usuario
NeilParsons
128 bits
128 bits
Mensajes: 1719
Registrado: 23 Oct 2006 13:21
Ubicación: Al borde del estrecho y a un paso de Gibraltar
Contactar:

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por NeilParsons »

Gracias enormes. Lo aplicaré en próximos programas de ZX81.
They tried to make me go to rehab
but I said, no no no.
Avatar de Usuario
salvacam
8 bits
8 bits
Mensajes: 37
Registrado: 16 May 2011 12:43

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por salvacam »

Me he dado cuenta que si usa el valor 8 en un at de un print , tanto en la línea como en la columna, aunque en el listado en el emulador sale 8, me lo pone en la línea (o columna) 4.
Estoy usando linux con el emulador SZ81 y el Eighty One, con wine.
Por ahora lo estoy solucionando poniendo en vez de 8, 7+1
:-k
Avatar de Usuario
salvacam
8 bits
8 bits
Mensajes: 37
Registrado: 16 May 2011 12:43

Re: ZX81: Convertir listados de BASIC en modo texto (TXT) a .P con ZX Text2P

Mensaje por salvacam »

NeilParsons escribió: 29 Mar 2021 13:25 Gracias enormes. Lo aplicaré en próximos programas de ZX81.
Estoy probando tus listados de la revista ZX y funciona el doble asterisco en ZXText2P si se deja espacio delante y detrás
Imagen
Responder