Nach dem Aussterben der Drucker mit paralleler Schnittstelle war das direkte Drucken mit der KC-Technik mehr oder weniger erledigt. Mit dem nachfolgend beschriebenen Programm kann man unter CP/M Wordstar-Druckdateien per Netzwerk auf geeigneten modernen Druckern mit bzw. am "JetDirect"-Druckserver ausdrucken.
Die Idee und erste Versuche stammen bereits aus dem Jahr 2010. In letzter Zeit wurde nun Stück für Stück ein fertiges Programm für CP/M daraus, mit dem ich wieder wie früher (mit einem kleinen Umweg) Text direkt auf meinem Netzwerkdrucker "EPSON Stylus SX510W" ausdrucken kann.
NPRINT Hilfe und Druckvorgang
Beschreibung
Mit diesem Programm kann man Druckdaten von der CP/M-Kommandozeile über ein TCP/IP-Netzwerk an sogenannte Druckserver schicken. Einen Druckserver kann man sich als Drucker mit eingebauter Netzwerkkarte vorstellen. Im Gegensatz zum universell einsetzbaren Netzwerk-PC realisiert ein Druckserver ausschliesslich Funktionen bzw. Dienste für das Ausführen von Druckaufträgen anderer Netzwerkteilnehmer.
NPRINT verwendet das proprietäre "JetDirect"-Druckprotokoll, auch bekannt unter der Bezeichnung "direct socket printing" bzw. "direct ip printing". Dieses Protokoll wurde 1991 von Hewlett-Packard mit ihren Druckserver Hardware-Karten eingeführt, welche in geeigneten HP Druckern mit kompatiblem I/O-Schacht installiert wurden. Heute ist das "JetDirect"-Druckprotokoll weit verbreitet und wird durch viele verschiedene Varianten von Druckservern praktisch unterstützt, siehe Abschnitt Druckserver.
Der Druckclient ist in der Lage, sich mit "JetDirect"-Druckservern im Netzwerk auf beliebigen Portnummern zwischen 1 und 65535 zu verbinden, die Standardeinstellung des Ports 9100 für den Server wird automatisch verwendet.
Das Programm sendet die Rohdaten für den Drucker aus Druckdateien per Kommandozeile an den Server. Solche Druckdateien kann man mit Hilfe von Wordstar aus den entsprechenden Dokumenten erzeugen. Optional lassen sich innerhalb der Kommandozeile beliebige Druckkodes angeben, welche direkt an den Server geschickt werden. Damit kann man den am Server angeschlossenen Drucker steuern oder auch bequem ohne Datei die Unterstützung des Druckers für diverse Drucker- bzw. Zeichenkodes testen.
NPRINT benutzt für die Übertragung von Daten das "Internet Transmission Control Protocol" (TCP- bzw. Stream-Protokoll). Genauso wie mit allen anderen Internet Protokollen werden die Datenbytes mit 8 Bit übertragen.
"HP JetDirect" ist das einfachste Protokoll für den Netzwerkdruck und daher für CP/M optimal geeignet. Der Druckserver lauscht standardmässig am Port 9100. Um ein Dokument zu senden, verbindet sich der Druckclient mit dem Serverport 9100 und sendet die aufbereiteten Dokumentdaten in einer Sprache, welche der angeschlossene Drucker versteht. Dadurch benötigt man, genauso wie früher, auch im Netzwerk einen geeigneten Drucker, welcher beispielsweise "Epson ESC/P" oder "IBM Proprinter" versteht und in Wordstar entsprechend installiert bzw. eingestellt ist, um entsprechende Druckdateien ausgeben zu können.
Das Netzwerk übernimmt nur die Funktion des Druckerkabels und transportiert die Daten zum Drucker. Ein entscheidender Vorteil des Druckservers gegenüber dem "Druckerkabel" besteht aber darin, dass er auch die lokale Anschlusskonvertierung übernehmen kann. Hinter dem Netzwerk ist es vollkommen egal, ob ein Drucker seriell, parallel oder per USB am Server angeschlossen ist.
Durch die Einfachheit des Druckprotokolls gibt es keine weiteren Funktionalitäten, wie zum Beispiel Warteschlangen für Druckaufträge. Man kann Druckaufträge auch nicht abbrechen oder beispielsweise den Status des Druckers, der Tinte oder des Toners abfragen. Die Verbindung wird aufgebaut, die Daten werden versendet und die Verbindung wieder geschlossen.
Syntax
nprint [-h|v]|[-rg] server[:port] [>code< ...]|[[DIR|DU:]FN.FT ...]
Optionen: |
-h|v |
- |
Hilfe oder Version anzeigen und beenden |
-r | - |
Bit 7 (achtes Bit) von Druckdatei-Daten zurücksetzen |
|
|
-g |
- |
deutsche Umwandlung von Druckdatei-Daten |
|
server |
- |
Name oder IP-Adresse des Druckservers |
|
port |
- |
TCP-Port des Druckservers (Standard: 9100) |
Daten: |
|
in beliebiger Anzahl und Reihenfolge | |
|
FN.FT |
- |
Druckdatei(en) |
|
Bytecode |
- |
Druckkode(s) |
|
Steuerzeichen |
: |
z.B. ESC (siehe Kodeliste unten) |
|
ASCII-Zeichen |
: |
! bis ` (33 ... 96) |
|
|
|
{ to ~ (123 ... 126) |
|
Dezimalkode |
: |
mindestens 2 oder 3 Ziffern (00 ... 255) |
Wenn das Programm unter NZCOM verwendet wird, kann man die Namen von benannten Verzeichnissen statt der sonst üblichen Laufwerk+User Spezifikation unter CP/M benutzen. Die Reihenfolge der Optionen ist nicht beliebig. Zuerst müssen alle gewünschten "-" Parameter und dann der Druckserver mit optionaler Portangabe eingegeben werden. Anschliessend folgen in beliebiger Reihenfolge und Anzahl die Druckdaten als Druckdatei(en) bzw. Druckkode(s).
Druckdatei
Wie der Name schon sagt, sendet das Programm Druckdaten aus einer sog. Druckdatei an den Druckserver. Derartige Dateien kann man mit der CP/M Standard-Textverarbeitung Wordstar (alias TPKC) erzeugen, indem man die Ausgabe des Druckbefehles in eine Datei umleiten lässt. Man druckt dann nicht direkt auf den lokalen Drucker, sondern indirekt in die Druckdatei.
Nach dem Aufruf des Druckbefehles P beantwortet man die folgende Abfrage nach der "Druck-Ausgabe auf eine Datei ?" mit JA bzw. YES. Dann wird der Name der Druckdatei angefordert, welchen man in der Kommandozeile von NPRINT als Parameter FN.FT angibt.
Für den oder die verwendeten Netzwerkdrucker wird immer eine geeignete Wordstar-Installation benötigt. Wenn Wordstar ein Dokument in die Druckdatei ausgibt, werden u.a. die Punkt-Kommandos der Textverarbeitung in die installierten Druckerkodes umgewandelt, wie z.B. ESC/P. Man darf daher im Dokument nur solche Kommandos verwenden, welche der Netzwerkdrucker versteht. Das lässt sich mit einem entsprechenden Testdokument oder auch mit NPRINT direkt in der Kommandozeile über die Eingabe von Druckkodes (s.u.) testen.
Der Netzwerkdrucker muss natürlich den Textdruck auch noch unterstützen, was aber selbst mit moderneren Druckern der bekannten Hersteller gegeben ist. Auch heutige Software, vor allem im geschäftlichen Umfeld, gibt immer noch Daten im Textdruck aus, weil es einfach und schnell funktioniert. Nicht geeignet sind natürlich von Hause aus die reinen Grafikdrucker, welche beispielsweise nur GDI-Daten o.ä. verstehen.
Wordstar verwendet das achte Bit der Zeichencodes im Text von Dokumenten für interne Zwecke. Da CP/M (bis zu Version 2.x) und alte Drucker nur 7 Bit für die Zeichenkodierung von Text verwenden, war das kein Problem zu dieser Zeit. Moderne Drucker unterstützen aber normalerweise im Textdruck für die Zeichenkodierung immer 8 Bit. Falls Wordstar nun im Text des Dokuments das achte Bit für interne Zwecke setzt, druckt ein moderner Drucker dann die falschen Zeichen aus seinem 8 Bit Zeichensatz.
Früher wurden nationale Sonderzeichen, wie z.B. deutsche Umlaute, mit der Hilfe von nationalen Varianten von ISO/IEC 646 mit 7 Bit Zeichenkodierung umgesetzt. Moderne Drucker unterstützen aber derartige Zeichenkodierungen im Textdruck nicht mehr, da ausschließlich 8 Bit Zeichensätze unterstützt werden. Die alten nationalen Zeichenkodes von ISO/IEC 646 müssen daher in die 8 Bit Zeichenkodes des Zeichensatzes im Drucker konvertiert werden, welchen dieser im Textdruck unterstützt. Das ist meistens die Code Page 437, welche von IBM PC's und MS-DOS verwendet wird, auch bekannt als US DOS oder OEM-US.
NPRINT kann beide der genannten Probleme des Ausdrucks von alten Wordstar Dokumenten auf moderneren Druckern lösen, indem die nachfolgend beschriebenen Optionen entsprechend benutzt werden.
Option -r (achtes Bit der Druckdatei-Daten zurücksetzen)
Mit dieser Option liest der Druckclient ein Byte aus der angegebenen Druckdatei und setzt das achte Bit auf 0 bevor er das Byte an den Druckserver sendet. Dadurch wird der korrekte Ausdruck von Wordstar Dokumenten mit 7 Bit Zeichenkodierung und intern gesetztem achten Bit auf modernen Druckern mit 8 Bit Zeichensatz ermöglicht.
Option -g (Konvertierung von deutschen Druckdateien)
Mit Hilfe dieser Option konvertiert der Druckclient ein Byte aus der Druckdatei entsprechend der folgenden Tabelle. Wenn Option -r auch angegeben wurde, wird erst -r und dann -g ausgeführt:
ISO 646-IRV | to |
IBM-PC CP437 (German) |
||||
[ | 91 | 05BH | -> | Ä | 142 | 08EH |
\ | 92 | 05CH | -> | Ö | 153 | 099H |
] | 93 | 05DH | -> | Ü | 154 | 09AH |
{ | 123 | 07BH | -> | ä | 132 | 084H |
| | 124 | 07CH | -> | ö | 148 | 094H |
} | 125 | 07DH | -> | ü | 129 | 081H |
~ | 126 | 07EH | -> | ß | 225 | 0E1H |
Dadurch kann man deutsche Umlaute in Wordstar Dokumenten drucken, welche mit der deutschen Variante des 7 Bit ASCII Zeichensatzes von ISO 646 kodiert wurden. Alle Umlaute werden in ihr Äquivalent des 8 Bit IBM-PC OEM Zeichensatzes konvertiert. Man muss vor dem Druck allerdings wissen, in welcher Kodierung das auszudruckende Dokument erstellt wurde. War es deutscher Text mit Umlauten, gibt man -g an. War es kein deutscher Text, gibt man -g nicht an, damit die originalen US Zeichen der entsprechenden Zeichenkodes richtig ausgedruckt werden können.
Druckkodes
Zusätzlich zu Druckdateien kann das Programm sog. Druckkodes zum Druckserver schicken. Der Haupteinsatzzweck von Druckkodes besteht darin, einfach und bequem Steuerzeichen bzw. nicht druckbare Zeichen zum Druckserver senden zu können. Druckkodes werden Byte für Byte direkt in der CP/M Kommandozeile eingegeben. Das ist immer dann möglich, wenn das Programm gerade keine Daten aus einer Druckdatei sendet, also vor, zwischen oder nach der Angabe einer Druckdatei in der Kommandozeile.
Es gibt drei verschiedene Eingabe-Varianten, um Druckkodes in der Kommandozeile anzugeben, welche nachfolgend beschrieben werden.
Steuerzeichen
Ein Steuerzeichen ist ein Druckkode, welcher über die Angabe seiner Textbeschreibung mit mindestens 2 oder mehr Buchstaben eingegeben wird. Erlaubt sind alle Druckkodes der folgenden Tabelle, wobei der Text in Spalte "Druckkode" eingegeben werden muss und der Kode in der Spalte "dezimaler Wert" an den Druckserver gesendet wird.
Druckkode |
dezimaler Wert | Beschreibung |
NUL | 0 |
Null character |
SOH |
1 | Start of heading |
STX | 2 |
Start of text |
ETX |
3 |
End of text |
EOT |
4 |
End of transmission |
ENQ |
5 |
Enquiry |
ACK |
6 |
Acknowledgment |
BEL |
7 |
Audible bell |
BS |
8 |
Backspace |
HT |
9 |
Horizontal tab |
LF |
10 |
Line feed |
VT |
11 |
Vertical tab |
FF |
12 |
Form feed |
CR |
13 |
Carriage return |
SO |
14 |
Shift out |
SI |
15 |
Shift in |
DLE |
16 |
Data link escape |
DC1 |
17 |
Device control 1 |
DC2 |
18 |
Device control 2 |
DC3 |
19 |
Device control 3 |
DC4 |
20 |
Device control 4 |
NAK |
21 |
Negative acknowledgment |
SYN |
22 |
Synchronous idle |
ETB |
23 |
End of transmission block |
CAN |
24 |
Cancel |
EM |
25 |
End of medium |
SUB |
26 |
Substitute character |
ESC |
27 |
Escape |
FS |
28 |
File separator |
GS |
29 |
Group separator |
RS |
30 |
Record separator |
US |
31 |
Unit separator |
SP |
32 |
White space |
DEL |
127 |
Delete |
ASCII-Zeichen
Das sind alle druckbaren ASCII-Zeichen, welche als einzelnes Zeichen direkt in der CP/M Kommandozeile eingegeben werden können. Die Eingabe eines Druckkodes als ASCII-Zeichen bewirkt das Senden des entsprechenden Kodes in der Spalte "dezimaler Wert".
Druckkode |
dezimaler Wert |
Beschreibung |
! " # $ % & ' ( ) * + , - . / |
33 bis 47 |
Sonderzeichen |
0 bis 9 |
48 bis 57 |
Ziffern |
: ; ‹ = › ? @ |
58 bis 64 |
Sonderzeichen |
A bis Z |
65 bis 90 |
Großbuchstaben |
[ \ ] ^ _ ` | 91 bis 96 |
Sonderzeichen |
{ | } ~ | 123 bis 126 | Sonderzeichen |
Da CP/M alle in der Kommandozeile eingegebenen Kleinbuchstaben in Großbuchstaben konvertiert, kann man durch die Eingabe von Kleinbuchstaben keine Kodes von Kleinbuchstaben an den Druckserver senden. Um den Kode eines Kleinbuchstaben zu schicken, muss man den entsprechenden Dezimalkode zwischen 97 und 122 direkt eingeben, siehe Variante Dezimalkode.
Dezimalkode
Ein Druckkode als Dezimalkode muss immer mit mindestens 2 oder 3 Ziffern angegeben werden! Eingegebene Dezimalkodes werden unverändert an den Druckserver gesendet. Mit der Hilfe von Dezimalkodes ist es möglich, von der CP/M Kommandozeile aus, den Kode von Kleinbuchstaben (97 bis 122) an einen Druckserver zu schicken, siehe auch Variante ASCII-Zeichen.
Druckserver
Ein Druckserver oder auch Druckerserver ist ein Netzwerkgerät bzw. Netzwerkteilnehmer, welcher Client Computer mit Druckern über ein Netzwerk verbindet. Es nimmt die Daten von Druckaufträgen entgegen, welche von den Client Computern gesendet werden und leitet sie an den bzw. die angeschlossenen Drucker weiter.
Druckserver können parallel eine Vielfalt von standardisierten oder proprietären Druckprotokollen unterstützen, wie z.B. das "Internet Printing Protocol" (IPP), "Line Printer Daemon protocol" (LPD), CUPS, SMB oder CIFS.
NPRINT erfordert einen Druckserver, welcher das proprietäre "JetDirect" oder "direct socket printing" Protokoll zur Verfügung stellt. Alle anderen Protokolle für den Netzwerkdruck per Druckserver werden vom Programm nicht unterstützt.
Ein Druckserver kann mit Hilfe von Software, Hardware oder einer Kombination aus beiden bereitgestellt werden. Nachfolgend werden einige bekannte Varianten von praktisch eingesetzten "JetDirect"-Druckservern kurz beschrieben.
intern
Ein interner Druckserver ist bzw. wird in den Drucker selbst eingebaut. Die bekannten "HP JetDirect"-Adapter gibt es beispielsweise als optionales Drucker-Zubehör für HP-Drucker. Der interne Druckserver arbeitet autonom ohne zusätzliche externe Software und ohne zusätzlichen PC. Er erlaubt den ständigen Zugriff auf den Drucker über das Netzwerk mit Hilfe der implementierten Druckserver-Protokolle. Jeder Drucker mit LAN- oder WLAN-Netzwerkanschluss enthält auch einen internen Druckserver. Das "JetDirect"-Protokoll wird nahezu immer durch interne Druckserver unterstützt, da es sich einfach umsetzen lässt.
"HP JetDirect" Druckserver-Adapter für HP Drucker | Drucker mit LAN-Anschluss |
extern
Als Alternative zu internen gibt es externe Druckserver als eigenständige Geräte in einem separaten Gehäuse. Sie werden beispielsweise eingesetzt, um Drucker ohne Netzwerkanschluss nachträglich in das Netzwerk einzubinden, so dass alle Netzwerkteilnehmer darauf zugreifen können. Externe Druckserver verfügen immer über einen Anschluss an das Netzwerk und einen bzw. mehrere Anschlüsse für die anzuschliessenden Drucker.
Die bekanntesten Beispiele sind die externen "HP JetDirect"-Druckserver, welche die parallele Schnittstelle von Druckern an die Netzwerkschnittstelle des Druckservers ankoppeln. Je nach Modell des Druckservers können so bis zu 3 Drucker gleichzeitig mit dem Netzwerk verbunden werden.
Heute sind verschiedene Varianten von externen Druckservern von vielen unterschiedlichen Herstellern verfügbar. Es gibt Modelle mit LAN- oder WLAN-Anschluss an das Netzwerk und die Verbindung mit Druckern, welche über ein serielles, paralleles oder USB-Interface verfügen. Auch externe Druckserver arbeiten autonom ohne zusätzliche Unterstützung von Software oder PC. Externe Druckserver für das Heimnetzwerk sind mittlerweile sehr preiswert und unterstützen i.d.R. immer das Drucken per "JetDirect"-Protokoll.
Router
Ein "JetDirect"-Druckserver kann durch zusätzliche Software im Router des Heimnetzwerkes bereitgestellt werden. Da der Router meistens rund um die Uhr läuft, steht der Drucker dann auch permanent zur Verfügung.
Der Drucker wird in der Regel an eine USB-Schnittstelle des Routers angeschlossen. Die Router Software lauscht dann ständig an Port 9100 und leitet eingehende Daten an den USB Drucker weiter. Wenn der Router über diese Funktion verfügt, muss sie normalerweise mit Hilfe der Konfigurations-Oberfläche des Routers erst aktiviert werden.
Alle aktuellen Modelle der AVM Fritz!Box'en können einen USB-Drucker als Netzwerkdrucker einrichten, welcher bei direkter Freigabe, also nicht über den Fernanschluss, per "JetDirect"-Protokoll im Netzwerk verfügbar wird, siehe auch:
Software
Durch zusätzliche Software kann man auch einen netzwerkfähigen PC zum Druckserver erweitern. Die lokal angeschlossenen Drucker sind dann für die anderen Netzwerkteilnehmer als Netzwerkdrucker einsetzbar, solange der PC eingeschaltet ist und die zusätzliche Software läuft. Um einen Windows- bzw. Linux-PC mit den Desktop-Varianten der jeweiligen Betriebssysteme als "JetDirect"-Druckserver zu betreiben, kann man die folgende Software verwenden:
https://sourceforge.net/projects/rawprintserver/
Die Linux-Einbindung habe ich nicht probiert, unter Windows (bis Windows 10 getestet) funktioniert das kleine Programm problemlos. Eine Anleitung für die Installation befindet sich in der ZIP-Datei. Mit den folgenden zusätzlichen Ergänzungen sollte die Inbetriebnahme kein Problem sein:
- die Datei RawPrintServer.exe in das Windows \System32 Verzeichnis kopieren (einmalig)
- die Datei RawPrintServer.exe für private Netzwerke in der Windows-Firewall zulassen (einmalig)
- für die Installation eine Eingabeaufforderung nicht direkt, sondern mit der rechten Maustaste und "Als Administrator ausführen" öffnen
- die INSTALL oder REMOVE Kommandos mit dem exakten Druckernamen laut Systemsteuerung im Bereich "Drucker und Geräte", Abschnitt "Drucker" laut Anleitung ausführen
Im folgenden Screenshot kann man beispielhaft einen ersten Aufruf der Datei RawPrintServer.exe aus C:\ im Windows-Systemverzeichnis sehen. Anschliessend wird der lokale Drucker "SX510W" auf Port 9100 per Systemdienst als "JetDirect"-Drucker bereitgestellt. Danach wird der installierte Systemdienst wieder entfernt:
Mit dieser Software kann man auf alle installierten Windows-Drucker per "JetDirect"-Protokoll über das Netzwerk drucken. Sie funktioniert allerdings nur mit physisch vorhandenen, nicht mit umgeleiteten virtuellen Druckern, wie z.B. PDF-Druckern o.ä.
Druck-Beispiele
Zum Abschluss noch 2 Beispiele für die Verwendung von NPRINT im Heimnetzwerk. Beide Szenarien habe ich in meinem eigenen Netzwerk ausprobiert. Sie lassen sich sinngemäß auf andere Netzwerke, Druckserver und Drucker übertragen.
Netzwerkdrucker
Der Computer mit NPRINT ist online und befindet sich in einem gewöhnlichen Heimnetzwerk. Im Netzwerk ist ein Netzwerkdrucker "Epson Stylus SX510W" verfügbar, welcher per WLAN mit dem Netzwerk verbunden ist. Der "Epson Stylus SX510W" enthält einen internen "JetDirect"-Druckserver, welcher an Port 9100 auf eingehende Druckaufträge wartet.
Der WLAN Netzwerkdrucker besitzt die feste IP-Adresse 192.168.0.100 und kann auch über den DNS-Namen "SX" adressiert werden.
Der Netzwerkdrucker ist mit der Druckersprache "EPSON ESC/P" kompatibel, welche bei der Drucker-Installation von Wordstar (TPKC) für den verwendeten Drucker eingestellt wurde.
Zunächst wird das deutsche Wordstar-Dokument EP4041CP.TXT mit dem Druck-Kommando P von Wordstar ausgedruckt. Nachdem die zweite Abfrage mit JA beantwortet wurde, wird der Name EP4041CP.PRN eingegeben und die Druckdatei mit diesem Namen auf den Datenträger geschrieben.
Abschliessend wird diese PRN-Datei mit dem folgenden Kommando auf dem Netzwerkdrucker "Epson Stylus SX510W" ausgedruckt:
NPRINT -rg SX EP4041CP.PRN FF
Wenn kein DNS im Heimnetzwerk zur Verfügung stehen würde, lautet das Alternativ-Kommando so:
NPRINT -rg 192.168.0.100 EP4041CP.PRN FF
Erläuterung der Parameter:
-r |
- | setzt Bit 7 der Daten aus der Wordstar-Druckdatei zurück |
-g |
- |
konvertiert die deutschen Umlaute in der Wordstar-Druckdatei in den IBM-PC OEM Zeichensatz, welcher vom Netzwerkdrucker im Textdruck verwendet wird |
SX |
- |
der DNS-Name des Druckers im Heimnetzwerk |
EP4041CP.PRN |
- |
Druckdatei |
FF |
- |
Druckkode, welcher nach dem Ausdruck der Druckdatei einen Seitenvorschub am Netzwerkdrucker ausführt |
Kleincomputer-Emulator "JKCEMU" unter Windows
Innerhalb des Emulators muss die KCNet Emulation - beim KC85 das M052 - aktiviert und konfiguriert sein. Anschliessend hat man Zugriff auf den TCP/IP-Stack des Wirtsbetriebssystems.
Wenn der Computer mit NPRINT im Emulator gestartet wird und online ist, befindet er sich zusammen mit dem PC im gleichen TCP/IP-Netzwerk wie der Wirtsrechner. Der PC benötigt nicht unbedingt einen Anschluss an ein physisches Netzwerk, sein TCP/IP-Stack muss aber funktionieren und vom Betriebssystem mit einer IP-Adresse konfiguriert sein.
Mit dem o.g. Software-Druckserver RawPrintServer.exe muss ein unter Windows installierter Drucker als "JetDirect"-Netzwerkdrucker eingerichtet werden.
Der Netzwerkdrucker besitzt dann die gleiche IP-Adresse wie der Windows-PC. Um die muss man sich aber nicht kümmern, da der Druck über die einheitliche lokale Loopback-Adresse 127.0.0.1 abgewickelt werden kann, welche immer funktioniert.
Der Netzwerk- bzw. in diesem Fall der Windows-Drucker muss für die oben verwendete Datei wieder mit der Druckersprache "EPSON ESC/P" kompatibel sein, welche bei der Drucker-Installation von Wordstar (TPKC) eingestellt wurde.
Anschliessend kann man mit NPRINT unter CP/M im Emulator auf den (lokalen) Windows-Drucker über die Loopback-Adresse des Emulator-PC drucken, so wie das oben mit der Druckdatei EP4041CP.PRN beschrieben wurde.
ohne Netzwerk bzw. ohne DNS im Netzwerk:
NPRINT -rg 127.0.0.1 EP4041CP.PRN FF
Wenn der Windows-PC im Heimnetzwerk per DNS zur Verfügung steht, kann der Ausdruck auch über den Computernamen des Wirts-PC durchgeführt werden.
mit DNS im Netzwerk:
NPRINT -rg PC-Computername EP4041CP.PRN FF
Die Parameter sind die gleichen wie oben und können dort nachgelesen werden.
Soviel dann zum interessanten Thema Netzwerkdruck. Die "KCNet"-Pakete mit den Quelltexten und KC85-, GNet-/K1520Net-, sowie GUN-/AC1-Programmen wurden mit dem NPRINT-Programm und seiner Beschreibung aktualisiert und im Downloadbereich zur Verfügung gestellt - viel Spass beim Ausprobieren!