Extra PSG waveforms
Posted: Fri Nov 10, 2023 9:24 pm
Now, I know this probably won't fit in the small amount of FPGA left in the VERA, just throwing out ideas that might be viable with sufficient effort for a future revision that might have more space for logic.
PPS: Is there enough left for a "fine" bitmap address start offset? could be useful for smooth scrolling a la VGA.
- 1) XORed triangle, basically what tildearrow's [em]tildearrow sound unit[/em] does for waveform 7
In short, the pulse width register sets where the wave stops being "normal" and starts being "inverted".
This is easy to do with an XOR, plus it can be reused for pulse waves, which should free a few LUTs. - 2) Custom taps for reduced-period LFSR. Instant Atari bass, just add silicon!
Tap points should be selected carefully to ensure the random stream of bits does not get a significant period change based on the current LFSR state. Ideally a way to reset the LFSR would be present, but I don't think that's very possible...
The final setup will have 4 or 5 bits selecting which gates of the LFSR to set, and one or two to determine the bit-depth of the output waveform. - 3) Sawtooth Envelope
This was the hardest to think of, I was fearing this would be unchanged... until I remembered that envelope bass was a thing, and it had A Sound that could be easy to replicate.
One bit to switch between saw or triangle generator, 2 bits to determine harmonic - whether to duck with a frequency of 2x, 4x, or 8x of fundamental, or to use the top phase bit of the previous channel, leaving 3 bits for... anything really, so long as it's cheap.
PPS: Is there enough left for a "fine" bitmap address start offset? could be useful for smooth scrolling a la VGA.