On Wed, 30 Jun 2004, Arkady V.Belousov wrote:
Hello Arkady,
30-éÀÎ-2004 00:54 [EMAIL PROTECTED] (FreeCOM) wrote to [EMAIL PROTECTED]:
OK, I actually seem to have misinterpreted your description that INSTALL= and SHELL= programs will get passed an EnvSeg == 0, as this is wrong, please ignore anything I said about this topic.
F> 2. Do you suggest that when FreeCOM.ParentPSP == 0, FreeCOM is to assume F> that it runs from either INSTALL= or SHELL= and shallt assume /P?
Do you mean: "if FreeCOM finds that its _parent_ PSP contains ps_parent==0 (ie, it have no grandfather), then it should make yourself
No, I did interpreted your explanation wrong.
permanent (set own ps_parent yo itself)?"? Yes, this behavior may be useful: some users may forget to add /P into SHELL= line and will be confused after casual extra line (because, unlike MS-DOS, which automatically tries to restart command.com, FreeDOS directly asks path to command interpreter).
Good, I will file this as enhancement request.
Don't know about "unused" (may be, MS-command.com uses it for own needs), but yes: original block remains in memory:
Wild guess:
maybe, this is the persistent environment you were searching for? (For to pass the environment to the next SHELL, once the SHELL= program terminates?)
F> Anyway, I made the /LOW option of FreeCOM work. So you can relocate the F> environment block whereever you like from within AUTOEXEC.BAT. As I
How? As I understand, this may and should affect already runned (primary) FreeCOM only if this options given before its run (for example, SHELL=command.com /low /p)? And, who says that placing environment into upper memory is bad? I say, that using LAST_FIT is bad stategy (for UMBs this makes inoptimal memory usage, in low memory this makes fragmented
So, why would be "FIRST_FIT" or even "BEST_FIT" optimal? It cannot, neither. Optimal would be when the user could decide where to place which part. But this is no option at the current time.
F> said: FreeCOM relys on the FreeCOM.EnvSeg pointer for all its operations F> and it is guaranteed that all cached data is flushed, when FreeCOM gets F> re-activated after running an external command.
This is your deal, I don't say anything about FreeCOM own (child) PSP.
Huh? You said you need to have the environment segment placed somewhere else. I did not mentioned the PSP as well. You can write a program to move the parent's environment to any location you like. That is the most optimal placement I can imagine.
F> It is currently not possible to use FIRST_FIT (and therefore BEST_FIT F> neither) and I do not hassle with the XMS code to move the environment F> segment around.
Look at memory map above again. And look at FreeCOM map:
______________O\_/_________________________________\_/O______________ -0FA7 2.01k STACKS= 0FA7 64 --free-- 0FAB 2.87k COMMAND 1063 574k --free-- 9FEF 272 COMMAND environment -A000- _____________________________________________________________________ O/~\ /~\O
But what do I see here in conjunction that "It is currently not possible to use FIRST_FIT (and therefore BEST_FIT neither)" for FreeCOM?
Bye,
--
Steffen Kaiser