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

  • takuma683 - Thursday, March 11, 2004 - link

    Responding the question of user Shinei:

    Yes, most Playstation games run at 30 effective fps, some at 15, 10 or even slower, and some do reach 60 (59.94 actually) fps. However, the "fps" displayed on ePSXe is "emulated" fps, that is, TV frames (vertical blanks) per second emulated. Games that run at 30 fps display a frame every two vertical interrupts.

    Also a note to all: you don't need an external program to display real fps using ePSXe with Pete's plugins, just turn on the fix "Enable PC fps calculation" and it'll show you the actual fps.
    Reply
  • Possessed Freak - Monday, March 08, 2004 - link

    DerekWilson -
    'but this reference is a throwback to one of my favorite cartoon duos of all time ... '

    But where are we going to find a duck and a rubber hose at this hour?

    But rubber chafes me so.
    ---
    Did I make the right educated guess?
    Reply
  • Shinei - Sunday, March 07, 2004 - link

    tsee: Aren't PSX games designed to run at 30fps, with the exception of a few later-generation games? Reply
  • tsee - Saturday, March 06, 2004 - link

    Even when I tried to limit FPS to 59.97 all the games run super fast. When I use the outdated VGS not as many games run but the ones that do run at normal speeds. Reply
  • BigFatCow - Saturday, March 06, 2004 - link

    we are adding PlayStaion emulation

    typo.
    Reply
  • BigFatCow - Saturday, March 06, 2004 - link

    Reply
  • PeteBernert - Friday, March 05, 2004 - link

    I want to add a small comment (since my plugins seems to be mentioned in the article ;)) about the "developed on/for ATI cards" confusions: all of my psx gpu plugins (Win D3D/OGL1/OGL2; Linux Mesa/XGL2) were in fact developed on nVidia cards. Starting 1999 on my good ole TNT1 card, later on GF1/GF3/GF4 ones. Yes, spring 2003 I got a R9700Pro (since the first GFFX cards didn't look to promising - hot and noisy - by then), but all major coding (and optimization) work was already finished at this point.

    So indeed only the pixel shader effects in the OGL2/XGL2 plugins were done with ATI hardware (using no special ATI extensions, though, only the standard ARB ones which are available on nVidia's DX9 cards as well).

    Anyway, I am pretty sure that you also can find psx games which will run faster on nVidia cards (for example if many framebuffer reads are needed - even old nVidia cards are still two times faster with such reads than the newest ATI ones), so the spotlight on the two games mentioned in the article is just this: a spotlight. No need for grey hair ;)
    Reply
  • ChronoReverse - Friday, March 05, 2004 - link

    Arguably, you could say that it's pretty boring for the majority of people out there that the A64 plays game X a few frames faster than a P4 (or vice versa).

    These are the people buying Dells and only caring whether or not the system can play the game.


    In any case, I liked this article since I have a passing interest in emulation and emulation is a good way to test both the graphics and cpu subsystems.
    Reply
  • DerekWilson - Friday, March 05, 2004 - link

    #25

    haha ... yeah, I could see how that would be funny ;-)

    exciting from a technological perspective ... really freaking boring from any other perspective :-)

    Reply
  • Cybercat - Friday, March 05, 2004 - link

    "Of course, getting 4 frames per second of something kind of close to what we see on the Game Cube is still pretty exciting."

    LOL :p Yeah I bet.
    Reply

Log in

Don't have an account? Sign up now