Guide To Mastering OpenSCAD Costs Roughly The Same As OpenSCAD

OpenSCAD is a fantastic free tool for 3D modeling, but it’s far less intuitive to use for non-programmers than mouse-driven programs such as Tinkercad. Powerful as it may be, the learning curve is pretty steep. OpenSCAD’s own clickable cheat sheet and manual comes in handy all the time, but those are really more of a reference than anything else. Never fear, because [Jochen Kerdels] had quite the productive lockdown and wrote a free comprehensive guide to mastering OpenSCAD.

[Jochen]’s book opens with a nice introduction to OpenSCAD and it’s user environment and quickly moves into 10 useful projects of increasing complexity that start with simple stuff like wall anchors and shelf brackets and ends with recursive trees.

There are plenty of printing tips along the way to help realize these projects with minimum frustration, and the book wraps up by covering extra functions not expressly used in the projects.

Of course, you could always support [Jochen]’s Herculean effort by buying the print edition and forcing yourself to type everything in instead of copy/pasting, or give it to someone to introduce them to all the program has to offer.

Need help mastering OpenSCAD workflow? We’ve got that. Just want to make some boxes or airfoils? We have those in stock, too.

Main and thumbnail images via [Devlin Thyne]

E.T. Video Game Gets Re-Imagined In 10 Lines Of BASIC

Most people would recognize E.T. The Extra-Terrestrial for the Atari 2600 by its reputation as one of the worst video games of all time. We’ll have more to say about that in a moment, but E.T. was nevertheless chosen as the inspiration behind [Martin Fitzpatrick]’s re-imagining of the game in ten lines of BASIC code for a contest that encourages and celebrates games written in ten lines of BASIC, or less.

Ten lines of BASIC is a big limitation, even when getting clever by stacking multiple statements into a single line, so [Martin]’s game has a much narrower scope than the original Atari 2600 version. Still, the core elements are present: E.T. must find and gather all the parts of the phone in order to contact his ship, after which he must meet the ship in time to escape. All the while, FBI agents attempt to interfere. The game was written in SAM BASIC, used by the SAM Coupé, a British Z80-based home computer from the late 80s with an emulator available for download.

Now, for lovers of “um, actually” topics, do we have a treat for you! Let’s take this opportunity to review a few things about E.T. The Extra-Terrestrial. That it was a commercial flop is no doubt, but the game itself is often badly misunderstood. Way back in 2013 we covered an extraordinary effort to patch improvements into the binary for the 2600 game, and in the process there’s a compelling case made that the game was in many ways far ahead of its time, and actually quite significant in terms of game design. You can jump right in on an analysis of the hate the game receives, and while reading that it’s helpful to keep in mind that In 1982, many of its peers were games like Space Invaders, with self-evident gameplay that simply looped endlessly.

3D Animation For All Thanks To Google AI

Google rarely fails to impress with technology demos. Their latest — Monster Mash — is aimed at using artificial intelligence to allow the creation of simple 3D animations without a lot of training or trouble. We’ll warn you: we aren’t artists so we didn’t get the results the demos were showing, but then again, if you are even a little artistic, you’ll probably have better luck than we did. You might want to start watching the video, below.

There’s also a research paper if you are more interested in the technology. The idea is to make simple line drawings in 2D. Then you inflate the object to 3D. The final step is to trace out animation paths.

Continue reading “3D Animation For All Thanks To Google AI”

Exhuming An Ancient Game From A Government Warehouse

Many readers will be familiar with the final scene of Raiders Of The Lost Ark, in which the Ark of the Covenant, having been retrieved by Indiana Jones, is placed in a crate and wheeled off to be lost in the seemingly infinite depths of a dusty Government warehouse. Who knows what treasures lurk in such fabled taxpayer-funded repositories, and as if to prove their vast potential, [Arthur O’Dwyer] relates a tale of digital archaeology in which the entire source code of a game thought long-lost was regurgitated with the help of a civil servant.

The game in question is Castlequest, which he had played in the 1980s on the now-defunct GEnie online service. One of very few online references to it came via an entry in the copyright catalog of the US Copyright Office, where copyright holders can choose to register their works. Eventually after some detective work and a conversation with one of the game’s authors, he received copies of the entry. But instead of the expected summary, he was pleasantly surprised to find the full Fortran code of the game. The snag was that it came as a PDF scan of printed pages rather than as code itself, so there followed a tedious process of transcription before it could be published in a GitHub repository and eventually made compilable. The code remains copyrighted as an important part of its story, but should you be interested you can transport yourself back four decades and try your luck at text adventuring.

Maybe there’s more to be found in those dusty copyright warehouses, and searching for it has to be more pleasant than digging up landfills.

Newest PlayStation Exploit Skips The Disc

Last month we brought you word of tonyhax, a clever exploit for the original Sony PlayStation that leveraged a buffer overflow in several of the games from the Tony Hawk Pro Skater series to load arbitrary code from a specially prepared memory card. But now [Bradlin] has taken that idea a step further and developed a software exploit for Sony’s iconic console that doesn’t need to be triggered from a game.

The exploit is considerably more complex this time around, but [Bradlin] does an excellent job of breaking it down for those who want the gritty details. The short version is that missing boundary checks in the PlayStation’s built-in memory card handling routines mean a carefully formatted “block” on the memory card can get the console to execute a small 128 byte payload. That’s not a lot of room to work with, but it ends up being just enough to load up additional code stored elsewhere on the memory card and really kick things off.

Unlike tonyhax, which was designed specifically to allow the user to swap their retail Tony Hawk disc with a game burned to a CD-R, [Bradlin]’s FreePSXBoot is presented as more of a generic loader. As of right now, it doesn’t allow you to actually play burned games, although its inevitable that somebody will connect those last few dots soon.

If you want to check out the progress so far, all you need is wire a PlayStation memory card up to an Arduino, write the provided image to it, and stick it in the slot. [Bradlin] says the exploit doesn’t work 100% of the time (something else that will surely be addressed in future releases), but it shouldn’t take too many attempts before you’re greeted with the flashing screen that proves Sony’s 27 year old console has now truly been bested.

Continue reading “Newest PlayStation Exploit Skips The Disc”

AI Upscaling And The Future Of Content Delivery

The rumor mill has recently been buzzing about Nintendo’s plans to introduce a new version of their extremely popular Switch console in time for the holidays. A faster CPU, more RAM, and an improved OLED display are all pretty much a given, as you’d expect for a mid-generation refresh. Those upgraded specifications will almost certainly come with an inflated price tag as well, but given the incredible demand for the current Switch, a $50 or even $100 bump is unlikely to dissuade many prospective buyers.

But according to a report from Bloomberg, the new Switch might have a bit more going on under the hood than you’d expect from the technologically conservative Nintendo. Their sources claim the new system will utilize an NVIDIA chipset capable of Deep Learning Super Sampling (DLSS), a feature which is currently only available on high-end GeForce RTX 20 and GeForce RTX 30 series GPUs. The technology, which has already been employed by several notable PC games over the last few years, uses machine learning to upscale rendered images in real-time. So rather than tasking the GPU with producing a native 4K image, the engine can render the game at a lower resolution and have DLSS make up the difference.

The current model Nintendo Switch

The implications of this technology, especially on computationally limited devices, is immense. For the Switch, which doubles as a battery powered handheld when removed from its dock, the use of DLSS could allow it to produce visuals similar to the far larger and more expensive Xbox and PlayStation systems it’s in competition with. If Nintendo and NVIDIA can prove DLSS to be viable on something as small as the Switch, we’ll likely see the technology come to future smartphones and tablets to make up for their relatively limited GPUs.

But why stop there? If artificial intelligence systems like DLSS can scale up a video game, it stands to reason the same techniques could be applied to other forms of content. Rather than saturating your Internet connection with a 16K video stream, will TVs of the future simply make the best of what they have using a machine learning algorithm trained on popular shows and movies?

Continue reading “AI Upscaling And The Future Of Content Delivery”

Honey, I Shrunk The Arduino Core

High-level programming languages do a great job of making a programmer’s job easier, but these languages often leave a lot of efficiency on the table as a compromise. While a common thought is to move into a lower-level language like assembly to improve on a program’s speed or memory use, there’s often a lot that can be done at the high level before resorting to such extremes. This, of course, is true of the Arduino platform as well, as [NerdRalph] demonstrates by shrinking the size of the Arduino core itself.

[NerdRalph] had noticed that the “blink” example program actually includes over 1 kB of extraneous code, and that more complicated programs include even more cruft. To combat this issue, he created ArduinoShrink, which seeks to make included libraries more modular and self-contained. It modifies some of the default registers and counters to use less memory and improve speed, and is also designed to improve interrupt latency as well by changing when the Arduino would otherwise disable interrupts.

While there are some limits to ArduinoShrink, such as needing to know specifics about the pins at compile time, for anyone writing programs for Arduinos that are memory-intensive or need improvements in timing, this could be a powerful new tool. If you’d prefer to go in the opposite direction to avoid ever having to learn C or assembly, though, you can always stick with running Python on your embedded devices.