TheStick's MoonShell Tutorial: How to install, customize, use, and more
From M3 Wiki
- Original thread here: http://scdev.org/forum/viewtopic.php?t=6760 to Version 1.41 (updated by onekelly)
Today I'm going to explain how to install and use MoonShell, the DS's fabulous multimedia player. MoonShell can play music (mp3, ogg), videos (dpg converted with the bundled converter or BatchDPG), view pictures (jpg, gif, bmp, png), and text (basic txt format only).
(MacLike skin)
Contents |
What you need
First, you'll need a flashcart. Either a standard one with flash memory (EZFA, F2A...), or one with external memory cards such as CF/SD/miniSD... (SuperCard, M3, GBA MP, EZ4...).
You'll also need:
- A PassMe (also known as SuperKey, SuperPass 1&2, Passkey, EZpass, Max Media Launcher...), FlashMe, or WifiMe
- A DS
- A memory card reader
Downloads and pre-made packages
If you are in a hurry and want to get started quickly, just grab dpgtools (or BatchDPG), one of the pre-made packages below (see the pre-made packages section), and start reading from section 5 of this tutorial
- MoonShell 1.41, latest version, for all flashcarts, now with Dpgtools 1.1+1 now included (tool which converts videos to MoonShell's native format, dpg):
- BatchDPG, a great alternative to dpgenc (from dpgtools) that makes much higher quality encodes:
Click here and download the Full version
AviSynth, needed by BatchDPG
.NET Framework 1.1 or higher, need by BatchDPG before running
Pre-made packages
These are for those who are impatient/newbies or just plain lazy, and just want to have a functional MoonShell and a nice skin without having to go through steps 2, 3 and 4 below. Please note that they are still customizable and you can change the skin, settings, etc. anytime:
MoonShell for GBAMP/AdMovie (see notes below)
MoonShell for SuperCard CF (Moonshell reset for SC is included, launch it from within MoonShell to go back to the SC menu)
MoonShell for SuperCard SD/miniSD (moonshell reset included)
MoonShell for SuperCard Lite (patched with romman's MoonShell patcher) (moonshell reset included)
MoonShell for EZ-Flash 4 MicroSD (see notes below)
MoonShell for Ewin2 MicroSD (see notes below)
MoonShell for MagicKey 2-3 SD (see notes below)
MoonShell for NinjaDS SD (see notes below)
MoonShell for flashcarts (EZFA, F2A, etc): Special instructions: unzip, put media files in files_EXFS folder, run CreateNDSROM_for_EXFS.bat, then flash the newly created .ds.gba or .nds (depends on your flashcart).
The MacLike skin is included. All you need to do is download the correct zip file for your flashcart, unzip it to the root of your CF/SD, and that's it.
If you use one of these packages, you can ignore section 2, 3, and 4 of this tutorial and hop on to section 5: MoonShell usage.
Notes for certain versions Straight from the Moonshell program.
- for GBAMP/AdMovie - When other automatic execution BOOTROM exists, it overwrites.
- for EZ-Flash4 - This cannot be written. The resume and bookmark cannot be used.
- for Ewin2 - Requests the firmware version 1.90.
- for MagicKey2-3 - Because the transfer rate is slow, DPG cannot be performed.
- for NinjaDS - Because the transfer rate is slow, DPG cannot be performed.
Note: I do not own any of the noted carts, and will not be able to answer issues with the above noted.
Also visit The Official Website for news, older versions, a SDK, and more.
Customize and install MoonShell
Start by inserting your CF/SD in your card reader and hooking it up to your computer (you don't have to, but it does make things a bit easier). Then go where you extracted the MoonShell zip file, and launch Setup.exe:
Choose between Japanese and English here (and check the box to save the setting so it doesn't ask you again next time), and press OK
Then choose the letter corresponding to your CF/SD, and press OK. You can also choose one of your hard disks (C:, D: etc.), and once Setup is done, copy the newly appeared files (BOOT_MP*.nds and the "shell" folder) on your CF/SD.
Choose "EXFS for FlashCart" if you own an ordinary flashcart.
After pressing OK, you'll have this:
This is the main interface. Let's check it out part by part:
Start by checking these 6 boxes. It's useful, and if you change your mind later you can just delete the extra files from the "shell" folder).
Check the box if you want to activate the clock plugin. It's a clock that appears on the top screen when the DS in inactive (just like a screen saver). Use the drop-down list to choose the type and style of the clock.
This drop-down list determines the type of character encoding MoonShell uses. Especially useful if you listen to music with tags in other languages, such as Japanese, Korean, Chinese... Leave the default setting if you don't know what this is for.
Here, check the box corresponding to your linker in the "Rom image" section, and uncheck the others. This should be straightforward.
When you're done, click the Setup button.
An nds file and a "shell" folder will appear on your CF/SD. Before closing itself, setup will ask you if you want to edit the global.ini file. See below for more details on this file.
- shell: This folder contains a file called global.ini. This file is used to pass configuration options to MoonShell, and you should have a look at it. The file is self-explanatory, just open it up in a text editor, and everything is explained inside.
In the directory where you extracted the MoonShell zip, there is a folder called misc, which contains another folder called "skins".
- skins: As you might have guessed, this folder contains skins for MoonShell. Each folder corresponds to a different skin. Look at the preview.png file (which is in each skin's folder) to see what the skin looks like. Once you chose one, copy everything that's in the folder and paste in the "shell" folder of your CF/SD. If you did things correctly, you should get a message asking you if you want to overwrite some files. Say Yes.
If you downloaded a skin from the Internet, the procedure is the same. Copy all the .bmp and skin.ini to the shell folder.
Now, let's feed some media to MoonShell.
You own an ordinary flashcart (EZFA, F2A...)
With this kind of flashcart, you are limited to 30Mb of data (mp3/dpg/jpg...). Once MoonShell is extracted and customized ( see 2- ) put your media files in the files_EXFS folder (if you can't find it, it means you haven't run Setup.exe yet), then run CreateNDSROM_for_EXFS.bat. This batch file will create a _BOOT_MP_EXFS.ds.gba. Just flash it and use it.
You own a GBA MP, an M3 CF/SD, a SuperCard CF/SD, an EZ4...
Once MoonShell is extracted and customized ( see 2- ), just copy your mp3, dpg, jpg and other files to your CF/SD, and run MoonShell on your DS. As opposed to an ordinary flashcart, there is no limit to the total size of the media (except the size of your CF/SD).
MoonShell usage
(BlueMoon skin)
In the current version 1.41 (at least on the SuperCard) it is normal to see an error screen, but don’t worry it goes away.
Once MoonShell is launched, on the bottom screen you'll see the date and time (or even more, depending on your skin and global.ini), and on the top screen, there will be a file navigator. Using MoonShell is pretty straightforward: choose the file you want to read with the D-pad, press A to read it, and B to stop/go upwards in the folder tree.
X raises the volume, Y lowers it (0% to 400%), L pauses the video/song, and R is used to play the next song/video/picture. The D-Pad and stylus are used for the rest.
If you touch the bottom screen, it will exit full screen and switch to the touch screen and play the scene with a menu in which you can seek the frame to watch.
Converting videos with BatchDPG
BatchDPG is a much better alternative to dpgenc. Among other enhancements, we have the possibility to create a list of videos to convert, significantly better video and audio quality, and the ability to add external subtitles to the video.
See this guide for how to use it.
Converting videos with dpgenc
BatchDPG is a good alternative to dpgenc. See section 7 for more information.
Note: I currently use BatchDPG, and do not have many answers for dpgenc (dpgtools).
Run the dpgenc.exe executable from where you extracted dpgenc. You'll have this:
The first thing you will want to do is change to the desire language (In this photo, I have already done this step). Click on the Language tab.
Next you will want to adjust your Options to your desired settings. Click on the Option tab.
Let's see this part by part:
- Drop-down menu: Method of video detection. Three choices here, auto detect. If that doesn’t work, try the other two.
- Sampling rate: Sound quality. The higher the better, but only one setting is available: 32000.
- Bitrate: As above, sound quality. The higher the better. 128kbps or 96kbps seem to be a good setting.
- Volume: Lets you add some sound volume.
- Drop-down menu: Method used to extract the sound track of the video. Many methods are available: mencoder, ffmpeg, extractwave or demuxed file. Use mencoder or ffmpeg.
- Pixel format: Four choices. RGB18 default, RGB15 for speed, RGB21 for quality, and RGB24 old version default.
- Video width: Self-explanatory. The maximum setting is 256 (horizontal resolution of the DS screen). The lower the setting, the smaller the video, and the uglier the video when stretched out to fill the whole screen. Use 256!
- Video Aspect ratio: Self-explanatory: 16/9 (movie), 4/3 (TV), 1:2.35(CinemaScope) or auto detect.
- Video Bitrate: Self-explanatory. The higher the setting, the better the quality, and the larger the video. Avoid using high settings, or else the video won't be smooth (with a sort of black fuzz when a character is moving) and the video might even stop for a few seconds if there is too much action on the screen.
- Video Framerate: Same advice as above. 18fps seems to be a good setting for some anime or a TV show (4/3). You can use higher settings for a movie (16/9), with 24 or 25fps (keep in mind that it's useless to put a higher framerate than the original video). If you get some black blur when there is lots of action on the video, lower this setting.
- Video Brightness: Self-explanatory. The higher the brighter. Only use if your videos are too dark or bright on your DS.
- Blur: The more the cursor is on the left, the blurrier the video. 95% is a good setting, as it removes most visible image compression.
- Flip video: What's this for? I don't really know. Maybe it's useful if you have a matrox G400, or if you want to watch movies with the DS upside-down
- The last line: Lets you customize mencoder's commands and switches. You shouldn't modify this, unless you want to add some filters or switches. If you're interested in this, first read mencoder's manual.
Once you're done adjusting your settings, press Apply.
Next you will want to adjust the output path.
Now you are ready to drop in videos to convert. Once you drop in the videos, the conversion process starts.
Here are TheSticks suggestions on settings for Dpgtools:
- Anime (4:3) ~23min, AVI (Xvid+MP3): The conversion speed is about 23fps on my Pentium M 1.3GHz. I get a 55Mb dpg with good quality (sound and video), no black blur when there's motion. However, when there's lots of action on the screen, the video freezes for 1 or 2 seconds.
- Movie (16:9), live action, ~2h, AVI (Xvid+AC3): The conversion speed is about 35fps on my Pentium M 1.3GHz. I get a 266Mb dpg with good quality (sound and video), no black blur when there's motion. No video freezing here.
Image Thumbnails
Version 1.3 introduced a thumbnails system:
To use this, first put the images you want to see on your DS (and that you want thumbnails for) in an empty folder. Then go to the folder where you extracted MoonShell, and you'll find an executable called CreateThumbnail.exe. Run it, choose an image from the folder you just created, and press OK. The program will create thumbnails for all the images in the folder in a _THUMBNL.MSL file. Just copy the folder on your CF/SD, and you're done.
You may also modify the options in CreateThumbnail.ini (which appears after the first time you run the CreateThumbnail program) and global.ini to tweak the color depth and miniature sizes.
(I personally have not tried this thumbnail feature yet)
Any questions, mistakes, suggestions or requests? Drop me a line
--Rion 09:11, 24 August 2006 (PDT)
Guide updated (and several images remade) by Firon 00:08, 20 October 2006 (PDT)
















