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.

Building The Most Simple Motor In Mostly LEGO

Although [Jamie’s Brick Jams] has made many far more complicated motor design in the past, it’s nice to go back to the basics and make a motor that uses as few parts as possible. This particular design starts off with a driver coil and a magnetic rotor that uses two neodymium magnets. By balancing these magnets on both sides of an axis just right it should spin smoothly.

The circuit for the simple motor. (Credit: Jamie's Brick Jams, YouTube)
The circuit for the simple motor. (Credit: Jamie’s Brick Jams, YouTube)

First this driver coil is energized with a 9 V battery to confirm that it does in fact spin when briefly applying power, though this means that you need to constantly apply pulses of power to make it keep spinning. To this end a second coil is added, which senses when a magnet passes by.

This sense coil is connected to a small circuit containing a TIP31C NPN power transistor and a LED. While the transistor is probably overkill here, it’ll definitely work. The circuit is shown in the image, with the transistor pins from left to right being Base-Collector-Emitter. This means that the sensor coil being triggered by a passing magnet turns the transistor on for a brief moment, which sends a surge of power through the driver coil, thus pushing the rotor in a typical kicker configuration.

Obviously, the polarity matters here, so switching the leads of one of the coils may be needed if it doesn’t want to spin. The LED is technically optional as well, but it provides an indicator of activity. From this basic design a larger LEGO motor is also built that contains many more magnets in a disc along with two circular coils, but even the first version turns out to be more than powerful enough to drive a little car around.

Continue reading “Building The Most Simple Motor In Mostly LEGO”

Why Diamond Transistors Are So Hard To Make

Many things about diamonds seem eternal, including the many engineering problems related to making them work as a silicon replacement in semiconductor technology. Yet much like a diamond exposed to a stream of oxygen-rich air and a roughly 750°C heat source, time will eventually erase all of them. As detailed in a recent [Asianometry] video, over the decades the challenges with creating diamond wafers and finding the right way to dope pure diamond have been slowly solved, even if some challenges still remain today.

Diamond is basically the exact opposite as silicon when it comes to suitability as a semiconductor material, with a large bandgap (5.5 eV vs the 1.2 of silicon), and excellent thermal conductivity characteristics. This means that diamond transistors are very reliable, albeit harder to switch, and heat produced during switching is rapidly carried away instead of risking a meltdown as with silicon semiconductors.

Unlike silicon, however, diamond is much harder to turn into wafers as you cannot simply melt graphite and draw perfectly crystallized diamond out of said molten puddle. The journey of getting to the state-of-the art soon-to-be-4″ wafers grown on iridium alongside the current mosaic method is a good indication of the complete pain in the neck that just this challenge already is.

Continue reading “Why Diamond Transistors Are So Hard To Make”

MyMiniFactory Has Acquired Thingiverse Bringing Anti-AI Focus

One of the best parts of 3D printing is that you can freely download the plans for countless models from sites like Thingiverse, Printables, and others. Yet with the veritable flood of models on these sites you also want to have some level of quality. Here recent news pertaining to Thingiverse is probably rather joyful, as with the acquisition of Thingiverse by MyMiniFactory, it should remain one of the most friendly sites for sharing 3D printing models.

Although Thingiverse as a concept probably doesn’t need much introduction, it’s important here to acknowledge the tumultuous times that it has gone through since its launch in 2008 as part of MakerBot. Both were acquired by Stratasys in 2013, and this has led to ups and downs in the relationship with Thingiverse’s user base.

MyMiniFactory was launched in 2013 as a similar kind of 3D printing object-sharing platform as Thingiverse, while also offering crowdsourcing and paid model options. In the MyMiniFactory blog post it’s stated that these features will not be added to Thingiverse, and that nothing should change for Thingiverse users in this regard.

What does change is its joining of the ‘SoulCrafted‘ initiative, which is an initiative against machine-generated content, including so-called ‘AI slop’. There will be a live Q & A on February 17th during which the community can pitch their questions and ideas, along with a dedicated Thingiverse group.

3D Printing Pneumatic Channels With Dual Materials For Soft Robots

Pneumatics are a common way to add some motion to soft robotic actuators, but adding it to a robot can be somewhat of a chore. A method demonstrated by [Jackson K. Wilt] et al. (press release, preprint) involves using a 3D printing to extrude two materials: one elastomeric material and a fugitive ink that is used to create pneumatic channels which are dissolved after printing, leaving the empty channels to be filled with air.

By printing these materials with a rational, multi-material (RM-3DP) custom nozzle it’s possible to create various channel patterns, controlling the effect of compressed air on the elastomeric material. This way structures like hinges and muscles can be created, which can then be combined into more complex designs. One demonstrated design involves a human-like hand with digits that can move and grasp, for example.

In the demonstration the elastomeric material is photopolymerizable polyurethane-acrylate resin, with the fugitive ink being 30 wt% Pluronic F-127 in water. The desired pattern is determined beforehand with a simulation, followed by the printing and UV curing of the elastomeric resin.

As is typical of soft robotics implementations, the resulting robots are more about a soft touch than a lot of force, but could make for interesting artificial muscle designs due to how customizable the printing process is.

Continue reading “3D Printing Pneumatic Channels With Dual Materials For Soft Robots”

Argon ONE UP: Test-Tasting A Raspberry Pi CM5 Based Laptop

The Argon40 ONE UP unsurprisingly looks like a laptop. (Credit: Jeff Geerling)
The Argon40 ONE UP unsurprisingly looks like a laptop. (Credit: Jeff Geerling)

The Raspberry Pi Compute Module form factor is a tantalizing core for a potential laptop, with a CM5 module containing a fairly beefy SoC and RAM, with depending on the exact module also eMMC storage and WiFi. To turn this into a laptop you need a PCB to put the CM5 module on and slide it into a laptop shell. This is in effect what [Argon40] did with their crowdfunded ONE UP laptop, which [Jeff Geerling] has been tinkering with for a few weeks now, with some thoughts on how practical the concept of a CM5-based laptop is.

Most practical is probably the DIY option that [Jeff] opted for with the ‘Shell’ version that he bought, as that meant that he could pop in one of the CM5s that he had lying around. The resulting device is totally functional as a laptop, with all the Raspberry Pi 5 levels of performance you’d expect and with the repair-friendliness of a Framework laptop.

If you’re buying the Core version with the 8 GB CM5 module and 256 GB NVMe SSD included, you’re looking at €475 before shipping or the equivalent in your local currency. This puts it unfortunately in the territory of budget x86 laptops and used Apple MacBooks, even before taking into account the current AI-induced RAMpocalypse that’d push [Jeff]’s configuration to $600 if purchased new, with prices likely to only go up.

Even if this price isn’t a concern, and you just want to have a CM5-based laptop, [Jeff]’s experience got soured on poor customer support from [Argon40] and above all the Raspberry Pi’s arch nemesis: the inability to do sleep mode. With the lid closed it runs at 3.3 W idle, but that’ll run down the battery from 100% to flat in about 17 hours. Perhaps if Raspberry Pi added sleep states to their systems would it make for a good laptop core, as well as for a smartphone.

Continue reading “Argon ONE UP: Test-Tasting A Raspberry Pi CM5 Based Laptop”

Exploring Homebrew For The Pokémon Mini

Originally only sold at the Pokémon Center New York in late 2001 for (inflation adjusted) $80, the Pokémon Mini would go on to see a release in Japan and Europe, but never had more than ten games produced for it. Rather than Game Boy-like titles, these were distinct mini games that came on similarly diminutive cartridges. These days it’s barely remembered, but it can readily be used for homebrew titles, as [Inkbox] demonstrates in a recent video.

Inside the device is an Epson-manufactured 16-bit S1C88 processor that runs at 4 MHz and handles basically everything, including video output to the monochrome 96×64 pixel display. System RAM is 4 kB of SRAM, which is enough for the basic games that it was designed for.

The little handheld system offered up some capabilities that even the full-sized Game Boy couldn’t match, such as a basic motion sensor in the form of a reed relay. There’s also 2 MB of ROM space directly addressable without banking.

Programming the device is quite straightforward, not only because of the very accessible ISA, but also the readily available documentation and toolchain. This enables development in C, but in the video assembly is used for the added challenge.

Making the screen tiles can be done in an online editor that [Inkbox] also made, and the game tested in an emulator prior to creating a custom cartridge that uses an RP2040-based board to play the game on real hardware. Although a fairly obscure gaming handheld, it seems like a delightful little system to tinker with and make more games for.

Continue reading “Exploring Homebrew For The Pokémon Mini”