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 227663 times)

0 Members and 1 Guest are viewing this topic.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7411
  • Last login:March 14, 2024, 05:26:05 am
  • Quote me with care
GroovyMAME 0.171 - SwitchRes v0.015m
« on: November 23, 2013, 07:46:20 pm »
GroovyMAME 0.171 - SwitchRes v0.015m

GroovyMAME is a custom M.A.M.E. build mainly aimed at CRT monitors, as we are convinced CRT technology is a must when it comes to enjoying emulation in its full glory. However you can use GroovyMAME to alliviate some of the annoyances associated to emulation on LCD displays, specially for those models which are capable of refreshing at custom rates.

GroovyMAME's main features as compared to official MAME:

- Improved video and audio synchronization that achieves truly smooth scrolling, tearing-free video and hiccup-free sound.

- Automatic generation of custom video timings for CRT monitors.

- Reduced input latency

Note: GroovyMAME already contains MKChamp's patches for high score support/nag screen removal (need to be enabled in mame.ini).

While the improved synchronization feature is system independent, you are going to need a special hardware and software setup in order to get the full potential out of GroovyMAME.

As for the hardware part, do yourself a favour and grab an old ATI Radeon card, any model from Radeon 7000 to the HD 4xxx family should work, both AGP and PCIe models. As far as we know, there is nothing that can remotely compare to these cards in terms of flexibility.

On the software side of things, you need to be aware that operating systems are not designed to deal with hundreds of video modes as we are going to need here, so some degree of hacking is required. You can use one of these options:

- GroovyArcade Linux.
                   GroovyArcade download site

- Windows XP-32/64-bit + a hacked version of ATI Catalyst named CRT_EmuDriver.
                   CRT_Emudriver's download site (in Spanish. ftp courtesy of Abubu)
                   Download mirror (courtesy of Krick)

Either one of these operating systems combined with one supported ATI card is the preferred environment to run GroovyMAME in. However, GroovyMAME can also generate custom timings under Windows for virtually any card supported by PowerStrip, by making use of its API. Anyway, keep in mind this method is way more limited and unreliable than the standard one.

GroovyMAME can get all your resolutions to almost fit perfectly on the HORIZONTAL, once you find your custom specs. No software can control the VERTICAL size of a resolution on a CRT monitor, you need to adjust it physically (potentiometers, service menu, etc.).

Download GroovyMAME

         GroovyMAME download site

Setup

For a guide on setting GroovyMAME along with CRT Emudriver (Windows 7), please refer to Recap's  GroovyMAME: Installation and quick configuration.

Basic steps:
- Download the official MAME package from MAME's site.
- Replace the official MAME executable with the GroovyMAME executable.
- Rename the GroovyMAME executable to something more convenient (e.g.: groovymame.exe). This step is optional.
- Use GroovyMAME to create a new mame.ini file. This step is crucial. Go to command line, and run:
 
Code: [Select]
c:\mame_folder>groovymame.exe -cc
- Edit mame.ini with your ROM paths and monitor type (in the SwitchRes section).

Reporting problems. How to create a log

If you're experiencing problems with a certain game, please create a log and post it when reporting the problem. This will provide most of the required information beforehand and will save us from asking you to post a log, which depending on your time zone may delay the answer by a couple of days.

Steps to create a log:

- Run GroovyMAME like this:
Code: [Select]
c:\mame_folder>groovymame.exe romname -v >romname.txt- Upload romname.txt as an attachment to your post. Please don't paste it inside the edit box as it makes things unreadable.

Compiling notes (v0.171)

Download patches and apply them in this order:

1) hi_171.diff
2) 0171_groovymame_015m.diff

Code: [Select]
c:\mame_source>patch -p0 -E --binary <hi_171.diff
c:\mame_source>patch -p0 -E --binary <0171_groovymame_015m.diff
c:\mame_source>make

What's new in SwitchRes v0.015m

- (Windows 7+) Preliminar support for the new BGFX renderer (currently only DirectX 11). Mode setting is implemented. Dynamic resolution switching may be buggy yet. Frame delay not implemented yet.

- (Linux) New implementation of the SDL 2.0.4+ input fix (Doozer).

- (AMD ADL) Fix for refresh value being shown incorrectly on internal UI. (Reported by haynor666).


What's new in SwitchRes v0.015l-final (cumulative fix)

- Added support for AMD HD 5000/6000/7000 series. You'll need CRT Emudriver 2.0 for Windows 7/8/10.

- ATI legacy cards (HD 2000/3000/4000): fixed halved refresh of interlaced modes on vsync with Direct3D (only if sync polarity is set to positive, details below).

- Removed frogger/galaxian patch. As suggested by haynor666.

- (fix 1-2) Correcty assign sync polarity to ATI legacy cards. This reverts initial 0.015l attempt to fix issue related to halved refresh of interlaced modes with Direct3D on Windows 7+. Now, manually forcing positive vertical sync polarity (+vsync) will effectively bypass the problem, although because most arcade monitors and TVs require negative sync polarity, this method won't work in most cases (out of sync video). However, if you use a device that properly handles the sync signals between the video card and the monitor, such as the UMSA, this method will work great.

- (fix 3) Solves crash affecting AMD HD 5000+ cards.

- (fix 4-5) (Linux) Fixes input for SDL 2.0.4 (Doozer). Caused by MAME window not receiving input focus in the absence of a window manager.

- (fix 5) (Windows) Fixes Powerstrip support.

- (fix 6) (Linux) Fixes bug with SDL build where GroovyMAME would freeze at the combination of -nomodeline_generation and -monitor lcd (reported by RobertJ)

- (fix 6) (Windows) Properly tell apart system modes.

- (fix 6-7) (Windows, AMD 5000+) Fixes crash caused by GroovyMAME attempting to switch the interlace feature of a given modeline in the same session, when using Direct3D 9ex (reported by intealls).

- (fix 7) (Windows, AMD 5000+) Correctly assing sync polarity to AMD HD 5000+ cards. Because AMD documentation is wrong, GroovyMAME/VMMaker where assigning the polarities the wrong way. This must be the direct cause of most out-of-sync issues reported till now. What happened is that GM assigned positive sync instead of negative, and vice versa. This is fixed now, but you'll need to update your crt_range definitions, both in VMMaker and GroovyMAME. By default, negative sync (0) is what should be used in most cases. Thanks to intealls for doing proper checks with an oscilloscope and R-Typer for double-checking.

- (fix 7) Use 6 decimal figures for refresh values (Doozer).

- (fix 7) (Linux) Disable -syncrefresh when DRI can't be accessed (suggested by Doozer).

- (fix 7) (Windows) Properly report the refresh when using Powerstrip with a -ps_timing string (reported by sean_skroht).

- (fix 7) (Windows) Fixes bug preventing -nomodeline_generation from working (reported by Cisek).

- (fix 7) (Windows) Fixes issue with Attract-Mode front-end loosing focus on GroovyMAME exit (intealls).


What's new in SwitchRes v0.015k

- Improved audio/video synchronization [intealls]: now the audio update code is called per frame, right after the video update, instead of being scheduled based on an alien timer. This is important for time-critical audio implementations such as ASIO.

What's new in SwitchRes v0.015j

- Direct3D9ex support [koopah, intealls] (new option: -video d3d9ex): now GroovyMAME supports Direct3D9ex, which is present in all versions of Windows starting with Vista. This allows the application to take control of the frame latency and force it to the minimum allowed by the driver, avoiding the dreaded frame queues. This is specially useful in the situations where frame_delay can't be used reliably without tearing (LCDs, high resolutions). Besides, Direct3D9ex seems to perform better for certain hardware (Nvidia, Intel), so it may be preferred to plain Direct3D9 in general.

- Frame delay (improved) [intealls, Calamity]: now frame_delay polls the video driver for absolute scanline values, totally bypassing the default vertical synchronization functions. Some of the advantages are:
  • Improved stability of the vertical synchronization mechanism, that finally makes it possible to extend GroovyMAME's audio/video synchronization to the frame delay use case.
  • Awareness of the raster position and notification of missed retraces.
  • Allows for anticipating the vertical retrace accurately (see vsync_offset, below).

- Vsync offset [intealls] (new option: -vsync_offset): forces render to happen a certain number of lines before the vertical blank (e.g. -vsync_offset 200). At high resolutions (LCD, etc.), the time it takes the GPU to scale a frame starts being longer than the blanking period itself. This is specially true when HLSL is used. This appears as static tearing when frame_delay is used. To compensate this issue, vsync_offset forces the render code to be called a number of lines ahead of time. Ideally, using a proper value realigns the render completion with the end of the blanking period, cleanly removing all tearing, even on LCDs with frame_delay and HLSL enabled. In practice, you need a fairly fast card in order to fully remove tearing. The higher the tearing line appears on the screen initially, the faster your card is, and the more chances of completely hiding tearing through -vsync_offset. Notice that you'll need to lower your frame_delay value proportionally to the amount of lines you set in -vsync_offset.

What's new in SwitchRes v0.015i

- Fixed broken mouse/trackball in SDL (VeS).
- Disabled prescale settings for vector games in SDL (now Windows and SDL builds behave the same).
- Fixed logging of option settings in SDL.

What's new in SwitchRes v0.015h

- Forced prescale value to 1 when using HLSL and GLSL filters. Avoids warnings and problems.

What's new in SwitchRes v0.015g

- Added support for video mode switching with the OpenGL renderer in Windows (-video opengl). Notice that in order to get any vertical synchronization through the OpenGL renderer, the WGL_EXT_swap_control extension must be present in the system, otherwise the emulation will run unthrottled. This seems to be totally driver dependent. Not a real alternative to Direct3D at the moment.

What's new in SwitchRes v0.015f

- Fixed bug in modeline scoring system that caused incorrect mode selection when running 60.606 Hz games (e.g. frogger) at their native orientation using certain monitor presets.

What's new in SwitchRes v0.015e

- Starting from this version hiscore.dat must be placed in the same folder where mame.exe is, instead of inside the .\hi directory as before. This is to avoid confussion to new users. Please make sure to move hiscore.dat to the right place if you're upgrading from previous versions.

- Now GroovyMAME code relies on a simplified osd-independent version of MKChamp's hiscore patch. It's purpose is to make it easier to update both patches on the new update schedule, by keeping their entanglement as shallow as possible.

What's new in SwitchRes v0.015d

- Frame_update method slighty reorganized to improve -frame_delay efficiency. Should fix previous issues with analog controls.

What's new in SwitchRes v0.015c

- Support for rotated desktops (Windows & Linux).
    - E.g. if you have your desktop rotated 90º, launch GroovyMAME like this: groovymame.exe 1942 -monitor vertical -aspect 3:4
      ("Magic" resolutions won't work with rotated desktops. If you're still using them we encourage you to move to "super" resolutions).

- Finally proper support for "super" resolutions (Windows & Linux):
    - Fix for modeline scoring to properly select the best available "super" resolution.
    - Fix for blank UI due to wrong scaling when in rotated mode and using "super" resolutions.
    - Fix for vector games that didn't show when using "super" resolutions.

- Moved our official build to SDL2 (Linux):
    - Fix for SDL2 broken waitvsync feature, now we perform vsync through DRM.
    - Fix for SDL2 broken mode switching feature while in fullscreen.
    - Added support for asynchronous rendering (equivalent to -triplebuffer in Windows).

- Full logs back in working order.

What's new in SwitchRes v0.015b

- New fix for Windows 7 progressive/interlaced mode switching with DirectDraw, now also works with ArcadeVGA 3000 (thanks to Sledge & sean_skroht).
- Fix in the modeline scoring system so that it properly accounts for the refresh rate when -nomodeline_generation is used (reported by Haggar).

What's new in SwitchRes v0.015a

- Change that makes the built in UI useful for selecting games with a joystick. Now all games in the directory are listed in alphabetical order (patch by cools).
- Fix for mouse devices that stopped working properly since a previous change (reported by Endprodukt & sean_skroht).
- Fix for SDL Linux to allow dynamic refresh switching even when resolution doesn't change, required for variable refresh capable LCDs (patch by eldiau)
- Now the -prescale settings are not applied with HLSL on, this fixes previous video issues (suggested by lettuce).
- Now when using interlaced modes in Windows 7 -video ddraw is automatically selected, in order to avoid the refresh rate being halved.

What's new in SwitchRes v0.015

- Automatic modeline generation now can be enabled/disabled (new option -modeline_generation): now GroovyMAME can pick your installed modelines as use them as read-only (-modeline_generation 0), or update them dynamically with its automatic modeline generation engine (-modeline_generation 1). In all cases, modelines are evaluated to check their frequencies against your defined monitor working ranges. This option is meant for users who have customized their modelines by using external software like Arcade_OSD, and want GroovyMAME to pick their modelines and only their modelines.

- User defined modelines (new option -modeline): now you can pass a raw modeline to GroovyMAME and it will use it! This makes full control of video timings possible for advanced users. Just add a line like this in your game or driver .ini file:

Code: [Select]
modeline "320x240_60 15.91KHz 60.05Hz" 6.62 320 344 376 416 240 244 247 265 -hsync -vsync
The only requirement is to have a modeline already available in the system with the same active width and height. Note that magic resolutions also work here, so it's enough to have a magic resolution with the proper height available. Warning: user defined modelines frequencies are NOT checked. Use it at your own risk. This option is provided to allow full freedom for advanced users. Your monitor settings will be overridden and a custom monitor range will be created on the fly to accommodate your modeline. As suggested by rCadeGaming.

- Cleanstretch feature (improved): now the -cleanstretch option admits these values:
  * 0 (in mame.ini) = auto, this value allows GroovyMAME to decide whether to use integer scaling.
  * 0 (in specific .ini or command line) = force fractional scaling.
  * 1 = force integer scaling in both axis.
  * 2 = fractional scaling for x-axis, integer scaling for y-axis. This option is manual only (can't be selected automatically). As suggested by Cools.

- Resolution masks (new): now you can specify resolution wild cards like this: -resolution 640x0 or -resolution 0x480, where '0' is a wild card value. As suggested by Dr.Venom.

- Changeres (improved): now dynamic resolution switching inside games only happens if the resulting modeline actually changes. Scaling options, on the other hand, are dynamically updated. This feature, in combination with resolution masks, makes possible to use "super-resolutions" to achieve seamless resolution switching for systems that change the active width frecuently, like the Megadrive. As suggested by Dr.Venom.

- Frame_delay (improved): reduced input latency thanks to improved -frame_delay option, check this thread for more information: http://forum.arcadecontrols.com/index.php/topic,133194.0.html

- Audio latency now admits fractional values (e.g.: -audio_latency 1.5): this makes it possible to find the optimal system specific glitch-safe audio latency value with finer granularity. As suggested by Dr.Venom.

- Black frame insertion (new option -black_frame_insertion): enables black frame insertion, to eliminate eye-tracking motion blur for both CRT and LCD monitors (more information: http://www.blurbusters.com/). It requires a 120 Hz capable display. You need to define either a 120 Hz monitor preset in mame.ini or use a 120 Hz desktop resolution. Then set "black_frame_insertion 1" in mame.ini, this will allow GroovyMAME to enable black frame insertion when required.

- Multi-monitor support: SwitchRes can only target one single monitor at a time, defined by index #0 of the per-window options (screen/aspect/resolution/view). But now, you can have two or more full screen displays at once: SwitchRes will operate on screen #0, and the other screens will be handled by default MAME video functions.

Code: [Select]
groovymame.exe orunners -numscreens 2
- LCD marquee support: as a consequence of multi-monitor support, now you can use GroovyMAME with an LCD secondary monitor for marquees. You have to set "use_marquees 1" in mame.ini, use a layout that contains marquee artwork, and these options:

Code: [Select]
groovymame.exe 1942 -numscreens 2 -view1 marquee
- Video timings now saved in .cfg: now GroovyMAME saves the modeline used in the game's specific .cfg file. This feature, combined with GroovyMAME now accepting modelines from .ini files, will allow future third party applications to interface with GroovyMAME's video timing configuration.

- New monitor presets:
  * pc_31_120: a preset for 120Hz capable PC CRT monitors, at 31kHz (VGA). Designed for hardware scanlines by frequency doubling. Black frame insertion recommended.
  * pc_70_120: same as pc_31_120, but for monitors capable of up to 70kH (SXGA).
  * r666b: Rodotron 666B-29 (by rock145).

- General re-adjustment of existing monitor presets (specifically line boundaries between 24 and 31 kHz ranges).

- New option -ps_timing. By using this option you can pass GroovyMAME a Powerstrip timing string, which GroovyMAME will pass to Powerstrip unmodified. This is meant to use modes that have been manually pre-adjusted with Powerstrip. One possible use of this feature is to allow ArcadeVGA 3000 users customize each mode, even have many instances of them with different refresh rates.

To get a timing string, select the mode in Powerstrip, and in "Advance Timing Options", click the copy to clipboard button, on the bottom right part of the window. This will copy this information to the clipboard:

Code: [Select]
PowerStrip timing parameters:
1366x768=1366,36,48,42,768,3,5,6,69840,518

Generic timing details for 1366x768:
HFP=36 HSW=48 HBP=42 kHz=47 VFP=3 VSW=5 VBP=6 Hz=60

VESA detailed timing:
PClk=69,84 H.Active=1366 H.Blank=126 H.Offset=20 HSW=48 V.Active=768 V.Blank=14 V.Offset=3 VSW=5

Linux modeline parameters:
"1366x768" 69,840 1366 1402 1450 1492 768 771 776 782 -hsync -vsync

The line we're interested in is the first one. Just grab the row of numbers after the "=", and use it to fill in the ps_timing option in mame.ini, like this:

Code: [Select]
powerstrip 1
ps_timing 1366,36,48,42,768,3,5,6,69840,518
« Last Edit: February 24, 2016, 07:36:46 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

Ansa89

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 377
  • Last login:December 09, 2016, 10:40:11 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #1 on: November 24, 2013, 03:57:52 am »
Great news!
Time to compile and test :) .
Earth could be the hell of another world

ufoufo512

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 49
  • Last login:September 22, 2016, 02:09:41 pm
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #2 on: November 24, 2013, 04:59:20 am »
Awesome, thanks a lot!

I have one question: it seems that I not able to update GroovyUME from GASetup. The newest version in the list is groovymame32_0149.014b_wiimote_linux.tar.bz2. I suspect it might be due different extension/format in current builld (7z vs tar.bz2). Is there a simple fix for this?

Edit: Nevermind, it seems those new builds at http://code.google.com/p/groovyarcade/downloads/list are for Windows only.
« Last Edit: November 24, 2013, 05:01:22 am by ufoufo512 »

Sledge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 495
  • Last login:September 25, 2022, 05:22:55 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #3 on: November 24, 2013, 05:23:14 am »
multithreading is off by default now?

Also, i keep getting pop-ups saying switchres cannot find a video mode to suit my specs..
and all games run at 256x224 (V)

Using an ArcadeVGA 3000 on Windows 7x64 and running GM as administrator!

Previous Groovymame works fine..
« Last Edit: November 24, 2013, 06:00:09 am by Sledge »

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #4 on: November 24, 2013, 06:04:48 am »
multithreading is off by default now?

Yes, I'll write about this later.

Quote
Also, i keep getting pop-ups saying switchres cannot find a video mode to suit my specs..

Confirmed, -lock_system_modes is not working, will upload a fixed version later. This just affects AVGA 3000.
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

Sledge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 495
  • Last login:September 25, 2022, 05:22:55 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #5 on: November 24, 2013, 06:08:46 am »
No worries!
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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #6 on: November 24, 2013, 06:48:52 am »
Files updated. Now -lock_system_modes should work as usual.
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

rCadeGaming

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1256
  • Last login:December 20, 2023, 09:16:09 pm
  • Just call me Rob!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #7 on: November 24, 2013, 10:02:07 am »
:notworthy: Just wanted to offer my gratitude for everything you've done and for considering my suggestions. :cheers:

bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #8 on: November 24, 2013, 10:36:56 am »
Thanks for this awesome update, Calamity!

I have a question about how black frame insertion works. Is it always just doubling the refresh rate of whichever game is running, or is it just locked at 120hz? If it's locked at 120hz, it'd be choppy with most games, right?

If I'm playing Pacman, does it run at 121.2hz? If I'm playing Mortal Kombat, does it run at 109.4hz?

It seems like you'd actually need a 144hz LCD to be able to double the refresh rate of any game since a lot of games ran at more than 60hz.

Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #9 on: November 24, 2013, 11:14:24 am »
Thanks Calamity for this feature filled update :woot

Dalba

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 54
  • Last login:March 23, 2024, 07:08:28 pm
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #10 on: November 24, 2013, 11:49:42 am »
Hello,  here's a short feedback on frame delay.
I have 2 cabs with 2 differents setup.
- First : Xp32 with crt_emu 9.3 using radeon 4850 on a horizontal monitor (ms2931)
  Everything works fine ! Frame delay set with a value of 2 feels like there's no input delay !

- Second : Xp64 with crt_emu 6.5 using x1900xt on a vertical monitor (ms929)
  On this setup i can't use frame delay. If i change from 0 to any values, the game is too speedy.

Is it a known issue ?

cools

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 645
  • Last login:March 11, 2024, 02:59:06 pm
  • Arcade Otaku Sysadmin
    • Arcade Otaku
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #11 on: November 24, 2013, 12:20:28 pm »
Brilliant, I'll give this a go when I have time. Nice to see all the suggestions have made it in :)

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #12 on: November 24, 2013, 12:27:25 pm »
Thanks for this awesome update, Calamity!

I have a question about how black frame insertion works. Is it always just doubling the refresh rate of whichever game is running, or is it just locked at 120hz? If it's locked at 120hz, it'd be choppy with most games, right?

If I'm playing Pacman, does it run at 121.2hz? If I'm playing Mortal Kombat, does it run at 109.4hz?

It seems like you'd actually need a 144hz LCD to be able to double the refresh rate of any game since a lot of games ran at more than 60hz.

Black frame insertion halves the current refresh rate whatever it is. If you force black frame insertion on a fixed 60 Hz display, a 60 Hz game will run at 50% of speed. If you have a 120 Hz capable LCD, you will select this refresh, either in the desktop properties or in GM setup, then apply black frame insertion and everthing should run smoothly at 60 Hz. Obviously games that didn't run at 60 Hz natively will run at the wrong speed, as with any other LCD, but perfectly smooth. Black frame insertion requires the most strict v-sync so there's no room for triple buffering here.

On the other hand, when using a CRT, GroovyMAME will precalculate the exact double refresh rate beforehand, whenever possible, so when black frame insertion is applied the resulting refresh is equal the native. It is possible to achieve arbitrary refresh rates for LCD monitors too, in combination with Powerstrip, but you need to find a model that's both 120 Hz and variable refresh rate capable, and a video card that's supported by Powerstrip (unlikely combination of things).
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

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #13 on: November 24, 2013, 12:41:14 pm »
- Second : Xp64 with crt_emu 6.5 using x1900xt on a vertical monitor (ms929)
  On this setup i can't use frame delay. If i change from 0 to any values, the game is too speedy.

Try switching to -video ddraw.
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

Mahrio

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 15
  • Last login:February 08, 2024, 12:31:14 pm
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #14 on: November 24, 2013, 01:17:31 pm »
Thanks for your hardwork Calamity!

I'll test it today on my cabinet.

Thanks again!

bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #15 on: November 24, 2013, 03:02:25 pm »
Thanks for this awesome update, Calamity!

I have a question about how black frame insertion works. Is it always just doubling the refresh rate of whichever game is running, or is it just locked at 120hz? If it's locked at 120hz, it'd be choppy with most games, right?

If I'm playing Pacman, does it run at 121.2hz? If I'm playing Mortal Kombat, does it run at 109.4hz?

It seems like you'd actually need a 144hz LCD to be able to double the refresh rate of any game since a lot of games ran at more than 60hz.

Black frame insertion halves the current refresh rate whatever it is. If you force black frame insertion on a fixed 60 Hz display, a 60 Hz game will run at 50% of speed. If you have a 120 Hz capable LCD, you will select this refresh, either in the desktop properties or in GM setup, then apply black frame insertion and everthing should run smoothly at 60 Hz. Obviously games that didn't run at 60 Hz natively will run at the wrong speed, as with any other LCD, but perfectly smooth. Black frame insertion requires the most strict v-sync so there's no room for triple buffering here.

On the other hand, when using a CRT, GroovyMAME will precalculate the exact double refresh rate beforehand, whenever possible, so when black frame insertion is applied the resulting refresh is equal the native. It is possible to achieve arbitrary refresh rates for LCD monitors too, in combination with Powerstrip, but you need to find a model that's both 120 Hz and variable refresh rate capable, and a video card that's supported by Powerstrip (unlikely combination of things).

Hi Calamity,

Well, with Gsync monitors, this combination isn't just likely, it's going to be common. We're going to be lousy with LCDs that can run at any refresh rate from 30hz to 144hz in a couple of months. It'd be nice if GroovyMAME would support this.

We don't need Powerstrip anymore. Gsync monitors are going to run at any refresh rate we need. Not Powerstrip. NOT Powerstrip, actually. And NOT 120hz. 120hz means nothing. We want Pacman at 121.2hz, for example.
« Last Edit: November 24, 2013, 03:07:08 pm by bulbousbeard »

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #16 on: November 24, 2013, 04:19:44 pm »
Hi bulbousbeard,

I was saying "120 Hz" for short, what I meant is double refresh rates. I share your enthusiasm about G-sync, and when these monitors are actually available, we'll see what can be done, although you don't really need GroovyMAME for that, as long as video timing will be throttled by the CPU clock that means regular MAME will be good. Of course, for G-sync you'll need a totally different implementation of black frame insertion, one that is based on the CPU clock rather than the GPU clock (what we now do in GroovyMAME). You will need to divide the frame period by 2 just based on the CPU clock, in order to insert the black frame just in time, and this needs to be really accurate ::), otherwise you'll get a flashy picture like a silent film from the 1920's. I'm a bit sceptic about this technology, hopefully we'll see it working soon.
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

bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #17 on: November 24, 2013, 04:53:13 pm »
Hi bulbousbeard,

I was saying "120 Hz" for short, what I meant is double refresh rates. I share your enthusiasm about G-sync, and when these monitors are actually available, we'll see what can be done, although you don't really need GroovyMAME for that, as long as video timing will be throttled by the CPU clock that means regular MAME will be good. Of course, for G-sync you'll need a totally different implementation of black frame insertion, one that is based on the CPU clock rather than the GPU clock (what we now do in GroovyMAME). You will need to divide the frame period by 2 just based on the CPU clock, in order to insert the black frame just in time, and this needs to be really accurate ::), otherwise you'll get a flashy picture like a silent film from the 1920's. I'm a bit sceptic about this technology, hopefully we'll see it working soon.

Calamity,

I'm extending an offer to supply you with the first Gsync monitor that's available if you're interested in adding support for it. Let me know, and I will have one sent to you.

sean_sk

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 144
  • Last login:August 06, 2019, 10:27:48 am
  • If quizzes are quizzical, then what are tests?
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #18 on: November 24, 2013, 11:20:51 pm »
Hi Calamity,

I know you get a lot of "thank you's" from people but i wanted to add mine to that LOOOONG list. This latest update is superb. In the very short amount of time I've had to play with it, the enhancements made to frame delay have been instantly noticeable on my setup and have improved things immensely. I'm looking forward to investigating the new options further.

Just on that, and pardon my ignorance, but is there a wiki or something that explains in detail both old and the new settings you've added? For instance: how values for certain settings are derived and used, what you should expect to see if you use a higher value over a lower one, what you should expect to see if you enable this option or that one. Cause I can see a fair few new settings and I'm unsure what these do? I had a look at the brief explanations in the original post, but my eyes started to glaze over. :)

Calamity,

I'm extending an offer to supply you with the first Gsync monitor that's available if you're interested in adding support for it. Let me know, and I will have one sent to you.

This is a very generous offer. Good on ya bulbousbeard.
« Last Edit: November 24, 2013, 11:28:41 pm by sean_skroht »

Sledge

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 495
  • Last login:September 25, 2022, 05:22:55 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #19 on: November 25, 2013, 12:48:50 am »
Hi bulbousbeard,

I was saying "120 Hz" for short, what I meant is double refresh rates. I share your enthusiasm about G-sync, and when these monitors are actually available, we'll see what can be done, although you don't really need GroovyMAME for that, as long as video timing will be throttled by the CPU clock that means regular MAME will be good. Of course, for G-sync you'll need a totally different implementation of black frame insertion, one that is based on the CPU clock rather than the GPU clock (what we now do in GroovyMAME). You will need to divide the frame period by 2 just based on the CPU clock, in order to insert the black frame just in time, and this needs to be really accurate ::), otherwise you'll get a flashy picture like a silent film from the 1920's. I'm a bit sceptic about this technology, hopefully we'll see it working soon.

Calamity,

I'm extending an offer to supply you with the first Gsync monitor that's available if you're interested in adding support for it. Let me know, and I will have one sent to you.
I'm a bit sceptical about this technology personally..
Can you send me the the second monitor available just to allay my fears?

@Calamity: Thanks for the new version, works GREAT!
« Last Edit: November 25, 2013, 02:26:34 am by Sledge »

Dalba

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 54
  • Last login:March 23, 2024, 07:08:28 pm
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #20 on: November 25, 2013, 04:15:53 am »
- Second : Xp64 with crt_emu 6.5 using x1900xt on a vertical monitor (ms929)
  On this setup i can't use frame delay. If i change from 0 to any values, the game is too speedy.

Try switching to -video ddraw.

I tryed with ddraw but didn't get better result.  Do you think it could be related with the fact it's a vertical setup ?

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #21 on: November 25, 2013, 04:05:08 pm »
Calamity,

I'm extending an offer to supply you with the first Gsync monitor that's available if you're interested in adding support for it. Let me know, and I will have one sent to you.

Hi bulbousbeard,

That's by far the most generous offer I've received and I'd feel bad about you alone funding this so if some users joined you I'd definitely would commit to implementing this.
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

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #22 on: November 25, 2013, 04:09:52 pm »
- Second : Xp64 with crt_emu 6.5 using x1900xt on a vertical monitor (ms929)

I tryed with ddraw but didn't get better result.  Do you think it could be related with the fact it's a vertical setup ?

Hi Dalba,

I'd suggest that you install CRT Emudriver 9.3 for that card. The 6.5 x64 is just provided to support 7xxx and 9xxx cards, it's based on a unofficial release IIRC. It could be these drivers are not providing a good v-sync support for your card. Also check if hardware acceleration is enabled (run dxdiag), otherwise it would point to a bad driver installation.
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

Paradroid

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 687
  • Last login:March 10, 2024, 04:41:43 am
    • SCART Hunter
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #23 on: November 25, 2013, 07:13:05 pm »
That's by far the most generous offer I've received and I'd feel bad about you alone funding this so if some users joined you I'd definitely would commit to implementing this.

Calamity, bulbousbeard...

I have pretty zero interest in LCD technology but I dearly love the GroovyMAME project so I will pledge US $100 towards this. Keep me in mind, bulbousbeard, and PM when ready. I'm good for it! ;)

Congratulations on an amazing looking release, Calamity! Can't wait to test out the new features! Thanks again for your ongoing efforts! :)
My MAME/SCART/CRT blog: SCART Hunter

bulbousbeard

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 522
  • Last login:August 25, 2015, 11:58:25 pm
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #24 on: November 25, 2013, 08:38:47 pm »
Calamity,

I'm extending an offer to supply you with the first Gsync monitor that's available if you're interested in adding support for it. Let me know, and I will have one sent to you.

Hi bulbousbeard,

That's by far the most generous offer I've received and I'd feel bad about you alone funding this so if some users joined you I'd definitely would commit to implementing this.

You apparently also need a Geforce 600 series card, too. I'm not sure what kind of video cards you have.

If other users will cover the video card, I'll cover the monitor.

http://www.geforce.com/hardware/technology/g-sync/system-requirements

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #25 on: November 26, 2013, 01:43:01 pm »
Just noticed the Powerstrip feature is not working in this newer version, due to lack of proper testing from my part. I'll upload a fix ASAP.
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/GroovyUME 0.151 - SwitchRes v0.015
« Reply #26 on: November 26, 2013, 06:45:30 pm »
Thanks a lot Calamity, will the sdl gm also benefit from the improvements?

jdubs

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 61
  • Last login:January 03, 2018, 09:06:27 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #27 on: November 26, 2013, 11:08:32 pm »
If anyone that's successfully compiled the 64-bit version with sh-3 support could please pm me, I'd really appreciate it!   ;D

Thanks,
Jim


Dr.Venom

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 270
  • Last login:May 08, 2018, 05:06:54 am
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #28 on: November 27, 2013, 06:42:35 am »
multithreading is off by default now?

Yes, I'll write about this later.

Hi Calamity,

With regards to multi-threading, are you suggesting to switch it off by default?

I noticed something strange in my setup, which for some reason started happening recently when testing the latest GM (0.150 beta and 0.151). At first I thought it was a GM issue, but now when I go back to even older releases it's doing the same. So unfortunately I'm not sure what's going on, but I thought I'd still report it here in case other users will be running into the same issue.

With multi-threading -on- and W7 Aero -enabled- GM will only show a black screen on startup. When I keep Aero enabled but switch multi-threading -off- then it will start the game, even though there 's the following error in the log:

Direct3D: Error 88760868 during device present call
Direct3D: resetting device

Both these errors do not occur when I have Aero switched off. So:

- Aero on & MT on = black screen
- Aero on & MT off = game starts but still "Direct3D: Error 88760868 during device present call" and "Direct3D: resetting device" in log
- Aero off & MT on = OK
- Aero off & MT off = OK

As said I'm not sure what's causing this, as in the past I can't remember that keeping Aero enabled would cause this issue. I'm not entirely sure though, because I normally always have Aero disabled (because of the reduction in input latency). Possibly you could test the Aero on/off + MT on/off combinations on your W7 machine also, just to make sure there's not an issue going on with the GM patches? If not then it must be something that has changed in my setup. In case it's helpful I've also attached the logs where MT is off, and Aero is switched on/off.

Dalba

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 54
  • Last login:March 23, 2024, 07:08:28 pm
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #29 on: November 27, 2013, 02:17:47 pm »
- Second : Xp64 with crt_emu 6.5 using x1900xt on a vertical monitor (ms929)

I tryed with ddraw but didn't get better result.  Do you think it could be related with the fact it's a vertical setup ?

Hi Dalba,

I'd suggest that you install CRT Emudriver 9.3 for that card. The 6.5 x64 is just provided to support 7xxx and 9xxx cards, it's based on a unofficial release IIRC. It could be these drivers are not providing a good v-sync support for your card. Also check if hardware acceleration is enabled (run dxdiag), otherwise it would point to a bad driver installation.

Thanks for your help, it now works with Emudriver 9.3, but i had to change XP64 to XP32. For an odd reason, Xp64 didn't like much modelines generated by vmmaker with emudriver 9.3 64bits. Each time i was rebooting after modelines being generated by vmmaker, i got BSOD before windows login.

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #30 on: November 27, 2013, 03:42:30 pm »
Thanks for your help, it now works with Emudriver 9.3, but i had to change XP64 to XP32. For an odd reason, Xp64 didn't like much modelines generated by vmmaker with emudriver 9.3 64bits. Each time i was rebooting after modelines being generated by vmmaker, i got BSOD before windows login.

Maybe you were creating more than 120 modelines for Cat 9.3? That can cause a BSOD quite easily.
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

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #31 on: November 27, 2013, 04:22:07 pm »
Direct3D: Error 88760868 during device present call
Direct3D: resetting device

This error usually means the window which holds D3D has lost the focus for some reason. I have no idea how this could be influenced by Aero. Probably this won't help, but try deleting the files from the .cfg folder.

Regarding multithreading. Some MAME devs have recommended disabling the -multithreading option by default, even removing the feature all together. In fact it is disabled by default since MAME 0.151 AFAIK. More info: http://mamedev.emulab.it/haze/2013/10/05/mame-and-mt-multithread-public-service-announcement/

GroovyMAME since long has used a different method for multithreading. Instead of the two threads on MAME, it starts a third thread for rendering. This makes it possible to overcome some limitations in DirectX regarding asynchronous rendering, something that is necessary to create a genuine triple buffering model (not the fake circular queue DirectX does). It also fixes some existing issues in the multithreading feature of MAME, by separating the input processing from the video rendering. So it has been enabled by default in previous versions.

However, Direct3D is not thread safe. This means calling Direct3D from different threads is a dangerous practice, and often leads to a deadlock. So what we do in GroovyMAME is an invitation to problems. A very careful synchronization is required to avoid a crash, especially to manage all the situations where the control is taken from us (ALT+TAB, Windows key, etc.). You can see it in the logs, with all those blit_lock, blit_unlock bits. And this, sometimes, just fails. Besides, it's nearly impossible to implement this for a multi-window game, where any of the windows can be maximized/minimized.

So after thinking about it, I decided to turn it off. Actually, the performance boost is said to be negligible. It's up to the user to enable it. If it has always worked for you, then it's probably safe to enable it in your system. Now GroovyMAME takes care to disable it internally in the multi-screen cases.

The only noticeable difference from the user's perspective is the -triplebuffer case. Now -triplebuffer only works with multithreading enabled, because it doesn't make sense to enable it without multithreading. As a consequence, games where -triplebuffer was being chosen by GM, now will be using -syncrefresh by default. A typical case is vertical games like Pac-man of Galaga on a standard horizontal arcade monitor. These games will run with an important slowdown, due to the low refresh rate induced by running at 288p. In order to get it back to it's normal speed, -multithreading must be enabled. This way, -triplebuffer will be selectable internally by GroovyMAME and the game speed will be independent from the screen refresh, making it possible to run this game at 100% speed.

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

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #32 on: November 27, 2013, 04:29:41 pm »
Thanks a lot Calamity, will the sdl gm also benefit from the improvements?

These features are for all systems: user defined modelines, resolution masks, new cleanstretch, audio latency, black frame insertion, .cfg saving, and new monitor presets.

The frame_delay feature may benefit Linux to some extent, but the bottleneck in this system is the frame queue which is built-in somewhere in the OS (maybe this is not fixable).

The multi-monitor feature is Windows only (by now).
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

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #33 on: November 27, 2013, 05:27:41 pm »
Just noticed the Powerstrip feature is not working in this newer version, due to lack of proper testing from my part. I'll upload a fix ASAP.

Files uploaded again. Now the Powerstrip feature works again. Only Powerstrip users should need to download the new binaries. Hopefully this is the last fix I need to do by now.

Check the first post for an explanation of the new -ps_timing feature. I hope this new option will be of much help to ArcadeVGA 3000 users, in combination with Powerstrip will make possible to have manually pre-adjusted modelines, as well as providing any required refresh rate for each of the existing resolutions.

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

jdubs

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 61
  • Last login:January 03, 2018, 09:06:27 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #34 on: November 27, 2013, 06:32:51 pm »
Anyone getting sh-3 to work?  I tried compiling as noted above after applying the sh-3 diff and it errors out.

Curious if anyone has actually managed to get this working.

Thanks,
Jim

blontic

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 80
  • Last login:December 21, 2020, 08:03:28 am
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #35 on: November 28, 2013, 01:27:31 am »
Anyone getting sh-3 to work?  I tried compiling as noted above after applying the sh-3 diff and it errors out.

Curious if anyone has actually managed to get this working.

Thanks,
Jim

I haven't tested this but yet but are you using the cavesh_150.diff? or the old 0.143 diff?
http://www.systempixel.fr/extra/

We really need to get a copy of the new cave diff cv1k.c

Anyway, can't wait to try this new version.

Endprodukt

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 688
  • Last login:November 14, 2023, 12:54:43 pm
  • I want to build my own arcade controls!
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #36 on: November 28, 2013, 12:24:51 pm »
Has anyone compiled this with the cave driver allready?

cools

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 645
  • Last login:March 11, 2024, 02:59:06 pm
  • Arcade Otaku Sysadmin
    • Arcade Otaku
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #37 on: November 28, 2013, 01:22:52 pm »
Not sure if I'm being entirely thick, but is GroovyUME x64 supposed to save DIP switch settings for MAME games?

It looks like it's wiping them out.

E.g. mamedev mame64.exe, set freeplay in R-Type, quit, load GroovyUME64 R-Type - freeplay enabled. Quit, load GroovyUME64 R-Type - freeplay disabled.

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: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #38 on: November 28, 2013, 01:30:36 pm »
Hi cools,

Set "writeconfig 1" in ume.ini

It's disabled by default in recent versions.
« Last Edit: November 29, 2013, 08:23:05 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

cools

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 645
  • Last login:March 11, 2024, 02:59:06 pm
  • Arcade Otaku Sysadmin
    • Arcade Otaku
Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
« Reply #39 on: November 28, 2013, 04:39:29 pm »
I tried that and it started saving INI files for each game, which isn't ideal when trying to configure things ;) I'll check again tomorrow. I always thought cfg was for stuff configured in the UI and INI was for anything else.