QA1 How do I use a single buffer?
QA2 Safety Frame
QA3 Screen seems brighter than it did when it was designed
QA4 On the high resolution display screen, a noise appears.
QA5 osViSetYScale (199908) [NEW]

Q1 A great deal of memory is required to use 640x480 resolution. Therefore, I'd like to use a single buffer, but is this possible?

A1 A single buffer will work if the combination is high-resolution and normal interlace. However, there will be snow on the screen.


Q2 Tell me about the N64 safety frame.

A2 Please refer to examples of the safety frame adopted by our software in Chapter 29 of the N64 Programming Manual.


Q3 When I create a model with CG Tools and then try to display it on an actual N64 machine, the screen appears entirely white and bright.

A3 This is an effect of NINTENDO64's gamma correction function. Since the default is for gamma correction, the osViSetSpecialFeatures function, to be ON, it will give the impression of being entirely shifted to white. If this is the case, try turning it OFF. In addition, please note that even if it is initially set to OFF, when a function such as osViSetMode is called, it will be restored to its default "ON."


Q4 During high resolution display with the deflicker interlace mode, if BGM is played, a noise of one line being off on the screen appears sometimes. It seems that when no BGM is played, no noise appears. How can I erase the noise on the screen?

A4 When the deflicker interlace mode is used, due to the limit of memory band width, a noise could appear on the screen in cases of frequent memory access to the same memory bank as the frame buffer which is displayed (1MB unit).

For normal audio library, necessary audio data is designed to DMA transfer from ROM to the RAM of Control Deck (audio heap) every frame. If a buffer such as audio heap which is used for DMA transfer is in the same memory bank as the frame buffer that is being displayed, a noise could appear depending upon the DMA timing. Also, a noise could appear if each frame buffer or Z buffer is assigned to the same memory bank.

Therefore, to prevent the screen noise, the buffer for DMA transfer must not be assigned to the same memory bank as that of frame buffer, and also each frame buffer and Z buffer must be assigned to different banks.

(As it is difficult to work on the programming in the initial stage while fulfilling these conditions, it is recommended to reassign the work memory after the programming is almost completed.)

Even though the screen may flicker a little, if you change the deflicker interlace mode to the normal interlace mode, noise will not appear.


Q5 The text of the "osViSetYScale" Function Reference says "Please only use the Y-scale with low resolution non-interlace modes like LAN1, LAN2, LPN1 and LPN2. Is there some sort of method for using the "osViSetYScale / osViSetXScale" with "HAF1?"

A5 The use of osViSetYScale at high resolutions is, as it says in the Function Reference, "not recommended." (There is no problem with using osViSetXScale, though.) This is because there are often problems when using osViSetYScale at high resolutions.

Actually, when both the X Scale and Y Scale are modified in normal interlace mode, the display image sometimes flows partly off to the side. However, it can be displayed properly using the X Scale and Y Scale values and in deflicker mode, there are rarely any problems.

There are some overseas games already being sold in which the Y Scale has already been adjusted. While there is a record of successful results at present, this sort of use is still not guaranteed so please use this only after performing sufficient operational checks.