Sunday, June 25, 2017

Guest post: FreeDOS and Linux

Joel Graff writes about growing up with DOS, and later running FreeDOS under a virtual machine in Linux.

I grew up on DOS. My first computer was an IBM PS/2 Model 30 (actually, it was a VIC-20, but we’ll not mention that here). At that time, it came with a low-density 3.5-inch floppy drive, a 10MB hard disk, MCGA, 256-color graphics (which eventually spelled the end for EGA), and a 24-pin dot matrix.

All for the modest price of $3,495.

It was expensive, but it was a valuable addition to our family, and it drew me into the world of computing. I had gotten a taste of gaming and BASIC programming with the VIC-20, but the PS/2, pre-loaded with DOS 3.31, introduced me to a system with configurable hardware and a fully functional operating system. It was an entirely different, and far more powerful experience than the old VIC-20.

I quickly grew to love DOS, and it wasn’t long before I mastered nearly every facet of it. Then I was coding mouse hardware support in GW-BASIC, thanks to my buddy who shared a book on DOS hardware programming with me. Really, it was that direct, low-level access to the system and it’s hardware that kept me coming back.

DOS wasn’t a complex environment. It was quick, clean, and simple. But then, the computing environment it had to manage was small and limited. There was no Internet, no cloud and no mobile platforms. “Scalability” wasn’t a word, and even if it was, DOS wasn’t going to have anything to do with it. And it’s that lack of complexity that afforded it the ability to master a hardware domain which, in retrospect, it accomplished with remarkable simplicity and efficiency. It wasn’t a bad way to be. My entire digital life could be contained on a single, 720KB floppy disk.

As time moved on, my interests changed. Life, in general, had much to do with it, but I can honestly say that Windows replacing DOS as the preferred gaming platform gave me little reason to pursue my gaming interests. Being a developer didn’t really hold much appeal either as Windows, with its arcane API dominated by Hungarian-notated commands, appeared to be the only commercial future for software developers.

So I did something else with my life. But I never gave up entirely on computing.

These days, I’m a Linux and FOSS nerd. I abandoned Windows when I saw the Windows 8 ship sailing and I haven’t looked back. It’s been a challenging, but great experience. Still even Linux, for all it’s terminal-level coolness, just doesn’t compare to the experience of working at a DOS command prompt. And while I didn’t have any real need for my DOS skills, those old DOS games seemed to always go with me, wherever I went, just waiting for something to happen.

Preserving those games had always been in the back of my mind; I knew I needed to do something about it. I had toyed with DOSBox in the past, but using it didn’t really encourage me to dust off the floppies. Then I discovered FreeDOS and it got me to take a second look.

I downloaded the FreeDOS ISO and built a virtual machine with it. QEMU made quick, easy work of that. Booting it for the first time was a blast! I discovered I had somewhat missed the C:\> prompt with it’s patient, blinking cursor. A few minutes later, and I had surprised myself with just how much I remembered, and with how faithfully FreeDOS preserves the DOS computing experience. Because of that, I had little difficulty working out the unique features of FreeDOS and taking advantage of some of the goodies (like Ethernet support) that, while not part of the original DOS experience, have been implemented in a way that’s really appropriate to it.

So I finally dusted off my old caddy and got a floppy drive for $15. Mounting the virtual machine image under Linux to copy data files in was simple. A couple weeks later, and I’ve copied most of my old disks from that dusty old caddy. Unfortunately, several were unrecoverable, which I expected, but enough had survived to preserve most of my gaming library.

Reliving my old gaming days has been a great experience. I don’t really need FreeDOS to do it. I can dig up some original DOS floppies somewhere and make it happen or I can use DOSBox. They’re both good options. But FreeDOS gives me a true, open source DOS environment to use, which beats both proprietary DOS and an emulator, in my mind.

The real advantage, though, is in the virtual machine.

Using a virtual machine means I can contain my entire library in a single file. This makes it easy my entire DOS library easily portable to different machines and platforms and even easier to preserve. That I can preserve a snapshot of my entire DOS life is just really awesome.

The best part, though, is that the FreeDOS project is alive and well. Because it’s a genuinely useful operating system that’s great for low-resource applications, people care about it. And that means it’s going to stick around for a while. Now if I could just do something about those old Commodore floppies.

-Joel Graff

No comments:

Post a Comment