CsPspEmu: New AST and disassembler

Published at Fri, 30 Nov 2012 08:02:00 UTC by soywiz

I continued the emulator lately. I decided to do a step back and try to rework on the cpu compiler and create a opengl|es plugin in order to be able to port the emulator to mobile devices supporting mono.

So actually the emulator now has less compatibility at this point until I complete/redo some stuff.

I decided to change the way I’m compiling functions to a new way AST-based that will allow simpler+safer micro optimizations. Also it will make code generation simpler and easier to maintain. It will allow to output the AST as C#-like code so you can see what’s going on.

I have added a new window that allows you to see compiled functions in several formats (C#-Like, AST, IL, MIPS):

Newer versions will require .NET 4.5. So you won’t be able to use it on Windows XP unless you are using mono >= 3.0. Also the new gpu plugin is a OPENGL|ES 2. On windows it will use the angle project. On linux it will use opengl, and on mobile devices it will use the native opengl|es implementation.

On the other hand, lioncash has performed lots of refactorings/cleanups/documentation furthermore to translating the emulator to japanese. Thanks a lot!