indy_indigo2.cpp: Downgrade Indigo2 to DS1286 (nw)

This commit is contained in:
AJR 2019-06-05 22:15:34 -04:00
parent 70ddaa3888
commit 334af8082a
3 changed files with 35 additions and 3 deletions

View File

@ -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)
{

View File

@ -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)

View File

@ -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)