It is not for game emulation and it will never emulate the ppc. If you want that go to code.google.com/p/rpcs3/ , their work is not done and nearly nothing work, but they are the guys that write an emu for games and so on. This is just for reversing, so you don't have only a static analysis.

To quote: SPU Emulation Alpha2 has been released: mBox implemented and MFC prepared, bugfixes, breakpoints implemented and all commands for metldr as far as KDSBest knows.

Hi Community,

I wanted to contribute to the scene, so I coded a tool that might help the community our members and fellow devís. This Tool is intended for devís so please be careful if you donít know what you do. I will not be held responsible for any harm.

My tool is a emulator for PS3 modules (e.g metldr), it is in pre alpha stage but I thought, it would be great to get some community feedback.

How to use:

Not all SPU Commands are implemented yet, but it is easily extendable and I will make it support DMA, all SPU Commands and SPU Mailbox soon.

First open a .kds file. Check out the metldr.kds to see an example. The rest is like a normal debugger. If you put dumps of your reversed functions in the KnownFunctions folder, it will detect it and mark that function for you.

Just for example Mark the whole cellSpuAesDecryptCbcCfb128 function in HexView in IDA -> Right Click -> Save to File
Name the File "cellSpuAesDecryptCbcCfb128" without extension and copy it to the KnownFunctions Directory of the Emulator. Now all similar functions get automatic detected!

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:

It is not for game emulation and it will never emulate the ppc. If you want that go to code.google.com/p/rpcs3/ , their work is not done and nearly nothing work, but they are the guys that write an emu for games and so on. This is just for reversing, so you don't have only a static analysis.

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.