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: Groovy Arcade - Force csync on everything?  (Read 2361 times)

0 Members and 1 Guest are viewing this topic.

bumbervevo

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:April 27, 2019, 02:28:16 am
  • I want to build my own arcade controls!
Groovy Arcade - Force csync on everything?
« on: July 19, 2018, 04:15:39 am »
I'm wanting to run Groovy Arcade on my PVM 14N6U with my HD 4350 via RGBs. I've been working on and off with Groovy Arcade for about three weeks now, trying to get everything (Arch Linux shell, switchres, AdvMENUPlus, GroovyMAME) to use composite sync. I got AdvMENUPlus to output csync by modifying xorg.conf and setting H/V polarities to positive, but that's all I've been able to get working so far. I'm wondering if anyone else is running Groovy Arcade and has a similar setup, and what steps you took to get it running? Thanks!

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: Groovy Arcade - Force csync on everything?
« Reply #1 on: July 19, 2018, 12:44:48 pm »
That cannot be done with the Linux build. You'd need a modified version of GM to do that. It shouldn't be too hard if you have some experience with C++.

Or you can switch to Windows.
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

bumbervevo

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 3
  • Last login:April 27, 2019, 02:28:16 am
  • I want to build my own arcade controls!
Re: Groovy Arcade - Force csync on everything?
« Reply #2 on: July 19, 2018, 11:37:50 pm »
Ahh, that's kinda unfortunate. Was looking forward to working with Linux a bit more. Thanks for the quick answer!

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 498
  • Last login:June 12, 2023, 09:19:49 am
  • Z80 ERROR
Re: Groovy Arcade - Force csync on everything?
« Reply #3 on: July 20, 2018, 02:07:52 am »

Just for my understanding. What is the issue you are talking about? What is/are the required development?

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: Groovy Arcade - Force csync on everything?
« Reply #4 on: July 20, 2018, 04:59:24 am »

Just for my understanding. What is the issue you are talking about? What is/are the required development?

Basically OP wants GM to add the -csync flag to the modelines sent to xrandr.

The easiest way to do this is to hack the existing GM so it forces the -csync flag, in a custom build.

Currently the modeline code does not support a composite sync flag. In Windows csync is enabled as a global option.
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

Doozer

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 498
  • Last login:June 12, 2023, 09:19:49 am
  • Z80 ERROR
Re: Groovy Arcade - Force csync on everything?
« Reply #5 on: July 20, 2018, 03:19:16 pm »

Enabling CSYNC with libxrandr is not so difficult. Like the HSYNC and VSYNC flags you have to specify CSYNC flag in the call to the creation of the new mode via XRRCreateMode function call.  CSYNC implementation is driver specific but seems available in the radeon module. Here is where mode flags are set in current code version (0197).

xmode.modeFlags  = (mode->interlace?RR_Interlace:0) | (mode->doublescan?RR_DoubleScan:0) | (mode->hsync?RR_HSyncPositive:RR_HSyncNegative) | (mode->vsync?RR_VSyncPositive:RR_VSyncNegative);

Constants are available since v1.2 of the protocol.

+#define RR_CSync      0x00000040
+#define RR_CSyncPositive   0x00000080
+#define RR_CSyncNegative   0x00000100

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: Groovy Arcade - Force csync on everything?
« Reply #6 on: July 21, 2018, 05:29:30 am »
That's great Doozer.

I guess that fits better in a custom build since Windows doesn't allow to enable csync per modeline.

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