eadmaster Dot TK

Never assume malice when stupidity will suffice

Command-line tools

Python scripts


Read the CRC32 hashes from a compressed archive and output an SFV file on stdout.
Definitively faster than extracting all the files and re-computing the hashes from scratch!
usage: a2sfv ARCHIVE_FILE > SFV_FILE
download: a2sfv.py (req. pylib7zip)


A (mostly) universal ROM dumps trimmer.
It removes the padding bytes set to 00 or FF at the end of the input file.
It was originally meant for use with the Goomba emulator.
usage: autotrimrom.py INPUT_FILE [OUTPUT FILE]
If the output file is omitted, only the trimmable bytes are counted.
In every case the input file is keep untouched (inplace trim is not allowed, use truncate for that).
download: autotrimrom.py
download old C version: trimrom.zip

binpack (single subset bin packer)

This is a file bin packer featuring the subset sum DP algorithm.
It does not try to minimize the number of bins used, it just selects a single subset of files that best fit a single bin.
usage: binpack.py [-s BIN SIZE] [-p PRECISION] FILES_LIST
  the binsize and precision can be specified using human suffixes and string constants (like 1MB, 2GB, CD-R, DVD-R, DVD+R (default), etc.)
  the precision is adapted automatically according to the bin size.
  subdirectories are handled as single files and their sizes are computed recursively (this behaviour cannot be changed by now).
download: binpack.py
download the old C version (buggy): ss.zip

cheat tables converters
(moved here)

renfromdats (datfile renamer)

A mass-renamer from datfiles, meant to be used with non-ROM files (cheat sheets, IPS patches, etc.)
See my blog post for more infos.
download: renfromdats.py

data-serialization formats converter

Tools to convert between structured files formats like json, xml, csv, etc. See also my fileconvert tool.
downloads: xml2json.py


Generic hardware-monitoring service based on psutil.
  • drive physical LEDs to signal hardware activity via LPT, COM, GPIO pins or an Arduino. CPU, USB mass storage and network activity are shown. LEDs can be shared between multiple PCs using a circuit like this;
  • spoken alarms for high CPU temperature and physical memory almost full (using the system TTS);
  • neat FDD-like sound on I/O activity from the system beeper (very simple atm).
Note it will probably need some customization depending on your hardware and wiring.
download: hwmon.py


Generic system events monitoring service based on dbus. It uses the system TTS to notify:
  • the summary of all libnotify messages;
  • USB hardware events like insertion/removal (req. pyudev);
  • today's Google Calendar events (on start only, req. icalendar);
  • hourly alarm clock/reminder.
download: eventsmon.py


Play old Nokia ringtones via the internal PC speaker/beeper.
It will also output the corresponding beep commands to play the melody with a standalone script.
Code derived from upy-rtttl.
example usages:
  python rtttl2beep.py "alexkid:d=4,o=5,b=90:16d6,8d6,16f#6,a6,16e6,8e6,16g6,b6,16a6,8a6,16b6,8c#7,8b6,8a6,8g6,f#6,16d6,8d6,16f#6,a6,16e6,8e6,16g6,b6,8a6,8a6,8c#7,8a6,d7"
  python rtttl2beep.py alexkid.txt > alexkid.sh
download: rtttl2beep.py

shell scripts

MAME/MESS auto-launcher

A launcher for the MAME/MESS emulator that will try to guess the system and device name from the input file extension.
download Linux shell version: mess
download Windows shell version: mess.bat

Retroarch auto-launcher

Retroarch launcher similar to the previous one. It selects a different configuration file according the input file type (may need paths customization).
download Linux shell version: retroarch
download Windows shell version: retroarch.bat


View or change a single byte in a file with an hex address and value.
usage: hexalter FILE ADDRESS[=NEW_VALUE]
If NEW_VALUE is omitted it outputs the current value to stdout, otherwise the file is altered in place and no backup is made.
download Linux shell version: hexalter
download the old C version: hex.zip


Statically patch Game Genie codes from a plaintext cheatsheet file using uCON64.
download Linux shell version: patchcht


Lots of useful shell macros making use of many scripts linked in this page.
download Linux shell version: macinit
download Windows shell version: macinit.bat


Lots of useful file associations and shell extensions.
download Windows shell version: reassoc.bat (requires ftype2.bat, assoc2.bat, shellex.bat and nircmdc)


All-in-one script to control the power status of PCs and single devices.
example usages:
  power off monitor
  power off wifi
  power off   # remote power off
  power status   # check the power status of a remote PC
  power status all   # check the power status of all PCs in the current subnet
  power on 00:41:F5:A1:3A:8D  # try Wake On Lan via MAC address
  power on OnkyoAmpli
download Linux version: power
dowload Windows version: power.bat

Japanese-romaji converters

A set of converters for the Japanese language.
Useful to type words in Hiragana and Katakana with a Latin keyboard, transliterate text, rename files, etc.
I've originally made them for use with the sdcv dictionary utility, but they are easily reusable as filters.
They only require sed and an UTF8-compatible shell, so they are very portable.
download: romaji2kana.sed (romaji to hiragana and katakana converter)
download: kana2romaji (hiragana and katakana to romaji converter)
download: kanji2kana.sed (kanji to hiragana converter, still incomplete, see jakaroma for a better alternative)
download: transliterate (just a wrapper)


Talkfilters are small programs that convert ordinary English text into text that mimics a stereotyped or otherwise humorous dialect.
These only require sed, so they are very portable.
caveman (Hulkspeak, Tarzan speech)
cold (man with a cold)
drunk (drunk man)
asian (Engrish)
french (fake French-English accent)
german (fake German-English accent)
russian (fake Russian-English accent)


These are wrapper scripts that detect the input file type and perform various operations on it using external tools (like imagemagick or ffmpeg).
They can also be added to the file manager context menu and invoked from there (for Windows see reassoc.bat, for KDE see the desktop files).
fileconvert (convert filetype)
fileinfo (list metadata)
filecheck (check for internal errors)
filefix (fix internal errors)
filenew (create new files from templates)
file2txt (convert any file to plaintext)
filegrep (grep in any file as plaintext)
filecut (cut/split any file)
filecat (append/concatenate files)
filecmp (compare contents ignoring the container)
filetag (view and edit file tags)
fileunpack (extract archives and embedded files)

media file recorder and streamer

They only require VLC to work. May need encoding parameters customization.
example usages:
  record mic out.flac
  record desktop out.mp4
  record cam out.mp4
  stream music.mp3
  stream cam
download Linux shell versions: record, stream
download Windows shell versions: record.bat, stream.bat

shellscript alternatives

These are pure shellscript alternatives to some popular compiled tools.
They are self-contained and busybox-compatible and thus quite portable (for Windows see busybox-w32), but they only provide a reduced feature set of the originals.
bc (basic calculator)
csvtool (CSV files toolkit)
detox (safe file renamer)
file (identify the MIME type)
rename (mass-renamer)
man (download from internet if local man is missing)
say (invoke the system TTS if present)
units (units converter)
srm (securely delete a file by overwriting multiple times)
srm.bat (requires: dd in your PATH)
sfill (zero-fill the freespace)
xlock (lock the screen)



Mozilla Thunderbird address book viewer based on this mork parser.
download C++ source code and binaries: mab.zip


Tool to change the video gamma correction based on the Gamma Ramp API.
Tested and works with most recent video cards.
usage: gamma [NEW_GAMMA]
 supported range: 1.0-2.0
download C++ source code and Windows binary: gamma.zip
(for linux see the command xgamma)

More tools in this github repo.

To support my projects you can view the ads on this page or buy something from me.