home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boink! 1995 May/June
/
Image.bin
/
df_
/
mailbox
/
terminat
/
t_local.exe
/
rar
/
COMMUNIC.HLP
< prev
next >
Wrap
Text File
|
1994-12-07
|
17KB
|
354 lines
^m╒══════════════════════╤═══════════════════════════╡^t Communications setup ^m╞╕
│ ^nDevice name ^m│ ^nDevice Port Baud Com Address Irq Vector ^m│
├──────────────────────┼───────────────────────────────────────────────────┤
│^r Async Modem COM1 ^m│ ^h8250A/16450 1 19200 8N1 $03F8 04 0C ^m│
│^b■^hAsync Modem COM2 ^m│ ^h16550A FIFO 2 19200 8N1 $02F8 03 0B ^m│
│ ^hAsync Modem COM3 ^m│ ^hNo UART 3 19200 8N1 $03E8 04 0C ^m│
│ ^hAsync Modem COM4 ^m│ ^hNo UART 4 19200 8N1 $02E8 03 0B ^m│
│ ^hInterrupt 14h ^m│ ^hInterrupt 14h 1 9600 8N1 ^m│
│ ^hISDN ^m│ ^hFossil 1 64000 8N1 ^m│
│ ^hFossil ^m│ ^hFossil 1 38400 8N1 ^m│
│ ^h ^m│ ^h ^m│
│ ^h ^m│ ^h ^m│
│ ^h ^m│ ^h ^m│
├──────────────────────┼───────────────────────────────────────────────────┤
│ ^nConfigure comports ^m│ ^nAsync Professional ^m│
│ ^nCheck IRQ ^m│ ^n■ = Default device ^m│
│ ^nSet default values ^m│ ^m│
│ ^nAuto installation ^m│ ^m│
╘══════════════════════╧═══════════════════════════════════════════════════╛^n
Weil das Einstellen des seriellen Ports eines der wichtigsten Dinge in
einem Terminalprogramm ist, solltest Du die folgenden Regeln beachten:
^hMaximum baud rates^n
Maximale Baudraten:
4.77 Mhz PC (8088) 9600 bps
8 Mhz PC (8088) 19200 bps
8 Mhz PC (286) 57600 bps
16 Mhz PC (386) 115200 bps
^hWhen to use a fast 16550A serialchip with FIFO buffer^n
Du brauchst serielle 16550A UART-Chips für eine fehlerfreie Verbindung,
wenn Du mit folgenden Komponenten arbeitest:
8 MHz PC (8088); jegliche Art von Multitaskern wie OS/2, Windows,
DESQview u.a.; Modem, daß mit einem Netzwerk verbunden ist. Es kommt
nicht darauf an, wie schnell Dein System ist - mein 486DX2-66 meldet
Fehler, wenn kein FIFO Puffer vorhanden ist. Das passiert selbst bei
38400 Baud. Wenn Du Probleme mit der Datenuebertragung hast, setze die
Geschwindigkeit auf 19200 und teste, ob es dann funktioniert.
Der 16550A UART Chip bietet einen kleinen 16 Byte FIFO-Buffer. Das
bedeutet, daß der Chip nicht bei jedem eintreffenden Zeichen einen
Interrupt ausführen muß. Die meisten PCs werden mit den alten 8250 oder
16450 Chips ausgeliefert. Wenn Du oft CRC-Errors erhältst, solltest Du Dich
nach einer neuen Karte umsehen. Bezugsquellen nennen wir oder unsere
Registration Sites gerne. Alle guten internen High Speed-Modems haben
inzwischen den 16550A UART eingebaut.
Andere interne Modems solltest Du heute nicht mehr kaufen.
^hDevice setup^n
^m╒════════════════════════════════════╤═════════════════════╡^t Device setup ^m╞╕
│^r Serial interface ^m│ ^hUART/Serial ^m│
│ ^nComport ^m│ ^h1 ^m│
│ ^nDevice name ^m│ ^hAsync Modem COM1 ^m│
│ ^nBaudrate ^m│ ^h19200 ^m│
│ ^nLock port ^m│ ^hYes ^m│
│ ^nDatabits / Stopbits / Parity ^m│ ^h8,1,N ^m│
│ ^nPhonebook ^m│ ^hTERMINAT^n.FON ^m│
│ ^nCostfile ^m│ ^hTERMINAT.CST ^m│
│ ^nReceive buffer size ^m│ ^h2048 ^m│
│ ^nTransmit buffer size ^m│ ^h4096 ^m│
│ ^nSoftware flow control (Xon/Xoff) ^m│ ^hOff ^m│
│ ^nHardware flow control (CTS/RTS) ^m│ ^hOn ^m│
│ ^nHardware flow control (DSR/DTR) ^m│ ^hOff ^m│
│ ^nUse 16550 fifo if available ^m│ ^h14 ^m│
│ ^nKeep 16550 fifo on in shell ^m│ ^hNo ^m│
│ ^nRTS low while writing ^m│ ^hNo ^m│
│ ^nAuto RTS low trigger ^m│ ^h2 ^m│
│ ^nCarrier detect mask ^m│ ^h128 ^m│
│ ^nInit string ^m│ ^hATZ^M ^m│
│ ^nRestore port on close ^m│ ^hNo ^m│
│ ^nClose port in shell ^m│ ^hNo ^m│
╘════════════════════════════════════╧═════════════════════════════════════╛^n
^hSerial interface^n
Terminate unterstützt 4 verschiedene Interfaces.
^hUART/Serial ^nDirect serial chips
^hInterrupt 14h ^nVia BIOS int 14h max 9600 baud
^hFossil ^nResident serial devices, wie X00/BNU
oder ISDN fossil devices.
^hDigiboard ^nsehr schneller intelligenter Multiport-Adapter
^hComport^n
Welcher Comport soll benutzt werden? COM1 bis 8 stehen zur Wahl.
^hDevice name^n
Hier kannst Du einen Namen festlegen. Der Name Deines Modems wäre z.B.
sinnvoll: "Spirit II 19200 8N1" oder was für eine Marke Du auch immer
verwendest.
^hBaudrate^n
Die Baudrate, die für dieses Gerät standardmäßig eingesetzt werden
soll.
Wenn die von Dir gewünschte Baudrate nicht in der Liste aufgeführt
wird, kannst Du sie mit D definieren.
^hLock port^n
Wenn Du ein High Speed-Modem benutzt (bps gleich oder größer 9600),
sollte lock port immer aktiviert sein.
^hDatabits / Stopbits / Parity^n
^hDatabits^n
Ein Datenbyte kann aus 5, 6, 7 oder 8 Bits bestehen. Die meisten
Anwendungen arbeiten mit sieben oder 8-Bit-Bytes, da die meisten
übertragenen Daten in 8-Bit Bytes ausgedrückt wird (Texte sind ab uns
zu nur mit 7-Bits definiert).
Zeitintensive Systeme wie z.B. CompuServe arbeiten mit 7-Daten-Bits,
weil sie zur Textdarstellung ausreichen. Wenn Du nun binäre Daten
übertragen willst, wirst Du auf 8-Daten-Bits umstellen.
Wenn Du für verschiedene Systeme 8N1 und 7E1 benutzst, mußt Du zwei
verschiedene Geräte definieren und das dazu passende im Telefonbuch
zuordnen.
Beide Geräte sehen ansonsten gleich aus. So könnten sie bezeichnet
werden:
Device 1:^hMODEM COM2 2400 8N1^n Device 2:^hMODEM COM2 2400 7E1^n
^hStopbits^n
Im Datenfluß folgen die Stop-Bits den Daten-Bits. Der Wert für die
Stop-Bits ist entweder 1 oder 2. Im allgemeinen benutzt man 1
Stop-Bit.
^hParity^n
Damit bezeichnet man ein Prüfsummensystem. Alle Bits in einem
Datenbyte werden zusammengezählt. Ein Paritäts-Bit wird am Ende
addiert, das angibt, ob die Prüfsumme - je nach Definition - entweder
gerade oder ungerade sein muß.
Stimmt diese vom ersten System errechnete und gesendete Information
mit der vom zweiten System empfangenen überein, wir davon ausgegangen,
daß kein Übertragungsfehler vorliegt. Ansonsten werden die Modems
davon ausgehen, daß ein Fehler aufgetreten ist. Folgende Einstellungen
sind möglich:
^hNone ^nKein Parity-Bit (Standard)
^hEven ^nA Paritäts-Bit wird addiert, gerade Prüfsumme
^hOdd ^nA Paritäts-Bit wird addiert, ungerade Prüfsumme
^hMark ^nA es wird immer eine 1 addiert
^hSpace ^nA es wird immer eine 0 addiert.
^hPhonebook^n
Wenn dieses Geraet ausgewaehlt ist, verwendet Terminate das
entsprechende Telefonbuch. Diese Funktion wird nur beim Aufruf von
Terminate aktiviert.
^hCostfile^n
Auswahl der Kostendatei zur Kostenberechnung
^hReceive buffer size^n ^hTransmit buffer size^n
Die Größe des internen Buffers, den Terminate verwenden soll. Diese
Einstellung ist nur bei einem Interface mit Buffer wirksam und wird
ansonsten ignoriert. Nur Schnittstellenbausteine mit UARTs sind
gebuffert. Ändere diese Werte NICHT, wenn Du nicht ganz sicher bist,
daß Du weißt, was Du tust!
^hSoftware flow control (Xon/Xoff)^n
Diese Option kontrolliert die automatische Software-Flußkontrolle.
(Receive flow control - Terminate weist das andere System an, die
Übertragung anzuhalten; Transmit flow control - Terminates Antwort auf
die Anweisung des anderen Systems, die Übertragung anzuhalten, weil
der Input Puffer voll ist. Immer, wenn derInput Puffer zu mehr als 75
% gefüllt ist, wird ein Xoff (#19)-Zeichen an das andere System
geschickt. Das andere System erkennt das Xoff und hält die Übertragung
an. Sinkt der Bufferinhalt unter 75 %, sendet Terminate ein Xon (# 17)
und die Übertragung wird fortgesetzt.)
^hHardware flow control (CTS/RTS)^n
Wenn möglich, ist Hardware Flußkontrolle vorzuziehen, weil sie
schneller und viel sicherer ist. Hardware-Flußkontrolle funktioniert,
indem eine Modemleitung unterbrochen und wieder übernommen wird.
Zunächst mußt Du Dein Modem auf CTS/RTS Hardware Flußkontrolle
einstellen. CTS bedeutet Clear-To-Send, so daß die CTS-Leitung
aufgeschaltet sein muß (mit einem brennendem CTS-Led am Modem), bevor
ihm irgend etwas gesendet wird. Wenn der Receive Puffer zu mehr als
90% gefüllt ist, wird die RTS (Request-To-Send) Leitung unterbrochen,
so daß das andere Modem nichts mehr senden wird, bis der Puffer wieder
zu weniger als 90% gefüllt ist.
^hHardware flow control (DSR/DTR)^n
Einige wenige Modems benutzen statt CTS auch DSR (Data-Set-Ready) und
DTR (Data-Terminal-Ready) oder beides zusammen. DSR wird auf
Modem-Displays zuweilen auch mit MR (Modem-Ready) bezeichnet.
^hUse 16550 fifo if available^n
Prüft, ob ein 16550A im seriellen Chip vorhanden ist; benutzt in
diesem Fall seinen FIFO Puffer. Windows kann diesen Puffer
standardmäßig nicht verwenden.
^hKeep 16550 fifo on in shell^n
Wenn ein externes Programm aufgerufen oder Terminate verlassen wird,
wird der FIFO Buffer normalerweise ausgeschaltet. Einige Utilities
können den 16550A-Chip nicht erkennen oder unterstützen FIFO nicht.
Dieser Punkt sollte am besten abgeschaltet werden (No), um es externen
Programmen zu überlassen, ob sie den Chip erkennen und nutzen können.
^hRTS low while writing^n
Wenn kein 16550A Chip vorhanden ist und vermehrt Fehler auftreten,
kannst Du hiermit versuchsweise RTS während des Schreibens abschalten.
Terminate empfängt dann keine Daten, solange es Protokoll-Blocks auf
Disk schreibt. Das verlangsamt die Übertragung ein wenig, ist aber
sicherer und verhindert plötzliche Aufhänger.
^hAuto RTS low trigger^n
Wenn mehr als X Fehler auftreten, kann eine automatische RTS Low
Funktion eingeleitet werden. Damit wird die RTS Leitung nur dann
verwendet, wenn es wirklich nötig ist, während ansonsten maximale
Übertragungsraten erzielt werden.
^hCarrier detect mask^n
Welches Bit soll prüfen, ob ein Übertragungssignal vorliegt?
Standardeinstellung ist Bit 7 (128). Die Einstellung braucht im
allgemeinen nicht verändert zu werden.
^hInit string^n
Welcher Initialisierungsstring soll an das Modem geschickt werden,
nachdem das Gerät gewechselt worden ist und vor dem Wählen. Diese
Zeichenfolge wird dem Modem auch beim Programmstart gesendet, wenn es
das aktive Gerät ist.
^hRestore port on close^n
Du kannst hiermit den Port wiederherstellen, der von Terminate
geschlossen wurde. Wenn aber "Terminal Ready" beim Aufruf abgeschaltet
war, kann es zu Abstürzen kommen, wenn externe Programme gestartet
werden. Verändere diese Einstellung nur, wenn Du genau mit dieser
Funktion umzugehen verstehst.
^hClose port in shell^n
Im Normalfall gibt es keine Veranlassung, die Ports zu schließen, wenn
man sich in einer DOS-Shell befindet. Manche externen Protokolle
könnten dies jedoch erfordern. Man erspart sich ein wenig
Auslagerungsspeicher, aber es könnten Probleme bei der Verwendung von
Fossil/ISDN auftreten.
^hConfigure comports^n
^m╒═══════╡^t Configure comports ^m╞╕
│^n Address Irq Vector ^m│
├──────┬──────────────────────┤
│ ^nCOM1 ^m│ ^h$03F8 04 0C ^m│
│^r COM2 ^m│ ^h$02F8 03 0B ^m│
│ ^nCOM3 ^m│ ^h$03E8 04 0C ^m│
│ ^nCOM4 ^m│ ^h$02E8 03 0B ^m│
│ ^nCOM5 ^m│ ^h$4220 03 0B ^m│
│ ^nCOM6 ^m│ ^h$4228 03 0B ^m│
│ ^nCOM7 ^m│ ^h$5220 03 0B ^m│
│ ^nCOM8 ^m│ ^h$5228 03 0B ^m│
╘══════╧══════════════════════╛^n
Wenn Du das UART / serielle Interface benutzt, kannst Du die
I/O-Adresse des aktuellen Ports, den Hardware-IRQ und den
Software-Interrupt ändern.
Änderungen sind hier nicht nötig; wenn Du dennoch welche vornimmst,
mußt Du auf mögliche Hardware-Konflikte achten. Wenn Du ein internes
Modem betreibst und zwei externe Comports, solltest Du immer COM1 für
die Mouse und COM4 für das Modem wählen. Bei COM3 kommst Du in
Konflikt mit IRQ4. Ändere keine Hardware-Jumper oder -Schalter ohne
die Hilfe eines guten Handbuches. Vor einer Änderung solltest Du immer
die Grundeinstellung notieren. Wenn das Modem IRQ5 oder 7 verwenden
kann, könnte es in Konflikt mit anderer Hardware (z.B. Netzwerkkarte
oder Soundblaster) geraten. Wenn Dein internes Modem nicht
funktionieren will, solltest Du fachkundigen Rat einholen. Es ist
Sache Deines Fachhändlers, dafür Sorge zu tragen, daß die Hardware
läuft, die er verkauft. Terminate richtet sich ausschließlich nach
gängigen Standards; wenn Deine Hardware mit den Standardeinstellungen
nicht läuft, liegt es an der Hardware.
Vergiß bitte nie, die Stromzufuhr zu unterbrechen, bevor Du
irgendwelche Eingriffe machst.
Die Vektornummer gibt an, wo der Softwareinterrupt installiert wird.
Diese Nummer sollte immer lauten: IRQ + 8. IRQ>7 = IRQ+$68
IRQ0 , Vector $08 ( 8) Timer
IRQ1 , Vector $09 ( 9) Keyboard
IRQ2 , Vector $0A (10) Bildschirm
IRQ3 , Vector $0B (11) COM2,COM4
IRQ4 , Vector $0C (12) COM1,COM3
IRQ5 , Vector $0D (13) Frei
IRQ6 , Vector $0E (14) Floppy
IRQ7 , Vector $0F (15) Frei
IRQ8 , Vector $70 (112)
IRQ9 , Vector $71 (113)
IRQ10, Vector $72 (114)
IRQ11, Vector $73 (115)
IRQ12, Vector $74 (116)
IRQ13, Vector $75 (117)
IRQ14, Vector $76 (118)
IRQ15, Vector $77 (119)
Das sind die Standardwerte eines normalen Rechners. Das ist zu
berücksichtigen, wenn Dein internes Modem über die Möglichkeit
verfügt, den IRQ in 5 oder 7 zu verändern. Solltest Du IRQ0, IRQ1 oder
IRQ6 ausprobieren, könntest Du in ernste Schwierigkeiten geraten und
Dein System abstürzen lassen.
^hCheck IRQ^n
^m╒══════════════════════════════════════════════╡^t Check IRQ ^m╞╕
│ ^nFound COM1, $03F8, testing...uses IRQ 4 ^m│
│ ^nFound COM2, $02F8, testing...uses IRQ 3 ^m│
│ ^nFound COM3, $03E8, testing...uses IRQ 4 ^m│
│ ^nFound COM4, $02E8, testing...uses IRQ 5 ^m│
│ ^nNo chip COM5, $4220 ^m│
│ ^nNo chip COM6, $4228 ^m│
│ ^nNo chip COM7, $5220 ^m│
│ ^nNo chip COM8, $5228 ^m│
│ ^m│
╘═══════════════════════════════════════════════════════════╛^n
Diese Funktion versucht zu bestimmen, welchen IRQ die Comports
benutzen. Bei manchen Maschinen versagt diese Testroutine; Terminate
funktioniert aber trotzdem, wenn Du den richtigen IRQ angibst.
^hSet default values^n
Damit werden alle Geräte auf Ihre Standardwerte zurückgesetzt. Wenn Du
irgendeinen Fehler machst und nicht mehr weißt an welcher Stelle,
könnte Dir diese Funktion helfen.
^hAuto installation^n
Diese Funktion findet IRQ's an Anschlüssen, findet von selbst heraus,
an welcher Schnittstelle Dein Modem angeschlossen ist. Außerdem wird
die maximale Baudrate für das Gerät getestet sowie auch geeignete
Initialisierungs-Strings gewählt werden.