mMMMM... Vale, ahora entiendo ( o creo entender, hasta que lo reescriba en basic). Pero otra duda ahora que lo leo: ¿una segunda excepción dentro de otra no provoca un HALT de verdad, o sea, no se congela la CPU por ilegal de narices? Yo lo tengo así programado por ahora.
Chui escribió:Entiendo que el juego tiene un opcode ilegal o bien porque esta mal dumpeao o bien porque tiene una protección anti-copia de la época, muy común en los juegos de AtariST y Amiga500. Algunas protecciones y sus correspondientes cracks eran muy complicados, incluyendo en la ecuación el modo traza.
Releo, y sí que entiendo. Solo tenemos tres direcciones a pillar , la 4 la 10 y la 11 (entiendo que palabras largas, o sea 4 bytes), que viene a corroborar lo que veo en el código del juego en cuestión, por que solo veo tres opcodes ilegales. Luego lo aplico, por la tarde, que ahora se supone que estoy trabajando. Y es lo que tú dices, al ser de atari, será una protección de la época.
Por cierto, los modos de trazado no creo que los implemente, por que es un emulador para mi, no para vender. Y si se lo dejo a alguien, dudo que emplee el modo traza, que no sea para meter un depurador por diversión.
Y otra cosa: ¿tú (vosotros) hiciste el
Fame, el core DLL con soporte para el VBasic? Lo estuve probando, pero en VBasic no me manejo bien y no conseguí hacerlo andar, y luego, me hice un ".BI" para el FreeBasic y ahí si pude probarlo, pero me ocurrió algo con los accesos a memoria (que ahora no recuerdo) y me tiraba con error de todas todas (memoria corrompida), por que se usa mucho el CDECL , el Byval y todos esos, de temas de acceso directo a RAM, y en cuanto pones algo que no es, corrompes el espacio. ¿no tendrás ejemplos en VBasic funcionales? Podría pasarlos a FreeBasic y tratar de emular un A500 usando vuestro core, y así gano velocidad, por que el mio, en Basic 100% necesita un I7 como poco para mover con soltura un simple arcade de los 80