From e0df86cbbdff192843e1e99749f223b86f203242 Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 4 Jan 2018 19:02:50 -0500 Subject: [PATCH] tv912c: Skeleton driver (nw) --- scripts/target/mame/mess.lua | 1 + src/mame/drivers/terminals.cpp | 21 ---------- src/mame/drivers/tv912.cpp | 77 ++++++++++++++++++++++++++++++++++ src/mame/mame.lst | 4 +- src/mame/mess.flt | 1 + 5 files changed, 82 insertions(+), 22 deletions(-) create mode 100644 src/mame/drivers/tv912.cpp diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 82680e46bdf..9d8e07f93c5 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3104,6 +3104,7 @@ files { MAME_DIR .. "src/mame/drivers/ts803.cpp", MAME_DIR .. "src/mame/drivers/ts816.cpp", MAME_DIR .. "src/mame/drivers/tv910.cpp", + MAME_DIR .. "src/mame/drivers/tv912.cpp", MAME_DIR .. "src/mame/drivers/tv950.cpp", MAME_DIR .. "src/mame/drivers/tv990.cpp", MAME_DIR .. "src/mame/drivers/ts3000.cpp", diff --git a/src/mame/drivers/terminals.cpp b/src/mame/drivers/terminals.cpp index 09b212babc3..e28ed31fa1f 100644 --- a/src/mame/drivers/terminals.cpp +++ b/src/mame/drivers/terminals.cpp @@ -123,27 +123,6 @@ COMP( 1986, qvt201, 0, 0, terminals, terminals, terminals_state, 0, "Qume", "QVT -/************************************************************************************************************** - -Televideo TVI-912C. -Chips: i8035, TMS9927NL, AY5-1013A (COM2502) -Crystals: 23.814 (divide by 4 for CPU clock) -Other: 1x 8-sw DIP, 1x 10-sw DIP (internal), 2x 10-sw DIP (available to user at the back) - -***************************************************************************************************************/ - -ROM_START( tv912c ) - ROM_REGION(0x10000, "maincpu", 0) - ROM_LOAD( "a49c1.bin", 0x0000, 0x1000, CRC(d21851bf) SHA1(28fe77a218a5eee11de376f5d16e9380b616b3ca) ) // last half is all FF - - ROM_REGION(0x0800, "chargen", 0) - ROM_LOAD( "a3-2.bin", 0x0000, 0x0800, CRC(bb9a7fbd) SHA1(5f1c4d41b25bd3ca4dbc336873362935daf283da) ) -ROM_END - -COMP( 1978, tv912c, 0, 0, terminals, terminals, terminals_state, 0, "TeleVideo", "TVI-912C", MACHINE_IS_SKELETON ) - - - /************************************************************************************************************** Televideo TVI-955 diff --git a/src/mame/drivers/tv912.cpp b/src/mame/drivers/tv912.cpp new file mode 100644 index 00000000000..0e1a3a1119d --- /dev/null +++ b/src/mame/drivers/tv912.cpp @@ -0,0 +1,77 @@ +// license:BSD-3-Clause +// copyright-holders: +/*********************************************************************************************************************************** + +Skeleton driver for TeleVideo TVI-912 and TVI-920 terminals. + +************************************************************************************************************************************/ + +#include "emu.h" +#include "cpu/mcs48/mcs48.h" +//#include "bus/rs232/rs232.h" +//#include "machine/ay31015.h" +//#include "video/tms9927.h" +#include "screen.h" + +#define CHAR_WIDTH 14 + +class tv912_state : public driver_device +{ +public: + tv912_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_p_chargen(*this, "chargen") + { } + + u32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + +private: + required_device m_maincpu; + required_region_ptr m_p_chargen; +}; + +u32 tv912_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +static ADDRESS_MAP_START( prog_map, AS_PROGRAM, 8, tv912_state ) + ADDRESS_MAP_GLOBAL_MASK(0x7ff) + AM_RANGE(0x000, 0x7ff) AM_ROM AM_REGION("maincpu", 0) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( io_map, AS_IO, 8, tv912_state ) +ADDRESS_MAP_END + +static INPUT_PORTS_START( tv912c ) +INPUT_PORTS_END + +static MACHINE_CONFIG_START( tv912 ) + MCFG_CPU_ADD("maincpu", I8035, XTAL_23_814MHz / 4) + MCFG_CPU_PROGRAM_MAP(prog_map) + MCFG_CPU_IO_MAP(io_map) + + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(XTAL_23_814MHz, 105 * CHAR_WIDTH, 0, 80 * CHAR_WIDTH, 270, 0, 240) + MCFG_SCREEN_UPDATE_DRIVER(tv912_state, screen_update) +MACHINE_CONFIG_END + +/************************************************************************************************************** + +Televideo TVI-912C. +Chips: i8035, TMS9927NL, AY5-1013A (COM2502) +Crystals: 23.814 (divide by 4 for CPU clock) +Other: 1x 8-sw DIP, 1x 10-sw DIP (internal), 2x 10-sw DIP (available to user at the back) + +***************************************************************************************************************/ + +ROM_START( tv912c ) + ROM_REGION(0x1000, "maincpu", 0) + ROM_LOAD( "a49c1.bin", 0x0000, 0x1000, CRC(d21851bf) SHA1(28fe77a218a5eee11de376f5d16e9380b616b3ca) ) // last half is all FF + + ROM_REGION(0x0800, "chargen", 0) + ROM_LOAD( "a3-2.bin", 0x0000, 0x0800, CRC(bb9a7fbd) SHA1(5f1c4d41b25bd3ca4dbc336873362935daf283da) ) +ROM_END + +COMP( 1978, tv912c, 0, 0, tv912, tv912c, tv912_state, 0, "TeleVideo Systems", "TVI-912C", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 0eb0bd614b4..b3835aca8a2 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -36471,7 +36471,6 @@ aaa qvt70 qvt103 qvt201 -tv912c tv955 tv965 @@ -37283,6 +37282,9 @@ tutor // 1983? Tomy Tutor @source:tv910.cpp tv910 // +@source:tv912.cpp +tv912c // + @source:tv950.cpp tv950 // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 9cc6eb0b649..2d62f9518b5 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -712,6 +712,7 @@ tsispch.cpp tti.cpp tutor.cpp tv910.cpp +tv912.cpp tv950.cpp tv990.cpp tvc.cpp