home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / telecomm / fser096b / fserial.txt < prev    next >
Text File  |  1993-01-08  |  9KB  |  216 lines

  1.  
  2.  
  3.  
  4.         ************************************************************
  5.         *                                                          *
  6.         *              FSERIAL.CPX V1.0 Release Notes              *
  7.         *                                                          *
  8.         ************************************************************
  9.  
  10.                                  Roman Hodek
  11.  
  12.                                8. Januar 1993
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. Inhaltsverzeichnis
  20. ==================
  21.  
  22. 1) Zweck
  23. 2) Bedienung
  24. 3) Die FSERIAL-Infos
  25. 4) Portabilität
  26. 5) Bugreports
  27. 6) History
  28.  
  29.  
  30. 1) Zweck
  31. ========
  32.  
  33. FSERIAL.CPX ist Bestandteil von FAST_SER von Franz Sirl,  das  CPX  wurde  von
  34. Roman Hodek geschrieben. Es dient zur Konfiguration der seriellen Schnittstel-
  35. len unter Berücksichtigung von FAST_SER.
  36.  
  37.   FSERIAL.CPX tut im Prinzip dasselbe wie das bekannte  MODEM.CPX  von  Atari,
  38. nur daß es eben merkt, wenn FAST_SER installiert ist und entsprechend handelt.
  39. Darüberhinaus kann FSERIAL.CPX ein paar Informationen über die  Schnittstellen
  40. anzeigen und Breaks senden.
  41.  
  42.  
  43. 2) Bedienung
  44. ============
  45.  
  46. Im Hauptdialog verhält sich FSERIAL.CPX genauso,  wie man es von einem CPX er-
  47. wartet und wie man es von MODEM.CPX gewohnt ist.  Es haben nur folgende kleine
  48. Anpassungen stattgefunden:
  49.  
  50.  - Die Anordnung von Datenbits/Parität/Stopbits wurde umgestellt,  so  daß  es
  51.    der gewohnten Reihenfolge von z.B. 8N1 entspricht.
  52.  
  53.  - Gibt es keine erweiterten Schnittstellen,  so ist das Port-Popup abgeschal-
  54.    tet und fest auf Modem 1.
  55.  
  56.  - Ist die aktuelle Schnittstelle Serial 1, so ist kein Rts/Cts-Handshake mög-
  57.    lich, da Serial 1 keine solchen Handshake-Leitungen besitzt.
  58.  
  59.  - Es gibt eine Infozeile,  die die Version des CPX anzeigt  und  ob  FAST_SER
  60.    installiert ist und wenn ja, welche Version.
  61.  
  62.  - Es gibt einen Button,  um den Kompatibilitätsmodus von FAST_SER  ein-  bzw.
  63.    auszuschalten.  Ist dieser Modus an,  so können zwei der erweiterten Speeds
  64.    unter den Rsconf()-Indices 0 und  1  angesprochen  werden,[1]  die  "alten"
  65.    Raten verschieben sich dementsprechend um 2 und bei Indices ≥ 18 findet man
  66.    alle möglichen neuen Speeds.  Um also z.B.  bei Seriell 2  38400  bps  ein-
  67.    zustellen,  wählt man in einem "nichtwissenden" Programm 9600 bps (=  Index
  68.    1) aus.  Ist die Kompatibilität ausgeschaltet,  so sind die neuen Geschwin-
  69.    digkeiten nur am Ende zu finden, d.h. sie können von Programmen, die nichts
  70.    von FAST_SER wissen,  nicht angesprochen werden. FSERIAL.CPX kommt mit bei-
  71.    den Konventionen zurecht,  allerdings kann es beim Umschalten zwischen bei-
  72.    den Modi zu einem Verstellen der Baudrate kommen.  Man  sollte  also  immer
  73.    zuerst den Kompatib.modus ändern,  "OK" drücken und danach  nocheinmal  die
  74.    bps-Rate kontrollieren.
  75.  
  76. Beim  Booten  werden  alle  Parameter  inklusive   der   aktuellen   seriellen
  77. Schnittstelle auf die in FSERIAL.CPX gespeicherten Werte  gesetzt.  Bei  jedem
  78. Aufruf werden die Parameter erneut abgefragt,  da sie  ja  von  einem  anderen
  79. Programm verstellt worden sein könnten.  Man kann also  FSERIAL.CPX  auch  zum
  80. Abfragen der aktuellen Einstellungen benutzen.
  81.  
  82.   Wird der Dialog mit "OK" verlassen, so werden die Parameter für _alle_ Ports
  83. gesetzt (nicht nur für den gerade unter "Port" eingestellten).  Ebenso  werden
  84. bei "Sichern" die Werte für alle Ports abgespeichert.
  85.  
  86.   Leider ist aber der Handshakemode nicht per Rsconf() abfragbar.  Daher  wird
  87. hierfür direkt auf eine undokumentierte Variable der IOREC-Struktur  zugegrif-
  88. fen.[2] Bei einem TOS ≤ 1.02 kann leider die eingestellte bps-Rate  nicht  ab-
  89. gefragt werden. Dieser Fall wird auch nicht abgefragt, da man dann wahrschein-
  90. lich weder FAST_SER noch FSERIAL.CPX benötigt.
  91.  
  92. ---------------
  93.  
  94.  [1]  Seriell 2 und Modem 2 (Mega STE):  0<->57600,  1<->38400,  Modem 2 (TT):
  95.       0<->38400, 1<->76800
  96.  
  97.  [2]  Dabei wird auch ein TOS-Fehler in diesem Zusammenhang umschifft.
  98.  
  99.  
  100.  
  101. 3) Die FSERIAL-Infos
  102. ====================
  103.  
  104. Mit dem Button "Info" kommt man zu den  FSERIAL-Infos.  Dort  werden  folgende
  105. Daten angezeigt:
  106.  
  107. Port: Der Port, zu dem die Daten gehören.
  108.  
  109. Chiptyp: Der Hardwarechip,  der diese  Schnittstelle  steuert.  Wenn  FAST_SER
  110.     installiert ist,  bekommt man bei SCC-Ports eine genaue Angabe des  Chips,
  111.     ansonsten nur "SCC".
  112.  
  113. Input-Puffer: Die Größe des Puffers für ankommende Daten.
  114.  
  115. Output-Puffer: dito für den Ausgabepuffer
  116.  
  117. Fehleranzeigen: FAST_SER verwaltet verschiedene Zähler für Fehler, die bei der
  118.     Übertragung auftreten können.  Ist FAST_SER nicht installiert,  so bleiben
  119.     die folgenden Angaben leer.  SCC-bedingt sind manche  der  Angaben  leider
  120.     nicht immer 100%-ig verläßlich (speziell Frame Errors und Lost Chars).
  121.  
  122.     Framing Errors: Zu soviel Zeichen wurden keine  bzw.  nicht  die  richtige
  123.         Anzahl Stopbits empfangen.
  124.  
  125.     Parity Errors: Anzahl der Zeichen,  für die eine inkorrekte Parität  fest-
  126.         gestellt wurde.
  127.  
  128.     Rx Overflows: Anzahl der Zeichen,  die wegen vollem Empfangspuffers verlo-
  129.         rengingen.
  130.  
  131.     Lost Chars: Anzahl der Zeichen,  die verlorengingen,  weil der  SCC  nicht
  132.         schnell genug abgefragt wurde.
  133.  
  134.     Die Fehlerzähler laufen normalerweise immer weiter,  wenn neue Fehler pas-
  135.     sieren.  Mit dem Button "Fehler löschen" kann man alle Zähler  wieder  auf
  136.     Null setzen, falls dies nötig sein sollte.
  137.  
  138. Zusätzlich zu den Infos kann man aus diesem Dialog auch noch einen Break (d.h.
  139. eine Dauerlage Nullen ohne Stopbits) senden. Der Break dauert solange, wie man
  140. sich mit gedrückter Maustaste auf dem Button befindet.
  141.  
  142.  
  143. 4) Portabilität
  144. ===============
  145.  
  146. Bei der Vielfalt der seriellen Schnittstellen und der TOS-Fehler ist es  nicht
  147. einfach, wirklich portabel zu programmieren. Daher gibt es ein paar Einschrän-
  148. kungen:
  149.  
  150.  - FSERIAL.CPX kann nur mit einer TOS-Version ≥ 1.04 verwendet werden,  da man
  151.    vorher die eingestellte bps-Rate nicht auslesen kann.
  152.  
  153.  - FSERIAL.CPX verläßt sich öfters darauf,  daß es entweder 1,  3  (Mega  STE)
  154.    oder 4 (TT) serielle Ports gibt,  und dies genau bei den genannten  Maschi-
  155.    nen.  Falls es einmal Schwierigkeiten hiermit geben sollte, bitte Bugreport
  156.    an mich. Ebenfalls wird angenommen, daß bei 3 Ports diese "Modem 1", "Modem
  157.    2" und "Serial 2" heißen.  Bei 4 Ports wird "Serial 1" vor "Serial 2"  ein-
  158.    geschoben.  "Serial 1" hat dabei die besondere Eigenschaft,  daß  es  keine
  159.    Handshakeleitungen besitzt.
  160.  
  161.  - FSERIAL.CPX erlaubt aktuell bis zu maximal  29  verschiedene  bps-Raten  an
  162.    einer Schnittstelle.  Da es FAST_SER prinzipiell erlaubt,  eigene Geschwin-
  163.    digkeiten zu definieren,  könnte dies dazu führen,  daß manche Speeds nicht
  164.    mehr einstellbar sind.  Die Grenze wäre jedoch durch einfaches Neucompilie-
  165.    ren hochzusetzen.
  166.  
  167.  - Man kann mit Rsconf() nicht den Handshakemodus erfahren. Dieser ist aber in
  168.    einer (undokuentierten) IOREC-Variablen gespeichert.  Es  gibt  auch  schon
  169.    mehrere andere Programme,  die sich darauf verlassen, daß diese Angabe dort
  170.    steht.  Leider funkt auch hier wieder ein TOS-Fehler dazwischen: In manchen
  171.    Versionen war sich Atari nicht einig,  ob der Modus nun im  High-  oder  im
  172.    Lowbyte des Words zu speichern ist.  Daher wird  folgendermaßen  abgefragt:
  173.    Wenn im Lowbyte ein Wert ungleich Null steht,  so wird dieser benutzt.  Nur
  174.    wenn dort eine Null ist,  wird der Wert des Highbytes  benutzt.  Auch  hier
  175.    gilt: Wenn mein Vorgehen Schwierigkeiten verursacht: Bugreport an mich.
  176.  
  177.  - Auch beim Break-Senden ist Atari mal wieder ein Tippfehler unterlaufen: Bei
  178.    den Original SCC-Rsconf's wird das Breakbit im falschen Parameter erwartet.
  179.    Um dies zu umschiffen,  habe ich folgende Methode gewählt:  Zuerst wird das
  180.    Bit an der richtigen Stelle gesetzt und dann im TSR-Rückgabewert  nachgese-
  181.    hen,  ob dort das Bit nun wirklich 1 ist.  Wenn ja ist alles ok, sonst wird
  182.    das Bit im Argument davor gesetzt.
  183.  
  184.  
  185. 5) Bugreports
  186. =============
  187.  
  188. FSERIAL.CPX wurde in einem mehrmonatigen  Betatest  geprüft  und  scheint  in-
  189. zwischen einigermaßen fehlerfrei zu sein. Falls Sie doch einen Bug finden oder
  190. einen Verbesserungsvorschlag habe, so schreiben Sie bitte an:
  191.  
  192.   Roman Hodek
  193.   Baiersdorfer Str. 7
  194.   8521 Möhrendorf
  195.   Roman Hodek @ N (Mausnetz)
  196.   cdb0@faui60.informatik.uni-erlangen.de
  197.   rnhodek@cip.informatik.uni-erlangen.de
  198.  
  199.   am Besten per E-Mail.  Für eine Diagnose ist eine  genaue  Beschreibung  des
  200. Fehlers und seiner Symptome sowie eine genaue Angabe der benutzten  Systemkon-
  201. figuration (Hard- und Software) äußerst wichtig!
  202.  
  203.  
  204. 6) History
  205. ==========
  206.  
  207. V0.1β: Erste veröffentlichte Version
  208.  
  209. V0.2β: Watermark-Anzeige im Infodialog ersetzt (da wenig sinnvoll)  durch  die
  210.     Fehlerzähler;  Button für baud_table_flag eingebaut;  Fehler beim  Window-
  211.     Verschieben beseitigt
  212.  
  213. V0.3β = V1.0: Kleiner Vertipper  bei  Stopbits/Parität-Einstellung  beseitigt;
  214.     ansonsten scheint das CPX inzwischen weitgehend fehlerfrei zu sein.
  215.  
  216.