Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!rutgers!labrea!jade!ucbvax!cartan!jell-o!ballou From: ballou@jell-o (Kenneth R. Ballou) Newsgroups: comp.sys.ibm.pc Subject: Re: Question: expanded memory on 386 Message-ID: <1207@cartan.Berkeley.EDU> Date: Sun, 30-Aug-87 19:38:08 EDT Article-I.D.: cartan.1207 Posted: Sun Aug 30 19:38:08 1987 Date-Received: Sat, 12-Sep-87 10:08:17 EDT References: <2839@hoptoad.uucp> <804@unccvax.UUCP> Sender: nobody@cartan.Berkeley.EDU Reply-To: ballou@bosco.berkeley.edu (Kenneth R. Ballou) Organization: /usr/local/lib/organization Lines: 42 In article <804@unccvax.UUCP> cbenda@unccvax.UUCP (carl m benda) writes: >In article <2839@hoptoad.uucp>, flinn@hoptoad.uucp (Ted Flinn) writes: >> >> My Lotus 1-2-3 thinks there is 400K-odd memory available to it, >> despite my Compaq Deskpro having come with a 2M memory expansion. > -- Ted Flinn > > >Sorry Ted, but MS-DOS has a 640K byte limit. Unless >you use a DOS extender you can't have programs running above >the 1Meg address boundry untill OS/2 comes out. And even with >one of these so called DOS extenders, LOTUS corp. would have to >recompile their 1-2-3 program to be able to use it. > >So, the answer is: NO 1-2-3 can only use the 400K that it said >it had available to it. False. It is true that the 80286 in Real Address mode has a 1M limit of addressable memory (Note: This is *not* a DOS-caused limitation, but is inherent in the architecture of the CPU). Of this megabyte, IBM gives (most) of the bottom 640K to user applications (including the operating system), reserving the remainder for video memory, BIOS, and other ROM. However, there has been for some time a use for extra memory in a PC/XT/AT -- the Lotus-Intel-Microsoft (LIM) Extended Memory specification. The idea is that a device driver (more about this in a moment) manages this extra memory, mapping windows of this memory into the 1M address space. (The other use for extra memory in the AT is as Expanded Memory, which is directly addressable in protected mode and lies above the 1M mark. This is the memory used by your "vdisk" example. It can also be used by print spoolers and can be accessed directly by user applications by means of the BIOS, which provides a service to do block transfers to/from expanded memory.) The point is that you must have a device driver to make use of Extended Memory. My guess is that the memory expansion in your system should have come with one. You would install it by putting an appropriate line in CONFIG.SYS. I would then suppose that once your program detects the presence of the extended memory device driver, it will work correctly. ------------------------- Kenneth R. Ballou ballou@bosco.berkeley.edu