YesAffinity's Feed

YesAffinity
01-21-2019 at 11:37 AM
13 Comments
Rate this Entry

Gaining an Edge on MAME

I thought I'd post a potentially helpful tip for those of you trying to squeeze everything you can out of your MAME submissions. I utilized this technique for my recent SF2 Champion Edition submission (https://www.twingalaxies.com/showthread.php/198439-M-A-M-E-Street-Fighter-II-Champion-Edition-World-920313-Points-Tournament-Settings-1-653-100-Chris-Gleed), and it proved critical. It is literally a 1-frame difference in timing, but that 1 frame absolutely makes a difference.


My setup:

-Windows XP PC w/ Wolfmame .106 - relatively newer hardware, but I was able to dig up drivers for all of the hardware, to make XP work

-PCI-E video card with VGA and HDMI output

-Gonbes GBS-8100 VGA to CGA/EGA converter

-Xbox 360 Fightstick or MC Cthulhu-based fightstick

-Sony Trinitron CRT (pre-HDMI model, 240p/480i support only)


There may be some advantages in running an XP machine with .106. There has been debate on the DK Forum, and the conclusion has always been that this particular configuration plays much more smoothly and responsively than other versions/combinations of wolfame and windows.


The key here, though, is converting VGA to composite and utilizing a pre-HDMI era CRT*. Testing my PC-> LCD HDMI input side-by-side against PC->VGA out->Gonbes GBS-8100->Trinitron composite** input, the LCD is 1 frame less responsive than the CRT.


*CRT's from the HDMI era, like the WEGA's, are known to introduce additional processing, and therefore additional delay.


**I also tested s-video, and the result was not as good. I didn't do a side-by-side comparison with s-video from GBS-8100 to CRT, but could feel the additional delay. I'm guessing there's additional processing within the GBS-8100, because playing consoles with s-video out to the CRT does not result in the same problem.


That's it. Reduction of 1 frame of delay/response from PC to screen. It makes a difference!


Now, it may be possible to get better results yet, utilizing a video card that has a direct composite output. I haven't dug into that yet. I believe composite output went away with end of the AGP era, meaning only motherboards supporting AGP and PCI (read: Pentium 4 and earlier), will support these cards. I'm not likely to go hunting for a PC that meets these specs anytime soon.



ThanksFly, DJKSTYLE thanked this post
Likeslexmark, Fly, DJKSTYLE liked this post
Comments
  1. Fly's Avatar

    This gives me hope that I might actually play MAME someday.

    Hec

    LikesYesAffinity liked this post
  2. EVN's Avatar

    Interesting to see how people achieve stuff like this.


    My MAME setup is:

    -Windows XP on an i5 based desktop PC.

    -An ATI graphics card that is compatible with CRT Emudriver flashed with an Atom15 bios.

    -GroovyMAME.

    -Connected via a JPAC to my supergun or a JAMMA cabinet.


    No good for submissions but it plays and looks nice! Runs every game at it's native resolution so there is no scaling happening. I wonder if there would be a way to substitute Wolfmame into a setup like this?

    ThanksYesAffinity thanked this post
    LikesHAN liked this post
  3. YesAffinity's Avatar

    Quote Originally Posted by EVN

    Interesting to see how people achieve stuff like this.


    My MAME setup is:

    -Windows XP on an i5 based desktop PC.

    -An ATI graphics card that is compatible with CRT Emudriver flashed with an Atom15 bios.

    -GroovyMAME.

    -Connected via a JPAC to my supergun or a JAMMA cabinet.


    No good for submissions but it plays and looks nice! Runs every game at it's native resolution so there is no scaling happening. I wonder if there would be a way to substitute Wolfmame into a setup like this?

    My mame cab is a 865 chipset, p4 3.4 xp machine. Ultimarc AGP arcadevga and jpac. Boots to the xp desktop then auto launches into mamewah. I can exit out of mamewah and run other emulators from the desktop, including wolfmame. The cab was a captain America and avengers originally, a bootleg sf2 when I bought it. K7000 w/ 25" monitor. All looks and plays great, but doesnt achieve quite the low delay that the gbs/trinitron does, just from the feel of play.


    But all that said, I'm not familiar with how groovymame and crt emudriver work, but can you not boot to the desktop and launch wolfmame from the desktop?

    Updated 01-21-2019 at 08:15 PM by YesAffinity
  4. EVN's Avatar

    Quote Originally Posted by YesAffinity

    But all that said, I'm not familiar with how groovymame and crt emudriver work, but can you not boot to the desktop and launch wolfmame from the desktop?


    Basically the CRT Emudriver let's you output the exact 15k RGB resolutions that the original PCB did and GroovyMAME is a version of MAME that forces the original game resolution. If you could get WolfMAME to run the original resolution then I guess it would work? Never tried.

  5. YesAffinity's Avatar

    Quote Originally Posted by EVN



    Basically the CRT Emudriver let's you output the exact 15k RGB resolutions that the original PCB did and GroovyMAME is a version of MAME that forces the original game resolution. If you could get WolfMAME to run the original resolution then I guess it would work? Never tried.

    In wolfmame .106 you can set the pixel ratio. 12:7 I believe is correct for sf2's. That's what I do although it's not necessary, it will display I whatever the default resolution is that wolfmame spots out. Desktop is set to 640x480 which I believ is the max that the ultimarc chain will properly display on the CRT. I think you can use crt emudriver with pretty much any emulator. It may not be the exact original res, but it should work as long as the res isnt exceeding 15khz.

  6. EVN's Avatar

    Yeah but believe the idea of the groovy setup it it runs SF2 for example at the perfect 384x224 60Hz or Mortal Kombat at 400x254 53.20Hz. No scaling is taking place.

  7. YesAffinity's Avatar

    Quote Originally Posted by EVN

    Yeah but believe the idea of the groovy setup it it runs SF2 for example at the perfect 384x224 60Hz or Mortal Kombat at 400x254 53.20Hz. No scaling is taking place.

    That's the purpose of the arcadevga + jpac combo too, but wolfmame defeats this.purpose by default. BUT you got me thinking and I just poked around in the wolfmame options and got it displaying at 384x224. The problem with k7000s tho is no horizontal width adjustment. :( so, vertically I can fill.the screen, horizontally not so much. :p


    Anyway, right click on the rom you want to config. Go to properties, go to the advanced tab. Make sure direct draw and all checkboxes are unchecked. Theres a pull down menu for resolution. If you dont have all the arcade resolutions there, let me know. There could've been a couple other steps I took when setting things up originally to get native arcade resolutions incorporated into windows. Also, under another tab, theres one with frame skipping options (set to none obviously)

    On that tab theres also a check box for preserve aspect ratio or something similar. Uncheck that also.

  8. EVN's Avatar

    Quote Originally Posted by YesAffinity

    That's the purpose of the arcadevga


    Yep, the purpose of the CRT Emudriver is to basically create your own card like the Arcade VGA but the advantage is that using a converted Radeon card is you get access to resolutions the Ultimarc card doesn't support. At least that was the reason behind it when I built the box.

  9. spectre's Avatar

    I've seen people sell off their PCB collection because Groovy MAME + CRT is so close to the real deal.

  10. YesAffinity's Avatar

    Quote Originally Posted by spectre

    I've seen people sell off their PCB collection because Groovy MAME + CRT is so close to the real deal.

    That's just crazy talk! :p

    LikesFly liked this post
  11. YesAffinity's Avatar

    So I've started toying around with groovymame and crt emudrivers. Found that it is absolutely possible to force wolfmame to display at a games native res, for playing on crt's etc.


    First, go through the process of setting up crt emudrivers and groovymame. Use VMM to update the registry. Once rebooted and displaying in 15khz, use arcade osd to set the desktop res to the native res of the game you're going to play. Open wolfmame, proceed to play.


    Wolfmame will run at the res that you've set your desktop to. Voila.


    Make sure you have video mode set to d3d in wolfmame and keep aspect ratio 'on' there may be another setting or two that require tweaking, but I dont think theres anything absolutely necessary above and beyond this.

    I'm testing through an ossc currently, Admittedly it doesnt handle the signal well via the VGA input. It works ok, but image quality suffers. Might be a way to optimize it but I'm not going to spend that much time on it since its simply a test/proof of concept thing. I have a retrotek vga to ypbpr converter on the way and will report back with the results once I get that in the chain.

    LikesHAN, EVN, DJKSTYLE liked this post
  12. EVN's Avatar

    Have you looked at the MiSTer yet Chris? I got the DE10 Nano for one yesterday. I think given time, that project is going to be awesome.

    LikesYesAffinity liked this post
  13. YesAffinity's Avatar

    Another quick follow-up on this. I got a VGA to component transcoder. VGA in, component video out. My trinitron has component inputs. It works great, looks great, and no lag.


    ^EVN I just saw your post. No, I haven't dug into the MiSTer project yet. Done a bit of reading on it, but not a project I've yet committed time to. Too many projects and cool stuff going on in this hobby, not enough free time.... :p

    ThanksFly thanked this post
    LikesFly liked this post
Join us