Short: File comparison/examination utility Author: amigansoftware@abime.net (James Jacobs) Uploader: amigansoftware@abime.net (James Jacobs) Type: util/cli Version: 2.04 Architecture: m68k-amigaos >= 2.0.0 Requires: OS2.0+ This program performs byte-for-byte comparisons on files, and shows its results as a colour-coded hex dump. It knows the ASCII and Emerson Arcadia 2001 character sets. Its envisaged purpose is the comparsion of various Arcadia ROMs with one another, and hunting for easter eggs in such ROMs, but it is also useful for more general purposes. It also can operate as a straight hex/ASCII/Arcadia file dumping utility. Full SAS/C 6.58 source code is included. The files in this archive are used to compare binary files. The MS-DOS "compare" utility only reports ten mismatches, then stops comparing. It is used primarily when there is an assumption that the two files in question are most likely identical. We had a use for a program that assumed just the opposite; that the two files were probably quite a bit dissimilar. We needed to know HOW MUCH they differed and WHERE. So we wrote this program, which does just that. The program knows the Emerson Arcadia 2001 character set, so is especially useful for comparing ROM images and hunting for easter eggs for that system, but the program is also useful for more general purposes. You use it from the command line. All output from the program goes to the standard output (normally the console), and thus can be piped or redirected as desired. Usage is as follows: 1> HowDif [] [-a|ASCII] [-e|EMERSON] [-v|VANILLA] where the arguments are the files you wish to compare. For example: 1> HowDif nibble.bin supergob.bin -a -v EMERSON If only one filename is given, the program merely shows the file. The primary file is whichever of the two files is smaller, or the first file specified if their sizes are equal. The contents of the primary file are shown. Bytes which are different in each file are shown in white (Amiga) or red (MS-DOS). Bytes which are the same in both files are shown in black (Amiga) or green (MS-DOS). The -a option shows an ASCII representation of the data. The -e option shows an Emerson Arcadia 2001 representation of the data. The -v option suppresses the emission of ANSI codes, resulting in monochrome output. The ASCII representation shows control characters ($00-$1F and $80-$9F) as `.'. Note that obviously you will get different ASCII representations on the Amiga and MS-DOS, due to the differing extended ASCII sets used. The Arcadia uses a 64-character set, shown below. Graphics characters are represented by lowercase letters. $0123456789ABCDEF ---------------- $00: /\abcdefghijklm $00 : space $10: 0123456789ABCDEF $01-$0F (/-m): graphics characters $20: GHIJKLMNOPQRSTUV $38-$3B (n-q): sprites 0-3 $30: WXYZ.,+$nopqrstu $3C-$3F (r-u): user defined characters 0-3 $00 ( ): ........ $01 (/) .......# $02 (\): #....... $03 (a): ######## ........ ......#. .#...... ######## ........ .....#.. ..#..... ######## ........ ....#... ...#.... ######## ........ ...#.... ....#... ######## ........ ..#..... .....#.. ######## ........ .#...... ......#. ######## ........ #....... .......# ######## $04 (b): ######## $05 (c): ......## $06 (d): ........ $07 (e): ##...... ######## ......## ........ ##...... ........ ......## ........ ##...... ........ ......## ........ ##...... ........ ......## ........ ##...... ........ ......## ........ ##...... ........ ......## ######## ##...... ........ ......## ######## ##...... $08 (f): ######## $09 (g): ######## $0A (h): ##...... $0B (i): ......## ######## ######## ##...... ......## ......## ##...... ##...... ......## ......## ##...... ##...... ......## ......## ##...... ##...... ......## ......## ##...... ##...... ......## ......## ##...... ######## ######## ......## ##...... ######## ######## $0C (j): .......# $0D (k): #....... $0E (l): ######## $0F (m): ######## ......## ##...... #######. .####### .....### ###..... ######.. ..###### ....#### ####.... #####... ...##### ...##### #####... ####.... ....#### ..###### ######.. ###..... .....### .####### #######. ##...... ......## ######## ######## #....... .......# MS-DOS version notes: That requires ANSI.SYS to be running to get a correct display, unless you use it in vanilla mode. It has a limit of about 64K on the total sizes of the files which can be processed. It only supports short ("8.3"-style) filenames. By default, an 80-column console is assumed: if a line is generated which is exactly 80 characters long, the CR/LF pair is omitted. If you want the CR/LF pairs regardless (eg. if your console is wider than 80 columns), you can use the RETURNS (or -r) option. URL: http://www.users.bigpond.com/james.jacobs/ EMail: amigansoftware@abime.net Enjoy! James Jacobs and Ward Shrake .