Previous 199869 Revisions Next

r32365 Wednesday 24th September, 2014 at 22:18:52 UTC by David Haywood
more reduction (nw)
[src/mame/machine]raiden2cop.c raiden2cop.h

trunk/src/mame/machine/raiden2cop.c
r32364r32365
184184   else return space.read_byte(address);
185185}
186186
187void raiden2cop_device::cop_write_word(address_space &space, int address, UINT16 data)
188{
189   if (m_cpu_is_68k) space.write_word(address ^ 2, data);
190   else space.write_word(address, data);
191}
187192
193
188194/*** Command Table uploads ***/
189195
190196
r32364r32365
768774   int npos = ppos + space.read_dword(cop_regs[0] + 0x10 + offset * 4);
769775   int delta = (npos >> 16) - (ppos >> 16);
770776   space.write_dword(cop_regs[0] + 4 + offset * 4, npos);
771   space.write_word(cop_regs[0] + 0x1e + offset * 4, space.read_word(cop_regs[0] + 0x1e + offset * 4) + delta);
777   cop_write_word(space,cop_regs[0] + 0x1e + offset * 4, cop_read_word(space, cop_regs[0] + 0x1e + offset * 4) + delta);
772778}
773779
774void raiden2cop_device::LEGACY_execute_0205(address_space &space, int offset, UINT16 data)
775{
776   UINT8 offs;
777
778   offs = (offset & 3) * 4;
779   int ppos = space.read_dword(cop_regs[0] + 4 + offs);
780   int npos = ppos + space.read_dword(cop_regs[0] + 0x10 + offs);
781   int delta = (npos >> 16) - (ppos >> 16);
782
783   space.write_dword(cop_regs[0] + 4 + offs, npos);
784   space.write_word(cop_regs[0] + 0x1c + offs, space.read_word(cop_regs[0] + 0x1c + offs) + delta);
785}
786
787780/*
78878101 - 0905 (0905  ) :  (194, 288, 088, 000, 000, 000, 000, 000)  6     fbfb   (heatbrl, legionna, cupsoc, godzilla, grainbow, denjinmk, raiden2, raidendx, zeroteam, xsedae)
78978201 - 0b05 (0b05  ) :  (180, 2e0, 0a0, 182, 2e0, 0c0, 000, 000)  6     ffdb   (zeroteamsr)
r32364r32365
19891982   if (check_command_matches(command, 0x188, 0x282, 0x082, 0xb8e, 0x98e, 0x000, 0x000, 0x000, 6, 0xffeb))
19901983   {
19911984      executed = 1;
1992      LEGACY_execute_0205(space, offset, data);
1985      execute_0205(space, offset, data);
19931986      return;
19941987   }
19951988
trunk/src/mame/machine/raiden2cop.h
r32364r32365
177177   void LEGACY_execute_b100(address_space &space, int offset, UINT16 data);
178178   void LEGACY_execute_a900(address_space &space, int offset, UINT16 data);
179179   void LEGACY_execute_b900(address_space &space, int offset, UINT16 data);
180   void LEGACY_execute_0205(address_space &space, int offset, UINT16 data);
181180   void LEGACY_execute_42c2(address_space &space, int offset, UINT16 data);
182181   void LEGACY_execute_e30e(address_space &space, int offset, UINT16 data);
183182   void LEGACY_execute_6200(address_space &space, int offset, UINT16 data);
r32364r32365
259258   static void set_cpu_is_68k(device_t &device, int value) { downcast<raiden2cop_device &>(device).m_cpu_is_68k = value; }
260259   UINT16 cop_read_word(address_space &space, int address);
261260   UINT8 cop_read_byte(address_space &space, int address);
261   void cop_write_word(address_space &space, int address, UINT16 data);
262262
263263   // DEBUG
264264   void dump_table();

Previous 199869 Revisions Next


© 1997-2024 The MAME Team