diff options
author | angelosa <salese_corp_ltd@email.it> | 2015-07-21 20:46:33 +0200 |
---|---|---|
committer | angelosa <salese_corp_ltd@email.it> | 2015-07-21 20:46:33 +0200 |
commit | 6a00aff81594b32031407a6f8250882ce852dcf1 (patch) | |
tree | f8fe455ebf2ff01bde9acdf5c34317a05aa6baa6 | |
parent | 587d84fa83e3dc58ae4af138307267cadff54a3c (diff) |
Fixed World Heroes Perfect (Sega Saturn) TH Control Mode in SMPC.
-rw-r--r-- | src/emu/machine/smpc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/emu/machine/smpc.c b/src/emu/machine/smpc.c index 57ad765b852..fb9534b6178 100644 --- a/src/emu/machine/smpc.c +++ b/src/emu/machine/smpc.c @@ -922,8 +922,9 @@ UINT8 saturn_state::smpc_th_control_mode(UINT8 pad_n) case 2: res = th<<6; // 1 C B Right Left Down Up + // WHP actually has a very specific code at 0x6015f30, doesn't like bits 0-1 active here ... res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>4)) & 0x30); // C & B - res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>12)) & 0xf); + res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>12)) & 0xc); break; case 1: res = th<<6; @@ -935,11 +936,10 @@ UINT8 saturn_state::smpc_th_control_mode(UINT8 pad_n) // 0 Start A 0 0 Down Up res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>6)) & 0x30); // Start & A res|= (((machine().root_device().ioport(padnames[pad_n])->read()>>12)) & 0x3); + // ... and actually wants bits 2 - 3 active here. + res|= 0xc; break; } - - if(machine().input().code_pressed(KEYCODE_Z)) - return machine().rand(); return res; } |