{"id":10490,"date":"2025-05-14T01:01:00","date_gmt":"2025-05-14T05:01:00","guid":{"rendered":"https:\/\/www.both.org\/?p=10490"},"modified":"2025-05-16T12:02:49","modified_gmt":"2025-05-16T16:02:49","slug":"an-interview-with-jim-hall-about-freedos","status":"publish","type":"post","link":"https:\/\/www.both.org\/?p=10490","title":{"rendered":"An interview with Jim Hall about FreeDOS"},"content":{"rendered":"<div class=\"pld-like-dislike-wrap pld-template-1\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"\" data-post-id=\"10490\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                        <i class=\"fas fa-thumbs-up\"><\/i>\r\n                <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">1    <\/span>\r\n<\/div><\/div>\n<p>Jim Hall is a longtime open source software developer and advocate, who is also an author on this website. In his professional side, Jim teaches technical writing at the University of Minnesota, where he also previously served as IT Director and Campus CIO for one of the system campuses. Jim is also CEO of Hallmentum, an IT consulting company.<\/p>\n\n\n\n<p>In 1994, Jim started the FreeDOS Project, an open source version of the classic DOS operating system for the PC. Recently, the project released FreeDOS 1.4, the latest official distribution of FreeDOS. We asked Jim about FreeDOS, where it&#8217;s been, what&#8217;s happening with it now, and where it&#8217;s going.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em><strong>Q: For anyone who hasn\u2019t used FreeDOS before, can you tell us what FreeDOS is and where it came from?<\/strong><\/em><\/h2>\n\n\n\n<p>FreeDOS started as an open source implementation of DOS back in 1994. The history up to that was that I was a longtime DOS user. I\u2019d used DOS growing up, since 1981, and I continued using DOS into the 1990s when I was a university student. I\u2019d used Windows at the time\u2014we had Windows in our campus computer labs, for example\u2014but I never liked it. So I kept using DOS.<\/p>\n\n\n\n<p>I\u2019d tried Linux, though, and I liked it. I discovered Unix in our main computer lab on campus, and I thought of Unix as a <em>super powerful<\/em> version of DOS (that\u2019s kind of an interesting approach to Unix, from a DOS \u201clens\u201d) and I wanted to have \u201cUnix\u201d on my home PC. I wrote some command line programs to mimic some Unix commands, but in 1993, I found this free Unix called Linux. I installed SLS Linux (the earliest Linux \u201cdistribution\u201d) on my computer, with DOS, so it was <em>dual boot<\/em>. I ran Linux some of the time, and DOS some of the time. Mainly, I booted back into DOS because I still liked it and that\u2019s where I had all my applications and games.<\/p>\n\n\n\n<p>In 1994, I was unhappy to see that Microsoft planned to stop making DOS. I read a lot of computer magazines at the time, and Microsoft was starting to talk about the next version of Windows and how it wouldn\u2019t need to use DOS. I should probably mention that Windows versions 1, 2, and 3 were all basically just \u201cshells\u201d that ran on top of DOS. You <em>had<\/em> to have a copy of DOS in order to run Windows. Or if you were like me, you didn\u2019t buy Windows and only ran DOS. But Microsoft said the next Windows wouldn\u2019t need DOS; DOS was \u201cdead.\u201d And I didn\u2019t like it.<\/p>\n\n\n\n<p>But back to Linux. I\u2019d already experienced that people could work together <em>over the internet<\/em> to create a cool Unix-like operating system like Linux. I thought, \u201cDOS is much simpler. If they can do that with Unix, we can do the same thing with DOS.\u201d<\/p>\n\n\n\n<p>And that\u2019s where FreeDOS started. I <a href=\"https:\/\/groups.google.com\/g\/comp.os.msdos.apps\/c\/oQmT4ETcSzU\/m\/O1HR8PE2u-EJ?pli=1\" data-type=\"link\" data-id=\"https:\/\/groups.google.com\/g\/comp.os.msdos.apps\/c\/oQmT4ETcSzU\/m\/O1HR8PE2u-EJ?pli=1\" target=\"_blank\" rel=\"noreferrer noopener\">announced<\/a> the FreeDOS project on June 29, 1994<a href=\"https:\/\/groups.google.com\/g\/comp.os.msdos.apps\/c\/oQmT4ETcSzU\/m\/O1HR8PE2u-EJ?pli=1\"> <\/a>and we\u2019ve been keeping it going since then. Tim Norman wrote our first <em>command.com <\/em> shell, called \u201cFreeCOM,\u201d and others contributed other DOS programs to replace the core features of DOS. Not long after that, Pat Villani reached out to me and volunteered his working DOS kernel that he used for embedded work, and we adopted that as the FreeDOS kernel. Over time, lots of very smart and cool people built on that, and added other parts, to make FreeDOS what is is today.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em><strong>Q: You just released FreeDOS version 1.4. What went into making that release?<\/strong><\/em><\/h2>\n\n\n\n<p>Our distribution maintainer is Jerome Shidel. And when he joined us to make the FreeDOS 1.2 several years ago, he also created a new installer. I think it was for FreeDOS 1.3 that he created a new \u201cdistribution creation\u201d system to make it easier to collect all the packages into a full distribution.<\/p>\n\n\n\n<p>And after FreeDOS 1.3, we realized that the new system made it possible to create a monthly \u201ctest release\u201d that collected all the new versions of packages that people had released. That meant we could have a \u201crolling\u201d distribution, something that wasn\u2019t actually <em>official<\/em> but that had all the most recent stuff in it. And with that, we realized we could someday just \u201crelabel\u201d a monthly test release as a \u201crelease candidate\u201d for the next official distribution, and go from there.<\/p>\n\n\n\n<p>That\u2019s what we did when we made FreeDOS 1.4. We make all of the decisions about FreeDOS on the <a href=\"https:\/\/www.freedos.org\/forums\/\" data-type=\"link\" data-id=\"https:\/\/www.freedos.org\/forums\/\" target=\"_blank\" rel=\"noreferrer noopener\">freedos-devel email list<\/a> and in conversations there, we realized that enough time had gone by since FreeDOS 1.3, and a lot of people had released new versions of things to make FreeDOS better, and it really was time to make a new official version. Jerome makes the monthly test releases around the first of each month, and on January 1, 2025, we had FreeDOS 1.4 Release Candidate 1. And so on for Release Candidate 2 in February, and Release Candidate 3 in March. Things were very stable in Release Candidate 3, so we decided the next test release would be the official FreeDOS 1.4 distribution. We actually had the FreeDOS 1.4 distribution on April 1, but we decided \u201cApril 1\u201d wasn\u2019t a good day to release a new FreeDOS. We gave it a few days to \u201cshake out\u201d any issues in the new distribution before I promoted it to the official FreeDOS 1.4 distribution and <a href=\"https:\/\/www.freedos.org\/download\/announce.html\" data-type=\"link\" data-id=\"https:\/\/www.freedos.org\/download\/announce.html\" target=\"_blank\" rel=\"noreferrer noopener\">announced<\/a> it on April 5.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em><strong>Q: What are the main features of this release? Is there anything new? What\u2019s changed?<\/strong><\/em><\/h2>\n\n\n\n<p>Lots of stuff has changed in FreeDOS 1.4, although most of these are fixes and updates. We intentionally avoided making any really big changes in FreeDOS 1.4.<\/p>\n\n\n\n<p>The automated \u201cdistribution build\u201d system also creates a <a href=\"https:\/\/www.ibiblio.org\/pub\/micro\/pc-stuff\/freedos\/files\/distributions\/1.4\/changes.log\" data-type=\"link\" data-id=\"https:\/\/www.ibiblio.org\/pub\/micro\/pc-stuff\/freedos\/files\/distributions\/1.4\/changes.log\" target=\"_blank\" rel=\"noreferrer noopener\">change log<\/a> that lists all of the changes. But that can be a bit hard to read, so I\u2019ll share a few highlights here:<\/p>\n\n\n\n<p>We have an updated <em>command.com <\/em> program. Jeremy is  the volunteer maintainer for the FreeDOS kernel and FreeCOM, and he released a new FreeCOM that fixes several bugs and makes it more stable. Lots of people contributed to this, including TK Chia, Emir, Andrew, Yu-Shih, Bernd, Ji\u0159\u00ed, and others.<\/p>\n\n\n\n<p>We have an updated networking stack. Michael is the developer behind <em>mTCP<\/em>, which is a collection of TCP\/IP applications for DOS. To be clear, DOS doesn\u2019t have a <em>built-in<\/em> networking stack (no DOS has ever had that) but mTCP makes it possible to get FreeDOS on a network and do stuff.<\/p>\n\n\n\n<p>The FreeDOS Help content has been completely updated, thanks to Willi and a host of translators and contributors. Version 1.1.0 aims to describe every piece of FreeDOS, so new users can learn how to use DOS\u2014and folks who used DOS \u201cback in the day\u201d but need a reminder on the details can quickly get into FreeDOS.<\/p>\n\n\n\n<p>We have a new image viewer called <em>dosview<\/em>. It\u2019s hard to believe we went this long without a program that could display images. Dosview can read 16 different file formats (and write to 12 image formats) including BMP, PCX, JPG, PNG, WEBP, TIFF, and GIF. Thanks to developer SuperIlu for working on this great program.<\/p>\n\n\n\n<p>We also have a bunch of other updates in the core parts of FreeDOS, like an updated <em>fdisk<\/em> program that (thanks to Bernd) fixes critical errors when working with many partitions. And an updated <em>xcopy<\/em> command (thanks to Jeremy) that has a reworked recursive copy to not use as much stack space, and an updated <em>move<\/em> (also from Jeremy) that avoids stack overflow errors in certain conditions.<\/p>\n\n\n\n<p>We also removed a few packages, although we tried not to do much of that. For example, FreeDOS used to include several graphical user interfaces. However SEAL and oZone weren\u2019t very complete, had some annoying bugs, and didn\u2019t support an API to build applications with them. A graphical interface isn\u2019t really a \u201cdesktop\u201d if it\u2019s just a graphical shell to run DOS programs. So we dropped these.<\/p>\n\n\n\n<p>But we still include OpenGEM, which is a stable and feature-rich graphical interface for DOS, which longtime DOS users may recognize as similar to GEM, the Graphics Environment Manager. OpenGEM hasn\u2019t worked \u201cright\u201d in previous versions of FreeDOS, and Liam figured out a workaround, which we include as an updated <em>gem.bat<\/em> launcher in FreeDOS 1.4. Basically, OpenGEM only works properly if it\u2019s installed in the \u201croot\u201d directory, so we show a workaround that lets you \u201cmap\u201d a drive letter to the OpenGEM directory, and that makes it work correctly.<\/p>\n\n\n\n<p>We also included two new packages, SBEMU and VSBHDA, that can emulate a SoundBlaster card on new hardware. This makes it possible to play classic DOS games that expect a SoundBlaster. You need this because, unlike modern operating systems like Linux, DOS doesn\u2019t have a <em>hardware abstraction  ayer<\/em> and it was very common for games and other software to communicate <em>directly<\/em> with hardware, like a sound card or digital music card.<\/p>\n\n\n\n<p>One thing that isn\u2019t in FreeDOS 1.4 is an updated kernel. Jeremy is still working on that, and while there is a new \u201cin-development\u201d kernel that has several cool features (like the ability to run Windows 3 in Enhanced Mode \u2026 the current FreeDOS kernel can only run Windows 3 in Standard Mode) we recognize that <em>changing the kernel is a big deal<\/em> because it (obviously) is a <em>very core part<\/em> of the operating system. We didn\u2019t want to \u201cjust\u201d drop in a new kernel  without putting it through a bunch of testing. So FreeDOS 1.4 has the same kernel as FreeDOS 1.3.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em><strong>Q: What are some things people can do with FreeDOS?<\/strong><\/em><\/h2>\n\n\n\n<p>You can do lots of things with FreeDOS. Over the years, we\u2019ve run a few surveys to ask how people use FreeDOS, and we see the same themes coming up again and again: People use FreeDOS to play classic games, run DOS applications, and develop new DOS programs. You might wonder why not use DOSBox instead. And while DOSBox is great for some things, and I play a few DOS games under DOSBox, I find that there\u2019s no substitute for <em>actually  running a copy of DOS<\/em> to get that classic feeling.<\/p>\n\n\n\n<p>Also, FreeDOS can run on real hardware. There\u2019s a big <em>retrohardware<\/em> community out there, and FreeDOS is great for that. We know there are lots of people who like to run classic hardware\u2014real Pentium computers from the 1990s, real \u2019386 computers, and real AT and XT systems from the 1980s. And yes, you can install FreeDOS on real hardware.<\/p>\n\n\n\n<p><em>Play classic DOS games.<\/em> Just because a game is old doesn\u2019t mean it\u2019s stopped being fun to play. There are a lot of great classic games that you can play on FreeDOS. I like to play a bunch of classic games. Recently, I replayed Commander Keen. Right now, I\u2019m replaying Jill of the Jungle. There\u2019s also Wolfenstein 3D, Doom, Rise of the Triad, Duke Nukem, and many others that you can find on places like <a href=\"https:\/\/www.gog.com\/\" data-type=\"link\" data-id=\"https:\/\/www.gog.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">GOG.com<\/a> or \u201cgame archive\u201d websites like Archive.org.<\/p>\n\n\n\n<p><em>Run your favorite DOS applications.<\/em> DOS had a lot of great applications, something to suit pretty much every need. If it ran on DOS, it should run on FreeDOS. For example, WordPerfect and WordStar were classic word processors for DOS, and both run great on FreeDOS. I was (and still am) a huge fan of DOS spreadsheets like Lotus 1-2-3 and Quattro Pro. TRIUS Inc released their As Easy As spreadsheet for free <a href=\"http:\/\/triusinc.com\/forums\/viewtopic.php?t=10\">via their forum<\/a>\u2014that was always my favorite DOS spreadsheet, and I still use it today. By the way, Dan Bricklin also released VisiCalc for DOS as a free download <a href=\"http:\/\/www.bricklin.com\/visicalc.htm\">from his website<\/a>.<\/p>\n\n\n\n<p><em>Create new DOS programs.<\/em> We include several compilers, assemblers, debuggers, and editors that should make any programmer happy. For C programming, I like the Open Watcom C compiler or the IA-16 version of GCC; both are included in FreeDOS on the \u201cBonus\u201d CD. For Assembly  programming, we include several assemblers like NASM (the Netwide Assembler) or FASM (the Flat Assembler) or JWASM (an assembler that\u2019s very compatible with MASM). We also have compilers and environments for other programming including Pascal, Fortran, BASIC, Perl, and others.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><em>Q: Do you have a roadmap for the future of FreeDOS, and what does that look like?<\/em><\/h2>\n\n\n\n<p>We don&#8217;t make long-range plans for FreeDOS. It&#8217;s already a very feature-complete DOS implementation, so each new version of the distribution is really about releasing updates and maybe including a few new programs. But I can share a few things we&#8217;ve discussed on the email list. <\/p>\n\n\n\n<p>I think the biggest item for the future is an update to the kernel to support Windows for Workgroups. I mentioned that you can already run Windows 3.x in Standard Mode on FreeDOS, but you can&#8217;t run Windows 3.x in Enhanced Mode\u2014at least, not on the current kernel. Jeremy has made some progress there, and there&#8217;s an in-development version of a new FreeDOS kernel that supports Windows 3.x in Enhanced Mode. But it<br>needs more testing, which is why we didn&#8217;t include it in the FreeDOS 1.4 distribution. We are planning to include that kernel in the monthly test releases, so it can get a lot of testing by the time we make a new official distribution.<\/p>\n\n\n\n<p>We&#8217;ve had some initial discussions about some of the packages we include in FreeDOS. In the 1980s and 1990s, DOS was very small; for example, MS-DOS 6 installed from just a few floppies. FreeDOS is more than &#8220;just DOS&#8221; and we include lots of useful tools, including compilers and editors. I think we&#8217;ll still provide lots of development tools, but maybe some of the other tools aren&#8217;t necessary. It&#8217;s too early to get into specifics, since  we haven&#8217;t fully discussed it on the email list yet, but we&#8217;ll get there.<\/p>\n\n\n\n<p>Overall, I think the best way to keep tabs on what&#8217;s happening in FreeDOS is to download the monthly test releases and try them out. We&#8217;ll try out any changes there; if something doesn&#8217;t work out, we&#8217;ll change it back or try something else. It&#8217;s the best way to keep development in the open, where open source belongs.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The past, present, and future of the FreeDOS Project, an open source version of DOS.<\/p>\n","protected":false},"author":2,"featured_media":5241,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[340,763],"tags":[],"class_list":["post-10490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-freedos","category-interview"],"modified_by":"Jim Hall","_links":{"self":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/10490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10490"}],"version-history":[{"count":15,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/10490\/revisions"}],"predecessor-version":[{"id":10654,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/posts\/10490\/revisions\/10654"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=\/wp\/v2\/media\/5241"}],"wp:attachment":[{"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.both.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}