
				      MAP
			       Memory map for DOS

			   Copyright Jason Hood 2002

			     Freeware. Version 3.0

			Based on MAP 2.0 by Sulyok Peter


  ===========
  Description
  ===========

  Map is a program to display the programs occupying memory, or  the  complete
  memory  chain.  It  can  also display the device driver and high memory area
  (HMA) chains, and the interrupt vectors.


  ============
  Requirements
  ============

  DOS 5+
  DOS 7+ (Win9X) to display the HMA list.
  386+


  =====
  Usage
  =====

  An option begins with "-" or "/"; anything else is taken as the  name  of  a
  program. The options available are:

	-c	  list of programs in conventional memory
	-u	  list of programs in upper memory
	-f[c|u]   full list of memory blocks
	-d	  list of device drivers
	-i[list]  list of interrupt vectors (in hexadecimal)
	-a	  list of HMA
	-o addr   determine the owner of addr


  With no options, MAP	will  display  all  programs  and  device  drivers  in
  conventional	and  upper  memory  (if  available), along with the total free
  space and the largest free block for each. The information displayed is:

	mcb	the segment containing the memory control block (hex)
	para	the number of paragraphs in the block (hex)
	size	the size of the block (bytes = para * 16)
	name	the name of the block
	type	the type of the block

  A blank line indicates the separation between  regions.  The	first  divides
  conventional	memory	and upper memory; subsequent blank lines are different
  upper memory regions.


  c - Conventional memory
  u - Upper memory

  These options will only display the programs	and  device  drivers  for  the
  selected memory type.


  f - Full list

  The complete chain of memory blocks is displayed. If immediately followed by
  a  "c"  or  "u", only conventional or upper memory blocks will be displayed.
  In addition to everything displayed above, interrupt vector(s) pointing into
  the  block are included. MAP itself is not included, being marked as "free".
  Some items are indented - these are subsegments of the enclosing segment.


  d - Device drivers

  The complete chain of device drivers. The information displayed is:

	address 	the address of the device driver header
	stgy		the offset of the strategy routine
	intr		the offset of the interrupt routine
	attr		the attributes of the device
	name		the device driver's name
	program 	the program driving the device, if available

  A name of "(unused)"  indicates  a  block  device  that  does  not  have  an
  associated drive parameter block.


  i - Interrupt list

  Display the address and program name for a list of  interrupt  vectors.  The
  list	is  a  series  of  hexadecimal	numbers. A hyphen ("-") can be used to
  select a range of interrupts. Eg: "map /i10,0-8,20" will display vector  10,
  all vectors from 00 to 08, then vector 20. The default list is:

	08	Timer (IRQ0)
	09	Keyboard (IRQ1)
	10	Video
	16	Keyboard (BIOS)
	1c	Timer tick
	21	DOS
	2d	Alternate multiplex
	2f	Multiplex (Windows)
	33	Mouse

  It attempts to trace the chain of an interrupt vector, but this may  not  be
  wholly  accurate  (it  works	fine for me, though). Addresses that reside in
  system memory will not be displayed, unless it is the only address.


  a - HMA list

  Display the list of high memory area blocks. This will only work in  DOS  7+
  (Win9X);  earlier  versions  will only display the available free space. The
  addresses in the HMA are all at segment FFFF.


  o - Owner

  Given an address, display the name of the block owning it. The address is in
  hexadecimal,	and  can  be  of  the  form  "xxxx",  "xxxxy",  "xxxxyyyy"  or
  "xxxx:yyyy", where "xxxx" is the segment and "yyyy" the offset.


  =======
  Contact
  =======

  mailto:jadoxa@yahoo.com.au
  http://map.adoxa.cjb.net/

  Jason Hood
  11 Buckle Street
  North Rockhampton
  Qld 4701
  Australia


  ============
  Distribution
  ============

  The original zipfile can be freely distributed, by  any  means.  However,  I
  would like to be informed if it is placed on a CD-ROM (other than an archive
  compilation).  Modified versions may be distributed, as long as the original
  zipfile is included (I would prefer to be contacted).


  ============================
  Jason Hood, 9 October, 2002.
