• Steam recently changed the default privacy settings for all users. This may impact tracking. Ensure your profile has the correct settings by following the guide on our forums.

Possible Sega Saturn Emulator

o2byzst

New Member
I've noticed that there are quite a few emulators that allow Saturn games to be played on the PC. And since we can play PS1 games on a PSP quite well, I was curious why Saturn games have yet to be emulated? I've seen that N64 titles can already be emulated and I thought they were more powerful than the Saturn. Doesn't the pecking order kinda go (ascending)

Playstation = Saturn
Playstation 2 = Dreamcast = Xbox = Gamecube
PS3 = Xbox 360

Have none of the emulators been attempted to convert over to PSP use yet?

I'm just curious since I'm new to the scene I was hoping someone could enlighten me cause there were some great games that I'd love to see playable again.
 
Someone posted a thread on this a couple days ago:

http://forums.exophase.com/showthread.php?t=5631

There is a Sega Saturn emulator for PSP but it's a port of the PC emulator yabause (read: very slow) and games of course are unplayable on it.

Still, even if someone developed a Saturn emulator from the ground up for PSP there's no way it would run games at a playable speed. To actually run Saturn games at full speed on your PC you need a modern dual core CPU.

I think the Saturn was similar to the N64 spec-wise, but it has a very complex architecture that makes it extremely difficult to emulate.
 
That sucks. It would've been great to be able to play Panzer Dragoon or Burning Fire or some of the other great titles available. So it's safe to say then that Saturn Emulation is an abandoned project?
 
That sucks. It would've been great to be able to play Panzer Dragoon or Burning Fire or some of the other great titles available. So it's safe to say then that Saturn Emulation is an abandoned project?


well,not abandoned,just not possible. Chilly Willy only ported over the PC Saturn emu just to show it would be impossible.Like x3sphere said, the architechure is just too complicated to emulate. Hell, I can't even get a Saturn Emu to run full speed on my computer and barely full speed on my mum's bf's computer
 
well,not abandoned,just not possible. Chilly Willy only ported over the PC Saturn emu just to show it would be impossible.Like x3sphere said, the architechure is just too complicated to emulate. Hell, I can't even get a Saturn Emu to run full speed on my computer and barely full speed on my mum's bf's computer

I didn't port it. Like I said in the post, sofiacat did. I only added the ability to load CD images so you could actually try playing a game (I have played Panzer Dragoon and Nights on it).

Also, I think the Saturn is very doable. Let's look at the specs:

Two 28 MHz SH2 processors. Emulating this CPU is simple. The tough part is there are two of them. Put one on each CPU in the PSP for best speed. Each PSP CPU should have no trouble emulating one SH2 CPU.

One SH1 processor. This doesn't need to be emulated. The only thing it does is process requests for the CD. There is no direct programmer control over this CPU, so all the emulation needs to do is catch the requests and handle them natively.

One 68000 + sound hardware. Can be ignored for the moment like many Saturn emus do, but it's not a really tough part to emulate.

One 2D video chip. This chip is the bulk of the emulation problem. It's a sophisticated 2D chip aimed at making platform type games. If there would be a slow down in the emulation, this would be the main source.

One 3D(ish) chip. This chip can draw raster lines in various modes. Not really too tough to emulate, and is reasonably fast with 3D hardware in the target system.

Misc control chips that handle things like DMA and IO. Not a big deal.

Overall, the biggest issue is the 2D video chip. It's a real bugger. You'd want to do this section in 100% assembly for best speed. You could probably also skip emulating parts of it depending on the game. As for the main CPUs, I'd put one on each PSP CPU as I mentioned, and not worry about cycle counting. Accurate timing between the two CPUs probably isn't important for most games, and that would improve the speed a little. I'd do this part in assembly as well.

That's the main issue with doing a Saturn emulator on the PSP - you really need to do it mostly in assembly. There aren't many folks left that program in assembly. Emulators these days are mostly C and C++. Back when PCs still used 400 MHz P2s, we saw quite a few emulators that were 95% or better assembly. There are only a few of those left now in an age of 2GHz+ CPUs. Programming emulators for consoles beyond the old 8bit consoles or the 16 bit Genesis requires the same kind of programming you saw on those old PCs.
 
It could take a bit of work, but why not create a native system for the 2D graphics, and then write a converter to alter each game image to change it's 2D calls into the new system calls? I haven't looked into it at all, but it sounds cool, and as such is the entire basis for my idea.
 
Sounds sort of like one of the modes in SNES9xTYL for the PSP. The emu takes the "tiles" from the SNES graphics and makes them into small textures. It looks for writes to the tiles and updates the textures. When the display is drawn, it's just a matter of doing a bunch of hardware sprite commands using the appropriate texture. That works rather well. Something similar can probably be done on other consoles.
 
Back
Top