過去の恥ずかしい記録をまとめました。

デジタル降魔録TOPページ




-過去ログは古い順に並んでいます-

2007年8月1日(水)

おどろいた・・・


 久しぶりにトランジスタ技術(CQ出版社)の8月号を本屋で見て驚いた。付録にボード基板が付いてる。
 え~。すごい!
 いつの間にこんなことやりだしたんだろ。たしかに久しく〝トラ技〟を見ていない。最後に購入したのは2003年頃だ。
 その間、Flashに凝っていて、すっかり存在を忘れていた。

 付録の基板には最新PICが付いとるぞ。dsPIC30F2012という、フラットタイプのやつが真ん中にドンっと・・・。
 他にも押しボタン、スライドスイッチ、LED赤と緑、シリアル通信用のバファーICなどが、2cm×6cmの基板に半田付けされて・・・。
 おぉ。いっちょ前にパスコンまで付いてる。すごいね。
 シリアルケーブルでパソコンとつないでプログラムのダウンロードができるんだと。
 そんなのが雑誌の付録になるなんて・・・。おいおい。時代は変ってるんだね。知らなかったよ・・・。
 なんかひとりバカみたいだぁ。
 どうせ、俺なんて遠足のオヤツは100円までの時代さ。バナナもオヤツに入るんだぜ! 知ってた?


 このdsPIC30F2012というのは最新のやつらしい。ランク別にすると

     PIC10
     PIC12
     PIC16
     PIC18
     PIC24
     PIC30
     PIC33
    ・・・と、なるらしい。
 今年からやっとPIC16F877で喜んでいるのに・・・。20MHzクロックで大意張りしてたのに・・・。
 こいつはクロック120MHzなんだと・・・。がっくり。クリクリ。
 ただ、本では動作クロックは内蔵オシレーターで117.92MHzと書かれているが、基板を協賛しているマルツーパーツ館では30MHzとなっているどっちが正しいんだろ?

 一部の機能が無いのでマイクロチップ社ではDSPと呼ばすにDSC(Digital Signal Controller)と呼ぶんだそうだ。なんでもいいよ。ぼくもがんばって追いつくからね。

 この本を衝動買いしたのは、いうまでもない。
 (ちなみにCQ出版のまわし者ではないからね)




2007年8月3日(金)

夏風邪に注意・・・


 昨日、喉の痛みに耐えかねて近くの診療所へ駆け込んだ。ここの先生とは昔からの付き合いで、年齢が近いせいかウマが合う。なので、何かあるとすぐに飛び込む。
 以前、「魚の骨が刺さった」 と飛び込んだことがあるが、嫌な顔せずに治療してくれた。

 で、その診察室でのこと・・・。

 「今日は何?」
  〝何?〟・・・って、暇人が遊びに来たんとちゃうで。
 まぁ、しかたがないか。いつもしょうもないことで顔を出しているからなぁ。耳が変だとか、魚の骨が刺さったとか・・・唯一治療らしいことをしてもらったのは花粉症やったかな・・・。そらしゃーないか。

 喉が痛いことを訴えると・・・。

 「おぉ。はれとる、腫れとる。扁桃腺炎やな♪」
 何か楽しんでないかい?

 「早く何とかする方法と、ゆっくりやるのとどっちがいい?」 と聞いてきた。
 え~? ゆっくり治療する方を選ぶ人がいるのか?

 「そりゃ~。早い方がいいです。」
 「そやな、ほな点滴な。」
 すぐに看護婦さんに何やら書いた紙を渡して、2階の点滴室へ移動して点滴のを始める。
 点滴は初めてではないので、看護婦さんに早めに落下するようお願いしてしばらく横になっていると、なにやらむず痒くなる。
 点滴の絆創膏のあたりが無性に痒い。ポリポリ掻いていると今度は別の腕が痒い。あれっと思っていると足も痒くなってきた。何がどうなったかのか解らないまま30分ほどポリポリ掻きながら点滴終了。

 終了後、気が付くと全身いたるところに、蚊に刺された後のようなものが出来ている。すかさず看護婦さんがそれを見つけて先生に知らせる。
 「おぉ。蕁麻疹やがな。なんでや。君・・・蕁麻疹はなかったよな。」
 「何度か受けてるけど、ないですよ。」 ポリポリ掻きながら答える。
 「あかんで。それは・・・。今度から別の医者にいったときにコレを見せたって」と小さな紙切れにクスリの名前を書いて渡してくれた。(・・・この紙切れあんたに見せたろか)

 「それと、明日は会社休みやで。」おいおい、勝手にスケジュール決めるなよ。そのために早く直す方を選んだのに・・・。
 処方せんをもらいクスリを買って自宅に向かう。

 蕁麻疹は1時間もするとすっかり引いていたが、自宅で体温を測ると38度だった。
 仕方なく、夕食後すぐに寝床に入る。気温の高さに加えて体温も高い、まるで毛布に包まっているようでものすごく暑い。
 クーラーを掛けてはダメといわれているが、もともとクーラーが嫌いなので扇風機だけでも我慢できるが、体から熱気が出ているのが触れなくてもわかりそうだった。


 朝、いつもの時間に目覚めると、熱も引けていたので出社。へへ。そうそう休んでられまっかいな。と思いつつ、反面、こうして寿命が縮んでいくんやろなぁ・・・と、反省はしているが朝からキーボードを打ち込み、ビッチリと詰まったスケジュールをこなしていく。
 どこらへんが反省やねん。と自分に向かって罵るアホなおッさんでした。


 風邪は万病のもと・・・。気をつけようね。





2007年8月4日(土)

夢は己の精神モニターなのぢゃ(2)・・・


 今日も猛暑。暑くて寝てられない・・・。というのはウソ。
 ゆっくり寝ていたい気持ちと、頭の中にある色々な予定を消化したいという気持ちが葛藤・・・。
 ・・・で、結果。変な夢を見て起きだす。午前5時55分。(・・・へへ。ゾロ目だからフィーバーだぁ~)

 そんなことより今日は休日だぜ。もっと寝てろよ。・・・点滴打って2日目なんだろ。


   だいぶ前にも書いているが、見た夢から自分の精神状況を分析するのが大好きだ。これも仕事柄? なのかな・・・。常にデータ有りき、これをどう分析して新しいものに変えてくか・・・。こんなことばっかりやっているのが、フィードバックされて、そんな夢を見るのか・・・?

 目を覚ますきっかけになった夢なんだが、自分の足の裏が向こうの壁についていて、頭も反対側の壁について動けなくなった・・。という夢で目が覚めた。別に嫌な感じもなかったし、痛くもない。ただ面白くもなかった。

 ちなみに、痛みのある夢は見ないという説もあるらしい。たしかに、嫌な夢、怖い夢、面白い夢、一杯あるけど、痛い夢は見たことがない。なんか夢だけの話でホームページができそう。・・・つ、作りませんよ。あたしゃ作りませんよ、身体が持たないからね・・・( ´艸`)ムププ。

 寝ている部屋は6畳部屋の真ん中。身長はそれほど高くない165cmだ。どう寝ても、足と頭が壁にぶち当たって動けなくなるはずがない。

 目が覚めて、夢の状況と現実の状況を比較して笑ってしまった。起きた時、身体は天井を向いて寝ており(上向き) 足の裏が布団に付いていて足の皿の部分で曲がっていた。早い話が、体育座りのまま体を後ろに倒して寝ている状態・・・。さらに、手が頭の後ろに伸びていて頭の上の壁に触れていた・・・。ようは、手の先が壁に当たり、足の裏が布団に付いていたという状況だ。

 すげぇ~。確かに足の裏が何かに当っている。(この場合は布団) そして頭ではないが、手が頭の後ろに廻って壁に触れている。このような状況で、頭と足が壁に当って身動き取れない夢を見るんだ。

 人間ってすごい。間違った状況判断でもここまで分析してるんだ。

 コンピュータでロボットを作ったときの参考になりそう。自分の置かれている状態が地面に対して、水平なのか垂直なのかを、正しく判断していればこのような不具合は起きなかっただろうに。
 水平だとか垂直だとかを無視して〝足の裏が床についていた〟だけで判断させたら、そのロボットではこの夢が現実になる。

 ・・・何て、ことを考えているから目が覚めてしまう。

 今日は例のエッセイ集〝西宮文学全集〟の8月号の原稿のアップをする。
 作家人から送られてきた原稿と、自分の原稿に挿絵を追加してFlash化してサーバーにアップする。
 毎回思うが、ひとの原稿はおもしろい。自分のは・・・いまいち・・・。
 うぅ。あんな夢を見ていたからだ・・・。





2007年8月11日(土)

ゆっくり寝ろよ・・・


 無事に何事も起こらず夏期休暇に突入。
 よかった・・・。ね。
 ゆっくり眠れるね・・・。

 そんなこたない。

 休み初日は、知り合いのホームページに効果音とBGMを付ける作業をしている。それも早朝7時から・・・。

 別に急がされているわけでもなんでもない。でも目が覚める。あ~やろう。こ~やろうと考えているうちに目が覚める。
 しょうがないね。そういうことだ。死ぬまで直らんだろうね。

 この人のホームページ。デザイナーさんのホームページなので出来がすごくいい。ほんとに綺麗に仕上がっている。もちろんオールFlashだ。(オールFlashといってもフラッシュROMではない・・・ホームページコンテンツのFlashプレーヤーのこと)

 このホームページに効果音とBGMを付ける作業を手伝わせてもらっているが、実に勉強になる。色の使い方やキャラクターの配置なんて、〝さすが〟というしかない・・・。(完成したらお知らせします)

 ところで話は全然関係ないが、面白いことを考えた。このFlashプレーヤーを利用して、仮想のPICデバイスのシミュレーションを作ってみるというのはどうかな。

 最初は簡単に、I/OポートにLEDとか接続して、点滅させるという状態をネット上で再現するところからはじめる。
 マウスでLEDを接続するポートを選んで、もちろん抵抗なんかも接続させて、間違った抵抗を付けると過電流で仮想のPICが焼損したり、抵抗値が大きかったら暗くなったり・・・。もちろんプログラムも出来て、点滅速度なんかも変更できるってのはどうかな。

 プログラムはある程度のものに限定するが、ポートの入出力設定や〝bcf〟〝bsf〟〝goto〟〝call〟や論理演算などをブロックという出来上がったカタチで作っておいて、それを順にプログラムエリアに並べて、RUNボタンを押すとそのとおりに動きだすというもの

 〝call〟文があるということはスタックも考えなくてはダメだな。スタックのレベルは何層までにしようか。

 MPLABのポートシミュレーションは、ポートの変化を手動で入れなければいけないはず。ポートを変化させたいときは〝fire〟ボタンを押すようになっている。そうではなく、ある周期でいいから自動的にポートが変化していけばもっと面白い。(MPLABで自動変化って出来るの?)

 以前Flashを使って歯車のシミュレーションをしたことがある、コレを利用すれば任意の周期でスイッチを叩く画像を作れるので、スイッチが叩かればポートが変化すればよいわけだ。

 なんか面白そう。無性に燃えてきたぞ。う~ん作りたい。

 この休みはここのリニューアルの最終段階まで作るはずなのに・・・どうしよう。

 FlashプレーヤーとPICの融合か・・・
 〝Flash Pic〟か・・・面白そう。
〝Macromedia〟と〝MicroChips〟・・・なんか近い・・・どこが?

 とりあえずここのリニューアル工事と平行して考えてみよう。

 だぁ~。また寝られなくなりそう。





2007年8月12日(日)

先にリニューアル工事続行ぢゃ!・・・


 今日は朝からこのサイトのリニューアル工事の続行を決める。じつは、昨日考えていた仮想のPICシミュレーションの方もやりたいが、やっぱり土台がしっかりできていないと、あとで総崩れの恐れもあるので・・・。こっちから先にやることにした。

 Flash AS(Action Script) のページには、AS1で作ったゲームを並べたので、これで少し時間稼ぎをさせてもらおう。
 そのあとFlash AS を使用したFlash PICシミュレーションを作っていく予定にする。
 しかし、できるかな? 部品どうしの結線をどうするかまったく考えていない。シミュレーション部分はある程度構想はできているが・・・。

 速度の問題は・・・これはしょうがない。1命令200nS(nSは10億分の1秒)なんてできるはずが無い。ここは、動きだけをシミュレートするということで・・・許してね。だははは。





2007年8月14日(火)

カタチは出来そうだ・・・


 Flash AS を利用したFlash PICシミュレーションのカタチは決まってきた。どんなものかというと・・・。
・・・・・・まだ、出来てないのに先に公表しちゃってだいじょうぶかな?

 ま、構想だからいいんじゃない・・・。

 仮想のPICデバイスを搭載したトレーニングボードをFlashプレーヤーを使ってインターネットのブラウザ上で実現しようというもの。
 これなら半田ごても電源の心配も要らない。おぉ、え~な。

 トレーニングボードというのだから、もちろんプログラムして動かすことができる。作ったプログラムはセーブも出来るし、後日ロードして、変更も可能にするつもり。
 プログラムははまだ出来ないけど、全体の構造は見れるよ。

 トレーニングボードのハード構成だけど・・・

 搭載するCPUはFPIC16F999という仮想のCPUで、データ幅8ビット、アドレス幅は9ビット。プログラムは512アドレスまで使用可能。・・・ちっさい~。
 ま、最初だからこの辺からやらないと完成まで相当な期日がかかりそう。

 入出力ポートは7ビット幅のポートAと8ビット幅のポートB、Cのみ。全ビット個々に入出力の設定が可能な28ピンデバイス。
 CPUのメモリはRAM0~7の8メモリだけ。だはは。

 ポート以外のピンは電源ピンとクロック端子、リセット端子で全部で28ピン。
 CPUの速度はブラウザを動かしているマシンに依存するのでどうなるか不定。

 トレーニングボードの出力回路
 ポートBに接続された8個のLED(赤色)と、ポートCに接続された1個の7セグメントLED、ポートA-0につながった1個のリレー回路。

 そして、これがおもしろい。

 5個のマイクロスイッチを歯車の回転を利用して、いろいろなタイミングでON/OFFさせるマシン。〝ちきどん1号〟

 いろんなシミュレーターがあるかと思うが、自動的にスイッチをON/OFFさせて入力ポートをHi/Loしてくれるのはそう無いと思う。
 この〝ちきどん1号〟はもともとFlashで歯車のシミュレーションをさせてみたくて作ったのだが、他に使い道が無くて困っていた。それをトレーニングボードの入力ポートのON/OFFに使ってみようというもの。

 ボードに乗っているリレー回路はこの〝ちきどん〟をON/OFFさせるための回路。
 トランジスタでON/OFFさせるので、ポートA-0をHiにするとリレーがONになり、〝ちきどん〟が動き出す。
 〝ちきどん〟の速度は〝SPEED UP〟・〝SPEED DOWN〟ボタンで調整可能。

 トランジスタは2SC1815、使用しているリレーは信号制御用の10mAほどで動く小型のもの。リセット時に勝手にONにならないようにトランジスタのベースにはプルダウン用の4.7KΩがGNDに接続されている。リレーのコイル端子にはサージ吸収用のダイオードまで付いている。

 だはははは。本格的でしょ。

 画像のボードだけど・・・。使用している部品は全部、実際の回路を組んだ時と同じ値のモノを使用しているよ。

 トレーニングボードの入力回路
 〝ちきどん〟の駆動部分に取り付けられている5個のマイクロスイッチへは、ポートA-1~5が配線されている。
 ちゃんとプルアップ用の4.7KΩの抵抗アレイも付いている。
 あと汎用入力としてポートA-6に配線されている1個のタクトスイッチ。
 あとはリセットボタンも載っている。

 FPIC16F999の命令語はPICに完全準拠。ただしかなり縮小する予定。
 このボードのアセンブラでは擬似命令が使用できないので、あらかじめ擬似命令を組み合わせたアセンブラの命令を選択して、ソースウインドウに落とすだけでプログラムが並んでいくようにする。エディッタで文字入力するのではない・・・。という構想を練っている。

 ラベルはどうしようか・・・? 現在未定・・・

 RUNボタンを押すと勝手にアセンブルされてHEXコードがCPUに転送されて動き出す。(ここらは見えないので勝手に想像してね)

使用可能な命令は・・・。


	tris	PORT_A (ビット6まで)
	tris	PORT_B
	tris	PORT_C
	movwf	f	 (f=PORT_A,PORT_B,PORT_C,RAM0~7)
	movf	f,d	(d=fかWレジスタ選択)
	subwf	f,d
	addwf	f,d
	andwf	f,d
	iorwf	f,d
	xorwf	f,d
	incf	f,d
	decf	f,d
	incfsz 	f,d
	decfsz 	f,d
	bcf	f,b	  (b=0~7)
	bsf	f,b
	btfsc	f,b
	btfss	f,b
	
	andlw	K	(K=8ビットデータ)
	iorlw	K	
	xorlw	K
	addlw	K
	sublw	K
	movlw	K
	goto	A	 (A=9ビットのプログラムアドレス)
		
 こんなもんでいいかな?CALL命令は使用できないことにする。うまく動き出して調子にのってきたらいれるかも。
 でも、プログラムエリアが512しかないので必要ないかも・・・。やっぱいるかな?

 なんか構想だけで企画倒れになりそうなぐらい大変そう・・・。でも、もうカタチは出来て〝ちきどん1号〟も起動しているし・・・。

 いつ完成するんだろ・・・。





2007年8月15日(水)

どんなもんかな・・・


 仮想CPUのトレーニングボードの続報だよ。

 今日、ソースファイルの入力の部分までが出来た。しかし、ここでちょっと困ったことが起きた。
 ムービークリップが多すぎて速度の低下が目立つ。
 基板の画像をFlash上で作ったのがまずったかな。やっぱイラレ(イラストレータ)で作ってjpgかpngでビットマップとして取り込んだ方が良かったかも・・・。

 一応、Flash8以降に搭載されている、ビットマップキャッシュで静止画としての設定をしているが、さて完成時にどうなるか・・・。

 あらためて、この仮想CPUの速度を考えてみた。Flashのフレームレートを100(通常は12~30)にしているので、最高のマシンでレスポンスが最良の状態なら1命令の処理時間が10mSちょいオーバーになる計算。
 ・・・どはぁ~。お、遅ぉ~。クロック100Hzやんか。・・・ズデン!(ひっくり返った音)

 本物のCPUならこの1万倍以上速い。

しかし、考えるとFlashって遅いねぇ・・・。っていうか比較するのが間違いかぁ・・・。

まぁ、LEDの表示と〝ちきどん〟の動きに付いてくれば、今回はヨシとしよう。

 速度云々は実際のCPUで体感してもらって、ここではプログラムのフィーリングを感じてもらえればエエか。
 と、だんだん弱気になってくる今日この頃でした・・・( ´艸`)ムププ





2007年8月17日(金)

休みも終わるというのに、おおごとになってきたぞ。・・・



 仮想CPUの続報2だよ。

 やっぱり、いろいろと作りこんでいくとムービクリップの数が多くなり、全体にノロノロしだした。

 そこで、えい!と気合一発。基板の画像をFlash上で描画させる方法をやめて、一旦その部分をpngファイルに落として、あらためて画像として読み込み同じ場所に配置してみたところ、サクサクとまではいかないが、だいぶ軽く動くようになった。
 ついでに〝ちきどん〟の大きさも半分にして、Flashの描画負担を軽くした。これでかなり軽くなった。

 動きより問題は、プログラムの入力方法だ。テキスト入力にして何行もいっぺんに書き込んでアセンブルする方法も考えたが、どうもFlashのテキスト入力は非力だ。仕方無しにアセンブラのコードを一覧から選択して入力させる方法にしてみた。
 実際に長いプログラムを入力させてないので、使い勝手はどうなるか未定だな。使いにくいかもしれない・・・。

 インストラクションテーブルにアセンブラコードを選んで入力した後〝Enter〟ボタンを押すとアセンブラテーブルにアセンブラ言語が並ぶとこまでは出来た。

 最初はFlash内にPICのアセンブラ言語を中間コードにして入れ込んで、それを一行ずつ解析して動かそうと考えていたが、中間コードに変換するぐらいなら、思い切ってPICのマシン語にしてしまえ~。とインストラクションテーブルのアセンブラコードをPICのマシン語そのものに変換するようにした。

 FlashでPICのアセンブラを作るとは思わなかったよ~。

 ということは、逆にPICのマシン語からアセンブラ言語に変換する、逆アセンブラも作らないとだめ、ということだぁ~。

 アセンブラテーブルは、プログラムエリアの全アドレスの中から指定された部分の範囲内(16行)のアセンブラ言語を表示している窓にすぎないので、表示場所移動のボタンを押すたびに、マシン語から逆アセンブラしてアセンブラテーブルに送り込むことになる。げぇ~。

 なんかコトが大きくなってきたぞ。





2007年8月18日(土)

しんどかった・・・


 仮想CPUの続報3だよ。

 今日、一日かかってPICの逆アセンブラ部分と、リスト表示の移動などが動くようになった。

 たいへんだったよ。

 全部のインストラクションをまだテストしていないが、一応正しく逆アセンブルしているようだ。



 作ったプログラムのセーブとロードも、もう出来るので長めのプログラムを入力してみようかな。

 プログラムを作るプログラムを作っていると・・・ん?何かややこしいなぁ。
 とにかくFlashでクロスアセンブラを作るとは思ってもみなかった・・・。

 あぁ~ちかれた。

 でもよく考えたら、外部のPICのプログラムをファイルで読み込たら、単純にアセンブラと逆アセンブラとしての機能だけでも使えるよな・・・。
 MPLAB IDEのFlash版みたいなもんかな・・・?
 なんか面白くなってきたぞ。

 とりあえず、後は作ったプログラム通りに仮想PICが走って、トレーニングボードのLEDやらモーターが動き出せば万々歳だね。


 おんやぁ?
 今、ネット上でテストしてみたら、保存したプログラムを読み込むとラベル名が消えてしまうゾ。いきなりバグかぁ・・・。

 ま、明日直そう・・・。
 とかいってるまに仕事が始まるけど・・・。





2007年8月19日(日)

バグもとれて・・・


 仮想CPUの続報4だよ。

 ローカルのパソコンでプログラムの保存・読み込みが正常に機能するようになった。ただ、作ったプログラムをパソコンに保存する時に、Flashのローカルエリア保存領域を10KB以下にしている方は、保存領域増加をお願いする窓が開くと思う。ぜひこの機会に100KBほどにエリアを大きくして欲しいな。
 今どきのパソコンで10KBはないだろう。昔のマイコンじゃないんだから・・・。ね。


 今日初めて見た方のために、仮想CPUの概要を・・・。

 仮想のPICデバイスを搭載したトレーニングボードをFlashプレーヤーを使ってインターネットのブラウザ上で実現しようというものなんだ。プログラムを入れてRUNボタンを押すとそのプログラムに沿ってトレーニングボードに載っている部品がコントロールできるんだよ。これなら半田ごても電源の心配も要らない。ただし、手に持って触れることは出来ない。だって絵だもんね。・・・( ´艸`)ムププ

 プログラム言語はPICのコアを想定しているので、PICのアセンブラでプログラムする。
 ちなみに、逆アセンブラはPICの12/14ビットコアの機種に完全ではないが準拠してあるよ。〝RETFIE〟とか〝CALL xxxx〟まで全部出てくる。ただ、ここの仮想PICでは、速度の問題でかなり命令数を削ってある。なのでインストラクションテーブルに並べてある分だけでプログラムすることに・・・。
 調子よく動くようなら追加したい・・・けど。まだなんとも・・・。

 ジャンプ先はアドレス指定でもいいし、ラベル名を使ってもOK。20年まえのワンパスアセンブラとは大違い・・・

 プログラムの入力は出来るようになったとはいっても、まだCPUのコアの部分が出来ていないので、走らせることはムリ。
 次の段階で、いよいよ脳みそを入れていく予定。
 
 そうそう。

 〝ちきどん〟を動かしているモーターはACモーターをリレーで入り、切りしているだけの想定(回転速度は電圧計の下のボタンで変更できる)なんだけど、ステッピングモーターにして、仮想PICで回転数まで変えるというのも面白そう・・・。ただし、Flashの速度がどこまで追従してくるかによる。
 現段階でもなにやら苦しそうなんだ

 プログラムの編集画面ではサクサク動くが、いざCPUを走らせたら〝ちきどん〟の動きがどうなるか・・・。
あるいは、マウスの動きがギクシャクしだすか・・・。

 ここからが未知の領域(自分にとっては・・・)





2007年8月21日(火)

考えが甘かったっす・・・


 仮想CPUの続報5だよ。

 仕事が始まったので制作ペースがガタ落ちだ。まぁ、しょうがないけどね・・・。

 ところで、SFR(Special Function Register)に穴がいっぱい開いていたよ。

 だぁ~。恥ずかしい。
ここまで来てはじめて気が付くとは・・・我ながら恥ずかしい。

 INDFとFSRが無いと間接アドレス指定が出来ないし、テーブルデータ参照にはPCLも必須。となるとCALLとRETLWが無いとだめなことに気が付いた。
 ややこしくなるのでCALL命令は入れずに済まそうとしていたが、甘かったぁ。

 とりあえずしょうがない、追加することに・・・。

 逆アセンブラを完全対応していたので、簡単な追加で済んだのが不幸中の幸いだ。







2007年8月23日(木)

雷にご用心・・・


 ここ連日雷がすごいけど、みなさんはどうしているのかな?

 私は稲光と音の差が少なくなってくると、すぐにネットに接続しているケーブルを電話線の根元から抜く。
 雷サージの恐怖から逃れるための対策で、さらにひどくなるとパソコンの作業を中断して電源もコンセントから抜いてしまう。
 神経質のようだが、大事なファイルを飛ばしたくないのでやっている。

 雷の被害は意外と多いらしい。「ピカッ、ドン」の一発で街中の電話線を伝わったり、電柱から電源線を通ってパソコンに直撃してくる。「アッ」と思ったときにはもう遅いよ。ネットに接続できなくなったり、パソコンが立ち上がらなくなったりする。

 直撃雷をくらったら、コンセントにささっている電化製品は全滅になると考えた方がいい。実際、私の友人がこの被害に合っている。帰宅したらTV、ビデオ、電子レンジ、炊飯器、冷蔵庫が真っ黒だったそうだ。おぉ~。怖いっす。

 ADSLのモデムを飛ばされた人も数人知っている。遠くの雷だったので気にしないでいたら、いつのまにか接続不能になっていたらしい。まさか自分のユニットが飛ぶとは思ってもいなかったと後で悔やんでいる。気をつけようね。

 雷は「ピカッ、ドン」の一瞬で、大電力を大地に放電しているんだよ。なんてもったいない話だろう。
 雷を充電しておく方法は無いものかな?そんな充電器が出来たら、みんな先を争って屋根に避雷針を立てるだろうね。「ドンッ」の一発で数週間分の電気代がタダになるんじゃないの・・・。

 これからは原子力発電よりカミナリ充電器でしょ?
 ムリなのかな・・・?
 そっち方面には無知なもので・・・すみません。





2007年8月26日(日)

動き出したよ・・・


 仮想CPU(Flash PIC)の続報6だよ。

 初めて訪問された方のために・・・。
 仮想CPUといっても中身はマイクロチップテクノロジー社の販売しているCPU、PICのシミュレータだ。それをインターネット上で動かそうという計画。PICについてはコチラを・・・。

 今日でほぼ80%はプログラムできた。まだ、CALL命令とRETLW命令 が残っているが、ひと通りプログラムが走る。


 そうそう。現時点での重要なバグは、プログラムを追加してジャンプ先が移動しても、ラベル名の位置に正しくジャンプしてくれない。
 これは、ちょっとひどい。次の機会までには修整する予定。なので、今のところジャンプ先はアドレス指定で行った方が正しく動くよ。

 まだ〝ちきどん〟との連携もできていないので、マイクロスイッチの入力検知はできない。これもおいおいやっていくつもり。

 ショックな問題がひとつ・・・。

 プログラムの入力がし辛い!
 最初から気にはなっていたが、やっぱりテキスト入力でいけばよかった・・・。せめてインストラクションテーブルにキーボードから入力してENTERボタンを押したら、プログラムエリアに入るというやり方に変えるべきかな?

 まだまだ問題山積みだけど、とりあえず動き出した。

 初期段階でサンプルプログラムが入るようになっているので、とりあえずRUNボタンを押してもらえれば、LEDが順に点灯していくのが見れるよ。
 何かプログラムを入れてしまっても〝プログラムを削除する〟を選ぶと、初期プログラムに戻るので安心してちょうだい。

 ちなみにサンプルプログラムは最適化もな~んもやっていない。正しく命令が動いているか、いろいろな命令を使ってみているだけなので、突っ込まないでね。

 最後に速度の問題だけは眼をつぶってもらわなければいけない。
 本物のPICでこのサンプルプログラムを走らせたら、LEDは〝ぼぉ~っと〟と光るだけで順番に点灯していくようには見えないはず。それは点灯の移動速度が速すぎるため。なので、サンプルプログラムのようにLEDを点灯させようと思ったら、かなりの時間つぶしの処理を入れなければだめだ。でもこのFlash PICでは、時間つぶし無しでこの速度だもんね。

 おそぉ~い。

 こんなに遅いと〝ちきどん〟に付いているマイクロスイッチの検知漏れが出てくる・・・。ど~する?
 ラッチ式の回路が入っていることにして、スイッチの状態を読んだらラッチクリアするという手があるけど・・・。ど~しょ?

 悩み多きFlash PICの続報でした。




2007年8月28日(火)

なにが80%はできた・・・だよ。


 Flash PICのことだけど、よく考えたらプログラムカウンターへの加算命令や、間接アドレス関係もできてないじゃん。まだまだ先は長い・・・。
 入力ポートも全然未対応だし・・・。平日はまったく手をつけられないし・・・。
 仕事は次々入ってくるし・・・。

 また夏休みが来ないかな。
 子供丸出しですな。なさけない。・・・( ´艸`)ムププ

 片付いたことと言えば〝G30〟(仮名)が9月1日出荷と決まったぐらいかな。
 2ヶ月のテストランでバグは出てないが、ちと不安・・・。あとは世間の荒波に呑まれて角が取れることを祈ろう。