The primary arcade machine emulator is MAME, and it has a very specific format for romset compression. I have previously started a project call pyros that allows the creation and update of MAME romsets. The project consists of the following tools:

  • pyrex: Tool to create an executable Bash script that will take unorganized files and put them into an organized MAME romset.
  • pyrat: Tool to create a Romset Data File, or RAT, from a romset. A RAT file represents the organization of the romset, without regard to the emulator-specific data that is usually found in other emulator data files.
  • pytz: Zipfile creator that follows the torrentzip specification

The tools interact in this order:

  1. pyrat: First the necessary data is generated into a RAT file, either from another DAT file or from an already-existing romset
  2. pyrex: Using a RAT file, existing files, and a destination directory, a Bash script is generate that will create a romset
  3. pytz: The script from pyrex uses the pytz tools to create the romset.

I have been working on the Pyros project for some time, and would really like to see it's release sometime soon. The project has revealed several bugs and new features for the Python project that has gotten me involved upstream.

  • bpo-22908: Add seek and tell functionality to ZipExtFile (merged)
  • bpo-28494: Fix false positives when using zipfile.is_zipfile()
  • bpo-32476: Add concat function for ElementTree find

Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 18


  • over 4 years ago: ldevulder liked this project.
  • about 5 years ago: itxaka liked this project.
  • about 5 years ago: jjolly started this project.
  • about 5 years ago: jjolly originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!