Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

PDOS-generic (Announce)

posted by tkchia Homepage, 08.11.2021, 16:24
(edited by tkchia on 08.11.2021, 19:18)

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:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 432 users online (0 registered, 432 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum