• : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/gturner/public_html/content/themes/tng_v4/comment.tpl.php on line 31.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/gturner/public_html/content/themes/tng_v4/comment.tpl.php on line 31.
  • : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/gturner/public_html/content/themes/tng_v4/comment.tpl.php on line 31.

An NES Theremin

April 24, 2007 By Glenn Turner


Who doesn't love a theremin, what with its warm, electronics tone and enigmatic control scheme? Well, some time ago Chris Covell (who, among other things, was quite prolific in the NES demo scene and whom I found out about via his recently acquired PC-Engine modem), was bored one rainy day and ended up taking the theremin concept, and applying it to an NES.

I'll let his quotes from his README explain, as it's all slightly over my head:

"I've noticed before that if I'm playing a game or a demo on my NES or NES clones, if I remove the cartridge while the game is on-screen, all the character (CHR) graphics disappear in a bunch of static. This staticky picture wavers and shimmers as though the electricity is draining slowly out of the pins to the cartridge connector. I also noticed that if I wave my hand close to the connector, the CHR graphics flare up on my television monitor. I don't know the exact technical reason behind this, but I figure that this all has to do with changing electromagnetic fields around the NES. When I move closer to the NES, I cause disturbances in that electric field, and so it registers on the TV screen.

So, I figured I should make an NES demo that takes advantage of this quirk."

And so he did! It seems a bit finicky though:

"To get it to work right on an NES or NES clone, you have to put the program on a devcart and put that into the NES. After you start up the NES, the program copies itself to RAM so it is now safe (uhhh... somewhat safe) to pull out the cartridge to get the connector nice and exposed. A vibrating tone will come out of the NES' audio channels and it will begin reading the CHR space to produce different frequencies. You should find that if you move your hand progressively closer or farther away from the connector that the frequency of the sound should change. It takes a lot of work to get it to make nice sounds, though."

Unfortunately there are no pictures or videos available of him manipulating the machine (I wish there were!), but in the supplied ZIP file there is an audio file of Chris eeking out a bit of the Star Spangled Banner via the demo. He has also made the ASM files available for those with the smarts & resources to utilize them.

Pretty amazing work! I wonder if anyone (apart from Chris) has attempted to load this up and get it working? I can only imagine how difficult it must be to try and control, but I can't help but grin at the thought of seeing someone actually playing an NES like this in public, preferably the next time a chiptune band rolls through Chicago!

Digg this article Save to del.icio.us Filled under:

3 comments for ‘An NES Theremin’

#1 Max Walrus Apr 24, 2007 10:53pm

Playing that file was pretty anticlimactic.

#2 R. LeFeuvre Apr 25, 2007 04:57pm

Yeah, a video would be cool but regardless it's pretty awesome. Such an amazing feat -- makes me want to get an EEPROM flasher and try it out.

#3 jt-3d May 30, 2007 12:14am

I'm reminded of the guy who went to the homebrew computer club with the innovation of playing 'Daisy' on the static of an AM radio by running a program on the MITS Altair. It was amazingware back in the day. Not so much now but it's nice to know the real hacker spirit is still alive and well.

Yeah, I'm late reading this.