summaryrefslogtreecommitdiffstatshomepage
path: root/scripts
diff options
context:
space:
mode:
author fenugrec <fenugrec@users.noreply.github.com>2018-11-29 05:44:49 -0500
committer Robert <Robbbert@users.noreply.github.com>2018-11-29 21:44:49 +1100
commit63dd1ba82f63b014bd4e2d628783036e583eb6f7 (patch)
tree84991ed53b54295c0a092a95698f3b6c948ed56c /scripts
parent84fdea71c8178ccdc588215e9912beff9ecdc354 (diff)
New driver : HP 3478A Digital Multimeter (#4342)
* Added new driver: HP 3478A Multimeter WIP, machine not working, skeleton, highly incomplete. Compiles, that's about all. * hp3478a: implement ROM banking code runs "properly" at least to the CAL RAM check (fails, RAM not implemented) * hp3478a: some IO work Interpret CS lines for external accesses (GPIB, CAL RAM, DIP switches). Also, remove MCFG_ stuff Also, use logmacro.h stuff * hp3478a: partial emulation of LCD The main CPU has a serial link to the LCD module. This WIP splits commands and data mostly successfully (still some bogus shifting which would be fairly easy to ignore). None of the commands are implemented yet, and no actual display is generated yet. Includes unrelated tweak : only change bank when the A12 line changes. * hp3478a: added LCD rendering ! code shamelessly stolen from tranz330 and roc10937 drivers. Not clickable yet. * hp3478a: implement CAL NVRAM Finally. IO mapping has provisions for the DIP switches as well as i8291 GPIB interface registers. * hp3478a: improve LCD rendering Remove some artifacts: with the LCD "not selected", some data is sent on IWA (probably to purge a shift register ?) but was parsed with the last m_lcdiwa state. Reset this everytime PWO is deselected. Also parse decimal point, comma and "all segments". * hp3478a: implement keypad * hp3478a: CAL switch to write-protect NVRAM * hp3478a: implement DIP switches * hp3478a: fix self-test reset freeze (missing WDT) There is an external WDT counter that is periodically reset by the CPU in normal operation. When forcing a reset from the front panel, this counter is allowed to overflow (20th bit, clocked at Xtal / 15), giving a reset time of about 1.3s.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/target/mame/mess.lua1
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index e3f60b783ad..1e6bccdea86 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -3759,6 +3759,7 @@ files {
MAME_DIR .. "src/mame/drivers/harriet.cpp",
MAME_DIR .. "src/mame/drivers/hazeltin.cpp",
MAME_DIR .. "src/mame/drivers/hazl1420.cpp",
+ MAME_DIR .. "src/mame/drivers/hp3478a.cpp",
MAME_DIR .. "src/mame/drivers/hprot1.cpp",
MAME_DIR .. "src/mame/drivers/hpz80unk.cpp",
MAME_DIR .. "src/mame/drivers/ht68k.cpp",