osViSetYScale [Function]



Set the Y scale for VI


#include <ultra64.h>        /* os.h */
void osViSetYScale(f32 yscale);


Coefficient for Y scale processing

Return Value



This function sets the enlargement ratio in the vertical direction. The number of pixels actually rendered are displayed enlarged 1/yscale times. yscale can be specified in the range of 0.05~1.00. Use Y scale processing only in low-resolution non-interlaced modes, such as LAN1, LAN2, LPN1, and LPN2.

osViSetYScale is traditionally used when transplanting a program that was created in NTSC mode to PAL. If the VI mode is just changed to PAL when transplanting to PAL, the top and bottom of the screen get cut off.
The simplest way to display the full screen is to stretch the screen vertically by executing the following command.


However, in this case, the screen will be slightly more blurry than in the NTSC mode due to enlargement processing.
(Full-screen display can be accomplished without using this function if the FPAL mode is used, but this requires extra rendering of the additional lines.)


Y scale processing is disabled when osViSetMode is executed.
In addition, when the Y scale processing coefficient (yscale) is set to value other than 1.0, be sure to return it to 1.0 when a PreNMI event occurs or before executing osViBlack.

See Also

osViBlack, osViExtendVStart, osViGetCurrentMode, and osViSetXScale

Revision History

02/01/99 Completely rewritten.