A Programming Language For Building NES Games

Generally speaking, writing your own games for retro consoles starts with C code. You’ll need to feed that through a console-specific tool-chain, and there’s certainly going to be some hoops to jump through, but if everything goes as expected, you should end up with a ROM file that can be run in an emulator or played on real hardware if you’ve got the necessary gadgetry to load it.

But NESFab takes things in a slightly different direction. While the code might look like C, it’s actually a language specifically tailored for developing games on the Nintendo Entertainment System (NES). The documentation claims that this targeted language not only compiles into considerably faster 6502 assembly than plain C on GCC or LLVM, but is designed to work around the strengths (and weaknesses) of the NES hardware.

Looking deeper into the example programs and documentation, NESFab offers quite a few quality of life features that should make developing NES games easier. For one thing, there’s integrated asset loading which automatically converts your image files into something the console can understand. One just needs to drop the image file into the source directory, open it in the code with the file function, and the build system will take care of converting it on the fly as the ROM is built. The nuances of bank switching — the organization of code and assets so they fit onto the physical ROM chips on the NES cartridge — are similarly abstracted away.

The obvious downside of NESFab is that, as with something like GB Studio, you’re going to end up putting effort into learning a programming environment that works for just one system. So before you get started, you really need to decide what your goals are. If you’re a diehard NES fan that has no interest in working on other systems, learning a language and build environment specifically geared to that console might make a certain degree of sense. But if you’d like to see your masterpiece running on more than just one system, working in straight C is still going to be your best bet.

Breaking: USPS Halts Inbound Packages From China And Hong Kong Posts

Update: The USPS has now resumed acceptance of inbound packages from China. According to the updated Service Alert, they are currently working with Customs and Border Protection to “implement an efficient collection mechanism for the new China tariffs.’


Some troubling news hit overnight as the United States Post Office announced via a terse “Service Alert” that they would suspend acceptance of inbound parcels from China and Hong Kong Posts, effective immediately.

The Alert calls it a temporary suspension, but gives no timeline on when service will be restored. While details are still coming together, it seems likely that this suspension is part of the Trump administration’s Chinese tariff package, which went into effect at midnight.

Specifically, the administration looks to close the “de minimis” exemption — a loophole which allowed packages valued under $800 USD to pass through customs without having to pay any duties or fees. Those packages will now not only be subject to the overall 10% tax imposed by the new tariff package, but will now have to be formally processed through customs, potentially tacking on even more taxes and fees.

The end result is that not only will your next order of parts from AliExpress be more expensive, but it’s likely to take even longer to arrive at your door. Of course, this should come as no surprise. At the end of the day, this is precisely what the administration aims to accomplish with the new tariffs — if purchasing goods from overseas is suddenly a less attractive option than it was previously, it will be a boon to domestic suppliers. That said, some components will be imported from China regardless of who you order them from, so those prices are still going to increase.

Other carriers such as FedEx and UPS will also have to follow these new rules, but at the time of this writing, neither service had released a statement about how they intend to comply.

How 3D Printing Helps Bring USS Cod Memorial To Life

The USS Cod is a Gato-class submarine that saw combat in the Second World War and today operates as a museum ship in Cleveland, Ohio. While many other surviving WWII-era subs were cut into pieces or otherwise modified for public display, Cod is notable for being intact and still in her wartime configuration. It’s considered to be one of the finest submarine restorations in the world, and in a recent video from their official YouTube page, we get a look at how 3D printing is used to keep the 82 year old submarine looking battle-ready.

In the video below, President of the USS Cod Submarine Memorial [Paul Farace] is joined by one of the volunteers who’s been designing and printing parts aboard the submarine. While the Cod is in remarkable condition overall, there’s no shortage of odd bits and pieces that have gone missing over the sub’s decades of service.

Continue reading “How 3D Printing Helps Bring USS Cod Memorial To Life”

Taylorator Makes Mischief On The Airwaves

[Stephen] recently wrote in to share his experiments with using the LimeSDR mini to conduct a bit of piracy on the airwaves, and though we can’t immediately think of a legitimate application for spamming the full FM broadcast band simultaneously, we can’t help but be fascinated by the technique. Called the Taylorator, as it was originally intended to carpet bomb the dial with the collected works of Taylor Swift on every channel, the code makes for some interesting reading if you’re interested in the transmission-side of software defined radio (SDR).

The write-up talks about the logistics of FM modulation, and how quickly the computational demands stack up when you’re trying to push out 100 different audio streams at once. It takes a desktop-class CPU to pull it off in real-time, and eats up nearly 4 GB of RAM.

You could use this project to play a different episode of the Hackaday Podcast on every FM channel at once, but we wouldn’t recommend it. As [Stephen] touches on at the end of the post, this is almost certainly illegal no matter where you happen to live. That said, if you keep the power low enough so as not to broadcast anything beyond your home lab, it’s unlikely anyone will ever find out.

Continue reading “Taylorator Makes Mischief On The Airwaves”

Setting The Stage For Open Source Sonar Development

At Hackaday, we see community-driven open source development as the great equalizer. Whether it’s hardware or software —  if there’s some megacorp out there trying to sell you something, you should have the option to go with a comparable open source version. Even if the commercial offering is objectively superior, it’s important that open source alternatives always exist, or else its the users themselves that end up becoming the product before too long.

So we were particularly excited when [Neumi] wrote in to share his Open Echo project, as it contains some very impressive work towards democratizing the use of sonar. Over the years we’ve seen a handful of underwater projects utilize sonar in some form or another, but they have always simply read the data from a commercial, and generally expensive, unit. But Open Echo promises to delete the middle-man, allowing for cheaper and more flexible access to bathymetric data.

Continue reading “Setting The Stage For Open Source Sonar Development”

Brick Layer Post-Processor, Promising Stronger 3D Prints, Now Available

Back in November we first brought you word of a slicing technique by which the final strength of 3D printed parts could be considerably improved by adjusting the first layer height of each wall so that subsequent layers would interlock like bricks. It was relatively easy to implement, didn’t require anything special on the printer to accomplish, and testing showed it was effective enough to pursue further. Unfortunately, there was some patent concerns, and it seemed like nobody wanted to be the first to step up and actually implement the feature.

Well, as of today, [Roman Tenger] has decided to answer the call. As explained in the announcement video below, the company that currently holds the US patent for this tech hasn’t filed a European counterpart, so he feels he’s in a fairly safe spot compared to other creators in the community. We salute his bravery, and wish him nothing but the best of luck should any lawyer come knocking.

So how does it work? Right now the script supports PrusaSlicer and OrcaSlicer, and the installation is the same in both cases — just download the Python file, and go into your slicer’s settings under “Post-Processing Scripts” and enter in its path. As of right now you’ll have to provide the target layer height as an option to the script, but we’re willing to bet that’s going to be one of the first things that gets improved as the community starts sending in pull requests for the GPL v3 licensed script.

There was a lot of interest in this technique when we covered it last, and we’re very excited to see an open source implementation break cover. Now that it’s out in the wild, we’d love to hear about it in the comments if you try it out.

Continue reading “Brick Layer Post-Processor, Promising Stronger 3D Prints, Now Available”

An Instant Gratification Game Boy Printer

When the Game Boy Printer was released back in 1998, being able to produce a hard-copy of your Pokémon diploma or your latest Game Boy Camera snapshot at the touch of a button was was pretty slick indeed. But in our modern paperless society, the GB Printer somehow sticks out as even more archaic than the other add-on’s for Nintendo’s iconic handheld. Even among the folks who are still proudly playing the games that support the Printer, nobody actually wants to print anything out — although that doesn’t mean they don’t want to see the images.

The TinyGB Printer, developed by [Raphaël BOICHOT] and [Brian KHUU], could be considered something of a Game Boy Non-Printer. Powered by the RP2040 Zero development board, this open source hardware device plugs into your Game Boy and is picked up by all the games as a legitimate Printer. But instead of cranking out a little slip of thermal paper once you hit the button, the image is displayed in all its 240×240 glory on a 1.3 inch TFT display mounted to the top of the board.

Continue reading “An Instant Gratification Game Boy Printer”