summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Curt Coder <curtcoder@mail.com>2021-01-14 08:27:31 +0200
committer Curt Coder <curtcoder@mail.com>2021-01-14 08:27:37 +0200
commit39c150bd1e779a6026439eaa1a72ba2883c6e5cd (patch)
treeed7363a1ea91bd040ce3e8e418817934a055e5de
parent496532926aa0732558ab2c7ca476665cec57b870 (diff)
New working machines
-------------------- Facit DTC (DeskTop Computer) [Luxor ABC arkivet, Curt Coder] abc800: Added new revisions of ROMs, and skeletons for DataBoard 4106/4107. [Luxor ABC arkivet, Curt Coder]
-rw-r--r--scripts/src/bus.lua10
-rw-r--r--src/devices/bus/abcbus/abcbus.cpp14
-rw-r--r--src/devices/bus/abcbus/db4106.cpp (renamed from src/devices/bus/abcbus/db411223.cpp)64
-rw-r--r--src/devices/bus/abcbus/db4106.h (renamed from src/devices/bus/abcbus/db411223.h)24
-rw-r--r--src/devices/bus/abcbus/db4107.cpp240
-rw-r--r--src/devices/bus/abcbus/db4107.h65
-rw-r--r--src/devices/bus/abcbus/db4112.cpp215
-rw-r--r--src/devices/bus/abcbus/db4112.h (renamed from src/devices/bus/abcbus/hdc.h)32
-rw-r--r--src/devices/bus/abcbus/hdc.cpp143
-rw-r--r--src/devices/bus/abcbus/lux21046.cpp14
-rw-r--r--src/mame/drivers/abc80x.cpp68
-rw-r--r--src/mame/mame.lst1
12 files changed, 663 insertions, 227 deletions
diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua
index ad3e1e2ad88..0f3648f150f 100644
--- a/scripts/src/bus.lua
+++ b/scripts/src/bus.lua
@@ -72,12 +72,14 @@ if (BUSES["ABCBUS"]~=null) then
MAME_DIR .. "src/devices/bus/abcbus/abc890.h",
MAME_DIR .. "src/devices/bus/abcbus/cadmouse.cpp",
MAME_DIR .. "src/devices/bus/abcbus/cadmouse.h",
- MAME_DIR .. "src/devices/bus/abcbus/db411223.cpp",
- MAME_DIR .. "src/devices/bus/abcbus/db411223.h",
+ MAME_DIR .. "src/devices/bus/abcbus/db4106.cpp",
+ MAME_DIR .. "src/devices/bus/abcbus/db4106.h",
+ MAME_DIR .. "src/devices/bus/abcbus/db4107.cpp",
+ MAME_DIR .. "src/devices/bus/abcbus/db4107.h",
+ MAME_DIR .. "src/devices/bus/abcbus/db4112.cpp",
+ MAME_DIR .. "src/devices/bus/abcbus/db4112.h",
MAME_DIR .. "src/devices/bus/abcbus/fd2.cpp",
MAME_DIR .. "src/devices/bus/abcbus/fd2.h",
- MAME_DIR .. "src/devices/bus/abcbus/hdc.cpp",
- MAME_DIR .. "src/devices/bus/abcbus/hdc.h",
MAME_DIR .. "src/devices/bus/abcbus/lux10828.cpp",
MAME_DIR .. "src/devices/bus/abcbus/lux10828.h",
MAME_DIR .. "src/devices/bus/abcbus/lux21046.cpp",
diff --git a/src/devices/bus/abcbus/abcbus.cpp b/src/devices/bus/abcbus/abcbus.cpp
index 714c4608975..9b24210bd3b 100644
--- a/src/devices/bus/abcbus/abcbus.cpp
+++ b/src/devices/bus/abcbus/abcbus.cpp
@@ -89,9 +89,10 @@ void abcbus_slot_device::device_start()
// slot devices
#include "abc890.h"
#include "cadmouse.h"
-#include "db411223.h"
+#include "db4106.h"
+#include "db4107.h"
+#include "db4112.h"
#include "fd2.h"
-#include "hdc.h"
#include "lux10828.h"
#include "lux21046.h"
#include "lux21056.h"
@@ -116,7 +117,9 @@ void abc80_cards(device_slot_interface &device)
device.option_add("abc830", ABC830);
device.option_add("abcexp", ABC_EXPANSION_UNIT);
device.option_add("cadabc", ABC_CADMOUSE);
- device.option_add("db411223", DATABOARD_4112_23);
+ device.option_add("db4106", DATABOARD_4106);
+ device.option_add("db4107", DATABOARD_4107);
+ device.option_add("db4112", DATABOARD_4112);
device.option_add("fd2", ABC_FD2);
device.option_add("memcard", ABC_MEMORY_CARD);
device.option_add("slow", LUXOR_55_10828);
@@ -141,8 +144,9 @@ void abcbus_cards(device_slot_interface &device)
device.option_add("abc856", ABC856);
device.option_add("abc890", ABC890);
device.option_add("abc894", ABC894);
- device.option_add("db411223", DATABOARD_4112_23);
- device.option_add("hdc", ABC_HDC);
+ device.option_add("db4106", DATABOARD_4106);
+ device.option_add("db4107", DATABOARD_4107);
+ device.option_add("db4112", DATABOARD_4112);
device.option_add("sio", ABC_SIO);
device.option_add("slow", LUXOR_55_10828);
device.option_add("slutprov", ABC_SLUTPROV);
diff --git a/src/devices/bus/abcbus/db411223.cpp b/src/devices/bus/abcbus/db4106.cpp
index f07e4bfcb70..edd604f610c 100644
--- a/src/devices/bus/abcbus/db411223.cpp
+++ b/src/devices/bus/abcbus/db4106.cpp
@@ -2,12 +2,12 @@
// copyright-holders:Curt Coder
/**********************************************************************
- Databoard 4112-23 floppy disk controller emulation
+ DataBoard 4106 Minifloppy interface emulation
*********************************************************************/
#include "emu.h"
-#include "db411223.h"
+#include "db4106.h"
@@ -22,16 +22,16 @@
// DEVICE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(DATABOARD_4112_23, abc_databoard_4112_23_device, "abc_db411223", "Databoard 4112-23")
+DEFINE_DEVICE_TYPE(DATABOARD_4106, databoard_4106_device, "abc_db4106", "DataBoard 4106 Minifloppy interface")
//-------------------------------------------------
-// ROM( databoard_4112_23 )
+// ROM( databoard_4106 )
//-------------------------------------------------
-ROM_START( databoard_4112_23 )
- ROM_REGION( 0x2000, Z80_TAG, 0 )
- ROM_LOAD("fpy_int_4112-23_teac_fd55.bin", 0x0000, 0x2000, CRC(9175ceb8) SHA1(95c150d3152df318abd9267915d5669d2ec33895))
+ROM_START( databoard_4106 )
+ ROM_REGION( 0x800, Z80_TAG, 0 )
+ ROM_LOAD("databoard-4106-a5.12-floppy-cont.bin", 0x000, 0x800, CRC(708f2a2f) SHA1(3f99ea2ef301d9e3415db152dad79171dc62cc2d) ) // single track controller
ROM_END
@@ -39,27 +39,27 @@ ROM_END
// rom_region - device-specific ROM region
//-------------------------------------------------
-const tiny_rom_entry *abc_databoard_4112_23_device::device_rom_region() const
+const tiny_rom_entry *databoard_4106_device::device_rom_region() const
{
- return ROM_NAME( databoard_4112_23 );
+ return ROM_NAME( databoard_4106 );
}
//-------------------------------------------------
-// ADDRESS_MAP( databoard_4112_23_mem )
+// ADDRESS_MAP( databoard_4106_mem )
//-------------------------------------------------
-void abc_databoard_4112_23_device::databoard_4112_23_mem(address_map &map)
+void databoard_4106_device::databoard_4106_mem(address_map &map)
{
- map(0x0000, 0x1fff).rom().region(Z80_TAG, 0);
+ map(0x0000, 0x07ff).rom().region(Z80_TAG, 0);
}
//-------------------------------------------------
-// ADDRESS_MAP( databoard_4112_23_io )
+// ADDRESS_MAP( databoard_4106_io )
//-------------------------------------------------
-void abc_databoard_4112_23_device::databoard_4112_23_io(address_map &map)
+void databoard_4106_device::databoard_4106_io(address_map &map)
{
}
@@ -68,19 +68,19 @@ void abc_databoard_4112_23_device::databoard_4112_23_io(address_map &map)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-void abc_databoard_4112_23_device::device_add_mconfig(machine_config &config)
+void databoard_4106_device::device_add_mconfig(machine_config &config)
{
Z80(config, m_maincpu, 4000000);
- m_maincpu->set_addrmap(AS_PROGRAM, &abc_databoard_4112_23_device::databoard_4112_23_mem);
- m_maincpu->set_addrmap(AS_IO, &abc_databoard_4112_23_device::databoard_4112_23_io);
+ m_maincpu->set_memory_map(&databoard_4106_device::databoard_4106_mem);
+ m_maincpu->set_io_map(&databoard_4106_device::databoard_4106_io);
}
//-------------------------------------------------
-// INPUT_PORTS( databoard_4112_23 )
+// INPUT_PORTS( databoard_4106 )
//-------------------------------------------------
-INPUT_PORTS_START( databoard_4112_23 )
+INPUT_PORTS_START( databoard_4106 )
INPUT_PORTS_END
@@ -88,9 +88,9 @@ INPUT_PORTS_END
// input_ports - device-specific input ports
//-------------------------------------------------
-ioport_constructor abc_databoard_4112_23_device::device_input_ports() const
+ioport_constructor databoard_4106_device::device_input_ports() const
{
- return INPUT_PORTS_NAME( databoard_4112_23 );
+ return INPUT_PORTS_NAME( databoard_4106 );
}
@@ -100,11 +100,11 @@ ioport_constructor abc_databoard_4112_23_device::device_input_ports() const
//**************************************************************************
//-------------------------------------------------
-// abc_databoard_4112_23_device - constructor
+// databoard_4106_device - constructor
//-------------------------------------------------
-abc_databoard_4112_23_device::abc_databoard_4112_23_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, DATABOARD_4112_23, tag, owner, clock),
+databoard_4106_device::databoard_4106_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, DATABOARD_4106, tag, owner, clock),
device_abcbus_card_interface(mconfig, *this),
m_maincpu(*this, Z80_TAG)
{
@@ -115,7 +115,7 @@ abc_databoard_4112_23_device::abc_databoard_4112_23_device(const machine_config
// device_start - device-specific startup
//-------------------------------------------------
-void abc_databoard_4112_23_device::device_start()
+void databoard_4106_device::device_start()
{
}
@@ -124,7 +124,7 @@ void abc_databoard_4112_23_device::device_start()
// device_reset - device-specific reset
//-------------------------------------------------
-void abc_databoard_4112_23_device::device_reset()
+void databoard_4106_device::device_reset()
{
m_cs = false;
}
@@ -139,7 +139,7 @@ void abc_databoard_4112_23_device::device_reset()
// abcbus_cs -
//-------------------------------------------------
-void abc_databoard_4112_23_device::abcbus_cs(uint8_t data)
+void databoard_4106_device::abcbus_cs(uint8_t data)
{
}
@@ -148,7 +148,7 @@ void abc_databoard_4112_23_device::abcbus_cs(uint8_t data)
// abcbus_stat -
//-------------------------------------------------
-uint8_t abc_databoard_4112_23_device::abcbus_stat()
+uint8_t databoard_4106_device::abcbus_stat()
{
uint8_t data = 0xff;
@@ -164,7 +164,7 @@ uint8_t abc_databoard_4112_23_device::abcbus_stat()
// abcbus_inp -
//-------------------------------------------------
-uint8_t abc_databoard_4112_23_device::abcbus_inp()
+uint8_t databoard_4106_device::abcbus_inp()
{
uint8_t data = 0xff;
@@ -180,7 +180,7 @@ uint8_t abc_databoard_4112_23_device::abcbus_inp()
// abcbus_out -
//-------------------------------------------------
-void abc_databoard_4112_23_device::abcbus_out(uint8_t data)
+void databoard_4106_device::abcbus_out(uint8_t data)
{
if (!m_cs) return;
}
@@ -190,7 +190,7 @@ void abc_databoard_4112_23_device::abcbus_out(uint8_t data)
// abcbus_c1 -
//-------------------------------------------------
-void abc_databoard_4112_23_device::abcbus_c1(uint8_t data)
+void databoard_4106_device::abcbus_c1(uint8_t data)
{
if (m_cs)
{
@@ -202,7 +202,7 @@ void abc_databoard_4112_23_device::abcbus_c1(uint8_t data)
// abcbus_c3 -
//-------------------------------------------------
-void abc_databoard_4112_23_device::abcbus_c3(uint8_t data)
+void databoard_4106_device::abcbus_c3(uint8_t data)
{
if (m_cs)
{
diff --git a/src/devices/bus/abcbus/db411223.h b/src/devices/bus/abcbus/db4106.h
index 4618aaf6cd6..3c2e5f0c6b7 100644
--- a/src/devices/bus/abcbus/db411223.h
+++ b/src/devices/bus/abcbus/db4106.h
@@ -2,12 +2,12 @@
// copyright-holders:Curt Coder
/**********************************************************************
- Databoard 4112-23 floppy disk controller emulation
+ DataBoard 4106 Minifloppy interface emulation
*********************************************************************/
-#ifndef MAME_BUS_ABCBUS_DATABOARD_4112_23_H
-#define MAME_BUS_ABCBUS_DATABOARD_4112_23_H
+#ifndef MAME_BUS_ABCBUS_DATABOARD_4106_H
+#define MAME_BUS_ABCBUS_DATABOARD_4106_H
#pragma once
@@ -20,14 +20,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> abc_databoard_4112_23_device
+// ======================> databoard_4106_device
-class abc_databoard_4112_23_device : public device_t,
- public device_abcbus_card_interface
+class databoard_4106_device : public device_t,
+ public device_abcbus_card_interface
{
public:
// construction/destruction
- abc_databoard_4112_23_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ databoard_4106_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -48,16 +48,16 @@ protected:
virtual void abcbus_c3(uint8_t data) override;
private:
- required_device<cpu_device> m_maincpu;
+ required_device<z80_device> m_maincpu;
bool m_cs;
- void databoard_4112_23_io(address_map &map);
- void databoard_4112_23_mem(address_map &map);
+ void databoard_4106_io(address_map &map);
+ void databoard_4106_mem(address_map &map);
};
// device type definition
-DECLARE_DEVICE_TYPE(DATABOARD_4112_23, abc_databoard_4112_23_device)
+DECLARE_DEVICE_TYPE(DATABOARD_4106, databoard_4106_device)
-#endif // MAME_BUS_ABCBUS_DATABOARD_4112_23_H
+#endif // MAME_BUS_ABCBUS_DATABOARD_4106_H
diff --git a/src/devices/bus/abcbus/db4107.cpp b/src/devices/bus/abcbus/db4107.cpp
new file mode 100644
index 00000000000..0b9ab0ed062
--- /dev/null
+++ b/src/devices/bus/abcbus/db4107.cpp
@@ -0,0 +1,240 @@
+// license:BSD-3-Clause
+// copyright-holders:Curt Coder
+/**********************************************************************
+
+ DataBoard 4107 Winchester interface emulation
+
+*********************************************************************/
+
+#include "emu.h"
+#include "db4107.h"
+
+
+
+//**************************************************************************
+// MACROS / CONSTANTS
+//**************************************************************************
+
+#define Z80_TAG "maincpu"
+#define Z80DMA_TAG "dma"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(DATABOARD_4107, databoard_4107_device, "abc_db4107", "DataBoard 4107 Winchester interface")
+
+
+//-------------------------------------------------
+// ROM( databoard_4107 )
+//-------------------------------------------------
+
+ROM_START( databoard_4107 )
+ ROM_REGION( 0x2000, Z80_TAG, 0 )
+ ROM_SYSTEM_BIOS( 0, "w511", "Micropolis W511" )
+ ROMX_LOAD("micr.w511_6490398-2.bin", 0x000, 0x1000, CRC(cd8f16ff) SHA1(52966142bbed07459f6eb272213b677ec49864d3), ROM_BIOS(0) )
+ ROM_SYSTEM_BIOS( 1, "nec5126", "NEC 5126)" )
+ ROMX_LOAD("nec_1.2_6490396-1.bin", 0x000, 0x1000, CRC(88fa6ed2) SHA1(9faa144591c620c5d7dcc15feada350f6a14f02a), ROM_BIOS(1) )
+ ROM_SYSTEM_BIOS( 2, "nec6490", "NEC 6490" )
+ ROMX_LOAD("nec_6490.bin", 0x000, 0x1000, CRC(17c247e7) SHA1(7339738b87751655cb4d6414422593272fe72f5d), ROM_BIOS(2) )
+ ROM_SYSTEM_BIOS( 3, "ro202", "Rodime RO-202" )
+ ROMX_LOAD("ro202_1.00_6490320-01.bin", 0x000, 0x800, CRC(337b4dcf) SHA1(791ebeb4521ddc11fb9742114018e161e1849bdf), ROM_BIOS(3) )
+ ROM_SYSTEM_BIOS( 4, "st4038", "Seagate ST4038 (CHS: 733,5,17,512)" )
+ ROMX_LOAD("st4038.bin", 0x000, 0x800, CRC(4c803b87) SHA1(1141bb51ad9200fc32d92a749460843dc6af8953), ROM_BIOS(4) )
+ ROM_SYSTEM_BIOS( 5, "st406", "Seagate ST406" )
+ ROMX_LOAD("st406.bin", 0x000, 0x800, CRC(3cdd154f) SHA1(b1464163370e9037a8ce1d535935ee55fbf68ee1), ROM_BIOS(5) )
+ ROM_SYSTEM_BIOS( 6, "st514", "Seagate ST514" )
+ ROMX_LOAD("st514_15_5.bin", 0x000, 0x800, CRC(6e25c645) SHA1(8b3ca02decef5aafdb46dbfdf84371057d06799e), ROM_BIOS(6) )
+ ROM_SYSTEM_BIOS( 7, "w504", "W504" )
+ ROMX_LOAD("w504_10m.bin", 0x000, 0x800, CRC(277ee4a5) SHA1(a3bf6f2b9f75ef46fd3b1aca6e4a42191d702b82), ROM_BIOS(7) )
+ ROM_SYSTEM_BIOS( 8, "st412", "Seagate ST412" )
+ ROMX_LOAD("w507_st412.bin", 0x000, 0x800, CRC(0d3c92d2) SHA1(345c5f8154f0ec9d66ef19ce9793176aa257707d), ROM_BIOS(8) )
+ ROM_SYSTEM_BIOS( 9, "w514", "W514" )
+ ROMX_LOAD("w514.bin", 0x000, 0x800, CRC(8ec3f70e) SHA1(ca60a48d591e42526fcc301ce94e861bf8368aa4), ROM_BIOS(9) )
+ ROM_SYSTEM_BIOS( 10, "b6185b", "BASF 6185B" )
+ ROMX_LOAD("basf_6185b.bin", 0x000, 0x800, CRC(06f8fe2e) SHA1(e81f2a47c854e0dbb096bee3428d79e63591059d), ROM_BIOS(10) )
+ ROM_SYSTEM_BIOS( 11, "m1325", "Micropolis 1325" )
+ ROMX_LOAD("micr1325.bin", 0x000, 0x800, CRC(084af409) SHA1(342b8e214a8c4c2b014604e53c45ef1bd1c69ea3), ROM_BIOS(11) )
+ ROM_SYSTEM_BIOS( 12, "st225", "W515 (CHS: 615,4,17,512)" )
+ ROMX_LOAD("w515_st225.bin", 0x000, 0x800, CRC(c9f68f81) SHA1(7ff8b2a19f71fe0279ab3e5a0a5fffcb6030360c), ROM_BIOS(12) )
+ROM_END
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+const tiny_rom_entry *databoard_4107_device::device_rom_region() const
+{
+ return ROM_NAME( databoard_4107 );
+}
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( databoard_4107_mem )
+//-------------------------------------------------
+
+void databoard_4107_device::databoard_4107_mem(address_map &map)
+{
+ map(0x0000, 0x1fff).rom().region(Z80_TAG, 0);
+}
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( databoard_4107_io )
+//-------------------------------------------------
+
+void databoard_4107_device::databoard_4107_io(address_map &map)
+{
+}
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void databoard_4107_device::device_add_mconfig(machine_config &config)
+{
+ Z80(config, m_maincpu, 4000000);
+ m_maincpu->set_memory_map(&databoard_4107_device::databoard_4107_mem);
+ m_maincpu->set_io_map(&databoard_4107_device::databoard_4107_io);
+
+ Z80DMA(config, m_dma, 4000000);
+}
+
+
+//-------------------------------------------------
+// INPUT_PORTS( databoard_4107 )
+//-------------------------------------------------
+
+INPUT_PORTS_START( databoard_4107 )
+INPUT_PORTS_END
+
+
+//-------------------------------------------------
+// input_ports - device-specific input ports
+//-------------------------------------------------
+
+ioport_constructor databoard_4107_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME( databoard_4107 );
+}
+
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// databoard_4107_device - constructor
+//-------------------------------------------------
+
+databoard_4107_device::databoard_4107_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, DATABOARD_4107, tag, owner, clock),
+ device_abcbus_card_interface(mconfig, *this),
+ m_maincpu(*this, Z80_TAG),
+ m_dma(*this, Z80DMA_TAG)
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void databoard_4107_device::device_start()
+{
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void databoard_4107_device::device_reset()
+{
+ m_cs = false;
+}
+
+
+
+//**************************************************************************
+// ABC BUS INTERFACE
+//**************************************************************************
+
+//-------------------------------------------------
+// abcbus_cs -
+//-------------------------------------------------
+
+void databoard_4107_device::abcbus_cs(uint8_t data)
+{
+}
+
+
+//-------------------------------------------------
+// abcbus_stat -
+//-------------------------------------------------
+
+uint8_t databoard_4107_device::abcbus_stat()
+{
+ uint8_t data = 0xff;
+
+ if (m_cs)
+ {
+ }
+
+ return data;
+}
+
+
+//-------------------------------------------------
+// abcbus_inp -
+//-------------------------------------------------
+
+uint8_t databoard_4107_device::abcbus_inp()
+{
+ uint8_t data = 0xff;
+
+ if (m_cs)
+ {
+ }
+
+ return data;
+}
+
+
+//-------------------------------------------------
+// abcbus_out -
+//-------------------------------------------------
+
+void databoard_4107_device::abcbus_out(uint8_t data)
+{
+ if (!m_cs) return;
+}
+
+
+//-------------------------------------------------
+// abcbus_c1 -
+//-------------------------------------------------
+
+void databoard_4107_device::abcbus_c1(uint8_t data)
+{
+ if (m_cs)
+ {
+ }
+}
+
+
+//-------------------------------------------------
+// abcbus_c3 -
+//-------------------------------------------------
+
+void databoard_4107_device::abcbus_c3(uint8_t data)
+{
+ if (m_cs)
+ {
+ m_maincpu->reset();
+ }
+}
diff --git a/src/devices/bus/abcbus/db4107.h b/src/devices/bus/abcbus/db4107.h
new file mode 100644
index 00000000000..0a69a6c95a9
--- /dev/null
+++ b/src/devices/bus/abcbus/db4107.h
@@ -0,0 +1,65 @@
+// license:BSD-3-Clause
+// copyright-holders:Curt Coder
+/**********************************************************************
+
+ DataBoard 4107 Winchester interface emulation
+
+*********************************************************************/
+
+#ifndef MAME_BUS_ABCBUS_DATABOARD_4107_H
+#define MAME_BUS_ABCBUS_DATABOARD_4107_H
+
+#pragma once
+
+#include "abcbus.h"
+#include "cpu/z80/z80.h"
+#include "machine/z80dma.h"
+
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> databoard_4107_device
+
+class databoard_4107_device : public device_t,
+ public device_abcbus_card_interface
+{
+public:
+ // construction/destruction
+ databoard_4107_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ // optional information overrides
+ virtual const tiny_rom_entry *device_rom_region() const override;
+ virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
+
+ // device_abcbus_interface overrides
+ virtual void abcbus_cs(uint8_t data) override;
+ virtual uint8_t abcbus_inp() override;
+ virtual void abcbus_out(uint8_t data) override;
+ virtual uint8_t abcbus_stat() override;
+ virtual void abcbus_c1(uint8_t data) override;
+ virtual void abcbus_c3(uint8_t data) override;
+
+private:
+ required_device<z80_device> m_maincpu;
+ required_device<z80dma_device> m_dma;
+
+ bool m_cs;
+
+ void databoard_4107_io(address_map &map);
+ void databoard_4107_mem(address_map &map);
+};
+
+
+// device type definition
+DECLARE_DEVICE_TYPE(DATABOARD_4107, databoard_4107_device)
+
+#endif // MAME_BUS_ABCBUS_DATABOARD_4107_H
diff --git a/src/devices/bus/abcbus/db4112.cpp b/src/devices/bus/abcbus/db4112.cpp
new file mode 100644
index 00000000000..a2631f0b244
--- /dev/null
+++ b/src/devices/bus/abcbus/db4112.cpp
@@ -0,0 +1,215 @@
+// license:BSD-3-Clause
+// copyright-holders:Curt Coder
+/**********************************************************************
+
+ DataBoard 4112-23 floppy disk controller emulation
+
+*********************************************************************/
+
+#include "emu.h"
+#include "db4112.h"
+
+
+
+//**************************************************************************
+// MACROS / CONSTANTS
+//**************************************************************************
+
+#define Z80_TAG "maincpu"
+
+
+//**************************************************************************
+// DEVICE DEFINITIONS
+//**************************************************************************
+
+DEFINE_DEVICE_TYPE(DATABOARD_4112, abc_databoard_4112_device, "abc_db4112", "DataBoard 4112")
+
+
+//-------------------------------------------------
+// ROM( databoard_4112 )
+//-------------------------------------------------
+
+ROM_START( databoard_4112 )
+ ROM_DEFAULT_BIOS( "fd55" )
+ ROM_REGION( 0x2000, Z80_TAG, 0 )
+ ROM_SYSTEM_BIOS( 0, "119", "CONT 4112 Ver 1.19 85-07-04" )
+ ROMX_LOAD("fpy_int_4112-23_4112_ver1.19.bin", 0x0000, 0x2000, CRC(74c355e5) SHA1(cc434af31897cf326cb2bb2a630f74a8d8174c3c), ROM_BIOS(0) )
+ ROM_SYSTEM_BIOS( 1, "fd55", "TEAC FD55 (860702)" )
+ ROMX_LOAD("fpy_int_4112-23_teac_fd55.bin", 0x0000, 0x2000, CRC(9175ceb8) SHA1(95c150d3152df318abd9267915d5669d2ec33895), ROM_BIOS(1) )
+ROM_END
+
+
+//-------------------------------------------------
+// rom_region - device-specific ROM region
+//-------------------------------------------------
+
+const tiny_rom_entry *abc_databoard_4112_device::device_rom_region() const
+{
+ return ROM_NAME( databoard_4112 );
+}
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( databoard_4112_mem )
+//-------------------------------------------------
+
+void abc_databoard_4112_device::databoard_4112_mem(address_map &map)
+{
+ map(0x0000, 0x1fff).rom().region(Z80_TAG, 0);
+}
+
+
+//-------------------------------------------------
+// ADDRESS_MAP( databoard_4112_io )
+//-------------------------------------------------
+
+void abc_databoard_4112_device::databoard_4112_io(address_map &map)
+{
+}
+
+
+//-------------------------------------------------
+// device_add_mconfig - add device configuration
+//-------------------------------------------------
+
+void abc_databoard_4112_device::device_add_mconfig(machine_config &config)
+{
+ Z80(config, m_maincpu, 4000000);
+ m_maincpu->set_memory_map(&abc_databoard_4112_device::databoard_4112_mem);
+ m_maincpu->set_io_map(&abc_databoard_4112_device::databoard_4112_io);
+}
+
+
+//-------------------------------------------------
+// INPUT_PORTS( databoard_4112 )
+//-------------------------------------------------
+
+INPUT_PORTS_START( databoard_4112 )
+INPUT_PORTS_END
+
+
+//-------------------------------------------------
+// input_ports - device-specific input ports
+//-------------------------------------------------
+
+ioport_constructor abc_databoard_4112_device::device_input_ports() const
+{
+ return INPUT_PORTS_NAME( databoard_4112 );
+}
+
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// abc_databoard_4112_device - constructor
+//-------------------------------------------------
+
+abc_databoard_4112_device::abc_databoard_4112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, DATABOARD_4112, tag, owner, clock),
+ device_abcbus_card_interface(mconfig, *this),
+ m_maincpu(*this, Z80_TAG)
+{
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void abc_databoard_4112_device::device_start()
+{
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void abc_databoard_4112_device::device_reset()
+{
+ m_cs = false;
+}
+
+
+
+//**************************************************************************
+// ABC BUS INTERFACE
+//**************************************************************************
+
+//-------------------------------------------------
+// abcbus_cs -
+//-------------------------------------------------
+
+void abc_databoard_4112_device::abcbus_cs(uint8_t data)
+{
+}
+
+
+//-------------------------------------------------
+// abcbus_stat -
+//-------------------------------------------------
+
+uint8_t abc_databoard_4112_device::abcbus_stat()
+{
+ uint8_t data = 0xff;
+
+ if (m_cs)
+ {
+ }
+
+ return data;
+}
+
+
+//-------------------------------------------------
+// abcbus_inp -
+//-------------------------------------------------
+
+uint8_t abc_databoard_4112_device::abcbus_inp()
+{
+ uint8_t data = 0xff;
+
+ if (m_cs)
+ {
+ }
+
+ return data;
+}
+
+
+//-------------------------------------------------
+// abcbus_out -
+//-------------------------------------------------
+
+void abc_databoard_4112_device::abcbus_out(uint8_t data)
+{
+ if (!m_cs) return;
+}
+
+
+//-------------------------------------------------
+// abcbus_c1 -
+//-------------------------------------------------
+
+void abc_databoard_4112_device::abcbus_c1(uint8_t data)
+{
+ if (m_cs)
+ {
+ }
+}
+
+
+//-------------------------------------------------
+// abcbus_c3 -
+//-------------------------------------------------
+
+void abc_databoard_4112_device::abcbus_c3(uint8_t data)
+{
+ if (m_cs)
+ {
+ m_maincpu->reset();
+ }
+}
diff --git a/src/devices/bus/abcbus/hdc.h b/src/devices/bus/abcbus/db4112.h
index 075caad3778..f98e125e790 100644
--- a/src/devices/bus/abcbus/hdc.h
+++ b/src/devices/bus/abcbus/db4112.h
@@ -2,19 +2,17 @@
// copyright-holders:Curt Coder
/**********************************************************************
- Luxor XEBEC Winchester controller card emulation
+ DataBoard 4112-23 floppy disk controller emulation
*********************************************************************/
-#ifndef MAME_BUS_ABCBUS_HDC_H
-#define MAME_BUS_ABCBUS_HDC_H
+#ifndef MAME_BUS_ABCBUS_DATABOARD_4112_H
+#define MAME_BUS_ABCBUS_DATABOARD_4112_H
#pragma once
#include "abcbus.h"
#include "cpu/z80/z80.h"
-#include "machine/z80daisy.h"
-#include "bus/scsi/scsihd.h"
@@ -22,14 +20,14 @@
// TYPE DEFINITIONS
//**************************************************************************
-// ======================> abc_hdc_device
+// ======================> abc_databoard_4112_device
-class abc_hdc_device : public device_t,
- public device_abcbus_card_interface
+class abc_databoard_4112_device : public device_t,
+ public device_abcbus_card_interface
{
public:
// construction/destruction
- abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ abc_databoard_4112_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
protected:
// device-level overrides
@@ -39,19 +37,27 @@ protected:
// optional information overrides
virtual const tiny_rom_entry *device_rom_region() const override;
virtual void device_add_mconfig(machine_config &config) override;
+ virtual ioport_constructor device_input_ports() const override;
// device_abcbus_interface overrides
virtual void abcbus_cs(uint8_t data) override;
+ virtual uint8_t abcbus_inp() override;
+ virtual void abcbus_out(uint8_t data) override;
+ virtual uint8_t abcbus_stat() override;
+ virtual void abcbus_c1(uint8_t data) override;
+ virtual void abcbus_c3(uint8_t data) override;
private:
required_device<z80_device> m_maincpu;
- void abc_hdc_io(address_map &map);
- void abc_hdc_mem(address_map &map);
+ bool m_cs;
+
+ void databoard_4112_io(address_map &map);
+ void databoard_4112_mem(address_map &map);
};
// device type definition
-DECLARE_DEVICE_TYPE(ABC_HDC, abc_hdc_device)
+DECLARE_DEVICE_TYPE(DATABOARD_4112, abc_databoard_4112_device)
-#endif // MAME_BUS_ABCBUS_HDC_H
+#endif // MAME_BUS_ABCBUS_DATABOARD_4112_H
diff --git a/src/devices/bus/abcbus/hdc.cpp b/src/devices/bus/abcbus/hdc.cpp
deleted file mode 100644
index 2febc491d79..00000000000
--- a/src/devices/bus/abcbus/hdc.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Curt Coder
-/**********************************************************************
-
- Luxor XEBEC Winchester controller card emulation
-
-*********************************************************************/
-
-#include "emu.h"
-#include "hdc.h"
-
-
-
-//**************************************************************************
-// MACROS / CONSTANTS
-//**************************************************************************
-
-#define Z80_TAG "z80"
-#define SASIBUS_TAG "sasi"
-
-
-
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
-
-DEFINE_DEVICE_TYPE(ABC_HDC, abc_hdc_device, "abc_hdc", "ABC HDC")
-
-
-//-------------------------------------------------
-// ROM( abc_hdc )
-//-------------------------------------------------
-
-ROM_START( abc_hdc )
- 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(0) ) // 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(1) ) // Seagate ST225 (http://stason.org/TULARC/pc/hard-drives-hdd/seagate/ST225-21MB-5-25-HH-MFM-ST412.html)
-ROM_END
-
-
-//-------------------------------------------------
-// rom_region - device-specific ROM region
-//-------------------------------------------------
-
-const tiny_rom_entry *abc_hdc_device::device_rom_region() const
-{
- return ROM_NAME( abc_hdc );
-}
-
-
-//-------------------------------------------------
-// ADDRESS_MAP( abc_hdc_mem )
-//-------------------------------------------------
-
-void abc_hdc_device::abc_hdc_mem(address_map &map)
-{
- map(0x0000, 0x0ff).rom().region(Z80_TAG, 0);
-}
-
-
-//-------------------------------------------------
-// ADDRESS_MAP( abc_hdc_io )
-//-------------------------------------------------
-
-void abc_hdc_device::abc_hdc_io(address_map &map)
-{
-}
-
-
-//-------------------------------------------------
-// z80_daisy_config daisy_chain
-//-------------------------------------------------
-
-static const z80_daisy_config daisy_chain[] =
-{
- { nullptr }
-};
-
-
-//-------------------------------------------------
-// device_add_mconfig - add device configuration
-//-------------------------------------------------
-
-void abc_hdc_device::device_add_mconfig(machine_config &config)
-{
- Z80(config, m_maincpu, 4000000);
- m_maincpu->set_memory_map(&abc_hdc_device::abc_hdc_mem);
- m_maincpu->set_io_map(&abc_hdc_device::abc_hdc_io);
- m_maincpu->set_daisy_config(daisy_chain);
-
- scsi_port_device &scsi(SCSI_PORT(config, SASIBUS_TAG));
- scsi.set_slot_device(1, "harddisk", SCSIHD, DEVICE_INPUT_DEFAULTS_NAME(SCSI_ID_0));
-}
-
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// abc_hdc_device - constructor
-//-------------------------------------------------
-
-abc_hdc_device::abc_hdc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, ABC_HDC, tag, owner, clock)
- , device_abcbus_card_interface(mconfig, *this)
- , m_maincpu(*this, Z80_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_t data)
-{
-}
diff --git a/src/devices/bus/abcbus/lux21046.cpp b/src/devices/bus/abcbus/lux21046.cpp
index c305f2bfc63..ff4940815bc 100644
--- a/src/devices/bus/abcbus/lux21046.cpp
+++ b/src/devices/bus/abcbus/lux21046.cpp
@@ -111,12 +111,14 @@ ROM_START( luxor_55_21046 )
ROM_DEFAULT_BIOS( "v207" )
ROM_SYSTEM_BIOS( 0, "v105", "Luxor v1.05 (1984-10-04)" )
ROMX_LOAD( "cntr 105.6cd", 0x2000, 0x2000, CRC(44043025) SHA1(17487ca35b399bb49d4015bbeede0809db8e772f), ROM_BIOS(0) )
- ROM_SYSTEM_BIOS( 1, "v107", "Luxor v1.07 (1985-07-03)" )
- ROMX_LOAD( "cntr 1.07 6490318-07.6cd", 0x0000, 0x4000, CRC(db8c1c0e) SHA1(8bccd5bc72124984de529ee058df779f06d2c1d5), ROM_BIOS(1) )
- ROM_SYSTEM_BIOS( 2, "v108", "Luxor v1.08 (1986-03-12)" )
- ROMX_LOAD( "cntr 108.6cd", 0x2000, 0x2000, CRC(229764cb) SHA1(a2e2f6f49c31b827efc62f894de9a770b65d109d), ROM_BIOS(2) )
- ROM_SYSTEM_BIOS( 3, "v207", "DiAB v2.07 (1987-06-24)" )
- ROMX_LOAD( "diab 207.6cd", 0x2000, 0x2000, CRC(86622f52) SHA1(61ad271de53152c1640c0b364fce46d1b0b4c7e2), ROM_BIOS(3) )
+ ROM_SYSTEM_BIOS( 1, "v106", "Luxor v1.06 (1984-12-13)" )
+ ROMX_LOAD( "6490318-06.6cd", 0x0000, 0x4000, CRC(7f4726c9) SHA1(cf576456f135877537c5ee56b00a7259160d2c56), ROM_BIOS(1) )
+ ROM_SYSTEM_BIOS( 2, "v107", "Luxor v1.07 (1985-07-03)" )
+ ROMX_LOAD( "cntr 1.07 6490318-07.6cd", 0x0000, 0x4000, CRC(db8c1c0e) SHA1(8bccd5bc72124984de529ee058df779f06d2c1d5), ROM_BIOS(2) )
+ ROM_SYSTEM_BIOS( 3, "v108", "Luxor v1.08 (1986-03-12)" )
+ ROMX_LOAD( "cntr 108.6cd", 0x2000, 0x2000, CRC(229764cb) SHA1(a2e2f6f49c31b827efc62f894de9a770b65d109d), ROM_BIOS(3) )
+ ROM_SYSTEM_BIOS( 4, "v207", "DiAB v2.07 (1987-06-24)" )
+ ROMX_LOAD( "diab 207.6cd", 0x2000, 0x2000, CRC(86622f52) SHA1(61ad271de53152c1640c0b364fce46d1b0b4c7e2), ROM_BIOS(4) )
ROM_REGION( 0x104, "plds", 0 )
ROM_LOAD( "pal16r4.2a", 0x000, 0x104, NO_DUMP)
diff --git a/src/mame/drivers/abc80x.cpp b/src/mame/drivers/abc80x.cpp
index d61631795f6..200b1937de5 100644
--- a/src/mame/drivers/abc80x.cpp
+++ b/src/mame/drivers/abc80x.cpp
@@ -1255,13 +1255,25 @@ void abc806_state::abc806(machine_config &config)
ROM_START( abc800c )
ROM_REGION( 0x8000, Z80_TAG, 0 )
+ ROM_DEFAULT_BIOS("6-52")
ROM_LOAD( "abc c-1.1m", 0x0000, 0x1000, CRC(37009d29) SHA1(a1acd817ff8c2ed93935a163c5cf3d83d8bd6fb5) )
ROM_LOAD( "abc 1-1.1l", 0x1000, 0x1000, CRC(ff15a28d) SHA1(bb4523ab1d190bc787f1923567b86795f66c26e2) )
ROM_LOAD( "abc 2-1.1k", 0x2000, 0x1000, CRC(6ff2f528) SHA1(32d1639769c4a20b7a45c44f4c6993f77397f7a1) )
ROM_LOAD( "abc 3-1.1j", 0x3000, 0x1000, CRC(9a43c47a) SHA1(964eb28e3d9779d1b13e0e938495133bbdb3aed3) )
ROM_LOAD( "abc 4-1.2m", 0x4000, 0x1000, CRC(ba18db9c) SHA1(0c4543766fe9b10bee333f3f832f6f2209e449f8) )
ROM_LOAD( "abc 5-1.2l", 0x5000, 0x1000, CRC(abbeb026) SHA1(44ebe417e3fa8d7878c23b56782aac8b443f1bfc) )
- ROM_LOAD( "abc 6-1.2k", 0x6000, 0x1000, CRC(4bd5e808) SHA1(5ca0a60571de6cfa3d6d166e0cde3c78560569f3) ) // 1981-01-12
+ ROM_SYSTEM_BIOS( 0, "6-1", "ABC-DOS (1981-01-12)" )
+ ROMX_LOAD( "abc 6-1.2k", 0x6000, 0x1000, CRC(4bd5e808) SHA1(5ca0a60571de6cfa3d6d166e0cde3c78560569f3), ROM_BIOS(0) )
+ ROM_SYSTEM_BIOS( 1, "6-23", "ABC-DOS (1982-03-24)" )
+ ROMX_LOAD( "abc 6-23.2k", 0x6000, 0x1000, CRC(63a5646c) SHA1(e97c94d97ea19821e4c576e9006ed1f1f5e3d7cb), ROM_BIOS(1) )
+ ROM_SYSTEM_BIOS( 2, "6-13", "ABC-DOS (1982-07-19)" )
+ ROMX_LOAD( "abc 6-13.2k", 0x6000, 0x1000, CRC(6fa71fb6) SHA1(b037dfb3de7b65d244c6357cd146376d4237dab6), ROM_BIOS(2) )
+ ROM_SYSTEM_BIOS( 3, "6-11", "UFD-DOS v.19 (1983-05-31)" )
+ ROMX_LOAD( "abc 6-11.2k", 0x6000, 0x1000, CRC(2a45be80) SHA1(bf08a18a74e8bdaee2656a3c8246c0122398b58f), ROM_BIOS(3) )
+ ROM_SYSTEM_BIOS( 4, "6-52", "UFD-DOS v.20 (1984-03-02)" )
+ ROMX_LOAD( "abc 6-52.2k", 0x6000, 0x1000, CRC(c311b57a) SHA1(4bd2a541314e53955a0d53ef2f9822a202daa485), ROM_BIOS(4) )
+ ROM_LOAD_OPTIONAL( "abc 7-2.2j", 0x7000, 0x1000, CRC(fd137866) SHA1(3ac914d90db1503f61397c0ea26914eb38725044) )
+ ROM_LOAD_OPTIONAL( "abc 7-21.2j", 0x7000, 0x1000, CRC(4d2b589f) SHA1(8772119e002943d9891f77eb59d1d2491a834ccd) )
ROM_LOAD( "abc 7-22.2j", 0x7000, 0x1000, CRC(774511ab) SHA1(5171e43213a402c2d96dee33453c8306ac1aafc8) )
ROM_REGION( 0x20, "hru", 0 )
@@ -1278,20 +1290,51 @@ ROM_END
ROM_START( abc800m )
ROM_REGION( 0x8000, Z80_TAG, 0 )
- ROM_DEFAULT_BIOS("ufd20")
+ ROM_DEFAULT_BIOS("6-52")
ROM_LOAD( "abc m-12.1m", 0x0000, 0x1000, CRC(f85b274c) SHA1(7d0f5639a528d8d8130a22fe688d3218c77839dc) )
ROM_LOAD( "abc 1-12.1l", 0x1000, 0x1000, CRC(1e99fbdc) SHA1(ec6210686dd9d03a5ed8c4a4e30e25834aeef71d) )
ROM_LOAD( "abc 2-12.1k", 0x2000, 0x1000, CRC(ac196ba2) SHA1(64fcc0f03fbc78e4c8056e1fa22aee12b3084ef5) )
ROM_LOAD( "abc 3-12.1j", 0x3000, 0x1000, CRC(3ea2b5ee) SHA1(5a51ac4a34443e14112a6bae16c92b5eb636603f) )
ROM_LOAD( "abc 4-12.2m", 0x4000, 0x1000, CRC(695cb626) SHA1(9603ce2a7b2d7b1cbeb525f5493de7e5c1e5a803) )
ROM_LOAD( "abc 5-12.2l", 0x5000, 0x1000, CRC(b4b02358) SHA1(95338efa3b64b2a602a03bffc79f9df297e9534a) )
- ROM_SYSTEM_BIOS( 0, "13", "ABC-DOS (1982-07-19)" )
- ROMX_LOAD( "abc 6-13.2k", 0x6000, 0x1000, CRC(6fa71fb6) SHA1(b037dfb3de7b65d244c6357cd146376d4237dab6), ROM_BIOS(0) )
- ROM_SYSTEM_BIOS( 1, "ufd19", "UFD-DOS v.19 (1983-05-31)" )
- ROMX_LOAD( "abc 6-11 ufd.2k", 0x6000, 0x1000, CRC(2a45be80) SHA1(bf08a18a74e8bdaee2656a3c8246c0122398b58f), ROM_BIOS(1) ) // is this "ABC 6-5" or "ABC 6-51" instead?
- ROM_SYSTEM_BIOS( 2, "ufd20", "UFD-DOS v.20 (1984-03-02)" )
- ROMX_LOAD( "abc 6-52.2k", 0x6000, 0x1000, CRC(c311b57a) SHA1(4bd2a541314e53955a0d53ef2f9822a202daa485), ROM_BIOS(2) )
- ROM_LOAD_OPTIONAL( "abc 7-21.2j", 0x7000, 0x1000, CRC(fd137866) SHA1(3ac914d90db1503f61397c0ea26914eb38725044) )
+ ROM_SYSTEM_BIOS( 0, "6-1", "ABC-DOS (1981-01-12)" )
+ ROMX_LOAD( "abc 6-1.2k", 0x6000, 0x1000, CRC(4bd5e808) SHA1(5ca0a60571de6cfa3d6d166e0cde3c78560569f3), ROM_BIOS(0) )
+ ROM_SYSTEM_BIOS( 1, "6-23", "ABC-DOS (1982-03-24)" )
+ ROMX_LOAD( "abc 6-23.2k", 0x6000, 0x1000, CRC(63a5646c) SHA1(e97c94d97ea19821e4c576e9006ed1f1f5e3d7cb), ROM_BIOS(1) )
+ ROM_SYSTEM_BIOS( 2, "6-13", "ABC-DOS (1982-07-19)" )
+ ROMX_LOAD( "abc 6-13.2k", 0x6000, 0x1000, CRC(6fa71fb6) SHA1(b037dfb3de7b65d244c6357cd146376d4237dab6), ROM_BIOS(2) )
+ ROM_SYSTEM_BIOS( 3, "6-11", "UFD-DOS v.19 (1983-05-31)" )
+ ROMX_LOAD( "abc 6-11.2k", 0x6000, 0x1000, CRC(2a45be80) SHA1(bf08a18a74e8bdaee2656a3c8246c0122398b58f), ROM_BIOS(3) )
+ ROM_SYSTEM_BIOS( 4, "6-52", "UFD-DOS v.20 (1984-03-02)" )
+ ROMX_LOAD( "abc 6-52.2k", 0x6000, 0x1000, CRC(c311b57a) SHA1(4bd2a541314e53955a0d53ef2f9822a202daa485), ROM_BIOS(4) )
+ ROM_LOAD_OPTIONAL( "abc 7-2.2j", 0x7000, 0x1000, CRC(fd137866) SHA1(3ac914d90db1503f61397c0ea26914eb38725044) )
+ ROM_LOAD_OPTIONAL( "abc 7-21.2j", 0x7000, 0x1000, CRC(4d2b589f) SHA1(8772119e002943d9891f77eb59d1d2491a834ccd) )
+ ROM_LOAD( "abc 7-22.2j", 0x7000, 0x1000, CRC(774511ab) SHA1(5171e43213a402c2d96dee33453c8306ac1aafc8) )
+
+ ROM_REGION( 0x800, MC6845_TAG, 0 )
+ ROM_LOAD( "vum se.7c", 0x000, 0x800, CRC(f9152163) SHA1(997313781ddcbbb7121dbf9eb5f2c6b4551fc799) )
+
+ ROM_REGION( 0x20, "hru", 0 )
+ ROM_LOAD( "hru i.4g", 0x00, 0x20, CRC(d970a972) SHA1(c47fdd61fccc68368d42f03a01c7af90ab1fe1ab) )
+
+ ROM_REGION( 0x200, "hru2", 0 )
+ ROM_LOAD( "hru ii.3a", 0x000, 0x200, CRC(8e9d7cdc) SHA1(4ad16dc0992e31cdb2e644c7be81d334a56f7ad6) )
+ROM_END
+
+
+//-------------------------------------------------
+// ROM( dtc )
+//-------------------------------------------------
+
+ROM_START( dtc )
+ ROM_REGION( 0x8000, Z80_TAG, 0 )
+ ROM_LOAD( "abc m-12.1m", 0x0000, 0x1000, CRC(f85b274c) SHA1(7d0f5639a528d8d8130a22fe688d3218c77839dc) )
+ ROM_LOAD( "abc 1-12.1l", 0x1000, 0x1000, CRC(1e99fbdc) SHA1(ec6210686dd9d03a5ed8c4a4e30e25834aeef71d) )
+ ROM_LOAD( "abc 2-12.1k", 0x2000, 0x1000, CRC(ac196ba2) SHA1(64fcc0f03fbc78e4c8056e1fa22aee12b3084ef5) )
+ ROM_LOAD( "facit 3-13.1j", 0x3000, 0x1000, CRC(f5e4a43c) SHA1(f7c33906cd3a9b6ebfb4faa6c49e9813d610b0a1) )
+ ROM_LOAD( "abc 4-12.2m", 0x4000, 0x1000, CRC(695cb626) SHA1(9603ce2a7b2d7b1cbeb525f5493de7e5c1e5a803) )
+ ROM_LOAD( "abc 5-12.2l", 0x5000, 0x1000, CRC(b4b02358) SHA1(95338efa3b64b2a602a03bffc79f9df297e9534a) )
+ ROM_LOAD( "abc 6-52.2k", 0x6000, 0x1000, CRC(c311b57a) SHA1(4bd2a541314e53955a0d53ef2f9822a202daa485) )
ROM_LOAD( "abc 7-22.2j", 0x7000, 0x1000, CRC(774511ab) SHA1(5171e43213a402c2d96dee33453c8306ac1aafc8) )
ROM_REGION( 0x800, MC6845_TAG, 0 )
@@ -1323,9 +1366,9 @@ ROM_START( abc802 )
ROMX_LOAD( "abc 32-31.14f", 0x6000, 0x2000, CRC(fc8be7a8) SHA1(a1d4cb45cf5ae21e636dddfa70c99bfd2050ad60), ROM_BIOS(2) )
ROM_SYSTEM_BIOS( 3, "mica620", "MICA DOS v.20 (1984-03-02)" )
ROMX_LOAD( "mica820.14f", 0x6000, 0x2000, CRC(edf998af) SHA1(daae7e1ff6ef3e0ddb83e932f324c56f4a98f79b), ROM_BIOS(3) )
- ROM_SYSTEM_BIOS( 4, "luxnet01", "LUXNET 01" )
+ ROM_SYSTEM_BIOS( 4, "luxnet01", "LUXNET node 1" )
ROMX_LOAD( "322n01.14f", 0x6000, 0x2000, CRC(0911bc92) SHA1(bf58b3be40ce07638eb265aa2dd97c5562a0c41b), ROM_BIOS(4) )
- ROM_SYSTEM_BIOS( 5, "luxnet02", "LUXNET 02" )
+ ROM_SYSTEM_BIOS( 5, "luxnet02", "LUXNET node 2" )
ROMX_LOAD( "322n02.14f", 0x6000, 0x2000, CRC(2384baec) SHA1(8ae0371242c201913b2d33a75f670d2bccf29582), ROM_BIOS(5) )
ROM_REGION( 0x1000, MC6845_TAG, 0 )
@@ -1377,7 +1420,7 @@ ROM_START( abc806 )
ROMX_LOAD( "abc 66-31.2k", 0x6000, 0x1000, CRC(a2e38260) SHA1(0dad83088222cb076648e23f50fec2fddc968883), ROM_BIOS(1) )
ROM_SYSTEM_BIOS( 2, "mica20", "MICA DOS v.20 (1984-04-03)" )
ROMX_LOAD( "mica2006.2k", 0x6000, 0x1000, CRC(58bc2aa8) SHA1(0604bd2396f7d15fcf3d65888b4b673f554037c0), ROM_BIOS(2) )
- ROM_SYSTEM_BIOS( 3, "catnet", "CAT-NET" )
+ ROM_SYSTEM_BIOS( 3, "catnet", "CAT-NET CMD 8.5" )
ROMX_LOAD( "cmd8_5.2k", 0x6000, 0x1000, CRC(25430ef7) SHA1(03a36874c23c215a19b0be14ad2f6b3b5fb2c839), ROM_BIOS(3) )
ROM_SYSTEM_BIOS( 4, "luxnet", "LUXNET" )
ROMX_LOAD( "ln806.2k", 0x6000, 0x1000, CRC(034b5991) SHA1(ba7f8653f4e516687a4399abef450e361f2bfd20), ROM_BIOS(4) )
@@ -1491,5 +1534,6 @@ ROM_END
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 1981, abc800c, 0, 0, abc800c, abc800, abc800c_state, empty_init, "Luxor Datorer AB", "ABC 800 C/HR", MACHINE_SUPPORTS_SAVE )
COMP( 1981, abc800m, abc800c, 0, abc800m, abc800, abc800m_state, empty_init, "Luxor Datorer AB", "ABC 800 M/HR", MACHINE_SUPPORTS_SAVE )
+COMP( 1981, dtc, abc800c, 0, abc800m, abc800, abc800m_state, empty_init, "Facit", "DTC", MACHINE_SUPPORTS_SAVE )
COMP( 1983, abc802, 0, 0, abc802, abc802, abc802_state, empty_init, "Luxor Datorer AB", "ABC 802", MACHINE_SUPPORTS_SAVE )
COMP( 1983, abc806, 0, 0, abc806, abc806, abc806_state, empty_init, "Luxor Datorer AB", "ABC 806", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 1849156b1ed..5e65760aec5 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -310,6 +310,7 @@ abc80 //
@source:abc80x.cpp
abc800c //
abc800m //
+dtc //
abc802 //
abc806 //