Why Is SNES Emulation So Tricky?

Emu Talk Goes Here
User avatar
racketboy
Site Admin
Posts: 9784
Joined: Thu Dec 01, 2005 8:28 pm
Location: Michigan
Contact:

Why Is SNES Emulation So Tricky?

Post by racketboy »

It seems like the SNES is always the last one of the generation to get solid emulators for platforms like the Dreamcast, DS, and such.
Heck, even the Neo-Geo stuff seems to run better.
I know a lot of work goes into them, so I'm not really complaining -- I was just wondering if anybody had any insight on the mat
dustin
Newbie
Posts: 9
Joined: Tue Aug 05, 2008 6:51 pm

Post by dustin »

I've only ever written very small emulators so I don't know to much but here is what I've gathered ont he matter.

The genesis got most of it's power from it's cpu which is relativly easy to emulate where as the SNES got most of it's power from it's hardware which is much more difficult to emulate.

A lot of the cartridges of the SNES had special chips inside of them so if you want to emulate all games there are a lot of individual chips which have to be coded for.

I don't know why the neo geo would be better though as I don't know about the neo geo hardware. I know it does have crazy graphics chips though so it seems like it might be hard to emulate as well. It is possible that the neo geo and the genesis have more standeard hardware which would make getting niformation on them much easier and therefore easier to code.
Niode
Next-Gen
Posts: 7831
Joined: Wed Jan 04, 2006 2:34 pm
Location: UK

Post by Niode »

Both the Genesis/Megadrive and Neo Geo ran on Motorola Processors. The 68000 to be exact.

That could go someway to explaining how they are emulated easier.

I reckon there's probably more documentation available for the M68000 than the custom Nintendo chip that the SNES used.
Marurun wrote:Don’t mind-shart your pants, guys
User avatar
extrarice
64-bit
Posts: 318
Joined: Fri Feb 23, 2007 7:44 pm
Location: A Mountain Stronghold in Northern California

Post by extrarice »

Niode wrote:Both the Genesis/Megadrive and Neo Geo ran on Motorola Processors. The 68000 to be exact.

That could go someway to explaining how they are emulated easier.

I reckon there's probably more documentation available for the M68000 than the custom Nintendo chip that the SNES used.
Motorola's 68k line of processors was very widely used so I'm sure there's much more documentation and code for emulation of that than the SNES hardware. I remember that getting the various layers and transparencies to work right in an SNES emulator took quite some time.
Lordus
Newbie
Posts: 2
Joined: Thu Aug 07, 2008 7:01 pm
Contact:

Re: Why Is SNES Emulation So Tricky?

Post by Lordus »

racketboy wrote:It seems like the SNES is always the last one of the generation to get solid emulators for platforms like the Dreamcast, DS, and such.
Heck, even the Neo-Geo stuff seems to run better.
I know a lot of work goes into them, so I'm not really complaining -- I was just wondering if anybody had any insight on the mat
CPU emulation is not really the problem, I am sure there is enough documentation available on either of them. With 16-bit emulation you normally spend most of the processing time in video emulation and the SNES has a very complicated video hardware and is quite sensitive to timing.
The NeoGeo on the other hand is probably the easiest one, as it has relatively simple video hardware. There is just one fixed background layer (can't be scrolled), and a massive amount of sprites and memory. It also has a relatively small library of games and very few of them rely on accurate emulation (for things like raster effects), so you don't even have to be line accurate most of the time.

The Genesis video hardware is already quite a bit more complicated to emulate and the SNES one a lot more, causing a lot of trouble with priority issues etc.

So on platforms like the Dreamcast or DS it all depends on how effectively you can render the graphics. So you go for a way that will be as fast as possible, because you don't have much CPU power to work with. This often also means doing things in a less accurate way, which might be OK for the NeoGeo but causes a lot of issues for SNES games.

In the end you'll just spend a lot more time working on getting it right while still keeping enough speed, and some things probably won't even be possible to do at all, if you don't want it to be a slide show.
Niode
Next-Gen
Posts: 7831
Joined: Wed Jan 04, 2006 2:34 pm
Location: UK

Post by Niode »

Welcome to the forums! You should introduce yourself here

Do you have a background in programming/porting? Just wondering on if you have had any experience with this sort of thing?
Marurun wrote:Don’t mind-shart your pants, guys
Haoie
128-bit
Posts: 786
Joined: Sat Jun 21, 2008 8:43 pm
Location: New Zealand

Post by Haoie »

I think the SNES is the best emulated console there is. ZSNES for example, is pretty much sheer perfection. Runs nearly 100% of the games, insanely fast, better than perfect sound, and you don't need to do tweaks for every different game.
If each mistake being made is a new one, then progress is being made.
User avatar
racketboy
Site Admin
Posts: 9784
Joined: Thu Dec 01, 2005 8:28 pm
Location: Michigan
Contact:

Post by racketboy »

Haoie wrote:I think the SNES is the best emulated console there is. ZSNES for example, is pretty much sheer perfection. Runs nearly 100% of the games, insanely fast, better than perfect sound, and you don't need to do tweaks for every different game.
I know PC emulation is good -- I'm more concerned with other, less powerful and developed platforms
Lordus
Newbie
Posts: 2
Joined: Thu Aug 07, 2008 7:01 pm
Contact:

Post by Lordus »

Niode wrote:Do you have a background in programming/porting? Just wondering on if you have had any experience with this sort of thing?
A bit I'd say. I've written a few emulators (2 of them for the DS) and work as embedded developer.

Anyhow, the SNES is surely the most popular 16-bit system and interest in its emulation also the biggest. The fact that it's still the last system to get proper emulation on many systems already shows that it has to be complicated to do. On systems like the Dreamcast or DS you will most likely never see SNES emulation that comes anywhere close to what you get on a PC.
User avatar
racketboy
Site Admin
Posts: 9784
Joined: Thu Dec 01, 2005 8:28 pm
Location: Michigan
Contact:

Post by racketboy »

Lordus wrote:
Niode wrote:Do you have a background in programming/porting? Just wondering on if you have had any experience with this sort of thing?
A bit I'd say. I've written a few emulators (2 of them for the DS) and work as embedded developer.

Anyhow, the SNES is surely the most popular 16-bit system and interest in its emulation also the biggest. The fact that it's still the last system to get proper emulation on many systems already shows that it has to be complicated to do. On systems like the Dreamcast or DS you will most likely never see SNES emulation that comes anywhere close to what you get on a PC.
Sigh....
Thanks for your input though -- hope to see you around in the future :)
Post Reply