FidoNet nodediff

The FidoNet nodediff format is used to distribute changes weekly to FidoNet nodelists. In order to save transfer time with the low-bandwidth dialup connections originally associated with FidoNet, only the lines that were added or changed since the previous nodelist are included; a nodediff processor applies the changes to produce the new nodelist.

Nodediffs use the filename NODEDIFF.nnn where nnn is the same number as the corresponding nodelist, which is the day number within the year (001-366). Compressed versions use A, Z, etc., as the first letter of the extension to note compression method: "A" for ARC, "Z" for ZIP, or "J", "L", or "R" for ARJ, LZH, or RAR respectively. New FidoNet nodes need to obtain the full nodelist once upon starting, and receive and apply nodediffs weekly from then on.

A nodediff processor reads the lines of the nodediff one at a time, and (as called for by the commands in the nodediff) reads also through the previous nodelist and copies them to the output file, skips them if deleted, or inserts lines from the nodediff.

Command lines in a nodediff are:

Ann (nn is replaced with a 2-digit number): Add nn lines (this is followed by the lines to add)

Cnn Copy the next nn lines unchanged from the previous nodelist

Dnn Delete the next nn lines from the previous nodelist (skip them)