home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / accs / memfile / memfil20.doc < prev    next >
Encoding:
Text File  |  1990-10-16  |  18.4 KB  |  315 lines

  1. 8/19/88
  2.  
  3.            MemFile 2.0, Copyright 1988 by Dan Wilga. All rights reserved.
  4.  
  5.           This program and its resource file may be freely distributed on
  6.           the conditions that a copy of this DOC file is included and no
  7.           payment of any type (including "copying" fees) is incurred upon
  8.           the recipient of the program. No warranty is made as to the
  9.           compatibility of this program and the author cannot be considered
  10.           responsible for any loss of data which results from the use of
  11.           this program. Use it at your own risk!
  12.  
  13. | Revisions to Version 1.4:
  14. |     Bug Fixes:
  15. |         []  Window redraws oftentimes were not preformed correctly when
  16. |             the MemFile window was not the topmost.
  17. |         []  A minor change to the way in which it is decided when to
  18. |             display the "These addresses might not be alterable" message.
  19. |         []  Displaying addresses greater than six digits resulted in
  20. |             garbage in the address column of the display.
  21. |         []  The title bar is reset when changing to another editor type.
  22. |             Previously, the results of a Search would be left displayed.
  23. |     Enhancements:
  24. |         []  All graphics routines have been converted to the smaller and
  25. |             faster "linea" type.
  26. |         []  Thanks to Mark Williams' VSMALL option, the code is much smaller.
  27. |             Guess that's why they called it that, eh?
  28. |         []  Many of the features can be activated with a single keystroke,
  29. |             and no longer require the mouse. This includes an automatic
  30. |             repeat for the scroll bar functions. A keymap is available.
  31. |         []  Decimal and hexadecimal offsets can now be entered in any of
  32. |             the three editing modes, not just for Memory. Also, after they
  33. |             have been entered, the value in the editable field is no
  34. |             longer updated to that of the lowest address in the display.
  35. |             I suppose it might get confusing, but I got tired of it the
  36. |             other way.
  37. |         []  The editor makes better use of the numeric keypad. See below.
  38. |         []  The Search feature now posts a message in the title bar of
  39. |             the window if the search has gone past phystop.
  40. |         []  Search also can optionally produce a bell tone after the search
  41. |             has ended for any reason other than the user cancelling. This
  42. |             tone continues every few seconds until a mouse button or key
  43. |             is pressed.
  44. |         []  The location in memory where the actual string being searched
  45. |             for is located no longer stops the search when it is encountered.
  46. |         []  This document has been updated. Changes are denoted by a "|"
  47. |             in the first column.
  48.  
  49.  
  50.   Overview:
  51.  
  52.           MemFile is a desk accessory (DA) program that allows the user to view
  53.   and edit any portion of his ST's memory, a file on any disk drive or the
  54.   individual sectors of any drive. Because it is a desk accessory, it has the
  55.   added advantage that it is available from any GEM application, so you can
  56.   easily call it up if, say for instance, you are debugging a program and you
  57.   want to make sure that it has written a file correctly without having to leave
  58.   the program you are working on. It is also a moveable window which means that
  59.   you can reposition it to another location on the screen or even click on
  60.   another open window.
  61.           The current MemFile package includes the following files:
  62.           
  63. |              MEMFIL20.DOC -- You're reading it
  64. |              MEMFIL20.ACC -- The program
  65. |              MEMFIL20.RSC -- The program's resource file
  66.  
  67.  
  68.   Installation:
  69.  
  70.          MemFile is installed just like any other DA; place the files
  71. | MEMFIL20.ACC and MEMFIL20.RSC in the root directory of the disk drive you
  72.   normally boot from and hit the reset button on the back of your machine.
  73.  
  74.   General Use:
  75.  
  76.           When you select the "MemFile!" item from the desktop's menu bar, a
  77.   window appears. When you use MemFile for the first time after booting, the
  78.   program displays the contents of your machine's memory starting at the bottom
  79.   of memory (address 0). At this time you can click on either of the two buttons
  80.   on the right side of the dialog to toggle between hexadecimal or decimal
  81.   addresses. You can also click on either of the other two buttons labeled
  82.   "File" and "Sector" to switch the display to those functions.
  83.           Which ones of the other buttons are valid depends upon the mode you
  84.   are in: if you are in Memory, you can click on either the editable address in
  85.   hex or decimal, but you cannot click on any of the buttons underneath these
  86.   two without switching modes.
  87.           You can edit the information contained in the display by clicking on
  88.   either the two-digit bytes in the second column or their ASCII representation
  89.   in the third column of the display. A cursor will appear, which can be moved
  90.   with the arrow keys. When you are editing the bytes, only the 0-9, a-f
  91. | (or A-F) keys will have any effect. You can either use the keys that appear
  92. | on the main keyboard for this or the ones on the numberic keypad. The hex
  93. | letters A-F can also be entered on the keypad by referring to the follwing
  94. | diagram:
  95. |
  96. |        --- --- --- ---
  97. |       | A | B | C | D |
  98. |        --- --- --- ---
  99. |       | 7 | 8 | 9 | E |
  100. |        --- --- --- ---
  101. |       | 4 | 5 | 6 | F |
  102. |        --- --- --- ---
  103. |       | 1 | 2 | 3 |Ent|
  104. |        ------- ---|   |
  105. |       | 0     |###|   |    Note: The decimal key is unused in this mode.
  106. |        ------- --- ---
  107. |
  108. | When editing the ASCII values contained in the second column, you can enter
  109. | anything, including control characters. When you are done editing, hit the
  110.   Return key. A dialog asking if you want to rewrite the information will
  111.   appear. Click on "Yes" only if you are certain that the changes you have made
  112.   are correct, otherwise you may damage system memory, forcing you to re-boot
  113.   or, worse, damage important information on a disk.
  114.           Normally, the ASCII column of the display contains all the individual
  115.   characters that make up the area being viewed. The one exception to this is
  116.   the NUL character (0x00) which cannot normally be displayed. MemFile shows
  117.   a decimal point (".") in any location where a NUL should be. Please be aware
  118. | that if you attempt to edit the ASCII column, the only way to actually enter
  119. | a true NUL character is with the decimal key ON THE KEYPAD. Do NOT enter
  120. | a decimal point from the main keyboard if what you want is a NUL! The
  121. | surest way to change a byte to a NUL is to change its value in the Hex
  122.   column to zero instead.
  123.  
  124.   The Search Feature:
  125.   
  126.           The "Search" button calls-up a dialog which allows you to search for
  127.   a string of characters within the area that is currently being displayed.
  128.   Click on either the ASCII or the Hex box, depending upon how you want to
  129.   enter the string. After you have clicked on one or the other the cursor
  130.   will appear on the field you selected, allowing you to edit the information
  131.   there. The ASCII field may contain any key that can be typed on the keyboard.
  132.   The Hex field, however, must only contain the digits 0-9 and A-F (or
  133.   lowercase a-f).
  134. |         The other option you have here is to specify whether or not you
  135. | want to be alerted when the search has completed. If you select "On", a
  136. | bell tone will be produced when the search has finished, assuming you did
  137. | not cancel the search part way through. The tone will continue to sound
  138. | every few seconds, but can be stopped by pressing a key, the left mouse
  139. | button, or performing a window operation. This feature was intended to allow
  140. | you to do something else (dare I say it?) away from the computer while
  141. | a lengthy search is being performed.
  142.           When you have finished editing the field you chose, click on the
  143.   "Done!" button at the bottom of the dialog. The search will then begin. You
  144.   should see the scroll bar move as the search progresses though, in the case
  145.   of a Memory search, the bar may not move very often.
  146.           If the string of characters is found the display will be redrawn at
  147.   the location where the string is and the location of the start of the string
  148.   will be written in the information line at the top of the window. If the
  149. | string is not found an message appears along the top of the window and the
  150.   display remains at its last location.
  151. |         If you are doing a memory search, the location where MemFile stores
  152. | the string you are looking for in memory is excluded from the search. Also,
  153. | if the search goes past phystop, a message will appear in the title bar of
  154. | the window. At this point you may opt to stop the search if you know that
  155. | you do not actually have anymore RAM after phystop.
  156.           You can stop the search at any time by pressing both of the
  157.   keyboard's Shift keys simultaneously. The last location checked in the
  158.   search will be displayed.
  159.           If you want to look for the next occurence of the same string or if
  160.   you want to resume a search that was stopped, merely press the Search button
  161.   a second time. When the dialog appears, click on the "Done!" button and the
  162.   search will proceed. If no other button has been selected since Search was
  163.   invoked the first time, the search will continue from the point where it left
  164.   off. If, however, any button (including the scroll bar) has been selected
  165.   since the initial search, the new search will begin from the lowest address
  166.   on the current display. This means that the same string will be found a
  167.   second time (assuming the previous search was not stopped). To find the
  168.   next occurence, you must then activate the Search feature one more time.
  169.           When entering a string in ASCII, there is no way to include the
  170.   NUL character (ASCII zero). The only way to enter this character is by using
  171.   the Hex field and entering "00" for one of the bytes. Please also note that
  172.   when you select Search a second time after having entered a NUL, the ASCII
  173.   string will be truncated wherever the NUL appeared. The Hex representation
  174.   will remain intact.
  175. |         If you do not like having the Alert function default to "On", merely
  176. | change the resource file using a resource editor so that the "Off" button
  177. | is preselected rather than the "On" one.
  178.  
  179.   The Memory Editor:
  180.  
  181.           The memory editor can display and edit any address from zero to the
  182.   highest available location as specified by the system variable "phystop".
  183.   This location is normally just below the maximum address that can be accessed,
  184.   and depends upon how much RAM your machine has. The only time it is not just
  185.   below the top is when you have installed programs such as "reset-proof"
  186.   ramdisks which change the value of phystop. MemFile can display any address
  187.   up to 0x3FFFFE, however, you will not be able to alter any memory location
  188.   greater than the RAM capacity of your machine (normally address 0xFFFFF on a
  189.   1040ST). For this reason, whenever an address between phystop and 0x3FFFFE
  190.   is displayed, a warning message appears at the top of the window.
  191.           You can select either of the editable address fields and enter a new
  192.   value. Addresses in decimal contain only the digits 0-9 and addresses in
  193.   hexadecimal contain 0-9 and A-F (or a-f). Pressing Return causes the display
  194.   to be redrawn, starting at the new location. If the location you gave was
  195.   higher than the highest location available, the address will be moved to the
  196.   highest location.
  197.           If you want to edit a memory location in ROM, you cannot do so by
  198.   using the scroll bar because the entire area from 0x400000 to 0xF90000 is
  199.   inaccessible. Instead, you must begin by using either of the editable
  200.   address fields to enter an address from 0xFA0000 to 0xFEFFFF. The scroll bar
  201.   will then assume that the "lowest" address is actually 0xFA0000. Enter any
  202.   RAM address to switch back to that area.
  203.           In this mode, you can click on the scroll bar to the right of the
  204.   display to move up or down in 128 byte intervals. Clicking on the arrow
  205.   buttons move the address up or down 16 bytes at a time. You can also drag the
  206.   slider to a new position. Unlike the scroll bars found on Atari's desktop, you
  207.   can select any portion of this scroll bar and hold the left mouse button down
  208.   to repeat the function continuously.
  209.  
  210.   The File Editor:
  211.  
  212.           Whenever you select this option, the standard Atari file selector
  213.   appears. You can then select any existing file to edit.
  214.           After you have selected a file, the display will show the contents of
  215.   the file from its beginning. You can move to any location within the file
  216.   using the scroll bar and edit by clicking on the appropriate location in the
  217.   display.
  218. |         An offset into the file, relative to the strat can also be entered
  219. | by selecting either the Hex or Decimal editable field.
  220.           You can select the editable filename field if you want to switch to
  221.   another file contained in the same directory as the previous one. This is
  222.   sometimes easier than calling up the selector, which can be done by clicking
  223.   on the "Selector..." button. If the new file is not found or it cannot be
  224.   opened for both read and write, the program will try to re-open the previous
  225.   file. If this fails, the file selector will appear once again. This time, if
  226.   the file you select is not available, you will be returned to the Memory
  227.   editor.
  228.           If you close the MemFile window or leave the GEM program you are
  229.   currently in with the window open, the file will also be closed. However, the
  230.   next time you select MemFile from the menu bar it will try to re-open the file
  231.   you were working on last. If this is file is on a floppy, you should make
  232.   sure the same floppy is still in the appropriate drive. Please note that
  233.   this also means that the system considers a file to be open as long as you
  234.   are in the File mode. If you want to be able to access the file from any
  235.   other application without risking possible dmamge to its contents, you must
  236.   either leave the File option or close the MemFile window first.
  237.           Because MemFile cannot actually increase or decrease the length of a
  238.   file, attempting to edit a zero-length file will cause an error message to be
  239.   appear.
  240.           In this mode, clicking on the arrow keys has the same effect as
  241.   clicking on the gray area of the scroll bar, the display moves forward or
  242.   backward 128 bytes.
  243.  
  244.   The Sector Editor:
  245.  
  246.           When you first choose this option, the bootsector of the drive your
  247.   system was started with is displayed. Also, some statistics about the disk in
  248.   that drive are shown at the very bottom of the window.
  249.           You can switch to a new sector on the disk by clicking on either of
  250.   the + or - buttons to change the sector one at-a-time, or by clicking on the
  251.   number of sectors itself to edit it. To switch to another disk drive, select
  252.   the "Drives..." button. A dialog containing the valid drives in boldface will
  253.   appear. Click on any of the active drives to begin editing sectors on that
  254.   disk. If MemFile encounters any problem when reading or writing a sector, it
  255.   will return you to the Memory editor. Only those disks whose boot sectors
  256.   report them as having atleast one side, alteast one sector per track, and
  257.   no more than 512 bytes per sector can be viewed.
  258.           The "Swap Disks" button forces the program to re-read the bootsector
  259.   of the active drive. This is useful when switching disks in a floppy drive.
  260.   If you do not use this function (or re-select the current drive from the
  261.   Drives menu) the program may try to access a sector on the disk which does
  262.   not exist, causing an error.
  263.           MemFile always tries to read the "boot sector" of the disk whenever a
  264.   new disk is inserted or a new drive is selected. If it cannot read the boot
  265.   sector, the program displays an error message and displays the Drives list
  266.   so you can either insert a disk whose boot sector is good, or switch to
  267.   another drive alltogether.
  268.           Here, the scroll bar can be used to move the display throughout a
  269. | given sector and an offset within the sector can be entered in either the
  270. | Decimal or Hex editable field.
  271.  
  272. | Keyboard Commands:
  273. |
  274. |         Many of the main functions can be activated using simple keystrokes
  275. | rather than by using the mouse. This is especially useful with the scroll
  276. | bar, as it can be moved repeatedly until both Shift keys are pressed, rather
  277. | than having to hold-down the mouse button for long periods of time.
  278. |         A complete keyboard map is available by selecting the button from
  279. | the MemFile window.
  280.  
  281.   Comments:
  282.  
  283.           Note that the scroll bar in File Editing mode only moves in increments
  284.   of 128 bytes. This is due to the the small buffer that MemFile uses.
  285.           For some reason, the memory locations between the highest RAM address
  286.   and 0x3FFFFF do weird things. If you try to edit the locations, some of the
  287.   bytes appear to change just by moving the cursor over them. This is because
  288.   MemFile is somehow fed conflicting information when displaying and beginning
  289.   the edit. Don't worry about it, you can't change these locations anyway and
  290.   they really are quite useless. They just sit there and look nice.
  291.           This program works only in medium and high resolution for obvious
  292. | reasons. Booting in low-rez will not result in any message, however
  293.   even though the program does not run, it is still in memory just sitting
  294.   there doing nothing. Thought you might like to know where that memory is
  295.   disappearing to.
  296.           The Search feature can be rather slow. This is mostly because every
  297.   single byte in the area must be examined -- it took 1/2 hour to scan an
  298.   entire double-sided floppy. This really cannot be avoided, sorry.
  299. |         Current memory consumption is 29,798 bytes when running.
  300.  
  301.  
  302.         If you have any comments or suggestions please feel free to send
  303. them to either of the addresses below. A source listing is also available
  304. by sending a check or money order for $5 (can't get much cheaper) made
  305. out in my name, or free (!!) through the net.
  306.  
  307.                                 Gribnif@UMASS.Bitnet
  308.                                 Gribnif%UMASS.Bitnet@Forsythe.Stanford.EDU
  309.  
  310.                                 MemFile Sources
  311.                                 Gribnif Software
  312.                                 P. O. Box 350
  313.                                 Hadley, MA  01035
  314.  
  315.