(57)【要約】【課題】バッファオーバーフローのときでも失われるコマンドを最小限に抑えつつコマンドを再構成できるサブ基板を備える遊技機を提供する。【解決手段】メイン基板からの第１電文及び第２電文を受信した順番で格納するＦＩＦＯバッファと、前記ＦＩＦＯバッファから読み出した前記第１電文及び前記第２電文に基づきコマンドを構築するコマンド構築部と、前記コマンド構築部で構築したコマンドを格納するコマンド登録用バッファと、予め定められた間隔で前記コマンド構築部に対して割り込み信号を与えるタイマーと、前記ＦＩＦＯバッファが満杯になったときにセットされるオーバーランフラグと、前記コマンド構築部が前記コマンドを構築する際に参照する参照テーブルとを備える。【選択図】図６
2011092346.tif 000002
【特許請求の範囲】
【請求項１】
内部抽選処理を含む遊技に係る制御を実行する制御部と、前記制御部で生成したコマンドに基づき所定の処理を実行する副制御部とを備える遊技機において、
前記コマンドは、電文の開始を示す第１電文とこれに続く第２電文とを含むものであり、
前記制御部は、前記副制御部に実行させる処理に対応して前記第１電文を生成し、前記第１電文に対応して前記第２電文を生成し、前記第１電文及び前記第２電文をこの順番で前記副制御部へ送信するコマンド送信部を含み、
前記副制御部は、
前記制御部からの前記第１電文及び前記第２電文を受信した順番で格納するＦＩＦＯバッファと、
前記ＦＩＦＯバッファから読み出した前記第１電文及び前記第２電文に基づきコマンドを構築するコマンド構築部と、
前記コマンド構築部で構築したコマンドを格納するコマンド登録用バッファと、
予め定められた間隔で前記コマンド構築部に対して割り込み信号を与えるタイマーと、
前記ＦＩＦＯバッファが満杯になったときにセットされるオーバーランフラグと、
前記コマンド構築部が前記コマンドを構築する際に参照する参照テーブルとを備えるコマンド受信部を含み、
前記コマンド構築部は、前記ＦＩＦＯバッファが満杯でないときは、前記タイマーからの前記割り込み信号に基づき下記（Ｎ１）乃至（Ｎ３）の処理を実行し、
（Ｎ１）前記ＦＩＦＯバッファに格納されている前記第１電文及び前記第２電文を読み出し、
（Ｎ２）読み出した前記第１電文及び前記第２電文に基づきコマンドを構築し、
（Ｎ３）構築したコマンドを前記コマンド登録用バッファに格納し、
前記ＦＩＦＯバッファが満杯になったときは、予め定められた受信ブレイク割り込みが発生し、
前記コマンド構築部は、前記受信ブレイク割り込みを受けて下記（Ｆ１）乃至（Ｆ７）の処理を実行することを特徴とする遊技機。
（Ｆ１）前記制御部から前記コマンドを受信しないように、前記オーバーランフラグをセットし、
（Ｆ２）前記ＦＩＦＯバッファに格納されている前記第１電文及び前記第２電文を読み出し、
（Ｆ３）読み出した前記第１電文及び前記第２電文に基づきコマンドを構築し、
（Ｆ４）前記参照テーブルを参照して、コマンドが正しく構築できたかどうか判定し、
（Ｆ５）コマンドが正しく構築できたと判定したときは、構築したコマンドを前記コマンド登録用バッファに格納し、
（Ｆ６）コマンドが正しく構築できなかったと判定したときは、構築したコマンドを破棄し、
（Ｆ７）前記制御部から前記コマンドの受信を再開するように、前記オーバーランフラグをリセットする。
【請求項２】
前記副制御部は、前記オーバーランフラグを監視するオーバーランフラグ監視部を含み、
前記ＦＩＦＯバッファが満杯になったときは、前記オーバーランフラグがセットされ、
前記オーバーランフラグ監視部が前記オーバーランフラグのセットを検知したときは、前記コマンド構築部は、前記受信ブレイク割り込みの発生の有無にかかわらず、前記（Ｆ２）乃至前記（Ｆ７）の処理を実行することを特徴とする請求項１記載の遊技機。
【請求項３】
前記コマンド構築部は、前記（Ｆ７）において前記オーバーランフラグをリセットした後に受信した最初の電文を、当該電文が前記第１電文又は前記第２電文いずれであっても、前記第１電文として扱うことを特徴とする請求項１又は請求項２記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ機やスロットマシンなどの遊技機に関し、特に、制御部（メイン基板）から副制御部（サブ基板）へのコマンドの通信手段に関するものである。
【背景技術】
【０００２】
遊技機設置営業店などにおいて設置されている弾球遊技機（いわゆるパチンコ機）は、遊技球（遊技媒体とも呼ぶ）を用いて遊技を行うものである。借り受けた遊技球を弾球遊技機の遊技盤に設けられている盤面へ打ち出し、当該遊技球が予め定められた入賞口に入るごとに所定数の遊技球を払出すようになっている。払い出される遊技球は賞球と呼ばれる。
【０００３】
弾球遊技機の盤面に設けられている入賞口には次のようなものがある。
（１）普通入賞装置
（２）スタートチャッカー（始動入賞装置）
（３）アタッカー（大入賞装置）
（４）スルーチャッカー（入賞チャッカー）
【０００４】
スタートチャッカー（始動入賞装置）は特定入賞装置とも呼ばれる。遊球球がスタートチャッカー（始動入賞装置）に受け入れられて入賞状態になったとき、賞球を払い出すとともに電子的な抽選を行い、当選の場合に通常状態から遊技者にとって有利な遊技状態となるよう、アタッカー（大入賞装置）を開放状態にするものである。
アタッカー（大入賞装置）は特別入賞装置とも呼ばれる。
【０００５】
スルーチャッカー（入賞チャッカー）は直接賞球を払い出すものではないが、本明細書において入賞口に含める。遊技球がスルーチャッカー（入賞チャッカー）を通過したことが検知されたとき、電子的な抽選を行い、当選したときは遊技者にとって有利な遊技状態となるよう、スタートチャッカー（始動入賞装置）を所定時間開放し、遊技球がスタートチャッカー（始動入賞装置）に入りやすくする。スルーチャッカー（入賞チャッカー）に受け入れられた遊技球はそのまま盤面を移動し、他の入賞口又は次に説明する排出口（アウト口）に受け入れられる。
【０００６】
弾球遊技機の盤面には、前記入賞口以外にも排出口（アウト口）が設けられている。排出口（アウト口）は、盤面に遊技領域を区画するために螺旋状に配置された誘導レールの下部（重力によって遊技球が集められる個所）に設けられた開口であり、前記入賞口（正確には普通入賞装置、スタートチャッカー（始動入賞装置）、アタッカー（大入賞装置））のいずれにも受け入れられなかった遊技球を受け入れて、盤面の外へ排出するためのものである。
【０００７】
パチンコ店などの遊技場に設置して使用されるパチンコ機等の遊技機は、パチンコ球等の遊技媒体に一定の価値が与えられて、ゲームを行って獲得した遊技媒体を種々の景品に交換することができる。遊技機には、その筐体内部に、遊技媒体の供給に基づいて作動させるランプ装置や音声発生装置などの様々な各種駆動装置及びこれら駆動装置を制御させるために対応させた制御回路装置（制御部と副制御部）を備えており、遊技者が遊技を行う際にこれらを適宜作動させることによって遊技を興趣に溢れたものとしている。また、近年では、所定の識別情報（図柄）を変動表示し得る液晶画像表示装置等の図柄可変表示装置を内蔵し、所定条件を満たしたときに識別情報を変動させた後に停止表示させるように図柄可変表示装置を作動させるものが主流となっている。このような制御は、主に遊技処理を実行する制御部から、主に演出処理を実行する副制御部へ予め定められたコマンドを送信することで実現されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
遊技機を規制する法令上、制御部（メイン基板）から副制御部（サブ基板）へのコマンドの流れは一方通行であり、逆に副制御部から制御部ヘコマンドを含む信号を送ることは許されていない。
【０００９】
当該コマンドの伝送には、従来、パラレル伝送方式が用いられていたが、最近ではシリアル送信方式を採用するケースもある。シリアル通信は、パラレル通信と比較して高速にデータを転送することができ、これに対応してデータの取りこぼしが発生しないように、ＦＩＦＯ型バッファを備えることが多い。ＦＩＦＯとは、先入れ先出し（first-in first-out）のことであり、最初に格納されたデータが最初に取り出されるようなバッファ、すなわち時間的にもっとも古いデータが優先的に取り出されるようなバッファである。
【００１０】
ＦＩＦＯ型バッファは公知であるが、簡単に説明を加える。ＦＩＦＯ型バッファは、例えば、複数のＤ型ラッチを直列に接続するようにして構成される。接続されるラッチの数の多い方が、より多くのデータを格納することができる。ラッチの数を段数と呼ぶことがある。ＦＩＦＯ型バッファは段数分だけデータを格納できる。入力側のラッチに入力されたデータは自動的に出力側へ移動して、順番に取り出される。データが取り出されない場合でも、ＦＩＦＯ型バッファは段数分だけデータを格納できる。データが入力されているにもかかわらずデータが取り出されず、その結果、全ての段にデータが格納された状態になると、もはやデータを受け取ること（格納すること）ができなくなる。これをＦＩＦＯフル（ＦＩＦＯ満杯）であると呼ぶ。
【００１１】
制御部から複数の電文からなるコマンドを送信する場合、副制御部において何らかの原因でＦＩＦＯフルとなると、言い換えるとＦＩＦＯバッファがオーバーフローすると、送信されたデータはバッファに格納されず、その結果当該データは失われることになる。このため、副制御部はコマンドの受信に失敗することになる。
【００１２】
その後、副制御部が電文を正しく受信したとしても、それら電文からコマンドを再構築する際に電文の順序が入れ違ってしまう可能性がある。また、コマンドの体系によっては電文を誤った形で結合する可能性がある。
【００１３】
コマンド受信の失敗後、任意にコマンドの再構成を行って、意味のある一連のコマンドが得られた時点以降において（言い換えれば、問題となるデータを除外した状態で）、再構成したコマンドのみを有効にすれば、コマンドの再受信が可能になる。
【００１４】
しかし、このやり方では、受信失敗から有効コマンド再構築までの間に受信された電文は破棄されることになる。つまり、多くのコマンドが失われることになる。その間、副制御部は、演出などの処理を実行できないことになる。これでは、遊技者の興趣を損なうことになる。
【００１５】
そこで、本発明は、バッファオーバーフローのために副制御部でコマンドの受信に失敗した場合でも、速やかにコマンドの再受信を可能にするとともに、その間に失われるコマンドを最小限に抑えることのできる遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１６】
この発明は、内部抽選処理を含む遊技に係る制御を実行する制御部と、前記制御部で生成したコマンドに基づき所定の処理を実行する副制御部とを備える遊技機において、
前記コマンドは、電文の開始を示す第１電文とこれに続く第２電文とを含むものであり、
前記制御部は、前記副制御部に実行させる処理に対応して前記第１電文を生成し、前記第１電文に対応して前記第２電文を生成し、前記第１電文及び前記第２電文をこの順番で前記副制御部へ送信するコマンド送信部を含み、
前記副制御部は、
前記制御部からの前記第１電文及び前記第２電文を受信した順番で格納するＦＩＦＯバッファと、
前記ＦＩＦＯバッファから読み出した前記第１電文及び前記第２電文に基づきコマンドを構築するコマンド構築部と、
前記コマンド構築部で構築したコマンドを格納するコマンド登録用バッファと、
予め定められた間隔で前記コマンド構築部に対して割り込み信号を与えるタイマーと、
前記ＦＩＦＯバッファが満杯になったときにセットされるオーバーランフラグと、
前記コマンド構築部が前記コマンドを構築する際に参照する参照テーブルとを備えるコマンド受信部を含み、
前記コマンド構築部は、前記ＦＩＦＯバッファが満杯でないときは、前記タイマーからの前記割り込み信号に基づき下記（Ｎ１）乃至（Ｎ３）の処理を実行し、
（Ｎ１）前記ＦＩＦＯバッファに格納されている前記第１電文及び前記第２電文を読み出し、
（Ｎ２）読み出した前記第１電文及び前記第２電文に基づきコマンドを構築し、
（Ｎ３）構築したコマンドを前記コマンド登録用バッファに格納し、
前記ＦＩＦＯバッファが満杯になったときは、予め定められた受信ブレイク割り込みが発生し、
前記コマンド構築部は、前記受信ブレイク割り込みを受けて下記（Ｆ１）乃至（Ｆ７）の処理を実行するものである。
（Ｆ１）前記制御部から前記コマンドを受信しないように、前記オーバーランフラグをセットし、
（Ｆ２）前記ＦＩＦＯバッファに格納されている前記第１電文及び前記第２電文を読み出し、
（Ｆ３）読み出した前記第１電文及び前記第２電文に基づきコマンドを構築し、
（Ｆ４）前記参照テーブルを参照して、コマンドが正しく構築できたかどうか判定し、
（Ｆ５）コマンドが正しく構築できたと判定したときは、構築したコマンドを前記コマンド登録用バッファに格納し、
（Ｆ６）コマンドが正しく構築できなかったと判定したときは、構築したコマンドを破棄し、
（Ｆ７）前記制御部から前記コマンドの受信を再開するように、前記オーバーランフラグをリセットする。
【００１７】
前記副制御部は、前記オーバーランフラグを監視するオーバーランフラグ監視部を含み、
前記ＦＩＦＯバッファが満杯になったときは、前記オーバーランフラグがセットされ、
前記オーバーランフラグ監視部が前記オーバーランフラグのセットを検知したときは、前記コマンド構築部は、前記受信ブレイク割り込みの発生の有無にかかわらず、前記（Ｆ２）乃至前記（Ｆ７）の処理を実行する、ようにしてもよい。
【００１８】
前記コマンド構築部は、前記（Ｆ７）において前記オーバーランフラグをリセットした後に受信した最初の電文を、当該電文が前記第１電文又は前記第２電文いずれであっても、前記第１電文として扱うようにしてもよい。
【発明の効果】
【００１９】
本発明によれば、バッファオーバーフローのために副制御部でコマンドの受信に失敗した場合でも、速やかにコマンドの再受信を可能にするとともに、その間に失われるコマンドを最小限に抑えるができる。
【図面の簡単な説明】
【００２０】
【図１】遊技機の表面構造を示す斜視図である。
【図２】遊技機の裏面構造を示す斜視図である。
【図３】遊技者から見た盤面の様子を示す図（正面図）である。
【図４】発明の実施の形態に係る遊技機の機能ブロック図である。
【図５】発明の実施の形態に係るコマンド生成処理フローチャートと、第１電文・第２電文の説明図である。
【図６】発明の実施の形態に係るコマンド受信部の機能ブロック図である。
【図７】発明の実施の形態に係るタイマ割り込みによる処理（通常時の処理）のフローチャートである。
【図８】発明の実施の形態に係る通常時の処理の説明図である。
【図９】発明の実施の形態に係る受信ブレイク割り込みによる処理（異常時の処理）のフローチャートである。
【図１０】発明の実施の形態に係る異常時の処理の説明図である。
【図１１】発明の実施の形態に係る異常時の処理の説明図である。
【図１２】発明の実施の形態に係るオーバーランフラグがセットされたときの処理（異常時の処理）のフローチャートである。
【図１３】発明の実施の形態に係るオーバーランフラグがクリアされたときの処理フローチャートである。
【発明を実施するための形態】
【００２１】
弾球遊技機の構造概略について図１及び図２を参照して説明を加える。
まず、図１を参照して本発明の実施の形態に係る遊技機の外部的構造につき説明する。
外枠５０は、遊技機設置営業店に設けられた設置場所（島設備など）へと固定させるための縦長方形状からなる木製の枠部材である。
本体部材５１は、外枠５０の内部に備えられ、ヒンジ部５１ａを介して外枠に回動自在に装着された縦長方形状の遊技機基軸体となる部材である。この本体部材５１は、枠状に形成されその内側に空間部を有している。
開口枠扉５２は、遊技機の前面側となる前記本体部材５１の前面に、ロック機能付きで且つ開閉自在となるように装着され、枠状に構成されることでその内側を開口部とした扉部材である。
なお、開口枠扉５２の開口部にガラス製又は樹脂製からなる透明板部材が設けられ、開口部近傍に電飾５２ａ、スピーカ５２ｂ、などが取り付けられている。
後述する遊技盤（図１では示していない）は、本体部材５１の空間部に臨むように、本体部材５１に所定の固定部材を用いて着脱自在に装着されている。遊技盤の本体部材５１への装着後は、その遊技領域を前記開口部より観察することができる。
【００２２】
球受皿付き扉５３は、遊技機前面において本体部材５１の下部に、ロック機能付きで且つ開閉自在となるように装着され、遊技球を貯留する球受皿を少なくとも備えた扉部材である。なお、本実施形態における球受皿付き扉には、以下の部材が取り付けられている。
（1）複数の遊技球が貯留可能で且つ発射駆動装置４８へと遊技球を案内させる通路が設けられた球受皿。
（2）該貯留され発射駆動装置４８へと案内された遊技球を前記遊技盤１０の盤面１１に設けられた遊技領域へと打出す操作を行う回動式操作ハンドル４８ｂ。
（3）ブリペイドカード読込み処理関係及び借り受ける遊技球の貸出し処理関係の指示をするボタンを備えた球貸し関係の操作部。
（4）球受皿に貯留させた遊技球を遊技球収集容器（俗称、ドル箱）へと排出解除するための球受皿用の貯留球排出操作ボタン。
【００２３】
次に、図２を参照して本発明の実施の形態に係る遊技機の内部的構成を説明する。
４０は、前述したように、本体部材５１若しくは遊技盤１１又はこれらに備え付けられる支持部材などを介して設けられ、電気的な遊技制御の処理を行い主要な処理情報を生成する制御部である。
４０ｂは、前記本体部材５１若しくは遊技盤１１又はこれらに備え付けられる支持部材などを介して設けられ、前記制御部４０にて生成した処理情報を得ることにより所定の出力態様処理をさせる制御を行う副制御部である。
４２は、賞球の払い出し制御を行う払出制御部である。
４３は、遊技球を払い出す遊技球払出装置である。
４４は、図示しないランプや電飾５２ａを制御する電飾制御部である。
４６は、スピーカ５２ｂを制御駆動して音響を発生させる音響制御部である。
４９は発射駆動装置４８を制御する制御装置であって、回動式操作ハンドル４８ｂを介して遊技球を盤面に設けられた遊技領域へと打出し制御を行うための発射制御装置である。
【００２４】
図３は遊技機の遊技盤の正面図である。
図３において、１１は遊技盤１０の盤面である。盤面１１は、誘導レール１２と、誘導レール１２で区画された略円形の遊技領域を落下した遊技球を外部へ導く排出口（アウト口）１３と、遊技領域を移動する遊技球の方向を変化せしめる釘１４や風車１４ａなどの障害物を複数個備える矩形の盤面である。
【００２５】
前述した盤面１１の遊技領域は、誘導レール１２（遊技球を滑走させる滑走部と遊技球を規制する規制部を含む）により略円形状となるように区画形成され、打出された遊技球の移動範囲を規制する領域である。前記滑走部に規制部が続くように設けられている。前記滑走部は全体として螺旋をなして盤面１１に配設されている。
【００２６】
前記排出口（アウト口）１３は、遊技領域に投入された遊技球が集束する位置に設けられた回収開口部である。
【００２７】
障害物１４としての遊技釘は、遊技球と接触させることにより移動方向を不規則にし、又は移動方向を規制するために、盤面１１の適宜な位置に打込まれる複数の棒状部材である。
【００２８】
３０ａは、遊技領域の中央やや上側に設けられ、演出用表示ランプやＬＣＤ（液晶表示装置）などの可変表示部をひとつ又は複数有する可変表示装置（センター役物）である。
３０ｂは、スルーチャッカー（入賞チャッカー）である。
３０ｃは、普通入賞口を有する普通入賞装置である。
３０ｄは、始動入賞口を有するスタートチャッカー（始動入賞装置）である。
３０ｅは、大入賞口を有するアタッカーである。
以下の説明で、３０ｂ乃至３０ｄをまとめて入賞口３０などと記すことがある。
なお、図示されていないが、上記３０ｂ、３０ｃ、３０ｄの内部には球通過検出器２０ｂ、２０ｃ、２０ｄが設けられている（同図の括弧内の符号はそのことを意味する）。
【００２９】
スタートチャッカー３０ｄの始動入賞装置は特定入賞装置と、アタッカー３０ｅの大入賞装置は特別入賞装置とも呼ばれる。
スタートチャッカー（始動入賞装置）３０ｄは、入賞口の開口範囲の拡縮を行わせる可動片をその両側に備え、遊技球を入賞させることにより可変表示を行わせると共に賞球を遊技者に獲得させる入賞装置である。
アタッカー（大入賞装置）３０ｅは、入賞口を露出させる開口状態と入賞口を閉鎖する閉口状態となる可動扉が駆動制御されるものであり、遊技球を入賞させることにより他の入賞装置と比較してより多くの賞球を獲得させる入賞装置である。
【００３０】
図４は本発明の実施の形態に係る遊技機の機能ブロック図である。
４０は、電気的な遊技制御の処理を行い主要な処理情報を生成する制御部（「メイン基板」とも呼ばれる）である。制御部４０は遊技領域を移動（流下）して入賞口３０ｂ〜３０ｄを通過した遊技球をそれぞれ検出する球通過検出器２０ｂ〜２０ｄの信号を入力とし、入賞口３０ｂ〜３０ｄの遊技球通過に応じた抽選・判定を行う入賞判定部４０ａを含む。さらに、コマンドを生成して副制御部４０ｂへ送信するコマンド送信部ＴＸを含む。
【００３１】
４１は可変表示装置（センター役物）３０ａの演出用表示ランプを点灯させる表示制御部である。表示制御部４１は、入賞判定部４０ａにおける所定条件の成立（例えば、予め定められた通過口ヘの遊技球の通過）に基づく電子的な当否抽選の結果に応じて、識別点灯情報（可変表示装置（センター役物）３０ａの演出用表示ランプに点灯表示される）を可変表示させた後に停止表示を行う表示制御装置である。
【００３２】
なお、制御部４０に設けられた入賞判定部４０ａにおける所定条件の成立（例えば、始動入賞装置３０ｄヘの遊技球の入賞等）に基づく電子的な当否抽選の結果に応じて、液晶表示装置ＬＣＤにその識別表示情報が可変表示される（抽選結果に応じてその演出内容が変わる）。これは、制御部４０から抽選結果（あるいはこれに対応する演出コマンド）を副制御部４０ｂへ送り、当該抽選結果を受けた副制御部４０ｂが当該抽選結果に対応する画像を生成し、これを液晶表示装置ＬＣＤで表示することで実行される。可変表示装置（センター役物）３０ａのＬＣＤは、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。スタートチャッカー（始動入賞装置）３０ｄを遊技球が通過したことが検出されると、表示される図柄が所定時間だけ変動し、遊技球のスタートチャッカー（始動入賞装置）３０ｄの通過時点において抽選された抽選用乱数値により決定される停止図柄をＬＣＤに表示して停止するようになっている。
【００３３】
アタッカー３０ｅは、前方に開放可能な開閉板を備える。ＬＣＤの変動停止後の図柄が「７７７」などの当り図柄のとき、「大当り」と称する特別遊技が開始され、アタッカー３０ｅの開閉板が予め定めた回数だけ開放されるようになっている。アタッカー３０ｅの開閉板が開放された後、所定時間が経過し、又は所定数の遊技球が入賞すると開閉板が閉じる。
【００３４】
４２は、入賞判定部４０ａの信号を受けて入賞口３０ｂ〜３０ｄの遊技球通過に応じた及び／又はこれによる抽選・判定の結果に応じた遊技球払出装置４３を制御する払出制御部である。
４３は、遊技利益として入賞口３０ｂ〜３０ｄの遊技球通過に応じた及び／又はこれによる抽選・判定の結果に応じた所定数の遊技球を払出す駆動源を備えた遊技球払出装置である。
【００３５】
遊技球が遊技領域に設けられた入賞装置３０ｂ〜３０ｄには、それぞれ内部に球通過検出器（例えばスイッチ）２０ｂ〜２０ｄが設けられ、遊技球の通過を検出できるようになっている。いずれかの入賞装置３０ｂ〜３０ｄの位置を通過すると、これを球通過検出器２０ｂ〜２０ｄが検出し、これを受けて入賞判定部４０ａが所定の抽選・判定処理を行う。例えば、球通過検出器２０ｂがスルーチャッカー（入賞チャッカー）３０ｂを通過した遊技球を検知したとき、所定の抽選を行い、当選したときはスタートチャッカー（始動入賞装置）３０ｄを所定時間開放する。すなわち、スタートチャッカー（始動入賞装置）３０ｄの左右両側に互いに対向して設けられた一対の可動片を、それぞれ外側へ開放させる。併せて当選の旨を可変表示装置（センター役物）３０ａに表示する。そして、遊技球がスタートチャッカー（始動入賞装置）３０ｄを通過したことを検知したとき、所定の抽選を行い、当選したときはアタッカー３０ｅの大入賞装置を開放する。
【００３６】
４０ｂは、制御部４０にて生成した処理情報を得ることにより、光の点滅・音響の発生などの演出を含む所定の出力態様処理をさせる制御を行う副制御部（「サブ基板」とも呼ばれる）である。副制御部４０ｂは、ＣＰＵ，ＲＯＭ，ＲＡＭ及び液晶表示装置ＬＣＤに表示する画像を生成するＶＤＰ（ビデオディスプレイプロセッサ）を含む。副制御部４０ｂからの出力信号は、ランプ制御部４４、音響制御部４６及び可動体制御部４７などの周辺基板へ送られる。また、副制御部４０ｂは、遊技者が操作する演出ボタンＥＳＷから信号を受け付ける（図１において、演出ボタンＥＳＷの表示は省略している）。
【００３７】
副制御部４０ｂは、制御部４０からのコマンドを受信するコマンド受信部ＲＸを備える。コマンド受信部ＲＸは、例えば、シリアル通信用ＩＣ、バッファ（ＦＩＦＯを含む）及びこれらハードウエアを動作させるためのプログラムからなる。当該プログラムに従って副制御部４０ｂのＣＰＵなどが動作し、シリアル通信用ＩＣを制御し、バッファからデータを読み出すことで、コマンド受信部ＲＸは実現される。
【００３８】
４４は、遊技盤１０あるいは遊技機筐体に設けられたランプ・電飾５２ａなどを点灯制御するための電飾制御部である。
【００３９】
４６は、遊技盤１０あるいは遊技機筐体に設けられたスピーカ５２ｂを通じて効果音・音声を発生させる音響制御部である。
【００４０】
４７は、遊技盤１０に設けられた可動体５２ｃを制御する可動体制御部である。
可動体５２ｃとは、遊技盤１０上に打ち出された遊技球の落下動作に変化を与える障害物であって、副制御部４０ｂの処理によって状態が変化するものである（図３において可動体５２ｃの表示は省略している）。可動体５２ｃは、例えば、通常状態とこれと異なる状態の２つを相互に行き来するものである。可動体とは、例えば、平板状、円柱状、円盤状、凹凸を有する歯車状、等のものである。なお、図示しないが可動体５２ｃを駆動するための動力部を備える。可動体制御部４７は、実際には、当該動力部を駆動する。動力部は、例えば、モータ、ソレノイドなどの電力又は磁力を用いた駆動装置又は駆動源を備えた制御装置などである。
【００４１】
液晶表示装置ＬＣＤ及びランプ・電飾５２ａ、スピーカ５２ｂ、可動体５２ｃは、遊技者の視覚や聴覚に訴える演出を行うための演出デバイスである。また、ランプ制御部４４、音響制御部４６、可動体制御部４７は、前記デバイスを駆動制御するデバイスであり、その内部に演出処理用のＩＣを内蔵している。副制御部４０ｂに内蔵されるＶＤＰも駆動制御用のデバイスである。以下の説明において、液晶表示装置ＬＣＤなどの上記演出デバイスを駆動制御する、ランプ制御部４４、音響制御部４６、可動体制御部４７及びＶＤＰを演出デバイス制御部と呼ぶことにする（なお、演出デバイスと演出制御デバイスと併せて指すときに「演出デバイス」という用語を用いることがある）。なお、ランプ制御部４４、音響制御部４６、可動体制御部４７を、ＶＤＰのように副制御部４０ｂに内蔵してもよい。
【００４２】
演出ボタンＥＳＷは、遊技者によって押下操作されるものであり、押下することで液晶表示装置ＬＣＤに表示される演出画像の態様を変化させ、遊技者に対して遊技への参加意識を高めるとともに、興趣を高めるようにしたものである。例えば、演出ボタンＥＳＷの操作に連動して液晶表示装置ＬＣＤに表示される演出画像を選択することができる。
【００４３】
副制御部４０ｂは、前述のようにＣＰＵ，ＲＯＭ，ＲＡＭ及びＶＤＰを含む。複数のビット（配線）からなる図示しないＢＵＳに、ＣＰＵ（処理部）、ＲＯＭ（不揮発性記憶部、メモリ）、ＲＡＭ（読み出し及び書き込み可能な記憶部、メモリ）、ＶＤＰ及び図示しないＩ／Ｏ（入出力装置）が接続されている。副制御部４０ｂで実行される遊技に係る処理は、ＲＯＭに予め記憶されたプログラムに従ってＣＰＵが動作することで実行される。ＣＰＵは、処理を行う際に各種データをＲＡＭに記憶させ、必要に応じて読み出し、処理を行い、必要に応じて再度記憶する、といった処理を行う。ＲＡＭはバッテリバックアップを受けていることがあり、この場合は電源断の間でもその記憶内容は保持されている。
【００４４】
副制御部４０ｂは、主制御部４０から演出コマンドを受信し、これに基づき液晶表示装置ＬＣＤ、ランプ・電飾５２ａ、スピーカ５２ｂ、可動体５２ｃ、演出ボタンＥＳＷなどの制御を行うものである。
【００４５】
コマンド送信部ＴＸ及びコマンド受信部ＲＸについて説明を加える。
図５（ａ）は、コマンド送信部ＴＸが実行する処理のフローチャート、同図（ｂ）はコマンド送信部ＴＸが生成するコマンドの説明図である。
【００４６】
コマンド送信部ＴＸが生成するコマンドは複数の電文からなる。最初の電文は開始電文、最後の電文は終端電文、これらに挟まれた電文は途中電文と呼ばれる。図５（ｂ）は２つの電文、つまり第１電文と第２電文からなるコマンドの例を示す。これは最も簡単な構成であり、図６以降の説明ではもっぱら図５（ｂ）の２つの電文、つまり第１電文と第２電文からなるコマンドを例に取り説明を加える。なお、途中電文を含み３つ以上の電文からなるコマンドについても本発明の実施の形態を適用することができ、その手順は変わらない。
【００４７】
同図（ｂ）の例では、各電文は８ビット（１バイト）のデータであり、その先頭ビット（ＭＳＢ）が１であるときは第１電文を意味し、０であるときは第１電文以外の第２電文などを意味する。これらは例えば次のような意義を有する。第１電文はコマンドの最初の電文であることを意味すると共に、副制御部４０ｂに実行させる処理を識別するための情報などを意味する。第２電文は、第１電文に縦続するコマンドであることを意味すると共に、副制御部４０ｂが実行すべき処理の内容を具体的に指定する。例えば、第１電文で液晶表示装置に関するコマンドであること（液晶表示装置に対して所定の処理を実行させるコマンドであること）を意味するとき、第２電文は液晶表示装置に表示すべき具体的な画像（演出）の種類を指定するものである。したがって、第１電文と第２電文が、その順番で正しく揃って初めてコマンドとして意味をもつ。仮に一方が失われると残りの電文は意味を持たず副制御部４０ｂは何ら動作を行わないか、仮に動作しても意図したような動作にはならない。第１電文と第２電文の順序が入れ替わった場合も同様である。また、複数のコマンド、コマンド１とコマンド２を受けたとして、その中間部分が欠落して、コマンド１の第１電文とコマンド２の第２電文とが結合した場合も、予め意図した動作は期待できない。
【００４８】
先頭ビットにより第１電文かそれとも第２電文かは判別できる。しかし、コマンド受信部ＲＸの図示しない通信用ＩＣで受信する際に先頭ビットは使用されるが、その後にＦＩＦＯバッファに電文を格納する際に先頭ビットは削除されるので、ＦＩＦＯバッファに格納されたデータそのものからは第１電文と第２電文を区別することができない。ただし、ＦＩＦＯバッファには先頭ビットに基づき正しい順番で格納されるので、その順序が狂うことはない。言い換えれば、ＦＩＦＯに格納されている電文の順序が正しいことは、保証されている。これに対して、ＦＩＦＯから読み出してコマンドを構築する際には電文の順序が狂うことがある（この点は後にさらに説明を加える）。
【００４９】
図５（ａ）を参照して、コマンド送信部ＴＸのコマンド生成処理について説明を加える。同図のフローチャートにより１つのコマンドが生成される。
【００５０】
制御部４０のＣＰＵが動作していて、副制御部４０ｂに演出等を実行させる必要が生じ、そのためのコマンドを生成するときに、当該ＣＰＵは図５（ａ）の処理を実行する。
【００５１】
Ｓ１：第１電文を生成する。
制御部４０のＣＰＵは、必要とされた演出等の動作に対応する第１電文を生成する。当該動作と第１電文の関係は予め定められていて、例えばテーブルの形式でメモリ（ＲＯＭ）に格納されている。制御部４０のＣＰＵは当該メモリを検索して、必要な処理に対応する第１電文を決定する。
【００５２】
Ｓ２：第２電文以降の電文を生成するために、電文の数を設定する。
コマンドが第１電文とひとつの第２電文とからなるときは、第２電文の数＝１、ｋ＝１とする（ｋは電文の数をカウントするためのパラメータ）。同様に、第１電文と２つの第２電文からなるときは、第２電文の数＝２とする。上記テーブルにおいて、第１電文とこれに対応する電文の数を予め格納しておけば、コマンド毎に電文の数を変えることもできる。
【００５３】
Ｓ３：第２電文を生成する。
第１電文が決まれば、これに続く第２電文は所定のものに限定される。例えば、実行する演出の種類によって第２電文は選択される。例えば、上記テーブルにおいて、第１電文と、これに対応して選択可能な複数の第２電文（例えば第２ａ電文、第２ｂ電文、・・・）が予め定義されていて、制御部４０のＣＰＵは、必要とされた演出等の動作に対応して複数の第２電文からいずれかを選択する（例えば第２ａ電文を選択して、これを第２電文とする）。第３電文以降についても同様である。
【００５４】
Ｓ４：電文生成終了したかどうか判定する。
具体的には、ｋが予め定められた電文の数（上記テーブルを参照して選択された演出等の動作に対応する電文の数）に達したら、Ｓ４でＹＥＳとなる。Ｓ４でＮＯの場合は、ｋをｋ＋１として（Ｓ６）、次の電文の生成を行う。
【００５５】
Ｓ５：第１電文及び第２電文を送信する。
上記手順により生成された第１電文及び第２電文をまとめて、一つのコマンドとして副制御部４０ｂへ向けて送信する。第１電文及び第２電文は連続して送信されるので、一つのコマンドに他のコマンドの電文が混じることはない。
【００５６】
次に、コマンド受信部ＲＸについて説明を加える。
図６は、コマンド受信部ＲＸの機能ブロック図である。なお、通信用ＩＣの表示は省略している。
【００５７】
Ｒ１は、制御部４０から受信したコマンド、つまり電文１、電文２（以下では、コマンドは電文１と電文２の２つからなるものとする）を受信した順番で格納しているＦＩＦＯバッファである。前述のように、ＦＩＦＯバッファＲ１からは、書き込んだ順番でデータを読み出すことができる。ＦＩＦＯバッファＲ１は、データを全部読み出したときに、その全てが自動的にクリアされるような機構を備えることが好ましい。例えば、ＦＩＦＯバッファＲ１が空（エンプティ）になったときにその旨を示す信号を外部へ出力するとともに、当該信号でバッファの各ラッチをクリアするようにする。また、ＦＩＦＯバッファＲ１は、ＦＩＦＯフルを示す信号を外部へ出力するものとする。
【００５８】
なお、ＦＩＦＯバッファＲ１のことを、単に「ＦＩＦＯ」と記すことがある。
【００５９】
Ｒ２は、ＦＩＦＯバッファＲ１から読み出した電文１、電文２からコマンドを構築するコマンド構築部である。
【００６０】
Ｒ３は、コマンド構築部Ｒ２で構築されたコマンドを格納する正式コマンド登録用バッファである。ここに格納されているコマンドは、副制御部４０ｂのＣＰＵやＶＤＰに所定の演出を実行させることができるものである。
【００６１】
Ｒ４は、予め定められた間隔でコマンド構築部Ｒ２に対して割り込み信号を与えるタイマーである。
【００６２】
Ｒ５は、ＦＩＦＯバッファＲ１がオーバーフローしたとき（ＦＩＦＯフルになったとき）にセットされるオーバーランフラグである。このフラグは、例えばＣＰＵのレジスタあるいはメモリで予め指定された領域（番地）であるが、当該フラグをどこにどのように構成するかは任意である。ＦＩＦＯバッファＲ１がフルになると受信ブレイク割り込みが発生する。例えば、ＦＩＦＯバッファＲ１フルをＣＰＵあるいは他のＩＣが受けて、受信ブレイク割り込みを発生する（要するに、副制御部４０ｂが受信ブレイク割り込みを発生する）。受信ブレイク割り込みが発生すると、オーバーランフラグがセットされる。コマンド構築部Ｒ２が所定の処理を実行すると（後述）、オーバーランフラグがリセットされる。また、オーバーランフラグがセットされた状態では、通信用ＩＣは制御部４０からのコマンド、すなわち第１電文、第２電文を受信しない。
【００６３】
Ｒ６は、コマンド構築部Ｒ２がコマンドを構築する際に参照する参照テーブルである。参照テーブルＲ６は、正しい電文１と電文２の組み合わせが予め格納されている。例えば、参照テーブルＲ６において、ｘｘｈという電文１に対応する電文２としてａａｈ、ｂｂｈが定義されているとする（ｈは１６進数を意味する）。コマンド構築部Ｒ２でｘｘｈ＋ａａｈというコマンドを構築したとき、参照テーブルＲ６を参照することで、これは正しいコマンドであることが分かる。これに対し、ｘｘｈ＋ｃｃｈというコマンドになったら、これらは参照テーブルＲ６に定義されていない組み合わせであるから、当該コマンドは不正であることが分かる。
【００６４】
コマンド構築部Ｒ２やタイマーＲ４は、ＣＰＵが所定のプログラムを実行することで実現されるが、これらをＩＣなどのハードウエアで実現することもできる。参照テーブルＲ６は、メモリ（ＲＯＭ）でテーブルの形式あるいはプログラム上で定義されている。
【００６５】
なお、図６において、点線で示されているオーバーランフラグ監視部Ｒ７については、後述する。
【００６６】
図７は、コマンド受信部ＲＸの通常時の処理を示す。通常時とは、ＦＩＦＯフルが発生していない状態、すなわち、コマンドの受信とともにその読み出しが実行されることでＦＩＦＯバッファＲ１の中のバッファ（ラッチ）が全部埋まらない状態を言う。
【００６７】
Ｓ１０Ａ：正式コマンド登録用バッファＲ３へ構築したコマンドを保存する際、コマンド受信に関する上位割り込みの発生を禁止する。
上位割り込みとは、図７の処理よりも優先して実行される割り込み処理あるいはその契機となる割り込みのことである。上位割り込みが発生すると、ＣＰＵは、図７の処理を中段して、当該割り込みで指示された処理を実行する。当該割り込みに係る処理で、正式コマンド登録用バッファＲ３へコマンドに係る電文の書き込むようなことがあると、意図したような電文の書き込みを行うことができないおそれがある。例えば、図７の処理で電文１を正式コマンド登録用バッファＲ３に書き込もうとしたときに、上位割り込みが発生し、（電文１を書き込む前に）当該割り込みで指示された処理において電文２が書き込まれるということがあり得る。この場合、正式コマンド登録用バッファＲ３には、電文２、電文１という順番で書き込まれることになるが、これは不正なコマンドであり、副制御部４０ｂの動作がおかしくなるおそれがある。正しいコマンドは、電文１、電文２の順番である。このような不都合を避けるために、ここで上位割り込みを禁止している。
【００６８】
Ｓ１０Ｂ：ＦＩＦＯバッファＲ１に格納されている制御部４０からのコマンドを全部読み込む。
【００６９】
前述のようにＦＩＦＯバッファＲ１には、受信の順番でコマンドに係る電文１及び電文２が格納されているから、その順番にしたがって各電文を読み出す。なお、ＦＩＦＯの特性上、その出力端から順番に読み出せば、読み出した電文は受信の順番になる。
【００７０】
ＦＩＦＯバッファＲ１の読み出しが行われるのは、タイマーＲ４のタイミングである。タイマーＲ４は一定時間毎に信号（パルス）を出力するから、当該信号を受けてコマンド構築部Ｒ２が各電文を読み出す。タイマーＲ４の設定時間を短くすれば読み出しは頻繁に行われることになり、したがってＦＩＦＯフルになる可能性は低くなるが、反面、ＣＰＵの処理負荷が増える。これに対し、設定時間を長くすればＦＩＦＯフルになる可能性は高くなるが、ＣＰＵの処理負荷を減らすことができる。本発明の実施の形態では、後述の異常時の処理によりコマンドを極力再現できるから、従来に比べてある程度設定時間を長くすることが可能である。
【００７１】
全てのコマンドの読み出しが完了すると、ＦＩＦＯバッファＲ１は空になる。
【００７２】
なお、ＦＩＦＯバッファＲ１が、データ読み出し時に自動でクリアが行われないようであれば、ＦＩＦＯバッファＲ１をクリアするようにしてもよい。
【００７３】
Ｓ１１：コマンド構築部Ｒ２でコマンドを構築する。
Ｓ１０Ｂで読み出した電文は、電文１、電文２のように順番になっているから、当該順番にしたがってコマンドを構築する。単純には、電文１と電文２をまとめてひとつのコマンドとする。これを順番に繰り返す。ＦＩＦＯバッファＲ１に電文１ａ、電文２ａ、電文１ｂ、電文２ｂ、・・・のように正しい順番で格納されているのであれば、順番に電文１ａ＋電文２ａ＝コマンドａ、電文１ｂ＋電文２ｂ＝コマンドｂ、・・・というように構築すれば、正しいコマンドを構築できる。通常の処理においては、後述のように一部の電文が欠落することはないから、問題は生じない。
【００７４】
なお、この際に、念のため、参照テーブルＲ６を参照してコマンドが間違っていないかどうか判定するようにしてもよい。
【００７５】
上位割り込みとして、受信ブレイク割り込みがある。受信ブレイク割り込みについては、後述する。
【００７６】
Ｓ１３：構築したコマンドを正式コマンド登録用バッファＲ３の所定の領域に格納する。
Ｓ１１で、電文１と電文２をまとめてひとつのコマンドとされたものを正式コマンド登録用バッファＲ３の所定の領域に格納する。
【００７７】
なお、この際に、参照テーブルＲ６を参照してコマンドが間違っていないかどうか判定するようにしてもよい。
【００７８】
Ｓ１４：読み込んだ電文の全てについてコマンドを構築するまで、Ｓ１１乃至Ｓ１３の処理を繰り返す。
【００７９】
図８は、通常受信時の処理の説明図である。
制御部４０からのコマンド（同図中の「ｘｘｈ」）はＦＩＦＯに順番に格納される。１回のポーリングで確認するバイト数（データ数）は４バイトである。
【００８０】
ポーリングとは、一定期間のタイミングでＦＩＦＯを監視する方式である。これとは異なる方式として、ＦＩＦＯフル割り込み方式がある。これは、所定数のデータを受信したことを契機に割り込みを発生させることでデータを受信するやり方である。ＦＩＦＯフル割り込み方式では、所定数のデータ受信ごとに割り込みが発生するので、設定された所定数によっては頻繁に割り込みが生じ、その結果、処理負荷が高くなる可能性がある。これに対し、ポーリング方式によれば、割り込みは一定時間毎にしか発生しないから、前記のような問題は生じない。その代わり、次の読み出しタイミングになる前にＦＩＦＯフルになると、受信データに欠落が生じることになる。本発明の実施の形態では、後述の処理により受信データ欠落の影響を最小限にしている。
【００８１】
制御部４０から送信される電文は、ハードウエアにて受信を自動的に行い、ＦＩＦＯに空きがある場合は順次ＦＩＦＯに蓄積される。
【００８２】
通常受信処理では、ステージ割り込み（タイマ割り込み）を利用してＦＩＦＯに蓄積されているデータを取り出し、メインコマンドの構築処理及びコマンドバッファへの登録処理を行う。１回の割り込み処理にてＦＩＦＯに蓄積されているデータを取り出すバイト数は、ＦＩＦＯに蓄積されている４バイトのデータである。
【００８３】
図９は、コマンド受信部ＲＸの異常時の処理を示す。異常時とは、ＦＩＦＯフルが発生した状態、すなわち、ＦＩＦＯバッファＲ１が受信したコマンドで一杯となり、もしコマンドを新たに受信しときＦＩＦＯバッファＲ１に格納できない状態を言う。新たに受信したコマンドは失われる。
【００８４】
図９の処理は、ＦＩＦＯフルが発生したことを契機として実行される。ＦＩＦＯバッファＲ１は全てのバッファ（ラッチ）にデータが書き込まれたことを示すフラグあるいは信号端子を備えている。当該フラグあるいは信号を受けて受信ブレイク割り込みが発生し、ＣＰＵは図９の処理を開始する。
【００８５】
Ｓ２０：オーバーランフラグをセットする。
ＦＩＦＯフルの状態でコマンドの受信を再開させないためである。受信ブレイク割り込みの発生後は、オーバーランフラグをクリアしない限り再受信できない。
【００８６】
Ｓ２１：ＦＩＦＯバッファＲ１に格納されている、制御部４０からのコマンドを全部読み込む。
前述のＳ１０Ｂと同様の処理である。
【００８７】
Ｓ２２：コマンド構築部Ｒ２でコマンドを構築する。
前述のＳ１１と同様の処理である。
【００８８】
ただし、受信ブレイク割り込みが発生したということはＦＩＦＯフルであり、受信したコマンドが破棄されて失われた可能性がある。これを前提に可能な限りコマンドを構築する。この際、既に電文の１要素として受信出来ていた内容も、コマンド構築の要素として含める。
【００８９】
Ｓ２３：コマンド構築できたかどうか判定する。
上述したように、受信したコマンドが失われた可能性があるから、構築できたコマンドが不正である可能性がある。例えば、コマンド送信部ＴＸが、コマンドａ＝電文１ａ＋電文２ａとコマンドｂ＝電文１ｂ＋電文２ｂを送信したが、コマンド受信部ＲＸで、ＦＩＦＯフルのために電文２ｂが失われたとすると、コマンド構築部Ｒ２で構築した結果、コマンドｂ＝電文１ｂとなる可能性がある。
【００９０】
そこで、コマンド構築部Ｒ２は、参照テーブルＲ４を参照して、構築したコマンドが正しいか、それとも不正かを判定する。上記例で、コマンドｂ＝電文１ｂ＋電文２ｂがコマンドｂ＝電文１ｂとなった場合、参照テーブルＲ４を参照して、電文１ｂが電文２を必要としないコマンドであるかどうは調べ、電文２を必要とする場合は不正なコマンドであると判断する（Ｓ２３でＮＯ）。上記例で、コマンドｂ＝電文１ｂ＋電文２ｂがコマンドｂ＝電文２ａ＋電文１ｂとなった場合、参照テーブルＲ４を参照して、正しい電文１と電文２の組み合わせであるかどうか判定する。例えば、電文２ａがｘｘｈであり、電文１ｂがｃｃｈである場合、参照テーブルＲ６においてｘｘｈという電文１に対応する電文２としてａａｈ、ｂｂｈが定義されているが、ｘｘｈ＋ｃｃｈは定義されていないから、コマンドｂ＝ｘｘｈ＋ｃｃｈは、不正なコマンドであると判断する（Ｓ２３でＮＯ）。
【００９１】
Ｓ２４：正式コマンド登録用バッファＲ３へ構築したコマンドを保存する際、コマンド受信に関する上位割り込みの発生を禁止する。
前述のＳ１０Ａと同様の処理である。
【００９２】
Ｓ２５：構築したコマンドを正式コマンド登録用バッファＲ３の所定の領域に格納する。
前述のＳ１３と同様の処理である。
【００９３】
Ｓ２６：Ｓ２３で構築できないと判定されたものは（Ｓ２３でＮＯ）、破棄する。
例えば、コマンド体系の点で矛盾するコマンド、無意味なコマンドになる電文１と電文２の組み合わせは、破棄される。
【００９４】
Ｓ２７：読み込んだ電文の全てについてコマンドを構築するまで、Ｓ２２乃至Ｓ２６の処理を繰り返す。
前述のＳ１４と同様の処理である。
【００９５】
Ｓ２８：オーバーランフラグをリセット（クリア）する。
これにより、コマンドの再受信が可能にある。これ以降は通常の受信処理を行う。
【００９６】
図１０は、受信ブレイク割り込み処理（異常時受信処理）の説明図である。
ＦＩＦＯが一杯になった状態でコマンドを受けて、コマンドを取りこぼす（図１０（ａ）の符号Ｘ）。ここで、受信ブレイク割り込みが発生する。
【００９７】
受信ブレイク割り込みでＦＩＦＯの読み出しを行う。コマンドは電文によって区切られるため、一度、電文構築用テンポラリに展開後に完成データを蓄積する。
【００９８】
受信ブレイク割り込み発生時、継続するコマンドをテンポラリに展開した場合、復帰後のコマンドと結合して、意図しないコマンドが完成することがある。もし、受信再開後に符号ＸのＮｏ．２−第２電文とＮｏ．３−第１電文を受信したとすると（Ｎｏ２−第１電文は欠落している）、図１０（ｂ）の符号Ｙに示すような不正なコマンドが構築される。
【００９９】
受信ブレイク割り込み発生以前においてＦＩＦＯに蓄積された情報は、正常なデータとなるため、できる限りコマンドとして構築しなければならない。ただし、前述のように電文の途中となり得るデータを保持した状態のままにしておくと、後続の電文と結合して本来の役割と異なるメインコマンドが生成される可能性が高い。このため、本割り込み処理では下記のように対応する。
【０１００】
（１）ＦＩＦＯのデータを読み出し、できる限りメインコマンドの構築を行う。
【０１０１】
（２）ＦＩＦＯのデータが存在しなくなった時点で、電文構築用に残っている電文は破棄する（コマンド受信漏れが発生する）。
【０１０２】
（３）割り込み解除後の処理として、必ず電文1から受信するようにする。
【０１０３】
なお、上記割り込み発生時は、オーバーランフラグがセットされてコマンドを受信しないようになっているため、ＦＩＦＯ読み出し中に異なる電文が結合することはない。
【０１０４】
ステージ割り込み発生時に受信ブレイク割り込みが発生した場合、タイミングによってはＦＩＦＯからのデータの取り出しに矛盾が生じ、メインコマンドが正常に受信できないことがある、ことを述べた。図１１はその説明図である。
【０１０５】
（１）ステージ割り込みによりＦＩＦＯからデータ（第１電文）を取得する。
【０１０６】
（２）受信ブレイク割り込みが発生する。
【０１０７】
（３）これにより処理権が移動し、ＦＩＦＯバッファからデータ（第２電文）を取得し、コマンド格納エリアに保存まで実行する。この結果、第２電文が先に書き込まれる。
【０１０８】
（４）上記（１）〜（３）により、電文の前後関係が変更されコマンド序列が崩れる。
【０１０９】
上記不都合をなくすため、コマンド受信処理全般において、ＦＩＦＯ取得から正式コマンド登録用バッファへのデータ保存に係る処理を実行している期間では、コマンド受信に関する上位割り込みの発生を禁止している。
【０１１０】
割り込み禁止時は、優先レベルの高い受信ブレイク処理は行えないが、本処理自体が各割り込み処理と同一の役割を果たすために、問題とはならない。
【０１１１】
また、受信ブレイク時はＦＩＦＯ内のコマンドに正当性を保てない箇所が発生することになるが、受信ブレイク発生後はフラグをクリアしない限り再受信ができない構造になっているため、整合性をクリアしてから受信動作を再開させている。
【０１１２】
なお、受信ブレイク割り込みとともに、あるいはそれに代えてオーバーランフラグ監視処理を行い、バッファオーバーフローを検知したときに、異常時の処理を行うようにしてもよい。オーバーランフラグがセットされたときに、何らかの事情で受信ブレイク割り込みが発生せず、図９を含めたオーバーフローに関連する処理を実行できない場合は、コマンドの整合性が一切保てなくなる。オーバーランフラグ監視処理を行えば、このような問題を解決することができる。
【０１１３】
オーバーランフラグ監視処理は、例えば、タイマーなどの出力に基づき、あるいは特定の処理を行う際に、オーバーランフラグＲ５をチェックするものである。図６において、タイマーＲ４に代えて、あるいはこれとともにオーバーランフラグＲ５を監視するオーバーランフラグ監視部Ｒ７が設けられる。オーバーランフラグ監視部Ｒ７は、図９の処理では必要ない。図６の点線はそのような意味である。オーバーランフラグＲ５がセットされていたら、図１２の処理を実行する。
【０１１４】
図１２は、Ｓ２０：オーバーランフラグをセットする、を備えない点を除き、図９と同じである。
【０１１５】
なお、オーバーランフラグのクリア後の再受信において、図１３に示すように、受信直後のデータは必ず電文１として扱う。これは、バッファーオーバーラン発生時に受信データを取りこぼしている可能性があり、他の意味を持つ電文との結合を防ぐ役割がある。仮に電文２とすると、コマンド構築部Ｒ２により他の電文に結合されたり、ＣＰＵやＶＤＰにより、正式コマンド登録用バッファＲ３に格納した他の電文１又は電文２と誤って結合して解釈されるおそれがある。
【０１１６】
本発明の実施の形態によれば、正式コマンド登録用バッファへ保存する際、コマンド受信に関する上位割り込みの発生を禁止するとともに、ＦＩＦＯバッファのデータを読み込みつつコマンドを構築し、その後にオーバーランフラグのクリアを行うことにより、速やかにコマンドの再受信を可能にするとともに、その間に失われるコマンドを最小限にすることができる。
【０１１７】
また、受信ブレイク割り込みの復帰時に第１電文からの受信と限定することで、その後に発生しるコマンドの構築を誤ることを防ぐことが出来る。
【０１１８】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【０１１９】
４０    制御部
４０ｂ  副制御部
ＲＸ    コマンド受信部
Ｒ１    ＦＩＦＯバッファ
Ｒ２    コマンド構築部
Ｒ３    正式コマンド登録用バッファ（コマンド登録用バッファ）
Ｒ４    タイマー
Ｒ５    オーバーランフラグ
Ｒ６    参照テーブル
Ｒ７    オーバーランフラグ監視部
ＴＸ    コマンド送信部
【図１】
2011092346.tif 000003
【図２】
2011092346.tif 000004
【図３】
2011092346.tif 000005
【図４】
2011092346.tif 000006
【図５】
2011092346.tif 000007
【図６】
2011092346.tif 000008
【図７】
2011092346.tif 000009
【図８】
2011092346.tif 000010
【図９】
2011092346.tif 000011
【図１０】
2011092346.tif 000012
【図１１】
2011092346.tif 000013
【図１２】
2011092346.tif 000014
【図１３】
2011092346.tif 000015