Bon, en greppant un peu dans PedroM, voici ce que j'ai :
HEAP_TABLE est défini dans Romcalls.h, c'est le romcall $441
La table elle-même est déclarée dans Vars.h. Sa taille est effectivement de 2000 emplacements, soit $7D0, comme souligné plus haut par Lionel.
Donc, il faudrait patcher :
Zerosquare (./6) :
max=hw->getmem_word(ROMTBL(0x2f)+0x104);
Là il faut juste remplacer ce call par la valeur en dur, donc j'imagine écrire dans la variable sur la pile.
Zerosquare (./6) :
int addr=hw->getmem_dword(HANDLE_TABLE+4*i);(deux occurences)
Là, vu la définition de la macro HANDLE_TABLE, c'est expand en :
int addr=hw->getmem_dword(hw->getmem_dword(ROMTBL(0x2f)+0x11a)+4*i);Il faudrait donc remplacer le $11A par $441.
Le second fix semble trivial, par contre le premier ?? Faut assembler ce tout petit bout de code pour modifier le code en place, et combler la place inutile avec des NOP ?