New version of the emulator.
- Updated to .NET 4.5 / Mono 3.x.x
- Reimplemented how the CPU dynarec works:
- Now generates an AST
- Perform some generic optimizations and others related to lwl/lwr that weren't possible before without the AST.
- Adds a new window that allows you to see generated functions as C#, IL, XML or MIPS/disassembler.
- Branch as local optimization
- Native calling/jumping/tail calling with dynamic static fields
- Optimized jalr in fors, caching repeated calls
- syscalls rewritting to normal calls
- direct memory access
- VFPU completely reimplemented (now most of the instructions are implemented right)
- Faster CSO decoding using the native DeflateStream from .NET 4.5
- Huge Speedup related to GPU rendering:
- Avoid to write video memory into RAM and then read to the display (now it copies the framebuffer into the display window without transferring data)
- Support for scaling the render target (better quality of 3d games and games with bigger 2d textures)
- Supports full screen (alt+enter)
- Removed the requirement of wavoutput.dll and all that stuff, now it uses MaiAt3PlusDecoder
- Added initial support for pmf/h264 videos. It is buggy and doesn't play sound yet. But it is a beggining.
- Much more accurate vsync
- Lots and lots and zillions of major and minor improvements
In order to run it in linux, you will need mono >= 3.0 with libgdiplus:
First you have to install a previous version of mono. For example in ubuntu:
apt-get install mono-complete
Then you have to build mono 3.0 and libgdiplus from source:
# libgdiplus 3
apt-get install libcairo-dev libpng12-dev libtiff-dev libgif-dev libjpeg-dev libglib2.0-dev
mv master.tar.gz libgdiplus-3.0.tar.gz
tar xzf libgdiplus-3.0.tar.gz
./autogen.sh && ./configure && make && sudo make install
# mono 3.2
tar -xjf mono-3.2.0.tar.bz2
./configure && make && sudo make install