diff options
Diffstat (limited to 'src/emu/diserial.h')
-rw-r--r-- | src/emu/diserial.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/emu/diserial.h b/src/emu/diserial.h index af55c7d4bc5..e1e2a447dff 100644 --- a/src/emu/diserial.h +++ b/src/emu/diserial.h @@ -188,6 +188,16 @@ class device_buffered_serial_interface : public device_serial_interface protected: using device_serial_interface::device_serial_interface; + void interface_post_start() override + { + device_serial_interface::interface_post_start(); + + device().save_item(NAME(m_fifo)); + device().save_item(NAME(m_head)); + device().save_item(NAME(m_tail)); + device().save_item(NAME(m_empty)); + } + virtual void tra_complete() override { assert(!m_empty || (m_head == m_tail)); @@ -236,20 +246,14 @@ protected: } } - bool fifo_full() const + bool fifo_empty() const { - return !m_empty && (m_head == m_tail); + return m_empty; } -protected: - void interface_post_start() override + bool fifo_full() const { - device_serial_interface::interface_post_start(); - - device().save_item(NAME(m_fifo)); - device().save_item(NAME(m_head)); - device().save_item(NAME(m_tail)); - device().save_item(NAME(m_empty)); + return !m_empty && (m_head == m_tail); } private: |