diff options
author | 2013-10-28 20:12:55 +0000 | |
---|---|---|
committer | 2013-10-28 20:12:55 +0000 | |
commit | ca21960e8d012bd09a737d00098fc1004e643f3d (patch) | |
tree | 22986eccdf8097ebf6724b142c256945677757fc /src/emu/bus/abcbus | |
parent | d32abbbe9b922bb508de0b761738719066f46b2a (diff) |
(MESS) abc800: Xebec WIP. (nw)
Diffstat (limited to 'src/emu/bus/abcbus')
-rw-r--r-- | src/emu/bus/abcbus/abc890.c | 2 | ||||
-rw-r--r-- | src/emu/bus/abcbus/hdc.c | 19 | ||||
-rw-r--r-- | src/emu/bus/abcbus/hdc.h | 2 | ||||
-rw-r--r-- | src/emu/bus/abcbus/lux21056.c | 52 | ||||
-rw-r--r-- | src/emu/bus/abcbus/lux21056.h | 2 |
5 files changed, 56 insertions, 21 deletions
diff --git a/src/emu/bus/abcbus/abc890.c b/src/emu/bus/abcbus/abc890.c index f7f91c292dc..d3ad13e6e7f 100644 --- a/src/emu/bus/abcbus/abc890.c +++ b/src/emu/bus/abcbus/abc890.c @@ -77,7 +77,7 @@ machine_config_constructor abc894_device::device_mconfig_additions() const static MACHINE_CONFIG_FRAGMENT( abc850 ) MCFG_ABCBUS_SLOT_ADD("io1", abcbus_cards, "fast") MCFG_DEVICE_CARD_DEVICE_INPUT_DEFAULTS("fast", abc850_fast) - MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "hdc") + MCFG_ABCBUS_SLOT_ADD("io2", abcbus_cards, "lux21056") MCFG_ABCBUS_SLOT_ADD("io3", abcbus_cards, NULL) MCFG_ABCBUS_SLOT_ADD("io4", abcbus_cards, NULL) MCFG_ABCBUS_SLOT_ADD("io5", abcbus_cards, NULL) diff --git a/src/emu/bus/abcbus/hdc.c b/src/emu/bus/abcbus/hdc.c index 4d316d0ef55..c327fda1909 100644 --- a/src/emu/bus/abcbus/hdc.c +++ b/src/emu/bus/abcbus/hdc.c @@ -2,7 +2,7 @@ // copyright-holders:Curt Coder /********************************************************************** - Luxor ABC 850 Winchester controller card emulation + Luxor XEBEC Winchester controller card emulation Copyright MESS Team. Visit http://mamedev.org for licensing and usage restrictions. @@ -34,18 +34,11 @@ const device_type ABC_HDC = &device_creator<abc_hdc_device>; //------------------------------------------------- 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_REGION( 0x800, Z80_TAG, 0 ) + ROM_SYSTEM_BIOS( 0, "st4038", "Seagate ST4038 (CHS: 733,5,17,512)" ) + ROMX_LOAD( "st4038.6c", 0x000, 0x800, CRC(4c803b87) SHA1(1141bb51ad9200fc32d92a749460843dc6af8953), ROM_BIOS(1) ) // Seagate ST4038 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST4038-1987-31MB-5-25-FH-MFM-ST412.html) + ROM_SYSTEM_BIOS( 1, "st225", "Seagate ST225 (CHS: 615,4,17,512)" ) + ROMX_LOAD( "st225.6c", 0x000, 0x800, CRC(c9f68f81) SHA1(7ff8b2a19f71fe0279ab3e5a0a5fffcb6030360c), ROM_BIOS(2) ) // Seagate ST225 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST225-21MB-5-25-HH-MFM-ST412.html) ROM_END diff --git a/src/emu/bus/abcbus/hdc.h b/src/emu/bus/abcbus/hdc.h index ec7d9612ccf..6f2c7d70378 100644 --- a/src/emu/bus/abcbus/hdc.h +++ b/src/emu/bus/abcbus/hdc.h @@ -2,7 +2,7 @@ // copyright-holders:Curt Coder /********************************************************************** - Luxor ABC 850 Winchester controller card emulation + Luxor XEBEC Winchester controller card emulation Copyright MESS Team. Visit http://mamedev.org for licensing and usage restrictions. diff --git a/src/emu/bus/abcbus/lux21056.c b/src/emu/bus/abcbus/lux21056.c index 7ee52ae2208..493a047236b 100644 --- a/src/emu/bus/abcbus/lux21056.c +++ b/src/emu/bus/abcbus/lux21056.c @@ -38,11 +38,18 @@ const device_type LUXOR_55_21056 = &device_creator<luxor_55_21056_device>; //------------------------------------------------- ROM_START( luxor_55_21056 ) - ROM_REGION( 0x800, Z80_TAG, 0 ) - ROM_SYSTEM_BIOS( 0, "st4038", "Seagate ST4038 (CHS: 733,5,17,512)" ) - ROMX_LOAD( "st4038.6c", 0x000, 0x800, CRC(4c803b87) SHA1(1141bb51ad9200fc32d92a749460843dc6af8953), ROM_BIOS(1) ) // Seagate ST4038 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST4038-1987-31MB-5-25-FH-MFM-ST412.html) - ROM_SYSTEM_BIOS( 1, "st225", "Seagate ST225 (CHS: 615,4,17,512)" ) - ROMX_LOAD( "st225.6c", 0x000, 0x800, CRC(c9f68f81) SHA1(7ff8b2a19f71fe0279ab3e5a0a5fffcb6030360c), ROM_BIOS(2) ) // Seagate ST225 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST225-21MB-5-25-HH-MFM-ST412.html) + ROM_REGION( 0x2000, 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 @@ -64,7 +71,7 @@ static ADDRESS_MAP_START( luxor_55_21056_mem, AS_PROGRAM, 8, luxor_55_21056_devi ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_GLOBAL_MASK(0x3fff) AM_RANGE(0x0000, 0x07ff) AM_MIRROR(0x1800) AM_ROM AM_REGION(Z80_TAG, 0) - AM_RANGE(0x2000, 0x3fff) AM_RAM + AM_RANGE(0x2000, 0x27ff) AM_MIRROR(0x1800) AM_RAM ADDRESS_MAP_END @@ -191,6 +198,37 @@ machine_config_constructor luxor_55_21056_device::device_mconfig_additions() con } +//------------------------------------------------- +// INPUT_PORTS( luxor_55_21046 ) +//------------------------------------------------- + +INPUT_PORTS_START( luxor_55_21056 ) + PORT_START("S1") + PORT_DIPNAME( 0x7f, 0x2c, "Card Address" ) + PORT_DIPSETTING( 0x2c, "44 (ABC 850)" ) + + PORT_START("S2") + PORT_DIPNAME( 0x01, 0x00, "PROM Size" ) + PORT_DIPSETTING( 0x00, "2 KB" ) + PORT_DIPSETTING( 0x01, "8 KB" ) + + PORT_START("S3") + PORT_DIPNAME( 0x01, 0x00, "RAM Size" ) + PORT_DIPSETTING( 0x00, "2 KB" ) + PORT_DIPSETTING( 0x01, "8 KB" ) +INPUT_PORTS_END + + +//------------------------------------------------- +// input_ports - device-specific input ports +//------------------------------------------------- + +ioport_constructor luxor_55_21056_device::device_input_ports() const +{ + return INPUT_PORTS_NAME( luxor_55_21056 ); +} + + //************************************************************************** // LIVE DEVICE @@ -206,6 +244,7 @@ luxor_55_21056_device::luxor_55_21056_device(const machine_config &mconfig, cons m_maincpu(*this, Z80_TAG), m_dma(*this, Z80DMA_TAG), m_sasibus(*this, SASIBUS_TAG ":host"), + m_s1(*this, "S1"), m_cs(0), m_rdy(0), m_req(1), @@ -245,6 +284,7 @@ void luxor_55_21056_device::device_reset() void luxor_55_21056_device::abcbus_cs(UINT8 data) { + m_cs = (data == m_s1->read()); } diff --git a/src/emu/bus/abcbus/lux21056.h b/src/emu/bus/abcbus/lux21056.h index 191d4feca9e..a61bfe3d15d 100644 --- a/src/emu/bus/abcbus/lux21056.h +++ b/src/emu/bus/abcbus/lux21056.h @@ -41,6 +41,7 @@ public: // optional information overrides virtual const rom_entry *device_rom_region() const; virtual machine_config_constructor device_mconfig_additions() const; + virtual ioport_constructor device_input_ports() const; DECLARE_READ8_MEMBER( sasi_status_r ); DECLARE_WRITE8_MEMBER( stat_w ); @@ -83,6 +84,7 @@ private: required_device<cpu_device> m_maincpu; required_device<z80dma_device> m_dma; required_device<scsicb_device> m_sasibus; + required_ioport m_s1; int m_cs; int m_rdy; |