home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 24 / af024a.adf / DML_Readme_Doc < prev    next >
Text File  |  1991-05-15  |  8KB  |  232 lines

  1.  
  2.                DML V1.0 - by Alan Warriner
  3.                ---------------------------
  4.  
  5.       DML is a memory viewing utility with the ability to
  6. provide a display of memory values in various formats on
  7. either screen or printer.  The output to the screen is
  8. continually updated making DML a useful de-bugging tool.
  9. In addition blocks of memory may be saved to disk thereby
  10. (sometimes) allowing `lost` data to be recovered.
  11.  
  12.       A description of program options and use follows :-
  13.  
  14.       When started the program will display a list of
  15. addresses on the left side of the window,  the main body of
  16. the window will display the address contents ,(in hex by
  17. default), and on the right will be the ascii equivalents.
  18. Should the display address be in an unavailable region,
  19. for example hardware write only registers or non existent
  20. expansion ram, then the byte values will be displayed as
  21. question marks.
  22.       The title border of the program window will display
  23. two values, the left is the offset of the byte over which
  24. the pointer is sitting from the first displayed address, 
  25. the right value, initially, will be the same value as the
  26. display address.
  27.  
  28.       On the right side of the program window are four
  29. `gadgets`, the lower two, marked + and - , increase and
  30. decrease the display address, by clicking on either one and
  31. moving the pointer away from the gadget before releasing
  32. the button the display will scroll continuously until
  33. either, the right mouse button is pressed, or either gadget
  34. is re-selected.  The proportional gadget may be used to
  35. provide coarse movement through the memory map, or, by
  36. clicking in the outer area,  move one screen page in either
  37. direction.  Selecting the top gadget will move the display
  38. address to that displayed in the top border.
  39.       In addition the cursor keys (+ shift) may also be used
  40. to alter the window address.
  41.  
  42.       Clicking the left mouse button when the pointer is
  43. within the program window will cause the address of the
  44. byte over which the pointer is sitting to be copied into the
  45. border display.  Double clicking will read in the three
  46. consecutive byte values from that address and use these as
  47. the border address, allowing movement through memory via
  48. 'pointers'.
  49.  
  50.     MENU OPERATIONS
  51.     ---------------
  52.  
  53.  1.   BLOCK
  54.       -----
  55.  
  56.           START :-
  57.                   Allows the start address of a block to be
  58. defined by either typing in, or, selecting the border
  59. address. Initially set to window address
  60.  
  61.          FINISH :-
  62.                   As above for end address. Block is
  63. inclusive of start and finish addresses. i.e. to define one
  64. byte use the same address for start and finish.
  65.  
  66.            SAVE :-
  67.                   Saves block to specified file.  Should a
  68. block start or finish in an unavailable memory area then
  69. the start or finish address will be to the start or end
  70. address of the unavailable block. A block entirely within
  71. the unavailable memory area will not be saved at all.
  72.  
  73.  
  74.  2.   OPTIONS
  75.       -------
  76.  
  77.           PRINT :-
  78.                   Prints either the current window or the
  79. current block.  If preferences is correctly set up then the
  80. program will not print across the fold on continuous paper.
  81. To stop printing press right mouse button, or, select any
  82. menu option.
  83.  
  84.           ABOUT :-
  85.                   That's me.
  86.  
  87.            QUIT :-
  88.                   An anagram of exit.
  89.  
  90.  3.   BASE
  91.       ----
  92.  
  93.             HEX :-
  94.                   Display memory values in hexadecimal.
  95.  
  96.          BINARY :-
  97.                   Eight bit binary.
  98.  
  99.         DECIMAL :-
  100.                   Decimal display with leading zeros removed.
  101.  
  102.           ASCII :-
  103.                   Entire screen dedicated to text display.
  104.  
  105.  4.   MEMORY
  106.       ------
  107.  
  108.            GOTO :-
  109.                   Specify new address for display window.
  110.  
  111.          SEARCH :-
  112.                   This option permits the user to search
  113. through the Amiga's memory for specific byte patterns.  The
  114. values to be found may be entered in the form of hex digits
  115. , decimal values, ascii strings, binary values or any
  116. combination of these.  Individual entries are separated by
  117. commas or spaces.  The identifiers and maximum size of each
  118. data type is as follows.
  119.  
  120.               Type             I.D.        Max Size
  121.               ----             ----        --------
  122.               Hex               $          FFFFFFFF
  123.           Decimal              none        4294967295
  124.            Binary               %          32 binary digits
  125.             Ascii             ' or "       32 characters
  126.  
  127. The Ascii string is terminated with the same character used
  128. to identify it, or, if it is the last search entry then no
  129. terminator is required.
  130.       Searching will take place until either all of the
  131. memory map has been checked or until a match is found.
  132.       While the search is taking place the address of the
  133. memory currently being searched is displayed in the border.
  134. Should a match be found then the display address will
  135. be set to that where the data has been found.
  136.       To stop the search at any point press the right mouse
  137. button.
  138.  
  139.            NEXT :-
  140.                   Continues search from current display
  141. address.
  142.  
  143.            PUSH :-
  144.                   DML supports an eight level pseudo-stack
  145. onto which may be 'pushed' either the current display
  146. address or the address showing in the border.  Initially
  147. it will contain only the address specified at start up.
  148. When the stack is full the address which has been in the
  149. longest is removed and all other values are moved down one
  150. position before the new value is 'pushed' on.
  151.  
  152.            PULL :-
  153.                   Allows the display address to be set to
  154. that of any the stack entries.
  155.  
  156.  
  157.          DML Should only be started from the CLI, when
  158. doing so several initial parameters may be set up, they
  159. are :-
  160.  
  161.    -a[$] Address
  162.                Specify display address at startup.  If no
  163. address is given then the address of DML's Amigados window
  164. structure is used.
  165.    e.g.  DML -a$123456 or DML -a123456 (Note there are no
  166. spaces within the expression).
  167.  
  168.    -m H B A D  Default = H
  169.                Sets initial base for display.
  170.    e.g.  DML -mb   (Binary) or DML -ma   (Ascii)
  171.  
  172.  
  173.    -w Width (239-640) Default = 560
  174.                Sets initial width for window.
  175. (Width + X-position cannot exceed 640)
  176.    e.g.  DML -w520
  177.  
  178.    -x X-Position (0-401) Default = 0
  179.                Specify offset of left edge of window.
  180.    e.g.  DML -x200
  181.  
  182.    -h Height (54-256) Default = 158
  183.                Window height at start up.
  184. (Height + Y-Position cannot exceed 256)
  185.    e.g.  DML -y150
  186.  
  187.    -y Y-Position (0-202) Default = 158
  188.                Initial vertical position of window.
  189.    e.g.  DML -y180
  190.  
  191.  
  192.    Two or more of these initial settings may be combined
  193. together, any illegal entries or combinations which produce
  194. values outside of specified limits will be reset to default
  195. settings.  Individual entries should be separated by
  196. spaces.
  197.    e.g.  DML -a123456 -mh -x10 -y20 -w600 -h200
  198.  
  199.             Under certain circumstances DML may be used to
  200. recover data lost because of software failure.  To attempt
  201. this try the following technique, (No guarantees !!).
  202.       Re-boot the computer in exactly the same way as before
  203. the crash but ensure that the program in use does not load in
  204. a file, if the program is not multi-tasking via the
  205. amigados RUN commmand (or from Workbench) then exit and
  206. RUN <program>, once again ensuring no file is loaded or
  207. specifying a dummy file, e.g. Nil: if required.
  208. You may now launch DML and use the search,block and save
  209. commands to attempt to recover data, (Good luck).
  210.       To use DML as an aid to de-bugging it is necessary to
  211. set up a pattern within the program to be investigated to
  212. allow DML to search for the code and then monitor the
  213. program variables as they are changing.  The code for which
  214. DML is going to search should be modified at run time so
  215. that the search does not find a copy of the program in Ram
  216. disk or an old version still in memory.
  217.  
  218.       LIBRARY REQUIREMENTS
  219.       --------------------
  220.  
  221.                   Exec.library
  222.                   Intuition.library
  223.                   Graphics.library
  224.                   Dos.library - Not essential but print and
  225. save options will not be available without it.
  226.  
  227.    A. Warriner
  228.    24, Stuart Gardens
  229.    Throckley
  230.    Newcastle
  231.    NE15 9LS
  232.