home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Current Shareware 1994 January
/
SHAR194.ISO
/
diagutil
/
mm42s.zip
/
MM.DOC
< prev
next >
Wrap
Text File
|
1993-09-05
|
11KB
|
306 lines
Memory Map (MM) v4.2S Documentation (Shareware Version)
Copyright (c) 1992-1993 Andrew Powell
Features
────────
■ Displays Location of Master Environment
■ Help Screen
■ Auto Configuration from Environment ** Registerd Version Only **
■ 'Easy' Mode Available ** Registerd Version Only **
■ Automatically Pauses Between Pages
■ Reports Total and Free Memory
■ Will Run Under MS-Windows(r)
■ Fast
■ Optional Display of DOS v5.0 UMB Usage ** Registerd Version Only **
■ Optional Display of Upper Memory Blocks
■ Optional Display of Device Driver Chain
■ Optional Display of Current Environment
■ Optional Display of Master Environment ** Registerd Version Only **
The following documentation is based on this shareware version!!
Command-Line
────────────
If you run MM without any options on the command line you will
get the default display. The default display with no command
line options and no environment variable is a fairly technical
display of the contents of memory. Below is a list of all the
command line options. You can also get this list by running MM
with the /? as follows:
MM /?
Here is a list of all the available options in this shareware
version:
Option What it does
/d List Device Drivers
/ec Display Current Environment
/b Show DOS v5.0+ Upper Memory Blocks
/? Help List
Examples:
- To see a list of installed device drivers type:
MM /d
- To see a the current environment type:
MM /ec
The Display
───────────
When you run MM without any parameters you get a list of all the
Memory Control Blocks (MCBs) and relevant information. You also get
the amount free memory and whether UMBs are used (even if not
displayed). The top of the display looks like this:
Total DOS Memory xxxK DOS version: m.mm
Free Memory yyyK DOS 5+ UMBs: [Yes/No]
EBDA Allocated [No/Yes sizeK] Processor: [pro. type]
Total DOS Memory
────────────────
The total amount of Low (below 640K) memory. This field is
usually 640K but can be lower on some IBM PS/2 models because
of the Extended BIOS Data Area (EBDA). This is an area of
memory used to store some configuration infomation for the
BIOS. This area can be as little as 1K and usually sits at
the top of memory (This will not show up on the memory list.)
Free Memory
───────────
The largest available memory block, i.e. The largest
executable program size. This is the maximum amount of
memory a program can use. It is usually about 550K, but
with modern memory managers (like 386MAX, QEMM) the
amount of free memory can be about 618K.
DOS Version
───────────
The DOS version currently running. This is cannot be
changed by the DOS 5+ SETVER program.
DOS 5+ UMBs
───────────
Reports whether UMBs are available for use regardless
wether the are displayed.
EBDA Allocated
──────────────
If this field shows Yes the Extended BIOS Data Area (EBDA)
is allocated the size size in kilobytes is also shown. The
field is No, if the EBDA is not allocated. For more
infomation see the section Total DOS Memory.
Processor Type
──────────────
This field is the processor type. The processor is the
main microchip in the computer. It controls the entire
computer and carries out all program execution and
arithmetic. The types this program can detect are as
follows:
Intel 8088
Intel 8086
NEC V20
NEC V30
Intel 80188
Intel 80186
Intel 80286
Intel 80386SX
Intel 80386DX
Intel 80486
The memory status display shows infomation an the Memory
Control Blocks (MCBs). Memory is split into blocks, each
block in owned by a program. The MCB holds infomation
about the block and the name of the program which ownes
it. Each field of the memory status display is outlined below.
MCB
───
The segment in memory of the MCB. PC Memory is split
into 64K segments. The first segment starts at
absolute address 0. This is written in Segment:Offset
form as 0:0. From then a new segment begins at each
16 byte interval. There are A000h (40960) segments
in the 640K low memory. An MCB begins at Seg:0.
PSP
───
The Program Segment Prefix (PSP) that owns the MCB.
A PSP is a 256 byte block that contains infomation
about a program in memory.
Parent
──────
The Parent PSP of the PSP that owns the MCB. The parent
PSP is usually the PSP of the program that executed the
owner of the current MCB. The DOS shell, i.e. COMMAND.COM
is its own parent.
Size
────
The size in bytes of the area that the MCB controls.
Env.
────
If this field is blank, this is not the MCB of an
environment.
If this field has one box '■' in it, it is an MCB
that controls an environment.
If this field has two boxes '■■' in it, it is the MCB
that controls the master environment. The master environment
is the environment of the current primary command
interpreter. This routine will fail if you load another
copy of COMMNAD with the /P (primary) switch. The Master
Environment is not shown in Easy mode.
Owner
─────
The name of the program that owns the MCB with the
following exceptions:
<DOS Shell> is the command interpreter, usually COMMAND.COM
<DOS Kernel> is MSDOS.SYS (or IBMDOS.COM)
<Free> is a free block
<N/A> means the name cannot be determined
Hooked Interrupts
─────────────────
This is a list of all the interrupts that point into
the area controlled by the MCB.
Command Line ** Registed Version Only **
────────────
The command line of the program as it was run.
This is taken from the PSP. The command line might not
be available because DOS also puts the default DTA
(Disk Transfer Area) in the same place.
** Easy Mode and UMB Usage are available in the Registerd Version Only **
If MM is run in 'Easy' mode the display will be slightly different.
It will show the PSP, Size, Env., Owner, Command Line, and some
Hooked Interrupts. (See Hooked Interrupts section) If MM is run with
the /u switch to show UMB Usage, the UMB Usage will follow on from
the normal MCBs display in the same format.
Device Driver List
──────────────────
This is shown using the /d switch
A device driver is a program which provides standerdised access
to any perhiphial attached to the computer.
Device Name
───────────
If it is a character device driver it will display
the name of the device driver. Otherwise, if it is
a block device driver it will display the number of
block devices (disk drives, CD-ROMs, etc.) it controls.
High
────
If the field is blank, the device driver is loaded in
low memory. (below 640K)
If the field one box '■' in it, the device driver is
loaded in an UMB.
Upper Memory Blocks
───────────────────
This shows the actual UMBs and their addresses in memory but
does not show their usage. You can only see their usage in
the registered version.
Start
─────
The Segment in memory where the UMB begins. For more
infomation see section on MCBs
Size
────
The Size in bytes of the UMB.
Type
────
This can be either 'UMB' which means it is
an Upper Memory Block, or 'SM' which means
a gap between UMBs or a name, eg. COMPAQ
for COMPAQ CEMM Memory Manager.
Environment [Current / Master] ** Master in Registerd Version Only **
──────────────────────────────
This shows the current environment, which is the
environment used by the current program being executed
[This Program], or the master environment, which is
the environment of the <Dos Shell>.
Env. Variable
─────────────
The name of the environment variable.
Contents
────────
The contents of the environment variable.
Return Codes
────────────
These are numbers which can be detected by the DOS ERRORLEVEL
command. They return infomation about how the program ran.
In MM the return codes are as follows:
0 - The program run without any problems
255 - Wrong DOS Version
254 - A bad command line option
253 - MM was loaded high (with DOS 5+ LOADHIGH command)
252 - No Upper Memory Blocks (when using /b switch)
To use these codes you make a batch file with a line as follows:
IF ERRORLEVEL == 252 THEN GOTO ERROR
This means that if a number of 252 OR GREATER has been returned
goto the label ERROR.
A sample batch file has been included with this program called
MMRUN.BAT
Notes
─────
This program is compressed with LZEXE v0.91
<END>