Página 1 de 2

ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 14:52
por merlinkv
Hola,

Tengo una cuestión sobre la que igual los gurus del foro me pueden echar una mano.

Si por ejemplo creo un programa BAS con ZX-Editor. ¿Como puedo compilarlo en CM para poder cargarlo después con un LOAD "nombre_programa" CODE?

Gracias.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 14:59
por wilco2009
Puedes utilizar el compilador de Boriel, aunque tendrás que hacer algunos mínimos cambios.

http://www.boriel.com/wiki/en/index.php ... IC:Archive

Si necesitas ayuda sobre los cambios que hay que hacer o sobre su utilización, podría echarte un cable.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 18:13
por merlinkv
Hola Alejandro.

Pues se agradecería una ayuda ...

Tengo varios programillas (viejos y nuevos) tecleados en el propio Spectrum usando, evidentemente, el BASIC del ZX y me gustaría compilarlos para acceder a ellos mediante LOAD "aaaaaa" CODE

Un ejemplo puede ser el sencillo menú de unos de los discos de MGT que estoy preparando (te adjunto el archivo en formato txt). He descargado el zxbasic y he intentado compilarlo, pero la nomenclatura debe ser muy distinta ya que me da muchos errores ....

He visto el manual y el foro y me da la impresión de que me tendría que "empollar" el tema a fondo y la verdad es que no tengo mucho tiempo ... ¿Hay algo más directo? Es para cosas bastante sencillas, la verdad ...
Games_001.zip

Re: ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 18:22
por dandare
Después del load code, tendrás que ejecutar el programa con un usr xxxx. Por qué los quieres en code? (Aparte de por la velocidad)

Re: ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 18:50
por merlinkv
Hombre con los menús estos tan sencillos es algo que me da igual. Pero tengo algunas cosas tecleadas que son bastante más "espesas" y me gustaría poder compilarlas .... Lo del USR, lo tengo claro el problema es convertirlos en CM.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 19:56
por alvaroalea
no creo que el compilador de boriel acepte la sintaxis de los disciple, así que para el menú o cualquier otro programa que tengas que use discos, la cosa no va a ser automatica.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 12 Mar 2018, 19:58
por merlinkv
alvaroalea escribió: 12 Mar 2018, 19:56 no creo que el compilador de boriel acepte la sintaxis de los disciple, así que para el menú o cualquier otro programa que tengas que use discos, la cosa no va a ser automatica.
Pues no lo se, la verdad. La única diferencia es respecto al comando LOAD, que en vez de LOAD "programa", usa LOAD D1"programa" ...

Re: ZX-Modules convertir BASIC en CODE

Publicado: 13 Mar 2018, 00:31
por wilco2009
Efectivamente los comandos del PlusD no están soportados en ZXBASIC, por lo que no te va a servir este compilador, ni ninguno que conozca.
Lo que sí podrías hacer es volcar el nombre del archivo en una posición de memoria (por ejemplo una linea BASIC con el LOAD) y retornar al BASIC.

Otra opción es usar una rutina que hizo mcleod que era capaz de ejecutar un pequeño programa basic contenido en una cadena utilizando la ROM. La idea sería formar el comando LOAD en esa cadena y luego ejecutarlo.

Por lo demás he intentado compilarlo y usando -Z para maximizar la compatibilidad solo se queja de dos cosas:

- De la falta de declaracion de las variables. Esto solo son warnings pero podría dar problemas si el tipo que se declara por defecto no es el apropiado. Habría que definir el tipo de la variable con DIM variable as tipo, donde variable es el nombre de tu variable y tipo el tipo de datos.

- En zxbasic la variable "a" y la variable "a$" son la misma, por lo que hay que cambiarle el nombre a una de las dos.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 13 Mar 2018, 00:42
por wilco2009
Probaré a modificarlo y compilarlo a ver que tal funciona en el emulador y te digo.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 13 Mar 2018, 17:15
por merlinkv
Hola, wilco.

Pues te lo agradecería un montón, así igual podría adaptar algunos de esos programas que tengo hechos en BASIC para que funcionen como es debido con las +D. Sobre todo para el tema de carga y guardado de archivos ....

He estado buscando compiladores de BASIC, pero no he encontrado ninguno que de forma nativa me soporten los comandos, LOAD D*"xxxx", SAVE D*"xxxx" o FORMAT D* .....

Entiendo que el uso de las +D no fuese muy generalizado, pero viendo que guardan compatibilidad con las Disciple (eso creo), pensaba que habría algo ....