diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2019-04-19 11:15:06 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2019-04-19 11:15:34 -0400 |
commit | bc9e7c6eb718043545ce833154809a6dcedaed35 (patch) | |
tree | b5d437ff592bf3e24dcb501d0c231d02ad2dad78 | |
parent | 42c8adb4e257818fa3995d6722485ab804d0e2c1 (diff) |
harriet: Add one SCSI controller (nw)
-rw-r--r-- | src/mame/drivers/harriet.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/mame/drivers/harriet.cpp b/src/mame/drivers/harriet.cpp index 72329276ae6..1209b3731d9 100644 --- a/src/mame/drivers/harriet.cpp +++ b/src/mame/drivers/harriet.cpp @@ -13,9 +13,10 @@ //#include "machine/imsc012.h" #include "machine/mc68681.h" #include "machine/mc68901.h" +#include "machine/nscsi_bus.h" #include "machine/nvram.h" #include "machine/timekpr.h" -//#include "machine/wd33c93.h" +#include "machine/wd33c9x.h" class harriet_state : public driver_device { @@ -30,7 +31,6 @@ public: private: DECLARE_READ8_MEMBER(zpram_r); DECLARE_WRITE8_MEMBER(zpram_w); - DECLARE_READ8_MEMBER(unk_status_r); void harriet_map(address_map &map); @@ -51,22 +51,17 @@ WRITE8_MEMBER(harriet_state::zpram_w) m_zpram_data[offset] = data; } -READ8_MEMBER(harriet_state::unk_status_r) -{ - return 0x81; -} - void harriet_state::harriet_map(address_map &map) { map(0x000000, 0x007fff).rom().region("monitor", 0); - map(0x040000, 0x040fff).rw(FUNC(harriet_state::zpram_r), FUNC(harriet_state::zpram_w)).umask16(0xff00); - map(0x040000, 0x040fff).rw("timekpr", FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)).umask16(0x00ff); + map(0x040000, 0x040fff).rw(FUNC(harriet_state::zpram_r), FUNC(harriet_state::zpram_w)).umask16(0x00ff); + map(0x040000, 0x040fff).rw("timekpr", FUNC(timekeeper_device::read), FUNC(timekeeper_device::write)).umask16(0xff00); map(0x7f0000, 0x7fffff).ram(); map(0xf10000, 0xf1001f).rw("duart", FUNC(mc68681_device::read), FUNC(mc68681_device::write)).umask16(0x00ff); map(0xf20000, 0xf2002f).rw("mfp", FUNC(mc68901_device::read), FUNC(mc68901_device::write)).umask16(0x00ff); - map(0xf30000, 0xf30fff).rw("dmac", FUNC(hd63450_device::read), FUNC(hd63450_device::write)); - map(0xf4003f, 0xf4003f).r(FUNC(harriet_state::unk_status_r)); - //map(0xf60000, 0xf6000f).rw("c012", FUNC(imsc012_device::read), FUNC(imsc012_device::write)); + map(0xf30000, 0xf301ff).rw("dmac", FUNC(hd63450_device::read), FUNC(hd63450_device::write)); + map(0xf40000, 0xf4003f).rw("scsia:7:wdc", FUNC(wd33c93_device::dir_r), FUNC(wd33c93_device::dir_w)).umask16(0x00ff); + //map(0xf60000, 0xf60007).rw("c012", FUNC(imsc012_device::read), FUNC(imsc012_device::write)).umask16(0x00ff); } static INPUT_PORTS_START( harriet ) @@ -101,14 +96,16 @@ void harriet_state::harriet(machine_config &config) HD63450(config, "dmac", 40_MHz_XTAL / 4, "maincpu"); // MC68450R10 (or HD68450Y-10) - M48T02(config, "timekpr", 0); + M48T02(config, "timekpr"); NVRAM(config, "zpram", nvram_device::DEFAULT_ALL_0); // MK48Z02 rs232_port_device &rs232(RS232_PORT(config, "rs232", default_rs232_devices, "terminal")); rs232.rxd_handler().set("mfp", FUNC(mc68901_device::write_rx)); rs232.rxd_handler().append("mfp", FUNC(mc68901_device::tbi_w)); - //WD33C93(config, "wdca", 40_MHz_XTAL / 4); + NSCSI_BUS(config, "scsia"); + NSCSI_CONNECTOR(config, "scsia:7").option_set("wdc", WD33C93A).clock(40_MHz_XTAL / 4); + //WD33C93(config, "wdcb", 40_MHz_XTAL / 4); //IMSC012(config, "c012", 40_MHz_XTAL / 8); // INMOS IMSC012-P20S link adaptor } |