Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!rutgers!mtune!mtunb!dmt From: dmt@mtunb.UUCP Newsgroups: comp.sys.ibm.pc Subject: Re: Extended memory on AT ? Message-ID: <953@mtunb.ATT.COM> Date: Tue, 2-Jun-87 08:04:53 EDT Article-I.D.: mtunb.953 Posted: Tue Jun 2 08:04:53 1987 Date-Received: Thu, 4-Jun-87 03:32:27 EDT References: <630@rna.UUCP> Reply-To: dmt@mtunb.UUCP (Dave Tutelman) Organization: AT&T Information Systems - Lincroft, NJ Lines: 39 Summary: Bank switching EMS, Expanded memory In article <630@rna.UUCP> dan@rna.UUCP (Dan Ts'o) writes: > > We have an application that requires fast access to 4Mb on a PC/AT. >What is the best way to do this (from a C program). I have heard that the >Intel Above Board Memory Spec is a bank switching scheme whose details are >kept secret but it apparently is possible to figure out. Is this information >available somewhere, or at least a subroutine library that can grab large >chunks (60kb) fast by bank switching ? Think of the Expanded Memory Spec (EMS) as yet another BIOS interrupt. That is, it is a collection of functions you can get at by setting some registers and issuing an INT instruction. These functions are NOT secret; they're well published, and should do everything you need for bank switching (each "bank" is 16K). What IS NOT well published is the details of the hardware of the board. Let's continue the BIOS analogy. If you have a not-quite-clone with a good matched BIOS: - As long as you use programs that access hardware through the BIOS calls, you're golden. - If your programs have inadequate PERFORMANCE because of the BIOS overhead, and you want to go straight to the hardware, you're in trouble. Either the programs won't work on your machine (pre-existing programs), or they won't be portable to other machines (the programs you write). This carries over into your problem. If you can't find out the hardware details of the SPECIFIC EMS board you're using (and they're not all the same at the hardware level), you've GOT TO use the EMS driver supplied with the board and live with its overhead. (Think of the driver as a loadable BIOS.) Hope this helps. +---------------------------------------------------------------+ | Dave Tutelman | | Physical - AT&T - Lincroft, NJ | | Logical - ...ihnp4!mtuxo!mtunb!dmt | | Audible - (201) 576 2442 | +---------------------------------------------------------------+