La respuesta a tu problema es sencilla:
Los espacios libres de tu rom no están alineados, es decir, el primer byte de una cadena de 0xFF no empieza en una dirección que termina en 0, 4, 8 o C.
Luego al abrir el programa, este mueve datos, tablas y todo lo necesario para expandir y sacar mejor provecho
a los OW que puedas usar en el juego. El problema viene en que el programa no está diseñado para buscar o mejor dicho utilizar espacios alineados, sino que compara los bytes que necesita escribir con los espacios libres en la rom y escribe los datos donde mejor le parezca sin tener en cuenta si es un offset alineado o no. Entonces al volver a abrir la rom la misma aplicación conseguirá datos escritos en offsets no alineados y dará problemas y se cerrará.
- Ok bro, mucha charla y no me das ninguna solución
- Pues la solución es sencilla también, asegúrate de que todos los espacios libres en la rom estén alineados, si consigues una cadena de 0xFF y no comienzan en direcciones terminadas por 0, 4, 8 o C, entonces rellena con 0x00 hasta alcanzar un offset alineado, así parecerá que son espacios utilizados y no afectará en nada a tu rom.
Si tienes alguna duda en como hacer eso, no dudes en avisarme.
Saludos!