30 Years of FreeDOS 76
FreeDOS, the open-source OS that is helping keep the legacy of DOS alive, will turn 30 next week. Founded in 1994 by Jim Hall, then a college student, FreeDOS was created as a response to Microsoft's plans to phase out MS-DOS. Three decades later, FreeDOS continues to thrive.
Despite the dominance of Windows and macOS, FreeDOS finds unexpected relevance in niche markets. Some laptop manufacturers in certain countries bundle FreeDOS with new machines to reduce costs, introducing a new generation to the classic command-line interface. Hall recently wrote a blog about the upcoming 30th anniversary. Some excerpts from it follows: These days, I'm really excited for all the different ways that people are using FreeDOS. For example, there's a community of enthusiasts who restore classic computers like the IBM PC 5150, PC XT, and PC AT, and put FreeDOS on them. These are great systems that can't run something like Linux, so running FreeDOS is a great way to make these classic computers useful again.
I like that FreeDOS (like any DOS) is so easy to understand. There aren't a lot of moving parts in DOS: the computer boots and starts the kernel, the kernel reads FDCONFIG.SYS (or CONFIG.SYS) which defines the shell to run (usually COMMAND.COM), and COMMAND.COM runs a batch file (usually AUTOEXEC.BAT or FDAUTO.BAT) to set up the environment. And then DOS presents you with a friendly command prompt where you can run commands and start programs.
Despite the dominance of Windows and macOS, FreeDOS finds unexpected relevance in niche markets. Some laptop manufacturers in certain countries bundle FreeDOS with new machines to reduce costs, introducing a new generation to the classic command-line interface. Hall recently wrote a blog about the upcoming 30th anniversary. Some excerpts from it follows: These days, I'm really excited for all the different ways that people are using FreeDOS. For example, there's a community of enthusiasts who restore classic computers like the IBM PC 5150, PC XT, and PC AT, and put FreeDOS on them. These are great systems that can't run something like Linux, so running FreeDOS is a great way to make these classic computers useful again.
I like that FreeDOS (like any DOS) is so easy to understand. There aren't a lot of moving parts in DOS: the computer boots and starts the kernel, the kernel reads FDCONFIG.SYS (or CONFIG.SYS) which defines the shell to run (usually COMMAND.COM), and COMMAND.COM runs a batch file (usually AUTOEXEC.BAT or FDAUTO.BAT) to set up the environment. And then DOS presents you with a friendly command prompt where you can run commands and start programs.
We need an equvilent for Windows (Score:4, Interesting)
Re: (Score:3)
Sure, but it was practical to clone DOS because DOS was so simple. A relatively small team, or even a single bright, motivated person could plausibly pull it off.
Windows 95, as pitifully primitive as it seems today, was already vastly more complicated than DOS. And every release since then has just gotten more complex. Even Microsoft, which is off-and-on the richest company in the world, takes years to develop a new version of it.
Re: (Score:2)
A lot of the work has already been done with Wine. I wonder how difficult it would be to make Wine into a full OS?
Re: (Score:3)
ReactOS already uses a lot of Wine code [reactos.org] for certain aspects, but Wine is pretty heavily aimed at translating Windows API stuff to their Linux equivalents while ReactOS is aiming to reimplement the entire Windows NT kernel and services layer. There was a fork of ReactOS called Arwinss (linked from that page) that aimed to make it easier to use Wine code but that seems to have petered out over 10 years ago.
There were also some mostly-minor disagreements (which you can also get a bit of a taste of on that link
Re: (Score:2)
focused on making sure things worked The Right Way [...], bug for bug
I think I have identified a problem there....
To be clear, I get why they want to do that, but they are effectively reverse engineering the original Windows source code based on misbehaviors that are expected by other applications. Even if they had huge numbers of developers, they would fall farther and farther behind Windows itself because it takes time to identify those bugs and reconstruct the incorrect logic that underlies them.
Re:We need an equvilent for Windows (Score:4, Informative)
You aren't incorrect, exactly, except that if you end up with (potentially important/critical) applications depending on quirks and bugs they can end up promoted to features, and then have to be maintained so as not to break said applications. And like Raymond Chen of Old New Thing has said a few times, if a new version of Windows breaks an application because the application misbehaves, the user is going to blame Microsoft for breaking their perfectly working application, not yell at the application vendor for some programming thing he doesn't understand. There's a lot of interesting stories of some of the hoops Microsoft has had to jump through to keep misbehaving games and apps running on newer versions of Windows specifically for that reason.
This is even more true if you're trying to develop a Windows clone or a compatibility layer - you're already on shaky ground, and trying to convince a potential user that it's actually their application's fault it won't run on WinClone XP For Workgroups 2.11 when it runs fine on every real version of Windows that they should go back to their application vendor and ask them to fix their application for some random Windows clone is going to be a non-starter. Even if by all rights it is a problem with how the application is behaving.
nothing new (Score:2)
doing software QA in the 80s, I found a way to unexpectedly crash the machine.
I was told to check the IBM PC before filing a bug report.
As it also crashed, it was a feature, not a bug.
(It was something to the effect of putting a hand down on the keyboard, apparently overwhelming something with events and causing the machine to crash)
Re: (Score:3)
Wine was more amenable to hacks and tricks to get applications working (especially major ones) whereas ReactOS was more focused on making sure things worked The Right Way
Wine's actually gotten more strict on that front since then. Pretty much every major change needs tests to succeed against real windows machines proving it's correct, or the commit won't be approved by Julliard.
Also, for reasons that are still unclear [winehq.org], the official position of Wine is that it rejects patches that originate from ReactOS [winehq.org].
Re: (Score:2)
I'm failing to see the "unclear" part.
WINE has set the line it believes to be defensible, and ReactOS put it somewhere else.
Re: (Score:2)
I.e. Julliard's accusation has major legal implications for both ReactOS and WINE. One that if Microsoft were so inclined, could take them to court over and have their respective projects declared illegal and shut down. To make such statements without specifying what specifically was found to be infringing and why, there's no way to say
Add some Kernel to it. (Score:2)
A lot of the work has already been done with Wine. I wonder how difficult it would be to make Wine into a full OS?
I know! :Well you'd need to add some OS kernel to it.
Given that Wine targets POSIX systems, let's pick Linux as it's free/opensource.
Also you'd need to find some cool SciFi-sounding branding. Let's call this Wine implementation "Proton".
Oh, and now that you have an OS that supports Wine for Windows compatibility, why not play some games? After all, popularity of games is big reason for the popularity of Windows.
So slap your new OS on a gaming console and call it some cool name.
I propose "SteamDeck".
Re: (Score:3)
And arguably it's more *useful* to clone DOS.
Presumably there might be old or otherwise hardware that needs to be supported by a DOS clone, but if you just want to get access to an old application and aren't really hardware constrained, I don't see any reason to use a janky Windows clone over using a janky Windows compatiblity layer like WINE.
Re: (Score:2)
Well there is possibly a narrow band of hardware that is tied Windows 3.x and Windows 4.x; by a driver that does vxd things and is to which the application is tightly coupled.
You can't really do that stuff on WINE, at least not WINE alone running under some other OS like Linux. Now can you just run an unlicensed copy of Windows 3.1 on freedos - probably and will anyone care, probably not. Microsoft seems be leaving Archive.org alone about bundling Windows 3.x with a bunch of stuff and that is pretty high p
Re: (Score:2)
If the hardware needs Windows for drivers, well for the most part the Windows driver model has left ReactOS behind, so it no help there. I think they have really missed the boat.
Not really, or at least not yet.
Pretty much anything that the general public cares about that runs on WinXP era hardware and that won't run under WINE, is typically some game that needs GPU acceleration and is constrained by the 32bit address space requirement. That stuff still doesn't have a good alternative beyond running WinXP on bare metal. As PCI-passthrough is a bitch to get working for GPU hardware from that era, and there's no modern virtualized GPU hardware support outside of VMWare. Unlike Win
Re: (Score:2)
Re: We need an equvilent for Windows (Score:2)
The real usefullness of ReactOS is NOT being able to run windows Apps on a FOSS framework (wine and derivatives is good enough for that). Is to be ableto use Windows DRIVERS for old/obscure/specialized hardware that simply does not have FOSS Drivers.
As for MacOS,most of the blumbing is FOSS (and most of that is BSD for historcal reasons) but the really interesting bits (like the UI and most of the "kits" are closed source.
Re: (Score:2)
Re: (Score:2)
That's the first time (Score:5, Funny)
Re: (Score:1)
Re: (Score:2)
When you become comfortable with a command prompt it's surprising how much more efficiently you can handle file operations versus a GUI.
Re: (Score:2)
Not really. This is why I used Norton Commander during my DOS days and still use Midnight Commander in a Linux console.
Re: (Score:2)
Well to be fair I was referring to the PC and XT era of command prompts. I agree, with Linux and operating systems that support long file names it could get quite cumbersome and some utilities could help with that.
Re: (Score:1)
I use the command line a lot, and long file names are not usually a problem because I just use TAB for file name completion. The only thing that really bugs me are spaces in file names. When running a bash script they tend to break up a single file name into individual tokens because the IFS (Internal Field Separator) is usually the space character. You can change the IFS to get around that sometimes, but it's clunky.
Re: (Score:2)
Bash will quote filenames so spaces aren't an issue. Even utilities like "ls" quote trouble
Re: (Score:2)
And so was I - hence Norton Commander. Once I have tried it, I never went back to the pure DOS command line. The best DOS tool ever written.
Re: (Score:2)
Yeah, there were many different file managers available to DOS users at the time. My dad was all about PC Tools and always trying to get me to use it. I never really found them useful though. I tended to write my own little DOS utilities when the need would arise. In the early 90's I wrote a simple new command called GOSUB that actually became quite popular on CompuServe at the time. GOSUB subdirectory [program] - for example GOSUB keen4 keen4a would seek out the keen4 subdirectory on the system and make it
Re: (Score:2)
One command to handle every directory is efficient but programmatically selecting directories was usually outside DOS's abilities. Even xTree couldn't do it (but could do it to the files inside those directories). A GUI file manager is better for randomly selecting directories.
Re: (Score:2)
You want Dr-dos, it could do shit like that and more.
https://en.wikipedia.org/wiki/... [wikipedia.org]
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I suspect the FreeDOS command.com is a lot friendlier than the MS-DOS 6.22 one was on the default settings. It likely has tab completion and using the up-arrow to access previous command history. Those two simple things go a long way towards making it friendlier to user.
Just small quality of life features like that go a long way. Heck, even reverting to command.com from using PowerShell on Windows can be a bit daunting when you can't
That's great timing (Score:2)
I just found an XT motherboard with two floppies. 640k and a video card I have yet to identify. Once I power it up I'll need something like Freedos, the only licensed DOS I have is 6.22. That can't run on an XT, right?
Beats me, I haven't touched this stuff in decades!
Re: (Score:2)
Yes, DOS 6.22 will run on an XT just fine.
Re: That's great timing (Score:2)
Awesome, thanks. I need to find a power supply for this thing. It's perfectly clean so I expect little to no issues powering it up. I'm still not sure what kind of keyboard it needs, I have a DIN 5 keyboard somewhere but it's for AT only? There's no XT/AT switch.
I still have original MS DOS floppies but 3.5", all I have is the 2 5.25" drives with the machine.
This is going to be fun!
Re: (Score:2)
Pretty sure keyboard connector is the same between XT and AT. And I believe there are adapters for connecting PS/2 keyboards to the old AT DIN connector.
Re: (Score:2)
They keyboard connector is physically the same, but the protocol is different. The original PC and XT used a different protocol than AT and later, which continues all the way up through today for machines that still have PS/2 keyboard ports.
Re: (Score:3)
Careful, you might get the vintage restoration bug! Yes, you'll need a DIN 5 keyboard that is XT compatible, AT keyboards will not work. If you have a multimeter check the tantalum capacitors for shorts before connecting a power supply (and remember the P8 and P9 motherboard power connectors get connected with the black wires next to each other!) Adrian from Adrian's Digital Basement on Youtube has videos showing how to check tantalum capacitors as well as many other aspects of getting XT machines up and ru
Re: (Score:2)
Any version of DOS (DR-DOS, PC-DOS, MS-DOS, FreeDos etc.) will run on a 640Kb PC/XT, up to PC-DOS 2000, with the possible exception of MS-DOS 7.x and above (from Windows 9x). And yes, MS-DOS 6.22 will work.
The XT is surprisingly compatible when the topic is DOS.
Re: (Score:2)
Lol, you think Gates is going to stop by and rough you up because you didn’t pay for a copy of dos 2.11?
Re: That's great timing (Score:2)
Couldn't care less, it just happens to be the only physical media I have for that. I only have a C128D that can write a DOS floppy but I've never done it.
Re: (Score:2)
FORMAT A: /S to create a bootable DOS floppy.
Re: That's great timing (Score:2)
Not on a 128. I need to use Big Blue Reader and write an image.
Re: (Score:2)
Oh, learned something new.
Re: (Score:3)
Oddly enough, and ironically, the hardest part about using FreeDOS on old hardware is getting it installed on old PCs. Even getting it on a floppy disk is a challenge, especially coming from modern hardware. Youtuber Tech Tangents spent some considerable time creating images and documenting how to do it: https://www.youtube.com/watch?... [youtube.com]
Once you get the XT running you might want to buy a ISA bus compact flash adapter so you can simulate hard drives with a CF card. Makes it much easier to get software fr
CF card adapter (Score:2)
Once you get the XT running you might want to buy a ISA bus compact flash adapter so you can simulate hard drives with a CF card.
Nitpicking here, but those adapter aren't simulating a hard drive given that CF Cards already speak parallel-ATA / IDE -- they are already hard drives (-like).
At most you get some translation as XT's cards are 8-bit ISA, and parallel ATA / IDE is a 16 bits protocol.
And you get a BIOS option ROM because the ancient BIOS on the 8-bit motherboard probably doesn't understand IDE.
Re: (Score:2)
Re: (Score:2)
Fuck that old MFM shit, real men use RLL.
Re: (Score:2)
640k, that's all you'll ever need. You're set for life.
DOS (Score:5, Interesting)
I restore vintage computers. Many times specialized variants of MSDOS were created for these old machine. Take the Tandy 1000 line of computers for instance. The DOS shipped with them had a specialized version of GWBasic that took advantage of the 16 color graphics modes (known as TGA back then). There were utilities to allow switching between 4.77MHz and 7.16MHz as well. Some people want the original experience with these machine which means setting up a Tandy 1000EX with Tandy DOS v2.11 and using the 5.25" floppy drive as main storage. Others want built in storage via an XTIDE controller and CF card so it's DOS 6.22 on the 1000EX but the specialized version of GWBasic has a few issues with non Tandy versions of DOS. My point being no one is going to care if you include the original DOS versions with these machines. I've found FreeDOS to be useful for tinkering with systems ranging from the 386 to Pentium 233MMX CPUs because FreeDOS can take advantage of the 32bit aspects of these machines.
Re: (Score:2)
Re: (Score:2)
They were basically redesigned IBM PCjr systems done correctly. The 3 voice sound with noise generator and the 16 color graphics modes really made these systems popular which caused many game companies to write specialized versions just for the Tandy systems. If you can dig up an April 1992 issue of PCM magazine you'll find my headlining program "Link-Four" source code listing in it that used these features to create a clone of Connect 4. Those were the days, when computing was fun and exciting and not the
Re: (Score:2)
Re: (Score:3)
To my knowledge Sierra always went out of their way to create Tandy "TGA" versions of all their popular games. EGA video cards were expensive around this time with VGA just becoming a thing. Tandy's TGA color modes were as close as you could get to EGA video without actually having to own an EGA video card. Here is a spreadsheet that lists many of the games that supported Tandy's TGA graphics. https://docs.google.com/spread... [google.com]
Re: (Score:2)
MCGA was meant to compete against (and beat) EGA, but it was way too early for games to be able to write 64 KB per frame, even with color plane amplified writing tricks.
VGA combined MCGA and EGA in to one package and then extended the modes further.
I still have the legendary EGA/VGA Programmers Reference
Re: (Score:2)
Yeah, MCGA was one of those technologies that was available but note widely used. If I remember correctly IBM introduced it in a few early PS/2 models but video card manufacturers for whatever reason didn't build plug in ISA cards based around it. Probably something to do with IBM licensing being too costly, but that's just a guess. With the VGA spec already mostly hammered out they might have just figured why bother.
Re: DOS (Score:2)
MCGA didn't appear before VGA. Both were released simultaneously, some time around April, 1987. MCGA was the integrated video on IBM PS/2 model 30 (the entry level model of the series). The rest of the initial models line-up used VGA as their standard video option.
MCGA was never meant to compete against, let alone beat, EGA. MCGA's purpose was to provide some entry-level graphics solution to the PS/2 line, which had to be compatible with the new analog monitor standard, be backward-compatible with CGA, AND
Re: (Score:2)
I'm glad it makes some retrophobes angry. (Score:2)
Lol no (Score:2)
Lol no, laptop manufacturers bundle FreeDOS because of local laws that say a computer must have an OS installed to be sold to customers, and FreeDOS is an OS they can bundle that doesn't need support (while something like Ubuntu or Linux Mint is much more complex, not to mention people may try to actually use it which may lead to support questio
But are any of you using DOS? I am. (Score:2)
I actually have an ancient database application that runs under DOS. On average I use it about a dozen times each month. In it's current incarnation, that's using DOS-BOX, but it doesn't work very well and I have to keep checking the data files to make sure they're okay. Maybe this FreeDOS thing could work better?
However I'm pretty sure I made at least one attempt to use FreeDOS within a virtual machine and failed. More persistence needed? Or just too old an application? Sorry, but I'm usually looking for t
Re: (Score:3)
Monotech PCs builds and sells a modern version of the XT motherboard called the NuXT. I have one and they are fantastic. https://monotech.fwscart.com/N... [fwscart.com] Perhaps this is your answer to keep that database program going. They're a bit pricey but trust me, worth every penny. I have four diskette drives connected to mine (360K 5.25", 1.2MB 5.25", 720K 3.5", and 1.44MB 3.5") and use it as my goto system for floppy creation/copying/archiving).
Re: (Score:2)
Why do you have a 720k drive? The 1.44 drives fully support 720k.
Re: (Score:2)
Re: (Score:2)
You can boot FreeDOS inside of DosBox if I'm not mistaken, but the issues you are having will likely remain.
I'd give the VM another try if I were you. VirtualBox is just fine. FreeDOS runs quite well in a VM.
Re: (Score:2)
I just learned about another option that should work for you. 86box [86box.net]. It's an emulator not a virtual machine, and focuses on getting the hardware emulation of DOS and Windows 9x era PCs as perfect as it can be.
Re: (Score:2)
ACK on the thread and this 86box option is one I haven't heard of yet.
But "just learned about" is not too encouraging. Have you actually done anything with it yet? Enough to form an opinion on such things as robustness? I'm pretty sure it's going too far to ask about such details as FCB support...
Re: (Score:2)
All I know is that it works very well: https://www.youtube.com/watch?... [youtube.com]. This youtuber is fairly well known in the vintage computing circles and has used this emulator to test out hardware drivers with the emulated hardware, so the fidelity of the emulation is very good. The downside is there are lots of configuration options as it can emulate a wide variety of motherboards and CPUs.
I'm not too familiar with FCBs, but since this emulator emulates the complete system including the hardware, chipset, etc,
Re: (Score:2)
VirtualBox is the one I've been mostly using for some years now, but I have to question the "just fine" label. I strongly suspect it's involved in the latest initialization problems with Numbat.
But I may try FreeDOS again in that environment. Those experiments were quite a while ago and I am always hoping the bugs will have gone away...
BIOS/UEFI update (Score:2, Informative)
I used FreeDOS just a couple of months ago to update the BIOS/UEFI firmware on my Linux-running 2012 Dell Optiplex. Very quick and smooth process, all still documented on the Dell website despite the PC being long out of support.
FreeDOS is cool but DOS is not (Score:1)
FreeDOS is a very cool piece of code, but let's not kid ourselves. DOS itself is a piece of crap. If you try to do anything beyond the simplest stuff, it is ridiculously hard to make it happen.
Re: FreeDOS is cool but DOS is not (Score:2)
The first rule of using DOS is that: When you're trying to do something that DOS itself can't help you with, you find the right application for that.
DOS is a minimal system. Its strength is in running other programs. And there was never a shortage of DOS programs during DOS' lifetime.
HXDOS (Score:2)
Has anyone tried out HXDOS? It's an amazing DOS extender that adds compatibility for Win32 executables. You can even run the console version of 7-zip.