1 /*---------------------------------------------------------------------------* 2 Project: SC library 3 File: sc.h 4 5 Copyright 2006 Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $NoKeywords: $ 14 *---------------------------------------------------------------------------*/ 15 16 #ifndef __SC_H__ 17 #define __SC_H__ 18 19 #include <revolution/types.h> 20 #include <revolution/sc/SCRegIdHi.h> 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 extern void SCInit(void); 27 28 #define SC_STATUS_OK 0 29 #define SC_STATUS_BUSY 1 30 #define SC_STATUS_ERROR 2 31 #define SC_STATUS_INTERNAL3 3 // not returned by SCCheckStatus() 32 33 extern u32 SCCheckStatus(void); 34 35 typedef void (*SCFlushCallback)(u32 result); 36 37 extern u32 SCFlush(void); 38 extern void SCFlushAsync(SCFlushCallback callback); 39 40 #define SC_SOUND_MODE_MONO 0u 41 #define SC_SOUND_MODE_STEREO 1u 42 #define SC_SOUND_MODE_SURROUND 2u 43 #define SC_SOUND_MODE_DEFAULT SC_SOUND_MODE_STEREO 44 45 extern u8 SCGetSoundMode(void); 46 47 #define SC_LANG_JAPANESE 0u 48 #define SC_LANG_ENGLISH 1u 49 #define SC_LANG_GERMAN 2u 50 #define SC_LANG_FRENCH 3u 51 #define SC_LANG_SPANISH 4u 52 #define SC_LANG_ITALIAN 5u 53 #define SC_LANG_DUTCH 6u 54 #define SC_LANG_SIMP_CHINESE 7u 55 #define SC_LANG_TRAD_CHINESE 8u 56 #define SC_LANG_KOREAN 9u 57 58 extern u8 SCGetLanguage(void); 59 60 #define SC_ASPECT_RATIO_4x3 0u 61 #define SC_ASPECT_RATIO_16x9 1u 62 #define SC_ASPECT_RATIO_DEFAULT SC_ASPECT_RATIO_4x3 63 64 extern u8 SCGetAspectRatio(void); 65 66 #define SC_PROGRESSIVE_MODE_OFF 0u 67 #define SC_PROGRESSIVE_MODE_ON 1u 68 #define SC_PROGRESSIVE_MODE_DEFAULT SC_PROGRESSIVE_MODE_OFF 69 70 extern u8 SCGetProgressiveMode(void); 71 72 #define SC_EURGB60_MODE_OFF 0u 73 #define SC_EURGB60_MODE_ON 1u 74 #define SC_EURGB60_MODE_DEFAULT SC_EURGB60_MODE_OFF // temporary 75 76 extern u8 SCGetEuRgb60Mode(void); 77 78 extern BOOL SCCheckPCMessageRestriction(void); 79 extern BOOL SCCheckPCShoppingRestriction(void); 80 extern BOOL SCCheckPCPassword(char *password); 81 82 #define SC_OWNER_NICKNAME_LENGTH_MAX 10 83 typedef struct { 84 u16 name[SC_OWNER_NICKNAME_LENGTH_MAX]; // not zero-terminated 85 u16 length; 86 } SCOwnerNickNameInfo; 87 88 extern BOOL SCGetOwnerNickName(SCOwnerNickNameInfo *info); 89 90 ////////////////////////////////////////////////////////////////////// 91 // Emulated API (OBSOLETE; they do nothing and return FALSE) 92 ////////////////////////////////////////////////////////////////////// 93 94 extern BOOL SCEmuSetAspectRatio(u8 ratio); 95 extern BOOL SCEmuSetLanguage(u8 language); 96 97 #ifdef __cplusplus 98 } 99 #endif 100 101 #endif // __SC_H__ 102