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
Why Is SNES Emulation So Tricky?
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.
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.
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.
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
- extrarice
- 64-bit
- Posts: 318
- Joined: Fri Feb 23, 2007 7:44 pm
- Location: A Mountain Stronghold in Northern California
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.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.
Re: Why Is SNES Emulation So Tricky?
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.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
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.
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?
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
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.
I know PC emulation is good -- I'm more concerned with other, less powerful and developed platformsHaoie 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.
Support Racketboy on Patreon
Follow Racketboy on Social: Instagram / Twitter / Facebook
Subscribe to Email Newsletter (Blog / Guide Updates Every Week or Two)
Follow Racketboy on Social: Instagram / Twitter / Facebook
Subscribe to Email Newsletter (Blog / Guide Updates Every Week or Two)
A bit I'd say. I've written a few emulators (2 of them for the DS) and work as embedded developer.Niode wrote:Do you have a background in programming/porting? Just wondering on if you have had any experience with this sort of thing?
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....Lordus wrote:A bit I'd say. I've written a few emulators (2 of them for the DS) and work as embedded developer.Niode wrote:Do you have a background in programming/porting? Just wondering on if you have had any experience with this sort of thing?
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.
Thanks for your input though -- hope to see you around in the future
Support Racketboy on Patreon
Follow Racketboy on Social: Instagram / Twitter / Facebook
Subscribe to Email Newsletter (Blog / Guide Updates Every Week or Two)
Follow Racketboy on Social: Instagram / Twitter / Facebook
Subscribe to Email Newsletter (Blog / Guide Updates Every Week or Two)