A screenshot of the world's first 64kB boomer shooter

QUOD Is A Quake-Like In Only 64kB

The demoscene is still alive and well, and the proof is in this truly awe-inspiring game demo by [daivuk] : a Quake-like “boomer shooter” squeezed into a Windows executable of only 64 kB he calls “QUOD”. We’ve included the full explanation video below, but before you check out all the technical details, consider playing the game. It’ll make his explanations even more impressive.

OK, what’s so impressive? Well, aside from the fact that this is a playable 3D shooter in 64kB, with multiple enemies, multiple levels, oodles of textures, running, jumping et cetera–it’s so Quake-like he’s using TrenchBroom to make the levels. Of course he’s reprocessing them into a more space-efficient, optimized format. Yeah, unlike the famous .kkrieger and a lot of other demos in the 64kB space, this isn’t all procedurally generated. [daivuk] did make his own image editing program for procedurally generated textures, though. Which makes sense: as a PNG, the QUOD logo is probably half the size of the (compressed) executable.

The low-poly models are created in Blender, and all created to be symmetric–having the engine mirror the meshes saves 50% of the vertex data. . Blender is just exporting half of a low-poly mesh; just as he wrote his own image editor, he has his own bespoke model tool. This allows tiling model elements, as well as handling bones and poses to keyframe the model’s animation.

Audio is treated similarly to textures and meshes: built up at runtime from stored data and a layered series of effects. When you realize all the sounds were put together in his sound tool from square and sine waves, it makes it very impressive. He’s also got an old-style tracker to create the music. All of these tools output byte arrays that get embedded directly in the game code.

The video also gets into some of his optimization techniques; we like his use of a map file and analyzing it with a python tool to find the exact size of game elements and test his optimizations thereby. One thing he notes is that his optmizations are all for space, not for speed. Except, perhaps, for one thing: [daivuk] created a new language and virtual machine for the game, which seems downright extravagant. It actually makes sense, though, as the virtual machine can be optimized for the limits of the game, as he explains starting at about 20 minutes into the video. Apparently it saved a whole 2kB, which seems like nothing these days but actually let [daivuk] fit an extra level into his 64kB limit. Sure, it’s still bigger than Quake13k–and how did we never cover that?–but you get a lot more game, too.

So, to recap: [daivuk] didn’t just make a game with an impressively tiny size on disk, he made the entire toolchain, and a language for it to boot. If you think this is overoptimized, check out Wolfenstien in 600 lines of AWK. Of course in spite of the 1980s file size, this needs modern hardware to run. You can get surprising graphics performance from a fraction of that, like this ATtiny sprite engine.

Thanks to [Keith Olson] for the tip, which probably took up more than 64kB on our tips line.

Continue reading “QUOD Is A Quake-Like In Only 64kB”

ATABoy Is An Open Source USB Bridge For Old IDE Drives

You can get an IDE to USB bridge from all the usual sources, but you may find those fail on the older drives in your collection– apparently they require drives using logical block addressing, which did not become standard until the mid-1990s. Some while some older drives got in on the LBA game early, you were more likely to see Cylinder-Head-Sector (CHS) addressing. That’s why [JJ Dasher], a.k.a [redruM0381] created ATABoy, an open-source IDE bridge that can handle the oldest drives that fit on the bus.

The heart of the build is an RP2350, which serves as both IDE and USB host controller. To computer, after a little bit of setup, the drive attached to ATABoy shows up as a regular USB mass storage device. A little bit of setup is to be expected with drives of this vintage, you may remember. Luckily [JJ] included a handy BIOS-themed configuration utility that can be accessed through any serial console. He says you’ll usually be able to get away with “Auto Detect & Set Geometry,” but if you need to plug in the CHS values yourself, well, it’ll feel just like old times. Seeing is believing, so check it out in the demo video embedded below.

Though the custom PCB has a USB-C connector, and the USB-C standard could provide enough power for ye olde spinning rust drives, [JJ] didn’t include any power delivery with ATABoy. If you’re using it with a desktop, you can use the PSU in the box; MOLEX hasn’t changed. If you’re on a laptop, you’ll need another power supply– perhaps this USB-C powered benchtop unit.

If you’re using a Raspberry Pi or similar SBC, go ahead and skip USB entirely–the GIPO can do PATA IDE. Continue reading “ATABoy Is An Open Source USB Bridge For Old IDE Drives”

A grim reaper knocking on a door labelled "open source"

What About The Droid Attack On The Repos?

You might not have noticed, but we here at Hackaday are pretty big fans of Open Source — software, hardware, you name it. We’ve also spilled our fair share of electronic ink on things people are doing with AI. So naturally when [Jeff Geerling] declares on his blog (and in a video embedded below) that AI is destroying open source, well, we had to take a look.

[Jeff]’s article highlights a problem he and many others who manage open source projects have noticed: they’re getting flooded with agenetic slop pull requests (PRs). It’s now to the point that GitHub will let you turn off PRs completely, at which point you’ve given up a key piece of the ‘hub’s functionality. That ability to share openly with everyone seemed like a big source of strength for open source projects, but [Jeff] here is joining his voice with others like [Daniel Stenberg] of curl fame, who has dropped bug bounties over a flood of spurious AI-generated PRs.

It’s a problem for maintainers, to be sure, but it’s as much a human problem as an AI one. After all, someone set up that AI agent and pointed at your PRs. While changing the incentive structure– like removing bug bounties– might discourage such actions, [Jeff] has no bounties and the same problem. Ultimately it may be necessary for open source projects to become a little less open, only allowing invited collaborators to submit PRs, which is also now an option on GitHub.

Combine invitation-only access with a strong policy against agenetic AI and LLM code, and you can still run a quality project. The cost of such actions is that the random user with no connection to the project can no longer find and squash bugs. As unlikely as that sounds, it happens! Rather, it did. If the random user is just going to throw their AI agent at the problem, it’s not doing anybody any good.

First they came for our RAM, now they’re here for our repos. If it wasn’t for getting distracted by the cute cat pictures we might just start to think vibe coding could kill open source. Extra bugs was bad enough, but now we can’t even trust the PRs to help us squash them!

Continue reading “What About The Droid Attack On The Repos?”

Miranda, as imaged by Voyager 2 on Jan. 24, 1986.

Miranda’s Unlikely Ocean Has Us Asking If There’s Life Clinging On Around Uranus

If you’re interested in extraterrestrial life, these past few years have given an embarrassment of places to look, even in our own solar system. Mars has been an obvious choice since before the Space Age; in the orbit of Jupiter, Europa’s oceans have been of interest since Voyager’s day; the geysers of Enceladus give Saturn two moons of interest, if you count the possibility of a methane-based chemistry on Titan. Even faraway Neptune’s giant moon Triton probably has an ocean layer deep inside. Now the planet Uranus is getting in on the act, offering its moon Miranda for consideration in a kinda-recent study in the Planetary Science Journal.

Continue reading “Miranda’s Unlikely Ocean Has Us Asking If There’s Life Clinging On Around Uranus”

An image of a magnetically-suspended Lemming

Mag-Lev Lemming Refuses To Fall

Are you ready to feel old? Lemmings just turned thirty-five. The famous puzzle game first came out in February of 1991 for the Commodore Amiga, before eventually being ported to just about everything else out there, from the ZX Spectrum to the FM Towns, and other systems so obscure they don’t have the class to start with two letters, like Macintosh and DOS. [RobSmithDev] decided he needed to commemorate the anniversary with a real floating lemming.

The umbrella-equipped lemming is certainly an iconic aspect of the game franchise, so it’s a good pick for a diorama. Some people would have just bought a figurine and hung it with some string, but that’s not going to get your project on Hackaday. [Rob] designed and 3D printed the whole tableau himself, and designed magnetic levitation system with some lemmings-themed effects.

The mag-lev is of the top-down type, where a magnet in the top of the umbrella is pulled against gravity by an electromagnetic coil. There are kits for this sort of thing, but they didn’t quite work for [Rob] so he rolled his own with an Arduino Nano. That allowed him to include luxuries you don’t always get from AliExpress like a thermal sensors.

Our favorite part of the build, though, has to be the sound effects. When the hall effect sensor detects the lemming statue — or, rather, the magnet in its umbrella — it plays the iconic “Let’s Go!” followed by the game’s sound track. If the figurine falls, or when you remove it, you get the “splat” sound, and if the lemming hits the magnet, it screams. [Rob] posted a demo video if you just want to see it in action, but there’s also a full build video that we’ve embedded below.

A commemorative mag-lev seems to be a theme for [Rob] — we featured his 40th anniversary Amiga lamp last year, but that’s hardly all he gets up to. We have also seen functional replicas, this one of a motion tracker from Aliens, and retrotech deep-dives like when he analyzed the magical-seeming tri-format floppy disk.

Continue reading “Mag-Lev Lemming Refuses To Fall”

Diamond Age-Inspired Pocket Watch Has ESP32 Inside

A lot of hacks get inspired by science fiction. When that inspiration is taken from the boob tube or the silver screen, the visual design is largely taken care of by the prop department. If, on the other hand, one seeks inspiration from the written word– like [Math Campbell] did for his smart pocket watch inspired by The Diamond Agethe visuals are much more up to the individual hacker. Though no nanotechnology was involved in its creation, we think [Math] nailed the Victorian High-Tech vibe of [Neal Stephenson]’s cult classic.

The build itself is fairly simple: [Math] started with a Waveshare dev board that got him the 1.75″ round touch display, along with an ESP32-S3 and niceties such as a six-axis IMU, an RTC, microphone, speaker, and micro SD card reader. That’s quite the pocket watch! The current firmware, which is available on GitHub, focuses on the obvious use case of a very stylish watch, as well as weather and tidal display. Aside from the dev board, [Math] needed only to supply a battery and a case.

[Math] designed the case for the watch himself in Fusion360 before sending it off to be 3D printed in stainless steel. That might not be molecular-scale manufacturing like in the book, but it’s still amazing you can just do that. Ironically, [Math] is a silversmith and will be recreating the final version of the watch case in sterling silver by hand. We’d be tempted to include a door–making it a “hunter’s case” in pocket watch lingo–to protect that amoled display, but far be it for us to tell an artist how to do his work. If you’re not a silversmith, [Math] has stated his intent to add STLs to the GitHub repo, though they aren’t yet present at time of writing.

We’ve featured smart pocket watches before, some with more modern aesthetics. Of course a watch doesn’t have to be smart to grace these pages.

Thanks to [Math Campbell] for the tip! If you’ve got time on your hands after ticking done on a project, send us a tip and watch for it to appear here.

ReMemory Is The Amnesia-hedging Buddy Backup You Didn’t Know You Needed

What would happen if you lost your memory, even partially? With so much of our lives being digital, forgetting your passwords (or the master key to your password manager) could be disastrous. Haunted by that specter after a concussion, [eljojo] created ReMemory, a tool based on Shamir’s Secret Sharing to help your friends help you.

Shamir’s Secret Sharing, for the uninitiated, is a way to split up important data between parties so that the full picture is only available when a quorum comes together. The classic example is giving everyone a couple of digits out of the combination to the bank vault, but no one the full combination. Together, they can open the vault.

ReMemory works the same way. Rather than the combination to a bank vault, the locally-hosted, browser-based interface splits the encryption key to your sensitive data. If you’re old fashioned that might be a plaintext list of passwords, or for the more modern the recovery codes to your password manager. It could be literally anything, like your Aunt Edna’s famous cupcake recipe, which surely should not be lost to time.

Aunt Edna could probably handle this.

You can chose how many friends to split your data betwixt, and how many will be required to meet quorum– the minimum, of course, being two, but the suggested default is to split the data five ways, and allow decryption from any three parties. Each bundle includes the complete recovery tool, so anyone in your circle of trust can start the process of decrypting your data if they get the others on board. Since it’s self-hosted and browser based, those friends don’t have to be particularly tech-savvy, as long as they can be trusted to hold onto the files. Everything is explained in the readme included in each bundle.

This does have the downside of requiring you to have multiple close friends, at least some of whom you trust to come through in a crunch, and all of whom you trust not to collude behind your back. Still, if you’re the social type, this seems like it might be a useful tool. The code is available under an Apache 2.0 license, so you can audit it for yourself — a must for any tool you plan on entrusting your secrets to.

The best part of the sharing algorithm is that it’s not vulnerable to quantum computing. While [eljojo] was thinking of amnesia when he put the tool together, we can’t help but think this also solves the postmortem password problem.