Auszug aus dem Manual zu BasiCode Version 3‑C

 

1. Einleitung

BasiCode (entwickelt bis BasiCode-3C, 1991, wenig später Auflösung der Nederlandse omroep Stichting <NOS>) ist eine spezielle BASIC-Version. In circa fünfzig Befehlen ist BC identisch mit BASIC. Weitere dreißig Befehle werden indirekt über GOSUB-Routinen realisiert. Mit BC wird die Nutzung von BC-Programmen auf vielen Kleinrechnern möglich, wobei die Qualität der Grafikbearbeitung vom Rechnertyp abhängt. Da immer nur die Möglichkeiten der schwächeren Rechner als Grundlage dienen, gibt es einige Einschränkungen (z.B. nur einen Tonkanal). Alle BC-Programme werden auf Kassette (Diskette) aufgezeichnet und können dann auch problemlos auf anderen Rechnern eingeladen werden. In der BC-Version wurden Programme über den Rundfunk DDR-II ausgestrahlt.

Sofern noch zeilenorientierte BASIC-Versionen (BASICA, GW-BASIC) verwendet werden, können auch Verbindungen zu DOS-Computern gehalten werden, eine weitere Kontaktmöglichkeit sind mittlerweile Programme, die 8-bit-Rechner auf moderneren PCs emulieren.

Nachteilig ist, daß ohne "Bascoder", der vorher geladen wird, die Programme nicht laufen. Dieser "Coder" wird rechnerspezifisch erstellt. Das Programmieren in BC ist ungewohnt und erfordert die Beachtung einiger Vorschriften. Unerlaubte Befehle, die auf anderen Rechnern nicht laufen, werden nicht erkannt. Bei einigen Rechnern kann ein Interface zur Anpassung der Datasette notwendig sein.

 

2. Betrieb in BasiCode

Da rechnerspezifische Bascoder entwickelt wurden, kann nur auf Grundsätze eingegangen werden. BC wird im Direktmodus (Basic) geladen und mit RUN gestartet. BC-Programme werden nachgeladen (bei +4 über "F2" ... JOYCE via MERGE "datei.bas") und stehen dann ab Zeilennummer 1000 im Rechner. Der Bascoder belegt die Zeilennummern bis 999 (dazu Maschinencodeteil). In BC-Programmen erfolgt eine Beendigung mit GOTO 950.

Beispiel:

1000 A=100:GOTO 20:REM Hydra 
1010 PRINT"Hydra-Problem"
1020 INPUT"Zahl (0=Ende)";Z
1030 IF Z=O THEN GOTO 950:REM Ende
1040 IF (Z<>INT(Z)) OR (Z<2) THEN PRINT"Fehler" 
1050 Y=Z/2:IF Y=INT(Y) THEN Z=Y:GOTO 1070
1060 Z=Z+Z+Z+l
1070 PRINT Z;:IF Z>l THEN 1040 
1080 GOTO 1020
30000 REM Hydra = alle ganzzahligen Eingaben führen zu 1

Es muß immer eine Zeile 1000 und 1010 existieren! In 1000 wird der notwendige Stringraum definiert und dann Sprung zur Zeile 20. In 20 werden die Anzahl der möglichen Zeilen-1 (VE), Spalten-1 (H0) und Pixel-X (HG) / Y (VG) übernommen. Dann erfolgt ein Sprung zur Zeile 1010. Ab 1010 steht das entsprechende Programm.

 

Weitere Festlegungen:

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.

Das Programm endet mit "GOTO 950" - die Befehle RUN, END und STOP sind verboten. Der Rechner wird wieder in den normalen BASIC-Zustand zurückversetzt. Ab Zeile 30000 stehen Erklärungen zum Programm. 

Ab Zeile 32000 formale Fakten (Autor, Datum, Versionsnummer, verwendeter Rechner... )

J. Augustinat