MPAL Submission Requirements

MPAL Development Equipment

No special equipment is needed for MPAL development. However, the following equipment is required for debugging MPAL version software:

An N64 Control Deck, modified for MPAL, can be purchased through the NOA Parts Department.

MPAL Development

Use osTvType to auto-recognize MPAL then set the VI setting to MPAL.


if (osTvType == 1)
osViSetMode( &osViModeTable[OS_VI_NTSC_LAN1] );
osViSetMode( &osViModeTable[OS_VI_MPAL_LAN1] );

By performing the above processing, no additional settings are necessary with regard to programming. Please note that osViClock will stay in the NTSC mode.

MPAL Development Precautions

Calling osViAfterPreNMI

Note: The following information was taken from Developer News 1.8.

A problem was found that caused the application to halt when the reset button was pressed, when the n_audio microcode was used with MPAL. This occurred if the application was re-started without first initializing the RSP program counter (PC). To fix this problem, we have added the following function to this patch:

s32 osViAfterPreNMI (void);

This function initializes the RSP program counter (PC).


When the application receives a pre-NMI event, halt all RSP tasks and then call this function.

If the function call is successful, 0 is returned. If the RSP is active, the call fails and a -1 is returned. In this case, wait for the executing RSP task to end and then call the function again.

When a pre-NMI event arrives, the application must halt GFX tasks and audio tasks. At the time that a pre-NMI event is received, confirm that the executing RSP task has ended and that no new RSP task has begun, and then call the osAfterPreNMI() function.

Please call the osAfterPreNMI() function whenever a pre-NMI event is received, even if you are using some mode other than MPAL (NTSC etc.).


Q) I've never really heard of MPAL. What is it?

A) M-PAL (PAL-M) is the Brazilian 60 Hz PAL format image reception system with 525 scan lines. Since it is a type of PAL, the color information is different, at 60 Hz, it has the same scanning format as NTSC.

Q) Well, why is it so "necessary" to get into a television reception format targeted at the Brazilian market?

A) Our American corporation Nintendo of America Inc. (NOA) has been marketing to South America and, with a slight correction, can be compatible with both NTSC and MPAL, and has requested all third parties to comply.

Q) How will the check system work?

A) Games which have been submitted to NOA are "pre-checked" before they are submitted to "lot checks". Here precision MPAL checks are performed using oscilloscopes.

Q) I have absolutely no MPAL equipment. How can I write compatible programs?

A) Compatibility is possible simply by adding a branch with osTvType. However, you naturally would like to check your product before shipping it. If you do not have the necessary equipment, first, contact Developer Support. Pre-checks are also possible at Nintendo.

Q) Can you give us some examples which have been encountered in lot check process?

A) There are many examples of programs were intended to be MPAL-compatible, but which werenot compatible. There are some examples in which the programmer forgot to initialize when the program changed due to a game menu or stage switching, where the format was NTSC on some aspects, but MPAL on other aspects. These are difficult to catch during debugging as they would not be apparent on an NTSC TV.