トップページへ戻る | mail to: web master |
10月31日
久しぶりに銀座。
11時くらいには帰ろうとしたのだけど、勢いでお店の子たちと食事に出かける。
別に気取った店に行ったのではなく、裏通りにこぢんまりとした定食屋で味も良いしメニューも家庭的で面白かった。
しかーし、帰る段になると支払いの金額が。。。。
そりゃ場所が銀座で、おばちゃんとはいえ3人で店を切り盛りしていたら、仕方のない金額ではないけれどもビール一杯しかな飲んでないのに定食屋で一人五千円はいかがなもんかな?
10月30日
救急医学の学会で発表されるらしいのだが、ゴルフのスイングを無理に力を込めてすると、首の頸椎の横を通る動脈が傷ついていて、血管の壁がこぶのように膨れ血流を阻害し脳梗塞になるらしい。
うーんなんでやねん?と思ったら、どうやら飛距離を気にしていきんで振りの抜いている途中なのに首を回して玉を見ようとするとこうなるらしい。
確かに、剣道やビリヤード、テニスでも棒振りスポーツは残心というフォロースルーが終わった後に一呼吸開ける動作をするのが普通だはな。
一般的にはそうしないと球筋が曲がったりして結果が安定しないし、力みすぎも剣筋球筋が安定しないは曲がるは肘や肩を痛めるはとフォームを習うのだけど、やっぱり結果が気になって首を振ることがしばしばある。
でもな、脳梗塞が起きるよって教えて貰ったことはないけど。。。フォームはとても大事でゲームの結果だけではなく体も守るのは確かだってことで。今日も落ちはない。
10月29日
「ユリョン」
先だっての映画ファンの集い?でも話題になったのでが、韓国映画はハリウッドをお手本にしていて結構見栄えは良いよね。
「シュリ」に比べると激しくハリウッドを目指していない分無理が無いようだし、テーマ的に南北摩擦では無い部分が良い気もする。
しかーし、対日対米へのいつか開戦してやるってのはちょっと嫌い。
もちろん複雑な民族感情を描いているのだろうし、反戦感情も生むべく開戦派を悪く描いているのだろうけど、その反日反米感覚が一般に受け入れられているとすると隣人としてはちょっと悲しい。
人間同士なんだから互いに仲良くしようと思わなければ仲良くなれないのは確かだし、何もしないのは一番いけないとも思うが、なにもしないと攻められる若しくは攻めるべき国と取られるのは好きじゃない。
平和ぼけしている日本よりは独立心も民族意識も高いのは解るが、それは宗教と合わせて戦争の火種だよね。
もっとも、そこまで考えさせたのだから良い映画じゃないか?って言う人もいるかもしれないが、私には「クリムゾンタイド」と「沈黙の艦隊」だけでいいや。
10月28日
「夏への扉」ロバート・A・ハイライン
名作なのでいまさらあらすじもいらない気がするが、コールドスリープで未来に行ってタイムマシンで過去に戻る話だ。
で、舞台は実は1970年と2001年だったりする。多くのSF作品がそうであるように、時代に追い抜かれたり時代が追いつかなかったりが有るものだ。
比べてみると、作品に登場する図面書きロボットはCADという分野で完全に一般化している。しかしコールドスリープは全く実用化されていないし、家庭用メイドロボットも一部のお宅アニメ以外では登場していない。
一番の問題は1970年当時、金は自由化されていないのは作品の通りだが、米国が保証していたレートは1オンス=35ドルだ。現在はご存じの通りだいたい300ドルなので、タイムマシンで過去に戻っても物価分と相殺しても、ちょうどとんとんでしかない。
作品自体は良い作品なので間違いの無いように。
10月27日
「標準語の成立事情」真田信治
良くも悪くも学者の先生が書いた論文という感じ。
少なくともグラフや表は導き出される結果が一目で分かるものにしてくれないと分かり難すぎる。
そりゃ表やグラフって作為的にそう見えるものが作れててしまうものではあるが、一般向けに話をするならそーで無いとね。
で、以前から悩んでいた「すみません」という言葉だが関東及び中部地方では感謝の意味があるようだ。私は生活圏としては関東から出たことはないけど、「すみません」は感謝ではないと思う。やっぱり感謝は「ありがとう」だ。
10月26日
昨日の映画ファンの集い?でどうしても話が纏まらなかったのだけど、「エネミーオブアメリカ」ってどう考えても「カンバセーション・・・盗聴」のパート2だよね。
元ネタ映画って話題の中で出たのがいけないのもあるが、「Mi:2」よりは間違いなく元作品のオマージュになっているし、新しく正しく再生昇華している作品だと思うのだけど。。。
別に「ニキータ」「アサシン」の様にリメイクしただけって話じゃないのだけど。うむ
10月25日
仕事の都合で夕方都内にいたので久しぶりに麹町。常連さんと新しい新しい常連さんを交え映画談義に終始する。
私は「SF系」が好きでよく見ていたし、他の方はそれぞれ「はやり系」や「名画系」なのだが、みんな楽しめる映画は好きなので作品的にも接点が多い。
以外とそれぞれの解釈の違いや面白い面白くないに差異があった方が話が進むのだけど、自分しか見ていない映画だと逆に解釈の説明を求められたりするので、ながらで適当に見ていた作品が話題の中心になったりすると結構辛い。
映画鑑賞も他の趣味と同じで全体を網羅するのはなかなか難しいね。
やっぱり専門の?SFを中心にホラーを絡めてこのところの作品を抜けがないよう見直さなければ!その前に「スペース1999 2nd」と「X-Files 2nd」が終わらないのだが。。。
10月24日
「ミステリーのおきて102条」阿刀田高
ミステリーの必要条件というか、書く上での掟を作家の立場から時には厳しく時には挫折感と共に面白可笑しく作品例を挙げて書いた本かな?と思って購入したのだが単にエッセイだった。
それはそれで、守備範囲の広い阿刀田高だけに面白くもあるのだが、やっぱり似たようなSF本や空想科学を科学するような本とは違い、なにせテーマがミステリーだけに他の作品のネタがばれるような内容にはするわけには行かない。
作者自身も作品の中で隔靴掻痒という言葉を連呼しているし、まあ仕方がないだろう。
でも時間つぶしにしか成らなかった。
10月23日
再度納品しようとしたら、今度は幽霊プロセスが残ってしまって止まらない。
以前にVBで「END」コマンド(ファンクション)の無いプログラムを作ってしまったことがあったけど、それは社内テスト用プログラムだったのでご愛敬。
今回は納品物だしどうしよう。。。でも30分ほどいじり回したら問題解決。
FormLoad ルーチンで初期化終了後に、メイン処理をDoループで回し放しにして、イベント監視で抜けていたのだけど、どうもその辺が良くないみたいだった。
以前から同様のプログラムを書いていたのだが、今回はメインの動きを全てイベント処理してしまっていたので、メインルーチンがイベント監視だけで回っていた。
Private Sub Form_Load()
Do While (1)
dummy = DoEvents()
Loop
End Sub
Private Sub Command1_Click()
Do While (1)
dummy = DoEvents()
Loop
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
こんな感じで、どっちのDoEvents()で抜けようが関係ない気がするんだけど、何故かFormLoadが落ちなくてプロセス解放できなかった。
今回の場合はメインが何もやっていなかったので、FormLoadでイニシャライズ終了後EndSubして貰ったら直ったけど、なんでやねん?
10月22日
んぐわわ〜ん!
仕事で納品したソフトが、とある条件の時だけ旨く動かないことが判明。
いやはや、テストベンチ用のプログラム組んでテストしたはずなのに何でかな?
そんなことより原因は30分間程度で判明したのだけど、その原因はその処理に使ってはいけないOCXを使ってしまっていたことだった。
パッチを当てたり回避ルーチンを組み込んだりして逃げようとしたのはもちろんだが、いざバイナリーレベルになるとVBって完全にお手上げ。
くすんCで書いておけば良かったというのは後の祭りなので、仕方なく問題のOCXを総入れ替え。もちろん、初期化やデータの受け渡しや型などがひっちゃかめっちゃか。。。
冷や汗をかいたけど3時間ほどで修正完了。
OCXに依存したような内部データー構造ではなく、各ルーチンで処理しやすいように中間型式で持っていたのが良かった。長年の経験ってやつかな?
10月21日
このところ、仕事の絡みで技術関係のメーリングリストを良く読んでいる。
今自宅で使っているメーラーはAL-Mailなんだけど、メーリングリストのリンク表示などの機能が弱く乗り換えを検討した。
以前にちょっと紹介したEdMaxを自宅でも使うようにしてみた。会社でも使っているので本当は違うアプリの方が何かあったときに被害が少なくなるが、母にも使わせているので使い方を教える為にはこの方が便利かもしれない。
メーラーの乗り換えで一番困るのは、古い受信メールを新しいメーラーに移すことと、如何にしてアドレス帳を移植するかだ。
古いメールはAl-MailにPOPサーバーのアドインがあったのでこれを使って新しいEdMaxの方で受信すると、当たり前だが全部流し込めてお終いだ。
アドレス帳は実は自宅では使っていないので(アドレス帳代わりに古いメールを取ってある)そちらは全く操作がいらない。
移し替えが終わって。ほんちゃんの各種設定を行ってみると、こちらもPOPパスワードを忘れていて全く繋がらない。仕方がないのでやっぱりパケットモニターする。
そうそう、場合によってはBASE64やその他でユーザーやパスワードはエンコードされているので、なんでもかんでもこの手が使えるわけではない。まあBASE64は直ぐ戻るけど。
10月20日
「皇女の霊柩」内田康夫
旅情ミステリーと言えば内田康夫だろう。さらにこの作品は歴史ミステリーでもあるので趣が深いぞ。
物語自体は単調で、良く読めば途中から犯人が分かるのだけど、そこから絵解きしていく部分がちょっと弱い。
内田康夫の作品は全般的にコロンボのように絵解きではなく、人間関係や旅情が中心だと言われればそれまでだけど。
もっとも、この作品はトリック部分が弱いので複雑な人間関係や養子縁組で読者の混乱を誘っているだけなのでミステリーとしては今ひとつ。
歴史ミステリー部は和宮に関して事実の隙間を縫ってプロットを良くまとめてあるし、旅情部分は馬籠や妻籠へ行ってみたくなること請け合い。
「あんたらかんたら殺人事件」てな題名の頃は良く読んだけど、そのころは主人公の浅見光彦がおじさんに感じ、自分がそれに絡む若手サラリーマンや大学生の領分だったのが、いつの間にか年齢で浅見光彦を通り越してしまっている。。。。
10月19日
「涙はふくな、凍るまで」大沢在昌
またも、大沢在昌である。このところ通勤途中に読む本が無くてKIOSKを覗くと、何故か大沢在昌の新刊文庫が並んでいるからだ。
東京出身在住のサラリーマンが彼とは異文化を持つ大阪や北海道でヤクザやロシアンマフィアとトラブルに巻き込まれるシリーズだ。
こちらもいきなり2巻目を読み始めたのだが、どうも主人公はミステリーやハードボイルドを読んでいないらしく、敵地かもしれない場所で自分から待ち合わせの相手の名前を名乗ったり、よーく読むと自分からトラブルを巻き起こしてそれに巻き込まれている感もある。
もっとも、それが自分だったら、トラブルには巻き込まれないかもしれないが、万が一巻き込まれたときは血気盛んに突っ走って殺されてしまう役だと思う。で「現実は小説みたいには旨く行かないものだよ」なんて悪役や、助けに来た警察官に言われてしまうのだろうな。。。
それはさておき、物語自体はテンポよく進むし、旅情感も溢れているので悪くはない。もっともラストシーンはちょっと狙いすぎ(好きだけど)。
10月18日
8月9月と吹き荒れていた、CodeRedやNimdaによる被害ももこのところやっと減った感じ。
今でも日に5件くらいは不正アクセスを狙ったエラーログが残っているが一画面で見られる量になったのは心が少し安らいだかも?というより、エラーログが多すぎると自分のページのリンクエラーや削除移動したページの密かな人気?が解らないので困っていた。
それでこのところやっとメンテを再開しようとすると借りているウエッブサーバーへのTELNET接続のパスワードが解らない。(お!
実はこのところ、不正アクセス狙いのウイルスが蔓延していたり、変なlsのエラーログが残ったていたので、真面目に定期的にパスワードを変更していたのだ。
うーん困った。パスワードが保存されているのはFTPアプリケーションの中だけだしどうしよう。
はたっと気が付いて、FTP接続しているアプリケーションをパケットレベルでモニタリングして事なきを得た。
でもFTPパスワードとTELNETパスワードが一緒なので、TELNET側でSSHを張ったところで生パスワードモロ見えなのね。
これは大手のプロバイダーに入って余計なルートを通らない以外には打つ手がないね。でも我が家はCATV接続なのでやる気になればパスワードを採取されてしまう可能性は残るけどね。
10月17日
「碁娘伝」諸星大二郎
はっきり言ってストーリー展開とか深く考えてはいけない。でもしっかりつぼを得た活劇ってな感じ。
もっとも、悪人があまり悪く書かれていないので痛快度はちょっと低め。
「ひかるの碁」といっしょで碁を知らなくても楽しめるので私には良かったけどね。
昨日に引き続きのコミックネタなので久しぶりにコミック関係を調べたら、少女漫画の世界で「内田善美」と言う作家が話題になっていた。それって「御厨さと美」のアシスタントだった人でしょ?
もちろん勘違いで別人である。「御厨さと美」のアシスタント出身の方は「内田美奈子」である。「内田春菊」と間違えなかっただけましである。ほんとう?
10月16日
「刀神妖緋伝」新谷かおる
物語がだんだん佳境に入ってきてはいる。んが、なんか、終わりそうな気も。。。慌てて調べてみると先だっての「「ナジカ電撃作戦」もコミックフラッパーなのね。
それはさておき問題の方はどうやら最新の11月号まで単行本の話が追いついてしまっているので結論は出そうにない。どうも新谷かおるの新作って2巻や3巻で終了するのが多いので次巻は要注意って注意しても仕方がないけど。
「ジェントル満」とタイの4巻目「ガッデム」の5巻さえ切り抜ければ、「エリア88」の23巻を筆頭に「ふたり鷹」の19巻「砂の薔薇」の15巻「ファントム無頼」の12巻「クレオパトラDC」の8巻と大作に成っているので期待がもてるのだけどね。
「戦場ロマンシリーズ」は短編集なのでちょっとおいておく。
でも、なんでメディアファクトリーって、有名どころの作家や作品を再判出来るのだろうと疑問に思ったらリクルート出版局だったのね。
10月15日
「撃つ薔薇 AD2023涼子」大沢在昌
またもや、近未来SFが舞台の大沢ものだ。
読み進むうちにストーリーは試行錯誤した揺らぎはあるものの、登場人物自体はしっかりと確立しているし、その割にはストーリーとの関連が今ひとつ。あくまでもハードボイルド調の一人称を踏まえたラブロマンスと取れば無理な解釈は必要ない気もするが。。。
著者のあとがきを読んで解ったのだが、どうもゲームのデザインに関わるうちに、その正編として書きたくなったらしい。
読んでいて気になったのは、加筆のせいか主人公の住むアパートの部屋が1階だか2階だかはっきりしないし、導尿カテーテルされてるのに膀胱が爆発しそうとかいう台詞。
意識が無く弛緩しても垂れ流さないように膀胱まで入れるのだから、当たり前だが入れている間はカテーテルを伝って排出しっぱなしになる。
そんな、ちょっとした違和感(自分にカテーテルが入っている違和感ではない(笑))やゲームのような無茶苦茶タフな主人公を楽しめれば悪い作品ではない。
昨日紹介した「B・D・T 掟の街」のほうが、私の思う大沢在昌らしい力に満ちた作品だと思うのでそっちをお勧め。
10月14日
「B・D・T 掟の街」大沢在昌
流石に「結晶世界」の後だと、登場人物が薄く透明でストーリーのテンポが爽快とも思えない、と思ったのは間違いで読み進むうちに、「新宿鮫」なみのテンポと人間くささ、さらに重くならないバイオレンスなど作者が狙った面白さが爆発。
どうも、大沢在昌の作品で六本木が出てくると限りなく透明感が漂く登場人物の存在感が希薄になる気がする、また逆に新宿が舞台だと人間くさく過ぎる感じもする。
この作品は私が好きな状況設定だけにSFを使った作品で、六本木も出てくるが登場人物たちは現代に生きているような存在感に溢れていてとても面白い。
強いて言えば、菊池秀幸の「魔界都市」などに通じる部分が有りすぎるのが難だ。そーいえば菊池秀幸は青山大学出身なはずだが、物語の舞台で多くかつ有名な作品は皆新宿だな。うむむ。
どうも私自身は東京出身なので新宿は度々行ってはいるが思い入れは今ひとつ。大沢在昌の書く六本木の透明感の方がかえって親近感を覚える。もっともバーガーインで食べるのはハムステーキだけど(w
これはちょっと新宿デビューをしなくてはいけないか!って小説読んで何故こう思う?
10月13日
「結晶世界」J・G・バラード
本当に久しぶりにSFらしいSFと、選んだ読んだはずなのだがどう考えても純文学。
若かりしどころか子供の頃に読んだときは、ハンセン病も知らないし、ましてや不倫関係やそれを咎める宗教観なども全く理解できなかった。
今になって読むと、主人公の不倫相手への思いやそれを罪とし報いる罰、人間の善悪を代弁する登場人物や世界の変貌の様子などやっと理解できた気がする。
特にそれぞれが光と闇に縁取られた結晶化する森とそれ以外の地域、比喩含む登場人物たちの対比が面白いけど重すぎる。。。
大きな声じゃ言えないけど、この作品は私の生まれた頃の作品。と書いて歳が解る人はSFマニアだと思う。
10月12日
「天狗風 霊験お初捕り物控二」宮部みゆき
お初のシリーズは当時の庶民感覚溢れちゃ居ないかもしれないが、時代考証に重苦しさが無くてとても軽快に楽しめて好きだ。
んで、大新刊と購入したのはよいが、なんか本が分厚い。読み進むとさらに短編集ではなく長編作品であることに気づいてちょっとげんなり。
電車の中でしか趣味の読書の時間が取れないので、個人的には長編だと作品全体のリズム感が取れずにちょっと辛い。
作品自体はぼちぼち面白いと言った感じかな?前作から時間が空いているので、キャラクター的にこなれているが読者にもそれを求めているのは仕方が無いという程度。キャラクターの変な紹介をだらだら続ける作品に比べれば段違いのおもしろさだ。
内容は「一陣の風と共に少女が連れさらわれる事件を追ううちに霊(神仏)的な戦いに巻き込まれる」というありきたりなプロットではあるが、そこが宮部みゆきで個々のエピソードや生き生きとした登場人物が、魅力いっぱいに読者を作品に引きずり込んでいく。
ほんと、ミステリー作家ってSF以上にネタ切れだと思うけど、プロットは同じでも著者の力量だけおもしろさが違うよね。
10月11日
久しぶりにお酒が自販機で売られている時間(本当は東京都は自主規制で自販機撤廃の方向)に帰ってきたのでビールを飲みながらTVなんぞ見てみると、とんでもな新作アニメが放映されていた。
その名も「ナジカ電撃作戦」
「調香師で実は秘密機関のエージェントの主人公がハインドに乗って、お屋敷に幽閉された少女を奪回する」ってストーリーなのだけど、お屋敷を守る武装メイド(おお!)との戦闘シーンでは、パンチラ満載。いやチラではなくモロかもしれんが。。。。いやーお腹いっぱい(w
なんで、夜中にこんな番組を見ねばならんのだ?と自問自答しながら、画面に釘付けで笑いこけながら楽しめたので良しとしよう。
10月10日
「流血国家」トムクランシー
人気の?オプセンターシリーズの最新刊らしいのだが、案の定シリーズのまとめ的(転換期かも?)作品を最初に読んでしまったので全く楽しめなかった。
トムカランシーって「レッドオクトーバー」以来まともに読んでなかったのもあるし、映画になった作品のイメージが強いので、読んでいてこのシーンは映像化しても面白みがないから省こうか?、この場面展開では試聴車が着いてこれるかな?さらには尺が足らないなどと違う楽しみ方をしてしまった気がする。
まあ、最初上巻を読んで止めようと思ったのだが下巻までちゃんと読めたので、楽しみ方に問題があるにしても楽しめたってこと?
ちなみに、あらすじはテロによってダムが破壊されるって話です。
10月9日
先だってからステップ数にこだわるのは、PICは普通のCISCマイコンと違い単純なRISCな為、ステップ数で実行時間が決まるため、普通ならハード制御などに頼らざるを得ないような処理もソフトで出来てしまうのだ。
簡単な例なら、シリアル通信ならやる気になれば19200bpsなら楽勝でソフトで制御できる。旨くタイマーやハードの割り込みを使えば38400もやってやれないことはない。約26m秒のパルスを制御しながら、それをビットからバイトに組み立てエラー処理をして、かつ普通にデータ処理をするわけだからかなり速いけど半二重で手一杯って感じ。
9600双方向2チャンネル通信なんてのもソフト+ハードUSARTで出来るけど、メモリーが少ないのでどこかに直ぐ投げないと溢れてしまうのが難点だけどね。
10月8日
SUBWFしか無いよと昨日は書いたが、14BITコアならSUBLWが有るのでもう一ステップ短くなる。
もっとも、最大の問題はニーモックのコマンド名の順番と実際の引き算が無茶苦茶なこと。
SUBWF ならば「引き算FからW(Subtract W from F)」と読めるので、F-Wと言う結果が出るのが解るしそれが普通だ。
SUBLW だと何故か「引き算LからW(Subtract W from L)」となり、上記のコマンドとも順番が違うし、一般的なCPUのコマンド表記とも逆になってしまう。もちろんコマンドだけはDEFINEで対処するのが望ましい。
COMP 010H の様に書かれていれば普通は全段のコマンド実行の結果が残ったアキュムレーターからリテラル値を引き算するのだが、PICの場合は全く逆でリテラル値をアキュムレーター値で引いてしまう。
例えば、リングバッファなどでアドレスを間接制御していて上限値や下限値を超えたら駄目よ!って制御の時に普通にリテラルに限界値を書いておくと、キャリーが逆に立つのでかなり迷うこと必至。
その辺をCOMP_JZ,Cの様にマクロで固めれば間違いも少ないけど、でもステップ数が合わないしなかなかね。
10月7日
ICE無しではデバッグが難しいけど、有ると簡単に解っちゃう例。
◎PICマイコンはスタックが8個しかないので、サブルーチンからサブルーチンは7回しか呼べない。もちろんICEなら9個目のスタックを使おうとしたときに一発でエラーが出て原因判明。
◎PICマイコンは条件判断ジャンプがないので、条件を判断して次の命令をスキップするか実行するかして処理を分岐する。次の命令には絶対ジャンプを書いておく。
SUBWF REG_Z,W レジスターはいじれない場合(リングバッファーの使用量とか)。てな感じだけど、そう普通のコンペア命令がない上に、JUMPZやCALLZが無いので計算・フラグ判断・ジャンプと3段重ねな為どうやっても間違える。でもICEがあればSUB(引き算)のところでブレークをかけて後をステップ実行すれば一発。
MOVFW REG_TEMP とりあえず待避
MOVLW 0FFH 比較したい数値
SUBWF REG_TEMP,W 比較するデータのレジスタ
BTFSC STATUS,Z 私の場合は、#Define SKIP_NZ BTFSC STATUS,Z と宣言して使うけど
GOTO 計算結果が0の場合のどっか
GOTO そうじゃない別のどっか
◎PICではレジスター退避命令がないので、フラグに影響を与えない命令(SWAP)を利用してレジスターを待避しなければいけない。でもSWAPを使うとデータの上下位が反転するので戻し忘れたり。待避する順番を間違えると絶対元に戻らない。これもICEで割り込みの入り口と出口で網を張って待っていれば、元通りに戻ったか確認するだけで終わってしまう。
◎PICでは割り込み(ベクター)番地が一つしかないので、割り込まれてからハードフラグやソフトフラグを確認して処理を分岐するのだけど、当たり前だが他のフラグ消し忘れたり多重割り込みでよく間違える。当たり前だが割り込みベクター先で網を張って各フラグを調べれば一発解決。
と言うわけでICEがあると便利なので、趣味の工作でも買っても損はないよ。
もちろん、メモりー・レジスター・その他リソースが十分に有り、ハードブレーク機能があるCPUならモニタープログラムを載せるだけでも同等のデバッグが出来ないこともない。それじゃモニタープログラムのデバッグはどうやって。。。てな鶏卵な問題は残るけどね。
10月6日
そんな、大事なICEだから、ちゃんと必要な機能が無くてはいけない。
クリアビューマティアスの場合必要なモジュールは以下のよう。
本体:あたりまえ
メンバーモジュール:CPU毎に対応した製品を買うしかない。
ファミリーモジュール:演算コア(アキュムレーター)毎に分かれている。
12ビットコア:5Xシリーズ専用のCVM5XFが必要プローブ:通常のDIPのプローブは付いてくるがパッケージによって買う必要がある。
14ビットコア:CVM03Xが必要。CPUによっては旧製品のCVMXXFでも使えるがブレークポイント条件設定が少ないし、エミュレーション速度も遅いので止めた方が良い。
トレースメモリー:トレース出来ないと困るので是非買った方が良い。
タイミングモジュール:トレースメモリーに機能が入っているので買う必要はない。
制御ソフト:本体を買うと一緒に付いてくる。アセンブラも同梱。
デバイスファイル:NECすら最近はただで配っているので付いてこないはずがない。
そう、昔はNECのCPUを使うとNEC純正ICE(馬鹿高い)を止めてセカンドソースを買ってもデバイスファイルを買わなくてはいけなかった。そんなメーカーは誰も使わなくなって行くのが普通。(最近はこりてただで配っている。さらに、98用とDOS/V用でアセンブラが別売(どっちもちゃんと動く)なんてひどいもんだった)
これをメーカーから直接買うと1200ドル程度だけど、ICE無しなら1ヶ月かかるデバッグも下手すると1時間で終わることもあるので思いっきり安いと思う。ちなみにマイクロチップ純正は40万円(これでも特値)くらいする。
10月5日
で、ICEってって使うのか?という話に戻ると。
とりあえず基板に刺す。でソフトをロードする。で色んなテストをしてちゃんと動けばそれで終わり。
なんだけど、有る程度大きいプログラムは絶対に一度では動かない!
たとえば、基板のスイッチで入力されたの何のボタン?というときに、取得したデータとこのボタンが操作されるとこういうデータになるはず、ってのを比べてそのボタンが押されたはずとして処理を進めるのだ。
はず、そう全てがはずなので、回路図が間違っていて予定と違うデータが来るかもしれないし、そもそも基板が間違っていて全然データがこないかもしれない、さらにプログラムのバグやアセンブラのバグ、ひどいときはCPUのバグまであるのだから何処に原因があるか掴むまでがとても時間がかかる。
で、ICEがあると、実際に処理しているときのメモリーやI/Oの状態がみられるので、原因が何百万倍も掴みやすい。
さらに、ハードの絡まないソフトのバグの場合でも「一体全体この大事なデータを誰が書き換えちゃったの?」てなときに、そのメモリーを書き換えたら処理を止めることが出来るので、止まったときにどこで書き換えているのか見ればよいのだ。
出来の良いICEでは、そこの処理に来たら止まるだけではなく、メモリーを「読んだら・書き込んだら」「何回書いたら」「何回読んだら」「何を書いたら」ってな条件を付けて止めることが出来る。
大事なデータが本来「100」で有るはずなのに、いつの間にか「0」に成っちゃうときなんか、「0」を書いたら処理を止めるように条件付けて犯人を捜すのだ。
10月4日
昨日に引き続きクリアビューマティアスのインプレッション。
で、そもそもICE(アイス)ってTVやラジオやその他あらゆるマイコン制御機器を開発するときに、マイコンの代わりに基板に刺して動きを確かめたり、ソフトのバグを直すときに使う機械だ。
もちろん、スタンドアローンで簡単な処理しかしないので有れば、無くても開発できるが、ハードウエアの割り込み(基板回路のどこぞの状態が変わったら制御が切り替わる)とか、多重に通信処理をしていると、実際の基板で動作させないと全くデバッグできないので使うのだ。
昨日の「アセンブルして1ニーモック1命令にならんでも最終リストを見ればRISCマイコンなんだから実行時間が解るだろう!」とのご意見もあるだろう。
しかし、「仕事でデバッグしていてちょこちょこと直しを入れているときに数えるなんて工数の無駄。ICEを買ったのだから、実行時間が計れなきゃ意味がない」と思うのがプロの普通。
ところがだ、注文前に見積もりとモジュール組み合わせの問い合わせをメーカにして間違いなく購入したのに、トレースモジュールまたはタイミングモジュールが別途必要だった。大失敗。
トレースモジュールはその名の通り実行した命令の順番を覚えていてくれて、「なんでここで判断にミスしたかな?どうしてこのルーチンが呼ばれちゃったのだろう?」って時に前の処理を振り返ってみることができる。出来の良いやつはそのときの各レジスターの値も覚えているのでなお便利。
で、トレースモジュールがあれば、間違って入ってしまったルーチンでCPUを止めてどこから入って来たかがみられるのだけど、無い場合、ソフト全体の入ってきそうなルーチンの終わり(分岐部)を全て確認しないとどこから何で入ったかが解らない。
例えば、ビデオデッキが一時間以上録画していてテープ残量表示がおかしくなるなんて時に、一時間録画して一回で終わる確認が、テープ残量の表示ルーチンを呼び出している可能性のある親ルーチンが10個あれば、10時間テストしなくてはいけない。
って、くらい大事なものを買い忘れたのであった。
10月3日
Techtoolsのクリアビューマティアスを本格的に使い始める。
ICEのコントロールソフト兼プロジェクト管理ソフトと一緒に同社の拡張アセンブラが付属してくるがこれが結構くせ者で、アセンブラなのに1ニーモックが1命令にアセンブルされない。
さらにラベルの記述なんかが違って、マイクロチップ社純正のMPASMで以前に開発したソースやサンプルプログラムがそのままアセンブルできない。
もちろん最近のマイコン製造各社のアセンブラだって拡張されていて、SWITCH CASE やIF ELSEなどの疑似命令が使えるものが多いのでそれだけを悪とは言わない。
しかしなにより、開発期間が通常の1/3しかないので、癖の解っているMPASMでアセンブルしようとしたら動かない。
プロジェクト管理の方で他社アセンブラやCコンパイラのファイル名やパスが設定できるのだが、何故か自分のディレクトリーしか探さないので、昔懐かしい「ファイルまたはコマンドが違います」状態になる。
対策としては、Techtoolsのツール(要するに製品名PICTOOL)の有るディレクトリーに、マイクロチップ社のMPASMと各CPU用のINFファイルをコピーすると使えるようになる。
もちろん、向かしながらにPATHを通しても良いはずだけど、試してないのでコピーする前に試しても良いだろう。
後は、プロジェクト管理ツールの設定で、プロジェクトツリー自体にMPASMを指定して、ソースツリー自体には何も指定しないこと。ソースツリーに指定するのはリンカーなので単一ソースなら必要ない。
そのうちページにまとめようかな?もちろん完全な備忘録として。
10月2日
ルーターのftp-data、ftp-cont、telnet、sshを締めていて何故かICMPが通らなくなった事件だけど、はっきり言って全く原因が分からず。
今日も専用線の会社(DAなのでNTTCOMだけど)から電話があって、リクエストしていた監視ツールのIPアドレスを教えて貰った。
それで、仕方なく監視ツールのアドレスだけpassさせたら、ルーターが不揮発メモリーに設定情報を書き込んでいる間に再度電話があったのでびっくり。
もちろんちゃんと復旧した(pingが通った)という感謝の連絡だったのだけど、不具合時に5分後に電話がかかってきたことに比べると、復旧時に30秒以内だったので重点監視されていたのかな?
でも、担当者は「完全passさせているので悪戯しないでね」という冗談が通じずつまらなかった。せめて「必要なときは外から設定してあげますよ」くらい切り返して欲しかった。それが営業の有るべき姿であると思う。なんのこっちゃ。
10月1日
PICのICEが来て早速使ってみるが今ひとつ。この辺の報告は後でまとめて。
Techtoolsのクリアビューマティアスってやつなんだど、みすぼらしいほど安っぽい造り。
いやあ、開発機材なんだから性能が全てってのもあるのだけど、せめてピンヘッダーはDIN規格コネクターにするとか、ターゲットプローブは金メッキにするとか長持ちするようにして欲しかった。
一応、設定上は33MHzくらいのCPUまでエミュレーション出来るようだが、パイプライン付きのRISCマイコンなのでやる気になれば1または2クロックでI/Oを変化させられるので、只のフラットケーブルのプローブではかなり不安。
などといいつつ、久しぶりにPICを使ってみたら、10MHzぽっちで駆動しているのに以外と処理が速く、ソフトウェアーインプリメント半二重シリアルとUARTを使って全二重の2チャンネルを楽勝で処理中。
もっとも、バッファーメモリーとして使えそうなのが150バイトくらいしかないし、ハードウェアースタックが8しかないので、ソフトウェアー半二重通信中にUARTの送信終了割り込みが入って、アンサー受信をしつつ処理ルーチンが回ったりタイムアウト処理をしたりすると結構お手上げ。
少なくとも倍の16くらいスタックが有れば各ルーチンをサブルーチン化して多重割り込みにも対応できるのだけどね。
そうすればページ切り替え限界の2kバイトでも結構重いプログラムが書けそう。