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

By DJWillis On Saturday, January 14, 2006 At 12:09 am
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

for this post

 
Anonymous Anonymous Says:

Very nice, I hope a GP2X backend can be created soon! ;)

 
 
Blogger DJWillis Says:

Thanks :).

I assume you missed the download at the bottom of the page for the GP2X version. Just pop it on an SD and test it.

 
 
Anonymous Anonymous Says:

I tried it, it's the best Scummvm port for gp2x for me ! :)
I just miss the pointer moves (slow, then fast; it would be more playable like on your GP32 version).

But it's a great job !!!

 
 
Blogger DJWillis Says:

Lagagaffe,

Drop me an e-mail with any comments you have, they are always valuable.

John

 
 
Anonymous Anonymous Says:

Very great job!

It's nice to see the old classic games on this machine (DotT and Indy4 run on my machine).

There's one issue that makes it impossible to play Monkey Island 2 (and maybe other games). There is a copy protection at the beginning where you have to enter numbers to get in. The ScummVM readme says that the copy protection isn't checked. That means that you can enter every number and you get in. On my PC this works well by entering e.g. only "11".

Could you please assign a button (e.g. the left trigger) from the GP2X to "1" to make a valid input?

 

Leave a Reply