Page 1 of 4
MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Thu Apr 07, 2022 4:00 am
by wizzo
I've made a script that lets you add and manage MiSTer menu favorites for cores and game files. It supports regular cores, arcade cores and direct roms via MGL files.
Favorites can be added to either the top level of the menu, or an optional favorites folder created at the top. If you don't want to change the favorite's name, you can do all this with a controller.
You can download it here:
https://github.com/wizzomafizzo/MiSTer_Favorites
It's still a work in progress, but it's been working really well for me already and something I wanted since I got my MiSTer. MGL file support is still a bit iffy, they're not straightforward yet to work out, but a lot of systems do work and I'll continue updating it.
I'd appreciate if anyone could give it a shot and give me some feedback about what's working and what you think should be changed.
Thanks!
- menu.jpeg (302 KiB) Viewed 22997 times
- main.jpeg (175.3 KiB) Viewed 22997 times
- browse.jpeg (157.16 KiB) Viewed 22997 times
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Thu Apr 07, 2022 9:01 am
by Larry
This looks super convenient, I will try this today for sure
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Fri Apr 08, 2022 11:46 am
by GreyAreaUK
I like it - definitely better than the rather ugly hack I knocked up
Only thing I think mine does (arguably) better is it allows you to use wildcards, so you don't have to specify a precise filename (which will change if the core gets updated). Mine only does .rbl files though.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Fri Apr 08, 2022 12:38 pm
by wizzo
GreyAreaUK wrote: ↑Fri Apr 08, 2022 11:46 am
I like it - definitely better than the rather ugly hack I knocked up
Only thing I think mine does (arguably) better is it allows you to use wildcards, so you don't have to specify a precise filename (which will change if the core gets updated). Mine only does .rbl files though.
Thank you!! This probably would not exist without your script
You know it actually does do this, but I totally forgot when I was writing out the features. It will check for broken links and find a close match to relink to. It does this on launch and on MiSTer boot (like after an update)
Because the user startup script runs quite late, it can appear to have not worked on first boot, but the change will show up after the old link fails to launch or you change directory. Nothing I can do about that unfortunately but it gets there in the end
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sat Apr 09, 2022 2:35 pm
by wizzo
I've added a couple new things: you can now use 1 level of subfolders in the favorites folder (you have to manage them yourself but they'll show up), and you can also select roms inside zip files which mgl files support. I also tidied up a bunch of code and added some QoL stuff
I'd say that's about feature complete now. I'll continue updating the mgl support as the feature matures in MiSTer
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sat Apr 09, 2022 2:58 pm
by AmintaMister
wizzo wrote: ↑Sat Apr 09, 2022 2:35 pm
I've added a couple new things: you can now use 1 level of subfolders in the favorites folder (you have to manage them yourself but they'll show up), and you can also select roms inside zip files which mgl files support. I also tidied up a bunch of code and added some QoL stuff
I'd say that's about feature complete now. I'll continue updating the mgl support as the feature matures in MiSTer
Hi! When I launch `sh favorites.sh` I get:
Code: Select all
favorites.sh: line 3: import: command not found
favorites.sh: line 4: import: command not found
favorites.sh: line 5: import: command not found
favorites.sh: line 6: import: command not found
favorites.sh: line 7: import: command not found
favorites.sh: line 8: import: command not found
favorites.sh: line 10: FAVORITES_NAME: command not found
favorites.sh: line 12: SD_ROOT: command not found
favorites.sh: line 13: syntax error near unexpected token `('
favorites.sh: line 13: `FAVORITES_DB = os.path.join(SD_ROOT, "favorites.txt")'
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sat Apr 09, 2022 3:27 pm
by wizzo
AmintaMister wrote: ↑Sat Apr 09, 2022 2:58 pm
Hi! When I launch `sh favorites.sh` I get:
Code: Select all
favorites.sh: line 3: import: command not found
favorites.sh: line 4: import: command not found
favorites.sh: line 5: import: command not found
favorites.sh: line 6: import: command not found
favorites.sh: line 7: import: command not found
favorites.sh: line 8: import: command not found
favorites.sh: line 10: FAVORITES_NAME: command not found
favorites.sh: line 12: SD_ROOT: command not found
favorites.sh: line 13: syntax error near unexpected token `('
favorites.sh: line 13: `FAVORITES_DB = os.path.join(SD_ROOT, "favorites.txt")'
Hi. This is actually a Python script but with .sh on the end so it will show up in the Scripts menu. You can either run it with “python favorites.sh” or “./favorites.sh”. The intended way to run it though is from the Scripts section of the MiSTer main menu
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sat Apr 09, 2022 3:30 pm
by AmintaMister
wizzo wrote: ↑Sat Apr 09, 2022 3:27 pm
AmintaMister wrote: ↑Sat Apr 09, 2022 2:58 pm
Hi! When I launch `sh favorites.sh` I get:
Code: Select all
favorites.sh: line 3: import: command not found
favorites.sh: line 4: import: command not found
favorites.sh: line 5: import: command not found
favorites.sh: line 6: import: command not found
favorites.sh: line 7: import: command not found
favorites.sh: line 8: import: command not found
favorites.sh: line 10: FAVORITES_NAME: command not found
favorites.sh: line 12: SD_ROOT: command not found
favorites.sh: line 13: syntax error near unexpected token `('
favorites.sh: line 13: `FAVORITES_DB = os.path.join(SD_ROOT, "favorites.txt")'
Hi. This is actually a Python script but with .sh on the end so it will show up in the Scripts menu. You can either run it with “python favorites.sh” or “./favorites.sh”. The intended way to run it though is from the Scripts section of the MiSTer main menu
Perfect, thanks, it works! In the future it will be also possible autocrat the .mgl files aka select the game to marks as "favorite" with your tool?
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sat Apr 09, 2022 3:57 pm
by wizzo
AmintaMister wrote: ↑Sat Apr 09, 2022 3:30 pm
Perfect, thanks, it works! In the future it will be also possible autocrat the .mgl files aka select the game to marks as "favorite" with your tool?
It should be possible right now! Just browse to your games folder instead of selecting a core. Let me know if it's not working for you
If you find that your games system folder appears empty from the script, I may not have added mgl support yet for that particular system. It should come in the future though. All the usual suspects like NES, Genesis, PSX etc. are working fine though.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sun Apr 10, 2022 8:05 pm
by ZX81
Thanks very much. I just tried it out and it worked well for my needs!
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sun Apr 10, 2022 8:27 pm
by AmintaMister
wizzo wrote: ↑Sat Apr 09, 2022 3:57 pm
AmintaMister wrote: ↑Sat Apr 09, 2022 3:30 pm
Perfect, thanks, it works! In the future it will be also possible autocrat the .mgl files aka select the game to marks as "favorite" with your tool?
It should be possible right now! Just browse to your games folder instead of selecting a core. Let me know if it's not working for you
If you find that your games system folder appears empty from the script, I may not have added mgl support yet for that particular system. It should come in the future though. All the usual suspects like NES, Genesis, PSX etc. are working fine though.
Thanks, it works (tough Psx games don't, it correctly choose the game from USB but at launch it launchs the Bios with empty Cd)! I think your work is WONDERFUL and should be integrated in the MiSTer core allowing to add to favorites inside the single cores!
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 11, 2022 9:36 am
by cursedverses
This is a very cool idea! I wonder if there could be functionality added to this to "resume last played game" which would load your last core with your last rom?
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 11, 2022 9:41 am
by GreyAreaUK
cursedverses wrote: ↑Mon Apr 11, 2022 9:36 am
This is a very cool idea! I wonder if there could be functionality added to this to "resume last played game" which would load your last core with your last rom?
I don't know if it would work (no harm in trying!) but you could try altering these in MiSTer.ini :
Code: Select all
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 11, 2022 4:29 pm
by wizzo
Thank you. I’m glad to hear it’s useful for other people
AmintaMister wrote: ↑Sun Apr 10, 2022 8:27 pm
Thanks, it works (tough Psx games don't, it correctly choose the game from USB but at launch it launchs the Bios with empty Cd)!
Can you post the mgl file for one of the psx games you’re having problems with? Perhaps we can troubleshoot
I like the open last game idea but I’m not sure how it could work off the top of my head
In case you’re not already aware of it, mister actually has a similar feature to this already if you enabled the “recents” ini option. You press a hot key in the menu to see a list of recently opened cores and in some cases games. But I agree I’d probably use it a lot more often if it was less tucked away
I might take a look at how much work it is to parse the recent files for each core. But I’m a little hesitant because a solution would require a daemon running to monitor changes, and I think the script is already quite complex for its purpose
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 11, 2022 7:23 pm
by AmintaMister
wizzo wrote: ↑Mon Apr 11, 2022 4:29 pm
Thank you. I’m glad to hear it’s useful for other people
AmintaMister wrote: ↑Sun Apr 10, 2022 8:27 pm
Thanks, it works (tough Psx games don't, it correctly choose the game from USB but at launch it launchs the Bios with empty Cd)!
Can you post the mgl file for one of the psx games you’re having problems with? Perhaps we can troubleshoot
I like the open last game idea but I’m not sure how it could work off the top of my head
In case you’re not already aware of it, mister actually has a similar feature to this already if you enabled the “recents” ini option. You press a hot key in the menu to see a list of recently opened cores and in some cases games. But I agree I’d probably use it a lot more often if it was less tucked away
I might take a look at how much work it is to parse the recent files for each core. But I’m a little hesitant because a solution would require a daemon running to monitor changes, and I think the script is already quite complex for its purpose
Thanks for the explanations!
Here the generated MGL:
Code: Select all
<mistergamedescription>
<rbf>_Console/PSX</rbf>
<file delay="1" type="s" index="1" path="Eu/Castlevania - Symphony of the Night (Europe).chd"/>
</mistergamedescription>
Code: Select all
<mistergamedescription>
<rbf>_Console/PSX</rbf>
<file delay="1" type="s" index="1" path="Eu/MediEvil (Italy).chd"/>
</mistergamedescription>
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 2:14 am
by cursedverses
wizzo wrote: ↑Sat Apr 09, 2022 3:27 pm
AmintaMister wrote: ↑Sat Apr 09, 2022 2:58 pm
Hi! When I launch `sh favorites.sh` I get:
Code: Select all
favorites.sh: line 3: import: command not found
favorites.sh: line 4: import: command not found
favorites.sh: line 5: import: command not found
favorites.sh: line 6: import: command not found
favorites.sh: line 7: import: command not found
favorites.sh: line 8: import: command not found
favorites.sh: line 10: FAVORITES_NAME: command not found
favorites.sh: line 12: SD_ROOT: command not found
favorites.sh: line 13: syntax error near unexpected token `('
favorites.sh: line 13: `FAVORITES_DB = os.path.join(SD_ROOT, "favorites.txt")'
Hi. This is actually a Python script but with .sh on the end so it will show up in the Scripts menu. You can either run it with “python favorites.sh” or “./favorites.sh”. The intended way to run it though is from the Scripts section of the MiSTer main menu
In case you haven't already - put
(or wherever the path to Python is) and the command interpreter will (should) know to use it.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 2:17 am
by cursedverses
GreyAreaUK wrote: ↑Mon Apr 11, 2022 9:41 am
cursedverses wrote: ↑Mon Apr 11, 2022 9:36 am
This is a very cool idea! I wonder if there could be functionality added to this to "resume last played game" which would load your last core with your last rom?
I don't know if it would work (no harm in trying!) but you could try altering these in MiSTer.ini :
Code: Select all
; lastcore - Autoboot the last loaded core (corename autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; lastexactcore - Autoboot the last loaded exact core (corename_yyyymmdd.rbf autosaved in CONFIG/lastcore.dat) first found on the SD/USB
; corename - Autoboot first corename_*.rbf found on the SD/USB
; corename_yyyymmdd.rbf - Autoboot first corename_yyyymmdd.rbf found on the SD/USB
;bootcore=lastcore ; uncomment to autoboot a core, as the last loaded core.
I'm overthinking my idea I think. This will indeed autoboot the core, I was thinking next level with some last_game file that specifys the core and rom as a "Dive Back In" option. It saves all of 5 seconds at best is probably a bit out of scope for this.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 3:59 am
by wizzo
cursedverses wrote: ↑Tue Apr 12, 2022 2:17 am
I'm overthinking my idea I think. This will indeed autoboot the core, I was thinking next level with some last_game file that specifys the core and rom as a "Dive Back In" option. It saves all of 5 seconds at best is probably a bit out of scope for this.
I still like it and will keep it in mind but yeah I think it would be quite a lot of work and hard to fully justify when the "recent" menu is so similar already.
AmintaMister wrote: ↑Mon Apr 11, 2022 7:23 pm
Here the generated MGL:
These look fine to me. I'm not sure why it wouldn't run. I'm also using .chd files when I test PSX. I'll test some more later when I have time free.
One thing you might want to check is that mister is finding your PSX path correctly:
https://mister-devel.github.io/MkDocs_M ... h-priority
See here, there's a certain hierarchy of folders that are checked for game files. There may be a conflict if you've got more than one. Mgl files use a relative path to the file, not an absolute one, so it relies on the path searching to find the file correctly. Maybe you can experiment putting the .chd file in different games folders?
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 1:54 pm
by Sigismond0
So I've got some weird behavior when trying to create MGLs for favorite games. The script only shows _Arcade and _Console in /media/fat, and doesn't let me navigate to the "games" directory. I can get to the games directory on my USB drive though. Any idea why that might be? The /media/fat/games folder is completely loaded and works fine from cores and Super Attract Mode generated MGL files. It just doesn't show up in your script's interface for some reason.
Edit: Figured this out. The favorite script only shows you "games" not "Games".
For the three things I do have on usb0 (TFGX CD, MegaCD, PSX), it does successfully create MGL files. PSX and MegaCD both appear to work great. TGFX CD, however, just goes to a back screen. No BIOS screen no nothing.
Comparing a working TG-CD MGL generated by Super Attract Mode:
Code: Select all
<mistergamedescription>
<rbf>_console/turbografx16</rbf>
<file delay=1 type=s index=0 path="../../../../media/usb0/games/TGFX16-CD/1 Turbografx-CD/Buster Bros. (USA)/Buster Bros. (USA).chd"/>
</mistergamedescription>
With the one non-working one generated by this script:
Code: Select all
<mistergamedescription>
<rbf>_Console/TurboGrafx16</rbf>
<file delay="1" type="s" index="0" path="1 Turbografx-CD/Ys III - Wanderers from Ys (USA)/Ys III - Wanderers from Ys (USA).chd"/>
</mistergamedescription>
The only difference seems to be the path structure. I'm guessing PSX and MegaCD both work because there's nothing in the media/fat/games folder for those cores. But in media/fat/games/tgfx16 I do have the non-CD games. Since your generated MGL does not specify the exact location of the CHD in the way that the SAM MGL does, MiSTer just looks in the first directory with games, fails to find, and stops. Might make sense to hard code the path in the same way that SAM does so that it will work with any user's file structure.
And just for reference, here's a SAM generated MGL for /media/fat/games with a full directory path:
Code: Select all
<mistergamedescription>
<rbf>_console/neogeo</rbf>
<file delay=1 type=f index=1 path="../../../../media/fat/games/NeoGeo/1 MVS Exclusive/Battle Flip Shot.neo"/>
</mistergamedescription>
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 2:41 pm
by wizzo
Sigismond0 wrote: ↑Tue Apr 12, 2022 1:54 pm
So I've got some weird behavior when trying to create MGLs for favorite games.
Thanks mate this was super helpful. I've put a new update on the Github which I think should fix all these issues, plus the one before you. Please give it a shot when you have time free and let me know!
The missing games folder is because I filter out a lot of junk files on the SD card view but was doing it case sensitive, so it was looking for "games" but yours was "Games". Won't matter anymore
I've adjusted the mgl paths to match what SAM does and that seems to have done the trick. I'm not in love with the fix because I think it will break cifs mounted games folders, but better to get most people working properly first. I'll have a closer look how they do it in SAM
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 2:55 pm
by Sigismond0
Good stuff. Ran a quick test, and can confirm that Games now shows and TG-CD games work from USB. Unfortunately, I don't have a CIFS mount to test against to see how that's impacted.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 12, 2022 10:48 pm
by Captain FPGA
Worked like a beauty
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Sun Apr 24, 2022 11:12 pm
by Asteld
CIFS is definitely broken. I can browse the cifs folder and browse all mounted folders and subfolders, but rom files (and .chds etc) are not displaying. I'm sadly not good enough at python path traversal to suggest a fix.
Will love being able to easily add and remove favorites from my couch. Eagerly awaiting.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 25, 2022 12:57 am
by wizzo
Asteld wrote: ↑Sun Apr 24, 2022 11:12 pm
CIFS is definitely broken. I can browse the cifs folder and browse all mounted folders and subfolders, but rom files (and .chds etc) are not displaying. I'm sadly not good enough at python path traversal to suggest a fix.
Will love being able to easily add and remove favorites from my couch. Eagerly awaiting.
I think this may be a different issue. Is your CIFS share set up with a top level games folder and then all your roms underneath it or are all the system folders on the top level? So is it cifs/games/PSX or cifs/PSX?
When I wrote this I didn't really consider that it's valid to not have a top games folder, and I wrote the detection code to assume it's always there. If this is the case I can put in a patch to fix it
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 25, 2022 12:17 pm
by Asteld
Yes. No games folder, so "cifs/PSX". Saw the hardcoded 'games' dir, but couldn't quite figure out which variables were assembled where and for what purpose. Assumed it would be alright, but I suppose it wasn't
I've always thought the cifs folder would only support the directories that are normally under 'games', but they can be system dirs as well? The documentation is quite.. sparse.
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon Apr 25, 2022 1:40 pm
by Stupid Dufus
Indeed you can. I use cifs for _Computer, _Console, _Other, _Utility, BIOS, bootrom, cheats, config, docs, Filters, Filters_Audio, font, games, Presets, saves, savestates, Shadow_Masks
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 26, 2022 5:43 am
by wizzo
I've put a new version up on github
- Now has mister downloader support like my other scripts, instruction in readme
- Fixed the issue described above for system folders that aren't in a games subfolder
- Restricted viewing zip files to only the top level (this is all mister supports itself)
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Tue Apr 26, 2022 2:15 pm
by Asteld
Stupid Dufus wrote: ↑Mon Apr 25, 2022 1:40 pm
Indeed you can. I use cifs for _Computer, _Console, _Other, _Utility, BIOS, bootrom, cheats, config, docs, Filters, Filters_Audio, font, games, Presets, saves, savestates, Shadow_Masks
!! I'll be making the perfect samba share very soon. This is awesome.
---
Thanks for the fix. Will try later this afternoon.
edit: It works! Being able to add favorites as soon as I encounter a game I like is very convenient; thank you!
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Mon May 16, 2022 3:03 pm
by Haflip
This script is really cool and useful! I used it to make a top-level list of games, one from each system I intend to use, organized by system and it looks really clean. I like it a lot.
That said, I want to mention 2 small issues I've had. One is that I can't seem to get PC-Engine CD games to show up in the games list. When I select the TGFX16-CD folder, it says, "Select TGFX16 rom to favorite," seemingly indicating that it's not looking for CD files?
The other issue (also minor) is that I can't seem to use the script to make a Gameboy or GBA game launch in the BG2P or GBA2P cores. I can create a shortcut to each core without a game, but choosing a game from within the GAMEBOY2P or GBA2P folders only seems to be able to create a listing for a game to launch in Gameboy or GBA, not the 2P version of either core. Is this because I use sub-folders to organize my games within those folders, or because it's simply not a feature?
Re: MiSTer Favorites - Menu Shortcuts for Your Cores and Games
Posted: Thu May 26, 2022 11:00 am
by solderchicken
Thank you for this script! I really like it a lot.
Would there be an easy way of adding multiple favourites at one time? As in, select multiple games to add to @Favourites rather than one at a time?
I have added subfolders too, adding directly to the sub folder would be a great feature too?
Thanks again!