PlayStation Graphics

There are quite a few aspects to emulating PlayStation graphics, some handled by the PSX emulator and some handled by the graphics plugin. First and foremost, an emulator must take care of all the tasks a normal PlayStation would need to handle. This includes playing movies (emulating the motion decoder: MDEC), handling 2D sprites, rendering 3D scenes and textures, and emulating effects originally produced via a combination of the PSX CPU and GPU (this can result in sometimes expensive uploads to the framebuffer (GPU memory containing the next frame to be displayed) from the CPU when emulating the PSX on a PC). These framebuffer intensive operations show up a lot in the Final Fantasy series of games (e.g. the pre-battle swirl effect, and certain in battle effects).

On top of the necessary tasks, it is very desirable to enhance the graphics as much as possible. Because the PlayStation targets television (essentially a 640x480 screen) and texture resolutions are generally low, highly pixilated images can result when playing games on a high resolution computer monitor. Graphics plugins are able to upsample, stretch, filter, and otherwise manipulate textures in order to make images a little more palatable. Beyond texture filtering, full screen filtering can also be implemented in order to assist in making the emulation experience just that much nicer. Standard emulator filters, such as TV scanlines, can be added, and fullscreen blur effects help assuage the lack of antialiasing. One of the coolest trends is the emerging use of pixel shaders to perform these filtering effects (and other parts of the graphics process as well), but more on that later.

Every game is different, and every game will stress different parts of the system in different ways. In order to get the most out of your library, it will be necessary to play with the settings for each game individually and/or use a front end to save your configuration data for each game.

As a final note on console game system graphics, it is important to understand that vsync is a way of life. Since consoles are built for TVs and TVs have fixed refresh rates; every console game out there makes use of the refresh rate as a system timer. It would be wasteful of precious resources to program otherwise. Of course, this adds an interesting dimension to emulation. Running your emulated game at anything other than 59.94 frames per second (in the National Television System Committee (NTSC) parts of the world) will result in your game running either faster or slower than it was intended. Though more of a side effect than a feature, sometimes this is desireable (memory card load/store times are much faster when the frame rate is higher, and for those without the necessary reflexes, slowing the game down can prove useful).

So, how does all this fit together for our PlayStation emulation project? For that, we need only to turn to Pete.

ePSXe: The Emulator of Choice Pete's Plugins to the Rescue
POST A COMMENT

37 Comments

View All Comments

  • Snoop - Thursday, March 04, 2004 - link

    I found the article very interesting, good work derek. Reply
  • bigpow - Thursday, March 04, 2004 - link

    This article makes Tom's Hardware ones look smart & usefulLLLLL Reply
  • bigpow - Thursday, March 04, 2004 - link

    Another fine example of a plain stupid article.

    If one really wants to play those console games, he/she should buy the console system instead of messing around with a more expensive GPU & unstable emulators.

    Ridiculous.
    Reply
  • taleril - Thursday, March 04, 2004 - link

    "From out benchmarks, it is obvious that ATI Radeon cards are better suited for emulating the games that we tested."

    should be:

    "From out(sp?) benchmarks, it is obvious that ATI Radeon cards are better suited for emulating the games that we tested on an emulator programmed with ATI cards in mind."

    To be fair, I think it should be reiterated in the conclusion that these emulators(or the plugins used) were written specifically on and for ATI hardware.

    It's a cool benchmark, but the more I think about it, the less useful it seems to be. At least from a graphics hardware comparison standpoint.

    taleril
    Reply
  • DerekWilson - Thursday, March 04, 2004 - link

    There are no xbox, gamecube, or ps2 emus that are in full working order. We didn't want to include one of each since its more of just a show and tell kind of thing ...

    the gamecube emus is currently running one game at full speed (Busta-a-Move 3000 -- which I don't own and couldn't find in time for the review), and lots of games getting past intros to actual 3d that looks somewhat near how it should (while mostly running slowly at the moment). Of course, it may take quite a push to get further since (apparently) the ArtX/ATI graphics card in the system is insane.

    on the PS2 front, we could see some user demos and a title screen or two last time I checked. The PS2 has an advantage: its IOP (IO Processor) is essentially a PSX (that's why its backwards compatible). Of course, the vector processors and insane data paths on the PS2 will be a bit of a hump to get over for emulating games well ... I know the most about PS2 as I did a senior project involving writing a PS2 game.

    and, contrary to popular opinion, xbox won't be that much easier to emulate than other consoles. It has obvious advantages, but the big problem comes in trying to emulate the GPU itself, the relationship it has with the CPU, and the tweaked out programming interfaces and systems of the entire console. Programmers will run into similar issues that all console emulator teams have seen. Actually, if programmers want to make an interpretive version of their emulator, they'll loose much of the x86 to x86 advantage ... Unfortunately, I know the least about the XBox among the consoles (Anand is the XBox guy around here).

    But rest assured that if there is a major advance on any of the three fronts, we'll cover it as best we can.
    Reply
  • Pumpkinierre - Thursday, March 04, 2004 - link

    I would have thought that Xbox with its near desktop computer architecture would have been the easiest to emulate but you barely give it a mention. Any reasons why?
    Reply
  • CZroe - Thursday, March 04, 2004 - link

    Who else has personally backed-up a copy of Wind Waker and executed it on both the emulator and the console?

    I have, and I believe I beat Derek Wilson and the Anand crew to it ;)
    Reply
  • DerekWilson - Thursday, March 04, 2004 - link

    It is very important to note that even if there are many systems out there that can run ePSXe and emulate a game well, you will be loosing out on image quality if you can't pump the internal resolution, run DX9 pixel shaders, and still have room for texture and full screen filters...

    If we wanted to "just run" a playstation game with no regard to quality, we would be looking at running the playstation at somewhere around 800fps (interal framerate) on most of these cards for most situations. Turning on the features drops that significantly.

    Honestly, my PSX games can look better emulated than they did on my Playstation with the right settings, and only the high end cards and processors can handle the right settings as far as our testing has seen.

    And yes, we just popped the CD in and ran the game ... in case anyone is wondering, we used the P.E.Op.S. CDR driver and set it to threaded reading with maximum readahead to minimize disk access impact ... Of course, we also made sure that our benchmarks would run without needing to hit the CD rom drive.

    Since PSX emulators have built in ISO support, in the future we may pull the ISO and run it from our hard drives in order to eliminate the possibility of CD read latency altogether.

    By the way, I wish we had saved the full uncompressed screenshots as the scanline effect really doesn't seem to like being scaled and compressed. ;-) The games really did look great.
    Reply
  • ChronoReverse - Thursday, March 04, 2004 - link

    Playstation emulation does not require the use of roms.

    My copy of Final Fantasy Tactics (Greatest Hits version) runs quite well on ePSXe.
    Reply
  • Lycias - Thursday, March 04, 2004 - link

    Ok so after reading this article I wondered where they were playing the game from. I have used SNES and NES emulators before and I downloaded rom files of games I leagaly owned from various websites. There does not seem to be web sites with playstation rom equivalant files out there. Do they just put the disk is the cd drive and then use the emulation software. Please enlighten me as I've been dying to play Final Fantasy VII again. Thanks Reply

Log in

Don't have an account? Sign up now