TTLのみでコンピュータを自作する

本サイトは1970年代にオリジナルCPUの設計と、そのCPUを使ったコンピュータの自作を夢見ていた青年(当時)が40年の月日を経て、その夢に再挑戦した実録集です。

TTLコンピュータの部品でチェスをする
本サイトは「TTLで作るコンピュータ 8bit編」です
2012年の新作「TTLで作るコンピュータ 16bit編」は、
http://retrof.jpn.org/R16/ にて仮公開を開始しました

TTLコンピュータ1号機の作成記録です

2011-12-01  2011年9月以降の記事を新サイトへ移行
2011-08-25 1号機完成の御礼を本頁左上にUP 
2011-08-20 ハードウエア完成宣言を行う。 (完成式典の料理はビール2本と焼鳥5本) 
 もちろんこれで終わりではありません。頭の中は新作の構想で溢れかえっております

2011-08-17 試験編第13話更新 ← クロックを750KHz→1.8MHzUPしました。
2011-08-16 試験編第13話仮公開 クロックの倍速化への挑戦を始めました。
2011-08-14 本頁にRETROF-8のPCBの完成画像(レイアウトコメント付)をUpしました。
2011-08-13 回路図を現状に一致するように大幅更新(ついでに、命令一覧表を付加)
2011-08-12 円周率編第4話公開 人間プリプロセッサマクロ展開を行ってみました。
2011-08-09 円周率編第3話公開 8bitの変数のみで円周率を150桁求めるプログラムを公開。
2011-08-07 試験編第12話完結 ← 試験完了。ナイトライダーの機械語プログラムを公開。
2011-08-06 本頁上部にナイトライダープログラムの実行結果(動画)をUpしました
2011-08-05 円周率編第2話公開 加減算のみで円周率を150桁求めるプログラムを公開。
2011-08-04 円周率編第1話更新 Cプログラムをヂヂィの意地で150桁算出に改良しました。
2011-08-02 試験編第12話更新 ← なんとかトラブルのリカバリ(HW修正)を終えました。
2011-07-31 試験編第12話 ← 仮公開中なるもトラブル発生中です。
2011-07-30 円周率編公開開始。WindowsとC言語でアルゴリズム検証中。C++ソースを公開
2011-07-26 試験編第11話公開。存在価値を再考しつつもAND,OR,XORの動作を確認
2011-07-24 試験編第10話公開。SUB命令と条件付ジャンプ命令の動作を確認
2011-07-23 キャリー保存の悲劇とリカバリを公開。JKの都市伝説を公開
2011-07-18 8bit機に特化した円周率算出アルゴリズムを考え始める。(本欄直下の記事参照)
2011-07-16 試験編第9話公開。ADD命令とキャリーフラグの動作を確認
2011-07-15 試験編第8話公開。LDI,LDの2命令の動作を確認
2011-07-12 試験編第6話、第7話公開。NOP,JMP,ST,IN,HALTの5命令のみ動作中
2011-07-10 本欄の真下の記事に「手動クロック」「LEDキャップ」へのリンクを張りました。
2011-07-02 失敗編・リカバリ編に「復活、HALT命令」を追加、新規公開しました
2011-07-01 コラム「NOP命令の都市伝説」を公開しました
2011-06-26 試験編第5話「全命令空間をオシロで観測」を公開しました
2011-06-19 本頁に最新画像を追加(今週はヤボ用で多忙に付、文章の追加公開できず)
2011-06-12 試験編第4話「インストラクションデコーダ」を公開しました
         1週間以上悩んだトラブル「激熱TTL,74ALS573との激闘」を初公開
2011-06-04 動作原理編を新設しました「失敗談Best10」に新3位を挿入。
2011-05-29 「SRAMとプログラムカウンタ」を公開。「失敗談Best10」に3位,5位を挿入。
2011-05-28 「クロック周辺」書き終えました。「プログラミングはDMA」を公開しました
         「失敗談」を新規公開。 記事が増えたので本サイトのツリー構造を全面変更。
2011-05-22 プログラミング編書き始めました。試験編第2話(現在進行中)を公開しました。
2011-05-21 掲示版開設しました。「ゴム足装着」と「BUS占有」の話を公開しました
2011-05-15 「TTL間の配線方法」と「PCBの穴あけ方法を考える」をUPDATE
2011-05-14 「OOでPCBパターンを描画する」と「PCBの穴あけ方法を考える」を書きかけ、未校正のままとりあえず公開、後日手直しします。(本頁左のサイトマップから入れます)
2011-05-08 「プリント基板も当然自作です」と「PCBの露光現像、エッチング」を公開
2011-05-07 プリント基板の露光とエッチングを終える
2011-05-05 プリント基板のパターンをインクジェットプリンタで透明フィルムに無事印刷。
2011-05-04 プリント基板のパターンを書き終えました。
2011-04-30 本ぺージに書きかけのプリント基板のパターンを掲載(←5月4日、 削除しました)
「TTL間の配線方法」のページを公開、「使用した部品の詳細解説」のコーナーを新設し公開
2011-04-24 「インストラクションデコーダ」を書き終え、「CPUを自作する夢を追う日々」に画像と文書を追加、「回路図の解説」を新設し全回路図(未校正)と全命令(決定稿)を仮公開。
2011-04-17 回路図の清書作業(下記画像参照)に注力中に付、各頁の更新が止まってます。
2011-04-10 回路図を清書開始、とPCBパターン図を作成中。
2011-04-03 「インストラクションデコーダ」を加筆。でもまだ途中。
2011-03-27 「インストラクションデコーダ(と近況報告)」を途中まで書いた。
2011-03-20 「タイミングジェネレータ」の頁を追加
2011-03-13 「ALU用TTL」と「自作TTLケース」の頁を追加
2011-03-12 「プログラムカウンタ」の頁と本頁(トップ頁)を追加。
2011-03-10 「TC55257PL-10を主メモリに」を追加
2011-03-06 「CPUアーキテクチャ設計前編・後編」を追加 
2011-03-03 「SN74181の内部は芸術作品」を追加
2011-02-12 「TTLとLEDの接続の都市伝説」等、3頁を一気に執筆しアップ
2011-02-10 東京都の郊外の店でSN74LS382の在庫を発見。残り10個全てを買い占める
2011-01-01 長年の夢であったTTLコンピュータの作成を決心する

RETROF-8は2011年8月20に無事完成しました。

20個TTL(Transistor-Transistor-Logic)で、単なるストアードプラグラムの実験機ではなく、オセロゲームの相手や円周率の計算もできる本格的なコンピュータを自作するという「超おバカな計画」の実録です。


右の動画の詳細は試験編12話の「out命令の試験結果」
を参照願います。


PCB(Printed Circuit Board)も自作です。アートワークは専用ソフトではなく一般のドローソフトで作成しました。上記動画はアキュムレータの値をLEDに表示する機械語命令(OUT命令)の試験中の画像です。この試験の実行に達するまでには数多の回路修正があり、自作PCBはカッターでの切断跡やジャンパー線だらけです。途中で製作を投げ出そうと思ったことも1度や2度ではありませんでした。

本サイトではTI(Texas Instruments)社の74シリーズ(原則74LSシリーズ、入手困難品は74ALSシリーズも併用)をTTLと称しています。入力ピンが未接続の場合はHとみなされる特性を多用していますので、CMOS(Complementary Metal Oxide Semiconductor)に置き換える場合はプルアップ抵抗の挿入等の雑多な修正が必要です。

加減算命令のみで円周率100桁を求めることが可能であることを実証

円周率の計算

詳しくは円周率編第4話をご参照ください

西暦2011年8月20日遂に完成、40年前の夢がやっと叶いました

最初の部品を買ったのが2月10日。長くて短かった190日でした。

全命令の動作を確認し、RETORO-FUTUREの名に相応しい昭和の香りがする結束ひもを使って基板上のワイヤーをバインドしたのが8月7日、更に8月17日にはクロックを750KHzから1.8MHzにUPする事に成功。その後、外気温50℃での連続運転試験もパス。8月20日をRETROF-8の誕生日としました。

TTLコンピュータ、RETROF8のPCBレイアウト

7月10日正午

RETROF-8 (TTLコンピュータ)2011/7/10 全ハンダ付完了

JMPとHALT命令が動作。手動クロック発生回路の作成(左の写真の下部に写っている装置)や試験用LEDを追加して、クロック単位で内部の状態を確認しています。

時々、命令認識が異常になることは突き止めましたが、再現性が不安定で、かつ、今週は「冠婚葬祭や展示会」が大量発生し、製作時間が殆ど取れず実質的な進捗は無し。これから一気に挽回予定です。


7月2日午前11時

RETROF-8 (TTLコンピュータ)2011/7/2 全TTLソケットのハンダ付完了

ALUとアキュムレータは未実装ですが、ソケットは全てハンダ付けを完了しました。不具合で動かなかった、JMP命令とHALT命令も完璧に動く様になりました。

無条件ジャンプの不具合はアドレスバスに対応するPCBパターンの断線でした。また不可能と思われたHALT命令の修復に関しては、詳細を「復活、HALT命令」にまとめてUPしました。


6月26日午後1時

RETROF-8 (TTLコンピュータ)ハンダ面

ハンダ付は先週から全く進んでません。ALUとアキュムレータも未実装のままです。無条件ジャンプ命令の動きが不安定で原因究明に苦しんでいるのが作業遅延の原因です。

先週と同じ写真をアップしてもつまらないので、ハンダ面を撮影してみました。今の所ハンダ面は配線修正用のジャンパー線はありませんが、ジャンパー線の登場も時間の問題かもしれません。


6月19日午後4時

RETROF-8 (TTLコンピュータ)全景 2011-6-19

ALUとアキュムレータ以外は実装が完了。主な箇所の波形をオシロで観察するためにクリップを接続し、オシロスコープでの波形確認作業中です。

インストラクションレジスタのREAD信号昔の2現象オシロで、複数個所の信号を観察するのは大変疲れます。 (誰か16chのデジタルオシロをタダで譲ってください)


6月12日午前0時

RETROF-8 (TTLコンピュータ)全景 2011-6-11

74LS02と74LS32を追加し、インストラクションデコーダ(ID)部分が完成。ALUやアキュムレータが未実装のため、まだプログラムは実行できませんが、命令に応じてIDからの信号が変化する所まで確認しました。

「LEDドライバの74LS573が異常発熱する」というトラブルがあり、原因究明に四苦八苦。この顛末も失敗談編に同時アップ。


6月4日午後1時

RETROF-8 (TTLコンピュータ)全景 2011-6-4

中央に縦に3つ並んでいるのがプログラムカウンタに用いる74ALS569です。この実装は5月29日に行ったのですが、カウンタが突然変な値になったり、メモリの書き込みもおかしくなったりで、その後の1週間はこのトラブル解決に費やしました。

このトラブルは試験編(3)と「失敗談」に詳細UP済


5月29日午前5時

RETROF-8 (TTLコンピュータ)全景 2011-5-29

やっとS-RAMへの手動での書き込みが出きるようになりました。 ロータリースイッチでアドレスとデータ値を指定して、左下にある「書込SW」を押すと書き込めます。

SRAMの試験時に大きな設計ミスを発見しました。このミスに関する詳細は失敗談(本頁左に入口あり)を見て下さい。


5月28日午前4時

RETROF-8 (TTLコンピュータ)全景 2011-5-28

平日は趣味に費やす時間は1時間程度ですので、6日間経過しても殆ど進展していないのがお判りだと思います。
それでも基板左側に74LS74が一個だけだったのが、
74LS161、74LS42、74LS138が増えています。

500円玉は大きさ比較用。基板サイズはほぼハガキ大です。


5月22日正午

RETROF-8 (TTLコンピュータ)全景 2011-5-22

基板左側にRUN/DMAの切替スイッチ(緑と黄色)が並びます。
 基板右側はバスの手動制御回路で、DMAでプログラミング(機械語入力)をするためのLEDとSWが並んでいます。実行時には入出力装置の役割も兼ねさせています。

回路や部品の詳細は「試験編」を参照願います。


TTLコンピュータに用いるPCB(プリント基板)も感光基板で自作

穴あけ終了

700箇所の穴を空けた直後の、TTLコンピューター用のマザーボード穴あけ完了時の写真です。0.7mm径で約700箇所です。
専用のドリルスタンド等一切使わなかったため、貴重な特殊鋼ドリル刃を4本も折ってしまいました。

それにしても、物作りとHTML作りを同時進行するのは、一方の作業のみに集中できないため、効率がとても悪いです。
今更ながら、オバカなことを初めてしまったと後悔しています。

(2011/5/14 16時に完成)

感光基板を6枚作成、結果は2勝2敗2引き分け

マザーボードのエッチング感光基板でのPCB作成はまさかの2回連続失敗で相当落ち込みました。(2枚しか買ってない)

急きょ、紙フェノール2枚とガラスコンポジット2枚、計4枚を買いリベンジ。内2枚は自作フィルムの遮光不足のせいか数箇所パターン切れました(半田を盛れば何とか使える状態)。続く2枚は無事成功。

写真は無事完成した2枚。左は紙フェノール、右がガラスコンポジット。ガラコンは1mm厚だけど十分丈夫。(紙フェノは1.6mm厚)


失敗の原因とか、成功のコツとかの詳細は現在HTMLを作成中。後日UP予定です。
ガラスコンポジットの上部の黒い部分はマジックインキでマスク補強した跡です。(2011-5-7)

TTLコンピュータのPCBパターンを透明フィルムに印字

パターンはOO(オープンオフィス)のドローツールを使って書いています。PCB用の専用レイアウトツールがあるのは存じてますが、あえて汎用ドローツールを使ってみました。
(基板は片面で実サイズは150mm×100mm)
自作PCBの原画フィルム透明フィルムシートの種類や、プリンタの設定等をいろいろと変え、一番きれいに印字できたものを露光に使う予定です。写真は最終候補に残った2種類を虫眼鏡で見比べている所です。
黒い部分も若干光を通すので、露光がうまくいくかどうかはまだわかりません。
両者共にA社の0.11mm厚のフィルムに印字されてます。(5月5日 記)


感光基板のレイアウトパターン

オープンオフィスのDrawで書いたPCBレイアウト

これは、コメントやジャンパー線の位置(色が付いている)をも含むパターンデータです。
ここまで達するのに、下書きだけでも方眼紙に数十枚書きました。正直言って、気が狂いそうになる作業でした。「もう一度同じ物を書け」と言われても、絶対に無理だと思います。(5月4日、記)

TTLコンピュータを作るために、作ったもの

材料費483円のフットスイッチ

フットスイッチ自作プリント基板の穴あけを開始しましたが、
購入したルーターは手元でON/OFFができないので位置あわせがとても面倒です。そこでフットスイッチを作ってみた所、快適になりました。

材料費はケース100円、延長コード(中央を片側切断してスイッチに半田付)200円、スイッチ160円と消費税です。

今日の関東は、蒸し暑かったです(5月10日記)


フットスイッチ裏面拡大裏面拡大画像です。
100円ショップで購入した延長ケーブルの途中を裂き、コードを引き出し、スイッチに繋げただけです。
(スイッチは125V 5A を使用)

この工作は緊急避難的に作ったものであり、感電事故の危険も極めて大です。危険性を十分理解の上で自己責任で行える方以外は、市販のフットスイッチ購入をお勧めします。(2011年10月2日追記)

材料費600円(写真の1万円札は除く)の感光PCB露光用密着器

PCB露光用密着器回路図やパターン図を書くのも楽しいのですが、やはり「何か実体のあるもの」も作らないと落ち着きません。画像は数日前に作った感光PCBとフイルムを密着させる装置(?)です。3mm厚のアクリル板と6mm厚のMDF板をネジで締める方式です。

画像の「諭吉」は大きさ比較用です。ニセ札作りの原版ではありませんので誤解無き様願います。(4月21日製作)


TTLコンピュータ関係、レトロなコンピュータ関係のリンク集

TTLコンピュータを完成させ動作させた方々

富崎新氏(ATOM-8の作者)の資料を収集中。

御質問等がある方は、掲示板へどうぞ。
 本サイトの更新速報や未公開記事の紹介は”duo6750”のtwitterで配信しております。
「みたよ〜」の一言でもつぶやいて頂けるとうれしいです。 

   

管理人とのコンタクト

RETROF-8の各種資料

設計編

  1. CPUを自作する夢を追う日々
  2. コンピュータって何ですか?
  3. CPUアーキテクチャ設計前編
  4. CPUアーキテクチャ設計後編
  5. TC55257PL-10を主メモリに
  6. プログラムカウンタと命令R
  7. ALU用のTTLとその周辺回路
  8. タイミングジェネレータ設計 
  9. 命令のデコード方法の最終案
  10. プログラミングはDMAです

製造編

  1. 前準備はTTLケース自作から
  2. TTL間の配線方法の検討
  3. プリント基板も当然自作です
  4. OOでPCBパターンを描画する
  5. PCBの露光現像、エッチング
  6. PCBの穴あけ方法を考える
  7. ゴム足と電源コネクタの装着

試験編

  1. LEDとSWでのBUS占有試験
  2. DMA/RUNとクロック周辺
  3. SRAMとプログラムカウンタ
  4. インストラクションデコーダ
  5. 全命令空間をオシロで観測
  6. 動き始めた命令達
  7. ST命令とIN命令の動作確認
  8. LDI命令とLD命令の動作確認
  9. ADD命令とキャリーフラグ
  10. SUB命令と条件付ジャンプ
  11. AND,OR,XOR 論理演算命令
  12. INとOUT、入出力命令
  13. クロックアップの限界に挑戦

円周率編

  1. C言語でのアルゴリズム検証
  2. 乗除算を加減算に書き換えた
  3. 8bitメモリにshort intを格納
  4. 人間プリプロセッサ

失敗談編・リカバリ編

順不同のコラム



部品と工具

使用した部品達を紹介します
こちらの更新は滞ってます

inserted by FC2 system