A Modern PC With A Retro OS

Despite the rise of ARM processors in more and more computers from embedded systems to daily driver PCs, the x86 architecture maintains a stronghold in the computing space that won’t be going away anytime soon. One of the main drivers of this is its beachhead in industrial systems; the x86 architecture is backwards-compatible farther back than many of us have been alive and in situations where machines need to run for years with minimum downtime it’s good to know you can grab any x86 system off the shelf and it’ll largely work. This is also true for gaming, so if you’re like [Yeo Kheng Meng] and want to run games like DOOM natively on modern hardware it’s certainly possible, although there are a few catches.

This build goes into the design of a modern AMD Ryzen 5 desktop computer, with all of the components selected specifically for their use running software more than three decades old now. [Yeo Kheng Meng] is targeting DOS 6.22 as his operating system of choice, meaning that modern EFI motherboards won’t necessarily work. He’s turned to business class products as a solution for many of these issues, as motherboards targeting business and industrial customers often contain more support for antiquated hardware like PS/2 and parallel ports while still having modern amenities like DDR5 memory slots. PS/2 ports additionally are an indicator that the motherboard will supports older non-EFI boot modes (BIOS) and can potentially run DOS natively. Everything here can also run modern operating systems, since he isn’t building this system only to run DOS and retro games.

Beyond the motherboard choice, he’s also using a Soundblaster card for audio which is a design choice generally relegated to history, but still used in modern gaming by a dedicated group. There’s also a floppy drive running via a USB header adapter cable. Of course, there are a few problems running DOS and other era-appropriate software natively on such incomprehensibly fast hardware (by early 90s standards). Some video games were hard coded to the processor clock of the x86 process of the era, so increasing the clock speed orders of magnitude results in several playability issues. In emulators it’s easier to provide an artificially slow clock speed, but on real hardware this isn’t always possible. But [Yeo Kheng Meng] has done a lot to get this modern computer running older software like this. Another take we’ve seen for retro gaming on original hardware is this system which uses a brand-new 486 processor meant for use in industrial settings as well.

24 thoughts on “A Modern PC With A Retro OS

  1. I wonder if some kind of TSR timer interrupt would help with the extreme clock speeds; when a timer happens just take over for a while until it’s time to release back to the other program.

    1. Not all DOS programs are badly written, I’ve seen quite a few that ran okay on an AMD Athlon system that I had used a few years ago.
      Some measure 60/70 Hz timing of VGA card or may use vertical retrace interrupt feature of EGA cards (IRQ2),
      which some VGA cards have optional support for.

    2. Back in the day we all used “Mo-Slow” to run older games on our Pentiums; it worked by grabbing the timer interrupt and then busy-waiting for a bit, which tended to help although it could result in jerky animations.

      Most later DOS games used vsync so the extreme clock speeds don’t tend to be a problem, although a lot of them still need to be patched because of bad timing assumptions that the (fairly popular) Borland C/Pascal runtime made in its own startup routine, with an unnecessary calibration loop that ends up dividing by 0 if the computer is too fast. There are automated patchers to fix that one, at least.

      1. True. And another workaround was disabling L1 and L2 cache in the CMOS Setup Utility.
        Some 586 mainboards still had a turbo button header, as well.
        It did add wait states, changed FSB speed or did use other tricks to slow down the system.

      2. can you imagine being the guy designing that calibration algorithm, asking yourself “will this complete? yeah unless it computes a BILLION increment-compare-branches in a SINGLE SECOND”

        in my imagination, he looked at the handy dandy moore’s law chart stapled to the back of his office door, traced his finger across the curve and landed at 2006 and said “20 years sure whatever”

  2. This would be quite useful for classic productivity software.
    Programs such as Deluxe Paint, Imagine 4.0, Autodesk Animator Pro, AutoCAD R10, 3D Studio R3 or 4, P-CAD, PADS, Protel Autotrax/Easytrax, CadSoft Eagle 2.0, etc.
    Or older hobby software such as APRSdos (ham radio), POV-Ray (raytracing), PREDICT & STS Orbit Plus (sat trackers) and Impulse Tracker (Amiga music tracker).
    Environments such as DesqView /X, Windows for Workgroups, Breadboard Ensemble (PC GEOS) might run in resolutions up to 1600×1200 pixels* through VESA VBE.
    Alternatively, an classic PCI VGA card might be usable via PCI-PCIe converter board, to increase application compatibility.

    (*And even those that won’t often can do 800×600 resolution, at least, which scales nicely to 1600×1200.
    Programs like SkyGlobe come to mind, which support Super VGA and VBE.
    Flight sims such as SF4 can do 800×600, too, if an ET-4000 or similar classic VGA card is detected.
    The later adventure games by MagneticScrolls or Legend Entertainment did support 800×600, too. They can be patched for VBE mode 6Ah, I think.
    Mid-90s games such as Descent 2, ST:TNG A Final Unity, Toonstruck or Tomb Raider had 640×480 or 800×600 support via VBE, too.)

    1. Mobygames has hundreds of DOS games being capable running in either Super VGA or VESA VBE graphics modes.

      Depending on their complexity and the graphics settings, a strong modern computer can be really useful and outperform DOSBox or PCem/86Box.
      It can do render things in software at high resolutions which previously had required a Voodoo 1 or 2.

      Super VGA
      https://www.mobygames.com/game/attribute:12/platform:dos/sort:title/page:1/

      VESA VBE
      https://www.mobygames.com/game/attribute:11/platform:dos/sort:title/page:1/

      Quick summary: The main difference is that Super VGA either referrs to SVGA resolution (for productivity applications it’s 800×600 16c or higher; for games it’s usually any 256c color mode beyond 320×200 resolution or beyond tweaked VGA modes) or native support for specific VGA chipsets of the day (ET-4000, V7 VEGA, Paradise/Western Digital, Trident 8900, S3 Trio32/64 etc), while VESA VBE is a hardware-independent software standard (VBE BIOS).
      VBE 2 is ideally best in terms of compatibility, because it still supports older color depths.
      VBE 3, the last VBE, still works okay though.

    2. I am in the process of building socket 7 430TX (K6-2/450) ISA/PCI based PC now.
      Acad R13 works great, but I have black screen using Matrox PADI drivers on Millenium and Millenium II in 3D Studio R3/R4. S3 Virge works great though.
      Sadly, even though I can find some newer graphics cards for PCI, like say Radeon R100, there are no more AutoCAD PADI drivers for them
      I will try to build my old IPAS plugins I made for 3DS ;-)
      Beeps will be provided by GUS and SB AWE64 Gold with SIMMconn 32MB.
      Extra 3D will come from my Quantum Obsidian X-24 that spent like 20 years in storage.

      1. Hi, I’m not sure if this is helpful, but for older AutoDesk products, -such as AutoSketch 3-, there’s SVADI, an ADI driver that uses VESA VBE.
        It supports up to 1280×1024, I think. Works from VBE 1.x onwards.

        Latest versions seems to be “SVADI Super VGA ADI 4.2”.
        There’s also an 256c version named “Vesa SuperVGA ADI 4.2 display and rendering” according to the internet.

        Again not sure if this helpful here.
        To my understanding PADI is a Protected-Mode version of ADI.
        (Normal ADI was Real-Mode compatible.)

    3. You do realise half of these are currently maintained projects and the other half work perfectly in DOSBox, or other VMs right? It helps that hardware acceleration isn’t necessary.

  3. “… targeting DOS 6.22 as his operating system of choice, meaning that modern EFI motherboards won’t necessarily work.”

    So I can no longer assume I can revert to classic Bios boot or even assume I can disable Secure boot on all motherboards?

    What an ugly mess Efi is :-( Also regularly vulnerable hiding place for hard to detect intrusions and viruses :-(

    1. i’m not gonna deny there are downsides to EFI but being able to install a bootloader just by copying files into a FAT partition is amazing. the old MBR-based boot process was not awesome.

  4. Disregarding the non-factual blanket statements, this is a good article. I was born in 1969 so probably have seen more computer systems than 90% of the people reading this. Right now I am building a new machine with everything as upto date as possible without losing any of the old school benefits. It is cheaper to buy a refurbished computer, but far better and more satisfying to build it from the frame up yourself. Just remember that no one is perfect so check everything THREE times including that your connections are not in backwards. A lot of older stuff was not ‘dummy’ proof.

  5. I’m building a mini PC with Linux,that boots directly into dosbox-x. I have it setup with USB floppy and cd rom. I am running dos 6.22. I currently use it to run productivity apps. I also program with Borland c++.

  6. Many years ago, we had a ballot tabulator that used a Pentium PC to run it’s software under DOS.

    The speed of the processor caused timing issues and a program was needed to slow things down a bit.

    An older, slower 486 based machine had no such issues and was our main production machine.

    Technology changes over the years has been fun to watch and be a part of.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.