#47 freecom could try to move itself into UMB

open
nobody
FreeCom (2)
2
2010-08-15
2008-03-09
Eric Auer
No

Moved from bugzilla item 1775 to here:

*Bernd Blaauw* 2004-04-20

I'd like to see FreeCOM always attempt to load into UMBs (just after attempting to load into XMS, for the XMS-aware version).

arguments:
*SHELLHIGH is an unknown command on Win98 (don't know if msdos.sys has a setting that will also work for 3rd-party shells like FreeCOM).

*spawned shell (by EDIT, or DOSSHELL for example) never loaded into UMBs.

following situation creates a setting where FreeCOM can load into UMB but not enough XMS is present:

DEVICE=A:\DRIVER\HIMEM64.EXE /MAX=500
DEVICE=A:\DRIVER\EMM386.EXE NOEMS I=B000-B7FF I=C800-EBFF
DOS=HIGH,UMB
DOS=NOAUTO
SHELL=A:\COMMAND.COM A:\ /E:1024 /D /P
set path=a:\freedos

especially FreeDOS EDIT v0.8 uses huge amounts of memory, and if not enough XMS is free for FreeCOM, then
KERNEL + FREECOM + EDIT + FREECOM means 77 + 127 + 198 + 127 KB used memory, leaving only 121KB free.

*Eric* 2004-04-21

Changed to "enhancement" / P3.

I think using SHELLHIGH is the better / more transparent way to select loading the shell into UMB. Downside of this is that you need a big UMB for SHELLHIGH because all of FreeCOM has to fit in there during init. A self-loadhigh feature could only move the small resident part (< 10k) of into UMB, at least in the FreeCOM version with XMS swapping. Note that it is a rare situation to have big UMB but no XMS free!

*Eric* 2004-06-12

Problem with this is probably that FreeCOM is more than 64k in size ACTUALLY / during init. Only after that it can swap out all except 3 kilobytes of itself to XMS while other programs are running. I suggest to put only those 3 kilobytes into UMB space while leaving the biggest part of FreeCOM in low memory while in use and in XMS while not.

Discussion

  • Eric Auer
    Eric Auer
    2008-03-09

    • priority: 5 --> 2
     
  • Kenneth Davis
    Kenneth Davis
    2010-08-15

    • labels: --> FreeCom