PspEmu r301: Fourth Release

Published at Mon, 25 Jul 2011 06:40:00 UTC by soywiz

About a year after the last release…I have been working lately on the emulator again and I have redone lots of its internals. Now it’s faster, reliabler and even can run some commercial games!

Reduced changelog:

  • Some commercial games are running! Check our compatibility list , and feel free to add missing games.
  • New entirely remade multithreaded cpu core!! It will use a native thread per psp cpu thread. So it will get faster on newer cpus with multiple cores. Lots of games have several psp threads, one for the game, other for decoding audio… before this release cpu was executed on a single thread, now it will use one windows’ thread per psp thread and executed parallely on multicore cpus withouth any penaly of switching psp threads because it won’t switch anything.
  • Gpu morphing and skinning!
  • Synchronized components throgh mutex and events instead of polling. (Still not perfect). A better and faster design that eliminates some bottlenecks.
  • More homebrew compatibility!
  • Now using eclipse as IDE, using DDT to get autocompletion! Much more productivity.
  • Cleanups
  • More APIs implemented
  • hq2x and output scaling…
  • Cheats (enabled by command line)
  • Command line tools for advanced users. “pspemu.exe –help” to see a list of commands.
  • Lots and lots of work
  • Background music (Atrac3+ support) with SonicStage (and WaveOut Codec) installed.
  • And more…

Notes and expectations:

  • At this moment it has been a single person work.
  • Still uses a cpu interpreter. Even with multithreading, it will be slower than jpcsp and pcsp on most scenarios where the cpu usage is critical. It will get much faster when implementing the cpu dynarec and one of the fastests out there. I’ll do that after getting some more compatibility and after some cleanups.
  • Still not using shaders. It uses plain OpenGL 1.1 so it has to rebuild every texture whenever clut changes. I will implement shaders later. Also I’m going to check if it’s feasible to decode some things like vertex information or color information using OpenCL.
  • Do not expect getting videos, or getting complex games working at this stage.

Want to help getting this emulator better and better?

Now that I’m using an IDE, and most of the core is fine, the idea of having a team is getting more and more interesting. So:

  • Did you find a bug ? Do you have an idea to improve the emulator ? Report it here !
  • Do you know about the psp’s internals or about the psp’s kernel api or even emulators and want to learn D ? Join us! ( Check the FAQ page to find out why D is one of the best choices to make an emulator ) Also you can let us know how to implement some X functionality.
  • Have lots of games and some spare time? Fill up our compatibility database .
  • Do you know D and want to apply it in a project, or learn how an emulator works or about the PSP platform? Join us!
  • None of the above but still wanting to help? Please, read the final words.

Final words:

You can download the binaries of the emulator here. And check some screenshots of this version here.

And don’t forget to become a fan on facebook! and follow us on twitter!

As always you can follow the changes from google code and download the D Psp Emulator r301 build for windows.