Upper memory not fully available under VirtualBox

Discussions about using non Windows and Linux guests such as FreeBSD, DOS, OS/2, OpenBSD, etc.
Post Reply
t6ti00
Posts: 4
Joined: 8. Dec 2011, 21:23
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: MS-DOS, Windows 3.11
Location: Finland

Upper memory not fully available under VirtualBox

Post by t6ti00 »

I've been running MS-DOS/Win 3.11 virtual machine successfully for years on Microsoft Virtual PC and had 80 624 K of upper memory available. I have set up AUTOECE.BAT and CONFIG.SYS successfully to load some files into upper memory.

Today I started testing with newest version of VirtualBox and used existing *.VHD-disk image, so AUTOEXEC.BAT and CONFIG.SYS are unmodified. I get only 4 080 K of upper memory.

I have read viewtopic.php?t=7566 and used search-button as well looking for solution. I have tested tweaking memory options and other things as well, but there are still 4 080 K of upper memory available.

Is it true that FreeDOS is only solution to be used with VirtualBox, or are there other ways around?

Thanks.
- t6ti00
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: Upper memory not fully available under VirtualBox

Post by michaln »

I don't know what you call "upper memory" but it's not what you think. It's the region between 640K and 1MB which can be backfilled with RAM and there's never more than ~150KB available. But you're talking about 4 to 80MB... so what are you talking about?
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: Upper memory not fully available under VirtualBox

Post by Perryg »

I'm slightly confused as well. I have everything LoadHigh and here is what mem reports for me.
DOS-U-mem.png
DOS-U-mem.png (23.11 KiB) Viewed 8329 times
DOS-mem-u2.png
DOS-mem-u2.png (26.01 KiB) Viewed 8329 times
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: Upper memory not fully available under VirtualBox

Post by michaln »

Might as well upload the MEM results from one of my DOS VMs... note that I'm using the I= parameter of EMM386 to get more UMBs and EMM emulation is disabled.
Attachments
MEM output in PC DOS 2000
MEM output in PC DOS 2000
pcdos-mem.png (8.52 KiB) Viewed 8317 times
t6ti00
Posts: 4
Joined: 8. Dec 2011, 21:23
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: MS-DOS, Windows 3.11
Location: Finland

Re: Upper memory not fully available under VirtualBox

Post by t6ti00 »

michaln wrote:I don't know what you call "upper memory" but it's not what you think. It's the region between 640K and 1MB which can be backfilled with RAM and there's never more than ~150KB available. But you're talking about 4 to 80MB... so what are you talking about?
Oh yes... commas are missing here!

Here are what I got:

VirtualBox 4.1.6 (above) & Microsoft Virtual PC 2007 (below)
Attachments
VBOX.JPG
VBOX.JPG (49.65 KiB) Viewed 8289 times
VPC2007.JPG
VPC2007.JPG (42.65 KiB) Viewed 8289 times
- t6ti00
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Re: Upper memory not fully available under VirtualBox

Post by vbox4me2 »

Show us contents of config.sys and autoexec.bat + screenshot of only the mem command.
t6ti00
Posts: 4
Joined: 8. Dec 2011, 21:23
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: MS-DOS, Windows 3.11
Location: Finland

Re: Upper memory not fully available under VirtualBox

Post by t6ti00 »

Here are the contents:

AUTOEXEC.BAT

@ECHO OFF
PROMPT $p$g
PATH C:\WINDOWS;C:\DOS;C:\MOUSE
SET TEMP=C:\WINDOWS\TEMP
LOADHIGH KEYB SU,,C:\DOS\KEYBOARD.SYS
LOADHIGH C:\DOS\MSCDEX.EXE /D:MSCD001 /L:E
LOADHIGH DOSKEY
SHARE

CONFIG.SYS

DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER ¦
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
DOS=HIGH, UMB
BUFFERS=20
FILES=40
LASTDRIVE=H
STACKS=0,0
COUNTRY=358,,C:\DOS\COUNTRY.SYS
DEVICE=C:\MOUSE\MOUSE.SYS
DEVICEHIGH=C:\DOS\CDROM.SYS /D:MSCD001

...and screenshots:

VirtualBox 4.1.6 (above) & Microsoft Virtual PC 2007 (below)
Attachments
Mem only - VirtualBox 4.6.1.JPG
Mem only - VirtualBox 4.6.1.JPG (37.28 KiB) Viewed 8283 times
Mem only - Microsoft Virtual PC 2007.JPG
Mem only - Microsoft Virtual PC 2007.JPG (32.22 KiB) Viewed 8283 times
- t6ti00
stefan.becker
Volunteer
Posts: 7639
Joined: 7. Jun 2007, 21:53

Re: Upper memory not fully available under VirtualBox

Post by stefan.becker »

Its easy to solve, install XP as guest :)

What do yo want with such amount of himem? If you dont use 4 MB or 80 MB?
vbox4me2
Volunteer
Posts: 5218
Joined: 21. Nov 2008, 20:27
Location: Rotterdam
Contact:

Re: Upper memory not fully available under VirtualBox

Post by vbox4me2 »

Try: DEVICE=C:\WINDOWS\EMM386.EXE RAM ON NOEMS FRAME=NONE I=E000-EFFF I=B000-B7FF
It gives more ram but you will need to tweak more to get more.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: Upper memory not fully available under VirtualBox

Post by michaln »

t6ti00: No, commas weren't the problem, you just don't appear to understand the difference between a byte and a kilobyte... You said you had 80 624 K upper memory in VPC, but you apparently meant 80,624 bytes. That was very confusing because such amounts of upper memory are impossible.

Anyway, the EMM386 I=xxxx-yyyy arguments should fix it. Including the B000-B7FF region is safe, so is the CC00-DFFF region and in 99.9% cases, also the E000-EFFF region.

If enough users complain that EMM386 does not automatically detect the available UMB regions, it might even get fixed. Feel free to open a ticket about this and mention that it works in VPC (and/or whichever other virtualizer it works in).
t6ti00
Posts: 4
Joined: 8. Dec 2011, 21:23
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: MS-DOS, Windows 3.11
Location: Finland

Re: Upper memory not fully available under VirtualBox

Post by t6ti00 »

stefan.becker wrote:Its easy to solve, install XP as guest :)

What do yo want with such amount of himem? If you dont use 4 MB or 80 MB?
Actually I have XP as host. I am just one of those people who still enjoy working with real MS-DOS now and then. I'm sure you know already that some programs needed a lot of free conventional memory back in time.
vbox4me2 wrote:Try: DEVICE=C:\WINDOWS\EMM386.EXE RAM ON NOEMS FRAME=NONE I=E000-EFFF I=B000-B7FF
It gives more ram but you will need to tweak more to get more.
Thanks, it worked!
michaln wrote:t6ti00: No, commas weren't the problem, you just don't appear to understand the difference between a byte and a kilobyte... You said you had 80 624 K upper memory in VPC, but you apparently meant 80,624 bytes. That was very confusing because such amounts of upper memory are impossible.

Anyway, the EMM386 I=xxxx-yyyy arguments should fix it. Including the B000-B7FF region is safe, so is the CC00-DFFF region and in 99.9% cases, also the E000-EFFF region.

If enough users complain that EMM386 does not automatically detect the available UMB regions, it might even get fixed. Feel free to open a ticket about this and mention that it works in VPC (and/or whichever other virtualizer it works in).
I have to admit that I mix bytes and kilobytes now and then. Thanks to you, too.

It's now solved here. I opened a ticked about the issue.
- t6ti00
Post Reply