Are you running OS X?
If you are, can you do me a favor and right click on the Arduino app, go to Show Package Contents and navigate to the following file, and opening it in a text editor:
Arduino > Contents > Resources > Java > Hardware > Teensy > cores > usb_midi > usb_api.cpp
Do a search for the following line: type2 = b1 & 0xF0; and tell me what the next line of code is.
yup OSX:
it reads:
type2 = b1 & 0xF0;
c = (b1 & 0x0F) + 1;
Ah yeah, can you do me a favor and remove the + 1? And then re-upload the code?
boom problem solved! strange to be doing that to the channels in the api...
It's just how I roll. I run a slightly modified version of Teensyduino, and having the channels indexed at 0 instead of at 1 makes more sense (to me).
unnf those square waves.. thank you sir.. having much fun with this little thing!
Firmware now supports up to four SN76489 chips.
Also added sample support.
grea work!
sample support + an armada of pulse waves... now I will make some good use of my 10 SN76489N
Maybe not YM2149F because I have none of those here.
But I have about 15 AY38912 chips, so I can make the same thing but for 5 x AY3812 / 38910
Sweet. It'll work for both so it's cool.
Worth mentioning that as we lower the master clock , we gain access to lower notes but we also reduce the pitch resolution on higher octaves
If you wanted to get crazy, I'm sure there's a way to switch between clocks based on pitch so you can get the low notes when you need them on the lower clock, and toggle to a faster clock for higher pitches.