...nicht schon wieder ein Beitrag über SDISK2 - doch:)
Über den Floppy-Emulator SDISK2 wurde in diesem Forum schon berichtet, aber ich habe noch ein paar wichtige Informationen für den Nachbau dazu.
Der Japaner Koichi Nishida hatte 2010 mit dem SDISK2 eine geniale Erfindung als Open Source veröffentlicht, die in den letzten Jahren in verschiedenen Varianten ständig weiterentwickelt wurde. Im Gegensatz zu den mittlerweile üblichen OLED-Displays habe ich mich beim Nachbau für ein klassisches Nokia-Display entschieden. Die blaue Hintergrundbeleuchtung des Displays habe ich durch eine warmweiße ersetzt, da die blaue LED Anfang der 80er Jahre noch Zauberei war und außerdem meiner Meinung nach die Lesbarkeit des Displays beeinträchtigt. Damit passt das Display auch besser zur Powerlampe des Apple ][ europlus:) Die Basis ist das Repository https://github.com/suaide/SDisk2 auf GitHub. Dieses wurde zuletzt vor drei Jahren aktualisiert und scheint derzeit das Aktuellste zu sein.
Koichi musste für die einwandfreie Funktion das Herzstück des SDISK2 - einen Atmel ATMEGA-328P Mikrochip (bekannt vom Arduino UNO) mit 27MHz wegen des geforderten Timings erheblich übertakten und aus Kompatibilitätsgründen zur SD-Karte mit nur 3,3 Volt betreiben. Laut dem Datenblatt des Herstellers werden mindestens 4,5 Volt für maximal 16MHz benötigt. Ich entschied mich daher entgegen den Angaben im Schaltplan, die Versorgungsspannung des Chips auf mindestens 5 Volt anzuheben und stattdessen einen handelsüblichen Pegelwandler von 5 auf 3,3 Volt für die Kommunikation mit der SD-Karte zu verwenden. Die 27MHz Taktfrequenz sind trotzdem reine Glückssache und nicht jeder Chip funktioniert damit. Die Erfolgsquote liegt bei ca. 80%.
Im SDISK2 Sourcecode in der Datei sub.S fand ich folgenden Hinweis, den ich vorsichtshalber befolgte:
/*
if the crystal on your SDISK II is 25 MHz,
I recommend you to replace it with 27 MHz,
or ask Nishida Radio.
Oje, ein Bug:
In Zeile 130 wird die Variable protect mit dem Wert 0 über den gesamten PORT-C ausgegeben und verhindert somit die Anzeige des aktuellen Tracks auf dem Nokia-Display während des Betriebs. Dies kann durch eine kleine Ergänzung in der Datei main.c korrigiert werden:
#ifdef _LCD_NOKIA_
protect = 0b00100000; /* PC5=1 - LCD disable */
#else
protect = 0;
#endif
Ein kleines Highlight: Das parallel angeschlossene Apple-Laufwerk.
Ein Relais, das mit dem Kontakt des SD-Karten-Slots verbunden ist, unterbricht bei eingesteckter SD-Karte die Leitungen W_PROT und RD_DATA zum parallel angeschlossenen Apple-Laufwerk, das dann die üblichen Geräusche beim Lesen und Schreiben auf der SD-Karte erzeugt. Wird die SD-Karte entfernt, wird das SDISK passiv und das Apple-Laufwerk arbeitet wieder normal weiter.
Das Ergebnis habe ich in einigen Fotos und einem kurzen Film dokumentiert. Sollte dieser Nachbau auf ein größeres Interesse stoßen, müsste unbedingt über eine entsprechende Platine nachgedacht werden.
Viele Grüße
Joerg