diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 61e18ad14f3..e64cc981604 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3334,6 +3334,7 @@ files { createMESSProjects(_target, _subtarget, "visual") files { MAME_DIR .. "src/mame/drivers/v100.cpp", + MAME_DIR .. "src/mame/drivers/v102.cpp", MAME_DIR .. "src/mame/drivers/v1050.cpp", MAME_DIR .. "src/mame/includes/v1050.h", MAME_DIR .. "src/mame/machine/v1050kb.cpp", diff --git a/src/mame/drivers/terminals.cpp b/src/mame/drivers/terminals.cpp index 8f486bef1b4..d201fef123d 100644 --- a/src/mame/drivers/terminals.cpp +++ b/src/mame/drivers/terminals.cpp @@ -250,30 +250,6 @@ COMP( 1989, tv965, 0, 0, terminals, terminals, terminals_state, 0, "TeleVideo", -/************************************************************************************************************** - -Visual 102. (VT-102 clone plus graphics) -Chips: D780C-1 (Z80), CRT9021B-018, COM8251A, D8255AC-5, 2x CRT9006-135, CRT9007, M5L8253P-5, X2804AP-35, D7201C -Crystals: 18.575000 -Keyboard: TMP8039P-6 - -***************************************************************************************************************/ - -ROM_START( v102 ) - ROM_REGION(0x10000, "maincpu", 0) - ROM_LOAD( "245-001.u1", 0x0000, 0x4000, CRC(c36cc525) SHA1(a45e75ded10979c8e3ad262e2cf5818e08db762c) ) - - ROM_REGION(0x1000, "chargen", 0) - ROM_LOAD( "260-001.u50", 0x0000, 0x1000, CRC(732f5b99) SHA1(d105bf9f3ed41109d7181bcf0223bb280afe3f0a) ) - - ROM_REGION(0x10000, "keyboard", 0) - ROM_LOAD( "150.kbd", 0x0000, 0x0800, CRC(afe55cff) SHA1(b26ebdde63ec0e94c08780285def39a282e128b3) ) -ROM_END - -COMP( 1984, v102, 0, 0, terminals, terminals, terminals_state, 0, "Visual Technology", "Visual 102", MACHINE_IS_SKELETON ) - - - /************************************************************************************************************** DEC VT420. diff --git a/src/mame/drivers/v102.cpp b/src/mame/drivers/v102.cpp new file mode 100644 index 00000000000..3de7d9d8f4e --- /dev/null +++ b/src/mame/drivers/v102.cpp @@ -0,0 +1,102 @@ +// license:BSD-3-Clause +// copyright-holders: +/*********************************************************************************************************************************** + +Skeleton driver for Visual 102 display terminal. + +************************************************************************************************************************************/ + +#include "emu.h" +#include "cpu/z80/z80.h" +#include "cpu/mcs48/mcs48.h" +#include "machine/eeprompar.h" +#include "machine/i8251.h" +#include "machine/i8255.h" +#include "machine/pit8253.h" +#include "machine/z80sio.h" +//#include "video/crt9007.h" +//#include "video/crt9021.h" +//#include "screen.h" + +class v102_state : public driver_device +{ +public: + v102_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") + { } + +private: + required_device m_maincpu; + required_region_ptr m_p_chargen; +}; + + +static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, v102_state ) + ADDRESS_MAP_UNMAP_HIGH + AM_RANGE(0x0000, 0x3fff) AM_ROM AM_REGION("maincpu", 0) + AM_RANGE(0x8000, 0x8fff) AM_RAM + AM_RANGE(0xa000, 0xafff) AM_RAM + AM_RANGE(0xb800, 0xb9ff) AM_DEVREADWRITE("eeprom", eeprom_parallel_28xx_device, read, write) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( io_map, AS_IO, 8, v102_state ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + //AM_RANGE(0x00, 0x1f) AM_DEVWRITE("vpac", crt9007_device, write) + AM_RANGE(0x18, 0x19) AM_WRITENOP + AM_RANGE(0x40, 0x43) AM_DEVREADWRITE("mpsc", upd7201_new_device, ba_cd_r, ba_cd_w) + AM_RANGE(0x60, 0x60) AM_DEVREADWRITE("usart", i8251_device, data_r, data_w) + AM_RANGE(0x61, 0x61) AM_DEVREADWRITE("usart", i8251_device, status_r, control_w) + AM_RANGE(0x80, 0x83) AM_DEVWRITE("pit", pit8253_device, write) + AM_RANGE(0xa0, 0xa3) AM_DEVREADWRITE("ppi", i8255_device, read, write) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( kbd_map, AS_PROGRAM, 8, v102_state ) + AM_RANGE(0x000, 0x7ff) AM_ROM AM_REGION("keyboard", 0) +ADDRESS_MAP_END + +static INPUT_PORTS_START( v102 ) +INPUT_PORTS_END + +static MACHINE_CONFIG_START( v102 ) + MCFG_CPU_ADD("maincpu", Z80, XTAL_18_575MHz / 5) // divider not verified + MCFG_CPU_PROGRAM_MAP(mem_map) + MCFG_CPU_IO_MAP(io_map) + + MCFG_EEPROM_2804_ADD("eeprom") + + MCFG_DEVICE_ADD("mpsc", UPD7201_NEW, XTAL_18_575MHz / 5) // divider not verified + + MCFG_DEVICE_ADD("usart", I8251, XTAL_18_575MHz / 5) // divider not verified + + MCFG_DEVICE_ADD("pit", PIT8253, 0) + + MCFG_DEVICE_ADD("ppi", I8255, 0) + + MCFG_CPU_ADD("kbdcpu", I8039, 12000000) + MCFG_CPU_PROGRAM_MAP(kbd_map) +MACHINE_CONFIG_END + + +/************************************************************************************************************** + +Visual 102. (VT-102 clone plus graphics) +Chips: D780C-1 (Z80), CRT9021B-018, COM8251A, D8255AC-5, 2x CRT9006-135, CRT9007, M5L8253P-5, X2804AP-35, D7201C +Crystals: 18.575000 +Keyboard: TMP8039P-6 + +***************************************************************************************************************/ + +ROM_START( v102 ) + ROM_REGION(0x4000, "maincpu", 0) + ROM_LOAD( "245-001.u1", 0x0000, 0x4000, CRC(c36cc525) SHA1(a45e75ded10979c8e3ad262e2cf5818e08db762c) ) + + ROM_REGION(0x1000, "chargen", 0) + ROM_LOAD( "260-001.u50", 0x0000, 0x1000, CRC(732f5b99) SHA1(d105bf9f3ed41109d7181bcf0223bb280afe3f0a) ) + + ROM_REGION(0x0800, "keyboard", 0) + ROM_LOAD( "150.kbd", 0x0000, 0x0800, CRC(afe55cff) SHA1(b26ebdde63ec0e94c08780285def39a282e128b3) ) +ROM_END + +COMP( 1984, v102, 0, 0, v102, v102, v102_state, 0, "Visual Technology", "Visual 102", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 4b4964e1e96..0add9de2c4c 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -36457,7 +36457,6 @@ tr175 tv912c tv955 tv965 -v102 vt420 @source:terracre.cpp @@ -37431,6 +37430,9 @@ uzebox // @source:v100.cpp v100 // +@source:v102.cpp +v102 // + @source:v1050.cpp v1050 // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 2b4107df421..87fe176a2b6 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -724,6 +724,7 @@ unixpc.cpp ut88.cpp uzebox.cpp v100.cpp +v102.cpp v1050.cpp v6809.cpp vax11.cpp