Optimal timings for original Xbox (and Xbox 360)

NewHome Forums OSSC, OSSC Pro and DExx-vd isl OSSC – Discussion and support Optimal timings for original Xbox (and Xbox 360)

Tagged: 

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #39128
    Zacabeb
    Participant

    I played around a bit to achieve optimal timings for the original Xbox when playing games running at 640×480. The default timings work great with games that run at 720×480, but cause the picture to be a bit soft in games that run at 640×480.

    The below timings are for the 1.6 revision Xbox that has the Xcalibur TV encoder, and may not be optimal for Xboxes that have the Conexant or Focus Enhancements TV encoders. The timings were tested with 480i, but I imagine they should work for 480p as well.

    Allow TVP HPLL2x: Off (the sampling phase might randomly shift 180° from the set value when this is enabled)
    Allow upsample2x: Off while adjusting phase, then on or off as desired

    H. samplerate: 780
    H. synclen: 57
    H. backporch: 60
    H. active: 640
    V. synclen: 3 (6 for 480p)
    V. backporch: 16 (32 for 480p)
    V. active: 240 (480 for 480p)
    Sampling phase: adjusted for minimum crosstalk

    It’s very tricky to nail the phase, both because of the odd behavior of the TVP7002 when adjusting it, and the short duration for which the pixels hit their peak value. But once nailed down, things can look very good indeed. Try adjusting the phase until the bleeding of pixels is the worst and then offset the resulting value by 180° to get close to the optimum value.

    The samplerate of 780 samples/line (12.27 MHz) is interesting. It makes the width of the 640 pixel active area equivalent to 704 pixels with the standard 858 samples/line, which matches the approximate nominal width for the picture (704×480 is quite close in ratio to the full 711×486 NTSC raster). The pixel aspect ratio with this 12.27 MHz timing is therefore a perfect 1:1 in a 4:3 picture. They chose this sensibly. I’m actually a little impressed.

    It would be fun to hear how those timings work with 480p, including if it works correctly with Xboxes that have the Conexant and Focus Enhancement TV encoders. On an Xbox that has the Conexant TV encoder and is set to 480i, I wouldn’t bother trying to nail the timings since the picture is so heavily filtered it makes little difference. But in 480p the Conexant should do well.

    Edit: I should mention that I get a lot of ringing in the signal from the Xbox over both RGB SCART and YPbPr. Dark, thin objects against bright backgrounds cause bright halos that are symmetrical about the pixels. It looks like it could be caused by a low-pass filter in the TV encoder.

    Edit 2: Some corrections made to the timings listed.

    #39168
    Zacabeb
    Participant

    I have now tested the same timings with the Xbox 360 in 480i, and for anything that happens to use 640×480 rather than 720×480, it looks very nice with perfect pixel recovery. This was observed via SCART, but when I find one of my component cables for the Xbox 360 I’ll try that as well, plus 480p. Just for kicks. 🙂

    #39218
    Zacabeb
    Participant

    I have now tried the timings with a few games on the Xbox 360 over 480p YPbPr, including two games that support native 640×480; PGR3, and OutRun Online Arcade. They look stunning, almost more so than running them in HD if you love pixels. Everything is incredibly crisp.

    #39249
    shakex
    Participant

    Thanks. I applied these settings to my Xbox 1.0 and I’ve got no complaints.

    #39267
    TrantaLocked
    Participant

    Could you explain just in the context of an Xbox directly connected to a CRT, how does the Xbox tell the TV to handle the signal when a game is running 720×480 vs 640×480? Does the 640×480 game run in a 720×480 frame, and the Xbox tells the TV to lengthen each dot thus changing the dot aspect ratio, or does it tell the TV to space them out more at the same dot aspect ratio?

    #39271
    Zacabeb
    Participant

    On the Xbox and Xbox 360, the pixel aspect ratio gets wider at 640×480, and occupies the same space as 704 out of the 720×480 pixels. The 640×480 active picture occupies 52.148 μs of the total 63.556 μs line period, while the 720×480 active picture occupies 53.333 μs.

    When displayed in 4:3, the pixel aspect ratio in 640×480 is an almost perfect 1:1, whereas in 720×480 it’s 10:11.

    #40559
    TrantaLocked
    Participant

    How does the developer intend us to see the proportions, perfectly filling the 4:3 space or with the 2% horizontal shrink?

    #40562
    Zacabeb
    Participant

    I imagine that when using 720×480, developers set out from it having the standardized pixel aspect ratio of 10:11, or thereabouts.

    Given that the vast majority of TVs at the time were CRT based with some geometric distortion being inevitable, I don’t think any adherence to a specific pixel aspect ratio in 720×480 was very strict however.

    So whether a game treats 720×480 as slightly wider than 4:3 or not might vary.

    #46300
    TrantaLocked
    Participant

    I’m still confused about the Xbox output resolution and overscan. So the full NTSC raster is 858 x 525, and visible picture is 710.85 x 486. The Xbox output resolution is 720 x 480. Does this mean that if you had a CRT that showed the full raster without any overscan, there would be a thicker border than normal around the Xbox image right? If so, why does Microsoft recommend an 85% overscan when the image is already smaller than the full raster? Or is that just reference to 85% overscan of the full raster, not the 720 x 480 Xbox image? Or is 720 x 480 image blanked automatically so it fills about the same space as the 710 x 486 NTSC visible area, or does the Xbox output image have this blanking information in it?

    Edit: So the impression I’m getting is that there is a minimum blanking interval forced by the CRT, but the source signal can add additional blanking.

    In analog television systems the vertical blanking interval can be used for datacasting (to carry digital data), since nothing sent during the VBI is displayed on the screen; various test signals…

    This suggests that any kind of data sent outside the regular data interval of 710.85 samples, even if it’s formatted as video information, will not be projected by the CRT during the blanking period. However,

    On many consoles there is an extended blanking period, as the console opts to paint graphics on fewer lines than the television would natively allow, permitting its output to be surrounded by a border. On some very early machines such as the Atari 2600, the programmer is in full control of video output and therefore may select their own blanking period, allowing arbitrarily few painted lines.

    This then suggests that there is the ability to add extra blanking to the signal at any point. So in a game like Pong for instance, you could have any area that is known to never have active pixels be defined as a blank rather than as actual data, which I assume would lower the data processing need for the GPU.
    https://en.wikipedia.org/wiki/Vertical_blanking_interval

    So to answer my own question, the Xbox kind of does and doesn’t supply the blanking interval, and the 85% overscan is in reference to the 720 x 480 picture, though this was more of a safe number for worst case scenario as I believe CRTs usually overscanned no more than 5%. The Xbox sends data in a way that conforms to the minimum blanking interval set by the CRT, meaning there are valleys of non-data between each scanline (I think…). If the Xbox tried to supply data for a longer period on each scanline, it would simply be ignored by the CRT. The interesting thing is that this actually does happen for 720×480 signals from the Xbox; the extra 9 samples outside of the 710.85 (711) active picture area couldn’t naturally be seen on a CRT, even without overscan, unless you were to calibrate the CRT’s blanking interval to show this data. And some Xbox games actually do output video data over these 9 extra pixels, like Ninja Gaiden, while most games don’t. But the impression I’m getting is that most Xbox games that were authored “normally” are only using 704 x 480 pixels for active information since this matches the aspect ratio of the 711 x 486 matrix (“1.46”, which when converted to real space with square pixels is 4:3 = 1.33), just to insure that if overscan is disabled that the picture will still look perfectly 4:3 on the screen. Also fun fact, the top and bottom 3 lines would be blank when playing Xbox on a CRT with overscan disabled due to the actual area being 486 lines tall while the Xbox output signal is 480 lines tall.

    Info on format conversion: http://xpt.sourceforge.net/techdocs/media/video/dvd/dvd04-DVDAuthoringSpecwise/ar01s02.html

    #46321
    Zacabeb
    Participant

    That sums it up fairly well. The 85% of the raster Microsoft references is a safe title area. Aside from overscan potentially cropping text, lower sharpness toward the corners in many CRT TVs could make text less readable or even illegible. So the safe title area is much farther in from the edges of the raster than the expected overscan.

    #46323
    TrantaLocked
    Participant

    So the 85% number then is in reference to the full raster? I wasn’t sure if overscan percentages were meant to be a % of the full raster or a % of the active picture area. I don’t know why the wikipedia article doesn’t make this clearer about what exactly is being overscanned.

    #46324
    Zacabeb
    Participant

    The active picture area.

    #54661
    phl0w
    Participant

    Very old thread but I am in the process of getting the best picture out of my xbox360@480p (hooked via 360 VGA cable to OSSC and via HMDI to a 1440p gaming monitor). What I find weird is the v.active 240. It leads to a VERY thin and long image. Also, are these timings for 480p passthru or line2x?

    Up till now I just used 480p line2x with the default timings and allow upsample2x “on” to soften the image a bit (not a fan of the oversharpened look).
    Thanks

    #54665
    BuckoA51
    Keymaster

    Think that must be a mistake, v active should be at least 480.

    If you don’t like oversharpened pixels the default timings should be more than enough.

    #54668
    Zacabeb
    Participant

    Yes, for 480p V.active should be 480.

    Using the default timings with Upsample2x turned on results in oversampling the signal either way and produces little to no visible difference in quality to the optimized timings.

Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.