Hacker News new | past | comments | ask | show | jobs | submit login

> If it works, then don't change it.

As the article points out: the hardware is at risk of physically failing and it’s getting harder to replace like for like. That’s the reason for looking at an upgrade. Hell, even turning the machines off to replace them is a challenge since some systems need to run 24/7!






If the machine is that old, couldn't an emulator be used to migrate to modern hardware?

Not necessarily. For example, if there is custom hardware used for communications with other systems, such as radar for example, there might be specific timing and latency requirements that could be difficult to meet under emulation.

The most recent Dolphin Emulator post referenced a bug they had where memory cards were written to too quickly under the emulator (and even on actual hardware if you had memory cards that were sufficiently fast) which caused some games problems because they did not expect save files to be written so quickly. Imagine things like that, but where the worst case isn't having Wind Waker hang while saving, but planes crashing.


A long time ago, ..., so add a huge IIRC for the details.

Anyway, a long time ago, in a physic lab class, we had a custom spectrometer device that was controlled using the printer port. (Probably a light, a detector, a diffraction grid and a steppers motor, and perhaps some weird card as an interface to the computer.) It was controlled by a custom Pascal program in the DOS command line.

It was connected to a Win 95 computer that died and we had to replace it with a Win 2000 one. The problem is that anyone can read/write the printer port in Win 95 but that's not possible in Win 2000. [1] We had to make some magic, probably rewrite the program and use some weird device driver to write to the printer port (IIRC again). And multitasking messed the timing. At the end it worked, but upgrading the computer was not easy.

[1] If that makes no sense, replace that with a Win 3.1 to Win 95 transition, but I think it was not that old.


I had similar many years ago in a custom paint shop. We had an expensive colorimeter that interfaced over serial with a program that ran in DOS.

When the pysical computer gave out, I replaced it with a reasonably new one but instead of using a modern OS I installed MS-DOS in order to get it up and running as reliably and quickly as possible.

If I were doing the same today, I'd likely get a new computer and install FreeDOS.


Back when I was designing electronic circuits, the rule was to design for minimum speed, but faster speed should not cause a failure. The rationale was that newer parts were usually faster, and the older parts disappeared.

Of course, nothing can prevent poorly designed code and hardware.


The speed thing was just an example that easily came to mind. I can imagine there are other kinds of analog vs digital interactions that might be occurring that may not be easily replicated under emulation. Especially with a system that grew somewhat organically over the last half-century.

Emulation is likely possible, probably for many of the systems involved, but this is not a field where bugs, especially ones introduced due to emulation, would be easily acceptable.

> Of course, nothing can prevent poorly designed code and hardware.

Agreed, but the reality is that here, trying to fix things and ending up breaking them can and probably will kill people.


These kinds of risks are always present with anything involved with airplanes.

Being terrified of progress means you're likely to kill far more people.


> Being terrified of progress means you're likely to kill far more people.

I'm not really sure what you're arguing for, or against, here. Nobody denies that changes are needed. The hardware is failing and buying new isn't possible to do seamlessly because of the age of the software.

The discussion is whether emulation is a possibility and people are pointing out that this comes with its own risks, so the discussion should centre around whether the cost/risk of emulation is lower than the cost/risk of building completely new systems.


New things always come with unknown risks.

This is true for emulation and for rebuilding from scratch, so I'm still not sure what you're arguing for or against.

I would not be surprised if many of these systems rely on several ISA cards with proprietary protocols and drivers.

I am only aware of a single modern-ish motherboard with ISA, the MS-98A9, and it only supports Intel 3rd Gen Core series CPUs.

That said, if it was a large enough project, reverse engineering and re-implementing using modern components would likely be feasible. Turning each of these into network services handled by something more akin to a RaspberryPi could modernize the data sources while providing a sustainable and modular replacement strategy. The problem is that its not "sexy" enough to get a major government project, and it would not grease the correct palms that a multi-billion dollar next-gen complex proprietary replacement would.


I'm sorry, but this just sounds like quitting before you start.

For example, I've looked into emulating DOS, because I don't like the existing emulators. But I don't need to emulate floppy disk drives, or their drivers, or their hardware cards. I just write some software that can fake a disk drive and hook it to the I/O interrupts. That would be a simple project.

There's nothing sophisticated about DOS.

In hindsight, I'm baffled that it took many many years for people to develop clones of DOS.

For example, EDLIN. A trivial program. I'd write it in a high level language like D, get it to work, then hand-translate it to asm. The executable loader is absurdly simple. And so on.


That conjures up memories of Joel Spolsky's cautionary tale about lava flow from his talk at WeAreDevelopers 2019: https://youtu.be/tWKh95Kio38?feature=shared&t=311

If it uses any analog hardware it makes emulation much harder.

If it uses any digital hardware directly accessed by software (something that Win9x still allowed, see DOS games w/ ISA sound cards), it makes virtualization impossible.

Why is that? Doesn't virtualization virtualize the hardware? I'm not sure why virtualization is impossible there, as QEMU can run plenty of old DOS games.

Yes, but what use is a virtual radar, or a virtual radio?

No, pretending to behave like other digital hardware is exactly what virtualization does.



Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: