発生した問題

 マイコンに内蔵してあるマスクROM上のソフトウエアのバグによって,作ったばかりの数万個のマイコンを廃棄せざるを得なくなり製品出荷も遅延――この失敗を糧に生み出された日本ビクターの不良プログラムの救済技術を紹介しましょう。

 最近はフラッシュ・メモリを搭載したマイコンが安くなってきましたが,同社製AV機器では,マスクROM版のマイコンを現在も多用しています。「当社ではマスクROM版のコストがフラッシュ・メモリ版に比べて数分の1になることが多い。幾つものマイコンを使う機器全体で見ると,マスクROM版にすることで数千円コストを下げられる」(同社)からです。

 では,冒頭のトラブルを詳しく説明しましょう。1989年の夏,日本ビクターで据置型VTRのメカニカル・コントロール(メカコン)用ソフトウエアを開発していた知久守氏は青ざめました。量産直前の段階で,品質保証部から「再生コマ送りでサーボ流れが発生」という連絡が入ったからです。コマ送りの制御の際に,画面が止まらず帯状の乱れが入ってしまったのです。

原因と対策

 原因はすぐに分かりました。据置型VTRの再生や早送り,一時停止,スロー再生といった主要動作を制御するメカコンのソフトウエア(マイコンのマスクROMに格納)にバグがあったのです。

 コマ送りの信号が送られてくると,マイコン内のRAM上にあるコマ送りのフラグに「1」が立ち,メカコンはテープの送り/ブレーキ/停止というコマ送りの一連の制御を行います。ブレーキ期間かどうかは,RAMのフラグを見れば分かります。本来は,ブレーキ期間に次のコマ送りの信号が来ても受け付けません。ところが,そのときのプログラムは,ブレーキ期間かどうか判定せず,ブレーキ期間にコマ送りの信号が新たに送られると,次のコマ送りの動作に入ってしまいました。このため,あるコマを再生している途中でテープ送りが始まってしまい,画面が流れてしまったのでした。しかも無限ループに入り,画面の流れが止まりません。急いでそのバグを修正しマスクを作り直しましたが,何万個ものマイコンの廃棄という大きな損害を発生させてしまいました。

 知久氏はしばらくの間,ぼうぜんとした状態から抜けきれず,仕事は何をやっても失敗しました。食べ物に味はなく,眠れない夜が続きました。