Hackaday Podcast Episode 273: A Tube Snoot, Dynamic Button Blobs, And Tokamaks Aren’t Whack

This week, it was Kristina’s turn in the hot seat with Editor-in-Chief Elliot Williams. First up in the news: Germany’s solar and wind power generation have resulted in excess energy, which some people think is bad. In Hackaday news, the entries in the 2024 Business Card Challenge are really stacking up.

Then it’s on to What’s That Sound, which Kristina provided this week and managed to stump Elliot. Can you get it? Can you figure it out? Can you guess what’s making that sound? If you can, and your number comes up, you get a special Hackaday Podcast t-shirt.

Then it’s on to the hacks, beginning with an improved spectrometer that wasn’t easy, and a rotary phone kitchen timer that kind of was. We’ll talk about badges turned invitations, reinventing rotary switches, and dynamic button blobs. Finally, we get the lowdown on the state of nuclear fusion, and posit why chatting online isn’t what it used to be.

Check out the links below if you want to follow along, and as always, tell us what you think about this episode in the comments!

Download and savor at your leisure.

Continue reading “Hackaday Podcast Episode 273: A Tube Snoot, Dynamic Button Blobs, And Tokamaks Aren’t Whack”

3D Printing Computer Space

The first computer game available as a commercial arcade cabinet is unsurprisingly, a rare sight here in 2024. Nolan Bushnel and Ted Dabney’s 1971 Computer Space was a flowing fiberglass cabinet containing a version of the minicomputer game Spacewar! running on dedicated game hardware. The pair would of course go on to found the wildly successful Atari, leaving their first outing with its meager 1500 units almost a footnote in their history.

Unsurprisingly with so relatively few produced, few made it out of the United States, so in the UK there are none to be found. [Arcade Archive] report on a fresh build of a Computer Space cabinet, this time not in fiberglass but via 3D printed plastic.

The build itself is the work of [Richard Horne], and in the video he takes us through the design process before printing the parts and then sticking them all together to make the cabinet. Without a real machine to scan or measure he’s working from photographs of real machines, working out dimensions by reference to other cabinets such as PONG that appear alongside them. The result is about as faithful a model of the cabinet as could be made, and it’s cut into the many pieces required for 3D printing before careful assembly.

This is the first in a series, so keep following them to see a complete and working Computer Space take shape.

Continue reading “3D Printing Computer Space

Computer Space Replica Is Up And Running

You never forget your first time — watching someone pour several quid’s worth of 10p pieces into a Space Invader machine in 1978, upsetting for a youngster who wanted to have a turn. We’re still waiting, but [Alston] has found an interesting way to get around those arcade video game hoggers by building a replica of Computer Space, the first commercial arcade video game.

Released in 1971, the groundbreaking game was designed by gaming legends [Nolan Bushnell] and [Ted Dabney], and came in a striking curvy fiberglass case that was molded by a manufacturer of swimming pools. [Alston] hasn’t built the case yet, but he does have the electronics up and running.

The electronics of Computer Space are interesting, because there is no microprocessor in there. Instead, it is built from discrete components. [Nolan] had originally planned to use a mini computer called the Data General Nova 800. However, he realized that he could make it cheaper by building it out of discrete components. As [Nolan] described it in an oral history at the Smithsonian [PDF link], the idea came to him after a post-Thanksgiving dinner nap:

“Screw the minicomputer. Get rid of it. Do it all in hardware. Make the game out of this collection, just make it a simple state machine. And the minute that happened, it was like knife through butter. Not only did I get the cost down, but what was budgeted for $1,500 worth of minicomputer, the whole damn computer cost me less than $300 in glue parts. So, I knew that I had something.”

That decision makes it an interesting project to build a replica. Although you can emulate it on a modern computer easily (there is even a version that runs in CSS in the browser). [Alston] is going the hard route, building replica PCBs and using the same components where possible, helped by people who have documented it. So far, the boards are and running and displaying a grainy, pixelated image on a portable TV.

The next step is to take the replica electronics box he has built and make a cabinet to put it into. That’s a big project, and [Alston] is looking for someone with an original cabinet that he can examine and document.

A handheld computer made on a piece of prototyping board running a Tetris clone

Tetris Clone Uses 1000 Lines Of Code, And Nothing Else

If you’re programming on a modern computer, you typically make use of lots of work done by other people. There’s operating systems to abstract away the complexities of modern hardware, standard libraries to implement common tasks, and tons of third-party libraries that prevent you from having to reinvent the wheel all the time: you’re definitely not the first one trying to draw graphics onto a screen or store data in a file.

But if it’s the wheels you’re most interested in, then there’s nothing wrong with inventing new ones now and then. [Michal Zalewski], for instance, has made a beautiful Tetris clone in just 1000 lines of C, without using anyone else’s code.

The purpose of this exercise is to show that it’s possible to make a game with graphics comparable to modern, complex computing systems, without relying on operating systems or third-party libraries. The hardware consists of not much more than an ARM Cortex-M7 MCU, a 240×320 LCD screen and a few buttons soldered onto a piece of prototyping board, all powered by a set of AAA batteries.

The software is similarly spartan: just pure C code running directly on the CPU core. Graphic elements, some generated by AI and others hand-drawn, are stored in memory as plain bitmaps. They are manipulated by 150 lines of code that shuffles sprites around the display at a speed high enough to generate smooth motion. Game mechanics take up about 250 lines, while sound consists of simple square-wave chiptunes written in just 50 lines of code.

[Michal]’s code is very well documented, and his blog post gives even more details about all the problems he had to solve. One example is the length of keypresses: when do you interpret a keypress as a single “press”, and when does it become “press and hold”? Apparently, waiting 250 ms after the first press and 100 ms after subsequent ones does the trick. [Michal] is a bit of an expert on bare-bones game programming by now: he has previously pushed several 8-bit micros to their very limits. Third-party libraries can make your programming life a lot easier, but it’s good to reflect on the dangers of relying too much on other people’s code.

Continue reading Tetris Clone Uses 1000 Lines Of Code, And Nothing Else”

Install ChimeraOS And Never Leave The Sofa

There are some projects that initially don’t seem to make sense, but actually turn out to have valid use cases. ChimeraOS appears to be one of those. The idea is that if you own a gaming PC, but it is not necessarily located where you want to be all the time (like in a gaming den or office for example) then ChimeraOS allows you to play games on it remotely via a local machine. That machine may be a media PC attached to your main TV, or perhaps a mobile device like a steam deck.

With support for AMD GPUs only, there is one issue with deployment — if you’re an Nvidia owner you’re out of luck — the premise is to be able to boot up into a gaming-friendly environment with minimal fuss. Hook up a controller and you’re good to go. Support is also there for a few mobile devices, specifically some Aokzoe, Aya Neo, and OneXPlayer devices as well as some preliminary support for the Asus ROG Ally not to mention the Steam Deck as we touched on earlier. From a software perspective, it obviously supports the Steam platform but also Epic Games, Good Old Games (GOG), and tentatively a mention of console platforms. Sadly the website doesn’t mention much detail on that last bit, but there are some tantalizing hints in the project’s Twitter/X/whatever feed. Reading the release notes, there are mentions of PCSX2 (Playstation 2) Super Game Boy and Atari platforms, so digging into the GitHub repo might be instructive, or you know, actually installing it and trying. This scribe doesn’t own an AMD GPU so that isn’t an option, but do drop us a line in the comments if you’ve tried it and how it works for you.

Many of us at Hackday are avid gamers, especially of the retro kind, which is why we really like these projects. Here’s a nice game controller you can print yourself. For self-builds, there’s nothing quite like the satisfaction of a DIY arcade machine, but what if you think outside the box?

Classic Gaming With FPGA And ATX

Playing classic games, whether they are games from the golden age of arcades or simply games from consoles that are long out of production, tends to exist on a spectrum. At one end is grabbing a game’s ROM file, finding an emulator, and kludging together some controls on a keyboard and mouse with your average PC. At the other is meticulously restoring classic hardware for the “true” feel of what the game would have felt like when it was new. Towards the latter end is emulating the hardware with an FPGA which the open-source MiSTer project attempts to do. This build, though, adds ATX capabilities for the retrocomputing platform. Continue reading “Classic Gaming With FPGA And ATX”

Audio Playback Toy For DSP Adventures

The declining costs of single-board computers has made serious computing power available for even the most trivial of tasks. It’s easy enough to slap a Raspberry Pi onto almost anything for nearly the same cost as a powerful 32-bit microcontroller platform, but this takes some of the fun out of projects for a few of us. Looking to get into the weeds can be a challenge as well, as [Michal Zalewski] demonstrates in this audio playback device he built from a simple 8-bit microcontroller.

The small toy takes audio input from a microphone through an op-amp and feeds this signal to an ADC within the AVR128DA28 microcontroller. The data is then stored on a separate memory chip ready to be played back through another op-amp paired with a speaker. This is where being familiar with the inner workings of the microcontroller comes in handy. By manipulating the interrupt routines in specific ways, the audio stored in memory can be played back at various speeds.

[Michal] intended this build to be a toy for one of his younger relatives, and for the price of a few ICs and buttons it does a pretty good job of turning a regular voice into a chipmunk voice like some commercial children’s toys some of us might remember. If the design aesthetics of this gadget look familiar, you may be thinking of his minimalist gaming device which we recently featured.