So What's The Problem With Sega Saturn Emulation Exactly?


A_Llama

Still Fresh
Joined
Mar 7, 2008
Messages
49
I'm sure i've seen lots of people here say that there's no open source sega saturn emulator, well how about this one? http://yabause.org/

I haven't tried it, so I don't know how good it is, but there is a linux version, so surely it'd be a good start. And there's even a dreamcast version, which is probably very slow, but glancing at the dreamcast specs it seems the pandora is going to be a fair bit more powerful.

I know a really good saturn emulator on the pandora would take a lot of work but surely it wouldn't be hard to at least get an early slow one on the pandy? And maybe we could even get the team that's working on this emulator interested in porting it?
 
The Dreamcast port runs at 10 fps at 200Mhz.
So a Pandora port could run at 30 fps (yes it don't works like this but it's an idea).
 
Forget about saturn emulation! It has roughly 1 million processors and co-processors (slight exaggeration) and has proven even too complex for perfect emulation on any platform so far.
 
Professional, commercial devs had a hard time writing software for the machine directly. Emulating it should prove to be extremely hard. Even though if it happened I wouldn't kick it out of bed.
 
Strider-No.9 said:
Professional, commercial devs had a hard time writing software for the machine directly. Emulating it should prove to be extremely hard. Even though if it happened I wouldn't kick it out of bed.
Never mind not kicking it out of bed, i'd marry it!

Sod N64 Emulation, Saturn would be monumental! If it were possible at full speed (which it isn't), you could probably sell half a million Pandoras in Japan alone!
 
Last edited by a moderator:
What I've heard is that the hardware for the Saturn is incredibly difficult to emulate. Pandora could maybe be powerful enough to do it, but it'd be a giant pita for the dev. probably take a few years... :)
 
:unsure: Im hungry all of a sudden....oh well.


The saturn was practically glued together with off the shelf parts, curtisey of SoA. While it is possible it would be daunting to take on. Japaneese devs are the ones most likely to take it on, and maybe show some progress. Time and interest played roles in it only having a couple of emus on pc.
 
Ayla said:
The Dreamcast port runs at 10 fps at 200Mhz.
So a Pandora port could run at 30 fps (yes it don't works like this but it's an idea).
Is this from your own personal experience? Or have you founf this information elsewhere on the internet? I've looked allover for conclusive info on the speed of the dreamcast port, for exactly this reason (posting another 'saturn emu?!' post on here :p ), but with no joy.
 
Last edited by a moderator:
Ayla said:
The Dreamcast port runs at 10 fps at 200Mhz.
So a Pandora port could run at 30 fps (yes it don't works like this but it's an idea).
10fps sounds too generous (I heard more like average of 7), but Yabuase for DC employs no dynamic recompilers and only minimal 3D acceleration, so there's possibly a decent amount of room for improvement. I also expect Pandora's CPU to be a little bit better than Dreamcast's at the same clock speed (better ISA, better parallelism, better cache) and the toolchain they use for compiling on Dreamcast is known for being notoriously bad.

At 900MHz maybe there's some hope, but it'd require very gruelingly efficient code and probably usage of the DSP in some capacity.
 
Last edited by a moderator:
I've been gurgling over this question for a while, too... Really, Nights to go would possibly be the best thing conceivable. Perhaps someone who's really dedicated to the platforms (Saturn and Pandora) would take this on, and pull a psx4gp2x like zottd did, but we'd need a master coder and an unrelenting soul ;), and even then the emulator probably couldn't handle Virtua Fighter fullspeed.

Apparently (correct me if I'm wrong) Sega started planning the Saturn as the next 2D powerhouse, thinking that 3D hadn't really been worked out yet, technologically. So the hardware was all pretty much planned and ready to print, when they got word of the PSX, and that Sony had pretty much ditched 2D altogether. So, to compete, they "jumbled a few extra parts" into the casing and sent it off (slight exaggeration).

But check out all that a Saturn emulator has to emulate:

Wikipedia Entry on the Sega Saturn said:
512 KB BIOS ROM
It would be nice to see it, I'd love to be a part of the process, for beta testing, bug reports, etc.. But don't expect it to come up, and if it does, it will come late and after everything else is taken care of, like SNES emulation and PSX emulation, and if it comes, don't expect it to be fullspeed for 3D games.
 
Last edited by a moderator:
Rayek said:
But check out all that a Saturn emulator has to emulate:

Wikipedia Entry on the Sega Saturn said:
Processors
* Two Hitachi SuperH-2 7604 32-Bit RISC processors at 28.63 MHz (50-MIPS) – each has 4 KB on-chip cache, of which 2 KB can alternatively be used as directly addressable Scratchpad RAM
* SH-1 32-bit RISC processor (controlling the CD-ROM)
* Custom VDP 1 32-bit video display processor (running at 7.1590 MHz on NTSC Systems, 6.7116 MHz for PAL Systems)
* Custom VDP 2 32-bit video display processor (running at 7.1590 MHz on NTSC Systems, 6.7116 MHz for PAL Systems)
* Custom Saturn Control Unit (SCU) with DSP for geometry processing and DMA controller (running at 14.3 MHz)
* Motorola 68EC000 sound controller (running at 11.3 MHz / 1,5 MIPS)
* Yamaha FH1 DSP sound processor, "Sega Custom Sound Processor" (SCSP), running at 22.6 MHz
* Hitachi 4-bit MCU, "System Manager & Peripheral Control" (SMPC)

Memory

* 1 MB SDRAM
* 1 MB DRAM, combined with SDRAM to make the main 2 MB memory area
* 1.5 MB VRAM
* 4 KB VDP2 on-chip color RAM
* 512 KB audio RAM
* 512 KB CD-ROM cache
* 32 KB nonvolatile RAM (battery backup)
* 512 KB BIOS ROM

This is possibly not as bad as it sounds because the SH1 and SMPC don't have to be emulated at a low level since they're driven by ROM code and have fixed functionality. It's possible that some games use standard code on the DSPs too, or at least the audio DSP. The memory amounts don't really matter. I think you could probably do the VDPs with hardware acceleration if you're willing to accept some level of reduced accuracy (probably wrecking a good number of games, but still allowing some to work okay). I don't know how much games use them in ways that doesn't translate well to 3D acceleration.
 
Last edited by a moderator:
Exophase said:
This is possibly not as bad as it sounds because the SH1 and SMPC don't have to be emulated at a low level since they're driven by ROM code and have fixed functionality. It's possible that some games use standard code on the DSPs too, or at least the audio DSP. The memory amounts don't really matter. I think you could probably do the VDPs with hardware acceleration if you're willing to accept some level of reduced accuracy (probably wrecking a good number of games, but still allowing some to work okay). I don't know how much games use them in ways that doesn't translate well to 3D acceleration.
You're probably right, but it still leaves loads to account for. It's mostly the two RISC processors and the VDPs that I'd be wondering about. Plus the geometry SCU... Its just a lot to actively emulate, and it would take a lot of work to optimize for the Pandora.
 
Last edited by a moderator:
You know, it's almost amusing. This is one of those systems that is going to be impossible to emulate on practically anything. I still haven't even figured out how to even set the emulators up on my PC, as they're incredibly user hostile. In addition, I asked a well known portable console modder if he ever considered making a portable Saturn, and I got an answer that it would be very difficult to do, since the components are stacked like in a Gamecube or Dreamcast. Then you get into the issue that you mod chips virtually don't exist anymore, and that even if they did, compatibility with all the different models would be an issue. And you can't just ignore the system, because it has gems like NiGHTS, Shining Force III, Panzer Dragoon Saga, etc. SFIII and PDS both being prohibitively expensive to find, I might add...

So basically, if you want to play Saturn games, get ready to either do a great deal of work, or spend a ridiculous amount of money. :lol:

That's part of why a Saturn emulator for Pandora is such a draw for me. If someone could make it fast, compatible, and easy to use, that alone would justify the price of the system for me.
 
Rayek said:
You're probably right, but it still leaves loads to account for. It's mostly the two RISC processors and the VDPs that I'd be wondering about. Plus the geometry SCU... Its just a lot to actively emulate, and it would take a lot of work to optimize for the Pandora.
Yeah, those things are problematic. In isolation the CPUs should recompile to tighter code than PSX though (particular with certain optimizations, like move, constant, shift propagation), and at a lower clock rate. If they don't have to be interleaved too heavily then the necessary work for both combined should be well under what's necessary for N64 emulation. This is especially true for any games that idle loop the second processor into nothing.
 
Last edited by a moderator:
It would take a fanatical developer like StrmmnVrmn (or whatever the heck his name is) 4 times as long as it did with daedulus, and you still may not have anything tolerable. Just don't hold your breath :D
 
Maybe we should come up with a formula, something like:

Absolute minimum required "perfect" emulation MHz = (((CPU1 MHz + CPU2 MHz + ... + CPUn MHz) * 2 + (5 * Number of CPU's)) / (60 * FPS_Required) + 50)

If you plug that in for, say, a Super Nintendo:

(21.28137 MHz (Main CPU) + 24.576 MHz (Audio CPU)) * 2 + 10 = 151MHz for 60fps

for an absolutely PERFECTLY optimised emulator (using every trick in the book) on a bare platform, without additional chips (e.g. SuperFX, DSP-1, etc.) with absolute full knowledge of the platform and the target architecture.

(In case you're wondering, I've seen ZSNES forum postings which say things like "Well, I used to get 60 FPS with 8B VESA 2 graphics, new grafx engine, and 16000 Hz sound sampling rate and sound buffering on my MMX (166 MHz) with 48 MB RAM. Of course, using the DOS version." so it doesn't seem that insane and I can testify to the approximate specification being right as some point in ZSNES's history.).

So, for a Sega Saturn (assuming that there were anywhere near enough programmers interested in making a fully-working emulator):

(28.63 MHz (CPU1) + 28.63 MHz (CPU2) + Unknown (SH1 Chip controlling the CD) + 6.7116 MHz (Vid chip 1) + 6.7116 MHz (Vid chip 1) + 14.3 MHz (Custom SCU) + 11.3 MHz (Audio) + 22.6 MHz (Audio DSP) + Unknown (MCU)) * 2 + (5*9) + 50 = (118 MHz + 2 Unknowns) * 2 + 45 +50 = about 400MHz at least

As a conservative estimate for something PERFECTLY optimised with PERFECT knowledge of the chips involved, for basic games. That's after about 10 or more years of development on an emulator by dozens of people (i.e something in the realm of ZSNES optimised for one of it's most-targeted platforms), hand-optimised ASM, no interfering operating system, a target architecture that's been highly-optimised for every action etc..

Unfortunately, in the absence of such programming interest and years of development, you're more likely to be multiplying that number by 10 or more, not 2, because the emulators just won't be able to do much in the realm of optimisation for many years. Seriously.

Required average emulation MHz (unoptimised) = (((CPU1 MHz + CPU2 MHz + ... + CPUn MHz) * 10 + (10 * Number of CPU's)) / (60 * FPS_Required))

So, now that there is a Sega Saturn emulator that "works", give it about 8 or more years with a development team the size and skill of ZSNES and you might able to get it working on a 400 or 500MHz machine. Or you could do it now with a buggy, unoptimised, incompatible emulator on a machine of about 2GHz for basic stuff

Note: All formulas are totally made up and all CPU speeds taken from Wikipedia.
 
Sega Saturn Emulation sounds very interesting and the Saturn was e good Console. I remember great "SATURN BOMBERMAN" Sessions in the Army, outstanding Bomberman Game.

But AFAIK even on high End-PC's thwere is no full-speed Saturn Emulation and AFAIK coding for x86 is much more easy than coding for ARM... (?) .... So I think there will be no usable Saturn Emulator for Pandora...until we hear about a really good Saturn-Emulator for PC.
Maybe it is more easy to concentrate on a useful NDS Emulator, hard to but maybe more easy to realize than a Sega Saturn Emulator?
 
@ledow Funny :) But that will never work, you need to adjust somehow your formula depending on the host architecture since P3 400 MHz != P2 400 MHz != Core2 400 MHz != ARM1136 400 MHz != Cortex-A8 400 MHz.

So you could add some randomization that would change your needed MHz by a range from let's say 0.1 to 10. Which also would make your formula useless :p
 
So is there a dev at least interested in giving it a whirl? If I had an ounce of coding skill I'd be the zottd of Saturn4Pandora ;) but unfortunately, I know near nothing.
 
Back
Top