diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp index 0c0df44b4a4..76860f47123 100644 --- a/src/mame/drivers/cps1.cpp +++ b/src/mame/drivers/cps1.cpp @@ -8069,8 +8069,15 @@ ROM_END ROM_START( sf2rk ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ - ROM_LOAD16_BYTE( "w6.u222", 0x000000, 0x80000, CRC(49422b6f) SHA1(69fe9147c7ee3f6fa29077df16f4ef1224495be3) ) - ROM_LOAD16_BYTE( "w5.u196", 0x000001, 0x80000, CRC(7e9c8c2f) SHA1(3d34a3920a771e1d62a41c104c8b16e3c6ac9405) ) + ROM_LOAD16_BYTE( "w6.u222", 0x000000, 0x80000, CRC(49422b6f) SHA1(69fe9147c7ee3f6fa29077df16f4ef1224495be3) ) + ROM_LOAD16_BYTE( "w5.u196", 0x000001, 0x80000, CRC(7e9c8c2f) SHA1(3d34a3920a771e1d62a41c104c8b16e3c6ac9405) ) + + /* The dark screen issue is present on the real pcb, although much less noticable than in mame. + The bootleggers have patched out the code which modifies the brightness/fade component of the palette word. + This is somewhat strange as unlike some bootlegs, this board DOES have the brightness circuitry (2x 7407's, 12x resistor dac) populated! + The below patch fixes the issue: (for pcb fix burn a 27c040 of w6.u222 with 0x8f7=0x6b) + */ + //ROM_FILL( 0x11ee, 1, 0x6b) ROM_REGION( 0x600000, "gfx", 0 ) ROM_LOAD64_WORD( "01 rk098", 0x000000, 0x80000, CRC(4296de4d) SHA1(2bd5a0ebe2a20c745b11da9c7dc4f13f20efdda7) ) @@ -8085,16 +8092,16 @@ ROM_START( sf2rk ) ROM_CONTINUE( 0x400004, 0x80000) ROM_LOAD64_WORD( "06 rk077", 0x400002, 0x80000, CRC(ec949f8c) SHA1(34ea3d6d85486a5ff25c774dbc6a4b16037a7347) ) ROM_CONTINUE( 0x400006, 0x80000) - /* extra gfx layer roms loaded over the former ones to remove the capcom copyright logo */ + /* extra sprite roms loaded over the former ones (identical data) */ ROM_LOAD64_BYTE( "w-1", 0x400004, 0x10000, CRC(6de44671) SHA1(dc6abba639e0c27033e391c7438d88dc89a93351) ) ROM_CONTINUE( 0x400000, 0x10000 ) - ROM_LOAD64_BYTE( "w-3", 0x400006, 0x10000, CRC(bf0cd819) SHA1(f04a098fce07949277268327871c5e5520e3bb3c) ) - ROM_CONTINUE( 0x400002, 0x10000 ) - ROM_LOAD64_BYTE( "w-2", 0x400005, 0x10000, CRC(e8f14362) SHA1(a20eb75e322011e2a8d8bf2acebe713bef3d3941) ) + ROM_LOAD64_BYTE( "w-3", 0x400005, 0x10000, CRC(bf0cd819) SHA1(f04a098fce07949277268327871c5e5520e3bb3c) ) ROM_CONTINUE( 0x400001, 0x10000 ) + ROM_LOAD64_BYTE( "w-2", 0x400006, 0x10000, CRC(e8f14362) SHA1(a20eb75e322011e2a8d8bf2acebe713bef3d3941) ) + ROM_CONTINUE( 0x400002, 0x10000 ) ROM_LOAD64_BYTE( "w-4", 0x400007, 0x10000, CRC(76f9f91f) SHA1(58a34062d2c8378558a7f1629140330279af9a43) ) ROM_CONTINUE( 0x400003, 0x10000 ) - /* end of extra gfx layer roms */ + /* end of extra sprite roms */ ROM_REGION( 0x18000, "audiocpu", 0 ) /* 64k for the audio CPU (+banks) */ ROM_LOAD( "1.rk", 0x00000, 0x08000, CRC(a4823a1b) SHA1(7b6bf59dfd578bfbbdb64c27988796783442d659) ) @@ -13586,9 +13593,9 @@ void cps_state::init_sf2rk() gfx[i] = bitswap(x, 0, 6 ,5, 4, 3, 2, 1, 7); } - // the 0x400000 - 0x440000 range is covered by the extra GFX layer ROMs, which aren't scrambled + // the 0x400000 - 0x480000 range is covered by the extra GFX layer ROMs, which aren't scrambled - for (int i = 0x440000; i < 0x600000; i++) + for (int i = 0x480000; i < 0x600000; i++) { uint8_t x = gfx[i]; gfx[i] = bitswap(x, 0, 6 ,5, 4, 3, 2, 1, 7); @@ -13933,7 +13940,7 @@ GAME( 1992, sf2ebbl, sf2, cps1_10MHz, sf2hack, cps_state, init_sf2hack GAME( 1992, sf2ebbl2, sf2, cps1_10MHz, sf2hack, cps_state, init_sf2hack, ROT0, "bootleg", "Street Fighter II: The World Warrior (TAB Austria, bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) // 910214 - based on World version GAME( 1992, sf2ebbl3, sf2, cps1_10MHz, sf2hack, cps_state, init_sf2hack, ROT0, "bootleg", "Street Fighter II: The World Warrior (TAB Austria, bootleg, set 4)", MACHINE_SUPPORTS_SAVE ) // 910214 - based on World version GAME( 1992, sf2stt, sf2, cps1_10MHz, sf2hack, cps_state, init_sf2hack, ROT0, "bootleg", "Street Fighter II: The World Warrior (TAB Austria, bootleg, set 2)", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE ) // 910214 - based on World version -GAME( 1992, sf2rk, sf2, cps1_10MHz, sf2hack, cps_state, init_sf2rk, ROT0, "bootleg", "Street Fighter II: The World Warrior (RK, bootleg)", MACHINE_SUPPORTS_SAVE ) // 920214 - based on World version +GAME( 1992, sf2rk, sf2, cps1_10MHz, sf2hack, cps_state, init_sf2rk, ROT0, "bootleg", "Street Fighter II: The World Warrior (RK, bootleg)", MACHINE_SUPPORTS_SAVE ) // 910214 - based on World version, dark screen issue confirmed present on real pcb GAME( 1991, sf2qp1, sf2, cps1_10MHz, sf2, cps_state, init_cps1, ROT0, "bootleg", "Street Fighter II: The World Warrior (Quicken Pt-I, bootleg)", MACHINE_SUPPORTS_SAVE ) // 910214 - based on World version GAME( 1991, sf2qp2, sf2, cps1_10MHz, sf2, cps_state, init_cps1, ROT0, "bootleg", "Street Fighter II: The World Warrior (Quicken, bootleg)", MACHINE_SUPPORTS_SAVE ) // 910522 - based on USA Rev.I? version GAME( 1991, sf2thndr, sf2, cps1_10MHz, sf2, cps_state, init_sf2thndr, ROT0, "bootleg", "Street Fighter II: The World Warrior (Thunder Edition, bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) // 910214 - based on World version