Building An IBM PCjr BIOS From Source Using Original Printed Source Code

As unloved as IBM’s PCjr was, with only a one-year production run, it’s hard to complain about the documentation available for it. This includes the x86 assembly listing for the BIOS, which [dbalsom] recently used this print version to create an ASM project that can be built into a byte-identical copy of the PCjr BIOS.

In order to build the BIOS image, a ZIP file has been made available that contains the requisite assembler and linker tools, all of which can be run in DOS (or DOSBox) using the provided build.bat file. This creates an executable file, which can then be converted into a BIN file using the provided exe2bin.py Python script, or of course, manually.

Continue reading “Building An IBM PCjr BIOS From Source Using Original Printed Source Code”

Why Some S3 Videocards Have A Brightness Issue

Once a pioneer in videocards, S3’s legacy is today mostly found in details like texture compression as well as the strong presence of S3-branded videocards in the retro-computing world. There’s however a bit of a funny issue with some of these S3 cards in what is often called a ‘brightness bug’, but which as [Bits und Bolts] covers in a recent video was actually a hardware feature that we can once again blame composite video for.

This issue appears with AGP cards like the Trio 3D, Trio64 and ViRGE, where the brightness on the output signal is set too high, easily seen with the washed out look on boot, where especially on CRTs you’d expect to see the nice deep black background. Using an S3 Trio 3D 2X card that was saved from the e-waste pile this so-called Pedestal Bit responsible is investigated and tweaked to show what difference it makes.

At the core is adjusting the black level to make scanline changes easier to detect for TVs, which is no longer relevant for CRTs, LCDs, etc., while adjusting the brightness for one videocard in a system can cause issues elsewhere, such as when using said card alongside a 3dfx Voodoo II card or with inconsistent brightness levels inside 3D games.

Fortunately S3 provided in-depth datasheets on their chips, including how to address the responsible bit. After demonstrating the principle, the BIOS is then patched to set this Pedestal Bit to the value of 0 on boot, solving the issue once and for all.

Continue reading “Why Some S3 Videocards Have A Brightness Issue”

Windows 3.1 On A Modern AM5-Based PC Is Surprisingly Usable

Although Windows 95 stole the show, Windows 3.0 was arguably the first version of Windows that more or less nailed the basic Windows UI concept, with the major 3.1 update being quite recognizable to a modern-day audience. Even better is that you can still install Win3.1 on a modern x86-compatible PC and get some massive improvements along the way, as [Omores] demonstrates in a recent video.

The only real gotcha here is that the AMD AM5 system with Asus Prime X670-P mainboard is one of those boards whose UEFI BIOS still has the ‘classic BIOS’ Compatibility Support Module (CSM) option. With that enabled, Win 3.1 installs without further fuss via a USB floppy drive from a stack of ‘backup’ floppies that someone made in the early 90s. [Omores] also tried it with CSMWrap, but with this USB to PS/2 emulation didn’t work.

Windows 3.1 supports ‘enhanced mode’ by default, which adds virtual memory and multi-tasking if you have an 80386 CPU or better. To fix crashing on boot and having to use ‘standard mode’ instead, the ahcifix.386 fix for the responsible SATA issue by [PluMGMK] should help, or a separate SATA expansion card.

For the video driver the vbesvga.drv by [PluMGMK] was used, to support all VESA BIOS Extensions modes. This driver has improved massively since we last covered it and works great with an RTX 5060 Ti GPU. There’s now even DCI support to enable direct GPU VRAM access for e.g. video playback, with audio also working great with only a few driver-related gotchas.

Continue reading “Windows 3.1 On A Modern AM5-Based PC Is Surprisingly Usable”

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”

Removing The BIOS Administrator Password On A ThinkPad Takes Timing

This would be a bad time to slip. (Credit: onionboots, YouTube)
This would be a bad time to slip. (Credit: onionboots, YouTube)

In the olden days, an administrator password on a BIOS was a mere annoyance, one quickly remedied by powering off the system and pulling its CMOS battery or moving a jumper around. These days, you’re more likely to find a separate EEPROM on the mainboard that preserves the password. This, too, is mostly just another annoyance, as [onionboots] knew. All it takes is shorting out this EEPROM at the right time to knock it offline, with the ‘right time’ turning out to be rather crucial.

While refurbishing this laptop for a customer, he thought it’d be easy: the guide he found said he just had to disassemble the laptop to gain access to this chip, then short out its reset pin at the right time to make it drop offline and keep it shorted. Important here is that you do not short it when you are still booting the system, or it won’t boot. This makes for some interesting prodding of tiny pins with a metal tool.

Continue reading “Removing The BIOS Administrator Password On A ThinkPad Takes Timing”

Project Fail: Cracking A Laptop BIOS Password Using AI

Whenever you buy used computers there is a risk that they come with unpleasant surprises that are not of the insect variant. From Apple hardware that is iCloud-locked with the original owner MIA to PCs that have BIOS passwords, some of these are more severe than others. In the case of BIOS passwords, these tend to be more of an annoyance that’s easily fixed by clearing the CMOS memory, but this isn’t always the case as [Casey Bralla] found with a former student-issued HP ProBook laptop purchased off Facebook Marketplace.

Maybe it’s because HP figured that locking down access to the BIOS is essential on systems that find their way into the hands of bored and enterprising students, but these laptops write the encrypted password and associated settings to a separate Flash memory. Although a master key purportedly exists, HP’s policy here is to replace the system board. Further, while there are some recovery options that do not involve reflashing this Flash memory, they require answers to recovery questions.

This led [Casey] to try brute-force cracking, starting with a Rust-based project on GitHub that promised much but failed to even build. Undeterred, he tasked the Claude AI to write a Python script to do the brute-forcing via the Windows-based HP BIOS utility. The chatbot was also asked to generate multiple lists of unique passwords to try that might be candidates based on some human guesses.

Six months later of near-continuous attempts at nine seconds per try, this method failed to produce a hit, but at least the laptop can still be used, just without BIOS access. This may require [Casey] to work up the courage to do some hardware hacking and erase that pesky UEFI BIOS administrator password, proving at least that apparently it’s fairly good BIOS security.

Clone Wars: IBM Edition

If you search the Internet for “Clone Wars,” you’ll get a lot of Star Wars-related pages. But the original Clone Wars took place a long time ago in a galaxy much nearer to ours, and it has a lot to do with the computer you are probably using right now to read this. (Well, unless it is a Mac, something ARM-based, or an old retro-rig. I did say probably!)

IBM is a name that, for many years, was synonymous with computers, especially big mainframe computers. However, it didn’t start out that way. IBM originally made mechanical calculators and tabulating machines. That changed in 1952 with the IBM 701, IBM’s first computer that you’d recognize as a computer.

If you weren’t there, it is hard to understand how IBM dominated the computer market in the 1960s and 1970s. Sure, there were others like Univac, Honeywell, and Burroughs. But especially in the United States, IBM was the biggest fish in the pond. At one point, the computer market’s estimated worth was a bit more than $11 billion, and IBM’s five biggest competitors accounted for about $2 billion, with almost all of the rest going to IBM.

So it was somewhat surprising that IBM didn’t roll out the personal computer first, or at least very early. Even companies that made “small” computers for the day, like Digital Equipment Corporation or Data General, weren’t really expecting the truly personal computer. That push came from companies no one had heard of at the time, like MITS, SWTP, IMSAI, and Commodore. Continue reading “Clone Wars: IBM Edition”