Path: utzoo!utgpu!water!watmath!clyde!att!rutgers!rochester!uhura.cc.rochester.edu!ur-valhalla!jal From: jal@valhalla.ee.rochester.edu Newsgroups: comp.sys.ibm.pc Subject: Extended Memory Questions Message-ID: <1438@valhalla.ee.rochester.edu> Date: 1 Sep 88 13:32:01 GMT Sender: usenet@valhalla.ee.rochester.edu Reply-To: jal@ee.rochester.edu (John Lefor) Organization: URochester Department of Electrical Engineering Lines: 53 David Dyck (dcd@tc.fluke.com) writes: >Any Extended Memory 'experts' out there? Expert, no but I use it quite a bit. >Is there a accepted standard method for using and sharing extended memory? Microsoft, Lotus, Intel and AST have published a standard called XMS 2.0 (eXtended Memory Specification) which manages extended memory (as well as other un-managed memory areas). The only implementation I know of is part of Windows 286 and is called HIMEM.SYS. A summary of the Interrupts will probably be included in the forthcoming Interrupt list and is certainly available direct from Microsoft (that's how I got mine). >Is there any way to tell if another application/ram disk/etc >is using part of the extended memory? The programs that I write that use extended memory make themselves look like VDISK and also allow the user to specify the starting address. I will be adding XMS support so things work better. BTW lately (DOS 4.0) VDISK started allocating memory from the highest address and reporting via INT 15h a smaller amount of available memory. Other programs do this also. It is a good technique if there is not a need to remove your use of the memory so other programs can have it. XMS allows relocation and reallocation of extended memory and thus is more flexible, but only works if everyone adheres to the spec and if a driver is available. >I also want to have a driver utilize some of the unused extended memory. >If my driver is loaded before VDISK, how would I/it inform VDISK >that some of the extended memory was already in use? You can make yourself look like VDISK. VDISK knows that there may be multiple VDISK's loaded and so you can make your use of VDISK look like a previously loaded VDISK. It is not fun, but I've done it and it works. >And what if VDISK loaded first, >is there a way for my driver to determine how much memory VDISK was using? Yes, you can look for a VDISK just like VDISK does and setup to use the next available portion. >Should all extended memory applications/drivers allow the >user to specify the upper/lower bounds in extended memory? I think this is a good idea until XMS becomes sufficiently available that it is no longer needed. In the meantime I intend to support both XMS and VDISK detection/faking and user specification of starting address/length. >Thanks for any information, Your welocme. If you need detailed info, I can investigate releasing some of my code.