mirror of
https://github.com/holub/mame
synced 2025-05-27 16:21:34 +03:00
162 lines
5.1 KiB
C
162 lines
5.1 KiB
C
/**********************************************************************
|
|
|
|
Luxor ABC 850 Winchester controller card emulation
|
|
|
|
Copyright MESS Team.
|
|
Visit http://mamedev.org for licensing and usage restrictions.
|
|
|
|
*********************************************************************/
|
|
|
|
#include "abc_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)
|
|
{
|
|
}
|