Display Issues
The purpose of this page is to inform about typical display issues common to Wii homebrew. Unwitting developers and users seeking information/help concerning their display problems should be directed here in order to avoid wasting time with lengthy explanations.
The Problem
Not all television sets are created equal. This means that the display area will often mismatch the actual picture. If a developer does not properly compensate for certain factors, the results are usually not good. There will be ugly black borders on some user's picture output and in some cases certain elements will even be placed outside the physical display range, such as buttons and status elements (health, lives, ammo, score, etc). For the end-user, this can be frustrating and even confusing.
Preventative Measures for Developers
The first and easiest thing to do is make sure not to place anything like buttons or status displays too close to the edges of the screen, because this creates the likelihood of having them partially or completely cut off. The BBC recommends keeping a margin of 5 percent on each side. There's also a way to specify a bigger or smaller output such as in the following example:
...
rmode = VIDEO_GetPreferredMode(NULL);
if( CONF_GetAspectRatio() )
{
rmode->viWidth = 678;
rmode->viXOrigin = (VI_MAX_WIDTH_PAL - 678)/2;
}
...
But of course this will not yield the same results for everyone. Some users will be pleased with certain settings and others will not. The best thing to do is to allow the user more than one option so that they can pick whatever best suits their television.
Offset
A customizable display offset or an offset that works from the Wii's own offset settings can be useful. The Wii only has a horizontal offset setting but a vertical one can also be useful.
Overscan
A configurable overscan setting can compensate for display differences, but it must be able to go high enough or else it will fail for some users. Being able to adjust vertical and horizontal overscan independently is even more helpful.
Autodetection
Detection of and compensation for different display types (PAL 50, PAL 60, NTSC, 4:3, and 16:9).