My Adventures in gsLib

I’m starting to explore the old graphic library gsLib. But why, since gsKit is the standard nowadays, have a superiour performance and gsLib is no longer updated? Simply because gsLib, unlike gsKit, supports low resolution screen modes! Gosh, I hate interlaced modes in PAL CTR TV’s and that’s the only mode gsKit uses. In order to use a non interlaced, you have to modify to gsKit source to set, for example, a 640×256 or 640×224 screen mode. Personally I failed to add a pure low resolution screen mode like 320×256 to gsKit (I’ll try again someday) so then the interest in other graphic libs.

Another bonus feature the gsLib adds is mentioned at its documentation:

How cool is that?

This allows us to hook a function to the vsync video signal, so the function will run at the vertical refresh rate! This allows to compensate for the lack of easy to setup interrupt support/multitasking on the PS2 using the free ps2sdk.

The drawback of gsLib it that its written in C++, so the projects that uses it must be also in C++ … Oh well, nothing is perfect.

Advertisements

Tags:

One Response to “My Adventures in gsLib”

  1. Starscream Says:

    Haha, I hear you. Aside from the PS2, I also have access to Dreamcast and Gamecube homebrew, and just to many of them use interlaced modes. (main reason I don’t rely on the Gamecube Snes emulator ports as much as I do on the PS2’s – picture is to blurry for my taste)
    Of course, companies such as Taito put out their commerical retro compilations this way too and don’t bless us with the original video-modes, damn shame.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: