This realtime FFT stuff is cool, but even back in the early apple-2 days, I did realtime spectrum plots
(i.e. "waterfall display") by just measuring the zero-cross times to decide which bucket to increment and plot. The end result was much the same. We used it to analyze telephone signalling tones. No sines or cosines. No complex numbers. No bit reversals. But with no interrupts, every path through the code had to be padded to the same execution time for a constant time predictable run loop.
So, depending on your application, you may be able to "cheat" like I did and still have an interesting frequency spectrum visual effect. Of course, we relied on analyzing simple waveforms with a mixture of only a few pure tones. But interestingly, it did show voice plots that looked a lot like those published in the books at the time.
EDIT: We used zero-cross detection because the apple-2 built-in audio (cassette-tape) input only provided a 1-bit digital input value from an analog sound source.