home *** CD-ROM | disk | FTP | other *** search
-
-
- AZap - User's Manual
-
-
-
-
-
- AboutThisDoc
-
- This manual describes release 2.01 of the utility AZap. This program
- is (c)1992-1993 by Denis GOUNELLE, any commercial usage or selling without
- author's written authorization is strictly forbidden. You can copy and
- spread this program at the following conditions:
-
- - all the files must be provided
- - none of the file must have been modified
- - you don't charge more than $6 for copy fee
-
- In spite of several tests, no warranty is made that there's no error
- in AZap. YOU USE THIS PROGRAM AT YOUR OWN RISKS. In no event will I be
- liable for any damage, direct or indirect, resulting of the use of AZap.
-
- Introduction
-
- AZap is a "new generation" binary editor able to edit files, memory
- or devices like hard disks. It can open several windows at the same time,
- and while this program cannot be considered as a tool to help you to recover
- a disk, it has a lot of useful functions (print block, fill block, search
- string, etc...).
-
- CAUTION:
-
- It is absolutly forbidden to use this program to modify a
- copyright notice, or any other illegal usage. Unexperienced
- users should be aware that this program may destroy their
- programs, or cause severe data loss.
-
- Suggestions and/or criticisms will be always welcome. Don't hesitate
- to write me at the following address:
-
- M. GOUNELLE Denis
- Boite 71
- 6, rue des cailloux
- 92110 CLICHY - FRANCE
-
- You can also send a message to the following Internet address :
- gounelle@alphanet.ch. Note that this mailbox is not mine, so please send
- only short messages. As I don't have direct access to the messages, don't
- expect an answer before a dozen of days.
- Thanks to Pierre ARDICHVILI and Jean-Yves PROUX for beta-testing and
- suggestions.
-
- Installation
-
- This program requires "reqtools.library" v2.0c to run, so you must
- copy it in your "LIBS:" directory before. The "reqtools.library" is
- (c)1990-1991 by Nico FRANCOIS.
- AZap is now localized, so it can adapt itself to your favorite
- language. All you have to do is to copy the good catalog file into the
- directory corresponding to your language. For exemple, if your default
- language is french, copy the "français.catalog" into the
- "SYS:Locale/Catalogs/Français" directory, under the name "azap.catalog."
-
- Running_from_CLI
-
- This program detach itself from CLI window. It accepts the following
- arguments:
-
- WBENCH
- Use Workbench screen instead of custom screen.
-
- LACE
- Use an interlaced custom screen. This option is ignored if the
- WBENCH option is specified too.
-
- FONT name
- Use the specified font instead of internal 6x9 font. "name" must
- be given as <font name><Y size>, like "courier9". AZap will use
- this font only if it isn't proportionnal and if it isn't too
- large to display a 512 bytes block.
-
- MEMORY
- Open a window to edit memory.
-
- DEVICE name
- Open a window to edit specified device. Don't forget the colon
- (":") at the end of the name.
-
- Any other argument is supposed to be the name of a file to edit. You can
- specify as many names as you want, but only the first eight will be used. Of
- course, you can mix file names, MEMORY and DEVICE options. Last, if no
- argument is specified, a file requester appears (see "The_Project_menu") so
- you can select the file to edit.
-
- Running_from_Workbench
-
- You can specify the following options in the "TOOL TYPES" of AZap
- icon:
-
- OPTIONS=WBENCH or OPTIONS=LACE
- See the description of WBENCH and LACE options in
- "Running_from_CLI" section.
-
- FONT=name
- See above the description of FONT option in "Running_from_CLI"
- section
-
- A file requester will appear (see "The_Project_menu") so you can select the
- file to edit.
-
- The_edit_window
-
- The left part of the display shows the block contents in
- hexadecimal, by sets of 4 bytes. The right part shows the same information
- but as characters. Bytes corresponding to non-printable characters are
- replaced by a point (".").
- At the bottom right of the window are displayed several
- informations: the block address (relative to beginning, in hex), the offset
- in the block (in hex), the block number (relative to beginnin, in decimal),
- and the block type. This last information is not significant unless you edit
- a DOS device. When block contents has been modified but not written, a star
- ("*") is displayed at the right of the first line. When block checksum is
- valid, a "V" character is displayed at the right of the second line (this
- information is not significant unless you edit a DOS device).
-
- When the window is opened, the first block is displayed and the
- cursor is on the first character of the right part. The corresponding
- position in the left part is showed by a display in a different color. You
- can move the cursor whith the arrow keys. To switch between a part to
- another (left to right or right to left) just press the tabulation key. You
- can also move anywhere you want using the mouse. To modify data, just type
- in the new datas over the old ones. In the left part, only "0" to "9", "a"
- to "f" and "A" to "F" characters are allowed. AZap keep in mind the 32 last
- changes: as long as you have not moved to another block you can undo these
- changes with the escape key. The following keys are also accepted:
-
- ctrl-up go to first block
- ctrl-down go to last block
- ctrl-left go to previous block
- ctrl-right do to next block
- shift-up go to first line
- shift-down go to last line
- shift-left go to first byte of the line
- shift-right go to last byte of the line
-
- The buttons at the bottom of the window allow (from left to right)
- to go to the first block, to go to the previous block, to write the changes,
- to go to the next block, to go to the last block, and to go to a given
- address. In this last case, a requester appears, so you can enter the
- address to go. Use the following syntax:
-
- nbr jump at address 'nbr'
- §nbr jump at block 'nbr'
- @nbr jump at address found by reading the long word at address
- 'nbr' (when editing memory only)
- #nbr jump to the memory area number 'nbr' (when editing memory
- only)
-
- The address may be an expression, whose syntax is described in the
- "Expressions_syntax" section. Be aware that if you move to another block
- without writing the changes made to the current block, all changes will be
- lost !
-
- To close the edit window, just click on the close gadget. If the
- block has been modified but not saved, you will be asked for confirmation.
- The program stops when the last edit window is closed.
-
- The_Project_menu
-
- Open file...
- Opens a new window to edit a file. A file requester will appear,
- so you can select the file to edit. A memory window will be
- opened if you select "RAM:", or a device window if you select a
- device (like "DH0:")
-
- Open memory
- Opens a new window to edit memory.
-
- Open device
- Use the sub-menu items to select the device to edit. AZap opens
- a new window to edit this device.
-
- Palette...
- A palette requester appears, so you can modify screen's colors.
-
- Save prefs
- Save configuration: screen's colors and font. The options of the
- current window are also saved as default options. The
- configuration file is "S:AZap.config".
-
- About...
- Displays informations about the program. Press any key or click
- in the window to make it go away.
-
- Quit
- Ends program execution. You will be asked for confirmation.
-
- The_Edit_menu
-
- Help...
- Displays cursor keys usage with CTRL and SHIFT.
-
- Undo all
- Read current block to undo all changes not saved yet.
-
- Jump back
- Each time you move to another block with the "go to first
- block", "go to last block" or "GOTO" buttons, the old position
- is kept in memory. This command allows to jump back to this
- position. The old position is also kept when you use this
- command, so you can easely toggle between two blocks.
-
- Next block
- When editing a DOS device, this command allows you to go either
- to the first data block (if the current block is a file header)
- or to the next block (if the current block is a data block of a
- OFS disk).
-
- Parent block
- When editing a DOS device and the current block is a file header
- or a directory, this command allows you to go the directory
- block corresponding to the parent directory of this file or
- directory.
-
- Root block
- When editing a DOS device, this command allows you to go to the
- root block of this device.
-
- Header block
- When editing a DOS device, this command allows you to go to the
- next header block.
-
- When you use one of these four commands, the old position is kept in
- memory for the "Jump back" command.
-
- The_Tools_menu
-
- Infos
- Displays some informations about the file/memory/device
- currently edited.
-
- Examine
- When editing a DOS device, and if the current block is a header
- block, this command displays what would have displayed the
- "Info" command on the corresponding file or directory.
-
- Print...
- Prints a number of blocks starting from the current block. A
- requester appears so you can specify another output file that
- "PRT:" (the printer). Then AZap will ask you the number of
- blocks to print.
-
- Convert
- A new window is opened, with four gadgets that enable you to
- make convertions between binary, decimal, hexadecimal and ASCII.
- Any value entered, either an expression for "BIN", "DEC" and
- "HEX" gadgets, or a character string for "ASC" gadget, is
- converted in the other units. You don't have to close this
- window to continue editing.
-
- Save block
- Save a number of blocks starting from the current block. A file
- requester appears so you can specify the file where to save the
- blocks. Then AZap will ask you the number of blocks to save.
-
- Fill block...
- Sets all bytes of the current block to the same value. A
- requester appears so you can enter a value: either 'c' to fill
- with the "c" character or a number (ASCII code of the character
- to use, prefixed by "0x" for an hexadecimal value).
-
- The_Search_menu
-
- Search...
- Searchs for a string or a hexadecimal value. A requester appears
- so you can enter the value to search : either a hexadecimal
- value (prefixed by "0x", take care to enter an even number of
- digits) or a character string (ASCII search). To search a string
- beginning with "0x", put all the string between double quotes.
-
- Search text... Searchs for a string of printable characters. This
- may be useful, for exemple, to locate a text area. A requester
- appears so you can enter the minimal length to search for. A
- value lower than 4 is generally not very interesting.
-
- Search next
- Continue last search starting from current position.
-
- For all searchs, AZap move to the position where an occurence is
- found, or the screen flashes. The previous position is kept in
- memory for the "Jump back" function (see "The_Edit_menu" section).
- You can abort a search, and AZap will find a string laid on two
- consecutives blocks.
-
- Search file
- Goes strait to the header of a given file or directory. A file
- requester appears, so you can select the file. AZap will then
- open a new device window for the corresponding device, and show
- the header block of the file.
-
- The_Options_menu
-
- Take care that options are "locale" to a window : if you change the
- options of a window, the others windows won't be affected. When you open a
- new window, it takes the options of the current window.
-
- Checksum
- Specifies when AZap must update block checksum (used only when
- editing a DOS device). Choices are : "always" (update for *ALL*
- blocks), "Ask if" (you will be asked for), "Boot blocks" (only
- for 0 and 1 blocks) and "Automatic" (only if checksum was valid
- when reading block).
-
- Auto save
- AZap will automatically save any modified block as soon as you
- will ask to move to another block.
-
- Read only
- You won't be allowed to modified data.
-
- lwr = UPR
- Specifies if lower case and upper case characters are to be
- distinguished when making an ASCII search.
-
- Backup copy
- Specifies if AZap must make a backup copy of edited files. If
- selected, at the next write attempt a requester will appear so
- you can enter the name of the copy to create. AZap will then
- make a copy of the file before recording your changes. If an
- error occurs during the copy, the requester will come back so
- you can specify another name. If you click on the "Cancel"
- gadget, no copy will be made but your changes will be recorded
- anyway.
-
- Expressions_syntax
-
- AZap is able to compute integer expressions. Default base is decimal
- for addresses ("GOTO" gadget) or the base corresponding to the selected
- gadget in the convertion window. Base may be specified with "%" (binary),
- "#" (decimal), and "$" or "0x" (hexa) before any number. Valid operators
- are :
-
- + addition
- - subtraction
- | logical "or"
- & logical "and"
- * multiplication
- / integral division
- % reminder of integral division
- < shift left
- > shift right
-
- By default, "*", "/", "%", "<" and ">" operators have higher priority but
- you may use parenthesis. If there is a syntax error in an expression, its
- result will be set to -1.
-
- Important_notes
-
- When starting to run, AZap read the ExecBase structure to know you
- memory configuration. Only memory areas defined is memory management lists
- may be edited. Except when searching, these areas are considered as adjacent
- and AZap will move automatically from an area to another. The "Infos"
- command (see "The_Tools_menu" section) displays the addresses of all areas.
- Reading and writing memory is done after having disabled task switching, in
- order to avoid conflicts.
-
- AZap can recognize the type of the device you edit. Some operations
- ("next block", "parent block" and "root block", see "The_Edit_menu" section)
- are disabled on non AmigaDOS devices, but don't forget to check the
- "Checksum" option. AZap knows about OFS (Old File System) and FFS (Fast File
- System) and handle both file systems.
-
- History
-
- This program was developped on an Amiga 3000 UNIX-1 (6 Mb RAM,
- internal HD disk drive, internal hard disk of 100 Mb, external SyQuest drive
- of 88 Mb, external floppy disk drive, 1960 monitor and Star LC24-10 printer)
- connected by a null-modem cable to an A500 with 1 Mb RAM.
- AZap was written almost in C language, and compiled with SAS/C
- 5.10b. DPaint IV (from Electronic Arts), SID2 (by Tim Martin), and DME (by
- Matt Dillon) were very useful too.
-
- v1.00 14-Oct-92, 36084 bytes (Fish #759)
- o First released version
-
- v1.01 16-Oct-92, 36084 bytes
- o Bug fixed: didn't worked if default public screen was less than
- 648 pixels wide.
-
- v1.10 15-Nov-92, 36960 bytes
- o Added "Header block" and "Examine" functions
- o After a file request, open a memory window if "RAM:" was selected,
- or a device window if a device name was selected (e.g. "DH0:")
-
- v1.11 21-Nov-92, 36976 bytes
- o Bug fixed: the "§n" form in the "GOTO" function wasn't understood
-
- v1.20 25-Dec-92, 40000 bytes
- o Compiled with SAS/C 6.1
- o Added "Search file" function
- o The requester for the "GOTO" function displays the last value
- entered
- o If a string search fails, displays a message "foo not found"
- o Devices can be named by their logical names (in command line and
- file request, except RAM:)
-
- v1.30 02-Jan-93, 40612 bytes
- o Added "Save block" function
- o The "Print..." function ask for the number of blocks to print
- o The "Infos" functions displays disk type (OFS/FFS/NDOS)
- o Search functions put together in a new menu
- o A few bugs fixed in default font and WorkBench screen handling
-
- v2.00 07-Feb-93, 42116 bytes
- o Compiled with SAS/C 6.2
- o Fully localized
-
- v2.01 21-Feb-93, 41768 bytes
- o Better handling of file requester
- o A few bugs fixed in window options handling
-
-
-
-
-