(57)【特許請求の範囲】
【請求項１】
遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板から前記サブ基板へ、前記サブ基板に予め定められた処理を行わせるためのコマンドが送信され、
前記コマンドの長さは予め定められ（以下、前記サブ基板に予め定められた処理を行わせるための前記コマンドの長さを「基準長」と記す）、
前記メイン基板は、
前記コマンドを前記サブ基板へ予め定められた間隔で送信するコマンド送信部を備え、
前記サブ基板は、
前記メイン基板から受けた前記コマンドを受信するコマンド受信部と、
前記コマンド受信部で受けた前記コマンドを保存する受信バッファと、
前記受信バッファから前記コマンドを読み出して解析し、前記サブ基板に予め定められた処理を行わせるコマンド解析部とを備え、
前記コマンド受信部は、前記コマンドの受信状況を調べ、前記コマンドを受信しているときは前記コマンドを前記受信バッファに記憶し、前記コマンドを受信していないときは受信無の信号を出力し、
前記コマンド解析部は、
前記コマンド受信部から前記受信無の信号を受けたとき、前記受信無の信号が連続する期間（以下「継続時間」）を予め定められた閾値と比較し、
前記継続時間が前記閾値と同じか又はそれよりも長くなったとき、前記コマンドの長さを調べ、
前記コマンドの長さが、予め定められた基準長に一致するときは、前記コマンドを解析して前記サブ基板に予め定められた処理を行わせ、
前記コマンドの長さが、予め定められた基準長と異なるときは、前記コマンドを破棄する、ことを特徴とする遊技機。
【請求項２】
前記コマンドの受信間隔の最小値を最小受信間隔、最大値を最大受信間隔とし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（最小受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（最大受信間隔）／２−（コマンド受信時間）
となるように前記閾値が定められていることを特徴とする請求項１記載の遊技機。
【請求項３】
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記コマンドの受信間隔が略一定であるとし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（受信間隔）／２−（コマンド受信時間）
となるように前記閾値が定められていることを特徴とする請求項１記載の遊技機。
【請求項４】
遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板から前記サブ基板へ、前記サブ基板に予め定められた処理を行わせるためのコマンドが送信され、
前記コマンドの長さは予め定められ（以下、前記サブ基板に予め定められた処理を行わせるための前記コマンドの長さを「基準長」と記す）、
前記メイン基板は、
前記コマンドを前記サブ基板へ予め定められた間隔で送信するコマンド送信部を備え、
前記サブ基板は、
前記メイン基板から受けた前記コマンドを受信するコマンド受信部と、
前記コマンド受信部で受けた前記コマンドを保存する受信バッファと、
前記受信バッファから前記コマンドを読み出して解析し、前記サブ基板に予め定められた処理を行わせるコマンド解析部とを備え、
前記コマンド受信部は、前記コマンドの受信状況を調べ、前記コマンドを受信しているときは前記コマンドを前記受信バッファに記憶し、前記コマンドを受信していないときは受信無の信号を出力し、
前記コマンド解析部は、
予め定められた間隔のコマンド受信チェックタイミングで前記コマンド受信部から前記受信無の信号を受けたかどうか判定し、連続して前記受信無であると判定した回数を計数し、この回数（以下「受信無継続回数」）を予め定められた回数閾値と比較し、
前記受信無継続回数が前記回数閾値と同じか又はそれよりも多くなったとき、前記コマンドの長さを調べ、
前記コマンドの長さが、予め定められた基準長に一致するときは、前記コマンドを解析して前記サブ基板に予め定められた処理を行わせ、
前記コマンドの長さが、予め定められた基準長と異なるときは、前記コマンドを破棄する、ことを特徴とする遊技機。
【請求項５】
前記コマンドの受信間隔の最小値を最小受信間隔、最大値を最大受信間隔とし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（最小受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（最大受信間隔）／２−（コマンド受信時間）
となるように閾値が定められ、前記閾値を前記コマンド受信チェックタイミングの間隔で除したときの商を前記回数閾値としたことを特徴とする請求項４記載の遊技機。
【請求項６】
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記コマンドの受信間隔が略一定であるとし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（受信間隔）／２−（コマンド受信時間）
となるように閾値が定められ、前記閾値を前記コマンド受信チェックタイミングの間隔で除したときの商を前記回数閾値としたことを特徴とする請求項４記載の遊技機。
【請求項７】
予め定められた処理を行わせるための前記コマンド（この項において「正規コマンド」）とともに、前記メイン基板から前記サブ基板へ、前記サブ基板に何らの処理も行わせることのないダミーコマンドが送信され、
前記ダミーコマンドの長さは、前記正規コマンドの長さよりも短く、
前記メイン基板の前記コマンド送信部は、
送信すべき前記正規コマンドが存在するときは、前記正規コマンドを前記サブ基板へ送信し、
送信すべき前記正規コマンドが存在しないときは、前記ダミーコマンドを前記サブ基板へ送信することを特徴とする請求項１乃至請求項６いずれかに記載の遊技機。
【請求項８】
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記メイン基板は、電源断からの復帰の際に前記コマンドの送信を禁止する禁止区間を設けるものであり、
前記コマンド送信部は、前記禁止区間の終了後の最初の前記タイミングでは前記コマンドの送信処理を実行せず、二回目以降の前記タイミングにおいて前記コマンドの送信処理を実行する、ことを特徴とする請求項１乃至請求項７いずれかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットマシン等の遊技機に関し、特にメイン基板からサブ基板へコマンドを送る遊技機に関する。
【背景技術】
【０００２】
スロットマシン等の遊技機にはメダルの投入口が設けられており、遊技者は所定の枚数のメダルを投入してゲームを楽しむことができる。遊技に必要なメダルは、遊技ホール内に設けられたメダル貸機等で借りることができ、所望の遊技機のメダル投入口に投入することによりゲームを開始することができる。
【０００３】
従来の遊技機の動作は次のようなものであった。
先ず、スタートスイッチが操作されることにより、スタートスイッチがＯＮとなる。これを受けて遊技機内部の当選判定手段により抽選処理が行われる。ここで所定の役に当選すると当選フラグがセットされる。回転リール（回胴）の回転が開始する。ストップボタンが操作されることにより、ストップボタンがＯＮとなる。そして、対応する回胴の回転が停止する。全部の回胴に対応するストップボタンの操作が行われた後、当選フラグ成立中に当該当選フラグに対応する入賞図柄が有効入賞ライン上に揃ったか否か、すなわち、入賞が確定したか否かが判定される。入賞が確定したと判定された場合、入賞図柄に相当するメダルが払い出される。
【０００４】
抽選処理の評価が例えば外れの場合は所定の図柄が揃わないように設定され（いわゆる蹴飛ばし）、当たりの場合はストップボタンが所定のタイミングで押下されることなどを条件に所定の図柄が揃うように設定される（いわゆる引き込み）。つまり、抽選処理において当選しているときのみ所定の条件の下で図柄が揃い入賞することにより、メダルが払い出されるが、当選しないときはストップボタンをどのように操作してもメダルが払い出されることはない。これはメダルの払い出しを一定確率に保つためである。これを実現するため抽選処理において乱数発生器が用いられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−５２２８６号公報  主制御回路から副制御回路へ送信すべきコマンドデータが無い場合には、正規コマンドデータである無操作コマンドデータを演出制御手段に送信する。常に、正規コマンドデータが必ず送信されるので、不正により偽のコマンドデータが送信されることを回避し、偽のコマンドデータによって遊技者に有利な報知演出が行われることを防止する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記遊技機において、所定の当選役に当選したとき、正解となる押し順で停止操作を行うことにより、特定の図柄組合せが表示され、この特定の図柄組合せが表示されたことに基づいて、リプレイが高確率で当選する状態とするとともに、当該状態において当選役を報知する状態（打順報知、詳細は後述）とするものがある。
【０００７】
上記打順報知された状態において、一般遊技状態と比べて、当選役が「ハズレ」となる確率が減り、また、特に、メダルの払出しに係る当選役（小役）が入賞する確率が増えることから、その状態においては、払出されるメダルを増加させることができるため、ボーナスと同時に遊技者の興味を引き、その遊技性を高めるものとなっている。
【０００８】
また、上記遊技機では、ＢＢ作動中に特定の当選役に当選していれば、ＢＢ終了後の一般遊技状態において上述した所定の当選役に当選したとき、正解となる押し順が報知されることとなっている。この報知は、上述のようにメイン基板からのコマンドを受信したサブ基板によって行われている。
【０００９】
従来の遊技機では、メイン基板からサブ基板へ送信すべきコマンドが無い場合には、コマンド送信を行っていなかった。この点を突いて、メイン基板からサブ基板へのデータ伝送路に不正にアクセスし、上記報知を不正に行わせる、いわゆるゴト行為が行われることがある。
【００１０】
具体的には、メイン基板からサブ基板へコマンドを送る伝送路に不正な基板を接続し、例えば、ＢＢ作動中において特定の当選役に当選していないにも関わらず、不正アクセスによってサブ基板に特定の当選役に当選したという情報を送信することで、上記報知を不正に行わせるものである。
【００１１】
特許文献１は、上記不正を防止するために、メイン基板からサブ基板へ送信すべきコマンドデータが無い場合には、正規コマンドデータである無操作コマンドデータを演出制御手段に送信し、常に、正規コマンドデータが必ず送信されるようにする。これにより、不正なコマンドデータを送信する隙を無くしている。
【００１２】
特許文献１において、コマンドデータが無い場合に送信される無操作コマンドデータは、正規コマンドデータであり、コマンドの構成の点で違いはない。特許文献１の段落０１５６乃至０１５８の記載によれば、コマンドデータ及び無操作コマンドデータは、各々が１バイトからなる８つのデータによって構成され、これら８つのデータによって１パケットを構成している。「コマンド種別」としては、「０１Ｈ」〜「１０Ｈ」の１０種類あり、「１０Ｈ」は、無操作コマンドに相当する。
【００１３】
特許文献１によれば、不正なコマンドデータの送信を防止できるが、次のような課題が有る。
【００１４】
（１）無操作コマンドデータも正規コマンドデータとしているため、正規コマンドの数が減ってしまう。上記例で言えば本来１０種類のコマンドを定義できるはずのところ、無操作コマンドの分だけ減り、最大９種類のコマンドしか定義できない。
【００１５】
（２）受信側（サブ基板）で、正規コマンドデータかそれとも無操作コマンドデータであるかを判別するためには、コマンドデータの中身を解析しなければならない。これでは破棄することになる無操作コマンドデータについても正規コマンドデータと同じ処理を適用することになり、処理が複雑になるとともにＣＰＵの処理負荷が増えてしまう。
【００１６】
無操作コマンドデータは意味のないコマンドであり、このような意味のないコマンドを送信することは、できれば避けたい。コマンドとコマンドの隙間に不正なコマンドデータを挿入されることが問題であるが、その隙間の大きさによっては無操作コマンドデータを送らずとも、受信側の処理で不正なコマンドを無効化することが可能である。
【００１７】
本発明は上記課題を解決するためになされたもので、受信側の処理により上記不正なコマンドデータを無効化できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１８】
この発明は、遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板から前記サブ基板へ、前記サブ基板に予め定められた処理を行わせるためのコマンドが送信され、
前記コマンドの長さは予め定められ（以下、前記サブ基板に予め定められた処理を行わせるための前記コマンドの長さを「基準長」と記す）、
前記メイン基板は、
前記コマンドを前記サブ基板へ予め定められた間隔で送信するコマンド送信部を備え、
前記サブ基板は、
前記メイン基板から受けた前記コマンドを受信するコマンド受信部と、
前記コマンド受信部で受けた前記コマンドを保存する受信バッファと、
前記受信バッファから前記コマンドを読み出して解析し、前記サブ基板に予め定められた処理を行わせるコマンド解析部とを備え、
前記コマンド受信部は、前記コマンドの受信状況を調べ、前記コマンドを受信しているときは前記コマンドを前記受信バッファに記憶し、前記コマンドを受信していないときは受信無の信号を出力し、
前記コマンド解析部は、
前記コマンド受信部から前記受信無の信号を受けたとき、前記受信無の信号が連続する期間（以下「継続時間」）を予め定められた閾値と比較し、
前記継続時間が前記閾値と同じか又はそれよりも長くなったとき、前記コマンドの長さを調べ、
前記コマンドの長さが、予め定められた基準長に一致するときは、前記コマンドを解析して前記サブ基板に予め定められた処理を行わせ、
前記コマンドの長さが、予め定められた基準長と異なるときは、前記コマンドを破棄する、ものである。
【００１９】
例えば、
前記コマンドの受信間隔の最小値を最小受信間隔、最大値を最大受信間隔とし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（最小受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（最大受信間隔）／２−（コマンド受信時間）
となるように前記閾値が定められている。
【００２０】
例えば、
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記コマンドの受信間隔が略一定であるとし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（受信間隔）／２−（コマンド受信時間）
となるように前記閾値が定められている。
【００２１】
この発明は、遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板から前記サブ基板へ、前記サブ基板に予め定められた処理を行わせるためのコマンドが送信され、
前記コマンドの長さは予め定められ（以下、前記サブ基板に予め定められた処理を行わせるための前記コマンドの長さを「基準長」と記す）、
前記メイン基板は、
前記コマンドを前記サブ基板へ予め定められた間隔で送信するコマンド送信部を備え、
前記サブ基板は、
前記メイン基板から受けた前記コマンドを受信するコマンド受信部と、
前記コマンド受信部で受けた前記コマンドを保存する受信バッファと、
前記受信バッファから前記コマンドを読み出して解析し、前記サブ基板に予め定められた処理を行わせるコマンド解析部とを備え、
前記コマンド受信部は、前記コマンドの受信状況を調べ、前記コマンドを受信しているときは前記コマンドを前記受信バッファに記憶し、前記コマンドを受信していないときは受信無の信号を出力し、
前記コマンド解析部は、
予め定められた間隔のコマンド受信チェックタイミングで前記コマンド受信部から前記受信無の信号を受けたかどうか判定し、連続して前記受信無であると判定した回数を計数し、この回数（以下「受信無継続回数」）を予め定められた回数閾値と比較し、
前記受信無継続回数が前記回数閾値と同じか又はそれよりも多くなったとき、前記コマンドの長さを調べ、
前記コマンドの長さが、予め定められた基準長に一致するときは、前記コマンドを解析して前記サブ基板に予め定められた処理を行わせ、
前記コマンドの長さが、予め定められた基準長と異なるときは、前記コマンドを破棄する、ものである。
【００２２】
例えば、
前記コマンドの受信間隔の最小値を最小受信間隔、最大値を最大受信間隔とし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（最小受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（最大受信間隔）／２−（コマンド受信時間）
となるように閾値が定められ、前記閾値を前記コマンド受信チェックタイミングの間隔で除したときの商を前記回数閾値とする。
【００２３】
例えば、
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記コマンドの受信間隔が略一定であるとし、
前記コマンドの受信に要する時間をコマンド受信時間とし、
（閾値）＜（受信間隔）−（コマンド受信時間）、
かつ、
（閾値）＞（受信間隔）／２−（コマンド受信時間）
となるように閾値が定められ、前記閾値を前記コマンド受信チェックタイミングの間隔で除したときの商を前記回数閾値とする。
【００２４】
予め定められた処理を行わせるための前記コマンド（この項において「正規コマンド」）とともに、前記メイン基板から前記サブ基板へ、前記サブ基板に何らの処理も行わせることのないダミーコマンドが送信され、
前記ダミーコマンドの長さは、前記正規コマンドの長さよりも短く、
前記メイン基板の前記コマンド送信部は、
送信すべき前記正規コマンドが存在するときは、前記正規コマンドを前記サブ基板へ送信し、
送信すべき前記正規コマンドが存在しないときは、前記ダミーコマンドを前記サブ基板へ送信するようにしてもよい。
【００２５】
前記ダミーコマンドにより、前記コマンドの受信間隔を略一定となるようにできる。
【００２６】
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記メイン基板は、電源断からの復帰の際に前記コマンドの送信を禁止する禁止区間を設けるものであり、
前記コマンド送信部は、前記禁止区間の終了後の最初の前記タイミングでは前記コマンドの送信処理を実行せず、二回目以降の前記タイミングにおいて前記コマンドの送信処理を実行するようにしてもよい。
【００２７】
あるいは、
この発明は、遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板から前記サブ基板へ、前記サブ基板に予め定められた処理を行わせるためのコマンドが送信され、
前記メイン基板は、前記コマンドを前記サブ基板へ送信するコマンド送信部を備え、
前記サブ基板は、前記コマンドを受信し、前記コマンドを解析して前記サブ基板に予め定められた処理を行わせるコマンド受信部を備え、
前記コマンド送信部は、予め定められた間隔で発生するタイミングにおいて前記コマンドの送信処理を実行するものであり、
前記メイン基板は、電源断からの復帰の際に前記コマンドの送信を禁止する禁止区間を設けるものであり、
前記コマンド送信部は、前記禁止区間の終了後の最初の前記タイミングでは前記コマンドの送信処理を実行せず、二回目以降の前記タイミングにおいて前記コマンドの送信処理を実行する、ものである。
【００２８】
あるいは、
前記メイン基板は、前記正規コマンドを記憶するリングバッファを備え、
前記コマンド送信部は、前記リングバッファの予め定められた位置の記憶内容を読み出し、前記記憶内容に基づき前記ダミーコマンドを生成する。
【００２９】
あるいは、
前記メイン基板は、遊技に関する処理に係る設定を変更するための設定変更処理を実行するものであり、前記設定変更処理により前記リングバッファの内容がクリアされ、
前記コマンド送信部は、前記設定変更処理の後において、前記リングバッファに前記正規コマンドが記憶されたときに、前記ダミーコマンドを生成する。
【発明の効果】
【００３０】
この発明によれば、サブ基板において、受信無の信号の継続時間を予め定められた閾値と比較し、前記継続時間が前記閾値よりも長くなったときコマンドを読み出し、そのコマンドの長さを調べ、前記コマンドの長さが、予め定められた基準長と異なるときは前記コマンドを破棄するようにしたので、不正なコマンドはその前又は後のコマンドと結合され、この結果破棄される。これにより、不正なコマンドがサブ基板で正規コマンドのように扱われることを防止できる。
【図面の簡単な説明】
【００３１】
【図１】前扉を閉めた状態を示すスロットマシンの正面図である。
【図２】前扉を開いた状態を示すスロットマシンの正面図である。
【図３】スロットマシンのブロック図である。
【図４】スロットマシンの遊技処理のフローチャートである。
【図５】スロットマシンのメイン基板のハードウエアブロック図である。
【図６】メイン基板のブロック図である（コマンド送信処理に関する部分のみを示す）。
【図７】コマンドバッファの説明図である。
【図８】図８（ａ）はコマンド（正規コマンド）の構造の説明図、図８（ｂ）は発明の実施の形態に係るダミーコマンドの構造の説明図である。
【図９】発明の実施の形態に係るコマンド送信処理（割込処理）のフローチャートである。
【図１０】メイン基板のコマンド送信処理（割込処理）のタイミングチャートである。
【図１１】サブ基板のブロック図である（コマンド受信処理に関する部分のみを示す）。
【図１２】発明の実施の形態に係るコマンド受信部の処理フローチャートである。
【図１３】発明の実施の形態に係るコマンド解析部のコマンド確定処理のフローチャートである。
【図１４】発明の実施の形態に係るコマンド解析部の処理フローチャートである。
【図１５】発明の実施の形態に係るコマンド送信及びコマンド受信についてのタイミングチャートである（不正コマンドが無い場合）。
【図１６】発明の実施の形態に係るコマンド送信及びコマンド受信についてのタイミングチャートである（不正コマンドが有る場合）。
【図１７】図１７（ａ）は最小受信間隔におけるＧＡＰ２（閾値）の最大値の説明図（タイミングチャート）、図１７（ｂ）は最大受信間隔におけるＧＡＰ２（閾値）の最小値の説明図（タイミングチャート）である。
【図１８】電源投入時におけるメイン基板のコマンド送信処理（割込処理）のタイミングチャートである（比較例）。
【図１９】発明の実施の形態に係る、電源投入時におけるメイン基板のコマンド送信処理（割込処理）のタイミングチャートである。
【発明を実施するための形態】
【００３２】
図１は前扉を閉めた状態を示すスロットマシンの正面図、図２は前扉を１８０度開いた状態を示すスロットマシンの正面図を示す。
【００３３】
図１及び図２中、１００はスロットマシンを示すもので、このスロットマシン１００は、図１に示すように、スロットマシン本体１２０と、このスロットマシン本体１２０の前面片側にヒンジ等により開閉可能に取り付けられた前扉１３０とを備えている。前記前扉１３０の前面には、図１に示すように、ほぼ中央にゲーム表示部１３１を設け、ゲーム表示部１３１の右下隅部に、遊技者がメダルを投入するためのメダル投入口１３２を設け、メダル投入口１３２の下側には、メダル投入口１３２から投入され、詰まってしまったメダルをスロットマシン１００外に強制的に排出するためのリジェクトボタン１３３が設けられている。
【００３４】
また、前記ゲーム表示部１３１の左下方には、ゲームを開始するためのスタートスイッチ１３４を設けてあり、３つの回胴のそれぞれに対応して３つのストップボタン１４０を設けてある。前扉の下端部中央には、メダルの払出し口１３５を設けてある。前記ゲーム表示部１３１の上側には、液晶表示装置ＬＣＤが設けてある。
【００３５】
スロットマシン本体１２０の内部には、図２に示すように、その内底面に固定され、内部に複数のメダルを貯留して、貯留したメダルを前扉１３０の前面に設けた払出し口１３５に１枚ずつ払い出すためのホッパ装置１２１が設置されている。このホッパ装置１２１の上部には、上方に向けて開口し、内部に複数のメダルを貯留するホッパタンク１２２を備えている。スロットマシン本体１２０の内部には、前扉１３０を閉めたときにゲーム表示部１３１が来る位置に三個の回胴からなるリール（回胴）ユニット２０３が設置されている。リールユニット２０３は、外周面に複数種類の図柄が配列されている３つの回胴（第１回胴〜第３回胴）を備えている。ゲーム表示部１３１には開口部が設けられていて、それを通して遊技者が前記リールユニット２０３の各回転回胴の図柄を見ることができるようになっている。ホッパ装置１２１の左側には電源部２０５が設けられている。
【００３６】
前記前扉１３０の裏面には、図２に示すように、メダル（コイン）セレクタ１が、前扉１３０の前面に設けられたメダル投入口１３２の裏側に取り付けられている。このメダルセレクタ１は、メダル投入口１３２から投入されたメダルの通過を検出しながら、当該メダルをホッパ装置１２１に向かって転動させ、外径が所定寸法と違う異径メダルや、鉄又は鉄合金で作製された不正メダルを選別して排除するとともに、１ゲームあたりに投入可能な所定枚数以上のメダルを選別して排除するための装置である。
【００３７】
また、メダルセレクタ１の下側には、図２に示すように、その下部側を覆って前扉１３０の払出し口１３５に連通する導出路１３６が設けられている。メダルセレクタ１により振り分けられたメダルは、この導出路１３６を介して払出し口１３５から遊技者に返却される。
【００３８】
図３は発明の実施の形態に係るスロットマシン１００の機能ブロック図を示す。
この図において電源系統についての表示は省略されている。図示しないが、スロットマシンは商用電源（ＡＣ１００Ｖ）から直流電源（＋５Ｖなど）を発生するための電源部を備える。
【００３９】
スロットマシン１００は、その主要な処理装置としてメイン基板（処理部）１０とこれからコマンドを受けて動作するサブ基板２０とを備える。なお、少なくともメイン基板１０は、外部から接触不能となるようにケース内部に収容され、これら基板を取り外す際に痕跡が残るように封印処理が施されている。
【００４０】
メイン基板１０は、遊技者の操作を受けて内部抽選を行ったり、リールの回転・停止やメダルの払い出しなどの処理（遊技処理）を行うためのものである。メイン基板１０は、予め設定されたプログラムに従って制御動作を行うＣＰＵと、前記プログラムを記憶する記憶手段であるＲＯＭおよび処理結果などを一時的に記憶するＲＡＭを含む。
【００４１】
サブ基板２０は、メイン基板１０からコマンド信号を受けて内部抽選の結果を報知したり各種演出を行うためのものである。サブ基板２０は、前記コマンド信号に応じた予め設定されたプログラムに従って制御動作を行うＣＰＵと、前記プログラムを記憶する記憶手段であるＲＯＭおよび処理結果などを一時的に記憶するＲＡＭを含む。
【００４２】
前記コマンド信号に基づきサブ基板２０が行う動作には、打順報知がある。打順報知は、遊技機において、所定の当選役に当選したとき、正解となる押し順で停止操作を行うことにより、特定の図柄組合せが表示され、この特定の図柄組合せが表示されたことに基づいて、リプレイが高確率で当選する状態とするとともに、当該状態において当選役を報知する状態とするものである。
【００４３】
打順報知は、例えば次のようなものである。
【００４４】
メイン基板が行う内部抽選で選択される当選領域（メモリ上のエリア）には、複数の小役が重複当選している領域があり、そのエリアに当選した場合に、正解打順で停止操作が行われると、重複当選した複数の小役のうち、配当の高い小役が入賞するようになっている。通常、遊技者は正解打順がわからないため、正解打順での停止操作をすることができずに、配当の高い小役の入賞による利益を得ることができない。そこで、所定の場合に正解打順を報知させるために、特定の当選役に当選したという情報（コマンド）をメイン基板からサブ基板へ送る。これに基づきサブ基板が遊技者にとって有利な報知として、内部抽選で当選したエリアの正解打順の報知を行うことで、遊技者は正解打順で停止操作を行い、配当の高い小役の入賞による利益を得ることができる。
【００４５】
コマンドの流れはメイン基板１０からサブ基板２０への一方のみであり、逆にサブ基板２０からメイン基板１０へコマンド等が出されることはない。
【００４６】
メイン基板１０には、ベットスイッチＢＥＴ、スタートスイッチ１３４，ストップボタン１４０，リールユニット（リール駆動装置を含む）２０３，リール位置検出回路７１、ホッパ駆動部８０、ホッパ８１及びホッパ８１から払い出されたメダルの枚数を数えるためのメダル検出部８２（これらは前述のホッパ装置１２１を構成する）が接続されている。サブ基板２０には液晶表示装置の制御用の液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２などの周辺基板（デバイス制御基板）が接続されている。周辺基板とは、サブ基板２０により制御されるものであり、主に映像、光、音響により演出を行うものである。
【００４７】
メイン基板１０には、さらに、メダルセレクタ１のメダルセンサＳ１及びＳ２が接続されている。
【００４８】
メダルセレクタ１には、メダルを計数するためのメダルセンサＳ１及びＳ２が設けられている。メダルセンサＳ１及びＳ２は、メダルセレクタ１に設けられた図示しないメダル通路の下流側（出口近傍）に設けられている（メダル通路の上流側はメダル投入口１３２に連通している）。２つのメダルセンサＳ１とＳ２は、メダルの進行方向に沿って所定間隔を空けて並べて設けられている。メダルセンサＳ１、Ｓ２は、例えば、互いに対向した発光部と受光部とを有して断面コ字状に形成され、その検出光軸をメダル通路内に上方から臨ませて位置するフォトインタラプタである。各フォトインタラプタにより、途中で阻止されずに送られてきたメダルの通過が検出される。なお、フォトインタラプタを２つ隣接させたのは、メダル枚数を検出するだけでなく、メダルの通過が正常か否かを監視するためである。すなわち、フォトインタラプタを２つ隣接させて設けることにより、メダルの通過速度や通過方向を検出することができ、これによりメダル枚数だけでなく、逆方向に移動する不正行為を感知することができる。
【００４９】
ホッパ駆動部８０は、ホッパ８１を回転駆動して、メイン基板１０によって指示された払出数のメダルを払い出す動作を行う。遊技機は、メダルを１枚払い出す毎に作動するメダル検出部８２を備えており、メイン基板１０は、メダル検出部８２からの入力信号に基づいてホッパ８１から実際に払い出されたメダルの数を管理することができる。
【００５０】
投入受付手段１０５０は、メダルセレクタ１のメダルセンサＳ１とＳ２の出力を受け、遊技毎にメダルの投入を受け付けて、規定投入数に相当するメダルが投入されたことに基づいて、スタートスイッチ１３４に対する第１リール〜第３リールの回転開始操作を許可する処理を行う。なお、スタートスイッチ１３４の押下操作が、第１リール〜第３リールの回転を開始させる契機となっているとともに、内部抽選を実行する契機となっている。また、遊技状態に応じて規定投入数を設定し、通常状態およびボーナス成立状態では規定投入数を３枚に設定し、ボーナス状態では規定投入数を１枚に設定する。
【００５１】
メダルが投入されると、遊技状態に応じた規定投入数を限度として、投入されたメダルを投入状態に設定する。あるいは、遊技機にメダルがクレジットされた状態で、ベットスイッチＢＥＴが押下されると、遊技状態に応じた規定投入数を限度して、クレジットされたメダルを投入状態に設定する。メダルの投入を受け付けるかどうかは、メイン基板１０が制御する。メダルの投入を受け付ける状態になっていないときは（許可されていないときは）、メダルを投入してもメダルセンサＳ１、Ｓ２でカウントされず、そのまま返却される。同様に、メイン基板１０はベットスイッチＢＥＴの有効／無効を制御する。ベットスイッチＢＥＴが有効になっていないときは（許可されていないときは）、ベットスイッチＢＥＴを押下しても、それは無視される。
【００５２】
メイン基板１０は、乱数発生手段１１００を内蔵する。乱数発生手段１１００は、抽選用の乱数値を発生させる手段である。乱数値は、例えば、インクリメントカウンタ（所定のカウント範囲を循環するように数値をカウントするカウンタ）のカウント値に基づいて発生させることができる。なお本実施形態において「乱数値」には、数学的な意味でランダムに発生する値のみならず、その発生自体は規則的であっても、その取得タイミング等が不規則であるために実質的に乱数として機能しうる値も含まれる。
【００５３】
内部抽選手段１２００は、遊技者がスタートスイッチ１３４からのスタート信号に基づいて、役の当否を決定する内部抽選を行う。すなわち、メイン基板１０のメモリ（図示せず）に記憶されている抽選テーブル（図示せず）を選択する抽選テーブル選択処理、乱数発生手段１１００から得た乱数の当選を判定する乱数判定処理、当選の判定結果で大当たりなどに当選したときにその旨のフラグを設定する抽選フラグ設定処理などを行う。
【００５４】
抽選テーブル選択処理では、図示しない記憶手段（ＲＯＭ）に格納されている複数の抽選テーブル（図示せず）のうち、いずれの抽選テーブルを用いて内部抽選を行うかを決定する。抽選テーブルでは、複数の乱数値（例えば、０〜６５５３５の６５５３６個の乱数値）のそれぞれに対して、リプレイ、小役（ベル、チェリー）、レギュラーボーナス（ＲＢ：ボーナス）、およびビッグボーナス（ＢＢ：ボーナス）などの各種の役が対応づけられている。また、遊技状態として、通常状態、ボーナス成立状態、およびボーナス状態が設定可能とされ、さらにリプレイの抽選状態として、リプレイ無抽選状態、リプレイ低確率状態、リプレイ高確率状態が設定可能とされる。
【００５５】
乱数判定処理では、スタートスイッチ１３４からのスタート信号に基づいて、遊技毎に前記乱数発生手段（図示せず）から乱数値（抽選用乱数）を取得し、取得した乱数値について前記抽選テーブルを参照して役に当選したか否かを判定する。
【００５６】
抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役の抽選フラグを非当選状態（第１のフラグ状態、オフ状態）から当選状態（第２のフラグ状態、オン状態）に設定する。２種類以上の役が重複して当選した場合には、重複して当選した２種類以上の役のそれぞれに対応する抽選フラグが当選状態に設定される。抽選フラグの設定情報は、記憶手段（ＲＡＭ）に格納される。
【００５７】
入賞するまで次回以降の遊技に当選状態を持ち越し可能な抽選フラグ（持越可能フラグ）と、入賞の如何に関わらず次回以降の遊技に当選状態を持ち越さずに非当選状態にリセットされる抽選フラグ（持越不可フラグ）とが用意されていることがある。この場合、前者の持越可能フラグが対応づけられる役としては、レギュラーボーナス（ＲＢ）およびビッグボーナス（ＢＢ）があり、それ以外の役（例えば、小役、リプレイ）は後者の持越不可フラグに対応づけられている。すなわち抽選フラグ設定処理では、内部抽選でレギュラーボーナスに当選すると、レギュラーボーナスの抽選フラグの当選状態を、レギュラーボーナスが入賞するまで持ち越す処理を行い、内部抽選でビッグボーナスに当選すると、ビッグボーナスの抽選フラグの当選状態を、ビッグボーナスが入賞するまで持ち越す処理を行う。このときメイン基板１０は、内部抽選機能により、レギュラーボーナスやビッグボーナスの抽選フラグの当選状態が持ち越されている遊技でも、レギュラーボーナスおよびビッグボーナス以外の役（小役およびリプレイ）についての当否を決定する内部抽選を行っている。すなわち抽選フラグ設定処理では、レギュラーボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているレギュラーボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる２種類以上の役に対応する抽選フラグを当選状態に設定し、ビッグボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているビッグボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる２種類以上の役に対応する抽選フラグを当選状態に設定する。
【００５８】
リプレイ処理手段１６００は、所定条件下で内部抽選におけるリプレイの当選確率を変動させる制御を行うことがある。リプレイ処理手段１６００については、後に再度説明を加える。リプレイの抽選状態として、リプレイが内部抽選の対象から除外されるリプレイ無抽選状態、リプレイの当選確率が約１／７．３に設定されるリプレイ低確率状態、およびリプレイの当選確率が約１／６に設定されるリプレイ高確率状態という複数種類の抽選状態を設定可能とされている。リプレイの抽選状態を変化させることにより、内部抽選におけるリプレイの当選確率を変動させる。
【００５９】
リール制御手段１３００は、遊技者がスタートスイッチ１３４の押下操作（回転開始操作）によるスタート信号に基づいて、第１リール〜第３リールをステッピングモータにより回転駆動して、第１リール〜第３リールの回転速度が所定速度（約８０ｒｐｍ：１分間あたり約８０回転となる回転速度）に達した状態において回転中のリールにそれぞれ対応する３つのストップボタン１４０の押下操作（停止操作）を許可する制御を行うとともに、ステッピングモータにより回転駆動されている第１リール〜第３リールを抽選フラグの設定状態（内部抽選の結果）に応じて停止させる制御を行う。
【００６０】
また、リール制御手段１３００は、３つのストップボタン１４０に対する押下操作（停止操作）が許可（有効化）された状態において、遊技者が３つのストップボタン１４０を押下することにより、そのリール停止信号に基づいて、リールユニット２０３のステッピングモータへの駆動パルス（モータ駆動信号）の供給を停止することにより、第１リール〜第３リールの各リールを停止させる制御を行う。
【００６１】
すなわち、リール制御手段１３００は、３つのストップボタン１４０の各ボタンが押下される毎に、第１リール〜第３リールのうち押下されたボタンに対応するリールの停止位置を決定して、決定された停止位置でリールを停止させる制御を行っている。具体的には、記憶手段（ＲＯＭ）に記憶されている停止制御テーブル（図示せず）を参照して３つのストップボタンの押下タイミングや押下順序等（停止操作の態様）に応じた第１リール〜第３リールの停止位置を決定し、決定された停止位置で第１リール〜第３リールを停止させる制御を行う。
【００６２】
ここで停止制御テーブルでは、ストップボタン１４０の作動時点における第１リール〜第３リールの位置（押下検出位置）と、第１リール〜第３リールの実際の停止位置（または押下検出位置からの滑りコマ数）との対応関係が設定されている。抽選フラグの設定状態に応じて、第１リール〜第３リールの停止位置を定めるための停止制御テーブルが用意されることもある。
【００６３】
遊技機では、リールユニット２０３がフォトセンサからなるリールインデックス（図示せず）を備えており、リール制御手段１３００は、リールが１回転する毎にリールインデックスで検出される基準位置信号に基づいて、リールの基準位置（リールインデックスによって検出されるコマ）からの回転角度（ステップモータの回転軸の回転ステップ数）を求めることによって、現在のリールの回転状態を監視することができるようになっている。すなわち、メイン基板１０は、ストップボタン１４０の作動時におけるリールの位置を、リールの基準位置からの回転角度を求めることにより得ることができる。
【００６４】
リール制御手段１３００は、いわゆる引き込み処理と蹴飛ばし処理とをリールを停止させる制御として行っている。引き込み処理とは、抽選フラグが当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止するように（当選した役を入賞させることができるように）リールを停止させる制御処理である。一方蹴飛ばし処理とは、抽選フラグが非当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止しないように（当選していない役を入賞させることができないように）リールを停止させる制御処理である。すなわち本実施形態の遊技機では、上記引き込み処理及び蹴飛ばし処理を実現させるべく、抽選フラグの設定状態、ストップボタン１４０の押下タイミング、押下順序、既に停止しているリールの停止位置（表示図柄の種類）などに応じて各リールの停止位置が変化するように停止制御テーブルが設定されている。このように、メイン基板１０は、抽選フラグが当選状態に設定された役の図柄を入賞の形態で停止可能にし、一方で抽選フラグが非当選状態に設定された役の図柄が入賞の形態で停止しないように第１リール〜第３リールを停止させる制御を行っている。
【００６５】
本実施形態の遊技機では、第１リール〜第３リールが、ストップボタン１４０が押下された時点から１９０ｍｓ以内に、押下されたストップボタンに対応する回転中のリールを停止させる制御状態に設定されている。すなわち回転している各リールの停止位置を決めるための停止制御テーブルでは、ストップボタン１４０の押下時点から各リールが停止するまでに要するコマ数が０コマ〜４コマの範囲（所定の引き込み範囲）で設定されている。
【００６６】
入賞判定手段１４００は、第１リール〜第３リールの停止態様に基づいて、役が入賞したか否かを判定する処理を行う。具体的には、記憶手段（ＲＯＭ）に記憶されている入賞判定テーブルを参照しながら、第１リール〜第３リールの全てが停止した時点で入賞判定ライン上に表示されている図柄組合せが、予め定められた役の入賞の形態であるか否かを判定する。
【００６７】
入賞判定手段１４００は、その判定結果に基づいて、入賞時処理を実行する。入賞時処理としては、例えば、小役が入賞した場合にはホッパ８１を駆動してメダルの払出制御処理が行われるか、あるいはクレジットの増加され（規定の最大枚数例えば５０枚まで増加され、それを超えた分だけ実際にメダル払い出される）、リプレイが入賞した場合にはリプレイ処理が行われ、ビッグボーナスやレギュラーボーナスが入賞した場合には遊技状態を移行させる遊技状態移行制御処理が行われる。
【００６８】
払出制御手段１５００は、遊技結果に応じたメダルの払い出しに関する払出制御処理を行う。具体的には、小役が入賞した場合に、役毎に予め定められている配当に基づいて遊技におけるメダルの払出数を決定し、決定された払出数に相当するメダルを、ホッパ駆動部８０でホッパ８１を駆動して払い出させる。この際に、ホッパ８１に内蔵される図示しないモータに電流が流れることになる。
【００６９】
メダルのクレジット（内部貯留）が許可されている場合には、ホッパ８１によって実際にメダルの払い出しを行う代わりに、記憶手段（ＲＡＭ）のクレジット記憶領域（図示省略）に記憶されているクレジット数（クレジットされたメダルの数）に対して払出数を加算するクレジット加算処理を行って仮想的にメダルを払い出す処理を行う。
【００７０】
リプレイ処理手段１６００は、リプレイが入賞した場合に、次回の遊技に関して遊技者の所有するメダルの投入を要さずに前回の遊技と同じ準備状態に設定するリプレイ処理（再遊技処理）を行う。リプレイが入賞した場合には、遊技者の手持ちのメダル（クレジットメダルを含む）を使わずに前回の遊技と同じ規定投入数のメダルが自動的に投入状態に設定される自動投入処理が行われ、遊技機が前回の遊技と同じ入賞判定ラインを有効化した状態で次回の遊技における回転開始操作（遊技者によるスタートスイッチ１３４の押下操作）を待機する状態に設定される。
【００７１】
また、メイン基板１０は、通常状態、ボーナス成立状態、およびボーナス状態の間で遊技状態を移行させる制御を行うことがある（遊技状態移行制御機能）。遊技状態の移行条件は、１の条件が定められていてもよいし、複数の条件が定められていてもよい。複数の条件が定められている場合には、複数の条件のうち１の条件が成立したこと、あるいは複数の条件の全てが成立したことに基づいて、遊技状態を他の遊技状態へ移行させることができる。
【００７２】
通常状態は、複数種類の遊技状態の中で初期状態に相当する遊技状態で、通常状態からはボーナス成立状態への移行が可能となっている。ボーナス成立状態は、内部抽選でビッグボーナスあるいはレギュラーボーナスに当選したことを契機として移行する遊技状態である。ボーナス成立状態では、通常状態における内部抽選でビッグボーナスが当選した場合、ビッグボーナスが入賞するまでビッグボーナスに対応する抽選フラグが当選状態に維持され、通常状態における内部抽選でレギュラーボーナスが当選した場合、レギュラーボーナスが入賞するまでレギュラーボーナスに対応する抽選フラグが当選状態に維持される。ボーナス状態では、ボーナス遊技によって払い出されたメダルの合計数により終了条件が成立したか否かを判断し、入賞したボーナスの種類に応じて予め定められた払出上限数を超えるメダルが払い出されると、ボーナス状態を終了させて、遊技状態を通常状態へ復帰させる。
【００７３】
リールユニット２０３は、図示しない３つのリールを備えるが、３つのリールそれぞれにひとつづつステッピングモータが取り付けられている。ステッピングモータは、回転子（ロータ）として歯車状の鉄心あるいは永久磁石を備え、固定子（ステータ）として複数の巻線（コイル）を備え、電流を流す巻線を切り替えることによって回転動作させるものである。すなわち、固定子の巻線に電流を流して磁力を発生させ、回転子を引きつけることで回転するものである。回転軸を指定された角度で停止させることが可能なことから、スロットマシンのリールの回転駆動に使用されている。複数の巻線がひとつの相を構成する。相の数として、例えば、２つ（二相）、４つ（４相）、５つ（５相）のものもある。
【００７４】
次に、遊技機における遊技処理について図４を参照して説明を加える。
一般的に、遊技機において、メダルの投入（クレジットの投入）に始まり、払い出しが終了するまで（又はクレジット数の増加が終了するまで）が一遊技である。一遊技が終了するまでは次回の遊技に進めないという決まりがある。
【００７５】
先ず、規定枚数のメダルが投入されることでスタートスイッチ１３４が有効になり、図４の処理が開始される。
【００７６】
ステップＳ１において、スタートスイッチ１３４が操作されることにより、スタートスイッチ１３４がＯＮとなる。そして、次のステップＳ２に進む。
【００７７】
ステップＳ２において、メイン基板１０により抽選処理が行われる。そして、次のステップＳ３に進む。
【００７８】
ステップＳ３において、第１リール〜第３リールの回転が開始する。そして、次のステップＳ４に進む。
【００７９】
ステップＳ４において、ストップボタン１４０が操作されることにより、ストップボタン１４０がＯＮとなる。そして、次のステップＳ５に進む。
【００８０】
ステップＳ５において、第１リール〜第３リールのうち押下されたストップボタン１４０に対応するリールについて回転停止処理が行われる。そして、次のステップＳ６に進む。
【００８１】
ステップＳ６において、三個のリールに対応するストップボタン１４０の操作が行われたか否かが判定される。そして、三個のリールに対応する３つのストップボタン１４０すべての操作が行われたと判定された場合、次のステップＳ７に進む。
【００８２】
ステップＳ７において、抽選フラグ成立中に当該抽選フラグに対応する入賞図柄が有効入賞ライン上に揃ったか否か、すなわち、入賞が確定したか否かが判定される。そして、入賞が確定したと判定された場合、次のステップＳ８に進む。なお、入賞が確定しなかったときは、抽選フラグが成立していてもメダルの払い出しは行われない。
【００８３】
ステップＳ８において、入賞図柄に相当するメダルが払い出される。
【００８４】
メダルの投入からステップＳ８の実行完了までが、一遊技である。ステップＳ８の待機処理が終了すると、処理はフローチャートの最初に戻る。言い換えれば、次の遊技が可能な状態になる（次遊技へ移行する）。
【００８５】
図５は、メイン基板１０のハードウエア構成の説明図である。メイン基板１０は、実際には図５のハードウエア構成で実現される。すなわち、複数のビット（配線）からなるＢＵＳに、ＣＰＵ（処理装置）、ＲＯＭ（不揮発性記憶部）、メモリＲＷＭ（読み出し及び書き込み可能なメモリ）及びＩ／Ｏ（入出力装置）、タイマ回路ＴＭなどが接続されている。
【００８６】
図５のＣＰＵは、予め定められたプログラムに従い、複数の処理を所定の順番で繰り返し実行するメイン処理と、予め定められた間隔で行われる割込処理とを実行する。
【００８７】
タイマ回路ＴＭは、処理部ＣＰＵに対して割込を一定間隔でかけるものであり、例えば専用のＩＣなどのハードウエアで実現されるが、ソフトウエア（プログラム）で実現するようにしてもよい。Ｉ／Ｏは、例えば通信処理用のＩＣであり、所定のプロトコルにしたがってデータ通信を行う。図示しないレジスタにアドレス及びデータを設定することで、サブ基板２０との通信を自動的に行う。
【００８８】
ＣＰＵは、電源が投入されると、データバスを介してＲＯＭの所定エリアに格納された分周用のデータをタイマ回路ＴＭに送信する。タイマ回路ＴＭは、受信した分周用のデータを基に割込時間を決定し、この割込時間ごとに、割込要求をＣＰＵに送信する。ＣＰＵは、この割込要求を契機に、各センサ等の監視などの割込処理を実行する。例えば、ＣＰＵのシステムクロックを８ＭＨｚ、タイマ回路ＴＭの分周値を１／２５６、ＲＯＭの分周用のデータを４７に設定した場合、この割込の基準時間は、２５６×４７÷８ＭＨｚ＝１．５０４ｍｓとなる。
【００８９】
＜コマンド送信装置＞
図６は、発明の実施の形態に係る送信装置のブロック図である。図６はメイン基板１０において実現される機能のブロック図であり、発明の実施の形態に関連する部分のみを示している。
【００９０】
３０は、予め定められた数のコマンドを一時的に保存するコマンドバッファである。コマンドバッファ３０は先入れ先出しバッファ（ＦＩＦＯ）であり、所定のデータ（コマンド）を記憶し、記憶したデータをその順番で出力するものである。
【００９１】
３１は、予め定められたコマンドを生成するコマンド生成部である。コマンドの生成手順は公知であるので、その説明は省略する。また、コマンドの種類及び内容は公知であるので、その説明も省略する。
【００９２】
３２は、少なくとも、様々なコマンドをコマンドバッファ３０に書き込むコマンド書込部である。
【００９３】
３４は、コマンドバッファ３０から所定のコマンドを読み出してサブ基板２０へ送信するコマンド送信部である。コマンド送信部３４は、例えば通信処理用のＩＣであり、所定の割込タイミングで処理を開始し、コマンドバッファ３０からコマンドを読み出してサブ基板２０へ送る。
【００９４】
コマンドの受信間隔、すなわち送信されるコマンドの間隔は、（最小受信間隔）と（最大受信間隔）の間であり（伝播時間は無視している）、これらは（コマンド確定に要する時間）の一部であるＧＡＰ２（後述の図１７及びその説明参照）が存在するように定められる。好ましくは、コマンド送信間隔は一定である（例えば図１０）。
【００９５】
コマンド送信間隔が大きくばらつくようなときには、ダミーコマンドを送信するようにしてもよい。この場合、送信されるコマンドには正規コマンド（サブ基板２０に受信され解析されて所定の処理を行うためのもの）とダミーコマンド（サブ基板２０で受信されるが破棄され、何らの処理も行わないもの）がある。ダミーコマンドについては後にさらに説明を加える。なお、以下の説明において特に断らない場合は、単に「コマンド」と記したときは正規コマンドを意味するものとする。
【００９６】
図７は、コマンドバッファ３０の説明図である。コマンドバッファ３０は、先入れ先出しバッファであるが、環状のリングバッファとして構成されている。リングバッファは公知であるので、その説明は省略する。コマンド書込部３２は、コマンドバッファ３０の最後（BF128）にコマンドを書き込んだ後は最初に戻り（BF1）、コマンドの書き込みを続ける。図７の例では、コマンドバッファ３０は１２８バイトの記憶領域（BF1〜BF128）をもつ。
【００９７】
図８（ａ）はコマンド（正規コマンド）の構造を示す。コマンドは、４バイトのコマンド本体とこれら４バイトのチェックサムを格納するチェックサムの１バイトの合計５バイトからなる。コマンド（正規コマンド）の長さは予め定められている（正規コマンドの長さを「基準長」と記すことがある。図８の例では「基準長」＝５バイト）。
【００９８】
図８（ｂ）はダミーコマンドの構造を示す。ダミーコマンドは、３バイトのコマンド本体とこれら３バイトのチェックサムを格納するチェックサムの１バイトの合計４バイトからなる。
【００９９】
後述のように、ダミーコマンドは、これを受信したサブ基板２０において破棄されるものであり、そのためにあえてコマンド（正規コマンド）とは異なる構造を採用している。この点から言えば、ダミーコマンドはその本体が１バイト以上、かつ、正規コマンドの４バイト以外であれば（要するに合計５バイトでなければ）何でもよい。
【０１００】
しかし、好ましくは、ダミーコマンドのバイト数は次の条件を満たすことが好ましい。
【０１０１】
（条件１）連続する２つのそれぞれ別個のコマンド（正規コマンド又はダミーコマンド）を隙間なく受信すると、サブ基板２０はひとつのコマンドと判定して破棄し、この結果、コマンドが失われることがある（隙間については図１３及びその説明も参照されたい）。これを避けるために、ダミーコマンドに続けてコマンド（正規コマンド）を送信した場合に受信側においてそれらの間に隙間が生じるように、ダミーコマンドは、隙間よりも短くする。上記例では、ダミーコマンド本体をコマンド本体４バイトよりも短い、１、２、３バイトのいずれかにすればよい。長くすると隙間がなくなるおそれがある。一般的には、ダミーコマンドを挿入する前のコマンド間の隙間の長さをＧＡＰ（バイト）、としたとき、ダミーコマンド長＜ＧＡＰとする。なお、後述のようにコマンド受信チェックを所定間隔で行っており、この間隔分の誤差が生じる。したがって隙間を確実に設けるように、この間隔の１、２個分のマージンを設けることが好ましい。
【０１０２】
（条件２）上記（条件１）のようにすれば正規コマンドとダミーコマンドの間に隙間が生じるが、この隙間に不正なコマンドを挿入できない程度にダミーコマンドを長くする。上記（条件１）の例では、ダミーコマンド本体は１、２、３バイトのいずれかであったから、３バイトが好ましい。一般的には、正規コマンド長＞（ＧＡＰ−ダミーコマンド長）とする。（ＧＡＰ−ダミーコマンド長）は、ダミーコマンド挿入後の隙間の最大長である。マージンを設ける点は同様である。
【０１０３】
なお、正規コマンドの数が減り、サブ基板２０の処理負荷が増えるという問題が生じるが、ダミーコマンドの長さを正規コマンドの長さと同じにしてもよい。
【０１０４】
コマンドバッファ３０はリングバファであり、１つのコマンド（正規コマンド）に対して４バイトの領域を使用するから、３２個のコマンドが書き込まれるとコマンドバッファ３０は一杯になり、これ以降は上書きされていく（上書きされる前に送信されるので問題ない）。
【０１０５】
ダミーコマンド本体として、例えば、コマンドバッファ３０の任意の３バイトが使用される。例えば、図７のBF1〜BF3の記憶内容が使用される。コマンドバッファ３０の内容は常に更新されているので、ダミーコマンドの内容も変化する。これによりダミーコマンドであるかどうかの判別を困難にでき、不正行為をやりにくくできる。
【０１０６】
＜コマンド送信処理＞
図９は、メイン基板１０のコマンド送信処理のフローチャートである。図１０は、コマンド送信のタイミングを説明するためのタイミングチャートである。以下、これらの図に基づき、発明の実施の形態に係るコマンド送信処理を説明する。
【０１０７】
図１０において、Ｔは割込処理の間隔であり、例えば１．５ｍｓである。ｔ１、ｔ２、ｔ３、ｔ４、・・・が割込処理の始期（割込処理開始タイミング）である。図９のコマンド送信処理は、２回に１回実行される。例えば、図１０のｔ２においてコマンド送信処理が開始される（ｔ４においても同様である）。その間隔は３ｍｓである。このため、コマンド（ダミーコマンドを含む）の送信間隔は３ｍｓとなる。なお、ｔ２などにおいてコマンド（正規コマンド）が送信されるか、ダミーコマンドが送信されるかは、図９のＳＴ１１の判定結果に従う。
【０１０８】
図９を参照して処理手順を説明する。
【０１０９】
ＳＴ１０：コマンド送信部３４は、コマンド送信タイミングであるかどうか判定する。
図１０のｔ２とｔ４であればＹＥＳとなりＳＴ１１に進み、ｔ１とｔ３であればＮＯとなり、図１０の処理を終える。
【０１１０】
ＳＴ１１：コマンド送信部３４は、コマンドバッファ３０を調べ未送信コマンドがあるかどうか判定する。
未送信コマンドがあるかどうかは例えばリングバッファのインデックスに基づき判定するが、この処理は公知であるので説明は省略する。
【０１１１】
ＳＴ１２：未送信コマンドがあるとき（ＳＴ１１でＹＥＳ）、コマンド送信部３４はコマンドバッファ３０からコマンド（４バイト）を読出し、これのチェックサムを求めて追加し（図８（ａ））、サブ基板２０へ送信する（例えば図１０のｔ２）。
【０１１２】
ＳＴ１３：未送信コマンドがないとき（ＳＴ１１でＮＯ）、コマンド送信部３４はコマンドバッファ３０から３バイトのデータ（例えば先頭の３バイトBF1〜BF3）を読出し、これのチェックサムを求めて追加し（図８（ｂ））、サブ基板２０へ送信する（例えば図１０のｔ２）。
【０１１３】
なお、抽選テーブルを選択するための設定変更時においては、コマンドバッファ３０の内容BF1〜BF128が全て０で埋められる。このため、設定変更時においてその先頭の３バイトBF1〜BF3に基づき生成されるダミーコマンドは、全てのビットが０である特殊なものとなる。このような特殊なコマンドを送信すると、メイン基板１０からサブ基板２０への通信を傍受している不正行為者に、遊技機が設定変更中であると容易に気づかせてしまう。これは好ましくないので、ダミーコマンドの送信は、設定変更が終了した後であって、正規コマンドが生成されてコマンドバッファ３０の少なくともBF1〜BF3が０以外になってから行うことが好ましい。この点については、後に再度説明を加える。
【０１１４】
＜コマンド受信装置＞
次にコマンド受信装置について説明を加える。コマンド受信装置（サブ基板２０）の説明においては、「コマンド」は、上記と異なり、特に断らない限り正規コマンドとダミーコマンドの両方を含むものとする。受信側において正規コマンドとダミーコマンドを区別できるのは判定処理（図１２のＳＴ２２）を行った後であるので、それ以前は受信したコマンドは正規コマンド又はダミーコマンドのいずれかであるとして扱うことが妥当である。
【０１１５】
サブ基板２０は、メイン基板１０と同様な構成（図５）を備える。すなわち、複数のビット（配線）からなるＢＵＳに、ＣＰＵ（処理装置）、ＲＯＭ（不揮発性記憶部）、メモリＲＷＭ（読み出し及び書き込み可能なメモリ）及びＩ／Ｏ（入出力装置）、タイマ回路ＴＭなどが接続されている。
【０１１６】
サブ基板２０のＣＰＵは、予め定められたプログラムに従い、複数の処理を所定の順番で繰り返し実行するメイン処理と、予め定められた間隔で行われる割込処理とを実行する。
【０１１７】
図１１は、発明の実施の形態に係る受信装置のブロック図である。図１１はサブ基板２０において実現される機能のブロック図であり、発明の実施の形態に関連する部分のみを示している。
【０１１８】
４０は、メイン基板１０から受けたコマンドを受信するコマンド受信部である。コマンド受信部４０は、例えば通信処理用のＩＣであり、自動的にコマンドを受信する。
【０１１９】
４１は、コマンド受信部４０で受けたコマンドを一時的に保存する受信バッファである。受信バッファ４１は先入れ先出しバッファ（ＦＩＦＯ）であり、所定のデータ（コマンド）を記憶し、記憶したデータをその順番で出力するものである。
【０１２０】
受信バッファ４１は、ＦＩＦＯなどのメモリＩＣで構成することもできる。あるいは、複数のメモリで構成することもできる。例えば、ＣＰＵの内部レジスタ又はメモリを受信バッファ（その１）とし、プログラムでアクセスされるメモリの一部を受信バッファ（その２）及び受信バッファ（その３）とし、これら受信バッファ（その１）〜（その３）全体が受信バッファ４１を構成するようにしてもよい。例えば、メイン基板１０からのコマンドは最初に受信バッファ（その１）に格納され、次に受信バッファ（その２）に格納され、その後受信バッファ（その３）に格納される。
【０１２１】
４２は、受信バッファ４１からコマンドを読み出して解析し、サブ基板２０のＣＰＵへ送るコマンド解析部である。コマンド解析部４２は、例えば、所定の割込タイミング（例えば図１３のコマンド受信チェックタイミング）で処理を開始する。
【０１２２】
＜コマンド受信処理（その１）＞
図１２は、コマンド受信部４０の処理フローチャートである。この処理は、例えば、図１５のｔ１０〜ｔ２１のチェックタイミングにおいて実行される。
【０１２３】
ＳＴ１９１：受信状況を判定する。
例えば、コマンド受信部４０に入力されている信号が変化しているときは受信有とし、変化がないときは受信無とする。
【０１２４】
ＳＴ１９２：受信有のときは、その旨を意味する「受信有」の信号を発生し、例えばコマンド解析部４２へ出力する。
【０１２５】
ＳＴ１９３：コマンド受信部４０は、変化している信号からデータを抽出し、受信バッファ４１に格納する。上記コマンドはバイトを単位としているので、バイトごとにデータを格納する。データの抽出処理は公知であるので、その説明は省略する。
【０１２６】
ＳＴ１９４：受信無のときは、その旨を意味する「受信無」の信号を発生し、例えばコマンド解析部４２へ出力する。
【０１２７】
＜コマンド受信処理（その２）＞
図１３はコマンドを確定する処理、つまり、コマンドを構成する全てのデータを受信したかどうかと判定し、受信したときにこれらのデータをひとつのまとまりとして解析するためにコマンド解析部４２に取り込む処理である。コマンドを構成する全てのデータを受信したと判定することを「コマンド確定」と記すことにする。図１３の処理については、図１５等を参照して後に具体的に説明を加える。
【０１２８】
図１３の処理全体が、図１４のＳＴ２０に相当する（ＳＴ２０１の「受信無」、ＳＴ２０３の「係数値≦閾値」は、ＳＴ２０の「ＮＯ」に対応する）。
【０１２９】
図１３の処理は、例えば、図１５のｔ１０〜ｔ２１のチェックタイミングにおいて実行される。
【０１３０】
ＳＴ２０１：コマンド解析部４２は、受信状況を判定する。
図１２のＳＴ１９２又はＳＴ１９４により「受信有」又は「受信無」の信号が送られてくるので、これに基づき受信状況を「受信有」又は「受信無」のいずれかに判定する。
【０１３１】
ＳＴ２０２：コマンド解析部４２は、「受信無」の回数を計数する。ここでの計数は、連続する「受信無」を計数するものとする。例えば、図１５のｔ１２とｔ１３で計数値は２回となる。「受信有」になったら、計数値をリセットする。例えば、図１５のｔ１５で計数値は４となるが、ｔ１６で０に戻る。この計数値は、後述のＧＡＰの時間に相当する（図１７及びその説明参照）。
【０１３２】
ＳＴ２０２は、受信無の信号が連続する期間（以下「継続時間」又は「受信無継続回数」）を予め定められた時間と比較することに相当する。例えば、連続する「受信無」の計数値に、コマンド受信チェックタイミングの間隔を乗じた期間を、継続時間とすることができる。以下の説明では、説明の便宜上、受信無の信号が連続する期間を、単に「継続時間」と記載する。
【０１３３】
ＳＴ２０３：コマンド解析部４２は、計数値を閾値と比較する。
係数値が閾値以上又は閾値を超えたとき、ＳＴ２０４を実行する。そうでないときは処理を終了する。
【０１３４】
閾値は後述のＧＡＰ２に相当する。これについては後述する。
【０１３５】
ＳＴ２０４：コマンド解析部４２は、受信バッファ４１からコマンドを読み出す。
受信バッファ４１には受信したデータであって、まだ読み出されていないデータが格納されているので、それらを読み出す。これらのデータは、前回コマンド確定した際において、Ｓ２０３で計数値＞閾値と判定され、ＳＴ２０４で読み出された後に格納されたデータである。それらデータ全体がひとつのコマンドを構成する。このコマンドが適正なものであるかどうかは、図１４の処理で判定する。図１５の例ではｔ１３とｔ１９でコマンドを読み出す。
【０１３６】
なお、受信無が連続するような場合もＳＴ２０３で係数値＞閾値となるが、この場合は受信バッファ４１の中にデータが無いのでＳＴ２０４はスキップされる。図１５の例ではｔ１４、ｔ１５においてＳＴ２０４はスキップされる。
【０１３７】
＜コマンド受信処理（その３）＞
図１４は、サブ基板２０のコマンド受信処理のフローチャートである。図１５及び図１６は、コマンド受信のタイミングを説明するためのタイミングチャートである。以下、これらの図に基づき、発明の実施の形態に係るコマンド送信処理を説明する。
【０１３８】
図１５及び図１６の符号を説明する。
【０１３９】
ｔｍ１、ｔｍ５はメイン基板１０におけるコマンド送信開始タイミングである。
【０１４０】
ｔｍ２、ｔｍ６はメイン基板１０におけるコマンド送信終了タイミングである。
【０１４１】
ｔｓ１、ｔｓ５はサブ基板２０におけるコマンド受信開始タイミングである。
【０１４２】
ｔｓ２、ｔｓ６はサブ基板２０におけるコマンド受信終了タイミングである。
【０１４３】
ｔｍ１とｔｓ１の差は、コマンドの伝播時間に相当する。サブ基板２０のコマンド受信の箱の下の受信状況は、コマンド受信部４０の受信状況を示す。
【０１４４】
ｔ１０〜ｔ２１は、コマンド解析部４２によるコマンド受信のチェックタイミングである。この間隔はメイン基板１０のコマンド送信タイミング（３ｍｓ）に応じて定められ、例えば５００μｓである。この下のコマンド受信チェック結果「受信有」「受信無」は、ｔ１０〜ｔ２１においてコマンドを受信していたか否かの判定結果である。
【０１４５】
ＧＡＰはデータを受信しない期間（隙間）である。
【０１４６】
コマンド受信部４０は、メイン基板１０からコマンドを受けると、受けた順番に受信バッファ４１に書き込んでいく。例えば、ｔｓ１からｔｓ２において合計５バイトのデータが受信バッファ４１に書き込まれる。
【０１４７】
コマンド解析部４２はｔ１０においてコマンド受信チェックを行う（図１２）。
【０１４８】
あるいは、前回の受信チェックのとき（図示せず）と比較してｔ１０において受信バッファ４１に新たなデータが書き込まれているので、コマンド解析部４２は「受信有」と判定するようにもできる。この判定は、例えば、受信バッファ４１のインデックスの位置に基づき行う。
【０１４９】
コマンド解析部４２はｔ１１においてコマンド受信チェックを行うが、ｔ１０〜ｔｓ２の間に新たなデータを受信し、これが受信バッファ４１に書き込まれているので、コマンド解析部４２は「受信有」と判定する。
【０１５０】
コマンド解析部４２はｔ１２においてコマンド受信チェックを行うが、受信バッファ４１のデータはｔ１１のときと変わらないので、コマンド解析部４２は「受信無」と判定する。
【０１５１】
ｔ１３以降も同様である。
【０１５２】
コマンド確定には、コマンドの受信開始ｔｓ１から受信無確定のｔ１３までの期間を要する（他も同様）。
【０１５３】
図１３からわかるように、コマンド確定に要する時間（ｔｓ１〜ｔ１３）は、コマンドの実際の受信時間（ｔｓ１〜ｔｓ２）よりも長い。例えば、コマンド受信のチェックタイミングの間隔（５００μｓ）の２倍程度長くなる。
【０１５４】
他方、コマンド受信チェックによる「受信無」の期間は、コマンドの実際の受信無の時間（ｔｓ２〜ｔｓ５、隙間ＧＡＰ）よりも短い。なお、コマンドを正しく受信するためには、複数のコマンド間に「受信無」の期間が少なくともひとつ（以下の例では少なくとも２つ）必要である。この条件を満たすようにダミーコマンドの長さは選択される（前記（条件１）参照）。
【０１５５】
図１４を参照して処理手順を説明する。この処理は、ｔ１０〜ｔ２１のタイミングで起動される。
【０１５６】
ＳＴ２０：コマンド解析部４２は、コマンドを受信したかどうか判定する。
この処理は、図１３のＳＴ２０１〜ＳＴ２０４からなる。
コマンドを受信した（ＹＥＳ）となるのは、ＳＴ２０３で係数値＞閾値となったときである（図１５のｔ１３、ｔ１９）。これ以外の場合、例えば「受信有」のときはコマンド受信中でありコマンド受信未了なので、コマンドを受信していない（ＮＯ）となる。「受信無」が連続している場合も同様である（ＮＯ）。このケースはそもそもデータを受信していない。
【０１５７】
「ＹＥＳ」であればＳＴ２１に進む。「ＮＯ」であれば図１２の処理を終了する。
【０１５８】
ＳＴ２１：コマンド解析部４２は、受信バッファ４１から受信したコマンドを読み出し、その構成を調べ、その長さをチェックする。
コマンド（正規コマンド）はチェックサムを含む５バイトである。ダミーコマンドはチェックサムを含む４バイトである。
【０１５９】
また、後述のように、不正コマンドの場合は、複数のコマンドが結合されて５バイトよりも長くなる（図１６及びその説明参照）。
【０１６０】
ＳＴ２２：コマンド解析部４２は、コマンド長さが適正かどうか判定する。
上記例では、適正な長さ（基準長）は５バイトである。５バイトのとき「ＹＥＳ」、これ以外の長さのコマンドは「ＮＯ」となる。４バイト以下、６バイト以上はいずれも「ＮＯ」である。
【０１６１】
ＳＴ２３：ＳＴ２２で「ＹＥＳ」のとき、コマンド解析部４２は当該コマンドを解析して、解析結果をサブ基板２０のＣＰＵに渡す。解析処理は公知なので説明は省略する。
【０１６２】
ＳＴ２４：ＳＴ２２で「ＮＯ」のとき、コマンド解析部４２は当該コマンドを破棄する。当該コマンドはＣＰＵに渡されず、サブ基板２０の処理に影響を与えない。「ＮＯ」となるのは例えばダミーコマンドであり、その長さは４バイトであり、基準長≠４バイトである。あるいは他のコマンドと結合された不正なコマンドであり、その長さは１０バイト以上である。
【０１６３】
なお、図１２においては、ＳＴ２２で「ＮＯ」のときの処理の意義を明確にするために「コマンド破棄」処理を示しているが、「コマンド破棄」とはこのコマンドを次の処理に渡すことをせず、保持することもしないという意味である。実際には、何もせず処理１２を終了するようにしてよい。すなわち、ＳＴ２４の処理は不要である。
【０１６４】
図１５を参照して、図１４の処理の具体例を説明する。図１５は、不正コマンドが存在しない場合である。
【０１６５】
ｔ１０とｔ１１では図１３のＳＴ２０１で「受信有」となるが、ｔ１２〜ｔ１５では「受信無」となる。閾値＝１とすれば、ｔ１２では計数値＝１であるのでＳＴ２０３で「計数値≦閾値」となり、ＳＴ２０４は実行されない。ｔ１３では計数値＝２であるのでＳＴ２０３で「計数値＞閾値」となり、ＳＴ２０４が実行される。これによりコマンド確定となる。ＳＴ２０４で読み出されたコマンド（ｔｓ１〜ｔｓ２で受信したもの）は、コマンド解析部４２で解析される。すなわち、図１４のＳＴ２１以降が実行される。コマンド（ｔｓ１〜ｔｓ２で受信したもの）は正規コマンドであるので、ＳＴ２２でＹＥＳ、Ｓ２３が実行される。
【０１６６】
図１６を参照して、図１４の処理の具体例を説明する。図１６は、不正コマンドが存在する場合である。
【０１６７】
ｔ１０とｔ１１では図１３のＳＴ２０１で「受信有」となるが、ｔ１２では「受信無」となる。閾値＝１とすれば、ｔ１２では計数値＝１であるのでＳＴ２０３で「計数値≦閾値」となり、ＳＴ２０４は実行されない。
【０１６８】
ｔｘ１〜ｔｘ２で受信した不正コマンドがあるため、ｔ１３で再び「受信有」となる。ここで計数値がリセットされる。
【０１６９】
ｔ１５では計数値＝１であるのでＳＴ２０３で「計数値≦閾値」となり、ＳＴ２０４は実行されない。
【０１７０】
ｔ１９で初めて計数値＝２となり、ＳＴ２０３で「計数値＞閾値」となり、ＳＴ２０４が実行される。これによりコマンド確定となる。ＳＴ２０４で読み出されたコマンドは、コマンド解析部４２で解析される。
【０１７１】
ｔ１９で読み出されるものは、ｔｓ〜ｔｓ２及びｔｓ５〜ｔｓ６のコマンドとｔｘ１〜ｔｘ２の不正コマンドが結合されたものである。受信バッファ４１はこれらのデータが残っているので、それら全てがひとまとまりのデータでありひとつのコマンドとして扱われる。したがって、ｔ１９で読み出されたコマンドは非常に長いもの（１５バイト）となり、図１４のＳＴ２２で「ＮＯ」となり、破棄される。
【０１７２】
受信バッファ４１が、複数のメモリ（前述の受信バッファ（その１）〜（その３））で構成される場合について補足する。
【０１７３】
メイン基板１０から送られてきたコマンドは、まずサブ基板２０のＣＰＵ内部の受信バッファ（その１）に、ＣＰＵの受信処理に伴い自動的に格納される。
【０１７４】
ソフトウエア処理により、受信バッファ（その１）を備えるＣＰＵから、メモリ内の受信バッファ（その２）に受信したコマンドを移動させる。具体的には、コマンド受信タイミングで、受信バッファ（その１）にコマンドが格納されるとき(コマンド受信チェック結果が受信有)のとき、受信バッファ（その１）から受信バッファ（その２）にコマンドが移動される。
【０１７５】
受信バッファ（その１）に格納されているコマンドがなくなり、受信コマンドチェック結果が受信無を２回繰り返したとき、１つのコマンドが確定する。このときに受信バッファ（その２）に格納されたコマンド長を判定する（ＳＴ２２）。正規のコマンド長であれば、受信バッファ（その３）に移し、解析する（ＳＴ２３）。
【０１７６】
この例では、受信バッファ４１が複数のメモリで構成され、それらの間を移動する間にコマンド長を判定しているが、このように構成してもよい。この場合、受信バッファ４１がコマンド解析部４２の一部を含むと考えてもよい。コマンド長の判定は、コマンド受信部４０内部に一時的なバッファを備えているとしてその出力で行うこともできるし、上述のように受信バッファ４１の内部で行うこともできる。また、コマンド解析部４２でコマンドを受ける際に行うようにしてもよい。
【０１７７】
この発明の実施の形態によれば、受信バッファ４１からの読み出しを、ＳＴ２０３の係数値＞閾値のときに行うので、メイン基板からサブ基板へのデータ伝送路に不正にアクセスし、上記報知を不正に行わせる、いわゆるゴト行為を防止することができる。
【０１７８】
すなわち、この発明の実施の形態によれば、サブ基板において、受信無の信号の継続時間を閾値（ＧＡＰ２）と比較し、継続時間が閾値よりも長くなったときコマンドを読み出すので、通常よりも隙間の狭い複数のコマンド（ダミーコマンド、不正なコマンドを含む）が一緒に受信バッファ４１に記憶され、それらがひとつのコマンドとして読み出される。つまり、不正なコマンドはその前及び／又は後のコマンドと結合される。そして、そのコマンドの長さを調べ、コマンドの長さが予め定められた基準長と異なるときはコマンドを破棄するようにしたので、通常よりも隙間の狭い複数のコマンドは、破棄される（不正なコマンドが挿入されると隙間が通常よりも狭くなる）。これにより、不正なコマンドがサブ基板で正規コマンドのように扱われることを防止できる。
【０１７９】
例えば、所定の当選役に当選したとき、正解となる押し順で停止操作を行うことにより、特定の図柄組合せが表示され、この特定の図柄組合せが表示されたことに基づいて、リプレイが高確率で当選する状態とするとともに、当該状態において当選役を報知する打順報知とするためのコマンドに関して、その不正を防止することができる。不正行為者が、正解打順を報知させるために、特定の当選役に当選したという情報（コマンド）を不正基板からサブ基板へ送ることができず、不正行為者は正解打順で停止操作を行えず、配当の高い小役の入賞による利益を得ることができない。
【０１８０】
この発明の実施の形態は、「不正行為者の付け入る隙」を与えない。図１５及び図１６のように隙間ＧＡＰの一部をコマンド確定に使用しているので、コマンドとコマンドの間の隙間が狭くなる。このため、この狭くなった隙間で不正コマンドを送ることができない。この隙間ＧＡＰで不正コマンドを送ると図１６に示すようにコマンドを分離できず、複数のコマンドが連結されて解釈される。コマンド長が正規の長さ（５バイト）を超えてしまうから異常と判定され、当該コマンドは破棄され、実行されることがない。不正行為者は不正な利益を得ることができない。
【０１８１】
なお、発明の実施の形態では、サブ基板２０のコマンドの受信間隔を一定にするためにダミーコマンドを送信しているが、このダミーコマンドは正規コマンドよりも短いので、以下に述べるように特許文献１の問題は生じない。コマンド長で正規コマンドとダミーコマンドを区別しているので、正規コマンドの種類を減らすことがなく、また、コマンド解析の処理負荷を増やすことがない。
【０１８２】
特許文献１によれば、不正なコマンドデータの送信を防止できるが、前述の（１）（２）という問題があった。
【０１８３】
（１）は「コマンドの種類が減少する」というものであるが、発明の実施の形態によればコマンド長で正規コマンドとダミーコマンドを区別しているので、特定のコード（例えば１０Ｈ）をダミーコマンドに割り当てる必要がなく、したがって正規コマンドに使用できるコードが減るといったことがない。
【０１８４】
（２）は「ダミーコマンドも正規コマンドと同様に解析しなければならない（そうしないと両者を区別できない）」というものであるが、発明の実施の形態によればコマンド長で正規コマンドとダミーコマンドを区別しているので、コマンド解析の前にその構造の違いで両者を区別できる。したがって、コマンド解析のためにＣＰＵの処理負荷が増えるという問題が生じない。
【０１８５】
＜「閾値」の検討＞
次に、図１７を参照して、図１３の閾値の定め方について検討する。閾値を適切に定めることにより、不正コマンドデータの送信防止という効果を奏することができる。
【０１８６】
コマンド受信間隔が一定の範囲内に収まっているとして、その最小値を最小受信間隔、その最大値を最大受信間隔とする。図１７（ａ）は最小受信間隔のときのタイミングチャートを示し、図１７（ｂ）は最大受信間隔のときのタイミングチャートを示す。ＧＡＰは、不正コマンド以外のコマンド間の隙間である。ＧＡＰ２は閾値に相当する。ＧＡＰ２は、実際はコマンド受信チェックタイミングの間隔を単位とする離散値であるが、ここでは説明を簡単にするために連続値とする。
【０１８７】
図１７（ｂ）は不正コマンドが結合されるか、されないかの境界事例を示している。つまり、図１７（ｂ）は不正コマンドを連結する最小のＧＡＰ２を示している。ＧＡＰ２がこれよりも少しでも短くなると、不正コマンドが正規コマンドとして扱われてしまう。
【０１８８】
図１３において閾値は自然数であるが、これはコマンド受信を一定間隔で行っていて当該間隔を単位として計時していることに相当する。したがって、図１３のＳＴ２０３での判断の基礎としているのは時間である。閾値（時間）は、次の条件を満たす必要がある。
【０１８９】
（条件３）正規コマンドを誤って結合して破棄されることがないこと
【０１９０】
（条件４）不正コマンドを誤って正規コマンドと認識することがないこと。言い換えれば、隙間ＧＡＰに挿入された不正コマンドは常に隣接する正規コマンド（又はダミーコマンド）と結合されること。
【０１９１】
＜（条件３）の検討＞
図１７（ａ）はコマンドが結合されない状態を示す。図１７（ａ）によれば、次の関係が成立する。なお、この項において、「コマンド」は正規コマンドとダミーコマンドの両方を指すものとする。
（コマンド確定に要する時間）＝（コマンド受信時間）＋ＧＡＰ２
（コマンド確定に要する時間）＜（最小受信間隔）
【０１９２】
ダミーコマンドを含む場合、コマンド長の違いに起因して（コマンド受信時間）は正規コマンドとダミーコマンドで異なるが、ここでは説明を簡単にするために両者は同じであるとする（より正確に検討するときは、それぞれの受信確率に基づきその受信時間の期待値を求めるとよい）。
【０１９３】
上記式から、
（コマンド受信時間）＋ＧＡＰ２＜（最小受信間隔）
ＧＡＰ２＜（最小受信間隔）−（コマンド受信時間）
【０１９４】
ＧＡＰ２（閾値）を上記のように定めれば、コマンド確定に要する時間が経過した後に次のコマンドを受信するので、正規コマンドを誤って結合して破棄されることがなくなる。
【０１９５】
＜（条件４）の検討＞
図１７（ｂ）によれば、次の関係が成立する。
（コマンド受信時間）＋ＧＡＰ２＋（不正コマンド受信時間）＋ＧＡＰ２＝（コマンドの最大受信間隔）
【０１９６】
不正コマンドは、自身を正規コマンドとして実行させることを目的とし、正規コマンドと同じ構造をしているから、（コマンド受信時間）＝（不正コマンド受信時間）である。したがって、
ＧＡＰ２＝（コマンドの最大受信間隔）／２−（コマンド受信時間）
が得られる。
【０１９７】
図１７（ｂ）のＧＡＰ２は、（条件４）を満たす最小値を示すから、ＧＡＰ２が満たすべき条件は次のようになる（境界値は含めないようにした）。
ＧＡＰ２＞（コマンドの最大受信間隔）／２−（コマンド受信時間）
【０１９８】
ＧＡＰ２（閾値）を上記のように定めれば、コマンド確定に要する時間が複数のコマンド（不正コマンドを含む）に跨がり、不正コマンドは常にその前又は後のコマンドと結合されるので、不正コマンドを誤って正規コマンドと認識することがなくなる。
【０１９９】
なお、「受信無継続回数」で判断する場合は、ＧＡＰ２をコマンド受信チェックタイミングの間隔で除したときの商が閾値（回数閾値）となる。前述の例では、回数閾値＝２であった。
【０２００】
なお、コマンド受信間隔が一定でなくても、その変動幅が（条件３）と（条件４）を同時に満たすＧＡＰ２の存在し得る範囲であれば、本発明の実施の形態に係る処理を適用することができる。よって、ダミーコマンドを送信することは、必須ではない。
【０２０１】
（コマンドの最大受信間隔）が大きくなり、（コマンドの最小受信間隔）が小さくなると、つまり、コマンドの受信間隔の変動幅が大きくなると、（条件３）と（条件４）を同時に満たすことができなくなる。この場合、何らかの手法で（コマンドの最大受信間隔）と（コマンドの最小受信間隔）の差を小さくする必要がある（例えばダミーコマンド）。（コマンドの最大受信間隔）と（コマンドの最小受信間隔）を完全に一致させることは必須ではないが、そのようにしてもよい。
【０２０２】
＜コマンド受信間隔が一定の場合＞
コマンド受信間隔がほぼ一定、つまり（コマンドの最小受信間隔）≒（コマンドの最大受信間隔）であるとき、これらを（コマンドの受信間隔）とすると、
（コマンドの受信間隔）／２−（コマンド受信時間）＜ＧＡＰ２＜（コマンドの受信間隔）−（コマンド受信時間）
となる。
【０２０３】
この式からわかるように、コマンド受信間隔が一定であれば、（条件３）と（条件４）を同時に満たすＧＡＰ２が常に存在する（ただし、（コマンドの受信間隔）≠０）。
【０２０４】
図１５の例に基づきＧＡＰ２（閾値）を計算してみる。以下の例では、「受信無継続回数」で判断するものとし、以下の数値は、コマンド受信チェックタイミングの間隔を単位とする計数値とする。図１５の例では、（コマンドの受信間隔）＝６、（コマンド受信時間）＝２である（コマンド受信チェックタイミングの間隔を１とした。例えば、１単位＝ｔ１１−ｔ１０）。
【０２０５】
（コマンドの受信間隔）／２−（コマンド受信時間）＝６÷２−２＝１
（コマンドの受信間隔）−（コマンド受信時間）＝６−２＝４
１＜ＧＡＰ２＜４となり、したがって、ＧＡＰ２＝２又は３となる。
【０２０６】
図１５の例は、ＧＡＰ２＝２の例を示すが、図１５によれば、ＧＡＰ２＝３でも（条件３）を満たすことが理解できる。また、図１６によれば、ＧＡＰ２＝３でも（条件４）を満たすことが理解できる。
【０２０７】
＜電源断からの復帰の際の処理＞
コマンド送信は、図１０に示すように一定間隔Ｔで実行されている。この間隔Ｔは、サブ基板２０の受信の際にコマンドとコマンドの間に隙間が生じるように予め定められている。この隙間によりコマンドの受信が完了したこと、具体的には図１４のＳＴ２０でＹＥＳと判定できるようになる。この隙間が無いと、サブ基板２０において、複数のコマンドがひとつのコマンドとして誤認され、電文過多（バイト数が予め定められた数よりも多い）となり、エラーとなる。
【０２０８】
通常の場合はコマンド送信が一定間隔Ｔで行われるが、特定の場合、例えば、遊技機の電源をオフにしてから再度電源をオンにするという、電源断からの復帰の際にはこの間隔が崩れることがある。
【０２０９】
このことについて図１８を用いて説明する。電源断からの復帰すると所定の復帰処理が実行され、タイマによる割込が発生するが、電源断からの復帰処理を行っている間は割込が禁止される（ｔＡからｔＢ）。この間のｔｓ１とｔｓ２は、割込のタイミングであっても割込処理は実行されない。割込禁止が解除された時点ｔＢで割込が再開され、割込処理がｔ２’で実行される。ｔｓ２’はｔｓ２と同じでなく、これらの間に時間差αが存在する。図１８の例ではｔｓ２’はｔｓ２よりも遅く、この結果次の割込処理による割込開始タイミングｔｓ３との間隔が、通常の間隔よりもα分短くなっている（短い間隔＝Ｔ−α）。
【０２１０】
図１８に示すように、電源断からの復帰の際に割込禁止期間が設定されるため、その解除の直後のコマンド送信間隔が崩れている。割込再開のタイミングは不定であり、ｔｓ１などの割込処理の開始タイミングとは同期していない。このため、図１８のように割込処理の間隔が通常よりも短くなることがある。これにより隙間が無くなり、サブ基板２０において電文過多エラーが発生するおそれがある。
【０２１１】
上記不具合を回避するためには、図１９に示すように、電断復帰後の最初の割込開始タイミングｔｓ２’ではコマンド送信処理を実行せず、二回目以降の割込開始タイミングｔｓ３でコマンド送信処理を実行する。コマンド送信間隔Ｔ（３ｍｓ）が守られるため、サブ基板２０において電文過多エラーが発生することがなくなる。
【０２１２】
なお、図１９の「電断復帰後の最初の割込開始タイミングではコマンド送信処理を実行しない」処理は、ダミーコマンドを送信しない場合にも適用することができる。この場合も同様に電文過多エラーの発生を防止できる。
【０２１３】
＜設定変更時のダミーコマンド生成の一時中断＞
遊技機の電源がオンになるとメイン処理が起動する。初期設定の後に最初に行われるのが設定変更処理である。前述のように、抽選テーブル選択処理では、図示しない記憶手段（ＲＯＭ）に格納されている複数の抽選テーブルのうち、いずれの抽選テーブルを用いて内部抽選を行うかを決定するが、設定変更処理はどの抽選テーブルを用いるかを設定するためのものである。遊技機の電源のオンは、ホール店員が遊技機の前扉を開けて、内部の電源スイッチをオンにすることで行うが、その際に設定変更スイッチを操作することで設定変更処理が実行される。設定変更スイッチが操作されなければ設定変更処理はスキップされる。設定変更処理は公知であるので、その詳しい説明は省略する。
【０２１４】
抽選テーブルを選択するための設定変更時においては、コマンドバッファ３０の内容BF1〜BF128が全て０で埋められる。このため、設定変更時においてその先頭の３バイトBF1〜BF3に基づき生成されるダミーコマンドは、全てのビットが０である特殊なものとなり、好ましくない。
【０２１５】
そこで、ダミーコマンドの生成及び送信は、設定変更が終了した後であって、正規コマンドが生成されてコマンドバッファ３０の少なくともBF1〜BF3が０以外になってから行うようにする。具体的には、正規コマンドが所定数（例えば１つ以上）生成されたことを確認したときに初めてダミーコマンドを生成する。正規コマンドが生成されたかどうかはコマンドバッファ３０のインデックスに基づき判定することができる。あるいは、設定変更終了時点にタイマで計時を開始し、所定時間経過したときにダミーコマンドを生成してもよい。
【０２１６】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【０２１７】
１０    メイン基板
２０    サブ基板
３０    コマンドバッファ
３１    コマンド生成部
３２    コマンド書込部
３４    コマンド送信部
４０    コマンド受信部
４１    受信バッファ
４２    コマンド解析部
【図１】
0006371994.tif 000002
【図２】
0006371994.tif 000003
【図３】
0006371994.tif 000004
【図４】
0006371994.tif 000005
【図５】
0006371994.tif 000006
【図６】
0006371994.tif 000007
【図７】
0006371994.tif 000008
【図８】
0006371994.tif 000009
【図９】
0006371994.tif 000010
【図１０】
0006371994.tif 000011
【図１１】
0006371994.tif 000012
【図１２】
0006371994.tif 000013
【図１３】
0006371994.tif 000014
【図１４】
0006371994.tif 000015
【図１５】
0006371994.tif 000016
【図１６】
0006371994.tif 000017
【図１７】
0006371994.tif 000018
【図１８】
0006371994.tif 000019
【図１９】
0006371994.tif 000020