49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
namespace VirtualNes.Core
|
|
{
|
|
public class PAD
|
|
{
|
|
protected NES nes;
|
|
protected int excontroller_select;
|
|
protected EXPAD expad;
|
|
protected bool bStrobe;
|
|
protected bool bSwapButton;
|
|
protected bool bSwapPlayer;
|
|
protected bool bZapperMode;
|
|
protected VSType nVSSwapType;
|
|
protected byte[] padbit = new byte[4];
|
|
protected byte micbit;
|
|
protected byte[] padbitsync = new byte[4];
|
|
protected byte micbitsync;
|
|
|
|
public PAD(NES parent)
|
|
{
|
|
nes = parent;
|
|
excontroller_select = 0;
|
|
expad = null;
|
|
bStrobe = false;
|
|
bSwapButton = false;
|
|
bSwapPlayer = false;
|
|
bZapperMode = false;
|
|
nVSSwapType = VSType.VS_TYPE0;
|
|
|
|
padbit[0] = padbit[1] = padbit[2] = padbit[3] = 0;
|
|
micbit = 0;
|
|
|
|
padbitsync[0] = padbitsync[1] = padbitsync[2] = padbitsync[3] = 0;
|
|
micbitsync = 0;
|
|
}
|
|
}
|
|
|
|
public enum VSType
|
|
{
|
|
VS_TYPE0 = 0, // SELECT1P=START1P/SELECT2P=START2P 1P/2P No reverse
|
|
VS_TYPE1, // SELECT1P=START1P/SELECT2P=START2P 1P/2P Reverse
|
|
VS_TYPE2, // SELECT1P=START1P/START1P =START2P 1P/2P No reverse
|
|
VS_TYPE3, // SELECT1P=START1P/START1P =START2P 1P/2P Reverse
|
|
VS_TYPE4, // SELECT1P=START1P/SELECT2P=START2P 1P/2P No reverse (Protection)
|
|
VS_TYPE5, // SELECT1P=START1P/SELECT2P=START2P 1P/2P Reverse (Protection)
|
|
VS_TYPE6, // SELECT1P=START1P/SELECT2P=START2P 1P/2P Reverse (For Golf)
|
|
VS_TYPEZ, // ZAPPER
|
|
}
|
|
}
|