On 2002-11-18, Arkady wrote:

>> environment for process #0
>> when they started to support the SET statement in CONFIG.SYS
>> (DOS 5 or 6?) 
>
> AFAIR, 6.x, also as menus.

Actually, it was DR DOS 6.0 where the CONFIG.SYS SET= directive
was introduced in 1991 (maybe even earlier in Concurrent DOS,
I haven't checked right now). MS-DOS 6.0 and PC DOS 6.1 came
about two years later in 1993.

> 1. Under "bug"==not accepting _zero_ value as "missing environment";
>    this not relates to more general _garbage_. BTW, do you know that,
>    say. DesqView may generate zero value in env_seg?

Stretching the original subject, not only Quarterdeck's DESQview may
do this - DR-DOS TASKMAX/TASKMGR can do this as well when creating
new tasks (see TASKMAX API at INT 2Fh/AX=270xh).

Future issues of DR-DOS may even have a few new load options added to
INSTALL/LH to fine-control the behaviour (to save environment space
for TSRs, when they don't make use of the environment, anyway).
Would be nice to have in FreeDOS as well, I think.

>From an in-edit INT 21h/AH=4Bh file for RBIL62:

|Format of EXEC parameter block for AL=00h,01h,04h:
|Offset  Size    Description     (Table 01590)
| 00h    WORD    segment of environment to copy for child process (copy
|                  caller's environment if 0000h)
| 02h    DWORD   pointer to command tail to be copied into child's PSP
|                  at 80h (See Table "command tail" at INT 21h/AH=26h)
| 06h    DWORD   pointer to first FCB to be copied into child's PSP
|                  at 5Ch
| 0Ah    DWORD   pointer to second FCB to be copied into child's PSP
|                  at 6Ch
| 0Eh    DWORD   (AL=01h) will hold subprogram's initial SS:SP on return
| 12h    DWORD   (AL=01h) will hold entry point (CS:IP) on return
|Notes: PTS-DOS 6.51 will allocate the environment above the program
|         when the INSTALL[HIGH] /E load option was used (SeeAlso:
|         INT 21h/AH=58h).
|       early versions of DR Concurrent DOS and DOS Plus did not cope
|         with an environment value of zero; this was fixed on
|         1988-06-02 for the [D]CONFIG.SYS INSTALL= directive,
|         apparently introduced around this date in Concurrent DOS???
|         (This directive showed up in the single-user series not
|         before a year later with DR DOS 3.41+???)
|       if the environment segment supplied is zero and the caller also
|         has a zero environment, DOS will not allocate an environment
|         at all.
|       DR DOS 5.0+ (since 1990-04-10), RxDOS 6.0+ (at least since
|         1994-06-06), and DOS-C (1996) are known to handle this
|         special case as well.
|       MS-DOS/PC DOS/DR-DOS, and DOS-C (1996) verifies that the actual
|         environment is at most 32768 bytes long and is
|         zero-terminated, if it is not, the kernel will bail out.
|       in order to reduce memory fragmentation and save memory, future
|         issues of DR-DOS (post 7.05) may possibly add new load
|         options like
|
|          [HI]INSTALL|INSTALL[HIGH] and LH|LOADHIGH|HILOAD
|          [/D[:d[:]]] [/E] [/L...] [/S] [/Z] = d:\path\prg.com params,
|
|         where:
|
|          /D  starts the program from a temporary SUBSTed drive
|              (default B:)
|          /E  places the environment above the program instead
|              of below
|          /Z  creates a zero-environment (similar to DESQview's
|              feature)
|
|       RxDOS 6.0 is known to handle the case of a zero command tail
|         pointer, in which case it will not copy a command tail into
|         the PSP.
|       DOS-C (1996) will truncate the command tail copied into the PSP
|         so it never exceeds 127 characters and it will always
|         terminate it with a 0Dh (CR).
|SeeAlso: #01591,#01592

Greetings,

 Matthias

-- 
<mailto:[EMAIL PROTECTED]>; <mailto:[EMAIL PROTECTED]>
http://www.uni-bonn.de/~uzs180/mpdokeng.html; http://mpaul.drdos.org

"Programs are poems for computers."

----------
list options/archives/etc.: http://www.topica.com/lists/fd-dev
unsubscribe: send blank email to: [EMAIL PROTECTED]

==^^===============================================================
This email was sent to: [email protected]

EASY UNSUBSCRIBE click here: http://topica.com/u/?bz8Rv5.bbRv4l.YXJjaGl2
Or send an email to: [EMAIL PROTECTED]

T O P I C A -- Register now to manage your mail!
http://www.topica.com/partner/tag02/register
==^^===============================================================

Reply via email to