組み込みソフトウェア開発の効率の良い学びかた ――組込みスキル標準(ETSS)からコーチングまで
● 習うより慣れろ,再び
しごとにかなり慣れてきたと思っていた矢先に,割り当てられていたしごとの内容が変わりました.それまでは機械の制御を行っていたのですが,新しいしごとでは画像表示装置への描画を行うことになりました.CPUは8085(米国Intel社が開発した8ビット・マイコン)になり,アセンブリ言語(CPUごとに異なる)をもう一度覚え直さなければなりません.取り扱う周辺チップも変わりました.当時は高機能なグラフィックスLSIはなく,出始めたゲーム用のICを試す日々が始まりました.サブルーチンも最初から作り直し,ファイル構成も変えました.
再び習うより慣れろです.筆者はすぐに,すっかりりっぱな8085アセンブリ・プログラマになり,描画ライブラリ(多数の描画用ソフトウェア部品の集合体)を作るに至りました.
● 勉強,再び
描画ライブラリを使い始めると,CPUの性能が低いため,描画に時間がかかりすぎることが問題となりました.そこで,描画アルゴリズム(負荷の軽い描画の処理手順)について勉強しようと思い立ち,いろいろな資料を読みあさりました.勉強を通じて筆者は,直線や円弧を描くためのBresenhamアルゴリズム(1)を知り,8085のアセンブリ言語で実装し,高速描画が可能なライブラリを作りました.描画処理に乗算を使用していた従来の実装と比べて,劇的に描画速度が向上しました.勉強した技術を即座にしごとに生かすことができて,感動しました.
描画ライブラリには塗りつぶしなどの機能も用意する必要があるため,その後も描画アルゴリズムの勉強を続けました.この業界の進歩は速いため,いつも教科書や参考書には苦労しますが,それは誇らしい苦労です.教科書にもなっていないことをしごとでしているのですから....