Vegz78 / McAirpos

MakeCode Arcade games in RetroPie, Recalbox 7/8 and Batocera, running natively as ELF executables on Raspberry Pi OS/Linux ARM with 1-2 gamepads
https://Vegz78.github.io/McAirpos
MIT License
80 stars 10 forks source link

[RetroPie] Pi 4: Not seeing it in EmulationStation(Solved using manual installation steps) #55

Closed teach42 closed 5 months ago

teach42 commented 5 months ago

My students have been coding games all quarter and I thought it'd be fun to load them up on an arcade machine. I have one built that hadn't been used in many years, so I loaded RetroPie onto a Pi 4 and got it going with a few roms. Then I did the automatic installation of McAirpos and it seemed to go through. I downloaded elf versions of a couple games, put them in the RetroPie/roms/makecode folder but MakeCode never showed up in EmulationStation. I verified that permissions on the directory and files were correct, and still nothing.

Any ideas why MakeCode or those games aren't showing up as an option in Emulation Station?

I feel like I'm missing something dumb here. Would love any help!

Vegz78 commented 5 months ago

Hi @teach42,

Sorry to you and others with issues, but I am lagging a little behind following up McAirpos due mostly to limited time from other things I am involved in at the moment, but also that McAirpos has grown a little bit heavy to handle with all the different versions and small changes on updates of RetroPie, Recalbox and Batocera, making it hard both to follow suit and test all different versions.

I will try to respond to all issues here some day eventually/hopefully...

Anyhow, to your issue at hand, the most frequent reasons for MakeCode games not appearing in EmulationStation are, if I remember correctly:

  1. Some step failed during the automatic installation, please follow/check all the manual steps for installing in RetropPie, here: https://github.com/Vegz78/McAirpos?tab=readme-ov-file#manual-installation-for-retropierpi-os or better yet, all the steps here: https://github.com/Vegz78/McAirpos/blob/master/install.sh
  2. Check especially the file /etc/emulationstation/es_systems.cfg, that the entry for McAirpos is correct with all folder paths etc. and the path to the launCharc executable script(/usr/bin/launCharc) with executable permissions as well.
  3. Are there actual .elf game files in the folder /home/pi/RetroPie/roms/makecode and is the folder located at this exact same path corresponding to the path in the above es_systems.cfg* file, and does the folder have permissions 755(rwx-rx-rx)? The user also must have wirte permissions here to be able to run a MCA game.
  4. Have you tried to successfully run a MCA game manually, like described here?: _/usr/bin/launCharc ~/RetroPie/roms/makecode/gamefile.elf, and is it this same path inside _essystems.cfg?

Br, Vegard

teach42 commented 5 months ago

So in between my post and your response, I have actually gotten it working! Going to try to document what failed and what worked in hopes that it'll help....

I tried getting it to work with all three flavors (RetroPie, Recalbox and Batocera) and couldn't get any of them working. My process was the same for each of them, flashing with Raspberry Pi Imager on MacOS, installing McAirpos via the automatic script, downloading the .elf files on my Mac and then copying them to a thumb drive, and copying them over.

Each time, on all systems, I was getting PID type errors, or BIOS not found, that kind of stuff. I did try to change the permissions on the folders and files, and at some point discovered that they weren't actually changing. I never got an error, but I went so far as to try to set the folder and files to 777, and the command seemed to go through, but nothing changed. I was thinking that it may have been an issue with the SD card being formatted as fat32 or exfat etc and was going down a rabbit hole there, mainly because I'm a pretty simple caveman.

Around that time I remembered that another teacher had just built an arcade machine for their classroom using a PI and I asked him if he could try to set up Makecode Arcade on it to see if it was just me somehow. He not only got it set up, he had a game playing in about 15 minutes. I sent him over some games coded by my students, and they all played fine. So I had him share the exact steps he did, and I was able to get it working!

Here are the steps we did... I flashed the Pi using RPi Imager with RetroPie. After inputting basic settings, I cloned the McAirpos repo, went into the directory and ran the installation script. Then I connected to the Pi via MacOS finder as Guest and went to the roms directory. I copied over the .elf files for a few games and..... BOOM. They worked!

So what was different? I didn't do the installation via curl, nor did I do steps 2-6 of the manual installation. I didn't copy the files over via USB thumbdrive, instead I did it through MacOS finder.... and that's literally all I can think of.

I hope that's helpful. I truly don't 'get it', and happy to dig into it more if you want to do some compare and contrast (I have the other installs on different SD cards). But right now, it's all working so I'm a happy teacher. My kids were freaking out when they got to play their games using a real joystick and buttons :) Thank you for all your work on this project!

Vegz78 commented 5 months ago

Glad it worked for you eventually, @teach42!!!

Hmmm, I don't immediately get why it worked this time and not on your earlier attempts; since you ran the installation script from the McAirpos repo, which literally is the same script which is run via curl...

I usually once a year test out different installations, and it is on my todo list. Since it works for you now, I think we will close this issue and be happy with that. And see if other similar cases are opened as issues.

Maybe I could contact you if I am stuck myself in the future?... ;-)

Thank you very much for your writeup telling everyone what you did to get it to work!

Br, Vegard