sburrow wrote:
I read through the entire topic and, besides being very confused about definitions and other particulars, I didn't see a one-size-fits-all answer. I like the two ideas above though. I went through the TLC7524 datasheet and, well, I don't even know where to start with DACs it seems. They recommend op-amps connected to it, etc etc. Couldn't someone create their own DAC with a latch and some resistors? I feel like I do the same thing with my video circuits, but I'm just so unfamiliar with audio basics.
I think you could use a resistor network for the DAC, depending on what you're driving though I think you may still need an op amp or something similar to form an analogue buffer. There's a very simple way of using an op amp to just copy a voltage level, by connecting the output pin to the inverting input pin.
Quote:
Any recommended resources for me to get a rough idea of where to start? I just watched George's videos on a similar topic, one of which is here:
https://www.youtube.com/watch?v=iFAMWvIqvng, I suppose I could just make duplicates of this circuit to get more voices?
I never followed that video up, but I did put two of those together, and it worked fairly well. It's basically what you're doing with the 6522, but using external counters. You only get square wave output of course, and constant volume. If you used two or more together then you'd need to mix the signals, but you could use a XOR gate for that as the signals are digital - or you could use an op amp to add two analogue signals together (or rather, to interpolate between them, but it's effectively the same thing).
I also tried to add a digital volume control/mixer, but my analogue electronics were not up to scratch, I'm sure my approach was very poor. This is where unless you're really interested in how to make the circuit work, it makes more sense to use an off-the-shelf part, if you can find useful ones that are still produced.
If you want really good sounding audio then Moritz Klein has made many YouTube videos about various aspects of analogue synths, which are well presented and fairly easy to follow, but perhaps not so much aimed at microprocessor control.
If I ever want to make good audio with a 6502-based system, my main plan has always been to use large ROMs for wavetable synthesis. I have some ridiculously huge EPROMs that could be programmed with all sorts of things - different waveforms, amplitudes, mixes between signals, etc.
But I do like the idea of encoding it into the video memory, for something mixed by the CPU. Another approach that AndrewP pointed out (I think?) is to use FIFOs, allowing the CPU to take an interrupt and write a batch of samples into the FIFO, then the other end of the FIFO drives some form of DAC. All that said, I am wary of anything where the data comes from the CPU though as it's going to be fairly expensive on the CPU to do any serious mixing.