summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-06-06 22:12:03 -0400
committer AJR <ajrhacker@users.noreply.github.com>2019-06-06 22:12:15 -0400
commite1fc321a1be6f7a7eeb09ff4d057b9ae6ccfb382 (patch)
tree92072506d73fe5757aaed0a7f44ae4378502f015
parentdd8da7dca5cb43b436756774a54079dcca1d5562 (diff)
telex277d: Separate into skeleton driver (nw)
-rw-r--r--scripts/target/mame/mess.lua1
-rw-r--r--src/mame/drivers/telex277d.cpp72
-rw-r--r--src/mame/drivers/terminal.cpp12
-rw-r--r--src/mame/mame.lst4
-rw-r--r--src/mame/mess.flt1
5 files changed, 77 insertions, 13 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index 0caad69f974..6acbb7c32ee 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -4014,6 +4014,7 @@ files {
MAME_DIR .. "src/mame/drivers/tavernie.cpp",
MAME_DIR .. "src/mame/drivers/tecnbras.cpp",
MAME_DIR .. "src/mame/drivers/telex274.cpp",
+ MAME_DIR .. "src/mame/drivers/telex277d.cpp",
MAME_DIR .. "src/mame/drivers/terak.cpp",
MAME_DIR .. "src/mame/drivers/terco.cpp",
MAME_DIR .. "src/mame/drivers/terminal.cpp",
diff --git a/src/mame/drivers/telex277d.cpp b/src/mame/drivers/telex277d.cpp
new file mode 100644
index 00000000000..4c4b01864fa
--- /dev/null
+++ b/src/mame/drivers/telex277d.cpp
@@ -0,0 +1,72 @@
+// license:BSD-3-Clause
+// copyright-holders:AJR
+/************************************************************************************************************
+
+ Skeleton driver for Telex 277/D IBM 3277-compatible coaxial terminal.
+
+************************************************************************************************************/
+
+#include "emu.h"
+#include "cpu/i8085/i8085.h"
+#include "machine/i8155.h"
+
+class telex277d_state : public driver_device
+{
+public:
+ telex277d_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 telex277d(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 telex277d_state::mem_map(address_map &map)
+{
+ map(0x0000, 0x1fff).rom().region("program", 0);
+ map(0x4000, 0x47ff).ram();
+ map(0x8000, 0x80ff).rw("ramio", FUNC(i8155_device::memory_r), FUNC(i8155_device::memory_w));
+}
+
+void telex277d_state::io_map(address_map &map)
+{
+ map(0x80, 0x87).rw("ramio", FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
+}
+
+
+static INPUT_PORTS_START(telex277d)
+INPUT_PORTS_END
+
+
+void telex277d_state::telex277d(machine_config &config)
+{
+ I8085A(config, m_maincpu, 6.144_MHz_XTAL);
+ m_maincpu->set_addrmap(AS_PROGRAM, &telex277d_state::mem_map);
+ m_maincpu->set_addrmap(AS_IO, &telex277d_state::io_map);
+
+ I8155(config, "ramio", 6.144_MHz_XTAL / 2);
+}
+
+
+ROM_START(telex277d) // D8085A, P8155. bank of 8 dips between these 2 chips. Xtals on cpu board = 6.144,14.286MHz; Xtal on video board = 16.414
+ ROM_REGION(0x2000, "program", 0)
+ ROM_LOAD("15834.bin", 0x0000, 0x0800, CRC(364602ed) SHA1(574b1052ab000cfb9e7f194454de65f5255c250e))
+ ROM_LOAD("15835.bin", 0x0800, 0x0800, CRC(b587d005) SHA1(de38b1dcbb871dc5f7dcbc177dfcbc25ecc743c4))
+ ROM_LOAD("15836.bin", 0x1000, 0x0800, CRC(33a7179f) SHA1(c4b2a8f9d2b3e2f97c7d9b5458cad314fc8c79c1))
+ ROM_LOAD("15837.bin", 0x1800, 0x0800, CRC(6d726662) SHA1(cff3ea2f06b802b94acfb780014d0e389cb61c42))
+
+ ROM_REGION(0x0400, "chargen", 0)
+ ROM_LOAD("15181_font.bin", 0x0000, 0x0400, CRC(2a7abd0b) SHA1(4456723c59307671dd0615723e6439f6532df531))
+ROM_END
+
+COMP(1979, telex277d, 0, 0, telex277d, telex277d, telex277d_state, empty_init, "Telex Computer Products", "Telex 277-D Display Terminal (Model 2)", MACHINE_IS_SKELETON)
diff --git a/src/mame/drivers/terminal.cpp b/src/mame/drivers/terminal.cpp
index c69afd2db6b..618e97de484 100644
--- a/src/mame/drivers/terminal.cpp
+++ b/src/mame/drivers/terminal.cpp
@@ -94,17 +94,6 @@ ROM_START( teleguide ) // order unknown // i8051, i8031 (layout very similar to
ROM_LOAD( "module_19315-051_349-01173.bin", 0x20000, 0x08000, CRC(29c4b49d) SHA1(9bf37616eb130cb6bf86954b4a4952ea99d43ce8) )
ROM_END
-ROM_START( telex277d ) // D8085A, P8155. bank of 8 dips between these 2 chips. Xtals on cpu board = 6.144,14.286MHz; Xtal on video board = 16.414
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "15834.bin", 0x0000, 0x0800, CRC(364602ed) SHA1(574b1052ab000cfb9e7f194454de65f5255c250e) )
- ROM_LOAD( "15835.bin", 0x0800, 0x0800, CRC(b587d005) SHA1(de38b1dcbb871dc5f7dcbc177dfcbc25ecc743c4) )
- ROM_LOAD( "15836.bin", 0x1000, 0x0800, CRC(33a7179f) SHA1(c4b2a8f9d2b3e2f97c7d9b5458cad314fc8c79c1) )
- ROM_LOAD( "15837.bin", 0x1800, 0x0800, CRC(6d726662) SHA1(cff3ea2f06b802b94acfb780014d0e389cb61c42) )
-
- ROM_REGION( 0x0400, "chargen", 0 )
- ROM_LOAD( "15181_font.bin", 0x0000, 0x0400, CRC(2a7abd0b) SHA1(4456723c59307671dd0615723e6439f6532df531) )
-ROM_END
-
/* Driver */
@@ -114,4 +103,3 @@ 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( 1987, 7951om, 0, 0, terminal, terminal, terminal_state, empty_init, "Mera-Elzab", "7951om", MACHINE_IS_SKELETON )
COMP( 1992, teleguide, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe / Televerket", "Teleguide", MACHINE_IS_SKELETON )
-COMP( 1979, telex277d, 0, 0, terminal, terminal, terminal_state, empty_init, "Telex", "Telex 277-D", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 34b53922b7f..1e0cb3344db 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -37619,6 +37619,9 @@ tekxp330 //
@source:telex274.cpp
telex274 //
+@source:telex277d.cpp
+telex277d // Telex 1979
+
@source:tempest.cpp
tempest // 136002 (c) 1980
tempest1 // 136002 (c) 1980
@@ -37639,7 +37642,6 @@ alcat258 //
loewe715 //
loewed //
teleguide //
-telex277d // Telex 1979
@source:terracre.cpp
amatelas // (c) 1986
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 6706dd8a41f..81419f643b9 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -782,6 +782,7 @@ tek410x.cpp
tek440x.cpp
tekxp33x.cpp
telex274.cpp
+telex277d.cpp
terak.cpp
terco.cpp
terminal.cpp