時々ネタ切れの時に日記に登場する『自叙伝』シリーズ。最近の日記では登場する機会が少ない電子工作ネタなのですが、私、た~さまの電子工作人間へ至るお話しなのです。
前回から約3年の間が開いてしまったのですが・・・・(たぶん)最終回です。
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/03/15/ 電子少年 た~さまの自叙伝・第8回 ~時代は16ビット~
https://…/2011/03/24/ 電子少年 た~さまの自叙伝・第9回 ~もう一度挑戦!16bitワンボードマイコン~
https://…/2011/10/29/ 電子少年 た~さまの自叙伝・第10回 ~ついに16ビットマイクロプロセッサ!~
https://…/2011/02/07/ 電子少年 た~さまの自叙伝番外編#1 ~アセンブラに限界を感じる~
https://…/2011/03/04/ 電子少年 た~さまの自叙伝番外編#2 ~懐かしいフロッピーディスク~
いままで、マイクロプロセッサに興味を持ち、ザイログZ80やらモトローラ68000のワンボードマイコンを設計・製作し、そしてそれが思い通りに動いた~ということで満足しておりました。
・【使い回し写真】た~さま謹製 Z80 CPUボード |
まぁ、そのボードで動くソフトウェアを作っても利用者は私だけだし・・・・まぁ自分でCPUを自在に操ってみたいという欲求は達成されたわけですし・・・・
でも自作でいろいろ作れても、それは自作ワールドの中でだけ通用する世界。
どうせなら、独学で勉強した技術が手持ちのPCでも通用するのか? 拡張ボード製作をしてみたいと思っていました。
この当時のPCはとても高価だし、自作ボードを挿して壊れたらどうしよう・・・・と思うとなかなか気軽には実験できなかったわけですが・・・・
- メインマシンがX1からX68000に移行して、X1が遊び気味になっていたこと
- コピープロテクトの解析にハマっていて、X68000上でリモートデバッカを動かす必要が出てきたこと
- X68000にはシリアルポートを装備しているが、X1にはシリアルポートは無いこと
という動機から、X1に増設するシリアルカードを自分で作ってみることにしました。
・今も(動くかどうかわからないけれど)保存してある シャープX1G |
ちなみに68000CPUは、メモリ空間とIO空間が分かれていないメモリマップドI/O思想なので、VRAM上にプログラムを置いて実行することも出来るわけです。
プロテクトチェックルーチンは暗号化されており、しかも暗号解除時はわざとVRAM上に展開するようになっていて、該当機上で動作するデバッカでステップ実行させてもデバッカ自体の画面出力によりVRAMの中身を壊してしまうので、いくら頑張って解析しようにも何にもできない~(泣)という状態。
コレを回避するためにデバッカ自体の入出力をシリアルポートに切り替えて、別のマシンからX68000をコントロールすることで解析を進めるしかないのです。
実はこの拡張カードを製作するには、まずX1自身の回路がわからないことには手も出せません。
ところが当時の雑誌には、なんと回路図が掲載されたことがあるんです。
その雜誌は入手できないので、雑誌をまとめた本『X1シリーズ活用研究』を探すところから始めました。神保町の本屋さん街で探して発見!
この本が無かったらこの拡張ボードの製作もありえませんでした。
・IO別冊 X1シリーズ活用研究 |
この本には、シャープX1(無印)と、X1turboの回路図が掲載されているんです!
ほらっ! シャープさん太っ腹すぎるでしょ!
・シャープX1(無印)回路図 メインCPU周辺部 |
・シャープX1(無印)回路図 インターフェイス部 |
この回路図を読み取って、拡張ボードを挿すコネクタのピンそれぞれにどんな信号が来ているのかを解析。
ほとんどはZ80 CPUの信号が、いくつかのバッファを通って出力されているものでした。
ということは、基本的にタイミングさえ気をつければ自作CPUボードと一緒!(まぁ、今思えば当たり前なわけですが。)
スペックは・・・・
- Z80ファミリLSIのZ80 SIO(Serial Input Output)を搭載し、RS-232Cポートをコントロール
- タイミング信号を作るため、および定周期割り込みが必要なため、同ファミリのZ80 CTC(Counter Timer Circuit)も搭載
- RS-232Cの信号規格(+15V/-15V)を作り出すために、DC/DCコンバータの搭載
- その他、アドレスデコーダ等のICを搭載
という感じです。残念ながらこの辺りの資料が残っていないのです。
そしてプリント板は・・・・自作だと精度が出ないし、両面配線とかしなければサイズ的に収まらなさそうなのですが・・・・無理!
当時はPC-88やPC-98、X1やらX68000といったPCの拡張ボードに刺す事ができる素の拡張カードをサンハヤトが売っていたわけでして、それに自分で設計した回路を載せるわけです。
じゃじゃ~ん!
・た~さま謹製 シャープX1用拡張 RS-232Cカード |
こちらも今も大切に残してあります。
表面は非常にスッキリしていますが・・・・裏面はすごいことに。
LSI/IC間の配線は、パターン設計するのではなくて・・・・・ワイヤラッピングによる配線!
・ワイヤラッピングによる配線 |
これだと配線を物理的に重複させても大丈夫(ノイズとかはこの時代は大丈夫でした。)なので、自分でパターン設計をするよりも小型化できるし、なによりも時間がかかる手動パターン設計をしなくて良いので非常に短時間で作業が進みます。
専用の巻きつけツールを使って、くるくる~
・専用のICソケットの足にクルクルと巻きつけて配線 |
そうやって作った自作拡張カード。
残念ながら、製作途中の写真は無いので完成品写真のみです。
一番最初にX1に挿して電源を入れるときはさすがに手が震えました。
配線が間違っていたら、ヘタしたらショートしてX1本体様もご臨終・・・・
幸い無事に立ち上がりました。
自作の拡張カードなのでソフトウェアが一切なく、自分でチップを直接叩いて制御する専用のターミナルソフトも製作。
当初の目的のX68000とつないでリモートデバッグ。
無事にプロテクトチェックルーチンを炙り出すことに成功したのでした。
ほんと、当時は時間が有り余っていたいい時代でしたねぇ。