RetroArch CE (Unofficial - Community Edition)

PS3 RetroArch CE (Unofficial - Community Edition) Beta 4

I don't know why, but I can't play any retro systems on the wrong console, so my snes classic, for example, only has snes games on it going through retroarch (all games). I met someone on temp, now that you posted that link, who was the same way. it's kinda weird I suppose.
 
PS2 have dynarec... PSVita have dynarec, PS3 no. This make me :sr4paul :

Did you check this https://github.com/IngPereira/DynarecPS3 ? It needs to be updated for 4.75-4.87

If I recall correctly, multiMAN 04.75.00 or older (not the latest) had a Dynarec option in the settings. I never used it, but I remember that the option was there.

EDIT: @zecoxao already ported IngPereira's dynarec for 4.86 (should work on 4.75-4.87 except 4.80)
https://twitter.com/notzecoxao/status/1261042976253411336
Code:
// DEFINES FOR 4.86 CFW
#define SYSCALL_BASE                0x8000000000363BE0ULL
#define FS_SYSCALL_RMDIR            813 // Just used to check FW ver
#define RMDIR_SYSCALL_ADDR          0x80000000002A1480ULL   // where above syscall is in lv2
#define patch_htab1                 0x04064ULL
#define patch_htab2                 0x5D5F0ULL
#define patch_htab3                 0x5E028ULL
#define patch_htab3                 0x5E4F0ULL
#define HV_HASH_OFFSET              0x370F28
// CEX address.
#define HTAB_BASE                   0x800000000f000000ULL
#define HTAB_LV2_START              0x01000000ULL // LV2 START OFFSET on RAM
#define HTAB_LV2_END                0x01800000ULL // LV2 END
#define HVSC_SYSCALL_ADDR    0x80000000002A0F58 // 4.21 -- replaces sys_fs_mkdir, later we remove it.
 
Last edited:
Did you check this https://github.com/IngPereira/DynarecPS3 ? It needs to be updated for 4.75-4.87

If I recall correctly, multiMAN 04.75.00 or older (not the latest) had a Dynarec option in the settings. I never used it, but I remember that the option was there.

EDIT: @zecoxao already ported IngPereira's dynarec for 4.86 (should work on 4.75-4.87 except 4.80)
https://twitter.com/notzecoxao/status/1261042976253411336
Code:
// DEFINES FOR 4.86 CFW
#define SYSCALL_BASE                0x8000000000363BE0ULL
#define FS_SYSCALL_RMDIR            813 // Just used to check FW ver
#define RMDIR_SYSCALL_ADDR          0x80000000002A1480ULL   // where above syscall is in lv2
#define patch_htab1                 0x04064ULL
#define patch_htab2                 0x5D5F0ULL
#define patch_htab3                 0x5E028ULL
#define patch_htab3                 0x5E4F0ULL
#define HV_HASH_OFFSET              0x370F28
// CEX address.
#define HTAB_BASE                   0x800000000f000000ULL
#define HTAB_LV2_START              0x01000000ULL // LV2 START OFFSET on RAM
#define HTAB_LV2_END                0x01800000ULL // LV2 END
#define HVSC_SYSCALL_ADDR    0x80000000002A0F58 // 4.21 -- replaces sys_fs_mkdir, later we remove it.

Yea it was removed from multiMAN not sure which version it was added and then removed but it was on there for a bit. I think there was a pkg or something from IngPer. originally that could toggle it as well but can't recall.

There was the PS1 emulator Ing ported, that was the only emulator that utilized it that i know of
 
Yea it was removed from multiMAN not sure which version it was added and then removed but it was on there for a bit. I think there was a pkg or something from IngPer. originally that could toggle it as well but can't recall.

There was the PS1 emulator Ing ported, that was the only emulator that utilized it that i know of

According to the log in brewology the dynarec was removed in version 04.75.55 (8/30/2015).
So the latest version of multiMAN that still have the function is v04.75.00. It is available in multiMAN mode (not mmCM).

The standalone package used to toggle dynarec was "DynarecPS3.pkg" but it is too old and it needs to be recompiled with the 4.86 offsets ported by zecoxao
 
Ok..... to make the concetp clearer, we should talk about Dynarec Ready systems and Dynarec Methodology to write Dynarec code.
A clear example of Dynarec Ready system is, for example, PSVita. It's Dynarec Ready because it has API/functions to put(write) byte code into memory, on the fly, and how execute it. Look at here: https://gist.github.com/yifanlu/43a35324f3b76391cd15c6b96ae8b831
Code:
sceKernelAllocMemBlockForVM
sceKernelGetMemBlockBase
sceKernelOpenVMDomain
sceKernelCloseVMDomain
sceKernelSyncVMDomain
sceKernelFreeMemBlock
are the kernel functions that make PSVita a Dynarec Ready system.
Code:
// write thumb code: MOVS R0, #5, BX LR
  *(uint32_t *)base = 0x47702005;
.
.
.
// call function
  func = (char*)base + 1;
  ret = func(); // should return 5
is the (simply) Dynarec Methodology and Dynarec code.

With PS3M_API and last changes on Cobra, Mamba and so on.. we could consider PS3 a Dynarec ready system. Maybe the Methodology is still complex, but there is. A Methodology is not a flag ON/OFF.... so we need to apply it and make Dynarec code.
 
Downloaded beta 3 from link in 1st post and it is working, no blank screen anymore, not sure why it didn't work first time.

Also P-UAE working great, only thing is when using a1200 rom all games have a weird green colour.

A600 working perfectly full speed (tested approx 10 games), except only 1 game Shadow of Beast 3 which is slow.

All my games are in .lha format, not tested adf files. Save state is working on this core but better to close each game before loading next otherwise will crash eventually.

Also managed to make a playlist using manual scan then selecting the core to use and rom location.

Thanks for this awesome emulator, Crystal.
 
Will do thanks

Update- yes that worked and updated 7 cores incl. P-uae and A1200 kickstart rom no longer has the glitchy green color screen anymore.

Thanks again Crystal.
 
Last edited:
Curiosity: are these versions being tested on a ps3 console or rpcs3?
Because in rpcs3 emulation is faster than ps3 (i´ve tested) and dont have "out of memory" bugs...
 
Back
Top