Aún no me he metido con el tema megaroms (espero tener suficiente con 32KB o 48 a lo sumo), pero me he encontrado con un nuevo problema.
Estaba haciendo unas pruebas para poder reubicar algunos datos de mi juego. El tema es que tengo en un fichero llamado "grobjects.asm" una serie de datos tal que así:
SGROBJ:
; Special object graphics for gamescreen
ROFULL: db 2,2,84,85,86,87
ROEMPTY: db 2,2,88,89,90,91
; Normal object gamescreen patterns
NOFULL: db 2,2,76,77,78,79
NOEMPTY: db 2,2,80,81,82,83
...
Y en el fichero principal del programa, tengo
; Graphic object list
RPATINDEX: dw ROFULL,ROEMPTY,NOFULL,NOEMPTY,...
Mi intención es tener todos los datos de "grobjects.asm" comprimidos en ROM y descomprimirlos en RAM. Mi primera prueba consiste, simplemente, en copiar los datos de ROM a la posición GROBJ en RAM. Esto con un ldir se soluciona. El tema es que, para tener la lista de punteros RPATINDEX apuntando a los datos en RAM, se me ha ocurrido que podría hacer esto:
; Graphic object list
RPATINDEX: dw ROFULL-SGROBJ+GROBJ,ROEMPTY-SGROBJ+GROBJ,NOFULL-SGROBJ+GROBJ,NOEMPTY-SGROBJ+GROBJ,...
El problema aparece cuando, ensamblando esto, el asMSX se cuelga durante el EXPANDING SYSTEM MACROS. ¿Alguna idea sobre como
solucionar esto o bien como hacerlo de otra forma? ¿con un PHASE/DEPHASE pueden hacerse este tipo de cosas en asMSX?
Saludos