home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0934.lha / AZap / AZapEnglish.doc < prev    next >
Text File  |  1993-12-20  |  18KB  |  466 lines

  1.  
  2.  
  3.                   AZap - User's Manual
  4.  
  5.  
  6.  
  7.  
  8.  
  9. AboutThisDoc
  10.  
  11.       This manual describes release 2.11 of the utility AZap. This program
  12.   is (c)1992-1993 by Denis GOUNELLE, any commercial usage or  selling  without
  13.   author's written authorization is  strictly  forbidden.  You  can  copy  and
  14.   spread this program under the following conditions:
  15.  
  16.     - all the files are provided
  17.     - the files are not modified in any way
  18.     - you don't charge more than $6 for copy fee
  19.  
  20.       In spite of several tests, no warranty is made  that    there  are  no
  21.   errors in AZap. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no event will I be
  22.   liable for any damage, direct or indirect, resulting of the use of AZap.
  23.  
  24. Introduction
  25.  
  26.       AZap is a "new generation" binary editor able to edit files,  memory
  27.   or devices like hard disks. It can open several windows at  the  same  time,
  28.   and while this program cannot be considered as a tool to help you to recover
  29.   a disk, it has a lot of useful functions (print block,  fill  block,  search
  30.   string, etc...).
  31.  
  32.                     CAUTION:
  33.  
  34.       It is absolutly forbidden to use this program  to  modify  a
  35.       copyright notice, or any other illegal usage.  Unexperienced
  36.       users should be aware that this program  may    destroy  their
  37.       programs, or cause severe data loss. 
  38.  
  39.       Criticisms and suggestions will always be welcomed. Write to:
  40.  
  41.                    M. GOUNELLE Denis
  42.                     Boite 71
  43.                   6, rue des cailloux
  44.                  92110 CLICHY - FRANCE
  45.  
  46.       You can also send a message to  the  following  Internet  address  :
  47.   "gounelle@alphanet.ch". Note that this mailbox is not mine, so  please  send
  48.   only short messages. As I don't have direct access to  the  messages,  don't
  49.   expect an answer before a dozen of days.
  50.  
  51.       Thanks to Pierre ARDICHVILI and Jean-Yves PROUX for beta-testing and
  52.   suggestions.
  53.  
  54. Installation
  55.  
  56.       This program requires "reqtools.library" (version 2.0c or higher) to
  57.   run,    so  you  must  copy  it  in  your  "LIBS:"   directory   before.   The
  58.   "reqtools.library" is (c)1990-1993 by Nico FRANCOIS.
  59.       AZap is now localized, so it    can  adapt  itself  to    your  favorite
  60.   language. All you have to do is to copy  the    good  catalog  file  into  the
  61.   directory corresponding to your  language.  For  exemple,  if  your  default
  62.   language   is    french,    copy    the    "franτais.catalog"    into    the
  63.   "SYS:Locale/Catalogs/Franτais" directory, under the name "AZap.catalog."
  64.  
  65.       The german catalog was translated by Stefan SALEWSKI.
  66.       The dutch catalog was translated by Paul WETERINGS.
  67.  
  68. Running_from_CLI
  69.  
  70.       This program detach itself from CLI window. It accepts the following
  71.   arguments:
  72.  
  73.       WBENCH
  74.       Use Workbench screen instead of custom screen.
  75.  
  76.       LACE
  77.       Use an interlaced custom screen. This option is ignored  if  the
  78.       WBENCH option is specified too.
  79.  
  80.       FONT name
  81.       Use the specified font instead of internal 6x9 font. "name" must
  82.       be given as <font name><Y size>, like "courier9". AZap will  use
  83.       this font only if it isn't proportionnal and  if  it  isn't  too
  84.       large to display a 512 bytes block.
  85.  
  86.       MEMORY
  87.       Open a window to edit memory.
  88.  
  89.       DEVICE name
  90.       Open a window to edit specified device. Don't forget  the  colon
  91.       (":") at the end of the name.
  92.  
  93.   Any other argument is supposed to be the name of a file  to  edit.  You  can
  94.   specify as many names as you want, but only the first eight will be used. Of
  95.   course, you can mix file names, MEMORY  and  DEVICE  options.  Last,    if  no
  96.   argument is specified, a file requester appears (see "The_Project_menu")  so
  97.   you can select the file to edit.
  98.  
  99. Running_from_Workbench
  100.  
  101.       You can specify the following options in the "TOOL  TYPES"  of  AZap
  102.   icon:
  103.  
  104.       OPTIONS=WBENCH or OPTIONS=LACE
  105.       See  the   description   of    WBENCH     and   LACE   options    in
  106.       "Running_from_CLI" section.
  107.  
  108.       FONT=name
  109.       See above the description of FONT option  in    "Running_from_CLI"
  110.       section
  111.  
  112.   A file requester will appear (see "The_Project_menu") so you can select  the
  113.   file to edit.
  114.  
  115. The_edit_window
  116.  
  117.       The  left  part  of  the  display  shows  the  block     contents   in
  118.   hexadecimal, by sets of 4 bytes. The right part shows the  same  information
  119.   but as characters.  Bytes  corresponding  to    non-printable  characters  are
  120.   replaced by a point (".").
  121.       At  the  bottom  right  of  the   window   are   displayed   several
  122.   informations: the block address (relative to beginning, in hex), the  offset
  123.   in the block (in hex), the block number (relative to beginnin, in  decimal),
  124.   and the block type. This last information is not significant unless you edit
  125.   a DOS device. When block contents has been modified but not written, a  star
  126.   ("*") is displayed at the right of the first line. When  block  checksum  is
  127.   valid, a "V" character is displayed at the right of the  second  line  (this
  128.   information is not significant unless you edit a DOS device).
  129.  
  130.       When the window is opened, the first    block  is  displayed  and  the
  131.   cursor is on the first  character  of  the  right  part.  The  corresponding
  132.   position in the left part is showed by a display in a different  color.  You
  133.   can move the cursor whith the arrow  keys.  To  switch  between  a  part  to
  134.   another (left to right or right to left) just press the tabulation key.  You
  135.   can also move anywhere you want using the mouse. To modify data,  just  type
  136.   in the new datas over the old ones. In the left part, only "0" to  "9",  "a"
  137.   to "f" and "A" to "F" characters are allowed. AZap keep in mind the 32  last
  138.   changes: as long as you have not moved to another block you can  undo  these
  139.   changes with the escape key. The following keys are also accepted:
  140.  
  141.       ctrl-up      go to first block
  142.       ctrl-down      go to last block
  143.       ctrl-left      go to previous block
  144.       ctrl-right      do to next block
  145.       shift-up      go to first line
  146.       shift-down      go to last line
  147.       shift-left      go to first byte of the line
  148.       shift-right      go to last byte of the line
  149.  
  150.       The buttons at the bottom of the window allow (from left  to  right)
  151.   to go to the first block, to go to the previous block, to write the changes,
  152.   to go to the next block, to go to the last block,  and  to  go  to  a  given
  153.   address. In this last case, a  requester  appears,  so  you  can  enter  the
  154.   address to go. Use the following syntax:
  155.  
  156.       nbr      jump at address 'nbr'
  157.       ºnbr      jump at block 'nbr'
  158.       @nbr      jump at address found by reading the long word at address
  159.           'nbr' (when editing memory only)
  160.       #nbr      jump to the memory area number 'nbr' (when editing memory
  161.           only)
  162.  
  163.   The address  may  be    an  expression,  whose    syntax    is  described  in  the
  164.   "Expressions_syntax" section.
  165.       You may also use the proportionnal gadget,  at  the  bottom  of  the
  166.   window, to change your position. Be aware that, in all circumstances, if you
  167.   move to another block without writing the changes made to the current block,
  168.   all changes will be lost !
  169.  
  170.       To close the edit window, just click on the  close  gadget.  If  the
  171.   block has been modified but not saved, you will be asked  for  confirmation.
  172.   The program stops when the last edit window is closed.
  173.  
  174. The_Project_menu
  175.  
  176.       Open file...
  177.       Opens a new window to edit a file. A file requester will appear,
  178.       so you can select the file to edit.  A  memory  window  will    be
  179.       opened if you select "RAM:", or a device window if you select  a
  180.       device (like "DH0:")
  181.  
  182.       Open memory
  183.       Opens a new window to edit memory.
  184.  
  185.       Open device
  186.       Use the sub-menu items to select the device to edit. AZap  opens
  187.       a new window to edit this device.
  188.  
  189.       Palette...
  190.       A palette requester appears, so you can modify screen's  colors.
  191.  
  192.       Save prefs
  193.       Save configuration: screen's colors and font. The options of the
  194.       current  window  are    also  saved  as   default   options.   The
  195.       configuration file is "S:AZap.config".
  196.  
  197.       About...
  198.       Displays informations about the program.
  199.  
  200.       Quit
  201.       Ends program execution. You will be asked for confirmation.
  202.  
  203. The_Edit_menu
  204.  
  205.       Help...
  206.       Displays cursor keys usage with CTRL and SHIFT.
  207.  
  208.       Undo all
  209.       Read current block to undo all changes not saved yet.
  210.  
  211.       Jump back
  212.       Each time you move to  another  block  with  the  "go  to  first
  213.       block", "go to last block" or "GOTO" buttons, the  old  position
  214.       is kept in memory. This command allows  to  jump  back  to  this
  215.       position. The old position  is  also    kept  when  you  use  this
  216.       command, so you can easely toggle between two blocks.
  217.  
  218.       Next block
  219.       When editing a DOS device, this command allows you to go  either
  220.       to the first data block (if the current block is a file  header)
  221.       or to the next block (if the current block is a data block of  a
  222.       OFS disk).
  223.  
  224.       Parent block
  225.       When editing a DOS device and the current block is a file header
  226.       or a directory, this command allows  you  to    go  the  directory
  227.       block corresponding to the parent  directory    of  this  file    or
  228.       directory.
  229.  
  230.       Root block
  231.       When editing a DOS device, this command allows you to go to  the
  232.       root block of this device.
  233.  
  234.       Header block
  235.       When editing a DOS device, this command allows you to go to  the
  236.       next header block.
  237.  
  238.       When you use one of these four commands, the old position is kept in
  239.       memory for the "Jump back" command.
  240.  
  241. The_Tools_menu
  242.  
  243.       Infos
  244.       Displays  some   informations   about   the    file/memory/device
  245.       currently edited.
  246.  
  247.       Examine
  248.       When editing a DOS device, and if the current block is a  header
  249.       block, this command  displays  what  would  have  displayed  the
  250.       "Info" command on the corresponding file or directory.
  251.  
  252.       Print...
  253.       Prints a number of blocks starting from  the    current  block.  A
  254.       requester appears so you can specify another    output    file  that
  255.       "PRT:" (the printer). Then AZap  will  ask  you  the  number  of
  256.       blocks to print.
  257.  
  258.       Convert
  259.       A new window is opened, with four gadgets  that  enable  you    to
  260.       make convertions between binary, decimal, hexadecimal and ASCII.
  261.       Any value entered, either an expression  for    "BIN",  "DEC"  and
  262.       "HEX" gadgets, or  a  character  string  for  "ASC"  gadget,  is
  263.       converted in the other units.  You  don't  have  to  close  this
  264.       window to continue editing.
  265.  
  266.       Save block
  267.       Save a number of blocks starting from the current block. A  file
  268.       requester appears so you can specify the file where to save  the
  269.       blocks. Then AZap will ask you the number of blocks to save.
  270.  
  271.       Fill block...
  272.       Sets all bytes of  the  current  block  to  the  same  value.  A
  273.       requester appears so you can enter a value: either 'c'  to  fill
  274.       with the "c" character or a number (ASCII code of the  character
  275.       to use, prefixed by "0x" for an hexadecimal value).
  276.  
  277. The_Search_menu
  278.  
  279.       Search...
  280.       Searchs for a string or a hexadecimal value. A requester appears
  281.       so you can enter the value to  search  :  either  a  hexadecimal
  282.       value (prefixed by "0x", take care to enter an  even  number  of
  283.       digits) or a character string (ASCII search). To search a string
  284.       beginning with "0x", put all the string between double quotes.
  285.  
  286.       Search text... Searchs for a string of  printable  characters.  This
  287.       may be useful, for exemple, to locate a text area.  A  requester
  288.       appears so you can enter the minimal length  to  search  for.  A
  289.       value lower than 4 is generally not very interesting.
  290.  
  291.       Search next
  292.       Continue last search starting from current position.
  293.  
  294.       For all searchs, AZap move to the position  where  an  occurence    is
  295.       found, or the screen flashes.  The  previous  position  is  kept    in
  296.       memory for the "Jump back" function (see  "The_Edit_menu"  section).
  297.       You can abort a search, and AZap will find  a  string  laid  on  two
  298.       consecutives blocks.
  299.  
  300.       Search file
  301.       Goes strait to the header of a given file or directory.  A  file
  302.       requester appears, so you can select the file.  AZap    will  then
  303.       open a new device window for the corresponding device, and  show
  304.       the header block of the file.
  305.  
  306. The_Options_menu
  307.  
  308.       Take care that options are "locale" to a window : if you change  the
  309.   options of a window, the others windows won't be affected. When you  open  a
  310.   new window, it takes the options of the current window.
  311.  
  312.       Checksum
  313.       Specifies when AZap must update block checksum (used  only  when
  314.       editing a DOS device). Choices are : "always" (update for  *ALL*
  315.       blocks), "Ask if" (you will be asked for), "Boot  blocks"  (only
  316.       for 0 and 1 blocks) and "Automatic" (only if checksum was  valid
  317.       when reading block).
  318.  
  319.       Auto save
  320.       AZap will automatically save any modified block as soon  as  you
  321.       will ask to move to another block.
  322.  
  323.       Read only
  324.       You won't be allowed to modified data.
  325.  
  326.       lwr = UPR
  327.       Specifies if lower case and upper  case  characters  are  to    be
  328.       distinguished when making an ASCII search.
  329.  
  330.       Backup copy
  331.       Specifies if AZap must make a backup copy of    edited    files.    If
  332.       selected, at the next write attempt a requester will    appear    so
  333.       you can enter the name of the copy to  create.  AZap    will  then
  334.       make a copy of the file before recording  your  changes.  If    an
  335.       error occurs during the copy, the requester will  come  back    so
  336.       you can specify another name.  If  you  click  on  the  "Cancel"
  337.       gadget, no copy will be made but your changes will  be  recorded
  338.       anyway.
  339.  
  340. Expressions_syntax
  341.  
  342.       AZap is able to compute integer expressions. Default base is decimal
  343.   for addresses ("GOTO" gadget) or the  base  corresponding  to  the  selected
  344.   gadget in the convertion window. Base may be specified  with    "%"  (binary),
  345.   "#" (decimal), and "$" or "0x" (hexa) before  any  number.  Valid  operators
  346.   are :
  347.  
  348.       +      addition
  349.       -      subtraction
  350.       |      logical "or"
  351.       &      logical "and"
  352.       *      multiplication
  353.       /      integral division
  354.       %      reminder of integral division
  355.       <      shift left
  356.       >      shift right
  357.  
  358.   By default, "*", "/", "%", "<" and ">" operators have  higher  priority  but
  359.   you may use parenthesis. If there is a syntax error in  an  expression,  its
  360.   result will be set to -1.
  361.  
  362. Important_notes
  363.  
  364.       When starting to run, AZap read the ExecBase structure to  know  you
  365.   memory configuration. Only memory areas defined is memory  management  lists
  366.   may be edited. Except when searching, these areas are considered as adjacent
  367.   and AZap will move automatically  from  an  area  to    another.  The  "Infos"
  368.   command (see "The_Tools_menu" section) displays the addresses of all  areas.
  369.   Reading and writing memory is done after having disabled task switching,  in
  370.   order to avoid conflicts.
  371.  
  372.       AZap can recognize the type of the device you edit. Some  operations
  373.   ("next block", "parent block" and "root block", see "The_Edit_menu" section)
  374.   are disabled on  non    AmigaDOS  devices,  but  don't  forget  to  check  the
  375.   "Checksum" option. AZap knows about OFS (Old File System) and FFS (Fast File
  376.   System) and handle both file systems.
  377.  
  378. History
  379.  
  380.       AZap is written almost in C language, and was developped on an Amiga
  381.   3000 UNIX-1 (10 Mb RAM, internal HD disk drive, internal hard  disk  of  100
  382.   Mb, external SyQuest drive of  88  Mb,  external  floppy  disk  drive,  1960
  383.   monitor and Star LC24-10 printer) connected by a null-modem cable to an A500
  384.   with 1 Mb RAM.
  385.  
  386.   v1.00   14-Oct-92, 36084 bytes (Fish #759)
  387.       o First released version
  388.  
  389.   v1.01   16-Oct-92, 36084 bytes
  390.       o Bug fixed: didn't worked if default public screen  was  less  than
  391.         648 pixels wide.
  392.  
  393.   v1.10   15-Nov-92, 36960 bytes
  394.       o Added "Header block" and "Examine" functions
  395.       o After a file request, open a memory window if "RAM:" was selected,
  396.         or a device window if a device name was selected (e.g. "DH0:")
  397.  
  398.   v1.11   21-Nov-92, 36976 bytes
  399.       o Bug fixed: the "ºn" form in the "GOTO" function wasn't  understood
  400.  
  401.   v1.20   25-Dec-92, 40000 bytes
  402.       o Compiled with SAS/C 6.1
  403.       o Added "Search file" function
  404.       o The requester for the "GOTO"  function  displays  the  last  value
  405.         entered
  406.       o If a string search fails, displays a message "foo not found"
  407.       o Devices can be named by their logical names (in command  line  and
  408.         file request, except RAM:)
  409.  
  410.   v1.30   02-Jan-93, 40612 bytes
  411.       o Added "Save block" function
  412.       o The "Print..." function ask for the number of blocks to print
  413.       o The "Infos" functions displays disk type (OFS/FFS/NDOS)
  414.       o Search functions put together in a new menu
  415.       o A few bugs fixed in default font and WorkBench screen handling
  416.  
  417.   v2.00   07-Feb-93, 42116 bytes
  418.       o Compiled with SAS/C 6.2
  419.       o Fully localized
  420.  
  421.   v2.01   21-Feb-93, 41768 bytes
  422.       o Better handling of file requester
  423.       o A few bugs fixed in window options handling
  424.  
  425.   v2.02   13-Mar-93, 42264 bytes
  426.       o No more gurus with a 68000 (some pointeurs were not aligned)
  427.       o Detach itself from CLI again
  428.       o The "About" window has a closing gadget
  429.  
  430.   v2.03   15-Apr-93, 42292 bytes
  431.       o A few bug fixed in expression computation
  432.       o Bug fixed: the "modified block" flag was  not  always  reset  when
  433.         moving to another block
  434.  
  435.   v2.04   24-Apr-93, 42468 bytes
  436.       o Show files pathname in window's title and "info" window
  437.       o Recognize all OS 3.0 filesystems
  438.       o A few bugs fixed in menus handling
  439.  
  440.   v2.05   10-May-93, 42604 bytes
  441.       o Several bugs fixed in search function (hex and string)
  442.  
  443.   v2.06   18-May-93, 42692 bytes
  444.       o A few bugs fixed in conversion function (bin/dec/hex/asc)
  445.  
  446.   v2.07   03-Jul-93, 43548 bytes
  447.       o Compiled with SAS/C 6.3
  448.  
  449.   v2.08   29-Jul-93, 43580 bytes
  450.       o If a read error occurs on a floppy    or  fixed  disk,  screen  will
  451.         flash and the sector will be displayed with all bytes set to zero.
  452.  
  453.   v2.10   15-Sep-93, 44200 bytes
  454.       o Added a proportionnal gadget at the bottom of the window
  455.       o Uses the new versions  of  GetDefaultTextFont()  and  OuvreEcran()
  456.         functions
  457.  
  458.   v2.11   22-Sep-93, 44184 bytes
  459.       o Very funny bug fixed in searches: the display wasn't updated  when
  460.         the search failed. So, as the cursor moves, the hex bytes under it
  461.         changed. Also, in some cases, you could move the cursor below  the
  462.         window and down into the gadgets and such.
  463.  
  464.  
  465.  
  466.