Build Your Own Arcade Controls Forum

Software Support => GroovyMAME => Topic started by: bent98 on January 14, 2017, 09:03:20 am

Title: crt_emu 2.0 config question
Post by: bent98 on January 14, 2017, 09:03:20 am

I just setup win 7 x64 rig with radeon R7970 video card. I followed the instructions at the below link. Everything is working like my old win xp rig.

http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=301 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=301)

The only thing I didnt do is:


The final step is to edit mame.ini and with the options -resolution 2560x0 -cleanstretch 2.


Do I need to add that to mame.ini? It's working fine without.
Also, there was only one game that I tested that was running without scan lines. Frogger. I  remember back in the day I needed to patch groovymame for this one specifially.
Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 15, 2017, 05:32:53 pm
Assuming you've updated to the latest GroovyMAME as well - the stretching options have changed slightly, and I can't remember where to find the guide for them.

Setting the resolution to 2560x0 looks better. It tells GroovyMAME to call switchres and use super resolutions when stretching. Setting the stretch options can tell it not to scale vertically (or only scale to an integer ratio, and never to stretch.) For CRT this is generally best. For example, using a 320x240 mode for a CPS1 game like Fight Fight, which renders natively at 384x224, means that even before the image hits your CRT GroovyMAME is trying to fit 384 pixels into only 320, so you lose quality. Using the much larger horizontal resolution of 2560 means you lose nothing and things get scaled more evenly. (Every 3rd original pixel is 6 pixels wide, the other two being 7. This is much less noticeable, and looks very even.)

The vertical rendering, in this example, merely centres the 224 lines on the screen and stops there. That is, assuming the stretch options are set right. Which is precisely what you want, as vertical stretching does horrible things.

You can check things are working by leaving the nagscreens option on, and seeing what resolution swtichres has picked when you start a game :)
Title: Re: crt_emu 2.0 config question
Post by: bent98 on January 15, 2017, 06:06:55 pm
So what part of Mame.ini do I add that?
Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 15, 2017, 09:08:17 pm
It's about halfway down. The guide here does the resolution, but the stretching options have changed - http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290)

And above that a little way are the core switchres options. That'll be where the stretching is. IIRC in the current builds you only have to set the resolution to 2560x0, and the option to trigger switchres/super-resolutions is already set at 2560. Sorry I don't remember more. I know it's on here somewhere, but I can't remember which thread. Take a look into the file, find the video options, and scroll up and down until the headings aren't relevant.

I'm hoping recap will update it soon, I rely on it way too much :)
Title: Re: crt_emu 2.0 config question
Post by: bent98 on January 16, 2017, 08:23:37 am
It's about halfway down. The guide here does the resolution, but the stretching options have changed - http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290)

And above that a little way are the core switchres options. That'll be where the stretching is. IIRC in the current builds you only have to set the resolution to 2560x0, and the option to trigger switchres/super-resolutions is already set at 2560. Sorry I don't remember more. I know it's on here somewhere, but I can't remember which thread. Take a look into the file, find the video options, and scroll up and down until the headings aren't relevant.

I'm hoping recap will update it soon, I rely on it way too much :)

I attached my .ini file. Let me know if anything else looks out of place. I still cant get my trackball and spinner to work with either the regular or d3dex ver ofgroovymame.

Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 16, 2017, 05:18:40 pm
At a glance, the line "resolution 2560x0 -cleanstretch 2" shouldn't have the "-cleanstretch 2" bit. That's no longer a relevant variable. Also, there's a section for "core render options" in which I think you set the stretching. I'm not sure about this though. It may be that once super resolutions are enabled (the Super_width setting, which you have at 2560, correctly) everything takes care of itself.

Can someone who understands the current stretching options please post up?

(Nice monitor ranges in there, btw. What monitor is that for?)
Title: Re: crt_emu 2.0 config question
Post by: bent98 on January 16, 2017, 05:35:22 pm
I have a bill labs 25 inch quad sync but I used a D9800 profile.
Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 16, 2017, 06:58:20 pm
The trackball and spinner would be a windows issue, I think. I presume you've tried configuring them in GroovyMAME. Does windows see them? Try testing them - control panel, devices and printers, then see if they show up. You can right click and poke around, and start testing them. Do they work in other programs? Do they need drivers, or special software? MAME only takes base-level inputs, it won't see keystrokes sent by Joytokey or similar programs.
Title: Re: crt_emu 2.0 config question
Post by: Paradroid on January 16, 2017, 07:28:37 pm
Joytokey should work if you set keyboardprovider = dinput.

It certainly for Autohotkey scripts that send keystrokes.

Sent from my SM-A300Y using Tapatalk

Title: Re: crt_emu 2.0 config question
Post by: bent98 on January 16, 2017, 08:25:21 pm
Enabling Dinput worked!
Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 17, 2017, 12:22:52 am
Joytokey should work if you set keyboardprovider = dinput.
I never knew that! I'll have to work out what I can do differently now :)
Title: Re: crt_emu 2.0 config question
Post by: pakoman on January 17, 2017, 05:08:48 am
Joytokey should work if you set keyboardprovider = dinput.
I never knew that! I'll have to work out what I can do differently now :)

Does joytokey add any lag?
Title: Re: crt_emu 2.0 config question
Post by: Dacasks on January 17, 2017, 04:09:06 pm
Assuming you've updated to the latest GroovyMAME as well - the stretching options have changed slightly, and I can't remember where to find the guide for them.

Setting the resolution to 2560x0 looks better. It tells GroovyMAME to call switchres and use super resolutions when stretching. Setting the stretch options can tell it not to scale vertically (or only scale to an integer ratio, and never to stretch.) For CRT this is generally best. For example, using a 320x240 mode for a CPS1 game like Fight Fight, which renders natively at 384x224, means that even before the image hits your CRT GroovyMAME is trying to fit 384 pixels into only 320, so you lose quality. Using the much larger horizontal resolution of 2560 means you lose nothing and things get scaled more evenly. (Every 3rd original pixel is 6 pixels wide, the other two being 7. This is much less noticeable, and looks very even.)

The vertical rendering, in this example, merely centres the 224 lines on the screen and stops there. That is, assuming the stretch options are set right. Which is precisely what you want, as vertical stretching does horrible things.

You can check things are working by leaving the nagscreens option on, and seeing what resolution swtichres has picked when you start a game :)

I just noticed I can't create 384x224 and I'm stuck with 384x226 for ages now, and I just can't do anything about it. Super resolutions give weird artifacts/screen tearing on the upper/near top of screen, so I stick with the native horizontal resolution for most games. But with CPS games I can't create 224 of vertical res.... So I naively ask if those 2p of difference between 224 - 226 creates any other kind of distortion besides screen alignment.
Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 17, 2017, 05:30:47 pm
I just noticed I can't create 384x224 and I'm stuck with 384x226 for ages now, and I just can't do anything about it. Super resolutions give weird artifacts/screen tearing on the upper/near top of screen, so I stick with the native horizontal resolution for most games. But with CPS games I can't create 224 of vertical res.... So I naively ask if those 2p of difference between 224 - 226 creates any other kind of distortion besides screen alignment.

With the scaling options set right, GM won't stretch the image. Which is what you want. I actually thought it was difficult to create resolutions below 240p. Possibly related to that, you might  find the tearing is due to framerate issues.

It's fine to install modes for specific games, but if you set GM up right you shouldn't need to worry - at least for GM games. (I'm still puzzled by WinUAE and the fact I can only get a 1:1 picture in 262p@52Hz, for example :))
Title: Re: crt_emu 2.0 config question
Post by: Recapnation on January 17, 2017, 07:41:34 pm
I don't see myself updating the guide soon, I'm afraid. Important changes are still coming (we have the Port Audio thing in the next mainline version, for one) and I just don't have the time to keep pace. Keep in mind that Switchres 0.0016 is still in alpha. When some permanence is reached again, I'll try to redo the obsolete stuff then. Anyway, the key options and overall explanation to understand how it all works are mostly valid. Cleanstretch options are no longer used, if I recall.

Being "stuck" with 226 lines is just not possible unless you do something really weird when defining your monitor specs. The idea, anyway, is that one generates modes of 240 lines first and foremost, also for usage with the games of 224 lines -- you just don't want the emulator to scale vertically as Buttersoft says.


Quote
Does joytokey add any lag?

Word out there says so.
Title: Re: crt_emu 2.0 config question
Post by: Dacasks on January 17, 2017, 10:13:15 pm
Much thanks for the input Buttersoft! :)

Well, when I say "stuck" with 224 I must say of course other modelines can be created. I use Arcade 15khz specs anyway since I use broadcast monitors (which, actually, can display a wider range of modes in certain cases). But using Generic got the same results.

384x224 is the only mode I couldn't create so far. I can even create 384x225, but not 384x224. I can create other modes with different horizontal res and 224, but not 384x224, so it's kinda odd.

Comparing with real hardware side by side I couldn't see difference but who knows... I wish I could use 2560 all the time but, as I said, it gives some screen tearing issues depending on the vertical res. Maybe it has something with my setup, or, something I'm missing.
Title: Re: crt_emu 2.0 config question
Post by: buttersoft on January 18, 2017, 12:31:48 am
Sorry, I meant refresh rate issues! Not framerate. There are settings in Recap's GM setup guide on Euisdemmodi, I believe. That and the Vsync-offset guide might help? It just sounds like a weird issue.


Recap: NP man. Better to wait for big updates, I agree. If I understood the options properly right now I'd offer to help!
Title: Re: crt_emu 2.0 config question
Post by: Dacasks on January 18, 2017, 09:56:46 am
I managed to solve the issue with screen tearing on the top of the screen by changing clean stretch value and downvalue frame_delay to 7

Now it Works 2560x224 but... It may be "placebo", but in some games I do think I feel some additional input delay, next to none, by changing it 8 to 7 :/.

I use D3D9EX btw.

If I change Frame_delay to 9, the screen tearing comes further down more to the center of the screen.

So I tried to mess around with vsync_offset... but... no value I put on it seems to make any difference in the regard.
Title: Re: crt_emu 2.0 config question
Post by: Dacasks on January 18, 2017, 01:12:59 pm
...Errm, just wanted to add that Cleanstretch has nothing to do with that. It's just necessary under 0.171  2560 the screen shows up pretty thin without it.

Tried the newest version with BGFX and the problem doesn't happen with it, but I assume is that BGFX doesn't make use of frame_delay, is that right?

Anyway, the lag is really noticeable using BGFX, even cranking frame_delay to 9, so I guess it doesn't make use of it.

... this makes me notice how confusing some of these options are for the average user, even using the guides. I mean, if I'm not mistaken I saw somewhere that BGFX doesn't need frame_delay parameters to reduce the input lag to a minimum but, it's not exactly what I'm experiencing. D3D9EX with Frame_delay set to 8 (because 9 for most games gives frame drop) still shows better results, no matter what version I use so... Maybe I got it all wrong.

EDIT:

NAH, Thought I solved, it's still there :(
Title: Re: crt_emu 2.0 config question
Post by: Calamity on January 18, 2017, 04:47:42 pm
Tearing with frame delay happens with any high enough resolution (e.g. super resolutions) unless you have a somewhat powerful videocard (HD 6000+).

BGFX implementation of frame delay is still partial. I hoped it to perform just like d3d9ex latency-wise, but I couldn't tweak it the same way yet.

GM is not for the average user. Specially options like frame delay. GM is a living matter. The only way to master it is to follow the forums. Most guides out there are obsolete. Most comments you'll read even by expert members are partially wrong. Creating a guide means a great effort, and the guide will be dead almost immediately.
Title: Re: crt_emu 2.0 config question
Post by: Dacasks on January 18, 2017, 05:06:06 pm
I managed to make work with Frame_delay 8 creating a custom res of 2040x224 for CPS(1,2 and 3) games. The screen tearing goes away
With Frame_delay 9 it's still there, however. a little bit higher than where it was

So it has something with the horizontal resolution.

My only doubt is if I'm missing quality. By eye I couldn't see much difference but... maybe.

I actualy had a 7750  (bought because I thought would solve it...)
Title: Re: crt_emu 2.0 config question
Post by: Calamity on January 18, 2017, 06:01:32 pm
Frame delay 9 requires a cpu capable of emulating the target system at huge speed (+1000%), even with non-super resolutions. I'd be more than happy to be able to run -fd 7-8 with super resolutions.
Title: Re: crt_emu 2.0 config question
Post by: Dacasks on January 18, 2017, 06:16:58 pm
Frame delay 9 requires a cpu capable of emulating the target system at huge speed (+1000%), even with non-super resolutions. I'd be more than happy to be able to run -fd 7-8 with super resolutions.

Yep, frame_delay 8 is fine for me, for most games. Actually I never used FD 9, but once you get used to 8, depending on the game, 7, 6, you start to feel a little bit off. But 2040x224 seems to not produce any distortion on screen, So I'll stick with that for CPS games, but I'll leave that on hold.