Aufteilen des Resets in zwei Prioritäten:
Einschaltreset: Setzt alle SID-Register auf $00 und initialisiert die drei letzten Register (Reg 29 bis Reg 31) mit sinnvollen Werten.
Reset auf der Resetleitung: Setzt alle SID-Register auf $00 und lässt Reg 29 bis Reg 31 unangetastet.
Das scheitert ganz grundsätzlich daran, dass die Reset-Leitung ebenfalls die Rekonfiguration des FPGAs triggert. Daher ist es unmöglich irgendwelche Registerwerte über den Reset zu retten (ohne Hardwareänderung). Wenn man die FPGA-Konfiguration vom Reset entkoppeln will, muss man auf der Platine ein eigenes Reset-Signal erzeugen, welches unabhängig vom C64-Reset wäre. Das ist im Moment nicht vorgesehen.
Ich habe schon angedacht, was zu tun wäre, um Registerwerte ins Flash abzuspeichern. Die MAX10 FPGAs besitzen 32kB User-Flash, welches ich direkt verwenden kann. Das Problem ist, dass ich es schon komplett verwende, nämlich als wavetables für die mixed waveforms. Da müsste ich mir also erst mal überlegen, wie ich die mixed waveforms algorithmisch abbilden kann und das ganze dann noch mit möglichst wenig Logik. Wenn ich die Tabellen so wie sie sind als Logik generieren lasse, dann sprengen sie die zur Verfügung stehenden Ressourcen.