Looking ahead to 30 years of FreeDOS
In a few days, 29 June, FreeDOS will turn 30. This happens to make it one of the oldest, continuously active open source projects in the world, originally created because Jim Hall had heard Microsoft was going to kill DOS when the upcoming Windows 95 was going to be released. After seeing the excitement around Linux, he decided it an open source DOS would be a valuable time investment. I still used DOS, and I didn’t want to stop using DOS. And I looked at what Linux had achieved: people from all over the world shared source code with each other to make this full operating system that worked just like Unix. And I thought “If they can do that with Linux, surely we can do the same thing with DOS.” I asked around on a discussion board (called Usenet) if anyone had made an “open source” DOS, and people said “No, but that’s a good idea .. and you should do it.” So that’s why I announced on June 29, 1994, that I was starting a new project to make an open source version of DOS that would work just like regular DOS. ? Jim Hall For an open source implementation of what was a dead end and now is a dead operating system, FreeDOS has been remarkably successful. Not only are there countless people using FreeDOS on retro hardware, it’s also a popular operating system for DOS gaming and running old DOS applications in virtual machines. On top of that, many motherboard makers and OEMs use FreeDOS to load firmware update tools, and some of them even offered FreeDOS as the preinstalled operating system when buying new hardware. With the ever-increasing popularity of retrocomputing and gaming, FreeDOS clearly has a bright future ahead of itself.
https://www.osnews.com/story/140067/looking-ahead-to-30-years-of-freedos/#comments
The history of DR-DOS
I’ve always found the world of DOS versions and variants to be confusing, since most of it took place when I was very young (I’m from 1984) so I wasn’t paying much attention to computing quite yet, other than playing DOS games. One of the variants of DOS I never quite understood where it was from until much, much later, was DR-DOS. To this day, I pronounce this as “Doctor DOS”. If you’re also a little unclear on what, exactly, DR-DOS was, Bradford Morgan White has an excellent article detailing the origins and history of DR-DOS, making it very easy to get up to speed and expand your knowledge on DOS, which is surely a very marketable skill in the days of Electron and Electron for Developers. DR DOS was a great product. It was superior to other DOS versions in many ways, and it is certainly possible that it could have been more successful were it not for Microsoft Windows having been so wildly successful. Starting with Windows 95, the majority of computer users simply didn’t much care about which DOS loaded Windows so long as it worked. There’s quite a bit of lore regarding legal battles and copyrights surrounding CP/M and DOS involving Microsoft and Digital Research. This has been covered in previous articles to some extent, but I am not really certain how much would have changed had Microsoft and Digital Research got on. Gates and Kildall had been quite friendly at one point, and we know that the two mutually chose not to work together due to differences in business practices and beliefs. Kildall chose to be quite a bit more friendly and less competitive while Gates very much chose to be competitive and at times a bit ruthless. Additionally, Kildall sold DRI rather than continue the fight, and DRI had never really attempted to combine DR DOS with GEM as a cohesive product to fight Windows before Windows became the ultimate ruler of the OS market following Windows 3.1’s release. Still, it was an absolutely brilliant product and part of me will always feel that it ought to have won. ? Bradford Morgan White I can definitely imagine an alternative timeline in which Digital Research managed to combine DR-DOS with GEM in a more attractive way, stealing Microsoft’s thunder before Gates’ balls got rolling properly with Windows 3.x. It’s one of the many, many what-ifs in this sector, but not one you often hear or read about.
https://www.osnews.com/story/139991/the-history-of-dr-dos/#comments
Palm OS gets a TOTP application
Still rocking your Palm OS device, but mutter under your breath every time you need to log into a website or service with two-factor authentication? Sick of carrying around an Android or iOS device just so you can log in on your Palm PDA? Worry no more, your prayers have been answered, you can finally throw that Android or iOS garbage into the sun. Get your 2-factor codes on your Palm, just like Google Authenticator. Unlike Hotpants (an old port of a J2ME phone app), this version takes up much less space and supports all Palm OS versions. ? Nathan Korth You can now generate 2FA codes on your Palm device. This is wild, and I absolutely love it. I might if set it up on one of my dozens of Palm OS devices and just put it next to my keyboard for easy access. There’s no cooler way to handle 2FA than this.
https://www.osnews.com/story/139577/palm-os-gets-a-totp-application/#comments
Running CP/M on the C128
I owned a C64 and was familiar with the C128, but this one was odd. It wasn’t running any games, color graphics or playing music. Instead, it was connected to a monochrome monitor which always displayed either a weird command line prompt or what seemed to be some boring professional writing software. I soon came to find that it was running CP/M and WordStar, one of the first word processors for microcomputers. My daily obsessive visits to the computer shop led to some friendship with the owner, to the point that he’d let me in and play with the machines. So, I played with CP/M and learned how to use WordStar. Well, in case you didn’t notice, I own a C128DCR now. This blog is about how I got CP/M, WordStar, and other fun ancient software apps running on it. ? Celso Martinho CP/M, of course, was the primary influence of DOS.
https://www.osnews.com/story/138715/running-cp-m-on-the-c128/#comments
Running GNU on DOS with DJGPP
I remember using DJGPP back in the 1990s before I had been exposed to Linux and feeling that it was a strange beast. Compared to the Microsoft C Compiler and Turbo C++, the tooling was bloated and alien to DOS, and the resulting binaries were huge. But DJGPP provided a complete development environment for free, which I got from a monthly magazine, and I could even look at its source code if I wished. You can’t imagine what a big deal that was at the time. But even if I could look under the cover, I never did. I never really understood why was DJGPP so strange, slow, and huge, or why it even existed. Until now. As I’m in the mood of looking back, I’ve spent the last couple of months figuring out what the foundations of this software were and how it actually worked. Part of this research has resulted in the previous two posts on DOS memory management. And part of this research is this article. Let’s take a look! ? Julio Merino Having access to tools such as this, including the source code, must’ve been a huge deal to a lot of people, even if ti was “strange, slow, and huge” as the author notes.
https://www.osnews.com/story/138613/running-gnu-on-dos-with-djgpp/#comments
Beyond the 1 MB barrier in DOS
Last month, we covered Julio Merino’s article about going from 0 to 1 MB in DOS, and now they’re back for breaking beyond that 1 MB barrier. I know I promised that this follow-up article would be about DJGPP, but before getting into that review, I realized I had to take another detour to cover three more topics. Namely: unreal mode, which I intentionally ignored to not derail the post; LOADALL, which I didn’t know about until you readers mentioned it; and DOS extenders, which I was planning to describe in the DJGPP article but they are a better fit for this one. So… strap your seat belts on and dive right in for another tour through the ancient techniques that DOS had to pull off to peek into the memory address space above the first MB. And get your hands ready because we’ll go over assembly code for a step-by-step jump into unreal mode. ? Julio Merino What’s amazing is that I don’t even remember having to deal with any of this while using MS-DOS back in the day. Games tended to use DOS extenders automatically (DOS/4G!), but I don’t remember if I ever had to set up any of the DOS above-640k stuff manually.
https://www.osnews.com/story/138541/beyond-the-1-mb-barrier-in-dos/#comments
From 0 to 1 MB in DOS
Since the last article on the text-based IDEs of old, I’ve been meaning to write about the GCC port to DOS, namely DJGPP. As I worked on the draft for that topic, I realized that there is a ton of ground to cover to set the stage so I took most of the content on memory management out and wrote this separate post. This article is a deep dive on how DOS had to pull out tricks maximize the use of the very limited 1 MB address space of the 8086. Those tricks could exist because of the features later introduced by the 80286 and the 80386, but these were just clutches to paper over the fact that DOS could not leverage the real improvements provided by protected mode. ? Julio Merino The DOS memory story is a string of hacks upon hacks that somehow managed to work – and that still work today.
https://www.osnews.com/story/138367/from-0-to-1-mb-in-dos/#comments
86-DOS revisited
Recently, the oldest known versions of DOS were uploaded to the internet, and Michal Necasek dove into the floppy images. Even after more than 40 years(!), old software releases and pre-releases can still surface. In the case of 86-DOS 0.11 and 0.34 it’s practically a miracle, since there were probably never very many copies in existence. For the first time since the early 1980s, FAT formatted floppies with the primordial 16-byte directory entry format have come to light. The old 16-byte directory entries were gone by 86-DOS 1.0 in April 1981 and of course never appeared in any public PC DOS release. These prehistoric versions of 86-DOS allow us to fill in further missing pieces in the puzzle of DOS origins. It is fascinating to follow how DOS developed from almost nothing to a multi-million dollar business in the course of just a few years. ? Michal Necasek It started out so humbly. Yet, here we are, in 2024, and variants of DOS still have their uses in certain niches. An incredible legacy, for sure.
https://www.osnews.com/story/138343/86-dos-revisited/#comments
Oldest known version of DOS archived
This is the precursor to MS-DOS and is likely the oldest known version to survive. (I had previously uploaded Version 0.34, which was at the time thought to hold that honor.) ? Archive.org The longer we wait, the harder it’s going to be to archive and preserve software like this.
https://www.osnews.com/story/138169/oldest-known-version-of-dos-archived/#comments
CP/M ported to to 30-year-old digital typewriter
CP/M is an operating system dating to the mid-1970s that found its niche giving cheap 8-bit home computers the flexibility, if not the power, of expensive workstations. The Brother SuperPowerNote was a fancy and “very weird” portable typewriter from the early 1990s. David Given ported the former to the latter, creating a freakishly versatile laptop. The source code is on github! ? Rob Beschizza And now I’m browsing eBay for electronic/digital typewriters again. There’s so many of them! And they all look so awesome and fun! Please stop me! One day I’ll finally pull the trigger.
https://www.osnews.com/story/138108/cp-m-ported-to-to-30-year-old-digital-typewriter/#comments
NetDrive: access remote disk images in DOS
NetDrive is a DOS device driver that allows you to access a remote disk image hosted by another machine as though it was a local device with an assigned drive letter. The remote disk image can be a floppy disk image or a hard drive image. ? Michael B. Brutman An incredibly useful tool for modern-day DOS work.
https://www.osnews.com/story/138055/netdrive-access-remote-disk-images-in-dos/#comments
Don’t waste money on a math coprocessor they said
I tried to launch BattleTech over and over and had zero success. I couldn’t figure out why it was struggling on my model 80 board, where it runs just great on 86Box. What is going on? One thing I had stumbled upon was that if I launched an ancient Infocom game in a DOS box, and then launched BattleTech it had a much higher chance of running. But this did not always equate to it working. How is launching an old COM file from the early 80’s excise the ‘devil’ of some 1988 EXE from running? As the title suggests, it’s got to do with the math coprocessor. I know I say this often, but I’m so glad people dive into these sorts of things decades later to figure out what’s going on. It makes for great reading. Browsing the WWW on a 1980s IBM PC using MicroWeb
Do you ever sit at your 1981 vintage IBM PC and get the urge to pop onto that newfangled ‘WWW’ to stay up to date on all the goings-on in the world? Fret not, because Al’s Geek Lab has you covered with a new video, which you will unfortunately have to watch on a device that was made at the very least in the late 1990s. What makes this feat possible is a miniscule web browser called MicroWeb, created by jhhoward, that will happily run on an 8088 CPU or compatible, without requiring any fiddling with EMS or similar RAM extensions. Anything is possible, if you just want it hard enough.
https://www.osnews.com/story/137760/browsing-the-www-on-a-1980s-ibm-pc-using-microweb/#comments
CP/M-65: CP/M on the 6502
This is a native port of Digital Research’s seminal 1977 operating system CP/M to the 6502. Unlike the original, it supports relocatable binaries, so allowing unmodified binaries to run on any system: this is necessary as 6502 systems tend to be much less standardised than 8080 and Z80 systems. (The systems above all load programs at different base addresses.) Currently you can cross-assemble programs from a PC, as well as a working C toolchain with llvm-mos. For native development, there’s a basic assembler, a couple of editors, and a BASIC. You need about 20kB to run the assembler at all, and of course more memory the bigger the program. The usefulness of this project is debatable, but that doesn’t make it any less cool. Zilog’s forgotten operating system: Z80-RIO
When it comes to famous operating systems for the Z80 and similar Zilog processors, the first and maybe only one to come to mind is CP/M, which was even made its presence known on the dual-CPU (8502 and Z80) Commodore 128. Yet Zilog also developed its own operating system, in the form of the comprehensively titled Z80 Operating System with Relocatable Modules and I/O Management (Z80-RIO for short). With limited documentation having survived, Ralf-Peter Nerlich has set out to retain and recover what information he can on RIO and the associated Programming Language Zilog (PLZ) after working with these systems himself when they were new. Catchy name, and awesome work to try and recover as much about it as possible.
https://www.osnews.com/story/137406/zilogs-forgotten-operating-system-z80-rio/#comments
Thirty years ago: MS-DOS 6.00, DoubleSpace, and MultiConfig
In addition to several new full-screen utilities, like DEFRAG to defragment your hard disk (licensed from Symantec), MSBACKUP to efficiently backup your hard disk (also licensed from Symantec), and MSAV to check for viruses (licensed from Central Point Software), there were a number of new command-line programs, such as CHOICE, DELTREE, MOVE, MSCDEX, and SMARTDRV. But the biggest addition to MS-DOS 6.00 was a new feature called DoubleSpace (dubbed “MagicDrive” internally) that automatically compressed everything on your hard disk, providing up to “double” the amount of effective disk space – or more, or less, depending on how compressible your files were overall. Despite growing up with MS-DOS since our first computer was a 286 PC in 1990 or so, I never used any of these advanced features. I was 6-7, and just wanted to play games, basically. It’s only now that I’m much older that I actually admire the crazy things people have managed to squeeze out of – or into – DOS.
https://www.osnews.com/story/137394/thirty-years-ago-ms-dos-6-00-doublespace-and-multiconfig/#comments