Linus Åkesson’s ‘A Mind Is Born’ Commodore 64 Demo In Just 256 Bytes

It would be an understatement to say that the Commodore 64 demo scene is quite amazing. For those who are unaware, a ‘demo’ in this context is essentially a technological demonstration. Usually to show off particular effects or other (visual) properties that either push the limits of the platform on which it is being run, or use its hardware in a special fashion.  In the case of [Linus Åkesson]’s A Mind Is Born demo, the challenge was to do as much as possible in 256 bytes, while providing an audiovisual experience.

Although at first glance 256 bytes may sound like a lot to work with, this code has to generate the entire melody that is output via the Commodore 64’s SID audio chip, while simultaneously generating an attractive visual pattern. This is quite an undertaking, as the video capture of the result (included after the break) makes clear. The secret sauce here is to make use of the C64’s SID audio & VIC-II video chips.

Driven by a 60 Hz timer interrupt, the three voices of the SID are used to play the kick drum and bass, melody and drone respectively, creating the 64 total bars of the music using a linear-feedback shift register (LFSR). This means that the melody is in a sense randomly generated, but deterministically enough to sound pleasing to the human ear.

For the visual side, the C64 runs in Extended Character Mode, using fonts along with a background color to create interesting patterns using what is essentially a cellular automaton algorithm. While there are some visual glitches due overwriting of video data, and a race condition, these end up adding to the charm. The resulting audio track is pretty catchy too, and absolutely worthy of a listen.

Thanks for the tip, Johannes!

(That banner image?  That _is_ the whole code.)

Continue reading “Linus Åkesson’s ‘A Mind Is Born’ Commodore 64 Demo In Just 256 Bytes”

Raspberry Pi RP2040: Hands-On Experiences From An STM32 Perspective

The release of the Raspberry Pi Foundation’s Raspberry Pi Pico board with RP2040 microcontroller has made big waves these past months in the maker community. Many have demonstrated how especially the two Programmable I/O (PIO) state machine peripherals can be used to create DVI video generators and other digital peripherals.

Alongside this excitement, it raises the question of whether any of this will cause any major upheaval for those of us using STM32, SAM and other Cortex-M based MCUs. Would the RP2040 perhaps be a valid option for some of our projects? With the RP2040 being a dual Cortex-M0+ processor MCU, it seems only fair to put it toe to toe with the offerings from one of the current heavyweights in the 32-bit ARM MCU space: ST Microelectronics.

Did the Raspberry Pi Foundation pipsqueak manage to show ST’s engineers how it’s done, or should the former revisit some of their assumptions? And just how hard is it going to be to port low-level code from STM32 to RP2040? Continue reading “Raspberry Pi RP2040: Hands-On Experiences From An STM32 Perspective”

jellyandmarshmallows windTunnel close-up

Perfecting Paper Planes Peering Past Perspex Portals

This wind tunnel is a pile of junk and we love it! When making science and engineering accessible to kids, it really helps to show that it doesn’t require a fancy research lab. [Jelly & Marshmallows] show kids that it takes little more than cardboard, duct tape, and dumpster-diving to up your paper airplane game to NASA levels of engineering.

[Jelly & Marshmallows] built their wind tunnel for a Maker Faire using the aforementioned cheap and free materials for the straightener, collector, diffuser, and fan sections. We especially love the efficient hack of using stacked ceiling light diffusers rather than hundreds of straws for the straightener.

 

The most time went into the working section, custom-built from plywood frames and acrylic windows. Many 3D printed parts came together to convert a smoke-ring gun to emit smoke trails and LEDs were employed to make those trails a little easier to see. We think the magnetic clips for quick changes of aircraft and their position along a steel ruler were inspired.

The kids attending the Maker Faire (we miss those!) loved the exhibit, having the best time hitting a big green arcade button to spin up the fan. It’s the little things in life. How would you get the kids even more involved with analyzing aerodynamics and make the smoke trails more visible?

 

Thanks for the tip [Rómulo Antão]

Repairing A Vintage HP 9825 The Hard Way

[CuriousMarc] is at it again, this time trying to undo the damage from a poorly designed power circuit, that fried the internals of his HP 9825 computer. (Video, embedded below.)

The power supply on this particular model has a failure mode where a dying transistor can lead to 13 V on the 5 V line. This causes all the havoc one would expect on the internals of a 1970s era portable computer. This particular computer is rather rare, so instead of calling it a lost cause, our protagonist decides to replace the faulty transistor, install a proper overvoltage protection circuit, and then start the tedious hunt for which chips actually let their magic smoke out.
Continue reading “Repairing A Vintage HP 9825 The Hard Way”

Omnibot From The 80s Gets LED Matrix Eyes, Camera

[Ramin assadollahi] has been busy rebuilding and improving an Omnibot 5402, and the last piece of hardware he wanted to upgrade was some LED matrix eyes and a high quality Raspberry Pi camera for computer vision. An Omnibot was something most technical-minded youngsters remember drooling over in the 80s, and when [ramin] bought a couple of used units online, he went straight to the workbench to give the vintage machines some upgrades. After all, the Omnibot 5402 was pretty remarkable for its time, but is capable of much more with some modern hardware. One area that needed improvement was the eyes.

The eyes on the original Omnibot could light up, but that’s about all they were capable of. The first upgrade was installing two 8×8 LED matrix displays to form what [ramin] calls Minimal Expressive Eyes (MEE), powered by a Raspberry Pi. With the help of a 3D-printed adapter and some clever layout, the LED matrix displays fit behind the eye plate, maintaining the original look while opening loads of new output possibilities.

Adding a high quality Raspberry Pi camera with wide-angle lens was a bit more challenging and required and extra long camera ribbon connector, but with the lens nestled just below the eyes, the camera has a good view and isn’t particularly noticeable when the eyes are lit up. Having already upgraded the rest of the hardware, all that remains now is software work and we can’t wait to see the results.

Two short videos of the hardware are embedded below, be sure to give them a peek. And when you’re ready for more 80s-robot-upgrading-action, check out the Hero Jr.

Continue reading “Omnibot From The 80s Gets LED Matrix Eyes, Camera”

FIR Filters For Xilinx

Digital filters are always an interesting topic, and they are especially attractive with FPGAs. [Pabolo] has been working with them in a series of blog posts. The latest covers an 8th order FIR filter in Verilog.  He covers some math, which you can find in many places, but he also shows how an implementation maps to DSP slices in a device. Then to reduce the number of slices, he illustrates folding which trades delay time for slice usage.

Folding takes a multi-stage parallel multiplication and breaks it into fewer multiplications done over a longer period of time. This reuses slices to reduce the number required for high-order filters.

Continue reading “FIR Filters For Xilinx”

Toolchanging Printers Get A Nozzle Hanky Like No Other

When it comes to toolchanging 3D printers, idle nozzles tend to drool. Cleaning out that nozzle goo, though, is critical before switching them into use. And since switching nozzles can happen hundreds of times per print, having a rock-solid cleaning solution is key to making crisp clean parts. [Kevin Mardirossian] wasn’t too thrilled with the existing solutions for cleaning, so he developed the Pebble Wiper, a production worthy nozzle wicking widget that’s wicked away nozzles thousands of times flawlessly.

With a little inspiration from [BigBrain3D’s] retractable purge mechanism, [Kevin] is first purging tools onto a brass brad. Rather than have filament extrude into free space, it collects into a small bloblike “pebble” that cools quickly into a controlled shape. From here, after one quick flick with a servo arm and a small wipe with a silicone basting brush, the nozzle is ready to use. The setup might sound simple, but it’s the result of thousands and thousands of tests with the goal of letting no residual ooze attach itself to the actual part being printed. And that’s after [Kevin] put the time into scratch-building his own toolchanging 3D printer to test it on first. Finally, he’s kindly made the files available online on Github for other hackers’ tinkering and mischief.

So how well does it work? Judging by the results he’s shared, we think spectacularly. Since adopting it, he’s dropped any sacrificial printing artefacts on the bed entirely and been able to consistently pull off stunning multimaterial prints flawlessly with no signs of residual nozzle drool. While toolchanging systems have been great platforms for hacking and exploration, [Kevin’s] Pebble Wiper takes these machines one step closer at hitting “production-level” of reliability that minimizes waste. And who knows? Maybe all those pebbles can be sized to be ground up, remade into filament, and respooled back into usable filament?

Continue reading “Toolchanging Printers Get A Nozzle Hanky Like No Other”