You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I try to make a config emulating a EMS board(s) for running Win3.x in real mode.
When I set ems=emsboard and memsize=128 at DOSbox prompt in MEM I still get XMS = EMS = 128, where I expected EMS to be 32MB (or less) - probably related to #3800.
clear, EMS supports up to 512MB LIM4.0-compatible extension. memsize=1024 correctly results in XMS=1024, EMS=512.
problem is with memalias=26, memsize=1024 and ems=emsboard - result is ~64MB for total, XMS and EMS, where I expected only XMS/Extended to be limited to ~64MB (26-bit address lines), while EMS to be 512MB and total to be ~64M+512M
At ems.cpp I see a few TODO notes, which seems relevant.
What is the difference in behavior between the ems=emsboard and emm386 settings?
on 8086 appears LOG: CPU is 286 or lower, setting EMS emulation to ems=emsboard and disabling VCPI and v86 startup
on 386 there is a 384K extra usage - probably means that up to 384+64 extended is used emsboard and above that emm386 - LOG: EMS:Unable to allocate EMS system handle. disabling VCPI
Can I have multiple boards for a total of more than 32MB EMS? Now I see that DOSBox gives up to 512MB EMS and that's good!
at less than 512MB RAM: EMS =XMS = RAM-1
at more than 512MB RAM: XMS = RAM-1, EMS=512
(actually, it's not "-1M", but -1M -64K (for HMA) -384K (equal to UMA, but it's already in the first megabyte, so why counting that twice? Also, when extended memory capacity is small - only 64K are utilized...)
Drivers and information about LIM specification and Intel Above Board Plus 8 - memory card using EMM.SYS:
Conventional memory backfill (to increase it to 640KB for PCs with less)
Mappable conventional memory (window from inside the first 640KB) - for DESQview, Win2.0
Expanded memory (window from inside the Upper memory 384KB) - for DOS LIM applications
up to 14MB per card
multiple cards, up to 32MB total per PC (what will happen if 4x14MB=56MB are installed?)
LIMulator - EMS on HDD (like Above Disc driver, but supporting the "LIM4.0 compatible superset" of Vadem VG230 or the F8680A approach or JemmEx-like with 32768 pages for 512MB capacity)
XMA, JRAM, others? - if a software using those is found
EMS driver that uses host RAM (or such option in the LIMulator) - maybe based on hardware driver, JemmEx or 386MAX
EMS driver option to use HDD space not managed by DOS (e.g. another partition/unpartitioned area or another HDD, even on additional controller) - that can be useful also on bare metal with (XT-)IDE SSD/RAMdisk, PicoMEM/FPGA/etc.
DOSBox EMS on 8086/186 skips the first 64KB - I assume because it inherits the mechanism from EMM286/EMM386. I think in emsboard case the first 64K should not be skipped.
XMS driver for 8086/NEC/etc.
provide XMS/HMA by using EMS/UMB/file/conventional/etc. (same places as above) - it seems DOSBox already does that now, but marks it as used? Can it become free to use by programs/Windows/etc.?
aligned with GLaBIOS/emulator if custom BIOS is needed for something, e.g. HMA/Gate A20 emulation
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I try to make a config emulating a EMS board(s) for running Win3.x in real mode.
When I set
ems=emsboard
andmemsize=128
at DOSbox prompt in MEM I still get XMS = EMS = 128,where I expected EMS to be 32MB (or less)- probably related to #3800.memsize=1024
correctly results in XMS=1024, EMS=512.memalias=26
,memsize=1024
andems=emsboard
- result is ~64MB for total, XMS and EMS, where I expected only XMS/Extended to be limited to ~64MB (26-bit address lines), while EMS to be 512MB and total to be ~64M+512MAt ems.cpp I see a few TODO notes, which seems relevant.
What is the difference in behavior between the
ems=emsboard
andemm386
settings?Can I have multiple boards for a total of more than 32MB EMS? Now I see that DOSBox gives up to 512MB EMS and that's good!
(actually, it's not "-1M", but -1M -64K (for HMA) -384K (equal to UMA, but it's already in the first megabyte, so why counting that twice? Also, when extended memory capacity is small - only 64K are utilized...)
Drivers and information about LIM specification and Intel Above Board Plus 8 - memory card using EMM.SYS:
EMS4.0 compatible superset 64MB:
Other variants:
DOSBox EMS on 8086/186 skips the first 64KB - I assume because it inherits the mechanism from EMM286/EMM386. I think in
emsboard
case the first 64K should not be skipped.XMS driver for 8086/NEC/etc.
XMS driver examples:
-- EXTMEMS.SYS from SOFTBYTE
Programs mentioning XMS separately from Extended memory:
Besides PC/XT, 24/26-bit 286/386/486 machines also can benefit from additional memory - both EMS and XMS.
Beta Was this translation helpful? Give feedback.
All reactions