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: GroovyMAME 0.171 - SwitchRes v0.015m  (Read 277158 times)

0 Members and 1 Guest are viewing this topic.

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1536
  • Last login:June 16, 2025, 04:27:16 pm
  • retro maniac
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #680 on: March 05, 2016, 04:50:09 am »
Some of (if not all) features will be in main mame I think so it will be probably with valid licence. If not still can be distributed but only as diff for official mame.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #681 on: March 05, 2016, 10:24:07 am »
Is Groovymame's license compatible?...
http://www.mameworld.info/ubbthreads/showflat.php?Number=351062

As far as I see all that's required is to relicense the Switchres code with the BSD 3-Clause License.

Only problem I see is with the hiscore patch. Anyway my plan was to make GroovyMAME's patch independent from the hiscore one. This way the hiscore patch would be applied later over GroovyMAME's instead of  the other way as it is now. And I wouldn't be applying it on my builds.


« Last Edit: March 05, 2016, 10:27:39 am 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

RobeeJ

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:Today at 04:21:08 am
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #682 on: March 05, 2016, 10:29:14 am »
Have you considered using a fork on github? If you kept master as a mirror to MAME's master, you could have a branch for the hiscore dat, and a branch for anything MAME doesn't want that's in GroovyMAME, and easily add new feature branches for anything else. Building would be easy (not that it's hard now) for any given set of features.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #683 on: March 05, 2016, 10:38:55 am »
Calamity, are you prepared to give us a little history on how this came about?

There's no much to tell yet, all I can say is the team's attitude has been very receptive so far. We'll see how things go, I think it's more of a matter of me managing to refactor Switchres in an acceptable way than anything else. But this was my plan anyway.

Quote
I take it then that as certain features are incorporated into mainline MAME they'll be taken out of the GM patch naturally.

Exactly, that's the idea. It'll take months, because many parts will be rewritten.

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

u-man

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 88
  • Last login:May 20, 2024, 03:53:16 pm
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #684 on: March 05, 2016, 04:33:41 pm »
Is Groovymame's license compatible?...
http://www.mameworld.info/ubbthreads/showflat.php?Number=351062

As far as I see all that's required is to relicense the Switchres code with the BSD 3-Clause License.

Only problem I see is with the hiscore patch. Anyway my plan was to make GroovyMAME's patch independent from the hiscore one. This way the hiscore patch would be applied later over GroovyMAME's instead of  the other way as it is now. And I wouldn't be applying it on my builds.
Is not Switchres coming from SailorSats Cabmame? If so, the license will be a peace of cake ;) .
Is the problem with hiscore patch MAME dev related? I know, that they dont like to see the nag-screen patched, for obvious reasons. The nag-screen provide infos that a user will not see if a patch is applied. It happened often that people not knowing, that a game have problems or doesnt work correctly, maked false reports at MAME bug-center, that why they dont like no-nag-screen patches, but the hiscore stuff itself, shouldnt be so much a problem AFAIK.
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

RobeeJ

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:Today at 04:21:08 am
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #685 on: March 05, 2016, 05:44:10 pm »
Is the problem with hiscore patch MAME dev related? I know, that they dont like to see the nag-screen patched, for obvious reasons. The nag-screen provide infos that a user will not see if a patch is applied. It happened often that people not knowing, that a game have problems or doesnt work correctly, maked false reports at MAME bug-center, that why they dont like no-nag-screen patches, but the hiscore stuff itself, shouldnt be so much a problem AFAIK.

The nag patch aside, afaik their main issue with it is maintenance, and the endless bug reports about hi scores missing from this game or that, and broken on something or other. That combined with the mission of MAME being about preservation, time devoted to saving hi scores doesn't really fit into that.

Which is fair enough.

I really keep meaning to get my vector patch working again, and then a reverse-patch for the old Kung Fu Master audio driver. One of those might stand a chance of getting into MAME one day, the other would not. Either way, with MAME now being hosted on github, it's extremely easy to make a fork and maintain it.

Stiletto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:September 27, 2022, 11:41:36 pm
  • MAME me.
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #686 on: March 06, 2016, 06:26:50 am »
The question isn't "Is MAMEDev accepting of hiscore patch" or anything else.

Fact: Current MAME and any ensuing MAME release can no longer be combined with code that was written under the 2005-Feb 2015 (or earlier) MAME license. GPL (etc.) MAME license is incompatible with non-GPL MAME license.

So the question as I understand it is "So who wrote those patches, and do you (Calamity, etc.) have their permission to relicense their patches under the new MAME license(s) (BSD or GPL or LGPL)?" Calamity obviously understands this so this isn't news to him.

If you do not have their permission, then projects like GroovyMAME would risk developer outrage and or lawsuit from their minor contributors by illegally (depending on your region) relicensing their code. The risk and conflict wouldn't come from MAME itself but from the third-party developers.

For example, the hiscore patch amounts to the original hiscore.dat support in MAME. So you need to discover who authored as well as maintained that code in MAME originally, anyone who ever touched those lines in the last 19 years or less and whose contributions were significant enough to fall under copyright law (there is such thing as "too insignificant".). But futhermore this patch would have broken several times as MAMEDev modernized the source, so you also need to determine who made those changes and get their permission as well.
« Last Edit: March 06, 2016, 06:35:07 am by Stiletto »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #687 on: March 06, 2016, 06:54:45 am »
For example, the hiscore patch amounts to the original hiscore.dat support in MAME. So you need to discover who authored as well as maintained that code in MAME originally,

That's the exact problem. I know MKChamp has been mantaining it for years, but the original source must be paleo-MAME code base itself.
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

Stiletto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:September 27, 2022, 11:41:36 pm
  • MAME me.
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #688 on: March 06, 2016, 07:47:03 am »
For example, the hiscore patch amounts to the original hiscore.dat support in MAME. So you need to discover who authored as well as maintained that code in MAME originally,

That's the exact problem. I know MKChamp has been mantaining it for years, but the original source must be paleo-MAME code base itself.

That's my assumption. Well, someone could rewrite it. If it's completely rewritten from scratch by someone who hasn't seen the previous code and who's only provided a verbal description of the functionality and the format of the dat file, it should be legally safe. A GPL-licensed hiscore.dat patch. Of course, there's only so many ways this can be done and the resulting code may end up identical to the non-GPL code.

From the other angle: The people within MAMEDev who worked on getting all the permissions from current and former developers for the current MAME code relicense might be able to work out the original authors of hiscore.dat support and the names of all the people who touched that code. (Do they care to do that? Eh.) There's probably enough information out in the public that this can be worked out by non-MAMEDev. And then those people who developed and touched hiscore.dat support would need to be contacted again for permission to relicense, because the permission they granted MAMEDev only extended to their current code in MAME and not old code in old MAME versions that had previously been removed. Relicensing only extended to the current version, not to previous releases.

Again, I know Calamity knows all this, but as a MAME team member I'm trying to help others understand what's involved here. All current patches will legally need to go through this analysis to continue to be used.

---

But don't worry, there's light at the end of the tunnel: current MAME is enabling support for a script language called LUA. MAME developers are creating hooks that tie deep into MAME's core engine and functionality (and could use help, if people are so inclined, there's Github)

https://github.com/mamedev/mame/blob/master/docs/luaengine.md

This support is still being tested. We're still finding bugs, we're still tying it into more systems.

So RATHER than go through all that for hiscore support - editing sourcecode, recompiling MAME, worrying about sourcecode relicensing - it's FAR more likely that for minor features like this, projects like GroovyMAME in the future will just be able to write Lua scripts that extend core MAME functionality enough to add hiscore support, no recompiling necessary.

Think of Lua... as "MAME plugin support". Not for graphics (we have shaders for that) but for other functionality.

Since it's all scripting, all source is available - no loading of closed-source DLLs or anything. Even a Lua script can be copyrighted by its respective author and distributed under the MAME 0.172+ compatible license of their choice.

I don't know if this will permit actual DAT file support, I don't necessarily see why not but even so perhaps it will end up a new format and the old file retired.

Either way, in the future maybe there will be a lot less third-party derivative builds, recompiles, etc. - and instead an ecosystem of thriving third-party script "plugins" :)
« Last Edit: March 06, 2016, 07:51:58 am by Stiletto »

u-man

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 88
  • Last login:May 20, 2024, 03:53:16 pm
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #689 on: March 06, 2016, 10:09:43 pm »
https://github.com/borgar/mame-hiscores

crazyc:"It was made for unix and needs work on windows though and will only work with the maincpu address space (which includes the vast majority, but not all, of drivers). "

Didnt test it myself, so.
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

Stiletto

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 50
  • Last login:September 27, 2022, 11:41:36 pm
  • MAME me.
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #690 on: March 07, 2016, 06:28:47 pm »
https://github.com/borgar/mame-hiscores

crazyc:"It was made for unix and needs work on windows though and will only work with the maincpu address space (which includes the vast majority, but not all, of drivers). "

Didnt test it myself, so.
[/quote

And in the end here's an all-platforms-friendly version by crazyc which also fixes some games that didn't work previously:
https://github.com/cracyc/mame-hiscores
Ships with a modified hiscore.dat.

:)

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #691 on: March 08, 2016, 01:57:03 pm »
Thanks! The hiscore script is *really* great news.
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

dmckean

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 729
  • Last login:January 13, 2024, 08:50:41 pm
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #692 on: March 09, 2016, 10:36:29 pm »
hiscore support was added to MAME so early on that it may have been added under a license which assigned all rights to Nicola.

u-man

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 88
  • Last login:May 20, 2024, 03:53:16 pm
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #693 on: March 10, 2016, 06:28:25 am »
I really keep meaning to get my vector patch working again, and then a reverse-patch for the old Kung Fu Master audio driver. One of those might stand a chance of getting into MAME one day, the other would not. Either way, with MAME now being hosted on github, it's extremely easy to make a fork and maintain it.

Are you the Robert from myreviewers.com? If so, i can only say that it would be really nice, if you would look into your vector patch again  :D :applaud:
Any help with vector games are really appreciated, especially if it comes to exact frame timing or a better flicker code ;) .
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

RobeeJ

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 126
  • Last login:Today at 04:21:08 am
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #694 on: March 10, 2016, 06:35:53 am »
myreviewer.com, yes, that's me! I really do keep meaning to get around to it! Someone has sent me a patch they've been keeping up to date which still works, I might put it on github for others sometime.

u-man

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 88
  • Last login:May 20, 2024, 03:53:16 pm
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #695 on: March 10, 2016, 10:24:15 am »
Nice to see you here again Robert ;) . I was the guy who contacted you at myreviewers.com  :D . We had some nice discussions there last year, if you can remember them. It helped us a lot and i hope to see you more often now.
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #696 on: March 18, 2016, 07:25:11 am »
So, multithreading will be removed for 0.172

Will it break the current low-lag abilities of GM w/ d3d9ex ? (using either syncrefresh or triplebuffer and still being quicker than the same thing using 'normal' D3D I mean)

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #697 on: March 18, 2016, 08:24:06 am »
So, multithreading will be removed for 0.172

Will it break the current low-lag abilities of GM w/ d3d9ex ? (using either syncrefresh or triplebuffer and still being quicker than the same thing using 'normal' D3D I mean)

This is not clear yet. I think lag will not be affected for the syncrefresh case. The triplebuffer case simply won't work.

I take this opportunity to inform that quite probably GM 0.172 won't be on schedule this time. Don't panic, things just need to be reworked.
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: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #698 on: March 18, 2016, 08:41:41 am »
Ouch, fingers crossed you'll find a way around, because syncrefreshed 54Hz games for instance are sped up too much.

I sincerely hope mamedev won't irremediably destroy what's for me the strongest feature of GM and what makes it the best IMHO: low lag in every case whether I choose smooth scrolling or accurate speed.

Everything seemed to go well with the recent changes in MAME and apparently most people's concerns were exaggerated, but this, made me join the worry club.  :-\

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #699 on: March 18, 2016, 09:34:34 am »
GroovyMAME can have its own multithreading implementation. Anyway the current one is causing issues for many.
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: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #700 on: March 18, 2016, 03:05:29 pm »
Excellent, thanks!  :applaud:

lettuce

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1900
  • Last login:December 31, 2021, 01:46:10 pm
  • Make It So!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #701 on: March 19, 2016, 01:42:10 pm »
Probably a stupid question but how on earth do you load up a meagdrive rom with the new UI build into mame??, i have added the rom folder where the megadrive roms are but it still only shows the MAME roms in the UI??

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #702 on: March 22, 2016, 07:03:51 am »
Integer scaling is finally into baseline:

http://git.redump.net/mame/commit/?id=4b61493c7cd125f7fcc11f6fa1bf2240fdab29f0

Among other things, now it'll be possible to set integer scale factors manually (-intscalex, -intscaley). It will also crop the frame by default if the resolution is too small to hold 1:1 pixel mapping.
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

machyavel

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 67
  • Last login:December 25, 2016, 10:23:52 am
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #703 on: March 22, 2016, 08:08:42 pm »
Fantastic! I guess frame cropping will be useful for monitors with limited range, like TVs.

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #704 on: March 23, 2016, 05:43:53 am »
Fantastic! Thanks a lot to you and whoever helped.  :cheers:
Does it allow setting factors that mean out-of-screen-limits sizes ?
Can't wait to try it in 0.172

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #705 on: March 23, 2016, 05:48:13 am »
Does it allow setting factors that mean out-of-screen-limits sizes ?

Sure.
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: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #706 on: March 23, 2016, 06:52:30 am »
Yessssss!  :notworthy:

I know people don't care much about .png overlays today, they are anticipating BGFX shaders support which is only natural, but it is important to note that integer scaling will make creating/using those .png's immensely easier; goodbye painful manual settings for a myriad of resolutions!
It's not such a weak solution with a bit of work, and the cpu/gpu cost is nil.
A few screenshots attached for posterity since I suspect the .png overlays support will disappear one of those days. ^^

(using GM 0.171, a 42" full-hd tv, a 21" 4:3 monitor, and a 1600x900 laptop)
(I could have made the knights and sf2hf 'oversized' 4x5 but it was too big on my 42" ^^)
(aside from progear and futari using only shades or grey, all other use almost exclusively RGB dots and strips)
« Last Edit: March 23, 2016, 06:57:59 am by schmerzkaufen »

MK

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 23
  • Last login:May 12, 2024, 03:57:02 pm
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #707 on: March 24, 2016, 10:47:50 am »
Integer scaling is finally into baseline:

http://git.redump.net/mame/commit/?id=4b61493c7cd125f7fcc11f6fa1bf2240fdab29f0

Among other things, now it'll be possible to set integer scale factors manually (-intscalex, -intscaley). It will also crop the frame by default if the resolution is too small to hold 1:1 pixel mapping.

Awesome!!! :notworthy:
I guess we can now say bye bye to ddraw for good. :applaud:
Question: If the resolution is too small will we be able to adjust the view area or will it always be centered?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7461
  • Last login:May 23, 2025, 06:07:25 am
  • Quote me with care
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #708 on: March 24, 2016, 11:43:24 am »
Question: If the resolution is too small will we be able to adjust the view area or will it always be centered?

I'll be centered by default but you'll be able to adjust it through the slider options.
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

lettuce

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1900
  • Last login:December 31, 2021, 01:46:10 pm
  • Make It So!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #709 on: March 24, 2016, 12:58:31 pm »
Yessssss!  :notworthy:

I know people don't care much about .png overlays today, they are anticipating BGFX shaders support which is only natural, but it is important to note that integer scaling will make creating/using those .png's immensely easier; goodbye painful manual settings for a myriad of resolutions!
It's not such a weak solution with a bit of work, and the cpu/gpu cost is nil.
A few screenshots attached for posterity since I suspect the .png overlays support will disappear one of those days. ^^

(using GM 0.171, a 42" full-hd tv, a 21" 4:3 monitor, and a 1600x900 laptop)
(I could have made the knights and sf2hf 'oversized' 4x5 but it was too big on my 42" ^^)
(aside from progear and futari using only shades or grey, all other use almost exclusively RGB dots and strips)

To me in those pictures the shadow mask is way too strong, i have never seen a CRT where you can see the individual square like that apart from when you stick you nose right up to the screen

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #710 on: March 24, 2016, 02:27:56 pm »
Don't forget the point is that it's for using on LCDs that smear-away most details those advanced CRT shaders recreate, but will only look optimal on still images.
This way with only RGB dots png's it looks rather crude yes, but once in motion it beats all damned CRT shaders I've tried, especially in regards to motion in all directions (not only games move a lot, but not just horizontally) and when it comes to retain colors, brightness, sharpness and overall clarity.
EDIT: also I've selected some with strong settings specifically so the properties would be really apparent, for my own use I actually tone-down the edges using a bit of white alpha transparencies.

It's not enough for doing nice screenshots of still games indeed, but it's an experiment about taking the matter by the other end starting with thinking about what kind of display I'm using and try to get a decent imitation that will still look good while I'm playing.
Always using actual crt's to compare of course, then I go about what I could do to make the experience on lcd closer to it, which the current advanced shaders solution don't (only when still and at almost maxed-out brightness).

Frankly also, not at all pointing at you guys and straying off-topic a bit, but people in the hobby maybe for not very long need to stop thinking all crt's were either a blurry, foggy, smeary-bleedy mess, or ultra-sharp high-TVL broadcast monitors.
There were such things as standard definition low-res RGB monitors in the arcades, super clear and sharp though with really crude masks and grids, they were also in european homes, for decades. Those are what I'm aiming at.
I think Royale is still the best, but until I get an OLED I'm going to use my crude PNG's, because they're more efficient IMHO and in my eyes.
(especially now that integer scaling will make things immensely easier, I'm going to enjoy improving the 'formula')
« Last Edit: March 24, 2016, 03:33:56 pm by schmerzkaufen »

lettuce

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1900
  • Last login:December 31, 2021, 01:46:10 pm
  • Make It So!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #711 on: March 24, 2016, 02:37:23 pm »
Fair point.

What resolution is the png your using btw?

regarding Integer scaling, what does this actually change and make better, will it be beneficial to people using CRT Arcade monitors at all?

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #712 on: March 24, 2016, 02:52:01 pm »
I'm using a different PNG for each native game resolution and integer scaling factors I'm aiming at.
For instance the Capcom Screenshots here use 3x4, both on the 1080p and the 900p displays.
But if I used bigger factors on the 1080p (losing a few lines in 'overscan') I'd use a 4x5 pixels file.

It's actually more difficult to make a good choice of color tones and work on shaping with more real estate, but it also opens more possibilities.

As for the benefits of integer scaling for me (using fixed matrixes) it's obviously clarity, both static and in motion since I'm not using any kind of smoothing and have no way to prevent scaling artifacts, so integer scaling is compulsory.
Also the pixel art work looks much better when all is in the right proportions with no garbled/smeared color lines, and it's also compulsory for me to align the RGB dots and strips I'm using since they're affecting the colors displayed on my screen directly, and those make the shape.

Several setting require a slight horizontal or vertical offset by the way, often there's only one where everything lines perfectly (for instance Horiz Position 0.002 or -0.004)
Maybe it will be different with the new system, I don't know.
« Last Edit: March 24, 2016, 03:36:35 pm by schmerzkaufen »

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #713 on: March 30, 2016, 08:09:49 pm »
Been playing with integer scaling settings for hours using baseline 0.172, it's absolutely fantastic, you're The King.  :notworthy:

lettuce

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1900
  • Last login:December 31, 2021, 01:46:10 pm
  • Make It So!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #714 on: March 31, 2016, 05:37:56 am »
results?

Whats the big deal about integer then, what does it allow you to do?. I have just tired it on Final Fight and i had to set the x and y scaling to 6x5 but now i just have a border at the top and bottom of the screen and cant see and noticeable difference, if i set it to 7x5 then a about half and inch is cut off from the top and bottom of the screen.

I noticed in the 0.172 release notes they say that a few options from GroovyMame have now been implemented thanks to Calmity being on the official MAME team now, what actual options have been implemented and does this mean in the future there wont be the need for GroovyMAME anymore?

How do you also use the BGFX shaders now, is there actual any BGFX shaders been made for MAME yet, im guess RetroArch shaders cant be converted over easily?
« Last Edit: March 31, 2016, 06:02:44 am by lettuce »

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 498
  • Last login:June 12, 2023, 09:19:49 am
  • Z80 ERROR
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #715 on: March 31, 2016, 07:29:05 am »
I noticed in the 0.172 release notes they say that a few options from GroovyMame have now been implemented thanks to Calmity being on the official MAME team now, what actual options have been implemented and does this mean in the future there wont be the need for GroovyMAME anymore?

Hi,

@Calamity, great job!

Here is the feature set now available inside the mainline.

Code: [Select]
-Implemented integer scaling in core renderer [Calamity]
 * Moved -unevenstretch option to core renderer.
   -unevenstretch:   fractional stretching (default)
   -nounevenstretch: integer scaling
 * Added new options to core renderer:
   -unevenstretchx:  fractional stretching on horizontal axis, integer
                     scaling on vertical axis
   -intscalex:       horizontal integer scale factor, default is 0 (auto)
   -intscaley:       vertical integer scale factor, default is 0 (auto)

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 792
  • Last login:April 16, 2025, 09:46:43 am
  • Multiple Electronic Machine Emulator
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #716 on: March 31, 2016, 08:28:50 am »
@lettuce;
Sorry lettuce but I've always been uncomfortable knowing most people don't understand the benefits of integer scaling, I'm going to add some more - slightly angry - rant but please don't take it personally, as I'll only be expressing a general sentiment I've had for long, on that topic.  ;)

Since it's off-topic in this thread I'll put it under spoiler tags;D
EDIT: uh no spoiler tags make it scary.

[rant]
Integer scaling is for people who think it needs to scale right before everything, and that when it does it opens the doors to clarity and efficiency considering the state of modern displays. It's for those who don't use heavy, completely exaggerated forms of smeary bleedy ghosty über-smooth atrocities to hide the tons of ugly wrongly-scaled, artifacts-filled output picture, always resource and resolution-hungry solutions that most of the time end-up being simulations of anything but normal well-working RGB low-res CRTs.

And even so, most of those CRT shaders benefit immensely from integer scaling, in many situations unless you have at minimum a WQHD real estate for more effective dissimulation of the scaling errors and inconsistencies, occurences when the scanlines distribution end up wrong, which is affecting the art/colors and motion clarity immensely and therefore realism, are many, many, and much too many. And I know most people don't even see it, still, that doesn't make them right.

The race for ever-extended fractional scaling is wrong in a sense that it's not a viable universal and efficient solution IMHO, it's putting the cart before the horse as it doesn't work well for the type of contents it's intended to work on, where any error is easily noticeable for the trained eye and demanding retrogamers, in particular those who've practiced the real deal their whole life.
Now unless one is a sucker for absolute border-to-border display of the games area on their flat panel (which only rarely happened on crt's in real life anyway) and can't deal with a few lines left out like in overscan, or on the opposite can't stand some black borders at times (which did happen a lot) then it's okay, anyone can leave integer scaling off, it's the default anyway.

So please people don't start ridiculing integer-scaling and by extension unvoluntarily campaigning against it now it's finally back in MAME, we may be a minority, you may not understand our reasons, but some of us have been waiting for it probably about a decade.
Few people will understand yes, and sorry for the upcoming redundance, because the common thinking is to always go supposedly 'forward' in the direction that always requires more of everything (cpu/gpu/resolution), like it's the only way that works. But doing things right from the start, even if that won't be the final solution, is the choice of accuracy and efficiency at a low cost and universally accessible.
This is also preservation. Why ? because of the circumstances of displays technology reality:
For most people having switched to LCD in this early 21th Century, ---smurfy--- LCD to be exact for 99% of us even today, it would have been actual progress if they'd have realized before thinking of the - still - rendering, that we have to mind what the display is capable of, and maybe make up for its weaknesses, the smart thing is to adapt to the circumstances.
Poor pixel lighting power, poor response and ghosting/smearing, weaker color reproduction, delay, limited signal compatibility, etc, all things that limit, almost cancel the expected results of really refined/advanced simulation efforts.
It's nice to have super fancy advanced shaders, it's desirable, but until things like super bright UHD OLED displays (or equivalent) have become as common as Full-HD LCDs ended-up becoming in this beginning of the century, then something like integer scaling is more than useful, more than welcome, and should have been a thing already a decade ago.

Yesterday I gave a try to various things using either PNG overlays (always falling right and even more so than before w/ H&V sliders) or hardware smoothing solutions (from my TV or an external scaler) and the results utterly destroyed anything I've seen in terms of picture quality and clarity, being much more optimal for LCDs particularily in motion, than most if not every filter or shader solution I've experienced so far.
It's a matter of making smart and right choices minding reality, GM allows to choose what games will scroll smooth a the cost of speed accuracy, or to preserve the latter even if it means choppiness.
Unless you're using a display that can do it all without this, it's the only reasonable thing to do.
Well it's the same reasoning with scaling: unless you have a display and PC that can bring out the benefits of higher fractional scaling and advanced shaders, using integer and simpler, lighter ways to make the picture enjoyable, is the reasonable thing to do.
[/rant]
« Last Edit: March 31, 2016, 08:35:53 am by schmerzkaufen »

tom5151

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 110
  • Last login:September 16, 2023, 09:21:11 am
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #717 on: April 07, 2016, 02:09:32 pm »
Hi all,
Is there any instructions for switching from GM 0.171 to official 0.172 ?
Because if I compare the ini files of the 2 different versions, a lots of GM options are missing...
So I'm a little bit lost, and I've read that a GM 0.172 would be released as well  ???
So what is the best choice ?

donluca

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 275
  • Last login:Today at 05:12:07 am
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #718 on: April 07, 2016, 02:48:08 pm »
Best choice is to wait for Calamity to get the new GM out.

He's always been really fast keeping it up with baseline MAME and the fact that he's taking his time means that the next GM is gonna have some BIG changes in it, probably worth the wait.
On a scale of fakeness, from more genuine to more fake, we'd have:

1.- Plastic plants (cf. Fake Plastic Trees)
2.- Inflatable dolls
3.- Arcade cabinets with LCD monitors

tom5151

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 110
  • Last login:September 16, 2023, 09:21:11 am
  • I want to build my own arcade controls!
Re: GroovyMAME 0.171 - SwitchRes v0.015m
« Reply #719 on: April 08, 2016, 12:09:32 pm »
Ok, thanks for your reply.
Let's wait and see.