Esempio n. 1
0
static void leftSuperThrottle(void)
{
	if (nowSuperThrottle)
	{
		nowSuperThrottle=0;
		getChanges();
		check_prefs_changed_cpu();
		check_prefs_changed_audio();
		check_prefs_changed_custom();
	}
}
Esempio n. 2
0
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();
    }

}
Esempio n. 3
0
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();
	}
}
Esempio n. 4
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;
 }
Esempio n. 5
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();
    }
}
Esempio n. 6
0
File: dlgMain.c Progetto: 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);
}