Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
de2071476e
24 changed files with 74 additions and 119 deletions
|
@ -39,7 +39,7 @@ public:
|
||||||
virtual ~Card(void) {}
|
virtual ~Card(void) {}
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral) = 0;
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral) = 0;
|
||||||
virtual void Init(void) = 0;
|
virtual void Destroy() = 0;
|
||||||
virtual void Reset(const bool powerCycle) = 0;
|
virtual void Reset(const bool powerCycle) = 0;
|
||||||
virtual void Update(const ULONG nExecutedCycles) = 0;
|
virtual void Update(const ULONG nExecutedCycles) = 0;
|
||||||
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper) = 0;
|
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper) = 0;
|
||||||
|
@ -74,7 +74,7 @@ public:
|
||||||
virtual ~EmptyCard(void) {}
|
virtual ~EmptyCard(void) {}
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral) {}
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral) {}
|
||||||
virtual void Init(void) {}
|
virtual void Destroy() {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle) {}
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper) {}
|
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper) {}
|
||||||
|
@ -90,7 +90,7 @@ public:
|
||||||
virtual ~DummyCard(void) {}
|
virtual ~DummyCard(void) {}
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
virtual void Init(void) {}
|
virtual void Destroy() {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle) {}
|
||||||
virtual void Update(const ULONG nExecutedCycles);
|
virtual void Update(const ULONG nExecutedCycles);
|
||||||
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
||||||
|
|
|
@ -251,3 +251,25 @@ void CardManager::SaveSnapshot(YamlSaveHelper& yamlSaveHelper)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CardManager::Reset(const bool powerCycle)
|
||||||
|
{
|
||||||
|
for (UINT i = SLOT0; i < NUM_SLOTS; ++i)
|
||||||
|
{
|
||||||
|
if (m_slot[i])
|
||||||
|
{
|
||||||
|
m_slot[i]->Reset(powerCycle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CardManager::Destroy()
|
||||||
|
{
|
||||||
|
for (UINT i = SLOT0; i < NUM_SLOTS; ++i)
|
||||||
|
{
|
||||||
|
if (m_slot[i])
|
||||||
|
{
|
||||||
|
m_slot[i]->Destroy();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -58,6 +58,8 @@ public:
|
||||||
class LanguageCardUnit* GetLanguageCard(void) { return m_pLanguageCard; }
|
class LanguageCardUnit* GetLanguageCard(void) { return m_pLanguageCard; }
|
||||||
|
|
||||||
void InitializeIO(LPBYTE pCxRomPeripheral);
|
void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
|
void Reset(const bool powerCycle);
|
||||||
|
void Destroy();
|
||||||
void Update(const ULONG nExecutedCycles);
|
void Update(const ULONG nExecutedCycles);
|
||||||
void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
||||||
|
|
||||||
|
|
|
@ -2906,9 +2906,8 @@ Update_t CmdCursorLineUp (int nArgs)
|
||||||
static std::vector<LookAhead_t> aTopCandidates;
|
static std::vector<LookAhead_t> aTopCandidates;
|
||||||
LookAhead_t tCandidate;
|
LookAhead_t tCandidate;
|
||||||
|
|
||||||
// if (! aBestTop.capacity() )
|
aTopCandidates.clear();
|
||||||
aTopCandidates.reserve( MAX_LOOK_AHEAD );
|
aTopCandidates.reserve( MAX_LOOK_AHEAD );
|
||||||
aTopCandidates.erase( aTopCandidates.begin(), aTopCandidates.end() );
|
|
||||||
|
|
||||||
WORD nTop = g_nDisasmTopAddress;
|
WORD nTop = g_nDisasmTopAddress;
|
||||||
WORD iTop = 0;
|
WORD iTop = 0;
|
||||||
|
@ -5317,7 +5316,8 @@ int _SearchMemoryFind(
|
||||||
WORD nAddressEnd )
|
WORD nAddressEnd )
|
||||||
{
|
{
|
||||||
int nFound = 0;
|
int nFound = 0;
|
||||||
g_vMemorySearchResults.erase( g_vMemorySearchResults.begin(), g_vMemorySearchResults.end() );
|
|
||||||
|
g_vMemorySearchResults.clear();
|
||||||
g_vMemorySearchResults.push_back( NO_6502_TARGET );
|
g_vMemorySearchResults.push_back( NO_6502_TARGET );
|
||||||
|
|
||||||
WORD nAddress;
|
WORD nAddress;
|
||||||
|
@ -5614,7 +5614,7 @@ Update_t _CmdMemorySearch (int nArgs, bool bTextIsAscii = true )
|
||||||
// must be numeric .. make sure not too big
|
// must be numeric .. make sure not too big
|
||||||
if (pArg->nArgLen > 2)
|
if (pArg->nArgLen > 2)
|
||||||
{
|
{
|
||||||
vMemorySearchValues.erase( vMemorySearchValues.begin(), vMemorySearchValues.end() );
|
vMemorySearchValues.clear();
|
||||||
return HelpLastCommand();
|
return HelpLastCommand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5661,7 +5661,7 @@ Update_t _CmdMemorySearch (int nArgs, bool bTextIsAscii = true )
|
||||||
}
|
}
|
||||||
|
|
||||||
_SearchMemoryFind( vMemorySearchValues, nAddressStart, nAddressEnd );
|
_SearchMemoryFind( vMemorySearchValues, nAddressStart, nAddressEnd );
|
||||||
vMemorySearchValues.erase( vMemorySearchValues.begin(), vMemorySearchValues.end() );
|
vMemorySearchValues.clear();
|
||||||
|
|
||||||
return _SearchMemoryDisplay();
|
return _SearchMemoryDisplay();
|
||||||
}
|
}
|
||||||
|
@ -7411,7 +7411,7 @@ int FindParam(LPCTSTR pLookupName, Match_e eMatch, int & iParam_, int iParamBegi
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
int FindCommand( LPCTSTR pName, CmdFuncPtr_t & pFunction_, int * iCommand_ )
|
int FindCommand( LPCTSTR pName, CmdFuncPtr_t & pFunction_, int * iCommand_ )
|
||||||
{
|
{
|
||||||
g_vPotentialCommands.erase( g_vPotentialCommands.begin(), g_vPotentialCommands.end() );
|
g_vPotentialCommands.clear();
|
||||||
|
|
||||||
int nFound = 0;
|
int nFound = 0;
|
||||||
int nLen = _tcslen( pName );
|
int nLen = _tcslen( pName );
|
||||||
|
@ -7450,7 +7450,7 @@ int FindCommand( LPCTSTR pName, CmdFuncPtr_t & pFunction_, int * iCommand_ )
|
||||||
// *iCommand_ = iCommand;
|
// *iCommand_ = iCommand;
|
||||||
|
|
||||||
nFound = 1; // Exact match takes precidence over fuzzy matches
|
nFound = 1; // Exact match takes precidence over fuzzy matches
|
||||||
g_vPotentialCommands.erase( g_vPotentialCommands.begin(), g_vPotentialCommands.end() );
|
g_vPotentialCommands.clear();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8513,7 +8513,7 @@ static void DebugEnd ()
|
||||||
g_hTraceFile = NULL;
|
g_hTraceFile = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_vMemorySearchResults.erase( g_vMemorySearchResults.begin(), g_vMemorySearchResults.end() );
|
g_vMemorySearchResults.clear();
|
||||||
|
|
||||||
g_nAppMode = MODE_RUNNING;
|
g_nAppMode = MODE_RUNNING;
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ void MemoryTextFile_t::GetLinePointers()
|
||||||
if (! m_bDirty)
|
if (! m_bDirty)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_vLines.erase( m_vLines.begin(), m_vLines.end() );
|
m_vLines.clear();
|
||||||
char *pBegin = & m_vBuffer[ 0 ];
|
char *pBegin = & m_vBuffer[ 0 ];
|
||||||
char *pLast = & m_vBuffer[ m_vBuffer.size()-1 ];
|
char *pLast = & m_vBuffer[ m_vBuffer.size()-1 ];
|
||||||
|
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
bool Read( const std::string & pFileName );
|
bool Read( const std::string & pFileName );
|
||||||
void Reset()
|
void Reset()
|
||||||
{
|
{
|
||||||
m_vBuffer.erase( m_vBuffer.begin(), m_vBuffer.end() );
|
m_vBuffer.clear();
|
||||||
m_vLines.erase( m_vLines.begin(), m_vLines.end() );
|
m_vLines.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int GetNumLines()
|
inline int GetNumLines()
|
||||||
|
|
|
@ -127,13 +127,12 @@ public:
|
||||||
Disk2InterfaceCard(UINT slot);
|
Disk2InterfaceCard(UINT slot);
|
||||||
virtual ~Disk2InterfaceCard(void);
|
virtual ~Disk2InterfaceCard(void);
|
||||||
|
|
||||||
virtual void Init(void) {};
|
|
||||||
virtual void Reset(const bool powerCycle);
|
virtual void Reset(const bool powerCycle);
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
virtual void Update(const ULONG nExecutedCycles);
|
virtual void Update(const ULONG nExecutedCycles);
|
||||||
|
|
||||||
void Destroy(void); // no, doesn't "destroy" the disk image. DiskIIManagerShutdown()
|
virtual void Destroy(void); // no, doesn't "destroy" the disk image. DiskIIManagerShutdown()
|
||||||
|
|
||||||
void Boot(void);
|
void Boot(void);
|
||||||
void FlushCurrentTrack(const int drive);
|
void FlushCurrentTrack(const int drive);
|
||||||
|
|
|
@ -11,7 +11,7 @@ public:
|
||||||
}
|
}
|
||||||
virtual ~FourPlayCard(void) {}
|
virtual ~FourPlayCard(void) {}
|
||||||
|
|
||||||
virtual void Init(void) {}
|
virtual void Destroy(void) {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle) {}
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
|
||||||
|
|
|
@ -85,12 +85,11 @@ public:
|
||||||
HarddiskInterfaceCard(UINT slot);
|
HarddiskInterfaceCard(UINT slot);
|
||||||
virtual ~HarddiskInterfaceCard(void);
|
virtual ~HarddiskInterfaceCard(void);
|
||||||
|
|
||||||
virtual void Init(void) {}
|
|
||||||
virtual void Reset(const bool powerCycle);
|
virtual void Reset(const bool powerCycle);
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
void Destroy(void);
|
virtual void Destroy(void);
|
||||||
const std::string& GetFullName(const int iDrive);
|
const std::string& GetFullName(const int iDrive);
|
||||||
const std::string& HarddiskGetFullPathName(const int iDrive);
|
const std::string& HarddiskGetFullPathName(const int iDrive);
|
||||||
void GetFilenameAndPathForSaveState(std::string& filename, std::string& path);
|
void GetFilenameAndPathForSaveState(std::string& filename, std::string& path);
|
||||||
|
|
|
@ -14,7 +14,7 @@ public:
|
||||||
|
|
||||||
virtual ~LanguageCardUnit(void);
|
virtual ~LanguageCardUnit(void);
|
||||||
|
|
||||||
virtual void Init(void) {}
|
virtual void Destroy(void) {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle) {}
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,7 @@ CMouseInterface::CMouseInterface(UINT slot) :
|
||||||
|
|
||||||
// Uninitialize();
|
// Uninitialize();
|
||||||
InitializeROM();
|
InitializeROM();
|
||||||
Reset();
|
Reset(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
CMouseInterface::~CMouseInterface()
|
CMouseInterface::~CMouseInterface()
|
||||||
|
@ -193,7 +193,7 @@ void CMouseInterface::Uninitialize()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void CMouseInterface::Reset()
|
void CMouseInterface::Reset(const bool /* powerCycle */)
|
||||||
{
|
{
|
||||||
m_by6821A = 0;
|
m_by6821A = 0;
|
||||||
m_by6821B = 0x40; // Set PB6
|
m_by6821B = 0x40; // Set PB6
|
||||||
|
|
|
@ -11,13 +11,12 @@ public:
|
||||||
CMouseInterface(UINT slot);
|
CMouseInterface(UINT slot);
|
||||||
virtual ~CMouseInterface();
|
virtual ~CMouseInterface();
|
||||||
|
|
||||||
virtual void Init(void) {}
|
virtual void Destroy() {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle);
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
// void Uninitialize();
|
// void Uninitialize();
|
||||||
void Reset();
|
|
||||||
UINT GetSlot(void) { return m_slot; }
|
UINT GetSlot(void) { return m_slot; }
|
||||||
static BYTE __stdcall IORead(WORD PC, WORD uAddr, BYTE bWrite, BYTE uValue, ULONG nExecutedCycles);
|
static BYTE __stdcall IORead(WORD PC, WORD uAddr, BYTE bWrite, BYTE uValue, ULONG nExecutedCycles);
|
||||||
static BYTE __stdcall IOWrite(WORD PC, WORD uAddr, BYTE bWrite, BYTE uValue, ULONG nExecutedCycles);
|
static BYTE __stdcall IOWrite(WORD PC, WORD uAddr, BYTE bWrite, BYTE uValue, ULONG nExecutedCycles);
|
||||||
|
|
|
@ -11,7 +11,7 @@ public:
|
||||||
}
|
}
|
||||||
virtual ~SAMCard(void) {}
|
virtual ~SAMCard(void) {}
|
||||||
|
|
||||||
virtual void Init(void) {}
|
virtual void Destroy(void) {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle) {}
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
}
|
}
|
||||||
virtual ~SNESMAXCard(void) {}
|
virtual ~SNESMAXCard(void) {}
|
||||||
|
|
||||||
virtual void Init(void) {}
|
virtual void Destroy(void) {}
|
||||||
virtual void Reset(const bool powerCycle) {}
|
virtual void Reset(const bool powerCycle) {}
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,10 @@ void CSuperSerialCard::InternalReset()
|
||||||
|
|
||||||
CSuperSerialCard::~CSuperSerialCard()
|
CSuperSerialCard::~CSuperSerialCard()
|
||||||
{
|
{
|
||||||
|
CloseComm();
|
||||||
|
|
||||||
|
delete [] m_pExpansionRom;
|
||||||
|
m_pExpansionRom = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
@ -959,19 +963,15 @@ void CSuperSerialCard::InitializeIO(LPBYTE pCxRomPeripheral)
|
||||||
if (m_pExpansionRom == NULL)
|
if (m_pExpansionRom == NULL)
|
||||||
{
|
{
|
||||||
m_pExpansionRom = new BYTE [SSC_FW_SIZE];
|
m_pExpansionRom = new BYTE [SSC_FW_SIZE];
|
||||||
|
|
||||||
if (m_pExpansionRom)
|
|
||||||
memcpy(m_pExpansionRom, pData, SSC_FW_SIZE);
|
memcpy(m_pExpansionRom, pData, SSC_FW_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
RegisterIoHandler(m_slot, &CSuperSerialCard::SSC_IORead, &CSuperSerialCard::SSC_IOWrite, NULL, NULL, this, m_pExpansionRom);
|
RegisterIoHandler(m_slot, &CSuperSerialCard::SSC_IORead, &CSuperSerialCard::SSC_IOWrite, NULL, NULL, this, m_pExpansionRom);
|
||||||
}
|
}
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
void CSuperSerialCard::CommReset()
|
void CSuperSerialCard::Reset(const bool /* powerCycle */)
|
||||||
{
|
{
|
||||||
CloseComm();
|
CloseComm();
|
||||||
|
|
||||||
|
@ -980,16 +980,6 @@ void CSuperSerialCard::CommReset()
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
|
||||||
void CSuperSerialCard::CommDestroy()
|
|
||||||
{
|
|
||||||
CommReset();
|
|
||||||
|
|
||||||
delete [] m_pExpansionRom;
|
|
||||||
m_pExpansionRom = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
|
|
||||||
// dwNewSerialPortItem is the drop-down list item
|
// dwNewSerialPortItem is the drop-down list item
|
||||||
void CSuperSerialCard::CommSetSerialPort(DWORD dwNewSerialPortItem)
|
void CSuperSerialCard::CommSetSerialPort(DWORD dwNewSerialPortItem)
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,19 +27,16 @@ class CSuperSerialCard : public Card
|
||||||
public:
|
public:
|
||||||
CSuperSerialCard(UINT slot);
|
CSuperSerialCard(UINT slot);
|
||||||
virtual ~CSuperSerialCard();
|
virtual ~CSuperSerialCard();
|
||||||
|
|
||||||
virtual void Init(void) {}
|
|
||||||
virtual void Reset(const bool powerCycle) {}
|
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void Reset(const bool powerCycle);
|
||||||
void CommReset();
|
virtual void Destroy() {}
|
||||||
void CommDestroy();
|
|
||||||
void CommSetSerialPort(DWORD dwNewSerialPortItem);
|
|
||||||
static const std::string& GetSnapshotCardName(void);
|
static const std::string& GetSnapshotCardName(void);
|
||||||
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
||||||
virtual bool LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version);
|
virtual bool LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version);
|
||||||
|
|
||||||
|
void CommSetSerialPort(DWORD dwNewSerialPortItem);
|
||||||
|
|
||||||
std::string const& GetSerialPortChoices();
|
std::string const& GetSerialPortChoices();
|
||||||
DWORD GetSerialPort() { return m_dwSerialPortItem; } // Drop-down list item
|
DWORD GetSerialPort() { return m_dwSerialPortItem; } // Drop-down list item
|
||||||
const std::string& GetSerialPortName() { return m_currentSerialPortName; }
|
const std::string& GetSerialPortName() { return m_currentSerialPortName; }
|
||||||
|
|
|
@ -341,7 +341,7 @@ pcap_t * TfePcapOpenAdapter(const std::string & interface_name)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(g_fh) fprintf(g_fh, "PCAP: Succesfully opened adapter: '%s'\n", TfePcapDevice->name);
|
if(g_fh) fprintf(g_fh, "PCAP: Successfully opened adapter: '%s'\n", TfePcapDevice->name);
|
||||||
|
|
||||||
tfe_arch_enumadapter_close();
|
tfe_arch_enumadapter_close();
|
||||||
return TfePcapFP;
|
return TfePcapFP;
|
||||||
|
|
|
@ -188,12 +188,6 @@ Uthernet1::Uthernet1(UINT slot) : Card(CT_Uthernet, slot)
|
||||||
Init();
|
Init();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Uthernet1::InitialiseBackend()
|
|
||||||
{
|
|
||||||
Destroy();
|
|
||||||
networkBackend = GetFrame().CreateNetworkBackend();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Uthernet1::Init(void)
|
void Uthernet1::Init(void)
|
||||||
{
|
{
|
||||||
// Initialise all state member variables
|
// Initialise all state member variables
|
||||||
|
@ -976,7 +970,9 @@ void Uthernet1::tfe_transmit(
|
||||||
static BYTE __stdcall TfeIoCxxx (WORD programcounter, WORD address, BYTE write, BYTE value, ULONG nCycles)
|
static BYTE __stdcall TfeIoCxxx (WORD programcounter, WORD address, BYTE write, BYTE value, ULONG nCycles)
|
||||||
{
|
{
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
if (!IS_APPLE2)
|
const UINT slot = (address >> 8) & 0xf;
|
||||||
|
|
||||||
|
if (!IS_APPLE2 && slot == SLOT3)
|
||||||
{
|
{
|
||||||
// Derived from UTAIIe:5-28
|
// Derived from UTAIIe:5-28
|
||||||
//
|
//
|
||||||
|
@ -1015,18 +1011,13 @@ static BYTE __stdcall TfeIo (WORD programcounter, WORD address, BYTE write, BYTE
|
||||||
|
|
||||||
void Uthernet1::InitializeIO(LPBYTE pCxRomPeripheral)
|
void Uthernet1::InitializeIO(LPBYTE pCxRomPeripheral)
|
||||||
{
|
{
|
||||||
InitialiseBackend();
|
networkBackend = GetFrame().CreateNetworkBackend();
|
||||||
if (networkBackend->isValid())
|
if (networkBackend->isValid())
|
||||||
{
|
{
|
||||||
RegisterIoHandler(m_slot, TfeIo, TfeIo, TfeIoCxxx, TfeIoCxxx, this, NULL);
|
RegisterIoHandler(m_slot, TfeIo, TfeIo, TfeIoCxxx, TfeIoCxxx, this, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Uthernet1::Destroy()
|
|
||||||
{
|
|
||||||
networkBackend.reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Uthernet1::Reset(const bool powerCycle)
|
void Uthernet1::Reset(const bool powerCycle)
|
||||||
{
|
{
|
||||||
if (powerCycle)
|
if (powerCycle)
|
||||||
|
|
|
@ -123,15 +123,13 @@ class Uthernet1 : public Card
|
||||||
public:
|
public:
|
||||||
Uthernet1(UINT slot);
|
Uthernet1(UINT slot);
|
||||||
|
|
||||||
|
virtual void Destroy(void) {}
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
virtual void Init(void);
|
|
||||||
virtual void Reset(const bool powerCycle);
|
virtual void Reset(const bool powerCycle);
|
||||||
virtual void Update(const ULONG nExecutedCycles);
|
virtual void Update(const ULONG nExecutedCycles);
|
||||||
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
virtual void SaveSnapshot(YamlSaveHelper& yamlSaveHelper);
|
||||||
virtual bool LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version);
|
virtual bool LoadSnapshot(YamlLoadHelper& yamlLoadHelper, UINT version);
|
||||||
|
|
||||||
void Destroy();
|
|
||||||
|
|
||||||
BYTE tfe_read(WORD ioaddress);
|
BYTE tfe_read(WORD ioaddress);
|
||||||
void tfe_store(WORD ioaddress, BYTE byte);
|
void tfe_store(WORD ioaddress, BYTE byte);
|
||||||
|
|
||||||
|
@ -139,7 +137,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
void InitialiseBackend();
|
void Init();
|
||||||
|
|
||||||
void tfe_sideeffects_write_pp_on_txframe(WORD ppaddress);
|
void tfe_sideeffects_write_pp_on_txframe(WORD ppaddress);
|
||||||
void tfe_sideeffects_write_pp(WORD ppaddress, int oddaddress);
|
void tfe_sideeffects_write_pp(WORD ppaddress, int oddaddress);
|
||||||
|
|
|
@ -288,11 +288,6 @@ Uthernet2::Uthernet2(UINT slot) : Card(CT_Uthernet2, slot)
|
||||||
Reset(true);
|
Reset(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Uthernet2::Destroy()
|
|
||||||
{
|
|
||||||
myNetworkBackend.reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Uthernet2::setSocketModeRegister(const size_t i, const uint16_t address, const uint8_t value)
|
void Uthernet2::setSocketModeRegister(const size_t i, const uint16_t address, const uint8_t value)
|
||||||
{
|
{
|
||||||
myMemory[address] = value;
|
myMemory[address] = value;
|
||||||
|
@ -1077,7 +1072,6 @@ void Uthernet2::Reset(const bool powerCycle)
|
||||||
{
|
{
|
||||||
// dataAddress is NOT reset, see page 10 of Uthernet II
|
// dataAddress is NOT reset, see page 10 of Uthernet II
|
||||||
myDataAddress = 0;
|
myDataAddress = 0;
|
||||||
myNetworkBackend.reset();
|
|
||||||
myNetworkBackend = GetFrame().CreateNetworkBackend();
|
myNetworkBackend = GetFrame().CreateNetworkBackend();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1168,10 +1162,6 @@ void Uthernet2::InitializeIO(LPBYTE pCxRomPeripheral)
|
||||||
RegisterIoHandler(m_slot, u2_C0, u2_C0, nullptr, nullptr, this, nullptr);
|
RegisterIoHandler(m_slot, u2_C0, u2_C0, nullptr, nullptr, this, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Uthernet2::Init()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void Uthernet2::Update(const ULONG nExecutedCycles)
|
void Uthernet2::Update(const ULONG nExecutedCycles)
|
||||||
{
|
{
|
||||||
myNetworkBackend->update(nExecutedCycles);
|
myNetworkBackend->update(nExecutedCycles);
|
||||||
|
|
|
@ -56,10 +56,8 @@ public:
|
||||||
|
|
||||||
Uthernet2(UINT slot);
|
Uthernet2(UINT slot);
|
||||||
|
|
||||||
void Destroy();
|
virtual void Destroy(void) {}
|
||||||
|
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
virtual void Init();
|
|
||||||
virtual void Reset(const bool powerCycle);
|
virtual void Reset(const bool powerCycle);
|
||||||
virtual void Update(const ULONG nExecutedCycles);
|
virtual void Update(const ULONG nExecutedCycles);
|
||||||
virtual void SaveSnapshot(YamlSaveHelper &yamlSaveHelper);
|
virtual void SaveSnapshot(YamlSaveHelper &yamlSaveHelper);
|
||||||
|
|
|
@ -534,15 +534,9 @@ void GetAppleWindowTitle()
|
||||||
// todo: consolidate CtrlReset() and ResetMachineState()
|
// todo: consolidate CtrlReset() and ResetMachineState()
|
||||||
void ResetMachineState()
|
void ResetMachineState()
|
||||||
{
|
{
|
||||||
GetCardMgr().GetDisk2CardMgr().Reset(true);
|
LogFileOutput("Apple II power-cycle\n");
|
||||||
if (GetCardMgr().QuerySlot(SLOT7) == CT_GenericHDD)
|
|
||||||
GetCardMgr().GetRef(SLOT7).Reset(true);
|
GetCardMgr().Reset(true);
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_VidHD)
|
|
||||||
GetCardMgr().GetRef(SLOT3).Reset(true);
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet)
|
|
||||||
GetCardMgr().GetRef(SLOT3).Reset(true);
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet2)
|
|
||||||
GetCardMgr().GetRef(SLOT3).Reset(true);
|
|
||||||
g_bFullSpeed = 0; // Might've hit reset in middle of InternalCpuExecute() - so beep may get (partially) muted
|
g_bFullSpeed = 0; // Might've hit reset in middle of InternalCpuExecute() - so beep may get (partially) muted
|
||||||
|
|
||||||
MemReset(); // calls CpuInitialize(), CNoSlotClock.Reset()
|
MemReset(); // calls CpuInitialize(), CNoSlotClock.Reset()
|
||||||
|
@ -551,14 +545,10 @@ void ResetMachineState()
|
||||||
dynamic_cast<Disk2InterfaceCard&>(GetCardMgr().GetRef(SLOT6)).Boot();
|
dynamic_cast<Disk2InterfaceCard&>(GetCardMgr().GetRef(SLOT6)).Boot();
|
||||||
GetVideo().VideoResetState();
|
GetVideo().VideoResetState();
|
||||||
KeybReset();
|
KeybReset();
|
||||||
if (GetCardMgr().IsSSCInstalled())
|
|
||||||
GetCardMgr().GetSSC()->CommReset();
|
|
||||||
PrintReset();
|
PrintReset();
|
||||||
JoyReset();
|
JoyReset();
|
||||||
MB_Reset(true);
|
MB_Reset(true);
|
||||||
SpkrReset();
|
SpkrReset();
|
||||||
if (GetCardMgr().IsMouseCardInstalled())
|
|
||||||
GetCardMgr().GetMouseCard()->Reset();
|
|
||||||
SetActiveCpu(GetMainCpu());
|
SetActiveCpu(GetMainCpu());
|
||||||
#ifdef USE_SPEECH_API
|
#ifdef USE_SPEECH_API
|
||||||
g_Speech.Reset();
|
g_Speech.Reset();
|
||||||
|
@ -595,21 +585,9 @@ void CtrlReset()
|
||||||
}
|
}
|
||||||
|
|
||||||
GetPravets().Reset();
|
GetPravets().Reset();
|
||||||
GetCardMgr().GetDisk2CardMgr().Reset();
|
GetCardMgr().Reset(false);
|
||||||
if (GetCardMgr().QuerySlot(SLOT7) == CT_GenericHDD)
|
|
||||||
GetCardMgr().GetRef(SLOT7).Reset(false);
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_VidHD)
|
|
||||||
GetCardMgr().GetRef(SLOT3).Reset(false);
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet)
|
|
||||||
GetCardMgr().GetRef(SLOT3).Reset(false);
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet2)
|
|
||||||
GetCardMgr().GetRef(SLOT3).Reset(false);
|
|
||||||
KeybReset();
|
KeybReset();
|
||||||
if (GetCardMgr().IsSSCInstalled())
|
|
||||||
GetCardMgr().GetSSC()->CommReset();
|
|
||||||
MB_Reset(false);
|
MB_Reset(false);
|
||||||
if (GetCardMgr().IsMouseCardInstalled())
|
|
||||||
GetCardMgr().GetMouseCard()->Reset(); // Deassert any pending IRQs - GH#514
|
|
||||||
#ifdef USE_SPEECH_API
|
#ifdef USE_SPEECH_API
|
||||||
g_Speech.Reset();
|
g_Speech.Reset();
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -19,7 +19,7 @@ public:
|
||||||
}
|
}
|
||||||
virtual ~VidHDCard(void) {}
|
virtual ~VidHDCard(void) {}
|
||||||
|
|
||||||
virtual void Init(void) {}
|
virtual void Destroy(void) {}
|
||||||
virtual void Reset(const bool powerCycle);
|
virtual void Reset(const bool powerCycle);
|
||||||
virtual void Update(const ULONG nExecutedCycles) {}
|
virtual void Update(const ULONG nExecutedCycles) {}
|
||||||
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
virtual void InitializeIO(LPBYTE pCxRomPeripheral);
|
||||||
|
|
|
@ -965,17 +965,9 @@ LRESULT Win32Frame::WndProc(
|
||||||
Snapshot_Shutdown();
|
Snapshot_Shutdown();
|
||||||
DebugDestroy();
|
DebugDestroy();
|
||||||
if (!g_bRestart) {
|
if (!g_bRestart) {
|
||||||
GetCardMgr().GetDisk2CardMgr().Destroy();
|
GetCardMgr().Destroy();
|
||||||
if (GetCardMgr().QuerySlot(SLOT7) == CT_GenericHDD)
|
|
||||||
dynamic_cast<HarddiskInterfaceCard&>(GetCardMgr().GetRef(SLOT7)).Destroy();
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet)
|
|
||||||
dynamic_cast<Uthernet1&>(GetCardMgr().GetRef(SLOT3)).Destroy();
|
|
||||||
if (GetCardMgr().QuerySlot(SLOT3) == CT_Uthernet2)
|
|
||||||
dynamic_cast<Uthernet2&>(GetCardMgr().GetRef(SLOT3)).Destroy();
|
|
||||||
}
|
}
|
||||||
PrintDestroy();
|
PrintDestroy();
|
||||||
if (GetCardMgr().IsSSCInstalled())
|
|
||||||
GetCardMgr().GetSSC()->CommDestroy();
|
|
||||||
CpuDestroy();
|
CpuDestroy();
|
||||||
MemDestroy();
|
MemDestroy();
|
||||||
SpkrDestroy();
|
SpkrDestroy();
|
||||||
|
|
Loading…
Add table
Reference in a new issue