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

OS functions and initialization. More...

#include <stdarg.h>
#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(* DietPrintFn) (const char *buf, size_t size)
 Printing callback used by dietPrint. More...
 
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 dietPrintV (const char *fmt, va_list va) __attribute__((format(printf
 Prints the specified formatted text (works like vprintf).
 
void void kprintf (const char *str,...) __attribute__((format(printf
 Prints the specified formatted text (works like printf).
 
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

◆ DietPrintFn

typedef void(* DietPrintFn) (const char *buf, size_t size)

Printing callback used by dietPrint.

Note
The incoming buf may be NULL, in which case the callback is expected to output the number of space characters given by size.

◆ 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