SCP: Save global switches before dispatching to DEVICE reset routines
This commit is contained in:
parent
28b8b3a91a
commit
5a9cd144d3
1 changed files with 3 additions and 0 deletions
3
scp.c
3
scp.c
|
@ -7289,12 +7289,14 @@ t_stat reset_all (uint32 start)
|
|||
DEVICE *dptr;
|
||||
uint32 i;
|
||||
t_stat reason;
|
||||
int32 saved_sim_switches = sim_switches;
|
||||
|
||||
for (i = 0; i < start; i++) {
|
||||
if (sim_devices[i] == NULL)
|
||||
return SCPE_IERR;
|
||||
}
|
||||
for (i = start; (dptr = sim_devices[i]) != NULL; i++) {
|
||||
sim_switches = saved_sim_switches; /* restore initial switches */
|
||||
if (sim_switches & SWMASK('P')) {
|
||||
tmxr_add_debug (dptr); /* Add TMXR debug to MUX devices */
|
||||
sim_tape_add_debug (dptr); /* Add TAPE debug to TAPE devices */
|
||||
|
@ -7306,6 +7308,7 @@ for (i = start; (dptr = sim_devices[i]) != NULL; i++) {
|
|||
}
|
||||
}
|
||||
for (i = 0; sim_internal_device_count && (dptr = sim_internal_devices[i]); ++i) {
|
||||
sim_switches = saved_sim_switches; /* restore initial switches */
|
||||
if (dptr->reset != NULL) {
|
||||
reason = dptr->reset (dptr);
|
||||
if (reason != SCPE_OK)
|
||||
|
|
Loading…
Add table
Reference in a new issue