diff options
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 |
commit | 0b21bbbae4dc5ab704480e9ce7a1d91436f1b172 (patch) | |
tree | f3c74230f0e517ada743c5c5f0c87cdbd53f3932 /src/mame | |
parent | 15bda1b8a08c2feaddad4227f9e665e0ba59a9f4 (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.cpp | 90 | ||||
-rw-r--r-- | src/mame/drivers/terminal.cpp | 14 | ||||
-rw-r--r-- | src/mame/mame.lst | 4 | ||||
-rw-r--r-- | src/mame/mess.flt | 1 |
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 |