RE: Compilers needed for FreeDOS ? Lets talk about compatibility instea
"Christopher M. Gibbs" <[email protected]> Wed, 6 Nov 2002 09:10:43 -0500
| Newsgroups | gmane.os.freedos.devel |
|---|---|
| Message-ID | <[email protected]> |
I have had problems with subst, and went to using swsubst (which I believe is included with FreeDOS). It has worked just fine... -----Original Message----- From: Eric Auer [mailto:[email protected]] Sent: Tuesday, November 05, 2002 7:04 PM To: [email protected] Cc: [email protected] Subject: [fd-dev] Compilers needed for FreeDOS ? Lets talk about compatibility instead... Hi, you have asked what is needed to "compile FreeDOS". Well, this greatly depends upon WHAT part of FreeDOS you want to compile. Many of the C programs can be compiled using Turbo C (free download after becoming a member of the Borland community - for free - at borland.com) or Watcom C (kind of bigger, but also free, I think. Check the link page on www.freedos.org). Sometimes, for example for the kernel (the program which runs as very first part of FreeDOS after boot up, first the boot sector and then the kernel.sys file itself), you need an assembler, like the free NASM (also linked from FreeDOS.org, I think). A few programs are written in Pascal or even "stranger" languages (for example one of the keyboard drivers). Some are using non-free assemblers for their assembly language part, so if you want to modify them, you need to have that assembler (for example some memory drivers). However, in almost all cases, you can simply use the BINARY versions to run and just READ the sources for your curiosity :-). Only if you want to fine-tune or improve a package you actually need to compile it yourself. Some packages could be compiled with a buggy compiler or in a way that makes them run only on a 286 or 386 or above, but I think those cases are VERY rare (actually, I would like feedback on this - please do not mail about packages that are MEANT to run only on at least this-or-that CPU). Finally, I would like to remind all of you that it is always interesting to hear about some software that does not yet run with FreeDOS, especially if you can figure out WHY this is the case. If you are good in C, you could for example analyze why the CSAP directory sorter from www.simtel.net does not like us ;-)). Please try to avoid reporting known problems, here a list of some: - FreeDOS cannot use long file names in some native way, but some DOS programs (some of them part of FreeDOS) can. However, you need a driver to be loaded, and those drivers do not usually support long filenames on network drives. - FreeDOS cannot provide EMS and protected mode at the same time yet: Try to use XMS instead, or use the emm386 of another DOS, for example the free-for- noncommercial-use DR-DOS. For a related reason, you can only have UMB if you either have a chipset supported by UMBPCI and its cousins or do not need protected mode. - For some unknown reason, FreeDOS or at least its memory drivers are not compatible with MS SMARTDRV. Use the cache of some other DOS or the less efficient LBAcache of FreeDOS (working on that ;-)). - Turbo C++ 3 seems to run unstable (protected mode issue?). However, it is listed as being compatible. - Descent only runs with DR emm386 in the exotic DPMI=ON mode, seems to be an incompatibility of the DPMI that comes with Descent itself with FreeDOS. - The 3d game that came bundled with my 3d graphics card crashes when I switch to 3d mode. No idea at all why. It is even possible that my card is broken, I have not used 3d mode at all for a long time (card is Virge DX 4 MB PCI). - Some older programs simply run too fast on newer PCs, or even crash just because your PC is too fast (e.g. more than 180 MHz). This is not a bug of FreeDOS, the only thing you can do is fix the timing of the old programs. - MS Windows 3.x does not run with FreeDOS. It almost runs, but always crashes way too soon. I am not sure if anybody currently investigates that. - subst/join do not like me, do not ask me why. Also, it is a known lacking feature that DIR cannot sort. However, you can use DRL or LS instead of DIR. - The BASIC system has no big similarity to GWBasic or QBasic of MS, so do not be surprised if your programs do not run out of the box or even not at all. - SCANDISK and DEFRAG currently perform poor to unusable, but they aare worked on currently, so there is hope :-). - Printing graphics screens and loading other fonts is not properly supported yet. There are some tools that partially solve this, others are worked on. - You can find other known bugs via the BugTrack link on the FreeDOS homepage. This list may seem long, but there is definitely a longer list of programs that do not only work with FreeDOS but were even made FOR it. Most common DOS programs run fine for me, which means: find /dos/ -iname '*.sys' -o -iname '*.sys'|sed -e 's_^.*/\([^/]*\)$_\1_g'|sort|uniq -c|sort -n|wc -l 54 different system drivers and kernel versions (well, have to subdract quite a few that I never use anyway, for example shareware ones, NJRAMD etc.), 146 batch files, 577+743 com+exe programs, so in total some 1500 applications. Of course, most of the time I only use at most 100 of them. However, I do not expect a big percentage of problematic cases if I would try them all one after another. I think I have developed a certain feeling what FreeDOS incompatible software looks like, so I am not often hit by surprisxing incompatibilities. I hope you did not get too annoyed by me bending the topic from compiling to compatibility. Eric PS: As FreeDOS is quite DOSsy, you at least do not need to (re-) compile programs for FreeDOS for compatibility reasons. FreeDOS also - one could say - only supports ONE hardware platform, which means one reason less to recompile. No big choice of exotic "global" drivers -> yet another reason less. No libraries either, usually. All the reasons which make you prefer to "optimize by compilation" on Unix systems in some cases are not that important for DOS. Well, I am a bad example. I have > 95% binary packages on Linux as well, and only compile in cases where I need very recent versions or especially adapted versions for my system. ---------- list options/archives/etc.: http://www.topica.com/lists/fd-dev unsubscribe: send blank email to: [email protected]