summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2017-10-31 18:43:48 +0100
committer angelosa <salese_corp_ltd@email.it>2017-10-31 18:46:34 +0100
commitcb5e995e78c2d923e9c793c534b6a9a0dd30943d (patch)
tree1859219280b9675a326494f35140b95b7ae30872
parent33d2567e904d0de1f5f302ceb3a01a31e293017a (diff)
dec0.cpp: emulate Sly Spy RNG device at $31c00d. [Angelo Salese]
* This makes gameplay to behave very differently than before, game extensively uses this port to mix up stuff especially with the bosses.
-rw-r--r--src/mame/drivers/dec0.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mame/drivers/dec0.cpp b/src/mame/drivers/dec0.cpp
index d49b112a038..b28dcb71e63 100644
--- a/src/mame/drivers/dec0.cpp
+++ b/src/mame/drivers/dec0.cpp
@@ -502,12 +502,17 @@ READ16_MEMBER(dec0_state::slyspy_controls_r)
READ16_MEMBER(dec0_state::slyspy_protection_r)
{
- /* These values are for Boulderdash, I have no idea what they do in Slyspy */
- switch (offset<<1) {
+ switch (offset<<1)
+ {
+ /* These values are for Boulderdash, I have no idea what they do in Slyspy */
case 0: return 0;
case 2: return 0x13;
case 4: return 0;
case 6: return 0x2;
+ // sly spy uses this port as RNG, for now let's do same thing as bootleg (i.e. reads 0x306028)
+ // chances are that it actually ties to the main CPU xtal instead.
+ // (reads at 6958 6696)
+ case 0xc: return m_ram[0x2028/2] >> 8;
}
logerror("%04x, Unknown protection read at 30c000 %d\n", space.device().safe_pc(), offset);