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 for the GP2X - Alpha Test Release 6 - 0.9.0 CVS

ScummVM for the GP2X - Alpha Test Release 6 - 0.9.0 CVS

1st big public release (not on IRC) as I have too many people to send links to now ;).

This is a test release of ScummVM for the GP2X, it would be appreciated if this alpha test distribution was not mirrored and that people be directed to http://www.distant-earth.com/scummvm instead, until the port is a little more mature, to ensure people download the most recent builds.

This build is still in a very heavy state of development and as such no ‘expected’ behaviour can be guaranteed ;).
I tested with firmware 1.2.1 for reference.

INCLUDED ENGINES:

Scumm - (All 320*2xx SCUMM engine games EXCEPT Humongous Entertainment and Scumm Version 7/8 games).
Simon - (Simon the Sorcerer one and two).
Sky - (Beneath a Steel Sky).
Kyra - (The Legend of Kyrandia) – This engine is still under heavy development in ScummVM, however the game is playable.
Gob - (Goblins one)
Queen - Fate of the Amazon Queen

All other game engines are disabled in this release.

SUPPORTED AUDIO OPTIONS:

Raw audio.
MP3 audio.
OGG Vorbis audio (this may be problematic, I just made some big changes to my Tremor code).

RECENT CHANGES:

Remapped button layout to match NK’s ScummVM Korean port. (This is subject to change, feedback appreciated).
Note: Stick click also works as a pseudo ‘select’ button allowing you just use the stick to walk around screens.
Refined audio hacks to reduce audio delay to about 18MS rather then 30MS in Alpha 5.
Now built using SDL 1.2.9 for the parts of the port that use SDL (some parts now hit the hardware directly).
Aspect Ratio Correction can now be disabled ‘per game’. When adding a game you can find this option on the GFX tab.
Note: This will cause the game to run with a black border at the bottom as it will be rendered to a 320*200 frame.

HOW TO SAVE:

Note: Everything is saved to the SD card, saves are stored in the game folder, and the config file for ScummVM is stored in the same place as the GPE.

Ok, this is for Scumm engine games but the principle is the same for all.

In Game.

1. Right Trigger
2. Select SAVE with B
3. Select a position with B
4. Right trigger puts ? in the name box for some text.
5. Press B to save

Basically the emulated keys you have are what I mapped the buttons to ;-), I have a virtual keyboard like the GP32 one (left/right on the stick to pick chars) to add in at some point ;-)

CONTROLLER MAPPING:

This now mostly matches NK’s Korean port; it is very different from Alpha 5. This is subject to change; it still does not ‘feel’ right.

Mouse Emulation

Stick: Move Pointer
Stick Click: ‘light’ Left Click
B: Left click
X: Right click

Keyboard Emulation

Start: Return
Select: Escape
Y: Space Bar (Pause)
Right Trigger: Game Menu (Save, Load, Quit etc.)
Volume Buttons: Increase and Decrease subtitle speed (I really think I should map this to volume again ;))

MAJOR TODOS:

Fix save support when using the Sky engine (Beneath a Steel Sky) – You CAN’T save at the moment.
Look into inconsistencies with Simon engine and map Y key to a button combination to allow clean quitting (Simon 1/2).
Add splash-screen and pre-ScummVM config menu (CPU speed, LCD timings etc.) - Partly done.
Fix TV out, maybe make it an option in the pre-ScummVM config menu.
Fix scalar code and discover why the resulting downscaled screen flickers like mad and looks awful (Main reason the scalar is disable in this release).
Any help appreciated :).

SOURCE:

Port source is available on request. Note this is development code (and VERY messy). Once it is cleaner I intend to submit a path to the ScummVM team.

DOWNLOADS:

ScummVM for the GP2X - Alpha 6 - 0.9.0-CVS

John Willis
Friday 13th Jan - 2006

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