Página 1 de 2

Compilador de Basic para ZX

Publicado: 20 Ene 2024, 21:37
por merlinkv
Hola a todos:

Estoy buscando un compilador de Basic para hacer algunas cosas que me sirvan sobre todo para los +3 o ZX con disqueteras.

He estado mirando el Boriel ZX Basic y he creado un pequeño menú para lanzar distintos juegos.

Pero no he podido encontrar como hacer cosas tan simples como esta:

Es decir pulsar una tecla y que cargue un determinado programa en Basic que está en el disco. A la hora de compilar siempre me dice que error al final de linea (de la línea de LOAD).

¿Alguna idea? ... Gracias :)


Código: Seleccionar todo

...
  70  PRINT  AT 3,6; "Alien 8"
  80  PRINT  AT 5,6; "Knight Lore"
  90  PRINT  AT 7,6; "Way of Exploding Fist"
 100  PRINT  AT 9,6; "JetPac"
 110  PRINT  AT 11,6; "Prince of Persia"
 120  PRINT  AT 13,6; "Abu Simbel"
 130  PRINT  AT 15,6; "Arkanoid"
 140  PRINT  AT 17,6; "La Abadia del Crimen"
 150  LET k$=INKEY$ 
 160  IF k$="1" THEN LOAD "ALIEN8"
 170  IF k$="2" THEN  LOAD "LORE"
 180  IF k$="3" THEN  LOAD "FIST"
 190  IF k$="4" THEN  LOAD "JETPAC"
 200  IF k$="5" THEN  LOAD "POPERSIA"
 210  IF k$="6" THEN  LOAD "ABUSIM"
 220  IF k$="7" THEN  LOAD "ARKANOID"
 230  IF k$="8" THEN  LOAD "ABADIA"
 240  IF k$="n" OR k$ = "N" THEN  LET p = 2: GO TO 270
 250  IF k$="l" OR k$ = "L" THEN  LET p = 4: GO TO 690
 260  GO TO 150
 ...
 

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 22:25
por cacharreo
Conozco el Boriel ZX Basic solo por referencias pero ni lo tengo ni lo he usado.

No obstante te recomendaría reestructurar el programa para que trabajara con listas (secuencias de datos) y de esa forma no tienes que repetir las líneas (de impresión, de lectura de teclado, de carga,...) para cada programa que fueras añadiendo (por un lado el código en sí y por otro los datos).

Para cualquier cosa, ya sabes... ;)

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 22:43
por merlinkv
Hola @cacharreo:

Sí, lo que he puesto es un ejemplo hecho en el propio ZX hace ya mucho tiempo y que pensaba pasarlo a ZX Basic aprovechando las ventajas que ofrece.

El caso es que, como digo, es muy simple y se compila bien, pero no consigo que cargue un programa cuando pulso la tecla adecuada, simplemente no carga, se cuelga y no hace nada.

He mirado documentación del ZX Basic y parece que no tiene esa opción de cargar otros ficheros de un disco. Aunque acabo de empezar con ese compilador y lo más seguro es que yo no sepa como.

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 22:45
por cacharreo
No lo he mirado pero ¿esas sentencias de carga no serían para cargar de cinta?

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 22:48
por merlinkv
Bueno, en principio sí, pero ese mismo programa en un disco, me carga los programas que yo quiero sin problemas.

Por ejemplo, en el caso de las +D lo que hacía era cambiar LOAD "PROGRAMA" por LOAD D*"PROGRAMA" y, ya te digo, todo sin problemas.

¿Quizá hay otro compilador con sentencias específicas para manejar ficheros de un disquette? Me refiero a otros ficheros BASIC, no del tipo LOAD "PROGRAMA" CODE.

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 23:00
por cacharreo
Tienes razón, en el caso del +3DOS no es estrictamente necesario pero con microdrives, +D, etc. sí.

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 23:11
por cacharreo
No parece que Boriel ZX BASIC soporte el +3DOS.

https://www.boriel.com/forum/showthread ... +from+disk
boriel escribió:Unfortunately not, but maybe there is a library to use the microdrive.
If I find out about something, I will post it here.

Also, if you know how to access the microdrive from ASM I can guide you to create your library.
ZX Basic allows using ASM, so it's possible to create a library for the microdrive.
En el mismo tema, Sergio Chico asegura haber creado una API para el +3DOS pero intuyo que requiere utilizarla en ensamblador.

Re: Compilador de Basic para ZX

Publicado: 20 Ene 2024, 23:26
por merlinkv
Sí, estuve leyendo ese artículo, pero requiere tirar de ensamblador y lo que pretendo es hacer algo simple en Basic y poder compilarlo.

Seguiré buscando, igual hay algun compilador que soporte el +3DOS directamente.

Re: Compilador de Basic para ZX

Publicado: 21 Ene 2024, 00:04
por cacharreo
Como no sé qué hace el cargador, no acabo de comprender la necesidad de utilizar otro BASIC o uno compilado. Si es para mostrar una lista de programas, esperar una tecla y lanzar el programa, con el BASIC convencional debería ser suficiente.

Re: Compilador de Basic para ZX

Publicado: 21 Ene 2024, 03:07
por jordigahan
no entiendo muy bien lo de la linea 150 yo diria que sobra.
yo la quitaria y hubiera hecho algo parecido a esto:

Código: Seleccionar todo

 160  IF INKEY$="1" THEN LOAD "ALIEN8