From ec0a11fb91a7131f81a9b4d2e51553ebf0d4c4c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Banaan=20Ananas?= Date: Tue, 5 Aug 2014 22:20:49 +0000 Subject: [PATCH] had a look at the datasheet, the dumps look fine to me --- src/emu/machine/rp5h01.c | 13 ++++++++----- src/emu/machine/rp5h01.h | 8 ++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/emu/machine/rp5h01.c b/src/emu/machine/rp5h01.c index b04c9b1cf40..838edb3eecd 100644 --- a/src/emu/machine/rp5h01.c +++ b/src/emu/machine/rp5h01.c @@ -1,10 +1,12 @@ /*************************************************************************** - RP5H01 - Ricoh 64x1bit PROM with 6/7-bit counter + RP5H01 - Ricoh 64x1bit(+8bit) PROM with 6/7-bit counter - TODO: - - follow the datasheet better (all dumps presumably needs to be redone - from scratch?) + In reality, PROM data is 72bits (64 + 8bit 'dummy'). In 7-bit counter mode, + from 64 to 127 (%1000000 to %1111111), the dummy bits are read repeatedly, + with a mask of %1010111. For example if the 8 dummy bits are $7c, + bits 64 to 127 are read as $7c $7c $00 $00 $7c $7c $00 $00. + To simplify this, our emulation expects 'overdumps', 128bits total. ***************************************************************************/ @@ -39,6 +41,7 @@ void rp5h01_device::device_config_complete() void rp5h01_device::device_start() { + assert(region()->bytes() == 0x10); m_data = *region(); /* register for state saving */ @@ -58,7 +61,7 @@ void rp5h01_device::device_reset() m_counter = 0; m_counter_mode = COUNTER_MODE_6_BITS; m_enabled = 0; - m_old_reset = -1; + m_old_reset = 0; m_old_clock = 0; } diff --git a/src/emu/machine/rp5h01.h b/src/emu/machine/rp5h01.h index 87c69495375..d3bd2b97c20 100644 --- a/src/emu/machine/rp5h01.h +++ b/src/emu/machine/rp5h01.h @@ -1,15 +1,15 @@ /*************************************************************************** - RP5H01 - Ricoh 64x1bit PROM with 6/7-bit counter + RP5H01 - Ricoh 64x1bit(+8bit) PROM with 6/7-bit counter **************************************************************************** ___________ DATA 1 |* | 8 COUNTER OUT - | | + | | _CE/Vpp 2 | RP5H01 | 7 RESET - | RF5H01 | + | RF5H01 | Vcc 3 | | 6 DATA CLOCK - | | + | | GND 4 |___________| 5 TEST ***************************************************************************/