diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index c034e8fe408..aa8131c2d7a 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3764,6 +3764,7 @@ files { MAME_DIR .. "src/mame/drivers/terak.cpp", MAME_DIR .. "src/mame/drivers/terco.cpp", 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/tr175.cpp", MAME_DIR .. "src/mame/drivers/trs80dt1.cpp", diff --git a/src/mame/drivers/terminal.cpp b/src/mame/drivers/terminal.cpp index ab2dfbc4cec..1e61a946a04 100644 --- a/src/mame/drivers/terminal.cpp +++ b/src/mame/drivers/terminal.cpp @@ -174,15 +174,6 @@ ROM_START( teleguide ) // order unknown // i8051, i8031 (layout very similar to ROM_END -ROM_START( a1010 ) // 65SC02 (+ 4x 65SC22, 65SC51, SED1330F, xtal ??? + 6.400, 3.6v battery, RTC 58321A) // 32k + 8k + 8k ram // b&w LCD // This is a portable digital teletype machine - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "d15_31.bin", 0x0000, 0x8000, CRC(5ee1175d) SHA1(87ff6a3d5c64a53b0ab23d54aa343365c44d0407) ) - - ROM_REGION( 0x8000, "chargen", 0 ) - ROM_LOAD( "chargen.bin", 0x0000, 0x8000, CRC(07daa70e) SHA1(8066a0ac238b06fbeeb99c3a2a8a9e70a27db7a9) ) -ROM_END - - /* Driver */ @@ -200,4 +191,3 @@ COMP( 1987, 7951om, 0, 0, terminal, terminal, terminal_state, empty 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 ) COMP( 1992, teleguide, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe / Televerket", "Teleguide", MACHINE_IS_SKELETON ) -COMP( 1993, a1010, 0, 0, terminal, terminal, terminal_state, empty_init, "Humantechnik", "Textel Compact A1010-0", MACHINE_IS_SKELETON ) diff --git a/src/mame/drivers/textelcomp.cpp b/src/mame/drivers/textelcomp.cpp new file mode 100644 index 00000000000..7294b8ccf18 --- /dev/null +++ b/src/mame/drivers/textelcomp.cpp @@ -0,0 +1,82 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/******************************************************************************* + + Skeleton driver for Textel Compact portable digital teletype machine. + +*******************************************************************************/ + +#include "emu.h" +#include "cpu/m6502/m65sc02.h" +#include "machine/6522via.h" +#include "machine/mos6551.h" +//#include "machine/msm58321.h" +//#include "video/sed1330.h" + + +class textelcomp_state : public driver_device +{ +public: + textelcomp_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 textelcomp(machine_config &config); + +private: + void mem_map(address_map &map); + required_device m_maincpu; + required_region_ptr m_chargen; +}; + + +void textelcomp_state::mem_map(address_map &map) +{ + map(0x0000, 0x1eff).ram(); // MB8464A-10L (battery backed?) + map(0x1f00, 0x1f0f).rw("via0", FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x1f10, 0x1f1f).rw("via1", FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x1f20, 0x1f2f).rw("via2", FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x1f30, 0x1f3f).rw("via3", FUNC(via6522_device::read), FUNC(via6522_device::write)); + map(0x1f40, 0x1f43).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); + map(0x1f70, 0x1f70).noprw();//rw("lcdc", FUNC(sed1330_device::status_r), FUNC(sed1330_device::data_w)); + map(0x1f71, 0x1f71).noprw();//rw("lcdc", FUNC(sed1330_device::data_r), FUNC(sed1330_device::command_w)); + map(0x4000, 0x7fff).ram(); // HY65226ALP-10 (battery backed?) + map(0x8000, 0x9fff).ram(); // MB8464A-10L (battery backed?) + map(0xa000, 0xffff).rom().region("maincpu", 0x2000); +} + + +static INPUT_PORTS_START(textelcomp) +INPUT_PORTS_END + + +void textelcomp_state::textelcomp(machine_config &config) +{ + M65SC02(config, m_maincpu, 3.6864_MHz_XTAL / 2); // GS65SC02P-2 (clock not verified) + m_maincpu->set_addrmap(AS_PROGRAM, &textelcomp_state::mem_map); + + VIA6522(config, "via0", 3.6864_MHz_XTAL / 2); // GS65SC22P-2 + VIA6522(config, "via1", 3.6864_MHz_XTAL / 2); // GS65SC22P-2 + VIA6522(config, "via2", 3.6864_MHz_XTAL / 2); // GS65SC22P-2 + VIA6522(config, "via3", 3.6864_MHz_XTAL / 2); // GS65SC22P-2 + + MOS6551(config, "acia", 3.6864_MHz_XTAL / 2).set_xtal(3.6864_MHz_XTAL / 2); // GS65SC51P-2 + + //SED1330(config, "lcdc", 6.4_MHz_XTAL); // SED1330F + B&W LCD + + //MSM58321(config, "rtc", 32.768_kHz_XTAL); // RTC58321A +} + + +ROM_START(a1010) + ROM_REGION(0x8000, "maincpu", 0) + ROM_LOAD("d15_31.bin", 0x0000, 0x8000, CRC(5ee1175d) SHA1(87ff6a3d5c64a53b0ab23d54aa343365c44d0407)) + + ROM_REGION(0x8000, "chargen", 0) + ROM_LOAD("chargen.bin", 0x0000, 0x8000, CRC(07daa70e) SHA1(8066a0ac238b06fbeeb99c3a2a8a9e70a27db7a9)) +ROM_END + + +COMP(1993, a1010, 0, 0, textelcomp, textelcomp, textelcomp_state, empty_init, "Humantechnik", "Textel Compact A1010-0", MACHINE_IS_SKELETON) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index f38fb1b2d01..9c730cfba78 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -36903,7 +36903,6 @@ t4490 // Terco 4490 Mill CNC Control (c) 1986 @source:terminal.cpp 7951om // -a1010 // alcat258 // alcat7100 // ec7915 // @@ -36951,6 +36950,9 @@ tetrisp2j // (c) 1997 Jaleco tetrisp2ja // (c) 1997 Jaleco vjdash // (c) 1999 Jaleco +@source:textelcomp.cpp +a1010 // + @source:tg100.cpp tg100 // (c) 1991 diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 71a1a357f6c..b10e88d6ad5 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -699,6 +699,7 @@ terco.cpp terminal.cpp test_t400.cpp testconsole.cpp +textelcomp.cpp tg100.cpp thomson.cpp ti630.cpp