From 39bde3e47364ada9e1f0d74c73a2053ae6df9b06 Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Wed, 16 Oct 2019 16:34:53 +0200 Subject: [PATCH] New skeleton driver: Termtek TK-635 [nextvolume, Dirk Best] --- scripts/target/mame/mess.lua | 1 + src/mame/drivers/tk635.cpp | 104 +++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 3 + src/mame/mess.flt | 1 + 4 files changed, 109 insertions(+) create mode 100644 src/mame/drivers/tk635.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 27cad92e159..276dae6b3b8 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -4151,6 +4151,7 @@ files { MAME_DIR .. "src/mame/drivers/terminal.cpp", MAME_DIR .. "src/mame/drivers/textelcomp.cpp", MAME_DIR .. "src/mame/drivers/ti630.cpp", + MAME_DIR .. "src/mame/drivers/tk635.cpp", MAME_DIR .. "src/mame/drivers/tr175.cpp", MAME_DIR .. "src/mame/drivers/trs80dt1.cpp", MAME_DIR .. "src/mame/drivers/tsispch.cpp", diff --git a/src/mame/drivers/tk635.cpp b/src/mame/drivers/tk635.cpp new file mode 100644 index 00000000000..7ef69bd3637 --- /dev/null +++ b/src/mame/drivers/tk635.cpp @@ -0,0 +1,104 @@ +// license:BSD-3-Clause +// copyright-holders: Dirk Best +/**************************************************************************** + + Termtek TK-635 terminal + + Hardware: + - AMD N80C188-25 + - TERMTEK TKA-200 + - 128k + 32k RAM + - 256 KB flash memory + + Features: + - 31.5khz or 48.1khz horizontal + - 70/72 hz vertical + - 16 background/foreground/border colors + - 24x80/132, 25x80/132, 42x80/132, 43x80/132 + - Standard PC/AT keyboard + + Notes: + - Identical to the Qume QVT-72 Plus? + - Character shape defintions start at 0x20000 in the ROM + + TODO: + - Everything + +****************************************************************************/ + +#include "emu.h" +#include "cpu/i86/i186.h" +#include "emupal.h" +#include "screen.h" + +class tk635_state : public driver_device +{ +public: + tk635_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu") + { } + + void tk635(machine_config &config); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + +private: + required_device m_maincpu; + + void mem_map(address_map &map); + void io_map(address_map &map); + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); +}; + +void tk635_state::mem_map(address_map &map) +{ + map(0x00000, 0x1ffff).ram(); + map(0xc0000, 0xfffff).rom().region("maincpu", 0); +} + +void tk635_state::io_map(address_map &map) +{ +} + +static INPUT_PORTS_START( tk635 ) +INPUT_PORTS_END + +uint32_t tk635_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void tk635_state::machine_start() +{ +} + +void tk635_state::machine_reset() +{ +} + +void tk635_state::tk635(machine_config &config) +{ + I80188(config, m_maincpu, 25000000); + m_maincpu->set_addrmap(AS_PROGRAM, &tk635_state::mem_map); + m_maincpu->set_addrmap(AS_IO, &tk635_state::io_map); + + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(70); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate + screen.set_screen_update(FUNC(tk635_state::screen_update)); + screen.set_size(800, 600); + screen.set_visarea(0, 800-1, 0, 600-1); + + PALETTE(config, "palette").set_entries(16); +} + +ROM_START( tk635 ) + ROM_REGION(0x40000, "maincpu", 0) + ROM_LOAD("fw_v0_23.bin", 0x00000, 0x40000, CRC(bec6fdae) SHA1(37dc46f6b761d874bd1627a1137bc4082e364698)) +ROM_END + +COMP( 199?, tk635, 0, 0, tk635, tk635, tk635_state, empty_init, "Termtek", "TK-635", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 0da2710f9f3..781f34f4b44 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -38386,6 +38386,9 @@ spellb79 // @source:tk2000.cpp tk2000 // Microdigital TK2000 +@source:tk635.cpp +tk635 // (c) 199? Termtek + @source:tk80.cpp ics8080 // mikrolab // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 4957998ab38..ead41c43c53 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -845,6 +845,7 @@ timex.cpp tispeak.cpp tispellb.cpp tk2000.cpp +tk635.cpp tk80.cpp tk80bs.cpp tm990189.cpp