Exemple #1
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;
 }
Exemple #2
0
int my_kbd_handler (int keycode, int scancode, int newstate)
{
    int akey = scancode2amiga (keycode, scancode);

#ifdef DEBUG_KBD
    write_log ( "kbd_handler: keycode 0x%x, scancode 0x%x, newstate %d\n", keycode, scancode, newstate );
#endif
    if (akey < 0) {
	
	switch (akey) {
#ifndef _WIN32_WCE
	 case -2:
	    if (newstate)
		{
		clearallkeys();
		WIN32GUI_DisplayGUI(-1);
		}
	    return 0;

	 case -3:
	    if (newstate)
		toggle_sound = 1;
	    return 0;
	 case -4:
	    if (newstate) {
		akey = 0x62;
		newstate = getcapslock ();
	    }
	    break;
     case -5:
	 if( newstate )
	 {
	    // Bring up GUI-based debugger here
	  if(currprefs.illegal_mem)
		   {   
	
		   
	     if(picasso_on)changed_prefs.gfx_pfullscreen=0;
		 else changed_prefs.gfx_afullscreen=0;

		 check_prefs_changed_gfx();
	 activate_debugger();
		 
	   
	 }
	    
		 }
	 return 0;
	 break;
	 case -6:
		 if(newstate)
		 {
		 if(picasso_on)changed_prefs.gfx_pfullscreen=!changed_prefs.gfx_pfullscreen;
		 else changed_prefs.gfx_afullscreen=!changed_prefs.gfx_afullscreen;

		 return 0;
		 }
		 break;
	 default:

	     if (newstate && akey >= -17 && akey <= -10) 
	     {
		 akey = -10 - akey;
		 
		 if (akey & 1) 
		 {
		     akey >>= 1;
		     disk_eject (akey);
		     return 0;
		 }
		 akey >>= 1;
		 
		 WIN32GUI_DisplayGUI( akey );
	     }
	     return 0;
#endif
	}