Project Log: ScummVM for the GP2X

This project log contains information on my, now official, port of the wonderful ScummVM virtual machine to the GP2X platform.

ScummVM: Another status update

I have just posted this WIP to GP32Xtream so I figured I would copy it here.

Regarding the status of gpScumm, here is a little WIP. I have the ph0x’s/my code working well enough on the ScummVM 0.5.1 code base (and CVS code) but performance in some newer games is shockingly bad. Sam and Max and the non-LucasArts games are not really playable (slow or buggy) currently. I have just figured out tonight how (I think) to get it all to build using ARM ADS so if the performance claims are true that could lead to a healthy speed up of maybe even 5-8% over GCC. Other then that there are some fixes to the sound code, save code and a few general speedups/tweaks and little changes to the port, nothing too major. All the fixes that went into the core ScummVM engine from 0.3 > 0.5 are also in there (obvious really).

As soon as I can get most games up to a playable speed then I intend to chuck a public beta and source out of the door. I don't really see the point in releasing a version that is little better then what is already out (or in some cases much slower).

I am also working on adding OGG (libTremor) and MP3 (libMAD) support to gpScumm but a number of issues make that quite slow going, namely the lack of memory on the GP32 and the CPU cycles required to decode the MP3/OGG stream and the fact that fmOPL (the engine ScummVM uses for AdLib synthesis) is a CPU hog on the GP32 making it very hard to get game, MIDI and MP3 or OGG working in the 133MHz speed limit. I have no problem with overclocking but I am dammed if you will have to overclock the program just to get it to work.

Also, the fact that I am really not that good a programmer does not help. I am fairly sure I’ll get it working in the end (I have some great offers of help) but don’t hold your breath.

ScummVM: Status update

Spent a little bit of time over the weekend working on gpScummVM and I have started to submit some small patches to the main ScummVM project. If the current builds out with testers come pack without too many problems I'll try and get a beta out (minus OGG and MP3 for now) soon as this has been hanging about on the backburner for much too long without a release.

Sam and Max is still causing horrendous performance problems but at least BASS and Simon support is starting to get to the useable stage. Mouse speed is also slower then in Ph0x's older version :(.

Rob Brown (of gpDoom fame) has kindly offered to look at ways that his direct DMA code for GFX and Sound could be used in gpScummVM. Considering a lot of his code is hand optimised ASM this could bode well for performance.

Also worth noting that the gpScummVM code is now being built against the direct CVS code and not ScummVM 0.5.1. This means that any release will be considered Alpha until ScummVM 0.6.0 comes along but it also means that all the recent BIG changes to ScummVM are reflected in the GP32 version (and this is a VERY good thing).

I also knocked up a title screen and have been giving the config menus a smartening up.

Previous 10 Posts

Archives

  • August 2008
  • March 2008
  • January 2008
  • December 2007
  • November 2007
  • June 2007
  • May 2007
  • February 2007
  • January 2007
  • October 2006
  • September 2006
  • August 2006
  • February 2006
  • January 2006
  • June 2005
  • May 2005
  • March 2005
  • February 2005
  • January 2005
  • January 2004
  • December 2003
  • October 2003
  • August 2003