[comp.sys.ibm.pc] XT...Beyond 640K...How do I get there?

herrj@silver.ucs.indiana.edu (Jonathan R. Herr) (03/14/90)

Hello.  This is my first time to post to this board.  I doubt it will be
the last!  I have a question about the DOS 4.01 use of memory(RAM).
I have 1024K of memory on my  XT mother board, but DOS refuses to recognize
it.  I realize that anything above 640K is expanded memory.  My question
is this:  

    What do I have to do to get DOS to recognize the other 384K?
    and, What will it be used for?

I've been reading the User's Guide and Reference Guide and the book says
that I need an EMS controller.  Is this right?  I mean, the memory is
on-board and the BIOS ROM seems to recognize it on boot-up.  Why would
it need a controller for something on-board?  I've tried to install the
SMARTDRV.SYS but get the error "No Expanded Memory Manager."  Is this
another piece of hardware or software?

Just for backgound, incase it's needed, I have:

Flytek ST-12 mother board with
   -V20 microprocessor
   -8K on board XT BIOS
   -switchable from 4.77 MHz to 12 MHz

You may send your replies to me through e-mail or post here as I have 
become an avid reader of this group.  Mail responses will be summarized
and posted to this group.


Jonathan R. Herr|---|herrj@silver.ucs.indiana.edu|---|Standard Disclaimer|

bbesler@vela.acs.oakland.edu (Brent Besler) (03/15/90)

Things vary from board to board, but generally memory between 640K and 1024K
can't be used by DOS programs.  If you want to use EMS memory on an XT there are
a number of boards that emulate it, but it is real slow on an XT.  

                                        Brent H. Besler

herrj@silver.ucs.indiana.edu (Jonathan R. Herr) (03/20/90)

Last week I posted a few questions about memory beyond 640K on an XT-compatible
system.  Below are the responses that I received as well as a few addtitional
comments by me.  Thanks to all who responded!  It has been most educational.

THIS IS VERY LONG!  Unless you are really interested, go to the next article
now!


---------------------------response #1-------------------------------------
From: bbesler@vela.acs.oakland.edu (Brent Besler)
Message-ID: <357@vela.acs.oakland.edu>
Date: 14 Mar 90 20:16:31 GMT
Organization: Oakland University, Rochester MI


|Things vary from board to board, but generally memory between 640K and 1024K
|can't be used by DOS programs.  If you want to use EMS memory on an XT there 
|are a number of boards that emulate it, but it is real slow on an XT.  
|
|                                        Brent H. Besler


Your right.  I was reading the book wrong(or just in a hurry!).  Here is the 
definition given on page 7 of the user's guide for Microsoft's MS-DOS.

   Expanded memory is memory beyond 640 kilobytes that uses
   page-switching technology and that can be used in most personal
   computers.  If you install the expanded memory-board hardware
   and a special program called the expanded memory manager, then
-> applications that can use expanded memory gain access to this
-> additional memory...

_______________________________response #2____________________________________
Date: Wed, 14 Mar 90 23:24:01 EST
From: gatech!mit-eddie!genrad.com!jpn (John P. Nelson)
Message-Id: <9003150424.AA04295@spot.genrad.com>
Organization: GenRad, Inc., Concord, Mass.

||>I have a question about the DOS 4.01 use of memory(RAM).
|
|Actually, your question has nothing to do with DOS 4.01:  it is a PC
|architecture question.
|
|>I have 1024K of memory on my  XT mother board
|
|This is quite unusual, and I have no direct knowledge of your specific
|hardware, so I am guessing to some degree.
|
|The reason this is unusual is because an XT has a total address space
|of 1024K:  The upper 384K of the address space is reserved for video,
|ROMS and other memory mapped devices.  Therefore, only 640K of your
|system's ram can be addressed directly.  Your system MUST have some
|nonstandard hardware for accessing the additional memory.

Actually, it is unusual because it didn't come installed.  I put the chips
from another mother board in mine.  Both came with 512K.  The DIP switch
settings allow for up to 1024K.  Obviously, though, this is irrelevant.

|
|>but DOS refuses to recognize it.
|
|Of course it does.  Any version of DOS is only aware of the 1Meg
|address space.  384K of your ram is hidden in some way by nonstandard
|hardware.

This is still somewhat unclear to me.  I don't believe there is any 
non-standard hardware.  But, I'm the one who wouldn't know.  I'm not
familiar with the IBM family(yet!).  Is there any particular reason
that you think there is non-standard hardware?  Is it because the
BIOS ROM sees it?

|
|>I realize that anything above 640K is expanded memory.
|
|How do you know this?

See the definition in response #1.

|
|If true, expanded memory is a bank-switch scheme.  64K of the "reserved"
|address space is used for 4 16K "banks", into which any of the available
|expanded memory pages may be mapped.

That's pretty much what the definition says, I believe.

|
|EMS (expanded memory system) is a SOFTWARE standard:  The hardware that
|implements it varies widely, and in fact, the address range into which
|the EMS banks are mapped is not fixed.  You need to load an EMS
|"driver" program (it should have come on your MSDOS distribution disk)
|which will allow programs that know how to USE EMS to access this
|memory:  without the driver program, the expanded memory is
|inaccessable and useless.

Right again!  I guess I'll take the extra memory out and put it back in
the old board.  My brother-in-law is wanting to get himself a computer.  I 
guess I'll give that one.

|
|>    What do I have to do to get DOS to recognize the other 384K?
|
|I don't think there IS any way.  DOS only knows about conventional
|memory in the first 640K
|
|Oh, I'll modify that.  DOS 4.0 can load it's "buffers" into expanded
|memory if you have loaded an EMS drivers.  In my opinion, this capability
|is not really very useful.

Agreed.

|
|>    and, What will it be used for?
|
|If you have loaded an EMS driver, there are many programs that can use
|the EMS storage as sort of a fast disk.  There are ramdisk programs,
|cache programs, and other applications that can use EMS memory directly
|(Turbo C's integrated environment can use up to 64K of expanded memory,
|and Lotus 1-2-3 can use all the available expanded memory for large
|spreadsheets).
|
|You must realize that most applications will not be able to use the
|EMS memory at all:  Only programs that know how to talk to the EMS driver
|can use the expanded memory.
|
|>I've been reading the User's Guide and Reference Guide and the book says
|>that I need an EMS controller.  Is this right?
|
|Almost.  Your motherboard probably has hardware that implements EMS using
|the extra 384K of ram.  What you need is a program:  the EMS DRIVER!

Well, I get the suspicion that perhaps the the hardware is there.  Is there
anything specifically I can look for to confirm this?  There is no card.
Maybe it's on-board.  Would the BIOS take care of this.  I'm not exactly
sure what the BIOS ROM does.  Would it be "shadowing" the rest of memory?

|
|>I mean, the memory is
|>on-board and the BIOS ROM seems to recognize it on boot-up.  Why would
|>it need a controller for something on-board?
|
|Because EMS memory does not fit into the normal address space.  Without
|using an EMS driver, there is no way to access this extra memory.
|
|>I've tried to install the
|>SMARTDRV.SYS but get the error "No Expanded Memory Manager."
|
|This is referring to the EMS driver.  If no driver is loaded, SMARTDRV.SYS
|has no way to access the Expanded memory.
|
|
|Feel free to repost or summarize my response to comp.sys.ibm.pc.

Thanks.  I did.

|-- 
|     john nelson
|
|UUCP:	{decvax,mit-eddie}!genrad!jpn
|smail:	jpn@genrad.com

--------------------------------response #3-----------------------------------
Message-Id: <9003151208.AA25515@ucsd.edu>
Date: Wed, 14 Mar 90 20:38:25 PST
From: ames!ucsd!pnet07.cts.com!johnlee (John Wiley)


|You've probably already received many replies as to the technical nature of
|your problem.  I'd like to add my experience with one solution.  I have an XT
|clone as well, and bought an AST RAMpage card.  It came with 512k of RAM,
|Desqview, a print spooler program, and a Ramdisk driver.  I tried using it for
|multitasking under Desqview and found that it does work as advertised.  I can
|run several programs, and switch between them, and even copy data between
|them.  But I find that I don't use it.  The trouble is, it makes the computer
|too slow.  All I use my $400 investment for is a Ramdisk that doesn't use up
|any of my 640k.  For the money, I suggest you consider a cheap 386SX.  I
|tested one and found it took 4 seconds to draw a simple CAD image that takes
|my XT 23 seconds.  Well worth $1200, in my opinion.
|
|UUCP: nosc!pnet07!johnlee   (John Wiley - San Diego, CA.)
|ARPA: simasd!pnet07!johnlee@nosc.mil
|INET: johnlee@pnet07.cts.com

Thank you!  I'm looking into getting a 386 later in the year.  I'm hoping that
the 486 might bring down the already-low price of the 386 to my range.

-------------------------------response #4----------------------------------
Date: Tue, 13 Mar 90 14:58:47 pst
From: "Michael D. Kersenbrock" <michaelk%copper.wr.tek.com@RELAY.CS.NET>
Message-Id: <9003132258.AA20688@copper.WR.TEK.COM>
To: herrj@SILVER.UCS.INDIANA.EDU
Organization: Tektronix, Inc., Beaverton,  OR.

|Puting 1Meg on a AT backplane may get the 384K "back" by having it show
|up as extended memory (above 1 Megabyte).  In a XT, you are probably S.O.L.,
|there's no extended memory to be had.  "High memory", between 640K and 1Meg
|are filled with things like your display memory, Bios ROMS, and such.
|
|Although pieces theoretically could be mapped into free spots here and
|there within "high memory", your backplane probably doesn't do it.  That
|384K is probably gone on a XT.  If you have a hercules monochrome or a CGA
|type display, you *could* add 64K or 96K (respectively) to your conventional
|memory using EMS 4.0 (with EEMS type hardware).  If you are using EGA
|or higher modes of video, you couldn't add any more conventional memory
|space anyway.

Well, I'm using a hercules monochrome.  But, it sounds like more of a hassle
than it's worth.

|
|Check the forsale group later in the week for my posting.  I have a
|couple AST boards (RAMPAGE/2 and a SIXPAKPREMIUM) for sale that have EEMS
|type hardware in their LIM EMS 4.0 implementation (they use the REMM.SYS
|expanded memory manager).  I used to use them with my 10Mhz XT (which is
|now a 12 Mhz AT).
|
|Mike Kersenbrock
|Tektronix Microprocessor Development Products
|michaelk@copper.WR.TEK.COM
|Aloha, Oregon
-------------------------------------------------------------------------------
--------------------------------end of responses-------------------------------
-------------------------------------------------------------------------------

Again, thanks to everyone.  I hope that others may have benefitted as
have I.

Jonathan R. Herr|---|herrj@silver.ucs.indiana.edu|---|Standard Disclaimer|

bbesler@vela.acs.oakland.edu (Brent Besler) (03/21/90)

There is a new program by Quarterdeck called QRAM.  It was mentioned in the 
lastest PC Magzine.  It is suppposed to let you be able to load TSR programs
and drivers into "high memory", the memory between 640K and 1024K. I have
no idea how well it works.  

                                          Brent H. Besler