A Python script that automatically downloads and processes game assets (box art, screenshots, overlays, metadata) for Intellivision ROM files from the LaunchBox Games Database.
Put your extracted Intellvision ROMs (ex. "Happy Trails (1983) (Activision).int") in the root directory of a thumbdrive and then run this script with that path to build the additional assets. See examples below.
- Automatic Game Matching: Maps ROM filenames to game titles using a CSV memory map
- Asset Download & Processing: Downloads box art, screenshots, control overlays, and metadata
- Image Resizing: Automatically resizes images to target dimensions with letterboxing
- Overlay Compositing: Creates controller overlay composites using a template
- Asset Caching: Caches downloaded assets to avoid redundant downloads for duplicate games/prototypes
- Configuration Generation: Auto-generates
.cfgfiles with memory mapper configurations
- Python 3.7+
- See
requirements.txtfor dependencies:pip install -r requirements.txt
- Clone or download this repository
- Install dependencies:
pip install -r requirements.txt
Process ROMs in a directory:
python create_sprint_files.py --roms-dir /path/to/romsInteractive mode (prompts for ROM directory):
python create_sprint_files.py| Option | Description |
|---|---|
--roms-dir PATH |
Path to directory containing ROM files (default: prompts user or uses ./roms/) |
-v, --version |
Print script version and exit |
Process specific ROM directory:
python create_sprint_files.py --roms-dir ~/games/intellivisionCheck version:
python create_sprint_files.py --versionFor each ROM, the script generates:
| File | Description |
|---|---|
<rom>.json |
Game metadata (title, year, publisher, description) |
<rom>.cfg |
Memory mapper configuration |
<rom>.png |
Box art (186×256) |
<rom>_small.png |
Small thumbnail (148×204) |
<rom>_big_overlay.png |
Large control overlay (300×478) |
<rom>_overlay.png |
Composited controller overlay |
<rom>_snap#.png |
Gameplay screenshots (640×400) |
Maps ROM filenames to game titles and memory mapper configurations. Multiple semicolon-seperated filenames can be specified.
Game Title,Filename,Map #
"4-Tris","4-TRIS.int;4-TRIS (2001) (Joseph Zbiciak).int;4-Tris.bin",0
"ABPA Backgammon","ABPA Backgammon.bin",0
Caches downloaded assets by game title to enable fast copying for duplicate ROMs. Automatically created and maintained by the script. Delete this if you are encountering issues and want to try running clean.
PNG template image used for creating overlay composites. Must be present in the script directory.
Credit to GenXGrownUp for the controller template!
- ROM Discovery: Scans directory for ROM files (
.bin,.int,.rom,.zip,.7z) - Game Lookup: Matches ROM to game title using
game_maps.csvor normalized filename - Cache Check: Checks if assets already exist in cache for the game title
- Asset Download: If not cached, downloads images and metadata from LaunchBox
- Image Processing: Resizes images, creates thumbnails, and composites overlays
- Cache Update: Registers newly downloaded assets in cache for future use
.bin- Binary ROM files.int- Intellivision ROM files.rom- Generic ROM files
- The script respects existing files and won't overwrite them
- Missing assets will be created on subsequent runs
- Network delays (1-2 seconds) are added between requests to be respectful to the LaunchBox server
- Games not found on LaunchBox are skipped with a warning
"controller_template.png not found"
- Ensure
controller_template.pngexists in the same directory as the script
"Game not found on LaunchBox"
- Check ROM filename matches game title or add entry to
game_maps.csv - Some homebrew/unreleased games may not be in the database.
- I've not tested with most homebrew, as I don't have the roms. The info in the map file is a combination of values I've seen others post and my best guesses.
Missing overlay files
- Run script again - it will create missing derivative assets
- Check that
controller_template.pngexists