Hallo Besucher, der Thread wurde 8,3k mal aufgerufen und enthält 37 Antworten

letzter Beitrag von Larry am

Funktioniert SD2IEC zusammen mit Zoomfloppy?

  • Sollte ein SD2IEC (LarsP) generell mit einer ZoomFloppy funktionieren? Ich frage deswegen, weil ich diese Kombi nichts ans laufen bekommen. ZoomFloppy funktioniert mit Commdore FLoppy ohne Probleme und das SD2IEC umgekehrt mitdem C64 (mit JiffyDOS). Stecke ich allerdings ein SD2IEC an die ZoomFloppy und gebe z.B. cbmctrl detect ein, dann blinkt die LED am ZF gaz aufgeregt, aber weiter passiert nichts.


    Jetzt wäre meine Frage, ob das mal jemand selber probiert hat und ob es funktioniert. Oder ob ich mir das weiter probieren sparen kann, weil es nicht klappen kann.


    Auf dem SD2IEC ist die aktuelle Software drauf (vor 2 oder 3 Tagen kompiliert aus den Sourcen).

  • Ich wüsste nicht warum es NICHT funktionieren sollte.
    Wahrscheinlich funktioniert es wenn du es zwingst nur normale IEC Kommunikation zu machen.


    Das Zoomfloppy geht garantiert mit dem SD2IEC.
    Die Hardware ist kompatibel, das Protokoll auch.


    Aber OpenCBM ist manchmal zickig ...


    Es kann verschiedene Ursachen haben, warum es nicht läuft ...

    • wenn es glaubt eine 1541 vor sich zu haben, sendet es möglicherweise Speeder Code and das SD2IEC
    • oder des kommt die Reaktion auf das ATN Signal zu spät. Das SD2IEC macht das per Software, die 1541 hat eine Hardware dafür


  • oder des kommt die Reaktion auf das ATN Signal zu spät. Das SD2IEC macht das per Software, die 1541 hat eine Hardware dafür

    Alle mir bekannten Quellen behaupten, dass ein Gerät am Bus eine Millisekunde Zeit hat, um auf ATN zu reagieren. sd2iec ist weit darunter, wenn ich mich recht entsinne lag der theoretische Worst Case bei um die 200 Mikrosekunden, wenn ATN gerade nach Auslösen des AVR-Timerinterrupts aktiv wird. Mit einem vernünftigen Interruptcontroller könnte man das durch eine höhere Priorität für den ATN-Interrupt nochmal massiv verbessern, aber AVRs sind leider nicht für flexible Peripherieeinheiten bekannt.

  • Aber, wozu eigentlich?
    Sogar ich wäre noch nie auf diese schräge Idee gekommen ... :D


    Ich hatte das SD2IEC gerade erst zusammen gedengelt. Der C64 steht wo anders und ich war ständig am hin und her laufen. Da dachte ich mir, ich könnte das ja dann mit der ZoomFloppy direkt am PC machen.


    Tja, war'n Denkfehler :D:D


    Wollte jetzt eigentlich auch nur ausschließen, dass ich beim Basteln nicht was falsch gemacht habe. Eine echte Anwendung stand da jetzt nicht dahinter.

  • War das mit den Signalspannungen bei LarsP nicht auch eher auf Kante?

    Die AVR-Pins hängen da direkt an den IEC-Leitungen, damit ist relativ wenig Treiberleistung verfügbar und der Mindestpegel um ein High zu erkennen ist deutlich höher als bei den Original-Chips. Ausserdem sind typischerweise keine Pullups vorhanden und die AVR-internen abgeschaltet, damit die Umschaltung zwischen Aktiv-Low und Tristate nur einen Portzugriff braucht.


    Nach kurzem Blick in den Zoomfloppy-Schaltplan ist dann auch klar, warum das eher schlecht funktioniert: Auch die Zoomfloppy hat keine Pullups auf der Platine und ob die AVR-internen Pullups an den Eingangspins aktiv sind müsste man mal im Quellcode nachschauen - tendenziell wird diese Konstellation aber eher schlecht bis gar nicht funktionieren. Immerhin verwendet die Zoomfloppy einen 7406 als Bus-Ausgangstreiber, aber die Eingangsseite führt lediglich über einen Serienwiderstand zum AVR-Pin, weswegen die High-Pegel wieder höher als bei den Originallaufwerken sein müssen um erkannt zu werden. Das dürfte auch erklären, wieso für Nur-Seriell-Nibbling mit einer 1571 und Zoomfloppy immer zu sehr kurzen IEC-Kabeln geraten wird, da ist die Leitungskapazität geringer und damit die Low->High-Signalflanke schneller.

  • Die AVR-Pins hängen da direkt an den IEC-Leitungen, damit ist relativ wenig Treiberleistung verfügbar und der Mindestpegel um ein High zu erkennen ist deutlich höher als bei den Original-Chips. Ausserdem sind typischerweise keine Pullups vorhanden und die AVR-internen abgeschaltet, damit die Umschaltung zwischen Aktiv-Low und Tristate nur einen Portzugriff braucht.

    Hmmm... war das nicht in einem älteren LarsP-Schaltplan schonmal besser gelöst?


    http://www.pitsch.de/stuff/mmc2iec/larsp_schema_rev2_b.png


    Da sehe ich n-Kanal MOSFETs an den IEC-Leitungen... frage mich, warum die z.B. im Lochstreifen-Aufbau nicht mit drin sind. Habe auch schonmal mit dem Gedanken gespielt, mir ein neues sd2iec aufzubauen, welches den Bus "vernünftig" treibt.


    edit: Muss aber gestehen, dass ich die Beschaltung dieser MOSFETs nicht wirklich verstehe. Hätte da eher etwas erwartet, welches ggf. die Leitungen auf GND zieht. So sieht das für mich aus wie:


    Port auf Z: Pull-up zieht Source auf VCC, Gate eh auf VCC, MOSFET sperrt
    Port auf 0: Source auf GND, Gate auf VCC, MOSFET leitet
    Port auf 1: Source und Gate auf VCC, MOSFET sperrt


    Sehe derzeit nicht, wie das den Bus treibt... da übersehe ich was.


    edit2: Wird hier die implizite Diode zwischen Source und Drain des MOSFETs genutzt...? Dann würde ja der Pullup über die Diode im MOSFET ja den Bus hochziehen (aha!)... das Senken gegen GND würde aber der Microcontroller leisten müssen.

  • Da sehe ich n-Kanal MOSFETs an den IEC-Leitungen... frage mich, warum die z.B. im Lochstreifen-Aufbau nicht mit drin sind.

    Die sind als bidirektionale Pegelwandler verschaltet, bei dem Lochstreifenaufbau dürfte der AVR dagegen mit 5V laufen und die Pegelwandlung auf SD-Karten-Seite erfolgen.


    Zitat

    edit: Muss aber gestehen, dass ich die Beschaltung dieser MOSFETs nicht wirklich verstehe. Hätte da eher etwas erwartet, welches ggf. die Leitungen auf GND zieht.

    Die Schaltung stammt aus einer alten Philips-Appnote

  • Die sind als bidirektionale Pegelwandler verschaltet, bei dem Lochstreifenaufbau dürfte der AVR dagegen mit 5V laufen und die Pegelwandlung auf SD-Karten-Seite erfolgen.

    Die Schaltung stammt aus einer alten Philips-Appnote


    Urgs, diese Appnote habe ich sogar schonmal gesehen, gibt es unter https://www.adafruit.com/product/757 ja auch zu kaufen...


    Auch wenn man bei einem 5V-Atmega die Level-Shift Funktionalität nicht braucht - bekommt man als Bonus nicht einen hübschen Pullup?

  • Wollte jetzt eigentlich auch nur ausschließen, dass ich beim Basteln nicht was falsch gemacht habe.

    Und dann willst Du es an einem Gerät testen, wo es sehr wahrscheinlich gar nicht oder schlecht funktioniert? ?(


    Zum Testen nimmt man eigentlich auch die Zielplattform.


    Ich wäre eher auf die Idee gekommen, den C64 in den anderen Raum zu schleppen.

  • Noch ist der Beitrag nicht ganz ein Jahr alt...
    Daher möchte ich ihn "fleddern" ...


    SD2IEC Donald Version, mit LCD nachgerüstet:



    Ich würde gerne probehalber eine vernünftige
    Bustreiber - Lösung realisieren...
    Ich vermute hierin die Lösung für ein Problem,
    das ich nur schlecht und schwammig beschreiben kann.
    In Kürze:
    SD2IEC alleine am Bus, alles gut.


    SD2IEC mit PI1541 oder
    SD2IEC mit Real1541 oder
    alle drei zusammen


    nur Ärger mit "unbrauchbaren Daten".


    Ich muss das noch weiter "recherchieren und Testen,
    wobei mir hier das normale Leben dazwischenkommt.


    Trotzdem:
    Gibts ne einfache Schaltung für nen (zusätzlichen) Bustreiber?


    Schadet doch nicht, oder ?


    Stefan

  • Ich würde gerne probehalber eine vernünftige
    Bustreiber - Lösung realisieren...

    so muss es auch immer am iec sein!
    ist ja ein bus.


    Schadet doch nicht, oder ?

    nein, nie.




    gruß
    helmut

  • Gibts ne einfache Schaltung für nen (zusätzlichen) Bustreiber?

    am besten 7407, 7417, 74ls07, 74ls17 oder 7406, 7416, 74ls06, 74ls16 wie im original nehmen.
    die hat man ja sowiso.


    gruß
    helmut