Tinnus: That part of the code is pretty well laid out. The part I'm having trouble with is taking a R3000A instruction and converting it into ARM instructions. Each R3000A instruction used by the emulator must be translated. Since I don't know much ARM assembly beyond blitting operations this is becoming hard for me to do.
So an update on things...I really suck with ARM assembly. I *really* need someone with a bit or more of ARM assembly expierence to help me with this dynamic recompiler. I can supply all the code needed to get started and some working code for a X86 dynarec to help show how the framework goes.
This is what needs to be done:
- Implement each R3000A processor instruction used by the emulator into equivelant ARM instructions.
- There's only a handful of instructions needed to be converted from the R3000A.
- The recompiler work that needs to be done doesn't need to be complete, , I just need to get the hang of things. So if you only have time to do a function or two, that's alright!
- I have all of the ARM instructions in the form of macros to use for use with converting R3000A instructions. The ARM instruction macro's build the buffer of instructions to be executed.
- If none of this makes sense, but you still understand ARM assembly, I can explain what needs to be done in further detail.
Basically, I need a little help to get the ball rolling forward with the dynamic recompiler. It's my lack of ARM assembly knowledge that's stopping me. So any help with this is appreciated. Feel free to PM me or reply here if you want to help.
I believe this technique for speeding up this emulator is very feasible and can be done soon with some help.
Thanks!