sábado, 1 de diciembre de 2012

About pspautotests project

Forgot to write about this last time. I created mid last year a project called "pspautotests". I created it to be able to automatically test features on all psp emulators. I initially implemented it in my emulator, then I ported it to jpcsp. With the developement of the new awesome project ppsspp that started using that project, the work on that project have been increased a lot; lots of new tests, fixed stuff and a new system for the output.
The project have been moved to github: https://github.com/hrydgard/pspautotests/ and anyone can commit new tests.

Since cspspemu, jpcsp and ppsspp emulators are using this project, all the improvements here, will yield in better emulator implementations.

I dropped lot of compatibility with my last changes as I said. I think it was a necessary step-back that will improve speed in next releases and even more in the future when implemented more AST optimizations, that will be a good thing specially when ported to mobile devices. The good thing is that with pspautotests project improving a lot, any regressions introduced with new features or step-backs will be much easyly detected and will be fixed faster.

I want to thank Hrydgard to decide using pspautotests. Thanks!

viernes, 30 de noviembre de 2012

More WIP work

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!

lunes, 9 de julio de 2012

Still alive and a new contributor

The pace of the development slowed down last month. (I didn't have too much time lately). I want to resume my work soon, maybe in a couple of weeks or maybe in my spare time sooner.

About three days ago SsJVasto offered to contribute to the project. So now we are three people on the project: SsJVasto, archanox and me. Due to the free limitations of bitbucket, we decided to continue the work directly on github, and maybe we will change the name of the emulator when we have settled a new name (with collaborators "soywiz's psp emulator" doesn't have much much sense anymore).


I will continue with ILCC until I get ffmpeg compiling directly into .NET in a really portable fashion without wrappers, then I will hook it into the emulator and then I will continue working on the emulator :)

And that's the current status.

sábado, 19 de mayo de 2012

More news about ilcc (and a working sample/benchmark) .NET C Compiler

I have reached a new milestone. I have been fixing bugs and now I can compile and run successfully one of my programs. It is a compression tool, that is great for benchmarking. So I have made a benchmark to test the performance of the .NET code in terms of the native code.

Project:
https://github.com/soywiz/ilcc

You can try the sample by yourself:
https://sites.google.com/site/cspspemu/downloads/comptoe_ilcc.7z?attredirects=0&d=1

Native executables are build using microsoft c/c++ compiler with "cl /Ox" (maximum optimizations).

---

comptoe_ilcc.exe -c3 file.7z file.7z.c3
Encoding[03] file.7z -> file.7z.c3...Success
Elapsed: 1225

---

comptoe_native_cl_x86.exe -c3 file.7z file.7z.c3
Encoding[03] file.7z -> file.7z.c3...Success
Elapsed: 810

miércoles, 16 de mayo de 2012

About the progress and a new awesome (and related) project! : ilcc

Lately we are commiting much less to the project that before. That's because I'm working on another project. It is a project related to cspspemu. Indeed I started that project to cover an unimplemented area of the emulator in the best possible way: the video decoding part.

So, which project I have started? I tried to port ffmpeg code to C# by hand, and overwhelmed for the titanic work. Other way would have been to create pinvokes for the ffmpeg DLLs, but I don't like the idea since I would like it to be portable. So what's my approach?

To compile ffmpeg into .NET. How? With the project I'm working on:

ILCC


lunes, 7 de mayo de 2012

EmuReleases.com and new WIP/GIT releases!

I have created a new site where I will put all the WIP/GIT releases.

http://www.emureleases.com/

I have added in the left side a feed with the lastest builds so you can grab and test them.

You can try the last build:
http://www.emureleases.com/2012/05/git-soywiz-psp-emulator-2012-05-08-r349_08.html

I won't say what includes exactly until the official release, but it can run some more games, and other games that hanged randomly or went slow are now running smoothly.

Tested games:

  • Puzzle Bubble (WIP BEZIER)
  • Tales of Eternia (no more hangs)
  • Astonishia Story (no more hangs)
  • Breath of Fire III   (no more hangs)
  • Luxor (it seems to run fine)
  • Phantasy Star Portable (now get into the menus and display some text)
  • Tekken 5 (now get into the menus)
This includes portuguese and italian translations:

  • Portuguese: e-COS
  • Italian: gambe
  • Spanish: me
Now that you have all the builds, you can try several builds in order to check for regressions.