home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0616.ZIP / CCE_0616.PD / TERM2000.2_5 / TERM2000.TXT < prev    next >
Text File  |  1993-03-21  |  49KB  |  1,375 lines

  1.  
  2. ----------------------------------------------
  3. | Anleitung zu TERMINAL 2000 / Sharp PC-1403 |
  4. ----------------------------------------------
  5.  
  6. 1 ALLGEMEINES
  7.   1.1 Grundsätzliches
  8.   1.2 Haftungsausschluß 
  9.  
  10. 2 EINLEITUNG
  11.   2.1 Vorwort
  12.   2.2 Was Sie als erstes tun sollten
  13.   2.3 Dateien zum Programm
  14.   2.4 Installation des Treibers
  15.   2.5 Das Interface
  16.  
  17. 3 PROGRAMMBESCHREIBUNG
  18.   3.1 Anwahl der Programmfunktionen
  19.     3.1.1 Drop-Down-Menü
  20.     3.1.2 Funktionstasten
  21.     3.1.3 Shortcuts
  22.   3.2 Zusätzliche Meldungen bei TOS 1.0 und 1.02
  23.   3.3 Meldungen in der Infozeile
  24.   3.4 Die Konfigurationsdatei
  25.   3.5 Parameter einstellen
  26.   3.6 Formate der Basic-Listings
  27.   3.7 RS-232-Parameter
  28.   3.8 EMULATOR.ACC
  29.   3.9 Der Katastrophenfall
  30.  
  31. 4 ÜBERTRAGUNG
  32.   4.1 Klartext-Übertragung
  33.     4.1.1 Sharp ==> Atari
  34.     4.1.2 Atari ==> Sharp
  35.   4.2 Token-Übertragung
  36.     4.2.1 Sharp ==> Atari
  37.     4.2.2 Atari ==> Sharp
  38.   4.3 Fehler während der Übertragung
  39.   4.4 Fehler nach der Übertragung
  40.   4.5 Nach der Übertragung
  41.   4.6 Ein kleiner Schönheitsfehler
  42.  
  43. 5 DATEI-OPERATIONEN
  44.   5.1 Aufruf eines Editors
  45.   5.2 Anmeldung eines Editors
  46.   5.3 Aufruf eines Programmes
  47.   5.4 Fehlerquellen beim Editor-/Programmaufruf
  48.   5.5 Programmstart über TROJA.PRG
  49.   5.6 Tip für Diskettenbenutzer
  50.   5.7 Datei ansehen/drucken
  51.   5.8 Datei kopieren
  52.   5.9 Renumber - Listing neu numerieren
  53.   5.10 Uppercase-Wandlung
  54.   5.11 Basic-Programm überprüfen
  55.  
  56. 6 GFA-BASIC-KONVERTER
  57.   6.1 Allgemeines
  58.   6.2 Aufruf des Interpreters
  59.   6.3 Grenzen der Konvertierbarkeit
  60.   6.4 Konverter GFA- nach Sharp-Basic
  61.   6.5 Konverter Sharp- nach GFA-Basic
  62.   6.6 Ein Tip am Rande
  63.   6.7 Temporäre Dateien
  64.  
  65. 7 TIPS UND TRICKS
  66.   7.1 Allgemeines
  67.   7.2 Zeilennummern
  68.   7.3 Reset
  69.   7.4 Batteriewechsel
  70.  
  71. 8 ANHANG
  72.   8.1 Bekannte Probleme
  73.   8.2 Systemkonfiguration
  74.  
  75. 9 ANPASSUNGEN AN ANDERE POCKETRECHNER
  76.  
  77. 10 SCHLUßWORT
  78.  
  79. 11 WARENZEICHEN
  80.  
  81. ----------------------------------------------------------------
  82.  
  83.  
  84.  
  85. 1 ALLGEMEINES
  86.  
  87. 1.1 Grundsätzliches
  88.  
  89. Dieses  Programm  ist  frei  kopierbar!  Es  muß  aber immer  der
  90. komplette  Ordner  mit  weitergegeben  werden.  Eine  gewerbliche
  91. Nutzung  ist  ausdrücklich  untersagt  und  wird   strafrechtlich
  92. verfolgt. Die Software darf nicht verkauft werden.
  93.  
  94.  
  95. 1.2 Haftungsausschluß
  96.  
  97. Die Software,  die Dokumentation, sowie die Bauvorschläge für das
  98. Interface wurden sorgfältig  auf Fehlerfreiheit geprüft. Es  wird
  99. daher keinerlei  Haftung für irgendwelche Schäden übernommen, die
  100. sich, direkt oder indirekt, aus der Benutzung des Programmes, der
  101. Dokumentation oder des Interfaces ergeben.
  102.  
  103.  
  104.  
  105. 2 EINLEITUNG
  106.  
  107. 2.1 Vorwort
  108.  
  109. Rechnerkopplungen, die  den Atari mit Pocketcomputern  verbinden,
  110. gibt es mittlerweile schon wie Sand am Meer.  Terminal  2000 soll
  111. sich deshalb von  diesen Produkten abheben. Im Vordergrund  steht
  112. hier  nicht  der reine  Datenaustausch,  auch wenn  dieses  schon
  113. faszinierend genug sein kann. Vielmehr  soll der Anwender bei der
  114. Programmentwicklung  und  -verwaltung  weitestgehend  unterstützt
  115. werden.  Zum  Bearbeiten  der  Basic- Listings  kann  man  seinen
  116. Lieblingseditor oder gar  den GFA-Basic-Interpreter  von Terminal
  117. 2000 aus aufrufen.  Die meisten Basic-Programme  lassen  sich  so
  118. bereits vor der Übertragung unter GFA-Basic auf dem Atari testen.
  119. Daβ  man sich um Zeilennummern  nicht mehr kümmern braucht,  wird
  120. man  auch bald zu schätzen wissen. Und  möchten man zwischendurch
  121. ein Spielprogramm aufrufen - kein Problem.
  122.  
  123.  
  124. 2.2 Was Sie zuerst tun sollten
  125.  
  126. Bevor Sie Ihren Atari  mit  dem PC-1403  verbinden,  sollten  Sie
  127. unbedingt  diese Anleitung  studieren.  So bleibt Ihnen unnötiger
  128. Ärger erspart.
  129.  
  130.  
  131. 2.3 Dateien zum Programm
  132.  
  133. Die folgenden Dateien sollten sich auf Ihrer Diskette befinden: 
  134.  
  135. - TERM2000.PRG  Das Programm Terminal 2000
  136. - TERM2000.RSC  Resource-Datei
  137. - TERM2000.CFG  Konfigurationsdatei
  138. - TERM_GFA.LIB  Konvertierungsbibliothek
  139. - TROJA.PRG     Utility zu Terminal 2000
  140. - TERM2000.TXT  Anleitung (dieser Text)
  141.  
  142. - TERM2000.IMG  Schaltplan im GEM-Image-Format 
  143. - TERM2000.PI3  Schaltplan im Degas-Format
  144. - ZEIGPLAN.PRG  ANzeigeprogramm für TERM2000.PI3
  145. - sowie ein Treiberprogramm für PC-1403 
  146.  
  147. Die Datei TERM2000.RSC kann fehlen,  wenn Terminal 2000 sich auch
  148. ohne sie aufrufen läßt.
  149.  
  150. Dateien, die  sich zusätzlich  auf der Diskette befinden,  werden
  151. dort beschrieben.
  152.  
  153.  
  154. 2.4 Installation des Treibers
  155.  
  156. Zunächst   einige   Worte    über   die    Notwendigkeit    eines
  157. Treiberprogramms:
  158.  
  159. Die übliche  Art der  Datenübertragung  beim Sharp  liegt  in der
  160. Nutzung  der  Kassettensignale,  die mit den  Befehlen  CLOAD und
  161. CSAVE gesteuert werden. Die Daten werden dabei in Töne gewandelt,
  162. die dann  auf der Cassette gespeichert  werden.  Wer schon einmal
  163. Daten auf der Cassette gespeichert hat, weiß  wie  langsam dieses
  164. Verfahren ist.
  165.  
  166. Das Treiberprogramm stellt dem Sharp eine, an den RS-232-Standard
  167. angelehnte,  Schnittstelle  zur  Verfügung.  Diese  Schnittstelle
  168. befindet sich heutzutage nahezu  an  jedem  Computer, so auch  am
  169. Atari.   Eine   einfache  und   sichere   Kommunikation   ist  so
  170. sichergestellt. Und noch was:  die Übertragung  ist mit 4800 Baud
  171. gegenüber den ca. 300 Baud der Cassettensignale sehr schnell.
  172.  
  173. Die Installation:
  174. -----------------
  175.  
  176. - Vorhandene Daten im Sharp sichern! (ausdrucken, auf Disk o.ä.)
  177.  
  178. - Damit  der  Treiber auch  nach einem  NEW-Befehl  noch im Sharp
  179. bleibt,  muß  er  ausserhalb  des  Basic-Speichers  untergebracht
  180. werden.  Dafür  ist  zunächst   der  Anfang  dieses  Bereichs  zu
  181. verschieben:
  182.  
  183. Folgenden Befehl eingeben:
  184.   für PC-1403  : POKE &FF01,&30,&E3
  185.   für PC-1403H : POKE &FF01,&30,&83
  186.  
  187. - Im PRO-Modus folgenden Befehl eingeben : NEW
  188.  
  189. - Jetzt wird das Treiberprogramm in den Sharp eingetippt.
  190.  
  191. Auf der  Diskette  befinden  sich  zwei Listings,  eines  für den
  192. PC-1403  (mit  8 kByte  RAM) und  eines für den PC-1403H  (mit 32
  193. kByte RAM).
  194.  
  195. Alternativ   kann  dieses  auch  mit  CLOAD  von  CASSETTE,   dem
  196. Diskettenlaufwerk   CE-140F   oder   einem   zweiten   PC-1403(H)
  197. eingeladen werden, sofern es dort zur Verfügung steht. 
  198.  
  199. - Im RUN-Modus folgenden Befehl eingeben : RUN
  200.  
  201. Der  Sharp ist jetzt eine  Weile  beschäftigt.  Wenn das  Listing
  202. fehlerhaft  eingegeben worden  ist, erscheint eine  entsprechende
  203. Meldung. In diesem Fall müssen die DATA-Zeilen  im PRO-Modus noch
  204. mal überprüft werden.
  205.  
  206. - Wer  ein Casseteninterface  oder ein  Diskettenlaufwerk  CE-140
  207. besitzt,  sollte  das   Listing  dort  abspeichern.   Nach  einem
  208. Totalabsturz oder bei  leeren  Batterien  müsste  man  sonst  das
  209. erneut eintippen.
  210.  
  211. - So, jetzt ist es geschafft.
  212.  
  213. Das Basic-Listing  ist  noch  im Speicher, es sollte nun mit  NEW
  214. gelöscht werden!
  215.  
  216. Achtung: Wenn jetzt  mit  MEM der freie  Speicher angezeigt wird,
  217. ist dieser etwas kleiner als vor der Eingabe  des Treibers. Dafür
  218. übersteht der Treiber aber auch jeden NEW-Befehl.
  219.  
  220.  
  221. 2.5  Das Interface
  222.  
  223. Der Schaltplan des Interfaces befindet sich als Rasterbild in den
  224. Dateien TERM2000.IMG und TERM2000.PI3. Mit vielen "Malprogrammen"
  225. kann man  sich den  Plan auf den Bildschirm holen oder ausdrucken
  226. lassen.  Das  Programm ZEIGPLAN.PRG  zeigt den Plan aus der Datei
  227. TERM2000.PI3 in der hohen ST-Auflösung auf dem Monitor.
  228.  
  229. Auf  einer  kleinen  Lochrasterplatine   werden   die   11-polige
  230. Stiftleiste und die Anpasselektronik aufgebracht. Der Stiftleiste
  231. gegenüber wird das  5-polige  Kabel angelötet, an  dessen anderem
  232. Ende die Sub-D-Buchse.
  233.  
  234.     Stückliste:
  235.     -----------
  236.  4  1N4148    Si-Dioden      ( oder Ersatztyp )
  237.  2    4k7     Widerstände
  238.  2   10k      -,,-
  239.  1  100k      -,,-
  240.  1  BC 548 C  NPN-Transistor ( oder Ersatztyp )
  241.  1  11-polige Stiftleiste, Rastermaß 2,54 mm, 90 Grad gewinkelt
  242.  1  Lochrasterplatine
  243.  
  244.  1  5-poliges Kabel ca. 2m lang, Abschirmung nicht notwendig
  245.  
  246.  1  25- bzw. 9-polige Sub-Buchse 
  247.  
  248. Der Sharp übernimmt  die Stromversorgung des Interfaces. Um einen
  249. minimalen  Stromverbrauch   zu  gewährleisten,   wurde  für   das
  250. Interface   eine  Schaltung   entwickelt,  die  ohne  integrierte
  251. Schaltkreise auskommt. Obwohl sich  der Strombedarf auf die  Zeit
  252. der Übertragung beschränkt, sollte man das Interface aufgrund von
  253. Restströmen bei Nichtbenutzung vom Rechner trennen.
  254.  
  255. Der Anschluß  des  Interfaces  dürfte  keinerlei  Schwierigkeiten
  256. bereiten. Der 25-polige  Sub-D-Stecker  wird am  Atari ST  an den
  257. sogenannten   Modem-Port,    einfacher   gesagt:   die   serielle
  258. Schnittstelle,  gesteckt.  Die  Modelle  Mega STE  und  TT  haben
  259. dagegen zwei 9-polige serielle Ports.
  260.  
  261. Beim  Anschluß des 11-poligen  Steckers  am Sharp  ist darauf  zu
  262. achten,  daß alle  11  Steckerpins  in die entsprechenden Buchsen
  263. kommen. Aufgrund der Konstruktion des Sharp  ist es möglich,  den
  264. Stecker um einen  Pin  versetzt  einzuführen.  Das Interface  ist
  265. intern so geschaltet,  daß im allgemeinen  Schäden  bei  versetzt
  266. gestecktem Stecker nahezu unmöglich sind. Dennoch: Achten Sie auf
  267. einen korrekten Sitz des Steckers.
  268.  
  269. Beim  Anschluß, wie auch beim Entfernen  des  Interfaces,  müssen
  270. beide Rechner ausgeschaltet sein. Ansonsten  besteht  die Gefahr,
  271. daß die Schnittstellen-Schaltkreise Schaden nehmen können.
  272.  
  273. Noch einige Worte zur Schaltung:
  274. Beim Entwurf der Schaltung wurde auf folgende Punkte geachtet: 
  275. - Minimaler Bauteileaufwand, dadurch minimale Bauteilekosten
  276. - Minimaler Stromverbrauch, dadurch minimale Batteriekosten
  277. - Hohe Funktionssicherheit zum Schutz der Elektronik im Sharp
  278.   Selbst ein verdrehtes Einstecken am Sharp sollte keine Schäden
  279.   verursachen
  280.  
  281. Das Interface wurde an  verschiedenen  Atari-Rechnern erfolgreich
  282. betrieben, darüberhinaus auch auf einer MS-DOS-Kiste ( 386er  AT,
  283. 25 MHz ).
  284.  
  285.  
  286.  
  287. 3  PROGRAMMBESCHREIBUNG
  288.  
  289. 3.1  Anwahl der Programmfunktionen
  290.  
  291. Terminal 2000 ist auf drei verschiedene Arten zu bedienen :
  292. - Pull-Down-Menüs
  293. - Funktionstasten
  294. - Shortcuts
  295.  
  296. Die Bedienung ist also mit als auch (fast) ohne Maus möglich.
  297.  
  298.  
  299. 3.1.1  Drop-Down-Menüs
  300.  
  301. Die Drop-Down-Menüleiste mit den Oberbegriffen :
  302. Datei, Übertragen, Konverter, Parameter, Extras.
  303. Mit der Bedienung sollte eigentlich jeder vertraut sein.
  304.  
  305. 3.1.2  Funktionstasten
  306.  
  307. Die  wichtigsten  Routinen sind  auch  über  die  Funktionstasten
  308. aufrufbar.  Die  F-Tasten-Belegung   wird  nach  Betätigung   der
  309. HELP-Taste angezeigt.
  310.  
  311.  
  312. 3.1.3  Shortcuts
  313.  
  314. Als  Shortcuts   werden  hier  Tastenkürzel  bezeichnet,  die  in
  315. Verbindung mit der Control- oder Alternate-Taste  eine gewünschte
  316. Programmfunktion  anwählen.  Die jeweiligen Shortcuts sind in den
  317. Pull-Down-Menüs  hinter  den Menüpunkten  angegeben. So läßt sich
  318. beispielsweise  durch die Tastenkombination Control-Q (Kürzel für
  319. Quit) das Programm beenden.
  320.  
  321.  
  322. 3.2  Zusätzliche Meldunge bei TOS 1.0 und 1.02
  323.  
  324. Bei   Dateioperationen    wird   von   der   Infozeile   in   der
  325. Dateiauswahlbox  Gebrauch  gemacht.   DA   diese   aber  in   den
  326. TOS-Versionen 1.0 und 1.02 noch nicht existiert, wird stattdessen
  327. die entsprechende  Meldung in einer  kleinen  Box ausgegeben, die
  328. nach zwei Sekunden selbsttätig verschwindet.
  329.  
  330.  
  331. 3.3 Meldungen in der Infozeile
  332.  
  333. Bei den Aktionen  'Empfangen'  und  'Senden' erscheint  unter der
  334. Titelzeile  noch   eine  Infozeile.   Diese  enthält   eine  frei
  335. konfigurierbare   Meldung.    Diese    ist   dazu   gedacht,   um
  336. beispielsweise   den  am  Sharp   auszuführenden  Maschinenbefehl
  337. anzuzeigen. Sinnvollerweise sollte die Länge max. 9 Zeichen sein,
  338. da sonst  ein Teil  der Meldung durch die Fileselect-Box verdeckt
  339. wird.
  340.  
  341.  
  342. 3.4  Die Konfigurations-Datei
  343.  
  344. Diese  Datei  wurde  geschaffen,  um  das  Pogramm  flexibler  zu
  345. gestalten. Sie enthält zur Zeit zwei unterschiedliche Abschnitte:
  346.  
  347. a. Rechnerspezifische Meldungen / Parameter
  348.   1 - Rechnername
  349.   2 - Befehl zum Laden eines Listings über RS-232
  350.   3 - Befehl zur Ausgabe eines Listings über RS-232
  351.   4 - frei wählbarer Eintrag
  352.   5 - frei wählbarer Eintrag
  353. Der  Rechnername  kennzeichnet die CFG-Datei.  Wird der Menüpunkt
  354. 'Hilfe'  angewählt,  erscheint  eine  Alert-Box,   die  die  oben
  355. beschriebenen Einträge enthält.
  356.  
  357. b. Token-Tabelle
  358. Hier sind die Sharp-Basic-Befehle  aufgelistet, die als Token den
  359. ASCII-Codes 128 bis 255 entsprechen. Diese Informationen benötigt
  360. Terminal  2000  zur  Token-Übertragung.  Mehr  Informationen  zur
  361. Token-Tabelle im Kapitel "Token-Übertragung".
  362.  
  363. Wenn keine Konfigurationsdatei geladen werden kann, wird Terminal
  364. 2000  mit  den  entsprechenden  Default-Werten für  den  PC-1403H
  365. initialisiert.
  366.  
  367. Modifikationen der Konfigurationsdatei  sollten sehr gewissenhaft
  368. durchgeführt  werden.  Einträge   sollten  keine  Kleinbuchstaben
  369. aufweisen.  Es  sollten  keine  Zeilen  eingefügt  oder  gelöscht
  370. werden.
  371.  
  372. Im Normalfall muß diese Datei aber nie geändert werden!
  373.  
  374.  
  375. 3.5  Parameter einstellen
  376.  
  377. Die Parameter-Dialogbox  stellt das programminterne  Kontrollfeld
  378. dar.
  379.  
  380. In ihr erhält man Informationen über:
  381. - freier Speicher für externe Programme, zum Kopieren von Dateien
  382.   in Terminal 2000 usw.
  383. - TOS-Version
  384. - Pocketrechner, für den Terminal 2000 konfiguriert ist
  385. - Pfad/Name des Editors
  386. - Pfad/Name des Interpreters
  387. - Ausgabefilter gesetzt oder nicht gesetzt
  388. - RS-232-Parameter durch Terminal 2000 setzen oder nicht setzen
  389. - Start von externen Programmen über TROJA.PRG oder Programme
  390.   hinzuladen
  391. - Grow- und Shrinkboxen ein oder aus
  392.  
  393. Aktionen in der Übersicht-Box:
  394. - Anmelden eines Editors
  395. - Anmelden eines Interpreters
  396. - Ausgabefilter (de-)aktivieren
  397. - RS-232-Parameter durch Terminal 2000 (nicht) setzen lassen
  398. - Auswahl Programmstart über TROJA.PRG oder Programme zuladen
  399. - Konfiguration in TERM2000.INF sichern. Gesichert werden die
  400.   Infos über: Editor, Interpreter, Filter, RS-232, Art des
  401.   Programmstarts
  402. - Grow- und Shrinkboxen ein oder ausschalten
  403.  
  404.  
  405. 3.6  Formate der Basic-Listings
  406.  
  407. Während  der  Arbeit  mit   Terminal  2000  hat   man  es  mit  3
  408. unterschiedlichen Basic-Formaten zu tun.
  409.  
  410. Das  LST-Dateiformat entsteht durch  Abspeichern  eines  im  GFA-
  411. Basic-Interpreters entwickelten Programmes (SAVE,A).
  412.  
  413. Das  ASC-Dateiformat  (ASC  : ASCII-Datei ) entsteht  nach  einer
  414. Konvertierung  des LST-Formates.  Es entspricht  dem Sharp-Basic,
  415. nur die Zeilennummern  fehlen noch. In diesem  Format, bzw. unter
  416. dieser Datei-Endung, sollten auch Programme,  die im ASCII-Editor
  417. erstellt werden, abgespeichert werden.
  418.  
  419. Das BAS-Format entspricht dem Sharp-Basic.  Man erhält es,  indem
  420. man  ASC- und/oder BAS-Dateien  mit  der Renumber-Routine  (Neu-)
  421. Numeriert.  Dieses Dateiformat ist also zur Übertragung zum Sharp
  422. geeignet.  Dateien,  die  vom   Sharp  empfangen  werden,  weisen
  423. natürlich ebenfalls dieses Format auf.
  424.  
  425. Achtung: Das hier verwendete BAS-Dateiformat  unterscheidet  sich
  426. grundsätzlich  von den BAS-Dateien  des  GFA-Basic!  Ebenso  kann
  427. Terminal 2000 mit Dateien der Endung .GFA nichts anfangen.
  428.  
  429. Folgende Routinen nehmen eine Formatkonvertierung vor:
  430. - Renumber    : ASC --> BAS  sowie  BAS-->BAS
  431. - GFA-->Sharp : LST --> ASC
  432. - Sharp-->GFA : BAS --> LST
  433.  
  434.  
  435. 3.7  RS-232-Parameter
  436.  
  437. Die Konfiguration  der RS-232-Parameter  kann bei Bedarf  mit den
  438. Utilities EMULATOR.ACC oder XCONTROL.ACC vorgenommen werden. Dies
  439. ist aber nicht notwendig, da Terminal 2000 diese Parameter setzen
  440. kann.
  441.  
  442.  
  443. 3.8  EMULATOR.ACC
  444.  
  445. Das  EMULATOR.ACC  befindet   sich,  zumindest  bei  den  älteren
  446. ST-Modellen,  auf   der   System-Diskette  von  Atari.  Mit   dem
  447. EMULATOR.ACC lassen sich ein  Listing  vom Sharp oder ein auf die
  448. RS-232-Schnittstelle    umgeleiteter    PRINT-Befehl   auf    dem
  449. ATARI-Monitor ausgeben.
  450.  
  451. Terminal 2000 wird dazu nicht benötigt !!
  452.  
  453. Dazu  wählt man  den  ACC-Eintrag 'VT52 Emulator'  mit  folgender
  454. Einstellung :
  455. - 4800 Baud
  456. - keine Parität
  457. - 8 Bit/Zeichen
  458. - RTS / CTS
  459. - andere Einstellungen sollten keine Wirkung haben.
  460. und   schon  hat  Ihr   Pocket-Computer   einen   hochauflösenden
  461. Bildschirm.
  462.  
  463. So lassen sich mit dem Sharp auch  Ausgaben  realisieren, wie man
  464. es von  TOS-Programmen her  kennt, denn es  sind  80  Zeichen pro
  465. Zeile möglich !
  466.  
  467. Dazu  noch ein Beispiel-Programm,  welches  den  Zeichensatz  des
  468. Sharp ausgibt:
  469.  
  470. 1 WAIT 0
  471. 2 FOR I=32 TO 126
  472. 3 PRINT I;"   ";CHR$(I):CALL &80CA
  473. 4 NEXT I
  474. 5 WAIT
  475. 6 END
  476.  
  477. Das Wait 0 unterdrückt die Anzeige auf dem Display des Sharp, die 
  478. Ausgabe erfolgt mit  PRINT x: CALL &80CA.
  479.  
  480. Der CALL-Befehl in diesem Programm gilt nur für PC-1403/32kByte!
  481. Für einen 8kByte Rechner lautet er : CALL &E0CA
  482.  
  483.  
  484. 3.9  Der Katastrophenfall
  485.  
  486. Eigentlich sollte es ja nie passieren...
  487. Bei  Auftreten eines Fehlers erscheint ein Bildschirm mit Angaben
  488. zum  derzeitigen Programmstatus.  Diese Informationen  können für
  489. den Fall einer Rücksprache mit dem  Autor notiert werden. Man hat
  490. nun  die Möglichkeit die  laufende Routine zu abzubrechen  und in
  491. das Menü zurückzukehren oder das Programm zu beenden.
  492.  
  493.  
  494.  
  495. 4  ÜBERTRAGUNG
  496.  
  497. Vorweg und zu allererst:
  498. Die  Befehle CLOAD  und  CSAVE  können  mit  dem  Interface NICHT
  499. verwendet werden.
  500.  
  501. Im  folgenden   ist  von   'Ctrl-Z'   die   Rede.  Dies  ist  ein
  502. Steuerzeichen,  das  dem  Empfänger  das  Ende  einer Übertragung
  503. anzeigt.(ASCII-Code: 1A)
  504.  
  505.  
  506. 4.1  Klartext-Übertragung
  507.  
  508. 4.1.1  Sharp ==> Atari
  509.  
  510. Im Menü finden Sie unter  'Übertragen' den Menüpunkt 'Empfangen'.
  511. Wenn   Sie   ihn  mit   der   Maus   anklicken,   erscheint   die
  512. Datei-Auswahl-Box. Über der Box befindet sich ein Hinweis darauf,
  513. daß nun die  Datei  anzugeben  ist, in der die empfangenen  Daten
  514. gesichert  werden   sollen.   Als  Vorschlag  ist  der  Dateiname
  515. 'DATEN.BAS'  vorgegeben,  den  Sie  natürlich  ändern können. Sie
  516. sollten jedoch die Endung .BAS beibehalten.  Klicken  Sie nun auf
  517. den OK-Button. Es erscheinen  ein  Textfenster  und die Anweisung
  518. den  Sender,  also  den  Sharp,  einzuschalten  sowie  der  dafür
  519. notwendige  Maschinenbefehl.  Tippen Sie diesen im Sharp  ein und
  520. schließen  die Eingabe mit der  ENTER-Taste ab. Jetzt  sollte die
  521. Übertragung beginnen.
  522.  
  523. Es  wird  das  gesamte  im   Speicher  befindliche  BASIC-Listing
  524. übertragen.  Diese Datei kann jetzt  zur weiteren Bearbeitung  in
  525. einen beliebigen ASCII-Editor geladen werden.
  526.  
  527. Es   hat  sich  als  zweckmäßig  herausgestellt,   die  einzelnen
  528. Programme      aus     dem     Gesamtlisting     mittels      den
  529. Editor-Blockoperationen  'markieren' und 'speichern' separat  auf
  530. Diskette zu speichern, sofern sie dort noch nicht vorliegen.
  531.  
  532. Terminal  2000  verwendet  keinen  eigenen Zwischenspeicher  beim
  533. Datenempfang.  Dies  ist aufgrund  der geringen  Datenmenge  auch
  534. nicht notwendig.
  535.  
  536. Das vom Sharp, als letztes Zeichen,  gesendete Ctrl-Z wird in der
  537. Zieldatei  nicht  gespeichert. Ältere Versionen von Terminal 2000
  538. nahmen dieses Zeichen noch in den Text mit auf. Listings, die mit
  539. Ctrl-Z enden, können in einigen Routinen von Terminal 2000 Fehler
  540. verursachen!
  541.  
  542. Die UNDO-Taste bricht den Empfang  der Daten ab. Alle Datenkanäle
  543. werden  geschlossen.   Ist  der   Sharp  noch  BUSY,   kann   die
  544. Senderoutine im Sharp durch längeres  Drücken der BREAK-Taste bis
  545. zum Ende ausgeführt werden.
  546.  
  547.  
  548. 4.1.2  Atari ==> Sharp
  549.  
  550. Es  sollten  sich zu  diesem Zeitpunkt  alle Basic-Programme  auf
  551. Diskette befinden, da  jetzt ein NEW -Befehl zweckmäßig ist! (Das
  552. Treiber-Programm für die RS-232-Schnittstelle  wird  nicht  durch
  553. NEW gelöscht, wenn es vorschriftsmäßig eingegeben worden ist.)
  554.  
  555. Jetzt stellt man sich  aus den gesammelten  Einzelprogrammen, die
  556. man im Sharp haben möchte, ein Gesamtlisting zusammen,  wobei auf
  557. eine fortlaufende Zeilennumerierung zu achten ist. Hier läßt sich
  558. die  Routine  RENUMBER   auf   elegante  Art  einsetzen.   Dieses
  559. Gesamtlisting wird nun  zum Sharp übertragen. Wie die Übertragung
  560. gestartet wird, wurde ein Kapitel zuvor beschrieben.
  561.  
  562. Hinweis:
  563. Es sollten keine einzelnen  Programme nach und nach  vom Atari in
  564. den  Sharp geladen werden, da diese im Sharp, unabhängig  von der
  565. Zeilennumerierung,   an  die  bereits  im  Speicher  befindlichen
  566. Programme  hinten  angehängt  werden.  Es  könnte  somit  nur das
  567. zuletzt übertragene Programm korrekt im Sharp ediert werden. Eine
  568. erneute  Übertragung Sharp==>Atari  wäre  ebenso nur noch für das
  569. zuletzt im Speicher angehängte Programm möglich.
  570. Deshalb also der NEW -Befehl vor der Übertragung zum Sharp.
  571.  
  572. Die UNDO-Taste bricht die Übertragung ab. Alle Datenkanäle werden
  573. geschlossen. Es wird noch ein Ctrl-Z zum  Sharp  gesendet,  damit
  574. dieser den Empfang beendet. Falls der Sharp  einmal  BUSY bleiben
  575. sollte, gibt es den Menüpunkt 'Ctrl-Z', der den Sharp noch einmal
  576. an den Abbruch des  Empfanges erinnern soll.
  577.  
  578. Ein Linefeed (nach dem  Carriage Return) wird nicht  gesendet, da
  579. dies  beim   Sharp,  sofort   nach   der  ersten   Zeile,   einen
  580. Empfangsabbruch bewirken würde.
  581.  
  582. In dieser Übertragungsrichtung  ist  ein Filter zuschaltbar,  das
  583. als erstes Zeichen einer  Zeile  nur eine Ziffer  oder ein Ctrl-Z
  584. zuläßt. Hierdurch ergibt sich  eine  gewisse Sicherheit,  daß man
  585. den   Sharp   nicht  völlig   durcheinander   bringt,  falls  man
  586. versehentlich z.B. eine Bilddatei als Quelldatei gewählt hat.
  587.  
  588.  
  589. 4.2  Token-Übertragung
  590.  
  591. Die nachfolgend  beschriebene Token-Übertragung  ist eine Option,
  592. die nur als  Zugabe in Terminal 2000  implementiert wurde.  Lesen
  593. Sie  am  besten  die  Erläuterungen  zur  Token-Übertragung   und
  594. entscheiden dann, ob Sie diese  Übertragungsart  überhaupt nutzen
  595. wollen.   Ihnen  entgeht   nichts,   wenn   Sie  sich   auf   die
  596. Klartext-Übertragung beschränken.
  597.  
  598. 4.2.1  Sharp ==> Atari
  599.  
  600. Der  Sharp  speichert  Basic-Befehle,  die  auf dem  Display  als
  601. Klartext  erscheinen,  in einem Byte, ein sogenanntes  Token.  Im
  602. Zeichensatz des Sharp sind  die Token etwa  in  den ASCII-Zeichen
  603. 128 bis 255 enthalten.  Bisher wurde das Basic-Listing  vom Sharp
  604. im Klartext gesendet. Dazu mußte der Sharp jeden Befehl,  der als
  605. 1-Byte-Token    gespeichert    ist,   in   einen   entsprechenden
  606. ASCII-String umwandeln.  Es ist leicht  einzusehen,  daß er dafür
  607. eine gewisse  Zeit  braucht.  Ebenso, daß es länger  dauert, wenn
  608. Befehle im Klartext gesendet werden müssen.
  609.  
  610. Terminal 2000 ist in der Lage, Token vom Sharp zu empfangen. Dazu 
  611. enthält Terminal 2000 in einem String-Array den Token-Vorrat  des  
  612. Sharp, was  eine  schnelle  Umwandlung  in  Klartext  ermöglicht.
  613. Dieses String-Array kann vom  Anwender  durch  Modifizierung  der 
  614. Konfigurationsdatei an eigene Bedürfnisse angepaßt werden.
  615.  
  616. Die   Token-Übertragung    erfordert    eine   Modifikation   des
  617. Treiberprogramms    im    Sharp!     Es    wird    einfach    die
  618. Token-Klartext-Wandlung im Treiber umgangen.
  619.  
  620. Wenn  der  Treiber bereits im Sharp  installiert  ist,  geht  das
  621. relativ einfach:
  622.  
  623. POKE &E086,&2D
  624. POKE &E087,&10
  625.  
  626. Um den  Treiber wieder  in den Original-Zustand zu versetzen, ist
  627. folgendes zu tun:
  628.  
  629. POKE &E086,&5A
  630. POKE &E087,&3A
  631.  
  632. Für den PC-1403H (32kByte) gelten die Adressen: &8086 und &8087.
  633.  
  634.  
  635. 4.2.2  Atari ==> Sharp
  636.  
  637. Der Sharp  ist ohne  Treiber-Modifikation dazu in der Lage, Token
  638. zu empfangen! Terminal 2000 kann aus Klartext-Lisings  die  Token
  639. heraussuchen, was aber einige Zeit  dauert. Diese Übertragungsart
  640. versteckt  sich hinter dem Menüpunkt "Senden... (T)". Da  während
  641. der Übertragung die  dem Token  entsprechenden ASCII-Zeichen  auf
  642. dem Bildschirm  erscheinen,  ist  das  Listing  dort  nicht  mehr
  643. lesbar.
  644.  
  645.  
  646. 4.3 Fehler während der Übertragung
  647.  
  648. Ab und zu kann es vorkommen, daß der Sharp  nach der ersten Zeile
  649. den  Empfang  beendet.  Dann  sollte  die  Übertragung  mit  UNDO
  650. abgebrochen  und  im Sharp NEW eingeben  werden. Danach  kann die
  651. Übertragung noch mal von vorne begonnen werden.
  652.  
  653.  
  654. 4.4  Fehler nach der Übertragung
  655.  
  656. Sollte  nach  beendigter  Übertragung  von  Terminal  2000  keine
  657. Fertig-Meldung  erscheinen oder  der Sharp BUSY  bleiben, kann es
  658. helfen, wenn :
  659.  
  660. - ein Ctrl-Z abgeschickt wird
  661.   (nach Übertragung Atari ==> Sharp)
  662. oder
  663. - das Interface vom Sharp getrennt wird 
  664.   (nach Übertragung Atari ==> Sharp)
  665. oder
  666. - der Sharp kurz ein- und ausgeschaltet wird
  667.   (nach Übertragung Atari ==> Sharp)
  668. oder
  669. - ein Ctrl-Z vom Sharp gesendet wird
  670.   (nach Übertragung Sharp ==> Atari)
  671.   Wenn der Sharp alle Daten gesendet hat und nicht mehr BUSY ist,
  672.   aber Terminal 2000 noch auf Daten wartet, dann kann man ein
  673.   Ctrl-Z senden:
  674.      PC-1403  : CALL &E0E0
  675.      PC-1403H : CALL &80E0
  676. oder
  677. - die BRK-Taste längere Zeit gedrückt wird
  678.   (nach Übertragung Sharp ==> Atari)
  679.  
  680. In letzterem  Fall piept  der Rechner vor  sich hin, er überträgt
  681. also weiter, wenn auch nicht mehr zum Atari!
  682.  
  683.  
  684. 4.5 Nach der Übertragung
  685.  
  686. Nach der Übertragung erscheint eine von vier möglichen Meldungen:
  687.  
  688. - "Es wurden XX Zeichen übertragen"
  689.  
  690.   Die Übertragung wurde erfolgreich durchgeführt. Die  angegebene
  691.   Zeichenanzahl sollte bei Klartext-Übertragung mit der Größe der
  692.   Quell- bzw. Zieldatei übereinstimmen.
  693.  
  694.   Sie ist jedoch größer, als der Speicherbedarf  im Sharp, da  in
  695.   diesem die Basic-Befehle einem ASCII-Code  (Token) entsprechen.
  696.   Ein GOSUB  nimmt also  beispielsweise  nur ein Byte im Sharp in
  697.   Anspruch, während es im Atari fünf Byte (plus ein Byte für  das
  698.   nachfolgende Leerzeichen) benötigt. Der Speicherbedarf für  ein
  699.   Listing beträgt im Sharp etwa 0.7 * Dateilänge.
  700.  
  701. - "Übertragung abgebrochen"
  702.  
  703.   Die Übertragung wurde abgebrochen,  da die UNDO-Taste  betätigt
  704.   wurde.
  705.  
  706. - "Illegales Zeichen"    (bei aktivem Filter)
  707.  
  708.   Die Quelldatei enthielt ein Zeichen, das vom Filter  abgefangen
  709.   wurde. Die Übertragung wird  abgebrochen,  der  ASCII-Code  des
  710.   illegalen Zeichens in dezimaler Darstellung, sowie das  Zeichen
  711.   selber, erscheinen im Button der Alert-Box.
  712.  
  713. - "Kein Sharp-Basic"
  714.  
  715.   Das Filter hat am Anfang einer Zeile  ein Zeichen festgestellt,
  716.   das weder eine Ziffer,  noch ein Ctrl-Z ist. Hierauf folgt noch
  717.   die Meldung  "Illegales Zeichen",  die  nun das  am Anfang  der
  718.   Zeile   gefundene   Zeichen,   als   ASCII-Code   in  dezimaler
  719.   Darstellung,  sowie  das  Zeichen  selbst  im  Button  der  Box
  720.   ausgibt.
  721.  
  722.  
  723. 4.6  Ein kleiner Schönheitsfehler
  724.  
  725. Es gibt ein paar Befehle, die der  Sharp nicht senden kann! Diese
  726. Befehle  dienen jedoch zum größten Teil zur Steuerung des CE-140-
  727. Diskettenlaufwerkes  und damit zusammenhängender Dateifunktionen.
  728. Auf sie kann also im allgemeinen verzichtet werden.
  729.  
  730. Eine Liste dieser Befehle (2-Byte-Token):
  731. AS, COPY, DSKF, DELETE, EOF, FILES, INIT, KILL, LOF, LOC,
  732. LFILES, NAME, OUTPUT, RENUM, SET und XOR
  733. (Für diese Liste gilt: Ohne Gewähr!)
  734.  
  735. Man beachte, daß auch die logische  Operation XOR in dieser Liste
  736. enthalten ist.
  737.  
  738. Diese Befehle können aber vom Atari zum Sharp  übertragen werden,
  739. wenn die Übertragung im Klartext erfolgt.
  740.  
  741.  
  742.  
  743. 5  DATEI-OPERATIONEN
  744.  
  745. 5.1  Aufruf eines Editors
  746.  
  747. Es  ist  möglich,   einen  Editor  zur   Bearbeitung  der   Daten
  748. aufzurufen,  ohne  Terminal  2000  zu  verlassen.   Es  kann  ein
  749. beliebiger  ASCII-Editor verwendet werden, der sich auch in einem
  750. anderen Verzeichnis oder Laufwerk befinden darf.
  751.  
  752.  
  753. 5.2  Anmeldung eines Editors
  754.  
  755. Terminal 2000  liest beim Programmstart die  Datei  TERM2000.INF,
  756. falls  vorhanden,  ein  und überprüft  ,  ob  ein  entsprechendes
  757. (Editor-)Programm   vorhanden  ist.  Wenn  die  Info-Datei  nicht
  758. existiert, oder sie existiert, aber es wurde keine entsprechendes
  759. Programm gefunden, wird dies beim Programmstart vom Terminal 2000
  760. angezeigt.
  761.  
  762. Der Editor  kann in  der  Parameter-Dialogbox bestimmt werden. Es
  763. sind  nur  die TOS-üblichen  Extensionen TOS,TTP,PRG,APP  oder im
  764. Editornamen zulässig.
  765.  
  766.  
  767. 5.3  Aufruf eines Programmes
  768.  
  769. Weiterhin besteht die Möglichkeit ein frei wählbares Programm aus
  770. Terminal 2000 heraus aufzurufen.
  771.  
  772.  
  773. 5.4  Fehlerquellen beim Editor-/Programmaufruf
  774.  
  775. Da  sich  beim Editoraufruf  zwei Programme, Editor bzw. Programm
  776. und Terminal 2000, im Speicher befinden, kann es auf Rechnern mit
  777. einer  Speichergröße von 512 kByte zu Speicherplatzmangel kommen.
  778. Terminal 2000 reserviert  ca. 100 kByte  Speicher  für sich,  der
  779. verbleibende   Speicherplatz   steht   externen  Programmen   zur
  780. Verfügung.
  781.  
  782. Bei  Auftreten  eines  Fehlers   beim  Aufruf  des  Editors  bzw.
  783. Programms wird die TOS-Fehlernummer ausgegeben.
  784.  
  785. Die in diesem Zusammenhang wichtigsten Fehlernummern :
  786.  -33 : Datei nicht gefunden
  787.  -34 : Pfadname nicht gefunden
  788.  -39 : Speicher voll
  789.  -66 : Keine ausführbare Programmdatei
  790. Die Bedeutung anderer Fehlernummern ist entsprechender  Literatur
  791. zu entnehmen.
  792.  
  793. Terminal 2000 wechselt beim Aufruf eines Programmes  bzw. Editors 
  794. in das entsprechende Verzeichnis. Somit sollten  eigentlich  alle   
  795. Programme korrekt gestartet werden können.
  796.  
  797.  
  798. 5.5  Programmstart über TROJA.PRG
  799.  
  800. TROJA.PRG  soll  den Aufruf externer  Programme auf Rechnern  mit
  801. geringer Speicherkapazität, wie 260ST oder 520ST(E), ermöglichen.
  802. Dabei steht den aufzurufenden Programmen auch der Speicher wieder
  803. zur Verfügung, der bis dahin von Terminal 2000 beansprucht wurde.
  804.  
  805. Der erzielbare  Gewinn an Speicherplatz  liegt  zur Zeit bei etwa
  806. 150 kByte! Dieser  Wert ist abhängig  von der Programmversion von
  807. Terminal 2000.
  808.  
  809. Die Funktionsweise:
  810. Der Aufruf  externer  Programme  über TROJA.PRG  erinnert an  das
  811. die Story vom Trojanischen Pferd, daher auch der Programmname.
  812.  
  813. Wird  ein  Programm/Editor  mittels  TROJA  aufgerufen,  so  wird
  814. Terminal 2000  beendet.  Dieses  ruft als letzte Aktion TROJA.PRG
  815. auf und übermittelt  ihm Informationen darüber,  welches Programm
  816. aufgerufen  werden  soll.  TROJA.PRG  ruft  das Programm  auf und
  817. bleibt resident, beansprucht dafür aber nur sehr wenig  Speicher.
  818. Nach  Beendigung des aufgerufenen  Programmes  wird TROJA  weiter
  819. ausgeführt.  TROJA.PRG wird nun  beendet,  ruft  aber als  letzte
  820. Aktion Terminal 2000 auf.
  821.  
  822. Hieraus  wird  ersichtlich,  daß  diese  Art  des  Aufrufs  eines
  823. externen Programmes  nicht die wahre Freude sein  kann, wenn  man
  824. nicht über eine Festplatte oder Ramdik verfügt.
  825.  
  826. Ob Programme  über  TROJA.PRG  gestartet  oder  zu Terminal  2000
  827. hinzugeladen  werden  sollen,  läßt  sich  in  der  Übersicht-Box
  828. auswählen.
  829.  
  830. Es  ist  übrigens  relativ sinnlos, TROJA.PRG  vom Desktop aus zu
  831. starten.
  832.  
  833.  
  834. 5.6 Tip für Diskettenbenutzer
  835.  
  836. Arbeitet man nur mit Disketten,  so sollte man sich Terminal 2000
  837. und einen Editor nach Wahl auf eine gemeinsame Diskette kopieren.
  838. Wer ein TOS der Version 1.04 oder höher  in  seinem  Rechner hat,
  839. kann dann TERM2000.PRG als AUTO-Start-Anwendung anmelden.
  840.  
  841.  
  842. 5.7  Datei ansehen / drucken
  843.  
  844. Unter  diesen  Menüpunkten  lassen  sich  Dateien,  die  sich auf
  845. Diskette  oder Festplatte befinden, ansehen oder auch ausdrucken.
  846. Mit der linken Maustaste läßt sich das Listing  anhalten, mit der
  847. rechten Maustaste wird die Ausgabe abgebrochen.
  848.  
  849. Die  Datei  wird  hierbei   zunächst  komplett  in  den  Speicher
  850. eingelesen,  dann der entsprechende  Speicherinhalt  auf  Monitor
  851. oder Drucker ausgegeben.
  852.  
  853. Bei diesen Routinen hat das Filter, sofern aktiv, Einfluß.
  854.  
  855.  
  856. 5.8  Datei kopieren
  857.  
  858. Es können  beliebige  Dateien  kopiert  werden.  Zu beachten  ist
  859. jedoch,    daß   die    Dateigröße    kleiner   als   der   freie
  860. RAM-Speicherplatz  sein  muß.  Nach  Auswahl  der Quelldatei  ist
  861. mittels  Fileselect-Box  der Pfad und der Name der  Zieldatei  zu
  862. wählen.  Wenn die Datei nicht  in den Speicher  passt,  wird eine
  863. entsprechende Fehlermeldung ausgegeben.
  864.  
  865.  
  866. 5.9  Renumber - Datei neu numerieren
  867.  
  868. Ähnlich  des RENUM-Befehles  im Sharp, lassen  sich  Dateien  von
  869. Diskette  oder  Festplatte  neu numerieren.  Dies  ist jedoch nur
  870. möglich, wenn  als Sprungziele hinter GOTO,  GOSUB, RESTORE keine
  871. Zeilennummern  angegeben sind. Wie Zeilennummern  als Sprungziele
  872. vermeidbar sind, ist im Kapitel 'Zeilennummern' beschrieben.
  873.  
  874. Das Quell-Listing darf keinen Doppelpunkt hinter der Zeilennummer
  875. aufweisen,  wie er auf  dem Display des Sharp erscheint. Nach der
  876. Zeilennummer muß ein Leerzeichen folgen.
  877.  
  878. Sofern kein Fehler auftritt, geschieht etwa folgendes :
  879. - es wird eine Sharp-Basic-Datei eingelesen
  880. - eine neue Zeilennumerierung, beginnend ab 10, in
  881.   Zehnerschritten, wird durchgeführt
  882. - eine oder mehrere Dateien können an die erste angehängt werden,
  883.   wobei die Zeilennumerierung fortlaufend bleibt
  884.   Achtung: Hierbei sollte die Diskette nicht gewechselt werden!
  885. - zwischen den einzelnen Listings wird die Zeile
  886.           REM --- NEUES PROGRAMM ---
  887.   mit entsprechender Zeilennummer eingefügt
  888. - das fertige Listing wird unter neuem Dateinamen abgespeichert
  889.  
  890. Als  Besonderheit  werden auch  Listings, die keine Zeilennummern
  891. enthalten, durch diese Routine nachträglich numeriert.
  892.  
  893. Die Routine erkennt selbst, ob das Listing bereits numeriert ist.
  894. Dazu wird das erste Zeichen  des Listings untersucht.  Handelt es
  895. sich hierbei um eine Zahl, so wird davon ausgegangen, daß es sich
  896. um ein numeriertes Listing handelt.
  897.  
  898. Zur  Kontrolle  des  Ablaufes, wird  im oberen  Fenster  das neue
  899. Listing ausgegeben. Im unteren Fenster kann dann verfolgt werden,
  900. wie das  Programm  nach Zeilennummern  oder Labels  hinter  GOTO,
  901. GOSUB und RESTORE sucht.
  902.  
  903. Wird in einer Zeile eines dieser Worte gefunden, so wird zunächst
  904. das  erste  von rechts  untersucht.  Danach  werden  jeweils  die
  905. nächsten vorhandenen in Richtung Zeilenanfang hin untersucht.
  906.  
  907. Wenn  eine Zeilennummer hinter  einem  der  Worte  gefunden wird,
  908. erfolgt im unteren Fenster ein Hinweis darauf.  Die  Routine wird
  909. jedoch nicht abgebrochen.
  910.  
  911. Es  wird  berücksichtigt,  daß  hinter  RESTORE keine  Zielangabe
  912. erforderlich ist.
  913.  
  914. In dieser Routine hat die Filterfunktion keinen Einfluß !
  915.  
  916.  
  917. 5.10  Uppercase-Wandlung
  918.  
  919. Diese Funktion  liest ein Basic-Listing  ein, wandelt  klein-  in
  920. Großbuchstaben um und  gibt das umgewandelte  Listing wieder aus.
  921. Das  neue  Listing  darf  übrigens  unter  dem  alten  Dateinamen
  922. abgespeichert werden.
  923.  
  924.  
  925. 5.11 Basic-Programm überprüfen
  926.  
  927. Diese Routine  überprüft eine Datei im LST-, ASC- oder BAS-Format
  928. auf ungültige Zeichen. Jedes Zeichen wird nur einmal in der Datei
  929. gesucht. Die Datei wird hierdurch nicht verändert. Langes Drücken
  930. der rechten  Maustaste  bricht die Routine ab. Weiterhin wird das
  931. Listing auf Zeilen mit mehr als 80 Zeichen hin untersucht.
  932.  
  933. Diese Funktion verändert die untersuchte Datei NICHT.
  934.  
  935.  
  936.  
  937. 6  GFA-BASIC-KONVERTER
  938.  
  939. 6.1  Allgemeines
  940.  
  941. Dies  ist etwas  Besonderes  für Besitzer  des GFA-Basic (Version
  942. 2.0x oder 3.0x).  Neben der Möglichkeit den GFA-Basic-Interpreter
  943. aufrufen  zu  können, sind Routinen zur Konvertierung der  Sharp-
  944. und GFA-Basic-Formate implementiert.
  945.  
  946.  
  947. 6.2  Aufruf des Interpreters
  948.  
  949. Der Interpreter  muß  zunächst angemeldet  werden. Dies geschieht
  950. genauso,  wie es für  den Editor  schon beschrieben wurde. Danach
  951. kann er aus Terminal 2000 heraus gestartet werden.
  952.  
  953.  
  954. 6.3  Grenzen der Konvertierbarkeit
  955.  
  956. Bei der Entwicklung im GFA-Basic-Interpreter müssen natürlich die
  957. besonderen Eigenschaften des Sharp-Basic berücksichtigt werden.
  958.  
  959. Dazu gehören unter anderem folgende Regeln:
  960.  
  961. - Variablennamen haben maximal 2 Zeichen
  962. - Es dürfen keine IF-Bedingungen geschachtelt werden.
  963.   d.h. nach einer Zeile
  964.                        IF <Bedingung> THEN
  965.   darf keine weitere IF-Zeile und auch keine FOR..TO-Zeile 
  966.   kommen. Auf das THEN darf übrigens verzichtet werden.
  967. - Natürlich dürfen nur Befehle eingesetzt werden, die im Sharp-
  968.   UND im GFA-Basic enthalten sind. Bei der Konvertierung kann 
  969.   die LST-Datei auf ungültige Befehle geprüft werden.
  970.  
  971. - Die DEF-Label DEF-<Space> und DEF-<Komma> dürfen nicht 
  972.   verwendet werden. Ebenso dürfen Space und Komma nicht in einem
  973.   aus mehreren Zeichen bestehenden Labelnamen enthalten sein.
  974. - Zeilennummern als Sprungziele für GOTO, GOSUB und RESTORE sind
  975.   nicht erlaubt.
  976.  
  977. Es folgt nun eine Auflisting der Befehle und  Funktionen, die  in
  978. beiden Basics enthalten sind:
  979.  
  980.  
  981.  
  982. Gemeinsame Befehle für GFA-Basic 3.0X und PC-1403:
  983. --------------------------------------------------
  984.  
  985. CALL               (relativ sinnlos)
  986. CHAIN              (zu unterschiedlich)
  987. CLEAR
  988. CONT               (sinnlos)
  989. DATA
  990. DIM
  991. END
  992. FOR..TO..STEP..NEXT
  993. GOSUB <Label>
  994. GOTO <Label>
  995. IF..THEN           (THEN ist optional, GFA schließt mit ENDIF)
  996. INPUT var
  997. INPUT "text";var
  998. LPRINT...
  999. NEW                (sinnlos)
  1000. PEEK,POKE          (sinnlos)
  1001. PRINT
  1002. READ
  1003. REM
  1004. RESTORE
  1005. RESTORE Label
  1006. RETURN             (darf in GFA-Basic nicht im IF-Zweig stehen)
  1007. RUN                (sinnlos)
  1008. STOP
  1009. TRON,TROFF         (wer's braucht...)
  1010.  
  1011.  
  1012.  
  1013. Gemeinsame Funktionen:
  1014. ----------------------
  1015.  
  1016. Die Argumente trigonometrischer Funktionen  werden  in  GFA-Basic 
  1017. als Bogenmaß (RAD) interpretiert.
  1018.  
  1019. Sehr wichtig:
  1020. Wo nicht angegeben,  sind  Klammern beim Sharp um das  Argument x
  1021. bzw. x$ optional.  Sollen  Listings leicht konvertierbar sein, so
  1022. sollten  Klammern  im  Sharp-Listing  grundsätzlich  (!) gesetzt
  1023. werden.
  1024.  
  1025. GFA:          PC-1403:
  1026. ----          --------
  1027.  
  1028. ABS(x)       ABS x
  1029. ACOS(x)      ACS x            wird vom Konverter angepaßt
  1030. ASC(x$)      ASC x$
  1031. ASIN(x)      ASN x            wird vom Konverter angepaßt
  1032. ATN(x)       ATN x
  1033. CHR$(x)      CHR$ x
  1034. COS(x)       COS x
  1035. EXP(x)       EXP x
  1036. HEX$(x)      HEX x            abweichende Rückgabetypen
  1037. INKEY$       INKEY$
  1038. INT(x)       INT x
  1039. LEFT$(x$,n)  LEFT$(x$,n)     In GFA-Basic ist n optional
  1040. LEN(x$)      LEN x$
  1041. LOG(x)       LN x             wird vom Konverter angepaßt
  1042. LOG10(x)     LOG x            wird vom konverter angepaßt
  1043. MID$(x$,a,n) MID$(x$,a,n)    In GFA-Basic ist n optional
  1044. PI            PI
  1045. RIGHT$(x$,n) RIGHT$(x$,n)    In GFA-Basic ist n optional
  1046. SGN(x)       SGN x
  1047. SIN(x)       SIN n
  1048. SQR(x)       SQR x
  1049. STR$(x)      STR$ x
  1050. TAN(x)       TAN x
  1051. VAL(x$)      VAL x$
  1052.  
  1053.  
  1054.  
  1055. Logische Operationen:
  1056. ---------------------
  1057.  
  1058. AND           AND
  1059. NOT           NOT
  1060. OR            OR
  1061. XOR           XOR              Kann der Sharp nicht senden !
  1062.  
  1063.  
  1064. Kraut und Rüben:
  1065. ----------------
  1066.  
  1067. RANDOM(x)    RANDOM           In GFA Funktion, bei Sharp Befehl
  1068.                                Haben wenig gemeinsam!
  1069. RND[(x)]     RND x            Identisch, wenn das Argument der
  1070.                                Sharp-Funktion gleich 1 ist.
  1071.   ---        PAUSE            Während der Konvertierung 
  1072.                                Sharp-->GFA wird PAUSE in PRINT
  1073.                                gewandelt.
  1074.  
  1075. Abschließend  sei noch  darauf  hingewiesen, daß eine fehlerfreie
  1076. Konvertierung  nicht  garantiert werden kann. Das Ergebnis sollte
  1077. also auf jeden Fall getestet werden.
  1078.  
  1079.  
  1080. 6.4  Konverter GFA- nach Sharp-Basic
  1081.  
  1082. Aufgrund  der fantastischen  Strukturiertheit  des GFA-Basic  ist
  1083. diese Konvertierung relativ problemlos.
  1084.  
  1085. Es können  somit Programme im  GFA-Basic-Interpreter erstellt und
  1086. getestet werden. Diese werden als LST-Datei abgespeichert und mit
  1087. der Konvertierungsroutine  GFA-->Sharp in ein Sharp-Basic-Listing
  1088. (ASC-Format) gewandelt. Dieses enthält noch keine  Zeilennummern,
  1089. denn dafür gibt es ja die Renumber-Routine.
  1090.  
  1091. So wird konvertiert:
  1092. - Wahlweise Befehlssatz kontrollieren, hierbei wird das Listing
  1093.   auf GFA-Basic-Befehle/Funktionen untersucht, die der Sharp
  1094.   nicht kennt.
  1095. - Listing in Uppercase wandeln, weil Variablen in Großbuchstaben
  1096.   vorliegen müssen
  1097. - IF..ENDIF  nach  IF..THEN..  sowie  FOR..NEXT  anpassen
  1098. - Label und Sprunganweisungen setzen
  1099. - LOG, LOG10, HEX$, ASIN, ACOS anpassen
  1100.  
  1101. Zur Kontrolle des  Befehlssatzes  enthält die Datei  TERM_GFA.LIB
  1102. die Befehle und Funktionen aus dem GFA-Basic, die der Sharp nicht
  1103. kennt.  Bei Bedarf  kann  diese Datei  modifiziert  werden, dabei
  1104. sollte man die Struktur  jedoch nicht  ändern. Der Aufbau ist wie
  1105. folgt definiert:
  1106. - Kommentarzeilen, durch * gekennzeichnet
  1107. - Schlüsselwort 'Daten', kennzeichnet den Beginn der Liste
  1108. - Befehle und Funktionen, jeweils in Hochkomma eingefaßt
  1109.   und durch Komma getrennt.
  1110. - "***" kennzeichnet das Ende der Liste und der Datei
  1111. - Innerhalb der Liste sollten keine Leerzeilen auftreten.
  1112. - Die Anzahl der Befehle/Funktionen ist insgesamt auf 250
  1113.   beschränkt.
  1114.  
  1115.  
  1116. 6.5  Konverter Sharp- nach GFA-Basic
  1117.  
  1118. Es gehört schon einiges dazu, den Spaghetti-Code des Sharp in ein
  1119. Format  zu bringen,  das vom GFA-Basic verstanden wird. So dauert
  1120. eine Umwandlung auch entsprechend lange.
  1121.  
  1122. Diese  Konvertierungsrichtung   ist  dazu   gedacht,   vorhandene
  1123. Sharp-Listings  in GFA-Basic  zu wandeln.  Zur Entwicklung  neuer
  1124. Programme sollte diese Routine nicht zur Anwendung kommen.
  1125.  
  1126. So wird konvertiert:
  1127. - Entfernen der Zeilennummern 
  1128. - Aufsplitten von Mehrbefehls- in Einbefehlszeilen 
  1129. - Umwandlung von IF..THEN.. nach IF..ENDIF
  1130. - Anpassung der Funktionen LN, LOG, HEX, ASN, ACS
  1131. - Befehl PAUSE in PRINT wandeln
  1132. - Entfernen der Leerzeichen zwischen Funktion und Argument
  1133. - Suchen von Labels hinter GOTO, GOSUB, RESTORE
  1134. - Labels in Label (für GOTO,RESTORE) oder PROCEDURE wandeln
  1135.  
  1136. Der  Befehl  PAUSE bewirkt  auf  dem Sharp  eine Ausgabe auf  dem
  1137. Display, die nach etwa 1 Sekunde verschwindet. Für GFA-Basic wird
  1138. der  PAUSE-Befehl  in ein  PRINT  gewandelt. Die unterschiedliche
  1139. Funktionsweise ist für die meisten Anwendungen vernachlässigbar.
  1140.  
  1141. Hinweis:
  1142. Bei  der  Funktion  INT  (x)  ist  es  noch  nicht  möglich,  das
  1143. Leerzeichen zwischen Funktion und Argument zu entfernen, dies muß
  1144. im Interpreter nachgebessert werden.
  1145.  
  1146. Es wird auf  eine  Befehlssatzkontrolle  verzichtet.  Zeilen, die
  1147. ungültige      Befehle      enthalten,      kennzeichnet      der
  1148. GFA-Basic-Interpreter  bekanntermaßen  durch  das Symbol  ==>  am
  1149. Zeilenanfang.
  1150.  
  1151.  
  1152. 6.6  Ein Tip am Rande
  1153.  
  1154. Der  Programmstart  vom Terminal  2000 verlängert sich  durch die
  1155. Auswertung   der   Datei  TERM_GFA.LIB  merklich.   Wer  auf  die
  1156. Befehlskontrolle  im GFA-  nach Sharp-Konverter  verzichten  kann
  1157. oder  die  GFA-Basic-Konvertierung  gar nicht nutzt,  sollte  das
  1158. Laden  der  Datei TERM_GFA.LIB  verhindern.  Dazu kann  die Datei
  1159. umbenannt, verschoben  oder gelöscht werden.  Entsprechendes gilt
  1160. übrigens auch für die Konfigurationsdatei TERM2000.CFG.
  1161.  
  1162.  
  1163. 6.7  Temporäre Dateien
  1164.  
  1165. Während  der Konvertierung  werden  eine oder  mehrere  temporäre
  1166. Dateien  angelegt und wieder  gelöscht.  Wird  die  Konvertierung
  1167. jedoch  mittendrin unterbrochen,  zum Beispiel durch einen Reset,
  1168. so  werden  Sie diese Dateien anschließend im Verzeichnis finden.
  1169. Sie werden spätestens bei der nächsten Konvertierung gelöscht.
  1170.  
  1171. Es bleiben  nach  der  Umwandlung  Sharp-->GFA  noch zwei Dateien
  1172. erhalten. In LABEL.TMP kann man sich die vom Konverter gefundenen
  1173. Label ansehen, PROC.TMP enthält  die  gefundenen  Prozedur-Namen.
  1174. Ein Label, das nicht von GOTO, GOSUB  oder  RESTORE  angesprungen
  1175. wird,  wie  z.B.  ein  DEF-Label,  wird  nicht  in diesen Dateien
  1176. festgehalten. 
  1177.  
  1178.  
  1179.  
  1180. 7  TIPS UND TRICKS
  1181.  
  1182. 7.1  Allgemeines
  1183.  
  1184. Werden Programme auf dem Atari erstellt/bearbeitet, so muß darauf
  1185. geachtet  werden,  daß  die Zeilenlänge  keinesfalls  80  Zeichen
  1186. überschreiten darf. Das einundachzigste Zeichen würde im Sharp in
  1187. der   nächsten  Zeile,   an   der  Position  einer   Zeilennummer
  1188. auftauchen, was dieser natürlich nicht versteht.
  1189.  
  1190. In diesem Zusammenhang ist darauf hinzuweisen, daß sich durch die
  1191. Übertragung die Länge  einer Zeile verändern kann. Der Sharp kann
  1192. für die Zahl PI und die Wurzelfunktion SQR ein einzelnes  Zeichen
  1193. verwenden. Dieses wird bei der Übertragung  zum Atari in die zwei
  1194. bzw.  drei Zeichen  PI bzw. SQR umgewandelt.  So verlängert  sich
  1195. eine Zeile,  die  PI  oder  SQR beinhaltet,  entsprechend.  Lange
  1196. Zeilen, die im Sharp  erstellt wurden, können sich im ungünstigen
  1197. Fall auf über 80 Zeichen verlängern.
  1198.  
  1199.  
  1200. 7.2  Zeilennummern
  1201.  
  1202. Das Sharp-BASIC ist Zeilennummernorientiert. Beispiel :
  1203.  
  1204. 10 I=1
  1205. 20 PAUSE I
  1206. 30 I=I+1
  1207. 40 GOTO 20 
  1208.  
  1209. Eine  neue Zeilennumerierung ist im  Sharp  mit  den RENUM-Befehl
  1210. unproblematisch    durchzuführen.    Ändert   man   jedoch    die
  1211. Zeilennummern  im  Editor  auf dem  Atari,  so geschieht es  sehr
  1212. schnell, daß  man  vergißt,  die Zeilennummern  hinter  GOTO oder
  1213. GOSUB anzupassen.
  1214.  
  1215. Hier kann  ein  Programmiertrick weiterhelfen. Es ist  sicherlich
  1216. bekannt, daß man im Sharp die Programme mit der DEF-Taste starten
  1217. kann.
  1218.  
  1219. Beispiel :
  1220.  
  1221. 10 "C" : REM Beispiel
  1222. 20 BEEP 2
  1223. 30 END
  1224.  
  1225. Dieses  Progrämmchen  kann  durch  die  Tastenkombination  DEF  C
  1226. gestartet werden.  Der Sharp sucht also nach dem Label "C". Solch
  1227. ein  Label kann nun  auch für GOTO oder GOSUB  Verwendung finden.
  1228. Beispiel :
  1229.  
  1230. 10 I=1
  1231. 15 "LOOP"
  1232. 20 PAUSE I
  1233. 30 I=I+1
  1234. 40 GOTO "LOOP"
  1235.  
  1236. Die Funktion dürfte aus dem Beispiel deutlich werden. Wichtig ist
  1237. jedoch, daß die Namen  dieser Label  natürlich  in einem  anderen
  1238. Programm nicht gleich lauten dürfen.
  1239.  
  1240. "LOOP" und "Loop" sind übrigens verschiedene Label !
  1241.  
  1242. Die Funktion ist für GOSUB und RESTORE entsprechend.
  1243.  
  1244. Sharp schreibt im  Handbuch zum PC-1403 zwar vor, daß hinter GOTO
  1245. oder  GOSUB eine Zeilennummer  im Wertebereich 1 bis 65279 folgen
  1246. muß, jedoch gibt es mit obigem Trick weder Probleme, noch die von
  1247. Sharp im Handbuch angedrohte Fehlermeldung ERROR 4.
  1248.  
  1249. Was  jetzt  folgt,  ist  wohl  eher  ein  Spezialfall.  Folgendes
  1250. Programm läßt sich noch vereinfachen :
  1251.  
  1252. 10 INPUT "Sprung zu Label ?";B$
  1253. 20 IF B$="AB" GOSUB "AB"
  1254. 30 IF B$="XY" GOSUB "XY"
  1255. 40 END
  1256. 50 "AB"
  1257. 60 BEEP 1
  1258. 70 RETURN
  1259. 80 "XY"
  1260. 90 BEEP 5
  1261. 100 RETURN
  1262.  
  1263. Hier  wird das anzuspringende Label  während des Programmablaufes
  1264. abgefragt und eingegeben.
  1265.  
  1266. Die Vereinfachung könnte so aussehen :
  1267.  
  1268. 10 INPUT "Sprung zu Label ?";B$
  1269. 20 GOSUB B$
  1270. 30 END
  1271. 40 "AB"
  1272. 50 BEEP 1
  1273. 60 RETURN
  1274. 70 "XY"
  1275. 80 BEEP 5
  1276. 90 RETURN
  1277.  
  1278. Man beachte Zeile 20 !
  1279.  
  1280. Bei einer großen Zahl von Verzweigungen in Unterprogramme lassen
  1281. sich also entsprechend viele     IF <Bedingung> GOSUB <Label>
  1282. durch ein einzelnes              GOSUB <Label>
  1283. ersetzen.
  1284.  
  1285. Der Nachteil des letzten,  vereinfachten Programmes liegt  darin,
  1286. daß ein RENUM  -Befehl im Sharp  mit der vereinfachten  Zeile  20
  1287. GOSUB B$ nichts anzufangen weiß, und eine Fehlermeldung (ERROR 9)
  1288. ausgibt.
  1289.  
  1290. Ansonsten dürfte diese Vereinfachung für einige  Anwendungen  von
  1291. Interesse  sein,  da es sonst  keine weiteren  Beeinträchtigungen
  1292. gibt.
  1293.  
  1294.  
  1295. 7.3  Reset
  1296.  
  1297. Ein sehr beliebter Fehler  ist die Angabe  einer falschen Adresse
  1298. bei den CALL-Aufrufen  des  Treibers. Hier hängt sich der Rechner
  1299. dann auch schon mal auf, so daß nur noch ein RESET hilft. Ist ein
  1300. RESET beim  Sharp  unumgänglich, so  sollte  er nach der Handbuch
  1301. beschriebenen  Art geschehen  (Seite 9, beliebige  Taste drücken,
  1302. dann zusätzlich den ALL-RESET-Schalter). So bleiben die Programme
  1303. im Sharp erhalten. Das ist insbesondere  für das Treiber-Programm
  1304. wichtig,  das sonst  komplett  neu eingegeben werden  müßte. Ohne
  1305. Treiber im Sharp, kann natürlich  auch nicht das Treiber-Programm
  1306. von der Diskette im Atari zum Sharp übertragen werden.
  1307.  
  1308. Achtung :
  1309. Wenn das Interface an den Sharp angeschlossen wird, sollten beide
  1310. Geräte  ausgeschaltet  sein, sonst  könnte  ein MEMORY  ALL CLEAR
  1311. O.K.? die Folge sein.
  1312.  
  1313.  
  1314. 7.4  Batteriewechsel
  1315.  
  1316. Ein  Batteriewechsel  bedeutet nicht gleichzeitig den Verlust der
  1317. im Sharp gespeicherten  Programme.  Wer möchte  denn  schon gerne
  1318. nach   jedem  Satz  neuer  Batterien   das  Treiber-Programm  neu
  1319. eintippen? Mit dem Power-Schalter in Stellung OFF, kann der Sharp
  1320. zumindest einige Sekunden ohne Batterien "überleben".
  1321.  
  1322.  
  1323.  
  1324. 8  ANHANG
  1325.  
  1326. 8.1  Bekannte Probleme
  1327.  
  1328. ( zur Zeit keine )
  1329.  
  1330.  
  1331. 8.2  Sytemkonfiguration
  1332.  
  1333. Terminal  2000 sollte auf den Modellen  ST (F, FM),  STE, TT  und
  1334. Falcon laufen. Erfolgreich lief es bis jetzt auf ST , STE und TT.
  1335. Die horizontale  Bildschirmauflösung sollte mindestens  640 Pixel
  1336. bzw. 80 Zeichen betragen.  Der Betrieb  unter Autoswitch-Overscan
  1337. ist problemlos.
  1338.  
  1339.  
  1340. 9  ANPASSUNGEN AN ANDERE POCKETRECHNER
  1341.  
  1342. Es  ist geplant, die Terminal 2000 an die Modelle Sharp E-220 und
  1343. Sharp E-500 anzupassen. Mir steht  zwar ein E-220 zur  Verfügung,
  1344. aber ich habe keine Informationen darüber, wie die RS-232-Signale
  1345. am 11-poligen  Anschluß anliegen. Für entsprechende Hinweise wäre
  1346. ich dankbar!
  1347.  
  1348. Ebenso würde ich gerne die Diskettensignale der Sharp-Rechner zur
  1349. Übertragung nutzen. Die  Übertragungsrate  ließe sich  so um etwa
  1350. den   Faktor  zwei   steigern   und  das   Treiberprogramm   wäre
  1351. überflüssig!   Nur  wie  erzeuge   ich  diese   Signale  auf  der
  1352. Atari-Seite?
  1353.  
  1354.  
  1355. 10  SCHLUßWORTE(E) des Programmautors
  1356.  
  1357. Ich  hoffe,  daß jetzt  "alle  Klarheiten  beseitigt  sind."  Das
  1358. Programm erwies  sich  bis jetzt  als  besonders zuverlässig. Für
  1359. jede konstruktive Kritik wäre ich dennoch dankbar.
  1360.  
  1361. Meine Adresse:
  1362.  
  1363.    Michael Weigand
  1364.    Wiener Allee 139
  1365.    24147 Kiel
  1366.    0431 / 78 22 59  (ab 18 Uhr)
  1367.  
  1368.    (bis 30.06.93: 2300 Kiel 14)
  1369.  
  1370.  
  1371. 11  Warenzeichen
  1372.  
  1373. Viele in diesem Text benutzte Bezeichnungen sind Warenzeichen und
  1374. sollten als solche betrachtet werden.
  1375.