Hacker News new | ask | show | jobs
by happycube 534 days ago
Very awesome work indeed... I haven't looked at ELKS in a long time and seeing everything it can do now is heartwarming.

The 8018x/ROM mode sounds like it could make for a fun breadboarding project, not that I'll likely wind up doing it myself. Is there any way to run it in emulation?

Running native compilers on XT/286 hardware does indeed sound sloooow. At least it can be tested, probably automatically, in emulators where it'd run faster than the native compilers did back when this all started :)

---

It's funny... 7-10 year old hardware back in 95-96 when this started could barely keep up with current software at all, and I'm writing this on a 7 year old Dell Precision (albeit upgraded well beyond stock :) ) that still runs Linux pretty darn well.

- Chad

2 comments

If you go back 15 years, to January 2010, you find x86-64 hardware that you could install modern Linux on as easily as running the installer off a USB stick. The unibody 2009 MacBook Pro was out by then, so your computer could even look totally normal at a Starbuck’s today (and connect to the WiFi just fine). That machine will take 8 GB of RAM and run the COSMIC desktop written in Rust for Wayland (run it well-I have done it).

Go back another 15 years to 1995 and you have Pentium desktops. Linux was created just a few years earlier for similar but even more modest hardware (as was Windows NT). Not every modern Linux distro will still run on Pentiums but many will. You may have to burn a CD but up-to-date Antix, Q4OS, or Adelie releases will still work out of the box. Certainly NetBSD will. Not everything will still run on 32 bit machines and RAM is going to be a problem. The “modern web” would bring those machines to their knees. Still, surprisingly modern.

Go back another 15 to January 1980 and you have to wait almost two years for hardware that will even run ELKS. Crazy.

Oh well... At least, in 1980 we got Xenix.
There's a couple of ROM versions, one which runs with a ROM filesystem and boots a shell over serial and another which uses BIOS INT 13h calls for an external MINIX or FAT filesystem. Both are run using an emulator which allows selection of ROM address, RAM size, etc. It'd be too hard to develop reliably without emulators for any of our images.

And yes the native compilers are running way faster under emulation than the originals on real hardware! Funnily enough, we're finding the slowest portion of the native toolchain is the assembler, due to lots of symbols and slow hashing.