# MI_SetMainMemoryPriority

## Syntax

  `#include <nitro/mi.h>`
  `void MI_SetMainMemoryPriority( MIProcessor proc )`

## Arguments

proc | Access priority setting

## Return Values

None.

## Description

This function sets the priority for access to the main memory. It sets the priority for instances when both ARM9 and ARM7 are accessed simultaneously. The argument `proc` is in `MIProcessor` enumeration format and has the following meanings:

`MI_PROCESSOR_ARM9` | Gives priority to ARM9.
`MI_PROCESSOR_ARM7` | Gives priority to ARM7.

By default, priority is set to ARM7.

Caution: If you use this function to keep priority to ARM9, then there is a risk that ARM7 will stall and the wireless and sound processes will not behave normally.

## Internal Operation

Accesses the `EXMEMCNT` I/O register `(0x4000204)`.

## See Also

`MI_GetMainMemoryPriority`, `MI_DispMemDmaCopy`, `MI_HBlankDmaCopy`

## Revision History

2007/05/09 Added a Caution note to the description
2004/08/26 Added `MI_DispMemDmaCopy` to See Also.
2003/12/25 `enum` name changed to `MIProcessor`.
2003/12/18 Initial version.

CONFIDENTIAL