libogc  v2.9.0
Data Structures | Macros | Typedefs | Functions | Variables
system.h File Reference

OS functions and initialization. More...

#include <gctypes.h>
#include <gcbool.h>
#include <gcutil.h>
#include <time.h>
#include <ogc/lwp_queue.h>
#include "gx_struct.h"

Data Structures

struct  _sys_fontheader
 
struct  _sys_resetinfo
 
struct  _syssram
 
struct  _syssramex
 

Macros

#define MEM_K0_TO_K1(x)   (void*)((u32)(x) + (SYS_BASE_UNCACHED - SYS_BASE_CACHED))
 
#define MEM_K0_TO_PHYSICAL(x)   (void*)((u32)(x) - SYS_BASE_CACHED)
 
#define MEM_K1_TO_K0(x)   (void*)((u32)(x) - (SYS_BASE_UNCACHED - SYS_BASE_CACHED))
 
#define MEM_K1_TO_PHYSICAL(x)   (void*)((u32)(x) - SYS_BASE_UNCACHED)
 
#define MEM_PHYSICAL_TO_K0(x)   (void*)((u32)(x) + SYS_BASE_CACHED)
 
#define MEM_PHYSICAL_TO_K1(x)   (void*)((u32)(x) + SYS_BASE_UNCACHED)
 
#define MEM_VIRTUAL_TO_PHYSICAL(x)   (((u32)(x)) & ~SYS_BASE_UNCACHED)
 
#define SYS_BASE_CACHED   (0x80000000)
 
#define SYS_BASE_UNCACHED   (0xC0000000)
 
#define SYS_FONTSIZE_ANSI   (288 + 131072)
 
#define SYS_FONTSIZE_SJIS   (3840 + 1179648)
 
#define SYS_GetArenaHi   SYS_GetArena1Hi
 
#define SYS_GetArenaLo   SYS_GetArena1Lo
 
#define SYS_GetArenaSize   SYS_GetArena1Size
 
#define SYS_HOTRESET   1
 
#define SYS_LANG_DUTCH   5
 
#define SYS_LANG_ENGLISH   0
 
#define SYS_LANG_FRENCH   2
 
#define SYS_LANG_GERMAN   1
 
#define SYS_LANG_ITALIAN   4
 
#define SYS_LANG_SPANISH   3
 
#define SYS_POWEROFF   4
 
#define SYS_POWEROFF_IDLE   6
 
#define SYS_POWEROFF_STANDBY   5
 
#define SYS_PROTECTCHAN0   0
 
#define SYS_PROTECTCHAN1   1
 
#define SYS_PROTECTCHAN2   2
 
#define SYS_PROTECTCHAN3   3
 
#define SYS_PROTECTCHANMAX   4
 
#define SYS_PROTECTNONE   0x00000000
 
#define SYS_PROTECTRDWR   (SYS_PROTECTREAD|SYS_PROTECTWRITE)
 
#define SYS_PROTECTREAD   0x00000001
 
#define SYS_PROTECTWRITE   0x00000002
 
#define SYS_RESTART   0
 
#define SYS_RETURNTOMENU   3
 
#define SYS_SetArenaHi   SYS_SetArena1Hi
 
#define SYS_SetArenaLo   SYS_SetArena1Lo
 
#define SYS_SHUTDOWN   2
 
#define SYS_SOUND_MONO   0
 
#define SYS_SOUND_STEREO   1
 
#define SYS_VIDEO_MPAL   2
 
#define SYS_VIDEO_NTSC   0
 
#define SYS_VIDEO_PAL   1
 
#define SYS_WD_NULL   0xffffffff
 

Typedefs

typedef void(* alarmcallback) (syswd_t alarm, void *cb_arg)
 
typedef void(* powercallback) (void)
 
typedef void(* resetcallback) (u32 irq, void *ctx)
 
typedef s32(* resetfunction) (s32 final)
 
typedef struct _sys_fontheader sys_fontheader
 
typedef struct _sys_resetinfo sys_resetinfo
 
typedef struct _syssram syssram
 holds the stored configuration value from the system SRAM area More...
 
typedef struct _syssramex syssramex
 holds the stored configuration value from the extended SRAM area More...
 
typedef u32 syswd_t
 handle typedef for the alarm context
 

Functions

void kprintf (const char *str,...)
 
void * SYS_AllocateFramebuffer (GXRModeObj *rmode)
 Allocate cacheline aligned memory for the external framebuffer based on the rendermode object. More...
 
s32 SYS_CancelAlarm (syswd_t thealarm)
 Cancel the alarm, but do not remove from the list of contexts. More...
 
s32 SYS_CreateAlarm (syswd_t *thealarm)
 Create/initialize sysalarm structure. More...
 
void SYS_DumpPMC (void)
 
void * SYS_GetArena1Hi (void)
 
void * SYS_GetArena1Lo (void)
 
u32 SYS_GetArena1Size (void)
 
u32 SYS_GetCounterBias (void)
 
s8 SYS_GetDisplayOffsetH (void)
 
u8 SYS_GetEuRGB60 (void)
 
u32 SYS_GetFontEncoding (void)
 
void SYS_GetFontTexel (s32 c, void *image, s32 pos, s32 stride, s32 *width)
 
void SYS_GetFontTexture (s32 c, void **image, s32 *xpos, s32 *ypos, s32 *width)
 
u16 SYS_GetGBSMode (void)
 
u8 SYS_GetLanguage (void)
 
u8 SYS_GetProgressiveScan (void)
 
u8 SYS_GetSoundMode (void)
 
u8 SYS_GetVideoMode (void)
 
u16 SYS_GetWirelessID (u32 chan)
 
void SYS_Init (void)
 
u32 SYS_InitFont (sys_fontheader *font_data)
 
void SYS_ProtectRange (u32 chan, void *addr, u32 bytes, u32 cntrl)
 
void SYS_RegisterResetFunc (sys_resetinfo *info)
 
s32 SYS_RemoveAlarm (syswd_t thealarm)
 Remove the given alarm context from the list of contexts and destroy it. More...
 
void SYS_Report (char const *const fmt_,...)
 write formatted string to Dolphin OSReport uart
 
u32 SYS_ResetButtonDown (void)
 
void SYS_ResetPMC (void)
 
void SYS_ResetSystem (s32 reset, u32 reset_code, s32 force_menu)
 
s32 SYS_SetAlarm (syswd_t thealarm, const struct timespec *tp, alarmcallback cb, void *cbarg)
 
void SYS_SetArena1Hi (void *newHi)
 
void SYS_SetArena1Lo (void *newLo)
 
void SYS_SetCounterBias (u32 bias)
 
void SYS_SetDisplayOffsetH (s8 offset)
 
void SYS_SetEuRGB60 (u8 enable)
 
void SYS_SetGBSMode (u16 mode)
 
void SYS_SetLanguage (u8 lang)
 
s32 SYS_SetPeriodicAlarm (syswd_t thealarm, const struct timespec *tp_start, const struct timespec *tp_period, alarmcallback cb, void *cbarg)
 
void SYS_SetProgressiveScan (u8 enable)
 
resetcallback SYS_SetResetCallback (resetcallback cb)
 
void SYS_SetSoundMode (u8 mode)
 
void SYS_SetVideoMode (u8 mode)
 
void SYS_SetWirelessID (u32 chan, u16 id)
 
void SYS_StartPMC (u32 mcr0val, u32 mcr1val)
 
void SYS_STDIO_Report (bool use_stdout)
 
void SYS_StopPMC (void)
 
void SYS_SwitchFiber (u32 arg0, u32 arg1, u32 arg2, u32 arg3, u32 pc, u32 newsp)
 
u64 SYS_Time (void)
 
void SYS_UnregisterResetFunc (sys_resetinfo *info)
 

Variables

struct _syssramex ATTRIBUTE_PACKED
 

Detailed Description

OS functions and initialization.

Typedef Documentation

◆ syssram

struct _syssram syssram

holds the stored configuration value from the system SRAM area

Parameters
checksumholds the block checksum.
checksum_inholds the inverse block checksum
ead0unknown attribute
ead1unknown attribute
counter_biasbias value for the realtime clock
display_offsetHpixel offset for the VI
ntdmostly unknown attribute
langlanguage of system
flagsdevice and operations flag

◆ syssramex

holds the stored configuration value from the extended SRAM area

Parameters
flash_id[2][12]96bit memorycard unlock flash ID
wirelessKbd_idDevice ID of last connected wireless keyboard
wirelessPad_id[4]16bit device ID of last connected pad.
dvderr_codelast non-recoverable error from DVD interface
__padding0padding
flashID_chksum[2]8bit checksum of unlock flash ID
gbsGame Boy Player Start-Up Disc settings
__padding1padding

Function Documentation

◆ SYS_AllocateFramebuffer()

void * SYS_AllocateFramebuffer ( GXRModeObj rmode)

Allocate cacheline aligned memory for the external framebuffer based on the rendermode object.

Parameters
[in]rmodepointer to the video/render mode configuration
Returns
pointer to the framebuffer's startaddress. NOTE: Address returned is aligned to a 32byte boundery!

◆ SYS_CancelAlarm()

s32 SYS_CancelAlarm ( syswd_t  thealarm)

Cancel the alarm, but do not remove from the list of contexts.

Parameters
[in]thealarmidentifier to the alram context to be canceled
Returns
0 on succuess, non-zero on error

◆ SYS_CreateAlarm()

s32 SYS_CreateAlarm ( syswd_t thealarm)

Create/initialize sysalarm structure.

Parameters
[in]thealarmpointer to the handle to store the created alarm context identifier
Returns
0 on succuess, non-zero on error

◆ SYS_Init()

void SYS_Init ( void  )
Deprecated:
Performs basic system initialization such as EXI init etc. This function is called from within the crt0 startup code.
Returns
none

◆ SYS_RemoveAlarm()

s32 SYS_RemoveAlarm ( syswd_t  thealarm)

Remove the given alarm context from the list of contexts and destroy it.

Parameters
[in]thealarmidentifier to the alarm context to be removed and destroyed
Returns
0 on succuess, non-zero on error