summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/abcbus/hdc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/bus/abcbus/hdc.c')
-rw-r--r--src/emu/bus/abcbus/hdc.c163
1 files changed, 163 insertions, 0 deletions
diff --git a/src/emu/bus/abcbus/hdc.c b/src/emu/bus/abcbus/hdc.c
new file mode 100644
index 00000000000..4d316d0ef55
--- /dev/null
+++ b/src/emu/bus/abcbus/hdc.c
@@ -0,0 +1,163 @@
+// license:BSD-3-Clause
+// copyright-holders:Curt Coder
+/**********************************************************************
+
+ Luxor ABC 850 Winchester controller card emulation
+
+ Copyright MESS Team.
+ Visit http://mamedev.org for licensing and usage restrictions.
+
+*********************************************************************/
+
+#include "hdc.h"
+
+
+
+//**************************************************************************
+// MACROS / CONSTANTS
+//**************************************************************************
+
+#define Z80_TAG "z80"
+#define SASIBUS_TAG "sasi"
+
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+const device_type ABC_HDC = &device_creator<abc_hdc_device>;
+
+
+//-------------------------------------------------
+// ROM( abc_hdc )
+//-------------------------------------------------
+
+ROM_START( abc_hdc )
+ ROM_REGION( 0x1000, Z80_TAG, 0 )
+ // ABC 850
+ ROM_SYSTEM_BIOS(0, "ro202", "Rodime RO202 (CHS: 321,4,17,512)" )
+ ROMX_LOAD( "rodi202.bin", 0x0000, 0x0800, CRC(337b4dcf) SHA1(791ebeb4521ddc11fb9742114018e161e1849bdf), ROM_BIOS(1) ) // Rodime RO202 (http://stason.org/TULARC/pc/hard-drives-hdd/rodime/RO202-11MB-5-25-FH-MFM-ST506.html)
+ ROM_SYSTEM_BIOS(1, "basf6185", "BASF 6185 (CHS: 440,6,32,256)" )
+ ROMX_LOAD( "basf6185.bin", 0x0000, 0x0800, CRC(06f8fe2e) SHA1(e81f2a47c854e0dbb096bee3428d79e63591059d), ROM_BIOS(2) ) // BASF 6185 (http://stason.org/TULARC/pc/hard-drives-hdd/basf-magnetics/6185-22MB-5-25-FH-MFM-ST412.html)
+ // ABC 852
+ ROM_SYSTEM_BIOS(2, "nec5126", "NEC 5126 (CHS: 615,4,17,512)" )
+ ROMX_LOAD( "nec5126.bin", 0x0000, 0x1000, CRC(17c247e7) SHA1(7339738b87751655cb4d6414422593272fe72f5d), ROM_BIOS(3) ) // NEC 5126 (http://stason.org/TULARC/pc/hard-drives-hdd/nec/D5126-20MB-5-25-HH-MFM-ST506.html)
+ // ABC 856
+ ROM_SYSTEM_BIOS(3, "micr1325", "Micropolis 1325 (CHS: 1024,8,33,256)" )
+ ROMX_LOAD( "micr1325.bin", 0x0000, 0x0800, CRC(084af409) SHA1(342b8e214a8c4c2b014604e53c45ef1bd1c69ea3), ROM_BIOS(4) ) // Micropolis 1325 (http://stason.org/TULARC/pc/hard-drives-hdd/micropolis/1325-69MB-5-25-FH-MFM-ST506.html)
+ROM_END
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+const rom_entry *abc_hdc_device::device_rom_region() const
+{
+ return ROM_NAME( abc_hdc );
+}
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( abc_hdc_mem )
+//-------------------------------------------------
+
+static ADDRESS_MAP_START( abc_hdc_mem, AS_PROGRAM, 8, abc_hdc_device )
+ AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(Z80_TAG, 0)
+ADDRESS_MAP_END
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( abc_hdc_io )
+//-------------------------------------------------
+
+static ADDRESS_MAP_START( abc_hdc_io, AS_IO, 8, abc_hdc_device )
+ADDRESS_MAP_END
+
+
+//-------------------------------------------------
+// z80_daisy_config daisy_chain
+//-------------------------------------------------
+
+static const z80_daisy_config daisy_chain[] =
+{
+ { NULL }
+};
+
+
+//-------------------------------------------------
+// MACHINE_DRIVER( abc_hdc )
+//-------------------------------------------------
+
+static MACHINE_CONFIG_FRAGMENT( abc_hdc )
+ MCFG_CPU_ADD(Z80_TAG, Z80, 4000000)
+ MCFG_CPU_PROGRAM_MAP(abc_hdc_mem)
+ MCFG_CPU_IO_MAP(abc_hdc_io)
+ MCFG_CPU_CONFIG(daisy_chain)
+
+ MCFG_SCSIBUS_ADD(SASIBUS_TAG)
+ MCFG_SCSIDEV_ADD(SASIBUS_TAG ":harddisk0", SCSIHD, SCSI_ID_0)
+ MCFG_SCSICB_ADD(SASIBUS_TAG ":host")
+MACHINE_CONFIG_END
+
+
+//-------------------------------------------------
+// machine_config_additions - device-specific
+// machine configurations
+//-------------------------------------------------
+
+machine_config_constructor abc_hdc_device::device_mconfig_additions() const
+{
+ return MACHINE_CONFIG_NAME( abc_hdc );
+}
+
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// abc_hdc_device - constructor
+//-------------------------------------------------
+
+abc_hdc_device::abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, ABC_HDC, "ABC HDC", tag, owner, clock, "abc_hdc", __FILE__),
+ device_abcbus_card_interface(mconfig, *this),
+ m_maincpu(*this, Z80_TAG),
+ m_sasibus(*this, SASIBUS_TAG)
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void abc_hdc_device::device_start()
+{
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void abc_hdc_device::device_reset()
+{
+}
+
+
+
+//**************************************************************************
+// ABC BUS INTERFACE
+//**************************************************************************
+
+//-------------------------------------------------
+// abcbus_cs -
+//-------------------------------------------------
+
+void abc_hdc_device::abcbus_cs(UINT8 data)
+{
+}