| ScummVM DS A port of ScummVM to the Nintendo DS handheld console by Neil Millstone (agentq) This site is hosted on DrunkenCoders.com. Thanks, dovoto! Visit my personal website. |
### News 15/05/06 - ScummVM DS v0.61 Released Changes in this version: Added MP3 compressed speech support (although it can cause the games to slow down) Fixed save path bug Improved touchscreen accuracy Fixed GBA flashcart reading bug Fixed some graphical glitches Fixed Loom save bug Fixed another Loom audio bug Please note, if you use an SD card, you risk data corruption, as the drivers are not fully stable. Please back up the contents of your SD card before you play. Get it here! 06/05/06 - ScummVM DS v0.6 Released Changes in this version: New games supported: Beneath a Steel Sky, Flight of the Amazon Queen, Gobliiins, and Simon the Sorcerer 1/2 Added support for Supercard SD and M3 SD. Added new DS Options menu (hit select to use it). Added touchscreen offset options. Added new touchscreen reading code from libnds. Fixed screen size issues in FM-TOWNS games. Moved to the latest ScummVM codebase from their SVN repository. Made on-screen keyboard work anywhere in the game. Fixed build issues to use the ScummVM makefiles. Fixed Sam & Max memory issues. Fixed Loom CD audio problems. Get it here! 20/12/05 - ScummVM DS v0.5 Released Changes in this version: CD audio is supported using IMA-ADPCM compressed WAV files Direct file system support now works on the M3 and Supercard CF An on-screen keyboard to name saves Interact with the zoomed view by swapping the screens over with X Zoom in/out by holding L and pressing A or B Scroll the screen with the pen while holding L Improved the way the zoomed view follows the talking character Music support in FM TOWNS games Sound volume improved, and sound glitching fixed Left handed mode Help screen added D-pad controls in the front end Numerous other bug fixes Please note that Supercard SD is not yet supported! Get it here! 28/09/05 - ScummVM DS v0.4 released! Changes in this version: The top screen now shows a zoomed in view of the action, scrolled to the character who's speaking Large speed increase for Adlib music emulation Large speed increase for GBAMP CF card loading Closing the lid now puts the DS in sleep mode Screens are now the right way round on the latest firmware for the M3 player Savegames now save in the selected folder rather than the root Dialog no longer skips when you scroll the screen down as it's playing The console no longer appears during gameplay by default, toggle it using the Y button. Implemented screen shake function Get it here! 04/08/05 - ScummVM DS v0.3 released! Thanks to Zhevon for contributing the Sam & Max cursor code. Changes in this version: Full GBA Movie Player support, including save/load. This means full talkie games are playable! Rewritten blit operations in assembler, causing a speed increase. Fixed crashes in Indiana Jones and the Fate of Atlantis Added Indiana Jones fight mode. Use the options menu to enable it. Fixes SRAM clear keypress sometimes not being detected Prevented temporary saves from being saved to SRAM on flash cart version. Added alternative controls for Sam and Max. Cursor is displayed on the top screen, and D-pad right switches modes. Get it here! 22/07/05 - ScummVM DS v0.2 released! Right everyone, it's time for an update. First, thank you to everyone who has donated to ScummVM DS, I greatly appreciate it, and have bought a GBA MP with the money. So when it arrives, I'll be adding support for it. For now, here's version 0.2 for you. Changes in this version: Crash bug after playing for a while has been fixed All games have a performance boost Saves are compressed in SRAM allowing more than one Saves don't get lost at random any more Engine configuration is saved into SRAM Added option to clear SRAM (hold L+R on startup) Indiana Jones and the Fate of Atlantis now works The sound glitches are reduced Get it here! ### What is ScummVM DS? ScummVM is an interpreter that allows you to play Lucasarts' back catalog of point and click adventure games on modern computers. I didn't write ScummVM, that honour goes to the ScummVM team. ScummVM is written in portable C++ and has been ported to many differnet platforms, and I have made a port of it to the DS. This means that you can play all these classic games on the DS with full sound. ScummVM DS is under constant development, so don't be surprised if you find bugs or games that don't work. ### Features Runs nearly all of Lucasarts' SCUMM games up to and including Sam & Max Hit the Road Runs many non-Lucasrts point-and-click adventures too Supports sound Supports multiple games without reflashing Supports using the DS touch screen for controls Suports saving games to compatible flash cards All games run at pretty much full speed ### How to Get ScummVM DS Onto Your DS ScummVM DS doesn't currently run on any DS emulator. To use ScumMVM on your DS, you will need a GBA flash card, and a copy of the Lucasarts SCUMM game you want to run. Don't ask me how to get the games, they are still copyright works, so can't legally be copied. You could try eBay for secondhand copies. You can also use demo versions of the games which you can get from the ScummVM website. The method you use to get ScummVM to run will depend on which firmware version your DS runs. This depends when you bought your machine, and basically the earlier the better, as Nintendo has been quick at fixing the flaws we use to get code running. To check your version (using the method discovered by MaHe), insert any DS game, boot up the DS, enter Pictochat room A, and remove the DS cartridge. What you see will indicate which firmware version you have. V1: DS will freeze, when you remove the cart. V2: Screen goes grayish blue V3: Screen goes dark green V4: Screen goes yellow V5: Screen goes magenta iQue FW: Screen goes dark green If you have versions 1 to 3, you have two options to get code running on your DS. Buy a PassMe, or PassMe2 from here. I have bought from this guy, and he delivers reliably. Get a PCI wifi card for your PC that has the RTL-2500 chipset in it, and use the replacement drivers for this card called WiFiMe. If you have version 4 or above, you will need a PassMe2 which you can buy here. There are several more commercial versions of this device which work in the same way. Regardless of which boot method you use, you'll need something to store your games, and here the options are many. GBA Movie Player V2 (this can only be used for firmware version 1 - 3) M3 Adaptor/Supercard GBA flash cart (there are many companies which offer these, all should work) Once you have code booting, you can install replacement firmware on your DS. This is called FlashMe, and it removes the need to use a PassMe1/2 or WifiMe to boot your DS each time you want to run code. I did say it was complicated! If you're lucky, you may find a kind soul that would be willing to install FlashMe on your DS for you. I'll do it for you if you can get to London! Try posting a message on this forum thread. You'll find plenty of information on how to use these various methods by searching on Google. ### How to Get ScummVM DS Onto Your DS - With a GBA Flash Cart Download the binary release of ScummVM DS from this page. Unzip the archive into a folder. Store your game files into a zip file, making sure to choose the 'No compression' option. If you don't do this, it won't work. If you have more than one game, put them in different folders in the ZIP. Check to see whether the games you have are supported by build A or B, using the table of supported games below. You cannot mix games from builds A and B in the same Zip. Put the zip file into the directory with ScummVM DS, calling it 'scummdata-a.zip' or 'scummdata-b.zip', depending on which build you're using. Make sure the games will fit on your flash card. The total size off the games cannot exceed 30Mb because of the limitation of the GBA cart bus. Double click on the builddata-a.bat or builddata-b.bat as appropriate file to build your ROM image Using your GBA flash cartridge software, burn 'scummvm-a-widthdata.ds.gba' or 'scummvm-b-withdata.ds.gba' onto your flash cartridge. Boot your GBA using PassMe, FlashMe, or WiFiMe as appropriate Enjoy! If it doesn't work, check that your ZIP file is built with no compression! ### How to Get ScummVM DS Onto Your DS - With a GBA Movie Player and CompactFlash Card Upload replacement firmware onto your GBA Movie Player. This allows the device to boot code on your DS. Using the table of supported games below, decide whether you need to use build A or build B. Place the ScummVM-a.nds or ScummVM-b.nds file from the ScummVM binary archive onto your flash cart. Rename it _BOOT_MP.nds for it to run on boot. Place the SCUMM game you want to play on the flash card in any directory Boot your GBA Movie Player with a PassMe, FlashMe, or WiFiMe as appropriate Enjoy! ### How to Get ScummVM DS Onto Your DS - With an M3 or Supercard Using the Supercard and M3, you will put your data anywhere on the CF card, as with the GBAMP V2. I don't have either of these devices so I can't really be of help with the details, but there is a guide for booting the Supercard here. and a guide for booting the M3 here. If anyone would like to write a step-by-step guide and send it to me, I'd be very grateful! For the supercard, you must use the .ds.gba version of ScummVM, but renamed (not converted) to .nds. ### Which games are compatible with ScummVM on the DS? I'm glad you asked. Here is a list of the compatible games in v0.6. Demo versions of the games listed should work too. Flight of the Amazon Queen and Beneath a Steel Sky have generously been released as freeware by the original authors, Revolution Software. This is a great thing and we should support Revolution for being so kind to us. You can download the game data from the official ScummVM download page. The other games on this list are commercial, and still under copyright, which means downloading them without paying for it is illegal. You can probably find a second-hand copy on eBay.
Game | Status | Supported by build | Notes
Manic Mansion | Fully working | A |
Zak McKracken and the Alien Mindbenders | Fully working | A |
Indiana Jones and the Last Crusade | Fully working | A |
Loom | Fully working | A |
Passport to Adventure | Fully working | A |
The Secret of Monkey Island | Fully working | A |
Monkey Island 2: LeChuck's Revenge | Fully working | A |
Indiana Jones and the Fate of Atlantis | Fully working | A |
Day of the Tentacle | Fully working | A | Minor slowdown in a few scenes when music is enabled
Sam & Max Hit the Road | Fully working | A | Major slowdown in a few scenes when music is enabled
Beneath a Steel Sky | Fully working | B |
Flight of the Amazon Queen | Fully working | B |
Gobliiins | Fully working | B |
Simon the Sorcerer 1 | Fully working | B | Zoomed view does not follow the speaking character
Simon the Sorcerer 2 | Fully working | B | Zoomed view does not follow the speaking character

There is no support for Full Throttle, The Dig, or The Curse of Monkey Island because of memory issues. There simply is not enough RAM on the DS to run these games. Sorry. Also there is no support for Humongous Entertainment games. The extra code required to make this work uses up enough RAM to stop many of the other games from working. ### How to Use ScummVM Once you've booted up ScummVM, you'll see the start up screen. Tap the 'Add' button with the pen, then browse to the folder in the ZIP file containing your game data. If you didn't use folders, the data will be in the root, and you just need to tap the 'Choose' button. You will get some options for the game. You can usually just click 'Ok' to this. Now click on the name of the game you want to play from the list and click 'Start'. Your game will start! You can use the B button to skip cutscenes, and the select button to show an options menu which will let you tweak the DS contols, including switch between scaled and unscaled video modes. The text is clearer in the unscaled mode, but the whole game doesn't fit on the screen. To scroll around, hold either shoulder button and use the D-pad or drag the screen around with the stylus. Even in scaled mode, a small amount is missing from the top and bottom of the screen. You can scroll around to see those areas. The top screen shows a zoomed-in view. This scrolls around to focus on the character who's speaking, and also follows where the pen touches the screen. You can change the zoom level by holding one of the shoulder buttons and pressing B to zoom in and A to zoom out. Press the start button for the in-game menu where you can load or save your game. If you are using a flash card adaptor, such as the GBAMP, Supercard, or M3, saves will write directly to your flash card. You can choose the folder where they are stored using the GUI that appears when you boot up. If you're using a GBA Flash Cartridge, or an unsupported flash card adaptor, you will be using GBA SRAM to save your game. Four or five save game will fit in save RAM. If you save more games than will fit, a warning will appear on the top screen. When you turn your DS off, the new save will be lost, and only the first ones you saved will be present. Many of the games use both mouse buttons. Usually the right button performs the default action on any object you click on. To simulate this with the DS pen, you can switch the input into one of three modes. Press left on the D-pad to enable the left mouse button. Press right on the D-pad to enable the right mouse button. Press up on the D-pad to enable hover mode. In this mode, you won't click on anything, just hover the mouse cursor over it. This lets you pick out active objects in the scene. An icon on the top screen will show you which mode you're in. ### Converting your CD audio ScummVM supports playing CD audio for specific games which came with music stored as standard music CD tracks. To use this music in ScummVM DS, they need to be ripped from the CD and stored in a specific format. This can only be done for the CD versions of certain games, such as Monkey Island 1, Loom, and Gobliiins. All the floppy games and CD games that didn't have CD audio tracks for music don't require any conversion, and will work unmodified on ScummVM DS. Cdex can do the conversion very well and I recommend using it to convert your audio files, although any CD ripping software can be used, so feel free to use your favourite program. The format you need to use is IMA-ADPCM 4-bit Mono. You may use any sample rate. All other formats will be rejected, including uncompressed WAV files. Now I will to describe how to rip your CD tracks with Cdex, which can be found here: Cdex Homepage To set this up in Cdex, select Settings from the Options menu. On the Encoder tab, select 'WAV Output Encoder'. Under 'Encoder Options', choose the following: Format: WAV Compression: IMA ADPCM Samplerate: 22050 Hz Channels: Mono On the fly encoding: On Next, go to the 'Filenames' tab and select the folder you want to save your Wav files to. Under 'Filename format', enter 'track%3'. This should name your WAV files in the correct way. Click OK. Now select all the tracks on your CD, and click 'Extract CD tracks to a compressed audio file'. Cdex should rip all the audio off your CD. Now all you have to do is copy the newly created WAV files into the same directory that your other game data is stored on your CompactFlash card. Next time your run ScummVM DS, it should play with music! ### Game-specific controls Sam and Max Hit the Road: The current cursor mode is displayed on the top screen. Use d-pad right to switch mode. Indiana Jones games: If you get into a fight, press Select, and check the box marked 'Use Indy Fighting Controls'. Return to the game, then use the following controls to fight: D-pad left: move left D-pad right: move right D-pad up: guard up D-pad down: guard down Y: guard middle X: Punch high A: Punch middle B: Punch low Left shoulder: Fight towards the left Right shoulder: Fight towards the right The icon on the top screen shows which way you're currently facing. Remember to turn the option off when the fight ends, or the normal controls won't work! Beneath a Steel Sky: Press D-pad down to show your inventory. Simon the Sorcerer 1/2: Press D-pad down to show active objects. ### To-do List A lot of the source could do with cleaning up! ### Contributors Thanks to zhevon for the Sam & Max cursor code. ScummVM DS uses chishm's GBA Movie Player FAT driver. Thanks also to everyone on the GBADev Forums. ### Getting Help If you have problems getting ScummVM to work on your hardware, feel free to post on the DSdev forums for help. Please do your research first though. If you don't have a modded DS, a PassMe, or a WiFiMe compatible Wifi card, there's no way of running this. Most of these things are fairly inexpensive though. If you want to contact me, please email me on scummvm at millstone dot demon dot co dot uk. If you want to help with the development of ScummVM DS, great! Download the source code and get building. There are plenty of things left to do. You can also help by making a donation if you've particularly enjoyed ScummVM DS. This uses Paypal, and is completely secure. There's no pressure though, ScummVM DS is completely free. This is just for those who would like to make a contribution to further development. ### Building from Sources To build ScummVM DS, you will need libnds, which you can get here. You will also need devkitARM. I use r17. To build, just enter /scummvm/backends/ds and run 'make'. When you've built the binary, run 'builddata.bat' to append the data onto the end of the binary.