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