Today test R3 version was positive. Some weird black screen when save states or load states and some dsi screen or black screen when loading or after the bios screen. Again thanks for the amazing job!.
I surely miss something but which CPS1/2 games are too large to fit in RAM?
That could work in MAME too even if the code is quite different and doing it per driver is a tedious task.
Hi there, big thanks to Wiimpathy for doing this.
I am currently going through the sources and I'll try to add them to the libretro core repos so that these will be part of the rolling nightlies. I'd love to be able to work together as well with Wiimpathy in any future endeavors to make the FBA cores better and more usable for Wii.
The version of RetroArch used is a bit old but I assume there weren't any real changes made there? Can't see much so far, even MEM2 manager is left unaltered. So my guess is the entire VM manager is handled on the core side rather than RetroArch side.
In any case, a huge thanks for doing this, and hopefully users will be able to enjoy the fruits of this labor in rolling nightlies once I have successfully backported this to the main repositories.
--------------------- MERGED ---------------------------
As for CPS3, it's only fullspeed on the Wii U. You'd need a SH2 dynarec written for PowerPC and backported to FBAlpha in order to be able to run that at fullspeed.
Speaking of which, one of our colleagues @notaz just made it possible to use the SH2 dynarec used in Picodrive on x86 (both 32bit and x64). So it now has a 32bit ARM backend, and x86 (both 32bit and 64bit). All that is missing is a PowerPC backend.
I should have tagged you
It would be good to finally get 32X on WiiU. I read the convo on Github about porting his PS1 Dynarec shame. but still cool about Picodrive on x86/x64 though
So closer but not close enough? Oh, I saw the news on Twitter about the UWP port to Xbox.. Nice one. Cant wait to try it outWii U can run CPS3 games at fullspeed with an SH2 interpreter, however, CPS3 in FBAlpha uses some idle loop hacks and other speed hacks, so I am not confident it would be able to run 32X at fullspeed in interpreter mode without a dynarec.
BTW, there is another problem with Picodrive - the codebase right now assumes a little-endian CPU architecture. On big-endian right now (Wii, WiiU) it can't start up a game yet. So that would have to be fixed as well before 32X can even be looked into.
I can't speak for him but I asked him through a private message in https://www.gc-forever.com and he said it wasn't a problem to use his code. I only told him about releasing some gxgeo and fba tests builds here, so perhaps you should ask him once again.
All the VM code in handled in the FBA core. The changes in Retroarch, including the uint32_t were made to compile with DevkitPPC 28+. I went back to DevkitPPC 26 and the previous libogc though because the sound was bad. Maybe it's the same issue as this : https://github.com/libretro/fbalpha2012_neogeo/issues/13
If you use the latest Retroarch to compile, there's less Ram available and Kof2003 won't fit. The Vm could be allocated differently but it was convenient to calculate this way : 32M fixed Ram and what's left in VM.
I tried to build a pgm and psikyo cores too. I'll post some tests build and source code later. For pgm, it doesn't seem worthy, only Knights of valour starts and runs rather well. The psikyo runs gunbird 2 (other games not tested) but it would require a cache file and I can't find a way to split the sprite files like what is done for the Neogeo core.
As you said a fullspeed CPS3 is not realistic, a bit of frameskip would help but I'm not sure you like the idea.
FBA PGM & PSIKYO Cores
PGM
Two more games are supported now : Knights of Valour 1 and Oriental Legend. Other games are too slow, they will crash.
PSIKYO
VM is only implemented in the d_psikyosh driver. Games supported : Daraku Tenshi (slow), Gunbird 2, Strikers 1945 III.
Source Code
I don't think I'll ever touch the cps3 code once again. If there are volunteers, I'll be happy to test though. To be honest, the goal was a fully funtional Neogeo core. There's surely room for improvements, mistakes etc. but it seems it's 'mission complete' now.