Saturday, January 19, 2008

Adventures with Pokey



I am managing to control the sounds of the Pokey chip a little bit more. The main problem that i was having initially was that the fact that the chips seems to reset the channel registers when the master audio control register had been updated. This took some time to track down (it didn't seem like obvious behaviour to me).

So. The first example is the Pokey being controlled through the Arduino using Max/MSP in a sequencer-like fashion.

Download the riff: http://milkcrate.com.au/_other/downloads/mp3s/pokey_sequenced.mp3


I am very happy with these initial results, and feel that this chip warrants further creative exploration.

Demo video: http://www.youtube.com/watch?v=Gc3HexrFpsQ


"Controlling an Atari Pokey chip with an Arduino board using Max/MSP. This is an initial test of a pair of oscillators in one of the combined modes.

The master clock is generated by a 74HC14, so it is a variable clock making for a larger range of frequencies. "



Schematic:

With the audio examples above i didn't use use the data line D-0 (least significant bit). In the schematic, Arduino pin 12 (labeled 13 on the diagram) is connected to D0. The reason is that in the Arduino code, i simply set PORTD (Arduino pins 7 to 0) to the incoming serial data byte, and connected Pokey lines D7 - D1 to Arduino pins 7 to 1.

However, since Arduino pin 0 is used as the host computer to Arduino serial RX pin, the lowest bit / pin of the Pokey is not set. Th data itself coming from the computer was from 0 - 127 and then simply left-shifted by one bit place (to give the even numbers from 0 to 255, thereby ignoring pin 0 of the Arduino / Pokey setup).

1 comments:

www.natalia.biz said...

It can't work in fact, that is exactly what I believe.