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.

FLOSS Weekly Episode 864: Work Hard, Save Money, Retire Early

This week Jonathan chats with Bill Shotts about The Linux Command Line! That’s Bill’s book published by No Starch Press, all about how to make your way around the Linux command line! Bill has had quite a career doing Unix administration, and has thoughts on the current state of technology. Watch to find out more!

Continue reading “FLOSS Weekly Episode 864: Work Hard, Save Money, Retire Early”

Designing A Compact RGB 14-Segment Display

Sometimes you’re looking for a component for a project that you know should exist, but you just cannot find it. Something like a 14-segment LED display, but not just one with a fixed color, instead you want some of that sweet addressable RGB-ness. Unfortunately for [EastMakes], this particular display was nowhere to be found, so he decided to try making his own.

Using addressable SK6805 RGB LEDs with a mere 1.5 x 1.5 footprint as the basis, the layout for these individual LEDs on the PCBs was determined, and a layout created in KiCad. The PCB manufacturing and assembly were straightforward enough — the thing that really makes these displays is the diffuser. Here a few different approaches were tried, including FR4 with translucent segments in the soldermask, and a 3D printed version in both white and black PLA filament.

The FR4 approach using 0.8 mm thin PCBs looked quite all right, with the addition of through vias in the 1 mm version showing how these help to boost overall brightness. The 3D printed version prototypes didn’t look too shabby either, but it would probably help a lot if this diffuser panel also fit around the LEDs to prevent light bleeding between segments.

We’d love to see this type of RGB display being experimented with, as it seems to hold a lot of promise while also definitely being something that ought to exist.

Continue reading “Designing A Compact RGB 14-Segment Display”

Restoring The Soul Of A 1940s Radio

Although we do often see projects that take antiques and replace some or all of their components with modern equipment, we can also sympathize with the view that (when possible and practical) certain antique electronics should be restored rather than gutted. [David] has this inclination for his 1948 GE radio, but there are a few issues with it that prevented a complete, period-correct restoration.

The main (pun intended) issue at the start of this project was safety. The original radio had a chassis that was just as likely as not to become energized, with the only protection being the plastic housing. [David] set up an isolation transformer with a modern polarized power cable to help solve this issue, and then got to work replacing ancient capacitors. With a few other minor issues squared away this is all it took to get the radio working to receive AM radio, and he also was able to make a small modification to allow the radio to accept audio via a 3.5mm jack as well.

However, [David] also has the view that a period-correct AM transmission should accompany this radio as well and set about with the second bit of this project. It’s an adaptation of a project called FieldStation42 originally meant to replicate the experience of cable TV, but [Shane], the project’s creator, helped [David] get it set up for audio as well. A notable feature of this system is that when the user tunes away from one station, it isn’t simply paused, but instead allowed to continue playing as if real time is passing in the simulated radio world.

Although there are a few modern conveniences here for safety and for period-correct immersion, we think this project really hits the nail on the head for preserving everything possible while not rolling the dice with 40s-era safety standards. There’s also a GitHub page with some more info that [David] hopes to add to in the near future. This restoration of a radio only one year newer has a similar feel, and there are also guides for a more broad category of radio restorations as well.

Continue reading “Restoring The Soul Of A 1940s Radio”

Rewinding A Car Alternator For 240 Volt

Two phases installed on the stator. (Credit: FarmCraft101, YouTube)
Two phases installed on the stator. (Credit: FarmCraft101, YouTube)

As part of his quest to find the best affordable generator for his DIY hydroelectric power system, [FarmCraft101] is trying out a range of off-the-shelf and DIY solutions, with in his most recent video trying his hands at the very relaxing activity of rewiring the stator of an alternator.

Normally car alternators output 12VDC after internal rectification, but due to the hundreds of meters from the turbine to the shed, he’d like a higher voltage to curb transmission losses. The easiest way to get a higher voltage out of a car alternator is to change up the wiring on the stator, which is definitely one of those highly educational tasks.

Disassembling an alternator is easy enough, but removing the copper windings from the stator is quite an ordeal, as they were not designed to ever move even a fraction of a millimeter after assembly.

With that arduous task finished, the rewinding was done using 22 AWG copper enamel wire, compared to the original 16 AWG wire, and increasing the loops per coil from 8 to 30. This rewinding isn’t too complicated if you know what you’re doing, with each coil on each of the three windings placed in an alternating fashion, matching the alternating South/North poles on the rotor.

Continue reading “Rewinding A Car Alternator For 240 Volt”

How Resident Evil 2 For The N64 Kept Its FMV Cutscenes

Originally released for the Sony PlayStation in 1998, Resident Evil 2 came on two CDs and used 1.2 GB in total. Of this, full-motion video (FMV) cutscenes took up most of the space, as was rather common for PlayStation games. This posed a bit of a challenge when ported to the Nintendo 64 with its paltry 64 MB of cartridge-based storage. Somehow the developers managed to do the impossible and retain the FMVs, as detailed in a recent video by [LorD of Nerds]. Toggle the English subtitles if German isn’t among your installed natural language parsers.

Instead of dropping the FMVs and replacing them with static screens, a technological improvement was picked. Because of the N64’s rather beefy hardware, it was possible to apply video compression that massively reduced the storage requirements, but this required repurposing the hardware for tasks it was never designed for.

The people behind this feat were developers at Angel Studios, who had 12 months to make it work. Ultimately they achieved a compression ratio of 165:1, with software decoding handling the decompressing and the Reality Signal Processor (RSP) that’s normally part of the graphics pipeline used for both audio tasks and things like upscaling.

Continue reading “How Resident Evil 2 For The N64 Kept Its FMV Cutscenes”

Running DOOM And Super Mario 64 Inside A PDF File

Although generally described as a document format, PDFs have ballooned from a Postscript-lite format into a mutant featuring XML and JavaScript support, basically turning what once was a fairly simple format into an interactive page. Naturally, this has to be used for good, and that is why we have the Doom PDF project, as well as [Game of Tobi] using that project as the inspiration for a Super Mario 64 port based on the decompiled source code.

The nice thing about the Super Mario 64 version is that it’s stand-alone, running from a 23.5 MB PDF, unlike the Doom PDF which runs the game in DOSBox. The compromise is that Super Mario 64 PDF runs at just a few FPS, with the output in glorious ASCII.

What enables this feat is to open the PDF in a viewer that supports JavaScript, with the PDF.js that comes with most browsers generally allowing for integrated JS in the PDF to be executed. Unfortunately [Game of Tobi] hasn’t released source code for this project, but we hope that this is forthcoming.

While one can argue about the practicality of this whole demonstration from a gaming perspective, it definitely shows that PDF as a format has gotten way out of hand now that it’s even overrun with hellspawn and Italian plumbers.

Continue reading “Running DOOM And Super Mario 64 Inside A PDF File”