Software-based black frame insertion improves motion clarity in MAME on 120 Hz displays

It is possible to do software-based black-frame insertion in 60 fps software (e.g. emulators) for 120 Hz LCD computer monitors.

A source code modification completely eliminates MAME motion blur! (Credit: Calamity and cpharlock; from suggestion made by Blur Busters) Success: HardForum and Arcadecontrols Forum.
Also see the mameworld.info announcement.

Although this benefits most 120 Hz setups (including 31.5 KHz arcade CRT’s), this completely eliminates LCD motion blur when using emulators on compatible LightBoost 120 Hz LCD monitors!  LightBoost, originally designed for 3D, is manufacturer-limited to work only at above 100 Hz (an unfortunate artificial manufacturer restriction). Fortunately, simply blacking out every other refresh (black frame insertion) provides the zero motion blur effect on LightBoost displays (LightBoost HOWTO) at 60 frames per second!

NOTES:
– 120Hz also reduces input lag compared to 60Hz. Good for Street Fighter style games!
– See ArcadeControls Forum Thread.
– See mameworld.info forum thread.
– Latest source code patch available by cpharlock!  Very small patch. See below.
– For a web-based animation of black frame insertion, see Blur Busters Motion Tests.

INSTRUCTIONS:
– If you prefer to compile, download source code diff of black frame insertion.
– If you prefer to install, download MAME 0.148 with black frame insertion.
– Unzip into a folder, put your legal ROMS in the ‘roms’ subfolder, and run the executable (32-bit and 64-bit versions included). For 31.5KHz arcade CRT’s, run using 240p @ 120Hz. For ASUS/BENQ 120 Hz monitors, enable LightBoost first. For Samsung 700D/750D/950D, follow the Samsung HOWTO first.
Command Line:
mame.exe romname -nomultithreading -nothrottle -video d3d -syncrefresh -strobe

IMPORTANT:
– You must have native 120 Hz, such as a LightBoost monitor.
– Will NOT benefit 60 Hz displays
– Will NOT benefit HDTV’s; most don’t accept 120 Hz from computer (some exceptions).


About Chief Blur Buster

Head of Blur Busters.

25 comments on “Software-based black frame insertion improves motion clarity in MAME on 120 Hz displays

  1. scanmaster says:

    Good news, just in;
    …”GroovyMame is now being patched to support it in command line/ini (-strobe 1 -redraw 1). I will send you the details along this weekend and you can post it on blur busters,including the diff filel. By the way, credits should really go to Calamity of Groovymame for showing me what I had to change in mame code.”

  2. cpharlok says:

    Well friends, here you are the patch and instructions to make it working (you can update this post or make another for better readability).

    First, download the 0.148 Mame source. Then download the patch from here:

    http://free-game.es/add_strobe.diff.zip

    Apply the patch and build source. Wait some minutes (or more…) and you will have your shiny mame.exe ready for action. Run with these options:

    mame.exe romname -nomultithreading -nothrottle -video d3d -syncrefresh -strobe

    Note the last option -strobe, that is what we added. It is also important to put all the options as shown as it is mandatory for properly smooth action. This will cause to mame redraw another extra black frame, so voilá, we have it. You can generate and change mame.ini as usual to avoid writing all commands everytime and configure all other options like folders or HLSL filter.

    This funcionality will be added to GroovyMame soon, but meanwhile if anyone needs a compiled executable to test it you can contact me at harlok(nospam)terra.es

    Tested succesfully in this system:

    Sandy Bridge i5 OC at 3800 Mhz
    2x GeForce 660 SLI
    Windows 7 x64
    BENQ 2411T
    Lightboost patch enabled and properly working

    PROS:

    – You get perfect clear, astonishing scrolls with no ghosting, blur… like CRT but without X-Rays!
    – Flickering is not noticeable in my 2411T. This monitor is fast as speedy gonzalez with 1ms gtg, but I think all lightboost enabled monitors will be equally flicker free. That’s my eyes however, I see no flicker. Others may see it, who knows.
    – No need for those big, old CRT tubes anymore (well, if you are ok with the HLSL or others rescalers 🙂 )

    CONS:

    – You need a lightboost monitor (obvious, and not cheap)
    – Brightness is halved (but at least in 2411T you can tweak controls/control panel and it is not a problem at all)
    – You may get hooked playing all day long those MAME oldies and forget to eat or sleep, beware!!

    Thanks all people that helped me in achieving the dream of properly playing arcade games with a TFT monitor. Special thanks to Mark Rejhon, without him I could not even start thinking about it.

    Credits to Calamity of arcadecontrols.com for his help and finally arranging all modifications in a proper diff file. You rule mate!!

    I hope soon we will have more emulators and games updated. One specially interesting would be Amiga emulator WinUAE, I hope devs will add that feature to it soon, as Amiga was my mother computer and loved the fast action games and demos.

    Enjoy!

  3. scanmaster says:

    Excellent, thanks!

    The only thing I would do is to add the phrase “Black Frame Insertion” somewhere — it’s a widely used phrase (google that) … Either in the command line description or renaming “strobe” to “black_frame_insertion”. But if it’s too late, no biggie 🙂
    I’ll make a new BlurBusters.com page once there’s an ready made easy-install.

  4. stonedwarlock says:

    hey

    im glad to ear that moders know how to rock !!

    so this new tweak its about 120hrz or 60hrz with nonm strobe»?

    i have 2411t with lightboost on and its amazing.. this tweak its for zero motion blur like totaly zero?

    or its for 60hrz..

    srry for all the questions..

    • scanmaster says:

      This change makes 60 Hz MAME motion look much better during 120 Hz.

      With this change:
      There is now 2x less MAME motion blur on regular 120 Hz LCD’s
      There is no visible MAME motion blur on LightBoost 120 Hz LCD’s

      LightBoost is a strobe backlight that make everything look like a CRT. There is up to 12x less motion blur on LightBoost than a 60 Hz LCD, which is an order of magnitude better than common LCD monitors. That’s 90% less blur = 10x reduction in blur trail length = practical elimination. So if the blur trail length during playing fast horizontal panning — was 5 pixels of ghosting — then with LightBoost (plus this new MAME feature) there’s now half a pixel of ghosting (no longer visible to human eye).

      If you own a 120 Hz LCD:
      — If you know how to modify source code patches and compile, download the patch and apply it.
      — If you prefer an easy installer, keep tuned: It’s coming soon!

      Best LCD’s to buy for MAME is the BENQ XL2411T or the ASUS VG248QE. These 1ms monitors perform much better with strobe backlights than the 2ms monitors. This is because pixel persistence needs to fit inside a vertical blanking interval, for strobe backlights to work best. In this special situation; 1ms makes a big difference over 2ms.

  5. Pingback: Noticia importante para mejorar la calidad de imagen de un tft | My Daily Feeds – Games

  6. cpharlok says:

    Well, due to popular demand, this is the download link for the compiled mame ready to use.

    http://free-game.es/mame0148_strobe_modded.zip

    Inside you will find common mame folder and :

    – mame32_v0148_strobe.exe – mame executable 32 bit version
    – mame64_v0148_strobe.exe – mame executable 64 bit version
    – mame.ini – already modified ini file to be lightboost enabled. Remember to modify the paths if you are not using the default ones.

    Just unzip and put some roms in the roms subfolders (don’t ask me to send you roms or ask where to find them, use internet search for that). If you have already roms in other folder just change mame.ini paths. This has been tested and configured in with my system specs, yours may differ or need some tweaks as with regular mame. Also HLSL is enabled, it may suit your taste or not, or may not work in your system (you can deactivate in ini file, just switch hlsl_enable to 0, see MAME docs). For most cases, all will go well so just launch and test.

    Enjoy!

  7. AdamvsMaximvs says:

    Hi Blurbusters,

    Just came here via HWC, and am enjoying learning all the possible tweaks. I did have once question for you guys though.

    I used to hook up my tower to a 50″ 1080p Plasma via HDMI (GTX 670 FTW), and even though the Plasma specs list the refresh rate as 600 Hz (Samsung PN50B650), the PC only ever output at 60 Hz. The picture always looked good, but I would like to know if there’s a way to force or trick the GPU to outputing to a higher refresh rate. Or if for some reason, it wouldn’t make a difference in this case anyway.

    Thanks much,

    • Chief Blur Buster says:

      The Background Answer to 600 Hz
      The plasma subfield refresh rate is simply a repeated refresh for the purpose of temporal dithering. Many plasma TV’s don’t use motion interpolation during their subfield refreshes. The 600 Hz is necessary due to temporal dithering; not for motion sharpness for most of the cheaper plasma TV’s. In this case, the plasma subfields contribute little to the motion but simply as a purpose of temporal dithering to generate full colors. Only a few plasma TV’s use motion-compensated subfield refreshes (by using motion interpolation); one of these is the Panasonic Plasma 2500 Hz FFD, such as the Panasonic VT50.

      The Real Answer to your Question
      The more important specification to look at is: Does your plasma support active 3D shutter input? (frame-sequential is the key). If it does, it may support 120 Hz 2D through the HDTV Refresh Rate Overclocking method. (You can often squeeze a 2D 120Hz signal into a 3D 60+60Hz signal). If your plasma is not active-shutter-glasses 3D-ready, then you probably won’t be able to force 120 Hz from a computer into it.

  8. blur_er says:

    I confirm this works perfectly on BenQ XL2420T. But the link for downloading the modded MAME is not working: would it be possible to have it working?

    Thank you very much for your amazing effort (in every forum) to spread the knowledge about this !

Add Comment