added preliminary stop and reset to MSM58321 (nw)

This commit is contained in:
smf- 2014-01-26 23:37:56 +00:00
parent 50b90ce6ae
commit 12d6dec137

View File

@ -14,10 +14,7 @@
TODO: TODO:
- leap year - leap year
- stop
- test - test
- reset
- busy
- reference registers - reference registers
*/ */
@ -262,12 +259,16 @@ void msm58321_device::device_timer(emu_timer &timer, device_timer_id id, int par
switch (id) switch (id)
{ {
case TIMER_CLOCK: case TIMER_CLOCK:
if (!m_stop)
advance_seconds(); advance_seconds();
break; break;
case TIMER_BUSY: case TIMER_BUSY:
if (!m_cs1 || !m_cs2 || !m_write || m_address != REGISTER_RESET)
{
m_busy = !m_busy; m_busy = !m_busy;
m_busy_handler(m_busy); m_busy_handler(m_busy);
}
break; break;
} }
} }
@ -414,6 +415,12 @@ void msm58321_device::update_input()
{ {
case REGISTER_RESET: case REGISTER_RESET:
if (LOG) logerror("MSM58321 '%s' Reset\n", tag()); if (LOG) logerror("MSM58321 '%s' Reset\n", tag());
if (!m_busy)
{
m_busy = 1;
m_busy_handler(m_busy);
}
break; break;
case REGISTER_REF0: case REGISTER_REF0: