burguera
Visitante
|
|
« : 23 de Octubre de 2006, 11:16:30 am » |
|
Una parte del código de mi juego es tal que asín: @@RGHT: inc hl inc hl ld e, [hl] inc hl ld a, [hl] or a ret z dec hl ld [CUSO], hl ret
Necesito hacer un pequeño cambio. Básicamente, cambiar el "ret z" por un "jr z, @@RGT2". El problema aparece cuando, haciendo este cambio (y, siendo @@RGT2 una etiqueta local a esta subrutina) al ensamblar me da el error "line 55: undefined identifier". Cuando la linea 55 no tiene nada que ver con este código (este se encuentra en la 1579). Tampoco es un problema de que en la linea 55 haga un "jr" a una etiqueta a la que no llega (en la 55 hay un call a una subrutina mía). De hecho, por probar, si pongo algo así como ret z jr z, @@RGT2
El código se ensambla sin errores. Pero en cuanto quito el ret z, me da el error que mencionaba. Alguna idea?
|
|
|
En línea
|
|
|
|
SapphiRe
Visitante
|
|
« Respuesta #1 : 23 de Octubre de 2006, 11:20:05 am » |
|
Aunque te parezca una tontería... prueba a meter un NOP por ahí a ver si se soluciona. De todas formas sin ver el código entero no te puedo decir mucho más Suerte!
|
|
|
En línea
|
|
|
|
burguera
Visitante
|
|
« Respuesta #2 : 23 de Octubre de 2006, 11:29:40 am » |
|
Con el NOP funciona bien... se trata de un bug del asMSX, entonces? Si quieres, puedo mandarte el código en un mensaje privado. Se trata de mi primer juego en asm, y aún está bastante verde, con lo que no se si sacarías nada en claro salvo mi incompetencia con el Z80 ;-)
|
|
|
En línea
|
|
|
|
Jon_Cortazar
|
|
« Respuesta #3 : 23 de Octubre de 2006, 11:33:30 am » |
|
¿Que versión del asMSX utilizas? -por saber...-
|
|
|
En línea
|
Jon Cortázar Abraido (aka El Viejo Archivero) RELEVO Videogames [Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.] [pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
|
|
|
SapphiRe
Visitante
|
|
« Respuesta #4 : 23 de Octubre de 2006, 11:34:45 am » |
|
Con el NOP funciona bien... se trata de un bug del asMSX, entonces? Sip Si quieres, puedo mandarte el código en un mensaje privado. Se trata de mi primer juego en asm, y aún está bastante verde, con lo que no se si sacarías nada en claro salvo mi incompetencia con el Z80 ;-) Si quieres que te eche una mano no tienes más que decírmelo
|
|
|
En línea
|
|
|
|
burguera
Visitante
|
|
« Respuesta #5 : 23 de Octubre de 2006, 11:38:37 am » |
|
La versión 0.12c, Viejo archivero
|
|
|
En línea
|
|
|
|
pitpan
|
|
« Respuesta #6 : 23 de Octubre de 2006, 12:00:20 pm » |
|
Es un problema endémico del asMSX, que se resuelve poniendo un NOP en CUALQUIER parte del código fuente. Ni idea de qué pasa en las obtusas tripas del asMSX, no he conseguido pillar el error, pero en ocasiones algunas etiquetas parecen "desaparecer". En cualquier caso, te recomiendo que utilices la versión 0.12e, que es algo más estable que la versión 0.12c y -además- tiene su propia documentación. Donde siempre: http://www.robsy.net
|
|
|
En línea
|
|
|
|
pentacour
|
|
« Respuesta #7 : 23 de Octubre de 2006, 12:21:15 pm » |
|
No sabía lo del NOP. Yo lo soluciono inventándome una nueva etiqueta en cualquier parte del código (aunque a veces no funciona a la primera y tengo que cambiarla de sitio). Pero vamos, teniendo controlado este pequeño detalle, el asMSX va muy bien.
|
|
|
En línea
|
|
|
|
burguera
Visitante
|
|
« Respuesta #8 : 23 de Octubre de 2006, 06:01:12 pm » |
|
Esto de las etiquetas parece mejor que lo de los NOP... más que nada porque así no se pierde ni un solo ciclo 8
|
|
|
En línea
|
|
|
|
SapphiRe
Visitante
|
|
« Respuesta #9 : 23 de Octubre de 2006, 06:09:20 pm » |
|
Hombre, lo del NOP no deja de ser un paño caliente para ir probando. Es mucho más rápido meter un NOP por ahí que andar cambiando nombres de etiquetas y tal.
|
|
|
En línea
|
|
|
|
Jon_Cortazar
|
|
« Respuesta #10 : 24 de Octubre de 2006, 06:44:09 am » |
|
Además, a veces, sigues programando y luego quitas el NOP que habías puesto de relleno y vuelve a funcionar bien . Cosillas que tiene el asMSX, aunque de momento el 0.12e no me ha dado ningún error, y mira que le estoy dando cera...
|
|
|
En línea
|
Jon Cortázar Abraido (aka El Viejo Archivero) RELEVO Videogames [Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.] [pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
|
|
|
pitpan
|
|
« Respuesta #11 : 24 de Octubre de 2006, 11:07:36 am » |
|
A ver si consigo depurar este molesto bug para la siguiente versión...
Pero en lo que me gustaría concentrarme es en las herramientas de apoyo, para hacerlas un poco más completas y flexibles.
En cuanto al ensamblador, habrá algún cambio adicional y más funcionalidades.
Eso sí, de momento no he recibido ningún feedback sobre el soporte para MegaROMs. ¿Os parece útil? ¿Os parece sencillo? ¿Creéis que se puede plantear de otra forma? ¿Funciona bien?
Por preguntar que no quede.
|
|
|
En línea
|
|
|
|
Jon_Cortazar
|
|
« Respuesta #12 : 24 de Octubre de 2006, 03:52:20 pm » |
|
Yo, de momento, como este año no estoy preparando MegaROMS, pues...
|
|
|
En línea
|
Jon Cortázar Abraido (aka El Viejo Archivero) RELEVO Videogames [Dioniso: La cafeína está haciendo su trabajo; yo espero hacer el mío.] [pitpan: Me sigue pareciendo más productivo jugar al SNAIL MAZE que seguir esta discusión.]
|
|
|
SapphiRe
Visitante
|
|
« Respuesta #13 : 24 de Octubre de 2006, 04:09:44 pm » |
|
|
|
|
En línea
|
|
|
|
Dioniso
Visitante
|
|
« Respuesta #14 : 24 de Octubre de 2006, 04:29:28 pm » |
|
Eso sí, de momento no he recibido ningún feedback sobre el soporte para MegaROMs. ¿Os parece útil? ¿Os parece sencillo? ¿Creéis que se puede plantear de otra forma? ¿Funciona bien? Le eché un ojo en cuanto salió a la luz. Es un tema que me interesa y tras echarle un ojo al código ... creo que no puede ser más fácil y sencillito el tema de montar las "megarons". Un gran paso adelante, sin duda.
|
|
|
En línea
|
|
|
|
|