Neues OS für C64 (mit Zeichensatz-UI) = GoDos

Es gibt 313 Antworten in diesem Thema, welches 59.479 mal aufgerufen wurde. Der letzte Beitrag (8. Mai 2018 um 09:34) ist von steril.

  • Passt denn die screen_list so?

    Nein. Der Wert $80 kommt in jeder Screenlist nur einmal: am Ende. Hier mal ein Vergleich:


    So sieht das aus, wenn ich das von Hand eintippe. Erklärung:
    Der erste Wert legt fest, ob der Screen gelöscht wird oder nicht ($00=kein Löschen)
    Dann der erste Gadget-Record: An Zeile 2, Spalte 2, mit Breite 28 und Höhe 3, erfolgt ein Gadget vom Typ 0 (mit Flags $d0), das Gadget ist aktiv und hat bringt dich zum Event "stay", auch Text gehört dazu, hier: 26 Leerzeichen und Text wird mit $00 beendet.
    Der zweite Record: Gadget an Zeile 21, Spalte 2, Breite wieder 28, Höhe 3, Typ und Flags auch wie eben, Event wie eben, Text (mit $00).
    Der dritte Record unterscheidet sich insofern, als er keinen Text besitzt ($40 in den Flags) und daher auch keine $00 am Ende hat. Event-Adressen müssen immer gesetzt sein (wenn die Flags kein Event vorsehen, dann kann hier $0000 stehen).

    Jetzt das Ergebnis des GUIEditors:

    Startwert stimmt: kein Screen-Löschen
    Erstes Gadget stimmt: 2, 2, 28 ($1c), 3, Typ 0, aber keine Flags gesetzt, hatte ich auch nicht angehakt, wenn Flags auf 0 sind, ist der Eventvektor egal (hier $0000), also ok.
    Jetzt kommt der Fehler: Hier setzt du $80 als Gadget-Ende. Weglassen!
    Das zweite Gadget stimmt wieder (21, 2, 28, 3, $00) und auch das dritte (4, 27, 3, 18, $00)

    Was mich stört, ist die Langschreibweise der Pseudo-Codes. !by sieht lesbarer aus.

    Im Programm könntest du die Kästen für X und Y austauschen, weil sie im Code anders herum gesetzt werden müssen (kann verwirrend werden). Was mir nicht gelungen ist, ist ein weiteres Element zu definieren, denn es fehlt noch das reine Text-Element, das in einer Screenlist nach dem letzten Gadget folgen kann (Signal-Byte: $c0. Es ist immer gehilightet, steht an Zeile+1, Spalte+1 und wird wieder abgeschlossen mit $00, endgültiges List-Ende erst an $80.

    Die Benutzeroberfläche vom C64Studio könnte auch mal "modernisiert" werden, oder...? :wink:

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Ach so, hier der Mockup vom Mockup von Korodny :smile: :

    Bitte melde dich an, um diesen Anhang zu sehen.

    Die Dateilängen links fehlen noch, ebenso die Footer-Zeileninhalte. Ich finde, es muss etwas vom Schachbretthintergrund zu sehen sein, sonst sieht es nicht aus wie von goDos. Den Scrollbalken hab ich auch drin, etwas schmaler als so ein fettes invertiertes Leerzeichen. Soll ich daran gehen, den Code für diese Oberfläche auszurollen? (Mit "Pattern" und "Toggle" konnte ich erstmal nichts anfangen.)

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Ich finde, es muss etwas vom Schachbretthintergrund zu sehen sein, sonst sieht es nicht aus wie von goDos.

    Uh, meins ist das nicht - du hast nur 1000 Zeichen und verschenkst 20% davon für ein Schachbrettmuster und einen ständig eingeblendeten Titel? Wenn beide Laufwerke offen sind, sieht man noch mal einen Eintrag weniger pro Laufwerk...Ich hätte da andere Prioritäten ;)

    Aber ist okay, ich denke mir schon mal einen Namen für meinen Fork aus (Arbeitstitel "Big Beautiful Screens" ;) )


    Den Scrollbalken hab ich auch drin, etwas schmaler als so ein fettes invertiertes Leerzeichen.

    Hat der Scrollbalken auch schon eine Funktion?


    Soll ich daran gehen, den Code für diese Oberfläche auszurollen?

    Ich bin immer für Updates zu haben, aber nur wenn das kaum Arbeit macht. Ansonsten reichen Status-Updates für solche Sachen auch erst mal.

    (Mit "Pattern" und "Toggle" konnte ich erstmal nichts anfangen.)

    Ach, das waren nur Beispiele - welche Befehle wo hin sollen hatte ich mir noch nicht überlegt. "Toggle" = Auswahl umkehren", "Pattern" = "Auswahl nach vom User eingegeben Namensmuster (z.B. '?pic *')".

    "Parent" sollte wohl der oberste Knopf sein, wegen leichter Erreichbarkeit? Natürlich "ausgegraut" bzw. inaktiv, wenn das aktuelle Laufwerk keine Verzeichnisunterstützung hat.

    Danach dann "Copy" bis "Info". Dann fallen mir noch ein: die zwei angezeigten Verzeichnisse tauschen, utility/module laden, all/none/toggle/pattern, evtl. preferences (startlaufwerke? mit welche Layout starten?), quit. Außerdem könnte man argumentieren dass diverse Disktools (copy, format, diredit, diskmon) hierher gehören oder zumindest von hier zu starten sein sollten.

  • Ach so, hier der Mockup vom Mockup von Korodny :smile: :

    Bitte melde dich an, um diesen Anhang zu sehen.

    Die Dateilängen links fehlen noch, ebenso die Footer-Zeileninhalte. Ich finde, es muss etwas vom Schachbretthintergrund zu sehen sein, sonst sieht es nicht aus wie von goDos. Den Scrollbalken hab ich auch drin, etwas schmaler als so ein fettes invertiertes Leerzeichen. Soll ich daran gehen, den Code für diese Oberfläche auszurollen? (Mit "Pattern" und "Toggle" konnte ich erstmal nichts anfangen.)

    Arndt

    Hier hast Du aber wieder nur eine Driveansicht?

  • Danke für die Info, das Text-Element hatte ich noch gar nicht berücksichtig. Neue Version, liegt jetzt auf Bitte melde dich an, um diesen Link zu sehen.

    Die Screenlist sollte jetzt passen, du musst nicht mehr auf dem alten Projekt aufsetzen (die Elemente sind jetzt fest verdrahtet), X/Y ist getauscht, Info-Element ist drin, mehr Zeichen in der Eingabe sind möglich.


    BTW, was genau meinst du mit modernisieren bei C64Studio? Theming? Oder generell mal in den Dialogen ein bißchen aufräumen?

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Die Screenlist sollte jetzt passen

    Nein, der Save&Export-Knopf macht nichts mehr. Dazu gleich: die Leerzeichen zwischen den Datenelementen, kann man die auch weglassen? (Ist dann besser lesbar, Kleinbuchstaben für die Hexziffern wären auch nicht schlecht.) Hast du beachtet, dass die $00 nur Strings abschließt (nicht den Gadget-Record)?
    Könnte man auch die vier Gadget-Flags zum Anhaken machen?
    %1000000: Text folgt
    %0100000: Gadget aktiv
    %0010000: Gadget abgesenkt
    %0001000: Text ist hilight
    (Die unteren Bits sind Typauswahl, das ist ja schon drin.)

    Mir fiel auf, dass beim Editieren immer nur das oberste Element den Fokus hat, du kannst ein darunterliegendes nicht auswählen (du musst erst das obere verschieben). Mehrere Elemente markieren wäre auch nicht übel, dann könnte man einen ganzen Container verschieben. Ausdrücklich die Screens Abspeichern (als separate Datei zum später an einem andren Projekt Weitermachen) geht auch nicht? Vielleicht wäre auch ein dünnes Rastergitter (abschaltbar) nicht schlecht? Und noch was: Könnte man auch Elemente beim Editieren duplizieren? Dann müsste man nicht immer die Einstellungen wiederholen.

    was genau meinst du mit modernisieren bei C64Studio

    So wirklich intuitiv ist es insgesamt nicht, finde ich. Aber das ist ja Geschmackssache.

    Ach so (für andere Nutzer), wenn man den Infotext positioniert, muss man darauf achten, dass der Kasten eine Spalte weiter links und eine Zeile höher anfängt als der Text (GoDot positioniert ein "virtuelles" Gadget, das hast du ja schon drin, nur die "Spaltenverschiebung" um 1 könnte falsch werden).

    Aber keine Frage: Das Tool hätte ich schon viel früher gebrauchen können! :smile:
    :thanx:

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Hier hast Du aber wieder nur eine Driveansicht?

    Das zweite Drive ist "ausgeblendet". Die Doppelpfeile sind dafür gedacht, das zweite Laufwerk schrittweise zu verkleinern bzw. zu vergrößern - s. Beitrag 150.

    Mir fiel auf, dass beim Editieren immer nur das oberste Element den Fokus hat, du kannst ein darunterliegendes nicht auswählen (du musst erst das obere verschieben).

    Auswählen kannst du es schon, nur die Größenänderung klappt nicht. Ich hatte Endurion schon gebeten, alle auch die rechte obere oder gar alle vier Ecken für die Größenänderungen nutzbar zu machen, dann wäre das Problem keins mehr.

    Ausdrücklich die Screens Abspeichern (als separate Datei zum später an einem andren Projekt Weitermachen) geht auch nicht?

    Stimmt, mindestens "Save As" fehlt.

    Und noch was: Könnte man auch Elemente beim Editieren duplizieren? Dann müsste man nicht immer die Einstellungen wiederholen.

    Control+Mausklick dupliziert ein Element.

  • GoDot:

    Edit: Hab grad gesehen, im Zip waren zwei Ordner, der aktuellste wäre GodotGUIEditor gewesen.

    Hast du den Pfad beim Export-Reiter angepasst? Das tut bei mir einwandfrei?

    Leerzeichen kann ich wegmachen. Die Gadget-Flags sind doch anhakbar?

    Die Elemente kannst du auch links in der Liste anwählen, nur dann evtl. nicht verschieben. Verschachtelte Elemente; bzw. mehrere Elemente markieren, hmm.. Muss ich mal guggen, wie sich das mit Ctrl-Klick zum Duplizieren verträgt.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Die Gadget-Flags sind doch anhakbar?

    Ja, aber sie haben/hatten keine Funktion. "Has Text Highlight" geht jetzt, "Sunken" hat aber noch keine Auswirkungen.

    Die Elemente kannst du auch links in der Liste anwählen, nur dann evtl. nicht verschieben.

    So lange irgendwo ein Teil das Gadgets sichtbar ist, kann man es verschieben. Das Problem ist m.E. wirklich nur die Größenänderung.

    In der neuesten Version funktioniert die Initialisierung des "Text"-Eingabefelds nicht richtig: Wenn von mir noch kein Gadget-Text definiert wurde, steht dort "lsmf" - das war der Gadget-Text des letzten Gadgets, das ich aus dem Beispielprojekt gelöscht habe.

    goDos hat Pfeile nach oben, unten, links und rechts - die sind ausdrücklich für Knöofe gedacht, d.h. die sollte man irgendwie über die GUI eingeben können.

  • So, nochmal eine neue Version. Beim Export jetzt keine Leerzeichen und kleine Buchstaben. Wenn du mit gedrückter Shift-Taste draggst, dann werden alle Elemente die vollständig innerhalb des angeklickten Elementes sind, mit verschoben.

    Edit: Ah, danke für die Hinweise. Ich kenne GoDot nicht, daher müßt ihr mir da bei den Details helfen. Sunken hat keine Auswirkung, Active auch nicht; wie sollte das denn dargesteltl werden? Ich habe mich bei den Gadgets bisher nach dem Bild im pdf gerichtet, gab es da auch "sunken" Elemente abgebildet?

    Link bleibt: Bitte melde dich an, um diesen Link zu sehen.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.


  • Sunken hat keine Auswirkung, Active auch nicht; wie sollte das denn dargesteltl werden?

    Ich meine "Active" hat keine optische Entsprechung, das muss Godot beanworten - das Flag legt fest, ob das Gadget bei Klick eine Aktion auslöst oder nicht.

    "Sunken" bedeutet dass ein Gadget nicht "erhöht" sondern "vertieft" dargestellt wird (denk bei klassischen GUIs an Knopf vs. String-Gadget), d.h. du drehst die Farbgebung des Gadgets um: oben und links ist dunkel, unten und rechts ist hell.

    Ich habe gerade versucht, unter "Event" drei Punkte einzugeben (frag nicht...) , das Resultat war eine unhandled exception: "Invalid Argument '6' is not valid for 'index'. Parameter Name: Index.

  • Ui, blöder Bug. Ist bereinigt, Sunken tut jetzt etwas und man kann jetzt auch Pfeile angeben (da sind Buttons dafür da, es werden nur Dummy-Tags eingebaut)

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Sunken hat keine Auswirkung, Active auch nicht; wie sollte das denn dargesteltl werden?

    Hat Korodny schon beantwortet (p 172). Ist wahrscheinlich ein Problem?

    Ich meine "Active" hat keine optische Entsprechung

    Richtig, stattdessen wird dann bei "Event" der eingetragene Eventlink verwendet (ansonsten kann bei Event "!wo 0" stehen). In Post 167 hab ich geschrieben, wie die Flags sich auswirken, sie sind im selben Byte kodiert, in dem auch die Gadget-Typen drin sind (im oberen Nibble). Wenn du also im Editor einen Haken machst, sollte das entsprechende Bit dort gesetzt werden. Das Kopieren mit CTRL hatte ich überlesen. Ok!

    Ich probiere jetzt die neue Version. Korodny: den ganzen Bildschirm ausnutzen ist doch besser... :wink: Bin bald mit einer testfähigen neuen Version fertig. Tausche dann das D64 aus und sage hier Bescheid.

    Übrigens: Wenn einer erwartet, dass goDos irgendwie nur annähernd so wird wie die Ideen von Retrofan - das wird nichts, das ist mir zu viel des Guten... :wink: Ich will nur ausprobieren, ob GoDot wirklich das auf dem Kasten hat, was wir ihm damals (als es rauskam) zugetraut haben. Und da bin ich doch recht zufrieden!

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Da hab ich schon was: Das Info-Element darf nur eine Länge (drittes Byte) haben, die genau den gültigen Zeichen entspricht (ohne die $00), also "info" wäre 4 Bytes lang, egal wie groß der aufgezogene Kasten sonst ist.

    Könntest du die Texte als !scr (Screencode-Strings) ausgeben? Dann wäre ich fast wunschlos glücklich...

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Übrigens: Wenn einer erwartet, dass goDos irgendwie nur annähernd so wird wie die Ideen von Retrofan - das wird nichts, das ist mir zu viel des Guten... :wink:

    Mir auch - und ich hab so den Verdacht dem 6510 auch. Aber es scheint ja Interesse an einer Umsetzung zu geben, bin mal gespannt.

    Ich will nur ausprobieren, ob GoDot wirklich das auf dem Kasten hat, was wir ihm damals (als es rauskam) zugetraut haben. Und da bin ich doch recht zufrieden!

    Ich hatte mir das GUI-Konzept heute mal ein bisschen durchgesehen, das ist schon ziemlich eindrucksvoll. Die Screenlist,die Idee mit den Überlappungen, die weitere Darstellungen generieren - und das alles ohne Internet und 20 ähnliche Projekte wo man sich mal inspirieren lassen kann... Respekt. Hattet ihr irgendein Vorbild, oder ist das komplett auf eurem Mist gewachsen?

    Ein paar Vorschläge für Erweiterungen hätte ich aber trotzdem, nach fast 25 Jahren ist das ja auch verschmerzbar.

  • Ein paar Vorschläge für Erweiterungen hätte ich aber trotzdem

    Oh, nur her damit! :smile: Ichh ab durch das goDos-Projekt bereits allerhand Änderungen (Verbesserungen) am Kern vorgenommen, z.B. dass ein Filerequester bisher fest auf 16 Dateien eingestellt war. Ich weiß gar nicht, warum ich das 25 Jahre lang so hingenommen habe... (und da kommst du mit deinen Lang- und Kurz-Requestern!)

    Hattet ihr irgendein Vorbild, oder ist das komplett auf eurem Mist gewachsen

    Ohne Vorbild, was die Interna angeht. Das einzige Vorbild war das GUI von Art Department Professional. Wenn du mal das YouTube-Werbe-Video dazu anschaust (ober weiter in diesem Thread müsste ein Link dahin sein) und dann stoppst, wenn das GUI sichtbar wird, wirst du sehen, dass GoDot schon sehr ähnlich aussieht. Aber das ganze GoDot-UI ist auf meinem Mist gewachsen. Die ersten Versionen hatte ich in TSB programmiert, so als Show-Cases und um die erforderlichen Zeichen zu entwickeln. Du wirst bemerkt haben, dass ich dabei besonderen Wert auf die linke untere und die rechte obere Ecke legen musste (je nach Gadgettyp ist die Farbe dort anders). Beschränkungen in der Darstellung (z.B. Zeichenfarben) sind vom System bedacht und können mit Systemroutinen abgefangen werden. Wolfgangs Anteil: er hatte die super Grafik-Algorithmen drauf, die zu den Bearbeitungsmodulen geführt haben (das Modul-Konzept ist auch von ADPro abgeschaut). Auf seine Bearbeitungs-Ideen wär ich anfangs nie gekommen. Das war so ein typisches Win-Win-Projekt, jeder hat das reingegeben, was er gut draufhatte. Ich hatte gerade TSB fertig programmiert und darin eine grafische, mausgesteuerte Oberfläche gebaut (die ich sogar verkaufen konnte, sie wurde mal an Schulen eingesetzt und sah so aus: )

    Bitte melde dich an, um diesen Anhang zu sehen.

    Da verwendete ich einen Zeichensatz aus der 64'er, der irgendwie absolut umwerfend war (der aber sonst nie wieder aufgetaucht ist, schade!) Daher meine Idee mit dem GoDot-Zeichensatz. Tja, so ging das damals. :smile:

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Der Dateimanager, den du auf deinem Hauptrechner benutzt, zeigt das Zielverzeichnis auch nicht oder nur rudimentär (Name des Zielordners auf einem Karteikartenreiter o.ä.) an - kaum jemand benutzt heute noch Dateimanager mit zwei gleichberechtigten Listern. Man muss das Zielverzeichnis nicht ständig komplett überblicken - es reicht völlig, einen Eindruck zu haben ob das Ziel wirklich das gewünschte Verzeichnis ist. Dieses Konzept nutzen der Windows Explorer,, der Mac Finder, und alle großen Linux-Desktopumgebungen.

    Ich verwende - wenn ich kann - nur Dateimanager, die gleichberechtige Fenster gleichzeitig anzeigen. Es macht für mich einfach mehr Sinn.

    Bei 40 Zeichen macht NEBENEINANDER wenig bis keinen Sinn. Was spricht gegen OBEN und UNTEN jeweils ein Verzeichnis?

  • Ich verwende - wenn ich kann - nur Dateimanager, die gleichberechtige Fenster gleichzeitig anzeigen. Es macht für mich einfach mehr Sinn.
    Bei 40 Zeichen macht NEBENEINANDER wenig bis keinen Sinn. Was spricht gegen OBEN und UNTEN jeweils ein Verzeichnis?

    Nix. Das wurde ja im Post144 gut dargestellt. Ist auch mein Favorit.


    Bitte melde dich an, um diesen Anhang zu sehen.