5Fermer7
ZerosquareLe 26/08/2020 à 18:32
Debug.cpp : #define ROMTBL(x) hw->getmem_dword(hw->getmem_dword(0xc8)+(x)*4) #define HANDLE_TABLE hw->getmem_dword(ROMTBL(0x2f)+0x11a) #define HANDLE_TABLE_92 cpu_readmem24_dword(romFuncAddr[0x1c]+0x1902) #define HANDLE(x) hw->getmem_dword(HANDLE_TABLE+4*(x)) #define HANDLE92(x) hw->getmem_dword(HANDLE_TABLE_92+4*(x)) #define GETBYTE(x) (cpu_readmem24(x)&0xff) #define GETWORD(x) (cpu_readmem24_word(x)&0xffff)if ((calc==89)||(calc==94)) { HandlesBox->Caption="Handles"; max=hw->getmem_word(ROMTBL(0x2f)+0x104); if (max>0x800) max=0x800; for (i=0,chg=0;i<max;i++) { int addr=hw->getmem_dword(HANDLE_TABLE+4*i); if (addr) { n=i+1; if (addr!=oldHandleList[i]) chg=1; } } if ((n!=oldHandleCount)||chg) { Handles->Clear(); for (i=0;i<n;i++) { int addr=hw->getmem_dword(HANDLE_TABLE+4*i); sprintf(str,"$%4.4X -> $%6.6X",i,addr); oldHandleList[i]=addr; Handles->Items->Add(str); } oldHandleCount=n; } } else if (calc==92) { HandlesBox->Caption="Handles"; max=hw->getmem_word(0x5d2c); if (max>0x800) max=0x800; for (i=0,chg=0;i<max;i++) { int addr=hw->getmem_dword(hw->getmem_dword(0x5d42)+4*i); if (addr) { n=i+1; if (addr!=oldHandleList[i]) chg=1; } } if ((n!=oldHandleCount)||chg) { Handles->Clear(); for (i=0;i<n;i++) { int addr=hw->getmem_dword(hw->getmem_dword(0x5d42)+4*i); sprintf(str,"$%4.4X -> $%6.6X",i,addr); oldHandleList[i]=addr; Handles->Items->Add(str); } oldHandleCount=n; } }