Skip to content

Mame LUA Plugin that automatically skips startup frames for games

License

Notifications You must be signed in to change notification settings

Jakobud/skipstartupframes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⭐ MAME Skip Startup Frames Plugin ⭐

This is a LUA Plugin for MAME that automatically ➡️ skips the startup frames for roms when you start them.

What does it do?

The plugin temporarily unthrottles ⏩ the framerate of a game at startup until a certain number of frames has been reached and then returns the framerate back to normal. The plugin also temporarily mutes 🔇 the audio and blacks out the screen. The faster the computer 💻 the faster the unthrottled startup time will be.

🎮 galaga startup example

Before: ~12 sec startup time After: ~1 sec startup time
normal galaga startup fast galaga startup

Installation instructions

  1. 🔽 Download skipstartupframes.zip from the latest release

  2. 📂 Unzip the file into the MAME plugins directory

    • Example: c:\mame\plugins\skipstartupframes\
  3. 👉 Enable the plugin in one of the following ways:

    • Enable Skip Startup Frames in MAME's Plugin Menu (Restarting MAME may be required)
    • Add skipstartupframes to the plugin option in mame.ini
    • Enable skipstartupframes in plugin.ini
    • Run MAME with the command-line option -plugin skipstartupframes

    MAME plugin toggle menu

✔️ Requirements

This plugin is compatibile with:

  • MAME 0.253 or newer
  • Arcade64 0.253 or newer

🚫 VSync Limitations

The plugin will not accurately skip frames when Vsync is enabled.

❓ How does it work?

Every rom has a different startup procedure and different number of startup frames that need to be skipped. The included file ssf.txt defines how many frames should be skipped for each rom.

For more information on ssf.txt see the SSF.TXT documentation.

📆 2004 BYOAC Legacy

Skip Startup Frames is not a new concept and not my idea. It was originally a MAME C++ patch that originated back in early 2004 by Alan Kamrowski II. It made it's way into some long-forgotten forks of MAME like NoNameMAME and BuddaMAME but has now been reborn as an easy-to-install MAME Plugin.

ssf.txt is a file that was created back in 2004 and was the culmination of work by many dedicated members of the Build Your Own Arcade Controls forum who examined 1000's of games and recorded the correct number of frames to be skipped.

📝 Options

In-Game Plugin Options Menu
Mame In-Game Menu Skip Startup Frames Options
  • Black out screen during startup - Yes/No

    • Whether or not to black out the screen while skipping startup frames.
    • The plugin still renders the startup frames. This option simply turns the screen black during the frame skipping. Turn this option off if you want to see the unthrottled startup frames.
    • Default: Yes
  • Mute audio during startup - Yes/No

    • Whether or not to mute the audio while skipping startup frames.
    • Default: Yes
  • Fallback to parent rom frames - Yes/No

    • If a rom is a clone and is not found in ssf.txt, fallback to using the parent rom's startup frames (if they exist) in ssf.txt.
    • Default: Yes
  • Debug Mode - Yes/No

    • Enable debug mode to show frame numbers in game in order to help determine accurate startup frame values to use for roms.
    • A soft reset will be required to enable debug mode. Once enabled, debug mode can be toggled on/off.
    • Default: No
  • Slow Motion during Debug Mode - Yes/No

    • Used to slowdown game speed/playback while in debug mode.
    • Can be toggled on/off during debug mode.
    • Default: No
  • Normal startup frames - Frame Number

    • Frames to skip for the current game during a normal startup or hard reset
    • If edited, this value will be saved to ssf_custom.txt
  • Use alternate frames for a soft reset - Yes/No

    • Whether or not to skip a different number of frames when a soft reset occurs
    • Some games have different startup procedures when a soft reset occurs
  • Soft reset frames - Frame Number

    • Frames to skip for the current game when a soft reset occurs
    • If edited, this value will be saved to ssf_custom.txt

🖥️ Debug Mode

If you wish to adjust the number of startup frames to be skipped for a game, there is a "debug mode" that will facilitate determining accurate frame numbers. It displays the frame numbers on the screen and can optionally set the game in slow-motion.

See the Options section for more details.

Skip Startup Frames Debug Mode

📄 License

License: MIT

This project is licensed under the MIT License. See the LICENSE file for details.