From efbc4980fcbc041567edf9e3962f7640d1df7489 Mon Sep 17 00:00:00 2001 From: zeromus Date: Wed, 17 Dec 2014 04:01:26 +0000 Subject: [PATCH] psx - 2 dual shock pads --- .../Consoles/Sony/PSX/Octoshock.cs | 30 ++++++++++++++++++ output/dll/octoshock.dll | Bin 839168 -> 839168 bytes psx/octoshock/psx/psx.cpp | 6 ++-- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs b/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs index 5072bb4a27..63e8e02229 100644 --- a/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs +++ b/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs @@ -288,7 +288,10 @@ namespace BizHawk.Emulation.Cores.Sony.PSX fixed (byte* pExeBuffer = exe) OctoshockDll.shock_MountEXE(psx, pExeBuffer, exe.Length); } + + //connect two dualshocks, thats all we're doing right now OctoshockDll.shock_Peripheral_Connect(psx, 0x01, OctoshockDll.ePeripheralType.DualShock); + OctoshockDll.shock_Peripheral_Connect(psx, 0x02, OctoshockDll.ePeripheralType.DualShock); //do this after framebuffers and peripherals and whatever crap are setup. kind of lame, but thats how it is for now StudySaveBufferSize(); @@ -354,6 +357,33 @@ namespace BizHawk.Emulation.Cores.Sony.PSX byte right_y = (byte)Controller.GetFloat("P1 RStick Y"); OctoshockDll.shock_Peripheral_SetPadInput(psx, 0x01, buttons, left_x, left_y, right_x, right_y); + + //dualshock style + buttons = 0; + if (Controller["P2 Select"]) buttons |= 1; + if (Controller["P2 L3"]) buttons |= 2; + if (Controller["P2 R3"]) buttons |= 4; + if (Controller["P2 Start"]) buttons |= 8; + if (Controller["P2 Up"]) buttons |= 16; + if (Controller["P2 Right"]) buttons |= 32; + if (Controller["P2 Down"]) buttons |= 64; + if (Controller["P2 Left"]) buttons |= 128; + if (Controller["P2 L2"]) buttons |= 256; + if (Controller["P2 R2"]) buttons |= 512; + if (Controller["P2 L1"]) buttons |= 1024; + if (Controller["P2 R1"]) buttons |= 2048; + if (Controller["P2 Triangle"]) buttons |= 4096; + if (Controller["P2 Circle"]) buttons |= 8192; + if (Controller["P2 Cross"]) buttons |= 16384; + if (Controller["P2 Square"]) buttons |= 32768; + if (Controller["P2 MODE"]) buttons |= 65536; + + left_x = (byte)Controller.GetFloat("P2 LStick X"); + left_y = (byte)Controller.GetFloat("P2 LStick Y"); + right_x = (byte)Controller.GetFloat("P2 RStick X"); + right_y = (byte)Controller.GetFloat("P2 RStick Y"); + + OctoshockDll.shock_Peripheral_SetPadInput(psx, 0x02, buttons, left_x, left_y, right_x, right_y); } /// diff --git a/output/dll/octoshock.dll b/output/dll/octoshock.dll index 83575947e8d38e570433e105934d658f97aad9d2..a5e1bdb29bd00d14ae39a90918b52391b04f3213 100644 GIT binary patch delta 6996 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 delta 6993 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