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 ==^^===============================================================
