Next Generation Emulation banner
1 - 15 of 15 Posts

· Registered
Joined
·
11 Posts
Discussion Starter · #1 ·
greetings.

i was wondering, why is it, exactly, so difficult to emulate ps2 bios/operation? the hardware is certainly far simpler than pc hardware, and i can't imagine wherein lies the complexity.

understand, i FULLY appreciate that it IS, indeed, a very difficult aspiration, but i was wondering....why?

if you find this post in anyway inappropriate, insulting, or redundant, please inform me and i will delete the thread, the post, and myself. thats right. i'm talkin self-deletion.

thanks for your patience, and for your hard work.

-The Wolf
 

· Registered
Joined
·
1,733 Posts
Emulating any system (regardless of complexity) acurately requires a large amount of programming experience. PS2 emulation in particular is difficult as there is little documentation to go on, so sometimes a little reverse engineering and informed guesswork is needed to fill in the gaps. Even older systems are not currently emulated bit-accurately and they have been around for years with more detailed dcumentation.

The PS2 system itself is about as complex as the Saturn in the number of coprocessors it has, but is many times more powerful, and uses so much bandwidth that the most powerful system available today will not be able to achieve fullspeed in the majority of commercial games. This is unlikely to change for possibly a few years.
 

· A Square Fan!
Joined
·
592 Posts
Emulation is always dificult. But in the PS2 case is much more dificult than is looks like.

First, is not a simpler system than a PC. The PS2 is a 128bits system (really 64bits/32bits), is not like a PC (32bits). It has multiple processors for each job, SPU2 for sound, GS for graphics, etc.

By the other side, emulation is not a port. To emulate a PS2 game (or anything) you have to emulate how the PS2 manage the instructions. So, a simple instrucction that the PS2 does it in a cycle, the emu needs more (don't know how many, but more for sure).

And, the emu has one more job to do, to syncronice all the parts with timings.

If you ask this because the PS2 is 300MHz and actual PCs are 3.X GHz, I'll tell you that the Hz are not the real speed of a processor. Ex: A 3.0GHz is not as fast as 2 1.5Ghz.

PD: Some devs sure will tell you more info about this.
 

· PCSX2 Coder
Joined
·
11,343 Posts
TWave said:
If you ask this because the PS2 is 300MHz and actual PCs are 3.X GHz, I'll tell you that the Hz are not the real speed of a processor. Ex: A 3.0GHz is not as fast as 2 1.5Ghz.

PD: Some devs sure will tell you more info about this.
hmm im not sure on your example there, on a multithreaded program yes, it will be faster as i will now explain.

Processor computing time is not sole dependant on hz, infact its far from it, it depends on other things such as cache and the components used and their latancies and the architecture of the processor itself.

In TWave's example i think what he means is the 2 equivilant of half speed processors will work faster on a multithreaded program due to splitting the load 2 ways and hence having double the cache available, but this is only dependant on the slower processors having the same cache each as the single processor, if everything is half, well then the speed difference will be neglegable.

As clements says, an instruction that can take 1 cycle on the PS2 can take approx 50-100 cycles on a PC if done by straight interpretation, using things such as dynamic recompilation can speed things up and bring it down, but it will never be on a 1:1 ratio unless the 2 architectures are identicle, in which case, we wouldnt need emulation. Again the bit width comes as a problem too, as the VU instructions which can take about 80% of the processing time during a 3d game has to calculate 4 dimensions per instruction, each dimension consisting of 32bits of floating point vertex data. The PS2 can do this in one sweep, taking only a few cycles, but with a PC we have to do this in chunks of 1 or 2 (32 or 64bits) at a time which can make this take 2-4x as long as a PS2 would and that is without taking into account of the instruction interpretation itself, which brings it out at a horrid 10-20x slower.

and also as TWave and Clements said, the PS2 has several co-processors to handle the different areas, and we have to emulate all of these on a single chip, so its not a simple case of running a 300mhz chip on a 3ghz pc or whatever, its more runniing a 300mhz EE core chip, 36mhz IOP chip, another 36mhz SPU chip, 150mhz VU chip and a 150mhz GS chip, all through 1 single processor that can only do 1 or 2 things at once.

it all adds up ;)
 

· Narcissist
Joined
·
725 Posts

· Familiar Face
Joined
·
5,307 Posts
weaselforce0 said:
Jesus Christ, Refraction...your like my new hero. I wish i knew that much :(
You should see him when he's working.;) Guy will just start throwing numbers and explanations at me from out of nowhere like I know what he's talking about.:p Seriously, he's very bright and this is why he's on the dev team.:D
 

· Registered
Joined
·
11 Posts
Discussion Starter · #9 ·
thank you all very much for spending the time to answer my apparently already answered question. i am pleased that self-deletion seems unnecessary.

chaoscode- i apologize for possessing insuffecient search skills, but i was unable to figure out which phrases to use to bring up this info.

thanks twave for the simplified explanation, and thanks especially to refraction for the detailed one, and thanks celine for the articles. type r stickers really do make your car go faster. i swear it.

simply adding celines links to the faq would stop more repeat askers. assuming of course that the asker actually read the faq before asking. which i kno is absurd. but i looked there.

this does, naturally, give rise to a few other questions in terms of comparison.

1. when looking at the comparitive architecture of pc vs. ps2, one wonders why the pc model is prevalent or preferred. my guess would be that the ps2 architecture is more specialized, and that if pcs were designed similarly that they would be less capable of dealing with applications that require a higher data locality of reference (static applications). if this is so, i wonder if there are projects to somehow incorporate the two architectures to provide the needed umph for media apps, especially considering the tremendous marketshare surrounding video games as a whole. like adding SIMD processing to pcs.

2. although there is currently a push towards providing larger pipes in all sectors of data transfer in the pc (like 24 pipe video cards, and 2ghz FSB), how does a modern, high powered pc compare to the 10 channel dmac?

3. i read about how the ps2 offers smaller caches in more locations on the board than the pc does, but how does that differ from the pc model where there is ram on each card? are not the cards simply taking the place of things like the graphics synth and audio synth on the ps2? is simply the pipelines that make the data transfer more efficient on the ps2? how is caching on the ps2 different from the RAM caching on a pc?

there are more comin, but my brain is sleepy. i don't really kno much about technology to begin with, but i'm tryin. if my curiousity becomes a burden, just remember kids: self-deletion is always an option!

thanks in advance, and in retro....or whatever. i'm losin it.
 

· Registered
Joined
·
3 Posts
onewolf said:
1. when looking at the comparitive architecture of pc vs. ps2, one wonders why the pc model is prevalent or preferred.
To paraphrase Roosevelt: x86 may be a son of a bi+ch, but it's our son of a bi+ch.

Better designs have come out, but they run into a chicken-and-egg problem:
-no one will write/rewrite software for the new chip until it has a reasonable market share
-no one will buy the chip until it is supported by a reasonable amount of software

Read up on the history of the DEC Alpha for more information.
 

· Coffee Demon
Joined
·
2,916 Posts
stuntcock said:
To paraphrase Roosevelt: x86 may be a son of a bi+ch, but it's our son of a bi+ch.

Better designs have come out, but they run into a chicken-and-egg problem:
-no one will write/rewrite software for the new chip until it has a reasonable market share
-no one will buy the chip until it is supported by a reasonable amount of software

Read up on the history of the DEC Alpha for more information.
Well said stuntcock...

Indeed...software developers actually hate the PS2 architecture, but there is such a wide user base that they had to suck it up, and deal with it..hehe

It took a while for developers to get over the simple CPU to GPU with cache RAM formula (looky HERE). Its what they know...but the market is evolving. PS3 and Xbox360 are examples of that evolution with multiprocessors...but x86 is still dominant.

i read about how the ps2 offers smaller caches in more locations on the board than the pc does, but how does that differ from the pc model where there is ram on each card? are not the cards simply taking the place of things like the graphics synth and audio synth on the ps2? is simply the pipelines that make the data transfer more efficient on the ps2? how is caching on the ps2 different from the RAM caching on a pc?
Again...its a difference in the architecture. A PC will cache into RAM to keep a steady flow of instructions going through a pipe because only a single CPU is handling the instruction set.

The PS2 is designed to task out instructions..so it has huge bandwidth. It is more then just graphics and audio. For example the VU's are calculation engines that perform vector and matrix operations (Explanation) If the bandwidth of a PC could be considered a copper wire, then on PS2 it is a hulking cable. This explains the small 4MB of RAM....not much caching going on when rawdata instructions are handled by multiple processors.

On a humorous side note.....
After reading refraction's answer...we imagined a n00b's head expoding from the sheer amount of intellect being thrown there. If ever there was a way to curb a newcomers thinking of how easy PS2 emulation should be...then that was it :lol:
 

· Registered
Joined
·
11 Posts
Discussion Starter · #12 ·
thanks again for your assistance, i haven't checked out the links yet, but i plan to.

dark watcher said:
On a humorous side note.....
After reading refraction's answer...we imagined a n00b's head expoding from the sheer amount of intellect being thrown there. If ever there was a way to curb a newcomers thinking of how easy PS2 emulation should be...then that was it.
i am a "n00b" for sure, and it is to his credit that was capable of absorbing at least the basics. i have always found that complexity is often manufactured by a human failure of expression, and it is a sign of knowledge when one conveys comlpex meaning to those of us (me) who kno little of a difficult issue.

fascinating how the market has both led to these gigantic technological advances, and at the same time has limited it. of course that explains why a more efficient architecture makes its debut in a game console, since the hardware developer is also the software developer (more or less). marketshare poses no threat, as long as people like your games. sort of ironic. one wonders if the rapidly rising numer of consumers demanding advanced platforms for gaming (and for the despecialization of gaming consoles as a perk) will guide computing into its next evolution.

i came here wondering why ps2 emu was hard, and now i'm thinking about specialized processing and high bandwidth pipes and computer architecture. god bless the internet.
 

· PCSX2 Coder
Joined
·
11,343 Posts
heh, sorry if i got a bit carried away with details there, but a lot of people seem to not understand the complexity involved in emulating such a system, and i was in the mood for giving a really long answer ;p
 

· Familiar Face
Joined
·
5,307 Posts
refraction said:
heh, sorry if i got a bit carried away with details there, but a lot of people seem to not understand the complexity involved in emulating such a system, and i was in the mood for giving a really long answer ;p
No reason to apologize bro. Hey, you even gained a new fan.:p
weaselforce0 said:
Jesus Christ, Refraction...your like my new hero. I wish i knew that much :(
And there are people who will be able to understand what you posted, so it's not all a lost cause.:D
 

· Registered
Joined
·
144 Posts
refraction said:
but it will never be on a 1:1 ratio unless the 2 architectures are identicle, in which case, we wouldnt need emulation.
So what he's saying is: open up your PS2, remove whatever looks cool, and cram it into your 3 1/2 disk drive. Then you'll have PS2 hardware in a PC, and will be able to play PS2 games!
 
1 - 15 of 15 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top