delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/2000/12/04/18:46:30

To: opendos AT delorie DOT com
X-Comment-To: "Patrick Moran" <pmoran22 AT yahoo DOT com>
References: <8F361C761C5 AT reze-1 DOT rz DOT rwth-aachen DOT de>
<004101c05c41$8a42b0f0$e4881004 AT dbcooper>
<2 DOT 07b7 DOT FVTF DOT G4XS7T AT belous DOT munic DOT msk DOT su>
<008101c05d17$e51937c0$a3881004 AT dbcooper>
Message-Id: <2.07b7.JAQX.G52HS6@belous.munic.msk.su>
From: "Arkady V.Belousov" <ark AT belous DOT munic DOT msk DOT su>
Date: Tue, 5 Dec 2000 02:40:54 +0300 (MSK)
Organization: Locus
X-Mailer: dMail [Demos Mail for DOS v2.07b7]
Subject: Re: Optimizing CONFIG.SYS...
Lines: 139
MIME-Version: 1.0
Reply-To: opendos AT delorie DOT com

X-Comment-To: Patrick Moran

Hi!

2-δΕΛ-2000 13:24 pmoran22 AT yahoo DOT com (Patrick Moran) wrote to
<opendos AT delorie DOT com>:

>> PM> I am checking up on XMS memory now, in the book "DOS beyond 640K" It does
>> PM> refer to XMS memory in it but was not listed in the index. It is extended
>> PM> memory and from what I have read so far, it is NOT swap memory, it is in
>> PM> fact extended memory.
>>      XMS is _not_ an memory.
PM> I am not going to argue this any more.

     This is right, else you show how you more uncompetent. B-\

PM> It is real physical memory that is beyond 1MB.

     Wrong. _This_ is called convention memory.

PM> It is a meory manager, not a spcification.

     Wrong. HIMEM/EMM386/QEMM386/386MAX/etc are memory managers, XMS are
specification (eXtended Memory Specification).

PM> DPMI and VCPI are
PM> specifications. It is all extended memory and physically exists in your
PM> computer if you have it installed.

     Wrong. DPMI and VCPI specifications "exists" (i.e. available for use)
only when you run consequent manager, which implements these specifications.

PM> It is not virtual memory, it is real and
PM> you can look at it and touch it physically.

     Wrong. You can't touch specifications, also as you can't touch, say,
theorem.

PM> It is merely managed by LIM 4.0,
PM> EMS, EMM386, HIMEM.SYS, EEMS, XMS, JQRYBIZ18941, or whatever other memory
PM> manager someone gives a name to.

     Wrong. LIM, EMS, EEMS, XMS are not a memory managers.

>> PM> But I need to poke around the book some more about it.
>> PM> I think some of the comments made about XMS is untrue. It should be much
>> PM> faster than EMS because there is no window to swap memory through I believe
>>      You prosecute me as liar?!
PM> Not a liar. Probably just confused with some of the terminology used. It was

     Wrong. It is you confused, because make a pap from specifications,
managers which implement them and programs which use API present by
managers.

PM> stated that EMS can swap memory faster than XMS can access memory. That is
PM> not true, because XMS does not swap memory, it allows DOS to directly access
PM> extended memory.

     Wrong.

Call the XMS driver "Get XMS version number" function with:
Call the XMS driver "Request High Memory Area" function with:
Call the XMS driver "Release High Memory Area" function with:
Call the XMS driver "Global enable A20, for using the HMA" function with:
Call the XMS driver "Global disable A20" function with:
Call the XMS driver "Local enable A20" function with:
Call the XMS driver "Local disable A20" function with:
Call the XMS driver "Query A20 state" function with:
>Call the XMS driver "Query free extended memory" function with:
>Call the XMS driver "Allocate extended memory block" function with:
        AH = 09h
        DX = Kbytes needed
Return: AX = status
            0001h success
>                DX = handle for memory block
>Call the XMS driver "Free extended memory block" function with:
>Call the XMS driver "Move extended memory block" function with:
        AH = 0Bh
        DS:SI -> EMM structure (see #2463)
>Call the XMS driver "Lock extended memory block" function with:
>Call the XMS driver "Unlock extended memory block" function with:
>Call the XMS driver "Get handle information" function with:
>Call the XMS driver "Reallocate extended memory block" function with:
Call the XMS driver "Request upper memory block" function with:
Call the XMS driver "Release upper memory block" function with:
Call the XMS v3.0+ driver "Reallocate upper memory block" function with:
>Call the XMS v3.0 driver "Query free extended memory" function with:
>Call the XMS v3.0 driver "Allocate any extended memory" function with:
        AH = 89h
        EDX = Kbytes needed
Return: AX = status
            0001h success
>                DX = handle for allocated block (free with AH=0Ah) (see #2447)
>Call the XMS v3.0 driver "Get extended EMB handle information" function with:
>Call the XMS v3.0 driver "Reallocate any extended memory block" function with:

     You will continue to "not going to argue" or this is sufficient proof
of your incompetence?

PM> EMS swaps it out between conventional and extended through
PM> a tiny window.

     Wrong. EMS not swaps anything. EMS only gives access to pages, which
mapped by request into page frame. You may make additional copy to/from EMS
pages if you not know how to program and speed lost is nonprincipial for
you, but better is to work with data in the pages directly.

>> PM> that Task Manager is using DPMS through the extended memory created by XMS.
>>      1. When "real mode" app works with EMS it can create and handle it data
>> directly in EMS window without any _additional_ copying, as this is required
>> for XMS. 2. XMS _not_ create any memory.
PM> Taks Manager DOES NOT NEED ANY EMS MEMORY, period, period.

     EMS IS NOT A MEMORY. PERIOD. Task Manager is not a real mode
application and consequently don't need _for itself_ any extended memory
access specification like EMS or XMS. PERIOD.

PM> You can, however,
PM> use expnded memory if it is available when a program is running in Task
PM> manager. For example, you can run DV in Task manager if you so desired, I
PM> don't have any idea why anyone would but you can. You can also run windows
PM> in a Task manager task. Why anyone would want to beats me, but it can be done.
PM> XMS does create memory.

     XMS DON'T CREATE ANY MEMORY. MEMORY CREATED IN FACTORYS FROM SILICON.
PERIOD.

PM> Without it DOS cannot access that memory, unless
PM> another memory manager is used. XMS makes the exyended memory available to
PM> DOS. Without it, DOS only has 1MB of memory to work with and DOS by itself
PM> cannot use all of that. It cannot use A000-FFFF or the first 64K minus 16

     WRONG. IF SOME MEMORY MANAGER (HARDWARE OR SOFTWARE, LIKE EMM386) MAPS
RAM INTO THIS REGION THEN YOU CAN WORK WITH THIS MEMORY WITH HELP OF INT
21/58 FUNCTIONS.

[...]

     Your incompetence tired me. Talk with itself.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019