Hello Eric,
Given that CWSDPMI uses a different API, that DPMI16BI with RTM are 16 bit, that DPMIONE provides mainly bare DPMI, that there are other extenders I do not know about, I would indeed be curious what the landscape of DOS extenders is now and has been in the 1990s :-)
Actually it is best to consider DOS extenders and DPMI servers as separate things. The expectation is that a DOS extender will sit "on top" of a DPMI server (well, OK, it can also sit on top of some other thing; see http://www.delorie.com/djgpp/doc/dpmi/ch4.html). DOS/16M, DOS/4G, DOS/32A, and PMODE/W are DOS extenders, while CWSDPMI and DPMIONE are DPMI servers. This means that we can expect, for example, PMODE/W to run on top of CWSDPMI. My guess is that each DOS extender will document the "extended" DOS or BIOS functions it supports, and how exactly to call them from protected mode. E.g. I see that DOS/32A's documentation talks about supporting (some) int 0x21 functions, some int 0x10 functions, and some int 0x33 functions, while PMODE/W apparently does not do int 0x10. (Incidentally, any DPMI server, with or without a DOS extender, will at least provide bare minimum interrupt reflection facilities ("The contents of the general registers and flags are passed to the real mode [interrupt] handler [...] Segment registers and the stack pointer are not passed between modes"). This means an application running under DPMI can simply call, say, int 0x21, ah = 0x02, and it will just work.) Thank you! -- https://gitlab.com/tkchia :: https://github.com/tkchia _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel