PETSPEED 64
PETSPEED 64 | |
---|---|
Firma | System Software Oxford Ltd. |
Release | 1984 |
Lizenz | Vollversion |
Plattform(en) | C64 (BASIC 2.0), C128 (BASIC 7.0), PET |
Genre | Compiler |
Steuerung | |
Medien | |
Sprache(n) | |
Information | C128-Version: siehe PETSPEED 128 |
PETSPEED 64 ist ein BASIC 2.0-Compiler, der ein bestehendes BASIC-Programm durch die Kompilation um das bis zu 40-fache schneller ablaufen lässt. Er besitzt einen Kopierschutz. PETspeed 64 arbeitet mit jedem Commodore Diskettenlaufwerk.
Das Cover des 10seitigen Benutzerhandbuchs bewirbt PETSPEED 64 wie folgt:
"The BASIC Compiler PETSPEED 64 - Up to 40 times the speed of BASIC
- All BASIC 2 commands plus
- makes long programs shorter
- extensions to BASIC
- easy to use"
Arbeitsdisketten anlegen[Bearbeiten | Quelltext bearbeiten]
Vor der Nutzung muss man mit Hilfe der Originaldiskette vier Arbeitsdisketten anlegen. Dazu sind vier vorformatierte Diskette mit den Namen "PETSPEED MASTER", "UTILITIES MASTER", "PETSPEED WORK" und "UTILITIES WORK" anzulegen. Das Anlegen der Arbeitsdisketten erfolgt mit dem Programm LOAD"BACKUP",8
und über den Menüpunkten: "MAKE PETSPEED MASTER", "MAKE UTILITIES MASTER", "BACKUP PETSPEED" und "BACKUP UTILITIES".
Arbeitsweise[Bearbeiten | Quelltext bearbeiten]
Nach der Überprüfung des Kopierschutzes wird der Compiler gestartet. Man gibt dort den Namen des BASIC-Programms ein und PETSPEED führt 4 Durchläufe durch. Wenn diese alle fehlerfrei sind, erfolgt abschließend die Meldung: RUN: NNNNN bytes free .
Nun kann das kompilierte PETSPEED-BASIC-Programm ganz normal auf Diskette abgespeichert werden. Die einzige BASIC-Zeile, die ein kompilierte PETSPEED-BASIC-Programm besitzt, lautet:
10 SYS (2073) PETSPEED
Hinweis: Das Kompilieren von BASIC-Programme mit enthaltenen Maschinenspracheprogramme oder mit der Übergabe von Variablen an Maschinenspracheprogramme führt zu Probleme, da PETSPEED nur den BASIC-Code betrachtet und ihn unabhängig von Maschinenspracheprogramme kompiliert!
BASIC[Bearbeiten | Quelltext bearbeiten]
Beim Kompilieren von BASIC-Programmen mit PETSPEED müssen folgende Kompromisse gemacht werden:
- Folgende BASIC-Schlüsselwörter dürfen in PETSPEED-BASIC-Programme nicht verwendet werden:
LIST
,CONT
undSAVE
- Der Befehl
RUN
darf nur ohne Zeilennummer genutzt werden. - Das Dimensionieren von Variablen ohne Angabe der Feldanzahl erfolgt standardmäßig mit 11 Elementen (obgleich BASIC V2 hier von einer einfachen Variable ausgeht), andernfalls mit der angegebenen Zahl. Allgemeine Ausdrücke bei den Dimensionsangaben, abgesehen von Konstanten, wie z.B.
DIM Z(X)
, sind nicht erlaubt. Fehlt die Angabe, fragt gegebenenfalls der Compiler nach. - Das Verwenden von 3-dimensionalen Arrays oder mit mehr Dimensionen kann beim direkten Kompilieren zu Problemen führen. Vor der eigentlich Kompilierung muss es mit dem Ultility PRE-SCAN vorbehandelt werden.
- Beim Nachladen eines Programms wird der Variablenspeicher nicht gelöscht.
Extras[Bearbeiten | Quelltext bearbeiten]
Mit folgenden Spezialbefehlen (Kompilerdirektiven) können einige Extras von PETSPEED genutzt werden:
- Unbeschränkte Namenslänge von Variablen, Feldern und Funktionen bei Einbau als erste BASIC-Zeile:
REM !LN
- Normalerweise ist im Kompilation die RUN/STOP deaktiviert, kann aber mit entsprechenden Kompilerdirektiven zur Laufzeit gesteuert werden:
- aktivieren:
REM !ES
- abschalten:
REM !DS
- aktivieren:
- Besonderheit zum Zeichen #: Anstelle von
CMD 5
reicht#5
- Integer-Variable in FOR-NEXT-Schleifen sind erlaubt und bringen einen kleinen Geschwindigkeitsvorteil:
FOR A%=1 TO 99: PRINT: NEXT A%
- Ferner ist auch das Mischen von Zeichenkettenfunktionen mit normalen Funktionen beim Definieren von eigenen Funktionen erlaubt. Beispiele:
DEF FN X(Z) DEF FN Z$(X) DEF EN Z(BS) DEF FN Z$(Y$)