a1010: Split to separate driver (nw)

This commit is contained in:
AJR 2018-08-11 10:54:19 -04:00
parent 468a5f7ee7
commit 89e50ae830
5 changed files with 87 additions and 11 deletions

View File

@ -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",

View File

@ -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 )

View File

@ -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<cpu_device> m_maincpu;
required_region_ptr<u8> 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)

View File

@ -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

View File

@ -699,6 +699,7 @@ terco.cpp
terminal.cpp
test_t400.cpp
testconsole.cpp
textelcomp.cpp
tg100.cpp
thomson.cpp
ti630.cpp