PR

 3カ月程度たってようやく当時を振り返る余裕を持てるようになり,「ブレーキ期間中にコマ送りの1ビットが立たなければよかったのに」と考えました。その瞬間に「すべての制御は操作部からの信号を受け付け,RAMのデータやフラグを書き換えることから始まる。だからRAMを制御できれば,バグを回避できるかもしれない」とひらめきました。

 そこで,以下のような仕組みを考えました。まず,マイコン内のマスクROMに図9-1のような二つのプログラムを入れておきます。一つは,図9-1(a)のように外付けのメモリからNバイトの修正用プログラムを読み込み,マイコン上のRAMに転送するというものです。RAMに転送したプログラムが周期的に動くように,図9-1(b)のプログラムもマスクROMに入れておきます。図9-1(a)と(b)の二つの修正用プログラムのサイズは,合計でたかだか40バイトです。

 この修正用プログラムがあれば,RAM上のフラグを制御できます。今回の場合は,特定の条件でコマ送りのフラグに「1」が立たないように修正用プログラムを組めばいいのです。

 ちなみに外付けのメモリーはもちろん何でもよく,知久氏が最初に使ったのは,チューナーの制御用として既にあった外付けの256バイトEEPROMだそうです。修正用プログラムは,その中の24バイトを使っただけでした。