示例#1
0
文件: gui.cpp 项目: kerheol/uae4all
static void leftSuperThrottle(void)
{
	if (nowSuperThrottle)
	{
		nowSuperThrottle=0;
		getChanges();
		check_prefs_changed_cpu();
		check_prefs_changed_audio();
		check_prefs_changed_custom();
	}
}
示例#2
0
文件: gui.cpp 项目: kerheol/uae4all
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();
	}
}
示例#3
0
int uade_main (int argc, char **argv)
{
    quit_program = 0;

    default_prefs (&currprefs);

    uade_option (argc, argv);

    machdep_init ();

    if (! setup_sound ()) {
    __android_log_print(ANDROID_LOG_VERBOSE, "UADE", "Sound driver unavailable: Sound output disabled\n");
    currprefs.produce_sound = 0;
    exit(1);
    }

    init_sound();

    fix_options ();
    changed_prefs = currprefs;
    check_prefs_changed_cpu();

    memory_init ();

    custom_init (); /* Must come after memory_init */

    reset_frame_rate_hack ();
    init_m68k(); /* must come after reset_frame_rate_hack (); */

    /* compiler_init (); */

    if (currprefs.start_debugger)
      activate_debugger ();

    m68k_go();

    close_sound ();
    dump_counts ();

    return 0;
}
示例#4
0
void m68k_go (int may_quit)
{
    gui_purge_events();
#if !defined(DREAMCAST) || defined(DEBUG_UAE4ALL)
    if (in_m68k_go || !may_quit) {
#ifdef DEBUG_UAE4ALL
        puts("Bug! m68k_go is not reentrant.\n");
#endif
        return;
    }

    in_m68k_go++;
#endif
    g_emulator.quit_program = RunStateReset;
    for (;;) {
        if (g_emulator.quit_program > RunStateNormal) {
            if (g_emulator.quit_program == RunStateExit)
                break;

            g_emulator.quit_program = RunStateNormal;
            g_emulator.reset_all_systems ();
            customreset ();
            check_prefs_changed_cpu ();
            sound_default_evtime ();
            /* We may have been restoring state, but we're done now.  */
            handle_active_events ();
            if (mispcflags)
                do_specialties (0);
        }

        m68k_run();
    }
#if !defined(DREAMCAST) || defined(DEBUG_UAE4ALL)
    in_m68k_go--;
#endif
#ifdef DEBUG_UAE4ALL
    puts("BYE?");
#endif
}
示例#5
0
// 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;
 }
示例#6
0
/**
 * Show and process the "System" dialog (specific to winUAE cpu).
 */
void Dialog_SystemDlg(void)
{
	int32_t i;
	//MACHINETYPE	mti;

//printf("0cpu:%d curr:%d\n",changed_prefs.cpu_model,currprefs.cpu_model);

	SDLGui_CenterDlg(systemdlg);

	/* Set up dialog from actual values: */

	for (i = DLGSYS_68000; i <= DLGSYS_68060; i++)
	{
		systemdlg[i].state &= ~SG_SELECTED;
	}
	systemdlg[DLGSYS_68000+/*ConfigureParams.System.*/nCpuLevel].state |= SG_SELECTED;
#if 0
	for (i = DLGSYS_ST; i <= DLGSYS_FALCON; i++)
	{
		systemdlg[i].state &= ~SG_SELECTED;
	}
	systemdlg[DLGSYS_ST + ConfigureParams.System.nMachineType].state |= SG_SELECTED;

	/* CPU frequency: */
	for (i = DLGSYS_8MHZ; i <= DLGSYS_16MHZ; i++)
	{
		systemdlg[i].state &= ~SG_SELECTED;
	}
	if (ConfigureParams.System.nCpuFreq == 32)
		systemdlg[DLGSYS_32MHZ].state |= SG_SELECTED;
	else if (ConfigureParams.System.nCpuFreq == 16)
		systemdlg[DLGSYS_16MHZ].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_8MHZ].state |= SG_SELECTED;

	/* DSP mode: */
	for (i = DLGSYS_DSPOFF; i <= DLGSYS_DSPON; i++)
	{
		systemdlg[i].state &= ~SG_SELECTED;
	}
	if (ConfigureParams.System.nDSPType == DSP_TYPE_NONE)
		systemdlg[DLGSYS_DSPOFF].state |= SG_SELECTED;
	else if (ConfigureParams.System.nDSPType == DSP_TYPE_DUMMY)
		systemdlg[DLGSYS_DSPDUMMY].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_DSPON].state |= SG_SELECTED;
#endif
	/* More compatible CPU, Prefetch mode */
	if (/*ConfigureParams.System.*/bCompatibleCpu)
		systemdlg[DLGSYS_PREFETCH].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_PREFETCH].state &= ~SG_SELECTED;
#if 0
	/* Emulate Blitter */
	if (ConfigureParams.System.bBlitter)
		systemdlg[DLGSYS_BLITTER].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_BLITTER].state &= ~SG_SELECTED;

	/* Real time clock CPU */
	if (ConfigureParams.System.bRealTimeClock)
		systemdlg[DLGSYS_RTC].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_RTC].state &= ~SG_SELECTED;

	/* Patch timer D */
	if (ConfigureParams.System.bPatchTimerD)
		systemdlg[DLGSYS_TIMERD].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_TIMERD].state &= ~SG_SELECTED;

	/* Adress space 24 bits */
	if (ConfigureParams.System.bAddressSpace24)
		systemdlg[DLGSYS_24BITS].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_24BITS].state &= ~SG_SELECTED;
#endif
	/* Cycle exact CPU */
	if (/*ConfigureParams.System.*/bCycleExactCpu)
		systemdlg[DLGSYS_CYC_EXACT].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_CYC_EXACT].state &= ~SG_SELECTED;
#if 0
	/* FPU emulation */
	for (i = DLGSYS_FPU_NONE; i <= DLGSYS_FPU_CPU_IN; i++)
	{
		systemdlg[i].state &= ~SG_SELECTED;
	}
	if (ConfigureParams.System.n_FPUType == FPU_NONE)
		systemdlg[DLGSYS_FPU_NONE].state |= SG_SELECTED;
	else if (ConfigureParams.System.n_FPUType == FPU_68881)
		systemdlg[DLGSYS_FPU_68881].state |= SG_SELECTED;
	else if (ConfigureParams.System.n_FPUType == FPU_68882)
		systemdlg[DLGSYS_FPU_68882].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_FPU_CPU_IN].state |= SG_SELECTED;

	/* More compatible FPU */
	if (ConfigureParams.System.bCompatibleFPU)
		systemdlg[DLGSYS_FPU_COMPAT].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_FPU_COMPAT].state &= ~SG_SELECTED;

	/* MMU Emulation */
	if (ConfigureParams.System.bMMU)
		systemdlg[DLGSYS_MMU_EMUL].state |= SG_SELECTED;
	else
		systemdlg[DLGSYS_MMU_EMUL].state &= ~SG_SELECTED;
#endif
int32_t but;
do
{
	/* Show the dialog: */
	but=SDLGui_DoDialog(systemdlg, NULL);
        gui_poll_events();
}
while (but != DLGSYS_EXIT && but != SDLGUI_QUIT
	       && but != SDLGUI_ERROR && !bQuitProgram);

	/* Read values from dialog: */

	for (i = DLGSYS_68000; i <= DLGSYS_68060; i++)
	{
		if (systemdlg[i].state&SG_SELECTED)
		{
			/*ConfigureParams.System.*/nCpuLevel = i-DLGSYS_68000;
			break;
		}
	}

	int32_t index = nCpuLevel;
	if(index==5)index=6;

	changed_prefs.cpu_model=68000+index*10;

//currprefs.cpu_model=68000;
//printf("1cpu:%d curr:%d\n",changed_prefs.cpu_model,currprefs.cpu_model);

	if (changed_prefs.cpu_model <= 68020)changed_prefs.address_space_24=1;


/*
	for (mti = MACHINE_ST; mti <= MACHINE_FALCON; mti++)
	{
		if (systemdlg[mti + DLGSYS_ST].state&SG_SELECTED)
		{
			ConfigureParams.System.nMachineType = mti;
			break;
		}
	}
*/
/*
	if (systemdlg[DLGSYS_32MHZ].state & SG_SELECTED)
		ConfigureParams.System.nCpuFreq = 32;
	else if (systemdlg[DLGSYS_16MHZ].state & SG_SELECTED)
		ConfigureParams.System.nCpuFreq = 16;
	else
		ConfigureParams.System.nCpuFreq = 8;

	if (systemdlg[DLGSYS_DSPOFF].state & SG_SELECTED)
		ConfigureParams.System.nDSPType = DSP_TYPE_NONE;
	else if (systemdlg[DLGSYS_DSPDUMMY].state & SG_SELECTED)
		ConfigureParams.System.nDSPType = DSP_TYPE_DUMMY;
	else
		ConfigureParams.System.nDSPType = DSP_TYPE_EMU;
*/
	/*ConfigureParams.System.*/bCompatibleCpu = (systemdlg[DLGSYS_PREFETCH].state & SG_SELECTED);

changed_prefs.cpu_compatible =bCompatibleCpu;
	if (changed_prefs.cpu_compatible && currprefs.cpu_cycle_exact) {
				changed_prefs.cpu_cycle_exact = 0;
	}
/*
	ConfigureParams.System.bBlitter = (systemdlg[DLGSYS_BLITTER].state & SG_SELECTED);
	ConfigureParams.System.bRealTimeClock = (systemdlg[DLGSYS_RTC].state & SG_SELECTED);
	ConfigureParams.System.bPatchTimerD = (systemdlg[DLGSYS_TIMERD].state & SG_SELECTED);
	ConfigureParams.System.bAddressSpace24 = (systemdlg[DLGSYS_24BITS].state & SG_SELECTED);
*/
	/*ConfigureParams.System.*/bCycleExactCpu = (systemdlg[DLGSYS_CYC_EXACT].state & SG_SELECTED);

	changed_prefs.cpu_cycle_exact = bCycleExactCpu;
	if (changed_prefs.cpu_cycle_exact && currprefs.cpu_compatible) {
				changed_prefs.cpu_compatible = 0;
	}

	config_changed = 1;
	check_prefs_changed_cpu();
	/* FPU emulation */
/*
	if (systemdlg[DLGSYS_FPU_NONE].state & SG_SELECTED)
		ConfigureParams.System.n_FPUType = FPU_NONE;
	else if (systemdlg[DLGSYS_FPU_68881].state & SG_SELECTED)
		ConfigureParams.System.n_FPUType = FPU_68881;
	else if (systemdlg[DLGSYS_FPU_68882].state & SG_SELECTED)
		ConfigureParams.System.n_FPUType = FPU_68882;
	else
		ConfigureParams.System.n_FPUType = FPU_CPU;

	ConfigureParams.System.bCompatibleFPU = (systemdlg[DLGSYS_FPU_COMPAT].state & SG_SELECTED);
	ConfigureParams.System.bMMU = (systemdlg[DLGSYS_MMU_EMUL].state & SG_SELECTED);
*/
}
示例#7
0
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();
    }
}
示例#8
0
文件: dlgMain.c 项目: engur/PUAE
/**
 * 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);
}