1 /*---------------------------------------------------------------------------* 2 Project: TwlSDK - tools - loadrun 3 File: isd_api.h 4 5 Copyright 2005-2008 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 $Date:: 2008-09-18#$ 14 $Rev: 8573 $ 15 $Author: okubata_ryoma $ 16 *---------------------------------------------------------------------------*/ 17 #ifndef NITRO_LOADRUN_ISD_API_H_ 18 #define NITRO_LOADRUN_ISD_API_H_ 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 #if 0 25 extern NITROTOOLAPI_FINDOPEN NITROToolAPIFindOpen; 26 extern NITROTOOLAPI_FINDNEXT NITROToolAPIFindNext; 27 extern NITROTOOLAPI_FINDCLOSE NITROToolAPIFindClose; 28 extern NITROTOOLAPI_DEVSELECTOR NITROToolAPISelector; 29 30 extern NITROTOOLAPI_OPEN NITROToolAPIDeviceOpen; 31 extern NITROTOOLAPI_CHECKCONNECT NITROToolAPICheckConnect; 32 extern NITROTOOLAPI_CLOSE NITROToolAPIDeviceClose; 33 34 extern NITROTOOLAPI_RESET NITROToolAPIReset; 35 extern NITROTOOLAPI_READROM NITROToolAPIReadROM; 36 extern NITROTOOLAPI_WRITEROM NITROToolAPIWriteROM; 37 extern NITROTOOLAPI_SYNCWRITE NITROToolAPISyncWriteROM; 38 extern NITROTOOLAPI_SYNCREAD NITROToolAPISyncReadROM; 39 extern NITROTOOLAPI_ROMSIZE NITROToolAPIGetROMSize; 40 extern NITROTOOLAPI_SETSYNCTIMEOUT NITROToolAPISetSyncTimeout; 41 extern NITROTOOLAPI_CHECKPOWER NITROToolAPIGetPowerStatus; 42 extern NITROTOOLAPI_CARDSLOTPOWER NITROToolAPICardSlotPower; 43 extern NITROTOOLAPI_CARTRIDGESLOTPOWER NITROToolAPICartridgeSlotPower; 44 45 // Stream base data transmission 46 extern NITROTOOLAPI_STREAMWRITE NITROToolAPIStreamWrite; 47 extern NITROTOOLAPI_STREAMGETWRITABLELEN NITROToolAPIStreamGetWritableLength; 48 extern NITROTOOLAPI_STREAMSETCB NITROToolAPISetReceiveStreamCallBackFunction; 49 extern NITROTOOLAPI_STREAMCHKRECV NITROToolAPICheckStreamReceive; 50 51 // For getting debug print 52 extern NITROTOOLAPI_GETDEBUGPRINT NITROToolAPIGetDebugPrint; 53 54 // For getting errors 55 extern NITROTOOLAPI_GETLASTERROR NITROToolAPIGetLastError; 56 extern NITROTOOLAPI_GETERRORMESSAGE NITROToolAPIGetErrorMessage; 57 #endif 58 59 // Public functions 60 extern NITROTOOLAPI_FINDOPEN ISNTD_FindOpen; 61 extern NITROTOOLAPI_FINDNEXT ISNTD_FindNext; 62 extern NITROTOOLAPI_FINDCLOSE ISNTD_FindClose; 63 extern NITROTOOLAPI_DEVSELECTOR ISNTD_Selector; 64 extern NITROTOOLAPI_OPEN ISNTD_DeviceOpen; 65 extern NITROTOOLAPI_CHECKCONNECT ISNTD_CheckConnect; 66 extern NITROTOOLAPI_CLOSE ISNTD_DeviceClose; 67 extern NITROTOOLAPI_WRITEROM ISNTD_WriteROM; 68 extern NITROTOOLAPI_READROM ISNTD_ReadROM; 69 extern NITROTOOLAPI_RESET ISNTD_Reset; 70 extern NITROTOOLAPI_SYNCWRITE ISNTD_SyncWriteROM; 71 extern NITROTOOLAPI_SYNCREAD ISNTD_SyncReadROM; 72 extern NITROTOOLAPI_STREAMWRITE ISNTD_StreamWrite; 73 extern NITROTOOLAPI_STREAMGETWRITABLELEN ISNTD_StreamGetWritableLength; 74 extern NITROTOOLAPI_STREAMSETCB ISNTD_SetReceiveStreamCallBackFunction; 75 extern NITROTOOLAPI_STREAMCHKRECV ISNTD_StreamCheckStreamReceive; 76 extern NITROTOOLAPI_SETSYNCTIMEOUT ISNTD_SetSyncTimeOut; 77 extern NITROTOOLAPI_GETDEBUGPRINT ISNTD_GetDebugPrint; 78 extern NITROTOOLAPI_ROMSIZE ISNTD_GetROMSize; 79 extern NITROTOOLAPI_CHECKPOWER ISNTD_GetPowerStatus; 80 extern NITROTOOLAPI_CARDSLOTPOWER ISNTD_CardSlotPower; 81 extern NITROTOOLAPI_CARTRIDGESLOTPOWER ISNTD_CartridgeSlotPower; 82 extern NITROTOOLAPI_GETLASTERROR ISNTD_GetLastError; 83 extern NITROTOOLAPI_GETERRORMESSAGE ISNTD_GetLastErrorMessage; 84 85 86 //---- Device type 87 #define ISNTD_DEVICE_NONE 0 88 #define ISNTD_DEVICE_CGB_EMULATOR_USB 1 89 #define ISNTD_DEVICE_CGB_EMULATOR_SCSI 2 90 #define ISNTD_DEVICE_IS_NITRO_EMULATOR 3 91 #define ISNTD_DEVICE_IS_NITRO_UIC 4 92 #define ISNTD_DEVICE_UNKNOWN 5 93 94 typedef struct ISNTDDevice ISNTDDevice; 95 struct ISNTDDevice 96 { 97 NITRODEVICEID ntdId; 98 int type; 99 int host; 100 int serial; 101 }; 102 103 104 /*---------------------------------------------------------------------------* 105 Name: ISNTD_InitDll 106 107 Description: Initializes DLL. 108 109 Arguments: None. 110 111 Returns: TRUE if success 112 *---------------------------------------------------------------------------*/ 113 extern BOOL ISNTD_InitDll(void); 114 115 /*---------------------------------------------------------------------------* 116 Name: ISNTD_FreeDll 117 118 Description: Frees DLL module. 119 120 Arguments: None. 121 122 Returns: TRUE if success 123 *---------------------------------------------------------------------------*/ 124 extern BOOL ISNTD_FreeDll(void); 125 126 127 /*---------------------------------------------------------------------------* 128 Name: ISNTD_GetDeviceList 129 130 Description: Gets connecting device list. 131 132 Arguments: deviceList: Pointer of list 133 deviceMax: Max number of list 134 135 Returns: -1 if FAIL 136 >=0 value is num of device that is connected 137 *---------------------------------------------------------------------------*/ 138 extern int ISNTD_GetDeviceList(ISNTDDevice * deviceList, int deviceMax); 139 140 141 #ifdef __cplusplus 142 } /* extern "C" */ 143 #endif 144 145 /* NITRO_LOADRUN_ISD_API_H_ */ 146 #endif 147