Dreamcast

From ScummVM :: Wiki
Revision as of 15:27, 4 November 2024 by Tag2015 (talk | contribs) (Fix outdated buildbot/frs links)
Jump to navigation Jump to search
dc.png Dreamcast Port
Latest Released Version 2.8.1
Supported Audio Options MP3, Uncompressed
Additional Webpage(s) None
Maintainer(s) Zeldin
Packager(s) Zeldin
Forum Port Forum
Status Maintained
First Official Version 0.3.0b

About

ScummVM has been ported to the Sega Dreamcast platform.

For more information, including how to use ScummVM on the Dreamcast, see the Sega Dreamcast user documentation.

Developer Information

Notes on CD mastering

Some games (e.g. SPY Fox 1: Dry Cereal) use filenames which are incompatible with the ISO 9660 filesystem standard. Because the Dreamcast port does not support filename extensions like RockRidge or Joliet, the CD mastering software needs to be instructed not to mangle the filenames to comply to ISO 9660, or the engine will not be able to open the files. In the case of mkisofs, this can be achieved by using the -relaxed-filenames option to allow any ASCII character in filenames, -d option to omit trailing periods from filenames with no suffix (violates ISO9660) and -l to allow filenames of up to 31 characters in length. For other authoring software, please consult your user manual.

Since the v1.2.1 release, the combined size of the engine plugins is larger than the available memory and thus a disc including all plugins will not work correctly. Only include the plugins for the engines needed when mastering a CD.

On Linux, the following script should burn a suitable CD from the contents of "cd-image-folder" and IP.BIN, though it may need tweaks depending on the cdrecord version used:

#!/bin/sh
dd if=/dev/zero bs=2352 count=300 of=audio.raw
cdrecord dev=/dev/cdrom -multi -audio audio.raw
cdrecord dev=/dev/cdrom -msinfo
# Replace 0,11702 with values from previous command
mkisofs -l -d -relaxed-filenames -C 0,11702 -o tmp.iso cd-image-folder
( cat IP.BIN ; dd if=tmp.iso bs=2048 skip=16 ) > data.raw
# Need to use -xa, NOT -xa1 to ensure that 2048 byte blocks are used. This may vary on different versions of cdrecord
cdrecord dev=/dev/cdrom -multi -xa data.raw

Running Debug Builds

Unlike release builds, development builds can be configured for serial port debugging. If you are compiling yourself, then this can be enabled by passing "--enable-debug" to the configure script.

However, if this is enabled and there is no serial cable attached, or a terminal program is not running on this port, ScummVM will hang at the "SEGA" logo screen or a black screen due to RS232 flow control (the Dreamcast fails to get Clear-To-Send).

If you don't have a serial debugging cable, then you can use the development builds from here which are not marked "with Serial Debug".

Also, the development build plugins are usually larger than the release ones i.e. unstripped/debugging symbols. If the combined size of the engine plugins on the CD is larger than the available memory, this will manifest as either a lock up of ScummVM or as a system reset before the selection menu appears. To confirm this, you can try opening the drive lid either during the "SEGA" screen (in which case no plugins will be loaded), or during the plugin loading (in which case you'd get some of the plugins). If this fixes the issue, too many plugins on the disc is the most likely explanation.

External links