diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2018-08-10 16:51:02 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2018-08-10 16:52:04 -0400 |
commit | 7bcf321fa0c1cef4c9e114e182e01d07f57cc6a6 (patch) | |
tree | 2a95a3c11f005cf83e81f430c4064fc87b2d49b8 | |
parent | a1370083eddccfa15d6c2d2b93885558966c1f61 (diff) |
ampex210p: Split to separate driver (nw)
-rw-r--r-- | scripts/target/mame/mess.lua | 1 | ||||
-rw-r--r-- | src/mame/drivers/ampex210.cpp | 89 | ||||
-rw-r--r-- | src/mame/drivers/terminal.cpp | 10 | ||||
-rw-r--r-- | src/mame/mame.lst | 4 | ||||
-rw-r--r-- | src/mame/mess.flt | 1 |
5 files changed, 94 insertions, 11 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 9c6239dfed1..c034e8fe408 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3585,6 +3585,7 @@ files { MAME_DIR .. "src/mame/drivers/alesis_qs.cpp", MAME_DIR .. "src/mame/drivers/alphasma.cpp", MAME_DIR .. "src/mame/drivers/ampex.cpp", + MAME_DIR .. "src/mame/drivers/ampex210.cpp", MAME_DIR .. "src/mame/drivers/ampro.cpp", MAME_DIR .. "src/mame/drivers/ampscarp.cpp", MAME_DIR .. "src/mame/drivers/amust.cpp", diff --git a/src/mame/drivers/ampex210.cpp b/src/mame/drivers/ampex210.cpp new file mode 100644 index 00000000000..ea8f2bbc8ff --- /dev/null +++ b/src/mame/drivers/ampex210.cpp @@ -0,0 +1,89 @@ +// license:BSD-3-Clause +// copyright-holders:AJR +/*************************************************************************** + + Skeleton driver for Ampex 210/210+ video display terminals. + +****************************************************************************/ + +#include "emu.h" +#include "cpu/z80/z80.h" +#include "machine/mos6551.h" +#include "video/scn2674.h" +#include "screen.h" + + +class ampex210_state : public driver_device +{ +public: + ampex210_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 ampex210p(machine_config &config); + +private: + SCN2672_DRAW_CHARACTER_MEMBER(draw_character); + + void mem_map(address_map &map); + void io_map(address_map &map); + required_device<cpu_device> m_maincpu; + required_region_ptr<u8> m_chargen; +}; + + +SCN2672_DRAW_CHARACTER_MEMBER(ampex210_state::draw_character) +{ +} + +void ampex210_state::mem_map(address_map &map) +{ + map(0x0000, 0x7fff).rom().region("maincpu", 0); + map(0x8000, 0x87ff).ram(); + map(0x8800, 0x9fff).ram(); +} + +void ampex210_state::io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x07).rw("pvtc", FUNC(scn2672_device::read), FUNC(scn2672_device::write)); + map(0x44, 0x47).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write)); + map(0x80, 0x80).nopw(); +} + + +static INPUT_PORTS_START(ampex210p) +INPUT_PORTS_END + + +MACHINE_CONFIG_START(ampex210_state::ampex210p) + MCFG_DEVICE_ADD("maincpu", Z80, 4'000'000) + MCFG_DEVICE_PROGRAM_MAP(mem_map) + MCFG_DEVICE_IO_MAP(io_map) + + mos6551_device &acia(MOS6551(config, "acia", 1'843'200)); + acia.irq_handler().set_inputline("maincpu", INPUT_LINE_IRQ0); + + MCFG_DEVICE_ADD("pvtc", SCN2672, 2'178'000) + MCFG_SCN2672_INTR_CALLBACK(INPUTLINE("maincpu", INPUT_LINE_NMI)) + MCFG_SCN2672_CHARACTER_WIDTH(10) + MCFG_SCN2672_DRAW_CHARACTER_CALLBACK_OWNER(ampex210_state, draw_character) + MCFG_VIDEO_SET_SCREEN("screen") + + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_RAW_PARAMS(21'780'000, 1000, 0, 800, 363, 0, 300) // clock guessed + MCFG_SCREEN_UPDATE_DEVICE("pvtc", scn2672_device, screen_update) +MACHINE_CONFIG_END + + +ROM_START(ampex210p) // Z80 (+6551,MC2672,3515260-01, 3 xtals, speaker) // 8k ram // amber + ROM_REGION(0x8000, "maincpu", 0) + ROM_LOAD("35-5960-03.u30", 0x0000, 0x8000, CRC(d3f86117) SHA1(f8a9b66899117b362b195bfc94c75bc902fb1376)) + + ROM_REGION(0x1000, "chargen", 0) + ROM_LOAD("35-526-01.u3", 0x0000, 0x1000, CRC(4659bcd2) SHA1(554574f55ed875baba0a6133648c44df763cc5c4)) +ROM_END + +COMP(1989, ampex210p, 0, 0, ampex210p, ampex210p, ampex210_state, empty_init, "Ampex", "210+", MACHINE_IS_SKELETON) diff --git a/src/mame/drivers/terminal.cpp b/src/mame/drivers/terminal.cpp index e4bba3a234c..ab2dfbc4cec 100644 --- a/src/mame/drivers/terminal.cpp +++ b/src/mame/drivers/terminal.cpp @@ -74,15 +74,6 @@ ROM_START( alcat7100 ) // Z80 // 256k ram // b&w // looks like it needs a boot ROM_END -ROM_START( ampex210 ) // Z80 (+6551,MC2672,3515260-01, 3 xtals, speaker) // 8k ram // amber - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "35-5960-03.u30", 0x0000, 0x8000, CRC(d3f86117) SHA1(f8a9b66899117b362b195bfc94c75bc902fb1376) ) - - ROM_REGION( 0x1000, "chargen", 0 ) - ROM_LOAD( "35-526-01.u3", 0x0000, 0x1000, CRC(4659bcd2) SHA1(554574f55ed875baba0a6133648c44df763cc5c4) ) -ROM_END - - ROM_START( facit4440 ) // Z80 (+HD46505SP, 2x Z80ADART // 16k ram // b&w ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "rom7.bin", 0x0000, 0x4000, CRC(a8da2b11) SHA1(4436ef14c29ae299f7bc338748158771c02d02a9) ) @@ -198,7 +189,6 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ COMP( 1991, alcat258, 0, 0, terminal, terminal, terminal_state, empty_init, "Alcatel", "Terminatel 258", MACHINE_IS_SKELETON ) COMP( 1984, alcat7100, 0, 0, terminal, terminal, terminal_state, empty_init, "Alcatel", "Terminal 7100", MACHINE_IS_SKELETON ) -COMP( 1989, ampex210, 0, 0, terminal, terminal, terminal_state, empty_init, "Ampex", "210+", MACHINE_IS_SKELETON ) COMP( 1986, facit4440, 0, 0, terminal, terminal, terminal_state, empty_init, "Facit", "Terminal 4440 (30M-F1)", MACHINE_IS_SKELETON ) COMP( 1986, itt9216, 0, 0, terminal, terminal, terminal_state, empty_init, "ITT", "Courier 9216-X", MACHINE_IS_SKELETON ) COMP( 1992, loewed, 0, 0, terminal, terminal, terminal_state, empty_init, "Loewe", "Multitel D", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 685b89a400a..d2c631748a0 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -1211,6 +1211,9 @@ videomat // 1990 bootleg @source:ampex.cpp dialog80 // Ampex Dialogue 80 +@source:ampex210.cpp +ampex210p // + @source:ampro.cpp ampro // @@ -36900,7 +36903,6 @@ t4490 // Terco 4490 Mill CNC Control (c) 1986 a1010 // alcat258 // alcat7100 // -ampex210 // ec7915 // facit4440 // feap90 // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index e0f90c93756..71a1a357f6c 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -40,6 +40,7 @@ altos8600.cpp amico2k.cpp amiga.cpp ampex.cpp +ampex210.cpp ampro.cpp ampscarp.cpp amstr_pc.cpp |