Bring Back The BIOS! (To UEFI Systems, That Is)

At the dawn of the PC, IBM provided the Basic Input Output System (BIOS). It took care of bringing the machine up, and exposed a series of software hooks for the hardware. Over the years the BIOS and its updated descendants served us well, but as we entered a 64-bit world its limitations began to show.

The replacement was the Unified Extensible Firmware Interface or UEFI, and the chances are you’re viewing this on a machine which uses it in some capacity. But what if you only have UEFI and need BIOS to run a piece of older software? Never fear, because here’s CSMWrap, which brings it back, just for you.

Under the hood it’s a wrapper for the SeaBIOS compatibility support module, doing the work of setting up the memory mapping such that it will load, and ensuring that other services such as the VGA BIOS are loaded. As it stands it can boot FreeDOS and some older Windows versions under UEFI in QEMU, and it’s claimed also run on real hardware. We don’t often need to run DOS on our 2025 machine, but it’s neat to know we can.

Meanwhile if the BIOS interests you, know that there’s also an open source BIOS for the earliest of PCs.

BIOS header image: Thomas Schanz, CC BY-SA 4.0.

22 thoughts on “Bring Back The BIOS! (To UEFI Systems, That Is)

      1. That’s like saying a rallycross car isn’t optimized for surface road racing… but it’s sure as hell going to outperform an e-scooter that tops out at 12 MPH.

      2. Do you mean 32-bit instructions? X86 “code” is optimized by the compiler, not the CPU. The CPU does pipelining and branch prediction on all instructions, not just the 64-bit, 128-bit, and 512-bit instructions.

  1. This is like the reverse of projects like Tianocore DUET and Clover EFI which allowed you to load a UEFI environment (generally based on the EDK2 code) as a BIOS bootloader.

  2. In the mid-1990s I used a book which contained a ‘public-domain’ 8086 BIOS written in K&R ‘C’ to develop a BIOS for Micro Control System (UK)’s Solid State Drive-based, Chip & Tech F8680 PC. It was IP66 sealed and low power enough not to need a fan.

    Surprisingly, it came with a floppy disk containing the source and the BIOS could be compiled with Turbo ‘C’ 2.0 and used the same register structure interface to execute machine code functions.

    So, this kind of thing was around 30+ years ago.

    1. Found it, I think. Date makes sense, I was using it in 1993, or maybe there’s an earlier version for a PC. The Chips & Tech F8680 was a weird 8086 with extra segment registers and a “SuperState” mode which could virtualise IO and memory mapping with a 24-bit physical address space. It also had an LCD driver, which we used.

      https://archive.org/details/ATBIOS_Kit_Nov89

  3. Boot directly into a flashed app becoming an option with new nanocomputer
    low-cost low-power platforms supporting huge fast memories?

    Especially booting into a single task interactive OS app, of course.

    1. As much as I hate to think about it, a very simple linux with nothing but the drivers for your device and a webbrowser should be enough.
      You wouldn’t boot “directly” to the browser, but it would be as such, all the layers being hidden.
      If you really want to boot directly to an “app”(sig), you would need to implement drivers for the hardware yourself, or only use the UEFI commands (is there only such a thing? Like the old display command for the BIOS?)

  4. What I need is BIOS on EG cherry trail Atoms. I have probably 20-30 of them in tablets floating around, be much more useful for DOS/Win9x/XP, but of course they don’t have real BIOS (actually I don’t think they have a proper PCI bus? Can’t remember)

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.