CsPspEmu: r525

Jul 27 2013

Changelog:

  • Updated to .NET 4.5 / Mono 3.x.x
  • Reimplemented how the CPU dynarec works: Now generates an ASTPerform 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 optimizationNative calling/jumping/tail calling with dynamic static fieldsOptimized jalr in fors, caching repeated callssyscalls rewritting to normal callsdirect 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

Linux notes:

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
wget https://github.com/mono/libgdiplus/archive/master.tar.gz
mv master.tar.gz libgdiplus-3.0.tar.gz
tar xzf libgdiplus-3.0.tar.gz
cd libgdiplus-master
./autogen.sh && ./configure && make && sudo make install
 
# mono 3.2
wget http://download.mono-project.com/sources/mono/mono-3.2.0.tar.bz2
tar -xjf mono-3.2.0.tar.bz2
cd mono-3.2.0
./configure && make && sudo make install

screenshots: