zmakebas no convierte bien los DEF FN

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

zmakebas no convierte bien los DEF FN

Mensaje por programandala.net » Jue Mar 19, 2015 9:11 pm

Recientemente he descubierto que zmakebas no traduce bien las definiciones de funciones. Cualquier intento de llamada a una función produce el error de BASIC "Q Parameter error". Editar la línea en que está el DEF FN con el editor del sistema, sin hacer cambios, soluciona el problema.

Bastó examinar un TAP creado por zmakebas, usando un editor hexadecimal, para ver dónde estaba el fallo: En la representación interna de los parámetros solo están sus nombres, no los cinco octetos que deben ir a continuación de cada uno para guardar sus valores durante la ejecución de la función (tanto números como cadenas).

¿Alguien lo había notado?

Tengo instalado el paquete de Raspbian/Debian. Es la versión más reciente que existe de zmakebas, la 1.2. Me he bajado las fuentes para echar un vistazo.

Mientras, está la alternativa de BAS2TAP, aunque carece de algunas funcionalidades útiles de zmakebas.
Marcos Cruz (programandala.net)

Avatar de Usuario
antoniovillena
Nonamed
Mensajes: 1162
Registrado: Dom Ene 09, 2011 8:55 am

Re: zmakebas no convierte bien los DEF FN

Mensaje por antoniovillena » Jue Mar 19, 2015 9:40 pm

Yo tengo un fork del zmakebas y más o menos sé cómo funciona el código fuente. Si no te importa pon un programa de ejemplo para que pueda detectar el bug. El enlace al código fuente de mi fork es este:

http://sourceforge.net/p/emuscriptoria/ ... ZMakeBas.c
Imagen

Avatar de Usuario
antoniovillena
Nonamed
Mensajes: 1162
Registrado: Dom Ene 09, 2011 8:55 am

Re: zmakebas no convierte bien los DEF FN

Mensaje por antoniovillena » Jue Mar 19, 2015 9:53 pm

antoniovillena escribió:Yo tengo un fork del zmakebas y más o menos sé cómo funciona el código fuente. Si no te importa pon un programa de ejemplo para que pueda detectar el bug. El enlace al código fuente de mi fork es este:

http://sourceforge.net/p/emuscriptoria/ ... ZMakeBas.c
Vale, con este simple programa me muestra el error, lo estoy investigando.

Código: Seleccionar todo

10 DEF FN r(x)= INT (x+O.5)
20 PRINT FN r(2.9)
Imagen

Avatar de Usuario
antoniovillena
Nonamed
Mensajes: 1162
Registrado: Dom Ene 09, 2011 8:55 am

Re: zmakebas no convierte bien los DEF FN

Mensaje por antoniovillena » Vie Mar 20, 2015 7:37 pm

Ya he arreglado el bug. La última versión está aquí (es el mismo enlace de arriba, si quieres ponlo en marcadores porque es donde estará siempre la última versión del ZMakeBas):

http://sourceforge.net/p/emuscriptoria/ ... ZMakeBas.c
Imagen

Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

Re: zmakebas no convierte bien los DEF FN

Mensaje por programandala.net » Vie Mar 20, 2015 9:22 pm

antoniovillena escribió:Ya he arreglado el bug. La última versión está aquí (es el mismo enlace de arriba, si quieres ponlo en marcadores porque es donde estará siempre la última versión del ZMakeBas):
Muchas gracias. Voy a probarlo.

Sabía que tenías una versión propia, y la tenía descargada en mi archivo, pero estaba usando la 1.2 que viene con Raspbian/Debian porque, si no estoy equivocado, la tuya está basada en la versión de 1998, que debe de ser la 1.0 o 1.1.

Este fallo es importante y habría que corregirlo en la última versión disponible en las distros que lo incluyen. Pero, por lo que sé, este programa ya no es mantenido por su autor y no hay un único lugar en que esté la fuente original, ¿no?
Marcos Cruz (programandala.net)

Avatar de Usuario
antoniovillena
Nonamed
Mensajes: 1162
Registrado: Dom Ene 09, 2011 8:55 am

Re: zmakebas no convierte bien los DEF FN

Mensaje por antoniovillena » Vie Mar 20, 2015 10:25 pm

Pues no tengo ni idea de qué versión partí, supongo que busqué la más moderna pero lo mismo no estaba disponible. Como trabajo en un repositorio, en este enlace está la primera versión que subí:

http://sourceforge.net/p/emuscriptoria/ ... ZMakeBas.c

Puedes compararla con la versión que tienes para ver de cuál se trata.
Imagen

Avatar de Usuario
antoniovillena
Nonamed
Mensajes: 1162
Registrado: Dom Ene 09, 2011 8:55 am

Re: zmakebas no convierte bien los DEF FN

Mensaje por antoniovillena » Vie Mar 20, 2015 10:28 pm

Esta es la 1.2 de zmakebas.

https://github.com/catseye/zmakebas/blo ... zmakebas.c

Edito: Comparando los archivos concluyo que partí de la versión 1.2
Imagen

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado