Gå til innhold

Software emulering av PS2 på PS3


Linuxguru

Anbefalte innlegg

Bakgrunn

 

Da Sony lanserte PS3, la de mye prestisje i at maskinen var 100% bakoverkompatibel med både PS1 og PS2. Dessverre valgte Sony etterhvert å fjerne PS2-støtte i PS3, samtidig som det ble servert en hel masse kreative forklaringer på hvorfor dette ikke var nødvendig lenger.

 

Det er følgelig svært mange som lurer på om man kan spille PS2-spill på sin PS3. Det er også svært mange som ikke vet hva forskjellene mellom de ulike modellene som har blitt lansert. Denne tråden har som mål å avlive alle myter relatert til PS2-emulering på PS3.

 

 

Modeller

 

  • Alle modeller spiller PS1-spill, både fra PSN og fra CD
  • NTSC 20GB/60GB har innebygd hardware fra PS2, både Emotion Engine (EE CPU) og Graphics Synthesizer (GS GPU) er inkludert. Kort fortalt befinner det seg en PS2 inne i disse PS3ene, og den støtter derfor nær 100% av alle PS2-titlene som er tilgjengelig.
  • På PAL 60GB / NTSC 80GB ble PS2 Emotion Engine (EE CPU) chipen fjernet til fordel for software-emulering i PS3 Cell CPU. I tillegg ble Graphichs Synthesiser (GS GPU) chipen erstattet med en litt billigere utgave, men fortsatt sitter det altså en PS2 GS GPU inne i alle disse PS3 modellene. Ettersom PS2 Emotion Engine (EE CPU) emuleres i PS3 Cell CPU på disse modelleme, så støttes følgelig ikke like mange PS2-titler som på de første amerikanske modellene. Første anslag var 60%, men nå ryktes det at det er oppe i 80%.
  • PAL 40GB/80GB har ingen støtte for PS2 spill, fordi GS GPU er fjernet for å få ned kostnadene.
  • PAL/NTSC PS3 Slim har - på samme måte som PAL 40GB/80GB - ingen støtte for PS2-spill.

Generell regel: Alle modeller med 2 USB-porter støtter ikke PS2-titler. Felles for alle PS3 som støtter PS2-titler i en eller annen versjon, er altså at de har 4 stk USB-porter på fremsiden.

 

 

Software-emulering av PS2 EE CPU/GS GPU

 

Hvorfor emulerer ikke så Sony PS2 sin GS i PS3 sin RSX? GS sin fillrate er 2.4Gpixler/s mens RSX sin fillrate er 4.4Gpixler/s. Altså er ikke fillraten til PS3 RSX det dobbelte av det som GS i PS2 har engang. I tillegg kommer selve emuleringen og skaleringen, og det kan derfor virke som Sony faktisk ikke klarer å emulere GS i RSX. Dette er sannsynligvis det Sony sine representanter refererer til som "technical hurdles".

 

Her er synspunktet fra en PS2/PS3-utvikler ang software-emulering av PS2 i PS3:

 

"I have my doubts as to whether it can ever really happen per se. This is a case where technical hurdles are every bit as large as the financial hurdles.

 

I mean, that eDRAM framebuffer and texture cache allowed you to have not only extremely high bandwidth, but also extremely low latency, and in turn meant that one render pass was extremely fast. Many times more so than any chip made today where the focus of the architecture is towards doing more work per pixel in a single pass (but in turn making the drawing of a single pixel many times slower and more complicated than it was on the GS). There is quite simply more framebuffer and texture bandwidth on the PS2 than the PS3 has. And even the eDRAM of something like Xenos doesn't really help here because the latency is higher and it's explicitly a transient state holding buffer, rather than a final output field. GS not only allowed you to work in eDRAM, but that was the main VRAM itself... it stored the front and back buffer as well as working textures in there. On current chips, the backbuffer and frontbuffer have to go through a resolve step and are always stored in main VRAM. All these sorts of things are exploited rather explicitly in the vast majority of PS2 games.

 

Even aside from the peculiarities of the GS, there are peculiarities of the interaction between the EE and GS. For instance, it's quite common to have the render loop be in a race condition against the GPU. We'll issue a display list to the GS which tells it to start processing from a vertex list... except that vertex list hasn't been filled at this point. Instead, the VU will go through the equivalent of a vertex shader and actually fill vertex data into that list while the GS is reading the stream. The timing is just so that the VU stays constantly a few clock cycles ahead of the GS. That kind of tight timing resolution and synchronicity is 100% impossible on all current architectures because there is just not that kind of relationship between the components, nor is there quite so much constant predictability to the operating performance of any component (i.e. nothing ever *always* takes up x # of cycles anymore). Also, synchronization primitives for modern bus architectures are actually very strict, so some of these types of things which were perfectly valid on a PS2 would actually not work at all because the bus would detect that a memory page is dirty and therefore wait for a cache write from the CPU before it does anything. This is of course done because it makes for a machine that is infinitely more stable, but that wasn't really the case for the PS2 which was more of a pure console. This sort of restriction means codependent read-write operations must wait for the CPU to finish -- a delay of many hundreds of thousands of clock cycles, while the PS2 only had to wait about 5 or 6 clock cycles."

 

Konklusjon

 

Sjansene for at det kommer SW-emulering av PS2 i PS3 er med andre ord tilnærmet null. Hvis det skal skje i fremtiden, tror jeg Sony må lage en ny modell som igjen inneholder en GS GPU slik PAL 60GB gjorde i sin tid.

Endret av Linuxguru
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...