7-bits

25+ Years of Code. Quality. Performance.

DiffMaster

DiffMaster is a folder and file comparison tool for AmigaOS 3.x. It shows two directory trees side by side, the way modern file comparison tools do, and a line-by-line diff view for any pair of text files. Version 1.0 is the first release.

Features

  • Directory compare with both panes aligned row by row and scrolling together.
  • A cascade of checks (name, type, size, date, contents), so the typical case never reads a file.
  • An "Only Differences" filter, a names-only mode for floppies and AmigaDOS filename patterns.
  • Copy and delete on the selected row, keeping protection bits, comment and date.
  • A diff view with Ignore Case and Ignore Whitespace.
  • An ARexx port, a Shell interface for scripts and five builds, from 68000 to 68060.
DiffMaster comparing two directories side by side DiffMaster showing two versions of a text file side by side with an added line highlighted

How It Works

The idea came from OctoEdit: its textbook diff algorithm is far too slow for an Amiga. For its realistic worst case, two completely different 500 KB files, I estimated 35 to 45 minutes on a stock Amiga 1200 with a 14 MHz 68EC020.

DiffMaster uses a different method. Every line is reduced to a 32-bit number, so comparing two lines takes a single compare, and lines are matched through unique anchor lines instead of an exhaustive search. By my calculation the same two files then take about 2 to 2.5 seconds of CPU time. The trade-off: the list of changes is not always the shortest.

Memory needs are estimated before anything is allocated; a file pair that does not fit is refused with exact figures. The core is plain C99, tested on a PC with GoogleTest, under a thin C++17 layer. I tested DiffMaster in WinUAE and on a real Amiga 1200.

Requirements

Any Amiga with Kickstart and Workbench 3.0 (V39) or newer. Recommended: an Amiga 1200 with Fast RAM, which is used automatically.

Download

DiffMaster is freeware: it may be used and copied freely, unmodified and with its LICENSE file, but not sold over the internet.

DiffMaster About window