SSBM Decomp
Loading...
Searching...
No Matches
OSInit.c File Reference

Issues: More...

Data Structures

struct  OSBootInfo
 
struct  BI2Debug
 

Macros

#define OS_BI2_DEBUG_ADDRESS   0x800000F4
 
#define OS_DEBUG_ADDRESS_2   0x800030E9
 
#define DI_CONFIG_IDX   0x9
 
#define DI_CONFIG_CONFIG_MASK   0xFF
 

Enumerations

enum  OSConsoleType {
  OS_CONSOLE_RETAIL = 0x00000000 ,
  OS_CONSOLE_EMULATOR = 0x10000000 ,
  OS_CONSOLE_PC_EMULATOR ,
  OS_CONSOLE_ARTHUR ,
  OS_CONSOLE_MINNOW
}
 

Functions

u32 OSGetConsoleType (void)
 
u32 OSGetResetCode (void)
 
u32 BOOT_REGION_START AT_ADDRESS (0x812FDFF0)
 
u32 BOOT_REGION_END AT_ADDRESS (0x812FDFEC)
 
void ClearArena (void)
 
vu16 __OSDeviceCode AT_ADDRESS (OS_BASE_CACHED|0x30E6)
 
struct { 
 
   u32   x0 
 
   u32   intr 
 
   u8   _ [0x2C - 0x8] 
 
   u32   x2C 
 
AT_ADDRESS (0xCC003000) 
 
void OSInit (void)
 Initializes the Dolphin operating system.
 
void OSExceptionInit (void)
 
void __OSDBIntegrator (void)
 
void __OSDBJump (void)
 
__OSExceptionHandler __OSSetExceptionHandler (u8 exception, __OSExceptionHandler handler)
 
__OSExceptionHandler __OSGetExceptionHandler (u8 exception)
 
void OSExceptionVector (void)
 
void OSDefaultExceptionHandler (void)
 
void __OSPSInit (void)
 
u32 __OSGetDIConfig (void)
 

Variables

static OSBootInfoBootInfo
 
static u32BI2DebugFlag
 
static UNK_T BI2DebugFlagHolder
 
static bool AreWeInitialized
 
static __OSExceptionHandlerOSExceptionTable
 
OSTime __OSStartTime
 
u8 __ArenaHi []
 
u8 __ArenaLo []
 
bool __DVDLongFileNameFlag
 
u32 __PADSpec
 
static u32 __OSExceptionLocations []
 

Detailed Description

Issues:

Todo:
Should be called OS.c.

Macro Definition Documentation

◆ OS_BI2_DEBUG_ADDRESS

#define OS_BI2_DEBUG_ADDRESS   0x800000F4

◆ OS_DEBUG_ADDRESS_2

#define OS_DEBUG_ADDRESS_2   0x800030E9

◆ DI_CONFIG_IDX

#define DI_CONFIG_IDX   0x9

◆ DI_CONFIG_CONFIG_MASK

#define DI_CONFIG_CONFIG_MASK   0xFF

Enumeration Type Documentation

◆ OSConsoleType

Enumerator
OS_CONSOLE_RETAIL 
OS_CONSOLE_EMULATOR 
OS_CONSOLE_PC_EMULATOR 
OS_CONSOLE_ARTHUR 
OS_CONSOLE_MINNOW 

Function Documentation

◆ OSGetConsoleType()

u32 OSGetConsoleType ( void  )

◆ OSGetResetCode()

u32 OSGetResetCode ( void  )
extern

◆ AT_ADDRESS() [1/4]

u32 BOOT_REGION_START AT_ADDRESS ( 0x812FDFF0  )
extern

◆ AT_ADDRESS() [2/4]

u32 BOOT_REGION_END AT_ADDRESS ( 0x812FDFEC  )
extern

◆ ClearArena()

void ClearArena ( void  )

◆ AT_ADDRESS() [3/4]

vu16 __OSDeviceCode AT_ADDRESS ( OS_BASE_CACHED 0x30E6)
extern

◆ AT_ADDRESS() [4/4]

volatile struct @7 AT_ADDRESS ( 0xCC003000  )
extern

◆ OSInit()

void OSInit ( void  )

Initializes the Dolphin operating system.

  • most of the main operations get farmed out to other functions
  • loading debug info and setting up heap bounds largely happen here
  • a lot of OS reporting also gets controlled here

◆ OSExceptionInit()

void OSExceptionInit ( void  )

◆ __OSDBIntegrator()

void __OSDBIntegrator ( void  )

◆ __OSDBJump()

void __OSDBJump ( void  )

◆ __OSSetExceptionHandler()

__OSExceptionHandler __OSSetExceptionHandler ( u8  exception,
__OSExceptionHandler  handler 
)

◆ __OSGetExceptionHandler()

__OSExceptionHandler __OSGetExceptionHandler ( u8  exception)

◆ OSExceptionVector()

void OSExceptionVector ( void  )

◆ OSDefaultExceptionHandler()

void OSDefaultExceptionHandler ( void  )

◆ __OSPSInit()

void __OSPSInit ( void  )

◆ __OSGetDIConfig()

u32 __OSGetDIConfig ( void  )

Variable Documentation

◆ BootInfo

OSBootInfo* BootInfo
static

◆ BI2DebugFlag

u32* BI2DebugFlag
static

◆ BI2DebugFlagHolder

UNK_T BI2DebugFlagHolder
static

◆ AreWeInitialized

bool AreWeInitialized
static

◆ OSExceptionTable

__OSExceptionHandler* OSExceptionTable
static

◆ __OSStartTime

OSTime __OSStartTime

◆ __ArenaHi

u8 __ArenaHi[]
extern

◆ __ArenaLo

u8 __ArenaLo[]
extern

◆ __DVDLongFileNameFlag

bool __DVDLongFileNameFlag
extern

◆ __PADSpec

u32 __PADSpec
extern

◆ x0

UNK_T x0

◆ intr

u32 intr

◆ _

u8 _

◆ x2C

u32 x2C

◆ __OSExceptionLocations

u32 __OSExceptionLocations[]
static
Initial value:
= {
0x0100, 0x0200, 0x0300, 0x0400, 0x0500, 0x0600, 0x0700, 0x0800,
0x0900, 0x0C00, 0x0D00, 0x0F00, 0x1300, 0x1400, 0x1700,
}