Beiträge von DerSchatten im Thema „Overlay64: Modul zur Anzeige von digitalen Schaltzuständen auf dem Bildschirm“

    Also ich habe nun zwei NOTIFY Screens, wobei ich den ersten mit Manual 0 auf Tastendruck aktiviere.
    Zusätzlich habe ich noch ein timeout von 500 festgelegt.

    Allerdings bleibt mir der erste Screen nach dem Einschalten stehen.
    Erst bei Bitänderung funktioniert das ganze korrekt.

    Fehler gefunden. Lag daran das bit 4 beim Einschalten immer gesetzt war.

    Was mich noch interessieren würde ist die letzte Zeile "KEYBOARD LOCKED - ENTER PASSWORD"
    Was genau bewirkt das?

    Da wird doch das CHARSET abgefragt, soweit ich sehe.

    ahhh, ok. Dafür gibt es den Befehl "control".
    Jetzt ist es mir klar, danke!

    Etwas funktioniert aber trotzdem noch nicht.
    Das ganze sieht jetzt mal so aus:


    Damit läßt sich aber nur der "Screen notify" mit der Leitung 3 aus und ein schalten. Ich würde aber gerne den Manual Bereich damit schalten.

    Und was der absolute Hit wäre ist, das ich sowohl bei bit-Änderung den Manual Bereich für 5 Sekunden EIN schalten kann sowie auch mittel der Steuerleitung 3 AUS und EIN schalten kann.
    Geht das?

    Bitte melde dich an, um diesen Link zu sehen. hatte ich tatsächlich überlesen.
    Habe ich aber gleich nachgeholt.

    Ändert allerdings leider nichts an dem fehlerhaften Verhalten.
    Gut, kann ich damit leben das ich den LM permanent raus/rein heble. Der Sockel wird's schon verkraften.

    Das mit den write's habe ich jetzt soweit verfolgt das sich offensichtlich Texte in Zeilen, wo bereits Texte eingefügt wurden, an einer anderen Stelle nicht erneut setzen lassen.
    Was in dem Sinne allerdings auch nicht erforderlich ist, da man den kompletten Text ja bereits in einer Zeile festlegen kann.
    Das war auch der Grund warum Screen notify in dieser Zeile nichts angezeigt hatte.

    Aktuell habe ich die config jetzt soweit fertig gebastelt.

    Gibt es irgend einen Trick wie man die permanente komplette Anzeige mittels Steuer-Leitung komplett ausblendet und wieder einblendet?
    Also falls irgend ein Programm den kompletten Screen nutzen sollte und der Text dadurch störend wirken könnte.

    Oder muß man das dann mit "Screen notify" machen?

    Wenn du die 1.1 meinst, doch, die habe ich bereits in Verwendung, was allerdings das ursprüngliche "wird nicht korrekt erkannt im Gerätemanager" nicht behoben hat.
    Nur der von dir vorgeschlagene Workarount, den LM1881 für den Flashvorgang zu entfernen, löst das Problem.
    Was ich jetzt allerdings mal nicht als entgültige Lösung ansehe...

    Zu dem Programmcode habe ich folgendes festgestellt:

    Werden write's mitten im Code gesetzt, also nach einem sample, werden diese nicht am Screen angezeigt. Writes müssen demnach immer ganz am Anfang des Codes stehen.
    Beispiel:

    Code
    write 0 16				"KERNAL:"
    write 1 15				"CHARSET:"
    write 0 45				"ID:"
    
    
    sample 1 0								# SD2IEC ID			A6, A7
    	when 00 write 0 49	"11"
    	when 01 write 0 49	"10"
    	when 10 write 0 49	"09"
    	when 11 write 0 49	"08"

    funktioniert.

    funktioniert nicht.

    Screen notify funktioniert einfach nicht.

    (Bit 0 soll natürlich Bit 2 heißen)

    Hier mal mein komplette Code:

    Warum funktioniert das nicht so wie ich will:


    Bit 0 ist bei mir die RESET-Leitung die nach jedem KERNAL-wechsel kurzzeitig auf LO gezogen wird.
    Der Screen notify sollte dann auch kurz den Text RESET einblenden.
    Tut er aber nicht. Der Rest funktioniert soweit.

    Das Teil reagiert total sporadisch.
    Nach 10 mal AUS/EIN wird es endlich mal korrekt im Gerätemanager erkannt.
    Das ist langweilig...

    Ich habe die Platine so wie vorgesehen, komplett verkabelt im C64 mit dem PC verbunden.
    Also Spannungsversorgung vom C64.

    Egal ob ich das USB-Kabel erst vor oder nach dem Einschalten anstecke. Das ganze spinnt sich aus, dass es eine Freude ist.

    Mit dem Keyman64 hatte ich keine solchen Probleme.

    PS:
    Kleiner Schreibfehler in dem Beispielscript:

    when 00 write 1 10 "BEIDE EINGAENGE SIND HIGH "

    00 müsste wohl 11 heißen.

    Ich kann das Problem damit leider nicht lösen.
    Weder so, wie von dir beschrieben, im Betrieb, mit der Stromversorgung vom C64 und nachträglichen Anschließen der USB-Verbindung, noch mit der aktuellen Firmware, bekomme ich im und außerhalb vom C64 ein korrekt erkanntes USB-Gerät zustande.

    MOMENT! Im C64 Betrieb wird das Teil nun erkannt.
    Ich teste noch...

    Update:
    OK, war wohl nur ein einmaliges Vergnügen.
    Das Gerät wurde als Overlay64 erkannt, jedoch unter libusb-win32 devices. (Den Keyman64 sehe ich unter USB-Geräte im Gerätemanager.)


    Ich habe in dem Zustand die libusb-Treiber mit zadig installieren können.
    Allerdings wollte ich anschließend meine Konfiguration übertragen. Nur wie? Da es nicht als USB-Gerät erkannt wird, wird das wohl nix.

    Dann habe ich den C64 mal AUS/EIN geschalten.
    Nun habe ich wieder das verflixte "Unbekanntes USB-Gerät."

    Man muß anschließend auch das USB-Kabel abstecken und wieder ansteckien. Dann kann man den C64 wieder einschalten. Anschließend scheint es dann wieder unter libusb-win32 devices auf.

    Die Hardware selbst funktioniert ja im Grunde. Also der "Overlay" wird am Video-Signal ausgegeben.

    Getestet habe ich jetzt nur mal auf einem Windows 8.1 Gerät.

    Ich habe die Platine jetzt mal an einem frisch installierten Windows 7 Rechner angeschlossen.
    Hier das gleiche Problem.

    Die Hardware wird nur als "Unknown Device" erkannt.

    Der Keyman64 funktioniert am anderen Gerät jedoch fehlerfrei.

    Somit muss das Problem wohl bei der Platine liegen.

    Sonst jemand hier der das Teil schon zusammengelötet und getestet hat?

    Unter USB-Controller erscheint bei mir nur ein Unbekanntes USB-Gerät.

    "Wird Zadig nun ausgeführt, sollte es das Gerät “Overlay64” erkennen."
    Nö, tut es nicht.

    Ich vermute mal das man sich zuerst die libusb-1.0 Treiber herunterladen muß, oder?

    Ok, die Treiber scheinen noch vom Keyman64 installiert zu sein.
    Wenn ich die aber auswähle (liegen bei mir unter Benutzer/NAME/usb_Driver) bekomme ich die Meldung:
    Die optimale Treibersoftware für das Gerät ist bereits installiert.

    Spießt sich da etwas etwas mit dem Keyman64?