summaryrefslogtreecommitdiff
path: root/avr/z80-if.c
diff options
context:
space:
mode:
Diffstat (limited to 'avr/z80-if.c')
-rw-r--r--avr/z80-if.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/avr/z80-if.c b/avr/z80-if.c
index 7a953f0..9452ad1 100644
--- a/avr/z80-if.c
+++ b/avr/z80-if.c
@@ -144,7 +144,6 @@ void z80_bus_request_or_exit(void)
static zstate_t zstate;
static volatile uint8_t timer; /* used for bus timeout */
-static bool reset_polarity;
/*---------------------------------------------------------*/
/* 10Hz timer interrupt generated by OC5A */
@@ -207,7 +206,7 @@ static void z80_dbus_set_out(void)
static void z80_reset_active(void)
{
- if (reset_polarity)
+ if (Stat & S_RESET_POLARITY)
Z80_O_RST = 1;
else
Z80_O_RST = 0;
@@ -215,7 +214,7 @@ static void z80_reset_active(void)
static void z80_reset_inactive(void)
{
- if (reset_polarity)
+ if (Stat & S_RESET_POLARITY)
Z80_O_RST = 0;
else
Z80_O_RST = 1;
@@ -255,7 +254,10 @@ void z80_setup_bus(void)
DDR_SS = (DDR_SS & ~_BV(WAIT)) | _BV(RUN) | _BV(STEP);
}
- reset_polarity = Z80_I_RST;
+ if (Z80_I_RST)
+ Stat |= S_RESET_POLARITY;
+ else
+ Stat &= ~S_RESET_POLARITY;
z80_reset_active();
DDR_RST |= _BV(RST);