My step sequencer is starting to growth.. sadly Im running out of pins in the arduino. The changes I made so far:1. added 3 shiftregisters 595, to reduce the number of pins needed for controlling the 16 leds and the data-address bus on the AY38910.2. added 3 pots, for tempo and volume of chanels A and B (where Im playing the noise drums).3. 2 buttons to change the current playing loop.
BDIR | BC2 | BC1-----+-----+----- 0 | 1 | 0 = inactive 0 | 1 | 1 = read 1 | 1 | 0 = write 1 | 1 | 1 = latch
did you manage to get sounds out of it by hooking up a bare speaker (no amp)? what are the characteristics of that speaker hooked up to channel A?
I see in your code, when you want to play a note on channel A you only need to write to R0 and R1 to set the period. Is that all it takes to generate output after a fresh reset? I mean, do you need to do anything to the Envelope (R13), Enable(R7), or Amplitude(R8) registers first?
write_data(0x06, 0x00); // turn off the noise channel write_data(0x07, 0x3e); // = 0b111110 which is only enable channel A write_data(0x08, 0x0f); // set max volume for channel A.
2nd edit: well i answered that question, I see in your initialization you write to R7 and R8 now I hooked it up to an oscilloscope but it shows nothing... however my multimeter reads 3V when I try to produce a 2khz tone!! yay! I'll keep watching for more videos, I'd like to see your finished case
You need to write to register 07 and 08 and set them properlly!
One question, are you using a TTL Oscillator (4 pins, one of them unused) or a Crystal Oscillator (2 pins)??
If the channel A keeps giving you problems, enable all 3 channels, set the volumen to all of them and write notes to all three.
Hi. Are you looking for a larger pic to see the IC pins?