summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/punchout.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/punchout.c')
-rw-r--r--src/mame/drivers/punchout.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mame/drivers/punchout.c b/src/mame/drivers/punchout.c
index ac0ec2910e2..83503a6efb0 100644
--- a/src/mame/drivers/punchout.c
+++ b/src/mame/drivers/punchout.c
@@ -10,6 +10,7 @@ the bottom screen.
driver by Nicola Salmoria
TODO:
+- finish spunchout protection, currently using a hacky workaround
- add useless driver config to choose between pink and white color proms
- video raw params - pixel clock is derived from 20.16mhz xtal
- money bag placement might not be 100% correct in Arm Wrestling
@@ -227,6 +228,15 @@ READ8_MEMBER(punchout_state::spunchout_exp_r)
ret |= m_rp5h01->counter_r() ? 0x00 : 0x40;
ret |= m_rp5h01->data_r() ? 0x00 : 0x80;
+ // FIXME - hack d6/d7 state until we figure out why the game resets
+ /* PC = 0x0313 */
+ /* (ret or 0x10) -> (D7DF),(D7A0) - (D7DF),(D7A0) = 0d0h(ret nc) */
+ ret &= 0x3f;
+ if (space.device().safe_pcbase() == 0x0313)
+ {
+ ret |= 0xc0;
+ }
+
return ret;
}