Raspberry Pi Floppy Controller Board

  • Danke für den Link.


    Sind da spezielle Anforderungen an den 16 MHz Oszillatzor?


    Ich habe einen bei Reichelt bestellt.

    Der ist zwar viel kleiner, aber ich dachte wenn ich etwas trickse mit der Zuführung ...

    ... oder läuft dieser nicht??


    IQD LFSPXO018034

    IQD LFSPXO018034: Quarzoszillator, 16 MHz, 50 ppm bei reichelt elektronik

  • IQD LFSPXO018034

    IQD LFSPXO018034: Quarzoszillator, 16 MHz, 50 ppm bei reichelt elektronik

    Ja, sieht so aus als sollte der funktionieren. Ich wollte nur lieber die "richtige" Größe einbauen. Viel billiger ist der allemal.


    Gruß, Rene

  • ... und liebe Leute wie geht das nun mit dem Interface weiter ?

    Wer kennt sich mit der zugehörigen Software für den Raspberry aus ?
    Ich hab jetzt mal einen Raspberry 2 hier aufgesetzt, mit SSH Zugang.
    Ich hoffe es geht mit diesem Raspberry, weil einen aktuelleren hab ich grad nicht.
    Interrupt Errors wären mir erstmal egal, ich möchte nur sehen ob überhaupt was geht.


    ich hab jetzt mal die Files von https://github.com/sbelectronics/pi-fdc geholt,
    aber weiter hab ich keine Ahnung wie das ginge. Hat da schon jemand eine Anleitung gemacht ?
    Wie bekommt man den "Treiber" und die python tools installiert ?

    Vermutlich braucht man auch das hier: https://github.com/sbelectronics/smb-pi-lib


    mfG. Klaus Loy

  • Damit beschäftige ich mich, wenn die Platine komplett gelötet ist und ich etwas Zeit habe. Aber ich stelle es mir unkompliziert vor. Zumindest den Einstieg.


    Gruß, Rene

  • Hier übrigens noch ein EBay-Link, falls es noch andere gibt, die zwar massig die großen 16MHz Oszis in der Bastelkiste haben aber keinen quadratischen:


    https://www.ebay.de/itm/174095045841

    Meine Quarze kamen heute an. Den Verkäufer würde ich allerdings jetzt nicht mehr empfehlen. In so einer Patentfaltung hat mir bisher noch niemand elektronische Bauteile zugeschickt:



    Zum Glück liessen sich die Anschlüsse wieder zerstörungsfrei hochbiegen. Wenn man sie in einer Fassung verwenden will, hat man mit dem verbogenen Zeug dann allerdings Probleme.


    Gruß, Rene

  • Es könnten aber auch die Durchführungen undicht geworden sein, und Gase eindringen. Definitiv nicht schön, so etwas so nahe am Gehäuse abzuknicken.

  • In so einer Patentfaltung hat mir bisher noch niemand elektronische Bauteile zugeschickt:

    sieht ja hammerkrass aus:heul:

    ich krieg ja öfters mal IC-Sockel oder andere Bauelemente als "Schüttgut" in Plastikbeuteln - aber so hab ich auch noch nix bekommen


    das beste, was ich mal hatte waren die B761D für den Z1013 - da haben die IC-Beinchen aussen aus dem Polsterumschlag rausgeschaut ..da hätte man auch von aussen nochmal nen Moosgummi aufstecken können:platsch:

    ich bin signifikant genug:razz:

  • Richtig, aber zuerst Durchstecken und DANACH umbiegen. So wie im Bild ist es falsch ;)

  • ... aber schöne Briefmarken hat er drauf gemacht.


    mfG. Klaus Loy

  • Hat noch jemand Bedarf an WD37C65C-PL (1991) - Einzelpreis 18,50 Netto

    oder MXO45HS-3C-16M000000 (2018) - Einzelpreis 2,20 Netto?

    Wird billiger, je mehr zusammen kommt.

    Ansonsten bestelle ich mir einen Satz in den nächsten Tagen.

  • Meine sind eben "Neuware" und ordentlich gelagert. Natürlich gibt es die auch billiger. Mal sehen, wer zweimal kauft ;)

  • So, die Platine ist bestückt, der Raspberry Pi 4B ist eingerichtet und läuft. Die Python Programme, bzw. die Bibliothek ist (meines Erachtens) korrekt installiert, aber das angeschlossene TEAC FD-55B gibt nicht einen Mucks von sich; gar nichts. Das Laufwerk ist wie üblich als A: (nach dem Kabeldreher) mit DS1 (Zählweise DS0 bis DS3) angeschlossen; ohne Kabeldreher und DS0 klappt auch nicht.



    Anstelle des Resistornetzwerkes RN3 (hier Beckmann 898 3, isolated 1,5K) habe ich auch 470 Ohm bzw. einen Shunt, wie auf seiner Internetseite getestet; im Video ist auch von 150 Ohm die Rede. Der rote Pullup hat einen Widerstand von 10K; bei seinem Floppy Controller für den RC2014 verwendet er jedoch nur 1K; aber auch das habe ich getestet (schnell mal ausgetauscht); ohne Erfolg.


    Den WD IC und den Oszillator (16 MHz) habe ich probeweise von meinem funktionierenden RC2014 Controller getauscht; auch ohne Erfolg. WD37C65 A oder B oder C sind pin-kompatibel; daran kann es meines Erachtens auch nicht liegen.



    Python:


    WiringPi ist installiert mit: sudo apt-get install -y wiringpi python-setuptools


    setup.py aus seiner SMBPI Library ist ebenfalls installiert mit: BUILD und INSTALL


    ABER, es funktioniert nicht! Irgendwo muss (bei mir) wohl (noch) ein grundsätzlicher Fehler sein. Die Frage ist nur wo?


    Hat jemand schon Erfolgt gehabt, dann wäre ich für Hinweise sehr dankbar!

  • Ich hab zwar von dem RPI wenig Ahnung, hab aber auch das Interface aufgebaut und es wartet auf Inbetriebnahme. Raspberry PI 2 Model B V1.1 habe ich bei mir vorgesehen. Ich hoffe der ist dafür geeignet. Ob der schnell genug ist, bzw. genügend Kerne hat weiß ich nicht.

    Mein nächster Schritt wäre zunächst mal zu wissen was wie zu installieren wäre.


    @haglebu,
    wenn ich schon so weit wie du wäre, würde ich mal mit einem kleinen Python Test Script schaun, ob der WD37C65 überhaupt ansprechbar ist.
    Wie das genau geht müsste man erst noch austüfteln, weiß es grad nicht.


    Aber ich denke, wenn du da auf bestimmte Register zugreifst, sollte da was plausible passieren, bzw. entsprechende Werte rücklesebar sein, Status Register, ...


    Auch sollte es möglich sein, z.B. ein Drive Selekt einzuschalten und einen entsprechenden Pegel am DSx Ausgabg zu messen.

    Wenn der Zugriff auf den WD37C65 sinnvoll funktioniert, dann sollte im nächsten Schritt natürlich auch der "Treiber" funktionieren können.


    mfG. klaus Loy

  • @Creep,

    ich hab ja meinen Oszillator (zwei Stück) beim gleichen Versdender wie du bestellt.

    pasted-from-clipboard.png


    Wollte grad einen davon einlöten, aber leider wurde statt 16MHz einer mit 6MHz geliefert.
    Daher wollte ich dich aufmerksam machen, bitte vor den Einlöten prüfen ob es der richtige ist.
    Weil du weißt ja, die gehen schwer wieder raus.
    Den zweiten von meinen habe ich dem Richi gegeben, er soll das bitte auch prüfen und mir Bescheid geben.


    Der Versender hat den Oszillator wohlk vertauscht, weil ich hab 16MHz bestellt.


    mfG. Klaus Loy

  • Ich habe noch nie mit dem RasPi gearbeitet, auch nicht mit Python. Die Installation der SMBPI Library ist unter Python 2.7 erfolgt. Habe probeweise die Installation mal mit Python 3.7 getestet; Klappt nicht, gibt Fehler, da 2.7 nicht mit 3.7 kompatibel ist (laut Internet). Also scheint die Version 2.7 die richtige zu sein. Hier gab es bei der Installation keinerlei Warnungen oder Fehler.


    @haglebu,
    wenn ich schon so weit wie du wäre, würde ich mal mit einem kleinen Python Test Script schaun, ob der WD37C65 überhaupt ansprechbar ist.
    Wie das genau geht müsste man erst noch austüfteln, weiß es grad nicht.

    Dazu fehlt mir derzeit das Wissen!


    Mein nächster Schritt wäre zunächst mal zu wissen was wie zu installieren wäre.

    Meine Vorgehensweise:


    1) WiringPi

    sudo apt-get install -y wiringpi python-setuptools


    2) https://github.com/sbelectronics/smb-pi-lib

    sudo python ./setup.py build

    sudo python ./setup.py install


    Diese drei Installationen haben wie schon gesagt ohne Fehler und Warnungen geklappt ("phyton" ist in usr/bin auf "python2" und dieses auf "python2.7" verlinkt).


    Die Bibliotheken befinden sich dann unter /usr/local/lib/python2.7


    Viele Grüße

    Thomas

  • Deine Schritte hören sich gut an.
    Leider fehlt mir heute die Lust da weiter zu machen.
    Mal schaun, ...

    Es wird bestimmt jemand mit passenden Tips finden.

  • Der oder ein Fehler liegt möglicherweise hier:


    GPIO_BASE


    Diese Adresse scheint bei den verschiedenen PI's jeweils eine andere zu sein. Aber hier fehlt mir der nötige Sachverstand; der Pi ist vollkommenes Neuland für mich.


    Mein Raspberry Pi Model 4B V1.2:


    Auszug aus c_gpio.c


    Auszug aus: BCM2711 ARM Peripherals, Seite 65

  • Meine beiden WD37C65C sind heute angekommen.


    Die Oberseite wie neu und frisch gelasert. Die Pins auch wie neu. Die Unterseite alt und fleckig. :(


    Die wurden auf jeden Fall "refurbished" und ich tippe auf Fakes. Aber einen Versuch ist es ja immer Wert bei den Preisen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Ja, der Schreibprozess wurde bei mir „sehr“ oft unterbrochen; grundsätzlich hat es aber geklappt, wie man am Hexdump sehen kann.

    Ich habe mal mein zuvor verwendetes (uraltes) ALPS DFC22B02A gegen ein (NOS) TEAC FD-55B getauscht und siehe da, das Diskimage wird ohne einen einzigen "Unterbrecher" auf die Diskette kopiert. Danach die Diskette auf einem anderer Rechner mit Norton DT getestet; alles in Ordnung!


    Somit kann ich berichten: Das "RasPi Floppy Controller Board" funktioniert!


    :) Sehr schön!

  • @haglebu,
    wenn ich es richtig verstehe, verwendest du einen Raspberry PI 4B, wie im original Projekt.
    Dann sollte ich evtl. auch einen neuen kaufen.

  • @haglebu,
    wenn ich es richtig verstehe, verwendest du einen Raspberry PI 4B, wie im original Projekt.
    Dann sollte ich evtl. auch einen neuen kaufen.

    Das ist wahrscheinlich besser, weil bei einem anderen (älteren) Pi wohl auch die GPIO_BASE Adresse eine andere sein wird, siehe c_gpio.c



    Vielleicht funktioniert es ja auch, wenn du hier deine GPIO_BASE Adresse einsetzt; ein Versuch wäre es wert. Aber wie schon gesagt, RasPi und Python sind komplettes Neuland für mich.

  • Gestern und heute habe ich mal ein paar Tests durchgeführt.


    ---> Das Board funktioniert, aber es hat - zumindest nach meiner Einschätzung - noch Fehler.


    Bild 1: So sieht ein „ideales" 360KB Image aus (DS, DD, 48 tpi, 2x40 Tracks, 9 Sektoren/Track, 512 Bytes pro Sektor)




    Bild 2: So sieht das mit dem RasPi-FDC erzeugte Image aus:


    -> sudo python ./fdtool.py --media 360 format


    Eigentlich müsste es aussehen wie Bild 1), tut es aber nicht!




    Bild 3: Mit dem Greaseweazle habe ich nun das „ideale" Image aus Bild 1) auf eine „bulk erased" Diskette kopiert und sie so formatiert.

    Anschließend habe ich mit RasPi-FDC ein „echtes" Image mit echten Inhalten auf diese Diskette geschrieben ...


    -> cat 0360.img | sudo python ./fdtool.py --realtime --pincpu 3 --media 360 --disk write


    ... und abschließend wieder mit dem Greaseweazle ein Image gemacht.



    Die Diskette habe ich auch mit Norton DT (Disk Test) überprüft, es wurden keinerlei Fehler angezeigt. Die auf der Diskette gespeicherte

    Textdatei (ein richtig langer Text) konnte einwandfrei gelesen werden.


    Mein Fazit (nach diesem Kurztest):

    1) Die Formatierungsfunktion ist fehlerhaft.

    2) Die Schreibfunktion arbeitet aber korrekt.