diff options
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 |
commit | cb5e995e78c2d923e9c793c534b6a9a0dd30943d (patch) | |
tree | 1859219280b9675a326494f35140b95b7ae30872 | |
parent | 33d2567e904d0de1f5f302ceb3a01a31e293017a (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.cpp | 9 |
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); |