From 334af8082a2d24ff985382937707b8eee21c5835 Mon Sep 17 00:00:00 2001 From: AJR Date: Wed, 5 Jun 2019 22:15:34 -0400 Subject: indy_indigo2.cpp: Downgrade Indigo2 to DS1286 (nw) --- src/devices/machine/ds1386.cpp | 10 ++++++++-- src/devices/machine/ds1386.h | 25 +++++++++++++++++++++++++ src/mame/drivers/indy_indigo2.cpp | 3 ++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/devices/machine/ds1386.cpp b/src/devices/machine/ds1386.cpp index 82c8fd55882..a5319451e8d 100644 --- a/src/devices/machine/ds1386.cpp +++ b/src/devices/machine/ds1386.cpp @@ -27,8 +27,9 @@ #define HOURS_12_24 (0x40) #define HOURS_AM_PM (0x20) -DEFINE_DEVICE_TYPE(DS1386_8K, ds1386_8k_device, "ds1386_8k", "DS1386 RAMified Watchdog Timekeeper (8K)") -DEFINE_DEVICE_TYPE(DS1386_32K, ds1386_32k_device, "ds1386_32k", "DS1386 RAMified Watchdog Timekeeper (32K)") +DEFINE_DEVICE_TYPE(DS1286, ds1286_device, "ds1286", "DS1286 Watchdog Timekeeper") +DEFINE_DEVICE_TYPE(DS1386_8K, ds1386_8k_device, "ds1386_8k", "DS1386-8K RAMified Watchdog Timekeeper") +DEFINE_DEVICE_TYPE(DS1386_32K, ds1386_32k_device, "ds1386_32k", "DS1386-32K RAMified Watchdog Timekeeper") ds1386_device::ds1386_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, size_t size) : device_t(mconfig, type, tag, owner, clock) @@ -60,6 +61,11 @@ ds1386_device::ds1386_device(const machine_config &mconfig, device_type type, co { } +ds1286_device::ds1286_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) + : ds1386_device(mconfig, DS1286, tag, owner, clock, 64) +{ +} + ds1386_8k_device::ds1386_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : ds1386_device(mconfig, DS1386_8K, tag, owner, clock, 8*1024) { diff --git a/src/devices/machine/ds1386.h b/src/devices/machine/ds1386.h index eed7463b3ac..032e7d73eb0 100644 --- a/src/devices/machine/ds1386.h +++ b/src/devices/machine/ds1386.h @@ -5,6 +5,24 @@ Dallas DS1386/DS1386P RAMified Watchdog Timekeeper *********************************************************************** + _____________ + /INTA 1 | | 28 Vcc + NC 2 | | 27 /WE + NC 3 | | 26 /INTB + NC 4 | | 25 NC + A5 5 | | 24 NC + A4 6 | | 23 SQW + A3 7 | | 22 /OE + A2 8 | | 21 NC + A1 9 | | 20 /CE + A0 10 | | 19 DQ7 + DQ0 11 | | 18 DQ6 + DQ1 12 | | 17 DQ5 + DQ2 13 | | 16 DQ4 + GND 14 |_____________| 15 DQ3 + + DS1286 (64 x 8) + _____________ /INTA 1 | | 32 Vcc /INTB 2 | | 31 SQW @@ -168,6 +186,12 @@ protected: const size_t m_ram_size; }; +class ds1286_device : public ds1386_device +{ +public: + ds1286_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + class ds1386_8k_device : public ds1386_device { public: @@ -180,6 +204,7 @@ public: ds1386_32k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); }; +DECLARE_DEVICE_TYPE(DS1286, ds1286_device) DECLARE_DEVICE_TYPE(DS1386_8K, ds1386_8k_device) DECLARE_DEVICE_TYPE(DS1386_32K, ds1386_32k_device) diff --git a/src/mame/drivers/indy_indigo2.cpp b/src/mame/drivers/indy_indigo2.cpp index f20a572cc48..73f9428821f 100644 --- a/src/mame/drivers/indy_indigo2.cpp +++ b/src/mame/drivers/indy_indigo2.cpp @@ -345,7 +345,6 @@ void ip24_state::ip24_base(machine_config &config) SGI_HAL2(config, m_hal2); EEPROM_93C56_16BIT(config, m_eeprom); - DS1386_8K(config, m_rtc, 32768); } void ip24_state::ip24(machine_config &config) @@ -354,6 +353,7 @@ void ip24_state::ip24(machine_config &config) SGI_IOC2_GUINNESS(config, m_ioc2, m_maincpu); VINO(config, m_vino); + DS1386_8K(config, m_rtc, 32768); } void ip24_state::indy_5015(machine_config &config) @@ -421,6 +421,7 @@ void ip22_state::indigo2_4415(machine_config &config) m_hpc3->hd_reset_cb<1>().set(m_scsi_ctrl2, FUNC(wd33c93b_device::reset_w)); SGI_IOC2_FULL_HOUSE(config, m_ioc2, m_maincpu); + DS1286(config, m_rtc, 32768); } #define INDY_BIOS_FLAGS(bios) ROM_GROUPDWORD | ROM_BIOS(bios) -- cgit v1.2.3