G R O O V Y   M A M E :   I N S T A L L A T I O N   A N D   Q U I C K   C O N F I G U R A T I O N   
( W I N    7   -   S U P E R   R E S O L U T I O N S   -   C R T )


A )   F i r s t   s t e p s

1. Download the latest version of Groovy MAME [ > ] attending to your OS (Windows XP/Windows 7 or higher/Linux). Notice the 64-bit versions of Windows are required (though there use to be unofficial 32-bit builds posted in the BYOA forums if you happen to need them) and that this guide will only cover W7 since it's still the most reliable (and user-friendly OS) for GM usage.

You'll also need the game, system BIOS and devices romsets for the corresponding MAME version, which should be placed in a permanent directory in the target computer. Game romsets of home systems under MAME's software list methodology need predetermined directories; check this link [ > ] in order to learn about software lists and software storage if you're interested in emulation of home systems with Groovy MAME.


2. Create a directory for MAME in the target computer, say, C:\GROOVYMAME, and extract into it the content of Groovy MAME's compressed file. A file with the name mame64.exe should be there. Right-click it, go to Properties, Compatibility and give it Admin. privileges.


3. Make sure the following folders are there: C:\GROOVYMAME\ini and C:\GROOVYMAME\ini\source. The former will be the folder to place per-game (per-machine, in the case of home systems) INI configuration files, while the latter will host per-driver INI configuration files. These INI files will only be needed when we want specific MAME settings for a game or group of games, since they'll get priority over Groovy MAME's main configuration file mame.ini. Remember this.


4. If it's not present after the extraction, create mame.ini: Right-click mame64.exe and click Send to, Desktop (create shortcut). Place this desktop shortcut into GM's directory (paste in C:\GROOVYMAME). Right-click it, go to Properties, Direct access label, and, in the target field add " -cc" -- that is, if it has:

C:\GROOVYMAME\mame64.exe

...it must have:

C:\GROOVYMAME\mame64.exe -cc

Now make it accept the change and double-click this direct access.


5. Make sure a mame.ini file is now in your Groovy MAME directory and delete the direct access you pasted there in the previous step.


6. For launching the games/machines, you have now the option to pick a MAME-compatible frontend or just resort to command-line operation and/or MAME's own GUI (which just requires double-clicking mame64.exe once the configuration process has been finished). In the former case, check the internet to see what's better suited for your tastes keeping in mind the minimum screen resolution required by the frontend to operate and also remember to configure it as you make sure it does not overwrite the existing mame.ini file nor create brand-new ones for the games/drivers. The Display options in MAMEUI (the frontend officially included in MAME since 0.171) will do, so don't touch them!




B )   C R T   E m u d r i v e r   a n d   C R T   T o o l s

1. Create a directory in your target system for CRT Emudriver 2.0, VMM and Arcade OSD [ > ] and download the suite.

Be aware that CRT Emudriver 2.0 beta 11 and higher will totally remove the anti-flicker filter present in interlaced display modes. If, for some reason, you prefer this filter, you must install CRT Emudriver 2.0 beta 10 and use it with the latest version of CRT Tools, since they'll be perfectly compatible.

Extract them into your folder.


2. Follow Calamity's own installation guides you'll find in the previous link up to the end -- you'll get your system ready for 15-kHz modes and video mode customization as well as Groovy MAME ready for super resolutions, just remember to set the directory of your Groovy MAME's executable file (mame64.exe) and check Export monitor settings to Groovy MAME in VMM's MAME tab.

<Placeholder>

We've made this with two purposes -- helping to get Groovy MAME (GM) working and properly configured as soon as possible for anybody with no deep knowledge of MAME [ > ] itself and the technicalities involved in CRT Emudriver, and summarizing Groovy MAME's features from Groovy MAME's official message board [ > ], where they have been developed, explained, discussed and well, kind of lost due to that Site's nature. It's strongly recommended to read and broadly understand this tutorial for anybody not entirely familiar with the emulator, but keep in mind this is not GM's official documentation and will be outdated sooner o later.

This guide assumes, on the other hand, that the reader has some understanding of the different video modes used by old games and of how they are displayed on CRT monitors.

Groovy MAME is maintained and developed these days by Calamity alone, so it's CRT Emudriver's best friend. At the moment of posting this, MAME has just reached its version 0.212, and the possibilities to reduce audio latency to virtually the same level as the original hardware have become a reality. This couples with GM's unique frame delay engine to essentially match the original experience on actual hardware regarding response times (lag) if used properly, so there's currently a lot more to GM than just the capability to emulate the games on 15-kHz CRT monitors at their native vertical frequency and resolution modes.

The tutorial tries to be as to-the-point as possible, so only the necessary aspects have been explained. With that in mind, it's been restricted to Windows 7 installations and CRT usage -- our recommended environment. Flat-panel users can also take advantage of many of GM's unique features, though the particular tweaks they require will not be covered here. Usage of 31-kHz 120-Hz monitors for natively 15-kHz modes also involves some particularities which would require their own thread.

We believe it's better using the "official" board at BYOAC to discuss anything GM-related, but feel free to make posts on the subject here in this thread too. Remember that having Groovy MAME updated as much as possible is always recommended since it's improving with every Switchres version.

54

(1 replies, posted in En español)

No hay razón en el presente para usar WIN XP más allá que la de ejecutar determinados juegos (de WIN) incompatibles con SO posteriores, que no parece que sea tu caso. Con XP limitas exponencialmente la selección de la t. gráfica, te impides usar D3D 9 Ex y por ello aprovechar al máximo la función "frame delay" de GM y puede que hasta limites el repertorio de sistemas de audio sobre los que aprovechar Port Audio de MAME.

Para escoger CRT Emudriver siempre se aconseja la versión 2.0, quieras o no usar súper-resoluciones. Beta 10 si quieres filtro anti-parpadeo en modos entrelazados o la última "beta" si no. El sobreescalado en la horizontal que conlleva usar una súper-resolución no tiene efectos apreciables por el usuario (más allá de una mayor uniformidad en la amplitud horizontal) si el modo escala íntegramente (por lo que suele ser aconsejable instalar más de uno); la desventaja realmente es la mayor demanda de CPU y GPU que supone su uso. En la práctica, sobre todo si también acabas usando otros emuladores distintos de GM, tú mismo acabarás decidiendo cuántos modos instalar y en qué instancia usar el modo nativo en vez de una versión súper.

No soy el mejor para contestar sobre "hardware", pero para la t. gráfica hay un sinfín de posibilidades en función de las necesidades de cada uno -- si quieres perfil bajo, autodisipación del calor, dos salidas analógicas, soporte del fabricante a futuro... Una potente, desde luego, te va a permitir más libertades con super-resoluciones e incluso abrir la puerta a otras aplicaciones modernas.

En este foro hay muchas discusiones al respecto:

http://forum.arcadecontrols.com/index.p … ,52.0.html

55

(6 replies, posted in Support)

That post is talking about rendering resolutions. You should just worry about the system's display resolution modes, at least for real-time 3-D graphics. The N64 pretty much used only two resolution modes -- 320 x 240 and 640 x 480 (interlaced), which means that anything not actually rendered at those modes (but full-screen displayed) was scaled.

That is to say, check if that emulator (or plug-in) allows 320 x 240 @ 60 and 640 x 480 @ 60 (vertical refresh is a guess, but it should be close enough) and how to pick them from the emulator itself (I never used it msyelf, and it's unlikely that many people here have, so you should ask the emulator's authors if you don't find it out). Those are the most standard modes so it's possible you already have them installed, but delete your user list's content and leave only in-range modes (I'm assuming you're using a 15-kHz monitor; have a look here [ > ] to get an idea) before any new installation attempt.

56

(6 replies, posted in Support)

Hi,

Again -- why those modes? Most are out of range.

57

(6 replies, posted in Support)

First and foremost, you should make sure that you'll be using a program which actually calls for that resolution mode since you may be doing extra work with no actual reason. I'm far from being an expert on this system, but hardly it output that odd video mode instead of 640 x 480, even if the rendering resolution was lower. Where did you take that bit of information from?

Registration should be working again. Please, if you find any issue or don't get a verification e-mail within a couple of hours, send me an e-mail at postbackweb [@] yahoo [.] com (subject: "Eiusdemmodi").

If you ever find the registration system isn't available, it's an anti-spam measure. Send me an e-mail also as explained above.

Thanks.

User registration not working as of now. Will post a message here when it's all solved.

My pleasure.

By Calamity. I'm just saving it here as somebody suggested but it comes from this thread at BYOAC:

http://forum.arcadecontrols.com/index.p … msg1659816


--

Check video here: https://www.youtube.com/watch?v=N6c32mp_VoQ

GroovyMAME and the CRT Tools can dynamically modify the timings output to an LCD monitor when using an AMD HD 5000 or newer card. In order to do this in an useful way, you first need to overcome some obstacles.

The first and most important obstacle is that the current desktop video mode is read-only. This means neither GM nor Arcade OSD can alter these current video timings. Because LCDs are supposed to work at the desktop (native) resolution all the time, without switching modes, this becomes a problem.

Fortunately there's a very easy workaround. You need to create a dummy mode with the same resolution as your monitor's native resolution, and a different refresh rate. This way, Windows assumes these are separate video modes, and it allows you to change the timings freely.

The second obstacle is to guess your monitor's timing values in order to build a custom "crt range" that can be used by GM. Again, this is very easy to do as I'll show you in a minute.

So the first step is to launch Arcade OSD, select your desktop video mode (which should be marked in cyan to indicate its currently used by the desktop):

https://geedorah.com/eiusdemmodi/eius_img/lcd_01.png

Now press "2" to enter non-fullscreen edit. Select "Copy modeline to clipboard". Exit Arcade OSD.

https://geedorah.com/eiusdemmodi/eius_img/lcd_02.png

Now open Notepad. Press CTRL+V. You'll see something like this:

modeline "2560x1600_60 98.71KHz 59.97Hz" 268.50 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync
crt_range 98703.24-98723.24, 50.00-60.00, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1928, 3200, 3857

We're interested is in the second line. Arcade OSD has created a crt_range for you that corresponds to your current LCD timings. What you have to do is make that crt_range a bit more general so it can produce a higher number of refresh rates.

First, limit the progressive line range to the exact vertical resolution (in my case: 1600), and set the interlace range to zero:

crt_range 98703.24-98723.24, 50.00-60.00, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1600, 0, 0


Now, as the vast majority of arcade games use refresh rates between 54 and 60,61 Hz, we'll adjust the vertical frequency range:

crt_range 98703.24-98723.24, 54.00-60.61, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1600, 0, 0


The next step is vital: we need to adjust the horizontal frequency to make a valid crt_range. This is very easy to do if we have the vertical total value taken from the monitor's default timings. It's the last value in the modeline we got from Arcade OSD (don't mistake modelines and crt_ranges!):

modeline "2560x1600_60 98.71KHz 59.97Hz" 268.50 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync


So what we need to do is to multiply this vertical total value by each one of the vertical refresh limits:

1646 x 54.00 = 88884
1646 x 60.61 = 99764

and fill the crt_range line accordingly:

crt_range 88884-99764, 54.00-60.61, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1600, 0, 0


That's it. Finally, add a zero to the crt_range word, and we're done:

crt_range0 88884-99764, 54.00-60.61, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1600, 0, 0

NOTE: Older versions of GroovyMAME and the CRT Tools had an HfreqMax limitation of 100000 Hz. This was too low for 4K monitor unfortunately. Starting from CRT Tools beta 14 and GroovyMAME v0.203, this limitation has been removed.

The next step is to configure VMMaker using this custom crt_range. So let's launch VMMaker, and go to Settings->Monitor settings->Edit monitor presets.

This will open monitor.ini in Notepad. Now we'll create a new monitor preset, by adding our newly created crt_range and a monitor header, like this one:

monitor "u3011", "Dell U3011", "4:3"
    crt_range0 88884-99764, 54.00-60.61, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1600, 0, 0

Here I've filled the fields in the monitor header with my monitor's name. Leave default aspect as 4:3. Save the file and exit Notepad.

Now the new monitor definition will be selectable from the monitor presets dropdown menu.

https://geedorah.com/eiusdemmodi/eius_img/lcd_03.png

Now go to the Video card and make sure to select the right output in the Device dropdown menu. When done, press Ok to go back the VMMaker's main window.

https://geedorah.com/eiusdemmodi/eius_img/lcd_04.png


Once in VMMaker's console (next to the Ready> prompt), type this:

mode add 2560x1600@59

Notice the "59". This is a dummy refresh. We should type one that's not used by the system. VMMaker will show this:

>>mode add 2560x1600@59              
"2560x1600_59 97.06KHz 59.00Hz" 263.99 2560 2608 2640 2720 1600 1603 1609 1645 +hsync -vsync
1 mode added to modelist.

Now type this:

modelist install

VMMaker will prompt:

>>modelist install               
Installing modelines in system...
1 modelines installed.

We can close VMMaker now, and go back to Arcade OSD, were we'll see the new mode:

https://geedorah.com/eiusdemmodi/eius_img/lcd_05.png

Perfect. The final step is to configure GroovyMAME to use this custom monitor preset. So open mame.ini, and edit these options:

monitor custom
crt_range0 88884-99764, 54.00-60.61, 0.179, 0.119, 0.298, 0.030, 0.061, 0.375, 1, 0, 1600, 1600, 0, 0
resolution 2560x1600@59

Pay attention to the "resolution" option. We're forcing GroovyMAME to pick this dummy mode we've created. GroovyMAME will take this mode and adjust its refresh rate to whatever refresh is required.

E.g., let's launch rtype:

https://geedorah.com/eiusdemmodi/eius_img/lcd_06.jpg

There it is!

If you notice that the scroll is not smooth, then your LCD can't sync to that refresh. This particular monitor I'm testing shows smooth scrolling between 58.50 and 60.61 Hz. Yours will be different. The only way to know it is by testing different games.

62

(0 replies, posted in Support)

Everything should work again, including automatic registration. There are some issues with the skin colors affecting browsing buttons and whatnot which hopefully will be solved in the future.

As usual, any problem with the Forum, send an e-mail to postbackweb [@] yahoo [.] com with "Eiusdemmodi" as the subject.

Therefore, you can't expect a universal solution by software which sets a perfectly adjusted visible area on screen for every game in MAME so that you won't ever need to make monitor tweaks. Super resolutions (and only super resolutions) will essentially get the same horizontal amplitude for all the games, but you'll need to manually adjust the vertical size if you want to properly display games with different-enough video modes, though we'll show a way here (two ways, actually) to control the vertical position by software in case you want to leave at least that monitor setting intact.

Lo que se dice es que la amplitud vertical es el único parámetro que requiere sí o sí ajuste en "hardware". El posicionamiento en la vertical es lo que puede resolverse de varias maneras por "software".

64

(11 replies, posted in Discussion)

That's weird, unless your .CFG file has something wrong. If you try a version from 08.2016 with a properly set .CFG and it still happens, I can only suggest asking in their official forums, since there are people there using 15 kHz.

65

(11 replies, posted in Discussion)

Can't talk about recent versions, but I've tested RA the past year with an HD-4670 under W7 and both, D3D and GL, and no crashes here. I'd suggest you to focus on the latter since you can expect better input lag figures with it. And windowed fullscreen should be set to false. First off, do you manage to display RGUI at H x 240 without crashes (right after setting the desktop to that res.)?

(I'm moving this thread to the Discussion subforum, by the way.)

66

(11 replies, posted in Discussion)

Take a look at this thread:

http://forum.arcadecontrols.com/index.p … msg1586903

Back to normal, kind of.

Registration still requires sending us an e-mail to postbackweb [@] yahoo [.] com

Cheers.

Not sure when, exactly, but the Site will be down for a few hours, maybe days, this week. There's a possibility we can't get this Forum working immediately (and with it, all the information here will be temporarily lost -- be aware it could be even for weeks), depending on how Pun-BB responds. So, in that case, we'll make the announcements on the frontpage, so please, remember this URL:

www.geedorah.com

Any contribution from now on till the migration is done will be lost. We'll update this thread when we're back to normal.

Groovy MAME 0.182/Switchres 0.016 Final has been released by Calamity this past week and it's a good moment to update this guide with the changes since version 0.170 -- dynamic mode switching, for instance, was improved in a recent version (you shouldn't notice the desktop on the background anymore). But particularly because mainline MAME now has this:

Updated PortAudio library and added audio output module. [inte alls]
* Provides low-latency audio output on Windows 7 or later and Linux.

This means ASIO/ASIO-4-All builds are no longer necessary for low audio latency, since Port Audio options should get equally good results. It's being dicussed (for now) in this thread at BYOAC:

http://forum.arcadecontrols.com/index.p … msg1601757

So use it to get hints on how to configure Port Audio options.

Nevertheless, I'm not properly updating this guide for now, so here are the other changes you must be aware of if you're using this for configuring 0.182:

- Direct 3-D 9 Ex compatibility is only available in a separate build downloadable as groovymame64_0182.016_final_d3dex.7z, and with it, you must now type video d3d instead of video d3d9ex for usage of this API's Ex version, which is still the recommended one (unless you're on WIN XP). Direct Draw is no longer supported.

- The maximum value for frame delay is 8.

- Clean stretch options are no longer used. Integer scaling was added to mainline MAME by Calamity himself in 0.172:

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

- Directly related to that, there's a new option, super_width, which defines the width that triggers the unevenstretchx option, used for super resolutions. The default value is 2560.

- There's no use for the multithreading setting anymore either, since GM sets it automatically now.

The thread for Groovy MAME 0.182/Switchres 0.016 Final is this, in case you want to check all the changes and their evolution:

http://forum.arcadecontrols.com/index.p … 83290.html

Though the guide hasn't been updated with these changes, I did add a final section for specific cases which will get more tips/examples with the time.

I'm not recommending a particular cable/seller given that I don't have personal experience with any and there're good and not-so-good ways to join the syncs. Ideally it should use specific circuitry just for that.

That cable is not for RGB signals, I'm afraid. You won't find D-sub-SCART RGB cables through E-Bay retailers or ordinary shops. The UMSA is a good, versatile solution but you need two cables for it, whereas some people make and sell an all-in-one solution.

http://geedorah.com/eiusdemmodi/forum/v … d=304#p304

The present guide, given the transitional nature of the latest versions, has been made with Groovy MAME 0.170 in mind, being this also the last one to support Direct Draw.

Sigue este hilo para todos los cambios que se están produciendo desde entonces:

http://forum.arcadecontrols.com/index.p … 459.0.html

Ahí yo, no. Supongo que ésa es una cuestión para MAME Dev directamente.

Debes decirnos qué quieres hacer exactamente con tu equipo. Para GM bajo super-resoluciones simplemente, no deberías necesitar ninguna modificación de forma general. Para otros emuladores o juegos, probablemente sí necesites generar e instalar modos específicos con VMM, y mejor manualmente que tomarlos de MAME, sí, si quieres un mayor control. VMM está diseñado para "usarlo desde cero" y cuantas veces como quieras, precisamente.

"Super-resoluciones" implica que GM no va a usar estrictamente las resoluciones nativas, pero puedes establecer GM para que las use universalmente (las nativas) o bien particularmente (con el machinename.ini). "Super-resoluciones" tiene la ventaja principalmente de precisar muchos menos ajustes geométricos y resolver la mayor parte de los cambios dinámicos de forma imperceptible, y la desventaja de que en algunos juegos se pueden llegar a notar mínimos defectos gráficos producto del escalado, como te dije arriba. Otra razón para particularizar la solicitación de los modos puede ser la del posicionamiento vertical de la imagen, pero esto deberá ser posterior a que te familiarices mucho más con GM. Todo está en Documentación.

Hola. No sé muy bien si me estás preguntando esto, pero la forma de añadir modos de vídeo a tu sistema es por medio de las CRT Tools. La interfaz de Video Mode Maker es bastante intuitiva y se basa en los modos que generas a través de los archivos de texto editables que acompañan al programa. La parte teórica de la versión pre-interfaz la tienes aquí:

http://geedorah.com/eiusdemmodi/forum/v … .php?id=46

En este enlace están modos que puedes copiar y pegar a user_modes.ini, intentando cubrir el mayor espectro:

http://geedorah.com/eiusdemmodi/forum/v … php?id=307

Para forzar modos en Groovy MAME:

http://geedorah.com/eiusdemmodi/forum/v … d=986#p986

Siempre y cuando no pre-definas especificaciones inapropiadas para el monitor que estás usando, te animaría a probar sin miedo y poco a poco.

GM 0.178 usa una nueva versión de Switchres que aún está en fase de pruebas, de modo que yo no te aconsejo empezar con ella si eres novato. Pero la definición de modos particulares, tanto si hay cambios dinámicos como si no, es básicamente como en 0.170. No es que me haya quedado muy clara tu duda, en cualquier caso.