Support for 960i RGsB mode on PS2?

Home Forums OSSC OSSC – Feature Requests Support for 960i RGsB mode on PS2?

This topic contains 9 replies, has 3 voices, and was last updated by  BuckoA51 5 months, 1 week ago.

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
  • #10714


    Using the GSM software on a softmodded PS2, one can force many PS2 games into 480p RGsB, a mode with which the OSSC is fully compatible (and looks great!). Roughly half of the games in the PS2 library do not work with the forced 480p mode, however they do work with the GSM mode labeled “640x960i” (which, like the 480p mode, is also output as RGsB).

    People have reported (see here for example) that this 640x960i mode displays correctly on certain PC CRTs. From testing I can report that this 640x960i mode almost works with the OSSC (tested via the SCART input). The issue is that the OSSC appears to be sampling only the first 240 lines per interlace field (out of the 480 total lines per interlace field). What you see on screen looks like the top half of a line-doubled 480p image cropped into a 480p frame, meaning half of the image is off-screen (and the portion that is on-screen is 2x vertically stretched). The doubled lines that are visible show no signs of interlace jitter, meaning a true 480p image is being generated and carried on the signal.

    The OSSC’s LCD indicator reports the “640x960i” signal as RGsB 480i 31kHz 120Hz. Though it correctly identifies it as a 31kHz signal, it would seem that the OSSC thinks this 960i mode is actually 480i, which would explain why it only samples the first 240 lines in each field and ignores the remaining 240 lines. The 120Hz part is wrong too because the 480-line fields are presumably being generated at 60Hz. So the OSSC sees one 960i (480-line) field every 1/60s and thinks it got two 480i (240-line) fields in that time?

    I realize not everyone has a modded PS2 and so this feature would apply to a niche subset of OSSC users. That said I’m happy to help with testing modified firmware to help gets this working.

    • This topic was modified 6 months, 2 weeks ago by  awe444.


    I don’t recall seeing 640x960i on GSM mode select list, but it’s some time since I’ve touched that. 480i/120Hz info on the screen comes from digitizer chip and may not match how FPGA actually processes the input. I assume output is 60Hz that just has active area cut in half vertically because invalid mode parametes are selected. It sounds like this could be fixed easily, but I’ll have to test this mode to see if digitizer screws up sync signal like in some other cases.



    Thanks for the reply—the 640x960i mode is a relatively new addition to GSM (view the source code commit here).

    Note that the above-linked bitbucket repo (and the OSSC testing I mention in my original post) correspond to the version of GSM which is integrated into the OPL loader GUI—my understanding is that the standalone GSM software hasn’t been updated in years.



    I installed OPL 0.93 which didn’t contain that commit yet, but it has “640x480i” which apparently is the same mode but just misnamed. Activating it, OSSC reports 1037 lines interlaced @ 31.61kHz/60.97Hz which sounds valid for 960i mode. OSSC isn’t yet compatible with interlaced content that exceeds 480i/576i, but once support for that is added/fixed, 960i should work as well.

    No idea why your setup generates invalid readings, maybe some PS2 models/bios do not support this mode. Did you actually get it to run correctly with some other video processor / display? Also, what OSSC reports if you select HDTV 1080i mode on your PS2?



    Thanks for working on this.

    What I reported in my original post corresponds to using OPL version 0.94 (a beta build containing the newer GSM version 0.38).

    After reading your observations with the stable OPL version 0.93, I downgraded to 0.93 and now I obtain the same result as you, i.e., my OSSC now reports 1037i 31kHz/60Hz when using the “640x480i” GSM mode. Likewise I get 1125i 33kHz/60Hz for the 1080i mode. Clearly this is a more accurate result than what the beta OPL build produces, so it’s probably best to ignore the beta version and just make OSSC’s firmware compatible with the output signal from the stable OPL version 0.93.

    I’m glad to hear that support for higher-than-480-line interlaced modes is planned. What is the planned output mode for a 960i input? Would the OSSC convert it to 640x480p or linedouble it to 1280x960p? Ideally both would be possible, but is one easier to implement?



    Support for 960i and 1080i is fixed and will be part of next fw release.



    Just tested 960i processing with the PS2 using GSM forced RGsB mode “VGA 640x480i”—it works beautifully! I only tested a handful of games so far, but this update likely means EVERY game on PS2 can finally be played progressive without any flicker artifacts. And considering the vast library of games for that console, that is a major accomplishment. Well done!



    Can you name a couple of games that benefit from this treatment?



    Some NTSC titles that I’ve confirmed work forced at 960i RGsB but do not work forced at 480p RGsB:

    Castlevania: Lament of Innocence
    Contra: Shattered Soldier
    Final Fantasy XII
    Indiana Jones and the Emperor’s Tomb
    Ratchet and Clank
    SSX (in 480p, opening logo will show but nothing thereafter)
    Star Trek Voyager Elite Force
    Transformers (NTSC-J)

    Some notes:

    My setup:
    -OPL version 0.93 (stable)
    -Connecting to OSSC via scart cable
    -Feeding OSSC’s output into a XPC-4

    -Despite my earlier post’s optimism, it appears some games work at neither 480p nor 960i RGsB, but still only 480i RGBs (examples: Grand Theft Auto III, Jak and Daxter). This conceivably could be fixed in future OPL/GSM updates—might be possible now in fact, I could just be using the incorrect combination of OPL mode settings for these games

    -When forced to 640x960i, the PS2 appears to render internally at 480p, then linedouble internally to 960p, then outputs it as interlaced. So to get a flicker-free, high-res image, the scanlines need to be set to alternating (the mode in which scanlines appear fixed on the screen). The result is identical to what the OSSC would show for line2x-480p content with scanlines.

    -The best way to view this scanlined 960p output is at native res inside a buffered 1080p frame, e.g. with either a DVDO, XPC-4, etc. Scaling it to fullscreen will in general look like garbage because of the scanlines. There’s no test suite for PS2, however viewing any nearly fully white screen will tell you instantly whether the vertical scaling is perfectly tuned or not based on how even the scanlines look. If using an XPC-4, you can use the black button immediately under the remote’s top left green button to see what resolution the OSSC is outputting. For some reason my XPC-4 recognizes a 1280×962 signal, which requires slight vertical resizing to render the 960 lines perfectly evenly.

    -In general you’ll also need to adjust the vertical offset in the GSM settings (I’ve observed the default value has the image shifted 20-30% too far down)



    Excellent informative post, thank you! 🙂

Viewing 10 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic.