notaz / picodrive

Fast MegaDrive/MegaCD/32X emulator
Other
290 stars 165 forks source link

svp dynarec for mips #42

Closed robson-alcantara closed 7 years ago

robson-alcantara commented 7 years ago

Dear Grazvydas,

     I'm trying to port the svp recompiler to mips asm. But I did not understand what the function 'ssp_drc_do_patch' in stub_arm.s do. And the stop criteria "if (ret & 0x10000) break;"(line:1785) in "void *ssp_translate_block(int pc)" function at compiler.c file.

Best Regards Robson Santana

notaz commented 7 years ago

I don't remember anything about this stuff, it was too many years ago (git log says 2008), sorry. It won't answer your question, but I think some of the functions were replaced with handcoded asm instead of being recompiled, to make them fast enough for GP2X.

robson-alcantara commented 7 years ago

Yes, some functions were replaced. One these functions change in runtime arm instructions (b/bl) to another jump instrunction (patch). Depending on the decoded SSP instruction

robson-alcantara commented 7 years ago

This is related to ssp runtime branches wich need to be rewriten in arm asm jit code