List of Main Interface API Functions

# List of Memory Interface (MI) API Functions

### Memory operations by the CPU

MI_CpuCopy* | Copies data.
MI_CpuFill* | Fills memory with specified data.
MI_CpuClear* | Zero-clears memory.
MI_CpuSend* | Sends data with fixed address.

### Memory operations by the DMA

MI_DmaCopy* | Uses DMA to copy data.
MI_DmaFill* | Fills memory with specified data.
MI_DmaClear* | Zero-clears memory.
MI_DmaSend* | Sends data with fixed address.
MI_HBlankDmaCopy* | Uses DMA to copy an H-Blank.
MI_VBlankDmaCopy* | Uses DMA to copy a V-Blank.
MI_DispMemDmaCopy | Sets main memory display DMA copies.
MI_SendGXCommand* | Uses DMA to send geometry commands to command FIFO.
MI_IsDmaBusy | Checks whether the specified DMA channel is being used.
MI_WaitDma | Waits for the specified end of DMA.
MI_StopDma | Stops specified DMA.

### External Memory Control

MI_SetMainMemoryPriority | Sets access priority to main memory.
MI_GetMainMemoryPriority | Gets settings for access priority to main memory.
MI_GetCardProcessor | Get settings for access rights to card.
MI_GetCartridgeProcessor | Gets settings for access rights to Game Pak.
MI_SetPhiClock | Sets PHI terminal output clock.
MI_GetPhiClock | Gets PHI terminal output clock settings.
MI_SetCartridgeRomCycle1st | Sets the 1st access cycle to the Game Pak ROM region.
MI_GetCartridgeRomCycle1st | Gets the settings for the 1st access cycle to the Game Pak ROM region.
MI_SetCartridgeRomCycle2nd | Sets the 2nd access cycle to the Game Pak ROM region.
MI_GetCartridgeRomCycle2nd | Gets the settings for the 2nd access cycle to the Game Pak ROM region.
MI_SetCartridgeRamCycle | Sets the access cycle to the Game Pak RAM region.
MI_GetCartridgeRamCycle | Gets the settings for the access cycle to the Game Pak RAM region.

### Work RAM Settings

MI_SetWramBank | Configures shared work RAM allocation for ARM7 and ARM9.

### Memory Swap

MI_SwapByte | Swaps specified byte data and memory data.
MI_SwapWord | Swaps specified word data and memory data.

### Extracting Compressed Data

MI_UnpackBits | Expands data that was packed with 0 fixed bits.
MI_UncompressLZ8 | Expands LZ77 compressed data in 8-bit units.
MI_UncompressLZ16 | Expands LZ77 compressed data in 16-bit units.
MI_UncompressHuffman | Expands Huffman compressed data in 32-bit units.
MI_UncompressRL8 | Expands runlength compressed data in 8-bit units.
MI_UncompressRL16 | Expands runlength compressed data in 16-bit units.
MI_UnfilterDiff8 | Expands the data which the difference filter was applied in 8-bit units.
MI_UnfilterDiff16 | Expands the data which the difference filter was applied in 16-bit units.
MI_GetUncompressedSize | Obtains the size of the expanded data.
MI_GetCompressionType | Obtains the compression format of the compressed data.

### Byte Access

MI_ReadByte | Reads the byte data from the memory.
MI_WriteByte | Writes the byte data to the memory.