Darkside(https対応しました)

2012年09月07日の記事

2012年9月7日(金) 20:59

Z80の遙かに下

 何だか1日1本という感じでバッテリー充電が完了し、セットし直す。

 端子を差し込む場合、場所を間違えないように注意せねばならない。色を見ながら挿して行くが、間違えていても挿すことは可能。手間を省き間違いを回避するため、絶縁体の板に端子を固定しておくのは当然考えた。
 しかし、3本のバッテリーの位置も固定していないと面倒。市販バッテリーのサイズは、微妙に違いがある。単三電池でさえ、エネループのサイズ違いに悩まされたりするぐらいで。それに、端子固定だと全端子をまとめて挿すため非常に大きな力を要する。接触抵抗を減らすため、かなりキツめになっている。

 かくして、端子固定はイメージより遙かに使い勝手が悪い。
 他人に扱わせるなら挿入位置間違いの防止も考えて端子固定を考えねばならないが、自分専用武装なのでバラ端子もアリかと思っている。
 バラ端子で「やってられる」かどうかは、実際にこうして扱いつつ試している次第。

 レーザー銃は完成するとしても1年後とかなのだろうが、操作的には現状でほぼ最終である。
 既にレーザー銃が完成していると仮定した場合、使用しながら何をするかと言えばトリガー操作してパネル表示見てバッテリー交換してバッテリー充電して・・・と今と変わらない。つまり、現状でもう運用試験に入っているようなものだ。レーザーが出ないだけで。ここで使い勝手や問題点の洗い出しを行い、電源の信頼性なども確認しておく。そうすれば、本当にレーザー銃が完成した後で想定外のトラブルに襲われる可能性を減らせる。

 ダラダラと電源操作したりPICいじってるのも、無駄ではない。
 またDIYやってるなら分かるだろうが、なかなか完成しなくても作ってる最中が結構楽しいのだ。レーザー発振しないレーザー銃だが、気分は完成後とそう変わらない。
 とはいえ、PICプログラムのバグは何とかせねばならない。完成した気分でボリュームを回せない。しつこいバグにはエミュレーター。I/Oポートの値を取得できないため、純粋ロジックの検証にしか使えないしソフト的な準備整えるのも面倒。だが、頼りになる。

 フラグが逆になっていたとか、アドレッシングモードの誤りとか、単純なミスを簡単にあぶり出せる。数個のバグが退治され、ボリュームが想定通りに機能するようになった。
 PICプログラムが厄介なのは、アセンブラが貧弱なことも大きい。
 使用しているのはマイクロン純正だが、マクロにローカルラベルが使用できないため条件分岐するマクロが事実上使い物にならない。

 Z80なんかは同じ無料でもMASMというのがあって、マクロアセンブラの名の通り、マクロが超強力だった。ローカルラベルなど当たり前で、マクロのネストを重ねて行くと、過去に作ったマクロが素晴らしい資産となりアセンブラによるプログラムがどんどん楽になった。
 Z80でもPIC16F88より遙かに命令の機能が強力なこととあいまって、天地の差。8ビット時代のアセンブラ・プログラミングよりもPICは遙かに生産性が悪いしストレスも大きい。

 困ったことに、良い対案がない。
 PIC16F84 のときはマイクロン純正より強力という理由で、秋月のアセンブラを使っていた。ところが、秋月のアセンブラは PIC16F88 に対応しておらず、製作済みのプログラムを移植するときは大変な手間を強いられた。PICは品種が多く、次に使いたくなるかもしれない品種に対応しているかどうか?と考えたら純正アセンブラ以外には手が出せない。
 対案としてこんないいアセンブラありますよ、というアドバイスが貰えれば助かるけど、じゃあそのアセンブラは今度も全品種のPICで使える保証あるのか?というと恐らく無いと思われる。対案が素晴らしくてその対案上で資産を積み上げるほど、将来の未対応リスクが巨大になる。

written by higashino [ファイバーレーザー] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4