• Welcome to SCdev.org. Please log in.

Welcome to the new SCdev forums!

SNEmulDS v0.4 FINAL! - 3-11-07

Started by dantheman, February 19, 2007, 10:28:43 PM

Previous topic - Next topic

dantheman

3-11-07 v0.4 Final released!
Changelog:
QuoteThis release contains various bug fixes, which should improve games compatibility and stability. Some minor features have also been added like options saved in save states, background Layer selector, and hinge support.
Here is a list of changes:

* Fixed ROM paging, this should improve stability of large ROMs (especillay DKC2)
* Some CPU instructions were bugged because of the way SNEmulDS write in I/O ports, this should also improve stability (ie Crash before first boss in Zelda)
* Fixed a bug that made Chrono Trigger freeze during battles
* Changed the way emulator detect blank screen (Street Fighter Turbo, RTYPE3, Final Fantasy Mystic Quest now works)
* Fixed some bugs with SRAM memory, which unlock most ROM protections (Uniracer, Bust-a-move, … now boot)
* Now sound core doesn’t randomly crash when using line by line engine
* Better reset of sound core, some games now run correctly when they are launched after another game (ie Super Bomberman >2)
* Save states also save options
* Added background layer selector. You can again enable/disable backgrounds.
* Added hinge support. If you close you DS, emulation is stopped and SRAM is saved.
* SRAM is now automatically saved before loading another ROM

Get it here:

http://snemul.free.fr/ds/SNEmulDSv04.zip

Older posts:

2-25-07 New beta release!
Archeide has quickly turned around and released another update to his SNES emulator for the DS.  Changes include:
QuoteSNEmulDS 0.4 alpha contained a lot of stupid bugs that i fixed in this beta release. There are still bugs, but i think it worth a try for most users, because a lot of games were broken. I also added a manual background layers selector.

Here is the complete list of changes:

* Fixed the broken BREAK and COP instructions
* Fixed the ROM write protection by using the protection unit of the ARM9 (thanks to bubble2k for pointing me that)
* Fixed the Emulation flag at startup (problem with DKC3)
* Stupid again, SNES’s RAM was not in the cached memory, speed up games (10-20%)
* Reduced memory consumption, now ROM memory is static (no more malloced), should remove ROM overflow and RAM overwriten problems
* Added an experimental “line by line” engine (buggy, slow, unstable, uncomplete… maybe useful for a few games)
* Added a manual background priority selector (can be choosen in options or with START+LEFT+RIGHT+UP or START+LEFT+RIGHT+DOWN for automatic)
* Added another speed hack option : “Interrupt speed hacks” that should be better than “Full speed hacks” for some games. “Middle speed hacks” is now “Cycles speed hacks”

You can get it here:

http://snemul.free.fr/ds/SNEmulDSv04b.zip

As usual you may have to patch it with DLDI drivers, for more information see here : http://chishm.drunkencoders.com/DLDI/

*runs off to test more*

Here's my original post from the Alpha release:

A new release from Archeide, this alpha release of v0.4 offers faster emulation speed, better device compatibility, and a new CPU core borrowed from SnezziDS.  Homepage and details are at http://snemul.free.fr/ds/

Quoting the changelog:
QuoteIt has been a long time with no real updates of SNEmulDS.. This first release break this silence, and i hope it will please everyone. First of all, the main change is the integration of the CPU engine of SnezziDS. In fact, I wanted to make my own CPU engine in ASM, but i rapidly saw that i couldn’t do better than bubble2k did. I recognize his work as a masterpiece in DS homebrews. I personnally added some new features from the original C CPU of SNEmulDS: speed hacks, memory protection, and ROM paging/dynamic reloading (giving Large ROMs support for Slot-1 cards). All combined CPU engine and speed hacks give a great boost in speed.
There are also various changes:

* Implemented MODE 7
* Partial line by line engine for MODE 7 games
* Implemented MODE 3,4 (256 colors)
* Now SNEmulDS uses devkitpro 20 and libfat library from chishm with DLDI support, for better compatibility
* Improved ROM paging, reducing bugs for Large ROMs (> 3 Mo)
* Fixed memory leaks (And consequently, fixed famous “Unsupported Large LoRom” bug)
* Three level of speed hacks : no speed hacks, medium speed hacks, full speed hacks. Each level give various compatibility and speed enhancements.
* Fixed various bugs
* Now SNEmulDS sources are under GNU license, to be compatible with snezzids

Get it here : (don’t forget to patch it with your DLDI driver; SNES games, Music files and Save files are loaded from /SNES directory)

http://snemul.free.fr/ds/SNEmulDSv04a.zip

Sources are available on SVN, or with this package : http://snemul.free.fr/ds/SNEmulDSv04-src.zip

I haven't had much time to work with this, but from what I can tell it seems like a great release.  Games run much closer to fullspeed now, which is always welcome.  

Archeide's post on the SNEmulDS support forum can be found at http://www.pocketheaven.com/boards/viewtopic.php?p=40693

Koji

Large rom support? Whooo hooo now I must make my way to the pocket heaven forums and deposit much much love to the author.

teknicz

Awesome news, I can't wait to try this version out.

uzumakishade

anyone know what games this version supports?

dantheman

Koji, I think the size limit has been raised a little, but not substantially.  CT and the DKC series will still not fit into RAM unfortunately.  

uzumakishade, the best option would be to try the games yourself and report the results.  It hasn't been out long enough for extensive compatibility testing to have been done.

Hi

Well donkey kong country has been ported to the gba anyway.
_______________________________________

Koji

Quote from: "dantheman"Koji, I think the size limit has been raised a little, but not substantially.  CT and the DKC series will still not fit into RAM unfortunately.

Dan: Reread it.

QuoteI personnally added some new features from the original C CPU of SNEmulDS: speed hacks, memory protection, and ROM paging/dynamic reloading (giving Large ROMs support for Slot-1 cards)

Tested and confirmed, Chrono Trigger DOES load and play, though the sound is bad and their are graphic glitches (less if you only use a moderate amount of speed hacks and enable vblank, oddly you lose the ability to read text when using the later option)

Not perfect, and you can't see the battle menus so it's still technically unplayable (at least to me) but it's a huge step. It also means I no longer have need to look for a slot 2, as SNES emulation was the main reason I wanted one, the extra ram.

dantheman

I dunno.  The wording is rather strange in the second half:
QuoteImproved ROM paging, reducing bugs for Large ROMs (> 3 Mo)
And large games still give RAM errors when you boot them.  I then proceeded to play Chrono Trigger until it crashed on me in the first battle, so I assumed that it won't work.  I thought that his post merely meant that only slightly larger roms were supported.  

You could be right though, in which case I need to go back to the forums I already posted in to correct the misleading info I've been spreading.

Koji

The way I read it, he improved the rom paging system, reduing the amount of bugs on large roms greater than 3 megs.

dantheman

I have a feeling that you're right.  Donkey Kong Country has been working fine for me, though I can tell when the paging system is kicking in (noticeable temporary slowdown).  I'll check out DKC2 and DKC3 after I use uCON64 on them, but for now DKC by itself is enough to show me I was wrong.  I've already posted corrections to several places where I've spread in the incorrect info.  Thank you for pointing out my error.

I have to say though, it's really nice having to actually limit some games to 100% speed.  It makes for a great change from the 50% speeds we were seeing earlier.

NT

What are some games that run full speed with sound?

dantheman

I've always found Acrobat Mission to run fullspeed on nearly any emulator that supports speedhacks (SNES Advance, Snezziboy, SNEmulDS).  Another good one is Arkanoid - Doh it Again (must disable one background layer).  Aero Fighters also works well with Wait Vblank and Medium Speedhack.  Darius Twin is another aero shooter that works with No Vblank.  Donkey Kong Country is passable if you already know the level layout, but the memory swapping tends to make the game thrash quite often.  A Link to the Past appears to work perfectly.  I haven't tested many others myself unfortunately.

dantheman

Update:  v0.4 beta has been released as of a couple of hours ago.  See the first post for details.

Koji

Ohhhhh -drools- he added manual background selection. This was the only option I needed to get one of my favorite games working perfectly. Should help get quite a few other games I really enjoy working too. Off to test~

dantheman

It's not entirely manual, but you get many options that work like the quick-select feature of SnezziDS.  For instance, with DKC in the mine train level, I tap a few times until it's at 3/3/3/3 and then it works fine.  

I did some preliminary testing, and DKC and DKC3 appear to work perfectly after tweaking some settings.  Use Wait Vblank and No Speedhack for best results, though if it slows down in a certain level, turn on line-by-line display instead of tile display and change it to No Vblank, which should keep the speed at around 100%.  

DKC2 is strange though.  Nothing wrong graphically or audibly, but gameplay is severely screwed up.  I go into the cabin in the first level and it goes back to the level select.  I open level 2 and find I can't progress to the right.  I exit and reopen the level and find myself warped 50 feet above my previous location.  Then SNEmulDS freezes.  I reboot and try again, and this time the cabin works fine, but SNEmulDS still freezes in level 2.  It's screwed up.

Chrono Trigger still freezes at that opening battle =/

But still, the few games I have tested, aside from those two, have worked well.