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 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> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 > > >