[comp.sys.ibm.pc] EMS Support on a 386

lane@cs.dal.ca (John Wright/Dr. Pat Lane) (08/31/89)

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.

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.

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?

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?

I have noted a curious bug which seems to be associated with HIMEM.SYS.
DOS will get mixed up about directories, seeing one directory when it's
supposed to be reading at another.  This happens even without putting the
"/X" param. on any BUFFERS=, etc. or drivers or INSTALL=FASTOPEN().

Confused as ever,

John Wright      //////////////////     Phone:  902-424-3805  or  902-424-6527
Post: c/o Dr Pat Lane, Biology Dept, Dalhousie U, Halifax N.S., CANADA B3H-4H8 
Cdn/Eannet:lane@cs.dal.cdn  Uucp:lane@dalcs.uucp or {uunet watmath}!dalcs!lane
Arpa:lane%dalcs.uucp@uunet.uu.net  Internet:lane@cs.dal.ca
-- 
John Wright      //////////////////     Phone:  902-424-3805  or  902-424-6527
Post: c/o Dr Pat Lane, Biology Dept, Dalhousie U, Halifax N.S., CANADA B3H-4H8 
Cdn/Eannet:lane@cs.dal.cdn  Uucp:lane@dalcs.uucp or {uunet watmath}!dalcs!lane
Arpa:lane%dalcs.uucp@uunet.uu.net  Internet:lane@cs.dal.ca

ericr@hpvcfs1.HP.COM (Eric Ross) (09/01/89)

There are a few EMM drivers for the 386 that use the 386 memory mapping
hardware to emulate EMS 4.0.  Two of the most popular are QEMM from 
Quarterdeck(highly recommended if you are a Desqview fan) and 386totheMAX? by
Qualitas.  Because the 80386 in essence has builtin hardware support for
EMS, there is no reason to use EMS boards.  That is why 386 systems only
come with extended memory.

Eric Ross
ericr%hpvcper.vcd.hp.com@hplabs.hp.com

Howard.Spindel@p8.f14.n105.z1.FIDONET.ORG (Howard Spindel) (09/05/89)

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

palowoda@fiver.UUCP (Bob Palowoda) (09/08/89)

From article <918.2504C171@busker.FIDONET.ORG>, by Howard.Spindel@p8.f14.n105.z1.FIDONET.ORG (Howard Spindel):
> Posted because mailer keeps bouncing message...
>  
> 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

  How long does it take to bankswitch? Are interupts enabled 
  during bankswitch?
  I was wondering if it would affect communications programs to
  the point that you would loose characters at 9600bps.

---Bob

-- 
Bob Palowoda                                *Home of Fiver BBS*  login: bbs
Home {sun,dasiy}!ys2!fiver!palowoda         (415)-623-8809 1200/2400
Work {sun,pyramid,decwrl}!megatest!palowoda (415)-623-8806 1200/2400/9600/19200
Voice: (415)-623-7495                        Public access UNIX system 

root@nstar.UUCP (Larry Snyder) (09/09/89)

In article <332@fiver.UUCP>, palowoda@fiver.UUCP (Bob Palowoda) writes:
>   I was wondering if it would affect communications programs to
>   the point that you would loose characters at 9600bps.

Hi Bob.  At work I write/maintain a real time factory production monitoring
system that runs on the PC (actually 286/386 machines) under DOS that
using a 9600 baud line for continuous bi-directional communications
with the machines on the plant floor.   The application is being cleaned
to run under Desqview - and we have been running it under DV with another
application (QMODEM) using COM2 at 38,400 kbaud during a download (or
upload) from another machine using Zmodem without problems. 
 
At home when I was a DOS fan, I was running multiple high speed modems
under DV using EEMS memory - and was getting around 113% transfers (out
of a possible 115% - based on 100% = 9600) using a 10 mhz 286 machine.

At home I was using 16550A chips with the 16 byte FIFO buffer and
had special software that utilitized the buffer which kept the serial
lines from loosing characters.


-- 
Larry Snyder                                              SCO Xenix 2.3.2 '386
uucp: iuvax!ndcheg!ndmath!nstar!larry                Computone Intelliport AT8
The Northern Star Usenet Distribution Site                    HST / PEP / V.22
Notre Dame, Indiana USA                            Home of the fighting Irish!