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 ini file configuration for a CRT  (Read 3509 times)

0 Members and 1 Guest are viewing this topic.

flybynight

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 81
  • Last login:April 19, 2025, 08:56:00 am
  • I want to build my own arcade controls!
Groovymame ini file configuration for a CRT
« on: February 10, 2022, 02:36:30 pm »
I've searched the forums and have what I believe are the correct settings for the most lag free experience for running on a Hantarex 15K CRT with Groovymame and emudriver on a PC with ATI card:

1. Would a GM expert be able to sanity check these mame.ini settings please? I'm concerned some are only compatible for LCDs and not suitable for CRT

MAME.ini changes required:

#required for low latency D3D9ex and frame latency support.
#This is set to 'auto' in the default mame.ini file found in the groovymame download. change to d3d
video          d3d


#let groovymame select the correct resolution
#This is set to 'auto' in the default mame.ini file found in the groovymame download. change to 2560x0
resolution     2560x0


#disable these otherwise groovymame low lag features will be silently disabled
#These are already set to 0 in the default mame.ini file found in the groovymame download.
syncrefresh    0
waitvsync      0

#disable this otherwise groovymame low lag features will be silently disabled
#This parameter does not exist in the default mame.ini file found in the groovymame download. Add it in.
triplebuffer   0


#Is this only required for LCD planed with fixed refresh? Turn off (0) for CRTs?
#This is set 1 in the default mame.ini file found in the groovymame download. Change it to 0?? (Might disable framedelay?)
autosync       0


#improve input lag with Frame Delay. According to https://postimg.cc/z35RCrQT Frame delay of 2 is 15.67 ms of lag (less then 1 frame).
#May not be compatible with all games. Tap F11 in game to see the frame counter and if there are frame drops the PCU is too slow, lower this per game.
#This is set to 0 in the default mame.ini file found in the groovymame download. Change it to 2.
#Note: Some guides say this parameter is called frame_delay instead of framedelay??
framedelay    2


#give groovymame more resources
#This is set to 1 in the default mame.ini file found in the groovymame download. Change to 0
sleep          0

#give groovymame more resources
#This is set to 0 in the default mame.ini file found in the groovymame download. Change to 1
priority       1


#Allow games dynamically change their resolution. For disabling this feature, type 0 in place of 1.
#This is already set to 1 in the mame.ini file found in the groovymame download.
changeres      1


#readable fonts
#This is set to 'default' in the default mame.ini file found in the groovymame download. Change to uismall.bdf
uifont         uismall.bdf


#low latency sound
#This is set to 'auto' in the mame.ini file found in the groovymame download. Change to portaudio
sound          portaudio

#This is set to 2 in the mame.ini file found in the groovymame download. Change to 0
audio latency  0

#This is set to 'none' in the mame.ini file found in the groovymame download. Change to "Windows WDM-KS"
pa_api         "Windows WDM-KS"

#This is already set to none in the mame.ini file found in the groovymame download.
pa_device      none

#This is set to 0 in the mame.ini file found in the groovymame download. Change to 0.001
pa_latency     0.001




2. Also If I was to run this on another higher resolution Sanwa CRT (31K) I would like to have a scanline drawn for 15K games to make the 480p image look like 240p. How can I add a scanline to this in MAME.ini without disabling any GM features? (e.g. not using BGFX instead of d3d)

How about this:

hlsl_enable 1
scanline_alpha 1.0
scanline_size 1.0
scanline_height 1.0



3. Can these changes be added to a single custom "groovymame.ini" file within the INI sub folder? This would allow you to upgrade groovymame monthly overwriting the mame.ini file each time. The changes would be loaded from the \INI\groovymame.ini file. I read the syncrefresh 0 parameter being set in other place than mame.ini does actually disable this option so perhaps that means you can't use external ini files?


« Last Edit: February 10, 2022, 08:11:55 pm by flybynight »

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 ini file configuration for a CRT
« Reply #1 on: February 11, 2022, 03:46:34 am »
Hi flybynight,

I don't know where you have got this "information" but it's all wrong.

To have the correct settings, download GM from my github site and unzip. That's all. The defaults are the correct settings.

Use the frame delay slider from the ui to adjust it per game. Never set frame delay in mame.ini.

The audio part may be correct but it may require different ajustments depending on your target system (so it's wrong to just say set this to 0.001.

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

flybynight

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 81
  • Last login:April 19, 2025, 08:56:00 am
  • I want to build my own arcade controls!
Re: Groovymame ini file configuration for a CRT
« Reply #2 on: February 11, 2022, 05:02:42 am »
Thank you Calamity.  wow I'm glad I asked.


I got the information searching and did find it very odd that so many changes were required for the official grovymame downloaded mame.ini file. It looks like there is so much wrong information out there unfortunately.

A lot of it actually comes from here:
https://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1545#p1545
e.g. this guide suggests many changes from the default:

video                     d3d
syncrefresh              0
triplebuffer              0
waitvsync              0
sleep 0
prioity 1
uifont            uismall.bdf
autosync    1

That guide also calls the Frame Delay parameter frame_delay (with an underscore).


Are there different preconfigured ini files downloadable for different use cases (CRT, normal LCD, freesync LCD)?



Regarding Frame Delay - would it be possible to implement a global "framedelay auto" option where the system tries to find an optimal frame delay automatically for each game before maxing the CPU out?







« Last Edit: February 11, 2022, 07:04:21 am by flybynight »

jimj

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 116
  • Last login:August 27, 2024, 06:39:31 pm
Re: Groovymame ini file configuration for a CRT
« Reply #3 on: February 13, 2022, 02:35:03 am »
I got the information searching and did find it very odd that so many changes were required for the official grovymame downloaded mame.ini file. It looks like there is so much wrong information out there unfortunately.
I'm new to GroovyMame and CRTEmudriver and this has been a challenge for me.  There's so much info out there you can read, but what you should do has changed over time.  My impression is that the whole process has gotten easier (and better), but if you make the mistake of reading older info it actually makes it more challenging to get things working correctly.
« Last Edit: February 13, 2022, 02:42:16 am by jimj »