home *** CD-ROM | disk | FTP | other *** search
/ World of A1200 / World_Of_A1200.iso / programs / disk / misc / azap / azapenglish.doc < prev    next >
Text File  |  1995-02-27  |  20KB  |  494 lines

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