MOONSHELL - README FILE

===================================================================================
 MoonShell software is for Nintendo DS and Nintendo DS Lite
 Copyright (C) 2006 Moonlight
 Readme file by Xtreme (Samtron-Translations)  (2006/09/01)

 Language_name translation by Your_Name  (YYYY/MM/DD)
===================================================================================

Official website: http://mdxonline.dyndns.org/archives/nds/


About MoonShell
===================================================================================
MoonShell is a multimedia player for Nintendo DS (Lite) consoles.
It has support for DPG video files, MP3/NSF audio files and
viewing JPG/Jpeg/BMP/PNG (non progressive) files, it also has support for TXT 
textfiles. MoonShell supports dualscreens and it has full support for the touch 
screen. MoonShell has plug-in system that allows to add any compatible plug-in just
by copying the plug-in files to the appropriate folder. MoonShell also comes with 
several kind of useful plug-ins.


Needed things (1-4)
===================================================================================
1) Game console
Nintendo DS or Nintendo DS Lite game console.

2) MEDIA
SLOT-2 (alias GBA Flash cartridge)
Memory card adapter: EWIN 2 SD/Mini SD/Micro SD, EZ-Flash IV (Mini SD), 
GBA Movie Player (CF)*, M3 CF/SD/Mini SD/Micro SD, Max Media CF, 
Super Card CF/SD/Micro SD, etc.
 * Chishm's firmware hack needs to be installed
   Download/About: http://tinyurl.com/myg7l or http://shorl.com/dogrostuhadrine
.or.
GBA (or NDS) Flash cartridge: G6 Flash, X-ROM, Flash 2 Advance, EZ-Flash, etc.
.or.
SLOT-1 (NDS memory card media)
Memory card adapter: Neo Magic Key 2 (MK2), 
Neo Magic Key 3 (MK3 uses SD/MMC memory card)


3) Free software (PC/NDS)
MoonShell (download from: http://mdxonline.dyndns.org/archives/nds/)


4) Support for reading media
External: 
 - PassME/PassKey (more info: http://www.dspassme.com)
.or.
Firmware update: 
 - FlashMe (more info: http://ds.gcdev.com/dsfirmware)
.or.
Via WLAN network card: 
 - WifiMe  (more info: http://www.aaronrogers.com/nintendods/wifime.php)


Flash CART           = GBA media for storing programs/games
GBA                  = Game Boy Advance (SP/SP2), Game Boy Micro
DS                   = Nintendo DS
NDS                  = Nintendo DS
NDSL or DSL          = Nintendo DS Lite
Memory card adapter  = Adapter that makes it possible to use different storing 
                       medias in DS console
SLOT-1               = The small slot in the DS (Used for official DS games)
SLOT-2               = The big slot in the DS (Used for GBA games and external 
                       adapters for DS)


Starting MoonShell program (1-7)
===================================================================================
1)
Download the moonshell.zip file (from: http://mdxonline.dyndns.org/archives/nds/) 
and unzip it.


2)
MoonShell PC settings

Start the "Setup.exe".
Select setup target drive (Select where the files should be installed)
Note: EXFS = GBA Flash cartridge, Drive letter = Memory card adapter
- tool for developers. (Tools for developers)

Configuration files (Configuration files)
- If you like, you can remove different things from setup like the startup sound 
  "startup.mp3" and shutdown sound "shutdown.mp3" if you don't need sounds
- Resume function is effective. (You can enable the resume function)

Clock plugin setting. (Clock plugin settings)
- The settings is updated and copied. (Enable clock plug-in)
- Preview (Preview)
[ Disabled       (Theme not in use)
[ clk_analogdot  (Analog clock with snowing theme)
[ clk_analogled  (Analog LED clock theme)
[ clk_bluemoon1  (Bluemoon theme)
[ clk_bluemoon2  (Bluemoon theme)
[ clk_bluemoon3  (Bluemoon theme)
[ clk_bluemoon4  (Bluemoon theme)
[ clk_bluemoon5  (Bluemoon theme)
[ clk_chocolate  (Simple chocolate theme)
[ clk_chocolate2 (Advanced chocolate theme)
[ clk_simple     (Simple text based theme)
[ clk_vu         (Audio VU "Volume Unit" theme)

Language setting and font file. (Select the codepage used in your country)
- The setting is updated and copied (Apply and save settings)
- All languages set are displayed. (All codepages are listed)
[MS0    (Ank)
[MS100  (UTF-8)
[MS110  (UTF-8 Big)
[CP874  (Thai)
[CP932  (Japanese Shift-JIS)
[CP9322 (Japanese Shift-JIS)
[CP9323 (Japanese Shift-JIS, Fixed size)
[CP9324 (Japanese Shift-JIS, Arial Unicode)
[CP9325 (Japanese Shift-JIS, Arial Unicode, Fixed size)
[CP936  (Simplified Chinese GBK)
[CP9362 (Simplified Chinese GBK)
[CP949  (Korean)
[CP950  (Traditional Chinese Big5)
[CP9502 (Traditional Chinese Big5)
[CP1250 (Central Europe)
[CP1251 (Cyrillic)
[CP1252 (Latin I)
[CP1253 (Greek)
[CP1254 (Turkish)
[CP1255 (Hebrew)
[CP1256 (Arabic)
[CP1257 (Baltic)
[CP1258 (Vietnam)

ROM image (Select your Media device)
- This selection is shown if you selected any other than EXFS filesystem. 
  Delete unneeded ones.


3)
If you have a Flash CART goto step "4".

You can create folders to your media and for example put your 
DPG/MP3/NSF/Jpeg/BMP/PNG files to the created folders.
Goto step "6".


4)
If you are using GBA Flash CART you must use EXFS filesystem (more info in step 2).
Place your files to files_EXFS folder and run CreateNDSROM_for_EXFS.bat file
(max supported size around 30MB).


5)
Flash the _BOOT_MP_gbfs.ds.gba file to the (GBA/NDS) Flash CART (you may need 
to rename the file if your Flash CART needs, like ".ds.gba" -to-> ".nds").
Goto step "7".


6)
Save the _BOOT_MP*.nds file to your CF/SD (Mini SD) memory card's root.


7)
MoonShell is now ready for use. You can now enjoy it's echanced file support.
You need to have "FlashMe", "PassMe" or "WifiMe" installed to run MoonShell.


MoonShell DS settings
===================================================================================
files_EXFS\moonshl\ (When you use EXFS filesystem)
moonshl\            (When you use other filesystem)

moonshl.ini settings: 

Contents 

1. [System] 
   1.1  StartPath 
   1.2  FileSelectSubScreen 
   1.3  ClosedSholderButton 
   1.4  MusicNext 
   1.5  SoundVolume
   1.6  FullScreenOverlaySubScreen
   1.7  FileMaxCount
   1.8  NDSLiteDefaultBrightness
   1.9  WhenPanelClose
   1.10 TopScreenFlip

2. [HiddenItem]
   2.1 Attribute_Archive
   2.2 Attribute_Hidden
   2.3 Attribute_System
   2.4 Attribute_Readonly
   2.5 Path_Shell
   2.6 File_Thumbnail

3. [KeyRepeat]
   3.1 DelayCount
   3.2 RateCount

4. [BacklightTimeout]
   4.1 WhenStandby
   4.2 WhenPicture
   4.3 WhenText
   4.4 WhenSound

5. [Boot]
   5.1 hiddenAboutWindow
   5.2 hiddenHelpWindow
   5.3 hiddenDateTimeWindow
   5.4 StartupSound

6. [Thumbnail]
   6.1 Mode
   6.2 SelectItemAlpha
   6.3 UnselectItemAlpha

7. [TextPlugin]
   7.1 SpacePixel
   7.2 ScrollType
   7.3 SelectDisplay

8. [NDSROMPlugin]
   8.1 CrashMeProtection

9. [DPGPlugin]
   9.1 Dithering
   9.2 GOPSkip
   9.3 AdaptiveDelayControl
   9.4 BlockGSMAudio

10. [ImagePlugin]
  10.1 GUITimeOutSec
  10.2 ImageMode
  10.3 DrawFileInfo
  10.4 VerticalPadding
  10.5 Interpolation

11. [ClockPlugin]
  11.1 Enabled
  11.2 RTC24Hour
  11.3 FormatDate
===================================================================================
1. [System] 


1.1 StartPath = [//Path/to/folder] (Default = //AUTO) 

Defines folder to be displayed in FileBrowser after boot. 
Can be something like '//MPCF' (to start browsing directly from CF), 
or '//GBFS' (to start browsing directly from flashcart's GBFS).


1.2 FileSelectSubScreen = [0|1] (Default = 1) 

Defines which screen is used to display FileBrowser. 
0 = touchscreen (lower screen)
1 = normal screen (upper screen)


1.3 ClosedSholderButton = [0|1|2|3] (Default = 0) 

Defines L and R buttons behaviour.
0 = when shell is closed, L & R are disabled
1 = when shell is closed, L & R are functioning normally
2 = L & R buttons are always disabled
3 = L & R buttons are always enabled


1.4 MusicNext = [0|1|2|3|4|5|6] (Default = 2) 

Defines audio file playback mode. 
0 = Play the selected and stop
1 = Play the selected and continue to repeat it endlessly 
2 = Play the selected and continue to play files endlessly
3 = Play the selected and continue thru bottom of the list and shut down DS
4 = Play the selected and continue to play files randomly and endlessly
5 = Play the selected and continue to play randomly all the files and shut down DS
6 = Play the selected and shut down DS


1.5 SoundVolume = [0 - 64] (Default = 16)

Defines sound volume. Set 100% is the maximum real volume.
Using over 100% values it uses special techniques to boost the sound over the 
maximum level. Loudest possible boosted sound volume is 400%.
0  = Mute
1  =   6%
16 = 100%
64 = 400%


1.6 FullScreenOverlaySubScreen = [0|1] (Default = 1)

Defines which screen is used to display video in fullscreen mode
0 = Touchscreen (lower screen)
1 = Normal screen (upper screen)


1.7 FileMaxCount = [N] (Default = 256)

The maximum file count that filesystem allows.
Don't change this value if you are not absolutely sure of what you are doing!


1.8 NDSLiteDefaultBrightness = [0|1|2|3|4] (Default = 4)

0 = Darkest
1 = Dark
2 = Bright
3 = Brightest
4 = Automatic detection


1.9 WhenPanelClose = [0|1|2] (Default = 0)

Action to do when panel is closed.
0 = Screens backlight off
1 = DS power off
2 = Play the file "moonshl/shutdown.mp3" and turn DS power off


1.10 TopScreenFlip = [0|1|2|3] (Default = 0)

Rotate the top screen image.
0 = Normal (no rotation)
1 = 180 degrees rotation
2 = Vertical rotation (flip)
3 = Horizontal rotation (mirror)


2. [HiddenItem]


These settings are efective only with FAT filesystem.


2.1 Attribute_Archive = [0|1] (Default = 0)

Hide all files.
0 = Show
1 = Hide


2.2 Attribute_Hidden = [0|1] (Default = 1)

Hide files that are marked as hidden.
0 = Show
1 = Hide


2.3 Attribute_System = [0|1] (Default = 1)

Hide system files.
0 = Show
1 = Hide


2.4 Attribute_Readonly = [0|1] (Default = 0)

Hide files that are marked as read only.
0 = Show
1 = Hide


2.5 Path_Shell = [0|1] (Default = 0)

Hide MoonShell "shell" folder.
0 = Show
1 = Hide


2.6 File_Thumbnail = [0|1] (Default = 1)

Hide MoonShell thumbnail data files.
0 = Show
1 = Hide


3. [KeyRepeat]


3.1 DelayCount = [1|30|60] (Default = 15)

You can set the time after which the action will be repeated.
1  = 16ms
30 = 500ms
60 = 1s


3.2 RateCount = [1|30|60] (Default = 1)

1  = 16ms
30 = 500ms
60 = 1s


4. [BacklightTimeout]


4.1 WhenStandby = [N] (Default = 10)

The unit of the number is seconds. If you don't touch the keys or the touch screen
for a defined time in standby mode (when no files are opened), backlights will
shut down.


4.2 WhenPicture = [N] (Default = 15)

The unit of the number is seconds. If you don't touch the keys or the touch screen
for a defined time when a picture file is loaded, backlights will shut down.


4.3 WhenText = [N] (Default = 30)

The unit of the number is seconds. If you don't touch the keys or the touch screen 
for a defined time when a text file is loaded, backlights will shut down.


4.4 WhenSound = [N] (Default = 10)

The unit of the number is seconds. If you don't touch the keys or the touch screen 
for a defined time when playing a sound file, backlights will shut down.


5. [Boot]


5.1 hiddenAboutWindow = [0|1] (Default = 0)

Defines status of About window.
0 = About window is showing
1 = About window is hidden


5.2 hiddenHelpWindow = [0|1] (Default = 0)

Defines status of Help window.
0 = Help window is showing
1 = Help window is hidden


5.3 hiddenDateTimeWindow = [0|1] (Default = 0)

Defines status of DateTime window.
0 = DateTime window is showing
1 = DateTime window is hidden


5.4 StartupSound = [0|1|2] (Default = 1)

This is for defining if starting sound is played or not when starting MoonShell. 
Random starting sound will select randomly one mp3 from the folder to play.
0 = Starting sound off
1 = Starting sound on
2 = Random starting sound


6. [Thumbnail]


6.1 Mode = [0|1|2|3] (Default = 3)

Thumbnail and full screen preview settings.
0 = Off
1 = Only thumbnail preview
2 = Only full screen preview
3 = Thumbnail preview and full screen preview


6.2 SelectItemAlpha = [0 - 16] (Default = 16)

Transparency of the selected thumbnail image.
0  = 0%
8  = 50%
16 = 100%


6.3 UnselectItemAlpha = [0 - 16] (Default = 10)

Transparency of the unselected thumbnail image.
0  = 0%
8  = 50%
16 = 100%


7. [TextPlugin] 


7.1 SpacePixel = [N] (Default = 1) 

Defines distance between two lines of text in pixels. 
N can be any integer in [1..191-FontHeightInPixels] range. 


7.2 ScrollType = [0|1] (Default = 0)

The method of scroll the text page.
0  = Normal
1  = Full page


7.3 SelectDisplay [0|1] (Default = 0)

The screen where the text window is diplayed.
0 = Touchscreen (lower screen)
1 = Normal screen (upper screen)


8. [NDSROMPlugin]


8.1 CrashMeProtection = [0|1] (Default = 1)

DS destructive Trojan: 'Trojan.DSBrickA/B' can break your system to useless brick.
MoonShell can check files before opening them. It only takes a second to check.
It's not recommended to set this security check off.
0 = Protection Off
1 = Protection On


9. [DPGPlugin]


9.1 Dithering = [0|1|2] (Default = 1)

Video dithering. Tries to remove pixelation from video.
0 = No dithering. Original quality.
1 = Half dithering  (1/2). (Delay: below 200ms = full, below 400ms = half, 
    over 400ms = skip)
2 = Quarter dithering  (1/4). (Delay: below 200ms = full, below 400ms = half, 
    over 400ms = delay quarter)
3 = Strong dithering. (Delay: below 100ms = full, below 200ms = half, 
    below 300ms = quarter, over 300ms = skip)


9.2 GOPSkip = [0|1] (Default = 1)

When video is slowing down a lot there is an effective way to prevent it from 
happening by skipping GOPs (Group Of Pictures).
0 = GOP skipping off
1 = GOP skipping on


9.3 AdaptiveDelayControl = [0|1] (Default = 1)

Choosing the top priority value for control of the video frames.
0 = Video playback (as top priority)
1 = Audio/video synchronization (as top priority)


9.4 BlockGSMAudio = [0|1] (Default = 1)

GSM audio is refused. This is a format made with an old DPG encoder.
Using GSM decoder (with ARM7) is unstable.
0 = Allow
1 = Block


10. [ImagePlugin]


10.1 GUITimeOutSec = [N] (Default = 2)

When a specified time in seconds have elapsed the scroll bar and the title bar 
will disappear from image window.
N = Any number in seconds


10.2 ImageMode = [0|1] (Default = 0)

Single or double screens can be used for displaying images. Double screen mode
has a limited support.
0 = Single screen mode
1 = Double screen mode


10.3 DrawFileInfo = [0|1] (Default = 1)

The file informations are displayed in GUI, if there are informations.
0 = Hide informations
1 = Show informations


10.4 VerticalPadding = [N] (Default = 96)

The size of the space between upper and lower screen can be set when using Double 
display mode (value: ImageMode=1).


10.5 Interpolation = [0|1] (Default = 1)

Interpolation (supplementation) mode of zooming images.
Double screen mode can be only used with hardware based mode.
0 = Hardware based
1 = Software based (bilinear interpolation)


11. [ClockPlugin]


11.1 Enabled = [0|1] (Default = 1)

Displaying the clock plug-in.
0 = Hide
1 = Display


11.2 RTC24Hour = [0|1] (Default = 1)

Defining hour time format.
0 = 12-hour time format (with: AM/PM -letters)
1 = 24-hour time format


11.3 FormatDate = [value] (Default = YYYY/MM/DD)

The display format of the date. Max length is 32 characters.
In this example, the year(Y) is 2001, month(M) is 2 and the day(D) is 3.
When using code (it displays): 
YYYY (2001), YY (01), MM (02), M (2), DD (03), D (3)
So using code: YYYY/MM/DD  date is displayed as: 2001/02/03
Different separator characters can be used: , - . /



To apply these settings, you must run "CreateNDSROM_for_EXFS.bat" after saving 
changes. Also remember to write the _BOOT_MP.nds again to your media.


Changing desktop theme
===================================================================================
1)
Extract theme files to "moonshl" folder.

2)
If you don't have EXFS filesystem, goto step "4".
Create _BOOT_MP.nds again by running "CreateNDSROM_for_EXFS.bat" file.

3)
Flash/Write _BOOT_MP.nds to your media.

4)
Theme is ready for your eyes.

For theme developers: BMP image must be 256x192 pixels.


F.A.Q.
===================================================================================
Q: MoonShell is not booting (GBAMP)!
A: Make sure you have updated your GBAMP with chishm's firmware-hack and do not 
   forget that you have to use either PassMe,FlashMe or WifiMe to boot .nds files 
   from GBAMP.

Q: I have a flash cart. Am I able to use MoonShell too or is it just for GBAMP?
A: You can use it too. Just read the "ReadMe" file above.

Q: I have a Jpeg picture which won't show up! Why?
A: 2 possible reasons:  1) MoonShell's Jpeg viewer doesn't support progressive 
                           Jpegs. Make sure you do not save them as that.
                        2) There is actually a sizelimit for Jpegs. Maximum width 
                           is 16384 pixels. 16000 x 12800 24bitColor 40 MB Jpeg 
                           files are confirmed to work but they show up VERY slow.


Bugs, discussion & help
===================================================================================
If you have any questions or problems with MoonShell, 
go to http://forum.gbadev.org/viewforum.php?f=20 
