Fragen und Antworten zum C 128

Ist der PC 128 im C 64-Modus wirklich voll kompatibel?

Nach wochenlangen Tests mit allen möglichen Programmen, mit Datasette, 1541-Floppy und C 64-Steckmodulen können wir guten Gewissens versichern: Der C 128 ist zu 99,99 Prozent zum C 64 kompatibel. Lediglich Programme, die ganz exotische illegale Opcodes (undefinierte Maschinensprache-Befehle des Prozessors, die je nach Prozessor-Bauserie verschiedene Wirkungen haben können) verwenden, laufen auf dem C 128 nicht unbedingt. Allerdings sind derartige Programme auch nicht auf allen C 64-Computern lauffähig, so daß man nicht von einer Einschränkung der Kompatibilität sprechen kann. Im übrigen sind solche Programme meist von Privatpersonen für den eigenen Gebrauch geschrieben und nicht im freien Handel erhältlich.

In England wurde kürzlich ein spezielles Schutzverfahren für Kassetten entwickelt, das ebenfalls auf dem C 128 nicht läuft.

In den genannten Fällen aber von Kompatibilitäts-Problemen zu sprechen, hieße kompatibel mit identisch zu verwechseln.

Wie ist das mit den 128 KByte RAM im C 128-Modus. Kann man die vollständig in Basic nutzen?

Die 128 KByte RAM lassen sich mit leichten Einschränkungen unter Basic nutzen. Wie jeder 8-Bit-Computer kann auch der C 128 »eigentlich« nur 64 KByte RAM gleichzeitig verwalten. Daher sind die 128 KByte RAM in zwei Speicherbänke zu je 64 KByte aufgeteilt. In der einen Bank wird nun das Basic-Programm, in der anderen die Variablen gespeichert. Da der Basic-Interpreter, das Betriebssystem und der Bildschirmspeicher auch noch einiges an Platz benötigen, stehen im Endeffekt etwa 60 KByte für den Programmtext und 62 KByte für Variable zur Verfügung, insgesamt also die rund 122000 »Bytes free«, die der C 128 beim Einschalten meldet.

Kann man vom C 64-Modus wieder in den C 128-Modus zurück, ohne Programme zu verlieren?

Die einzige Möglichkeit, den C 64-Modus zu verlassen, ist das Ausschalten des Computers! Damit gehen natürlich alle Programme und sonstige Speicherinhalte verloren. Ein Reset-Schalter löst das Problem auch nicht, denn ein Reset im C 64-Modus führt immer in den C 64-Modus zurück. Eine andere Umschaltmöglichkeit wurde nicht vorgesehen, da dies echte Kompatibilitätsprobleme hervorgerufen hätte.

Können selbstgeschriebene Basic-Programme im C 128-Modus weiterverwendet werden?

Das Basic des PC 128 ist aufwärtskompatibel zu dem des C 64, das heißt, alle Basic-Befehle des C 64 sind im C 128-Basic enthalten. Reine Basic-Programme ohne PEEK, POKE und SYS laufen also ohne Einschränkungen auch im C 128-Modus. Da die meisten C 64-Programme aber ausgiebigen Gebrauch von POKEs und PEEKs machen, müßten sie entsprechend umgeschrieben werden, denn die C 64-POKE-Adressen stimmen im C 128-Modus nicht mehr. Aber wozu gibt es denn auch den C 64-Modus? Dort treten natürlich keine Probleme auf.

Kann man die alte 1541-Floppy und einen C 64-Drucker (mit Interface) am C 128 weiterverwenden?

Auch der serielle Bus des C 128 ist aufwärtskompatibel konzipiert. Das bedeutet, alle Peripheriegeräte, die am seriellen Bus des C 64 funktionieren, arbeiten auch am C 128 einwandfrei. Allerdings wird der serielle Bus dann in einer langsamen Betriebsart (der gleichen wie beim C 64) betrieben, und man muß auf die Vorteile des schnelleren Datentransfers verzichten. Peripheriegeräte, die speziell für den C 128 entwickelt wurden (wie zum Beispiel die 1571-Floppy), können die schnelle Betriebsart des seriellen Busses nutzen. Die Ladezeit für eine hochauflösende Grafikseite (33 Blöcke auf Diskette) beträgt beispielsweise beim alten 1541-Laufwerk stattliche 25 Sekunden, bei der neuen 1571-Station dagegen nur noch runde 3 Sekunden.

Und das Betriebssystem CP/M läuft sowieso nur in Verbindung mit der neuen Floppy.

Fazit: Sie können die gute alte Floppy und den Drucker vom C 64 übernehmen, verlieren dadurch aber insbesondere hinsichtlich der Floppy so viele der Vorteile des C 128-Systems, daß Sie sich ernsthaft fragen sollten, ob Sie überhaupt noch einen C 128 brauchen.

Funktionieren die diversen Hardware-Erweiterungen für den C 64 auch am C 128?

Hier kann es Probleme geben. Zunächst einmal ist die Platine des C 128 völlig anders aufgebaut als die des C 64. Das C 64-Betriebssystem befindet sich im Original in zwei 8-KByte-ROMs, beim C 128 dagegen in einem einzigen 16-KByte-ROM. Daher können beispielsweise die diversen Betriebssystem-Erweiterungs- und Umschalt-Platinen nicht in den C 128 eingebaut werden. Es funktionieren aber alle Hardware-Erweiterungen, die nur am User- oder Expansions-Port aufgesteckt werden. In den meisten Fällen schaltet der C 128 automatisch in den 64’er-Modus, bei einigen Erweiterungen muß der C 128 dazu aber manuell in den C 64-Modus geschaltet werden, damit die Treiber-Software für diese Hardware-Erweiterungen auch funktioniert.

Für den C 128 wurde eine gegenüber dem C 64 verdoppelte Grafikauflösung von 640 x 200 Punkten angekündigt. Wie kann diese »doppelt-auflösende« Grafik programmiert werden?

Der C 128 hat ja bekanntlich gleich zwei Video-Controller eingebaut: Den guten alten VIC II-Chip des C 64 und einen 8563 Video-Controller.

Um in den Genuß von 80 Zeichen pro Zeile zu gelangen, muß der VIC II-Chip abgeschaltet und der 8563 eingeschaltet werden. 80 Zeichen pro Zeile entsprechen gerade einer verdoppelten Auflösung von 640 (80 x 8) Punkten pro Zeile.

Der Haken bei der Angelegenheit ist, daß der 8563-Chip vom Betriebssystem her stets auf die Text-Betriebsart eingestellt wird, so daß es normalerweise unmöglich ist, Grafikpunkte einzeln zu setzen oder zu löschen.

Mit einem Trick ist es aber dennoch möglich, eine doppelt auflösende Grafik zu realisieren: Dazu wird der 8563-Video-Chip in eine Grafik-Betriebsart umgeschaltet. Der gesamte dem 8563 zur Verfügung stehende RAM-Bereich von 16 KByte dient jetzt als Hires-Bitmap für eine 640 x 200-Grafik.

Der Haken bei der Sache ist allerdings, daß die 16 KByte Video-RAM nicht im Adreßbereich des Prozessors liegen. Mit anderen Worten ist es unmöglich, irgend etwas direkt in diesen Speicherbereich einzuschreiben, um Punkte gezielt setzen und löschen zu können. Das geht nur auf Umwegen über den 8563-Chip. Um einen Grafikpunkt zu setzen, muß der Prozessor also die Adresse dieses Punktes im Video-RAM an den 8563 übermitteln und zusätzlich einen Befehl, was mit dieser Adresse zu geschehen hat.

Diese Methode ist natürlich sehr umständlich und damit entsprechend langsam, aber man erreicht immerhin die volle 640 x 200-Auflösung. Die komfortablen Grafik-Befehle des 7.0-Basic muß man hier aber natürlich vergessen, die bringen nur eine 320 x 200-Grafik wie beim C 64 zustande.

Kann jedes CP/M-Programm auf dem C 128 betrieben werden?

Der C 128 ist serienmäßig mit dem Betriebssystem CP/M Plus (3.0) ausgestattet. Prinzipiell steht damit die gesamte Palette an CP/M-Software zur Verfügung, denn alle CP/M-Versionen sind aufwärtskompatibel. Das heißt, Programme für ältere CP/M-Versionen (zum Beispiel 2.0 oder 2.2) sind voll lauffähig unter CP/M 3.0.

Allerdings ist es noch nicht damit getan, ein CP/M-Programm von der Diskette laden zu können. Es ist in den meisten Fällen noch eine rechnerspezifische Anpassung notwendig, die sogenannte »Installation«. Bei größeren CP/M-Programmen (Textverarbeitung, Dateiverwaltung, Compiler) gibt es dazu spezielle Installationsprogramme, die beim Kauf der Software mitgeliefert werden. Diese Installationsprogramme ermöglichen die völlig individuelle Anpassung von CP/M-Software an die Gerätekonfiguration und die Wünsche des Benutzers. Allerdings setzt die Benutzung dieser Installationsprogramme schon ein gewisses Grundwissen über das verwendete Computersystem und über CP/M voraus. Deshalb ist es üblich, daß zumindest bei Software, die bestimmte Verkaufsstückzahlen erwarten läßt, bereits voll- oder teilinstallierte Programme vertrieben werden.

Braucht man für den C 128 wirklich zwei verschiedene Monitore oder gibt es eine preiswertere Lösung?

Der C 128 hat neben dem normalen Antennenausgang für Fernseher zwei verschiedene Video-Ausgänge, einen Composite-Video-Ausgang (identisch mit dem Monitor-Anschluß des C 64) und einen RGB-Ausgang speziell für die 80 Zeichen-Darstellung. Über den Composite-Ausgang sind keine 80 Zeichen möglich und über den RGB-Ausgang weder Grafik noch Sprites noch 40 Zeichen-Textdarstellung. Um den C 128 also vollständig auszunutzen, sind in der Tat zwei verschiedene Monitore (Composite und RGB) empfehlenswert, wobei der RGB-Monitor natürlich auch ein (preisgünstiger) monochromer sein kann.

Commodore bietet als Alternative den 1902-Monitor an, der zwischen beiden Betriebsarten umschaltbar ist. Der Nachteil: der 1902 muß von Hand umgeschaltet werden und kostet rund 1000 Mark, ist also auch nicht gerade ein preiswertes Vergnügen. Aber es geht auch billiger: Für Spiele etc. reicht auch der heimische Fernseher, für ernsthaftere Anwendungen wird man sowieso im 80-Zeichen-Modus programmieren. Und nachdem verschiedene Schriftfarben beispielsweise für Textverarbeitung nicht unbedingt zwingend notwendig sind, reicht auch ein ganz normaler monochromer Monitor, der schon für 200 bis 300 Mark erhältlich ist und ebenfalls über den RGB-Ausgang betrieben werden kann.

(bs/ev)
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →