Dummy load options for joystick and serial card to avoid warning on the screen.
Signed-off-by: Andrea Odetti <mariofutire@gmail.com>
This commit is contained in:
parent
9afb9c631f
commit
5e2025d36c
2 changed files with 105 additions and 2 deletions
|
@ -11,6 +11,28 @@ void JoySaveSnapshot(YamlSaveHelper&)
|
|||
{
|
||||
}
|
||||
|
||||
void JoyLoadSnapshot(YamlLoadHelper&)
|
||||
#define SS_YAML_KEY_COUNTERRESETCYCLE "Counter Reset Cycle"
|
||||
#define SS_YAML_KEY_JOY0TRIMX "Joystick0 TrimX"
|
||||
#define SS_YAML_KEY_JOY0TRIMY "Joystick0 TrimY"
|
||||
#define SS_YAML_KEY_JOY1TRIMX "Joystick1 TrimX"
|
||||
#define SS_YAML_KEY_JOY1TRIMY "Joystick1 TrimY"
|
||||
|
||||
static std::string JoyGetSnapshotStructName(void)
|
||||
{
|
||||
static const std::string name("Joystick");
|
||||
return name;
|
||||
}
|
||||
|
||||
void JoyLoadSnapshot(YamlLoadHelper& yamlLoadHelper)
|
||||
{
|
||||
if (!yamlLoadHelper.GetSubMap(JoyGetSnapshotStructName()))
|
||||
return;
|
||||
|
||||
yamlLoadHelper.LoadUint64(SS_YAML_KEY_COUNTERRESETCYCLE);
|
||||
yamlLoadHelper.LoadInt(SS_YAML_KEY_JOY0TRIMX);
|
||||
yamlLoadHelper.LoadInt(SS_YAML_KEY_JOY0TRIMY);
|
||||
yamlLoadHelper.LoadInt(SS_YAML_KEY_JOY1TRIMX); // dump value
|
||||
yamlLoadHelper.LoadInt(SS_YAML_KEY_JOY1TRIMY); // dump value
|
||||
|
||||
yamlLoadHelper.PopMap();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#include "Common.h"
|
||||
#include "SerialComms.h"
|
||||
#include "YamlHelper.h"
|
||||
|
||||
|
||||
CSuperSerialCard::CSuperSerialCard(UINT slot) :
|
||||
|
@ -21,8 +22,88 @@ void CSuperSerialCard::CommInitialize(LPBYTE pCxRomPeripheral, UINT uSlot)
|
|||
{
|
||||
}
|
||||
|
||||
bool CSuperSerialCard::LoadSnapshot(YamlLoadHelper&, unsigned int, unsigned int)
|
||||
// Unit version history:
|
||||
// 2: Added: Support DCD flag
|
||||
// Removed: redundant data (encapsulated in Command & Control bytes)
|
||||
static const UINT kUNIT_VERSION = 2;
|
||||
|
||||
#define SS_YAML_VALUE_CARD_SSC "Super Serial Card"
|
||||
|
||||
#define SS_YAML_KEY_DIPSWDEFAULT "DIPSW Default"
|
||||
#define SS_YAML_KEY_DIPSWCURRENT "DIPSW Current"
|
||||
|
||||
#define SS_YAML_KEY_BAUDRATE "Baud Rate"
|
||||
#define SS_YAML_KEY_FWMODE "Firmware mode"
|
||||
#define SS_YAML_KEY_STOPBITS "Stop Bits"
|
||||
#define SS_YAML_KEY_BYTESIZE "Byte Size"
|
||||
#define SS_YAML_KEY_PARITY "Parity"
|
||||
#define SS_YAML_KEY_LINEFEED "Linefeed"
|
||||
#define SS_YAML_KEY_INTERRUPTS "Interrupts"
|
||||
#define SS_YAML_KEY_CONTROL "Control Byte"
|
||||
#define SS_YAML_KEY_COMMAND "Command Byte"
|
||||
#define SS_YAML_KEY_INACTIVITY "Comm Inactivity"
|
||||
#define SS_YAML_KEY_TXIRQENABLED "TX IRQ Enabled"
|
||||
#define SS_YAML_KEY_RXIRQENABLED "RX IRQ Enabled"
|
||||
#define SS_YAML_KEY_TXIRQPENDING "TX IRQ Pending"
|
||||
#define SS_YAML_KEY_RXIRQPENDING "RX IRQ Pending"
|
||||
#define SS_YAML_KEY_WRITTENTX "Written TX"
|
||||
#define SS_YAML_KEY_SERIALPORTNAME "Serial Port Name"
|
||||
#define SS_YAML_KEY_SUPPORT_DCD "Support DCD"
|
||||
|
||||
void CSuperSerialCard::LoadSnapshotDIPSW(YamlLoadHelper& yamlLoadHelper, std::string key, SSC_DIPSW& dipsw)
|
||||
{
|
||||
if (!yamlLoadHelper.GetSubMap(key))
|
||||
throw std::string("Card: Expected key: " + key);
|
||||
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_BAUDRATE);
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_FWMODE);
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_STOPBITS);
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_BYTESIZE);
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_PARITY);
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_LINEFEED);
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_INTERRUPTS);
|
||||
|
||||
yamlLoadHelper.PopMap();
|
||||
}
|
||||
|
||||
bool CSuperSerialCard::LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT slot, UINT version)
|
||||
{
|
||||
if (slot != 2) // fixme
|
||||
throw std::string("Card: wrong slot");
|
||||
|
||||
if (version < 1 || version > kUNIT_VERSION)
|
||||
throw std::string("Card: wrong version");
|
||||
|
||||
SSC_DIPSW dipsw;
|
||||
LoadSnapshotDIPSW(yamlLoadHelper, SS_YAML_KEY_DIPSWDEFAULT, dipsw);
|
||||
LoadSnapshotDIPSW(yamlLoadHelper, SS_YAML_KEY_DIPSWCURRENT, dipsw);
|
||||
|
||||
if (version == 1) // Consume redundant/obsolete data
|
||||
{
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_PARITY); // Redundant: derived from uCommandByte in UpdateCommandReg()
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_TXIRQENABLED); // Redundant: derived from uCommandByte in UpdateCommandReg()
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_RXIRQENABLED); // Redundant: derived from uCommandByte in UpdateCommandReg()
|
||||
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_BAUDRATE); // Redundant: derived from uControlByte in UpdateControlReg()
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_STOPBITS); // Redundant: derived from uControlByte in UpdateControlReg()
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_BYTESIZE); // Redundant: derived from uControlByte in UpdateControlReg()
|
||||
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_INACTIVITY); // Obsolete (so just consume)
|
||||
}
|
||||
else if (version >= 2)
|
||||
{
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_SUPPORT_DCD);
|
||||
}
|
||||
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_COMMAND);
|
||||
yamlLoadHelper.LoadUint(SS_YAML_KEY_CONTROL);
|
||||
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_TXIRQPENDING);
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_RXIRQPENDING);
|
||||
yamlLoadHelper.LoadBool(SS_YAML_KEY_WRITTENTX);
|
||||
|
||||
yamlLoadHelper.LoadString(SS_YAML_KEY_SERIALPORTNAME);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue