Chiptunes Via USB MIDI With The AY-3-8910

There are many venerable soundchips in the chiptune pantheon, of which the AY-3-8910 is perhaps one of the lesser known. Having not served on active duty for Nintendo or Commodore it’s somewhat unloved in the USA, but it made its name in a variety of arcade and pinball machines and has quite a European following due to its appearance in machines bearing the Amstrad and Sinclair names. [TheSpodShed] decided to whip up a USB MIDI interface for the chip, with the help of the Arduino Pro Micro.

The Arduino Pro Micro is a Sparkfun creation, using the ATmega32U4 microcontroller. Its USB MIDI functionality makes it a perfect candidate for such a build, and it also packs enough digital IO to run the AY-3-8910, with 13 lines required to get things going. [TheSpodShed] whipped up the project on protoboard, with only a few passives needed along with the sound chip and Arduino.

The Arduino code was written with an eye to making the most of the chip’s limited polyphony. The synth prioritises the most recent received notes, while also aiming to keep the highest and lowest of the currently requested notes still playing where possible. This gives the synth the best chance of keeping the expected bass and melody intact when playing a wide variety of MIDI content.

It’s a tidy build, and one that shows some love for a soundchip some have forgotten. Of course, it’s not the only option – we’ve also seen the SAM2695 and YM2612 given the same treatment. Video after the break.

Continue reading “Chiptunes Via USB MIDI With The AY-3-8910”

Spectrum Chiptunes On An STM

Some of us here at Hackaday are suckers for a bit of chiptune music as the backdrop for many excellent times. The authentic way to create chiptunes is of course the original hardware, but in 2019 it’s far more common to do so with an emulator on a modern computer. That computer doesn’t have to sport a high-end processor and desktop operating system though, as [Deater] shows us with his ZX spectrum chiptune player on an STM32L46G Discovery board.

The impetus for the project came he tells us while teaching students to code simple sine wave music players, having code already in the bag for emulating the classic AY-3-8910 sound chip on the Raspberry Pi and the Apple II he decided to port that to the STM32L476 dev board. An earlier version used the internal DAC, but this was refined to send I2S data to an external DAC. The code can be had from GitHub (confusingly buried among code for an LED driver), and we’ve attached a video below of it playing some chiptune goodness.

Of course, Sinclair chiptunes don’t grab all the limelight. There have been plenty of Nintendo and Sega players too. You might also recognize [Deater] from his non-chiptune work, porting Portal to the Apple ][.

Continue reading “Spectrum Chiptunes On An STM”

Multifunction Raspberry Pi Chiptune Player

General Instrument’s AY-3-8910 is a chip associated with video game music and is popular with arcade games and pinball machines. The chip tunes produced by this IC are iconic and are reminiscent of a great era for electronics. [Deater] has done an amazing job at creating a harmony between the old and new with his Raspberry Pi AY-3-8910 project.

[Deater] already showed us an earlier version of the project on a breadboard however after having made some PCBs and an enclosure the result is even more impressive. The system consists of not one but two AY-3-8910 for stereo sound that feed a MAX98306 breakout for amplification. A Raspberry Pi 2 sends six channels worth of data via 74HC595 shift registers driven by SPI. There is a surplus of displays ranging from a matrix to bar graph and even 14-segment displays. The entire PCB is recognized as a hat courtesy an EEPROM which sits alongside a DS1307 RTC breakout board. The enclosure is simple but very effective at showing the internals as well as the PCB art.

The software that [Deater] provides, extends the functionality of the project beyond the chiptunes player. There is a program to use the devices as an alarm clock, CPU meter, electronic organ and even a playable version of Tetris as seen in the demo video below. The blog post is very informative and shows progress in a chronological fashion with pictures of the design at various stages of development. [Deater] provides a full set of instructions as well as the schematic along with code posted on GitHub.

If you have a soft spot for the Arduino you may want to check out the 8-bit version of a chip tune player and if you are craving some old hardware peripheral information, do check out the computer curiosities from the Iron Curtain periodContinue reading “Multifunction Raspberry Pi Chiptune Player”

Raspberry Pi Chiptune Player Rocks A Sound Chip From The 80’s

Sometimes it’s worth doing something in an inefficient way. For example, it might be worth it in order to learn something new, or just to use a particular part. [Deater] did just that with the Raspberry Pi AY-3-8910 Chiptune Player (with LED visualizers!)

The venerable General Instrument AY-3-8910 series sound chips were common in older hardware like home computers and game consoles as well as sound cards for the Apple II family. They were capable of generating three channels of square waves with various effects. Developers eventually squeezed every little bit of performance out with clever hacks. The Raspberry Pi has more than enough power to do all this in software, but as [Deater] puts it, it’s far more interesting to use an actual AY-3-8910 from the 80’s. Some LED bar graphs and matrices round out the whole system.

All the code for the Raspberry Pi AY-3-8910 chiptune player can be found on [deater]’s github repository for the project. A video of the player banging out some sounds is embedded after the break.

Continue reading “Raspberry Pi Chiptune Player Rocks A Sound Chip From The 80’s”