This is a highly experimental build of GroovyMAME, please use it with care.
http://mario.groovy.org/GroovyMame/WindowsATIDrivers/
groovymame32_0143.013c_test.rar
VMMaker 1.3b + Arcade_OSD_1.3.rar
I don't have much time today and I'm leaving tomorrow for a week, I'll try to explain all the details, hopefully will be easy to use.
I'll be updating this thread in the next hours...
New features:
- "Magic resolutions".
- Improved scaling support.
- Support for LCD monitors via Powerstrip.
Magic resolutions
----------------
This is an attempt to overcome the unfamous Hyperspin issue. We keep our mode table short by using a 16-30 "magic" resolutions instead a hundred of them. This was already suggested by bitbytebit but at the moment I hadn't figured a way to make it work. The idea is to create a list like this:
Code:
## Mame ##
1234 x 240 @ 60.000000 mame
1234 x 256 @ 60.000000 mame
1234 x 272 @ 60.000000 mame
1234 x 288 @ 60.000000 mame
1234 x 304 @ 60.000000 mame
1234 x 320 @ 60.000000 mame
1234 x 336 @ 60.000000 mame
1234 x 352 @ 60.000000 mame
1234 x 368 @ 60.000000 mame
1234 x 384 @ 60.000000 mame
1234 x 400 @ 60.000000 mame
1234 x 416 @ 60.000000 mame
1234 x 432 @ 60.000000 mame
1234 x 448 @ 60.000000 mame
1234 x 464 @ 60.000000 mame
1234 x 480 @ 60.000000 mame
1234 x 496 @ 60.000000 mame
1234 x 512 @ 60.000000 mame
1234 x 528 @ 60.000000 mame
1234 x 544 @ 60.000000 mame
1234 x 560 @ 60.000000 mame
1234 x 576 @ 60.000000 mame
1234 x 592 @ 60.000000 mame
1234 x 608 @ 60.000000 mame
1234 x 624 @ 60.000000 mame
1234 x 640 @ 60.000000 mame
1234 x 656 @ 60.000000 mame
1234 x 672 @ 60.000000 mame
1234 x 688 @ 60.000000 mame
1234 x 704 @ 60.000000 mame
1234 x 720 @ 60.000000 mame
1234 x 736 @ 60.000000 mame
1234 x 752 @ 60.000000 mame
1234 x 768 @ 60.000000 mame
1234 x 784 @ 60.000000 mame
1234 x 800 @ 60.000000 mame
...where the xres is a dummy value. Then, for instance, in order to create resolution 320x240 we use the 1234x240 resolution and recalculate it with the right values on the fly. So we can create all resolutions used by MAME out of that list.
You may be wondering why not to use dummy values for both xres and yres, so we could do with only one magic resolution. The reason is that it only works for Catalyst 9.3. If yres value doesn't match it will cause a serious crash in Catalyst 6.5. That's why, by default, I've implemented the most conservative method.
The other limitation is that the "magic" resolution must be bigger than the one we want to create, otherwise the OS won't reserve enough memory for the mode. GroovyMAME already checks this for us.
Be aware I've only tested this with this two setups (which are my current ones):
- WinXP 64 + Catalyst 6.5
- WinXP 32 + Catalyst 9.3
It would be good to test the same for the other two combinations:
- WinXP 64 + Catalyst 9.3
- WinXP 32 + Catalyst 6.5
In order to setup your system for this method, download the new VMMaker 1.3b, edit vmmaker.ini as usual with your monitor type. Make sure you use the new ReslList.txt file. Then run VMMaker to install the new resolutions and restart.
Remind to set this options to zero (vmmaker.ini) as we don't need to list roms data from MAME's xml anymore:
ListFromXML = 0
GenerateXML = 0
GenerateInis = 0
Pixel doubling & scaling
----------------------
Selection of scaled resolutions by any factor (x2, x3, ...) is performed automatically so you don't have to mess with options anymore. Just set up your monitor properly, using a monitor_specs line if necessary, both in vmmaker.ini and mame.ini so VMMaker calculates the right resolutions for your monitor and GroovyMAME knows which ones to pick up.
I've been testing with a SVGA CRT monitor which supports up to 1280x1024. In order to cover its whole range I needed to use this line:
monitor_specs_0 = "29100-70000, 50-100, 1.000, 1.000, 3.000, 0.014, 0.044, 0.524, 0, 0, 1024, 800"
The last values are important. 1024 (active lines limit) limits the vertical resolution to the one accepted by the monitor. Notice that I set the virtual lines limit value to 800, as this has the side effect to limit the vertical minimum resolution to 400 (800/2). So this produces resolutions from 400 to 1024 vertical lines.
LCD monitors & Powerstrip
-------------------------
Experimental PowerStrip support has been added. It only updates current desktop resolution by now, so it can be tweaked to any desired refresh rate on the fly. So this is ideal for using with LCD monitors which actually support variable refresh rates (not all of them do).
Notice that you don't need CRT_Emudriver for this. Actually it's better not to use it.
This should work with any card supported by PowerStrip.
In order to use this feature:
- Download and install PowerStrip. Reboot. Leave PowerStrip's default options.
- Make sure to set up your desktop resolution to the LCD's native resolution.
- Set monitor option to "lcd"
- Use a proper monitor_specs line*
- Run groovymame with this options:
groovymame 1942 -ps -monitor lcd -video d3d
-ps / powerstrip is a new option that allows you to enable PowerStrip support if it's found in the system.
monitor lcd is a new type of monitor which
-video d3d is recommended when scaling is involved, as it increases performance a lot
So for the monitor_specs line, you can just modify this one to fit your monitor:
monitor_specs0 29000.00-50000.00,50.00-70.00,0.636,3.813,1.906,0.318,0.064,1.048,0,0,800,800
...being the last values the vertical resolution of your monitor (mine is 1280x800)
Porch values are ignored here, but vertical-horizontal freq. ranges are considered internally for the modeline calculator to make decisions, so try to use the right values for those. Many LCDs just sync properly to frequencies around 60 Hz, so you can use the monitor_specs line to limit the range of vertical frequencies sent to the monitor.
You can also choose which monitor you want to use:
groovymame 1942 -ps -monitor lcd -video d3d -screen \\.\DISPLAY1
or
groovymame 1942 -ps -monitor lcd -video d3d -screen \\.\DISPLAY2
Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
GroovyMAME 0143.013c test
- pucci
- Moderatore
- Messaggi: 4928
- Iscritto il: 19/07/2005, 18:52
- Città: San Clemente (RN)
- Località: Rimini
- Grazie Ricevuti: 70 volte
Re: GroovyMAME 0143.013c test
Great news man!
Make sure they are run in their native refresh (press F11 -> 100%?). Try games like mk, robocop, ddragon, etc. which don't run at 60 Hz.
To know if it was because of direct3d try running games with the -video ddraw param instead.
You can permanently set that magic resolution in mame.ini by adding this option:
magic_resolution 640x480@60
Make sure they are run in their native refresh (press F11 -> 100%?). Try games like mk, robocop, ddragon, etc. which don't run at 60 Hz.
To know if it was because of direct3d try running games with the -video ddraw param instead.
You can permanently set that magic resolution in mame.ini by adding this option:
magic_resolution 640x480@60