Merge pull request #27 from frangarcj/master
(VITA) Continue WIP - Fix Block for VM alignment
This commit is contained in:
commit
a1254324c7
21
libretro.c
21
libretro.c
|
@ -12,6 +12,13 @@
|
||||||
#if defined(VITA)
|
#if defined(VITA)
|
||||||
#include <psp2/kernel/sysmem.h>
|
#include <psp2/kernel/sysmem.h>
|
||||||
static int translation_caches_inited = 0;
|
static int translation_caches_inited = 0;
|
||||||
|
static inline int align(int x, int n) {
|
||||||
|
return (((x >> n) + 1) << n );
|
||||||
|
}
|
||||||
|
|
||||||
|
#define FOUR_KB_ALIGN(x) align(x, 12)
|
||||||
|
#define MB_ALIGN(x) align(x, 20)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_3DS)
|
#if defined(_3DS)
|
||||||
|
@ -156,20 +163,26 @@ void retro_init(void)
|
||||||
if(!translation_caches_inited){
|
if(!translation_caches_inited){
|
||||||
void* currentHandle;
|
void* currentHandle;
|
||||||
|
|
||||||
sceBlock = sceKernelAllocMemBlockForVM("code", ROM_TRANSLATION_CACHE_SIZE +
|
sceBlock = sceKernelAllocMemBlockForVM("code", MB_ALIGN(FOUR_KB_ALIGN(ROM_TRANSLATION_CACHE_SIZE +
|
||||||
RAM_TRANSLATION_CACHE_SIZE +
|
RAM_TRANSLATION_CACHE_SIZE +
|
||||||
BIOS_TRANSLATION_CACHE_SIZE);
|
BIOS_TRANSLATION_CACHE_SIZE)));
|
||||||
|
FILE * fd = fopen("ux0:/temp/test.txt","w+");
|
||||||
|
fprintf(fd,"%x\n",sceBlock);
|
||||||
if (sceBlock < 0)
|
if (sceBlock < 0)
|
||||||
{
|
{
|
||||||
return sceBlock;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get base address
|
// get base address
|
||||||
int ret = sceKernelGetMemBlockBase(sceBlock, ¤tHandle);
|
int ret = sceKernelGetMemBlockBase(sceBlock, ¤tHandle);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
return ret;
|
return;
|
||||||
}
|
}
|
||||||
|
fprintf(fd,"%x %x\n",currentHandle,ret);
|
||||||
|
|
||||||
|
fclose(fd);
|
||||||
|
|
||||||
rom_translation_cache = (u8*)currentHandle;
|
rom_translation_cache = (u8*)currentHandle;
|
||||||
ram_translation_cache = rom_translation_cache + ROM_TRANSLATION_CACHE_SIZE;
|
ram_translation_cache = rom_translation_cache + ROM_TRANSLATION_CACHE_SIZE;
|
||||||
bios_translation_cache = ram_translation_cache + RAM_TRANSLATION_CACHE_SIZE;
|
bios_translation_cache = ram_translation_cache + RAM_TRANSLATION_CACHE_SIZE;
|
||||||
|
|
Loading…
Reference in New Issue