PETSPEED 128

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Stub Dieser Artikel ist sehr kurz und nicht besonders ausführlich. Hilf bitte mit, ihn zu verbessern.
PETSPEED 128
Startbild
Startbild
Firma Systems Software (Oxford) Ltd.
Release 1985 - 1987?
Lizenz Vollversion
Plattform(en) C128
Genre Compiler
Steuerung
Medien
Sprache(n) Sprache:englisch
Information C64-Version: siehe PETSPEED 64
verschiedene Versionen erschienen.

PETSPEED 128 ist ein BASIC-Compiler, der ein bestehendes BASIC 7.0-Programm durch die Kompilation um das bis zu 40-fache schneller ablaufen lässt. Er besitzt einen Kopierschutz. PETSPEED 128 benötigt ein Diskettenlaufwerk wie das Commodore VC-1571 oder VC-1541. Er arbeitet im 40/80-Zeichenmodus eines C128, sowie bei den Taktfrequenzen 1 MHz (SLOW) und 2 MHz (FAST). Um jede Meldung angezeigt zu bekommen, empfiehlt sich PETSPEED 128 entweder im 40-Zeichenmodus mit SLOW oder im 80-Zeichenmodus mit FAST zu benutzen.

Produkt[Bearbeiten | Quelltext bearbeiten]

Die Verpackung enthält ein 19-seitiges gedrucktes Handbuch, eine 5.25" Diskette mit dem Compiler und einer Einzelseite mit einer Tabelle farbiger Quadrate für den Kopierschutz.

Arbeitsweise[Bearbeiten | Quelltext bearbeiten]

Nach dem Start des Programms wird zunächst ein Bildschirm mit Werbung für andere Produkte von Systems Software (Oxford) Ltd. angezeigt. Danach werden drei mal Farben aus der Kopierschutztabelle abgefragt. Daraufhin kommt man in das eigentliche Programm. Man gibt dort den Namen des BASIC-7.0-Programms (ein ergänzendes ",S" aktiviert den Slow-Modus und ein ",F" den Fast-Modus) von einer Arbeitsdiskette ein. Der PETSPEED Compiler führt vier Durchläufe durch. Wenn diese alle fehlerfrei sind, kann das kompilierte Programm abgespeichert werden. Das kompilierte Programm besteht aus folgende BASIC-Zeilen:

10 BANK(15):SYS(40783)
20 BANK(00):SYS(16452):PETSPEED

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: EL, TRAP und RESUME NEXT
  • Die Befehle RESTORE <Zeilennr.> und COLLISION <Zeilennr.> und RESUME <Zeilennr.> darf nur mit einer Zeilennummer-Konstante genutzt werden! Variablen oder Ausdrücke als Zeilennummern sind hierbei nicht erlaubt!
  • Das Dimensionieren von Variablen ohne Angabe der Feldanzahl erfolgt standardmäßig mit 11 Elementen (obgleich BASIC 7.0 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.
  • Beim Nachladen oder Überschreiben 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.
    Ansonsten werden immer nur die ersten beiden Buchstaben plus ggf. $ oder % für den Variablentyp als Variablennamen verwendet.
  • Normalerweise ist im Kompilation die RUN/STOP  deaktiviert, kann aber mit entsprechenden Kompilerdirektiven zur Laufzeit gesteuert werden:
    • aktivieren: REM !ES
    • abschalten: REM !DS
  • 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$)

Cover[Bearbeiten | Quelltext bearbeiten]

Das Cover des Benutzerhandbuchs bewirbt PETSPEED 128 wie folgt: "The BASIC Compiler PETSPEED 128 - up to 40 times the speed of BASIC

  • All BASIC 7 commands plus
  • makes long programs shorter
  • extensions to BASIC
  • easy to use"

Weblinks[Bearbeiten | Quelltext bearbeiten]