diff options
author | Angelo Salese <angelosa@users.noreply.github.com> | 2010-12-31 15:54:10 +0000 |
---|---|---|
committer | Angelo Salese <angelosa@users.noreply.github.com> | 2010-12-31 15:54:10 +0000 |
commit | e25860ffdcf67126ee46150947022dd423e6a176 (patch) | |
tree | 9012dcaa6a62e3550ef91961c423f613e2b4df99 | |
parent | 83aa5fa56effbc4d406b8503a38eab22a40b2f1e (diff) |
Implemented Seibu COP macro 0x905, used for ark movements in Legionnaire / Zero Team when a knock down occurs [Angelo Salese]
-rw-r--r-- | src/mame/machine/seicop.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/mame/machine/seicop.c b/src/mame/machine/seicop.c index 55d009e3b07..37b2be24208 100644 --- a/src/mame/machine/seicop.c +++ b/src/mame/machine/seicop.c @@ -2285,13 +2285,16 @@ static WRITE16_HANDLER( generic_cop_w ) return; } + /* "automatic" movement, for arks in Legionnaire / Zero Team */ if(COP_CMD(0x194,0x288,0x088,0x000,0x000,0x000,0x000,0x000,6,0xfbfb)) { - //static UINT8 offs; + static UINT8 offs; + + offs = (offset & 3) * 4; - //offs = (offset & 3) * 4; + //popmessage("%d %d",space->read_dword(cop_register[0] + 0x2c + 0),space->read_dword(cop_register[0] + 0x2c + 4)); - //space->write_dword(cop_register[0] + 16 + offs, space->read_dword(cop_register[0] + 16 + offs) + 0x2000); + space->write_dword(cop_register[0] + 16 + offs, space->read_dword(cop_register[0] + 16 + offs) + space->read_dword(cop_register[0] + 0x28 + offs)); } /* SINE math - 0x8100 */ |