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.
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.
... before he decided there's just no such thing as "modern DOS" ...
Well, there was a "modern MS DOS", it was MS OS/2 1.x.
Single user and no security what-so-ever. IBM should have used the 68000 combined with a proper OS.
Single user single tasking was just fine for the day's hardware and the user needs. *nix would just slow the hardware down for no good reason, PCs weren't for remote time sharing use. Plus *nix, and its software "ecosystem" wasn't really a good match for a 16-bit architecture.
Yes, the 68K was a much nicer processor. The segmented memory models of the x86 were a major source of bugs. 32-bit registers would have been nice.
MS and IBM had a proper OS for the hardware of that era, it was 16-bit OS/2. The market said no thank you.
I remember some of the really early DOS games that were written to basically run correctly and be playable on (IIRC) a 4.77MHz 8086/8088.
Then I remember trying to play those same games on a (again, IIRC) 12MHz 80286 system. That lunar lander would just immediately plummet into the ground or crash into the side of a mountain, and try as I might - there was nothing I could do about it.
#DeleteChrome
Yes, GW-BASIC.
Given the low footprint DOS would actually be a great cloud OS if it had security. Just think about it, in the cloud every CPU second and memory byte used counts so using an OS that is as small as possible would be the optimal solution. Instead we use Linux and Windows, two heavyweight operating systems that have had to be scaled down significantly.
"Many of us older computer nerds probably used DOS very early, on our first home computer..."
And here I think of DOS as a 'newer' system
"First they came for the slanderers and i said nothing."
Is it true FreeDOS is one of the more desirable live environments to boot from in order to update BIOS?
The nightmares of all those TSR's is something that I don't want to visit ever again.
as for config.sys
just gives me the shivers just thinking about it.
BASIC-A, GW-BASIC and GW-BASIC were available depending on what version you were running and from whom.
"Wait. Something's happening. It's opening up! My God, it's full of apricots!"
And tweaking config.sys and autoexec.bat etc. to get QEMM working.
Ah, yes. I managed to get 634K free base memory after tweaking settings to get everything loaded high on QEMM. Took some doing.
"Wait. Something's happening. It's opening up! My God, it's full of apricots!"
Ah, yes. I managed to get 634K free base memory after tweaking settings
634K ought to be enough for anybody.
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!
Specialist Mac support for creative pros, Melbourne
QBASIC was in MS-DOS 5 and later, and PC DOS 5.0 throught 5.02.
In MS-DOS, it replaced GW-BASIC; IBM continued to keep their BASICA (which GW-BASIC was functionally equivalent to but did not depend on the Cassette Basic in ROM) around to the end.
What you hear in the ear, preach from the rooftop Matthew 10.27b
I still use FreeDOS regularly to run 20 year old research software. I use DOSEMU, which lets me edit files and move data around in Linux, and then read them into the DOS program without stopping and starting a virtual machine. So I have a DOSEMU terminal open, and my favorite text editor next to it, and maybe tail the log file in another terminal, all at the same time.
That old DOS software is still superior to any new point-and-click software. The config files leave a precise record of what parameters I set, and the logs leave a precise record of the result. It's fully auditable and reproducible, which is what science should be. And it will still run just as well as the day it was bought in another 20 years from now. The director tried to get us to buy some 'modern' software to do the same task. It 'only' cost $5000 and ran in MS Access. He was surprised when I refused the offer. Does it leave a written record of what I did? No. Are the results reproducible? No. Will it still run in 20 years time? Fuck no. Some things aren't broken yet, leave them alone.
Human Rights, Article 12: Freedom from Interference with Privacy, Family, Home and Correspondence
It has both no security and perfect security. Security isn't in the OS, but there are also few vulnerabilities. The applications own the security. So there's no reason DOS couldn't be used, it would just need appropriately secure applications to meet your requirements.
Learn to love Alaska
Hire some talented programmers to write a program, and then maintain it forever.
You revile binary compatibility because it's an enabler of proprietary software (most of it freeware written by a single person), the flipside is your stuff stops working after a few years.
Like many here I've eventually abandoned Windows but face it, then the fun is over. Not much to do except spend your time in firefox, bash and vlc.
These days, you can buy a BeagleBone Black or similar system-on-chip computer for very cheap, it comes with a full-blown GNU/Linux development environment that beats the pants off DOS.
For some things, yes. If you need a hard realtime system with sub-microsecond timing requirements and deterministic interrupt handling, Linux isn't going to do it, but DOS will. Even RTLinux couldn't meet those kinds of requirements.
Please stand clear of the doors, por favor mantenganse alejado de las puertas
Agreed! TSRs were a blast to write, and back in ye olden days it was a really useful bit of functionality. I could have done without dealing with segmented memory, though.
Please stand clear of the doors, por favor mantenganse alejado de las puertas
This.
No network stack if you don't load it. No problem.
Even better for hardware hacking on a pc/104 board. Get a connector to matrix board solder components. And prototype with no complications. It's a win win.
Ah, yes. I managed to get 634K free base memory after tweaking settings to get everything loaded high on QEMM. Took some doing.
DEVICEHIGH/LOADHIGH, how we loved ye...
Please stand clear of the doors, por favor mantenganse alejado de las puertas
Agree completely. It's much better to wait until your hardware dies, and then let your company go bust as some vital business function cannot be replaced in time.
Or, you know, use FreeDOS to run it on modern hardware - which is kind-of the point of the article.
Specialist Mac support for creative pros, Melbourne
Bloated as hell.
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.
The number of older CNC machines I have kept running because of Freedos is huge. I have made a shto-ton of cash on smaller machine shops where "professional" IT companies have told them that they cannot fix the control system for their CNC machines.
I come in at $95 an hour and make it work again, custom is elated and trash talks the "professional" company that said it was impossible, I get more calls to fix more from other companies they spread the world on... Rinse and Repeat.
This was 10 years ago when I was almost doing 2-3 CNC repair jobs a week. Now it's maybe one every 2 months, and I don't even do IT professionally anymore.
Do not look at laser with remaining good eye.
Or just run it in DOSBox on any OS. For most software that's the obvious thing to do.
This space intentionally left blank
For shareware we relied on floppy disks and CDs. Most of them came attached to some magazine.
I wonder how many new devs know what "shareware" was? For those wondering: shareware was a concept where devs created something and gave away a limited version of it for free. And you could share that limited version with anyone. Shareware games usually were the first "chapter" or first few levels. Shareware DOS applications usually just nagged you to buy them after 30 days - but I don't remember many that actually stopped working if they weren't registered.
I mentioned some shareware in the interview, but I played a lot of Wolfenstein 3D, DOOM, Commander Keen, Rise of the Triad, Epic Pinball, Jill of the Jungle, and Duke Nukem back then. These are all DOS shareware games.
I used a lot of DOS shareware applications for other things. AsEasyAs and GalaxyWrite got me through a lot of my university physics program. I analyzed lab data in AsEasyAs (because the old saying is "as easy as 1-2-3" ... and Lotus 1-2-3 was a popular commercial spreadsheet ... get it?) and wrote class papers in GalaxyWrite (not as powerful as WordPerfect, but great for papers). I also remember a bunch of other DOS shareware applications but can't remember their names anymore: a modem-terminal program, an equation solver, etc.
BBS.
After all, Microsoft and the DOS community messed up to many points badly. For example the "driver" concept was basically unused. Few people ran ansi.sys because it meant sacrificing a ridiculous amount of RAM. That's why most software had to access the hardware directly, even for primitive things like coloured text.
Also there was the problem of not having a compiler coming with the operating system which meant that there was no free software movement. People actually sent out binary files. So every software was restricted to a narrow band of hardware.
Essentially there is now the need for a "new DOS". It would run on hardware like STM32-class microcontrollers which have (much) less than a megabyte of RAM and no memory management.You'd start off with decent lightweight hardware abstraction, then add a file system as well as simple version of the usual UNIX tools. Once you have an editor and a shell you'll have a decently working system which can be used for all kinds of things.
DOS had a basic interpreter? I don't remember that. In fact I'm pretty sure it didn't.
Then things that you are pretty sure about are sometimes trivially and obviously wrong.
Both the first shareware and one of the first mainstream open source software used it, that being PC-TALK.
But hey... you arent old enough to know any of this, but somehow managed to think that you were knowledgeable.
"His name was James Damore."
He wrote a modem program on his dad's computer as a teenager and it was very successful as shareware. The shareware system worked for more than one certain crazy antivirus guy.
Or just run it in DOSBox on any OS. For most software that's the obvious thing to do.
Actually, it's better to run legacy business applications on an actual DOS system like FreeDOS. DOSBox is meant only for games. They don't have great compatibility with business software.
FreeDOS runs very well in PC emulators and virtual machines like QEMU, VirtualPC, VMWare, VirtualBox, and others. At home, I run QEMU and DOSemu to boot FreeDOS. (When I'm developing, I use DOSemu so I can share files easily between Linux and FreeDOS. When I want to test FreeDOS in a more traditional virtual machine, I run QEMU.) It runs great!
I have had the pleasure of corresponding with, and occasionally collaborating with, Jim Hall a few times over the years. He's not just active in the open source community, he's a really nice guy. Easy to work with, friendly and helpful. We've exchanged notes about package management, he's sent some patches to a project I was working on to make it more user-friendly (and DOS compatible). Jim manages to make a technically focused OS while being pleasant to work with. More open source project leaders could learn by his example.
Sure, the game angle is there, but what I was wondering about is how many people use FreeDOS to keep 20 year old DOS programs running for business and/or government.
Troll is not a replacement for I disagree.
That'll work only until you actually invoke any feature of DOS. Ie, you're operating on bare metal rather than DOS.
The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
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.
Single user and no security what-so-ever. IBM should have used the 68000 combined with a proper OS.
Yeah, that's what I said when the IBM 5150 PC was announced in 1981 with an 8/16-bit 8088 CPU running a rebranded Quick & Dirty Operating System:
"Too little, too late".
I was not aware yet that a brand name may be worth a lot more than technical specifications.
/. refugees on Usenet: news:comp.misc
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.
Well, more properly until you call something in DOS or the BIOS that turns interrupts off or masks off the one you're interested in - if interrupts are enabled and you're not already servicing one at a higher priority, the processor will yank you right out of whatever was executing and drop you into the handler no matter what either you or DOS was doing at the time. If DOS still manages to interfere with you, you can always change the offending interrupt vector to point to your own code.
Practically speaking, DOS is so simple that there's not much that it could do that couldn't be easily worked around.
Please stand clear of the doors, por favor mantenganse alejado de las puertas
Qbasic was included in Windows 9x and even NT4 apparently. Notably, "Microsoft Edit" was a shim that called qbasic.exe in editor-only mode (it's still better than vi and nano). Qbasic itself allows to play short high pitched tones through the PC speaker to startle people around you, or to annoy them much with a long duration 4KHz for instance.
What's too bad is the keyboard input, unless there's some other way you couldn't really use continuous keyboard input for something like a space invader clone. Everyone used a loop like 10 A$=INKEY$ : IF A$="" THEN 10 which let you input a single key without needing to hit return, but you would just move single step by single step or trigger keyboard repeating and move wildly. Tweaking keyboard repeating in BIOS (or with a DOS program?) might have helped in some way.
That alone prevented attempts at making "serious" games (and in mid to late 90s, Internet access was prohibitively expensive in Western Europe still so Qbasic and its detailed help files is what you got for free)
but last time I booted it up, it upgraded itself to Windows 10
> DOS was terrible. Single user and no security what-so-ever.
Before DOS, there were multi-user network operating systems. Which ran on $100,000 computers. Getting rid of the multi-user and network (and the therefore the need for security) to make a DISK Operating System rather than a network OS allowed to to run on PERSONAL computers. That was awesome. Then the internet happened.
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.
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.
All of which are usually not necessary on an embedded system that needs to fly fast and likely doesn't even need a filesystem. The point of my original post wasn't to say that DOS was the do-all and end-all of operating systems. Rather, it was to highlight the fact that on severely time-constrained systems, DOS will often "beat the pants off" a full OS like Linux. All of the support for different filesystems, USB, etc. are useless if I'm burning holes in stuff because I can't maintain a consistent 750 ns update window for a pair of laser galvos. Even RTLinux couldn't come close to that kind of guaranteed latency.
Please stand clear of the doors, por favor mantenganse alejado de las puertas
And reality, what more do many computer users need to do? A good browser and a format-compatible office suite like OpenOffice or LibreOffice, and maybe a mail client. And quite a few can do without the office suite, or just use google docs.
Don't blame me, I voted for Kodos
Sneakernet was often cheaper than what AT&T was charging for a long distance call to a BBS in the next city.
"Back in the day" things like WordStar, 1-2-3, Agenda, dBase, etc., were considered really great stuff and were used to get a lot of work done. The world has moved on but I believe those "oldies" still can be useful. (There's the famous example of George R R Martin using WordStar apparently to this day.) And nothing much has really replaced Agenda.
FreeDOS (and DOSBox) allow playing the old games, which I think made up for in gameplay what they lacked in graphics (the citation above of MOO is a good example). And things like ZZT were just ultimately cool. There is a fun factor in that old stuff that isn't in everything today.
I don't disagree with most of what's posted in this subthread, but I can tell you that DOSBox runs many things well. I've used it to keep Lotus Agenda alive, and to run WordStar, etc., on my Linux systems.
It does lack printing, which is an issue, but there are workarounds that can be automated.
Sure, if you want everything to work pretty much as-is, use FreeDOS[1]. But DOSBox does much more than gaming.
[1] I've found some things don't work on FreeDOS, usually those things that rely heavily on internals of memory or hardware management. For instance the task switcher Back & Forth doesn't work.
Unrelated to DOS, but back in the mid-1980s, we used iRMX-86 on 80286 single-board computers in 8086 real mode. Our computers were going out to lunch when returning from an interrupt service routine. Our local Intel representative had never heard any similar complaints and we even got an official Intel 80286 hardware emulator in-house to try and debug the problem. We finally had a conference call with some Intel engineers and they told us, oh yeah, there's a bug in the return-from-interrupt instruction (all interrupts were briefly enabled before the prior interrupt mask was restored from the stack) and they gave us an RTI macro to get around the problem. Then, a couple months later, Jerry Pournelle mentioned the bug in his BYTE column! Aarrgghh! A lot of wasted time and effort--and Pournelle knows all about it!
Oh crap, I had no idea to look for keyboard input there :) .BAS example files/games may have varied between DOS, Windows 95 and 98.
Availability of
So I should have looked for off-line help back then be it a book, people that knew about programming, getting someone to print nibbles.bas.
Yes scrolling like a NES game wasn't something I even considered doable (doing something tiled-based, slow and naive in 40x25 text mode would have been fun already)
...just for historical reasons.
It is absolutely awesome to have when you simply need to run some old program, which is in my case usually bound to some piece of old, but still useful HW, like chip programmer, some old measurement or CNC equipment etc. Or perhaps for analysis of program behaviour in order to do modern reimplementation. Or to enjoy nostalgia trip with some old DOS game...
WRT to FreeDOs development, I don't think it's needed outside integration into modern OS & HW, like having modern drivers for mouse and optical unit, USB useage for printing, nice, antialiased fonts, good high, EMS etc memory manager etc. I/O virtualisation of some sort would be great, so I can, for example have virtual LPT port that would be seen on desired I/O port address and connected to some real LPT port somewhere entirely else or even to USB driver or some userland program through pipe etc.
I don't think susbtantial, grand scale reworks like 32-bit and 64-bit implementation, multicore and multitasking are neccessary. We have plenty other solutions for that.
DOSbox itself states that you should never use it for non-gaming DOS applications. It can go wrong at any random time for any nondeterministic reason. This example from the official forums tells you why. DOSbox is for games, just use it for games. "We do not care one iota about your database app" is a direct quote from a developer.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
but it is quite limited in its capabilities, it would be cool if someone ported some basic linux apps to it like iceWM and some basic browser like dillo and a text editor, maybe something for audio/video and grphics editing like mtpaint or xpaint, make it simple and basic like Windows95 was, not too complicated and just enough to make it usable as a bare bones desktop, if i was forced to use commandline only i would just use Linux without Xorg which is more robust and feature right and even has some ncurses apps that are decent
Politics is Treachery, Religion is Brainwashing
You could sort of do it in EGA mode if you used the PCopy command. My memory is fuzzy on the exact implementation of it but you could draw pictures into one of 8 'pages' of memory and use pcopy to dump that data into an invisible page, then make that page visible... double-buffering I think it was called.
I did a few experiments where some scrolling and even a bit of sprite animation could be done. It didn't have the performance to be mistaken for an NES, but it could have been in the ballpark of Commander Keen.
I apologize for not being able to get into grittier detail, but I did quite a bit of graphic experimentation with QBasic and was surprised about how far I got with it.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
An extended dosbox that contains serial and parallel support.
http://ykhwong.x-y.net/
I have seen some add-on security products for both MS-DOS and early Macs (pre OS X) that were pretty good, and were more than just separating users.
The most notable was a product by Casady & Greene called A. M. E., or Access Managed Environment. It allowed for hierarchal management of users where only the top admins could see peers of each other, and everyone else could only see who was lower in the hierarchy. Each permission had a setting of not just allowing or disallowing, but allowing the downstream user to allow their downstream users to set that. It also had very good encryption for its time (DES on the disk, folders, and individual files), as well as the ability to add code to copy-protect or otherwise restrict executing of applications (these were well before the days of signed applications, even applications that checked their own resources for integrity.) It even had features controlling lockout of a user, not just exponential timeouts, but for a very sensitive user, would go and erase files flagged as "sensitive", which ensured a brute force, even if successful, attack would not bring much. It even brought to the table 2FA by giving the option that a user must insert a floppy disk with a nonce file on it, as well as entering their password.
Of course, there was logging, and virtually every action could be set to be placed in an audit log.
Of course, today's user management has replaced the security programs that sat on top of single user, cooperative multi-tasking operating systems, but it is interesting to see how this was added on.
As I remember, merely inserting the diskette would do absolutely nothing. You had to either run a program from the diskette, or forget to take it out of the drive when you (re)booted the machine in order to actually "catch" anything from it. Autorun didn't come along until Windows 95.
God is real, unless declared integer.
And even on Windows 95 there was never autorun on diskettes anyway.
The comms program was TELEX.EXE. Now cloned for *nix in minicom. I loved that software. My shell for DOS was Norton Commander (NC.EXE) and still use it to this day when I'm on my DOS box programming old Motorola radios and burning EPROMS.
-- I have a private email server in my basement.
Merely inserting a diskette could infect your machine.
Inserting a disk into a running machine would do what? You don't even really mount the disk until you try to access it.
There are lots of vulnerabilities if you run insecure programs on it. Trojans, worms, and viruses had different meanings back in the day. They'd all operate differently, but would all require use of an infected (insecure) file. Anti-Virus was all about scanning insecure files you were trying to run. Simply put, if you never ran anything insecure, you never had a problem.
Learn to love Alaska
Plenty of apps use the shareware model. Download a limited version (usually with ads) for free. Pay for all features and no advertisements.
Except that the model you describe is missing "you could share that limited version with anyone." Apps don't have an ecosystem where one user can share the app with someone else.
The comms program was TELEX.EXE. Now cloned for *nix in minicom. I loved that software.
That was it! I loved Telex too. Great program.
I just used FreeDOS to update this old Optiplex a month ago. Much thanks to the developers for keeping a still valuable tool available.
When the king heard the words of the Book of the Law he tore his robes.2Kings22:11
I'd think the more "DOS-like" way to multitask would be to launch DESQView from FreeDOS and spawn processes from that. While DESQView can be freely downloaded and passed around, I don't believe Symantec has ever released the source to this bit of Quarterdesk flotsam. Bummer.
Why more "DOS-like"? DESQView sucks up 150KB, plus 30KB per task. IIRC, about the minimum Linux memory overhead from among the low footprint Linux distros is about 7MB, although perhaps one can do better with Linux From Scratch. But then who's got less than 7MB nowadays? ;-)
Luke, help me take this mask off
> if there were a modern DOS, what would it be like?
It would be like DRI's DR-Multiuser-DOS or later derivatives such as System Manager or IMS Real-32. Multiuser, multi-tasking, networking, multi-virtual screens. These would run Windows 3,11 in 386 mode on several screens.
Single user cut down versions of Multiuser-DOS came out as DR-DOS 5, DR-DOS 6 with task-switching and DR-DOS 7 (NW-DOS 7 from Novell) with multi-tasking, multi-virtual screens.
The origin of this was MP/M-86, Concurrent-CP/M-86 and Concurrent-DOS which were being demonstrated at the time that MS-DOS 2 was released (which was 'advanced' enough to support hard disks).
I don't usually do the "internet pedantry" thing, but I have to correct you to Telix. ;) Only because I still use it pretty often for various geeky things that aren't all that interesting and I have a lot of very fond memories of it. It was one of the very few shareware applications I registered as a kid - I didn't have a lot of money but I got a lot of use out of it.
I guess I was fortunate that I always lived in pretty big cities back in the day, so I never had a shortage of local BBSes to call. Although I did cause some family drama that I still get reminded of to this day when my little sister broke her wrist at gymastics and spent several hours in the hospital alone because I had the phone lines tied up and had *70'd despite being told not to.
There are actually a handful of dialup BBSes left that I still call now and then, and long distance is no longer a problem with Google Voice. It's fun.
As I remember, merely inserting the diskette would do absolutely nothing. You had to either run a program from the diskette, or forget to take it out of the drive when you (re)booted the machine in order to actually "catch" anything from it.
Autorun didn't come along until Windows 95.
Maybe they're thinking of the Mac's System software... There were several viruses on the Mac that could be spread just by insertion since the Finder (or System) would load the Desktop file on the disk insert event.
Hire a Linux system administrator, systems engineer,
Correct you are sir. I must have confused it with the early form of teletype email using the PSTN and the 910 area code.
-- I have a private email server in my basement.
I build gaming cabinets using DOS. They sell better than new-build systems!
Political debates have me rolling my eyes so much I think I got optical whiplash. I should sue. - Foamy The Squirrel
I was recently going through a stack of old floppies (yes I still have a FDD) on my 2.66 GHz PC and found a railway signalling simulation, done in ASCII graphics. It simulated a day of traffic covered in about 2 hours as I recall. I started it in a DOS VM and for a few seconds the screen was agitated and the PC speaker squawked blue murder, and then it stopped with a message on the screen that I was a lousy signalman and I was sacked! My day as a signalman was over.
At the time micros where almost exclusively single user machines. You booted up the machine and it was yours. IBM did not want to eat into the much more profitable mini computer market or heaven forbid the 360/370 market. They went after the Apple, TRS-80, PET, and CP/M market. They also did not try to touch the Commodore VIC-20 and Atari market. IBM actually was price competitive with the other machines in that segment plus had the name IBM on it. It was not a great computer but it was good enough.
Yes using a 68000 would have been a much better choice but the 68008 was not yet available and the 68000 was seen as too expensive. That is why the PC used the 8088 instead of the 8086.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
"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."
Let me explain why this is not as easy as it sounds.
Let's say you run a mobil tool truck business and have been using a POS and inventory control system that runs on DOS for 30 years or so. It does everything you need. It is paid for and it works.
So you thing they should pay a talented programer to replace it.
1. What do they know about hiring a programer?
2. What do they know about writing specs.
3. What do they know about documentation?
4. What do they know about QA.
5. What they have works so what do they get for paying a few thousand dollars to make a new system that does what the old system does?
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
You'd write an event loop. It's pretty much how it is done elsewhere, too. True, it was nice to have something like the Turbo Pascal "keypressed" boolean to save cycles, rather than comparing INKEY$ to figure out if a character came in, but you'd be stuck writing an event loop regardless to handle multiple forms of input (mouse, joystick, etc)
Failing that, you could CALL INTERRUPT 16h to get what you wanted, fairly easily, and wrap it in a SUB or FUNCTION. A copy of the old Peter Norton book would have been enough to do it.
HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
This example from the official forums tells you why. [vogons.org]
No, it really doesn't. It says "don't do that," then links to a 2-post thread that, oddly, links back to the original, without giving a reason either.
"It can go wrong at any random time for any nondeterministic reason."--what the hell? This is computers we're talking about. Unless we're talking random cosmic rays flipping bits, why should they be inherently nondeterministic? DOS doesn't even do threading, right? Which would be the main source of nondeterminism I would think.
Unity? Screw that: XFCE. Slashdot Beta? Screw that: SoylentNews. Australis? Screw that: Pale Moon. UX developers DIAF
Lord knows no one but me cares, but FreeDOS is not always a good substitute for DOS. I had to work around a BIOS upgrader that insisted on a good battery in a laptop, even when the laptop was plugged in. The workaround involved running the installer from a DOS boot drive, and FreeDOS didn't work. I had to scrape up a Win98/DOS boot drive, but at least I could boot from USB, so I didn't have to go back all the to cave drawings (or floppies).
I think you are forgetting that DOS needs BIOS. UEFI is to get rid of all legacy DOS support...
It shouldn't be FreeDOS to provide BIOS... but perhaps someone will provide BIOS boot UEFI module... like the hardware manufacturers maybe?
120 characters ought to be enough for anyone
See something similar to BAMBIOS
120 characters ought to be enough for anyone
A few years ago, I had gig that involved helping a company sell approx 600 hundred still-useful PCs. The catch was that they all had to be shown to in good working order to the buyers. Of course the drives were all wiped and licensing issues preventing them using Windows, so the easy solution was to install FreeDOS. Super fast install and they could all be shown to be bootable and in good working condition.
I thought commander keen was pretty close to nes in terms of smoothness. It did start life as a smb3 clone afterall.
It was playable, even on slow machines. Unfortunately I was nitpicky enough to see that it was operating at about half the frame rate of NES games. I never did know if that was because they put a limiter in there or if there really was some sort of bottleneck that kept it from running at 60fps.
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
Maybe I'm just ignorant, but now I'm curious. You mentioned
Would that hardware even work on a modern PC? Hmmm, I forgot PCI still exists, would that be how you'd connect it?
I'm just curious.
I was talking in broad hypothetical strokes there (in other words, making stuff up to illustrate a point), and you're right, an old ISA card will be trouble, you might be able to find a specialised board with regular PCI or PCI-X with a bit of looking.
Specialist Mac support for creative pros, Melbourne
Single user and no security what-so-ever. IBM should have used the 68000 combined with a proper OS.
Single user single tasking was just fine for the day's hardware and the user needs. *nix would just slow the hardware down for no good reason, PCs weren't for remote time sharing use. Plus *nix, and its software "ecosystem" wasn't really a good match for a 16-bit architecture.
Yes, the 68K was a much nicer processor. The segmented memory models of the x86 were a major source of bugs. 32-bit registers would have been nice.
MS and IBM had a proper OS for the hardware of that era, it was 16-bit OS/2. The market said no thank you.
The market did not say No, It was MS that saw OS/2 as a serious competitor, and did everything to prevent it's deployment. They MS succeeded.
ask the old timers about that failure of OS/2.
Leslie Satenstein Montreal Quebec Canada