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 $Log: sc.h,v $ 14 Revision 1.6 08/08/2006 12:42:00 kawaset 15 Added SCGetWpadMotorMode, SCGetWpadSensorBarPosition, SCGetWpadSpeakerVolume, SCSetWpadMotorMode, SCSetWpadSensorBarPosition, and SCSetWpadSpeakerVolume. 16 Deleted SCEmuSetAspectRatio and SCEmuSetLanguage. 17 18 Revision 1.5 06/01/2006 11:08:35 kawaset 19 Deleted timezone. 20 21 Revision 1.4 05/26/2006 12:39:58 kawaset 22 Full model change. 23 24 Revision 1.3 02/09/2006 07:26:43 kawaset 25 Changed defines. 26 27 Revision 1.2 02/09/2006 01:59:32 kawaset 28 Changed SCTimeZoneInfo. 29 30 Revision 1.1 02/03/2006 12:57:04 kawaset 31 Initial check-in. 32 33 34 $NoKeywords: $ 35 *---------------------------------------------------------------------------*/ 36 37 #ifndef __SC_H__ 38 #define __SC_H__ 39 40 #include <revolution/types.h> 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 extern void SCInit(void); 47 48 #define SC_STATUS_OK 0 49 #define SC_STATUS_BUSY 1 50 #define SC_STATUS_ERROR 2 51 #define SC_STATUS_INTERNAL3 3 // not returned by SCCheckStatus() 52 53 extern u32 SCCheckStatus(void); 54 55 typedef void (*SCFlushCallback)(u32 result); 56 57 extern u32 SCFlush(void); 58 extern void SCFlushAsync(SCFlushCallback callback); 59 60 #define SC_SOUND_MODE_MONO 0u 61 #define SC_SOUND_MODE_STEREO 1u 62 #define SC_SOUND_MODE_SURROUND 2u 63 #define SC_SOUND_MODE_DEFAULT SC_SOUND_MODE_STEREO 64 65 extern u8 SCGetSoundMode(void); 66 extern BOOL SCSetSoundMode(u8 mode); 67 68 #define SC_LANG_JAPANESE 0u 69 #define SC_LANG_ENGLISH 1u 70 #define SC_LANG_GERMAN 2u 71 #define SC_LANG_FRENCH 3u 72 #define SC_LANG_SPANISH 4u 73 #define SC_LANG_ITALIAN 5u 74 #define SC_LANG_DUTCH 6u 75 76 extern u8 SCGetLanguage(void); 77 78 #define SC_ASPECT_RATIO_4x3 0u 79 #define SC_ASPECT_RATIO_16x9 1u 80 #define SC_ASPECT_RATIO_DEFAULT SC_ASPECT_RATIO_4x3 81 82 extern u8 SCGetAspectRatio(void); 83 84 #define SC_PROGRESSIVE_MODE_OFF 0u 85 #define SC_PROGRESSIVE_MODE_ON 1u 86 #define SC_PROGRESSIVE_MODE_DEFAULT SC_PROGRESSIVE_MODE_OFF 87 88 extern u8 SCGetProgressiveMode(void); 89 extern BOOL SCSetProgressiveMode(u8 mode); 90 91 #define SC_EURGB60_MODE_OFF 0u 92 #define SC_EURGB60_MODE_ON 1u 93 #define SC_EURGB60_MODE_DEFAULT SC_EURGB60_MODE_OFF // temporary 94 95 extern u8 SCGetEuRgb60Mode(void); 96 extern BOOL SCSetEuRgb60Mode(u8 mode); 97 98 #define SC_WPAD_MOTOR_MODE_OFF 0u 99 #define SC_WPAD_MOTOR_MODE_ON 1u 100 #define SC_WPAD_MOTOR_MODE_DEFAULT SC_WPAD_MOTOR_MODE_ON 101 102 extern u8 SCGetWpadMotorMode(void); 103 extern BOOL SCSetWpadMotorMode(u8 mode); 104 105 #define SC_WPAD_SENSOR_BAR_POSITION_LOWER 0u 106 #define SC_WPAD_SENSOR_BAR_POSITION_UPPER 1u 107 #define SC_WPAD_SENSOR_BAR_POSITION_DEFAULT SC_WPAD_SENSOR_BAR_POSITION_LOWER 108 109 extern u8 SCGetWpadSensorBarPosition(void); 110 extern BOOL SCSetWpadSensorBarPosition(u8 position); 111 112 #define SC_WPAD_SPEAKER_VOLUME_MIN 0u 113 #define SC_WPAD_SPEAKER_VOLUME_MAX 127u 114 #define SC_WPAD_SPEAKER_VOLUME_DEFAULT SC_WPAD_SPEAKER_VOLUME_MAX 115 116 extern u8 SCGetWpadSpeakerVolume(void); 117 extern BOOL SCSetWpadSpeakerVolume(u8 volume); 118 119 ////////////////////////////////////////////////////////////////////// 120 // Emulated API (OBSOLETE; they do nothing and return FALSE) 121 ////////////////////////////////////////////////////////////////////// 122 123 extern BOOL SCEmuSetAspectRatio(u8 ratio); 124 extern BOOL SCEmuSetLanguage(u8 language); 125 126 #ifdef __cplusplus 127 } 128 #endif 129 130 #endif // __SC_H__ 131