Sega Saturn
- Quzar
- Dream Coder
- Posts: 7500
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Wed Jul 31, 2002 12:14 am
- Location: Miami, FL
- Has thanked: 4 times
- Been thanked: 13 times
- Contact:
the thing is though, it would be 'relatively' easy to emulat at least one SH2 using dynamic recompilation.
also, there is a greater chance of seeing an N64 emulator, since ATM there are MANY current n64 emulators on all sorts of platforms which run fullspeed, while there have been about 10 saturn emulators ever, and only 2 or so can play any game with any speed.
also, there is a greater chance of seeing an N64 emulator, since ATM there are MANY current n64 emulators on all sorts of platforms which run fullspeed, while there have been about 10 saturn emulators ever, and only 2 or so can play any game with any speed.
"When you post fewer lines of text than your signature, consider not posting at all." - A Wise Man
-
- DCEmu User with No Life
- Posts: 3641
- Joined: Sat Feb 16, 2002 1:55 pm
- Has thanked: 0
- Been thanked: 0
I have looked into what is required, and while I'm not yet willing to say that Saturn is impossible, I'm definitely not holding my breath:
- Master SH-2
- Slave SH-2
(both ~28MHz)
I suspect that these are doable with pretty low overhead with some BSC/MMU trickery (never got it to a point where I was satisfied with my analysis), but the performance situation is still rather questionable.
- VDP1
Not much to complain about here, VDP1 is a pretty simple polygon-drawing engine. Being quad-based rather than triangle-based is a relatively minor issue, as few games do anything weird with it. It's pretty much just a matter of interpreting the command lists into PVR display lists, not much different in principle from PSX except that PSX executes commands on-the-fly through a port or DMA channel while VDP1 reads its command list from VRAM and can handle loops and subroutines.
- VDP2
This is a fairly huge pain, as there's no directly comparable hardware inside the Dreamcast (or PSX, incidentally) and VDP2 has a lot of capabilities - it's basically an old-school arcade style multiple playfield generator complete with hardware-accelerated rowscroll, palette tricks, rotation/scaling etc, plus it's capable of mixing VDP1's output framebuffer into its rendering operations (though this was apparently rarely used for performance reasons). The most you could hope for cheaply is to map the CRTC functions to PVR registers, the rest would need quite a lot of setup and much of it is probably difficult to meaningfully accelerate with the PVR - I suspect that optimized software rendering could be faster for the more complex modes.
- SMPC (System Management and Peripheral Controller)
Pretty minor stuff; the processing ability it does have is abstracted into a higher-level communication protocol, so there's no need for costly low-level emulation of the processing.
- CD Block (CD interface ASIC / SH-1
See SMPC. This involves some more work, but from an emulation standpoint it isn't criticial. The Saturn CD block is actually very advanced for its time, handling all of the low-level details, caching/readahead, and output of "streams" that are associated with files or audio tracks rather than just raw sector data.
- SCSP/68K (sound)
Not easy. Basically you're looking at emulating a fairly decent Yamaha wavetable synthesizer, programmable DSP, and programmable 11.something MHz MC68000 that share a chunk of RAM. There's a possibility of HLE for games using SGL libraries, but most stuff is probably (semi)custom and thus the 68K would need to be emulated.
- SCU DSP (general-purpose DSP embedded in the system glue logic)
Hard to say; I'm not an expert on DSP operation by any stretch of the imagination. It runs at something like 14MHz (probably half the CPU clock) and seems to be a fairly basic Harvard-architecture DSP with its own chunks of data and instruction RAM (i.e. it's a completely independent processor, unlike Playstation's GTE which is a MIPS coprocessor). IIRC it's also possible to do a DMA transfer "through" the DSP such that a byte is copied from work RAM to DSP RAM, processed, and copied to the destination. Realisitically I don't know how much of a problem that this processor poses, but it's not trivial. This essentially serves the same function as the vector units on PS2, albeit much more slowly.
Basically, no matter which way you slice it you're emulating a lot of hardware, with at least two major pieces being ineligible for any type of cheap emulation. The only consoles I can liken it to are Jaguar and PS2, both a tremendous pain to emulate (though I'd argue that Saturn is likely much easier than Jaguar).
- Master SH-2
- Slave SH-2
(both ~28MHz)
I suspect that these are doable with pretty low overhead with some BSC/MMU trickery (never got it to a point where I was satisfied with my analysis), but the performance situation is still rather questionable.
- VDP1
Not much to complain about here, VDP1 is a pretty simple polygon-drawing engine. Being quad-based rather than triangle-based is a relatively minor issue, as few games do anything weird with it. It's pretty much just a matter of interpreting the command lists into PVR display lists, not much different in principle from PSX except that PSX executes commands on-the-fly through a port or DMA channel while VDP1 reads its command list from VRAM and can handle loops and subroutines.
- VDP2
This is a fairly huge pain, as there's no directly comparable hardware inside the Dreamcast (or PSX, incidentally) and VDP2 has a lot of capabilities - it's basically an old-school arcade style multiple playfield generator complete with hardware-accelerated rowscroll, palette tricks, rotation/scaling etc, plus it's capable of mixing VDP1's output framebuffer into its rendering operations (though this was apparently rarely used for performance reasons). The most you could hope for cheaply is to map the CRTC functions to PVR registers, the rest would need quite a lot of setup and much of it is probably difficult to meaningfully accelerate with the PVR - I suspect that optimized software rendering could be faster for the more complex modes.
- SMPC (System Management and Peripheral Controller)
Pretty minor stuff; the processing ability it does have is abstracted into a higher-level communication protocol, so there's no need for costly low-level emulation of the processing.
- CD Block (CD interface ASIC / SH-1
See SMPC. This involves some more work, but from an emulation standpoint it isn't criticial. The Saturn CD block is actually very advanced for its time, handling all of the low-level details, caching/readahead, and output of "streams" that are associated with files or audio tracks rather than just raw sector data.
- SCSP/68K (sound)
Not easy. Basically you're looking at emulating a fairly decent Yamaha wavetable synthesizer, programmable DSP, and programmable 11.something MHz MC68000 that share a chunk of RAM. There's a possibility of HLE for games using SGL libraries, but most stuff is probably (semi)custom and thus the 68K would need to be emulated.
- SCU DSP (general-purpose DSP embedded in the system glue logic)
Hard to say; I'm not an expert on DSP operation by any stretch of the imagination. It runs at something like 14MHz (probably half the CPU clock) and seems to be a fairly basic Harvard-architecture DSP with its own chunks of data and instruction RAM (i.e. it's a completely independent processor, unlike Playstation's GTE which is a MIPS coprocessor). IIRC it's also possible to do a DMA transfer "through" the DSP such that a byte is copied from work RAM to DSP RAM, processed, and copied to the destination. Realisitically I don't know how much of a problem that this processor poses, but it's not trivial. This essentially serves the same function as the vector units on PS2, albeit much more slowly.
Basically, no matter which way you slice it you're emulating a lot of hardware, with at least two major pieces being ineligible for any type of cheap emulation. The only consoles I can liken it to are Jaguar and PS2, both a tremendous pain to emulate (though I'd argue that Saturn is likely much easier than Jaguar).
"You know, I have a great, wonderful, really original method of teaching antitrust law, and it kept 80 percent of the students awake. They learned things. It was fabulous." -- Justice Stephen Breyer
-
- Soul Sold for DCEmu
- Posts: 4865
- Joined: Fri Jul 11, 2003 9:56 pm
- Has thanked: 2 times
- Been thanked: 4 times
hey there Segagamer, I hope you are the one I know of Classicsega
I don't think any of those emulators will ever happen on the DC, why? because it will only be possible when SH4 ASM programmers that got knowledge of every console that is on the market grow on trees, only if the bleemcast team would start to make emu's voor DC...
I don't think any of those emulators will ever happen on the DC, why? because it will only be possible when SH4 ASM programmers that got knowledge of every console that is on the market grow on trees, only if the bleemcast team would start to make emu's voor DC...
-
- Soul Sold for DCEmu
- Posts: 4865
- Joined: Fri Jul 11, 2003 9:56 pm
- Has thanked: 2 times
- Been thanked: 4 times
Hmm ive not tryed yet ether has any one.. I think saying never and it cant is when it get's silly of course you could..
Well it happen not with out a lot of effort a big time every saturn doc and some very good sh4 asm coders.
If you have the money and your willing to pay then it can be done. Not all games would work maybe some puzzle games that dont use a lot fo the saturns hardware could be done..
But saying never is not correct. even if it loaded the saturn bios it would be called an emulator. I know i could do this at lest if i really was push.
But dont give hope to people it's a dead topic saturn is to much work for no gain..
Well it happen not with out a lot of effort a big time every saturn doc and some very good sh4 asm coders.
If you have the money and your willing to pay then it can be done. Not all games would work maybe some puzzle games that dont use a lot fo the saturns hardware could be done..
But saying never is not correct. even if it loaded the saturn bios it would be called an emulator. I know i could do this at lest if i really was push.
But dont give hope to people it's a dead topic saturn is to much work for no gain..
Dreamcast forever!!!
-
- Soul Sold for DCEmu
- Posts: 4865
- Joined: Fri Jul 11, 2003 9:56 pm
- Has thanked: 2 times
- Been thanked: 4 times
-
- DCEmu User with No Life
- Posts: 3641
- Joined: Sat Feb 16, 2002 1:55 pm
- Has thanked: 0
- Been thanked: 0
Erm... what? DC's VRAM is twice as large as a stock N64's whole RAM. How does this present a problem?N64 Emulation on dreamcast is impossible. There isn't enough VRAM on the dreamcast to do it.
How do you know this? Did you try it? The only point of reference that exists - the PC Saturn emulators - are not heavily optimized and have a lot more overhead because they're running on a rather different platform (CISC programming model with large core/memory speed ratios on top of a complex OS running other tasks), so while illustrative any superficial comparison can hardly be considered conclusive.Whoops forgot to mention that Saturn emulation is also quite impossible. The only console that can really do it is Xbox and even that's questionable.
In any case, I'm not trying to argue that Saturn or N64 emulation on Dreamcast is definitely feasible, just that it's an open question. People who simply say "impossible" and close the book on something might not be stupid, but they sure are boring.
"You know, I have a great, wonderful, really original method of teaching antitrust law, and it kept 80 percent of the students awake. They learned things. It was fabulous." -- Justice Stephen Breyer
-
- Soul Sold for DCEmu
- Posts: 4865
- Joined: Fri Jul 11, 2003 9:56 pm
- Has thanked: 2 times
- Been thanked: 4 times
-
- DCEmu Newbie
- Posts: 3
- Joined: Thu Apr 08, 2004 12:57 pm
- Has thanked: 0
- Been thanked: 0
-
- DCEmu User with No Life
- Posts: 3641
- Joined: Sat Feb 16, 2002 1:55 pm
- Has thanked: 0
- Been thanked: 0
That's a common claim. To my knowledge nobody's tried paging the ROM on the assumption that it's too slow, an assumption rooted in a misunderstanding of how N64 carts work (short version: they're quite slow for cartridge standards and are designed to be used as fast mass storage, not memory for a program to execute in place).anyway i was supposed to say there isnt enough RAM in the dreamcast to emulate an N64
"You know, I have a great, wonderful, really original method of teaching antitrust law, and it kept 80 percent of the students awake. They learned things. It was fabulous." -- Justice Stephen Breyer
-
- Mental DCEmu
- Posts: 463
- Joined: Sat Dec 07, 2002 3:19 pm
- Location: ITALY!
- Has thanked: 0
- Been thanked: 0
- Contact:
if it would emulate even the marvellous cd player it would rockIan Micheal wrote:Yeah but it would be quiet do-able to port a saturn emu that ran say only the bios and did not emulate nothing much but it and work from there. lots of open-source code to do it.. but it be useless with out a big time of motivated people.
i love starships
-
- Insane DCEmu
- Posts: 192
- Joined: Fri May 30, 2003 11:06 pm
- Location: Bay Area, CA
- Has thanked: 0
- Been thanked: 0
- Contact:
hehe I see a few people from both ClassicSega and SegaXtremeSegaGamer wrote:hey sappel yes im the freak from classic sega
anyway i was supposed to say there isnt enough RAM in the dreamcast to emulate an N64, and dont expect to be playing NiGHTS on the dreamcast unless the saturn game was stripped down and ported onto the dreamcast (which would be nice to see btw)
Just wanted to pop in and say hi