ishadow wrote on 2023-04-09, 09:37:
Same should be done with hardware, since MS-DOS compatibility in 2006+ PCs is chaotic. Some hardware will have 100% compatibility, other will have major issues. To make things worst some much newer PCs will have better DOS compatibility than older ones!
For example I have Wyse 5060 thin client from 2016 and it has superb MS-DOS support. It is able to run all VGA games I've tried without issues. Furthermore it has full support for EMS in JEMMEX. All my other 2007+ PCs are unable to use EMS.
From my experience, whether you can use EMS or not depends on the condition of the system's upper memory area. EMS requires a contiguous free area of at least 64KB to be able to place its page frame necessary for its functionality. If your system can offer a contiguous 64KB area then you should not have major problems with EMS. Otherwise, EMS cannot be used at all.
This is normally not a problem with older systems, but with some newer systems, especially those that feature off-chipset IDE/SATA ports, it can become a problem if their option ROMs are quite large.
A good system usually has about 120KB of usable, mostly-contiguous upper memory area (without B000-B7FF). These upper memory area can be taken up by various things, including but not limited to:
- AHCI/RAID boot ROM.
- Off-chipset IDE/SATA port option ROMs. (JMicron or Marvell ones, for example)
- Expansion card option ROMs (usually IDE/SATA cards).
- Some LAN PXE ROMs (an example would be Plop Boot Manager, which permanently takes up about 40KB).
- Larger VGA BIOS of some video cards (varies, depending on the video card used).
You should be able to reclaim a good amount of UMB by disabling option ROMs that you don't need in BIOS settings.