Hallo,
vor ein paar Wochen spukte mir eine Überlegung durch den Kopf:
warum nicht nur das Laufwerk einer 1541 durch eine SD-Card -Lösung ersetzen?
Die Geschichte wäre theoretisch 100% kompatibel, die Diskette kann sich nicht plötzlich mit anderer Drehzahl drehen, die Bitraten können nicht anders sein, als C= es wollte.
Dann gab es eine Bemerkung von OlsenG in einem anderen Thread:
ZitatAlles anzeigen
Zitat von »amithlon«
Wenn es da wirklich Interesse gibt, mache ich am Wochenende mal einen Thread in Basteleien auf.
Basis wird ein Mega 644 oder 1288 werden, ähnlich der SD2IEC.
Ich plane eigentlich eine Umschaltung Laufwekr / SD-Karte. Ich sortiere noch die nötigen Signale und die AVR-Pins.
Außerdem muß ich mich wegen der FAT-Routinen mit C rumschlagen, das ist nicht meine starke Seite.
Ja, mach mal
Mit C kann ich gern helfen und mit ATmega hab ich auch ein paar Jahre Erfahrung.
Zum Stand der Dinge: ich will zwischen Original-Laufwerk und SD-Card-Modul umschalten. Das kostet 2 (vermutlich eher 3) 74LS245 o.ä.)
In der Floppy müssen VIA2 und die CPU gesocklet sein (an der CPU mu nur SO vom Board getrennt und per Leitung zurm VIA2-Pin verbunden werden).
Das Ding braucht natürlich ein LCD-Display und einen Drehgeber mit Taste als Bedienelemente.
CPU wird ein AVR ATMega1284P (bei mir auch nur dieser...), weil DIP-Gehäuse und 16k Ram.
Ich habe mir jetzt erstmal eine SD-Card Bibliothek gesucht, die ich nicht erst nach 3 Monaten Studium verstehe. Display- (2*16 im Momet) und Drehgeber sind dran, alles erstam auf ein Stecjbrett gesteckt, ich hatte diesmal keine Lust, gleich Lochraster zu bemühen.
Auf der SD-Card Seite baue ich jetzt erstmal nur die minimalren Funktionen zusammen, also die Files aus einem Direktory per Drehgeber anzeigen und mit Tastedruck diese Disk einlegen.
Vorerst .d64, obwohl .g64 eigentlich Arbeit sparen würde.
Dieses Handlicng ist völlig unkritsch, die Floppy bekommt vom "Laufwerk" nur mitgeteilt, daß keine Disk drinliegt (bzw. sie merkt das alleine, wenn sie angesprochen wird und weder Sync noch Sektorheader findet).
Auf SD-Card-Seite muß nach Auswahl des Images der Track 18 gelesen werden, bei .d64 nach GCR codiert und Sync und Sektorheader zusammengebastelt werden.
Das liegt dann im Ram des AVR (deshalb sind die 16k nötig, dafür gehen schon 8kB drauf) und wenn die Floppy MotorOn setzt, bekommt sie in einem Loop den Track mit den passenden Signalen (Sync, ByteReady usw.) byteweise an die VIA.
Reagiert werden muß erst wieder, wenn die Floppy entweder den Motor aus macht oder Stepimpulse kommen. Dann müssen jeweis die angefahrenen Trackdaten von der SD-Card in den AVR-Ram gebracht werden und wenn die Floppy dann erwartet, daß Daten kommen, geht es wie oben weiter.
Das gesammte Timing sieht bisher sehr unkritisch aus, ist je von den mechanischen Parametern des Laufwerkes bestimmt.
Die Hardware macht mir bis jetzt kein Kopfzerbrechen, außer der Umschaltung ist es nur der Mega1284, SD-Card-Slot, Display und Drehgeber.
6502 kann ich sowohl programmieren als auch die Romlisting lesen, ich war schon früher immer dicht an der Hardware, deshalb normalerweise auch Assembler bei Bedarf auch mit Takte zählen...
Wegen der FAT-Routinen ist nun aber C angesagt und das ist nicht unbedingt meine stärkste Seite. Will sagen: ich kann das programmieren, was ich da will, es wird vermutlich für C alles andere als elegant sein und irgendwer wird sicher kommen und mir erklären, daß das nicht ins .c File oder dieses nicht ins .h File gehört.
Wenn jemand das also interessant findet, sich beteiligen will, kann er das gern machen.
Schön wäre es natürlich, wenn er eine 1541 zur Verfügung hat, wo CPU und VIA2 gesockelt sind, dann wären da erstmal nur 2 Adapter in der üblichen DIL-Version zu basten, wo divere Leitungen der VIA vom Board getrennt und zum AVR gelegt werden.
AVR-seitig wäre es schön, wenn er ein 2*16 Display o.ä. verfügbar hätte und einen Drehgeber. Tasten könnte man natürlich auch nehmen, ich möchte aber nicht mit 50 Tastendrücken zu einem File kommen müssen...
So, ich höre hier jetzt erstmal auf und warte die Reaktionen ab.
Gruß aus Berlin
Michael