From d1e3e46eebab6b728d6081a1142b1e597ce176a8 Mon Sep 17 00:00:00 2001 From: AJR Date: Fri, 12 Oct 2018 20:38:29 -0400 Subject: tms9902: Make timer interrupt work; add save state (nw) --- src/devices/machine/tms9902.cpp | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/devices/machine/tms9902.cpp b/src/devices/machine/tms9902.cpp index c25ea5eacc1..93e48cf03a2 100644 --- a/src/devices/machine/tms9902.cpp +++ b/src/devices/machine/tms9902.cpp @@ -264,6 +264,8 @@ void tms9902_device::device_timer(emu_timer &timer, device_timer_id id, int para // reaches 0. case DECTIMER: m_TIMERR = m_TIMELP; + m_TIMELP = true; + field_interrupts(); break; // Callback for the autonomous operations of the chip. This is normally @@ -865,6 +867,48 @@ void tms9902_device::device_start() m_dectimer = timer_alloc(DECTIMER); m_recvtimer = timer_alloc(RECVTIMER); m_sendtimer = timer_alloc(SENDTIMER); + + save_item(NAME(m_LDCTRL)); + save_item(NAME(m_LDIR)); + save_item(NAME(m_LRDR)); + save_item(NAME(m_LXDR)); + save_item(NAME(m_TSTMD)); + save_item(NAME(m_RTSON)); + save_item(NAME(m_BRKON)); + save_item(NAME(m_BRKout)); + save_item(NAME(m_XBR)); + save_item(NAME(m_XSR)); + save_item(NAME(m_RBR)); + save_item(NAME(m_DSCENB)); + save_item(NAME(m_RIENB)); + save_item(NAME(m_XBIENB)); + save_item(NAME(m_TIMENB)); + save_item(NAME(m_RDR)); + save_item(NAME(m_RDV8)); + save_item(NAME(m_XDR)); + save_item(NAME(m_XDV8)); + save_item(NAME(m_INT)); + save_item(NAME(m_DSCH)); + save_item(NAME(m_CTSin)); + save_item(NAME(m_DSRin)); + save_item(NAME(m_RTSout)); + save_item(NAME(m_TIMELP)); + save_item(NAME(m_TIMERR)); + save_item(NAME(m_XSRE)); + save_item(NAME(m_XBRE)); + save_item(NAME(m_RBRL)); + save_item(NAME(m_RIN)); + save_item(NAME(m_RSBD)); + save_item(NAME(m_RFBD)); + save_item(NAME(m_RFER)); + save_item(NAME(m_ROVER)); + save_item(NAME(m_RPER)); + save_item(NAME(m_RCL)); + save_item(NAME(m_ODDP)); + save_item(NAME(m_PENB)); + save_item(NAME(m_STOPB)); + save_item(NAME(m_CLK4M)); + save_item(NAME(m_TMR)); } DEFINE_DEVICE_TYPE(TMS9902, tms9902_device, "tms9902", "TMS9902 ACC") -- cgit v1.2.3