Page 1 of 6
MiSTer Extensions - Remote
Posted: Wed May 03, 2023 3:00 pm
by wizzo
Hi. This is a preview of an application I've been working on to add (another) web interface to the MiSTer. It's currently in pretty early stages, but a lot of features work well already. I haven't had any time lately to work on any MiSTer stuff, but I've had this sitting around for a few months now and it's a shame to just leave it there. I hope to get some feedback about it and see if there's much appetite for such a solution.
This is a web server application running on your MiSTer. You connect up directly to your MiSTer's IP through a web browser, and it will show a UI for managing various parts of the system. It's targeted currently for phone but will work fine on a desktop too and could be made totally responsive for both. It has no performance impact on your system.
It currently has:
It also has a settings page to edit all the INI settings in a, hopefully, much nicer way. This is about 90% done. You can go in and have a look but it won't save any of the changes you make. This is the part I am most interested in receiving feedback about.
Here is a video of the application in action alongside the MiSTer: https://www.youtube.com/watch?v=zEhFMG-1hDc
And I've attached some screenshots to this post.
If you want to try it, you can download it here:
https://github.com/wizzomafizzo/mrext/t ... /remote.md
Just place that file in your Scripts folder on the MiSTer SD card, run it from the Scripts menu and follow the prompts. It will set up a service and then make the UI accessible on http://<your MiSTer IP>:8182
So what is this capable of? Anything really. Without being stuck in the MiSTer Linux console quite a lot of features are possible. It could have a full keyboard, a mobile controller, manage favourites (or anything about game files), index games with screenshots and descriptions, run other scripts, and so on. These all take time though, so it's definitely a question of how much interest there really is here, and I know this is a somewhat controversial feature.
Thanks! Let me know what you think.
Re: MiSTer Extensions - Remote
Posted: Wed May 03, 2023 3:34 pm
by pbsk8
very interesting!
So on smartphone I use the web browser to access it? or there will be an apk for it in the future?
Re: MiSTer Extensions - Remote
Posted: Wed May 03, 2023 3:56 pm
by wizzo
pbsk8 wrote: ↑Wed May 03, 2023 3:34 pm
very interesting!
So on smartphone I use the web browser to access it? or there will be an apk for it in the future?
That's right. I have no plans to turn it into an app, but I've added the necessary settings for it to be a PWA, so you can just go "add to home screen" in Chrome and it's pretty close to a native app
Re: MiSTer Extensions - Remote
Posted: Wed May 03, 2023 4:07 pm
by aberu
I'm so happy to see your hard work come to fruition wizzo! Thanks for working with the community to get feedback during the development process!
Re: MiSTer Extensions - Remote
Posted: Wed May 03, 2023 8:05 pm
by german_user
Re: MiSTer Extensions - Remote
Posted: Thu May 04, 2023 10:52 am
by Toya
Thank you for the app wizzo! I have some feedback I would like to give.
Searching needs some QoL. For example, if I have a huge list and scroll down, the search bar is at the top of the page and I have to scroll up to access it. Either the scroll bar should follow you when you scroll down or instead add an arrow that takes you straight to the top of the page.
Re: MiSTer Extensions - Remote
Posted: Fri May 05, 2023 2:17 am
by wizzo
Toya wrote: ↑Thu May 04, 2023 10:52 am
Thank you for the app wizzo! I have some feedback I would like to give.
I think these are all great suggestions. I've popped them on the list.
The duplicate games checking and the arcade db integration might take some time since they relate to parts of the indexing process that don't exist yet. The current indexing process is super fast, but it's at the expense of gathering almost any information about a games besides its file path. Eventually I will need to add in a much slower indexer to support what you've suggested plus things like games metadata and media.
Re: MiSTer Extensions - Remote
Posted: Fri May 05, 2023 6:02 pm
by MiSTer Consoles
This looks very cool. Nice work! Looking forward to trying it out. I've got an old iPad sitting around that might work perfect for this.
Re: MiSTer Extensions - Remote
Posted: Fri May 05, 2023 7:10 pm
by Missus
really fuckin cool!!
any documentation for the http calls or any sort of api?
would be neat to be able to leverage that without loading up a browser!
Re: MiSTer Extensions - Remote
Posted: Fri May 05, 2023 10:42 pm
by wizzo
MiSTer Consoles wrote: ↑Fri May 05, 2023 6:02 pm
This looks very cool. Nice work! Looking forward to trying it out. I've got an old iPad sitting around that might work perfect for this.
Glad you like it! It would work great for something like that
Missus wrote: ↑Fri May 05, 2023 7:10 pm
really fuckin cool!!
any documentation for the http calls or any sort of api?
would be neat to be able to leverage that without loading up a browser!
Absolutely. The API will probably change quite a bit at the start but I will make sure it's documented. I could also offer an alternate API only binary without the client embedded
Re: MiSTer Extensions - Remote
Posted: Sat May 06, 2023 9:06 am
by wizzo
I've made a new release with some of the suggestions. You can now filter a search by system, there's a "scroll to top" button if there are many results, duplicate results have been hidden (this is just based on filename right now so it won't be perfect) and a few other little QoL things. The rest are possible but will have to wait until I have time to create a new indexing system.
You can try it out with the same link in the first post, or you can add an entry to downloader.ini like this:
Code: Select all
[mrext/remote]
db_url = https://github.com/wizzomafizzo/mrext/raw/main/releases/remote/remote.json
And it will auto-update with update/downloader.
Re: MiSTer Extensions - Remote
Posted: Sat May 06, 2023 3:03 pm
by Toya
Thanks for the update.
Seems like when you search for something that doesn't exist, the page will crash
Re: MiSTer Extensions - Remote
Posted: Sun May 07, 2023 11:55 am
by wizzo
Toya wrote: ↑Sat May 06, 2023 3:03 pm
Thanks for the update.
Seems like when you search for something that doesn't exist, the page will crash
Thank you! This should be fixed now. I have also added an on-screen keyboard. I'm pretty pleased how it turned out, one less dongle hanging off the mister
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 12:05 am
by MiSTer Consoles
I tried this out today using my very old iPad Air and my much newer iPhone. Everything seems to work great with the phone. Unfortunately I couldn’t get anything to load on the tablet. It appeared to connect fine. I was able to create a link in the menu for the page that had the MiSTer-Kun icon. Any idea why it won’t display anything in Safari on that old device? We don’t use it much anymore because it’s really slow. I think it would be perfect for this application though because it has a nice big screen.
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 12:18 am
by wizzo
MiSTer Consoles wrote: ↑Mon May 08, 2023 12:05 am
I tried this out today using my very old iPad Air and my much newer iPhone. Everything seems to work great with the phone. Unfortunately I couldn’t get anything to load on the tablet. It appeared to connect fine. I was able to create a link in the menu for the page that had the MiSTer-Kun icon. Any idea why it won’t display anything in Safari on that old device? We don’t use it much anymore because it’s really slow. I think it would be perfect for this application though because it has a nice big screen.
It's a bit hard to say without seeing any errors (you have to enable a debug setting and plug the iPad into your PC with a cable to do that) but if you say it connects and Safari can see the icon... I can only think that Safari is too out-of-date for the UI library I use. You can try update iOS. It looks like the minimum version is the latest update of iOS 12.
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 6:58 am
by neogeo81
Are you planning on having custom systems? I have some MGL files and also some unstable console cores in another folder which i don't see on the menu.
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 7:07 am
by wizzo
neogeo81 wrote: ↑Mon May 08, 2023 6:58 am
Are you planning on having custom systems? I have some MGL files and also some unstable console cores in another folder which i don't see on the menu.
Maybe in the future but at this stage no, just because cores have quite a bit of extra metadata that I can't automatically scan for or infer. I like the idea though and I've put it on the big todo list.
That said, what cores exactly? I'd be happy to add them to the internal list. That would add support for a lot of my other scripts too.
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 7:21 am
by neogeo81
You know examples like i have a MGL file for the GameGear and the core itself is Master System. But when i choose GameGear it loads the Master System core.
And unstable stuff like Neo Geo CD and Saturn.
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 7:22 am
by Toya
Talking about mgl, can you add a "create MGL" button that saves it to a folder in the root and which can be renamed to anything?
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 7:43 am
by wizzo
neogeo81 wrote: ↑Mon May 08, 2023 7:21 am
You know examples like i have a MGL file for the GameGear and the core itself is Master System. But when i choose GameGear it loads the Master System core.
And unstable stuff like Neo Geo CD and Saturn.
Toya wrote: ↑Mon May 08, 2023 7:22 am
Talking about mgl, can you add a "create MGL" button that saves it to a folder in the root and which can be renamed to anything?
Absolutely. At the moment I'm playing around with a "menu" page just to browse the existing mister menu on your phone. That will be the basis of a more generic file browser and then I can start adding in stuff like this. Backend already has full support for auto-generating mgl files it just need a UI that doesn't suck
Re: MiSTer Extensions - Remote
Posted: Mon May 08, 2023 10:17 am
by Toya
That sounds good.
What I am imagining is the following:
- Using the search
- Search for game
- Game found
- Click "Save as MGL"
- Select folder (Have the option to create a new folder)
- MGL saved
A nice to have feature would be if it would be possible to select many games and create MGL
Re: MiSTer Extensions - Remote
Posted: Tue May 09, 2023 11:58 am
by MiSTer Consoles
wizzo wrote: ↑Mon May 08, 2023 12:18 am
MiSTer Consoles wrote: ↑Mon May 08, 2023 12:05 am
I tried this out today using my very old iPad Air and my much newer iPhone. Everything seems to work great with the phone. Unfortunately I couldn’t get anything to load on the tablet. It appeared to connect fine. I was able to create a link in the menu for the page that had the MiSTer-Kun icon. Any idea why it won’t display anything in Safari on that old device? We don’t use it much anymore because it’s really slow. I think it would be perfect for this application though because it has a nice big screen.
It's a bit hard to say without seeing any errors (you have to enable a debug setting and plug the iPad into your PC with a cable to do that) but if you say it connects and Safari can see the icon... I can only think that Safari is too out-of-date for the UI library I use. You can try update iOS. It looks like the minimum version is the latest update of iOS 12.
The iPad is on the latest version of iOS (12.5.7). I tried downloading Firefox and Chrome to see if either of those browsers might work. No luck. I guess it's just too old a device to work properly.
Is there a way to disable Remote on startup? I know you can shut it down using the script, but I'd like to prevent it from starting at all for now until I can find a tablet that might work properly with it.
Re: MiSTer Extensions - Remote
Posted: Tue May 09, 2023 12:40 pm
by wizzo
MiSTer Consoles wrote: ↑Tue May 09, 2023 11:58 am
Is there a way to disable Remote on startup? I know you can shut it down using the script, but I'd like to prevent it from starting at all for now until I can find a tablet that might work properly with it.
Sorry to hear it's still not working! I have tried on an iPhone and an iPad but both seem to be ok, I'm not sure what it could be. That iOS version looks like it should be ok, but it's literally on the very edge of supported versions for the library so perhaps not. If you ever have some spare time to go through the process of getting debug output please let me know!
If you want to remove it from startup, you'll have to open up the file called "user-startup.sh" in the "linux" folder on your SD card. In there you'll see a line that says "# mrext/remote". You can delete that line and the line immediately after it. Then save that file. If you want to remote all traces of the app, you can also (if you generated a search index) delete "search.db" from the root of the SD card and the "remote.sh" file in the "Scripts" folder.
If you wanna try it again later you can also just delete the app from the scripts folder and leave everything else. They won't do any harm.
Re: MiSTer Extensions - Remote
Posted: Tue May 09, 2023 1:22 pm
by MiSTer Consoles
wizzo wrote: ↑Tue May 09, 2023 12:40 pm
MiSTer Consoles wrote: ↑Tue May 09, 2023 11:58 am
Is there a way to disable Remote on startup? I know you can shut it down using the script, but I'd like to prevent it from starting at all for now until I can find a tablet that might work properly with it.
Sorry to hear it's still not working! I have tried on an iPhone and an iPad but both seem to be ok, I'm not sure what it could be. That iOS version looks like it should be ok, but it's literally on the very edge of supported versions for the library so perhaps not. If you ever have some spare time to go through the process of getting debug output please let me know!
If you want to remove it from startup, you'll have to open up the file called "user-startup.sh" in the "linux" folder on your SD card. In there you'll see a line that says "# mrext/remote". You can delete that line and the line immediately after it. Then save that file. If you want to remote all traces of the app, you can also (if you generated a search index) delete "search.db" from the root of the SD card and the "remote.sh" file in the "Scripts" folder.
If you wanna try it again later you can also just delete the app from the scripts folder and leave everything else. They won't do any harm.
Thanks for the information about disabling/uninstalling the application. I would be willing to go thru the debug process in the event we might actually be able to get this thing working. Do you know of a good reference that can guide me through the process?
Re: MiSTer Extensions - Remote
Posted: Wed May 10, 2023 2:19 am
by wizzo
MiSTer Consoles wrote: ↑Tue May 09, 2023 1:22 pm
Thanks for the information about disabling/uninstalling the application. I would be willing to go thru the debug process in the event we might actually be able to get this thing working. Do you know of a good reference that can guide me through the process?
Unfortunately you will need a Mac to do this. There are ways to do it from Windows and Linux but it's not easy. If you don't have a Mac then we might need to leave it for now. Anyway, if you do have one, you can follow "Method 1" of this: https://www.browserstack.com/guide/how- ... -on-iphone
When it is connected, you can load up the app on your computer and if there are any errors you should see them show up (probably bright red) in the bottom half (console) section of the inspector window. I just need to see what error text shows up in that console section.
Re: MiSTer Extensions - Remote
Posted: Wed May 10, 2023 3:55 am
by wizzo
I have put up a new release. This adds a new "Menu" page which basically mirrors the contents of the menu core on the MiSTer. Functionality is pretty basic right now, you can browse menu folders, sort items in the menu and launch a core/mra/mgl file from it.
This has been a good exercise in implementing a basic file browser, obvious features can be added to this like renaming/moving/deleting files, uploading new files, showing/hiding things and whatever else. When this is fleshed out some more I can look at a browser for all files, and then things like creating mgls from selections.
Re: MiSTer Extensions - Remote
Posted: Wed May 10, 2023 10:36 am
by MiSTer Consoles
wizzo wrote: ↑Wed May 10, 2023 2:19 am
MiSTer Consoles wrote: ↑Tue May 09, 2023 1:22 pm
Thanks for the information about disabling/uninstalling the application. I would be willing to go thru the debug process in the event we might actually be able to get this thing working. Do you know of a good reference that can guide me through the process?
Unfortunately you will need a Mac to do this. There are ways to do it from Windows and Linux but it's not easy. If you don't have a Mac then we might need to leave it for now. Anyway, if you do have one, you can follow "Method 1" of this: https://www.browserstack.com/guide/how- ... -on-iphone
When it is connected, you can load up the app on your computer and if there are any errors you should see them show up (probably bright red) in the bottom half (console) section of the inspector window. I just need to see what error text shows up in that console section.
Thanks for the information. I don't have a Mac, but one of my family members does. I'll see if I can enlist their services to help me do the debugging.
Re: MiSTer Extensions - Remote
Posted: Wed May 10, 2023 1:29 pm
by AngelicLiver
Can't thank you enough wizzo, this is incredibly useful already! I started using it on my arcade setup but now it lives on both my MiSTers.
Re: MiSTer Extensions - Remote
Posted: Wed May 10, 2023 9:48 pm
by neogeo81
I updated with update_all but i don't get the new menu. What am i missing?
Re: MiSTer Extensions - Remote
Posted: Wed May 10, 2023 10:42 pm
by Flandango
Try doing a cold reboot of mister. Mine didn't show up immediately after the update_all and a normal reboot (from OSD) until I did a cold reboot (or power-cycle).