No, it's not right.
Both XMS and EMS refers to the memory above 1mb. EMS was the first specification to allow use of memory above 1mb, and allow even 8086 to access more than 1mb (but in this case, requires special memory boards to allow it). EMS "pages" extra memory somewhere betweern 640 and 1 mb (usually in segments D000 or E000).
XMS allows 80386 and better systems to use memory above 1 mb (I don't know if it works in 80286). It is a different specification, so programs can use one or another (or both).
The area between 640 and 1mb are the UMB (upper memory blocks). This area is reserved to hardware, but DOS 5 and 6 allows to place drivers and part of COMMAND.COM. Using UMBs is a 'tricky' question, because:
- Segment A000 is used by the EGA and VGA video cards.
- Segment B000 is used by any video card.
- Segment D000 or E000 is used by EMS cards or EMM386.
- Segment F000 is the BIOS of the motherboard.
QEMM 386 is another program to manage memory, but it does the same thing: provides EMS and/or XMS functionality. Back in time, it detected better what UMBs were free to use, and allowed "shadowing" BIOS. With later development of DOS (MSDOS 6 came with memmaker), I don't know if it was a better option.
I have traveled across the universe and through the years to find Her.
Sometimes going all the way is just a start...
I'm selling some stuff!