Aussiebyte: fixed RTC (nw)

This commit is contained in:
Robbbert 2016-12-07 00:36:11 +11:00
parent fe8a008997
commit fcbbc0a0ac
2 changed files with 31 additions and 2 deletions

View File

@ -17,7 +17,6 @@
- Hard drive controllers and drives
- Test Centronics printer
- PIO connections
- RTC not working
Note of MAME restrictions:
- Votrax doesn't sound anything like the real thing
@ -76,7 +75,7 @@ static ADDRESS_MAP_START( aussiebyte_io, AS_IO, 8, aussiebyte_state )
AM_RANGE(0x35, 0x35) AM_WRITE(port35_w) // data to vram and aram
AM_RANGE(0x36, 0x36) AM_READ(port36_r) // data from vram and aram
AM_RANGE(0x37, 0x37) AM_READ(port37_r) // read dispen flag
AM_RANGE(0x40, 0x4f) AM_DEVREADWRITE("rtc", msm5832_device, data_r, data_w)
AM_RANGE(0x40, 0x4f) AM_READWRITE(rtc_r, rtc_w)
ADDRESS_MAP_END
/***********************************************************
@ -222,6 +221,32 @@ READ8_MEMBER( aussiebyte_state::port28_r )
return m_port28;
}
/***********************************************************
RTC
************************************************************/
READ8_MEMBER( aussiebyte_state::rtc_r )
{
m_rtc->cs_w(1);
m_rtc->read_w(1);
m_rtc->address_w(offset);
uint8_t data = m_rtc->data_r(space,0);
m_rtc->read_w(0);
m_rtc->cs_w(0);
return data;
}
WRITE8_MEMBER( aussiebyte_state::rtc_w )
{
m_rtc->cs_w(1);
m_rtc->address_w(offset);
m_rtc->data_w(space,0,data);
m_rtc->write_w(1);
m_rtc->write_w(0);
m_rtc->cs_w(0);
}
/***********************************************************
DMA

View File

@ -49,6 +49,7 @@ public:
, m_crtc(*this, "crtc")
, m_speaker(*this, "speaker")
, m_votrax(*this, "votrax")
, m_rtc(*this, "rtc")
{}
DECLARE_READ8_MEMBER(memory_read_byte);
@ -71,6 +72,8 @@ public:
DECLARE_WRITE8_MEMBER(port35_w);
DECLARE_READ8_MEMBER(port36_r);
DECLARE_READ8_MEMBER(port37_r);
DECLARE_READ8_MEMBER(rtc_r);
DECLARE_WRITE8_MEMBER(rtc_w);
DECLARE_WRITE_LINE_MEMBER(fdc_intrq_w);
DECLARE_WRITE_LINE_MEMBER(fdc_drq_w);
DECLARE_WRITE_LINE_MEMBER(busreq_w);
@ -124,4 +127,5 @@ private:
required_device<mc6845_device> m_crtc;
required_device<speaker_sound_device> m_speaker;
required_device<votrax_sc01_device> m_votrax;
required_device<msm5832_device> m_rtc;
};