libsnes: savestate uncompressed size 14MB=>10MB (for a game with nothing special)

This commit is contained in:
nattthebear 2017-06-11 15:30:54 -04:00
parent 22a076451b
commit edbe83bc13
6 changed files with 10 additions and 21 deletions

View File

@ -59,7 +59,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
Filename = "libsnes.wbx",
Path = dllPath,
SbrkHeapSizeKB = 4 * 1024,
InvisibleHeapSizeKB = 2048,
InvisibleHeapSizeKB = 8 * 1024,
MmapHeapSizeKB = 32 * 1024, // TODO: see if we can safely make libco stacks smaller
PlainHeapSizeKB = 2 * 1024, // TODO: wasn't there more in here?
SealedHeapSizeKB = 128 * 1024

Binary file not shown.

View File

@ -419,7 +419,7 @@ void PPU::initialize()
oam = (uint8*)interface()->allocSharedMemory("OAM",544);
cgram = (uint8*)interface()->allocSharedMemory("CGRAM",512);
surface = new uint32[512 * 512];
surface = (uint32_t*)alloc_invisible(512 * 512 * sizeof(uint32_t));
output = surface + 16 * 512;
alloc_tiledata_cache();
@ -447,11 +447,7 @@ void PPU::initialize()
}
PPU::~PPU() {
delete[] surface;
free_tiledata_cache();
interface()->freeSharedMemory(vram);
interface()->freeSharedMemory(oam);
interface()->freeSharedMemory(cgram);
abort();
}
}

View File

@ -138,7 +138,7 @@ vram(nullptr),
oam(nullptr),
cgram(nullptr)
{
surface = new uint32[512 * 512];
surface = (uint32_t*)alloc_invisible(512 * 512 * sizeof(uint32_t));
output = surface + 16 * 512;
display.width = 256;
display.height = 224;
@ -147,10 +147,7 @@ cgram(nullptr)
}
PPU::~PPU() {
delete[] surface;
interface()->freeSharedMemory(vram);
interface()->freeSharedMemory(oam);
interface()->freeSharedMemory(cgram);
abort();
}
void PPU::initialize()

View File

@ -151,7 +151,7 @@ void PPU::initialize()
vram = (uint8*)interface()->allocSharedMemory("VRAM",128 * 1024);
oam = (uint8*)interface()->allocSharedMemory("OAM",544);
cgram = (uint8*)interface()->allocSharedMemory("CGRAM",512);
surface = new uint32[512 * 512];
surface = (uint32_t*)alloc_invisible(512 * 512 * sizeof(uint32_t));
output = surface + 16 * 512;
}
@ -167,10 +167,7 @@ screen(*this) {
}
PPU::~PPU() {
delete[] surface;
interface()->freeSharedMemory(vram);
interface()->freeSharedMemory(oam);
interface()->freeSharedMemory(cgram);
abort();
}
}

View File

@ -130,14 +130,13 @@ struct Interface : public SNES::Interface {
ptrace(0),
cart(nullptr, 0)
{
buffer = new uint32_t[512 * 480];
palette = new uint32_t[16 * 32768];
buffer = (uint32_t*)alloc_invisible(512 * 480 * sizeof(uint32_t));
palette = (uint32_t*)alloc_invisible(16 * 32768 * sizeof(uint32_t));
memset(&cdlInfo,0,sizeof(cdlInfo));
}
~Interface() {
delete[] buffer;
delete[] palette;
abort();
}
};