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 >
Wrap
Text File
|
1993-03-21
|
49KB
|
1,375 lines
----------------------------------------------
| Anleitung zu TERMINAL 2000 / Sharp PC-1403 |
----------------------------------------------
1 ALLGEMEINES
1.1 Grundsätzliches
1.2 Haftungsausschluß
2 EINLEITUNG
2.1 Vorwort
2.2 Was Sie als erstes tun sollten
2.3 Dateien zum Programm
2.4 Installation des Treibers
2.5 Das Interface
3 PROGRAMMBESCHREIBUNG
3.1 Anwahl der Programmfunktionen
3.1.1 Drop-Down-Menü
3.1.2 Funktionstasten
3.1.3 Shortcuts
3.2 Zusätzliche Meldungen bei TOS 1.0 und 1.02
3.3 Meldungen in der Infozeile
3.4 Die Konfigurationsdatei
3.5 Parameter einstellen
3.6 Formate der Basic-Listings
3.7 RS-232-Parameter
3.8 EMULATOR.ACC
3.9 Der Katastrophenfall
4 ÜBERTRAGUNG
4.1 Klartext-Übertragung
4.1.1 Sharp ==> Atari
4.1.2 Atari ==> Sharp
4.2 Token-Übertragung
4.2.1 Sharp ==> Atari
4.2.2 Atari ==> Sharp
4.3 Fehler während der Übertragung
4.4 Fehler nach der Übertragung
4.5 Nach der Übertragung
4.6 Ein kleiner Schönheitsfehler
5 DATEI-OPERATIONEN
5.1 Aufruf eines Editors
5.2 Anmeldung eines Editors
5.3 Aufruf eines Programmes
5.4 Fehlerquellen beim Editor-/Programmaufruf
5.5 Programmstart über TROJA.PRG
5.6 Tip für Diskettenbenutzer
5.7 Datei ansehen/drucken
5.8 Datei kopieren
5.9 Renumber - Listing neu numerieren
5.10 Uppercase-Wandlung
5.11 Basic-Programm überprüfen
6 GFA-BASIC-KONVERTER
6.1 Allgemeines
6.2 Aufruf des Interpreters
6.3 Grenzen der Konvertierbarkeit
6.4 Konverter GFA- nach Sharp-Basic
6.5 Konverter Sharp- nach GFA-Basic
6.6 Ein Tip am Rande
6.7 Temporäre Dateien
7 TIPS UND TRICKS
7.1 Allgemeines
7.2 Zeilennummern
7.3 Reset
7.4 Batteriewechsel
8 ANHANG
8.1 Bekannte Probleme
8.2 Systemkonfiguration
9 ANPASSUNGEN AN ANDERE POCKETRECHNER
10 SCHLUßWORT
11 WARENZEICHEN
----------------------------------------------------------------
1 ALLGEMEINES
1.1 Grundsätzliches
Dieses Programm ist frei kopierbar! Es muß aber immer der
komplette Ordner mit weitergegeben werden. Eine gewerbliche
Nutzung ist ausdrücklich untersagt und wird strafrechtlich
verfolgt. Die Software darf nicht verkauft werden.
1.2 Haftungsausschluß
Die Software, die Dokumentation, sowie die Bauvorschläge für das
Interface wurden sorgfältig auf Fehlerfreiheit geprüft. Es wird
daher keinerlei Haftung für irgendwelche Schäden übernommen, die
sich, direkt oder indirekt, aus der Benutzung des Programmes, der
Dokumentation oder des Interfaces ergeben.
2 EINLEITUNG
2.1 Vorwort
Rechnerkopplungen, die den Atari mit Pocketcomputern verbinden,
gibt es mittlerweile schon wie Sand am Meer. Terminal 2000 soll
sich deshalb von diesen Produkten abheben. Im Vordergrund steht
hier nicht der reine Datenaustausch, auch wenn dieses schon
faszinierend genug sein kann. Vielmehr soll der Anwender bei der
Programmentwicklung und -verwaltung weitestgehend unterstützt
werden. Zum Bearbeiten der Basic- Listings kann man seinen
Lieblingseditor oder gar den GFA-Basic-Interpreter von Terminal
2000 aus aufrufen. Die meisten Basic-Programme lassen sich so
bereits vor der Übertragung unter GFA-Basic auf dem Atari testen.
Daβ man sich um Zeilennummern nicht mehr kümmern braucht, wird
man auch bald zu schätzen wissen. Und möchten man zwischendurch
ein Spielprogramm aufrufen - kein Problem.
2.2 Was Sie zuerst tun sollten
Bevor Sie Ihren Atari mit dem PC-1403 verbinden, sollten Sie
unbedingt diese Anleitung studieren. So bleibt Ihnen unnötiger
Ärger erspart.
2.3 Dateien zum Programm
Die folgenden Dateien sollten sich auf Ihrer Diskette befinden:
- TERM2000.PRG Das Programm Terminal 2000
- TERM2000.RSC Resource-Datei
- TERM2000.CFG Konfigurationsdatei
- TERM_GFA.LIB Konvertierungsbibliothek
- TROJA.PRG Utility zu Terminal 2000
- TERM2000.TXT Anleitung (dieser Text)
- TERM2000.IMG Schaltplan im GEM-Image-Format
- TERM2000.PI3 Schaltplan im Degas-Format
- ZEIGPLAN.PRG ANzeigeprogramm für TERM2000.PI3
- sowie ein Treiberprogramm für PC-1403
Die Datei TERM2000.RSC kann fehlen, wenn Terminal 2000 sich auch
ohne sie aufrufen läßt.
Dateien, die sich zusätzlich auf der Diskette befinden, werden
dort beschrieben.
2.4 Installation des Treibers
Zunächst einige Worte über die Notwendigkeit eines
Treiberprogramms:
Die übliche Art der Datenübertragung beim Sharp liegt in der
Nutzung der Kassettensignale, die mit den Befehlen CLOAD und
CSAVE gesteuert werden. Die Daten werden dabei in Töne gewandelt,
die dann auf der Cassette gespeichert werden. Wer schon einmal
Daten auf der Cassette gespeichert hat, weiß wie langsam dieses
Verfahren ist.
Das Treiberprogramm stellt dem Sharp eine, an den RS-232-Standard
angelehnte, Schnittstelle zur Verfügung. Diese Schnittstelle
befindet sich heutzutage nahezu an jedem Computer, so auch am
Atari. Eine einfache und sichere Kommunikation ist so
sichergestellt. Und noch was: die Übertragung ist mit 4800 Baud
gegenüber den ca. 300 Baud der Cassettensignale sehr schnell.
Die Installation:
-----------------
- Vorhandene Daten im Sharp sichern! (ausdrucken, auf Disk o.ä.)
- Damit der Treiber auch nach einem NEW-Befehl noch im Sharp
bleibt, muß er ausserhalb des Basic-Speichers untergebracht
werden. Dafür ist zunächst der Anfang dieses Bereichs zu
verschieben:
Folgenden Befehl eingeben:
für PC-1403 : POKE &FF01,&30,&E3
für PC-1403H : POKE &FF01,&30,&83
- Im PRO-Modus folgenden Befehl eingeben : NEW
- Jetzt wird das Treiberprogramm in den Sharp eingetippt.
Auf der Diskette befinden sich zwei Listings, eines für den
PC-1403 (mit 8 kByte RAM) und eines für den PC-1403H (mit 32
kByte RAM).
Alternativ kann dieses auch mit CLOAD von CASSETTE, dem
Diskettenlaufwerk CE-140F oder einem zweiten PC-1403(H)
eingeladen werden, sofern es dort zur Verfügung steht.
- Im RUN-Modus folgenden Befehl eingeben : RUN
Der Sharp ist jetzt eine Weile beschäftigt. Wenn das Listing
fehlerhaft eingegeben worden ist, erscheint eine entsprechende
Meldung. In diesem Fall müssen die DATA-Zeilen im PRO-Modus noch
mal überprüft werden.
- Wer ein Casseteninterface oder ein Diskettenlaufwerk CE-140
besitzt, sollte das Listing dort abspeichern. Nach einem
Totalabsturz oder bei leeren Batterien müsste man sonst das
erneut eintippen.
- So, jetzt ist es geschafft.
Das Basic-Listing ist noch im Speicher, es sollte nun mit NEW
gelöscht werden!
Achtung: Wenn jetzt mit MEM der freie Speicher angezeigt wird,
ist dieser etwas kleiner als vor der Eingabe des Treibers. Dafür
übersteht der Treiber aber auch jeden NEW-Befehl.
2.5 Das Interface
Der Schaltplan des Interfaces befindet sich als Rasterbild in den
Dateien TERM2000.IMG und TERM2000.PI3. Mit vielen "Malprogrammen"
kann man sich den Plan auf den Bildschirm holen oder ausdrucken
lassen. Das Programm ZEIGPLAN.PRG zeigt den Plan aus der Datei
TERM2000.PI3 in der hohen ST-Auflösung auf dem Monitor.
Auf einer kleinen Lochrasterplatine werden die 11-polige
Stiftleiste und die Anpasselektronik aufgebracht. Der Stiftleiste
gegenüber wird das 5-polige Kabel angelötet, an dessen anderem
Ende die Sub-D-Buchse.
Stückliste:
-----------
4 1N4148 Si-Dioden ( oder Ersatztyp )
2 4k7 Widerstände
2 10k -,,-
1 100k -,,-
1 BC 548 C NPN-Transistor ( oder Ersatztyp )
1 11-polige Stiftleiste, Rastermaß 2,54 mm, 90 Grad gewinkelt
1 Lochrasterplatine
1 5-poliges Kabel ca. 2m lang, Abschirmung nicht notwendig
1 25- bzw. 9-polige Sub-Buchse
Der Sharp übernimmt die Stromversorgung des Interfaces. Um einen
minimalen Stromverbrauch zu gewährleisten, wurde für das
Interface eine Schaltung entwickelt, die ohne integrierte
Schaltkreise auskommt. Obwohl sich der Strombedarf auf die Zeit
der Übertragung beschränkt, sollte man das Interface aufgrund von
Restströmen bei Nichtbenutzung vom Rechner trennen.
Der Anschluß des Interfaces dürfte keinerlei Schwierigkeiten
bereiten. Der 25-polige Sub-D-Stecker wird am Atari ST an den
sogenannten Modem-Port, einfacher gesagt: die serielle
Schnittstelle, gesteckt. Die Modelle Mega STE und TT haben
dagegen zwei 9-polige serielle Ports.
Beim Anschluß des 11-poligen Steckers am Sharp ist darauf zu
achten, daß alle 11 Steckerpins in die entsprechenden Buchsen
kommen. Aufgrund der Konstruktion des Sharp ist es möglich, den
Stecker um einen Pin versetzt einzuführen. Das Interface ist
intern so geschaltet, daß im allgemeinen Schäden bei versetzt
gestecktem Stecker nahezu unmöglich sind. Dennoch: Achten Sie auf
einen korrekten Sitz des Steckers.
Beim Anschluß, wie auch beim Entfernen des Interfaces, müssen
beide Rechner ausgeschaltet sein. Ansonsten besteht die Gefahr,
daß die Schnittstellen-Schaltkreise Schaden nehmen können.
Noch einige Worte zur Schaltung:
Beim Entwurf der Schaltung wurde auf folgende Punkte geachtet:
- Minimaler Bauteileaufwand, dadurch minimale Bauteilekosten
- Minimaler Stromverbrauch, dadurch minimale Batteriekosten
- Hohe Funktionssicherheit zum Schutz der Elektronik im Sharp
Selbst ein verdrehtes Einstecken am Sharp sollte keine Schäden
verursachen
Das Interface wurde an verschiedenen Atari-Rechnern erfolgreich
betrieben, darüberhinaus auch auf einer MS-DOS-Kiste ( 386er AT,
25 MHz ).
3 PROGRAMMBESCHREIBUNG
3.1 Anwahl der Programmfunktionen
Terminal 2000 ist auf drei verschiedene Arten zu bedienen :
- Pull-Down-Menüs
- Funktionstasten
- Shortcuts
Die Bedienung ist also mit als auch (fast) ohne Maus möglich.
3.1.1 Drop-Down-Menüs
Die Drop-Down-Menüleiste mit den Oberbegriffen :
Datei, Übertragen, Konverter, Parameter, Extras.
Mit der Bedienung sollte eigentlich jeder vertraut sein.
3.1.2 Funktionstasten
Die wichtigsten Routinen sind auch über die Funktionstasten
aufrufbar. Die F-Tasten-Belegung wird nach Betätigung der
HELP-Taste angezeigt.
3.1.3 Shortcuts
Als Shortcuts werden hier Tastenkürzel bezeichnet, die in
Verbindung mit der Control- oder Alternate-Taste eine gewünschte
Programmfunktion anwählen. Die jeweiligen Shortcuts sind in den
Pull-Down-Menüs hinter den Menüpunkten angegeben. So läßt sich
beispielsweise durch die Tastenkombination Control-Q (Kürzel für
Quit) das Programm beenden.
3.2 Zusätzliche Meldunge bei TOS 1.0 und 1.02
Bei Dateioperationen wird von der Infozeile in der
Dateiauswahlbox Gebrauch gemacht. DA diese aber in den
TOS-Versionen 1.0 und 1.02 noch nicht existiert, wird stattdessen
die entsprechende Meldung in einer kleinen Box ausgegeben, die
nach zwei Sekunden selbsttätig verschwindet.
3.3 Meldungen in der Infozeile
Bei den Aktionen 'Empfangen' und 'Senden' erscheint unter der
Titelzeile noch eine Infozeile. Diese enthält eine frei
konfigurierbare Meldung. Diese ist dazu gedacht, um
beispielsweise den am Sharp auszuführenden Maschinenbefehl
anzuzeigen. Sinnvollerweise sollte die Länge max. 9 Zeichen sein,
da sonst ein Teil der Meldung durch die Fileselect-Box verdeckt
wird.
3.4 Die Konfigurations-Datei
Diese Datei wurde geschaffen, um das Pogramm flexibler zu
gestalten. Sie enthält zur Zeit zwei unterschiedliche Abschnitte:
a. Rechnerspezifische Meldungen / Parameter
1 - Rechnername
2 - Befehl zum Laden eines Listings über RS-232
3 - Befehl zur Ausgabe eines Listings über RS-232
4 - frei wählbarer Eintrag
5 - frei wählbarer Eintrag
Der Rechnername kennzeichnet die CFG-Datei. Wird der Menüpunkt
'Hilfe' angewählt, erscheint eine Alert-Box, die die oben
beschriebenen Einträge enthält.
b. Token-Tabelle
Hier sind die Sharp-Basic-Befehle aufgelistet, die als Token den
ASCII-Codes 128 bis 255 entsprechen. Diese Informationen benötigt
Terminal 2000 zur Token-Übertragung. Mehr Informationen zur
Token-Tabelle im Kapitel "Token-Übertragung".
Wenn keine Konfigurationsdatei geladen werden kann, wird Terminal
2000 mit den entsprechenden Default-Werten für den PC-1403H
initialisiert.
Modifikationen der Konfigurationsdatei sollten sehr gewissenhaft
durchgeführt werden. Einträge sollten keine Kleinbuchstaben
aufweisen. Es sollten keine Zeilen eingefügt oder gelöscht
werden.
Im Normalfall muß diese Datei aber nie geändert werden!
3.5 Parameter einstellen
Die Parameter-Dialogbox stellt das programminterne Kontrollfeld
dar.
In ihr erhält man Informationen über:
- freier Speicher für externe Programme, zum Kopieren von Dateien
in Terminal 2000 usw.
- TOS-Version
- Pocketrechner, für den Terminal 2000 konfiguriert ist
- Pfad/Name des Editors
- Pfad/Name des Interpreters
- Ausgabefilter gesetzt oder nicht gesetzt
- RS-232-Parameter durch Terminal 2000 setzen oder nicht setzen
- Start von externen Programmen über TROJA.PRG oder Programme
hinzuladen
- Grow- und Shrinkboxen ein oder aus
Aktionen in der Übersicht-Box:
- Anmelden eines Editors
- Anmelden eines Interpreters
- Ausgabefilter (de-)aktivieren
- RS-232-Parameter durch Terminal 2000 (nicht) setzen lassen
- Auswahl Programmstart über TROJA.PRG oder Programme zuladen
- Konfiguration in TERM2000.INF sichern. Gesichert werden die
Infos über: Editor, Interpreter, Filter, RS-232, Art des
Programmstarts
- Grow- und Shrinkboxen ein oder ausschalten
3.6 Formate der Basic-Listings
Während der Arbeit mit Terminal 2000 hat man es mit 3
unterschiedlichen Basic-Formaten zu tun.
Das LST-Dateiformat entsteht durch Abspeichern eines im GFA-
Basic-Interpreters entwickelten Programmes (SAVE,A).
Das ASC-Dateiformat (ASC : ASCII-Datei ) entsteht nach einer
Konvertierung des LST-Formates. Es entspricht dem Sharp-Basic,
nur die Zeilennummern fehlen noch. In diesem Format, bzw. unter
dieser Datei-Endung, sollten auch Programme, die im ASCII-Editor
erstellt werden, abgespeichert werden.
Das BAS-Format entspricht dem Sharp-Basic. Man erhält es, indem
man ASC- und/oder BAS-Dateien mit der Renumber-Routine (Neu-)
Numeriert. Dieses Dateiformat ist also zur Übertragung zum Sharp
geeignet. Dateien, die vom Sharp empfangen werden, weisen
natürlich ebenfalls dieses Format auf.
Achtung: Das hier verwendete BAS-Dateiformat unterscheidet sich
grundsätzlich von den BAS-Dateien des GFA-Basic! Ebenso kann
Terminal 2000 mit Dateien der Endung .GFA nichts anfangen.
Folgende Routinen nehmen eine Formatkonvertierung vor:
- Renumber : ASC --> BAS sowie BAS-->BAS
- GFA-->Sharp : LST --> ASC
- Sharp-->GFA : BAS --> LST
3.7 RS-232-Parameter
Die Konfiguration der RS-232-Parameter kann bei Bedarf mit den
Utilities EMULATOR.ACC oder XCONTROL.ACC vorgenommen werden. Dies
ist aber nicht notwendig, da Terminal 2000 diese Parameter setzen
kann.
3.8 EMULATOR.ACC
Das EMULATOR.ACC befindet sich, zumindest bei den älteren
ST-Modellen, auf der System-Diskette von Atari. Mit dem
EMULATOR.ACC lassen sich ein Listing vom Sharp oder ein auf die
RS-232-Schnittstelle umgeleiteter PRINT-Befehl auf dem
ATARI-Monitor ausgeben.
Terminal 2000 wird dazu nicht benötigt !!
Dazu wählt man den ACC-Eintrag 'VT52 Emulator' mit folgender
Einstellung :
- 4800 Baud
- keine Parität
- 8 Bit/Zeichen
- RTS / CTS
- andere Einstellungen sollten keine Wirkung haben.
und schon hat Ihr Pocket-Computer einen hochauflösenden
Bildschirm.
So lassen sich mit dem Sharp auch Ausgaben realisieren, wie man
es von TOS-Programmen her kennt, denn es sind 80 Zeichen pro
Zeile möglich !
Dazu noch ein Beispiel-Programm, welches den Zeichensatz des
Sharp ausgibt:
1 WAIT 0
2 FOR I=32 TO 126
3 PRINT I;" ";CHR$(I):CALL &80CA
4 NEXT I
5 WAIT
6 END
Das Wait 0 unterdrückt die Anzeige auf dem Display des Sharp, die
Ausgabe erfolgt mit PRINT x: CALL &80CA.
Der CALL-Befehl in diesem Programm gilt nur für PC-1403/32kByte!
Für einen 8kByte Rechner lautet er : CALL &E0CA
3.9 Der Katastrophenfall
Eigentlich sollte es ja nie passieren...
Bei Auftreten eines Fehlers erscheint ein Bildschirm mit Angaben
zum derzeitigen Programmstatus. Diese Informationen können für
den Fall einer Rücksprache mit dem Autor notiert werden. Man hat
nun die Möglichkeit die laufende Routine zu abzubrechen und in
das Menü zurückzukehren oder das Programm zu beenden.
4 ÜBERTRAGUNG
Vorweg und zu allererst:
Die Befehle CLOAD und CSAVE können mit dem Interface NICHT
verwendet werden.
Im folgenden ist von 'Ctrl-Z' die Rede. Dies ist ein
Steuerzeichen, das dem Empfänger das Ende einer Übertragung
anzeigt.(ASCII-Code: 1A)
4.1 Klartext-Übertragung
4.1.1 Sharp ==> Atari
Im Menü finden Sie unter 'Übertragen' den Menüpunkt 'Empfangen'.
Wenn Sie ihn mit der Maus anklicken, erscheint die
Datei-Auswahl-Box. Über der Box befindet sich ein Hinweis darauf,
daß nun die Datei anzugeben ist, in der die empfangenen Daten
gesichert werden sollen. Als Vorschlag ist der Dateiname
'DATEN.BAS' vorgegeben, den Sie natürlich ändern können. Sie
sollten jedoch die Endung .BAS beibehalten. Klicken Sie nun auf
den OK-Button. Es erscheinen ein Textfenster und die Anweisung
den Sender, also den Sharp, einzuschalten sowie der dafür
notwendige Maschinenbefehl. Tippen Sie diesen im Sharp ein und
schließen die Eingabe mit der ENTER-Taste ab. Jetzt sollte die
Übertragung beginnen.
Es wird das gesamte im Speicher befindliche BASIC-Listing
übertragen. Diese Datei kann jetzt zur weiteren Bearbeitung in
einen beliebigen ASCII-Editor geladen werden.
Es hat sich als zweckmäßig herausgestellt, die einzelnen
Programme aus dem Gesamtlisting mittels den
Editor-Blockoperationen 'markieren' und 'speichern' separat auf
Diskette zu speichern, sofern sie dort noch nicht vorliegen.
Terminal 2000 verwendet keinen eigenen Zwischenspeicher beim
Datenempfang. Dies ist aufgrund der geringen Datenmenge auch
nicht notwendig.
Das vom Sharp, als letztes Zeichen, gesendete Ctrl-Z wird in der
Zieldatei nicht gespeichert. Ältere Versionen von Terminal 2000
nahmen dieses Zeichen noch in den Text mit auf. Listings, die mit
Ctrl-Z enden, können in einigen Routinen von Terminal 2000 Fehler
verursachen!
Die UNDO-Taste bricht den Empfang der Daten ab. Alle Datenkanäle
werden geschlossen. Ist der Sharp noch BUSY, kann die
Senderoutine im Sharp durch längeres Drücken der BREAK-Taste bis
zum Ende ausgeführt werden.
4.1.2 Atari ==> Sharp
Es sollten sich zu diesem Zeitpunkt alle Basic-Programme auf
Diskette befinden, da jetzt ein NEW -Befehl zweckmäßig ist! (Das
Treiber-Programm für die RS-232-Schnittstelle wird nicht durch
NEW gelöscht, wenn es vorschriftsmäßig eingegeben worden ist.)
Jetzt stellt man sich aus den gesammelten Einzelprogrammen, die
man im Sharp haben möchte, ein Gesamtlisting zusammen, wobei auf
eine fortlaufende Zeilennumerierung zu achten ist. Hier läßt sich
die Routine RENUMBER auf elegante Art einsetzen. Dieses
Gesamtlisting wird nun zum Sharp übertragen. Wie die Übertragung
gestartet wird, wurde ein Kapitel zuvor beschrieben.
Hinweis:
Es sollten keine einzelnen Programme nach und nach vom Atari in
den Sharp geladen werden, da diese im Sharp, unabhängig von der
Zeilennumerierung, an die bereits im Speicher befindlichen
Programme hinten angehängt werden. Es könnte somit nur das
zuletzt übertragene Programm korrekt im Sharp ediert werden. Eine
erneute Übertragung Sharp==>Atari wäre ebenso nur noch für das
zuletzt im Speicher angehängte Programm möglich.
Deshalb also der NEW -Befehl vor der Übertragung zum Sharp.
Die UNDO-Taste bricht die Übertragung ab. Alle Datenkanäle werden
geschlossen. Es wird noch ein Ctrl-Z zum Sharp gesendet, damit
dieser den Empfang beendet. Falls der Sharp einmal BUSY bleiben
sollte, gibt es den Menüpunkt 'Ctrl-Z', der den Sharp noch einmal
an den Abbruch des Empfanges erinnern soll.
Ein Linefeed (nach dem Carriage Return) wird nicht gesendet, da
dies beim Sharp, sofort nach der ersten Zeile, einen
Empfangsabbruch bewirken würde.
In dieser Übertragungsrichtung ist ein Filter zuschaltbar, das
als erstes Zeichen einer Zeile nur eine Ziffer oder ein Ctrl-Z
zuläßt. Hierdurch ergibt sich eine gewisse Sicherheit, daß man
den Sharp nicht völlig durcheinander bringt, falls man
versehentlich z.B. eine Bilddatei als Quelldatei gewählt hat.
4.2 Token-Übertragung
Die nachfolgend beschriebene Token-Übertragung ist eine Option,
die nur als Zugabe in Terminal 2000 implementiert wurde. Lesen
Sie am besten die Erläuterungen zur Token-Übertragung und
entscheiden dann, ob Sie diese Übertragungsart überhaupt nutzen
wollen. Ihnen entgeht nichts, wenn Sie sich auf die
Klartext-Übertragung beschränken.
4.2.1 Sharp ==> Atari
Der Sharp speichert Basic-Befehle, die auf dem Display als
Klartext erscheinen, in einem Byte, ein sogenanntes Token. Im
Zeichensatz des Sharp sind die Token etwa in den ASCII-Zeichen
128 bis 255 enthalten. Bisher wurde das Basic-Listing vom Sharp
im Klartext gesendet. Dazu mußte der Sharp jeden Befehl, der als
1-Byte-Token gespeichert ist, in einen entsprechenden
ASCII-String umwandeln. Es ist leicht einzusehen, daß er dafür
eine gewisse Zeit braucht. Ebenso, daß es länger dauert, wenn
Befehle im Klartext gesendet werden müssen.
Terminal 2000 ist in der Lage, Token vom Sharp zu empfangen. Dazu
enthält Terminal 2000 in einem String-Array den Token-Vorrat des
Sharp, was eine schnelle Umwandlung in Klartext ermöglicht.
Dieses String-Array kann vom Anwender durch Modifizierung der
Konfigurationsdatei an eigene Bedürfnisse angepaßt werden.
Die Token-Übertragung erfordert eine Modifikation des
Treiberprogramms im Sharp! Es wird einfach die
Token-Klartext-Wandlung im Treiber umgangen.
Wenn der Treiber bereits im Sharp installiert ist, geht das
relativ einfach:
POKE &E086,&2D
POKE &E087,&10
Um den Treiber wieder in den Original-Zustand zu versetzen, ist
folgendes zu tun:
POKE &E086,&5A
POKE &E087,&3A
Für den PC-1403H (32kByte) gelten die Adressen: &8086 und &8087.
4.2.2 Atari ==> Sharp
Der Sharp ist ohne Treiber-Modifikation dazu in der Lage, Token
zu empfangen! Terminal 2000 kann aus Klartext-Lisings die Token
heraussuchen, was aber einige Zeit dauert. Diese Übertragungsart
versteckt sich hinter dem Menüpunkt "Senden... (T)". Da während
der Übertragung die dem Token entsprechenden ASCII-Zeichen auf
dem Bildschirm erscheinen, ist das Listing dort nicht mehr
lesbar.
4.3 Fehler während der Übertragung
Ab und zu kann es vorkommen, daß der Sharp nach der ersten Zeile
den Empfang beendet. Dann sollte die Übertragung mit UNDO
abgebrochen und im Sharp NEW eingeben werden. Danach kann die
Übertragung noch mal von vorne begonnen werden.
4.4 Fehler nach der Übertragung
Sollte nach beendigter Übertragung von Terminal 2000 keine
Fertig-Meldung erscheinen oder der Sharp BUSY bleiben, kann es
helfen, wenn :
- ein Ctrl-Z abgeschickt wird
(nach Übertragung Atari ==> Sharp)
oder
- das Interface vom Sharp getrennt wird
(nach Übertragung Atari ==> Sharp)
oder
- der Sharp kurz ein- und ausgeschaltet wird
(nach Übertragung Atari ==> Sharp)
oder
- ein Ctrl-Z vom Sharp gesendet wird
(nach Übertragung Sharp ==> Atari)
Wenn der Sharp alle Daten gesendet hat und nicht mehr BUSY ist,
aber Terminal 2000 noch auf Daten wartet, dann kann man ein
Ctrl-Z senden:
PC-1403 : CALL &E0E0
PC-1403H : CALL &80E0
oder
- die BRK-Taste längere Zeit gedrückt wird
(nach Übertragung Sharp ==> Atari)
In letzterem Fall piept der Rechner vor sich hin, er überträgt
also weiter, wenn auch nicht mehr zum Atari!
4.5 Nach der Übertragung
Nach der Übertragung erscheint eine von vier möglichen Meldungen:
- "Es wurden XX Zeichen übertragen"
Die Übertragung wurde erfolgreich durchgeführt. Die angegebene
Zeichenanzahl sollte bei Klartext-Übertragung mit der Größe der
Quell- bzw. Zieldatei übereinstimmen.
Sie ist jedoch größer, als der Speicherbedarf im Sharp, da in
diesem die Basic-Befehle einem ASCII-Code (Token) entsprechen.
Ein GOSUB nimmt also beispielsweise nur ein Byte im Sharp in
Anspruch, während es im Atari fünf Byte (plus ein Byte für das
nachfolgende Leerzeichen) benötigt. Der Speicherbedarf für ein
Listing beträgt im Sharp etwa 0.7 * Dateilänge.
- "Übertragung abgebrochen"
Die Übertragung wurde abgebrochen, da die UNDO-Taste betätigt
wurde.
- "Illegales Zeichen" (bei aktivem Filter)
Die Quelldatei enthielt ein Zeichen, das vom Filter abgefangen
wurde. Die Übertragung wird abgebrochen, der ASCII-Code des
illegalen Zeichens in dezimaler Darstellung, sowie das Zeichen
selber, erscheinen im Button der Alert-Box.
- "Kein Sharp-Basic"
Das Filter hat am Anfang einer Zeile ein Zeichen festgestellt,
das weder eine Ziffer, noch ein Ctrl-Z ist. Hierauf folgt noch
die Meldung "Illegales Zeichen", die nun das am Anfang der
Zeile gefundene Zeichen, als ASCII-Code in dezimaler
Darstellung, sowie das Zeichen selbst im Button der Box
ausgibt.
4.6 Ein kleiner Schönheitsfehler
Es gibt ein paar Befehle, die der Sharp nicht senden kann! Diese
Befehle dienen jedoch zum größten Teil zur Steuerung des CE-140-
Diskettenlaufwerkes und damit zusammenhängender Dateifunktionen.
Auf sie kann also im allgemeinen verzichtet werden.
Eine Liste dieser Befehle (2-Byte-Token):
AS, COPY, DSKF, DELETE, EOF, FILES, INIT, KILL, LOF, LOC,
LFILES, NAME, OUTPUT, RENUM, SET und XOR
(Für diese Liste gilt: Ohne Gewähr!)
Man beachte, daß auch die logische Operation XOR in dieser Liste
enthalten ist.
Diese Befehle können aber vom Atari zum Sharp übertragen werden,
wenn die Übertragung im Klartext erfolgt.
5 DATEI-OPERATIONEN
5.1 Aufruf eines Editors
Es ist möglich, einen Editor zur Bearbeitung der Daten
aufzurufen, ohne Terminal 2000 zu verlassen. Es kann ein
beliebiger ASCII-Editor verwendet werden, der sich auch in einem
anderen Verzeichnis oder Laufwerk befinden darf.
5.2 Anmeldung eines Editors
Terminal 2000 liest beim Programmstart die Datei TERM2000.INF,
falls vorhanden, ein und überprüft , ob ein entsprechendes
(Editor-)Programm vorhanden ist. Wenn die Info-Datei nicht
existiert, oder sie existiert, aber es wurde keine entsprechendes
Programm gefunden, wird dies beim Programmstart vom Terminal 2000
angezeigt.
Der Editor kann in der Parameter-Dialogbox bestimmt werden. Es
sind nur die TOS-üblichen Extensionen TOS,TTP,PRG,APP oder im
Editornamen zulässig.
5.3 Aufruf eines Programmes
Weiterhin besteht die Möglichkeit ein frei wählbares Programm aus
Terminal 2000 heraus aufzurufen.
5.4 Fehlerquellen beim Editor-/Programmaufruf
Da sich beim Editoraufruf zwei Programme, Editor bzw. Programm
und Terminal 2000, im Speicher befinden, kann es auf Rechnern mit
einer Speichergröße von 512 kByte zu Speicherplatzmangel kommen.
Terminal 2000 reserviert ca. 100 kByte Speicher für sich, der
verbleibende Speicherplatz steht externen Programmen zur
Verfügung.
Bei Auftreten eines Fehlers beim Aufruf des Editors bzw.
Programms wird die TOS-Fehlernummer ausgegeben.
Die in diesem Zusammenhang wichtigsten Fehlernummern :
-33 : Datei nicht gefunden
-34 : Pfadname nicht gefunden
-39 : Speicher voll
-66 : Keine ausführbare Programmdatei
Die Bedeutung anderer Fehlernummern ist entsprechender Literatur
zu entnehmen.
Terminal 2000 wechselt beim Aufruf eines Programmes bzw. Editors
in das entsprechende Verzeichnis. Somit sollten eigentlich alle
Programme korrekt gestartet werden können.
5.5 Programmstart über TROJA.PRG
TROJA.PRG soll den Aufruf externer Programme auf Rechnern mit
geringer Speicherkapazität, wie 260ST oder 520ST(E), ermöglichen.
Dabei steht den aufzurufenden Programmen auch der Speicher wieder
zur Verfügung, der bis dahin von Terminal 2000 beansprucht wurde.
Der erzielbare Gewinn an Speicherplatz liegt zur Zeit bei etwa
150 kByte! Dieser Wert ist abhängig von der Programmversion von
Terminal 2000.
Die Funktionsweise:
Der Aufruf externer Programme über TROJA.PRG erinnert an das
die Story vom Trojanischen Pferd, daher auch der Programmname.
Wird ein Programm/Editor mittels TROJA aufgerufen, so wird
Terminal 2000 beendet. Dieses ruft als letzte Aktion TROJA.PRG
auf und übermittelt ihm Informationen darüber, welches Programm
aufgerufen werden soll. TROJA.PRG ruft das Programm auf und
bleibt resident, beansprucht dafür aber nur sehr wenig Speicher.
Nach Beendigung des aufgerufenen Programmes wird TROJA weiter
ausgeführt. TROJA.PRG wird nun beendet, ruft aber als letzte
Aktion Terminal 2000 auf.
Hieraus wird ersichtlich, daß diese Art des Aufrufs eines
externen Programmes nicht die wahre Freude sein kann, wenn man
nicht über eine Festplatte oder Ramdik verfügt.
Ob Programme über TROJA.PRG gestartet oder zu Terminal 2000
hinzugeladen werden sollen, läßt sich in der Übersicht-Box
auswählen.
Es ist übrigens relativ sinnlos, TROJA.PRG vom Desktop aus zu
starten.
5.6 Tip für Diskettenbenutzer
Arbeitet man nur mit Disketten, so sollte man sich Terminal 2000
und einen Editor nach Wahl auf eine gemeinsame Diskette kopieren.
Wer ein TOS der Version 1.04 oder höher in seinem Rechner hat,
kann dann TERM2000.PRG als AUTO-Start-Anwendung anmelden.
5.7 Datei ansehen / drucken
Unter diesen Menüpunkten lassen sich Dateien, die sich auf
Diskette oder Festplatte befinden, ansehen oder auch ausdrucken.
Mit der linken Maustaste läßt sich das Listing anhalten, mit der
rechten Maustaste wird die Ausgabe abgebrochen.
Die Datei wird hierbei zunächst komplett in den Speicher
eingelesen, dann der entsprechende Speicherinhalt auf Monitor
oder Drucker ausgegeben.
Bei diesen Routinen hat das Filter, sofern aktiv, Einfluß.
5.8 Datei kopieren
Es können beliebige Dateien kopiert werden. Zu beachten ist
jedoch, daß die Dateigröße kleiner als der freie
RAM-Speicherplatz sein muß. Nach Auswahl der Quelldatei ist
mittels Fileselect-Box der Pfad und der Name der Zieldatei zu
wählen. Wenn die Datei nicht in den Speicher passt, wird eine
entsprechende Fehlermeldung ausgegeben.
5.9 Renumber - Datei neu numerieren
Ähnlich des RENUM-Befehles im Sharp, lassen sich Dateien von
Diskette oder Festplatte neu numerieren. Dies ist jedoch nur
möglich, wenn als Sprungziele hinter GOTO, GOSUB, RESTORE keine
Zeilennummern angegeben sind. Wie Zeilennummern als Sprungziele
vermeidbar sind, ist im Kapitel 'Zeilennummern' beschrieben.
Das Quell-Listing darf keinen Doppelpunkt hinter der Zeilennummer
aufweisen, wie er auf dem Display des Sharp erscheint. Nach der
Zeilennummer muß ein Leerzeichen folgen.
Sofern kein Fehler auftritt, geschieht etwa folgendes :
- es wird eine Sharp-Basic-Datei eingelesen
- eine neue Zeilennumerierung, beginnend ab 10, in
Zehnerschritten, wird durchgeführt
- eine oder mehrere Dateien können an die erste angehängt werden,
wobei die Zeilennumerierung fortlaufend bleibt
Achtung: Hierbei sollte die Diskette nicht gewechselt werden!
- zwischen den einzelnen Listings wird die Zeile
REM --- NEUES PROGRAMM ---
mit entsprechender Zeilennummer eingefügt
- das fertige Listing wird unter neuem Dateinamen abgespeichert
Als Besonderheit werden auch Listings, die keine Zeilennummern
enthalten, durch diese Routine nachträglich numeriert.
Die Routine erkennt selbst, ob das Listing bereits numeriert ist.
Dazu wird das erste Zeichen des Listings untersucht. Handelt es
sich hierbei um eine Zahl, so wird davon ausgegangen, daß es sich
um ein numeriertes Listing handelt.
Zur Kontrolle des Ablaufes, wird im oberen Fenster das neue
Listing ausgegeben. Im unteren Fenster kann dann verfolgt werden,
wie das Programm nach Zeilennummern oder Labels hinter GOTO,
GOSUB und RESTORE sucht.
Wird in einer Zeile eines dieser Worte gefunden, so wird zunächst
das erste von rechts untersucht. Danach werden jeweils die
nächsten vorhandenen in Richtung Zeilenanfang hin untersucht.
Wenn eine Zeilennummer hinter einem der Worte gefunden wird,
erfolgt im unteren Fenster ein Hinweis darauf. Die Routine wird
jedoch nicht abgebrochen.
Es wird berücksichtigt, daß hinter RESTORE keine Zielangabe
erforderlich ist.
In dieser Routine hat die Filterfunktion keinen Einfluß !
5.10 Uppercase-Wandlung
Diese Funktion liest ein Basic-Listing ein, wandelt klein- in
Großbuchstaben um und gibt das umgewandelte Listing wieder aus.
Das neue Listing darf übrigens unter dem alten Dateinamen
abgespeichert werden.
5.11 Basic-Programm überprüfen
Diese Routine überprüft eine Datei im LST-, ASC- oder BAS-Format
auf ungültige Zeichen. Jedes Zeichen wird nur einmal in der Datei
gesucht. Die Datei wird hierdurch nicht verändert. Langes Drücken
der rechten Maustaste bricht die Routine ab. Weiterhin wird das
Listing auf Zeilen mit mehr als 80 Zeichen hin untersucht.
Diese Funktion verändert die untersuchte Datei NICHT.
6 GFA-BASIC-KONVERTER
6.1 Allgemeines
Dies ist etwas Besonderes für Besitzer des GFA-Basic (Version
2.0x oder 3.0x). Neben der Möglichkeit den GFA-Basic-Interpreter
aufrufen zu können, sind Routinen zur Konvertierung der Sharp-
und GFA-Basic-Formate implementiert.
6.2 Aufruf des Interpreters
Der Interpreter muß zunächst angemeldet werden. Dies geschieht
genauso, wie es für den Editor schon beschrieben wurde. Danach
kann er aus Terminal 2000 heraus gestartet werden.
6.3 Grenzen der Konvertierbarkeit
Bei der Entwicklung im GFA-Basic-Interpreter müssen natürlich die
besonderen Eigenschaften des Sharp-Basic berücksichtigt werden.
Dazu gehören unter anderem folgende Regeln:
- Variablennamen haben maximal 2 Zeichen
- Es dürfen keine IF-Bedingungen geschachtelt werden.
d.h. nach einer Zeile
IF <Bedingung> THEN
darf keine weitere IF-Zeile und auch keine FOR..TO-Zeile
kommen. Auf das THEN darf übrigens verzichtet werden.
- Natürlich dürfen nur Befehle eingesetzt werden, die im Sharp-
UND im GFA-Basic enthalten sind. Bei der Konvertierung kann
die LST-Datei auf ungültige Befehle geprüft werden.
- Die DEF-Label DEF-<Space> und DEF-<Komma> dürfen nicht
verwendet werden. Ebenso dürfen Space und Komma nicht in einem
aus mehreren Zeichen bestehenden Labelnamen enthalten sein.
- Zeilennummern als Sprungziele für GOTO, GOSUB und RESTORE sind
nicht erlaubt.
Es folgt nun eine Auflisting der Befehle und Funktionen, die in
beiden Basics enthalten sind:
Gemeinsame Befehle für GFA-Basic 3.0X und PC-1403:
--------------------------------------------------
CALL (relativ sinnlos)
CHAIN (zu unterschiedlich)
CLEAR
CONT (sinnlos)
DATA
DIM
END
FOR..TO..STEP..NEXT
GOSUB <Label>
GOTO <Label>
IF..THEN (THEN ist optional, GFA schließt mit ENDIF)
INPUT var
INPUT "text";var
LPRINT...
NEW (sinnlos)
PEEK,POKE (sinnlos)
PRINT
READ
REM
RESTORE
RESTORE Label
RETURN (darf in GFA-Basic nicht im IF-Zweig stehen)
RUN (sinnlos)
STOP
TRON,TROFF (wer's braucht...)
Gemeinsame Funktionen:
----------------------
Die Argumente trigonometrischer Funktionen werden in GFA-Basic
als Bogenmaß (RAD) interpretiert.
Sehr wichtig:
Wo nicht angegeben, sind Klammern beim Sharp um das Argument x
bzw. x$ optional. Sollen Listings leicht konvertierbar sein, so
sollten Klammern im Sharp-Listing grundsätzlich (!) gesetzt
werden.
GFA: PC-1403:
---- --------
ABS(x) ABS x
ACOS(x) ACS x wird vom Konverter angepaßt
ASC(x$) ASC x$
ASIN(x) ASN x wird vom Konverter angepaßt
ATN(x) ATN x
CHR$(x) CHR$ x
COS(x) COS x
EXP(x) EXP x
HEX$(x) HEX x abweichende Rückgabetypen
INKEY$ INKEY$
INT(x) INT x
LEFT$(x$,n) LEFT$(x$,n) In GFA-Basic ist n optional
LEN(x$) LEN x$
LOG(x) LN x wird vom Konverter angepaßt
LOG10(x) LOG x wird vom konverter angepaßt
MID$(x$,a,n) MID$(x$,a,n) In GFA-Basic ist n optional
PI PI
RIGHT$(x$,n) RIGHT$(x$,n) In GFA-Basic ist n optional
SGN(x) SGN x
SIN(x) SIN n
SQR(x) SQR x
STR$(x) STR$ x
TAN(x) TAN x
VAL(x$) VAL x$
Logische Operationen:
---------------------
AND AND
NOT NOT
OR OR
XOR XOR Kann der Sharp nicht senden !
Kraut und Rüben:
----------------
RANDOM(x) RANDOM In GFA Funktion, bei Sharp Befehl
Haben wenig gemeinsam!
RND[(x)] RND x Identisch, wenn das Argument der
Sharp-Funktion gleich 1 ist.
--- PAUSE Während der Konvertierung
Sharp-->GFA wird PAUSE in PRINT
gewandelt.
Abschließend sei noch darauf hingewiesen, daß eine fehlerfreie
Konvertierung nicht garantiert werden kann. Das Ergebnis sollte
also auf jeden Fall getestet werden.
6.4 Konverter GFA- nach Sharp-Basic
Aufgrund der fantastischen Strukturiertheit des GFA-Basic ist
diese Konvertierung relativ problemlos.
Es können somit Programme im GFA-Basic-Interpreter erstellt und
getestet werden. Diese werden als LST-Datei abgespeichert und mit
der Konvertierungsroutine GFA-->Sharp in ein Sharp-Basic-Listing
(ASC-Format) gewandelt. Dieses enthält noch keine Zeilennummern,
denn dafür gibt es ja die Renumber-Routine.
So wird konvertiert:
- Wahlweise Befehlssatz kontrollieren, hierbei wird das Listing
auf GFA-Basic-Befehle/Funktionen untersucht, die der Sharp
nicht kennt.
- Listing in Uppercase wandeln, weil Variablen in Großbuchstaben
vorliegen müssen
- IF..ENDIF nach IF..THEN.. sowie FOR..NEXT anpassen
- Label und Sprunganweisungen setzen
- LOG, LOG10, HEX$, ASIN, ACOS anpassen
Zur Kontrolle des Befehlssatzes enthält die Datei TERM_GFA.LIB
die Befehle und Funktionen aus dem GFA-Basic, die der Sharp nicht
kennt. Bei Bedarf kann diese Datei modifiziert werden, dabei
sollte man die Struktur jedoch nicht ändern. Der Aufbau ist wie
folgt definiert:
- Kommentarzeilen, durch * gekennzeichnet
- Schlüsselwort 'Daten', kennzeichnet den Beginn der Liste
- Befehle und Funktionen, jeweils in Hochkomma eingefaßt
und durch Komma getrennt.
- "***" kennzeichnet das Ende der Liste und der Datei
- Innerhalb der Liste sollten keine Leerzeilen auftreten.
- Die Anzahl der Befehle/Funktionen ist insgesamt auf 250
beschränkt.
6.5 Konverter Sharp- nach GFA-Basic
Es gehört schon einiges dazu, den Spaghetti-Code des Sharp in ein
Format zu bringen, das vom GFA-Basic verstanden wird. So dauert
eine Umwandlung auch entsprechend lange.
Diese Konvertierungsrichtung ist dazu gedacht, vorhandene
Sharp-Listings in GFA-Basic zu wandeln. Zur Entwicklung neuer
Programme sollte diese Routine nicht zur Anwendung kommen.
So wird konvertiert:
- Entfernen der Zeilennummern
- Aufsplitten von Mehrbefehls- in Einbefehlszeilen
- Umwandlung von IF..THEN.. nach IF..ENDIF
- Anpassung der Funktionen LN, LOG, HEX, ASN, ACS
- Befehl PAUSE in PRINT wandeln
- Entfernen der Leerzeichen zwischen Funktion und Argument
- Suchen von Labels hinter GOTO, GOSUB, RESTORE
- Labels in Label (für GOTO,RESTORE) oder PROCEDURE wandeln
Der Befehl PAUSE bewirkt auf dem Sharp eine Ausgabe auf dem
Display, die nach etwa 1 Sekunde verschwindet. Für GFA-Basic wird
der PAUSE-Befehl in ein PRINT gewandelt. Die unterschiedliche
Funktionsweise ist für die meisten Anwendungen vernachlässigbar.
Hinweis:
Bei der Funktion INT (x) ist es noch nicht möglich, das
Leerzeichen zwischen Funktion und Argument zu entfernen, dies muß
im Interpreter nachgebessert werden.
Es wird auf eine Befehlssatzkontrolle verzichtet. Zeilen, die
ungültige Befehle enthalten, kennzeichnet der
GFA-Basic-Interpreter bekanntermaßen durch das Symbol ==> am
Zeilenanfang.
6.6 Ein Tip am Rande
Der Programmstart vom Terminal 2000 verlängert sich durch die
Auswertung der Datei TERM_GFA.LIB merklich. Wer auf die
Befehlskontrolle im GFA- nach Sharp-Konverter verzichten kann
oder die GFA-Basic-Konvertierung gar nicht nutzt, sollte das
Laden der Datei TERM_GFA.LIB verhindern. Dazu kann die Datei
umbenannt, verschoben oder gelöscht werden. Entsprechendes gilt
übrigens auch für die Konfigurationsdatei TERM2000.CFG.
6.7 Temporäre Dateien
Während der Konvertierung werden eine oder mehrere temporäre
Dateien angelegt und wieder gelöscht. Wird die Konvertierung
jedoch mittendrin unterbrochen, zum Beispiel durch einen Reset,
so werden Sie diese Dateien anschließend im Verzeichnis finden.
Sie werden spätestens bei der nächsten Konvertierung gelöscht.
Es bleiben nach der Umwandlung Sharp-->GFA noch zwei Dateien
erhalten. In LABEL.TMP kann man sich die vom Konverter gefundenen
Label ansehen, PROC.TMP enthält die gefundenen Prozedur-Namen.
Ein Label, das nicht von GOTO, GOSUB oder RESTORE angesprungen
wird, wie z.B. ein DEF-Label, wird nicht in diesen Dateien
festgehalten.
7 TIPS UND TRICKS
7.1 Allgemeines
Werden Programme auf dem Atari erstellt/bearbeitet, so muß darauf
geachtet werden, daß die Zeilenlänge keinesfalls 80 Zeichen
überschreiten darf. Das einundachzigste Zeichen würde im Sharp in
der nächsten Zeile, an der Position einer Zeilennummer
auftauchen, was dieser natürlich nicht versteht.
In diesem Zusammenhang ist darauf hinzuweisen, daß sich durch die
Übertragung die Länge einer Zeile verändern kann. Der Sharp kann
für die Zahl PI und die Wurzelfunktion SQR ein einzelnes Zeichen
verwenden. Dieses wird bei der Übertragung zum Atari in die zwei
bzw. drei Zeichen PI bzw. SQR umgewandelt. So verlängert sich
eine Zeile, die PI oder SQR beinhaltet, entsprechend. Lange
Zeilen, die im Sharp erstellt wurden, können sich im ungünstigen
Fall auf über 80 Zeichen verlängern.
7.2 Zeilennummern
Das Sharp-BASIC ist Zeilennummernorientiert. Beispiel :
10 I=1
20 PAUSE I
30 I=I+1
40 GOTO 20
Eine neue Zeilennumerierung ist im Sharp mit den RENUM-Befehl
unproblematisch durchzuführen. Ändert man jedoch die
Zeilennummern im Editor auf dem Atari, so geschieht es sehr
schnell, daß man vergißt, die Zeilennummern hinter GOTO oder
GOSUB anzupassen.
Hier kann ein Programmiertrick weiterhelfen. Es ist sicherlich
bekannt, daß man im Sharp die Programme mit der DEF-Taste starten
kann.
Beispiel :
10 "C" : REM Beispiel
20 BEEP 2
30 END
Dieses Progrämmchen kann durch die Tastenkombination DEF C
gestartet werden. Der Sharp sucht also nach dem Label "C". Solch
ein Label kann nun auch für GOTO oder GOSUB Verwendung finden.
Beispiel :
10 I=1
15 "LOOP"
20 PAUSE I
30 I=I+1
40 GOTO "LOOP"
Die Funktion dürfte aus dem Beispiel deutlich werden. Wichtig ist
jedoch, daß die Namen dieser Label natürlich in einem anderen
Programm nicht gleich lauten dürfen.
"LOOP" und "Loop" sind übrigens verschiedene Label !
Die Funktion ist für GOSUB und RESTORE entsprechend.
Sharp schreibt im Handbuch zum PC-1403 zwar vor, daß hinter GOTO
oder GOSUB eine Zeilennummer im Wertebereich 1 bis 65279 folgen
muß, jedoch gibt es mit obigem Trick weder Probleme, noch die von
Sharp im Handbuch angedrohte Fehlermeldung ERROR 4.
Was jetzt folgt, ist wohl eher ein Spezialfall. Folgendes
Programm läßt sich noch vereinfachen :
10 INPUT "Sprung zu Label ?";B$
20 IF B$="AB" GOSUB "AB"
30 IF B$="XY" GOSUB "XY"
40 END
50 "AB"
60 BEEP 1
70 RETURN
80 "XY"
90 BEEP 5
100 RETURN
Hier wird das anzuspringende Label während des Programmablaufes
abgefragt und eingegeben.
Die Vereinfachung könnte so aussehen :
10 INPUT "Sprung zu Label ?";B$
20 GOSUB B$
30 END
40 "AB"
50 BEEP 1
60 RETURN
70 "XY"
80 BEEP 5
90 RETURN
Man beachte Zeile 20 !
Bei einer großen Zahl von Verzweigungen in Unterprogramme lassen
sich also entsprechend viele IF <Bedingung> GOSUB <Label>
durch ein einzelnes GOSUB <Label>
ersetzen.
Der Nachteil des letzten, vereinfachten Programmes liegt darin,
daß ein RENUM -Befehl im Sharp mit der vereinfachten Zeile 20
GOSUB B$ nichts anzufangen weiß, und eine Fehlermeldung (ERROR 9)
ausgibt.
Ansonsten dürfte diese Vereinfachung für einige Anwendungen von
Interesse sein, da es sonst keine weiteren Beeinträchtigungen
gibt.
7.3 Reset
Ein sehr beliebter Fehler ist die Angabe einer falschen Adresse
bei den CALL-Aufrufen des Treibers. Hier hängt sich der Rechner
dann auch schon mal auf, so daß nur noch ein RESET hilft. Ist ein
RESET beim Sharp unumgänglich, so sollte er nach der Handbuch
beschriebenen Art geschehen (Seite 9, beliebige Taste drücken,
dann zusätzlich den ALL-RESET-Schalter). So bleiben die Programme
im Sharp erhalten. Das ist insbesondere für das Treiber-Programm
wichtig, das sonst komplett neu eingegeben werden müßte. Ohne
Treiber im Sharp, kann natürlich auch nicht das Treiber-Programm
von der Diskette im Atari zum Sharp übertragen werden.
Achtung :
Wenn das Interface an den Sharp angeschlossen wird, sollten beide
Geräte ausgeschaltet sein, sonst könnte ein MEMORY ALL CLEAR
O.K.? die Folge sein.
7.4 Batteriewechsel
Ein Batteriewechsel bedeutet nicht gleichzeitig den Verlust der
im Sharp gespeicherten Programme. Wer möchte denn schon gerne
nach jedem Satz neuer Batterien das Treiber-Programm neu
eintippen? Mit dem Power-Schalter in Stellung OFF, kann der Sharp
zumindest einige Sekunden ohne Batterien "überleben".
8 ANHANG
8.1 Bekannte Probleme
( zur Zeit keine )
8.2 Sytemkonfiguration
Terminal 2000 sollte auf den Modellen ST (F, FM), STE, TT und
Falcon laufen. Erfolgreich lief es bis jetzt auf ST , STE und TT.
Die horizontale Bildschirmauflösung sollte mindestens 640 Pixel
bzw. 80 Zeichen betragen. Der Betrieb unter Autoswitch-Overscan
ist problemlos.
9 ANPASSUNGEN AN ANDERE POCKETRECHNER
Es ist geplant, die Terminal 2000 an die Modelle Sharp E-220 und
Sharp E-500 anzupassen. Mir steht zwar ein E-220 zur Verfügung,
aber ich habe keine Informationen darüber, wie die RS-232-Signale
am 11-poligen Anschluß anliegen. Für entsprechende Hinweise wäre
ich dankbar!
Ebenso würde ich gerne die Diskettensignale der Sharp-Rechner zur
Übertragung nutzen. Die Übertragungsrate ließe sich so um etwa
den Faktor zwei steigern und das Treiberprogramm wäre
überflüssig! Nur wie erzeuge ich diese Signale auf der
Atari-Seite?
10 SCHLUßWORTE(E) des Programmautors
Ich hoffe, daß jetzt "alle Klarheiten beseitigt sind." Das
Programm erwies sich bis jetzt als besonders zuverlässig. Für
jede konstruktive Kritik wäre ich dennoch dankbar.
Meine Adresse:
Michael Weigand
Wiener Allee 139
24147 Kiel
0431 / 78 22 59 (ab 18 Uhr)
(bis 30.06.93: 2300 Kiel 14)
11 Warenzeichen
Viele in diesem Text benutzte Bezeichnungen sind Warenzeichen und
sollten als solche betrachtet werden.