Introduction

BEAV is an editor that brings the features of a powerful full screen editor to the editing of binary files. It is the only editor that I know of that does that.

When you need to edit a non-text file you generally have two choices; a text editor or a file zap type editor. Each choice has significant disadvantages.

Text editors expect the file to be formatted in a certain way. At a minimum they expect that all lines be terminated by a carriage return or line feed and be limited in length. There is no line length limit with BEAV. Most text editors get confused by bytes that are outside of the normal range (20 to 7E HEX). In BEAV no special characters such as carriage return or line feed affect the display aside from producing their numeric value. BEAV can edit any file no matter the format.

The other choice is to use a file zap type editor which can edit a binary file without difficulty. These editors are often very limited in their features and capabilities. Most file zap programs can edit a file only in HEX or ASCII. They generally operate on a sector basis and because of this they cannot insert or delete data in the middle of the file.

All these limits are eliminated in BEAV. You can edit a file in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY. You can search or search and replace in any of these modes. Data can be displayed in BYTE, WORD, or DOUBLE WORD formats. While displaying WORDS or DOUBLE WORDS the data can be displayed in INTEL's or MOTOROLA's byte swap format. Data of any length can be inserted at any point in the file. The source of this data can be the keyboard, another buffer, of a file. Any data that is being displayed can be sent to a printer in the displayed format. Files that are bigger than memory can be handled.

Some users may recognize the similarity to the EMACS text editor that was written by Richard Stallman at MIT. This is not a coincidence. I attempted to keep as much of the user interface and functionality as possible given the very different tasks of EMACS and BEAV.



Subsections