MiSTer Extensions - Remote

Kernel, Main, Utilities & Applications, Miscellaneous Devices.
User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

MiSTer Extensions - Remote

Unread post 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.

Attachments
Screenshot from 2023-05-03 22-22-52.png
Screenshot from 2023-05-03 22-22-52.png (44.42 KiB) Viewed 28098 times
Screenshot from 2023-05-03 22-23-10.png
Screenshot from 2023-05-03 22-23-10.png (151.06 KiB) Viewed 28098 times
Screenshot from 2023-05-03 22-23-18.png
Screenshot from 2023-05-03 22-23-18.png (110.83 KiB) Viewed 28098 times
Screenshot from 2023-05-03 22-23-24.png
Screenshot from 2023-05-03 22-23-24.png (418.03 KiB) Viewed 28098 times
Screenshot from 2023-05-03 22-23-31.png
Screenshot from 2023-05-03 22-23-31.png (73.44 KiB) Viewed 28098 times
Screenshot from 2023-05-03 22-23-37.png
Screenshot from 2023-05-03 22-23-37.png (956.02 KiB) Viewed 28098 times
Screenshot from 2023-05-03 22-24-22.png
Screenshot from 2023-05-03 22-24-22.png (108.56 KiB) Viewed 28098 times
pbsk8
Posts: 289
Joined: Mon Dec 28, 2020 4:23 pm
Has thanked: 75 times
Been thanked: 33 times

Re: MiSTer Extensions - Remote

Unread post 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?

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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

User avatar
aberu
Core Developer
Posts: 1192
Joined: Tue Jun 09, 2020 8:34 pm
Location: Longmont, CO
Has thanked: 247 times
Been thanked: 411 times
Contact:

Re: MiSTer Extensions - Remote

Unread post 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!

birdybro~
german_user
Posts: 112
Joined: Wed Sep 08, 2021 12:09 pm
Has thanked: 34 times
Been thanked: 16 times

Re: MiSTer Extensions - Remote

Unread post by german_user »

Nice Work !

Toya
Posts: 66
Joined: Tue Jun 08, 2021 9:59 pm
Has thanked: 5 times
Been thanked: 23 times

Re: MiSTer Extensions - Remote

Unread post 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

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

MiSTer Consoles
Posts: 150
Joined: Sun Dec 04, 2022 2:42 pm
Has thanked: 143 times
Been thanked: 24 times

Re: MiSTer Extensions - Remote

Unread post 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.

Missus
Posts: 183
Joined: Fri Jan 27, 2023 12:45 am
Has thanked: 48 times
Been thanked: 43 times

Re: MiSTer Extensions - Remote

Unread post 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!

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

Attachments
Screenshot from 2023-05-06 16-54-30.png
Screenshot from 2023-05-06 16-54-30.png (109.86 KiB) Viewed 27429 times
Toya
Posts: 66
Joined: Tue Jun 08, 2021 9:59 pm
Has thanked: 5 times
Been thanked: 23 times

Re: MiSTer Extensions - Remote

Unread post by Toya »

Thanks for the update.
Seems like when you search for something that doesn't exist, the page will crash

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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

Attachments
Screenshot from 2023-05-07 19-53-02.png
Screenshot from 2023-05-07 19-53-02.png (56.74 KiB) Viewed 27272 times
MiSTer Consoles
Posts: 150
Joined: Sun Dec 04, 2022 2:42 pm
Has thanked: 143 times
Been thanked: 24 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
neogeo81
Top Contributor
Posts: 445
Joined: Fri Apr 16, 2021 1:52 pm
Has thanked: 34 times
Been thanked: 47 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
neogeo81
Top Contributor
Posts: 445
Joined: Fri Apr 16, 2021 1:52 pm
Has thanked: 34 times
Been thanked: 47 times

Re: MiSTer Extensions - Remote

Unread post 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.

Toya
Posts: 66
Joined: Tue Jun 08, 2021 9:59 pm
Has thanked: 5 times
Been thanked: 23 times

Re: MiSTer Extensions - Remote

Unread post 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?

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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

Toya
Posts: 66
Joined: Tue Jun 08, 2021 9:59 pm
Has thanked: 5 times
Been thanked: 23 times

Re: MiSTer Extensions - Remote

Unread post 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

MiSTer Consoles
Posts: 150
Joined: Sun Dec 04, 2022 2:42 pm
Has thanked: 143 times
Been thanked: 24 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

MiSTer Consoles
Posts: 150
Joined: Sun Dec 04, 2022 2:42 pm
Has thanked: 143 times
Been thanked: 24 times

Re: MiSTer Extensions - Remote

Unread post 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?

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
wizzo
Scripting Wizard
Posts: 183
Joined: Sat Mar 12, 2022 11:32 am
Has thanked: 15 times
Been thanked: 243 times

Re: MiSTer Extensions - Remote

Unread post 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.

Attachments
Screenshot from 2023-05-10 11-39-52.png
Screenshot from 2023-05-10 11-39-52.png (120.82 KiB) Viewed 26872 times
Screenshot from 2023-05-10 11-39-35.png
Screenshot from 2023-05-10 11-39-35.png (52.67 KiB) Viewed 26872 times
MiSTer Consoles
Posts: 150
Joined: Sun Dec 04, 2022 2:42 pm
Has thanked: 143 times
Been thanked: 24 times

Re: MiSTer Extensions - Remote

Unread post 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.

AngelicLiver
Top Contributor
Posts: 433
Joined: Fri May 29, 2020 8:50 am
Has thanked: 86 times
Been thanked: 120 times

Re: MiSTer Extensions - Remote

Unread post 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.

User avatar
neogeo81
Top Contributor
Posts: 445
Joined: Fri Apr 16, 2021 1:52 pm
Has thanked: 34 times
Been thanked: 47 times

Re: MiSTer Extensions - Remote

Unread post by neogeo81 »

I updated with update_all but i don't get the new menu. What am i missing?

Flandango
Core Developer
Posts: 459
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 59 times
Been thanked: 383 times

Re: MiSTer Extensions - Remote

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

Post Reply