Am 09.06.2010, 21:04 Uhr, schrieb Pat Villani <p...@freedos.org>: > This is something we are definitely interested in. Contact me direct to > discuss it. > > Pat Villani > FreeDOS project Coordinator
Hello Pat, Thanks for your very quick reply and for your interest in the projects, I wrote about. My idea with LCC was, to have a small and also fast C-Compiler for DOS, which conforms to the ANSI-C standard. LCC is a very good candidate for this. My intention was, to circumvent the usage of the GAS assembler. Personally I'm quite used to the ATT assembler syntax, but most other people - especially those who want to learn C-programming - are not. I took the UNIX sources from Hanson's website and reworked the code generator quite a bit. Now it produces pretty assembly source, which is much more readable than the original. All the other parts from DJGPP are well known. I also tuned NASM a little bit for this task, because I only wanted two output formats: DOS binaries (flat com files) and COFF bianries for the LD linker. All the other formats were left out. So this assembler version is quite small and well tuned to be used with LCC. The binary output is useful for smaller standalone projects in assembler. Because LCC does not know anything about "pragma's" and stuff like that, I had to work on the GCC header files too. Now, mostly everything compiles with LCC which GCC also accepts. The only difference is, that LCC is very strict about the ANSI-C standard. People who are used to program for GCC in a more or less relaxed manner have to be more careful, if they want the code to be compiled with LCC. But I think, this fact is very helpful for beginners, because they learn better, how to correctly use the C standard. The VESA library was directly ported from my own GCC graphics library. I only had to change some small things in the initialization of the VESA mode, because I had to circumvent the usage of GCC's __attribute__ pragma. After this, the complete library was compiled by LCC with no problems. I think, this library could also be a good source for people who are new to this subject, because the library is a strict 2D-library but nevertheless it has some interesting features like very fast polynomial and also rational bezier curves. If users look at the code, they can add their own routines and play around with graphic programming. The library also has mouse support and it uses fonts, cursors and patterns, which I ported to DOS from original Macintosh resources. ----------------------------------- The EiC interpreter was another project, which layed around my table for quite a long time. In the beginning, I was not able to compile it successfully under DOS. It had many files with long file names and also an extremely strange set of interdependent makefiles and it was obviously never written by Ed. Breen to be compiled for DOS. Then I took up the sources again and carefully took out all UNIX and POSIX things. I wanted to get completely rid of any dependency on "unistd.h" or "termios.h". This was not as easy as I thought, but at the end I managed it. Because EiC was intended as an "interactive" C-Interpreter, Ed. had implemented many functions, which were only useful for this interactive mode. What I wanted, was a simple but complete, command driven C-Interpreter for DOS. It should work as easy as any Basic-Interpreter. The first working version of EiC was simply text based. After testing it, I was convinced that it might be useful for many more users. I'm not quite sure, why Ed. Breen vansished completely from the internet community, but after trying to contact him - contacting other developers - and searching the WEB, I gave up. I wanted to get his OK for my DOS adaption of his interpreter. Now, the sources are freely available on Souceforge, so I think there is no problem with the licence. Ed's sources had a so called Artistic License, which was similar to the GPL from GNU. My version therefore has the standard GNU GPL licence. The graphic library is basicly the same as the one, which comes with LCC. So you can now interpret or compile the same sources with either EiC or LCC. I also ported the EiC interpreter to Mac-OS7 up to Mac-OS9 (68k and PowerPC) and to Atari and Magic-C. Under MacOS, I use MPW as a very convenient shell for EiC. I can compile C sources with Apple's C-compiler (or with GCC) and also interpret them with EiC. I never understood, why this interpreter was only less known by many people. It is blasting fast - even in graphics mode you can see differences in the performance only if lengthy calculations or pixel based drawings have to be done. Normally there is no delay, compared to compiled code. The documentation is exceptional well done and very complete. So I decided to do it the same way and write my own library documentation with TeX. I think that EiC is the perfect learning tool for the C language, because you can safely write and test your code, get meaningful messages in case of errors and one can easily call it from an editor like q.exe or fed.exe. ---------------------------------------- I hope, this lengthy mail was informative to you. Let me know about it. Detlef Reimers Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/ ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel