coleco: fix several games with broken input, support controller 2
This commit is contained in:
parent
ec21c5160f
commit
f23a86b20c
|
@ -37,13 +37,12 @@
|
|||
if (Controller["P1 Down"]) retval &= 0xFB;
|
||||
if (Controller["P1 Left"]) retval &= 0xF7;
|
||||
if (Controller["P1 L"]) retval &= 0x3F;
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (InputPortSelection == InputPortMode.Right)
|
||||
{
|
||||
byte retval = 0x0F;
|
||||
byte retval = 0;
|
||||
|
||||
// 0x00;
|
||||
if (Controller["P1 Key8"]) retval = 0x01;
|
||||
|
@ -62,20 +61,56 @@
|
|||
if (Controller["P1 Key6"]) retval = 0x0E;
|
||||
|
||||
if (Controller["P1 R"] == false) retval |= 0x40;
|
||||
retval |= 0x30; // always set these bits
|
||||
return retval;
|
||||
}
|
||||
|
||||
return 0xFF;
|
||||
return 0x7F;
|
||||
}
|
||||
|
||||
|
||||
byte ReadController2()
|
||||
{
|
||||
IsLagFrame = false;
|
||||
// TODO copy/paste from player 1 but.... debugging some things first
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
if (InputPortSelection == InputPortMode.Left)
|
||||
{
|
||||
byte retval = 0x7F;
|
||||
if (Controller["P2 Up"]) retval &= 0xFE;
|
||||
if (Controller["P2 Right"]) retval &= 0xFD;
|
||||
if (Controller["P2 Down"]) retval &= 0xFB;
|
||||
if (Controller["P2 Left"]) retval &= 0xF7;
|
||||
if (Controller["P2 L"]) retval &= 0x3F;
|
||||
return retval;
|
||||
}
|
||||
|
||||
if (InputPortSelection == InputPortMode.Right)
|
||||
{
|
||||
byte retval = 0;
|
||||
|
||||
// 0x00;
|
||||
if (Controller["P2 Key8"]) retval = 0x01;
|
||||
if (Controller["P2 Key4"]) retval = 0x02;
|
||||
if (Controller["P2 Key5"]) retval = 0x03;
|
||||
// 0x04;
|
||||
if (Controller["P2 Key7"]) retval = 0x05;
|
||||
if (Controller["P2 Pound"]) retval = 0x06;
|
||||
if (Controller["P2 Key2"]) retval = 0x07;
|
||||
// 0x08;
|
||||
if (Controller["P2 Star"]) retval = 0x09;
|
||||
if (Controller["P2 Key0"]) retval = 0x0A;
|
||||
if (Controller["P2 Key9"]) retval = 0x0B;
|
||||
if (Controller["P2 Key3"]) retval = 0x0C;
|
||||
if (Controller["P2 Key1"]) retval = 0x0D;
|
||||
if (Controller["P2 Key6"]) retval = 0x0E;
|
||||
|
||||
if (Controller["P2 R"] == false) retval |= 0x40;
|
||||
retval |= 0x30; // always set these bits
|
||||
return retval;
|
||||
}
|
||||
|
||||
return 0x7F;
|
||||
}
|
||||
|
||||
public int Frame { get; set; }
|
||||
public int LagCount { get { return _lagcount; } set { _lagcount = value; } }
|
||||
|
|
Loading…
Reference in New Issue