Jan 132018
 
The Extended Memory Utility (EMU) is a DOS utility for displaying, debugging and changing the contents of extended memory.
File EMU.ZIP from The Programmer’s Corner in
Category System Diagnostics
The Extended Memory Utility (EMU) is a DOS utility for displaying, debugging and changing the contents of extended memory.
File Name File Size Zip Size Zip Type
EMU.DOC 34881 7044 deflated
EMU.EXE 10353 5239 deflated

Download File EMU.ZIP Here

Contents of the EMU.DOC file















EMU
Version 1.00

Extended Memory Utility



REFERENCE MANUAL






































(C) Copyright John Purins, 1990, All rights reserved

CONTENTS 1
--------------------------------------------------------------------


LICENSE AGREEMENT .............................. 2

WARRANTY ....................................... 3

INTRODUCTION ................................... 4

STARTING EMU ................................... 5

COMMANDS ....................................... 6

COMPARE .................................... 8
DUMP ....................................... 9
ENTER ...................................... 10
FILL ....................................... 12
HELP ....................................... 13
LOAD ....................................... 14
MOVE ....................................... 15
NAME ....................................... 16
QUIT ....................................... 17
SEARCH ..................................... 18
WRITE ...................................... 19

MESSAGES & RETURN CODES ........................ 20

LICENSE AGREEMENT 2
--------------------------------------------------------------------


The term software refers to the enclosed program and documentation.

The software is the copyrighted property of John Purins.

LICENSE:

You are granted a limited license to use, copy and distribute the
software provided the following conditions are met:

1. No fee is charged for the use, copying or distribution of the
program and documentation.

2. The program and documentation may not be modified in any manner.

3. The program is distributed complete with the original
documentation.

4. Excluding bulletin boards, the program and documentation are not
distributed as part of any commercial product or service.

5. You may not sublicense, rent, lease, sell or assign the software
or any copy thereof.

You may terminate the license at any time by destroying all your
copies of the software.

This Agreement is governed by the laws of the State of California.

WARRANTY 3
--------------------------------------------------------------------


THE SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTY OF ANY KIND.

No warranty is provided that the functions contained in the program
meet your requirements or that the operation of the program will be
uninterrupted or error free.

This document may contain technical inaccuracies or typographical
errors.

INTRODUCTION 4
--------------------------------------------------------------------


The Extended Memory Utility (EMU) is a DOS utility for displaying,
debugging and changing the contents of extended memory.

EMU commands and output are almost identical to the commands and
output of the DOS DEBUG.COM program. If you are familiar with the
use of DEBUG.COM, you will be able to use EMU productively with a
minimum of instruction. Other software which uses DEBUG.COM output
as input should also function properly with EMU.

Commands available with EMU are:

C (Compare) Compare the contents of two blocks of extended
memory.
D (Dump) Display the contents of a block of extended memory
or redirect the dump to a file.
E (Enter) Change one or more bytes of extended memory.
F (Fill) Fill a block of extended memory with specific
values.
H (Help) Display EMU command syntax and version number.
L (Load) Load a file into extended memory.
M (Move) Move a block of extended memory from one location
to another.
N (Name) Specify the file for the Load or Write commands
or display the name of the file currently in use.
Q (Quit) End the EMU program and return to DOS.
S (Search) Search a block of extended memory for specific
values.
W (Write) Write a block of extended memory to a file.

There are no address or size restrictions with EMU commands except
that the minimum size is 1 byte and the maximum for any one command
is 65536 (64K) bytes. EMU can access up to 16MB of extended memory.

Redirection of input or output is fully supported.

Comment line support is included to enable documentation of
redirected input read from a file.

STARTING EMU 5
--------------------------------------------------------------------


EMU is started with the following command:

[d:][path]EMU

[d:][path] before EMU to specify the drive and path that
contain the EMU program.

There are no program parameters for EMU.

EMU will present a prompt of "-" and is ready to accept commands.
Refer to the COMMANDS section of this manual for a description
of each command.

EMU input and output can be redirected using the standard DOS
redirection facility. Refer to your DOS manual for information
on redirection.

EMU requires DOS version 2.00 or later.

EMU requires less than 74K of memory and returns all unused memory
to DOS.

EMU requires an IBM or compatible 80286, 80386 or 80486 machine with
extended memory installed.

COMMANDS 6
--------------------------------------------------------------------


The following format notation is used to describe EMU commands:

[] Items shown inside square brackets are optional parameters.
To use an optional parameter, enter only the information
inside the brackets. Do not enter the brackets.

CAPS Words shown in capital letters are required keywords.
Keywords can be entered in any combination of upper or lower
case letters.

lower Items shown in lowercase letters mean that you are to
provide the item. For example:

filename

indicates that you should enter the name of a file in place
of the word filename.

n Lower case n is used to represent a hexadecimal numeral.

EMU commands consist of a single letter usually followed by one or
more parameters. The parameters must be delimited from the letter
and from each other by at least one space.

Commands and parameters may be entered in any combination of upper
and lower case. The command and parameters are checked for validity
and no processing occurs if an error is encountered.

Commands are executed only after the ENTER key is pressed.

To facilitate documentation when EMU input is redirected, an entire
line can be designated as a comment by entering a semicolon as the
first nonblank character of the command line.

Control break may be pressed at any time to terminate the display of
large volumes of data and return to the EMU command prompt. Any
prior commands that have been executed are complete and changes may
have been made to extended memory.

Pressing F3 will redisplay the last command entered.

COMMANDS 7
--------------------------------------------------------------------


Most EMU commands require specification of an address. An address
is always specified as an absolute hexadecimal extended memory
location.

If a command requires the specification of two addresses, the first
address is referred to as the source and the second as the target.

The format for an address is: [[nn]nn:]n[nnn]

where the required low order part is to the right of the colon.

The low order part may contain from 1 to 4 characters since leading
zeros are not required; i.e. 000F and F are both valid and refer to
the same memory location.

If you specify the high order part of an address, you must use at
least two characters since extended memory begins at address
10:0000. The maximum size for the high order address is four
characters and the colon delimiter is required.

If no high order address is specified, the high order part defaults
to the address used in the last dump command. If no dump command
has been executed, the high order address of the start of extended
memory is used; e.g. 10:0000.

An address specification must not contain any imbedded blanks.

Some EMU commands also require a range parameter to specify the
number of bytes that the command will operate upon. The range
parameter can either be an offset or a length.

The format for range as an offset is n[nnn] where n is a valid
hexadecimal character. The value of the offset must be equal to or
greater than the low order part of the preceding address
specification, i.e. a block of memory is alway defined with the
address parameter specifying the lower address of the block.

The format for range as a length is Ln[nnn] where L is a required
keyword and n is a valid hexadecimal character. To specify a length
of 65536 (64K) enter a value of zero for n[nnn].

A length specification must not result in an address beyond the end
of extended memory.

COMPARE Command 8
--------------------------------------------------------------------


Purpose: Compare the contents of two blocks of extended memory.

Format: C address range address

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

range Any valid hexadecimal offset equal to or
greater than the low order part of the
preceding address or as a length specifying the
hexadecimal number of bytes to process. To
specify a length of 64K bytes enter a value of
zero. The value of length must not result in
an address beyond the end of extended memory.

Comments: The contents of the two blocks of memory are compared
with the length of the comparison determined by range.
If unequal bytes are found, the addresses and contents
of both memory locations are displayed in the format:

address1 byte1 byte2 address2

where address1 and byte1 refer to the first address
specified in the compare command and address2 and
byte2 refer to the second address.

Pressing control break will interrupt this command and
return you to the EMU command prompt.

Example: C 10:0000 0001 10:0A00 would compare the two bytes of
extended memory starting at address 10:0000 with
the two bytes starting at 10:0A00.

The display would be: 10:0001 30 31 10:0A01

if the memory at address 10:0000 contained the values
30h 30h and the memory starting at 10:0A00 had 30h 31h.

DUMP Command 9
--------------------------------------------------------------------


Purpose: Display the contents of a block of extended memory.

Format: D [address[range]]

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

range Any valid hexadecimal offset equal to or
greater than the low order part of the
preceding address or as a length specifying the
hexadecimal number of bytes to process. To
specify a length of 64K bytes enter a value of
zero. The value of length must not result in
an address beyond the end of extended memory.

Comments: The contents of the specified block of extended memory
are displayed in dump format consisting of a hexadecimal
part and an ASCII part. The ASCII portion displays
unprintable characters (00h to 1Fh and 7Fh to FFh) as
periods. Each line of the dump begins from a paragraph
boundary and displays 16 bytes. The first and last
lines of the dump may have fewer than 16 bytes if the
starting and ending addresses of the dump are not on
a paragraph boundary.

If no address was specified the Dump command displays
128 bytes from the end of a previous dump or if no
previous Dump command was entered then the dump begins
at the start of extended memory. When the end of
memory is reached the dump command wraps around to the
start of extended memory.

If you do not specify a range then a default dump of 128
bytes is displayed. A range specification can not
exceed the end of extended memory.

Pressing control break will interrupt this command and
return you to the EMU command prompt.

Example: D 10:0000 L10 would dump 16 bytes of extended memory
starting from address 10:0000.

D 10:0000 F would display the same 16 bytes.

ENTER Command 10
--------------------------------------------------------------------


Purpose: Display and allow modification of extended memory
locations starting from the specified address in an
interactive and sequential mode.

Replace the contents of one or more bytes starting from
the specified address with the values of list.

Format: E address [list]

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

list A sequence of bytes specified either as 1 or 2
character hexadecimal values or as an ASCII
character string.

To specify a sequence of hexadecimal values
each byte must be delimited by a space.

An ASCII character string must be enclosed in
single or double quotes. To specify the
quotation mark as a character within the string
when it is also used to delimit the string,
enter it twice; e.g. "quotes "" in a string".

Comments: If the list parameter is used, the contents of extended
memory starting from the specified address are replaced
with the values of the list.

Example: E 10:0000 41 "B" 43 44 'EF' would change
the contents of extended memory starting at 10:0000 to
41h 42h 43h 44h 45h 46h. The same result could be
achieved with: E 10:0 41 42 43 44 45 46 or
E 10:0 'ABCDEF'.

If no list parameter is specified, the contents of
extended memory from the specified address to the next
paragraph boundary are displayed in dump format.
The cursor is positioned at the high order hexadecimal
character of the first byte in the hexadecimal portion
of the display and the system waits for your input.

Enter any valid hexadecimal character to modify the
byte at the cursor location or use the left or right
arrow keys to move the cursor to another location within
the displayed paragraph. When a byte is modified the
ASCII display is updated to show the current ASCII
character represented by the byte. Unprintable ASCII
characters (00h to 1Fh and 7Fh to FFh) are displayed as
periods.

ENTER Command 11
--------------------------------------------------------------------


Press carriage return (Enter) to write the changed bytes
to extended memory. The next 16 bytes of extended
memory are then displayed and can be modified.

Press the Escape key to exit the interactive mode of the
Enter command and return to the EMU command prompt.

Changes are not written to memory until the Enter key is
pressed. Thus, the Escape key can be used to cancel
writing the current paragraph to memory even if it has
been modified.

FILL Command 12
--------------------------------------------------------------------


Purpose: Fill a block of extended memory starting from the
specified address with the values of list.

Format: F address range list

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

range Any valid hexadecimal offset equal to or
greater than the low order part of the
preceding address or as a length specifying the
hexadecimal number of bytes to process. To
specify a length of 64K bytes enter a value of
zero. The value of length must not result in
an address beyond the end of extended memory.

list A sequence of bytes specified either as 1 or 2
character hexadecimal values or as an ASCII
character string.

To specify a sequence of hexadecimal values
each byte must be delimited by a space.

An ASCII character string must be enclosed in
single or double quotes. To specify the
quotation mark as a character within the string
when it is also used to delimit the string,
enter it twice; e.g. "quotes "" in a string".

Comments: If the list contains fewer bytes than the memory range
specified, the list is used repeatedly until the entire
block of memory has been filled.

If the list contains more bytes than the memory range
specified, the unused list bytes are ignored.

Example: F 10:0000 0004 "123" would fill 5 bytes
starting at 10:0000 with 31h 32h 33h 31h 32h.

F 10:0003 L4 '4' 35 '678' fills 4 bytes starting at
10:0003 with 34h 35h 36h 37h.

HELP COMMAND 13
--------------------------------------------------------------------


Purpose: Display a summary of EMU command syntax.

Format: H or ?

Remarks: The display also shows the version of EMU being used.

LOAD Command 14
--------------------------------------------------------------------


Purpose: Load the contents of a file into extended memory
starting at the specified address.

Format: L address

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

Comments: The file to be loaded must first be specified using the
Name command.

The file is read from the drive specified with the Name
command or from the default drive if no drive
specification was entered.

Any size or type file can be loaded into any part of
extended memory provided that a memory overrun does not
occur.

Example: N TESTFILE.EXT
L 10:0000

would load TESTFILE.EXT from the default drive and
directory into extended memory starting at address
10:0000.

MOVE Command 15
--------------------------------------------------------------------


Purpose: Move the contents of a block of extended memory from one
memory location to another.

Format: M address range address

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

range Any valid hexadecimal offset equal to or
greater than the low order part of the
preceding address or as a length specifying the
hexadecimal number of bytes to process. To

specify a length of 64K bytes enter a value of
zero. The value of length must not result in
an address beyond the end of extended memory.

Comments: The contents of the block of extended memory specified
with the first address and range are moved to the memory
location specified with the second address.

The data in the source memory location remains unchanged
unless overwritten by the move.

Overlapping moves do not cause a loss of data during the
transfer.

A block of memory can be moved to any other location
within extended memory provided that a memory overrun
does not occur.

Example: M 10:0000 L0000 10:0100

would move a 64K block of memory starting at address
10:0000 to address 10:0100.

The result is that the block of extended memory from
10:0100 to 11:00FF contains what was at address 10:0000
to 10:FFFF prior to the move.

NAME Command 16
--------------------------------------------------------------------


Purpose: Provide the file specification for use by subsequent
Load and Write commands.

Displays the file specification entered with a previous
Name command.

Format: N [[d:][path]filename[.ext]]

Comments: Enter the Name command with no file specification
parameter to display the current file in use.
The command prompt is redisplayed if no file is being
used.

The Name command with a file specification parameter
defines the file to be used by the Load and Write
commands.

The file specification must conform to DOS naming rules
for files and directories.

If no drive specification is entered then the default
drive is used. The default directory is used if no path
is specified.

Example: N A:TESTFILE.EXT

would set TESTFILE.EXT in the default directory of
drive A as the file to be used by subsequent Load and
Write commands.

QUIT Command 17
--------------------------------------------------------------------


Purpose: End the EMU program.

Format: Q

Comments: At termination EMU returns to DOS after setting the
ERRORLEVEL code as follows:

0: Normal completion
1: Abnormal completion.

These codes can be used with the DOS batch facility
IF command to control subsequent processing.

SEARCH Command 18
--------------------------------------------------------------------


Purpose: Search a block of extended memory for one or more
specific characters.

Format: S address range list

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

range Any valid hexadecimal offset equal to or
greater than the low order part of the
preceding address or as a length specifying the
hexadecimal number of bytes to process. To
specify a length of 64K bytes enter a value of
zero. The value of length must not result in
an address beyond the end of extended memory.

list A sequence of bytes specified either as 1 or 2
character hexadecimal values or as an ASCII
character string.

To specify a sequence of hexadecimal values
each byte must be delimited by a space.

An ASCII character string must be enclosed in
single or double quotes. To specify the
quotation mark as a character within the string
when it is also used to delimit the string,
enter it twice; e.g. "quotes "" in a string".

Comments: All matches are indicated by displaying the starting
addresses of the matching characters.

No addresses are displayed if no matches were found.

Example: S 10:0000 0004 "123" would search the 5 bytes
starting at 10:0000 for the values 31h 32h 33h.

The response would be 0010:0002 if the memory locations
starting at 10:0002 do contain 31h 32h 33h.

WRITE Command 19
--------------------------------------------------------------------


Purpose: Write the contents of a block of extended memory
starting at the specified address to a file.

Format: W address range

Parameters: address Any valid hexadecimal extended memory address
in the form of [[nn]nn:]n[nnn].

range Any valid hexadecimal offset equal to or
greater than the low order part of the
preceding address or as a length specifying the
hexadecimal number of bytes to process. To
specify a length of 64K bytes enter a value of
zero. The value of length must not result in
an address beyond the end of extended memory.

Comments: The file to be written must first be specified using the
Name command.

The Write command will write over an existing file or
create a new file if the specified file does not exist.

The file is written to the drive specified with the Name
command or the default drive if no drive specification
was entered.

No more than 65536 (64K) bytes can be written with a
single Write command.

Example: N \TESTFILE.EXT
W 10:0000 01FF

would write 512 bytes of extended memory starting at
address 10:0000 to TESTFILE.EXT in the root directory
of the default drive.

MESSAGES & RETURN CODES 20
--------------------------------------------------------------------


DOS 2.00+ required

EMU was started on a machine operating with a version of DOS
earlier than 2.00. EMU requires DOS version 2.00 or later.

EMU internal error: RCTABLE size exceeded

An internal error has occurred in the EMU program.
Obtain the current version of the software from CompuServe.

ERROR: address out of range

An address specified in a command is a location below the start
or beyond the end of extended memory. Extended memory begins at
address 10:0000. Re-enter the command using a valid extended
memory address.

ERROR: address required

The command used requires specification of an address and no
address was found. Re-enter the command with a valid extended
memory address.

ERROR: extended memory overrun

The specified block of memory extended beyond the end of
available memory or execution of the command as specified
would result in an address beyond the end of extended memory.
Re-enter the command so that the range does not exceed the end
of extended memory and the command operates within available
memory.

ERROR: file read truncated

An error occurred reading the specified file and the command was
not completed successfully. Resolve the disk or file problem
and re-enter the command.

ERROR: file write truncated

An error occurred writing the specified file and the command was
not completed successfully. The most common cause of this
message is insufficient disk space. Resolve the problem and
re-enter the command.

ERROR: invalid address

An address specified in a command was not in the proper format,
contained invalid hexadecimal characters or was not delimited by
at least one space. Re-enter the command with a valid address
specification.

MESSAGES & RETURN CODES 21
--------------------------------------------------------------------


ERROR: invalid command

The first character entered was not a valid EMU command or was
not delimited by at least one space. Re-enter a valid command
with a space delimiter.

ERROR: invalid drive

The character entered as a drive identifier was not a letter.
Re-enter the command with a valid drive specification.

ERROR: invalid file specification

The file specification does not conform to DOS path or file
naming rules or the path is too long from the current directory.
Re-enter the command with a valid file specification.

ERROR: invalid list data

The hexadecimal list data specified contains invalid characters
or each byte is not delimited by a space.

The ASCII list data specified is not delimited by single or
double quotes or contains one quotation mark used to delimit the
string within the string.

Re-enter the command with a valid list specification.

ERROR: invalid range

The specified range contained invalid hexadecimal characters,
was not delimited by a space or was a location in memory below
that specified with the preceding address parameter.
Re-enter the command with a valid range specification.

ERROR: list data required

A command was executed that requires the specification of
hexadecimal or ASCII list data and no list was found.
Re-enter the command with a list parameter.

ERROR: no extended memory installed

EMU was executed on a machine that does not have extended
memory.

ERROR: no file specified

A command was executed that uses a file and the file name has
not been specified. Execute the Name command with a file
specification parameter and re-enter the command.

MESSAGES & RETURN CODES 22
--------------------------------------------------------------------


ERROR: range required

A command was executed that requires the specification of a
range and no range parameter was found. Re-enter the command
with a range parameter.

ERROR: source address required

A command was executed that requires the specification of a
source address and no source address was found. Re-enter the
command with a source address parameter.

ERROR: target address required

A command was executed that requires the specification of a
target address and no target address was found. Re-enter the
command with a target address parameter.

SYSTEM ERROR return code: nn

nn is the hexadecimal DOS return code.

An error has occurred that prevents EMU from continuing
execution or completing execution of a command. EMU displays
the DOS error return code and DOS error message associated with
the return code.

Refer to your DOS manual or the DOS Technical Reference for an

explanation of the DOS message and error return code.


 January 13, 2018  Add comments

Leave a Reply