Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@Folly I should have been more clear, in the "games" standalone mame is always fast enough, but for Videoart and some other systems I've tested when I am in the in-mame menu it crawls, and has trouble even registering button presses. Not sure why. But the games are working, awful as they are :). I don't know if you would want it for the script but I did create a gamelist with images and descriptions... obviously there is nowhere to scrape it but I found the original manuals for each games and used the cover for an image and the little blurb on the back for a description.
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@Folly I should have been more clear, in the "games" standalone mame is always fast enough, but for Videoart and some other systems I've tested when I am in the in-mame menu it crawls, and has trouble even registering button presses. Not sure why.
I have seen that issue before.
On my 64 bit (aarch64) Manjaro Arch linux build I have the same issue using the binary of stickfreaks or mine build on my Apple M1.
When I installed it from source on the pi4 the issue was gone.
(at least if I remember correctly)
Btw :
Did you start with a fresh image for your pi4 ?
If you used your pi3 image check your config.txt if it uses the correct video driver like this :# Enable DRM VC4 V3D driver dtoverlay=vc4-kms-v3d max_framebuffers=2
How much memory does your pi4 have ?
I would try to increase the gpu memory a bit in the config.txt when having a pi4 with less memory.
Because if you have a pi4 with 1 or 2Gb by default the gpu memory will also be lower than having a 4Gb or a 8Gb.
If this doesn't work then it could be that your pi4 just doesn't have enough memory.
But that is guessing.But the games are working, awful as they are :).
Aha, good.
I don't know if you would want it for the script but I did create a gamelist with images and descriptions... obviously there is nowhere to scrape it but I found the original manuals for each games and used the cover for an image and the little blurb on the back for a description.
Sure, why not, add it to your gdrive and use the relative paths and the /media/emualtionstation folder just like the others.
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
When I installed it from source on the pi4 the issue was gone.
(at least if I remember correctly)
Btw :
Did you start with a fresh image for your pi4 ?
If you used your pi3 image check your config.txt if it uses the correct video driver like this :I did start with the blank retropie image for pi4, never owned a pi 3.
How much memory does your pi4 have ?
I would try to increase the gpu memory a bit in the config.txt when having a pi4 with less memory.
Because if you have a pi4 with 1 or 2Gb by default the gpu memory will also be lower than having a 4Gb or a 8Gb.4GB, so that probably isn't it. But maybe I will try installing from source if that helped you once, couldn't hurt to try. Thanks!
Sure, why not, add it to your gdrive and use the relative paths and the /media/emulationstation folder just like the others.
I again had done it my other way (with the images going where they scrape in retropie) but I think I fixed it properly, it should be there now with gamelist and art nested the way your script needs. Let me know if you see anything wrong, but otherwise feel free to use it however you'd like. FYI only there is no good similar picture for "activity cartridge" because it didn't come with a manual... it was basically a demo with "pages" from all the other 8 games.
-
And one other minor thing @Folly, by any chance did you ever figure out if there is a way to load a specific controller (or "unload" it) via the runcommand? It didn't end up that there were many msx games that needed it on the zemmix, but there are some on the Atari XEGS that you can't play without changing the controller to paddles. I can note in the gamelist entries that they require paddle controllers but obviously it would be nicer if it could be automated so you don't have to change it every time you play.
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
4GB, so that probably isn't it. But maybe I will try installing from source if that helped you once, couldn't hurt to try. Thanks!
Indeed, that is probably not the issue.
If you want to try to install from source then I would recommend to, at least, double the swap inside the mame.sh module-script otherwise it will probably fail.
Be warned it will take 5 hours or so. -
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
And one other minor thing @Folly, by any chance did you ever figure out if there is a way to load a specific controller (or "unload" it) via the runcommand? It didn't end up that there were many msx games that needed it on the zemmix, but there are some on the Atari XEGS that you can't play without changing the controller to paddles. I can note in the gamelist entries that they require paddle controllers but obviously it would be nicer if it could be automated so you don't have to change it every time you play.
Unloading was possible but only using quotes.
However using them in runcommands for lr-mame and lr-mess breaks down the runcommand as that uses quotes too for the options applied.
So this means the runcommand gets cut in half and will not work anymore.
So no solution yet.
Perhaps patching the config file would be an option.Creating an extra install to create a runcommand with paddles would be possible.
Then adding the games into the /opt/retropie/configs/all/emulators.cfg would be possible to load a few games with a different runcommand.
Read here how you can add stuff to the emulators.cfg.Btw:
Thanks for making the gamelist for videoart, I will have a look.-> Edit : Looks good ;-)
-
Now that we have a gamelist we also need a theme, right !
Added a PR for this one :
-
@Folly
OMG, it will not be my favorite system to play 🤣 Pull request merged !! -
Indeed, but I had some fun making it.
Good exercise ;-) -
Btw. I am thinking of removing the forum.ini data from the database and from the script as it is of no extra value anymore, I think.
At least I don't use it.
What do you think ? -
I just tested 261 lr-mess on my aarch64 VM and indeed videtart is not working too.
So I am compiling a full lr-mame/lr-mess containing all drivers (arcade and non-arcade) to see if that works.
If it works I would you like you to ask and do that too for RPI4 and share that binary if you can.Btw :
It's not just about videoart but there are probably many others that are not in the list.Edit :
I added aarch64 lr-mame / lr-mess full_mame versions to the binary lists, which work now for videoart.
Btw. compiling it with a module-script needs adjustments of the module-script and renaming etc. But the .so file can be used for both lr-mame and lr-mess. -
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Btw. I am thinking of removing the forum.ini data from the database and from the script as it is of no extra value anymore, I think.
At least I don't use it.
What do you think ?Yes sure
-
Ok will probably will do in next version.
-
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
I just tested 261 lr-mess on my aarch64 VM and indeed videtart is not working too.
So I am compiling a full lr-mame/lr-mess containing all drivers (arcade and non-arcade) to see if that works.
If it works I would you like you to ask and do that too for RPI4 and share that binary if you can.Btw :
It's not just about videoart but there are probably many others that are not in the list.Edit :
I added aarch64 lr-mame / lr-mess full_mame versions to the binary lists, which work now for videoart.
Btw. compiling it with a module-script needs adjustments of the module-script and renaming etc. But the .so file can be used for both lr-mame and lr-mess.I don't have any idea how to do any of what you describe here (I am not even sure what some of those things mean), but I am happy to help however I can testing on the pi 4 :).
-
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Creating an extra install to create a runcommand with paddles would be possible.
Then adding the games into the /opt/retropie/configs/all/emulators.cfg would be possible to load a few games with a different runcommand.
Read here how you can add stuff to the emulators.cfg.Can you remind me, isn't there one system you have already where the runcommand options include one that uses a particular controller? I think I remember seeing it in something you made when we were trying to get it to turn off one controller in zemmix. I definitely know how to add extra options in the emulator.cfg and assign it to games (you can just do it in the runcommand menu rather than add it into /configs/all/emulators.cfg), but I don't remember what the edit to the command line looks like to get it to use a particular controller.
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
@Folly said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
Creating an extra install to create a runcommand with paddles would be possible.
Then adding the games into the /opt/retropie/configs/all/emulators.cfg would be possible to load a few games with a different runcommand.
Read here how you can add stuff to the emulators.cfg.Can you remind me, isn't there one system you have already where the runcommand options include one that uses a particular controller? I think I remember seeing it in something you made when we were trying to get it to turn off one controller in zemmix. I definitely know how to add extra options in the emulator.cfg and assign it to games (you can just do it in the runcommand menu rather than add it into /configs/all/emulators.cfg), but I don't remember what the edit to the command line looks like to get it to use a particular controller.
I have done that in the script with c64gs adding "-joy2 joybstr" to the default install.
Can't do that with zemmix or xegs because then it will create all default runcommands with paddles.
I can however add an extra line in the systems with extras installs but it will only produce media runcommands not basename.
Sadly, That is the limit of my script right now.If you want to do it manually then you have to know the slot-options for the particular system, you can use this command (using a zemmix system here) :
/opt/retropie/emulators/mame/mame -listslots cpg120
You will see that you can add (-gen1 and/or -gen2):
gen1 hypershot (Konami Hyper Shot (JE 502/JE 503, MSX)) joystick (MSX Digital Joystick) libbler (Micomsoft Libble Rabble Joypad (XPD-1LR)) martypad (FM Towns Marty Pad) mouse (MSX Mouse) sega (X68000 Sega Controller Adapter) towns6b (FM Towns 6-button Pad) townspad (FM Towns 2-button Pad) vaus (MSX Arkanoid Vaus) xe1ap (Dempa Micom Soft Analog Controller (XE-1AP, PC))
However can't find any paddles you have to pick one that suits and add it manually to newly created runcommands.
You need the old runcommands too, you know, because that will run with the default joystick.Adding (MSX Arkanoid Vaus) to the runcommand would be like adding this :
-gen1 vaus
Hopefully it's not being saved when entering the mame gui, otherwise the main runcommands will load with that joystick too, as you know what I mean.
-
@Folly thank you very much for the very clear explanation, I think I can figure out how to make it automatically load with paddles in the XEGS now too.
BTW the XEGS went faster than I thought, I should be done by tonight or tomorrow at the latest. I'll convert to your nested folders and share when I am done.
Edit: -ctrl1 pad worked perfectly to get XEGS to load with paddles in the first controller slot. I just added it as a new emulator ending in -paddles. I couldn't actually get the command you gave me to use to list them in the linux commandline to work, but I just looked at the options listed in the "slot devices" in the mame menu and it shows all the abbreviations there. Thanks again!
-
@bbilford83 said in Development of module-script generator for lr-mess, lr-mame and mame standalone:
but I just looked at the options listed in the "slot devices" in the mame menu and it shows all the abbreviations there.
Indeed you can find it there too but it's not always obvious how to implement that info into the commandline.
-
OK @Folly and @DTEAM, I uploaded my gamelist for Atari XEGS in the same place as the rest, 252 games included. I believe I set up the folders and images correctly again, replaced the filepaths in the gamelist.
Like with Zemmix, this is all games that are in the mame software list that work appropriately on the stock XEGS - i.e. that don't need a keyboard (making them a lot easier to emulate). There are a couple games that partially work - like there are modes or features that don't fully work but the game is still playable without them - and for those I note that in the gamelist. Best example: one educational game would let you add your own words to test your kid's spelling, so you can't do that without the keyboard, but you can still play the game as normal without that. I don't have videos again, but there are a lot of games here that aren't scrapable anywhere and I had to dig up info off atari hobbyist websites.
Note that I even tried to get the lightgun games working with my Sinden because you can emulate the "light pen" in mame (it is a slot device), but that didn't work. The XEGS lightgun isn't implemented in mame so as of now I don't think it's possible.
Feel free to integrate or not in whatever way you see fit. I will move onto C64GS next. When I'm done I'll return to all three to add games that aren't in the mame software list... I think from what I've seen that may be hundreds and hundreds more. But I won't add those to the ones I uploaded - or if you want I can upload them as a separate file. I just want the games on my system :).
-
@Folly I am wondering if you could help me brainstorm a bit on C64GS whenever you have a chance. I installed it, and I have the c64gs.zip bios where it should be, and I can launch games. The first few I tested, however, all took me to this screen:
Then, weirdly, one game loaded as it should - ablitz.zip which is Astroblitz Deluxe. That loads to the title screen and looks great, but I can't do anything in-game, which I suspect is correct - probably it is one of the majority of C64 cartridge games that needs a keyboard, so none of my joystick buttons are doing anything. So I decided I should test a few games that I know (from here) were definitely meant to be compatible with the C64GS, and they don't work at all - straight to the blue screen above.
All of this was in lr-mess-c64-cart but I also tried standalone mame with same results except worse sound (it makes an awful grating background noise). And it also loads Astroblitz. I tried in lr-mess-c64-quik - I don't know what that is/means - but it gave me the same blue screen above with the added message "Error loading 'batman - the movie (1998)(ocean).80': %4$s." And it doesn't load Astroblitz at all.
Any idea what I might be doing wrong? I assume it isn't a bios problem since it is getting into the actual c64 machine, but I have no idea why it would load at least one game if it isn't loading the other ones I know should work.
Edit: I tested a few more and a few more loaded: Arnie Armchair's Cricket Game (needs keyboard), Adventure Creator (seems to partially work with joystick), Aegean Voyage (needs keyboard) Alf in the Color Caves (fully playable with joystick). I noticed for the Alf in the Color Caves I did have to tell it to have player 1 plugged in with with joybster... not sure why but it defaults to only having it in joy2.
Edit 2: I went back with joy1 plugged in and and Astroblitz does work (though without sound?), I think that Cricket game too. But I am still stumped as to why games that were meant specifically for C64GS aren't working - Batman and Battle Command both I tested and don't load.
Edit 3: Sorry for all the text! It seems joy2 only as default maybe makes more sense, there are a lot of games as I keep testing that work with joy2 only on but not with both on. I think now in retrospect I remember you saying something about this. But there are definitely some games that need 1 on, so I am setting up two other runncommand lines in emulator.cfg so I can test easily and save. I still am only getting about half the games to load at all, so I think something must be wrong, but for now I am not deleting ones that don't load, just ones that load and clearly require a keyboard to play.
Edit 4 (last one, I promise): I just tested a non-mame version of Batman (the NoIntro one) and it worked! I would never have thought the mame romset was the problem but I guess they have a bad dump? I'll progress testing games that won't load with ones from that set and hope that helps, though I will still limit it to only games that are in the mame software list. If you would rather I not take this approach let me know, but otherwise it doesn't seem like the gamelist will have many games from the mame set that should be playable.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.