Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: Black Frame Insertion Dynamic Refresh Rate switching possible?  (Read 3713 times)

0 Members and 1 Guest are viewing this topic.

retrogamer123

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 26
  • Last login:April 11, 2021, 04:06:23 am
  • I want to build my own arcade controls!
Black Frame Insertion Dynamic Refresh Rate switching possible?
« on: December 30, 2018, 08:51:13 am »
I love groovymame and the low input lag it comes with. Lately I have been wondering if it is possible to utilize my freesync display with black frame insertion and switching the refresh rate dynamically.
Right now my solution is to add custom refresh rates via cru, I added one for double the Hz of Raiden Dx, and one for double the HZ of Raiden Fighters Jet.
My lcd range is set to -120hz in the groovymame config. And i do refreshrate switching via ahk script and qres.exe before starting groovymame with a certain rom.
Right now I have a rx570 pulse itx ati card in my computer.
But there must be a better way to do this, at least more automatically, than hardcoding the refresh rate switching on a per rom basis in an ahk file.
I'm thankful for any suggestions.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #1 on: January 07, 2019, 05:38:54 pm »
But there must be a better way to do this, at least more automatically, than hardcoding the refresh rate switching on a per rom basis in an ahk file.
I'm thankful for any suggestions.

Sure there is. But I'd need a log from GM running on your setup to grab your monitor's specs from there so we can try to build a custom range.

I'm not sure how well Freesync will behave with BFI however. But from what you're saying I gather you're using normal vsync over custom refresh rates, which has a lot more chances to work.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

pakoman

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 162
  • Last login:Yesterday at 10:02:29 am
  • I want to build my own arcade controls!
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #2 on: January 26, 2019, 08:20:20 am »
So adding some custom resolutions by EDID to a non Freesync LCD like:

1920x1080 (or whatever native resolution) x59hz
1920x1080x57.4hz
1920x1080x55hz
1920x1080x54hz
1920x1080x53hz
1920x1080x52hz
1920x1080x50hz

This voids warranty, blablabla, etc but works fine on most LCDs, and will get perfect scroll. However the resolution needs to be selected manually, with script,etc. before running Mame, which is a bit shabby.

But there must be a better way to do this, at least more automatically, than hardcoding the refresh rate switching on a per rom basis in an ahk file.
I'm thankful for any suggestions.

Sure there is. But I'd need a log from GM running on your setup to grab your monitor's specs from there so we can try to build a custom range.

I'm not sure how well Freesync will behave with BFI however. But from what you're saying I gather you're using normal vsync over custom refresh rates, which has a lot more chances to work.


Does that mean that Groovymame may be able to choose the right refresh rate from a custom resolution list added even with a LCD that doesn't officially support custom refresh rates (as far as the customs res are available in the system)?

Just in case, I've attached a log running Rampage World Tour with custom refresh rate added with CRU running with a non Freesync laptop screen. With a Radeon HD5650 with patched catalyst drivers (ops, forgot about this one). Normally runs with a CRT through VGA-Scart (that's why the monitor range).


schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #3 on: January 26, 2019, 08:47:50 am »
So adding some custom resolutions by EDID to a non Freesync LCD like:

1920x1080 (or whatever native resolution) x59hz
1920x1080x57.4hz
1920x1080x55hz
1920x1080x54hz
1920x1080x53hz
1920x1080x52hz
1920x1080x50hz

This voids warranty, blablabla, etc but works fine on most LCDs, and will get perfect scroll. However the resolution needs to be selected manually, with script,etc. before running Mame, which is a bit shabby.
Many ViewSonic LCD monitors support this without needing to touch the EDID, you can add resolutions even just using the AMD/nVidia control panel and it works.
Then you just have to set up Groovy for using the 'static' method according to your card (amd or nvidia), which is basically the first half of the LCD guide posted on eiusdemmodi.

(of course the ViewSonics are also fully compatible with CRT_Emudriver and therefore dynamic mode. guess it's the right choice for those who actually care about their monitor's warranty. :D )

That aside, I've been curious about your method, which I'll certainly try on a variety of non-ViewSonic monitors including laptops (doubt my nVidia Optimus one will do tho, since it's mostly controlled by an Intel iGPU)

Now I'm not sure why you posted about that in this particular thread, is it because you're thinking of combining that software BFI with that alternative varied refreshes method ?
(probably you do yes, sorry for the question it's just that the thought of it is quite the stretch, I mean going from a typical super-limited 60Hz display to a variable, or at least 'multi' refresh rates + BFI with only a software mod, sounds huge)
« Last Edit: January 26, 2019, 09:01:50 am by schmerzkaufen »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #4 on: January 26, 2019, 09:59:01 am »
Does that mean that Groovymame may be able to choose the right refresh rate from a custom resolution list added even with a LCD that doesn't officially support custom refresh rates (as far as the customs res are available in the system)?

Sure it's possible. Your log looks bad however. For some reason GM can't access your video card's information (mode list, registry, etc.) Do you have an idea what may be going on?
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

pakoman

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 162
  • Last login:Yesterday at 10:02:29 am
  • I want to build my own arcade controls!
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #5 on: January 26, 2019, 11:09:00 am »
@schmerzkaufen

Just posted in this thread because I think it was related to the first post (maybe I didn't understand properly as English is not my first language). I don't even know what is BFI (Edit, ah yes, black frame insertion)  ;D

My method is simply adding a non standard resolution through EDID so the range of the monitor can be overriden, I use CRU for that. Then in advanced screen config , adapter properties , screen , select vertical refresh I select the desired vertical refresh for the active windows mode.
And lastly run a Mame game that matches that refresh.

Something more elaborated and automated here http://forum.arcadecontrols.com/index.php/topic,152919.msg1601108.html#msg1601108


@Calamity
Please see these logs, now they're fine. No idea what happened before, most probably because I was messing around with CRU


EDIT2: maybe this is what I'm asking http://forum.arcadecontrols.com/index.php/topic,157909.msg1659543.html#msg1659543
« Last Edit: January 26, 2019, 11:37:48 am by pakoman »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #6 on: January 26, 2019, 11:59:00 am »
Ok so you found the thread. If you skip the flames you have all the required information there.

The reason I asked a log is because usually in there you find the actual timings of the desktop video mode, which are read directly from the video card. You then use those to create a custom crt range, basically a formula to create modelines that are compatible with your lcd, rather than some generalized vesa formulas other programs use.

Anyway GM seems to be still unable to read those timings in your system. I don't know if the use of an EDID override might be getting in the middle.

The idea is to use a dummy mode, e.g. 59 Hz, then use GM to update its refresh dynamically to target game's refresh. That completelly automates everything.

Of course you can also use several static modes and have GM pick any of then automatically, but that's ugly and boring.
« Last Edit: January 26, 2019, 12:00:42 pm by Calamity »
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #7 on: January 26, 2019, 12:54:57 pm »
Wait does he use CRT_Emudriver ? it says Catalyst Version 15.8

Because how could the dynamic method work without CRT_Emudriver ? (I thought using regular drivers you were stuck with static...)
« Last Edit: January 26, 2019, 01:01:23 pm by schmerzkaufen »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #8 on: January 26, 2019, 03:12:30 pm »
Wait does he use CRT_Emudriver ? it says Catalyst Version 15.8

Because how could the dynamic method work without CRT_Emudriver ? (I thought using regular drivers you were stuck with static...)

15.8 is the internal version of Crimson 16.2 so I assumed he was using CRT Emudriver. The dynamic method is also possible with regular drivers and a modification of GM that Pakoman knows and has used previously.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #9 on: January 26, 2019, 03:50:22 pm »
15.8 is the internal version of Crimson 16.2
*slaps forehead* that number was kind of ringing a bell, I should have known.

The dynamic method is also possible with regular drivers and a modification of GM that Pakoman knows and has used previously.
Guess it must be more complicated than installing CRT_Emudriver.

Only curious of one thing; does it work with non-AMD material too ?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #10 on: January 26, 2019, 04:11:14 pm »
Guess it must be more complicated than installing CRT_Emudriver.

Sure.

Quote
Only curious of one thing; does it work with non-AMD material too ?

No.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

pakoman

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 162
  • Last login:Yesterday at 10:02:29 am
  • I want to build my own arcade controls!
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #11 on: January 26, 2019, 05:15:53 pm »
My old laptop is a bit temperamental with graphics drivers so I'm using Catalyst 15.8 as it seems to be the last version that works with it. I've tried newer versions but always got an error after the installation and automatically reverts to the previous driver.
IIRC the last driver I can use is Catalyst Software Suite Revision Number 15.7.1 7/29/2015
According to AMD web should be able to use Crimson Edition 16.2.1 Beta 3/1/2016, however this one doesn't work for me.


Yep, how to use Groovymame and non Freesync LCDs is very well explained in the above mentioned thread. Thanks.


BTW I've seen in the tuto video about LCDs you're using CRTEmudriver and Revit, CTE HE icons in the desktop. The only difference between CRT Emudriver and plain driver is the Windows watermark and doesn't affect the computer at all, right?  (it's not a dedicated computer). Would be any problem on using an old CRTEmudriver with latest Groovymame?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #12 on: January 27, 2019, 06:21:56 am »
BTW I've seen in the tuto video about LCDs you're using CRTEmudriver and Revit, CTE HE icons in the desktop. The only difference between CRT Emudriver and plain driver is the Windows watermark and doesn't affect the computer at all, right?  (it's not a dedicated computer). Would be any problem on using an old CRTEmudriver with latest Groovymame?

Yeah I've been using CRT Emudriver on my production pc for years. Test Mode doesn't affect anything, it's all superstition. It's simple logic that it can't break any functionality, since this mode is there to allow developers testing their drivers before submitting them to Microsoft, if functionality was handicapped in any way drivers couldn't be tested properly.

Old CRT Emudriver (12.6) still works with latest GroovyMAME. Anyway in your particular case, it's probably not a good idea because the version that could work with your card (12.6) is very old and lacks support for certain things that you might need.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

retrogamer123

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 26
  • Last login:April 11, 2021, 04:06:23 am
  • I want to build my own arcade controls!
Re: Black Frame Insertion Dynamic Refresh Rate switching possible?
« Reply #13 on: February 01, 2019, 10:09:15 am »
But there must be a better way to do this, at least more automatically, than hardcoding the refresh rate switching on a per rom basis in an ahk file.
I'm thankful for any suggestions.

Sure there is. But I'd need a log from GM running on your setup to grab your monitor's specs from there so we can try to build a custom range.

I'm not sure how well Freesync will behave with BFI however. But from what you're saying I gather you're using normal vsync over custom refresh rates, which has a lot more chances to work.
I finally have some time again to try this.
Both would be interesting. Trying BFI with vsync and with freesync.
Regarding the custom range, here is the log from my computer:
Thanks.
Code: [Select]
SwitchRes: v0.017k, Monitor: lcd, Orientation: horizontal, Modeline generation: disabled
SwitchRes: LCD vfreq range set by user as 60.000000-120.000000
SwitchRes: \\.\DISPLAY1: Radeon RX 570 Series (PCI\VEN_1002&DEV_67DF&SUBSYS_E3431DA2&REV_EF)
SwitchRes: Device key: System\CurrentControlSet\Control\Video\{08CA0BA1-0C34-4029-9969-E92101514CF7}\0000
ATI/AMD ADL init
ADL functions retrieved successfully.
Switchres: Searching for custom video modes...
Switchres: [  1]  640x 480 @ 59 : system mode
Switchres: [  2]  640x 480 @ 60 : ATI ADL timing "640x480_60 31.462000KHz 59.927620Hz" 25.170000 640 656 752 800 480 490 492 525   -hsync -vsync
Switchres: [  3]  640x 480 @100 : system mode
Switchres: [  4]  640x 480 @109 : system mode
Switchres: [  5]  640x 480 @118 : system mode
Switchres: [  6]  640x 480 @120 : system mode
Switchres: [  7]  640x 480 @144 : system mode
Switchres: [  8]  720x 480 @ 59 : system mode
Switchres: [  9]  720x 480 @ 60 : ATI ADL timing "720x480_60 31.468000KHz 59.939049Hz" 27.000000 720 736 798 858 480 489 495 525   -hsync -vsync
Switchres: [ 10]  720x 480 @100 : system mode
Switchres: [ 11]  720x 480 @109 : system mode
Switchres: [ 12]  720x 480 @118 : system mode
Switchres: [ 13]  720x 480 @120 : system mode
Switchres: [ 14]  720x 480 @144 : system mode
Switchres: [ 15]  720x 576 @ 50 : ATI ADL timing "720x576_50 31.250000KHz 50.000000Hz" 27.000000 720 732 796 864 576 581 586 625   -hsync -vsync
Switchres: [ 16]  720x 576 @ 59 : system mode
Switchres: [ 17]  720x 576 @ 60 : system mode
Switchres: [ 18]  720x 576 @100 : system mode
Switchres: [ 19]  720x 576 @109 : system mode
Switchres: [ 20]  720x 576 @118 : system mode
Switchres: [ 21]  720x 576 @120 : system mode
Switchres: [ 22]  720x 576 @144 : system mode
Switchres: [ 23]  800x 600 @ 56 : ATI ADL timing "800x600_56 35.156000KHz 56.249599Hz" 36.000000 800 824 896 1024 600 601 603 625   +hsync +vsync
Switchres: [ 24]  800x 600 @ 59 : system mode
Switchres: [ 25]  800x 600 @ 60 : ATI ADL timing "800x600_60 37.878000KHz 60.315285Hz" 40.000000 800 840 968 1056 600 601 605 628   +hsync +vsync
Switchres: [ 26]  800x 600 @100 : system mode
Switchres: [ 27]  800x 600 @109 : system mode
Switchres: [ 28]  800x 600 @118 : system mode
Switchres: [ 29]  800x 600 @120 : system mode
Switchres: [ 30]  800x 600 @144 : system mode
Switchres: [ 31] 1024x 768 @ 59 : system mode
Switchres: [ 32] 1024x 768 @ 60 : ATI ADL timing "1024x768_60 48.363000KHz 60.003723Hz" 65.000000 1024 1048 1184 1344 768 771 777 806   -hsync -vsync
Switchres: [ 33] 1024x 768 @ 70 : ATI ADL timing "1024x768_70 56.475000KHz 70.068237Hz" 75.000000 1024 1048 1184 1328 768 771 777 806   -hsync -vsync
Switchres: [ 34] 1024x 768 @100 : system mode
Switchres: [ 35] 1024x 768 @109 : system mode
Switchres: [ 36] 1024x 768 @118 : system mode
Switchres: [ 37] 1024x 768 @120 : system mode
Switchres: [ 38] 1024x 768 @144 : system mode
Switchres: [ 39] 1152x 864 @ 59 : system mode
Switchres: [ 40] 1152x 864 @ 60 : system mode
Switchres: [ 41] 1152x 864 @ 75 : ATI ADL timing "1152x864_75 67.500000KHz 75.000000Hz" 108.000000 1152 1216 1344 1600 864 865 868 900   +hsync +vsync
Switchres: [ 42] 1152x 864 @100 : system mode
Switchres: [ 43] 1152x 864 @109 : system mode
Switchres: [ 44] 1152x 864 @118 : system mode
Switchres: [ 45] 1152x 864 @120 : system mode
Switchres: [ 46] 1152x 864 @144 : system mode
Switchres: [ 47] 1280x 720 @ 50 : ATI ADL timing "1280x720_50 37.500000KHz 50.000000Hz" 74.250000 1280 1720 1760 1980 720 725 730 750   +hsync +vsync
Switchres: [ 48] 1280x 720 @ 59 : system mode
Switchres: [ 49] 1280x 720 @ 60 : ATI ADL timing "1280x720_60 44.951000KHz 59.934666Hz" 74.170000 1280 1390 1430 1650 720 725 730 750   +hsync +vsync
Switchres: [ 50] 1280x 720 @100 : system mode
Switchres: [ 51] 1280x 720 @109 : system mode
Switchres: [ 52] 1280x 720 @118 : system mode
Switchres: [ 53] 1280x 720 @120 : system mode
Switchres: [ 54] 1280x 720 @144 : system mode
Switchres: [ 55] 1280x 800 @ 59 : system mode
Switchres: [ 56] 1280x 800 @ 60 : ATI ADL timing "1280x800_60 49.702000KHz 59.809868Hz" 83.500000 1280 1352 1480 1680 800 803 809 831   -hsync +vsync
Switchres: [ 57] 1280x 800 @100 : system mode
Switchres: [ 58] 1280x 800 @109 : system mode
Switchres: [ 59] 1280x 800 @118 : system mode
Switchres: [ 60] 1280x 800 @120 : system mode
Switchres: [ 61] 1280x 800 @144 : system mode
Switchres: [ 62] 1280x 960 @ 59 : system mode
Switchres: [ 63] 1280x 960 @ 60 : ATI ADL timing "1280x960_60 60.000000KHz 60.000000Hz" 108.000000 1280 1376 1488 1800 960 961 964 1000   +hsync +vsync
Switchres: [ 64] 1280x 960 @100 : system mode
Switchres: [ 65] 1280x 960 @109 : system mode
Switchres: [ 66] 1280x 960 @118 : system mode
Switchres: [ 67] 1280x 960 @120 : system mode
Switchres: [ 68] 1280x 960 @144 : system mode
Switchres: [ 69] 1280x1024 @ 59 : system mode
Switchres: [ 70] 1280x1024 @ 60 : ATI ADL timing "1280x1024_60 63.981000KHz 60.019699Hz" 108.000000 1280 1328 1440 1688 1024 1025 1028 1066   +hsync +vsync
Switchres: [ 71] 1280x1024 @100 : system mode
Switchres: [ 72] 1280x1024 @109 : system mode
Switchres: [ 73] 1280x1024 @118 : system mode
Switchres: [ 74] 1280x1024 @120 : system mode
Switchres: [ 75] 1280x1024 @144 : system mode
Switchres: [ 76] 1440x 900 @ 59 : system mode
Switchres: [ 77] 1440x 900 @ 60 : ATI ADL timing "1440x900_60 55.934000KHz 59.886509Hz" 106.500000 1440 1520 1672 1904 900 903 909 934   -hsync +vsync
Switchres: [ 78] 1440x 900 @100 : system mode
Switchres: [ 79] 1440x 900 @109 : system mode
Switchres: [ 80] 1440x 900 @118 : system mode
Switchres: [ 81] 1440x 900 @120 : system mode
Switchres: [ 82] 1440x 900 @144 : system mode
Switchres: [ 83] 1440x1080 @ 59 : system mode
Switchres: [ 84] 1440x1080 @ 60 : system mode
Switchres: [ 85] 1440x1080 @100 : system mode
Switchres: [ 86] 1440x1080 @109 : system mode
Switchres: [ 87] 1440x1080 @118 : system mode
Switchres: [ 88] 1440x1080 @120 : ATI ADL timing "1440x1080_120 139.112000KHz 119.924141Hz" 276.000000 1440 1560 1712 1984 1080 1083 1087 1160   -hsync +vsync
Switchres: [ 89] 1440x1080 @144 : system mode
Switchres: [ 90] 1600x 900 @ 59 : system mode
Switchres: [ 91] 1600x 900 @ 60 : system mode
Switchres: [ 92] 1600x 900 @100 : system mode
Switchres: [ 93] 1600x 900 @109 : system mode
Switchres: [ 94] 1600x 900 @118 : system mode
Switchres: [ 95] 1600x 900 @120 : system mode
Switchres: [ 96] 1600x 900 @144 : system mode
Switchres: [ 97] 1680x1050 @ 59 : system mode
Switchres: [ 98] 1680x1050 @ 60 : ATI ADL timing "1680x1050_60 65.290000KHz 59.954086Hz" 146.250000 1680 1784 1960 2240 1050 1053 1059 1089   -hsync +vsync
Switchres: [ 99] 1680x1050 @100 : system mode
Switchres: [100] 1680x1050 @109 : system mode
Switchres: [101] 1680x1050 @118 : system mode
Switchres: [102] 1680x1050 @120 : system mode
Switchres: [103] 1680x1050 @144 : system mode
Switchres: [104] 1920x1080 @ 25 : system mode
Switchres: [105] 1920x1080 @ 29 : system mode
Switchres: [106] 1920x1080 @ 30 : system mode
Switchres: [107] 1920x1080 @ 50 : ATI ADL timing "1920x1080_50 56.250000KHz 50.000000Hz" 148.500000 1920 2448 2492 2640 1080 1084 1089 1125   +hsync +vsync
Switchres: [108] 1920x1080 @ 59 : system mode
Switchres: [109] 1920x1080 @ 60 : ATI ADL timing "1920x1080_60 67.431000KHz 59.938667Hz" 148.350000 1920 2008 2052 2200 1080 1084 1089 1125   +hsync +vsync
Switchres: [110] 1920x1080 @100 : ATI ADL timing "1920x1080_100 113.221000KHz 99.930275Hz" 235.500000 1920 1968 2000 2080 1080 1083 1088 1133   +hsync -vsync
Switchres: [111] 1920x1080 @109 : ATI ADL timing "1920x1080_109 124.514000KHz 109.414764Hz" 258.990000 1920 1968 2000 2080 1080 1083 1088 1138   +hsync -vsync
Switchres: [112] 1920x1080 @118 : ATI ADL timing "1920x1080_118 133.136000KHz 118.343109Hz" 292.900000 1920 2008 2052 2200 1080 1084 1089 1125   +hsync +vsync
Switchres: [113] 1920x1080 @120 : ATI ADL timing "1920x1080_120 137.259000KHz 119.981644Hz" 285.500000 1920 1968 2000 2080 1080 1083 1088 1144   +hsync -vsync
Switchres: [114] 1920x1080 @144* : ATI ADL timing "1920x1080_144 158.112000KHz 144.000000Hz" 325.080000 1920 1944 1976 2056 1080 1083 1088 1098   +hsync +vsync
SwitchRes: Found 23 custom of 114 active video modes
SwitchRes: Creating automatic specs for LCD based on current timings
SwitchRes: Monitor range 65880.00-131760.00,60.00-120.00,0.074,0.098,0.246,0.019,0.032,0.063,1,1,1080,1080,0,0
SwitchRes: -resolution was forced as 1920x1080@144

SwitchRes: Entering switchres_modeline_setup
SwitchRes: v0.017k:[bgaregga] Calculating best video mode for 240x320@59.637405 orientation: rotated

SwitchRes: [ 640]x[ 480]_[59=59.000000Hz] - locked

SwitchRes: [ 640]x[ 480]_[60=59.927620Hz] - locked

SwitchRes: [ 640]x[ 480]_[100=100.000000Hz] - locked

SwitchRes: [ 640]x[ 480]_[109=109.000000Hz] - locked

SwitchRes: [ 640]x[ 480]_[118=118.000000Hz] - locked

SwitchRes: [ 640]x[ 480]_[120=120.000000Hz] - locked

SwitchRes: [ 640]x[ 480]_[144=144.000000Hz] - locked

SwitchRes: [ 720]x[ 480]_[59=59.000000Hz] - locked

SwitchRes: [ 720]x[ 480]_[60=59.939049Hz] - locked

SwitchRes: [ 720]x[ 480]_[100=100.000000Hz] - locked

SwitchRes: [ 720]x[ 480]_[109=109.000000Hz] - locked

SwitchRes: [ 720]x[ 480]_[118=118.000000Hz] - locked

SwitchRes: [ 720]x[ 480]_[120=120.000000Hz] - locked

SwitchRes: [ 720]x[ 480]_[144=144.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[50=50.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[59=59.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[60=60.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[100=100.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[109=109.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[118=118.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[120=120.000000Hz] - locked

SwitchRes: [ 720]x[ 576]_[144=144.000000Hz] - locked

SwitchRes: [ 800]x[ 600]_[56=56.249599Hz] - locked

SwitchRes: [ 800]x[ 600]_[59=59.000000Hz] - locked

SwitchRes: [ 800]x[ 600]_[60=60.315285Hz] - locked

SwitchRes: [ 800]x[ 600]_[100=100.000000Hz] - locked

SwitchRes: [ 800]x[ 600]_[109=109.000000Hz] - locked

SwitchRes: [ 800]x[ 600]_[118=118.000000Hz] - locked

SwitchRes: [ 800]x[ 600]_[120=120.000000Hz] - locked

SwitchRes: [ 800]x[ 600]_[144=144.000000Hz] - locked

SwitchRes: [1024]x[ 768]_[59=59.000000Hz] - locked

SwitchRes: [1024]x[ 768]_[60=60.003723Hz] - locked

SwitchRes: [1024]x[ 768]_[70=70.068237Hz] - locked

SwitchRes: [1024]x[ 768]_[100=100.000000Hz] - locked

SwitchRes: [1024]x[ 768]_[109=109.000000Hz] - locked

SwitchRes: [1024]x[ 768]_[118=118.000000Hz] - locked

SwitchRes: [1024]x[ 768]_[120=120.000000Hz] - locked

SwitchRes: [1024]x[ 768]_[144=144.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[59=59.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[60=60.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[75=75.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[100=100.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[109=109.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[118=118.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[120=120.000000Hz] - locked

SwitchRes: [1152]x[ 864]_[144=144.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[50=50.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[59=59.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[60=59.934666Hz] - locked

SwitchRes: [1280]x[ 720]_[100=100.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[109=109.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[118=118.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[120=120.000000Hz] - locked

SwitchRes: [1280]x[ 720]_[144=144.000000Hz] - locked

SwitchRes: [1280]x[ 800]_[59=59.000000Hz] - locked

SwitchRes: [1280]x[ 800]_[60=59.809868Hz] - locked

SwitchRes: [1280]x[ 800]_[100=100.000000Hz] - locked

SwitchRes: [1280]x[ 800]_[109=109.000000Hz] - locked

SwitchRes: [1280]x[ 800]_[118=118.000000Hz] - locked

SwitchRes: [1280]x[ 800]_[120=120.000000Hz] - locked

SwitchRes: [1280]x[ 800]_[144=144.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[59=59.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[60=60.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[100=100.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[109=109.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[118=118.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[120=120.000000Hz] - locked

SwitchRes: [1280]x[ 960]_[144=144.000000Hz] - locked

SwitchRes: [1280]x[1024]_[59=59.000000Hz] - locked

SwitchRes: [1280]x[1024]_[60=60.019699Hz] - locked

SwitchRes: [1280]x[1024]_[100=100.000000Hz] - locked

SwitchRes: [1280]x[1024]_[109=109.000000Hz] - locked

SwitchRes: [1280]x[1024]_[118=118.000000Hz] - locked

SwitchRes: [1280]x[1024]_[120=120.000000Hz] - locked

SwitchRes: [1280]x[1024]_[144=144.000000Hz] - locked

SwitchRes: [1440]x[ 900]_[59=59.000000Hz] - locked

SwitchRes: [1440]x[ 900]_[60=59.886509Hz] - locked

SwitchRes: [1440]x[ 900]_[100=100.000000Hz] - locked

SwitchRes: [1440]x[ 900]_[109=109.000000Hz] - locked

SwitchRes: [1440]x[ 900]_[118=118.000000Hz] - locked

SwitchRes: [1440]x[ 900]_[120=120.000000Hz] - locked

SwitchRes: [1440]x[ 900]_[144=144.000000Hz] - locked

SwitchRes: [1440]x[1080]_[59=59.000000Hz] - locked

SwitchRes: [1440]x[1080]_[60=60.000000Hz] - locked

SwitchRes: [1440]x[1080]_[100=100.000000Hz] - locked

SwitchRes: [1440]x[1080]_[109=109.000000Hz] - locked

SwitchRes: [1440]x[1080]_[118=118.000000Hz] - locked

SwitchRes: [1440]x[1080]_[120=119.924141Hz] - locked

SwitchRes: [1440]x[1080]_[144=144.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[59=59.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[60=60.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[100=100.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[109=109.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[118=118.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[120=120.000000Hz] - locked

SwitchRes: [1600]x[ 900]_[144=144.000000Hz] - locked

SwitchRes: [1680]x[1050]_[59=59.000000Hz] - locked

SwitchRes: [1680]x[1050]_[60=59.954086Hz] - locked

SwitchRes: [1680]x[1050]_[100=100.000000Hz] - locked

SwitchRes: [1680]x[1050]_[109=109.000000Hz] - locked

SwitchRes: [1680]x[1050]_[118=118.000000Hz] - locked

SwitchRes: [1680]x[1050]_[120=120.000000Hz] - locked

SwitchRes: [1680]x[1050]_[144=144.000000Hz] - locked

SwitchRes: [1920]x[1080]_[25=25.000000Hz] - locked

SwitchRes: [1920]x[1080]_[29=29.000000Hz] - locked

SwitchRes: [1920]x[1080]_[30=30.000000Hz] - locked

SwitchRes: [1920]x[1080]_[50=50.000000Hz] - locked

SwitchRes: [1920]x[1080]_[59=59.000000Hz] - locked

SwitchRes: [1920]x[1080]_[60=59.938667Hz] - locked

SwitchRes: [1920]x[1080]_[100=99.930275Hz] - locked

SwitchRes: [1920]x[1080]_[109=109.414764Hz] - locked

SwitchRes: [1920]x[1080]_[118=118.343109Hz] - locked

SwitchRes: [1920]x[1080]_[120=119.981644Hz] - locked

SwitchRes: [1920]x[1080]_[144=144.000000Hz]
   rng(0):  out of range
SwitchRes: Setting option -noswitchres
Video: Monitor 65537 = "\\.\DISPLAY1" (primary)
Direct3D: Using Direct3D 9Ex
Physical width 1920, height 1080
Direct3D: Initialize
Direct3D: Configuring adapter #0 = Radeon RX 570 Series
Direct3D: Adapter has Vendor ID: 1002 and Device ID: 67DF
Direct3D: Using dynamic textures
Direct3D: YUV format = RGB
Direct3D: Max texture size = 16384x16384
Direct3D: Device created at 1920x1080
Direct3D: First scanline: 1, Last scanline: 1080, Break scanline: 1080, Delay scanline: -107
Direct3D: Initialize HLSL
Direct3D: First store options
Direct3D: HLSL initialized
DirectInput: Using DirectInput 8
RawInput: APIs detected
RawInput: APIs detected
stream_buffer_size = 37888
DirectSound: Primary buffer: 48000 Hz, 16 bits, 2 channels
Input: Adding keyboard #0: Keyboard (device id: Keyboard product_6f1d2b61-d5a0-11cf-bfc7-444553540000 instance_6f1d2b61-d5a0-11cf-bfc7-444553540000)
Input: Adding mouse #0: HID-compliant mouse (device id: \\?\HID#VID_046D&PID_C049&MI_00#7&b2d31c1&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding lightgun #0: HID-compliant mouse (device id: \\?\HID#VID_046D&PID_C049&MI_00#7&b2d31c1&0&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd})
Input: Adding joystick #0: XInput Player 1 (device id: XInput Player 1)
Input: Adding joystick #1: XInput Player 2 (device id: XInput Player 2)
Region ':maincpu' created
unzip: opened archive file roms\bgaregga.zip
unzip: found roms\bgaregga.zip ECD
unzip: roms\bgaregga.zip has no ZIP64 ECD locator
unzip: read roms\bgaregga.zip central directory
unzip: closing archive file roms\bgaregga.zip and sending to cache
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
Region ':audiocpu' created
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
Region ':gp9001_0' created
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
Region ':text' created
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
Region ':oki1' created
unzip: found roms\bgaregga.zip in cache
unzip: opened archive file roms\bgaregga.zip
unzip: closing archive file roms\bgaregga.zip and sending to cache
Optional memory bank ':okibank' not found
Optional device ':dma_space' not found
Optional device ':hopper' not found
Optional device ':soundlatch2' not found
Optional device ':rtc' not found
Optional device ':eeprom' not found
Optional device ':oki2' not found
Optional device ':gp9001_1' not found
Optional shared pointer ':mainram' not found
Optional shared pointer ':tx_gfxram' not found
Optional device ':audiocpu:finder_dummy_tag' not found
Optional device ':audiocpu:finder_dummy_tag' not found
Optional device ':audiocpu:finder_dummy_tag' not found
Optional device ':screen:finder_dummy_tag' not found
Optional device ':screen:finder_dummy_tag' not found
Optional memory region ':palette:finder_dummy_tag' not found
Optional device ':gp9001_0:finder_dummy_tag' not found
Optional device ':soundlatch:finder_dummy_tag' not found
Optional device ':ymsnd:finder_dummy_tag' not found
Optional device ':ymsnd:finder_dummy_tag' not found
Optional memory region ':nmk112:finder_dummy_tag' not found
Starting Battle Garegga (Europe / USA / Japan / Asia) (Sat Feb 3 1996) ':'
  (missing dependencies; rescheduling)
Starting Motorola MC68000 ':maincpu'
Starting Zilog Z80 ':audiocpu'
Starting Video Screen ':screen'
  (missing dependencies; rescheduling)
Starting gfxdecode ':gfxdecode'
Starting palette ':palette'
Starting GP9001 VDP ':gp9001_0'
  (missing dependencies; rescheduling)
Starting Buffered 16-bit Sprite RAM ':gp9001_0:spriteram'
Starting Speaker ':mono'
  (missing dependencies; rescheduling)
Starting Generic 8-bit latch ':soundlatch'
Starting Yamaha YM2151 OPM ':ymsnd'
Starting OKI MSM6295 ADPCM ':oki1'
Starting NMK112 ':nmk112'
Starting Battle Garegga (Europe / USA / Japan / Asia) (Sat Feb 3 1996) ':'
  (missing dependencies; rescheduling)
Starting Video Screen ':screen'
Starting GP9001 VDP ':gp9001_0'
Starting Speaker ':mono'
Starting Battle Garegga (Europe / USA / Japan / Asia) (Sat Feb 3 1996) ':'
Attempting to parse: default.cfg
Input: Remapped joystick #0: XInput Player 1 (device id: XInput Player 1)
Input: Remapped joystick #1: XInput Player 2 (device id: XInput Player 2)
Attempting to parse: default.cfg
Attempting to parse: bgaregg