Previous 199869 Revisions Next

r31893 Wednesday 3rd September, 2014 at 18:28:06 UTC by Angelo Salese
Updated 0205 for m68k based games
[src/mame/machine]seicop.c

trunk/src/mame/machine/seicop.c
r31892r31893
24792479           Surprisingly atan maths are nowhere to be found from the roms.
24802480         */
24812481
2482         /* "automatic" movement */
2482         /* "automatic" movement, 0205 */
24832483         if(COP_CMD(0x188,0x282,0x082,0xb8e,0x98e,0x000,0x000,0x000,6,0xffeb))
24842484         {
24852485            UINT8 offs;
24862486
24872487            offs = (offset & 3) * 4;
2488            int ppos = space.read_dword(m_cop_register[0] + 4 + offs);
2489            int npos = ppos + space.read_dword(m_cop_register[0] + 0x10 + offs);
2490            int delta = (npos >> 16) - (ppos >> 16);
24882491
2489            space.write_dword(m_cop_register[0] + 0x04 + offs, space.read_dword(m_cop_register[0] + 0x04 + offs) + space.read_dword(m_cop_register[0] + 0x10 + offs));
2490            space.write_dword(m_cop_register[0] + 0x1c + offs, space.read_dword(m_cop_register[0] + 0x10 + offs) + space.read_dword(m_cop_register[0] + 0x1c + offs));
2492            space.write_dword(m_cop_register[0] + 4 + offs, npos);
2493            space.write_word(m_cop_register[0] + 0x1c + offs, space.read_word(m_cop_register[0] + 0x1c + offs) + delta);
24912494            return;
24922495         }
24932496
2494         /* "automatic" movement, for arcs in Legionnaire / Zero Team (expression adjustment) */
2497         /* "automatic" movement, for arcs in Legionnaire / Zero Team (expression adjustment) 0905 */
24952498         if(COP_CMD(0x194,0x288,0x088,0x000,0x000,0x000,0x000,0x000,6,0xfbfb))
24962499         {
24972500            UINT8 offs;

Previous 199869 Revisions Next


© 1997-2024 The MAME Team