delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2006/02/01/23:11:40

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
Message-ID: <43E1863D.8080308@mainstreetsoftworks.com>
Date: Wed, 01 Feb 2006 23:10:37 -0500
From: Brad House <brad AT mainstreetsoftworks DOT com>
User-Agent: Mail/News 1.5 (X11/20060201)
MIME-Version: 1.0
To: djgpp AT delorie DOT com
Subject: Re: TSR issues (with code)
References: <43E12016 DOT 2070308 AT mainstreetsoftworks DOT com> <7t88b3-d2q DOT ln1 AT news DOT infowest DOT com>
In-Reply-To: <7t88b3-d2q.ln1@news.infowest.com>
Reply-To: djgpp AT delorie DOT com

Thanks for replying (and testing)!
I've actually not yet tested any DPMI other than cwsdpmi (I was
assuming it was me, totally).  On your tests, I assume the Win98
DosBox test used the Windows DPMI env, and the RM MS-DOS 7.10
used cwsdpmi?  I only have MS-DOS 6.22 here, so I'll have to find
a Win98 disk somewhere and see if it's 6.22 giving the issue.  I'll
also test PMODETSR to see if that resolves it as well.

One other thought.  I'm using DJGPP 2.04 beta with gcc 3.4.4 and
binutils-2.16.1.  What versions are you running?  If you're running
something other than that, could you send me the testtsr.exe that you
generated so I can verify if maybe it's my development environment?

Oh, and, I really don't plan on using WatcomC, we were just doing some
testing to see if that would be a feasible option if all else fails,
but I think we'd like to stick with DJGPP and GCC if at all possible
(besides DOS/4GW doesn't support protected mode TSRs, so we'd have
to see if DOS/4G is still out there).

Thanks for the suggestion on enable() and disable(), I'll go ahead and
implement that since disable() returns whether or not the interrupts
were already disabled, and is probably a safer route to go (to not
reenable interrupts unless they were enabled upon entry).

Sorry about the messyness on the #ifdefs ... there were originally a
lot more embedded in there for a lot of testing I was doing, so it
was hard to see how they were nested without the indentation (which
I'm pretty sure is legal), but it does look out of place with
only the few that are still remaining.

Are there any suggestions you can make if all else fails? My DOS 6.22
environment is pretty much a fresh install, I think the only thing
I might have loaded extra (over the basis like HIMEM.SYS is a
packet driver for a Intel Pro 100 NIC, I'll try unloading all that
stuff just in case).

Thanks again!
-Brad

Rod Pemberton wrote:

> Sorry,
> 
> It ran to completion after roughly 8 minutes in a both a Win98SE DOS-box and
> in RM MS-DOS 7.10 (Win98SE).  I had to hit return to get the prompt back.
> Perhaps, something else is interrupting the process or running at the same
> time?
> 
> I did notice that CWSDPMI created a swap file on my machine, so maybe the
> 6.22 DOS machine doesn't have enough memory?
> 
> You can also try running stubedit and changing the DPMI host to
> PMODETSR.EXE.  If the problem goes away, there is an issue with the way you
> are using DPMI w/CWSDPMI.  I can provide more help, if this is the issue.
> 
> Other than that, I have a few comments:
> 
> 1) _go32_my_cs  maps  to _my_cs() in go32.h
> 
> 2) It appears that you eventually want this to work for DJGPP and OW.  In
> which case, you should use 'disable' or '_disable' for 'cli' and 'enable' or
> '_enable' for 'sti'.  DJGPP maps to one assembly instruction, but OW uses
> _two_ assembly instructions for one of them...
> 
> 3) It was hard to tell what was C code and preprocessor code because you use
> spaces between '#' and the rest of the preprocessor directive.  I don't even
> think that is legal, although it works.
> 
> 
> Rod Pemberton
> 
> 
> 

- Raw text -


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