summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Robbbert <Robbbert@users.noreply.github.com>2016-12-07 00:36:11 +1100
committer Robbbert <Robbbert@users.noreply.github.com>2016-12-07 00:36:11 +1100
commitfcbbc0a0ac3e378742246dbcc28bec7a299ee8ec (patch)
tree1a7d0b2d9214738914e48724994f68ae522cca12
parentfe8a008997c4a3028dd837a6ed064d025fb94b9c (diff)
Aussiebyte: fixed RTC (nw)
-rw-r--r--src/mame/drivers/aussiebyte.cpp29
-rw-r--r--src/mame/includes/aussiebyte.h4
2 files changed, 31 insertions, 2 deletions
diff --git a/src/mame/drivers/aussiebyte.cpp b/src/mame/drivers/aussiebyte.cpp
index 97f1da87f31..aa4aa967e11 100644
--- a/src/mame/drivers/aussiebyte.cpp
+++ b/src/mame/drivers/aussiebyte.cpp
@@ -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
/***********************************************************
@@ -224,6 +223,32 @@ READ8_MEMBER( aussiebyte_state::port28_r )
/***********************************************************
+ 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
************************************************************/
diff --git a/src/mame/includes/aussiebyte.h b/src/mame/includes/aussiebyte.h
index 39b92367cdc..0ec8c3c1115 100644
--- a/src/mame/includes/aussiebyte.h
+++ b/src/mame/includes/aussiebyte.h
@@ -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;
};