EXMS86: EMS-backed XMS

EXMS86 is a specialized TSR that provides XMS 2.0 extended memory services using an EMS 4.0 expanded memory source. Designed for 16-bit DOS computers equipped with EMS cards (like the Lo-Tech EMS board, Bocaram XT, etc). EXMS86 enables software requiring XMS memory to run on systems lacking native XMS support: IBM PC, XT, etc.

It all started because I wanted my DOSMid MIDI player to support EMS when XMS isn’t available. Sure, I could have added EMS support directly into DOSMid, but that would be so boring. Instead, I decided to take a more versatile route by building a generic XMS driver. It felt like a more rewarding challenge, and one that could benefit other projects too. So here it is.

That said, a word of caution: unfortunately I don’t own an actual EMS card myself, so testing has been limited. It worked for me in a virtualized setup, and hopefully it’ll run fine on real hardware too. Still, don’t rely on it for anything mission-critical.

Download:

exms86-0.9.zip

Source code is tracked in subversion:
svn co svn://svn.mateusz.fr/exms86

EXMS86 is published under the terms of the MIT license. Copyright (C) 2025 Mateusz Viste.