📄 expad_famlytrainer.cpp
字号:
//////////////////////////////////////////////////////////////////////////
// Famly Trainer //
//////////////////////////////////////////////////////////////////////////
void EXPAD_FamlyTrainer::Reset()
{
outbits = 0;
padbits = 0;
}
BYTE EXPAD_FamlyTrainer::Read4017()
{
return outbits;
}
void EXPAD_FamlyTrainer::Write4016( BYTE data )
{
outbits = 0;
if( !(data & 0x04) ) {
outbits = (BYTE)((~padbits<<1)&0x1E);
}
if( !(data & 0x02) ) {
outbits = (BYTE)((~padbits>>3)&0x1E);
}
if( !(data & 0x01) ) {
outbits = (BYTE)((~padbits>>7)&0x1E);
}
}
void EXPAD_FamlyTrainer::Sync()
{
padbits = 0;
if( nes->pad->GetExController() == PAD::EXCONTROLLER_FAMILYTRAINER_A ) {
if( Config.ExButtonCheck( 1, 3 ) ) padbits |= 1<<3;
if( Config.ExButtonCheck( 1, 2 ) ) padbits |= 1<<2;
if( Config.ExButtonCheck( 1, 1 ) ) padbits |= 1<<1;
if( Config.ExButtonCheck( 1, 0 ) ) padbits |= 1<<0;
if( Config.ExButtonCheck( 1, 7 ) ) padbits |= 1<<7;
if( Config.ExButtonCheck( 1, 6 ) ) padbits |= 1<<6;
if( Config.ExButtonCheck( 1, 5 ) ) padbits |= 1<<5;
if( Config.ExButtonCheck( 1, 4 ) ) padbits |= 1<<4;
if( Config.ExButtonCheck( 1, 11 ) ) padbits |= 1<<11;
if( Config.ExButtonCheck( 1, 10 ) ) padbits |= 1<<10;
if( Config.ExButtonCheck( 1, 9 ) ) padbits |= 1<<9;
if( Config.ExButtonCheck( 1, 8 ) ) padbits |= 1<<8;
}
if( nes->pad->GetExController() == PAD::EXCONTROLLER_FAMILYTRAINER_B ) {
if( Config.ExButtonCheck( 1, 0 ) ) padbits |= 1<<3;
if( Config.ExButtonCheck( 1, 1 ) ) padbits |= 1<<2;
if( Config.ExButtonCheck( 1, 2 ) ) padbits |= 1<<1;
if( Config.ExButtonCheck( 1, 3 ) ) padbits |= 1<<0;
if( Config.ExButtonCheck( 1, 4 ) ) padbits |= 1<<7;
if( Config.ExButtonCheck( 1, 5 ) ) padbits |= 1<<6;
if( Config.ExButtonCheck( 1, 6 ) ) padbits |= 1<<5;
if( Config.ExButtonCheck( 1, 7 ) ) padbits |= 1<<4;
if( Config.ExButtonCheck( 1, 8 ) ) padbits |= 1<<11;
if( Config.ExButtonCheck( 1, 9 ) ) padbits |= 1<<10;
if( Config.ExButtonCheck( 1, 10 ) ) padbits |= 1<<9;
if( Config.ExButtonCheck( 1, 11 ) ) padbits |= 1<<8;
}
}
void EXPAD_FamlyTrainer::SetSyncData( INT type, LONG data )
{
padbits = (DWORD)data;
}
LONG EXPAD_FamlyTrainer::GetSyncData( INT type )
{
return (LONG)padbits;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -