PDOS-generic (Announce)
Hello marcov,
> Needing to use the plural of "Extenders" already says enough. If it had
> been centralized there would only be one, and with that also some more
> standardization of the 32-bit level interface.
There is a standardized 32-bit interface. It is called DPMI.
If you ever wondered why a DJGPP program runs just fine whether it is running on top of CWSDPMI, DPMIONE, QDPMI, or dosemu — it is because it is running on top of a clearly standardized ABI — the "DOS Protected Mode Interface Specification 0.9". If you throw away CWSDPMI and load another DPMI client, the DJGPP program will continue to work just fine. Because there is a standardized ABI.
Also, just to clear up a few misconceptions:
DPMI hosts and DOS extenders are actually separate things. DPMI provides a sort of thin layer of abstraction to allow protected mode programs to call back to (or simulate) real-mode BIOS or DOS functionality. (Seriously, read the specification...)
A DOS extender (e.g. DOS/4G, PMODE/W) would normally build on top of this thin DPMI layer to provide a thicker, more full-fledged "int 0x21 ABI" (and more). This allows programs to pretend, at the assembly language level, that they are dealing with a sort of fully "32-bit DOS", with a 32-bit "int 0x21, ah = 0x40" etc.
However, this thick DOS extender layer is not a requirement. In fact DJGPP's C runtime library does not use a DOS extender at all. (!) It only requires a DPMI host, and directly calls out to the thin DPMI layer. You do not need DOS/4G, etc. to run a DJGPP program.
Thank you!
---
https://gitlab.com/tkchia · https://codeberg.org/tkchia · 😴 "MOV AX,0D500H+CMOS_REG_D+NMI"
Complete thread:
- PDOS-generic - kerravon, 30.10.2021, 10:02 (Announce)
- PDOS-generic - kerravon, 31.10.2021, 06:40
- PDOS-generic - kerravon, 31.10.2021, 09:43
- PDOS-generic - ecm, 31.10.2021, 22:11
- PDOS-generic - kerravon, 31.10.2021, 22:29
- PDOS-generic - ecm, 31.10.2021, 22:32
- PDOS-generic - kerravon, 31.10.2021, 22:46
- PDOS-generic - tom, 02.11.2021, 18:25
- PDOS-generic - kerravon, 02.11.2021, 21:29
- PDOS-generic - ecm, 03.11.2021, 08:54
- PDOS-generic - kerravon, 03.11.2021, 19:48
- PDOS-generic - ecm, 03.11.2021, 08:54
- PDOS-generic - kerravon, 02.11.2021, 21:29
- PDOS-generic - tom, 02.11.2021, 18:25
- PDOS-generic - kerravon, 31.10.2021, 22:46
- PDOS-generic - ecm, 31.10.2021, 22:32
- PDOS-generic - kerravon, 31.10.2021, 22:29
- PDOS-generic - marcov, 02.11.2021, 19:42
- PDOS-generic - kerravon, 02.11.2021, 22:00
- PDOS-generic - marcov, 03.11.2021, 16:43
- PDOS-generic - kerravon, 03.11.2021, 20:06
- PDOS-generic - marcov, 13.11.2021, 15:49
- PDOS-generic - kerravon, 14.11.2021, 09:01
- PDOS-generic - marcov, 13.11.2021, 15:49
- PDOS-generic - tom, 04.11.2021, 15:28
- PDOS-generic - marcov, 08.11.2021, 10:21
- PDOS-generic - tkchia, 08.11.2021, 16:24
- PDOS-generic - DosWorld, 08.11.2021, 17:17
- PDOS-generic - marcov, 13.11.2021, 16:03
- PDOS-generic - tkchia, 13.11.2021, 17:42
- PDOS-generic - kerravon, 12.11.2021, 01:50
- PDOS-generic - kerravon, 12.11.2021, 11:10
- PDOS-generic - Ringding, 12.11.2021, 13:39
- PDOS-generic - kerravon, 13.11.2021, 02:26
- PDOS-generic - Ringding, 13.11.2021, 09:55
- PDOS-generic - Ringding, 13.11.2021, 10:51
- PDOS-generic - Ringding, 13.11.2021, 09:55
- PDOS-generic - kerravon, 13.11.2021, 02:26
- PDOS-generic - tkchia, 08.11.2021, 16:24
- PDOS-generic - marcov, 08.11.2021, 10:21
- PDOS-generic - kerravon, 03.11.2021, 20:06
- PDOS-generic - marcov, 03.11.2021, 16:43
- PDOS-generic - kerravon, 02.11.2021, 22:00
- PDOS-generic - ecm, 31.10.2021, 22:11
- PDOS-generic - kerravon, 31.10.2021, 09:43
- PDOS-generic - kerravon, 31.10.2021, 06:40