trunk/src/mame/drivers/legionna.c
| r32340 | r32341 | |
| 146 | 146 | AM_RANGE(0x100500, 0x100505) AM_DEVWRITE("raiden2cop", raiden2cop_device,LEGACY_cop_cmd_w) // REMOVE ME |
| 147 | 147 | |
| 148 | 148 | AM_RANGE(0x100580, 0x100581) AM_DEVREAD("raiden2cop", raiden2cop_device, cop_collision_status_r) |
| 149 | | // AM_RANGE(0x100582, 0x100587) AM_READ(cop_collision_status_val_r) // ADD ME |
| 150 | | AM_RANGE(0x100582, 0x100587) AM_DEVREAD("raiden2cop", raiden2cop_device, LEGACY_cop_collision_status_val_r) // REMOVE ME |
| 149 | AM_RANGE(0x100582, 0x100587) AM_DEVREAD("raiden2cop", raiden2cop_device, cop_collision_status_val_r) |
| 151 | 150 | |
| 152 | 151 | |
| 153 | 152 | AM_RANGE(0x100588, 0x100589) AM_DEVREAD("raiden2cop", raiden2cop_device, cop_collision_status_stat_r) |
trunk/src/mame/machine/raiden2cop.c
| r32340 | r32341 | |
| 56 | 56 | m_cop_sprite_dma_abs_x(0), |
| 57 | 57 | m_cop_sprite_dma_abs_y(0), |
| 58 | 58 | |
| 59 | | m_LEGACY_cop_hit_val_x(0), |
| 60 | | m_LEGACY_cop_hit_val_y(0), |
| 61 | | m_LEGACY_m_cop_hit_val_z(0), |
| 62 | 59 | m_LEGACY_r0(0), |
| 63 | 60 | m_LEGACY_r1(0), |
| 64 | 61 | |
| r32340 | r32341 | |
| 161 | 158 | save_item(NAME(m_cop_sprite_dma_abs_y)); |
| 162 | 159 | |
| 163 | 160 | // legacy |
| 164 | | save_item(NAME(m_LEGACY_cop_hit_val_x)); |
| 165 | | save_item(NAME(m_LEGACY_cop_hit_val_y)); |
| 166 | | save_item(NAME(m_LEGACY_m_cop_hit_val_z)); |
| 167 | 161 | save_item(NAME(m_LEGACY_r0)); |
| 168 | 162 | save_item(NAME(m_LEGACY_r1)); |
| 169 | 163 | |
| r32340 | r32341 | |
| 1203 | 1197 | |
| 1204 | 1198 | |
| 1205 | 1199 | |
| 1206 | | READ16_MEMBER( raiden2cop_device::LEGACY_cop_collision_status_val_r) |
| 1207 | | { |
| 1208 | | /* these two controls facing direction in Godzilla opponents (only vs.) - x value compare? */ |
| 1209 | | if (offset==0) return (m_LEGACY_cop_hit_val_y); |
| 1210 | | else if (offset==1) return (m_LEGACY_cop_hit_val_x); |
| 1211 | | else return (m_LEGACY_m_cop_hit_val_z); |
| 1212 | | } |
| 1213 | 1200 | |
| 1214 | 1201 | |
| 1215 | 1202 | /* |
| r32340 | r32341 | |
| 1267 | 1254 | if(m_LEGACY_cop_collision_info[1].max_y >= m_LEGACY_cop_collision_info[0].min_y && m_LEGACY_cop_collision_info[1].min_y <= m_LEGACY_cop_collision_info[0].max_y) |
| 1268 | 1255 | res &= ~1; |
| 1269 | 1256 | |
| 1270 | | m_LEGACY_cop_hit_val_x = (m_LEGACY_cop_collision_info[0].x - m_LEGACY_cop_collision_info[1].x) >> 16; |
| 1271 | | m_LEGACY_cop_hit_val_y = (m_LEGACY_cop_collision_info[0].y - m_LEGACY_cop_collision_info[1].y) >> 16; |
| 1272 | | m_LEGACY_m_cop_hit_val_z = 1; |
| 1257 | cop_hit_val[1] = (m_LEGACY_cop_collision_info[0].x - m_LEGACY_cop_collision_info[1].x) >> 16; |
| 1258 | cop_hit_val[0] = (m_LEGACY_cop_collision_info[0].y - m_LEGACY_cop_collision_info[1].y) >> 16; |
| 1259 | cop_hit_val[2] = 1; |
| 1273 | 1260 | cop_hit_val_stat = res; // TODO: there's also bit 2 and 3 triggered in the tests, no known meaning |
| 1274 | 1261 | |
| 1275 | | //popmessage("%d %d %04x %04x %04x %04x",m_LEGACY_cop_hit_val_x,m_LEGACY_cop_hit_val_y,m_LEGACY_cop_collision_info[0].hitbox_x,m_LEGACY_cop_collision_info[0].hitbox_y,m_LEGACY_cop_collision_info[1].hitbox_x,m_LEGACY_cop_collision_info[1].hitbox_y); |
| 1262 | //popmessage("%d %d %04x %04x %04x %04x",cop_hit_val[1],cop_hit_val[0],m_LEGACY_cop_collision_info[0].hitbox_x,m_LEGACY_cop_collision_info[0].hitbox_y,m_LEGACY_cop_collision_info[1].hitbox_x,m_LEGACY_cop_collision_info[1].hitbox_y); |
| 1276 | 1263 | |
| 1277 | 1264 | //if(res == 0) |
| 1278 | 1265 | //popmessage("0:%08x %08x %08x 1:%08x %08x %08x\n",m_LEGACY_cop_collision_info[0].x,m_LEGACY_cop_collision_info[0].y,m_LEGACY_cop_collision_info[0].hitbox,m_LEGACY_cop_collision_info[1].x,m_LEGACY_cop_collision_info[1].y,m_LEGACY_cop_collision_info[1].hitbox); |
trunk/src/mame/machine/raiden2cop.h
| r32340 | r32341 | |
| 177 | 177 | DECLARE_WRITE16_MEMBER(cop_sprite_dma_abs_x_w); |
| 178 | 178 | |
| 179 | 179 | // legacy code, to be removed / refactored into above |
| 180 | | INT16 m_LEGACY_cop_hit_val_x,m_LEGACY_cop_hit_val_y,m_LEGACY_m_cop_hit_val_z; |
| 181 | 180 | int m_LEGACY_r0, m_LEGACY_r1; |
| 182 | | DECLARE_READ16_MEMBER(LEGACY_cop_collision_status_val_r); |
| 183 | 181 | DECLARE_WRITE16_MEMBER(LEGACY_cop_cmd_w); |
| 184 | 182 | |
| 185 | 183 | struct LEGACY_collision_info |