A tiny Tkinter GUI for copying ROMs (and BIOS files) straight to a Recalbox over its SMB share — no mapping a network drive by hand, no dragging files into the right console folder.
- Auto console detection — picks the target console folder from the
ROM's file extension (
.smc→snes,.gba→gba,.z64→n64, …). Mixed batches (SNES + GBA + NES at once) each land in the right folder. - Falls back to a manual dropdown for ambiguous extensions (
.bin,.iso,.zip, …) that are shared by multiple consoles. - BIOS mode uploads flat into
share/biosinstead of a console folder. - Remembers the last-used Recalbox IP in
config.txt. - Live log + progress bar, no blocking of the UI thread during copy.
- Windows (uses
net usefor SMB auth) - Python 3 with Tkinter (included in standard Python installs)
- Network access to your Recalbox's
\\<ip>\share
python upload.py
- Enter your Recalbox's IP (or leave the remembered default).
- Select ROM file(s) — the console dropdown auto-fills from the first file.
- Hit Hochladen.
- In EmulationStation:
START > UI SETTINGS > UPDATE GAMES LISTSto refresh the list (Recalbox has no network refresh endpoint).
Extension → console mapping lives in EXT_TO_CONSOLE in upload.py. Add an
entry there if a console's files keep landing in the wrong folder or falling
back to the manual dropdown.