summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-06-05 22:15:34 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-06-05 22:15:34 -0400
commit334af8082a2d24ff985382937707b8eee21c5835 (patch)
treeb9430119c852ca7f48be68cb861034d75ba0778d
parent70ddaa3888acb3ffd2f700463ec04cd4291e47ce (diff)
indy_indigo2.cpp: Downgrade Indigo2 to DS1286 (nw)
-rw-r--r--src/devices/machine/ds1386.cpp10
-rw-r--r--src/devices/machine/ds1386.h25
-rw-r--r--src/mame/drivers/indy_indigo2.cpp3
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
@@ -6,6 +6,24 @@
***********************************************************************
_____________
+ /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
NC/A14 3 | | 30 Vcc
@@ -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)