home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / CTMAP098.ZIP / CTMAP098.DOC < prev    next >
Text File  |  1991-03-15  |  15KB  |  366 lines

  1. CTMAP 0.98 - DOS Memory manager/extender for 80286, 80386 and '386SX "AT"
  2.              computers which use Chips & Technologies DRAM controller chips.
  3.  
  4. LOADHIGH 0.98 - Makes memory-resident software load in "Upper" RAM.
  5.              Especially useful for network drivers like Novell's IPX,
  6.              NET3 and NET4.
  7.  
  8.  
  9.  Copyright 1989-1991, Burton Systems Software.  All rights reserved.
  10.  
  11.                        Burton Systems Software
  12.                   P.O. Box 4156, Cary, NC 27519 USA
  13.         Tel: (919) 233-8128    FAX: 233-0716    BBS: 233-0106
  14.  
  15.  
  16. OVERVIEW
  17. --------
  18.  
  19. The CTMAP package contains two programs: CTMAP and LOADHIGH.
  20.  
  21. CTMAP:
  22.  
  23. If you are using an 80286, 80386 or 80386SX computer which has a Chips
  24. and Technologies 82C212 "NEAT" chip set, an 82C235 "SCAT" chip, or an
  25. 82C302 or 82C307 "CHIPSET" DRAM controller chip, CTMAP can increase the
  26. amount of usable RAM memory available to DOS from the usual 640K to as
  27. much as 944K, depending on what eluse you have installed in your computer.
  28.  
  29. If you do not use EGA or VGA graphics, them 64 or 96K of this additional
  30. memory will usually be contiguous with the 640K of memory which DOS
  31. normally uses, increasing that area to 704K or 736K.  Additionally, CTMAP
  32. can enable DOS to use up to 240K of discontiguous RAM, located above the
  33. display adapter RAM and below the ROM BIOS.  However, some programs can't
  34. use discontiguous RAM (and CHKDSK ignores it).
  35.  
  36. CTMAP has a significant advantage over other commercial 80386-only memory
  37. managers like 386-MAX and QEMM (which are trademarks or their respective
  38. vendors).  CTMAP does not put the CPU into protected mode, nor does it
  39. install a TSR or device driver, so it is HIGHLY COMPATIBLE with protected-
  40. mode 80286 and 80386 software.
  41.  
  42. In fact, IT EVEN WORKS with OS/2 1.2's "DOS Compatibility Box!"
  43.  
  44. LOADHIGH:
  45.  
  46. LOADHIGH is used to make programs (especially TSRs) load in "upper" memory
  47. (the RAM that CTMAP enables above 640K, between the video display RAM and
  48. the ROM BIOS).
  49.  
  50. By installing your TSRs in upper memory, you can further increase the
  51. amount of contiguous low memory available for those application programs
  52. which will not directly utilize upper memory.
  53.  
  54.  
  55. CTMAP
  56. -----
  57.  
  58. For operating instructions, run CTMAP like this:
  59.  
  60.         CTMAP ?
  61.  
  62. Typical usage with EGA or VGA adapter is:
  63.  
  64.         CTMAP /A -A -B
  65.  
  66. Typical usage with non-VGA monochrome adapter is:
  67.  
  68.         CTMAP /A
  69.  
  70. If you use "EMS"/"XMS"/"LIM"/"expanded" memory on your computer, you may
  71. also have to add either the "-D" switch or the "-E" switch prevent CTMAP
  72. from interferring it.
  73.  
  74.  
  75. LOADHIGH
  76. --------
  77.  
  78. For operating instructions, run LOADHIGH like this:
  79.  
  80.         LOADHIGH ?
  81.  
  82.  
  83.  
  84. TERMINOLOGY
  85. -----------
  86.  
  87. These seem to be the most generally accepted terms for the various kinds
  88. of memory on IBM-compatible PCs:
  89.  
  90. K or kilobyte   = 2**10 = 1024 bytes.  But some people use this term to mean
  91.                   10**2 = 1000 bytes.  In this document, we use the regular
  92.                   "1024" meaning.  It is a curious fact that 2**10 & 10**2
  93.                   are almost (but not quite) equal.
  94.  
  95. M or megabyte   = 1024K = 1024x1024 = 1,048,576 bytes.  But occasionally this
  96.                   term is used to mean 1,000,000 bytes (which is why your
  97.                   "100 megabyte" disk drive may only hold 95.4 megabytes).
  98.  
  99. EXTENDED MEMORY = RAM which is above 1M+64K.  But sometimes this term is used
  100.                   to refer to all memory above 1M, including the HIGH memory.
  101.                   Not available on 8088 ("XT") computers.
  102.  
  103. HIGH MEMORY     = 64K of RAM above 1M and below 1M+64K (used by Microsoft
  104.                   HIMEM.SYS driver).  However, this term is also sometimes
  105.                   used to refer to UPPER memory (below).  Not available on
  106.                   8088 computers.
  107.  
  108. UPPER MEMORY    = RAM which is above the DISPLAY memory but below the BIOS.
  109.                   Usually between 756K and 960K.  Sometimes called "high
  110.                   memory."  Unfortunately, the built-in "help" screens in
  111.                   CTMAP and LOADHIGH use the term obsolete term "high memory"
  112.                   to refer to this region; one of these days we'll fix them.
  113.  
  114. EXPANDED MEMORY = Any of several types of additional RAM which is accessed
  115.                   via a "page frame segment" (usually 64K long) in the UPPER
  116.                   memory region.  Also called EMS, XMS, or LIM memory.
  117.  
  118. DISPLAY MEMORY  = The special RAM used by display adapters, generally addressed
  119.                   somewhere between 640K and 764K.
  120.  
  121. LOW MEMORY      = The normal DOS RAM between 0K and the DISPLAY memory.
  122.  
  123.  
  124.  
  125. HOW IT WORKS
  126. ------------
  127.  
  128. CTMAP is a simple program.  Mainly, what it does is manipulate the
  129. hardware registers in the C&T DRAM controller chip to enable the "extra"
  130. RAM which is already there on your computer, then it patches up the DOS
  131. memory control block chain so that DOS "knows about it."
  132.  
  133. The DOS memory control block chain is documented in a number of places.
  134. See, for instance, the Microsoft's MS-DOS Encyclopedia, or the Turbo
  135. Pascal source code for Kim Kokkonen's famous MAPMEM utility.
  136.  
  137. LOADHIGH is even simpler than CTMAP.  Mainly what it does is patch the
  138. "owner" field in DOS memory control blocks so that DOS considers them
  139. used or available.
  140.  
  141.  
  142.  
  143. CAVEATS, PROBLEMS, ETC.
  144. -----------------------
  145.  
  146. 1) No warranties of any kind are expressed or implied.  Use at your own risk.
  147.  
  148. 2) If you find that some I/O device or an EMS/EMM/LIM "expanded" memory
  149. card or driver fails when you use "CTMAP /A", you can use explicit "-xx"
  150. options to prevent CTMAP from using particular areas of RAM.  We suggest
  151. trial and error to determine which memory segments you can and cannot
  152. allow CTMAP to use.  For display adapters, the most likely culprits are
  153. the A and B segments.  For EMS/EMM/LIM (expanded memory) problems, the D
  154. or E segment (but not both!) is usually at fault.  Examples:
  155.  
  156.     VGA/EGA systems:        CTMAP -A -B /A
  157.     For EMM at D000:        CTMAP -D /A
  158.     For EMM at E000:        CTMAP -E /A
  159.     VGA/EGA + EMM at D000:  CTMAP -A -B -D /A
  160.     VGA/EGA + EMM at E000:  CTMAP -A -B -E /A
  161.  
  162. 3) A few TSRs may not work when loaded in upper memory.  In particular,
  163. TSRs which increase the size of the keyboard type-ahead buffer cannot
  164. work when loaded in upper memory.
  165.  
  166. 4) We've noticed that some command line editor programs get confused
  167. about which retrieval buffer to use if they are loaded in upper memory or
  168. if they are loaded before CTMAP and LOADHIGH are run.  DOSEDIT, NDOSEDIT
  169. and RETRIEVE have this problem, so if you use one of them, you should
  170. install it at the end of your AUTOEXEC.BAT, after the "LOADHIGH OFF".
  171. However, CED and PCED (two other popular command line editors) do not
  172. seem to have this problem.  We've not yet tried ANARKEY or ALIAS (other
  173. command line editors).
  174.  
  175. 5) So far, we have been unable to make device drivers load in upper memory.
  176. If you are an expert on the guts of DOS and know how to do this, we'd
  177. welcome the help.  In the meantime, we suggest that users of CTMAP use
  178. a TSR-style RAMDISK or CACHE program instead of DOS's VDISK or RAMDRIVE,
  179. or else (if you have more than 1 megabyte of RAM memory), run it with the
  180. buffer in extended or expanded memory.
  181.  
  182. 6) We're using undocumented DOS features to manipulate the DOS memory
  183. pool, so we cannot guarantee compatibliity with future DOS releases.
  184. If you have a problem, let us know - perhaps we can solve it.
  185.  
  186. 7) We recommend the use of Chris Dunford's PMAP program to display the
  187. DOS memory pool.  It is very similar to Kim Kokkonen's MAPMEM, but it
  188. does a better job of displaying information about "upper" memory.  If
  189. you received CTMAP on diskette, you may have also received a copy of
  190. PMAP; otherwise, look for PMAP132.ZIP on your favorite BBS.  However,
  191. PMAP is not a part of the CTMAP package!  PMAP is a different product,
  192. from a different company; see PMAP.DOC for license information and legal
  193. restrictions on the use and distribution of PMAP.
  194.  
  195. 8) Note that some programs, such as MAPMEM and DOS CHKDSK, will not
  196. display information about DOS RAM above the video display.  Also,
  197. Norton-SI will tell you about upper RAM... but will not tell you whether
  198. it is part of the DOS memory pool.  This does not mean that CTMAP did
  199. not work!  You can run "LOADHIGH OFF" for a quick display of available
  200. RAM (do it before and after running CTMAP to see the difference!).
  201. Better yet, use Chris Dunford's PMAP (for details, use "PMAP /R").
  202.  
  203.  
  204. LANs
  205. ----
  206.  
  207. Most local area network adapters use some upper address space.  CTMAP
  208. will generally detect the LAN adapter RAM and/or ROM, and not enable
  209. general purpose RAM at that address.  In other words, CTMAP will
  210. probably not interfere with your LAN, but the presence of the LAN
  211. adapter will probably reduce the amount of RAM which CTMAP can add to
  212. DOS's memory pool.
  213.  
  214. If you can choose the memory address for your LAN card, it is a good
  215. idea to try to pick an address adjacent to either the ROM BIOS (at
  216. F0000) or the display RAM (the address depends upon your display
  217. adapter).  This will allow CTMAP to add the upper memory to DOS's
  218. memory pool as one big chunk of memory instead of two little chunks,
  219. so that bigger programs will fit in it, with less wasted RAM.
  220.  
  221. Example:
  222.  
  223. We once used Novell Netware on an Arcnet, using Network Innovations'
  224. PcARC network adapter.  It uses 16K of RAM at an address which is
  225. selected by DIP switches on the board.  The most common setting, and
  226. the one expected by Novell's ANET3.COM program is:
  227.  
  228.         D0000 (the default)
  229.  
  230. However, we relocated it to:
  231.  
  232.         EC000 (just below the BIOS RAM)
  233.  
  234. (Note: the Network Innovations documentation refers to these addresses
  235. as D000H and EC00H.)
  236.  
  237. To use the reconfigured card with one version of Novell Netware, it was
  238. necessary to patch ANET3.COM.  That version of Netware uses a 50605 byte
  239. version of ANET3.COM, dated 05/16/88.  When run with the "I" option it
  240. displays:
  241.  
  242.     Advanced/SFT NetWare V2.01-2 Workstation Shell for PC DOS V3.x
  243.     Copyright (c) by Novell, Inc.  1983, 1987
  244.     LAN Option: Standard Microsystems ARCNET
  245.  
  246. That version of ANET3.COM is fairly easy to patch (if you are comfortable
  247. using DOS debug).  Simply use DOS debug to search the file for the eight
  248. instances of 00 D0, and change all eight instances to 00 EC.
  249.  
  250. Later, we upgraded to a newer version of Netware which had to be patched
  251. differently.  Instead of ANET3.COM, it has programs named IPX.COM and
  252. NET3.COM (or NET4.COM).
  253.  
  254. IPX.COM is the program which needs to be patched.  Ours was 27966 bytes
  255. long, dated 8/25/89.  When installed for our LAN card, it displayed:
  256.  
  257.     Novell IPX/SPX V2.15
  258.     (C) Copyright 1985, 1988 Novell Inc.  All Rights Reserved.
  259.     LAN Option: Standard Microsystems ARCNET/Pure Data  V1.00
  260.     Hardware Configuration: IRQ = 2, I/O Base = 2E0h, RAM Buffer at D000:0
  261.  
  262. In our case, it was easy to patch the IPX.COM memory address.  We simply
  263. used DOS debug to search the file for the first instance of 00 D0, and
  264. we changed it to the desired address (00 EC, in our case).  For esthetics,
  265. we also patched the string which follows to indicate the proper address
  266. ("EC00:0" instead of "D000:0"), so that the patched version of IPX.COM
  267. displays the proper address when it is installed:
  268.  
  269.     Hardware Configuration: IRQ = 2, I/O Base = 2E0h, RAM Buffer at EC00:0
  270.  
  271. IPX.COM contains a table of 18 combinations of hardware settings; the spot
  272. we patched was the first entry in the table.  If your LAN uses a different
  273. interrupt level (IRQ) or I/O Base, you'll have to patch a different table
  274. entry.
  275.  
  276.  
  277. LICENSE
  278. -------
  279.  
  280. This software is not free.  You may try it out on your computer(s) at no
  281. cost, but if you like it and decide to continue using it, or if you add
  282. it to your AUTOEXEC.BAT, then you must register it at a cost of $30 per
  283. computer.
  284.  
  285.  
  286. REGISTRATION
  287. ------------
  288.  
  289. Register by sending $30 per computer to:
  290.  
  291.     CTMAP 0.98 registration
  292.     Burton Systems Software
  293.     P.O.Box 4156, Cary, NC 27519  USA
  294.  
  295. Please include the following:
  296.  
  297.   Your full name, your company (if any), your telephone number(s), your
  298.   mailing address (including country), the number of computers you are
  299.   registering for use of CTMAP 0.98, the brands and models of your
  300.   computers & your version of DOS, and your payment of $30 US (or $40
  301.   Canadian) per computer.  Also, please answer the questions:  "Are you
  302.   a programmer?  In what computer languages?"
  303.  
  304. Payment should be by check or money order on a US or Canadian bank, or
  305. by Visa, MasterCard or EuroCard charge.  If paying by credit card, please
  306. be sure to include your credit card number, expiration date, type of card
  307. (Visa or MC), and the name on the card; and please sign your letter.  Or,
  308. with a credit card, you can register by telephone or FAX.  Our telephone
  309. is (919) 233-8128, our FAX is (919) 233-0716, our BBS is (919) 233-0106.
  310.  
  311.  
  312. DISTRIBUTION
  313. ------------
  314.  
  315. You are encouraged to give copies of this software to your friends and
  316. colleagues for trial on their computers.  You are free to "upload" this
  317. software to any computer bulletin board system (BBS).  You may charge
  318. recipients of this software a fee of no more than $6 US plus the cost
  319. of the distribution media, provided that purchasers are forewarned that
  320. continued use requires registration with Burton, and that registration
  321. costs $30. However, under no circumstances may "patched" or otherwise
  322. modified copies of this software be distributed without prior written
  323. permission from Burton.
  324.  
  325. Manufacturers and distributors of computer equipment should contact
  326. Burton to purchase distribution licenses for customized versions of this
  327. software.
  328.  
  329.  
  330. DISCLAIMER OF WARRANTY
  331. ----------------------
  332.  
  333. No warranty is expressed or implied.  Use this software at your own risk.
  334. However, if you encounter problems, or if you have suggestions for
  335. improvement, we would like to hear from you.
  336.  
  337.  
  338. WHO ARE WE?
  339. -----------
  340.  
  341. Burton Systems Software is a commercial software development company
  342. located in Raleigh, North Carolina.  We specialize in systems software
  343. and software development tools for programmers.  We are best known for our
  344. TLIB (tm) Version Control System for MS-DOS (and soon for OS/2).  TLIB is
  345. the fastest, most powerful, and easiest to use version control software
  346. available for PCs.  It elegantly solves many of the headaches attendant
  347. to software development.  But don't take our word for it - give us a call,
  348. and we'll gladly send you more information, including a long list of
  349. quotes from enthusiastic magazine reviewers.  Or try it out - TLIB comes
  350. with a full 90 day warranty (unlike CTMAP!).  Our telephone number is
  351. (919) 233-8128.
  352.  
  353.  
  354. BONUS!
  355. ------
  356.  
  357. When you register CTMAP, you'll receive a coupon worth $30 off the price
  358. of a TLIB Version Control System.  You may also receive an updated
  359. version of CTMAP (at our option), if we have improved it significantly
  360. since 19-Feb-91.
  361.  
  362. Note to TLIB customers: if you got CTMAP with TLIB, you can register for
  363. free - sort of a pre-redeemed coupon.  Just mention your TLIB serial
  364. number in a letter which says "I'm using CTMAP; please register me."
  365.  
  366.