Music downloads
Video downloads
Chip music
Hardware projects

Pushing Onwards

Return of the Chipophone

The Chipophone bleeps again! This is my cover of Pushing Onwards, from the 2010 retro-game VVVVVV.

I made the Chipophone back in 2010, and went on to release videos for about a year. But when the kids were born, I had much less time on my hands, and when I did get a few moments, I wanted to be as quiet as possible. But I kept reading all the comments and maintaining a list of requests.

As a bit of spare time came trickling back, I found myself focusing on other projects. It wasn't so much that the Chipophone was shelved, but rather that the Chipophone itself had become a shelf. That, and two of the switches had stopped working.

I was also getting annoyed by the aliasing that was prominent in high-pitched notes, especially when played with a vibrato. This had been pointed out to me from the start by several people, although it didn't bother me at the time. But once I started noticing it, there was no turning back. I knew how to fix it with a technique called PolyBLEPs, but that would have been too CPU-intensive for the sound-generating microcontroller, an ATmega88 that I had already pushed to the limit. So I decided to replace it with a full-fledged Raspberry Pi that I had lying around. This involved porting the C code and re-implementing the assembly code that I wrote all those years back, but luckily it turned out to be readable. I have configured the Raspberry Pi to boot a Linux kernel, but then to use my own program as init, which makes the system power up in a few seconds. It reverts to the normal init program if a jumper is present on a GPIO pin, which provides a neat way for me to access the system over ethernet and work on the software.

As for the switches, there's some kind of mechanical failure that I haven't been able to fix, although I haven't given up entirely yet. But my priority was to make the instrument playable, so I decided to replace the faulty switches with a pair of pushbuttons, at least for the time being. I moved the Fade Out and Record functions to these buttons. Especially for the Record button, this makes a lot of sense: It has three states now (stop, record, play) instead of the earlier two (play, record). In the old version, to stop a loop, I had to enter record mode and immediately leave it, thus creating a blank recording. But that always triggered an undesired metronome click.

So yeah, it took me a while, but it's great to finally have the Chipophone in good shape again. From my own perspective, it's just so much fun to play it! And hopefully it is still capable of spreading warm feelings of nostalgia and happiness around the world!


Posted Sunday 25-Mar-2018 16:25

Discuss this page

Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.

Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.

Sun 25-Mar-2018 20:56
Congrats on bringing one of the coolest self-modified instruments back to life! Double congrats on your code being readable after all this time, was it a matter of the code itself being easy to read, or did you leave behind good comments and other documentation?
Mon 26-Mar-2018 05:21
Welcome back-both you and it are sounding better than ever!
Wed 28-Mar-2018 00:27
Wed 28-Mar-2018 18:50
You can use Ultibo for RPi instead of Linux. It gives kernel/kernel7 files which starts the RPi in seconds without any OS. No system means all the hardware is yours and assembly programming is also possible.
Because Ultibo has no audio driver yet, I wrote my own which uses 8 bit PWM @ 960 kHz sample rate with the noise shaper This gives a clear sound out of the RPi audio jack. There is also something like SID emulator (not 100% exact emulation and still buggy but most of PSID files can be played using it) )and 6502 emulator available.
Audio driver (beta)
"SID-like thing" (written mostly in asm) an be found here in unit retromalina.pas
Wed 2-May-2018 08:12
Welcome back! Such singular instrument deserve more videos! =]

In case you get bored and looking for new songs to play, I've compiled some suggestions from my personal NES favorite music:

Battletoads: Ragnarok Canyon, Arctic Cavern, Surf City, Clue Room

Double dragon: Title theme, Mission 1

Gauntlet: Song A, Song B, Song C, Song D

Gyruss: Prologue Theme, Stage 1, Stage 2, Chance Stage, Boss Battle

Legend of kage: Stage Theme

Mega man 1: Cutman, Elecman, Gutsman,

Mega man 2: Metal Man, Heat Man, Wood Man, Air Man, Flash Man, Boss Battle, Dr. Wily's Castle II

Mega man 3: Needle Man, Magnet Man, Hard Man, Top Man, Snake Man, Spark Man, Shadow Man,Dr. Wily's Castle 1,Dr. Wily's Castle 2, Dr. Wily's Castle 3

Predator: Stage Theme 1, Stage Theme 2, Stage Theme 3, Stage Theme 4

Robocop: Stage Theme, Boss Battle

Keep up the good work!
Sat 5-May-2018 16:54
That's surprising that you are using a Raspberry pi.Good work!