電子少年 た~さまの自叙伝・第8回 ~時代は16ビット~

時々日記に登場する『自叙伝』シリーズ。私、た~さまの電子工作人間へ至るお話しなのです。

https://…/2010/02/23/ 電子少年 た~さまの自叙伝・第1回 ~小学生高学年の出会い~
https://…/2010/09/11/ 電子少年 た~さまの自叙伝・第2回 ~一つ知れば十の疑問~
https://…/2010/09/14/ 電子少年 た~さまの自叙伝・第3回 ~私にでもできるのでは(?)(?)~
https://…/2010/10/19/ 電子少年 た~さまの自叙伝・第4回 ~趣味はマイクロプロセッサ!(?)~
https://…/2010/12/27/ 電子少年 た~さまの自叙伝・第5回 ~ついに動いた!自分設計のワンボードマイコン~
https://…/2011/01/05/ 電子少年 た~さまの自叙伝・第6回 ~高校での友人~
https://…/2011/01/20/ 電子少年 た~さまの自叙伝・第7回 ~コピープロテクトって面白い!~
https://…/2011/02/07/ 電子少年 た~さまの自叙伝番外編#1 ~アセンブラに限界を感じる~
https://…/2011/03/04/ 電子少年 た~さまの自叙伝番外編#2 ~懐かしいフロッピーディスク~

私のパソコン生活や自作生活は8ビットのZ80プロセッサにフィーチャーされ続けていました。
世間が16ビットになり、そして32ビットと進んで行っても、余りその流れに乗る必要も感じることも無く、まだまだ8ビット機の面白さにハマっていたのです。

f:id:vfr750f2:20110212152926j:plain
・Z80マイクロプロセッサ いじればいじるほど楽しい~

そのころ、シャープのPC戦略も、X1ではなく、その後継のX68000が登場して流れがそっちに行ってしまいましたが、『無いものは全部自分で作る』というスタンスだったので、世間のことはあんまり関係無かったのかもしれません。


そのX68000も登場後に時間が経ち、コナレてきた頃(廃れてきた頃か(?)(?)(?))に、友人から安く譲ってもらいました

f:id:vfr750f2:20110201093946j:plain f:id:vfr750f2:20110201111131j:plain
・シャープ X68000 パーソナル・ワークステーション ・いまも持っているX68000のチラシ

ここで初めて16ビット機というものをジックリと触ることになります。
とりあえず触ってみて、8ビット機のX116ビット機のX68000で何が違うって・・・・もちろん潤沢にハードウェア回路を搭載して多彩な表現ができるのはスゴいのですが・・・・『OS』を立ち上げて、その上で何かするのがデフォルトってこと。


MS-DOSそっくりの"Human-68k"というシャープ製OSです。
CP/M以来、OSに対して良い思いをしていなかったのですが、ここでも幸運が。友人が開発キット一式も購入していて、これも譲ってもらったのです!

f:id:vfr750f2:20110201093947j:plain f:id:vfr750f2:20110212142344j:plain
・Cコンパイラ PRO-68k マスターディスク ・今も本箱にはドキュメントがずらっ~

OSそのものの使い方の本は、上の写真に写っている『Human68k ユーザーズマニュアル』。厚さ約10mm未満といったところか。
しかし、開発者向けのOSドキュメント『プログラマーズマニュアル』は、厚さ約50mm。プログラムからOSを使う場合の『使い方』が詳細に解説されています。


これこれ~、こう言うの欲しかった! CP/Mのときはこう言うドキュメントが入手できなくてお蔵入りだったのよね~。
これを読み解くと、例えばファイルIOやらが用意されていて全アプリケーションがそれを利用することで共存が出来るし、そして個々のプログラム毎にファイルシステムを作り込まなくて良い!
(X1の時は、これが公開されていなくて、同一のディスクを複数のアプリで使うのが極めて面倒だったんです・・・・。)


なかなか良い感じじゃない~~

f:id:vfr750f2:20110212142345j:plain f:id:vfr750f2:20110212142346j:plain
・プログラマーズマニュアル ・OS APIが詳解されています

そして、16ビットの皮を被った32ビットプロセッサ『モトローラ製 MC68000』。さっそくアセンブラを学習します(これも開発キットに入っていた!)が、コレが時代の進歩なのかと驚愕なのです。


まず驚いたのは、プロセッサパワー! 周波数がどうのこうのではありません。
Z80で計算とかさせるのには、基本的に『Aレジスタ1本だけ。次々と計算させるのであれば、いちいちそれを他の場所へ待避させねばならないし、レジスタの数も8ビットの『A、B、C、D、E、H、L』の7本だけ。(知っている人、細かい話は無しね!)


ところが68000では、全部のレジスタが平等! しかもレジスタの数も32ビットの『d0~d7、a0~a7』の16本。さらに強力なアドレッシングモードを持ち、Z80なら数ステップになってしまうものが1発で出来る!

f:id:vfr750f2:20110201095721g:plain
・レジスタセットの比較 本数もぜんぜん多いし、全部32ビット!(もちろん8ビットや16ビットでも使用可能) そして全レジスタで演算可能!

実は、Z80はアドレッシングモードと呼べるほどの種類が無く、CPUマニュアルだととりあえず10個が載っているけれど・・・・強引に10個カウントしていません!(?)的なもの。


対して、68000プロセッサになると・・・・とにかくすげぇ!(難しくなるからここでは書かないけれど!)
メモリマップドIOというアーキテクチャも手伝って、グラフィックRAMへのアクセスもプログラムメモリへのアクセスも、どちらにもこの強力なアドレッシングモードが使えるので、とにかく感激~~~


そして、デバッカと呼ばれるソフト。機械語コードをステップ実行できるソフトが強力!でデバッグや解析が楽チン~。ついでに市販のソフトもコレでステップ実行できてしまうので、プロテクト解析も楽チン~
さらにさらに、『特権モード』という概念。OS本体を壊さないように保護する機構をプロセッサと周辺ハードウェアが備えていた(後年のMMUへの第一歩)り、不正なアドレスをアクセスしたといったバグからの保護機能(バスエラーのことね。)を有していたり・・・・


すげぇ~!
だいぶ時代に遅れていたけど、少し触っては感動!の繰り返しなのでした。


これが16ビット(と時代の進歩)なんだ~~~!と。Z80だけにシガミついていてもダメなのだと思い知りました。ついでに、OSは必須だな・・・・とも。


ソフトウェア的な部分の把握・実験が終われば、当然MC68000プロセッサ自体に興味を持ち・・・・

f:id:vfr750f2:20110131191251j:plain f:id:vfr750f2:20110131191252j:plain
・モトローラMC68000 ユーザーズマニュアル ・日立製作所68000シリーズ マイクロプロセッサ データブック

入手したのは半導体データブック。私の場合、どうしても興味がコッチに寄ってしまうのです。


そして、ある目的のために・・・・X68000上でウインドウシステム『SX-WINDOW』を動かします。

f:id:vfr750f2:20110217143047j:plain f:id:vfr750f2:20110327204820j:plain
・SX-WINDOWシステム マスターディスク ・ドローイングソフトの取扱説明書

さらにCADは手が届かないのでドローイングツール『EasyDraw SX-68K』の環境も整備して・・・・準備が整いました。


つづく。

 このシリーズの日記で登場する出来事はすべて事実なのですが、時系列の検証がいい加減です。その辺りは目をつぶってお楽しみくださいませ。
https://…/2011/03/24/ 電子少年 た~さまの自叙伝・第9回 ~もう一度挑戦!16bitワンボードマイコン~