gitwtfhub

wtf is thorrombutler?

strugglechen1337/thorrombutler — explained in plain English

Analysis updated 2026-05-18

7KotlinAudience · generalComplexity · 2/5LicenseSetup · easy

TL;DR

Thor ROM Butler is an Android app that detects, identifies, and sorts retro game ROM files into the correct EmulationStation-DE, Batocera, or Onion OS folders, always asking for confirmation first.

Mindmap

mindmap
  root((thor rom butler))
    What it does
      Detects ROM archives
      Sorts into frontend folders
      Confirms before moving
      Health checks library
    Tech stack
      Kotlin
      Android
      Jetpack Compose
    Use cases
      Retro handheld setup
      ROM patching
      Library backup and repair
    Features
      IPS UPS BPS patching
      DAT verification
      LAN file receive

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Automatically sort a folder of downloaded ROM archives into the correct system folders for a retro handheld like the AYN Thor or Retroid Pocket.

REASON 2

Apply an IPS or UPS fan translation patch to a ROM directly on the device without a computer.

REASON 3

Run a health check on an existing ROM library to find misfiled games, broken multi-disc playlists, or missing BIOS files.

What's in the stack?

KotlinAndroidJetpack Compose

How it stacks up

strugglechen1337/thorrombutlerandroid-hacker/wechatchatroomhelperdanmoreng/qwen3-tts-android
Stars786
LanguageKotlinKotlinKotlin
Last pushed2019-12-09
MaintenanceDormant
Setup difficultyeasyhardhard
Complexity2/54/54/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Requires Android 13 or newer, distributed via GitHub Releases, not the Play Store.

MIT license: use, modify, and distribute freely, including commercially, as long as the copyright notice is kept.

Wtf does this do

Thor ROM Butler is an Android app for organizing a retro gaming ROM collection. It watches for downloaded ROM archives on the device, looks inside them without fully extracting the files, figures out which game system each ROM belongs to, and moves it into the correct folder for frontends like EmulationStation-DE, Batocera, or Onion OS. It is built with handheld devices like the AYN Thor and Odin, and the Retroid Pocket in mind, but it runs on any Android phone running Android 13 or newer. Detection works by reading file extensions and file headers, including special handling for ISO, RVZ, and CHD disc image formats, and the app is explicit about how confident it is in each match: sure, likely, or unknown. Files it cannot confidently identify are never moved automatically, the user always reviews and confirms suggestions, either one at a time or by accepting them all at once. The app can also learn locally from a person's past manual choices to suggest similar files later, and that learning can be turned off or cleared entirely. Beyond basic sorting, the app includes a Library Doctor that checks for ROMs filed in the wrong place, broken multi-disc playlist references, unreadable archive files, and missing BIOS or firmware files, and it can safely repair many of these issues. It can also apply IPS, UPS, and BPS patches directly on the device, useful for fan translations and ROM hacks, verify ROMs against No-Intro or Redump checksum databases, generate playlists for multi-disc games automatically, and back up an entire ROM library to an SD card or USB drive incrementally. A local network receive feature lets someone drag files from a computer's browser straight onto the device over Wi-Fi, complete with a QR code and progress tracking. The app supports a long list of classic systems from the NES through the PlayStation 2, GameCube, Wii, Switch, and several arcade formats, with the option to add more systems as local JSON packs. It is free, open source, distributed through GitHub Releases rather than the Play Store, and the interface is available in German and English under a dark, neon-themed design. The project is released under the MIT license.

Yoink these prompts

Prompt 1
Explain how Thor ROM Butler decides which system a ROM archive belongs to before sorting it.
Prompt 2
How do I apply a UPS patch to a ROM using Thor ROM Butler's patcher feature?
Prompt 3
Walk me through backing up my entire ROM library to an SD card with this app's incremental backup feature.
Prompt 4
What does the Library Doctor check for, and how do I use it to fix a broken multi-disc game?

Frequently asked questions

wtf is thorrombutler?

Thor ROM Butler is an Android app that detects, identifies, and sorts retro game ROM files into the correct EmulationStation-DE, Batocera, or Onion OS folders, always asking for confirmation first.

What language is thorrombutler written in?

Mainly Kotlin. The stack also includes Kotlin, Android, Jetpack Compose.

What license does thorrombutler use?

MIT license: use, modify, and distribute freely, including commercially, as long as the copyright notice is kept.

How hard is thorrombutler to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is thorrombutler for?

Mainly general.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.