(57)【特許請求の範囲】
【請求項１】
アプリケーションを実行する情報処理装置に接続されたデバイスに対するデバイスドライバを生成する方法であって、
前記デバイスのモデルを判定する第１判定工程と、
メモリデバイスの第１のデータが前記第１判定工程により判定されたデバイスのモデルに適合するか判定する第２判定工程と、
前記第２判定工程により適合すると判定された場合、メモリデバイスから第１のデータを読み込む読み込み工程と、
前記読み込み工程により読み込まれた第１のデータ、及び、前記アプリケーションを記憶するメモリ中に記憶された第２のデータを使用することによって、前記デバイスに対する前記デバイスドライバを生成する工程と
を含むことを特徴とする方法。
【請求項２】
前記メモリデバイスは、プリンタ用のディスクを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記メモリデバイスは、ネットワークを介したサーバのメモリを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記メモリデバイスは、プリンタ内のメモリを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記メモリデバイスは、メモリカードを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記第２判定工程では、メモリカードの第１のデータが判定されたデバイスのモデルに適合するか判定し、適合しないと判定された場合、アプリケーションを記憶するメモリの第１のデータが判定されたデバイスのモデルに適合するか判定することを特徴とする請求項１に記載の方法。
【請求項７】
アプリケーションを実行し且つ接続されたデバイスに対するデバイスドライバを生成するための情報処理装置であって、
前記デバイスのモデルを判定し、メモリデバイスの第１のデータが判定されたデバイスのモデルに適合するか判定し、適合すると判定された場合、メモリデバイスから第１のデータを読み込み、読み込まれた第１のデータ、及び、前記アプリケーションを記憶するメモリ中に記憶された第２のデータを使用することによって、前記デバイスに対する前記デバイスドライバを生成するためのプロセッサを備えることを特徴とする情報処理装置。
【請求項８】
アプリケーションを実行し且つ接続されたデバイスに対するデバイスドライバを生成するための情報処理装置において実行されるコンピュータプログラムであって、
前記デバイスのモデルを判定するコードと、
メモリデバイスの第１のデータが判定されたデバイスのモデルに適合するか判定するコードと、
適合すると判定された場合、メモリデバイスから第１のデータを読み込むコードと、
読み込まれた第１のデータ、及び、前記アプリケーションを記憶するメモリ中に記憶された第２のデータを使用することによって、前記デバイスに対する前記デバイスドライバを生成するコードと
を備えることを特徴とするコンピュータプログラム。
【請求項９】
別の実行コードにリンクされない不変のアプリケーションのデバイスドライバコードの複数のデバイスモデルとの前方互換性を提供する方法であって、
メモリに記憶されたデバイスモデル独立デバイスドライバコードを含むアプリケーションを実行する装置に接続されたデバイスのモデルを判定する工程と、
前記デバイスの前記モデルに対するモデル依存構成データをメモリデバイスから読む工程と、
前記モデル依存構成データと前記デバイスモデル独立デバイスドライバコードとを構成することにより前記デバイスドライバコードを生成する工程と
を含むことを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に、周辺装置のビデオゲームコンソールへのインタフェーシングに関し、特に、周辺ドライバソフトウェアの更新された周辺ハードウェアとの前方互換性の管理に関する。
【０００２】
【従来の技術】
周辺装置のパーソナルコンピュータ（ＰＣ）へのインタフェーシングは、前方互換性（Forward Compatibility）を扱うための確立した方法を有する成熟した技術である。ＰＣ業界では、複数のメーカが互換性の高い周辺装置を提供している。これは、開放型のインタフェース標準の使用及びＰＣと共に使用されるオペレーティングシステムの媒介的な役割を介して実現される。
【０００３】
ＰＣのオペレーティングシステム（ＯＳ）は、任意のクラスの周辺装置に対してデバイスドライバインタフェース（ＤＤＩ）を定義する。これにより、ＯＳは、整合的且つデバイス独立的にそのクラスの複数の周辺装置にアクセスすることができる。それは、各周辺装置に対するデバイスドライバ（ドライバ）が、その周辺装置の機能性を包含し、ＤＤＩに従ってそれをＯＳに提示するためである。その結果、そのクラスの全ての周辺装置を本質的に同じようにインタフェースさせることができる。
【０００４】
また、ＯＳは、アプリケーションプログラムに対して、アプリケーションプログラムインタフェース（ＡＰＩ）を提供する。このＡＰＩは、ＰＣ（その周辺装置を含む）の機能性を包含し、デバイス独立インタフェースとしてそれをアプリケーションプログラム（アプリケーション）に提示する。従って、アプリケーションは、異なる各周辺装置のうちのいずれの構成のものがそのＰＣに接続されるかに関わらず、ＰＣ上で実行することができる。
【０００５】
ＯＳは、アプリケーションプログラムと周辺装置とを媒介する。新規の周辺装置がＰＣに加えられると、その周辺装置に対する新規のデバイスドライバがＰＣの記憶装置にインストールされる。ＰＣ上で実行されるアプリケーションは、ドライバを介してその新規の周辺装置を使用することができる。アプリケーションは、ドライバを介して周辺装置にアクセスするので、それ自体の機能性における何らかの変更に対する要求からは分離される。従って、ＰＣソフトウェアのモジュール性により、新規の周辺装置との前方互換性を提供するのが容易になる。
【０００６】
ＰＣ上での使用に採用されてきた代替の方法の１つが、AdobeTMのＰＣ用PostScriptTMプリンタドライバで使用される方法である（Adobe及びPostScriptは、オーストラリアにおいてAdobe  Systems  Incorporatedの名義で登録された登録商標である）。このドライバにより、ドライバ自体を交換することなく、更新されたプリンタハードウェアとの前方互換性が提供される。これは、各プリンタモデルに対してプリンタモデル特有の構成ファイル（ＰＰＤファイルと呼ぶ）を提供することによって達成される。印刷の際には、PostScriptプリンタドライバは、出力先であるプリンタのＰＰＤファイルを読み、ＰＰＤファイルからモデル特有の印刷コマンドを含むことによってプリンタに送信するデータを変更する。これらのモデル特有の印刷コマンドにより、更新されたハードウェアの新規の特徴に対するサポートが提供される。
【０００７】
PostScriptプリンタにより、実際、完全なプログラミング言語であるPostScriptページ記述言語が実現されるので、PostScriptプリンタに対するこの方法は有効である。PostScriptの印刷ジョブは、実際、PostScriptプログラムである。これにより、PostScriptドライバは、PostScriptプログラムコードをＰＰＤファイルからプリンタに転送することによって、モデル特有のデータ処理をプリンタ自体に委ねることができる。
【０００８】
ＰＣ用のPostScriptプリンタドライバは、プリンタドライバを交換する必要無しに、更新されたプリンタハードウェアとの前方互換性を提供する。これは、更新されたプリンタ自体がその新規の特徴に対して要求されるプログラムコードを実行するので実現可能であり、プリンタドライバのプログラムコードは、変更の必要がない。この解決法は、ダウンロードされるプログラムコードを実行する能力がない周辺装置に対しては効力がない。
【０００９】
周辺装置のゲームコンソールへのインタフェーシングは、比較的未発達の技術であり、この技術は、かつては、前方互換性の問題に対処する必要がほとんどなかった。周辺装置のビデオゲームコンソールへのインタフェーシングは、上述のＰＣとのインタフェーシングとは非常に異なる。ビデオゲームコンソールに対するソフトウェアは、ＰＣソフトウェアのモジュール的でアップグレード可能な性質に対して、本質的にモノリシックで不変である。これは、両者のプラットフォームの性質が非常に異なることにより生じる。
【００１０】
ＰＣは、大容量のハードディスクメモリを有し、多数のソフトウェアモジュール（アプリケーション、ドライバ、ライブラリなどを含む）を共存するかたちでインストールすることができる。ＰＣのオペレーティングシステムは、ソフトウェアモジュールに対して標準化されたインタフェースを強要するので、互換性が生じる。モジュールが旧くなっても、他のモジュールを交換する必要無しに、容易に交換することができる。交換は、新規のモジュールをフロッピーディスク、ＣＤからインストールしたり、あるいは、インターネットからダウンロードしたりすることによって行なうことができる。
【００１１】
ゲームコンソールには、通常、ハードディスクメモリがなく、代わりに、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭドライブ又はＲＯＭカートリッジスロットが提供される。これらでは、コンソールは、１度に１つのゲームアプリケーションしか実行できない。ゲームアプリケーションは、全てのコード及びデータがマスクＲＯＭモジュール、ＣＤ又はＤＶＤなどの不変の媒体に一緒に記憶されるという点でモノリシックである。ゲームアプリケーションは不変の媒体に記憶されるので、新規のハードウェアとの互換性を提供するためにこれらのアプリケーションを更新することはできない。各ゲームアプリケーションは、完全に独立して動作し、他のソフトウェアとの連係はない。全体的な交換以外で、更新されたソフトウェアモジュールを用いてゲームアプリケーションを更新する手段は、提供されていない。ゲームコンソールは、小容量の不揮発性メモリを提供することもあるが、これは、通常、構成及び高スコアのデータの記憶のみを意図する。ゲームアプリケーションをこの不揮発性メモリに記憶された実行可能なコードにリンクさせることによって、ゲームアプリケーションを変更することは、通常、不可能である。
【００１２】
ゲームコンソール環境の不変性は、かつては、あまり重要ではなかった。ゲームコンソールハードウェアの設計は、従来、各特定のプラットフォームの耐用年数の間中、「固定」であった。このため、ゲームアプリケーションが更新されたハードウェアに対処する必要はなかった。
【００１３】
現在では技術が収束する傾向があるために、ＰＣとゲームコンソールとの間の区別及び差異がなくなりつつあることは驚くに値しない。現在、ゲームコンソールは、ＵＳＢなどの汎用ハードウェア拡張バスを提供し、これにより、ＰＣ周辺装置をゲームコンソールにインタフェースさせる可能性が高まっている。ハードウェアの互換性のみの提供では充分ではなく、ソフトウェアの互換性も必要である。
【００１４】
ソフトウェアの互換性を提供する１つの解決法は、ゲームコンソールにＰＣスタイルのオペレーティングシステムを備えることである。この解決法は、ＰＣに対しても同様である。このアプローチは、あまり成功しておらず、ゲームコンソール業界も、この方法を回避することが多い。その理由として以下のようなものが挙げられる。
【００１５】
多くのゲーム開発者は、ＯＳインタフェースに合せるために、パフォーマンスを犠牲にすることを望まない
オペレーティングシステムによっては、不便で複雑なインタフェースが提供される
オペレーティングシステムによっては、ゲームコンソールのメーカにライセンス料の支払いが要求される
ゲームコンソールのハードウェアは、ＰＣのハードウェアに近づきつつあるが、ＰＣスタイルのＯＳがないので、今述べたような点が問題となる。ＵＳＢインタフェースにより、ゲームコンソールは、無数の新規の周辺装置に接続可能となったが、ゲームアプリケーションがゲーム後にリリースされた周辺装置との前方互換性を提供する方法がない。
【００１６】
【発明が解決しようとする課題】
本発明の目的は、既存の構成の１つ以上の問題点をほぼ克服するか、あるいは、少なくとも改善することである。
【００１７】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の方法は以下の構成を備える。即ち、アプリケーションを実行する情報処理装置に接続されたデバイスに対するデバイスドライバを生成する方法であって、前記デバイスのモデルを判定する第１判定工程と、メモリデバイスの第１のデータが前記第１判定工程により判定されたデバイスのモデルに適合するか判定する第２判定工程と、前記第２判定工程により適合すると判定された場合、メモリデバイスから第１のデータを読み込む読み込み工程と、前記読み込み工程により読み込まれた第１のデータ、及び、前記アプリケーションを記憶するメモリ中に記憶された第２のデータを使用することによって、前記デバイスに対する前記デバイスドライバを生成する工程とを含むことを特徴とする。
【００２１】
また、本発明の他の面も開示される。
【００２２】
【発明の実施の形態】
添付のいずれか１つ以上の図面において、同じ符号を有するステップ及び／又は特徴は、特に明記されない限り、本明細書においては、同じ機能又は処理を有する。
【００２３】
ここで説明する好適な方法の原則は、コンピュータエンタテインメントシステム又はセットトップボックスに接続される周辺機器への汎用的な適用性を有する。説明を簡単にする目的で、好適な方法のステップの説明は、ＵＳＢ（Universal  Serial  Bus）ポートを介してゲームコンソールに接続されるプリンタに関して行われる。しかし、本発明は、ここで説明される方法に制限されない。本発明は、例えば、カメラなどの入力装置及び表示装置などの出力装置にも適用される。
【００２４】
ゲーミングシステム１００の概略ブロック図を図１に示す。ゲーミングシステム１００は、ゲームコンソール１０１と、ゲームコントローラ及び／又はジョイスティックなどの入力装置１０２と、プリンタ１１５、スピーカ１１７及び表示装置１１４を含む出力装置とを具備する。
【００２５】
ゲームコンソール１０１は、通常、少なくとも１つのプロセッサユニット１０５と、例えば半導体ランダムアクセスメモリ（ＲＡＭ）及び読出し専用メモリ（ＲＯＭ）などで形成されるメモリユニット１０６と、ビデオインタフェース１０７、入力装置１０２用のＩ／Ｏインタフェース１１３及びプリンタ１１５用のＩ／Ｏインタフェース１０８を含む複数の入出力（Ｉ／Ｏ）インタフェースとを含む。
【００２６】
ＣＤ−ＲＯＭドライブ１１２は、通常、データの不揮発性ソースとして設けられる。代わりに、ＤＶＤ−ＲＯＭドライブ又はＲＯＭカートリッジスロットが、データの不揮発性ソースとして設けられても良い。また、メモリカード１０９には、不揮発性ＲＡＭが備えられる。このメモリカードは、通常、ゲームコンソール１０１に接続されるが、相互接続バス１０４に直接接続される。ゲームコンソール１０１の構成要素１０５から１１３は、通常、相互接続バス１０４を介して、ゲーミングシステム１００の動作モードが、当業者には既知の従来の動作モードになるように通信を行なう。
【００２７】
通常、ゲームを含むアプリケーションプログラムは、ＣＤ−ＲＯＭ上にコード化された状態でユーザに供給される。このＣＤ−ＲＯＭは、ＣＤ−ＲＯＭドライブ１１２に挿入され、プロセッサ１０５により実行されることで読出し／制御が行われる。プログラムの中間記憶領域は、半導体メモリ１０６を使用して達成されても良い。
【００２８】
アプリケーションプログラムは、実行される度にＣＤ−ＲＯＭから読み込まれるモノリシックで不変のアプリケーションである。また、このアプリケーションプログラムは、印刷用の構成要素を含み、この構成要素は、デバイスモデル独立プリンタドライバ（ＤＭＩＰＤ）と呼ぶものとする。ＤＭＩＰＤは、ゲームアプリケーションの他の部分に印刷ＡＰＩを提供し、汎用的な印刷機能を提供するコードを含む。ＤＭＩＰＤは、モデル特有のプリンタコードを含まないので、デバイスモデル独立となることができる。
【００２９】
しかし、ＤＭＩＰＤがプリンタとのデータ交換を効率よく行なうためには、データをプリンタの特定モデルと互換性があるようにするメカニズムが必要である。これは、プリンタを制御する適切な制御コード、色変換、ハーフトーン処理、解像度及び使用される媒体のサイズを含む。
【００３０】
従って、ＤＭＩＰＤは、不変のコード部分と、テーブル駆動型コード部分とに論理的に組み立てられる。テーブル駆動型コード部分のコードにより、モデル特有の出力コマンドが生成される。従って、テーブル駆動型コード部分により、ＤＭＩＰＤ中のコードに対して独立のレベルが導入される。
【００３１】
テーブルは、別々に読み込まれても良いが、実行時に読み込まれる。テーブルは、プリンタ構成ファイル（ＰＣＦ）の形で提供され、この構成ファイルは、プリンタの各モデル又は同じ特性を有するプリンタの各グループごとに生成される。ＲＧＢ色空間からプリンタ固有の色空間へのマッピング、サポートされる媒体の種類及び印刷制御コマンドなどの重要なプリンタ特性は、データのテーブルとして記憶される。各ＰＣＦは、そのプリンタの特徴記述を含む。この特徴記述は詳細であるので、ＤＭＩＰＤはこのようなプリンタに対して出力することができる。図２は、ＰＣＦの構造例を示す。第１のフィールド３０１では、特定のプリンタモデル又は特定の１組のプリンタモデルに対するＰＣＦは、特徴の記述を行なうプリンタモデルの一覧を示す文字列の配列を含む。第２のフィールド３０２では、ＰＣＦは、プリンタ１１５が有する色成分の数を指定する。例えば、シアン・マゼンタ・イエロー・ブラックプリンタは、４つの色成分を有する。
【００３２】
フィールド３０３は、ＲＧＢ色空間からシアンなどのプリンタの最初の色成分に色情報を変換するルックアップテーブルを簡略化した例を提供する。同様に、続く複数のフィールド３０４から３０５は、プリンタ１１５の残りの各色成分に対して色変換情報を提供する。色変換及び色再生は、フィールド３０３から３０５に含まれるものよりも複雑である。
【００３３】
当業者には明らかであろうが、色変換及び色再生は、測色の色空間への色空間変換過程、下地除去過程、デバイスの特徴記述過程、レンダリング目的処理過程及び色域マッピング過程を含み、この後には、誤差拡散過程又はディザリングが続く。これらのプロセスの全ては、International  Color  Consortium（ＩＣＣ）の種々の刊行物に記載されている。
【００３４】
色変換及び色再生は、２つの部分、すなわち、特定のプリンタに適した表データを含む部分と、モデルごとに変化しない固定のアルゴリズムを含む第２の部分とに分割することができるので、フィールド３０３から３０５において提供されるデータは、色変換及び色再生を行なうのに充分である。
【００３５】
フィールド３０６は、ページ開始でプリンタ１１５に送信されるプリンタ制御コマンドシーケンスを指定し、フィールド３０７は、ページ終わりでプリンタ１１５に送信されるプリンタ制御コマンドシーケンスを指定する。フィールド３０８は、第１のプリンタ色成分の画像データの走査線開始でプリンタ１１５に送信されるプリンタ制御コマンドシーケンスを指定する。同様に、続く複数のフィールド３０９から３１０は、残りのプリンタ色成分の画像データの走査線開始でプリンタ１１５に送信されるプリンタ制御コマンドシーケンスを提供する。
【００３６】
最後に、フィールド３１１は、画像データの走査線終わりでプリンタ１１５に送信されるプリンタ制御コマンドシーケンスを指定する。
【００３７】
アプリケーションプログラムがＣＤ／ＤＶＤに載せられた時点で、サポートされるプリンタの各モデルに対するＰＣＦがＣＤ／ＤＶＤ上に含まれる。
【００３８】
しかし、アプリケーションプログラムのリリース後も、プリンタの新規モデルは続々とリリースされるであろう。アプリケーションプログラムにこれらの新規モデルとの互換性を与えるためには、新規のＰＣＦが必要である。これらのＰＣＦは、新規モデルのプリンタに対して生成され、ゲーミングシステム１００のメモリカード１０９の所定位置にＰＣＦをコピーする更なるアプリケーションプログラムと共に、ＣＤ上に載せてユーザに供給される。ＰＣＦのこの所定位置は、メモリカード１０９のルートディレクトリにある「ＰＣＦＳ」という名前のディレクトリにあるのが好ましい。
【００３９】
ゲームなどのアプリケーションプログラムの実行中に、ユーザにより印刷が開始されることもある。図３は、ＤＭＩＰＤの動作のフローチャートを示す。ステップ２０１で開始すると、ＤＭＩＰＤは、アプリケーションプログラムにより初期化される。
【００４０】
ＤＭＩＰＤは、ステップ２０２において、コンソールに接続されたプリンタのモデルを判定する。これは、ＵＳＢプリンタクラスの使用を介してＵＳＢポート１１６に差し込まれたプリンタ１１５のモデル名を取得することによって行われる。このＵＳＢプリンタクラスは、ＵＳＢプリンタからＩＥＥＥ１２８４識別文字列を読み出すためのメカニズムを提供する。この識別文字列は、メーカ、シリアル番号などの他のデータに加えて、プリンタモデルをテキスト文字列として指定する。
【００４１】
プリンタ１１５のモデルが既知である場合、ＤＭＩＰＤは、プリンタのモデルに対して適切なＰＣＦを取得するよう試みる。従って、ステップ２０３では、ＤＭＩＰＤは、メモリカード１０９中の第１のＰＣＦを選択し、このＰＣＦが現在ゲーミングモジュール１０１に接続されているプリンタ１１５に適合するか否かをステップ２０４で判定する。ＰＣＦがプリンタに適合するか否かの判定は、ＵＳＢプリンタクラスから取得したプリンタ識別文字列とＰＣＦの第１のフィールド３０１のモデル文字列とを比較することによって行われる。
【００４２】
メモリカード１０９から読み出されたＰＣＦが、プリンタ１１５に適合しない場合、ＤＭＩＰＤは、ステップ２０５においてメモリカード１０９上に他のＰＣＦが存在するか否かを判定する。メモリカード１０９から入手可能な他のＰＣＦが存在する場合、ＤＭＩＰＤは、ステップ２０６において次のＰＣＦを選択してステップ２０４に戻り、このＰＣＦがプリンタ１１５に適合するか否かの判定が行われる。
【００４３】
適切なＰＣＦがメモリカード１０９から入手可能でない場合、方法２００において、ステップ２０５でメモリカード１０９から入手可能なＰＣＦがこれ以上存在しないと判定される段階に到達する。
【００４４】
ＤＭＩＰＤは、内蔵ＰＣＦ間を検索することによる適切なＰＣＦの検索へと進む。これらの内蔵ＰＣＦは、アプリケーションプログラムＣＤ／ＤＶＤ上にある。ステップ２０７において、ＤＭＩＰＤは、第１の内蔵ＰＣＦを選択し、このＰＣＦがプリンタ１１５に適合するか否かをステップ２０８で判定する。内蔵ＰＣＦがプリンタ１１５に適合しない場合、ＤＭＩＰＤは、ステップ２０９において他の内蔵ＰＣＦが存在するか否かを判定する。他の内蔵ＰＣＦが入手可能である場合、ＤＭＩＰＤは、ステップ２１０で次のＰＣＦを選択してステップ２０８に戻り、このＰＣＦがプリンタ１１５に適合するか否かが判定される。
【００４５】
また、適切なＰＣＦが内蔵ＰＣＦから入手可能でない場合、方法２００は、ステップ２０９からステップ２１１へと続き、このステップ２１１において、ユーザは適切なＰＣＦを提供するように促される。ユーザは、新規のプリンタ１１５に付属のＣＤを挿入するか、あるいは、ＰＣＦを含む別のメモリカード１０９を挿入することによって、ＰＣＦの提供を行なうことができる。
【００４６】
ステップ２１４において、ＤＭＩＰＤは、ＣＤ又はメモリカードなどの新規の媒体が挿入されたか否かを判定する。新規の媒体が挿入された場合、ＤＭＩＰＤは、ステップ２１２及びステップ２１３において、正しいＰＣＦを入手するために新規に挿入された媒体の走査を自動的に行なう。
【００４７】
ステップ２１４において、新規の媒体が挿入されていないと判定される場合、ユーザには、印刷をキャンセルする選択権がステップ２１５で与えられ、キャンセルする場合、方法はステップ２１９で終了する。
【００４８】
ステップ２０４、２０８又は２１３で適切なＰＣＦが見つかった場合、ステップ２１６においてＤＭＩＰＤによりＰＣＦが読み込まれる。
【００４９】
ステップ２１７において、ＤＭＩＰＤはそのＰＣＦを使用するように構成される。好適な実施例では、ステップ２１６において、ＰＣＦデータと同サイズのバッファが割り当てられ、ＰＣＦがこのバッファに読み込まれる。ステップ２１７において、読み込まれたＰＣＦのデータを指す１つ以上のデータポインタが割り当てられる。
【００５０】
図４は、典型的な従来技術のプリンタドライバのＣプログラミング言語における擬似コードを示す。このような従来のプリンタドライバでは、データポインタは、固定データを指す。図５は、ステップ２１６及び２１７を実行するためのＣプログラミング言語における擬似コードを示す。ＤＭＩＰＤにおいて、データポインタは、ＰＣＦから読み込まれるデータを指す。
【００５１】
ＤＭＩＰＤは、プリンタ特有のＰＣＦデータを伴って構成されるので、ＤＭＩＰＤは、ステップ２１８においてプリンタ１１５への出力を行なうことができる。出力後、方法はステップ２１９で終了する。
【００５２】
ステップ２１４において、ユーザがＣＤからＰＣＦを供給する場合、ＤＭＩＰＤは、１枚以上のメモリカード１０９にＰＣＦをコピーする選択権をユーザに対して提供するのが好ましい。ＰＣＦをメモリカードにコピーすることにより、ディスクを交換する必要がなくなるので、今後の印刷処理は、ユーザにとって容易なものとなるであろう。
【００５３】
要約すると、開示された方法及び装置により、周辺ドライバソフトウェアの新規の周辺ハードウェアとの前方互換性が提供される。これは、ドライバソフトウェアの実行コードに対しては変更を加えず、非実行の構成ファイルに対してのみ変更を加えることで達成される。本方法は、ビデオゲームコンソールアプリケーションに非常に適しているが、それは、これらのコンソールが、通常、アプリケーションの実行コードに対する任意の変更を許容しないからである。
【００５４】
ＰＣＦは、ＣＤ−ＲＯＭドライブ１１２又はメモリカードを介してＣＤから読み出されるが、ＵＳＢポート１１６を介してプリンタ１１５のメモリから読み出す（アップロードする）ことも、あるいは、コンピュータネットワーク上のサーバなどの外部装置のメモリから読み出す（ダウンロードする）こともできる。また、ユーザにより印刷処理が要求される場合、図３に示すフローチャートによるソフトウェアプログラムは、プロセッサ１０５（ＣＰＵ）により実行されても良い。ユーザがゲームアプリケーションの始動後に印刷処理を選択する場合、ソフトウェアプログラムを実行することによって、プロセッサ１０５は、ＵＳＢのプラグアンドプレイを使用して任意の使用可能なプリンタを識別し、プリンタを使用可能にするＰＣＦを選択し、ＰＣＦを処理してプリンタドライバを生成する。例えば、ユーザが印刷スイッチを選択した場合、図３のフローチャートのステップ２０３から２１６から成る取得処理がプロセッサ１０５により行われても良い。
【００５５】
以上、本発明の一実施例のみを説明してきたが、本発明の趣旨から逸脱することなく、変形及び／又は変更を行なうことが可能である。この実施例は、例示のためのものであり、これによって制限されない。
【００５６】
本明細書において、「成る、具備する、及び、構成される」という語は、「主に含むがそれのみとは限らない」、「有する」、又は「含む」を意味し、「それのみから成る」ことは意味しない。語の各変形は、対応する意味を有する。
【図面の簡単な説明】
【図１】ゲーミングシステムの概略ブロック図である。
【図２】プリンタ特徴記述ファイル（ＰＣＦ）の構造を示す図である。
【図３】デバイスモデル独立プリンタドライバ（ＤＭＩＰＤ）の動作のフローチャートである。
【図４】典型的な従来技術のプリンタドライバのＣプログラミング言語における擬似コードを示す図である。
【図５】ＰＣＦを読み込み、ＰＣＦから印刷処理を構成するためのＣプログラミング言語における擬似コードを示す図である。
【図１】
0003720754.tif 000002
【図２】
0003720754.tif 000003
【図３】
0003720754.tif 000004
【図４】
0003720754.tif 000005
【図５】
0003720754.tif 000006