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: Can groovymame display Galaxian how I want it > sharp and integer scaled.  (Read 14564 times)

0 Members and 1 Guest are viewing this topic.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Can groovymame display Galaxian how I want it
« Reply #40 on: June 10, 2014, 11:15:33 am »
Note: these are the only differences I could see in the ini file to what I was using already. Is that the integer scaling bit? or is that just coincidence (the 4)

No, that's only related to vector games.
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

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.
Re: Can groovymame display Galaxian how I want it
« Reply #41 on: June 10, 2014, 12:43:56 pm »
grrrrrrr lost all my post when it disallowed .ini attachment  :angry:

anyway.....IT WORKS      :applaud: :applaud: :applaud: :applaud:



I was deleting big chunks of the vertical.ini file and either it suddenly worked because of that (maybe because of what you said about not repeating everything)

or by coincidence I had just been into control panel and re-applied the setting (no change)


I'll go back out to the garage and try some more controlled experiments. I need to get Defender displaying integer scaled as well.
« Last Edit: June 10, 2014, 12:48:17 pm by jimmer »
On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.
Re: Can groovymame display Galaxian how I want it
« Reply #42 on: June 10, 2014, 12:51:12 pm »
May I ask why are you compiling your own binaries? Maybe something you need to add?

I add fixes to Robotron and add some more Robotron and Defender ROMs to my build.

mame153 includes the Robotron fixes now (mostly, I think) but that doesn't run yet on my Dell 755
On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.
Re: Can groovymame display Galaxian how I want it
« Reply #43 on: June 10, 2014, 01:05:30 pm »
Quote
This gives me x4 integer scaling on my arcade rig  :applaud: (dell 745 / 1920x1080).    But it's fuzzy.  :angry:

It shouldn't be fuzzy. Maybe it's related to the Intel drivers. ATI drivers won't produce a fuzzy picture when integer scaling is used. Please post a log with the exact situation so I can see if we're missing something.

Here is the log for just your ume.ini renamed to mame.ini   
Giving integer scaling but fuzzy.
On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
I think the -prescale option might be the problem.

Create a vector.ini vertical.ini file with only this content:

Code: [Select]
prescale 1
And try galaxian together with the mame.ini from your previous post.


« Last Edit: June 10, 2014, 01:42:50 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

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.

YAY that works.   (vertical.ini not vector)

So which options are giving the integer scaling?
Is my request difficult because integer scaling with custom resolution is the default design case?


oh yes,
I tried horizontal.ini = prescale 1   
gives Defender  full height and fuzzy.
On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
So which options are giving the integer scaling?

The option is -cleanstretch.
But -cleanstretch is enabled automatically by GroovyMAME when it judges it convenient (i.e. if doing so doesn't produce huge borders).

Quote
Is my request difficult because integer scaling with custom resolution is the default design case?

No, actually your request is the default behaviour, this is what I've been trying to explain :)

But GM also handles the -prescale option, to get a better (less blurry) result in the situations where integer scaling is not a reasonable option. I believe that the problem is your Intel card doesn't seem to like the -prescale option. This could be the reason why starting with v0.149 you can't get it working at all.

Quote
oh yes,
I tried horizontal.ini = prescale 1   
gives Defender  full height and fuzzy.

So you mean it doesn't work for horizontal games?
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

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.
Frogger, Q*Bert are what I want (integer)

Galaga, Asteroids, Defender, Streetfighter are all full height fuzzy.

I guess it's to do with what it considers a reasonable border to be. Can I just change my groovymame diff to allow 25% borders?

edit: going out now, but I think I see the 10% (5%?) border in the code. Will have a play later.
« Last Edit: June 10, 2014, 02:09:58 pm by jimmer »
On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Yeah you may try that from the source code, or maybe simply force the -cleanstretch & filter options in your vertical/horizontal ini files:

Code: [Select]
cleanstretch 1
filter 0
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

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.

I altered the groovymame diff like this (guessing, didn't have time to work out what the ratios mean yet):
if (!(y_ratio >= 1.0 && y_ratio < 16.0 && y_diff < 10.0))
to
if (!(y_ratio >= 1.0 && y_ratio < 60.0 && y_diff < 40.0))

On my desktop 1920x1200 This works for all games with just mame.ini

On my arcade Dell 745 / lcd 1920x1080. This gives the wanted integer scaling, but needs additional vertical.ini (prescale 1) to get the unfiltered crisp look.

Adding the same horizontal.ini doesn't get a crisp Defender.

However I discovered something odd: If I run groovymame and pick Defender (or SF2) from the gamelist it comes fuzzy, but if I then choose a vertical game (crisp), when I go back to Defender (or SF2) again it is crisp. So it looks like there is something sticky that once it gets set it stays set.



On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.

Well, I've worked around most of the obstacles now.
 
My Dell optiplex745s with intel Q965 work fine with mame0153, it's the later optiplex755s with intelQ35 that doesn't like it.

horizontal.ini (prescale=1) doesn't give me a crisp defender, but I can use defender.ini (prescale=1)





On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
horizontal.ini (prescale=1) doesn't give me a crisp defender, but I can use defender.ini (prescale=1)

Hi jimmer, you need to use horizont.ini instead of horizontal.ini iirc.
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

jimmer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 562
  • Last login:February 17, 2025, 02:48:38 pm
  • I want to play Defender like at the arcade.

aha, great, I'm all good then (almost).

Next step looking into framedelay and whatever else to see if I can get rid of screen tear on Defender.

Is it possible to get Groovymame as a series of hacks still ? (like cabmame), because I probably want to ditch all the switchres complication. And maybe modify cleanstretch to give me the scaling options I want.
On forums jimmer speaks for himself as a Defender fan, not as proprietor of www.jbgaming.co.uk  << Is that advertising or disclosure ? or both ?

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1546
  • Last login:Yesterday at 09:40:48 am
  • retro maniac
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #53 on: December 06, 2014, 09:56:46 am »
I would also like to know how to force cleanstretch in source.

Right now I'm using groovymame with 21 '' TV and I can't enable cleanstretch for 25 KHz games. I prefer to play them with huge borders instead stretched to full screen. I did set cleanstetch to 1 even in [game].ini file. I was able to hack cleanstretch only in render.c but that's not enough for switchres.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #54 on: December 06, 2014, 10:28:03 am »
I would also like to know how to force cleanstretch in source.

Right now I'm using groovymame with 21 '' TV and I can't enable cleanstretch for 25 KHz games. I prefer to play them with huge borders instead stretched to full screen. I did set cleanstetch to 1 even in [game].ini file. I was able to hack cleanstretch only in render.c but that's not enough for switchres.

It's wiser to use a custom crt_range for that rather than forcing cleanstretch in code. If GM is opting to apply fractional scaling despite your forcing of cleanstretch is probably because the resulting vertical borders are not acceptable. In order to judge whether borders are acceptable or not it uses the progressive_lines_min & interlaced_lines_min values in your crt_range.
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

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1546
  • Last login:Yesterday at 09:40:48 am
  • retro maniac
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #55 on: December 06, 2014, 11:03:37 am »
I really don't understand. Those parametrs says how min and max lines my TV can generate using progressive modes and again min i max lines that can generate using interlaced modes. I don't see any connection to cleanstretch option.

What I like to set for example:

Hot Rod is 496x384@57,524 aspect 1,292, that 24 Hz mode that my TV cannot set so decides to use instead 640496@57,524 aspect 1,29 or even switchres choice 656x512@57,524 aspect 1,281 BUT with black border around picture forcing scale 1:1.

Another example:

Argus 256x224@54 I would like to put in 272x240 instead 256x240 but then groovymame tries to stretch 256 lines to 272 I don't know hot to force cleanstretch.
« Last Edit: December 06, 2014, 11:07:31 am by haynor666 »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #56 on: December 06, 2014, 12:21:43 pm »
What version are you using? Make sure to use the last one. I'll comment the rest in a while.
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

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1546
  • Last login:Yesterday at 09:40:48 am
  • retro maniac
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #57 on: December 06, 2014, 01:21:39 pm »
156

I think I've found bug:
If I manually choose resolution in specific .ini file stretching is enabled to full screen.

Examples:

1942 is 256x224 and I set 256x240 in ini file then game is stretched to 256x240 but if I set resolution through command line -resolution 256x240 when ini for game is not present then game starts with black borders on both sides.

Argus is 256x224 and I set 288x240 in ini file then game is stretched to 288x240 but if I set resolution through command line -resolution 288x240 when ini for game is not present then game starts with black borders on all four sides.

Just to make sure I've made screens using PrtScrn key and after paste result to Paint.


Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #58 on: December 06, 2014, 02:07:40 pm »
Please create a log to see what's going on:

groovymame.exe 1942 -v >1942.txt
(do this with and without the game's .ini)

BTW, when you create a specific game's .ini, make sure NOT to copy the whole mame.ini! Put ONLY the options you want to override from mame.ini.
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

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1546
  • Last login:Yesterday at 09:40:48 am
  • retro maniac
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #59 on: December 06, 2014, 04:13:36 pm »
Ok, so I was doing wrong by copying whole mame.ini as [game].ini a then changing resolution0 option.

When I set only one line in 1942.ini resolution0 256x240 then game starts with black borders.

But still groovymame stretches 24kHz games. Hot Rod still plays in full screen. Oh well, with filter enabled doesn't look so bad.

Another problem. I'm planning to play 8080bw and mw8080bw with 256x240 (all of those games does not draw anything important in first 4 lines counting from either left (or sometimes right (phantom2, steelwkr) side).
With normal mame and applied cleanstretch diff from cabmame I always played with d3d and 256x240. All I have to do was position in mame those games a bit. But again after I force groovymame to use 256x240 stretching is applied and is shrinked from 260x224 to 256x240. Hopefully this method works in groovymame but only with ddraw. Any advise Calamity? Should I stay with ddraw for those games or there is some solution?
« Last Edit: October 15, 2016, 06:44:56 am by haynor666 »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #60 on: December 06, 2014, 04:37:19 pm »
But still groovymame stretches 24kHz games. Hot Rod still plays in full screen. Oh well, with filter enabled doesn't look so bad.

For this you really need to trust me regarding the progressive/interlaced line limiters I mentioned above. Bear in mind 384p is actually OUT OF RANGE for arcade_15 because it doesn't fall between either 192-288 or 448-576. That's why it's virtualizing the resolution. So try using 384-576 as your interlaced min max values respectively.

Quote
Another problem. I'm planning to play 8080bw and mw8080bw with 256x240 (all of those games does not draw anything important in first 4 lines counting from either left (or sometimes right (phantom2, steelwkr) side).

One of GM's modeline engine premises is that it does NOT crop games. If you force it to run with a resolution below native it will use fractional scaling. In other words, integer scaling requires a scaling factor equal or above 1.

Honestly I don't see a reason for what you're trying to do, nor for using 272x240 instead of 256x240. Those tricks may make sense with baseline MAME but not with GroovyMAME. If you want to play with borders size, just use the desired values in a custom crt_range instead of messing with the resolution itself. Everything is ready to be fully customizable, but you need to learn the way things work.
« Last Edit: December 06, 2014, 04:40:24 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

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1546
  • Last login:Yesterday at 09:40:48 am
  • retro maniac
Re: Can groovymame display Galaxian how I want it > sharp and integer scaled.
« Reply #61 on: December 07, 2014, 06:59:47 am »
Thanks Calamity for explanations. I must say it was already explained in VMMaker doc I somehow I forgot about this. Setting 384 in interlaced range indeed disabled stretching was resolution that switchres choose. Now I have to play with different resolutions.