Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@jamrom2 said in Development of module-script generator for lr-mess and mame standalone:
This little list might need to be added to docs at some point. I know a lot of these Emus are very finicky as to what they need for BIOS files and how they need to be named.
Basically, when you download the correct mame bios files the are already named that way.
And... the runcommand.log will give you the "names" of the zip files it's looking for.
You can also use the command mame to list which bios files it needs with, for example :pi@raspberrypi:~/RetroPie/BIOS/mame $ /opt/retropie/emulators/mame/mame -listroms dragon32 ROMs required for driver "dragon32". Name Size Checksum d32.rom 16384 CRC(e3879310) SHA1(f2dab125673e653995a83bf6b793e3390ec7f65a) ddos10.rom 8192 CRC(b44536f6) SHA1(a8918c71d319237c1e3155bb38620acb114a80bc)
-
@folly i have only apfm1000.zip. i use rom.zip it's wrong?
-
This post is deleted! -
@folly now all right. The bios wrong. I have two questions. where do i find the mess gui commands? i can't navigate mess gui. apfm1000 only works with lr-mess cmd while with lr-mess basename it doesn't work. When should the different mess start options be used?
-
@isidoro80
Try "select" and "Y" on your game pad (sometime it works for lr-mess). -
@isidoro80 said in Development of module-script generator for lr-mess and mame standalone:
@folly now all right. The bios wrong. I have two questions. where do i find the mess gui commands? i can't navigate mess gui. apfm1000 only works with lr-mess cmd while with lr-mess basename it doesn't work. When should the different mess start options be used?
Do you mean that you have apfm1000 running now because earlier you had a wrong bios file ?
Basically the
cmd
andbasename
lines are for running filenames that match the mame_softlists.
Thecmd
line can also load a text-file that contains a manual command.The other options are for loading the media directly without checking the softlist database, sort of speak.
With thegame specific option
you are running media directly and it will store mame/mess configs per game if the mame/mess gui is used.To get into the GUI @DTEAM made a suggestion for using the gamepad.
You can also use TAB from your keyboard.
If the TAB key doesn't work you have use SCROLL-LOCK to switchgame-focus
back and forth. -
@folly 552 / 5000
Risultati della traduzione
I had two problems. corrupted bios file. furthermore, the apfm1000 bios file must be placed inside the folder where the roms are and not in / home / pi / RetroPie / roms / bios. I don't know why in my case it works like this but I used the same configuration for emerson arcadia and it works. I am able to enter mess gui and with the tab key to move in the different menu frames. I can't find a button to confirm the choices and move between the different items in the boxes. -
@isidoro80 said in Development of module-script generator for lr-mess and mame standalone:
@folly 552 / 5000
Risultati della traduzione
I had two problems. corrupted bios file. furthermore, the apfm1000 bios file must be placed inside the folder where the roms are and not in / home / pi / RetroPie / roms / bios. I don't know why in my case it works like this but I used the same configuration for emerson arcadia and it works. I am able to enter mess gui and with the tab key to move in the different menu frames. I can't find a button to confirm the choices and move between the different items in the boxes.Placing the bios in the rom directory can indeed work.
We did that also years ago running Philips CDI the first time when the scripts weren't there yet.
Read the comments in this script, and you learn a lot about the structure on how you are using it now :
https://github.com/FollyMaddy/retropie-philips-cdi-tools/blob/master/retropie_philips_cdi_setup.shTrouble is though, lr-mess and mame will check the directory structure for system names and will run to the softlist database accordingly.
If there is just 1 thing that is missing or changed it won't work and it's very hard to get a solution.
That is why we focus here more on running the media directly VS running them using the softlists.I noticed that you have a very old mame running, it's ancient !
I already runmame 0.233
.
If everything is that old, including retropie, you should make a new image and try everything again.
Your problems could just depend on the software being just too old.
Also, you should not get into the screen you posted.
You should be able to run directly into a system.I also suggest you read post 1 of this thread thoroughly.
This will help you on how everything works.
If you can, also try to read the script, i have placed many comments in the script. that should make you aware of how everything works.Be cheerful, in time you will get it.
-
@folly 337 / 5000
hello not the picture is taken from the internet. i have the latest version of retropie, retroarch and mess. I can move from the left square to the bottom one (not seen in the image). I don't know how to scroll through the items in the left menu and then confirm to enter the items. example I don't know how to enter the year menu on the left. thank you so much for your help
-
@jimmyfromthebay said in Development of module-script generator for lr-mess and mame standalone:
lr-mess-system-dragon32-cass = "/home/pi/RetroPie-Setup/scriptmodules/run_mess.sh /opt/retropie/emulators/retroarch/bin/retroarch /opt/retropie/libretrocores/lr-mess/mess_libretro.so /opt/retropie/configs/dragon32/retroarch.cfg \dragon32 /home/pi/RetroPie/BIOS/mame -autoframeskip -ui_active -ext ram -cass %ROM%"
Thank you for this! Worked great. I was typing in those commands, but because I was booting into DDOS10, they were unrcognized. This line helped solve that. I can now load the games. Maybe that line needs to be added by default as the CASS command rather than what's there. Without you posting that, I would never have figured that out. I think this project is outstanding, however, you definately need a little more knowledge and skill with these more "complicated" PC style emulators.
Please keep up the good work!
-
@folly Thank you very much. I will do that, and as I stated in the previous post, I think this project is outstanding. It's great to have so many more options to add-in to the list of working systems from a time long gone.
I never owned a Dragon32 or Tandy TRS-80 , but I wanted to add them just for the sake of having so many running on my unit like a museum so to speak.
Up vote I definitely will!
-
@folly Hiya again...
Major issues now. First let me say what does work, works good.
I originally loaded the first "version" of this project almost a year ago whereas I had to source compile the MESS build, then it gave me a list of lr-mess-xxx options to choose from. I picked each, it loaded, I had to dump the BIOS files in the main BIOS folder, then all was good.
What I am doing now is moving over to this new build, as it seems better because its supported and using the latest versions of MESS/MAME. BUT>> I'm having issues getting the emulators to run. So here is what I am seeing.
I follow the RetroPie Setup menu to configuration/tools and eventually pick the emulator. Let's use Astrocade as the example. It builds the file structure, all is good. I then move my previously installed BIOS files that I know worked in the previous MESS build from \home\pi\Retropie\BIOS to \home\pi\Retropie\mame. Now I lost the Astrocade logo and game list in my ES menu. No matter what I do, nothing displays. Same for Apple IIe, Apple IIgs, and Philips CDi.
What I find odd is that this process worked fine with Dragon32 and Super Cassette Vision. They are listed and load/play no problem.
Any thoughts where I am going wrong with this. Seemed simple enough but other than those two, I've lost all the other MESS based cores I had loaded.
Thanks
*** update... I realized this is BIOS issues. I've gotten some to work now. SCV and CDi. So what version of MESS is running? That would give me an idea what to look for.
-
I read that you have found some solutions that is great.
Did you realize ?
Backups are important, I have had that lesson too ;-(.
Next time you should make a new image before messing with a good working image, don't you agree ;-)Perhaps I don't have to mention but you should use \home\pi\Retropie\BIOS\mame instead of \home\pi\Retropie\mame .
You forgot the BIOS part.Now I lost the Astrocade logo and game list in my ES menu.
Did you move the games files from \home\pi\Retropie\roms\astrocade to some other directory ?
If you did that then they aren't displayed anymore in the ES menu.*** update... I realized this is BIOS issues. I've gotten some to work now. SCV and CDi. So what version of MESS is running? That would give me an idea what to look for.
Indeed the new mame and lr-mess will sometimes need newer bios files.
I know with Philips CDI you definitely need more roms inside the zip file.
Don't worry, we have all been there before ;-)I use
mame 0.233
andlr-mess 0.231
(or 0.232)Search the web for
mame-0.231-merged
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
I read that you have found some solutions that is great.
Did you realize ?
Backups are important, I have had that lesson too ;-(.
Next time you should make a new image before messing with a good working image, don't you agree ;-)Perhaps I don't have to mention but you should use \home\pi\Retropie\BIOS\mame instead of \home\pi\Retropie\mame .
You forgot the BIOS part.Now I lost the Astrocade logo and game list in my ES menu.
Did you move the games files from \home\pi\Retropie\roms\astrocade to some other directory ?
If you did that then they aren't displayed anymore in the ES menu.*** update... I realized this is BIOS issues. I've gotten some to work now. SCV and CDi. So what version of MESS is running? That would give me an idea what to look for.
Indeed the new mame and lr-mess will sometimes need newer bios files.
I know with Philips CDI you definitely need more roms inside the zip file.
Don't worry, we have all been there before ;-)I use
mame 0.233
andlr-mess 0.231
(or 0.232)Search the web for
mame-0.231-merged
OK, I'm back to working condition. I had to fall back to previous emulator settings for a few like Apple II, Astrocade and Apple IIgs. For whatever reason, this build did not like anything I threw at it as far as BIOS files.
What was really tough was the Apple series. I could not get the Apple II to use the Apple II emulator. I never listed it in the emulators.cfg using this build. Only the Appple IIgsr1 model was listed. So the games would load, but used the Apple IIgs BIOS. Even more troubling was that I could not get the actual Apple IIgs to show. I had to fall back to my original package and use that. Once I did that for both, I was back to where I was, but now using the latest lr-mess build with new BIOS files.
No worries. I'm happy with what I have, just took all day to get it there. And NOW I'll do a backup. LOL. But you're right, I should have done that first before playing around.
Best
JamR
-
thanks to your help I can emulate the apfm1000 games. Now I would like to emulate apple2gs but I can't figure out how to properly configure mess. i saw apple2gs hash files and there are 3 software lists: apple2g_flop_orig and apple2gs_flop_misc. For mess are two groups already different games? I had put all the roms in a home / pi / RetroPie / roms / apple2g folder and the configuration files in opt / retropie / configs / apple2gs maybe you need to create folders with the name of the relative hash files like opt / retropie / configs / apple2gs_flop_orig and home / pi / RetroPie / roms / apple2gs_flop_orig
-
@isidoro80 said in Development of module-script generator for lr-mess and mame standalone:
thanks to your help I can emulate the apfm1000 games.
Great !
Now I would like to emulate apple2gs but I can't figure out how to properly configure mess.
i saw apple2gs hash files and there are 3 software lists: apple2g_flop_orig and apple2gs_flop_misc. For mess are two groups already different games? I had put all the roms in a home / pi / RetroPie / roms / apple2g folder and the configuration files in opt / retropie / configs / apple2gs maybe you need to create folders with the name of the relative hash files like opt / retropie / configs / apple2gs_flop_orig and home / pi / RetroPie / roms / apple2gs_flop_origI have to try apple2gs first to be able to give some good feedback.
But basically you make it much too difficult for yourself, because I think :
- you should not need to configure
- you should not worry about the hash tables
(but you can look into the hash tables to find which games do work, for example) - there should be no need to create config directories or rom directories using the hash tables names
If I have some time I will test the apple2gs.
-
@folly Let me offer what I experienced, it might help.
Loading the Apple series using the build script from post 1 and the "...install upon descriptrions" list, gave me the option to add the Apple //e (enhanced) and Apple IIgs (ROM1). From the "...install upon system names" list, you are offered "apple2ee" and "apple2gsr1" (obviously these two lists load the same emulators, not sure why you guys did it this way)
So loading the Apple //e installed fine, and gave me a large list of several new options under "Manage Packages --> Manage Exp packages -->" . It lists "apple2ee with several variations. BUT, when I activated them in ES... my Apple II menu shows Apple II games however, uses the Apple IIgsr1 emulator. I looked at the major files that point to the emulator selection, but I never saw where it was making this choice. It should be bringing up the Apple IIee emulator if anything, or more correct would be an Apple II variant.
Now, loading the Apple IIgs was another story. The script knocked out my Apple IIgs listing in my es_systems.cfg file so that I had no listing of Apple IIgs in ES. I corrected it, and then once I refreshed, it was good... however... I could not run any games as there is no listing in the emulators.cfg for Apple IIgs emulators.
So that's where the only issue really is. The MESS/MAME based emulation does work because once I fell back to what I had previously, the new version of MESS/MAME worked fine and each emulator was selectable as I had it before. Of course I just had to update my BIOS files to the new version and put them in the correct location. I suggest looking at how the script is building/editing files and the direction it points ES to pick emulators.
There is a need for several separate versions of Apple if it is possible (not sure if this is the fina goal of the project, but here is the list of Apples in order of production):
Apple I
Apple II
Apple II plus
Apple III
Apple IIe
Apple III plus
Apple IIc
Apple IIgsI hope that helps a little if not some words to have a coffee while reading. Lol.
Best regards,JamR
-
@jamrom2 said in Development of module-script generator for lr-mess and mame standalone:
@folly Let me offer what I experienced, it might help.
Yes, this could help.
I did not pay much attention to the Apple emulation, as there is so much to emulate ;-)
Hope it helps for you too, understanding how it works.Pffff.. It took me some time to make this reply and drinking some coffee ;-)
Loading the Apple series using the build script from post 1 and the "...install upon descriptrions" list, gave me the option to add the Apple //e (enhanced) and Apple IIgs (ROM1). From the "...install upon system names" list, you are offered "apple2ee" and "apple2gsr1" (obviously these two lists load the same emulators, not sure why you guys did it this way)
We did this because with the system names it's not always obvious, regarding the system-name, what computer you will be installing.
So using the description list it will show the the more obvious description of the computer.
Of-course, selecting a description will look up the system-name and install that system.I would have liked to combine both system-names and description-names in 1 line but, for most systems, there is no room to display all text in the dialog box.
Hope you understand it better now why we did it this way.
So loading the Apple //e installed fine, and gave me a large list of several new options under "Manage Packages --> Manage Exp packages -->" . It lists "apple2ee with several variations. BUT, when I activated them in ES... my Apple II menu shows Apple II games however, uses the Apple IIgsr1 emulator.
In the generator script part we have build in a retropie-system-name detection system. Part of this system is checking the platforms.cfg against mame-system-descriptions. This is done because mame holds so much computer types that are basically doing the same thing. A good example is MSX.
When you use this command in the terminal you will see how much MSX types mame has :/opt/retropie/emulators/mame/mame -listdevices |grep Driver|grep MSX
So when the script finds a mach in the description it won't use the mame-system-name but instead use the retropie-system-name.
So for the Driver apple2gsr1 (Apple IIgs (ROM01)): this means there is a match from within the platforms.cfg and then uses the system-nameapple2
for the directory structure.
The advantage of this matching procedure is that different types will use the same directory structure and that they also use the same ES-theme.
Otherwise you would have to make a theme for every individual system type.With Driver apple2ee (Apple //e (enhanced)): however it doesn't contain
II
and therefor will not have a match and so it will use the regularapple2ee
directory structure.You have to know that the front-end-script will directly install what is selected.
A disadvantage of that is that you don't see the help from the script-module.
But you can see that later when you select the system help in "Manage Packages --> Manage Exp packages -->etc.".
Here you should also see which system-name has been used during generation and where you have to put the games in.I looked at the major files that point to the emulator selection, but I never saw where it was making this choice. It should be bringing up the Apple IIee emulator if anything, or more correct would be an Apple II variant.
Not exactly sure what you mean here.
But I think you mean that where are the systems installed, right ?
As explained, this depends on which system-name is used when installing the system.Now, loading the Apple IIgs was another story. The script knocked out my Apple IIgs listing in my es_systems.cfg file so that I had no listing of Apple IIgs in ES. I corrected it, and then once I refreshed, it was good... however... I could not run any games as there is no listing in the emulators.cfg for Apple IIgs emulators.
That is something I did not foresee.
But indeed, when the matching procedure takes place, explained earlier, it will rewrite the es_system.cfg with the new 'Apple IIgs' information.
Because it already contained that information it will overwrite the old with the new information, I think.So that's where the only issue really is. The MESS/MAME based emulation does work because once I fell back to what I had previously, the new version of MESS/MAME worked fine and each emulator was selectable as I had it before. Of course I just had to update my BIOS files to the new version and put them in the correct location. I suggest looking at how the script is building/editing files and the direction it points ES to pick emulators.
There is a need for several separate versions of Apple if it is possible (not sure if this is the fina goal of the project, but here is the list of Apples in order of production):
Apple I
Apple II
Apple II plus
Apple III
Apple IIe
Apple III plus
Apple IIc
Apple IIgsA possibility is to try and add matching names that would match Apple II :
Apple ][
Apple //
So we can eventually end up with the systems Apple1, Apple2, Apple3Perhaps a better idea is to block the matching part for the "Apple II" part so all Apple types will use the mame-system-name as the directory structure.
Would that help ? (then the driver name will be used as the directory scructure)This is the whole list :
pi@raspberrypi:~ $ /opt/retropie/emulators/mame/mame -listdevices |grep Driver|grep Apple Driver apple1 (Apple I): Driver apple10 (Apple 10 (Ver 1.21)): Driver apple2 (Apple ][): Driver apple2c (Apple //c): Driver apple2c0 (Apple //c (UniDisk 3.5)): Driver apple2c3 (Apple //c (Original Memory Expansion)): Driver apple2c4 (Apple //c (rev 4)): Driver apple2cp (Apple //c Plus): Driver apple2e (Apple //e): Driver apple2ee (Apple //e (enhanced)): Driver apple2eefr (Apple //e (enhanced, France)): Driver apple2ees (Apple //e (Spain)): Driver apple2eeuk (Apple //e (enhanced, UK)): Driver apple2ep (Apple //e (Platinum)): Driver apple2euk (Apple //e (UK)): Driver apple2gs (Apple IIgs (ROM03)): Driver apple2gsr0 (Apple IIgs (ROM00)): Driver apple2gsr0p (Apple IIgs (ROM00 prototype 6/19/1986)): Driver apple2gsr0p2 (Apple IIgs (ROM00 prototype 3/10/1986)): Driver apple2gsr1 (Apple IIgs (ROM01)): Driver apple2gsr3p (Apple IIgs (ROM03 prototype)): Driver apple2jp (Apple ][ J-Plus): Driver apple2p (Apple ][+): Driver apple3 (Apple ///):
I hope that helps a little if not some words to have a coffee while reading. Lol.
Best regards,JamR
Best regards,
Folly
PS.
I looked at the old valerino script for astrocade here :
https://github.com/valerino/RetroPie-Setup/blob/master/scriptmodules/libretrocores/lr-mess-astrocade.sh
He made things manually and therefor he used the system nameastrocade
.
My generator script uses the mame-system-name from the database and that is:astrocde
See the difference here !
So if you want the see the games list in ES you would have to move your games to the directory astrocde.
Do you get the picture ? ;-) -
I added the
mattelh
to the e scripts in the handeld section.It's described in this thread :
https://retropie.org.uk/forum/topic/31429/are-mattel-electronics-hand-held-games-supported-yetCommits :
https://github.com/FollyMaddy/RetroPie-Share/commit/692e2f9bbd9ea60dcde52b427875671732eafd6c
https://github.com/FollyMaddy/RetroPie-Share/commit/b966da2bef9b8f6de883c9c76555bb5dd2ebd315EDIT: I removed Mattel from the scripts as it will conflict with the Classic Handheld.
-
Are you able to make some themes for apfm1000 and
(mattelh)?
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.