| 一般情報 | |
|---|---|
| 発売 | 1975年 |
| 共通メーカー | |
| パフォーマンス | |
| 最大CPU クロックレート | 1MHz~3MHz |
| データ幅 | 8ビット |
| アドレス幅 | 16ビット |
| アーキテクチャと分類 | |
| 命令セット | MOS6502 試験概要 |
| 命令数 | 56(当初55) |
| 物理的仕様 | |
| トランジスタ |
|
| パッケージ |
|
| 歴史 | |
| 先人たち |
|
| 後継者 | |
MOS Technology 6502(通常「シックスティファイブオーツー」または「シックスファイブオーツー」と発音される)[3]は、 MOS Technologyのチャック・ペドル率いる小規模チームによって設計された8ビット マイクロプロセッサである。設計チームは以前、モトローラでモトローラ6800プロジェクトに携わっていた。6502は基本的にその設計の簡略化、低価格化、高速化を図ったバージョンである。
1975 年に発表されたとき、6502 は市場でかなり安いマイクロプロセッサでした。当初は、6800 やIntel 8080など、大手企業の競合製品の 6 分の 1 以下の価格で販売されました。6502 の発表により、プロセッサ市場全体の価格が急激に低下しました。Zilog Z80とともに、6502 は一連のプロジェクトを巻き起こし、1980 年代初頭の 家庭用コンピュータ 革命につながりました。
1970年代から1990年代初頭にかけての家庭用ビデオゲーム機や家庭用コンピュータ( Atari 2600、Atari 8ビットコンピュータ、Apple II、Nintendo Entertainment System、Commodore 64、Atari Lynx、BBC Microなど)は、6502またはその基本設計のバリエーションを使用している。6502の発表後まもなく、MOS TechnologyはCommodore Internationalに完全に買収され、同社はマイクロプロセッサの販売とライセンスを他のメーカーに継続した。6502の初期には、RockwellとSynertekが二次ソースとして提供し、後に他の企業にライセンス供与された。
1981年、ウェスタンデザインセンターはCMOSバージョンの65C02の開発を開始しました。これは組み込みシステムで広く使用され続け、推定生産量は数億個に上ります。[4]
歴史と使用
モトローラの起源

6502 は、モトローラ 6800マイクロプロセッサ ファミリを設計したエンジニアの多くによって設計されました。[5]モトローラは 1971 年にトム ベネットを主な設計者として 6800 マイクロプロセッサ プロジェクトを開始しました。モトローラのエンジニアは、IBM 370-165メインフレーム コンピュータでアナログおよびデジタルのシミュレーションを実行できました。[6]チップのレイアウトは 1972 年後半に開始され、最初の 6800 チップは 1974 年 2 月に製造され、ファミリ全体が 1974 年 11 月に正式にリリースされました。[7] [8]
ジョン・ブキャナンは6800チップの設計者であり[9] [10]、後に6501を設計するロッド・オーギルは回路解析とチップレイアウトでブキャナンを支援した。[11] ビル・メンシュはアリゾナ大学を卒業後(当時26歳)、1971年6月にモトローラに入社した。[12]彼の最初の任務は6800ファミリーの周辺ICの定義を支援することであり、後に6820周辺機器インタフェースアダプタ(PIA)の主任設計者となった。[13]ベネットは1973年にチャック・ペドルを雇い、すでに進行中の6800ファミリー製品のアーキテクチャサポート作業を行わせた。[14]彼は6850 ACIA(シリアルインタフェース)の設計を含む多くの分野で貢献した。[15]
モトローラのターゲット顧客は、ヒューレット・パッカード、テクトロニクス、TRW、クライスラーなどの大手エレクトロニクス企業だった。[16] 1972年5月、モトローラのエンジニアは選ばれた顧客を訪問し、ROM、RAM、パラレルおよびシリアルインターフェイスを備えた8ビットマイクロプロセッサシステムの詳細を共有し始めた。[17] 1974年初頭、顧客が設計のプロトタイプを作成できるように、チップのエンジニアリングサンプルを提供した。モトローラの「トータル製品ファミリ」戦略は、マイクロプロセッサの価格ではなく、顧客の総設計コストの削減に重点を置いていた。タイムシェアコンピュータの開発ソフトウェア、「EXORciser」デバッグシステム、オンサイトトレーニング、フィールドアプリケーションエンジニアサポートを提供した。[18] [19]インテルとモトローラはどちらも、当初、マイクロプロセッサ1個あたり360ドルの価格を発表していた。[20] [21]実際の量産価格ははるかに低かった。モトローラは6800と6つのサポートチップを含む設計キットを300ドルで提供した。[22]
ペドルは営業担当者とともに顧客訪問に同行し、顧客がマイクロプロセッサ チップの高コストにうんざりしていることに気づいた。[23]同時に、こうした訪問では、彼が紹介したエンジニアが必ず、6800 に含まれていた「これらすべての複雑な命令」よりもはるかに小さな必要な命令のリストを作成する結果となった。 [24]ペドルと他のチーム メンバーは、機能が向上し、サイズが縮小されたマイクロプロセッサの設計の概要を策定し始めた。当時、テキサス州オースティンにあるモトローラの新しい半導体製造施設はMOS チップの製造に問題を抱えており、1974 年半ばには半導体業界が 1 年間不況に陥っていた。また、アリゾナ州メサの従業員の多くは、オースティンへの移転が迫っていることに不満を抱いていた。[25]
モトローラの半導体製品部門の経営陣は、ペドルの低コストマイクロプロセッサの提案に興味を示さなかった。最終的にペドルは、システムの開発を中止するよう公式に通達された。[26]ペドルはこの通達に対し、モトローラに対し、この通達は「プロジェクト放棄」の公式宣言であり、それまでに開発した知的財産は自分のものだと伝えた。[27] 1975年11月のインタビューで、モトローラの会長ロバート・ガルビンは、ペドルの構想は良いものであり、部門は機会を逃したと最終的に認めた。「半導体製品部門では適切なリーダーを選ばなかった」。部門は再編され、経営陣は交代した。新グループ副社長ジョン・ウェルティは、「半導体販売組織は顧客のニーズに対する感度を失い、迅速な決定を下せなかった」と述べた。[28]
MOSテクノロジー


ペドルは、この新しいプロジェクトの資金源をモトローラの外部から探し始めた。彼は最初、モステクのCEOであるLJセビンにアプローチしたが、断られた。セビンは後に、モトローラが訴訟を起こすのではないかと恐れたためだと認めた。[29]
ペドルが営業旅行でフォード・モーター・カンパニーを訪れていたとき、後にフォードのエンジン自動化部門の責任者となるボブ・ジョンソンが、元同僚のジョン・パイヴィネンがゼネラル・インストゥルメントに移り、独学で半導体設計を学んだと話した。[30]その後、パイヴィネンは1969年にゼネラル・インストゥルメントの他の2人の幹部、モート・ジャッフェとドン・マクラフリンとともにペンシルベニア州バレーフォージでMOSテクノロジーを設立した。電子部品と産業用制御装置のサプライヤーであるアレン・ブラッドリーが1970年に過半数の株式を取得した。 [31]同社は顧客向けにカスタムICの設計と製造を行い、計算機チップのラインも開発していた。[32]
Mostek の取り組みが失敗に終わった後、ペドルはパイヴィネンにアプローチし、彼は「すぐに理解した」。[33] 1974 年 8 月 19 日、チャック ペドル、ビル メンシュ、ロッド オーギル、ハリー バウコム、レイ ハート、テリー ホールド、ウィル マティスがモトローラを離れ、MOS に入社した。マイク ジェーンズは後に入社した。6800 チームの 17 人のチップ設計者とレイアウト担当者のうち 8 人がチームを離れた。チームの目標は、組み込みアプリケーション向けの低コストのマイクロプロセッサを設計、製造し、できるだけ幅広い顧客層をターゲットにすることだった。これはマイクロプロセッサが低コストである場合にのみ可能であり、チームは大量購入時の価格目標を5 ドルに設定していた。[34]メンシュは後に、目標はプロセッサの価格そのものではなく、最近発売された同様の完全なチップセットで29 ドルで販売されていたIntel 4040に対抗するために20 ドルで販売できるチップセットを作成することだったと述べた。[35]
チップは、高純度のシリコンの薄いディスクであるウェハーの表面にチップ設計の複数のコピーを印刷することによって製造されます。チップが小さければ同じウェハーにたくさん印刷できるため、相対的な価格が下がります。さらに、ウェハーには常に表面全体に散らばった小さな物理的欠陥がいくつか含まれています。その場所に印刷されたチップはどれも故障し、廃棄する必要があります。チップが小さいほど、1つのコピーが欠陥の上に印刷される可能性が低くなります。これらの理由により、最終製品のコストはチップ設計のサイズに大きく依存します。[36]
オリジナルの6800チップは180×180ミル(4.6mm×4.6mm)の予定でしたが、レイアウトは212×212ミル(5.4mm×5.4mm)で完了しました。29.0 mm 2。[37]新しい設計では、コスト目標として、153×168ミル(3.9 mm×4.3 mm)のサイズ目標、つまり面積が要求されました。16.6 mm 2。[38]この目標を達成するにはいくつかの新しい技術が必要になるだろう。
NMOSへの移行
6502 の設計が始まったころ、大幅なコスト削減につながる 2 つの大きな進歩が市場に登場しました。1 つ目は、デプレッション ロード NMOSへの移行です。6800 は、3 つの電源電圧を必要とする初期のNMOSプロセスであるエンハンスメント モードを使用していました。6800 の目玉機能の 1 つは、オンボードの電圧ダブラーです。これにより、内部で +5 V の単一電源を +5、-5、および +12 V に使用できます。これは、当時のIntel 8080などの他のチップが 3 つの個別の電源ピンを必要としたのとは対照的です。[39]この機能により、電源とピンのレイアウトの複雑さは軽減されましたが、チップ上のさまざまなゲートに個別の電源ラインが必要であり、複雑さとサイズが増加しました。新しいデプレッション ロード設計に移行することで、必要なのは単一の +5 V 電源だけになり、この複雑さがすべて解消されました。[40]
さらなる利点は、デプレッションロード設計ではスイッチング時の消費電力が少なく、そのため動作温度が低くなり、動作速度が速くなることである。もう1つの実用的な派生は、初期のCPUのクロック信号は回路を通過する際に発生するすべての電力に耐えられるほど強力である必要があり、ほとんどの場合、強力な信号を供給できる別の外部チップが必要だったことである。デプレッションロード設計では電力要件が低減されるため、クロックをチップ上に移動でき、コンピュータ設計全体が簡素化された。これらの変更により、システム全体の実装の複雑さとコストが大幅に削減された。[40]
業界で起こったより広範な変化は、投影マスキングの導入であった。以前は、ウェハーの表面にマスクを置き、明るい光を当てることで、チップをウェハーの表面にパターン化していた。マスクは、チップから持ち上げられる際に小さな汚れやフォトレジストを拾い上げることが多く、その後のマスキングでその場所に欠陥が生じる原因となった。CPUのような複雑な設計では、このようなマスキングのステップが5つまたは6つ使用され、これらのステップの少なくとも1つで欠陥が発生する可能性が非常に高かった。ほとんどの場合、このような設計の90%に欠陥があり、歩留まりは10%であった。実用的なサンプルの価格は、廃棄される90%の製造コストをカバーする必要があった。[41]
1973年、パーキンエルマーは、直接接触する代わりにマスクの画像をウェーハに投影するミクララインシステムを導入しました。マスクはウェーハから汚れを拾うことがなくなり、10回ではなく10万回の使用に耐えるようになりました。これにより、ステップ間の障害や、複雑な設計で以前に見られた高い欠陥率がなくなりました。CPUの歩留まりはすぐに10%から60%または70%に跳ね上がりました。これは、CPUの価格がほぼ同じだけ下がり、マイクロプロセッサが突然コモディティデバイスになったことを意味します。[41]
MOSテクノロジーの既存の製造ラインは古いPMOS技術に基づいており、チームが到着した時点ではまだNMOSの作業は開始されていませんでした。パイヴィネンは、新しいCPUの生産開始までにNMOSラインを稼働させると約束しました。彼は約束を果たし、新しいラインは1975年6月までに準備が整いました。[42]
デザインノート
チャック・ペドル、ロッド・オーギル、ウィル・マティスが新しいプロセッサの初期アーキテクチャを設計した。1975年9月のEDN誌の記事では、設計の概要が次のように紹介されている。[43]
MOS テクノロジー 650X ファミリーは、6800 システムの開発に携わった 8 人の元 Motorola 社員が、6800 に代わる、6800 より高性能でありながら、6800 より安く販売できる部品を作ろうとした意図的な試みです。6800 プロジェクトで得た後知恵を活かして、Chuck Peddle 率いる MOS テクノロジー チームは、Motorola CPU に次のアーキテクチャ変更を加えました…
チップサイズに関する主な変更点は、アドレスバス出力からトライステートドライバが削除されたことである。トライステートバスには、1、0、および高インピーダンスの状態がある。最後の状態は、他のデバイスがバスにアクセスできるようにするために使用され、通常はマルチプロセッシング、またはこれらの役割でより一般的にはダイレクトメモリアクセス (DMA) に使用されます。この機能は便利ですが、オンチップ回路の点では高価です。6502 では、特定のタスクに使用され、単純なデバイスと通信する安価なコントローラとしての設計に合わせて、この機能を単純に削除しました。Peddle は、このスタイルのアクセスを必要とする人は誰でも 74158 で実装できると示唆しました。 [ 44] [a]
次の大きな違いは、レジスタを簡素化したことです。まず、2 つのアキュムレータのうち 1 つが削除されました。アキュムレータのような汎用レジスタは、命令デコーダの多くの部分からアクセスする必要があり、そのため、データをストレージとの間で移動するためにかなりの量の配線が必要です。2 つのアキュムレータを使用すると、多くのコーディング作業が簡単になりますが、チップ設計自体がかなり複雑になります。[43]スタック レジスタを16 ビットから 8 ビットに減らすことで、さらに節約できました。つまり、スタックは 256 バイトの長さで済み、マイクロコントローラとしての本来の役割を果たすには十分でした。[43] [検証に失敗]
16ビットのIXインデックスレジスタは2つに分割され、XとYになりました。さらに重要なのは、アクセスのスタイルが変更されたことです。6800では、IXは16ビットのアドレスを保持し、命令とともに格納され、アドレスに追加される8ビットの数値でオフセットされました。6502(および他のほとんどの同時代の設計)では、16ビットのベースアドレスが命令に格納され、8ビットのXまたはYがそれに追加されました。[44]
最後に、命令セットが簡素化され、デコーダと制御ロジックが簡素化されました。6800の元の72個の命令のうち、56個が実装されました。削除されたものの中には、6800の2つのアキュムレータ間で動作する命令と、PDP-11に触発されたいくつかの分岐命令がありました。[44]
チップの高レベル設計は、トランジスタと相互接続の図面に変換される必要があった。MOS Technology では、「レイアウト」は色鉛筆と上質紙を使った非常に手作業のプロセスだった。レイアウトは、製造プロセスの各層ごとに 1 つずつ、6 つの異なる図面に描かれた何千ものポリゴンで構成されていた。サイズ制限があるため、チップ全体の設計を常に考慮する必要があった。Mensch と Paivinen は命令デコーダ[46]を担当し、Mensch、Peddle、Orgill は ALU とレジスタを担当した。パーティーで開発されたさらなる進歩は、内部配線の一部を共有して ALU のサイズを縮小する方法だった[47] 。
彼らの最善の努力にもかかわらず、最終的な設計は5ミル幅が広すぎた。[48]最初の6502チップは168×183ミル(4.3mm×4.6mm)で、面積は19.8 mm 2。プロセッサのオリジナルバージョンには右回転 (ROR) 機能がなかったため、この命令はオリジナルのドキュメントから省略されていました。次の設計ではチップが縮小され、右回転機能が追加され、改訂されたドキュメントには ROR が含まれていました。[49] [b]
6501と6502のご紹介

MOS は、同じ基本設計に基づく 2 つのマイクロプロセッサを導入しました。6501 は Motorola 6800 と同じソケットに差し込み、6502 はオンチップ クロック発振器をサポートするためにピン配置を変更しました。どちらも 6800 用に設計された他のサポート チップで動作します。命令セット、レジスタ、および主にアドレス指定モードが異なっていたため、6800 ソフトウェアは実行できませんでした。[3] Rod Orgill が 6501 の設計を担当しました。彼は Motorola で 6800 に関して John Buchanan を支援していました。Bill Mensch は 6502 を担当しました。彼は Motorola で 6820 周辺機器インターフェイス アダプタ (PIA) の設計者でした。Harry Bawcom、Mike Janes、および Sydney-Anne Holt がレイアウトに協力しました。
MOS テクノロジーのマイクロプロセッサの導入は、従来の数か月かかる製品発表とは異なっていました。新しい集積回路の最初の製造は、通常、社内テストに使用され、選ばれた顧客に「エンジニアリング サンプル」として提供されます。これらのチップには、多くの場合、1 つか 2 つの小さな設計上の欠陥があり、生産開始前に修正されます。チャック ペドルの目標は、1975 年 9 月 16 日からサンフランシスコで開催される WESCON トレード ショーの参加者に、最初の製造の 6501 および 6502 チップを販売することでした。ペドルは非常に有能なスポークスマンで、MOS テクノロジーのマイクロプロセッサは業界紙で広く取り上げられました。最も初期の記事の 1 つは、1975 年 7 月 24 日発行のElectronics誌で、MCS6501 および MCS6502 マイクロプロセッサに関する 1 ページの記事でした。[53]記事はEE Times(1975年8月24日)、[54] EDN(1975年9月20日)、Electronic News(1975年11月3日)、Byte(1975年11月)[55]、Microcomputer Digest(1975年11月)にも掲載されました。[56] 6501の広告は1975年8月の第1週にいくつかの出版物に掲載されました。6501はWesconで1台20ドルで販売される予定でした。[57] 1975年9月の広告には6501と6502の両方のマイクロプロセッサが含まれていました。6502の価格はわずか25ドル(2023年の142ドルに相当)でした。[58]
MOSテクノロジー社がウェスコンに到着したとき、出展者は展示場で何かを販売することが許可されていないことがわかった。同社はセントフランシスホテルのマッカーサースイートを借り、そこで顧客にプロセッサを購入するよう案内した。スイートでは、プロセッサは大きな瓶に保管されており、チップが製造中ですぐに入手できることを示唆していた。顧客は、各瓶の下半分に機能しないチップが入っていることを知らなかった。[59]チップは20ドルと25ドルで、ドキュメントパッケージは追加で10ドルだった。ユーザーにはドキュメントのコピーを取るよう奨励された。これはMOSテクノロジー社が製品情報を配布するための安価な方法だった。予備的なデータシートには、これらの初期のチップではサポートされていなかった右回転(ROR)命令を除いて、わずか55個の命令が記載されていた。ByteとEDNのレビューでは、ROR命令がないことが指摘された。レイアウトの次の改訂でこの問題は修正され、1976年5月のデータシートには56個の命令が記載された。ペドルは、興味を持つすべてのエンジニアや愛好家がチップとドキュメントにアクセスできるようにしたいと考えていたが、他の半導体企業は「真剣な」顧客とのみ取引したいと考えていた。たとえば、シグネティクスは2650マイクロプロセッサを発表し、その広告では読者に会社のレターヘッドで情報を求めるよう求めていた。[60]

モトローラ訴訟

6501/6502 は印刷物やウェスコンで発表され、大成功を収めた。欠点は、マスコミの報道がモトローラの注目を集めたことだ。1975 年 10 月、モトローラは 6800 マイクロプロセッサ 1 台あたりの価格を175 ドルから69 ドルに値下げした。300ドルのシステム設計キットは150 ドルに値下げされ、プリント回路基板が付属するようになった。[61] 1975 年 11 月 3 日、モトローラは連邦裁判所に MOS テクノロジーによるマイクロプロセッサ製品の製造と販売の差し止め命令を求めた。また、特許侵害と企業秘密の不正流用を主張する訴訟も起こした。モトローラは、7 人の元従業員が MOS テクノロジーに入社し、同社のマイクロプロセッサ製品を開発したと主張した。[62]
モトローラは、もっともらしい訴訟と高額な弁護士を抱えた10億ドル企業だった。1974年10月30日、モトローラはマイクロプロセッサ ファミリに関する多数の特許を申請し、25件の特許を取得していた。最初のものは1976年6月、2番目は1976年7月6日にビル メンシュが6820 PIAチップレイアウトに関して取得したものである。これらの特許は、6800バスと、周辺チップがマイクロプロセッサとインターフェイスする方法をカバーしていた。[63]モトローラは1950年にトランジスタの製造を開始し、半導体特許のポートフォリオを持っていた。アレン ブラッドリーはこの訴訟で争わないことに決め、MOSテクノロジーの権益を創業者に売却した。訴訟には、モトローラの元エンジニアのうち4名、チャック ペドル、ウィル マシス、ビル メンシュ、ロッド オーギルが名を連ねていた。証拠開示手続きの過程で、モトローラは、マイク・ジェーンズというエンジニアがペドルの指示を無視して6800の設計文書をMOSテクノロジーに持ち込んだことを発見した。[64] 1976年3月、独立していたMOSテクノロジーは資金が底をつき、和解を余儀なくされた。両社は6501プロセッサを放棄し、モトローラに20万ドルを支払い、モトローラが機密であると主張した文書を返却することで合意した。両社はマイクロプロセッサの特許を相互ライセンスすることに合意した。 [65]同年5月、モトローラは6800マイクロプロセッサ1個の価格を35ドルに引き下げた。11月までにコモドールはMOSテクノロジーを買収した。[66] [67]
コンピューターとゲーム
法的なトラブルを乗り越えたMOSは、開発者にプロセッサを試してもらうという問題を抱えていた。そこで、チャック・ペドルはMDT-650(「マイクロコンピュータ開発端末」)シングルボードコンピュータを設計した。社内の別のグループはKIM-1を設計した。これは半完成品として販売され、サードパーティのコンピュータ端末とコンパクトカセットドライブを追加することで使用可能なシステムに変えることができた。対象市場では売れ行きが良かったが、同社はKIM-1が趣味人やいじくり回す人々にもよく売れたことを知った。関連するロックウェルAIM-65制御、トレーニング、開発システムも好調だった。AIM 65のソフトウェアはMDTのソフトウェアに基づいていた。ほぼ同様の製品としては、Synertek SYM-1もあった。
この設計が初めて「一般に」使用されたのは、1976年に発表されたApple I マイクロコンピュータだった。6502は次に、 1977年に発売されたCommodore PETとApple II [68]に使用された。後には、Atari 8ビットコンピュータ、Acorn Atom、BBC Micro、[68] VIC-20、およびOhio ScientificやOricコンピュータなどの家庭用および業務用コンピュータにも使用された。6502の直接の後継機である6510は、デジタルI/Oポートとトライステートアドレスバスを備え、ベストセラーとなった[69] [70] Commodore 64家庭用コンピュータに使用されたCPUである。
6500 ファミリのもう一つの重要な用途は、ビデオゲームでした。このプロセッサ設計を最初に利用したのは、1977 年の Atari VCS (後にAtari 2600と改名) でした。VCS は 6502 の派生版である6507 を使用していましたが、これはピン数が少ないため、8 KBのメモリしかアドレス指定できませんでした。MOS プロセッサを搭載した Atari コンソールが何百万台も販売されました。もう一つの重要な用途は、Nintendo Entertainment Systemとファミコンでした。NES で使用された 6502 は、リコーのセカンドソースバージョンで、部分的なシステム オン チップであり、2 進化 10進モードはありませんでしたが、22 個のメモリマップレジスタと、サウンド生成、ジョイパッドの読み取り、スプライトリストDMA用のオンダイハードウェアが追加されていました。NTSCコンソールでは2A03 、 PALコンソールでは2A07と呼ばれていたこのプロセッサ(違いはクロック周波数分周比とオーディオ サンプル レートのルックアップ テーブル) は、任天堂専用に製造されました。
6502 またはその派生型は、PET ラインから Commodore 128D まで、Commodore 64 を含むすべてのCommodore の8 ビット コンピュータのすべてのフロッピー ディスク ドライブに使用されていました。8 インチ PET ドライブには 2 つの 6502 プロセッサが搭載されていました。Atari は、Atari VCS で使用されているのと同じ 6507 を、400/800 から XEGS までのすべての 8 ビット コンピュータ ラインで使用される810および1050ディスク ドライブに使用しました。
1980 年代には、人気のエレクトロニクス雑誌 Elektor/Elektuur が、マイクロプロセッサ開発ボードJunior Computerにこのプロセッサを採用しました。
6502のCMOS後継であるWDC 65C02も、家庭用コンピュータやビデオゲーム機で使用されました。AppleはApple IIcからApple IIeの派生型までApple II製品にこれを使用し、古いIIeシステムを新しいプロセッサでアップグレードするキットも提供しました。[71] TurboGrafx-16で使用されたHudson Soft HuC6280チップは、65C02コアをベースとしていました。Atari Lynxは、Epyxが設計した「Mikey」 [72]というカスタムチップを使用しており、これにはVLSI VL65NC02ライセンスセルが含まれていました。GTE Microcircuits(California Micro Devicesに改名)のG65SC12派生型は、 BBC Masterで使用されました。BBC Masterの一部のモデルには、追加のG65SC102コプロセッサも含まれていました。
- 6502またはその派生型を使用した家庭用コンピュータおよびビデオゲーム機
技術的な説明


6502は、16ビットのアドレスバスを備えたリトルエンディアンの 8ビットプロセッサです。オリジナルのバージョンは、8μm [73]プロセス技術チップを使用して製造され、ダイサイズは3.9mm×4.3mm(153×168ミル)、総面積は 16.6 mm 2。[38]
内部ロジックは外部クロック速度と同じ速度で動作します。シンプルなパイプラインを備えており、各サイクルでプロセッサはメモリから1バイトをフェッチし、別のバイトを処理します。これは、命令が使用するオペランドの数に応じて、1つの命令が完了するのに2サイクルしかかからないことを意味します。比較すると、Zilog Z80はメモリをフェッチするのに2サイクル必要で、最小命令時間は4サイクルでした。したがって、競合設計と比較してクロック速度が低いにもかかわらず、通常は1~2000サイクル程度です。2 MHzのクロック速度で動作した 6502 のパフォーマンスは、はるかに高速なクロックを使用する CPU と競合するものでした。これは、他の多くの設計よりも大幅に組み合わせ (クロックレス) ロジックによって実装された単純なステート マシンによるところが大きいです。これにより、2 相クロック (サイクルごとに 2 つの同期を提供) によってマシン サイクルを直接制御できます。
この設計は、6502 とその前の 6800 の 1 つの有用な設計ノートにもつながりました。チップはクロック サイクルの特定の部分でのみメモリにアクセスし、この期間は φ2 の低クロック出力ピンによって示されるため、システム内の他のチップは、6502 がバスから外れている間にメモリにアクセスできました。これは、「隠しアクセス」と呼ばれることもありました。この手法はコンピュータ システムで広く使用されていました。コンピュータ システムでは、2 MHz でアクセスできるメモリを使用し、CPU を 1 MHz で実行していました。これにより、CPU とビデオ ハードウェアがアクセスをインターリーブでき、全体的なパフォーマンスがメモリ デバイスのパフォーマンスに一致することが保証されました。このアクセスは 1 サイクルおきに行われるため、バスの使用を避けるように CPU に信号を送る必要がなく、この種のアクセスをバス ロジックなしで簡単に実装できました。 [74] 1980年代に高速メモリが利用可能になると、新しいマシンはより高いクロック速度で動作しながら同じ技術を使用できるようになり、BBC Microは、同じバス共有技術を使用しながらCPUを2MHzで動作させることができる新しいRAMを使用しました。
当時のほとんどの単純な CPU と同様に、ダイナミックNMOS 6502 チップはマイクロコードによってシーケンス化されず、専用のPLA を使用して直接デコードされます。デコーダーはチップ領域の約 15% を占めました。これは、マイクロコード ROM とデコーダー エンジンがシステム内のゲートの約 3 分の 1 を占めた Motorola 68000などの後のマイクロコード ベースの設計と比較したものです。
レジスター
前身の6800と同様に、6502にはレジスタがほとんどありません。レジスタには[75]が含まれます。
A= 8ビットアキュムレータレジスタP= 7ビット[76] ステータスレジスタn= 負v= オーバーフローb= break(スタック値のみ、ハードウェアでは無効[77])d= 小数i=割り込み禁止z= ゼロc= 運ぶ
PC= 16ビットプログラムカウンタS= 8ビットスタックポインタX= 8ビットインデックスレジスタY= 8ビットインデックスレジスタ
これに対し、同時代の競合製品であるIntel 8080は、同様に1つの8ビットアキュムレータと16ビットプログラムカウンタを備えているが、汎用8ビットレジスタが6つ多く(3つの16ビットポインタに組み合わせることができる)、さらに16ビットのスタックポインタを備えている。[78]
レジスタの不足を補うために、6502にはゼロページアドレッシングモードが搭載されており、命令で2バイトのアドレスバイトを使用する代わりに、フルアドレスバイトをアドレス指定する。64KBのメモリ。これにより、最初のより短い命令を使用することで、RAM の256 バイトを節約できます。たとえば、メモリの値をアキュムレータの値に追加する命令は通常 3 バイトで、1 バイトは命令用、2 バイトは 16 ビット アドレス用です。ゼロ ページを使用すると、これが 8 ビット アドレスに短縮され、命令の合計長が 2 バイトに短縮されるため、命令のパフォーマンスが向上します。
スタック アドレス空間は、メモリ ページ$01、つまりアドレス範囲$0100– $01FF( 256– 511) にハードワイヤードされています。スタックへのソフトウェア アクセスは、4 つの暗黙のアドレッシング モード命令によって行われます。これらの命令の機能は、アキュムレータまたはプロセッサ ステータス レジスタをプッシュまたはポップ (プル) することです。同じスタックは、JSR (サブルーチンへのジャンプ) 命令と RTS (サブルーチンからの戻り) 命令によるサブルーチン呼び出しや、割り込み処理にも使用されます。
アドレッシング
このチップは、インデックス レジスタとスタック レジスタを、PDP-8に見られるような高速の「ダイレクト ページ」または「ゼロ ページ」モードを含む複数のアドレッシング モードを使用して効果的に使用します。このモードでは、単一の 8 ビット アドレスを使用して、アドレス 0 から 255 までのメモリ位置にアクセスします (通常、アドレスの上位バイトをフェッチするために必要なサイクルを節約します)。6502 のコードは、他のプロセッサのコードがレジスタを使用するのと同じように、ゼロ ページを使用します。オペレーティング システムを備えた一部の 6502 ベースのマイクロコンピュータでは、オペレーティングシステムがゼロ ページの大部分を使用し、ユーザー用にいくつかの位置だけが残ります。
アドレッシング モードには、暗黙(1 バイト命令)、絶対(3 バイト)、インデックス付き絶対(3 バイト)、インデックス付きゼロ ページ(2 バイト)、相対(2 バイト)、アキュムレータ(1)、間接、xおよび間接、y (2)、および即時(2) もあります。絶対モードは汎用モードです。分岐命令は、分岐後の命令を基準とした符号付き 8 ビット オフセットを使用します。したがって、数値範囲 -128..127 は、分岐後の命令から 128 バイト後方、127 バイト前方に変換されます (分岐命令の開始から 126 バイト後方、129 バイト前方)。アキュムレータ モードはアキュムレータ レジスタで動作し、オペランドデータは必要ありません。即時モードでは、8 ビットのリテラルオペランドを使用します。
間接アドレッシング
間接モードは、配列処理やその他のループ処理に便利です。5/6 サイクルの「(間接),y」モードでは、8 ビットの Y レジスタが、オペコードの後に 1 バイトで示されるゼロ ページから読み取られた 16 ビットのベース アドレスに追加されます。したがって、Y レジスタは、実際のインデックスを保持するために使用されるという意味でインデックスレジスタです(6800 の X レジスタとは異なり、ベース アドレスが直接格納され、それに即値オフセットを追加できます)。インデックス レジスタを増分して配列をバイト単位で移動するには、2 つの追加サイクルのみが必要です。あまり使用されない「(間接,x)」モードでは、操作の有効アドレスは、命令の 2 番目のバイトを X レジスタの内容に追加して形成されたゼロ ページ アドレスにあります。インデックス モードを使用すると、ゼロ ページは、最大 128 個の追加の (ただし非常に遅い) アドレス レジスタのセットとして効果的に機能します。
6502 は、2 進数または2 進化 10 進数で加算と減算を実行できます。CPU をSED(D フラグ設定) 命令で BCD モードに設定すると、10 進演算が行われ、$99 + $01$ 00とキャリー (C) フラグが設定されます。2 進モード ( CLD、D フラグのクリア) では、同じ操作で$9Aとキャリー フラグがクリアされます。Atari BASIC以外では、BCD モードは家庭用コンピュータ アプリケーションではほとんど使用されませんでした。
6502アセンブリ言語のシンプルだが特徴的な例については、Hello world! の記事を参照してください。
命令とオペコード
6502 命令のオペレーション コード(オペコード) は 8 ビット長で、一般的な形式は AAABBBCC です。AAA と CC はオペコードを定義し、BBB はアドレッシング モードを定義します。[79]たとえば、ORA命令はアキュムレータ内のビットと別の値とのビット単位の OR を実行します。命令のオペコードは 000bbb01 の形式です。ここで、bbb は即値モード値 (定数) の場合は 010、ゼロ ページ固定アドレスの場合は 001、絶対アドレスの場合は 011 などです。[79]このパターンは例外もあるため普遍的ではありませんが、ほとんどの命令でオペコード値をアセンブリ ニーモニックに簡単に変換でき、特殊なケースを特殊目的コードで処理できます。[79]
8ビットパターンを使用して利用可能な256の可能なオペコードのうち、オリジナルの6502は151を使用し、(おそらく)複数のアドレッシングモードを持つ56の命令に編成されています。命令とアドレッシングモードに応じて、オペコードはオペランド用に0、1、または2バイトの追加バイトを必要とする場合があります。したがって、6502マシン命令の長さは1バイトから3バイトまで異なります。[80] [81]オペランドは6502の慣例のリトルエンディアン形式で格納されます。
6502 の16 ビットCMOS の後継である65C816も24 ビット アドレッシングをサポートしており、その結果、命令は 3 バイトのオペランドでアセンブルされ、これもリトルエンディアン形式で配置されます。
残りの 105 個のオペコードは未定義です。元の設計では、下位 4 ビット (ニブル) が 3、7、B、または F である命令は使用されておらず、将来の拡張のための余地があります。同様に、$2x 列には という 1 つのエントリしかありませんでした。残りの 25 個の空きスロットは分散されました。空きスロットの一部は、65C02 で新しい命令と、新しいアドレッシング モードを持つ既存の命令のバリエーションの両方を提供するために使用されました。$Fx 命令は当初、サードパーティ ベンダーが独自の命令を追加できるように空のまま残されていましたが、65C02 の後のバージョンでは、Rockwell Semiconductorが開発したビット操作命令のセットが標準化されました。
LDX #constant
アセンブリ言語
6502アセンブリ言語ステートメントは、3 文字の命令ニーモニックと、それに続く任意のオペランドで構成されます。個別のオペランドを取らず、アドレッシング モードに基づいて単一のレジスタをターゲットとする命令は、ターゲット レジスタを命令ニーモニックに結合するため、アセンブラはX レジスタを増分するため
INXに ではなく を使用します。INC X
指示表
サンプルコード
次の 6502アセンブリ言語 ソース コードは、という名前のサブルーチンのコードです。このサブルーチンは、大文字を小文字に変換しながら、ヌル終端文字列をTOLOWERある場所から別の場所にコピーします。コピーされる文字列は「ソース」であり、変換されたソースが格納される文字列は「宛先」です。
詳細な動作

プロセッサのマスク不可能割り込み(NMI) 入力はエッジ センシティブです。つまり、割り込みは信号のレベルではなく、立ち下がりエッジによってトリガーされます。この機能は、ワイヤード OR割り込み回路がすぐにはサポートされないことを意味します。ただし、これにより、ハードウェアが NMI 入力を再び非アクティブにするまで (多くの場合、NMI割り込み ハンドラの制御下で)、ネストされた NMI 割り込みが発生するのを防ぎます。
NMI とIRQ (マスク可能) ハードウェア割り込みラインが同時にアサートされると、IRQ は無視されます。ただし、NMI の処理後も IRQ ラインがアサートされたままの場合、IRQ はレベル センシティブであるため、プロセッサは IRQ に即座に応答します。このように、6502 設計では、一種の組み込み割り込み優先順位が確立されました。
Bフラグは、6502がNMIエッジ検出器の出力とIRQ入力を定期的にサンプリングすることによって設定されます。IRQ信号が低く駆動されていることは、IRQがIフラグによって許可されている場合にのみ認識されます。このようにしてNMI要求または(マスク可能な)IRQが検出されると、Bフラグはゼロに設定され、プロセッサはプログラムカウンタに基づいて次の命令を実行する代わりに、BRK命令を実行します。[82] [83]
次にBRK命令はプロセッサステータスをスタックにプッシュし、Bフラグビットをゼロに設定します。実行の最後にBRK命令はBフラグの値を1にリセットします。これがBフラグを変更できる唯一の方法です。BRK命令以外の命令がプロセッサステータスの一部としてBフラグをスタックにプッシュした場合[84]、 Bフラグの値は常に1になります。
SO 入力ピンのハイからローへの遷移により、プロセッサのオーバーフロー ステータス ビットが設定されます。これは、外部ハードウェアへの高速応答に使用できます。たとえば、高速ポーリングBVCデバイス ドライバは、SO の立ち下がり遷移によってオーバーフローが設定されるまで、それ自体に分岐するBranch-on-oVerflow-Clear ( ) 命令を使用して、わずか 3 サイクルで 1 回ハードウェアをポーリングできます。Commodore 1541およびその他のCommodore フロッピー ディスクドライブは、シリアライザがディスク データの次のバイトを転送する準備ができたことを検出するためにこの手法を使用します。システムのハードウェアとソフトウェアの設計では、算術処理中に SO が発生して計算が中断されないようにする必要があります。
バリエーションと派生
6502 は、 MOS Technologyの 65xx シリーズ ファミリの中で最も多く生産されたバリエーションでした。
6501 と 6502 は 40 ピンDIPパッケージです。6503、6504、6505、および 6507 は 28 ピン DIP バージョンで、チップと回路基板のコストが削減されています。すべての 28 ピン バージョンでは、上位アドレス ピンの一部とさまざまな機能ピンの組み合わせを省略してピン数を減らし、それらの機能を利用できないようにしています。
通常、ピン数を 40 から 28 に減らすために省略される 12 本のピンは、3 本の未接続(NC) ピン、2 本の Vss ピンのうちの 1 本、クロック ピンのうちの 1 本、SYNC ピン、セット オーバーフロー (SO) ピン、マスク可能割り込みまたはマスク不可能割り込み (NMI)、および 4 本の上位アドレス ライン (A12 ~ A15) です。4 本のアドレス ピンを省略すると、外部アドレス指定可能範囲が 4 KB (6502 の 64 KB から) に減少しますが、内部 PC レジスタとすべての有効なアドレス計算は16 ビットのままです。
6507は、アドレス ライン A12 を含めるために両方の割り込みピンを省略し、8 KB の外部アドレス指定可能性を提供しますが、割り込み機能はありません。6507 は人気のAtari 2600ビデオ ゲーム コンソールで使用されました。このコンソールの設計では、8 KB のメモリ空間を半分に分割し、下半分をコンソールの内部 RAM と周辺機器に、上半分をゲーム カートリッジに割り当てています。そのため、Atari 2600 カートリッジのアドレス制限は 4 KB です (カートリッジにバンク切り替え回路が含まれていない限り、容量制限も同じです)。
6502 ベースの人気コンピュータの 1 つであるCommodore 64 は、6502 CPU を改良した6510を採用していました。6503~6505 や 6507 とは異なり、6510 は 40 ピンのチップで、内部ハードウェアとして、アドレス 0000 と 0001 にマップされた 6 ビットのパラレル I/O ポートが追加されています。6508も6510 と同様に内部ハードウェアとして、6510 の機能に似た 256 バイトのSRAMと 8 ビットの I/O ポートが追加されているチップです。これらのチップは 6502 と比べてピン数が減っていませんが、追加されたパラレル I/O ポート用に新しいピンが必要です。この場合、削除されたピンの中にアドレス ラインは含まれていません。
16ビット派生
Western Design Centerは、65C02の後継となる16ビットのスタティックコアのWDC 65C816 Sプロセッサを設計し、現在製造しています。W65C816Sは、 Apple IIGSコンピュータのコアであり、スーパーファミコンを動かすリコー5A22プロセッサのベースである65C816の新しいバリエーションです。W65C816Sには65C816に対する小さな改良が組み込まれており、新しいチップは以前のものとハードウェア的に互換性のある完全な代替品ではありません。これらの改良の中には、レジスタがデータを失うことなくどちらのフェーズでもクロックを停止できるスタティックコアへの変換がありました。電子機器販売店を通じて入手可能なW65C816Sは、2020年3月現在、公式には14MHz動作と定格されています。
ウェスタン デザイン センターは、 65(C)02 ピン互換パッケージに 64 キロバイトのアドレス空間を持つ 65C816 コアである65C802 も設計および製造しました。65C802 は 6502 ボードに後付けすることができ、電源投入時に 65C02 として機能し、「エミュレーション モード」で動作します。65C816 と同様に、2 つの命令シーケンスによって 65C802 が「ネイティブ モード」動作に切り替わり、16 ビットのアキュムレータとインデックス レジスタ、およびその他の 65C816 機能が公開されます。65C802 は広く使用されなかったため、製造は終了しました。
バグと癖
6502 にはいくつかのバグや癖があり、プログラミングする際にはそれらを考慮する必要がありました。
- 一部のKIM-1コンピュータに同梱されていたものなど、6502 の最も初期のリビジョンには、 ROR (メモリまたはアキュムレータを右に回転) 命令がありませんでした。これらのチップでは、後に ROR に割り当てられたオペコードの操作は、ステータス レジスタのキャリー ビットに影響を与えない ASL (算術左シフト) 命令です。当初、MOS は、コストに見合う価値がないと判断し、ROR を命令セットから意図的に除外しました。多くの顧客からの問い合わせに応えて、MOS は MCS6500 プログラミング マニュアルの第 2 版 (文書番号 6500-50A) で、1976 年から 6502 チップに ROR が搭載されることを約束しました。[49] [d]現在存在する 6502 チップの大部分は ROR 命令を備えています。これらには、1976 年以降に製造された Apple II や Commodore 64 シリーズなどの人気の完全組み立てマイクロコンピュータに元々搭載されていたすべての CPU が含まれます。
- NMOS 6502 ファミリには、ドキュメント化されていないさまざまな命令があり、チップ製造元によって異なります。6502 命令のデコードは、 256 個の使用可能なオペコードのうち 151個のみに定義されているハードワイヤードロジック アレイ (プログラマブル ロジック アレイに類似) に実装されています。残りの 105 個は、プロセッサのクラッシュ、2 つの有効な命令の連続実行、2 つの命令の奇妙な組み合わせの実行、または単に何もしないなど、奇妙で予測が難しい動作をトリガーします。一部のハードウェア設計者は、未定義のオペコードを使用して 6502 命令セットを拡張し、特定の未定義のオペコードがフェッチされたことを検出してプロセッサの外部で拡張操作を実行し、外部ハードウェアが拡張操作を処理している間に 6502 をアイドル状態にするために、ニュートラル (NOP のような) オペコードを 6502 に置き換えました。また、一部のプログラマーは、この機能を利用して、BRK命令の0xFFFEベクトルでインターセプトされる特別に書かれたソフトウェアで未実装のオペコードの機能を提供することで、6502命令セットを拡張しました。 [105] [106]未定義のオペコードはすべて、6502の拡張CMOSバージョンである65C02でNOP命令に置き換えられましたが、バイトサイズと実行時間は異なります。(それらのいくつかは実際にメモリ読み取り操作を実行しますが、その後データを無視します。)65C802/65C816では、256個のオペコードすべてが定義済みの操作を実行します。
- 6502 のメモリ間接ジャンプ命令 には、
JMP (<address>)多くのユーザーが欠陥だと考える直感に反する制限があります。<address>が16 進数の xxFF (つまり、 FFで終わる任意の単語)の場合、プロセッサは期待どおりに xxFF と xx00 に格納されているアドレスにジャンプせず、xxFFと xx00xxFF+1で定義されたアドレスにジャンプします(たとえば、は 10FF と 1100 に格納されているアドレスではなく、10FF と 1000 に格納されているアドレスにジャンプします)。 これは、ページ境界をまたいで間接ジャンプのターゲット アドレスを配置しないことで簡単に回避できます。MOS Technology MCS6500 プログラミング マニュアルには、これが 6502 の設計者の意図であったと考えられる理由が示されています。これは、必要に応じてキャリーを伝播するために条件付きで 1 クロック サイクルを追加するという、より複雑な動作を実装するために使用されるはずだったチップ上のスペースを節約するためです。 この表面的な欠陥は NMOS ライン全体に続きましたが、CMOS 派生製品では修正されました。JMP ($10FF) - ページ境界を越えた NMOS 6502 インデックス アドレッシングでは、ベース アドレス (インデックスが追加される) のページ内の無効なアドレスの余分な読み取りが行われます。この特性により、タイマーや IRQ フラグのクリア、I/O ハンドシェイクの送信など、読み取りに作用するハードウェアにアクセスすることで、ランダムな問題が発生する可能性があります。余分な読み取りは予測可能であり、このような問題を回避するために管理できますが、ハードウェアとソフトウェアの両方の設計に特別な注意を払う必要があります。この欠陥は NMOS ライン全体に存在していましたが、CMOS 派生製品では修正され、プロセッサは最後の命令バイトの余分な読み取りを行います。
- 6502 の読み取り、変更、書き込み命令は、1 回の読み取りサイクルと 2 回の書き込みサイクルを実行します。最初に、読み取られた変更されていないデータが書き戻され、次に変更されたデータが書き込まれます。この特性により、書き込みに作用するハードウェアに 2 回アクセスすることで問題が発生する可能性があります。この異常は NMOS ライン全体で継続していましたが、CMOS 派生製品では修正され、プロセッサは 2 回の読み取りと 1 回の書き込みサイクルを実行します。防御的プログラミングの実践では、通常、ハードウェア レジスタで読み取り/変更/書き込み命令を実行しないことでこの問題を回避します。
- N (結果が負)、V (符号ビットオーバーフロー)、Z (結果がゼロ)ステータスフラグは、プロセッサがBCDモードで算術演算を実行する場合、通常は意味がありません。これらのフラグは 10 進モードでは未定義であり、経験的に BCD ではなくバイナリの結果を反映していることがわかっています。この制限は CMOS 派生版では削除されましたが、10 進モードでの ADC または SBC 命令に 1 クロックサイクルが追加されました (65C816 を除く)。したがって、この機能は CMOS プロセッサと NMOS バージョンを区別するために使用できます (NMOS バージョンの文書化されていない動作に依存することによって)。[107]
- ハードウェア割り込みが発生したときに 6502 が BCD モードになっている場合、バイナリ モードには戻りません。この特性により、算術演算を実行する前に BCD モードをクリアしなかった場合、割り込みサービス ルーチン (ISR) に不明瞭なバグが発生する可能性があります。6502 のプログラミング マニュアルでは、ADC または SBC 命令を使用する場合、各 ISR で D フラグをリセットまたは設定する必要がありますが、人間のプログラマが誤ってこれを省略してバグが発生することがあります。たとえば、Commodore 64のKERNAL ではこのプロセッサ特性が正しく処理されず、 BCD 演算操作中にIRQ を無効にするか再ベクトル化する必要がありました。この問題は CMOS 派生製品でも対処され、リセットとすべての割り込みで D フラグが自動的にリセットされるようになりました。(この変更には、1 つの欠点があります。これは、すべての ISR が ADC または SBC を実行する前に D フラグを設定する必要があるため、10 進モードで連続して動作する [まれな] プログラムがわずかに長く遅くなることです。 )
- 6502 命令セットには、技術的にはソフトウェア割り込みである BRK (オペコード $00) が含まれています (モトローラ 6800およびARMプロセッサの SWI ニーモニックに似ています)。BRK は、プログラム実行を中断し、ソフトウェア開発中にテストとデバッグを行うためにマシン言語モニターを起動するために最もよく使用されます。BRK は、単純なジャンプ テーブルを使用してプログラム実行をルーティングするためにも使用できます ( Intel 8086および派生製品が番号によってソフトウェア割り込みを処理する方法に類似しています)。ただし、プロセッサが BRK 命令をフェッチしているときにマスク可能なハードウェア割り込みが発生すると、プロセッサの NMOS バージョンは BRK を実行できず、代わりにハードウェア割り込みのみが発生したかのように処理を続行します。この障害 (明白なハードウェア バグ) は、プロセッサの CMOS 実装で修正されました。この実装では、最初にハードウェア割り込みの ISR を呼び出し、次に BRK 命令を実行します。
- JSR (サブルーチンへのジャンプ) 命令と RTS (サブルーチンからの戻り) 命令を実行する場合、JSR によってスタックにプッシュされる戻りアドレスは、次の命令のアドレスではなく、JSR オペランドの最後のバイト (つまり、サブルーチン アドレスの最上位バイト) のアドレスです。これは、実際のコピー (プログラム カウンターからスタックへ、およびその逆) が、各命令の最後に発生するプログラム カウンターの自動増分前に行われるためです。[108]この特性は、コードが戻りアドレスを調べてコード ストリーム内のパラメーターを取得しない限り気付かれません ( ProDOS 8 テクニカル リファレンス マニュアルに記載されている 6502 プログラミング イディオム)。これは今日でも 6502 派生製品の特性として残っています。オリジナルの MCS6500 プログラミング マニュアルでは、この点を指摘し、その理由を説明しています。JSR では PC をプッシュする前に増分しないことで 1 クロック サイクルを節約できますが、RET 命令では、プルされた PC の遅延増分が他のステップと重複し、クロック サイクルは追加されません。設計どおり、JSR と RET には合計 12 クロック サイクルかかります。JSR が増分された PC をプッシュした場合、呼び出しと戻りには 13 クロック サイクルかかります。
- CPUの読み取りアクセスは、RDYピンを一時的にローに設定することで遅らせることができます。ただし、BRK命令の場合は最大3クロックサイクル連続してかかる書き込みアクセス中は、CPUは次の読み取りサイクルでのみ停止します。[109]この癖はCMOS派生製品や6510およびその派生製品では修正されました。
参照
- 6502 アセンブラのリスト
- MOS テクノロジー 6502 ベースのホーム コンピュータ
- トランジスタ数
- Apple II アクセラレータ
- cc65 – 6502 マクロアセンブラと C コンパイラ
注記
- ^ このような設計の一例としては、DMAを使用して6502とANTICビデオチップ間でメモリを共有するAtari 8ビットコンピュータが挙げられる。これは1つのフリップフロップで実装され、後にこれらのマシンで使用された6502のカスタムSallyバージョンに組み込まれた。フリップフロップにより、DMAが必要なときに6502のアドレスバスを分離できる74LS244バスドライバのペアが可能になった。[45]
- ^ プロセッサのオリジナルバージョンでは、OPコードは正しいROR命令ではないものの、まだ何かを実行していたため、オリジナルの6502にはROR命令にバグがあったという根強い神話が生じました。[50] [51] [52]
- ^ ab より正確には、これらのシステムはNTSC カラーバースト水晶を内部的に分割し、 315 ⁄ 176 Mhz = 1.78977 27 MHzを生成します。
- ^ モンスター6502.com で 6502 のトランジスタ化されたレプリカを作成した Eric Schlaepfer は、YouTube 動画「6502 Rotate Right Myth」(TubeTimeUS 提供) で、チャック・ペドルとビル・メンシュによれば ROR バグは存在しなかったと主張しています。代わりに、この命令は不要とみなされたため、まったく実装されませんでした。その後、Schlaepfer は 6502 の初期リビジョンと後期リビジョンのスクリーンショットを比較し、ROR 命令はチップの命令デコード、配線、実行部分のいずれにも存在しなかったことを証明しています。
参考文献
引用
- ^ 「MOS 6502 と世界最高のレイアウト担当者」swtch.com、2011 年 1 月 3 日。2014 年 9 月 8 日時点のオリジナルよりアーカイブ。2014 年8 月 9 日閲覧。
- ^ 「MOnSter6502 古典的なMOS 6502マイクロプロセッサの完全な動作するディスクリートトランジスタ(つまり、すべてが1つのチップに統合されていない)レプリカ」。monster6502.com。2017年。2017年5月12日時点のオリジナルからアーカイブ。 2017年5月1日閲覧。
- ^ ab William Mensch (1995年10月9日). 「Interview with William Mensch」(ウェブ動画)。Rob Walkerによるインタビュー。カリフォルニア州アサートン:Silicon Genesis Project、スタンフォード大学図書館。2016年3月4日時点のオリジナルよりアーカイブ。2023年12月22日閲覧。ウィリアム・メンシュ氏と司会者は、6502 マイクロプロセッサを両方とも「6502」と発音します。
- ^ 「Western Design Center (WDC) Home of 65xx Microprocessor Technology」www.westerndesigncenter.com。 2019年4月8日時点のオリジナルよりアーカイブ。2019年4月8日閲覧。
- ^ 「Motorola Sues MOS Technology」(PDF)。Microcomputer Digest。2 (6)。Cupertino CA: Microcomputer Associates: 1975年12月11日。 2009年7月4日時点のオリジナル(PDF)からアーカイブ。
- ^ Jenkins, Francis; Lane, E.; Lattin, W.; Richardson, W. (1973 年 11 月)。「 MOSデバイス モデリングによるコンピュータ実装」。IEEE Transactions on Circuit Theory。20 ( 6 )。IEEE: 649–658。doi :10.1109/tct.1973.1083758。ISSN 0018-9324 。著者は全員、モトローラの半導体製品部門に所属していました。
- ^ 「モトローラが8ビットでマイクロプロセッサ競争に参入」。エレクトロニクス。47 (5)。ニューヨーク:マグロウヒル:29-30。1974年3月7日。
- ^ モトローラ 6800 オーラルヒストリー (2008)、9 ページ
- ^ US3942047A、Buchanan、John K.、「MOS DC電圧ブースタ回路」、1976年3月2日発行、 2024年2月13日Wayback Machineにアーカイブ
- ^ US3987418A、Buchanan、John K.、「MOS集積回路マイクロプロセッサチップのチップトポグラフィ」、1976年10月19日発行、 2024年2月13日Wayback Machineにアーカイブ
- ^ モトローラ 6800 オーラルヒストリー (2008)、p. 8
- ^ メンシュ口述歴史 (1995) メンシュは 1966 年にテンプル大学で準学士号を取得し、その後アリゾナ大学に入学する前に Philco Ford で電子技術者として働きました。
- ^ US3968478A、Jr、William D. Mensch、「MOS インターフェース回路のチップ トポグラフィ」、1976 年 7 月 6 日発行、 2024 年 2 月 13 日にWayback Machineにアーカイブ
- ^ Donohue, James F. (1988 年 10 月 27 日)。「マイクロプロセッサの最初の 20 年間: その歴史」。EDN。33 ( 22A )。Cahners Publishing: 18–32。ISSN 0012-7515 。30 ページ。ベネットはすでに 6800 の開発に取り組んでいました。「彼は私を雇いました」とペドルはベネットについて語ります。「彼がすでに始めていた製品のアーキテクチャ サポート作業を行うためです」。… ペドルは言います。「モトローラは何度もそれを中止しようとしました。ベネットがいなければ、6800 は生まれなかったでしょうし、業界の多くも生まれなかったでしょう。」
- ^ US3975712A、Hepworth、Edward C.、Means、Rodney J.、Peddle、Charles I.、「非同期通信インターフェースアダプタ」、1976-08-17発行、 2024-02-13にWayback Machineでアーカイブ
- ^ Motorola (1976年8月5日). 「MotorolaのM6800ファミリーで先頭を走る」. Electronics . 49 (16). McGraw-Hill: 51. 2014年1月10日時点のオリジナルよりアーカイブ。 2012年6月4日閲覧。TRW、HP、RUSCO の 3 つの組み込みアプリケーションを示す広告。
- ^ モトローラ 6800 オーラルヒストリー (2008)、p. 89
- ^ 「それはトータルな製品ファミリーです」。エレクトロニクス。48 (1)。ニューヨーク:マグロウヒル:37。1975年1月9日。2012年11月11日時点のオリジナルよりアーカイブ。2012年6月4日閲覧。Motorola の広告では、周辺チップと開発ツールの完全なセットを強調しています。これにより、顧客の製品設計サイクルが短縮されました。
- ^ モトローラ 6800 オーラルヒストリー (2008) p. 18
- ^ 「モトローラのマイクロプロセッサセットは1MHz n-MOS」。制御エンジニアリング。21 (11):11。1974年11月。MC6800 マイクロプロセッサの価格は 360 ドルでした。MC6850 非同期通信インターフェイス アダプタ (ACIA) は、1975 年第 1 四半期に導入される予定でした。
- ^ Kaye, Glynnis Thompson 編 (1984). A Revolution in Progress: A History to Date of Intel (PDF) . Intel Corporation. p. 14. 注文番号:231295. 2012年10月23日時点のオリジナル(PDF)からアーカイブ。 2016年12月30日閲覧。「島は約 1 年で 8080 を実装し、新しいデバイスは 1974 年 4 月に 360 ドルで発売されました。」
- ^ 「モトローラがM6800ドライブを搭載」。エレクトロニクス。48 (8)。ニューヨーク:マグロウヒル:25。1975年4月17日。「販売代理店には M6800 ファミリーが入荷しており、同部門ではファミリーの初期部品 6 点とアプリケーションおよびプログラミング マニュアルを含む入門キットを 300 ドルで提供しています。」
- ^ インタビュー2014、52:30。
- ^ インタビュー2014、54:45。
- ^ Bagnall (2010)、11 ページ。Peddle の新しい提案は、6800 の開発者にとって絶好のタイミングでした。「彼らはテキサス州オースティンに行きたくなかったのです」と Mensch 氏は説明します。
- ^ インタビュー2014、54:40。
- ^ インタビュー2014、55:50。
- ^ウォーラー、ラリー(1975 年11月13日)。「モトローラ、スキッドの終結を目指す」。エレクトロニクス。48 (23)。ニューヨーク:マグロウヒル:96-98。概要: 半導体製品は、集積回路と個別部品の 2 つの部分に分割されました。過去 4 四半期の半導体損失は 3,000 万ドルを超えました。販売組織は顧客のニーズに対する敏感さを失い、「値下げへの対応が遅れたため、顧客は他で購入しました」。技術的な問題が IC 生産を悩ませました。問題は「設計ではなく、チップとダイの歩留まりにあります」。問題は解決されました。MC6800 マイクロプロセッサは「1974 年 11 月に登場しました」。
- ^ インタビュー2014、56:30。
- ^ インタビュー2014、55:00。
- ^ バグナル(2010)、13ページ。
- ^ MOSテクノロジー (1974年11月14日). 「最初のシングルチップ科学計算機アレイ」.エレクトロニクス. 47 (23). McGraw-Hill: 90–91. 2014年1月10日時点のオリジナルよりアーカイブ。 2012年6月4日閲覧。
- ^ インタビュー2014、57:00。
- ^ インタビュー2014、58:30。
- ^ Cass, Stephen (2021年9月16日). 「6502プロセッサの共同制作者とのQ&A」IEEE Spectrum。2021年9月20日時点のオリジナルよりアーカイブ。2021年9月20日閲覧。
- ^ Ho, Joshua (2014年10月9日). 「半導体物理、技術、産業入門」Anandtech . 2020年2月24日時点のオリジナルよりアーカイブ。2020年2月24日閲覧。
- ^ Motorola 6800オーラルヒストリー(2008年)、10ページ。
- ^ abc Cushman 1975、40ページ。
- ^ 「8080Aマイクロプロセッサ - DIP 40パッケージ」。CPU World。2020年9月15日時点のオリジナルよりアーカイブ。2020年2月24日閲覧。
- ^ ab Cushman 1975、38ページ。
- ^ ab 「ムーアの法則マイルストーン」IEEE 2015年4月30日。2020年2月24日時点のオリジナルよりアーカイブ。 2020年2月24日閲覧。
- ^ Bagnall (2010)、19 ページ:「Paivinen は Peddle に n チャネル プロセスの準備を整えると約束しました。彼は約束を守りました。」
- ^ abc Cushman 1975、36ページ。
- ^ abc Cushman 1975、41ページ。
- ^ Purcaru, John (2014).ゲーム vs. ハードウェア. PC ビデオゲームの歴史: 80 年代. p. 317.
- ^ インタビュー 2014、1:01:00。
- ^ インタビュー 2014、1:02:00。
- ^ インタビュー 2014、1:02:30。
- ^ ab ファイル:MCS650x 命令セット.jpg
- ^ 「初期のMOS 6502におけるRORバグの測定 – pagetable.com」。2023年3月21日時点のオリジナルよりアーカイブ。2023年2月25日閲覧。
- ^ “セラミック 6502 の ROR バグをテストする方法 | Applefritter”. 2023-02-25 にオリジナルからアーカイブ。2023-02-25に閲覧。
- ^ 「6502 右回転神話」YouTube。2023年2月25日時点のオリジナルよりアーカイブ。2023年2月25日閲覧。
- ^ 「マイクロプロセッサ ラインは 4、8、16 ビットを提供」。エレクトロニクス。48 ( 15 )。ニューヨーク: McGraw-Hill: 118。1975 年 7 月 24 日。この記事は、6501 と 6502 に加えて、4K のメモリしか扱えない 28 ピン バージョンについて取り上げています。また、「Peddle が疑似 16 と呼ぶ設計」などの将来のデバイスについても取り上げています。
- ^ シュガーマン、ロバート (1975 年 8 月 25 日)。「国には 20 ドルの高性能マイクロプロセッサが必要か?」(PDF)。EE Times 。ニューヨーク州マンハセット: CMP Publications: 25。2007年 2 月 3 日時点のオリジナル(PDF)からアーカイブ。2008 年2 月 5 日に閲覧。
- ^ フィルストラ、ダニエル(1975年11月)。「モトローラの息子(または20ドルのCPUチップ)」。バイト1(3)。ピーターボロ、ニューハンプシャー州:グリーンパブリッシング:56-62 。6502 と 6800 マイクロプロセッサの比較。著者は 1975 年 8 月に MOS Technology を訪問しました。
- ^ 「第3世代マイクロプロセッサ」(PDF)。Microcomputer Digest。2 (2)。Cupertino、CA: Microcomputer Associates : 1–3。1975年8月。 2009年7月4日時点のオリジナル(PDF)からアーカイブ。 2009年11月27日閲覧。
- ^ 「MOS 6501マイクロプロセッサがすべてを凌駕」。エレクトロニクス。48 ( 16)。ニューヨーク:マグロウヒル:60-61。1975年8月7日。
- ^ 「MOS 6502 低コストで高性能なマイクロプロセッサ ファミリの 2 番目」。コンピュータ。8 (9) 。IEEEコンピュータ ソサエティ: 38–39。1975 年 9 月。doi :10.1109/CM.1975.219074。2021 年 2 月 24 日時点のオリジナルよりアーカイブ。2012 年6 月 4 日閲覧。
- ^ バグナル(2010)、33-35頁。
- ^ Signetics (1975年10月30日). 「最も使いやすいマイクロプロセッサ」. Electronics . 48 (22). McGraw-Hill: 114–115. 2015年11月20日時点のオリジナルよりアーカイブ。 2015年11月20日閲覧。
- ^ Motorola (1975年10月30日). 「All this and unbundled $69 microprocessor」. Electronics . 48 (22). McGraw-Hill: 11. 2011年12月15日時点のオリジナルよりアーカイブ。 2010年8月8日閲覧。MC6800 の 1 個あたりの価格は175 ドルから69 ドルに値下げされました。50 個から 99 個までの以前の価格は125 ドルでした。
- ^ Waller, Larry (1975 年 11 月 13 日)。「ニュース速報: Motorola がマイクロプロセッサの敵を阻止しようとしている」。エレクトロニクス。48 ( 23 )。ニューヨーク: McGraw-Hill: 38。「モトローラは先週、ペンシルバニア州ノリスタウンのMOSテクノロジー社によるMCS6500を含むマイクロプロセッサ製品の製造と販売を差し止める即時差し止め命令を求めると発表した。」(この号は11月7日に発行されました。)
- ^ モトローラは、6800マイクロプロセッサファミリに関して以下の米国特許を取得しました: 3962682、3968478、3975712、3979730、3979732、3987418、4003028、4004281、4004283、4006457、4010448、4016546、4020472、4030079、4032896、4037204、4040035、4069510、4071887、4086627、4087855、4090236、4145751、4218740、 4263650.
- ^ Bagnall (2010)、p. 53–54。「彼 [Mike Janes] は 6800 のオリジナルの成果をすべて持っていて、それを Motorola から隠していた…
- ^ 「モトローラ、MOSテクノロジー、特許訴訟を和解」。エレクトロニクス。49 (7)。ニューヨーク:マグロウヒル:39。1975年4月1日。「ペンシルバニア州ノリスタウンの MOS Technology Inc. は、MCS6501 マイクロプロセッサを市場から撤退させ、Motorola Inc. に20 万ドルを支払うことに同意しました...」 「MOS Technology と 8 人の元 Motorola 従業員は、Motorola が機密であると主張する文書を裁判所命令に基づいて返却しました。」 「... 両社は、マイクロプロセッサ分野の特許に関する相互ライセンスに同意しました。」
- ^ バグナル(2010)、55-56ページ
- ^ 「合併と買収」。ミニマイクロシステムズ。9 ( 11)。カーナーズ:1976年11月19日。「コモドール・インターナショナルは、MOSテクノロジー(ペンシルバニア州ノリスタウン)を買収する。これにより、設立6年の半導体企業は、差し迫った危機から救われる。」
- ^ ab Goodwins, Rupert (2010年12月4日). 「Intelの犠牲者:巨大企業を倒す可能性のある8社」ZDNet。 2013年5月5日時点のオリジナルよりアーカイブ。 2012年3月7日閲覧。
- ^ Reimer, Jeremy. 「パーソナルコンピュータ市場シェア: 1975-2004」。2012年6月6日時点のオリジナルよりアーカイブ。2009年7月17日閲覧。
- ^ 「コモドール64コンピューターは何台売れたか?」。2016年3月6日時点のオリジナルよりアーカイブ。2011年2月1日閲覧。
- ^ 「Apple IIe Enhancement Kit - Peripheral - Computing History」。www.computinghistory.org.uk。2020年8月8日時点のオリジナルよりアーカイブ。 2023年10月23日閲覧。
- ^ “4. CPU/ROM”. www.monlynx.de . 2023年9月20日時点のオリジナルよりアーカイブ。2023年10月23日閲覧。
- ^ Corder, Mike (1999 年春)。「Big Things in Small Packages」。Pioneers ' Progress with picoJava Technology。Sun Microelectronics。2006 年 3 月 12 日時点のオリジナルよりアーカイブ。2012年4 月 23 日閲覧。
最初の 6502 は 8 ミクロン技術で製造され、1 メガヘルツで動作し、最大メモリは 64k でした。
- ^ 「6502 システムでバス共有 / DMA を実装する方法」。2020 年 8 月 15 日時点のオリジナルよりアーカイブ。2020 年 9 月 30 日閲覧。
- ^ 「プログラミング モデル MCS650X」。MOSマイクロコンピュータ プログラミング マニュアル。MOS TECHNOLOGY, INC. 1976 年 1 月。
- ^ Anderson, JS (2012-08-21). マイクロプロセッサテクノロジー. Routledge . p. 153. ISBN 9781136078057。
- ^ 「ステータスフラグ」。NESdev Wiki 。 2024年6月11日閲覧。
- ^ 「8080A/8080A-1/8080A-2 8ビットNチャネルマイクロプロセッサ」(PDF)。Intel。2021年11月15日時点のオリジナルよりアーカイブ(PDF) 。 2021年11月16日閲覧。
- ^ abc Parker, Neil. 「6502/65C02/65C816命令セットの解読」。Neil ParkerのApple IIページ。2019年7月16日時点のオリジナルよりアーカイブ。 2019年7月16日閲覧。
- ^ 6502 命令セットは 2018-05-08 にWayback Machineにアーカイブされています。
- ^ NMOS 6502 オペコード。2016 年 1 月 14 日にWayback Machineにアーカイブされました。
- ^ Breaking NES Book – 6502 Core (PDF) (B5 版). 2022-06-24. pp. 61–62. 2024-04-12 にオリジナルからアーカイブ(PDF)されました。2023-12-24に取得。
割り込みの到着はフラグ B に反映され、その出力 (B_OUT) によってプロセッサは BRK 命令を実行するよう強制されます...
- ^ “6502 BRK and B bit”. VisualChips . 2021年4月5日時点のオリジナルよりアーカイブ。2021年5月15日閲覧。
- ^ "FLAGS". ogamespec . 2021-05-15閲覧。
B_OUT; 内部データバス (DB)
- ^ ab 「FAQ 400 800 XL XE: SALLY、ANTIC、CTIA/GTIA/FGTIA、POKEY、FREDDIEとは何ですか?」。2020年7月19日時点のオリジナルよりアーカイブ。
AtariのエンジニアによってSALLYと名付けられましたが、[サポートドキュメントでは]「6502(改造)」、「6502改造」、「カスタム6502」、または「6502C」と呼ばれています。 [..] SALLY 6502チップには「6502C」とマークされることはありませんが、UMC UM6502I以外は常に[マーク] C014806です。 [..] [その他の]「6502C」とマークされたチップ[..]はAtari「6502C」ではなく、[標準6502] 4MHzで認定されています
- ^ 「6502 (改造) CPU マイクロプロセッサ」。ATARI 1200 XL ホームコンピュータ フィールド サービス マニュアル。ATARI。1983 年 2 月。
- ^ abcdefg 1982 MOS テクノロジー データ カタログ (PDF は bitsavers.org から取得)
- ^ “AtariAge: A2600クローン、6591チップのピン配置”. 2015年8月3日. 2020年8月5日時点のオリジナルよりアーカイブ。2019年7月22日閲覧。
- ^ “Hackaday: The teensiest Atari 2600 ever”. 2012年4月7日. 2019年7月22日時点のオリジナルよりアーカイブ。 2019年7月22日閲覧。
- ^ “Rockwell R6511Q”. 2020年9月15日時点のオリジナルよりアーカイブ。2020年4月30日閲覧。
- ^ “Rockwell R6500/11、R6500/12、R6500/15 ワンチップマイクロコンピュータ”. 1987年6月7日. 2020年8月4日時点のオリジナルよりアーカイブ。2020年4月30日閲覧。
- ^ Randy M. Dumse. 「R65F11 および F68K シングルチップ Forth コンピューター」。[1] [永久リンク切れ ] [2] 2014 年 12 月 2 日にWayback Machineにアーカイブされました 1984 年。
- ^ Ed Schmauch. 「コンピュータ化された腐食監視システム」[永久リンク切れ ] . 1986年。
- ^ Lawrence P. Forsley. 「Embedded systems: 1990 Rochester Forth Conference: June 12 – 16th, 1990 University of Rochester」Wayback Machineに 2015-03-25 にアーカイブ。p. 51。
- ^ Rockwell. 「RSC-Forth ユーザーズマニュアル」Wayback Machineで 2013-12-07 にアーカイブ。1983 年。
- ^ 「Rockwell R65F11 R65F12 Forth ベースのマイクロコンピューター」(PDF) 1987年6月。 2020年8月4日時点のオリジナルよりアーカイブ(PDF) 。2020年4月28日閲覧。
- ^ ザックス、ロドニー。6502 のプログラミング。 p. 348.
- ^ 「Arquivo.pt」(PDF) 。 2016年5月15日時点のオリジナル(PDF)からアーカイブ。 2014年10月26日閲覧。
- ^ 「rockwell :: dataBooks :: 1985 Rockwell Data Book」 – インターネットアーカイブ経由。
- ^ 「East-European Home-Computer: Bulgaria」. HCM: Home Computer Museum . 2006年7月1日時点のオリジナルよりアーカイブ。2020年10月3日閲覧。
- ^ ab http://plus4world.powweb.com/hardware/MOS_75018501 2020-02-20に Wayback Machineでアーカイブハードウェア – MOS 7501/8501
- ^ https://ist.uwaterloo.ca/~schepers/MJK/7501.html 2021-07-19にWayback Machineにアーカイブされました CPU 7501 / 8501
- ^ サービスマニュアル C-128/C128D コンピュータ、Commodore Business Machines、PN-314001-08、1987 年 11 月
- ^ 「VL65NC02」。IC データシート: 1988 VTI ASIC。pp. 225–238。
- ^ Moser, Carl W. (1979 年 1 月)。「実装されていない 6502 オペコードにトラップ ベクターを追加する」(PDF)。Dr . Dobb's Journal of Computer Calisthenics and Orthodontia。第 31 号。カリフォルニア州メンロ パーク。32 ページ。2016年 6 月 11 日のオリジナルからアーカイブ(PDF) 。2017 年 1 月 7 日に取得。
- ^ Harrod, Dennette A. (1980 年 10 月)。「6502 にマイクロプログラム可能な命令が追加」。BYTE。第 5 巻、第 10 号。ニューハンプシャー州ピーターボロ。282 ページ。2017 年 1 月 7 日閲覧。
- ^ Draco (1997年6月19日). 「65c02、6502、65816 ??? CPUは売れているが、誰が買うのか...」 2008年1月2日時点のオリジナルよりアーカイブ。
- ^ Andrews, Mark (1984). "6". Atari Roots – Atari アセンブリ言語ガイド。Datamost, Incorporated. ISBN 0-88190-171-7. 2008年4月24日時点のオリジナルよりアーカイブ。2008年6月14日閲覧。
- ^ 「1.4.1.2.8 RDY--Ready (p.37)」。6500 シリーズ ハードウェア マニュアル、第 2 版。MOS Technology, INC. 1976 年 1 月。
文献
- ペドル、チャック (2014 年 6 月 12 日)。「チャック・ペドルの口述歴史」(インタビュー)。ダグ・フェアベアンとスティーブン・ダイアモンドによるインタビュー。2021 年 11 月 18 日時点のオリジナルよりアーカイブ。
- バグナル、ブライアン(2010年)。『コモドール、危機に瀕した企業』(第2版)。マニトバ州ウィニペグ:バリアント・プレス。ISBN 978-0-9738649-6-0。
- ベネット、トーマス、エキス、ジョン、ラティン、ウィリアム(ビル)、ラベル、ジェフ(2008年3月28日)。「モトローラ6800オーラルヒストリーパネル」(PDF) (インタビュー)。デイビッド・ローズによるインタビュー。 2021年4月13日時点のオリジナルからアーカイブ(PDF) 。 2021年1月30日閲覧。
- Cushman, Robert H. (1975 年 9 月 20 日)。「第 2 1/2 世代 μP -ローエンド ミニと同様のパフォーマンスを発揮する 10 ドルの部品」(PDF)。EDN。20 ( 17)。ボストン: Cahners Publishing: 36–42。2016 年 4 月24日のオリジナル(PDF)からアーカイブ。
- ウィリアム・メンシュ・スタンフォードとシリコンバレー・プロジェクトへのインタビュー、1995年10月9日。トランスクリプト
さらに読む
- データシートとマニュアル
- 6500 シリーズ データシート、MOS テクノロジー、12 ページ、1976 年。
- 6500 シリーズ ハードウェア マニュアル、Wayback Machineに 2011-09-13 にアーカイブ済み、第 2 版、MOS テクノロジー、182 ページ、1976 年。
- 6500 シリーズ プログラミング マニュアル、Wayback Machineに 2011-09-13 にアーカイブ済み、第 2 版、MOS テクノロジー、262 ページ、1976 年。
- 書籍
- 6502 アプリケーションブック; 第 1 版; Rodnay Zaks ; Sybex; 281 ページ; 1979 年; ISBN 978-0895880154 . (アーカイブ)
- 6502 アセンブリ言語プログラミング; 第 2 版; Lance Leventhal; Osborne/McGraw-Hill; 650 ページ; 1986 年; ISBN 978-0078812163 . (アーカイブ)
- 6502 アセンブリ言語サブルーチン; 第 1 版; Lance Leventhal および Winthrop Saville; Osborne/McGraw-Hill; 550 ページ; 1982 年; ISBN 978-0931988592。(アーカイブ)
- 6502 ゲーム; 初版; Rodnay Zaks; Sybex; 292 ページ; 1980 年; ISBN 978-0895880222 . (アーカイブ)
- 6502 ユーザーズマニュアル; 第 1 版; Joseph Carr; Reston; 288 ページ; 1984 年; ISBN 978-0835970020 . (アーカイブ)
- Advanced 6502 Programming ; 初版; Rodnay Zaks; John Wiley & Sons; 292 ページ; 1982 年; ISBN 978-0895880895 . (アーカイブ)
- 初心者のためのマシン言語 - パーソナルコンピュータ マシン言語プログラミング Atari、VIC、Apple、C64、PET コンピュータ用; 第 1 版; Richard Mansfield; Compute! Publications; 350 ページ; 1983; ISBN 978-0942386110 。 (アーカイブ) 2016-08-10 にWayback Machineでアーカイブ
- Programming the 6502 ; 第 4 版; Rodnay Zaks; Sybex; 408 ページ; 1983 年; ISBN 978-0895881359 . (アーカイブ)
- 65816 のプログラミング- 6502、65C02、65802 を含む;第1 版; David Eyes および Ron Lichty; Prentice Hall; 636 ページ; 1986 年; ISBN 978-0893037895 (アーカイブ)
- マイクロプロセッサとアセンブリ言語; トルコ語; 第 7 版; Nurettin Topaloglu; Seckin Yayinevi; 328 ページ; 2021 年; ISBN 978-975-02-6663-8。
- 参照カード
- 6502 マイクロプロセッサ インスタント リファレンス カード; James Lewis; Micro Logic; 2 ページ; 1980 年。(アーカイブ) 2019 年 9 月 4 日にWayback Machineにアーカイブされました。
外部リンク
- 6502.org – 6502 マイクロプロセッサのリソース 2020-11-29 にWayback Machineリポジトリにアーカイブされました
- MOS テクノロジーの台頭と 6502 – Commodore アーカイブ
- 650x 情報 2020-03-11 にWayback Machineにアーカイブ– MOS とセカンドソース チップの簡潔な説明、写真、cpu-collection.de に掲載
- mdfs.net – 6502 命令セット
- Clever、Eric。「6502 – 最初の RISC µP」。2012 年 5 月 24 日時点のオリジナルよりアーカイブ。
- Harrod, Dennette A. (1980 年 10 月)。「6502 がマイクロプログラム可能な命令を搭載」。Byte。第 5 巻、第 10 号。McGraw Hill。282~ 285 ページ。ISSN 0360-5280。2006 年 5 月 25 日時点のオリジナルからアーカイブ。2006年 5 月 14 日閲覧。
- シミュレーター、エミュレーター
- JavaScript で書かれたオンライン 6502 互換アセンブラおよびエミュレーター。2011-02-08 にWayback Machineでアーカイブされました。
- 6502 個のソフトウェア エミュレーターのリスト 2020-09-19 にWayback Machineにアーカイブされました– Zophar's Domain
- Windows 用 6502 シミュレーター 2004-12-04 にWayback Machineでアーカイブ– Atari Gaming Headquarters
- 6502 CPU の視覚的トランジスタレベルシミュレーション 2011-03-14 にWayback Machineでアーカイブ
- MCL65 6502 CPU コア、C コード(GitHub上) – MicroCore Labs
- ボード
- グラントの 7/8 チップ 6502 ボード 2022-06-06 にWayback Machineでアーカイブされました
- 6502 マイクロプロセッサ トレーニング ボード 2019-07-14 にWayback Machineでアーカイブされました
- 独自の KIM-1 トレーニングボードを構築する 2019-07-14 にWayback Machineでアーカイブ– KIM-1を参照
- GitHub上の 6502 ホーム コンピューター
- PE6502 シングルボードコンピュータ 2020-05-03 にWayback Machineでアーカイブされました
- GitHub上の BE6502 シングルボードコンピュータ– Ben Eater のビデオに基づく
- プログラマブルロジック
- cpu6502_tc 6502 CPU コア – VHDL ソースコード – OpenCores
- ag_6502 6502 CPU コア – Verilog ソースコード 2020-08-04 にWayback Machineでアーカイブ– OpenCores
- M65C02 65C02 CPU コア – Verilog ソースコード 2020-08-04 にWayback Machineでアーカイブ– OpenCores
- GitHub上の MCL65 6502 CPU コア– Verilog – MicroCore Labs
