# OS_Init

## C Specification

      #include <nitro/os.h>

      void OS_Init( void );

## Description

Initializes the system by performing the following actions:

- In the case of the ARM9 processor, this function:
  - Initializes the arena: (`OS_InitArena()`)
  - Sets initial values for the arenas: (`OS_InitArenaEx()`)
  - Initializes the communication system between preprocessors: (`PXI_Init()`)
  - Initializes the lock system: (`OS_InitLock()`)
  - Initializes the IRQ interrupt tables: (`OS_InitIrqTable()`)
  - Initializes the exception display system: (`OS_InitException()`)
  - Allocates both WRAMs to the ARM7: (`MI_SetWramBank()`)
  - Initializes the V count alarm system: (`OS_InitVAlarm()`)
  - Initializes the thread system: (`OS_InitThread()`)
  - Initializes the reset system: (`OS_InitReset()`)
  - Initializes the Game Pak library: (`CTRDG_Init()`)
  - Initializes the Card library. (`CARD_Init()`)
  - Initializes the power control system: (`PM_Init()`)
- In the case of the ARM7 processor, this function:
  - Initializes the arena: (`OS_InitArena()`)
  - Initializes the communication system between preprocessors: (`PXI_Init()`)
  - Initializes the lock system: (`OS_InitLock()`)
  - Initializes the IRQ interrupt tables: (`OS_InitIrqTable()`)
  - Initializes the exception display system: (`OS_InitException()`)
  - Initializes the tick system: (`OS_InitTick()`)
  - Initializes the alarm system: (`OS_InitAlarm()`)
  - Initializes the thread system: (`OS_InitThread()`)
  - Initializes the reset system: (`OS_Reset()`)
  - Initializes the Game Pak library: (`CTRDG_Init()`)

## Arguments

None.

## Return Values

None.

## See Also

`OS_InitThread`, `OS_InitArena`, `OS_InitIrqTable`, `OS_InitTick`, `OS_InitVAlarm`, `OS_InitException`, `MI_SetWramBank`, `PM_Init`, `OS_InitReset`, `CTRDG_Init`, `CARD_Init`

## Revision History

09/27/2004 Added the `CARD_Init function`
09/15/2004 Revisions
08/09/2004 Revisions
02/19/2004 Revisions
12/24/2003 Initial version