VMS40 ===== This is a device driver that makes either a hard disk or a floppy disk into LIM4 expanded memory. It is a software emulation of the 28 function standard set forth in the Lotus/Intel/Microsoft Expanded Memory Standard (LIM/EMS) version 4.0. All of the EMS 4.0 functions that can be implemented through software are provided by VMS40, with the exception of the DMA functions included in the Alternate Map Register Set function (function 28). The program is backwards compatible with software written for the earlier LIM 3.2 standard (courtesy of Lotus, Intel & Microsoft). It lets you specify which drive to use for expanded memory, and how much disk to reserve. The trial version VMS40.240 restricts you to reserving no more than 240K for LIM memory, while the registered version VMS40.SYS allows you to reserve up to 32M You install VMS40 as you would any other DOS device driver through you CONFIG.SYS file. When you include the driver in you file, be sure to include the drive and path information so that DOS can find the file at boot time. The full syntax is DEVICE=[d:\][path\]VMS40.SYS [d:] [nnn] [/Fm] where [d:\][path\] specifies the drive and path in which the driver lives. The optional [d:] specifies which drive to place the Virtual LIM memory on. If omitted, it defaults to C: if you boot from a hard disk, and A: if you boot from a floppy. The optional [nnn] specifies the amount of memory you wish to reserve, in Ks (Kilobytes). If omitted, the trial version uses a default (and maximum) value of 240K, while the registered version uses a default value of 360K. If you have high memory available, you can set the page frame to a high memory address by using the /F parameter: /F1 = C000 - CFFF /F2 = C800 - D7FF /F3 = D000 - DFFF /F4 = D800 - E7FF /F5 = E000 - EFFF /F6 = E800 - F7FF /F7 = A000 - AFFF If you use this parameter, it must be LAST. Please run the program EMS to test that everything works on your machine. IF YOU DO NOT HAVE HIGH MEMORY, but you try to locate the page buffer there, you will not get an error, BUT the data stored to LIM memory will be trashed! Example ======= DEVICE=C:\UTILS\VMS40.SYS 6000 which uses the registered version residing in directory UTILS on drive C: to reserve 6000K (= 6M) on drive C: for expanded memory. As with all device drivers, once installed, it can only be removed by rebooting. The VMS40 driver logically maps disk-memory pages of 16k blocks into four contiguous physical pages of conventional RAM. Including the 64K physical page map area, the installed size of the driver is approximately 69K. VMS40 cannot map the pages into any other area than the 64K window it allocates automatically on boot up. The program allocates a disk file called $VMS40@@.VM$ in the root directory. Its attributes are System and Hidden. It is allocated at the appropriate size to hold the LIM memory pages. Don't try deleting it if you have the driver running!!! If you allocate the file on floppy, don't remove the floppy while the driver is running!!! Naturally, using disk to simulate LIM memory is somewhat slower than having the appropriate hardware implementation, but it is also a lot cheaper! If you need to run big spreadsheets, or use Borland's standalone debugger to debug a really large program, and you cannot afford 2Meg of LIM memory, then VMS40 is your answer. LMS40 ===== This is for use on AT computers wih extended memory above the 1 Meg barrier. This driver converts extended memory into LIM memory, in a similar fashion to VMS40. Example ======= DEVICE=C:\UTILS\LMS40.SYS 1400 /F5 which converts 1.4M of extended memory into LIM 4 expanded memory, with a page frame at E000 HI MEMORY LOADS =============== If you have a machine that has free memory above 640K and below 1M, AND you have a suitable loader such as Quarterdecks QEMM, you can free up the 69k below and load the entire device driver into Hi Memory. Consult your software manual for details on how to load device drivers into Hi Memory. In this situation, DO NOT use the /F parameter, but let the page frame default to follow after the driver. (otherwise you may confuse the hi load program) FILES ON THIS DISK ================== VMS40.SYS disk LIM device driver VMS40.DOC this document LMS40.SYS extended Memory LIM emulator VMS40.TXT specification of LIM 4 function calls EMS.PAS public domain program that tests LIM memory EMS.EXE compiled version of above If you have any constructive comments, or would like to know more about our products, please contact us. KNOWN PROBLEMS ============== VMS40 - Desqview appears to trash the page frame. When this is fixed, you will all receive a replacement version. LMS40 - NONE - this works with 4Dos & Desqview