(57)【要約】    【課題】  バージョンアップしたファームプログラムを第１のメモリにダウンロードして起動する方法以外に、メモリスロットにオプションメモリを挿入してファームプログラムを起動することなどを可能とする。    【解決手段】  プリンタ1のコントローラ部2において、ローダプログラムは、オプションROMスロット7にオプションROM8が挿入され、オプションROM内にコントローラファームプログラムが有る場合、ファームプログラムをRAM6にコピーし起動する。また、ローダプログラムは、オプションROMスロット7にオプションROM8が未挿入の場合、或いはオプションROMスロット7に挿入されたオプションROM8内にファームプログラムが無い場合で、フラッシュROM5内のファームプログラムが正しい場合、フラッシュROM5内のファームプログラムをRAM6にコピーし起動する。【選択図】      図２
2005231135.tif 000002
【特許請求の範囲】
【請求項１】
ファームプログラムがダウンロード可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備え、印刷手段に印刷を実行させる印刷制御装置であって、
前記メモリスロットに前記オプションメモリが挿入されているか否か、前記オプションメモリ内にファームプログラムが有るか否かを判別する第１の判別手段と、
前記第１のメモリ内のファームプログラムが正しいか否かを判別する第２の判別手段と、
前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有ると判別された場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第１の起動手段と、
前記メモリスロットにオプションメモリが挿入されていないと判別された場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無いと判別された場合で、且つ前記第１のメモリ内のファームプログラムが正しいと判別された場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第２の起動手段とを備えることを特徴とする印刷制御装置。
【請求項２】
前記オプションメモリ及び前記第１のメモリ内のファームプログラムは、バージョンアップされると共にデータ圧縮されていることを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記オプションメモリ内のデータ圧縮されたファームプログラムと、前記第１のメモリ内のデータ圧縮されたファームプログラムとのうち、前記オプションメモリ内のデータ圧縮されたファームプログラムを優先して前記第２のメモリにコピーし、前記第２のメモリ上でデータ伸張し展開して起動する第３の起動手段を備えることを特徴とする請求項１又は２記載の印刷制御装置。
【請求項４】
前記オプションメモリ内のデータ圧縮されたファームプログラムのバージョンと、前記第１のメモリ内のデータ圧縮されたファームプログラムのバージョンとの比較に基づき、新しいバージョンのデータ圧縮されたファームプログラムを優先して前記第２のメモリにコピーし、前記第２のメモリ上でデータ伸張し展開して起動する第４の起動手段とを備えることを特徴とする請求項１又は２記載の印刷制御装置。
【請求項５】
前記オプションメモリ内にデータ圧縮されたファームプログラム及びデータ圧縮されたエミュレーションプログラムが有ると判別された場合、前記オプションメモリ内のデータ圧縮されたファームプログラムを優先して前記第２のメモリにコピーし、前記第２のメモリ上でデータ伸張し展開して起動する第５の起動手段を備えることを特徴とする請求項１又は２記載の印刷制御装置。
【請求項６】
前記第１のメモリには、データ圧縮されたファームプログラムを前記第１のメモリにダウンロードするダウンロードプログラムが前記第２のメモリ上で起動可能に格納されており、
ダウンロード指示があった場合、或いは前記第１のメモリ内のデータ圧縮されたファームプログラムが不正な場合、前記ダウンロードプログラムを起動する直前で、前記第１のメモリ内の前記ダウンロードプログラムを前記第２のメモリにコピーする複写手段を備えることを特徴とする請求項１又は２記載の印刷制御装置。
【請求項７】
前記第２の判別手段は、外部から供給されたデータ圧縮されたファームプログラムに付加されたチェックサムと、前記ファームプログラムの前記第１のメモリに対するダウンロード後のチェックサム計算値との比較に基づき、前記第１のメモリ内のファームプログラムが正しいか否かを判別することを特徴とする請求項１記載の印刷制御装置。
【請求項８】
前記請求項１乃至７の何れかに記載の印刷制御装置を備えたことを特徴とする印刷装置。
【請求項９】
ファームプログラムがダウンロード可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備えた印刷制御装置のプログラム起動方法であって、
前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有ると判別した場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動し、
前記メモリスロットにオプションメモリが挿入されていないと判別した場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無いと判別した場合で、且つ前記第１のメモリ内のファームプログラムが正しいと判別した場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動することを特徴とするプログラム起動方法。
【請求項１０】
ファームプログラムがダウンロード可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備えた印刷制御装置のプログラム起動方法をコンピュータに実行させるプログラムであって、
前記メモリスロットに前記オプションメモリが挿入されているか否か、前記オプションメモリ内にファームプログラムが有るか否かを判別する第１の判別モジュールと、
前記第１のメモリ内のファームプログラムが正しいか否かを判別する第２の判別モジュールと、
前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有ると判別された場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第１の起動モジュールと、
前記メモリスロットにオプションメモリが挿入されていないと判別された場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無いと判別された場合で、且つ前記第１のメモリ内のファームプログラムが正しいと判別された場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第２の起動モジュールとを備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン部に印刷を実行させるコントローラ部のフラッシュＲＯＭ内、或いはオプションＲＯＭスロットに挿入されているオプションＲＯＭ内のデータ圧縮されたコントローラファームプログラムをデータ伸張してＲＡＭ上に展開し起動するプリンタ等に適用可能な印刷制御装置、印刷装置、プログラム起動方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、上記のコントローラ部とエンジン部を備えたプリンタにおいては、コントローラ部の制御を司るコントローラファームプログラム本体がコントローラ部のマスクＲＯＭに内蔵され、プリンタの電源オンと同時に、マスクＲＯＭ上でコントローラファームプログラムが起動されて動作していた。しかし、マスクＲＯＭではプログラムの書き換えができないので、障害が発生した場合のユーザへの障害対応プログラムの配布が難しかった。
【０００３】
即ち、障害対応プログラムを配布する方法としては、新規に、障害対応プログラムを内蔵したマスクＲＯＭを作成し、該マスクＲＯＭをコントローラボードに取り付けて準備しておき、障害発生を通知してきたユーザ（クレームユーザ）をその都度訪問して、各ユーザの１台１台のコントローラボードを交換することも考えられる。しかし、このような方法は時間と費用が莫大なものにならざるを得なかった。
【０００４】
このとき、バージョンアップしたマスクＲＯＭは、コントローラボードに直付けする場合と、或いは、オプションＲＯＭ−ＤＩＭＭ（Dual Inline Memory Module）の形にしておいて、コントローラボードに設けてあるバグスロット(バージョンアップ専用のスロット)に挿入する場合とがあった。そして、ディップスイッチによって、直付けのマスクＲＯＭを起動するか、或いは、バグスロットのマスクＲＯＭを起動するか、を切り替えていた。当然ながら、コントローラボードは上記バグスロット以外にオプションＲＯＭスロットも備えている。
【０００５】
上記何れの方法にしろ、バージョンアップしたコントローラファームプログラムをマスクＲＯＭ化して障害発生に対処することは、時間及び費用の面でかなりの負担となっていたことに違いはない。
【０００６】
そこで、上記マスクＲＯＭを、書き換え可能なフラッシュＲＯＭに変えて、障害対応プログラムをダウンロード可能な形にすることが考えられる。ダウンロード作業自体は、ユーザが容易に行うことができる。例えば、フラッシュＲＯＭとしてＮＡＮＤ型フラッシュＲＯＭを使用する場合、長所として安価であることや比較的大容量であること等が挙げられる。しかし、反対に欠点として、ＮＡＮＤ型フラッシュＲＯＭ上でプログラムを動作させると、フラッシュＲＯＭはアクセス速度が遅い関係から、プログラムの動作が非常に遅くなって実用に耐えないという問題がある。
【０００７】
一方、コントローラファームプログラム本体の大きさも、その機能追加によってマスクＲＯＭの容量を超える大きさになり、コントローラファームプログラムをデータ圧縮してようやくマスクＲＯＭに格納することができるようになった。しかし、コントローラファームプログラムをデータ圧縮したままでは、マスクＲＯＭ上でのコントローラファームプログラムの実行は不可能であるという問題がある。
【０００８】
上記２つの問題から、フラッシュＲＯＭに格納されたデータ圧縮されたコントローラファームプログラム本体を、プリンタの電源オン時に、データ伸張しながらＲＡＭ上に展開して、ＲＡＭ上でコントローラファームプログラムを実行することが考えられる。
【０００９】
他方、上述したオプションＲＯＭスロットにオプションＲＯＭが挿入され、システムが電源オンされた場合、フラッシュＲＯＭのプログラムをバージョンアップする技術（「処理システム、プログラムの更新方法およびシステムの起動方法」）が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平１１−２４９８８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記プリンタで使用するコントローラファームプログラムを格納する手段としてフラッシュＲＯＭを用いた技術では、コントローラファームプログラムのバージョンアップを行おうとする場合、ユーザ自身が、データ圧縮されたコントローラファームプログラムを、プリンタのコントローラ部内蔵のフラッシュＲＯＭにダウンロードする方法が基本である。
【００１１】
しかし、ユーザが大口顧客で、バージョンアップ対象のプリンタが大量にある場合は、プリンタの１台１台に対するコントローラファームプログラムのダウンロードは作業時間がかかりすぎ現実的でない。そこで、バージョンアップしたコントローラファームプログラムをセットしたオプションＲＯＭを、プリンタの１台１台に装備されているオプションＲＯＭスロットにセットする方法の方が、より利便性が高い。
【００１２】
但し、このとき問題になるのは、プリンタに装備されているオプションＲＯＭスロットが１つだけの場合、１枚のオプションＲＯＭに、バージョンアップしたコントローラファームプログラムか或いはオプションエミュレーションプログラムの何れかしかセットできないとすると、バージョンアップしたコントローラファームプログラムとオプションエミュレーションプログラムを同時には使えないという点である。
【００１３】
以上、従来技術の課題をまとめると次のようになる。
【００１４】
第１の課題は、コントローラファームプログラムのバージョンアップ方法として、バージョンアップしたコントローラファームプログラムをコントローラ部内蔵のフラッシュＲＯＭにダウンロードして起動する方法以外に、オプションＲＯＭスロットに、バージョンアップしたコントローラファームプログラムがセットされたオプションＲＯＭを挿入して、コントローラファームプログラムを起動する方法を可能にすることである。
【００１５】
第２の課題は、コントローラ部内蔵のフラッシュＲＯＭ内のコントローラファームプログラムと、オプションＲＯＭ内のコントローラファームプログラムとのうち何れを起動するかを自動的に判別して、コントローラファームプログラムを実行することである。
【００１６】
第３の課題は、プリンタに装備されているオプションＲＯＭスロットが１つの場合でも、オプションＲＯＭを用いて、バージョンアップしたコントローラファームプログラムとオプションエミュレーションプログラムを同時に動作可能とすることである。
【００１７】
本発明の目的は、バージョンアップしたファームプログラムを第１のメモリにダウンロードして起動する方法以外に、メモリスロットにオプションメモリを挿入してファームプログラムを起動することなどを可能とした印刷制御装置、印刷装置、プログラム起動方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
上述の目的を達成するために、本発明の印刷制御装置は、ファームプログラムがダウンロード可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備え、印刷手段に印刷を実行させる印刷制御装置であって、前記メモリスロットに前記オプションメモリが挿入されているか否か、前記オプションメモリ内にファームプログラムが有るか否かを判別する第１の判別手段と、前記第１のメモリ内のファームプログラムが正しいか否かを判別する第２の判別手段と、前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有ると判別された場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第１の起動手段と、前記メモリスロットにオプションメモリが挿入されていないと判別された場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無いと判別された場合で、且つ前記第１のメモリ内のファームプログラムが正しいと判別された場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第２の起動手段とを備えることを特徴とする。
【００１９】
また、本発明の印刷制御装置は、前記オプションメモリ及び前記第１のメモリ内のファームプログラムは、バージョンアップされると共にデータ圧縮されていることを特徴とする。
【００２０】
また、本発明の印刷制御装置は、前記オプションメモリ内のデータ圧縮されたファームプログラムと、前記第１のメモリ内のデータ圧縮されたファームプログラムとのうち、前記オプションメモリ内のデータ圧縮されたファームプログラムを優先して前記第２のメモリにコピーし、前記第２のメモリ上でデータ伸張し展開して起動する第３の起動手段を備えることを特徴とする。
【００２１】
また、本発明の印刷制御装置は、前記オプションメモリ内のデータ圧縮されたファームプログラムのバージョンと、前記第１のメモリ内のデータ圧縮されたファームプログラムのバージョンとの比較に基づき、新しいバージョンのデータ圧縮されたファームプログラムを優先して前記第２のメモリにコピーし、前記第２のメモリ上でデータ伸張し展開して起動する第４の起動手段とを備えることを特徴とする。
【００２２】
また、本発明の印刷制御装置は、前記オプションメモリ内にデータ圧縮されたファームプログラム及びデータ圧縮されたエミュレーションプログラムが有ると判別された場合、前記オプションメモリ内のデータ圧縮されたファームプログラムを優先して前記第２のメモリにコピーし、前記第２のメモリ上でデータ伸張し展開して起動する第５の起動手段を備えることを特徴とする。
【００２３】
また、本発明の印刷制御装置は、前記第１のメモリには、データ圧縮されたファームプログラムを前記第１のメモリにダウンロードするダウンロードプログラムが前記第２のメモリ上で起動可能に格納されており、ダウンロード指示があった場合、或いは前記第１のメモリ内のデータ圧縮されたファームプログラムが不正な場合、前記ダウンロードプログラムを起動する直前で、前記第１のメモリ内の前記ダウンロードプログラムを前記第２のメモリにコピーする複写手段を備えることを特徴とする。
【００２４】
また、本発明の印刷制御装置は、前記第２の判別手段は、外部から供給されたデータ圧縮されたファームプログラムに付加されたチェックサムと、前記ファームプログラムの前記第１のメモリに対するダウンロード後のチェックサム計算値との比較に基づき、前記第１のメモリ内のファームプログラムが正しいか否かを判別することを特徴とする。
【００２５】
上述の目的を達成するために、本発明の印刷装置は、前記何れかに記載の印刷制御装置を備えたことを特徴とする。
【００２６】
上述の目的を達成するために、本発明のプログラム起動方法は、ファームプログラムがダウンロード可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備えた印刷制御装置のプログラム起動方法であって、前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有ると判別した場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動し、前記メモリスロットにオプションメモリが挿入されていないと判別した場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無いと判別した場合で、且つ前記第１のメモリ内のファームプログラムが正しいと判別した場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動することを特徴とする。
【００２７】
上述の目的を達成するために、本発明のプログラムは、ファームプログラムがダウンロード可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備えた印刷制御装置のプログラム起動方法をコンピュータに実行させるプログラムであって、前記メモリスロットに前記オプションメモリが挿入されているか否か、前記オプションメモリ内にファームプログラムが有るか否かを判別する第１の判別モジュールと、前記第１のメモリ内のファームプログラムが正しいか否かを判別する第２の判別モジュールと、前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有ると判別された場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第１の起動モジュールと、前記メモリスロットにオプションメモリが挿入されていないと判別された場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無いと判別された場合で、且つ前記第１のメモリ内のファームプログラムが正しいと判別された場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動する第２の起動モジュールとを備えることを特徴とする。
【００２８】
更に、本発明は、ファームプログラムとローダプログラムが格納可能な第１のメモリと、オプションメモリが挿入可能なメモリスロットと、第２のメモリとを備えた印刷制御装置において、前記ローダプログラムは、前記メモリスロットに前記オプションメモリが挿入され、前記オプションメモリ内にファームプログラムが有る場合、前記オプションメモリ内のファームプログラムを前記第２のメモリにコピーして起動し、前記メモリスロットにオプションメモリが挿入されていない場合、或いは前記メモリスロットにオプションメモリが挿入されていても前記オプションメモリ内にファームプログラムが無い場合で、且つ前記第１のメモリ内のファームプログラムが正しい場合、前記第１のメモリ内のファームプログラムを前記第２のメモリにコピーして起動する構成としてもよい。
【発明の効果】
【００２９】
本発明によれば、メモリスロットにオプションメモリが挿入され、オプションメモリ内にファームプログラムが有る場合、オプションメモリ内のファームプログラムを第２のメモリにコピーして起動し、メモリスロットにオプションメモリが挿入されていない場合、或いはメモリスロットに挿入されたオプションメモリ内にファームプログラムが無い場合で、且つ第１のメモリ内のファームプログラムが正しい場合、第１のメモリ内のファームプログラムを第２のメモリにコピーして起動するため、個人ユーザ向けに好適な前者の起動方法と、大口ユーザ向けに好適な後者の起動方法とを適宜実行することが可能となることで、広範なユーザに対応することができる。
【００３０】
また、本発明によれば、オプションメモリ内のファームプログラムと、第１のメモリ内のファームプログラムとのうち、オプションメモリ内のファームプログラムを優先して第２のメモリにコピーし、第２のメモリ上で展開して起動するため、大口ユーザ向けの場合に好適であると共に、従来のように手動で起動する側を切り替える手間を省くことができる。
【００３１】
また、本発明によれば、オプションメモリ内のデータ圧縮されたファームプログラムのバージョンと、第１のメモリ内のデータ圧縮されたファームプログラムのバージョンとのうち、新しいバージョンの方を優先して第２のメモリにコピーし起動するため、常に最新バージョンのファームプログラムを起動することができる。
【００３２】
また、本発明によれば、オプションメモリ内にデータ圧縮されたファームプログラム及びデータ圧縮されたエミュレーションプログラムが有ると判別された場合、オプションメモリ内のデータ圧縮されたファームプログラムを優先して第２のメモリにコピーし、第２のメモリ上でデータ伸張し展開して起動するため、メモリスロットが１つの場合でも、オプションメモリを用いて、バージョンアップしたファームプログラムとエミュレーションプログラムを同時に動作させることが可能となる。
【００３３】
また、本発明によれば、ダウンロード指示があった場合、或いは第１のメモリ内のデータ圧縮されたファームプログラムが不正な場合、ダウンロードプログラムを起動する直前で、第１のメモリ内のダウンロードプログラムを第２のメモリにコピーするため、印刷制御装置が搭載される印刷装置の電源オン時におけるダウンロードプログラムの第２のメモリに対するコピー工程を省くことができ、印刷装置の立ち上がり時間を節約することができる。
【００３４】
また、本発明によれば、外部から供給されたデータ圧縮されたファームプログラムのチェックサムと、ファームプログラムの第１のメモリへのダウンロード後のチェックサム計算値とを比較し、第１のメモリ内のファームプログラムが正しいか否かを判別するため、ファームプログラムが正しくダウンロードされたかどうかを確認することができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態を図面に基づき説明する。
【００３６】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る印刷装置としてのプリンタのコントローラ部及びエンジン部の構成を示すブロック図である。
【００３７】
図１において、プリンタ１は、コントローラ部２とエンジン部３とを備えている。コントローラ部２は、パーソナルコンピュータ等のホストマシンから送信される印刷データを受信して、印刷データからページイメージを作成し、そのページイメージをビデオ信号に変換してエンジン部３に送信することで、ページイメージの印刷を実行させる。エンジン部３は、コントローラ部２からのページイメージのビデオ信号を受信し、コントローラ部２の指示に従って、用紙に対するページイメージの画像形成（現像、転写、定着）及び画像形成が完了した用紙の排紙を実行する。
【００３８】
まず、コントローラ部２を構成する要素の詳細を説明する。ＣＰＵ４は、コントローラ部２全体を制御するものであり、図３乃至図６のフローチャートに示す処理を実行する。フラッシュＲＯＭ５には、データ圧縮されたコントローラファームプログラムが格納されている。ＲＡＭ６には、フラッシュＲＯＭ５に格納されているデータ圧縮されたコントローラファームプログラムがデータ伸張された後、セットされる。その後、コントローラファームプログラムが起動されることで、プリンタとしての動作が開始される。
【００３９】
また、ＲＡＭ６は、各種プログラムが動作する際のワーク領域として使用される。プリンタ１が外部インターフェース部１２を介してホストマシンから受信した印刷データは、ＲＡＭ６内に設けられた受信バッファに一時保存される。受信バッファ内の印刷データを基に描画・生成されるページイメージも、ＲＡＭ６上に作成される。
【００４０】
オプションＲＯＭスロット７は、コントローラ部２に例えば１つ装備されている。オプションＲＯＭスロット７には、オプションＲＯＭ８が挿入可能である。オプションＲＯＭ８も、実際はフラッシュＲＯＭで構成されている。オプションＲＯＭ８には、ＲＯＭライタを用いて各種プログラムがダウンロードされて作成される。
【００４１】
オプションＲＯＭ８は、内蔵するプログラムによって３種類に分類される。即ち、「データ圧縮したコントローラファームプログラム」のみが格納されたオプションＲＯＭ、「データ圧縮したオプションエミュレーションプログラム」のみが格納されたオプションＲＯＭ、「データ圧縮されたコントローラファームプログラム及びデータ圧縮したオプションエミュレーションプログラム」が格納されたオプションＲＯＭ、の３種類である。
【００４２】
パネルインターフェース９は、例えば液晶から構成された表示部及びキー入力部を備えたパネル（不図示）との間のインターフェースを司る。ユーザがパネルの表示内容を見ながらキーを用いてプリンタ１の設定（例えば印刷枚数や用紙サイズ等の設定）を行うことができる。コントローラ側通信部１０は、エンジン部３のエンジン側通信部１６と通信を行う。コントローラ部２からは、コントローラ側通信部１０を通じてエンジン部３の制御やエンジン部３の状態の取得を行うことができる。
【００４３】
ビデオ信号変換部１１は、ＲＡＭ６上に作成されたページイメージをビデオ信号に変換してエンジン部３に送信する。外部インターフェース部１２は、ホストマシンから送信される印刷データを受信し、ＲＡＭ６上の受信バッファにセットする機能を有する。外部インターフェース部１２の具体的な例としては、ネットワークインターフェース、ＵＳＢ（Universal Serial Bus）インターフェース、セントロニクスインターフェース等を挙げることができる。
【００４４】
次に、エンジン部３を構成する要素の詳細を説明する。ＣＰＵ１３は、エンジン部３全体を制御する。ＲＯＭ１４には、エンジン部３の制御プログラムが格納されている。ＲＡＭ１５は、制御プログラムが動作する際のワーク領域として使用される。エンジン部３においては、ＲＯＭ１４に格納されている制御プログラムはＲＯＭ１４上で動作するものであり、コントローラ部２のように、フラッシュＲＯＭ５からプログラムをＲＡＭ６上にコピーして動作させることはしない。
【００４５】
エンジン側通信部１６は、コントローラ部２のコントローラ側通信部１０と通信を行う。エンジン側通信部１６は、コントローラ部２からの給紙指示等の制御コマンドを受信する機能と、エンジン部３の状態をコントローラ部２に知らせる通知コマンドを送信する機能を有する。ビデオ信号受信部１７は、コントローラ部２から送られてくるページイメージのビデオ信号を受信する。ビデオ信号は現像・定着部１９に送られる。
【００４６】
給紙部１８は、白紙の用紙を現像・定着部１９の画像形成位置に給紙する。現像・定着部１９は、レーザの照射により感光体上に形成した潜像を現像剤で現像し用紙上に転写して定着させる電子写真方式によって、現像・転写・定着からなる一連の画像形成工程を実行する。排紙部２０は、現像・転写・定着後の用紙の排紙を行う。
【００４７】
次に、本実施の形態のプリンタ１のコントローラ部２を中心とした動作を図２乃至図６を参照しながら詳細に説明する。以下では、コントローラファームプログラムのバージョンアップ方法として、バージョンアップしたコントローラファームプログラムをフラッシュＲＯＭ５にダウンロードして起動する方法、バージョンアップしたコントローラファームプログラムがセットされたオプションＲＯＭ８をオプションＲＯＭスロット７に挿入して起動する方法、等について説明する。
【００４８】
図２は、プリンタ１のコントローラ部２の各種メモリ及び各種プログラムのコピーと起動の関係を示す図である。
【００４９】
図２において、コントローラ部２に内蔵及び装着される各種メモリとしては、ローダコピープログラム（複写手段に対応）、ローダプログラム（第１〜第２の判別手段、第１〜第５の起動手段に対応）、ダウンロードプログラム、データ圧縮されたコントローラファームプログラム（ファームプログラムに対応）を格納したフラッシュＲＯＭ５と、ワーク領域、受信バッファを備えたＲＡＭ６と、オプションＲＯＭスロット７に挿入可能なオプションＲＯＭ８とがある。尚、図示のようにフラッシュＲＯＭ５は、固定部とダウンロード部とに分割されている。また、図示のオプションＲＯＭ８の種類１、種類２、種類３は、上述した３つの種類に対応する。
【００５０】
まず、プリンタ１が電源オンされると、フラッシュＲＯＭ５上の固定部に格納されているローダコピープログラムが起動する。このローダコピープログラムだけはフラッシュＲＯＭ５上で起動するが、フラッシュＲＯＭ５はアクセス速度が遅いので該フラッシュＲＯＭ５上のプログラムの動作も非常に遅いため、フラッシュＲＯＭ５上で動作するのはこのローダコピープログラムだけである。
【００５１】
ローダコピープログラムは、同じくフラッシュＲＯＭ５の固定部に格納されているローダプログラムをＲＡＭ６上のワーク領域にコピーし（図２の（１））、起動する。ローダコピープログラムが実行する処理はこれだけである。尚、フラッシュＲＯＭ５からＲＡＭ６上へのローダプログラムのコピーを行う際は、ＣＰＵ４のバースト転送機能を用いて、極力高速でローダプログラムのコピーを行う。プログラムのコピー動作において、ＣＰＵ４のバースト転送機能を使用する点は、これ以降の記述でも同様である。
【００５２】
ＲＡＭ６上で起動したローダプログラムは、フラッシュＲＯＭ５上の固定部に格納されているダウンロードプログラムをＲＡＭ６上のワーク領域にコピーする（図２の（２））。この場合も、ＣＰＵ４のバースト転送機能を使用し、高速にプログラムのコピーを行う。
【００５３】
そして、オプションＲＯＭスロット７にオプションＲＯＭ８が挿入されていないか、或いは、オプションＲＯＭスロット７にオプションＲＯＭ８が挿入されていても、オプションＲＯＭ８内にデータ圧縮されたコントローラファームプログラムがなければ、フラッシュＲＯＭ５上のダウンロード部に格納されているデータ圧縮されたコントローラファームプログラム本体が正しくダウンロードされたモジュールであるか否かをチェックする。
【００５４】
フラッシュＲＯＭ５上のデータ圧縮されたコントローラファームプログラム本体が正しくダウンロードされたモジュールであると判断できれば、フラッシュＲＯＭ５上のデータ圧縮されたコントローラファームプログラム本体を、そのままＲＡＭ６上のワーク領域にコピーする（図２の（３））。この場合も、ＣＰＵ４のバースト転送機能を使用し、高速にプログラムのコピーを行う。
【００５５】
一方、オプションＲＯＭスロット７にオプションＲＯＭ８が挿入されていて、オプションＲＯＭ８内にデータ圧縮されたコントローラファームプログラムがある場合には、オプションＲＯＭ８内のデータ圧縮されたコントローラファームプログラムをＲＡＭ６上のワーク領域にコピーする（図２の（３））。この場合も、ＣＰＵ４のバースト転送機能を使用し、高速にプログラムのコピーを行う。
【００５６】
その後、ＲＡＭ６上のワーク領域にあるデータ圧縮されたコントローラファームプログラム本体をデータ伸張しながら、ＲＡＭ６上の所定の位置に展開し（図２の（４））、ＲＡＭ６上のワーク領域にあるデータ圧縮されたコントローラファームプログラムの部分は、メモリ解放（消去）する。
【００５７】
また、オプションＲＯＭスロット７にオプションＲＯＭ８が挿入されていて、オプションＲＯＭ８内にデータ圧縮されたオプションエミュレーションプログラムがある場合には、オプションＲＯＭ８内のデータ圧縮されたオプションエミュレーションプログラムをＲＡＭ６上のワーク領域にコピーする（図２の（５））。この場合も、ＣＰＵ４のバースト転送機能を使用し、高速にプログラムのコピーを行う。
【００５８】
その後、ＲＡＭ６上のワーク領域にあるデータ圧縮されたオプションオプションエミュレーションプログラムをデータ伸張しながら、ＲＡＭ６上の所定の位置に展開し（図２の（６））、ＲＡＭ６上のワーク領域にあるデータ圧縮されたオプションエミュレーションプログラムの部分は、メモリ解放（消去）する。
【００５９】
そして、ＲＡＭ６上の所定の位置に展開されたコントローラファームプログラムを起動する。コントローラファームプログラムを起動すると同時に、ＲＡＭ６上のワーク領域にコピーしたローダプログラム及びダウンロードプログラムは、メモリ解放（消去）する。
【００６０】
一方、フラッシュＲＯＭ５上のデータ圧縮されたコントローラファームプログラム本体が不正なモジュールであった場合、つまり、以前にダウンロードしたとき途中でダウンロードが中断してしまった場合、或いは、ユーザがプリンタ１の電源オンと同時にパネル（不図示）から、データ圧縮されたコントローラファームのダウンロードの指示を行った場合は、ＲＡＭ６上のワーク領域にあるローダプログラムは、ＲＡＭ６上のワーク領域にあるダウンロードプログラムを起動する。つまり、フラッシュＲＯＭ５内の「データ圧縮されたコントローラファームプログラム本体」の、ＲＡＭ６上のワーク領域へのコピーは行わない。
【００６１】
起動されたダウンロードプログラムは、プリンタ１のパネル（不図示）に、「データ圧縮されたコントローラファームプログラム」のダウンロードを促す表示を行う。ダウンロードプログラムは、ホストマシンから外部インターフェース部１２を経由して「データ圧縮されたコントローラファームプログラム」が入力されたならば、フラッシュＲＯＭ５に「データ圧縮されたコントローラファームプログラム」をダウンロードしセットして、動作を終了する。
【００６２】
「データ圧縮されたコントローラファームプログラム」が正しくダウンロードされたかどうかの確認は、次の手順で行うので確実である。まず、ダウンロードする前に、フラッシュＲＯＭ５内のダウンロード部にある、チェックサムを記録するチェックサム記録領域を消去する。ホストマシンから外部インターフェース１２を経由して入力されたダウンロードモジュールの先頭には、チェックサム情報が付加されているので、該チェックサム情報をＲＡＭ６のワーク領域に保存しておく。
【００６３】
次に、ダウンロードモジュールである「データ圧縮されたコントローラファームプログラム本体」をフラッシュＲＯＭ５のダウンロード部にダウンロードしセットする。セット後、フラッシュＲＯＭ５内のダウンロード部にある「データ圧縮されたコントローラファームプログラム本体」のチェックサムを計算し、最初にＲＡＭ６のワーク領域に保存しておいたチェックサム情報と計算したチェックサム値が同一であるか否かを判定する。
【００６４】
ＲＡＭ６のワーク領域内のチェックサム情報と計算したチェックサム値が同一ならば、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域にチェックサム値を記録する。ＲＡＭ６のワーク領域内のチェックサム情報と計算したチェックサム値が一致しないならば、ダウンロードが失敗したとして、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域には何も記録しない。
【００６５】
図３乃至図６は、プリンタ１のコントローラ部２における各種プログラムの処理を示すフローチャートである。
【００６６】
図３乃至図６において、まず、プリンタ１を電源オンすると、フラッシュＲＯＭ５上のローダコピープログラムが起動する（ステップＳ１）。ローダコピープログラムはフラッシュＲＯＭ５上で動作するが、上述したように、フラッシュＲＯＭ５のアクセス速度は遅いので、ローダコピープログラムの動作も遅い。起動したローダコピープログラムは、フラッシュＲＯＭ５の固定部に格納されているローダプログラムをＲＡＭ６上のワーク領域にコピーし（ステップＳ２）、コピーしたローダプログラムを起動する（ステップＳ３）。ローダプログラムを起動した時点で、ローダコピープログラムの動作は終了する。
【００６７】
ステップＳ３の終了後はステップＳ４に移るが、この部分はローダプログラムによる動作である。即ち、ローダプログラムは、フラッシュＲＯＭ５上のダウンロードプログラムをＲＡＭ６上のワーク領域にコピーする（ステップＳ４）。この場合、ＣＰＵ４のバースト転送機能を使用して高速のコピーを行うことは上述した通りである。
【００６８】
次に、ローダプログラムは、ユーザからパネル（不図示）経由でのダウンロード指示があったか否かをチェックする（ステップＳ５）。ダウンロード指示があった場合は、ローダプログラムは、ＲＡＭ６上のワーク領域にあるダウンロードプログラムを起動し（ステップＳ１６）、ホストマシンから外部インターフェース部１２経由で送信される、データ圧縮されたコントローラファームプログラムのフラッシュＲＯＭ５へのダウンロードを実行し（ステップＳ１７）、動作を終了する。ダウンロード指示がない場合は、ローダプログラムは、オプションＲＯＭスロット７にオプションＲＯＭ８が挿入され、且つ、オプションＲＯＭ８内にはデータ圧縮されたコントローラファームプログラムが有るか否かをチェックする（ステップＳ６）。
【００６９】
オプションＲＯＭ８内にデータ圧縮されたコントローラファームプログラムが有る場合は、ローダプログラムは、オプションＲＯＭ８内のデータ圧縮されたコントローラファームプログラムをＲＡＭ６上のワーク領域にコピーし（ステップＳ７）、ステップＳ１０に移る。
【００７０】
オプションＲＯＭスロット７にオプションＲＯＭ８が挿入されていない場合、或いはオプションＲＯＭスロット７にオプションＲＯＭ８が挿入されていても、オプションＲＯＭ８内にデータ圧縮されたコントローラファームプログラムが無い場合は、ローダプログラムは、フラッシュＲＯＭ５内のダウンロード部にあるデータ圧縮されたコントローラファームプログラムは正しいか（完全版か）否かをチェックする（ステップＳ８）。
【００７１】
フラッシュＲＯＭ５内のデータ圧縮されたコントローラファームプログラムが正しい場合は、ローダプログラムは、フラッシュＲＯＭ５内のデータ圧縮されたコントローラファームプログラム本体を、ＲＡＭ６上のワーク領域にコピーする（ステップＳ９）。この場合も、ＣＰＵ４のバースト転送機能を使用して高速のコピーを行うことは上述した通りである。
【００７２】
その後、ローダプログラムは、ＲＡＭ６上のワーク領域にあるデータ圧縮されたコントローラファームプログラムをデータ伸張して、ＲＡＭ６上の所定の位置に展開し、展開後は、ＲＡＭ６上のワーク領域にあるデータ圧縮されたコントローラファームプログラムの部分は、メモリ解放する（ステップＳ１０）。次に、ローダプログラムは、オプションＲＯＭスロット７にオプションＲＯＭ８が挿入され、且つ、オプションＲＯＭ８内にデータ圧縮されたオプションエミュレーションプログラムが有るか否かをチェックする（ステップＳ１１）。
【００７３】
オプションＲＯＭ８内にデータ圧縮されたオプションエミュレーションプログラムが有る場合は、ローダプログラムは、オプションＲＯＭ８内のデータ圧縮されたオプションエミュレーションプログラムをＲＡＭ６上のワーク領域にコピーする（ステップＳ１２）。そして、ローダプログラムは、ＲＡＭ６上のデータ圧縮されたオプションエミュレーションプログラムをデータ伸張してＲＡＭ上の所定の位置に展開し、展開後は、ＲＡＭ６上のデータ圧縮されたオプションエミュレーションプログラムがある部分をメモリ解放する（ステップＳ１３）。
【００７４】
オプションＲＯＭ８内にデータ圧縮されたオプションエミュレーションプログラムが無い場合、或いは、ステップＳ１３の処理が終了した後は、ステップＳ１４に移る。即ち、ローダプログラムは、ＲＡＭ６上の所定の位置に展開されたコントローラファームプログラムを起動し、同時に、ＲＡＭ６上のワーク領域にあるローダプログラム及びダウンロードプログラムをメモリ解放する（ステップＳ１４）。この時点で、ローダプログラムの動作は終了する。以後、プリンタ１が電源オフされるまで、プリンタ１の動作の実行を続ける。
【００７５】
フラッシュＲＯＭ５内のデータ圧縮されたコントローラファームプログラムが不正である場合は、ローダプログラムは、ＲＡＭ６上のワーク領域にあるダウンロードプログラムを起動した後（ステップＳ１６）、ホストマシンから外部インターフェース部１２経由で送信された、データ圧縮されたコントローラファームプログラムのフラッシュＲＯＭ５へのダウンロードをダウンロードプログラムにより実行し（ステップＳ１７）、動作を終了する。
【００７６】
次に、上記ステップＳ１７の動作の詳細を説明する。まず、ダウンロードプログラムによりダウンロードを実行する前に、ローダプログラムは、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域を消去する。ホストマシンから外部インターフェース１２を経由して送信された「データ圧縮されたコントローラファームプログラムデータ」としてのダウンロードモジュールの先頭には、チェックサム情報が付加されているので、ローダプログラムは、該チェックサム情報をＲＡＭ６のワーク領域に保存しておく。
【００７７】
更に、ローダプログラムは、ダウンロードモジュールである「データ圧縮されたコントローラファームプログラム本体」を、ダウンロードプログラムによりフラッシュＲＯＭ５のダウンロード部にダウンロードし、セットする。セット後、ローダプログラムは、フラッシュＲＯＭ５内のダウンロード部にある「データ圧縮されたコントローラファームプログラム本体」のチェックサムを計算し、最初にＲＡＭ６のワーク領域に保存しておいたチェックサム情報と計算したチェックサム値が同一か否かを判定する。
【００７８】
保存しておいたチェックサム情報と計算したチェックサム値が同一の場合は、ローダプログラムは、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域にチェックサム値を記録する。保存しておいたチェックサム情報と計算したチェックサム値が一致しない場合は、ローダプログラムは、ダウンロードが失敗したと判断して、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域には何も記録しない。
【００７９】
また、ダウンロードモジュールの転送作業の途中で、送信元のホストマシンの不調或いは送信経路の不調等の理由で転送作業が中断した場合も、ローダプログラムは、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域にはチェックサム値を記録しない。
【００８０】
以上の仕組みにより、図４のステップＳ８の段階では、フラッシュＲＯＭ５内のダウンロード部にある上記チェックサム記録領域をチェックすることで、フラッシュＲＯＭ内のデータ圧縮されたコントローラファームプログラムが正しいかどうかを判断することができる。
【００８１】
以上説明したように、本実施の形態によれば、プリンタ１の電源オン直後に起動されるローダプログラムが、オプションＲＯＭスロット７に挿入されたオプションＲＯＭ８に、「データ圧縮されたコントローラファームプログラム」が有るか否かをチェックし、有る場合は、オプションＲＯＭ８から「データ圧縮されたコントローラファームプログラム」をＲＡＭ６上にロードして起動し、無い場合は、フラッシュＲＯＭ５から「データ圧縮されたコントローラファームプログラム」をＲＡＭ６上にロードして起動する。
【００８２】
即ち、上記第１の課題である、コントローラファームプログラムのバージョンアップ方法として、バージョンアップしたコントローラファームプログラムをコントローラ部内蔵のフラッシュＲＯＭ５にダウンロードして起動する方法以外に、オプションＲＯＭスロット７に、バージョンアップしたコントローラファームプログラムがセットされたオプションＲＯＭ８を挿入して、コントローラファームプログラムを起動する方法が可能となる。これにより、個人ユーザ向けに好適な前者の起動方法と、大口ユーザ向けに好適な後者の起動方法とを適宜実行することが可能となることで、広範なユーザに対応できるプリンタを提供することができる。
【００８３】
また、上記第２の課題である、コントローラ部内蔵のフラッシュＲＯＭ５内のコントローラファームプログラムと、オプションＲＯＭ８内のコントローラファームプログラムとのうち何れを起動するかを自動的に判別して、コントローラファームプログラムを実行することが可能となる。これにより、従来のように手動で起動する側を切り替える手間を省くことができ、使い勝手を向上させたプリンタを提供することができる。
【００８４】
また、上記第３の課題である、プリンタ１に装備されているオプションＲＯＭスロット７が１つの場合でも、オプションＲＯＭ８を用いて、バージョンアップしたコントローラファームプログラムとオプションエミュレーションプログラムを同時に動作させることが可能となる。これにより、利便性を向上させたプリンタを提供することができる。
【００８５】
［第２の実施の形態］
本発明の第２の実施の形態は、上述した第１の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第１の実施の形態（図１）の対応するものと同一なので、説明を省略する。
【００８６】
上述した第１の実施の形態では、フラッシュＲＯＭ５上のデータ圧縮されたコントローラファームプログラムと、オプションＲＯＭ８上のデータ圧縮されたコントローラファームプログラムとのうち何れを優先して、ＲＡＭ６上のワーク領域にコピーし、データ伸張してＲＡＭ６上の所定の位置に展開し起動するかと言うと、オプションＲＯＭ８内のデータ圧縮されたコントローラファームプログラムを無条件で優先していた。これは、オプションＲＯＭスロット７にオプションＲＯＭ８が装着された場合、ユーザが何らかの意図があってオプションＲＯＭ８をオプションＲＯＭスロット７に装着したと考えられるからである。
【００８７】
これに対し、本実施の形態では、上記コントローラファームプログラムは最新のバージョンが常に正しいと言う考えもあるということから、フラッシュＲＯＭ５上のデータ圧縮されたコントローラファームプログラムのバージョンと、オプションＲＯＭ８上のデータ圧縮されたコントローラファームプログラムのバージョンとを比較し、新しいバージョンのコントローラファームプログラムを優先してＲＡＭ６上のワーク領域にコピーした後、ＲＡＭ６上でデータ伸張し展開して起動するものである。
【００８８】
本実施の形態によれば、常に最新バージョンのコントローラファームプログラムを起動することができる。
【００８９】
［第３の実施の形態］
本発明の第３の実施の形態は、上述した第１及び第２の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第１の実施の形態（図１）の対応するものと同一なので、説明を省略する。
【００９０】
上述した第２の実施の形態では、最新のバージョンのコントローラファームプログラムを優先してＲＡＭ６上に展開して起動していた。
【００９１】
これに対し、本実施の形態では、オプションＲＯＭスロット７内のオプションＲＯＭ８に「データ圧縮されたコントローラファームプログラム及びデータ圧縮されたエミュレーションプログラム」がある場合には、これら２つのプログラムを組み合わせたことに意味があると考え、フラッシュＲＯＭ５内のデータ圧縮されたコントローラファームプログラムより、オプションＲＯＭ８内のデータ圧縮されたコントローラファームプログラムを優先してＲＡＭ６上のワーク領域にコピーした後、ＲＡＭ６上でデータ伸張し展開して起動するものである。
【００９２】
本実施の形態によれば、プリンタ１に装備されているオプションＲＯＭスロット７が１つの場合でも、オプションＲＯＭ８を用いて、バージョンアップしたコントローラファームプログラムとオプションエミュレーションプログラムを同時に動作させることが可能となる。
【００９３】
［第４の実施の形態］
本発明の第４の実施の形態は、上述した第１乃至第３の実施の形態に対して、下記の点において相違する。本実施の形態のその他の要素は、上述した第１の実施の形態（図１）の対応するものと同一なので、説明を省略する。
【００９４】
上述した第１の実施の形態では、プリンタ１の電源オンの後、ダウンロードプログラムをＲＡＭ６上のワーク領域にコピーしておいてから、「ユーザからパネル経由でダウンロードの指示があったか」或いは「フラッシュＲＯＭ５内のデータ圧縮されたコントローラファームプログラムが正しいか」をチェックし、「ダウンロード指示があった」或いは「コントローラファームプログラムが不正」と判断した場合は、フラッシュＲＯＭ５の固定部からＲＡＭ６上のワーク領域にコピーしておいたダウンロードプログラムを起動していた。
【００９５】
これに対し、本実施の形態では、ダウンロードプログラムのコピーの順序を逆にするものである。即ち、プリンタ１の電源オンの後、「ユーザからパネル経由でダウンロードの指示があったか」或いは「フラッシュＲＯＭ５内のデータ圧縮されたコントローラファームプログラムが正しいか」をチェックし、「ダウンロード指示があった」或いは「コントローラファームプログラムが不正」と判断した場合に、その時点で（ダウンロードプログラムを起動する直前で）、フラッシュＲＯＭ５の固定部にあるダウンロードプログラムをＲＡＭ６上のワーク領域にコピーして起動するようにする。
【００９６】
本実施の形態によれば、プリンタ１の通常の電源オンの場合は、第１の実施の形態のようにローダコピープログラムが無条件にダウンロードプログラムをフラッシュＲＯＭ５からＲＡＭ６にコピーする代わりに、ダウンロードプログラムを起動する直前でフラッシュＲＯＭ５からＲＡＭ６にコピーするので、プリンタ１の電源オン時におけるダウンロードプログラムのＲＡＭ６に対するコピー工程を省くことができ、プリンタ１の立ち上がり時間を節約することができる。
【００９７】
［他の実施の形態］
上記第１乃至第４の実施の形態では、プリンタのコントローラ部にオプションＲＯＭスロットを１つ装備した例を挙げたが、オプションＲＯＭスロットは１つに限定されるものではなく、複数装備することもできる。
【００９８】
上記第１乃至第４の実施の形態では、電子写真方式で印刷を行うプリンタを例に挙げたが、印刷方式は電子写真方式に限定されるものではなく、インクジェット方式、静電方式、熱転写方式など他の印刷方式にも適用することができる。
【００９９】
上記第１乃至第４の実施の形態では、印刷装置としてプリンタを例に挙げたが、印刷装置はプリンタに限定されるものではなく、複合機や複写機など他の印刷装置にも適用することができる。
【０１００】
本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラム（図３乃至図６のフローチャート）をコンピュータ又はＣＰＵに供給し、そのコンピュータ又はＣＰＵが該供給されたプログラムを読出して実行することによって、達成することができる。
【０１０１】
この場合、上記プログラムは、該プログラムを記録した記憶媒体から直接供給されるか、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【０１０２】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【０１０３】
また、本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体をコンピュータ又はＣＰＵに供給し、そのコンピュータ又はＣＰＵが記憶媒体に記憶されたプログラムを読出して実行することによっても、達成することができる。
【０１０４】
この場合、格納媒体から読出されたプログラムコード自体が上述した各実施の形態の機能を実現すると共に、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
【０１０５】
プログラムコードを記憶する記憶媒体としては、例えば、ＲＯＭ、ＲＡＭ、ＮＶ−ＲＡＭ、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（登録商標）、光磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード等がある。
【０１０６】
上述した実施の形態の機能は、コンピュータから読出されたプログラムコードを実行することによるばかりでなく、コンピュータ上で稼動するＯＳ等がプログラムコードの指示に基づいて実際の処理の一部又は全部を行うことによっても実現することができる。
【図面の簡単な説明】
【０１０７】
【図１】本発明の第１の実施の形態に係る印刷装置としてのプリンタのコントローラ部及びエンジン部の構成を示すブロック図である。
【図２】プリンタのコントローラ部の各種メモリ及び各種プログラムのコピーと起動の関係を示す図である。
【図３】コントローラ部における各種プログラムの処理を示すフローチャートである。
【図４】図３のフローチャートの続きである。
【図５】図４のフローチャートの続きである。
【図６】図５のフローチャートの続きである。
【符号の説明】
【０１０８】
１  プリンタ（印刷装置に対応）
２  コントローラ部（印刷制御装置に対応）
３  エンジン部（印刷手段に対応）
５  フラッシュＲＯＭ（第１のメモリに対応）
６  ＲＡＭ（第２のメモリに対応）
７  オプションＲＯＭスロット（メモリスロットに対応）
８  オプションＲＯＭ（オプションメモリに対応）
【図１】
2005231135.tif 000003
【図２】
2005231135.tif 000004
【図３】
2005231135.tif 000005
【図４】
2005231135.tif 000006
【図５】
2005231135.tif 000007
【図６】
2005231135.tif 000008