Jump to content
LaunchBox Community Forums

Is it possible to get LaunchBox or Big Box to launch MiSTer FPGA games or cores?


Beatlemaniac19

Recommended Posts

I've been a LB user for about five years now and love everything about LB/BB and don't think there's a better front-end out there. However, last night I watched Simply Austin's latest video regarding the different options for retro gaming in 2020 and beyond: 

 

He mentioned FPGA which upon further research is amazing. Hardware emulation vs software emulation is something I never really considered although I was aware of Everdrives and whatnot. The long and short of it is that I'm fascinated by the king of FPGA machines which is the MiSTer FPGA. I don't know how familiar most of you guys are with it, but here are some links to get you started if you're new like me:

https://github.com/MiSTer-devel/Main_MiSTer/wiki
https://github.com/MiSTer-devel
https://misterfpga.org/
https://misterfpga.co.uk/

I love RetroArch, but don't like MAME as I feel it's a clunky mess and updating games is a pain. MiSTer sort of fixes this problem. I'm also at a crossroad of considering buying a GPD WInMax versus a MiSTer, but don't know what to go with yet.

What I'm getting at is, is it possible to load games or cores with MiSTER through LB, and if it's not possible now, is it something that could be implemented in the future? I don't want to give up the time I've put into LB or the ability to easily read manuals or look at box art, etc. I've seen threads of people talking about this issue of lacking a robust front-end on MiSTer forums, but no mention of this capability on the LB forum. Below are some links to those forum posts for those intersted?
 

https://www.atari-forum.com/viewtopic.php?f=117&t=38109

My idea of a workaround if you can't natively use MiSTer on a PC is to connect the MiSTer device via USB to my PC and change the location of ROMs to the MiSTer SD card that's connected. The problem is that LB doesn't seem to have MiSTer as an emulator option. Would creating a MiSTer emulator and following the steps I've stated solve this problem? Would it work with a second monitor?

Sorry for the long post and all the questions, but it's a unique setup and a difficult implementation to figure out. Any help on this topic would be much appreciated.

Link to comment
Share on other sites

9 minutes ago, Beatlemaniac19 said:

What I'm getting at is, is it possible to load games or cores with MiSTER through LB,

No. The mister isnt a emulator, its specific hardware device that uses its own "cores" as emulators, it has absolutely nothing to do with a PC. Its no different to connecting a raspberry pi to a PC with a USB cable, it will do nothing.

  • Like 1
Link to comment
Share on other sites

Just now, Beatlemaniac19 said:

Thanks for the response. Is it possible to get LB to run on a Mister one day or is that a complete pipe dream?

You might be able to get the DOS core to run the DOS version of Launchbox, but that would be about it. It would be no different than somehow connecting a real NES to a PC and expecting Launchbox to be able to see and load games on the NES.

  • Like 1
Link to comment
Share on other sites

1 hour ago, Beatlemaniac19 said:

I'm also at a crossroad of considering buying a GPD WInMax versus a MiSTer, but don't know what to go with yet.

These are 2 very different devices for 2 very different tasks, one is a portable PC while the other is neither portable or a PC.

You get a GPD WinMax if you want / need something that is portable and runs PC like apps including emulators. You get a DE10-Nano to run MiSTer if you want to hook it up like a console and have the best possible "emulation" experience at home.

  • Like 1
Link to comment
Share on other sites

5 minutes ago, Lordmonkus said:

These are 2 very different devices for 2 very different tasks, one is a portable PC while the other is neither portable or a PC.

You get a GPD WinMax if you want / need something that is portable and runs PC like apps including emulators. You get a DE10-Nano to run MiSTer if you want to hook it up like a console and have the best possible "emulation" experience at home.

Thanks @Lordmonkus I saw you posted in another thread about the differences between PC emulation and MiSTer. What is your preferred method of emulation. Didn't you say it's like a quantity (PC emulators) vs quality (MiSTer) argument? Is playing on MiSTer as good as original hardware in your opinion?

Link to comment
Share on other sites

4 minutes ago, Beatlemaniac19 said:

Is playing on MiSTer as good as original hardware in your opinion?

Absolutely.

5 minutes ago, Beatlemaniac19 said:

What is your preferred method of emulation.

I play on the MiSTer where the core exists and software emulation when it doesn't.

I know you said above you did not like Mame but I actually prefer Mame for arcade over everything else except for NeoGeo which has an amazing MiSTer core so I play those games there.

I have my MiSTer hooked up to a CRT monitor and it's glorious, looks great and zero latency.

Link to comment
Share on other sites

  • 2 months later...

The only thing that I could think of doing would be:
1) Hook up a MiSTer to your TV on a second input
2) When launching a game that's hosted on your MiSTer device, set up a command that:
    2a) Do something to change the input on your TV (IR blaster)
    3b) Figure out how to send a command to MiSTER to:
           3b1) Load the core of the system the game runs on
           3b2) Load the game

That doesn't even factor in how to automate exiting the game

I'd love to do it though, because I'm always trying to get as close to perfect emulation as possible. And an FPGA like MiSTer is about as good as it gets without original hardware.  Maybe if we end up having a second pandemic and I end up having even more freetime and go crazy enough, i'll attempt to do something like that.

It'd be super cool tho if someone thought of a way to use Launchbox as a front-end for other devices in that fashion

Link to comment
Share on other sites

  • 2 months later...
  • 5 months later...
On 10/21/2020 at 6:19 PM, djxtheowl said:

The only thing that I could think of doing would be:
1) Hook up a MiSTer to your TV on a second input
2) When launching a game that's hosted on your MiSTer device, set up a command that:
    2a) Do something to change the input on your TV (IR blaster)
    3b) Figure out how to send a command to MiSTER to:
           3b1) Load the core of the system the game runs on
           3b2) Load the game

That doesn't even factor in how to automate exiting the game

I'd love to do it though, because I'm always trying to get as close to perfect emulation as possible. And an FPGA like MiSTer is about as good as it gets without original hardware.  Maybe if we end up having a second pandemic and I end up having even more freetime and go crazy enough, i'll attempt to do something like that.

It'd be super cool tho if someone thought of a way to use Launchbox as a front-end for other devices in that fashion

Here is a solution to 3b - https://github.com/pocomane/MiSTer_Batch_Control#command-load_rom

The example shows how to load a game from an ssh session to the mister - https://github.com/pocomane/MiSTer_Batch_Control/blob/master/example/demomode.sh

This project already has this working for a mobile app - 

Code - https://github.com/tatsutron/mistercon

Link to comment
Share on other sites

  • 8 months later...
  • 5 months later...
  • 5 months later...
  • 2 weeks later...

Good afternoon, I was reading this thread as I have a similar situation, I do not have MisterFPGA, however, I do have some original consoles, and on many occasions I use them to play natively, basically PS2, PS3, PS4, Atari 2600, MegaDrive/Genesis, (that is all my collection) except my main handheld PSVita where i like to play handheld consoles.

The thing is that I have reached a certain process of automation, which especially began to interest me at the time that LaunchBox began to count the game time, I needed to "launch" somehow the games from LaunchBox for this somehow and thus have those records in my database. 

The solution within my reach and that works great for what I'm looking for is the use of run scripts, at first I started with very basic things like a popup window with close button with text like (close this window when you finish your game). I used it as main executable of the game, then I complicated things a bit more, for example with PS4 and PS3, having it connected to the same 4K monitor as the PC, using an application called "controlmyMonitor" that allows execution through parameters in shortcut, I managed to make "controlMyMonitor" change the input source automatically so that when running a PS4 game, automatically launches the PS4 Remote Play, is an application that allows you to play remotely to a PS4, with the same script automatically made the necessary clicks so that the application automatically got into the PS4 remotely, you have to make a series of clicks in the window, I did it with sequential and studied TAB and enter keystrokes. In addition I automatically change the monitor source (with controlMyMonitor), and as I being playing remotely, I can use the same pad that I have connected to the computer, the sound output is also executed by the same means, which saves me having to connect anything to the PS4 except, power and local network, it becomes a very simple method (this same method can be used for PS3 for example with some caveats) for the case of older consoles that I like to play on CRT  I basically do the same thing but I have to do the process of turning on the TV and changing the input source manually, sound and controls are native on this case.

Obviously loading the required game is a manual process in this case, but hey, it allows you to complete launchbox statistics and have access to manuals and all the multimedia hosted in Launchbox. 

I hope the idea give you a path to run!

 
Link to comment
Share on other sites

  • 9 months later...

For those interested, I wrote a guide to get launchbox to launch games on mister directly because I wanted to use it as a frontend for my mister.  I couldn't get that launcher-mister.py script to work so I made my own method.

All seamless just load a game in launchbox and it auto loads the correct core and game on mister all ready to go so launchbox acts as a mister frontend.

Mister setup:
1. Set static IP for Mister:

Get into the mister terminal (F9), log in, default pw is 1, type "ifconfig"
Get the mac address of the Ethernet port, look for eth0: and the ETHER value is the mac address.  For WIFI look for something like wlan0.
Go into your router as assign this mac an IP address.
2. Install mbc: https://github.com/pocomane/MiSTer_Batch_Control
Just put the file "mbc" from the releases page into /media/fat/, we need to call this file when launching games.
3. The roms on your mister must be in the root of that cores folder, not in sub dirs eg NES roms must be in media/fat/games/NES/gamename.nes, no subfolder here will load from launchbox (I'm sure you could get it working somehow) eg. put a NES 1G1R set into /media/fat/games/NES/

PC setup:
1. Install autohotkey
2. Create a empty autohotkey script called Mister.ahk, edit it, delete everything inside and paste the following, editing it to add your mister static IP address:

#NoEnv
fullrompath := param in A_Args[1]
platform := param in A_Args[2]
blank := param in A_Args[3]
SplitPath, fullrompath, name
SplitPath, fullrompath,, dir
SplitPath, fullrompath, name, dir, ext, name_no_ext, drive
romfile := name
directory := dir
extension := ext
romname := name_no_ext

Run cmd.exe /c ssh root@YOURMISTERIPADDRESS /media/fat/mbc load_rom %platform% '/media/fat/games/%platform%/%romfile%'
Sleep, 1250
Send, 1
Sleep, 250
Send, {enter}
exit

This assumes your mister ssh username and password are default ("root" and "1").

3. Go into launchbox and add an emulator called Mister, add Mister.ahk as the emulator with the following settings ("%romfile%" "%platform%" "% goes in default command line parameters): 

image.thumb.jpeg.5bb3a931c20f8ce61fd8f31ea2505860.jpeg


4. You must have a local copy on your PC of the roms from your mister, doesn't matter where the roms are located on PC as we are only using the rom names (I used a batch script to generate empty files with the same names as my roms to save space)
5. Bring these roms identical to you mister roms into launchbox. All your platforms in launchbox must be named the same as that platforms core in mister eg "Nintendo Entertainment System" in launchbox must be renamed to "NES" to match the mister core name. Because we are sending the launchbox platform name to mister to tell it what core to load.
6. Assign each mister system with the Mister emulator we created before.
7. You should have all your systems in launchbox named like follows:

image.thumb.jpeg.09ba3811334c4c316f3ee32cae8c216b.jpeg

Containing identical roms to what is on your mister and each assigned with the Mister emulator we made before.

Load a game in launchbox and It should run on your mister!

Arcade games:
Every arcade game has its own core name, so needs a different autohotkey script to load the .MRA and core directly. Remember you need to copy all of the .MRA files from media/fat/_Arcade/ to your PC.

1. Create an empty autohotkey script called MisterArcade.ahk, delete all text in it and add the following (edit your mister IP address):

#NoEnv
fullrompath := param in A_Args[1]
platform := param in A_Args[2]
blank := param in A_Args[3]
SplitPath, fullrompath, name
SplitPath, fullrompath,, dir
SplitPath, fullrompath, name, dir, ext, name_no_ext, drive
romfile := name
directory := dir
extension := ext
romname := name_no_ext

Run cmd.exe /c ssh root@YOURMISTERIPADDRESS "export MBC_CUSTOM_FOLDER=/media/fat/_Arcade;export MBC_CUSTOM_CORE=!direct;/media/fat/mbc load_rom CUSTOM '/media/fat/_Arcade/%romfile%'"
Sleep, 1250
Send, 1
Sleep, 250
Send, {enter}
exit

Now make an emulator called MisterArcade in launchbox, assign MisterArcade.ahk as the emulator with the same settings as previous Mister emulator.
2. Bring those arcade .MRA files identical to the .MRA files located in mister media/fat/_Arcade/ into launchbox, platform name doesn't matter for this one.
3. Assign this arcade platform with the MisterArcade emulator we made.

Arcade should now work!

Fix for cores that wont work: (I found only GBA2P and N64 need this so far)
Some cores on mister just won't load when we send the core name from our script to mbc (mbc pulls the core names from mister main I think and some don't report it) such as GBA2P and the new N64 core, the mister batch script won't call these. These systems need custom variables in a new Emulator .ahk file.

1. Create empty autohotkey script named MisterN64.ahk, edit it and remove all text, put in the following (edit your mister IP address):

#NoEnv
fullrompath := param in A_Args[1]
platform := param in A_Args[2]
blank := param in A_Args[3]
SplitPath, fullrompath, name
SplitPath, fullrompath,, dir
SplitPath, fullrompath, name, dir, ext, name_no_ext, drive
romfile := name
directory := dir
extension := ext
romname := name_no_ext

Run cmd.exe /c ssh root@YOURMISTERIPADDRESS "export MBC_CUSTOM_FOLDER=N64;export MBC_CUSTOM_CORE=/media/fat/_Console/N64_;/media/fat/mbc load_rom CUSTOM '/media/fat/games/%platform%/%romfile%'"
Sleep, 1250
Send, 1
Sleep, 250
Send, {enter}
exit

2. Create a emulator in launchbox call MisterN64 and assign MisterN64.ahk as the emulator. Same emulator setting as previous Mister emulator.
3. Copy roms identical to the roms on mister into launchbox and create N64 system.
4. Follow this same process for other problem cores just change the script for any other cores that wont work eg GBA2P.

EXTRA:
For true seamlessness if you have a LG C2/C3 OLED you can use "LG Companion" app to automatically switch HDMI input on game load. Install and setup "LG Companion" and add this line to your Mister.ahk emulator file to automatically switch HDMI inputs when loading a game.

Run cmd.exe /c "C:\Program Files\LGTV Companion\LGTV Companion.exe" -sethdmi3


Hopefully I have explained it correctly, this was just how I did it maybe there are ways to improve it or do it better, awesome to have a seamless launchbox frontend for Mister.

Link to comment
Share on other sites

  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...