YaK:: WebLog #535 Topic : 2006-07-23 17.59.49 matt : funding PCSX2 on the XBox [Changes]   [Calendar]   [Search]   [Index]   [PhotoTags]   
  [Back to weblog: pretention]  
[mega_changes]
[photos]

funding PCSX2 on the XBox

I want to play a PlayStation 2 game on my XBox. I'm funding some open source development to make that happen.


I've been using video game emulators for a really long time now. The first one I remember was a GameBoy emulator called Virtual GameBoy that I can't remember much about any more. That was 10 years ago and I have since enjoyed how the emulation scene has largely gone open source and stopped a lot of the in-fighting and duplication of efforts. Right now, I'd really like to play a PlayStation 2 game called Katamari Damacy . I've never seen it played, but it's PS2-only and many of my friends really like it. I am not paying Sony a dime for any of their incredibly bad hardware that has given so many of my game developer friends relentless heartache, though.

Thankfully, there's an up-and-coming PlayStation 2 emulator called PCSX2 , which is written by the same folks who wrote a PS1 emulator with a similar name. I started talking to the lead developer, a nice guy from Pakistan. I told him I would donate a chipped XBox (or the money for one) if they could get Katamari beatable and playing at ~15fps on the XBox. This was no minor undertaking -- while their MIPS to x86 recompiler is working well, it still requires a pretty high-powered computer to run games at full-speed. Since I don't care about full-speed (60fps), that helps a bit. He agreed and we came up with this breakdown for the project:

  • Eliminate SSE2 instructions from the x86 code the recompiler emits. (The XBox has Pentium3 which support MMX and SSE, but not SSE2.) For each SSE2 bug, write an automated test that fails when the bug is present and passes when the bug is fixed. (Small test programs compiled for the PS2 should help.) Users and developers should be able to run all the tests with a single command (exe, shell script, whatever).

  • Get Katamari to be beatable (in general). For each bug that gets in the way (IPU hangs, I/O controller bugs, etc), write an automated test that fails when the bug is present and passes when the bug is fixed. Users and developers should be able to run all the tests with a single command.

  • Get Katamari to run at least 15fps consistently on the XBox in 480p mode. For this, there may be no easy way to do automated tests except in the case of making sure the size of the x86 generated code doesn't increase over a set amount for a specific program. To that end, failing the previous tests if the generated x86 code is larger than a set value would be good. Beyond this, using tools like cachegrind and manually looking at loop alignment and whatnot in the generated x86 code might be good places to start. Of course, using the GeForce3 in the XBox to the fullest extent possible would also help ;>

    I'm really excited about this project and it's contribution back to the open source and emulator communities whose fruits I have enjoyed for so many years. I'll post significant updates to this blog, but you should also check out their web page as well.

    Discussion:

    showing all 1 messages     [Show 3 7 *10* 14 30 100 999 days or 10 *30* 50 100 999 messages]

    2006-07-24

    by omin0us:
    just reading this excites me. It sounds like it would be a way fun project to work on.

    Post a new message:

       

  • (unless otherwise marked) Copyright 2002-2014 YakPeople. All rights reserved.
    (last modified 2006-07-23)       [Login]
    (No back references.)