• Welcome to SCdev.org. Please log in.

Welcome to the new SCdev forums!

Why is SNES so hard to emulate well?

Started by Madrigal, February 27, 2006, 05:41:39 PM

Previous topic - Next topic

Madrigal

Just curious why SNES has such poor emulation so far on the DS. I have a Nokia phone and runs SNES ROMs perfectly with full compatibility (at least I haven't come across a ROM that doesn't work yet). If a phone can do it well, why can't a GAMING machine like the DS do it? Especially one that runs GBA fine (basically the same thing as SNES).
img]http://img297.imageshack.us/img297/3183/dsig4uu.jpg[/img]
DS Lite (US) Polar White - M3 Lite - Superkey - Sandisk MicroSD 1GB

Mithos

Nintendo DS have GBA hardware inside too, thats why it play GBA so well.

Time and effort is whats needed for the snesDS to evolve something better then what it is today.

Remember, no one owes us anything, DS homebrew developers do it in their sparetime, and because they like it.
ure White DS w. Flashme v7
Supercard SD (Viking 512MB High Speed)
Supercard DS (one) Kingston 1gb microSD
EFZ Advance 256Mbit

Koji

People who know nothing of hardware should not speak as if they know anything.

The SNES and the GBA do not share ANY hardware in common at all.

That aside, your nokia phone is running a port of SNES9X... SNES9X has great compatibility, but I bet you anything your frame rate is craptastic at best. Try playing Super Mario World on your nokia phone, then try playing it on SNESDS and I think you'll notice a huuuuuuuuge difference.

Basically it goes like this... SNESDS is a brand new emu created from scratch, and as such it has to slowly build up it's compatibility. SNES9X has been around 8 years, if you count the fact that snes9x was originally based on snes96... that means SNES9X has 10 years of development behind it.  Give SNESDS 10 years and I'm sure it's compatibility will be super high too ^_^

Linus

also give loopy time and money - that should help :)

Madrigal

The framerate is perfect. It slows down a bit if you turn on the sound, but that's a sacrifice I'm willing to make to have otherwise perfectly running ROMs and such high compatibility. I'm sure with the power the DS has, the sound issues could easily be fixed too.

Why not just port SNES9X to the DS then instead of starting from scratch? It already works very well, is MUCH easier to use, and as you said has awesome compatibility, where SNESDS has terrible compatibility.
img]http://img297.imageshack.us/img297/3183/dsig4uu.jpg[/img]
DS Lite (US) Polar White - M3 Lite - Superkey - Sandisk MicroSD 1GB

bubble2k

I'm not sure what Nokia handphone that you are running, but simply just porting Snes9x to the DS will mean that while compatibility will improve, speed is more than likely to take a hit on a less than powerful processor on the DS. (It's an ARM9 @ 66 MHz, if my memory serves me right)

That said, of course until some one actually does port Snes9x to DS, we will probably never know how slow is slow...

Blebekblebek

i believe he play it on N-Gage

n if you think that was good enough, u wrong....
LAG Everywhere

if u want to play SNES so bad play it on PC :wink:
there are so much new NDS games why u prefer play an oldies game?
(I know there are some title that really fun to play, like Chrono Triger)

but...why wasting more time for it? :roll:
u have NDS play NDS game dude

Koji

People have gotten it into their heads that full speed is full rate rate... it's not...


Snes9x ported will "frame skip" to maintain full speed on games. This leads to jerky gameplay that is near impossible for any SNES games that require precise movements (again, I use super mario world as an example)

The main problem with going by frame rate is simply the fact that emulations that don't use frame rate as an indication of how many frames are skipped, use it to show true to life speed.

Example: Let's compare a general SNES emulator, like say SNES9x, to an N64 emulator... let's say Project 64. Both use framerate as a means of measuring game speed. SNES9x uses it to show how many frames it didn't render to make the game appear at full speed. Thus 10/60 and 60/60 FPS both mean a game is running at full speed, just the animation frames were dropped to maintain speed.

Take project 64 on the other hand. If you play a game on it and it's reading 10/60FPS, it's not saying 50 frames of animation were skipped to maintain a game at full speed, it means the game is running exactly 1/6th as fast as it should, but all frames are rendered.

Now you might be thinking "what does that have to do with your argument". Put simply, playing a game at full speed does not mean you are playing it at full frame rate. SNESDS is a hand written SNES emu built from the ground up to take full use of the GBA hardware, and is working on taking full use of the DS hardware to emulate the SNES. That means most games that do work, work at 100% speed with 100% sound. As time goes on, emulation will be more accurate and more games will be supported.

If you ever want to complain again, you can go ahead and port the SNES9x code to DS. It's freely available and you can show off your mad coding skills since you seem to know so much about the hardware of the SNES and DS and what it should be capable of in your mind.



-end rant- Sorry for both of them... I used to be head of tech support for Snes9x and this just rekindled some of the old fire from when people would whine about why their 200mhz PC couldn't emulate a 3.58 mhz game console.

Madrigal

The phone I have isn't Ngage, I would never buy that crap :P. It's a 6620. All Symbian S60 phones can run it.

About the frame rate, that may be true and you certainly know what you are talking about, working on Snes9x. However I did play mario and many other games on my phone (including street fighter, which needs even more precise movements) and it was never an issue and I certainly didn't notice it, nor did my friends that I let play.

If I was a "mad coder" with such knowlage about the hardware of the SNES and DS, I wouldn't have made this thread, now would I? I asked a simple question and wondered why it couldn't be done on DS when it can be done on my phone. A simple explination would have been good enough. No need to be a jerk about it.

I understand now why the author of SNESDS wants to start from scratch, with the frame issues and all of porting Snes9x, but I still think Snes9x would be good enough. Hopefully a "mad coder" out there will port it for us.

As to why I want SNES when I have NDS, well there are a ton of great SNES game that I would love to have on the go (yes, I do play them on my PC). The SNES is actually my fave all time console.
img]http://img297.imageshack.us/img297/3183/dsig4uu.jpg[/img]
DS Lite (US) Polar White - M3 Lite - Superkey - Sandisk MicroSD 1GB

Mithos

btw. whats the name of the emulation for the Symbian Series 60 phone?

I find vSun when i do a google search, and that it a emulatior that say it cost money to get.
ure White DS w. Flashme v7
Supercard SD (Viking 512MB High Speed)
Supercard DS (one) Kingston 1gb microSD
EFZ Advance 256Mbit

Madrigal

Yeah, it's vsun. I think it's about $20. Free if you know where to look though :wink:
img]http://img297.imageshack.us/img297/3183/dsig4uu.jpg[/img]
DS Lite (US) Polar White - M3 Lite - Superkey - Sandisk MicroSD 1GB

K2000

I can confirm Madrigal doesn't know what he's talking about, I have a Nokia 6680, (arm9 220Mhz) and I can say without a shadow of doubt that there is some heavy frameskipping going there, it's even worse on my n-gage, completly unplayable.

bubble2k

I believe (correct me if I am wrong, Koji) the original Snes9x used lots of unaccelerated frame rendering. That means each scanline, even the mode 7 effects, is drawn pixel by pixel...

To port that straight to DS will never work because it will simply be too slow for the DS to plot each frame line by line, pixel by pixel. A port of Snes9x must make of the DS's PPU hardware to process the background graphics and sprites and other effects.

Which is why SnesDS and SnesAdvance for that matter must make *full* use of the hardware acceleration to achieve any decent frame rate. And that has to be hand-coded, preferably in assembly.

kompact

Quote from: "K2000"I can confirm Madrigal doesn't know what he's talking about, I have a Nokia 6680, (arm9 220Mhz) and I can say without a shadow of doubt that there is some heavy frameskipping going there, it's even worse on my n-gage, completly unplayable.

LOL, not trying to be a dick to you or anything K2000 but Madrigal is my brother and I have played SNES roms on his phone and as he said they run just fine. maybe it is just that the games he is into work well and the one(s) you have tried have issues. No need to call him a liar bud, he has no reason to come in here making phoney claims for playing games on a phone.
size=9]White NDSL / Flashme v7[/size]
R4 / SCMiniSD

ssj4android

Is SNES DS still being worked on? It seems to hardly work right now. Freezes in Super Butoden 3, can't see bullets or enemies in Strike Gunner, and major graphics/keyboard appearing problems in Family Feud. Any games that work well?