summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Michaël Banaan Ananas <happppp@users.noreply.github.com>2014-08-05 22:20:49 +0000
committer Michaël Banaan Ananas <happppp@users.noreply.github.com>2014-08-05 22:20:49 +0000
commitec0a11fb91a7131f81a9b4d2e51553ebf0d4c4c5 (patch)
treeb99b2d657d2104326d6f89acc139d7a0777d8947
parent8747f3a9ab77473e4bf41e4f0ebbc970349c81d2 (diff)
had a look at the datasheet, the dumps look fine to me
-rw-r--r--src/emu/machine/rp5h01.c13
-rw-r--r--src/emu/machine/rp5h01.h8
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
***************************************************************************/