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); // for compatibility 34 35 #define SC_SOUND_MODE_MONO 0u 36 #define SC_SOUND_MODE_STEREO 1u 37 #define SC_SOUND_MODE_SURROUND 2u 38 #define SC_SOUND_MODE_DEFAULT SC_SOUND_MODE_STEREO 39 40 extern u8 SCGetSoundMode(void); 41 42 #define SC_LANG_JAPANESE 0u 43 #define SC_LANG_ENGLISH 1u 44 #define SC_LANG_GERMAN 2u 45 #define SC_LANG_FRENCH 3u 46 #define SC_LANG_SPANISH 4u 47 #define SC_LANG_ITALIAN 5u 48 #define SC_LANG_DUTCH 6u 49 #define SC_LANG_SIMP_CHINESE 7u 50 #define SC_LANG_TRAD_CHINESE 8u 51 #define SC_LANG_KOREAN 9u 52 53 extern u8 SCGetLanguage(void); 54 55 #define SC_ASPECT_RATIO_4x3 0u 56 #define SC_ASPECT_RATIO_16x9 1u 57 #define SC_ASPECT_RATIO_DEFAULT SC_ASPECT_RATIO_4x3 58 59 extern u8 SCGetAspectRatio(void); 60 61 #define SC_PROGRESSIVE_MODE_OFF 0u 62 #define SC_PROGRESSIVE_MODE_ON 1u 63 #define SC_PROGRESSIVE_MODE_DEFAULT SC_PROGRESSIVE_MODE_OFF 64 65 extern u8 SCGetProgressiveMode(void); 66 67 #define SC_EURGB60_MODE_OFF 0u 68 #define SC_EURGB60_MODE_ON 1u 69 #define SC_EURGB60_MODE_DEFAULT SC_EURGB60_MODE_OFF // temporary 70 71 extern u8 SCGetEuRgb60Mode(void); 72 73 extern BOOL SCCheckPCMessageRestriction(void); 74 extern BOOL SCCheckPCShoppingRestriction(void); 75 extern BOOL SCCheckPCPassword(const char *password); 76 77 #define SC_OWNER_NICKNAME_LENGTH_MAX 10 78 typedef struct { 79 u16 name[SC_OWNER_NICKNAME_LENGTH_MAX]; // not zero-terminated 80 u16 length; 81 } SCOwnerNickNameInfo; 82 83 extern BOOL SCGetOwnerNickName(SCOwnerNickNameInfo *info); 84 85 extern BOOL SCGetMplsMoviePlay(void); 86 87 ////////////////////////////////////////////////////////////////////// 88 // Emulated API (OBSOLETE; they do nothing and return FALSE) 89 ////////////////////////////////////////////////////////////////////// 90 91 extern BOOL SCEmuSetAspectRatio(u8 ratio); 92 extern BOOL SCEmuSetLanguage(u8 language); 93 94 #ifdef __cplusplus 95 } 96 #endif 97 98 #endif // __SC_H__ 99