www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2014/02/21/17:00:11

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: JJ <duh AT nah DOT meh>
Newsgroups: comp.os.msdos.djgpp,comp.os.msdos.programmer
Subject: Re: resident service providers
Date: Sat, 22 Feb 2014 04:40:21 +0700
Organization: ?
Lines: 60
Message-ID: <1c5guowhliwu1$.1f6ifzip4rzv9$.dlg@40tude.net>
References: <op DOT xblne4gx5zc71u AT localhost> <le723e$mg6$1 AT speranza DOT aioe DOT org> <op DOT xbm2ilql5zc71u AT localhost>
Mime-Version: 1.0
Injection-Info: mx05.eternal-september.org; posting-host="18890b685e16d42ea865902e4c1b85ae";
logging-data="9950"; mail-complaints-to="abuse AT eternal-september DOT org"; posting-account="U2FsdGVkX19gOPwx6OVq4hLXJfFgzgoAJioa7SUOODs="
User-Agent: 40tude_Dialog/2.0.15.1
X-Face: \*\`0(1j~VfYC>ebz[&O.]=,Nm\oRM{of,liRO#7Eqi4|!]!(Gs=Akgh{J)605>C9Air?pa d{sSZ09u+A7f<^paR"/NH_#<mE1S"hde\c6PZLUB[t/s5-+Iu5DSc?P0+4%,Hl
Cancel-Lock: sha1:Hrddtn3IZsJMBPutdAuB3b8SOM8=
Bytes: 4215
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

On Fri, 21 Feb 2014 10:55:23 -0500, Rod Pemberton wrote:

> On Fri, 21 Feb 2014 03:17:50 -0500, Martin Str|mberg  
> <ams AT dexter DOT ludd DOT ltu DOT se> wrote:
>> In comp.os.msdos.djgpp Rod Pemberton <dont_use_email AT xnohavenotit DOT cnm>  
>> wrote:
> 
>>> What I really need to know is how to code a resident service provider
>>> (DPMI enabled TSR) for a DPMI 0.9 host which doesn't support the two
>>> DPMI TSR calls (0c00h, 0c01h) that DPMI 1.0 supports.
>>
>> This isn't exactly what you want, but it should do that quickly and
>> easily:
>> Take the source code from CWSDPMI and remove support for those two TSR
>> calls and recompile...
>>
> 
> What?!?!  It's not April 1st yet ...  And, I don't see a smiley.
> 
> DJGPP provides functions for calling those two DPMI 1.0 calls, but CWSDPMI
> being mostly DPMI 0.9 doesn't implement those two calls.  So, I don't see
> how removing two non-existant calls from the CWSDPMI source and recompiling
> would help me quickly and easily ...  If you're saying it's a long, painful
> path not worth traveling, that would've been clearer to simply say.
> 
> AIUI, CWSDPMI is DPMI 0.9 compliant with a few DPMI 1.0 calls and features.
> But, CWSDPMI doesn't support the DPMI 1.0 TSR calls 0c00h and 0c01h.   
> AFAIK,
> eighteen other DPMI hosts don't support the DPMI 1.0 calls 0c00h and 0c01h
> either.  Even DPMIONE which is almost DPMI 1.0 compliant doesn't support
> 0c00h and 0c01h.  I know there is probably another twenty DPMI hosts I
> could check ...
> 
> The issue is I'd like to code a resident service provider.  That's a PM
> TSR which uses DPMI to install PM interrupts.  The first issue is DPMI 1.0
> specification provides for this via 0c00h and 0c01h calls.  However, I've
> not been able to find a DPMI 1.0 host that supports 0c00h and 0c01h calls.
> The second issue is DPMI 0.9 hosts don't have support for resident service
> providers at all.  A handful of DPMI 0.9 hosts is what I need the resident
> service provider to work with.
> 
> If I could code a test resident service provider for a DPMI 1.0 host which
> supports 0c00h and 0c01h, it might help me figure out how to code one for
> a DPMI 0.9 host which doesn't support 0c00h and 0c01h, or whether it's
> even possible without needing to update each DPMI host.
> 
> Rod Pemberton

Implementing the DPMI TSR functions outside the DPMI host that has no TSR
support will depend on its client termination handling. Whether the host
perform client cleanups on DOS TSR call, or not. Without this knowledge, it
would be difficult to implement and to get consistent result between
different DPMI hosts.

If the DPMI host does client cleanups on DOS TSR call, implementation of
DPMI TSR functions will require the original Int 21h, since DPMI hosts hook
Int 21h for client termination handling. So, a small DOS TSR must be loaded
first, before the DPMI host is loaded, in order to save the original Int
21h, where it can be retrieved later by the DPMI TSR functions
implementation.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019