home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / telecomm / starc18w / dfuetool / hsmodem1 / hsmodem1.txt < prev   
Text File  |  1993-03-16  |  11KB  |  233 lines

  1. HSMODEM1.PRG
  2. ============
  3.  
  4.  
  5. HSMODEM1 ist ein Software-Beschleuniger und Patch für die serielle 
  6. Schnittstelle Modem1 der Atari-Computer. Es beseitigt nicht nur den auch 
  7. im TOS2.06/3.06 noch vorhandenen RTS/CTS-Handshakefehler, sondern 
  8. erhöht durch seine optimierten Routinen die mögliche Übertragungsrate 
  9. wesentlich. Wer diesen Text nicht komplett durchliest, dem ist nicht zu 
  10. helfen. Es ist keine Schande, etwas nicht zu verstehen, denn ich lasse 
  11. mich über einiges aus, was für den nur-Anwender unwichtig ist, habe aber 
  12. heute keine Lust, alles zu sortieren (erledige ich später mal).
  13.  
  14.  
  15. Copyright
  16. ---------
  17. Ich gestatte die Übersetzung dieser Dokumentation in andere Sprachen. Der 
  18. Übersetzer hat seine Tätigkeit entsprechend zu vermerken. Das deutsche 
  19. Original muß weiterhin beigelegt sein. Die im Folgenden genannten 
  20. Bedingungen gelten auch für die Übersetzung.
  21.  
  22. HSMODEM1 darf, aber immer nur zusammen mit diesem Text, zu nicht 
  23. kommerziellen Zwecken frei kopiert werden. Die Verbreitung auf PD-Disketten 
  24. ist ebenfalls zulässig, solange eine Disk mit HSMODEM1 nicht mehr als 
  25. andere PD-Disketten des Anbieters kostet. Ein Beipack zu Programmen ist nur 
  26. zulässig, wenn diese PD oder Shareware mit einer maximalen 
  27. Registrierungsgebühr von 50DM sind. Jede Verbreitung zusammen mit 
  28. kommerziellen Programmen oder sonstige kommerzielle Verwertung, 
  29. ausgeschlossen jedoch die übliche Anwendung (Programm starten), ist nur mit 
  30. meiner ausdrücklichen Genehmigung (möglicherweise gegen Gebühr) gestattet.
  31.  
  32. Interessenten können möglicherweise den Quelltext von mir erhalten. Das ist 
  33. nicht ganz kostenlos, aber auch für Hobbyisten bezahlbar.
  34.  
  35. Ich mag es nicht, an dieser Stelle zu schreiben: "Sollten Sie das Programm 
  36. länger als 3 Wochen (Testzeit) benutzen, so wird eine Registrierungsgebühr 
  37. in Höhe von xxxx fällig." Allerdings freue ich mich über kleine Spenden 
  38. (5DM und aufwärts) entweder an meine Postadresse oder auf mein Konto (bitte 
  39. Absender mit angeben). Ein kleiner Denkanstoß: Es ist nicht so, daß ich 
  40. wild drauflos auf immer und ewig für die Allgemeinheit billig arbeite. 
  41. Ich bin Student und muß nicht nur mein Hobby selbst finanzieren. Je mehr 
  42. ich an kommerziellen Auftragsarbeiten oder sonstigen finanziell 
  43. einträglichen Dingen arbeite(n muß), desto weniger Zeit bleibt für Projekte 
  44. dieser Art.
  45.  
  46. Ich und die Betatester haben dieses Programm sorgfältig überprüft. Ich 
  47. hafte in keiner Weise für eventuelle Fehler und/oder (daraus resultierende) 
  48. Beschädigungen irgendwelcher Objekte, Subjekte oder Werte.
  49.  
  50. Fehlermeldungen oder Verbesserungsvorschläge nehme ich gern an. Ich hasse 
  51. allerdings unangemeldetes Auftauchen mir nicht persönlich bekannter 
  52. Personen sowie Telefonanrufe zu MICH störenden Zeiten. Es gibt schließlich 
  53. Email und die (in letzer Zeit sogar wieder gute) alte Post.
  54.  
  55. Ich bin im Mausnetz unter
  56. Harun Scheutzow @B
  57. zu erreichen. Meine Postanschrift lautet:
  58. Harun Scheutzow
  59. Dresdener Straße 83
  60. O-1020 Berlin
  61.  
  62. Meine Bankverbindung:
  63. Kontoinhaber: Harun Scheutzow
  64. Kontonummer:  581854107
  65. Bankleitzahl: 10010010
  66. Bank:         Postgiroamt Berlin
  67.  
  68.  
  69. Einsatzmöglichkeiten und Voraussetzungen, u.v.m.
  70. ------------------------------------------------
  71. HSMODEM1 soll unter allen TOS-Versionen auf ATARI ST, STE, MegaST, MegaSTE 
  72. und TT laufen. Es läuft NICHT auf dem Falcon. Deshalb ist alles Folgende 
  73. nur für die Computer gültig, auf denen HSMODEM1 lauffähig ist. Je nach 
  74. TOS-Version integriert es sich unterschiedlich in das System. Dabei werden 
  75. nur dokumentierte Eigenschaften des TOS genutzt, auch wenn das manchmal 
  76. nicht einfach war.
  77.  
  78. Modem1 kann ohne Zusatzhardware maximal 19200Bd erreichen. Mit 
  79. Zusatzhardware, wie (dem von mir entwickelten) RSVE, RSSpeed oder anderen 
  80. können auch höhere Datenraten realisiert werden. Z.B. erlaubt RSVE auch die 
  81. Einstellung von 38400, 57600 und 115200Bd. Ohne Zusatzhardware können 
  82. höhere Datenraten im Synchonbetrieb des MFP erreicht werden, dabei ist eine 
  83. fehlerfreie Funktion aber ausschließlich beim Senden möglich, und es wird 
  84. kaum einer auf den Empfang verzichten wollen.
  85.  
  86. Ich arbeite (immer noch) mit einem 8MHz ST, ohne CPU-Beschleuniger. Ich 
  87. halte wenig davon, immer neue und schnellere Computer zu kaufen und diese 
  88. durch lahme Software bis zum Stillstand zu bremsen. Das TOS ist eine lahme 
  89. Software, kein Wunder, es ist inklusive der Interruptroutinen in C 
  90. programmiert. Meine persönliche Meinung über die TOS-Programmierer (Eric 
  91. Smith ausgenommen) hat die (Selbst)Zensur an dieser Stelle gelöscht.
  92.  
  93.  
  94. Wie schnell geht es?
  95. --------------------
  96. Das Problem bei einer seriellen Übertragung mit einer bestimmten 
  97. Geschwindigkeit (hier immer in Baud angegeben) besteht nicht im Senden der 
  98. Zeichen, sondern in deren Empfang. Der MFP puffert immer nur ein 
  99. empfangenes Zeichen und meldet ein empfangenes Zeichen der CPU per 
  100. Interrupt. Die CPU muß dieses Zeichen für eine fehlerfreie Übertragung aus 
  101. dem MFP abholen, bevor dieser das nächste Zeichen komplett empfangen hat. 
  102. Wenn ich sage, der Betrieb bei ... ist zuverlässig, so bedeutet dies, daß 
  103. die CPU es schafft, jedes Zeichen rechtzeitig abzuholen, und zwar bei der 
  104. maximal möglichen Zeichendichte auf der seriellen Empfangsleitung (keine 
  105. Pause zwischen Stoppbit des vorigen und Startbit des nachfolgenden 
  106. Zeichens).
  107.  
  108. Ein 8MHz ST (RSVE eingebaut) kann mit TOS und HSMODEM1 eine fehlerfreie 
  109. Datenübertragung mit 38400Bd realisieren. Eine fehlerfreie Datenübertragung 
  110. mit 57600Bd ist ebenfalls möglich, aber nicht mit dem originalen TOS. 
  111. Andere Interruptroutinen des TOS sind so unintelligent ausgelegt, daß sie 
  112. den zuverlässigen Betrieb mit 57600Bd verhindern. Siehe auch nächsten 
  113. Abschnitt.
  114.  
  115. Derzeit erreicht ein 8MHz ST mit GSZRZ Version 3.3 von Michael Ziegler bei 
  116. einer ZMODEM-Übertragung und 38400Bd mehr als 3600cps, wenn NVDI 
  117. installiert und der Blitter ausgeschaltet ist. Ohne NVDI sind es etwa 
  118. 300cps weniger, da GSZRZ lange an seiner Dialogbox zeichnen läßt. Den 
  119. Blitter kann man in den meisten Fällen auch zugeschaltet lassen. Sollten 
  120. aber Empfangsfehler auftreten, dann den Blitter abschalten. ZMODEM-Senden 
  121. bei 57600Bd erreicht mehr als 5000cps.
  122.  
  123.  
  124. Zukünftiges
  125. -----------
  126. Die TOS-Interruptroutinen sind für fehlerfreien 57600Bd-Betrieb auf 
  127. 8MHz-STs zu doof und langsam. Dies bezieht sich auf das ganze 
  128. Interruptroutinensystem. Ich arbeite an neuen Interruptroutinen, die dieses 
  129. Problem beseitigen werden. Dies sind NICHT neue serielle Routinen (die hier 
  130. enthaltenen sind schnell genug), sondern z.B. neue Tastaturroutinen.
  131.  
  132. Es geht auch noch ein bißchen schneller, aber ich will die Interessenten 
  133. nicht noch länger auf die erste Version warten lassen.
  134.  
  135. Eventuell wird es ein Programm geben, daß alle Schnittstellen des 
  136. MegaSTE/TT unterstützt, möglicherweise in Zusammenarbeit mit anderen 
  137. Programmierern.
  138.  
  139. Es wird wahrscheinlich einen TOS2.06-EPROM-Patch geben, der HSMODEM1 direkt 
  140. in das TOS2.06 integriert.
  141.  
  142. Eine blockorientierte Datenübergabe, kompatibel zu Mint/Multitos, befindet 
  143. sich ebenfalls in der Entwicklung. Damit müßten mit einem neuen GSZRZ 
  144. 5400cps beim Senden UND Empfangen (57000Bd seriell) möglich sein.
  145.  
  146. Außerdem kommen intelligente und schnelle Interruptroutinen bei einer 
  147. Multitaskumgebung der ganzen Systemleistung zugute, so daß nicht 
  148. auszuschließen ist, daß auch mal Tastendrücken, Mausbewegen und 38400Bd 
  149. ZMODEM-Übertragung gleichzeitig fehlerfrei möglich sind.
  150.  
  151.  
  152. Probleme oder auch nicht
  153. ------------------------
  154. Lange DMA-Zugriffe können beim Empfang zu Datenverlusten führen. Ebenfalls 
  155. kritisch sind lange Verweilzeiten der CPU in einem Interruptprioritätslevel 
  156. größer als 5.
  157.  
  158. Auf 8MHz STs: Finger weg von Maus und Tastatur, während GSZRZ empfängt. 
  159. Sonst gibt es ein paar Übertragungsfehler.
  160.  
  161. Abspeichern empfangener Daten unter GSZRZ während des Empfangs soll laut 
  162. Berichten eines Testers nicht zu Fehlern führen.
  163.  
  164. Man kann den Blitter auf jeden Fall so programmieren, daß er die CPU zu 
  165. lange blockiert. Das TOS und NVDI tun dies anscheinend nicht.
  166.  
  167. Es gibt einige ACCs und residente (AUTO-Ordner-)Programme, die irgendwelche 
  168. Interrupts umlegen und das System zu lange blockieren. Im Zweifelsfalle 
  169. einzeln rauswerfen und testen.
  170.  
  171. Ein Problemprogramm ist leider DCF_TIME von Ralf Zimmermann @WI2. Der Autor 
  172. kennt das Problem und die Lösung dazu. Ab Version 1.2 (wird bald kommen) 
  173. sollte es behoben sein. Pünktlich zu jeder Minutenkennung ist es zu lange 
  174. in der Interruptroutine (IPL6) und es gibt bei 38400Bd einen Empfangsfehler.
  175.  
  176.  
  177. Funktion des HSMODEM1
  178. ---------------------
  179. Seine Geschwindigkeit erreicht es durch optimierte Interruptroutinen und 
  180. durch das zusätzliche direkte Einklinken in den BIOS-Trap. Deshalb sollte 
  181. es möglichst spät im AUTO-Ordner gestartet werden, aber noch vor allen 
  182. Programmen, die Modem1 benutzen. Es muß hinter Programmen stehen, die die 
  183. XBIOS-Funktion Bconmap umlenken oder die Anzahl der per Bconmap verfügbaren 
  184. Kanäle ändern (gibt es sowas schon?).
  185.  
  186. HSMODEM1 kann alle drei Handshakearten, die auch das TOS können sollte: 
  187. KEIN Handshake, XON/XOFF-Softwarehandshake, RTS/CTS-Hardwarehandshake. 
  188. Achtung: Die Angabe "BEIDES" als Handshakeparameter bei Rsconf wird vom TOS 
  189. in XON/XOFF umgewandelt. Da mir keine sinnvolle Anwendung für "BEIDES" 
  190. bekannt ist, arbeitet er ebenso.
  191.  
  192. Das direkte Einhängen in den BIOS-Trap ist bei TOS1.00 die einzige 
  193. Möglichkeit, die Routinen Bconin, Bconstat, Bconout und Bcostat zu 
  194. ersetzen. Ab TOS1.02 dient dieses Verfahren nur noch der 
  195. Geschwindigkeitssteigerung, denn HSMODEM1 setzt sich auch in die 
  196. entsprechenden xco...-Vektoren ein. Wenn das TOS Bconmap unterstützt (ab 
  197. Version 2.00), so erfolgt das Einsetzen auch in die entsprechende MAPTAB. 
  198. Dabei werden die Originalroutinen für Modem1 vollständig ersetzt. Der 
  199. BIOS-Kanal 6 ist mit HSMODEM1 unter allen TOS-Versionen als Modem1 
  200. verfügbar. Bei Nutzung von Kanal1 (AUX) wird die Einstellung über Bconmap 
  201. beachtet.
  202.  
  203. Im XBIOS-Trap wird eine neue Iorec-Routine eingehängt. Wenn das TOS 
  204. Bconmap unterstützt, wird noch Bconmap überwacht. Ebenfalls ersetzt wird 
  205. Rsconf. Das neue Rsconf wechselt bei einem Wechsel der Handshakeart auch 
  206. die seriellen Interruptvektoren des MFP aus.
  207.  
  208. Das Einhängen in den (X)BIOS-Trap erfolgt per XBRA-Verfahren mit der 
  209. Kennung RSVE.
  210.  
  211. Die vier für die serielle Kommunikation wichtigen Interrupts des MFP werden 
  212. durch neue Routinen ersetzt. Dabei wird für jede Handshakeart eine 
  213. spezielle Routine benutzt, ein wesentlicher Grund für die erreichte 
  214. Geschwindigkeit.
  215.  
  216.  
  217. Praktischer Einsatz
  218. -------------------
  219. HSMODEM1 wird in den AUTO-Ordner kopiert. Dabei sollte es möglichst weit 
  220. hinten stehen, aber vor allen Programmen, die Modem1 nutzen. Bei jedem 
  221. neuen Booten wird es automatisch geladen. Es belegt dann etwa 2KByte im 
  222. RAM. HSMODEM1 kann ebenfalls durch Anklicken gestartet werden.
  223.  
  224.  
  225. Versionen
  226. ---------
  227. Ich vergebe keine Versionsnummern, sondern überlasse die 
  228. Versionsunterscheidung dem in der Installationsmeldung ausgegebenen Datum. 
  229. Ich notiere das Datum in der deutschen Schreibweise, also Tag.Monat.Jahr.
  230.  
  231.  
  232. Harun Scheutzow (SWB), 16.03.1993
  233.