Rolf R Bakke | C64 "Monophone" by Mahoney 8 bit samples Oscilloscope view @RolfRBakke | Uploaded July 2015 | Updated October 2024, 16 hours ago.
I recently learned that proper 8-bit sample playback is possible on the C64.
It is done as follows:
-set and then clear the test bit, this clears the phase accumulator.
-Put your 8 bit value into the high byte of the frequency register, this makes the accumulator increase with a rate proportional with the value of your 8 bit value.
-wait a constant time.
-Clear frequency register, this stops the oscillator. Now the value of the accumulator is proportional to the 8 bit value.
-Select the saw tooth waveform, now the upper 12 bits of the 24 bit accumulator is connected to the 12 D/A converter and output as an analog voltage proportional to the 8 bit value.
-Disable waveform, now the D/A converter is disconnected and its 12 bit input is left open. Due to capacitance in the input stage of the D/A converter the 12 bit value persist for at least a second, so the output voltage will hold until the input is changed again.
-repeat with next sample.
When I faded away from the C64 scene I thought everything possible was done.
I am well and truly flabbergasted!
I recently learned that proper 8-bit sample playback is possible on the C64.
It is done as follows:
-set and then clear the test bit, this clears the phase accumulator.
-Put your 8 bit value into the high byte of the frequency register, this makes the accumulator increase with a rate proportional with the value of your 8 bit value.
-wait a constant time.
-Clear frequency register, this stops the oscillator. Now the value of the accumulator is proportional to the 8 bit value.
-Select the saw tooth waveform, now the upper 12 bits of the 24 bit accumulator is connected to the 12 D/A converter and output as an analog voltage proportional to the 8 bit value.
-Disable waveform, now the D/A converter is disconnected and its 12 bit input is left open. Due to capacitance in the input stage of the D/A converter the 12 bit value persist for at least a second, so the output voltage will hold until the input is changed again.
-repeat with next sample.
When I faded away from the C64 scene I thought everything possible was done.
I am well and truly flabbergasted!