Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

SNEmulDS: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(37 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = SNEmulDS
|title=SNEmulDS
| image       = [[File:Snemulds.png]]
|image=Snemulds2.png
| type       = Emulator
|description=SNES emulator.
| version     = 0.6alpha
|author=Archeide
| licence    = Mixed
|lastupdated=2007/10/09
| author      = archeid (Loopy)
|type=Console
| website     = http://www.snemul.com/ds/
|version=0.6 Alpha
| download    = Media:SNEmulDSv06a.zip
|license=Mixed
| source     = http://code.google.com/p/snemuldsx/
|download=https://dlhb.gamebrew.org/dshomebrew2/snemulds_0.6a.zip
|website=http://www.snemul.com/ds
|source=http://code.google.com/p/snemuldsx
}}
}}
Nearly ten years after the heroic times of the first SNES emulators (SNEmul was one of them), the new console made by Nintendo, the Nintendo DS, offer new opportunites to turn alive again all those old games which probaby made the Super NES the best 2D game system of all time.


Nearly ten years after the heroic times of the first SNES emulators (SNEmul was one of them), the new console made by Nintendo, the Nintendo DS, offer new opportunites to turn alive again all those old games which probaby made the Super NES the best 2D game system of all time.
SNEmulDS is partially based on [http://www.snemul.com/ds SNEmul], a SNES emulator for DOS and linux, which was the cooperative work of archeide & v0x.


SNEmulDS is partially based on SNEmul, a SNES emulator for DOS and linux, which was the cooperative work of archeide & v0x.
SNEmulDS includes [http://pocketspc.pocketheaven.com PocketSPC], a SPC song player made by gladius. It also has integrated the CPU core from [http://www.forwardcoding.com/projects/snezzids/snezzids.html SnezziDS].
Take a look at the site of the DOS emulator: http://www.snemul.com/ds/
SNEmulDS includes PocketSPC, a SPC song player made by gladius.
PocketSPC website : http://pocketspc.pocketheaven.com/
It also has integrated the fabulous CPU core from the equally fabulous [http://www.forwardcoding.com/projects/snezzids/snezzids.html SnezziDS].


==Features==
==Features==
*65816 CPU (bugs remain, and 6502 emulation is not supported)
* 65816 CPU (bugs remain, and 6502 emulation is not supported).
*LoROM/HiROM support
* LoROM/HiROM support.
*Tile by tile graphics engine (broken as of 0.5 alpha)
* Tile by tile graphics engine (broken as of 0.5 alpha).
*Line by line graphics engine (90% complete)
* Line by line graphics engine (90% complete).
*Graphic Mode 1, 2, 3, 4, 7
* Graphic Mode 1, 2, 3, 4, 7.
*Graphics Modes 0,5,6 are implemented but not correct yet
* Graphics Modes 0,5,6 are implemented but not correct yet.
*8x8, 16x16 tiles (16x16 may have problem with large screen modes)
* 8x8, 16x16 tiles (16x16 may have problem with large screen modes).
*32x32, 64x32, 32x64, 64x64 screen modes
* 32x32, 64x32, 32x64, 64x64 screen modes.
*8x8, 16x16, 32x32, 64x64 sprites
* 8x8, 16x16, 32x32, 64x64 sprites.
*BG priorities (still buggy)
* BG priorities (still buggy).
*Full DMA support
* Full DMA support.
*HDMA support (uncomplete)
* HDMA support (incomplete).
*HIRQ/VIRQ/NMI interrupts
* HIRQ/VIRQ/NMI interrupts.
*PAL/NTSC detection
* PAL/NTSC detection.
*Subscren Add/sub for BG/sprites/BACK (not 100% correct yet)
* Subscren Add/sub for BG/sprites/BACK (not 100% correct yet).
*Large ROM support (> 3Mbytes), even for slot-1 card users
* Large ROM support (> 3Mbytes), even for slot-1 card users.
*SRAM support
* SRAM support.
*Snapshots(State save) support
* Snapshots(State save) support.
*SPC700 CPU (from PocketSPC by gladius)
* SPC700 CPU (from PocketSPC by gladius).
*Sound DSP (from PocketSPC by gladius)
* Sound DSP (from PocketSPC by gladius).
*Incomplete Line by line graphics engine (for MODE 7 game)
* Incomplete Line by line graphics engine (for MODE 7 game).
*Mode 7 effects
* Mode 7 effects.
*Correct BACK color support (look like ok)
* Correct BACK color support (look like ok).
*SNES Mouse Emulation
* SNES Mouse Emulation.
*Incomplete priority per tile
* Incomplete priority per tile.


==Installation==
==Installation==
Current version of SNEmulDS needs a card reader (like M3, supercard, G6, R4DS, NinjaDS, etc.)and a passkey/passcard (You should know how to get/use them) for slot-2 devices.   
Current version of SNEmulDS needs a card reader (like M3, supercard, G6, R4DS, NinjaDS, etc) and a passkey/passcard (You should know how to get/use them) for slot-2 devices.   
    
    
<!> Note about DLDI
Create a SNES directory in the root directory of your card and put all your SNES ROMs in this directory.
 
At least the following devices should be supported thanks to the DLDI system made by chishm:


    * DSLink (microSD Card)
Patch SNEmulDS.nds with a [[DLDI|DLDI]] patcher.  
    * Ewin2 (SD Card)
    * EZ Flash 4 (SD Card)
    * EZ Flash 5 (SD Card)
    * G6 Flash  (version 0.15)
    * M3 Adapter (Compact Flash)
    * M3 Adapter (SD card)
    * Max Media Dock (Compact Flash)
    * GBA Movie Player (Compact Flash)
    * GBA Movie Player (SD Card)
    * NEO Flash MK2 & MK3 (SD Card)
    * NEO2 (SD Card)
    * Ninja DS (SD Card)
    * R4(DS)- Revolution for DS, M3 Simply compatible
    * SuperCard (Compact Flash)
    * SuperCard DS (Slot-1)
    * SuperCard (SD Card)


Take a look here: http://chishm.drunkencoders.com/DLDI/index.html
Put SNEmulDS.nds and snemul.cfg in the root directory of your card.
You can patch SNEmulDS.nds to support others devices as long as those device have been made compatible with the DLDI system. So you should visit this site regularly for update, if your device is not supported by SNEmulDS yet!
 
<!> SNEMUL.CFG is very important don't forget to put it in the root directory
  Now you have a snemul.cfg file to put in the root(which means "initial")
  directory of your card. You can choose the directory where
  you put your ROMS, instead of SNES as said in the following lines.
 
#Create a SNES directory in the root directory of your card,
#Put all your SNES ROMs in this directory,
#Optionnaly patch SNEmulDS.nds with a DLDI patcher
#Put SNEmulDS.nds or one of the SNEmulDS_<your device name here> in the _root_ directory of your card
#Launch the game,
#A list of all the SNES games appears, you can scroll with "up" and "down"
#Tap on the desired game and press START to launch the game.


==User Guide==
==User Guide==
Launch the game, A list of all the SNES games appears, you can scroll with Up and Down, tap on the desired game and press Start to launch the game.
See [https://wiki.gbatemp.net/wiki/SNEmulDS_Compatibility_List SNEmulDS Compatibility List].
===Menu===
===Menu===
*SelectROM: show the content of a directory list to select another ROM
* SelectROM - show the content of a directory list to select another ROM.
*Options: show the option menu. There you can disable background, select the BG3 mode (see below) or the relative scroll height for BG1 and BG2, enable or disable the Vblank waiting, and enable/disable speed hacks.
* Options - You can disable background, select the BG3 mode (see below)/the relative scroll height for BG1 and BG2, enable/disable the Vblank waiting and enable/disable speed hacks.
*Load State: restore one of your 8 game states. (see below)
* Load State - Restore one of your 8 game states. (see below).
*Save State: save your current game state. You can save up to 8 game states for each game. States are saved in files put in the SNES directory along with your ROM (with extension .SM1 .SM2 ...).  
* Save State - Save your current game state (up to 8 game states for each game). States are saved in files put in the SNES directory along with your ROM (with extension .SM1 .SM2, etc).  
*Reset: reset the game
* Reset - Reset the game.
*Save SRAM: save battery-saved cartridge RAM. The SRAM is saved in a file put in the SNES directory along with your ROM (the file has extension '.SRM').
* Save SRAM - Save battery-saved cartridge RAM. The SRAM is saved in a file put in the SNES directory along with your ROM (the file has extension .SRM).
*SPC jukebox: play your favorite songs (from SPC files in your SNES directory)
* SPC jukebox - Play your favorite songs (from SPC files in your SNES directory).
*GFX config: show the GFX config menu. (see below)
* GFX config - Show the GFX config menu. (see below).
*Debug: show debug informations (not really interesting stuff)
* Debug - Show debug informations.


  The BG3 mode selection allows the BG3
The BG3 mode selection allows the BG3 (in most games, a later containing only static informations) to be displayed entirely on the DS screen, even if it is bigger with a real SNES. It can be useful in some games. In fact, the middle of the layer is crushed, so you'll lose information in some games.
(in most games, a later containing only static informations)  
to be displayed entirely on the DS screen,
even if it is bigger with a real SNES.  
It can be useful in some games. In fact, the middle of the layer is crushed,  
so you'll lose information in some games.


===GFX config===   
===GFX config===   
*Priority per tile : in the SNES hardware, each background layer have two sub layers : high and low priority. The DS 2D hardware doesn't have this feature, but have one more background layer. This option uses tha additional layer to emulatoe the priority per tile for one SNES background.
* Priority per tile - In the SNES hardware, each background layer have two sub layers (high and low priority).  
You can choose between none, BG1 or BG2. Warning: This option can corrupt GFX or make some other tiles disappear.
** The DS 2D hardware doesn't have this feature, but have one more background layer. It uses an additional layer to emulate the priority per tile for one SNES background.  
*BG3 block priority : this option emulate the priority per tile for BG3 by guessing, for each line, if the map contains more high or more low priority tiles, and then change the priority of the BG3 for each line.
** You can choose between none, BG1 or BG2.  
This option is not perfect yet, and some text may disappear.
** Please be warned that this option can corrupt GFX or make some other tiles disappear.
This option only work in automatic mode.
* BG3 block priority - This option emulate the priority per tile for BG3 by guessing, for each line, if the map contains more high or more low priority tiles, and then change the priority of the BG3 for each line.
*BG1 / BG2 / BG3 / BGX(low) : change the priority of this layer. THe right part of screen, can select between automatic or not.
** ​This option is not perfect yet, and some text may disappear.
*Sprite1 ... : change the priority of the sprites. SNES has 4 priorities like DS, but it can be useful to change the prioriry bijection.
** This option only work in automatic mode.
*(Fix) : the number are register 212C 212D 2130 3130, tap on this part of screen to clear the GFX buffers and fix most GFX garbages on screen.
* BG1/BG2/BG3/BGX(low) - Change the priority of this layer. The right part of screen, can select between automatic or not.
*<Save> : save those parameters in the CFG file
* Sprite1... - Change the priority of the sprites. SNES has 4 priorities like DS, but it can be useful to change the prioriry bijection.
* (Fix) - The number are register 212C 212D 2130 3130, tap on this part of screen to clear the GFX buffers and fix most GFX garbages on screen.
* <Save> - Save those parameters in the CFG file.


===Multi languages===
===Multi languages===
Note that to get the new language settings to work, you'll first have to edit the config file that comes with SNEmulDS v0.6. You can check if your language is correct.
* Note that to get the new language settings to work, you'll first have to edit the config file that comes with SNEmulDS v0.6.  
You can choose one of the language in the firmware or some language by editing the snemul.cfg :
* You can check if your language is correct. You can choose one of the language in the firmware or some language by editing the snemul.cfg:
  # Language of GUI
  # Language of GUI
  # -1 -> Use firmware settings
  # -1 -> Use firmware settings
Firmware languages:
* Firmware languages:
  # 0 -> Japanese (Katakana only)
  # 0 -> Japanese (Katakana only)
  # 1 -> English
  # 1 -> English
Line 128: Line 96:
  # 3 -> German
  # 3 -> German
  # 4 -> Italian
  # 4 -> Italian
  # 5 -> Spanish
  # 5 -> Spanish  
Non firmware languages:
* Non firmware languages:
  # 106 -> Portuguese
  # 106 -> Portuguese
  # 107 -> Catalan
  # 107 -> Catalan
Line 135: Line 103:
  # 109 -> Dutch
  # 109 -> Dutch
  # 110 -> Danish
  # 110 -> Danish
===Controls===
'''SNES Mouse Emulation:'''
Activaing mouse emulation mode will switch the bottom screen and the upper screen switch. You use the stylus to move the mouse cursor.


==Control==
* START+L+R+LEFT - Enable SNES mouse emulation mode (switch both screens)
==SNES Mouse Emulation==
* START+L+R+RIGHT - Switch screen and disable SNES mouse emulation mode
You can select the mouse emulation mode with START+L+R+LEFT, then the bottom screen and the upper screen switch. You use the stylus to move the mouse cursor.
​​
 
-> You can also switch the screen without selecting mouse emulation mode ising START+L+R+RIGHT.
 
Currently there are two methods of emulation:
Currently there are two methods of emulation:
* One for all games that uses SNES mouse. It compute the distance between two stylus tap/click to emulate the move of the mouse. This is not accurate and some games like Populous II use non linear moving, so the mouse cursor doesn't follow the stylus.
* Another method modifies directly the variables in RAM where the game stores the X and Y positions of cursor. This way, the mouse cursor moves accurately.
For both methods, the D-Pad is used to select the way the stylus emulate the mouse:
* Left (or Y) - When touch screen is pressed, the mouse is moved to this point and the mouse's left button is pressed.
* Right (or A) - When touch screen is pressed, the mouse is moved to this point and the mouse's right button is pressed.
* Down (or B) - When touch screen is pressed, the mouse is moved to this point.
* When the touch screen is not pressed, the buttons are released and the cursor doesn't move.
Another option is available with first method:
* UP (or X) and press the touchscreen at the same time - the stylus calibrates to this point. Use this if the mouse cursor doesn't follow the stylus correctly.
In mouse mode, you can also scroll the entire screen (all backgrounds) with:
* L (or R) + Up (or X) - Scroll up the screen.
* L (or R) + Down (or B) - Scroll down the screen.
===FAQ===
'''Q. My graphic are all corrupted, flashing, ugly, what can I do?'''
Go in the GFX config, and try to change options. Tap on fix zone to clear the GFX cache. Try to enable Wait for Vblank in the options.
You may also need to change the background layers order.You can do it in the options (instead of Automatic layers) or by pressing START+L+R+UP (LEFT AND RIGHT side buttons).
You can return to automatic layers by pressing START+LEFT+RIGHT+DOWN. Another option is to allow disabling or enabling background layers.


#One for all games that uses SNES mouse. It compute the distance between two stylus "click" to emulate the move of the mouse. This is not accurate and some games like Populous II use non linear moving,so the mouse cursor doesn't follow the stylus.
'''Q. Why SNEmulDS sound is bad?'''
#Another method modifies directly the variables in RAM where the game stores the X and Y positions of cursor. This way, the mouse cursor moves accurately.
 
But i have to search for each game, where is this information (that's quite easy with a debugger anyway). The X Y address are stored in snemul.cfg. You need to have this file up-to-date.
SNEmulDS is not correctly synchronized with the SPC700 engine.  
 
 
For both methods, the D-pad is used to select the way the stylus emulate the mouse:
Some new options in configuration file allow you to improve the sound (see SoundPortSync in CFG file).  
 
You can try the SPC jukebox instead, musics should be better.


LEFT(or Y) - when the touch screen is pressed, the mouse is moved to this point and the mouse's left button is pressed
'''Q. How can I speed up SNEmulDS?''''


RIGHT(or A) - when the touch screen is pressed, the mouse is moved to this  point and the mouse's right button is pressed
Make sure you are in No vblank mode in Options, and that Speed hack is in Full speed.


DOWN(or B) - when the touch screen is pressed, the mouse is moved to this  point
'''Q. Why my game seems slow whereas SNEmulDS says the speed is over 80%?'''


When the touch screen is not pressed, the buttons are released and the cursor doesn't move.
Most of the time, it comes from the speed hack. Not enough CPU cycles are given to the game, and it needs to use two frames instead of one.  
 
Another option is available with first method:


UP (or X) and press the touchscreen at the same time - the stylus calibrates to this point. Use this if the mouse cursor doesn't follow the stylus correctly.
Set speed hacks No speed hack should help.
   
In mouse mode, you can also scroll the entire screen (all backgrounds) with:


L(or R) + UP(or X)  - scroll up the screen
'''Q. Game is too fast to play.'''


L(or R) + DOWN(or B) - scroll down the screen
Enable Wait for Vblank in the options.​


==FAQ==
'''Q. Game doesn't start.'''
Q: My graphic are all corrupted, flashing, ugly, what can i do ?


A: Go in the GFX config, and try to change options. Tap on "fix" zone to clear the GFX cache. 
Choose No speed hack and/or sound emulation in Options menu. Surprisely, some games need to be in Full speed hacks mode to launch (like SUPER BOMBERMAN).
Try to enable "Wait for Vblank" in the options.
You may also need to change the background layers order.
You can do it in the options (instead of "Automatic layers") or by pressing START+L+R+UP (LEFT AND RIGHT side buttons).


You can return to automatic layers by pressing START+LEFT+RIGHT+DOWN.
'''Q. I lost all my game progress. I will kill you.'''
Another option allow disabling or enabling background layers.
 
Q: Why SNEmulDS sound is bad ?


A: SNEmulDS is not correctly synchronized with the SPC700 engine.
Don't forget that SNEmulDS doesn't save SRAM automatically. You have to tap Save SRAM in the main menu to save your game progress. You can also use save states.
Some new options in configuration file allow you to improve the sound (see SoundPortSync in CFG file)


You can try the SPC jukebox instead, musics should be better.
'''Q. Save states don't work.'''


Q: Why SNEmulDS is so slow ?
Sorry but the current FAT libraries doesn't support saving for all cards. Use of DS SRAM is a future feature that may be help you.


A: Try to play with speed hacks in Option menu (Last item). Some games are slower than other, because of intensive use of CPU and GFX. Expect speed improvement in the future
Writing to card is not perfect, and your saved state can be corrupted, so you should save your game in several slots whenever possible.
 
Q: How can i speed up SNEmulDS ?
 
A: Make sure you are in "No vblank" mode in Options, and that "Speed hack" is in "Full speed".
   
Q: Why my game seems slow whereas SNEmulDS says the speed is over 80% ?
 
A: Most of the time, it comes from the speed hack. Not enough CPU cycles are given to the game, and it needs to use two frames instead of one. Set speed hacks "No speed hack" should help.


Q: My game is too fast! I can't even play it !
'''Q. How I can use my own ZSNES/SNES9X save states?'''


A: Enable "Wait for Vblank" in the options.
You should be able to use your .SRM created by other emus. Be sure it is not compressed.  
 
Q: My game doesn't even start! Your emu sucks!?
 
A: Choose "No speed hack" and/or sound emulation in Options menu.
Surprisely, some games need to be in "Full speed hacks" mode to launch(like SUPER BOMBERMAN).
 
Q: I lost all my game progress !!! I will kill you!
A: Don't forget that SNEmulDS doesn't save SRAM automatically.You have to tap "Save SRAM" in the main menu to save your game progress.You can also use save states.


Q: Save states don't work :(
Simply put the SRM file in the SNES directory, along with your ROM.


A: I'm sorry but the current FAT librairies doesn't support saving for all cards. Use of DS SRAM is a future feature that may be help you (short: wait for next release).
'''Q. Why do you not support packing, my card/flasher is not working with SNEmulDS?'''


TO BE PEACEFUL: writing to card is not perfect, and your saved state can be corrupted, so you should save your game in several slots!!
SNEmul philosophy is easy to use. That means no pre-script, no packer, no patches, etc.


Q: How i can use my own ZSNES/SNES9X save states ?
You put your ROMS, SRAMs, save states directly in your SNES directory and that's all.  
A: I think I will make a ZST->SML translator in the first time...In the future, there will be direct compatibility with ZSNES format. (short: wait!)


Anyway, you should be able to use your ".SRM" created by other emus. Be sure it is not compressed. Simply put the SRM file in the SNES directory, along with your ROM.
Moreover, by using a real filesytem development of specific features is much easier (especially large save states, SRAM saving, very large ROMs (4Mo) and  multi ROMs support).


Q: Why do you not support "packing", my card/flasher is not working with SNEmulDS?
==Screenshots==
 
https://dlhb.gamebrew.org/dshomebrew/snemulds2.png
A: SNEmul philosophy is "easy to use".
https://dlhb.gamebrew.org/dshomebrew/snemulds3.png
That means no pre-script, no packer, no patches, etc.  


You put your ROMS, SRAMs, save states directly in your SNES directory and that's all. Moreover, by using a "real" filesytem development of specific features is much easier(especially large save states, SRAM saving, very large ROMs (4Mo) and  multi ROMs support).I will surely work on a "packed" version later, but this is not my first goal.
==Media==
'''How to Play SNES Games on Your NDS/DSi/3DS/2DS''' ([https://www.youtube.com/watch?v=4DqjfvA1aAs PeaSensei2]) <br>
<youtube>4DqjfvA1aAs</youtube>


==Changelog==
==Changelog==
* New GUI using framebuffer for sub screen
'''0.6 alpha'''
* Better human interface, improved file selector (alphabetically sorted), buttons, check boxes, multi choose zones, etc.
* New GUI using framebuffer for sub screen.
* New GUI supports joypad (joypad is not supported when emulator is running however).
* Better human interface, improved file selector (alphabetically sorted), buttons, check boxes, multi choose zones, etc.
* Multi language support (more than 10 supported, including katakana Japanese!)
* New GUI supports joypad (joypad is not supported when emulator is running however).
* Memory pak support (Opera RAM, Slot 2 card reader, etc. using libram) with paging or with large ROM mapping
* Multi language support (more than 10 supported, including katakana Japanese).
* Scaling with pseudo bi-linear filtering and sprites squishing : full screen scaling (like snezzids), half scaling (half scaled and without sprites squishing), and no scaling (classic snemulds mode)
* Memory pak support (Opera RAM, Slot 2 card reader, etc. using libram) with paging or with large ROM mapping.
* Automatic SRAM saving when needed
* Scaling with pseudo bi-linear filtering and sprites squishing: full screen scaling (like snezzids), half scaling (half scaled and without sprites squishing), and no scaling (classic snemulds mode).
* Some other bugfixes and improvements in GUI
* Automatic SRAM saving when needed.
* Some other bugfixes and improvements in GUI.


[[Category:Homebrew applications]]
==External links==
* Official website - http://www.snemul.com/ds
* Google Code - http://code.google.com/p/snemuldsx
* SourceForge - https://sourceforge.net/projects/snemuldsx

Latest revision as of 06:02, 21 August 2024

SNEmulDS
Snemulds2.png
General
AuthorArcheide
TypeConsole
Version0.6 Alpha
LicenseMixed
Last Updated2007/10/09
Links
Download
Website
Source

Nearly ten years after the heroic times of the first SNES emulators (SNEmul was one of them), the new console made by Nintendo, the Nintendo DS, offer new opportunites to turn alive again all those old games which probaby made the Super NES the best 2D game system of all time.

SNEmulDS is partially based on SNEmul, a SNES emulator for DOS and linux, which was the cooperative work of archeide & v0x.

SNEmulDS includes PocketSPC, a SPC song player made by gladius. It also has integrated the CPU core from SnezziDS.

Features

  • 65816 CPU (bugs remain, and 6502 emulation is not supported).
  • LoROM/HiROM support.
  • Tile by tile graphics engine (broken as of 0.5 alpha).
  • Line by line graphics engine (90% complete).
  • Graphic Mode 1, 2, 3, 4, 7.
  • Graphics Modes 0,5,6 are implemented but not correct yet.
  • 8x8, 16x16 tiles (16x16 may have problem with large screen modes).
  • 32x32, 64x32, 32x64, 64x64 screen modes.
  • 8x8, 16x16, 32x32, 64x64 sprites.
  • BG priorities (still buggy).
  • Full DMA support.
  • HDMA support (incomplete).
  • HIRQ/VIRQ/NMI interrupts.
  • PAL/NTSC detection.
  • Subscren Add/sub for BG/sprites/BACK (not 100% correct yet).
  • Large ROM support (> 3Mbytes), even for slot-1 card users.
  • SRAM support.
  • Snapshots(State save) support.
  • SPC700 CPU (from PocketSPC by gladius).
  • Sound DSP (from PocketSPC by gladius).
  • Incomplete Line by line graphics engine (for MODE 7 game).
  • Mode 7 effects.
  • Correct BACK color support (look like ok).
  • SNES Mouse Emulation.
  • Incomplete priority per tile.

Installation

Current version of SNEmulDS needs a card reader (like M3, supercard, G6, R4DS, NinjaDS, etc) and a passkey/passcard (You should know how to get/use them) for slot-2 devices.

Create a SNES directory in the root directory of your card and put all your SNES ROMs in this directory.

Patch SNEmulDS.nds with a DLDI patcher.

Put SNEmulDS.nds and snemul.cfg in the root directory of your card.

User Guide

Launch the game, A list of all the SNES games appears, you can scroll with Up and Down, tap on the desired game and press Start to launch the game.

See SNEmulDS Compatibility List.

Menu

  • SelectROM - show the content of a directory list to select another ROM.
  • Options - You can disable background, select the BG3 mode (see below)/the relative scroll height for BG1 and BG2, enable/disable the Vblank waiting and enable/disable speed hacks.
  • Load State - Restore one of your 8 game states. (see below).
  • Save State - Save your current game state (up to 8 game states for each game). States are saved in files put in the SNES directory along with your ROM (with extension .SM1 .SM2, etc).
  • Reset - Reset the game.
  • Save SRAM - Save battery-saved cartridge RAM. The SRAM is saved in a file put in the SNES directory along with your ROM (the file has extension .SRM).
  • SPC jukebox - Play your favorite songs (from SPC files in your SNES directory).
  • GFX config - Show the GFX config menu. (see below).
  • Debug - Show debug informations.

The BG3 mode selection allows the BG3 (in most games, a later containing only static informations) to be displayed entirely on the DS screen, even if it is bigger with a real SNES. It can be useful in some games. In fact, the middle of the layer is crushed, so you'll lose information in some games.

GFX config

  • Priority per tile - In the SNES hardware, each background layer have two sub layers (high and low priority).
    • The DS 2D hardware doesn't have this feature, but have one more background layer. It uses an additional layer to emulate the priority per tile for one SNES background.
    • You can choose between none, BG1 or BG2.
    • Please be warned that this option can corrupt GFX or make some other tiles disappear.
  • BG3 block priority - This option emulate the priority per tile for BG3 by guessing, for each line, if the map contains more high or more low priority tiles, and then change the priority of the BG3 for each line.
    • ​This option is not perfect yet, and some text may disappear.
    • This option only work in automatic mode.
  • BG1/BG2/BG3/BGX(low) - Change the priority of this layer. The right part of screen, can select between automatic or not.
  • Sprite1... - Change the priority of the sprites. SNES has 4 priorities like DS, but it can be useful to change the prioriry bijection.
  • (Fix) - The number are register 212C 212D 2130 3130, tap on this part of screen to clear the GFX buffers and fix most GFX garbages on screen.
  • <Save> - Save those parameters in the CFG file.

Multi languages

  • Note that to get the new language settings to work, you'll first have to edit the config file that comes with SNEmulDS v0.6.
  • You can check if your language is correct. You can choose one of the language in the firmware or some language by editing the snemul.cfg:
​# Language of GUI
# -1 -> Use firmware settings
  • Firmware languages:
# 0 -> Japanese (Katakana only)
# 1 -> English
# 2 -> French
# 3 -> German
# 4 -> Italian
# 5 -> Spanish 
  • Non firmware languages:
# 106 -> Portuguese
# 107 -> Catalan
# 108 -> Polish
# 109 -> Dutch
# 110 -> Danish

Controls

SNES Mouse Emulation:

Activaing mouse emulation mode will switch the bottom screen and the upper screen switch. You use the stylus to move the mouse cursor.

  • START+L+R+LEFT - Enable SNES mouse emulation mode (switch both screens)
  • START+L+R+RIGHT - Switch screen and disable SNES mouse emulation mode

​​ Currently there are two methods of emulation:

  • One for all games that uses SNES mouse. It compute the distance between two stylus tap/click to emulate the move of the mouse. This is not accurate and some games like Populous II use non linear moving, so the mouse cursor doesn't follow the stylus.
  • Another method modifies directly the variables in RAM where the game stores the X and Y positions of cursor. This way, the mouse cursor moves accurately.

​ For both methods, the D-Pad is used to select the way the stylus emulate the mouse:

  • Left (or Y) - When touch screen is pressed, the mouse is moved to this point and the mouse's left button is pressed.
  • Right (or A) - When touch screen is pressed, the mouse is moved to this point and the mouse's right button is pressed.
  • Down (or B) - When touch screen is pressed, the mouse is moved to this point.
  • When the touch screen is not pressed, the buttons are released and the cursor doesn't move.

Another option is available with first method:

  • UP (or X) and press the touchscreen at the same time - the stylus calibrates to this point. Use this if the mouse cursor doesn't follow the stylus correctly.

In mouse mode, you can also scroll the entire screen (all backgrounds) with:

  • L (or R) + Up (or X) - Scroll up the screen.
  • L (or R) + Down (or B) - Scroll down the screen.

FAQ

Q. My graphic are all corrupted, flashing, ugly, what can I do?

Go in the GFX config, and try to change options. Tap on fix zone to clear the GFX cache. Try to enable Wait for Vblank in the options.

You may also need to change the background layers order.You can do it in the options (instead of Automatic layers) or by pressing START+L+R+UP (LEFT AND RIGHT side buttons).

You can return to automatic layers by pressing START+LEFT+RIGHT+DOWN. Another option is to allow disabling or enabling background layers.

Q. Why SNEmulDS sound is bad?

SNEmulDS is not correctly synchronized with the SPC700 engine.

Some new options in configuration file allow you to improve the sound (see SoundPortSync in CFG file).

You can try the SPC jukebox instead, musics should be better.

Q. How can I speed up SNEmulDS?'

Make sure you are in No vblank mode in Options, and that Speed hack is in Full speed.

Q. Why my game seems slow whereas SNEmulDS says the speed is over 80%?

Most of the time, it comes from the speed hack. Not enough CPU cycles are given to the game, and it needs to use two frames instead of one.

Set speed hacks No speed hack should help.

Q. Game is too fast to play.

Enable Wait for Vblank in the options.​

Q. Game doesn't start.

Choose No speed hack and/or sound emulation in Options menu. Surprisely, some games need to be in Full speed hacks mode to launch (like SUPER BOMBERMAN).

Q. I lost all my game progress. I will kill you.

Don't forget that SNEmulDS doesn't save SRAM automatically. You have to tap Save SRAM in the main menu to save your game progress. You can also use save states.

Q. Save states don't work.

Sorry but the current FAT libraries doesn't support saving for all cards. Use of DS SRAM is a future feature that may be help you.

Writing to card is not perfect, and your saved state can be corrupted, so you should save your game in several slots whenever possible.

Q. How I can use my own ZSNES/SNES9X save states?

You should be able to use your .SRM created by other emus. Be sure it is not compressed.

Simply put the SRM file in the SNES directory, along with your ROM.

Q. Why do you not support packing, my card/flasher is not working with SNEmulDS?

SNEmul philosophy is easy to use. That means no pre-script, no packer, no patches, etc.

You put your ROMS, SRAMs, save states directly in your SNES directory and that's all.

Moreover, by using a real filesytem development of specific features is much easier (especially large save states, SRAM saving, very large ROMs (4Mo) and multi ROMs support).

Screenshots

snemulds2.png snemulds3.png

Media

How to Play SNES Games on Your NDS/DSi/3DS/2DS (PeaSensei2)

Changelog

0.6 alpha

  • New GUI using framebuffer for sub screen.
  • Better human interface, improved file selector (alphabetically sorted), buttons, check boxes, multi choose zones, etc.
  • New GUI supports joypad (joypad is not supported when emulator is running however).
  • Multi language support (more than 10 supported, including katakana Japanese).
  • Memory pak support (Opera RAM, Slot 2 card reader, etc. using libram) with paging or with large ROM mapping.
  • Scaling with pseudo bi-linear filtering and sprites squishing: full screen scaling (like snezzids), half scaling (half scaled and without sprites squishing), and no scaling (classic snemulds mode).
  • Automatic SRAM saving when needed.
  • Some other bugfixes and improvements in GUI.

External links

Advertising: