int main(int argc, char* argv[]){ /* INITIALIZE */ #ifdef HW_RVL DI_Init(); // first #endif #ifdef DEBUGON //DEBUG_Init(GDBSTUB_DEVICE_TCP,GDBSTUB_DEF_TCPPORT); //Default port is 2828 DEBUG_Init(GDBSTUB_DEVICE_USB, 1); _break(); #endif Initialise(); // Stock OGC initialization // vmode = VIDEO_GetPreferredMode(NULL); MenuContext *menu = new MenuContext(vmode); VIDEO_SetPostRetraceCallback (ScanPADSandReset); #ifndef WII DVD_Init(); #endif // menuInit(); #ifdef DEBUGON //DEBUG_Init(GDBSTUB_DEVICE_TCP,GDBSTUB_DEF_TCPPORT); //Default port is 2828 // DEBUG_Init(GDBSTUB_DEVICE_USB, 1); // _break(); #endif // Default Settings audioEnabled = 1; // Audio #ifdef RELEASE showFPSonScreen = 0; // Show FPS on Screen #else showFPSonScreen = 1; // Show FPS on Screen #endif printToScreen = 1; // Show DEBUG text on screen printToSD = 0; // Disable SD logging Timers.limitVIs = 0; // Sync to Audio saveEnabled = 0; // Don't save game nativeSaveDevice = 0; // SD saveStateDevice = 0; // SD autoSave = 1; // Auto Save Game creditsScrolling = 0; // Normal menu for now dynacore = 1; // Dynarec screenMode = 0; // Stretch FB horizontally padAutoAssign = PADAUTOASSIGN_AUTOMATIC; padType[0] = PADTYPE_NONE; padType[1] = PADTYPE_NONE; padType[2] = PADTYPE_NONE; padType[3] = PADTYPE_NONE; padAssign[0] = PADASSIGN_INPUT0; padAssign[1] = PADASSIGN_INPUT1; padAssign[2] = PADASSIGN_INPUT2; padAssign[3] = PADASSIGN_INPUT3; pakMode[0] = PAKMODE_MEMPAK; // memPak plugged into controller 1 pakMode[1] = PAKMODE_MEMPAK; pakMode[2] = PAKMODE_MEMPAK; pakMode[3] = PAKMODE_MEMPAK; loadButtonSlot = LOADBUTTON_DEFAULT; #ifdef GLN64_GX // glN64 specific settings glN64_useFrameBufferTextures = 0; // Disable FrameBuffer textures glN64_use2xSaiTextures = 0; // Disable 2xSai textures renderCpuFramebuffer = 0; // Disable CPU Framebuffer Rendering #endif //GLN64_GX menuActive = 1; //config stuff fileBrowser_file* configFile_file; int (*configFile_init)(fileBrowser_file*) = fileBrowser_libfat_init; #ifdef HW_RVL if(argv[0][0] == 'u') { //assume USB configFile_file = &saveDir_libfat_USB; if(configFile_init(configFile_file)) { //only if device initialized ok FILE* f = fopen( "usb:/wii64/settings.cfg", "r" ); //attempt to open file if(f) { //open ok, read it readConfig(f); fclose(f); } f = fopen( "usb:/wii64/controlG.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_GC); //write out GC controller mappings fclose(f); } #ifdef HW_RVL f = fopen( "usb:/wii64/controlC.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Classic); //write out Classic controller mappings fclose(f); } f = fopen( "usb:/wii64/controlN.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_WiimoteNunchuk); //write out WM+NC controller mappings fclose(f); } f = fopen( "usb:/wii64/controlW.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Wiimote); //write out Wiimote controller mappings fclose(f); } #endif //HW_RVL } } else /*if((argv[0][0]=='s') || (argv[0][0]=='/'))*/ #endif { //assume SD configFile_file = &saveDir_libfat_Default; if(configFile_init(configFile_file)) { //only if device initialized ok FILE* f = fopen( "sd:/wii64/settings.cfg", "r" ); //attempt to open file if(f) { //open ok, read it readConfig(f); fclose(f); } f = fopen( "sd:/wii64/controlG.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_GC); //write out GC controller mappings fclose(f); } #ifdef HW_RVL f = fopen( "sd:/wii64/controlC.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Classic); //write out Classic controller mappings fclose(f); } f = fopen( "sd:/wii64/controlN.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_WiimoteNunchuk); //write out WM+NC controller mappings fclose(f); } f = fopen( "sd:/wii64/controlW.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Wiimote); //write out Wiimote controller mappings fclose(f); } #endif //HW_RVL } } #ifdef HW_RVL // Handle options passed in through arguments int i; for(i=1; i<argc; ++i){ handleConfigPair(argv[i]); } #endif while (menu->isRunning()) {} delete menu; return 0; }
JNIEXPORT jobjectArray JNICALL Java_javalibusb1_libusb1_get_1devices (JNIEnv *env, jobject obj, jlong libusb_context_ptr) { struct libusb_context *context = (struct libusb_context *)(POINTER_STORAGE_TYPE)libusb_context_ptr; struct libusb_device **devices; struct libusb_device *device; struct libusb_device_descriptor descriptor; int i; ssize_t size; jobject usbDevice; uint8_t busNumber, deviceAddress; jint speed; jobject usbDeviceDescriptor; int failed = 0; size = usbw_get_device_list(context, &devices); if(size < 0) { throwPlatformExceptionMsgCode(env, size, "libusb_get_device_list(): %s", usbw_error_to_string(size)); return NULL; } jobjectArray usbDevices = (*env)->NewObjectArray(env, size, libusb1UsbDeviceClass, NULL); if(usbDevices == NULL) { return NULL; } for(i = 0; i < size; i++) { device = devices[i]; busNumber = usbw_get_bus_number(device); deviceAddress = usbw_get_device_address(device); if(usbw_get_device_descriptor(device, &descriptor)) { throwPlatformException(env, "libusb_get_device_descriptor()"); failed = 1; break; } usbDeviceDescriptor = (*env)->NewObject(env, defaultUsbDeviceDescriptorClass, defaultUsbDeviceDescriptorConstructor, (jshort) descriptor.bcdUSB, (jbyte) descriptor.bDeviceClass, (jbyte) descriptor.bDeviceSubClass, (jbyte) descriptor.bDeviceProtocol, (jbyte) descriptor.bMaxPacketSize0, (jshort) descriptor.idVendor, (jshort) descriptor.idProduct, (jshort) descriptor.bcdDevice, (jbyte) descriptor.iManufacturer, (jbyte) descriptor.iProduct, (jbyte) descriptor.iSerialNumber, (jbyte) descriptor.bNumConfigurations); if(usbDeviceDescriptor == NULL) { return NULL; } switch (usbw_get_speed(device)) { case LIBUSB_SPEED_LOW: speed = 1; break; case LIBUSB_SPEED_FULL: speed = 2; break; case LIBUSB_SPEED_HIGH: speed = 3; break; default: speed = 0; } jlong device_ptr = (jlong) (POINTER_STORAGE_TYPE) device; usbDevice = (*env)->NewObject(env, libusb1UsbDeviceClass, libusb1UsbDeviceConstructor, device_ptr, busNumber, deviceAddress, speed, usbDeviceDescriptor); if(usbDevice == NULL || (*env)->ExceptionCheck(env)) { return NULL; } int failed = load_configurations(env, device, descriptor.bNumConfigurations, usbDevice, descriptor); // Ignore devices that failed and did *not* throw an exception if((*env)->ExceptionCheck(env)) { failed = 1; break; } if(failed) { continue; } (*env)->SetObjectArrayElement(env, usbDevices, i, usbDevice); if((*env)->ExceptionCheck(env)) { failed = 1; break; } } if(failed) { usbw_free_device_list(devices, 1); usbDevices = NULL; } else { usbw_free_device_list(devices, 0); } return usbDevices; }
void loadSettings(int argc, char *argv[]) { // Default Settings audioEnabled = 1; // Audio volume = VOLUME_MEDIUM; #ifdef RELEASE showFPSonScreen = 0; // Don't show FPS on Screen #else showFPSonScreen = 1; // Show FPS on Screen #endif printToScreen = 1; // Show DEBUG text on screen printToSD = 0; // Disable SD logging frameLimit = 1; // Auto limit FPS frameSkip = 0; // Disable frame skipping iUseDither = 1; // Default dithering saveEnabled = 0; // Don't save game nativeSaveDevice = 0; // SD saveStateDevice = 0; // SD autoSave = 1; // Auto Save Game creditsScrolling = 0; // Normal menu for now dynacore = 0; // Dynarec screenMode = 0; // Stretch FB horizontally videoMode = VIDEOMODE_AUTO; fileSortMode = FILESORT_DIRS_FIRST; padAutoAssign = PADAUTOASSIGN_AUTOMATIC; padType[0] = PADTYPE_NONE; padType[1] = PADTYPE_NONE; padAssign[0] = PADASSIGN_INPUT0; padAssign[1] = PADASSIGN_INPUT1; rumbleEnabled = RUMBLE_ENABLE; loadButtonSlot = LOADBUTTON_DEFAULT; controllerType = CONTROLLERTYPE_STANDARD; numMultitaps = MULTITAPS_NONE; menuActive = 1; //PCSX-specific defaults memset(&Config, 0, sizeof(PcsxConfig)); Config.Cpu=dynacore; //Dynarec core strcpy(Config.Net,"Disabled"); Config.PsxOut = 1; Config.HLE = 1; Config.Xa = 0; //XA enabled Config.Cdda = 1; //CDDA disabled iVolume = volume; //Volume="medium" in PEOPSspu Config.PsxAuto = 1; //Autodetect LoadCdBios = BOOTTHRUBIOS_NO; //config stuff fileBrowser_file* configFile_file; int (*configFile_init)(fileBrowser_file*) = fileBrowser_libfat_init; #ifdef HW_RVL if(argv[0][0] == 'u') { //assume USB configFile_file = &saveDir_libfat_USB; if(configFile_init(configFile_file)) { //only if device initialized ok FILE* f = fopen( "usb:/wiisx/settings.cfg", "r" ); //attempt to open file if(f) { //open ok, read it readConfig(f); fclose(f); } f = fopen( "usb:/wiisx/controlG.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_GC); //read in GC controller mappings fclose(f); } #ifdef HW_RVL f = fopen( "usb:/wiisx/controlC.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Classic); //read in Classic controller mappings fclose(f); } f = fopen( "usb:/wiisx/controlN.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_WiimoteNunchuk); //read in WM+NC controller mappings fclose(f); } f = fopen( "usb:/wiisx/controlW.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Wiimote); //read in Wiimote controller mappings fclose(f); } #endif //HW_RVL } } else /*if((argv[0][0]=='s') || (argv[0][0]=='/'))*/ #endif //HW_RVL { //assume SD configFile_file = &saveDir_libfat_Default; if(configFile_init(configFile_file)) { //only if device initialized ok FILE* f = fopen( "sd:/wiisx/settings.cfg", "r" ); //attempt to open file if(f) { //open ok, read it readConfig(f); fclose(f); } f = fopen( "sd:/wiisx/controlG.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_GC); //read in GC controller mappings fclose(f); } #ifdef HW_RVL f = fopen( "sd:/wiisx/controlC.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Classic); //read in Classic controller mappings fclose(f); } f = fopen( "sd:/wiisx/controlN.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_WiimoteNunchuk); //read in WM+NC controller mappings fclose(f); } f = fopen( "sd:/wiisx/controlW.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Wiimote); //read in Wiimote controller mappings fclose(f); } #endif //HW_RVL } } #ifdef HW_RVL // Handle options passed in through arguments int i; for(i=1; i<argc; ++i){ handleConfigPair(argv[i]); } #endif //Test for Bios file if(biosDevice != BIOSDEVICE_HLE) if(checkBiosExists((int)biosDevice) == FILE_BROWSER_ERROR_NO_FILE) biosDevice = BIOSDEVICE_HLE; //Synch settings with Config Config.Cpu=dynacore; iVolume = volume; }
int main(int argc, char* argv[]){ /* INITIALIZE */ #ifdef DEBUGON //DEBUG_Init(GDBSTUB_DEVICE_TCP,GDBSTUB_DEF_TCPPORT); //Default port is 2828 DEBUG_Init(GDBSTUB_DEVICE_USB, 1); _break(); #endif Initialise(); // Stock OGC initialization // vmode = VIDEO_GetPreferredMode(NULL); #ifndef WII DVD_Init(); #endif // menuInit(); #ifdef DEBUGON //DEBUG_Init(GDBSTUB_DEVICE_TCP,GDBSTUB_DEF_TCPPORT); //Default port is 2828 // DEBUG_Init(GDBSTUB_DEVICE_USB, 1); // _break(); #endif // Default Settings audioEnabled = 1; // Audio scalePitch = 1; #ifdef RELEASE showFPSonScreen = 0; // Show FPS on Screen #else showFPSonScreen = 1; // Show FPS on Screen #endif printToScreen = 1; // Show DEBUG text on screen printToSD = 0; // Disable SD logging Timers.limitVIs = 1; autoSave = 1; // Auto Save Game dynacore = 1; // Dynarec #ifndef HW_RVL screenMode = 0; // Stretch FB horizontally #else screenMode = CONF_GetAspectRatio() == CONF_ASPECT_16_9 ? SCREENMODE_16x9_PILLARBOX : SCREENMODE_4x3; #endif videoMode = VIDEOMODE_AUTO; trapFilter = TRAPFILTER_DISABLE; padAutoAssign = PADAUTOASSIGN_AUTOMATIC; padType[0] = PADTYPE_NONE; padType[1] = PADTYPE_NONE; padType[2] = PADTYPE_NONE; padType[3] = PADTYPE_NONE; padAssign[0] = PADASSIGN_INPUT0; padAssign[1] = PADASSIGN_INPUT1; padAssign[2] = PADASSIGN_INPUT2; padAssign[3] = PADASSIGN_INPUT3; pakMode[0] = PAKMODE_MEMPAK; // memPak plugged into controller 1 pakMode[1] = PAKMODE_MEMPAK; pakMode[2] = PAKMODE_MEMPAK; pakMode[3] = PAKMODE_MEMPAK; loadButtonSlot = LOADBUTTON_DEFAULT; #ifdef GLN64_GX // glN64 specific settings glN64_useFrameBufferTextures = 0; // Disable FrameBuffer textures glN64_use2xSaiTextures = 0; // Disable 2xSai textures renderCpuFramebuffer = 0; // Disable CPU Framebuffer Rendering #endif //GLN64_GX menuActive = 1; //config stuff fileBrowser_file* configFile_file; int (*configFile_init)(fileBrowser_file*) = fileBrowser_libfat_init; #ifdef HW_RVL if(argc > 0 && argv[0][0] == 'u') { //assume USB nativeSaveDevice = NATIVESAVEDEVICE_USB; saveStateDevice = SAVESTATEDEVICE_USB; configFile_file = &saveDir_libfat_USB; if(configFile_init(configFile_file)) { //only if device initialized ok FILE* f = fopen( "usb:/not64/settings.cfg", "r" ); //attempt to open file if(f) { //open ok, read it readConfig(f); fclose(f); } f = fopen( "usb:/not64/controlG.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_GC); //write out GC controller mappings fclose(f); } #ifdef HW_RVL f = fopen( "usb:/not64/controlC.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Classic); //write out Classic controller mappings fclose(f); } f = fopen( "usb:/not64/controlN.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_WiimoteNunchuk); //write out WM+NC controller mappings fclose(f); } f = fopen( "usb:/not64/controlW.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Wiimote); //write out Wiimote controller mappings fclose(f); } #endif //HW_RVL } } else /*if((argv[0][0]=='s') || (argv[0][0]=='/'))*/ #endif { //assume SD nativeSaveDevice = NATIVESAVEDEVICE_SD; saveStateDevice = SAVESTATEDEVICE_SD; configFile_file = &saveDir_libfat_Default; if(configFile_init(configFile_file)) { //only if device initialized ok FILE* f = fopen( "sd:/not64/settings.cfg", "r" ); //attempt to open file if(f) { //open ok, read it readConfig(f); fclose(f); } f = fopen( "sd:/not64/controlG.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_GC); //write out GC controller mappings fclose(f); } #ifdef HW_RVL f = fopen( "sd:/not64/controlC.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Classic); //write out Classic controller mappings fclose(f); } f = fopen( "sd:/not64/controlN.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_WiimoteNunchuk); //write out WM+NC controller mappings fclose(f); } f = fopen( "sd:/not64/controlW.cfg", "r" ); //attempt to open file if(f) { load_configurations(f, &controller_Wiimote); //write out Wiimote controller mappings fclose(f); } #endif //HW_RVL } } // Handle options passed in through arguments int i; for(i=1; i<argc; ++i){ handleConfigPair(argv[i]); } MenuContext *menu = new MenuContext(vmode); // Initialize the network if the user has specified something in their SMB settings if(strlen(&smbShareName[0]) && strlen(&smbIpAddr[0])) { init_network_thread(); } while (menu->isRunning()) {} delete menu; return 0; }