C128

Aus C64-Wiki
Zur Navigation springenZur Suche springen
C128
Commodore 128
Typ Heimcomputer
Hersteller Commodore
Neupreis ? DM, ca. ? €, 300 US$
Erscheinungsjahr 1985
Produktionsende 1989
Prozessor
Speicher 128 KByte, aufrüstbar durch REU, 16 KByte VDC-RAM, aufrüstbar auf 64 KByte
OS
Sonstiges
  • alias C128 und CBM-128
  • verschiedene Modelle C128, C128D und C128DCR sowie den Prototyp C128CR
  • Vorgänger: C64
  • Abwärtskompatibel zum VC 10 und zum C64


Der C128 (Abkürzung für "Commodore 128", alternativ auch CBM128 oder C=128) ist der Nachfolger und der "große Bruder" des C64. Nachdem die zum C64 inkompatiblen C16 und Plus/4 gefloppt waren, wollte Commodore nun alles richtig machen. Der C128 ist deshalb fast 100%ig zum C64 kompatibel, was natürlich nur möglich war, indem man ihn quasi auf dem C64 basieren ließ. Zusätzlich zu den Eigenschaften des C64 erhielt er mehr RAM, besseres BASIC, schnellere Laufwerke und einen separaten Grafikchip für die lang ersehnte 80-Zeichen-Darstellung. Er wurde nicht nur als Heimcomputer entwickelt, sondern sollte auch allen Möglichkeiten einer professionellen, büroorientierten Nutzung offenstehen, weshalb man sogar so weit ging, einen zweiten Prozessor (Z80) einzubauen, um das Betriebssystem CP/M zu ermöglichen. Dies war in Form einer CP/M-Cartridge schon für den C64 geplant gewesen und sollte nun nachgeholt werden. Auch deutsche Sonderzeichen sind endlich auf der Tastatur zu finden. Damit diese auch ohne spezielle Software darstellbar sind, baute Commodore zwei Zeichensatz-ROMs in den C128 ein, die mit einer Sondertaste umschaltbar sind.

Eigenschaften[Bearbeiten | Quelltext bearbeiten]

Als Grundvoraussetzung für den professionelleren Einsatz kann das Vorhandensein des 80-Zeichen-Modus angesehen werden, der über einen separaten RGBI-Anschluss, welcher von einem zusätzlichen Video-Chip (VDC) bedient wird, herausgeführt ist. Dies dient zum Anschluss eines Monitors mit deutlich besserer Darstellung, als dies mit dem Composite-Videosignal möglich wäre. Sogar der parallele Betrieb beider Ausgänge mit zwei Bildschirmen ist grundsätzlich möglich. Commodore brachte extra für den C128 den Monitor 1901 heraus, der beide Darstellungsarten beherrscht und manuell zwischen beiden umgeschaltet werden muss.

Bei den Anschlüssen und dem äußeren Erscheinungsbild findet sich nun ein eingebauter Resettaster und die Tastatur ist mit einem zusätzlichen Zehnerblock, separaten Cursor-Tasten und zusätzlichen Funktionstasten in Anlehnung an den PC-Bereich ausgestattet.

Zudem finden sich in ihm eine RAM-Speicherausstattung von - den namensgebenden - 128 KByte. Die sich hier eröffnenden Möglichkeiten der verschiedensten Speicherkonfigurationen deckt ein spezieller MMU-Chip (Memory Management Unit) ab.
Zum C64 ist der C128 bedingt abwärtskompatibel und besitzt 2 Prozessoren: Einmal eine 6502-Variante (MOS 8502), die auch einen Betrieb mit 2 MHz erlaubt, und einen Z80. Der Z80-Prozessor, der allerdings nur mit 2 MHz getaktet ist, ermöglicht zusätzlich zu der C128-Betriebsart das Betriebssystem CP/M und den dafür bereits existierenden Software-Pool zu nutzen.

Hieraus ergeben sich drei Betriebsarten:

  1. C128-Modus mit BASIC 7.0 (verfügbar nach dem Einschalten).
    • Im Slow-Modus bei 1 MHz kann wahlweise 40-Zeichen- oder 80-Zeichen-Ausgabe erfolgen.
    • Im Fast-Modus bei 2 MHz ist nur der 80-Zeichen-Betrieb möglich (die Darstellung des 40-Zeichen-Modus per VIC-Chip ist deaktiviert).
  2. C64-Modus mit BASIC V2 (verfügbar nach der Eingabe von GO64 oder beim Reset mit gedrückter C= -Taste).
  3. CP/M-Modus mit CP/M Plus Version 3.0 (verfügbar, wenn beim Systemstart die CP/M-Betriebssystem-Diskette im Diskettenlaufwerk eingelegt ist).

In der Standardausstattung lag bereits die CP/M-Software als Disketten bei. Im C128-Modus ist mit BASIC 7.0 ein BASIC-Interpreter im ROM verankert, der ausgehend von BASIC 3.5 die Möglichkeiten des Geräts umfassend unterstützt - vor allem den Speicher vollkommen nutzen kann - und sogar zusätzlich auch einen Maschinensprachemonitor inkludiert.

Der C128 wurde ab 1985 zunächst als reiner Tastaturcomputer gebaut, ab 1986 auch mit eingebauten Diskettenlaufwerk 1571 als C128D/DCR. Der C128D gleicht optisch eher einem Desktop-PC der 1990er Jahre, u.a. auch dadurch bedingt, dass die Tastatur extern an das Gehäuse angeschlossen wird und ein entsprechender Monitor auf das Desktop-Gehäuse gestellt werden kann.
In Entwicklung war auch ein C128CR. Über den Status einer NTSC-Vorserie kam dieses Modell allerdings nie hinaus.[1]

Mit dem C128 wurde auch das Problem der langsamen Datenübertragung bei Diskettenlaufwerken adressiert, in dem auf dem seriellen IEC-Bus der sogenannte Burst Mode implementiert wurde, der allerdings nur in Verbindung mit den Laufwerken 1570, 1571, 1581 oder den internen Laufwerken der 128D-Varianten nutzbar ist. Die bis zu 11-fache schnellere Datenübertragung macht auch erst eine professionellere Nutzung speziell im CP/M-Modus möglich. Die Interoperabilität war erst ab der 1571er-Floppy möglich nachdem dort zweiseitige Floppys im MFM-Format erlaubten auch Disketten anderer CP/M-Systeme zu lesen und deren Software zu nutzen.

Der C128 besitzt eine Boot-Funktion, d.h. nach dem Einschalten des C128 wird automatisch vom Diskettenlaufwerk mit der Gerätenummer 8 auf das Vorhandensein eines Bootloaders im Bootsektor gesucht (Spur/Sektor 1/0) und bei Vorhandensein gestartet.

Insgesamt wurde der C128 in Deutschland 284.300 (weltweit etwa 4,5 Millionen) mal verkauft. Es gab verschiedene Tastaturversionen mit nationalen Sonderzeichen u.a. für Deutschland, Belgien, Frankreich, Italien, Spanien, Schweiz, Norwegen und Schweden. Weiterhin baute die Firma Drean eine argentinische C128-Version unter Lizenz.


Inkompatibilitäten im C64-Modus

Der C64-Modus, der direkt beim Einschalten oder Reset bzw. mit GO64 erreicht werden kann, weist gewisse Eigenschaften auf, die manche Programme nicht berücksichtigen und dazu führen, dass diese beim Start abstürzen oder keinen Sound produzieren.[2]
Folgende Eigenschaften basierend auf Unterschiede des C64-Modus zu einem echten C64 sind typischerweise dafür verantwortlich:

  • Die SID-Register ab $D400 sind am C128 nicht auf Pages $D500, $D600, $D700 gespiegelt. Manche Entwickler haben speziell in der Anfangszeit des C64 in Ermangelung einer entsprechenden Referenzdokumentation den gespiegelten Registersatz verwendet. Ein Programm läuft sonst korrekt, lediglich ohne jegliche Sound-Ausgabe.
  • Die VIC-Register befinden sich im Bereich von $D000 bis $D02E. Im Anschluss befinden sich beim C128 aber zwei Register, wobei besonders $D030 Bit 0 gefährlich ist. Wird dieses Bit auf 1 gesetzt, aktiviert das den Fast-Modus, wodurch eine Darstellung selbst im Textmodus für den VIC-Chip nicht mehr möglich ist. So manche Initialisierung oder Handhabung der Sprite-Farbregister davor neigen dazu, über den eigentlichen Bereich der Register zu gehen und dann diese zusätzlichen Register zu ändern. So manches Programm lässt sich entsprechend "patchen" und damit wieder lauffähig machen, indem die Initialisierungschleife auf auf die Register von Offset $00 bis $2E beschränkt wird.
  • Der Prozessorport $0001 hat eine weitere Leitung, die per Bit 6 anzeigt, ob die Caps-Lock-Taste gedrückt ist. Im ungedrückten Zustand ist das Bit gesetzt, wodurch das Auslesen des Ports (etwa für das Erkennen von Datasette-Tasten) andere Werte ergibt (119 bzw. $77 statt 55 bzw. $37). Wenn hier die entsprechenden Bits beim Auslesen nicht korrekt maskiert werden, könnte es zu abweichenden Effekten kommen. Dies kann man durch Einrasten der Caps-Lock-Taste aber leicht umgehen.

Weitere Inkompatibilitäten betreffen auch das Diskettenlaufwerk, speziell wenn es um Kopierschutzmaßnahmen geht, welche mit dem 1570- oder 1571-Laufwerk nicht funktionieren und damit ein 1541-Laufwerk erzwingen.

Aufbau[Bearbeiten | Quelltext bearbeiten]

Der C128 besitzt folgende Anschlüsse, Schalter und Schnittstellen:

Ansicht rechts[Bearbeiten | Quelltext bearbeiten]

Commodore 128 - Ansicht rechts
  1. Spielanschluss (Controlport 1; 9-poliger Sub-D Stecker zum Anschluss von Joystick, Lightpen, Maus, Lightgun oder ein Paar Paddles
  2. Spielanschluss (Controlport 2; 9-poliger Sub-D Stecker zum Anschluss von Joystick, Maus, oder ein Paar Paddles
  3. Reset-Taster
  4. Ein-/Ausschalter
  5. Stromanschluss (Power; 5-polig eckig) für die Stromversorgungseinheit (5-polig)

Ansicht hinten[Bearbeiten | Quelltext bearbeiten]

Commodore 128 - Ansicht hinten
  1. Hauptspeichererweiterung (Expansionsport; 44-polig; E/A) zum Anschluss für Steckmodule
  2. Kassette-/Datasetten-Anschluss (Kassettenport 12-polig; E/A) zum Anschluss eines Kassetten- oder Datasettenlaufwerks
  3. Serieller Bus bzw. Serielle Schnittstelle (IEEE-488; 6-polig; E/A) zum Anschluss für Diskettenlaufwerk oder Drucker, der beim C128 verbessert ist.
  4. Audio-/Videobuchse (8-polig; E/A) für den Anschluss eines Monitors im 40-Zeichenmodus; eines Videorekorders oder einer Stereoanlage
  5. RF-Anschluss zum Anschluss an ein TV-Gerät im 40-Zeichenmodus (links davon: L-H für Kanaleinstellung (optional))
  6. RGBI-Anschluss (9-polig; A) zum Anschluss einen RGB- oder Monochrom-Monitors im 80-Zeichenmodus
  7. Anwender-Schnittstelle (Userport) (24-polig; E/A), z.B. zum Anschluss von Modems über RS-232, Druckern mit Centronics-Schnittstelle oder Hardware-Erweiterungen wie EPROM-Brennern

Hauptplatine[Bearbeiten | Quelltext bearbeiten]

  • Prozessor: HMOSII 8502 mit ca. 1 oder 2 MHz Speichertakt, Z80B-Prozessor 4 MHz-Version mit 2 MHz getaktet; die Frequenz ist abhängig von der verwendeten Bildschirmnorm (0,985 bzw. 1,97 MHz bei PAL vs. 1,02 bzw. 2,04 MHz bei NTSC)
  • Speicher: 128 KByte RAM, üblicherweise auf sechzehn 8-KByte-Chips, bei späteren Modellen auch vier 32-KByte-Chips. Davon sind 122.365 Bytes frei unter BASIC nutzbar. Im C64-Modus natürlich nur 38.911.
    • Bildwiederholspeicher VDC-8563 (16 KByte Video-RAM erweiterbar auf 64 KByte) bzw. VDC-8568 (64 KByte) im C128DCR
    • Farbspeicher 8564 (2×1024 Nibble)
Commodore 128 - Platine
  • ROM: 64 KByte gesamt, aufgeteilt in:
    • C64-Modus (16 KByte), davon Commodore BASIC V2.0 (8 KByte) und KERNAL (Kernel; 8 KByte)
    • C128-Modus (64 KByte), davon Commodore BASIC V7.0 (48 KByte in je 2×16 KByte Chips), KERNAL (Kernel; 16 KByte) und C128-BIOS (16 KByte)
    • CP/M-BIOS (4 KByte)
    • Extra Zeichensatz NMOS-ROM (8 KByte)
    • Freier Steckplatz für 32 KByte ROM, z.B. EPROM oder zusätzliches Zeichen-ROM.
  • Grafik:
    • Für den C128 wurde ein spezieller VIC entwickelt, der VIC-IIe (8564). Er kann jedoch nicht im 2 MHz-Modus betrieben werden und besitzt keinerlei bessere Grafikfähigkeiten als sein Pendant im C64. Er kann 25×40 (Zeilen×Spalten) Zeichen (einfarbig oder multicolor) im Textmodus (entweder Großschrift-/Grafikzeichen oder Groß-/Kleinschrift) oder im Grafikmodus (HiRes) 320×200 Pixel in 16 Farben, 16 Rahmenfarben und 16 Hintergrundfarben oder Vielfarbmodus (Multicolor; 4 Farben) 160×200 Pixel sowie 8 Sprites (einfarbig oder multicolor, 24×21) darstellen.
      Mit zusätzlicher Unterstützung für den Z80-Modus und das erweiterte Keyboard durch zusätzliche Leitungen.
    • VDC für 80-Zeichenmodus 25×80 (Zeilen×Spalten) mit 16 Farben, 8 Zeichenattribute, 16 Rahmenfarben und 16 Hintergrundfarben im Textmodus (entweder Großschrift-/Grafikzeichen oder Groß-/Kleinschrift) oder im Grafikmodus (HiRes) 640×200 Pixel einfarbig oder 640×400 interlaced; viele weitere Auflösungen sind je nach RAM-Ausbau möglich.
Einschaltbild eines Commodore 128 (mit neuerem, unüblicherem ROM aus 1986)
  • Sound: SID 6581/8580
    • dreistimmiger Tongenerator 0-4 kHz
    • 4 Kurvenformen pro Generator (Sinus, Dreieck, Rechteck, Rauschen)
    • 3 Amplitudenmodulatoren, 48 dB
    • 3 Hüllkurvengeneratoren
    • Synchronisation der Oszillatoren
    • Ringmodulation
    • Programmierbare Filter (Tief-, Band-, Hochpass- oder Notch-Filter)
    • Gesamtlautstärkeregelung
    • Zufallsgenerator
    • 2 Anschlüsse für Potentiometer
    • Audioeingang
  • Tastatur: 92 Tasten (QWERTY/QWERTZ), die mehrfach belegt sind, mit Zehnerblock, deutsche Tastatur im DIN-Modus und ESCape , TAB , ALT , CAPS LOCK/ASCII+DIN , HELP , Line Feed , 40/80-DISPLAY , NO SCROLL . Die Funktionstasten sind schon vorbelegt.
  • Sonstiges: 2 CIA 6526 für die E/A-Steuerung (Ein-/Ausgabe), Chip MMU 8722 für die Speicherverwaltung
    • Abmessungen: L×B×H mm
    • Gewicht: ? g
    • Stromversorgung: Netzteil mit 220 bis 240 V bei 50 Hz
    • Leistungsaufnahme: 60 W

ROM-Ausstattung[Bearbeiten | Quelltext bearbeiten]

Der ROM-Satz des 128ers enthält noch Bugs, welche später bei der C128D-Version weitgehend behoben wurden. Erkennbar ist die ROM-Version anhand der Jahreszahl in der zweiten Zeile der Einschaltmeldung. Der 128er weist selbst bei Produktionsdatum von 1986 in der Meldung "1985" aus, was einen "alten" ROM-Satz zu erkennen gibt. Die neueren Versionen eines C128D zeigen hier "1986".[3]

Funktionstastenbelegung[Bearbeiten | Quelltext bearbeiten]

Die Funktionstasten des C128/D/DCR sind im C128-Modus standardmäßig vorbelegt. Eine Übersicht und die Abänderung der Funktionstastenbelegung erhält man durch den BASIC-Befehl KEY im Direktmodus oder in Programmen. Nach einem Reset oder Neustart wird die Standardbelegung wieder hergestellt.

  1. F1  GRAPHIC
  2. SHIFT +F2  DLOAD+CHR$(34)
  3. F3  DIRECTORY+CHR$(13) (führt ein RETURN  aus)
  4. SHIFT +F4  SCNCLR+CHR$(13)
  5. F5 DSAVE+CHR$(34)
  6. SHIFT +F6  RUN+CHR$(13)
  7. F7  LIST+CHR$(13)
  8. SHIFT +F8  MONITOR+CHR$(13)

Erste Schritte[Bearbeiten | Quelltext bearbeiten]

Die Tastatur eines C128D

Im Lieferumfang des C128 war ein umfangreiches Bedienungshandbuch (mehr als ca. 500 Seiten stark), indem nicht nur gezeigt wurde, wie der C128 und seine Peripheriegeräte richtig angeschlossen und eingeschaltet werden, sondern es wird auch Schritt für Schritt erklärt, wie die integrierte Kommando- bzw. Programmiersprache BASIC 7.0 und BASIC 2.0 im C64-Modus sinnvoll genutzt werden kann. Das Kapitel 7 über den CP/M-Modus wurde in einem separaten Handbuch ausgelagert. Die Handbücher gibt es als Ringbuch oder als gebundene Ausgabe.


Bücher[Bearbeiten | Quelltext bearbeiten]



Quellen[Bearbeiten | Quelltext bearbeiten]

Weblinks[Bearbeiten | Quelltext bearbeiten]

WP-W11.png Wikipedia: Commodore 128