Hi Eric,

> this thread seems to mix two topics: 

Yep, things got mixed, I suppose it's my fault. 
Consequently I'll try to leavo out - not quote - the bits
which, though they may be interesting, I think irrelevant herein

(snip...)

> As Tom already pointed out, the location of the
> master env in FreeCOM is "near the end of the free DOS RAM",
> but only AFTER you get the chance to load e.g. UMB drivers.

And as I must stress once again, I am considering the /alternate/ 
case, when no UMBs will be provided for DOS use. I have been suggesting that in 
this case, FreeCOM ought to allocate the block that it reserves for 
storing the main (1st level) environment area. Similar to what other 
reference DOSes have done forever (well, starting since MS-DOS 2, I think
DOS 1 did not have the concept of "environment variables" later "borrowed" from 
Unix... 

> Also, the FreeDOS kernel allows you to control whether the
> BIOS XBDA data should be relocated.

This was a lateral question, but still : how ? the kernel we use doesn't seem 
to obey a 'Switches=/E' directive in Config.sys, that is the MS-DOS way. 

> So FreeCOM might differ from MS DOS, but still behave in a good way.

I beg to differ vigorously - it behaves in a bad (tm) way.

>> ...this bizarre, unmotivated, design of FreeCOM definitely interferes
>> negatively with some aspects of the project. It isn't ruining all,

> Bizarre yes, unmotivated no. For example XMS swapping is one
> very useful feature of the complex FreeCOM memory handling.

Like 4DOS by the way. I fail to see what XMS swapping (nice to have) is to do
with my critique, though...

>> Back to FreeCOM : of course we, app programmers, could devise a utility
>> for the purpose of moving  that darned environment back to where it 
>> belongs, i.e., low contiguous DOS-managed memory.

> It is still obscure to me why that "darned" environment is so
> much in the way for your project where it is with FreeCOM...?

Suffice it to say it is an impediment to that project, plus a non conformance 
that will break other DOS apps for no real reason (that I can perceive)

>> Leaving apart the fact that doing so from a transient DOS program and
>> without leaving holes is not absolutely a trivial programming task, we
>> would be still faced with the problem that, how are we supposed to 
>> reliably /find/ and adjust the pointer(s) that... FreeCOM internally keeps

> I may be mistaken, but should not just the PSP point to the environment?

You are mistaken indeed. Command's, or FreeCOM's own PSP would point to /its/ 
initial environment (if there was any established by Config.sys command, as has 
been possible in /MS/DOS since DOS 6, I know not whether FreeDOS has a similar 
concept. Let's not digress again!). Thus, the environment pointer inside the 
command processor's (shell's) PSP is either NUL, else pointing to an initial 
environment of no significance nor use.(Digressing again, I have been known to 
free that useless initial environement).

/The/ "master environment" is a brand new one built by Command while it
initialises things, and sized according to Command's command line
parameters (if this is the primary shell, in turn lifted from the 
SHELL line in config.sys).

Command / FreeCOM has to ask a block from DOS using the usual allocation
functions 48h etc, with appropriate choices of "strategy".
To sum up, repairing FreeCOM may be as simple as it passing the proper 
allocation strategy, i.e., don't include UMBs + find lowest suitable block 
as part of its DOS calls reserving that block. 
to the shell from DOS System initialisation.)


>> Clearly IMHO it is Freecom's responsibility (i.e., of whoever is tasked with 
>> debugging, maintaining and enhancing FreeCOM) to provide the solution,
>> be it a command line option, a permanent fix, or even an API.


>See above. Also, nobody is "tasked" with FreeCOM, as this is
>not a commercial product. 

I meant tasked in the sense of being the official maintainers, not as in
paid for doing it.

> Unfortunately, very few people who
> are FreeCOM experts are around here recently... On the other
> hand, maintenance is so slow because there was so little left
to improve. 

Understood. Maybe if whoever is familiar with FreeCOM sources would 
consider the elements I have tried to provide, they would not find it 
unsurmountable to repair (or diplomatically, revise) this aspect.

Bye !

-- 
Czerno


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to