static void leftSuperThrottle(void) { if (nowSuperThrottle) { nowSuperThrottle=0; getChanges(); check_prefs_changed_cpu(); check_prefs_changed_audio(); check_prefs_changed_custom(); } }
extern "C" void JAVA_EXPORT_NAME(DemoActivity_loadState) ( JNIEnv* env, jobject thiz, jstring filename, jint num) { // shagrath : don't ask int hackEnableSound = 0; if (!produce_sound) { changed_produce_sound = 1; check_prefs_changed_audio(); hackEnableSound = 1; } // const char *srom = (env)->GetStringUTFChars(filename, 0); strcpy(savestate_filename, srom); switch(num) { case 1: strcat(savestate_filename,"-1.asf"); case 2: strcat(savestate_filename,"-2.asf"); case 3: strcat(savestate_filename,"-3.asf"); default: strcat(savestate_filename,".asf"); } (env)->ReleaseStringUTFChars(filename, srom); savestate_state = STATE_DORESTORE; __android_log_print(ANDROID_LOG_INFO, "UAE", "Loaded %s", savestate_filename); if (hackEnableSound) { changed_produce_sound = 0; check_prefs_changed_audio(); } }
static void goSuperThrottle(void) { if (!nowSuperThrottle) { nowSuperThrottle=1; m68k_speed=6; changed_produce_sound=0; changed_gfx_framerate=80; check_prefs_changed_cpu(); check_prefs_changed_audio(); check_prefs_changed_custom(); } }
// Handler for the XM_NOTIFY message HRESULT COptionsScene::OnNotifyPress( HXUIOBJ hObjPressed, BOOL& bHandled ) { switch(m_GroupJoy.GetCurSel()) { case 0: memset (&changed_prefs.jports[0], 0, sizeof (struct jport)); memset (&changed_prefs.jports[1], 0, sizeof (struct jport)); changed_prefs.jports[0].id = JSEM_MICE; changed_prefs.jports[1].id = JSEM_JOYS; changed_prefs.mouse_settings[0]->enabled = 1; config_changed = 1; inputdevice_config_change(); break; case 1: memset (&changed_prefs.jports[0], 0, sizeof (struct jport)); memset (&changed_prefs.jports[1], 0, sizeof (struct jport)); changed_prefs.jports[0].id = JSEM_JOYS + 1; changed_prefs.jports[1].id = JSEM_JOYS; changed_prefs.mouse_settings[1]->enabled = 0; config_changed = 1; inputdevice_config_change(); break; case 2: memset (&changed_prefs.jports[0], 0, sizeof (struct jport)); memset (&changed_prefs.jports[1], 0, sizeof (struct jport)); changed_prefs.jports[0].id = JSEM_MICE; changed_prefs.jports[1].id = JSEM_MICE + 1; changed_prefs.mouse_settings[0]->enabled = 0; changed_prefs.mouse_settings[1]->enabled = 1; config_changed = 1; inputdevice_config_change(); break; } switch(m_GroupCPU.GetCurSel()) { case 0: changed_prefs.cpu_model = 68000; check_prefs_changed_cpu(); break; case 1: changed_prefs.cpu_model = 68010; check_prefs_changed_cpu(); break; case 2: changed_prefs.cpu_model = 68020; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 0; break; case 3: changed_prefs.cpu_model = 68020; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 1; break; case 4: changed_prefs.cpu_model = 68030; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 0; break; case 5: changed_prefs.cpu_model = 68040; check_prefs_changed_cpu(); changed_prefs.address_space_24 = 0; break; } switch (m_GroupChipset.GetCurSel()) { case 0: changed_prefs.chipset_mask = 0; break; case 1: changed_prefs.chipset_mask = CSMASK_ECS_AGNUS; break; case 2: changed_prefs.chipset_mask = CSMASK_ECS_DENISE; break; case 3: changed_prefs.chipset_mask = (CSMASK_ECS_AGNUS | CSMASK_ECS_DENISE); break; case 4: changed_prefs.chipset_mask = (CSMASK_AGA | CSMASK_ECS_AGNUS | CSMASK_ECS_DENISE); break; } switch(m_GroupChipMem.GetCurSel()) { case 0: m_GroupFast.SetEnable(true); changed_prefs.chipmem_size = 0x80000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 1: m_GroupFast.SetEnable(true); changed_prefs.chipmem_size = 0x100000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 2: m_GroupFast.SetEnable(true); changed_prefs.chipmem_size = 0x200000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 3: m_GroupFast.SetCurSel(0); m_GroupFast.SetEnable(false); changed_prefs.fastmem_size = 0x00; changed_prefs.chipmem_size = 0x400000; changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 4: m_GroupFast.SetCurSel(0); m_GroupFast.SetEnable(false); changed_prefs.chipmem_size = 0x800000; changed_prefs.fastmem_size = 0x00; changed_prefs.bogomem_size = 0x0; memory_reset(); break; } switch (m_GroupFast.GetCurSel()) { case 0x00000000: changed_prefs.fastmem_size = 0x00000000; memory_reset(); break; case 0x100000: changed_prefs.fastmem_size = 0x100000; memory_reset(); break; case 0x200000: changed_prefs.fastmem_size = 0x200000; memory_reset(); break; case 0x400000: changed_prefs.fastmem_size = 0x400000; memory_reset(); break; case 0x800000: changed_prefs.fastmem_size = 0x800000; memory_reset(); break; } switch(m_GroupBogoMem.GetCurSel()) { case 0: changed_prefs.bogomem_size = 0x0; memory_reset(); break; case 1: changed_prefs.bogomem_size = 0x80000; memory_reset(); break; case 2: changed_prefs.bogomem_size = 0x100000; memory_reset(); break; case 3: changed_prefs.bogomem_size = 0x180000; memory_reset(); break; case 4: changed_prefs.bogomem_size = 0x1c0000; memory_reset(); break; } switch(m_GroupFast.GetCurSel()) { case 0: changed_prefs.fastmem_size = 0x00; memory_reset(); break; case 1: changed_prefs.fastmem_size = 0x100000; memory_reset(); break; case 2: changed_prefs.fastmem_size = 0x200000; memory_reset(); break; case 3: changed_prefs.fastmem_size = 0x400000; memory_reset(); break; case 4: changed_prefs.fastmem_size = 0x800000; memory_reset(); break; } switch(m_GroupZ3Fast.GetCurSel()) { case 0: changed_prefs.z3fastmem_size = 0x00; memory_reset(); break; case 1: changed_prefs.z3fastmem_size = 0x800000; memory_reset(); break; case 2: changed_prefs.z3fastmem_size = 0x2000000; memory_reset(); break; case 3: changed_prefs.z3fastmem_size = 0x4000000; memory_reset(); break; case 4: changed_prefs.z3fastmem_size = 0x8000000; memory_reset(); break; } switch(m_GroupRTG.GetCurSel()) { case 0: changed_prefs.gfxmem_size = 0x00; memory_reset(); break; case 1: changed_prefs.gfxmem_size = 0x800000; memory_reset(); break; case 2: changed_prefs.gfxmem_size = 0x2000000; memory_reset(); break; case 3: changed_prefs.gfxmem_size = 0x4000000; memory_reset(); break; case 4: changed_prefs.gfxmem_size = 0x8000000; memory_reset(); break; } if (m_FasterRTG.IsChecked()) { changed_prefs.picasso96_nocustom = 1; check_prefs_changed_gfx(); } else { changed_prefs.picasso96_nocustom = 0; check_prefs_changed_gfx(); } if (m_BSDSocket.IsChecked()) { currprefs.socket_emu = 1; } else { currprefs.socket_emu = 0; } if (m_Picasso96.IsChecked()) { currprefs.picasso96_modeflags = 212; check_prefs_changed_gfx(); } else { currprefs.picasso96_modeflags = 0; check_prefs_changed_gfx(); } if (m_DriveClick.IsChecked()) { changed_prefs.floppyslots[0].dfxclick = -1; changed_prefs.dfxclickvolume = 33; changed_prefs.dfxclickchannelmask = 0xFFFF; check_prefs_changed_audio (); driveclick_check_prefs(); } else { changed_prefs.floppyslots[0].dfxclick = 0; check_prefs_changed_audio (); driveclick_check_prefs(); } if (m_24BitAddressing.IsChecked()) { changed_prefs.address_space_24 = 1; check_prefs_changed_custom (); } else { changed_prefs.address_space_24 = 0; check_prefs_changed_custom (); } if (m_CycleExact.IsChecked()) { changed_prefs.cpu_cycle_exact = 1; check_prefs_changed_custom (); check_prefs_changed_gfx(); } else { changed_prefs.cpu_cycle_exact = 0; check_prefs_changed_custom (); check_prefs_changed_gfx(); } if (m_ImmediateBlits.IsChecked()) { changed_prefs.immediate_blits = 1; check_prefs_changed_custom (); check_prefs_changed_gfx(); } else { changed_prefs.immediate_blits = 0; check_prefs_changed_custom (); check_prefs_changed_gfx(); } if (m_ShowLeds.IsChecked()) { currprefs.leds_on_screen = 1; } else { currprefs.leds_on_screen = 0; } if( XuiControlIsBackButton( hObjPressed ) ) { config_changed = 1; fixup_prefs (&currprefs); this->NavigateBack(); } bHandled = TRUE; return S_OK; }
extern "C" void JAVA_EXPORT_NAME(DemoActivity_setPrefs) ( JNIEnv* env, jobject thiz, jstring rom, jstring romkey, jstring hddir, jstring hdfile, jstring floppy1, jstring floppy2, jstring floppy3, jstring floppy4, jint frameskip, jint floppyspeed, jint cpu_model, jint chip_mem, jint slow_mem, jint fast_mem, jint chipset, jint cpu_speed, jint change_sound, jint sound, jint change_disk, jint reset, jint drive_status, jint ntsc ) { if (rom) { const char *srom = (env)->GetStringUTFChars(rom, 0); strcpy(romfile, srom); (env)->ReleaseStringUTFChars(rom, srom); } if (romkey) { const char *sromkey = (env)->GetStringUTFChars(romkey, 0); strcpy(romkeyfile, sromkey); (env)->ReleaseStringUTFChars(romkey, sromkey); } if (change_disk) { savestate_state = 0; } default_prefs_uae (&currprefs); default_prefs(); mainMenu_floppyspeed = floppyspeed; mainMenu_CPU_model = cpu_model; // m68020 mainMenu_chipMemory = chip_mem; // 2MB mainMenu_slowMemory = slow_mem; mainMenu_fastMemory = fast_mem; mainMenu_chipset = chipset; // aga mainMenu_CPU_speed = cpu_speed; // 500/5T/a1200/12T/12T2 __android_log_print(ANDROID_LOG_INFO, "UAE", "floppyspeed= %d, cpu_model= %d, chip_mem= %d, slow_mem= %d, fast_mem= %d, chipset= %d, cpu_speed= %d", floppyspeed, cpu_model, chip_mem, slow_mem, fast_mem, chipset, cpu_speed); UpdateCPUModelSettings(&changed_prefs); UpdateMemorySettings(&changed_prefs); UpdateChipsetSettings(&changed_prefs); if (change_disk && uae4all_hard_dir[0] != '\0' && currprefs.mountinfo) { __android_log_print(ANDROID_LOG_INFO, "UAE", "kill_filesys_unit hd dir: %s", uae4all_hard_dir); kill_filesys_unit(currprefs.mountinfo, 0); mainMenu_filesysUnits--; hd_dir_unit_nr = -1; uae4all_hard_dir[0] = '\0'; } if (hddir && currprefs.mountinfo) { const char *hddir1 = (env)->GetStringUTFChars(hddir, 0); strcpy(uae4all_hard_dir, hddir1); (env)->ReleaseStringUTFChars(hddir, hddir1); __android_log_print(ANDROID_LOG_INFO, "UAE", "add_filesys_unit hd dir: %s", uae4all_hard_dir); char *s2 = add_filesys_unit (currprefs.mountinfo, "HD0", uae4all_hard_dir, 1, 0, 0, 0, 0); if (s2) __android_log_print(ANDROID_LOG_ERROR, "UAE", "%s\n", s2); hd_dir_unit_nr = mainMenu_filesysUnits++; } if (change_disk && uae4all_hard_file[0] != '\0' && currprefs.mountinfo) { __android_log_print(ANDROID_LOG_INFO, "UAE", "kill_filesys_unit hd file: %s", uae4all_hard_file); kill_filesys_unit(currprefs.mountinfo, 0); mainMenu_filesysUnits--; hd_file_unit_nr = -1; uae4all_hard_file[0] = '\0'; } if (hdfile && currprefs.mountinfo) { const char *hdfile1 = (env)->GetStringUTFChars(hdfile, 0); strcpy(uae4all_hard_file, hdfile1); (env)->ReleaseStringUTFChars(hdfile, hdfile1); __android_log_print(ANDROID_LOG_INFO, "UAE", "add_filesys_unit hd file: %s", uae4all_hard_file); char *s2 = add_filesys_unit (currprefs.mountinfo, 0, uae4all_hard_file, 0, 32, 1, 2, 512); if (s2) __android_log_print(ANDROID_LOG_ERROR, "UAE", "%s\n", s2); hd_file_unit_nr = mainMenu_filesysUnits++; } if (floppy1) { const char *sfloppy1 = (env)->GetStringUTFChars(floppy1, 0); if (change_disk) { strcpy(changed_df[0], sfloppy1); real_changed_df[0]=1; __android_log_print(ANDROID_LOG_INFO, "UAE", "change floppy1: %s", changed_df[0]); } else strcpy(prefs_df[0], sfloppy1); (env)->ReleaseStringUTFChars(floppy1, sfloppy1); } else strcpy (prefs_df[0], "/sdcard/df0.adf"); if (floppy2) { const char *sfloppy2 = (env)->GetStringUTFChars(floppy2, 0); if (change_disk) { strcpy(changed_df[1], sfloppy2); real_changed_df[1]=1; } else strcpy(prefs_df[1], sfloppy2); (env)->ReleaseStringUTFChars(floppy2, sfloppy2); //__android_log_print(ANDROID_LOG_INFO, "UAE", "prefs_df[1]: %s", prefs_df[1]); } else strcpy (prefs_df[1], "/sdcard/df1.adf"); if (floppy3) { const char *sfloppy3 = (env)->GetStringUTFChars(floppy3, 0); if (change_disk) { strcpy(changed_df[2], sfloppy3); real_changed_df[2]=1; } else strcpy(prefs_df[2], sfloppy3); (env)->ReleaseStringUTFChars(floppy3, sfloppy3); //__android_log_print(ANDROID_LOG_INFO, "UAE", "prefs_df[1]: %s", prefs_df[1]); } else strcpy (prefs_df[2], "/sdcard/df2.adf"); if (floppy4) { const char *sfloppy4 = (env)->GetStringUTFChars(floppy4, 0); if (change_disk) { strcpy(changed_df[3], sfloppy4); real_changed_df[3]=1; } else strcpy(prefs_df[3], sfloppy4); (env)->ReleaseStringUTFChars(floppy4, sfloppy4); //__android_log_print(ANDROID_LOG_INFO, "UAE", "prefs_df[1]: %s", prefs_df[1]); } else strcpy (prefs_df[3], "/sdcard/df3.adf"); mainMenu_showStatus = drive_status; mainMenu_ntsc = ntsc; if (change_sound) changed_produce_sound = sound; else { produce_sound = sound; changed_produce_sound = sound; } if (frameskip >= 100) prefs_gfx_framerate = -1; else prefs_gfx_framerate = frameskip; changed_gfx_framerate = prefs_gfx_framerate; __android_log_print(ANDROID_LOG_INFO, "UAE", "prefs_gfx_framerate: %d", prefs_gfx_framerate); m68k_speed = 0; check_prefs_changed_cpu(); check_prefs_changed_audio(); //DISK_init(); //__android_log_print(ANDROID_LOG_INFO, "UAE", "prefs_df[0]: %s", prefs_df[0]); //__android_log_print(ANDROID_LOG_INFO, "UAE", "prefs_df[1]: %s", prefs_df[1]); //__android_log_print(ANDROID_LOG_INFO, "UAE", "m68k_speed: %d / timeslice_mode: %d", m68k_speed, timeslice_mode); if (reset) { uae_reset(); } }
/** * This functions sets up the actual font and then displays the main dialog. */ int Dialog_MainDlg(bool *bReset, bool *bLoadedSnapshot) { int retbut=0; bool bOldMouseVisibility; int nOldMouseX, nOldMouseY; char *psNewCfg; *bReset = false; *bLoadedSnapshot = false; if (SDLGui_SetScreen(/*sdlscrn*/)) return false; SDLGui_CenterDlg(maindlg); maindlg[MAINDLG_NORESET].state |= SG_SELECTED; maindlg[MAINDLG_RESET].state &= ~SG_SELECTED; do { retbut = SDLGui_DoDialog(maindlg, NULL); switch (retbut) { case MAINDLG_ABOUT: Dialog_AboutDlg(); break; case MAINDLG_FLOPPYS: DlgFloppy_Main(); break; case MAINDLG_HARDDISK: DlgHardDisk_Main(); break; case MAINDLG_ROM: DlgRom_Main(); break; case MAINDLG_VIDEO: Dialog_VideoDlg(); break; case MAINDLG_SYSTEM: Dialog_SystemDlg(); break; case MAINDLG_MEMORY: if (Dialog_MemDlg()) { /* Memory snapshot has been loaded - leave GUI immediately */ *bLoadedSnapshot = true; //Main_WarpMouse(nOldMouseX, nOldMouseY); return true; } break; case MAINDLG_MISC: Dialog_MiscDlg(); break; case MAINDLG_JOYSTICK: Dialog_JoyDlg(); break; case MAINDLG_SOUND: Dialog_SoundDlg(); break; case MAINDLG_LOADCFG: strcpy(sConfigFileName, ".uaerc"); psNewCfg = SDLGui_FileSelect(sConfigFileName, NULL, false); if (psNewCfg) { default_prefs(& changed_prefs, 0); changed_prefs.chipmem_size = 0; changed_prefs.bogomem_size = 0; unmount_all_hdfs(); int ret = cfgfile_load (& changed_prefs, psNewCfg, NULL,1,0); if (ret) { check_prefs_changed_cpu(); check_prefs_changed_audio(); check_prefs_changed_custom(); MUSTRESET_CFG=1; } strcpy(sConfigFileName, psNewCfg); } break; case MAINDLG_QUIT: bQuitProgram = true; break; } gui_poll_events(); } while (retbut != MAINDLG_OK && retbut != MAINDLG_CANCEL && retbut != SDLGUI_QUIT && retbut != SDLGUI_ERROR && !bQuitProgram); if (maindlg[MAINDLG_RESET].state & SG_SELECTED) *bReset = true; return (retbut == MAINDLG_OK); }