Hello, Guest the thread was called12k times and contains 91 replays

last post from Spider1982 at the

Umbau 1541 als Nibble Kopiermaschine

  • Aufgrund der gesammelten Erfahrung mit dem TrackDuino bietet es sich nun an, es für die Erstellung exakter Disketten Kopien zu verwenden.



    Der Arduino liest jetzt bereits die Daten auf der Diskette unheimlich schnell und absolut exakt.
    Über den USB des Arduino kann man die Daten auch sehr schnell zum PC übertragen.
    Der PC kann die nativen Nibbles entgegennehmen und daraus eine Disketten Image Datei (G64) erstellen.


    Eine Spur wird in einer Umdrehung gelesen.
    Das dauert ein fünftel Sekunde (200 ms)


    Bei 35 Spuren könnte man theoretisch eine Diskette in 7 Sekunden lesen.
    Bei 42 Spuren ist es eine Sekunde länger.
    Der Spurwechsel dauert aber natürlich auch etwas.
    Realistisch sind 9 bis 10 Sekunden zu erwarten.


    ====


    Gibt es dafür Bedarf?


    Wenn ja, dann sollte man sich Gedanken machen über die Umsetzung.


    ====


    Umsetzung:


    Der Arduino hängt momentan als "stiller Beobachter" mit drin.
    Was bedeutet, dass die Floppy ganz normal weiter funktioniert wie bisher.



    Im Moment fehlt dem Arduino die Möglichkeit den Kopf zu bewegen.
    Um das zu lösen gäbe es verschiedene Ansätze:

    • Der Arduino übernimmt die Floppy zur gänze und steuert alles selbst
    • Der Arduino gibt kommandos an den 6502 der Floppy, zb. über den IEC Bus.


    ------
    zu 1)


    Vorteil:

    • Es ist einfach zu machen und die perfekte Kontrolle
    • Der ganze 6502 Teil der Floppy wäre überflüssig (ideal für defekte Floppys)


    Nachteil:

    • Die Floppy ist dann für nichts anderes mehr zu gebrauchen


    ------
    zu 2)

    Vorteil:

    • man benutzt die Floppy weiterhin normal weiter
    • wenn man Disketten kopieren möchte muss man sie für die Zeit vom IEC Bus nehmen


    Nachteil:

    • keine direkte Kontrolle der Schreib Elektronik (einige schmutzige Kopierschutz Tricks werden nicht gehen)




    Die Diskussion ist eröffnet.


    Mich interessiert eure Meinung. :)

  • Grundsätzlich finde ich die Idee sehr gut, gerade mit Blick auf die vielen Floppies mit kaputter Platine. Ich würde für mich die Lösung mit komplett eigener Elektronik bevorzugen. Das soll ja nicht original sein (obwohl, man könnte ja zur Steuerung nicht einen Arduino, sondern einen EMUF nehmen, früher wurde gewerblich auch mit speziell gebauten Stationen kopiert).



    Wo ich das Problem sehen würde, ist die Sache mit der Laufwerkskalibrierung.


    Wenn man sich schon eine professionelle Disketten-Herstellungs-Station baut, sollten die Produkte auch der ursprünglichen Neu-Kalibrierung entsprechen. Bekommt man das auf den alten Mechaniken überhaupt noch hin, zumal wenn sie schneller betrieben werden, als vorgesehen? Hatten die Disketten-Hersteller damals spezielle Laufwerke?

  • Mal ganz blauäugig gefragt. Wäre eine "Übernahme" der Floppy über einen Schalter machbar?

    :D



    Ja.


    Aber du bräuchtest sehr viele Schalter ... ;)





    Ich habe mich schon damit beschäftigt, einen CPLD zwischen VIA-6522 und Schreibelektronik zu schalten.


    Mit dem CPLD hättest du deinen "Schalter":

    • Der CPLD könnte einfach den VIA durschalten und damit der 6502 den Zugriff geben (normaler Floppy Modus)
    • Der CPLD könnte den VIA trennen und dem Arduino Zugriff geben (Kopiermaschinen Modus)
    • Der CPLD könnte den Arduino an den VIA schalten und damit direkt ein G64 Imagefile simulieren (perfekte Floppy Emulation)



    Das wäre eine Luxus Variante, durchaus machbar, aber halt viel aufwendiger und kostspieliger ... :)

    • Der CPLD könnte den Arduino an den VIA schalten und damit direkt ein G64 Imagefile simulieren (perfekte Floppy Emulation)

    An dieser Variante wäre ich am meisten interessiert. Das andere würde ich als Beifang mitnehmen. Je nachdem wie ich mit meinen anderen Projekten weiterkomme, könnte ich hier mitmachen, falls es gewünscht ist.


    An welchen CPLD hast du dabei gedacht?

  • An dieser Variante wäre ich am meisten interessiert. Das andere würde ich als Beifang mitnehmen. Je nachdem wie ich mit meinen anderen Projekten weiterkomme, könnte ich hier mitmachen, falls es gewünscht ist.


    An welchen CPLD hast du dabei gedacht?

    Hilfe wäre da sehr erwünscht.
    CPLD und FPGA interessiert mich sehr aber da bin ich blutiger Anfänger.



    Ich habe da zwei Xilinx XC9572XL boards rum liegen:
    https://www.aliexpress.com/ite…=a2g0s.9042311.0.0.yKnqcl




    Und ich habe auch noch ein altes CPLD Board vom Pollin hier mit einem fetten Xilinx 95144 ...
    ... das Pollin Board hat auch noch SRAM drauf, bereits verdrahtet ...
    http://www.controllersandpcs.d…echnik/pollin_cpld_14.pdf



    Ideal um der 1541 eine virtuelle Schreibelektronik vorzuspielen! :D


    Der CPLD könnte unentwegt alle 200ms die 7,7K Trackdaten abspielen, genau wie eine Diskette das tun würde.


    Der 6502 in der Floppy wäre nicht in der Lage den Fake zu erkennen.
    Zum C64 hin verhält sich so eine Floppy absolut gleich wie eine normale Floppy.



    Der CPLD wäre auch schnell genug, um an ganz anderer Stelle zu arbeiten.
    Direkt den Bit Stream (anstatt des Byte Stream im Falle des Arduino).

  • Wollte ich auch gerade sagen. Das ist alles schon existent. Teensy als billiges Zoom Floppy hier im Forun suchen.


    Häbgst du ein 2€ Platinchen an den Parallelen Bus bzw bei der 1571 an die Serielle und kannst per Nibread Nibwrite etc wunderbar Disketten hin und her kopieren.


    @markusC64 ist da der richtige Ansprechpartner

  • Driftet das ganze dann nicht schon in Richtung ZoomFloppy?

    Wollte ich auch gerade sagen. Das ist alles schon existent. Teensy als billiges Zoom Floppy hier im Forun suchen.


    Häbgst du ein 2€ Platinchen an den Parallelen Bus bzw bei der 1571 an die Serielle und kannst per Nibread Nibwrite etc wunderbar Disketten hin und her kopieren.


    @markusC64 ist da der richtige Ansprechpartner


    Von dem was man erreichen will schon.
    Von der Technik her ist es komplett was anderes.



    Das Zoom geht ja "von außen" auf die Floppy drauf.


    Dies hier greift direkt in die Eingeweide, nutzt quasi nur die Mechanik und die rudimentäre Elektronik der Floppy.
    Dadurch spart man sich das ganze Theater mit 6502 Code hoch laden und die Engstelle des IEC Bus.

  • Das Zoom geht ja "von außen" auf die Floppy drauf.

    http://myoldcomputer.nl/commodore-64/xum1541-promicro/


    Kommt bei der 1541 in die Floppy an den parallelen Bus. Bis darauf das der 6502 da noch für niedere Tätigkeiten gebraucht wird ist es aber trotzdem recht nahe an dem was du vor hast ...


    Aber war auch nur ein Hinweis - viele Wege führen nach Rom. Frage ist halt ob sich der Aufwand lohnt - was das Zoom-Teensy nicht kopieren kann, kann deine Idee halt auch nicht. Es ergeben sich meiner Meinung nach keinerlei Vorteile.

  • myoldcomputer.nl/commodore-64/xum1541-promicro/


    Kommt bei der 1541 in die Floppy an den parallelen Bus. Bis darauf das der 6502 da noch für niedere Tätigkeiten gebraucht wird ist es aber trotzdem recht nahe an dem was du vor hast ...


    Aber war auch nur ein Hinweis - viele Wege führen nach Rom. Frage ist halt ob sich der Aufwand lohnt - was das Zoom-Teensy nicht kopieren kann, kann deine Idee halt auch nicht. Es ergeben sich meiner Meinung nach keinerlei Vorteile.


    Du hast schon recht, rein technisch kommen sich beide Lösungen sehr nahe.





    Aber von der Software her vereinfacht sich alles drastisch, wenn man den Umweg über den 6502 einspart:


    Teensy Lösung am VIA1:

    • 6502 Code in den RAM der Floppy laden
    • 6502 Code ausführen lassen
    • über den IEC Bus Kommandos an den 6502 Code senden
    • daten durchschleifen zum PC
    • Nachteil: der heikle Code ist in 6502 Assembler implementiert und schwer debugbar
    • Nachteil: der Arbeitsspeicher ist extrem begrenzt



    Arduino am VIA2:

    • Motor ein, Spur anfahren, Daten direkt lesen und an den PC senden
    • Vorteil: der heikle Code ist vollständig in C implementiert und einfach testbar
    • Vorteil: der Arbeitsspeicher kann notfalls eine ganze Spur buffern
  • Hmm, als Anwender frage ich mich natürlich zuerst nach dem Nutzen.
    Die ZoomFloppy funktioniert eigentlich schon ziemlich gut.


    Was wäre denn für einen Umbau interessant?:


    - Volle Kompatibilität bleibt erhalten
    - Kein Parallelkabel erforderlich
    - Einfacher Einbau in 2 Laufwerke
    - Aktivierung der "Zusatzlogik" per Software, sonst normales Laufwerk
    - Steuerung am C64 möglich (über ein dafür zugeschnittenes Kopierprogramm),
    für eine Kopie von Disk zu Disk ohne PC.

  • Genau dieses XC9572XL board (3 St.) habe ich mir auch schon für ein anderes Projekt besorgt. Aber ich bin da auch komplett blutiger Anfänger und habe damit noch nicht angefangen. Aber wir hätten zumindest die gleiche Hardware für eine Zusammenarbeit. Gegenseitig könnte man sich helfen und austauschen ;)


    Unter welchen System willst Du mit dem CPLD arbeiten?

  • Also für mich klingt das sehr interessant, da ich mich jetzt schon eine Weile mit der ZoomFloppy und Kryoflux beschäftige. Mein Problem ist eben immer das es zwar mit beiden Varianten möglich ist eine 1:1 Kopie zu erstellen und somit ein G64 Image zu erhalten, allerdings haben beide Varianten immer das gleiche Problem das man das Image nicht vernünftig zurückschreiben kann.


    Da dem Arduino momentan die Möglichkeit fehlt den Kopf zu bewegen, wäre das natürlich ein Schritt in diese Richtung um auch Images zurückzuschreiben auf Disk, was mir persönlich ein Anliegen wäre. Das wird den meisten wohl nicht so wichtig sein, schätze ich.


    Mit der Luxus CPLD Methode könnte man da sicherlich sehr zufrieden sein und wäre sehr flexibel. Von welcher Preisrange sprechen wir da?

  • wieso kannst du mit kryoflux kein g64 Image schreiben?

    ich sage ja nicht das man es nicht kann, aber nicht immer funktioniert das Image hinterher auch wenn man es zurückgeschrieben hat auf Disk. Liegt in erster Linie ja nicht am ZoomFloppy oder am Kryoflux, sondern eher an der Hardware am C64 da man nicht alle Kopierschutzmechanismen gleich gut schreiben kann...