From: Leo C Date: Sat, 8 Sep 2018 18:31:49 +0000 (+0200) Subject: bool reset_polarity --> Stat & S_RESET_POLARITY X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/commitdiff_plain/7dda03f3ce376f35d080325551ccdca6c7414061 bool reset_polarity --> Stat & S_RESET_POLARITY --- 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); diff --git a/include/common.h b/include/common.h index 12d87c4..9bd3418 100644 --- a/include/common.h +++ b/include/common.h @@ -78,9 +78,10 @@ struct bits { extern volatile uint_least8_t Stat; #endif /* __AVR__ */ -#define S_10MS_TO (1<<0) -#define S_MSG_PENDING (1<<1) -#define S_CON_PENDING (1<<2) +#define S_10MS_TO (1<<0) +#define S_MSG_PENDING (1<<1) +#define S_CON_PENDING (1<<2) +#define S_RESET_POLARITY (1<<3) static inline int my_puts(const char *s)