Previous 15994 Revisions Next

r9841 Wednesday 29th December, 2010 at 21:03:33 UTC by Tim Schuerewegen
[GBA] Fix for "Backyard Hockey" white screen bug.
[src/mess/drivers]gba.c

src/mess/drivers/gba.c
r9840r9841
23012301   UINT8 *ROM = memory_region(image.device().machine, "cartridge");
23022302   int i;
23032303   UINT32 cart_size;
2304   UINT8 game_code[4] = { 0 };
23042305   gba_state *state = image.device().machine->driver_data<gba_state>();
23052306
23062307   state->nvsize = 0;
r9840r9841
23182319      memcpy(ROM, image.get_software_region("rom"), cart_size);
23192320   }
23202321
2322   if (cart_size >= 0xAC + 4)
2323   {
2324      memcpy(game_code, ROM + 0xAC, 4);
2325   }
2326
23212327   for (i = 0; i < cart_size; i++)
23222328   {
23232329      if (!memcmp(&ROM[i], "EEPROM_", 7))
r9840r9841
23572363         memory_install_write32_handler(cpu_get_address_space(image.device().machine->device("maincpu"), ADDRESS_SPACE_PROGRAM), 0xe000000, 0xe01ffff, 0, 0, flash_w);
23582364         break;
23592365      }
2360      else if (!memcmp(&ROM[i], "FLASH", 5))
2366      else if ((!memcmp(&ROM[i], "FLASH", 5)) && (memcmp(game_code, "BYHE", 4))) // "Backyard Hockey" false positive
23612367      {
23622368         state->nvptr = NULL;
23632369         state->nvsize = 0;

Previous 15994 Revisions Next


© 1998-2018 The MESS Team