PDA

View Full Version : Is mega cd emulation possible?



evioine
October 18th, 2006, 19:32
Hi, Iwas just wondering why if there why there doesn't seem to be any sega/mega cd emulator for the psp, when there are some very good mega drive emulators. Is there some extra difficulty with emulating the add-on that doesn't occur for pc megadrive/mega-cd emulators? It would be cool to run old mega cd games on psp , like Snatcher.

Tinnus
October 18th, 2006, 20:11
The Sega CD had some 2 or 3 extra chips, so that would run too slow to be usable.

Not the first time this is asked too.

evioine
October 18th, 2006, 20:32
Thats a shame :(

If the psp can't do it, would that mean the dreamcast couldn't either? N64 emulation has been done on the psp but not the dreamcast so im assuming the psp must be more powerful- or is that just the psp being able to store large roms on a memory stick gives it an advantage with regard emulation of cartridge-based consoles?

JKKDARK
October 18th, 2006, 20:45
Thats a shame :(

If the psp can't do it, would that mean the dreamcast couldn't either? N64 emulation has been done on the psp but not the dreamcast so im assuming the psp must be more powerful- or is that just the psp being able to store large roms on a memory stick gives it an advantage with regard emulation of cartridge-based consoles?
Wrong. The PSP is not more powerful than the Dreamcast. You will not see a dreamcast emulator for PSP never!

SpacemanSpiff
October 19th, 2006, 01:11
Not this argument again. The PSP is much more powerful than the Dreamcast. Anyone who isn't blind (i.e. not a Sega fan) can see this pretty easily by looking at the available software.

Tinnus
October 19th, 2006, 14:45
Wrong. The PSP is not more powerful than the Dreamcast. You will not see a dreamcast emulator for PSP never!
As if "more powerful" meant "an emulator can be done".

Also "more powerful" is a very vague expression....

Anyway, to emulate something you need a system WAY more powerful, not just more powerful, so yes, there will be no Dreamcast emulator for PSP, although the PSP is more powerful than the Dreamcast! :p

quzar
October 19th, 2006, 15:13
Thats a shame :(

If the psp can't do it, would that mean the dreamcast couldn't either? N64 emulation has been done on the psp but not the dreamcast so im assuming the psp must be more powerful- or is that just the psp being able to store large roms on a memory stick gives it an advantage with regard emulation of cartridge-based consoles?

The only reason we don't have n64 emulation is that we don't have coders as dedicated as psmonkey was to undertake it. The Dreamcast is well able to perform n64 emulation.


Not this argument again. The PSP is much more powerful than the Dreamcast. Anyone who isn't blind (i.e. not a Sega fan) can see this pretty easily by looking at the available software.

Such as? You could make the same argument in favor of the Dreamcast by saying that we had a fullspeed playstation emulator able to increase the quality of the graphics of the games it plays. As for commercial games, well...

Between the Dreamcast and PSP there are places where each excelles

Odds are there will eventually be SegaCD emulation availible for both systems. It has been shown by adventerous hardware hackers that for a few games, the second m68000 in the CD expansion is not used at all, and without having to emulate it, the other chips are a relatively simple matter.

I think the Dreamcast frankly has a better chance of doing this for two reasons. 1) We can do CDDA play for free, no cpu intensive mp3, or cumbersome memory thrashing wav. 2) we have a dedicated sound processor, which has yet to be used intelligently for emulation, but has the capability of running some sound emulation on it, and could be especially useful because it has the capability of playing adpcm sound (whose conversion to standard audio is expensive).

As for the remark about the psp with cartridge based consoles, it's not so much the memory stick (although reading from the memory stick is faster than from the CD) it's more the amount of main ram. PSP has 32mb, DC has 16.

Darksaviour69
October 19th, 2006, 15:21
i would also point out its a little unfair to compare 5-8 year old dreamcasts games to new psp games and the development tools and coding technquies have improved since then techniques

i just knew quzar was going to post in this thread lol

psiko_scweek
October 19th, 2006, 15:42
quazar = DC Fan :)

eitherway, Quazar is right, when it comes to sound processing for the DC the DC wins because of the points he has, now if we just wanted SegaCD emulation i think the PSP could handle it without too much of a problem, but again its all up to how the program is coded.

btw, about the N64 and PSmonkey, I wonder how he is doing with the N64DD emulation, that would be cool!

quzar
October 19th, 2006, 17:16
quazar = DC Fan :)

eitherway, Quazar is right, when it comes to sound processing for the DC the DC wins because of the points he has, now if we just wanted SegaCD emulation i think the PSP could handle it without too much of a problem, but again its all up to how the program is coded.

Quite frankly, at this point it time, it would be easier on the Dreamcast. We have (a unique) hardware rendering system for our genesis emulator as well as an extremely fast 68000 core, and (probably the most important of all) the ability to play CDDA for free, which was one of the things the sega CD had in abundance. Playing from mp3, the psp would not be able to handle SCD emulation. Otherwise, it's quite possible.

The problem with systems like the SegaCD is that it's not practical to have a dynamic recompiler, as the overhead of it is most likely to outweigh the benefits over a well written assembly interpreter, so in some ways (due in great part because of the fact that both the playstation and n64 had processors in the same family as the psp) it would be more problematic to emulate the SegaCD on the psp than the playstation.

Basically, the PSP appears to be much more powerful than it is because of the amount of high level emulation that can be done on it with the playstation and n64. On both of those you are getting really fast cpu emulation due to the similarities, and really fast graphics due to the high level rendering of the graphics. In powerful 2D systems like the SCD, 32x or Saturn; you lose all those advantages.

It's not so much that I'm a Dreamcast fan (although I am) it's that I'm extremely familiar with it's capabilities. I would never argue this kind of point against the gamecube or xbox360, but even the xbox is in some ways less powerful than the Dreamcast (slightly less powerful fpu, and has no ability like the PVR2 to intelligently ignore rendering of things that are not in the frame of view [allowing for scenes that would normally need to be made up of 3x the polygons to be rendered]). And such is the Dreamcast to many things.

The reason the Dreamcast can do this is because it's hardware had lots of really weird quirks that are relatively unique to it that made it's performacne in some things astronomical.

Anyways, it's like comparing apples to oranges, home consoles to handhelds. Hell, psp can't do 640x480, or 800x600 so =P, it's a bit easier to carry around a PSP, a DC can be bought for 1/10th the price, etc etc.

For the record, I'm not the one who starts psp vs. dc things, for some reason a lot of people like to use the DC as a comparison point for homebrew/emulation though (probably because we're THE reference point for it =P)

psiko_scweek
October 19th, 2006, 22:52
lol its all good to be a Dreamcast fan :p I was not making fun at that fact, in fact, I think its funny that every time there is a "well the PSP is more powerful than the DC" youre there setting the record straight.

But you do have several good points about the Sega CD emulation on the DC and the PSP, I think that without sound, it is possible on the PSP, and in order to get sound the roms would have to undergo some conversion (much like the NeoGeo an the CPS emus) to dumb down the audio to make it usable.

I think sega should make the DCP. DreamCast Portable and then it wouldnt be Apples and Oranges. (btw, i firmly believe that Sega will be a pheonix and rise again!)

Strangler
October 21st, 2006, 20:46
what wanna know is if 3do emulation is possible and solely for virtual fighter 32x.

Strangler
October 21st, 2006, 20:48
Wrong. The PSP is not more powerful than the Dreamcast. You will not see a dreamcast emulator for PSP never!

actually it is. The psp has two 333 mgh chips in it while the dreamcast has like one 222 mgh one.

http://psp.ign.com/articles/496/496983p1.html

PSP CPU CORE
MIPS R4000 32bit Core
128bit Bus
1 - 333MHz @ 1.2V
Main Memory :8MB(eDRAM)
Bus Bandwidth :2.6GB/sec
I-Cache, D-Cache
FPU, VFPU (Vector Unit) @ 2.6GFlops
3D-CG Extended Instructions

PSP Media Engine
MIPS R4000 32bit Core
128bit Bus
1 - 333MHz @ 1.2V
Sub Memory:2MB(eDRAM) @ 2.6GB/sec
I-Cache, D-Cache
90nm CMOS

PSP Graphics Core 1
3D Curved Surface + 3D Polygon
Compressed Texture
Hardware Clipping, Morphing, Bone(8)
Hardware Tessellator
Bezier, B-Spline(NURBS)
ex 4x4, 16x16, 64x64 sub-division

PSP Graphics Core 2
'Rendering Engine' + 'Surface Engine'
256bit Bus, 1-166 MHz @ 1.2V
VRAM :2MB(eDRAM)
Bus Bandwidth :5.3GB/sec
Pixel Fill Rate :664 M pixels/sec
max 33 M polygon /sec(T&L)
24bit Full Color:RGBA

PSP Sound Core: VME
Reconfigurable DSPs
128bit Bus
166MHz @1.2V
5 Giga Operations /sec
CODEC
3D Sound, Multi-Channel
Synthesizer, Effecter, etc

quzar
October 21st, 2006, 22:29
actually it is. The psp has two 333 mgh chips in it while the dreamcast has like one 222 mgh one.

http://psp.ign.com/articles/496/496983p1.html

PSP CPU CORE
-snip-
Synthesizer, Effecter, etc

Yea, you're comparing apples and oranges if you wanna compare the two's processors. The only best reason why we've seen any kind of speed with playstation and N64 emulation is because the three use the same family of processors.

Exophase
October 23rd, 2006, 01:36
The only reason we don't have n64 emulation is that we don't have coders as dedicated as psmonkey was to undertake it. The Dreamcast is well able to perform n64 emulation.


Yea, you're comparing apples and oranges if you wanna compare the two's processors. The only best reason why we've seen any kind of speed with playstation and N64 emulation is because the three use the same family of processors.

VERY unlikely. Keep in mind that N64 emulation is far from perfect on PSP (and the serious advances in performance were made by StrmnNrmn, not PSMonkey).

Dreamcast has impressive FPU performance, but even that can't keep up with PSP's VFPU at all (unless you need double precision for some reason, then PSP is completely out of the game).

It's not very easy to compare PSP's main CPU to Dreamcast. I'll try taking a shot at it..

Win for PSP: The clock speed can get significantly higher, 333MHz vs. 200MHz. But..
Win for DC: DC can execute two instructions in parallel if they are of different classes. It's similar to UV pairing on Pentium 1. However..
Win for PSP: DC's 16bit length instruction set is super weak for integer performance (which is of utmost importance in emulation). Compare:

PSP has 31 general purpose 32bit registers, DC has 16.
PSP has 3 address arithmetic, DC has 2 address.
PSP has special instructions like ext/ins/min/max, DC's special instructions are for vector FPU operations, which, again, PSP's VFPU vastly supercedes it in.
PSP has no flags, DC has one flag (and instructions corresponding for it) - but PSP has a very useful set of compare + branch instructions that IMO works out as well or better than a full flags set, and definitely better than a one flag set.

Only thing I see SH4 having over Allegrex is much better memory addressing modes (pre-increment, post-increment, register + register, etc) although these are hindered by implicit register requirements which are rather out of place on a RISC platform, like some other SH4 aspects (binary logic on memory operands? O_o)

So I'd say PSP has the advantage here. This is only comparing one of the PSP's CPUs. Bring in the other one and the competition is long over. Sure, DC has a ~60MHz ARM9 for sound but do homebrew coders actually use it..? I don't think that brings all that much to the table, computationally speaking, anyway. I don't know what the communication bottlenecks are like there.

Now, other things:

PSP has more L1 instruction cache than Dreamcast, and the same amount of L2. DC has 8KB vs. 16KB on PSP, but this is somewhat balanced because DC's instructions are only 16bit (vs 32bit on PSP). However, because of the weakened nature of the instruction set you don't get a 1/2 memory usage.

PSP has a faster bus to main RAM and probably significantly lower latency RAM (DDR is pretty low latency), 166MHz vs. 100MHz. More importantly, PSP has very fast VRAM that it has direct access to, I hear that accessing the VRAM on DC is very slow. The VRAM on PSP can even be used for non-graphics very feasibly, and it has an additional 2MB of eDRAM on the ME that can be used for the same purposes. It also has a little bit of (relatively) fast scratchpad RAM but it isn't much different, timing-wise, when compared to the 4MB eDRAM.

PSP also just has more memory in general. DC has (much) more VRAM but for emulators this isn't that important (compared to games). And PSP has 4bpp textures which adds leverage in that department, I don't know about DC.


The problem with systems like the SegaCD is that it's not practical to have a dynamic recompiler, as the overhead of it is most likely to outweigh the benefits over a well written assembly interpreter, so in some ways (due in great part because of the fact that both the playstation and n64 had processors in the same family as the psp) it would be more problematic to emulate the SegaCD on the psp than the playstation.

I agree that for CISC platforms like SegaCD (m68k) dynamic recompilation doesn't work out so well, especially when it's possible to write a fairly optimized interpreter because there isn't a lot of decoding overhead. However, I don't see why DC would have the advantage here. SH4 is, comparatively speaking, a crippled instruction set so you won't get as far writing an interpreter in it. PSP's ext instruction is particularly nice for just about any interpretive emulator.

I think PSP has enough raw CPU power to do SegaCD's CPUs. Even though they're nearly 20MHz in clock speed m68k has horrible cycles per instruction timings. That's why we saw fullspeed Genesis emulators on low end Pentiums when SNES emulators were floundering, even though Genesis has 2x the clockspeed. The video rendering also isn't a huge deal, I don't think, although it's probably not that hard to port a 2D hardware renderer for DC to PSP. I don't know why it would be, especially if it already uses an OpenGL like API.

And I don't see why CDDA is an advantage for DC. Sure, over mp3 playback, but that's not a fair comparison. I imagine that PSP can stream raw CDDA music from the memstick faster than DC can from its GD-ROM, seeing as how the memstick is just potentially much faster.

The DC does have the advantage of being able to run actual SegaCD CD's. But of course, if you have a huge memstick it might be considered an advantage to have several SCD games on it, especially if mp3 playback IS feasible (and it probably is).



Basically, the PSP appears to be much more powerful than it is because of the amount of high level emulation that can be done on it with the playstation and n64. On both of those you are getting really fast cpu emulation due to the similarities, and really fast graphics due to the high level rendering of the graphics. In powerful 2D systems like the SCD, 32x or Saturn; you lose all those advantages.

What you described about any advantages PS1/N64 emulation have on PSP is anything but HLE (the graphics rendering of PS1 games has always been strictly low level, and CPU similarities don't make that emulation any less low level either). HLE for N64 is pretty much used on emulators across the board, regardless of platform, and pretty much never used for PS1 except for the BIOS in emulators like VGS.

And why is Sega CD a powerful 2D system? SNES has better 2D capabilities than it (and GBA much better).


It's not so much that I'm a Dreamcast fan (although I am) it's that I'm extremely familiar with it's capabilities. I would never argue this kind of point against the gamecube or xbox360, but even the xbox is in some ways less powerful than the Dreamcast (slightly less powerful fpu, and has no ability like the PVR2 to intelligently ignore rendering of things that are not in the frame of view [allowing for scenes that would normally need to be made up of 3x the polygons to be rendered]). And such is the Dreamcast to many things.

And these things ALSO don't aid in emulating 2D platforms.

Course, the idea of a DC emulator being done on PSP, that's just silly.

quzar
October 23rd, 2006, 02:14
The reason I say N64 emulation is possible on the Dreamcast is because Rand Linden thought it was possible (creator of bleemcast) and bleem was researching developing a hardware addon to the Dreamcast that would read N64 carts for this purpose.

In a sort of random fashion, here are some answers to what you've said:

The arm in the Dreamcast defaults to 24Mhz, but is overclockable through software up to 100mhz. You can load your own code onto the arm and have it interact with the main processor however you want. Aside from the arm, there is a chip called the AICA for sound stuff. In theory, all sound processing could be done there, but we simply don't know much about using it in that way (supposedy bleemcast does it though). There are also multiple dma channels going in and out of the sound system. It is possible to both write non-blocking-ly directly from the cd to the sound memory as well as from main ram to sound ram.

As for the psp being able to play cdda faster, I don't see how that's really possible... on the DC cd playback is automatic and does not interfere with anything else, you wouldn't need any kind of memory buffers to store the raw data in or anything.

The dreamcast too can do 4bpp video, as well as (and this is incredibly useful for genesis emulation) extremely fast hardware 4bpp palleted graphcis.

As for the m68k emulation, I don't know what the best the PSP has on it now is (probably c68k, which was written for the Dreamcast ;) ) but the newest version of FAME (assembly sh4 m68k interpreter) can emulate approximately a 1ghz m68k running a prime number calculation program (compared to the ~100mhz m68k that is possible with c68k).

The Vram on the DC is RELATIVELY slow, but if you use store queues, writing to it can be extremely fast. We almost never use direct framebuffer access though, as we can do non-blocking dma transfers to the pvr (which take longer, but it doesn't matter since it's non-blocking).

The thing about not rendering polys that aren't seen doesn't apply to 2D emulation, but it goes towards showing that the number of polygons per second the DC can display is deceptively low compared to what the final result looks like.

And as for SCD being relatively powerful, I would say that if you were to exclude extra graphics chips from the SNES, the SCD would take more power to emulate.

Lets see, um oh, the cache, yea psp definetly wins there, the Dreamcast's cache system is basically useless.

Sorry for the disorganized style of the response, it's always hard to reply to posts larger than a screen in size. ;)