Documented Source Code For Elite On The C64, BBC Micro And Others

If you ever wanted to dive into the source code for the 1980s space gameĀ Elite, but didn’t want to invest many hours reverse-engineering the 6502 assembly code, then [Mark Moxon]’s annotated code has you covered. The systems referenced range from the BBC Micro and Commodore 64 to the NES and Apple II, with some of these versions based on the officially released source code. For other systems the available source code was used together with decompiled game binaries to determine the changes and to produce functional, fully commented source code.

The cutting-edge gameplay of Elite on the 8502.
The cutting-edge gameplay of Elite on the 8502.

This particular game is fascinating for being one of the first to use wire-frame 3D graphics with hidden-line removal and a sprawling universe in which to trade and deal with less than friendly parties using a variety of weapons. After this initial entry it would go on to spawn many sequels and inspired countless games that’d follow a similar formula.

On the respective GitHub project page for each version, you can find instructions on how to build the code for yourself, such as for the Commodore 64. Of note here is the license, which precludes anyone from doing more than forking and reading the code. If this is no concern, then building the game is as simple as using the assembler (BeebAsm) and the c1541 disk image utility from the VICE project.

Finally… A Man Page For Life

How often have you wished to have an instruction manual — or, at least, a Unix man page — for life? Well, your wait is over. Of course, you probably were hoping for instructions on how to navigate life, but [cve’s] mott program plays life inside a man page. That might not be as useful as a real manual for life, but it is still pretty cool.

To understand what’s happening, you have to understand how man pages work. They use an old form of markup known as roff, which later begat nroff and troff. While roff is made to do crude word processing at the dawn of Unix, it is also a Turing-complete language.

Continue reading “Finally… A Man Page For Life”

Hackaday Links Column Banner

Hackaday Links: December 15, 2024

It looks like we won’t have Cruise to kick around in this space anymore with the news that General Motors is pulling the plug on its woe-beset robotaxi project. Cruise, which GM acquired in 2016, fielded autonomous vehicles in various test markets, but the fleet racked up enough high-profile mishaps (first item) for California regulators to shut down test programs in the state last year. The inevitable layoffs ensued, and GM is now killing off its efforts to build robotaxis to concentrate on incorporating the Cruise technology into its “Super Cruise” suite of driver-assistance features for its full line of cars and trucks. We feel like this might be a tacit admission that surmounting the problems of fully autonomous driving is just too hard a nut to crack profitably with current technology, since Super Cruise uses eye-tracking cameras to make sure the driver is paying attention to the road ahead when automation features are engaged. Basically, GM is admitting there still needs to be meat in the seat, at least for now.

Continue reading “Hackaday Links: December 15, 2024”

Rainwater From The Road To The Garden

Most small-scale, residential rainwater harvesting systems we’ve seen rely on using an existing roof and downspout to collect water that would otherwise be diverted out into the environment. These are accessible for most homeowners since almost all of the infrastructure needed for it is already in place. [SuburbanBiology] already built one of these systems to take care of his potable water, though, and despite its 30,000 gallon capacity it’s not even close to big enough to also water his garden. But with some clever grading around his yard and a special rainwater system that harvests rain from the street instead of his roof, he’s capable of maintaining a lush food forest despite living through a drought in Texas.

For this build there are actually two systems demonstrated, one which is gravity-fed from the road and relies on one’s entire property sloping away from the street, and a slightly more complex one that’s more independent of elevation. Both start with cutting through a section of sidewalk to pass a 4″ PVC pipe through to the street where the stormwater runoff can be collected. The gravity-fed system simply diverts this into a series of trenches around the property while the second system uses a custom sump pump to deliver the water to the landscaping.

For a system like this a holding tank is not necessary; [SuburbanBiology] is relying on the soil on his property itself to hold onto the rainwater. Healthy, living soil can hold a tremendous amount of water for a very long time, slowly releasing it to plants when they need it. And, at least where he lives, a system like this is actually helpful for the surrounding environment as a whole since otherwise all of the stormwater runoff has to be diverted out of the city or cause a flood, and it doesn’t end up back in an aquifer. If you’re more curious about a potable water system instead, take a look at [SuburbanBiology]’s previous system.

Continue reading “Rainwater From The Road To The Garden”

Wago Terminals Make This Ham Radio Dipole Light And Packable

For the amateur radio operator with that on-the-go lifestyle, nothing is more important than having your gear as light and packable as possible. If you’re lugging even a modest setup out into the woods, every ounce counts, which is why we love projects like this packable dipole antenna feedpoint.

At its simplest, a dipole antenna is just two pieces of wire cut to a specific, frequency-dependent length connected to a feedline. In practical terms, though, complications arise, such as keeping common-mode currents off the feedline and providing sturdy mechanical support for the antenna to suspend it safely. [Ham Radio Dude]’s design handles both those requirements while staying as small and packable as possible. The design starts with a bifilar 1:1 current balun, which is wound on an FT82-43 ferrite toroid with 22 AWG magnet wire. One side of the balun is connected to a BNC connector while the other is connected to a pair of Wago splice connectors that are glued together. A loop of paracord for mechanical strain relief is added, and the whole thing gets covered in heat-shrink tubing. The antenna is deployed by attaching a feedline to the BNC, clipping quarter-wave wires into the Wago terminals, and hoisting the whole thing aloft. Full build details are in the video below.

People will no doubt be quick to point out that these Wago terminals are rated for a minimum of 18 AWG wire, making them inappropriate for use with fine magnet wire. True enough, but [Dude] was able to get continuity through the Wagos, so the minimum gauge is probably more of an electrical code thing. Still, you’ll want to be careful that the connections stay solid, and it might pay to look at alternatives to the Wago brand, too. Continue reading “Wago Terminals Make This Ham Radio Dipole Light And Packable”

An IPhone Case Study

Way back in 2008, Apple unveiled the first unibody Macbook with a chassis milled out of a single block of aluminum. Before that, essentially all laptops, including those from Apple, were flimsy plastic screwed together haphazardly on various frames. The unibody construction, on the other hand, finally showed that it was possible to make laptops that were both lightweight and sturdy. Apple eventually began producing iPhones with this same design style, and with the right tools and a very accurate set of calipers it’s possible to not only piece together the required hardware to build an iPhone from the ground up but also build a custom chassis for it entirely out of metal as well.

The first part of the project that [Scotty] from [Strange Parts] needed to tackle was actually getting measurements of the internals. Calipers were not getting the entire job done so he used a flatbed scanner to take an image of the case, then milled off a layer and repeated the scan. From there he could start testing out his design. After an uncountable number of prototypes, going back to the CAD model and then back to the mill, he eventually settles into a design but not before breaking an iPhone’s worth of bits along the way. Particularly difficult are the recessed areas inside the phone, but eventually he’s able to get those hollowed out, all the screw holes tapped, and then all the parts needed to get a working iPhone set up inside this case.

[Scotty] has garnered some fame not just for his incredible skills at the precision mill, but by demonstrating in incredible detail how smartphones can be user-serviceable or even built from scratch. They certainly require more finesse than assembling an ATX desktop and can require some more specialized tools, but in the end they’re computers like any other. For the most part.

Continue reading “An IPhone Case Study”

ESP8266 Keeps Tabs On Wood Stove Temperature

Wood heat offers unique advantages compared to more modern heating systems, especially in remote areas. But it also comes with its own challenges, namely, keeping the fire going at the optimum temperature. If it’s too cold you risk buildup in the chimney, but if you’ve got it stoked up more than necessary, you’ll end up burning through your wood faster.

To keep the fire in that sweet spot, [Jay] decided to put an ESP8266 and a thermocouple to work. Now, this might seem like an easy enough job at first, but things are complicated by the fact that the flue temperature above the stove lags considerably behind the temperature inside the stove. There’s also the fact that the top of the chimney will end up being much colder than the bottom.

Mounting the thermocouple in the flue pipe.

In an effort to get a more complete view of what’s happening, [Jay] plans on putting at least two thermocouples in the chimney. But as getting on the roof in December isn’t his idea of fun, for now, he’s starting with the lower one that’s mounted right above the stove. He popped a hole in the pipe to screw in a standard K-type probe, and tapped it a few times with the welder to make sure it wasn’t going anywhere.

From there, the thermocople connects to a MAX6675 amplifier, and then to the WeMos D1 Mini development board that’s been flashed with ESPHome. [Jay] provides the configuration file that will get the flue temperature into Home Assistant, as well as set up notifications for various temperature events. The whole thing goes into a 3D printed box, and gets mounted behind the stove.

This project is a great example on how you can get some real-world data into Home Assistant quickly and easily. In the future, [Jay] not only wants to add that second thermocouple, but also look into manipulating the stove’s air controls with a linear actuator. Here’s hoping we get an update as his woodstove learns some new tricks.