diff options
Diffstat (limited to 'src/devices/machine/ibm21s850.cpp')
-rw-r--r-- | src/devices/machine/ibm21s850.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/devices/machine/ibm21s850.cpp b/src/devices/machine/ibm21s850.cpp index 3afb88b27a1..c77d3077a01 100644 --- a/src/devices/machine/ibm21s850.cpp +++ b/src/devices/machine/ibm21s850.cpp @@ -12,9 +12,9 @@ #include "emu.h" #include "ibm21s850.h" -#define LOG_READS (1 << 1) -#define LOG_WRITES (1 << 2) -#define LOG_UNKNOWNS (1 << 3) +#define LOG_READS (1U << 1) +#define LOG_WRITES (1U << 2) +#define LOG_UNKNOWNS (1U << 3) #define LOG_ALL (LOG_READS | LOG_WRITES | LOG_UNKNOWNS) #define VERBOSE (LOG_ALL) @@ -43,9 +43,7 @@ void ibm21s85x_base_device::device_start() { save_item(NAME(m_regs)); - m_reset_timer = timer_alloc(TIMER_RESET); - - m_reset_cb.resolve_safe(); + m_reset_timer = timer_alloc(FUNC(ibm21s85x_base_device::reset_tick), this); } void ibm21s85x_base_device::device_reset() @@ -81,20 +79,17 @@ void ibm21s851_device::device_reset() m_regs[REG_COUNT_OFFS] |= 0x0b; // 11 registers following the standard block on 21S851 } -void ibm21s85x_base_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) +TIMER_CALLBACK_MEMBER(ibm21s85x_base_device::reset_tick) { - if (id == TIMER_RESET) + if (param) + { + m_reset_cb(0); + m_reset_timer->adjust(attotime::never); + } + else { - if (param) - { - m_reset_cb(0); - m_reset_timer->adjust(attotime::never); - } - else - { - m_reset_cb(1); - m_reset_timer->adjust(attotime::from_usec(26266), 1); // RC reset circuit, 3.3V in, 2.3V out, 10KOhm resistor, 2.2uF capacitor - } + m_reset_cb(1); + m_reset_timer->adjust(attotime::from_usec(26266), 1); // RC reset circuit, 3.3V in, 2.3V out, 10KOhm resistor, 2.2uF capacitor } } |