# PET 2001

Der Commodore PET 2001 (Personal Electronic Transactor; deutsch etwa persönlicher elektronischer Handlungsbeauftragter) wurde bei der Winter CES 1977 im Januar 1977 vorgestellt und verkauft. Er ist damit der weltweit erste für Privathaushalte erschwingliche und in Serie hergestellte persönliche Computer (PC), da dem Apple II aufgrund von Abschirmungsproblemen die FCC-Freigabe bis Ende 1977 fehlte. Er ist ebenso der weltweit erste PC in kompletter, betriebsbereiter Ausführung.

## Geschichte

Der PET 2001 wurde vor allem von Chuck Peddle entwickelt und Anfang 1977 auf der Consumer Electronics Show vorgestellt. Peddle hatte auch den Vorläufer KIM-1 entwickelt und war zuvor führend bei der Entwicklung des MOS-6502-Mikroprozessors gewesen, auf dem alle diese Geräte basieren.
Peddle hatte mit dem KIM-1 schon einen direkten Vorläufer selbst konstruiert, auf dem er aufbauen konnte. Verglichen mit dem im April 1977 vorgestellten Apple II hatte der PET 2001 zwar keine Farbe, keine Einzelpunktgrafik und keine Erweiterungsslots, dafür konnte er aber Kleinbuchstaben darstellen, war (zumindest in Europa) nur ein Viertel so teuer und hatte in der Benutzeroberfläche einen intuitiv benutzbaren Screen-Editor, statt des eher gewöhnungsbedürftigen Zeileneditors beim Apple.
Zum Anschluss von Peripheriegeräten verfügte der PET über einen „parallelen IEC-Bus“ (IEEE-488-Anschluss). An diesem konnten neben Druckern und CBM-Diskettenlaufwerken auch Messgeräte und andere Steuerungsanlagen angeschlossen werden. Dies führte dazu, dass der PET (und etwas später vor allem seine direkten Nachfolgemodelle) vor allem an Universitäten und Forschungseinrichtungen, aber auch in Fabriken zur Produktionssteuerung eingesetzt wurde.
Der PET 2001 war der erste Computer, der im deutschen Versandhandel (u. a. bei Quelle) erhältlich war. Der Preis betrug 2.999 DM, später rund 2.000 DM. Nach Entdeckung von Fehlern im BASIC – Arrays konnten eine maximale Größe von 256 Elementen erreichen – wurde der Preis noch einmal erheblich gesenkt.
Auszug aus einem Prospekt des Unternehmens Vero (Vorläufer von Vobis) von 1979: Sehen Sie sich um: Überall noch Rechner, die zum 10-fachen Preis weniger leisten als er: Commodore PET 2001, der Computer, über den die Experten reden.
Das englische Wort pet bedeutet auch „Haustier“ oder „Liebling“. Wie Chuck Peddle um 1990 in einem Interview erklärte, wurde der Name durch einen seinerzeit in den USA mit großem Erfolg verkauften Scherzartikel inspiriert: Pet Rock, ein Stein als Haustier. Das pflegeleichte Tierchen war in einer gepolsterten Schachtel erhältlich, inklusive einer Dressuranleitung.

## Technische Daten

* Metallgehäuse, nach oben aufklappbar und mit einer Stange fixierbar (ähnlich der Motorhaube eines Autos)
* Tastatur mit Buchstaben- und Zahlenfeld, kleine Kunststofftasten (mit Metallauflage), die im Prinzip von den Tischrechnern stammten, die Commodore damals produziert hat. Anders als sonst üblich standen die Tasten direkt senkrecht in Spalten untereinander statt mit seitlichem Versatz. Diese Tastatur erhielt von Anwendern den scherzhaften Namen „Mickymaus-Tastatur“. Die spätere Variante ohne eingebaute Datassette hatte eine ‚richtige‘ Tastatur.
* Eingebaute Datassette (Cassettenrecorder) zur Speicherung von Daten und Programmen
* CPU: MOS Technology 6502, 8 Bit
* Takt: 1 MHz
* je nach Modell 4 oder 8 KB SRAM
** ausbaubar bis 32 KB (Kosten 1979: 2.500 DM)
** in Europa wurde nur die 8-KB-Version verkauft
** zunächst mit eigenen Chips (MOS 6550) von MOS Technology, jedoch nach vielen Hitzeproblemen in einer späteren Version mit Fremdchips
** das unterste Kilobyte ist vom System (inkl. Basic) belegt, darüber frei für den Benutzer verfügbar, das gilt auch für Nachfolgemodelle
* Das Microsoft/Commodore ROM-BASIC ist zugleich Betriebssystem und befindet sich in einem 14-KB-ROM
** Betriebssystemerweiterungen sind in 3 freien ROM-Sockeln à 4 KB nachrüstbar
* Speicherbelegung:
    $0000-$1FFF 8 KB RAM (bei 4-KB-Modell nur bis $0FFF)
    $8xxx Video-RAM (mehrfach gespiegelt)
    $9xxx, $Axxx, $Bxxx: 3 freie Sockel
    $Cxxx, $Dxxx: 2 × 4 KB ROM; $E000-$E7FF: 2 KB ROM (Editor)
    $E800-$EFFF: 2 KB memory mapped I/O
    $Fxxx: 4 KB ROM, an dessen Ende eine Sprungtabelle mit den wichtigsten Betriebssystemaufrufen, die bis zum C128 hin kompatibel gehalten wurde
* IEEE-488-Anschluss („paralleler IEC-Bus“), u. a. für Diskettenlaufwerke und Drucker nutzbar
* Userport (ähnlich wie später beim C64, 8 Bit parallel, Handshake-Bits (per Zusatzsoftware damit Centronics-Ausgang realisierbar) und TTL-Monitorausgang)
* Eingebautes Netzteil
* Das Videoteil ist in diskreter TTL-Technik auf der Hauptplatine ausgeführt, die Ausgabe erfolgt in TTL-Pegel (auch auf den Userport herausgeführt) und mit fernsehkompatiblem (NTSC)-Timing.
* Integrierter 9-Zoll-Schwarz-Weiß-Monitor (später auch Schwarz-Grün) mit 25 Zeilen zu 40 Zeichen, Nachfolgemodelle ab 1979 auch mit 12-Zoll-Monitor (Modellreihen CBM 4000 und CBM 8000).
* Das Gerät kam ohne Lüfter aus, so dass es im Betrieb vollkommen lautlos war, so lange die Datassette nicht lief.

## Programmierung und Software

Programme für den PET 2001 werden primär in der Programmiersprache BASIC erstellt. Bereits wenige Sekunden nach dem Einschalten ist ein PET 2001 betriebsbereit und kann BASIC-Befehle entgegennehmen. Auch die Programmierung in Maschinensprache ist möglich, was entweder direkt über einen Assembler oder von BASIC aus mit Hilfe der BASIC-Befehle SYS (direkter Sprung zu einer Adresse), USR, PEEK und POKE (direktes Auslesen und Beschreiben einer Speicheradresse) geschieht.
Bei der Programmierung in BASIC dient der Bildschirm sowohl als Ausgabegerät als auch als Puffer für Benutzereingaben. Alle auf dem Bildschirm sichtbaren Ausgaben können jederzeit modifiziert und durch Betätigen der ENTER-Taste dem Rechner wieder als Benutzereingabe übergeben werden. Dieses Bedienungs- und Eingabekonzept wird als Bildschirm-Editor (engl. screen editor) bezeichnet. Konkurrierende Rechner boten zu dieser Zeit lediglich wesentlich komplizierter zu bedienende Zeilen-Editoren.
Da der PET nur Zeichen darstellen kann, beschränken sich seine grafischen Fähigkeiten auf die Darstellung so genannter Blockgrafik. Hierzu enthält der Standard-Zeichensatz neben Großbuchstaben und Spielkartensymbolen alle Kombinationen von 2×2-Teilquadraten, mit denen eine Pseudo-Auflösung von 80×50 Punkten dargestellt werden kann. Ein alternativ verwendbarer Zeichensatz bietet Groß- und Kleinbuchstaben ohne Grafiksymbole.
Fertige Software gab es ausschließlich für den Spielbereich. Das Spiel Mondlandung, mit dem eine Mondlandung simuliert wurde, und Spiele von Spielautomaten (Schiffe versenken) waren beliebt. Man behalf sich durch Selbstprogrammierung oder das Abtippen von Programmen aus den Zeitschriften Funkschau, ELO oder Chip, wobei die beiden Letzteren 1979 neben den amerikanischen Zeitschriften Creative Computing und Byte die einzigen deutschen Zeitschriften für Computer waren. Zu dieser Zeit etablierte sich auch die erste Computersendung des deutschen Fernsehens: der WDR Computerclub mit Wolfgang Back und Wolfgang Rudolph. Dort wurden auch Programme in Form akustischer Signale gesendet, die – mit dem Mikrofon oder einem Verbindungskabel auf Musikkassette aufgenommen – später über eine Datasette in den PET eingelesen und ausgeführt werden konnten.
Bei der Programmierung des PET stieß man bereits bei den damaligen Anforderungen rasch an Grenzen. Nach dem Einschalten meldet ein PET 2001 mit einem Speicherausbau von 8 KB „7167 Bytes free“. Da Programm und Daten sich diesen Speicher teilen müssen, scheiterten oft schon – aus heutiger Sicht – kleine Vorhaben an den begrenzten Speicherkapazitäten des PET. Nicht selten wurden zwei Versionen eines Programmes hergestellt: eine übersichtliche und dokumentierte Version (ein Befehl je Zeile, viele Kommentare) und eine Arbeitsversion, in der durch mehrere Befehle pro Zeile sowie Verzicht auf Kommentare Bytes eingespart wurden, wo es nur ging.
Die Betriebssoftware des PET 2001 unterteilt sich in den BASIC-Interpreter und den so genannten Kernal, der zur damaligen Zeit Commodore-intern noch Kernel genannt wurde und erst später (zu Zeiten des VC-20) den Namen Kernal bekam. Der Kernal stellt sozusagen das Betriebssystem des PET dar. Er beinhaltet die Software zur Systeminitialisierung und zur Hardware-nahen Ein- und Ausgabe. Darüber hinaus zeichnet der Kernal auch für den Bildschirm-Editor verantwortlich.
Der BASIC-Interpreter des PET stammt ursprünglich von Microsoft und wurde von Commodore an den Kernal angepasst. Er belegt 8 KB des 14 KB großen ROMs und weist in seiner ersten Version noch einige ungewöhnliche Verhaltensweisen auf. So führt beispielsweise die Ausführung der Zeile
zur Meldung Syntax Error, da sie vom BASIC-Interpreter als
interpretiert wird. Umstritten ist, ob man bei diesem Verhalten von einem Fehler sprechen kann: Die einen sagen, die eingegebene Zeile sei syntaktisch korrekt und dürfe nicht zu einer Fehlermeldung führen, andere behaupten, dieses Verhalten sei wohldokumentiert und könne nicht als Fehler angesehen werden.
Die Arbeitsgeschwindigkeit des BASIC-Interpreters des PET ist mit etwa einer Millisekunde pro BASIC-Befehl aus heutiger Sicht langsam, ebenso das Laden von Programmen mit zwei Minuten für 8 KB. So lief beispielsweise die in BASIC nachprogrammierte Version des Spiels Space Invaders sehr langsam. In Maschinensprache programmierte Anwendungen hingegen erlauben deutlich höhere Ausführungsgeschwindigkeiten. So gibt es beispielsweise ein Schachprogramm, das mit seiner Spielstärke für Laien mehr als ausreichend ist.
Um die Kompatibilität von Maschinenprogrammen auf 8-Bit-Rechnern von Commodore über mehrere Kernal-Versionen und Rechner-Generationen zu ermöglichen, existiert am Ende des ROM-Bereichs (also unmittelbar vor der Adresse $FFFA) eine Sprungtabelle, über die die wichtigsten Kernel-Routinen aufgerufen werden können. Commodore hat diese Sprungtabelle bis zum C128 hin beibehalten. So gibt zum Beispiel der Maschinenbefehl JSR $FFD2 auf jedem 8-Bit-Rechner von Commodore den Inhalt des Akkumulators als ASCII-Zeichen auf den Bildschirm aus. Leider hat das die Kompatibilität von Anwendungssoftware nicht sehr gesteigert, weil viele Programmierer – vor allem aus Geschwindigkeitsgründen – diese kompatible Methode des Aufrufs schlichtweg ignoriert haben.

## Spiele

Der PET besaß, ebenso wie die spätere CBM-Baureihe, lediglich Zeichensatz- und keine Pixelgrafik. Daher mussten grafische Elemente durch geschicktes Kombinieren von Sonderzeichen realisiert werden (im Jargon „PETSCII-Grafik“ genannt). Üblicherweise wurde hierfür die sogenannte Viertelpunktgrafik benutzt: Da zwölf spezielle Zeichen vorhanden waren, bei denen jeweils ein Viertel, die Hälfte bzw. drei Viertel der Fläche des Cursors (d. h. eines Zeichens) gefüllt waren, konnten einschließlich der Zeichen für einen leeren bzw. voll gefüllten Cursor Grafiken mit der im Vergleich zur Textdarstellung doppelten Zeilen- sowie Spaltenzahl erzeugt werden (d. h. mit der vierfachen Auflösung).
Zur Tonerzeugung wurde vielfach das Schieberegister des VIA 6522 benutzt. Dazu musste lediglich ein Verstärker an den Userport angeschlossen werden, um aus Rechtecksignalen bestehende Töne erzeugen zu können. Spätere CBM-Modelle hatten dazu schon einen Piezo-Lautsprecher auf der Platine angeschlossen. Ein ähnliches Verfahren nutzten die späteren PCs.
Obwohl der PET kein klassischer Spiel-Computer war, wurden einige Dutzend Spiele entwickelt und auf Kassette und teilweise Diskette ausgeliefert, hauptsächlich von Scott Adams und Avalon Hill.
Herausragende in Assembler realisierte Projekte sind ein Schachprogramm oder eine Weltraumkampfsimulation in Pseudo-3D mit Star-Wars-Motiven.
Viele damalige Spielhallen-, Konsolen- sowie Brett- und Kartenspielklassiker wurden unter Abstrichen von Privatanwendern portiert, darunter zahlreiche Adventures, Programme aus der Unixwelt (Startrek, Space War), kleine Animationsfilme und Reaktionsspiele (Cowboy-Duell, Clown-Quest) sowie eine gelungene Umsetzung von Space Invaders (dessen BASIC-Version systembedingt sehr langsam war).

## Emulation

Mit Emulatoren wie VICE und M.E.S.S. kann der PET 2001 auf aktuellen Computern emuliert werden.

## Nachfolgemodelle

Aufgrund der guten Verkäufe in den USA und Kanada wurde die PET-Serie auch in Europa eingeführt. Allerdings kam es dort zu einem Konflikt mit Philips, da dieses Unternehmen sich bereits die Rechte am Namen „PET“ (dort Abkürzung für Programm-Entwicklungs-Terminal) gesichert hatte. So wurden die Modelle in „CBM“ (Commodore Business Machines) umbenannt.
Aufwärtskompatibler Nachfolger des PET 2001 war der CBM 3001. Mit Blick auf Büroanwendungen entwickelte Commodore den PET 2002 zur Büroserie CBM 4016/4032 und 8016/8032 weiter, an die Diskettenlaufwerke (5¼ Zoll, auch 8 Zoll) angeschlossen werden konnten und die über eine professionelle Schreibmaschinentastatur verfügten. Ab der 4000er-Serie gab es auch ein verbessertes Commodore BASIC mit diversen Befehlen zur Diskettenbenutzung.
Im Jahr 1982 wurde die PET-Serie eingestellt. Als Nachfolger war die CBM-II-Serie vorgesehen, die aber wegen des beginnenden Sterbens nicht IBM-PC-kompatibler Businessrechner nur noch geringen Erfolg hatte. Bald darauf setzte dann auch Commodore im Business-Segment auf IBM-kompatible Modelle.
Mit Blick auf den Heimcomputermarkt, insbesondere die Fähigkeit, auf dem PET 2001 Computerspiele zu spielen, wurden ab Januar 1981 der VC20 und Dezember 1982 der C64 herausgebracht, die beide auf der Architektur des PET 2001 basierten, allerdings, außer für einfachste Programme, nicht mit dem PET (oder untereinander) kompatibel sind.