/ «2003-10-31 (Fri) ^ 2003-11-02 (Sun)» ?
   西田 亙の本:GNU 開発ツール -- hello.c から a.out が誕生するまで --

Categories Books | Hard | Hardware | Linux | MCU | Misc | Publish | Radio | Repository | Thoughts | Time | UNIX | Writing | プロフィール


2003-11-01 (Sat)

[Thoughts] 8ビットよ、もう一度

H8 --> Z80

H8下調べのために、以前読みかけていた今野金顕氏による「マイコン技術教科書H8編」を手に取る。これまた「CPUの創りかた」の御利益のおかげで、第4章までスイスイ読める。最近、頭の中の神経回路が大きく変わりつつあるようだ。

さて、マイコン技術教科書H8編を読めば、H8/3664F に外付け RAM を拡張することは、それほど難しいことではない。しかし、残念なことに 3664 では外部 RAM をゼロ番地にマッピングすることが、出来ないようなのだ。これでは、私の妄想を実現できぬ・・。

妄想とはすなわち、基盤上に8個のスイッチを2列に並べる。当然、一方がアドレス、片方がデータだ。バチバチと軽やかに番地とデータを入力し、打ち込んだプログラムで CPU をリセット。CPU は、私が打ち込んだバイナリーデータをフェッチ・デコードしながら、プログラムを健気に実行する。もちろん、プログラムはハンドアセンブル、電源OFFでプログラムは消滅。粋である、ロマンである。

昔叶わなかったこの夢をおじさんは実現したい。ホストPCから内部フラッシュを書き換えれば、疑似体験もできるのだが、Blackbox が間に挟まるような気がして嫌だ。夢は、余計な夾雑物が一切存在しない、ピュアな状態で実現したいのである。

となると、H8じゃダメじゃん・・。急速に熱が冷める。確かに仕事として使うには優れた CPU だが、ロマンに欠けるよね。となると、やはり Z80 ですか?

手作りマイコン Z80

で、再び押入の中から、読まずに放ったらかしにしていた相原隆文氏の「初歩のディジタル回路3 手作りマイコン」を引っ張り出す。初歩のディジタル回路は技術評論社が出版している全5巻のシリーズだが、特にこの第3巻は Z80 自作派のバイブルとして、ベストセラーになっている(昭和60年初版第1版、平成9年初版第13版)。

この9月までは、本バイブルはチンプンカンプンだったのだが、今なら読めるぞ、ずんずん読める・・と、一気に読了。渡波さん、毎日コミュニケーションズさん、迷える子羊(?)をお救い頂き、心より感謝致します。CPUの創りかたが 2800円というのは、安過ぎだと思います、ハイ。

さて、「手作りマイコン」だが、これは確かに名著である。丁寧な解説を通して、Z80/RAM/8255 を搭載した Babbage-1 号がステップを追って成長していく様は、見事と言う他はない。しかも、お値段は 1553円というアカデミックプライスである。TD4 の次は、迷わず本書を読んで、本格派マイコンに挑戦すると良いだろう。Amazon で「在庫切れ」になっている点が、少々不安ではあるが。

その巻頭で相原氏は次のように語っている。

マイコンを使いこなすためには、それなりの知識と経験が必要です。
ハードウェアのしくみを知って初めて、ソフトウェアを使いこなせるのです。

御意。さらに続く、

2〜3才の子供でもマイコンという言葉を知っていますし、5〜6才ともなれば
一人前にパソコンをいじり始めます。しかし、大人であり電気屋でもある私達は、操作するだけは満足しません。
その構造についても知りたいと思うはずです。

世の中に批評家は数多いけれど、こうして問題提起を行い、なおかつ自分なりの解決策を提示し、行動できる人というのは、稀である。ちなみに、本書も「コンピュータの名著・古典100冊」には、選ばれていない。ハードウェア関連の書籍としては、"アーキテクチャ/OS" という付け足しのような章に、Patterson, Hennessy 本が2冊挙げられているだけである。

そうかと思えば、カーニハン&リッチーのプログラミング言語Cが選択されていたりする。K&R は歴史的リファレンスに過ぎず、入門者に読ませるべき代物ではない。私に言わせれば、むしろ禁忌本である。いつぞやあるMLで、"K&R is king, and the kind was dead!" というメッセージを見かけたことがあるが、まさにその通り。繰り返すが、日本にまともな書評システムは存在しない。私の言葉も含めて、他人の言動を盲信してはならない。最後は、自分の頭で判断することだ。これが肝心。

さて、手作りマイコンを読了し、Z80 や 8255 の入手先も調べがついた。蛇足ながら、この調べ物の最中に、東京マイクロプロセッサーカレッジという、有料セミナーを発見。「凄いなぁ、さすが東京やなぁ・・松山にはこんなものないよね」と、感心することしきり。授業料は入学金と合わせて 26万円ということだが、CPUの創りかたと手作りマイコンは合わせて 5000円ポッキリ。やっぱり、書籍って有り難いです。

一段落して、頭の中で Z80 マイコンの設計に妄想を大きく膨らませる。以前、見つけておいた CP/M サイト を再び訪ねる。「Digital Research Source Code」のページを見て、再び涎を垂らす。「ほほぅ・・CP/M 2.2 であれば ASM80 の全ソースが手に入る訳ですね」。当時は、CP/M のソースが見たくて見たくて仕方がなかった。ルーベンスの絵を見たかった少年ネロと同じである。英文マニュアルにチラリと添えられた、ブート回りのコードを見ただけで、鼻血ブ〜になっていた。

「となると、ひとつ Z80 のリハビリテーションですかい」と、手作りマイコン付録の Z80 命令一覧表を眺める。「懐かしいのぅ・・」という思いと同時に、「汚いオペコードマップやのう・・こんなに汚かったの?」という失望感が生まれる。

こうなると、もうダメ。「どうせやるなら、美しいオペコードマップで教えてあげたいよねぇ」、「GCC も Z80 には対応していないしぃ・・」などと、次から次へとネガティブなことが頭をもたげてしまう。

あと少しだったのだが、残念無念。再度、一からやり直そう。考えるのは、タダなのだから。