First post, by user222
Does DOSBox support "DOS=HIGH, UMB"?
Does DOSBox support "DOS=HIGH, UMB"?
The whole dos portion (except for a tiny amount of crucial dos-tables)
is already out-of-low-mem, so DOS=HIGH is always set (in a way...).
Dos-UMBs are not supported as there's little need for it.
Besides that, DOS=... has no effect with dosbox (neither in a dummy
config.sys, nor in dosbox.conf).
wd
In other words, since the DOS part of DOSBox is fake, it doesn't actually need to take up any real memory anywhere inside of the virtual DOSBox memory space. As a result, tricks like that are not only unnecessary but don't make sense.
You do have the option of installing and booting real versions of MS-DOS (or clones) inside of DOSBox if you want to do that kind of stuff though.
You do have the option of installing and booting real versions of MS-DOS (or clones) inside of DOSBox if you want to do that kind of stuff though.
Do any games work using MS-DOS that don't using Dosbox's DOS? I can't think of any.
Applications probably but games? nah I haven't seen any.
I know of one game and of one multiplayer loader.
not worth the effort at the moment I would say
Would it be technically possible to implement some kind of fake UMB support for DOSBox, which would allow TSRs to be loaded outside of the emulated conventional memory space?
Sure. Right now, the "LH" command simply passes its arguments on to the regular command line parser. This could be altered ever so slightly, insuring that the TSR is loaded somewhere in the appropriate area of memory.
The tricky part is keeping track of which UMBs are present and available. No trickier than the regular DOS memory allocation, though. Given DOSBox' simple memory layout, there should be a lot of upper memory available. (the interrupt callbacks take a few bytes, there will be some memory for the EMS pageframe, video memory etc, but there should be something like 160K free, more if you get rid of mono text video memory).
My site: Ramblings on mostly tech stuff.
Have an UMB-implementation here, but only the xms-part.
Will see if it can be blown up to support LH and so.
wd
I thought HIMEM only supplied HMA (and XMS), which only DOS itself could use, and EMM386 supplied UMBs (and EMS), which many TSRs could use.
wrote:I thought HIMEM only supplied HMA (and XMS), which only DOS itself could use
Legend of Kyrandia 1 can use HMA
wrote:Do any games work using MS-DOS that don't using Dosbox's DOS? I can't think of any.
Although that thread is a year old and i guess most of those games were already fixed.
Real dos just don't have the limits of the emulated one (not properly emulated).
XMS function 10 allocates upper memory. Not?
DEVICE=C:\DOS\EMM386.EXE RAM
^allows umb and ems
DEVICE=C:\DOS\EMM386.EXE NOEMS
^allows umb but no ems
^This two ways we have umb available now, and we can use it two ways:
dos=umb
^allows umb for dos (TSRs)
dos=noumb
^allows umb for programs (games)
So maybe wd talks about DEVICE=C:\DOS\EMM386.EXE NOEMS ? (UMB and XMS)
Actually i was not thinking about the programs that provide the
support, just the interface that is used. Now EMM386 uses the
XMS-interface to supply UMBs.
Any more games/progs that can utilize UMBs besides Der Clou???
thx
When calling the XMS driver:
In:
AX = 10h
DX = size of requested area in paragraphs
Out:
AX = 1 (success)
BX = segment address
DX = actual size of umb
AX = 0 (failure)
BL = error code, most likely B0 (no umb of requested size available) or B1 (no umb available at all)
DX = size of largest available umb
My site: Ramblings on mostly tech stuff.
wd: Ah, I see. I know lots of TSRs can use UMBs via loadhigh, and I'd think that would be the primary benefit.
The attached file isn't tested excessively, but seems
to do a good job loading TSRs into upper memory. Tried
cptask which can load itself into UMBs, even unloading
from memory worked fine.
If you need more UMBs, disable ems (Der Clou needs this).
Please note any odd things if possible, or suggestions etc.
thx