Life After MS-DOS: FreeDOS Keeps On Kicking 255
angry tapir writes "FreeDOS — the drop-in, open source replacement for MS-DOS — was started after Microsoft announced that starting from Windows 95, DOS would play a background role at best for users. Almost two decades later, FreeDOS has survived and, as its creator explains in this interview, is still being actively developed, despite achieving its initial aim of an MS-DOS compatible OS, which quite frankly is somewhat amazing."
Not surprising (Score:5, Insightful)
Re:Not surprising (Score:5, Interesting)
It would work well in VirtualBox, if it weren't for a stupid VirtualBox bug. [sourceforge.net]
Re:Not surprising (Score:5, Informative)
At least the bug has a work-around fix:
Gosh. "...can be loaded high.". I got a little tickle of nostalgia thinking about that. All those wonderful "load high and remain resident" hacks.
Wait. Why is this good?
Re:Not surprising (Score:4, Funny)
...
Gosh. "...can be loaded high.". I got a little tickle of nostalgia thinking about that. All those wonderful "load high and remain resident" hacks.
Wait. Why is this good?
640k is enough for everyone!
Segments (Score:3)
Segments were a horrible chapter in uP history. From flat memory we went to the horrors of segments, then eventually, back again, thank goodness.
If those people at Motorola had the silicon skills of those at Intel, IBM might have gone with the 68000 and up, and we'd be years ahead of where we are now. Instead, we got slammed with the 8088 and up, and good grief, what a freaking nightmare.
Segments. Ugh. Someone oughta be shot over that. Also whoever invented pantyhose, while I'm making a list. :)
Re:Not surprising (Score:4, Funny)
I saw TSR and got the same feeling
Pfft. TSR sucked after that lawsuit with Gygax's wife.
Re: (Score:3)
Dosbox, a complete dos machine emulator that utilizes FreeDOS, is available on many platforms to include windows, android, and GNU/Linux.
it makes DOS era programs accessable for the modern computing era.
Re: (Score:2)
I read the page and there's a fix for it. So... your issue was?
Yes, there's a workaround, but wouldn't it be better to fix the bug in the first place?
Re:Not surprising (Score:4, Insightful)
Honestly, it's all about the ROI here. If you have 100 users which are affected by an obscure bug which has a workaround already, and at the same time have maybe 100 other more important bugs to fix, guess what's going to happen with the first bug?
A bug is a bug, and you can never be sure of all ramifications. If it is not important, remove the code. If it is important enough to keep, then fix it.
Re: (Score:3)
You can also not be sure of all ramifications if you fix it. Maybe the possible breakages from fixing it would affect more people than you would make happy after fixing it.
Re: (Score:3)
I read the page and there's a fix for it. So... your issue was?
I suspect that, given that the bug can be fixed, the VirtualBox devs should fix their own code and not rely on the kindness of strangers.
Re:Not surprising (Score:5, Interesting)
Not only legacy- I had updated my aspire 5720's bios to suppress a bug which prevented 64bit linux using freedos because I had already got rid of the Vista installation (30 minutes after started using it, I think 8 will last less). Worked flawlessly but I acknowledge it's a risky procedure.
Re:Not surprising (Score:5, Informative)
Legacy applications?
I've a 2010 intel motherboard with an integrated nic that reports "bad eeprom checksum" every time there's a power failure.
Intel only provides a DOS utility to re-flash the firmware, if it weren't for FreeDOS, I'd have a useless nic (on a mobo with no free PCIs, BTW).
Lots of hardware vendors still provide DOS-only BIOS updated, and similar utilities, regrettably, so FreeDOS still has plenty of uses - though not for the average user.
Re: (Score:2)
The ones I'm familiar with, such as SeaTools, just use DOS as bootable environment. I don't see any real reason they couldn't have used Linux or even a light version of XP if there were no modern DOS. Where there's a competent programmer and a problem, there's a solution.
Re: (Score:2)
The ones I'm familiar with, such as SeaTools, just use DOS as bootable environment. I don't see any real reason they couldn't have used Linux or even a light version of XP if there were no modern DOS. Where there's a competent programmer and a problem, there's a solution.
They use it because a basic DOS distribution is nothing more than a filesystem driver and command line interpreter. There's no hardware abstraction and this allows programs to access device buses without issue, or risk exposing their hardware's service mode to malicious code.
change the battery (Score:4, Interesting)
change the battery
EPROMs, Flash, batteries, CMOS (Score:5, Insightful)
Not to be pedantic, but you are describing EPROMs above, not EEPROMS. EPROMs are the devices that you program using higher voltages, and erase using UV rays (they had a transparent window to the die to enable that). Nobody makes those anymore. There is a variation of that called MTP, where instead of the UV rays, one can apply the higher voltage to the VPP and a particular address line to erase it, and program it normally putting the higher voltage just on the VPP pin. These products, to the extent that they are made, are the replacements of EPROM. Then there are mask ROMs for the high end equivalents of these things: while EPROMs and MTPs were in the 1 mebibit range, mask ROMs are in the 1 gibibit range.
EEPROMs, otoh, are NOR flash memory devices. Flash memory works this way - while read operations are the same as static or dynamic RAM, depending on design, program operations are done in software - by sending a certain address/data combination sequence before a program cycle(s) can start. That is what is known as in-system programming, and that is what PCs use. So any software that tries to 'flash a BIOS' essentially has to first determine who the manufacturer of the flash memory is (since different manufacturers tend to use different algorithms - most JEDEC endorsed) and then accordingly, send the appropriate command cycles to the flash before loading it w/ the addresses and data to be programmed into it.
Batteries are needed to maintain the system clock. Every time you power down a laptop, how does the thing remember the time when it boots up again? The battery is how - there is no way a flash device, which simply stores the last state that was programmed into it, would be counting down the time. When the battery goes down, that's when one sometimes sees motherboard failures and the like.
CMOS has forever been the standard that's used to build transistors, due to their scalability - TTL was never used, and ECL was tried on occasion by 1 company called Exponential Logic to build high performance PowerPCs for Apple in the 90s, but they went bust. CMOS will stop being used when silicon stops being used.
Re:Not surprising (Score:5, Interesting)
I have clients who still are using systems, like sales and inventory sales databases, running on DOS and now using FreeDOS.
The owners don't want to replace something that works for new and shiny.
Re:Not surprising (Score:5, Interesting)
Re:Not surprising (Score:5, Interesting)
Re: (Score:2)
OrCAD never recovered from the transition from dos to windows.
The mouse thing got better with time, but the killer was that they broke keyboard macros. What replaced them (VB script) wasn't fit for purpose. A decade of carefully crafted tools to auto generate symbols from libraries got thrown in the toilet.
Re: (Score:3)
There is often good reason for staying with a (Free)DOS based system. In real time systems you can write something that actually works but if you put it on XP or Linux etc. it no longer works in real time and that can be a big problem in control systems. Most of the added complexity in XP etc. is to make the UI pretty and if you do not want that UI then why tolerate that added complexity and additional probability of failure. POS systems may be called real time but they are not as real time as machine con
Re: (Score:2)
But these guys will: http://www.longpelaexpertise.com.au/ezine/WhyUpgrade.php [longpelaexpertise.com.au]
Re: (Score:2)
That's cool, I guess ... (Score:5, Funny)
Re:That's cool, I guess ... (Score:5, Funny)
Re: (Score:2)
Re: (Score:3, Insightful)
Re: (Score:2)
The logo, or the retarded tiles-based Metro start screen?
Re:That's cool, I guess ... (Score:5, Funny)
Agreed. Just check out this screenshot:
C:\>_
Re: (Score:2)
Whoa, what command prompt code did you use to get your command line in inverse color? Mine's the standard white on black.
Re: (Score:3, Informative)
If it works like MS DOS, you need to have the ANSI.SYS driver loaded, and can then just use the ANSI code for inverse video: $E[7m (where $E generates an escape character)
Re:That's cool, I guess ... (Score:4, Informative)
Whoa, what command prompt code did you use to get your command line in inverse color? Mine's the standard white on black.
If ANSI.SYS is loaded, PROMPT $e[7m$p$g$e[m
Re: (Score:2, Informative)
Bah, too fancy. My prompt:
set prompt=Master, what is thy bidding$_in directory $p$g?
which makes a prompt of:
Master, what is thy bidding
in directory C:\DOS>?
Re: (Score:2)
The graphics suck though.
I disagree [pastebin.com]
That's awesome! (Score:4, Funny)
If only I hadn't used all my 5.25" floppies trying to decapitate attacking zombies...
Re: (Score:2)
Re: (Score:2)
admittedly, he said "trying"...
Re:That's awesome! (Score:5, Funny)
If only I hadn't used all my 5.25" floppies trying to decapitate attacking zombies...
Ha! you call that a floppy disk? [pulls out and brandishes an 8" floppy disk]
Re: (Score:2)
Re:That's awesome! (Score:4, Funny)
12" (30 cm) laserdiscs, can even kill non-zombie with those mothers.
Dosbox or freedos (Score:2)
What's better for retro gaming: DosBox, or a virtual machine running FreeDos?
Re: (Score:2, Interesting)
What's better for retro gaming: DosBox, or a virtual machine running FreeDos?
Dosbox.
Re: (Score:2)
Re: (Score:2)
Re:Dosbox or freedos (Score:5, Insightful)
Last I looked, FreeDOS couldn't slow down the environment to emulate old hardware. This is basically a requirement for many old games, and is the reason I use DosBox.
Re:Dosbox or freedos (Score:5, Funny)
In prehistoric times, when I upgraded from my olde 8088 to a speedy new 286, several of my games became nearly unplayable.
Re: (Score:2)
Re:Dosbox or freedos (Score:5, Informative)
As a developer, I can say no, that "problem" was just a dumb way to do physics, and it's been fixed forever to anyone who wasn't a moron, even in the AT/XT days. Back in the day we just checked wall clock time / CMOS ticks, you know, the ones we used to modulate PC speakers to make different frequencies, that's what we used to update game state and prevent binding physics to CPU speed. Today, RAM is plentiful, so I do physics state "commits" in fixed step sizes, say 30hz or 60hz, and interpolate from the last physics state to the temporary state that's being rendered.
If enough time has passed to process the next full physics step, then it's processed and committed. Otherwise I reset state to last commit, and process the partial physics step, but do not trigger any important events like player death in the temp step. If the system is too slow to run a partial physics step without immediately requiring another full physics step then the partial steps are not processed and the game rendering updates screen positions only after the physics step can be computed. This is important for deterministic physics, for demo replay and also for synchronized network games because:
UpdatePhysics( 20ms ); UpdatePhysics( 20ms );
is not always equivalent to:
UpdatePhysics( 40ms );
Due to a number of factors, especially rounding errors.
UpdatePhysics( elapsedTime );
Is the worst on fast systems -- those very small fractions of time lead to physics explosions -- not the particle effect kind, the bounce off an object through the floor and to the other side of the universe kind.
For comparison:
Here is my rope physics with a fixed physics step size frames. [youtube.com]
Here is the same physics running with actual elapsed time each frame. [youtube.com]
The latter comments mention tiny jiggles propagating into a frenzy. Those tiny movements coupled with very small elapsed times create the physics explosion.
Re: (Score:3, Funny)
Re: (Score:2)
There are programs which can do this for you. They basically set up an idle loop and can be tuned to the speed you need.
Re:Dosbox or freedos (Score:5, Informative)
You can have both!
Install FreeDos in the c:\dos folder of your DosBox machine. You'll get most of FreeDos' new functionality, while keeping the useful features of DosBox.
see here: http://www.dosbox.com/wiki/TOOLS:FreeDOS [dosbox.com]
Re: (Score:3)
You can have both!
Install FreeDos in the c:\dos folder of your DosBox machine. You'll get most of FreeDos' new functionality, while keeping the useful features of DosBox.
see here: http://www.dosbox.com/wiki/TOOLS:FreeDOS [dosbox.com]
The problem is I need to find a good DOS-based virtual machine that can run DosBox from FreeDOS on DosBox.
Re: (Score:3)
What's better for retro gaming?
Kega Fusion, Snes9X, Nestopia, Stella, MAME, KiGB...
Re: (Score:2)
100% agreed... but ZSNES and BSNES are both also excellent emulators for the Super NES. Gens+ is also an interesting choice for Genesis, but admittedly not my favorite. I'd also add Stella for Atari 2600 games.
If you want to take a trip down classic emulator memory lane, try out Nesticle, Genecyst, and the original Kega 98. They're old, no longer maintained and far inferior to the latest emulators, but they are what I first used in the late 1990s and early 2000s. They were awesome for their time and req
Re: (Score:2)
Duh, forget my Stella addition... somehow I passed that up when reading the original post, it was already covered...
Re:Dosbox or freedos (Score:4, Informative)
DosBox will be better because it's specifically built for retro gaming. It supports all the hardware needed for gaming including joystick, mouse, soundcard, and networking. Many years ago DosBox was too buggy to use, but I loaded the latest build about a year ago and it is awesome. Everything just works. This weekend my brother and I did some Doom2 Co-op using IPX tunneling, and it worked flawlessly.
Re: (Score:2)
Re: (Score:3)
The best is an actual machine running DOS. A PIII/440BX system is easy to pick up, and great for DOS games. It's fast enough to run anything, and still has ISA slots for a sound blaster. BIOS options to disable L1/L2 cache will slow it to about the speed of a 386, perfect for Wing Commander. With one of these systems you can play just about any DOS game except the really early 8088 games that require a 4.77mhz processor for timing.
Re: (Score:2)
what's better: DOS Box or sex with a mare?
That depends on whether you are a gamer or a donkey.
Re: (Score:3)
would you guys quit whorsing around?
They can take our lives... (Score:4, Funny)
Good for embedded systems (Score:5, Insightful)
Why not? For embedded systems, when you need more than a boot loader, don't want all the excess baggage of Linux, and don't want to pay for one of the embedded OSs like QNX, it's a good option.
You also know that FreeDOS doesn't have a "phone home" feature, a HTTP server, a mail server, or something else on an open port running in the background without your knowing about it.
Re: (Score:2)
I can't really see there being a situation where a minimal install is required, but a minimal Linux or BSD install is "too big". Especially with the "embedded" flavours.
Still, much kudos to FreeDOS. I always feel a little bad for it whenever I buy a computer with "no OS" on it, and it comes with FreeDOS. It's a real OS too!
Re: (Score:2, Insightful)
The said baggage probably refers to OS overhead like task switching, which for some applications, is probably too much even with linux/bsd and probably even realtime linux.
DOS is about as bare metal and real-time as you can get while still having filesystem access. There are probably people out there who need it to be that low level, unencumbered even by timer interrupts if desired. I'm not one of those people but I'll still speak in defense of freedos for that purpose.
Re:Good for embedded systems (Score:4, Insightful)
Exactly. For an embedded system, a MS-DOS variant with FAT32 is good enough [1] for a lot of tasks. Done right, it can be close to a realtime OS as one would need for most tasks, with very little overhead, especially with hardware saving every CPU cycle can be important.
Security? The OS doesn't even have a TCP/IP stack unless explictly loaded. No finding ports open that shouldn't be.
Malware? Within the realm of possibility (Stuxnet showed us that), but without physical access, highly unlikely, especially if there is no Internet connection. Done right, the embedded code could write via a serial port, and another machine (or a VM) could read that, making those files accessible to a TCP/IP network for audit purposes.
[1]: It would be nice to have ExFAT available as sizes of disks and other items get larger, but the IFS code to handle the complexities of a modern filesystem can be larger than the rest of the DOS kernel combined.
done right it *is* a realtime OS (Score:3)
since if you avoid TSRs you have full control over the hardware.
I once implemented a digital PID controller (with a few extra bits) using Turbo C on a 486 with an A/D card. The drivers for the card sucked, so I had to rewrite them but the result was a read/calculate/write cycle that was 4x faster than the stock driver.
Re: (Score:2)
You don't even have to avoid TSRs. Just avoid TSRs which take over hardware interrupts. A TSR which does nothing but sit there until you explicitly call it doesn't interfere with realtime.
Re: (Score:2)
since if you avoid TSRs you have full control over the hardware.
I once implemented a digital PID controller (with a few extra bits) using Turbo C on a 486 with an A/D card. The drivers for the card sucked, so I had to rewrite them but the result was a read/calculate/write cycle that was 4x faster than the stock driver.
Just because it is possible to use DOS as a real-time OS doesn't mean that DOS *is* a real-time OS. It is similar to how people *can* program C in an object-oriented manner, but that doesn't make C an object-oriented language.
Re: (Score:2)
uhh..
how not so? you run dos and it's cycle for cycle the same output time after time. it's friggin hard to introduce something that wouldn't make it realtime(incidentally you could fool many copy protection schemes to always ask the same question on the same machine)
you'd have to provide an example of how it's not cycle for cycle predictable to deny that it's a "realtime os". it's as consistent as it can get!
though your best bet would be to argue that it's not an OS at all.
Re: (Score:2)
People forget just how much work was done on old DOS systems. An old PC with a printer port or two actually gives you a lot of IO and an easy development system two work with for very little cost.
Re: (Score:2)
Given the purpose of DOS is really to be a file management layer, the FS part of the DOS 'kernel' really ought to be the biggest part. After all, that's what the "disk" part of DOS is supposed to mean, contrasted with a regular OS. There's no thread handling, no memory management (beyond setting t
Re: (Score:2)
Security? Pah. DOS doesn't have any security whatsoever. Viruses spread by infected floppies were fairly common.
What's next? (Score:2)
But when we start work on 2.0, I'd prefer to take another look at FreeDOS and think about what DOS needs to do to take a step forward.
How about a GUI?
Re: (Score:2, Informative)
http://www.metagraphics.com/metawindow/gui/mncppfaq.txt [metagraphics.com]
1. Overview
1.1 What is Menuet/CPP.
Menuet/CPP is the third generation in Graphical User Interface
packages from Autumn Hill Software. Menuet/CPP is implemented
in the C++ language which is clear and intuitive for GUI programming.
Many of the features included with Menuet/CPP are discussed in later
se
NC - Technically a TUI, but it's all you need (Score:2)
http://en.wikipedia.org/wiki/Norton_Commander [wikipedia.org]
I guess it's called a TextUI, but it's all I ever needed for DOS. Really never saw the point of a GUI until I started multitasking. But since I'm guessing FreeDOS is not a multitasking OS, I don't see the point in anything more than NC.
PS when working with a Linux box from a windows workstation, WinSCP in NC mode ROCKS.
Re: (Score:3)
--Xtree Pro Gold was Teh Unbeatable file manager for DOS back in the day. For modern equipment, Midnight Commander does the job reasonably well (safest way to delete files, for one thing.) MC is also available for Cygwin.
For the true diehards, see here:
http://www.ztree.com/ [ztree.com]
A FreeDOSH shell is what I want. (Score:3)
Re: (Score:2)
FreeDOSH would fit right in the Linux culture of giving things names with multiple meanings. (In this case, dosh is slang for money).
I have converted a few batch files to BASH. BASH is surprisingly inefficient for simple batch file tasks, but quickly makes up for it once you add any complexity at all.
Re: (Score:2)
So you're saying what BASH lacks in efficiency it more than makes up for in complexity?
Re: (Score:2)
I'm saying it's inefficient compared to batch files when it comes to the very simplest scripts, but once you need to do anything complex, BASH is much easier and more powerful to use.
Re: (Score:3)
What I want is a FreeDOS shell for Linux: FreeDOSH
No, that's Sean Connery's OS. You want commandcomsh.
booting stubborn thin clients (Score:4, Interesting)
many thin clients (e.g. some of HPs) refuse to boot from anything other than a ms-dos partition. to turn them into BSD or Linux appliances I have a FreeDOS partition on usb drive with grub in it, which chain boots the next partition. if you choose to boot into the FreeDOS there is editor for grub config and whatever other handy things you might need (like alternate flash images or whatever). need a very low power consumption domain/mail/web/vpn/unix shell server at home? those thin clients can pull 18W or less
Modernization (Score:5, Funny)
Re: (Score:2)
That would definitely be quite a triumph. [youtube.com]
Not At All Amazing - DOS Is Just The Way It's Done (Score:2, Interesting)
If you want to access PC hardware directly without any abstraction layers and OS latencies that screw up timing, a copy of MS-DOS 5.0 or FreeDOS is still the way to go. In fact, I just set up a machine last week with a copy of MS-DOS 5.0 and TurboCNC, which is sending stepper motor step commands at precise intervals to the motors on a CNC machine using the PC's parallel port. USB is as useless as Windows and the more recent Linux distributions for things like this.
Re: (Score:2)
If you want to access PC hardware directly without any abstraction layers and OS latencies that screw up timing, a copy of MS-DOS 5.0 or FreeDOS is still the way to go. In fact, I just set up a machine last week with a copy of MS-DOS 5.0 and TurboCNC, which is sending stepper motor step commands at precise intervals to the motors on a CNC machine using the PC's parallel port. USB is as useless as Windows and the more recent Linux distributions for things like this.
back when I was a kid.. some games did more than that.
they were self bootables.. no dos. pretty neat actually. original pc pirates! was such for example.
Use it myself, in linux (Score:3)
MSDOS history (Score:3)
Re:MSDOS history (Score:5, Informative)
Re: (Score:2, Informative)
"The last design requirement was that MS-DOS be written in assembly
language. While this characteristic does help meet the need for speed
and efficiency, the reason for including it is much more basic. The
only 8086 software-development tools available to Seattle Computer at
that time were an assembler that ran on the Z80 under CP/M and a
monitor/debugger that fit into a 2K-byte EPROM (erasable programmable
read-only memory). Both of these tools had been developed in house."
Re: (Score:2)
It was not possible to write an OS in Fortran. You lacked pointers, memory management and pretty much everything useful except the ability to do math and some basic I/O. Although the modern Fortran versions have a lot more features, I think it is still impossible to write an OS in Fortran, but I am no OS expert.
Re: (Score:2)
It was not possible to write an OS in Fortran. You lacked pointers, memory management and pretty much everything useful except the ability to do math and some basic I/O.
You do realize that you just described MS-DOS, right?
Not totally obsolete.... (Score:2)
...I hear you can play Dwarf Fortress in native mode on it?
Re: (Score:3)
Calm your tits. If it was a spoken interview, such lapses are forgivable. If it was written, it could be a problem of editing. For example, maybe he intended to say: "we don't have the number of developers today that we had 10 years ago". Then he thinks: it would sound better if I said "we don't have as many developers today as we had 10 years ago". So he edits part of the phrase, but misses just one word, and you have a weird mix of versions.
Some mistakes are a bit harder to forgive, though. Such as "alot"
Re: (Score:2)
Linternet?
Re: (Score:3)
Only in French. And you forgot the apostrophe.
Re: (Score:2)
You gimme a ping when you hear a Frenchman saying "je suis sur l'internet."
Re: (Score:2)
If you're familiar with the system, a text interface will win in speed almost every time, although keyboard shortcuts and a well thought-out UI can make it neck and neck.
If you're unfamiliar with the system, then a GUI is usually better as pictographs can be much more intuitive.
Re: (Score:3, Informative)
I wonder in 2023 we will be having XPBOX or FreeXP since it has so many die hard users who refuse to leave kicking and screaming the whole time.
I think that one is called ReactOS. [reactos.org]