I see some documentation for DOS 4.0 here:
https://pcdosretro.github.io/multitaskingmsdos4.htm
It says NE executables don't have a PSP.
Is there another way of retrieving:
1. The command line (I believe this would have predated
the use of CMDLINE).
2. The environment pointer.
Thanks. Paul.
On Tue, 27 Feb 2024 06:12:29 +0800, Paul Edwards wrote:
I see some documentation for DOS 4.0 here:
https://pcdosretro.github.io/multitaskingmsdos4.htm
It says NE executables don't have a PSP.
Is there another way of retrieving:
1. The command line (I believe this would have predated
the use of CMDLINE).
2. The environment pointer.
Thanks. Paul.
OS/2 v1.0's SDK might shed some light. Assuming that it's available somewhere.
On 28/02/24 03:29, JJ wrote:
On Tue, 27 Feb 2024 06:12:29 +0800, Paul Edwards wrote:
I see some documentation for DOS 4.0 here:
https://pcdosretro.github.io/multitaskingmsdos4.htm
It says NE executables don't have a PSP.
Is there another way of retrieving:
1. The command line (I believe this would have predated
the use of CMDLINE).
2. The environment pointer.
Thanks. Paul.
OS/2 v1.0's SDK might shed some light. Assuming that it's available
somewhere.
What relevance is OS/2 v1.0 to MSDOS?
Thanks. Paul.
https://betawiki.net/wiki/Multitasking_MS-DOS_4
PS) the above article describe the subject much more in-depth than Wikipedia.
So I would guess that that means those registers are
the ONLY official way of retrieving both the environment
and the command line.
Which means the startup code for an application must be
written in assembler for MT MSDOS, unlike OS/2 1.x and
2.x which should be possible to do in C since registers
are not needed, and the stack can be ignored too, which
is helpful to me.
And the program name would presumably be at the end of
the environment block, as with MSDOS >3.
I know how to get these things in OS/2 1.0, but
the syscall:
DosGetEnv(&seg, &offs)
is not one of the ones available for MT MSDOS
that I saw.
So I would guess that that means those registers are
the ONLY official way of retrieving both the environment
and the command line.
Which means the startup code for an application must be
written in assembler for MT MSDOS, unlike OS/2 1.x and
2.x which should be possible to do in C since registers
are not needed, and the stack can be ignored too, which
is helpful to me.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 00:52:04 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
10 files (20,373K bytes) |
| Messages: | 264,186 |