Kommodore 128 - Commodore 128

Kommodore 128
Kommodore-128.jpg
Hersteller Commodore-Geschäftsmaschinen (CBM)
Typ Heimcomputer
Veröffentlichungsdatum 1985 ; Vor 36 Jahren ( 1985 )
Abgesetzt 1989 ; Vor 32 Jahren ( 1989 )
Einheiten verkauft 5,7 Millionen weltweit
Betriebssystem Commodore BASIC 7.0
Digital Research CP/M 3.0
GEOS
Zentralprozessor MOS 8502 @ 1–2 MHz
Zilog Z80 A oder Zilog Z80 B @ 4 MHz
Speicher 128  KB (Standard), 640  KB (mit 512 KB REU-Erweiterungs-RAM)
Grafik VIC-II E (320×200, 16 Farben, Sprites , Rasterinterrupt ), MOS 8563 (RGBI 640×200 16 Farben, Blitter )
Klang SID 6581/8580 (3× Osc , 4× Wave , Filter , ADSR , Ring )
Vorgänger Kommodore 64

Der Commodore 128 , auch bekannt als C128 , C-128 , C=128 , ist der letzte 8-Bit -Heimcomputer , der von Commodore Business Machines (CBM) kommerziell veröffentlicht wurde . Im Januar 1985 auf der CES in Las Vegas vorgestellt , erschien er drei Jahre nach seinem Vorgänger, dem Bestseller Commodore 64 .

Der C128 ist ein deutlich erweiterter Nachfolger des C64 mit nahezu vollständiger Kompatibilität. Die neuere Maschine hat 128  KB des RAM in zwei 64 KB Bänken, und einen 80-Spalten - Farbvideoausgang. Es hat ein neu gestaltetes Gehäuse und Tastatur . Ebenfalls enthalten ist eine Zilog Z80 CPU, die es dem C128 ermöglicht, CP/M als Alternative zur üblichen Commodore BASIC- Umgebung auszuführen . Das Vorhandensein des Z80 und der riesigen CP/M-Softwarebibliothek, die es mit sich bringt, in Verbindung mit der Softwarebibliothek des C64, gab dem C128 eine der breitesten verfügbaren Softwarepaletten unter seinen Konkurrenten.

Der primäre Hardware-Designer des C128 war Bil Herd , der am Plus/4 gearbeitet hatte . Andere Hardware-Ingenieure waren Dave Haynie und Frank Palaia, während das IC-Design von Dave DiOrio ausgeführt wurde. Die Hauptsoftware des Commodore-Systems wurde von Fred Bowen und Terry Ryan entwickelt, während das CP/M-Subsystem von Von Ertwine entwickelt wurde.

Technische Übersicht

Die BASIC-Eingabeaufforderung für den Commodore 128 im 40-Spalten-Modus mit Commodore BASIC V7.0

Die Tastatur des C128 umfasst vier Cursortasten, eine Alt-Taste , eine Hilfe-Taste , eine Esc-Taste , eine Tab-Taste und einen Ziffernblock . Keines davon war auf dem C64 vorhanden, der nur zwei Cursortasten hatte und die Verwendung der Shift-Taste erforderte, um den Cursor nach oben oder links zu bewegen. Diese alternative Anordnung wurde beim 128 für die Verwendung im C64-Modus beibehalten. Das Fehlen eines Ziffernblocks, der Alt-Taste und der Esc-Taste auf dem C64 war ein Problem mit einigen CP/M- Produktivitätssoftwares, wenn sie mit der Z80-Kassette des C64 verwendet wurden. Eine Tastatur wurde von vielen C64 Besitzer gebeten , die lange Stunden Eingabe verbrachte Maschinensprache Typ-Programme . Viele der hinzugefügten Tasten stimmten mit Gegenstücken auf der Tastatur des IBM-PCs überein und machten den neuen Computer für Entwickler von Unternehmenssoftware attraktiver. Während der 40-Spalten-Modus des 128 dem des C64 sehr ähnlich ist, wird dem Programmierer ein zusätzlicher 1K Farb-RAM zur Verfügung gestellt, da er über die Speicheradresse 1 gemultiplext wird. Die Stromversorgung des C128 ist gegenüber dem unzuverlässigen Design des C64 verbessert größer und mit Kühlschlitzen und einer austauschbaren Sicherung ausgestattet. Der C128 führt beim Einschalten keinen System-RAM-Test wie bei früheren Commodore-Maschinen durch. Anstelle des einzigen 6510- Mikroprozessors des C64 enthält der C128 ein Zwei-CPU-Design. Die primäre CPU, die 8502 , ist eine leicht verbesserte Version der 6510, die mit 2 MHz getaktet werden kann  . Die zweite CPU ist eine Zilog Z80, die verwendet wird, um die CP/M- Software auszuführen sowie die Betriebsartenauswahl beim Booten einzuleiten. Die beiden Prozessoren können nicht gleichzeitig laufen, daher ist der C128 kein Multiprozessorsystem .

Die komplexe Architektur des C128 umfasst vier RAM-Typen mit unterschiedlichem Zugriff (128 KB Haupt-RAM, 16–64 KB VDC-Video-RAM, 2 kNibbles VIC-II-Farb-RAM, 2-Kilobyte-Diskettenlaufwerk-RAM bei C128Ds, 0, 128 oder 512 KB REU RAM), zwei oder drei CPUs (Main: 8502, Z80 für CP/M; die 128D integriert auch eine 6502 im Laufwerk) und zwei verschiedene Videochips (VIC-IIe und VDC) für die verschiedenen Betriebsmodi.

Bei frühen Versionen des C128 treten aufgrund der Verwendung einer elektromagnetischen Abschirmung über der Hauptplatine gelegentlich temperaturbedingte Zuverlässigkeitsprobleme auf. Die Abschirmung war mit Fingern ausgestattet, die die Oberseiten der Hauptchips berührten, was angeblich dazu führte, dass die Abschirmung als großer Kühlkörper fungierte . Eine Kombination aus schlechtem Kontakt zwischen der Abschirmung und den Chips, der inhärent begrenzten Wärmeleitfähigkeit von Chip-Gehäusen aus Kunststoff sowie der relativ schlechten Wärmeleitfähigkeit der Abschirmung selbst führte in einigen Fällen zu Überhitzung und Ausfall. Der SID- Soundchip ist in dieser Hinsicht besonders anfällig. Die häufigste Abhilfe besteht darin, den Schild zu entfernen, den Commodore erst spät in der Entwicklung hinzugefügt hatte, um die FCC-Hochfrequenzvorschriften zu erfüllen.

Der C128 verfügt über drei Betriebsarten . Der C128-Modus ( nativer Modus ) läuft mit 1 oder 2 MHz mit der 8502-CPU und bietet sowohl 40- als auch 80-Spalten- Textmodi . Der CP/M-Modus verwendet sowohl den Z80 als auch den 8502 und kann sowohl im 40- als auch im 80-Spalten-Textmodus arbeiten. Der C64-Modus ist zu fast 100 Prozent mit dem früheren Computer kompatibel. Die Auswahl dieser Modi erfolgt über den Z80-Chip. Der Z80 steuert den Bus beim ersten Booten und prüft, ob sich eine CP/M-Disk im Laufwerk befindet, ob C64/C128-Kassetten vorhanden sind oder ob der Commodore-Schlüssel (der als C64-Modus-Wahlschalter dient) ) wird beim Booten gedrückt. Basierend auf diesen Bedingungen wechselt es in den entsprechenden Betriebsmodus.

Modi

C128

C128-Hauptplatine

1984, ein Jahr vor der Veröffentlichung des Commodore 128, brachte Commodore den Plus/4 heraus . Obwohl es auf einen Low-End-Geschäftsmarkt abzielte, der sich die relativ hohen Kosten und den Schulungsbedarf früher IBM PC-Kompatibler nicht leisten konnte , wurde es von der Commodore-Presse als Nachfolger des 64er angesehen und es wird erwartet, dass es das Modell dieses Modells verbessert Fähigkeiten. Während die Grafik- und Soundfähigkeiten des C64 allgemein als hervorragend angesehen wurden, war die Reaktion auf den Plus/4 eine Enttäuschung. Bei der Einführung des Plus/4 wurden in der Commodore-Presse wiederholt Empfehlungen für einen neuen Computer namens "C-128" mit erhöhter RAM-Kapazität, einem 80-Spalten-Display, wie es in Geschäftscomputern üblich ist, einer neuen BASIC-Programmiersprache ausgesprochen, die Es ist für Programmierer einfach, die Grafik und den Sound des Computers zu verwenden, ohne auf PEEK und POKEs zurückzugreifen , ein neues Diskettenlaufwerk, das die abgrundtiefe Übertragungsrate des 1541 sowie die vollständige C64-Kompatibilität verbessert .

Den Designern des C128 ist es gelungen, die meisten dieser Bedenken auszuräumen. Ein neuer Chip, der VDC , versorgt den C128 mit einem 80-spaltigen Farb- CGA- kompatiblen Display (auch RGBI für Rot-Grün-Blau plus Intensität genannt ). Der damals neue Mikroprozessor 8502 ist vollständig abwärtskompatibel mit dem 6510 des C64 , kann aber auf Wunsch mit der doppelten Geschwindigkeit laufen. BASIC 2.0 des C64 wurde durch BASIC 7.0 ersetzt, das strukturierte Programmierbefehle aus BASIC 3.5 des Plus/4 sowie Schlüsselwörter enthält, die speziell entwickelt wurden, um die Fähigkeiten der Maschine zu nutzen. Ein Sprite- Editor und ein Maschinensprachenmonitor wurden hinzugefügt. Der Bildschirm-Editor-Teil des Kernals wurde weiter verbessert, um einen Einfügemodus und andere Funktionen zu unterstützen, auf die über ESC-Tastenkombinationen zugegriffen werden kann, sowie eine rudimentäre Fensterfunktion und wurde in ein separates ROM verschoben . Der VIC-II-Chip, der das 40-Spalten-Display steuert, kann nur mit 1 MHz arbeiten, so dass das 40-Spalten-Display im FASTModus durcheinander erscheint . Im 80-Spalten-Modus nutzt der Editor die VDC-Funktionen, um zusätzlich zum standardmäßigen Commodore-Umkehrtext blinkenden und unterstrichenen Text bereitzustellen, der durch Escape-Codes aktiviert wird . Der 80-Spalten-Modus des C128 kann Kleinbuchstaben zusammen mit PETSCII- Grafikzeichen anzeigen ; Der 40-Spalten-Modus unterliegt den gleichen Einschränkungen für "Groß- und Kleinbuchstaben" oder "Großbuchstaben plus Grafik" wie frühere Commodores. Die 40- und 80-Spalten-Modi sind unabhängig und können beide gleichzeitig aktiv sein. Ein Programmierer mit Composite- und RGB-Display kann einen der Bildschirme als "Scratchpad" oder zur rudimentären Unterstützung mehrerer Puffer verwenden. Die aktive Anzeige kann mit ESC-X umgeschaltet werden. Dem System wurde eine Hardware-Reset-Taste hinzugefügt. Die Tastatur wurde jedoch nicht auf das Selectric- Layout umgestellt, wie es zum Standard geworden war, sondern behielt das gleiche ADM-3A- abgeleitete Design wie bei den Vorgängermodellen von Commodore bei.

Die Rückseite des Commodore 128

Der VDC-Chip ist für Spiele weitgehend unbrauchbar, da er keine Sprites oder Raster-Interrupts hat. NTSC C128s funktionieren mit jedem CGA-Monitor (TTL RGB @ 15 kHz/60 Hz) wie dem IBM 5153. PAL-Modelle des C128 arbeiten jedoch mit 50 Hz und sind nicht mit den meisten CGA-Monitoren kompatibel, die ein 60 Hz Bildwiederholfrequenz. Pin 7 des VDC-Ausgangs (normalerweise bei CGA-Monitoren unbenutzt) erzeugt ein monochromes NTSC/PAL-Signal, aber dafür wurde kein Kabel bereitgestellt und interessierte Benutzer mussten ein eigenes herstellen oder im Aftermarket kaufen.

In Verbindung mit dem C128 wurden zwei neue Laufwerke eingeführt: das kurzlebige einseitige 1570 und das doppelseitige 1571 . Ein Dual-Disk 1572- Modell wurde angekündigt, aber nie produziert. Später wurde der 3,5-Zoller 1581 eingeführt. Alle diese Laufwerke sind zuverlässiger als das 1541 und versprechen durch ein neues "Burst-Mode"-Feature eine deutlich bessere Leistung. Das 1581-Laufwerk verfügt außerdem über mehr On-Board-RAM als seine Vorgänger, wodurch es möglich ist, eine größere Anzahl von Dateien gleichzeitig zu öffnen. BASIC 7.0 enthält DLOADund DSAVEBefehle zur Unterstützung des Ladens und Speicherns auf Platte ohne Verwendung der ,8oder einer anderen Gerätenummer, sowie einen DIRECTORYBefehl, der die Kataloginformationen einer Platte direkt in den Bildschirmspeicher liest, ohne den BASIC-Speicher wie in BASIC 2.0 zu überschreiben. Darüber hinaus führt der C128 das automatische Booten von Festplattensoftware ein, eine Standardfunktion für die meisten PCs, die jedoch bisher bei Commodore-Rechnern nicht vorhanden war. Benutzer müssen nicht mehr eingeben LOAD"*",8,1. BASIC hat auch einen COLLECT-Befehl zum Entfernen von "splat"-Dateien hinzugefügt (Dateien, die nicht richtig geschlossen und auf die Länge Null gekürzt wurden).

Alle 1571-Laufwerke werden auf dem C128 normalerweise im nativen Modus gestartet. Wenn der Benutzer durch Eingabe von "GO 64" in den C64-Modus wechselt, bleibt das Laufwerk im nativen Modus. Wenn jedoch der C64-Modus aktiviert wird, indem die Commodore-Taste beim Einschalten gedrückt gehalten wird, geht der 1571 dann in den 1541-Modus. Diese Routine ist für Software erforderlich, die einen Laufwerkszugriff auf niedriger Ebene durchführt.

Der C128 verfügt über den doppelten Arbeitsspeicher des C64, von dem aufgrund des neuen MMU- Bank-Switching-Chips ein weitaus höherer Anteil für die BASIC-Programmierung zur Verfügung steht . Dadurch kann BASIC-Programmcode getrennt von Variablen gespeichert werden, was die Fähigkeit der Maschine, komplexe Programme zu handhaben, erheblich verbessert, die Garbage Collection beschleunigt und das Debugging für den Programmierer erleichtert. Ein ausgeführtes Programm kann STOPpediert, sein Code bearbeitet, Variablenwerte inspiziert oder im Direktmodus geändert und die Programmausführung mit intakter Variablentabelle mit dem BASIC- GOTOBefehl wieder aufgenommen werden. Obwohl andere BASICs den CONTBefehl zum Neustarten der Ausführung ohne Löschen von Variablen unterstützen, führt die Bearbeitung von Code dazu, dass sie gelöscht werden. Mit dem BASIC- BANKBefehl können verschiedene Speicherkonfigurationen geladen werden .

BASIC 7.0 bietet eine vollständige Ergänzung von Grafik- und Sound-Handling-Befehlen sowie die Festplattenbefehle von BASIC 4.0 und eine verbesserte Müllbereinigung und Unterstützung für strukturierte Programmierung über IF...THEN...ELSE, DO...WHILE, und WHILE...WEND-Schleifen. Programmierbare Zeichen werden jedoch immer noch nicht unterstützt, so dass der Programmierer sie wie beim VIC-20 und C64 mit PEEK und POKE bearbeiten muss.

Auf der anderen Seite lief BASIC 7.0 erheblich langsamer als BASIC 2.0, es sei denn, der 2-MHz-Modus wurde aufgrund seiner 28 KB-Größe (eine Steigerung von 250 % gegenüber BASIC 2.0) verwendet und musste Bankwechsel durchführen, um auf Programmvariablen und BASIC-Programmtext zuzugreifen (falls größer als .). 16k lang).

Das ROM des 128 enthält ein Osterei : Wenn Sie den Befehl SYS 32800,123,45,6im nativen Modus eingeben, wird ein Bildschirm mit einer Liste der Hauptentwickler der Maschine angezeigt, gefolgt von der Meldung Link arms, don't make them."Auch die Eingabe der Schlüsselwörter QUIToder OFFerzeugt eine ?UNIMPLEMENTED COMMAND ERROR. Diese Befehle sind Überbleibsel vom BASIC-Interpreter, die für einen geplanten, aber nie produzierten tragbaren LCD-Computer gedacht sind und dazu gedacht waren, den BASIC-Interpreter zu verlassen bzw. Tastatureingaben während einer sensiblen Programmausführung zu ignorieren.

Die größeren Hardware-Fähigkeiten des C128, insbesondere der erhöhte RAM, die Bildschirmauflösung und die Geschwindigkeit des seriellen Busses, machten ihn zu einer leistungsfähigeren Plattform als den C64 für die Ausführung des grafischen Betriebssystems GEOS .

CP/M

Die Verwendung des CP/M-Modus erfordert die Verwendung einer Bootdiskette. Die Diskette war im Lieferumfang des Computers enthalten, der kein Diskettenlaufwerk enthielt.

Die zweite der beiden CPUs des C128 ist die Zilog Z80 , die es dem C128 ermöglicht, CP/M auszuführen . Der C128 wurde mit CP/M 3.0 (auch bekannt als CP/M Plus, das mit CP/M 2.2 abwärtskompatibel ist) und ADM31/3A- Terminalemulation ausgeliefert . Für den C64 war eine CP/M-Cartridge erhältlich, die jedoch teuer und von begrenztem Nutzen war, da das 1541-Laufwerk die MFM-formatierten Disketten, auf denen die CP/M-Software verteilt wurde, nicht lesen kann. Software musste auf Commodore-spezifischen Disketten zur Verfügung gestellt werden, die mit dem GCR- Kodierungsschema formatiert wurden. Commodore stellte Versionen von PerfectCalc und dem von EMACS abgeleiteten PerfectWriter zur Verfügung, und Commodore- Benutzergruppen hatten manchmal eine Auswahl an CP/M-Disketten, aber die begrenzte Softwareverfügbarkeit machte eine der Hauptattraktionen von CP/M zunichte – seine riesige Softwarebibliothek. Außerdem funktionieren die Cartridges nur auf frühen C64-Modellen von 1982 und sind mit späteren Einheiten nicht kompatibel. Da sie auch mit dem C128 nicht kompatibel waren, entschied sich das Designteam, CP/M zu unterstützen, indem es den Z80 auf der Hauptplatine des Systems platzierte.

Der C128 läuft mit CP/M merklich langsamer als die meisten dedizierten CP/M-Systeme, da der Z80-Prozessor mit einer effektiven Geschwindigkeit von nur 2 MHz arbeitet. Dies lag daran, dass der Systembus des C128 um die 65xx-CPUs herum entwickelt wurde. Diese CPUs handhaben die Daten- und Speicheradressierung ganz anders als die Z80. CP/M lief auch aus den unten genannten Gründen langsamer, z. B. weil die Steuerung für jede E/A- oder Interrupt-Verarbeitung an den 8502 übergeben werden musste. Aus diesen Gründen haben nur wenige Benutzer CP/M-Software auf dem C128 ausgeführt.

Wenn der C128 eingeschaltet wird, ist der Z80 zuerst aktiv und führt ein kleines Bootloader-ROM bei $0-$FFF aus, um zu prüfen, ob eine CP/M-Platte vorhanden ist. Wenn keine erkannt wird, wird die Steuerung an den 8502 übergeben und der native C128-Modus wird gestartet.

Der CP/M-Modus erfordert in der Praxis ein 1571- oder 1581-Laufwerk, um nützlich zu sein, da ein 1541 keine MFM-Disketten lesen kann und viel langsamer läuft, da der Burst-Modus des C128 nicht unterstützt wird. CP/M-Bootdisketten müssen dennoch im nativen GCR-Format des Laufwerks vorliegen; Von MFM-Platten kann nicht gebootet werden, sondern nur gelesen, wenn der Benutzer bereits in CP/M ist. Dies liegt daran, dass der für den Betrieb des Laufwerks im MFM-Modus erforderliche Code als Teil des Bootvorgangs geladen wird. Außerdem ist im Allgemeinen der 80-Spalten-Modus erforderlich, da die meisten CP/M-Software einen 80-Spalten-Bildschirm erwartet. Der C128 emuliert ein ADM-3A- Terminal im CP/M-Modus, daher muss dafür eine Software eingerichtet werden. Neben den standardmäßigen ADM-3A-Terminalbefehlen stehen eine Reihe zusätzlicher Befehle zur Verfügung, um die Funktionen des VIC-II und des VDC zu nutzen, einschließlich der Einstellung von Text und Hintergrundfarbe. Der CP/M-Befehlsinterpreter (jedoch keine Anwendungssoftware) enthält einen Schutz, um zu verhindern, dass der Benutzer einen Steuercode ausgibt, um Text und Hintergrund dieselbe Farbe zu geben, was den Text unsichtbar machen und den Benutzer zwingen würde, den Computer zurückzusetzen. In diesem Fall wird standardmäßig ein grauer Hintergrund mit braunem Text angezeigt.

Im CP/M-Modus ist es möglich, MBASIC auszuführen, Microsofts Release von BASIC-80 für CP/M. Im Vergleich zum nativen Modus BASIC 7.0 ist MBASIC knapp und begrenzt in seinen Fähigkeiten, erfordert die Verwendung von Tastenkombinationen im Terminal-Stil, um Programmzeilen zu bearbeiten oder den Textcursor zu bewegen, und es fehlen jegliche Sound- oder Grafikfunktionen. Obwohl MBASIC über mathematische und Berechnungsfunktionen verfügt, die BASIC 7.0 fehlen, wie die Unterstützung von Integer- und Double-Precision-Variablen, wird jeder Geschwindigkeitsvorteil, der durch die Verwendung von Integer-Variablen erzielt wird, durch die extrem langsame Leistung des Computers im CP/M-Modus hinfällig. Darüber hinaus verfügt Commodore BASIC über 40-Bit-Gleitkomma, die als Mittelweg zwischen MBASICs 32-Bit-Gleitkomma und 64-Bit-Variablen mit doppelter Genauigkeit dienen. MBASIC bietet auch nur 34 KB freien Programmplatz gegenüber etwa 90 KB von BASIC 7.0.

Andere CP/M-Software wie Wordstar und Supercalc werden ebenfalls deutlich von nativen C128-Äquivalenten wie PaperClip übertroffen , die auch eine einfacher zu bedienende Benutzeroberfläche haben.

Das CP/M-CBIOS (der Teil von CP/M, der mit der Hardware verbunden ist) verbindet sich nicht wie bei den meisten CP/M-Implementierungen direkt mit der Hardware, sondern ruft die Kernal-Routinen für die Interrupt-Handhabung und die E/A auf – wenn der Kernal verwendet werden muss, verwendet der Z80 Routinen bei $FFD0-$FFEF, um Parameterdaten an den 8502 zu übergeben, der dann aktiviert und der Z80 deaktiviert wird. Nachdem die Kernroutine die Ausführung beendet hat, wird die Steuerung an den Z80 zurückgegeben. Es wurde berichtet, dass der Programmierer, der für die Portierung von CP/M auf den C128 verantwortlich war, beabsichtigt hatte, die CBIOS-Schnittstelle mit der Hardware direkt in Z80-Maschinensprache zu haben, aber große Schwierigkeiten mit den VDU-Chips hatte, da diese anfällig für Überhitzung und Selbstzerstörung waren . Der Bildschirm wurde während der Entwicklung des C128 auch zahlreichen Hardware-Revisionen unterzogen, und der CP/M-Programmierer konnte seinen Code nicht richtig zum Laufen bringen.

Der CP/M-Modus unterscheidet sich stark von den Betriebsumgebungen, die Commodore-Benutzern vertraut sind. Während Commodore DOS in das ROM von Commodore-Festplattenlaufwerken eingebaut ist und normalerweise über BASIC zugegriffen wird, erfordert CP/M die Verwendung einer Bootdiskette und erfordert die Eingabe von knappen Befehlen, die von Minicomputerplattformen übernommen wurden . CP/M-Programmen fehlt die benutzerfreundliche Natur der meisten Commodore-Anwendungen. CP/M sollte dem neuen Computer eine große Bibliothek professioneller Unternehmenssoftware geben, die Commodore fehlte, und Mitte der 1980er Jahre hatte CP/M seine Blütezeit längst überschritten und wurde daher auf dem C128 selten verwendet.

C64

Foto aus den 1980er Jahren, das einen C128-Aufbau mit zwei Diskettenlaufwerken und zwei Monitoren zeigt, die die unabhängigen 40- und 80-spaltigen Bildschirme anzeigen. Viele Benutzer nutzten weiterhin das von ihrem C64-System geerbte 1541 als zweites Laufwerk.

Durch die vollständige Integration der ursprünglichen C64 BASIC- und Kernal-ROMs (insgesamt 16 KB) erreicht der C128 eine fast 100-prozentige Kompatibilität mit dem Commodore 64. Auf den C64-Modus kann auf drei Arten zugegriffen werden:

  1. Beim Booten die Commodore-Logo-Taste gedrückt halten.
  2. Eingabe des GO 64Befehls und anschließende Reaktion Yauf die ARE YOU SURE?Eingabeaufforderung in BASIC 7.0.
  3. Booten mit eingesteckter C64-Cartridge.

Das Erden der /EXROM- und/oder /GAME-Leitungen des Cartridge-Ports bewirkt, dass der Computer automatisch im C64-Modus startet. Diese Funktion dupliziert getreu das Verhalten des C64, wenn eine Kassette (wie Simons' BASIC ) in den Port eingesteckt wird und aktiviert eine dieser Leitungen, aber im Gegensatz zu einem tatsächlichen C64, bei dem die Aktion zum Ändern der Speicherzuordnung dieser Leitungen direkt in Hardware, fragt der Z80-Firmware-Startcode des C128 diese Zeilen beim Einschalten ab und wechselt dann den Modus nach Bedarf. C128-Cartridges im nativen Modus werden erkannt und gestartet, indem der Kernal Polling definierte Speicherorte in der Memory Map abfragt.

Der C64-Modus dupliziert fast genau die Funktionen eines Hardware-C64. Der MMU-, Z80- und IEC-Burst-Modus sind im C64-Modus deaktiviert, alle anderen C128-Hardwarefunktionen einschließlich des VDU- und 2-MHz-Modus sind jedoch weiterhin verfügbar. Die erweiterten Tasten der C128-Tastatur können aus der Maschinensprache gelesen werden, obwohl die Kernal-Routinen nur die Tasten erkennen, die auf dem C64 vorhanden sind. Einige Spiele können erkennen, ob ein C128 läuft und während des vertikalen Rücklaufs in den 2-MHz-Modus wechseln, um eine schnellere Leistung zu erzielen.

Auf nordamerikanischen C128s ändert sich im C64-Modus sogar das Zeichen- (Schrift)-ROM von dem des C128-Modus. Frühe C128-Prototypen hatten ein einzelnes ROM mit einem leicht verbesserten Zeichensatz gegenüber dem des C64. Aber einige C64-Programme lesen das Zeichen-ROM als Daten und werden auf einem C128 auf verschiedene Weise fehlschlagen. So erhielt der C128 ein doppelt großes Zeichen-ROM, das den C128-Font im C128-Modus und den C64-Font im C64-Modus liefert. Internationale Modelle des C128 verwenden in beiden Modi den unveränderten C64-Font, da die zweite Hälfte des Zeichen-ROM stattdessen dem internationalen Font gewidmet ist (der beispielsweise Akzentzeichen oder deutsche Umlaute enthält ).

Einige der wenigen C64-Programme, die auf einem C128 fehlschlagen, werden korrekt ausgeführt, wenn die caps lockTaste gedrückt wird (oder die ASCII/National-Taste bei internationalen C128-Modellen). Dies hat mit dem größeren eingebauten I/O-Port der CPU des C128 zu tun. Während der SHIFT LOCKSchlüssel sowohl beim C64 als auch beim C128 einfach ein mechanischer Riegel für den linken SHIFTSchlüssel ist, kann der CAPS LOCKSchlüssel beim C128 über den integrierten I/O-Port des 8502 gelesen werden . Einige C64-Programme sind durch dieses zusätzliche I/O-Bit verwirrt; Wenn Sie die CAPS LOCKTaste in der unteren Position halten, wird die I/O-Leitung niedrig gehalten, was der Konfiguration des C64 entspricht und das Problem löst.

Eine Handvoll C64-Programme schreiben in $D030 (53296), oft als Teil einer Schleife, die die VIC-II- Chipregister initialisiert . Dieses im C64 ungenutzte Memory-Mapped-Register bestimmt die Systemtaktrate. Da dieses Register im C64-Modus voll funktionsfähig ist, kann ein versehentliches Schreiben die 40-Spalten-Anzeige verwürfeln, indem die CPU auf 2 MHz umgeschaltet wird, bei welcher Taktrate der VIC-II-Videoprozessor keine kohärente Anzeige erzeugen kann. Glücklicherweise leiden nur wenige Programme unter diesem Fehler. Im Juli 1986 Compute! 'S Gazette veröffentlichte einen Typen-In - Programm , das diesen Unterschied ausgenutzt durch Verwendung eines Raster Interrupt schnellen Modus zu aktivieren , wenn der Boden des sichtbaren Bildschirms erreicht wurde, und es dann deaktivieren , wenn die Bildschirmwiedergabe an der Spitze wieder begann . Durch die Verwendung der höheren Taktrate während der vertikalen Leerperiode wird die Standardvideoanzeige beibehalten, während die Gesamtausführungsgeschwindigkeit um etwa 20 Prozent erhöht wird.

Eine einfache Möglichkeit, zwischen einem Hardware-C64 und einem C128 im C64-Modus zu unterscheiden, der normalerweise in einem laufenden Programm verwendet wird, besteht darin, einen anderen Wert als $FF (255)in die Speicheradresse zu schreiben $D02F (53295), ein Register, das zum Decodieren der zusätzlichen Schlüssel des C128 verwendet wird ( die Zifferntastatur und einige andere Tasten). Auf dem C64 enthält dieser Speicherplatz immer den Wert, $FFegal was darauf geschrieben wird, aber auf einem C128 im C64-Modus kann der Wert des Speicherplatzes – eines speicherabgebildeten Registers – geändert werden. Wenn Sie also den Wert des Standorts nach dem Schreiben überprüfen, wird die tatsächliche Hardwareplattform angezeigt.

RAM-Setup

Um die relativ großen Mengen an ROM und RAM (das Zehnfache des 64-KB-Adressraums von 8502) zu bewältigen, verwendet der C128 den 8722 MMU- Chip, um verschiedene Speicherzuordnungen zu erstellen, in denen unterschiedliche Kombinationen von RAM und ROM entsprechend den geschriebenen Bitmustern erscheinen würden das Konfigurationsregister der MMU an der Speicheradresse $FF00 . Ein weiteres Merkmal der Speicherverwaltungseinheit besteht darin, eine Verlagerung der Nullseite und des Stapels zu ermöglichen .

Obwohl der C128 theoretisch 256k RAM in vier Blöcken unterstützen kann, hat die Platine keine Vorkehrungen, um diesen zusätzlichen RAM hinzuzufügen, noch kann die MMU tatsächlich auf mehr als 128k zugreifen. Wenn die MMU für den Zugriff auf die Blöcke 2 oder 3 programmiert ist, ergibt sich daher nur eine Spiegelung des RAM in den Blöcken 0 und 1.

Da die E/A-Register und System-ROMs frei deaktiviert oder aktiviert werden können und in jeder RAM-Bank angeordnet werden können und der VIC-II so eingestellt ist, dass er jede Bank für seinen Speicherplatz verwendet, sind bis zu 256 Speicherkonfigurationen möglich, obwohl die die überwiegende Mehrheit von ihnen ist nutzlos (zum Beispiel sind nicht praktikable Kombinationen wie das Kernal-ROM in Bank 0 und die I/O-Register in Bank 1 möglich). Aus diesem Grund erlaubt die BANK-Anweisung von BASIC dem Benutzer, 15 der nützlichsten Anordnungen auszuwählen, wobei die Einschaltvoreinstellung Bank 15 ist. Diese Voreinstellung platziert die System-ROMs, E/A-Register und den BASIC-Programmtext in Block 0, mit Block 1 wird von BASIC-Programmvariablen verwendet. BASIC-Programmtext und -Variablen können bis zu $FFEF reichen. Da Block 0 jedoch die ROMs und I/O-Register ab $4000 enthält, verwendet BASIC eine interne Schaltroutine, um Programmtexte höher als $3FFF zu lesen.

Die oberen und unteren 1k RAM ($0–$3FF und $FF00–$FFFF) sind "gemeinsam genutzter" RAM, sichtbar von beiden Blöcken. Die MMU kann entweder in Schritten von bis zu 16k erweitert werden. Der Bereich $0–$3FF enthält die Zero-Page und den Stack, während $FF00–$FFFF die MMU-Register und Reset-Vektoren enthält. Diese Bereiche werden immer gemeinsam genutzt und können nicht auf nicht gemeinsam genutzten RAM umgeschaltet werden. Shared RAM ist immer die Bank gegenüber der aktuell von der CPU verwendeten Bank. Wenn also Bank 0 ausgewählt ist, beziehen sich alle Lese- oder Schreibvorgänge in den Shared RAM auf die entsprechenden Stellen in Bank 1 und umgekehrt. Der VIC-II kann so eingestellt werden, dass er jede RAM-Bank und von dort aus sein normales 16k-Fenster verwendet. Während der VIC-II beim C64 nur das Zeichen-ROM in den Bänken 2 und 4 seines Speicherplatzes sehen kann, ermöglicht es der C128 hingegen, das Zeichen-ROM für jede VIC-II-Bank über . zu aktivieren oder zu deaktivieren das Register bei 1 $. Außerdem gibt es zwei Farb-RAM-Sätze – einer ist für die CPU sichtbar, der andere für den VIC-II und der Benutzer kann auswählen, welcher Chip was sieht.

Im CP/M-Modus befinden sich das Programmsegmentpräfix und der transiente Programmbereich in Bank 1 und die E/A-Register und der CP/M-Systemcode in Bank 0.

Der Arbeitsspeicher des C128 ist von den standardmäßigen 128 KB auf 256, 512 oder sogar 1.024 KB erweiterbar, entweder durch den Einsatz handelsüblicher Speichererweiterungsmodule oder durch die Bereitstellung eines auf Schaltplänen basierenden Moduls im Internet.

Die RAM-Erweiterungseinheiten von Commodore verwenden einen externen 8726 DMA- Controller, um Daten zwischen dem RAM des C128 und dem RAM in der Erweiterungseinheit zu übertragen.

C128D

Commodore 128D ausgestellt im Musée Bolo , EPFL , Lausanne
Commodore 128DCR Schaltnetzteil , ausgestattet mit einem 40-mm-Lüfter

Ende 1985 brachte Commodore eine neue Version des C128 auf den europäischen Markt mit einem neu gestalteten Chassis, das dem Amiga 1000 ähnelte . Dieses neue europäische Modell mit dem Namen Commodore 128D verfügte über ein Kunststoffgehäuse mit einem Tragegriff an der Seite, ein 1571-Laufwerk in das Hauptgehäuse, ersetzte die eingebaute Tastatur durch eine abnehmbare und fügte einen Lüfter hinzu . Die Tastatur verfügt außerdem über zwei klappbare Beine zum Ändern des Schreibwinkels.

Der C128 wurde im Vereinigten Königreich am 25. Juli 1985 und in Nordamerika im November 1985 veröffentlicht.

Laut Bil Herd , dem Leiter des Hardware-Teams (auch bekannt als "C128 Animals"), war der C128D zeitgleich mit der regulären Version serienreif. Die Arbeit an der gleichzeitigen Veröffentlichung von zwei Modellen hatte das Risiko einer pünktlichen Lieferung erhöht und zeigte sich darin, dass die Hauptplatine in kritischen Abschnitten große Löcher aufweist, um das C128D-Gehäuse und das Normalgehäuse gleichzeitig zu unterstützen.

In der zweiten Hälfte des Jahres 1986 veröffentlichte Commodore eine Version des C128D in Nordamerika und Teilen Europas, die als C128DCR bezeichnet wird, wobei CR "kostenreduziert" bedeutet. Die DCR Modell ist mit einem ausgestanzten Stahlchassis anstelle der Kunststoffausführung des C128D (ohne Traggriff), ein modulares Schaltnetzteil ähnlich zu dem des C128D, das Modell der abnehmbare Tastatur und interne 1571 - Diskettenlaufwerk zu halten. Eine Anzahl von Komponenten auf dem Mainboard wurden konsolidiert Produktionskosten und, als zusätzliche Kostensenkungsmaßnahme, die 40 mm zu reduzieren Kühlgebläse , die an die Stromversorgung des D - Modell wurde entfernt ausgestattet war. Jedoch wurden die Montagevorschriften über die Stromversorgungsuntereinschub gehalten ist , sowie die zwei 12-Volt - DC - Verbindungsstellen auf der der Stromversorgungsleiterplatte für den Ventilator antreibt. Die Befestigungsmöglichkeit des C128DCR ist für einen 60-mm-Lüfter vorgesehen.

Eine wesentliche Verbesserung, die mit dem DCR-Modell eingeführt wurde, war der Ersatz des 8563 Video Display Controllers (VDC) durch den technisch fortschrittlicheren 8568 VDC und die Ausstattung mit 64 Kilobyte Video-RAM – der maximal vom Gerät adressierbaren Menge. Die Vervierfachung des Video-RAMs gegenüber dem im „flachen“ C128 verbauten ermöglichte unter anderem die Pflege mehrerer Textbildschirme zur Unterstützung eines echten Fenstersystems oder die Generierung höher aufgelöster Grafiken mit einer flexibleren Farbpalette . Kleine kommerzielle Software nutzte diese Möglichkeiten.

Der C128DCR ist mit neuen ROMs ausgestattet, die als "1986 ROMs" bezeichnet werden, so benannt nach dem Copyright-Datum, das auf dem Einschalt-Bannerbildschirm angezeigt wird. Die neuen ROMs beheben eine Reihe von Fehlern , die in den ursprünglichen ROMs vorhanden sind, einschließlich eines berüchtigten Off-by-One-Fehlers in der Tastatur-Decodierungstabelle, bei dem das 'Q'-Zeichen klein blieb, wenn die Feststelltaste aktiv war. Einige Software wird aufgrund von Abhängigkeiten von den verbesserten Hardwarefunktionen des Computers und den überarbeiteten ROMs nur auf dem DCR ausgeführt.

Trotz der verbesserten RGB-Videofähigkeiten des DCR hat Commodore BASIC 7.0 nicht um die Möglichkeit erweitert, RGB-Grafiken zu manipulieren. Das Fahren des VDC im Grafikmodus erfordert weiterhin die Verwendung von Aufrufen von ROM- Primitiven des Bildschirmeditors oder deren Assemblersprachäquivalenten oder die Verwendung von BASIC-Spracherweiterungen von Drittanbietern wie " BASIC 8 " von Free Spirit Software , die eine hohe Auflösung hinzufügen VDC-Grafikbefehle zu BASIC 7.0 .

Marktleistung

Im Januar 1987 berichtete Info , dass "alle diese Gerüchte über den bevorstehenden Tod des C128 eine tatsächliche Grundlage haben könnten." Commodore wolle Ressourcen zur Steigerung der 64C-Produktion und seiner PC-Klone umleiten, erklärte das Magazin: "Das neueste Online-Wort lautet, dass der letzte C128 im Dezember 1987 vom Band laufen wird." Berechnen! erklärte 1989: "Wenn Sie Ihren 128 mit dem Eindruck gekauft haben, dass 128-spezifische Software reichlich und schnell verfügbar sein würde, waren Sie wahrscheinlich ziemlich enttäuscht. Eines der wichtigsten Verkaufsargumente des 128 ist seine vollständige Kompatibilität mit dem 64, a Punkt, der mehr gegen die 128 gewirkt hat als dafür." Da auf dem 128 praktisch die gesamte 64-Software laufen würde und die 32 / 16-Bit -Heimcomputer der nächsten Generation – hauptsächlich der Commodore Amiga und der Atari ST – die neueste Technologie darstellten, erschien relativ wenig Software für den nativen Modus des C128 (wahrscheinlich auf dem Bestellung von 100–200 kommerziellen Titeln, plus dem üblichen Anteil an Public Domain- und Zeitschriften- Typ-in-Programmen ), was dazu führt, dass einige Benutzer ihren Kauf bereuen. Während der C128 zwischen 1985 und 1989 insgesamt 4 Millionen Einheiten verkaufte, verblasste seine Popularität im Vergleich zu seinem Vorgänger. Eine Erklärung für diese niedrigeren Verkaufszahlen könnte sein, dass der C64 an Leute verkauft wurde, die sich hauptsächlich für Videospiele interessieren, was der teurere C128 nicht viel zu einer Verbesserung beigetragen hat.

Einige C64-Software wie Bard's Tale III und Kid Niki liefen im 128-Modus, ohne dass dies in der Dokumentation erwähnt wurde, und nutzten den Autoboot und den schnelleren Festplattenzugriff des 1571. Einige Infocom- Textabenteuer nutzten den 80-Spalten-Bildschirm und die erhöhte Speicherkapazität. Einige C64-Spiele wurden in den nativen Modus portiert, wie Kikstart 2 und The Last V8 von Mastertronic , die separate C128-Versionen hatten, und Ultima V: Warriors of Destiny von Origin Systems , die zusätzlichen RAM für Musik verwendeten, wenn sie auf dem C128 ausgeführt wurden. Star Fleet I: The War Begins von Interstel hatte separate Versionen und nutzte die 80-Spalten-Anzeige des C128. Die allermeisten Spiele liefen einfach im C64-Modus.

Im Gegensatz dazu wurden viele C64-Produktivitätssoftwaretitel auf den C128 portiert, darunter die beliebten Serien PaperClip und Paperback Writer. Diese Software nutzte den zusätzlichen Speicher, den 80-spaltigen Bildschirm, die verbesserte Tastatur und die Festplatten mit großer Kapazität, um Funktionen bereitzustellen, die für den geschäftlichen Einsatz als wesentlich erachtet wurden. Mit seiner fortschrittlichen BASIC-Programmiersprache, CP/M- Kompatibilität und " benutzerfreundlichen " nativen Softwarepaketen wie Jane versuchte Commodore, ähnlich seiner Strategie mit dem Plus/4 , einen Low-End-Geschäftsmarkt für den C128 zu schaffen , und distanzierte sich sogar selbst vom Heimcomputer-Etikett, indem Sie den C128 als "Personal Computer" auf dem Gehäuse brandmarken. Bezeichnenderweise war der C128 der erste Commodore-Computer, der seine Verwendung von Microsoft BASIC bewarb , wobei der Name Microsoft ein Wettbewerbsvorteil gewesen wäre.

Der C128 war sicherlich ein besserer Business-Rechner als der C64, aber kein wirklich besserer Gaming-Rechner. Leute, die Business-Maschinen wollten, kauften fast ausschließlich IBM PC-Klone, als der C128 auf den Markt kam. Die Verfügbarkeit von kostengünstigen IBM-Kompatiblen wie dem Leading Edge Model D und Tandy 1000 , die in einigen Fällen für weniger als ein komplettes C128-System verkauft wurden, machte die Strategie von Commodore für kleine Unternehmen zunichte. Es gab ein professionelles CAD-Programm , Home Designer von BRiWALL, aber auch hier wurde die meiste Arbeit zu Zeiten des C128 auf PCs erledigt. Der Hauptgrund dafür, dass sich der C128 immer noch ziemlich gut verkaufte, war wahrscheinlich, dass er eine viel bessere Maschine für die Hobbyprogrammierung war als der C64 und ein natürliches Nachfolgemodell für Besitzer mit erheblichen Investitionen in C64-Peripherie und -Software war.

Aber letztendlich konnte der C128 nicht mit den neuen 16/32-Bit-Systemen mithalten, die ihn und den Rest seiner 8-Bit-Generation in fast allen Punkten übertrafen. Als der C128(D/DCR) 1989 eingestellt wurde, kostete er angeblich fast so viel wie der Amiga 500 , obwohl der C128D für mehrere hundert Dollar weniger verkauft werden musste, um das High-End-Marketing-Image des Amiga intakt zu halten .

Bil Herd hat erklärt, dass die Designziele des C128 ursprünglich keine 100%ige Kompatibilität mit dem C64 beinhalten. Eine gewisse Form der Kompatibilität war immer beabsichtigt, nachdem Herd bei der Einführung von Plus/4 von einer Frau angesprochen wurde, die enttäuscht war, dass das Lernsoftwarepaket, das sie für den C64 geschrieben hatte, nicht auf dem neuen Computer von Commodore laufen würde, aber als die Marketingabteilung von Commodore davon erfuhr , haben sie unabhängig voneinander die vollständige Kompatibilität angekündigt. Herd gab den Grund für die Aufnahme eines Z80-Prozessors des 128 mit der Gewährleistung dieser "100%-Kompatibilität" an, da die Unterstützung der Z80-Cartridge des C64 bedeutet hätte, dass der C128 den Cartridge-Port mit zusätzlichem Strom versorgt hätte. Er erklärte auch, dass der VDC-Videochip und der Z80 während des Entwurfs der Maschine Probleme bereiteten. Herd fügte hinzu: "Ich habe nur erwartet, dass der C128 etwa ein Jahr lang verkauft wird, wir dachten, ein paar Millionen wären schön und natürlich würde er Amiga oder sogar den C64 nicht unterbieten". Nachdem Commodore den Preis des 64 zum ersten Mal durch die Einführung des neu gestalteten 64C im Jahr 1986 angehoben hatte, war sein Gewinn von jedem verkauften 64C Berichten zufolge viel höher als der des C128.

Spezifikationen

  • CPUs:
  • MMU: MOS Technology 8722 Memory Management Unit steuert die Auswahl des 8502/Z80-Prozessors; ROM/RAM-Banking; gemeinsame RAM-Bereiche; Verlagerung von Zero Page und Stack
  • RAM: 128 KB System-RAM, 2 KB dedizierter 4-Bit-Farb-RAM (für VIC-II E), 16 KB oder 64 KB dedizierter Video-RAM (für VDC), bis zu 512 KB REU-Erweiterungs-RAM
  • ROM: 72 KB
    • 28 KB BASIC 7.0
    • 4 KB MLM
    • 8 KB C128 KERNAL
    • 4 KB Bildschirmeditor
    • 4 KB Z80- BIOS
    • 16 KB C64-ROM: ≈9 KB C64 BASIC 2.0 + ≈7 KB C64 KERNAL
    • 4 KB C64 (oder internationaler) Zeichengenerator
    • 4 KB C128 (oder national) Zeichengenerator
    • 32 KB Internal Function ROM (optional: zur Platzierung im Mainboard-Sockel)
    • 32 KB External Function ROM (optional: zur Platzierung in REU-Buchse)
  • Video:
    • MOS 8564/8566 VIC-II E (NTSC/PAL) für 40-Spalten- Composite-Video ( anstelle eines Monitors kann auf Wunsch auch ein TV-Gerät verwendet werden)
      • Direkter Registerzugriff über speicherabgebildete I/O
      • Textmodus: 40×25, 16 Farben
      • Grafikmodi: 160×200, 320×200
      • 8 Hardware-Sprites
      • 2 KB dedizierter 4-Bit-Farb-RAM, sonst Hauptspeicher als Video-RAM
    • MOS 8563 VDC (oder in C128DCR 8568 ) für digitales 80-Spalten- RGB- I-Component-Video, kompatibel mit IBM PC CGA- Monitoren, monochrome Anzeige auch auf Composite-Videomonitoren möglich; nur mit TV-Geräten verwendbar, wenn das Gerät zusätzlich zum Antennenanschluss über SCART- und/oder Basisband-Video-Eingangsbuchsen verfügt. Farbe ist über SCART möglich, nur Monochrom über Basisband-Videoeingang.
      • Indirekter Registerzugriff (Adressregister, Datenregister im gemappten Speicher)
      • Textmodus: Voll programmierbar, typischerweise 80×25 oder 80x50, 16 RGBI-Farben (nicht die gleiche Palette wie beim VIC-II)
      • Grafikmodi: Voll programmierbar, typische Modi sind 320 x 200, 640 x 200 und 640 x 400 (interlaced).
      • 16 KB dedizierter Video-RAM (64 KB Standard in C128DCR, C128/C128D kann auf 64 KB aufgerüstet werden), zugänglich für die CPU nur auf einem doppelt indirekten Weg (Adressregister, Datenregister auf VDC, die wiederum über Adressregister adressiert werden) , Datenregister im zugeordneten Speicher)
      • Eingeschränkte Blitter- Funktionalität
  • Klang:
  • I/O-Ports:
    • Alle Commodore 64-Ports mit 100-prozentiger Kompatibilität, plus Folgendes:
    • Höhere „Burst Mode“-Geschwindigkeit am seriellen Bus möglich
    • Erweiterungsport flexibler programmierbar
    • RGBI-Videoausgang ( DE9-Anschluss ) logisch ähnlich dem IBM PC CGA- Anschluss, jedoch mit einem zusätzlichen monochromen Composite-Signal. Dieses zusätzliche Signal verursacht eine geringfügige Inkompatibilität mit bestimmten CGA-Monitoren, die behoben werden kann, indem Pin 7 aus dem Stecker an einem Ende des Verbindungskabels entfernt wird.
    • Externer Tastatureingang ( DB25 -Anschluss ) (nur C128D(CR))

Siehe auch

Anmerkungen

Verweise

Literaturverzeichnis

  • Greenley, Larry et al. (1986). Commodore 128-Programmierreferenzhandbuch . Bantam Computerbücher/Commodore-Publikationen. ISBN  0-553-34378-5 .
  • Gerits, K.; Schieb, J.; Thrun, F. (1986). Commodore 128 Interna . 2. Aufl. Grand Rapids, Michigan: Abacus Software, Inc. ISBN  0-916439-42-9 . Deutsche Originalausgabe (1985), Düsseldorf, BRD: Data Becker GmbH & Co. KG.
  • Simmonds, Jr., Thomas; Borden, Jim (September 1986). "Sofortige Datenaussagen" . Laufen . Nr. 33. p. 82-84.

Externe Links