[comp.sys.ibm.pc] >re: ems support on a 386

m_hanft@msn.rmi.de (Matthias Hanft) (09/12/89)

>
> palowoda@fiver.UUCP (Bob Palowoda) writes
>
>  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.
>

  I believe it *does* affect communications programs: I have
  a Compaq 386/20 running CEMM and CACHE which use Extended Memory
  for simulation of LIM/EMS hardware and as a hard disk cache.
  If I mae extensive use of bank switching, some incoming
  characters are lost - but only at 9600 bps and higher
  (communication up to 4800 bps works well.)

  So, I guess bankswitching is rather a memory *transfer* than
  switching. Compaq's VDISK driver lets you install the maximum
  number of sectors which you want to trasfer at one time, and
  they clearly say that if you use too big blocks, some interrupts
  can be lost because all interrupts are definitely disabled during
  protected mode memory accss (the memory above 1 MB).

  I wonder why there is no such "number of sectors" switch
  with the CEMM and CACHE programs. Maybe they use really
  bank switching? But, in that case, I do not understand why
  interrupts are lost (I guess bank switching is so much faster
  than memory transfer so that it would not affect any interrupts).

  In any case, incoming characters at 9600 bps *are* lost when
  CEMM is often called. Something *must* be wrong. But what???

  Matthias Hanft (m_hanft@msn.rmi.de)

m_hanft@msn.rmi.de (Matthias Hanft) (09/13/89)

--- "I don't understand it. I don't even understand
     the people who do understand it."

An addendum to my previous message:

I have 2 MB Extended Memory (above 1 MB). Up to now,
my CONFIG.SYS file included the following lines:

           DEVICE=CEMM.EXE 1216 ON
           DEVICE=CACHE.EXE 832 ON /EXT

(This converts 1216 KB of Extended Memory to LIM Expanded Memory and
installs 832 KB hard disk cache in the rest of the Extended Memory.)

Using that configuration, I had the 9600 bps problem as described
in my previous message.

Now, my CONFIG.SYS looks like this:

           DEVICE=CEMM.EXE 2048 ON
           DEVICE=CACHE.EXE 832 ON /EXP

What's the difference? All 2 MB are available as LIM Expanded Memory
now, and the 832 KB hard disk cache is just a part of it. What
happened? Interrupts are now served fast enough so that there
is no loss of incoming 9600 bps characters any more.

Since it's physically the same memory, what's the difference in
the two ways to use it?

Matthias Hanft (m_hanft@msn.rmi.de)