Difference between revisions of "Dreamcast"
m (update DreamcastControls link) |
(→Notes on CD mastering: Add basic linux script for doing this.) |
||
(27 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{PortFeatures| | ||
|version= | name=Dreamcast| | ||
| | backend=dc| | ||
| | version={{StableVersion}}| | ||
status=Maintained| | |||
mp3=yes| | |||
| | uncompressed=yes| | ||
| | zlib=yes| <!-- old info: 1.2.3 --> | ||
plugins=yes| | |||
16bits=yes| | |||
buildbot=yes| | |||
firstversion=0.3.0b| | |||
maintainer=[[User:Zeldin|Zeldin]]| | |||
packager=[[User:Zeldin|Zeldin]]| | |||
pkgend=-dreamcast-plainfiles.tar.bz2| | |||
forum=9| | |||
icon=dc| | |||
agi=yes| | |||
agos=yes| | |||
cine=yes| | |||
cruise=yes| | |||
draci=yes| | |||
drascula=yes| | |||
gob=yes| | |||
groovie=yes| | |||
kyra=yes| | |||
lure=yes| | |||
made=yes| | |||
parallaction=yes| | |||
queen=yes| | |||
saga=yes| | |||
scumm=yes| | |||
sky=yes| | |||
sword1=yes| | |||
sword2=yes| | |||
teenagent=yes| | |||
tinsel=yes| | |||
touche=yes| | |||
tucker=yes| | |||
}} | }} | ||
== About == | == About == | ||
ScummVM was also ported to the Dreamcast [[Platforms|platform]]. The Dreamcast port uses it's own custom Graphical User Interface, which automatically scans the disc for games, and adds the games to the list through ScummVM's built-in autodetection. This usually works well, but sometimes games will show up on the list twice, incorrect games will show up with the correct game (especially true with the early V1 and V2 SCUMM games), and quite rarely the game will not show up on the list at all. ScummVM for the Dreamcast supports disc swapping from the GUI, and will rescan once a new disc is inserted and repopulate the gameslist. There is currently no way to manually add games to the gameslist in ScummVM for Dreamcast. | ScummVM was also ported to the [[Sega]] Dreamcast [[Platforms|platform]]. The Dreamcast port uses it's own custom Graphical User Interface, which automatically scans the disc for games, and adds the games to the list through ScummVM's built-in autodetection. This usually works well, but sometimes games will show up on the list twice, incorrect games will show up with the correct game (especially true with the early V1 and V2 SCUMM games), and quite rarely the game will not show up on the list at all. ScummVM for the Dreamcast supports disc swapping from the GUI, and will rescan once a new disc is inserted and repopulate the gameslist. There is currently no way to manually add games to the gameslist in ScummVM for Dreamcast. | ||
The mouse cursor can be controlled with the standard Dreamcast controller. The D-pad supplies slow cursor movement, and the analog stick provides faster cursor movement. The A button acts as the right mouse button, and the B button acts as the left mouse button. There is a virtual keyboard that can be brought up by pressing the left trigger button, that will emulate keyboard input. The Dreamcast mouse and keyboard peripherals are also supported. The Visual Memory Unit is supported for saving and loading savegames. Autosave is enabled on the Dreamcast, so each game will use some memory blocks (between 2 and 13) for the autosave in save slot 0, as well as save blocks for any user specified save game. When a game is saved, the VMU beeps, and a prompt is displayed on the screen letting you know that the game has been saved (this occurs with autosaves as well). | The mouse cursor can be controlled with the standard Dreamcast controller. The D-pad supplies slow cursor movement, and the analog stick provides faster cursor movement. The A button acts as the right mouse button, and the B button acts as the left mouse button. There is a virtual keyboard that can be brought up by pressing the left trigger button, that will emulate keyboard input. The Dreamcast mouse and keyboard peripherals are also supported. The Visual Memory Unit is supported for saving and loading savegames. Autosave is enabled on the Dreamcast, so each game will use some memory blocks (between 2 and 13) for the autosave in save slot 0, as well as save blocks for any user specified save game. When a game is saved, the VMU beeps, and a prompt is displayed on the screen letting you know that the game has been saved (this occurs with autosaves as well). | ||
The Dreamcast has no external storage medium, and only has 16MB of RAM. As such, the Dreamcast port of ScummVM does not support The Curse of Monkey Island, nor the Dig. The resources required for these games are too great for the Dreamcast to handle. Full Throttle is not completable. Every other game supported by ScummVM should be completable with the Dreamcast port. | The Dreamcast has no external storage medium, and only has 16MB of RAM. As such, the Dreamcast port of ScummVM does not support The Curse of Monkey Island, nor the Dig. The resources required for these games are too great for the Dreamcast to handle. Full Throttle is not completable. Every other game supported by ScummVM should be completable with the Dreamcast port. | ||
==Controls for ScummVM on the Dreamcast== | ==Controls for ScummVM on the Dreamcast== | ||
{{DreamcastControls}} | {{DreamcastControls}} | ||
== 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 <tt>mkisofs</tt>, this can be achieved by using the <tt>-relaxed-filenames</tt> option to allow any ASCII character in filenames, <tt>-d</tt> option to omit trailing periods from filenames with no suffix (violates ISO9660) and <tt>-l</tt> 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: | |||
<pre> | |||
#!/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 | |||
</pre> | |||
== 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 [http://buildbot.scummvm.org/builds.html 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. Thus as previously noted, 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 == | == External links == | ||
*[http://forums.scummvm.org/viewforum.php?f=9 ScummVM Dreamcast forum] | *[http://forums.scummvm.org/viewforum.php?f=9 ScummVM Dreamcast forum] | ||
Revision as of 22:26, 17 November 2014
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 was also ported to the Sega Dreamcast platform. The Dreamcast port uses it's own custom Graphical User Interface, which automatically scans the disc for games, and adds the games to the list through ScummVM's built-in autodetection. This usually works well, but sometimes games will show up on the list twice, incorrect games will show up with the correct game (especially true with the early V1 and V2 SCUMM games), and quite rarely the game will not show up on the list at all. ScummVM for the Dreamcast supports disc swapping from the GUI, and will rescan once a new disc is inserted and repopulate the gameslist. There is currently no way to manually add games to the gameslist in ScummVM for Dreamcast.
The mouse cursor can be controlled with the standard Dreamcast controller. The D-pad supplies slow cursor movement, and the analog stick provides faster cursor movement. The A button acts as the right mouse button, and the B button acts as the left mouse button. There is a virtual keyboard that can be brought up by pressing the left trigger button, that will emulate keyboard input. The Dreamcast mouse and keyboard peripherals are also supported. The Visual Memory Unit is supported for saving and loading savegames. Autosave is enabled on the Dreamcast, so each game will use some memory blocks (between 2 and 13) for the autosave in save slot 0, as well as save blocks for any user specified save game. When a game is saved, the VMU beeps, and a prompt is displayed on the screen letting you know that the game has been saved (this occurs with autosaves as well).
The Dreamcast has no external storage medium, and only has 16MB of RAM. As such, the Dreamcast port of ScummVM does not support The Curse of Monkey Island, nor the Dig. The resources required for these games are too great for the Dreamcast to handle. Full Throttle is not completable. Every other game supported by ScummVM should be completable with the Dreamcast port.
Controls for ScummVM on the Dreamcast
Game Controller Mapping: | ||
Button | Action | Notes |
---|---|---|
Joystick | Move Pointer | |
Directional pad | Move Pointer (slowly) | Also controls the on-screen keyboard |
A | Left Click | |
B | Right Click | |
Y | Space | Pause |
Start | F5 | Load and save |
Left trigger | Bring up/remove the on-screen keyboard | |
X | 5 | For boxing in Indy 3 |
D-Pad + X | 1, 2, 3, 4, 6, 7, 8, 9 | Likewise |
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. Thus as previously noted, 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.