Angepinnt LCD-SD2IEC Firmware 1.0.0 für LarsP-Layout kompiliert

  • LCD-SD2IEC Firmware 1.0.0 für LarsP-Layout kompiliert

    Hallo!

    Ich habe es endlich mal geschafft, mir eine etwas Aktuelle Version (Basierend auf der des Evo2 vom Februar 2016) für die SD2IEC's mit LCD, die auf dem LarsP-Layout basieren, zu kompilieren.

    Habe das Ganze auf einem RaspberryPi3 mit Rasbian gemacht.

    Eigentlich wollte ich das Aktuellste von der SD2IEC.de-Seite patchen, das hat aber nicht richtig funktioniert, deshalb habe ich dann die Version vom Februar genommen, welche auch schon für das Evo2 benutzt wurde. Dieses hat dann auch geklappt und lässt sich mit dem Bootloader flashen.

    Diese Version beinhaltet schon das EEprom-Filesystem und den Maniac-Mansion/ZakMcKracken-Fastloader-Support.

    Wenn mich nicht alles täuscht, dann müsste diese Version auch auf den SD2IEC's von dem "spanischen" Verkäufer laufen, leider kann ich dieses mangels Gerätes nicht testen, deshalb: Benutzung auf eigene Gefahr!

    Hier mal die Datei, die man per Bootloader flashen kann:
    sd2iec_lcd_larsp.bin
    Und hier noch die geänderten Sources:
    sd2ieclcd1.0.0_source.zip

    DoReCo #51 am Sa. 17.12.2016
  • Hi!
    auch von mir ein herzliches Dankeschön. Seit gut einem Monat wollte ich das immer wieder mal angehen, hatte dann aber doch nie wirklich Lust. Wenigstens hab ich das noch gesehen bevor ich mir "unnötige Arbeit" gemacht hätte.
    Scheint nach einigen Tests fehlerfrei zu funktionieren (Lediglich meine Hardware hatte plötzlich Probleme, dazu vielleicht in kürze mehr. Es lag aber garantiert nicht an der Firmware).
    Ist auf jeden Fall genau das richtige für mein aktuelles Projekt, also nochmal vielen Dank dafür.

    Grüße
    SID-Bastler
  • So Leute, heute habe ich es endlich geschafft und hab die "Current-Sources" vom 19.09.2016 für das LCD-SD2IEC anpassen können. Hat mich einige Nerven gekostet, man musste ein paar Files noch händisch anpassen. Wenn ich Programmieren könnte wäre es bestimmt schneller gegangen.

    So und hier das File zum Flashen via SD-Karte:
    Dateien
    • sd2iec.bin

      (126,98 kB, 21 mal heruntergeladen, zuletzt: )

    DoReCo #51 am Sa. 17.12.2016
  • DerSchatten schrieb:

    Wo findet man auf die schnelle nochmal die Anschlussbelegung eines Status-LCD an den ATmega?
    Z.B. in den Sources in der Datei ReadMe_LCD. Die Sources findet man u.A. im Post#1.

    Da steht drin:
    Display Atmega
    RS PB0
    RW PB1
    E PB2
    DB4 PC4
    DB5 PC5
    DB6 PC6
    DB7 PC7

    habe mir dazu mal ein Bildchen gemacht:



    Hier mal die Sources zum aktuellem Kompilat:
    Dateien

    DoReCo #51 am Sa. 17.12.2016

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von CapFuture1975 ()

  • everslick schrieb:

    wir sollten echt versuchen, den evo2 code irgendwie in Unseen's repository zu bekommen. betrifft es eigentlich nur das LCD, oder muss man noch mehr patchen?
    Nix da. Über den Laden liest man immer wieder schlechtes, da werde ich keinen Finger krümmen um denen auch noch zu helfen.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • Unseen schrieb:

    everslick schrieb:

    wir sollten echt versuchen, den evo2 code irgendwie in Unseen's repository zu bekommen. betrifft es eigentlich nur das LCD, oder muss man noch mehr patchen?
    Nix da. Über den Laden liest man immer wieder schlechtes, da werde ich keinen Finger krümmen um denen auch noch zu helfen.
    zb. ?

    -= Neu in meiner Sammlung =-
    -= Modding =-


    Nichts hält länger als ein Provisorium
  • Unseen schrieb:

    Nix da. Über den Laden liest man immer wieder schlechtes, da werde ich keinen Finger krümmen um denen auch noch zu helfen.
    Kann ich verstehen und ich kann selber ein Lied davon singen, aber...

    1) die hardware selbst ist ja nicht schlecht
    2) upstream support hilft hauptsaechlich den usern, die die firmware selbst kompilieren und aktuell halten wollen
    3) genau darum gehts ja bei freier software, den user aus der abhaengikeit zum hersteller zu befreien

    natuerlich waere es anstaendig gewesen, wenn sich die selber um upstream support gekuemmert haetten, aber immerhin sind sie (mittlerweile) GPL compliant.
  • everslick schrieb:

    natuerlich waere es anstaendig gewesen, wenn sich die selber um upstream support gekuemmert haetten, aber immerhin sind sie (mittlerweile) GPL compliant.
    Das brauchte ja auch nur einen "Läden, bei denen ich nicht kaufen würde"-Hinweis auf sd2iec.de...

    Weiss jemand, was für eine Hardware-ID die in ihrem Bootloader eintragen?

    natuerlich waere es anstaendig gewesen, wenn sich die selber um upstream support gekuemmert haetten, aber immerhin sind sie (mittlerweile) GPL compliant.
    Haben die nicht einfach den gleichen LCD-Patch verwurstet, der seit Jahren kursiert? Der, bei dem der Autor ihn bewusst nicht upstreamen wollte, weil ihm irgendwas an dem Code nicht gefallen hat?

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • Unseen schrieb:

    Weiss jemand, was für eine Hardware-ID die in ihrem Bootloader eintragen?
    ich glaub da steht nichts besonderes, weil ich habe gerade den aktuellen source aus git ausgecheckt, gepatcht, compiliert und das EVO hat es geflasht.
    Dateien
    • sd2iec.bin

      (126,98 kB, 1 mal heruntergeladen, zuletzt: )
    • evo2_patch.txt

      (2,69 kB, 6 mal heruntergeladen, zuletzt: )
    • config-evo2.txt

      (2,22 kB, 4 mal heruntergeladen, zuletzt: )
  • everslick schrieb:

    ich glaub da steht nichts besonderes, weil ich habe gerade den aktuellen source aus git ausgecheckt, gepatcht, compiliert und das EVO hat es geflasht.
    Ja, da steht wohl die gleiche ID wie in config-larsp in meinem Repo. Unpraktisch.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • everslick schrieb:

    das heisst man kann versehentlich, die falsche Firmware flashen, oder?

    Genau. Im Prinzip gibts drei Möglichkeiten:
    1. Es gibt zwei Unterschiedliche Firmwares mit der gleichen Hardware-Kennung, einmal mit und einmal ohne LCD-Support. Macht das seit Jahren kommunizierte "Entpack alles auf die Karte und lass den Bootloader entscheiden"-Prinzip kaputt und käme für mich deswegen nicht in Frage.
    2. Man sagt dem Nutzer, dass er einmal mit externen Mitteln den Bootloader neu flashen muss. Für die meisten Nutzer wahrscheinlich eher unpraktikabel - da bei AVRs der Befehl zum Flashen nur ausgeführt wird, wenn der Prozessor gerade Code im Bootloaderbereich ausführt, kann man das auch nicht durch eine "Update-Firmware" machen.
    3. Die Firmware wird so umgeschrieben, dass die LCD-Unterstützung zur Laufzeit hinzugeschaltet werden kann - entweder durch Befehle oder durch automatische Erkennung. Die flexibelste Lösung, erfordert aber zusätzlichen Aufwand und die "Codegrössenkosten" müssen auch die Nutzer "bezahlen", die gar kein LCD verwenden.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • passiert eigentlich etwas unangenehmes, wenn man LCD support einkompiliert hat, aber keines dranhaengt, ausser natuerlich codegroesse?

    ich benutze es ohne LCD, darum hab ich in der allerletzten version den code gar nicht drinnen, hatte aber vorher die offizielle firmware drauf.

    aber vielleicht macht der 'original' LCD treiber eh auto-detection?
  • everslick schrieb:

    passiert eigentlich etwas unangenehmes, wenn man LCD support einkompiliert hat, aber keines dranhaengt, ausser natuerlich codegroesse?
    Keine Ahnung, in den Code habe ich nicht reingeschaut. Wenn es einfach so läuft, als ob kein Display angeschlossen ist, wäre das natürlich viel brauchbarer als wenn es zB hängt weil keine Reaktion kommt.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage