Uthernet: fix -load-state so that tfe_init() is called
This commit is contained in:
parent
1f04d1548a
commit
4cb8a6414d
3 changed files with 18 additions and 12 deletions
|
@ -390,7 +390,7 @@ void tfe_debug_output_pp( void )
|
||||||
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);
|
||||||
static BYTE __stdcall TfeIo (WORD programcounter, WORD address, BYTE write, BYTE value, ULONG nCycles);
|
static BYTE __stdcall TfeIo (WORD programcounter, WORD address, BYTE write, BYTE value, ULONG nCycles);
|
||||||
|
|
||||||
void tfe_reset(void)
|
static void tfe_reset(void)
|
||||||
{
|
{
|
||||||
if (tfe_enabled)
|
if (tfe_enabled)
|
||||||
{
|
{
|
||||||
|
@ -457,7 +457,7 @@ static void set_standard_tfe_interface(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static
|
static
|
||||||
int tfe_activate_i(void)
|
int tfe_activate_i(bool reset)
|
||||||
{
|
{
|
||||||
#ifdef TFE_DEBUG
|
#ifdef TFE_DEBUG
|
||||||
if(g_fh) fprintf( g_fh, "tfe_activate_i()." );
|
if(g_fh) fprintf( g_fh, "tfe_activate_i()." );
|
||||||
|
@ -473,8 +473,11 @@ int tfe_activate_i(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* virtually reset the LAN chip */
|
if (reset)
|
||||||
tfe_reset();
|
{
|
||||||
|
/* virtually reset the LAN chip */
|
||||||
|
tfe_reset();
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -492,12 +495,12 @@ int tfe_deactivate_i(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
int tfe_activate(void) {
|
int tfe_activate(bool reset) {
|
||||||
#ifdef TFE_DEBUG
|
#ifdef TFE_DEBUG
|
||||||
if(g_fh) fprintf( g_fh, "tfe_activate()." );
|
if(g_fh) fprintf( g_fh, "tfe_activate()." );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return tfe_activate_i();
|
return tfe_activate_i(reset);
|
||||||
}
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
|
@ -509,7 +512,7 @@ int tfe_deactivate(void) {
|
||||||
return tfe_deactivate_i();
|
return tfe_deactivate_i();
|
||||||
}
|
}
|
||||||
|
|
||||||
void tfe_init(void)
|
void tfe_init(bool reset)
|
||||||
{
|
{
|
||||||
tfe_enabled = 1;
|
tfe_enabled = 1;
|
||||||
|
|
||||||
|
@ -525,7 +528,7 @@ void tfe_init(void)
|
||||||
tfe_deactivate();
|
tfe_deactivate();
|
||||||
|
|
||||||
// only activate if the settings say so
|
// only activate if the settings say so
|
||||||
if (tfe_enabled && (tfe_activate() < 0)) {
|
if (tfe_enabled && (tfe_activate(reset) < 0)) {
|
||||||
tfe_enabled = 0;
|
tfe_enabled = 0;
|
||||||
tfe_cannot_use = 1;
|
tfe_cannot_use = 1;
|
||||||
}
|
}
|
||||||
|
@ -1551,6 +1554,10 @@ bool tfe_LoadSnapshot(class YamlLoadHelper& yamlLoadHelper, UINT slot, UINT vers
|
||||||
|
|
||||||
tfe_SetRegistryInterface(slot, get_tfe_interface());
|
tfe_SetRegistryInterface(slot, get_tfe_interface());
|
||||||
|
|
||||||
|
// Setup the npcap.dll func ptrs & open/configure the interface
|
||||||
|
// NB. Overrides tfe_enabled and tfe_cannot_use, which are set above
|
||||||
|
tfe_init(false); // reset=false
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,13 +39,12 @@
|
||||||
|
|
||||||
extern int tfe_enabled;
|
extern int tfe_enabled;
|
||||||
|
|
||||||
extern void tfe_init(void);
|
extern void tfe_init(bool reset);
|
||||||
extern int tfe_resources_init(void);
|
extern int tfe_resources_init(void);
|
||||||
extern int tfe_cmdline_options_init(void);
|
extern int tfe_cmdline_options_init(void);
|
||||||
extern int update_tfe_interface(const std::string & name);
|
extern int update_tfe_interface(const std::string & name);
|
||||||
void get_disabled_state(int * param);
|
void get_disabled_state(int * param);
|
||||||
|
|
||||||
extern void tfe_reset(void);
|
|
||||||
extern void tfe_shutdown(void);
|
extern void tfe_shutdown(void);
|
||||||
extern BYTE REGPARM1 tfe_read(WORD addr);
|
extern BYTE REGPARM1 tfe_read(WORD addr);
|
||||||
extern void REGPARM2 tfe_store(WORD addr, BYTE byte);
|
extern void REGPARM2 tfe_store(WORD addr, BYTE byte);
|
||||||
|
|
|
@ -264,7 +264,7 @@ void LoadConfiguration(void)
|
||||||
if (RegLoadString(regSection.c_str(), REGVALUE_UTHERNET_INTERFACE, TRUE, szFilename, MAX_PATH, TEXT("")))
|
if (RegLoadString(regSection.c_str(), REGVALUE_UTHERNET_INTERFACE, TRUE, szFilename, MAX_PATH, TEXT("")))
|
||||||
update_tfe_interface(szFilename);
|
update_tfe_interface(szFilename);
|
||||||
|
|
||||||
tfe_init();
|
tfe_init(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (slot == SLOT7)
|
else if (slot == SLOT7)
|
||||||
|
@ -289,7 +289,7 @@ void LoadConfiguration(void)
|
||||||
update_tfe_interface(szFilename);
|
update_tfe_interface(szFilename);
|
||||||
|
|
||||||
if (tfeEnabled)
|
if (tfeEnabled)
|
||||||
tfe_init();
|
tfe_init(true);
|
||||||
}
|
}
|
||||||
else if (slot == SLOT4 && REGLOAD(TEXT(REGVALUE_SLOT4), &dwTmp))
|
else if (slot == SLOT4 && REGLOAD(TEXT(REGVALUE_SLOT4), &dwTmp))
|
||||||
GetCardMgr().Insert(SLOT4, (SS_CARDTYPE)dwTmp);
|
GetCardMgr().Insert(SLOT4, (SS_CARDTYPE)dwTmp);
|
||||||
|
|
Loading…
Add table
Reference in a new issue