Development of module-script generator for lr-mess, lr-mame and mame standalone
-
@folly I didn't realize it was "buried" in the massive list of systems.
That is some list, wow.
At any rate, I have it running and looked up some load commands to get it working. Works great.
This brings the question about systems. The idea of using Retropie is to sort of isolate or condense several systems under one umbrella. These old Computer systems kinds present their issues with the amount of variances to them, some with little change. Like the Apple, we saw it was best to go Apple IIe and Apple IIgs.
What about a Tandy package that covers the Coco, Coco2 and Coco 3 plus the TRS-80 16? Otherwise Emulationstation is going to require a lot more themes for each system and each of the variants.
Right now, I have Tandy Coco for carts and cass, Coco 3 for Disk and TRS-80 16 for really old stuff. I think this is overkill.
What are your thoughts on this?
-
Well you have got a point there.
For some systems the script is already doing that.
For instanceclassich
is generated if one of the systems is installed from what we think should be in theclassich
.
Withkonamih
etc it's the same.The script also looks for other matches.
Different MSX types will automatically be installed under MSX.But not all can be automatically matched.
So for some, like for instance, BBC micro or Amiga, the names are changed on the fly a bit to generate a match to RetroPie system name
(you call it theumbrella name
)Before we add such an umbrella we have to make sure these types are almost the same.
If the systems not alike it's better to keep them separate.For arcade only systems I want to do somewhat the same but the problem is I don't want to add 34000 systems in the script for checking. So I have to think of an other solution. Besides, for a few weeks ago we didn't even had the possibility to sort arcade from the non-arcade. now we can, so the solution is more within reach.
So the project is evolving from
- a standalone generator-script (still available)
- to a front-end script which includes the generator-script
- and now to a front-end with data-manager that still includes the generator-script
Hope you understand all this.
-
I certainly do and I like it. Thank you for all the work. It's great to have all these individual systems fully running
-
I added some special things in the latest script.
For instance you can use the search option now.
Just type in what you are looking for and it will generate the list for you.
And there is more. -
I added the new mame0237 database with sorted_info and tried to add as much search entry's as possible.
Here you can read the .ini files used for adding the search entry's :
https://github.com/FollyMaddy/RetroPie-Share/blob/55ecbb14bf6774efb093eb62917f9cafad05fa9e/00-databases-00/sorted_info_creation/readme.md
Idid not
add the normal arcade entry as this is files huge.
If we want to sort on arcade we can do an inverted search of"@non-arcade!"
and we get all the arcade without adding the data to the file.Also added a script update for mame0237.
I decided to take the version number of mame for the new update.
Then it's easy to know that the script is made for the mame0237 data.Summarized :
- data 0237 entry's are added earlier with "@"
("*" isn't used anymore because of compatibility issues with lubuntu)
(searching can be done with "@forum", for example) - uses mame0237 data
- add subgui for restricted browser / downloader for adding more.
- minor improvements / fixes
- data 0237 entry's are added earlier with "@"
-
Hi. Thought I'd get back to you with a lot of results and try to narrow down the Tandy Coco/TRS-80 setup.
I've been playing around with various .cass, .rom .ccc and .dsk images. I've found that there is an issue with the Tandy Coco1 (coco) side of the emulator. The video artifacting doesn't work properly on many of the games. I was thinking it was me, but after testing some of the .cass versions of the same game on both systems, and seeing that they work in the coco3 variant, I realized it's definitely MESS causing this.
So that brings me to the possible answer. The Tandy Coco3 is the best choice for all four game file forms as it seems the game files in all forms work the best, although do not look the best. The image is very sharp on the Coco3, unlike softer colors and warmer CRT look of the Coco (even though I have a CRT shader active on both). The Coco video artifacting just does not handle the game files well on the Coco and gives all kind of corrupt images. You can see what I mean with the attached images.
This is one thing I never liked about MESS, it's a great emulator with all kinds of possibilities, but because it emulates so many systems, there are bound to be issues somewhere. I've played around with what little options you have to sort the artificating issues, but nothing helps. So I moved on and will just use the Coco3 emulator. To me, as a gamer only, the TRS-80 12/16 is basically useless to have in my system choice as it just doesn't have many game choices that are worth playing.
That's the thing with Retropie. Most users are looking for just getting the games working, and not the variants. Like the Apple IIe and IIgs, the same can be said for the Tandy. Best to go with what works and gives the user the best/easiest experience. Not sure if that is the goal of the project, or if it's just to get things working, but I can say for most that their goal is to have systems that work with little effort.
Using the keyboard on the Tandy is another issue, but anyone that uses Retropie for old PC emulation knows they have to tweak things to get it all to work. Since they added "game focus" to the options, that has to be turned on in order to use some of the keys on the keyboard.
At any rate, it's been challenging to get all these systems working and see what works best for a common user/gamer. I'd say the Coco3 is the best for the Tandy selection.
-
Coco2 works really well. And has the softer look that the Coco1 has. I'm going to use that as well.
-
Nice to read your test story and great to hear you have it running quite good now.
I see what you mean looking at the pictures.Btw.
Is that a TV with a real TUBE !!!
Awesome, very retro ;-)I should add the coco2 and coco3 to our forum list.
(edit : added) -
LOL, not a real TV. I use a set of really high quality backgrounds someone posted a while back, then I add in the highest res pictures I can find (if there are any) of the actual equipment. After that, I play around with the lighting, shading and nostalgic stuff further than the original artist did to try and make it look as real and time correct as possible. As if you're really sitting in front of the actual monitor in your teenage bedroom/den.
As for the emus... yes. I feel the Coco 2 and 3 are really the best options for the Tandy system. I've been trying to get the TRS-80 12/16 to work, but there really isn't enough to play with to justify using them as actual game systems. For computer guys that want the computer to play around with, its fine.. but not for gaming.
What would be really useful is to be able to script the run statement to read the rom title and automatically run the emulator in the mode it needs to be in. It was done for lr-atari800. Where the rom name decides what graphics settings and mode to be in. The script reads it then sets the artifacting/graphic mode.
For Tandy it would be the LOAD Basic or Machine language. Then the run statement to follow. I don't know if that's possible... but you would then name the roms accordingly.
Example...
Escape From Tut's Tomb (The Rainbow).zip this is a zipped .dsk file. So it would need the Flop1 or 2 Coco 2/3...and the load statment LOADM with EXEC
example renamed...
Escape From Tut's Tomb (The Rainbow) c2 fp1 m e.zip
A huge undertaking, but it would then be a one button press and go straight into the game by the script reading Coco2 Flop1 LOADM EXEC and loading the game into Coco2 accordingly.
DosBox if you're familiar with it works like this inside of Retropie as well.
Just an idea over yet another cup of coffee... LOL.
-
Good idea, but sadly not feasible.
I think it would be a huge undertaking, just like you said.I can try to make autoboot lines.
For coco with -cass this could still be an option.
But still not for autoboot lines if they use"
.
(I explain later, in this post, why it's not possible right now)What you can try is to make .cmd files per game.
About .cmd files, here is some background information on our script and .cmd files.
If we use runcommandlines from the emulators.cfg for lr-mess containing the media option, then the boot procedure will go through the Valerinorun_mess.sh
script.
Thisrun_mess.sh
script produces a temporary .cmd file for lr-mess retroarch core, and then boots the .cmd file.
After exiting the game therun_mess.sh
will remove the temporary .cmd file again.So we can skip above part and create our own .cmd files.
But we have to take into account that we don't use the exact name as the game we want to run.
Because, if we do , then the .cmd file will be removed if we run the normal game file through the Valerinorun_mess.sh
script.So I fooled around with a making a .cmd file with autoboot function.
I discovered that it only works usinglr-mess-cmd
(it doesn't formame-cmd
)
Here is an example used for donkey kong for coco on coco3 with -flop1.
Make a textfile called dk-autoboot.cmd :coco3 -rp /home/pi/RetroPie/BIOS/mame -cfg_directory /opt/retropie/configs/coco3 -autoframeskip -ui_active -autoboot_delay 2 -autoboot_command load"donkey.bas",r\n -flop1 /home/pi/RetroPie/roms/coco3/coco_flop/dk.dsk
Put it in the same folder as your game, and boot the .cmd file with
lr-mess-cmd
, and you will see that this works.To create the .cmd you first have to know what file you have to run.
If you use a flop then you can check the files with the commandDIR
first and then use the appropriate file in your .cmd file.Optional to read, but important information to look up, if we want to improve the scripts :
While testing I discovered that therun_mess.sh
script normally adds"
to some of the command parts like this :coco3 -rp /home/pi/RetroPie/BIOS/mame -cfg_directory /opt/retropie/configs/coco3 "-autoframeskip" "-ui_active" "-flop1" "/home/pi/RetroPie/roms/coco3/coco_flop/dk.dsk"
Adding options that have a space in them ,like for example :
-autoboot_delay 2
they willnot work
if quoted like this :
"-autoboot_delay 2"
This basically means that if I/we want auto boot options added in the script that use"
in them.
Then, among-st others, I have to change therun_mess.sh
script, or find an other way, so it won't add"
to these added options.
I Also have to look on how the"
can be passed though the runcommand.sh script.Edit : when using our dragon 32 autoboot the
run_mess.sh
script does this :
"-autoboot_delay" "2"
This works, so perhaps we don't have to change that much. -
@folly Agreed... it was just an idea.
I'm loving the new script and the options it gives. Once set up, there are no issues. You just have to be familiar with the LOAD commands in reference to the file types.
Looks like 1980 all over again. LOL.
-
Nice to hear, I love it too ;-)
Sometimes we have to dig deep in order to get some improvements along the way.
No way around that ;-)Btw. yesterday I updated the script :
- remove cancel button from the forms
(cancel button did not work, therefor removed) - remove lr-mess check from the generated scripts
(because we want to be able to experiment : when using mame only the check prevents the generated scripts from installing, therefor removed) - and extra runcommandline in emulators.cfg for mame only is added with "framesip 10"
(now the handheld games can be booted directly with mame and with good speed without having to select "frameskip 10" with F9 or a joy button)
- remove cancel button from the forms
-
I discovered that all coco types can have extra 1024 k ram added. (just like dragon 32)
Perhaps the coco1 will benefit from that, not having display errors.I will add some lines for coco/coco2/coco3 to test in the section :
- systems : with extra options
- systems : full/semi autoboot
edit : done
https://github.com/FollyMaddy/RetroPie-Share/commit/fdd150c6cf0106954646b1254ba1fdbc3be8beb0
-
@folly OK. Tested both the CLOAD manual RUN and CLOADM auto EXEC for Coco2.
Works great! Fine tuning this a little would be to have them all under the same folder coco2, and the options listed in the emulator selection box, so that you don't have to have separate rom folders for each variation.
Is that possible? If so, that would be the best way to cover this from a gamer point of view. I press a button, jump into the emulator selection menu. Select my default (lets say CLOADM auto EXEC for all machine based cassettes) and emulator for specific rom (let's say CRT for a cartridge I want to play), and off I go.
-
Also... the other variation are the OS/9 based games like Flight Simulator II. Those need to have coco in OS/9 mode which is a simple "DOS" typed command. Once the user does that, the game will auto load and play.
So you basically have 5 useable variations as choices for runcommand:
1.normal without any auto loading commands if the user actually wants to use the Coco Basic.
2. Cassette - CLOAD manual RUN - Basic driven cassette games
3. Cassette - CLOADM:EXEC auto EXEC - Machine language driven cassette games with auto exec comand
4. Cartridges - CRT just as it is...plays the cart
5. OS/9 based games - requires a simple "DOS" command at the prompt - autoloads the game itselfFloppy commands - can't be done as, like you pointed out, it uses double quotes. Must be manual input. This is ok as you have to DIR in order to see if its a BAS or BIN file for the correct LOAD command anyway. Old school fun!
-
@jamrom2 said in Development of module-script generator for lr-mess and mame standalone:
@folly OK. Tested both the CLOAD manual RUN and CLOADM auto EXEC for Coco2.
Works great! Fine tuning this a little would be to have them all under the same folder coco2, and the options listed in the emulator selection box, so that you don't have to have separate rom folders for each variation.
Is that possible? If so, that would be the best way to cover this from a gamer point of view. I press a button, jump into the emulator selection menu. Select my default (lets say CLOADM auto EXEC for all machine based cassettes) and emulator for specific rom (let's say CRT for a cartridge I want to play), and off I go.
Thanks for testing !
Yes that is possible.
I did it so we could copy the compatible games for each option.
But, indeed, having all separate rom directories isn't perhaps the best way.
It's off-course always possible to separate them inside the normal rom directory.
Oh yea, the themes don't match either.Come to think of it, overall, it will be an improvement.
Ok, I will change every option to the normal rom directories.Make sure you de-install the module-scripts from within the normal parts of the RetropPie-Setup (manage-packages-experimental-packages).
And I advice you to remove the old generated autoboot module-scripts and the old rom directories.https://github.com/FollyMaddy/RetroPie-Share/commit/fe7efedc915c509feaa32a9bf530b5811d37e2ff
-
Ok, sounds good. Looking forward to it.
-
You can test.
Took me a bit longer as I had a crash.
Above that, coco3 did not accept extra ram when the floppy controller is used.
It seems it's only possible to add one device in the slot.
But thedos os-9
autoboot works ! -
@folly happy to. Where is the script? same as above?
-
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.