Ach so. Über SCL (Clock) hat man ja eigentlich eh immer eine Referenz für eine fallende Flanke. Die pegelabhängige Start- oder Endebedindung könnte aber schwierig zu erkennen sein. Aber man kann das mit einer Sync-Sequenz initiieren, z.B. 9 1-Bits heißen Start der Verbindung, dann folgen 8 Daten-Bits und ein 0-Bit. Dann braucht man keine Start-/Stop-Bedingung für ein Byte mehr. Ich würde dann die Übertragung dennoch mit einer Prüfsumme absichern (z.B. die 1-Bits zählen, oder die Bytes in 16 Bits aufsummieren).
Ok, das ist dann eine Programmierungssache, wie man das dann ins BASIC einbettet. Da kann man sich auch an SuperTape orientieren. Gerne PM an mich oder wir machen einen separaten Thread auf, wo es dann um dieses Projekt geht.
Ich habe jetzt erst mal etwas nach einer weiteren Ausgangsleitung geforscht. Mit CB1 (nur Eingang am VIA) konnte es nur in eine Richtung klappen. Ich lege nun die Clock auf PA5 des PIABitte melde dich an, um diesen Link zu sehen. und die bidirektionale Datenleitung wird PB3 des VIABitte melde dich an, um diesen Link zu sehen.. Da musste ich erst mal ein Setup finden, ohne den Tastatur-Scanner lahm zu legen. Mit dem PIA 6520 hatte ich noch nie etwas gemacht und musste mich erst mal etwas einlesen. Das Buch ist wirklich gut: Bitte melde dich an, um diesen Link zu sehen.
Zum Tape-Loader: Das habe ich wieder verworfen. Es ist viel einfacher, einen der freien ROM-Steckplätze zu verwenden, z.B. 4K ab $9000. Ansonsten hätte man das Tape Standard-Protokoll in den Arduino implementieren müssen, also Bytes ins übliche Frequenzpiepen per Timer umwandeln.
So klappt das Setup für den PIA ganz gut.
Bitte melde dich an, um diesen Anhang zu sehen.
Tastatur-Scanner funktioniert danach noch und der Port lässt sich toggeln.
Bitte melde dich an, um diesen Anhang zu sehen.
Von Eingang High auf Ausgang Low. Und wie es immer ist: mein anderer Logiktester ist mal wieder defekt, hatte glücklicherweise einen Ersatz.
Bitte melde dich an, um diesen Anhang zu sehen.