Hand-Coded ASM Powers Homebrew SNES Game

Nintendo has made many game consoles in its long history — one that famously overlaps that of the Ottoman Empire — but only one of them was ever Super. It’s that console, the Super Nintendo Entertainment System, that [Inkbox] has decided to delve deeply into as he crafts a game in assembly using all the hardware tricks he can.

Hardware tricks he’ll need, given he’s limited to the two 64 kB RAM banks and 3.58 MHz Ricoh 6502-based CPU. Even the 4 MB limit he sets for a historically-accurate homemade cartridge seems positively claustrophobic by modern standards. The game he’s after making is a top-down adventure game a la Zelda, and [Inkbox] gets right into the weeds explaining how the SNES works as he shows his work in this nearly hour long video. If you’re looking for a deep dive into the architecture, along with how it is meant to be used, you could certainly find worse sources. Everything from the different graphics modes to what registers handle sound are covered in this and the previous video in the series.

We can’t help but call out his dedication to open source — the SNES Sound Engine he has put up on GitHub looks like it could be a real asset to anyone else doing this kind of homebrew. The game itself is on itch.io and is pay-what-you-want.

[Inkbox] doesn’t just limit himself to the SNES’s 6502-esqe assembly — he’s done impressive work in x86 ASM, too. Continue reading “Hand-Coded ASM Powers Homebrew SNES Game”

It’s GNU Radio Companion, But In The Browser

The progression of the web browser from a tool for simple static information browsing into a do-everything computing environment has been inexorable, with package after package making the jump. Today it’s the turn of GNU Radio Companion, lowering the barrier to software defined radio considerably. It’s the work of [Marc Lichtman], who’s name you may recall if you have ever used pysdr.org.

Loading it up gives you a very familiar window if you’re used to GNU Radio Companion, and it comes with a set of example flowgraphs that cover a large range of applications. It supports a collection of software-defined radios (SDRs) including the well-known RTL-SDR, and if that’s not enough it can also use your sound card. There is even a set of recorded off-air captures to experiment with.

We’ve spent a while here playing with it, and it does everything we’re used to from the version outside the browser. The only thing we’re told it won’t do is work with a networked SDR, but that’s no deal breaker.

Thanks [Marcus Müller] for the tip.

WordStar Lives Again (and Again)

Word processors and editors are a funny thing. It doesn’t really matter what’s “best,” whatever that means. If you have finger memory built up for one program, it’s painful to change. That’s why most of us don’t learn how to type on a Dvorak keyboard and why [George R. R. Martin] writes with WordStar. Many people of a certain age have a deep memory of WordStar. Now you can run it on a modern machine or even in your browser without a lot of trouble, thanks to [nampara-ai].

The idea is simple. Take a vintage copy of WordStar for MSDOS, wrap it with DOSBox, and package it up with some basic scripts for Linux, Mac, or Windows. In addition, there’s a WebAssembly version for the browser if you’re into that sort of thing.

Continue reading “WordStar Lives Again (and Again)”

Haiku OS Releases Beta 6

After just a little over 25 years of the Haiku project trying to keep the BeOS spirit alive, the team has now released Beta 6. The spicy details of what is now all better can naturally be found in the detailed release notes. Part of the size of these release notes is due to the previous beta release being two years ago, though nightly builds have kept Haiku users appeased in the meantime.

The headline features that are new compared to the previous release include the ability to run the Firefox browser and derivatives, QEMU hardware virtualization using the NetBSD Virtual Machine Monitor (NVMM), improved POSIX and hardware compatibility, as well as many bug fixes. Unfortunately 64-bit ARM support still has to wait a bit longer.

Naturally, such a joyful new release wouldn’t go unnoticed by [Action Retro], who decided to celebrate by installing this new release on a stack of old laptops that he bought for a dollar each. With system requirements starting at a Pentium II with 256 MB of RAM, it’s very zippy to install and boot on. As [Action Retro] noticed, a fresh install on a random 2000s Asus laptop both WiFi and audio worked out of the box.

Wrestling through his e-waste pile of laptops, the functional laptops provided a pretty good experience, making these at least an excellent target for a fresh Haiku install as a daily driver.

We looked at Beta 5 and the nightlies back in 2024, with recently attempts being made to port Nvidia GPU drivers to Haiku, with good results.

Continue reading “Haiku OS Releases Beta 6”

ReactOS Gets An Upgrade

A perennial in the esoteric operating system space is ReactOS, a project with its roots in the 1990s which is doing a pretty good job of creating an open source clone of 32-bit Windows. They have a new version out, and it’s acquired some useful features.

Top of the list is a new graphical installer, removing the need for separate live and install ISOs, followed by improvements in video bug fixes and high definition audio drivers and subsystems. There’s a headless server install too, in which the GUI is suppressed. Perhaps most interesting, they are working on version syncing the open-source projects such as WINE on which they rely, meaning with luck that any improvements there will show up in ReactOS.

A while back we took a look at using ReactOS as a daily, and found it to be quirks aside, as usable as you’rd expect a Windows XP clone to be. Given that there are plenty of pieces of hardware and software around that still need an early-2000s era Windows to run, this remains an OS to keep an eye on.

Simulating UAVs In Unreal Engine

When it comes to building real-world flying vehicles, testing can be arduous and expensive. You have to find somewhere to fly, then you have to contend with environmental conditions and the possibility of damaging your craft if things go wrong. Simulation is a great solution to this, allowing testing without so much risk. To that end, [AlexanderRex] whipped up a platform for testing UAVs from the comfort of your computer desk.

PteroSim is intended as a comprehensive test bench for simulating autonomous aerial vehicles. It can run PX4, ArduPilot, and Betaflight binaries right in the simulator. The autopilot code is given simulated sensor data, and in turn responds with actuator commands, just as it would in a real craft. The simulator runs the flight dynamics using JSBSim, and the resulting scene is rendered in Unreal Engine 5.

If you’ve ever wanted to quickly road test different autopilot settings without heading out to the field or risking hardware, this is a great way to do so. It’s hard to beat the speed of iteration that is possible when testing on the computer on your desk. We’ve featured similar work before, too.

Continue reading “Simulating UAVs In Unreal Engine”

Wikipedia On A Cheap Yellow Display

The Cheap Yellow Display (CYD) is a board carrying a slightly older ESP32 variant, a display with a resistive touchscreen, an SD card, and not much else. It’s often used for straightforward microcontroller applications that need a user interface, but that’s not the limit of its possibilities. [Alun Morris] has a CYD on which you can brows an entire offline Wikipedia.

The trick is to take the offline Wikipedia builds from the Kiwix project, and process them further into a custom format suited for a browser firmware on the ESP32. A modern SD card can hold so much data that a full Wikipedia is well within its abilities even with images included.

We like this idea, because it takes the knowledge away from the center of the network to its edge. We expect to see it gaining a following among enthusiasts for offline living, because all that knowledge without a network can only be useful. If you recognize [Alun]’s work, it might be because of his ESP32 web browser.