X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: "Rod Pemberton" Newsgroups: comp.os.msdos.djgpp Subject: Re: djgpp for kernel dev. Date: Fri, 3 Mar 2006 05:13:14 -0500 Organization: Info Avenue Internet Services, LLC Lines: 69 Message-ID: References: <4404EB6F DOT D050DB39 AT compuserve DOT de> <200603011425 DOT k21EPHCE005449 AT envy DOT delorie DOT com> <440798e7 DOT 2544010 AT news DOT execpc DOT com> NNTP-Posting-Host: c-68-60-59-250.hsd1.mi.comcast.net X-Trace: news3.infoave.net 1141380804 60748 68.60.59.250 (3 Mar 2006 10:13:24 GMT) X-Complaints-To: abuse AT infoave DOT net NNTP-Posting-Date: Fri, 3 Mar 2006 10:13:24 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com "Chris Giese" wrote in message news:440798e7 DOT 2544010 AT news DOT execpc DOT com... > "Rod Pemberton" wrote: > > > >"DJ Delorie" wrote in message > >news:200603011425 DOT k21EPHCE005449 AT envy DOT delorie DOT com... > >> "Florian Liebig" wrote in message > >news:4404EB6F DOT D050DB39 AT compuserve DOT de... > >>> > >I'm already doing that with both DJGPP and OW. I'm running a Ring 0 OS > >written in DJGPP and OW without using a cross-compiler for either one. The > >disadvantage is that it can only be started from RM DOS (so far). It won't > >be startable with GRUB, etc...(at least not immediately, this can be added > >later on in development) > > I have used GRUB to boot kernels made with DJGPP (COFF format), MinGW > (Win32 PE COFF format), and GCC for Linux (ELF format). I used the GRUB > "a.out kludge" feature to boot the non-ELF kernels. It works well, > and I recommend it. > > http://my.execpc.com/~geezer/osd/index.htm Chris, I hope your still around to read this. Regarding your comment in PNP.C: /* Turbo C++ 1.0 seems to "lose" anything declared 'static const' */ and another comment in SERIAL.C: /********************************************************************* this function used to look like this: static int deq(queue_t *q, unsigned char *data) but Watcom C produces broken code for such a function. I don't know why. **********************************************************************/ The problem for both of those is the use of the keyword 'static'. I've restructured and ported djgpplba.c so it works with WATCOM (OpenWatcom1.3). http://www.openwatcom.org/index.php/Accessing_the_Harddisk_using_LBA_under_DPMI I can repost the complete code if you like, since they botched the author section... my.execpc.com/CE/AC/geezer/ods/libc lists the GCC/DJGPP callee-save registers but not those for WATCOM. I believe the OW1.3 stack calling convention -3s uses: ebx,edi,esi,ebp And, the OW1.3 register calling convention -3r uses:ebx,edi,esi,ebp,ecx,edx. I'm not sure about the selectors or other optimization levels. Freedos-32's (http://freedos-32.sourceforge.net/) 'x' loader has never worked for me. But, your MBLOAD.C will almost load Freedos-32. IIRC, it doesn't fill in the hard disk info, but otherwise works. I've added PS/2 keyboard routines to your standalone KBD.C. Would you like a version? Rod Pemberton PS. I don't have actual email. So anything I post would be through a NG...