Umlaute drucken unter DOS

  • Hallo!


    Stelle mich grade echt dämlich an.... Bekomme mit meinem Commodore MPS 1270A keine Umlaute gedruckt.


    Ich habe die DIP Switches entsprechend konfiguriert, aber statt der geschweiften Klammern kommen die Umlaute, und selbige werden gar nicht gedruckt.


    Muß man da unter MS DOS 6 auf einem XT noch irgendeinen Treiber laden?


    Codepage war doch nur für den Bildschirm oder?


    Ich hoffe jemand kann meinem Gedächtnis auf die Sprünge helfen. Da er am Amiga richtig druckt, sollte es ja ein Problem von MS DOS sein, oder?


    Gruß

    Stephan

  • Versuchs mal mit OFF-ON-ON-OFF-OFF-OFF-ON-ON


    EDIT: Und ja, man kann auch für den Drucker ne Codepage laden...

    Das wäre lt. meinem HB Epson #1 mode, der keine Intl Charsets unterstützt (5,6 off). Geht auch nicht.

    IBM Proprinter und Epson #2, #3 gehen auch nicht mit "Germany" als Zeichensatz.

  • Ich habe die DIP Switches entsprechend konfiguriert, aber statt der geschweiften Klammern kommen die Umlaute, und selbige werden gar nicht gedruckt.

    Das war ja der Trick, um im 7bit ASCII Zeichensatz die Umlaute darzustellen. Anscheinend ist dieser aktiv.


    Der ganze Quatsch mit den Codepages benutzt den 8bit Zeichensatz. Hier werden zwischen ASCII-Code 128 und 255 unterschiedliche Zeichen angezeigt.

    Aber hier passt m.E. 7 und 8bit Zeichensatz nicht.


    Aber kann man dem Drucker überhaupt einen anderen Zeichensatz / Codepage "runterladen"?


    Viel Erfolg

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • http://www.nightfallcrew.com/3…nk-jet-printer-mps-1270a/

    Hier gibts mal noch ein DIPswitch Handbuch (unten auf der Seite), wo man aber nix mit Proprinter vs. Epson einstellen kann. Dafür ASCII und Länderkennung.

    Das hab ich schon gemacht.


    Eine Interessante Entdeckung. Wenn ich mit LPRINT chr$(123) ein "ä" schicke, wird es als "ä" gedruckt. Wenn ich mit LPRINT "ä" ein "ä" schicke, wird es ein kursives a.

    PRINT chr$(123) bringt die "{" auf den Schirm.

    Wenn ich mit ESC+6 die höherwertigen Codes einschalte, bleibt die Funktion via chr$(123) erhalten, er druckt aber ein i mit einem accent grave.

  • Hmm. Das macht mich grade irre. Grade noch einen Olivetti DM95 probiert, der am Amiga einwandfrei Umlaute druckt, aber am PC nicht... Noch einen 2. MS DOS PC vom Stapel genommen, auch dieser produziert den "Fehler". Alle Drucker sind auf deutschen Zeichensatz konfiguriert. Die Frage müsste wohl lauten, wie bringe ich einen MSDOS-PC dazu, unter ASCII 123 ein "ä" zu verstehen, wie es ein auf deutsch konfigurierter Drucker erwartet. Die printer.sys ist keine Lösung, die hat imho nur bei wenigen IBM Druckern Sinn gemacht, die codepages verstehen.

  • Na ja, ich wollte darauf hinaus, daß es möglicherweise Unterschiede bei den DIPschaltern zwischen den Modellen MPS1270 und MPS1270A gibt. Und da ganz oben was von MPS1270A steht ... wäre es evtl. gut, die entsprechende Tabelle zu benutzen.


    Ansonsten sollte ein chr$(123) doch eher an keiner Stelle einen Umlaut ausgeben, da ja < 128 und die Sonderzeichen sollten doch >= 128 sein.


  • Ansonsten sollte ein chr$(123) doch eher an keiner Stelle einen Umlaut ausgeben, da ja < 128 und die Sonderzeichen sollten doch >= 128 sein.

    1270A ist die Variante mit IEC und Centronics-Anschluß, ansonsten sind die identisch.


    Anbei die Zeichentabelle aus dem Handbuch ftp://www.zimmers.net/pub/cbm/…ation_and_Users_Guide.pdf


    Das mit ä = 123 stimmt schon, wäre der Epson Standard. Habe ein Epson Handbuch, da ist die gleiche Tabelle drin wie bei Commodore.

  • so wie ich das lese, muß man diesen Modus speziell anschalten. Unter DOS müßte also erstmal ein

    CHR$(27)+"R"+CHR$(2)

    geschickt werden, damit Germany (die 2) aktiv wird ( siehe Seite 5-8 im Handbuchlink ( gruseliger Scan übrigens)).

    dann, sollte ein CHR$(123) auch ein "ä" statt einer geschweiften Klammer ergeben.


    Funktionieren sollte das auch nur im Epson Modus und auf dem Amiga ist da ja evtl. noch ein Druckertreiber dazwischen, der das automatisch macht ?

  • so wie ich das lese, muß man diesen Modus speziell anschalten. Unter DOS müßte also erstmal ein

    CHR$(27)+"R"+CHR$(2)

    geschickt werden, damit Germany (die 2) aktiv wird ( siehe Seite 5-8 im Handbuchlink ( gruseliger Scan übrigens)).

    dann, sollte ein CHR$(123) auch ein "ä" statt einer geschweiften Klammer ergeben.

    Nein, die Esc Sequenz ist alternativ zu den DIP Schalter Settings. Diese legen nur den Startzustand des Druckers fest. Das Problem ist sicher nicht der Drucker. Der gibt ja ein "ä" aus, wenn er im deutschen Mode ein chr(123) bekommt. Nur entspricht auf dem Bildschirm unter MSDos ein chr$(123) besagter Klammer.

  • Um zu überprüfen, welche Daten genau an den Drucker gesendet werden, haben viele Drucker einen HEX-Modus. Der ist bei der Diagnose solcher Probleme meist sehr hilfreich.

  • Das Problem ist sicher nicht der Drucker. Der gibt ja ein "ä" aus, wenn er im deutschen Mode ein chr(123) bekommt. Nur entspricht auf dem Bildschirm unter MSDos ein chr$(123) besagter Klammer.

    Wegen der Druckereinstellungen kann ich nicht viel helfen, aber in einem Punkt bin ich mir ziemlich sicher: wenn du den Drucker an einem DOS-PC betreiben willst, kannst Du Dir die Einstellung des deutschen Zeichensatzes sparen. Das war für ältere Rechner gedacht, bei denen nur der echte ASCII-Code (d.h. 7-Bit, die ersten 128 Zeichen) standardisiert war. Dort wurden die eckigen und geschweiften Klammern etc. durch die Umlaute ersetzt.

    Das war seinerzeit ein Standard bei CP/M Rechnern und allen anderen aus der Zeit, die überhaupt einen deutschen Zeichensatz anbieten. Ich meine das sogar beim Apple oder seinen Clones schon gesehen zu haben (der Prompt wird dann zu Ü).


    Unter DOS war das nicht mehr nötig, weil IBM sämtliche landesspezifische Sonderzeichen in den Bereich 128 bis 255 gelegt hat. Dazu muss der Drucker natürlich diesen erweiterten IBM-Code können. Deshalb würde ich eher mal in Richtung Proprinter-Einstellungen forschen.


    DOS dazu zu bringen, als ä eine geschweiften Klammer an den Drucker zu senden ginge evtl. über einen speziellen Treiber. Sowas kenne ich aber nicht. Aber nur damit hätte es Sinn, im Drucker einen deutschen Zeichensatz zu aktivieren.

  • Schau dir mal im Handbuch die IBM Character Set #2 (Tabelle C-12) bzw IBM All Characters (Tab. C-13) und Vergleich die mit den Codepages 437 und 850 (bei Wikipedia). Wenn die Zeichen aus beiden Tabellen passen, sollte es klappen.


    Die Einstellungen über landesspezifische Codes bringt nichts. Hier werden nur Änderungen nach Tab. C-15 im Zeichensatz < 128 gemacht.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Deshalb würde ich eher mal in Richtung Proprinter-Einstellungen forschen.

    Das wars! Herzlichen Dank Georg und funkenzupfer , das hat geholfen. Ich habe die Proprinter-Settings gar nicht probiert, weil diese keine "Länder-Einstellungen" zulassen. Bei den 3 Epson-Modi war es nicht möglich, Umlaute zu drucken, egal ob "US" oder "GER" Einstellung.

    Wenn man jedoch den Proprinter nimmt, und zusätzlich "international 2" & "accented characters" aktiviert, läuft es. Systemweite Einstellung der Codepages 437 oder 850 hat hierauf keinen Einfluß, weil es nur die Characters > 128 betrifft. Für den Commodore Inkjet 1270(A) sollte man bei MS DOS einfach alle DIP Switches "hoch" = auf "ON" flippen, dann funktioniert es, wenn der KEYB GR geladen ist, natürlich. Jetzt kümmere ich mich mal um MarNo84 's schönen Epson RX-80

  • Um zu überprüfen, welche Daten genau an den Drucker gesendet werden, haben viele Drucker einen HEX-Modus. Der ist bei der Diagnose solcher Probleme meist sehr hilfreich.

    Die hat der Commodore auch, die Datenübertragung funktioniert richtig, das hatte ich auch schon überprüft,

  • So, beim Epson RX-80 habe ich das gleiche Problem wie beim Commodore im Epson-Modus. Kann es sein, daß diese älteren Drucker noch nicht in der Lage waren, Sonderzeichen wie "{}" und Umlaute im gleichen Dokument im "nur Text" Modus auszudrucken?

  • So, beim Epson RX-80 habe ich das gleiche Problem wie beim Commodore im Epson-Modus. Kann es sein, daß diese älteren Drucker noch nicht in der Lage waren, Sonderzeichen wie "{}" und Umlaute im gleichen Dokument im "nur Text" Modus auszudrucken?

    Das ist durchaus möglich, denn diese Option kam erst mit MS/PC-DOS. Wenn der Drucker älter ist kann er diese Codierung gar nicht kennen. Wie schon geschrieben: der damalige Standard war "entweder die eckigen/geschweiften Klammern etc. oder die nationalen Sonderzeichen".

    Ob der RX-80 so alt ist weiß ich aber nicht. Ansonsten müsste er einen "DOS-Modus", "IBM-Modus" o.ä. haben.

  • Und trotzdem kann man das unter DOS nicht so benutzen ? Im Epson Modus ? Kann ich mir so gar nicht vorstellen, weil da ja allerlei Leute mit solchen Druckern zu der Zeit unterwegs gewesen sein müssen.


    Das Suchstichwort heißt dann ja anscheinend ANSI vs ASCII Problematik bzw. 7Bit vs 8Bit. ( >=128 )



    Und als besonderes Extra zum MPS1270 sollte man sich wohl noch merken, daß sich die DIP Optionen teils komplett in Abhängigkeit von anderen Switches ändern. Los gehts beim letzten DIP mit der Entscheidung seriell oder parallel womit man dann etwa im seriellen Modus die Option Proprinter auch gleich mal ganz abschaltet. Und das nächste sind dann Switch 5 und 6, die festlegen welcher Modus im parallel Betrieb genutzt wird. Und ganz zum Schluß erst kommen die Länderkennungen, die aber eben nur für Epson gelten.

  • Das Suchstichwort heißt dann ja anscheinend ANSI vs ASCII Problematik bzw. 7Bit vs 8Bit. ( >=128 )

    Das hatte ich weiter oben (#7) schon mal versucht zu erklären.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Das hatte ich weiter oben (#7) schon mal versucht zu erklären.


    Schon recht.


    Aber so richtig zum echten Verständnis, wie das nun wirklich genau funktioniert, hat das bisher ja nicht geführt.

    Der Beweis dafür ist ja, daß der EPSON Drucker, der eben nur mit den EPSON eigenen (?) Internationalisierungen unterhalb der magischen 7Bit Grenze daherkommt, der RX80, ja nun auch wieder nicht funktioniert. Der vorher ließ sich ja nur zum Mitarbeiten überreden, weil er zufällig diesen Proprinter Mode hatte.

    Ich z.B. bin immer noch am Rätseln, wie nun genau dieses Codeseitensystem funktioniert und ob evtl. für EPSON Drucker eigene CPI Dateien für DOS oder ein spezielles PRINTER.SYS mitgeliefert wurden.


    Ein bißchen eine genauere Erläuterung habe ich ja schon gefunden bei MS-DOS 3.3 Reference Manual im Kapitel 9.

    Das finde ich maximal krampfig, aber (mühevoll) nachvollziehbar. Den Epson 7Bit Modus bekommt man da aber nicht abgebildet - oder eben nur mit Extras.

  • Nach meinem Verständnis ist dieses Codepage-Thema für uns ziemlich irrelevant. Auch wenn die Standard Codepage 437 für die USA gedacht ist enthält sie die deutschen Umlaute, und zwar an den Positionen, wo die meiste zeitgenössische Software sie erwarten. Vorausgesetzt, sie kennen überhaupt den IBM-Zeichensatz.


    Nach meiner Erfahrung und Einschätzung brauchen wir deshalb die Codepage 850 im Normalfall nicht, und damit auch kein Umschalten.


    Zurück zum RX-80: der besitzt einen "grafischen" Zeichensatz - auf den ersten Blick sieht das für mich wie der IBM-Zeichensatz aus (der im oberen Bereich ja die ganzen Grafikzeichen hat) . Ich habe jetzt auf die Schnelle leider nicht gefunden, wie man den aktiviert.

  • Nach meiner Erfahrung und Einschätzung brauchen wir deshalb die Codepage 850 im Normalfall nicht, und damit auch kein Umschalten.

    Ich habe auch nie verstanden, wofür die Codepage 850 gut sein soll.

    Braucht nur Speicher nd macht den Norton Commander unansehlich.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Zum Thema Codepage 850 zeigt der entsprechende Eintrag in der Wikipedia sehr übersichtlich die Unterschiede zur CP 437 - und es wird sehr offensichtlich, dass wir das in aller Regel nicht benötigen.


    Zum RX-80 habe ich jetzt auch den passenden Absatz gefunden:


    forum.classic-computing.de/index.php?attachment/31157/


    Da ist der explizite Hinweis auf die DOS-Kompatibilität als auch der Verweis auf den passenden DIP-Schalter. Dafür gibt es auch einen Software-Befehl: 0x1B 0x74 0x01


    Dummerweise nennen die das den "grafischen Zeichensatz" - entweder war der Begriff der DOS-Kompatibilität damals noch nicht ausreichend verbreitet, oder die haben es bewusst vermieden.

    (Ich kenne das von meiner Lieblingsfirma: Wang lag jahrelang mit IBM im Clinch und als sich die IBM-PCs und Clones begannen durchzusetzen sah man sich gezwungen, auch den eigenen, "besseren" 8-) PCs eine kompatiblen Modus beizubringen. Dabei vermied man aber tunlichst den Begriff IBM, sondern versteckte es hinter Begriffen wie "Industriestandard". Ich glaube, sowas gab es öfters ...)

  • Ergänzende Info: Alte Anwendungsprogramme unter DOS aus der Zeit kamen sehr oft mit Druckertreiber-Disketten daher ... da sind teilweise > 50 verschiedene .bin / .cfg etc. pp. Treiberfiles drauf ... auch für mehrere alte, unterschiedliche EPSON Modelle.

  • Komisch, ich sehe das im Original und in Deinem Zitat...


    Hier nochmal:



    "This (character) set allows you to take advantage of the power of the Epson mode commands and still print out the character graphics used by IBM and compatible computers and by much commercial software."