JPH0221324A - プリンタ制御装置 - Google Patents
プリンタ制御装置Info
- Publication number
- JPH0221324A JPH0221324A JP63171480A JP17148088A JPH0221324A JP H0221324 A JPH0221324 A JP H0221324A JP 63171480 A JP63171480 A JP 63171480A JP 17148088 A JP17148088 A JP 17148088A JP H0221324 A JPH0221324 A JP H0221324A
- Authority
- JP
- Japan
- Prior art keywords
- data
- user
- code
- printing
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims description 84
- 238000003384 imaging method Methods 0.000 abstract 1
- 238000000034 method Methods 0.000 description 220
- 230000008569 process Effects 0.000 description 218
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 101000630284 Homo sapiens Proline-tRNA ligase Proteins 0.000 description 1
- 102100026126 Proline-tRNA ligase Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 108091008695 photoreceptors Proteins 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は汎用プリンタの制御装置に関するものである。
コンピュータシステムにおける出力装置たるプリンタと
、これを印写させるべきデータを送出するデータ処理装
置とは両者間で上記データ及び制御データの授受が行わ
れるが、そのためにはプリンタ、データ処理装置のプロ
トコルが同一である必要がある。特定のデータ処理装置
に対応して設計されるプリンタにおいてはデータ処理装
置のプロトコルと同一のプロトコル仕様を定めればよい
。
、これを印写させるべきデータを送出するデータ処理装
置とは両者間で上記データ及び制御データの授受が行わ
れるが、そのためにはプリンタ、データ処理装置のプロ
トコルが同一である必要がある。特定のデータ処理装置
に対応して設計されるプリンタにおいてはデータ処理装
置のプロトコルと同一のプロトコル仕様を定めればよい
。
これに対しプロトコルが異なる複数種のデータ処理装置
に接続されて使用されるべき汎用プリンタにおいてはプ
リンタ固有のプロトコルの仕様としておく一方、これに
適合しないプロトコルのデータ処理装置との接続のため
にプロトコル変換装置を備えている。
に接続されて使用されるべき汎用プリンタにおいてはプ
リンタ固有のプロトコルの仕様としておく一方、これに
適合しないプロトコルのデータ処理装置との接続のため
にプロトコル変換装置を備えている。
プロトコル変換装置としては、データ処理装置から出力
される制御情報を、その要求する機能に相当するプリン
タ側の制御情報に変換するプロトコル変換プログラム(
エミュレーションソフトウェア)をプリンタ側の制御用
プロセッサで作動させ、データ処理装置から出力される
制御情報をプリンタのもつ制御情報に変換するものが一
般的であった。
される制御情報を、その要求する機能に相当するプリン
タ側の制御情報に変換するプロトコル変換プログラム(
エミュレーションソフトウェア)をプリンタ側の制御用
プロセッサで作動させ、データ処理装置から出力される
制御情報をプリンタのもつ制御情報に変換するものが一
般的であった。
この場合、プリンタ側では変換された制御情報から更に
プリンタの動作を制御する内部パラメータに解読変換す
るプロセスが行われる。
プリンタの動作を制御する内部パラメータに解読変換す
るプロセスが行われる。
ところでプリンタには特定のキーを操作すると所定の文
字、情報が印写される機能(テストモード)が備えられ
ている。
字、情報が印写される機能(テストモード)が備えられ
ている。
然るところ従来のプリンタにおいてはテストモードを指
示するとプリンタがエミュレーションソフトウェアで動
作している場合においてもプリンタ固有のプロトコル仕
様で動作している場合と同様の印写が行われるに過ぎな
かった。
示するとプリンタがエミュレーションソフトウェアで動
作している場合においてもプリンタ固有のプロトコル仕
様で動作している場合と同様の印写が行われるに過ぎな
かった。
ところがエミュレーションソフトウェアが動作している
場合にはそれに応じた独自の情報の出力をじたいという
ことがあり、従来のものは斯かる要求に応えることがで
きなかった。
場合にはそれに応じた独自の情報の出力をじたいという
ことがあり、従来のものは斯かる要求に応えることがで
きなかった。
本発明は斯かる問題点を解決するためになされたもので
あり、エミュレーションソフトウェア用のテストモード
時の印写情報をデータ処理装置から設定できるようにな
してエミュレーションソフトウェアに応じた情報の印写
を可能としたプリンタ制御装置を提供することを目的と
する。
あり、エミュレーションソフトウェア用のテストモード
時の印写情報をデータ処理装置から設定できるようにな
してエミュレーションソフトウェアに応じた情報の印写
を可能としたプリンタ制御装置を提供することを目的と
する。
本発明に係るプリンタ制御装置は、所定操作により所定
の情報を印写するテスト印写手段を備える印写部と、該
印写部によって印写されるデータを与えるデータ処理装
置との間に介装され、印写部の動作の制御を司るプリン
タ制御装置において、前記印写部の動作を制御するため
のプログラム複数を格納するメモリと、前記データ処理
装置がら与えられた所定信号に応答して、前記メモリに
格納された任意のプログラムを起動するプログラム起動
手段と、前記データ処理装置からの指令により、前記テ
スト印写手段によって印写すべき情報の一部を設定して
おく情報設定手段とを具備することを特徴とする。
の情報を印写するテスト印写手段を備える印写部と、該
印写部によって印写されるデータを与えるデータ処理装
置との間に介装され、印写部の動作の制御を司るプリン
タ制御装置において、前記印写部の動作を制御するため
のプログラム複数を格納するメモリと、前記データ処理
装置がら与えられた所定信号に応答して、前記メモリに
格納された任意のプログラムを起動するプログラム起動
手段と、前記データ処理装置からの指令により、前記テ
スト印写手段によって印写すべき情報の一部を設定して
おく情報設定手段とを具備することを特徴とする。
前記情報設定手段に印写情報を予め設定しておく。この
設定はエミュレーションソフトウェアごとに行う。そし
てデータ処理装置が所定信号を発すると前記メモリの対
応するプログラムが起動する。このプログラムがエミュ
レーシゴンプログラムである場合は、テスト印写を行わ
せると、起動エミュレーションプログラムに応じた特定
情報が印写される。
設定はエミュレーションソフトウェアごとに行う。そし
てデータ処理装置が所定信号を発すると前記メモリの対
応するプログラムが起動する。このプログラムがエミュ
レーシゴンプログラムである場合は、テスト印写を行わ
せると、起動エミュレーションプログラムに応じた特定
情報が印写される。
以下本発明をその実施例を示す図面に基づいて説明する
。
。
まず、本発明に係るプリンタの概略構成について説明す
る。第1図は本発明のプリンタ10の構成を示すブロッ
ク図である。汎用のデータ処理装置1からのデータは、
データ処理装置Iのスルーブツトを改善するために、フ
ァイルバッファ2に格納された後、プリンタ10に出力
される。プリンタ10は、ビットマツプ方式のデータ処
理装置BMU 3、即ち本発明のプリンタ制御装置と、
電子写真プロセスレーザ等を備えるプリントエンジン4
と、外部給紙ユニット5、ソータ6等の付属装置よりな
る。
る。第1図は本発明のプリンタ10の構成を示すブロッ
ク図である。汎用のデータ処理装置1からのデータは、
データ処理装置Iのスルーブツトを改善するために、フ
ァイルバッファ2に格納された後、プリンタ10に出力
される。プリンタ10は、ビットマツプ方式のデータ処
理装置BMU 3、即ち本発明のプリンタ制御装置と、
電子写真プロセスレーザ等を備えるプリントエンジン4
と、外部給紙ユニット5、ソータ6等の付属装置よりな
る。
第2図は、プリンタシステムの外観を示すものである。
プリントエンジン4の筐体内には電子写真プロセス及び
BMU 3を内蔵しており、アクセサリとして外部給紙
ユニット5と、ソータ6が接続可能である。また、プリ
ントエンジン4には、システムの状態を示す表示部及び
簡単な操作を行なうためのキーが並べられた表示パネル
44が装着されている。
BMU 3を内蔵しており、アクセサリとして外部給紙
ユニット5と、ソータ6が接続可能である。また、プリ
ントエンジン4には、システムの状態を示す表示部及び
簡単な操作を行なうためのキーが並べられた表示パネル
44が装着されている。
第3図は、表示パネル44の詳細を示すものである。9
01〜903が入カキ−であり、910〜918が表示
素子である。キー901は、プリント動作を一時中断さ
せるためのボーズキー、902はテスト印写(プリント
)を起動するためのテストキーであリ、テストキー90
2は903のシフトキーと同時に押すことによってプリ
ントを中断するキャンセルキーとなる。
01〜903が入カキ−であり、910〜918が表示
素子である。キー901は、プリント動作を一時中断さ
せるためのボーズキー、902はテスト印写(プリント
)を起動するためのテストキーであリ、テストキー90
2は903のシフトキーと同時に押すことによってプリ
ントを中断するキャンセルキーとなる。
第4図は、プリンタlOの制御系の概略プロ・ンク図で
ある。ビットマツプ方式データ処理装置3は、ビットマ
ツプ用のメモリBM−RAM 32、このBM −RA
M32に描画を行なうビットマツプ書込部31(第9図
参照)、フォント部33及びこれらの制御を行なうビッ
トマツプ制御部30よりなる。プリントエンジン4との
接続は、制御データ(枚数、アクセサリ−など)用のバ
スB3とイメージデータ用バスB4により行う。
ある。ビットマツプ方式データ処理装置3は、ビットマ
ツプ用のメモリBM−RAM 32、このBM −RA
M32に描画を行なうビットマツプ書込部31(第9図
参照)、フォント部33及びこれらの制御を行なうビッ
トマツプ制御部30よりなる。プリントエンジン4との
接続は、制御データ(枚数、アクセサリ−など)用のバ
スB3とイメージデータ用バスB4により行う。
プリントエンジン4は前述の印写部に相当し、3つのコ
ントローラを中心に構成される。まず、インターフェー
ス制jB 部(IFC) 40はビットマ・ノブ制御部
30からの制御データの処理及び表示パネル制御を行い
、また内部バスB5を通じてプリントエンジン4全体の
タイミングの制御を行なう。
ントローラを中心に構成される。まず、インターフェー
ス制jB 部(IFC) 40はビットマ・ノブ制御部
30からの制御データの処理及び表示パネル制御を行い
、また内部バスB5を通じてプリントエンジン4全体の
タイミングの制御を行なう。
電子写真制御部41は、内部バスB5を通じてインター
フェース制御部40から送られるデータに応じて、電子
写真プロセス部45の制御を行なう。
フェース制御部40から送られるデータに応じて、電子
写真プロセス部45の制御を行なう。
プリントヘッド制御部42は、内部バスB4を通じてビ
ットマツプ書込部31から送られてくる情報に従って、
プリントヘッド部43の半導体レーザの発光及びポリゴ
ン・モータの回転を制御する。また、外部給紙ユニット
5及びソータ6も、内部バスB5を通じてインターフェ
ース制御部40から制御される。
ットマツプ書込部31から送られてくる情報に従って、
プリントヘッド部43の半導体レーザの発光及びポリゴ
ン・モータの回転を制御する。また、外部給紙ユニット
5及びソータ6も、内部バスB5を通じてインターフェ
ース制御部40から制御される。
第5図はビットマツプ制御部30の構成を示すものであ
る。全体の構成としては、データ入出力用のインターフ
ェース(301,309,310,311) と、制御
部の中心となるCPU 303とそのシステムROM、
RAM(305,307) 、CPU 303 ニ定
期的に割り込みをカケるタイマー302、そしてデータ
蓄積用のバッファメモリ(304,306,308)か
ら成る。
る。全体の構成としては、データ入出力用のインターフ
ェース(301,309,310,311) と、制御
部の中心となるCPU 303とそのシステムROM、
RAM(305,307) 、CPU 303 ニ定
期的に割り込みをカケるタイマー302、そしてデータ
蓄積用のバッファメモリ(304,306,308)か
ら成る。
次に各部の動作を説明する。まずバスB2を通してデー
タ処理装置インターフェース301より取り込まれたデ
ータはに一バッファ304に蓄積される。
タ処理装置インターフェース301より取り込まれたデ
ータはに一バッファ304に蓄積される。
システムROM 305内には、第6図に示すようにホ
スト、つまりデータ処理装置から送られてきたデータの
仮編集を行ない、データをパケットとしてパケットバッ
ファ308に書き込むホストプロセス65と、パケット
を解析してビットマツプ書込部インターフェース310
よりビットマツプ書込部31へ、またはフォントインタ
ーフェース309を通じてフォント部へ、さらにプリン
トエンジンインターフェース311を通してインターフ
ェース制御部40ヘデータを送るパケットプロセス64
という独立したプログラムが格納されている。そして、
同じくシステムROM 305に書き込まれているスケ
ジューラ62がタイマー302からのタイマー割り込み
61によって各プロセスを状態に応じて切り替えている
。
スト、つまりデータ処理装置から送られてきたデータの
仮編集を行ない、データをパケットとしてパケットバッ
ファ308に書き込むホストプロセス65と、パケット
を解析してビットマツプ書込部インターフェース310
よりビットマツプ書込部31へ、またはフォントインタ
ーフェース309を通じてフォント部へ、さらにプリン
トエンジンインターフェース311を通してインターフ
ェース制御部40ヘデータを送るパケットプロセス64
という独立したプログラムが格納されている。そして、
同じくシステムROM 305に書き込まれているスケ
ジューラ62がタイマー302からのタイマー割り込み
61によって各プロセスを状態に応じて切り替えている
。
システムRAM 307内には第7図(a)に示すよう
なカレント・プロセス・ステータス(CPS)ブロック
という領域があり、各プロセスの切り替え時にCPU3
03のレジスタ内容がCPS内に記憶されるので、各プ
ロセスは独立して動作を行うことができる。
なカレント・プロセス・ステータス(CPS)ブロック
という領域があり、各プロセスの切り替え時にCPU3
03のレジスタ内容がCPS内に記憶されるので、各プ
ロセスは独立して動作を行うことができる。
CPSブロックはパケットプロセス64.ホストプロセ
ス65.ユーザプロセス66(後述)夫々のための退避
エリアと、これらプロセスに共用の退避エリアとがある
。
ス65.ユーザプロセス66(後述)夫々のための退避
エリアと、これらプロセスに共用の退避エリアとがある
。
また1、システムROM 305にはプリンタ起動時の
ため初期化のスタートプロセス63が格納されており、
ホストプロセス66より直接スタートさせる。
ため初期化のスタートプロセス63が格納されており、
ホストプロセス66より直接スタートさせる。
システムRAM 307のメモリ構成を第7図(ロ)図
に示す、システムRAl’l 307のダウンロードセ
グメントには、ユーザプロセス66のための領域66′
が設けられている。データ処理装置インターフェース3
01を通してデータ処理装置lから送られてくるか、ま
たはフォントインターフェース309を通してフォント
カートリッジから読込んだ別のプロセス(ユーザプロセ
ス66)をシステムRAM 307のこの領域66′に
ロードする。そうするとスケジューラ62によって他の
プロセスと同様に時分割処理を行なうことができる。こ
のユーザプロセス66は、本プリンタ固有のプロトコル
(ホストプロトコル)と異なるプロトコルで送られてき
たデータをホストプロトコルに変換するプログラムであ
る。この場合のデータの流れは第8図に示すように例え
ばデータ処理装置1からインターフェース301を介し
てシステムRAM 307内のトバッファ304に書込
み、このR−バッファ304内に蓄積されている受信デ
ータ (ホストプロトコル以外のプロトコルのデータ)
をユーザプロセス66で取り出し、ホストプロトコルの
データに変換してシステムI?AM 307内のりR−
バッファ306に蓄積する。データの仮編集を行なうホ
ストプロセス65は、ユーザプロセス66の起動時には
UR−バッファ306を取出してホストプロトコルのデ
ータとしてこれを取扱えばよく、またユーザプロセスの
非起動時、つまりホストプロトコルのデータである場合
は単にR−バッファ304内のデータを取り出すだけで
よく、他に変更の必要がない。
に示す、システムRAl’l 307のダウンロードセ
グメントには、ユーザプロセス66のための領域66′
が設けられている。データ処理装置インターフェース3
01を通してデータ処理装置lから送られてくるか、ま
たはフォントインターフェース309を通してフォント
カートリッジから読込んだ別のプロセス(ユーザプロセ
ス66)をシステムRAM 307のこの領域66′に
ロードする。そうするとスケジューラ62によって他の
プロセスと同様に時分割処理を行なうことができる。こ
のユーザプロセス66は、本プリンタ固有のプロトコル
(ホストプロトコル)と異なるプロトコルで送られてき
たデータをホストプロトコルに変換するプログラムであ
る。この場合のデータの流れは第8図に示すように例え
ばデータ処理装置1からインターフェース301を介し
てシステムRAM 307内のトバッファ304に書込
み、このR−バッファ304内に蓄積されている受信デ
ータ (ホストプロトコル以外のプロトコルのデータ)
をユーザプロセス66で取り出し、ホストプロトコルの
データに変換してシステムI?AM 307内のりR−
バッファ306に蓄積する。データの仮編集を行なうホ
ストプロセス65は、ユーザプロセス66の起動時には
UR−バッファ306を取出してホストプロトコルのデ
ータとしてこれを取扱えばよく、またユーザプロセスの
非起動時、つまりホストプロトコルのデータである場合
は単にR−バッファ304内のデータを取り出すだけで
よく、他に変更の必要がない。
このユーザプロセス66は第7図(C)のようにこのプ
リンタ制御装置、つまりデータ処理装置3で対応し得る
プロトコル別に複数個システムROM 305内に保持
しておき、データ処理装置1から与えられるユーザプロ
セス指定コードによって指定のユーザプロセスをシステ
ムRAM 307内のダウンロード領域(ユーザプロセ
ス領域)66′にロードさせるようにしてもよい。
リンタ制御装置、つまりデータ処理装置3で対応し得る
プロトコル別に複数個システムROM 305内に保持
しておき、データ処理装置1から与えられるユーザプロ
セス指定コードによって指定のユーザプロセスをシステ
ムRAM 307内のダウンロード領域(ユーザプロセ
ス領域)66′にロードさせるようにしてもよい。
以上要約するとホストプロトコルはホストプロセス65
中に用意されており、このプロトコルで送(言されてき
たデータはシステムRAM 307のR−バッファ30
4に蓄積し、これを仮編集してシステムRAM307の
バケットバッファ308に書込むのである。
中に用意されており、このプロトコルで送(言されてき
たデータはシステムRAM 307のR−バッファ30
4に蓄積し、これを仮編集してシステムRAM307の
バケットバッファ308に書込むのである。
一方、ホストプロトコル以外のプロトコルで送られてき
たデータのホストプロトコルでのデータへの変換プログ
ラム、つまりユーザプロセス66(1種類でも複数でも
よい)はシステムRAM 307のダウンロード領域6
6′に書込まれるが、これはデータ処理装置lから与え
ることとしても、またフォントカートリッジ等外付はメ
モリから与えることとしてもよく、更にシステムRAM
305に予め複数用意しておき、これを選択的に与え
るようにしてもよい。そしてこの場合は一部R−バッフ
ァ304に書込まれたデータをこのユーザプロセス66
でホストプロトコルのデータに変換してUR−バッファ
306に格納した上で、バケットバッファ308に書込
むのである。第28図はデータ処理装置l側から本発明
のプリンタ制御装置へ送出するデータの1例を示す。
たデータのホストプロトコルでのデータへの変換プログ
ラム、つまりユーザプロセス66(1種類でも複数でも
よい)はシステムRAM 307のダウンロード領域6
6′に書込まれるが、これはデータ処理装置lから与え
ることとしても、またフォントカートリッジ等外付はメ
モリから与えることとしてもよく、更にシステムRAM
305に予め複数用意しておき、これを選択的に与え
るようにしてもよい。そしてこの場合は一部R−バッフ
ァ304に書込まれたデータをこのユーザプロセス66
でホストプロトコルのデータに変換してUR−バッファ
306に格納した上で、バケットバッファ308に書込
むのである。第28図はデータ処理装置l側から本発明
のプリンタ制御装置へ送出するデータの1例を示す。
この例ではユーザプロセス「1」を指定するコード(例
えばESCESC01)及びユーザプロセス「1」に適
合する形態のターゲットデータを送出し、次に上記ユー
ザプロセス「1」とは異なるユーザプロセス「2」を指
定するコード(例えばESCESC02)及びこのユー
ザプロセス「2」に適合する形態のターゲットデータを
送出し、次にホストプロセスを指定するコード(例えば
ESCESCDo)及びこれに適合するデータ (ネイ
ティブデータ)を送出する。
えばESCESC01)及びユーザプロセス「1」に適
合する形態のターゲットデータを送出し、次に上記ユー
ザプロセス「1」とは異なるユーザプロセス「2」を指
定するコード(例えばESCESC02)及びこのユー
ザプロセス「2」に適合する形態のターゲットデータを
送出し、次にホストプロセスを指定するコード(例えば
ESCESCDo)及びこれに適合するデータ (ネイ
ティブデータ)を送出する。
これを受けたプリンタは各データを自動的に連続印写す
ることになる。
ることになる。
また、プリンタ動作を制御する他のプロセスを変更する
必要がないので、ユーザプロセス66はデータの変換の
みを行なう節単なものになり、開発も容易である。
必要がないので、ユーザプロセス66はデータの変換の
みを行なう節単なものになり、開発も容易である。
第9図は、ビットマツプ書込部31の詳細ブロック図を
示す。ビットマツプ書込部の機能は大別して、BM−R
AM32への描画機能と、プリントの際にBM−RAM
32のデータをプリントエンジン4へ出力する機能と
に分かれる。
示す。ビットマツプ書込部の機能は大別して、BM−R
AM32への描画機能と、プリントの際にBM−RAM
32のデータをプリントエンジン4へ出力する機能と
に分かれる。
BM−RAM 32への描画機能は、さらに2つに分け
られ、グラフィクイメージ書込部316により行われる
線5円の描画と、フォントイメージ書込部311により
行われるフォント描画とからなる。両書込部316,3
11 ともビットマツプ制御部インターフェース317
を通じてビットマツプ制御部30から送られて(る中間
コードで動作するロジック部であるが、グラフィクイメ
ージ書込部316のほとんどの処理は、中間コード内の
パラメータを解析してB?lRAM 32に描画するの
に対して、フォントイメージ書込部311のほとんどの
処理は、中間コード内のデータに従ってフォント部イン
ターフェース314を通じてフォント部33から読み込
んだフォントイメージを叶−RAM 32に描画する。
られ、グラフィクイメージ書込部316により行われる
線5円の描画と、フォントイメージ書込部311により
行われるフォント描画とからなる。両書込部316,3
11 ともビットマツプ制御部インターフェース317
を通じてビットマツプ制御部30から送られて(る中間
コードで動作するロジック部であるが、グラフィクイメ
ージ書込部316のほとんどの処理は、中間コード内の
パラメータを解析してB?lRAM 32に描画するの
に対して、フォントイメージ書込部311のほとんどの
処理は、中間コード内のデータに従ってフォント部イン
ターフェース314を通じてフォント部33から読み込
んだフォントイメージを叶−RAM 32に描画する。
一方、プリントの際のデータ出力の機能は、プリントヘ
ッド制御部インターフェース315により行われる。す
なわち、ビットマツプ制御部からインターフェース31
7を介して送られてくるプリント開始コードを受は取る
と、プリントエンジン4のプリントヘッド制御部42か
らバスB4を通じて送られてくる同期信号に従って、B
M−RAM32のデータをプリントヘッド制御部に出力
する。
ッド制御部インターフェース315により行われる。す
なわち、ビットマツプ制御部からインターフェース31
7を介して送られてくるプリント開始コードを受は取る
と、プリントエンジン4のプリントヘッド制御部42か
らバスB4を通じて送られてくる同期信号に従って、B
M−RAM32のデータをプリントヘッド制御部に出力
する。
次にイメージエリアの考え方について説明する。
第1θ図に例を示す。第10図において、全エリア(A
t)で示される部分が、ペーパのサイズに相当する。
t)で示される部分が、ペーパのサイズに相当する。
周縁のマージン・エリア(A2)は、実際にベーパにプ
リントを行なう際の余白部分であり、印字データの描画
が行われるのは、その内側のイメージ・エリア(A3)
の部分である。印字の開始は、イメージ・エリアの左上
から行われ、文字は印字方向AIOに従って順次印字さ
れる。途中、改行コードが入力された場合、改行方向A
llに、改行幅A12だけ次の印字位置が移動する。ま
た、復行コード、が入力されると、イメージ・エリア左
端、復行位置A13に次の印字位置が移動する。なお、
マージン・エリアA2は、データ処理装置lからの指定
によりページ単位に変更が可能である。
リントを行なう際の余白部分であり、印字データの描画
が行われるのは、その内側のイメージ・エリア(A3)
の部分である。印字の開始は、イメージ・エリアの左上
から行われ、文字は印字方向AIOに従って順次印字さ
れる。途中、改行コードが入力された場合、改行方向A
llに、改行幅A12だけ次の印字位置が移動する。ま
た、復行コード、が入力されると、イメージ・エリア左
端、復行位置A13に次の印字位置が移動する。なお、
マージン・エリアA2は、データ処理装置lからの指定
によりページ単位に変更が可能である。
次に、フローチャートを参照しながら本システムの動作
説明を行なう。本システムのプログラムは次の3つに分
かれている。
説明を行なう。本システムのプログラムは次の3つに分
かれている。
ホストプロセス 受信バッファ内のデータを解析し、
描画部及びプリン トエンジン部を制御するた めのパケットデータを発生 する。
描画部及びプリン トエンジン部を制御するた めのパケットデータを発生 する。
パケットプロセス ホストプロセスによって発生したパ
ケットデータによ り実際にBM −RAMの描画、 及びエンジンの制御を行な う。
ケットデータによ り実際にBM −RAMの描画、 及びエンジンの制御を行な う。
ユーザプロセス 形態の異なるプロトコルの入力に対
して、ホストプロ セスが解析可能なプロトコ ルへ変換しホストプロセス に渡す、フォントカートリ ッジ、システムROM 305又 はデータ処理装置lからの ダウンロードによって供給 される、プロトコル変換が 必要なければ実行しない。
して、ホストプロ セスが解析可能なプロトコ ルへ変換しホストプロセス に渡す、フォントカートリ ッジ、システムROM 305又 はデータ処理装置lからの ダウンロードによって供給 される、プロトコル変換が 必要なければ実行しない。
これらのプロセスは独立したプログラムとなっており、
優先順位のある時分割処理によって並行して動作してい
る。優先順位はパケットプロセス、ホストプロセス、ユ
ーザプロセスの順位である。
優先順位のある時分割処理によって並行して動作してい
る。優先順位はパケットプロセス、ホストプロセス、ユ
ーザプロセスの順位である。
この他にタイマー割り込みによりこれらのプロセスの管
理を行なうスケジューラ、スタート時に起動されるスタ
ートプロセスがある。
理を行なうスケジューラ、スタート時に起動されるスタ
ートプロセスがある。
次に各プロセスについて説明する。
第11図はスタートプロセスを示すフローチャートであ
る。このプロセスはスタート時に1回だけ起動される。
る。このプロセスはスタート時に1回だけ起動される。
まず電源が投入されると(ステップ#1)、内部の初期
化を行ない(ステップ#2)、R−バッファ・ OR−
バッファ、パケットバッファ(FIFO)のクリアを行
なう (ステップ#3.#4゜#5)。次に、この後ホ
ストプロセスを起動するため準備動作として、リクエス
トベクタのホストプロセスを示すビットをセットしくス
テップ#6)、カレントベクタの出力プロセスを示すビ
ットをセットしくステップ# 7 ) 、CRTPR3
にユーザプロセスを示す番号を入れる(ステップ#8)
。リクエストベクタとは、タイマー割り込みによってス
ケジューラが起動されたとき、実行が中断されたプロセ
スがスケジューラに対して実行の放棄と他プロセスの起
動要求を伝達するためのものであり、各プロセスに対応
するビットをセットまたはリセットするようになってい
る。またカレントベクタは実行中のプロセスに対応する
ビットをセットするようになっていて、スケジューラが
起動されたときは実行が中断されたプロセスのビットが
セットされている。さらに、CRTPR5はカレントベ
クタの示すプロセスの番号が入っていて、プロセスの番
号は優先順位が高い程大きくなる。このリクエストベク
タ、カレントベクタ、CRTPR3を用いてスケジュー
ラは次のプロセスの実行先を決定する(次の「スケジュ
ーラ」の項で詳細を述べる)。
化を行ない(ステップ#2)、R−バッファ・ OR−
バッファ、パケットバッファ(FIFO)のクリアを行
なう (ステップ#3.#4゜#5)。次に、この後ホ
ストプロセスを起動するため準備動作として、リクエス
トベクタのホストプロセスを示すビットをセットしくス
テップ#6)、カレントベクタの出力プロセスを示すビ
ットをセットしくステップ# 7 ) 、CRTPR3
にユーザプロセスを示す番号を入れる(ステップ#8)
。リクエストベクタとは、タイマー割り込みによってス
ケジューラが起動されたとき、実行が中断されたプロセ
スがスケジューラに対して実行の放棄と他プロセスの起
動要求を伝達するためのものであり、各プロセスに対応
するビットをセットまたはリセットするようになってい
る。またカレントベクタは実行中のプロセスに対応する
ビットをセットするようになっていて、スケジューラが
起動されたときは実行が中断されたプロセスのビットが
セットされている。さらに、CRTPR5はカレントベ
クタの示すプロセスの番号が入っていて、プロセスの番
号は優先順位が高い程大きくなる。このリクエストベク
タ、カレントベクタ、CRTPR3を用いてスケジュー
ラは次のプロセスの実行先を決定する(次の「スケジュ
ーラ」の項で詳細を述べる)。
この後に、CPSブロックの初期化を行なう (ステッ
プ#9)。具体的には、各CPS ”i’cPI+の実
行アドレスポインタのデータを格納するエリアに、各プ
ロセスプログラムのスタートアドレス値を入れ、スタッ
クポインタを格納するエリアに所定のアドレス値を入れ
る。また必要に応じて他のポインタの初期値も入れる。
プ#9)。具体的には、各CPS ”i’cPI+の実
行アドレスポインタのデータを格納するエリアに、各プ
ロセスプログラムのスタートアドレス値を入れ、スタッ
クポインタを格納するエリアに所定のアドレス値を入れ
る。また必要に応じて他のポインタの初期値も入れる。
これらの初期設定を終えると割り込みを許可しくステッ
プ#10) 、タイマー割り込み待ち(ステップ#11
)のループに入る。
プ#10) 、タイマー割り込み待ち(ステップ#11
)のループに入る。
第12図はタイマー割り込みによって起動されるスケジ
ューラを示すフローチャートである。まずタイマーによ
る割り込みが入ると(ステップ#30)、CPUの各レ
ジスタの値をCPSブロック内の退避エリアへ退避する
(ステップ#31)。次にリクエストベクタにセント
されているビットの内で、最優先のプロセス番号をRE
QPI?Sに入れる(ステップ#32)。ここでCRT
PRSには割り込み処理を行なう直前のプロセス番号が
入っているので、これとRE(lPl?sを比較するこ
とによって、より優先順位の高いプロセスの起動リクエ
ストがあるかどうかを判断する(ステップ#33) 、
上位プロセスの起動リクエストがない(ステップ#33
でNO)場合、処理中であったプロセス(CRTPRS
が示している)がリクエストベクタのビットをリセット
して先の実行を放棄しているかどうかをチエツクしくス
テップ#42)、放棄していない(ステップ#42でY
l!S)場合はCPSブロックの退避エリアの各レジス
タのデータをCPIIにセットして(ステップ#39)
復帰する。この場合タイマー割り込みによって中断した
プロセスがそのまま実行される。もし放棄している(ス
テップ#42でNO)場合はCRTPRSの示すプロセ
スよりも下位であり、かつ最上位のプロセス番号をRE
QPRSに入れて(ステップ#41) 、上位プロセス
の起動要求があった(ステップ#33でYt!S)場合
と同様の処理を行なう。ここではCRTPl?Sの示す
実行を中断するプロセスのCPSに退避エリアの値を転
送しくステップ#35) 、REQPRSの示すプロセ
スのcps0値を退避エリアに転送する(ステップ#3
6)。
ューラを示すフローチャートである。まずタイマーによ
る割り込みが入ると(ステップ#30)、CPUの各レ
ジスタの値をCPSブロック内の退避エリアへ退避する
(ステップ#31)。次にリクエストベクタにセント
されているビットの内で、最優先のプロセス番号をRE
QPI?Sに入れる(ステップ#32)。ここでCRT
PRSには割り込み処理を行なう直前のプロセス番号が
入っているので、これとRE(lPl?sを比較するこ
とによって、より優先順位の高いプロセスの起動リクエ
ストがあるかどうかを判断する(ステップ#33) 、
上位プロセスの起動リクエストがない(ステップ#33
でNO)場合、処理中であったプロセス(CRTPRS
が示している)がリクエストベクタのビットをリセット
して先の実行を放棄しているかどうかをチエツクしくス
テップ#42)、放棄していない(ステップ#42でY
l!S)場合はCPSブロックの退避エリアの各レジス
タのデータをCPIIにセットして(ステップ#39)
復帰する。この場合タイマー割り込みによって中断した
プロセスがそのまま実行される。もし放棄している(ス
テップ#42でNO)場合はCRTPRSの示すプロセ
スよりも下位であり、かつ最上位のプロセス番号をRE
QPRSに入れて(ステップ#41) 、上位プロセス
の起動要求があった(ステップ#33でYt!S)場合
と同様の処理を行なう。ここではCRTPl?Sの示す
実行を中断するプロセスのCPSに退避エリアの値を転
送しくステップ#35) 、REQPRSの示すプロセ
スのcps0値を退避エリアに転送する(ステップ#3
6)。
さらに、CI?TPRSニREGPl?5(7)値を入
れ(ステップ#37) 、REQPRSの示すプロセス
のカレントベクタのビットだけをセットし、他はリセッ
トする (ステップ#38)。これらの処理によって退
避エリアにはREQPRSの示すプロセスのレジスタの
値が入っているので、復帰先はREQPRSの示すプロ
セスとなる。
れ(ステップ#37) 、REQPRSの示すプロセス
のカレントベクタのビットだけをセットし、他はリセッ
トする (ステップ#38)。これらの処理によって退
避エリアにはREQPRSの示すプロセスのレジスタの
値が入っているので、復帰先はREQPRSの示すプロ
セスとなる。
第13図はホストプロセスの動きを示すフローチャート
である。ホストプロセスの最初の起動は、前述のように
スタートプロセスがリクエストベクタを用いてスケジュ
ーラにホストプロセスの起動を要求し、タイマー割り込
みによって起動されたスケジューラがホストプロセスに
切り替わることによって行われる。このとき、制御部の
CPU (303)のプログラムカウンタにホストプロ
セスの先頭アドレスが設定される。
である。ホストプロセスの最初の起動は、前述のように
スタートプロセスがリクエストベクタを用いてスケジュ
ーラにホストプロセスの起動を要求し、タイマー割り込
みによって起動されたスケジューラがホストプロセスに
切り替わることによって行われる。このとき、制御部の
CPU (303)のプログラムカウンタにホストプロ
セスの先頭アドレスが設定される。
処理の流れを説明すると、まずホストプロセスに用いて
いるフラグの初期化を行なう (ステップ#51)。具
体的には、ユーザプロセスの実行の有無を示すUSER
Fフラグを0にセットし、受信データ処理ルーチンで仮
イメージ編集中であることを示すLPWRITEを0に
セットする。
いるフラグの初期化を行なう (ステップ#51)。具
体的には、ユーザプロセスの実行の有無を示すUSER
Fフラグを0にセットし、受信データ処理ルーチンで仮
イメージ編集中であることを示すLPWRITEを0に
セットする。
さらにホストプロセスが実行処理不可能な状態であるこ
とを示す)IO5TI’NOフラグをOにセットし、ユ
ーザプロセスとの共通フラグでありユーザプロセスの切
り替え処理中であることを示すUSER−^ITもOに
セットしておく。そして、中間コード作成の準備として
フォント部33よりフォント属性を読み込む(ステップ
#52)。このときフォントカートリッジ内にデイツプ
スイッチ(DIPSW)によってあらかじめ指定された
ユーザプロセスが有るかどうかをチエツクしくステップ
#53. #54) 、有りの場合はシステムRAM
307の所定の領域に指定されたユーザプロセスをロー
ドしくステップ#55)、ロード終了(ステップ#56
)を待ってユーザプロセスの実行を示すUSERFフラ
グを1にセットしくステップ#57) 、リクエストベ
クタのユーザプロセスのビットをセットする (ステッ
プ#58)。
とを示す)IO5TI’NOフラグをOにセットし、ユ
ーザプロセスとの共通フラグでありユーザプロセスの切
り替え処理中であることを示すUSER−^ITもOに
セットしておく。そして、中間コード作成の準備として
フォント部33よりフォント属性を読み込む(ステップ
#52)。このときフォントカートリッジ内にデイツプ
スイッチ(DIPSW)によってあらかじめ指定された
ユーザプロセスが有るかどうかをチエツクしくステップ
#53. #54) 、有りの場合はシステムRAM
307の所定の領域に指定されたユーザプロセスをロー
ドしくステップ#55)、ロード終了(ステップ#56
)を待ってユーザプロセスの実行を示すUSERFフラ
グを1にセットしくステップ#57) 、リクエストベ
クタのユーザプロセスのビットをセットする (ステッ
プ#58)。
これは、最下位のプロセスは常にリクエストベクタのビ
ットをセットしておき、自分自身の実行を放棄すること
の無いようにするためである。その後、指定ユーザプロ
セスをエミュレーションベクタにセットする(ステップ
#59) 、これらの初期化動作(ステップ#51〜ス
テップ#59)を行った後、主ループ(ステップ#60
〜ステップ#66)に入る。またデイツプスイッチDI
PS−でユーザプロセス指定のない(ステップ#53で
NO)場合、ROM内にデイツプスイッチDIPS−で
指定されたユーザプロセスがない(ステップ#54でN
O)場合、ステップ#60に潜入する。
ットをセットしておき、自分自身の実行を放棄すること
の無いようにするためである。その後、指定ユーザプロ
セスをエミュレーションベクタにセットする(ステップ
#59) 、これらの初期化動作(ステップ#51〜ス
テップ#59)を行った後、主ループ(ステップ#60
〜ステップ#66)に入る。またデイツプスイッチDI
PS−でユーザプロセス指定のない(ステップ#53で
NO)場合、ROM内にデイツプスイッチDIPS−で
指定されたユーザプロセスがない(ステップ#54でN
O)場合、ステップ#60に潜入する。
主ループではFII’0の空エリアがな(なるか、11
sERF = 1 (ステップ#61でYll!S)の
ときOR−バッフ7、USI!RF = O(ステップ
#61テNO) (7)ときは、R−バッファが空にな
る(ステップ#63でNO)とき以外は受信データ処理
(ステップ#64)を行なう。
sERF = 1 (ステップ#61でYll!S)の
ときOR−バッフ7、USI!RF = O(ステップ
#61テNO) (7)ときは、R−バッファが空にな
る(ステップ#63でNO)とき以外は受信データ処理
(ステップ#64)を行なう。
また、データ処理を行わない(ステップ#60、ステッ
プ#62、ステップ#63でNO)ときはJOBOUT
処理1を実行する(ステップ#69)。ここでOR−バ
ッファが空で(ステップ#62でNO)ユーザプロセス
の切り替え処理中であれば(ステップ#67でYES)
プロセス切り替え処理が終わったことを示すHO5TE
NDフラグをセットしくステップ#68) その後JO
BOUT処理lを実行する。 JO[1OUT処理1の
内容は第14図に示すが、これはホストプロセスがスケ
ジューラに対して上位プロセス(実施例ではパケットプ
ロセス)への切り替えを要求するために、リクエストベ
クタを更新する処理である。具体的には、リクエストベ
クタのパケットプロセスビットをセットシ(ステップ#
72) 、ユーザプロセスが起動されていて(ステップ
#73テYES)HOSTI!ND 、 tlsERW
AITフラグがセットされていない(ステップ#77で
NO、ステップ#80でYl!S)ときにはリクエスト
ベクタのホストプロセスのビットをリセットし自らの実
行を放棄する。またユーザプロセスが無い(ステップ#
73でNO)場合は、ホストプロセスが最下位プロセス
となるのでリクエストベクタのホストプロセスのビット
はセットしたままにしておく。
プ#62、ステップ#63でNO)ときはJOBOUT
処理1を実行する(ステップ#69)。ここでOR−バ
ッファが空で(ステップ#62でNO)ユーザプロセス
の切り替え処理中であれば(ステップ#67でYES)
プロセス切り替え処理が終わったことを示すHO5TE
NDフラグをセットしくステップ#68) その後JO
BOUT処理lを実行する。 JO[1OUT処理1の
内容は第14図に示すが、これはホストプロセスがスケ
ジューラに対して上位プロセス(実施例ではパケットプ
ロセス)への切り替えを要求するために、リクエストベ
クタを更新する処理である。具体的には、リクエストベ
クタのパケットプロセスビットをセットシ(ステップ#
72) 、ユーザプロセスが起動されていて(ステップ
#73テYES)HOSTI!ND 、 tlsERW
AITフラグがセットされていない(ステップ#77で
NO、ステップ#80でYl!S)ときにはリクエスト
ベクタのホストプロセスのビットをリセットし自らの実
行を放棄する。またユーザプロセスが無い(ステップ#
73でNO)場合は、ホストプロセスが最下位プロセス
となるのでリクエストベクタのホストプロセスのビット
はセットしたままにしておく。
ユーザプロセスの切替えに伴う処理においてはホストプ
ロセスが引続き処理可能、つまりOR−バッファ306
にデータが残っている(ステップ#73でYES)場合
は受信データ処理を続行する。この時、Frpoに空き
がない場合(#60でNO)は、“JOBOUT処理l
”が実行されるが、ユーザプロセスの切換中である場合
(#80でNO)にはリクエストベクタのホストプロセ
スビットのセット処理を実行しないため、次にパケット
プロセスで“JOBOUT処理2”が実行されてパケッ
トプロセスのビットがリセットされ(ステップ#231
、第21図)でも、リクエストベクタは、ホストプロ
セスがセットされたままであるので、ホストプロセスに
復帰する。
ロセスが引続き処理可能、つまりOR−バッファ306
にデータが残っている(ステップ#73でYES)場合
は受信データ処理を続行する。この時、Frpoに空き
がない場合(#60でNO)は、“JOBOUT処理l
”が実行されるが、ユーザプロセスの切換中である場合
(#80でNO)にはリクエストベクタのホストプロセ
スビットのセット処理を実行しないため、次にパケット
プロセスで“JOBOUT処理2”が実行されてパケッ
トプロセスのビットがリセットされ(ステップ#231
、第21図)でも、リクエストベクタは、ホストプロ
セスがセットされたままであるので、ホストプロセスに
復帰する。
またuトバッファ306のデータが空である場合はステ
ップ#68で)IOsTENDフラグが立っているので
ステップ#77でYESとなり、USI!RWAITフ
ラグ及びll05TENDフラグを0にセットする(ス
テップ#78及び#79) 、この処理によってステッ
プ#80ではYF!sとなり、リクエストベクタのホス
トプロセスのビットがリセットされる(ステップ#74
)。
ップ#68で)IOsTENDフラグが立っているので
ステップ#77でYESとなり、USI!RWAITフ
ラグ及びll05TENDフラグを0にセットする(ス
テップ#78及び#79) 、この処理によってステッ
プ#80ではYF!sとなり、リクエストベクタのホス
トプロセスのビットがリセットされる(ステップ#74
)。
このようにしてユーザプロセス切替え処理が完了し、次
のユーザプロセスへ移ることができる。なお、これらの
処理中はタイマー割り込みを禁止して(ステップ#71
. #75)誤動作を防ぐようにしている。
のユーザプロセスへ移ることができる。なお、これらの
処理中はタイマー割り込みを禁止して(ステップ#71
. #75)誤動作を防ぐようにしている。
これらの流れから明らかなように、ユーザプロセス切り
替え時でない(IJSERWAIT= 0 )場合特定
の条件(FIFOの空エリアがない、R−バッファ又は
OR−バッファが空き等の条件。他に受信データ処理の
サブルーチン(ステップ#64)でも設定している)に
よってJOBOUT処理lが実行されリクエストフラグ
が更新されるまでは、タイマー割り込みによってスケジ
ューラが起動されても再びホストプロセスに戻ってくる
ので受信データ処理を繰り返して行なうことになる。
替え時でない(IJSERWAIT= 0 )場合特定
の条件(FIFOの空エリアがない、R−バッファ又は
OR−バッファが空き等の条件。他に受信データ処理の
サブルーチン(ステップ#64)でも設定している)に
よってJOBOUT処理lが実行されリクエストフラグ
が更新されるまでは、タイマー割り込みによってスケジ
ューラが起動されても再びホストプロセスに戻ってくる
ので受信データ処理を繰り返して行なうことになる。
またユーザプロセス切り替え時にはυR−バッファ30
6が空となりHO5TENDフラグがセットされるまで
リクエストベクタのホストプロセスのビットはリセット
されないのでホストプロセス65及びパケットプロセス
64だけが起動され、残りのデータを処理してしまうま
で待つようになっている。その後切り替え処理が終了す
ればリクエストベクタのホストプロセスビットをリセッ
トするので、−度パケットプロセス64に移った後回も
せず切り替えられたユーザプロセス66が起動されるよ
うになる。
6が空となりHO5TENDフラグがセットされるまで
リクエストベクタのホストプロセスのビットはリセット
されないのでホストプロセス65及びパケットプロセス
64だけが起動され、残りのデータを処理してしまうま
で待つようになっている。その後切り替え処理が終了す
ればリクエストベクタのホストプロセスビットをリセッ
トするので、−度パケットプロセス64に移った後回も
せず切り替えられたユーザプロセス66が起動されるよ
うになる。
これらの処理が終了すると、表示パネル44上のテスト
キー902が押されているかどうかをチエツクしくステ
ップ#65) 、押されているときはテストプリント処
理(ステップ#66)を行なう。押されていない場合は
、主ループのスタートに戻る(ステップ#60)。
キー902が押されているかどうかをチエツクしくステ
ップ#65) 、押されているときはテストプリント処
理(ステップ#66)を行なう。押されていない場合は
、主ループのスタートに戻る(ステップ#60)。
[テストプリント]
本発明に係るテストプリントは使用中のフォント、プリ
ントエンジン4の画像状態のチエツクをする場合に用い
る機能であり表示パネル44上のテストキー902で起
動される。表示パネル44の制御はインターフェース制
御部40によって行われており、ビットマツプ制御部3
0ヘテストプリント要求を発する。実際の起動はステッ
プ#65において、この要求を検出することで行われる
。
ントエンジン4の画像状態のチエツクをする場合に用い
る機能であり表示パネル44上のテストキー902で起
動される。表示パネル44の制御はインターフェース制
御部40によって行われており、ビットマツプ制御部3
0ヘテストプリント要求を発する。実際の起動はステッ
プ#65において、この要求を検出することで行われる
。
第27図はテストプリント処理(第13図のステップ#
66)の内容を詳細に示すフローチャートであり、この
フローチャートに示すようにテストプリントが実行され
るのはBM−RAM 32、バケットバッファ308に
描画、仮編集が行われていない(ステップ#81及び#
82においてYES)場合である。このような条件が成
立してテストプリントが可能である場合、まず実行中の
モードを退避する(ステップ#83)。
66)の内容を詳細に示すフローチャートであり、この
フローチャートに示すようにテストプリントが実行され
るのはBM−RAM 32、バケットバッファ308に
描画、仮編集が行われていない(ステップ#81及び#
82においてYES)場合である。このような条件が成
立してテストプリントが可能である場合、まず実行中の
モードを退避する(ステップ#83)。
次にテストプリントのモードを設定する (ステップ#
84)。この設定項目はコピー枚数、ソータ6の使用ビ
ン等である。
84)。この設定項目はコピー枚数、ソータ6の使用ビ
ン等である。
次にテストパターン(使用可能なフォントパターン、そ
の時点での設定モードを含む)をバケットバッファ30
8に出力する(ステップ#85)。テストパターンには
ユーザが登録可能なメツセージ印字エリアが設けてあり
、ユーザテストパターンが登録されているとき(ステッ
プ#86でUSIERTEST−1)は、ユーザプロセ
スの起動時にプロトコルによって指定されたデータ及び
印字パターンをユーザテストパターン登録エリアよりデ
ータを書込む(ステップ#87)。
の時点での設定モードを含む)をバケットバッファ30
8に出力する(ステップ#85)。テストパターンには
ユーザが登録可能なメツセージ印字エリアが設けてあり
、ユーザテストパターンが登録されているとき(ステッ
プ#86でUSIERTEST−1)は、ユーザプロセ
スの起動時にプロトコルによって指定されたデータ及び
印字パターンをユーザテストパターン登録エリアよりデ
ータを書込む(ステップ#87)。
次に通常のモードでページイジェクト(PAGEBJl
uCT)ファンクションをバケットバッファ308に出
力しくステップ#88)元のモードに復帰させる(ステ
ップ#89) 。
uCT)ファンクションをバケットバッファ308に出
力しくステップ#88)元のモードに復帰させる(ステ
ップ#89) 。
受信データの処理フローを第15図(a)、第15図(
b)に示す。
b)に示す。
まず、受信データの処理を行なうために受信バッファよ
りデータを取り出す必要がある。受信データは第18図
に示すようにデータの受信割り込みによってデータ処理
インターフェース301より取り込まれ、R−バッファ
304に蓄積される。
りデータを取り出す必要がある。受信データは第18図
に示すようにデータの受信割り込みによってデータ処理
インターフェース301より取り込まれ、R−バッファ
304に蓄積される。
ここでユーザプロセス66が有る場合はR−バ・ンファ
304のデータのプロトコル変換を行った後OR−バッ
ツァ306に蓄積するので、USERFが1のとき(ス
テップ#101でYES)はUR−バッファ306より
、0のとき(ステップ#101でNo)はR−バッファ
304よりデータを取り込む(ステップ#102 、ス
テ・ンプ# 107) 。
304のデータのプロトコル変換を行った後OR−バッ
ツァ306に蓄積するので、USERFが1のとき(ス
テップ#101でYES)はUR−バッファ306より
、0のとき(ステップ#101でNo)はR−バッファ
304よりデータを取り込む(ステップ#102 、ス
テ・ンプ# 107) 。
ここで受信データは次の5つに分類される。
・[FC関連コード(プリント・エンジン関連コード)
(ステップ#103〜ステップ# 105)・JOB制
御コード(JOBSTART、 PAGEEJECT)
(ステップ#108〜ステップ#112) ・書式制御コード(ステップ#113〜ステップ#11
4) ・印字データ (文字コード、グラフィックコード)(
ステップ#130.ステップ#140)・ユーザプロセ
ス制御コード 印字データの場合(ステップ#130でYES)は、L
PWl?ITEフラグを1として(ステップ# 131
)対応するフォーマットの中間コードに変換してFIF
Oに出力する。文字コードの場合は、フォント・イメー
ジ書込部311へのフォーマットと同じでフォント・パ
ターンのアドレス(ステップ#135)、イメージ・エ
リア上の印字位置に対応するBM −RAMへの書込み
アドレス(ステップ#136)および書込みモード(ス
テップ#137)よりなる。グラフィックコードの場合
は、グラフィックイメージ書込部316へのコマンドと
同一のフォーマットで出力される(ステップ#141)
、このとき、文字コードの場合は、次の文字印字位置を
更新しておく (ステップ# 128)。
(ステップ#103〜ステップ# 105)・JOB制
御コード(JOBSTART、 PAGEEJECT)
(ステップ#108〜ステップ#112) ・書式制御コード(ステップ#113〜ステップ#11
4) ・印字データ (文字コード、グラフィックコード)(
ステップ#130.ステップ#140)・ユーザプロセ
ス制御コード 印字データの場合(ステップ#130でYES)は、L
PWl?ITEフラグを1として(ステップ# 131
)対応するフォーマットの中間コードに変換してFIF
Oに出力する。文字コードの場合は、フォント・イメー
ジ書込部311へのフォーマットと同じでフォント・パ
ターンのアドレス(ステップ#135)、イメージ・エ
リア上の印字位置に対応するBM −RAMへの書込み
アドレス(ステップ#136)および書込みモード(ス
テップ#137)よりなる。グラフィックコードの場合
は、グラフィックイメージ書込部316へのコマンドと
同一のフォーマットで出力される(ステップ#141)
、このとき、文字コードの場合は、次の文字印字位置を
更新しておく (ステップ# 128)。
JFC関連コード(ステップ#103)は、インターフ
ェース制御部40に出力するものであるが、印字データ
との同期をとるため、印字データとは形式の異なるファ
ンクションタイプの中間コードとしてFIFOへ出力し
ておく (ステップ#104)、そして“JOBOUT
処理1”を実行する(ステップ#105)。
ェース制御部40に出力するものであるが、印字データ
との同期をとるため、印字データとは形式の異なるファ
ンクションタイプの中間コードとしてFIFOへ出力し
ておく (ステップ#104)、そして“JOBOUT
処理1”を実行する(ステップ#105)。
JOB制御コードには、ページの区切りに用いるPAG
E EJECTコード(ステップ#110)と、ページ
群の区切りに用いるJOBSTART(ステップ910
B テYH3)の2つがある。どちらもIFC関連コー
ドと同様に、FIFOに出力する(ステップ#109.
ステップ# 152)。
E EJECTコード(ステップ#110)と、ページ
群の区切りに用いるJOBSTART(ステップ910
B テYH3)の2つがある。どちらもIFC関連コー
ドと同様に、FIFOに出力する(ステップ#109.
ステップ# 152)。
PAGE EJECT:l−ドの場合PAGE EJE
CT処理(ステップ#111)の後、“JOBOUT処
理1 ”を実行シ(ステップ#112)、復帰する。書
式制御コード(ステップ#113、ステップ#114)
は、印字の書式を制御する。同一イメージのコピー枚数
を指定するD −ドであれば(ステップ#115でYE
S)、印字データとの同期をとるためFIFOに対応す
るファンクシロンを出力する(ステップ4116)。
CT処理(ステップ#111)の後、“JOBOUT処
理1 ”を実行シ(ステップ#112)、復帰する。書
式制御コード(ステップ#113、ステップ#114)
は、印字の書式を制御する。同一イメージのコピー枚数
を指定するD −ドであれば(ステップ#115でYE
S)、印字データとの同期をとるためFIFOに対応す
るファンクシロンを出力する(ステップ4116)。
〔書式制御とPAGE HJUCT処理〕第17図は書
式制御コードの処理シーケンスを示したものである。復
行コードの場合(ステップ#161でYES)は次の印
字位置を左端へ移動しくステップ# 162)、改行コ
ードの場合は次の印字位置を一行下へ移動する(ステッ
プ# 165)。またランダム指定のとき (ステップ
#166でYES)はオフセット値を加算した後、次の
印字位置を更新する(ステップ# 167)。
式制御コードの処理シーケンスを示したものである。復
行コードの場合(ステップ#161でYES)は次の印
字位置を左端へ移動しくステップ# 162)、改行コ
ードの場合は次の印字位置を一行下へ移動する(ステッ
プ# 165)。またランダム指定のとき (ステップ
#166でYES)はオフセット値を加算した後、次の
印字位置を更新する(ステップ# 167)。
第16図はPAGE! EJ[ICT処理のフローを示
したものである。このPAGE EJECT処理は、F
IFO上へ中間コードとして仮編集するときの仮想的な
処理であり、中間データ処理(第22図(b))で実際
にペーパの排出を行なうものとは異なる。PAGE f
!JECT処理はまずバケットバッファ308へPAG
I! E!JECTを示す中間コードを出力する(ステ
ップ#152)。ここで、実際の排紙動作はパケットプ
ロセスがこの中間コードを受は取った時に行われる。そ
の後、次のベージの編集に備えて次の印字位置を先頭に
戻す(ステップ# 153)。これらの一連の動作は仮
イメージ編集を示すLPWRITEフラグによって判別
され(ステップ#151 、ステップ#154)、空ペ
ージ出力を防ぐ。
したものである。このPAGE EJECT処理は、F
IFO上へ中間コードとして仮編集するときの仮想的な
処理であり、中間データ処理(第22図(b))で実際
にペーパの排出を行なうものとは異なる。PAGE f
!JECT処理はまずバケットバッファ308へPAG
I! E!JECTを示す中間コードを出力する(ステ
ップ#152)。ここで、実際の排紙動作はパケットプ
ロセスがこの中間コードを受は取った時に行われる。そ
の後、次のベージの編集に備えて次の印字位置を先頭に
戻す(ステップ# 153)。これらの一連の動作は仮
イメージ編集を示すLPWRITEフラグによって判別
され(ステップ#151 、ステップ#154)、空ペ
ージ出力を防ぐ。
ユーザプロセスの切り替えはユーザプロセス指定コード
によって行なう。このコードは透過性を有するコード、
つまりどのようなプロトコル体系のコードとも区別でき
るようなコード(例えばESCAPRCODE =27
を2回連続するようなもの)である必要がある。またこ
のコードのパラメータによってホストプロセス及び複数
のユーザプロセスを切り替え、その値はEMIINO切
にセットされる (ステップ#11B)。またその時起
動されているユーザプロセスはエミュレーションベクタ
に割り当てられた値としてセットされている。
によって行なう。このコードは透過性を有するコード、
つまりどのようなプロトコル体系のコードとも区別でき
るようなコード(例えばESCAPRCODE =27
を2回連続するようなもの)である必要がある。またこ
のコードのパラメータによってホストプロセス及び複数
のユーザプロセスを切り替え、その値はEMIINO切
にセットされる (ステップ#11B)。またその時起
動されているユーザプロセスはエミュレーションベクタ
に割り当てられた値としてセットされている。
ユーザプロセス指定コードの場合は(ステップ#117
でYES)、パラメータの指定ユーザプロセス番号をシ
ステムRAM 307上のEMIINO−にセットした
後(ステップ411B)ユーザプロセスが起動されてい
るか否かをチエツクしくステップ#119)、υ5ER
FフラグがOのとき(ステップ#119でYES)、ま
たはtlsERFが1のときでE?1tlNOWとエミ
ュレーションベクタとが違う (ステップ#12oで’
IBs)場合には、BMUNOWで示されるユーザプロ
セスをロードしくステップ# 121)、ロード終了を
待った後(ステップ#122)、USI!RFを1にセ
ットする(ステップ#123)。
でYES)、パラメータの指定ユーザプロセス番号をシ
ステムRAM 307上のEMIINO−にセットした
後(ステップ411B)ユーザプロセスが起動されてい
るか否かをチエツクしくステップ#119)、υ5ER
FフラグがOのとき(ステップ#119でYES)、ま
たはtlsERFが1のときでE?1tlNOWとエミ
ュレーションベクタとが違う (ステップ#12oで’
IBs)場合には、BMUNOWで示されるユーザプロ
セスをロードしくステップ# 121)、ロード終了を
待った後(ステップ#122)、USI!RFを1にセ
ットする(ステップ#123)。
これらの処理が終了した後またはステップ#119゜#
120でNOの場合は、ユーザプロセスの初期化を行な
うが、具体的には第7図(a)に示すカレントプロセス
ステータスブロックのユーザプロセス用退避エリアを初
期化しくステップ#124)、最後にリクエストベクタ
のユーザプロセスのビットをセットする(ステップ#1
26)。ユーザプロセス解除コードの場合は、USBR
Fフラグを0として(ステップ412B)、この後、リ
クエストベクタのユーザプロセスのビットをリセットす
る(ステップ#129)。
120でNOの場合は、ユーザプロセスの初期化を行な
うが、具体的には第7図(a)に示すカレントプロセス
ステータスブロックのユーザプロセス用退避エリアを初
期化しくステップ#124)、最後にリクエストベクタ
のユーザプロセスのビットをセットする(ステップ#1
26)。ユーザプロセス解除コードの場合は、USBR
Fフラグを0として(ステップ412B)、この後、リ
クエストベクタのユーザプロセスのビットをリセットす
る(ステップ#129)。
マタ、ユーザテストパターンを無効にするためニUSE
RTEST 7ラグを”0″にする(ステップ#145
)。
RTEST 7ラグを”0″にする(ステップ#145
)。
テストプリントのユーザプロセス印字エリアに書き込も
・情報の指定はユーザプロセステストプリントデータ登
録コマンドで行なう。このコマンドでパラメータの値に
よって印字する情報を設定できるようになっている。こ
のコマンドが受は付けられたとき (ステップ#139
でYES)は、そのパラメータを解析しくステップ#1
40)、パラメータで指定されたエンジンステータスデ
ータを入力(ステップ#141)した後、テストプリン
トのユーザプロセス印字エリアに書き込む情報の仮編集
を行ったデータをシステムRAM 307上のユーザテ
ストパターン登録エリア(第28図参照)に書き込む(
ステップ#142)。
・情報の指定はユーザプロセステストプリントデータ登
録コマンドで行なう。このコマンドでパラメータの値に
よって印字する情報を設定できるようになっている。こ
のコマンドが受は付けられたとき (ステップ#139
でYES)は、そのパラメータを解析しくステップ#1
40)、パラメータで指定されたエンジンステータスデ
ータを入力(ステップ#141)した後、テストプリン
トのユーザプロセス印字エリアに書き込む情報の仮編集
を行ったデータをシステムRAM 307上のユーザテ
ストパターン登録エリア(第28図参照)に書き込む(
ステップ#142)。
さらにテストプリント時にユーザテストパターンを有効
にするフラグll5ERTESTを1″にする。
にするフラグll5ERTESTを1″にする。
(ステップ#144 )。
第19図はパケットプロセスの処理を示すフロー・チャ
ートである。
ートである。
まず電源が投入されると(ステップ#2QO)、BM−
1?AMのイメージエリアをクリアしくステップ#20
2)、制御フラグを初期化する(ステップ# 203)
。
1?AMのイメージエリアをクリアしくステップ#20
2)、制御フラグを初期化する(ステップ# 203)
。
具体的には、プリント状態を示すJOBACTをクリア
し、叶−RAMへの描画状態を示すB肚RITEをクリ
アし、同一枚数のコピー枚数を示すcopyを1にセッ
トし、同一枚数のコピー枚数を計算するCC0UNTを
1にセットする。
し、叶−RAMへの描画状態を示すB肚RITEをクリ
アし、同一枚数のコピー枚数を示すcopyを1にセッ
トし、同一枚数のコピー枚数を計算するCC0UNTを
1にセットする。
この後、主ループに入るが、主ループの行なう処理は、
中間コードの解析とBM −RAMへの描画(ステップ
#212〜ステップ#215)と、・プリント・シーケ
ンス制御(ステップ#205〜ステップ#211)とが
ある。データの流れは次のようになる。まず、排紙条件
フラグであるJQBACTが1のときは、プリント・シ
ーケンス(ステップ#20B 、ステップ;#211)
に入る。
#212〜ステップ#215)と、・プリント・シーケ
ンス制御(ステップ#205〜ステップ#211)とが
ある。データの流れは次のようになる。まず、排紙条件
フラグであるJQBACTが1のときは、プリント・シ
ーケンス(ステップ#20B 、ステップ;#211)
に入る。
また、JOBACTが1でないときはFIFOから中間
コードが有ることをチエツクして(ステップ#213)
中間コード処理が行われる。
コードが有ることをチエツクして(ステップ#213)
中間コード処理が行われる。
ここでプリントシーケンスに入るとき (ステップ#
205)とFIFO内のパケットデータが無くなったと
き(ステップ#215)は、下位のプロセスに実行を移
すために第21図のJOBOUT処理2を実行する(ス
テップ# 230)。処理内容パケットプロセスのビッ
トをリセット (ステップ#231)することである。
205)とFIFO内のパケットデータが無くなったと
き(ステップ#215)は、下位のプロセスに実行を移
すために第21図のJOBOUT処理2を実行する(ス
テップ# 230)。処理内容パケットプロセスのビッ
トをリセット (ステップ#231)することである。
このとき最下位のプロセスにリクエストフラグが立って
いるので、最上位であるパケットプロセスがリクエスト
フラグを落とすことによりスケジューラは最下位プロセ
スに実行を移す。このようにパケットプロセスは優先順
位が最上位となるのでプログラムが待ちの状態となるが
(ステップ#205の場合)、実行不能になる(ステッ
プ#215の場合)ときのみ下位プロセスへ処理を移す
。
いるので、最上位であるパケットプロセスがリクエスト
フラグを落とすことによりスケジューラは最下位プロセ
スに実行を移す。このようにパケットプロセスは優先順
位が最上位となるのでプログラムが待ちの状態となるが
(ステップ#205の場合)、実行不能になる(ステッ
プ#215の場合)ときのみ下位プロセスへ処理を移す
。
〔中間コード処理とプリント・シーケンス制御3次に、
FIFOに蓄えられた中間コードの処理フローを、第2
2図(a)、 (b)に示す。
FIFOに蓄えられた中間コードの処理フローを、第2
2図(a)、 (b)に示す。
ここでは、主に中間コードに応じたBM −RAMへの
描画と、プリント・エンジン部へのコマンド出力などの
シーケンス制御を行なう。
描画と、プリント・エンジン部へのコマンド出力などの
シーケンス制御を行なう。
まず、印字データの場合(ステップ#303でYES)
は、中間コードをフォント・イメージ書込部へ(ステッ
プ#304)、グラフィックの場合(ステップ#310
でN)はグラフィック・イメージ書込部へ出力(ステッ
プ#311)する。
は、中間コードをフォント・イメージ書込部へ(ステッ
プ#304)、グラフィックの場合(ステップ#310
でN)はグラフィック・イメージ書込部へ出力(ステッ
プ#311)する。
もし初めてのデータを書込む場合(BM−WRITEフ
ラグ=0)(ステップ#305でYES)、BM−WR
ITEフラグを1としくステップ# 306)、プリン
トエンジン4に対して給紙等の準備を先行させるための
ペーパの先出しコマンドPFCMD ラインターフエー
ス制御部40に出力する (ステップ930B)。これ
によりビットマツプ方式データ処理装置3のプリント準
備が終了すれば、感光体へのレーザ露光が直ちに可能と
なり、給紙時間に相当してスループットが向上する。
ラグ=0)(ステップ#305でYES)、BM−WR
ITEフラグを1としくステップ# 306)、プリン
トエンジン4に対して給紙等の準備を先行させるための
ペーパの先出しコマンドPFCMD ラインターフエー
ス制御部40に出力する (ステップ930B)。これ
によりビットマツプ方式データ処理装置3のプリント準
備が終了すれば、感光体へのレーザ露光が直ちに可能と
なり、給紙時間に相当してスループットが向上する。
IFC関連コードや及びJOBSTART D−ドは、
IFCへ出力される(ステップ#312〜ステップ#3
13)。
IFCへ出力される(ステップ#312〜ステップ#3
13)。
コピー枚数設定の場合(ステップ#319)は、コピー
枚数copy更新すル(ステップ# 320)。FIF
O305からビットマツプ書込部31への出力は、中間
コードデータがある限り順次行われるが、PAGE E
JECTコードを検出すると(ステップ#315でYE
S)、1ペ一ジ分の信号変換が終了したのでプリント動
作に入る。まず、コピー枚数copyをカウントするた
めのCC0UNTフラグに設定されているコピー枚数を
セットし、プリント起動処理に入る(ステップ#317
) (第23図)。プリント起動処理では、プリント処
理に入ったことを示すJOBAC?フラグをセットしく
ステップ#401)プリントヘッド制御部インターフェ
ースをプリント可能状態にしくステップ#402)、イ
ンターフェース制御部40にプリントコマンドPRNC
M口を出力する (ステップ# 403)。
枚数copy更新すル(ステップ# 320)。FIF
O305からビットマツプ書込部31への出力は、中間
コードデータがある限り順次行われるが、PAGE E
JECTコードを検出すると(ステップ#315でYE
S)、1ペ一ジ分の信号変換が終了したのでプリント動
作に入る。まず、コピー枚数copyをカウントするた
めのCC0UNTフラグに設定されているコピー枚数を
セットし、プリント起動処理に入る(ステップ#317
) (第23図)。プリント起動処理では、プリント処
理に入ったことを示すJOBAC?フラグをセットしく
ステップ#401)プリントヘッド制御部インターフェ
ースをプリント可能状態にしくステップ#402)、イ
ンターフェース制御部40にプリントコマンドPRNC
M口を出力する (ステップ# 403)。
これにより、プリントヘッド制御部インターフェース3
15では、プリントヘッド制御部42の制御回路から送
られてくるパルスに同期してBM −RAMのデータを
バスB4を通じて出力する。
15では、プリントヘッド制御部42の制御回路から送
られてくるパルスに同期してBM −RAMのデータを
バスB4を通じて出力する。
プリントが終了すると、まだJOBACTフラグがセッ
トされているため第19図のステップ#204からステ
ップ#205へ進み、ステップ#206でインターフェ
ース制御部40からの露光終了コマンドEXPENDの
割り込み待ちとなる。EXPI!NO受信の割り込み処
理は第24図に示すように、[!I”ENDフラグをセ
ットしリクエストベクタのパケットプロセスのビットを
リセットする。 I!XPt!NOを検出するとEPE
NDフラグが1となりループを抜けて同一イメージのコ
ピー制御を行なう(ステップ#208〜ステップ#21
1)。
トされているため第19図のステップ#204からステ
ップ#205へ進み、ステップ#206でインターフェ
ース制御部40からの露光終了コマンドEXPENDの
割り込み待ちとなる。EXPI!NO受信の割り込み処
理は第24図に示すように、[!I”ENDフラグをセ
ットしリクエストベクタのパケットプロセスのビットを
リセットする。 I!XPt!NOを検出するとEPE
NDフラグが1となりループを抜けて同一イメージのコ
ピー制御を行なう(ステップ#208〜ステップ#21
1)。
まず、コピー枚数カウンタCC0UNTを減算しくステ
ップ1208)、所定枚数のコピーが終了したかチエツ
クする(ステップ#209)。終了の場合はプリント起
動処理に入る(第20図)。ここでは、次のイメージの
描画のためBM −RAMをクリアし、ステップ#24
1 、プリント状態解除のためJOBAC?フラグをリ
セットしくステップ#242)、BM〜RAMへの描画
状態を示す8?’1WRITEのクリアを行なう (ス
テップ#243)、コピー未終了の場合は再び、同一イ
メージでプリントを開始する(ステップ#211)。
ップ1208)、所定枚数のコピーが終了したかチエツ
クする(ステップ#209)。終了の場合はプリント起
動処理に入る(第20図)。ここでは、次のイメージの
描画のためBM −RAMをクリアし、ステップ#24
1 、プリント状態解除のためJOBAC?フラグをリ
セットしくステップ#242)、BM〜RAMへの描画
状態を示す8?’1WRITEのクリアを行なう (ス
テップ#243)、コピー未終了の場合は再び、同一イ
メージでプリントを開始する(ステップ#211)。
第25図はユーザプロセスの処理例を示すものである。
ユーザプロセス自体は対応するプロトコルによっていく
つかのプログラムが存在するが、基本的な形態はこのよ
うになっている。特に、(ステップ#490. #49
1. #501〜#503. #507. #510)
のステップは各ユーザプロセスで共通化しておかないと
他プロセスとの対応が取れなくなる。
つかのプログラムが存在するが、基本的な形態はこのよ
うになっている。特に、(ステップ#490. #49
1. #501〜#503. #507. #510)
のステップは各ユーザプロセスで共通化しておかないと
他プロセスとの対応が取れなくなる。
まず、起動時にはユーザプロセスの初期化を行ない(#
470 ) 、ユーザテストパターンの登録データをホ
ストプロセスへ送る。次にトバッファにデータが有るこ
とをチエツクしくステップ#501)、その後にOR−
バッファの空きをチエツクする (ステップ#502)
、 FIR−バッファの空きがないときは(ステップ
#502でNo)、 ホストプロセスの起動要求をリクエストベクタによって
行ない(ステップ#510)、UR−バッファに空きを
作るようにする。
470 ) 、ユーザテストパターンの登録データをホ
ストプロセスへ送る。次にトバッファにデータが有るこ
とをチエツクしくステップ#501)、その後にOR−
バッファの空きをチエツクする (ステップ#502)
、 FIR−バッファの空きがないときは(ステップ
#502でNo)、 ホストプロセスの起動要求をリクエストベクタによって
行ない(ステップ#510)、UR−バッファに空きを
作るようにする。
Uトバッファの空きがあるときは(ステップ#502で
Y[!S)、R−バッファよりデータを取り込み(ステ
ップ#503)、プロトコル変換処理(ステップ#50
4〜#506. #50B、 #509)を行なう。
Y[!S)、R−バッファよりデータを取り込み(ステ
ップ#503)、プロトコル変換処理(ステップ#50
4〜#506. #50B、 #509)を行なう。
ユーザプロセス指定コードの場合(ステップ#511で
YES)は、描画中のデータがある場合排紙させるため
にページイジェクトコードを送り (ステップ#512
)、ユーザプロセス指定コードをそのままUR−バッフ
ァ306へ送る(ステップ#513)。この後、上位プ
ロセスのリクエストベクタのビットをセットしくステッ
プ#51.3)、エミュレーションベクタをユーザプロ
セス指定コードのパラメータで指定されたプロセスの値
にセットする(ステップ#515)。さらに前のユーザ
プロセスの残りデータを処理するためにUSERWAI
Tをセットする(ステップ#516)。そしてスケジュ
ーラの割り込み待ちとなる(ステップ#517)。
YES)は、描画中のデータがある場合排紙させるため
にページイジェクトコードを送り (ステップ#512
)、ユーザプロセス指定コードをそのままUR−バッフ
ァ306へ送る(ステップ#513)。この後、上位プ
ロセスのリクエストベクタのビットをセットしくステッ
プ#51.3)、エミュレーションベクタをユーザプロ
セス指定コードのパラメータで指定されたプロセスの値
にセットする(ステップ#515)。さらに前のユーザ
プロセスの残りデータを処理するためにUSERWAI
Tをセットする(ステップ#516)。そしてスケジュ
ーラの割り込み待ちとなる(ステップ#517)。
USERWAITはホストプロセス61と共通フラグと
なっていてこのフラグがセットされるとホストプロセス
65がOR−バッファ306内のデータを処理してしま
うまで指定のユーザプロセスが実行されず誤動作を防ぐ
。
なっていてこのフラグがセットされるとホストプロセス
65がOR−バッファ306内のデータを処理してしま
うまで指定のユーザプロセスが実行されず誤動作を防ぐ
。
これらのプロセスの切り替えタイミングの例を示したの
が第26図である。このように、定期的なタイマー割り
込みによってスケジューラが起動されるが、プロセスが
切り替わるのは各プロセスの実行放棄条件が満たされた
ときである。
が第26図である。このように、定期的なタイマー割り
込みによってスケジューラが起動されるが、プロセスが
切り替わるのは各プロセスの実行放棄条件が満たされた
ときである。
以上の如き本発明装置による場合はエミュレーションソ
フトウェアの実行時に、これに必要な情報をテスト印写
することが可能である。なお上述の実施例では印写エリ
アは印写部固有のテストプリントパターンの一部を用い
るのでプリンタの動作に必要な情報(通信形態、フォン
ト情報等)は共通であり、印写情報の人力は必要最少限
の作業で済む。またこの入力情報はホストプロセス時に
コマンドで自由に設定できるので本発明は、エミュレー
ションソフトウェアの種類に拘らず通用できる。
フトウェアの実行時に、これに必要な情報をテスト印写
することが可能である。なお上述の実施例では印写エリ
アは印写部固有のテストプリントパターンの一部を用い
るのでプリンタの動作に必要な情報(通信形態、フォン
ト情報等)は共通であり、印写情報の人力は必要最少限
の作業で済む。またこの入力情報はホストプロセス時に
コマンドで自由に設定できるので本発明は、エミュレー
ションソフトウェアの種類に拘らず通用できる。
更に上述の実施例では印写部固有のプロトコルと一致す
るプロトコルでデータ送受を行なうデータ処理装置との
間でのみならず、異プロトコルのデータ処理装置との間
でもデータ送受が可能であることは勿論、ハードウェア
操作を行なうことなくデータ処理装置側からの信号でプ
リンタ側のプロトコルを切換えることができ、従って操
作性が向上することは勿論、多数の異プロトコルのデー
タ処理装置で1台のプリッタを共用することが可能とな
る。
るプロトコルでデータ送受を行なうデータ処理装置との
間でのみならず、異プロトコルのデータ処理装置との間
でもデータ送受が可能であることは勿論、ハードウェア
操作を行なうことなくデータ処理装置側からの信号でプ
リンタ側のプロトコルを切換えることができ、従って操
作性が向上することは勿論、多数の異プロトコルのデー
タ処理装置で1台のプリッタを共用することが可能とな
る。
第1図は本発明のプリンタの構成図、第2図はプリンタ
の外観を示す斜視図、第3図は表示パネルの詳細を示す
正面図、第4図はプリンタの制御回路要部のブロック図
、第5図は本発明のビットマツプ制御部の構成を示すブ
ロック図、第6図は本発明装置のソフトウェアの構成を
示す概念図、第7図はシステムRAMの構成を示す概念
図、第8図は受信データの流れを示すブロック図、第9
図はビットマツプ書込部の詳細ブロック図、第10図は
イメージエリアの説明図、第11図はスタートプロセス
を示すフローチャート、第12図はタイマー割り込みに
よって起動されるスケジューラを示すフローチャート、
第13図はホストプロセスの動きを示すフローチャート
、第14図はJOBOUT処理lの内処理水すフローチ
ャート、第15図は受信データの処理手順を示すフロー
チャート、第16図はPAG[!EJECT装置の手順
を示すフローチャート、第17図は書式制御コードの処
理手順を示すフローチャート、第18図は受信データの
割り込み処理を示すフローチャート、第19図はパケッ
トプロセスの処理を示すフローチャート、第20図はプ
リント起動処理を示すフローチャート、第21図はJO
BOIIT処理2を示すフローチャート、第22図は中
間コード処理を示すフローチャート、第23図はプリン
ト起動処理を示すフローチャート、第24図はEXPE
ND受信割り込み処理を示すフローチャート、第25図
はユーザプロセスを示すフローチャート、第26図はプ
ロセスの切り替えタイミングの例を示すタイムチャート
、第27図はテストプリントの処理手順を示すフローチ
ャート、第28図はデータ処理装置からの送信データの
1例を示すフォーマット図である。 61・・・タイマー割り込み 62・・・スケジューラ
63・・・スタートプロセス 64・・・パケットプロ
セス65・・・ホストプロセス 66・・・ユーザプロ
セス簗 1 図 特 許 出願人 ミノルタカメラ株式会社代理人 弁理
士 河 野 登 夫弔 図 第 図 第 図 弔 図 第 図 冒 図 スクリューラ 第 図 第 図 #160 第 図 第 図 第 図 簗 22 (b) 図 #400 図 #420 第 図 弔 図
の外観を示す斜視図、第3図は表示パネルの詳細を示す
正面図、第4図はプリンタの制御回路要部のブロック図
、第5図は本発明のビットマツプ制御部の構成を示すブ
ロック図、第6図は本発明装置のソフトウェアの構成を
示す概念図、第7図はシステムRAMの構成を示す概念
図、第8図は受信データの流れを示すブロック図、第9
図はビットマツプ書込部の詳細ブロック図、第10図は
イメージエリアの説明図、第11図はスタートプロセス
を示すフローチャート、第12図はタイマー割り込みに
よって起動されるスケジューラを示すフローチャート、
第13図はホストプロセスの動きを示すフローチャート
、第14図はJOBOUT処理lの内処理水すフローチ
ャート、第15図は受信データの処理手順を示すフロー
チャート、第16図はPAG[!EJECT装置の手順
を示すフローチャート、第17図は書式制御コードの処
理手順を示すフローチャート、第18図は受信データの
割り込み処理を示すフローチャート、第19図はパケッ
トプロセスの処理を示すフローチャート、第20図はプ
リント起動処理を示すフローチャート、第21図はJO
BOIIT処理2を示すフローチャート、第22図は中
間コード処理を示すフローチャート、第23図はプリン
ト起動処理を示すフローチャート、第24図はEXPE
ND受信割り込み処理を示すフローチャート、第25図
はユーザプロセスを示すフローチャート、第26図はプ
ロセスの切り替えタイミングの例を示すタイムチャート
、第27図はテストプリントの処理手順を示すフローチ
ャート、第28図はデータ処理装置からの送信データの
1例を示すフォーマット図である。 61・・・タイマー割り込み 62・・・スケジューラ
63・・・スタートプロセス 64・・・パケットプロ
セス65・・・ホストプロセス 66・・・ユーザプロ
セス簗 1 図 特 許 出願人 ミノルタカメラ株式会社代理人 弁理
士 河 野 登 夫弔 図 第 図 第 図 弔 図 第 図 冒 図 スクリューラ 第 図 第 図 #160 第 図 第 図 第 図 簗 22 (b) 図 #400 図 #420 第 図 弔 図
Claims (1)
- 【特許請求の範囲】 1、所定操作により所定の情報を印写するテスト印写手
段を備える印写部と、該印写部によって印写されるデー
タを与えるデータ処理装置との間に介装され、印写部の
動作の制御を司るプリンタ制御装置において、 前記印写部の動作を制御するためのプログ ラム複数を格納するメモリと、 前記データ処理装置から与えられた所定信 号に応答して、前記メモリに格納された任意のプログラ
ムを起動するプログラム起動手段と、 前記データ処理装置からの指令により、前 記テスト印写手段によって印写すべき情報の一部を設定
しておく情報設定手段と を具備することを特徴とするプリンタ制御 装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63171480A JPH0221324A (ja) | 1988-07-08 | 1988-07-08 | プリンタ制御装置 |
| US07/335,503 US5036476A (en) | 1988-04-08 | 1989-04-10 | Printer control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63171480A JPH0221324A (ja) | 1988-07-08 | 1988-07-08 | プリンタ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0221324A true JPH0221324A (ja) | 1990-01-24 |
Family
ID=15923886
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63171480A Pending JPH0221324A (ja) | 1988-04-08 | 1988-07-08 | プリンタ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0221324A (ja) |
-
1988
- 1988-07-08 JP JP63171480A patent/JPH0221324A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5978557A (en) | Printing device control apparatus and method | |
| JPH064234A (ja) | プリンタ制御方法およびその制御システム | |
| US6760120B2 (en) | Printing device control apparatus and method | |
| US5018081A (en) | Printer with automatic restart | |
| JPH01174453A (ja) | プリンタ制御装置 | |
| JPH02150378A (ja) | プリンタ制御装置 | |
| JPH0221324A (ja) | プリンタ制御装置 | |
| JP2687408B2 (ja) | プリンタ制御装置 | |
| JP2737983B2 (ja) | 印写装置及び印写装置の状態を表示する表示装置 | |
| JP3114935B2 (ja) | プリンタ | |
| JP3166156B2 (ja) | プリンタ制御装置 | |
| JP3126367B2 (ja) | プリンタ制御装置 | |
| JPS63231957A (ja) | プリンタ制御装置 | |
| JP2737983C (ja) | ||
| JP2001096818A (ja) | 印刷データ生成方法及び装置 | |
| JP2745514B2 (ja) | プリンタ制御装置 | |
| JP3048575B2 (ja) | プリンタ制御装置 | |
| JP2715433B2 (ja) | プリンタ | |
| JP2982007B2 (ja) | 表示装置 | |
| JPH02120060A (ja) | プリンタ制御装置 | |
| JPS63251246A (ja) | デ−タ記憶装置 | |
| JPH044172A (ja) | プリンタ制御装置 | |
| JPH10193748A (ja) | 情報処理方法及びシステム並びに記憶媒体 | |
| JPS63250728A (ja) | プリンタ制御装置 | |
| JP3419117B2 (ja) | プリンタ |