Ok, but to be very clear, 8086 class PCs do not have extended memory
<https://en.wikipedia.org/wiki/Extended_memory> because they do not
physically have the hardware.  What you have implemented is a clever XMS
API that uses EMS as the backing store.  There is a difference between
those two terms, which is why I got confused when you said an 8086 PC might
have a few megabytes of XMS memory, as XMS traditionally refers to extended
memory.

Based on that understanding, you could also implement the XMS API using
memory over the network and none of the software would know the difference,
except for the performance difference.  (There are research projects going
back more than 30 years using remote machines as "memory hosts.")



On Sun, Jul 20, 2025 at 5:00 AM Mateusz Viste via Freedos-user <
[email protected]> wrote:

> On 20/07/2025 07:23, Michael Brutman wrote:
> > How can an 8086 PC have a few megabytes of XMS memory?  By definition an
> > 8086 PC only has 20 address lines, which gets you to 1MB.  There is no
> > addressing of memory above 1MB available given that number of address
> lines.
>
> XMS (v2) is just a copying API. Applications that utilize it are
> agnostic to the actual origin of the memory, i.e. it doesn't matter to
> them where the memory is sourced from. While it is commonly associated
> with RAM located above the 1MB boundary on 386+ CPUs (often referred to
> as "extended memory"), that's a historical convention at best, not a
> technical requirement.
>
> You can expose a wide range of memory sources via the XMS interface: RAM
> from your SoundBlaster card, surplus VGA VRAM, even memory streamed from
> a server or simply backed from a floppy disk. As such, there's no
> technical barrier preventing an 8086 from accessing and utilizing up to
> 64 MB of memory presented through the XMS v2.0 API.
>
> EXMS86 is a TSR program that provides XMS 2.0 memory using EMS 4.0 as
> its storage backend. This effectively enables XMS-compatible
> applications to run on IBM PCs equipped with EMS expansion cards. I
> developed EXMS86 with DOSMid in mind, but since it provides standard
> XMS, it opens compatibility with any other software. The most notable
> beneficiary within the FreeDOS ecosystem is undoubtedly FreeCOM,
> assuming its code is 8086-clean nowadays.
>
> http://mateusz.fr/exms86
>
> Mateusz
>
>
> _______________________________________________
> Freedos-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/freedos-user
>
_______________________________________________
Freedos-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to