HamsterOS Crams Complete Graphical Desktop Onto 1.44 MB Floppy

It’s not every day that there’s a new OS in the works for 386 and 486-era hardware, but [John Swiderski] let us know he working hard to bring HamsterOS to retrocomputing enthusiasts everywhere.

HamsterOS targets a November 2026 release.

HamsterOS is a tiny but full-featured multitasking 32-bit graphical operating system that fits on a single 1.44 MB floppy disk. It’s designed as a floppy-first OS, but can easily be installed to a hard drive and includes a suite of native applications. There’s even DOS support!

The list of features is impressive, many of which are targeted at making life a little easier for those working with vintage hardware. One example we like is the CMOS crash counter, which automatically forces the system into a basic VGA safe mode after three consecutive failed boot attempts.

Speaking of making vintage computing a little easier to handle, [John] also released HamsterWeazle, a free GUI front-end for Greaseweazle, the open-source USB device that makes interfacing to old floppy drives easy. If you’re finding yourself intrigued by software like HamsterOS but wondering how you’d write to a 1.44 MB floppy without already having some old hardware up and running, Greaseweazle over USB — and HamsterWeazle to make it much more user-friendly — is one way you’d do it.

We recently featured GentleOS, a charming and streamlined graphical OS aimed at vintage hardware that makes a point of showing what’s possible when new ideas meet old hardware. If you have a retrocomputing project you want to show off, custom OS or otherwise, let us know on our tips line!

Running Windows NT On The Nintendo Gamecube

The Nintendo GameCube is known for playing the best version of Smash Bros. and its vaguely rectangular aesthetic. It’s not particularly known for running a workstation OS from the mid-1990s. However, with a little work, your diminutive purple console could also boot up Windows NT if you really wanted it to.

You’ll want a controller that looks *like* this, but not this exact model—because [Jiga Tech] couldn’t get this keyboard controller to work with the ported version of Windows NT.
This is fundamentally possible because, once upon a time, Microsoft built a PowerPC version of Windows NT. The work to make it compatible with the GameCube was performed by a group of contributors—[Rairii], [NTx86], and [stonedDiscord]—with the resulting port made available on Github. It won’t just run on the GameCube, either. You can also boot it on the Wii, and within the Wii-U’s vWii mode, as well.

If you’re interested in seeing what this looks like, there’s a great video from [Jiga Tech] on YouTube that outlines the install process. Just note that the GameCube never really came with a proper keyboard. If you want textual input, you’ll have to fuss with a range of controller-entry methods, or get one of the rare GameCube controllers that had an entire keyboard in the middle. We’re not even kidding, they did exist.

If you’re still obsessed with this generation of consoles, consider trying to order pizza from your Sega Dreamcast. Video after the break.

Continue reading “Running Windows NT On The Nintendo Gamecube”

An In-Browser Visualizer For GPS Satellites

Billions of people use GPS on a daily basis, along with the various other satellite navigation systems available today. But few of us spend much time contemplating the fleet of satellites above us that actually makes the system work. [Robert Wolf] has, though, and he’s built a simple visualizer that displays just what those space birds are doing at any given time.

The visualizer runs right in the browser, and displays a cluster of GPS satellites in a 3D view around the Earth. The tool also offers a list of satellites and related data, including signal-to-noise ratio of the received signals from each one, and the ability to play back satellite positions from previous days. The satellite positions are captured from a GPS receiver that [Robert] operates in the UK.

The view isn’t global or complete, since the receiver can only see a certain number of satellites from its location, but it nevertheless gives an idea of where a subset of GPS satellites are flying above the globe. Depending on the selected view, it’s possible to see the satellites superimposed over the world map itself — or from a distant observer’s perspective, as if looking at the Earth from a distance, among other options.

If you’ve ever wanted an intuitive idea about where the GPS satellites live, this tool is a great way to understand it. We’ve also previously discussed the wide range of GPS alternatives that have been developed over the years. If you’ve got your own GPS hacks brewing in the home lab, don’t hesitate to let us know on the tipsline.

The Hackaday Communicator Badge, Re-Imagined With New Firmware

Our recently concluded event in Europe saw the return of the Hackaday Communicator badge — a stylish handheld gadget with a QWERTY keyboard, a LoRa radio, and an ESP32. It came complete with a simple messaging app built into its MicroPython firmware, and by all accounts it was a great success.

But there was certainly room for improvement, which is where [Giovi321]’s new firmware for the badge comes in. It brings support for Meshtastic proper, as well as longer battery life support for GPS module. To install this firmware you will need to have the ESP-IDF but fortunately there are very comprehensive instructions provided to help you. Under the hood it’s running FreeRTOS.

It’s something which is so often missing with an event badge, any sense of how it might have a life after the event rather than becoming a piece of e-waste. The Communicator badge is such a nice physical design that it obviously has potential, so this firmware unlocks it and gives the badge a use out in the real world. We really like it for this, and we’ll be flashing a few of our badges over to give it a shot shorlty.

If you’re looking to upgrade the hardware on your Communicator, check out the custom RGB keyboard we covered last week.

Custom FM Radio Station Powered By Shell Scripts

[Trwmato] wanted to spend more time listening to a normal radio to cut back on phone use. But the programming wasn’t quite right so, of course, the solution was to spin up a custom radio station!

The station in question uses a Pi Zero to poll podcasts and news from RSS feeds and automatically mixes them with local content and sends it out via Bluetooth. An FM transmitter allows it to still work on the FM radio, too. Grabbing podcasts isn’t very difficult, thanks to podget. The real logic is in how long to retain things and creating a playlist that both prioritizes fresh content while not repeating things too often. Did we forget to mention the whole thing is a collection of shell scripts?

We could see this as the start of a cool project to have a “radio station” for a school, organization, or company. It is easy to understand and modify.

We often argue that the much-maligned bash script is sometimes the right tool for the job. You can even do things like critical sections in them.

How Small Can You Make A C Executable?

It’s well known that the difference in executable size between a compiled binary and one hand-written in optimized assembler will be significant. The compiler brings in all manner of boilerplate whether it needs all of it or not, which is responsible for the extra space. [Weineng] has fallen down the rabbit hole of trying to make the smallest possible gcc-compiled C executable, and the resulting write-up is a fascinating read.

Surprisingly the smallest C program isn’t “Hello World”, but one which simply does nothing but return 0. This results in a binary weighing in at a surprisingly large 15,816 bytes — something which surely could be improved. There follows a set of clever compiler flags and bits of code manipulation to remove some debugging information, and strip out unnecessary stuff executed before void main().

At 13,632 bytes it’s still a little on the chunky side, so it’s time to examine what libraries it brings in. More compiler flags get it down to 8,704 bytes. Removing a code comment section and error handling with more flags takes it to 4,320 bytes. Then there’s code which dictates how memory is allocated, which brings it down to 400 bytes. That’s an impressive reduction!

Reading this as hardware people we maybe don’t have the elite knowledge of compiler flags it takes to manage something like this. But we’ve all at times had to reduce the size of a bit of software, so we’re sure some of the techniques used are going to be interesting to quite a few readers.

After all, even hardware people need to trim the fat at times.

Linux Fu: Taming Strace

While many operating systems seem to try to prevent you from peeking under the hood, Unix and Linux positively encourage it. One great tool that we’ve looked at before is strace. Using this tool, you can see details about every system call a program makes. As you might imagine, for any significant program, the output from strace can be huge.

While I’m not always a fan of GUIs, this is one of those cases where making the data easier to browse is a great idea. Enter strace-tui, a text-based GUI for strace from [Rodrigodd]. The program can parse output from strace or manage the strace execution itself, and either way, display the data in a useful way.

I started out looking at [janestreet’s] strace_ui, but the OCaml setup was throwing errors for me, so I just gave up. The strace-tui installs like many Rust programs, using cargo, and it went smoothly.

Continue reading “Linux Fu: Taming Strace”