GEOPATCH128 und VICE 3.x

Es gibt 33 Antworten in diesem Thema, welches 4.528 mal aufgerufen wurde. Der letzte Beitrag (19. April 2024 um 13:59) ist von paccy.

  • Hm, die aktuelle Version von Anykey hat am 128er ein Problem, hier eine gefixte Version, damit gehen sowohl die 4 Cursortasten oben als auch die 2 unten.

  • Hm, die aktuelle Version von Anykey hat am 128er ein Problem, hier eine gefixte Version, damit gehen sowohl die 4 Cursortasten oben als auch die 2 unten.

    Unter VICE geht die Version jetzt auch... wenn man in den Einstellungen den JoystickBitte melde dich an, um diesen Link zu sehen. von NUMPAD auf NONE ändert kann man auch die Zahlen am Ziffernblock verwenden.

    Ich hab nochmal versucht mich mit diesem "Alternative keymapping" zu beschäftigen... und diese Einstellung ist wohl für den 64er-Modus. D.h. im 128er-Modus scheinen die Cursor-Tasten neben SHIFT nicht gemapped zu sein. Ich hab ein kleines Assembler-Tool geschrieben was die Werte für Cursor-Rechts aus dem CIA1 ausließt und am Bildschirm anzeigt. Bei Cursor neben SHIFT passiert nichts, frage ich die Reihe 10 ab dann erhalte ich die passende Taste. Wende ich eine andere Keymap an gehen auch die Cursor-Tasten aber dafür die die vier Tasten oben ohne Funktion. Ich sehe jetzt aber nicht wie man unter VICE beide Cursor-Tasten-Gruppen gleichzeitig nutzen kann. Vermutlich wird es darauf hinauslaufen das man selbst die keymap anpassen muss, eine optimale Belegung wird sich wohl nicht finden lassen.

  • Was will man denn hier erreichen in VICE? Dass beim drücken auf eine Taste auf dem Hostkeyboard gleichzeitig auf beide Cursortasten im Emulator gemappt wird? Denke nicht, dass dies möglich ist.

  • Was will man denn hier erreichen in VICE? Dass beim drücken auf eine Taste auf dem Hostkeyboard gleichzeitig auf beide Cursortasten im Emulator gemappt wird? Denke nicht, dass dies möglich ist.

    Ja, aktuell ist es nicht möglich in VICE die oberen 4 Cursor-Tasten von den unteren beiden getrennt zu mappen. Das führt dazu das in der Standard-Einstellung ein Programm, welches die Tastatur-Matrix über den CIA direkt abfrägt und nur auf die unteren beiden Cursor-Tasten testet, nicht funktioniert (hier GEOPATCH). Man muss die Keymap anpassen.

    Man müsste zusätzliche KEYS in der Keymap definieren, z.B. C_UP, C_DOWN usw... denen könnte man dann Tasten an der PC-Tastatur zuweisen. Dann könnte man auch mit dem Programm AnyKey-128 (s.o.) beide Tastengruppen testen. Das geht aktuell nicht weil es nur "UP" gibt und diese Taste ist Alternativ auf Reihe 0-7 gemappt und direkt auf Reihe 10. Also wird nur Reihe 10 ausgewertet. Die Alternative Gruppe ist nur für den 64er-Modus, mit AnyKey-64 lassen sich die beiden Tasten dann auch testen.

    Es ist wie bei den Ziffern 0-9: Die gibt es als Key "0" bis "9" und als "KP_0" bis "KP_9" doppelt. So müsste man das auch bei den Cursor-Tasten machen.

  • Aber "0" und "KP_0" sind ja 2 verschiedene Tasten.

    Ebensogut könnte man dich also auch "Down" und "KP_Down" verwenden. Oder geht das nicht?

    Die vier Cursor-Tasten sind nicht auf dem Keypad, ich vermute mal das es nicht geht. Gibt es denn eine Übersicht über die gültigen "Key"-Codes? Eine Suche nach "KP_Down" im SourceCode ergab nur einen Treffer bei gtk3_grus_pos.vkm und der DEBUG-Modus zeigt "UP"/"DOWN" und nicht "KP_UP" oder "KP_DOWN" an...

    Aber im Prinzip ist das ja was man bräuchte... extra Codes für die vier oberen Tasten. Also das man die oberen vier Tasten getrennt von den beiden unteren auf Tasten der PC-Tastatur mappen kann. Es sind ja verschiedene Tasten. VICE behandelt die beiden Tasten aktuell gleich. Und am echten C128 ist dem eben nicht so.

  • Man könnte ja z.B. sowas machen:

    Code
    Down              0 7 8  
    KP_Down           8 4 32
    KP_Down           10 4 144

    Dann ergibt ein "Cursor Down" auf dem Host "Cursor Down" neben SHIFT im Emulator. "2" auf dem Keypad ergibt dann "2" im Emulator, zusammen mit SHIFT aber "Cursor Down" links der Funktionstasten im Emulator. Allerdings muss Numlock deaktiviert sein hierzu. :(

    Aber ich befürchte, das ist gar nicht was du suchst, ich kenne mich weder mit Geos noch Geopatch aus.

  • Man könnte ja z.B. sowas machen:

    Code
    Down              0 7 8  
    KP_Down           8 4 32
    KP_Down           10 4 144

    Dann ergibt ein "Cursor Down" auf dem Host "Cursor Down" neben SHIFT im Emulator. "2" auf dem Keypad ergibt dann "2" im Emulator, zusammen mit SHIFT aber "Cursor Down" links der Funktionstasten im Emulator. Allerdings muss Numlock deaktiviert sein hierzu. :(

    Das wäre eine Möglichkeit... ich hab jetzt auch eine Datei gefunden in der alle KEYCODES aufgelistet sind (im Quelltext keysymtable.h, da ist auch KP_Down aufgeführt).

    Ich hab jetzt mal den Z64K-Emulator für den C128 installiert (V2.1.1)... dort kann ich mit AnyKey die vier Cursor-Tasten oben nutzen, und die neben SHIFT sind auf dem Nummernblock auf / und * gemappt. Zusammen mit SHIFT hab ich damit auch ein links/rechts und hoch/runter. Sprich: Ich kann GEOPATCH direkt verwenden (mit GEOS128V2 getestet), wenn ich weiß das die beiden Cursor-Tasten neben SHIFT auf dem Nummernblock verfügbar sind (steht leicht zu finden in dessen Anleitung, egal ob NUMLOCK an oder aus). Unter VICE128 geht das aktuell nicht, aber man kann die symkeytab anpassen:

    Code
    KP_Divide       0 7 8
    KP_Multiply     0 2 8

    Dafür müsste man dann noscroll und 40/80 auf eine andere Taste legen (die beiden vorhandenen Zeilen KP_Divide und KP_Multiply kann man zum Test auskommentieren, findet man am Ende der Tabelle). Oder man nimmt die positional keymap, dort sind / und * frei, und die Tasten entsprechen eher der 128er Tastatur. Ich hänge die Dateien hier aber auch nicht an weil meine VICE Version verdammt alt ist und einige Unterschiede in der Keymap zur Anleitung hat (meine keymaps aus Vice 3.5 sind hier noch fehlerhaft, die aus V3.7 sehen vom Inhalt her schon deutlich anders aus).

    Aber ich befürchte, das ist gar nicht was du suchst, ich kenne mich weder mit Geos noch Geopatch aus.

    Es geht nur darum beide Cursor-Gruppen nutzen zu können, das ist mit der Standard-Keymap unter VICE128 nicht möglich, bei Z64K schon. Unter VICE muss man aktuell die KEYMAP anpassen... mit Deiner Variante (und NUMLOCK aus) oder mit der Anpassung oben geht es dann aber auch unter VICE (mit ANYKEY und GEOPATCH getestet).

    Tipp: Wer hier was anpassen will kann in den Einstellungen bei Keyboard die DEBUG-Anzeige einschalten. In der Statuszeile wird dann der Name für die Taste (z.B. KP_Divide, UP usw) angezeigt. Dann hat man den ersten Wert für die Keymap. Der zweite und dritte Wert in einer Zeile sind die Reihe und Spalte in der Tastatur-Matrix die "gedrückt" werden soll. Die Tabelle findet sich am Anfang einer Keymap. Beim letzten Wert braucht man ggf. etwas mehr Zeit um das zu verstehen. Die Werte stehen aber auch Anfang der Keymap, mehrere Werte können da addiert werden. "8" steht z.B. für mit oder ohne SHIFT möglich.

    Vielleicht findet ja jemand anderes eine bessere "Standard"-Belegung für den C128...

  • Das war ja auch nur ein Vorschlag, ich selber bin ein Fan von symbolischen Keymaps, da bei mir die Zeiten am realen C64 Jahrzehnte zurück liegen.

    Wie wäre es hiermit?

    So erreicht man Cursor Tasten neben SHIFT indem man SHIFT + Cursor Taste drückt...So bleibt die ofizielle Zuordnung unverändert.

    Man kann ja eigentlich fast alles machen... Anstelle von SHIFT könnte man auch ALT-GR oder CTRL nehmen.


    /Edit: Geht natürlich auch umgekehrt, Cursor Tasten OBEN mit SHIFT.

    Code
    Up       0  7 33             /*           Up -> CRSR UP      */
    Up       10 3 144            /*           Up -> CRSR UP      */
    Left     0  2  33            /*         Left -> CRSR LEFT    */
    Left     10 5 144            /*         Left -> CRSR LEFT    */
    Right    0  2  32            /*        Right -> CRSR RIGHT   */
    Right    10 6 144            /*        Right -> CRSR RIGHT   */
    Down     0  7  32            /*         Down -> CRSR DOWN    */
    Down     10 4 144            /*         Down -> CRSR DOWN    */

    Hier benötigt man auch keine spezielle Zuordnung mehr für den C64-Modus.

  • Hallo,

    Das habe ich jetzt mal ausprobiert. Alle Zeilen für die Cursortasten in der originalen "gtk3_pos_de.vkm" (Windows 64 Bit; GTK-VICE 64 bit, V 3.7.1 r44049) auskommentiert und dann diesen Block von angryking eingefügt. Das Ergebnis gefällt mir irgendwie :wink: ...

    In "AnyKey 128" sind die 4 Cursor-Tasten auf der PC-Tastatur die "normalen" Cursor-Tasten (am C128 unten rechts neben SHIFT). Mit Shift-Taste entsprechen sie den Cursor-Tasten aus dem Cursor-Block am C128 obere Tasten-Reihe).

    Und in "GEOPATCH128" kann ich normal die 4 Cursor-Tasten benutzen....

    Danke.

    Gruß

    Werner

  • Hallo,

    bin letzte Woche auf dieses Thema gestossen. Das hat mich dazu veranlasst,

    mir mal wieder ein GEOS-System aufzusetzen und eine neue Version zu erstellen

    Neu in Version 1.2

    - Hardware basierte Tastaturabfrage ersetzt mit Geos-Events

    - Info-Fenster entschlackt

    - Edit-Modus kann auch mit ESC verlassen werden

    - Den eigenen Mauszeiger entfernt (weil ich keine Funktion finde ihn wieder auf den originalen zu setzen)

    Viel Spaß mit der 35-Year-Edition

    Thomas

  • Viel Spaß mit der 35-Year-Edition

    Danke. :thumbsup:

    Es ist ja nicht so, daß ich es (die Anleitung) bräuchte (nutze das Programm schon ewig und drei Tage :wink: ). Aber: gibt es für das Programm eine wie auch immer geartete Anleitung?

    Gruß

    Werner

  • Es ist ja nicht so, daß ich es (die Anleitung) bräuchte (nutze das Programm schon ewig und drei Tage :wink: ). Aber: gibt es für das Programm eine wie auch immer geartete Anleitung?

    Sagen wir es mal so: Ja es gab diese in der Info-Box genannte "geoPatch.doc", aber die hat mir damals entweder geoWrite oder meine 1581 zerschreddert, bevor ich sie dem GUC übergeben konnte.

    Thomas