Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!zaphod.mps.ohio-state.edu!wuarchive!uunet!pilchuck!amc-gw!jwbirdsa From: jwbirdsa@amc.com (James Birdsall) Newsgroups: comp.sys.ibm.pc.misc Subject: Re: What's so special about the UMB? Message-ID: <1991May31.174949.21576@amc.com> Date: 31 May 91 17:49:49 GMT References: <1991May30.213856.1@freke.claremont.edu> Reply-To: jwbirdsa@europa.amc.com (James Birdsall) Organization: Applied Microsystems, Redmond, WA Lines: 27 In article <1991May30.213856.1@freke.claremont.edu> dhosek@freke.claremont.edu (Don Hosek) writes: >What is it about the first 64K of extended mem that makes it so >special to DOS 5.0, DESQview, et alia? It seems that there should >be no more trouble accessing any other 64K block of extended mem >than the UMB, but I'm acknowledgedly ignorant of such things... First, terminology: what you are talking about is normally referred to as the HMA (high memory area); it is the first 64K - 16 bytes of extended memory. UMBs (upper memory blocks) are random blocks of memory that may exist between 640K and 1M. The HMA, UMBs (if any), and extended memory are all covered in the XMS specification. What's so special about it? Well, due to a bug in the 286, it is possible to access the HMA from real mode. When adding a segment and offset, the overflow (21st bit) is supposed to be thrown away in real mode. On the 286, it isn't necessarily. Therefore, if the A20 line (21st address line) is enabled and the segment and offset values are set up properly, it is possible to get at nearly the first 64K of extended memory. I forget whether this bug was deliberately kept in the 386, or whether it is emulated in another way, but nearly all 386-and-up systems can perform this trick as well. -- James W. Birdsall WORK: jwbirdsa@amc.com {uunet,uw-coco}!amc-gw!jwbirdsa HOME: {uunet,uw-coco}!amc-gw!picarefy!jwbirdsa OTHER: 71261.1731@compuserve.com "The OS shouldn't die every time the controller drools on a sector." -- a sysop =========== "For it is the doom of men that they forget." -- Merlin ===========