My memory is hazy but I was able to get a compactflash card with FreeDOS on it and used it to boot the system. The special programs that operated the device over the serial or parallel port took a little work to keep from crashing, but eventually all was working as before.
Does anyone here know the plans for the future, now that UEFI is on most new consumer PCs? Will it be considered "done" at some point or will it get adapted into something else?
And TSRs (Terminate and Stay Resident programs)  were fun to use. I particularly liked Borland Sidekick (a multi-utility tool that could be popped up via a hot-key on top of whatever program you were running).  Sidekick sold tons of copies, I read.
Edit: According to the Wikipedia article below, "Sidekick sold more than 1 million copies in its first three years".
I read about the problems with Windows 3.11 protected mode, does FreeDOS 1.2 allow you to run Windows 3.11 in 386enh and protected mode?
A certain Jeremy David wrote support for it, and I read that a windows 3 compatible kernel was available in FreeDOS 1.0 under the name Winkernel. It should be used without EMM386 but with Japheth's versions of HIMEMX and SHARE, allocating at most 256 MB of RAM to HIMEMEX. With some tweaking of the Windows config, it is possible to use 1 GB, but not more. Do not use protected mode disk drivers.
There is SVGAPatch: a tool to patch svga256.drv to make it VESA compliant so Win 3.11 can be used within Virtualbox.
Conceivably it could be used to access the internet somewhat with Win32s in combination with Dillo of D+ browser.
I remember that for DOS semi-multitasking you could use DESQview, does that work with FreeDOS and are there better (more efficient or open source) alternatives?
I am asking as you could make a very lean and fast OS, booting form USB, extracting itself to a ramdisk, allocating 500M (with tools, editors and games) and 500M for windows.
Perhaps HaikuOS, NT 3.51, Windows ME with KernelEx or the new OS/2 5 (ArcaOS), or Win7PE or Win10PE are more capable and similarly faster compared to Ubuntu, Windows7/10 or OSX.
You either have some seriously rose-colored glasses on, or you need to put an SSD in your current computer because a lot of the slowness of modern machines lies in the increasingly-obsolete hard drive. (Due to the increasing prevalence of cheap SMR  drives in consumer-grade gear, I'm not just saying "increasingly-obsolete" for rhetorical purposes; cheap hard drives are actually regressing in performance lately.) I remember multi-minute boot times and multi-minute load times for things like office suites and such, which are now entirely foreign to me.
But in a sense you are right, Windows 10 is running very fast on the latest intel proc and SSD here. Still once in a while I get annoying slow downs and it does seem a little bit slower then what I could remember from the speed Win 3.11 was running on HDD on the Pentium I. But the programs were less featured then as well. LibreOffice Writer 5 starts in 7s on SSD here.. I thought Office97 Word was a bit faster on 98 or XP back then... but these are memories from almost 20 years ago, maybe I do see the past as to rose-colored. To test this I have to define what I exactly was comparing to what - general speed of usability or the exact same programs under different OS's with the exact same hardware. On both accounts it might very well be much faster with previous 16/32bit and less featured software.
Now, even modern office is surprisingly fast on desktop, despite having lots more features. We can talk about performance on the desktop all day, but if you want to see the real perf regression, look at all these web apps running in the browser - they are absolute nightmares unless you happen to have a very nice machine to use them with.
I am an avid Debian user for many years, lastly I used FreeBSD for a couple of months on the x201. Now, I'm using ElementaryOS.
With Debian iwlwifi was a problem, did not work reliably. FreeBSD was a lot of hassle to work with -with no network manager being present etc.-, but driver support was excellent. ElementaryOS is currently working like a charm.
Another tip besides installing an SSD is to enable multicore support in Firefox.
Why isn't this enabled by default on detection of multiple cores?
Other versions of windows, I couldn't tell you. Have used everything from 3.11 to 10, skipping 8. Never felt the need to time them.
Sorry, as anecdatums go, I realise this one is pretty poor quality.
I still use a 3.1 machine for some software that got "upgraded" for more modern computers and became unuseably slow and feature-less compared to the old.
But, that machine has a lot of more modern hardware now. It's little more than a Linux kernel and DOSBox, so no true hardware access.
But it still boots, loads Windows, loads my programs to their last state, in less than 10 seconds.
By comparison, Windows 7's file manager takes longer on double the hardware.
Unfortunately getting the particular program to install requires a little fudging as it tries to detect Win, and underlying DOS, and wants particular numbers to be present in the versions.
The program tries to verify the integrity of MSDOS.SYS and VER.EXE with some sort of weak hash, as well as get the result of VER.
FreeDOS's VERSION gets me halfway though, now just to generate some dummy files when I work out the right hashing algo to use...
But it is on my list to investigate when I'm back to work.
All of which is to say: Windows has an "accumulated cruft" problem that exists independently of what the hardware could do. The search built into Windows 10 is abysmally slow - in fact, almost every interaction with the toolbar or Explorer tends to be slow if you've installed a lot of stuff, because you oftentimes are "paying for what you don't use" when the program adds an Explorer extension, and there's a paucity of diagnostic tools to throw that fact in your face, so it just manifests as "Windows sure is slow lately". DOS doesn't have that problem because DOS does almost nothing, and cannot be extended to do more.
(On that note, Windows 10 did make a major breakthrough in responsiveness: it compresses memory in inactive programs, so you hit disk much less when running and switching between lots of programs.)
Not just in Windows 10. The start menu search in W7 was also always absymally slow, completely independent of hardware. Even on an SSD it's unusably slow.
Which I just don't understand. That thing isn't doing shit. I have literally no idea why it's this slow. I've written an equivalent of it for my Linux/i3 setup, which is completely stupid and naive (no caching at all, parses _all_ program definitions every time it's opened) and that is at least a hundred times faster. The latter is instantaneous (<10 ms on this computer), while the W7 start menu takes seconds to find anything -- on the same computer!
Also, the only start menu w/ search that is comparatively slow is the Unity search. Most others are practically instantaneous (eg. KDE), even on weaker hardware...
Back "in the day" I built an AMD 5x86 machine with 4mb that ran DOS and could -just barely- decode 128K MP3s using some DOS-based MP3 player I found. On top of that, I ran a custom menu system (wrote it using TurboC iirc) that drove a 16x2 LCD via the parallel port. I had this idea that I would set it up as a car pc, but never actually did.
Remember TSRs eating up precious conventional memory?
Appearently there is also an mplayer version for dos..
and a mpg123 port http://www.fareham.org.uk/music/mpg123/index.shtml
So in theory you could even play small mp4 video's.
Don't forget RealPlayer, it had a very efficient audio encoding for low bitrates http://www.win31.de/esoft.htm - it was later open sourced and called Helix DNA producer.
I think the last version supported for Windows 3.1 was RealAudio 4, even though you might get further along with the win32s setup for 3.11. There is no need though as the low bandwith encoding was the most interesting feature, with Sipro's ACELP perhaps beating even Opus (LPC based SILK or CELT) for very low bitrates < 12 Kbps and for sure beating Speex.
lpcJ, 14_4: IS-54 VSELP (RealAudio 1)
28_8: G.728 LD-CELP (RealAudio 2)
dnet: Dolby AC3 (RealAudio 3)
sipr: Sipro Lab Telecom ACELP-NET (RealAudio 4/5)
I have Windows installed on an SSD. I have 16 GB of RAM.
Yet Windows still wants to use a page file, or programs run out of RAM. It's crazy. Programs don't actually USE this much, they just request more than they use.
A page file slows things down compared to doing everything in RAM. Even on an SSD, it's way slower.
Windows 10 has ram compression, but as I have an ssd now, I turned my pagefile back on
No idea if this helped.
/me goes to make a coffee
Plus I would say the productivity gains of being fluent with GNU tools, RESTful APIs and any scripting language save more time in the long run than whatever milliseconds get shaved off of a UI response.
Probably a lot easier to understand and build than the Doom sources.
Need that crisp 2048x1080 Second Reality by Future Crew: https://www.youtube.com/watch?v=rFv7mHTf0nA
That dream died with Windows.
Unless I'm missing something, there weren't multiple vendors for MS-DOS pre-Windows.
I guess wee me back in the day didn't know the difference :)
More details at: https://en.wikipedia.org/wiki/IBM_BASIC
Sometimes, having stuff between you and the hardware is a problem. DOS lets you basically just use the hardware directly, so it can make sense for some types of control systems or firmware updaters.
I have taken advantage of these offers several times to avoid buying a Windows license for a computer I intended to run Linux on, or to install a different version and/or language of Windows than the one the manufacturer offered by default. Sometimes I even buy Windows separately at additional cost, just to avoid the bloatware and spyware.
I have several theories about why manufacturers choose to do this instead of just leaving the disk unformatted or using a proper user-friendly Linux distro. By having another O/S pre-installed, they can claim that they are giving consumers a choice rather than outright encouraging piracy. But since most people who buy these PCs put pirated Windows on it anyway, they don't want to pre-install anything that they might need to support seriously. This means using a minimal O/S that "just works" but one that nobody is actually going to use as a daily driver. FreeDOS fits that bill, whether the developers like it or not. I'm grateful that it exists.
> Novell complained in 1993 that Microsoft blocked competitors out of the market for operating system software by way of certain anticompetitive practices. It criticized Microsoft's standard agreements for licensing software to PC manufacturers, which required payment of royalties based on the number of computers shipped, regardless of whether the computers contained preinstalled Microsoft software
> After intense negotiations, Microsoft agreed to change some of its license contracts through the year 2000.
Secondly, FreeDOS is useful for bringing a semi-modern operating system to your 486 or whatever, without it being unbearably slow: breathe some life into the thing.
Finally, legacy software. DOS has a massive library of some of the finest software ever conceived: games in particular. Doom, Quake, Duke3D, Wolf3D, King's Quest, Monkey Island, Myst, Lemmings, Dune II, Descent, various Infocom games, and far more that was less widely ported than the above and hard to play nowadays.
First level on PC:
First level on Amiga 500:
Anyways, to elaborate a bit on what you stated. It was common back then that games came with driver libraries rather than having them installed on the OS.
Effectively each game took over the PC for the duration of play, and if it crashed you reached for the ever so useful reset button.
Quake for example had multiple versions. The original one that used software rendering. One that was custom built for 3DFX cards (assets now owned by Nvidia), GLquake that used OpenGL, Quakeworld for playing online (different network code to be less sensitive to latency etc), and the list continued on.
Quake 2 had a in-game toggle between 3DFX, PowerVR, OpenGL and software render.
I think you might be right. I was confused because it was made by DMA Design, who would later rise to prominance on the PC (I know what you're thinking: what could possibly be more prominant than Lemmings? To which I answer that DMA Design is still around: However, they are now known as Rockstar. Yes, that one).
>Anyways, to elaborate a bit on what you stated. It was common back then that games came with driver libraries rather than having them installed on the OS.
True, although my point was merely that there were many excellent DOS games that haevn't been ported to other systems.
we've still got equipment which is controlled by software that runs on XP (and does not work on anything else). i should probably donate a bit to ReactOS, because i expect i'll need it sooner or later.
these sorts of projects can keep perfectly good, old equipment running and useful. (and considering the aversion some physical scientists have to computers, save drastically on training costs.)
Some more recent designs seem to be standard µATX with standard PCIe, though, so these should be possible to use with virtualisation and the mandatory IOMMU for the proprietary hardware (Feature locks / DRM might be cranky, tho).
And before the mainstream OS era these were usually 100 % custom jobs, completely unlike a PC. 68k, MIPS, PPC, and even proprietary designs were used.
I do remember some sort of extension that could install drivers that made it behave like a real time OS. However at that point I think seperating the control out to seperate hardware with a real time OS seems like the obvious choice, and then keeping the interface on a genereal purpose PC. Though it wouldn't be the first time a vendor made a stupid choice.
but, they said, "don't worry, we'll keep supporting XP!"
Went to a local bookstore recently, seemed they were running a DOS app too.
So unless they are emulating (a distinct possibility), they can use FreeDOS to run natively.
And if not for enterprise-sake, then just for fun :P
Additionally, some OEMs will ship PC/Laptops "without OS" which usually means "FreeDOS preinstalled"
 I think it's FreeDOS that's an option on servers, but I can't recall. I've been cloud-ey for too long :(
I regularly order machines from dell with no OS on them - its just not available retail.
That said, i think MS since then changed their tactic to offering deep bulk discounts. In particular when the OEMs pre-installed both Windows and Office.
This because the margins pr PC had become so thin that the way the OEMs make a profit is to charge third parties like Symantec a pr PC fee on bloatware bundling.
"but the cloud..."
someone maintains that cloud, every day.
Why i did a double take when i ran into the claim of being "serverless" while checking out a web framework. Holy buzzword bingo, Batman...
(Not to talk the project down, it's great. But I don't think anyone wants to depend on it for system recovery)
(Of course counting drivers in DOS is highly misleading, as the BIOS  directly offers all the useful calls like "turn on cassette drive motor" and "read joystick" that you will need to build modern microcomputer software.)
The linked article opens with:
DOS isn't exactly a moving target anymore, so we don't have to chase new features or shifting compatibility.
Are you making a commentary on the usefulness of DOS or of FreeDOS as a project?
No disrespect towards FreeDOS intended at all.
There are problems where access to a DOS command line and ability to run applications is useful.
Reading this thread, I just remembered that I used to have an old IBM PC Jr that ran DOS (years earlier), a great machine hardware-wise (though it was not a marketing success, I've read). And some time back I had written this post about it:
Lissajous hippo, retrocomputing and the IBM PC Jr.:
While looking up info about the PC Jr. for that post, I came across Mike Brutman's PC Jr. page (mentioned in my blog post):
He was an IBM employee for a long time and so had access to good info about the PC Jr. - both hardware and software, and his page above is one he maintains about that machine - a sort of retrocomputing site about the Jr.
We then talked some on email, and he told me he had built a TCP stack for DOS and was running it on his Jr. That page is here:
He says others are also using mTCP, for fun, work and even business.
Here's an excerpt from his overview section about mTCP:
[ mTCP should run on all variants of DOS including IBM PC-DOS, Microsoft MS-DOS, DR-DOS and FreeDOS. All of these applications will run well on the oldest, slowest PC that you can find - I routinely use them on an IBM PCjr made in 1983 because nothing beats the fun of putting a 30+ year old computer on the Internet.
People are using mTCP for goofing off and for real work. If you have a DOS machine that needs to send data across the network mTCP can help you get that done. Besides its utility to vintage computers I have heard of people using it to transfer lab data from dedicated industrial PCs, allowing backups to be run on old machines, and sending sales reports from the branch offices of a retail store to a central server.
Don't have a vintage computer laying around? No problem! mTCP applications will run in a variety of virtual and emulated environments. It has been tested with DOSBox, SwsVpkt, VirtualBox and VMWare. See the documentation for the details. ]
Just tried out the new version... nice updated installer. The old one would write out the install really slow. Gratz and thank you.
Ha ha, at one time, as a system engineer, I used to carry many essential free DOS / Windows / Unix software apps (including some small utilities that I wrote - for both DOS and Unix, in Turbo C / Unix C and shell) around with me, burned onto a few CDs, on the theory that you never know when you may need it, on some client's PC (I used to go to solve clients' software problems). And it often did turn out that one of those apps was needed and I used it to solve some of their computer problems.
Multitasking is a distraction.