trunk/src/mame/drivers/cps1.c
| r24855 | r24856 | |
| 11109 | 11109 | GAME( 1991, captcommu, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (USA 910928)", GAME_SUPPORTS_SAVE ) |
| 11110 | 11110 | GAME( 1991, captcommj, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (Japan 911202)", GAME_SUPPORTS_SAVE ) |
| 11111 | 11111 | GAME( 1991, captcommjr1, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "Capcom", "Captain Commando (Japan 910928)", GAME_SUPPORTS_SAVE ) |
| 11112 | | GAME( 1991, captcommb, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "bootleg", "Captain Commando (bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // 911014 - based on World version |
| 11112 | GAME( 1991, captcommb, captcomm, cps1_10MHz, captcomm, cps_state, cps1, ROT0, "bootleg", "Captain Commando (bootleg)", GAME_SUPPORTS_SAVE ) // 911014 - based on World version |
| 11113 | 11113 | GAME( 1991, knights, 0, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (World 911127)", GAME_SUPPORTS_SAVE ) // "ETC" |
| 11114 | 11114 | GAME( 1991, knightsu, knights, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (USA 911127)", GAME_SUPPORTS_SAVE ) |
| 11115 | 11115 | GAME( 1991, knightsj, knights, cps1_10MHz, knights, cps_state, cps1, ROT0, "Capcom", "Knights of the Round (Japan 911127, B-Board 91634B-2)", GAME_SUPPORTS_SAVE ) |
trunk/src/mame/video/cps1.c
| r24855 | r24856 | |
| 1364 | 1364 | {"captcommu", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 }, |
| 1365 | 1365 | {"captcommj", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 }, |
| 1366 | 1366 | {"captcommjr1", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 }, |
| 1367 | | {"captcommb", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34 }, |
| 1367 | {"captcommb", CPS_B_21_BT3, mapper_CC63B, 0x36, 0x38, 0x34, 3 }, |
| 1368 | 1368 | {"knights", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, |
| 1369 | 1369 | {"knightsu", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, |
| 1370 | 1370 | {"knightsj", CPS_B_21_BT4, mapper_KR63B, 0x36, 0, 0x34 }, |
| r24855 | r24856 | |
| 1841 | 1841 | scroll2xoff = -0x10; |
| 1842 | 1842 | scroll3xoff = -0x10; |
| 1843 | 1843 | } |
| 1844 | else |
| 1845 | if (m_game_config->bootleg_kludge == 3) |
| 1846 | { |
| 1847 | scroll1xoff = -0x08; |
| 1848 | scroll2xoff = -0x0b; |
| 1849 | scroll3xoff = -0x0c; |
| 1850 | } |
| 1844 | 1851 | |
| 1845 | 1852 | m_obj = cps1_base(machine(), CPS1_OBJ_BASE, m_obj_size); |
| 1846 | 1853 | m_other = cps1_base(machine(), CPS1_OTHER_BASE, m_other_size); |
| r24855 | r24856 | |
| 2269 | 2276 | /* Locate the end of table marker */ |
| 2270 | 2277 | while (offset < m_obj_size / 2) |
| 2271 | 2278 | { |
| 2272 | | int colour = m_buffered_obj[offset + 3]; |
| 2273 | | if ((colour & 0xff00) == 0xff00) |
| 2279 | if (m_game_config->bootleg_kludge == 3) { |
| 2280 | /* captcommb - same end of sprite marker as CPS-2 */ |
| 2281 | int colour = m_buffered_obj[offset + 1]; |
| 2282 | if (colour >= 0x8000) |
| 2283 | { |
| 2284 | /* Marker found. This is the last sprite. */ |
| 2285 | m_last_sprite_offset = offset - 4; |
| 2286 | return; |
| 2287 | } |
| 2288 | } |
| 2289 | else |
| 2274 | 2290 | { |
| 2275 | | /* Marker found. This is the last sprite. */ |
| 2276 | | m_last_sprite_offset = offset - 4; |
| 2277 | | return; |
| 2291 | int colour = m_buffered_obj[offset + 3]; |
| 2292 | if ((colour & 0xff00) == 0xff00) |
| 2293 | { |
| 2294 | /* Marker found. This is the last sprite. */ |
| 2295 | m_last_sprite_offset = offset - 4; |
| 2296 | return; |
| 2297 | } |
| 2278 | 2298 | } |
| 2279 | 2299 | |
| 2280 | 2300 | offset += 4; |
| r24855 | r24856 | |
| 2309 | 2329 | UINT16 *base = m_buffered_obj; |
| 2310 | 2330 | |
| 2311 | 2331 | /* some sf2 hacks draw the sprites in reverse order */ |
| 2312 | | if ((m_game_config->bootleg_kludge == 1) || (m_game_config->bootleg_kludge == 2)) |
| 2332 | if ((m_game_config->bootleg_kludge == 1) || (m_game_config->bootleg_kludge == 2) || (m_game_config->bootleg_kludge == 3)) |
| 2313 | 2333 | { |
| 2314 | 2334 | base += m_last_sprite_offset; |
| 2315 | 2335 | baseadd = -4; |