The NEW Build Your Own Arcade Controls

Software Support => GroovyMAME => Topic started by: Calamity on November 23, 2013, 07:46:20 pm

Title: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity 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 (http://code.google.com/p/groovyarcade/)

- 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) (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=65)
                   Download mirror (courtesy of Krick) (http://mame.3feetunder.com/windows-ati-crt-emudriver/)

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 (https://googledrive.com/host/0B5iMjDor3P__aEFpcVNkVW5jbEE/)

Setup

For a guide on setting GroovyMAME along with CRT Emudriver (Windows 7), please refer to Recap's  GroovyMAME: Installation and quick configuration (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290).

Basic steps:
- Download the official MAME package from MAME's site (http://mamedev.org/release.html).
- 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 (https://drive.google.com/folderview?id=0B5iMjDor3P__aEFpcVNkVW5jbEE&usp=sharing) 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 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295).

- 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:

- 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 (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/ (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
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 24, 2013, 03:57:52 am
Great news!
Time to compile and test :) .
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: ufoufo512 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 (http://code.google.com/p/groovyarcade/downloads/list) are for Windows only.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Sledge 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..
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Sledge on November 24, 2013, 06:08:46 am
No worries!
Thanks :)
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 24, 2013, 06:48:52 am
Files updated. Now -lock_system_modes should work as usual.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: rCadeGaming 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:
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: bulbousbeard 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Dr.Venom on November 24, 2013, 11:14:24 am
Thanks Calamity for this feature filled update :woot
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Dalba 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 ?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: cools 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 :)
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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).
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Mahrio on November 24, 2013, 01:17:31 pm
Thanks for your hardwork Calamity!

I'll test it today on my cabinet.

Thanks again!
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: bulbousbeard 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: bulbousbeard 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: sean_sk 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Sledge 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!
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Dalba 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 ?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Paradroid 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! :)
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: bulbousbeard 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 (http://www.geforce.com/hardware/technology/g-sync/system-requirements)
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: machyavel on November 26, 2013, 06:45:30 pm
Thanks a lot Calamity, will the sdl gm also benefit from the improvements?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: jdubs 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

Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Dr.Venom 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Dalba 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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/ (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.

Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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).
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity 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.

Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: jdubs 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
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: blontic 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/ (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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Endprodukt on November 28, 2013, 12:24:51 pm
Has anyone compiled this with the cave driver allready?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: cools 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 28, 2013, 01:30:36 pm
Hi cools,

Set "writeconfig 1" in ume.ini

It's disabled by default in recent versions.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: cools 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.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: dgame on November 28, 2013, 08:23:33 pm
Has anyone compiled this with the cave driver allready?

Yes it compiles and works with the cave diff file mentioned in the post by blontic.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: cools on November 29, 2013, 06:37:39 am
Hi cools,

Set "writeconfig 1" in ume.ini

It's disabled by default in recent versions.

Tried with this. It creates inis, but it only seems to save the cfgs if you actually quit out rather than select a new game. It also seems to ignore the cfgs when loading.

Something is most definitely up with it.

Tried with GroovyMAME and GroovyUME. MAME64 standard behaves sensibly.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 08:22:52 am
I get this error when try to compile on slackware 14.1 64bit:
Code: [Select]
make: *** No rules to make target «obj/groovysdl64/osd/sdl/dview.o», needed for «obj/groovysdl64/libosd.a».  Stop.
If I use the old 014b patch, it compiles without errors.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 08:25:05 am
Hi Ansa,

This command line worked for me: make TARGET=mame PYTHON=python2 OPTIMIZE=2
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 08:27:40 am
Tried with this. It creates inis, but it only seems to save the cfgs if you actually quit out rather than select a new game. It also seems to ignore the cfgs when loading.

Something is most definitely up with it.

Tried with GroovyMAME and GroovyUME. MAME64 standard behaves sensibly.

Confirmed. It's a bug due to GM saving the current modeline to .cfg. If you remove the part between "" in the modeline in the .cfg file, the config is loaded right. I'll upload fixed binaries later.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 08:34:10 am
This command line worked for me: make TARGET=mame PYTHON=python2 OPTIMIZE=2
I bet the problem was the default optimization ("OPTIMIZE=3", which means "-O3").
Now recompiling with "TARGET=mame OPTIMIZE=2" (the python environment shouldn't be an issue).
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 08:36:21 am
Ansa, let us know if it works, I'll update the first post with the Linux command line.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 09:01:30 am
Still not compile.

More info on build environment:
- GCC 4.8.2
- SDL 1.2.15


Side note: mame is compiling fine without groovymame patch; so IMHO the question would be "how  groovymame patch breaks the default compilation options?".
Moreover keep in mind that the old 014b patch compiles without errors, hence it's very probable that the problem is related to something you introduced in this new version.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 09:43:37 am
HERE WE GO! (hopefully)
You uncommented "NO_USE_QTDEBUG = 1" into "src/osd/sdl/sdl.mak" and this makes my system go crazy.
Now I have re-commented "NO_USE_QTDEBUG = 1" and trying to recompile.

PS: is there any reason you did that?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 10:10:54 am
Tried with this. It creates inis, but it only seems to save the cfgs if you actually quit out rather than select a new game. It also seems to ignore the cfgs when loading.

Something is most definitely up with it.

Tried with GroovyMAME and GroovyUME. MAME64 standard behaves sensibly.

Ok, I've uploaded new binaries. Hopefully the .cfg files should work properly again. Please check.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 10:13:44 am
HERE WE GO! (hopefully)
You uncommented "NO_USE_QTDEBUG = 1" into "src/osd/sdl/sdl.mak" and this makes my system go crazy.
Now I have re-commented "NO_USE_QTDEBUG = 1" and trying to recompile.

PS: is there any reason you did that?

This was done to avoid the need of installing the Qt module. I'm compiling under the current live-cd installation, using just the default tools in there. I wouldn't have imagined it could be breaking the compilation in other systems.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 10:18:59 am
Confirmed: leaving "NO_USE_QTDEBUG = 1" commented, everything is ok.

Now the question: will you update the patch, or I keep it only locally?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 10:28:45 am
Confirmed: leaving "NO_USE_QTDEBUG = 1" commented, everything is ok.

Now the question: will you update the patch, or I keep it only locally?

My question is: did you try the current patch with the PYTHON=python2 option? If you did and it still didn't work, then yes, I should update the patch.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 10:36:44 am
did you try the current patch with the PYTHON=python2 option?
Not yet, trying it now.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: cools on November 29, 2013, 11:09:23 am
Tried with this. It creates inis, but it only seems to save the cfgs if you actually quit out rather than select a new game. It also seems to ignore the cfgs when loading.

Something is most definitely up with it.

Tried with GroovyMAME and GroovyUME. MAME64 standard behaves sensibly.

Ok, I've uploaded new binaries. Hopefully the .cfg files should work properly again. Please check.

Yep, they work flawlessly now :) Thanks!
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 11:35:56 am
Yep, they work flawlessly now :) Thanks!

Thanks for testing. Needless to say the -writeconfig options wasn't really needed, in fact it should be turned off.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 12:23:43 pm
Trying to compile with "PYTHON=python2 OPTIMIZE=2 TARGET=mame":
Code: [Select]
make: *** No rules to make target «obj/groovysdl64/osd/sdl/dview.o», needed for «obj/groovysdl64/libosd.a».  Stop.
Conclusion: my system need the qt-debug stuff, otherwise it goes crazy.
It could be interesting know if I'm the only one with this issue.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 29, 2013, 12:39:35 pm
Ok Ansa, thanks for testing this. I should update the diff keeping the "NO_USE_QTDEBUG = 1" commented out.

If you have any plans of making the Linux binaries available let us know, as we still don't have them in the Google site.

Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 29, 2013, 01:02:50 pm
I already have the 64 bit binaries of groovymame and groovyume.
Maybe tomorrow I would compile the 32 bit versions.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 30, 2013, 10:21:03 am
I have a problem: every game is displayed "reduced", I mean only a little portion of the screen is used.
The image still centered in the monitor, but it seems that groovymame thinks I have a smaller screen than I actually have.

This problem affects both horizontal and vertical games.


Here is my custom crt_range0 (I'm using a pal monitor):
Code: [Select]
15625-15800,49.50-60.50,2.000,4.700,8.000,0.064,0.160,1.056,0,0,192,288,448,576

EDIT: also I have the "monitor" option set to "pal".
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 30, 2013, 10:54:21 am
Ansa, unless you use 'monitor custom', your crt_range wont be used
 However, post a log so I can see what's going on.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 30, 2013, 11:35:35 am
Here is the log of galaga:
Code: [Select]
Parsing mame.ini
Parsing mame.ini
Parsing mame.ini
Parsing mame.ini
Optional device 'sub3' not found
Optional device 'samples' not found
Optional device 'sub3' not found
Optional device 'samples' not found
Optional device 'sub3' not found
Optional device 'samples' not found
Optional device 'sub3' not found
Optional device 'samples' not found
Optional device 'sub3' not found
Optional device 'samples' not found
Optional device 'sub3' not found
Optional device 'samples' not found
Optional device 'sub3' not found
Optional device 'samples' not found
SwitchRes: missing parameter in user modeline
  1
SwitchRes: Monitor range 15625.00-15800.00,49.50-60.50,2.000,4.700,8.000,0.064,0.160,1.056,0,0,192,288,448,576
SwitchRes: Monitor: custom Orientation: vertical Modeline generation: enabled
SwitchRes: Found output connector 'VGA-0'

SwitchRes: Entering switchres_modeline_setup
SwitchRes: v0.015:[galaga] Calculating best video mode for 224x288@60.606060 orientation: rotated

SwitchRes: (   1)x(   1)_(60=0.0000Hz)
   rng(0):  400 x 288_51.299p 15.800 [integ] scale(1, 1, 1) diff(0.00, 0.00, -9.3074) ratio(1.786, 1.000)

SwitchRes: [galaga] (1) vertical (224x288@60.61)->(400x288@51.30)
   rng(0):  400 x 288_51.299p 15.800 [integ] scale(1, 1, 1) diff(0.00, 0.00, -9.3074) ratio(1.786, 1.000)
SwitchRes: Modeline "400x288_60 15.80KHz 51.30Hz" 8.22 400 416 456 520 288 289 292 308   -hsync -vsync
SwitchRes: Running 'xrandr  --newmode "400x288_51.30" 8.22 400 416 456 520 288 289 292 308   -hsync -vsync'
SwitchRes: Running 'xrandr  --addmode VGA-0 "400x288_51.30"'
SwitchRes: Setting option -rotate
SwitchRes: Setting option -noror
SwitchRes: Setting option -noautoror
SwitchRes: Setting option -norol
SwitchRes: Setting option -noautorol
SwitchRes: Setting option -noblack_frame_insertion
SwitchRes: Setting option -multithreading
SwitchRes: Setting option -nosyncrefresh
SwitchRes: Setting option -nowaitvsync
SwitchRes: Setting option -keepaspect
SwitchRes: Setting option -nounevenstretch
SwitchRes: Setting option -nofilter
SwitchRes: Setting option -prescale 1
Build version:      0.151 (Nov 29 2013)
Build architecure:  SDLMAME_ARCH=
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_X11=1 SDLMAME_LINUX=1
Build defines 1:    LSB_FIRST=1 PTR64=1 DISTRO=generic SYNC_IMPLEMENTATION=tc
SDL/OpenGL defines: SDL_COMPILEDVERSION=1215 USE_OPENGL=1 USE_DISPATCH_GL=1
Compiler defines A: __GNUC__=4 __GNUC_MINOR__=8 __GNUC_PATCHLEVEL__=2 __VERSION__="4.8.2"
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1
Compiler defines C: __USE_FORTIFY_LEVEL=0
SDL Device Driver     : x11
SDL Monitor Dimensions: 768 x 576
Enter sdlwindow_init
Using SDL single-window OpenGL driver (SDL 1.2)
Leave sdlwindow_init
Loaded opengl shared library: <default>
OpenGL: X.Org
OpenGL: Gallium 0.4 on AMD RS780
OpenGL: 2.1 Mesa 9.1.7
OpenGL: texture rectangle supported
OpenGL: non-power-of-2 textures supported (new method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers supported
OpenGL: framebuffer object supported
OpenGL: GLSL supported, but disabled
OpenGL: max texture size 8192 x 8192
Keyboard: Start initialization
Input: Adding Kbd #0: System keyboard
Keyboard: Registered System keyboard
Keyboard: End initialization
Mouse: Start initialization
Input: Adding Mouse #0: System mouse
Mouse: Registered System mouse
Mouse: End initialization
Joystick: Start initialization
Joystick: End initialization
Audio: Start initialization
Audio: Driver is alsa
Audio: frequency: 48000, channels: 2, samples: 1024
sdl_create_buffers: creating stream buffer of 114688 bytes
Audio: End initialization
output: unable to open output notifier file /tmp/sdlmame_out
Region ':maincpu' created
Region ':sub' created
Region ':sub2' created
Region ':gfx1' created
Region ':gfx2' created
Region ':proms' created
Region ':namco' created
Region ':51xx:mcu' created
Region ':54xx:mcu' created
Searching font Liberation Sans in -fontpath
Matching font: /usr/share/fonts/TTF/LiberationSans-Regular.ttf
Starting Galaga (Namco rev. B) ':'
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
  (missing dependencies; rescheduling)
Starting Z80 ':maincpu'
Starting Z80 ':sub'
Starting Z80 ':sub2'
Starting Namco 51xx ':51xx'
Starting MB8843 ':51xx:mcu'
Starting Namco 54xx ':54xx'
Starting MB8844 ':54xx:mcu'
Starting Namco 06xx ':06xx'
Starting Video Screen ':screen'
Starting Speaker ':mono'
  (missing dependencies; rescheduling)
Starting Namco ':namco'
Starting DISCRETE ':discrete'
Starting Galaga (Namco rev. B) ':'
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
  (missing dependencies; rescheduling)
Starting Speaker ':mono'
Starting Galaga (Namco rev. B) ':'
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
OpenGL: VBO supported
OpenGL: PBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
GL texture: copy 1, shader 0, dynamic 1, 288x224 288x224 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 384,288/8192], colors: 576, bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 288x224 288x224 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 384,288/8192], colors: 576, bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 288x224 288x224 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 384,288/8192], colors: 576, bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 288x224 288x224 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 384,288/8192], colors: 576, bytes/pix 4
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on November 30, 2013, 11:48:55 am
Here is the log of NBA Hangtime:
Code: [Select]
Parsing mame.ini
Parsing mame.ini
Parsing nbahangt.ini
Parsing mame.ini
Parsing mame.ini
Parsing nbahangt.ini
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional device 'adpcm' not found
Optional device 'cvsd' not found
SwitchRes: missing parameter in user modeline
  1
SwitchRes: Monitor range 15625.00-15800.00,49.50-60.50,2.000,4.700,8.000,0.064,0.160,1.056,0,0,192,288,448,576
SwitchRes: Monitor: custom Orientation: horizontal Modeline generation: enabled
SwitchRes: Found output connector 'VGA-0'

SwitchRes: Entering switchres_modeline_setup
SwitchRes: v0.015:[nbahangt] Calculating best video mode for 399x253@54.815170 orientation: normal

SwitchRes: (   1)x(   1)_(60=0.0000Hz)
   rng(0):  400 x 253_54.815p 15.677 [integ] scale(1, 1, 1) diff(0.00, 0.00, 0.0000) ratio(1.000, 1.000)

SwitchRes: [nbahangt] (1) horizontal (399x253@54.82)->(400x253@54.82)
   rng(0):  400 x 253_54.815p 15.677 [integ] scale(1, 1, 1) diff(0.00, 0.00, 0.0000) ratio(1.000, 1.000)
SwitchRes: Modeline "400x253_60 15.68KHz 54.82Hz" 8.15 400 416 456 520 253 261 264 286   -hsync -vsync
SwitchRes: Running 'xrandr  --newmode "400x253_54.82" 8.15 400 416 456 520 253 261 264 286   -hsync -vsync'
SwitchRes: Running 'xrandr  --addmode VGA-0 "400x253_54.82"'
SwitchRes: Setting option -rotate
SwitchRes: Setting option -noror
SwitchRes: Setting option -autoror
SwitchRes: Setting option -norol
SwitchRes: Setting option -noautorol
SwitchRes: Setting option -noblack_frame_insertion
SwitchRes: Setting option -multithreading
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -waitvsync
SwitchRes: Setting option -keepaspect
SwitchRes: Setting option -nounevenstretch
SwitchRes: Setting option -nofilter
SwitchRes: Setting option -prescale 1
Build version:      0.151 (Nov 29 2013)
Build architecure:  SDLMAME_ARCH=
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_X11=1 SDLMAME_LINUX=1
Build defines 1:    LSB_FIRST=1 PTR64=1 DISTRO=generic SYNC_IMPLEMENTATION=tc
SDL/OpenGL defines: SDL_COMPILEDVERSION=1215 USE_OPENGL=1 USE_DISPATCH_GL=1
Compiler defines A: __GNUC__=4 __GNUC_MINOR__=8 __GNUC_PATCHLEVEL__=2 __VERSION__="4.8.2"
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1
Compiler defines C: __USE_FORTIFY_LEVEL=0
SDL Device Driver     : x11
SDL Monitor Dimensions: 768 x 576
Enter sdlwindow_init
Using SDL single-window OpenGL driver (SDL 1.2)
Leave sdlwindow_init
Loaded opengl shared library: <default>
OpenGL: X.Org
OpenGL: Gallium 0.4 on AMD RS780
OpenGL: 2.1 Mesa 9.1.7
OpenGL: texture rectangle supported
OpenGL: non-power-of-2 textures supported (new method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers supported
OpenGL: framebuffer object supported
OpenGL: GLSL supported, but disabled
OpenGL: max texture size 8192 x 8192
Keyboard: Start initialization
Input: Adding Kbd #0: System keyboard
Keyboard: Registered System keyboard
Keyboard: End initialization
Mouse: Start initialization
Input: Adding Mouse #0: System mouse
Mouse: Registered System mouse
Mouse: End initialization
Joystick: Start initialization
Joystick: End initialization
Audio: Start initialization
Audio: Driver is alsa
Audio: frequency: 48000, channels: 2, samples: 1024
sdl_create_buffers: creating stream buffer of 114688 bytes
Audio: End initialization
output: unable to open output notifier file /tmp/sdlmame_out
Region ':dcs' created
Region ':maincpu' created
Region ':gfxrom' created
Searching font Liberation Sans in -fontpath
Matching font: /usr/share/fonts/TTF/LiberationSans-Regular.ttf
Starting NBA Hangtime (rev L1.1 04/16/96) ':'
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
  (missing dependencies; rescheduling)
Starting TMS34010 ':maincpu'
Starting NVRAM ':nvram'
Starting Video Screen ':screen'
Starting ADSP-2105 ':dcs'
Starting Timer ':dcs_reg_timer'
Starting Timer ':dcs_int_timer'
Starting Speaker ':mono'
  (missing dependencies; rescheduling)
Starting DMA-driven DAC ':dac'
Starting NBA Hangtime (rev L1.1 04/16/96) ':'
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
  (missing dependencies; rescheduling)
Starting Speaker ':mono'
Starting NBA Hangtime (rev L1.1 04/16/96) ':'
Optional device 'adpcm' not found
Optional device 'cvsd' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram2' not found
Optional shared pointer 'paletteram' not found
OpenGL: VBO supported
OpenGL: PBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
GL texture: copy 1, shader 0, dynamic 1, 399x253 399x253 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 512,399/8192], colors: 32768, bytes/pix 4
SwitchRes: Resolution change from 399x253@54.815170 to 400x254@54.706841
GL texture: copy 1, shader 0, dynamic 1, 400x254 400x254 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 512,400/8192], colors: 32768, bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 400x254 400x254 [PALETTE16, Equal: 0, Palette: 1,
            scale 1x1, border 0, pitch 512,400/8192], colors: 32768, bytes/pix 4

EDIT: I noticed now the "SwitchRes: missing parameter in user modeline".
Maybe this is the underlying problem.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on November 30, 2013, 12:35:09 pm
Ansa, you're probably using the old mame.ini. You need to create a new one for this version. Now -modeline option is no longer a boolean, but a string, that's what GM is complaining about.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: jdubs on November 30, 2013, 05:19:47 pm
Has anyone compiled this with the cave driver allready?

Yes it compiles and works with the cave diff file mentioned in the post by blontic.

Thanks!  What cave diff file did you use and what order did you patch?

-Jim
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: ozfalcon on November 30, 2013, 07:00:28 pm
Trying to compile with "PYTHON=python2 OPTIMIZE=2 TARGET=mame":
Code: [Select]
make: *** No rules to make target «obj/groovysdl64/osd/sdl/dview.o», needed for «obj/groovysdl64/libosd.a».  Stop.
Conclusion: my system need the qt-debug stuff, otherwise it goes crazy.
It could be interesting know if I'm the only one with this issue.

No, I get the same error on a fresh clean install of 32 bit arch.
The 151.diff should be corrected.

I Used
Code: [Select]
make NOWERROR=1 OPTIMIZE=2 PYTHON=python2

Did as Ansa89 mentioned, And it's compiling fine now.
Quote
You uncommented "NO_USE_QTDEBUG = 1" into "src/osd/sdl/sdl.mak" and this makes my system go crazy.
Now I have re-commented "NO_USE_QTDEBUG = 1" and trying to recompile.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: dgame on December 01, 2013, 02:55:21 am
Has anyone compiled this with the cave driver allready?

Yes it compiles and works with the cave diff file mentioned in the post by blontic.

Thanks!  What cave diff file did you use and what order did you patch?

-Jim

http://forum.arcadecontrols.com/index.php/topic,135823.msg1405177.html#msg1405177 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1405177.html#msg1405177)

Patch cave 150 diff last.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 01, 2013, 01:57:01 pm
Ansa, you're probably using the old mame.ini. You need to create a new one for this version. Now -modeline option is no longer a boolean, but a string, that's what GM is complaining about.
You right, my bad.

Now i set "modeline" to "auto", but roms still display at reduced size.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on December 01, 2013, 02:59:49 pm
Now i set "modeline" to "auto", but roms still display at reduced size.

I was afraid of hearing this. Give us some time to build the binaries and check, Ves is very busy these days. I tried v0.150 with the current patch (v0.015) and it worked fine under GroovyArcade. The problem now is we can't use binaries compiled with QT because GroovyArcade doesn't have this package. Ves will provide the package so GroovyArcade users can update their systems and use the v0.151 binaries.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 02, 2013, 04:53:52 am
Is there any test and/or configuration change I can do, while Ves update GroovyArcade packages?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on December 02, 2013, 07:53:45 am
Is there any test and/or configuration change I can do, while Ves update GroovyArcade packages?

If possible, post a new log using the correct mame.ini, and make sure xrandr is not reporting errors on mode switch (this are not in the log but you can see them down the command line on MAME exit). Post your mame.ini too just in case.

Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 02, 2013, 08:31:37 am
With correct mame.ini I get the same log as above (except the "SwitchRes: missing parameter in user modeline" part).
I'm quite sure there aren't xrandr errors, because I take the log with "&>" (that way all output should be logged, also the messages of stderr).

I'll post mame.ini ASAP.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 03, 2013, 10:09:37 am
My mame.ini (without path-related options):
Code: [Select]
#
# CORE STATE/PLAYBACK OPTIONS
#
state                     
autosave                  0
playback                 
record                   
mngwrite                 
aviwrite                 
wavwrite                 
snapname                  %g/%i
snapsize                  auto
snapview                  internal
statename                 %g
burnin                    0

#
# CORE PERFORMANCE OPTIONS
#
autoframeskip             0
frameskip                 0
seconds_to_run            0
throttle                  1
syncrefresh               1
sleep                     0
speed                     1.0
refreshspeed              0

#
# CORE ROTATION OPTIONS
#
rotate                    1
ror                       0
rol                       0
autoror                   0
autorol                   0
flipx                     0
flipy                     0

#
# CORE ARTWORK OPTIONS
#
artwork_crop              0
use_backdrops             0
use_overlays              0
use_bezels                0
use_cpanels               0
use_marquees              0

#
# CORE SCREEN OPTIONS
#
brightness                1.0
contrast                  1.0
gamma                     1.0
pause_brightness          0.85
effect                    none

#
# CORE VECTOR OPTIONS
#
antialias                 1
beam                      1.0
flicker                   0

#
# CORE SOUND OPTIONS
#
sound                     1
samplerate                48000
samples                   1
volume                    0

#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     
mouse                     1
joystick                  1
lightgun                  0
multikeyboard             0
multimouse                0
steadykey                 0
ui_active                 0
offscreen_reload          0
joystick_map              auto
joystick_deadzone         0.0
joystick_saturation       0.85
natural                   0
joystick_contradictory    0
coin_impulse              0

#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device             mouse
adstick_device            mouse
pedal_device              mouse
dial_device               mouse
trackball_device          mouse
lightgun_device           mouse
positional_device         keyboard
mouse_device              mouse

#
# CORE DEBUGGING OPTIONS
#
log                       0
verbose                   0
update_in_pause           0
debug                     0
debugscript               
debug_internal            0

#
# CORE MISC OPTIONS
#
drc                       1
drc_use_c                 0
bios                     
cheat                     0
skip_gameinfo             1
uifont                    default
ramsize                   
confirm_quit              0
ui_mouse                  0
autoboot_command         
autoboot_delay            2
autoboot_script           
http                      0
http_port                 8080
http_path                 web

#
# CORE MKChamp OPTIONS
#
disable_hiscore_patch     0
disable_nagscreen_patch   0
disable_loading_patch     0

#
# CORE SWITCHRES OPTIONS
#
modeline_generation       1
#monitor                   pal
monitor                   custom
orientation               horizontal
connector                 auto
interlace                 1
doublescan                1
cleanstretch              0
changeres                 1
powerstrip                0
lock_system_modes         1
lock_unsupported_modes    1
refresh_dont_care         0
dotclock_min              0
sync_refresh_tolerance    2.0
frame_delay               0
black_frame_insertion     0
modeline                  auto
ps_timing                 auto
lcd_range                 auto
crt_range0                15625-15800,49.50-60.50,2.000,4.700,8.000,0.064,0.160,1.056,0,0,192,288,448,576
crt_range1                auto
crt_range2                auto
crt_range3                auto
crt_range4                auto
crt_range5                auto
crt_range6                auto
crt_range7                auto
crt_range8                auto
crt_range9                auto

#
# DEBUGGING OPTIONS
#
oslog                     0
watchdog                  0

#
# PERFORMANCE OPTIONS
#
multithreading            1
numprocessors             2
sdlvideofps               0
bench                     0

#
# VIDEO OPTIONS
#
video                     opengl
numscreens                1
window                    0
maximize                  0
keepaspect                0
unevenstretch             0
centerh                   1
centerv                   1
waitvsync                 1
scalemode                 none

#
# OpenGL-SPECIFIC OPTIONS
#
filter                    0
prescale                  1
gl_forcepow2texture       0
gl_notexturerect          0
gl_vbo                    1
gl_pbo                    1
gl_glsl                   0
gl_glsl_filter            0
glsl_shader_mame0         none
glsl_shader_mame1         none
glsl_shader_mame2         none
glsl_shader_mame3         none
glsl_shader_mame4         none
glsl_shader_mame5         none
glsl_shader_mame6         none
glsl_shader_mame7         none
glsl_shader_mame8         none
glsl_shader_mame9         none
glsl_shader_screen0       none
glsl_shader_screen1       none
glsl_shader_screen2       none
glsl_shader_screen3       none
glsl_shader_screen4       none
glsl_shader_screen5       none
glsl_shader_screen6       none
glsl_shader_screen7       none
glsl_shader_screen8       none
glsl_shader_screen9       none
gl_glsl_vid_attr          0

#
# PER-WINDOW VIDEO OPTIONS
#
screen                    auto
aspect                    auto
resolution                auto
view                      auto
screen0                   auto
aspect0                   auto
resolution0               auto
view0                     auto
screen1                   auto
aspect1                   auto
resolution1               auto
view1                     auto
screen2                   auto
aspect2                   auto
resolution2               auto
view2                     auto
screen3                   auto
aspect3                   auto
resolution3               auto
view3                     auto

#
# FULL SCREEN OPTIONS
#
switchres                 1
useallheads               0

#
# SOUND OPTIONS
#
audio_latency             3

#
# SDL KEYBOARD MAPPING
#
keymap                    0
keymap_file               $HOME/keymap.dat
uimodekey                 auto

#
# SDL JOYSTICK MAPPING
#
joy_idx1                  auto
joy_idx2                  auto
joy_idx3                  auto
joy_idx4                  auto
joy_idx5                  auto
joy_idx6                  auto
joy_idx7                  auto
joy_idx8                  auto
sixaxis                   0

#
# SDL LOWLEVEL DRIVER OPTIONS
#
videodriver               auto
audiodriver               auto
gl_lib                    auto
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Monkee on December 05, 2013, 06:25:46 am
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.
I'm not sure to understand a 100%, so if I'm playing a lot of shmup with 90° rotation, I have to use the triplebuffer/multithread instead of syncrefresh?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 05, 2013, 01:31:54 pm
It turned out that I was missing a patch for sdl.
Recompiled sdl with xrandr patch and now everything works as expected.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on December 05, 2013, 01:44:28 pm
It turned out that I was missing a patch for sdl.
Recompiled sdl with xrandr patch and now everything works as expected.

 :applaud:

It's good to hear that. So finally it was this patch which made the trick: 1xrand.diff  ?

Ves updated the git with the required patches, for anyone who needs them: https://code.google.com/p/groovyarcade/source/browse?repo=diff
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 05, 2013, 01:56:13 pm
So finally it was this patch which made the trick: 1xrand.diff  ?
Yes.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Dr.Venom on December 06, 2013, 04:57:38 am
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.


Luckily I found what the issue was. Small rectification first on the issue earlier reported though: it was not that the problem only occured with Aero on, but as I found out later also with Aero off there's a problem, although much less pronounced. Instead of a black screen the sound will glitch shortly on startup.

Anyway, I've traced the problem to having 3 screens attached (one LED on GTX770 and two CRT's on HD4850), the last addition being the second CRT to my HD4850 as a TATE monitor. Interestingly with all the screens attached screenswitching is taking longer than with only one LED and one CRT attached (my previous situation without the TATE monitor). Apparently it is taking Windows too long to return from a screenswitch on one of the monitors when all 3 monitors are connected/enabled. This effect gets pronounced with Aero on, apparently this graphical layer is adding a delay of its own during switching.

So I've now created hotkeys to either enable the landscape CRT -or- the TATE CRT, but not have them enabled both at the same time on the HD4850. This has solved the earlier reported issue and GM is now running/switching as a dream again, like before.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on December 06, 2013, 01:07:10 pm
Luckily I found what the issue was.

Yeah, that makes a lot of sense. Remind when I told you that beta-testing the Emudriver for W7 with 2 monitors nearly froze my system? In the P4 that I used for testing, the lag involved with mode initialization having 2 monitors attached to the ATI card made the system nearly unusable. Maybe with your i7 things are not so bad but the problem is still there. I believe this has to do with the drivers validating each single mode against each of the 2 monitors, and this process being incredibly un-optimized if you compare with older versions of the drivers (XP).
Title: 100% Hide Mouse Pointer Patch for GroovyMAME 0.151
Post by: ozfalcon on December 09, 2013, 05:18:15 am
Hide Mouse Pointer 100% solved
I have made an update to GroovyMame 151 hopefully to include in the next release of the GroovyMame patch.
Apply the No Mouse Pointer patch after the Hi_Score and GroovyMame patches have been applied.
The patch is so simple I won't be maintaining it, So I'm posting it here as a one of.
This patch applies to SDLMame only.

The mouse pointer appearing for a few seconds when staring SDLMame has been nagging me for a <LONG> time.
This would occur only on some games, But not others eg. Discs of Tron, Alien vs Preditor, 1944, 19xx etc.

Complete Solution
The solution is a super simple two part process.

Part 1
The first part had already been solved by common methods of using xsetroot.
This hides the mouse pointer on entry and on exit (ie Run a game) of AdvanceMenu.

Modify ~/.xinitrc and add the xsetroot -cursor command. Be sure to use full pathnames.
Code: [Select]
xsetroot -cursor /home/full/path/emptycursor /home/full/path/emptycursor

Create an emptycursor file with the following contents:
Code: [Select]
#define nn1_width 16
#define nn1_height 16
static unsigned char nn1_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

Part 2
The second part involves the way SDLMame starts up.
I observed that some games would display the mouse cursor for upto 2~3 seconds, While others did not display it at all.
After examining the Mame source code, I found that the mouse pointer was only turned off via the input.c/window.c code sections.
This is too late. ie. From SDL Video Init until input.c is called delays of upto 2~3 seconds can occur allowing the mouse pointer to be seen.
A very simple fix is to turn off the mouse pointer early on in the Mames init, Then allow the normal code to set it as per usual.
See attached No Pointer patch.

So the end result of applying both methods is NO MOUSE POINTER AT ANY STAGE OF OPERATION!!!!!
No messy transparent pointer themes or other alternate methods like disabling the X mouse pointer completely.

Time to celebrate. 100% Fixed.

Patch Order
Apply Hi_Score patch
Apply GroovyMame patch
Apply NoPointer Patch
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: machyavel on December 09, 2013, 01:42:02 pm
Thanks, I want to try that!
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: blontic on December 12, 2013, 11:24:31 pm
Ok Ansa, thanks for testing this. I should update the diff keeping the "NO_USE_QTDEBUG = 1" commented out.

If you have any plans of making the Linux binaries available let us know, as we still don't have them in the Google site.

Hi Calamity,

I am also getting the same issues. Were you going to update the diff or is there something I need to patch etc? Is there instructions on how to do this somewhere?

Thanks
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 13, 2013, 04:03:48 am
The main patch can be kept as is, because (hopefully) in next mame release, they have fixed that bug.
Until then, here is an updated patch for 0.151.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on December 13, 2013, 04:40:45 am
Thanks Ansa. I read about this in the SVN, it looks like the "not use QT" option was broken or something and it has been fixed, that's good.

Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 13, 2013, 04:43:10 am
Yes, exactly.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: blontic on December 13, 2013, 07:46:02 pm
The main patch can be kept as is, because (hopefully) in next mame release, they have fixed that bug.
Until then, here is an updated patch for 0.151.

Thank you
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on December 24, 2013, 11:24:33 am
GroovyMAME v0.152 is out. Same SwitchRes version 0.015 (no new features by now). This version *should* compile under Linux with our patch and work under GroovyArcade (http://mametesters.org/view.php?id=5364 (http://mametesters.org/view.php?id=5364)).

Happy Christmas with your loved ones and lots of cathode ray devices for everybody.
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Ansa89 on December 24, 2013, 04:08:26 pm
Confirmed. It's a bug due to GM saving the current modeline to .cfg. If you remove the part between "" in the modeline in the .cfg file, the config is loaded right.
Is this bug fixed?
Title: Re: GroovyMAME/GroovyUME 0.151 - SwitchRes v0.015
Post by: Calamity on December 25, 2013, 04:37:28 am
Confirmed. It's a bug due to GM saving the current modeline to .cfg. If you remove the part between "" in the modeline in the .cfg file, the config is loaded right.
Is this bug fixed?

Yes, it was fixed on 29th November: http://forum.arcadecontrols.com/index.php/topic,135823.msg1405355.html#msg1405355 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1405355.html#msg1405355)
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Ansa89 on December 25, 2013, 05:05:59 am
Ok, my doubt was due to you only spoke about binaries and not about diff.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on December 25, 2013, 06:31:27 am
Hi Calamity,

Thanks for the quick update.

Merry XMas to all, enjoy!
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on December 25, 2013, 06:51:07 am
I've udpated the .diff, there was an error that broke compilation in Linux (sdl), now it's fixed and compiles fine.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on December 25, 2013, 03:32:25 pm
Linux binaries for v0.152 available too: https://code.google.com/p/groovyarcade/downloads/list
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: lettuce on December 31, 2013, 10:59:15 am
Is there no, Hi_152.dat file yet???
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: lettuce on January 04, 2014, 08:51:48 pm
Why am i getting this error message in the dos prompt after loading a rom...

SwitchRes: Failed opening System\CurrentControlSet\Control\Video\{061F8C1F-6DE8-
41E7-9C93-31C22EC5DA29}\0000 registry entry

the game seems to run fine how ever, its obviously related to switchres
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on January 05, 2014, 05:48:34 pm
Why am i getting this error message in the dos prompt after loading a rom...

SwitchRes: Failed opening System\CurrentControlSet\Control\Video\{061F8C1F-6DE8-
41E7-9C93-31C22EC5DA29}\0000 registry entry

the game seems to run fine how ever, its obviously related to switchres

You're probably running this in W7? GroovyMAME needs admin rights to access the registry, otherwise it will prompt that error. If you're using an LCD (no custom modelines) you can ignore that error.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: lettuce on January 06, 2014, 09:30:58 am
Quote from: Calamity
You're probably running this in W7? GroovyMAME needs admin rights to access the registry, otherwise it will prompt that error. If you're using an LCD (no custom modelines) you can ignore that error.

I'm using Windows 8 (don't judge lol), so if I open up a command prompt window as administrator will I still get this message?. The only thing I have set in the modeline is 51-61 everything else is left as auto.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on January 06, 2014, 03:30:29 pm
I'm using Windows 8 (don't judge lol), so if I open up a command prompt window as administrator will I still get this message?

Yes, that's what I do in W7.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: lettuce on January 06, 2014, 05:30:20 pm
Ok and the 2nd thing for the day ( i knew i shouldnt have done a fresh install on my HTPC), im getting the, 'could not find a video mode that meets your specs' message and all games are being displayed in stretched mode on my LCD TV, i do have 'lcd' set in the monitor mode line in the ini file also which i though this error message was usually related to....but i guess not in this case?.

Have also noticed if i have either triple buffer or waitvsync enabled the game runs about 40% speed, Any ideas??
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: mikecrj on January 26, 2014, 05:04:32 pm
I am having trouble forcing fractional scaling on my LCD monitor using GroovyMAME 0.152 on Windows 7 64-bit for certain games.  I have been unable to display Mortal Kombat in a 4:3 aspect ratio because integer scaling is being applied.  I set cleanstretch 0 from the command line and from mk.ini and neither worked.  However, setting cleanstretch 2 resulted in mixed integer/fractional scaling as expected.  With other games such as SF2, GroovyMAME chooses fractional scaling automatically and I do not need to force it through the command line or sf2.ini.  I have attached mk.txt.  Thanks for any help.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on January 28, 2014, 05:12:52 pm
I have been unable to display Mortal Kombat in a 4:3 aspect ratio because integer scaling is being applied.

For LCD monitors, you need to set the aspect ratio manually. Unlike MAME, GroovyMAME will assume you're screen is 4:3, unless otherwise stated. Try setting -aspect 16:10 in mame.ini.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: xenphor on January 30, 2014, 05:14:10 pm
hi I'm trying to get a custom modeline working manually just to test and see if I could just use my laptop LCD monitor to better match the speed of certain games with throttle off. So a common refresh rate I see used is 59.185606hz used for neogeo which seems like a good test candidate. I'm using Fedora 20 64bit so I use either cvt or gtf to generate the modeline:

Code: [Select]
$ cvt 1366 768 59.185606
# 1368x768 59.08 Hz (CVT) hsync: 47.09 kHz; pclk: 84.00 MHz
Modeline "1368x768_59.19"   84.00  1368 1440 1576 1784  768 771 781 797 -hsync +vsync

Then follow steps using xrandr to add the modeline:

Code: [Select]
$ xrandr --newmode "1368x768_59.19"   84.00  1368 1440 1576 1784  768 771 781 797 -hsync +vsync

After this I check to see what xrandr says:

Code: [Select]
$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767
eDP1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 256mm x 144mm
   1366x768       60.0*+
   1024x768       60.0 
   800x600        60.3     56.2 
   640x480        59.9 
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
  1368x768_59.19 (0xc8)   84.0MHz
        h: width  1368 start 1440 end 1576 total 1784 skew    0 clock   47.1KHz
        v: height  768 start  771 end  781 total  797           clock   59.1Hz

So it looks to be added under VIRTUAL1. The next command I run is:

Code: [Select]
$ xrandr --addmode VIRTUAL1 1368x768_59.19

Then I check the output of xrandr again

Code: [Select]
$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 32767 x 32767
eDP1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 256mm x 144mm
   1366x768       60.0*+
   1024x768       60.0 
   800x600        60.3     56.2 
   640x480        59.9 
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 connected (normal left inverted right x axis y axis)
   1368x768_59.19   59.1 
VIRTUAL2 disconnected (normal left inverted right x axis y axis)

So it seems to be added under VIRTUAL1. Now I can try using the new mode:

Code: [Select]
$ xrandr --output VIRTUAL1 --mode 1368x768_59.19

After I do this the screen flickers and I check xrandr:

Code: [Select]
$ xrandr
Screen 0: minimum 320 x 200, current 1368 x 768, maximum 32767 x 32767
eDP1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 256mm x 144mm
   1366x768       60.0*+
   1024x768       60.0 
   800x600        60.3     56.2 
   640x480        59.9 
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 connected 1368x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1368x768_59.19   59.1*
VIRTUAL2 disconnected (normal left inverted right x axis y axis)

So there it says "current 1368 x 768" which I assume means it is working? The only problem is that when I go to test this in mame, the game speed is still the same as it would be under my regular 60hz resolution. Is there a way to make sure that my refresh rate is actually changed?


update: Okay I tried the same thing except with a lower refresh game like Mortal Kombat 3 which is at 54.815170hz. So, testing with mame I get:

Code: [Select]
$ ./mame64 mk3.zip
Average speed: 109.66% (82 seconds)

but when I change back to 60hz I get the same thing:

Code: [Select]
$ ./mame64 mk3.zip
Average speed: 109.68% (17 seconds)

So I guess the refresh rate is not actually changing?
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: mikecrj on January 30, 2014, 05:56:09 pm
Calamity, I set the aspect ratio to 16:10 but Mortal Kombat still chooses integer scaling with the -cleanstretch 0 command line option.  I have attached the new log and my mame.ini.  Thanks.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on January 31, 2014, 04:13:13 pm
Hi mikecrj,

Yes, I've the same problem here. I'm thinking I'll add a new value for cleanstretch that actually forces fractional scaling. The current "0" value equals "auto", that's where the problem comes from, there's no actual way to force fractional scaling with current GM.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: ikaruga007 on February 02, 2014, 01:46:13 pm
I don't seem to be able to force a clean stretch equally in both the x and y axis.

I'm using a 4:3 screen, showing all games in 1600x1200 resolution, and I'm trying to get all games to display with integer scaling and keep the aspect ratio, showing black borders on either axis if the screen can't be filled. The cleanstretch +  keepaspect setting doesn't accomplish this for me. For example, "Rygar" (256x224) scales 6, 5 when I'd like it to scale 5, 5 while of course Rastan (320x240) scales  5, 5. Can I accomplish this across the board for all games?

This PC has an Nvidia 8800GTX card BTW, if it matters. Any help would be greatly appreciated.

EDIT: Oh, and I forgot to mention that I'm running Windows 7 64-bit on this one.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Monkee on February 03, 2014, 03:42:55 pm
Hi Calamity, I'd love to know if you implemented the last revisions (with all the files that belongs to it) of HLSL from the official MAME 152 build?

Now that GroovyMAME support the Black Frame Insertion, it could be really interesting to try it also on LCD/Plasma and HLSL is clearly the best thing around for scanlines.
Some crazy dudes created some awesome settings (based on the official MAME 152 HLSL) for it on the Shmups forum so it will be really nice to be able to use it inside Groovymame.

Thanks.
Monkee
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on February 03, 2014, 04:55:06 pm
Hi ikaruga007,

For example, "Rygar" (256x224) scales 6, 5 when I'd like it to scale 5, 5 while of course Rastan (320x240) scales  5, 5. Can I accomplish this across the board for all games?

As far as I understand, (6,5) is the correct integer scaling for 256x224 on your screen resolution.

scale (6,5) -> 1536/1120 = 1.37
scale (5,5)-> 1280/1120 = 1.14

1.37 is closer to 1.33 than 1.14

You can't force custom integer factors by now, and I'd prefer it wasn't required actually.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on February 03, 2014, 04:59:15 pm
Hi Monkee,

Hi Calamity, I'd love to know if you implemented the last revisions (with all the files that belongs to it) of HLSL from the official MAME 152 build?

Not sure if I get it. Regarding HLSL, GroovyMAME 152 is the same thing (same code) as MAME 152. The required files are the ones you can get in the MAME site.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Monkee on February 03, 2014, 06:51:20 pm
Thank you for your answer Calamity. Which files will I need on the MAME site to properly add HLSL to GroovyMAME?
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: ikaruga007 on February 05, 2014, 12:19:44 pm
As far as I understand, (6,5) is the correct integer scaling for 256x224 on your screen resolution.
Ah, you're right of course. Thanks for clarifying, I see it now.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: xenphor on February 07, 2014, 06:39:08 pm
How will switchres work in Wayland with no xserver?
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: machyavel on February 10, 2014, 02:24:57 pm
In XP64 w/crt_emudriver, is it normal GM behavior to display a blurry menu? In GA menu looks as usual, i.e. like a std mame on a std monitor. This no big deal but if there's a fix...

Thanks
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: krick on February 11, 2014, 12:16:48 am
In XP64 w/crt_emudriver, is it normal GM behavior to display a blurry menu? In GA menu looks as usual, i.e. like a std mame on a std monitor. This no big deal but if there's a fix...

Not sure if this is the issue you're experiencing or not, but worth trying to see if it fixes your issue...

You can modify a setting in mame.ini...

uifont    default

...just remove "default".  This causes MAME to fall back on some kind of low-res bitmap font that looks reasonably decent on an arcade monitor.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 07, 2014, 06:37:51 pm
Just for a quick update, I'm uploading the diff files for version 0.153. No updates for SwitchRes (still v0.015). I'll add some fixes that are pending as soon as possible.

UPDATE: Files updated to fix a problem with the hiscore patch (thanks Dr.Venom for reporting).

UPDATE2: For the current hi_153.diff file go to this post: http://forum.arcadecontrols.com/index.php/topic,135823.msg1433497.html#msg1433497 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1433497.html#msg1433497)
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on April 08, 2014, 05:14:37 am
Hi Calamity,

Thanks for the update.

There seems to be a slight issue though that causes some errors to be thrown when running the compiled gm binary. At start of each MAME game, upon display of the game title screen (i.e right after the memory check screen), it will log a number of the following:

Error: attempt to free array 00000000099D4E60 with global_free in (null)(0)!
  000000000021E940: 000000000169D977 (not found)
  000000000021E9B0: 0000000002349B0D (not found)
  000000000021EA50: 000000000228A0A9 (not found)
  000000000021EC30: 000000000217E0AA (not found)
  000000000022F350: 00000000020CD88F (not found)
  000000000022F880: 0000000002223B57 (not found)
  000000000022FE10: 00000000016A0A49 (not found)
  000000000022FE60: 00000000024920BC (not found)
  000000000022FF20: 00000000004013F0 (not found)
  000000000022FF50: 00000000004014F8 (not found)
  000000000022FF80: 000000007796652D (BaseThreadInitThunk+0x000d)
  000000000022FFD0: 0000000077B9C541 (RtlUserThreadStart+0x0021)

This doesn't happen in regular MAME, either selfcompiled or from the mamedev site. This suggests that it's an issue related to the 0153 HI and/or Groovypatch? See attachment for the full log (logged with MT disabled).


Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 08, 2014, 05:59:57 am
Hi Dr., no problem here. Only possible difference is I'm running on an LCD right now. Did you try a clean compile?
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on April 08, 2014, 07:42:19 am
Yes, I did a clean compile of both ume and mame, but the problem persists. Those are the 64-bits ones btw, compiled with MinGW.

Interestingly GroovyMESS 0153 doesn't show any problem. To be sure there's not something with my machine, I also verified with GM 0152, but that one (still) works without issues.

Could you possibly attach your 0153 binary, such that I can see if it throws the same error on my machine?  Did you also test on a Win 7 machine?
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 08, 2014, 08:01:04 am
Here's the 64-bit version (the only one I've built):

http://www.aburamushi.net/calamity/groovyume64_0153.015.7z (http://www.aburamushi.net/calamity/groovyume64_0153.015.7z)

Tested on Windows 8.1 (the log posted above). Still need to test this on my real machine.

Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on April 08, 2014, 08:44:28 am
Thanks.

Your build gives me the same error unfortunately. At least that does exclude the possibilty of a compilation issue on my side... 

Does your 8.1 machine have CRT_emudriver installed?

I also did some tests with MT, d3d/ddraw and switchres on/off, but they don't make any difference.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 08, 2014, 11:59:14 am
Just tested this in W7 too, no problem either.

Have you tried running it in a fresh folder (no .cfgs)?

I don't have CRT Emudriver in my 8.1 machine, I think it won't be possible because "test mode" must be enabled manually per-session.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on April 08, 2014, 01:46:46 pm
Have you tried running it in a fresh folder (no .cfgs)?

I've just tested it in a fresh folder, with only groovyume and ume.ini in there and then the error doesn't occur. Going back to my original folder, I disabled the subfolders one by one, and the culprit is the "hi" folder. If it's there, then the error occurs, if it's not, then there's no error.

Digging deeper it shows that the "highscore.dat" in the "hi" folder is causing the issue. Without that file there's no error.

Does your Win 7 setup include a "hi" folder with a "highscore.dat" in there? 
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 08, 2014, 01:58:42 pm
Ah, that makes sense. I don't have the hiscore folder here. Maybe the problem is in the hiscore patch at the end of a session. I just ported the hiscore patch to v0.153 without actually testing the functionality because the GM diff (unfortunately for me) is built on top of it so I need that patch before actually creating my diff. Let's wait until the official hiscore patch is released.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on April 08, 2014, 02:32:46 pm
OK, that would explain it. Let's await MKChamp's release then.

As a sidenote, too bad about the dependancy (for the obvious reasons). Is there maybe a future path in which they could be untangled as seperate non-dependant patches?
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 08, 2014, 07:25:23 pm
Ok I think I found the problem, I've uploaded the fixed files here: http://forum.arcadecontrols.com/index.php/topic,135823.msg1432055.html#msg1432055 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1432055.html#msg1432055)

It seems the hiscore.c file works if I change the 'global_free' calls for 'global_free_array'.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Ansa89 on April 10, 2014, 06:51:40 am
I added eldiau's changes (http://forum.arcadecontrols.com/index.php/topic,138584.msg1432690.html#msg1432690) to latest groovymame patch and bumped version to 015a.
I also attach the diff between previous patch (015) and new patch (015a).
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 10, 2014, 07:52:38 am
Thanks Ansa!

Just as an auto-reminder, I'm posting here some fixes that need to go in the new 015a patch:

http://forum.arcadecontrols.com/index.php/topic,135980.msg1405915.html#msg1405915 (http://forum.arcadecontrols.com/index.php/topic,135980.msg1405915.html#msg1405915)
http://forum.arcadecontrols.com/index.php/topic,136443.msg1415103.html#msg1415103 (http://forum.arcadecontrols.com/index.php/topic,136443.msg1415103.html#msg1415103)
http://forum.arcadecontrols.com/index.php/topic,132353.msg1411705.html#msg1411705 (http://forum.arcadecontrols.com/index.php/topic,132353.msg1411705.html#msg1411705)

And also a couple of elusive errors with W7 that I hope to fix this weekend.

Once all that is fixed I'll post the binaries as usual. BTW the google code site does not allow to create any new downloads anymore, that's why I'm not uploading the diffs there, we'll need to use google drive or something else from now on.

Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Ansa89 on April 10, 2014, 08:13:02 am
Once all that is fixed I'll post the binaries as usual.
Hope to see posted also the patch :) .


google code site does not allow to create any new downloads anymore
What a shame.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Dr.Venom on April 10, 2014, 05:50:04 pm
Ok I think I found the problem, I've uploaded the fixed files here: http://forum.arcadecontrols.com/index.php/topic,135823.msg1432055.html#msg1432055 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1432055.html#msg1432055)

It seems the hiscore.c file works if I change the 'global_free' calls for 'global_free_array'.

Thanks, the error is gone and highscore saving is working.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: krick on April 11, 2014, 10:53:22 am
the google code site does not allow to create any new downloads anymore, that's why I'm not uploading the diffs there, we'll need to use google drive or something else from now on.

Not sure if it's an option or not, but the guy who develops the "Merlin" firmware for ASUS routers uses mediafire.com to host his binaries.  Check it out...

http://www.lostrealm.ca/asuswrt-merlin/download (http://www.lostrealm.ca/asuswrt-merlin/download)

More info on the MediaFire plans and storage space.  I'm sure that users here would contribute to a PayPal account to help pay for a "Pro" account...

https://www.mediafire.com/upgrade/ (https://www.mediafire.com/upgrade/)

I haven't compared it against Google Drive or Dropbox.  Not sure if it's better.

UPDATE:  It looks like Google Drive pricing is pretty good.  If the free account isn't enough, the lowest paid plan is now $2 per month...

http://googleblog.blogspot.com/2014/03/save-more-with-google-drive.html (http://googleblog.blogspot.com/2014/03/save-more-with-google-drive.html)
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 13, 2014, 04:38:06 pm
New version is ready:

https://googledrive.com/host/0B5iMjDor3P__aEFpcVNkVW5jbEE/

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.

Thanks, as usual, to Dr.Venom, Ansa89 and all others reporting bugs, suggestions, feedback, etc.
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Sledge on April 14, 2014, 07:10:57 am
- Now when using interlaced modes in Windows 7 -video ddraw is automatically selected, in order to avoid the refresh rate being halved.
Thanks Calamity..
1 question... how does this option go with the switching issue in windows 7 with DDraw?
Doesn't cause the issue, due to switching from D3D to DDraw? (bypassing the switching issue)
Title: Re: GroovyMAME/GroovyUME 0.152 - SwitchRes v0.015
Post by: Calamity on April 14, 2014, 07:36:31 am
Thanks Calamity..
1 question... how does this option go with the switching issue in windows 7 with DDraw?
Doesn't cause the issue, due to switching from D3D to DDraw? (bypassing the switching issue)

If you mean the switching between progressive/interlaced & ddraw in W7, this had already been fixed, it required some hackery, but it least it's working here just fine.

A warning however: games that switch resolutions dynamically are still unstable in Windows 7. Some cases like Tekken3 that switch resolutions many times during game boot will crash GroovyMAME. My advice is to create an ini for these games, and use -resolution 2560x480 and -cleanstretch 2. This will make all the initialization process way smoother too.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Sledge on April 14, 2014, 08:07:29 am
Ok cool.. Didn't know that had been fixed :)

Not sure if it's just my machine or not... but mame .153 won't run on it's own.. it gives a 'failed to initialize ddraw' error..
run it with a game (mame.exe galaga) it starts fine...
Mame .152 when run on it's own gives the old 'menu'
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 14, 2014, 08:13:04 am
Oh damn, I thought that had been fixed. May you pass a log please?
BTW: are you running it with admin rights?
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Sledge on April 14, 2014, 08:14:57 am
Oh damn, I thought that had been fixed. May you pass a log please?
BTW: are you running it with admin rights?
Added log to above while you were replying :)

Yes running with admin.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: sean_sk on April 15, 2014, 07:03:48 pm
Not sure if it's just my machine or not... but mame .153 won't run on it's own.. it gives a 'failed to initialize ddraw' error..
run it with a game (mame.exe galaga) it starts fine...
Mame .152 when run on it's own gives the old 'menu'

THANKS Calamity for your hard work! Trackballs work beautifully with this new release.

I can confirm Sledge's issue as well. I have a similar set up to Sledge, in that we both have AVGA 3000's, so I'm not sure whether that is a contributing factor. I have Hyperspin shelled on Windows 7 and tried running interlaced games through that means as well, but just keep getting bounced back to HS. Non-interlaced games run fine of course through Hyperspin. As Sledge mentioned, GM 0.153 won't run on its own in Windows so have to use GM through HS for non-interlaced games or run from command line.

Thanks mate.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Sledge on April 16, 2014, 05:38:09 am
I hadn't got around to testing a higher resolution game, but have now, and confirm the same result as sean.
Interlaced games do not run.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: sean_sk on April 16, 2014, 07:40:24 am
Hi Calamity,

I've tried sending you a reply PM in regards to the second test version and it doesn't seem to be going through so I don't know if you have been receiving my replies but anyway:

I tested out the second version and it works great for me. Thanks for looking into it!

I love all things technical, so I'd love to know what you did to fix it.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 16, 2014, 08:00:54 am
Yes I received your PMs. Thanks for testing!

It was failing because the workaround we use for switching between interlaced & progressive modes in ddraw (W7) was being bypassed for the AVGA because we don't use custom modelines with it. Probably if you had been using the Powerstrip option it would have worked without the patch. As I'm using CRT Emudriver which involves managing custom modelines by GM, it was working for me. Now both cases (AVGA & CRT Emudriver) are considered.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: sean_sk on April 16, 2014, 08:10:08 am
Just one other question regarding the change. Are we able to select ddraw in mame.ini so we can use that mode for all games or should we still have it set to d3d? Does your Win 7 fix only apply to interlaced games?
Sorry for the dumb question. :)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 16, 2014, 08:20:29 am
Just one other question regarding the change. Are we able to select ddraw in mame.ini so we can use that mode for all games or should we still have it set to d3d? Does your Win 7 fix only apply to interlaced games?
Sorry for the dumb question. :)

Yes, you can set ddraw in mame.ini and apply it to all games.
The W7 fix applies to both progressive & interlaced games. However, it only forces ddraw for interlaced games, in order to solve the half speed issue.


Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: sean_sk on April 16, 2014, 08:22:22 am
Just one other question regarding the change. Are we able to select ddraw in mame.ini so we can use that mode for all games or should we still have it set to d3d? Does your Win 7 fix only apply to interlaced games?
Sorry for the dumb question. :)

Yes, you can set ddraw in mame.ini and apply it to all games.
The W7 fix applies to both progressive & interlaced games. However, it only forces ddraw for interlaced games, in order to solve the half speed issue.

Oh ok. Thats interesting because I set it ddraw and it wont start. Get the initializing error again.

Ok heres the deal. I have set mame to run as admin. If I set d3d in ini file than all games work including interlaced. If I set ddraw in ini file then progressive games don't work but interlaced DO work.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 16, 2014, 08:42:43 am
So please post a log of it when it fails.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Sledge on April 17, 2014, 06:32:35 am
Just one other question regarding the change. Are we able to select ddraw in mame.ini so we can use that mode for all games or should we still have it set to d3d? Does your Win 7 fix only apply to interlaced games?
Sorry for the dumb question. :)

Yes, you can set ddraw in mame.ini and apply it to all games.
The W7 fix applies to both progressive & interlaced games. However, it only forces ddraw for interlaced games, in order to solve the half speed issue.

Oh ok. Thats interesting because I set it ddraw and it wont start. Get the initializing error again.

Ok heres the deal. I have set mame to run as admin. If I set d3d in ini file than all games work including interlaced. If I set ddraw in ini file then progressive games don't work but interlaced DO work.
Seems to be ok for me...
Mame? or UME ??
attached are logs for ume, for 1942 in both ddraw, and d3d

edit: maybe i got a newer version with the fixes included.. ;)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: lettuce on April 20, 2014, 04:56:17 pm
Nice update Calamity, thanks!

Whats the deal with the Cave Sh3 new driver these days, are they now in mainline mame and more importantly GM??
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Ansa89 on April 21, 2014, 04:28:11 am
Cave sh3 is integrated into cv1k driver which is officially supported by mame team.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Haggar on April 24, 2014, 05:56:22 pm
Hi,
is there any way to disable SwitchRes?
I've put "modeline_generation" to 0 in mame.ini, but I get the "could not find a video mode" error.

Thanks
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Ansa89 on April 25, 2014, 03:44:41 am
Set "switchres" to "0".
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 25, 2014, 04:49:29 am
Hi,
is there any way to disable SwitchRes?
I've put "modeline_generation" to 0 in mame.ini, but I get the "could not find a video mode" error.

Thanks

Hi Haggar,

That sounds like you either didn't create mame.ini through GroovyMAME with the -cc param, or you're running this on a non-15 kHz setup? If it's the later, you need to edit the 'monitor' option with a suitable monitor type (i.e. lcd, if you're using a laptop).

Setting modeline_generation to 0 forces GroovyMAME to treat your modelines as read-only. But SwitchRes can't be disabled, because all the logic still must pass through it.

Set "switchres" to "0".

Well, no. The "switchres" option has nothing to do with SwitchRes  :) It's a baseline MAME option that must be kept on. The "SwitchRes" name was chosen before the whole thing was intended to go into MAME, now we have that funny naming conflict but I guess we're keeping the SwitchRes name by tradition.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Ansa89 on April 25, 2014, 05:37:49 am
My fault, I misunderstood Haggar's question.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Haggar on April 25, 2014, 07:56:08 am
That sounds like you either didn't create mame.ini through GroovyMAME with the -cc param, or you're running this on a non-15 kHz setup? If it's the later, you need to edit the 'monitor' option with a suitable monitor type (i.e. lcd, if you're using a laptop).

Setting modeline_generation to 0 forces GroovyMAME to treat your modelines as read-only. But SwitchRes can't be disabled, because all the logic still must pass through it.
Hi Calamity and thanks for your answer.
Yes, I've created mame.ini with the -cc parameter and I'm using a 15KHz arcade monitor. I have a standard ati driver with many custom fine tuned 15khz modelines (I've Always disabled the modelines generation because I prefer manual resolution/refresh management).
With groovymame 0.149 I don't have this problem.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 25, 2014, 08:14:05 am
Hi Calamity and thanks for your answer.
Yes, I've created mame.ini with the -cc parameter and I'm using a 15KHz arcade monitor. I have a standard ati driver with many custom fine tuned 15khz modelines (I've Always disabled the modelines generation because I prefer manual resolution/refresh management).
With groovymame 0.149 I don't have this problem.

Hi Haggar, things have improved quite a log since v.149 on this regard, trust me. Just post a log here showing the problem and your mame.ini and we'll see what's going on.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Haggar on April 25, 2014, 08:52:15 am
Log and mame.ini (renamed to txt) attached.
Thanks

EDIT: looking logs I've seen that switchres searches resolutions through my second adapter (radeon 9250) and not in my first radeon hd4650.
I've changed the "screen0" parameter in all custom ini files from "\\.\display3" to "\\.\display2" and the problem is gone!
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Haggar on April 25, 2014, 09:26:06 am
Done some test, sadly switchres now doesn't pick the best resolution (right res, but wrong Hz):

E:\EMULATORI\MAME>groovymame32_0149.014b.exe splatter

SwitchRes: [splatter] (1) horizontal (288x224@60.61)->(288x240@60.58)
Average speed: 99.79% (4 seconds)

E:\EMULATORI\MAME>groovymame32_0153.015a.exe splatter

SwitchRes: [splatter] (1) horizontal (288x224@60.61)->(288x240@58.77)
Average speed: 97.00% (1 seconds)


Edit: Wiz doesn't work. Logs attached.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 26, 2014, 07:24:33 am
New version is ready:

https://googledrive.com/host/0B5iMjDor3P__aEFpcVNkVW5jbEE/

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).
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015a
Post by: Calamity on April 26, 2014, 07:53:33 am
Done some test, sadly switchres now doesn't pick the best resolution (right res, but wrong Hz):

Hi Haggar,

Yes, there was a bug in the scoring system that only affected the -nomodeline_generation case. Now it should be fixed (015b).

Now, in order to get it working properly with your own modelines, you need to help GroovyMAME a bit:

- Your custom modelines will still be passed through the sanity check (hfreq, vfreq, etc.), this means that you need to use a monitor preset that is compatible with your modelines, otherwise they will be labelled as "out of range" and rejected. When cloning your modeline list in my system, this is the preset that worked fine for me:

 monitor custom
 crt_range0  15700-16720, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576

- I noticed there are some problematic modelines in your mode table. The one that failed with "wiz", for instance, you have it labelled as 401x256 but is defined internally as 401x258

Code: [Select]
Switchres: [ 42]  401x 256 @ 54: DALDTMCRTBCD401x256x0x54 - Modeline "401x258_54 15.47KHz 54.48Hz" 8.03 401 420 460 519 258 261 264 284   -hsync -vsync)
This makes DirectDraw crash. The resolution defined in the detailed timings can't be bigger than the one in the label. The other way round, however, does work. Another example (wrong):

Code: [Select]
Switchres: [ 20]  320x 200 @ 60: DALDTMCRTBCD320x200x0x60 - Modeline "320x240_60 15.70KHz 59.91Hz" 6.53 320 329 385 416 240 242 245 262   -hsync -vsync
- For cases where an interlaced mode would be used normally, like when playing donpachi on a horizontal monitor, you'll see that using -nomodeline_generation usually results in picking a low resolution progressive mode. This happens because when fractional stretching has been determined as the best possible choice, the algorithm prioritizes mathing the refresh rate rather than going for a higher resolution. So it will just pick the modeline with the closest refresh rage ignoring the resolution. There isn't a good workround for this but creating a good list of interlaced resolutions with the expected resfresh rates or as close as possible (e.g. 57.55 Hz in the case of donpachi). This is what VMMaker does by default. As a last resource you can always force GroovyMAME to pick a specific mode by using an .ini file. This problem doesn't happen when you use -modeline_generation as GroovyMAME then is capable of adjusting the refresh as desired and just goes for the highest resolution where the target refresh is feasible.

- Since recent versions of GM, a much better approach for using hand-adjusted modelines is no longer using a read-only mode list with the -nomodeline_generation option, but instead, create a dynamic mode table with VMMaker, use -modeline_generation in GroovyMAME and pass the hand-adjusted modelines using the raw format in the .ini file, e.g.:

Code: [Select]
## This is goldnaxe.ini ##

modeline "320x240_60 15.70KHz 59.91Hz" 6.53 320 329 385 416 240 242 245 262   -hsync -vsync

It's a lot of work but this way you're not limited by the driver's capacity: you can indeed create your own modeline library with hundreds of them. Besides, this is the only way to bypass the sanity check, so you can use whatever crazy frequencies you want.


Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: sean_sk on April 27, 2014, 01:47:39 am
Hi Calamity,

Thanks for the latest release.

Did you get my PM in regards to an issue I'm having with triple buffering causing missing polygons and textures in Ridge Racer and Rave Racer and all vector games being very dark? Unfortunately it is still happening in this release. Ridge Racer and Rave Racer are running at 640x480 and will only run 100% with triple buffering on, otherwise they run at around 50-80% with it off.
Sledge can confirm this. As you know we're both running AVGA 3000's in Windows 7. I'm thinking that once again it might be something peculiar to our setup. I tried it on my Windows 8 PC and wasn't getting the issues at all.

I've included logs but I'm not sure how much they'll tell you.

Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on April 27, 2014, 03:56:25 am
Yep, Same result as me.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 27, 2014, 12:10:19 pm
Did you get my PM in regards to an issue I'm having with triple buffering causing missing polygons and textures in Ridge Racer and Rave Racer and all vector games being very dark?

Hi sean_skroht, yes I saw your message. Although I'm not seeing it here, I'd say it's caused by the multithreading associated to triple buffering causing graphic glitches. You may try enabling -video d3d for these particular games, keeping triple buffering on (multithreading) so it will bypass the half frequency issue when using d3d. If this doesn't help, I guess there's nothing we can do about it.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 27, 2014, 07:03:51 pm
Thank you Calamity, I've Always a lot to learn from you.
I've removed "problematic" modelines and made some tests with new version.
Things improved a lot, BTW there are some strange behaviours that I can't explain:
Code: [Select]
E:\EMULATORI\MAME>groovymame32_0153.015a.exe snowbros

SwitchRes: [snowbros] (1) horizontal (256x224@57.50)->(256x240@57.01)
Average speed: 99.16% (8 seconds)

E:\EMULATORI\MAME>groovymame32_0153.015b.exe snowbros

SwitchRes: [snowbros] (1) horizontal (256x224@57.50)->(256x240@57.01)
Average speed: 104.17% (10 seconds)

E:\EMULATORI\MAME>groovymame32_0149.014b.exe snowbros

SwitchRes: [snowbros] (1) horizontal (256x224@57.50)->(256x240@57.50)
Average speed: 99.93% (2 seconds)

Note the average speed between rev. a and b of groovymame. In rev. b it runs faster indeed and can be noticed clearly from audio pitch (logs attached).
0.149 is the closer.

Same with superman:
Code: [Select]
E:\EMULATORI\MAME>groovymame32_0153.015a.exe superman

SwitchRes: [superman] (1) horizontal (384x240@57.43)->(384x240@57.20)
Average speed: 98.71% (2 seconds)

E:\EMULATORI\MAME>groovymame32_0153.015b.exe superman

SwitchRes: [superman] (1) horizontal (384x240@57.43)->(384x240@57.20)
Average speed: 105.22% (3 seconds)

E:\EMULATORI\MAME>groovymame32_0149.014b.exe superman

SwitchRes: [superman] (1) horizontal (384x240@57.43)->(384x240@57.43)
Average speed: 100.00% (2 seconds)

Quote
- Your custom modelines will still be passed through the sanity check (hfreq, vfreq, etc.), this means that you need to use a monitor preset that is compatible with your modelines, otherwise they will be labelled as "out of range" and rejected.
Is this also true with modeline generation set to 0?

Quote
When cloning your modeline list in my system, this is the preset that worked fine for me:

 monitor custom
 crt_range0  15700-16720, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576
Where have I to put this?
Thanks!!
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on April 28, 2014, 06:11:47 am
Yep, Same result as me.
Calamity, i just had another look, and the video modes chosen between the 2 versions change..
Maybe that's got something to do with asteroids looking so bad?
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: sean_sk on April 28, 2014, 06:17:25 am
Did you get my PM in regards to an issue I'm having with triple buffering causing missing polygons and textures in Ridge Racer and Rave Racer and all vector games being very dark?

Hi sean_skroht, yes I saw your message. Although I'm not seeing it here, I'd say it's caused by the multithreading associated to triple buffering causing graphic glitches. You may try enabling -video d3d for these particular games, keeping triple buffering on (multithreading) so it will bypass the half frequency issue when using d3d. If this doesn't help, I guess there's nothing we can do about it.

Thank you for your suggestions. I was able to fix the issue by forcing -video d3d in Hyperspin paramaters for all games. Thanks for that mate.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 28, 2014, 07:08:34 am
Thank you for your suggestions. I was able to fix the issue by forcing -video d3d in Hyperspin paramaters for all games. Thanks for that mate.

I'm afraid that's an error my friend. Forcing -video d3d in the command line just overrides the fix that's been implemented right for you. You'll get 50% speed in any other game that is running with an interlaced mode and without triple buffering enabled.

The -video setting in mame.ini is not being ignored. It's just that now when the specific conditions are met (W7 & interlaced mode) direct draw is selected regardless the default setting that's specified in mame.ini. As with any of the automatic options set by SwitchRes, this is only a step of priority above mame.ini, but below any other .ini file or command line. So you can always force any setting by creating a game.ini, or driver.ini, or even horizont.ini or whatever.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 28, 2014, 07:13:44 am
Calamity, i just had another look, and the video modes chosen between the 2 versions change..
Maybe that's got something to do with asteroids looking so bad?

Hi Sledge,

A different mode is picked because starting with v0.153 Asteroids is reported as having refresh of 61.xx. If you want GM to pick the old mode just let in know that the resulting frequency is acceptable:

crt_range0 15450.00-16250.00,50.00-65.00,3.910,4.700,6.850,0.190,0.191,1.018,0,0,192,288,448,576

Vector games look different probably because now DirectDraw is used insted D3D. Use the specific vector options to increase the beam width, brightness etc.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 28, 2014, 07:20:31 am
Things improved a lot, BTW there are some strange behaviours that I can't explain:

Hi Haggar,

A couple of notes:

- Comparing 0.149 vs 0.153 is cheating because with 0.149 you have modeline generation enabled, so obviously the target refresh is achieved. If you enable modeline generation for 0.153 you'll get the exact same refresh... just forgot to mention this the other day :)

- It's very strange that GM runs snowbros at 104% when the it's actually picking a 57 Hz modeline. I'd suggest to repeat the test right after a fresh reboot without running any other version of GM before. I'll try to reproduce the problem here anyway.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 28, 2014, 08:03:56 am
Hi Haggar,

A couple of notes:

- Comparing 0.149 vs 0.153 is cheating because with 0.149 you have modeline generation enabled, so obviously the target refresh is achieved. If you enable modeline generation for 0.153 you'll get the exact same refresh... just forgot to mention this the other day :)
Ah, ok sry for that.

- It's very strange that GM runs snowbros at 104% when the it's actually picking a 57 Hz modeline. I'd suggest to repeat the test right after a fresh reboot without running any other version of GM before. I'll try to reproduce the problem here anyway.
Ok, I'll try.
Thanks
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on April 28, 2014, 08:37:22 am
horizont.ini or whatever.

Is there a list somewhere of all the possible .ini files? I've been wondering for a while what the horizontal one was.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 28, 2014, 10:59:56 am
Is there a list somewhere of all the possible .ini files? I've been wondering for a while what the horizontal one was.

You can check the code in emu_options::parse_standard_inis here: http://git.redump.net/mame/tree/src/emu/emuopts.c (http://git.redump.net/mame/tree/src/emu/emuopts.c)

 
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: adder on April 28, 2014, 11:05:03 am
Quote from: Calamity
...starting with v0.153 Asteroids is reported as having refresh of 61.xx

cool im glad thats been officially changed now as asteroids doesnt run smooth otherwise
http://www.mameworld.info/ubbthreads/showflat.php?Number=2819540 (http://www.mameworld.info/ubbthreads/showflat.php?Number=2819540)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 28, 2014, 05:08:34 pm
Hi Haggar,

A couple of notes:

- Comparing 0.149 vs 0.153 is cheating because with 0.149 you have modeline generation enabled, so obviously the target refresh is achieved. If you enable modeline generation for 0.153 you'll get the exact same refresh... just forgot to mention this the other day :)
Ah, ok sry for that.

- It's very strange that GM runs snowbros at 104% when the it's actually picking a 57 Hz modeline. I'd suggest to repeat the test right after a fresh reboot without running any other version of GM before. I'll try to reproduce the problem here anyway.
Ok, I'll try.
Thanks

Tried, but the problem remains.
I've also tried turning on modeline generation:
Code: [Select]
E:\EMULATORI\MAME>groovymame32_0153.015b.exe butasan

SwitchRes: [butasan] (1) horizontal (256x240@54.00)->(256x240@54.00)
Average speed: 110.92% (9 seconds)

E:\EMULATORI\MAME>groovymame32_0153.015a.exe butasan

SwitchRes: [butasan] (1) horizontal (256x240@54.00)->(256x240@54.00)
Average speed: 100.01% (6 seconds)

Log attached
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on April 28, 2014, 05:13:22 pm
Is there a list somewhere of all the possible .ini files? I've been wondering for a while what the horizontal one was.

You can check the code in emu_options::parse_standard_inis here: http://git.redump.net/mame/tree/src/emu/emuopts.c (http://git.redump.net/mame/tree/src/emu/emuopts.c)

Oh, its actually mame source? Thanks, useful info :)

As an on topic aside, I've seen similar weirdness as Haggar has with games not seeming to throttle properly with 153 15a and 15b. I've not had any time to do some diagnostics on it though so can't offer anything more than a me too.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: ozfalcon on April 28, 2014, 06:44:58 pm
- It's very strange that GM runs snowbros at 104% when the it's actually picking a 57 Hz modeline. I'd suggest to repeat the test right after a fresh reboot without running any other version of GM before. I'll try to reproduce the problem here anyway.
Ok, I'll try.
Thanks

When I run snowbros @ 60hz I get Average speed: 104.38%
So It sounds like it may be picking it, But not switching to it?

<Modified: Removed redundant info>
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 29, 2014, 02:30:13 am
- It's very strange that GM runs snowbros at 104% when the it's actually picking a 57 Hz modeline. I'd suggest to repeat the test right after a fresh reboot without running any other version of GM before. I'll try to reproduce the problem here anyway.
Ok, I'll try.
Thanks

When I run snowbros @ 60hz I get Average speed: 104.38%
So It sounds like it may be picking it, But not switching to it?

I've tried changing refresh rates through mame sliders controls. Forcing games with this issue at 60Hz they all run at 100%.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 29, 2014, 03:09:38 am
I've tried changing refresh rates through mame sliders controls. Forcing games with this issue at 60Hz they all run at 100%.

I spotted the problem last night, indeed it's caused by a change I introduced in the DirectDraw part. I'll have a fix today.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 29, 2014, 04:31:41 am
Great!  :notworthy:

One quick question before updating my romset: I've read in the past that the triple buffer option is managed automatically by GM.
I know that this option introduces massive lags to controls, is there a way to force it off and be sure that it will not be activated?
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on April 29, 2014, 05:33:00 am
Calamity, i just had another look, and the video modes chosen between the 2 versions change..
Maybe that's got something to do with asteroids looking so bad?

Hi Sledge,

A different mode is picked because starting with v0.153 Asteroids is reported as having refresh of 61.xx. If you want GM to pick the old mode just let in know that the resulting frequency is acceptable:

crt_range0 15450.00-16250.00,50.00-65.00,3.910,4.700,6.850,0.190,0.191,1.018,0,0,192,288,448,576

Vector games look different probably because now DirectDraw is used insted D3D. Use the specific vector options to increase the beam width, brightness etc.
there's no brightness setting for Vector games?
under CORE options i've got:
antialias
beam
flicker

putting brightness 1.2 or 1.1 (under Core vector options) does make the screen brighter (and blurred)... but we just need the vector lines to be brighter rather than the whole screen?
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 29, 2014, 05:46:52 am
putting brightness 1.2 or 1.1 (under Core vector options) does make the screen brighter... but we just need the vector lines to be brighter rather than the whole screen?

Use the beam option.

http://forum.arcadecontrols.com/index.php/topic,118159.msg1254032.html#msg1254032 (http://forum.arcadecontrols.com/index.php/topic,118159.msg1254032.html#msg1254032)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on April 29, 2014, 05:58:35 am
putting brightness 1.2 or 1.1 (under Core vector options) does make the screen brighter... but we just need the vector lines to be brighter rather than the whole screen?

Use the beam option.

http://forum.arcadecontrols.com/index.php/topic,118159.msg1254032.html#msg1254032 (http://forum.arcadecontrols.com/index.php/topic,118159.msg1254032.html#msg1254032)
yeah that does help a fair bit :)
Thanks !
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 29, 2014, 06:00:47 am
One quick question before updating my romset: I've read in the past that the triple buffer option is managed automatically by GM.
I know that this option introduces massive lags to controls, is there a way to force it off and be sure that it will not be activated?

You can control exactly when -triplebuffer is going to be used by means of the -syncrefresh_tolerance option. This option is set to 2.0 Hz by default. It means that when the difference between the native game's refresh and the modeline is higher than 2.0, -triplebuffer will be used instead of -syncrefresh, in order to keep the game speed deviation in a reasonable range. Of course you can increse the -syncrefresh_tolerance value as much as you like, e.g. if you set it to 10.0 Hz it probably won't use -triplebuffer in any situation. Of course there is a catch: games like galaga will run very slow on a horizontal arcade monitor.

That said, don't be too scared about triple buffering: the main source of input lag associated to triple buffering in the popular culture just does not happen with GroovyMAME. This is because we set things so that the frame queue arranged by DirectX is bypassed.

The obvious problem with triple buffering is the unavoidable loss of 1:1 frame mapping that leads to choppy scrolling. That's why it's just a last resource setting rather than a desirable feature.

Finally, for -triplebuffer to work in the intended way you need to have -multithreading enabled too.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 29, 2014, 06:10:34 am
Thanks.
Can you provide a list of reccomended settings to get less lag as possible (mantaining v-sync on of course)?
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 29, 2014, 06:24:25 am
Thanks.
Can you provide a list of reccomended settings to get less lag as possible (mantaining v-sync on of course)?

Check this: http://forum.arcadecontrols.com/index.php/topic,133194.msg1377633.html#msg1377633 (http://forum.arcadecontrols.com/index.php/topic,133194.msg1377633.html#msg1377633)
In the attached picture, you'll see the settings I was using.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 29, 2014, 08:08:19 am
The fix for 015b is ready: https://drive.google.com/#folders/0B5iMjDor3P__NTRMamY2Q0xjSFk
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 29, 2014, 08:20:18 am
Thanks!!

Thanks.
Can you provide a list of reccomended settings to get less lag as possible (mantaining v-sync on of course)?

Check this: http://forum.arcadecontrols.com/index.php/topic,133194.msg1377633.html#msg1377633 (http://forum.arcadecontrols.com/index.php/topic,133194.msg1377633.html#msg1377633)
In the attached picture, you'll see the settings I was using.

So it's better using d3d instead of ddraw.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on April 29, 2014, 04:06:47 pm
So it's better using d3d instead of ddraw.

With -frame_delay enabled (any value above 0), d3d = ddraw
Without -frame_delay, d3d lags 2 frames more than ddraw.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Haggar on April 29, 2014, 06:04:31 pm
Thanks Calamity.
I've tried your new release, problems gone!!  :applaud:
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 05:51:04 am
Is it normal that the font rendering when "orientation vertical" is set does the attached?

I've tried with multiple games and fonts, including the fallback font as pictured - all the same unusable scale.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on May 07, 2014, 06:46:40 am
How do the Cave games run for people in GM 153?
IE: Muchi Muchi Pork for me runs like a dogs breakfast... speed is all over the place even going down to about 54% at times..
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Ansa89 on May 07, 2014, 06:53:00 am
For what I heard, cave sh3 games are very cpu-hungry, so it could be related to your hardware configuration.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 07, 2014, 07:15:45 am
Is it normal that the font rendering when "orientation vertical" is set does the attached?

I've tried with multiple games and fonts, including the fallback font as pictured - all the same unusable scale.

Well that's not normal, or at least desirable. Please post a log, so I can use it to clone your system here and see why that happens.

I have a pending task regarding some aspect ratio & fonts issues, specially affecting SDL and -cleanstretch 2, which hopefully will get fixed soon, and probably looking inside this will help with with related problems like this one and the other one you posted.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on May 07, 2014, 08:59:15 am
For what I heard, cave sh3 games are very cpu-hungry, so it could be related to your hardware configuration.
Yeah i just OC'd from 3.16Ghz to 3.8Ghz, and it went from a minimum of 52% to a minimum of 72% (demo play)
strange thing though.... if i press F10 to unthrottle mmpork.... it doesn't drop below 100%.. not even close, maybe 120% minimum

I can't actually get a credit in as it gives a COIN ERROR lol..
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 07, 2014, 09:25:21 am
Have you tried the blitter delay thing?
http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Board=mamechat&Number=324467&Forum=All_Forums&Words=Tafoid&Match=Username&Searchpage=0&Limit=25&Old=allposts&Main=324445&Search=true#Post324467 (http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Board=mamechat&Number=324467&Forum=All_Forums&Words=Tafoid&Match=Username&Searchpage=0&Limit=25&Old=allposts&Main=324445&Search=true#Post324467)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 09:48:43 am
Is it normal that the font rendering when "orientation vertical" is set does the attached?

I've tried with multiple games and fonts, including the fallback font as pictured - all the same unusable scale.

Well that's not normal, or at least desirable. Please post a log, so I can use it to clone your system here and see why that happens.

I've tried on different systems as well.

I'll grab a log of one of them shortly, along with the ini.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 10:01:18 am
Attached. Also tried "orientation rotate" and same issue.

Doesn't happen on galaga88, if that helps.

MAME.INI renamed to allow for upload.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 10:12:07 am
(cleanstretch 2 also breaks vector games really well  :lol )
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 07, 2014, 10:28:34 am
(cleanstretch 2 also breaks vector games really well  :lol )

Yes, I've seen very weird things with vector games lately. Have you tried it with -video ddraw?

BTW, the log correspoding with your picture would be the one I need.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 10:38:35 am
Right, hangon - I'll take a picture, the ini, and the log of it.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 07, 2014, 10:42:49 am
Right, hangon - I'll take a picture, the ini, and the log of it.

I mean the one of the picture above http://forum.arcadecontrols.com/index.php/topic,135823.msg1437969.html#msg1437969 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1437969.html#msg1437969)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 10:45:04 am
I can't get you the log of that, it's in the past. I can reproduce the issue as much as you like though though with new picture(s) and associated logs.

All attached.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 10:52:29 am
Yes, I've seen very weird things with vector games lately. Have you tried it with -video ddraw?

Even more broken, just gives masses of "DirectDraw: Error 88760096 blitting to the screen" errors in the log.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 11:05:44 am
I have a pending task regarding some aspect ratio & fonts issues, specially affecting SDL and -cleanstretch 2, which hopefully will get fixed soon, and probably looking inside this will help with with related problems like this one and the other one you posted.

Cool. Definitely some weird behaviour. Don't really want to pepper you with logs, but another one I just spotted. If I change the ini I posted to "orientation horizontal" then galaga88 and invaders appear rotated vertically on the screen but fractionally stretched (filtered). ket is integer stretched. If I subsequently pass "-norotate" to galaga88, it appears in its natural orientation but it's running at 200%.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 07, 2014, 11:18:24 am
Cool. Definitely some weird behaviour. Don't really want to pepper you with logs, but another one I just spotted. If I change the ini I posted to "orientation horizontal" then galaga88 and invaders appear rotated vertically on the screen but fractionally stretched (filtered).

Not sure what would be the expected behaviour here. Don't be afraid to post logs :)

Quote
ket is integer stretched. If I subsequently pass "-norotate" to galaga88, it appears in its natural orientation but it's running at 200%.

If you touch any of the rotation options then things are guaranteed to get weird. Everything is calculated assuming GM takes care of those.

Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on May 07, 2014, 11:22:24 am
Gotcha. I'm not sure what's going on with the first two (I swear it didn't work like this earlier) and not hugely bothered as anyone running vertical games rotated on a horizontal monitor is a deviant anyway ;)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on May 08, 2014, 06:28:16 am
Have you tried the blitter delay thing?
http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Board=mamechat&Number=324467&Forum=All_Forums&Words=Tafoid&Match=Username&Searchpage=0&Limit=25&Old=allposts&Main=324445&Search=true#Post324467 (http://www.mameworld.info/ubbthreads/showflat.php?Cat=&Board=mamechat&Number=324467&Forum=All_Forums&Words=Tafoid&Match=Username&Searchpage=0&Limit=25&Old=allposts&Main=324445&Search=true#Post324467)
Yep.. made it perform worse.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: jimmer on May 11, 2014, 08:18:32 pm
Thanks for this program Calamity. As a newcomer it's all a bit confusing reading the back and forth between people who know what all the functions do. Is there a guide anywhere?

Anyway I downloaded the binary a few pages back and on my windows7 system with 17" LCD in portrait, it rendered Galaxian just how I wanted it first time. I've been bothered by how to fix Galaxian for a few days now.

Now I'll have get the source and compile win32 version for my arcade machines. They are Dell optiplex 745 with onboard graphics only. Am I going to need an ATI video card? I'll be running a 1280x1024 LCD vertically, and also either a 1600x1200 horizontal or 1920x1080 horizontal.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: machyavel on May 12, 2014, 03:40:31 pm
Hi, ATI cards are useful in case you want to output low resolutions with the help of Calamity's CRT_Emudriver.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: jimmer on May 13, 2014, 10:25:43 am

Well I got 0153  compiled how I want. And hi-score works, it took a while but I had a vague memory of a post somewhere saying hiscore.dat had to be in the \hi folder.

So, next step, how do I set the games up individually? If anyone wants to help me out with an example: I would like to use integer scaling to display Galaxian on my horizontal 1600x1200 LCD.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 13, 2014, 05:10:14 pm
Hi jimmer,

So, next step, how do I set the games up individually? If anyone wants to help me out with an example: I would like to use integer scaling to display Galaxian on my horizontal 1600x1200 LCD.

You only need to enable -monitor lcd, and set the proper aspect in the -aspect option (-aspect 4:3 in your case).

You don't need to do anything special to have integer scaling. Basically it's the default setting. GM will calculate the nearest integer scale factor for your screen resolution. Ony if the resulting borders are too big (around 15%) fractional scaling will be used instead. You can force integer scaling even in this situation by setting -cleanstretch 1 in the specific game ini, but only for horizontal games.


Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: jimmer on May 13, 2014, 05:56:20 pm
Ah, what I really meant to write was that I want to choose the scaling, I don't want Galaxian to fill my 4:3 horizontal screen like it does at the moment, I want a vertical strip.

Also I don't know how to do an individual ini, so I'm after an example galaxian ini that scales the game by eg 3,5 or 4,5

After fixing Galaxian, the most important goal is to sort out my Defender set-up. I usually play without v-sync and put up with the tearing. When I use vsync, I get the occasional crash but also I sometimes I think I feel a bit of lag but I'm not sure. I'm looking forward to trying out framedelay with vsync to see if that feels and looks right.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 14, 2014, 04:53:40 pm
Hi jimmer,

I'd say you're missing something basic. If vertical games are filling the screen it probably means you didn't create mame.ini using the GM executable.

GM doesn't support user scale factors. You can trick GM to set different aspect ratios for vertical games by playing with the -aspect option (actually by lying about your actual monitor's aspect).

Using -frame_delay with LCD monitor causes static tearing, looks better than random tearing but still not perfect.

Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Tithis on May 20, 2014, 07:12:44 pm
I've been bashing my head a bit here  :banghead:

How do I override groovymames selected resolutions with my own? I tried the modeline in the games ini file like shown on the first page here and it seemingly is being ignored, no messages in the cmd. If I try passing the modeline directly with -modeline it complains about a missing parameter. Mame.ini has the correct ini folder specified.

I know the formatting of the modeline is correct, I copied it from here and filled it in with modeline info from OSD.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on May 21, 2014, 04:04:46 am
Hi Tithis,

If the format of the modeline is correct (post your .ini file here so I can check) then it's possible that you're requesting a resolution that is not available in your system. In other words, you can only modify the timings/geometry of an already existing mode. As usual, a log is worth a thousand words.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Tithis on May 21, 2014, 10:20:34 am
Alright I'll try to get you that sometime tonight when I go over to work on the cab.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: NightSprinter on July 22, 2014, 01:38:00 am
Calamity, though I'm going to be moving soon, once I've settled into he new place I'm going to test out how emulation works if I set it up exclusively for 31-52KHz horizontal (especially since certain 31KHz modes can in fact go up to 120Hz vertical refresh on my NEC).  I have a lot of the basic settings down for groovymame and switchres, but could need help tweaking it to ensure it's right.  I'll let you know when the gear is set up again.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: cools on July 22, 2014, 05:30:00 am
That'll be a nice setup for vertical games :)
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: NightSprinter on July 22, 2014, 02:32:22 pm
Yeah, just don't expect me to rotate the NEC ever.  Got enough spinal issues as it is. XD

But seriously, though, this could also be useful for setting up non-MAME/emulation stuff in a linux arcade box as well.  *wonders how OpenTyrian would work at 120Hz 320x200?..*
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: bent98 on July 23, 2014, 09:01:49 am
is there gonna to be a .154 compile of groovymame anytime soon?

THanks
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on July 23, 2014, 09:52:05 am
is there gonna to be a .154 compile of groovymame anytime soon?

Sure. 0.154 has been released today, give us a few days :)


Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: bent98 on July 23, 2014, 05:10:04 pm
lol, I didn't realize it came out today. I am just getting back into the swing of things. I was running .144 so its been a while.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Sledge on July 28, 2014, 04:52:55 am
is there gonna to be a .154 compile of groovymame anytime soon?

Sure. 0.154 has been released today, give us a few days :)
Your few days are up!! ;)
lol

Got my .154 romset ready to go :)
Any major changes with the new version?
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on July 28, 2014, 05:05:22 am
Your few days are up!! ;)
lol

Got my .154 romset ready to go :)
Any major changes with the new version?

Seeing that MKChamp hadn't included the patches for SDL, I was waiting for Ozfalcon's patch: http://forum.arcadecontrols.com/index.php/topic,64298.msg1453043.html#msg1453043 (http://forum.arcadecontrols.com/index.php/topic,64298.msg1453043.html#msg1453043)

I'll be porting the current "groovy" patch to the new MAME version, no new features/fixes this time. I'll be addressing the current scaling/stretching issues on a future patch.
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Calamity on July 29, 2014, 06:56:57 am
Here goes the diff for v0.154 (+ the new MKChamp's hiscore diff with the SDL patches by Ozfalcon, thanks for including these, it makes for a cleaner GroovyMAME patch).

And here are the new binaries (Windows): https://drive.google.com/#folders/0B5iMjDor3P__eWcwWUxaV1RnSjQ
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Ansa89 on July 29, 2014, 07:02:45 am
Thanks very much.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Sledge on July 29, 2014, 07:54:51 am
Thanks Calamity!! :)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Paradroid on July 29, 2014, 08:49:58 am
Cheers!
Title: Re: GroovyMAME/GroovyUME 0.153 - SwitchRes v0.015b
Post by: Dr.Venom on July 29, 2014, 09:48:06 am
Thanks :)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: machyavel on July 29, 2014, 01:24:46 pm
Thanks a lot!
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: cools on July 31, 2014, 02:40:13 pm
Thanks. AUR packages updated
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: bent98 on August 01, 2014, 02:19:55 pm
My Current specs

Win xp 64 bit
ATI 4800HD
BL27CB0P 29” monitor dot .68mm max res 1024*768  HFreq 15-50khz VFreq 47-90HZ Bandwidth 100mhz
Video driver crt_emudriver_9.3_1.2a_x64_multisync
VM maker 1.3b
Groovy mame .154

I wanted to upgrade my groovy mame and mame rom set to the latest .154.  I started with a fresh mame setup and created a new mame.ini. Im my testing I noticed frogger and dig dug do not display properly. Dig dug is small and centered in the middle of screen and frogger is small and is half of the screen. I remember this specific provblem this and a few other games when I initially set up groovy mame 2+ years ago. I know a lot has changed since then. I was hoping to get some help.

I have enclosed the log files for both games and my mame.ini file.
Aside from needing help with the above peoblems I had a few other questions/observations.

1)   I am using d9800 as my monitor preset as there isn’t one for my bill labs model. I used the 9800 in the past as I was told they are close. I have posted specs of the monitor at the top of the thread. Not sure if we can add my monitors defaults to groovymame and add an entry for Billabs to groovymame.
2)   I noticed I had vmmaker 1.3b. I tried using 1.3c . I replicated my settings from my 1.3b ini file but 1.3c doesn’t seem to work for me. It screws up a lot of my games like dkong for instance. I switched back to 1.3b but would like to know why. 1.3c makes dkong use 512x512 resolution.


Edit: Update

Also noticed issues with moon patrol being small and centered on screen and NBA Jam too big for the screen, All worked with groovy mame .144
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: bent98 on August 02, 2014, 01:11:05 pm
Seems the artwork folder was causing the issue even though I had it disabled in the .ini
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 02, 2014, 01:35:24 pm
Seems the artwork folder was causing the issue even though I had it disabled in the .ini

Hi bent98, sorry for my late answer, indeed your logs show an artwork related common issue. If I remind right the other workaround was enabling the artwork_crop option.

Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 02, 2014, 01:38:21 pm
Thanks. AUR packages updated

Hi cools, thanks for the packages.

Regarding this new GM, after porting the patches I haven't had the change to test it on my actual machines yet. I'm noticing by the logs posted by people that most of the information that used be in the logs is no longer there. I'd say it has to do with what they've recently changed in base line MAME about osd_printf_verbose etc. I'll need to have a look through it because some important information is now missing in the logs that used to be there.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: bent98 on August 02, 2014, 01:53:01 pm

I had a few other questions/observations.

1) Punchout which is a two screen game displays both screens on one. but it looks squished,
2) Is there a way to display artwork for games like asteroids deluxe which had a background overlay while still maintain resolutions?
3)   I am using d9800 as my monitor preset as there isn’t one for my bill labs model. I used the 9800 in the past as I was told they are close. I have posted specs of the monitor at the top of the thread. Not sure if we can add my monitors defaults to groovymame and add an entry for Billabs to groovymame.
4)   I noticed I had vmmaker 1.3b. I tried using 1.3c . I replicated my settings from my 1.3b ini file but 1.3c doesn’t seem to work for me. It screws up most  of my games like dkong for instance. I switched back to 1.3b but would like to know why. 1.3c makes dkong use 512x512 resolution.
5) I noticed in my old ini i used waitsync. Its off by default do I need to use? I noticed most games run at 99.7% speed. Any way to make them run at 100%? Any issues with games not being sync properly?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 02, 2014, 02:12:19 pm

I had a few other questions/observations.

1) Punchout which is a two screen game displays both screens on one. but it looks squished,
2) Is there a way to display artwork for games like asteroids deluxe which had a background overlay while still maintain resolutions?
3)   I am using d9800 as my monitor preset as there isn’t one for my bill labs model. I used the 9800 in the past as I was told they are close. I have posted specs of the monitor at the top of the thread. Not sure if we can add my monitors defaults to groovymame and add an entry for Billabs to groovymame.
4)   I noticed I had vmmaker 1.3b. I tried using 1.3c . I replicated my settings from my 1.3b ini file but 1.3c doesn’t seem to work for me. It screws up most  of my games like dkong for instance. I switched back to 1.3b but would like to know why. 1.3c makes dkong use 512x512 resolution.
5) I noticed in my old ini i used waitsync. Its off by default do I need to use? I noticed most games run at 99.7% speed. Any way to make them run at 100%? Any issues with games not being sync properly?

1) This can be managed from the video menus in the ui.
2) You might try enabling artwork just for the game you want.
3) Can you point me to the specs, I can't find them. You could open a thread for your monitor. Basically creating specs depends on tests done on the user end that confirm that we're using the right timings.
4) You really need to use version 1.3c with newer versions of MAME. It won't read the new xml format otherwise. When you say you replicated to config did you just copy the .ini or you actually went through the new options? Pass me your .ini in another thread and I'll help you. It's working for everybody, there shouldn't be any problems.
5) Just leave it off, GM enables it automatically when required. 99.7% is probably the closest it can be because of the dotclock granularity.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: bent98 on August 02, 2014, 02:22:50 pm

I had a few other questions/observations.

1) Punchout which is a two screen game displays both screens on one. but it looks squished,
2) Is there a way to display artwork for games like asteroids deluxe which had a background overlay while still maintain resolutions?
3)   I am using d9800 as my monitor preset as there isn’t one for my bill labs model. I used the 9800 in the past as I was told they are close. I have posted specs of the monitor at the top of the thread. Not sure if we can add my monitors defaults to groovymame and add an entry for Billabs to groovymame.
4)   I noticed I had vmmaker 1.3b. I tried using 1.3c . I replicated my settings from my 1.3b ini file but 1.3c doesn’t seem to work for me. It screws up most  of my games like dkong for instance. I switched back to 1.3b but would like to know why. 1.3c makes dkong use 512x512 resolution.
5) I noticed in my old ini i used waitsync. Its off by default do I need to use? I noticed most games run at 99.7% speed. Any way to make them run at 100%? Any issues with games not being sync properly?

3) Can you point me to the specs, I can't find them. You could open a thread for your monitor. Basically creating specs depends on tests done on the user end that confirm that we're using the right timings.


4) You really need to use version 1.3c with newer versions of MAME. It won't read the new xml format otherwise. When you say you replicated to config did you just copy the .ini or you actually went through the new options? Pass me your .ini in another thread and I'll help you. It's working for everybody, there shouldn't be any problems.



BL27CB0P 29” monitor dot .68mm max res 1024*768  HFreq 15-50khz VFreq 47-90HZ Bandwidth 100mhz

Ill work on getting the ini with using 1.3c
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: bent98 on August 02, 2014, 03:15:50 pm
Ok.

I tried using the stock 1.3c file and let it use ListFromXML = 1 and GenerateXML = 1. Hes the problem. Hyperspin doesnt start up. I think I remember we had this issue a few years back when you were helping me and thats why we didnt use the ListFromXML = 1 GenerateXML = 1 settings but I'm not 100% sure. In vmmaker.ini it's set to 120 modelines so it should allow Hyperspin to run?

MY monitor is a quad sync so its capable of 15khz all the way up to 1024x768. Im not sure if there is a way to get rid of the higher resolutions in windows so it doesnt waste those for modelines?

I also attached the new working vmmaker.ini
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: bent98 on August 02, 2014, 03:54:54 pm
I got it working.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on August 03, 2014, 05:58:19 am
Hi Calamity, Just looking at your new GM 0.154 diff.
Specifically relating to the change in scope to OPTION_SYNCREFRESH

This is going to get messy, But please bear with me.

As of mame 153, The patch moves these options to /src/emu/emuopts

From:
pc:/home/Compile/mame0153.clean$ fgrep -r OPTION_SYNCREFRESH .
./src/osd/windows/winmain.h:#define WINOPTION_SYNCREFRESH           "syncrefresh"
./src/osd/windows/winmain.h:   bool sync_refresh() const { return bool_value(WINOPTION_SYNCREFRESH); }
./src/osd/windows/winmain.c:   { WINOPTION_SYNCREFRESH ";srf",                   "0",        OPTION_BOOLEAN,    "enable using the start of VBLANK for throttling instead of the game time" },
./src/osd/sdl/osdsdl.h:#define SDLOPTION_SYNCREFRESH           "syncrefresh"
./src/osd/sdl/osdsdl.h:   bool sync_refresh() const { return bool_value(SDLOPTION_SYNCREFRESH); }
./src/osd/sdl/sdlmain.c:   { SDLOPTION_SYNCREFRESH ";srf",           "0",        OPTION_BOOLEAN,    "enable using the start of VBLANK for throttling instead of the game time" },

To:
pc:/home/Compile/mame0153.Hi_AGSND$  fgrep -r OPTION_SYNCREFRESH .
./src/emu/emuopts.h:#define OPTION_SYNCREFRESH          "syncrefresh"
./src/emu/emuopts.h:   bool sync_refresh() const { return bool_value(OPTION_SYNCREFRESH); }
./src/emu/emuopts.c:   { OPTION_SYNCREFRESH ";srf",                         "0",         OPTION_BOOLEAN,    "enable using the start of VBLANK for throttling instead of the game time" },


However, Mame 0.154 has already moved these to /src/osd/osdepend
pc:/home/Compile/mame0154.clean$ fgrep -r OPTION_SYNCREFRESH .
./src/osd/osdepend.c:   { OSDOPTION_SYNCREFRESH ";srf",           "0",        OPTION_BOOLEAN,    "enable using the start of VBLANK for throttling instead of the game time" },
./src/osd/osdepend.h:#define OSDOPTION_SYNCREFRESH           "syncrefresh"
./src/osd/osdepend.h:   bool sync_refresh() const { return bool_value(OSDOPTION_SYNCREFRESH); }


Is there still need to move it to /src/emu/emuopts ?
Hope this makes sense - Though I'm no expert - I may be wrong in my understanding of things.





Also as the scope has changed, I don't think you need these two sections.

One:
diff -Nru ./src_0.154_hi/osd/windows/video.c ./src/osd/windows/video.c
--- ./src_0.154_hi/osd/windows/video.c   2014-07-29 10:29:17.000000000 +0200
+++ ./src/osd/windows/video.c   2014-07-29 10:29:57.000000000 +0200
@@ -410,7 +419,7 @@
       video_config.mode = VIDEO_MODE_GDI;
    }
    video_config.waitvsync     = options.wait_vsync();
-   video_config.syncrefresh   = options.sync_refresh();
+   video_config.syncrefresh   = machine.options().sync_refresh();
    video_config.triplebuf     = options.triple_buffer();
    video_config.switchres     = options.switch_res();

Two:
diff -Nru ./src_0.154_hi/osd/sdl/video.c ./src/osd/sdl/video.c
--- ./src_0.154_hi/osd/sdl/video.c   2014-07-29 10:29:17.000000000 +0200
+++ ./src/osd/sdl/video.c   2014-07-29 12:01:47.000000000 +0200
@@ -692,12 +703,7 @@
    video_config.centerh       = options.centerh();
    video_config.centerv       = options.centerv();
    video_config.waitvsync     = options.wait_vsync();
-   video_config.syncrefresh   = options.sync_refresh();
-   if (!video_config.waitvsync && video_config.syncrefresh)
-   {
-      osd_printf_warning("-syncrefresh specified without -waitsync. Reverting to -nosyncrefresh\n");
-      video_config.syncrefresh = 0;
-   }
+   video_config.syncrefresh   = machine.options().sync_refresh();
 
    #if (USE_OPENGL || SDLMAME_SDL2)
       video_config.filter        = options.filter();
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 03, 2014, 01:26:46 pm
Hi Calamity, Just looking at your new GM 0.154 diff.
Specifically relating to the change in scope to OPTION_SYNCREFRESH

Hi ozfalcon,

This patch has been there from the beginning and there's a very good reason to it. First just to clarify, the recent change in MAME has moved some options to the OSD_OPTION scope, but my understanding is that this has only been done to make them general for all osd implementations instead of having them defined in each of these implementations, which is a good thing. Anyway this doesn't change the fact that -syncrefresh is still defined in the osd side. And this is exactly the problem. IMHO, from a design point of view, -syncrefresh should have always been defined as a core option, just like -throttle is. This is necessary so that -syncrefresh can be accesed from the throttling function in emu\video.c, and so it can be decided whether the cpu clock should be used for waiting or we should just rely on the wait for vsync implementation instead. This is how things were indeed before v0.114, we're just restoring the previous functionality, just like it is still documented as working in the official docs. Then the actual code for vsync is implemented by the different osd modules and controlled by the -waitvsync option (had you ever wondered why there are two options -syncrefresh and -waitvsync for mostly the same thing?).
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on August 03, 2014, 06:14:20 pm
Hi Calamity, Just looking at your new GM 0.154 diff.
Specifically relating to the change in scope to OPTION_SYNCREFRESH

Hi ozfalcon,

This patch has been there from the beginning and there's a very good reason to it. First just to clarify, the recent change in MAME has moved some options to the OSD_OPTION scope, but my understanding is that this has only been done to make them general for all osd implementations instead of having them defined in each of these implementations, which is a good thing. Anyway this doesn't change the fact that -syncrefresh is still defined in the osd side. And this is exactly the problem. IMHO, from a design point of view, -syncrefresh should have always been defined as a core option, just like -throttle is. This is necessary so that -syncrefresh can be accesed from the throttling function in emu\video.c, and so it can be decided whether the cpu clock should be used for waiting or we should just rely on the wait for vsync implementation instead. This is how things were indeed before v0.114, we're just restoring the previous functionality, just like it is still documented as working in the official docs. Then the actual code for vsync is implemented by the different osd modules and controlled by the -waitvsync option (had you ever wondered why there are two options -syncrefresh and -waitvsync for mostly the same thing?).

Ok, I think I understand.
Putting -syncrefresh in /emu/emuopts makes it a core option like throttle (So it can be accessed by /emu/video.c)

The 154 patch removes one osdepend entry:
diff -Nru ./src_0.154_hi/osd/osdepend.h ./src/osd/osdepend.h
--- ./src_0.154_hi/osd/osdepend.h   2014-07-29 10:29:17.000000000 +0200
+++ ./src/osd/osdepend.h   2014-07-29 10:29:57.000000000 +0200
@@ -85,7 +85,6 @@
    bool keep_aspect() const { return bool_value(OSDOPTION_KEEPASPECT); }
    bool uneven_stretch() const { return bool_value(OSDOPTION_UNEVENSTRETCH); }
    bool wait_vsync() const { return bool_value(OSDOPTION_WAITVSYNC); }
-   bool sync_refresh() const { return bool_value(OSDOPTION_SYNCREFRESH); }
 
    // per-window options
    const char *screen() const { return value(OSDOPTION_SCREEN); }


I'm still unclear about these entries.
./src/osd/osdepend.c:   { OSDOPTION_SYNCREFRESH ";srf",           "0",        OPTION_BOOLEAN,    "enable using the start of VBLANK for throttling instead of the game time" },
./src/osd/osdepend.h:#define OSDOPTION_SYNCREFRESH           "syncrefresh"


I'll have to take another look and understand how it works.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on August 03, 2014, 08:52:10 pm
Calamity, This section has me confused. Can you explain why this line uses OSDOPTION_SYNCREFRESH ?
ie. What is the difference between OPTION_SYNCREFRESH and OSDOPTION_SYNCREFRESH here?

Line:
+   set_option_osd(machine, OSDOPTION_SYNCREFRESH, !options.triple_buffer());

From:
diff -Nru ./src_0.154_hi/osd/windows/switchres.c ./src/osd/windows/switchres.c
--- ./src_0.154_hi/osd/windows/switchres.c   1970-01-01 01:00:00.000000000 +0100
+++ ./src/osd/windows/switchres.c   2014-07-29 10:29:57.000000000 +0200
.
+   // Vertical synchronization management
+   // Unless -syncrefresh is forced, we only enable v-sync if the refresh difference is below the value specified by -sync_refresh_tolerance.
+   // Otherwise -triplebuffer is used, provided we run multithreaded
+   // Forcing -triplebuffer will override the -syncrefresh setting
+   bool triple_buffer_effective = options.triple_buffer() && options.multithreading() && !(options.sync_refresh() && machine.options().priority(WINOPTION_TRIPLEBUFFER) < machine.options().priority(OPTION_SYNCREFRESH));
+   set_option_osd(machine, WINOPTION_TRIPLEBUFFER, triple_buffer_effective || (!options.sync_refresh() && !black_frame_insertion && ((best_mode->result.weight & R_V_FREQ_OFF) || best_mode->result.v_scale > 1)));
+   set_option_osd(machine, OSDOPTION_SYNCREFRESH, !options.triple_buffer());
+   set_option_osd(machine, OSDOPTION_WAITVSYNC, options.sync_refresh());



Extra info:
The SDL switchres seems to use only OPTION_SYNCREFRESH

diff -Nru ./src_0.154_hi/osd/sdl/switchres.c ./src/osd/sdl/switchres.c
--- ./src_0.154_hi/osd/sdl/switchres.c   1970-01-01 01:00:00.000000000 +0100
+++ ./src/osd/sdl/switchres.c   2014-07-29 10:29:57.000000000 +0200
.
+   // Disable -syncrefresh if our vfreq is scaled or too off
+   set_option_osd(machine, OPTION_SYNCREFRESH, !(best_mode->result.weight & R_V_FREQ_OFF || best_mode->result.v_scale > 1) || black_frame_insertion);
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 04, 2014, 06:02:05 am
Calamity, This section has me confused. Can you explain why this line uses OSDOPTION_SYNCREFRESH ?
ie. What is the difference between OPTION_SYNCREFRESH and OSDOPTION_SYNCREFRESH here?

Oops, that's obviously an error, I missed that one, thanks for finding it. It should be OPTION_SYNCREFRESH, according to the logic explained above. It has always been right in the previous patches, but because MAME has changed some options in this version my patch was messed up, I'll fix this in a while.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on August 04, 2014, 06:56:34 am
Calamity, This section has me confused. Can you explain why this line uses OSDOPTION_SYNCREFRESH ?
ie. What is the difference between OPTION_SYNCREFRESH and OSDOPTION_SYNCREFRESH here?

Oops, that's obviously an error, I missed that one, thanks for finding it. It should be OPTION_SYNCREFRESH, according to the logic explained above. It has always been right in the previous patches, but because MAME has changed some options in this version my patch was messed up, I'll fix this in a while.

Hi Calamity, Thanks for the info - I think I understand how things are organized - Sorry for all the questions  ;)

<removed unnecessary text>
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on August 04, 2014, 06:52:11 pm
Calamity, One last question for the moment.

Quote
Anyway this doesn't change the fact that -syncrefresh is still defined in the osd side. And this is exactly the problem. IMHO, from a design point of view, -syncrefresh should have always been defined as a core option, just like -throttle is.
This is necessary so that -syncrefresh can be accesed from the throttling function in emu\video.c
<UPDATED>
I have had the Flu for the last week and not been thinking clearly.

What in video.c requires the -syncrefresh option to be in /emu/emuopts
I ask because I tried a compile with -syncrefresh option left in /osd/osdepend and it still worked (/emu/video.c that is).

<UPDATE>
A quick look mentions this in /emu/emu.h
Code: [Select]
// define machine_config_constructor here due to circular dependency
// between devices and the machine config
class machine_config;
typedef device_t * (*machine_config_constructor)(machine_config &config, device_t *owner, device_t *device);

And emu.h is included in /osd/osdepend.c

I now have an IDE setup, I'll need to brush up on my C/C++ to understand how everything is referenced.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 08, 2014, 11:43:13 am
Hi ozfalcon,

Sorry for my late answer. Last couple of weeks have been crazy finishing stuff in order to get some holiday.

If you have a look at video.c you have this in the video_manager constructor:

m_syncrefresh(machine.options().sync_refresh())

The syncrefresh option is taken from there, then it's used internally by the class as m_syncrefresh, specifically in update_throttle is used to determine whether the function should exit immediately or not.

I'm going to fix the patches today, hopefully they'll be ready in a while.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 08, 2014, 02:02:26 pm
I've updated the diff and binaries for v0.154 - Switchres 0.015b, fixing the -syncrefresh error.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: cools on August 08, 2014, 02:13:26 pm
AUR updated. https://aur.archlinux.org/packages/?SeB=m&K=cools
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 08, 2014, 02:15:14 pm
AUR updated. https://aur.archlinux.org/packages/?SeB=m&K=cools

That was fast!  ;)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on August 09, 2014, 11:10:00 am
Hi ozfalcon,

Sorry for my late answer. Last couple of weeks have been crazy finishing stuff in order to get some holiday.

If you have a look at video.c you have this in the video_manager constructor:

m_syncrefresh(machine.options().sync_refresh())

The syncrefresh option is taken from there, then it's used internally by the class as m_syncrefresh, specifically in update_throttle is used to determine whether the function should exit immediately or not.

I'm going to fix the patches today, hopefully they'll be ready in a while.

Thanks for the reply, Your holiday is priority - Your a busy man and deserve the relaxation time!

----> m_syncrefresh(machine.options().sync_refresh())
Yes - I thought that was all that was used.
The code in video.c seems fairly straight forward.

I made a small diagnostic patch, and you can see the results below.
The patch simply shows the value of m_syncrefresh from within /emu/video.c
and is inserted in the update_throttle section (Hence the use of throttle in the test).

The patch leaves the sync_refresh option in /osd/osdepend.c
While it does work, I am still to learn how the reference to sync_refresh is available in /emu/video.c

Code: [Select]
diff -Nru old/emu/video.c src/emu/video.c
--- old/emu/video.c 2014-07-22 08:14:56.000000000 +1000
+++ src/emu/video.c 2014-08-09 22:50:15.042927000 +1000
@@ -86,6 +86,7 @@
  m_overall_valid_counter(0),
  m_throttled(machine.options().throttle()),
  m_throttle_rate(1.0f),
+ m_syncrefresh(machine.options().sync_refresh()),
  m_fastforward(false),
  m_seconds_to_run(machine.options().seconds_to_run()),
  m_auto_frameskip(machine.options().auto_frameskip()),
@@ -726,6 +727,9 @@
  3,4,4,5,4,5,5,6, 4,5,5,6,5,6,6,7, 4,5,5,6,5,6,6,7, 5,6,6,7,6,7,7,8
  };
 
+ // if we're only syncing to the refresh, bail now
+ osd_printf_verbose("(/emu/video.c/update_throttle) m_syncrefresh = %i \n", m_syncrefresh );
+
  // outer scope so we can break out in case of a resync
  while (1)
  {
diff -Nru old/emu/video.h src/emu/video.h
--- old/emu/video.h 2014-07-22 08:21:56.000000000 +1000
+++ src/emu/video.h 2014-08-09 22:31:41.231600000 +1000
@@ -145,6 +145,7 @@
  // configuration
  bool                m_throttled;                // flag: TRUE if we're currently throttled
  float               m_throttle_rate;            // target rate for throttling
+ bool                m_syncrefresh;              // flag: TRUE if we're currently refresh-synced
  bool                m_fastforward;              // flag: TRUE if we're currently fast-forwarding
  UINT32              m_seconds_to_run;           // number of seconds to run before quitting
  bool                m_auto_frameskip;           // flag: TRUE if we're automatically frameskipping
(The patch is really just to see the code inserted, Not actually to be compiled)


RESULTS
Quote
$> ./mame xybots -verbose -throttle -nosyncrefresh
...
(/emu/video.c/update_throttle) m_syncrefresh = 0
Average speed: 100.00% (8 seconds)
Quote
$> ./mame xybots -verbose -throttle -syncrefresh
...
(/emu/video.c/update_throttle) m_syncrefresh = 1
Average speed: 100.00% (6 seconds)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on August 14, 2014, 10:39:15 am
Hi ozfalcon,

Thanks for the test, it's interesting. If the new osd options are accesible from the core side then there's no need to move them around anymore. This will simplify the patch. I'll keep this in mind when doing the next version of the patch.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: lettuce on August 17, 2014, 08:05:48 am
AUR updated. https://aur.archlinux.org/packages/?SeB=m&K=cools


Whats AUR?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: cools on August 17, 2014, 01:00:02 pm
http://lmgtfy.com/?q=what%27s+archlinux+aur%3F&l=1 (http://lmgtfy.com/?q=what%27s+archlinux+aur%3F&l=1)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Ansa89 on August 30, 2014, 04:24:11 am
Got some problems with groovymame 0.154, more info here (http://forum.arcadecontrols.com/index.php/topic,113382.msg1460278.html#msg1460278).
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on September 03, 2014, 03:46:10 am
Hi,

Just a quick message to say that I'm back and will be answering your posts soon.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Ansa89 on September 03, 2014, 03:50:15 am
@Calamity: you are my savior :) .
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: NightSprinter on September 03, 2014, 08:14:48 pm
Whats AUR?

It's short for the "Arch User Repository".  Basically a place where users can upload and maintain their own customized branches of packages for Arch Linux.  Cools has a repository there that has the custom builds of the kernel, along with groovymame/ume, attract-mode, switchres, sdl1.2, and the patched version of the X drivers for ATI and nVidia cards (open-source version).
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Lenin Stimpy on September 08, 2014, 09:59:48 pm
I hope its okay to put a second post on this issue but I've got this version of GroovyUME running with Soft15Khz in 'read only' mode here -

http://forum.arcadecontrols.com/index.php/topic,141288.0.html (http://forum.arcadecontrols.com/index.php/topic,141288.0.html)

I'm suspicious because it all seems to easy compared to the experiences of others :)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Dungeonsdeep on September 19, 2014, 12:24:55 pm
Sorry to be a noob, but will this be compatible with my 0.152b romset?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Sledge on September 20, 2014, 05:29:09 am
Sorry to be a noob, but will this be compatible with my 0.152b romset?
Mostly
But to be COMPLETELY compatible, you'll need to update
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: blontic on September 29, 2014, 02:07:30 am
AUR updated. https://aur.archlinux.org/packages/?SeB=m&K=cools

This looks great. Nice to see the updated files. Is there an option there to download a complete image with everything in it or are you just hosting all the updates in one place?

Or am I blind? :)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: cools on September 29, 2014, 04:08:45 am
You need to compile & install them yourself by grabbing the packages from AUR.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Elaphe on September 29, 2014, 08:15:49 am
Calamity, I've successfully applied the hiscore and groovymame patches to the 0.154 source. I've created mame.ini and I've configured it. I must say I'm testing this in a LCD monitor.  I know it's not the perfect environment for GroovyMAME, but I'm interested in some features such as soundsync, etc. The problem I have is that I have not managed to get bilinear filtering by no means. I've tried many things with mame.ini. I've set the monitor line as lcd and I'm using d3d. With the standard MAME, there's no problem. What could I do?

Since I'm not interested in the modelines stuff, etc. could you please release a diff with the soundsync features alone? Or does the recent MAME releases already sync audio and video when the emulated game at 5? hz is forced to 60hz with syncrefresh?

I also like the idea of reduced input latency. Is it the same patch as this one?: http://www.systempixel.fr/extra/nobuffer/ (http://www.systempixel.fr/extra/nobuffer/)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: ozfalcon on October 17, 2014, 06:18:53 am
Calamity, I've successfully applied the hiscore and groovymame patches to the 0.154 source. I've created mame.ini and I've configured it. I must say I'm testing this in a LCD monitor.  I know it's not the perfect environment for GroovyMAME, but I'm interested in some features such as soundsync, etc. The problem I have is that I have not managed to get bilinear filtering by no means. I've tried many things with mame.ini. I've set the monitor line as lcd and I'm using d3d. With the standard MAME, there's no problem. What could I do?

Since I'm not interested in the modelines stuff, etc. could you please release a diff with the soundsync features alone? Or does the recent MAME releases already sync audio and video when the emulated game at 5? hz is forced to 60hz with syncrefresh?

I also like the idea of reduced input latency. Is it the same patch as this one?: http://www.systempixel.fr/extra/nobuffer/ (http://www.systempixel.fr/extra/nobuffer/)

You can find the patch here: http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=42 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=42)

The explanation of how Syncrefresh & DirectDraw are broken was very helpful.

Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: lettuce on October 19, 2014, 08:07:36 am
So what is the best way to play GroovyMame on a Arcade Monitor, Windows or Linux?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on October 19, 2014, 05:12:27 pm
Here's updated diff for v0.155, in case someone wants to roll his own binary. Bear in mind this is NOT tested. During this week (hopefully) I'll update the patch to include some pending fixes.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: yakk11 on October 22, 2014, 01:30:00 pm
Every time I try to compile groovymame .155, it crashes.  Can anybody share their build?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Andypc on October 22, 2014, 05:37:52 pm
I had a few issues, but have now compiled Groovymame .0155 and  it's working fine. You need to apply the "hi_155.diff" before the groovymame diff. You now need to run the three batch files in the mingw directory, before you compile. "setenv.bat", "setup-python.bat" and "setup-qt.bat"
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: yakk11 on October 22, 2014, 07:55:26 pm
Thanks Andy, but I have already tried that.  The error I am getting is:

Compiling src/emu/cpu/g65816/g65816o4.c...
Generating H8-300 source file...
process_begin: CreateProcess(NULL, python src/emu/cpu/h8/h8make.py src/emu/cpu/h8/h8.lst o obj/windows64/emu/cpu/h8/h8.inc, ...) failed.
src/emu/cpu/cpu.mak:650: recipe for target 'obj/windows64/emu/cpu/h8/h8.inc' failed
make (e=2): The system cannot find the file specified.
make: *** [obj/windows64/emu/cpu/h8/h8.inc] Error 2
make: *** Waiting for unfinished jobs....
Finished!
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Andypc on October 23, 2014, 03:45:17 am
Yes, that is the error I was getting when I hadn't run the "setup - python. bat". Make sure you open the "Command" box as administrator and run the .bat files from within the command box after setting the paths
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: blontic on October 25, 2014, 03:21:48 am
I got it working.

Are you using groovy with win7 by any chance? I can't get my Hyperspin working and was wondering what you did to fix it? thanks
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: lettuce on October 25, 2014, 04:53:50 am
Here's updated diff for v0.155, in case someone wants to roll his own binary. Bear in mind this is NOT tested. During this week (hopefully) I'll update the patch to include some pending fixes.

Has GM 0.155 got officially complied yet??
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on October 25, 2014, 05:32:52 am
Has GM 0.155 got officially complied yet??

No.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Sledge on October 25, 2014, 10:15:34 pm
Has GM 0.155 got officially complied yet??

No.
you MUST COMPLY !! :)

however if you want to compile it you can do that too :) :)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: yatzr on October 26, 2014, 10:08:31 pm
Here's updated diff for v0.155, in case someone wants to roll his own binary. Bear in mind this is NOT tested. During this week (hopefully) I'll update the patch to include some pending fixes.
Any chance that includes a fix for the in-game menu not working when in vertical mode?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on October 27, 2014, 06:20:20 am
Any chance that includes a fix for the in-game menu not working when in vertical mode?

The reason for the delay on releasing this version is that I need some time to fix the existing issues (it will be Switchres 15c).
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: yatzr on October 27, 2014, 09:14:29 am
Any chance that includes a fix for the in-game menu not working when in vertical mode?

The reason for the delay on releasing this version is that I need some time to fix the existing issues (it will be Switchres 15c).
No worries.  I ask about that particular issue because it's currently my biggest pain point in my latest setup.  I'm getting ready to either try to fix it myself (which may be a really dumb idea  :lol) or try to find a solid workaround.  However, if it's going to be fixed in your next version, then I'll just wait.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: yatzr on October 28, 2014, 08:58:09 am
Any chance that includes a fix for the in-game menu not working when in vertical mode?

The reason for the delay on releasing this version is that I need some time to fix the existing issues (it will be Switchres 15c).
No worries.  I ask about that particular issue because it's currently my biggest pain point in my latest setup.  I'm getting ready to either try to fix it myself (which may be a really dumb idea  :lol) or try to find a solid workaround.  However, if it's going to be fixed in your next version, then I'll just wait.
I spent a little time last night messing with the code and traced this bug down to ui_aspect() in emu/render.c.  It was returning a value of 85 for me (which makes sense with the super resolution) and that was messing up all the calculations for how big to draw the box and characters.  I just commented out the following lines to make it fallback to clamping the aspect ratio to 1.5, and now it works perfect for me.  It's probably not the proper fix you'd want, but it works for me.

Code: [Select]
// if we have a valid pixel aspect, apply that and return
// if (m_ui_target->pixel_aspect() != 0.0f)
// return aspect / m_ui_target->pixel_aspect();

The issue was also causing some things like save/load state to not work.  Mame would just freeze up when trying to display the "Select slot to save to" message.  Those also work fine now with this change.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on October 28, 2014, 05:31:15 pm
Hi yatzr,

Thanks for sharing this. The bug is fixed in the build I'm working on at the moment, fortunately it is not necessary to hack the pixel aspect once the "cleanstretch 2" behaviour is properly implemented.

There're still some things I need to fix before releasing the new patch however.  I'm adding support for rotated desktops and it's proving to be a pain. Hopefully will be ready in a few days, please be patient.

Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: cools on October 29, 2014, 02:36:29 am
My neck cheers.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: premuto on October 29, 2014, 07:45:27 am
i have a polo 2  25"
in archive.ini what type of monitor write?

polo o generic_15?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: sean_sk on October 30, 2014, 09:08:44 am
I'm having a little difficulty getting the "ps_timing" option working in GM 0.154.

Up until now I had created and saved a custom profile for 352x256 within Powerstrip to solve refresh rate issues with Phoenix. Because I play a few games at that same resolution but at different refresh rates I would much rather user the Powerstrip feature in GM so I can create a unique mode within each games ini file.

I have created one for Phoenix but whenever I run Phoenix I get an error from GM: "SwitchRes: could not find a video mode that meets your specs." Powerstrip is also running in the background, but I should note that I deleted 352x256 profile from Powerstrip itself to see if the "ps_timing" settings in the ini file would have an effect. I followed the instructions in the first post but I'm sure I'm probably not doing it right, so some guidance would be wonderful. :)

I've included a log, my ini's as well as the exported settings from Powerstrip in a text file.

Thanks for that.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on November 01, 2014, 09:39:35 am
I'm having a little difficulty getting the "ps_timing" option working in GM 0.154.

Hi sean_skroht,

Unfortunately the logs in version 154 are broken so the information they show is limited. Please wait for the new version and test then. If it keeps failing at least the logs will be more informative.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: sean_sk on November 03, 2014, 02:29:19 am
Hi sean_skroht,

Unfortunately the logs in version 154 are broken so the information they show is limited. Please wait for the new version and test then. If it keeps failing at least the logs will be more informative.

No problems. Will do.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: NightSprinter on November 03, 2014, 10:43:34 pm
Calamity: I have GM working with 240p or equivalent on my linux box.  I am curious as to how to deal with interlaced resolutions (games like Popeye or Tekken 3), or with 480p or higher.  I can post my CRT_specs0 line and post a pic or two if need-be.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on November 04, 2014, 08:00:18 am
Calamity: I have GM working with 240p or equivalent on my linux box.  I am curious as to how to deal with interlaced resolutions (games like Popeye or Tekken 3), or with 480p or higher.  I can post my CRT_specs0 line and post a pic or two if need-be.

Open a thread or reuse one of your existing ones so I can see what your setup was (monitor, etc.). Then post a picture there, but much better if you post logs too. Interlaced resolutions are managed automatically by GM. However, for games like Popeye that were originally interlaced, it will try to promote them to progressive if it has the chance (i.e. your crt_range allows it).
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: lettuce on November 08, 2014, 01:36:28 pm
Any release date for 0.155??
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on November 08, 2014, 01:42:29 pm
Any release date for 0.155??

Still fighting with the Linux side...
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Ansa89 on November 09, 2014, 05:26:45 am
Still fighting with the Linux side...
What's the problem? SDL2?
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on November 09, 2014, 10:03:41 am
What's the problem? SDL2?

Well the problem is I decided to implement support for rotating desktops and this requires osd specific code (ddraw, d3d, sdl) and tests for each of the three possible scaling methods (cleanstretch 0, 1, 2). Ddraw and d3d are done. But porting this to Linux has coincided with the move to SDL2 and things are messed up now. Vertical synchronization is totally flawed in SDL2 to begin with. The way it's implemented in mainline MAME makes games run at 50 % with some cards and at 100% with others. Modifying the swap interval from 2 to 1, which is what one should do according to SDL docs, and forcing glFinish, works fine in most situations, but in some others runs at 200%. GM needs a fully deterministic vertical synchronization, which just seems impossible to achieve with SDL2. By now I have resorted to completely bypassing SDL2 and using drm for doing vsync, which works perfectly. The second issue with SDL2 is it is designed to not allowing switching video modes while in fullscreen. Hopefully we can find a workaround for this too without having to rely on a pathed SDL2 library.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Ansa89 on November 09, 2014, 10:09:50 am
Sounds very messy and difficult.
Hope you will find a way to fix all these issues.
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: cools on November 09, 2014, 10:24:01 am
So SDL2 sucks more than SDL1 and we're back to a non portable Linux specific OSD? ;)
Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Calamity on November 09, 2014, 01:00:41 pm
So SDL2 sucks more than SDL1 and we're back to a non portable Linux specific OSD? ;)

Well to be honest I only tested SDL2 for Linux, and the functionality I mentioned is definitely broken (not only for me (http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Board=mamechat&Number=331867&Forum=All_Forums&Words=Dullaron&Match=Username&Searchpage=2&Limit=25&Old=allposts&Main=331863&Search=true#Post331867)). I guess the problem is rather with the underlying OpenGL and the way it schedules the buffer swaps. We always wanted to have asynchronous flipping (what we didn't have with DirectX fake triple buffering), but not at the price of loosing the ability to be to be synchronous when required.

Title: Re: GroovyMAME/GroovyUME 0.154 - SwitchRes v0.015b
Post by: Sledge on November 10, 2014, 03:34:28 am
Any chance you can release the windows version? Then we can start big reporting etc on that one first :)
Who cares about all those Linux elitists any way ;)
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Calamity on November 13, 2014, 01:57:52 pm
GroovyMAME/UME v0.155 - Switchres v0.1015c released.

- 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.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: krick on November 13, 2014, 02:49:22 pm
GroovyMAME/UME v0.155 - Switchres v0.1015c released.

- 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).


Is this a general recommendation for all GroovyMAME users to move to "super" resolutions going forward?  Even those of us using XP x64?
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: cools on November 13, 2014, 02:57:05 pm
Magic resolutions in XP are only useful for Hyperspin users. Hyperspin on a rotated desktop isn't pretty...
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Calamity on November 14, 2014, 04:22:14 am
Is this a general recommendation for all GroovyMAME users to move to "super" resolutions going forward?  Even those of us using XP x64?

While you can keep your current setup if it's working fine for you and GM will support "magic" resolutions as long as possible, I see objective benefits in using "super" over "magic" resolutions, like perfect horizontal centering between resolutions.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: sean_sk on November 14, 2014, 07:59:50 am
Hi Calamity,

Thank you very much for this release!!

I mentioned in my last post in this thread that I was getting the error message: "SwitchRes: could not find a video mode that meets your specs" when trying the ps_timing feature.
Well I managed to get it to work and I wanted to ask you a couple of questions about it. I've included a log showing the error as well as the ini settings I'm using.

By default I use the "arcade_15" monitor preset. In order for phoenix to run smoothly it needs to run at 16.784 kHz horizontal and 61.034 Hz vertical. I therefore exported those settings from powerstrip into phoenix.ini.

I discovered that I had to enter a custom crt_range in phoenix.ini. I used:
crt_range0                15625-16800, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576

Because Phoenix is running at horizontal frequency 16.784 kHz, I thought a limit of 16800 would be fine but I had to increase it to a minimum of 16968 for it to actually work. So therefore I was just wondering why I had to increase it so much to get it to work? The game still ran at 16784.

I have a couple of games that run at 352x256 but with different timings. I noticed that the last ps_timing setting, that happens to be used, overwrites the default profile for 352x256 in Powerstrip. Everytime a different timing is used for that same resolution it changes the default profile that I created in Powerstrip (for another purpose). I was hoping not to have this happen. Is there a way to stop that from happening?

As always, thanks for your help.


EDIT: I noticed a commenting mistake i made in phoenix.ini.txt. I meant to say that I had to change "horizontal" frequency range, not vertical.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Calamity on November 14, 2014, 08:30:12 am
I was hoping not to have this happen. Is there a way to stop that from happening?

I'd say it is a rounding problem. In your ps_timing string, you have an H-total that is not 8-multiple (450).

7553 * 1000 / 450 = 16784 kHz

GM internally converts all horizontal  values to 8-multiples. In your case 450 would be rounded to 448.

7553 * 1000 / 448 = 16859 kHz

If you take care to use 8-multiples in PS this probably won't happen. It will produce more accurate results too because the driver also rounds everything to 8-multiples internally.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: sean_sk on November 14, 2014, 08:35:34 am
Thanks mate. I'll have a look. :)

UPDATE: H-Total of 450 is AVGA default. I did change it to 448 but it didn't do much except increase the reported h-frequency to 16859 (as you mentioned) from 16784 originally reported by switchres. Crt_range in phoenix.ini had to stay the same.

The concern I still have is that the ps_timing string overwrites the default profile I have created for the resolution in Powerstrip. The default profile I created simply centers the screen and adds lines to the backporch to eliminate line bunching at the top, but I have kept timings at default. This is so I can use that res with something other than GM.

 If I run a game that changes those timings, then the new timings overwrite the default timings permanently. Even if I restart Powerstrip and select 352x256 in quickres, the new timings still apply. Is there any way to stop that or is it something I have to deal with because of the way Powerstrip works?
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Calamity on November 14, 2014, 11:25:58 am
UPDATE: H-Total of 450 is AVGA default. I did change it to 448 but it didn't do much except increase the reported h-frequency to 16859 (as you mentioned) from 16784 originally reported by switchres. Crt_range in phoenix.ini had to stay the same.

Yeah but that's the right value, the previous one was bogus.

Quote
Is there any way to stop that or is it something I have to deal with because of the way Powerstrip works?

Unfortunately once we apply the new timings they stay, this is part of how Powerstrip works. In order to restore your previous values we should manage to read them first, and unfortunately the only way to do this is to actually set the mode, then read the values, store them, and finally set the new ones. Then on exit we should restore the original mode, but again the only way to do this is to actually set the mode. So you would probably have a lot of flashing each time you enter/exit a game. If you see the logs we actually restore the desktop default settings on exit, but this is because we set it to stay.

One possibility would be to create a batch file to launch your other emulators and use that .bat to set your default timings with PS before actually launching the emulator. I know the user rCadeGaming was doing this regularly, you could ask him about it.

BTW it makes me happy that someone uses the PS feature, it was challenge to integrate it at the time.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: sean_sk on November 14, 2014, 06:16:27 pm
BTW it makes me happy that someone uses the PS feature, it was challenge to integrate it at the time.

And it's an awesome feature as well. Thank you for going to the trouble of putting it in there and answering my questions about it. :D I'm really enjoying using it. Your comments about the batch files has given me some ideas.  Thanks mate!
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: krick on November 16, 2014, 03:07:23 am
Is this a general recommendation for all GroovyMAME users to move to "super" resolutions going forward?  Even those of us using XP x64?

While you can keep your current setup if it's working fine for you and GM will support "magic" resolutions as long as possible, I see objective benefits in using "super" over "magic" resolutions, like perfect horizontal centering between resolutions.

For some reason, I was under the impression that super resolutions didn't work in XP.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Calamity on November 16, 2014, 05:01:28 am
For some reason, I was under the impression that super resolutions didn't work in XP.

It's "magic" resolutions what doesn't work in W7, and the reason "super" resolutions had to be implemented to replace those in the first place.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: adder on November 16, 2014, 05:23:08 am
Hi Calamity can i ask a paranoid question about super resolutions  :)
because of the super wide horizontal resolution in use, do you think it would have any affect on lag/performance in any way, or is there really no extra overheads here and it's not really any different from using one of the other groovy options?
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Calamity on November 16, 2014, 05:31:26 am
Hi Calamity can i ask a paranoid question about super resolutions  :)
because of the super wide horizontal resolution in use, do you think it would have any affect on lag/performance in any way, or is there really no extra overheads here and it's not really any different from using one of the other groovy options?

To be honest I have only tested "super" resolutions with HD 4xxx cards, and I could see no impact at all. Provided you have a semi-decent video card, the scaling should involve zero pain.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: twistedsymphony on November 16, 2014, 11:09:05 am
Maybe this was mentioned somewhere in the thread but I couldn't find it in the top post. I'd like to use the Groovy enhancements with MESS but you don't offer a mess compile only UME, however I can't seem to find an official release on mamedev.org for UME, only MESS.

Where should I get the official UME release to use as a base with the GroovyUME release?
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: sean_sk on November 16, 2014, 02:31:24 pm
I think UME can be found on Haze's site here: http://mamedev.emulab.it/haze/ (http://mamedev.emulab.it/haze/)

A few posts down is the download for UME 0.155 which may also include the source. I haven't checked it myself yet.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: krick on November 16, 2014, 03:31:53 pm
Maybe this was mentioned somewhere in the thread but I couldn't find it in the top post. I'd like to use the Groovy enhancements with MESS but you don't offer a mess compile only UME, however I can't seem to find an official release on mamedev.org for UME, only MESS.

Where should I get the official UME release to use as a base with the GroovyUME release?

Unless I'm mistaken, you just download the combined MAME/MESS source package from mamedev.org and build using:   make TARGET=ume
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: twistedsymphony on November 16, 2014, 08:08:02 pm
Maybe this was mentioned somewhere in the thread but I couldn't find it in the top post. I'd like to use the Groovy enhancements with MESS but you don't offer a mess compile only UME, however I can't seem to find an official release on mamedev.org for UME, only MESS.

Where should I get the official UME release to use as a base with the GroovyUME release?

Unless I'm mistaken, you just download the combined MAME/MESS source package from mamedev.org and build using:   make TARGET=ume
I think I'm being misunderstood. I'm not looking for the source code. I'm looking for the official binary distribution, specifically all of the files OTHER than the .exe
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: krick on November 16, 2014, 08:52:26 pm
I think I'm being misunderstood. I'm not looking for the source code. I'm looking for the official binary distribution, specifically all of the files OTHER than the .exe

UME is just MAME and MESS combined.  So if you're looking for "other files" they have to be either in the MAME distribution or the MESS binary distribution packages on the mamedev site...  http://mamedev.org/release.html (http://mamedev.org/release.html)

If there are no tools in those packages, then you may need to compile your own.  I think "make all" will build tools and the emulators.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: twistedsymphony on November 25, 2014, 08:57:55 am
GroovyMAME/UME v0.155 - Switchres v0.1015c released.

- 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

AWESOME! Thank you for adding this.  :applaud:

I'm assuming that GroovyMAME doesn't include the patch to add back support for cave shooters. That's fine but is there any known issues when compiling using both the GM diff and the cave shooter diff? I'd assume not but I'd figured I'd ask.

EDIT: Any problems using Headkaze's compiler with GM?
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: sean_sk on November 25, 2014, 05:31:56 pm
I'm assuming that GroovyMAME doesn't include the patch to add back support for cave shooters. That's fine but is there any known issues when compiling using both the GM diff and the cave shooter diff? I'd assume not but I'd figured I'd ask.

You shouldn't have to compile the Cave diff file into MAME as the Cave games have been supported in vanilla MAME since 0.152.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: twistedsymphony on November 26, 2014, 08:53:48 am
You shouldn't have to compile the Cave diff file into MAME as the Cave games have been supported in vanilla MAME since 0.152.
oh really? I didn't realize they'd been added back in... thanks  :cheers:
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: Calamity on November 27, 2014, 11:06:27 am
GroovyMAME/UME 0.156 is out.

What's new in SwitchRes v0.015d

- Frame_update method slighty reorganized to improve -frame_delay efficiency. Should fix previous issues with analog controls.
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: sean_sk on November 27, 2014, 06:28:36 pm
Whuuu? 0.156 is already out? I only just updated to 0.155. I wasn't expecting the MAME devs to release a new version so soon.
Thanks heaps for that Calamity. :D

EDIT: i just noticed the following on the mamedev website:

"MAME and MESS 0.156 are now available.
Please note that from now on we will create release every last Wednesday in month."

That's interesting! Calamity, you'll have your work cut out for you to keep up. Then again, at least you'll know when the next release is due out and can prepare for it.
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: adder on November 27, 2014, 07:29:29 pm
Quote from: sean_skroht
Calamity, you'll have your work cut out for you to keep up
or he could just skip every other release, so that would mean 6 groovymame's a year.. or skip 2 of 3 releases, so that's 4 groovymame's a year.
we dont want our hero stressed out ;D
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: crispux3 on November 27, 2014, 10:17:27 pm
I'm new to it all, but I concur: Calamity is a hero, and I really appreciate the skills and expertise he brings to the hobby. Seriously, I'm just an end-user and I appreciate all the computer/software engineers out there who can do what I only wish I could do.
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: adder on November 27, 2014, 10:30:30 pm
personally speaking i wouldnt update my mame setup every month, because i do try to play the games frequently, but if updating every month, i think i would end up spending too much time keeping up to date rather than playing anything. also, maybe there wont be a huge amount of changes each month anyway (but dont quote me on that ;D)
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: Ansa89 on November 28, 2014, 04:36:16 am
Doing a simple patch resync (AKA: only fix hunk warnings/errors without implementing new features) in order to let us apply the old patch to newer release, shouldn't that stressful (IMHO).
However I totally agree when you say "If he wants to slow down a bit (4-6 patches per year), it's ok".
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: sean_sk on November 28, 2014, 08:12:34 am
Doing a simple patch resync (AKA: only fix hunk warnings/errors without implementing new features) in order to let us apply the old patch to newer release, shouldn't that stressful (IMHO).

Yeah definitely. That's probably something we could do, thereby taking the load off Calamity. Like jadder said, not everyone is going to want to update every version, but if someone does want to, perhaps because of a fix for a particular rom then at least the option is there.
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: rCadeGaming on November 28, 2014, 08:22:49 am
 :cheers:
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: zebidia on November 28, 2014, 10:01:58 pm
Does anyone have a patched version of GroovyMame/GroovyUME for Linux, and if so, is there a reason it can't be made available for download here?

Thanks.
Title: Re: GroovyMAME/GroovyUME 0.155 - SwitchRes v0.015c
Post by: Sledge on November 29, 2014, 06:14:03 pm
UPDATE: H-Total of 450 is AVGA default. I did change it to 448 but it didn't do much except increase the reported h-frequency to 16859 (as you mentioned) from 16784 originally reported by switchres. Crt_range in phoenix.ini had to stay the same.

Yeah but that's the right value, the previous one was bogus.

Quote
Is there any way to stop that or is it something I have to deal with because of the way Powerstrip works?

BTW it makes me happy that someone uses the PS feature, it was challenge to integrate it at the time.
Is the PS timing feature usable with 'super resolutions' ?
I get a bit of uneven scrolling happening with vertical games, and i'm just wondering whether to do the same thing to get smoother gameplay etc...
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: Ansa89 on December 06, 2014, 06:33:02 am
I have problems downloading patches from first post.
Can someone post them (both "hi_156.txt" and "0156_groovymame_015d.diff") as post-attachment?
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: Calamity on December 06, 2014, 02:48:28 pm
Here are the diffs.

I've also uploaded the Linux binaries to the Google Drive site, for anyone interested.
Title: Re: GroovyMAME/GroovyUME 0.156 - SwitchRes v0.015d
Post by: haynor666 on January 01, 2015, 02:28:29 pm
Any plans for 157? window.c and window.h in sdl was changed much.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on January 01, 2015, 04:20:52 pm
GroovyMAME 0.157 is out.

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.

Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Paradroid on January 02, 2015, 03:02:35 pm
Excellent work! :)

Your updates are coming fast and furious these days...

Much appreciated!
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on January 03, 2015, 01:04:58 pm
Linux binaries uploaded (https://drive.google.com/drive/#folders/0B0NB2HYUHHktSUJiRDRKWWFCV1k/0B5iMjDor3P__aEFpcVNkVW5jbEE/0B5iMjDor3P__WldxX3J6S3FqaDA). Notice you need the Qt libraries installed since SDL MAME depends on them since recent versions. Because of this new binaries won't work in older Groovy Arcade distros.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: cools on January 04, 2015, 05:47:16 am
Ugh.

I'll get the AUR packages done soon, I'm not able to test on a cabinet at the moment.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: lettuce on January 11, 2015, 07:35:15 am
Calamity have just downloaded the latest GM build, can you just refresh my memory of what settings need to be changed from the default mame.ini file when using an LCD screen??, i know change the display type to LCD and LCD Range to 51-61 is there any other settings that need to be changed??

Just that i have gone from an AMD 7979 to an Nvidia GTX 970 and have notice Buggy Boy Jr is displaying in 16:9 not 4:3
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on January 11, 2015, 08:23:45 am
Yes, apart from "monitor lcd" you need to change "aspect 16:9" or whatever aspect your LCD is.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: lettuce on January 11, 2015, 09:07:52 am
Yes, apart from "monitor lcd" you need to change "aspect 16:9" or whatever aspect your LCD is.

Cool. So PowerStrip isnt really need anymore then?

One thing i have noticed and not sure if you know a fix, is say in triple screen game theres an new option now in the i game menu under video that has '3 screen Gapless' option. With HLSL disable then you do indeed get a gapless display but with HLSL enabled (and curvature and pincushion disabled) you get a very slight black line separating the screens. Do you know how to remove this when HLSL is enabled?
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on January 11, 2015, 09:22:34 am
Cool. So PowerStrip isnt really need anymore then?

Powerstrip was never needed. It was a very interesting feature to have, when combined with both a supported card and an LCD capable of outputting custom refresh rates. Powerstrip no longer supports new hardware. If you can put up with LCDs, nowadays it makes more sense to invest on a G-sync or Free-Sync monitor.

Quote
One thing i have noticed and not sure if you know a fix, is say in triple screen game theres an new option now in the i game menu under video that has '3 screen Gapless' option. With HLSL disable then you do indeed get a gapless display but with HLSL enabled (and curvature and pincushion disabled) you get a very slight black line separating the screens. Do you know how to remove this when HLSL is enabled?

No idea, sorry.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: lettuce on January 11, 2015, 12:56:22 pm
Have G-Sync and Free Sync monitors actually been tested with MAME, to they allow for smooth scrolling like on Mortal Kombat's title screen
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: haynor666 on January 19, 2015, 01:46:50 pm
I've just checked latest mame git source and there are lots of changes. Both no nag/highscore and groovymame will require modifications :/
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on January 19, 2015, 04:16:06 pm
I've just checked latest mame git source and there are lots of changes. Both no nag/highscore and groovymame will require modifications :/

Yeah, sure. I've been following it and there are lots of changes in the sdl part. I'm afraid this time it will take me longer than with previous two versions, I'm stuck with work at the moment.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: smsmonkey on January 27, 2015, 11:56:03 am
Is there a known issue with the 0.157 Win x64 binary?  I notice the logs still reference SwitchRes v0.015d.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on January 30, 2015, 05:21:19 pm
Is there a known issue with the 0.157 Win x64 binary?  I notice the logs still reference SwitchRes v0.015d.

Maybe it was compiled before updating the version number in switchres.h. Anyway it is ok despite of that.

With regards to version 0.158: I won't be able to update in a week or two. Please be patient.
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: krick on February 04, 2015, 12:35:20 am
With regards to version 0.158: I won't be able to update in a week or two. Please be patient.

No hurry.  I don't think there were any must-have changes in MAME 0.158 anyway.

In other news, have you looked at the MAME git repo lately?  There appears to be some possibly major changes to the MAME rendering code.

They've added a cross-platform rendering library called BGFX (https://github.com/bkaradzic/bgfx) to the MAME codebase.

I'm don't know what, if anything, this means for the future of GroovyMAME, but I'm sure we'll find out come MAME 0.159


Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: PL1 on February 04, 2015, 12:51:07 am
They've added a cross-platform rendering library called BGFX (https://github.com/bkaradzic/bgfx) to the MAME codebase.
This looks like it could be good.   ;D    :dunno
Quote
23-vectordisplay

Rendering lines as oldschool vectors.

(https://github.com/bkaradzic/bgfx/raw/master/examples/23-vectordisplay/screenshot.png)


Scott
Title: Re: GroovyMAME/GroovyUME 0.157 - SwitchRes v0.015e
Post by: Calamity on February 05, 2015, 10:05:24 am
No hurry.  I don't think there were any must-have changes in MAME 0.158 anyway.

In other news, have you looked at the MAME git repo lately?  There appears to be some possibly major changes to the MAME rendering code.

They've added a cross-platform rendering library called BGFX (https://github.com/bkaradzic/bgfx) to the MAME codebase.

I'm don't know what, if anything, this means for the future of GroovyMAME, but I'm sure we'll find out come MAME 0.159

Yeah Micko has been working on it for a while. GroovyMAME code currently needs to handle the api directly to bypass some of the existing issues. The problem with using wrappers is you no longer can do these things, or it gets more difficult. We will see. I understand MAME devs on this move, although I'd prefer a native DX11 implementation to mess with (I'm cross-platform-skeptic).
Title: Re: GroovyMAME/GroovyUME 0.158 - SwitchRes v0.015f
Post by: Calamity on February 07, 2015, 06:38:40 pm
GroovyMAME v0.158 is out.

What's new in SwitchRes v0.015f

- Fixed bug (http://forum.arcadecontrols.com/index.php/topic,143136.msg1484523.html#msg1484523) 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.
Title: Re: GroovyMAME/GroovyUME 0.158 - SwitchRes v0.015f
Post by: Sledge on February 07, 2015, 09:34:02 pm
Thanks Calamity :)
Title: Re: GroovyMAME/GroovyUME 0.158 - SwitchRes v0.015f
Post by: BubbaMc on February 08, 2015, 12:44:33 am
Thanks!
Title: Re: GroovyMAME/GroovyUME 0.158 - SwitchRes v0.015f
Post by: ReelTechnoFreek on February 09, 2015, 03:17:12 pm
Thanks Calamity, wasn't expecting this so soon
Title: Re: GroovyMAME/GroovyUME 0.158 - SwitchRes v0.015f
Post by: limner on February 14, 2015, 02:33:58 pm
i've mame 0.155 and all the complete romset, chd files and extra

i would not to download everything for version 158 but i need groovymame and crt emuldrive: where i can find these softwares for 0.155 version?
Title: Re: GroovyMAME/GroovyUME 0.158 - SwitchRes v0.015f
Post by: Calamity on February 14, 2015, 03:28:39 pm
i've mame 0.155 and all the complete romset, chd files and extra

i would not to download everything for version 158 but i need groovymame and crt emuldrive: where i can find these softwares for 0.155 version?

Use the link in the first post.
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Calamity on February 27, 2015, 02:18:36 pm
GroovyMAME v0.159 is out.

No new features in this release, all efforts have gone into keeping synchronized with the ongoing changes in the osd code. Testing is still needed, specially for Linux.
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Paradroid on February 27, 2015, 10:24:28 pm
GroovyMAME v0.159 is out.

Woohoo! Thanks! :)
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: lacanian on February 27, 2015, 10:29:55 pm
Hi @Calamity,
 I just installed GroovyArcade.

What do you need tested in Linux that I can do for you?
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Calamity on February 28, 2015, 05:33:15 am
Hi @Calamity,
 I just installed GroovyArcade.

What do you need tested in Linux that I can do for you?

Well actually it's the most recent version 0.159 the one I haven't been able to test yet. No binaries available yet, however.
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: MK on February 28, 2015, 11:44:23 am
Thanks Calamity!

I've read 0.159 windows native build now includes SDLMAME's OpenGL renderer.

Is this also enabled in GroovyMAME?
Any benefit compared to Direct3D?
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Doozer on February 28, 2015, 11:46:30 am
Hi,

I did a fresh compilation of GroovyUME 0.159 - SwitchRes v0.015f on a 64 bit groovvyarcade setup. I see a speed issue (50%) where 0.158_0.015f runs fine (100%). Options in ume.ini are identical for both.

Is someone else having the same issue?
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Calamity on February 28, 2015, 12:12:08 pm
Hi,

I did a fresh compilation of GroovyUME 0.159 - SwitchRes v0.015f on a 64 bit groovvyarcade setup. I see a speed issue (50%) where 0.158_0.015f runs fine (100%). Options in ume.ini are identical for both.

Is someone else having the same issue?

You're probably the first one to test it. It was a nightmare to bypass the 50% speed issue back in 0.156 when SDL2 was introduced, it was required to use a drm call because sdl2/opengl seems to be designed to make proper vsync impossible. In this version they have moved several things around and probably my workaround is broken. It's going to be hard to keep this working until things settle down in the osd code. Last time it took me more than a week to get it working for the Linux side, this requires lots of tests each time a major change is done in mainline.
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Calamity on February 28, 2015, 12:14:45 pm
Thanks Calamity!

I've read 0.159 windows native build now includes SDLMAME's OpenGL renderer.

Is this also enabled in GroovyMAME?
Any benefit compared to Direct3D?

No, it's not enabled in GroovyMAME, in Windows builds only d3d and ddraw support the modeline stuff. Probably once things settle down in mainline I'll look into extending it to opengl too.
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Doozer on February 28, 2015, 12:35:28 pm

You're probably the first one to test it. It was a nightmare to bypass the 50% speed issue back in 0.156 when SDL2 was introduced, it was required to use a drm call because sdl2/opengl seems to be designed to make proper vsync impossible. In this version they have moved several things around and probably my workaround is broken. It's going to be hard to keep this working until things settle down in the osd code. Last time it took me more than a week to get it working for the Linux side, this requires lots of tests each time a major change is done in mainline.

I can imagine ;-) But don't stop, your works really rocks!

I confirm that 32bit binary behave the same. Disabling throttling shows normal hi-speed execution.

If you need test/support don't hesitate.   
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Calamity on February 28, 2015, 12:58:49 pm
If you want to test, in /osd/sdl/drawogl.c, change:

Code: [Select]
#ifndef OSD_WINDOWS
SDL_GL_SetSwapInterval(video_config.waitvsync ? 1 : 0);
#endif

by

Code: [Select]
#ifndef OSD_WINDOWS
SDL_GL_SetSwapInterval((video_config.waitvsync && fd == 0) ? 1 : 0);
#endif

Then, just in case the change above didn't work, in /osd/sdl/window.c, also change:

Code: [Select]
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, (video_config.waitvsync && fd == 0) ? 1 : 0);
by

Code: [Select]
SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);
That's because I'm not sure if fd is already defined at the time SDL_GL_SetAttribute is called. In previous versions both calls were inside drawogl.c and it was clearer.
Title: Re: GroovyMAME/GroovyUME 0.159 - SwitchRes v0.015f
Post by: Doozer on March 02, 2015, 02:51:06 pm
Quote
If you want to test, in /osd/sdl/drawogl.c, change:

Code: [Select]

#ifndef OSD_WINDOWS
   SDL_GL_SetSwapInterval(video_config.waitvsync ? 1 : 0);
#endif

by

Code: [Select]

#ifndef OSD_WINDOWS
   SDL_GL_SetSwapInterval((video_config.waitvsync && fd == 0) ? 1 : 0);
#endif

/osd/sdl/drawogl.c modification is sufficient to enable emulation at 100%

Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Calamity on March 25, 2015, 12:47:02 pm
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.
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: machyavel on March 25, 2015, 03:19:39 pm
Thank you Calamity
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: ReelTechnoFreek on March 25, 2015, 04:06:23 pm
Thanks Calamity.
These monthly mame releases are starting to seem too frequent now.
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: sean_sk on March 26, 2015, 12:36:33 am
Hi Calamity,

Thanks for this super quick release. You're awesome as always. :D

Trying to apply hi_160.diff from Google Drive to Mame 0.160 Source but getting the following error:

patch: **** malformed patch at line 472: diff -Nru src/emu/hiscore.h src/emu/hiscore.h

I noticed there was a size difference between  hi_160.diff on Google Drive and the one in KMChamp's thread and thought maybe it was incomplete. But then, at the last minute, I noticed your post that you had removed a sizeable chunk of code.

I did try patching MKChamp's version and it patched fine. Would the version of MinGW being used make a difference? I tried the latest "buildtools" from MAME site and ran the buildtools.bat first. I also tried MinGW 20121207 but both reaped the same results.

Im also getting "patch:**** malformed patch at line 1030: diff -Nru src/emu/switchres/monitor.c src/emu/switchres/monitor.c" error when applying GM diff. Both errors seem to be related to new files being created. I am running with administrative privileges.

Am I doing something wrong? :(
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Doozer on March 26, 2015, 03:31:18 am
- deleted -
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Doozer on March 26, 2015, 03:39:08 am
- deleted -
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Calamity on March 26, 2015, 08:56:53 am
Download the diffs now, they should be fixed.
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: sean_sk on March 26, 2015, 09:06:30 am
Yep all is good.

Thank you very much for that Calamity.
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Elbaid on April 01, 2015, 04:20:51 pm
Loving groovyume for console emulation, but I can't get clrmamepro to recognize any NES roms. what should the folder name be called for the NES roms?
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: cools on April 02, 2015, 09:45:33 am
Entirely not a GroovyUME question. NES is a weird one as it requires cleanly dumped ROMs - GoodNES type sets are no good.
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Elbaid on April 02, 2015, 04:57:14 pm
I know, I'm not blaming GroovyUME, but I do need to 'prepare' the roms for use with it. thanks anyway
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Calamity on April 05, 2015, 02:13:20 pm
I know, I'm not blaming GroovyUME, but I do need to 'prepare' the roms for use with it. thanks anyway

Read about using MESS 'soft lists'. You'll need a special romset for this. NES roms will be placed in 'your_roms\nes'.
Title: Re: GroovyMAME/GroovyUME 0.160 - SwitchRes v0.015g
Post by: Elbaid on April 09, 2015, 03:04:53 pm
thanks I'll look into that
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Calamity on April 29, 2015, 03:46:37 pm
GroovyMAME v0.161 is out.

(Major changes in mainline's "makefile" system in this version, I still need to check if it builds under Linux).
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Doozer on April 30, 2015, 07:35:20 am
GroovyMAME v0.161 is out.

(Major changes in mainline's "makefile" system in this version, I still need to check if it builds under Linux).

Hi Calamity.

Thanks for taking care of the groovyume community with this new build. I have successfully compiled and executed the new binary under Linux. I will do some test the next days to see its behaviour.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Calamity on April 30, 2015, 07:46:29 am
I have successfully compiled and executed the new binary under Linux. I will do some test the next days to see its behaviour.

That's great, I was afraid it didn't compile because of the new lua scripts that have replaced the makefiles.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Doozer on April 30, 2015, 08:34:19 am

Compilation went smoothly. I have also spotted that OpenGL libray is now linked to the binary compared to 0.160. I have to investigate what it could bring on the Linux side.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: lacanian on April 30, 2015, 09:56:17 am
Hi guys let me know if there is anything I can do to help out testing anything on Linux.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Doozer on May 01, 2015, 09:48:50 am

I have two identical HW cabs with only a different screen setup, one is 15KHz only, the second one is triple sync.
By testing a 3D game named "Cyber Cycles" (cybrcycc) which is a 31kHz game (640 480 60.000000 31.68) I have observed a strange behavior.

Emulation speed at 15kHz is 50% and 100% at 31kHz. The sound is distorted on both setups.

It is the first time I notice this. The emulation is not limited by the CPU, above 200% in free throttle mode. Could someone confirm this?
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: cools on May 01, 2015, 10:14:38 am
Cyber Cycles is 15KHz interlaced, not 31KHz.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Doozer on May 01, 2015, 01:29:18 pm
Cyber Cycles is 15KHz interlaced, not 31KHz.

Good point Cools, indeed the game is standard resolution. Now I am questioning myself why I do not see the same performance. Even the stock mame shows inaccurate video emulation. Perhaps, I should not focus on this.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Calamity on May 01, 2015, 02:20:05 pm
Emulation speed at 15kHz is 50% and 100% at 31kHz. The sound is distorted on both setups.

That's the halved refresh on interlaced modes disease spreading to the Linux side. Even through drm. May God have mercy on our souls.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: ArcadeBliss on May 15, 2015, 01:47:00 pm
does switchres still exist as a standalone binary? If so I just cant find it. any help would be cool.

Thanks.
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: stellarola on May 16, 2015, 12:09:27 pm
Glad to see this project is still alive and well!  :applaud:

Love me some GroovyMAME! :)
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: butanebob on May 19, 2015, 07:59:37 pm
I'm tempted to update my groovymame from .15x to the latest .161. Can i just swap the exe files or do i have to do a complete reinstall from scratch?
Title: Re: GroovyMAME/GroovyUME 0.161 - SwitchRes v0.015g
Post by: Sledge on May 21, 2015, 05:00:43 am
I'm tempted to update my groovymame from .15x to the latest .161. Can i just swap the exe files or do i have to do a complete reinstall from scratch?
You should be able to just swap out the exe
but if you DO have any issues then just rename your mame.ini and create a new one: mame.exe -cc
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on May 27, 2015, 08:13:08 am
GroovyMAME v0.162 is out.

As of 0.162 the MAME and MESS projects have been combined into a single emulator.

(So there's no need to release the GroovyUME binary anymore).
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Doozer on May 27, 2015, 08:50:05 am
That was really, really fast! Many thanks Calamity.

INFO: There is no UME or MESS target anymore. Compilation mus be done with MAME target.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Doozer on May 27, 2015, 09:23:38 am
GroovyMAME v0.162 is out.

As of 0.162 the MAME and MESS projects have been combined into a single emulator.

(So there's no need to release the GroovyUME binary anymore).

I am still compiling... but do you already know if ume.ini must be renamed to mame.ini?
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on May 27, 2015, 09:39:15 am
I am still compiling... but do you already know if ume.ini must be renamed to mame.ini?

Yes, ume.ini will no longer work. So either rename your existing ume.ini as mame.ini or even better create a new one (specially if you're in Windows: there are important changes in the hlsl implementation, it finally looks ok out of the box!).

Important note: xml format has changed in 0.162, so VMMaker won't find the required information if you use the new MAME binaries. The fix is simple so I'll update the app as soon as possible.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Doozer on May 27, 2015, 02:49:36 pm

I have tested the 0.162 groovy release under Linux 64bit. As ever, it is working perfectly.

@Calamity, have you managed to fix the interlaced issue? I have tested Teken and other and they run normally with time to time speed drop due to intensive CPU usage. But I can confirm that the 50% emulation effet went away. I found this strange because the patch is tagged 15g like .161 was.

God has listened to you and has mercy on our souls? I will not complain.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on May 28, 2015, 06:37:15 am
Hi Doozer,

Thanks for the information. I'd appreciate if you could upload your 64-bit build somewhere so I can put it in the google site for download, as I'm out of time at the moment to make the Linux builds.

I have done nothing to fix the interlace issue, so the only thing I can think of if some change in mainline-sdl that has had this beneficial effect. Very good news after all.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Jedvard on May 28, 2015, 12:22:39 pm
Hi download for GM 0.162 for xp32 says 0.161?
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Doozer on May 28, 2015, 04:17:02 pm
Hi Doozer,

Thanks for the information. I'd appreciate if you could upload your 64-bit build somewhere so I can put it in the google site for download, as I'm out of time at the moment to make the Linux builds.

I have done nothing to fix the interlace issue, so the only thing I can think of if some change in mainline-sdl that has had this beneficial effect. Very good news after all.

Hi Calamity,

I have uploaded the build and it is available here: https://drive.google.com/file/d/0Bw1goIvmpkFPT0dmNGdUQk5hWnM/view?usp=sharing

Indeed the SDL build is better and slightly faster as far as I can observe (I did not look at the code right now). I might check what has changed and see if sld inputs are handled differently.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: haynor666 on May 31, 2015, 02:32:33 pm
Does SUBTARGET-arcade works with groovymame ?
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Doozer on June 01, 2015, 02:11:44 am
Does SUBTARGET-arcade works with groovymame ?

Hello Haynor666,

Yes, you can use this option to limit the build to arcade only drivers.

Code: [Select]
make SUBTARGET=arcade
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: ID4 on June 02, 2015, 11:17:27 am
Does SUBTARGET-arcade works with groovymame ?

Hello Haynor666,

Yes, you can use this option to limit the build to arcade only drivers.

Code: [Select]
make SUBTARGET=arcade

Interesting ....
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Jonny G on June 02, 2015, 10:48:45 pm
Hi all,

Having probs building the latest GM. Using latest MC64 (V2.0.162), latest source and build tools downloaded by MC64 and GM162.diff.

Getting this every time I try to apply GM patch...

patching file src/emu/switchres/modeline.c
patch: **** malformed patch at line 677:
Finished!
0 Hours 0 Minutes and 0 Seconds Elapsed.

If I reverse patch I get...

patch: **** malformed patch at line 677:
The next patch, when reversed, would delete the file src/emu/switchres/modeline.c,
which does not exist!  Skipping patch.
Finished!
0 Hours 0 Minutes and 0 Seconds Elapsed.

Source folder is not read only and running MC64 as admin. It doesn't seem to be able to create the file & folder. Anyone got any info please?


Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on June 03, 2015, 04:34:02 am
Try this one.

(I'm having a hell of a time with the patch/diff utilities from the new build tools. They seem to be hardwired for unix-style line endings, which makes them hardly usable under Windows. I'm aware of the --binary option, but it seems to introduce its own issues).
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Jonny G on June 03, 2015, 05:31:44 am
Well it's applied with no errors with the new diff. I'll build it later today and let you know. Thanks for all your hard work man!

Just one slightly related question though... Why is there such as difference in file size between the hiscore.diffs from this forum and the GM-hiscore.diffs that you release?
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on June 03, 2015, 06:10:14 am
Just one slightly related question though... Why is there such as difference in file size between the hiscore.diffs from this forum and the GM-hiscore.diffs that you release?

http://forum.arcadecontrols.com/index.php/topic,64298.msg1483794.html#msg1483794 (http://forum.arcadecontrols.com/index.php/topic,64298.msg1483794.html#msg1483794)

(I modified the patch to be OS-independent. This way the osd part of the patch is not required. The osd part was a pain to mantain).
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: ArcadeBliss on June 05, 2015, 12:32:32 am
Hi calamity. I have a racing cab and would like a grooveymame version with the racer mame diffs. (http://racermame.altervista.org/download/racermame151.zip). Could you provide a version? Thanks in advance.

Sent from my Nexus 5 using Tapatalk

Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: lettuce on June 06, 2015, 02:09:14 pm
Never mind figured it out
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on June 06, 2015, 05:31:31 pm
Hi calamity. I have a racing cab and would like a grooveymame version with the racer mame diffs. (http://racermame.altervista.org/download/racermame151.zip (http://racermame.altervista.org/download/racermame151.zip)). Could you provide a version? Thanks in advance.

Sent from my Nexus 5 using Tapatalk

Hi ArcadeBliss,

Unfortunately the patch in there is mixed with MKChamp's so it will conflict with mine, some manual work is required to separate them and I'm sorry but don't have much time right now.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: ArcadeBliss on June 06, 2015, 05:36:53 pm
Np. I will try contacting the author and if possible, I will try to build it myself

Sent from my Nexus 5 using Tapatalk

Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: xga on June 07, 2015, 07:12:21 am
Np. I will try contacting the author and if possible, I will try to build it myself

Sent from my Nexus 5 using Tapatalk

Hey ArcadeBliss, can you let us know how you go with your build, please.  I'd love to get Groovymame running in a driving cab with the RacerMAME diffs.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: ArcadeBliss on June 07, 2015, 09:38:47 am
Np will do

Sent from my Nexus 5 using Tapatalk

Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: lettuce on June 07, 2015, 11:46:41 am
Im getting a message in command prompt when i load GM...

"Invalid prescale option, reverting to '1'"

I have prescale x and y set to 6 in the HLSL section and in the OSD ACCELERATED VIDEO OPTIONS i have prescale set to 1.

Any ideas?
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: ArcadeBliss on June 07, 2015, 05:23:57 pm
Np. I will try contacting the author and if possible, I will try to build it myself

Sent from my Nexus 5 using Tapatalk

Hey ArcadeBliss, can you let us know how you go with your build, please.  I'd love to get Groovymame running in a driving cab with the RacerMAME diffs.

I was able to seperate out the RacerMame diffs from the hiscore diffs. I will set up a compile enviorment and have a go at it. this might take me a week or so. Just for reference, the tool "Beyond Compare 4" was great in allowing me to quickly visualize the patch contents. This allowed me to delete everything releated to the hiscore patch.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: xga on June 09, 2015, 05:44:59 am
Np. I will try contacting the author and if possible, I will try to build it myself

Sent from my Nexus 5 using Tapatalk

Hey ArcadeBliss, can you let us know how you go with your build, please.  I'd love to get Groovymame running in a driving cab with the RacerMAME diffs.

I was able to seperate out the RacerMame diffs from the hiscore diffs. I will set up a compile enviorment and have a go at it. this might take me a week or so. Just for reference, the tool "Beyond Compare 4" was great in allowing me to quickly visualize the patch contents. This allowed me to delete everything releated to the hiscore patch.

Thanks for the update, ArcadeBliss.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: haynor666 on June 21, 2015, 05:41:57 am
Looks like we don't have too much code changes this time - groovymame patch 162 still compiles with most recent git repository.
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: Calamity on June 21, 2015, 06:15:47 am
Looks like we don't have too much code changes this time - groovymame patch 162 still compiles with most recent git repository.

Don't say that too loud, mamedevs tend to drop their commit-bombs in the last week of the month  ;)
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: haynor666 on June 21, 2015, 07:51:31 am
Yeah, I know, right now Miodrag Milanovic is creating new scripts for custom builds with specified drivers. I hope nothing will happen till 163  :-\
Title: Re: GroovyMAME 0.162 - SwitchRes v0.015g
Post by: haynor666 on June 24, 2015, 04:06:23 am
This we are lucky. Groovymame 163 compiles fine with 162 diff files :)
Fast test also passed correctly.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Calamity on June 24, 2015, 07:52:27 am
GroovyMAME v0.163 is out (Switchres v0.015h)

- Forced prescale value to 1 when using HLSL and GLSL filters. Avoids warnings and problems.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Doozer on June 24, 2015, 08:07:05 am
GroovyMAME v0.163 is out.

No changes in this version (just fixed the warning when about prescale when using HLSL and GLSL).

Hi Calamity,

Thank you for the quick release. I have spotted 2 changes between 0.162 and 0.163 for the same v0.015g revision.

Code: [Select]
src/osd/sdl/switchres.c
<       set_option_int_osd(machine, OSDOPTION_PRESCALE, min(3, min(best_mode->result.x_scale, best_mode->result.y_scale)));
---
>       set_option_int_osd(machine, OSDOPTION_PRESCALE, (options.gl_glsl() || game->vector)? 1 : min(3, min(best_mode->result.x_scale, best_mode->result.y_scale)));

src/osd/windows/switchres.c
<       set_option_int_osd(machine, OSDOPTION_PRESCALE, (options.d3d_hlsl_enable() || game->vector)? 0 : min(3, min(best_mode->result.x_scale, best_mode->result.y_scale)));
---
>       set_option_int_osd(machine, OSDOPTION_PRESCALE, (options.d3d_hlsl_enable() || game->vector)? 1 : min(3, min(best_mode->result.x_scale, best_mode->result.y_scale)));


Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Doozer on June 24, 2015, 08:14:31 am

Version  0162 compiled fine but 0163 introduced an issue with the scope of the game variable.

Code: [Select]
../../../../../src/osd/sdl/switchres.c: In function ‘bool switchres_modeline_setup(running_machine&)’:
../../../../../src/osd/sdl/switchres.c:248:72: error: ‘game’ was not declared in this scope
  set_option_int_osd(machine, OSDOPTION_PRESCALE, (options.gl_glsl() || game->vector)? 1 : min(3, min(best_mode->result.x_scale, best_mode->result.y_scale)));
                                                                        ^
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Calamity on June 24, 2015, 08:19:42 am
Version  0162 compiled fine but 0163 introduced an issue with the scope of the game variable.

Oops! I couldn't test the linux build. Removing the " || game->vector" bit should fix it.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Doozer on June 24, 2015, 08:40:22 am
Version  0162 compiled fine but 0163 introduced an issue with the scope of the game variable.

Oops! I couldn't test the linux build. Removing the " || game->vector" bit should fix it.

Yes, I took the same decision. Do you plan to update the diff file?
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Calamity on June 24, 2015, 08:44:11 am
Yes, I took the same decision. Do you plan to update the diff file?

Yes. I didn't increase the version number because I felt the sort of change didn't deserve it, but maybe I should?
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Doozer on June 24, 2015, 08:49:54 am
Yes, I took the same decision. Do you plan to update the diff file?

Yes. I didn't increase the version number because I felt the sort of change didn't deserve it, but maybe I should?

It would be nice in order to keep clean version history. If I can advise so.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Calamity on June 24, 2015, 08:55:53 am
It would be nice in order to keep clean version history. If I can advise so.

Ok that needs to rebuild the files so the proper switchres version is shown (the clifront.c file includes the switchres header).
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Doozer on June 24, 2015, 11:57:51 am
It would be nice in order to keep clean version history. If I can advise so.

Ok that needs to rebuild the files so the proper switchres version is shown (the clifront.c file includes the switchres header).

I took a shortcut ;-) Sorry, too much Unix sequels

Code: [Select]
sed -i 's/0.015g/0.015h/' groovymame
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015g
Post by: Dr.Venom on June 24, 2015, 04:27:09 pm
GroovyMAME v0.163 is out (Switchres v0.015h)

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

Thanks, I almost missed this one inbetween the framedelay and ASIO heat :)
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on June 25, 2015, 04:21:16 pm
Hey Calamity. (Yep it's that time again!)

After getting a few errors with the new .163 diff which I fixed by removing the line break at either the line identified in the patch log, or the proceeding one, I'm getting the following output. I'm test compiling now but a little doubtful it's going to work after .162's log was clean.

Code: [Select]
Applying Diff Patch...
patching file scripts/src/emu.lua
patching file scripts/src/osd/sdl.lua
patching file scripts/src/osd/sdl_cfg.lua
patching file scripts/src/osd/windows.lua
patching file src/emu/clifront.c
patching file src/emu/drivenum.c
patching file src/emu/drivers/empty.c
patching file src/emu/emu.h
patching file src/emu/emuopts.c
Hunk #3 succeeded at 195 (offset -1 lines).
patching file src/emu/emuopts.h
patching file src/emu/machine.c
patching file src/emu/machine.h
patching file src/emu/render.c
patching file src/emu/switchres/modeline.c
patching file src/emu/switchres/monitor.c
patching file src/emu/switchres/switchres.c
patching file src/emu/switchres/switchres.h
patching file src/emu/switchres/util.c
patching file src/emu/ui/selgame.h
patching file src/emu/ui/ui.c
Hunk #1 succeeded at 1263 (offset 19 lines).
patching file src/emu/video.c
Hunk #4 succeeded at 807 (offset 60 lines).
Hunk #6 succeeded at 1092 (offset 60 lines).
patching file src/emu/video.h
Hunk #2 succeeded at 149 (offset 3 lines).
patching file src/mame/drivers/galaxian.c
patching file src/mame/includes/galaxian.h
patching file src/osd/modules/lib/osdobj_common.c
patching file src/osd/modules/lib/osdobj_common.h
patching file src/osd/modules/osdwindow.h
patching file src/osd/modules/render/drawd3d.c
patching file src/osd/modules/render/drawdd.c
patching file src/osd/modules/render/drawogl.c
patching file src/osd/modules/sound/direct_sound.c
patching file src/osd/modules/sound/sdl_sound.c
patching file src/osd/osdepend.h
patching file src/osd/sdl/input.c
patching file src/osd/sdl/osdsdl.h
Hunk #2 FAILED at 148.
Hunk #3 succeeded at 172 (offset 3 lines).
1 out of 3 hunks FAILED -- saving rejects to file src/osd/sdl/osdsdl.h.rej
patching file src/osd/sdl/sdlmain.c
patching file src/osd/sdl/switchres.c
patching file src/osd/sdl/video.c
Hunk #2 succeeded at 662 (offset 29 lines).
patching file src/osd/sdl/window.c
Hunk #11 succeeded at 1332 (offset 62 lines).
patching file src/osd/sdl/window.h
Hunk #1 succeeded at 76 with fuzz 1 (offset 2 lines).
Hunk #3 succeeded at 127 (offset 2 lines).
patching file src/osd/windows/pstrip.c
patching file src/osd/windows/pstrip.h
patching file src/osd/windows/switchres.c
patching file src/osd/windows/video.c
Hunk #1 succeeded at 222 (offset 27 lines).
patching file src/osd/windows/window.c
Hunk #9 FAILED at 904.
1 out of 9 hunks FAILED -- saving rejects to file src/osd/windows/window.c.rej
missing header for unified diff at line 5678 of patch
can't find file to patch at input line 5678
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
| mtlog_add("winwindow_video_window_update: PostMessage end");
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
8 out of 8 hunks ignored
patching file src/osd/windows/window.h
Hunk #1 succeeded at 109 (offset 3 lines).
patching file src/osd/windows/winmain.c
patching file src/osd/windows/winmain.h
Finished!
0 Hours 0 Minutes and 1 Seconds Elapsed.

Any ideas?
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 04, 2015, 01:20:43 pm
A guy who I built a version of GM.163 for tells me that he's also getting the 26 modeline issue when running VMmaker on that version. He's dropped back to an earlier one and its fine. Unfortunately I can't verify this as my CRT is away for repair. I appreciate you're busy with other things right now but if there's anything I can do to help diagnose this bug please let me know.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 04, 2015, 05:19:15 pm
After getting a few errors with the new .163 diff which I fixed by removing the line break at either the line identified in the patch log, or the proceeding one, I'm getting the following output.

Remind applying the patches with the --binary option (see the first post in this thread). This is required for the new toolchain diff/patch commands.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 04, 2015, 05:24:34 pm
A guy who I built a version of GM.163 for tells me that he's also getting the 26 modeline issue when running VMmaker on that version. He's dropped back to an earlier one and its fine. Unfortunately I can't verify this as my CRT is away for repair. I appreciate you're busy with other things right now but if there's anything I can do to help diagnose this bug please let me know.

You can use an older binary to extract the xml. Just use the xml from GM 0.161, and keep using GM 0.163 for actual emulation. This is not a bug, it's VMMaker that needs to be updated for the new 0.162 xml format.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 04, 2015, 05:41:16 pm
OK thanks for confirming that man. What about the build errors? Am I doing the right thing in just removing the line breaks for each error that get flags. It seems to build that way but unsure if I'm going to get problems with it later on as 162 built fine with the alternate diff you posted.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 04, 2015, 05:47:08 pm
OK thanks for confirming that man. What about the build errors? Am I doing the right thing in just removing the line breaks for each error that get flags. It seems to build that way but unsure if I'm going to get problems with it later on as 162 built fine with the alternate diff you posted.

Build errors? Or patch errors?
You should be getting no patch errors with the --binary option.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 04, 2015, 05:59:17 pm
Quote
Build errors? Or patch errors?
You should be getting no patch errors with the --binary option.

I've totally missed the binary option, I'm using MC64, where is it please?

I'm getting patch errors, I posted the output that I'm getting using MC64 v2.0.163, and MAME 0163s a few posts back if it's any help.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 05, 2015, 06:02:26 am
I've totally missed the binary option, I'm using MC64, where is it please?

I'm getting patch errors, I posted the output that I'm getting using MC64 v2.0.163, and MAME 0163s a few posts back if it's any help.

Sorry, I missed the errors at the bottom. The patches in the google site were tested twice before posting them, they are fine. It certainly looks like you're not applying the patches in the right order or something. Please check again the build instructions in the first post. Notice you need to apply the hiscore patch I provide, not MKChamp's.

Regarding the --binary option, that's required since the new patch/diff tools are buggy with regards to line endings. I don't know what's the situation with MAME Compiler.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 05, 2015, 06:47:31 am
Sorry for the headache but I'm still getting errors using a command window to patch (I've previously never used anything but MC64, but pretty sure I'm doing it correctly). This is the output I'm getting from trying to apply the hiscore diff...

Code: [Select]
C:\buildtools\src\mame0163s
λ patch -p0 -E --binary <c:\buildtools\patch\hi_0163.diff
patching file scripts/src/emu.lua
patching file src/emu/emuopts.c
patching file src/emu/emuopts.h
patching file src/emu/hiscore.c
patch: **** malformed patch at line 465: diff -Nru --binary src/emu/hiscore.h src/emu/hiscore.h

This comes from a fresh extract of the mame0163 source. Thanks for all your help so far!

EDIT:

The main gm diff seems to apply fine after the hiscore diff so it's just output above that I need to sort out.

EDIT 2: Got it to build error free, possibly due to running cmd and cmder as admin. Now to hope Headkaze updates MC64 for simpletons like me.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 05, 2015, 07:27:20 am
Are you using the build tools from MAMEdev?

EDIT: The diffs are tested and made with the tools from MAMEdev. Anything else may be problematic. I know the whole line ending thing shouldn't be a problem in 2015 but yes, this is how things are still.

Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 05, 2015, 07:37:19 am
Are you using the build tools from MAMEdev?

If you mean these ones, https://github.com/mamedev/buildtools (https://github.com/mamedev/buildtools) then yes, updated via MC64 but all the same thing.

Sorry for being a pest, I know these new versions are really problematic for you. Just wanted to make sure I was up to date with the latest and greatest GM for when my monitor chassis gets back from the doctors.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 05, 2015, 10:23:15 am
Just to double check I downloaded the 0.163 source again, applied the hiscore patch, zero errors:

Code: [Select]
λ patch -p0 -E --binary <hi_0163.diff
patching file `scripts/src/emu.lua'
patching file `src/emu/emuopts.c'
patching file `src/emu/emuopts.h'
patching file `src/emu/hiscore.c'
patching file `src/emu/hiscore.h'
patching file `src/emu/machine.c'
patching file `src/emu/machine.h'
patching file `src/emu/mame.c'
patching file `src/emu/profiler.c'
patching file `src/emu/profiler.h'
patching file `src/emu/ui/ui.c'

Check your patch version:

Code: [Select]
λ patch -v
patch 2.5
Copyright 1988 Larry Wall
Copyright 1997 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

written by Larry Wall with lots o' patches by Paul Eggert
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 05, 2015, 10:32:12 am
Thanks, I will double check that too. Quick question though, how do you build a 32bit version using these tools?
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 05, 2015, 10:40:47 am
The error is probably an extra ascii 10 after line 254. The thing is these extra characters are added by the diff tool randomly, whatever I do. I think I'll need to make a tool to post-process the diff files and remove that crap.

In order to build 32 bit files, use the PTR64=no option.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 05, 2015, 11:06:28 am
If I use "make prt64=no" I still get a mame64.exe. Do I need to start again from scratch now that my source files have already been used to build a x64 exe?
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 05, 2015, 12:16:11 pm
Notice the capitals.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Jonny G on July 05, 2015, 12:46:39 pm
THANKS MAN!
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: crispux3 on July 09, 2015, 11:37:31 am
Hi all. I was wondering a couple things:

1.) Will there ever be an updated version of CRT_emudriver to be able to work with more recent video cards and windows 7 and up? (like vid cards with DX11 capabilities). I ask because some emulators require more than windows xp (which I'm currently using) to be able to run. If not, that's okay, but I'm wondering what are some of the technicalities/difficulties (besides time and money :-) ) that hinder the development.

2.) Do users compile groovymame themselves? I've always just got the builds from the download site. I ask because I was wondering if there was a way to compile a version without the popup messages from save states. For example, if one uses a save state in a game like Donkey Kong (I tested the A7800 version), where the character begins at the bottom of the screen, the savestate save and load messages obscure the bottom of the screen for 1-2 seconds hindering gameplay. Is it possible to remove the popup messages? I've seen another thread suggesting it is with normal builds of mame/mess, but I'm not sure with groovymame.

Thanks.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Sledge on July 09, 2015, 06:03:27 pm
Hi all. I was wondering a couple things:

1.) Will there ever be an updated version of CRT_emudriver to be able to work with more recent video cards and windows 7 and up? (like vid cards with DX11 capabilities). I ask because some emulators require more than windows xp (which I'm currently using) to be able to run. If not, that's okay, but I'm wondering what are some of the technicalities/difficulties (besides time and money :-) ) that hinder the development.
New video cards will not be supported for the foreseeable future due to windows limitations..
But yes there is a version for Windows 7
2.) Do users compile groovymame themselves? I've always just got the builds from the download site. I ask because I was wondering if there was a way to compile a version without the popup messages from save states. For example, if one uses a save state in a game like Donkey Kong (I tested the A7800 version), where the character begins at the bottom of the screen, the savestate save and load messages obscure the bottom of the screen for 1-2 seconds hindering gameplay. Is it possible to remove the popup messages? I've seen another thread suggesting it is with normal builds of mame/mess, but I'm not sure with groovymame.

Thanks.
Some people do, but there are also precompiled versions, but i'm not sure about the savestate popups as i never use them.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Calamity on July 09, 2015, 06:18:40 pm
New video cards will not be supported for the foreseeable future due to windows limitations..

They will. Hopefully after the summer. But let's don't anticipate things  ;)
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: Sledge on July 10, 2015, 03:57:48 am
New video cards will not be supported for the foreseeable future due to windows limitations..

They will. Hopefully after the summer. But let's don't anticipate things  ;)
Well.. i wasn't.. but now you are lol :)
Sounds good though!!
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: planexcvs on July 10, 2015, 10:33:21 am
New video cards will not be supported for the foreseeable future due to windows limitations..

They will. Hopefully after the summer. But let's don't anticipate things  ;)

I'm wondering would that also help in fixing some of the monitor swap issues that some users' monitors have? I mean without having to use resistors.

I think I remember Calamity mentioning in one post several weeks ago.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: jdsony on July 27, 2015, 12:27:12 pm
Just want to say thanks Calamity for another great release. Been messing around with 15khz for a few years going back and forth between Windows and Linux. Finally settled on Windows for this laptop and got everything setup almost perfect, just need to do some automation and build it into a cab. I just can't believe how much better games play. The speed is right, the animation and scrolling is so smooth, and the input lag is almost non-existent. I don't think I can go back to emulating any other way.

One think I've noticed is that I was getting artifacts in games that use the lowest resolutions (Congo Bongo for example). Changing my desktop colour mode to 16bit from 32bit fixed this. In previous setups I wasn't sure what was causing this. Works perfect now.

IBM Thinkpad R51 Pentium M 1.6ghz
2GB RAM
Mobility Radeon 9000 (CRT_EMUDRIVER patched with Mobility Modder)
Commodore 1084 CRT
Sony PVM-2030 CRT

I also have a P4 2.8 laptop with Radeon 9000 graphics I'll have to benchmark to see how it compares once I fix the power jack.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: buttersoft on July 28, 2015, 10:45:12 pm
I just can't believe how much better games play. The speed is right, the animation and scrolling is so smooth, and the input lag is almost non-existent. I don't think I can go back to emulating any other way.

Agreed. So much fun to play around with the software, and the results are just stellar. Can't wait for what's next!
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: Calamity on July 29, 2015, 01:31:52 pm
GroovyMAME v0.164 is out (Switchres v0.015h)

No new features.

This time I've post-processed the diff files to make sure they won't cause problems. Hopefully this will be the end of patch errors.
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: Dr.Venom on July 29, 2015, 06:10:18 pm
Thanks Calamity for the update!

Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: headkaze on July 30, 2015, 12:35:52 am
This time I've post-processed the diff files to make sure they won't cause problems. Hopefully this will be the end of patch errors.

Thanks Calamity  :cheers:
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: Doozer on August 02, 2015, 06:30:03 am
GroovyMAME v0.164 is out (Switchres v0.015h)

No new features.

This time I've post-processed the diff files to make sure they won't cause problems. Hopefully this will be the end of patch errors.

The 64bit Linux build is ready and available on the google drive.

Cheers
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: Calamity on August 03, 2015, 12:27:24 pm
The 64bit Linux build is ready and available on the google drive.

Thanks a lot Doozer!
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: Doozer on August 04, 2015, 11:24:29 am
The 64bit Linux build is ready and available on the google drive.

Thanks a lot Doozer!

You are welcome. All thanks must go to you for the groovy patch and to the community around this.

If I see any request for the NO_XINPUT, I will add it. I am curious to see if people need it.

Cheers my friend.
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: gurbzs on August 09, 2015, 08:16:45 am
Hi Calamity,

thanx for this release. Before I started I ran vmmaker with the new mame.
Instead of 120 modelines it created 26 modelines.
Setup is xp32, 4 connected crt monitors (buggyboy setup)

Am I doing something wrong? everything was fine (mame 0.159)
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: gurbzs on August 11, 2015, 04:03:18 pm
Checked this again.
Used vmmaker on groovymame 0.163, it generated 27 modelines.
After generating mame.xml nothing happens, ini's are not created.

I installed mame 0.159, vmmaker 'sees' 626 modelines, generates 119.

Seems that it appears with mame 0.163 and up but I didn't try the rest.
Picture attached.
Title: Re: GroovyMAME 0.164 - SwitchRes v0.015h
Post by: Calamity on August 18, 2015, 01:26:54 pm
Hi gurbzs,

Check this: http://forum.arcadecontrols.com/index.php/topic,135823.msg1520276.html#msg1520276 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1520276.html#msg1520276)

Remind you must not create ini's for GM.
Title: Re: GroovyMAME 0.165 - SwitchRes v0.015i
Post by: Calamity on September 06, 2015, 05:43:27 pm
GroovyMAME 0.165 is out.

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.
Title: Re: GroovyMAME 0.165 - SwitchRes v0.015i
Post by: Doozer on September 07, 2015, 05:35:52 am

GroovyMAME 0.165 binary for Linux users is out.

groovymame64_0165.015i_linux.tar.bz2
groovymame64_0165.015i_wiimote_linux.tar.bz2   (NO XINPUT)
Title: Re: GroovyMAME 0.165 - SwitchRes v0.015i
Post by: Calamity on September 07, 2015, 06:51:09 am
Thanks Doozer!
Title: Re: GroovyMAME 0.165 - SwitchRes v0.015i
Post by: Doozer on September 09, 2015, 03:07:21 am

Starting from now (including 0.165). The Linux binaries are build using Arch Linux (Groovy Arcade) distribution.

The files have been updated on the google drive accordingly.

Cheers
Title: Re: GroovyMAME 0.165 - SwitchRes v0.015i
Post by: Gn0m4 on September 11, 2015, 12:16:48 pm
Hi Calimity, nice work in all your versions of Mame.
Has GroovyMame 0.165 included cave and directinputs?
Could you post a complete versión with all this items? I´m really noob about to compile anything except my woman.


A lot of thanks !
Title: Re: GroovyMAME 0.166 - SwitchRes v0.015i
Post by: Calamity on September 30, 2015, 12:43:14 pm
GroovyMAME v0.166 is out (Switchres v0.015i)
Title: Re: GroovyMAME 0.166 - SwitchRes v0.015i
Post by: Fuzzylogic on September 30, 2015, 03:28:29 pm
Thanks Calamity!

I also used ATOM15 on a ATI card, and it's working beautifully, thanks again!



Title: Re: GroovyMAME 0.166 - SwitchRes v0.015i
Post by: Paradroid on September 30, 2015, 03:45:13 pm
Yusss! As always, thanks so much for all the effort you put into GroovyMAME! :)
Title: Re: GroovyMAME 0.166 - SwitchRes v0.015i
Post by: Doozer on October 01, 2015, 03:06:13 am
LINUX GroovyMAME v0.166 builds are available (Switchres v0.015i)
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Calamity on October 28, 2015, 06:03:37 pm
GroovyMAME 0.167 is out (Switchres v0.015j).

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:

- 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.
Title: Thanks!
Post by: Paradroid on October 29, 2015, 12:29:47 am
This looks like a really exciting release! Well done and thank you! :)
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Doozer on October 29, 2015, 02:15:56 am
GroovyMAME 0.167 is out (Switchres v0.015j).

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.


The 64bit Linux builds are ready and available on the google drive.

Cheers
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Calamity on October 29, 2015, 10:16:20 am
The 64bit Linux builds are ready and available on the google drive.

Cheers

Thanks Doozer!
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: xga on October 29, 2015, 10:24:42 am
Thanks for releasing so quickly, Calamity.   :applaud:

Do you have a development roadmap for future features in Groovymame that you care to share / disclose or is it all a big surprise for us?
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Calamity on October 29, 2015, 11:02:31 am
Thanks for releasing so quickly, Calamity.   :applaud:

Do you have a development roadmap for future features in Groovymame that you care to share / disclose or is it all a big surprise for us?

Basically adding support for newer ATI cards, when time permits.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Calamity on October 29, 2015, 11:03:21 am
http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=996#p996 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=996#p996)

There are some important implications to these changes also for CRT users. Now it's no longer necessary to enable frame delay in order to bypass the frame queue. Just switching to Direct3D9ex already removes the frame queue in an ortodox way. This frame queue is the most important source of input latency in modern systems. Notice that Direct3D9ex is not available in Windows XP.

There's still one remaining frame of latency that can't be removed through Direct3D9ex alone: the one caused by double buffering. The reason for frame delay is to remove this last frame of latency and achieve next frame input response, matching real hardware behaviour.

Because the frame queue can usually involve 3 frames of lag or more, most users will find it good enough to simply remove it by switching to Direct3D9ex, as compared to the relatively minor improvement and important hassle of adjusting frame delay in a per game basis. However, the next frame response nirvana is reserved to frame delay users. Be aware that you'll need a powerful machine in order to reliably apply high values of frame delay.

For Windows XP users, however, Direct3D9ex is not an option, so you'll need to stick with Direct3D + frame delay in order to remove the frame queue + the last frame due to double buffering, as we did before and is explained in Recap's guide above.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: big10p on October 29, 2015, 12:42:48 pm
Great stuff! Looking forward to trying this version out. Thanks Calamity, et al.  :applaud:
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: donluca on October 29, 2015, 06:31:28 pm
For Windows XP users, however, Direct3D9ex is not an option, so you'll need to stick with Direct3D + frame delay in order to remove the frame queue + the last frame due to double buffering, as we did before and is explained in Recap's guide above.

Oh god, I'm afraid I've been a bit out of the loop.

So what's the ideal setup now? Isn't it WinXP + ddraw anymore? Win7 + Direct3D9ex is boss?

EDIT: and while we're at it... is  multithreading now safe to use in GroovyMame?
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: intealls on October 30, 2015, 07:16:53 pm
Posted a short tutorial here: http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=293 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=293) for finding the correct vsync_offset parameter for your settings.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Calamity on October 31, 2015, 06:50:12 am
Oh god, I'm afraid I've been a bit out of the loop.

So what's the ideal setup now? Isn't it WinXP + ddraw anymore? Win7 + Direct3D9ex is boss?

EDIT: and while we're at it... is  multithreading now safe to use in GroovyMame?

Win XP is still fine, but if you have modern hardware it's better to use Windows 7. All recent tests regarding input/audio latency etc. are being done on Windows 7. Notice the range of video cards you can use with W7 is currently more limited than with XP. Direct3D is preferred in general, specially with W7, but you can still use either of them. The addition of low-latency Direct3D9ex makes DDraw even more irrelevant now (before you could still argue DDraw was not affected by frame queues). Multithreading is safe with GroovyMAME, none of the bad things you read about mt applies to GM. It's only an issue if you run frontends like HS that kill the running process without allowing it to exit cleanly.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: donluca on October 31, 2015, 10:01:49 am
Thanks for the reply!

Just to make sure... ignoring the hardware part, are there any benefits upgrading my current  setup from winXP+ddraw to Win7+D3Dex?

I'll be using GM with a Radeon X300SE and a 15Khz sony BVM monitor without super resolutions or any enhancements.
Is it worth the hassle?
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Calamity on October 31, 2015, 11:43:41 am
I'll be using GM with a Radeon X300SE and a 15Khz sony BVM monitor without super resolutions or any enhancements.
Is it worth the hassle?

You can't use the the X300 with current W7 drivers. Stick with your setup until you need/feel like updating your hardware.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: donluca on October 31, 2015, 06:11:18 pm
Silly me, I forgot about that even though I looked at the crt_emudriver page a thousands time!

Looks like I'll still be good with WinXP+ddraw. Eventually, if I find a good deal on a HD4xxx card, I'll think about switching to W7 and take advantage of D3Dex.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: P.H.U. on November 01, 2015, 02:38:42 am
New video cards will not be supported for the foreseeable future due to windows limitations..

They will. Hopefully after the summer. But let's don't anticipate things  ;)

Ugggghhhh, in the past few months, I have bought 3 HD4890's. I am picking up 3 cabs tomorrow. Damn you Calamity and your progress :applaud:. In all seriousness, this is good news.
Title: Re: Thanks!
Post by: machyavel on November 01, 2015, 03:09:31 pm
This looks like a really exciting release! Well done and thank you! :)

Exciting I agree, too bad I'm still on XP... :D

Thanks a lot Calamity !
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: xga on November 03, 2015, 02:54:46 am
Thanks for releasing so quickly, Calamity.   :applaud:

Do you have a development roadmap for future features in Groovymame that you care to share / disclose or is it all a big surprise for us?

Basically adding support for newer ATI cards, when time permits.

That's awesome news, Calamity.  Looking forward to it. 
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: haynor666 on November 03, 2015, 07:16:16 am
Thanks for update Calamity and the rest of team. Now frame_delay works nicely for all games that I tested so far.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: arcadeswede on November 17, 2015, 07:49:12 am
It says in the main post:
"No software can control the VERTICAL size of a resolution on a CRT monitor, you need to adjust it physically (potentiometers, service menu, etc.)."

Does this mean that I have to adjust the pot for every game I start?
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: Doozer on November 17, 2015, 07:56:05 am
It says in the main post:
"No software can control the VERTICAL size of a resolution on a CRT monitor, you need to adjust it physically (potentiometers, service menu, etc.)."

Does this mean that I have to adjust the pot for every game I start?

Hi,

Not necessarily, you can check some generic games to have the best compromise between overscan and black border to make a single preset usable for all of them. If your objective is to have perfect match for all games, indeed manual calibration will be required when frequency/vertical resolution changes.
Title: Re: GroovyMAME 0.167 - SwitchRes v0.015j
Post by: arcadeswede on November 17, 2015, 08:35:41 am

Quote
If your objective is to have perfect match for all games, indeed manual calibration will be required when frequency/vertical resolution changes.

I will mostly play vertical Cave games and other shmups and I'm not that picky about some black borders.
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Calamity on November 25, 2015, 02:31:47 pm
GroovyMAME v0.168 (SwitchRes v0.015k) is out:

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.
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: donluca on November 25, 2015, 07:20:48 pm
That was faster than light! Thanks!

Interesting update by the way, I never really noticed much audio lag.
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Doozer on November 26, 2015, 05:11:29 am
Linux 32bit are ready.

Enjoy!
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Doozer on December 01, 2015, 03:09:35 pm

The 32bit and 64bit Linux builds are available on the google drive.

>>> Link to Google drive <<< (https://googledrive.com/host/0B5iMjDor3P__aEFpcVNkVW5jbEE/v0.168_015k)

Quote
groovymame32_0168.015k_linux.tar.bz2
groovymame32_0168.015k_wiimote_linux.tar.bz2
groovymame64_0168.015k_linux.tar.bz2
groovymame64_0168.015k_wiimote_linux.tar.bz2
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Rattus on December 01, 2015, 10:09:26 pm
I'm trying to update my groovymame cab from 0.151 to 0.166 and keep running into crashing issues, I must be missing something.

I have copied the 0.166 groovymame to a folder on my desktop, used the command line to generate mame.ini edited the .ini for my settings and paths used MaLa to generate the .xml file and pointed MaLa at the new 0.166 roms and mame.exe.

All seems to go well and I can start and play a few games, then after a few I will start a game and it will try to run but crash back to the frontend with windows asking me if I want to send and error report and the layout on MaLa will look messed up. I can restart MaLa and it will look OK but from then on it will crash each game and then look messed up. So I revert everything back to use my old 0.151 which is no hassle as I kept all that in it's folders and just have to change the paths in MaLa and everything plays fine.

Am I missing a step? do I need to update CRT EMUdriver & VMmaker and run that for the new Groovymame? I didn't want to just try that without asking as I was concerned that I might not just be able to revert back to 0.151 if it didn't fix it.
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: cools on December 04, 2015, 03:56:47 am
(No more switchres updates. The version number is perfect as is ;))
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Calamity on December 05, 2015, 07:02:31 am
I'm trying to update my groovymame cab from 0.151 to 0.166 and keep running into crashing issues, I must be missing something.

No idea. Make sure you update the whole MAME folder from mamedev.org, then put the GroovyMAME excutable into that folder and redo ini file. Specially when you're jumping from such an old version.

My advice is to always make sure everything is working perfectly from command line, then and only then start using the frontend.
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Calamity on December 05, 2015, 07:03:17 am
(No more switchres updates. The version number is perfect as is ;))

016 is reserved for good stuff ;)
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: intealls on December 05, 2015, 02:28:49 pm
(No more switchres updates. The version number is perfect as is ;))

016 is reserved for good stuff ;)

I'm certain you mean that '016 is reserved for fabulous stuff', since the last few patches have been good, obviously. ;)
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Calamity on December 05, 2015, 03:36:04 pm
I'm certain you mean that '016 is reserved for fabulous stuff', since the last few patches have been good, obviously. ;)

Yeah, I didn't mean to disregard recent achievements that have been a real breakthrough. In the past, 014 and 015 meant total or partial rewrites of the patch. 015 has survived quite long, just with incremental updates while keeping the main structure more or less unmodified, despite the undergoing refactoring of the osd layer in mainline source base, sdl2 migration included. But the cost of this extended life is increasing entropy. At this point, adding support for modern cards involves a serious overhaul, that looks like a suitable milestone for 016 version bump, as well as a chance to tidy things. There's a risk however: because a big update of the Switchres patch means breaking everything apart and then try to put it back together, if the MAME project moves to BGFX and drops the current video apis in the middle of the process, I might be screwed. I am not actually a programmer.

Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: timply on December 05, 2015, 05:32:06 pm

if the MAME project moves to BGFX and drops the current video apis in the middle of the process, I might be screwed. I am not actually a programmer.


So what would something like that do to the GroovyMAME project?
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: pakoman on December 06, 2015, 06:44:25 am
Calamity, aren't you a programer? Then you do really well with groovy/switchres not to be.
I'm always been curious, if you don't mind to tell, what do you do for living?
Title: Re: GroovyMAME 0.168 - SwitchRes v0.015k
Post by: Paradroid on December 10, 2015, 06:46:11 pm
He's a CRT historian. ;)

Sent from my SM-A300Y using Tapatalk

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on December 30, 2015, 12:11:24 pm
GroovyMAME 0.169 (Switchres 0.015l) is out.

What's new in SwitchRes v0.015l

- Added support for AMD HD 5000/6000/7000 series. You'll need  CRT Emudriver 2.0 for Windows 7/8/10 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295).

- ATI legacy cards (HD 2000/3000/4000): fixed halved refresh of interlaced modes on vsync with Direct3D. Make sure to use in combination with the new CRT Tools (VMMaker & Arcade OSD).

- Removed frogger/galaxian patch. As suggested by haynor666.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: DudeRegular on December 30, 2015, 12:51:53 pm
Whoa. Big updates calamity. Awesome.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 30, 2015, 01:24:51 pm
Fantastic news, now we can finally put groovymame and demul (dx11) on on PC :)

New tools looks great :))
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on December 30, 2015, 01:30:37 pm
Fantastic news, now we can finally put groovymame and demul (dx11) on on PC :)

New tools looks great :))

Thanks. I'd like you guys to test stuff like demul and those taito games and see if there are good news with that too.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Paradroid on December 30, 2015, 01:48:09 pm
- Added support for AMD HD 5000/6000/7000 series.

Holy ---steaming pile of meadow muffin---! You did it! This is gonna make a lot of people very happy! Well done! :)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 30, 2015, 01:55:28 pm
Right now I don't have any HD5xxx serie card but I'll look at Taito Type X issue right away :)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: keropi on December 30, 2015, 03:45:14 pm
Wow excellent news! that's what I call a holiday present :)
So (potential driver bugs aside) how does a 5xxx/6xxx gpu compares to a 4xxx one in terms of supported resolutions/refresh ? Are they the same?

Today I received a 4350 and I also have a 5450 available, if there is any test I can make to help make this better I'll be more than happy to do so.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 30, 2015, 04:01:29 pm
While I don't have any Radeon HD5xxx so I cannot test DX11 I tested Taito Type X and some of Taito Type X2 games and only SFIV, Spica Adventure and Battle Fantasia so far refuses to boot. Chaos Breaker, Deathsmiles II (not a Taito Type X actually but finally work in XP comp. mode), Gigawing Generations, Homura, Matrimelee Matsuri, Raiden III (half of plane - bug of Windows 7), Raiden IV (only intro stuttering, game works fine), Shikigami no Shiro III, Trouble Witches AC ARE FINE :D

I tested some games in model2 - so far everything works fine - sound and speed are ok  :D
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on December 30, 2015, 04:17:47 pm
Thanks a lot for testing, haynor666. I wonder why SFIV isn't working. Maybe it requires @60 instead of @30, don't know. I'd need to use a debugger to dig in the problem, but I hate the idea of having to figure out how to find and download those things.

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: planexcvs on December 30, 2015, 04:21:51 pm
GroovyMAME 0.169 (Switchres 0.015l) is out.

What's new in SwitchRes v0.015l

- Added support for AMD HD 5000/6000/7000 series. You'll need  CRT Emudriver 2.0 for Windows 7/8/10 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295).

- ATI legacy cards (HD 2000/3000/4000): fixed halved refresh of interlaced modes on vsync with Direct3D. Make sure to use in combination with the new CRT Tools (VMMaker & Arcade OSD).

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

Sweet news! Especially about the forced monitor detection. Thank you very much Calamity.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Sledge on December 30, 2015, 04:53:41 pm
So if everything is working ok with older workarounds, is there any reason to update the drivers to the new version?
Or only do it when/if we update hardware?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 30, 2015, 06:30:45 pm
If You are on Windows 7 I recommend it.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 30, 2015, 06:42:35 pm
Thanks a lot for testing, haynor666. I wonder why SFIV isn't working. Maybe it requires @60 instead of @30, don't know. I'd need to use a debugger to dig in the problem, but I hate the idea of having to figure out how to find and download those things.

I don't know. Some time ago it worked somehow at least till intro. The system I tested new driver and utilities had previous driver installed (but it was uninstalled before I installed new one). Also I tested soft15kHz so maybe there are some leftovers. I think I reinstall windows 7 and test everything again. I've spot one bug in my modelines - some vector games are trying to use frequency 49,5 Hz and somehow my TV has bouncing picture but it this work on XP. I need to look closer to this problem when I reinstall system.

I've tested Nestopia and VBA-M and both emus seems to work ok.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on December 30, 2015, 06:53:49 pm
GroovyMAME 0.169 (Switchres 0.015l) is out.

What's new in SwitchRes v0.015l

- Added support for AMD HD 5000/6000/7000 series. You'll need  CRT Emudriver 2.0 for Windows 7/8/10 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295).

- ATI legacy cards (HD 2000/3000/4000): fixed halved refresh of interlaced modes on vsync with Direct3D. Make sure to use in combination with the new CRT Tools (VMMaker & Arcade OSD).

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

Utterly awesome! Works beautifully. Thanks alot for this. :)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: donluca on December 30, 2015, 07:38:42 pm
HUGE update! Well done!

Now there's really no reason not going the Windows 7 way.

EDIT: one quick question: do I have to update the CRT Tools and create the video modes again with the new VMMaker in order to use 0.169?

EDIT 2: regarding HD5000, 6000 and 7000 series: are they affected by the low dotclock issue?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: DeLuSioNal29 on December 30, 2015, 11:15:36 pm
Jumping back into this...  Thanks Calamity!

Since it's been a while, can someone point me in the right direction on where to get the latest and greatest settings for my Betson 27" Multisync monitor?  My last HDD died and I'm re-doing my system with the latest iteration of GroovyMAME .169.  Thanks in advance!

DeLuSioNaL29
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on December 31, 2015, 05:29:25 am
Hi Calamity,

A constant is missing for the Linux build in switchres.h

#define XRANDR_TIMING   0x00000010

I am operating the build remotely over a very slow satellite link. Normally, the package will be ready this afternoon. I hope the upload will terminate before 2016 ;-)

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on December 31, 2015, 05:52:23 am
Hi Calamity,

A constant is missing for the Linux build in switchres.h

#define XRANDR_TIMING   0x00000010

I am operating the build remotely over a very slow satellite link. Normally, the package will be ready this afternoon. I hope the upload will terminate before 2016 ;-)

Thanks! I'll fix the diff once you confirm it builds fine. There's been a huge overhaul in this version, I guess there'll be more issues with the sdl build.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 31, 2015, 07:32:10 am
One question - does windows 7 test mode is still needed ?

I did all tests on already test mode enabled by previous driver and I didn't notice any requester about signing mode.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: ReelTechnoFreek on December 31, 2015, 08:41:57 am
Awesome work Calamity. For those of us on older cards, 4890 for me, is there  need to update to 2.0 drivers?  Thanks for all the great work.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on December 31, 2015, 08:55:22 am

Hi Calamity,

A constant is missing for the Linux build in switchres.h

#define XRANDR_TIMING   0x00000010

I am operating the build remotely over a very slow satellite link. Normally, the package will be ready this afternoon. I hope the upload will terminate before 2016 ;-)

Thanks! I'll fix the diff once you confirm it builds fine. There's been a huge overhaul in this version, I guess there'll be more issues with the sdl build.

The build is done.
With the define clause everything compiled properly. It would be nice to receive a feedback from a user to confirm that it is running well. The VNC link is not good enough here to have a visual confirmation.

For GA users, you have to install qt5 with
Code: [Select]
pacman -Syy qt5-base
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on December 31, 2015, 09:13:34 am
The build is done.

Great! Thanks.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on December 31, 2015, 10:11:12 am
The build is done.

Great! Thanks.

Thank you for this release :Calamity -) Now I am impatient to go back home for some testing.

I have tested the Linux builds, they are fine. Enjoy and Happy New Year to all Arcade fans!
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on December 31, 2015, 01:03:05 pm
I've tested some Taito Type X games and now SFIV and Battle Fantasia works, Spica Adventure force 640x480@60p so probably OpenGL fix was needed for those games.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 01, 2016, 08:33:29 am
Having problems with 169, both the official 32 and 64 bit builds when launched run at 100% cpu and don't even seem to create a window, same result when I build it myself from source (with the missing define added).

groovymame debug log is as follows:

Code: [Select]
SwitchRes: v0.015l, Monitor: lcd, Orientation: horizontal, Modeline generation: disabled
SwitchRes: Using default vfreq range for LCD 59.000000-61.000000
SwitchRes: Found output connector 'DVI-I-1'
SwitchRes: Creating automatic specs for LCD based on VESA GTF
SwitchRes: Monitor range 73278.00-75762.00,59.00-61.00,0.696,1.044,1.740,0.013,0.040,0.510,0,1,1200,1200,0,0
SwitchRes: -resolution was set at command line or in .ini file as 1600x1200@60

SwitchRes: Entering switchres_modeline_setup
SwitchRes: v0.015l:[pacman] Calculating best video mode for 224x288@60.606060 orientation: rotated

SwitchRes: [1600]x[1200]_[60=0.0000Hz]

I'm running with:
modeline_generation       0
monitor                   lcd

168 and before were fine. :/
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 01, 2016, 11:34:16 am

Having problems with 169, both the official 32 and 64 bit builds when launched run at 100% cpu and don't even seem to create a window, same result when I build it myself from source (with the missing define added).

Not sure you are under Linux or Windows. But you have mentioned the need to include missing define which is only needed under Linux.

I have tested the 64 build with GroovyArcade and I am able to see the expected pictures from games. Nothing strange to report here.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 01, 2016, 11:42:13 am
Sorry, yes its Linux. Arch Linux specifically if that matters.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 01, 2016, 11:47:38 am

Sorry, yes its Linux. Arch Linux specifically if that matters.

Hummm, it is really odd. I am doing my tests remotely under VMs.  I will do deeper testing next Sunday when I will have access to my cabinets. At the moment I cannot reproduce your behavior :-( sorry I am not helpful right now.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 01, 2016, 12:00:11 pm
No worries, I appreciate the help! :)

Perhaps its graphics card related, I have an nvidia card with the nouveau source drivers. Just updated arch and got the latest sdl/mesa drives in its repo in case that helped, it didn't. :(
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: donluca on January 01, 2016, 04:13:28 pm
EDIT: one quick question: do I have to update the CRT Tools and create the video modes again with the new VMMaker in order to use 0.169? (I'm using Windows XP 32bit)

EDIT 2: regarding HD5000, 6000 and 7000 series: are they affected by the low dotclock issue?

bumping my questions, since I edited my post I'm afraid you may have missed them.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 01, 2016, 04:22:23 pm
EDIT: one quick question: do I have to update the CRT Tools and create the video modes again with the new VMMaker in order to use 0.169? (I'm using Windows XP 32bit)


No.

Quote
EDIT 2: regarding HD5000, 6000 and 7000 series: are they affected by the low dotclock issue?

No.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: pakoman on January 01, 2016, 07:36:56 pm
Hi.

Does it work with mobility hd5000?

Happy new year!
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 02, 2016, 05:13:22 am
Does it work with mobility hd5000?

Probably.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 02, 2016, 01:08:09 pm
@Calamity, The Linux/SDL version shows a horizontally compressed screen with bad emulation speed in every screen resolutions (15khz, 31khz, with/without interlacing). I can do specific tests/builds, just PM me.

@RobertJ, You are right, the Linux builds are not usable. The odd screen behaviour must first be fixed. Nevertheless, you should see a picture on the screen. I do not know why you have a black screen.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 02, 2016, 01:18:07 pm
@RobertJ, You are right, the Linux builds are not usable. The odd screen behaviour must first be fixed. Nevertheless, you should see a picture on the screen. I do not know why you have a black screen.

Glad it's not just me and you can recreate it. :)

Just to clarify, it's not that I get a black screen, its that I get nothing at all, mame creates no window or viewport or whatever it creates.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 02, 2016, 01:57:33 pm
Please Doozer, post a full log showing the problem, that will help me to find a quick solution
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 02, 2016, 05:00:11 pm
From the log, it is clear that groovymame is not able to switch to  native game resolution based on its calculation. It runs using the X default resolution instead.

Code: [Select]
SwitchRes: v0.015l, Monitor: custom, Orientation: horizontal, Modeline generation: enabled
SwitchRes: Monitor range 15625.00-16200.00,55.10-65.00,2.000,5.700,8.000,0.064,0.192,1.024,0,0,192,240,0,0
SwitchRes: Monitor range 15625.00-16200.00,49.50-54.25,2.000,5.700,8.000,0.064,0.192,1.024,0,0,192,256,0,0
SwitchRes: Monitor range 15625.00-16200.00,49.50-65.00,2.000,5.700,8.000,0.064,0.192,1.024,0,0,0,0,448,576
SwitchRes: Found output connector 'VGA-0'
SwitchRes: Entering switchres_modeline_setup
SwitchRes: v0.015l:[cninja] Calculating best video mode for 256x240@58.000000 orientation: normal
SwitchRes: (   1)x(   1)_(60=0.0000Hz) - locked
SwitchRes: could not find a video mode that meets your specs
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: timply on January 02, 2016, 05:04:24 pm
I have an ATI 4350 video card with 1 vga port and 1 dvi port and just installed the new 2.0 drivers. Now the only way I can get my arcade monitor to work is to plug another monitor into the dvi port and my arcade monitor into the vga port and extend the display. Does that mean i will need to get an vga to dvi adapter and hook my arcade monitor up through the dvi port? This problem wasn't present before the driver update.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 02, 2016, 05:12:25 pm
This problem wasn't present before the driver update.

Indeed that was the problem we had before that we don't have now  :D

Anyway, you should be able to just remove the pc monitor from the dvi, tell Windows to only show desktop on monitor 2, and let the arcade monitor alone through the vga. I've done it this morning 3 times in a row with an HD 4350, it works.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: timply on January 02, 2016, 05:15:22 pm
K thanks, I'll give that a shot.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 02, 2016, 06:20:25 pm
From the log, it is clear that groovymame is not able to switch to  native game resolution based on its calculation. It runs using the X default resolution instead.

Ok Doozer I can see the error, I'll prepare a new patch, thanks.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 03, 2016, 04:15:16 am
From the log, it is clear that groovymame is not able to switch to  native game resolution based on its calculation. It runs using the X default resolution instead.

Ok Doozer I can see the error, I'll prepare a new patch, thanks.

Thanks Calamity. I have removed the non working versions from the drive and will upload the new versions when ready.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 03, 2016, 04:48:31 am
Hi Calamity,

A constant is missing for the Linux build in switchres.h

#define XRANDR_TIMING   0x00000010

I am operating the build remotely over a very slow satellite link. Normally, the package will be ready this afternoon. I hope the upload will terminate before 2016 ;-)

Ok I think this is the problem, this constant needs to be redefined as:

#define XRANDR_TIMING      0x00000020

(check the new definition custom_video.h in the windows osd folder)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 03, 2016, 08:19:43 am

Ok I think this is the problem, this constant needs to be redefined as:

#define XRANDR_TIMING      0x00000020

(check the new definition custom_video.h in the windows osd folder)

Indeed, the new value has fixed the issue with picture. Well done.

Unfortunately, I can see another strange behaviour with the keyboard detection. Time to time and for some games always, the keyboard inputs are not processed since the start of a game. I am currently compiling a stock mame for test to see if it is related to groovy or not. (wjammers log with keyboard issue in attachment)




Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 03, 2016, 08:33:20 am
There is an error regarding xrandr mode setting, do you think it's related?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 03, 2016, 08:38:06 am

It is not related. It is due previous killed execution leaving the video mode in xrandr.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 03, 2016, 01:53:24 pm
@Calamity

The stock mame is always detecting correctly the keyboard. The strange behaviour is reproducible on all previous groovymame version. I made some regression tests and I have identified that the issue is linked to the new SDL2 library (sdl2-2.0.4-2-x86_64 on ArchLinux). The sock mame does not have any issue, I assume it is linked to groovy patch in some way.

How does the groovy patch affect the keyboard code in mame?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 03, 2016, 02:19:57 pm
I am uploading the Linux builds, if you are using ArchLinux based distro (like GroovyArcade) keep sdl2 version until sdl2-2.0.3-1. Above version 2.0.3 keyboard will not be detected properly inside groovymame.

If you have already upgraded to latest SDL2 don't worry, here is how to downgrade to the right version.

Code: [Select]
# pacman -S downgrade
# downgrade sdl2
<select sdl2-2.0.3-1>

Code: [Select]
[root@cab1 ~]# pacman -S downgrade
resolving dependencies...
looking for conflicting packages...

Packages (1) downgrade-5.1.4-1

Total Download Size:   0.01 MiB
Total Installed Size:  0.10 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages ...
 downgrade-5.1.4-1-any                                                                5.9 KiB  0.00B/s 00:00 [################################################################] 100%
(1/1) checking keys in keyring                                                                               [################################################################] 100%
(1/1) checking package integrity                                                                             [################################################################] 100%
(1/1) loading package files                                                                                  [################################################################] 100%
(1/1) checking for file conflicts                                                                            [################################################################] 100%
(1/1) checking available disk space                                                                          [################################################################] 100%
(1/1) installing downgrade                                                                                   [################################################################] 100%
Optional dependencies for downgrade
    sudo: for installation via sudo [installed]
[root@cab1 ~]# downgrade sdl2
Available packages:

   1) sdl2-2.0.4-2-x86_64.pkg.tar.xz (remote)
   2) sdl2-2.0.4-1-x86_64.pkg.tar.xz (remote)
   3) sdl2-2.0.3-1-x86_64.pkg.tar.xz (remote)
   4) sdl2-2.0.2-2-x86_64.pkg.tar.xz (remote)
   5) sdl2-2.0.2-1-x86_64.pkg.tar.xz (remote)
   6) sdl2-2.0.1-3-x86_64.pkg.tar.xz (remote)
   7) sdl2-2.0.1-2-x86_64.pkg.tar.xz (remote)
   8) sdl2-2.0.1-1-x86_64.pkg.tar.xz (remote)

select a package by number: 3
######################################################################## 100.0%
######################################################################## 100.0%
loading packages...
warning: downgrading package sdl2 (2.0.4-1 => 2.0.3-1)
resolving dependencies...
looking for conflicting packages...

Packages (1) sdl2-2.0.3-1

Total Installed Size:   2.25 MiB
Net Upgrade Size:      -0.56 MiB

:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring                                                                               [################################################################] 100%
(1/1) checking package integrity                                                                             [################################################################] 100%
(1/1) loading package files                                                                                  [################################################################] 100%
(1/1) checking for file conflicts                                                                            [################################################################] 100%
(1/1) checking available disk space                                                                          [################################################################] 100%
(1/1) downgrading sdl2                                                                                       [################################################################] 100%
add sdl2 to IgnorePkg? [y/n] n
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 03, 2016, 04:00:11 pm
Thanks for digging into this Doozer. The only change that we do in GM is to poll input at a different place, just like we do in Windows. This shouldn't cause any issue, but input has proved to be extremely delicate under Linux.

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 03, 2016, 04:24:48 pm
Thanks for digging into this Doozer. The only change that we do in GM is to poll input at a different place, just like we do in Windows. This shouldn't cause any issue, but input has proved to be extremely delicate under Linux.

Apparently SDL2.0.4 introduces the multi keyboard handling feature. This feature is if high interest for mame and some emulator to route/filter the controls. It was initially planed for 2.1.0, I am not sure mame does use/include changes linked to it but it is my best guess at this time.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 03:58:30 am
Hi Doozer,

When you tested 0.169 with the redefined constant (#define XRANDR_TIMING      0x00000020), did you do it remotely? Could you confirm if the fullscreen settings are applied properly on the real hardware?

EDIT: @VeS & Doozer. Regarding input, could you please test this? In the patched source tree:

src/osd/sdl/window.cpp
    OSDWORK_CALLBACK( sdl_window_info::draw_video_contents_wt ) --> uncomment    sdlinput_process_events_buf();

src/osd/sdl/video.cpp

    void sdl_osd_interface::poll_input(void) ----> comment    sdlinput_process_events_buf();

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 05, 2016, 05:04:13 am
When you tested 0.169 with the redefined constant (#define XRANDR_TIMING      0x00000020), did you do it remotely? Could you confirm if the fullscreen settings are applied properly on the real hardware?

I did the test with a solid real screen attached to the computer ;-) It is working as expected with 0x20 constant. Fixed.

Quote
EDIT: @VeS & Doozer. Regarding input, could you please test this? In the patched source tree...

I will test this tonight to ensure real keyboard usage and not VNC/X11 craps.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 05, 2016, 05:15:26 am
Thanks for digging into this Doozer. The only change that we do in GM is to poll input at a different place, just like we do in Windows. This shouldn't cause any issue, but input has proved to be extremely delicate under Linux.

Apparently SDL2.0.4 introduces the multi keyboard handling feature. This feature is if high interest for mame and some emulator to route/filter the controls. It was initially planed for 2.1.0, I am not sure mame does use/include changes linked to it but it is my best guess at this time.

I made some investigation. MAME have already the multikeyboard feature implemented and SDL 2.0.4 handling is fully supported. Nothing to worry about from this side. My assumption is that the removed early processing of the keyboard events performed in the worker thread is causing the behaviour. This is aligned with Calamity proposed test.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 08:28:02 am
I've uploaded fixed versions of 0.169, notice the "_fix" ended files. These are meant to be used with the new tools:

http://forum.arcadecontrols.com/index.php/topic,141855.msg1553415.html#msg1553415 (http://forum.arcadecontrols.com/index.php/topic,141855.msg1553415.html#msg1553415)

Important note:

With regards to the issue with halved refresh on interlaced modes (W7), the new builds revert the previous fix. In order to avoid the problem, do either one of these things:

1.- If your monitor worked fine with tools 2.0 beta 3, this is because it has no problems with positive sync polarity. Use the new beta 4 tools, and edit your monitor preset to force positive sync. e.g.:
   
    crt_range0  15625-15750, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 1, 1, 192, 288, 448, 576

    This must be done when creating the modes with VMMaker, not only in mame.ini.

2.- If your monitor failed to sync with tools 2.0 beta 3, you need to keep negative sync polarity (default). In order to run interlaced games at full speed, do either one of these things:

               a) Enable frame_delay (e.g. -fd 1) If you have a half-decent machine, this will work smoothly
               b) Force -video ddraw

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on January 05, 2016, 08:57:10 am
Eh, this will probably brake Taito Type X games, probably also Model2 emulator :/
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 10:11:06 am
There is (yet) another problem with the "fixed" versions not properly updating modes. Please don't download until further notice.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on January 05, 2016, 10:24:48 am
Ok, I'll compile latest GIT with previous code.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 11:20:06 am
Ok, I'll compile latest GIT with previous code.

All 0.015l patches contain the bug. Building a new binary right now.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 05, 2016, 12:43:49 pm
src/osd/sdl/window.cpp
    OSDWORK_CALLBACK( sdl_window_info::draw_video_contents_wt ) --> uncomment    sdlinput_process_events_buf();

src/osd/sdl/video.cpp

    void sdl_osd_interface::poll_input(void) ----> comment    sdlinput_process_events_buf();

A good guess but result shows still not response from keyboard (tested under wjammers). The early worker thread is not the issue. The last possibility is that poll_input is called too late to be taken into account in the treatment of the events.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 02:11:16 pm
To completely revert the effect of the patch, in addition to those changes you need to leave empty the poll_input function, then move those calls where they belong, above in the video update routine.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 05, 2016, 02:47:07 pm
To completely revert the effect of the patch, in addition to those changes you need to leave empty the poll_input function, then move those calls where they belong, above in the video update routine.

I have already performed this test, No progress O_o issue is not linked to the input handler...
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 03:01:54 pm
I was afraid to hear that. Something in the way we're forcing video switching has broken input. SDL sucks so much. Only idea left... build with xinput enabled?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 05, 2016, 03:05:43 pm
Stock vanilla mame have xinput disabled and can handle sdl2. I am now digging inside the src/emu changes.

Edit: nothing useful discovered here...

Edit2: damn! really annoying issue. Just to report here that I have tested previous mame versions up to mame64_0162.015g and they all behave identically. Something have changed inside SDL from 2.0.3 to 2.0.4 and groovy patch s impacted.

@ALL. could a Windows user with sdl 2.0.4 installed confirm that this issue is not OS dependant? Just to narrow down the search area
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 05, 2016, 06:14:06 pm
Ok I've uploaded new binaries, the "_fix2" ended. These should work fine, finally. I've deleted the previous, broken ones. I'd appreciate the users that had been testing the previous versions could test this one, combined with the CRT Tools beta 4 should solve previous issues.

Now working on a tutorial to configure VMMaker for HD 4xxx, step by step.

The Linux binaries have still broken input, read Doozer's instructions regarding SDL 2.0.3.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on January 06, 2016, 06:33:45 am
Is it beta 4 and fix2 versions still for people that need Taito Type X games running at 100% speed?

What exactly was changed in fix2 ?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 06, 2016, 08:02:18 am
Is it beta 4 and fix2 versions still for people that need Taito Type X games running at 100% speed?

What exactly was changed in fix2 ?

"fix2" is simply a working version of the "fix" version I posted yesterday. Just follow my instructions and enable positive sync if you want 100% refresh speed on interlaced games. Unfortunately this setting is not supported by some monitors.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: keropi on January 06, 2016, 10:21:53 am
[...]

Now working on a tutorial to configure VMMaker for HD 4xxx, step by step.

[...]

Excellent news , can't wait for it! I do have questions but don't want to bother you fine folks that much, hopefully the tutorial will be of great help.
Haven't tested it yet but my arcade monitor is a "POLO 25" according to a sticker on the control board, I assume it's a 15/25khz one and hopefully it will work great with GM  :D
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 06, 2016, 12:52:47 pm
Uploaded "fix3", solves crash related to new cards (legacy cards not affected).
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Jollywest on January 07, 2016, 02:27:56 am
Is GM v0.151 Linux available anywhere please?

All links I've found are either dead ends or lead to the latest version.

Thanks.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 07, 2016, 05:38:09 am
Is GM v0.151 Linux available anywhere please?

All links I've found are either dead ends or lead to the latest version.

Thanks.

Nobody built that exact version for Linux, the closest you have is 0.152, here:

https://code.google.com/p/groovyarcade/downloads/list

However the diff is there, in case you want to roll your own build.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Jollywest on January 07, 2016, 05:58:40 am
Is GM v0.151 Linux available anywhere please?

All links I've found are either dead ends or lead to the latest version.

Thanks.

Nobody built that exact version for Linux, the closest you have is 0.152, here:

https://code.google.com/p/groovyarcade/downloads/list

However the diff is there, in case you want to roll your own build.

Cheers for that, I'll have a look into building it.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 07, 2016, 10:39:24 am
Just to clarify, it's not that I get a black screen, its that I get nothing at all, mame creates no window or viewport or whatever it creates.

@RobertJ,

I have uploaded versions named *_SDL2.0.4+_fix to the share drive. Could you kindly check if it solves your issue?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 07, 2016, 11:15:20 am
I've uploaded 0169_groovymame_015l_fix4.diff, including new Doozer's patch for SDL 2.0.4 input.

(Windows users don't need to update)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 07, 2016, 04:59:27 pm
I have uploaded versions named *_SDL2.0.4+_fix to the share drive. Could you kindly check if it solves your issue?

The groovymame inside the tar.bz2 doesn't appear to be an executable. :( Whenever I try and launch it bash says command not found.

I tried the diff Calamity just posted and rebuilt from scratch, and that has the same issue as before. :/ Tried various sdl2 versions, no difference.

I appreciate the time both of you are putting into this, it's a thankless task, but thank you all the same.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Jonny G on January 07, 2016, 05:12:03 pm
Just wanted to say thank you for all the hard work you've put into this new version, Calamity.

Got my cab back up and running tonight using XP-x64 9.3 Emu Drivers with CRT Tools 2.0 Beta 4. A bit of trial and error required getting the right settings in VMM, but just stuck with dynamic mode for now. Deffo ran into the blurry problem at one point and a few cases where I had to check if thottle was enabled or not because some games were running at extreme speeds.

Anyway, happy now. Thanks again.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 07, 2016, 05:29:06 pm
The groovymame inside the tar.bz2 doesn't appear to be an executable. :( Whenever I try and launch it bash says command not found.

I tried the diff Calamity just posted and rebuilt from scratch, and that has the same issue as before. :/ Tried various sdl2 versions, no difference.

I appreciate the time both of you are putting into this, it's a thankless task, but thank you all the same.

In any case you should see groovymame picture. Have you already tried to launch mame64 without any patch?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 07, 2016, 05:46:24 pm
In any case you should see groovymame picture. Have you already tried to launch mame64 without any patch?

Just literally built a clean mame169 with just the hiscore diff patch, and that runs straight away, no 100% cpu, however it does run in completely the wrong aspect ratio for reasons I don't understand as its the same config as groovymame is using.

So the issue is somehow related to the groovymame patch. :/
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 07, 2016, 06:37:54 pm
Just literally built a clean mame169 with just the hiscore diff patch, and that runs straight away, no 100% cpu, however it does run in completely the wrong aspect ratio for reasons I don't understand as its the same config as groovymame is using.

So the issue is somehow related to the groovymame patch. :/

Try forcing -lcd_range 60-60
(default lcd range is the only change I did in 169)

Also, consider posting a full log.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 08, 2016, 08:03:23 am
So the issue is somehow related to the groovymame patch. :/

I am wondering if your issue is not linked to some configuration parameters. For example, the shader model is having issue when both tilt angle components are set to zero.
Code: [Select]
const vec2 angle = vec2(0.0,0.0);

# == to be changed to =>

const vec2 angle = vec2(0.0,0.01);

But as Calamity said, please provide your logs and ini to have a better diagnostic.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 08, 2016, 08:31:46 am
Uploaded "fix5":

 - (Linux) Fixes input for SDL 2.0.4 (Doozer)
 - (Windows) Fixes Powerstrip support

Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on January 08, 2016, 12:12:15 pm
Calamity, is fix5 version ready for Windows XP ? If yes, I have to use latest tools or I can stay on old ones ?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 08, 2016, 12:26:33 pm
Calamity, is fix5 version ready for Windows XP ? If yes, I have to use latest tools or I can stay on old ones ?

It should be ready. Always use the latest tools.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 08, 2016, 01:58:23 pm
Try forcing -lcd_range 60-60
(default lcd range is the only change I did in 169)

Same issue with that either in mame.ini or on the command line. :(

Also, consider posting a full log.

I did. :(

http://forum.arcadecontrols.com/index.php/topic,135823.msg1552569.html#msg1552569 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1552569.html#msg1552569)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 08, 2016, 02:04:50 pm
For comparison, here is the working log from 168, if I run 169 with the lcd_range setting the SwitchRes monitor range line matches the one below, but still hangs before the rng(0) line:

Code: [Select]
SwitchRes: v0.015k, Monitor: lcd, Orientation: horizontal, Modeline generation: disabled
SwitchRes: Using default vfreq range for LCD 60.000000-60.000000
SwitchRes: Found output connector 'DVI-I-1'
SwitchRes: Creating automatic specs for LCD based on VESA GTF
SwitchRes: Monitor range 74520.00-74520.00,60.00-60.00,0.696,1.044,1.740,0.013,0.040,0.510,0,1,1200,1200,0,0
SwitchRes: -resolution was set at command line or in .ini file as 1600x1200@60

SwitchRes: Entering switchres_modeline_setup
SwitchRes: v0.015k:[pacman] Calculating best video mode for 224x288@60.606060 orientation: rotated

SwitchRes: [1600]x[1200]_(60=0.0000Hz)
   rng(0): 1600 x1200_0.000p 0.000 [integ] scale(4, 4, 1) diff(0.44, 3.95, -0.6061) ratio(7.143, 4.167)

SwitchRes: [pacman] (1) vertical (224x288@60.61)->(1600x1200@0.00)
   rng(0): 1600 x1200_0.000p 0.000 [integ] scale(4, 4, 1) diff(0.44, 3.95, -0.6061) ratio(7.143, 4.167)
SwitchRes: Setting option -rotate
SwitchRes: Setting option -noror
SwitchRes: Setting option -noautoror
SwitchRes: Setting option -norol
SwitchRes: Setting option -noautorol
SwitchRes: Setting option -noblack_frame_insertion
SwitchRes: Setting option -multithreading
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -waitvsync
SwitchRes: Setting option -keepaspect
SwitchRes: Setting option -nounevenstretch
SwitchRes: Setting option -nofilter
SwitchRes: Setting option -prescale 3
Available videodrivers: x11 wayland dummy
Current Videodriver: x11
        Display #0
                Renderdrivers:
                            opengl (0x0)
                         opengles2 (0x0)
                          opengles (0x0)
                          software (0x0)
Available audio drivers:
        pulseaudio         
        alsa               
        dsp                 
        disk               
        dummy               
Build version:      0.168 (Dec 20 2015)
Build architecure: 
Build defines 1:    SDLMAME_UNIX=1 SDLMAME_X11=1 SDLMAME_LINUX=1
Build defines 1:    LSB_FIRST=1 PTR64=1 SYNC_IMPLEMENTATION=tc
SDL/OpenGL defines: SDL_COMPILEDVERSION=2003 USE_OPENGL=1
Compiler defines A: __GNUC__=5 __GNUC_MINOR__=3 __GNUC_PATCHLEVEL__=0 __VERSION__="5.3.0"
Compiler defines B: __amd64__=1 __x86_64__=1 __unix__=1
Compiler defines C: __USE_FORTIFY_LEVEL=0
Enter init_monitors
Adding monitor screen0 (1600 x 1200)
Leave init_monitors
Enter sdlwindow_init
Using SDL multi-window OpenGL driver (SDL 2.0+)
/dev/dri/card0 successfully opened

Hints:
        SDL_FRAMEBUFFER_ACCELERATION             (null)
        SDL_RENDER_DRIVER                        (null)
        SDL_RENDER_OPENGL_SHADERS                (null)
        SDL_RENDER_SCALE_QUALITY                 (null)
        SDL_RENDER_VSYNC                         (null)
        SDL_VIDEO_X11_XVIDMODE                   (null)
        SDL_VIDEO_X11_XINERAMA                   (null)
        SDL_VIDEO_X11_XRANDR                     (null)
        SDL_GRAB_KEYBOARD                        (null)
        SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS         (null)
        SDL_IOS_IDLE_TIMER_DISABLED              (null)
        SDL_IOS_ORIENTATIONS                     (null)
        SDL_XINPUT_ENABLED                       (null)
        SDL_GAMECONTROLLERCONFIG                 (null)
        SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS     (null)
        SDL_ALLOW_TOPMOST                        (null)
        SDL_TIMER_RESOLUTION                     (null)
        SDL_RENDER_DIRECT3D_THREADSAFE           (null)
        SDL_VIDEO_ALLOW_SCREENSAVER              (null)
        SDL_ACCELEROMETER_AS_JOYSTICK            (null)
        SDL_MAC_CTRL_CLICK_EMULATE_RIGHT_CLICK   (null)
        SDL_VIDEO_WIN_D3DCOMPILER                (null)
        SDL_VIDEO_WINDOW_SHARE_PIXEL_FORMAT      (null)
        SDL_VIDEO_MAC_FULLSCREEN_SPACES          (null)
        SDL_MOUSE_RELATIVE_MODE_WARP             (null)
        SDL_HINT_RENDER_DIRECT3D11_DEBUG         (null)
        SDL_VIDEO_HIGHDPI_DISABLED               (null)
        SDL_HINT_WINRT_PRIVACY_POLICY_URL        (null)
        SDL_HINT_WINRT_PRIVACY_POLICY_LABEL      (null)
        SDL_HINT_WINRT_HANDLE_BACK_BUTTON        (null)
Leave sdlwindow_init
Enter sdl_info::create
OpenGL: nouveau
OpenGL: Gallium 0.4 on NVC8
OpenGL: 3.0 Mesa 11.1.0
OpenGL: texture rectangle supported
OpenGL: non-power-of-2 textures supported (new method)
OpenGL: vertex buffer supported
OpenGL: pixel buffers supported
OpenGL: framebuffer object supported
OpenGL: GLSL supported, but disabled
OpenGL: max texture size 16384 x 16384
Leave sdl_info_ogl::create
Keyboard: Start initialization
Input: Adding Kbd #0: System keyboard
Keyboard: Registered System keyboard
Keyboard: End initialization
Mouse: Start initialization
Input: Adding Mouse #0: System mouse
Mouse: Registered System mouse
Mouse: End initialization
Joystick: Start initialization
Input: Adding Joy #0: Ultimarc IPAC 2 Ultimarc IPAC 2
Joystick: Ultimarc IPAC 2 Ultimarc IPAC 2
Joystick:   ...  4 axes, 32 buttons 1 hats 0 balls
Joystick:   ...  Physical id 0 mapped to logical id 1
Joystick: End initialization
output: unable to open output notifier file /tmp/sdlmame_out
Audio: Start initialization
Audio: Driver is pulseaudio
Audio: frequency: 48000, channels: 2, samples: 256
sdl_create_buffers: creating stream buffer of 18432 bytes
Audio: End initialization
Region ':maincpu' created
Region ':gfx1' created
Region ':proms' created
Region ':namco' created
Starting Pac-Man (Midway) ':'
Optional shared pointer 'patched_opcodes' not found
Optional shared pointer 'rocktrv2_prot' not found
Optional shared pointer 's2650_tileram' not found
Optional shared pointer 's2650_spriteram' not found
  (missing dependencies; rescheduling)
Starting Z80 ':maincpu'
Starting gfxdecode ':gfxdecode'
Starting palette ':palette'
Starting Video Screen ':screen'
Starting Speaker ':mono'
  (missing dependencies; rescheduling)
Starting Namco ':namco'
Starting Pac-Man (Midway) ':'
Optional shared pointer 'patched_opcodes' not found
Optional shared pointer 'rocktrv2_prot' not found
Optional shared pointer 's2650_tileram' not found
Optional shared pointer 's2650_spriteram' not found
  (missing dependencies; rescheduling)
Starting Speaker ':mono'
Starting Pac-Man (Midway) ':'
Optional shared pointer 'patched_opcodes' not found
Optional shared pointer 'rocktrv2_prot' not found
Optional shared pointer 's2650_tileram' not found
Optional shared pointer 's2650_spriteram' not found
OpenGL: VBO supported
OpenGL: PBO supported
OpenGL: FBO supported
OpenGL: using vid filter: 0
GL texture: copy 1, shader 0, dynamic 1, 864x672 864x672 [PALETTE16, Equal: 0, Palette: 1,
            scale 3x3, border 0, pitch 384,864/16384], bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 864x672 864x672 [PALETTE16, Equal: 0, Palette: 1,
            scale 3x3, border 0, pitch 384,864/16384], bytes/pix 4
GL texture: copy 1, shader 0, dynamic 1, 864x672 864x672 [PALETTE16, Equal: 0, Palette: 1,
            scale 3x3, border 0, pitch 384,864/16384], bytes/pix 4
Average speed: 81.70% (10 seconds)
sdl_kill: closing audio
Sound buffer: overflows=3 underflows=6
Enter sdlwindow_exit
Leave sdlwindow_exit
Joystick: Start deinitialization
Joystick: End deinitialization
SwitchRes: Restoring desktop resolution: 1600x1200
SwitchRes: Running 'xrandr --output DVI-I-1 --mode 1600x1200'
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 08, 2016, 05:02:19 pm
I'll have a look RobertJ.

(It's much better to attach the log file to your post)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 08, 2016, 05:06:25 pm
Try forcing -lcd_range 60-60
(default lcd range is the only change I did in 169)

Same issue with that either in mame.ini or on the command line. :(

Also, consider posting a full log.

I did. :(

http://forum.arcadecontrols.com/index.php/topic,135823.msg1552569.html#msg1552569 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1552569.html#msg1552569)

That's not a full log, just a few lines.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 08, 2016, 05:10:28 pm
That's not a full log, just a few lines. Did you try the lcd_range thing I suggested?

No, really, that's the full log! That's as far as it gets with -v, after that the process hits 100% cpu and never gets any further.

I did try the lcd_range, it just changed the text in the Monitor Range line to match the previous working version, it still hangs in the same place.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 08, 2016, 05:21:11 pm
No, really, that's the full log! That's as far as it gets with -v, after that the process hits 100% cpu and never gets any further.

I did try the lcd_range, it just changed the text in the Monitor Range line to match the previous working version, it still hangs in the same place.

Ok thanks! I didn't imagine it'd be that bad  ;) I have a slight idea of the cause of it.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 08:35:08 am
Uploaded "fix6":

 - (Linux) Attempt to fix bug reported by RobertJ (untested, please check if possible).
 - (Windows, new AMD cards) Fix crash (http://forum.arcadecontrols.com/index.php/topic,148978.msg1553747.html#msg1553747) reported by intealls, (still won't turn a progressive mode to interlaced in the same session, probably not possible at all).
- (Windows) Properly tell apart system modes (surprised this hasn't cause issues yet, or has it?).
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on January 09, 2016, 10:04:54 am

Edit: Only seems to work with ddraw and d3d9ex, not d3d?? D3D still selects the progressive mode.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 10:26:18 am
I accidentally edited your post trying to answer.

I meant if what only seems to work is your workaround or my new build.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on January 09, 2016, 10:43:45 am
The new build shows the same result for D3D and DDraw, such that it (I presume) selects the native/progressive mode. D3D9Ex still shows 'Error during present call'.

With the old build with the workaround, D3D9Ex and DDraw selects 720x480@60i. D3D selects 720x480@60p.
With the new build and the workaround D3D and DDraw selects 720x480@60p. D3D9Ex selects 720x480@60i.

Sorry for the confusion, attached logs for the new build + workaround. Fastforward is used so the speed is not reported.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 11:28:51 am
So new build without wa + d3d9ex crashes? I cloned your modelines here this morning and it worked fine for all apis. Although mode was not updated properly to interlace as I said.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on January 09, 2016, 11:40:52 am
So new build without wa + d3d9ex crashes? I cloned your modelines here this morning and it worked fine for all apis. Although mode was not updated properly to interlace as I said.

Yes, that is correct. It doesn't crash per se but locks up with an empty black window covering most of the screen, when ESC is pressed there are a lot of Error during present call in the log.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 11:44:46 am
That didn't happen here, will test again on monday.
edit: It might be related with -mt
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on January 09, 2016, 11:57:50 am
That didn't happen here, will test again on monday.
edit: It might be related with -mt

Ok, let me know if you need anything.

MT does not seem to affect the result, attaching two logs of the latest build with/without mt without the workaround.

Edit: Also, there seems to be a forum bug related to the attachments. I *just* posted this and the download counter for these files must be corrupt (24/27). Now 38/38. I saw the issue once before in the original fix2 crash post. Who should we contact about this?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 09, 2016, 01:37:15 pm
Uploaded "fix6":

 - (Linux) Attempt to fix bug reported by RobertJ (untested, please check if possible).

Wooooooop!!!! \o/ Thanks Calamity, fix6 now works for me!!!

What was the cause?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 01:55:00 pm
Ok, let me know if you need anything.

MT does not seem to affect the result, attaching two logs of the latest build with/without mt without the workaround.

Edit: Also, there seems to be a forum bug related to the attachments. I *just* posted this and the download counter for these files must be corrupt (24/27). Now 38/38. I saw the issue once before in the original fix2 crash post. Who should we contact about this?

Thank for the logs. I've searched for error 08760877, it's S_PRESENT_MODE_CHANGED: https://msdn.microsoft.com/es-es/library/windows/desktop/bb172554(v=vs.85).aspx

It looks like we should reset the device if that happens, but I remind you reporting another issue about resetting the device in d3d9ex.

No idea about the download counter thing  ???


Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 02:03:33 pm
Wooooooop!!!! \o/ Thanks Calamity, fix6 now works for me!!!

What was the cause?

The specific combination you're using: -nomodeline_generation, -monitor lcd, was forcing a call to the modeline generator with vfreq = 0, causing the call to hang. Old version didn't expose the bug because it forced refresh to be editable regardless the -modeline_generation option.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: RobeeJ on January 09, 2016, 02:12:34 pm
Ah, that makes sense, though surprising it eats CPU rather than bombs out.

Thanks for your time and patience fixing this release, it seems to have been a difficult one.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 09, 2016, 06:37:02 pm

Edit: Only seems to work with ddraw and d3d9ex, not d3d?? D3D still selects the progressive mode.

Because I accidentally edited your post I missed the part where you describe the workaround. By looking at your logs I can't see any relevant difference with/without workaround, apart from the crash obviously.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on January 09, 2016, 07:49:20 pm

Edit: Only seems to work with ddraw and d3d9ex, not d3d?? D3D still selects the progressive mode.

Because I accidentally edited your post I missed the part where you describe the workaround. By looking at your logs I can't see any relevant difference with/without workaround, apart from the crash obviously.

Exactly, this is what is strange. Also weird that it doesn't affect your machine, what GPU are you using?

I'm using super resolutions so the workaround is to add 720x480@60 below the 640x480@60 desktop mode in the user mode file. This caused (with the old build) DDraw and D3D9Ex to use 720x480@60i, and D3D 720x480@60p. With the new build, D3D9Ex uses 720x480@60i, DDraw and D3D uses 720x480@60p.

Is it possible to remove/replace the native modes completely?

Ok, let me know if you need anything.

MT does not seem to affect the result, attaching two logs of the latest build with/without mt without the workaround.

Edit: Also, there seems to be a forum bug related to the attachments. I *just* posted this and the download counter for these files must be corrupt (24/27). Now 38/38. I saw the issue once before in the original fix2 crash post. Who should we contact about this?

Thank for the logs. I've searched for error 08760877, it's S_PRESENT_MODE_CHANGED: https://msdn.microsoft.com/es-es/library/windows/desktop/bb172554(v=vs.85).aspx

It looks like we should reset the device if that happens, but I remind you reporting another issue about resetting the device in d3d9ex.

The reset problem was due to the window that's starting GM not getting focus upon exiting GM. So if a command prompt was used to start GM, upon exit, window focus is not restored to it. This caused issues with the Attact Mode frontend. To resolve the issue I simply hacked out the device reset upon exit for the ASIO GM 0.169 patch. But this is not in the official 0.169, and I figured it's better to try to find a clean solution.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on January 10, 2016, 07:46:05 am
I had the similiar problem with attract mode (only static layouts) even with previous GM and tools. After quiting groovymame attract mode stays at black screen.
Also the similiar problem is with F.E.E.L. right now - http://forum.arcadecontrols.com/index.php/topic,145933.msg1552864.html#msg1552864 (http://forum.arcadecontrols.com/index.php/topic,145933.msg1552864.html#msg1552864)

EDIT. With VMMaker beta 5 under XP model2 emu does not work.

EDIT2. Back to VMMkaer 1.4 - model2 working again. Groovymame 169fix6 working with previous VMMaker 1.4b
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 10, 2016, 11:35:24 am
EDIT. With VMMaker beta 5 under XP model2 emu does not work.

What happens exactly?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: haynor666 on January 10, 2016, 12:21:54 pm
Emulator crashed upon entering full screen mode.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 11, 2016, 04:34:23 pm
Exactly, this is what is strange. Also weird that it doesn't affect your machine, what GPU are you using?

Ok so today I could reproduce your exact issue, it happend just like you said. I'll work on a fix, it's going to require some changes.

Quote
Is it possible to remove/replace the native modes completely?

That would require patching the driver even more. Currently GM tells apart native modes again, so it's not a problem, but this was missing from some of the "fix" revisions.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: CharlieFar on January 14, 2016, 03:51:50 pm
Thanks Calamity for the time and effort you put into these releases.
Removing the hack makes Galaxian looks fantastic on my vertical setup!
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 19, 2016, 05:37:22 am
@calamity

I have a minor enhancement to increase the correctness of the refresh rate under Linux. The dotclock under xrandr is set with 3 digits precision. I have in my test enabled 6 digits output to see how the system behaves. With the actual code, the system is even making a bad rounding. Could that be added to the groovy patch?

current patch: bad rounding of the clock to 59.18Hz
Code: [Select]
   640x480_59.19 (0x27a) 23.530MHz -HSync +VSync
        h: width   640 start  656 end  720 total  800 skew    0 clock  29.41KHz
        v: height  480 start  481 end  484 total  497           clock  59.18Hz

higher precision patch: better dot clock (23.532MHz) with wanted v-refresh 59.19Hz
Code: [Select]
  640x480_59.185608 (0x278) 23.532MHz -HSync +VSync
        h: width   640 start  656 end  720 total  800 skew    0 clock  29.42KHz
        v: height  480 start  481 end  484 total  497           clock  59.19Hz
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 19, 2016, 05:50:24 am
Quote
Could that be added to the groovy patch?

Sure, post your patch. Anyway, have you actually checked if this translates in a refresh difference? IIRC GM already accounts for the 10 kHz dotclock aligment, thus the rounding.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 19, 2016, 06:00:44 am
Quote
Could that be added to the groovy patch?

Sure, post your patch. Anyway, have you actually checked if this translates in a refresh difference? IIRC GM already accounts for the 10 kHz dotclock aligment, thus the rounding.

Having a 6 digits precision opens the door to future xrandr upgrades enabling better dotclock graphic cards to take an advantage.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 19, 2016, 06:26:38 am
Having a 6 digits precision opens the door to future xrandr upgrades enabling better dotclock graphic cards to take an advantage.

Honestly, unless an actual difference is indeed measured, in my experience adding more digits only provides a false image of accuracy, but anyway.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: zod on January 19, 2016, 04:17:35 pm
This all seems super confusing compared to my old Mame set ups... But. Before I go on. I would like to know if my crappy old PC will run GroovyMAME 0.169.

Just built it out of some junk I had laying around:

AMD 3000+ 2ghz, 1gb ram, Radeon 9200SE, WinXP SP3.

Been having a lot of trouble running different versions of Mame on my Sony BVM-20E1E.

Some are too slow.. most I cant get the picture good.

Mame32 0.84u3 works great but has problems. No Neo Geo roms work, cant play newer games, Some games (kung fu master) have weird screen wobble problems. I imagine this is to do with switchres not being enabled.

I have CRT emulation installed, 15hz soft mod installed etc.

Questions:

Can my PC handle GroovyMame?
Can I get Neo Geo roms working on my ancient version of mame?

UPDATE: GOT MAMEFX 156 WORKING AND MOST GAMES. Is it possible to get timing working correctly on other versions of Mame or do I need Groovymame to do that?
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Calamity on January 23, 2016, 06:20:48 am
Switchres 0.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).
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: sean_sk on January 23, 2016, 08:05:30 am
WOW you have been busy Calamity. Thank you very very much. This is awesome. Really looking forward to trying this out.
Hope we didn't stress you out. :)
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: intealls on January 23, 2016, 08:12:29 am
Awesome job!

I just verified that the interlace problem is fixed.

Thanks a lot for your work, in our flat it's used pretty much every day, and it's a pure delight to see a new generation of graphics cards powering these lovely, lovely CRTs.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: Doozer on January 23, 2016, 02:10:23 pm

Thanks a lot Calamity for this awesome version.

I have updated the Linux packages and added the 'final' keyword suffix.
Title: Re: GroovyMAME 0.169 - SwitchRes v0.015l
Post by: rCadeGaming on January 23, 2016, 03:30:01 pm
 :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:  :notworthy:
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on January 27, 2016, 02:44:31 pm
GroovyMAME 0.170 (Switchres 0.015l) is out.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Doozer on January 27, 2016, 04:39:33 pm
GroovyMAME 0.170 (Switchres 0.015l) is out.

Thanks :-D Linux 64bit builds are uploaded, I will upload the 32bit arcs tomorrow. It's time to rest here.
Title: Re: GroovyMAME 0.163 - SwitchRes v0.015h
Post by: lolo40 on February 04, 2016, 06:46:02 pm
A guy who I built a version of GM.163 for tells me that he's also getting the 26 modeline issue when running VMmaker on that version. He's dropped back to an earlier one and its fine. Unfortunately I can't verify this as my CRT is away for repair. I appreciate you're busy with other things right now but if there's anything I can do to help diagnose this bug please let me know.

You can use an older binary to extract the xml. Just use the xml from GM 0.161, and keep using GM 0.163 for actual emulation. This is not a bug, it's VMMaker that needs to be updated for the new 0.162 xml format.
Hi,
VMMaker 2.0 work now with the new xml format.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on February 17, 2016, 05:07:08 am
http://git.redump.net/mame/commit/?id=a661821aa5e922932496cc90a2db8a8e67fc06df (http://git.redump.net/mame/commit/?id=a661821aa5e922932496cc90a2db8a8e67fc06df)

 ;)
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: haynor666 on February 17, 2016, 09:13:22 am
It's sad. Now I need force ratio 1:1 in D3D somehow for some games because my TV does not have regulation for horizontal size :/
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on February 17, 2016, 09:38:34 am
It's sad. Now I need force ratio 1:1 in D3D somehow for some games because my TV does not have regulation for horizontal size :/

Not sure what you mean. D3D provides the same scaling features as DDraw in my experience.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: haynor666 on February 17, 2016, 04:52:16 pm
But for some games I need resolution smaller that game actually tries to use for example Escape Kids - I need 288x240 because game outputs graphics only 288 pixels but game actually uses instead 321x240. Either I use 328x240 (large black bars) or use ddraw and use 288x240. Now when ddraw is gone I have to somehow force integer scalling and cutting picture instead of shrinking it.

EDIT.

Another problem might appear soon - http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140 (http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140)
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on February 18, 2016, 03:45:41 am
Another problem might appear soon - http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140 (http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140)

Hopefully you guys see now why I've been pushing for W7 and D3D the last couple of years.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: haynor666 on February 18, 2016, 06:45:07 am
Do You planning restoring ddraw for groovymame? Right now I don't see any solution for halved refreshrates under windows 7 and legacy timings besides enabling positive sync.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on February 18, 2016, 07:50:31 am
Do You planning restoring ddraw for groovymame?

No, I won't restore ddraw. My recent efforts have been in the direction of making DirectDraw (and XP) totally redundant for CRT use. See for instance our struggle for a reliable frame_delay on D3D in the ASIO thread. DirectDraw deprecation was a matter of time. DirectDraw is already buggy in Windows 7 (remind the hacks required for simple interlaced/progressive mode switching), but it's not even usable in W8/10, as it's software emulated due to desktop compositing.

Besides, the implementation of D3D9ex already replaces DirectDraw in the only field were it still standed: out-of-the-box low latency.

Quote
Right now I don't see any solution for halved refreshrates under windows 7 and legacy timings besides enabling positive sync.

Frame delay fixes that too.

(GM still relied on DirectDraw for interlaced modes but this behaviour was finally removed in 0.169).

Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: haynor666 on February 18, 2016, 08:52:10 am
Ok, I'm glad to read that. So my only problem is now forced integer scalling.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: sean_sk on February 18, 2016, 06:40:02 pm
Hopefully you guys see now why I've been pushing for W7 and D3D the last couple of years.

I don't know how the others feel but I'm glad you did. The great strides you have made in improving GroovyMAME have been remarkable and invaluable.
It's a shame that the improvements you've made in the functionality of D3D and D3D9ex haven't been taken up in mainline MAME. IMHO, GM has set the new standard for MAME in this area.
I'm glad my mate Sledge introduced it to me 4 years ago.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on February 18, 2016, 06:47:59 pm
Thanks, anyway credit for D3D9ex is for koopah & intealls.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: sean_sk on February 18, 2016, 08:15:12 pm
Thanks, anyway credit for D3D9ex is for koopah & intealls.

Yeah for sure! Thanks guys for putting all that knowledge and insight to good use.  :D
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Sledge on February 18, 2016, 10:14:44 pm
Hopefully you guys see now why I've been pushing for W7 and D3D the last couple of years.
I'm glad my mate Sledge introduced it to me 4 years ago.
so you're admitting to me being correct about something?
WOW!
If only you could have that attitude the rest of the time!!
 :laugh2: :laugh2: :cheers:
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: krick on February 20, 2016, 12:25:08 am
Calamity,

I've been out of the loop for a while and I'm looking to refresh my MAME machine with better hardware and updated GroovyMAME.

In light of the recent improvements to GroovyMAME/Switchres (and the removal of DDraw) what would you say is the "best" (most features, least drawbacks) setup these days in terms of OS + video hardware + drivers?

My current setup is WinXP x64 + ATI Radeon X600 XT.  My monitor is a 15KHz Hantarex Polo 25 + JPAC

I have a spare copy of Win7 and and ATI Radeon HD 4550 at my disposal.  I'm totally willing to buy a newer graphics card if it somehow makes things easier or better.  If you recommend a new card, what specifically should one look for?

I saw a mention of UMSA in the Switchres release notes to fix an issue with sync polarity.  Does that only apply to the HD 2000/3000/4000?

When moving to the newer cards HD 5000/6000/7000, do they have dot-clock issues like the HD 2000/3000?


EDIT: I think I need to update my mirror page.  It looks like my downloads are not up to the latest version on eiusdemmodi.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: haynor666 on February 20, 2016, 06:55:15 am
If I remember correctly dot clock issue is absolete with cards HD5xxx and futher.

The new HD5xxx, HD6xxx family due to ADL timings does not suffer from halved refresh rates (at least my HD5450 seems to be working fine) but interlaced picture is blurry. For the best solution was use HD4350 and set positive sync to get proper refresh rates with interlaced modes. Sadly HD5450 is far below for DEmul though more than enough for Makaron or nullDC. Also due to small problems with Taito Type X games and Deathsmiles II I'm staying for now with XP. In next year mame could only be x64 program and designed for Vista and upward - http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140 (http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140)

For people that uses mame only - move to windows 7 x64 if your hardware is capable and use latest Calamity driver.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: Calamity on February 20, 2016, 10:13:26 am
If I remember correctly dot clock issue is absolete with cards HD5xxx and futher.

The new HD5xxx, HD6xxx family due to ADL timings does not suffer from halved refresh rates (at least my HD5450 seems to be working fine) but interlaced picture is blurry. For the best solution was use HD4350 and set positive sync to get proper refresh rates with interlaced modes. Sadly HD5450 is far below for DEmul though more than enough for Makaron or nullDC. Also due to small problems with Taito Type X games and Deathsmiles II I'm staying for now with XP. In next year mame could only be x64 program and designed for Vista and upward - http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140 (http://mame32fx.altervista.org/forum/viewtopic.php?f=1&t=33&start=140)

For people that uses mame only - move to windows 7 x64 if your hardware is capable and use latest Calamity driver.

Come on haynor...

All are pros if you upgrade to HD 5000+ cards: no dotclock issues, no halved refresh issues, no monitor detection issues.

I'd argue the "blurry" interlaced modes thing is more of a feature rather than a problem. Saying "blurry" is saying too much, just slightly filtered. Ironically for years we've seen hundreds of posts saying "HELP ME!! My screen flickerz! How do I fix it??" Well, this filter reduces flicker dramatically. Anyway, suggesting this is a reason not to upgrade is absurd. The HD 4xxx don't even support DirectX 11, they're not fully Windows 7 capable cards, although they may work very well.

Besides, the 5450 is just a cheap entry level card. The new drivers support up to summer 2012 cards. Cards that will run DEmul or whatever without breaking a sweat. Quite soon, problaby all current AMD cards will be supported. Check this thread (http://forum.arcadecontrols.com/index.php/topic,149266.0.html) for some 7000 cards that have been tested.

Taito Type X games are based on a hacked launcher, they're not even native PC games. And eventhough we've seen that in most cases they can be fixed and run fine. Indeed I thought we had already worked out all the issues you reported (Spica Adventure, SF IV videos, etc.).

A different story is emulators that simply are outdated for W7 (ddraw), or simply poorly coded, as we've been discussing in the compatibility thread.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: big10p on February 20, 2016, 10:53:06 am
Hmm, interlaced modes look fine on my 5450 (once I've adjusted the modeline VTotal to make my monitor play ball). Breeze to install CRT emudriver on too, compared to my 4350.
Title: Re: GroovyMAME 0.170 - SwitchRes v0.015l
Post by: haynor666 on February 20, 2016, 11:47:19 am
Calamity, I suggest anyone to move to 7 x64 but due my small problems with some Taito Type X games (not video related, still some problems with inputs in Deathsmiles II and graphical glitches like missing half of plane in Raiden III) I might stay with XP for last time. Since mame now have serious problems on XP this probably be last XP installed by me :)

About blurry picture - interlaced resolutions looks ok in Taito Type X games and some 3D games in mame but does not look good in Disc of Tron or any 2D game that use interlaced resolutions. Frontends also does not look too good in my opinion :/
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 24, 2016, 07:37:34 am
GroovyMAME 0.171 is out.

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).
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: donluca on February 24, 2016, 12:18:01 pm
So, is GM now only compatible with w7 and more recent OS?

Or does it still retain compatibility with WinXP and DDraw?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 24, 2016, 12:54:34 pm
So, is GM now only compatible with w7 and more recent OS?

Or does it still retain compatibility with WinXP and DDraw?

It is still compatible with XP, using the D3D video option.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: donluca on February 24, 2016, 01:49:36 pm
Got it.

So 0.170 is officially the last release to support DDraw, correct?

From now on WinXP will have to use D3D and Win7+ will use D3D9ex.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 24, 2016, 01:53:51 pm
So 0.170 is officially the last release to support DDraw, correct?

Correct.

Quote
From now on WinXP will have to use D3D and Win7+ will use D3D9ex.

Win7 can either use D3D, D3D9ex or BGFX (DirectX 11)
WinXP can use D3D (BGFX D3D9 backend still not supported by GroovyMAME, it is by mainline)

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on February 24, 2016, 02:09:03 pm
GroovyMAME 0.171 is out.

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.
Still using d3d9ex here, I suppose as long as SwitchRes is on in the .INI we should leave the new UI's 'Display Options' menu alone, right ?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 24, 2016, 02:14:49 pm
Still using d3d9ex here, I suppose as long as SwitchRes is on in the .INI we should leave the new UI's 'Display Options' menu alone, right ?

As far as I've seen, UI options apply to mame.ini, not per-game. E.g. forcing syncrefresh in mame.ini will override automatic behaviour, so it's not a good idea.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: donluca on February 24, 2016, 04:54:06 pm
I'm wondering if the new BGFX will bring something new and interesting to the tables for GroovyMAME.

What can we expect from it? More accurate refresh rate generation? Honestly DDraw did everything great so I can't see how BGFX might bring better solutions to us.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 24, 2016, 05:19:22 pm
Accurate refresh generation (which might see an improvement in the near future) has nothing to do with the video API.

Because BGFX is the future MAME renderer, what is important is to realize that as long as we have support for it in GroovyMAME, there is future for GroovyMAME.

I'm amazed so many of you were still using DirectDraw, even when GM's default has been D3D for years. It was really problematic to provide support for DirectDraw on Windows 7, and it got totally broken on Windows 8/10.

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: sean_sk on February 24, 2016, 06:08:57 pm
Honestly DDraw did everything great so I can't see how BGFX might bring better solutions to us.

It's got nothing to do with it being better than ddraw. It has got to do with future proofing GroovyMAME to ensure it can accurately work the way it was intended to work on future operating systems and API's.
Windows XP and ddraw are dead and it's a very wise thing to adapt GM to work with newer technologies so that it can continue to survive. That's why we are all a part of this forum. We love the project, we want to see it flourish and we all help out where our abilities allow us to do so.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: sean_sk on February 24, 2016, 06:10:15 pm
Thanks Calamity for this speedy update. I'm really really loving this one. Having pretty much jumped from 0.160 to 0.170/0.171, is it my imagination or does everything (ie controls) seem so much more responsive with D3D9ex with frame delay? It's a real joy to use. Thanks again.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: brywalker on February 25, 2016, 05:36:22 pm
Thanks Calamity for this speedy update. I'm really really loving this one. Having pretty much jumped from 0.160 to 0.170/0.171, is it my imagination or does everything (ie controls) seem so much more responsive with D3D9ex with frame delay? It's a real joy to use. Thanks again.

So I must be wrong, but I thought using D3D9EX was to "remove" the frame buffer so you don't need frame delay. So you use them together? What do you have it set to currently?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: sean_sk on February 25, 2016, 08:11:14 pm
I thought using D3D9EX was to "remove" the frame buffer

That's true, but according to here: http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=290)

"There's still one remaining frame of latency that can't be removed through Direct3D9ex alone: the one caused by double buffering. The reason for frame delay is to remove this last frame of latency and achieve next frame input response, matching real hardware behaviour.

Because the frame queue can usually involve 3 frames of lag or more, most users will find it good enough to simply remove it by switching to Direct3D9ex, as compared to the relatively minor improvement and important hassle of adjusting frame delay in a per game basis. However, the next frame response nirvana is reserved to frame delay users. Be aware that you'll need a powerful machine in order to reliably apply high values of frame delay."

Apparently it's best to set it on a per-game basis and if the game requires it. For me I set it in mame.ini and forget. I've seen no adverse effects although my rig can handle it.
I have mine set to 5, to ensure next frame input........I hope.   :)   I'm not an expert.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on February 26, 2016, 06:52:21 am
I am really curious how BGFX will affect input-lag and will wait for new tests regarding this. BGFX can be a good thing, as it is a cross-platform API, so i assume official MAME is targeting tablets and smartphones too in the near future (just like Retroarch). Sadly i still dont see multi-pass shader support. Sure the JSON files will help converting existing shaders easily, but without multi-pass, i will not invest any afford to do this.

Regarding ddraw, it was nice to see that the MAME dev team at least try to port the integer-scaling to directx. I am more worried about the drop to not support CRTs anymore in general. God bless Calamity and i honor him for his afford to keep the CRT community satisfied. Sad thing is, that he can only keep up the different video modes to support CRTs, but not the drivers itself.

What does this mean? It means that the devs are already starting to optimize the drivers for LCDs, which in turn can falsify the result what we see on our loved CRTs. Take Atari 2600 for example and start any game with high motion in it and then pause it and examine the screen. You will explore the blending of frames, which the devs did to avoid flicker on a LCD. This frame-blending did not exist on real hardware.

Here is a example of HERO and now notice the blending on the hero-figure:

(http://i66.tinypic.com/2q07m78.jpg)

This will affect the game-display on a CRT and is a thing we can not avoid in the future. I was upset that the devs really think, that the CRT community is just 1% of the whole MAME community or their general thoughts about CRT. I am even more wondering what this has to do with accuracy  ???

We really need to cherish Calamity, as he is the only person, who defended the CRT community in the lately discussions, we had with the devs.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: intealls on February 26, 2016, 11:21:51 am
What does this mean? It means that the devs are already starting to optimize the drivers for LCDs, which in turn can falsify the result what we see on our loved CRTs. Take Atari 2600 for example and start any game with high motion in it and then pause it and examine the screen. You will explore the blending of frames, which the devs did to avoid flicker on a LCD. This frame-blending did not exist on real hardware.

Are you sure about this? Doing that at the driver level would encourage inaccurate emulation, which is against the entire philosophy of MAME. Doing that with postprocessing (HLSL etc) is another story, and it's probably also something that can be turned off.

Edit:

I also want to clarify that I don't disagree with you, we should be immensely thankful for Calamity's efforts, since MAME hasn't worked as good as is possible on CRTs since many versions back. And it's not just GroovyMAME, it's the behemoth project of CRT Emudriver as well. :) A very good technical description written by Calamity highlights some of the relevant MAME-related topics here: http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=42 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=42).
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on February 26, 2016, 12:00:53 pm
I'm not using mainline mame from couple of years except for testing. My main mame for play is groovymame  :)

This problem is probably due some effects applied like simulation of monitor burn. I really don't believe that mame devs could did such a thing.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on February 26, 2016, 12:49:57 pm
Are you sure about this? Doing that at the driver level would encourage inaccurate emulation, which is against the entire philosophy of MAME. Doing that with postprocessing (HLSL etc) is another story, and it's probably also something that can be turned off.

yes, i am sure. try it for yourself, with no effects applied... its still there, that frame-blending crap. i just was to lazy, to do another screenshot.
I have same issues like you, regarding philosophy of MAME, but they consider CRT as a dead hardware, so it is nothing wrong in their eyes, to do the drivers itself and this is not the only example, i can asure you.

PS: haynor666: better believe it.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on February 26, 2016, 12:57:33 pm
PROOF... D3D, no effects applied:

(http://i63.tinypic.com/2vhw610.jpg)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 26, 2016, 01:13:50 pm
Quote
yes, i am sure. try it for yourself, with no effects applied... its still there, that frame-blending crap. i just was to lazy, to do another screenshot.
I have same issues like you, regarding philosophy of MAME, but they consider CRT as a dead hardware, so it is nothing wrong in their eyes, to do the drivers itself and this is not the only example, i can asure you.

CRT is indeed a dead technology, otherwise we wouldn't be wasting energy on preserving it. MAME doesn't necessarily need to support CRTs (which nobody knows what it means), but to support certain features. One such feature is integer scaling, which devs have stated that will be re-implemented in 0.172, so that's an important first step.

(I'd like to remind the topic of this thread is just about the current version of GroovyMAME, its new features, etc., so please don't go off-topic).
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on February 26, 2016, 01:52:02 pm
Ok so to be on topic are any plans to bring similiar feature ie. force integer scalling ratio no matter resolution like game 320x240 with black bars or trash on side to force work at 304x240 with 8 pixels cutted from both sides?

With ddraw this was possible but right it's not. From what I can see here on BYOAC forum there still some people that needs such option.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 26, 2016, 02:19:20 pm
Ok so to be on topic are any plans to bring similiar feature ie. force integer scalling ratio no matter resolution like game 320x240 with black bars or trash on side to force work at 304x240 with 8 pixels cutted from both sides?

With ddraw this was possible but right it's not. From what I can see here on BYOAC forum there still some people that needs such option.

Let me be clear on this: I consider cropping the game frame a very lame way of configuring things. As I have explained several times, the whole modeline engine is based on the premise that the native frame rectangle MUST fit in the target resolution.

From a programming point of view, it would make the modeline generator code unnecessarily complex and prone to bugs, just like if market food scales had to be designed to deal with the special case of antimatter.

I already suggested an alternative way of achieving the same thing for the Neo-Geo case that respects GroovyMAME's logic, this is: hiding the trash into the overscan area by using a custom crt_range with shorter porch values. Nobody tested it.

The other supposed use case was if I remind correctly being able to trim vertical games so they fit on a horizontal monitor. Please guys if you love the games rotate your monitor instead.

Anyway, the reason this was possible with DirectDraw is because its implementation mostly overrided MAME's core renderer internal logic. If there's ever a proper implementation for such feature, it should be in the core renderer.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on February 26, 2016, 03:43:52 pm
People are just prefer easier aproach - change resolution rather than create alternative crt range which is tricky and for most less experienced people time eaters. I know it's possible I tested it long time but I'm TV sometimes makes strange high pitch with certain ranges :/

To get slightly wider picture I modified HBackPorch in arcade_15 from default 8 to 4. Picture was moved to left but this can corrected on my TV in service menu.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: krick on February 26, 2016, 04:53:16 pm
Let me be clear on this: I consider cropping the game frame a very lame way of configuring things. As I have explained several times, the whole modeline engine is based on the premise that the native frame rectangle MUST fit in the target resolution.

From a programming point of view, it would make the modeline generator code unnecessarily complex and prone to bugs, just like if market food scales had to be designed to deal with the special case of antimatter.

Agreed, cropping the frame is wrong.  People need to give up on that approach.  I'm almost certain that at some point in the past, Haze implemented a layout for certain Neo-Geo games in MAME that added a black overlay to the full native resolution to hide the garbage on the sides.  Does that no longer exist?  I'm perfectly fine with that solution.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 26, 2016, 04:58:09 pm
Agreed, cropping the frame is wrong.  People need to give up on that approach.  I'm almost certain that at some point in the past, Haze implemented a layout for certain Neo-Geo games in MAME that added a black overlay to the full native resolution to hide the garbage on the sides.  Does that no longer exist?  I'm perfectly fine with that solution.

According to this thread (http://forum.arcadecontrols.com/index.php/topic,149506.0.html), current GroovyMAME patch seems to break that option. I'm currently trying to figure this out.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on February 26, 2016, 05:07:15 pm
Such options works hovewer for many other games like 2 monitor ones. I tested today Warrior Blade and switching from Dual-side-by-side to gapless mode changes resolution nicely. Changing to screen 0 standard or pixel aspect also nicely switches to 320x240. Probably neo-geo is exception.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on February 27, 2016, 05:59:00 am
Hi guys, having build problems with 171 on Arch Linux, related to bgfx. :(

Code: [Select]
[root@mame mame171]# make
GCC 5.3.0 detected
Compiling src/osd/modules/render/drawbgfx.cpp...
../../../../../src/osd/modules/render/drawbgfx.cpp: In member function ‘virtual int renderer_bgfx::create()’:
../../../../../src/osd/modules/render/drawbgfx.cpp:135:222: error: too many arguments to function ‘void bgfx::reset(uint32_t, uint32_t, uint32_t)’
 indowed? BGFX_RESET_NONE : BGFX_RESET_FULLSCREEN) | (video_config.waitvsync ? BGFX_RESET_VSYNC : BGFX_RESET_NONE));
                                                                                                                  ^
In file included from ../../../../../3rdparty/bgfx/include/bgfx/bgfxplatform.h:14:0,
                 from ../../../../../src/osd/modules/render/drawbgfx.cpp:27:
../../../../../3rdparty/bgfx/include/bgfx/bgfx.h:801:7: note: declared here
  void reset(uint32_t _width, uint32_t _height, uint32_t _flags = BGFX_RESET_NONE);

Any ideas?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on February 27, 2016, 08:18:40 am
Stock MAME without the hi score or groovymame patches compiles fine. :(
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on February 27, 2016, 08:38:27 am
Stock MAME without the hi score or groovymame patches compiles fine. :(

Did the patch applied fine or you had errors?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on February 27, 2016, 08:46:53 am
Ah it looked like they had but there were errors at the start of the groovymame patch I missed:

Code: [Select]
[root@mame mame171-original]# patch -p0 -E --binary < ../0171_groovymame_015m.diff         
patching file 3rdparty/bgfx/include/bgfx/bgfx.h
Hunk #1 FAILED at 798 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file 3rdparty/bgfx/include/bgfx/bgfx.h.rej
patching file 3rdparty/bgfx/include/bgfx/c99/bgfx.h
Hunk #1 FAILED at 480 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file 3rdparty/bgfx/include/bgfx/c99/bgfx.h.rej
patching file 3rdparty/bgfx/include/bgfx/c99/bgfxplatform.h
Hunk #1 FAILED at 83 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file 3rdparty/bgfx/include/bgfx/c99/bgfxplatform.h.rej
patching file 3rdparty/bgfx/src/bgfx.cpp
Hunk #1 FAILED at 2466 (different line endings).
Hunk #2 FAILED at 3779 (different line endings).
2 out of 2 hunks FAILED -- saving rejects to file 3rdparty/bgfx/src/bgfx.cpp.rej
patching file 3rdparty/bgfx/src/bgfx_p.h
Hunk #1 FAILED at 197 (different line endings).
Hunk #2 FAILED at 1327 (different line endings).
Hunk #3 FAILED at 2122 (different line endings).
3 out of 3 hunks FAILED -- saving rejects to file 3rdparty/bgfx/src/bgfx_p.h.rej
patching file 3rdparty/bgfx/src/config.h
Hunk #1 FAILED at 178 (different line endings).
1 out of 1 hunk FAILED -- saving rejects to file 3rdparty/bgfx/src/config.h.rej
patching file 3rdparty/bgfx/src/renderer_d3d11.cpp
Hunk #1 FAILED at 1102 (different line endings).
Hunk #2 FAILED at 2217 (different line endings).
Hunk #3 FAILED at 2256 (different line endings).
3 out of 3 hunks FAILED -- saving rejects to file 3rdparty/bgfx/src/renderer_d3d11.cpp.rej
patching file scripts/src/emu.lua
patching file scripts/src/osd/sdl.lua
patching file scripts/src/osd/sdl_cfg.lua
patching file scripts/src/osd/windows.lua
patching file src/emu/clifront.cpp
patching file src/emu/drivenum.cpp
patching file src/emu/drivers/empty.cpp
patching file src/emu/emu.h
patching file src/emu/emuopts.cpp
patching file src/emu/emuopts.h
patching file src/emu/machine.cpp
patching file src/emu/machine.h
patching file src/emu/render.cpp
patching file src/emu/sound.cpp
patching file src/emu/sound.h
patching file src/emu/switchres/modeline.cpp
patching file src/emu/switchres/modeline.h
patching file src/emu/switchres/monitor.cpp
patching file src/emu/switchres/monitor.h
patching file src/emu/switchres/switchres.cpp
patching file src/emu/switchres/switchres.h
patching file src/emu/switchres/switchres_proto.h
patching file src/emu/switchres/util.cpp
patching file src/emu/ui/dsplmenu.cpp
patching file src/emu/ui/ui.cpp
patching file src/emu/video.cpp
patching file src/emu/video.h
patching file src/osd/modules/lib/osdobj_common.cpp
patching file src/osd/modules/lib/osdobj_common.h
patching file src/osd/modules/osdwindow.cpp
patching file src/osd/modules/osdwindow.h
patching file src/osd/modules/render/d3d/d3d9intf.cpp
patching file src/osd/modules/render/d3d/d3dintf.h
patching file src/osd/modules/render/drawbgfx.cpp
patching file src/osd/modules/render/drawbgfx.h
patching file src/osd/modules/render/drawd3d.cpp
patching file src/osd/modules/render/drawd3d.h
patching file src/osd/modules/render/drawogl.cpp
patching file src/osd/modules/sound/direct_sound.cpp
patching file src/osd/modules/sound/sdl_sound.cpp
patching file src/osd/osdepend.h
patching file src/osd/sdl/input.cpp
patching file src/osd/sdl/osdsdl.h
patching file src/osd/sdl/sdlmain.cpp
patching file src/osd/sdl/switchres_sdl.cpp
patching file src/osd/sdl/video.cpp
patching file src/osd/sdl/window.cpp
patching file src/osd/sdl/window.h
patching file src/osd/windows/custom_video.cpp
patching file src/osd/windows/custom_video.h
patching file src/osd/windows/custom_video_adl.cpp
patching file src/osd/windows/custom_video_adl.h
patching file src/osd/windows/custom_video_ati.cpp
patching file src/osd/windows/custom_video_ati.h
patching file src/osd/windows/custom_video_ati_family.cpp
patching file src/osd/windows/custom_video_pstrip.cpp
patching file src/osd/windows/custom_video_pstrip.h
patching file src/osd/windows/switchres_windows.cpp
patching file src/osd/windows/video.cpp
patching file src/osd/windows/window.cpp
patching file src/osd/windows/window.h
patching file src/osd/windows/winmain.cpp
patching file src/osd/windows/winmain.h
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Doozer on February 29, 2016, 03:27:30 am
Hi guys, having build problems with 171 on Arch Linux, related to bgfx. :(

Code: [Select]
[root@mame mame171]# make
GCC 5.3.0 detected
Compiling src/osd/modules/render/drawbgfx.cpp...
../../../../../src/osd/modules/render/drawbgfx.cpp: In member function ‘virtual int renderer_bgfx::create()’:
../../../../../src/osd/modules/render/drawbgfx.cpp:135:222: error: too many arguments to function ‘void bgfx::reset(uint32_t, uint32_t, uint32_t)’
 indowed? BGFX_RESET_NONE : BGFX_RESET_FULLSCREEN) | (video_config.waitvsync ? BGFX_RESET_VSYNC : BGFX_RESET_NONE));
                                                                                                                  ^
In file included from ../../../../../3rdparty/bgfx/include/bgfx/bgfxplatform.h:14:0,
                 from ../../../../../src/osd/modules/render/drawbgfx.cpp:27:
../../../../../3rdparty/bgfx/include/bgfx/bgfx.h:801:7: note: declared here
  void reset(uint32_t _width, uint32_t _height, uint32_t _flags = BGFX_RESET_NONE);

Any ideas?

You have to issue the following command before applying the patch:

Code: [Select]
unix2dos 3rdparty/bgfx/include/bgfx/bgfx.h 3rdparty/bgfx/include/bgfx/c99/bgfx.h 3rdparty/bgfx/include/bgfx/c99/bgfxplatform.h 3rdparty/bgfx/src/bgfx.cpp 3rdparty/bgfx/src/bgfx_p.h 3rdparty/bgfx/src/config.h 3rdparty/bgfx/src/renderer_d3d11.cpp

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on February 29, 2016, 03:28:54 am
Thanks Doozer!
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: genius77 on March 01, 2016, 12:28:13 pm
hi guys (sorry for my english),
I am not sure I am writing in the right place, I have problems with the new BGFX render.

I'm using Groovymame 0.171 with windows 7 and the CRT emudriver 2.0 beta8 on a 15khz arcade CRT (videocard HD7750)

When I launch a game with the new plugin I have a black screen and I can hear the sound in background that plays very very fast

I already tried the original Mame exe and the BGFX works fine.

Here in attach a couple of logs

Any suggetion will be appreciated
Thanks
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 01, 2016, 12:53:15 pm
I am not sure I am writing in the right place, I have problems with the new BGFX render.

You can't use multithreading with the new BGFX renderer yet.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: genius77 on March 01, 2016, 12:59:54 pm
Oh, that's the problem||   ::)

Thank you calamity, you are doing a great job   :notworthy:
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 02, 2016, 10:08:40 am
I think you will be interested to know I'm currently working in refactoring the GroovyMAME code for an eventual merge with baseline (partial or total, we don't know yet). My plan is to deconstruct the current patch in smaller blocks and be submitting them in gradual steps, so we make sure nothing gets broken in the process, and basic features can get isolated from the somewhat more experimental ones. First feature I'll be adding is integer scaling, which should be ready for 0.172. Next, I'd like to focus on the synchronization options. Of course, the last word belongs to the team with regards to which features get in and which don't.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on March 02, 2016, 10:37:28 am
This are great news Calamity. IMHO, i think this is the best solution. Working hand in hand, will ensure the support of CRTs for the future and there is no doubt that the GroovyMAME team and especially you, will be the best options for the official MAME dev team. Big applaud here  :applaud:

Best wishes, u-man
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: twistedsymphony on March 02, 2016, 01:16:51 pm
I think you will be interested to know I'm currently working in refactoring the GroovyMAME code for an eventual merge with baseline (partial or total, we don't know yet). My plan is to deconstruct the current patch in smaller blocks and be submitting them in gradual steps, so we make sure nothing gets broken in the process, and basic features can get isolated from the somewhat more experimental ones. First feature I'll be adding is integer scaling, which should be ready for 0.172. Next, I'd like to focus on the synchronization options. Of course, the last word belongs to the team with regards to which features get in and which don't.


excellent news and an excellent plan.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: krick on March 02, 2016, 10:33:24 pm
I think you will be interested to know I'm currently working in refactoring the GroovyMAME code for an eventual merge with baseline (partial or total, we don't know yet).

Huzzah!  Finally, a man on the inside.

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: sean_sk on March 03, 2016, 01:10:47 am
Well all I can say is, it's about time. :D  This is great news! I'm surprised the MAME developers hadn't encouraged this sooner. I've always thought that GroovyMAME should have been the new standard for MAME.

Calamity, are you prepared to give us a little history on how this came about?

I take it then that as certain features are incorporated into mainline MAME they'll be taken out of the GM patch naturally. Do you know how long the process will take in total, obviously understanding the fact that we don't know if ALL of GM's features will be included.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: donluca on March 03, 2016, 09:53:39 am
My plan is to deconstruct the current patch in smaller blocks and be submitting them in gradual steps, so we make sure nothing gets broken in the process, and basic features can get isolated from the somewhat more experimental ones.

Good thinking.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 04, 2016, 08:27:36 am
Excelent news. GM will make baseline MAME great again.  ;D
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: adder on March 04, 2016, 05:26:14 pm
Quote from: sean_skroht
Calamity, are you prepared to give us a little history on how this came about?
it seemed to develop after the recent news that directdraw was to be removed from mame...... then some people at the mameworld forums were chatting about how it was a shame that directdraw allowed for integer scaling but direct3d did not, and if it was possible to see some additions to direct3d in mame to allow eg. low res crt users the option for an unaltered image (no scaling or stretching etc) displayed using direct3d

it's fantastic to hear about the exciting relations happening between groovymame and baseline mame

in other news a little sad about mameuifx though, i really enjoyed that build of mame in the past and mamesick worked hard and was commited. there's been some kind of meltdown and that mame build appears to now be dead and finished.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: donluca on March 04, 2016, 09:31:57 pm
Well, it looks like MAME has gone full open source: http://mamedev.org/?p=422 (http://mamedev.org/?p=422)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: krick on March 04, 2016, 11:06:10 pm
Is Groovymame's license compatible?...
http://www.mameworld.info/ubbthreads/showflat.php?Number=351062 (http://www.mameworld.info/ubbthreads/showflat.php?Number=351062)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on March 05, 2016, 04:50:09 am
Some of (if not all) features will be in main mame I think so it will be probably with valid licence. If not still can be distributed but only as diff for official mame.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 05, 2016, 10:24:07 am
Is Groovymame's license compatible?...
http://www.mameworld.info/ubbthreads/showflat.php?Number=351062 (http://www.mameworld.info/ubbthreads/showflat.php?Number=351062)

As far as I see all that's required is to relicense the Switchres code with the BSD 3-Clause License.

Only problem I see is with the hiscore patch. Anyway my plan was to make GroovyMAME's patch independent from the hiscore one. This way the hiscore patch would be applied later over GroovyMAME's instead of  the other way as it is now. And I wouldn't be applying it on my builds.


Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on March 05, 2016, 10:29:14 am
Have you considered using a fork on github? If you kept master as a mirror to MAME's master, you could have a branch for the hiscore dat, and a branch for anything MAME doesn't want that's in GroovyMAME, and easily add new feature branches for anything else. Building would be easy (not that it's hard now) for any given set of features.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 05, 2016, 10:38:55 am
Calamity, are you prepared to give us a little history on how this came about?

There's no much to tell yet, all I can say is the team's attitude has been very receptive so far. We'll see how things go, I think it's more of a matter of me managing to refactor Switchres in an acceptable way than anything else. But this was my plan anyway.

Quote
I take it then that as certain features are incorporated into mainline MAME they'll be taken out of the GM patch naturally.

Exactly, that's the idea. It'll take months, because many parts will be rewritten.

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on March 05, 2016, 04:33:41 pm
Is Groovymame's license compatible?...
http://www.mameworld.info/ubbthreads/showflat.php?Number=351062 (http://www.mameworld.info/ubbthreads/showflat.php?Number=351062)

As far as I see all that's required is to relicense the Switchres code with the BSD 3-Clause License.

Only problem I see is with the hiscore patch. Anyway my plan was to make GroovyMAME's patch independent from the hiscore one. This way the hiscore patch would be applied later over GroovyMAME's instead of  the other way as it is now. And I wouldn't be applying it on my builds.
Is not Switchres coming from SailorSats Cabmame? If so, the license will be a peace of cake ;) .
Is the problem with hiscore patch MAME dev related? I know, that they dont like to see the nag-screen patched, for obvious reasons. The nag-screen provide infos that a user will not see if a patch is applied. It happened often that people not knowing, that a game have problems or doesnt work correctly, maked false reports at MAME bug-center, that why they dont like no-nag-screen patches, but the hiscore stuff itself, shouldnt be so much a problem AFAIK.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on March 05, 2016, 05:44:10 pm
Is the problem with hiscore patch MAME dev related? I know, that they dont like to see the nag-screen patched, for obvious reasons. The nag-screen provide infos that a user will not see if a patch is applied. It happened often that people not knowing, that a game have problems or doesnt work correctly, maked false reports at MAME bug-center, that why they dont like no-nag-screen patches, but the hiscore stuff itself, shouldnt be so much a problem AFAIK.

The nag patch aside, afaik their main issue with it is maintenance, and the endless bug reports about hi scores missing from this game or that, and broken on something or other. That combined with the mission of MAME being about preservation, time devoted to saving hi scores doesn't really fit into that.

Which is fair enough.

I really keep meaning to get my vector patch working again, and then a reverse-patch for the old Kung Fu Master audio driver. One of those might stand a chance of getting into MAME one day, the other would not. Either way, with MAME now being hosted on github, it's extremely easy to make a fork and maintain it.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Stiletto on March 06, 2016, 06:26:50 am
The question isn't "Is MAMEDev accepting of hiscore patch" or anything else.

Fact: Current MAME and any ensuing MAME release can no longer be combined with code that was written under the 2005-Feb 2015 (or earlier) MAME license. GPL (etc.) MAME license is incompatible with non-GPL MAME license.

So the question as I understand it is "So who wrote those patches, and do you (Calamity, etc.) have their permission to relicense their patches under the new MAME license(s) (BSD or GPL or LGPL)?" Calamity obviously understands this so this isn't news to him.

If you do not have their permission, then projects like GroovyMAME would risk developer outrage and or lawsuit from their minor contributors by illegally (depending on your region) relicensing their code. The risk and conflict wouldn't come from MAME itself but from the third-party developers.

For example, the hiscore patch amounts to the original hiscore.dat support in MAME. So you need to discover who authored as well as maintained that code in MAME originally, anyone who ever touched those lines in the last 19 years or less and whose contributions were significant enough to fall under copyright law (there is such thing as "too insignificant".). But futhermore this patch would have broken several times as MAMEDev modernized the source, so you also need to determine who made those changes and get their permission as well.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 06, 2016, 06:54:45 am
For example, the hiscore patch amounts to the original hiscore.dat support in MAME. So you need to discover who authored as well as maintained that code in MAME originally,

That's the exact problem. I know MKChamp has been mantaining it for years, but the original source must be paleo-MAME code base itself.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Stiletto on March 06, 2016, 07:47:03 am
For example, the hiscore patch amounts to the original hiscore.dat support in MAME. So you need to discover who authored as well as maintained that code in MAME originally,

That's the exact problem. I know MKChamp has been mantaining it for years, but the original source must be paleo-MAME code base itself.

That's my assumption. Well, someone could rewrite it. If it's completely rewritten from scratch by someone who hasn't seen the previous code and who's only provided a verbal description of the functionality and the format of the dat file, it should be legally safe. A GPL-licensed hiscore.dat patch. Of course, there's only so many ways this can be done and the resulting code may end up identical to the non-GPL code.

From the other angle: The people within MAMEDev who worked on getting all the permissions from current and former developers for the current MAME code relicense might be able to work out the original authors of hiscore.dat support and the names of all the people who touched that code. (Do they care to do that? Eh.) There's probably enough information out in the public that this can be worked out by non-MAMEDev. And then those people who developed and touched hiscore.dat support would need to be contacted again for permission to relicense, because the permission they granted MAMEDev only extended to their current code in MAME and not old code in old MAME versions that had previously been removed. Relicensing only extended to the current version, not to previous releases.

Again, I know Calamity knows all this, but as a MAME team member I'm trying to help others understand what's involved here. All current patches will legally need to go through this analysis to continue to be used.

---

But don't worry, there's light at the end of the tunnel: current MAME is enabling support for a script language called LUA. MAME developers are creating hooks that tie deep into MAME's core engine and functionality (and could use help, if people are so inclined, there's Github)

https://github.com/mamedev/mame/blob/master/docs/luaengine.md

This support is still being tested. We're still finding bugs, we're still tying it into more systems.

So RATHER than go through all that for hiscore support - editing sourcecode, recompiling MAME, worrying about sourcecode relicensing - it's FAR more likely that for minor features like this, projects like GroovyMAME in the future will just be able to write Lua scripts that extend core MAME functionality enough to add hiscore support, no recompiling necessary.

Think of Lua... as "MAME plugin support". Not for graphics (we have shaders for that) but for other functionality.

Since it's all scripting, all source is available - no loading of closed-source DLLs or anything. Even a Lua script can be copyrighted by its respective author and distributed under the MAME 0.172+ compatible license of their choice.

I don't know if this will permit actual DAT file support, I don't necessarily see why not but even so perhaps it will end up a new format and the old file retired.

Either way, in the future maybe there will be a lot less third-party derivative builds, recompiles, etc. - and instead an ecosystem of thriving third-party script "plugins" :)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on March 06, 2016, 10:09:43 pm
https://github.com/borgar/mame-hiscores

crazyc:"It was made for unix and needs work on windows though and will only work with the maincpu address space (which includes the vast majority, but not all, of drivers). "

Didnt test it myself, so.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Stiletto on March 07, 2016, 06:28:47 pm
https://github.com/borgar/mame-hiscores

crazyc:"It was made for unix and needs work on windows though and will only work with the maincpu address space (which includes the vast majority, but not all, of drivers). "

Didnt test it myself, so.
[/quote

And in the end here's an all-platforms-friendly version by crazyc which also fixes some games that didn't work previously:
https://github.com/cracyc/mame-hiscores
Ships with a modified hiscore.dat.

:)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 08, 2016, 01:57:03 pm
Thanks! The hiscore script is *really* great news.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: dmckean on March 09, 2016, 10:36:29 pm
hiscore support was added to MAME so early on that it may have been added under a license which assigned all rights to Nicola.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on March 10, 2016, 06:28:25 am
I really keep meaning to get my vector patch working again, and then a reverse-patch for the old Kung Fu Master audio driver. One of those might stand a chance of getting into MAME one day, the other would not. Either way, with MAME now being hosted on github, it's extremely easy to make a fork and maintain it.

Are you the Robert from myreviewers.com? If so, i can only say that it would be really nice, if you would look into your vector patch again  :D :applaud:
Any help with vector games are really appreciated, especially if it comes to exact frame timing or a better flicker code ;) .
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on March 10, 2016, 06:35:53 am
myreviewer.com, yes, that's me! I really do keep meaning to get around to it! Someone has sent me a patch they've been keeping up to date which still works, I might put it on github for others sometime.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on March 10, 2016, 10:24:15 am
Nice to see you here again Robert ;) . I was the guy who contacted you at myreviewers.com  :D . We had some nice discussions there last year, if you can remember them. It helped us a lot and i hope to see you more often now.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 18, 2016, 07:25:11 am
So, multithreading will be removed for 0.172

Will it break the current low-lag abilities of GM w/ d3d9ex ? (using either syncrefresh or triplebuffer and still being quicker than the same thing using 'normal' D3D I mean)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 18, 2016, 08:24:06 am
So, multithreading will be removed for 0.172

Will it break the current low-lag abilities of GM w/ d3d9ex ? (using either syncrefresh or triplebuffer and still being quicker than the same thing using 'normal' D3D I mean)

This is not clear yet. I think lag will not be affected for the syncrefresh case. The triplebuffer case simply won't work.

I take this opportunity to inform that quite probably GM 0.172 won't be on schedule this time. Don't panic, things just need to be reworked.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 18, 2016, 08:41:41 am
Ouch, fingers crossed you'll find a way around, because syncrefreshed 54Hz games for instance are sped up too much.

I sincerely hope mamedev won't irremediably destroy what's for me the strongest feature of GM and what makes it the best IMHO: low lag in every case whether I choose smooth scrolling or accurate speed.

Everything seemed to go well with the recent changes in MAME and apparently most people's concerns were exaggerated, but this, made me join the worry club.  :-\
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 18, 2016, 09:34:34 am
GroovyMAME can have its own multithreading implementation. Anyway the current one is causing issues for many.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 18, 2016, 03:05:29 pm
Excellent, thanks!  :applaud:
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: lettuce on March 19, 2016, 01:42:10 pm
Probably a stupid question but how on earth do you load up a meagdrive rom with the new UI build into mame??, i have added the rom folder where the megadrive roms are but it still only shows the MAME roms in the UI??
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 22, 2016, 07:03:51 am
Integer scaling is finally into baseline:

http://git.redump.net/mame/commit/?id=4b61493c7cd125f7fcc11f6fa1bf2240fdab29f0 (http://git.redump.net/mame/commit/?id=4b61493c7cd125f7fcc11f6fa1bf2240fdab29f0)

Among other things, now it'll be possible to set integer scale factors manually (-intscalex, -intscaley). It will also crop the frame by default if the resolution is too small to hold 1:1 pixel mapping.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: machyavel on March 22, 2016, 08:08:42 pm
Fantastic! I guess frame cropping will be useful for monitors with limited range, like TVs.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 23, 2016, 05:43:53 am
Fantastic! Thanks a lot to you and whoever helped.  :cheers:
Does it allow setting factors that mean out-of-screen-limits sizes ?
Can't wait to try it in 0.172
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 23, 2016, 05:48:13 am
Does it allow setting factors that mean out-of-screen-limits sizes ?

Sure.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 23, 2016, 06:52:30 am
Yessssss!  :notworthy:

I know people don't care much about .png overlays today, they are anticipating BGFX shaders support which is only natural, but it is important to note that integer scaling will make creating/using those .png's immensely easier; goodbye painful manual settings for a myriad of resolutions!
It's not such a weak solution with a bit of work, and the cpu/gpu cost is nil.
A few screenshots attached for posterity since I suspect the .png overlays support will disappear one of those days. ^^

(using GM 0.171, a 42" full-hd tv, a 21" 4:3 monitor, and a 1600x900 laptop)
(I could have made the knights and sf2hf 'oversized' 4x5 but it was too big on my 42" ^^)
(aside from progear and futari using only shades or grey, all other use almost exclusively RGB dots and strips)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: MK on March 24, 2016, 10:47:50 am
Integer scaling is finally into baseline:

http://git.redump.net/mame/commit/?id=4b61493c7cd125f7fcc11f6fa1bf2240fdab29f0 (http://git.redump.net/mame/commit/?id=4b61493c7cd125f7fcc11f6fa1bf2240fdab29f0)

Among other things, now it'll be possible to set integer scale factors manually (-intscalex, -intscaley). It will also crop the frame by default if the resolution is too small to hold 1:1 pixel mapping.

Awesome!!! :notworthy:
I guess we can now say bye bye to ddraw for good. :applaud:
Question: If the resolution is too small will we be able to adjust the view area or will it always be centered?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on March 24, 2016, 11:43:24 am
Question: If the resolution is too small will we be able to adjust the view area or will it always be centered?

I'll be centered by default but you'll be able to adjust it through the slider options.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: lettuce on March 24, 2016, 12:58:31 pm
Yessssss!  :notworthy:

I know people don't care much about .png overlays today, they are anticipating BGFX shaders support which is only natural, but it is important to note that integer scaling will make creating/using those .png's immensely easier; goodbye painful manual settings for a myriad of resolutions!
It's not such a weak solution with a bit of work, and the cpu/gpu cost is nil.
A few screenshots attached for posterity since I suspect the .png overlays support will disappear one of those days. ^^

(using GM 0.171, a 42" full-hd tv, a 21" 4:3 monitor, and a 1600x900 laptop)
(I could have made the knights and sf2hf 'oversized' 4x5 but it was too big on my 42" ^^)
(aside from progear and futari using only shades or grey, all other use almost exclusively RGB dots and strips)

To me in those pictures the shadow mask is way too strong, i have never seen a CRT where you can see the individual square like that apart from when you stick you nose right up to the screen
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 24, 2016, 02:27:56 pm
Don't forget the point is that it's for using on LCDs that smear-away most details those advanced CRT shaders recreate, but will only look optimal on still images.
This way with only RGB dots png's it looks rather crude yes, but once in motion it beats all damned CRT shaders I've tried, especially in regards to motion in all directions (not only games move a lot, but not just horizontally) and when it comes to retain colors, brightness, sharpness and overall clarity.
EDIT: also I've selected some with strong settings specifically so the properties would be really apparent, for my own use I actually tone-down the edges using a bit of white alpha transparencies.

It's not enough for doing nice screenshots of still games indeed, but it's an experiment about taking the matter by the other end starting with thinking about what kind of display I'm using and try to get a decent imitation that will still look good while I'm playing.
Always using actual crt's to compare of course, then I go about what I could do to make the experience on lcd closer to it, which the current advanced shaders solution don't (only when still and at almost maxed-out brightness).

Frankly also, not at all pointing at you guys and straying off-topic a bit, but people in the hobby maybe for not very long need to stop thinking all crt's were either a blurry, foggy, smeary-bleedy mess, or ultra-sharp high-TVL broadcast monitors.
There were such things as standard definition low-res RGB monitors in the arcades, super clear and sharp though with really crude masks and grids, they were also in european homes, for decades. Those are what I'm aiming at.
I think Royale is still the best, but until I get an OLED I'm going to use my crude PNG's, because they're more efficient IMHO and in my eyes.
(especially now that integer scaling will make things immensely easier, I'm going to enjoy improving the 'formula')
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: lettuce on March 24, 2016, 02:37:23 pm
Fair point.

What resolution is the png your using btw?

regarding Integer scaling, what does this actually change and make better, will it be beneficial to people using CRT Arcade monitors at all?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 24, 2016, 02:52:01 pm
I'm using a different PNG for each native game resolution and integer scaling factors I'm aiming at.
For instance the Capcom Screenshots here use 3x4, both on the 1080p and the 900p displays.
But if I used bigger factors on the 1080p (losing a few lines in 'overscan') I'd use a 4x5 pixels file.

It's actually more difficult to make a good choice of color tones and work on shaping with more real estate, but it also opens more possibilities.

As for the benefits of integer scaling for me (using fixed matrixes) it's obviously clarity, both static and in motion since I'm not using any kind of smoothing and have no way to prevent scaling artifacts, so integer scaling is compulsory.
Also the pixel art work looks much better when all is in the right proportions with no garbled/smeared color lines, and it's also compulsory for me to align the RGB dots and strips I'm using since they're affecting the colors displayed on my screen directly, and those make the shape.

Several setting require a slight horizontal or vertical offset by the way, often there's only one where everything lines perfectly (for instance Horiz Position 0.002 or -0.004)
Maybe it will be different with the new system, I don't know.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 30, 2016, 08:09:49 pm
Been playing with integer scaling settings for hours using baseline 0.172, it's absolutely fantastic, you're The King.  :notworthy:
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: lettuce on March 31, 2016, 05:37:56 am
results?

Whats the big deal about integer then, what does it allow you to do?. I have just tired it on Final Fight and i had to set the x and y scaling to 6x5 but now i just have a border at the top and bottom of the screen and cant see and noticeable difference, if i set it to 7x5 then a about half and inch is cut off from the top and bottom of the screen.

I noticed in the 0.172 release notes they say that a few options from GroovyMame have now been implemented thanks to Calmity being on the official MAME team now, what actual options have been implemented and does this mean in the future there wont be the need for GroovyMAME anymore?

How do you also use the BGFX shaders now, is there actual any BGFX shaders been made for MAME yet, im guess RetroArch shaders cant be converted over easily?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Doozer on March 31, 2016, 07:29:05 am
I noticed in the 0.172 release notes they say that a few options from GroovyMame have now been implemented thanks to Calmity being on the official MAME team now, what actual options have been implemented and does this mean in the future there wont be the need for GroovyMAME anymore?

Hi,

@Calamity, great job!

Here is the feature set now available inside the mainline.

Code: [Select]
-Implemented integer scaling in core renderer [Calamity]
 * Moved -unevenstretch option to core renderer.
   -unevenstretch:   fractional stretching (default)
   -nounevenstretch: integer scaling
 * Added new options to core renderer:
   -unevenstretchx:  fractional stretching on horizontal axis, integer
                     scaling on vertical axis
   -intscalex:       horizontal integer scale factor, default is 0 (auto)
   -intscaley:       vertical integer scale factor, default is 0 (auto)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on March 31, 2016, 08:28:50 am
@lettuce;
Sorry lettuce but I've always been uncomfortable knowing most people don't understand the benefits of integer scaling, I'm going to add some more - slightly angry - rant but please don't take it personally, as I'll only be expressing a general sentiment I've had for long, on that topic.  ;)

Since it's off-topic in this thread I'll put it under spoiler tags.  ;D
EDIT: uh no spoiler tags make it scary.

[rant]
Integer scaling is for people who think it needs to scale right before everything, and that when it does it opens the doors to clarity and efficiency considering the state of modern displays. It's for those who don't use heavy, completely exaggerated forms of smeary bleedy ghosty über-smooth atrocities to hide the tons of ugly wrongly-scaled, artifacts-filled output picture, always resource and resolution-hungry solutions that most of the time end-up being simulations of anything but normal well-working RGB low-res CRTs.

And even so, most of those CRT shaders benefit immensely from integer scaling, in many situations unless you have at minimum a WQHD real estate for more effective dissimulation of the scaling errors and inconsistencies, occurences when the scanlines distribution end up wrong, which is affecting the art/colors and motion clarity immensely and therefore realism, are many, many, and much too many. And I know most people don't even see it, still, that doesn't make them right.

The race for ever-extended fractional scaling is wrong in a sense that it's not a viable universal and efficient solution IMHO, it's putting the cart before the horse as it doesn't work well for the type of contents it's intended to work on, where any error is easily noticeable for the trained eye and demanding retrogamers, in particular those who've practiced the real deal their whole life.
Now unless one is a sucker for absolute border-to-border display of the games area on their flat panel (which only rarely happened on crt's in real life anyway) and can't deal with a few lines left out like in overscan, or on the opposite can't stand some black borders at times (which did happen a lot) then it's okay, anyone can leave integer scaling off, it's the default anyway.

So please people don't start ridiculing integer-scaling and by extension unvoluntarily campaigning against it now it's finally back in MAME, we may be a minority, you may not understand our reasons, but some of us have been waiting for it probably about a decade.
Few people will understand yes, and sorry for the upcoming redundance, because the common thinking is to always go supposedly 'forward' in the direction that always requires more of everything (cpu/gpu/resolution), like it's the only way that works. But doing things right from the start, even if that won't be the final solution, is the choice of accuracy and efficiency at a low cost and universally accessible.
This is also preservation. Why ? because of the circumstances of displays technology reality:
For most people having switched to LCD in this early 21th Century, ---smurfy--- LCD to be exact for 99% of us even today, it would have been actual progress if they'd have realized before thinking of the - still - rendering, that we have to mind what the display is capable of, and maybe make up for its weaknesses, the smart thing is to adapt to the circumstances.
Poor pixel lighting power, poor response and ghosting/smearing, weaker color reproduction, delay, limited signal compatibility, etc, all things that limit, almost cancel the expected results of really refined/advanced simulation efforts.
It's nice to have super fancy advanced shaders, it's desirable, but until things like super bright UHD OLED displays (or equivalent) have become as common as Full-HD LCDs ended-up becoming in this beginning of the century, then something like integer scaling is more than useful, more than welcome, and should have been a thing already a decade ago.

Yesterday I gave a try to various things using either PNG overlays (always falling right and even more so than before w/ H&V sliders) or hardware smoothing solutions (from my TV or an external scaler) and the results utterly destroyed anything I've seen in terms of picture quality and clarity, being much more optimal for LCDs particularily in motion, than most if not every filter or shader solution I've experienced so far.
It's a matter of making smart and right choices minding reality, GM allows to choose what games will scroll smooth a the cost of speed accuracy, or to preserve the latter even if it means choppiness.
Unless you're using a display that can do it all without this, it's the only reasonable thing to do.
Well it's the same reasoning with scaling: unless you have a display and PC that can bring out the benefits of higher fractional scaling and advanced shaders, using integer and simpler, lighter ways to make the picture enjoyable, is the reasonable thing to do.
[/rant]
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: tom5151 on April 07, 2016, 02:09:32 pm
Hi all,
Is there any instructions for switching from GM 0.171 to official 0.172 ?
Because if I compare the ini files of the 2 different versions, a lots of GM options are missing...
So I'm a little bit lost, and I've read that a GM 0.172 would be released as well  ???
So what is the best choice ?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: donluca on April 07, 2016, 02:48:08 pm
Best choice is to wait for Calamity to get the new GM out.

He's always been really fast keeping it up with baseline MAME and the fact that he's taking his time means that the next GM is gonna have some BIG changes in it, probably worth the wait.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: tom5151 on April 08, 2016, 12:09:32 pm
Ok, thanks for your reply.
Let's wait and see.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: minase on April 14, 2016, 12:10:28 am
Just posting for future people who have agony getting these patches to apply on a unix machine (every single hunk is rejected), since I don't see any info about this in the thread:

Code: [Select]
$ dos2unix hi_0171.diff
$ dos2unix 0171_groovymame_015m.diff
$ cd mame0171s
$ for file in `grep 'diff -Nru --binary ' ../hi_0171.diff  ../0171_groovymame_015m.diff | cut -d ' ' -f 4`; do dos2unix $file; done
$ patch -p0 -E < ../hi_0171.diff
$ patch -p0 -E < ../0171_groovymame_015m.diff

I'm not sure if this is what the --binary option mentioned in the OP is supposed to do, but it has no effect for me.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Doozer on April 14, 2016, 07:52:49 am
Just posting for future people who have agony getting these patches to apply on a unix machine (every single hunk is rejected), since I don't see any info about this in the thread:
[...]
I'm not sure if this is what the --binary option mentioned in the OP is supposed to do, but it has no effect for me.

Hi Minase,

The subject has already been covered in previous posts. (http://forum.arcadecontrols.com/index.php/topic,135823.msg1563950.html#msg1563950 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1563950.html#msg1563950))

The solution is to convert to dos format before applying the patch. The binary flag is necessary to handle the CR/LF properly.

Code: [Select]
unix2dos 3rdparty/bgfx/include/bgfx/bgfx.h 3rdparty/bgfx/include/bgfx/c99/bgfx.h 3rdparty/bgfx/include/bgfx/c99/bgfxplatform.h 3rdparty/bgfx/src/bgfx.cpp 3rdparty/bgfx/src/bgfx_p.h 3rdparty/bgfx/src/config.h 3rdparty/bgfx/src/renderer_d3d11.cpp
Title: Mame 0.172
Post by: ozfalcon on April 14, 2016, 06:46:39 pm
I have noticed Mame 0.172 has some Game Speed issues.
eg. Gyruss & Galaga running at ~99% (This is in Throttled mode)
I'm sure there are more games, But these are just two immediate examples.
Perhaps this was noticed/mentioned in previous posts/releases.....?



@Calamity How are you finding the changes to 0.172 - I noticed syncrefresh option has moved again.... :dizzy:
Title: Re: Mame 0.172
Post by: Calamity on April 15, 2016, 03:55:29 am
@Calamity How are you finding the changes to 0.172 - I noticed syncrefresh option has moved again.... :dizzy:

It sounds like the announcement of MAME 0.172 mentioning GroovyMAME features being added, combined with the delayed release of GroovyMAME 0.172, has confused a few of you. Baseline MAME is NOT GroovyMAME, yet. Only feature that has been added to baseline is integer scaling, which was sort of urgent due to MAME having lost all ability to do integer scaling on non-SDL builds since the DirectDraw renderer was dropped in 0.171.

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on April 15, 2016, 08:02:41 am
That's incredible, seriously I don't know what people read, because of some post on MW (not even saying that) it even made the news on some emu-centric websites that all GM features have already been ported to baseline and GM was therefore discontinued.
I guess that's from people who don't know about things like SwitchRes+MT/frame_delay/D3D9ex and their benefits, they don't realize baseline is inferior to GM in that area because they've never tried/understood.
(I admit it took me a while to realize, but you would expect websites and communitites dedicated to emulators to show at least a bit more knowledge than the average newb)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: ozfalcon on April 15, 2016, 08:42:23 am
What are you talking about relating to my post.

AT NO POINT DID I INFER ANYTHING ABOUT GROOVYMAME BEING INCLUDED IN MAINLINE MAME.
Thanks for reading.
<Rant off><This does not preclude some war of words>

I was asking "How are you finding the changes to 0.172" - Internal function call names etc.

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on April 15, 2016, 08:49:51 am
Huh? Personally I wasn't reacting to your post, just commenting on that wrong info circulating. Peace!  ;)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: ozfalcon on April 15, 2016, 09:20:32 am
Yeah, Sorry - Didn't mean to charge in guns blazing.
Calamity just miss-interpreted my post by the looks of it.

<Added>
I'm not waiting for GroovyMame (Though I am interested to see some of the code changes).
But in light of some people thinking GroovyMame had been merged into Mainline - I see why Calamity might think that.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on April 15, 2016, 10:32:18 am
No problem, I assumed you thought the merge was complete. Anyway, I'm not sure what changes you mean about syncrefresh, as far as I can see it's in the same place it was previously, and functionality is still the same (broken).
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: ozfalcon on April 15, 2016, 11:46:09 am
Just had a look, Yes no change there as you remove it from osd & put it in emu.
But it was previously available through machine options, And that is no longer the case.
 
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Calamity on April 15, 2016, 12:30:51 pm
Just had a look, Yes no change there as you remove it from osd & put it in emu.
But it was previously available through machine options, And that is no longer the case.

It's interesting that you mention that, since the other day I was trying to refresh my memory regarding the syncrefresh patch prior to push it to baseline, and I remind your old post mentioning you could access it through core machine options, which didn't work for me the other day, and I wonder at what point this changed.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: ozfalcon on April 16, 2016, 07:05:00 pm
Not sure, I was thinking of going back in builds (Mame) to find when it changed.
Though for the AudioSync patch, It's not actually required (syncrefresh) to be able to operate correctly.


For anyone that wants to experiment with the standalone AudioSync Patch or use it for reference.
Also here is the HidePointer patch which applies to SDL branch only.


Special Note:
These patches were built from Linux. They will probably not apply cleanly from Windows.
However they are SO SIMPLE, You can manually type the patches into the source code & compile it.

The patches are numbered in order of application, The HiScore patch is the same patch available by MK_Champ.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Andypc on May 08, 2016, 11:51:29 am
Is there any news on Groovymame 0.173. I haven't updated for a while, can I still stick with the old ctr_emu drivers and just upgrade groovymame.

Also is the soundsync patch now working again? I had problems with it since 0.146 on my non groovymame setup.

http://forum.arcadecontrols.com/index.php?topic=122814.0 (http://forum.arcadecontrols.com/index.php?topic=122814.0)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on May 08, 2016, 11:58:39 am
I'm not sure if soundsync was ever used in grooymame but we have better replacement - syncrefresh which works great till 171.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: Andypc on May 08, 2016, 03:39:27 pm
What happened in 0.172.

Does the Groovymame 0.171 build on the website contain Mess, i.e. what was groovyUME or is it just the arcade build.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: ozfalcon on May 08, 2016, 06:52:48 pm
I'm not sure if soundsync was ever used in grooymame but we have better replacement - syncrefresh which works great till 171.

Yes the SoundSync patch is used in GroovyMame, There are no problems that I am aware of (Still works for 172 & 173).

GroovyMame 0.171
Code: [Select]
@@ -1077,6 +1104,9 @@
  osd_ticks_t tps = osd_ticks_per_second();
  m_speed_percent = delta_emutime.as_double() * (double)tps / (double)delta_realtime;
 
+ if (m_syncrefresh && m_throttled)
+ m_speed = m_speed_percent * 1000;
+
  // remember the last times
  m_speed_last_realtime = realtime;
  m_speed_last_emutime = emutime;


The main change from 0.156+ comes from SDL2 being asynchronous.
What this means for SDL2 users is that the Mame option WAITVSYNC now acts in a similar way to SYNCREFRESH.
All SDL2 frame writes are automatically synced (No tearing)
And the Mame option SYNCREFRESH is redundant (Correct me if I'm wrong).
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: ozfalcon on May 08, 2016, 07:52:28 pm
Also is the soundsync patch now working again? I had problems with it since 0.146 on my non groovymame setup.

http://forum.arcadecontrols.com/index.php?topic=122814.0 (http://forum.arcadecontrols.com/index.php?topic=122814.0)

At your CabMame thread link.....
CabMame 0146_emuspeed.diff
Code: [Select]
diff -ruN ../mame/src/emu/machine.h ./src/emu/machine.h
--- ../mame/src/emu/machine.h 2012-04-22 07:07:48.000000000 +0200
+++ ./src/emu/machine.h 2012-09-05 19:42:05.000000000 +0200
@@ -310,6 +310,8 @@
  debugcpu_private * debugcpu_data; // internal data from debugcpu.c
  generic_machine_private *generic_machine_data; // internal data from machine/generic.c
 
+ double speed_percent; // most recent speed percentage
+
 private:
  // internal helpers
  void start();
diff -ruN ../mame/src/emu/video.c ./src/emu/video.c
--- ../mame/src/emu/video.c 2012-04-12 09:35:58.000000000 +0200
+++ ./src/emu/video.c 2012-09-05 19:42:05.000000000 +0200
@@ -995,7 +995,8 @@
  osd_ticks_t delta_realtime = realtime - m_speed_last_realtime;
  osd_ticks_t tps = osd_ticks_per_second();
  m_speed_percent = delta_emutime.as_double() * (double)tps / (double)delta_realtime;
-
+ machine().speed_percent = m_speed_percent;
+
  // remember the last times
  m_speed_last_realtime = realtime;
  m_speed_last_emutime = emutime;

As you can see (To the previous post) the SoundSync code.
So your issue with sound being all over the place will still be present (I'd guess).

Just to note, I had TERRIBLE results using AMD CPU's with Syncrefresh (& SoundSync Patch) ---> EMU speed was all over the place AND Sound followed suit!.
So I ALWAYS stick to Intel when using Mame & Syncrefresh now.
Others seem to have no problems using AMD.....?

The only other time I have had erratic EMU speed was with both Throttle & Syncrefresh enabled, But that was on a SDL/Linux build - Not a windows OS.
(I'm guessing that Throttle adjusted to 100% speed then Syncrefresh adjusted to Refresh speed and it bounced between them causing erratic EMU speed)



Also, This osd "WINDOWS" code was no longer included in GroovyMame from 0.145 onward (While still being present in CabMame 0.146)
Code: [Select]
@@ -203,6 +205,13 @@
  if (stream_buffer == NULL)
  return;
 
+ // if we are active, update the sampling frequency
+ if (g_current_machine->speed_percent > 0.0f && g_current_machine->switchRes.cs.soundsync)
+ {
+ IDirectSoundBuffer_SetFrequency(stream_buffer,
+ g_current_machine->sample_rate() * g_current_machine->speed_percent);
+ }
+

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: roccias on May 24, 2016, 10:48:43 am
I'm using groovymame 0.171 Asio4all and I saw in the first page of this post that there 2 patches
1) hi_171.diff
2) 0171_groovymame_015m.diff

What are they ?  And where I have to put it...

Thank you
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on May 24, 2016, 02:48:00 pm
Those are .diff files and they are needed, if you want to compile GroovyMAME for yourself. The files maybe work even with MAME 0173 source, but i cant tell for sure, because i didnt test it on my own.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: roccias on May 24, 2016, 05:16:19 pm
Ah, ok. Thank you U-man
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: roccias on May 25, 2016, 05:42:17 am
Hi, I need another advice if it is possible.   How I have to set in Mame.ini the parameters  multithreading and resolution ?

multithreading  0 or 1 ?

resolution  2560x0  or  2560x0 cleanstretch 2? 
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on May 25, 2016, 06:19:07 am
0.174 ? (http://i66.tinypic.com/2nc1ab6.gif)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: tom5151 on May 27, 2016, 09:16:36 am
Hi all,
I'm wondering if we will have a new version of GM or if we're going to be stuck on 171 version?
If it's possible to have some clarifications on what's going on, it would be fine.
Thanks in advance.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: pelanas on May 30, 2016, 09:54:01 am
I'd like to see a new version too... because pc2jamma has been fixed in 0.174 and must work again with no need of specific option compilation! :applaud: It was broken since 0.160.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: premuto on June 09, 2016, 07:37:40 am
mame go 174.

GM no update???
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on June 10, 2016, 07:16:57 am
This is what Calamity wrote in MAMEworld a view days ago:

Quote
Wow, this is crazy.

I'm alive, and working 60 hours per week. I'm currently just able to check BYOAC and the mailing list while on the toilet. Sorry, I should have provided some proof of life.

GM had development stalls in the past, it just wasn't so obvious because the update policy of mainline was different. A big overhaul like the ones required for the rewrites of Switchres (version 14 & 15), took me 10-15 days of full-time coding and testing each.

Unfortunately the industry I work in has no predictable holidays and has nothing to do with coding. I can only do serious coding work when my real work load is low enough. A different matter is mantaining a diff in sync with mainline that usually takes me 3-4 hours per month.

Please consider the fact that I recently released CRT Emudriver 2.0 (January 2016). This thing took me a full month of work between Windbg (reverse-engineering of Catalyst), VMMaker/Arcade OSD, GroovyMAME update and beta testing. Well, the point is that I had the whole concept ready in March 2015, but I had to wait for 9 months until I had the time to implement it. I could be implementing the same over the Crimson driver already to support bleeding edge cards but I simply can't afford taking a free month so often.

The possibility of merging GM into mainline is the best thing that could ever happen to GM, devs attitude has been totally receptive, so please be patient and let me do things right.

So all you need is to chillout. What would you do, after a 60hours week? GM is not dead, he will come back, just leave him time. All this hunt for the newest is not healthy anyway :D . There is not much interesting for GM since 0171, consider that too.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: sean_sk on June 10, 2016, 08:52:57 am
So all you need is to chillout. What would you do, after a 60hours week? GM is not dead, he will come back, just leave him time. All this hunt for the newest is not healthy anyway :D . There is not much interesting for GM since 0171, consider that too.

I completely agree with this. It would be best to stop inundating this thread with questions regarding when GroovyMAME 0.174 will be ready, since it is quite likely there won't be a GM 0.174.

As Calamity stated, GM has had development stalls in the past, sometimes many months apart, but they weren't as obvious because mainline MAME wasn't being released on a monthly basis as it is now and, therefore, no one cared. Don't forget that the differences between each monthly update is relatively incremental compared to those that used to occur between each of the major version releases under the old release schedule, and quite frankly there is little benefit to updating to 0.174, so stick with GM 0.171 and be patient.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: big10p on June 10, 2016, 10:21:34 am
I've never understood why some people think they positively have to have the latest version of MAME in general. I'm just thankful we have GroovyMAME at all! If Calamity is taking a break away from it for a while, I think that sounds like a good idea, as it sounds like he's super busy at the moment. Don't burn yourself out, Calamity!  :cheers:
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: RobeeJ on June 10, 2016, 11:07:59 am
I think all anyone wanted to know was that GM wasn't dead, I don't think people mind about being a few versions behind, it certainly isn't ruining my regular Rainbow Islands sessions. ;)

I keep meaning to sort out my vector mod, but coding for a living really makes it hard to want to code at the weekends too, so I completely sympathise with Calamity (even if he isn't coding during the week!).
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: sean_sk on June 11, 2016, 07:28:23 pm
I think all anyone wanted to know was that GM wasn't dead

Good point, although I don't think Calamity is the type of guy that would step away from GroovyMAME without letting everyone know as evidenced by the care he has shown towards the project and the community that use it.

Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: planexcvs on July 03, 2016, 12:31:11 pm
In the meantime, would anyone know offhand what it would take to update the 0171 diff file to make it patchable with the latest MAME source?
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: krick on July 03, 2016, 01:10:52 pm
In the meantime, would anyone know offhand what it would take to update the 0171 diff file to make it patchable with the latest MAME source?

If it was easy, Calamity would have already done it.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: planexcvs on July 03, 2016, 02:32:14 pm
Nevermind, figured it out...unified diffs.

If it was easy, Calamity would have already done it.

It's not difficult. It is time consuming though, but straightforward.

Once I get done with the changes and testing, I'll either share a diff or just the whole binary.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: cools on July 05, 2016, 11:48:50 am
Just wanted to say thanks again to Calamity for all the work on GM. Picked up an Atom based Windows tablet recently and found MAME normal was a bit hit and miss, stuttering for no good reason. Groovy sorted that out without any fuss, and enabling multithreading seems to help even more.  :cheers:
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: planexcvs on July 06, 2016, 01:30:32 am
Nevermind, figured it out...unified diffs.

If it was easy, Calamity would have already done it.

It's not difficult. It is time consuming though, but straightforward.

Once I get done with the changes and testing, I'll either share a diff or just the whole binary.

Ok, I was wrong. I take back what I said. This commit pretty much puts my plans in a bind: https://github.com/mamedev/mame/commit/852bd80d455c46a066fa4f1e6267f679b0096231

It's looking like they're killing off d3d9 with that? I guess BGFX from now on.
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: schmerzkaufen on July 07, 2016, 09:21:18 am
Mmh, looks like things are getting complicated. Does that include D3D9ex ?

Slightly different topic: would you know if porting back the integer scaling feature Calamity created for standard MAME... to GM 0.171, would be doable ?

I don't know if it exists as a patch or something (?)
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: haynor666 on July 08, 2016, 03:20:03 am
It was only a matter of time. Sadly this commit will cause much problems with Groovymame :(
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: nexusmtz on July 08, 2016, 03:34:40 am
Ok, I was wrong. I take back what I said. This commit pretty much puts my plans in a bind: https://github.com/mamedev/mame/commit/852bd80d455c46a066fa4f1e6267f679b0096231

It's looking like they're killing off d3d9 with that? I guess BGFX from now on.

The comment on the commit says:
Remove Direct3D abstraction layer
It was introduced to support Direct3D 8 and 9 with the same code base...


I read that to mean that the code being removed took care of the differences between d3d8 and d3d9, and since d3d8 has been gone for some time, the extra layer isn't needed. Employing an abstraction layer when there's only one target left is kind of like employing a translator who only remembers one language.

If it makes you more comfortable, the extra code is gone from mame175, but you can see below that d3d9 is not:

Code: [Select]
H:\games\mame0175b_64>mame64 dkong -video d3d -v
Video: Monitor 00000000003c3ec8 = "\\.\DISPLAY10" (primary)
Direct3D: Using Direct3D 9
Title: Re: GroovyMAME 0.171 - SwitchRes v0.015m
Post by: u-man on July 08, 2016, 05:20:58 am
Thats exactly what happened. No reason to panic. There are plans to remove DirectX9, but this will happen maybe in a year or two and maybe not at all ;) .