void retro_init (void) { struct retro_log_callback log; if (environ_cb(RETRO_ENVIRONMENT_GET_LOG_INTERFACE, &log)) log_cb = log.log; else log_cb = NULL; colorMode = RETRO_PIXEL_FORMAT_RGB565; if(!environ_cb(RETRO_ENVIRONMENT_SET_PIXEL_FORMAT, &colorMode)) return; check_variables(true); // Init DeSmuME struct NDS_fw_config_data fw_config; NDS_FillDefaultFirmwareConfigData(&fw_config); fw_config.language = firmwareLanguage; //addonsChangePak(NDS_ADDON_NONE); NDS_Init(); SPU_ChangeSoundCore(0, 735 * 2); NDS_CreateDummyFirmware(&fw_config); Change3DCoreWithFallback(GPU3D_SWRAST); backup_setManualBackupType(MC_TYPE_AUTODETECT); msgbox = &msgBoxWnd; check_system_specs(); }
void EMU_init() { //oglrender_init = android_opengl_init; path.ReadPathSettings(); if (video.layout > 2) { video.layout = video.layout_old = 0; } EMU_loadSettings(); Desmume_InitOnce(); //gpu_SetRotateScreen(video.rotation); NDS_FillDefaultFirmwareConfigData(&fw_config); //Hud.reset(); INFO("Init NDS"); /* switch (slot1_device_type) { case NDS_SLOT1_NONE: case NDS_SLOT1_RETAIL: case NDS_SLOT1_R4: case NDS_SLOT1_RETAIL_NAND: break; default: slot1_device_type = NDS_SLOT1_RETAIL; break; } */ switch (addon_type) { case NDS_ADDON_NONE: break; case NDS_ADDON_CFLASH: break; case NDS_ADDON_RUMBLEPAK: break; case NDS_ADDON_GBAGAME: if (!strlen(GBAgameName)) { addon_type = NDS_ADDON_NONE; break; } // TODO: check for file exist break; case NDS_ADDON_GUITARGRIP: break; case NDS_ADDON_EXPMEMORY: break; case NDS_ADDON_PIANO: break; case NDS_ADDON_PADDLE: break; default: addon_type = NDS_ADDON_NONE; break; } //!slot1Change((NDS_SLOT1_TYPE)slot1_device_type); addonsChangePak(addon_type); NDS_Init(); //osd->singleScreen = true; cur3DCore = 1; NDS_3D_ChangeCore(cur3DCore); //OpenGL LOG("Init sound core\n"); SPU_ChangeSoundCore(SNDCORE_COREAUDIO, DESMUME_SAMPLE_RATE*8/60); static const char* nickname = "emozilla"; fw_config.nickname_len = strlen(nickname); for(int i = 0 ; i < fw_config.nickname_len ; ++i) fw_config.nickname[i] = nickname[i]; static const char* message = "nds4ios makes you happy!"; fw_config.message_len = strlen(message); for(int i = 0 ; i < fw_config.message_len ; ++i) fw_config.message[i] = message[i]; fw_config.language = 1; video.setfilter(video.NONE); NDS_CreateDummyFirmware(&fw_config); InitSpeedThrottle(); mainLoopData.freq = 1000; mainLoopData.lastticks = GetTickCount(); }
void EMU_init(int lang) { //oglrender_init = android_opengl_init; path.ReadPathSettings(); if (video.layout > 2) { video.layout = video.layout_old = 0; } EMU_loadSettings(); Desmume_InitOnce(); //gpu_SetRotateScreen(video.rotation); NDS_FillDefaultFirmwareConfigData(&fw_config); //Hud.reset(); INFO("Init NDS"); /* switch (slot1_device_type) { case NDS_SLOT1_NONE: case NDS_SLOT1_RETAIL: case NDS_SLOT1_R4: case NDS_SLOT1_RETAIL_NAND: break; default: slot1_device_type = NDS_SLOT1_RETAIL; break; } */ switch (addon_type) { case NDS_ADDON_NONE: break; case NDS_ADDON_CFLASH: break; case NDS_ADDON_RUMBLEPAK: break; case NDS_ADDON_GBAGAME: if (!strlen(GBAgameName)) { addon_type = NDS_ADDON_NONE; break; } // TODO: check for file exist break; case NDS_ADDON_GUITARGRIP: break; case NDS_ADDON_EXPMEMORY: break; case NDS_ADDON_PIANO: break; case NDS_ADDON_PADDLE: break; default: addon_type = NDS_ADDON_NONE; break; } //!slot1Change((NDS_SLOT1_TYPE)slot1_device_type); addonsChangePak(addon_type); NDS_Init(); //osd->singleScreen = true; cur3DCore = 1; NDS_3D_ChangeCore(cur3DCore); //OpenGL LOG("Init sound core\n"); SPU_ChangeSoundCore(SNDCORE_COREAUDIO, DESMUME_SAMPLE_RATE*8/60); static const char* nickname = "iNDS"; //TODO: Add firmware cfg in settings fw_config.nickname_len = strlen(nickname); for(int i = 0 ; i < fw_config.nickname_len ; ++i) fw_config.nickname[i] = nickname[i]; static const char* message = "iNDS is the best!"; fw_config.message_len = strlen(message); for(int i = 0 ; i < fw_config.message_len ; ++i) fw_config.message[i] = message[i]; fw_config.language = lang < 0 ? NDS_FW_LANG_ENG : lang; fw_config.fav_colour = 15; fw_config.birth_month = 2; fw_config.birth_day = 17; fw_config.ds_type = NDS_CONSOLE_TYPE_LITE; video.setfilter(video.NONE); //figure out why this doesn't seem to work (also add to cfg) NDS_CreateDummyFirmware(&fw_config); InitSpeedThrottle(); mainLoopData.freq = 1000; mainLoopData.lastticks = GetTickCount(); }
BOOL CALLBACK FirmConfig_Proc(HWND dialog,UINT komunikat,WPARAM wparam,LPARAM lparam) { struct NDS_fw_config_data *fw_config = &win_fw_config; int i; char temp_str[27]; switch(komunikat) { case WM_INITDIALOG: for(i=0;i<6;i++) SendDlgItemMessage(dialog,IDC_COMBO4,CB_ADDSTRING,0,(LPARAM)&firmLang[i]); for(i=0;i<12;i++) SendDlgItemMessage(dialog,IDC_COMBO2,CB_ADDSTRING,0,(LPARAM)&firmMonth[i]); for(i=0;i<16;i++) SendDlgItemMessage(dialog,IDC_COMBO1,CB_ADDSTRING,0,(LPARAM)&firmColor[i]); for(i=0;i<31;i++) SendDlgItemMessage(dialog,IDC_COMBO3,CB_ADDSTRING,0,(LPARAM)&firmDay[i]); SendDlgItemMessage(dialog,IDC_COMBO1,CB_SETCURSEL,fw_config->fav_colour,0); SendDlgItemMessage(dialog,IDC_COMBO2,CB_SETCURSEL,fw_config->birth_month-1,0); SendDlgItemMessage(dialog,IDC_COMBO3,CB_SETCURSEL,fw_config->birth_day-1,0); SendDlgItemMessage(dialog,IDC_COMBO4,CB_SETCURSEL,fw_config->language,0); SendDlgItemMessage(dialog,IDC_EDIT1,EM_SETLIMITTEXT,10,0); SendDlgItemMessage(dialog,IDC_EDIT2,EM_SETLIMITTEXT,26,0); SendDlgItemMessage(dialog,IDC_EDIT1,EM_SETSEL,0,10); SendDlgItemMessage(dialog,IDC_EDIT2,EM_SETSEL,0,26); for ( i = 0; i < fw_config->nickname_len; i++) { nickname_buffer[i] = fw_config->nickname[i]; } nickname_buffer[i] = '\0'; SendDlgItemMessage(dialog,IDC_EDIT1,WM_SETTEXT,0,(LPARAM)nickname_buffer); for ( i = 0; i < fw_config->message_len; i++) { message_buffer[i] = fw_config->message[i]; } message_buffer[i] = '\0'; SendDlgItemMessage(dialog,IDC_EDIT2,WM_SETTEXT,0,(LPARAM)message_buffer); break; case WM_COMMAND: if((HIWORD(wparam)==BN_CLICKED)&&(((int)LOWORD(wparam))==IDOK)) { int char_index; LRESULT res; fw_config->fav_colour = SendDlgItemMessage(dialog,IDC_COMBO1,CB_GETCURSEL,0,0); fw_config->birth_month = 1 + SendDlgItemMessage(dialog,IDC_COMBO2,CB_GETCURSEL,0,0); fw_config->birth_day = 1 + SendDlgItemMessage(dialog,IDC_COMBO3,CB_GETCURSEL,0,0); fw_config->language = SendDlgItemMessage(dialog,IDC_COMBO4,CB_GETCURSEL,0,0); *(WORD *)temp_str = 10; res = SendDlgItemMessage(dialog,IDC_EDIT1,EM_GETLINE,0,(LPARAM)temp_str); if ( res > 0) { temp_str[res] = '\0'; fw_config->nickname_len = strlen( temp_str); } else { strcpy( temp_str, "yopyop"); fw_config->nickname_len = strlen( temp_str); } for ( char_index = 0; char_index < fw_config->nickname_len; char_index++) { fw_config->nickname[char_index] = temp_str[char_index]; } *(WORD *)temp_str = 26; res = SendDlgItemMessage(dialog,IDC_EDIT2,EM_GETLINE,0,(LPARAM)temp_str); if ( res > 0) { temp_str[res] = '\0'; fw_config->message_len = strlen( temp_str); } else { fw_config->message_len = 0; } for ( char_index = 0; char_index < fw_config->message_len; char_index++) { fw_config->message[char_index] = temp_str[char_index]; } WriteFirmConfig( fw_config); EndDialog(dialog,0); NDS_CreateDummyFirmware( fw_config); return 1; } else if((HIWORD(wparam)==BN_CLICKED)&&(((int)LOWORD(wparam))==IDCANCEL)) { EndDialog(dialog, 0); return 0; } break; } return 0; }