Hardware > Emulatoren

Hochkomma auf deutscher Atari-Tastatur

<< < (4/6) > >>

mfro:
Compiliere dein Programm mit


--- Code: ----Wl,-Map -Wl,mapfile

--- Ende Code ---
Das erzeugt eine Link-Map (in der Datei ab der Zwischenüberschrift "Linker script and memory map"). Du kannst so kontrollieren, ob deine Tabellen auch da gelandet sind, wo Du sie haben wolltest.

Was die Adressberechnung angeht: gängige Startup-Codes (zumindest der der mintlib und von libcmini) speichern einen Zeiger auf die Basepage in der globalen Variablen _base.
Mit _base + <Offset deiner Tabellen von dort> + <Länge deiner Tabellen> solltest Du den Wert für keepcnt leicht errechnen können.

Mado:
Super, danke für den Tip!

czietz:

--- Zitat von: Mado am Sa 09.07.2022, 17:01:30 ---Dabei ist mir aufgefallen, dass ich auf der deutschen Atari-Tastatur gar kein Hochkomma finde: '

--- Ende Zitat ---

Auch wenn der Aufdruck auf der Tastenkappe etwas anderes suggerieren mag, ist das Hochkomma (ASCII 0x27) sehr wohl auf der unten markierten Taste vorhanden.


--- Zitat ---Wie geht Ihr mit dieser Thematik um bzw. habt ihr hier für euch Lösungen gefunden?

--- Ende Zitat ---

Überall 1-zu-1-Mapping auf Atari-Layout. Egal, ob ich am echten Atari mit Atari-Tastatur arbeite, am Atari mit USB-Tastatur (via Lightning ST/VME) oder am PC unter Hatari. Damit ist z.B. der Backslash immer auf [Shift]+[Alt]+[ü]. Alles andere empfinde ich als eine viel zu große Umstellung.

Für mich ist das perfekt, wer das aber nicht mag: Es gibt viele Programme, um die Tastatur auf dem Atari zu "personalisieren". Mir wurde von Nutzern der USB-Tastatur CKBD ans Herz gelegt: https://www.chzsoft.de/site/hardware/diverse-kleinigkeiten-fur-den-atari-st/#ckbd-1.6-composed-characters-keyboard-driver (Funktioniert natürlich auch mit der Atari-Tastatur.)

Mado:
Interessant. Sowohl das Programm, wie auch die Sache mit dem Hochkomma. Ich hatte mich am Atari-Zeichensatz in der Wikipedia orientiert:

https://de.wikipedia.org/wiki/Atari-ST-Zeichensatz

Dort gibt es alle drei Zeichen, Hochkomma, Accent Grave und Accent Degue. Und ich wäre nie auf die Idee gekommen, dass Atari beim TOS ein Accent Degue aufdruckt und aber ein Hochkomma ausgibt.  :-/

Das Programm ist so in etwa, was ich gerade bauen wollte, offenbar nur in schön. :-)

Momentan habe ich das Problem, das Hatari zwei Tasten auf meinem Notebook offenbar mit einem ungewöhnlich hohem Symbol mappt, auch noch zwei Tasten, mit dem gleichen. Sieht man bei mir, wenn man hatari --trace keymap nutzt. Links die Taste ^° und links neben dem Backspace '` geben das gleiche SDL-Symbol bei mir aus:

--- Code: ---key down: sym=1073741824 scan=53 mod=0x0 name=''
key map: sym=0x40000000 to ST-scan=0x0d
key up: sym=1073741824 scan=53 mod=0x0 name=''
--- Ende Code ---


--- Code: ---key down: sym=1073741824 scan=46 mod=0x0 name=''
key map: sym=0x40000000 to ST-scan=0x0d
key up: sym=1073741824 scan=46 mod=0x0 name=''
--- Ende Code ---

Ich möchte wie schon geschrieben erreichen, dass ich alle Notebook-Tasten wie gewohnt benutzen kann und möchte TOS so konfigurieren, dass es das schluckt.

mfro:

--- Zitat von: Mado am So 10.07.2022, 12:53:21 ---...
"keepcnt    Anzahl der Bytes, die resident gehalten werden sollen (gilt ab Anfang der Basepage und schließt die Länge des TEXT, DATA und BSS Segments des Programms plus der Länge des Stacks ein; Minimum sind 128 Bytes)."

(Nebenbei, das in der Klammer verstehe ich nicht. Wenn ich es selber angebe, dann ist es doch so, wie ich es angebe. Nur, wenn es selbst etwas errechnet, dann kann es die entsprechenden Segmente mit einschließen. Weil, dann entscheidet "Ptermres" und nicht ich.  Die Formulierung ist missverständlich, zumindest für mich. Es müsste vielleicht heißen "... und schließt unter Umständen die Länge... ")
...
--- Ende Zitat ---

Vielleicht das noch aufgelöst: 128 Bytes ist der vom System genutzte Teil der Basepage (ohne die Kommandozeile), der auf jeden Fall bleiben muss, damit ein vom System nutzbarer PD bleibt (wobei das natürlich ziemlich sinnlos wäre, wozu soll ein Programm ohne Code und Daten und nur einer Basepage noch gut sein?) - das ist das Minimum.
Und Basepage + Code + Data + BSS + Stack ist eben das Maximum (allerdings auch nicht ganz richtig - wenn der Startupcode kein Mshrink() aufruft, gehört dem Programm zum Zeitpunkt des Ptermres() die gesamte TPA, man kann also durchaus auch mehr übrig lassen - mein FOLDRXXX macht das so).

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln