bookmark_border[175] PL/M

これも会社入社後間もない頃の昔話ですが、半年間ほど自動車電話端末のソフトウェア設計の実習をする機会がありました。

米国向けの「AMPS」というアナログセルラー方式で、その制御系の組み込みソフトのプログラミングです。ターゲットは「8085」マイクロプロセッサで、これはインテル「8080」プロセッサの電源(+12V/±5V)を+5V単一にした改良型の8ビットCPUです。

プログラミング言語は、実行速度が要求される信号処理部分こそアセンブラでしたが、それ以外はPL/Mといういわゆる高水準言語でした。AMPS仕様書は米国ベル研究所で作成され、それをそのままプログラムに置き換えることができるような優れた仕様書だったと記憶しています。

専用のコーディング用紙に手書きでプログラムを書いていき、それをキーボードで打ち込みコンパイルして生成されたコードを紙テープに移し、リーダーにかけてROMに焼くという作業が続きました。

試作品に使われるROMは丸い窓が付いているEPROMで、強い紫外線を当てると何度も書き換えが可能なものです。一方、量産品には書き換えができないPROMが使われますが、バグ修正などで量産に間に合わなくなると初期ロットにもこのEPROMが使われていました。窓から紫外線が入り込まないようにソフトウェアのバージョン番号を記載したシールが貼付されます。

今やスマートフォンなどはリモートでソフトウェアのアップデートが可能な時代ですので、量産前にバグが見つかってもそれが大勢に影響が無いものであればそのまま出荷しているのではないかと推察します。その意味では、モノづくりも効率的になったというか、逆に多少の不具合があっても、メーカー側もユーザー側も許せる世の中になったのかなと思います。

ただ、個人的にはできれば1stロットは避けたいという気持ちは未だに残っています。