OS/2 Never Went Away. Its Successor Has Received An Update

ArcaOS is an operating system you might not have heard of, but you will recognize it when we tell you that it’s the direct descendant of IBM’s OS/2. It’s just received a major update, and delivers this persuasive argument for its uptake:

“How about a commercial operating system which doesn’t spy on you, does not report your online activity to anyone, and gives you complete freedom to choose the applications you want to use, however you want to use them?”

We’re guessing that a higher-than-average number of Hackaday readers use open-source operating systems, but in a world in which the commercial OS everyone loves to hate is ever more turning the Play button into the Pay button, we have to admit that’s attractive if you pay for your software.

This update, version 5.1.2, brings support for the very latest UEFI systems to the table, keeping the platform alive in a manner we’d never have guessed would happen back in the 1990s. It’s true it’s a 32-bit system rather than 64-bit, and you’d be unlikely to buy it for your high-end gaming machine, but we remember OS/2 Warp back in the day as being very nice indeed and particularly stable. We’re interested enough to have put in a cheeky request for a review ISO, so should that come off we’d love to give it the Jenny’s Daily Drivers treatment.

ArcaOS has been mentioned here before. Do any of our readers encounter it in your daily lives? We’d love to hear in the comments.

Success With FreeDOS On A Modern Platform

Last summer we took a look at FreeDOS as part of the Daily Drivers series, and found a faster and more complete successor to the DOS of old. The sojourn into the 16-bit OS wasn’t perfect though, as we couldn’t find drivers for the 2010-era network card on our newly DOS-ified netbook. Here’s [Inkbox] following the same path, and bringing with it a fix for that networking issue.

The video below is an affectionate look at the OS alongside coding a TRON clone in assembler, and it shows a capable environment within the limitations of the 16-bit mode. The modern laptop here can’t emulate a BIOS as it’s UEFI only, and after trying a UEFI-to-BIOS emulator with limited success, he hits on a different approach. With just enough Linux to support QEMU, he has a lightweight and extremely fast x86 BIOS platform with the advantage of legacy emulation of network cards and the like.

The point of Daily Drivers is wherever possible to use real hardware and not an emulator, as it’s trying to be the machine you’d use day to day. But we can see in a world where a BIOS is no longer a thing it becomes ever more necessary to improvise, and this approach is better than just firing up an emulator from a full-fat Linux desktop. If you fancy giving it a try, it seems less pain than the route we took.

You can read our look at FreeDOS 1.4 here.

Continue reading “Success With FreeDOS On A Modern Platform”

Windows 98 On A 2020 ThinkPad P14s Gen 1 Laptop

The lovely thing about the x86 architecture is its decades of backwards compatibility, which makes it possible to run 1990s operating systems on modern-day hardware, with relatively few obstacles in the way. Recently [Yeo Kheng Meng] did just that with Windows 98 SE on a 2020 ThinkPad P12s Gen 1, booting it alongside Windows 11 and Linux from the same NVMe drive.

Naturally, after previously getting MS-DOS 6.22 from 1994 running on a 2020 ThinkPad X13, the step to doing the same with Windows 98 SE wasn’t that large. The main obstacles that you face come in the form of UEFI and hardware driver support.

Both ThinkPad laptops have in common that they support UEFI-CSM mode, also known as ‘classical BIOS’, as UEFI boot wasn’t even a glimmer yet in some drunk engineer’s eye when Win98 was released. After this everything is about getting as many hardware drivers scrounged together as possible.

[Yeo] ended up having to bodge on a USB 2.0 expansion card via a Thunderbolt dock as Win98 doesn’t have xHCI (USB 3.0) support. With that issue successfully bodged around using a veritable tower of adapters, installing Windows 98 was as easy as nuking Secure Boot in the BIOS, enabling UEFI-CSM along with Thunderbolt BIOS assist mode and disable Kernel DMA protection.

Because UEFI-CSM implementations tend to be buggy, the CREGFIX DOS driver was used to smooth things over. Another issue is the same that we chuckled about back in the day, as Windows 98 cannot address more than 512 MB of RAM by default. Fortunately patches by [Rudolph Loew] helped to fix this and some other smaller issues.

Unfortunately neither Intel nor NVIDIA have released Win98 drivers for quite some time, so there’s no graphics acceleration beyond basic VESA support and the SoftGPU driver. Disk access goes via the BIOS too rather than using an NVMe driver, so it’s not as zippy as it could be, but for Win9x it’s quite usable.

Finally ACPI wasn’t recognized by Win98, but it’s only fair to blame that on the complete flaming train wreck that is ACPI rather than anything to do with Windows. This particular issue was worked around by configuring the BIOS to support S3 power state and with that making Win98 happy again.

It’s honestly quite a shame that UEFI-CSM is largely ignored by new systems, as it makes installing even Windows 7 basically impossible, and thus creating probably the largest split within the x86 ecosystem since the arrival of AMD64/x86_64.

Play Games In UEFI…to Access Your Computer

These days, bootstrapping a computer is a pretty straight forward process, at least as far as the user is concerned. But in the olden days, one would have to manually flick switches entering binary code to get the computer to boot. While certainly not as painstaking as manually flipping bits, these games written for UEFI systems hearken back to the days when accessing your computer was a touch more complicated than pressing a power button.

The repository features five games ranging from a falling ball maze to an age verification quiz. The one thing they all have in common is that to complete system boot, you need to win. All are available in UEFI modules which can not only run in QEMU virtual machines, but bare metal if you so choose.

In no particular order, the games featured are a User Evaluation For Ineptness, which presents a simple addition problem for the user to complete. Insult Sword Fighting, which requires the user to select the correct come back to a prompted insult. Fall To Boot, a falling ball maze navigation game. Age Verification, a set of questions about 80s culture to prove the user is old enough to use the computer. And finally, UEFI Says, a simple memory game.

All of these games are fairly simple, but it’s rather fun to see them built using EDK II as a UEFI module. Let us know down in the comments which is your favorite. And if you’re running an ARM computer, you too can join in on the fun!

Thanks [thatsgrand] for the tip!

 

 

UEFI On ARM? More Likely Than You Think

Now, Rock 5 ITX+ is no x86 board, sporting an ARM Rockchip RK3588 on its ITX form-factor PCB, but reading this blog post’s headline might as well give you the impression. [Venn] from the [interfacinglinux.com] blog tells us about their journey bringing up UEFI on this board, thanks to the [EDK2-RK3588] project. Why? UEFI is genuinely nice for things like OS switching or system reconfiguration on the fly, and in many aspects, having a system management/configuration interface for your SBC sure beats the “flash microSD card and pray” traditional approach.

In theory, a UEFI binary runs like any other firmware. In theory. For [Venn], the journey wasn’t as smooth, which made it very well worth documenting. There’s maybe not a mountain, but at least a small hill of caveats: having to use a specific HDMI port to see the configuration output, somehow having to flash it onto SPI flash chip specifically (and managing to do that through Gnome file manager of all things), requiring a new enough kernel for GPU hardware acceleration… Yet, it works, it really does.

Worth it? From the looks of it, absolutely. One thing [Venn] points out is, the RK3588 is getting a lot of its features upstreamed, so it’s aiming to become a healthy chip for many a Linux goal. From the blog post comments, we’ve also learned that there’s a RPi UEFI port, even if for a specific CPU revision of the Model 5B, it’s still a nifty thing to know. Want to learn more about UEFI? You can start here or here, and if you want a fun hands-on example, you could very well start by running DOOM.

Some assembly code

Programming Space Game For X86 In Assembly Without An Operating System

In this video our hacker [Inkbox] shows us how to create a computer game that runs directly on computer hardware, without an operating system!

[Inkbox] briefly explains what BIOS is, then covers how UEFI replaces it. He talks about the genesis of UEFI from Intel in the late 90s. After Intel’s implementation of UEFI was made open source it got picked up by the TianoCore community who make tools such as the TianoCore EDK II.

[Inkbox] explains that the UEFI implementation provides boot services and runtime services. Boot services include things such as loading memory management facilities or running other UEFI applications, and runtime services include things like system clock access and system reset. In addition to these services there are many more UEFI protocols that are available.

Continue reading “Programming Space Game For X86 In Assembly Without An Operating System”

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.