mos6526: WIP. (nw)

This commit is contained in:
Curt Coder 2014-03-24 11:33:08 +00:00
parent 7a1ecf48c9
commit c1a1912dde
2 changed files with 28 additions and 65 deletions

View File

@ -778,15 +778,8 @@ void mos6526_device::device_reset()
void mos6526_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr)
{
if (!m_tod_stopped)
{
clock_tod();
if (m_tod == m_alarm)
{
m_icr |= ICR_ALARM;
}
}
tod_w(1);
tod_w(0);
}
@ -1099,46 +1092,6 @@ WRITE8_MEMBER( mos8520_device::write )
}
//-------------------------------------------------
// pa_r - port A read
//-------------------------------------------------
UINT8 mos6526_device::pa_r()
{
return m_pa;
}
READ8_MEMBER( mos6526_device::pa_r )
{
return pa_r();
}
//-------------------------------------------------
// pb_r - port B read
//-------------------------------------------------
UINT8 mos6526_device::pb_r()
{
return m_pb;
}
READ8_MEMBER( mos6526_device::pb_r )
{
return pb_r();
}
//-------------------------------------------------
// sp_r - serial port read
//-------------------------------------------------
READ_LINE_MEMBER( mos6526_device::sp_r )
{
return m_sp;
}
//-------------------------------------------------
// sp_w - serial port write
//-------------------------------------------------
@ -1149,16 +1102,6 @@ WRITE_LINE_MEMBER( mos6526_device::sp_w )
}
//-------------------------------------------------
// cnt_r - serial counter read
//-------------------------------------------------
READ_LINE_MEMBER( mos6526_device::cnt_r )
{
return m_cnt;
}
//-------------------------------------------------
// cnt_w - serial counter write
//-------------------------------------------------
@ -1190,3 +1133,21 @@ WRITE_LINE_MEMBER( mos6526_device::flag_w )
m_flag = state;
}
//-------------------------------------------------
// tod_w - time-of-day clock write
//-------------------------------------------------
WRITE_LINE_MEMBER( mos6526_device::tod_w )
{
if (state && !m_tod_stopped)
{
clock_tod();
if (m_tod == m_alarm)
{
m_icr |= ICR_ALARM;
}
}
}

View File

@ -128,16 +128,18 @@ public:
DECLARE_READ8_MEMBER( read );
DECLARE_WRITE8_MEMBER( write );
UINT8 pa_r();
DECLARE_READ8_MEMBER( pa_r );
UINT8 pb_r();
DECLARE_READ8_MEMBER( pb_r );
UINT8 pa_r() { return m_pa; }
DECLARE_READ8_MEMBER( pa_r ) { return pa_r(); }
UINT8 pb_r() { return m_pb; }
DECLARE_READ8_MEMBER( pb_r ) { return pb_r(); }
DECLARE_READ_LINE_MEMBER( sp_r );
DECLARE_READ_LINE_MEMBER( sp_r ) { return m_sp; }
DECLARE_WRITE_LINE_MEMBER( sp_w );
DECLARE_READ_LINE_MEMBER( cnt_r );
DECLARE_READ_LINE_MEMBER( cnt_r ) { return m_cnt; }
DECLARE_WRITE_LINE_MEMBER( cnt_w );
DECLARE_WRITE_LINE_MEMBER( flag_w );
DECLARE_READ_LINE_MEMBER( irq_r ) { return m_irq; }
DECLARE_WRITE_LINE_MEMBER( tod_w );
protected:
enum