M電器でリアルタイムシステム開発

CSKからM電器の中央研究所に派遣

1979年10月、私は派遣先がM電器になりました。M電器には、CSKの先輩社員が何十名も派遣されていました。しかし、私の派遣先の研究室は新しい試作機の開発がスタートしたところで、最初はCSKから私だけ参画し、研究室のS主任技師のもとでリアルタイム音声波形表示試作機の開発を始めました。数ヶ月後に、同世代のHさんが増員され2名となり、翌年の4月に新人のYさんも増員して3名体制で開発を進めました。

初めてのリアルタイムシステム

パナファコムのU-300というミニコンにグラフィック・ディスプレィを接続して、マイマ入力した音声をA/D変換して周波数帯域分離した音声波形をリアルタイムで表示する第1次試作機の開発をしました。

ミニコンのUMOS-DリアルタイムOSを使用してアセンブラ言語でリアルタイムシステムを開発をしました。私にとって初めてのことばかりでしたが、マニュアルや技術書を読んで勉強しました。処理をタスクに分割して優先度を与え、ダブルバッファ構成でデータ入力とデータ処理と表示を並列処理する方式でリアルタイムシステムとして動作する設計をしました。

私にとって、とてもやりがいのある開発内容で夢中で取り組んでいました。

M電器は、朝の8時から17時までの勤務時間ですが、水曜日と金曜日の定時退社日を除き20時まで残業する体制で開発を進めました。会社の寮を朝6時半ぐらいに出発するので、冬の頃はまだ真っ暗で星空を見ながら会社に向かったことを覚えています。

うまくいった開発

開発の途中から、私は新規ソースコードを書くのではなくレビュアに徹する方針としました。HさんとYさんの書いた設計書やソースコードをレビューして、問題のある部分や怪しいソースコードは指摘して修正してもらいました。

テストフェーズに入ると、みごと1発で動き出しました。その後のテストでも、ほとんど不具合は発見されず、本当にうまくいった事例といえます。数時間実行すると、突然音声波形の表示が乱れるという不具合が発生しましたが、原因を解析するとインクリメントしているレジスタがオーバーフローして正の最大値から-1に逆転していることが問題だと判明しました。

開発着手から約1年半後に、第1次試作開発がほとんど完了しました。