Página 2 de 2

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 12:28
por wilco2009
La opción de utilizar la rutina de mcleod para llamar al basic interpretado "Inline" queda descartada. Parece ser que no funciona si el comando cambia de ROM como es el caso.
Ahora mismo estoy explorando la posibilidad de hacer una llamada a la rutina de "load file" del +D desde assembler insertado en el código en basic.
Si no conseguimos esto último, la última opción siempre sería escribir accediendo directamente a memoria una linea basic que hiciera la carga para que al retornar desde el basic compilado se ejecutara dicha línea.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 12:55
por merlinkv
wilco2009 escribió: 14 Mar 2018, 12:28 La opción de utilizar la rutina de mcleod para llamar al basic interpretado "Inline" queda descartada. Parece ser que no funciona si el comando cambia de ROM como es el caso.
Ahora mismo estoy explorando la posibilidad de hacer una llamada a la rutina de "load file" del +D desde assembler insertado en el código en basic.
Si no conseguimos esto último, la última opción siempre sería escribir accediendo directamente a memoria una linea basic que hiciera la carga para que al retornar desde el basic compilado se ejecutara dicha línea.
Lo que uzté diga Maestro .... :)

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 14:44
por wilco2009
Tengo ya un primer prototipo, pero no acaba de funcionar porque cuando carga el juego desaparece el listado BASIC antiguo y aparece el recien cargado, con lo que se lía y dice "NONSENSE IN BASIC".
Si luego le das a RUN si que lo carga.

¿Estás seguro de que este programa te funcionaba desde BASIC?

Te adjunto el enlace al listado modificado y el compilado en un TAP.

Al final lo que he hecho es modificar directamente la primera línea de BASIC para añadir un LOAD D*"LOQUESEA" y al salir del ZXBASIC hago un goto a la primera línea para ejecutar la carga.

Listado en BASIC
Archivo TAP

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 14:51
por merlinkv
El programilla que te pasé funciona perfectamente en un +3 con el +D VDR. Los puedes descargar desde http://www.va-de-retro.com/foros/viewto ... 2&start=30 y probarlos con el emulador. Y uso el Spectaculator, pero debería de rular en cualquier emulador que soporte las +D.

Una vez que los pruebo con el emulador, los grabo en disco con SAMDisk y funcionan de PM ....

Esta tarde pruebo los archivos queme has mandado. Gracias. :)

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 15:35
por wilco2009
merlinkv escribió: 14 Mar 2018, 14:51 El programilla que te pasé funciona perfectamente en un +3 con el +D VDR. Los puedes descargar desde http://www.va-de-retro.com/foros/viewto ... 2&start=30 y probarlos con el emulador. Y uso el Spectaculator, pero debería de rular en cualquier emulador que soporte las +D.

Una vez que los pruebo con el emulador, los grabo en disco con SAMDisk y funcionan de PM ....

Esta tarde pruebo los archivos queme has mandado. Gracias. :)
Ah vale ya entiendo. Los archivos que se cargan son snapshots directamente. Yo pensaba que eran cargadores BASIC. Asi si.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 16:20
por merlinkv
Bueno no son snapshots, son cargadores BASIC y los bloques de los juegos. para snapshost usaríamos LOAD D*"snapshot" S o LOAD D*"snapshot" K dependiendo si son de 48K o 128K

Re: ZX-Modules convertir BASIC en CODE

Publicado: 14 Mar 2018, 23:49
por wilco2009
merlinkv escribió: 14 Mar 2018, 16:20 Bueno no son snapshots, son cargadores BASIC y los bloques de los juegos. para snapshost usaríamos LOAD D*"snapshot" S o LOAD D*"snapshot" K dependiendo si son de 48K o 128K
Vale, ya se que pasaba.
A mi no me funcionaba porque había grabado un programa de prueba pero sin LINE 1, por lo que no se autoejecutaba.
Cuando he probado con tu compilación ha funcionado sin problemas.

Re: ZX-Modules convertir BASIC en CODE

Publicado: 15 Mar 2018, 00:08
por merlinkv
OK

Muchas gracias Alejandro por el curro que te estás pegamdo.