X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f NNTP-Posting-Date: Sun, 11 Oct 2015 11:22:04 -0500 From: "Charles Sandmann" Newsgroups: comp.os.msdos.djgpp References: <201405111842 DOT s4BIgrRx012234 AT delorie DOT com> <2943e$56161ee8$97d537ad$10931 AT ALLTEL DOT NET> In-Reply-To: <2943e$56161ee8$97d537ad$10931@ALLTEL.NET> Subject: Re: secret DJGPP documents? Date: Sun, 11 Oct 2015 11:21:57 -0500 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="Windows-1252"; reply-type=response Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331 Message-ID: Lines: 106 X-Usenet-Provider: http://www.giganews.com NNTP-Posting-Host: 64.91.135.5 X-Trace: sv3-HWFbkOZGl8xBoDUffq/MJFesTb6YIwHWX2LAHrzM5V08AZDf75+DNyUYEBDC1T4Eaq88OgRH+ykn2Pw!8/upd837GHCDCbFIh3kMBlNxOi8EzfHwTLHojHVx6filLnvRdaAyk7GdO34kAGKXkA2r9AbpQxGl!QGCIylvfiUCDwzxs+dYlA9ouI76xtw== X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 Bytes: 6757 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Frank H. Sapone" wrote in message news:2943e$56161ee8$97d537ad$10931 AT ALLTEL DOT NET... >You mention stuff with id. What was is that they worked with you on and what >did you implement? id was doing Quake development on Unix systems (faster and more stable) but knew their commercial delivery platform would be the PC. When they started it appeared that DOS would be the target, but Windows 95 turned into a commercial success very quickly. DJGPP v2 worked very well on both DOS and Windows 95, but wasn't near completion. id reached out and asked for help (GCC made multi-platform development much easier). IIRC, they specifically wanted: 1) Some libc updates to handle calls they were using (v2 libc was minimal at that point) 2) Under W95 they could not reliably get the 12MB(?) of memory they needed, on a 16MB system if it had been running a while, so I provided them a hack to page out other applications so they could lock the memory required. It was a stupid little thing about how W95 didn't follow DPMI expectations, frustrated them for weeks (commercially they must run on 16MB system, many systems were architecturally limited to 16MB at the time). It took me about an hour to develop a workaround. 3) id wanted a flat address space to match their Unix development environment. Nearptrs were developed to support access to video framebuffers. A related effort was a joint telephone call with me, id and Microsoft over nearptr support on Windows NT (Microsoft didn't have the appropriate page-level protections in a lot of their code so used segment limits as a workaround to try to provide memory security, which they said would be too hard to fix, and this is why Quake would not run on NT). 4) They were having trouble with getting SoundBlaster DMA to work reliably under W95. We swapped some thoughts and some example code. Eventually they solved this problem on their own (I didn't fix it) but they said something I sent did help them find their fix. 5) The ring 0 version of CWSDPMI was developed specifically for id. They wanted to use features of the newly released Pentium chips to time certain sections of their code (performance tuning). This was required during development but the code, but was not needed for running. 6) During the beta period certain high-end video configurations didn't work with the still-in-beta pre-r1 cwsdpmi they were using. I had to add framebuffer address remapping code hack to get some systems working. The entire process was great for DJGPP, since id were very focused on a commercial delivery. When you have a team of volunteers working on what they want to do, often things critical for a commercial product would slip while something personally interesting gets worked. Here I was seeing both a company (and beta customer) problems. There were very clear requirements and needs for a stable, well tested product. My background is Chemical Engineering, but the DJGPP project developed my interest in good software engineering processes. Success in my job today was helped by the DJGPP hobby I had 20 years ago. >Is any of the correspondence saved? Someplace on all the stacks of backup media, I think every email I have ever exchanged is stored someplace. In the mid-90s I was using both the clio email address and one from my dial-up isp at the time neosoft. But digging through old media is not high on my current priorities. >I read some more ancient threads from Quake's heyday on here and it appeared >that they wanted a Ring-0 version of CWSDPMI and some stuff with nearptrs. All correct. I refused to be compensated for this (incompatible with my job terms at the time), but they figured out a way to say thanks that I would not refuse :-) (They shipped me a huge monitor and one of their P60 systems they replaced with a P90. I was not going to spend several hundred $ to ship it back to them. The monitor alone was around 80 lbs. It was a huge surprise one day when I came home from work). Just yesterday we found the original Quake CD they sent me; my son had borrowed it about 10 years ago and it was in a stack of stuff being tossed out. >Sezero and I have been successfully using regular CWSDPMI.EXE instead of >CWSDPR0.EXE in QDOS, Q2DOS, and uHexen2 with no issues... Though I switched >backed to CWSDPR0.EXE in my QDOS project since the original id game used it as >such. I haven't noticed any serious performance degradation or increase >between using one or the other. As above, since Quake had to deal with any available DPMI provider, it could not insist upon a ring-0 version. The CWSDPMI ring-0 version was not for performance reasons but for development profiling reasons (turning on debug code requiring ring-0 access). The ring-0 version needed some interesting hacks to avoid double-faults in kernel mode. >Apologies for the necropost, but was looking over old archives and this caught >my attention! You caught me in a good mood, especially after finding what happened to my original CD from many years ago.