Running FreeDOS And 8086tiny On The Game Boy Advance Because You Can

How many people haven’t looked at their Game Boy Advance (GBA) handheld gaming device and wondered how much better it might be if it could run FreeDOS. Inside an 8086 emulator. If you’re like [ZZAZZ] and similarly suffer intrusive project-related thoughts, then this might be a moment of clear recognition, somewhat like sharing one’s story at a Programmers Anonymous meeting, but we digress.

In the video, the basic premise of making even the 8086tiny emulator work on the GBA seemed improbable on the outset – courtesy of the rather limited memory environment provided by the GBA – before even daring to look at things like disk access.

However, letting silly things like segmented memory and mismatched memory addresses deter us from pleasing said intrusive thoughts would be beyond the pale. Ergo we get a shining example of how days of rewriting code, stripping code, debugging code, fixing alignment issues in code and writing work-arounds for newly discovered issues in code can ultimately lead to the proud moment where FreeDOS boots on the GBA.

Granted it takes over an hour to do so, and has to be started from a butchered Pokémon Emerald save file, courtesy of a well-known exploit in that game, thankfully preserved in counterfeit cartridges.

Admittedly we’re not sure what practical applications there are for FreeDOS on the GBA, but that’s never stopped hackers from taking on impossible projects before, so there’s no sense letting it get in the way now.

Continue reading “Running FreeDOS And 8086tiny On The Game Boy Advance Because You Can”

My Winter Of ’99: The Year Of The Linux Desktop Is Always Next Year

Growing up as a kid in the 1990s was an almost magical time. We had the best game consoles, increasingly faster computers at a pace not seen before, the rise of the Internet and World Wide Web, as well the best fashion and styles possible between neon and pastel colors, translucent plastic and also this little thing called Windows 95 that’d take the world by storm.

Yet as great as Windows 95 and its successor Windows 98 were, you had to be one of the lucky folks who ended up with a stable Windows 9x installation. The prebuilt (Daewoo) Intel Celeron 400 rig with 64 MB SDRAM that I had splurged on with money earned from summer jobs was not one of those lucky systems, resulting in regular Windows reinstalls.

As a relatively nerdy individual, I was aware of this little community-built operating system called ‘Linux’, with the online forums and the Dutch PC magazine that I read convincing me that it would be a superior alternative to this unstable ‘M$’ Windows 98 SE mess that I was dealing with. Thus it was in the Year of the Linux Desktop (1999) that I went into a computer store and bought a boxed disc set of SuSE 6.3 with included manual.

Fast-forward to 2025, and Windows is installed on all my primary desktop systems, raising the question of what went wrong in ’99. Wasn’t Linux the future of desktop operating systems?

Continue reading “My Winter Of ’99: The Year Of The Linux Desktop Is Always Next Year”

The Potential Big Boom In Every Dust Cloud

To the average person, walking into a flour- or sawmill and seeing dust swirling around is unlikely to evoke much of a response, but those in the know are quite likely to bolt for the nearest exit at this harrowing sight. For as harmless as a fine cloud of flour, sawdust or even coffee creamer may appear, each of these have the potential for a massive conflagration and even an earth-shattering detonation.

As for the ‘why’, the answer can be found in for example the working principle behind an internal combustion engine. While a puddle of gasoline is definitely flammable, the only thing that actually burns is the evaporated gaseous form above the liquid, ergo it’s a relatively slow process; in order to make petrol combust, it needs to be mixed in the right air-fuel ratio. If this mixture is then exposed to a spark, the fuel will nearly instantly burn, causing a detonation due to the sudden release of energy.

Similarly, flour, sawdust, and many other substances in powder form will burn gradually if a certain transition interface is maintained. A bucket of sawdust burns slowly, but if you create a sawdust cloud, it might just blow up the room.

This raises the questions of how to recognize this danger and what to do about it.

Continue reading “The Potential Big Boom In Every Dust Cloud”

Testing Brick Layers In OrcaSlicer With Staggered Perimeters

The OrcaSlicer staggered perimeters in an FDM print, after slicing through the model. (Credit: CNC Kitchen)
The OrcaSlicer staggered perimeters in an FDM print, after slicing through the model. (Credit: CNC Kitchen)

The idea of staggered (or brick) layers in FDM prints has become very popular the past few years, with now nightly builds of OrcaSlicer featuring the ‘Stagger Perimeters’ option to automate the process, as demonstrated by [Stefan] in a recent CNC Kitchen video. See the relevant OrcaSlicer GitHub thread for the exact details, and to obtain a build with this feature. After installing, slice the model as normal, after enabling this new parameter in the ‘Strength’ tab.

In the video, [Stefan] first tries out a regular and staggered perimeter print without further adjustments. This perhaps surprisingly results in the staggered version breaking before the regular print, which [Stefan] deduces to be the result of increasing voids within the print. After increasing the extrusion rate to 110% to fill up said voids, this does indeed result in the staggered part showing a massive boost in strength.

What’s perhaps more telling is that a similar positive effect is observed when the flow is increased with the non-staggered part, albeit with the staggered part still showing more of a strength increase. This makes it obvious that just staggering layers isn’t enough, but that the flowrate and possibly other parameters have to be adjusted as well to fully realize the potential of brick layers. That said, it’s encouraging to see this moving forward despite questionable patent claims.

Continue reading “Testing Brick Layers In OrcaSlicer With Staggered Perimeters”

White LED Turning Purple: Analyzing A Phosphor Failure

White LED bulbs are commonplace in households by now, mostly due to their low power usage and high reliability. Crank up the light output enough and you do however get high temperatures and corresponding interesting failure modes. An example is the one demonstrated by the [electronupdate] channel on YouTube with a Philips MR16 LED spot that had developed a distinct purple light output.

The crumbling phosphor coating on top of the now exposed LEDs. (Credit: electronupdate, YouTube)
The crumbling phosphor coating on top of the now exposed LEDs. (Credit: electronupdate, YouTube)

After popping off the front to expose the PCB with the LED packages, the fault seemed to be due to the phosphor on one of the four LEDs flaking off, exposing the individual 405 nm LEDs underneath. Generally, white LEDs are just UV or 405 nm (‘blue’) LEDs that have a phosphor coating on top that converts the emitted wavelength into broad band visible (white) or another specific wavelength, so this failure mode makes perfect sense.

After putting the PCB under a microscope and having a look at the failed and the other LED packages the crumbled phosphor on not just the one package became obvious, as the remaining three showed clear cracks in the phosphor coating. Whether due to the heat in these high-intensity spot lamps or just age, clearly over time these white LED packages become just bare LEDs without the phosphor coating. Ideally you could dab on some fresh phosphor, but likely the fix is to replace these LED packages every few years until the power supply in the bulb gives up the ghost.

Continue reading “White LED Turning Purple: Analyzing A Phosphor Failure”

Forced E-Waste PCs And The Case Of Windows 11’s Trusted Platform

Until the release of Windows 11, the upgrade proposition for Windows operating systems was rather straightforward: you considered whether the current version of Windows on your system still fulfilled your needs and if the answer was ‘no’, you’d buy an upgrade disc. Although system requirements slowly crept up over time, it was likely that your PC could still run the newest-and-greatest Windows version. Even Windows 7 had a graphical fallback mode, just in case your PC’s video card was a potato incapable of handling the GPU-accelerated Aero Glass UI.

This makes a lot of sense, as the most demanding software on a PC are the applications, not the OS. Yet with Windows 11 a new ‘hard’ requirement was added that would flip this on its head: the Trusted Platform Module (TPM) is a security feature that has been around for many years, but never saw much use outside of certain business and government applications. In addition to this, Windows 11 only officially supports a limited number of CPUs, which risks turning many still very capable PCs into expensive paperweights.

Although the TPM and CPU requirements can be circumvented with some effort, this is not supported by Microsoft and raises the specter of a wave of capable PCs being trashed when Windows 10 reaches EOL starting this year.

Continue reading “Forced E-Waste PCs And The Case Of Windows 11’s Trusted Platform”

The Cost Of A Cheap UPS Is 10 Hours And A Replacement PCB

Recently [Florin] was in the market for a basic uninterruptible power supply (UPS) to provide some peace of mind for the smart home equipment he had stashed around. Unfortunately, the cheap Serioux LD600LI unit he picked up left a bit to be desired, and required a bit of retrofitting.

To be fair, the issues that [Florin] ended up dealing with were less about the UPS’ capability to deal with these power issues, and more with the USB interface on the UPS. Initially the UPS seemed to communicate happily with HomeAssistant (HA) via Network UPS Tools over a generic USB protocol, after figuring out what device profile matched this re-branded generic UPS. That’s when HA began to constantly lose the connection with the UPS, risking its integration in the smart home setup.

The old and new USB-serial boards side by side. (Credit: VoltLog, YouTube)
The old and new USB-serial boards side by side. (Credit: VoltLog, YouTube)

After tearing down the UPS to see what was going on, [Florin] found that it used a fairly generic USB-serial adapter featuring the common Cypress CY7C63310 family of low-speed USB controller. Apparently the firmware on this controller was simply not up to the task or poorly implemented, so a replacement was needed.

The process and implementation is covered in detail in the video. It’s quite straightforward, taking the 9600 baud serial link from the UPS’ main board and using a Silabs CP2102N USB-to-UART controller to create a virtual serial port on the USB side. These conversion boards have to be fully isolated, of course, which is where the HopeRF CMT8120 dual-channel digital isolator comes into play.

After assembly it almost fully worked, except that a Sonoff Zigbee controller in the smart home setup used the same Silabs controller, with thus the same USB PID/VID combo. Fortunately in Silabs AN721 it’s described how you can use an alternate PID (0xEA63) which fixed this issue until the next device with a CP2102N is installed

As it turns out, the cost of a $40 UPS is actually 10 hours of work and $61 in parts, although one cannot put a value on all the lessons learned here.

Continue reading “The Cost Of A Cheap UPS Is 10 Hours And A Replacement PCB”