Fix for both Uthernet cards not reading I/O $Csxx space as floating-bus. (#1321)

This commit is contained in:
tomcw
2024-08-15 17:36:28 +01:00
parent f516423772
commit 6e8d79ddde
4 changed files with 20 additions and 7 deletions
+8
View File
@@ -37,6 +37,7 @@
#include "Tfe/tfesupp.h"
#include "Tfe/NetworkBackend.h"
#include "Tfe/PCapBackend.h"
#include "../Windows/Win32Frame.h"
/* Makros for reading and writing the visible TFE register: */
#define GET_TFE_8( _xxx_ ) \
@@ -1017,6 +1018,13 @@ void Uthernet1::InitializeIO(LPBYTE pCxRomPeripheral)
{
RegisterIoHandler(m_slot, TfeIo, TfeIo, TfeIoCxxx, TfeIoCxxx, this, NULL);
}
else
{
// Interface doesn't exist or user picked an interface that isn't Ethernet!
// . So setup as a "null" card: I/O reads from floating bus & writes go to null
RegisterIoHandler(m_slot, IO_Null, IO_Null, TfeIoCxxx, TfeIoCxxx, this, NULL);
Win32Frame::GetWin32Frame().FrameMessageBox("Reconfigure the Interface via 'Ethernet Settings'.", "Uthernet 1 interface isn't valid!", MB_ICONEXCLAMATION | MB_SETFOREGROUND);
}
}
void Uthernet1::Reset(const bool powerCycle)