Hello, Guest the thread was viewed177k times and contains 1544 replies

last post from Natas at the

Laufwerk der 1541 emulieren

  • und es geht doch... ;-)


    Nachdem ich nun noch weiter probiert habe, konnte ich das Problem mit den "verschobenen" Sektoren im GCR-Ringpuffer beseitigen.

    Etwas trickreich war das Problem zu lösen, dass der letzte Sektor eines Tracks ja durchaus genau auf der hinteren Kante des Puffers liegen konnte und so nach vorn ge"wrap"t ist, dass ein Teil davon wieder am Anfang des GCR-Puffers lag. ....

    Leider kann ich den Quelltext nicht kompilieren weil:

    - ich kein LinuxUser bin

    - nicht weiss, wie ich unter Windows 10 die Make-datei ausführen soll....


    wäre schön, wenn die Hex auch dort landet... ( -> https://github.com/fook42/1541-rebuild )

  • wenn man etwas klickt, findet man auch das HEX-File in einem ZIP dort im github :whistling:


    -> https://github.com/fook42/1541-rebuild/releases/tag/SW1.3.7


    und auch das PDF mit der Anleitung findet man dort, wenn man etwas klickt:


    -> https://github.com/fook42/1541…ster/doc/1541-rebuild.pdf

    (hier habe ich aber noch kein Update zu den Schreibroutinen und der Software 1.3.7 gemacht... )

  • ... aber genau auf die Schreibroutinen warte ich ...

    sag mal, greg.. ist das normal hier, dass man nur fordert und sich nicht die Mühe macht, auch zu sagen, was genau denn nicht geht?


    Ich hab dir eine Platine geschenkt - ein "Dankeschön" hier im Forum kam dafür auch nicht :(

    ist nicht so, dass ich es unbedingt haben will.. aber dann dieser Ton, dass du etwas haben "WILLST".. finde ich nicht so dolle.

    Zumal die Software (sprich: dein HEX-File) oben verlinkt wurde und du nur lesen müsstest, was du damit machen musst.


    Dass ich die Dokumentation (das PDF) noch nicht aktualisiert habe, kannst du mir nicht vorwerfen - angesichts von wenigen Stunden seitdem ich die Routinen erst implementiert hatte.

    Ausserdem; GitHub und openSource lebt vom Mitmachen ... wenn dich also fehlende Dokumentation stört (- obwohl ich versucht habe, euch hier mit meinen Postings ausgiebig zu erklären, was gemacht wurde und warum und wie-) dann schreib doch bitte selbst die Datei um, lade sie auf das GitHub hoch und freu dich, wenn andere dann rummeckern, dass sie es nicht finden ...


    Sorry, dafür hab ich kein Verständnis und ich bereuhe es fast schon, dass du eine von den wenigen Platinen bekommen hast und nicht jemand, der sich darüber gefreut hätte.

    Denk mal darüber nach.

    :(

  • greg64


    Danke, hatte die PDF schon auf github gefunden.

    Die Releases findet man auch dort.

    Langsam freunde ich mich mit Github an. Ein Makefile braucht man nicht.

    Das mit dem erstellen kann ich auch nicht.


    fook42


    Alles gut, ich finde es toll, dass es so gut geklappt hat.

    Beim Ret gönne Dir etwas Pause.

  • fook42

    Wow... super das du das auch noch so schnell gelöst hast. Ich hab hiervon halt leider überhaupt keinw Ahnung. Muss auch erst mal schauen wen Thorsten das schreiben bei sich implementiert hat wie ich das auf meinen Atmega bekomme.

    Das wird die nächste hürde für mich werden.

    Ist avrdude ein teil von ubuntu oder muss ich das erst noch installieren? Und muss ich die fuses nochmal setzten wenn der schonmal programmiert war, also beim update?

    Den progger habe ich mir schon abgeschafft aber noch nie benutzt, den atmega hatte ich damals schon fertig programmiert bekommen?

    Wenn ihr jetzt noch lust hättet das ganze mit nem Bootloader zu versehen ( wenn das überhaupt möglich ist)wäre das ganze perfekt


    Respekt und Danke

    Martin

  • also ich habe das Rebuild nicht, aber mir mal die Sourcen von fook42 geladen und anschließend mit WinAVR kompiliert.


    Es kam eine Firmware raus :thumbsup: - also eigentlich gleich zwei

    Code
    1. Errors: none
    2. -------- end --------
    3. avr-objcopy -I ihex -O binary 1541-rebuild.hex 1541-rebuild.bin
    4. avr-objcopy -I ihex -O binary 1541-rebuild.hex FIRMWARE.BIN


    Also für jeden machbar :thumbup:

    "Was heute noch wie ein Märchen klingt,kann morgen Wirklichkeit sein.Hier ist ein Märchen von übermorgen.Es gibt keine Kupferka­bel mehr,es gibt nur noch die Glasfaser und Terminals in jedem Raum.Man siedelt auf fernen Rech­nern.Die Mailboxen sind als Wohnraum erschlossen.Mit heute noch unvorstellbaren Geschwindigkeiten durcheilen Computerclubs unser Da­tenverbundsystem.Einer dieser Com­puterclubsist der CCC.Gigantischer Teil eines winzigen Sicher­heitssystems,das die Erde vor Bedrohungendurchden Gilb schützt.Begleiten wir den CCC und seine Mitglieder bei ihrem Patrouillendienst am Rande der Unkenntlich­keit. CCC'84 nach ORION'64"

  • wie ich das auf meinen Atmega bekomme.

    Das wird die nächste hürde für mich werden.

    Ist avrdude ein teil von ubuntu oder muss ich das erst noch installieren? Und muss ich die fuses nochmal setzten wenn der schonmal programmiert war, also beim update?

    Den progger habe ich mir schon abgeschafft aber noch nie benutzt, den atmega hatte ich damals schon fertig programmiert bekommen?


    zum Programmieren hatte Thorsten in dem PDF schon eine kleine Anleitung mit dem "avrdude" eingestellt, jedoch fehlte mir damals auch einiges um zu Verstehen, wie es funktioniert.

    Zu deiner Frage: im Ubuntu ist das avrdude nicht automatisch enthalten.. man muss es installieren, was aber kein Hexenwerk sein sollte:

    sudo apt-get update -y

    sudo apt-get install -y avrdude


    Allerdings ist die Bedienung über die Konsole nicht jedermans Sache.. In der Anleitung stand aber auch ein Hinweis auf diese Seite:

    https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/


    und dort wird eine Windows/Linux-Oberfläche für das AVRDUDE gezeigt, so dass man sich nichtmehr mit der Komandozeile rumärgern muss.

    Wie es installiert wird steht auch dort - und das hat bei mir auch unter Ubuntu 21.10 gut funktioniert.


    Beim Programmer sollte man nur wissen, welchen Typ man nutzt - es gibt diese "Günstigen", welche sich mit avrdudess als "USBasp" ganz einfach ansprechen lassen:

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


    Hilft das schonmal weiter?


  • @ fook42

    Habe heute die Platine von Dir zusammengebaut. leider fehlt mir noch der 24Mhz Quarzoszillator; (Sitzt zum Schutz der Präzisionsstiftleisten auf einem Steckbrett )

    Den Oszi werde ich Montag bekommen. Der ATmega ist mit der FW 1.3.7 programmiert. Ich benutzte dazu den TI866. Da brauche ich keinen Quarz o.ä.

    Noch einmal vielen Dank, dass du mir die Platine zur verfügung gestellt hast. Wenn ich den Quarzoszillator eingebaut habe, werde ich das Teil natürlich ausführlich testen und die Ergebnisse hier einstellen. Danke nochmals für deine tolle Arbeit.

    Und noch mal zum Verständnis:

    Das copilieren geht unter Windows 10 mit WinAVR ? Ich habe im Netz mehrere Versionen gefunden - die Aktuellste sollte die Richtige sein ?

  • ja das hilft mir weiter.

    Aber stecke ich die platine nur an den programmer an oder muss ich da auch noch strom anlegen? Also bekommt der Strom vom programmierer oder brauch derbzusätzlich über j5 noch?

    Mir fehlt halt der ganze hintergrund... aber ich bin lernfähig.


    Und dann muss ich noch auf Thorstens Firmware warten, also bis er deine lösung eingebaut hat.


    Grüße

    Martin

  • stones73


    Die Firmware hast Du ja, da sie auf Github ist.

    Der Programmer speist den Atmetga mit Strom.


    Ich weiß nicht welchen Programmer Du hast, aber USBasp geht super.
    Da gibt es eine Software die myAVR heisst und auch eine Bedienoberfläche (GUI)

    hat.
    Weiß aber nicht ob myAVR auf Linux läuft.
    Mit dem TL866 geht das flashen super leicht.

  • Ich habe den Pullrequest von Fook42 in meinem Repository übernommen (ohne i2c Unterstützung). Somit ist der D64 Schreibsupport auch für die PCB Version 1.4.0 verfügbar. Ich habe die Firmware Version auch auf 1.3.7 angehoben um keine Verwirrung zu erzeugen. Ein Release ist dafür nun verfügbar und ihr könnt die Firmware wie gehabt flashen.


    Hier die Version für die PCB Version 1.4.0 -> https://github.com/ThKattanek/…ebuild/releases/tag/1.3.7

    Und hier die Version für die PCB Version 1.4.2 -> https://github.com/fook42/1541-rebuild/releases/tag/SW1.3.7


    Danke fook42 nochmal für deine Mühe und genauso stelle ich mir OpenSource Entwicklung vor, jeder trägt seinen Teil dazu bei.

    Und jetzt schaue ich mir noch mal deine PCB Version an, wo es bei mir irgendwie Probleme gab wenn das OLED angeschlossen war, jedoch nicht mit dem LCD ohne i2C.


    Bleibt alle Gesund. ^^

  • ok... da werde ich mich mal an einem Update versuchen...

    Windows Software würde ich bevorzugen, programmer hab ich so nen billigen wie ihn fook42 oben schon erwähnt hat.


    Ich werde berichten:thumbsup:


    Ahhh eins noch... baut ihr die Platine aus oder kann die auf der Floppyplatine bleiben?

    Und Display und SD reader drannlassen oder abstöpseln?


    Sorry für die Noob fragen...

  • Ahhh eins noch... baut ihr die Platine aus oder kann die auf der Floppyplatine bleiben?

    Und Display und SD reader drannlassen oder abstöpseln?

    Du kannst das ohne Floppyplatine machen. Wenn der Programmer selber keine 5V ausgibt, einfach die 5V auf den Jumper J5 geben und flashen. An sich muss sich nur der Atmega auf der 1541-rebuild befinden. Es muss kein Display, der SD-Slot oder der Encoder angeschlossen sein.

  • Danke fook42 nochmal für deine Mühe und genauso stelle ich mir OpenSource Entwicklung vor, jeder trägt seinen Teil dazu bei.

    Und jetzt schaue ich mir noch mal deine PCB Version an, wo es bei mir irgendwie Probleme gab wenn das OLED angeschlossen war, jedoch nicht mit dem LCD ohne i2C.

    :thumbsup: DANKE allen, bzw euch Beiden! :ChPeace schöne Feiertage...

  • baut ihr die Platine aus oder kann die auf der Floppyplatine bleiben?

    so wie Thorsten Kattanek schon schrieb; du kannst beides machen -..die Platine ausbauen und einzeln auf dem Tisch betreiben, wenn dein Programmer die 5V-Spannung ausgibt (was der oben gezeigte durchaus macht),

    oder du lässt alles zusammengesteckt auf der Floppy-Platine und programmierst sie dort - dann solltest du aber die Spannungsversorgung vom Laufwerk benutzen, denn rückwärts über die 1541rebuild den Rest der Floppy zu versorgen, kann schiefgeben.

  • Danke fook42 nochmal für deine Mühe

    gern :) .. nur dank dir habe ich ja überhaupt eine Floppy-Lösung mit der ich arbeiten kann ...

  • Fastformat

    tja.. das hatte ich schon befürchtet.. diese Schnell-Lade und Speicher-Routinen warten eben nicht lange genug ab und manchmal "messen" sie auch nicht, wie groß die Spur nun wirklich ist.. sondern da werden einfach zack-zack die Sync-Marken geschrieben und evtl. nichtmal der Inhalt gelöscht ...

    das werden wir wohl auch mit dem jetzigen Ansatz nicht leicht lösen können - eben weil wir dann die aufwändige GCR-Kodierung trotzdem machen müssen.


    Eine Alternative könnte es aber sein, dass wir selbst vom 1541-rebuild eine FORMAT-Option anbieten, die einfach eine "leere" D64 bzw. G64 Datei anlegt oder die alte Datei überschreibt... das kann dann ja unabhängig vom Takt der 1541 passieren, so dass unser "Format" in ~1 Sekunde durchaus fertig wäre.

    Ich würds mal auf die To-Do-Liste packen und falls Thorsten oder ich wieder viel Zeit und Muse haben, wäre das sicher machbar...

    das Gleiche gilt auch für eine Kopier-Routine... mit dem Atmel eine D64/G64 Datei auf der SD-Karte zu kopieren ist eigentlich kein Thema und 100mal schneller als per C64.


    Nochmal zum Thema Dokumentation:

    ich habe bei mir im Repo die Dokumentation inzwischen erweitert um die fehlenden Teile zum Schreiben/Lesen von GCR-Daten bzw den Datenformaten. Neben einem Hinweis auf die anderen Platinenversion ist das aber auch alles, was ich hier gegenüber des originalen PDFs von Thorsten erweitert hatte

    -> https://github.com/fook42/1541…ster/doc/1541-rebuild.pdf

  • Eine Alternative könnte es aber sein, dass wir selbst vom 1541-rebuild eine FORMAT-Option anbieten, d

    Kann man zusätzlich machen, der Vorteil des Rebuild ist aber doch gerade, dass es völlig transparent ist. Daher sollte, egal was geschrieben wird, das schon klappen. Auch die schnellste Formatierroutine der Welt.


    Dann doch lieber ein G64->D64-Konverter.

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.