Power C

Aus C64-Wiki
Wechseln zu: Navigation, Suche
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 ...

Inhaltsverzeichnis

[Bearbeiten] Allgemeines

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.

[Bearbeiten] Herausgeber

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

[Bearbeiten] Programmierer

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

[Bearbeiten] Vorgängerprogramme

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.

[Bearbeiten] Vertrieb

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

[Bearbeiten] Beschreibung

[Bearbeiten] Lieferumfang

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.

[Bearbeiten] Hardwareanforderung und -unterstützung

Minimum:

unterstützt werden:

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

[Bearbeiten] Arbeitsweise

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. Desweiteren 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%).
  • 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.

[Bearbeiten] Bibliotheken

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

[Bearbeiten] Dokumentation

Das Handbuch ist als eText bei Project64 zu finden.

[Bearbeiten] Code-Beispiele

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 verwendt 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();
}

[Bearbeiten] ergänzende Software

[Bearbeiten] C-Power Graphics Library

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.

[Bearbeiten] GrafPak

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.

[Bearbeiten] C-Windows v1.00

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.

[Bearbeiten] Bezugsquellen

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.

[Bearbeiten] Besprechungen und Literatur

[Bearbeiten] Alternativen

[Bearbeiten] Weblinks