Script to Compile the latest github for retroarch+cores for iOS

@jet082 @harakari2 Hi!

Do you guys know if iOS 64-bit parallel_n64 is debuggable ? If it is, and you tried, what are your findings ?

Also, @jet082 did you make any progress on the reicast core ?

Thanks

Apologies for the radio silence. Over the last week or two Iā€™ve been waiting for a replacement charger for my laptop to arrive. I do not own another computer, so without that Iā€™ve not really been able to build anything.

The charger arrived hours ago, so I hope to get back to things gradually.

1 Like

I have removed instructions on how to compile the following cores as they are no longer necessary (since they now compile without intervention).

bsnes_hd
daphne
mesen
mame2003
mame2010
Neko Project 2

I have also updated my script. I noticed that it was not consistently rebuilding easyrpg. It turned out, easyrpg keeps a lot of junk files around after building and these cause subsequent builds to fail. Also, my current methods of cleaning the ā€œlocal changesā€ were insufficient to clean these up. As a result, I have improved the cleaning methods.

Additionally, there is also now the option eraseBeforeFetching. You probably should not use this, but if you want to, you can. Basically this deletes a directory before refreshing it - forcing it to its most current state without worrying about flushing local changes, etc. It is a failsafe that, hopefully, does not need to be used with my updated cleaning methods (since this failsafe uses a lot more time and bandwidth).

I am going to go through each core I cannot compile and then try to get them to work.

I have just got 3dengine to compile. Not that anyone will use it, mind you, but there it is.

edit: Also added instructions for bsnes2014, bnes, and test compiling.

The following cores are not compilable currently on iOS. All other cores can be compiled (either using the script or using my instructions above).

I believe that frodo, vemulator, emux, ppsspp, and mame2016 are likely fixable with minimal effort. Probably openlara as well. Tic80 seems doable with some effort, but nothing remarkable.

blastem
citra
citra_canary
desmume2015
dolphin
dosbox_svn
emux
flycast
ishiiruka
kronos
libneocd
mame2016
mupen64plus_next
mupen64plus_next_gles3
openlara
ppsspp
remotejoy
thepowdertoy
tic80
vemulator
yabasanshiro
2 Likes

Frodo instructions posted, which gives us a dedicated C64 core. Man, compiling that was annoying.

edit: I also posted a fix to my script, which is fairly important.

1 Like

thanks for your work here @jet082 - just a warning that having looked a bit myself, a fair few cores will require a fake SDL (dosbox svn, tic80, thepowdertoyā€¦). There could be some boiler plate code to help here and hopefully there is something reusable across the cores. Maybe Rob Loach (who did the tic80 core port) could help if you need to reach out on twitter?

btw I actually find 3dengine super useful to run ShaderToy shaders through, so would be keen to test on a A10 or A13 chip

Yeah, I am unsure what to do with the SDL stuff to be entirely honest. However, other people MUST have done SDL for iOS stuff, so it might be easy enoughā€¦

I have tested 3dengine just now (it accepts Wavefront mtl and obj files) and it does indeed work. I am glad you will be able to get some use out of it.

Some cores compile, but crash, currently. They are

craft
flycast
Frodo
parallel_n64
play
stonesoup

Craftā€™s issues apparently cross over into android as well https://github.com/libretro/Craft/issues/13

Frodo Iā€™m not surprised by. The code is in such a state that I donā€™t know if it ever compiled for any system. I am also not sure it works for any other platform. I would appreciate this information, however.

I was really surprised by Stonesoup crashing. Normally, crashing only happens if I have to extensively modify something. Then I start trying a bunch of other stuff until it finally starts working. Stonesoupā€™s modifications were extremely minor though, so Iā€™m genuinely surprised. Tonight Iā€™ll go through and see if I can poke at it and get it to work.

parallel_n64 is the one everyone is probably the most excited about. I was able to get a little progress here. If you load up an n64 game, retroarch will freeze. However, if you minimize the app and bring it back up, you will be able to access the retroarch menu, where you can change various options. If you select the angrylion graphics plugin, it will no longer freeze. However, it still wonā€™t load any games.

play is the one I want to get to work the most, since the app version does not work for me. Iā€™m unsure what is going wrong though.

1 Like

the puae core is not working btw

So, with the help of a debugger and a friend, I got uzem to work. It was a universal problem across all hosts - not just iOS. However, games play now. Please see the first post. You will need to recompile this core with my new instructions, @Weedy_Weed_Smoker.

PUAE is working fine. Just make sure you have all the various BIOS files in system. Images below are from my iPad Pro running a random Amiga game via PUAE (I know nothing of Amiga stuff, so I just picked a game at random) and then an uzebox game I got from the Retroarch Content Downloader via uzem.

1 Like

I got flycast compiled. Iā€™m 99% sure it wonā€™t work thoughā€¦ Iā€™ll refrain on steps for now until I can test it.

1 Like

Okay, flycast instructions are up. It compiles fine. But when I try a dreamcast game, it loads for a sec and crashes for me. I think itā€™s quite close to working, but Iā€™d like more eyes on it. Perhaps @harakari2

1 Like

I managed to get openlara to compile. Instructions posted.

1 Like

WOOO! After some debugging shenanigans, I got stonesoup to run successfully :D. I believe I can use what I learned here to debug other cores as well.

Touch controls work great too :open_mouth:

This means that, currently, the stonesoup core only exists for iOS LOL.

I updated the instructions in the intro post. You will need to recompile with the new instructions, @Weedy_Weed_Smoker.

1 Like

I debugged the vice cores and found their issue. I submitted a bug report and it was almost immediately fixed. So @Weedy_Weed_Smoker you basically just need to compile the various vice cores again from the source.

1 Like

I also found a way to get mednafen_snes (beetle bsnes) to work. The previous core compiled, but did not run. Instructions posted.

1 Like

does sameboy work for you iā€™m using harakari retroarch ipa and only the game audio is working

Works great for me. Sound, video, and all. I canā€™t attest to what harakari did while compiling - perhaps they forgot to install rgbds or something.

You can hopefully tell from the menu transparency that I am running a game successfully using the sameboy core (check your version compared to mine).

version is sameboy 0.9

idk what to tell you. Mine is compiled from the github. Try building sameboy yourself using my instructions. Itā€™s pretty easy.

I am currently building mine via a VMWare instance on a Windows machine. If you have a Mac, itā€™ll be much easier.