Changed generic NVRAM behavior so that all the variants look

for a memory region named "nvram". If it is found and is of
the same length as the generic_nvram_size, data is copied
from there instead of filling the RAM with the fallback
pattern.
This commit is contained in:
Aaron Giles 2009-04-18 22:44:25 +00:00
parent f2229982b1
commit bb029346e8

View File

@ -339,8 +339,10 @@ NVRAM_HANDLER( generic_0fill )
{
if (read_or_write)
mame_fwrite(file, nvram_select(), generic_nvram_size);
else if (file)
else if (file != NULL)
mame_fread(file, nvram_select(), generic_nvram_size);
else if (memory_region_length(machine, "nvram") == generic_nvram_size)
memcpy(generic_nvram, memory_region(machine, "nvram"), generic_nvram_size);
else
memset(nvram_select(), 0, generic_nvram_size);
}
@ -355,8 +357,10 @@ NVRAM_HANDLER( generic_1fill )
{
if (read_or_write)
mame_fwrite(file, nvram_select(), generic_nvram_size);
else if (file)
else if (file != NULL)
mame_fread(file, nvram_select(), generic_nvram_size);
else if (memory_region_length(machine, "nvram") == generic_nvram_size)
memcpy(generic_nvram, memory_region(machine, "nvram"), generic_nvram_size);
else
memset(nvram_select(), 0xff, generic_nvram_size);
}
@ -373,8 +377,10 @@ NVRAM_HANDLER( generic_randfill )
if (read_or_write)
mame_fwrite(file, nvram_select(), generic_nvram_size);
else if (file)
else if (file != NULL)
mame_fread(file, nvram_select(), generic_nvram_size);
else if (memory_region_length(machine, "nvram") == generic_nvram_size)
memcpy(generic_nvram, memory_region(machine, "nvram"), generic_nvram_size);
else
{
UINT8 *nvram = (UINT8 *)nvram_select();