Closed mateuszviste closed 3 months ago
There is also this (potential) issue that the config environment is overwritten before the shell has a chance to read it (typically if a driver or config.sys-loadable TSR allocates high memory).
Yes, this might be a problem. Perhaps we could relocate the initial environment to 60h from the start, without setting the PSP environment, but returning 60h via the 4458h and adding a COMSPEC. I think this would ensure maximum compatibility with older software while having the initial environment at a safe place. Then SvarCOM still would have to differentiate between EDR and FD kernels, building its own master environment from the config environment, but at least environment invalidation would not be an issue, I guess.
Perhaps we could relocate the initial environment to 60h from the start, without setting the PSP environment, but returning 60h via the 4458h and adding a COMSPEC.
I agree this would be a very good compromise. Useful for new usages and still retro-compatible.
This follows https://github.com/SvarDOS/bugz/issues/93
Bernd says:
I think this would be a very positive change. The only drawback I see is that the shell will have to detect that it is initial boot time (and hence time to reach to the config environement for F5/F8 detection) in a different way. Currently SvarCOM checks for a zeroed environment in its PSP. The easy way would be to change this and check it the PSP mentions seg 0x60 instead... but is it robust/clean enough? There is also this (potential) issue that the config environment is overwritten before the shell has a chance to read it (typically if a driver or config.sys-loadable TSR allocates high memory).