Power C

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Better Working Power C
PowerCBox1.jpg
Entwickler ...
Publisher Spinnaker Software Corp., Cambridge
Release 1986
Plattform(en) C64, C128 (128er und 64er Modus)
Genre Entwicklungssystem für die Sprache C
Steuerung Icon tastatur.png
Medien Icon disk525 2.png
Sprache englisch
Information ...

Allgemeines[Bearbeiten | Quelltext bearbeiten]

Power C ist ein Entwicklungssystem mit dem man Programme in der maschinennahen Hochsprache C auf dem C64 oder C128 schreiben kann. Der erzeugte Programmcode ist auch ohne Power C lauffähig.

Herausgeber[Bearbeiten | Quelltext bearbeiten]

Power C erschien 1986 unter dem Label Better Working Software bei Spinnaker Software Corp., Cambridge (U.S.A.).

Programmierer[Bearbeiten | Quelltext bearbeiten]

Die Namen der Entwickler sind nicht überliefert. Auch das Handbuch schweigt dazu, nicht einmal das Vorwort ist unterzeichnet.

Vorgängerprogramme[Bearbeiten | Quelltext bearbeiten]

Power C basiert auf Pro-Line's C Power. Während im Programm 'test', welches Bestandteil der Power C-Paketes ist, die Adresse von Spinnaker angegeben ist, blieb im Handbuch bei der dazugehörigen Beschreibung folgender Text stehen:

If all has gone well, Pro-Line Software Ltd.'s corporate name and address will appear on the screen.

Vertrieb[Bearbeiten | Quelltext bearbeiten]

In Deutschland wurde Power C von Hering Direkt in Dresden für 39,50 DM angeboten.

Beschreibung[Bearbeiten | Quelltext bearbeiten]

Lieferumfang[Bearbeiten | Quelltext bearbeiten]

Das Entwicklungssystem ist auf zwei Disketten im 1541-Format (beidseitig bespielt) gespeichert, je eine für C64 und C128. Die Pappbox enthält weiterhin ein englischsprachiges Handbuch von 60 Seiten. Dieses erklärt die Abweichungen vom Standard-C und erläutert die Bedienung der Teilprogramme Shell, Editor, Compiler und Linker. Die mitgelieferten Funktionsbibliotheken werden beschrieben und mit Beispielen erläutert. Kenntnisse in C werden zwingend vorausgesetzt, d.h. das Handbuch ersetzt kein Lehrbuch.

Hardwareanforderung und -unterstützung[Bearbeiten | Quelltext bearbeiten]

Minimum:

unterstützt werden:

funktioniert auch (und macht erst so richtig Spaß) mit:

Arbeitsweise[Bearbeiten | Quelltext bearbeiten]

Die Disketten sind nicht kopiergeschützt, so dass man sich zuerst Arbeitskopien erstellt. Wer ein Laufwerk mit größerer Kapazität zur Verfügung hat, kopiert einfach alle Dateien der Vorder- und Rückseite mit einem normalen Dateikopierprogramm. Zielverzeichnis kann auch eine Partition auf einem CMD-Laufwerk sein. Es wurde 1993 vom Matthias Matting berichtet, dass es einen CMD-Patch für Power C gäbe, der der Verkaufsversion nicht beiliegt. Es ist nicht bekannt, was dieser Patch beinhaltet.

  • Die Shell meldet sich nach dem Laden mit dem Dollar-Zeichen ($) als Prompt. Sie ist die Kommando-Oberfläche, von der aus die einzelnen Programme der Entwicklungsumgebung gestartet werden. Hier werden die wichtigsten Disk- und Dateifunktionen (Löschen, Umbenennen, Directory-Anzeige usw.) bereitgestellt. Auch das Wechseln der Partition auf einem CMD-Laufwerk ist dank Jiffy-DOS möglich. Des weiteren kann man selbstgeschriebene C-Programme hier ablaufen lassen, wenn diese für die Abarbeitung unter der Shell compiliert wurden.
PowerCCode1.jpg
  • Der Quelltexteditor kann mit oder ohne Syntaxchecker - je nach verfügbarem Speicherplatz - gestartet werden. Im Quelltext kann auf und ab gescrollt werden, bei der 64er Version scrollt man auch seitwärts, während die 128er Version auch auf dem 80-Zeichen-Schirm läuft. Die Textbearbeitungsmöglichkeiten, incl. Suchen, sind ausreichend. Man kann mit mehreren Quelltextdokumenten parallel arbeiten. Der Quelltext wird wie in C üblich geschrieben, spezielle Sonderzeichen wurden unmittelbar auf Tasten gelegt, so dass man diese ohne Umschalten erreicht. Im Kommandomodus des Editors werden die Quelltexte gespeichert, zuvor kann eine Überprüfung auf Verletzungen der Sprachregeln erfolgen.
  • Mit dem Compiler erzeugt man aus den Quelltexten dann Objektdateien. Dabei rollt der Text über den Schirm, findet der Compiler noch Fehler bricht er ab und man sieht genau wo er etwas beanstandet, das man dann wieder im Editor beheben muss.
  • Der Trimmer lässt noch ein wenig Luft aus dem Objektcode (Verkürzung bei kleinen Programmen meist <10%). Die Ausführung des Trimmers ist optional.
  • Der Linker verbindet die Objektdateien und die benötigten Bibliotheken zu einem unabhängig vom Power C-System lauffähigen Programm, dessen Basisadresse man zuvor festlegen kann. Alternativ kann das Linken auch so erfolgen, dass das Programm nur unter der Shell gestartet werden kann.

Bibliotheken[Bearbeiten | Quelltext bearbeiten]

Mitgeliefert werden die Funktionsbibliotheken stdio (Ein- und Ausgabe), math (mathematische Funktionen), dir (Directory), strings (Zeichenkettenverarbeitung) und die System- und Standardbibliotheken.

Dokumentation[Bearbeiten | Quelltext bearbeiten]

Das Handbuch ist als eText bei Project64 zu finden.

Code-Beispiele[Bearbeiten | Quelltext bearbeiten]

Julia-Menge

Dieses vollständige Programm berechnet einen Ausschnitt einer Julia-Menge und stellt diesen als Hires-Grafik dar. Das dauert mit SuperCPU etwa 4,5 min. Im Power C-Editor können Groß- und Kleinbuchstaben verwendet werden, so dass ein Quellcode deutlich besser lesbar ist als die nachfolgende Darstellung.

PowerCFractalgrafik1.jpg
/*   JULIA-MENGEN
 *  BERECHNUNG UND DARSTELLUNG
 *   FOR C-64 AND C-POWER. 
 *   BY: DOC PHURA
 * BASED ON A TEXT IN INPUT64 
 */

#INCLUDE <STDIO.H>
#INCLUDE <GRAPHIC.H>

#DEFINE VOID INT;
#DEFINE KEYBOARD (*((CHAR *) 197))
#DEFINE CLR 147
#DEFINE UCASE 142
#DEFINE LCASE 14

MAIN(){

/* VARIABLES DEFINITIONS */
FLOAT LRAND, RRAND;
FLOAT URAND, ORAND;
UNSIGNED ZEILEN, SPALTEN;
UNSIGNED LBILDRAND,OBILDRAND;

SCREENINIT();
GRAPHINIT();

LBILDRAND =   0;
SPALTEN   = 320;
OBILDRAND =   0;
ZEILEN    = 200;

LRAND = 0.7;
RRAND = 2.1;
URAND =-1.2;
ORAND = 1.2;

JULIABERECHNUNG(LRAND,RRAND,URAND,ORAND,ZEILEN,SPALTEN,LBILDRAND,OBILDRAND);

WHILE(KEYBOARD!=60);
TEXT();
EXIT();
}/*END OF MAIN*/

JULIABERECHNUNG(LRAND,RRAND,URAND,ORAND,ZEILEN,SPALTEN,LBILDRAND,OBILDRAND)
FLOAT LRAND, RRAND,URAND, ORAND;
UNSIGNED ZEILEN,SPALTEN,LBILDRAND,OBILDRAND;
{
UNSIGNED MAXTIEFE;
UNSIGNED AKTZEILE;
UNSIGNED AKTSPALTE;
UNSIGNED AKTTIEFE;
FLOAT HORPOS;
FLOAT VERTPOS;
FLOAT HORSCHRITT, VERTSCHRITT;
FLOAT X, Y, XQ, YQ;
MAXTIEFE=15;

HORSCHRITT = (RRAND - LRAND) / SPALTEN;
VERTSCHRITT = (ORAND - URAND) / ZEILEN;

HORPOS = LRAND;
VERTPOS = ORAND;

FOR(AKTZEILE=OBILDRAND;AKTZEILE<=(OBILDRAND+ZEILEN);AKTZEILE++){
  FOR(AKTSPALTE=LBILDRAND;AKTSPALTE<=(LBILDRAND+SPALTEN);AKTSPALTE++){
    X=0;
    Y=0;
    XQ=0;
    YQ=0;
    AKTTIEFE=0;

    DO{
      Y=2*X*Y-VERTPOS;
      X=XQ-YQ-HORPOS;
      XQ=X*X;
      YQ=Y*Y;
      AKTTIEFE++;
      } 
    WHILE((XQ+YQ<4)&&(AKTTIEFE<MAXTIEFE));
     
    IF((AKTTIEFE<MAXTIEFE)&&(AKTTIEFE&1)) PLOT(AKTSPALTE,AKTZEILE,1);     
    HORPOS=HORPOS+HORSCHRITT;
  }
HORPOS=LRAND;
VERTPOS=VERTPOS-VERTSCHRITT;
 }
}

VOID SCREENINIT(){
HIGHMEM(0X8000);
GINIT();
TXCOLOR (DKGRAY, WHITE, BLACK);
TEXT();
PUTCHAR(LCASE);
}

VOID GRAPHINIT(){
HIRES();
HRCOLOR(BLACK,WHITE,DKGRAY);
DRAW(0);
DISPLAY(0);
HRCLR();
}

ergänzende Software[Bearbeiten | Quelltext bearbeiten]

C-Power Graphics Library[Bearbeiten | Quelltext bearbeiten]

von David Kesner und David Brown ergänzt auch Power C mit Funktionen für die Programmierung von Hires-Grafik. Neben den Standards wie Grafikinitialisierung, Punkte setzen und geometrische Figuren zeichnen sind auch Spritehandling und Text auf dem Grafikbildschirm enthalten.

GrafPak[Bearbeiten | Quelltext bearbeiten]

von Mark B. Rinfret (Programmierung) und Rich Helms (Dokumentation) erschien 1985 für C-Power und bietet diverse Grafikfunktionen, auch für den Multicolor-Modus.

C-Windows v1.00[Bearbeiten | Quelltext bearbeiten]

von Rubens Abbound ist in der Public Domain und wurde 1987 veröffentlicht. Mit diesem Funktionspaket hat man eine Grundlage für die Programmierung eines in Fenstern ablaufenden Programmes.

Bezugsquellen[Bearbeiten | Quelltext bearbeiten]

Power C scheint nur noch von Privatpersonen auf den einschlägig bekannten Märkten angeboten zu werden. Das letzte gesichtete kommerzielle Angebot bei Centsible Software in 2005 ist inzwischen wohl auch ausverkauft.

Besprechungen und Literatur[Bearbeiten | Quelltext bearbeiten]

Alternativen[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]