Karoshi MSX Community
06 de Julio de 2021, 12:31:41 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1] 2
  Imprimir  
Autor Tema: Problema compilando con el asmsx  (Leído 9504 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« : 04 de Abril de 2007, 09:15:14 am »

Bueno, esta maravillosa herramienta es como una novia. Es algo genial pero también te da sus malos momentos  Wink

Uso la 0.11 y tengo que poner nops, cortar comentarios y demás cuando al compilador le da por decir que tal o cual etiqueta no existe, y una vez me volví loco porque había puesto un punto en lugar de una coma en los datos tras una instrucción db y menuda se lió. Lo de ahora también es muy raro.

Pongo en situación: una rom de 32kb (empezando por la página 1). Uso la rutina de Robsy de dectección de slots justo al principio. Tengo el código al principio y los datos de caracteres al final. El juego empieza volcando todo y saltando al menú del juego (pantallita decorativa).

Pues bien, ahora comienzo a meter las DATAS de las fases (enemigos y tal). Meto una pantalla (no sé, sobre 20 o 30 bytes), etiqueto como ;PANTALLA_1, luego meto la dos, etc... Pues a partir de la décima, cuando compilo y ejecuto, en el menú sale todo en color amarillo, los caracteres mal definidos (todos como barras verticales) pero el juego sigue tal cual. Poniendo bucles infinitos en el menú he llegado hasta el punto donde se jode todo, justo al ejecutarse una rutina de impresión de caracteres al final del código. Parece como si tal rutina, además de los datos gráficos, estuviera fuera del alcance de la rom  Huh. Supongo que si me hubiese pasado de los 32kb el compilador me avisaría. Además, usando la rutinilla de impresión de memoria libre con ENDCODE y tal, me da que aún quedan 12Kbs  Undecided

He revisado la sintaxis de esas líneas DATAS y todo parece correcto, es más como digo con 10 pantallas va bien pero a partir de ahí se jode todo.

¿He de pasarlo a un asmsx superior y compilar ahí? Un fastidio porque tengo que llevar cada vez el programa a otro ordenador, pero si no hay más remedio...  Smiley

¡Saludos!
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #1 : 04 de Abril de 2007, 09:19:20 am »

Creo que el propio Robsy te recomendaría encarecidamente que actualizaras a la versión 0.12. En cualquier caso, me temo que si quieres estar seguro de si es un fallo tuyo o de compilación, vas a tener que usar otro compilador, ya sea el nuevo asMSX u otro; así saldrás de dudas.
En línea

Doom dee doom dee doom
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #2 : 04 de Abril de 2007, 09:36:57 am »

Juanma, ese error me suena más a que sea del código, que del asmsx. Si, es cierto que a veces el asmsx tiene problemas con el parser, pero un fallo como ese de corrupción de gráficos me parece un poco extraño que sea debido a una compilación erronea... la rutina de definición de caracteres apunta a donde debe en RAM?... hay descompresión previa de datos?... podrías postear los pedazos de código relevantes?  Wink
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.]
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #3 : 04 de Abril de 2007, 10:24:06 am »

No hay compresión y la etiqueta apunta dentro de la rom. Acabo de darme cuenta de que no sólo parece como si esas etiquetas hubieran volado, sino que los textos que se deberían imprimir en el menú también. Sin embargo, un gráfico que está almacenado detrás de esas etiquetas sí aparece correctamente.

Los datos de las pantallas son:

;--------------------------
;PANTALLA 00
;--------------------------

db   0,  0,  0,   0,   0   ;lím <, lím >, control, sprderbase, sprizqbase
db   0,  0,  0,   0,   0
db   0,  0,  0,   0,   0
db   209,  0,  0,  0      ;Datos VRAM cada sprite
db   209,  0,  0,  0
db   209,  0,  0,  0   
db   0,  0         ;Coord.x,y nave 1
db   0,  0         ;Coord.x,y nave 2
dw   0            ;Coord.vram blindado o nodriza
db   0            ;Color nave 1
db   0            ;Color nave 2
dw   0            ;Coord. cañón der.
dw   0            ;Coord. cañón izq.
db   0            ;Spr.base nave 1
db   0           ;Spr.base nave 2
db   00000000b


y así para todas. En el momento que pego más de diez en el código ya se fastidia todo. Las rutinas de volcado de caracteres son las típicas de:

ld hl,CARACTERES
ld de,0
ld bc,255*8
call LDIRVM, etc e igual con los colores a partir de la 8192.
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #4 : 04 de Abril de 2007, 11:01:49 am »

Pásate al SDCC! :-)
En línea

MSX4EVER2GETHER
www.nerlaska.com
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #5 : 04 de Abril de 2007, 11:29:24 am »

¡Seguro que también hace de las suyas! No, gracias  Wink
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #6 : 04 de Abril de 2007, 12:08:33 pm »

me podrías pasar el código por mail? -prometo no desvelar nada (gratis)-  Wink
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.]
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #7 : 04 de Abril de 2007, 12:12:13 pm »

Gracias, Jon  Smiley Voy a intentar primero pasarlo a un portátil donde tengo el XP y la última versión del asmsx para ver que no sea un fallo de programación. Si me veo en las últimas, te haré entonces perder valioso tiempo mirando código guarrissembler, jejejeje  Grin
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
nerlaska
Karoshi Excellent Member
******
Mensajes: 1102


Programador


WWW Email
« Respuesta #8 : 04 de Abril de 2007, 12:27:59 pm »

el SDCC va fino como el coral Smiley
En línea

MSX4EVER2GETHER
www.nerlaska.com
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #9 : 04 de Abril de 2007, 12:49:34 pm »

Pues a mi me pasó algo parecido pero al final era que estaba mal comprimida esa pantalla y al descomprimir me corrompía todo lo que podía y más.

¿Haces algo con esos bytes de la pantalla 11 antes de que se corrompan los gráficos? ¿Y si metes los bytes de la 11 en la 0 también pasa solo con 10 pantallas?¿La rutina de impresión de caracteres está jodida (no si está en rom claro), o ya ha jodido alguien antes los datos que quiere volcar a VRAM?

[Offtopic al post] Ejem, Jon, ¿te acuerdas de mi? ...  Roll Eyes No, tranquilo, estoy haciendo otras cosas  Wink [/Offtopic al post]



« Última modificación: 04 de Abril de 2007, 01:06:33 pm por pentacour » En línea
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #10 : 04 de Abril de 2007, 01:12:27 pm »

No hago nada raro, es más, como dije, con menos de diez pantallas funciona bien. Hago un copy/paste y meto alguna pantalla más en blanco y se fastidia todo. Tengo que investigar a fondo, me temo  Undecided
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
Jon_Cortazar
Administrator
Karoshi Forum's God
********
Mensajes: 2777



WWW Email
« Respuesta #11 : 04 de Abril de 2007, 01:40:36 pm »

[Offtopic al post] Ejem, Jon, ¿te acuerdas de mi? ...  Roll Eyes No, tranquilo, estoy haciendo otras cosas  Wink [/Offtopic al post]

De hecho, si Smiley, luego te pongo un mail... pirataaaa!...  Kiss Cheesy
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.]
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #12 : 04 de Abril de 2007, 01:51:46 pm »

De hecho, si Smiley, luego te pongo un mail... pirataaaa!...  Kiss Cheesy
Grin  Grin  Grin  Cheesy  Cheesy  Cheesy
En línea
Darth_Fistro
Karoshi Hero
*****
Mensajes: 507


Email
« Respuesta #13 : 04 de Abril de 2007, 03:13:46 pm »

Qué va, lo he probado en un XP con la última versión del asmsx (0.12f1) y pasa lo mismo. Eso sí, no sé si en la última versión RANDOM y RANDOMIZE son palabras clave del compilador, porque me daba error de sintaxis en una etiqueta llamada así y tuve que renombrarla.

El error es muy extraño. Parece que a medida que voy añadiendo pantallas, se van perdiendo los datos que al final del programa. Primero son los gráficos, luego los textos que van almacenados depués. Si es un error de programación debe ser algo muy tonto, porque no hago nada raro y lo único que hago es copy/paste de los datos de las pantallas al editor de textos, y además el problema no está en una rutina que vuelque pantallas o algo así, sino en la propia presentación del programa, que no vuelca las pantallas para nada.
En línea

MSX FOREVER (hasta que saquen un ZX81 con TMS, PSG y 64K de RAM)
pentacour
Karoshi Lover
***
Mensajes: 177


mgalious@hotmail.com
WWW Email
« Respuesta #14 : 04 de Abril de 2007, 03:47:33 pm »

La verdad es que el fallo de las etiquetas a veces hace dudar de que el compilador introduzca algún error, pero tiene pinta que sea un error tonto, y esos son los peores de encontrar  Huh

Si copias los datos de las pantallas 11 en adelante, pero sin ponerles etiquetas, solo como relleno ¿también falla? Si falla solo al poner etiquetas, entonces sí que habría que dudar del compilador, pero es extraño.
En línea
Páginas: [1] 2
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!