El proyecto en el que estoy liado empieza a crecer, y ya ha superado la barrera de los 16 KB.
No sé si es por eso (espero que sí, y que tenga fácil solución), pero en el emulador funciona bien, y en una máquina real (Toshiba HX-10, NMS-8245), no.
He probado a separar el código en páginas diferentes, de forma que no haya código que le pille justo en el cambio de página.
He probado a eliminar el código del PT3Player y ayFXPlayer.
No hay forma de que ni siquiera así, me funcione AHORA en real, cuando antes sí lo hacía.
Esto es un extracto del fichero SYM
; Symbol table from msxtank.asm
; generated by asMSX v.0.12g
; global and local labels
.page 3
C000h buffer_sprites
...
C1B3h VAR0END
.page 2
8004h INIT
...
8DE3h inicializa_sonido
8DEAh dys
8E0Ah dxs
8E2Ah sonidos ;<-datos de sonido eliminados
8E2Ah musica ;<-datos de música eliminados
8E2Ah vpokes
91D2h vpokes_col
957Ah locates
...
9EF2h dir_15_t ;<-Final del código en ROM
; other identifiers
...
Aquí vienen mis preguntas, a ver si puedo solucionarlo, no vaya a ser que por una tontería, me quede atascado.
¿Qué he podido tocar que lo haya jodido todo?
¿Cuando tengo un código que supera los 16KB, tengo que indicar de alguna manera que quiero usar esas páginas en concreto?
¿Estoy limitado a usar la página de 8000h-BFFFh, o puedo usar también la de 4000h-7fffh? (supongo que la de 0000h-3fff está en uso por la bios)
Muchas gracias por vuestro interés.