


        ************************************************************
        *                                                          *
        *              FSERIAL.CPX V1.0 Release Notes              *
        *                                                          *
        ************************************************************

                                 Roman Hodek

                               8. Januar 1993






Inhaltsverzeichnis
==================

1) Zweck
2) Bedienung
3) Die FSERIAL-Infos
4) Portabilitt
5) Bugreports
6) History


1) Zweck
========

FSERIAL.CPX ist Bestandteil von FAST_SER von Franz Sirl,  das  CPX  wurde  von
Roman Hodek geschrieben. Es dient zur Konfiguration der seriellen Schnittstel-
len unter Bercksichtigung von FAST_SER.

  FSERIAL.CPX tut im Prinzip dasselbe wie das bekannte  MODEM.CPX  von  Atari,
nur da es eben merkt, wenn FAST_SER installiert ist und entsprechend handelt.
Darberhinaus kann FSERIAL.CPX ein paar Informationen ber die  Schnittstellen
anzeigen und Breaks senden.


2) Bedienung
============

Im Hauptdialog verhlt sich FSERIAL.CPX genauso,  wie man es von einem CPX er-
wartet und wie man es von MODEM.CPX gewohnt ist.  Es haben nur folgende kleine
Anpassungen stattgefunden:

 - Die Anordnung von Datenbits/Paritt/Stopbits wurde umgestellt,  so  da  es
   der gewohnten Reihenfolge von z.B. 8N1 entspricht.

 - Gibt es keine erweiterten Schnittstellen,  so ist das Port-Popup abgeschal-
   tet und fest auf Modem 1.

 - Ist die aktuelle Schnittstelle Serial 1, so ist kein Rts/Cts-Handshake mg-
   lich, da Serial 1 keine solchen Handshake-Leitungen besitzt.

 - Es gibt eine Infozeile,  die die Version des CPX anzeigt  und  ob  FAST_SER
   installiert ist und wenn ja, welche Version.

 - Es gibt einen Button,  um den Kompatibilittsmodus von FAST_SER  ein-  bzw.
   auszuschalten.  Ist dieser Modus an,  so knnen zwei der erweiterten Speeds
   unter den Rsconf()-Indices 0 und  1  angesprochen  werden,[1]  die  "alten"
   Raten verschieben sich dementsprechend um 2 und bei Indices  18 findet man
   alle mglichen neuen Speeds.  Um also z.B.  bei Seriell 2  38400  bps  ein-
   zustellen,  whlt man in einem "nichtwissenden" Programm 9600 bps (=  Index
   1) aus.  Ist die Kompatibilitt ausgeschaltet,  so sind die neuen Geschwin-
   digkeiten nur am Ende zu finden, d.h. sie knnen von Programmen, die nichts
   von FAST_SER wissen,  nicht angesprochen werden. FSERIAL.CPX kommt mit bei-
   den Konventionen zurecht,  allerdings kann es beim Umschalten zwischen bei-
   den Modi zu einem Verstellen der Baudrate kommen.  Man  sollte  also  immer
   zuerst den Kompatib.modus ndern,  "OK" drcken und danach  nocheinmal  die
   bps-Rate kontrollieren.

Beim  Booten  werden  alle  Parameter  inklusive   der   aktuellen   seriellen
Schnittstelle auf die in FSERIAL.CPX gespeicherten Werte  gesetzt.  Bei  jedem
Aufruf werden die Parameter erneut abgefragt,  da sie  ja  von  einem  anderen
Programm verstellt worden sein knnten.  Man kann also  FSERIAL.CPX  auch  zum
Abfragen der aktuellen Einstellungen benutzen.

  Wird der Dialog mit "OK" verlassen, so werden die Parameter fr _alle_ Ports
gesetzt (nicht nur fr den gerade unter "Port" eingestellten).  Ebenso  werden
bei "Sichern" die Werte fr alle Ports abgespeichert.

  Leider ist aber der Handshakemode nicht per Rsconf() abfragbar.  Daher  wird
hierfr direkt auf eine undokumentierte Variable der IOREC-Struktur  zugegrif-
fen.[2] Bei einem TOS  1.02 kann leider die eingestellte bps-Rate  nicht  ab-
gefragt werden. Dieser Fall wird auch nicht abgefragt, da man dann wahrschein-
lich weder FAST_SER noch FSERIAL.CPX bentigt.

---------------

 [1]  Seriell 2 und Modem 2 (Mega STE):  0<->57600,  1<->38400,  Modem 2 (TT):
      0<->38400, 1<->76800

 [2]  Dabei wird auch ein TOS-Fehler in diesem Zusammenhang umschifft.



3) Die FSERIAL-Infos
====================

Mit dem Button "Info" kommt man zu den  FSERIAL-Infos.  Dort  werden  folgende
Daten angezeigt:

Port: Der Port, zu dem die Daten gehren.

Chiptyp: Der Hardwarechip,  der diese  Schnittstelle  steuert.  Wenn  FAST_SER
    installiert ist,  bekommt man bei SCC-Ports eine genaue Angabe des  Chips,
    ansonsten nur "SCC".

Input-Puffer: Die Gre des Puffers fr ankommende Daten.

Output-Puffer: dito fr den Ausgabepuffer

Fehleranzeigen: FAST_SER verwaltet verschiedene Zhler fr Fehler, die bei der
    bertragung auftreten knnen.  Ist FAST_SER nicht installiert,  so bleiben
    die folgenden Angaben leer.  SCC-bedingt sind manche  der  Angaben  leider
    nicht immer 100%-ig verllich (speziell Frame Errors und Lost Chars).

    Framing Errors: Zu soviel Zeichen wurden keine  bzw.  nicht  die  richtige
        Anzahl Stopbits empfangen.

    Parity Errors: Anzahl der Zeichen,  fr die eine inkorrekte Paritt  fest-
        gestellt wurde.

    Rx Overflows: Anzahl der Zeichen,  die wegen vollem Empfangspuffers verlo-
        rengingen.

    Lost Chars: Anzahl der Zeichen,  die verlorengingen,  weil der  SCC  nicht
        schnell genug abgefragt wurde.

    Die Fehlerzhler laufen normalerweise immer weiter,  wenn neue Fehler pas-
    sieren.  Mit dem Button "Fehler lschen" kann man alle Zhler  wieder  auf
    Null setzen, falls dies ntig sein sollte.

Zustzlich zu den Infos kann man aus diesem Dialog auch noch einen Break (d.h.
eine Dauerlage Nullen ohne Stopbits) senden. Der Break dauert solange, wie man
sich mit gedrckter Maustaste auf dem Button befindet.


4) Portabilitt
===============

Bei der Vielfalt der seriellen Schnittstellen und der TOS-Fehler ist es  nicht
einfach, wirklich portabel zu programmieren. Daher gibt es ein paar Einschrn-
kungen:

 - FSERIAL.CPX kann nur mit einer TOS-Version  1.04 verwendet werden,  da man
   vorher die eingestellte bps-Rate nicht auslesen kann.

 - FSERIAL.CPX verlt sich fters darauf,  da es entweder 1,  3  (Mega  STE)
   oder 4 (TT) serielle Ports gibt,  und dies genau bei den genannten  Maschi-
   nen.  Falls es einmal Schwierigkeiten hiermit geben sollte, bitte Bugreport
   an mich. Ebenfalls wird angenommen, da bei 3 Ports diese "Modem 1", "Modem
   2" und "Serial 2" heien.  Bei 4 Ports wird "Serial 1" vor "Serial 2"  ein-
   geschoben.  "Serial 1" hat dabei die besondere Eigenschaft,  da  es  keine
   Handshakeleitungen besitzt.

 - FSERIAL.CPX erlaubt aktuell bis zu maximal  29  verschiedene  bps-Raten  an
   einer Schnittstelle.  Da es FAST_SER prinzipiell erlaubt,  eigene Geschwin-
   digkeiten zu definieren,  knnte dies dazu fhren,  da manche Speeds nicht
   mehr einstellbar sind.  Die Grenze wre jedoch durch einfaches Neucompilie-
   ren hochzusetzen.

 - Man kann mit Rsconf() nicht den Handshakemodus erfahren. Dieser ist aber in
   einer (undokuentierten) IOREC-Variablen gespeichert.  Es  gibt  auch  schon
   mehrere andere Programme,  die sich darauf verlassen, da diese Angabe dort
   steht.  Leider funkt auch hier wieder ein TOS-Fehler dazwischen: In manchen
   Versionen war sich Atari nicht einig,  ob der Modus nun im  High-  oder  im
   Lowbyte des Words zu speichern ist.  Daher wird  folgendermaen  abgefragt:
   Wenn im Lowbyte ein Wert ungleich Null steht,  so wird dieser benutzt.  Nur
   wenn dort eine Null ist,  wird der Wert des Highbytes  benutzt.  Auch  hier
   gilt: Wenn mein Vorgehen Schwierigkeiten verursacht: Bugreport an mich.

 - Auch beim Break-Senden ist Atari mal wieder ein Tippfehler unterlaufen: Bei
   den Original SCC-Rsconf's wird das Breakbit im falschen Parameter erwartet.
   Um dies zu umschiffen,  habe ich folgende Methode gewhlt:  Zuerst wird das
   Bit an der richtigen Stelle gesetzt und dann im TSR-Rckgabewert  nachgese-
   hen,  ob dort das Bit nun wirklich 1 ist.  Wenn ja ist alles ok, sonst wird
   das Bit im Argument davor gesetzt.


5) Bugreports
=============

FSERIAL.CPX wurde in einem mehrmonatigen  Betatest  geprft  und  scheint  in-
zwischen einigermaen fehlerfrei zu sein. Falls Sie doch einen Bug finden oder
einen Verbesserungsvorschlag habe, so schreiben Sie bitte an:

  Roman Hodek
  Baiersdorfer Str. 7
  8521 Mhrendorf
  Roman Hodek @ N (Mausnetz)
  cdb0@faui60.informatik.uni-erlangen.de
  rnhodek@cip.informatik.uni-erlangen.de

  am Besten per E-Mail.  Fr eine Diagnose ist eine  genaue  Beschreibung  des
Fehlers und seiner Symptome sowie eine genaue Angabe der benutzten  Systemkon-
figuration (Hard- und Software) uerst wichtig!


6) History
==========

V0.1: Erste verffentlichte Version

V0.2: Watermark-Anzeige im Infodialog ersetzt (da wenig sinnvoll)  durch  die
    Fehlerzhler;  Button fr baud_table_flag eingebaut;  Fehler beim  Window-
    Verschieben beseitigt

V0.3 = V1.0: Kleiner Vertipper  bei  Stopbits/Paritt-Einstellung  beseitigt;
    ansonsten scheint das CPX inzwischen weitgehend fehlerfrei zu sein.

