Agemixer(05:18:54)
and 22 kHz no problem, only half the CPU time required.. and so loops qnd boundary checks + other code completely possible! And screen enabled even. And sprites even.
Agemixer(05:14:40)
this read+store sample would take 24 cycles at least, a 44,1 kHz rate needs 22,3 clock cycles at max. involving an Y-register trick we just achieve 22 kHz!
Agemixer(05:08:21)
now it only needs a "start sampling" line, one write and ldx CIA_counter , lda real_sample_LUT,x
Agemixer(05:05:02)
Then the curved sample can be read from CIA counter register (delay of cycles), and linearized by this reading the real sample amplituee from lookup table once. Voila'
Agemixer(05:03:00)
the reach signal is given back to c64 userport line which tells the CIA counter to just stop counting (1MHz resolution)