FreeDOS
Jim Hall writes: "Newsforge [ed. note: Newsforge and Slashdot are both part of OSDN]
is running an article
about the FreeDOS Project.
If you don't know: FreeDOS aims to be a complete, free, 100% MS-DOS compatible operating system, and is released under the GNU General Public License. It's a good read. From the article: 'But, in the true spirit of Open Source, FreeDOS is not content to be an imitation of the existing technology. ... Open Source talks about freedom to use, but it also means freedom to choose. FreeDOS gives people another choice. If you don't want DOS, try something else. But if DOS might be the key for that special device you are building, check out FreeDOS. It is definitely worth a look.'" We did an interview with Hall two years ago - looks like the project has come a long way since then.
That brings back memories. The article asks, "When was 270MB enough for anything lately?" When I had a 20MB drive on my hand-me-down Leading Edge XT - and that was big. Really though, this is good. I've been watching them for some time, and their project can only become more useful as Microsoft makes sure that it's impossible to get a DOS license. Open source developers are interestingly enough the only people protecting the world from obsolescence. It's a shame Linux isn't really installable in its modern incarnations on any machine older than a 486, but good old minix is still available at http://www.minix.org. Remember, this was Linus' base for linux. Minix, unlike DOS, is already fully TCP/IP ready... there is a good site describing how to get on the internet using an XT and Minix. Also, minix.org reminds me of the way linux.org looked about five years ago, pre-commercialization.
Boot disks. A DOS boot disk with fdisk, partition magic, norton, or ghost is still quite useful at times.
Engineering. Lots of engineering programs at univerisity's currently run on older OSes then we'd all like. FreeDOS will allow schools to use older software without having to pay licensing fees for the OS too.
Distribution. It's easier to share old DOS games that no longer work under windows with your
Emulation. Unix people can use this to load DOS programs.
I'm sure I'm probably overlooking most potential uses of FreeDOS but I'm going to call it quits and let the rest of the group figure them out...
FreeDOS Frequently Asked Questions
Like I just posted over on the newsforge forum, this would be a godsend for companies that use DOS for their firmware/bios/eeprom flash utilities (perfectly understandably, you don't need or want the memory protection of something more sophisticated than DOS if your goal is to do dangerous, illegitimate, obscene things to various memory-mapped fiddly bits ;-) ). Why? The ability to distribute fully functional dos disks without license hassles, because more and more mainstream i386 users are losing the ability to boot to DOS (i.e. they're transitioning to NT-based Microsoft products or Unix-based things).
News for Geeks in Austin, TX
Finally, and slashdot story I know everything about :-)
I found the project ~2 years ago, while attempting to
write a DOS extender, and I have been playing with
it ever since.
FreeDOS is only a DOS in that it implements the DOS API,
and does not provide "hardcoded offsets" like commercial DOSes
(for the sane minds, back in DOS, major application
developers disassembled the undocumented kernel
and found what effects of reading/writing/jumping-to
a particular address has on the system. Usually,
those "effects" were interesting features, which
cutting-edge apps made use of.)
FreeDOS does not do that, but it has everything
else DOS had; Think of it like this, it runs SoftIce without a patch or recompilation!
and SICE is a system debugger, that knows way too
much about the kernel.
I tried to hack the kernel by just reading the author's
website -he had an overview of how everything went- but there were no contributing developers.
So dump me (or was it the combination of coffee and teen age?)
I poured on the sources for weeks, without ever
scratching the surface. Then I found "The FreeDOS kernel"
in a second hand store!
Here is where things get interesting. If you ever
hacked DOS, you know what the PSP, UMB, FAT, and
all the other acronyms, which are the hallmarks of poor design and implementation
exposure, are.
Everything is there!
I know Pat is a creative man (I saw his model trains.)
and I know he was targeting the heaps of text
and wetware out there for DOS, but the reimplementation of
everything good and bad about DOS is painfully
ugly.
The chapter on memory management is an example of
this. The memory allocation algorithm is too
complicated for a single tasking OS (sic) just for
the terminology, if not for anything (arenas, banks, segments, overlaying, extending, etc.)
Wait before you point the finger of blame on the
intel architecture. DOS only sees a perfect 16bit
machine, only authors of multi-tasking OSes and
DOS extenders need to worry about memory management
services implemented in the 32-bit part of the
machine.
So all the complexity, is for 16-bits only!
TO spare you the thrill, FreeDOS is an interesting
hackable piece, only if you come from a DOS background.
It could serve as an eye opener for luckier developers
(Java guys I am looking at you.)
Also, for the casual DOS user, it is an excellent
alternative to the realthing (I kid you not, single
tasking is not fun, use sparingly.)
It runs all the important apps, 4DOS, turboC, SoftIce,
several editors, and a host of other well behaving
apps. It even has its own GUI desktop and a web
browser.
Yeah, I built my model railroad controller with an embedded 386 and PC-DOS so I'm a bit biased, but DOS still has its place in today's world.
Oh, and to run a DOS PC without a graphics card, just enter (or put in autoxec.bat) ctty com1:. The serial port will be used as console (use mode to set parameters).
Did you know you can fertilize your lawn with used motor oil?
So many motherboard bios update utilities require that you boot DOS to run 'em. It would be grand if the bios folks would start making bootable update disks available, with FreeDOS all ready to go so we don't have to try to find a dusty old copy of DOS 5.0 or 3.2 to update the bios on a shiny new P4 motherboard.
If you're a zombie and you know it, bite your friend!