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:

  • A remote control widget to let you send button presses similar to the functionality of a controller in the menu

  • An interface to index and search games for your all systems and launch them

  • A basic list of all cores on your system and the ability to launch them

  • A screenshot manager to browse, view, delete and take new screenshots

  • An interface for controlling music playing in BGM, including while a core is running

  • A wallpaper manager to browse your collection and set the current wallpaper

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

Nice Work !


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.

  • If I have a search result of 500 games it will only show 250 results. That is fine, but it is not possible to see the rest on another page

  • I get duplicates when I do a search. For example, when I search for Ninja, I get a title more than one time

  • Filter support. Only show games from a specific core


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. 8-) 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. 8-) 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.

  • Game Gear is in the list and launches the SMS core but it does not apply the setname tag so it won't use the GameGear folder. I will add support for this to match all the mgl files in the official distribution

  • Not really familiar with Neo Geo CD core yet. It is just the official core with CD support added? I will look into adding it

  • I will add Saturn support for sure

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).