public static void LoadShortcuts() { if (Settings.Key_Shortcuts_UseJoystick) { Joysticks.Initialize(); if (Joysticks.IsValidJoystickNumber(Settings.Key_Shortcuts_JoystickIndex)) { joyState = Joysticks.OpenJoystick(Settings.Key_Shortcuts_JoystickIndex); } } Enum.TryParse <Key>(Settings.Key_SoftReset, out Key_SoftReset); Enum.TryParse <Key>(Settings.Key_HardReset, out Key_HardReset); Enum.TryParse <Key>(Settings.Key_SwitchFullscreen, out Key_SwitchFullscreen); Enum.TryParse <Key>(Settings.Key_TakeSnap, out Key_TakeSnap); Enum.TryParse <Key>(Settings.Key_SaveState, out Key_SaveState); Enum.TryParse <Key>(Settings.Key_LoadState, out Key_LoadState); Enum.TryParse <Key>(Settings.Key_StateSlot0, out Key_StateSlot0); Enum.TryParse <Key>(Settings.Key_StateSlot1, out Key_StateSlot1); Enum.TryParse <Key>(Settings.Key_StateSlot2, out Key_StateSlot2); Enum.TryParse <Key>(Settings.Key_StateSlot3, out Key_StateSlot3); Enum.TryParse <Key>(Settings.Key_StateSlot4, out Key_StateSlot4); Enum.TryParse <Key>(Settings.Key_StateSlot5, out Key_StateSlot5); Enum.TryParse <Key>(Settings.Key_StateSlot6, out Key_StateSlot6); Enum.TryParse <Key>(Settings.Key_StateSlot7, out Key_StateSlot7); Enum.TryParse <Key>(Settings.Key_StateSlot8, out Key_StateSlot8); Enum.TryParse <Key>(Settings.Key_StateSlot9, out Key_StateSlot9); Enum.TryParse <Key>(Settings.Key_ShutdownEmu, out Key_ShutdownEmu); Enum.TryParse <Key>(Settings.Key_TogglePause, out Key_TogglePause); Enum.TryParse <Key>(Settings.Key_ToggleTurbo, out Key_ToggleTurbo); Enum.TryParse <Key>(Settings.Key_RecordSound, out Key_RecordSound); Enum.TryParse <Key>(Settings.Key_ToggleFrameSkip, out Key_ToggleFrameSkip); Enum.TryParse <Key>(Settings.Key_ShowGameStatus, out Key_ShowGameStatus); }
public void InitJoystick() { Joysticks.Close(); //Assert.IsFalse(Joysticks.IsInitialized); Joysticks.Initialize(); //Assert.IsTrue(Joysticks.IsInitialized); Joysticks.Close(); }
public void Start() { network = new Network(); network.screenReceived += new ScreenReceived(network_screenReceived); network.keyEventReceived += new KeyEventReceived(network_keyEventReceived); network.joyEventReceived += new JoyEventReceived(network_joyEventReceived); network.clientConnected += new ClientConnected(network_clientConnected); network.clientConnectFailed += new ClientConnectFailed(network_clientConnectFailed); network.clientDisconnected += new ClientDisconnected(network_clientDisconnected); network.incomingClient += new IncomingClient(network_incomingClient); network.partedClient += new PartedClient(network_partedClient); Video.WindowIcon(Resources.c64icon); Video.WindowCaption = "Pipkinsoft C64 Emulator"; renderer = new RendererSDL(); menu = new Menu(renderer, network); menu.menuReturn += new MenuReturn(menu_menuReturn); menu.menuQuit += new MenuQuit(menu_menuQuit); try { C64.Start(renderer, network); } catch (Exception ex) { renderer.DrawError(ex.Message); Events.Quit += new EventHandler <QuitEventArgs>(Quit); Events.Run(); return; } Joysticks.Initialize(); if (Joysticks.NumberOfJoysticks > 0) { joy1 = Joysticks.OpenJoystick(0); } if (Joysticks.NumberOfJoysticks > 1) { joy2 = Joysticks.OpenJoystick(1); } Events.Quit += new EventHandler <QuitEventArgs>(Quit); Events.KeyboardDown += new EventHandler <KeyboardEventArgs>(KeyboardEvent); Events.KeyboardUp += new EventHandler <KeyboardEventArgs>(KeyboardEvent); Events.JoystickAxisMotion += new EventHandler <JoystickAxisEventArgs>(JoystickAxisMotion); Events.JoystickButtonDown += new EventHandler <JoystickButtonEventArgs>(JoystickButtonEvent); Events.JoystickButtonUp += new EventHandler <JoystickButtonEventArgs>(JoystickButtonEvent); Events.Run(); }
public Input(Game game) { this.game = game; keyStatus = new KeyStatus(); keyStatus.Up = false; keyStatus.Right = false; keyStatus.Down = false; keyStatus.Left = false; keyStatus.Button = false; keyStatus.Center = true; Joysticks.Initialize(); Events.KeyboardDown += new EventHandler <KeyboardEventArgs>(KeyboardEvent); Events.KeyboardUp += new EventHandler <KeyboardEventArgs>(KeyboardEvent); Events.JoystickAxisMotion += new EventHandler <JoystickAxisEventArgs>(JoystickAxisMotion); Events.JoystickButtonDown += new EventHandler <JoystickButtonEventArgs>(JoystickButtonEvent); Events.JoystickButtonUp += new EventHandler <JoystickButtonEventArgs>(JoystickButtonEvent); }
public override void OnOpen() { // Load joystick stuff Joysticks.Initialize(); bool joyKeys = false; if (Joysticks.NumberOfJoysticks > 0) { Items[0].Options.Clear(); Items[0].Options.Add("NO"); Items[0].Options.Add("YES"); Items[0].SelectedOptionIndex = Settings.Key_P4_UseJoystick ? 1 : 0; useJoystick = Settings.Key_P4_UseJoystick; Items[1].Options.Clear(); if (Settings.Key_P4_JoystickIndex < Joysticks.NumberOfJoysticks) { for (int i = 0; i < Joysticks.NumberOfJoysticks; i++) { Items[1].Options.Add(i.ToString()); } Items[1].SelectedOptionIndex = Settings.Key_P4_JoystickIndex; } else { Items[1].SelectedOptionIndex = 0; } joystick = Joysticks.OpenJoystick(Items[1].SelectedOptionIndex); joyKeys = true; } else { useJoystick = false; Items[0].Options.Clear(); Items[0].Options.Add("N/A"); Items[0].SelectedOptionIndex = 0; Items[1].Options.Clear(); Items[1].Options.Add("N/A"); Items[1].SelectedOptionIndex = 0; } if (!(joyKeys && Settings.Key_P4_UseJoystick)) { Items[2].Options.Clear(); Items[2].Options.Add(Settings.Key_P4_ButtonA); Items[3].Options.Clear(); Items[3].Options.Add(Settings.Key_P4_ButtonB); Items[4].Options.Clear(); Items[4].Options.Add(Settings.Key_P4_ButtonTurboA); Items[5].Options.Clear(); Items[5].Options.Add(Settings.Key_P4_ButtonTurboB); Items[6].Options.Clear(); Items[6].Options.Add(Settings.Key_P4_ButtonStart); Items[7].Options.Clear(); Items[7].Options.Add(Settings.Key_P4_ButtonSelect); Items[8].Options.Clear(); Items[8].Options.Add(Settings.Key_P4_ButtonUp); Items[9].Options.Clear(); Items[9].Options.Add(Settings.Key_P4_ButtonDown); Items[10].Options.Clear(); Items[10].Options.Add(Settings.Key_P4_ButtonLeft); Items[11].Options.Clear(); Items[11].Options.Add(Settings.Key_P4_ButtonRight); } else { Items[2].Options.Clear(); Items[2].Options.Add(Settings.JoyKey_P4_ButtonA); Items[3].Options.Clear(); Items[3].Options.Add(Settings.JoyKey_P4_ButtonB); Items[4].Options.Clear(); Items[4].Options.Add(Settings.JoyKey_P4_ButtonTurboA); Items[5].Options.Clear(); Items[5].Options.Add(Settings.JoyKey_P4_ButtonTurboB); Items[6].Options.Clear(); Items[6].Options.Add(Settings.JoyKey_P4_ButtonStart); Items[7].Options.Clear(); Items[7].Options.Add(Settings.JoyKey_P4_ButtonSelect); Items[8].Options.Clear(); Items[8].Options.Add(Settings.JoyKey_P4_ButtonUp); Items[9].Options.Clear(); Items[9].Options.Add(Settings.JoyKey_P4_ButtonDown); Items[10].Options.Clear(); Items[10].Options.Add(Settings.JoyKey_P4_ButtonLeft); Items[11].Options.Clear(); Items[11].Options.Add(Settings.JoyKey_P4_ButtonRight); } }
public override void OnOpen() { // Load joystick stuff Joysticks.Initialize(); bool joyKeys = false; if (Joysticks.NumberOfJoysticks > 0) { Items[0].Options.Clear(); Items[0].Options.Add("NO"); Items[0].Options.Add("YES"); Items[0].SelectedOptionIndex = Settings.Key_Shortcuts_UseJoystick ? 1 : 0; useJoystick = Settings.Key_Shortcuts_UseJoystick; Items[1].Options.Clear(); if (Settings.Key_Shortcuts_JoystickIndex < Joysticks.NumberOfJoysticks) { for (int i = 0; i < Joysticks.NumberOfJoysticks; i++) { Items[1].Options.Add(i.ToString()); } Items[1].SelectedOptionIndex = Settings.Key_Shortcuts_JoystickIndex; } else { Items[1].SelectedOptionIndex = 0; } joystick = Joysticks.OpenJoystick(Items[1].SelectedOptionIndex); joyKeys = true; } else { useJoystick = false; Items[0].Options.Clear(); Items[0].Options.Add("N/A"); Items[0].SelectedOptionIndex = 0; Items[1].Options.Clear(); Items[1].Options.Add("N/A"); Items[1].SelectedOptionIndex = 0; } if (!(joyKeys && Settings.Key_Shortcuts_UseJoystick)) { Items[2].Options.Clear(); Items[2].Options.Add(Settings.Key_HardReset); Items[3].Options.Clear(); Items[3].Options.Add(Settings.Key_SoftReset); Items[4].Options.Clear(); Items[4].Options.Add(Settings.Key_SwitchFullscreen); Items[5].Options.Clear(); Items[5].Options.Add(Settings.Key_TakeSnap); Items[6].Options.Clear(); Items[6].Options.Add(Settings.Key_SaveState); Items[7].Options.Clear(); Items[7].Options.Add(Settings.Key_LoadState); Items[8].Options.Clear(); Items[8].Options.Add(Settings.Key_ShutdownEmu); Items[9].Options.Clear(); Items[9].Options.Add(Settings.Key_TogglePause); Items[10].Options.Clear(); Items[10].Options.Add(Settings.Key_ToggleTurbo); Items[11].Options.Clear(); Items[11].Options.Add(Settings.Key_RecordSound); Items[12].Options.Clear(); Items[12].Options.Add(Settings.Key_ToggleFrameSkip); Items[13].Options.Clear(); Items[13].Options.Add(Settings.Key_StateSlot0); Items[14].Options.Clear(); Items[14].Options.Add(Settings.Key_StateSlot1); Items[15].Options.Clear(); Items[15].Options.Add(Settings.Key_StateSlot2); Items[16].Options.Clear(); Items[16].Options.Add(Settings.Key_StateSlot3); Items[17].Options.Clear(); Items[17].Options.Add(Settings.Key_StateSlot4); Items[18].Options.Clear(); Items[18].Options.Add(Settings.Key_StateSlot5); Items[19].Options.Clear(); Items[19].Options.Add(Settings.Key_StateSlot6); Items[20].Options.Clear(); Items[20].Options.Add(Settings.Key_StateSlot7); Items[21].Options.Clear(); Items[21].Options.Add(Settings.Key_StateSlot8); Items[22].Options.Clear(); Items[22].Options.Add(Settings.Key_StateSlot9); Items[23].Options.Clear(); Items[23].Options.Add(Settings.Key_ShowGameStatus); } else { Items[2].Options.Clear(); Items[2].Options.Add(Settings.JoyKey_HardReset); Items[3].Options.Clear(); Items[3].Options.Add(Settings.JoyKey_SoftReset); Items[4].Options.Clear(); Items[4].Options.Add(Settings.JoyKey_SwitchFullscreen); Items[5].Options.Clear(); Items[5].Options.Add(Settings.JoyKey_TakeSnap); Items[6].Options.Clear(); Items[6].Options.Add(Settings.JoyKey_SaveState); Items[7].Options.Clear(); Items[7].Options.Add(Settings.JoyKey_LoadState); Items[8].Options.Clear(); Items[8].Options.Add(Settings.JoyKey_ShutdownEmu); Items[9].Options.Clear(); Items[9].Options.Add(Settings.JoyKey_TogglePause); Items[10].Options.Clear(); Items[10].Options.Add(Settings.JoyKey_ToggleTurbo); Items[11].Options.Clear(); Items[11].Options.Add(Settings.JoyKey_RecordSound); Items[12].Options.Clear(); Items[12].Options.Add(Settings.JoyKey_ToggleFrameSkip); Items[13].Options.Clear(); Items[13].Options.Add(Settings.JoyKey_StateSlot0); Items[14].Options.Clear(); Items[14].Options.Add(Settings.JoyKey_StateSlot1); Items[15].Options.Clear(); Items[15].Options.Add(Settings.JoyKey_StateSlot2); Items[16].Options.Clear(); Items[16].Options.Add(Settings.JoyKey_StateSlot3); Items[17].Options.Clear(); Items[17].Options.Add(Settings.JoyKey_StateSlot4); Items[18].Options.Clear(); Items[18].Options.Add(Settings.JoyKey_StateSlot5); Items[19].Options.Clear(); Items[19].Options.Add(Settings.JoyKey_StateSlot6); Items[20].Options.Clear(); Items[20].Options.Add(Settings.JoyKey_StateSlot7); Items[21].Options.Clear(); Items[21].Options.Add(Settings.JoyKey_StateSlot8); Items[22].Options.Clear(); Items[22].Options.Add(Settings.JoyKey_StateSlot9); Items[23].Options.Clear(); Items[23].Options.Add(Settings.JoyKey_ShowGameStatus); } }
public static void InitializeInput() { LoadShortcuts(); NesEmu.IsFourPlayers = Settings.Key_Connect4Players; NesEmu.IsZapperConnected = Settings.Key_ConnectZapper; IJoypadConnecter joy1 = null; IJoypadConnecter joy2 = null; IJoypadConnecter joy3 = null; IJoypadConnecter joy4 = null; IVSUnisystemDIPConnecter vsUni = null; Console.WriteLine(">Initializing input settings..."); if (Settings.Key_P1_UseJoystick || Settings.Key_P2_UseJoystick || Settings.Key_P3_UseJoystick || Settings.Key_P4_UseJoystick || Settings.Key_VS_UseJoystick) { Console.WriteLine(">Initializing joysticks..."); Joysticks.Initialize(); Console.WriteLine("->Joysticks number = " + Joysticks.NumberOfJoysticks); } Console.WriteLine(">Applying key mappings..."); #region Player 1 if (!Settings.Key_P1_UseJoystick) { joy1 = new SDL_Keyboard_Joyad(0); Console.WriteLine("->Using keyboard for player 1."); } else { if (Joysticks.IsValidJoystickNumber(Settings.Key_P1_JoystickIndex)) { joy1 = new SDL_Joystick_Joypad(Settings.Key_P1_JoystickIndex, 0); Console.WriteLine("->Using joystick for player 1."); } else { // USE keyboard ? joy1 = new SDL_Keyboard_Joyad(0); Console.WriteLine("->Joystick is not connected; using keyboard for player 1."); } } #endregion #region Player 2 if (!Settings.Key_P2_UseJoystick) { joy2 = new SDL_Keyboard_Joyad(1); Console.WriteLine("->Using keyboard for player 2."); } else { if (Joysticks.IsValidJoystickNumber(Settings.Key_P2_JoystickIndex)) { joy2 = new SDL_Joystick_Joypad(Settings.Key_P2_JoystickIndex, 1); Console.WriteLine("->Using joystick for player 2."); } else { // USE keyboard ? joy2 = new SDL_Keyboard_Joyad(1); Console.WriteLine("->Joystick is not connected; using keyboard for player 2."); } } #endregion #region Player 3 if (!Settings.Key_P3_UseJoystick) { joy3 = new SDL_Keyboard_Joyad(2); Console.WriteLine("->Using keyboard for player 3."); } else { if (Joysticks.IsValidJoystickNumber(Settings.Key_P3_JoystickIndex)) { joy3 = new SDL_Joystick_Joypad(Settings.Key_P3_JoystickIndex, 2); Console.WriteLine("->Using joystick for player 3."); } else { // USE keyboard ? joy3 = new SDL_Keyboard_Joyad(2); Console.WriteLine("->Joystick is not connected; using keyboard for player 3."); } } #endregion #region Player 4 if (!Settings.Key_P4_UseJoystick) { joy4 = new SDL_Keyboard_Joyad(3); Console.WriteLine("->Using keyboard for player 4."); } else { if (Joysticks.IsValidJoystickNumber(Settings.Key_P4_JoystickIndex)) { joy4 = new SDL_Joystick_Joypad(Settings.Key_P4_JoystickIndex, 3); Console.WriteLine("->Using joystick for player 4."); } else { // USE keyboard ? joy4 = new SDL_Keyboard_Joyad(3); Console.WriteLine("->Joystick is not connected; using keyboard for player 4."); } } #endregion #region VS Unisystem if (!Settings.Key_VS_UseJoystick) { vsUni = new SDL_Keyboard_VSUnisystem(); Console.WriteLine("->Using keyboard for VS Unisystem PID."); } else { if (Joysticks.IsValidJoystickNumber(Settings.Key_VS_JoystickIndex)) { vsUni = new SDL_Joystick_VSUnisystem(Settings.Key_VS_JoystickIndex); Console.WriteLine("->Using joystick for VS Unisystem PID."); } else { // USE keyboard ? vsUni = new SDL_Keyboard_VSUnisystem(); Console.WriteLine("->Joystick is not connected; using keyboard for VS Unisystem PID."); } } #endregion NesEmu.SetupJoypads(joy1, joy2, joy3, joy4); NesEmu.SetupVSUnisystemDIP(vsUni); NesEmu.IsZapperConnected = Settings.Key_ConnectZapper; NesEmu.IsFourPlayers = Settings.Key_Connect4Players; if (NesEmu.IsZapperConnected) { Console.WriteLine("->ZAPPER IS CONNECTED !!"); NesEmu.SetupZapper(new SDLZapper()); SdlDotNet.Input.Mouse.ShowCursor = true; } if (NesEmu.IsFourPlayers) { Console.WriteLine("->4 PLAYERS IS CONNECTED !!"); } Console.WriteLine(">Input settings initialized successfully."); }
public override void OnOpen() { // Load joystick stuff Joysticks.Initialize(); bool joyKeys = false; if (Joysticks.NumberOfJoysticks > 0) { Items[0].Options.Clear(); Items[0].Options.Add("NO"); Items[0].Options.Add("YES"); Items[0].SelectedOptionIndex = Settings.Key_VS_UseJoystick ? 1 : 0; useJoystick = Settings.Key_P4_UseJoystick; Items[1].Options.Clear(); if (Settings.Key_VS_JoystickIndex < Joysticks.NumberOfJoysticks) { for (int i = 0; i < Joysticks.NumberOfJoysticks; i++) { Items[1].Options.Add(i.ToString()); } Items[1].SelectedOptionIndex = Settings.Key_VS_JoystickIndex; } else { Items[1].SelectedOptionIndex = 0; } joystick = Joysticks.OpenJoystick(Items[1].SelectedOptionIndex); joyKeys = true; } else { useJoystick = false; Items[0].Options.Clear(); Items[0].Options.Add("N/A"); Items[0].SelectedOptionIndex = 0; Items[1].Options.Clear(); Items[1].Options.Add("N/A"); Items[1].SelectedOptionIndex = 0; } if (!(joyKeys && Settings.Key_VS_UseJoystick)) { Items[2].Options.Clear(); Items[2].Options.Add(Settings.Key_VS_CreditServiceButton); Items[3].Options.Clear(); Items[3].Options.Add(Settings.Key_VS_DIPSwitch1); Items[4].Options.Clear(); Items[4].Options.Add(Settings.Key_VS_DIPSwitch2); Items[5].Options.Clear(); Items[5].Options.Add(Settings.Key_VS_DIPSwitch3); Items[6].Options.Clear(); Items[6].Options.Add(Settings.Key_VS_DIPSwitch4); Items[7].Options.Clear(); Items[7].Options.Add(Settings.Key_VS_DIPSwitch5); Items[8].Options.Clear(); Items[8].Options.Add(Settings.Key_VS_DIPSwitch6); Items[9].Options.Clear(); Items[9].Options.Add(Settings.Key_VS_DIPSwitch7); Items[10].Options.Clear(); Items[10].Options.Add(Settings.Key_VS_DIPSwitch8); Items[11].Options.Clear(); Items[11].Options.Add(Settings.Key_VS_CreditLeftCoinSlot); Items[12].Options.Clear(); Items[12].Options.Add(Settings.Key_VS_CreditRightCoinSlot); } else { Items[2].Options.Clear(); Items[2].Options.Add(Settings.JoyKey_VS_CreditServiceButton); Items[3].Options.Clear(); Items[3].Options.Add(Settings.JoyKey_VS_DIPSwitch1); Items[4].Options.Clear(); Items[4].Options.Add(Settings.JoyKey_VS_DIPSwitch2); Items[5].Options.Clear(); Items[5].Options.Add(Settings.JoyKey_VS_DIPSwitch3); Items[6].Options.Clear(); Items[6].Options.Add(Settings.JoyKey_VS_DIPSwitch4); Items[7].Options.Clear(); Items[7].Options.Add(Settings.JoyKey_VS_DIPSwitch5); Items[8].Options.Clear(); Items[8].Options.Add(Settings.JoyKey_VS_DIPSwitch6); Items[9].Options.Clear(); Items[9].Options.Add(Settings.JoyKey_VS_DIPSwitch7); Items[10].Options.Clear(); Items[10].Options.Add(Settings.JoyKey_VS_DIPSwitch8); Items[11].Options.Clear(); Items[11].Options.Add(Settings.JoyKey_VS_CreditLeftCoinSlot); Items[12].Options.Clear(); Items[12].Options.Add(Settings.JoyKey_VS_CreditRightCoinSlot); } }