Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Date: Tue, 21 Sep 1999 10:13:51 +0200 (CEST) From: Federico Bianchi To: dale henderson cc: cygwin AT sourceware DOT cygnus DOT com Subject: VxD device drivers - again In-Reply-To: <19990921073631.75824.qmail@hotmail.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Tue, 21 Sep 1999, dale henderson wrote: > Is there any open source software to create Win9x device drivers? > I would like to try VxDWriter, but it currently just supports VC++. > Is it possible for Mingw32 or Cygwin to support LE file format? > Here is the response from maker of VxDWriter: > > 1. All the Win98 DDK header files are written specifically for MS VC++ > compiler using compiler specific pragma directive. VxDWriter uses the > Win98 DDK header files for define constants, typedefs, and some > enumeration values (service ordinals) for few inline functions. So, > you need to edit all the header files to remove all MS VC++ specific > pragmas so that they can work with Mingw32 compiler. But you may use > VxDWriter's header and library with other compiler, though I have not > tested it. In fact. And as soon as those libraries are going to use C++ features, name mangling issues will pop up as well. > 2. VxD is not in PE format. It is in LE (linear executable) file > format. Only MSVC++ linker, which also comes with Win98 DDK, can > produce a VxD. It would be interesting to see if this linker will > accepts the COFF object files produced by Mingw32 compiler. If not the > only option will be to initially produce a "VxD" with Mingw32 linker > and then convert it to LE file format using a utility, which you need > to write. Note that LE file format is documented by MS, but some > documents are available on Internet. This is actually a non-issue. MinGW can't create LE executables, but there is a GCC package for OS/2, whose linker might be "stolen" and adapted to get the job done with little or no fuss (as driver developers know, the LE format is a very close relative to the OS/2 32 bit LX one). A _real_ issue would be debugging support - as far as I know, there is no good converter among the different formats, and while looking at pure x86 machine code with SoftICE, WDEB*, TrW or the likes is indeed very macho, I think there must be some better ways to spend time... And errors in a VxD or KMD often means locking the system up. > Initially we had plan to support other compiler with VxDWriter package. > But to do that we need to license Win98 DDK from MS to distribute a > modified version of the header files. I doubt how many people would be > interested in it and its commercial viability. In fact. The very same argument might be used w.r.t. KMD/WDM programming with anything different from the crunky MSC/MASM couple. Federico Bianchi Dipartimento di Storia delle Arti Universita` degli Studi di Pisa p.zza S.Matteo in Soarta, 2 - 56127 Pisa (Italy) tel. +39-050-587111 (cent.), +39-050-587224 (uff.) fax. +39-050-580128; e-mail: =================================================== !DISCLAIMER!: my e-mail reflects _my_own_ opinions! =================================================== -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com