summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-08-18 17:59:00 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-08-18 17:59:16 -0400
commit0b21bbbae4dc5ab704480e9ce7a1d91436f1b172 (patch)
treef3c74230f0e517ada743c5c5f0c87cdbd53f3932 /src/mame
parent15bda1b8a08c2feaddad4227f9e665e0ba59a9f4 (diff)
ec7915: Split off into new driver file (nw)
mess.lua: Create separate 'mera' target (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/ec7915.cpp90
-rw-r--r--src/mame/drivers/terminal.cpp14
-rw-r--r--src/mame/mame.lst4
-rw-r--r--src/mame/mess.flt1
4 files changed, 94 insertions, 15 deletions
diff --git a/src/mame/drivers/ec7915.cpp b/src/mame/drivers/ec7915.cpp
new file mode 100644
index 00000000000..24b7ffeb777
--- /dev/null
+++ b/src/mame/drivers/ec7915.cpp
@@ -0,0 +1,90 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/***************************************************************************
+
+ Skeleton driver for Mera-Elzab EC-7915/EC-7950 terminal.
+
+***************************************************************************/
+
+#include "emu.h"
+#include "cpu/i8085/i8085.h"
+//#include "machine/i8214.h"
+//#include "machine/i8251.h"
+#include "machine/pit8253.h"
+#include "machine/i8255.h"
+//#include "screen.h"
+
+class ec7915_state : public driver_device
+{
+public:
+ ec7915_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_chargen(*this, "chargen")
+ {
+ }
+
+ void ec7915(machine_config &config);
+
+private:
+ void mem_map(address_map &map);
+ void io_map(address_map &map);
+
+ required_device<cpu_device> m_maincpu;
+ required_region_ptr<u8> m_chargen;
+};
+
+
+void ec7915_state::mem_map(address_map &map)
+{
+ map(0x0000, 0x27ff).rom().region("maincpu", 0);
+ map(0x4800, 0x5fff).ram();
+ map(0x6000, 0x67ff).ram();
+}
+
+void ec7915_state::io_map(address_map &map)
+{
+ map(0x00, 0x03).rw("ppi1", FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x04, 0x07).rw("ppi2", FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x0c, 0x0f).rw("ppi3", FUNC(i8255_device::read), FUNC(i8255_device::write));
+ map(0x10, 0x13).w("pit", FUNC(pit8253_device::write));
+}
+
+
+static INPUT_PORTS_START(ec7915)
+INPUT_PORTS_END
+
+
+void ec7915_state::ec7915(machine_config &config)
+{
+ I8080A(config, m_maincpu, 2000000); // КР580ВМ80А (not Z80) + SAB8224P clock generator
+ m_maincpu->set_addrmap(AS_PROGRAM, &ec7915_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &ec7915_state::io_map);
+
+ //I8214(config, "picu", 2000000); // CEMI UCY74S414
+
+ PIT8253(config, "pit", 0); // КР580ВИ53
+
+ //I8251(config, "usart", 2000000); // КР580ВВ51А
+
+ // 2x NEC D8255AC-2 on main board + КР580ВВ55А on display board
+ I8255A(config, "ppi1");
+ I8255A(config, "ppi2");
+ I8255A(config, "ppi3");
+}
+
+
+ROM_START( ec7915 ) // 6k ram // amber
+ ROM_REGION( 0x2800, "maincpu", 0 )
+ ROM_LOAD( "50mp_0c10_30_lupper.bin", 0x0000, 0x0800, CRC(e019690f) SHA1(b0ce837a940ad82d2f39bd9d02e3c441cb9e83ed) )
+ ROM_LOAD( "50mp_0810_40.bin", 0x0800, 0x0800, CRC(ed7f12d6) SHA1(b6f1da6a74f77cf1d392eee79f5ea168f3626ee5) )
+ ROM_LOAD( "50mp_1010_49.bin", 0x1000, 0x0800, CRC(bfddf0e6) SHA1(dff4be8c0403519530e6c9106ab279a3037e074a) )
+ ROM_LOAD( "50mp_1810_60.bin", 0x1800, 0x0800, CRC(759f2dc7) SHA1(515778ea213b9204f75f920ef1fbff6c14f9cf3c) )
+ ROM_LOAD( "50mp_2c10_30_lower.bin", 0x2000, 0x0800, CRC(1ff59657) SHA1(777ef82e20a0100c0069ee5e7fbac5b3b86e3529) ) // keyboard rom?
+
+ ROM_REGION( 0x0800, "chargen", 0 )
+ ROM_LOAD( "char.bin", 0x0000, 0x0800, CRC(e75a6bc4) SHA1(04b56d1f5ab7f2145699555df5ac44d078804821) )
+ROM_END
+
+
+COMP(198?, ec7915, 0, 0, ec7915, ec7915, ec7915_state, empty_init, "Mera-Elzab", "EC-7915 (EC-7950)", MACHINE_IS_SKELETON)
diff --git a/src/mame/drivers/terminal.cpp b/src/mame/drivers/terminal.cpp
index 1e61a946a04..ca3c9f85622 100644
--- a/src/mame/drivers/terminal.cpp
+++ b/src/mame/drivers/terminal.cpp
@@ -127,19 +127,6 @@ ROM_START( feap90 ) // order unknown // i8031, i8742 (+SAA5351, 80C42C121) // 4+
ROM_END
-ROM_START( ec7915 ) // Z80 // 6k ram // amber
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "50mp_0c10_30_lupper.bin", 0x0000, 0x0800, CRC(e019690f) SHA1(b0ce837a940ad82d2f39bd9d02e3c441cb9e83ed) )
- ROM_LOAD( "50mp_0810_40.bin", 0x0800, 0x0800, CRC(ed7f12d6) SHA1(b6f1da6a74f77cf1d392eee79f5ea168f3626ee5) )
- ROM_LOAD( "50mp_1010_49.bin", 0x1800, 0x0800, CRC(bfddf0e6) SHA1(dff4be8c0403519530e6c9106ab279a3037e074a) )
- ROM_LOAD( "50mp_1810_60.bin", 0x2000, 0x0800, CRC(759f2dc7) SHA1(515778ea213b9204f75f920ef1fbff6c14f9cf3c) )
- ROM_LOAD( "50mp_2c10_30_lower.bin", 0x5000, 0x0800, CRC(1ff59657) SHA1(777ef82e20a0100c0069ee5e7fbac5b3b86e3529) ) // keyboard rom?
-
- ROM_REGION( 0x0800, "chargen", 0 )
- ROM_LOAD( "char.bin", 0x0000, 0x0800, CRC(e75a6bc4) SHA1(04b56d1f5ab7f2145699555df5ac44d078804821) )
-ROM_END
-
-
ROM_START( 7951om ) // TTL (no cpu) // 1k x 6bits display ram 64-characters uppercase only, screen 40x12 // green
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "prom1_rear.bin", 0x0000, 0x0100, CRC(ab231a4c) SHA1(1412d0e9163125f28a777717c4dd9d5fd54b5196) )
@@ -186,7 +173,6 @@ COMP( 1992, loewed, 0, 0, terminal, terminal, terminal_state, empty
COMP( 1988, loewe715, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe", "Multicom 715L", MACHINE_IS_SKELETON )
COMP( 1986, t3210, 0, 0, terminal, terminal, terminal_state, empty_init, "Siemens", "Bitel T3210", MACHINE_IS_SKELETON )
COMP( 1986, feap90, 0, 0, terminal, terminal, terminal_state, empty_init, "Siemens", "Multitel Fe Ap 90-1.1", MACHINE_IS_SKELETON )
-COMP( 198?, ec7915, 0, 0, terminal, terminal, terminal_state, empty_init, "Mera-Elzab", "EC-7915 (EC-7950)", MACHINE_IS_SKELETON )
COMP( 1987, 7951om, 0, 0, terminal, terminal, terminal_state, empty_init, "Mera-Elzab", "7951om", MACHINE_IS_SKELETON )
COMP( 1992, vdm79322, 0, 0, terminal, terminal, terminal_state, empty_init, "Mera-Elzab", "VDM79322", MACHINE_IS_SKELETON )
COMP( 1993, ikt5a, 0, 0, terminal, terminal, terminal_state, empty_init, "Creator / Fura Elektronik", "IKT-5A", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 2f0e3706588..53c8e29f219 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -11796,6 +11796,9 @@ ec1847 //
ec65 //
ec65k //
+@source:ec7915.cpp
+ec7915 //
+
@source:ecoinf1.cpp
ec_bar5 // Bar 5 (older PCB) (Electrocoin)
ec_barxo // Bar X (older PCB) (Electrocoin)
@@ -36912,7 +36915,6 @@ t4490 // Terco 4490 Mill CNC Control (c) 1986
7951om //
alcat258 //
alcat7100 //
-ec7915 //
facit4440 //
feap90 //
ikt5a //
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 9ae32747730..8875e893100 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -195,6 +195,7 @@ e100.cpp
eacc.cpp
ec184x.cpp
ec65.cpp
+ec7915.cpp
einstein.cpp
electron.cpp
elekscmp.cpp