win32: unprotect ram regions individually in blockmanager
fixes abort when starting game in windows
This commit is contained in:
parent
5f6f90b66b
commit
b540b437ee
|
@ -408,7 +408,18 @@ void bm_Reset()
|
|||
protected_blocks = 0;
|
||||
unprotected_blocks = 0;
|
||||
|
||||
mem_region_unlock(virt_ram_base + 0x0C000000, 0x10000000 - 0x0C000000);
|
||||
// Windows cannot lock/unlock a region spanning more than one VirtualAlloc or MapViewOfFile
|
||||
// so we have to unlock each region individually
|
||||
// No need for this mess in 4GB mode since windows doesn't use it
|
||||
#if RAM_SIZE == 16 * 1024 * 1024
|
||||
mem_region_unlock(virt_ram_base + 0x0C000000, RAM_SIZE);
|
||||
mem_region_unlock(virt_ram_base + 0x0D000000, RAM_SIZE);
|
||||
mem_region_unlock(virt_ram_base + 0x0E000000, RAM_SIZE);
|
||||
mem_region_unlock(virt_ram_base + 0x0F000000, RAM_SIZE);
|
||||
#else
|
||||
mem_region_unlock(virt_ram_base + 0x0C000000, RAM_SIZE);
|
||||
mem_region_unlock(virt_ram_base + 0x0E000000, RAM_SIZE);
|
||||
#endif
|
||||
if (_nvmem_4gb_space())
|
||||
{
|
||||
mem_region_unlock(virt_ram_base + 0x8C000000, 0x90000000 - 0x8C000000);
|
||||
|
|
Loading…
Reference in New Issue