[Scummvm-devel] Doing a new port?

Eugene Sandulenko sev at scummvm.org
Sun Sep 19 02:15:01 CEST 2004


David Given writes:
 > I'm interested in doing a port for an embedded OS called intent. Where's a 
 > good place to look for documentation on how to do this?
You need to implement for your system these things:

  o OSystem class (common/system.h). That's graphics, input controls,
    timers, mutexes, sound wrappers. Most complete implementation is
    for SDL (backends/sdl/)

  o (probably) Filesystem class (backends/fs/fs.h). You should do it
    if your file system differs from POSIX.

  o (most ptobably) implement custom MIDI driver based on MPU401
    (sound/mpu401.h which in turn is implementation of virtual class
    sound/mididrv.h).
 
That's basically everything if your memory model is full-featured. If
it is deficient like on PalmOS, or you don't have enough memory like
on DreamCast, you will have to do additional disabling of some
engines/games/scummvm features or whatnot.

There is a thing which you need to be aware of. There is an undergoing
work on rewriting internal ScummVM GUI. Draft of proposed OSystem
implementation is at (work in progress)

  https://sourceforge.net/tracker/index.php?func=detail&aid=1013937&group_id=37116&atid=418822

In short, there will be 640x400 or 640x480 interface with fancy
grpahics, logos, screenshots etc. But 320x200 fallback will be left as
well as not every system has enough screen space.

 > a multi-channel sound mixer
MIDI driver see item 3 in above list.

 > with ogg ... built in
This will require some work. Currently we just pipe decompressed
stream to our mixer which in turn pipes it to raw device. To make use
of your system feature you will need to propose appropriate changes to
scummvm core.

 > I *am* debating trying to port SDL first; this would be useful for other 
 > projects besides ScummVM, but will add to the overall code size. Can anyone 
 > comment on the pros and cons of using SDL versus a real native port?
Just more work on first porting and you will need to keep up-to-date
with OSystem changes. With SDL you have it all free of charge.


Eugene




More information about the Scummvm-devel mailing list