(57)【特許請求の範囲】
【請求項１】
遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板は、
前記コマンドを構成する第１電文及び第２電文を発生する電文発生部と、
前回発生した乱数値を記憶する第１記憶部と、前記第１記憶部の値を予め定められた定数と乗算する第１乗算器と、前記第１乗算器の出力に予め定められた定数を加算する第１加算器と、予め定められた定数に基づき前記第１加算器の出力の剰余を求める第１剰余計算器とを含み、前記第１剰余計算器の出力を前記第１記憶部に記憶するとともに、乱数値として出力する第１乱数発生器と、
入力された値に対して前記第１乱数発生器の出力に基づき所定の演算を行う第１演算部と、
前記第１演算部に対して前記第２電文又は予め定められた値のいずれか一方を選択して入力する第１切替器と、
前記第１電文及び前記第１演算部の出力を前記サブ基板へ送信する送信部と、
前記第１電文に基づき前記第１切替器を制御する第１切替器制御部とを備え、
前記サブ基板は、
前記メイン基板から前記第１電文及び前記第１演算部で演算された第２電文を受信する受信部と、
前回発生した乱数値を記憶する第２記憶部と、前記第２記憶部の値を予め定められた定数と乗算する第２乗算器と、前記第２乗算器の出力に予め定められた定数を加算する第２加算器と、予め定められた定数に基づき前記第２加算器の出力の剰余を求める第２剰余計算器と、前記第２剰余計算器の出力又は所定の特別乱数値のいずれか一方を選択して出力する第２切替器と、前記第１電文に基づき前記第２切替器を制御する第２切替器制御部とを含み、前記第２剰余計算器の出力又は前記特別乱数値のいずれかを前記第２記憶部に記憶するとともに、前記第２剰余計算器の出力を乱数値として出力する第２乱数発生器と、
前記第２電文に対して前記第２乱数発生器の出力に基づき所定の演算を行う第２演算部と、
前記第１電文と前記第２演算部の出力を前記コマンドとして出力する電文出力部と、
前記第２電文に基づき前記特別乱数値を生成する第３演算部とを備え、
前記第１電文が、前記第２電文を伴わないコマンドを構成する予め定められた特定の電文であって、前記電文発生部が前記第２電文を発生しないときに、
前記第１切替器制御部は、前記予め定められた定数を選択するように前記第１切替器を制御し、
前記第２切替器制御部は、前記特別乱数値を選択するように前記第２切替器を制御する、ことを特徴とする遊技機。
【請求項２】
前記第１乱数発生器及び前記第２乱数発生器が出力する乱数、並びに、前記特別乱数値は、それぞれ複数ビットからなり、
前記第１演算部は、前記複数ビットの上位側の値を用いて演算を行い、下位側の値は使用せず、
前記第１乱数発生器は、前記第１電文が前記特定の電文であるときに、前記第１記憶部に記憶した乱数値の下位側ビットを予め定められた定数に設定する下位側ビットクリア部を含み、
前記第２演算部は、前記複数ビットの上位側の値を用いて演算を行い、下位側の値は使用せず、
前記第３演算部は、前記第２電文を上位側に対応させ、下位側に前記予め定められた定数を対応させて演算することにより前記特別乱数値を生成する、ことを特徴とする請求項１記載の遊技機。
【請求項３】
前記メイン基板は、
所定の設定値に基づき内部抽選を行う内部抽選手段と、
所定のエラーに関する処理を行うエラー処理部とを備え、
前記特定の電文は、前記設定値の変更に係るコマンドの電文、又は、前記エラーの解除に係るコマンドの電文であることを特徴とする請求項１又は請求項２記載の遊技機。
【請求項４】
前記第１切替器は、前記コマンドとは無関係なダミー値を選択できるように構成され、前記第２電文、前記予め定められた定数又は前記ダミー値のいずれかひとつを選択するものであり、
前記第１切替器制御部は、
前記第１電文が前記特定の電文であるとき、前記第１切替器を前記予め定められた定数を選択するように制御し、
前記第１電文が前記特定の電文ではなく、かつ、前記第２電文を伴わないものであるとき、前記第１切替器を前記ダミー値を選択するように制御し、
前記第１電文が前記第２電文を伴うとき、前記第１切替器を前記第２電文を選択するように制御することを特徴とする請求項１乃至請求項３いずれかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットマシンなどの遊技機に関するものである。
【背景技術】
【０００２】
従来から外周面に図柄が配列された複数の回胴を備えた遊技機（回胴式遊技機、スロットマシン）が知られている。この種の遊技機は、遊技媒体（メダル）に対して一定の遊技価値を付与し、このような遊技媒体を獲得するための遊技を行うものである。また、この種の遊技機は、遊技者の回転開始操作を契機として、内部抽選を行うとともに複数の回胴の回転を開始させ、遊技者の停止操作契機として、内部抽選の結果に応じた態様で複数の回胴を停止させる制御を行っている。そして、遊技の結果は、複数の回胴が停止した状態における入賞判定ライン上に表示された図柄組み合わせによって判定され、遊技の結果に応じてメダル等の払い出しなどが行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2001-246122号公報  メイン基板は、制御コマンド群のうちの所要コマンドのみを暗号化した制御コマンド群と、この暗号化のために用いたデータとをサブ基板へ送信し、サブ基板は、受信した暗号化された制御コマンド群を受信したデータを用いて復号する。
【特許文献２】特開2002-95843号公報  メイン基板が暗号アルゴリズムを有し、サブ基板が暗号アルゴリズムと対構成された復号アルゴリズムを有し、メイン基板が暗号アルゴリズムでコマンドを暗号化してサブ基板に出力し、サブ基板は受信したコマンドを復号化する。
【特許文献３】特開2010-51674号公報  メイン基板は、複数の暗号化アルゴリズムのうちいずれかにより認証データを暗号化し、暗号化された暗号化認証データを付加して大当たりコマンドをサブ基板へ送信する。サブ基板は、大当たりコマンドを受信し、メイン基板が使用する複数の暗号化アルゴリズムのそれぞれに対応する復号化アルゴリズムにより、受信した大当たりコマンドに付加されている暗号化認証データをそれぞれ復号化し、その復号化結果に基づいて認証を行う。
【特許文献４】特開2005-185375号公報  遊技機の乱数生成アルゴリズムとして、線形合同法を用いていることを開示する。
【特許文献５】特開平9-200197号公報  乱数列が非同期になったら、同期するまで、記憶手段にある乱数列を順次取り出して照合するようにした。
【特許文献６】特開2005-318041号公報  パケットA、B、C、Dというコマンドを送ったときに、通信上のトラブルで、パケットBが欠落した場合、パケットAはこれに対応した乱数列Aで復号化できるが、パケットBが欠落しているため、パケットＣがパケットＢに対応した乱数列Ｂで復号化され、パケットＤがパケットＣに対応した乱数列Ｃで復号化されるというズレが生じる。このため、パケット量を見てそのロス分(パケットB分)だけ、乱数列を発生させて消費させるようにして、パケットCがこれに対応した乱数列Cで、パケットDがこれに対応した乱数列Dで複合化できるようにした。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
スロットマシンやパチンコ機などの遊技機はマイコンを内蔵していて、抽選・入賞・払い出し・演出の制御をプログラムで実現している。この種の遊技機は、遊技者の操作を受けて内部抽選及び該抽選結果に応じた入賞判定を行うとともに、入賞に応じて遊技媒体の払い出し制御を行うメイン基板と、メイン基板から遊技者の操作を受けて処理を行い生成したコマンドを受けて内部抽選の結果を報知したり各種演出を行うサブ基板とを備えている。スロットマシンのブロック図を図３に示す。
【０００５】
サブ基板２０はメイン基板１０からコマンドをうけ、これに従って演出等の処理を行う。コマンドの流れはメイン基板１０からサブ基板２０への一方のみであり、逆にサブ基板２０からメイン基板１０へコマンド等が出されることはない。
【０００６】
遊技機は、液晶表示装置、スピーカや表示ランプ等からなる演出表示装置を備える。この演出表示装置はサブ基板２０により制御され、遊技者に入賞等を報知したり、いわゆるアシストタイム（ＡＴ）において、一定ゲーム間に特定の小役を台自体が何らかのアクションを伴ってユーザに教えたりするためのものである。（アシストタイム（ＡＴ）：特定の小役が成立しても遊技者がリールの図柄を揃えないと払い戻しがない。小役による払い出しを確実にするために、ビッグボーナス終了後（もしくは成立時）あるいはその他の任意の契機にアシストタイムを抽選し、これに当選すると一定ゲーム間は特定の小役を揃えさせるための操作を何らかのアクションを伴って遊技者に教えるという機能）
【０００７】
上記ＡＴのように、サブ基板２０側のソフトウエアで当選内容を示唆する演出を行っている遊技機がある。具体的には、上述のように出玉を得るための示唆を液晶表示装置に表示して遊技者の操作の便宜の提供（アシスト）を図っている。当該示唆は常時出されるわけではなく、特定の場合に出される。
【０００８】
ところで、遊技機に対して不正行為を働く者がいる。不正行為によりより多くの出玉を得て利益を得ようとするのである（このような行為は「ゴト行為」と呼ばれる）。上述のように、最近の遊技機はサブ基板２０で遊技者の便宜を図っていることから、サブ基板２０に対する不正行為が行われるようになっている。このような不正行為として、次のようなものがある。
【０００９】
・不正読み取りゴト
メイン基板とサブ基板の間の通信を傍受し、サブ基板の報知が無いときでも押し順や押下位置を知ることにより利益を得るもの。
・コマンド挿入ゴト
メイン基板とサブ基板の間の通信に介入し、当たりのコマンドを不正に挿入するもの。
・コマンド書き換えゴト
メイン基板とサブ基板の間の通信に介入し、ハズレのコマンドを当たりのコマンドに書き換えるもの。
【００１０】
現状の遊技機では、コマンドの電文（データ、デジタル二値）をシリアル信号に変換してそのまま送信しており、コマンド体系が知られてしまうと上記のような不正行為が容易に実行できてしまう。
【００１１】
そこで、メイン基板とサブ基板の間の通信を暗号化することにより、上記不正行為の実行を困難にすることが考えられている。
【００１２】
通信を暗号化する際によく用いられるものとして共通鍵暗号がある。これは例えば、送信側と受信側でそれぞれ同じ鍵（共通鍵）をもち、これに基づいて所定のアルゴリズムを用いて送信側と受信側のそれぞれで乱数を発生させ、送信側では当該乱数でデータを暗号化し、受信側では当該乱数を用いて暗号化されたデータを復号化するというものである。暗号化のアルゴリズムが知られても共通鍵を秘密にしておけば解読は困難であり、通信の秘密は保たれる。遊技機の例では、共通鍵はメイン基板のＲＯＭとサブ基板のＲＯＭそれぞれに予め格納されることになる。メイン基板とサブ基板はそれぞれ封印されているのでＲＯＭの内容を読み出すことは困難である。（なお、本明細書では逐次的に発生される複数の乱数を「乱数列」あるいは単に「乱数」と記し、乱数列に含まれる特定の乱数を「乱数値」と記すことにする。数学的な意味で厳密な乱数でないもの（擬似乱数）も乱数に含める）
【００１３】
しかし、何らかの原因で発生した乱数値がメイン基板とサブ基板で異なるものとなったとき、サブ基板で暗号化されたコマンドのデータを正しく復号化できないことになる。もし、乱数発生アルゴリズムが前回の乱数値を使用して今回の乱数値を生成するというもの（漸化式を用いたもの、例えば線形合同法）であれば、一度でも乱数値の不一致が生じるとその状態が継続し、その後ずっとデータを正しく復号化できなくなり、問題である。このように復号化できないという状況に陥ったときに、メイン基板とサブ基板で乱数値を一致させる（同期させる）必要がある。
【００１４】
ところで、前述のように、コマンドの流れはメイン基板からサブ基板への一方のみであり、逆にサブ基板からメイン基板へコマンド等が出されることはないから、サブ基板で復号化不能というエラー信号をメイン基板へ送り、コマンドを再送するといった手法は取れない。
【００１５】
この発明は上記課題に鑑みてなされたもので、通信がメイン基板からサブ基板への一方のみである遊技機において乱数値の不一致が生じたときに、メイン基板とサブ基板の間で乱数値を一致させることのできる遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１６】
この発明は、遊技に関する処理を行うメイン基板と、前記メイン基板からのコマンドに基づき演出に関する処理を行うサブ基板とを備える遊技機において、
前記メイン基板は、
前記コマンドを構成する第１電文及び第２電文を発生する電文発生部と、
前回発生した乱数値を記憶する第１記憶部と、前記第１記憶部の値を予め定められた定数と乗算する第１乗算器と、前記第１乗算器の出力に予め定められた定数を加算する第１加算器と、予め定められた定数に基づき前記第１加算器の出力の剰余を求める第１剰余計算器とを含み、前記第１剰余計算器の出力を前記第１記憶部に記憶するとともに、乱数値として出力する第１乱数発生器と、
入力された値に対して前記第１乱数発生器の出力に基づき所定の演算を行う第１演算部と、
前記第１演算部に対して前記第２電文又は予め定められた値のいずれか一方を選択して入力する第１切替器と、
前記第１電文及び前記第１演算部の出力を前記サブ基板へ送信する送信部と、
前記第１電文に基づき前記第１切替器を制御する第１切替器制御部とを備え、
前記サブ基板は、
前記メイン基板から前記第１電文及び前記第１演算部で演算された第２電文を受信する受信部と、
前回発生した乱数値を記憶する第２記憶部と、前記第２記憶部の値を予め定められた定数と乗算する第２乗算器と、前記第２乗算器の出力に予め定められた定数を加算する第２加算器と、予め定められた定数に基づき前記第２加算器の出力の剰余を求める第２剰余計算器と、前記第２剰余計算器の出力又は所定の特別乱数値のいずれか一方を選択して出力する第２切替器と、前記第１電文に基づき前記第２切替器を制御する第２切替器制御部とを含み、前記第２剰余計算器の出力又は前記特別乱数値のいずれかを前記第２記憶部に記憶するとともに、前記第２剰余計算器の出力を乱数値として出力する第２乱数発生器と、
前記第２電文に対して前記第２乱数発生器の出力に基づき所定の演算を行う第２演算部と、
前記第１電文と前記第２演算部の出力を前記コマンドとして出力する電文出力部と、
前記第２電文に基づき前記特別乱数値を生成する第３演算部とを備え、
前記第１電文が、前記第２電文を伴わないコマンドを構成する予め定められた特定の電文であって、前記電文発生部が前記第２電文を発生しないときに、
前記第１切替器制御部は、前記予め定められた定数を選択するように前記第１切替器を制御し、
前記第２切替器制御部は、前記特別乱数値を選択するように前記第２切替器を制御する、ものである。
【００１７】
前記第１乱数発生器及び前記第２乱数発生器が出力する乱数、並びに、前記特別乱数値は、それぞれ複数ビットからなり、
前記第１演算部は、前記複数ビットの上位側の値を用いて演算を行い、下位側の値は使用せず、
前記第１乱数発生器は、前記第１電文が前記特定の電文であるときに、前記第１記憶部に記憶した乱数値の下位側ビットを予め定められた定数に設定する下位側ビットクリア部を含み、
前記第２演算部は、前記複数ビットの上位側の値を用いて演算を行い、下位側の値は使用せず、
前記第３演算部は、前記第２電文を上位側に対応させ、下位側に前記予め定められた定数を対応させて演算することにより前記特別乱数値を生成する、ようにしてもよい。
【００１８】
前記メイン基板は、所定の設定値に基づき内部抽選を行う内部抽選手段と、所定のエラーに関する処理を行うエラー処理部とを備え、
前記特定の電文は、例えば、前記設定値の変更に係るコマンドの電文、又は、前記エラーの解除に係るコマンドの電文である。
【００１９】
前記第１切替器は、前記コマンドとは無関係なダミー値を選択できるように構成され、前記第２電文、前記予め定められた定数又は前記ダミー値のいずれかひとつを選択するものであり、
前記第１切替器制御部は、
前記第１電文が前記特定の電文であるとき、前記第１切替器を前記予め定められた定数を選択するように制御し、
前記第１電文が前記特定の電文ではなく、かつ、前記第２電文を伴わないものであるとき、前記第１切替器を前記ダミー値を選択するように制御し、
前記第１電文が前記第２電文を伴うとき、前記第１切替器を前記第２電文を選択するように制御する、ようにしてもよい。
【発明の効果】
【００２０】
この発明によれば、コマンドを構成する第１電文が第２電文を伴わない予め定められた特定の電文であるときに、メイン基板から電文２の代わりに乱数値をサブ基板へ送信し、サブ基板は前記乱数値に基づき特別乱数値を生成し、当該特別乱数値に基づき乱数を生成するようにしたので、通信がメイン基板からサブ基板への一方のみである遊技機において乱数値の不一致が生じたときに、メイン基板とサブ基板の間で乱数値を一致させることができる。
【図面の簡単な説明】
【００２１】
【図１】前扉を閉めた状態を示すスロットマシンの正面図である。
【図２】前扉を１８０度開いた状態を示すスロットマシンの正面図である。
【図３】スロットマシンのブロック図である。
【図４】スロットマシンの遊技処理のフローチャートである。
【図５】発明の実施の形態に係るメイン基板において送信処理を行う装置のブロック図である。
【図６】発明の実施の形態に係る暗号用乱数発生器のブロック図である。
【図７】発明の実施の形態に係るサブ基板において受信処理を行う装置のブロック図である。
【図８】発明の実施の形態に係る復号用乱数発生器のブロック図である。
【図９】発明の実施の形態に係るコマンド構造の説明図である。
【図１０】発明の実施の形態に係る送信処理を行う装置のブロック図（通常動作時の構成）である。
【図１１】発明の実施の形態に係る受信処理を行う装置のブロック図（通常動作時の構成）である。
【図１２】発明の実施の形態に係るコマンド送受信のフローチャート（通常動作時）である。
【図１３】発明の実施の形態に係る送信処理を行う装置のブロック図（特別動作時の構成）である。
【図１４】発明の実施の形態に係る受信処理を行う装置のブロック図（特別動作時の構成）である。
【図１５】発明の実施の形態に係るコマンド送受信のフローチャート（特別動作時）である。
【図１６】発明の実施の形態の変形例に係る送信処理を行う装置のブロック図である。
【図１７】図１６の装置の動作説明図（フローチャート）である。
【発明を実施するための形態】
【００２２】
図１は前扉を閉めた状態を示すスロットマシンの正面図、図２は前扉を１８０度開いた状態を示すスロットマシンの正面図を示す。
【００２３】
図１及び図２中、１００はスロットマシンを示すもので、このスロットマシン１００は、図１に示すように、スロットマシン本体１２０と、このスロットマシン本体１２０の前面片側にヒンジ等により開閉可能に取り付けられた前扉１３０とを備えている。前記前扉１３０の前面には、図１に示すように、ほぼ中央にゲーム表示部１３１を設け、ゲーム表示部１３１の右下隅部に、遊技者がメダルを投入するためのメダル投入口１３２を設け、メダル投入口１３２の下側には、メダル投入口１３２から投入され、詰まってしまったメダルをスロットマシン１００外に強制的に排出するためのリジェクトボタン１３３が設けられている。
【００２４】
また、前記ゲーム表示部１３１の左下方には、ゲームを開始するためのスタートスイッチ１３４を設けてあり、３つの回胴のそれぞれに対応して３つのストップボタン１４０を設けてある。前扉の下端部中央には、メダルの払出し口１３５を設けてある。前記ゲーム表示部１３１の上側には、液晶表示装置ＬＣＤが設けてある。
【００２５】
スロットマシン本体１２０の内部には、図２に示すように、その内底面に固定され、内部に複数のメダルを貯留して、貯留したメダルを前扉１３０の前面に設けた払出し口１３５に１枚ずつ払い出すためのホッパ装置１２１が設置されている。このホッパ装置１２１の上部には、上方に向けて開口し、内部に複数のメダルを貯留するホッパタンク１２２を備えている。スロットマシン本体１２０の内部には、前扉１３０を閉めたときにゲーム表示部１３１が来る位置に三個の回胴からなるリール（回胴）ユニット２０３が設置されている。リールユニット２０３は、外周面に複数種類の図柄が配列されている３つの回胴（第１回胴〜第３回胴）を備えている。ゲーム表示部１３１には開口部が設けられていて、それを通して遊技者が前記リールユニット２０３の各回転回胴の図柄を見ることができるようになっている。ホッパ装置１２１の左側には電源部２０５が設けられている。
【００２６】
前記前扉１３０の裏面には、図２に示すように、メダル（コイン）セレクタ１が、前扉１３０の前面に設けられたメダル投入口１３２の裏側に取り付けられている。このメダルセレクタ１は、メダル投入口１３２から投入されたメダルの通過を検出しながら、当該メダルをホッパ装置１２１に向かって転動させ、外径が所定寸法と違う異径メダルや、鉄又は鉄合金で作製された不正メダルを選別して排除するとともに、１ゲームあたりに投入可能な所定枚数以上のメダルを選別して排除するための装置である。
【００２７】
また、メダルセレクタ１の下側には、図２に示すように、その下部側を覆って前扉１３０の払出し口１３５に連通する導出路１３６が設けられている。メダルセレクタ１により振り分けられたメダルは、この導出路１３６を介して払出し口１３５から遊技者に返却される。
【００２８】
図３は発明の実施の形態を適用し得る遊技機の一例としてのスロットマシン１００の機能ブロック図を示す。
【００２９】
この図において電源系統についての表示は省略されている。図示しないが、スロットマシンは商用電源（ＡＣ１００Ｖ）から直流電源（＋５Ｖなど）を発生するための電源部（図２の電源部２０５）を備える。
【００３０】
スロットマシン１００は、その主要な処理装置としてメイン基板（処理部）１０とこれからコマンドを受けて動作するサブ基板２０とを備える。なお、少なくともメイン基板１０は、外部から接触不能となるようにケース内部に収容され、これら基板を取り外す際に痕跡が残るように封印処理が施されている。
【００３１】
メイン基板１０は、遊技者の操作を受けて内部抽選を行ったり、回胴の回転・停止やメダルの払い出しなどの処理（遊技処理）を行うためのものである。メイン基板１０は、予め設定されたプログラムに従って制御動作を行うＣＰＵと、前記プログラムを記憶する記憶手段であるＲＯＭおよび処理結果などを一時的に記憶するＲＡＭを含む。
【００３２】
サブ基板２０は、メイン基板１０からコマンド信号を受けて内部抽選の結果を報知したり各種演出を行うためのものである。サブ基板２０は、前記コマンド信号に応じた予め設定されたプログラムに従って制御動作を行うＣＰＵと、前記プログラムを記憶する記憶手段であるＲＯＭおよび処理結果などを一時的に記憶するＲＡＭを含む。コマンドの流れはメイン基板１０からサブ基板２０への一方のみであり、逆にサブ基板２０からメイン基板１０へコマンド等が出されることはない。
【００３３】
メイン基板１０には、ベットスイッチＢＥＴ、スタートスイッチ１３４，ストップボタン１４０，リール（回胴）ユニット２０３、ホッパ駆動部８０、ホッパ８１及びホッパ８１から払い出されたメダルの枚数を数えるためのメダル検出部８２（これらは前述のホッパ装置１２１を構成する）が接続されている。サブ基板２０には液晶表示装置の制御用の液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２などの周辺基板（ローカル基板）が接続されている。
【００３４】
メイン基板１０には、さらに、メダルセレクタ１のメダルセンサＳ１及びＳ２が接続されている。
【００３５】
メダルセレクタ１には、メダルを計数するためのメダルセンサＳ１及びＳ２が設けられている。メダルセンサＳ１及びＳ２は、メダルセレクタ１に設けられた図示しないメダル通路の下流側（出口近傍）に設けられている（メダル通路の上流側はメダル投入口１３２に連通している）。２つのメダルセンサＳ１とＳ２は、メダルの進行方向に沿って所定間隔を空けて並べて設けられている。メダルセンサＳ１、Ｓ２は、例えば、互いに対向した発光部と受光部とを有して断面コ字状に形成され、その検出光軸をメダル通路内に上方から臨ませて位置するフォトインタラプタである。各フォトインタラプタにより、途中で阻止されずに送られてきたメダルの通過が検出される。なお、フォトインタラプタを２つ隣接させたのは、メダル枚数を検出するだけでなく、メダルの通過が正常か否かを監視するためである。すなわち、フォトインタラプタを２つ隣接させて設けることにより、メダルの通過速度や通過方向を検出することができ、これによりメダル枚数だけでなく、逆方向に移動する不正行為を感知することができる。
【００３６】
リールユニット２０３は、３つの回胴４０ａ〜４０ｃと、これらをそれぞれ回転させるステッピングモータ１５５ａ〜１５５ｃと、それらの位置をそれぞれ検出する回胴位置検出器（インデックスセンサ）１５９ａ〜１５９ｃとを備える（なお、ステッピングモータ１５５ａ〜１５５ｃを単にモータ１５５あるいはモータと記すことがある）。
【００３７】
回胴制御手段１３００は、回胴４０ａ〜４０ｃそれぞれが１回転する毎にインデックスセンサ１５９で検出される基準位置信号に基づいて、回胴４０の基準位置（図示しないインデックスによって特定されるコマ）からの回転角度を求める（ステップモータの回転軸の回転ステップ数をカウントする）ことによって、現在の回胴４０の回転状態を監視することができるようになっている。すなわち、メイン基板１０は、回胴４０の基準位置からの回転角度を求めることにより、ストップボタン１４０の作動時における回胴４０の位置を得ることができる。
【００３８】
なお、以下の説明において、任意のひとつ又は複数の回胴を示すときは符号４０を使用し、３つの回胴をそれぞれ区別して示すときは符号４０ａ〜４０ｃを使用することにする。
【００３９】
ホッパ駆動部８０は、ホッパ８１の図示しない回転ディスクを回転駆動して、メイン基板１０によって指示された払出数のメダルを払い出す動作を行う。遊技機は、メダルを１枚払い出す毎に作動するメダル検出部８２を備えており、メイン基板１０は、メダル検出部８２からの入力信号に基づいてホッパ８１から実際に払い出されたメダルの数を管理することができる。
【００４０】
投入受付部（投入受付手段）１０５０は、メダルセレクタ１のメダルセンサＳ１とＳ２の出力を受け、遊技毎にメダルの投入を受け付けて、規定投入数に相当するメダルが投入されたことに基づいて、スタートスイッチ１３４に対する第１回胴〜第３回胴の回転開始操作を許可する処理を行う。なお、スタートスイッチ１３４の押下操作が、第１回胴〜第３回胴の回転を開始させる契機となっているとともに、内部抽選を実行する契機となっている。また、遊技状態に応じて規定投入数を設定し、通常状態およびボーナス成立状態では規定投入数を３枚に設定し、ボーナス状態では規定投入数を１枚に設定する。
【００４１】
メダルが投入されると、遊技状態に応じた規定投入数を限度として、投入されたメダルを投入状態に設定する。あるいは、遊技機にメダルがクレジットされた状態で、ベットスイッチＢＥＴが押下されると、遊技状態に応じた規定投入数を限度して、クレジットされたメダルを投入状態に設定する。メダルの投入を受け付けるかどうかは、メイン基板１０が制御する。スタートスイッチ１３４が押下され各回胴の回転が開始した時点（遊技開始時点）から３つのストップボタン１４０が押下され各回胴の回転が停止した時点（入賞した場合はメダル払い出しが完了した時点）（遊技終了時点）の間であって、メダルの投入を受け付ける状態になっていないときは（許可されていないときは）、メダルを投入してもメダルセンサＳ１、Ｓ２でカウントされず、そのまま返却される。同様に、メイン基板１０は、メダルの投入を受け付ける状態か否かに応じて、ベットスイッチＢＥＴの有効／無効を制御する。また、前記遊技終了時点から前記遊技開始時点までの間でベットスイッチＢＥＴは有効となるが、これ以外の期間においては（ＢＥＴスイッチの押下が許可されていないときは）、ベットスイッチＢＥＴを押下しても、それは無視される。
【００４２】
メイン基板１０は、乱数発生手段１１００を内蔵する。乱数発生手段１１００は、抽選用の乱数値を発生させる手段である。乱数値は、例えば、インクリメントカウンタ（所定のカウント範囲を循環するように数値をカウントするカウンタ）のカウント値に基づいて発生させることができる。なお本実施形態において「乱数値」には、数学的な意味でランダムに発生する値のみならず、その発生自体は規則的であっても、その取得タイミング等が不規則であるために実質的に乱数として機能しうる値も含まれる。
【００４３】
内部抽選手段１２００は、遊技者がスタートスイッチ１３４からのスタート信号に基づいて、役の当否を決定する内部抽選を行う。すなわち、メイン基板１０のメモリ（図示せず）に記憶されている抽選テーブル（図示せず）を選択する抽選テーブル選択処理、乱数発生手段１１００から得た乱数の当選を判定する乱数判定処理、当選の判定結果で大当たりなどに当選したときにその旨のフラグを設定する抽選フラグ設定処理などを行う。
【００４４】
抽選テーブル選択処理では、図示しない記憶手段（ＲＯＭ）に格納されている複数の抽選テーブル（図示せず）のうち、いずれの抽選テーブルを用いて内部抽選を行うかを決定する。抽選テーブルでは、複数の乱数値（例えば、０〜６５５３５の６５５３６個の乱数値）のそれぞれに対して、リプレイ、小役（ベル、チェリー）、レギュラーボーナス（ＲＢ：ボーナス）、およびビッグボーナス（ＢＢ：ボーナス）などの各種の役が対応づけられている。また、遊技状態として、通常状態、ボーナス成立状態、およびボーナス状態が設定可能とされ、さらにリプレイの抽選状態として、リプレイ無抽選状態、リプレイ低確率状態、リプレイ高確率状態が設定可能とされる。
【００４５】
抽選テーブル選択処理により、抽選の内容は所定の範囲内で設定可能（当選の確率を高くしたり低くしたりできる）であり、遊技機が設置されるホールなどにおいて店側により設定作業が行われる。
【００４６】
通常の遊技機は、ＢＢ，ＲＢ、小役等の抽選確率の異なる複数（例えば６つ）の抽選テーブルを予め備える。遊技機の抽選では、それら複数の抽選テーブルの中から１つが設定され、この設定された抽選テーブルに基づいて抽選による当たり／ハズレの判定がなされる。複数の抽選テーブルのうちどれを使用するかに関する設定を変更することを、設定の変更（以下、「設定変更」と記す）と称している。
【００４７】
従来、例えばスロットマシンのような遊技機では、設定値（通常１〜６）を変更する場合、遊技機の扉を開け、電源部に設けられた設定変更キースイッチに設定変更キーを挿入して当該キースイッチをオンにした状態で遊技機の電源を投入して設定変更可能な状態にし、設定変更ボタン（押ボタン）を１回押下するごとに、７セグメント表示器などに表示される設定値がインクリメントされて１〜６までの値を循環的に変化させ、所望する設定値が表示器に表示されたところでスタートスイッチを操作することで、所望する設定値を確定させている。
【００４８】
乱数判定処理では、スタートスイッチ１３４からのスタート信号に基づいて、遊技毎に乱数発生手段（図示せず）から乱数値（抽選用乱数）を取得し、取得した乱数値について前記抽選テーブルを参照して役に当選したか否かを判定する。
【００４９】
抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役の抽選フラグを非当選状態（第１のフラグ状態、オフ状態）から当選状態（第２のフラグ状態、オン状態）に設定する。２種類以上の役が重複して当選した場合には、重複して当選した２種類以上の役のそれぞれに対応する抽選フラグが当選状態に設定される。抽選フラグの設定情報は、記憶手段（ＲＡＭ）に格納される。
【００５０】
入賞するまで次回以降の遊技に当選状態を持ち越し可能な抽選フラグ（持越可能フラグ）と、入賞の如何に関わらず次回以降の遊技に当選状態を持ち越さずに非当選状態にリセットされる抽選フラグ（持越不可フラグ）とが用意されていることがある。この場合、前者の持越可能フラグが対応づけられる役としては、レギュラーボーナス（ＲＢ）およびビッグボーナス（ＢＢ）があり、それ以外の役（例えば、小役、リプレイ）は後者の持越不可フラグに対応づけられている。すなわち抽選フラグ設定処理では、内部抽選でレギュラーボーナスに当選すると、レギュラーボーナスの抽選フラグの当選状態を、レギュラーボーナスが入賞するまで持ち越す処理を行い、内部抽選でビッグボーナスに当選すると、ビッグボーナスの抽選フラグの当選状態を、ビッグボーナスが入賞するまで持ち越す処理を行う。このときメイン基板１０は、内部抽選機能により、レギュラーボーナスやビッグボーナスの抽選フラグの当選状態が持ち越されている遊技でも、レギュラーボーナスおよびビッグボーナス以外の役（小役およびリプレイ）についての当否を決定する内部抽選を行っている。すなわち抽選フラグ設定処理では、レギュラーボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているレギュラーボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる２種類以上の役に対応する抽選フラグを当選状態に設定し、ビッグボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているビッグボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる２種類以上の役に対応する抽選フラグを当選状態に設定する。
【００５１】
回胴制御手段１３００は、遊技者がスタートスイッチ１３４の押下操作（回転開始操作）によるスタート信号に基づいて、第１回胴〜第３回胴をステッピングモータにより回転駆動して、第１回胴〜第３回胴の回転速度が所定速度（約８０ｒｐｍ：１分間あたり約８０回転となる回転速度）に達した状態において回転中の回胴にそれぞれ対応する３つのストップボタン１４０の押下操作（停止操作）を許可する制御を行うとともに、ステッピングモータにより回転駆動されている第１回胴〜第３回胴を抽選フラグの設定状態（内部抽選の結果）に応じて停止させる制御を行う。
【００５２】
また、回胴制御手段１３００は、３つのストップボタン１４０に対する押下操作（停止操作）が許可（有効化）された状態において、遊技者が３つのストップボタン１４０を押下することにより、その回胴停止信号に基づいて、リールユニット２０３のステッピングモータへの駆動パルス（モータ駆動信号）の供給を停止することにより、第１回胴〜第３回胴の各回胴を停止させる制御を行う。
【００５３】
すなわち、回胴制御手段１３００は、３つのストップボタン１４０の各ボタンが押下される毎に、第１回胴〜第３回胴のうち押下されたボタンに対応する回胴の停止位置を決定して、決定された停止位置で回胴を停止させる制御を行っている。具体的には、記憶手段（ＲＯＭ）に記憶されている停止制御テーブル（図示せず）を参照して３つのストップボタンの押下タイミングや押下順序等（停止操作の態様）に応じた第１回胴〜第３回胴の停止位置を決定し、決定された停止位置で第１回胴〜第３回胴を停止させる制御を行う。
【００５４】
ここで停止制御テーブルでは、ストップボタン１４０の作動時点における第１回胴〜第３回胴の位置（押下検出位置）と、第１回胴〜第３回胴の実際の停止位置（または押下検出位置からの滑りコマ数）との対応関係が設定されている。滑りコマ数とは、回胴停止時にゲーム表示部から視認できる特定の図柄を基準位置としたときのストップボタン１４０の操作から対応する回胴の回転停止までの間に当該基準位置を通過する図柄の数をいう。回胴制御手段１３００は、各ストップボタン１４０の操作から１９０ｍｓ以内という条件下で各回胴を停止させるため、滑りコマ数は０以上４以下の範囲内となっている（ただし、８０回転／分、図柄数＝２１個の条件において）。抽選フラグの設定状態に応じて、第１回胴〜第３回胴の停止位置を定めるための停止制御テーブルが用意されることもある。
【００５５】
前述のように、回胴制御手段１３００は、回胴が１回転する毎にインデックスセンサ１５９で検出される基準位置信号に基づいて、回胴の基準位置（リールインデックスによって検出されるコマ）からの回転角度（ステップモータの回転軸の回転ステップ数）を求めることによって、現在の回胴の回転状態を監視することができるようになっている。すなわち、メイン基板１０は、ストップボタン１４０の作動時における回胴の位置を、回胴の基準位置からの回転角度を求めることにより得ることができる。
【００５６】
回胴制御手段１３００は、いわゆる引き込み処理と蹴飛ばし処理とを回胴を停止させる制御として行っている。引き込み処理とは、抽選フラグが当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止するように（当選した役を入賞させることができるように）回胴を停止させる制御処理である。一方蹴飛ばし処理とは、抽選フラグが非当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止しないように（当選していない役を入賞させることができないように）回胴を停止させる制御処理である。すなわち本実施形態の遊技機では、上記引き込み処理及び蹴飛ばし処理を実現させるべく、抽選フラグの設定状態、ストップボタン１４０の押下タイミング、押下順序、既に停止している回胴の停止位置（表示図柄の種類）などに応じて各回胴の停止位置が変化するように停止制御テーブルが設定されている。このように、メイン基板１０は、抽選フラグが当選状態に設定された役の図柄を入賞の形態で停止可能にし、一方で抽選フラグが非当選状態に設定された役の図柄が入賞の形態で停止しないように第１回胴〜第３回胴を停止させる制御を行っている。
【００５７】
本実施形態の遊技機では、第１回胴〜第３回胴が、ストップボタン１４０が押下された時点から１９０ｍｓ以内に、押下されたストップボタンに対応する回転中の回胴を停止させる制御状態に設定されている。すなわち回転している各回胴の停止位置を決めるための停止制御テーブルでは、ストップボタン１４０の押下時点から各回胴が停止するまでに要するコマ数が０コマ〜４コマの範囲（所定の引き込み範囲）で設定されている。
【００５８】
入賞判定手段１４００は、第１回胴〜第３回胴の停止態様に基づいて、役が入賞したか否かを判定する処理を行う。具体的には、記憶手段（ＲＯＭ）に記憶されている入賞判定テーブルを参照しながら、第１回胴〜第３回胴の全てが停止した時点で入賞判定ライン上に表示されている図柄組合せが、予め定められた役の入賞の形態であるか否かを判定する。
【００５９】
入賞判定手段１４００は、その判定結果に基づいて、入賞時処理を実行する。入賞時処理としては、例えば、小役が入賞した場合にはホッパ８１を駆動してメダルの払出制御処理が行われるか、あるいはクレジットの増加され（規定の最大枚数例えば５０枚まで増加され、それを超えた分だけ実際にメダル払い出される）、リプレイが入賞した場合にはリプレイ処理が行われ、ビッグボーナスやレギュラーボーナスが入賞した場合には遊技状態を移行させる遊技状態移行制御処理が行われる。
【００６０】
払出制御手段１５００は、遊技結果に応じたメダルの払い出しに関する払出制御処理を行う。具体的には、小役が入賞した場合に、役毎に予め定められている配当に基づいて遊技におけるメダルの払出数を決定し、決定された払出数に相当するメダルを、ホッパ駆動部８０でホッパ８１を駆動して払い出させる。この際に、ホッパ８１に内蔵される図示しないモータに電流が流れることになる。
【００６１】
メダルのクレジット（内部貯留）が許可されている場合には、ホッパ８１によって実際にメダルの払い出しを行う代わりに、記憶手段（ＲＡＭ）のクレジット記憶領域（図示省略）に記憶されているクレジット数（クレジットされたメダルの数）に対して払出数を加算するクレジット加算処理を行って仮想的にメダルを払い出す処理を行う。
【００６２】
リプレイ処理手段１６００は、リプレイが入賞した場合に、次回の遊技に関して遊技者の所有するメダルの投入を要さずに前回の遊技と同じ準備状態に設定するリプレイ処理（再遊技処理）を行う。リプレイが入賞した場合には、遊技者の手持ちのメダル（クレジットメダルを含む）を使わずに前回の遊技と同じ規定投入数のメダルが自動的に投入状態に設定される自動投入処理が行われ、遊技機が前回の遊技と同じ入賞判定ラインを有効化した状態で次回の遊技における回転開始操作（遊技者によるスタートスイッチ１３４の押下操作）を待機する状態に設定される。
【００６３】
リプレイ処理手段１６００は、所定条件下で内部抽選におけるリプレイの当選確率を変動させる制御を行うことがある。例えば、ストップボタン１４０の操作によって回胴を停止させた際に所定の出目が表示されるとリプレイの当選確率が変動する。リプレイの抽選状態として、リプレイが内部抽選の対象から除外されるリプレイ無抽選状態、リプレイの当選確率が約１／７．３に設定されるリプレイ低確率状態、およびリプレイの当選確率が約１／６に設定されるリプレイ高確率状態という複数種類の抽選状態を設定可能とされている。
【００６４】
エラー処理部１７００は、図示しない扉開閉検知センサ、メダルセンサＳ１及びＳ２及びメダル検出部８２の出力に基づき遊技機のエラー判定を行い、エラーと判定したときにその旨を報知するとともに、遊技機を所定の状態（例えば、操作を受け付けない状態）にする。
【００６５】
図示しない扉開閉検知センサは、扉１３０が閉じられたことを検知するセンサであり、例えばマイクロスイッチや接点などの電気的スイッチである。当該スイッチは扉１３０が閉じられたときに、扉１３０の裏側にスイッチの作用部が当接することでオン（又はオフ）になり、扉１３０が開放されると作用部が離れてオフ（又はオン）になるものである。扉開閉検知センサは、フォトインタラプタのような光学式のものでもよい。メダルセンサＳ１及びＳ２及びメダル検出部８２については前述した。
【００６６】
エラー処理部１７００は、具体的には次のような動作を行う。
・図示しない扉開閉検知センサの出力に基づき扉１３０の開放を検知したとき、エラー処理を行う。
・メダルセンサＳ１及びＳ２の出力に基づきメダルの逆流（センサＳ１とＳ２の検知順序が反対になったこと）、メダル滞留（センサＳ１とＳ２の検知時間が予め定められた閾値よりも長いこと）などを検知したとき、エラー処理を行う。
・メダル検出部８２の出力に基づきメダル詰まり（メダル検出部８２の検知時間が予め定められた閾値よりも長いこと）、ホッパーエンプティ（ホッパ駆動部８０を動作させているにもかかわらずメダル検知部８２がメダルを検知しない）などを検知したとき、エラー処理を行う。
【００６７】
エラー処理部１７００は、上記のようにエラーと判定したときにその旨を報知するとともに、遊技機を所定の状態（エラー状態）にするが、この状態は図示しないリセットスイッチにより解除される。リセットスイッチは、例えば電源部２０５のパネルに設けられる。
【００６８】
なお、サブ基板２０で生じるエラーもある。このエラーでは遊技不能状態にはならないが、サブ基板２０自身の処理によりエラーが生じたことを液晶表示装置などにより報知することができる。当該エラーは例えば不正なコマンドを受信したとき（暗号化されたコマンドが正しく復号化できなかったときを含む）に発生し、当該エラーは上記リセットスイッチにより解除される（メイン基板１０からサブ基板２０へリセットコマンドが送られる）。
【００６９】
また、メイン基板１０は、通常状態、ボーナス成立状態、およびボーナス状態の間で遊技状態を移行させる制御を行うことがある（遊技状態移行制御機能）。遊技状態の移行条件は、１の条件が定められていてもよいし、複数の条件が定められていてもよい。複数の条件が定められている場合には、複数の条件のうち１の条件が成立したこと、あるいは複数の条件の全てが成立したことに基づいて、遊技状態を他の遊技状態へ移行させることができる。
【００７０】
通常状態は、複数種類の遊技状態の中で初期状態に相当する遊技状態で、通常状態からはボーナス成立状態への移行が可能となっている。ボーナス成立状態は、内部抽選でビッグボーナスあるいはレギュラーボーナスに当選したことを契機として移行する遊技状態である。ボーナス成立状態では、通常状態における内部抽選でビッグボーナスが当選した場合、ビッグボーナスが入賞するまでビッグボーナスに対応する抽選フラグが当選状態に維持され、通常状態における内部抽選でレギュラーボーナスが当選した場合、レギュラーボーナスが入賞するまでレギュラーボーナスに対応する抽選フラグが当選状態に維持される。ボーナス状態では、ボーナス遊技によって払い出されたメダルの合計数により終了条件が成立したか否かを判断し、入賞したボーナスの種類に応じて予め定められた払出上限数を超えるメダルが払い出されると、ボーナス状態を終了させて、遊技状態を通常状態へ復帰させる。
【００７１】
リールユニット２０３は、３つの回胴４０ａ〜４０ｃを備えるが、３つの回胴４０ａ〜４０ｃそれぞれにひとつづつステッピングモータ１５５ａ〜１５５ｃが取り付けられている。ステッピングモータ１５５は、回転子（ロータ）として歯車状の鉄心あるいは永久磁石を備え、固定子（ステータ）として複数の巻線（コイル）を備え、電流を流す巻線を切り替えることによって回転動作させるものである。すなわち、固定子の巻線に電流を流して磁力を発生させ、回転子を引きつけることで回転するものである。回転軸を指定された角度で停止させることが可能なことから、スロットマシンの回胴の回転駆動に使用されている。複数の巻線がひとつの相を構成する。相の数として、例えば、２つ（二相）、４つ（４相）、５つ（５相）のものもある。
【００７２】
ステッピングモータは、各相の巻線への電流の与え方を変えることにより、特性を変えることができる（励磁モードが変わる）。二相型については次の通りである。
【００７３】
・一相励磁
常に巻線一相のみに電流を流す。位置決め精度は良い。
【００７４】
・二相励磁 
二相に電流を流す。一相励磁の約２倍の出力トルクが得られる。位置決め精度は良く、停止したときの静止トルクが大きいため、停止位置を確実に保持できる。
【００７５】
・一−二相励磁 
一相と二相を交互に切り替えて電流を流す。一相励磁・二相励磁の場合のステップ角度の半分にすることができるので、滑らかな回転を得られる。
【００７６】
なお、ステッピングモータを「駆動する」とは、当該モータを上記励磁により回転させることとともに、所望の位置で停止させその位置を保持するために各相を励磁することも含むものとする。
【００７７】
スロットマシンでは、例えば、４相の基本ステップ角度１．４３度のステッピングモータを使用し、パルスの出力方法として一−二相励磁を採用している。
【００７８】
次に、遊技機における遊技処理について図４を参照して説明を加える。
【００７９】
一般的に、遊技機において、メダルの投入（クレジットの投入）に始まり、払い出しが終了するまで（又はクレジット数の増加が終了するまで）が一遊技である。一遊技が終了するまでは次回の遊技に進めないという決まりがある。
【００８０】
先ず、規定枚数のメダルが投入されることでスタートスイッチ１３４が有効になり、図４の処理が開始される。
【００８１】
ステップＳ１において、スタートスイッチ１３４が操作されることにより、スタートスイッチ１３４がＯＮとなる。そして、次のステップＳ２に進む。
【００８２】
ステップＳ２において、メイン基板１０により抽選処理が行われる。そして、次のステップＳ３に進む。
【００８３】
ステップＳ３において、第１回胴〜第３回胴の回転が開始する。そして、次のステップＳ４に進む。
【００８４】
ステップＳ４において、ストップボタン１４０が操作されることにより、ストップボタン１４０がＯＮとなる。そして、次のステップＳ５に進む。
【００８５】
ステップＳ５において、第１回胴〜第３回胴のうち押下されたストップボタン１４０に対応する回胴について回転停止処理が行われる。そして、次のステップＳ６に進む。
【００８６】
ステップＳ６において、三個の回胴に対応するストップボタン１４０の操作が行われたか否かが判定される。そして、三個の回胴に対応する３つのストップボタン１４０すべての操作が行われたと判定された場合、次のステップＳ７に進む。
【００８７】
ステップＳ７において、抽選フラグ成立中に当該抽選フラグに対応する入賞図柄が有効入賞ライン上に揃ったか否か、すなわち、入賞が確定したか否かが判定される。そして、入賞が確定したと判定された場合、次のステップＳ８に進む。なお、入賞が確定しなかったときは、抽選フラグが成立していてもメダルの払い出しは行われない。
【００８８】
ステップＳ８において、入賞図柄に相当するメダルが払い出される。
【００８９】
メダルの投入からステップＳ８の実行完了までが、一遊技である。ステップＳ８の待機処理が終了すると、処理はフローチャートの最初に戻る。言い換えれば、次の遊技が可能な状態になる（次遊技へ移行する）。
【００９０】
次に、本発明の実施の形態に係る遊技機の動作について説明する。
【００９１】
まず、処理の概要について説明を加える。
メイン基板１０からサブ基板２０へ送られるコマンドの構造は、図９に示すとおりである。遊技機の機種ごとに固有のコマンド体系を持ち、コマンドを構成する電文１、２’〜４’と電文５(電文１、２’〜４’の累積値）の５バイトが１セットとして送信される。電文２’〜４’は、電文２〜４に所定の乱数値を加算したものである。
【００９２】
電文１〜４は、予め定められたコマンド体系に従って設定されたデータ（二値）である。
【００９３】
電文１は「設定変更開始」「エラー解除」などの特定の意味（メイン基板の状態の通知やサブ基板への命令）をもつデータであり、当該意味ごとに一対一で特定のデータが対応付けられているものである。
【００９４】
電文２〜４は、電文１ひとつずつに定められて電文１の意味を補足するもの（パラメータのようなもの）である。電文２〜４は電文１に付随するもので、必ず電文１とセットになって送信される。これに対し、電文１には電文２〜４を必要としないものもある。例えば、「設定変更開始」「エラー解除」は通常は電文２〜４を伴わない。本発明の実施の形態では、後述のように電文２〜４にメイン基板１０の乱数値を設定し、サブ基板２０へ送ることで両者の乱数列の同期を取るようにしている。
【００９５】
電文１はサブ基板２０側でコマンドを正しく解釈するために必須な電文であるので、暗号化していない。このようにすることによりメイン基板１０とサブ基板２０の間で乱数列がずれた場合でもサブ基板２０で電文１の受信・解釈は可能である。
【００９６】
メイン基板２０へ送信される電文２’〜４’は、乱数値を加算したものを送信する。これにより、乱数値を知らない第三者は電文２〜４を得ることができずコマンドの内容を把握することができない。
【００９７】
電文５は、電文１、２’〜４’の累積値（チェックサム）である。
【００９８】
乱数列は、例えば、公知の線形合同法を用い生成される。乱数列はコマンド送信毎に更新される。
【００９９】
乱数列は次の漸化式で求める。
Ｘn+1＝（Ａ×Ｘn＋Ｂ）mod  Ｍ
【０１００】
上式において次の条件を満たす定数を使用する。
・Ａ、Ｂ、Ｍは定数で、Ｍ＞Ａ、Ｍ＞Ｂ、Ａ＞０、Ｂ＞０である。
・ＢとＭが互いに素である。
・Ａ−１が、Ｍの持つ全ての素因数で割りきれる。
・ＭはＸnよりも大きい。
・Ｍが４の倍数である場合は、Ａ−１も４の倍数である。
【０１０１】
上式を用いて最大値０ｘＦＦＦＦＦＦＦＦ(４バイト)の乱数列を生成する。なお、遊技機の工場出荷時（メインコールドスタート時）には乱数値（初期値）は０である。
【０１０２】
上式による乱数の周期は次のようにバイトごとに異なる。
・１バイト目は、２５６回で一周する。
・２バイト目は６５５３６回で一周する。２バイト目は電文４に加算される。
・３バイト目は１６７７７２１６回で一周する。３バイト目は電文３に加算される。
・４バイト目は４２９４９６７２９６回で一周する。４バイト目は電文２に加算される。
【０１０３】
最も周期が長く推測されにくい４バイト目を、最も重要で発生頻度の高い電文２について用いている。これに対し、１バイト目は周期が短いため推測されやすいから、電文の加算値としては使用していない。
【０１０４】
本発明の実施の形態では、メイン基板１０とサブ基板２０で乱数値を一致させるために、特定のコマンド（例えば電文１のみであって電文２〜４を伴わないコマンドである「設定変更開始」「エラー解除」）を送る際に、メイン基板１０の乱数値を電文２’〜４’のところに入れるようにしている。前記所定のコマンドは電文２〜４を持たないコマンドである必要があり、この点から「設定変更開始」「エラー解除」は好適である。また、ホール店員のみが操作できる設定変更やリセットに関するコマンドであり、遊技者が操作できない（不正行為しにくい）という点でも好適である。
【０１０５】
送信するコマンドが前記特定のコマンド（特定の電文１）であるとき、電文１、２’〜４’、５は次のようになる。
・電文１（設定変更開始コマンド又はエラー解除コマンド）
・電文２’（乱数値４バイト目）
・電文３’（乱数値３バイト目）
・電文４’（乱数値２バイト目）
・電文５（電文１、２’〜４’の累積値）
【０１０６】
なお、上記特定のコマンドの送信時には、メイン基板１０において、サブ基板２０へ送信されなかった乱数値の１バイト目の値をクリアする（＝０とする）。
【０１０７】
電文２’〜４’は（エントリの値）＋（乱数値）を送信するが、上記特定のコマンドの送信時において電文２’〜４’で（エントリの値）＝０とすることで、乱数値をサブ基板へそのまま送信するようになっている。
【０１０８】
上記電文１、２’〜４’を受けて、サブ基板２０では次の計算式に基づき乱数列をメイン基板１０のそれと同期させる。
乱数値＝（電文２×０ｘ０１００００００）＋（電文３×０ｘ０００１００００）＋（電文４×０ｘ０００００１００）
【０１０９】
なお、メイン基板１０において乱数値の１バイト目の値をクリアしているので、サブ基板２０においても乱数値の１バイト目の値をクリアする（＝０とする）。
【０１１０】
なお、乱数値の１バイト目の値を予め定められた所定の値（例えば機種固有の０以外の値）に設定するようにしてもよい。
【０１１１】
以上の処理により、本発明の実施の形態によれば、メイン基板１０とサブ基板２０の乱数列の同期を取ることができる。例えば、サブ基板２０でコマンドを正しく受信できない（コマンド異常）と判断したとき、液晶表示装置などでエラー報知を行うようにする。すると、ホール店員が遊技機のドアを開けることでメイン基板１０でエラー（メインエラー）を発生させ、そして図示しないリセットスイッチを操作して当該メインエラーを解除するようになる。このとき上記のように乱数値がサブ基板２０へ送られる。これにより、メイン基板１０とサブ基板２０の乱数列の同期を取ることができ、前記コマンド異常が乱数列の不一致によるものであれば、遊技機は正常動作に復帰することができる。
【０１１２】
図５（ａ）は、発明の実施の形態に係るメイン基板１０の電文発生処理・暗号化処理・送信処理に係る部分のブロック図である。この装置は、メイン基板１０のＣＰＵがＲＯＭに記憶されたプログラムを実行することで実現される（サブ基板２０においても同様である）。同図（ｂ）は設定変更開始コマンドとエラー解除コマンドの発生についての説明図である。
【０１１３】
図５（ａ）に示すように、メイン基板１０は次の要素を備えている。
【０１１４】
ＭＧ１は、コマンドを構成する電文１（第１電文：コマンドの必須構成要素であって、コマンドの種別を特定するもの）を発生する電文１発生部である。
【０１１５】
ＭＧ２〜ＭＧ４は、コマンドを構成する電文２〜４（第２電文：必要に応じてコマンドに付加されるデータ）をそれぞれ発生する電文２発生部〜電文４発生部である。
【０１１６】
電文１を第１電文と記すことがある。電文２〜４を第２電文と記すことがある。第１電文の内容は常に存在するが、電文２〜４はその一部又は全部が存在しない（例えば電文の中身が全部０であるなど特定の意味を持たない状態）ことがある。
【０１１７】
電文１発生部ＭＧ１〜電文４発生部ＭＧ４は、メイン基板１０の処理に応じて所定の電文（コマンド）を発生する。この処理は公知であるので説明は省略する。
【０１１８】
ＲＮＤ１は、所定のアルゴリズム（例えば線形合同法）に基づき乱数列を発生する暗号用乱数発生器である。これについては後にさらに説明を加える。
【０１１９】
ＡＤＤ１０〜１２は、電文２〜４（正確には切替器ＳＷ１０〜１２の出力）に暗号用乱数発生器ＲＮＤ１の乱数値を加算する加算器である。加算器ＡＤＤ１０〜１２の出力が暗号化された電文２’〜４’である。加算器ＡＤＤ１０〜１２は、それぞれ、暗号用乱数発生器ＲＮＤ１の乱数値の４バイト目、３バイト目、２バイト目を選択して加算している。１バイト目を用いないのは前述のように繰り返し周期が短いためである。電文２〜４と乱数値の４バイト目、３バイト目、２バイト目の組み合わせは、繰り返し周期が長く解読困難な乱数値を発生頻度の高い（言い換えれば重要な）電文に割り当てるという考えに基づくものである。
【０１２０】
なお、ここでは加算を行っているが、これに代えて減算・乗算・除算・排他的論理和などの演算を行うようにしてもよい。なお、乗算には電文の各ビットを上位側にシフトすること、除算には同じく下位側にシフトすることを含む。加算器ＡＤＤ１０〜１２は一般的には演算器（演算部）というべきものである。
【０１２１】
ＳＷ１０〜１２は、電文２〜４又は予め定められた定数（＝０）のいずれか一方を選択して加算器ＡＤＤ１０〜１２にそれぞれ入力する切替器である。
【０１２２】
ＣＯＮＴ１は、電文１に基づき切替器ＳＷ１０〜１２を制御する切替器制御部である。
【０１２３】
ＡＤＤ１３は、電文１、２’〜４’を加算（累積）して電文５生成する加算器である。
【０１２４】
ＴＸは、電文１、２’〜４’及び５をサブ基板２０へ送信する送信部である。
【０１２５】
切替器制御部ＣＯＮＴ１により、切替器ＳＷ１０〜１２は、電文１が設定変更開始コマンド又はエラー解除コマンド（特定のコマンド）であるときに動作し、予め定められた定数（＝０）を選択して加算器ＡＤＤ１０〜１２にそれぞれ入力する。図５（ｂ）に示すように、設定変更開始コマンドは、例えば電源部２０５のパネルに設けられる設定変更スイッチＳＳＷ１の出力に基づきエラー処理部１７００が生成する。同様に、エラー解除コマンドは、例えば電源部２０５のパネルに設けられるリセットスイッチＳＳＷ２の出力に基づきエラー処理部１７００が生成する。
【０１２６】
図６は、暗号用乱数発生器ＲＮＤ１のブロック図である。
【０１２７】
ＤＬ１は、前回発生した乱数値を記憶する記憶部（第１記憶部）である。これは例えばレジスタのようなものであり、遅延手段と見ることもできる。
【０１２８】
ＭＵＬ１は、記憶部ＤＬ１の値（Ｘn）を予め定められた定数Ａと乗算する乗算器である。
【０１２９】
ＡＤＤ１４は、乗算器ＭＵＬ１の出力に予め定められた定数Ｂを加算する加算器である。
【０１３０】
ＭＤ１は、予め定められた定数Ｍに基づき加算器ＡＤＤ１４の出力の剰余を求める剰余計算器である。
【０１３１】
記憶部ＤＬ１、乗算器ＭＵＬ１、加算器ＡＤＤ１４及び剰余計算器ＭＤ１により次の式の計算がなされる。
Ｘn+1＝（Ａ×Ｘn＋Ｂ）mod  Ｍ
【０１３２】
剰余計算器ＭＤ１の出力が乱数値として加算器へ出力されるとともに、記憶部ＤＬ１にＸnとして記憶される。なお、剰余計算器ＭＤ１の出力は３２ビットであり、最上位の８ビット（３２〜２５ビット）が４バイト目に、次の上位８ビット（２４〜１７ビット）が３バイト目に、次の上位８ビット（１６〜９ビット）が２バイト目にそれぞれ該当する。
【０１３３】
ＭＥＭ１は、上記定数Ａ、Ｂ、Ｍを記憶する定数記憶部である。定数記憶部ＭＥＭ１は例えばメイン基板１０のＲＯＭであり、工場において予め定数が記憶される。
【０１３４】
ＣＬ１は、記憶部ＤＬ１の前回乱数値Ｘnの最下位８ビット（８〜１ビット、１バイト目）をクリア（＝０又は予め定められた定数に設定）する下位側ビットクリア部である。
【０１３５】
ＰＲ１は、電文１に基づき下位側ビットクリア部ＣＬ１を制御する電文１解釈部である。電文１解釈部ＰＲ１により、下位側ビットクリア部ＣＬ１は、電文１が設定変更開始コマンド又はエラー解除コマンド（特定のコマンド）であるときに動作する。
【０１３６】
図７は、発明の実施の形態に係るサブ基板２０の受信処理・復号化処理・電文出力処理に係る部分のブロック図である。この装置は、サブ基板２０のＣＰＵがＲＯＭに記憶されたプログラムを実行することで実現される。
【０１３７】
図７に示すように、サブ基板２０は次の要素を備えている。
【０１３８】
ＲＸは、メイン基板１０から電文１（第１電文）、電文２’〜電文４’（第２電文）及び電文５を受信する受信部である。
【０１３９】
ＲＮＤ２は、所定のアルゴリズム（例えば線形合同法）に基づき乱数列を発生する復号用乱数発生器である。これについては後にさらに説明を加える。
【０１４０】
ＳＵＢ２０〜２２は、受信部ＲＸで受信した電文２’〜４’から復号用乱数発生器ＲＮＤ２の乱数値を減算する減算器である。減算器ＳＵＢ２０〜２２の出力が復号化された電文２〜４である。減算器ＳＵＢ２０〜２２は、それぞれ、復号用乱数発生器ＲＮＤ２の乱数値の４バイト目、３バイト目、２バイト目を選択して加算している。
【０１４１】
なお、ここでは減算を行っているが、これに代えて加算・除算・乗算・排他的論理和などの演算を行うようにしてもよい。減算器ＳＵＢ２０〜２２は一般的には演算器（演算部）というべきものである。例えば、メイン基板１０で加算により暗号化している場合は、サブ基板２０で減算により復号化し、メイン基板１０で減算により暗号化している場合は、サブ基板２０で加算により復号化し、メイン基板１０で乗算により暗号化している場合は、サブ基板２０で除算により復号化し、メイン基板１０で除算により暗号化している場合は、サブ基板２０で乗算により復号化し、メイン基板１０で排他的論理和により暗号化している場合は、サブ基板２０でも排他的論理和で復号化する。
【０１４２】
ＭＥ１は、受信部ＲＸで受信した電文１を出力する電文１出力部である。
【０１４３】
ＭＥ２〜ＭＥ４は、減算器ＳＵＢ２０〜２２で復号化した電文２〜４をそれぞれ出力する電文２出力部〜電文４出力部である。なお、電文１が設定変更開始コマンド又はエラー解除コマンド（特定のコマンド）であるときには、電文２〜４はコマンドの構成要素ではなく乱数値であるから、電文２出力部ＭＥ２〜電文４出力部ＭＥ４は電文２〜４を出力しない。電文２〜４を出力する場合においては、図示しない電文の受信側の処理（サブ基板２０のＣＰＵとＲＯＭのプログラムで実現される）において、電文２〜４を無視するようにする。このことを含め、本明細書では「電文出力部は電文の出力を行わない」と呼ぶことにする。
【０１４４】
ＡＤＤ２１は、電文２〜４に基づきメイン基板１０とサブ基板２０で乱数列の同期をとるための特別な乱数値（特別乱数値）を生成する加算器（合成部）である。加算器ＡＤＤ２１は、次式に従って特別乱数値を生成し、これを復号用乱数発生器ＲＮＤ２に与える。
特別乱数値＝（電文２×０ｘ０１００００００）＋（電文３×０ｘ０００１００００）＋（電文４×０ｘ０００００１００）
【０１４５】
ただし、１バイト目は、メイン基板１０の下位側ビットクリア部ＣＬ１で前回乱数値Ｘnの最下位８ビット（８〜１ビット、１バイト目）をクリア（＝０又は予め定められた定数に設定）していることから、これに対応する内容に合わせる。例えば、下位側ビットクリア部ＣＬ１で１バイト目を全て０にしたのであれば、加算器ＡＤＤ２１の１バイト目も全て０とする。上記式を書きなおせば次のようになる。
特別乱数値＝（電文２×０ｘ０１００００００）＋（電文３×０ｘ０００１００００）＋（電文４×０ｘ０００００１００）＋（０×０ｘ０００００００１）
【０１４６】
下位側ビットクリア部ＣＬ１で１バイト目を定数＝Ｃにしたのであれば、上記式は次のようになる。
特別乱数値＝（電文２×０ｘ０１００００００）＋（電文３×０ｘ０００１００００）＋（電文４×０ｘ０００００１００）＋（Ｃ×０ｘ０００００００１）
【０１４７】
ＡＤＤ２０は、電文１、２’〜４’を加算（累積）して電文５生成する加算器である。
【０１４８】
ＣＭＰは、受信部ＲＸで受けた電文５を加算器ＡＤＤ２０で生成した電文５と比較する比較部である。この比較結果が一致しないときはノイズなどの影響によりコマンドを正しく受信できなかったことを意味するから、サブ基板２０はコマンド受信エラーを発生する。この処理は公知であるので説明は省略する。
【０１４９】
図８は、復号用乱数発生器ＲＮＤ２のブロック図である。
【０１５０】
ＤＬ２は、前回発生した乱数値を記憶する記憶部（第２記憶部）である。これは例えばレジスタのようなものであり、遅延手段と見ることもできる。
【０１５１】
ＭＵＬ２は、記憶部ＤＬ２の値（Ｘn）を予め定められた定数Ａと乗算する乗算器である。
【０１５２】
ＡＤＤ２２は、乗算器ＭＵＬ２の出力に予め定められた定数Ｂを加算する加算器である。
【０１５３】
ＭＤ２は、予め定められた定数Ｍに基づき加算器ＡＤＤ２２の出力の剰余を求める剰余計算器である。
【０１５４】
記憶部ＤＬ２、乗算器ＭＵＬ２、加算器ＡＤＤ２２及び剰余計算器ＭＤ２により次の式の計算がなされる。これはメイン基板１０の場合と同じである。
Ｘn+1＝（Ａ×Ｘn＋Ｂ）mod  Ｍ
【０１５５】
ＭＥＭ２は、上記定数Ａ、Ｂ、Ｍを記憶する定数記憶部である。定数記憶部ＭＥＭ２は例えばサブ基板２０のＲＯＭであり、工場において予め定数が記憶される。定数Ａ、Ｂ、Ｍは、メイン基板１０とサブ基板２０で共通である。
【０１５６】
ＳＷ２０は、剰余計算器ＭＤ２の出力である今回生成した乱数値Ｘn+1又は加算器ＡＤＤ２１で生成した特別乱数値のいずれか一方を選択して記憶部ＤＬ２に入力する切替器である。
【０１５７】
ＣＯＮＴ２は、電文１に基づき切替器ＳＷ２０を制御する切替器制御部である。
【０１５８】
切替器制御部ＣＯＮＴ２により、切替器ＳＷ２０は、電文１が設定変更開始コマンド又はエラー解除コマンド（特定のコマンド）であるときに動作し、特別乱数値を選択して記憶部ＤＬ２に入力する。
【０１５９】
図９は、メイン基板１０からサブ基板２０へ送られるコマンドの構造を示す。これについては前述しているのでここでの説明は省略する。
【０１６０】
次に、発明の実施の形態に係る装置の動作について、図面を参照して説明を加える。図５乃至図８の装置は、大きく分けて通常動作と特別動作の２つの動作モードを持つので、それぞれについて順番に説明を加える。
【０１６１】
・通常動作（電文１が前記特定のコマンド以外の場合）
【０１６２】
図１０は通常モードの場合のメイン基板１０側の暗号化装置のブロック図、図１１は通常モードの場合のサブ基板２０側の復号化装置のブロック図、図１２は通常モードの場合の処理フローチャートである。図１０及び図１１は、理解を容易にするために、図５及び図７から通常動作では使用しない要素を取り除いたものである。
【０１６３】
以下、図１０乃至図１２を参照しつつ説明を加える。
【０１６４】
Ｓ１０：コマンドを生成する。
電文１発生部ＭＧ１〜電文４発生部ＭＧ４が、それぞれ電文１〜４を発生する。電文１〜４がコマンドを構成する。コマンドによっては電文１のみ、電文１と２のみで電文３，４がないもの、電文１〜３のみで電文４がないものもある。電文１〜４そのものは公知であるので説明は省略する。
【０１６５】
Ｓ１１：乱数値を取得する。
暗号用乱数発生器ＲＮＤ１から乱数値を取得して加算器ＡＤＤ１０〜１２に与える。乱数は、前述のように例えば線形合同法で生成される。取得される乱数値はＸn+1である。
【０１６６】
Ｓ１２：電文２〜４を暗号化する。
加算器ＡＤＤ１０〜１２で電文２〜４と乱数値Ｘn+1の４バイト目、３バイト目、２バイト目をそれぞれ加算（あるいは減算、乗算、除算、排他的論理和）することで、暗号化する。
【０１６７】
Ｓ１３：コマンドを送信する。
送信部ＴＸは、電文１、暗号化された電文２’〜４’をサブ基板２０へ送信する。
【０１６８】
Ｓ２０：コマンドを受信する。
受信部ＲＸは、メイン基板１０から電文１、暗号化された電文２’〜４’を受信する。
【０１６９】
Ｓ２１：乱数値を取得する。
暗号用乱数発生器ＲＮＤ２から乱数値を取得して減算器ＳＵＢ２０〜２２に与える。乱数発生のアルゴリズム及びこれに用いる定数Ａ，Ｂ，Ｍは、サブ基板２０とメイン基板１０において同じであるので、通常であれば、Ｓ２１で取得される乱数値Ｘn+1は、Ｓ１１のものと一致する。
【０１７０】
Ｓ２２：電文２’〜４’を復号化する。
減算器ＳＵＢ２０〜２２で電文２’〜４’と乱数値Ｘn+1の４バイト目、３バイト目、２バイト目をそれぞれ減算（あるいは加算、除算、乗算、排他的論理和）することで、復号化する。電文２’〜４’は電文２〜４に戻る。
【０１７１】
Ｓ２３：コマンドを出力する。
電文１出力部ＭＥ１〜電文４出力部ＭＥ４は、それぞれ電文１〜４を出力する。なお、コマンドに含まれていない電文は出力されない。
【０１７２】
・特別動作（電文１が前記特定のコマンドの場合）
【０１７３】
図１３は特別動作モードの場合のメイン基板１０側のブロック図、図１４は特別動作モードの場合のサブ基板２０側のブロック図、図１５は特別動作モードの場合の処理フローチャートである。図１３及び図１４は、理解を容易にするために、図５及び図７から通常動作では使用しない要素を取り除いたものである。図１４からわかるように、サブ基板２０では、電文１以外の出力は行われない。
【０１７４】
以下、図１３乃至図１５を参照しつつ説明を加える。
【０１７５】
Ｓ３０：特定のコマンドを発生する。
電文１発生部ＭＧ１が、設定変更開始コマンド、エラー解除コマンドの特定のコマンドを発生する。この特定のコマンドは、電文２〜４を伴わない点を除き他のコマンドと同じものである。特定のコマンドは乱数の同期を取るためだけに発生されるものではない。
【０１７６】
Ｓ３１：乱数値を取得する。
暗号用乱数発生器ＲＮＤ１から乱数値を取得して加算器ＡＤＤ１０〜１２に与える。加算器ＡＤＤ１０〜１２の入力は０（定数）であるので、電文２’〜４’は乱数値Ｘnの４バイト目、３バイト目、２バイト目そのものになる。
【０１７７】
このとき、暗号用乱数発生器ＲＮＤ１の下位ビットクリア部ＣＬ１により、記憶部ＤＬ１に記憶された乱数値Ｘnの１バイト目をクリアする。クリア後の乱数値をＸ［同期］nとすると、次に生成される乱数値は次のようになる。
Ｘn+1＝（Ａ×Ｘ［同期］n＋Ｂ）mod  Ｍ
【０１７８】
ちなみに、電文２’〜４’を合成するとＸ［同期］nとなる。
【０１７９】
Ｓ３２：コマンドを送信する。
送信部ＴＸは、電文１、暗号化された電文２’〜４’（乱数値Ｘ［同期］n）をサブ基板２０へ送信する。
【０１８０】
Ｓ４０：特定のコマンドを受信する。
受信部ＲＸは、メイン基板１０から電文１を受信する。
【０１８１】
Ｓ４１：Ｓ４０を受けて、復号用乱数発生器ＲＮＤ２の動作モードを、特別乱数を使用した同期モードへ切り換える。
すなわち、切替器ＳＷ２０により特別乱数値を記憶部ＤＬ２に入力するように制御する。
【０１８２】
Ｓ４２：乱数値を受信する。
乱数値、すなわち暗号化された電文２’〜４’（乱数値Ｘ［同期］n）を受信する。
【０１８３】
Ｓ４３：乱数値を復元する。
電文２’〜４’を合成することにより乱数値を復元する。
特別乱数値＝乱数値Ｘ［同期］n）
＝（電文２’×０ｘ０１００００００）＋（電文３’×０ｘ０００１００００）＋（電文４’×０ｘ０００００１００）＋（０（定数）×０ｘ０００００００１）
【０１８４】
Ｓ４４：特別乱数値を記憶部ＤＬ２に記憶する。
こうすることで次に生成される乱数値は次のようになり、メイン基板１０の暗号用乱数発生器ＲＮＤ１の乱数値と一致（同期）するようになる。
Ｘn+1＝（Ａ×Ｘ［同期］n＋Ｂ）mod  Ｍ
【０１８５】
Ｓ４５：動作モードを通常動作モードに戻す。
すなわち、切替器ＳＷ２０により剰余演算器ＭＤ２の出力を記憶部ＤＬ２に入力するように制御する。
【０１８６】
発明の実施の形態によれば、図１３乃至図１５のように特定のコマンドの送信の際にメイン基板からサブ基板へ乱数値を送り、これをサブ基板の乱数発生器に記憶するようにしたので、メイン基板とサブ基板で乱数値が一致しなくなることが生じても両者を同期させることができる。メイン基板からサブ基板へのデータ転送を復旧させることができる。
【０１８７】
また、重要度の高い電文の順番（電文２，電文３，電文４）に、周期の長い乱数値の４バイト目、３バイト目、２バイト目を対応付けて暗号化するとともに、周期の最も短い１バイト目を使用しない（クリア、破棄）ようにしたので、解読の可能性を低くすることができる。
【０１８８】
同期の契機となる特定のコマンドとして、設定値の変更に係るもの（設定変更スイッチの操作）、エラーの解除に係るもの（リセットスイッチの操作）を使用することで、ホール店員のみが乱数の同期を行うことができ、不正行為をやりにくくすることができる。
【０１８９】
次に、図１６及び図１７を参照して変形例について説明を加える。
【０１９０】
図１６は、変形例に係るメイン基板の暗号化処理部のブロック図であり、図５に相当する部分については同一符号を付している。図１７は、図１６の装置の処理フローチャートである。
【０１９１】
図１６の変形例は、切替器ＳＷ１０〜１２が電文２〜４と０（定数）の他に、ダミー値（乱数値）を選択できるようになっている点で図５とは異なる。図１７に示すように、ダミー値は、電文１が特定のコマンドでなく、かつ、電文２〜４の少なくともいずれかを伴わない場合に選択され、加算器ＡＤＤ１０〜１２へ出力される（Ｓ５２）。そして暗号化される（Ｓ５１）。電文２〜４の少なくともいずれかを伴わない場合とは、例えば、電文１のみ（特定のコマンド以外）、電文１＋電文２、電文１＋電文２＋電文３である。
【０１９２】
もし電文１のみのコマンドについて図１７のＳ５２を行わないとすると、そのコマンドの電文２’〜４’は乱数値の４バイト目〜２バイト目となる（電文２〜４がいずれも０だとする）。もし、不正行為者が通信を傍受していたならば当該電文１は電文２〜４を伴わないことを知り、電文２’〜４’は乱数値そのものであることがわかってしまう。乱数値を知ることで暗号を解読が可能になるおそれがある。使用されていない乱数値の１バイト目を知ることができないが、その繰り返し周期は短いから解読を完全に防ぐことはできない。
【０１９３】
そこで、この変形例は、乱数値がそのまま送信されることを防ぐために、電文２〜４の少なくともいずれかを伴わないコマンドについて、伴っていない電文についてダミー値を与えることで解読を困難にさせるというものである。
【０１９４】
ダミー値は任意であるが、乱数のように推測されにくいものがよい。例えば、乱数生成に使用した前回の乱数値Ｘnを使用するとよい。
【０１９５】
図１７を参照して変形例の動作について説明を加える。
【０１９６】
まず、電文１を解析する（Ｓ５０）。
【０１９７】
電文１が電文２〜４の全てを伴うときは（特定のコマンドではないことは明らか）、Ｓ５１に進む。切替器ＳＷ１０〜１２は電文２〜４を選択する。そして、加算器ＡＤＤ１０〜１２で電文２〜４に乱数値を加算して電文２’〜４’とする（Ｓ５１）。この処理は、図１２のＳ１０〜Ｓ１２に相当する。
【０１９８】
電文１が特定のコマンドであるときは、Ｓ５３に進む。切替器ＳＷ１０〜１２は０（定数）を選択する。そして、加算器ＡＤＤ１０〜１２を通して乱数値を電文２’〜４’とする（Ｓ５３）。この処理は、図１５のＳ３０、Ｓ３１に相当する。
【０１９９】
電文１が特定のコマンドではなく、かつ、電文２〜４のいずれか伴わないときは、Ｓ５２及びＳ５１に進む。
【０２００】
例えば、特定のコマンド以外のコマンドで電文１のみの場合は、切替器ＳＷ１０〜１２はダミー値を選択する。電文２’＝乱数値４バイト目＋ダミー値の任意の１バイト、電文３’＝乱数値３バイト目＋ダミー値の他の１バイト、電文４’＝乱数値２バイト目＋ダミー値の他の１バイト、となる。
【０２０１】
例えば、電文１＋電文２の場合は（電文２を伴うので特定のコマンドでないことは明らか）、切替器ＳＷ１０は電文２を、切替器ＳＷ１１と１２はダミー値を選択する。電文２’＝電文２＋乱数値４バイト目、電文３’＝乱数値３バイト目＋ダミー値の任意の１バイト、電文４’＝乱数値２バイト目＋ダミー値の他の１バイト、となる。
【０２０２】
例えば、電文１＋電文２＋電文３の場合は、切替器ＳＷ１０と１１は電文２と電文３を、切替器ＳＷ１２はダミー値を選択する。電文２’＝電文２＋乱数値４バイト目、電文３’＝電文３＋乱数値３バイト目、電文４’＝乱数値２バイト目＋ダミー値の任意の１バイト、となる。
【０２０３】
なお、電文１＋電文２＋電文３＋電文４は上述のようにＳ５０の次にＳ５１の処理がなされる。
【０２０４】
このように、欠けている電文についてダミー値を割り当てるので、通信の傍受によって乱数値を得ることができなくなり、解読を困難にすることができる。
【０２０５】
なお、受信側のサブ基板２０では電文１により伴っている電文を知ることができる（予めコマンド体系が定められている）ことから、ダミー値を容易に判別することができる。例えば、コマンドを解釈する際にまず電文１を解釈し、この結果に応じて必要な他の電文を取得し、それ以外は無視すればよい。したがって、ダミー値は結果的に破棄されることになるので、ダミー値を取り除くための特別な処理は必要としない。
【０２０６】
例えば、特定のコマンド以外のコマンドで電文１のみの場合は電文２’〜４’を破棄し、電文１＋電文２の場合は電文３’と４’を破棄し、電文１＋電文２＋電文３の場合は電文４’を破棄する。電文１＋電文２＋電文３＋電文４の場合はいずれの電文も破棄しない。
【０２０７】
以上の説明においてスロットマシンを例に挙げたが、本発明の実施の形態は、パチンコ機のような他の遊技機にも適用することができる。
【０２０８】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【０２０９】
１０    メイン基板
２０    サブ基板
１２００    内部抽選手段
１７００    エラー処理部
ＡＤＤ１０〜１２  加算器（第１演算部）
ＡＤＤ１４  加算器（第１加算器）
ＡＤＤ２１  加算器（第３演算部）
ＡＤＤ２２  加算器（第２加算器）
ＣＬ１    下位側ビットクリア部
ＣＯＮＴ１  切替器制御部（第１切替器制御部）
ＣＯＮＴ２  切替器制御部（第２切替器制御部）
ＤＬ１    記憶部（第１記憶部）
ＤＬ２    記憶部（第２記憶部）
ＥＧ１    電文１（第１電文）発生部
ＥＧ２    電文２（第２電文）発生部
ＥＧ３    電文３（第２電文）発生部
ＥＧ４    電文４（第２電文）発生部
ＭＤ１    剰余計算器（第１剰余計算器）
ＭＤ２    剰余計算器（第２剰余計算器）
ＭＥ１    電文１（第１電文）出力部
ＭＥ２    電文２（第２電文）出力部
ＭＥ３    電文３（第２電文）出力部
ＭＥ４    電文４（第２電文）出力部
ＭＵＬ１  乗算器（第１乗算器）
ＭＵＬ２  乗算器（第２乗算器）
ＰＲ１    電文１解釈部
ＲＮＤ１  暗号用乱数発生器（第１乱数発生器）
ＲＮＤ２  復号用乱数発生器（第２乱数発生器）
ＲＸ      受信部
ＳＵＢ２０〜２２  減算器（第２演算部）
ＳＷ１０  切替器（第１切替器）
ＳＷ２０  切替器（第２切替器）
ＴＸ      送信部
【図１】
0005905754.tif 000002
【図２】
0005905754.tif 000003
【図３】
0005905754.tif 000004
【図４】
0005905754.tif 000005
【図５】
0005905754.tif 000006
【図６】
0005905754.tif 000007
【図７】
0005905754.tif 000008
【図８】
0005905754.tif 000009
【図９】
0005905754.tif 000010
【図１０】
0005905754.tif 000011
【図１１】
0005905754.tif 000012
【図１２】
0005905754.tif 000013
【図１３】
0005905754.tif 000014
【図１４】
0005905754.tif 000015
【図１５】
0005905754.tif 000016
【図１６】
0005905754.tif 000017
【図１７】
0005905754.tif 000018