WEGA BASIC - 1 - README ----------------------------------------------------------- ZFT-KEAW Abt. Basissoftware 16.09.1988 Software Versionshinweise ------------------------- Titel: WEGA BASIC Version 1.1 ----------------------------------------------------------- 0. Inhaltsverzeichnis --------------------- 1. Inhalt . . . . . . . . . . . . . . . . . . . . . 2 2. Dokumentation . . . . . . . . . . . . . . . . . . 3 3. Installation . . . . . . . . . . . . . . . . . . 3 3.1. Installation der Dateien . . . . . . . . . . . . 4 3.2. Systemgenerierung . . . . . . . . . . . . . . . . 6 3.2.1. Das Installationsprogramm 'install' . . . . . . . 6 3.2.2. Die allgemeine Konfigurationsdatei 'IPLINPUT' . . 8 3.2.3. Generierung der den Terminalkanaelen zugeordneten Konfigurationsdateien 'IPLTn' . . . . . . . . . . 9 3.2.4. Beispiel einer 'IPLINPUT'-Datei . . . . . . . . . 10 3.3. Das Menue-Interface . . . . . . . . . . . . . . . 12 4. Nutzerhinweise . . . . . . . . . . . . . . . . . 13 4.1. Abarbeitung von BASIC . . . . . . . . . . . . . . 13 4.1.1. Die IPL-Dateien . . . . . . . . . . . . . . . . . 13 4.1.2. Die Hilfsprogramme . . . . . . . . . . . . . . . 13 4.1.3. Der 'b'-Skript . . . . . . . . . . . . . . . . . 14 4.1.4. Verlassen des Interpreters . . . . . . . . . . . 16 4.2. Beispiel . . . . . . . . . . . . . . . . . . . . 17 Anlage Terminalliste . . . . . . . . . . . . . . . . . . 18 WEGA BASIC - 2 - README 1. Inhalt --------- Das WEGA BASIC Softwarepaket besteht aus folgenden Dateien: install install.soft install.usr install.dir install.print install.term iinit IPLINPUT IPLINPUT.term clearlp b basic basic.lc TCONFIG STOP * ** **PSD *APSD *BPSD *CPSD *DPSD *EPSD *FID *FPSD *HPSD *IPSD *JPSD *KPSD *KPSD1 *KPSD2 *LPSD *MPSD *NPSD *NPSD1 *NPSD2 *NPSD3 *NPSD4 *OPSD *PPSD *PPSD1 *QPSD *QPSD1 *SPSD *TPSD *TPSD1 *UTIL *UTILS *XPSD OLDPROG basic.1 WEGA BASIC - 3 - README 2. Dokumentation ---------------- Auf der Installationsdiskette befindet sich die Datei fuer die On-line Dokumentation zu WEGA BASIC. Sie ist eine Bedienungsanleitung und nach der Installation ueber das Kommando 'man' abrufbar ('basic(1)'). Eine ausfuehrliche Dokumentation zu WEGA BASIC ist im Band 'WEGA-Software, BASIC, Nutzerhandbuch' der P8000- Dokumentation enthalten. Das Nutzerhandbuch befindet sich auf einer zweiten Diskette ("tar"-Format). Die Diskette mit dem Nutzerhandbuch steht ab 1/89 zut Verfuegung. Das Nutzerhandbuch besteht aus folgenden Dateien: basic0.txt Inhaltsverzeichnis basic1.txt basic2.txt . . . . . . . . . . Diese Dateien koennen mit dem WEGA-Kommando tar -xv1 [dateiname] (Diskette in Laufwerk 1) eingelesen werden. Der Text ist mit 66 Zeilen/Seite formatiert. Er kann ausgedruckt werden z.B. mit cp basic0.txt /dev/lp (Druck der gesamten Datei) oder pr -t +13 basic1.txt (Druck ab Seite 13 der Datei) 3. Installation --------------- Hinweis: Die folgenden Installationsprozeduren setzen voraus, dass die Basic-Software in dem Directory '/z/basiclib' installiert werden soll. Soll die Installation in einem anderen Directory erfolgen, muessen alle Bezuege zum Directory 'z/basiclib' in dieser Beschreibung und in den verschiedenen Installations- und Abarbeitungsskripts entsprechend geaendert werden. WEGA BASIC - 4 - README 3.1. Installation der Dateien ----------------------------- Die fuer die Nutzung des WEGA BASIC notwendigen Dateien werden mit Hilfe des WEGA C-Shellskripts 'INSTALL' installiert. Die Datei 'INSTALL' ist dazu in das WEGA- System einzulesen und abzuarbeiten. Dies muss vom Superuser erfolgen. Dazu sind folgende Kommandos einzugeben: cd /z tar -xv INSTALL INSTALL rm INSTALL Dadurch werden die Dateien in folgender Hierarchie eingetragen: /z/basiclib Directory fuer BASIC ./install Installationsskript, der die 5 folgen- den Installationsskripts aufruft ./install.soft Installation der Software (Aufruf von 'iinit') ./install.usr Installation von Basic-Nutzern ./install.dir Installation von Directories fuer BASIC ./install.print Installation von Druckern ./install.term Installation von Terminals ./iinit Plazieren von 'b' in '/z/bin' ./IPLINPUT allgemeine Konfigurationsdatei, die eine Umgebung definiert, die waehrend der Installation spezifiziert wird (Datei kann sich waehrend der Instal- lation durch 'install.dir' bzw. 'install.print' aendern) ./IPLINPUT.term Datei, die als ein Modell fuer die Erstellung einer Konfigurationsdatei fuer einen speziellen Terminalkanal verwendet wird (durch 'install.term') ./clearlp Datei, die vom System bei Druckeraus- gaben verwendet wird ./b ein vom Nutzer modifizierbarer Shell- skript, der den Interpreter abarbeitet und eine dem Terminalkanal zugeord- nete Konfigurationsdatei ('IPLTn') benutzt ./basic Laufzeit-Interpreter (Phase I) ./basic.lc Lister-Compiler (Phase II) WEGA BASIC - 5 - README /z/basiclib/UTILS Directory, das die Hilfsprogramme ent- haelt, die vom Basic-Nutzer gebraucht werden ./TCONFIG Terminal-Konfigurationsdatei, die Steuerbloecke fuer verschiedene Terminaltypen und die Zuordnung der Terminaltypen zu den seriellen Kanae- len T0-T7 enthaelt (Datei kann sich waehrend der Instal- lation durch 'install.term' aendern) ./STOP ./* ./** ./**PSD Menue der Hilfsprogramme ./*UTIL (Hilfsdatei fuer '**PSD') ./*UTILS (Hilfsdatei fuer '**PSD') ./*APSD Ausgabe des Inhalts eines Disk-Direc- tory auf einem Drucker ./*BPSD Erstellung einer sortierten Dateiliste ./*CPSD Vergleichen von Programmen ./*DPSD Umbenennen von Programmen/Dateien ./*EPSD Loeschen von Programmen/Dateien ./*FID ./*FPSD Anzeigen von Dateiparametern ./*HPSD Auslisten von Programmen auf dem Terminal ./*IPSD Hexadezimale Ausgabe einer Datei (Dump) ./*JPSD Initialisierung der Disk-Umgebung (Konfiguration der logischen Disks) ./*KPSD Auslisten von Programmen auf Drucker ./*KPSD1 ./*KPSD2 ./*LPSD Ausgabe des Inhalts eines Disk-Direc- tory auf dem Terminal ./*MPSD Anzeige der Speicherbelegung des Auf- trages (task) ./*NPSD Terminalkonfigurationsprogramm ./*NPSD1 ./*NPSD2 ./*NPSD3 ./*NPSD4 ./*OPSD Definition von Dateien ./*PPSD Umnummerieren von Programmen ./*PPSD1 ./*QPSD Suchen und Ersetzen von Zeichenketten (fuer Programme) ./*QPSD1 ./*SPSD Kopieren von Programmen/Dateien ./*TPSD Kopieren und Erweiterung von Program- men/Dateien ./*TPSD1 ./*XPSD Cross-Referenzliste fuer einen Kanal /z/basiclib/WORK Directory fuer Anwenderprogramme ./OLDPROG einfaches Testprogramm /usr/man/man1/basic.1 On-line Manual fuer BASIC WEGA BASIC - 6 - README 3.2. Systemgenerierung ---------------------- 3.2.1. Das Installationsprogramm 'install' ------------------------------------------ Der Rest der BASIC Systeminstallation kann in einzelnen Schritten oder zusammenhaengend durchgefuehrt werden. Dazu ist in das Directory '/z/basiclib' zu wechseln: cd /z/basiclib Dann ist einzugeben: ./install Der Aufruf des Shell-Skripts 'install' umfasst den Aufruf der folgenden fuenf Installationsprozeduren, die auch einzeln abgearbeitet werden koennen: - install.soft - install.usr - install.dir - install.print - install.term Zusaetzlich zur Abarbeitung der fuenf obigen Prozeduren wird bei der Abarbeitung von 'install' der Gruppenname 'basic' zu '/etc/group' hinzufuegt und das Directory '/z/basiclib' erstellt (falls nicht schon vorhanden). Falls zu irgendeinem Zeitpunkt nach der Erstinstallation das System modifiziert werden muss, braucht nur die betreffende Installationsprozedur ausgefuehrt werden. Hinweis: Um eine beliebige Installationsprozedur zu verlassen, kann 'END ' so oft eingegeben werden, bis man zu WEGA zurueckgekehrt ist. install.soft ------------ Diese Prozedur plaziert den Skript 'b' in '/z/bin', so dass BASIC von jeder Stelle im System aus ausgefuehrt werden kann. Der Skript 'b' wechselt zu Beginn in das Directory '/z/basiclib', weil Basic-Programme von dem Basic-Directory aus laufen muessen. install.usr ----------- Diese Prozedur ruft das WEGA-Kommando 'adduser' auf. Es fuegt Basic-Nutzer zur Datei '/etc/passwd' hinzu. Folgende Eingaben sollten bei Abarbeitung von 'install.usr' beachtet werden: Home directory: /z/basiclib Default group at login: basic WEGA BASIC - 7 - README install.dir ----------- Diese Prozedur installiert die logischen Disks (WEGA- Directories), die BASIC zur Lokalisierung von Programmen und Hilfsprogrammen durchsucht. Diese Directories werden angelegt (falls noch nicht vorhanden) und in der Datei 'IPLINPUT' verzeichnet. Die Installation von Druckern erfordert nicht die Installation einer logischen Disk fuer das Directory '/dev' innerhalb dieser Prozedur. Eine Installation der logischen Disk fuer das Directory '/dev' innerhalb der Prozedur 'install.dir' ist jedoch notwendig, falls ein Geraet (z.B. Diskette), das in dem Directory '/dev' lokalisiert ist, fuer Lese- bzw. Schreiboperationen eroeffnet werden soll. Hinweis: Falls keine weiteren Directories installiert werden sollen, kann dieser Schritt uebergangen werden. install.print ------------- Diese Prozedur installiert die Drucker fuer BASIC und verzeichnet sie in der Datei 'IPLINPUT'. Es ist abzusichern, das der Druckertreiber die Lese- und Schreiberlaubnis hat. Dies laesst sich durch folgende Kommandos feststellen und ggf. aendern: ls -l /dev/lp chmod 666 /dev/lp Es ist moeglich, Geraetespezifikationen sowohl fuer Geraete mit als auch fuer Geraete ohne Spooler zu erstellen; d.h. 'nq', 'lp' und 'text'. Hinweis: Falls keine weiteren Drucker installiert werden sollen, kann dieser Schritt uebergangen werden. install.term ------------ Diese Prozedur arbeitet das Basic-Hilfsprogramm '*NPSD' (Terminalkonfigurationsprogramm) ab, das auch unter dem Interpreter oder unter dem menuegesteuerten Programm '*JPSD' eingegeben werden kann. Sie benutzt die Datei 'IPLINPUT.term' als ihre Konfigurationsdatei. Naehere Informationen zu dem Programm '*NPSD' sind im Band 'WEGA Software, BASIC, Nutzerhandbuch' der P8000- Dokumentation, Abschnitt 9, enthalten. Durch 'install.term' koennen die Terminalsteuerbloecke, die in der Terminal-Konfigurationsdatei 'TCONFIG' enthalten sind, modifiziert oder neue Bloecke hinzugefuegt werden. Es verbindet die Terminalsteuerbloecke mit den seriellen Kanaelen. WEGA BASIC - 8 - README BASIC benutzt als Terminal-Konfigurationsdatei nicht die Datei '/etc/termcap', sondern die Datei '/z/basiclib/UTILS/TCONFIG'. Im Anhang sind verschiedene Terminaltypen aufgelistet, die von BASIC unterstuetzt werden. Falls das zu verwendende Terminal nicht aufgelistet ist, kann bei der Installation bei Abarbeitung von 'install.term' ein entsprechender Terminalsteuerblock geschrieben werden, der dann zu der Datei 'TCONFIG' hinzugefuegt wird. Bevor man einen vollkommen neuen Steuerblock aufbaut, sollte man das zu installierende Terminal mit den bereits eingetragenen Terminaltypen testen. Hoechstwahrscheinlich findet man dabei einen Terminaltyp, den man verwenden kann bzw. bei dem man nur einige Parameter aendern muss. 3.2.2. Die allgemeine Konfigurationsdatei 'IPLINPUT' ---------------------------------------------------- Der Basic-Abarbeitungsskript 'b' (siehe auch Abschnitt 4.1.3.) setzt das Vorhandensein einer dem Terminalkanal zugeordneten Konfigurationsdatei voraus, die den Namen 'IPLTn' hat (n={0,1,2,3,4,5,6,7,A} entsprechend dem verwendeten Terminalkanal). Das Installationsprogramm 'install' konfiguriert eine allgemeine Konfigurationsdatei 'IPLINPUT' (Initial Program Load Input), die die Abarbeitungsumgebung fuer den Interpreter beschreibt. 'Install' produziert aber nur eine IPL-Datei, naemlich 'IPLINPUT'. Falls alle Terminalkanaele die gleiche IPL-Datei benutzen sollen, dann braucht die Datei 'IPLINPUT' fuer jeden Terminalkanal, an dem ein Basic-Nutzer arbeitet soll, nur dupliziert, umbenannt und modifiziert werden (siehe Abschnitt 3.2.3.). 'IPLINPUT' enthaelt Konfigurationsparameter, die von verschiedenen Hilfsprogrammen als auch von beiden Phasen des Interpreters benutzt werden. Diese Parameter definieren die Nummer und den Typ von Geraeten, die fuer den Nutzer verfuegbar sind, verschiedene Abarbeitungsparameter, Systemflags und Programme, die nach dem Start abgearbeitet werden sollen. Hinweis: Der Basic-Nutzer hat die Moeglichkeit, den Programmnamen '*JPSD' innerhalb der Zeile 'IPL 1,2,Tn,*JPSD' in 'IPLTn' durch einen anderen Namen zu ersetzen. Diese Moeglichkeit ist von entscheidender Bedeutung fuer Anwendungen, die BASIC nicht interaktiv verwenden. Hinweis: Die Reihenfolge der Zeilen in 'IPLINPUT' ist von Bedeutung. WEGA BASIC - 9 - README 3.2.3. Generierung der den Terminalkanaelen zugeordneten Konfigurationsdateien 'IPLTn' ----------------------------------------------------------- Der Basic-Systembetreuer sollte fuer jeden Terminalkanal eine IPL-Datei erstellen, bei denen die Konfigurationsparameter verschieden sein koennen. Zur Erstellung der IPL-Dateien gibt es zwei Methoden: Erste Methode ------------- 1. Kopieren der Datei 'IPLINPUT' in die Datei mit dem Namen 'IPLINPUT.BAK'. (cp IPLINPUT IPLINPUT.BAK) 2. Abarbeitung der Prozedur 'install' mit den Parametern, die fuer den Nutzer, dessen IPL-Datei konfiguriert wird, relevant sind. (install) 3. Kopieren der Datei 'IPLINPUT' in die Datei mit dem Namen 'IPLTn', wobei 'n' der Terminalkanal ist, fuer den die IPL-Datei bestimmt ist. (cp IPLINPUT IPLTn) 4. Kopieren von 'IPLINPUT.BAK' in 'IPLINPUT'. (cp IPLINPUT.BAK IPLINPUT) 5. Falls die erforderliche Anzahl von IPL-Dateien noch nicht erstellt ist, dann Fortsetzung bei Schritt 2. Zweite Methode -------------- Zur Erstellung der den Terminalkanaelen zugeordneten Konfigurationsdateien 'IPLTn' koennen Kopien der allgemeinen Konfigurationsdatei 'IPLINPUT' verwendet werden, die dann mit einem Editor entsprechend dem Terminalkanal zu veraendern sind. Diese zweite Methode setzt voraus, dass die definierten Parameter fuer alle Nutzer gleich sind. Hinweis: Die Werte 'n' in den Zeilen 'DEV Tn,7,,P8,,,,tty' und 'IPL 1,2,Tn,*JPSD' und im zugehoerigen Dateinamen 'IPLTn' muessen identisch sein. WEGA BASIC - 10 - README 3.2.4. Beispiel einer 'IPLINPUT'-Datei -------------------------------------- CNF 1,12,1,18 PTN 1,16000 DEV D0,1,,,,,,UTILS DEV D1,1,,,,,,GAMES DEV D2,1,,,,,,WORK DEV D4,1,,,,,,IPLS_DIR DEV D5,1,,,,,,/dev DEV D6,1,,,,,,/z/chery1 DEV D7,1,,,,,,PROGRAMS DEV T4,7,,P8,,,,tty DEV LP,4,,80,1,1,,nq DEV P1,4,,80,1,1,,text DEV P2,4,,80,1,1,,lp DEV P3,4,,80,,,,tty6 IPL 1,2,T4,*JPSD END * CNF 1,12,1,18 Dieses Feld heisst 'Konfigurationsblock'. 1 Anzahl der Speicherbaenke (immer 1). Eine Speicherbank ist die Speichergroesse, die fuer einen Auftrag (task) belegt wird. 12 Anzahl der nachfolgenden Zeilen, die mit 'DEV' be- ginnen 1 Anzahl der Basic-Prozesse, die von einem Terminal aus ausgefuehrt werden koennen (immer 1). 18 Anzahl der moeglichen Eintraege in der 'Tabelle der offenen Dateien' (immer 18). WEGA BASIC manipuliert zwei 'Tabellen der offenen Dateien'; die eigene und indirekt die von WEGA. Es gibt eine direkte Zuordnung zwischen der Anzahl der Eintraege in beiden. * PTN 1,16000 Der 'Speicherbankblock'. 1 Immer 1 fuer einen Auftrag. 16000 Die Groesse in Bytes des verfuegbaren Platzes fuer Programm und Daten des Nutzers (Speicherbank). Die obere Grenze fuer diese Zahl ist 28000. Je kleiner diese Groesse, desto groesser der Systemdurchsatz fuer jeden Basic-Nutzer. WEGA BASIC - 11 - README * DEV D0,1,,,,,,UTILS * DEV D1,1,,,,,,GAMES * DEV D2,1,,,,,,WORK * DEV D4,1,,,,,,IPLS_DIR * DEV D5,1,,,,,,/dev * DEV D6,1,,,,,,/z/chery1 * DEV D7,1,,,,,,PROGRAMS Jede Zeile dieses Blockes beschreibt eine logische Disk fuer den Interpreter. 'D0-D7' sind die Geraetenamen. '1' bedeutet fuer den Interpreter, dass die Geraete logische Disks sind. Der letzte Parameter ist der Name des WEGA-Directory, das mit jeder logischen Disk verbunden ist. * DEV T4,7,,P8,,,,tty Diese Zeile beschreibt das Terminal, das diese IPL-Datei benutzt. 'T4' ist der Geraetenamen ('T' fuer Terminal; '4' fuer den Kanal, mit dem das Terminal verbunden ist). '7' sagt dem Interpreter, dass das Geraet mit dem Namen 'T4' ein Terminal ist. 'P8' benennt den Terminalsteuerblock (in '/z/basiclib/UTILS/TCONFIG'), der benutzt wird, um das Geraet zu steuern. In diesem Fall ist das ein P8000- Terminal (ADM31-kompatibel). 'tty' bedeutet, dass der Interpreter die WEGA Geraetedatei in '/dev' suchen muss. * DEV LP,4,,80,1,1,,nq * DEV P1,4,,80,1,1,,text * DEV P2,4,,80,1,1,,lp * DEV P3,4,,80,,,,tty6 Diese Zeile beschreibt die Drucker, die Basic benutzen kann. 'LP, P1, P2, P3' benennt das Geraet. '4' sagt dem Interpreter, dass die Geraete Drucker sind. '80' gibt die Recordlaenge dieses Geraetes an. Die nachfolgende '1' ist ein Schutzflag (locked flag) fuer den Drucker. Falls es '1' ist, koennen andere Basic- Auftraege das Geraet benutzen (0 = nein). Die naechste '1' ist das Spoolerflag. Falls es '1' ist, ist der Drucker ein Geraet mit Spooler (0 = nein). Die vierte Zeile zeigt einen Drucker, der mit dem seriellen Kanal '/dev/tty6' verbunden ist. Diese Zeile erlaubt dem Nutzer am Kanal 4 direkt zum Kanal 6 zu schreiben. WEGA BASIC - 12 - README * IPL 1,2,T4,*JPSD Dies ist die letzte Zeile der Datei und wird benutzt, um ein Programm zu starten, wenn der Interpreter aufgerufen wird. 1 Anzahl der Speicherbaenke, die fuer den Nutzer zur Verfuegung stehen (immer 1). 2 Gibt die minimale Anzahl von 256k-Byte-Bloecken an, die fuer den angegebenen Auftrag belegt werden muessen. T4 Verweist auf das Terminal, das mit dem angegebenen Auftrag verbunden ist. *JPSD Benennt ein Programm (Auftrag), das beim Start aus- gefuehrt werden soll. In diesem Fall ist es das Menue der Konfiguration der logischen Disks (WEGA Directories). Weitere Informationen ueber das Format und die Bedeutung der Parameter in der 'IPLINPUT'-Datei sind im Band 'WEGA Software, BASIC, Nutzerhandbuch', Anhang A enthalten. 3.3. Das Menue-Interface ------------------------ Das System wurde mit einem Menue-Interface ausgestattet. Die Menues werden als Ergebnis der Abarbeitung der Zeile 'IPL 1,2,Tn,*JPSD' in der Datei 'IPLTn' ausgegeben, wobei 'n' in 'Tn' und 'IPLTn' identisch sein muessen. '*JPSD' gibt das Menue der Konfiguration der logischen Disks aus. Durch Eingabe von kann dann das Hilfsprogramm '**PSD' aufgerufen werden, das das Menue der Hilfsprogramme ausgibt. Die Abarbeitung des Menueprogramms '*JPSD' ist standardmaessig vorgegeben, kann aber durch Ersetzen von '*JPSD' durch ein anderes Basic-Programm ueberschrieben werden. Wenn das ausgewaehlte Programm (oder das letzte Programm einer Programmkette) abgearbeitet ist, erscheint das Basic-Prompt '>', das zur interaktiven Arbeit auffordert. Um das Menue der Hilfsprogramme vom Interpreterniveau (d.h. vom Basic-Prompt '>') aus auszugeben, ist folgende Eingabe notwendig: >RUN "**PSD" WEGA BASIC - 13 - README 4. Nutzerhinweise ----------------- 4.1. Abarbeitung von BASIC -------------------------- 4.1.1. Die IPL-Dateien ---------------------- Wie schon bereits erwaehnt, muss eine Datei 'IPLTn' fuer jeden Kanal 'n' existieren, den ein Basic-Nutzer benutzen will. Diese Datei enthaelt alle die Informationen, die notwendig sind, um dem Interpreter die Ausfuehrungsumgebung dieses Kanals mitzuteilen. Bei der Erstellung der Dateien 'IPLTn' ist zu beachten, dass die Werte 'n' in den Zeilen DEV Tn,7,,P8,,,,tty und IPL 1,2,Tn,*JPSD der Kanalnummer entsprechen muessen, von dem aus der 'b'- Skript gestartet wurde. Ansonsten erscheint die folgende Meldung: b: 8f582 Memory fault - core dumped 4.1.2. Die Hilfsprogramme ------------------------- Die letzte Zeile der Datei 'IPLTn' bewirkt die Ausfuehrung eines Programms, das als letzter Parameter in dieser Zeile angegeben ist. Standardmaessig ist dies das Programm '*JPSD', welches das erste von zwei Menues ausgibt. Das erste Menue betrifft die Verfuegbarkeit der logischen Disk. Das zweite Menue ('**PSD') ist das Menue zur Auswahl der Hilfsprogramme. Um von '*JPSD' zu '**PSD' zu gelangen, muss ein eingegeben werden. Die Hilfsprogramme koennen vom Interpreter aus auch mit einem Kommando in der folgenden Form eingegeben werden: >RUN "*NPSD" In diesem Fall handelt es sich bei dem ausgewaehlten Programm um das Terminal-Konfigurationsprogramm. Verschiedene Kommandofunktionen sind sowohl vom Interpreterniveau als auch vom Hilfsprogrammmenue aus verfuegbar: 1. Umnummerierung von Programmen (RENUMBER & *PPSD) 2. Umbenennen von Programmen (RENAME & *DPSD) 3. Loeschen von Programmen WEGA BASIC - 14 - README (ERASE & *EPSD) 4. Anzeige von Dateiparametern (FID & *FPSD) 5. Auslisten von Programmen auf dem Terminal (LIST & *HPSD) 6. Definition von Dateien (SERIAL/SORT/DIRECT/INDEXED & *OPSD) 7. Anzeige der Speicherbelegung des Auftrages (task) (BSZ & *MPSD) Eine komplette Beschreibung der Hilfsprogramme ist im Abschnitt 9 des Bandes 'WEGA-Software, BASIC, Nutzerhandbuch' der P8000-Dokumentation enthalten. Anstelle des Programms '*JPSD' in der letzten Zeile der IPL-Datei 'IPLTn' kann auch ein nutzereigenes Programm gestartet werden, indem es anstelle von '*JPSD' geschrieben wird. Es kann auch eine Kette von Programmen angegeben werden. 4.1.3. Der 'b'-Skript --------------------- Zur Abarbeitung des Interpreters muss der Basic-Nutzer (d.h. ein Nutzer, der zur Gruppe 'basic' gehoert) 'b ' eingeben. 'b' ist ein Shell-Skript, der die Datei 'basic' (d.h. den Interpreter) abarbeitet, die wiederum die Datei 'IPLTn' als Parameter benutzt, wobei 'n' die Terminalkanalnummer des Nutzers ist. Im folgenden wird ein Beispiel fuer einen einfachen 'b'- Skript angegeben: trap '' 2 ttyparms=`stty -g` trap "echo 'Ive been killed!'; stty $ttyparms; exit 1" 1 3 4 5 6 7 8 9 10 12 13 14 15 echo "Executing BASIC" term=`tty` case $term in /dev/tty0 ) term=T0;; /dev/console ) term=T1;; /dev/tty2 ) term=T2;; /dev/tty3 ) term=T3;; /dev/tty4 ) term=T4;; /dev/tty5 ) term=T5;; /dev/tty6 ) term=T6;; /dev/tty7 ) term=T7;; * ) term=TA;; esac umask 0 cd /z/basiclib ./basic IPL$term || (stty $ttyparms) WEGA BASIC - 15 - README Es gibt 15 moegliche Signale (1-15), die vom WEGA-Kern verstanden werden, wobei aber fuer einen gegebenen Kanal nicht alle diese Signale implementiert sein muessen. Diese Signale koennen im Shellskript ausgewertet werden. Die allgemeine Form dafuer ist: trap 'auszufuerendes Kommando' Signalnummer Im 'b'-Skript wird durch trap '' 2 das Signal 2 eingefangen, wobei kein Kommando ausgefuehrt wird. Signal 2 ist die DEL-Taste. Durch trap "echo 'Ive been killed!'; stty $ttyparms; exit 1" 1 3 4 5 6 7 8 9 10 12 13 14 15 werden die Anweisungen, die sich innerhalb der Anfuehrungssriche ("") befinden, ausgefuehrt, falls eines der Signale 1, 3-15 auftritt. stty -g liest die tty-Parameter so, dass das 'setup'-Feld sie interpretieren kann. exit 1 bewirkt das Verlassen des Shellskripts mit dem Status 1. term=`tty` case $term in /dev/tty0 ) term=T0;; /dev/console ) term=T1;; /dev/tty2 ) term=T2;; /dev/tty3 ) term=T3;; /dev/tty4 ) term=T4;; /dev/tty5 ) term=T5;; /dev/tty6 ) term=T6;; /dev/tty7 ) term=T7;; * ) term=TA;; esac Diese Anweisungen weisen der Shell-Variablen '$term' die Nummer des seriellen Kanals des Nutzers zu. umask 0 Dieses Kommando sichert, dass der Zugriffserlaubnissmode fuer die erstellten Dateien 'read/write' ist fuer Eigentuemer/Gruppe/Alle. WEGA BASIC - 16 - README cd /z/basiclib ./basic ./IPL$term Wie hier zu sehen ist, sucht der 'b'-Skript alle 'IPLTn'- Dateien in dem Directory '/z/basiclib'. Falls sich die 'IPLTn'-Dateien in einem anderen Directory befinden, ist die letzte Zeile im 'b'-Skript entsprechend zu modifizieren, z.B. wird durch ./basic ./IPLS_DIR/IPL$term die 'IPLTn'-Datei in dem Directory '/z/basiclib/IPLS_DIR' gesucht. Fehlt die Angabe der 'IPLTn'-Datei beim Aufruf von 'basic', so wird standardmaessig die Datei './IPLINPUT' genommen. Nach Aufruf des 'b'-Skripts meldet sich (falls die zugehoerige 'IPLTn'-Datei standardmaessig die Zeile 'IPL 1,2,Tn,*JPSD' enthaelt) das erste von zwei Menues, d.h. das Menue der Konfiguration der logischen Disks. Durch Eingabe von wird das zweite Menue aufgerufen, d.h. das Menue der Hilfsprogramme. Durch Eingabe eines weiteren gelangt man dann zum Interpreter-Prompt ('>'). 4.1.4. Verlassen des Interpreters ---------------------------------- Verlassen des Interpreters und Uebergang zum Menue der Hilfsprogramme mittels: >RUN "**PSD" Verlassen des Interpreters und Rueckkehr zu WEGA mittels: >RELEASE Abbruch des Prozesses mittels: > WEGA BASIC - 17 - README 4.2. Beispiel ------------- Dieser Abschnitt zeigt ein Beispiel der Verwendung von BASIC vom 'login' bis zum 'logout'. 1. 'Login' als Basic-Nutzer 2. Falls die Dateien '.profile' bzw. '.login' nicht auto- matisch den 'b'-Skript aufrufen, ist folgendes Kommando einzugeben: b Unter Voraussetzung einer Standardkonfiguration zeigt jetzt das Hilfsprogramm '*JPSD' die tatsaechliche Konfi- guration der logischen Disks an. Wenn die richtigen logischen Disks aktiviert wurden, kann durch Eingabe von das Menue der Hilfsprogramme ('**PSD') gestartet werden. Durch Eingabe eines weiteren wird der Bild- schirm geloescht und das Basic-Prompt > erscheint auf dem Bildschirm. Jetzt koennen Programme eingegeben werden, entweder durch Erstellen einer neuen Datei oder durch Laden einer bereits vorhandenen Datei. Zum Laden einer bereits vorhandenen Datei ist einzugeben: >LOAD "OLDPROG" Dieses einfache Programm kann ausgelistet oder abgear- beitet werden durch Eingabe von >LIST oder >RUN Basic kann dann verlassen werden durch Eingabe von >RELEASE WEGA BASIC - 18 - README Anlage ------ Diese Anlage enthaelt eine Liste von Terminals, die durch BASIC unterstuetzt werden: Name Beschreibung ---- ------------ P8 P8000-Terminal (ADM31-kompatibel) PV P8000-Terminal (VT100-kompatibel) ADM-3A LSI model ADM-3A ALTOS-II ALTOS II terminal B4 7250 Basic/Four 7250 CDC722 CDC 722 (ADV) CIT-80 C ITOH model 80 DM 10 Data Media color 10 FORTUNE Fortune HZ1510 Hazeltine 1510 IBM3101 IBM 3101 LISA Apple Lisa MERC Mercator PIXEL Pixel console terminal REXON Rexon model 301 SEIKO Seiko 8600 terminal T7000 Wicat T7000 TVI912 Televideo 912 TVI920 Televideo 920 TVI950 Televideo 950 VT100 Dec vt100 VT52 Dec vt52 WICAT Wicat monitor ZDS Heath terminal ZEN Zentec 1051 ZEN132 Zentec 1051 132 col. ZEN8001 Zentec model 8001 ZEPHYR Zentec Zephyr