39C3: Recreating Sandstorm

Some synthesizer sounds are just catchy, but some of them are genre-defining. We think you could make that case for the Roland JP-8000 patch “Sandstorm”, which you’ve heard if you listened to any trance from the 90’s, but especially the song that was named after it.

“Sandstorm” is powered by the Roland Supersaw, and synth nerds have argued for a decade about how it’s made. The JP-8000 is a digital synthesizer, though, so it’s just code, run through custom DSP chips. If you could reverse engineer these chips, make a virtual machine, and send them the right program, you could get the sound 100% right. Think MAME but for synthesizers.

That brings us to [giulioz]’s talk at the 39th Chaos Communication Congress, where he dives deep into the custom DSP chip at the heart of the JP-8000. He and his crew had approached older digital synths by decapping and mapping out the logic, as you often do in video game emulation. Here, getting the connections right turned out to be simply too daunting, so he found a simpler device that had a test mode that, combined with knowledge of the chip architecture, helped him to figure out the undocumented DSP chip’s instruction set.

After essentially recreating the datasheet from first principles for a custom chip, [guiloz] and team could finally answer the burning question: “how does the Supersaw work”?  The horrifying answer, after all this effort, is that it’s exactly what you’d expect — seven sawtooth waves, slightly detuned, and layered over each other. Just what it sounds like.

The real end result is an emulation that’s every bit (tee-hee!) as good as the original, because it’s been checked out on a logic analyzer. But the real fun is the voyage. Go give the talk a watch.

Creating User-Friendly Installers Across Operating Systems

After you have written the code for some awesome application, you of course want other people to be able to use it. Although simply directing them to the source code on GitHub or similar is an option, not every project lends itself to the traditional configure && make && make install, with often dependencies being the sticking point.

Asking the user to install dependencies and set up any filesystem links is an option, but having an installer of some type tackle all this is of course significantly easier. Typically this would contain the precompiled binaries, along with any other required files which the installer can then copy to their final location before tackling any remaining tasks, like updating configuration files, tweaking a registry, setting up filesystem links and so on.

As simple as this sounds, it comes with a lot of gotchas, with Linux distributions in particular being a tough nut. Whereas on MacOS, Windows, Haiku and many other OSes you can provide a single installer file for the respective platform, for Linux things get interesting.

Continue reading “Creating User-Friendly Installers Across Operating Systems”

Recreating The Destroyed Case Of LGR’s Rare 1980s Laptop

A while back [Clint Basinger] of Lazy Game Reviews fame purchased a rare 1980s Halikan laptop. When he received the parcel, at first glance, everything seemed in order. Upon opening the original laptop bag, however, it was found that the combination of the heavy power supply in a side pocket and the brittle plastic of the laptop’s case had turned the latter into sad fragments of regret. At the time [Clint] wasn’t sure what he’d do, but fortunately [polymatt] stepped in with the joyful news: we can rebuild it; we have the technology.

Obviously, the sad plastic fragments of the original case weren’t going together again in any meaningful way, nor would this have been helpful, but the pieces, along with photos of an intact laptop, helped with the modelling of a digital model of the case. One model and one 3D printer is all you need. For this case, the print used ABS, with gaps between the segmented prints filled with an ABS slurry, as the case was too large to be printed without jumping through some hoops.

Continue reading “Recreating The Destroyed Case Of LGR’s Rare 1980s Laptop”

Recreating A Homebrew Game System From 1987

We often take for granted how easy it is to get information in today’s modern, Internet-connected world. Especially around electronics projects, datasheets are generally a few clicks away, as are instructions for building almost anything. Not so in the late 80s where ordering physical catalogs of chips and their datasheets was generally required.

Mastering this landscape took a different skillset and far more determination than today, which is what makes the fact that a Japanese electronics hobbyist built a complete homebrew video game system from scratch in 1987 all the more impressive.[Alex] recently discovered this project and produced a replica of it with a few modern touches.

Continue reading “Recreating A Homebrew Game System From 1987”

Creating Python GUIs With GIMP

GUI design can be a tedious job, requiring the use of specialist design tools and finding a suitable library that fits your use case. If you’re looking for a lightweight solution, though, you might consider just using a simple image editor with a nifty Python library that [Manish Kathuria] whipped up.

[Manish’s] intention was to create a better-looking user interface solution for Python apps that was also accessible. He’d previously considered other Python GUI options to be unimpressive, requiring a lot of code and delivering undesirable results. His solution enables the use of just about any graphic you can think of as a UI object, creating all kinds of visually-appealing possibilities. He also was eager to make sure his solution would work with irregular-shaped buttons, sliders, and other controls—a limitation popular libraries like Tkinter never quite got around.

The system simply works by using layered image files to create interactive interfaces, with a minimum of code required to define the parameters and performance of the interface. You’re not strictly limited to using the GIMP image editor, either; some of the examples use MS Paint instead. Files are on Github for those eager to try the library for themselves.

We’ve featured some neat GUI tools before, too, like this library for embedded environments. Video after the break.

Continue reading “Creating Python GUIs With GIMP”

Creating A New Keyboard Flex For An Old Calculator

[Menadue] had a vintage Compucorp 326 calculator with an aging problem. Specifically, the flex cable that connects the button pad had turned corroded over time. However, thanks to the modern PCB industrial complex, replacing the obscure part was relatively straightforward!

The basic idea was simple enough: measure the original flex cable, and recreate it with the flat-flex PCB options available at many modern PCB houses that cater to small orders and hobbyists. [Menadue] had some headaches, having slightly misjudged the pitch of the individual edge-connector contacts. However, he figured that if lined up just right, it was close enough to still work. With the new flex installed, the calculator sprung into life…only several keys weren’t working. Making a new version with the correct pitch made all the difference, however, and the calculator was restored to full functionality.

It goes to show that as long as your design skills are up to scratch, you can replace damaged flex-cables in old hardware with brand new replacements. There’s a ton of other cool stuff you can do with flex PCBs, too.

Continue reading “Creating A New Keyboard Flex For An Old Calculator”

Creating An Electronic Board For Catan-Compatible Shenanigans

[Sean Boyce] has been busy building board games. Specifically, an electronic strategy boardgame that is miraculously also compatible with Settlers of Catan.

[Sean’s] game is called Calculus. It’s about mining asteroids and bartering. You’re playing as a corporation attempting to mine the asteroid against up to three others doing the same. Do a good job of exploiting the space-based resource, and you’ll win the game.

Calculus is played on a board made out of PCBs. A Xiao RP2040 microcontroller board on the small PCB in the center of the playfield is responsible for running the show. It controls a whole ton of seven-segment displays and RGB LEDs across multiple PCBs that make up the gameboard. The lights and displays help players track the game state as they vie for asteroid mining supremacy. Amusingly, by virtue of its geometry and some smart design choices, you can also use [Sean]’s board to play Settlers of Catan. He’s even designed a smaller, cheaper travel version, too.

We do see some interesting board games around these parts, because hackers and makers are just that creative. If you’ve got your own board game hacks or builds in the works, don’t hesitate to let us know!