Howdy all!
I’ve been reading up on the suggestions from last week as much as I can, and I think I have clearer idea of what I want to accomplish for this experiment. If anyone is interested, Dr. Bruce Land at Cornell has
fairly watchable youtube lectures explaining some of the concepts (phase accumulator, interrupts, SPI, etc) which I found helpful, even though he’s using the PIC32 and a C compiler.
That said, the more I dig into this project the more my head seems to spin. I’ll write out what I’m thinking, and hopefully someone can help direct me to some resources to clear it up.
For the first attempt, I’m actually going to limit myself to one voice, without an envelope. If I get that down, I can work on some of the more advanced features I was planning on implementing. Hardware-wise, I’m more or less going to copy Garth’s 5-chip circuit potpourri computer with an added DAC0808 on one of the VIA’s ports. I’m still unsure about amplification — Garth’s DAC circuit mentions a variety of op-amps, but they also require some tinkering with voltage through a VIA.
I’m still more hazy on the operation of VIAs than I’d like to be, but it seems like I can use the 65c22’s T1 timer to set a pretty arbitrary IRQ timing as a division of Φ2. From there I think I’d like to rely on the CPU as a 16-bit phase accumulator, using the high byte as folks here have mentioned. I’m unclear as to whether it’s faster to do the 16-bit add by storing high and low bytes in RAM or by pushing the values onto the stack when I need to free up a register. This is actually pretty similar to Garth’s
waveform generation interrupt example, which I hadn’t noticed until I started digging around.
I’m still far off from being able to build the computer, but I feel like I at least understand how this design would work from a high-level vantage point. Hopefully I can start ordering parts, doing NOP tests, and other things soon in preparation. We'll see I suppose!