hp2622a: Give this its own driver (nw)

This commit is contained in:
AJR 2017-12-18 13:38:50 -05:00
parent 736dc72e99
commit a727c415e8
5 changed files with 97 additions and 23 deletions

View File

@ -2152,6 +2152,7 @@ files {
MAME_DIR .. "src/mame/drivers/hp_ipc.cpp",
MAME_DIR .. "src/mame/drivers/hp80.cpp",
MAME_DIR .. "src/mame/drivers/hp2100.cpp",
MAME_DIR .. "src/mame/drivers/hp2620.cpp",
}
createMESSProjects(_target, _subtarget, "hec2hrp")

View File

@ -0,0 +1,92 @@
// license:BSD-3-Clause
// copyright-holders:
/***********************************************************************************************************************************
Skeleton driver for HP-2620 series display terminals.
************************************************************************************************************************************/
#include "emu.h"
#include "cpu/z80/z80.h"
#include "machine/mos6551.h"
#include "machine/nvram.h"
//#include "video/dp8350.h"
class hp2620_state : public driver_device
{
public:
hp2620_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")
, m_nvram(*this, "nvram")
{ }
DECLARE_READ8_MEMBER(nvram_r);
DECLARE_WRITE8_MEMBER(nvram_w);
private:
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;
required_shared_ptr<u8> m_nvram;
};
READ8_MEMBER(hp2620_state::nvram_r)
{
return 0xf0 | m_nvram[offset];
}
WRITE8_MEMBER(hp2620_state::nvram_w)
{
m_nvram[offset] = data & 0x0f;
}
static ADDRESS_MAP_START( mem_map, AS_PROGRAM, 8, hp2620_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM AM_REGION("maincpu", 0)
ADDRESS_MAP_END
static ADDRESS_MAP_START( io_map, AS_PROGRAM, 8, hp2620_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x7f) AM_READWRITE(nvram_r, nvram_w) AM_SHARE("nvram")
AM_RANGE(0xa8, 0xab) AM_DEVWRITE("acia", mos6551_device, write)
AM_RANGE(0xac, 0xaf) AM_DEVREAD("acia", mos6551_device, read)
ADDRESS_MAP_END
static INPUT_PORTS_START( hp2622 )
INPUT_PORTS_END
static MACHINE_CONFIG_START( hp2622 )
MCFG_CPU_ADD("maincpu", Z80, XTAL_25_7715MHz / 7) // 3.68 MHz
MCFG_CPU_PROGRAM_MAP(mem_map)
MCFG_CPU_IO_MAP(io_map)
MCFG_NVRAM_ADD_0FILL("nvram") // 5101 (A7 tied to GND) + battery (+ wait states)
//MCFG_DEVICE_ADD("crtc", DP8367, XTAL_25_7715MHz)
MCFG_DEVICE_ADD("acia", MOS6551, 0) // SY6551
MCFG_MOS6551_XTAL(XTAL_25_7715MHz / 14) // 1.84 MHz
MCFG_MOS6551_IRQ_HANDLER(INPUTLINE("maincpu", 0))
MACHINE_CONFIG_END
/**************************************************************************************************************
Hewlett-Packard HP-2622A.
Chips: National 8367 CRTC (labeled B8250), SY6551 (labeled 8251), Z8400A (Z80)
Crystal: 25.7715
***************************************************************************************************************/
ROM_START( hp2622a )
ROM_REGION(0xc000, "maincpu", 0)
ROM_LOAD( "1818-1685.xu63", 0x0000, 0x2000, CRC(a57ffe5e) SHA1(4d7844320deba916d9ec289927af987fea025b02) )
ROM_LOAD( "1818-1686.xu64", 0x2000, 0x2000, CRC(bee9274c) SHA1(20796c559031a91cb2666776fcf7ffdb52a0a318) )
ROM_LOAD( "1818-1687.xu65", 0x4000, 0x2000, CRC(e9ecd489) SHA1(9b249b8d066d256069ccdb8809bb808c414f106a) )
// XU66-XU68 are empty
ROM_REGION(0x2000, "chargen", 0)
ROM_LOAD( "1818-1489.xu311", 0x0000, 0x2000, CRC(9879b153) SHA1(fc1705d6de38eb6d3a67f1ae439e359e5124d028) )
ROM_END
COMP( 1982, hp2622a, 0, 0, hp2622, hp2622, hp2620_state, 0, "HP", "HP-2622A", MACHINE_IS_SKELETON )

View File

@ -75,28 +75,6 @@ COMP( 1987, hp700_92, 0, 0, terminals, terminals, terminals_state, 0, "HP", "HP-
/**************************************************************************************************************
Hewlett-Packard HP-2622A.
Chips: National 8367 CRTC (labeled B8250), SY6551 (labeled 8251), Z8400A (Z80)
Crystal: 25.7715
***************************************************************************************************************/
ROM_START( hp2622a )
ROM_REGION(0x10000, "maincpu", 0)
ROM_LOAD( "1818-1685.xu63", 0x0000, 0x2000, CRC(a57ffe5e) SHA1(4d7844320deba916d9ec289927af987fea025b02) )
ROM_LOAD( "1818-1686.xu64", 0x2000, 0x2000, CRC(bee9274c) SHA1(20796c559031a91cb2666776fcf7ffdb52a0a318) )
ROM_LOAD( "1818-1687.xu65", 0x4000, 0x2000, CRC(e9ecd489) SHA1(9b249b8d066d256069ccdb8809bb808c414f106a) )
ROM_REGION(0x2000, "chargen", 0)
ROM_LOAD( "1818-1489.xu311", 0x0000, 0x2000, CRC(9879b153) SHA1(fc1705d6de38eb6d3a67f1ae439e359e5124d028) )
ROM_END
COMP( 1982, hp2622a, 0, 0, terminals, terminals, terminals_state, 0, "HP", "HP-2622A", MACHINE_IS_SKELETON )
/**************************************************************************************************************
Qume QVT-70.

View File

@ -15001,6 +15001,9 @@ hp165ka0 //
@source:hp2100.cpp
hp2100 // HP 2100 and HP 1000
@source:hp2620.cpp
hp2622a //
@source:hp48.cpp
hp38g //
hp39g //
@ -36413,7 +36416,6 @@ t4490 // Terco 4490 Mill CNC Control (c) 1986
@source:terminals.cpp
aaa
hp700_92
hp2622a
qvt70
qvt102
qvt103

View File

@ -268,6 +268,7 @@ horizon.cpp
hp_ipc.cpp
hp16500.cpp
hp2100.cpp
hp2600.cpp
hp48.cpp
hp49gp.cpp
hp64k.cpp