PET 2001

起源と初期の機種

1970年代、テキサス・インスツルメンツ (TI) は電卓用CPUの主要な供給企業であった。コモドールもTIのチップを使った電卓を製造販売していた。しかし、1975年にTIはチップの外販価格を上げた。それによってTI自身の電卓の価格競争力を上げるためである。このため業界は冷え込むこととなる。
コモドールは電卓用チップを供給してくれそうな会社を探し、6502マイクロプロセッサを設計していたモステクノロジーを見つけた。モステクノロジーのチャック・ペドルは6502を使ったワンボードのコンピュータキットKIM-1をコモドール社長ジャック・トラミエルに見せ、電卓市場はもう終わりであると納得させた。1976年9月、ペドルの紹介でスティーブ・ジョブズとスティーブ・ウォズニアックが Apple II のプロトタイプのデモンストレーションをコモドール側に披露し、これを買ってくれないかともちかけた。しかし、コモドール側はジョブズの提示した金額が高いと判断した。トラミエルは、1977年6月のコンシューマー・エレクトロニクス・ショーに間に合うよう6カ月でコンピュータを設計・試作することをペドル、ビル・セーラー、ジョン・フィーガンスに命じた。トラミエルの息子レナードは、PET独自のグラフィックキャラクターを含む文字セットPETSCIIの設計を助け、品質管理面で働いた。その結果、世界初のオールインワン型ホームコンピュータ PET が生まれ、最初の機種は PET 2001 と名付けられた。6502プロセッサがディスプレイ、キーボード、データレコーダを制御し、さらに拡張ポートに接続する任意の周辺機器を制御する。メモリ(RAM)が4Kバイトの機種 (2001-4) と8Kバイトの機種 (2001-8) があり、基本的にはワンボードマイコンに制御回路を加えて、内蔵モノクロディスプレイ（40桁×25行表示）を駆動した。PETは設計思想面では最初のMacintoshに似ている。また、データ記録用のカセットテープレコーダー (Datassette) もキーボードの横に装備していた。カセットテープへのデータ転送レートは1500ボーだが、転送を確実に行うために同じビットを2回送るので、実質の転送レートは750ボーとなっている。メイン基板には、メモリ拡張用、2台めのデータレコーダ接続用、パラレルポート（ディスクドライブとプリンター接続用）、IEEE-488ポート（モデム接続用）の4つの拡張ポートがある。
PET 2001 は1977年1月の Winter CES で発表され、同年10月に最初の100台が出荷された。数ヶ月間出荷が注文に追いつかない状態が続き、ペースを上げるために4KバイトRAMバージョンを翌年早々にキャンセルし、8Kバージョンのみとした。
マシンは成功したが、電卓のような小さなキーボードには不満が集中した。感触がガムのようだということでチクレットキーボードと呼ばれた。またキートップの表示が容易にかすれてしまうという問題もあった。そのころのホームコンピュータでは珍しいことではないが、信頼性も乏しかった。このため、キーボードを置換するサードパーティ製品がすぐさま登場している。
このため1979年、新たな改良機種である "2001-N" を投入。最初の機種ではディスプレイの表示色がライトブルーだったが、2001-Nでは一般的なグリーンになっている。またデータレコーダを内蔵するのをやめて、もっと大きくて使い勝手のよいキーボードを装備した。また内蔵ROMを更新して、新たに投入したフロッピーディスクドライブ装置を接続できるようにした。RAMの搭載容量によって 2001-N8 (8kB)、2001-N16 (16kB)、2001-N32 (32kB) の3機種を用意している（このうち8kB版は早々に販売停止となった）。さらに内蔵ROMに機械語モニターを搭載し、メモリ上の任意のアドレスの内容を読み書きできるようにした。これには6502のBRK命令を利用している。ただし、アセンブラは内蔵していないので、ユーザーは16進の数値を直接打ち込む必要がある。
これら新機種もよく売れ、コモドールはヨーロッパにも販路を拡大する。しかし、ヨーロッパにはすでにPETという名が商標登録されていたため（フィリップス）、名称の変更を余儀なくされた。結果として、CBM 3000シリーズ(Commodore Business Machines)と改称し、機種名も3008、3016、3032となった。また、3008は早々に販売停止となった。

教育、ビジネス、計算機科学

1980年、4000 シリーズのPETが登場した。従来より大きめの12インチのモニターを採用し、CRTCを一新、BASICも 4.0 となってディスク対応コマンドが追加された。このころコモドールは、3000シリーズの顧客が32kB版を買わずに8kB版や16kB版を購入してメモリを自分で追加することが多いということに気づく。そこで4016からメモリ拡張用のソケットを取り去った。4032は学校が大量に購入した。金属製の頑丈なケースでオールインワン設計であることが、教室での乱暴な使用にもよく耐えると評価されたためである。また、他の用途ではあまり活用されていなかった IEEE 488 ポートも学校では重要な役割を果たした。これをうまく使えばLANを構成でき、当時まだ高価だったプリンターやディスクドライブを教室内の全マシンで共有可能だった。なお当時のPETの内蔵ROMにはIEEE-488ポート用機能がなく、ユーザーが自前でプログラムを組む必要があった。
PETシリーズとしてはさらに2つのマシンがリリースされている。8000シリーズは4000シリーズと同様CRTCに日立HD46505（またはセカンドソースのモトローラ6845）を採用、12インチモニタで80x25文字表示とし、ビジネス志向を強めていたが、反面、画面表示に関しては従来機種との互換性が乏しいものとなってしまった。そのため、人気は低迷した。8032は32kBのRAMを搭載しているが、さらに64kBを追加可能である。後に最初からRAMを追加した状態の 8096 も登場している。8000シリーズにはサウンド発生用にスピーカーも1つ内蔵されていた。
2001/3000/4000 シリーズのPETのキーボードは「グラフィックスキーボード」と呼ばれていた。数字はテンキー部分にしかなく、通常数字があるアルファベットの上の一列には記号しかない。3032と4032にはBモデルという特別な機種があり、「ビジネスキーボード」と呼ばれる一般的なキー配置のキーボードを採用していた。8000シリーズでは全機種がビジネス仕様のキー配置になっている。
4000/8000シリーズは従来よりもビジネス指向を強めており、そのためにBASICを強化している。5.25インチおよび8インチのFDD装置を各種取り揃え、さらに5MBと7MBのHDD装置も用意された。ヨーロッパではビジネス用途でそれなりに人気となったが、アメリカではビジネスで標準的となったCP/Mが動作しないPETは振るわなかった。
上述したように4000/8000シリーズではモニターが大きくなっており、ビデオコントローラも従来とは異なる。このため "the killer POKE" と呼ばれる重大な非互換問題が生じた。2001/3000シリーズにはとあるレジスタがあり、それを有効にするとビデオRAMへのアクセスを走査線が垂直に戻る間（垂直帰線消去時間）だけに制限し、画面のちらつきを防ぐことができる（CPUとビデオコントローラがVRAMに同時アクセスしようとするとちらつきが発生する）。通常この機能は電源を入れたときから有効になっていた。ちらつきが気にならない場合は、ユーザーがそれを無効にでき、文字出力を高速化できる。BASICプログラムや機械語のプログラムでは、性能向上のためにこの操作を行うのが一般的だった。4000/8000シリーズではCRTCチップを採用しているため、従来のようなちらつき問題は発生しない。しかし、従来VBLANKの有効/無効の切換え用レジスタがあったアドレスにCRTCの制御レジスタを配置している。そのため、従来機種用のプログラムがちらつき防止機能の切換えをしようとすると、モニターの同期がおかしくなり、フライバックトランスを壊してしまうことがある。したがって2001/3000シリーズ向けのプログラムは4000/8000シリーズ向けに改造する必要があった。
シリーズの最後となったのはSP9000で、SuperPET あるいは MicroMainframe などとも呼ばれた。このマシンはウォータールー大学でプログラミングを教える目的で設計された。CBM 8000 シリーズのハードウェアを基本とし、MC6809を第2のCPUとして追加し、RAMも増やしている。6502で動作するBASICと6809で動作する APL、COBOL、FORTRAN、Pascal が内蔵ROMにあり、6809向けにはフロッピーディスクでアセンブラが用意された。端末プログラムも用意されており、大学にある多数の端末の代替としても使える。そのため、SuperPET上でプログラムを開発し、完成してからそのプログラムをメインフレームにアップロードするというリモート開発環境としても利用できた。
コモドールはPETシリーズの後継としてCBM-IIシリーズ（Bシリーズとも）をリリースした。しかし、あまり成功せず、最終的に販売停止となった。しかしPETシリーズの需要はあったため、CBM-II の筐体の設計を従来のPETシリーズに流用したものが登場している。この筐体はキーボードが分離していたため SK (separated keyboard) と呼ばれている。モニターも首振り機構が追加されている。当初 8032 の基板をそのまま使っていたが、後にSK用の新マザーボードを設計し、64kBの拡張メモリを直接マザーボードに搭載した 8296 を発売。また、FDDを2機内蔵した 8296-D も登場した。
公式にはPETシリーズの一部とはされないが、1983年、コモドールはC64のマザーボードを4000シリーズによく似た筐体に収めた Educator 64 をリリースした。これは、Apple IIe に奪われた教育市場で挽回しようとしたものである。

グラフィックス表示

ホームコンピュータとしては、早々に高精細なカラーグラフィックスとサウンド機能を備えたマシン（Apple II、Atari 400/800）に敗退してしまった。カラーに関しては後のVIC-20(日本国内ではVIC-1001という名称で販売された)やコモドール64で対応した。PET向けには Thomson EF936x を使った512×512ピクセルの高精細グラフィックボードをリリースしている。
通常のPETのグラフィックス機能は、ROM上の固定の文字セットに限られている。当時の競合機種にはPCGと呼ばれる機能があり、文字のパターンを参照する際のアドレスがRAMを指すよう変更でき、任意のパターンを文字として表示可能だった。プログラミングの観点から言えば、これは比較的簡単に高精細なグラフィックイメージを得ることができる手段である。BASICプログラムでビットマップ画像のアニメーションをリアルタイムに描画するのは難しかったが、PCGなら文字オブジェクトを画面上で動かすだけで済むため、よく利用されていた。しかし、PETにはPCG機能はなく、大きな弱点の1つとなっている。
この欠点を補うものとして、PETのROM上の文字セットは ASCII-1963 から派生した PETSCII と呼ばれるもので、様々なパターンの文字を含んでいた。それらを使ってスペースインベーダーなどのゲームも文字だけを使って移植されている。2つの切換え可能な文字セットがあり、大文字と小文字が使える文字セットと大文字とグラフィックス文字が使える文字セットを備えている。また、文字を反転表示することも可能である。また、テキストアドベンチャーではグラフィックスは不要だった。中には文字セット用ROMと差し替えるEPROMを同梱するソフトウェアも登場した。ダイアクリティカルマーク付きの文字セットや数学記号の文字セットなどのEPROMもサードパーティから発売されている。
8000シリーズ以外のPETにはサウンド用ハードウェアがないが、IEEE-488ポートの出力を矩形波の音声信号として利用することができ、一部のゲームではそれを利用していた。