Development of module-script generator for lr-mess, lr-mame and mame standalone
-
Glad to hear you had good holidays seen the circumstances.
I was only free from work with Christmas and New-years day.
But the 2nd Christmas day was quite special because we had some frost in the night before.
The ice wasn't that thick but I was able to skate on the very small ditches for a few hours ;-)
But they always say, don't skate on one night's ice.
The proverb was correct, I sunk through the ice and had the mud all over me ;-)Looks like we had very different holidays.
(later I will do the ti99_4a part)
-
@folly lmfao!! That's so true!
Honestly. It wasn't bad. I didn't have to partake in the usual family dramas and got to completely relax. But sounds like you had way more fun. I just watched old war movies and slept. Lol
-
I tried ti99_4a again.
First of all you need the bios
ti99_4a.7z
(or .zip), at a minimum.With the ti99 everything is not that obvious.
I re-read old posts and I saw that I have had it working in the past.The normal mame
ti99_cart
file which contains zip's (with .bin file(s)) only load with the basename loader.
I usedmame ti99_4a basename
for this.
(the basename loader loads software as stored in the soft-list database)
(the lr-mess basename loader probablywon't work
because these loaders do not contain all rompaths yet, It's something that still has to be solved)You would imagine that these files also would work with the
-cart
loaders just like any other system.
With the ti99 that doesn't work because with the media option-cart
only .rpk files are supported.
(.rpk files are just .zip files containing the roms and extra layout files)RPK files are hard to find, but you can try a few.
Just search for tigamecartsmame.I read the ti99 module-script of valerino again.
He added more predefined stuff in there.
The ti99 is the only system, of the valerino scripts, for which I didn't add extra predefined options yet.Let me know how it goes.
-
@folly said in Development of module-script generator for lr-mess and mame standalone:
tigamecartsmame
Ok,
I'm loaded up and ready. It was the BIOS name and .RPK files. I had the wrong set on both.
I found the RPK's fairly quick. They're definately out there. I'll see if I can get anything to work with using the bin files and basename loader.
-
No dice.
I do remember this worked, but I don't remember how.
Does this version use a single file BIOS ti_994a.ctg? Or is it the original MESS/MAME 10 file multiple with hfdc.bin, disk.bin, etc.? I tried both zipped named ti99_4a.zip
I put it in .\RetroPie\BIOS\MAME and .\RetroPie\BIOS to be sure.
-
The ti99_4a.7z or .zip must contain these files :
994a_grom0.u500 994a_grom2.u502 994a_rom_lb.u611 994qi_grom0.u29
994a_grom1.u501 994a_rom_hb.u610 994ev_grom1.u501
(and placed in /home/pi/RetroPie/BIOS/mame)Go into my script and select
restricted downloader
and use option 2.
Insert thewebsite
(arch......etc).
Scoll to the file and select it.
It will put it in /home/pi/RetroPie/BIOS/mame . -
I chose mame-basename to run the game file "basball.zip" with the files listed below compressed in the zip.
Seems like I have everything set to work right, but I get this at the bottom of my runcommand.log:
phm3148g3.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
phm3148g4.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
phm3148g5.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
phm3148c.bin NOT FOUND (tried in ti99_cart/baseball baseball ti99_4a)
Fatal error: Required files are missing, the machine cannot be run.
sdl_kill: closing audio
Enter sdlwindow_exit
Leave sdlwindow_exitWhat does the even mean? The game file is in the usual /roms/ti99_4a folder.
-
Did you use : mame-ti99_4a-basename ?
The /dev/shm/runcommand.info should look like this :
ti99_4a
mame-ti99_4a-basename
/home/pi/RetroPie/roms/ti99_4a/ti99_cart/baseball.zip
/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame;/home/pi/RetroPie/roms/ti99_4a -v -c ti99_4a "baseball"You will see that there are 2 rompaths added in the runcommand. (last line)
In the first rompath it will find the BIOS file.
In the second rompath it will find the game.
(Though, I have baseball.zip in/home/pi/RetroPie/roms/ti99_4a/ti99_cart/ which also seems to works, for this system)You can also find the runcommand in the beginning of the /dev/shm/runcommand.log
If you don't have the same line, to load your game, then you have to update my script to the latest and install ti99_4a again.
If you have above it should load.
But I came a-cross an issue with this game.
Here is some info on the MBX Expansion module :
http://www.mainbyte.com/ti99/hardware/mbx/mbx.html
(I don't know how to get it working, yet)
Try breakth.zip or buckrog.zip, these should work.
-
@folly No,I don't have specific version on my default emulator choices.
I have:
lr-mess-basename and variants
lr-mess-system-ti99_4a-cart and cass1&1
mame-basenane and variants
mame-system-ti99_4a-cart and variants.I pulled these from your script in the systems list. Is there one I missed because I don't have what you have.
-
You probably use an older version.
The new mame basename ones seem to be missing.
I added these options on 9 december 2021.
I think you should download the latest script and install ti99_4a again.
After that you should have the same choices as I have, stored in /opt/configs/ti99_4a/emulators.cfg :mame-ti99_4a-basename-autoframeskip = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/ti99_4a -v -c -autoframeskip ti99_4a %BASENAME%" mame-ti99_4a-basename-frameskip_10 = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/ti99_4a -v -c -frameskip 10 ti99_4a %BASENAME%" mame-ti99_4a-basename = "/opt/retropie/emulators/mame/mame -rompath /home/pi/RetroPie/BIOS/mame\;/home/pi/RetroPie/roms/ti99_4a -v -c ti99_4a %BASENAME%"
BTW.
It's advisable to rename or remove your old emulators.cfg before updating.
That way you have no old lines in there anymore. -
This is a cool game (barrage) :
-
@folly yup, that was it. I didn't know the script had been updated. working now...
But how do you break out of it. Buy doing the usual "key-press of desperation" I figured out:
8 - restart the game
9 - stops game and put you make to game menu
"+ "- brings you back to TI menuIs there a file I can set key-codes, or is that in retroarch.cfg?
It's definitely great to have running, but just needs a little access tweaking. Usually Mame gives you "tab" for key assignments, this is just running the games. I had to reboot my set to get out of the game.
Would be great to have the usual lr-mess/mame options with overlays and shaders. Some really fun games were on the Ti99/4a.
-
Indeed the basename lines do not have the option
-ui_active
.
I detected that too and had some trouble with it when using and apple keyboard.For now, you can use the
scroll-lock
key to enable or disable the GUI.
I think it's better to add the option in the future so both non-basename and basename lines will act the same. -
@folly is there a file for setting inputs? I don't have "scroll-lock" on my Rii Mini i8+ BT keyboard.
I had to do the same for the Dos Games. The hot key to turn on the keyboard was set to "scroll lock" so I re-assigned it to my "page up" key.
Unfortunately even though this little keyboard works great, it is missing a few of the usual keys that aren't used on a normal sized keyboard. Those keys are normally what these extra hot key commands are set to.
If I can re-assign, I'm good. If not, I need to come up with something else, or dump the system because I can't break out of the game shell.
-
I have the same problem sometimes when using a small keyboard or using my macpro.
Sometimes you can use thefn
key together withF13
or something like that.
But indeed that's sometimes quite problematic.So I added and fixed a few things :
https://github.com/FollyMaddy/RetroPie-Share/commit/51a47f0166f67404cac8765e51122564f623c793
So if you update the script and install ti99_4a the
tab
andesc
keys will work by default. -
@folly Perfect. Works great. It's good to have this system up and usable.
Not sure what keeps it from using the lr-mess/mame side of the emulator, but if ever it comes a day when it does, it will definitely benefit from it. This system has a lot of nostalgia behind it, much like the Tandy CoCo does.
Great job!
-
Nice to hear it's working for you ​;-)
Well, the improvements are little steps and take a lot of time.
For mame and lr-mess I want to use thedirname
solution we talked about earlier in this thread.But the
dirname
solution cannot be applied directly to the lr-mess core.
lr-mess is just mame but without the arcade systems and it's a RetroArch core.Here starts the trouble because the core is loaded by RetroArch.
RetroArch by itself accepts options to be added like loading a core, adding a save path or something else like verbose mode.
When we want to add options to the lr-mess-core, in a regular way, these options are recognised as a RetroArch options and not as lr-mess options.
There seems to be a way around this problem and the best way is to use double quotes around these lr-mess options.
But double quotes are neglected in the process.
So if we want to use this solution then probably another solution has to be added to the runcommand.sh.Also adding multiple rompaths is troublesome because we have to use
;
in this process.
In bash terms;
splits commands so sometimes we have to escape this character somehow with\
.
I have tested the solutions but then the savepath for savestates is wrongly recognised by lr-mess.
So adding a savepath option to RetroArch can probably fix this problem.You see there are a huge amount discovering has to be done to get lr-mess working the same as mame does.
My goal is to make a plain loaders for lr-mess that will function just like mame.
But it's a pain in the ass, if you know what I mean.This is probably the reason why Valerino made the run_mess.sh script which my script still uses for the lr-mess media loaders.
That script is a .cmd creator which is loaded after creation so the game is loaded and then deleted again after exit. -
@folly Wow. I wasn't aware it was that complicated. Have you tried asking the Retroarch dev team if they can add in what you are looking for? It makes sense because at this point, MAME can support hundreds more emulators than when RetroArch was first designed.
I know to some save-states are critical, but many of these older games just didn't have that as an option anyway. A cart game is a cart game and didn't really save anything. If the cassette side of the emulator works, you saved to cassette anyway. So if that is working, it should cover saved games.
As for using MAME to run this. I'm seeing slow-downs on some games, and I've noticed I have no "UP" action on my controller. I tried to assign it via the MAME UI now that I have access, but it doesn't seem to want to open any of the lists once it's on the screen.. and wow, it's really slow.
Regardless, I'm sure over time all this will be sorted. Seems to be a need for it as these emulators become more available and more people use RetroPie. I've noticed there are a lot more people posting on the forum now, many with issues that I've never seen before and asking for help with emulators I've never heard of.
Keep plugging... we'll get there soon enough!
-
@jamrom2 said in Development of module-script generator for lr-mess and mame standalone:
As for using MAME to run this. I'm seeing slow-downs on some games, and I've noticed I have no "UP" action on my controller. I tried to assign it via the MAME UI now that I have access, but it doesn't seem to want to open any of the lists once it's on the screen.. and wow, it's really slow.
The RPI3b is sadly not that fast.
I can do some tests on my RPI3.
Which game does slow down that much ?
Have you tried using the loader with-frameskip 10
or-autoframeskip
?
With these solutions it should improve a bit.
Have you tried lowering the resolution in the launcher menu ? -
This is the first evolved and tested command that should work with the
dirname
solution without adding more code to the runcommand.sh/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/apfm1000/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so 'mame apfm1000 -v -c -ui_active -rp /home/pi/RetroPie/BIOS/mame -swpath /home/pi/RetroPie/roms/apfm1000 -hash /opt/retropie/emulators/mame/hash pinball'
or this (with the double-quotes normally added by %BASENAME% or the future %DIRNAME):
/opt/retropie/emulators/retroarch/bin/retroarch --config /opt/retropie/configs/apfm1000/retroarch.cfg -v -L /opt/retropie/libretrocores/lr-mess/mess_libretro.so 'mame apfm1000 -v -c -ui_active -rp /home/pi/RetroPie/BIOS/mame -swpath "/home/pi/RetroPie/roms/apfm1000" -hash /opt/retropie/emulators/mame/hash "pinball"'
Major improvement is that I use single-quotes.
These single-quotes can be implemented directly in our script.
Next improvement is that I don't add 2 rompaths using;
or\;
(the disadvantage of this was that I had to use double-quotes in order to get it working so code had to be added to the runcommand.sh).
Now I use 2 options to add 2 paths :-rompath
and-swpath
.
(the advantage is that we can use single-quotes)
We are also able to add other options and the hashpath of mame standalone, for that matter.We can probably use the
-swpath
option also for mame standalone.
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.