JP3181894B2 - 出力装置 - Google Patents
出力装置Info
- Publication number
- JP3181894B2 JP3181894B2 JP15283399A JP15283399A JP3181894B2 JP 3181894 B2 JP3181894 B2 JP 3181894B2 JP 15283399 A JP15283399 A JP 15283399A JP 15283399 A JP15283399 A JP 15283399A JP 3181894 B2 JP3181894 B2 JP 3181894B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- cartridge
- output
- area
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、情報処理装置から
出力される情報から出力情報を生成して、出力する出力
装置に関するものである。
出力される情報から出力情報を生成して、出力する出力
装置に関するものである。
【0002】
【従来の技術】従来から知られているこの種の印刷装置
のひとつでは、ある特定の制御プログラムを内蔵ROMな
どに記憶させ、印刷装置の制御にあたらせていた。
のひとつでは、ある特定の制御プログラムを内蔵ROMな
どに記憶させ、印刷装置の制御にあたらせていた。
【0003】また、従来から知られている第2の印刷装
置では、内蔵プログラムからコマンド解析ルーチンを独
立させて、着脱可能なプログラム格納媒体に収め、印刷
装置本体に内蔵されている制御プログラムのメインルー
チン側で複数のコマンド解析ルーチンを呼び分け、この
ことにより複数のコマンド体系に対して1つの装置で、
印刷可能としていた。
置では、内蔵プログラムからコマンド解析ルーチンを独
立させて、着脱可能なプログラム格納媒体に収め、印刷
装置本体に内蔵されている制御プログラムのメインルー
チン側で複数のコマンド解析ルーチンを呼び分け、この
ことにより複数のコマンド体系に対して1つの装置で、
印刷可能としていた。
【0004】従来から知られている第3の印刷装置で
は、印刷装置本体に内蔵されている制御プログラムとは
独立して動作する制御プログラムを着脱可能なプログラ
ムカートリッジに記憶させ、印刷装置の立上げ処理時に
は、該プログラムカートリッジ上の制御プログラムを実
行するか内蔵の制御プログラムを実行するかを選択して
いた。
は、印刷装置本体に内蔵されている制御プログラムとは
独立して動作する制御プログラムを着脱可能なプログラ
ムカートリッジに記憶させ、印刷装置の立上げ処理時に
は、該プログラムカートリッジ上の制御プログラムを実
行するか内蔵の制御プログラムを実行するかを選択して
いた。
【0005】ここで、プログラムカートリッジは、文字
ドットパターンを収めるフォントカートリッジと共通の
形状をもつもので、カートリッジ側に‘プログラム’か
‘フォント情報’かの識別記号が付されている。そし
て、内蔵側の制御プログラムは、上記‘プログラム’の
識別記号があった場合のみ、制御をプログラムカートリ
ッジ側に移していた。
ドットパターンを収めるフォントカートリッジと共通の
形状をもつもので、カートリッジ側に‘プログラム’か
‘フォント情報’かの識別記号が付されている。そし
て、内蔵側の制御プログラムは、上記‘プログラム’の
識別記号があった場合のみ、制御をプログラムカートリ
ッジ側に移していた。
【0006】
【発明が解決しようとする課題】しかしながら、上述し
た第1の従来例では、ある特定の制御プログラムしか実
行されないため、別のコマンド体系に対応した印刷が不
可能であった。
た第1の従来例では、ある特定の制御プログラムしか実
行されないため、別のコマンド体系に対応した印刷が不
可能であった。
【0007】また、第2の従来例では、別の複数のコマ
ンド体系への対応は可能となるが、制御プログラムのメ
インルーチンを装置内に持っているため、コマンド解析
以外の処理(例えば、データ源となるホストコンピュー
タとのハンドシェイクの変更や、ジャム処理などにおけ
る印刷機構部の給紙ハンドリングの変更・追加など、装
置制御に対しての変更)は不可能であった。このため、
いろいろな印刷機能を1つの装置で使い分けることには
限界があった。
ンド体系への対応は可能となるが、制御プログラムのメ
インルーチンを装置内に持っているため、コマンド解析
以外の処理(例えば、データ源となるホストコンピュー
タとのハンドシェイクの変更や、ジャム処理などにおけ
る印刷機構部の給紙ハンドリングの変更・追加など、装
置制御に対しての変更)は不可能であった。このため、
いろいろな印刷機能を1つの装置で使い分けることには
限界があった。
【0008】さらに、第3の従来例では、一旦、制御プ
ログラムが作動し始めると、他方の制御プログラムは別
個独立して動作するため、装置立上げ後のプログラム切
替が困難であった。
ログラムが作動し始めると、他方の制御プログラムは別
個独立して動作するため、装置立上げ後のプログラム切
替が困難であった。
【0009】しかも、第3の従来例では、装置上のハー
ドウェアの一部が変更されて、既存のプログラムカート
リッジ上の制御プログラムが正常に動作しないものであ
っても、識別手段がないため、そのまま該制御プログラ
ムが実行されてしまう危険性があった。
ドウェアの一部が変更されて、既存のプログラムカート
リッジ上の制御プログラムが正常に動作しないものであ
っても、識別手段がないため、そのまま該制御プログラ
ムが実行されてしまう危険性があった。
【0010】また、複数ある印刷装置相互間で若干の制
御上の差異が生じている場合、複数あるプログラムカー
トリッジ群のうち適合・不適合の判別手段がなく、不適
合な制御プログラムがある装置上で実行されてしまうお
それがあった。
御上の差異が生じている場合、複数あるプログラムカー
トリッジ群のうち適合・不適合の判別手段がなく、不適
合な制御プログラムがある装置上で実行されてしまうお
それがあった。
【0011】よって本発明の目的は、上述の点に鑑み、
常に適切な制御プログラムを実行し得るよう構成した出
力装置を提供することにある。
常に適切な制御プログラムを実行し得るよう構成した出
力装置を提供することにある。
【0012】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明に係る出力装置は、複数種類の制御プログ
ラムに基づいて、情報処理装置から出力される情報から
出力情報を生成して出力可能な出力装置であって、使用
すべき制御プログラムの切り換えが指示されているか否
かを判断する判断手段と、前記情報処理装置に情報の出
力を停止させる所定の信号を出力する出力手段と、前記
判断手段による判断の結果、前記切り換えが指示されて
いると判断された場合、前記出力手段に前記所定の信号
を出力させ前記情報処理装置に情報の出力を停止させた
状態で制御プログラムの切り換え処理を行う制御手段と
を具備したものである。すなわち、本発明の特徴は、使
用すべき制御プログラムの切り換えが指示されているか
否かを判断する判断手段による判断の結果に応じて、出
力すべき対象情報を供給する情報処理装置による情報出
力を停止させるべく所定の信号を出力させる点にある。
めに、本発明に係る出力装置は、複数種類の制御プログ
ラムに基づいて、情報処理装置から出力される情報から
出力情報を生成して出力可能な出力装置であって、使用
すべき制御プログラムの切り換えが指示されているか否
かを判断する判断手段と、前記情報処理装置に情報の出
力を停止させる所定の信号を出力する出力手段と、前記
判断手段による判断の結果、前記切り換えが指示されて
いると判断された場合、前記出力手段に前記所定の信号
を出力させ前記情報処理装置に情報の出力を停止させた
状態で制御プログラムの切り換え処理を行う制御手段と
を具備したものである。すなわち、本発明の特徴は、使
用すべき制御プログラムの切り換えが指示されているか
否かを判断する判断手段による判断の結果に応じて、出
力すべき対象情報を供給する情報処理装置による情報出
力を停止させるべく所定の信号を出力させる点にある。
【0013】
【発明の実施の形態】以下に、図面を参照して本発明の
実施の形態を詳細に説明する。実施の形態1 図1は、本発明を適用した一実施の形態であるレーザビ
ームプリンタのうち、制御部100の概略構成を示すブロ
ック図である。図1中102は、データ発生源となるホス
トコンピュータであり、101は装置全体を制御するCPUで
ある。103は、ホストコンピュータ102からのデータを入
力信号線S1を介して入力する入力インタフェース回路
である。入力インタフェース回路103は、またCPU101の
指示に従いビジィー信号線S2をON/OFFし、ホストコン
ピュータに、データ送信不可/可を知らせる。
実施の形態を詳細に説明する。実施の形態1 図1は、本発明を適用した一実施の形態であるレーザビ
ームプリンタのうち、制御部100の概略構成を示すブロ
ック図である。図1中102は、データ発生源となるホス
トコンピュータであり、101は装置全体を制御するCPUで
ある。103は、ホストコンピュータ102からのデータを入
力信号線S1を介して入力する入力インタフェース回路
である。入力インタフェース回路103は、またCPU101の
指示に従いビジィー信号線S2をON/OFFし、ホストコン
ピュータに、データ送信不可/可を知らせる。
【0014】104は、本レーザビームプリンタの制御プ
ログラム及び文字パターンを格納しておくROMであり、
その格納形式は後述する図2に、そのプログラムの流れ
は後述する図10,図11,図12に示される。
ログラム及び文字パターンを格納しておくROMであり、
その格納形式は後述する図2に、そのプログラムの流れ
は後述する図10,図11,図12に示される。
【0015】105は、後述の制御プログラム(図10〜
図14)が使用するRAMであり、その詳細は、図5で後
述する。
図14)が使用するRAMであり、その詳細は、図5で後
述する。
【0016】106は、不揮発性RAMであり一般のEEPROMで
構成され、電源切断後も、保存しておくべき情報を入れ
ておく。その詳細は図7で後述する。なお、以後この不
揮発性RAMをNVRAMと称す。
構成され、電源切断後も、保存しておくべき情報を入れ
ておく。その詳細は図7で後述する。なお、以後この不
揮発性RAMをNVRAMと称す。
【0017】107は増設用のRAMカードであり、RAM105の
拡張として使用される。
拡張として使用される。
【0018】108は、第1のプログラムカートリッジ10
9,第2のプログラムカートリッジ110とのハードウェア
的インタフェースをとるカートリッジインタフェース回
路であり、CPU101からのプログラムカートリッジ上のRO
Mへのアクセスを司どる。上記プログラムカートリッジ1
09,110は、複数のROMと関連素子で構成されたROMボード
をカートリッジに収めたプログラムカートリッジであ
る。このプログラムカートリッジ上のROMに、前述したR
OM104に格納された制御プログラムとは別の制御プログ
ラム及び文字パターンが格納される。その格納形式は図
2に、そのプログラムの流れは図13,図14で後述さ
れる。これらプログラムカートリッジ109,110は、図1
5に示すように本レーザビームプリンタ本体に用意され
た左右2つのカートリッジコネクタ1501,1502により本
体との着脱が可能となる。ここでは、第1のプログラム
カートリッジ109を左側カートリッジコネクタ1501,第
2のプログラムカートリッジ110を右側カートリッジコ
ネクタ1502に装着するものとする。
9,第2のプログラムカートリッジ110とのハードウェア
的インタフェースをとるカートリッジインタフェース回
路であり、CPU101からのプログラムカートリッジ上のRO
Mへのアクセスを司どる。上記プログラムカートリッジ1
09,110は、複数のROMと関連素子で構成されたROMボード
をカートリッジに収めたプログラムカートリッジであ
る。このプログラムカートリッジ上のROMに、前述したR
OM104に格納された制御プログラムとは別の制御プログ
ラム及び文字パターンが格納される。その格納形式は図
2に、そのプログラムの流れは図13,図14で後述さ
れる。これらプログラムカートリッジ109,110は、図1
5に示すように本レーザビームプリンタ本体に用意され
た左右2つのカートリッジコネクタ1501,1502により本
体との着脱が可能となる。ここでは、第1のプログラム
カートリッジ109を左側カートリッジコネクタ1501,第
2のプログラムカートリッジ110を右側カートリッジコ
ネクタ1502に装着するものとする。
【0019】111は、操作パネル112への信号をCPU101へ
入出力するためのパネルインタフェース回路であり、こ
の回路を経由してCPU101は、操作パネル上のLEDの点灯
やスイッチのセンスを行う。
入出力するためのパネルインタフェース回路であり、こ
の回路を経由してCPU101は、操作パネル上のLEDの点灯
やスイッチのセンスを行う。
【0020】112は、本レーザビームプリンタの操作パ
ネルであり、その構成は図9で後述する。
ネルであり、その構成は図9で後述する。
【0021】113は、後述するページバッファ517(図5
参照)上に展開された1ページ分の画像データを画像信
号に変換する画像信号発生器であり、印刷機構部115の
同期信号に同期して、画像信号を印刷機構部115へ出力
する。
参照)上に展開された1ページ分の画像データを画像信
号に変換する画像信号発生器であり、印刷機構部115の
同期信号に同期して、画像信号を印刷機構部115へ出力
する。
【0022】114は、制御部100と印刷機構部115との間
の入出力を行う出力インタフェース回路である。
の入出力を行う出力インタフェース回路である。
【0023】115は、本レーザビームプリンタの印刷機
構部であり、画像信号を受けて、用紙の給紙,レーザー
光の発生,画像の用紙への転写・定着といったレーザビ
ームプリンタの一連の印刷プロセスを実現する。
構部であり、画像信号を受けて、用紙の給紙,レーザー
光の発生,画像の用紙への転写・定着といったレーザビ
ームプリンタの一連の印刷プロセスを実現する。
【0024】以上の構成により本プリンタは、ROM104上
の制御プログラム及び第1のプログラムカートリッジ10
9,第2のプログラムカートリッジ110上の制御プログラ
ムの、それぞれ異なった3種の制御プログラムを用意
し、これを切替えて、使用できる手段を提供している。
の制御プログラム及び第1のプログラムカートリッジ10
9,第2のプログラムカートリッジ110上の制御プログラ
ムの、それぞれ異なった3種の制御プログラムを用意
し、これを切替えて、使用できる手段を提供している。
【0025】図2は制御プログラムを収めるROM104及び
プログラムカートリッジ109,110上のROMの格納形式を示
した図である。
プログラムカートリッジ109,110上のROMの格納形式を示
した図である。
【0026】以後、ROM104へ収められる本来本プリンタ
が持っている制御プログラムを本体プログラムとよび、
着脱可能なプログラムカートリッジ109,110に収められ
る制御プログラムを総称してカートリッジプログラムと
よぶ。また、第1のプログラムカートリッジ109に収め
られているものをカートリッジプログラム0,第2のプ
ログラムカートリッジ110に収められているものをカー
トリッジプログラム1と呼ぶ。
が持っている制御プログラムを本体プログラムとよび、
着脱可能なプログラムカートリッジ109,110に収められ
る制御プログラムを総称してカートリッジプログラムと
よぶ。また、第1のプログラムカートリッジ109に収め
られているものをカートリッジプログラム0,第2のプ
ログラムカートリッジ110に収められているものをカー
トリッジプログラム1と呼ぶ。
【0027】図2において、200は本体プログラムの格
納形式を示したものであり、201はCPU101の割込ベクト
ルである。このCPU101は、0番地から、順にスタックポ
インタ初期アドレスa0番地,プログラムスタートアド
レスa1番地,各種割込スタートアドレスa2〜an番地をア
クセスする。a2〜an番地は、RAM105の先頭の領域であ
る後述する図5 501に順に割り振られる。
納形式を示したものであり、201はCPU101の割込ベクト
ルである。このCPU101は、0番地から、順にスタックポ
インタ初期アドレスa0番地,プログラムスタートアド
レスa1番地,各種割込スタートアドレスa2〜an番地をア
クセスする。a2〜an番地は、RAM105の先頭の領域であ
る後述する図5 501に順に割り振られる。
【0028】202は、本体プログラムの識別名を表わす
もので、制御プログラム毎に一意の2桁の番号がつけら
れる。これを「プログラムID」と呼ぶ。
もので、制御プログラム毎に一意の2桁の番号がつけら
れる。これを「プログラムID」と呼ぶ。
【0029】203は、本体プログラム再スタートアドレ
ス格納領域b1であり、カートリッジプログラムから、
本体プログラムへ切替わる際の、ジャンプ命令(再スタ
ートアドレスb1番地へジャンプ)が収められる。本アド
レス格納領域203は、b0番地に割振られ固定化され
る。
ス格納領域b1であり、カートリッジプログラムから、
本体プログラムへ切替わる際の、ジャンプ命令(再スタ
ートアドレスb1番地へジャンプ)が収められる。本アド
レス格納領域203は、b0番地に割振られ固定化され
る。
【0030】204は、本体プログラム割込ベクトルテー
ブルである。各種割込に対して、本体プログラム上に、
それぞれc2,c3,…cnからスタートする割込処理ルーチ
ンが用意され、この割込ベクトルテーブル204上にそれ
ぞれの割込処理ルーチンへのジャンプ命令が用意され
る。
ブルである。各種割込に対して、本体プログラム上に、
それぞれc2,c3,…cnからスタートする割込処理ルーチ
ンが用意され、この割込ベクトルテーブル204上にそれ
ぞれの割込処理ルーチンへのジャンプ命令が用意され
る。
【0031】205は、外部参照ルーチン呼出しテーブル
である。これはROM104上に用意したプログラム(サブル
ーチン)をカートリッジプログラムが呼び出して利用で
きるように設けられたもので、本実施の形態ではNVRAM1
06への書込み及び読出しのためのサブルーチンを用意し
ている。
である。これはROM104上に用意したプログラム(サブル
ーチン)をカートリッジプログラムが呼び出して利用で
きるように設けられたもので、本実施の形態ではNVRAM1
06への書込み及び読出しのためのサブルーチンを用意し
ている。
【0032】本テーブル205中、206はNVRAM書込ルーチ
ン212へのジャンプ先e1番地を収めた領域で、d1番地に
割り振られ固定化される。207、NVRAM読出ルーチン213
へのジャンプ先e2番地を収めた領域で、d2番地に割振ら
れ固定化される。208は、NVRAM書込ルーチン212または
読出しルーチン213に対して、NVRAMの書込または読出し
のアドレスを指示するもので、本領域208に書き込まれ
たRAM105上のアドレスe3の内容、すなわちNVRAM指定ア
ドレス507が指定書込(読出し)アドレスとなる(図
5)。同様に209は、NVRAM書込ルーチン212または読出
しルーチン213に書込値を与える、または、読出し値を
受取るための領域を指定するもので、本領域209に書込
まれたRAM105上のアドレスe4の内容、すなわちNVRAM設
定値508がその値となる(図5)。210は、NVRAM書込み
ルーチン212,NVRAM読出しルーチン213が使用するRAM領
域506の総数(Kバイト)である。
ン212へのジャンプ先e1番地を収めた領域で、d1番地に
割り振られ固定化される。207、NVRAM読出ルーチン213
へのジャンプ先e2番地を収めた領域で、d2番地に割振ら
れ固定化される。208は、NVRAM書込ルーチン212または
読出しルーチン213に対して、NVRAMの書込または読出し
のアドレスを指示するもので、本領域208に書き込まれ
たRAM105上のアドレスe3の内容、すなわちNVRAM指定ア
ドレス507が指定書込(読出し)アドレスとなる(図
5)。同様に209は、NVRAM書込ルーチン212または読出
しルーチン213に書込値を与える、または、読出し値を
受取るための領域を指定するもので、本領域209に書込
まれたRAM105上のアドレスe4の内容、すなわちNVRAM設
定値508がその値となる(図5)。210は、NVRAM書込み
ルーチン212,NVRAM読出しルーチン213が使用するRAM領
域506の総数(Kバイト)である。
【0033】RAM105上のNVRAM指定アドレス領域507を先
頭にKバイト分の外部参照RAM領域が、NVRAM書込み,読
出しのために用意され、この領域506は本体プログラ
ム,カートリッジプログラムの使用RAM領域とは分離さ
れて使われる。
頭にKバイト分の外部参照RAM領域が、NVRAM書込み,読
出しのために用意され、この領域506は本体プログラ
ム,カートリッジプログラムの使用RAM領域とは分離さ
れて使われる。
【0034】211は、図10〜図12で示される本体プ
ログラムの格納領域である。
ログラムの格納領域である。
【0035】212は外部参照ルーチンの1つであるNVRAM
書込ルーチンの格納領域であり、213はNVRAM読出しルー
チンの格納領域である。214は、ホストコンピュータ102
から入力される文字コードに対する文字のドットパター
ン群を収めたフォント領域であり、215はフォントの識
別領域,216はフォント領域214の総容量を表わすフォン
ト容量m,217は文字ドットパターンの実体を収める文
字パターン領域から構成される。
書込ルーチンの格納領域であり、213はNVRAM読出しルー
チンの格納領域である。214は、ホストコンピュータ102
から入力される文字コードに対する文字のドットパター
ン群を収めたフォント領域であり、215はフォントの識
別領域,216はフォント領域214の総容量を表わすフォン
ト容量m,217は文字ドットパターンの実体を収める文
字パターン領域から構成される。
【0036】上記格納形式200において、201〜205はROM
104上の0番地からの固定番地に割振られる。カートリ
ッジプログラムは、本体プログラム211や外部参照ルー
チン212,213を、固定的に定義された番地の内容から間
接的に参照する。従って、プログラム修正などにより、
211以下の領域の内容が変更されROM104上の番地にずれ
が生じても、201〜205の領域の内容がその変更に対応さ
れるだけなので、カートリッジプログラム側に影響を与
えない。
104上の0番地からの固定番地に割振られる。カートリ
ッジプログラムは、本体プログラム211や外部参照ルー
チン212,213を、固定的に定義された番地の内容から間
接的に参照する。従って、プログラム修正などにより、
211以下の領域の内容が変更されROM104上の番地にずれ
が生じても、201〜205の領域の内容がその変更に対応さ
れるだけなので、カートリッジプログラム側に影響を与
えない。
【0037】250はカートリッジプログラムの格納形式
を示したものである。250中、251はカートリッジ識別領
域であり、その内訳を図3に示す。本領域は、4バイト
構成であり、図3中301はカートリッジタイプ領域であ
り、‘P’又は‘F’が入れられる。この‘P’は、以
下の領域がカートリッジプログラムであることを表わ
し、‘F’は以下の領域がフォント(文字パターン)領
域であることを表わす。
を示したものである。250中、251はカートリッジ識別領
域であり、その内訳を図3に示す。本領域は、4バイト
構成であり、図3中301はカートリッジタイプ領域であ
り、‘P’又は‘F’が入れられる。この‘P’は、以
下の領域がカートリッジプログラムであることを表わ
し、‘F’は以下の領域がフォント(文字パターン)領
域であることを表わす。
【0038】また、図3の302はカートリッジサブタイ
プであり、カートリッジタイプ301が‘P’の場合、
‘L’,‘R’,‘B’のいずれかが入れられる。ここ
で‘L’は、第1のプログラムカートリッジ109専用の
カートリッジプログラムであることを表わし、‘R’
は、第2のプログラムカートリッジ110専用のカートリ
ッジプログラムであることを表わす。また‘B’は、第
1および第2のプログラムカートリッジ共用のカートリ
ッジプログラムであることを表わす。
プであり、カートリッジタイプ301が‘P’の場合、
‘L’,‘R’,‘B’のいずれかが入れられる。ここ
で‘L’は、第1のプログラムカートリッジ109専用の
カートリッジプログラムであることを表わし、‘R’
は、第2のプログラムカートリッジ110専用のカートリ
ッジプログラムであることを表わす。また‘B’は、第
1および第2のプログラムカートリッジ共用のカートリ
ッジプログラムであることを表わす。
【0039】後述の図8に示すように、第1および第2
プログラムカートリッジ間でアドレス領域が異なるた
め、それぞれの領域で利用するカートリッジプログラム
を本カートリッジサブタイプ302で識別する。‘B’
は、例えばカートリッジプログラムのROM領域を全て相
対アドレスで記述し、アドレス領域に依存しないものに
対して適用される。
プログラムカートリッジ間でアドレス領域が異なるた
め、それぞれの領域で利用するカートリッジプログラム
を本カートリッジサブタイプ302で識別する。‘B’
は、例えばカートリッジプログラムのROM領域を全て相
対アドレスで記述し、アドレス領域に依存しないものに
対して適用される。
【0040】カートリッジタイプ301が‘F’の場合、
カートリッジサブタイプ302は、フォントの小分類とし
ての識別子に使われ、本実施の形態では‘A’を本体プ
ログラム専用フォントを表わす識別子として定義し、
‘B’,‘C’,‘D’…をそれぞれ作成される種々の
カートリッジプログラムの専用フォントを表わす識別子
として定義する。
カートリッジサブタイプ302は、フォントの小分類とし
ての識別子に使われ、本実施の形態では‘A’を本体プ
ログラム専用フォントを表わす識別子として定義し、
‘B’,‘C’,‘D’…をそれぞれ作成される種々の
カートリッジプログラムの専用フォントを表わす識別子
として定義する。
【0041】301のカートリッジタイプ,302のカートリ
ッジサブタイプを総称してカートリッジIDコード303と
呼ぶ。304はカートリッジプログラムやフォントに一意
に付される識別子で、2桁の番号で表わされる。これを
カートリッジID番号304と呼ぶ。
ッジサブタイプを総称してカートリッジIDコード303と
呼ぶ。304はカートリッジプログラムやフォントに一意
に付される識別子で、2桁の番号で表わされる。これを
カートリッジID番号304と呼ぶ。
【0042】252はカートリッジプログラム関連領域257
の総容量n0を格納するカートリッジ容量領域である。
の総容量n0を格納するカートリッジ容量領域である。
【0043】253は、製品適合フラグと名付けられた情
報を格納する領域である。この製品適合フラグ253は、
シリーズ化された本プリンタの製品系列において、いず
れの製品(複数)に適合可能かを示すものであり、図4
に示すように16ビットの独立したビット単位のフラグか
らなり、それぞれのビットが、製品系列上の1製品(将
来の製品を含んで)を表わし、ビット内容‘1’が適合
可能、‘0’が適合不可能を表わす。
報を格納する領域である。この製品適合フラグ253は、
シリーズ化された本プリンタの製品系列において、いず
れの製品(複数)に適合可能かを示すものであり、図4
に示すように16ビットの独立したビット単位のフラグか
らなり、それぞれのビットが、製品系列上の1製品(将
来の製品を含んで)を表わし、ビット内容‘1’が適合
可能、‘0’が適合不可能を表わす。
【0044】この適合可能・不可能は、各製品の制御部
100のハードウェア構成や格納される本体プログラム、
特に、外部参照ルーチン205の提供状況などにより、カ
ートリッジプログラム作成時に決定される。254はカー
トリッジプログラムスタートアドレスの格納領域で、本
体プログラムからカートリッジプログラムへ切替る際の
ジャンプ命令(スタートアドレスα1番地へジャンプ)
が収められる。本格納領域は、α0番地に割振られ固定
化される。
100のハードウェア構成や格納される本体プログラム、
特に、外部参照ルーチン205の提供状況などにより、カ
ートリッジプログラム作成時に決定される。254はカー
トリッジプログラムスタートアドレスの格納領域で、本
体プログラムからカートリッジプログラムへ切替る際の
ジャンプ命令(スタートアドレスα1番地へジャンプ)
が収められる。本格納領域は、α0番地に割振られ固定
化される。
【0045】255は、カートリッジプログラムの割込ベ
クトルテーブルであり、204の本体プログラムの割込ベ
クトルテーブルと構造は同様のものである。各種割込に
対してカートリッジプログラム上に、それぞれβ2,β3,
…βnからスタートする割込処理ルーチンが用意され、
この割込ベクトルテーブル255上にそれぞれの割込処理
ルーチンへのジャンプ命令が用意される。
クトルテーブルであり、204の本体プログラムの割込ベ
クトルテーブルと構造は同様のものである。各種割込に
対してカートリッジプログラム上に、それぞれβ2,β3,
…βnからスタートする割込処理ルーチンが用意され、
この割込ベクトルテーブル255上にそれぞれの割込処理
ルーチンへのジャンプ命令が用意される。
【0046】256は、図13,図14に示されるカート
リッジプログラムが格納されるカートリッジプログラム
格納領域である。
リッジプログラムが格納されるカートリッジプログラム
格納領域である。
【0047】258は、前述のフォント領域214と同じ形式
のフォント領域であり、ここではカートリッジプログラ
ム用の文字パターン群が収められる。259は、このフォ
ント領域のカートリッジ識別領域であり、形式は前述の
カートリッジ識別領域251と同様である。カートリッジ
プログラム用フォントとして、カートリッジIDコード30
3に‘FB’が付けられる。
のフォント領域であり、ここではカートリッジプログラ
ム用の文字パターン群が収められる。259は、このフォ
ント領域のカートリッジ識別領域であり、形式は前述の
カートリッジ識別領域251と同様である。カートリッジ
プログラム用フォントとして、カートリッジIDコード30
3に‘FB’が付けられる。
【0048】260はフォント領域258の総容量n1を収める
カートリッジ容量格納領域である。261は、カートリッ
ジプログラムが使用する文字ドットパターンの実体を収
める文字パターン領域である。
カートリッジ容量格納領域である。261は、カートリッ
ジプログラムが使用する文字ドットパターンの実体を収
める文字パターン領域である。
【0049】262も前述のフォント領域258と同一形式の
フォント領域であり、ここでは、本体プログラムの追加
文字セットとしての文字パターン群が収められる。263
が、そのカートリッジ識別領域であり、本体プログラム
用フォントとしてカートリッジIDコード303‘FA’が付
けられる。264は、フォント領域262の総容量n2の格納領
域、265は文字パターン領域である。
フォント領域であり、ここでは、本体プログラムの追加
文字セットとしての文字パターン群が収められる。263
が、そのカートリッジ識別領域であり、本体プログラム
用フォントとしてカートリッジIDコード303‘FA’が付
けられる。264は、フォント領域262の総容量n2の格納領
域、265は文字パターン領域である。
【0050】図5は、RAM105(図1参照)上のデータ構
造を示したものである。501はRAM上の固定アドレスa2〜
anに収める割込処理ジャンプテーブルであり、本体プロ
グラムスタート又は再スタート時にROM104上の本体割込
ベクトルテーブル204からコピーされる。また、カート
リッジプログラムスタート時にプログラムカートリッジ
上のカートリッジプログラム割込ベクトルテーブル255
からコピーされる。CPU割込ベクトル201はROM上のアド
レスa2,a3,…anへ向けられており、上記のように、そ
れぞれの制御プログラムがスタート(再スタート)する
毎に501の領域を書き換えることにより、それぞれの制
御プログラムの割込処理ルーチンが使用可能となる。
造を示したものである。501はRAM上の固定アドレスa2〜
anに収める割込処理ジャンプテーブルであり、本体プロ
グラムスタート又は再スタート時にROM104上の本体割込
ベクトルテーブル204からコピーされる。また、カート
リッジプログラムスタート時にプログラムカートリッジ
上のカートリッジプログラム割込ベクトルテーブル255
からコピーされる。CPU割込ベクトル201はROM上のアド
レスa2,a3,…anへ向けられており、上記のように、そ
れぞれの制御プログラムがスタート(再スタート)する
毎に501の領域を書き換えることにより、それぞれの制
御プログラムの割込処理ルーチンが使用可能となる。
【0051】502は、それぞれの制御プログラムが、他
方の制御プログラムへ切替る際に、必要情報を保存して
おくために用いる保存領域で、それぞれの制御プログラ
ムに専用に、本体保存領域503,第1のカートリッジ0
保存領域504,第2のカートリッジ1保存領域505が用意
される。これらの領域は、RAM104上の固定アドレスf1,
f2,f3を先頭に固定化される。
方の制御プログラムへ切替る際に、必要情報を保存して
おくために用いる保存領域で、それぞれの制御プログラ
ムに専用に、本体保存領域503,第1のカートリッジ0
保存領域504,第2のカートリッジ1保存領域505が用意
される。これらの領域は、RAM104上の固定アドレスf1,
f2,f3を先頭に固定化される。
【0052】506は、外部参照ルーチンとして定義され
たNVRAM書込みルーチン及びNVRAM読出しルーチンが使用
する外部参照RAM領域である。本領域の先頭部分は、こ
れら外部参照ルーチンと呼出し側の制御プログラムとの
データの引き渡しに使用される部分で、507はNVRAMの読
み書きアドレスを指定するNVRAM指定アドレス領域、508
はNVRAMへの書込み値の指定、又は、NVRAMからの読み出
し値の引渡しに使用されるNVRAM設定値領域である。NVR
AM指定アドレス領域507及びNVRAM設定値領域508は、前
述のように外部参照ルーチン呼出しテーブル205を介し
て、間接的にそれぞれの番地e3,e4がアクセスされる。
509はNVRAM書込ルーチンや、NVRAM読出しルーチンが内
部でフラグ変数として使用する作業用RAM領域である。
たNVRAM書込みルーチン及びNVRAM読出しルーチンが使用
する外部参照RAM領域である。本領域の先頭部分は、こ
れら外部参照ルーチンと呼出し側の制御プログラムとの
データの引き渡しに使用される部分で、507はNVRAMの読
み書きアドレスを指定するNVRAM指定アドレス領域、508
はNVRAMへの書込み値の指定、又は、NVRAMからの読み出
し値の引渡しに使用されるNVRAM設定値領域である。NVR
AM指定アドレス領域507及びNVRAM設定値領域508は、前
述のように外部参照ルーチン呼出しテーブル205を介し
て、間接的にそれぞれの番地e3,e4がアクセスされる。
509はNVRAM書込ルーチンや、NVRAM読出しルーチンが内
部でフラグ変数として使用する作業用RAM領域である。
【0053】510は、フリー領域と呼ばれ、制御プログ
ラムが切替る毎に、制御部100の制御権を得た制御プロ
グラムが、自分自身のプログラムを実行させるために利
用するRAM領域であり、図5の511〜517は、そのRAM構造
の一例である。511は、ホストコンピュータ102から、コ
マンドデータとして指示されたプリンタの動作モードを
覚えておく動作モードテーブルである。ここでは、RAM1
04や第1および第2のプログラムカートリッジ109,110
上に複数用意されるフォント領域のどのフォントを選択
して文字パターンを発生させるかを指定する選択フォン
ト512、及び、後述のページバッファ517に作成した1ペ
ージ分の画像の複数枚印刷を指示するコピー枚数513が
用意される。なお選択フォント512には、フォント領域
の先頭の識別コード215,259,263が利用される。
ラムが切替る毎に、制御部100の制御権を得た制御プロ
グラムが、自分自身のプログラムを実行させるために利
用するRAM領域であり、図5の511〜517は、そのRAM構造
の一例である。511は、ホストコンピュータ102から、コ
マンドデータとして指示されたプリンタの動作モードを
覚えておく動作モードテーブルである。ここでは、RAM1
04や第1および第2のプログラムカートリッジ109,110
上に複数用意されるフォント領域のどのフォントを選択
して文字パターンを発生させるかを指定する選択フォン
ト512、及び、後述のページバッファ517に作成した1ペ
ージ分の画像の複数枚印刷を指示するコピー枚数513が
用意される。なお選択フォント512には、フォント領域
の先頭の識別コード215,259,263が利用される。
【0054】514は、制御プログラムの作業用領域で、
変数やフラグ類が設定される。515は、作業用領域514上
に取られるData Flag(データフラグ)と呼ばれるフラ
グであり、後述のページバッファ517に、未印刷のデー
タが残っているか否かを表わすフラグである。
変数やフラグ類が設定される。515は、作業用領域514上
に取られるData Flag(データフラグ)と呼ばれるフラ
グであり、後述のページバッファ517に、未印刷のデー
タが残っているか否かを表わすフラグである。
【0055】516は、受信バッファであり、ホストコン
ピュータ102から入力されたデータは、入力インタフェ
ース回路103を介して、制御プログラムの受信割込処理
により、本領域に一時保存される。
ピュータ102から入力されたデータは、入力インタフェ
ース回路103を介して、制御プログラムの受信割込処理
により、本領域に一時保存される。
【0056】517は、ホストコンピュータからの入力デ
ータを基に、1ページ分のビットマップ化された画像デ
ータを保存するページバッファである。
ータを基に、1ページ分のビットマップ化された画像デ
ータを保存するページバッファである。
【0057】図6は、図5の保存領域502の構造及びフ
リー領域510との関係を示す図である。504は、保存
領域の一例としてのカートリッジ0保存領域であり、以
下の項目が含まれる。まず、601は、この保存領域を着
脱可能で、複数供給される第1のカートリッジプログラ
ム0のどの制御プログラムが使用しているかを示す保存
ID番号をセットする領域である。保存ID番号には、カー
トリッジID番号304が利用される。602は、動作モード保
存領域であり、フリー領域内の動作モードテーブル511
の内容が保存/復帰される。605は、受信バッファ保存
領域であり、フリー領域内の受信バッファ516が、保存
/復帰される。
リー領域510との関係を示す図である。504は、保存
領域の一例としてのカートリッジ0保存領域であり、以
下の項目が含まれる。まず、601は、この保存領域を着
脱可能で、複数供給される第1のカートリッジプログラ
ム0のどの制御プログラムが使用しているかを示す保存
ID番号をセットする領域である。保存ID番号には、カー
トリッジID番号304が利用される。602は、動作モード保
存領域であり、フリー領域内の動作モードテーブル511
の内容が保存/復帰される。605は、受信バッファ保存
領域であり、フリー領域内の受信バッファ516が、保存
/復帰される。
【0058】図7は、NVRAM106のデータ構造を示したも
のである。NVRAM106は16ビット幅で16ワードの容量を有
し、それぞれワード単位に0,1,…15のアドレスが付
される。701は、アドレス1に収めれたプログラムモー
ド領域で、現在動いている制御プログラム、又は、本レ
ーザビームプリンタの電源がオフされる直前に動いてい
た制御プログラムが、本体プログラムであるか、第1の
カートリッジプログラム0であるか、第2のカートリッ
ジプログラム1であるかを記憶する領域である。
のである。NVRAM106は16ビット幅で16ワードの容量を有
し、それぞれワード単位に0,1,…15のアドレスが付
される。701は、アドレス1に収めれたプログラムモー
ド領域で、現在動いている制御プログラム、又は、本レ
ーザビームプリンタの電源がオフされる直前に動いてい
た制御プログラムが、本体プログラムであるか、第1の
カートリッジプログラム0であるか、第2のカートリッ
ジプログラム1であるかを記憶する領域である。
【0059】プログラムモードは、文字コード‘M’を
本体プログラム実行,‘L’を第1のカートリッジプロ
グラム0実行,‘R’を第2のカートリッジプログラム
1実行と定義される。このプログラムモード領域701の1
5ビット目は、奇数パリティビット領域702であり、プロ
グラムモード領域701の奇数パリティが収められ、NVRAM
読み出し/書込み時の誤り検知に利用される。
本体プログラム実行,‘L’を第1のカートリッジプロ
グラム0実行,‘R’を第2のカートリッジプログラム
1実行と定義される。このプログラムモード領域701の1
5ビット目は、奇数パリティビット領域702であり、プロ
グラムモード領域701の奇数パリティが収められ、NVRAM
読み出し/書込み時の誤り検知に利用される。
【0060】図8は、CPU100のアドレス空間を示す図で
ある。801は、本体プログラム領域であり、0Hex番地か
ら割り振られ、物理的にROM104に対応づけされる。そし
て、本体プログラム格納形式200の形式で、本体プログ
ラムの情報が収められる。
ある。801は、本体プログラム領域であり、0Hex番地か
ら割り振られ、物理的にROM104に対応づけされる。そし
て、本体プログラム格納形式200の形式で、本体プログ
ラムの情報が収められる。
【0061】802は、カートリッジ0領域で、200000Hex
番地から割り振られ物理的に第1のプログラムカートリ
ッジ109上のROMに対応づけられる。そしてカートリッジ
プログラム格納形式250の形式で第1のカートリッジプ
ログラム0の情報が収められる。
番地から割り振られ物理的に第1のプログラムカートリ
ッジ109上のROMに対応づけられる。そしてカートリッジ
プログラム格納形式250の形式で第1のカートリッジプ
ログラム0の情報が収められる。
【0062】803は、カートリッジ1領域で400000 Hex
番地から割り振られ、物理的に第1のプログラムカート
リッジ110上のROMに対応づけられる。そして、カートリ
ッジプログラム0と同様に、カートリッジプログラム格
納形式250の形式で第2のカートリッジプログラム1の
情報が収められる。
番地から割り振られ、物理的に第1のプログラムカート
リッジ110上のROMに対応づけられる。そして、カートリ
ッジプログラム0と同様に、カートリッジプログラム格
納形式250の形式で第2のカートリッジプログラム1の
情報が収められる。
【0063】804はRAM領域で、800000Hex番地から割り
振られ、物理的にRAM105へ対応づけられる。そして図5
に示すデータ構造が適用される。
振られ、物理的にRAM105へ対応づけられる。そして図5
に示すデータ構造が適用される。
【0064】805は、増設RAM領域で、A00000Hex番地か
ら割り振られ、物理的に、増設RAMカード107に対応づけ
られる。
ら割り振られ、物理的に、増設RAMカード107に対応づけ
られる。
【0065】806はI/Oアドレス領域で、CPUが、入力イ
ンタフェース回路103やパネルインタフェース回路111,
NVRAM106など制御部100の各回路と信号のやり取りを行
うI/Oポートが割り振られる。
ンタフェース回路103やパネルインタフェース回路111,
NVRAM106など制御部100の各回路と信号のやり取りを行
うI/Oポートが割り振られる。
【0066】図9は、操作パネル112の表示器,スイッ
チ配置を示した図である。901は一般の7セグメントLED
2桁で構成された状態表示器で、制御プログラムの指示
により、現在実行中の制御プログラムの種類や、エラー
発生時のエラー表示を行う。
チ配置を示した図である。901は一般の7セグメントLED
2桁で構成された状態表示器で、制御プログラムの指示
により、現在実行中の制御プログラムの種類や、エラー
発生時のエラー表示を行う。
【0067】902,903,904は、プログラムモード切替ス
イッチであり、MAINスイッチ902の押下が本体プログラ
ムへの切替要求,Lスイッチ903がカートリッジプログ
ラム0への切替要求,Rスイッチ904がカートリッジプ
ログラム1への切替要求となる。これらのスイッチは、
制御プログラムにより、CPU101がこれらのスイッチの押
下状態をセンスすることによって検知され、実行に移さ
れる。
イッチであり、MAINスイッチ902の押下が本体プログラ
ムへの切替要求,Lスイッチ903がカートリッジプログ
ラム0への切替要求,Rスイッチ904がカートリッジプ
ログラム1への切替要求となる。これらのスイッチは、
制御プログラムにより、CPU101がこれらのスイッチの押
下状態をセンスすることによって検知され、実行に移さ
れる。
【0068】以上の構成をもつ本レーザビームプリンタ
の本体プログラムのフローチャートを図10,図11,
図12に示し、本体プログラムが実行される際の本レー
ザビームプリンタの動作を説明する。
の本体プログラムのフローチャートを図10,図11,
図12に示し、本体プログラムが実行される際の本レー
ザビームプリンタの動作を説明する。
【0069】図10は、本体プログラムのスタート処理
1000のフローチャートであり、電源が投入されると、CP
U101は、CPU割込ベクトル201のプログラムスタート番地
a1を参照して、a1番地からスタートする本体プログラム
へジャンプする。
1000のフローチャートであり、電源が投入されると、CP
U101は、CPU割込ベクトル201のプログラムスタート番地
a1を参照して、a1番地からスタートする本体プログラム
へジャンプする。
【0070】そこで、まずステップ1001において、制御
部100のセルフテストを実行し、ステップ1002で保存領
域502を、ステップ1003で外部参照RAM領域506を初期化
しておく。
部100のセルフテストを実行し、ステップ1002で保存領
域502を、ステップ1003で外部参照RAM領域506を初期化
しておく。
【0071】次にステップ1004で、NVRAM読込みルーチ
ン212を利用して、NVRAM106のプログラムモード領域701
から、プログラムモードを読み込み、ステップ1005で、
どの制御プログラムをスタートさせるかを判断する。ス
テップ1005で、プログラムモードが‘M’の場合、本体
プログラム実行を表わすので、ステップ1006以下へ進
み、本体プログラムを続行する。
ン212を利用して、NVRAM106のプログラムモード領域701
から、プログラムモードを読み込み、ステップ1005で、
どの制御プログラムをスタートさせるかを判断する。ス
テップ1005で、プログラムモードが‘M’の場合、本体
プログラム実行を表わすので、ステップ1006以下へ進
み、本体プログラムを続行する。
【0072】まずステップ1006で、本体割込ベクトルテ
ーブル204をRAM105上の割込処理ジャンプテーブル501へ
コピーする。次にステップ1007でフリー領域510を本体
プログラム用に初期化する。続いてステップ1008で、ビ
ィジィー信号S2をOFFにしてホストコンピュータにデー
タの送信可能を知らせ、ステップ1009で、状態表示器90
1にプログラムID202を表示し、現在実行中の制御プログ
ラムが本体プログラムであることを示す。
ーブル204をRAM105上の割込処理ジャンプテーブル501へ
コピーする。次にステップ1007でフリー領域510を本体
プログラム用に初期化する。続いてステップ1008で、ビ
ィジィー信号S2をOFFにしてホストコンピュータにデー
タの送信可能を知らせ、ステップ1009で、状態表示器90
1にプログラムID202を表示し、現在実行中の制御プログ
ラムが本体プログラムであることを示す。
【0073】そしてステップ1010で、図11に示す本体
プログラムのメインルーチンへ飛ぶ。
プログラムのメインルーチンへ飛ぶ。
【0074】一方、ステップ1005で、プログラムモード
が‘L’の場合、カートリッジプログラム0の実行の要
求を表わすので、ステップ1011へ進み、まず、第1のプ
ログラムカートリッジ109側のカートリッジ識別領域251
のカートリッジIDコード303をチェックする。
が‘L’の場合、カートリッジプログラム0の実行の要
求を表わすので、ステップ1011へ進み、まず、第1のプ
ログラムカートリッジ109側のカートリッジ識別領域251
のカートリッジIDコード303をチェックする。
【0075】ここで、カートリッジIDコード303が‘P
L’の場合は、このプログラムカートリッジ109が、カー
トリッジプログラム0用の制御プログラムを有すことを
表わし、また、カートリッジIDコード303が‘PB’の場
合、このプログラムカートリッジ109がカートリッジプ
ログラム0,1兼用の制御プログラムを有することを表
わす。またカートリッジIDコード303が‘PL’,‘PB’
以外のものの場合、カートリッジプログラム0への移行
が不適であるので、移行を中止し、ステップ1006へ進ん
で本体プログラムを続行する。
L’の場合は、このプログラムカートリッジ109が、カー
トリッジプログラム0用の制御プログラムを有すことを
表わし、また、カートリッジIDコード303が‘PB’の場
合、このプログラムカートリッジ109がカートリッジプ
ログラム0,1兼用の制御プログラムを有することを表
わす。またカートリッジIDコード303が‘PL’,‘PB’
以外のものの場合、カートリッジプログラム0への移行
が不適であるので、移行を中止し、ステップ1006へ進ん
で本体プログラムを続行する。
【0076】ステップ1011でカートリッジIDコード303
が‘PL’,‘PB’の場合、現在装着されているプログラ
ムカートリッジ109上のカートリッジプログラムが利用
可であることを示すので、次にステップ1012へ進み、も
う一つのチェックである製品適合フラグ253のチェック
を行う。
が‘PL’,‘PB’の場合、現在装着されているプログラ
ムカートリッジ109上のカートリッジプログラムが利用
可であることを示すので、次にステップ1012へ進み、も
う一つのチェックである製品適合フラグ253のチェック
を行う。
【0077】本レーザビームプリンタに定義されている
製品モデルに対応するビットフラグが製品適合フラグ25
3中に立っているか否かをチェックし、立っていれば、
現在装着されているプログラムカートリッジ109上のカ
ートリッジプログラムが、本レーザビームプリンタに適
用可能であるとしてステップ1013へ進み、カートリッジ
0領域802上の番地200000+α0すなわち、カートリッジ
プログラムスタートアドレス格納領域254へ飛び、その
内容,α1番地へのジャンプ命令に従い、図13に示す
カートリッジプログラムのスタート処理1300へ進む。
製品モデルに対応するビットフラグが製品適合フラグ25
3中に立っているか否かをチェックし、立っていれば、
現在装着されているプログラムカートリッジ109上のカ
ートリッジプログラムが、本レーザビームプリンタに適
用可能であるとしてステップ1013へ進み、カートリッジ
0領域802上の番地200000+α0すなわち、カートリッジ
プログラムスタートアドレス格納領域254へ飛び、その
内容,α1番地へのジャンプ命令に従い、図13に示す
カートリッジプログラムのスタート処理1300へ進む。
【0078】ステップ1012で、製品適合フラグ253の対
応ビットが立っていない場合、このカートリッジプログ
ラム0が、本レーザビームプリンタに適用不可能を示す
ので、カートリッジプログラム0への移行を中断して、
ステップ1006以下の本体プログラムの続行へ進む。
応ビットが立っていない場合、このカートリッジプログ
ラム0が、本レーザビームプリンタに適用不可能を示す
ので、カートリッジプログラム0への移行を中断して、
ステップ1006以下の本体プログラムの続行へ進む。
【0079】ステップ1005で、プログラムモードが
‘R’の場合、カートリッジプログラム1の実行を表わ
すので、ステップ1011〜1013のカートリッジプログラム
0の場合と同様に、プログラムカートリッジ1につい
て、ステップ1014でのカートリッジIDコード303のチェ
ック,ステップ1015での製品適合フラグ253のチェック
を経てステップ1016へ進み、カートリッジ1領域803上
の番地400000+α0へ飛び、カートリッジプログラム1
へCPU101の制御が渡される。
‘R’の場合、カートリッジプログラム1の実行を表わ
すので、ステップ1011〜1013のカートリッジプログラム
0の場合と同様に、プログラムカートリッジ1につい
て、ステップ1014でのカートリッジIDコード303のチェ
ック,ステップ1015での製品適合フラグ253のチェック
を経てステップ1016へ進み、カートリッジ1領域803上
の番地400000+α0へ飛び、カートリッジプログラム1
へCPU101の制御が渡される。
【0080】図11は、図10の本体プログラムスター
ト処理1000又は後述する図12の本体プログラム再スタ
ート処理1200から飛んでくる、本体プログラムのメイン
ルーチン1100のフローチャートである。
ト処理1000又は後述する図12の本体プログラム再スタ
ート処理1200から飛んでくる、本体プログラムのメイン
ルーチン1100のフローチャートである。
【0081】まずステップ1101で、プログラムモード切
替スイッチ902,903,904のいずれかが押されたかをチェ
ックする。どれも押されていなければ、ステップ1101〜
1108の処理を繰返し続行する。
替スイッチ902,903,904のいずれかが押されたかをチェ
ックする。どれも押されていなければ、ステップ1101〜
1108の処理を繰返し続行する。
【0082】まず、ステップ1102で受信バッファにデー
タがあるか否かをチェックし、ホストコンピュータから
の入力データが、受信バッファにセットされるまで、ス
テップ1101のスイッチチェックを行ないながら待つ。
タがあるか否かをチェックし、ホストコンピュータから
の入力データが、受信バッファにセットされるまで、ス
テップ1101のスイッチチェックを行ないながら待つ。
【0083】受信バッファにデータが存在する場合、ス
テップ1103へ進み、まず、受信バッファからデータを取
り出し、データ解析を行う。ここで、コマンドか文字コ
ードかが見分けられ、フォント選択コマンドの場合は、
指定値を選択フォント領域512へ、コピー枚数指定コマ
ンドの場合は指定値をコピー枚数領域513へ記憶する。
テップ1103へ進み、まず、受信バッファからデータを取
り出し、データ解析を行う。ここで、コマンドか文字コ
ードかが見分けられ、フォント選択コマンドの場合は、
指定値を選択フォント領域512へ、コピー枚数指定コマ
ンドの場合は指定値をコピー枚数領域513へ記憶する。
【0084】文字コードの場合、ステップ1104に進み、
選択フォント領域512に指定されている識別コードか
ら、対応するフォント領域214又は265を選び出し、対応
する文字ドットパターンをページバッファ517上に展開
し、同時にData Flag(データフラグ)515をONにして
ページバッファ517上に印刷データがあることを示す。
そしてステップ1105へ進み、1ページ分のデータの解析
が終了するまで、ステップ1101〜1105を繰り返えさせ
る。
選択フォント領域512に指定されている識別コードか
ら、対応するフォント領域214又は265を選び出し、対応
する文字ドットパターンをページバッファ517上に展開
し、同時にData Flag(データフラグ)515をONにして
ページバッファ517上に印刷データがあることを示す。
そしてステップ1105へ進み、1ページ分のデータの解析
が終了するまで、ステップ1101〜1105を繰り返えさせ
る。
【0085】1ページ分のデータ解析が終了すると、ス
テップ1106へ進みページバッファ517上の画像データを
画像信号発生器113に送って、印刷機構部115に、印刷を
行なわせる。そしてステップ1107で、コピー枚数領域51
3で指定されているコピー枚数分ステップ1106〜1107を
繰返えさせる。
テップ1106へ進みページバッファ517上の画像データを
画像信号発生器113に送って、印刷機構部115に、印刷を
行なわせる。そしてステップ1107で、コピー枚数領域51
3で指定されているコピー枚数分ステップ1106〜1107を
繰返えさせる。
【0086】指定枚数分の印刷が終了すると、ステップ
1108へ進み、Data Flag(データフラグ)515をOFFにし
て、ページバッファ517上に印刷すべきデータなしを示
し、ステップ1101へ戻る。
1108へ進み、Data Flag(データフラグ)515をOFFにし
て、ページバッファ517上に印刷すべきデータなしを示
し、ステップ1101へ戻る。
【0087】ステップ1101で、プログラムモード切替ス
イッチ902,903,904のいずれかが押されていた場合、ス
テップ1109以下のプログラム切替処理へ進む。
イッチ902,903,904のいずれかが押されていた場合、ス
テップ1109以下のプログラム切替処理へ進む。
【0088】まず、ステップ1109でビィジー信号S2をON
にしてホストコンピュータ102にデータ送信停止の要求
を出し、これ以上ホストコンピュータ102からデータが
送られてこないようにする。
にしてホストコンピュータ102にデータ送信停止の要求
を出し、これ以上ホストコンピュータ102からデータが
送られてこないようにする。
【0089】次にステップ1110で、Data Flag(データ
フラグ)515をチェックする。このData Flag(データ
フラグ)515がONの場合、ページバッファ517上に印刷デ
ータが残っているので、プログラム切替不可として、ス
テップ1120で状態表示器901にエラー表示を出し、ステ
ップ1121で、ビィジー信号S2を元に戻して、ステップ11
01へ戻る。
フラグ)515をチェックする。このData Flag(データ
フラグ)515がONの場合、ページバッファ517上に印刷デ
ータが残っているので、プログラム切替不可として、ス
テップ1120で状態表示器901にエラー表示を出し、ステ
ップ1121で、ビィジー信号S2を元に戻して、ステップ11
01へ戻る。
【0090】Data Flag(データフラグ)515がOFFなら
ばステップ1111へ進み、どのプログラムモード切替スイ
ッチが押されたかをチェックする。
ばステップ1111へ進み、どのプログラムモード切替スイ
ッチが押されたかをチェックする。
【0091】MAINスイッチ902が押された場合、現在本
体プログラムが実行中なので、このスイッチ押下は無効
として、ステップ1120でのエラー表示,ステップ1121で
のビィジー信号S2復帰を経由してステップ1101へ戻る。
体プログラムが実行中なので、このスイッチ押下は無効
として、ステップ1120でのエラー表示,ステップ1121で
のビィジー信号S2復帰を経由してステップ1101へ戻る。
【0092】Lスイッチ903が押された場合、ステップ1
112以下へ進み、カートリッジプログラム0への移行手
続きに入る。前述のステップ1011,1012と同様に、ステ
ップ1112で、カートリッジIDコード303をチェックし、
ステップ1113で製品適合フラグ253をチェックし、問題
なければステップ1114へ進み、動作モードテーブル511
及び受信バッファ516の内容を本体保存領域502へコピー
し、記憶させる。そして、ステップ1115で、200000+α
0番地経由で始まるカートリッジプログラム0へ、CPU10
1の制御を移す。
112以下へ進み、カートリッジプログラム0への移行手
続きに入る。前述のステップ1011,1012と同様に、ステ
ップ1112で、カートリッジIDコード303をチェックし、
ステップ1113で製品適合フラグ253をチェックし、問題
なければステップ1114へ進み、動作モードテーブル511
及び受信バッファ516の内容を本体保存領域502へコピー
し、記憶させる。そして、ステップ1115で、200000+α
0番地経由で始まるカートリッジプログラム0へ、CPU10
1の制御を移す。
【0093】ステップ1112,1113で、チェックをパスし
なかった場合、ステップ1120で状態表示器901にエラー
が表示され、ステップ1121でビィジー信号S2が戻されス
テップ1101へ戻る。
なかった場合、ステップ1120で状態表示器901にエラー
が表示され、ステップ1121でビィジー信号S2が戻されス
テップ1101へ戻る。
【0094】ステップ1111で、Rスイッチ904が押され
ていた場合、ステップ1116以下のカートリッジプログラ
ム1への移行手続きに入る。これは、ステップ1112〜11
15のカートリッジプログラム0と同様の処理を第1のプ
ログラムカートリッジ110に対して行うもので、ステッ
プ1116でのカートリッジIDコード303のチェック,ステ
ップ1117の製品適合フラグ253のチェック,ステップ111
8の本体保存領域への動作モードテーブル511及び受信バ
ッファ516の保存を経て、ステップ1119で、400000+α0
番地を経由して始まるカートリッジプログラム1ヘCPU1
01の制御を移す。
ていた場合、ステップ1116以下のカートリッジプログラ
ム1への移行手続きに入る。これは、ステップ1112〜11
15のカートリッジプログラム0と同様の処理を第1のプ
ログラムカートリッジ110に対して行うもので、ステッ
プ1116でのカートリッジIDコード303のチェック,ステ
ップ1117の製品適合フラグ253のチェック,ステップ111
8の本体保存領域への動作モードテーブル511及び受信バ
ッファ516の保存を経て、ステップ1119で、400000+α0
番地を経由して始まるカートリッジプログラム1ヘCPU1
01の制御を移す。
【0095】図12は、カートリッジプログラムから、
本体プログラムへCPU101の制御が移される際の本体プロ
グラムの再スタート処理1200の流れを表わすフローチャ
ートである。
本体プログラムへCPU101の制御が移される際の本体プロ
グラムの再スタート処理1200の流れを表わすフローチャ
ートである。
【0096】再スタートは、カートリッジプログラムか
ら本体プログラムb0番地へのジャンプから始まる。ま
ず、ステップ1201でb0番地の領域、すなわち本体プログ
ラム再スタートアドレス格納領域203を参照して、再ス
タート処理の実体b1番地へジャンプし、ステップ1202以
下の再スタート処理を実行する。ステップ1202で、現
在、カートリッジプログラム用の割込ベクトルテーブル
255がコピーされている割込処理ジャンプテーブル501を
本体割込ベクトルテーブル204で、コピーし直す。
ら本体プログラムb0番地へのジャンプから始まる。ま
ず、ステップ1201でb0番地の領域、すなわち本体プログ
ラム再スタートアドレス格納領域203を参照して、再ス
タート処理の実体b1番地へジャンプし、ステップ1202以
下の再スタート処理を実行する。ステップ1202で、現
在、カートリッジプログラム用の割込ベクトルテーブル
255がコピーされている割込処理ジャンプテーブル501を
本体割込ベクトルテーブル204で、コピーし直す。
【0097】次に、ステップ1203で、カートリッジプロ
グラム用に使用されていたフリー領域510を本体プログ
ラム用に初期化し直し、ステップ1204で、前回本体プロ
グラムからカートリッジプログラムへ切替えた際、保存
した情報(ステッフ゜1114,1118)を本体保存領域503か
ら、フリー領域510の所定の領域へコピーする。
グラム用に使用されていたフリー領域510を本体プログ
ラム用に初期化し直し、ステップ1204で、前回本体プロ
グラムからカートリッジプログラムへ切替えた際、保存
した情報(ステッフ゜1114,1118)を本体保存領域503か
ら、フリー領域510の所定の領域へコピーする。
【0098】次にステップ1205で、ビィジー信号S2をOF
Fにして、ホストコンピュータ102へデータ送信可能を知
らせ、ステップ1206で状態表示器501にプログラムID202
を表示し、本体プログラムが再び動き始めたことを知ら
せる。そしてステップ1207で、NVRAM書込ルーチンを用
いてプログラムモードとして‘M’(本体プログラム実
行)を、NVRAM106のプログラムモード領域701へ保存
し、ステップ1208で、本体メインルーチン1100へ進む。
Fにして、ホストコンピュータ102へデータ送信可能を知
らせ、ステップ1206で状態表示器501にプログラムID202
を表示し、本体プログラムが再び動き始めたことを知ら
せる。そしてステップ1207で、NVRAM書込ルーチンを用
いてプログラムモードとして‘M’(本体プログラム実
行)を、NVRAM106のプログラムモード領域701へ保存
し、ステップ1208で、本体メインルーチン1100へ進む。
【0099】図13,図14は、プログラムカートリッ
ジ上のカートリッジプログラムの一例を示すフローチャ
ートである。
ジ上のカートリッジプログラムの一例を示すフローチャ
ートである。
【0100】図13は、カートリッジプログラムのスタ
ート処理1300のフローチャートである。まずステップ13
01で、本体プログラム又は他方のカートリッジプログラ
ムからカートリッジ領域802又は803の先頭からの相対ア
ドレスα0番地へジャンプ(ステップ1115,1119,141
1)したプログラムの制御は、α0番地のカートリッジス
タートアドレス格納領域254を参照してスタート処理の
実体α1番地へジャンプし、ステップ1302以下のスター
ト処理を実行する。
ート処理1300のフローチャートである。まずステップ13
01で、本体プログラム又は他方のカートリッジプログラ
ムからカートリッジ領域802又は803の先頭からの相対ア
ドレスα0番地へジャンプ(ステップ1115,1119,141
1)したプログラムの制御は、α0番地のカートリッジス
タートアドレス格納領域254を参照してスタート処理の
実体α1番地へジャンプし、ステップ1302以下のスター
ト処理を実行する。
【0101】ステップ1302で、本体側のプログラムID20
2をチェックし、所定のプログラムIDであれば、本カー
トリッジプログラムは本体プログラムに適合するものと
して、ステップ1303へ進み、メモリ容量のチェックを行
う。特定のカートリッジプログラムで、増設RAMカード1
07が必須の構成となる場合、ここでチェックを受けるこ
とになる。
2をチェックし、所定のプログラムIDであれば、本カー
トリッジプログラムは本体プログラムに適合するものと
して、ステップ1303へ進み、メモリ容量のチェックを行
う。特定のカートリッジプログラムで、増設RAMカード1
07が必須の構成となる場合、ここでチェックを受けるこ
とになる。
【0102】メモリ容量に問題がなければ、ステップ13
04でカートリッジプログラム用割込ベクトルテーブル25
5をRAM105上の割込処理ジャンプテーブル501へコピーす
る。
04でカートリッジプログラム用割込ベクトルテーブル25
5をRAM105上の割込処理ジャンプテーブル501へコピーす
る。
【0103】次に、ステップ1305でフリー領域510をカ
ートリッジプログラム用に初期化する。
ートリッジプログラム用に初期化する。
【0104】次にステップ1306で、カートリッジ保存領
域(カートリッジプログラム0の場合はカートリッジ0
保存領域504、カートリッジプログラム1の場合はカー
トリッジ1保存領域505)の保存ID601をチェックする。
この保存ID601が、空(初期化状態のまま)ならば、ス
テップ1310へ飛ぶ。
域(カートリッジプログラム0の場合はカートリッジ0
保存領域504、カートリッジプログラム1の場合はカー
トリッジ1保存領域505)の保存ID601をチェックする。
この保存ID601が、空(初期化状態のまま)ならば、ス
テップ1310へ飛ぶ。
【0105】ステップ1306において、保存ID601が、現
在実行中のカートリッジプログラムのカートリッジID番
号304と一致しているならば、これは保存領域の内容
が、前回このカートリッジプログラムから本体プログラ
ムへ移行する直前に保存されたカートリッジプログラム
の情報を表わすので、ステップ1307へ進み、カートリッ
ジ保存領域504又は505の内容を、フリー領域510の所定
の場所に戻す。
在実行中のカートリッジプログラムのカートリッジID番
号304と一致しているならば、これは保存領域の内容
が、前回このカートリッジプログラムから本体プログラ
ムへ移行する直前に保存されたカートリッジプログラム
の情報を表わすので、ステップ1307へ進み、カートリッ
ジ保存領域504又は505の内容を、フリー領域510の所定
の場所に戻す。
【0106】ステップ1306で、保存ID601とカートリッ
ジID番号304が一致しない場合、これはプログラムカー
トリッジが別のものに変換され、前回カートリッジ保存
領域504又は505に情報が保存されたときとは、別のカー
トリッジプログラムが実行されていることを示すので、
ステップ1308で、状態表示器901へ警告のエラー表示を
行ない、ステップ1309で操作パネル112上の任意のスイ
ッチ902,903,904が押されるまで待って、ステップ1310
へ飛ぶ。
ジID番号304が一致しない場合、これはプログラムカー
トリッジが別のものに変換され、前回カートリッジ保存
領域504又は505に情報が保存されたときとは、別のカー
トリッジプログラムが実行されていることを示すので、
ステップ1308で、状態表示器901へ警告のエラー表示を
行ない、ステップ1309で操作パネル112上の任意のスイ
ッチ902,903,904が押されるまで待って、ステップ1310
へ飛ぶ。
【0107】次にステップ1310で、ビィジー信号S2をOF
Fにしてホストコンピュータ102へデータ送信可能を知ら
せ、ステップ1311で状態表示器にカートリッジID番号30
4を表示し、ステップ1312で、NVRAM書込ルーチンを用い
て、プログラムモードとして‘L’(または‘R’)を
NVRAM106のプログラムモード領域703へ保存し、ステッ
プ1313でカートリッジプログラムのメインルーチン1400
へ進む。
Fにしてホストコンピュータ102へデータ送信可能を知ら
せ、ステップ1311で状態表示器にカートリッジID番号30
4を表示し、ステップ1312で、NVRAM書込ルーチンを用い
て、プログラムモードとして‘L’(または‘R’)を
NVRAM106のプログラムモード領域703へ保存し、ステッ
プ1313でカートリッジプログラムのメインルーチン1400
へ進む。
【0108】ステップ1302,1303のチェックで条件が合
わなかった場合、ステップ1314へ進み、状態表示器901
にエラー表示を行ない、ステップ1315で、操作パネル11
2上の任意のスイッチ902,903,904が押されるのを待って
ステップ1316本体プログラムのスタートa1番地へジャン
プさせる。
わなかった場合、ステップ1314へ進み、状態表示器901
にエラー表示を行ない、ステップ1315で、操作パネル11
2上の任意のスイッチ902,903,904が押されるのを待って
ステップ1316本体プログラムのスタートa1番地へジャン
プさせる。
【0109】図14はカートリッジプログラムのメイン
ルーチンの一例であり、ここでは説明上、カートリッジ
プログラム0の場合のメインルーチン1400を示す。
ルーチンの一例であり、ここでは説明上、カートリッジ
プログラム0の場合のメインルーチン1400を示す。
【0110】まずステップ1401でプログラムモード切替
スイッチ902,903,904のいずれかが押されたかをチェッ
クする。どれも押されていなければ、ステップ1401〜14
06の処理を繰返し続行する。
スイッチ902,903,904のいずれかが押されたかをチェッ
クする。どれも押されていなければ、ステップ1401〜14
06の処理を繰返し続行する。
【0111】まずステップ1402で受信バッファにデータ
があるか否かをチェックし、ホストコンピュータからの
入力データが受信バッファにセットされるまで、ステッ
プ1401のスイッチチェックを行ないながら待つ。
があるか否かをチェックし、ホストコンピュータからの
入力データが受信バッファにセットされるまで、ステッ
プ1401のスイッチチェックを行ないながら待つ。
【0112】受信バッファにデータが存在する場合、ス
テップ1403へ進み、まず受信バッファからデータを取り
出し、本体プログラムとは、別のコマンド体系に従った
データ解析を行う。ここで、コマンドか文字コードかが
見分けられ、フォント選択コマンドの場合は、指定値を
選択フォント領域512へ、コピー枚数指定コマンドの場
合は指定値をコピー枚数領域513へ記憶する。
テップ1403へ進み、まず受信バッファからデータを取り
出し、本体プログラムとは、別のコマンド体系に従った
データ解析を行う。ここで、コマンドか文字コードかが
見分けられ、フォント選択コマンドの場合は、指定値を
選択フォント領域512へ、コピー枚数指定コマンドの場
合は指定値をコピー枚数領域513へ記憶する。
【0113】文字コードの場合、選択フォント領域512
に指定されている識別コードから、対応するフォント領
域258を選び出し、対応する文字ドットパターンをペー
ジバッファ517上に展開する。そしてステップ1404へ進
み、1ページ分のデータの解析が終了するまで、ステッ
プ1401〜1404を繰り返えさせる。
に指定されている識別コードから、対応するフォント領
域258を選び出し、対応する文字ドットパターンをペー
ジバッファ517上に展開する。そしてステップ1404へ進
み、1ページ分のデータの解析が終了するまで、ステッ
プ1401〜1404を繰り返えさせる。
【0114】1ページ分のデータ解析が終了すると、ス
テップ1405へ進み、ページバッファ517上の画像データ
を画像信号発生器113に送って、印刷機構部115に印刷を
行わせる。そして、ステップ1406でコピー枚数領域513
で指定されているコピー枚数分ステップ1405〜1406を繰
返えさせる。指定枚数分の印刷が終了すると、ステップ
1401へ戻る。
テップ1405へ進み、ページバッファ517上の画像データ
を画像信号発生器113に送って、印刷機構部115に印刷を
行わせる。そして、ステップ1406でコピー枚数領域513
で指定されているコピー枚数分ステップ1405〜1406を繰
返えさせる。指定枚数分の印刷が終了すると、ステップ
1401へ戻る。
【0115】ステップ1401で、プログラムモード切替ス
イッチ902,903,904のいずれかが押されていた場合、ス
テップ1407以下のプログラム切替処理へ進む。
イッチ902,903,904のいずれかが押されていた場合、ス
テップ1407以下のプログラム切替処理へ進む。
【0116】ステップ1407で、どのプログラムモード切
替スイッチが押されたかをチェックし、Lスイッチ903
が押された場合、現在実行中のカートリッジプログラム
0を切替要求しているので、無効としてステップ1401へ
戻る。
替スイッチが押されたかをチェックし、Lスイッチ903
が押された場合、現在実行中のカートリッジプログラム
0を切替要求しているので、無効としてステップ1401へ
戻る。
【0117】Rスイッチ904が押されていた場合、ステ
ップ1408以下のカートリッジプログラム1への移行手続
きにはいる。本体プログラムのステップ1101と同様に、
ステップ1112で、カートリッジIDコード303をチェック
し、カートリッジコネクタ1502に有効なカートリッジプ
ログラムがあるか否かをチェックする。有効なカートリ
ッジプログラムの存在が確認されれば、ステップ1409へ
進み、カートリッジ0保存領域504の保存ID領域601に、
現在実行しているカートリッジプログラム0のカートリ
ッジID番号304を記録し、ステップ1410でフリー領域510
上の動作モードテーブル511及び受信バッファ516の内容
をカートリッジ0保存領域504にコピーする。
ップ1408以下のカートリッジプログラム1への移行手続
きにはいる。本体プログラムのステップ1101と同様に、
ステップ1112で、カートリッジIDコード303をチェック
し、カートリッジコネクタ1502に有効なカートリッジプ
ログラムがあるか否かをチェックする。有効なカートリ
ッジプログラムの存在が確認されれば、ステップ1409へ
進み、カートリッジ0保存領域504の保存ID領域601に、
現在実行しているカートリッジプログラム0のカートリ
ッジID番号304を記録し、ステップ1410でフリー領域510
上の動作モードテーブル511及び受信バッファ516の内容
をカートリッジ0保存領域504にコピーする。
【0118】そしてステップ1411へ進み、400000+α0
番地を経由して始まるカートリッジプログラム1へCPU1
01の制御を移す。ステップ1408で有効なカートリッジプ
ログラムの存在が確認できなかった場合、ステップ1401
へ戻る。
番地を経由して始まるカートリッジプログラム1へCPU1
01の制御を移す。ステップ1408で有効なカートリッジプ
ログラムの存在が確認できなかった場合、ステップ1401
へ戻る。
【0119】ステップ1407で、MAINスイッチ902が押さ
れていた場合、ステップ1412,1413へ進み、前述のステ
ップ1409,1410と同様に、カートリッジID番号304及び
フリー領域510上の必要情報をカートリッジ0保存領域5
04にコピーし、ステップ1414でb0番地経由で始まる本体
プログラムの再スタート処理1200へ飛ぶ。
れていた場合、ステップ1412,1413へ進み、前述のステ
ップ1409,1410と同様に、カートリッジID番号304及び
フリー領域510上の必要情報をカートリッジ0保存領域5
04にコピーし、ステップ1414でb0番地経由で始まる本体
プログラムの再スタート処理1200へ飛ぶ。
【0120】以上説明してきたように、本実施の形態で
は本体プログラム及びカートリッジプログラム0,1の
うち現在実行中のプログラムが切替要求スイッチをチェ
ックすることで切替要求を検知し、要求された他プログ
ラムに対して固定的に定められている当該プログラムの
スタート(再スタート)アドレスの格納番地から、スタ
ート(再スタート)アドレスを得、CPUの制御を移すこ
とにより、制御プログラムの切替えを可能にしている。
は本体プログラム及びカートリッジプログラム0,1の
うち現在実行中のプログラムが切替要求スイッチをチェ
ックすることで切替要求を検知し、要求された他プログ
ラムに対して固定的に定められている当該プログラムの
スタート(再スタート)アドレスの格納番地から、スタ
ート(再スタート)アドレスを得、CPUの制御を移すこ
とにより、制御プログラムの切替えを可能にしている。
【0121】また、上記実施の形態ではページバッファ
517に画像データを書込んだ時点で、Data Flag(デー
タフラグ)515を立て、ページバッファ517の画像データ
の出力が終了した時点で、Data Flag(データフラグ)
515をOFFすることにより(すなわち、ページバッファに
印刷すべき、あるいは印刷中の画像データが存在してい
る間)Data Flag(データフラグ)515がONにされる。
517に画像データを書込んだ時点で、Data Flag(デー
タフラグ)515を立て、ページバッファ517の画像データ
の出力が終了した時点で、Data Flag(データフラグ)
515をOFFすることにより(すなわち、ページバッファに
印刷すべき、あるいは印刷中の画像データが存在してい
る間)Data Flag(データフラグ)515がONにされる。
【0122】ここで、切替スイッチ902,903,904による
制御プログラム切替要求が発生した際、Data Flag(デ
ータフラグ)515をチェックすることにより、未だ、印
刷すべきデータが残留しているのを検知し、この場合、
制御プログラムの切替を中止することで、残留印刷デー
タが消失するのを防ぐことができる。さらに、この場合
には表示器901に警告表示を行うことで、操作者に対し
て制御プログラム切替中止を知らせ、次の処置を要求で
きる。
制御プログラム切替要求が発生した際、Data Flag(デ
ータフラグ)515をチェックすることにより、未だ、印
刷すべきデータが残留しているのを検知し、この場合、
制御プログラムの切替を中止することで、残留印刷デー
タが消失するのを防ぐことができる。さらに、この場合
には表示器901に警告表示を行うことで、操作者に対し
て制御プログラム切替中止を知らせ、次の処置を要求で
きる。
【0123】さらに上記実施の形態では、切替スイッチ
による切替要求を検知した時点でホストコンピュータに
対してビィジー信号S2をONすることにより、ホストコ
ンピュータからのデータ送信の停止要求を出し、データ
送信を止めている。これによって、制御プログラムが切
替わり、新しい制御プログラムのスタート処理中にホス
トコンピュータからのデータが入力され、そのデータが
消失してしまうといった事態を避けることができる。
による切替要求を検知した時点でホストコンピュータに
対してビィジー信号S2をONすることにより、ホストコ
ンピュータからのデータ送信の停止要求を出し、データ
送信を止めている。これによって、制御プログラムが切
替わり、新しい制御プログラムのスタート処理中にホス
トコンピュータからのデータが入力され、そのデータが
消失してしまうといった事態を避けることができる。
【0124】上述した実施の形態では、着脱可能なプロ
グラムカートリッジ側に製品適合フラグ253を設け、該
フラグの各ビットを各種製品モデルに対して各々独立
に、本カートリッジプログラムが使用できるか否かのフ
ラグとして予め割付けておく。このプログラムカートリ
ッジがプリンタ本体に装着された際、本体プログラム
が、プログラムカートリッジ上の複数ビットからなる製
品適合フラグ253中の、自分自身の製品モデルに対応し
て一意に決められているビットフラグを調べることによ
り、このプログラムカートリッジが、本プリンタで利用
できるか否かを判断できる。
グラムカートリッジ側に製品適合フラグ253を設け、該
フラグの各ビットを各種製品モデルに対して各々独立
に、本カートリッジプログラムが使用できるか否かのフ
ラグとして予め割付けておく。このプログラムカートリ
ッジがプリンタ本体に装着された際、本体プログラム
が、プログラムカートリッジ上の複数ビットからなる製
品適合フラグ253中の、自分自身の製品モデルに対応し
て一意に決められているビットフラグを調べることによ
り、このプログラムカートリッジが、本プリンタで利用
できるか否かを判断できる。
【0125】特に、該製品適合フラグ253は、独立され
た複数のビットフラグから成り立っているので、複数の
製品モデルに対して、本プログラムカートリッジが使用
可能であっても、それぞれ対応した該ビットフラグを同
時に立てることで、兼用して使うことが可能となる。
た複数のビットフラグから成り立っているので、複数の
製品モデルに対して、本プログラムカートリッジが使用
可能であっても、それぞれ対応した該ビットフラグを同
時に立てることで、兼用して使うことが可能となる。
【0126】一方、プリンタ本体側に識別子として、プ
ログラムID202が設けられ、プリンタに一意に名をつけ
ている。これにより、プログラムカートリッジ側のカー
トリッジプログラムは、このプログラムID202を調べる
ことで、本カートリッジが、装着された本体とマッチす
るものか否かを調べることができる。特に、ハードウェ
ア構成が全く同じで、本体プログラムをある特殊用途に
限った目的で作った用途限定型のプリンタなどに対し
て、汎用プログラムカートリッジの使用を防ぐために
も、上記検知手段は利用できる。また、本実施の形態で
はプログラムカートリッジが、本体に適合しなければ、
状態表示器にその旨を表示して、操作者に警告してい
る。実施の形態2 上記実施の形態においては、本体プログラムからカート
リッジプログラムへ切替える際のジャンプ先を、相対番
地α0に固定していたが、これに限らず、例えば、カー
トリッジ識別領域からの相対位置を固定し、その領域
に、カートリッジプログラムのスタート先を記憶させる
ことも可能である。
ログラムID202が設けられ、プリンタに一意に名をつけ
ている。これにより、プログラムカートリッジ側のカー
トリッジプログラムは、このプログラムID202を調べる
ことで、本カートリッジが、装着された本体とマッチす
るものか否かを調べることができる。特に、ハードウェ
ア構成が全く同じで、本体プログラムをある特殊用途に
限った目的で作った用途限定型のプリンタなどに対し
て、汎用プログラムカートリッジの使用を防ぐために
も、上記検知手段は利用できる。また、本実施の形態で
はプログラムカートリッジが、本体に適合しなければ、
状態表示器にその旨を表示して、操作者に警告してい
る。実施の形態2 上記実施の形態においては、本体プログラムからカート
リッジプログラムへ切替える際のジャンプ先を、相対番
地α0に固定していたが、これに限らず、例えば、カー
トリッジ識別領域からの相対位置を固定し、その領域
に、カートリッジプログラムのスタート先を記憶させる
ことも可能である。
【0127】これによって、1つの制御プログラム格納
媒体上に、複数の制御プログラムを格納し、カートリッ
ジ識別領域のカートリッジ識別コードをサーチすること
によって、それぞれの制御プログラムへの切替が可能と
なる。
媒体上に、複数の制御プログラムを格納し、カートリッ
ジ識別領域のカートリッジ識別コードをサーチすること
によって、それぞれの制御プログラムへの切替が可能と
なる。
【0128】また、第1の実施の形態では、制御プログ
ラムの切替要求を操作パネル上のスイッチにて行なって
いたが、これに限らず、ホストコンピュータからのコマ
ンドで行ってもよい。さらに、切替要求は単に本体プロ
グラムかプログラムカートリッジ0か1かの切替要求で
あったが、プログラムIDやカートリッジIDコードを利用
して、一意名で切替プログラムを指示することも可能で
ある。
ラムの切替要求を操作パネル上のスイッチにて行なって
いたが、これに限らず、ホストコンピュータからのコマ
ンドで行ってもよい。さらに、切替要求は単に本体プロ
グラムかプログラムカートリッジ0か1かの切替要求で
あったが、プログラムIDやカートリッジIDコードを利用
して、一意名で切替プログラムを指示することも可能で
ある。
【0129】第1の実施の形態においては、外部からの
切替要求をスイッチで検知したものであったが、これに
限らず、例えば、装置内に各ユニットの異常検知手段を
有し、あるユニットに異常が検知された場合、制御手段
を切り替えるといった、内部的な切替要求に対しても、
適用できる。
切替要求をスイッチで検知したものであったが、これに
限らず、例えば、装置内に各ユニットの異常検知手段を
有し、あるユニットに異常が検知された場合、制御手段
を切り替えるといった、内部的な切替要求に対しても、
適用できる。
【0130】第1の実施の形態では、制御手段としてCP
Uに制御情報を与える制御プログラムを用いたが、これ
に限らず、電気的な制御回路を用いてもよい。この場
合、切替制御はプログラムの制御の流れに対して、電気
的な信号を用いることになる。実施の形態3 第1の実施の形態では、ページバッファの残留データの
有無を制御プログラム切替可能条件としてその検知手段
を設けた訳であるが、本発明はこれに限らず、例えば、
受信バッファ上のデータの有無を制御プログラム切替可
能条件とすることもできる。
Uに制御情報を与える制御プログラムを用いたが、これ
に限らず、電気的な制御回路を用いてもよい。この場
合、切替制御はプログラムの制御の流れに対して、電気
的な信号を用いることになる。実施の形態3 第1の実施の形態では、ページバッファの残留データの
有無を制御プログラム切替可能条件としてその検知手段
を設けた訳であるが、本発明はこれに限らず、例えば、
受信バッファ上のデータの有無を制御プログラム切替可
能条件とすることもできる。
【0131】この場合、複数ぺージの連続して送信され
たデータが、制御プログラムの切替で分断されるのを防
ぐことができる。
たデータが、制御プログラムの切替で分断されるのを防
ぐことができる。
【0132】また、制御プログラム切替可能条件は残留
データのチェックに限らず、例えば、印刷装置上の紙搬
送状態をチェックし、用紙が完全に排紙してから切替を
許可する形態にしてもよい。これによって、切り替えに
よって走り始める新しい制御プログラムが初期化のため
印刷装置の全動作を一時停止させても、直前に印刷した
用紙が損なわれずに済むことになる。実施の形態4 第1の実施の形態では、データ源への切替報知手段とし
てデータの切取りのためのプロトコル用ビィジー信号、
すなわちデータの送信停止要求信号を用いたが、本発明
はこれに限らず、独立した専用報知信号をデータ源と本
装置の間に設けて、切替手段の行使をデータ源に知らせ
てもよい。
データのチェックに限らず、例えば、印刷装置上の紙搬
送状態をチェックし、用紙が完全に排紙してから切替を
許可する形態にしてもよい。これによって、切り替えに
よって走り始める新しい制御プログラムが初期化のため
印刷装置の全動作を一時停止させても、直前に印刷した
用紙が損なわれずに済むことになる。実施の形態4 第1の実施の形態では、データ源への切替報知手段とし
てデータの切取りのためのプロトコル用ビィジー信号、
すなわちデータの送信停止要求信号を用いたが、本発明
はこれに限らず、独立した専用報知信号をデータ源と本
装置の間に設けて、切替手段の行使をデータ源に知らせ
てもよい。
【0133】この場合、データ源は制御プログラムが切
替られたことを一義に検知できるため、制御プログラム
に依存するデータファイルの交換やプリンタドライバの
交換などが操作者へ指示できる。特に、該報知信号がコ
ード情報を扱えるようにした場合、印刷装置側は切替え
られた制御プログラムをその制御プログラムに一意に名
付られた識別名で知らせることができ、データ源側のプ
リンタドライバやデータファイルの交換の自動化が可能
となる。
替られたことを一義に検知できるため、制御プログラム
に依存するデータファイルの交換やプリンタドライバの
交換などが操作者へ指示できる。特に、該報知信号がコ
ード情報を扱えるようにした場合、印刷装置側は切替え
られた制御プログラムをその制御プログラムに一意に名
付られた識別名で知らせることができ、データ源側のプ
リンタドライバやデータファイルの交換の自動化が可能
となる。
【0134】また、印刷装置からの切替行使,報知手段
に対応する応答手段を設けることにより、制御プログラ
ムの切替が生じてデータ源に通報された場合、データ源
は現在一群のデータの送信途中か否かを判断して、送信
途中の場合には制御プログラム切替,拒否の応答を印刷
装置に伝え、一群の印刷が途中で中断するのを避けるこ
とが可能となる。実施の形態5 第1の実施の形態では、ハードウェア構成や本体プログ
ラム側の外部参照ルーチン群が同一であれば、本体プロ
グラム自身が異なる各種製品モデルに対して、プログラ
ムカートリッジは製品適合フラグの対応ビットを全て立
てることで、共用化を実現していた。さらにこれを進め
て、ハードウェア構成や外部参照ルーチン群が異なるも
のであっても、プログラムカートリッジ上のプログラム
が、本体側のプログラムID等の識別子を調べて、それぞ
れのハードウェア構成,外部参照ルーチンの供給状態に
合わせて、複数の制御に制御プログラムを分岐させても
よい。これによって、製品モデル群に対してのプログラ
ムカートリッジの共用範囲を広げることができる。実施の形態の効果 本発明を実施することにより、以下に述べる効果を得る
ことができる。 着脱可能な複数の制御プログラム格納媒体を用意し、
ある制御プログラムから他の制御プログラムへの切替を
可能にしたことにより、種々のプリンタコマンド体系へ
の対応や種々の印刷機能,ホストコンピュータとの種々
のハンドシェイクサポートが一つの装置内で実現できる
ようになる。
に対応する応答手段を設けることにより、制御プログラ
ムの切替が生じてデータ源に通報された場合、データ源
は現在一群のデータの送信途中か否かを判断して、送信
途中の場合には制御プログラム切替,拒否の応答を印刷
装置に伝え、一群の印刷が途中で中断するのを避けるこ
とが可能となる。実施の形態5 第1の実施の形態では、ハードウェア構成や本体プログ
ラム側の外部参照ルーチン群が同一であれば、本体プロ
グラム自身が異なる各種製品モデルに対して、プログラ
ムカートリッジは製品適合フラグの対応ビットを全て立
てることで、共用化を実現していた。さらにこれを進め
て、ハードウェア構成や外部参照ルーチン群が異なるも
のであっても、プログラムカートリッジ上のプログラム
が、本体側のプログラムID等の識別子を調べて、それぞ
れのハードウェア構成,外部参照ルーチンの供給状態に
合わせて、複数の制御に制御プログラムを分岐させても
よい。これによって、製品モデル群に対してのプログラ
ムカートリッジの共用範囲を広げることができる。実施の形態の効果 本発明を実施することにより、以下に述べる効果を得る
ことができる。 着脱可能な複数の制御プログラム格納媒体を用意し、
ある制御プログラムから他の制御プログラムへの切替を
可能にしたことにより、種々のプリンタコマンド体系へ
の対応や種々の印刷機能,ホストコンピュータとの種々
のハンドシェイクサポートが一つの装置内で実現できる
ようになる。
【0135】また、内蔵制御プログラムに問題が発見さ
れた場合であっても、修正したプログラムを制御カート
リッジなどの着脱可能な媒体で供給することにより、対
策が容易になる。
れた場合であっても、修正したプログラムを制御カート
リッジなどの着脱可能な媒体で供給することにより、対
策が容易になる。
【0136】さらに、独立した制御の受入手段を有する
ことにより、制御プログラムの変更に対しても、複数の
制御プログラム間の切替に対し、その互換性が保たれ
る。 複数の制御プログラムの切替処理において、印刷装置
がプログラム切替可能な状態にあるか否かを検知し、切
替不可能な要因があれば切替を中止することで、データ
の消失や、装置の障害発生を防ぐことができる。 制御プログラムの切替実行の直前にデータ供給源側に
切替実行を知らせることにより、データ供給源からの送
信データが損なわれるのを防ぐことが可能となる。 現在動作している制御プログラムが、別途装着された
着脱可能な格納媒体に記憶されたプログラムの識別信号
を判別することにより、適合する制御プログラムのみに
動作を許可することが可能となる。
ことにより、制御プログラムの変更に対しても、複数の
制御プログラム間の切替に対し、その互換性が保たれ
る。 複数の制御プログラムの切替処理において、印刷装置
がプログラム切替可能な状態にあるか否かを検知し、切
替不可能な要因があれば切替を中止することで、データ
の消失や、装置の障害発生を防ぐことができる。 制御プログラムの切替実行の直前にデータ供給源側に
切替実行を知らせることにより、データ供給源からの送
信データが損なわれるのを防ぐことが可能となる。 現在動作している制御プログラムが、別途装着された
着脱可能な格納媒体に記憶されたプログラムの識別信号
を判別することにより、適合する制御プログラムのみに
動作を許可することが可能となる。
【0137】特に、着脱可能な格納媒体のプログラム
に、装置適合判断のための独立した複数の識別記号をも
たすことによって、現在または将来にわたっての装置適
合判別を行うことができ、さらに装置間での制御プログ
ラムの共用化が危険なく行なえる。
に、装置適合判断のための独立した複数の識別記号をも
たすことによって、現在または将来にわたっての装置適
合判別を行うことができ、さらに装置間での制御プログ
ラムの共用化が危険なく行なえる。
【0138】
【発明の効果】以上説明した通り、本発明によれば、使
用すべき制御プログラムの切り換えが指示されているか
否かを判断する判断手段による判断の結果に応じて、出
力すべき対象情報を供給する情報処理装置による情報出
力を停止させるべく所定の信号を出力させる構成として
あるので、制御プログラムの切り換え中に情報が供給さ
れるのを防止することができ、適切な切り換え処理を行
うことが可能となる。
用すべき制御プログラムの切り換えが指示されているか
否かを判断する判断手段による判断の結果に応じて、出
力すべき対象情報を供給する情報処理装置による情報出
力を停止させるべく所定の信号を出力させる構成として
あるので、制御プログラムの切り換え中に情報が供給さ
れるのを防止することができ、適切な切り換え処理を行
うことが可能となる。
【図1】本発明を適用した一実施の形態における制御部
を示すブロック図である。
を示すブロック図である。
【図2】ROMへの制御プログラムの格納形式を示す図で
ある。
ある。
【図3】図2上に示したカートリッジ識別領域の説明図
である。
である。
【図4】図2に示した製品適合フラグの説明図である。
【図5】RAMのデータ構造図である。
【図6】図5に示した保存領域の説明図である。
【図7】NVRAMのデータ構造図である。
【図8】CPUのアドレス空間を示す図である。
【図9】操作パネルの配置図である。
【図10】本体プログラムのフローチャートである。
【図11】本体プログラムのフローチャートである。
【図12】本体プログラムのフローチャートである。
【図13】カートリッジプログラムのフローチャートで
ある。
ある。
【図14】カートリッジプログラムのフローチャートで
ある。
ある。
【図15】本発明を適用したレーザビームプリンタの外
観図である。
観図である。
100 制御部 101 CPU 102 ホストコンピュータ 103 入力インタフェース回路 104 ROM 105 RAM 106 NVRAM 107 増設RAMカード 108 カートリッジインタフェース回路 109 プログラムカートリッジ0 110 プログラムカートリッジ1 111 パネルインタフェース回路 112 操作パネル 113 画像発生器 114 出力インタフェース回路 115 印刷機構部 202 プログラムID 203 本体プログラム再スタートアドレス格納領域 251 カートリッジ識別領域 253 製品適合フラグ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤田 春生 東京都大田区下丸子3丁目30番2号 キ ヤノン株式会社内 (56)参考文献 特開 平1−314177(JP,A) 特開 平3−181738(JP,A) 特開 平2−280223(JP,A) 実開 昭61−185126(JP,U) (58)調査した分野(Int.Cl.7,DB名) B41J 5/30 B41J 29/38 G06F 3/12
Claims (7)
- 【請求項1】 複数種類の制御プログラムに基づいて、
情報処理装置から出力される情報から出力情報を生成し
て出力可能な出力装置であって、 使用すべき制御プログラムの切り換えが指示されている
か否かを判断する判断手段と、 前記情報処理装置に情報の出力を停止させる所定の信号
を出力する出力手段と、 前記判断手段による判断の結果、前記切り換えが指示さ
れていると判断された場合、前記出力手段に前記所定の
信号を出力させ前記情報処理装置に情報の出力を停止さ
せた状態で制御プログラムの切り換え処理を行う制御手
段とを具備したことを特徴とする出力装置。 - 【請求項2】 請求項1において、前記情報処理装置か
ら出力される情報は文字コードを含むことを特徴とする
出力装置。 - 【請求項3】 請求項1において、前記出力情報はイメ
ージデータであることを特徴とする出力装置。 - 【請求項4】 請求項1において、前記制御プログラム
は、前記情報処理装置から出力された情報を解釈して前
記出力情報を生成するプログラムであることを特徴とす
る出力装置。 - 【請求項5】 請求項1において、前記所定の信号はビ
ジー信号であることを特徴とする出力装置。 - 【請求項6】 請求項1において、前記複数種類の制御
プログラムは、受信データを受け入れるプログラムを有
することを特徴とする出力装置。 - 【請求項7】 請求項1において、前記制御手段は、受
信バッファに前記情報処理装置からの情報が存在するか
否かを判断し、前記受信バッファに前記情報処理装置か
らの情報が存在しないと判断された場合に、前記制御プ
ログラムの切り換えを許容することを特徴とする出力装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15283399A JP3181894B2 (ja) | 1999-05-31 | 1999-05-31 | 出力装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15283399A JP3181894B2 (ja) | 1999-05-31 | 1999-05-31 | 出力装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2095110A Division JP2997005B2 (ja) | 1990-04-12 | 1990-04-12 | 出力装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000025280A JP2000025280A (ja) | 2000-01-25 |
JP3181894B2 true JP3181894B2 (ja) | 2001-07-03 |
Family
ID=15549139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15283399A Expired - Lifetime JP3181894B2 (ja) | 1999-05-31 | 1999-05-31 | 出力装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3181894B2 (ja) |
-
1999
- 1999-05-31 JP JP15283399A patent/JP3181894B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000025280A (ja) | 2000-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2997005B2 (ja) | 出力装置 | |
JPH03192038A (ja) | 記録装置の制御装置 | |
JP2006338443A (ja) | フィルタデバイスドライバ、複製印刷制御方法及びその制御プログラム | |
US6935798B2 (en) | Printing apparatus, print control apparatus, and method for use in those apparatuses | |
JP3181894B2 (ja) | 出力装置 | |
JP2757910B2 (ja) | 帳票出力宛先プリンタ選択運用システムおよび帳票出力宛先プリンタ選択方法 | |
JP3101288B2 (ja) | 印刷装置及び印刷制御装置 | |
JPH068534A (ja) | 印刷装置 | |
US5303335A (en) | Image forming apparatus | |
JP2003029946A (ja) | 印刷システム、プリンタおよびコンピュータ | |
JP3160251B2 (ja) | プリント装置 | |
JP2780974B2 (ja) | プリンタ | |
JPH11219077A (ja) | カートリッジおよび画像処理装置 | |
JPH11110165A (ja) | 印刷システム、印刷データ生成装置、印刷データ生成方法及びプリンタ | |
KR100243125B1 (ko) | 컴퓨터의 이미지정보 인쇄지시 처리방법 | |
JP4047361B2 (ja) | 情報処理装置及びその制御方法及び記録媒体 | |
JPH0211377A (ja) | 印刷コントロール装置 | |
JP3293337B2 (ja) | プリンタ装置 | |
JP2982007B2 (ja) | 表示装置 | |
JP4125361B2 (ja) | 情報処理装置及びその制御方法及び記録媒体 | |
JP3033802B2 (ja) | プリンタ装置 | |
JP2005190093A (ja) | 印刷システム、印刷装置、印刷制御装置およびプリンタドライバ | |
JP2001080144A (ja) | 出力装置並びに情報処理装置並びに出力装置の制御方法並びに情報処理装置の制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JPS6327285A (ja) | デ−タ処理システムの印字装置 | |
JP2000211214A (ja) | 画像形成装置、動作制御方法、及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090420 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090420 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100420 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |