aki_iic’s blog

己の欲せざる処人に施す事無かれ、狂人の真似するは即ち狂人なり

Motorola MC6800(その1)

 暇になったり現実逃避をしたくなると昔話をしたくなるのは年寄の常なのだろう(か)。というわけでよくあるチップを購入してマイクロコンピュータシステム(大袈裟な)を作っていた学生時代のお話。。。

0.マイクロコンピュータ

 共通一次第一世代の受験生であった身ではTK-80やH68/TRが登場していた1970年代末のマイクロコンピュータブームは安田さんのブルーバックスマイクロコンピュータ入門、マイコンピュータをつくる、マイコンピュータを使うといった新書系を読む程度で当時ラジオ少年(それについてはセラミックフィルタ参照)↓

aki-iic.hatenablog.com

 であった高校生にとってはちんぷんかんぷんで初歩のラジオの大河原さんの記事で74シリーズレベルのディジタル回路を見る事はあったもののマイクロコンピュータとなるとレジスタだのプログラムだのの概念が分からず(あたりまえ)安田センセイは新書レベルでド素人の読者層に「ファイルがどうちゃら」とかご高説を垂れるものだから何を言いたいのか不明であった。一方ハードウェア(というか回路図とハンダ付けとプリント基板製作)は小学6年の頃から亡き親父の影響で色々やっていた(上記参照)でマイクロコンピュータであってもまともな回路図(安田センセイのブルーバックスはまともな回路図とは言い難かった)と初歩のラジオレベルの記事が入手出来ればマイクロコンピュータを用いた基板を作る事は可能かもしれないと当時妄想していたが高校受験に失敗した身としては親の負担が少ない国公立大学を目指すべく本人なりに勉強していたのでそこまで手が出る筈も無く知識も情報も資金も無い状態であった。

 幸い高校の物理部の顧問の先生が日立OBだった様でそのツテでH68/TRが購入されどういう訳かマイコンの知識も無かった私がH68/TRの拡張(8T26のハンダ付けだった様なおぼろげな記憶)を手伝ったような気がするが構成理解やプログラムなぞ到底不可能で部員がHit and BlowというH68/TRの電卓コンソールに表示するゲームを機械語で入力・プレイするのを遠巻きに眺めている状況であった。

www.st.rim.or.jp

 不確かな記憶だが当時は廣済堂のRAM、工学社のI/O、電波新聞社マイコンとかいう雑誌が存在しておりI/Oはド素人(例の西である)で記事に実態を成しておらずマイコン無学者には何の役にも立たなかった。RAMは確かΛ-1とかいうMB8870(MC6802の富士通セカンドソース)を使ってマイコンシステムを組み上げる連載が行われていたような気がする。当時はトラ技を知らなかったのであの名著の松本吉彦さんの書の元となった連載を知る事もなくマイコンとは縁遠い学生生活を送っていた。

1.Motora MC6800

 そんな中、無事大学受験でき下宿・寮生活という自由を手に入れた事を幸いに高校時代に自粛・禁止されていた電子工作に邁進する事になる。マイコンに関する知識は皆無の状態であったので教養部時代にどこかの古本屋で見つけたのがあの松本吉彦さんの名著である「私だけのマイコン設計&製作」であった(大袈裟に言えば運命の出会いとも)。↓

ci.nii.ac.jp

 1980年代でこの業界をご存知の方は知らぬ人は少ないと思しき(誇張あり)同署であるが74シリーズの同期カウンタすら正確に理解しているとは言い難い学生にとっては充分難解ではあったがトグルスイッチの原始的手動DMAで二進数で直接アドレス・データを指定して人力で1ビットづつSRAMに書込み、Halt解除でCPUをRUNさせる仕掛けはどうにか50Mhz SSBトランシーバを製作した当時の知識でも理解出来た(SSBトランシーバとマイコン知識は関係無いのだが)のでアルミシャーシに24個(アドレス16ビット、データ8ビット)のトグルスイッチを取り付け、データ表示用に8個のLEDを取り付けで当時は高価だったサンハヤトのコンピュータ用基板(爆)の44ピンカードエッジのユニバーサル基板を購入して1本づつ手配線で回路を組み上げていったのでありました。この風景は当時のマイコン製作者では日常的風景で開発用ホストコンピュータやクロスアセンブラなぞは企業のエンジニアかメーカ製のマイクロコンピュータキットを購入できるブルジョワさんに限られたので私を含む多くの貧乏人(学生比率は高かったのでは。当時のマイコンは暇と気力と眼力が無いと出来ない道楽だったので)が興味本位でやっていたのではと想像する。

 長い前振りだったが松本さん本で具体的な製作・プログラムの記載がされていたプロセサがMotorola MC6800であって偶然にも高校時代にH68/TRの実物を目にしていた因果もあったのかMotorola MC6800の名前ぐらいは知っていた(安田さんの書ではMC6802を用いていた記憶も)ので本書を基に入手可能な部品と安価な代替回路を調べて回路図のような物を手書きして1本づつ多芯線(無線の世界ではそれが普通だったので)で1本1本気の遠くなるような配線を行っておりました(当時は暇な学生だったし集中力やあったのだなと振り返る)。

www.st.rim.or.jp

 このhpは私的には国宝級の価値があるWebページで記載されている情報も正確だし20世紀末のマイコンチップの情報源としてよく参照させてもらっている。本当に素晴らしいhpです(心から)。

 当時の構成を振り返るに(記憶が不正確な部分多々あり)↓

・CPU:蒲田のカマデンから当時3000円で通販で入手したMC6800P(プラスチック、1Mhzクロック)

・クロックジェネレータ:MC6871Bは高価で買えなかったのでTVのクロマ用の3.579545Mhz水晶を7474で分周して7405で擬似ノンオーバラップクロックを生成(松本さんの本で紹介されいた回路そのまま)

・メモリ:MC6810は高価で容量も少ないので当時一般的だった2114(1Kx4bit)タイプのRAMを2個使用、OKIのMSM2114x2

・グルーロジック:74LSと4000シリーズの混合。故にPullup抵抗だらけで配線が大変だったがトグルSWで手動DMAする為、バスはHi-zとなる為どのみちPullupは必要だった

・手動DMA回路:松本さんの本通りにダイオードで構成したがIS1588は高価で入手出来なかったので内容不明の多分IN60風なゲルマダイオードを袋買いして使用したがディジタル回路故かそれでも動作してくれた

・電源:高校時代に作ったTA7089(uA723の改良型)を使った可変安定化電源を5V固定で使用

 だったような気がする。纏めると

MPU:MC6800P(1Mhz、後400Khzに下げてやっと動作が安定する(涙:)

 ・RAM:MSM2114RSx2(1Kbyte、TK-80の2倍)

 ・I/O:トグルSW+LEDによる人力DMA、故にプログラムでRAMに結果を残し、CPUをHaltさせて人力DMAで結果を参照する

 といった構成であった(なつかし)

2.不安定なCPUボード

 実は1年生の時に上記構成で製作したのだが動作が不安定で半年程放置していた。原因は空中配線の盛りそば状態の配線では1Mhzのマイコン回路は安定に動作せず。GNDパタンも全く考慮せずそれ故に動作が不安定になっていたと後ほど知る。クロック周波数を下げるというのは苦し紛れにモノマルチ(74123)で400Khz程度(周波数カウンタで確認)の自励発振にクロックジェネレータを置き代えたら安定動作するようになったのでここからMC6800マイコン(松本吉彦さんのデザインベース)の拡張が始まるのであった(つづく)