home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format 24
/
af024a.adf
/
DML_Readme_Doc
< prev
next >
Wrap
Text File
|
1991-05-15
|
8KB
|
232 lines
DML V1.0 - by Alan Warriner
---------------------------
DML is a memory viewing utility with the ability to
provide a display of memory values in various formats on
either screen or printer. The output to the screen is
continually updated making DML a useful de-bugging tool.
In addition blocks of memory may be saved to disk thereby
(sometimes) allowing `lost` data to be recovered.
A description of program options and use follows :-
When started the program will display a list of
addresses on the left side of the window, the main body of
the window will display the address contents ,(in hex by
default), and on the right will be the ascii equivalents.
Should the display address be in an unavailable region,
for example hardware write only registers or non existent
expansion ram, then the byte values will be displayed as
question marks.
The title border of the program window will display
two values, the left is the offset of the byte over which
the pointer is sitting from the first displayed address,
the right value, initially, will be the same value as the
display address.
On the right side of the program window are four
`gadgets`, the lower two, marked + and - , increase and
decrease the display address, by clicking on either one and
moving the pointer away from the gadget before releasing
the button the display will scroll continuously until
either, the right mouse button is pressed, or either gadget
is re-selected. The proportional gadget may be used to
provide coarse movement through the memory map, or, by
clicking in the outer area, move one screen page in either
direction. Selecting the top gadget will move the display
address to that displayed in the top border.
In addition the cursor keys (+ shift) may also be used
to alter the window address.
Clicking the left mouse button when the pointer is
within the program window will cause the address of the
byte over which the pointer is sitting to be copied into the
border display. Double clicking will read in the three
consecutive byte values from that address and use these as
the border address, allowing movement through memory via
'pointers'.
MENU OPERATIONS
---------------
1. BLOCK
-----
START :-
Allows the start address of a block to be
defined by either typing in, or, selecting the border
address. Initially set to window address
FINISH :-
As above for end address. Block is
inclusive of start and finish addresses. i.e. to define one
byte use the same address for start and finish.
SAVE :-
Saves block to specified file. Should a
block start or finish in an unavailable memory area then
the start or finish address will be to the start or end
address of the unavailable block. A block entirely within
the unavailable memory area will not be saved at all.
2. OPTIONS
-------
PRINT :-
Prints either the current window or the
current block. If preferences is correctly set up then the
program will not print across the fold on continuous paper.
To stop printing press right mouse button, or, select any
menu option.
ABOUT :-
That's me.
QUIT :-
An anagram of exit.
3. BASE
----
HEX :-
Display memory values in hexadecimal.
BINARY :-
Eight bit binary.
DECIMAL :-
Decimal display with leading zeros removed.
ASCII :-
Entire screen dedicated to text display.
4. MEMORY
------
GOTO :-
Specify new address for display window.
SEARCH :-
This option permits the user to search
through the Amiga's memory for specific byte patterns. The
values to be found may be entered in the form of hex digits
, decimal values, ascii strings, binary values or any
combination of these. Individual entries are separated by
commas or spaces. The identifiers and maximum size of each
data type is as follows.
Type I.D. Max Size
---- ---- --------
Hex $ FFFFFFFF
Decimal none 4294967295
Binary % 32 binary digits
Ascii ' or " 32 characters
The Ascii string is terminated with the same character used
to identify it, or, if it is the last search entry then no
terminator is required.
Searching will take place until either all of the
memory map has been checked or until a match is found.
While the search is taking place the address of the
memory currently being searched is displayed in the border.
Should a match be found then the display address will
be set to that where the data has been found.
To stop the search at any point press the right mouse
button.
NEXT :-
Continues search from current display
address.
PUSH :-
DML supports an eight level pseudo-stack
onto which may be 'pushed' either the current display
address or the address showing in the border. Initially
it will contain only the address specified at start up.
When the stack is full the address which has been in the
longest is removed and all other values are moved down one
position before the new value is 'pushed' on.
PULL :-
Allows the display address to be set to
that of any the stack entries.
DML Should only be started from the CLI, when
doing so several initial parameters may be set up, they
are :-
-a[$] Address
Specify display address at startup. If no
address is given then the address of DML's Amigados window
structure is used.
e.g. DML -a$123456 or DML -a123456 (Note there are no
spaces within the expression).
-m H B A D Default = H
Sets initial base for display.
e.g. DML -mb (Binary) or DML -ma (Ascii)
-w Width (239-640) Default = 560
Sets initial width for window.
(Width + X-position cannot exceed 640)
e.g. DML -w520
-x X-Position (0-401) Default = 0
Specify offset of left edge of window.
e.g. DML -x200
-h Height (54-256) Default = 158
Window height at start up.
(Height + Y-Position cannot exceed 256)
e.g. DML -y150
-y Y-Position (0-202) Default = 158
Initial vertical position of window.
e.g. DML -y180
Two or more of these initial settings may be combined
together, any illegal entries or combinations which produce
values outside of specified limits will be reset to default
settings. Individual entries should be separated by
spaces.
e.g. DML -a123456 -mh -x10 -y20 -w600 -h200
Under certain circumstances DML may be used to
recover data lost because of software failure. To attempt
this try the following technique, (No guarantees !!).
Re-boot the computer in exactly the same way as before
the crash but ensure that the program in use does not load in
a file, if the program is not multi-tasking via the
amigados RUN commmand (or from Workbench) then exit and
RUN <program>, once again ensuring no file is loaded or
specifying a dummy file, e.g. Nil: if required.
You may now launch DML and use the search,block and save
commands to attempt to recover data, (Good luck).
To use DML as an aid to de-bugging it is necessary to
set up a pattern within the program to be investigated to
allow DML to search for the code and then monitor the
program variables as they are changing. The code for which
DML is going to search should be modified at run time so
that the search does not find a copy of the program in Ram
disk or an old version still in memory.
LIBRARY REQUIREMENTS
--------------------
Exec.library
Intuition.library
Graphics.library
Dos.library - Not essential but print and
save options will not be available without it.
A. Warriner
24, Stuart Gardens
Throckley
Newcastle
NE15 9LS