List of supervisor call (SVC) API functions

Wait for Interrupt

SVC_WaitVBlankIntr Waits in Halt status until a V-Blank interrupt is generated.
SVC_Halt Stops the CPU core and changes to the halt status.
SVC_Sleep Stops the original transmission (ARM7 only).

Waiting

SVC_WaitByLoop Waits by making a loop in the system ROM.

Memory Operations

SVC_CpuClear* Uses CPU to perform memory clear.
SVC_CpuCopy* Uses CPU to perform memory copy.

Expanding compressed data

SVC_UnpackBits Expands the data filled with fixed 0
SVC_UncompressLZ8 Expands the LZ77 compressed data in units of 8 bits
SVC_UncompressRL8 Expands runlength compressed data in 8-bit units. MI_UnfilterDiff8
SVC_UncompressLZ16FromDevice Expands the LZ77 compressed data that exists in the device in units of 16 bits
SVC_UncompressRL16FromDevice Expands the runlength compressed data that exists in the device in units of 16 bits
SVC_UncompressHuffmanFromDevice Expands the Huffman compressed data in the device in units of 32 bits.

Arithmetic Operation

SVC_Div Performs division and obtains the result
SVC_DivRem Performs division and obtains the remainder
SVC_Sqrt Performs square root operation and obtains the result

Other

SVC_GetCRC16 Calculates CRC-16
SVC_IsMmemExpanded Determines whether the main memory is equipped with 8MB