workspace. The reason this variable is needed is because DOSBox-X's
dynamic allocation mode permits additional allocation to happen before
determining the value of DOS_MEM_START. And the reason that is important
is because the DOS shell builtin assumed that it could use the area from
DOS_FIRST_SHELL+19 to DOS_MEM_START as it's environment block, when it
turns out the dynamic allocation method would have already assigned the
extra space to certain DOS kernel structures. Oops!
DOSBox was doing at 0xD000 was emulating Upper Memory Blocks. Added code
to memory handler to default map out those pages, then allow the XMS
driver to map them back to RAM. Added options so that you can control
the UMB region and size from dosbox.conf.
region in the 0xF000 segment instead of DOSBox's private segment at
0xC800. Corrected language regarding realbig16, the B (big) bit hack
doesn't allow for 32-bit real mode code, it only allows the code segment
to extend past 64KB (huge real mode).