Below are some related updates via Twitter (linked above):
Found the mistake in SPU Emu... -.- FAIL! sf* commands do rb-ra I did ra-rb -.- works perfectly now.
The sp somehow land in code section and overrides destroys code. so i don't update the code while the ls changes. This does the trick hotfix.
New spu emu soon dump function calls and channel access and so on.
SPU Emu v0.9: fixed sf* instructions and bugfixes and callstack functions. Dumps all branches now files get big ^^.
Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!
nah, x86/x64 computer wont be able to reach ppc's power. it's MIPS vs FLOPS
If you compare a Corei7 high end processor can do 70gflops with all cores being used while PS3 had 25Gflops multiply it to 6 SPU's so if you know how to multiply, there's no where it can be emulated right now. Unless someone is brave enough to use a videocard as the alternative processor since GPU's processing capability is much more powerful than x86/x64 processor does.
To quote: Let's call it beta (SPU emulation). Tested with my own elf a lot commands if they work properly. Disabled buttons depending on state.
And last but not least, if you press run a new thread is spawned. Now you are able to press pause and it stops the run ofc. The performance get a super boost with the threading.
Project Update: alpha2 - pre alpha so it is not in pre alpha stage anymore. It detects code modifications on the fly too. The new feature list is not complete that's my fault I guess.
Thanks for the news update. I need some infos from some reversers to create the next stunning feature:
Crypto dumping... dumps all crypto calls... Let's call it function parameter dumping cause it will work for everything and will implement a callback on known functions which will make dumping at certain calls possible.
I try to implement this and GET/PUT DMA commands this weekend. I think I can't finish it this weekend, but this will be the beta stage. V0.9 should then just implement the rest of the commands that anergistic implements.
After that it is unknown what I do and so on. Since then my reversing starts to get more focus.
Update: From mr_wicked: I was trying to run an SPU module in anergistic with no success. In IBM systemsim (in combination with libspe2) my code ran just fine..
Finding a broken instruction in anergistic is like finding a needle in a haystack. So I ended up throwing IBM systemsim in IDA and exported all SPU instructions to .asm. After writing a small emulator around these instructions I was able to find two nasty errors. One in "andhi" and one in the "cgx" instruction. Here are the corrected Anergistic instructions:
for (i = 0; i < 8; ++i)
rth[i] = rah[i] & i10;
for (i = 0; i < 4; ++i)
u64 r = (u64)(rtw[i] & 1) + (u64) raw[i] + (u64) rbw[i];
rtw[i] = (r >> 32) & 1;
My application also needed rotqbybi and rotqbi so I implemented those as well: