Der multidiletant hatte schon recht - die Routine kopiert immer das frisch gelöschte Byte eins nach hinten. Das sind so kleine Programmmererscherze... die Kollegen sollen sich ja auch mal wundern dürfen.
Dafür habe ich jetzt das Problem mit dem langsamen Verstellen der Filterresonanz eingekreist.
Code:
*UVCFF Update VCF Frequenzy
UVCFF LDY <$65 *
JSR UD_VCFKBD * Update VCF Keyboard Modulation
JSR UVCFP * Update VCF Keyboard FM
JSR UVCFR * Update VCF Resonance
JSR UD_VCAAMT * Update VCA Fixed Modulation Amount
JSR UVCAM * Update VCA modulation Amount
RTS
Jede diese Routinen ruft zusätzlich eine immer gleiche ca 360Byte lange generelle Updateroutine auf, das ist einfach zuviel Code.
Das ganze sieht nach einem quick Hack aus, weil irgendwas in der eigentlichen UD_VCFKBD nicht richtig gesetzt wird.
Die Lösung ist nur leider sehr Aufwendig, die muß wohl komplett neu, und dann alles nur einmal berechnen, nicht fünf mal hintereinander fast das gleiche.
Ausserdem muß ich dazu noch ein wenig genauer verstehen was da eigentlich genau gemacht wird. (Es gibt da so eine Liste da werden nach meinem jetzigen Verständniss in wirrer Reihenfolge Modulationstabellenzeiger, Skalare und Funktionsadressen reingeschrieben, das kann so nicht sein. )
@Summa: den Dissassembler habe ich von genau der Seite, hab aber schon (und werde auch noch ein wenig mehr) dran rumbasteln.
Ausserdem braucht man noch Schaltplan, Datenblatt von SIO und Timer...