Slashdot Mirror


How (And Why) FreeDOS Keeps DOS Alive (computerworld.com.au)

FreeDOS was originally created in response to Microsoft's announcement that after Windows 95, DOS would no longer be developed as a standalone operating system, according to a new interview about how (and why) Jim Hall keeps FreeDOS alive. For its newest version, Hall originally imagined "what 'DOS' would be like in 2015 or 2016 if Microsoft hadn't stopped working on MS-DOS in favor of Windows" -- before he decided there's just no such thing as "modern DOS". An anonymous Slashdot reader writes: No major changes are planned in the next version. "The next version of FreeDOS won't be multitasking, it won't be 32-bit, it won't run on ARM," Hall said. "FreeDOS is still intended for Intel and Intel-compatible computers. You should still be able to run FreeDOS on your old 486 or old Pentium PC to play classic DOS games, run legacy business programs, and support embedded development."
By day, Hall is the CIO for a county in Minnesota, and he's also a member of the board of directors for GNOME (and contributes to other open source projects) -- but he still remembers using DOS's built-in BASIC system to write simple computer programs. "Many of us older computer nerds probably used DOS very early, on our first home computer..." he tells ComputerWorld. Even without John Romero's new Doom level, "The popularity of DOS games and DOS shareware applications probably contributes in a big way to FreeDOS's continued success." I'd be curious how many Slashdot readers have some fond memories about downloading DOS shareware applications.

7 of 211 comments (clear)

  1. Re:The problem with FreeDOS... by PhunkySchtuff · · Score: 4, Insightful

    Have an old legacy proprietary DOS program that you need for your business? Then throw it into /dev/null, and hire some talented programmers to write a modern free open-source replacement for GNU/Linux, that will get published on github.

    Why, that just sounds like an absolutely wonderful idea. Why would anyone insist keeping on using some old software that has been paid for many moons ago, and we all by now know exactly where and when it does and doesn't work because it's been doing the same task for 20 years? Why not instead pay thousands and thousands of dollars for someone to attempt to write a replacement for it, possibly reverse-engineering a proprietary and undocumented hardware interface (costing thousands and thousands of dollars more more in time) only to give it all away to the handful of other people on the planet who also use the same version of WHATEVER.EXE that I'm using?

    Yep, what a smashing idea!

  2. Re:DOS shareware games by PhunkySchtuff · · Score: 3, Insightful

    Yep, I remember having to write a TSR myself that would count from 1 to 100,000 or something like that at every tick of an interrupt just so Prince of Persia would play at an acceptable speed on my 386 DX2 66 when it was optimised for a 286.

  3. Modern DOS by Jim+Hall · · Score: 4, Insightful

    I am seizing Control of this article and asking Hey, Slashdot, if there were a modern DOS, what would it be like?

    I know you're posting as an AC so probably won't get seen, but I'll reply anyway because it's an interesting question.

    In short, you get Linux.

    We discussed this in great depth in various places, and if you try to project a "modern" DOS to today, you end up with a 32-bit multitasking kernel that provides native networking and hardware abstraction. You lose binary compatibility; applications written for the newer "modern" DOS won't run on, say, MS-DOS 6. But that wouldn't be surprising; many programs written for MS-DOS 6 wouldn't run on MS-DOS 3, either. You need to provide some method of forward compatibility, of course. To run a "classic" DOS application on the "modern" DOS would require some kind of emulation environment.

    And if you want that, run Linux. Because Linux is a 32-bit multitasking kernel that provides native networking and hardware abstraction. You don't have binary compatibility; applications written for Linux won't run on MS-DOS 6. To run "classic" DOS applications on Linux requires an emulation environment like DOSemu (which requires FreeDOS, by the way).

    Once you break binary compatibility, a "modern" DOS isn't really DOS anymore. What's the point in a "modern" DOS if you can't run classic DOS programs on it? Because that's not DOS, it's something else.

  4. Re:The problem with FreeDOS... by sumdumass · · Score: 4, Insightful

    The biggest problem I have seen with old programs is data portability. Even several revisions out on the same programs can make it costly. In a lot of situations , more costly than keeping obsolete hardware running.

    I was involved in a project to resurrect an old NetWare 3.something system for an accounting program used in a division of a company that was purchased originally as a stand alone company. It was determined years ago that it would be too costly to port the data because it would all need to be input by hand requiring several people and about a year to do so it was never updated to a modern system.

    Even after getting it running again, it was still in use in parallel with a dormant version of the company wide system for several years while they had three people pulling and inputting data and validating it before going live.

    Once you get out of the update cycle with proprietary software, it can sometimes even become costly to move up. But to switch to another system altogether can be really costly.

  5. Memories by tbuskey · · Score: 3, Insightful

    I got my engineering degree with DOS. Everyone was issued a Z100 (non msdos!) with an 8088, Fortran and Basic. Some other programs such as CAD, PC-TeX were available. Russ Nelson worked at my college and created Freemacs, the word processor and the spelling checker and many other utilties in use at Clarkson

    Some classes gave you a VMS or Unix account. When it was in heavy use at the end of the semester , it was faster to edit in DOS and upload than to scroll down the file in VMS. The DOS FORTRAN didn't have the extensions or libraries. Sometimes its math wasn't as accurate.

    After I got a 286 and had gotten a Unix account (w/ Usenet access), I started trying to learn Unix things. Turbo C, GNUish utilities, Freemacs, Elvis and shell clones helped me. Minix was almost as helpful.

    A 486 w/ 8mb lead to Linux replacing DOS and work as a Unix sysadmin. The DOS intro to C, awk, vi, lex, yacc (via "The Unix Programming Environment" was extremely helpful. Linux at home helped me continue learning. It could single task better than my Sparcstation 1+ running SunOS.

    The 8088, 80286 and 486 systems probably cost ~ $5k each back in the day where a Unix workstation was ~ $20k if you could get one.

  6. Re:Freedos rocks! by sumdumass · · Score: 4, Insightful

    I've seen similar experiences. It is often cheaper to fix the older CNC equipment than to replace them by hundreds of thousands of dollars. - Even if it happens several times.

    Of course once the machine itself starts breaking and costing money , replacing it might be more attractive. But if it is software or computer hardware related, it is a no brain'r to keep it chugging along instead of replacing them.

  7. Re:The problem with FreeDOS... by KiloByte · · Score: 3, Insightful

    Practically speaking, DOS is so simple that there's not much that it could do that couldn't be easily worked around.

    I'd rather say: DOS is so simple it provides nothing that can't be implemented from scratch in less time that it takes to work around its downsides.

    The only worthwhile thing it gives you is a filesystem. A filesystem that doesn't work on modern machines (disks above 2GB, GPT partition tables, UEFI, sectors bigger than 512 bytes), gets corrupted on a crash, suffers from a ridiculous level of fragmentation, has bizarre limitations on file names (8.3, all caps, half of ASCII banned), and so on.

    I'm not sure what's the modern equivalent of INT 13 (some EFI calls?), but otherwise, writing a simple but adequate filesystem without those flaws is something any half-decent programmer can do in less than a day. Writing filesystems is like writing a compiler: a good optimized one takes a team a decade, something that works can be done really quickly.

    I've done so myself (filesystem-in-a-file rather than filesystem-on-sectors, though), with crash resiliency, transactions and zlib compression, although with some other limitations that fit my particular use case. And if you don't want to reinvent the wheel, there should be plenty of code to reuse around.

    --
    The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.