Custom Loader Screen

Kernel, Main, Utilities & Applications, Miscellaneous Devices.
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Custom Loader Screen

Unread post by spark2k06 »

I'm working on a custom screen ROM loading mode. Depending on a file with loader name or loader_bg and extension png or jpg in the root directory (like menu.png/menu.jpg). I'm still working on it, but I can show how the idea would look like:

I'll share the source code and binary when I finalize some details. I don't like the fade in, I would have liked it to be smoother and with several frames, but I don't see a way to do it, due to performance limitations in the alpha channel processing, we'll see if someone comes up with something when I publish the code.

On the other hand, the screens are very simple, let's see if some designer can come up with some nice screens.

Note:

From now on, all the news about the new-features fork in the following thread:

viewtopic.php?p=84442#p84442

midline_slippy
Posts: 46
Joined: Sat Jan 27, 2024 12:14 pm
Has thanked: 4 times
Been thanked: 7 times

Re: Custom Loader Screen

Unread post by midline_slippy »

So many questions... But I think I can limit it to two ATM..

1 - The Reader you are using to load the ROM. What is that? NFC Reader? What Model? and card? I ordered a NEC Reader and cards on Amazon to be here tomorrow (based on the youtube videos of working NFC readers), but I like what you have setup much better for my plans (attempt to replace the guts of a NES (with 100% working buttons and ports) with a mister and card reader, using NFC cards like carts, maybe a RetroTINK 4k for 4k HDMI output, but that last part may be too ambisishus(sp?)).

2 - The wallpaper you currently have, is that just a single wallpaper image in the MiSTer menu? Funny, as I was actually going to see if it was possible to change the wallpaper based on what is selected in the menu. To see if it was possible to make a faux GUI via background images and currently selected menu line. I am working on a curated set of 300-500 games to make NFC cards for and mirror that set via the favorites script. Of course, leaving complete 1G1R ROMsets accessible via the console menu option.

I think you get the idea of where I am attempting to go with my project and how your project intersect...

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

The reader I use is the ACR122U, and the card labels are simple stickers cut out of A4 sheets of paper and printed with an inkjet printer.

Regarding the crossover of projects, I don't know. But in my case I am directly modifying the Main_MiSTer to support this feature. The images I use match the ones in the menu, but they are actually another image located in the root directory as "loader.png" and "loader_bg.png", depending on how we want it to behave, foreground or background. I haven't published the sources and the binary yet because I'm identifying all the places where its application comes from, like loading NeoGeo ROMs, arcade ROMs, etc... not everywhere it comes from, for example in Megadrive you can't see the ROM loading status.

Now you can't see it in the video, but for the foreground image I have also applied fade out when the loading is finished, and just before the start of the game.
I have serious doubts that sorgelig would support a change like this, at least not as it is now, but it is likely that the author of the InsertCoin fork would be willing to make a merge, even to convince sorgelig, it could be a starting point for those interested users.

midline_slippy
Posts: 46
Joined: Sat Jan 27, 2024 12:14 pm
Has thanked: 4 times
Been thanked: 7 times

Re: Custom Loader Screen

Unread post by midline_slippy »

spark2k06 wrote:

The reader I use is the ACR122U, and the card labels are simple stickers cut out of A4 sheets of paper and printed with an inkjet printer.

Awesome!! Thanx for the info.

Edit - Even more awesome, that is the exact model I ordered!!! - Edit

spark2k06 wrote:

Regarding the crossover of projects, I don't know. But in my case I am directly modifying the Main_MiSTer to support this feature. The images I use match the ones in the menu, but they are actually another image located in the root directory as "loader.png" and "loader_bg.png", depending on how we want it to behave, foreground or background.

I was hoping for a simple answer, like naming the pic files "xyz.jpg". Right now, I have custom wallpapers made for each game and using random backgrounds to cycle thru all of them. You may want to check out https://gamesdb.launchbox-app.com for wallpapers. They also have other image files that may be useful for projects like this.

Oh well. From browsing the forum, seems like anything modifying the Main_MiSTer seems to be a no-no around here...

I will be following your project tho, to see where it leads!! Thank you for the informative reply!!

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

After finalising some details of this feature, I am sharing the sources and the binary:

https://github.com/spark2k06/Main_MiSTe ... c97088de20

It also includes support for the TapTo service, more info here:

viewtopic.php?p=83273#p83273

https://github.com/spark2k06/Main_MiSTe ... ng-screen/ (all commits)

As for the loader screen, it is configured and activated as follows:

  • If there is a loader_bg.png or loader_bg.jpg file in the root directory, it will be used as background of the original loader, i.e. the original loading information and progress will be overdrawn over the image.

  • If there is a loader.png or loader.jpg file in the root directory, it will be used as a foreground of the original loader, i.e. the image will replace the original loader for all purposes, hiding it.

  • If neither of these two files is present, the original loader with the loading status information will be used.

Finally, it should be noted that the loader as background has priority over the loader as foreground, i.e. if both files are present, the loader as background will be used.

I'm not even going to try to make a PR of these features to sorgelig because it will be rejected for sure, I want them for personal use in my living room setup, if someone finds it useful or it looks like it can fit in other Main repositories that are maintained and updated like funkycochise's InsertCoin, feel free to integrate it.

On the other hand, as soon as I get support from the TapTo service that runs wizzomafizzo to detect all compatible NFC readers through its API, I will also update this repository to use it and the detection icon will support all of them, not just the ACR122U reader

Attachments
MiSTer_TapTo_Loader.zip
(578.29 KiB) Downloaded 108 times
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

New update, after the last available release of the TapTo service, which allows to know the connected reader, and also allows reconnection of the same.

  • Reader detection in the menu via the TapTo API service.

Changes here:

https://github.com/spark2k06/Main_MiSTe ... ing-screen

Binary attached.

Attachments
MiSTer_Loader.zip
(578.57 KiB) Downloaded 103 times
User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

For various reasons, modifications related to Loading screen may not be approved for use in the main repository. As a developer and user, I have a vested interest in this development and others I have in mind, so I will continue with them in a separate fork:

https://github.com/spark2k06/Main_MiSTer

I have created a new branch called 'new-features', which I have set as default and will maintain. There will also be a master branch, which will be an updated sync of the original repository, and that will help me in the future to perform the sync automation with the master branch, for now I will try to keep it updated manually.

You have available the latest binary with the latest official changes plus the new features of the fork in the release folder.

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

Currently this feature has a problem with scripts execution (well, rather with their visibility). As soon as I get some time to fix it, I will update the repository along with the corresponding binary.

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

spark2k06 wrote: Thu Feb 29, 2024 6:14 am

Currently this feature has a problem with scripts execution (well, rather with their visibility). As soon as I get some time to fix it, I will update the repository along with the corresponding binary.

Fixed. Updated binary in the same link... releases folder, latest binary.

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

Coming soon in the new-features branch of my MiSTerFPGA Main fork, custom loader with cover fusion located in a folder for them, perfect for TapTo, but also working from ROM selection from the menu:

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

New version of the new-features branch, added features:

  • Cover on the loading screen (Loading screen)

  • Standby screen (TapTo)

TapTo's customised standby screen will only be visible if a device is connected.

Latest synchronised version: MiSTer_20240110

TapTo.gif
TapTo.gif (747.52 KiB) Viewed 6885 times
Loading Game.png
Loading Game.png (370.8 KiB) Viewed 6885 times

To make use of these features, proceed as follows:

  • loader.png in root directory with 1920x1080 pixels for the loading screen background.

  • loading.png in root directory with alpha channel and 448x64 pixels for the game loading text, I leave a default one in the repository. The absence of this file causes the original loading status message to appear.

  • tapto_1.png and tapto_2.png in root directory with alpha channel and 512x384 pixels for the standby screen, I leave both as default in the repository.

  • waiting.png with alpha channel and 512x64 pixels for the standby waiting text, I leave one as default in the repository.

To make use of the covers, in the folder corresponding to the system (in the subfolder ..\games\subsystem for consoles) there must be a directory called covers, in which the .png files with the same name as the ROM, with alpha channel and size 256x320 pixels must be placed.

I will update this documentation in my fork soon:

https://github.com/spark2k06/Main_MiSTer

As can be seen in the video, if there is no cover for the selected game, the loading text will appear centred.

User avatar
mrsmjin
Posts: 12
Joined: Tue Feb 27, 2024 9:39 pm
Has thanked: 1 time
Been thanked: 5 times

Re: Custom Loader Screen

Unread post by mrsmjin »

Hi!
I was really looking forward to it.

Thank you for revealing it so quickly.

Thank you for your hard work implementing this feature.

User avatar
mrsmjin
Posts: 12
Joined: Tue Feb 27, 2024 9:39 pm
Has thanked: 1 time
Been thanked: 5 times

Re: Custom Loader Screen

Unread post by mrsmjin »

Hi!

Everything works fine. It's really cool!

However, there are some parts that are a bit unnatural by my standards, so I suggest two corrections.

  1. Is it possible to raise the standby screen text or loading screen text a little more from the bottom of the screen to the top?
    I don't think the ratio of the text position is right. I think it would look more natural if I raised it a little more.

  2. It appears that the screen appears slowly while loading and gradually disappears when loading is completed, but it seems that natural or unnatural phenomena appear depending on the characteristics of the display used.
    I think it's better to just show up right away without any effect.

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

mrsmjin wrote: Mon Mar 04, 2024 1:44 pm

Hi!

Everything works fine. It's really cool!

However, there are some parts that are a bit unnatural by my standards, so I suggest two corrections.

  1. Is it possible to raise the standby screen text or loading screen text a little more from the bottom of the screen to the top?
    I don't think the ratio of the text position is right. I think it would look more natural if I raised it a little more.

  2. It appears that the screen appears slowly while loading and gradually disappears when loading is completed, but it seems that natural or unnatural phenomena appear depending on the characteristics of the display used.
    I think it's better to just show up right away without any effect.

1. It is limited by the maximum pixel size of text and image. Whether it's up or down at the end is a matter of taste, so I'll make it definable from MiSTer.ini.

2. Same thing, the fact that we only have two transitions is because of limitation with the framebuffer, I like the fade in / fade out... so I will also make it configurable from MiSTer.ini in next versions.

User avatar
mrsmjin
Posts: 12
Joined: Tue Feb 27, 2024 9:39 pm
Has thanked: 1 time
Been thanked: 5 times

Re: Custom Loader Screen

Unread post by mrsmjin »

spark2k06 wrote: Mon Mar 04, 2024 2:33 pm
  1. It is limited by the maximum pixel size of text and image. Whether it's up or down at the end is a matter of taste, so I'll make it definable from MiSTer.ini.

  2. Same thing, the fact that we only have two transitions is because of limitation with the framebuffer, I like the fade in / fade out... so I will also make it configurable from MiSTer.ini in next versions.

Thank you for your feedback on our request.
I'm looking forward to the next version as they plan to allow me to configure the details I requested in mister.ini. In the meantime, I will be using the current version well.

User avatar
spark2k06
Core Developer
Posts: 876
Joined: Sat Jun 06, 2020 9:05 am
Has thanked: 409 times
Been thanked: 969 times

Re: Custom Loader Screen

Unread post by spark2k06 »

mrsmjin wrote: Mon Mar 04, 2024 3:59 pm

Thank you for your feedback on our request.
I'm looking forward to the next version as they plan to allow me to configure the details I requested in mister.ini. In the meantime, I will be using the current version well.

Load or standby text position setted in MiSTer.ini

By default, the position of both elements is at the bottom. They can be adjusted at the top with:

Code: Select all

loading_txt_up=1
waiting_txt_up=1

Note:

From now on, all the news about the new-features fork in the following thread:

viewtopic.php?p=84442#p84442

Post Reply