Hallo Besucher, der Thread wurde 2,5k mal aufgerufen und enthält 6 Antworten

letzter Beitrag von Unseen am

CP/M und deutsche Umlaute

  • Hallo,


    zunächst einmal vorweg geschoben ein Sorry, wenn ich mit diesem Thema ein längst gelöstes Problem ansprechen sollte. Aber längeres Suchen im Netz hat keine befriedigende Antwort hervorgebracht.


    Ich habe in den vergangen Tagen mit verschiedenen CP/M-Versionen für den C128 herumgespielt (aus dieser Quelle: http://www.zimmers.net/anonftp…demodisks/c128/index.html).


    In der deutschen Version von 1986 konnte ich mithilfe des SETUP-Tools von der Utilities-Disk deutsche Umlaute hervorbringen.


    Zwei Fragen dazu:


    • Lässt sich das Setup dauerhaft speichern, so dass beim Systemstart die deutschen Sonderzeichen aktiviert sind oder muss ich "SETUP" nach jedem Start manuell aufrufe?
    • Gibt es einen Weg die deutschen Umlaute auch in der Version vom Mai 1987 zu nutzen? Die Wahl zwischen Umlauten und der Nutzung der 1581 fällt mir schwer. Ich will beides. :D


    Viele Grüße


    Tex Terry

  • Ich befürchte, das kann man nicht automatisch beim Booten so einstellen.
    CP/M ist von Natur aus erstmal ein amerikanisches Betriebssystem ohne Internationalisierung.


    Eine CONFIG-SYS-Datei wie unter MS-DOS gib es bei CP/M nicht.


    Länderspezifische Einstellungen hatte Digital Research selber nicht geliefert.
    Setup-Programme mussten die Lizenznehmer wie Commodore selber programmieren.


    Lässt sich das Setup-Programm denn per Befehlszeile auf "Deutsch" einstellen?
    Dann könnte man diese Befehlszeile in die Datei PROFILE.SUB einbauen.
    Das ist sozusagen die AUTOEXEC.BAT-Datei von CP/M.


    Wenn die deutsche Einstellung aber nur per Menü ausgewählt wird, sieht es wohl schlecht aus.
    Man könnte zwar das System sicherlich irgendwie per Patch auf Deutsch umstricken. Aber keine Ahnung, ob das irgendjemand mal gemacht hat.

  • Bei Amstrad-Computern konnte man die Einstellungen von SETUP.COM direkt abspeichern und das CP/M-System war dann Deutsch.
    Siehe hier, unterer Absatz, "Eine deutsche DIN-Tastatur":


    Text bei CPCRULES.fr


    Commodore hatte die Funktion zum Abspeichern bei SETUP.COM aber leider wohl nicht vorgesehen.
    Oder gibt es eine andere Setup-Version, die das am C128 kann? Würde mich auch interessieren.

  • Lässt sich das Setup-Programm denn per Befehlszeile auf "Deutsch" einstellen?
    Dann könnte man diese Befehlszeile in die Datei PROFILE.SUB einbauen.
    Das ist sozusagen die AUTOEXEC.BAT-Datei von CP/M.

    Das habe ich mal gleich ausprobiert. Der automatische Aufruf beim Systemstart funktioniert. Allerdings muss ich die deutsche Tastatur dann noch manuel auswählen. Parameter für die Befehlszeile scheint es nicht zu geben. Zumindest gibt SETUP dazu keine Infos. Im Commodore-Handbuch zu CP/M kann ich dazu auch nichts finden.


    Aber zumindest bin ich jetzt schon mal einen kleinen Schritt weiter gekommen. 8)

  • Nach ein paar weiteren Experimenten kann ich folgende Infos oder Erkenntnisse teilen:


    Das Einbinden von SETUP.COM in die Datei PROFILE.SUB ist recht praktisch. Beim Systemstart wird man gefragt ob die deutsche oder amerikanische Tastaturbelegung genutzt werden soll. Eine automatische Wahl der deutschen Belegung habe ich bis dato noch nicht hingekriegt, wäre aber auch nicht so sinnvoll, da die deutsche Belegung auch Nachteile mit sich bringt.


    Commodore nutzte für die Implementierung der deutschen Belegung den Standard ISO 646. Kurz gesagt werden damit ein paar Zeichen gegenüber 7-bit-ASCII geändert.
    Z. B. wird aus '[' ein 'Ä'. Die ersetzten Zeichen sind damit - nach meinem jetzigen Erkenntnisstand - nicht mehr verfügbar. Die Wahl ist aber recht gut getroffen, da die hinfälligen Symbole in deutschen Texten ehr unüblich sind. Für Textverarbeitung ist das also hilfreich. Programmieren ist damit aber weitgehend unmöglich. Daher halte ich es auch für einen Vorteil, dass ich beim Systemstart auch bewusst die amerikanische Belegung wählen kann.


    Hier eine Tabelle der betroffenen Zeichen:


    Deutsches Zeichen

    Internationales Zeichen

    Ä

    [

    ä

    {

    Ö

    \

    ö

    |

    Ü

    ]

    ü

    }

    ß

    ~


    Auch die deutschsprachige GEOS-Version benutzt den o. g. Standard. Ob das Zufall, Absicht oder Folge ähnlicher Überlegungen ist will ich nicht beurteilen. Es hat aber den Vorteil, dass sich Texte aus CP/M wie auch aus GEOS mit der gleichen Konvertiermethode auf modernen Systemen weiterverarbeiten lassen. Hier ein Beispiel für die Unix-Shell:




    Shell-Script
    1. sed -e 's/\[/Ä/g;s/{/ä/g;s/\\/Ö/g;s/|/ö/g;s/]/Ü/g;s/}/ü/g;s/~/ß/g' <DATEINAME>

    (Ausprobiert mit BSD-Sed. Mit GNU-Sed mag es etwas anders aussehen).



    Tex Terry

  • Das ist der hochoffizielle DIN-Zeichensatz, wie er z.B. auch von allen Nadeldruckern unterstützt wurde; das haarsträubende Gebastel der deutschen Hollerith-Gesellschaft für ihr PC-DOS kam erst später. Die fehlenden Sonderzeichen, vor allem die Klammern, machten das Programmieren natürlich etwas unübersichtlich, so z.B. beim Systemprompt des Apple ÄÜ... aber man gewöhnt sich dran, und es gibt ja oft auch die Möglichkeit, Klammern mit einfacheren Zeichen zu umschreiben wie /* ... */

  • Die fehlenden Sonderzeichen, vor allem die Klammern, machten das Programmieren natürlich etwas unübersichtlich, so z.B. beim Systemprompt des Apple ÄÜ... aber man gewöhnt sich dran, und es gibt ja oft auch die Möglichkeit, Klammern mit einfacheren Zeichen zu umschreiben wie /* ... */Bei C wird

    Bei C wird das meiner Meinung ein klein wenig unübersichtlich, ist aber durchaus möglich:

    Code
    1. ??=include <stdio.h>
    2. int main(int argc, char *argv??(??)) ??<
    3. printf("Hello, World??/n");
    4. return 0;
    5. ??>