あるオッサンのブログ

単なるオッサンの足跡です。

作ったソフトウェアが製品に

最初は、先輩が書いたプログラムを理解することから始めました。はっきり言って大変でした。アセンブラですから。アセンブラって今では、ほとんど使われていないでしょうけれど、当時の組み込みマイコンアセンブラでのプログラミングが主流だったと思います。

アセンブライコールマシン語ですからね。アキュムレータ、レジスタ、I/Oポート間でのデータ転送やら演算やらを行いながらすべての制御を行うんですけど、たいしたことは行ってないんですけど、すぐに行数が膨れ上がるんです。いかんせ、1つの命令で

できることが知れているので。そんなプログラムを1か月とか、時間をかけて解析して理解するところからでした。それは根気の要る作業でしたけど、決して嫌なことではありませんでした。

f:id:hirocyan32:20210913222327j:plain

さすがに1か月とかかけて、四六時中プログラムとにらめっこしているとプログラムの全体像が理解できるようになってくるわけですよ。そうすると、今度は自分でプログラムをいじってみたくなるんです。

先輩の書いたプログラムを参考にしながら、自分で修正を加えたりしてみるわけです。

今覚えているのはDEC社のDEC-11ていうミニコンがありまして、この上でクロスコンパイラーなるものを会社の人が作ってくれてそれを使って、アセンブラで書いたプログラムをマシン語に変換してくれるんです。そして変換されたマシン語をROMにそれを書き込むんですね。要は、作ったプログラムをROMに格納して、それをマイコンに読み込ませて実行させるためのシミュレータっていうツールが用意されてましてそこにダウンロードして実行してみるわけです。

はっきり言って、最初は、ちゃんと動いてくれませんが、ブレークポイントを立てたり、ステップ実行したりしながらデバッグして1つ1つ問題を解決しながらまともに動くようにしていくという、いわゆるマイコン開発のプロセスみたいなものを学ぶわけです。自分が書いたプログラムが期待する通りの動作をしてくれた時は、うれしいものですね。その瞬間のうれしさを求めて、プログラミングってやったものです。

そんなことをやりながらマイコンの勉強をしているうちに、初めて本格的なソフト開発の話が出てきたのがUS向けのテレビに搭載するマイコン開発の話でした。

先輩は国内向けのソフト開発で手が回らないため、私が対応することになったように記憶しています。技術的にもUS向けのテレビは、国内向けと異なる制御が必要とされていましたが、必ず計画通り開発を進めるとの強い思いをもって臨んだように記憶しています。

開発の過程では、ソフトウェアの設計もさることながら、マイコンメーカーにおけるマイコンハードウェアの設計に難航し当社の製品日程に影響を与える危惧もあり両者で協力しながら、何とか難局を乗り切ることが出来ました。

f:id:hirocyan32:20210913225659j:plain

この開発を経験して、何とはなしに、自分で何とかやっていけるのではないかといった自信がついたように思います。結局のところ、苦労して1から始めて全てを経験してみて初めて、開発業務の全貌を理解することができ、そこで自分としてやりきることが出来たからと思います。とはいっても、今にして思えばですが、おそらく実態としては、私を取り巻く先輩諸氏の一方ならぬバックアップがあったんだろうなと思ってはいます。そんな意味で先輩諸氏には感謝しかありません。

ちょっと、疲れてきたし、夜も更けてきたのでこの続きはまた次回とさせてください。