eadmaster Dot TK

There's always one more bug

Command-line tools

compiled programs


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)


A (mostly) universal ROM dumps trimmer.
It just removes the padding bytes set to 00 or FF at the end of the input file.
usage: trimrom 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 C source code and binaries: trimrom.zip

Python scripts


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 the subset of files that best fit a single bin.
usage: ss.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: ss.py
download the old C version (buggy): ss.zip

PEC PSX codelist converters

Converters for the PEC PSX codelist (a HUGE compilation of PlayStation cheat codes).
No extra dependencies, but written for Python 2.x.
usage: pec2epsxe /path/to/codelist.inf [gamename|SLXX-XXXXX]
  if no gamename or code is specified then all the cheats are converted (warning: will generate a LOT of files!).
download: pec2epsxe.py (for ePSXe 1.8)
download: pec2pcsxr.py (for PCSXR)
download: pec2cep.py (for CEP and pSX)


A mass-renamer for generic files from No-Intro to GoodTools format.
It will only change the tags at the end of the filenames. Unfortunately this is not sufficient to have all the filenames matching, but most will.
This is meant for use with non-ROM files (cheat sheets, IPS patches, etc.).
download: rennointro2good.py


Read the CRC32 hashes from a compressed file and output an SFV file.
Definitively faster than extracting all the files and re-computing the hashes from scratch!
usage: a2sfv ARCHIVE_FILE > SFV_FILE
download: a2sfv.py
rarfile package is required for rar support
pylzma package is required for 7z support


Generate and reverse Italian fiscal code using pycodicefiscale.
download: codfisc.zip


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);
  • cool FDD-like sound on I/O activity from the system beeper (very barebone atm).
Note it will probably need some customization depending on your hardware and wiring.
download (Linux only): 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 (Linux only): eventsmon.py

shell scripts

MESS auto-launcher

A launcher for the 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.
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: hex
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 power status
  power status all
  power on 00:41:F5:A1:3A:8D  # wake up
  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 (romaji to hiragana and katakana converter)
download: kana2romaji (hiragana and katakana to romaji converter)
download: kanji2kana (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, ffmpeg, libreoffice, etc.).
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)
wipe (securely delete a file by overwriting multiple times)
wipe.bat (requires: dd in your PATH)
xlock (lock the screen)

All the tools listed above and more:

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