There is a Saturn emulator on Dreamcast!

This forum is for discussion pertaining to homebrew and indie software for the Dreamcast, such as homebrew games, emulators/interpreters, and other homebrew software/applications. Porting requests and developmental ideas are not to be made here; you can make those here. If you need any help burning discs for homebrew software, this is the place to ask as well.
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

Thing your forgeting is it would not be a normal emulator We have a 200mhz sh4 that can be turned into a 200mzh sh2 . Were not emulating the cpu like X86 pc has to.. So cut the specs right down a whole big lot. Sega no doubt did it . Creator of the machine would Be able to do it Bleemcast shows a lot how a simulator can work better And i know most of you if Bleemcast was not written would of said it cant be done. Im sure Sega could of created satcast using the backward - capability of the sh4 in sh2 mode and some fancy coding. So 1ghz spec is not valid your pc does not have a built in sh2 the saturn uses does it. Complex video system in some way could be simulated edian- ness could be changed with software. Im sure 1 saturn title could of be made to run fullspeed with that in mind not a full blown proper emulator. but in the style of Bleemcast. Which did nto run every game ether but the ones it did it did perfect. Dreamcast has massive amount of 3d power not used by the homebrew developers. So all we are doing is using a slow 166hmz p1 and trying to make things run on that.
Dreamcast forever!!!
doragasu
DCEmu Cool Poster
DCEmu Cool Poster
Posts: 1048
Joined: Thu May 16, 2002 5:01 pm
Location: Madrid, Spain
Has thanked: 0
Been thanked: 0

Post by doragasu »

Ian Micheal wrote:Thing your forgeting is it would not be a normal emulator We have a 200mhz sh4 that can be turned into a 200mzh sh2 . Were not emulating the cpu like X86 pc has to.. So cut the specs right down a whole big lot. Sega no doubt did it . Creator of the machine would Be able to do it Bleemcast shows a lot how a simulator can work better And i know most of you if Bleemcast was not written would of said it cant be done. Im sure Sega could of created satcast using the backward - capability of the sh4 in sh2 mode and some fancy coding. So 1ghz spec is not valid your pc does not have a built in sh2 the saturn uses does it. Complex video system in some way could be simulated edian- ness could be changed with software. Im sure 1 saturn title could of be made to run fullspeed with that in mind not a full blown proper emulator. but in the style of Bleemcast. Which did nto run every game ether but the ones it did it did perfect. Dreamcast has massive amount of 3d power not used by the homebrew developers. So all we are doing is using a slow 166hmz p1 and trying to make things run on that.
Bleemcast runs that fast because it uses (I'm only gessing, I'm not sure) dynamic recompilation. Using dynarec you can convert R3000A PSX assembler to x86 assembler and use video hardware acceleration (breaking some compatibility) and though using an incompatible CPU isn't that important (what is now important is the CPU and graphic system power). Saturn has to emulate 2 synchronized CPU's so maybe dynarec isn't possible. Personally I think it's impossible to get a Saturn emulator for DC at a decent speed, but well, there's always people that can make real what you think isn't possible, you have only to keep dreaming...
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

I agree with that but Bleemcast was handtuned sh4 no dev kit at all and spoke directly to the hardware. Ive been told is a simulator/emulator. With c and in MESS i some times have 3 or 4 cpus synchronized and speed is ok for a C emulator. Would take massive amount of skill. I dont think any one but sega could pull it off. :mrgreen:
Dreamcast forever!!!
|darc|
DCEmu Webmaster
DCEmu Webmaster
Posts: 16375
Joined: Wed Mar 14, 2001 6:00 pm
Location: New Orleans, LA
Has thanked: 105 times
Been thanked: 91 times
Contact:

Post by |darc| »

DeGamer wrote:
Ian Micheal wrote:Snes emulators dont use the dreamcast hardware or 3d power and use the main cpu to render and emulate the games no wonder it is slow.
What about the full speed SuperCast :mrgreen:
SuperCast? Pfffft. SaddSnes will defeat your SuperCast anyday!
It's thinking...
Alexvrb
DCEmu Ultra Poster
DCEmu Ultra Poster
Posts: 1754
Joined: Wed Jul 17, 2002 11:25 am
Has thanked: 0
Been thanked: 0

Post by Alexvrb »

Mask of Destiny wrote:Sega's Saturn emulator is just a juiced up version of GiriGiri. Sega didn't develop it themselves; however, all the official Saturn technical manuals are available on the internet. Of course, these manuals don't tell you everything.
There is a lot, and I mean a tremendous, difference between the last public version of GiriGiri and Sega's pay GiriGiri release. Speed has been increased an incredible amount, probably uses a fairly optimised dynarec core for the main SH2s. It uses 3d hardware to accelerate the graphics, using triangles to render quads. It also uses audio acceleration, and takes extra shortcuts in the sound area. These things lead to very limited compatibility (select games they wanted it to run, not many others work all that great), but incredible speed difference compared to other emulators.

I've seen it running fullspeed on a 1Ghz Athlon. I've also seen it running like crap on a 2Ghz P4 (you get a range of computers to screw around with at a LAN). The primary difference, that most overlooked: the audio. P4 had onboard sound, the Athlon had a Fortissimo III with true hardware buffering. The video cards were in a similar range, but that actually doesn't appear to matter a ton as long as it isn't ancient. My Athlon XP 1800+ with a Kyro II and a Fortissimo II crushed my friend's 1800+ and his GF4 Ti 4400 with onboard sound. An Audigy or similar card should do it too. With a SB live (drivers made no difference) I still get the warning when you run it about it wanting an audio accelerator, and it runs slow. I struggled with dxdiag, and it seems to not have full hardware buffering.

However, it is still my opinion that no matter what you do, you're not going to get decent speed on the Dreamcast while running anything that makes decent use of its hardware. But some simple games should work OK. If the coder is mad skillzd with both DC and Saturn knowledge.
q_006
Mental DCEmu
Mental DCEmu
Posts: 415
Joined: Thu Oct 10, 2002 7:18 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by q_006 »

obviously my comp sci tech knowledge is limited but....

if the SH-4 is a beefed up SH-2, and the docs say that you can SH-1 - SH-4 code on it, then i don't understand why it's such a big deal to get an emulator done for it. i mean the only u'd be emulating is the video and sound card. not the processor. also it seems everyone is implying that the Saturn always used both processors to run games. i doubt that. maybe a few but not all. and if you wanted to simulate both 2 processors couldn't u just use a thread (ie. use 2 threads and have each one "be" a processor). if that's not clear sorry that's the best i can express the idea.

and after looking at the specs i don't see how the emulating a Saturn game would be that difficult with a DC.

200Mhz SH-4 compared to 28.6 Mhz SH-2 (x2) and a 20Mhz SH-1.
you guys are gonna have to explain this to me reeeeeeeaaal slow :D
Mask of Destiny
Mental DCEmu
Mental DCEmu
Posts: 330
Joined: Sun Mar 23, 2003 10:52 pm
Has thanked: 0
Been thanked: 0

Post by Mask of Destiny »

There are a number of major barriers to running a Saturn emulator on the Dreamcast.

The first is that the SH4 in the Dreamcast is little endian whereas the SH2 in the Saturn is big endian. In short all the data, including instructions is in the wrong order. You would need a simple dynarec to account for this.

The bigger problem is synchronization. A lot of Saturn games do a poor job of handshaking between the two processors so if they aren't perfectly synched the whole thing crashes/hangs. Achieving this kind of synchronization without an interpretter core for the processors is rather difficult.

So perhaps it's possible to get one running, but it would take some clever programming to get it to work well.
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

q_006 wrote:obviously my comp sci tech knowledge is limited but....

if the SH-4 is a beefed up SH-2, and the docs say that you can SH-1 - SH-4 code on it, then i don't understand why it's such a big deal to get an emulator done for it. i mean the only u'd be emulating is the video and sound card. not the processor. also it seems everyone is implying that the Saturn always used both processors to run games. i doubt that. maybe a few but not all. and if you wanted to simulate both 2 processors couldn't u just use a thread (ie. use 2 threads and have each one "be" a processor). if that's not clear sorry that's the best i can express the idea.

and after looking at the specs i don't see how the emulating a Saturn game would be that difficult with a DC.

200Mhz SH-4 compared to 28.6 Mhz SH-2 (x2) and a 20Mhz SH-1.
you guys are gonna have to explain this to me reeeeeeeaaal slow :D
Yeah the main problem is endian-ness but software could be used to change that . You would still have much more speed then a x86 trying to emulate a risc CPU SH2 you would be left wih like you said. Truly it can be done and i beleive very well. But were looking at a pro coder doing it and were not going to get that for free. Most games did not use the 2nd CPU and yes you could just use a thread it is not such a big problem. But i cant do it . I would doubt any one here has the skill to do it yet. Lets face it people with that skill dont do any thing for free. Why should they.

But the dreamcast from my guessing and working out could do it not every game but there would be a title in the saturns collection that would work fine.

IT would not be a emulator but a simulator seems to be saying a emulator would not work nice thats true dont try emulating the saturn you dont have to emulate it all Bleemcast did not emulate all fo the PSX ether.
Dreamcast forever!!!
sappel
DCEmu Freak
DCEmu Freak
Posts: 88
Joined: Fri Oct 10, 2003 12:17 pm
Has thanked: 0
Been thanked: 0

Post by sappel »

I think that Sega is the only one who can make an Saturn emu
just like segagen wich works perfect

But I don't think Sega wil make anything for the Dreamcast anymore :(

I heard also someone saying that the Saturn has 5 processors, is that true or just a lie?
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

Three, I think (2x Hitachi SH-2, 1x Motorola 68000), plus two video units, which could be called processors if you were stretching the definition a bit.
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

So the 2 sh2s sega could of coved with some software and use the dreamcasts sh4 in sh2 mode and threading it changing the endian-ness . The m68000 is no problem they had a sh4 core for that with the smash pack. The video would of been hard but not to hard for them. Looks like to me with some skilled paid coders it would of been not as hard as some make out. breaking it down in to parts . Sega had the know how and the tools. I think it came down to the dreamcast failing. Or we might of seen it .
Dreamcast forever!!!
Mask of Destiny
Mental DCEmu
Mental DCEmu
Posts: 330
Joined: Sun Mar 23, 2003 10:52 pm
Has thanked: 0
Been thanked: 0

Post by Mask of Destiny »

The machine contains the following processors:

2 SH2s @ 25MHz
1 SH1 (this only sort of counts, since it's a black box i.e. you can't run custom code on it)
1 DSP for matrix calculations
1 68EC000 @ ~ 10MHz (I think)
1 Audio Effect DSP

and some games are very picky about synchronization. That's a lot of junk to emulate tightly synched all at once. Sure a lot of games didn't take advantage of all the hardware, but the better ones used a good chunk of it.
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

That is why we prolly did not see it . As Only a few not really good saturn titles would of run at a nice pace. That = not worth it to sell. It would be nice to get one up and running for the NEW saturn homebrew scene it would merge them into one and build a better group of programers. Have you seen the new saturn homebrew games a lot of them in the contest that was just held blow the dc ones out of the water it would be nice to have these people here as well. Thats what i thought since they would not need a mod chip and it would be easyer for them to test code.

It is a thought but we would need a skilled SH4 ASM programer . And not use kos or a dev kit.
Dreamcast forever!!!
Orange_Ribbon
DCEmu's Cheerleader
Posts: 2553
Joined: Tue May 27, 2003 7:38 pm
Location: Insert Witty Comment here
Has thanked: 0
Been thanked: 0

Post by Orange_Ribbon »

What if we got about 1000 monkeys at keyboards? Could they come up with the code?
PhoenixBurn
DCEmu Freak
DCEmu Freak
Posts: 82
Joined: Mon Jun 16, 2003 10:05 pm
Location: Brisbane, Australia
Has thanked: 0
Been thanked: 0
Contact:

Post by PhoenixBurn »

Just to clarify masks post, the DC has the following:

2x Hitachi SH-2 32-bit 28.6 MHz
1x Hitachi SH-1 32-bit 20 MHz
1 x VDP1 sprite and geometry processor
1 x VDP2 background processor
1 x Motorola 68EC000 11.3 MHz
1 x Yamaha FH1 DSP

All that on a lightly toasted seseme seed bun
Ian Micheal
Soul Sold for DCEmu
Soul Sold for DCEmu
Posts: 4865
Joined: Fri Jul 11, 2003 9:56 pm
Has thanked: 2 times
Been thanked: 4 times

Post by Ian Micheal »

Orange_Ribbon wrote:What if we got about 1000 monkeys at keyboards? Could they come up with the code?
To many monkeys can make a lot of bugs and errors ive been told . Never tryed monkeys but if they do the job and dont use warez then i guess that might help nothing worst then a monkey using warez tools lol.
Dreamcast forever!!!
Alexvrb
DCEmu Ultra Poster
DCEmu Ultra Poster
Posts: 1754
Joined: Wed Jul 17, 2002 11:25 am
Has thanked: 0
Been thanked: 0

Post by Alexvrb »

PhoenixBurn wrote:Just to clarify masks post, the DC has the following:

2x Hitachi SH-2 32-bit 28.6 MHz
1x Hitachi SH-1 32-bit 20 MHz
1 x VDP1 sprite and geometry processor
1 x VDP2 background processor
1 x Motorola 68EC000 11.3 MHz
1 x Yamaha FH1 DSP

All that on a lightly toasted seseme seed bun
Each 28.6 Mhz CPU pushes 25 MIPS. The FH1 DSP runs at 22 MHz. Then there's the SCU...
sappel
DCEmu Freak
DCEmu Freak
Posts: 88
Joined: Fri Oct 10, 2003 12:17 pm
Has thanked: 0
Been thanked: 0

Post by sappel »

Games also have to be programmed good, like Christmas NiGHTS plays a lot faster than the original NiGHTS
Christmas NiGHTS is actually playable :D

Also Keio2, wich is a 2D platform game goes almost perfect :)
Orange_Ribbon
DCEmu's Cheerleader
Posts: 2553
Joined: Tue May 27, 2003 7:38 pm
Location: Insert Witty Comment here
Has thanked: 0
Been thanked: 0

Post by Orange_Ribbon »

Darn it Jojo stop typing C:\Dos C:\dos\run Run dos Run !!!!!
Mask of Destiny
Mental DCEmu
Mental DCEmu
Posts: 330
Joined: Sun Mar 23, 2003 10:52 pm
Has thanked: 0
Been thanked: 0

Post by Mask of Destiny »

PhoenixBurn wrote:Just to clarify masks post, the DC has the following:

2x Hitachi SH-2 32-bit 28.6 MHz
1x Hitachi SH-1 32-bit 20 MHz
1 x VDP1 sprite and geometry processor
1 x VDP2 background processor
1 x Motorola 68EC000 11.3 MHz
1 x Yamaha FH1 DSP

All that on a lightly toasted seseme seed bun
I think you mean the Saturn

And you missed a DSP. There's another one that's there specifically to help out with matrix calculations (for the conversion of the vertices from 3D to 2D so they can be rendered). Just about every specs page on the Saturn ignores this (probably because most games didn't use it).
Post Reply