B˙ A˙ S˙ I˙ C˙ O˙ D˙ E˙ Blatt 1 Leerzeichen werden entfernt, Ausnahme vor GOSUB, GOTO und THEN, sofern davor nicht ":" oder ")" steht. Eine BASICODE-Zeile darf (einschlieálich Zeilennummer und Space) nur sechzig Zeichen enthalten. Jedes BASICODE-Programm beginnt in Zeile 1000. A (Byte) legt die Gr”áe des zu reservierenden Stringraums fest, sollte nicht kleiner als 100 sein. Zeile 1000 enth„lt ein "GOTO 20". Dort wird der Rechner initia- lisiert und ein Rcksprung zur Zeile 1010 veranlaát. In Zeile 1010 beginnt die Abarbeitung des "eigentlichen" BASICODE-Pro- gramms. Das Programm endet mit "GOTO 950" - die Befehle RUN, END und STOP sind verboten. Der Rechner wird wieder in den normalen BASIC-Zustand zu- rckversetzt. Ab Zeile 30000 stehen Erkl„rungen zum Programm, ab Zeile 32000 formale Fakten (Autor, Datum, Versionsnummer, verwendeter Rechner...) s.a.Bl.2 In BASICODE gltige BASIC - Befehle ABS DATA IF LOG PRINT SGN THEN / >= AND DIM INPUT MID$ READ SIN TO ^ <> ASC EXP INT NEXT REM SQR VAL = ATN FOR LEFT$ NOT RESTORE STEP + < CHR$ GOSUB LEN ON RETURN TAB - > COS GOTO LET OR RIGHT$ TAN * <= Einschr„nkungen: AND darf nur auf logische Ausdrcke (Vergleiche) bezogen werden, die geklammert werden sollten, Zuweisungen von logischen Ergebnissen an eine Variable sind zul„ssig. ASC liefert nicht bei allen Computern in allen F„llen exakt den gleichen Wert, jedoch bei (Groá-)Buchstaben weitgehend erfllt, CHR$ Vorsicht bei Werten < 32 (Steuerzeichen!). DEF FN name nur in der einfachen Form mit einer Variablen anwendbar, nicht rekursiv anwendbar. DIM vor Nutzung von Feldern erforderlich, maximal zwei Dimensionen zu- l„ssig, Z„hlung beginnt beim nullten Element. FOR ... TO ... STEP ... NEXT Die Schleife wird mindestens einmal durchlaufen. Ohne STEP zahl ist die Schrittweite 1. Nach NEXT muá die zugeh”rige Variable stehen. Nur ein NEXT zul„ssig, Schleife darf nur an einer einzigen Stelle verlassen werden. Aus der Schleife darf nicht herausgesprungen werden - vorzeitiges Verlassen durch Laufparameter = Endwert, Sprung zum NEXT. GOSUB Zeilennummer darf keine Variable sein, Zeilennummer muá existie- ren. IF ... THEN GOSUB. GOTO siehe GOSUB, Ausnahme 20 und 950. IF ... THEN zeilennummer. INPUT nur fr eine Variable. LOG hat Basis e, LN darf nicht verwendet werden. MID$ erfordert drei oder zwei Werte. MID$(A$,5) ist erlaubt. NEXT siehe FOR. NOT siehe AND. ON die Variable darf nur die zul„ssigen Werte annehmen, also von 1 bis zur Anzahl der nach GOTO bzw. GOSUB stehenden Adressen. OR siehe AND. PRINT Formatierung nur mit ",", ":", und TAB. Empfehlung, "," und TAB durch GOSUB 110 zu ersetzen. Nicht durch "?" ersetzbar. REM nicht durch "'" ersetzbar, kein ":" in REM-Zeile. RESTORE nur ohne Zeilennummer. TAB TAB(0) nicht erlaubt. Sicherer GOSUB 110. VAL nimmt bei nicht rein numerischen Argumenten in verschiedenen Rech- nern unterschiedliche Werte an (vgl. ASC). B˙ A˙ S˙ I˙ C˙ O˙ D˙ E˙ Blatt 2 BASICODE - GOSUB - Routinen 20 Programmstart, System-Reset, Variable l”schen ... 100 Text-Modus einschalten und Bildschirm l”schen. 110 Cursor auf die Position HO, VE. 120 Cursor-Position in HO,VE zurckholen 150 Auff„lliges Anzeigen von SR$; rechts und links drei Spaces. 200 Daten einer eventuell gedrckten Taste in IN$ und IN. 210 wie 200, jedoch mit Warten auf Tastendruck. 220 Holen des Zeichens aus Schirmposition HO, VE auf IN. 250 Erzeugen eines kurzen Aufmerksamkeitstones. 260 Zufallsvariable in RV mit 0 <= RV < 1. 270 Ausfhren von garbage collection und Speicherplatz in FR. 280 Aus- bzw. Einschalten der STOP/BRK - Taste FR = 0 bzw. 1. 300 SR wird ohne Space in SR$ gewandelt. 310 wie 300, jedoch als Zahl mit CT und CN formatiert. 330 Alle Kleinbuchstaben in SR$ in Groábuchstaben wandeln. 350 šbergabe von SR$ an den Drucker. 360 In neue Zeile mit Drucker (CRLF). 400 Erzeugung eines Tons gem„á SV, SD und SP. 450 Warten von maximal SD * 0,1 s auf einen Tastendruck. 500 Er”ffnen eines Files mit dem Namen NF$ gem„á NF. 540 Aus dem File wird ein String in IN$ bergeben. 560 SR$ wird in das File geschrieben. 580 Man schlieáe den Bestand mit Code NF ab. 600 Graphischen Betrieb und Bildschirm l”schen. 620 Setzen eines Punktes in die Position HO, VE mit Farbe CN. 630 Zeichnen einer Linie zum Punkt HO, VE in Farbe CN. 650 SR$ an der Position HO, VE anzeigen (Grafik-Mode). 950 Beenden des Basicode-Mode. Zeilen-Verwendung beim BASICODE 0 - 999 Bascoder (fr jeden Computer anders). 1000 Erste Zeile des BASICODE-Programms. Sie muá folgende Form haben: 1000 A=:GOTO 20:REM 1010 - 19999 Eigentliches BASICODE-Programm. 20000 - 24999 Subroutinen, welche unerlaubte Befehle verwenden. Sie sollen m”glichst vermieden, zumindest aber in REM-Zei- len genau erkl„rt werden (z.B. farbige Bilder, in BASI- CODE-3 nicht m”glich). 25000 - 29999 Eventuell ben”tigte DATA-Zeilen. 30000 - 31999 REM-Zeilen, z.B. kurze Programmbeschreibung, Literatur 32000 - 32767 REM-Zeilen fr den Namen und die Anschrift des Autors, Datum und andere formale Bemerkungen. Zeilenl„nge einschlieálich Zeilennummer und Space maximal 60 Zeichen In BASICODE verbotene Variablen 1. Alle Variablen, die mit dem Buchstaben O beginnen. 2. AS, AT, DI, DI$, DS, DS$, EI, EI$, EL, ER, FN, GO, GR, IF, LN, SQ, SQ$, ST, TI, TI$, TO. 3. PI, enth„lt aber nicht den Zahlenwert 3.14159. Im Bascoder verwendete Variablen mit besonderer Bedeutung A, CN, CT, FR, HG, HO, IN, IN$, NF, NF$, RV, SD, SP, SR, SR$, SV, VE, VG.