Set total memory size according to sdkver

This commit is contained in:
eladash 2018-11-20 23:17:53 +02:00 committed by Ani
parent c0eb4965f2
commit 2ea061b9c7
6 changed files with 38 additions and 14 deletions

View file

@ -12,6 +12,7 @@
#include "Emu/Cell/PPUAnalyser.h"
#include "Emu/Cell/lv2/sys_prx.h"
#include "Emu/Cell/lv2/sys_memory.h"
#include <map>
#include <set>
@ -1497,6 +1498,36 @@ void ppu_load_exec(const ppu_exec_object& elf)
ppu->gpr[1] -= Emu.data.size();
}
// Initialize memory stats (according to sdk version)
// TODO: This is probably wrong with vsh.self
u32 mem_size;
if (sdk_version > 0x0021FFFF)
{
mem_size = 0xD500000;
}
else if (sdk_version > 0x00192FFF)
{
mem_size = 0xD300000;
}
else if (sdk_version > 0x0018FFFF)
{
mem_size = 0xD100000;
}
else if (sdk_version > 0x0017FFFF)
{
mem_size = 0xD000000;
}
else if (sdk_version > 0x00154FFF)
{
mem_size = 0xCC00000;
}
else
{
mem_size = 0xC800000;
}
fxm::make_always<lv2_memory_container>(mem_size);
ppu->cmd_push({ppu_cmd::initialize, 0});
// TODO: adjust for liblv2 loading option