Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!hellgate.utah.edu!cs.utexas.edu!uunet!zephyr.ens.tek.com!tektronix!reed!busker!p8.f14.n105.z1.FIDONET.ORG!Howard.Spindel From: Howard.Spindel@p8.f14.n105.z1.FIDONET.ORG (Howard Spindel) Newsgroups: comp.sys.ibm.pc Subject: Re: EMS Support on a 386 Message-ID: <918.2504C171@busker.FIDONET.ORG> Date: 5 Sep 89 16:06:44 GMT Sender: ufgate@busker.FIDONET.ORG (newsout1.26) Organization: FidoNet node 1:105/14.8 - Busker's Boneyard, Portland OR Lines: 80 Posted because mailer keeps bouncing message... > We have a 286 clone and a 386 clone, both based on Chips & > Technologies > chip sets. The 286 is a "Neat" motherboard while the 386 is > a "Cache-32". > The both have AMI BIOS and 2 Meg of RAM. > > The 286 has hardware EMS support on the motherboard > (apparently part of > the Chips & Technologies stuff) and a disk was supplied > containing a > software driver to allow DOS pgms to access the extra RAM as > EMS. > > The 386 has no such thing (or at least the doc. makes no > mention of EMS). > > I'm curious, first, as to why the 286 has the EMS hardware > while the 386, > of similar design and vintage, is without. The 386 has onboard memory management which makes the external EMS hardware of the 286 system superfluous. > > Secondly, I wonder what the function of the software driver > on the 286 is. > Does it merely tell the hardware that EMS is desired, how > much EMS is > desired, what page segments to use, etc. Or does it perform > other > interfacing or translating fuctions. The EMS spec requires that the EMS driver support a number of software interrupt functions for support of EMS. These functions include actions such as: allocate/deallocate EMS block, save/ restore EMS context, and several other functions. The EMS hardware provides the ability to quickly bank switch blocks of EMS RAM into a 64K page in the first megabyte of the address space. The EMS software manipulates the hardware registers which perform the bank switching and provide the interface from the EMS hardware to other software that wants to use EMS. > > Finally, what does one do to get EMS on a 386? I gather > there are software > drivers which emulate EMS using extended RAM. I have > Microsoft MSDOS 4.01 > which has an EMM386.SYS. Does this do the job? I had heard > somewhere that > this was brain damaged and only worked properly with > True-Blue IBM machines. > Any truth to that? Don't know anything about EMM386.SYS. I suggest you use either 386MAX (which I can recommend from personal experience) or QEMM (which has a very good reputation). 386MAX is available from Qualitas, QEMM is available from Quarterdeck (same folks who make Desqview). See ads in any PC oriented magazine to find out where to get these. > > What about HIMEM.SYS which apparently lets DOS use 64K of > extended RAM. > Does it work at all in a 386 or 286 clone? Is it safe? > What about in > combination with EMM386.SYS or other things that use > extended memory? HIMEM.SYS may or may not work in clones. HIMEM.SYS must be able to turn on address line 20 in the PC and the way that is done may differ in different clones. You should be able to use HIMEM.SYS with EMS emulators as long as you can tell the EMS emulator to not use the first 64K of extended memory. Or if you use 386Max you can do away with HIMEM.SYS as the program supplies equivalent support. As far as I know HIMEM.SYS is "safe"; however, most application programs are not written to take advantage of this feature and therefore HIMEM.SYS may not be terribly useful unless you regularly use an application which you know supports it. -- Howard Spindel - via FidoNet node 1:105/14 UUCP: ...!{uunet!oresoft, tektronix!reed}!busker!14.8!Howard.Spindel ARPA: Howard.Spindel@p8.f14.n105.z1.FIDONET.ORG