Jump to content
LaunchBox Community Forums

cybermat

Members
  • Posts

    35
  • Joined

  • Last visited

Posts posted by cybermat

  1. Hello,
    i have this strange use case using BigBox. Since VRR with BigBox (using WPF) is not a good user experience, i made an adrenaline amd rule, adding BigBox as a game, turning VRR off.

    With this rule i fix the laggish/stuttering experience, but i face the issue that launching a game through Retroarch, VRR is not engaged anymore. If i start a mame game, using mame standalone is all fine.

    - If i disable BigBox rule, it comes back to work
    - if i ALT ENTER twice it comes back to work
    - if i start windowed and then i press ALT ENTER comes back to work
    - if i start from Launchbox, it works
    - if i plays with video output, changing vulkan to d3d11 i usually see that comes back to work till i close/re enter Big Box

    I use Windows 11 and a RX 6400 with latest drivers, on a Samsung QN800A (65" Freesync Premium), I tried a lot of settings, disabled desktop fullscreen optimisation, disabled game loading screen, increased time of the game loading screen and so on, but with no luck.

    On another PC i have a GT 1030, with a Lg Ultragear (Gsync compatible) and it works fine with a rule to shut down VRR for BB.
    I put PC with Amd rx 6400 on Lg Ultragear, same issue. I cannot plug PC with GT 1030 to Samsung 65", since HDMI version is not 2.1 and cannot be used with Samsung VRR 2.1 monitor.

    If some users could test this scenario and confirm the issue, would be great. I think that could be a driver issue, but maybe since AMD and NVIDIA works differently, a developer could surely sheds light on this.

    Thanks

  2. 15 hours ago, skizzosjt said:

    hi @cybermat my experience is different than yours. consider what we are doing with this profile setting. we turn VRR off for a single program, Big Box. it has no impact on any other program or game and its use of VRR. this is the point of making it a profile adjustment, rather than a global adjustment. I use a variety of emulators and play many storefront games all being launched from Big Box and VRR works as expected for everything else. I've never had an issue with VRR engaging when a game is launched from Big Box, even when VRR is disabled for just Big Box through a game profile in AMD Radeon Settings.

    edit: test with a modern game that is going to push your GPU. prove to yourself that VRR doesn't work if you launched a modern game from Big Box that cannot run at the max Hz of your display. the old consoles you mention can run on a low spec potato system. VRR isn't really very helpful there since they should be at their max FPS output the whole time. you could enable v-sync and get the same benefit which is just preventing screen tearing. unless you're getting screen tearing on these NES/SNES/Genesis games then VRR is working (assuming v-sync is off too.....if v-sync is on then turn that off to make sure VRR is engaged)

    In retroarch vsync and vrr should stay on, it's a RA spec.

    The user case is from Big Box with VRR off, if retroarch is used for nes / snes / genesis and you launch a game with 60 hz what you see on hud display ? What OS are you using ? There are a lot of variables, OS, monitor used and so on.

    Unfortunately seems that a few users use Launchbox with VRR monitor, because i didn't see many posts about it.

    EDIT : maybe i found out the root cause of my issue. This happens just with Retroarch (for the moment). If i start Retroarch in fullscreen and i come from Big Box with VRR OFF, there's no way to activate VRR on Retroarch. What i did to solve my issue is removing -f command under Launchbox Emulator section and put under Hotkey script to press ALT ENTER after some seconds after RA has been launched. This works like a charm, 

     

  3. Just now, cybermat said:
    On 5/6/2024 at 3:30 AM, skizzosjt said:

    in a twisted bit of irony I just updated GPU drivers over the weekend going from ones from August 2023 23.8.2 to latest of April 2024 24.4.1 and problem for me has returned. no clue if I had some magic setting enabled/disabled to prevent it or what, but I'd like to lean on "no". even went back to previous 23.8.2 drivers to see if it would go away again. no luck there. so, now I'm back to requiring a profile for Big Box to disable both VRR and image sharpening. on the plus side, at least the workaround I detailed still works

     

    On 5/6/2024 at 3:32 AM, Hamburglin said:

    I literally just did that trick after adding big box as a "game" in the Radeon drivers.

    It works. Thank you!

    Could you please check this use case ?

    Game profile for Big Box with VRR OFF --> No stutter is all smooth
    Enter a Nes/Genesis/Snes game with a refresh of 60 (usually NTSC) --> VRR is working ? According to my experience VRR is not able to activate itself when you pass from BigBox with VRR off to the game you've selected. 

    I have the latest amd drivers and a RX 6400 (24.5.1)

     

  4. Hello,i'm experiencing that sometimes during gameplay (mame for example) the frontend exits (game Over screen) and i have the mame running in background. I need to close BB and then mame, then restart BB.

     

     

     

  5. Doing this you enable the default hlsl settings.

    Here 

    you can find other settings and if you search under OUT TOPIC - EMULATION section here you can find others. 
    Here https://docs.mamedev.org/advanced/hlsl.html you can find documentation about that.

    Next time use OUT TOPIC - EMULATION section, because this is not the right section where discuss this.

     

  6. First of all thanks for your plugin. 

    I'm a total noob regarding coding, but analyzing your code i did same changes i applied for another front end. So according with my test cases, now i send rotate command only when needed. I tried to load a lot of 4 ways games, then a lot of 8 ways games with just one rotation.
    Furthermore, in order to cover all the cases (i hope), i also tested with games "out" from the config file and i get properly the default value only if i've servo rotated to 4 ways. (i put 8 ways as default, but turned off RESET on exit).

    The only case where i could "force" is when i boot the first time. 

    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.IO;
    using System.Reflection;
    using TinyJson;
    using Unbroken.LaunchBox.Plugins;
    using Unbroken.LaunchBox.Plugins.Data;
    
    namespace ServoStiker
    {
        public class ServoStiker : IGameLaunchingPlugin
        {
            private string pathToJoyToTray;
            private string pathToConfig;
            private string defaultMode;
            private string[] eightNames;
            private string[] fourNames;
            private string resetOnExit;
            string arguments = "";
            int x = 0;
    
            public ServoStiker()
            {
                this.pathToConfig = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\ServoStiker.conf";
                Dictionary<string, object> dictionary = (Dictionary<string, object>)File.ReadAllText(this.pathToConfig).FromJson<object>();
                this.pathToJoyToTray = dictionary["joytrayPath"].ToString();
                this.defaultMode = dictionary["default"].ToString();
                char[] chArray = new char[2] { ',', ';' };
                this.eightNames = dictionary["8-way-names"].ToString().Split(chArray);
                this.fourNames = dictionary["4-way-names"].ToString().Split(chArray);
                this.resetOnExit = dictionary["reset-on-exit"].ToString();
            }
    
            public void OnAfterGameLaunched(IGame game, IAdditionalApplication app, IEmulator emulator)
            {
            }
    
            public void OnBeforeGameLaunching(IGame game, IAdditionalApplication app, IEmulator emulator)
            {
                KeyValuePair<IGameController, int?>[] controllerSupport = game.GetControllerSupport();
                
                for (int index = 0; index < controllerSupport.Length; ++index)
                {
                    KeyValuePair<IGameController, int?> keyValuePair = controllerSupport[index];
                    int num1 = Array.IndexOf<string>(this.fourNames, keyValuePair.Key.Name);
                    int num2 = Array.IndexOf<string>(this.eightNames, keyValuePair.Key.Name);
                    if ((num1 > -1) && (x != 4))
                    {
                        arguments = "-servo joy4way";
                        x = 4;
                        Process.Start(this.pathToJoyToTray, arguments);
                    }
    
                    else if ((num2 > -1) && (x != 8))
                    {
                        arguments = "-servo joy8way";
                        x = 8;
                        Process.Start(this.pathToJoyToTray, arguments);
                    }
    
                    else if ((this.defaultMode == "4-way") && (num1 <= -1) && (num2 <= -1) && (x != 4))
                    {
                        arguments = "-servo joy4way";
                        x = 4;
                        Process.Start(this.pathToJoyToTray, arguments);
                    }
                    else if ((this.defaultMode == "8-way") && (num1 <= -1) && (num2 <= -1) && (x != 8))
                    {
                        arguments = "-servo joy8way";
                        x = 8;
                        Process.Start(this.pathToJoyToTray, arguments);
                    }
                }
                
            }
    
            public void OnGameExited()
            {
                if (!(this.resetOnExit == "True"))
                    return;
                string arguments = "";
                if (this.defaultMode == "8-way")
                    arguments = "-servo joy8way";
                else if (this.defaultMode == "4-way")
                    arguments = "-servo joy4way";
                Process.Start(this.pathToJoyToTray, arguments);
            }
        }
    }

     

  7. On 9/30/2021 at 6:57 AM, Dinomight said:

    In case you want to contribute here is the github link : https://github.com/Darkmadda/ServoStiker

    I checked the source code of the DLL and is different. Could you please post the source code of the latest DLL ? (1.0.4) ?
    Anyway, i decompiled the DLL in order to get the code and changed the behaviour when the stick is already in 4 or 8 ways, in order to no stress the motor.  It seems working but i need to reproduce different user cases.

    In the conf file there is a typo 

    "4-way-names": "4-Way Joystick,Double 4-Way Joysticks,Half 4-Way Joystick,Double Horizontal Joysticks,Double Vertical JoysticksHorizontal Joystick,Vertical Joystick",

  8. Thanks for this plugin that i will try on my Bartop.

    I'm not a coder but i modified the coding for another frontend, in order to avoid to stress servostik if not necessary.

    Example : 

    I start from 8 ways (default) and i play a 4 ways : a command is sent to rotate. In this case a variable X should take 4.
    I exit from that game and I play another 2/4 ways. If x=4 there's no need to send any command.
    I exit and i play a 8 (or more) ways. Since X != 8 then rotate and X=8 
    and so on...

    Do you think that it's feasible ?

  9. Ok you're right, Image group dictates that. Under LB "image group" was not refreshing ...and i keep to see CLEAR LOGOS for any platform! I rebooted and now for any platform i can see "image group" selection.

    BTW it's really a nice theme!

    • Like 1
  10. I'm using themes, that shows in the details, the version of the games. City Hunter theme is good for this, for example.
    I'm not a programmer and i'm a bit noob on coding, but i've been succesfully able to show the version after the title adding "<TextBlock Name="VersionString" Text="{Binding Path=VersionString}" under XAML files.

    I think that is a bit tricky, but does the job. I'm trying a lot of themes, when i will decide the definitive one, i will edit it accordingly. 

     

     

     

     

     

    Version-CityHunter.PNG

  11. It seems that is not possible under Big Box and i would need to combine in order to enable this.

     

    Let me clarify, i just need to see the version information after the title. I have a set of unique version of the games (so combine is not the right way to act), but sometimes i see the same name of the games under Big Box.

  12. Hello, i enabled View - Show - Versions (CTRL+R) under Launchbox and i'm able to see Game Title + Versions, but i cannot do the same thing under Big Box

    I dug into Big Box options but i cannot see anything that could help me. I've seen the option ON under Game Details, but i don't understand how to display Version in the main scroll list. Thanks

  13. I have a custom set generated by http://adb.arcadeitalia.net/ , 3164 roms with just arcade games, working and imperfect parents and just some working/imperfect clones when the parents are not.

    I know that behind current solution there is a lot of work, but it would be nice using official metadata also with custom Mame set.
    Romname linked to Launchbox ID would help a lot for scraping the proper media, expecially for Arcade roms.

    Thanks for your help.

     

     

  14. I stated "simplified" because on official xml is like that

    <machine name="cannball" sourcefile="yunsung8.cpp">
            <description>Cannon Ball (Yun Sung, horizontal)</description>
            <year>1995</year>
            <manufacturer>Yun Sung / Soft Vision</manufacturer>

    I avoided Mame Fullset because i don't have a full set :) , i will try with that and let you know!

     

  15. Hello,
    i have 3164 mame roms and i imported them via "IMPORT ROM FILES" forcing to use Mame metadata.

    I've seen that metadata file used is Mame.xml , but with "simplified" naming convention. For example the simplified game name of Cannon Ball appears twice for games totally different.

    <MameFile>
        <FileName>cannball</FileName>
        <Name>Cannon Ball</Name>
        <Status>good</Status>
        <Developer />
        <Publisher>Yun Sung / Soft Vision</Publisher>
        <Year>1995</Year>
        <IsMechanical>false</IsMechanical>
        <Version>(Yun Sung, horizontal)</Version>
        <Region>North America</Region>
        <IsBootleg>false</IsBootleg>
        <IsPrototype>false</IsPrototype>
        <IsHack>false</IsHack>
        <IsMature>true</IsMature>
        <IsQuiz>false</IsQuiz>
        <IsFruit>false</IsFruit>
        <IsCasino>false</IsCasino>
        <IsRhythm>false</IsRhythm>
        <IsTableTop>false</IsTableTop>
        <IsPlayChoice>false</IsPlayChoice>
        <IsMahjong>false</IsMahjong>
        <IsNonArcade>false</IsNonArcade>
        <Genre>Puzzle / Toss * Mature *</Genre>
        <PlayMode>2P sim</PlayMode>
        <Language>English</Language>
        <Source>yunsung8.cpp</Source>

    <MameFile>
        <FileName>cannonb2</FileName>
        <Name>Cannon Ball</Name>
        <CloneOf>cannonbp</CloneOf>
        <Status>good</Status>
        <Developer />
        <Publisher>bootleg (TV Game Gruenberg)</Publisher>
        <Year>1985</Year>
        <IsMechanical>false</IsMechanical>
        <Version>(bootleg on Crazy Kong hardware) (set 2, buggy)</Version>
        <Region>North America</Region>
        <IsBootleg>true</IsBootleg>
        <IsPrototype>false</IsPrototype>
        <IsHack>false</IsHack>
        <IsMature>false</IsMature>
        <IsQuiz>false</IsQuiz>
        <IsFruit>false</IsFruit>
        <IsCasino>false</IsCasino>
        <IsRhythm>false</IsRhythm>
        <IsTableTop>false</IsTableTop>
        <IsPlayChoice>false</IsPlayChoice>
        <IsMahjong>false</IsMahjong>
        <IsNonArcade>false</IsNonArcade>
        <Genre>Ball &amp; Paddle / Breakout</Genre>
        <PlayMode>6P alt</PlayMode>
        <Language>English</Language>
        <Source>cclimber.cpp</Source>

    With the same simplified name, scraped media are the same. To fix this i need to go under edit metadata and assign the proper launchbox database ID. It's not a problem but i ask

    1) Why i cannot have the name used by OFFICIAL mame.xml ? Adding "version" surely helps to have an unique name, but it keeps to not being the original name of the rom.
    2) Why romname is not used for automaticaly assign Launchbox ID ? In this way i could properly retrieve media in a reliable and faster way.

    Tell me if i well understood the mechanism under mame metadata and scraping..

    Thanks

     

     

     

  16. I take advantage of this thread, since i solved these issues with Naomi, Atomis etc etc using a third partyplugin (mame xml importer beta 0.001) that use the mame.xml data structure when parsing roms name.
    In this way you have ALL THE TITLES PROPERLY filled and you can easily hide clones if you like.

    I don't know how it works scraping with Launchbox database, i know that is difficult and i'm not a programmer, but it would be good having the chance to preserve the title name when Launchbox Id is found, generally Launchbox name is "simplified"

    I would have another question, but maybe is better waiting a fix , when i import using third party plugin i noted that if i select download metadata and media of "Sammy Atomiswave" for example, all the clones comes back again to be visibile.

     

×
×
  • Create New...