SVX日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|

2007-01-19(Fri) NASと刺し違える

  先日からNASをイジりまわしているが、今日は前面にハメ込んであるLCDパネルをその筋するのである。まずは、脇にある「PRG JP」と書いてある部分のピンアサインを調べる。間違いなく、LCDパネルを制御しているのは載っているPIC16F628Aであり、「PRG JP」はインサーキットプログラミングするためのジャンパに違いないのだ。

  画像の説明

  搭載されているPICはSSOPパッケージであり、ピンピッチ0.65mmなので、テスタで導通を調べるのもそれなりには大変。えーっと「RPG JP」と読める状態で、一番右から「15, 16番ピン、5, 6番ピン、4番ピン、14番ピン、13番ピン」と、敢えてPICのピンアサインを知る前に調べる。で、答え合わせ。「Vdd, Vss, Vpp, PGD, PGC」。こりゃ、ビンゴですな。

  次は秋月のPICプログラマのピン配置を確認。ICクリップを持ってきて、該当する場所と各ピンを接続する。なんだか、かなりコンジェスチョンな状況になっているが、ファームを吸い出す一瞬の作業の間だけだからこれでいいのだ。イザ、吸出しッ!!

  なんだか、PICの種類が違うとかいうようなエラーが出たが、見慣れた「System starting.Please wait.....」という初期メッセージも見えるし、どうにか吸い出せているようだ。すかさず逆アセンブラ代わりのPICシミュレータにかけてニーモニックに変換する。

  画像の説明

  オイラは日頃、PICのプログラミングをZ80ニーモニックで行っているので、PICニーモニックのままでは意味がスッと頭に入ってこない。そこで、PICシミュレータ上のPICニーモニックを、Z80ニーモニックに変換しつつ、エディタに打ち込みながら動作を理解する。ふむ、ふむ、ふむんッ!! しかし、やってることはリバースエンジニアリングに他ならないが、Z80ニーモニックまで変換してしまうと、権利の所在はどうなるのだろう……とか、考えつつ、解析完了ッ!!

  ボーレートは9600bps、キャラクタコード1〜6を受信すると特殊動作(表示クリア等)で、それ以外はそのまま出力……って、あ、あれっ!? じゃ、なんで前回「echo hoge > /dev/ttyS1」したとき出力されなかったんだ……

  画像の説明

  ……あっ、アホか、オレは!? どこにコネクタ挿してんだよ……とほほ。まぁ、キャラクタコードの1を出力すると表示クリアとか判明したんで、まったく無益な解析作業じゃなかったけどさぁ……相変わらず、貴重な時間を無駄に費やしまくるオイラであった。と、ゆーわけで、今日も半徹につき、おやすみ。

  画像の説明