Are pure-DOS machines still deployed in industrial uses? How common are they?
Are pure-DOS machines still deployed in industrial uses? How common are they?
The companies that make most of these systems are out of business (mostly VARs that have a lifespan of 5-10 years), and nobody wants to retool a $3 million assembly line just to upgrade an OS.
Edit: I can think of a dozen times I woke up in the middle of the night to drive 20 miles to fix a DOS machine to get a plant working again. This is amazing.
But a good friend of mine has a very awesome job: he is employed by a very large manufacturing company that makes consumer products. They have dozens of plants all over north america, most of which run machines from companies that are out of business or the lines are no longer supported. When one of these antiquated machines break and the on-site service techs can't fix it or don't have spares they call him in. He will basically pull an old ISA card out of a machine, troubleshoot what broke, and replace board level components. He has a stash of old harddrives from eBay. Every version of old software you can imagine. In a few cases he has made new controller boards completely from scratch (including dumping firmware off of chips and flashing it on to new ones). When you are losing $200k an hour with a line down, "screw it I'll make a new one from scratch" isn't a silly response to the plant manager.
I remember fighting to get some UPSes on important machines once upon a time. I don't remember going even one single summer without having a power outage. In fact, there were normally several per year.
When you're 'only' earning an average 20K$/h (10% profit is an ok number I would say, but it may be far less if it's a common finished good), then it may have sens not to pursue buying couples of every single spare part you should have. The full price for always having in stock working spare parts for 100% of a 3M$ production line could be well in the tens of hundreds per month. At the end you're cutting your profit and that's the last thing you want to report to the board, as a plant manager.
That guy must have had a steady hand and be really quick with the soldering iron. Making a new controller board while a 200k $ / hour line is down, well I always suspected my job was boring, now I know.
And when I say "reimage" I mean that I'd run an XCOPY script I had that copied the last known-good backup from a Novell share, after which I'd boot from a DOS floppy and do a sys c:
I eventually made a batch file called 'fix' that would do the more common fixes and had them run that without bothering me.
I used to hate it though, as I was dealing with it at the time when Windows Server was already becoming standard in the enterprise environment.
(My first real IT job was creating the DOS configurations for IBM ThinkPads at F100 corporation. Prior to that I was a total point-n-click Apple guy who was into DTP. If I could write a bullet-proof CONFIG.SYS, a lot other people could too.
Those ThinkPads were weird too, some of them had more devices than available IRQs, including a "mwave" DSP, so you had to create boot menus. Plus, they were running token ring, and there was actually a relevant difference between ISA and PC AT.)
CTRL + ALT + DELETE and a dog-earred copy of "DOS for Dummies"?
When I say "install instructions" of course, I mean they were told to type something like:
c:
cd \foo
cd \bar
cd \baz
copy a:\wuzzle.exe
And sometimes they'd typo something and get completely confused.It was an AMD 586@133mhz iirc, with a lot of ram for the hardware. Rather old design at the time (around 2000-2003, the past bleeds together after a while), and still surprised that someone would take that route. But I'm not surprised that an organization would do similarly today. I know of CNC machines with similarly legacy requirements (XP) that are still run today.
In new deployments these non-PLC industrial systems are some combination of CE, XP, or very rarely 7. Linux is starting to gain traction with some Rockwell touch panels, but your typical vendor is loathe to try anything new.
If software innovation were left to the industrial vendors, we'd still be on parchment and punch cards.
Microsoft trying to push the industry in a certain direction outright banned (or made very annoying) lots of tech after Windows XP.
Example:
Post-winXP is very hard to make decent parallel port stuff. Post-winXP you can't use dedicated hardware to calculate 3D audio (unless you do it in a funky way, like AMD failed attempt that was by adding a audio chip to the GPU and using the fact that HDMI must output audio...) Post-winXP several graphics features that favour CRTs were removed too, using CRT in Windows7+ is a pain, many people think CRT suck compared to flat panels because they never saw a CRT being used properly.
And the list goes on...
In my particular case I know of this stuff because I once tried to start a company that make arcade (of the wood cabinet kind) games.
It is completely non-viable with Windows after WinXP...
MS-DOS, in fact. We tried setting it up on FreeDOS, but apparently only the real thing will do. One and a half years ago, I had the pleasure to install MS-DOS 6.22 on two programming computers. Finding 3.5" floppy disks was ... interesting. But it was fun to see how a freshly installed DOS will boot within seconds, even on fairly dated hardware. Fun times! ;-)
(Some of the visualization workstations at one of those plants seem to run DOS VMs on top of QNX so a single computer can run several displays, but I don't know about the details...)
Just a small aside, you might want to try to spoof the correct version of MS-DOS with FreeDOS's VER command. Usually that's enough to get programs running that are picky about DOS versions.
I did automation by having all the computers source a batch file off a Novell Netware share and they'd reboot to have changes take effect.
So... yeah.
Why was that? Well, they had to store about one thousand 6-digit unit IDs. So they made the unit ID an int and created a UNIT_ID[1000000] array that I don't think was ever made it to 2% used.
It's a Pentium-S DOS box.
"It works, don't touch it" is the motto. Some of the more brave souls had started moving what they can to newer hardware, dosbox, or something, but the machine it was supposed to replace was literally within 5 feet of the control panel, ready to boot.
But to answer your question, last time I touched DOS system was 2005/2006. My first job out of Uni was working for a check cashing/credit card OEM that still had a dos machine with modem based check verification. There was literally a stack of like ~16 modems hooked up to a com port adapter card.
They were fed negative check file updates via serial cable. It us to come from a dos program, but we modified a SUSE Linux machine to send it the update files instead (straight text, null modem connection with a simply login protocol that was easy to reverse engineer). The modem/check verification program was running on MS-DOS 6.22.
The primary debt collection system was run off FoxPro for DOS files, migrated to ForPro for SCO that was running on the SCO Linux emulation layer on a RHEL box. O_o
We were moving to a newer Linux system, but their terminal software to view checks only worked on Windows. I had to reverse engineer our vendors protocol and reimplement their viewer in Java for our Linux stations (it had more features their theirs). They didn't complain about this (surprisingly), but they also weren't interested in buying it form us (the project manager told me they were moving from that protocol in the next release :-/)
I was looking at moving that check verifier to a dos emulator on a Linux box around when I left. Years later they weren't doing well and sold everything.
By doing so they only have to capture the students details once, and students used the same card to access the dorm, or to order food.
The downside was the cost of the hardware, which was only avail from the vendor. I believe it still runs today.
If it ain't broken, don't fix it?