(57)【要約】【課題】データ容量の増大を抑制しつつ、ＬＥＤの輝度の連続性や色調を容易に変化させる。【解決手段】本発明のスロットマシンは、赤、緑、青の３原色それぞれの輝度を調整するための輝度調整テーブルを保持する保持部と、遊技の進行に応じて輝度データを生成する演出データ処理手段と、生成された輝度データを送信するデータ送信手段と、データ送信手段から送信された輝度データに基づく輝度値を、輝度調整テーブルを参照して変換するＬＥＤコントローラと、変換された輝度値に応じてＬＥＤを発光するＬＥＤ発光手段と、を備え、輝度調整テーブルは、輝度データに基づく異なる輝度値に対して、ＬＥＤ発光手段で発光される色調が異なることを特徴とする。【選択図】図２１
2014140409.tif 000002
【特許請求の範囲】
【請求項１】
遊技者による操作に基づいて遊技が進行し、該遊技の進行に応じてＬＥＤが発光される遊技機であって、
赤、緑、青の３原色それぞれの輝度を調整するための輝度調整テーブルを保持する保持部と、
前記遊技の進行に応じて輝度データを生成する演出データ処理手段と、
生成された輝度データを送信するデータ送信手段と、
前記データ送信手段から送信された輝度データに基づく輝度値を、前記輝度調整テーブルを参照して変換するＬＥＤコントローラと、
変換された輝度値に応じてＬＥＤを発光するＬＥＤ発光手段と、
を備え、
前記輝度調整テーブルは、輝度データに基づく輝度値の変化に対して、前記ＬＥＤ発光手段で発光される輝度値が不連続であることを特徴とする遊技機。
【請求項２】
遊技者による操作に基づいて遊技が進行し、該遊技の進行に応じてＬＥＤが発光される遊技機であって、
赤、緑、青の３原色それぞれの輝度を調整するための輝度調整テーブルを保持する保持部と、
前記遊技の進行に応じて輝度データを生成する演出データ処理手段と、
生成された輝度データを送信するデータ送信手段と、
前記データ送信手段から送信された輝度データに基づく輝度値を、前記輝度調整テーブルを参照して変換するＬＥＤコントローラと、
変換された輝度値に応じてＬＥＤを発光するＬＥＤ発光手段と、
を備え、
前記輝度調整テーブルは、輝度データに基づく異なる輝度値に対して、前記ＬＥＤ発光手段で発光される色調が異なることを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＥＤの発光を伴う演出が実行される遊技機に関する。
【背景技術】
【０００２】
外周面に図柄が配列された複数の回胴を備えた遊技機（回胴式遊技機、スロットマシン）が知られている。この種の遊技機は、遊技媒体（メダル）に対して一定の遊技価値を付与し、このような遊技媒体を獲得するための遊技を行うものである。また、この種の遊技機は、遊技者の回転開始操作を契機として、内部抽選を行うとともに複数の回胴の回転を開始させ、遊技者の停止操作を契機として、内部抽選の結果に応じた態様で複数の回胴を停止させる制御を行っている。そして、遊技の結果は、複数の回胴が停止した状態における入賞判定ライン上に表示された図柄組み合わせによって判定され、遊技の結果に応じてメダル等の払い出しなどが行われる。
【０００３】
こうした遊技機においては、内部抽選の抽選結果や、その時点の遊技状態を示唆したり、遊技にストーリー性を与える演出が実行される。演出としては、多彩な態様の画像を液晶表示装置に表示したり、かかる画像に対応する態様で種々の音声をスピーカから出力したり、画像に対応する態様でＬＥＤを発光させたりして、演出効果の向上が図られている。
【０００４】
演出の一部を担うＬＥＤは、輝度に対応する指令値が増加すると、実際の発光輝度も増加する。しかし、ＬＥＤは、非線形素子であるため、指令値を一定の間隔で増加させたとしても、視覚的に、階調が一定の間隔で増加しているように見えない。そこで、階調が一定の間隔で増加するように調整するための輝度調整テーブルが用いられ、所望する輝度に対する指令値が調整される（例えば、特許文献１）。また、輝度成分を強調するためにコントラストを局所的に強調したり（例えば、特許文献２）、彩度を強調する技術（例えば、特許文献３）も知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１０２５１３号公報
【特許文献２】特開２００６−１２１７１３号公報
【特許文献３】特開２００７−０９４７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した輝度調整テーブルを用いることで、入力された輝度の指令値に対して、見た目の階調を、ほぼ比例的に変化させることが可能となるが、あくまで、正しい輝度の変化に近づけるためのもので、輝度を不連続に変化させたり、色調を意図的に変化させるものではない。
【０００７】
したがって、ＬＥＤを通じて輝度を不連続に変化させようとしたり、任意の色調で発光させようとすると、その色調に対応する赤、緑、青の輝度値（輝度データ）を、その都度、個々に設定しなければならなかった。また、色調を連続的に変化させようとする場合、赤、緑、青の輝度値を繰り返し変化させて設定し直さなければならず、処理が煩雑になっていた。また、このように多彩な色調に対してそれぞれ赤、緑、青の輝度値を準備すると、その輝度値（輝度データ）のデータ容量が膨大になる問題があった。
【０００８】
そこで、本発明は、予め準備すべき輝度値のデータ容量の増大を抑制しつつ、ＬＥＤの輝度の連続性や色調を容易に変化させることが可能な遊技機の提供を目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、遊技者による操作に基づいて遊技が進行し、遊技の進行に応じてＬＥＤが発光される本発明の遊技機は、赤、緑、青の３原色それぞれの輝度を調整するための輝度調整テーブルを保持する保持部と、遊技の進行に応じて輝度データを生成する演出データ処理手段と、生成された輝度データを送信するデータ送信手段と、データ送信手段から送信された輝度データに基づく輝度値を、輝度調整テーブルを参照して変換するＬＥＤコントローラと、変換された輝度値に応じてＬＥＤを発光するＬＥＤ発光手段と、を備え、輝度調整テーブルは、輝度データに基づく輝度値の変化に対して、ＬＥＤ発光手段で発光される輝度値が不連続であることを特徴とする。
【００１０】
上記課題を解決するために、遊技者による操作に基づいて遊技が進行し、遊技の進行に応じてＬＥＤが発光される本発明の他の遊技機は、赤、緑、青の３原色それぞれの輝度を調整するための輝度調整テーブルを保持する保持部と、遊技の進行に応じて輝度データを生成する演出データ処理手段と、生成された輝度データを送信するデータ送信手段と、データ送信手段から送信された輝度データに基づく輝度値を、輝度調整テーブルを参照して変換するＬＥＤコントローラと、変換された輝度値に応じてＬＥＤを発光するＬＥＤ発光手段と、を備え、輝度調整テーブルは、輝度データに基づく異なる輝度値に対して、ＬＥＤ発光手段で発光される色調が異なることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、輝度調整テーブルの構成を工夫することで、予め準備すべき輝度値のデータ容量の増大を抑制しつつ、ＬＥＤの輝度の連続性や色調を容易に変化させることが可能となり、処理の効率化、負荷の軽減、および、メンテナンス性の向上を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】前扉を閉めた状態を示すスロットマシンの正面図である。
【図２】前扉を１８０度開いた状態を示すスロットマシンの正面図である。
【図３】スロットマシンの機能ブロック図である。
【図４】スロットマシンの遊技処理のフローチャートである。
【図５】（ａ）はジョグダイヤルの斜視図、（ｂ）はジョグダイヤルのブロック図、（ｃ）はメイン基板のコマンド送信部のブロック図である。
【図６】サブ基板と周辺基板の通信系統の説明図である。
【図７】データ送信手段の内部ブロック図である。
【図８】データ受信手段の内部ブロック図である。
【図９】スロットマシンの遊技処理のフローチャートである。
【図１０】周辺基板に関する処理の説明図である。
【図１１】ＶＤＰ（ビデオディスプレイプロセッサ）の構造の概略図である。
【図１２】ＶＤＰにおける描画データ保存、描画実行及び表示の各処理の説明図（タイミングチャート）である。
【図１３】サウンドコントローラの内部ブロック図である。
【図１４】データ送信手段とデータ受信手段との動作を説明するための説明図である。
【図１５】データ送信手段とデータ受信手段との具体的な処理を説明するためのフローチャートである。
【図１６】データ送信手段とデータ受信手段との具体的な処理を説明するためのフローチャートである。
【図１７】ＬＥＤコントローラからＬＥＤへのデータ転送を説明するためのブロック図である。
【図１８】輝度調整テーブルを説明するための説明図である。
【図１９】輝度調整テーブルの切り換えを説明するための説明図である。
【図２０】輝度調整テーブルの切り換えを説明するための説明図である。
【図２１】輝度調整テーブルの切り換えを説明するための説明図である。
【図２２】ＬＥＤの発光態様を示した説明図である。
【図２３】制御ＩＤを参照する際に占有される記憶容量について説明する説明図である。
【図２４】制御ＩＤを参照する際に占有される記憶容量について説明する説明図である。
【図２５】サブ基板における記憶素子の構成を示したブロック図である。
【図２６】制御ＩＤに関する情報の各記憶素子への配分を示した説明図である。
【図２７】ＲＡＭへの展開タイミングを示したタイミングチャートである。
【図２８】可動体（一例）の概略図である。（ａ）は上面図、（ｂ）は正面図、（ｃ）はＢ−Ｂ矢視断面図、（ｄ）はＡ−Ａ矢視断面図である。
【図２９】可動要素（シャッター）の開状態（ａ）と閉状態（ｂ）の説明図である。
【図３０】可動体制御部のブロック図である。
【図３１】可動体演出処理のフローチャートである。
【図３２】周辺基板の制御におけるメイン処理と割込処理の関係の説明図である。
【図３３】本実施の形態に係る遊技機のブロック図（複数の周辺基板間で動作の同期をとるための構成）である。
【図３４】本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの説明図である（制御データがひとつ）。
【図３５】本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの説明図である（制御データが２つ）。
【図３６】本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの説明図である（制御データがひとつ、エラー発生）。
【図３７】遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの参考図である（制御データが２つ、エラー発生、エラー上書き）。
【図３８】本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの説明図である（制御データが２つ、エラー発生）。
【図３９】本実施の形態に係る遊技機のエラー信号受信時の処理フローチャートである。
【図４０】他の本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの説明図である（制御データが２つ、エラー発生）。
【図４１】他の本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの他の説明図である（制御データが２つ、エラー発生）。
【図４２】他の本実施の形態に係る遊技機のエラー信号受信時の処理フローチャートである。
【図４３】他の本実施の形態に係る遊技機の制御データの入出力とバッファ（記憶素子）における制御データの動きの説明図である（制御データが３つ、エラー発生）。
【図４４】他の本実施の形態に係る遊技機のエラー信号受信時の処理フローチャートである。
【図４５】本実施の形態に係るチャタリング除去処理のフローチャートである。
【図４６】本実施の形態に係る真理値表である。
【図４７】本実施の形態に係る真理値表である。
【図４８】本実施の形態に係る真理値表である。
【図４９】本実施の形態に係る真理値表である。
【図５０】本実施の形態に係るチャタリング除去装置のブロック図である。
【図５１】本実施の形態に係るチャタリング除去処理を説明するためのタイミングチャートである。
【図５２】本実施の形態に係るチャタリング除去処理による処理結果を示す真理値表である。
【図５３】比較例に係るチャタリング除去処理のフローチャートである。
【図５４】並列処理を適用した場合の処理の説明図である。（ａ）は本実施の形態に係るチャタリング除去処理に並列処理を適用した場合を示し）は比較例に並列処理を適用した場合を示す。
【図５５】ジョグダイヤルの２つのセンサの出力信号の説明図である。
【図５６】ジョグダイヤルの回転方向を逆転させるときの信号変化の説明図である。
【図５７】本実施の形態に係るジョグダイヤルの回転量（回転方向を含む）を求める装置のブロック図である。
【図５８】図５７の装置のバッファの記憶内容の説明図である。
【図５９】ジョグダイヤルの順回転・逆回転の判定の説明図（タイミングチャート）である。
【図６０】本実施の形態に係る回転検出処理フローチャートである。
【図６１】本実施の形態に係る回転検出処理の説明図（タイミングチャート）である。
【図６２】ジョグダイヤルの判定処理に係る比較例（部分フローチャート）である。
【図６３】本実施の形態に係る他の回転検出処理フローチャートである。
【図６４】本実施の形態に係る他の回転検出処理フローチャートである（続き）。
【図６５】サウンドコマンドの書き込みの説明図である。
【図６６】演出の同期を取るための遅延方式（自動遅延と指定遅延）の説明図である。
【図６７】自動遅延方式の動作説明図（コマンド記憶部の説明図）である。
【図６８】自動遅延方式の動作説明図（コマンドバッファの説明図）である。
【図６９】自動遅延方式の動作説明図（コマンドバッファの状態遷移図）である。
【図７０】指定遅延方式の読み出しテーブル（コマンドバッファ）の説明図である。
【図７１】指定遅延方式の読み出しテーブル（コマンドバッファ）の状態遷移図である。
【図７２】本実施の形態に係る指定遅延型の送信制御部のブロック図である。
【図７３】電源部とサブ基板の関係（電源断予告信号）の説明図である。
【図７４】マルチプロセス方式における電断処理の説明図である。
【図７５】マルチプロセス方式における電断処理の説明図である（続き）。
【図７６】マルチプロセス方式における電断処理の説明図である（続き）。
【図７７】本実施の形態に係る遊技機の電断処理の部分のブロック図である。
【図７８】本実施の形態に係る遊技機の電断処理装置のフローチャートである。
【図７９】本実施の形態に係る電断処理の優先度テーブルの説明図である。
【図８０】本実施の形態に係る遊技機の電断処理（瞬断対策）の部分のブロック図である。
【図８１】本実施の形態に係る電断処理（瞬断対策）装置のフローチャートである。
【図８２】本実施の形態に係る電断処理（瞬断対策）の説明図（タイミングチャート）である。
【図８３】本実施の形態に係る電断処理（瞬断対策）の他の説明図（タイミングチャート）である。
【図８４】電断処理の他のブロック図（比較例）である。
【図８５】図８４の電断処理の説明図（タイミングチャート）である。
【図８６】本実施の形態に係る遊技機の電断処理（通信処理対策）の部分のブロック図である。
【図８７】本実施の形態に係る電断処理（通信処理対策）装置のフローチャートである。
【図８８】本実施の形態に係る電断処理（通信処理対策）の説明図（タイミングチャート）である。
【図８９】本実施の形態に係る電断処理（通信処理対策）の他の説明図（タイミングチャート）である。
【図９０】本実施の形態に係る電断処理（通信処理対策）の他の説明図（タイミングチャート）である。
【図９１】本実施の形態に係るメッセージ（コマンド）の構造説明図である。
【図９２】本実施の形態に係るマルチプロセス処理におけるメッセージ送受信の説明図である。
【図９３】本実施の形態に係るメッセージバッファに格納されているメッセージの説明図である。
【図９４】本実施の形態に係るタイマー割り込み、送信タスク、受信タスクの動作説明図（タイミングチャート）である（通常動作時）。
【図９５】本実施の形態に係るポインタの動作説明図である（通常動作時）。
【図９６】本実施の形態に係るメッセージ送受信部のブロック図である。
【図９７】本実施の形態に係る電断処理のフローチャートである（ポインタのバックアップに係る処理部分のみ示す）。
【図９８】本実施の形態に係る復帰処理のフローチャートである（ポインタの復帰処理部分のみ示す）。
【図９９】本実施の形態に係るタイマー割り込み、送信タスク、受信タスクの動作説明図（タイミングチャート）である（電断−復帰時）。
【図１００】本実施の形態に係るポインタの動作説明図である（電断−復帰時）。
【発明を実施するための形態】
【００１３】
<遊技機の構造>
図１は前扉を閉めた状態を示すスロットマシンの正面図、図２は前扉を１８０度開いた状態を示すスロットマシンの正面図を示す。
【００１４】
図１及び図２中、１００はスロットマシンを示すもので、このスロットマシン１００は、図１に示すように、スロットマシン本体１２０と、このスロットマシン本体１２０の前面片側にヒンジ等により開閉可能に取り付けられた前扉１３０とを備えている。前記前扉１３０の前面には、図１に示すように、ほぼ中央にゲーム表示部１３１を設け、ゲーム表示部１３１の右下隅部に、遊技者がメダルを投入するためのメダル投入口１３２を設け、メダル投入口１３２の下側には、メダル投入口１３２から投入され、詰まってしまったメダルをスロットマシン１００外に強制的に排出するためのリジェクトボタン１３３が設けられている。
【００１５】
また、前記ゲーム表示部１３１の左下方には、ゲームを開始するためのスタートスイッチ１３４を設けてあり、３つの回胴（リール）のそれぞれに対応して３つのストップボタン１４０を設けてある。前扉の下端部中央には、メダルの払出し口１３５を設けてある。前記ゲーム表示部１３１の上側には、液晶表示装置ＬＣＤが設けてある。
【００１６】
液晶表示装置ＬＣＤの位置には可動体５０が設けられている。可動体５０は２つのシャッター（可動要素）５１Ｌ及び５１Ｒを備える。２つのシャッター５１Ｌ及び５１Ｒは演出に従い左右に動き、液晶表示装置ＬＣＤを隠す。同図では、２つのシャッター５１Ｌ及び５１Ｒがそれぞれ左右に一杯に開き、液晶表示装置ＬＣＤが露出している（遊技者が画面をみることができる）状態を示している。
【００１７】
ストップボタン１４０とメダル投入口１３２の間、具体的には、右端のストップボタン１４０の右上側、かつ、メダル投入口１３２の左側には、操作部としてのジョグダイヤルＰＡＮが設けられている。
【００１８】
ジョグダイヤルＰＡＮは、図５（ａ）に示すように、左右に回転可能に設けられたリング状の部分であるダイヤルＪＤと、当該リングの回転中心に設けられた押しボタンスイッチＰＨＳＷの２つの部分を備える。遊技者は、ジョグダイヤルＰＡＮのダイヤルＪＤを左右に回すことができるとともに、その中心頂部の押しボタンスイッチＰＨＳＷを押下することができる。図示しないが、当該押しボタンスイッチＰＨＳＷの内部には発光素子が設けられ、例えば、押下時に点灯する。ダイヤルＪＤは複数のステップ（例えばステップ数＝３０、その角度＝１２度）で回転するようになっている。ダイヤルＪＤの回転方向及び／又は回転量（角度）、並びに押しボタンスイッチＰＨＳＷのオンオフに応じて所定の演出が行われる。
【００１９】
ジョクダイヤルＰＡＮは、図５（ｂ）に示すように、押しボタンスイッチＰＨＳＷとともに、ダイヤルＪＤの回転を検知するための２つのセンサ[1]ＪＳ１とセンサ[2]ＪＳ２を備えている。回転に応じてセンサ[1]ＪＳ１とセンサ[2]ＪＳ２はＨ／Ｌの２つのデジタル信号を出力する。これについては後にさらに説明を加える。
【００２０】
スロットマシン本体１２０の内部には、図２に示すように、その内底面に固定され、内部に複数のメダルを貯留して、貯留したメダルを前扉１３０の前面に設けた払出し口１３５に１枚ずつ払い出すためのホッパ装置１２１が設置されている。このホッパ装置１２１の上部には、上方に向けて開口し、内部に複数のメダルを貯留するホッパタンク１２２を備えている。スロットマシン本体１２０の内部には、前扉１３０を閉めたときにゲーム表示部１３１が来る位置に三個の回胴からなるリールユニット２０３が設置されている。リールユニット２０３は、外周面に複数種類の図柄が配列されている３つの回胴（第１回胴〜第３回胴）を備えている。ゲーム表示部１３１には開口部が設けられていて、それを通して遊技者が前記リールユニット２０３の各回胴の図柄を見ることができるようになっている。ホッパ装置１２１の上側のリールユニット２０３との間には電源部２０５が設けられている。
【００２１】
前記前扉１３０の裏面には、図２に示すように、メダル（コイン）セレクタ１が、前扉１３０の前面に設けられたメダル投入口１３２の裏側に取り付けられている。このメダルセレクタ１は、メダル投入口１３２から投入されたメダルの通過を検出しながら、当該メダルをホッパ装置１２１に向かって転動させ、外径が所定寸法と違う異径メダルや、鉄又は鉄合金で作製された不正メダルを選別して排除するとともに、１ゲームあたりに投入可能な所定枚数以上のメダルを選別して排除するための装置である。
【００２２】
また、メダルセレクタ１の下側には、図２に示すように、その下部側を覆って前扉１３０の払出し口１３５に連通する導出路１３６が設けられている。メダルセレクタ１により振り分けられたメダルは、この導出路１３６を介して払出し口１３５から遊技者に返却される。
【００２３】
図３は本実施の形態を適用し得る遊技機の一例としてのスロットマシン１００の機能ブロック図を示す。
【００２４】
この図において電源系統についての表示は省略されている。図示しないが、スロットマシン１００は商用電源（ＡＣ１００Ｖ）から直流電源（＋５Ｖなど）を発生するための電源部（図２の電源部２０５）を備える。
【００２５】
スロットマシン１００は、その主要な処理装置としてメイン基板（処理部）１０とこれからコマンドを受けて動作するサブ基板２０とを備える。なお、少なくともメイン基板１０は、外部から接触不能となるようにケース内部に収容され、これら基板を取り外す際に痕跡が残るように封印処理が施されている。すなわち、メイン基板１０とサブ基板２０はカシメにより一体となり取り付けられるとともに、メイン基板１０とサブ基板２０の全体を覆う一体のケースによりカバーされている。
【００２６】
メイン基板１０は、遊技者の操作を受けて内部抽選を行ったり、回胴の回転・停止やメダルの払い出しなどの処理（遊技処理）を行うためのものである。メイン基板１０は、予め設定されたプログラムに従って制御動作を行うＣＰＵと、前記プログラムを記憶する記憶手段であるＲＯＭおよび処理結果などを一時的に記憶するＲＡＭを含む。
【００２７】
サブ基板２０は、メイン基板１０からコマンド信号を受けて内部抽選の結果を報知したり各種演出を行うためのものである。サブ基板２０は、前記コマンド信号に応じた予め設定されたプログラムに従って制御動作を行うＣＰＵと、前記プログラムを記憶する記憶手段であるＲＯＭおよび処理結果などを一時的に記憶するＲＡＭを含む。コマンドの流れはメイン基板１０からサブ基板２０への一方のみであり、逆にサブ基板２０からメイン基板１０へコマンド等が出されることはない。
【００２８】
<メイン基板>
メイン基板１０には、ベットスイッチＢＥＴ、スタートスイッチ１３４、ストップボタン１４０、リール（回胴）ユニット２０３、ホッパ駆動部８０、ホッパ８１及びホッパ８１から払い出されたメダルの枚数を数えるためのメダル検出部８２（これらは前述のホッパ装置１２１を構成する）が接続されている。サブ基板２０には液晶表示装置ＬＣＤの制御用の液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２などの周辺基板（ローカル基板）が接続されている。
【００２９】
メイン基板１０には、さらに、メダルセレクタ１のメダルセンサＳ１及びＳ２が接続されている。
【００３０】
メダルセレクタ１には、メダルを計数するためのメダルセンサＳ１及びＳ２が設けられている。メダルセンサＳ１及びＳ２は、メダルセレクタ１に設けられた図示しないメダル通路の下流側（出口近傍）に設けられている（メダル通路の上流側はメダル投入口１３２に連通している）。２つのメダルセンサＳ１とＳ２は、メダルの進行方向に沿って所定間隔を空けて並べて設けられている。メダルセンサＳ１、Ｓ２は、例えば、互いに対向した発光部と受光部とを有して断面コ字状に形成され、その検出光軸をメダル通路内に上方から臨ませて位置するフォトインタラプタである。各フォトインタラプタにより、途中でメダルセレクタ１によって阻止されずに送られてきたメダルの通過が検出される。なお、フォトインタラプタを２つ隣接させたのは、メダル枚数を検出するだけでなく、メダルの通過が正常か否かを監視するためである。すなわち、フォトインタラプタを２つ隣接させて設けることにより、メダルの通過速度や通過方向を検出することができ、これによりメダル枚数だけでなく、逆方向に移動する不正行為を感知することができる。
【００３１】
リールユニット２０３は、３つの回胴４０ａ〜４０ｃと、これらをそれぞれ回転させるステッピングモータ１５５ａ〜１５５ｃと、それらの位置をそれぞれ検出する回胴位置検出器（インデックスセンサ）１５９ａ〜１５９ｃとを備える（なお、ステッピングモータ１５５ａ〜１５５ｃを単にステッピングモータ１５５あるいはモータと記すことがある）。
【００３２】
回胴制御手段１３００は、回胴４０ａ〜４０ｃそれぞれが１回転する毎にインデックスセンサ１５９で検出される基準位置信号に基づいて、回胴４０の基準位置（図示しないインデックスによって特定されるコマ）からの回転角度を求める（ステッピングモータ１５５の回転軸の回転ステップ数をカウントする）ことによって、現在の回胴４０の回転状態を監視することができるようになっている。すなわち、メイン基板１０は、回胴４０の基準位置からの回転角度を求めることにより、ストップボタン１４０の作動時における回胴４０の位置を得ることができる。
【００３３】
なお、以下の説明において、任意のひとつ又は複数の回胴を示すときは符号４０を使用し、３つの回胴をそれぞれ区別して示すときは符号４０ａ〜４０ｃを使用することにする。
【００３４】
ホッパ駆動部８０は、ホッパ８１の図示しない回転ディスクを回転駆動して、メイン基板１０によって指示された払出数のメダルを払い出す動作を行う。スロットマシン１００は、メダルを１枚払い出す毎に作動するメダル検出部８２を備えており、メイン基板１０は、メダル検出部８２からの入力信号に基づいてホッパ８１から実際に払い出されたメダルの数を管理することができる。
【００３５】
投入受付部（投入受付手段）１０５０は、メダルセレクタ１のメダルセンサＳ１とＳ２の出力を受け、遊技毎にメダルの投入を受け付けて、規定投入数に相当するメダルが投入されたことに基づいて、スタートスイッチ１３４に対する第１回胴４０ａ〜第３回胴４０ｃの回転開始操作を許可する処理を行う。なお、スタートスイッチ１３４の押下操作が、第１回胴４０ａ〜第３回胴４０ｃの回転を開始させる契機となっているとともに、内部抽選を実行する契機となっている。また、遊技状態に応じて規定投入数を設定し、通常状態およびボーナス成立状態では規定投入数を３枚に設定し、ボーナス状態では規定投入数を１枚に設定する。
【００３６】
メダルが投入されると、遊技状態に応じた規定投入数を限度として、投入されたメダルを投入状態に設定する。あるいは、スロットマシン１００にメダルがクレジットされた状態で、ベットスイッチＢＥＴが押下されると、遊技状態に応じた規定投入数を限度として、クレジットされたメダルを投入状態に設定する。メダルの投入を受け付けるかどうかは、メイン基板１０が制御する。スタートスイッチ１３４が押下され各回胴４０の回転が開始した時点（遊技開始時点）から３つのストップボタン１４０が押下され各回胴４０の回転が停止した時点（入賞した場合はメダル払い出しが完了した時点）（遊技終了時点）の間であって、メダルの投入を受け付ける状態になっていないときは（許可されていないときは）、メダルを投入してもメダルセンサＳ１、Ｓ２でカウントされず、そのまま返却される。同様に、メイン基板１０は、メダルの投入を受け付ける状態か否かに応じて、ベットスイッチＢＥＴの有効／無効を制御する。また、前記遊技終了時点から前記遊技開始時点までの間でベットスイッチＢＥＴは有効となるが、これ以外の期間においては（ＢＥＴスイッチの押下が許可されていないときは）、ベットスイッチＢＥＴを押下しても、それは無視される。
【００３７】
メイン基板１０は、乱数発生手段１１００を内蔵する。乱数発生手段１１００は、抽選用の乱数値を発生させる手段である。乱数値は、例えば、インクリメントカウンタ（所定のカウント範囲を循環するように数値をカウントするカウンタ）のカウント値に基づいて発生させることができる。なお本実施形態において「乱数値」には、数学的な意味でランダムに発生する値のみならず、その発生自体は規則的であっても、その取得タイミング等が不規則であるために実質的に乱数として機能しうる値も含まれる。
【００３８】
内部抽選手段１２００は、遊技者が押下操作するスタートスイッチ１３４からのスタート信号に基づいて、役の当否を決定する内部抽選を行う。すなわち、メイン基板１０のメモリ（図示せず）に記憶されている抽選テーブル（図示せず）を選択する抽選テーブル選択処理、乱数発生手段１１００から得た乱数の当選を判定する乱数判定処理、当選の判定結果でボーナスなどに当選したときにその旨のフラグを設定する抽選フラグ設定処理などを行う。
【００３９】
抽選テーブル選択処理では、図示しない記憶手段（ＲＯＭ）に格納されている複数の抽選テーブル（図示せず）のうち、いずれの抽選テーブルを用いて内部抽選を行うかを決定する。抽選テーブルでは、複数の乱数値（例えば、０〜６５５３５の６５５３６個の乱数値）のそれぞれに対して、リプレイ、小役（ベル、チェリー）、レギュラーボーナス（ＲＢ：ボーナス）、およびビッグボーナス（ＢＢ：ボーナス）などの各種の役が対応づけられている。また、遊技状態として、通常状態、ボーナス成立状態、およびボーナス状態が設定可能とされ、さらにリプレイの抽選状態として、リプレイ無抽選状態、リプレイ低確率状態、リプレイ高確率状態が設定可能とされる。
【００４０】
抽選テーブル選択処理により、抽選の内容は所定の範囲内で設定可能（当選の確率を高くしたり低くしたりできる）であり、スロットマシン１００が設置されるホールなどにおいて店側により設定作業が行われる。
【００４１】
通常のスロットマシン１００は、ＢＢ、ＲＢ、小役等の抽選確率の異なる複数（例えば６つ）の抽選テーブルを予め備える。スロットマシン１００の抽選では、それら複数の抽選テーブルの中から１つが設定され、この設定された抽選テーブルに基づいて抽選による当たり／ハズレの判定がなされる。複数の抽選テーブルのうちどれを使用するかに関する設定を変更することを、設定の変更（以下、「設定変更」と記す）と称している。
【００４２】
従来、例えばスロットマシン１００のようなスロットマシン１００では、設定値（通常１〜６）を変更する場合、スロットマシン１００の前扉１３０を開け、電源部２０５に設けられた設定変更キースイッチに設定変更キーを挿入して当該キースイッチをオンにした状態でスロットマシン１００の電源を投入して設定変更可能な状態にし、設定変更ボタン（押ボタン）を１回押下するごとに、７セグメント表示器などに表示される設定値がインクリメントされて１〜６までの値を循環的に変化させ、所望する設定値が表示器に表示されたところでスタートスイッチ１３４を操作することで、所望する設定値を確定させている。
【００４３】
乱数判定処理では、スタートスイッチ１３４からのスタート信号に基づいて、遊技毎に乱数発生手段（図示せず）１１００から乱数値（抽選用乱数）を取得し、取得した乱数値について前記抽選テーブルを参照して役に当選したか否かを判定する。
【００４４】
抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役の抽選フラグを非当選状態（第１のフラグ状態、オフ状態）から当選状態（第２のフラグ状態、オン状態）に設定する。２種類以上の役が重複して当選した場合には、重複して当選した２種類以上の役のそれぞれに対応する抽選フラグが当選状態に設定される。抽選フラグの設定情報は、記憶手段（ＲＡＭ）に格納される。
【００４５】
入賞するまで次回以降の遊技に当選状態を持ち越し可能な抽選フラグ（持越可能フラグ）と、入賞の如何に関わらず次回以降の遊技に当選状態を持ち越さずに非当選状態にリセットされる抽選フラグ（持越不可フラグ）とが用意されていることがある。この場合、前者の持越可能フラグが対応づけられる役としては、レギュラーボーナス（ＲＢ）およびビッグボーナス（ＢＢ）があり、それ以外の役（例えば、小役、リプレイ）は後者の持越不可フラグに対応づけられている。すなわち抽選フラグ設定処理では、内部抽選でレギュラーボーナスに当選すると、レギュラーボーナスの抽選フラグの当選状態を、レギュラーボーナスが入賞するまで持ち越す処理を行い、内部抽選でビッグボーナスに当選すると、ビッグボーナスの抽選フラグの当選状態を、ビッグボーナスが入賞するまで持ち越す処理を行う。このときメイン基板１０は、内部抽選機能により、レギュラーボーナスやビッグボーナスの抽選フラグの当選状態が持ち越されている遊技でも、レギュラーボーナスおよびビッグボーナス以外の役（小役およびリプレイ）についての当否を決定する内部抽選を行っている。すなわち抽選フラグ設定処理では、レギュラーボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているレギュラーボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる２種類以上の役に対応する抽選フラグを当選状態に設定し、ビッグボーナスの抽選フラグの当選状態が持ち越されている遊技において、内部抽選で小役あるいはリプレイが当選した場合には、既に当選しているビッグボーナスの抽選フラグと内部抽選で当選した小役あるいはリプレイの抽選フラグとからなる２種類以上の役に対応する抽選フラグを当選状態に設定する。
【００４６】
回胴制御手段１３００は、遊技者がスタートスイッチ１３４の押下操作（回転開始操作）をすることによるスタート信号に基づいて、第１回胴〜第３回胴をステッピングモータ１５５により回転駆動して、第１回胴〜第３回胴の回転速度が所定速度（約８０ｒｐｍ：１分間あたり約８０回転となる回転速度）に達した状態において回転中の回胴４０にそれぞれ対応する３つのストップボタン１４０の押下操作（停止操作）を許可する制御を行うとともに、ステッピングモータ１５５により回転駆動されている第１回胴〜第３回胴を抽選フラグの設定状態（内部抽選の結果）に応じて停止させる制御を行う。
【００４７】
また、回胴制御手段１３００は、３つのストップボタン１４０に対する押下操作（停止操作）が許可（有効化）された状態において、遊技者が３つのストップボタン１４０を押下し、その回胴停止信号に基づいて、リールユニット２０３のステッピングモータ１５５への駆動パルス（モータ駆動信号）の供給を停止することにより、第１回胴〜第３回胴の各回胴４０を停止させる制御を行う。
【００４８】
すなわち、回胴制御手段１３００は、３つのストップボタン１４０の各ボタンが押下される毎に、第１回胴〜第３回胴のうち押下されたボタンに対応する回胴４０の停止位置を決定して、決定された停止位置で回胴を停止させる制御を行っている。具体的には、記憶手段（ＲＯＭ）に記憶されている停止制御テーブル（図示せず）を参照して３つのストップボタン１４０の押下タイミングや押下順序等（停止操作の態様）に応じた第１回胴〜第３回胴の停止位置を決定し、決定された停止位置で第１回胴〜第３回胴を停止させる制御を行う。
【００４９】
ここで停止制御テーブルでは、ストップボタン１４０の作動時点における第１回胴〜第３回胴の位置（押下検出位置）と、第１回胴〜第３回胴の実際の停止位置（または押下検出位置からの滑りコマ数）との対応関係が設定されている。滑りコマ数とは、回胴停止時にゲーム表示部１３１から視認できる特定の図柄を基準位置としたときのストップボタン１４０の操作から対応する回胴４０の回転停止までの間に当該基準位置を通過する図柄の数をいう。回胴制御手段１３００は、各ストップボタン１４０の操作から１９０ｍｓ以内という条件下で各回胴４０を停止させるため、滑りコマ数は０以上４以下の範囲内となっている（ただし、８０回転／分、図柄数＝２１個の条件において）。抽選フラグの設定状態に応じて、第１回胴〜第３回胴の停止位置を定めるための停止制御テーブルが用意されることもある。
【００５０】
前述のように、回胴制御手段１３００は、回胴４０が１回転する毎に回胴位置検出器１５９で検出される基準位置信号に基づいて、回胴４０の基準位置（リールインデックスによって検出されるコマ）からの回転角度（ステッピングモータ１５５の回転軸の回転ステップ数）を求めることによって、現在の回胴４０の回転状態を監視することができるようになっている。すなわち、メイン基板１０は、ストップボタン１４０の作動時における回胴４０の位置を、回胴４０の基準位置からの回転角度を求めることにより得ることができる。
【００５１】
回胴制御手段１３００は、いわゆる引き込み処理と蹴飛ばし処理とを回胴４０を停止させる制御として行っている。引き込み処理とは、抽選フラグが当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止するように（当選した役を入賞させることができるように）回胴４０を停止させる制御処理である。一方蹴飛ばし処理とは、抽選フラグが非当選状態に設定された役に対応する図柄が有効な入賞判定ライン上に停止しないように（当選していない役を入賞させることができないように）回胴４０を停止させる制御処理である。すなわち本実施形態のスロットマシン１００では、上記引き込み処理及び蹴飛ばし処理を実現させるべく、抽選フラグの設定状態、ストップボタン１４０の押下タイミング、押下順序、既に停止している回胴４０の停止位置（表示図柄の種類）などに応じて各回胴４０の停止位置が変化するように停止制御テーブルが設定されている。このように、メイン基板１０は、抽選フラグが当選状態に設定された役の図柄を入賞の形態で停止可能にし、一方で抽選フラグが非当選状態に設定された役の図柄が入賞の形態で停止しないように第１回胴〜第３回胴を停止させる制御を行っている。
【００５２】
本実施形態のスロットマシン１００では、第１回胴〜第３回胴が、ストップボタン１４０が押下された時点から１９０ｍｓ以内に、押下されたストップボタン１４０に対応する回転中の回胴４０を停止させる制御状態に設定されている。すなわち回転している各回胴４０の停止位置を決めるための停止制御テーブルでは、ストップボタン１４０の押下時点から各回胴４０が停止するまでに要するコマ数が０コマ〜４コマの範囲（所定の引き込み範囲）で設定されている。
【００５３】
入賞判定手段１４００は、第１回胴〜第３回胴の停止態様に基づいて、役が入賞したか否かを判定する処理を行う。具体的には、記憶手段（ＲＯＭ）に記憶されている入賞判定テーブルを参照しながら、第１回胴〜第３回胴の全てが停止した時点で入賞判定ライン上に表示されている図柄組合せが、予め定められた役の入賞の形態であるか否かを判定する。
【００５４】
入賞判定手段１４００は、その判定結果に基づいて、入賞時処理を実行する。入賞時処理としては、例えば、小役が入賞した場合にはホッパ８１を駆動してメダルの払出制御処理が行われるか、あるいはクレジットが増加され（規定の最大枚数例えば５０枚まで増加され、それを超えた分だけ実際にメダルが払い出される）、リプレイが入賞した場合にはリプレイ処理が行われ、ビッグボーナスやレギュラーボーナスが入賞した場合には遊技状態を移行させる遊技状態移行制御処理が行われる。
【００５５】
払出制御手段１５００は、遊技結果に応じたメダルの払い出しに関する払出制御処理を行う。具体的には、小役が入賞した場合に、役毎に予め定められている配当に基づいて遊技におけるメダルの払出数を決定し、決定された払出数に相当するメダルを、ホッパ駆動部８０でホッパ８１を駆動して払い出させる。この際に、ホッパ８１に内蔵される図示しないモータに電流が流れることになる。
【００５６】
メダルのクレジット（内部貯留）が許可されている場合には、ホッパ８１によって実際にメダルの払い出しを行う代わりに、記憶手段（ＲＡＭ）のクレジット記憶領域（図示省略）に記憶されているクレジット数（クレジットされたメダルの数）に対して払出数を加算するクレジット加算処理を行って仮想的にメダルを払い出す処理を行う。
【００５７】
リプレイ処理手段１６００は、リプレイが入賞した場合に、次回の遊技に関して遊技者の所有するメダルの投入を要さずに前回の遊技と同じ準備状態に設定するリプレイ処理（再遊技処理）を行う。リプレイが入賞した場合には、遊技者の手持ちのメダル（クレジットメダルを含む）を使わずに前回の遊技と同じ規定投入数のメダルが自動的に投入状態に設定される自動投入処理が行われ、スロットマシン１００が前回の遊技と同じ入賞判定ラインを有効化した状態で次回の遊技における回転開始操作（遊技者によるスタートスイッチ１３４の押下操作）を待機する状態に設定される。
【００５８】
リプレイ処理手段１６００は、所定条件下で内部抽選におけるリプレイの当選確率を変動させる制御を行うことがある。例えば、ストップボタン１４０の操作によって回胴４０を停止させた際に所定の出目が表示されるとリプレイの当選確率が変動する。リプレイの抽選状態として、リプレイが内部抽選の対象から除外されるリプレイ無抽選状態、リプレイの当選確率が約１／７．３に設定されるリプレイ低確率状態、およびリプレイの当選確率が約１／６に設定されるリプレイ高確率状態という複数種類の抽選状態を設定可能とされている。
【００５９】
エラー処理部１７００は、図示しない扉開閉検知センサ、メダルセンサＳ１及びＳ２及びメダル検出部８２の出力に基づきスロットマシン１００のエラー判定を行い、エラーと判定したときにその旨を報知するとともに、スロットマシン１００を所定の状態（例えば、操作を受け付けない状態）にする。
【００６０】
図示しない扉開閉検知センサは、前扉１３０が閉じられたことを検知するセンサであり、例えばマイクロスイッチや接点などの電気的スイッチである。当該スイッチは前扉１３０が閉じられたときに、前扉１３０の裏側にスイッチの作用部が当接することでオン（又はオフ）になり、前扉１３０が開放されると作用部が離れてオフ（又はオン）になるものである。扉開閉検知センサは、フォトインタラプタのような光学式のものでもよい。なお、メダルセンサＳ１及びＳ２及びメダル検出部８２については前述したので、ここでは説明を省略する。
【００６１】
エラー処理部１７００は、具体的には次のような動作を行う。
・図示しない扉開閉検知センサの出力に基づき前扉１３０の開放を検知したとき、エラー処理を行う。
・メダルセンサＳ１及びＳ２の出力に基づきメダルの逆流（メダルセンサＳ１とＳ２の検知順序が反対になったこと）、メダル滞留（メダルセンサＳ１とＳ２の検知時間が予め定められた閾値よりも長いこと）などを検知したとき、エラー処理を行う。
・メダル検出部８２の出力に基づきメダル詰まり（メダル検出部８２の検知時間が予め定められた閾値よりも長いこと）、ホッパエンプティ（ホッパ駆動部８０を動作させているにもかかわらずメダル検知部８２がメダルを検知しない）などを検知したとき、エラー処理を行う。
【００６２】
エラー処理部１７００は、上記のようにエラーと判定したときにその旨を報知するとともに、スロットマシン１００を所定の状態（エラー状態）にするが、この状態は図示しないリセットスイッチにより解除される。リセットスイッチは、例えば電源部２０５のパネルに設けられる。
【００６３】
なお、サブ基板２０で生じるエラーもある。このエラーでは遊技不能状態にはならないが、サブ基板２０自身の処理によりエラーが生じたことを液晶表示装置ＬＣＤなどにより報知することができる。当該エラーは例えば不正なコマンドを受信したとき（暗号化されたコマンドが正しく復号化できなかったときを含む）に発生し、当該エラーは上記リセットスイッチにより解除される（メイン基板１０からサブ基板２０へリセットコマンドが送られる）。
【００６４】
また、メイン基板１０は、通常状態、ボーナス成立状態、およびボーナス状態の間で遊技状態を移行させる制御を行うことがある（遊技状態移行制御機能）。遊技状態の移行条件は、１の条件が定められていてもよいし、複数の条件が定められていてもよい。複数の条件が定められている場合には、複数の条件のうち１の条件が成立したこと、あるいは複数の条件の全てが成立したことに基づいて、遊技状態を他の遊技状態へ移行させることができる。
【００６５】
通常状態は、複数種類の遊技状態の中で初期状態に相当する遊技状態で、通常状態からはボーナス成立状態への移行が可能となっている。ボーナス成立状態は、内部抽選でビッグボーナスあるいはレギュラーボーナスに当選したことを契機として移行する遊技状態である。ボーナス成立状態では、通常状態における内部抽選でビッグボーナスが当選した場合、ビッグボーナスが入賞するまでビッグボーナスに対応する抽選フラグが当選状態に維持され、通常状態における内部抽選でレギュラーボーナスが当選した場合、レギュラーボーナスが入賞するまでレギュラーボーナスに対応する抽選フラグが当選状態に維持される。ボーナス状態では、ボーナス遊技によって払い出されたメダルの合計数により終了条件が成立したか否かを判断し、入賞したボーナスの種類に応じて予め定められた払出上限数を超えるメダルが払い出されると、ボーナス状態を終了させて、遊技状態を通常状態へ復帰させる。
【００６６】
リールユニット２０３は、３つの回胴４０ａ〜４０ｃを備えるが、３つの回胴４０ａ〜４０ｃそれぞれにひとつずつステッピングモータ１５５ａ〜１５５ｃが取り付けられている。ステッピングモータ１５５は、回転子（ロータ）として歯車状の鉄心あるいは永久磁石を備え、固定子（ステータ）として複数の巻線（コイル）を備え、電流を流す巻線を切り替えることによって回転動作させるものである。すなわち、固定子の巻線に電流を流して磁力を発生させ、回転子を引きつけることで回転するものである。回転軸を指定された角度で停止させることが可能なことから、スロットマシン１００の回胴４０の回転駆動に使用されている。複数の巻線がひとつの相を構成する。相の数として、例えば、２つ（２相）、４つ（４相）、５つ（５相）のものもある。
【００６７】
ステッピングモータ１５５は、各相の巻線への電流の与え方を変えることにより、特性を変えることができる（励磁モードが変わる）。一相型および二相型については次の通りである。
【００６８】
・一相励磁
常に巻線一相のみに電流を流す。位置決め精度は良い。
【００６９】
・二相励磁 
二相に電流を流す。一相励磁の約２倍の出力トルクが得られる。位置決め精度は良く、停止したときの静止トルクが大きいため、停止位置を確実に保持できる。
【００７０】
・一−二相励磁 
一相と二相を交互に切り替えて電流を流す。一相励磁・二相励磁の場合のステップ角度の半分にすることができるので、滑らかな回転を得られる。
【００７１】
なお、ステッピングモータ１５５を「駆動する」とは、当該モータを上記励磁により回転させることとともに、所望の位置で停止させその位置を保持するために各相を励磁することも含むものとする。
【００７２】
スロットマシン１００では、例えば、４相の基本ステップ角度１．４３度のステッピングモータ１５５を使用し、パルスの出力方法として一−二相励磁を採用している。
【００７３】
１０ＣＧは、サブ基板２０へ送るコマンドを送信するコマンド送信部である。このコマンドには、当選役の情報に関するコマンド、メダル投入枚数やクレジット枚数（貯留枚数）の情報に関するコマンドなどがある。コマンド送信部１０ＣＧは、具体的には、メイン基板１０に搭載されたＲＯＭに予め書き込まれたプログラムをＣＰＵが実行することで実現される。コマンド送信については、後に説明を加える。
【００７４】
次に、メイン基板１０における遊技処理について図４を参照して説明を加える。
【００７５】
一般的に、スロットマシン１００において、メダルの投入（クレジットの投入）に始まり、払い出しが終了するまで（又はクレジット数の増加が終了するまで）が一遊技である。一遊技が終了するまでは次回の遊技に進めないという決まりがある。
【００７６】
先ず、規定枚数のメダルが投入されることでスタートスイッチ１３４が有効になり、図４の処理が開始される。
【００７７】
ステップＳ１において、スタートスイッチ１３４が操作されることにより（ＹＥＳ）、スタートスイッチ１３４がＯＮとなる。そして、次のステップＳ２に進む。
【００７８】
ステップＳ２において、メイン基板１０により抽選処理が行われる。そして、次のステップＳ３に進む。
【００７９】
ステップＳ３において、第１回胴〜第３回胴の回転が開始する。そして、次のステップＳ４に進む。
【００８０】
ステップＳ４において、いずれか１のストップボタン１４０が操作されることにより、ストップボタン１４０がＯＮとなる。そして、次のステップＳ５に進む。
【００８１】
ステップＳ５において、第１回胴〜第３回胴のうち押下されたストップボタン１４０に対応する回胴について回転停止処理が行われる。そして、次のステップＳ６に進む。
【００８２】
ステップＳ６において、三個の回胴に対応するストップボタン１４０の操作が行われたか否かが判定される。そして、三個の回胴に対応する３つのストップボタン１４０すべての操作が行われたと判定された場合、次のステップＳ７に進む。また、三個の回胴に対応する３つのストップボタン１４０すべての操作が行われていないと判定された場合は、ステップＳ４に戻って処理を行う。
【００８３】
ステップＳ７において、抽選フラグ成立中に当該抽選フラグに対応する入賞図柄が有効入賞ライン上に揃ったか否か、すなわち、入賞が確定したか否かが判定される。そして、入賞が確定したと判定された場合、次のステップＳ８に進む。なお、入賞が確定しなかった場合は、抽選フラグが成立していてもメダルの払い出しは行われない。
【００８４】
ステップＳ８において、入賞図柄に相当するメダルが払い出される。
【００８５】
メダルの投入からステップＳ８の実行完了までが、一遊技である。ステップＳ８の待機処理が終了すると、処理はフローチャートの最初に戻る。言い換えれば、次の遊技が可能な状態になる（次遊技へ移行する）。
【００８６】
<メイン基板からサブ基板へのコマンド伝送>
サブ基板２０はメイン基板１０からコマンドをうけ、これに従って演出等の処理を行う。コマンドの流れはメイン基板１０からサブ基板２０への一方のみであり、逆にサブ基板２０からメイン基板１０へコマンド等が出されることはない。
【００８７】
サブ基板２０は、メイン基板１０からのコマンドに従い、例えば、予め定められた画面を液晶表示装置ＬＣＤに表示させるためのコマンド（液晶表示装置用コマンド、描画コマンド）を生成する。例えば、アニメーションなどにより演出を行う際には、多数のコマンドを連続的に次々と送信する。
【００８８】
図３において、２０ＣＲは、メイン基板１０から受けたコマンドを受信するコマンド受信部である。コマンド受信部２０ＣＲは、具体的には、サブ基板２０に搭載されたＲＯＭに予め書き込まれたプログラムをＣＰＵが実行することで実現される。
【００８９】
上記コマンドとして、サブ基板２０側のソフトウエアで当選内容を示唆する演出を行うためのものがある。例えば、下記ＡＴのように、出玉を得るための示唆を液晶表示装置ＬＣＤに表示して遊技者の操作の便宜の提供（アシスト）を図っている。当該示唆は常時出されるわけではなく、特定の場合に出される。
【００９０】
スロットマシン１００は、液晶表示装置ＬＣＤ、スピーカや表示ランプ等からなる演出表示装置を備える。この演出表示装置はサブ基板２０により制御され、遊技者に入賞等を報知したり、いわゆるアシストタイム（ＡＴ）において、一定ゲーム間に特定の小役を台自体が何らかのアクションを伴ってユーザ（遊技者）に教えたりするためのものである。（アシストタイム（ＡＴ）：特定の小役が成立しても遊技者が回胴の図柄を揃えないと払い戻しがない。小役による払い出しを確実にするために、ビッグボーナス終了後（もしくは成立時）あるいはその他の任意の契機にアシストタイムを抽選し、これに当選すると一定ゲーム間は特定の小役を揃えさせるための操作を何らかのアクションを伴って遊技者に教えるという機能）。
【００９１】
図５（ｃ）は、本実施の形態に係るコマンド送信部１０ＣＧのブロック図である。１０１は、送信する前記コマンドを受け入れるコマンドレジスタである。コマンドレジスタ１０１は、コマンドを受けたらすぐに送信データレジスタ１０２へ送る。コマンドレジスタ１０１はひとつのコマンドを一時的に蓄えるものである。
【００９２】
コマンドは、所定ビットのひとまとまりのデータ、例えば８ビット単位のデータのセットであって、所定のコマンド体系に基づき作成されているものである。
【００９３】
送信データレジスタ（送信ＦＩＦＯ）１０２は、受け入れた順番で複数のコマンドを記憶するとともに、受け入れた順番に従って出力する。
【００９４】
１０３は、送信データレジスタ１０２からコマンドの出力を受けてこれをサブ基板２０へ送信する送信用シフトレジスタである。
【００９５】
メイン基板１０は、生成したコマンドをコマンドレジスタ１０１にセットすることでサブ基板２０へ送信する。
【００９６】
コマンド受信部２０ＣＲは、メイン基板１０から受けたコマンドを受信する。例えば、シリアルデータとして受けたコマンドを直列−並列変換器（シフトレジスタ）に入力し、一定のデータ（例えば８ビット）ごとに出力する。この出力されたデータがコマンドとしてサブ基板２０のＣＰＵに渡され、解釈・実行される。
【００９７】
<サブ基板>
図３に示すように、サブ基板２０には、図３に示すように、液晶表示装置ＬＣＤの制御用の液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２などの周辺基板（ローカル基板）が接続されている。さらに、可動体５０を制御する可動体制御部６０が接続されている。
【００９８】
また、遊技者により操作される操作部ＰＡＮの出力が接続されている。操作部ＰＡＮは、例えばジョグダイヤルである。操作部ＰＡＮからの信号は、図示しないＩ／Ｏを通じてサブ基板２０のＣＰＵに入力される。
【００９９】
図６は、サブ基板２０とその周辺基板の接続の説明図である。図３に示すように、サブ基板２０には、液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２、可動体制御部６０が接続されている。これらは、サブ基板２０の周辺基板と言うべきものである。
【０１００】
これら複数の周辺基板は、図６のように接続されている（可動体制御部６０の表示は省略している）。すなわち、複数の周辺基板が共通のバス（通信回線、通信路）に接続され、当該バスを通じてサブ基板２０と通信を行う。当該バスを流れる信号は、パラレル信号（例えば8ビットの線で信号を伝送するもの）あるいはシリアル信号（例えば、Ｉ２Ｃ（Inter-Integrated Circuit）のようにデータ線とクロック線の２本の線で信号を伝送するもの）である。以下の説明ではシリアル通信を例にとる。なお、図６の例ではサブ基板２０から出た信号がサブ基板２０に戻っているが、これは一例であり、一般的なバス構造のように接続端の反対側の端が開放されていてもよい。
【０１０１】
液晶制御基板２００はＶＤＰ（Video Display Processor）を内蔵し、スピーカ基板２０１はサウンドコントローラを内蔵し、ＬＥＤ基板２０２はＬＥＤコントローラを内蔵している。ＶＤＰとサウンドコントローラとＬＥＤコントローラについては後に説明する。
【０１０２】
サブ基板２０から周辺基板へは、アドレスを指定してデータを送る。例えば、周辺基板としての液晶制御基板２００へデータを送る場合は、液晶制御基板２００に予め対応づけられているアドレスを指定してデータをバスに流す。液晶制御基板２００は、アドレスにより自分宛のデータであることを認識すると、アドレスに引き継ぐデータをラッチに取り込む。取り込んだデータに従って所定の動作を行う。取り込んだデータが、液晶制御基板２００で取得したあるいは取得可能なデータをサブ基板２０へ送信するコマンドであれば、当該データをサブ基板２０へ送信する（所定のデータ受信後は、予め定められたデータを常にサブ基板２０へ送信するようにすることもできる）。
【０１０３】
スピーカ基板２０１やＬＥＤ基板２０２も、液晶制御基板２００と同様に動作する。
【０１０４】
以下の説明では、送信先を特定することなく、液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２などの任意の送信先について適用する動作であるとき、主に「周辺基板」という用語を用いる。どの周辺基板へのデータ送信であるか特定する必要があるときは、「液晶制御基板２００」というように具体的に特定するものとする。
【０１０５】
周辺基板へのデータ送信に際して、サブ基板２０は０又は１の情報を表す１ビットのデータが複数集まったデータ（例えば８ビットのデータ）を単位として処理を行う。また、サブ基板２０は周辺基板へ、この周辺基板に所定の動作を行わせるためのコマンド（命令）を送信するが、本明細書において上記データにはコマンドを含む。なお、コマンドは、所定ビットのひとまとまりのデータ、例えば８ビット単位のデータのセットであって、所定のコマンド体系に基づき作成されているものである。
【０１０６】
以下の説明では主に「データ」という用語を用いるが、周辺機器（周辺基板）への命令であることを明確にするために「コマンド」という用語を用いることもある。
【０１０７】
液晶制御基板２００、スピーカ基板２０１などの周辺機器へデータを送るために、サブ基板２０は、演出に関する処理を行う演出データ処理手段２０Ｕとデータ送信手段２０ＴＸを備える。また、液晶制御基板２００は、周辺機器からデータを受けるために、サブ基板２０はデータ受信手段２０ＲＸを備える。
【０１０８】
図７は、データ送信手段２０ＴＸの内部ブロック図を示す。データ送信手段２０ＴＸは、具体的には、サブ基板２０に搭載されたＲＯＭに予め書き込まれたプログラムをＣＰＵが実行することで実現される。
【０１０９】
２０５１は、周辺基板へ送信するデータを受け入れるデータレジスタ（コマンドレジスタ）である。データレジスタ２０５１は、データを受けたらすぐに送信データレジスタ２０５２へ送る。データレジスタ２０５１はひとつの単位のデータを一時的に蓄えるものである。なお、データの内容は公知であるので、送信されるデータがどのようなものであるかについての説明は省略する。
【０１１０】
２０５２は、受け入れた順番で複数のデータを記憶するとともに、受け入れた順番に従って出力する送信データレジスタである。
【０１１１】
２０５３は、送信データレジスタ２０５２からデータの出力を受けてこれを周辺基板へ送信する送信用シフトレジスタである。送信用シフトレジスタ２０５３は、送信すべきデータをパラレルからシリアルへ変換する。データレジスタ２０５１がデータを受けた後、送信用シフトレジスタ２０５３から当該データが出力されるまでの時間は非常に短く、時間差はないものとして考えることができる。  図８は、データ受信手段２０ＲＸの内部ブロック図を示す。データ受信手段２０ＲＸは、データ送信手段２０ＴＸ同様、サブ基板２０に搭載されたＲＯＭに予め書き込まれたプログラムをＣＰＵが実行することで実現される。
【０１１２】
２０５４は、周辺基板からデータの出力を受けてこれを受信データレジスタ２０５５へ送信する受信用シフトレジスタである。受信用シフトレジスタ２０５４は、受信したデータをシリアルからパラレルへ変換する。
【０１１３】
２０５５は、受け入れた順番で複数のデータを記憶するとともに、受け入れた順番に従って出力する受信データレジスタである。
【０１１４】
２０５６は、周辺基板から受信したデータをサブ基板２０内に反映するためのデータレジスタ（コマンドレジスタ）である。データレジスタ２０５６は、受信データレジスタ２０５５に記憶されるデータがなくなるまで、順次データを読み出して、サブ基板２０のＣＰＵにデータを出力する。受信用シフトレジスタ２０５４がデータを受信した後、データレジスタ２０５６から当該データが出力されるまでの時間は非常に短く、時間差はないものとして考えることができる。
【０１１５】
次に、サブ基板２０における遊技処理について図９を参照して説明を加える。サブ基板２０はメイン基板１０からコマンドを受け、これに従って演出等の処理を行う。
【０１１６】
まず、ステップＳ２５１において、コマンド受信部２０ＣＲは、メイン基板１０からのコマンドが受信されたか否か判定し、コマンドが受信されない間、ステップＳ２５１の処理を繰り返すことでコマンド待機状態を維持する。そして、コマンドが受信されたと判定した場合、コマンド受信部２０ＣＲは、次のステップＳ２５２に処理を移行する。
【０１１７】
ステップＳ２５２において、ステップＳ２５１でコマンドが受信されていると判定されれば、コマンド受信部２０ＣＲは、当該受信されたコマンドに基づいて種々の処理を実行する。例えば、コマンド受信部２０ＣＲは、受信されたコマンドに基づいて演出（画像データ、音声データ、発光データ）を決定する。そして、次のステップＳ２５３に処理を移行する。
【０１１８】
ステップＳ２５３において、データ送信手段２０ＴＸは、決定された画像データを液晶制御基板２００に送信する。そして、次のステップＳ２５４に処理を移行する。
【０１１９】
ステップＳ２５４において、データ送信手段２０ＴＸは、決定された音声データをスピーカ基板２０１に送信する。かかる音声データの送信については、後程、図１５および図１６を用いて詳述する。そして、次のステップＳ２５５に処理を移行する。
【０１２０】
ステップＳ２５５において、演出データ処理手段２０Ｕは、決定された発光データをＲＡＭに保持させ、ＬＥＤの更新タイミングにおいて発光データに基づきＬＥＤの輝度値を示す輝度データを生成する。そして、データ送信手段２０ＴＸは、生成された輝度データをＬＥＤ基板２０２に送信する。かかる輝度データの送信については、後程、図１７を用いて詳述する。そして、ステップＳ２５１に処理を戻す。
【０１２１】
図１０は、データ（コマンド）送信とこれを受けた液晶制御基板２００とスピーカ基板２０１とＬＥＤ基板２０２と可動体制御部６０の動作の概略の説明図である。
【０１２２】
サブ基板２０は、液晶制御基板２００とスピーカ基板２０１とＬＥＤ基板２０２それぞれへ画像データと音声データと輝度データを送る（符号ＰとＲとＲＲ）。画像データを受けて液晶制御基板２００は所定の画面を表示し（符号Ｑ）、音声データを受けてスピーカ基板２０１は所定の音声を発生し（符号Ｓ）、輝度データを受けてＬＥＤ基板２０２はＬＥＤを発光する（符号ＳＳ）。スピーカ基板２０１は、音声に限らずＢＧＭ、効果音などその他の音響も発生するが、便宜上これらも音声に含める。音声・音声データは、音響・音響データとも言える。特に断らない限り、本明細書において「音声」には、通常の意味の音声とともにＢＧＭ、効果音などその他の音響も含むものとする。
【０１２３】
また、サブ基板２０は、可動体制御部６０へ可動体５０の制御データを送る（符号ＴとＵ）。
【０１２４】
図１０からわかるように、サブ基板２０によるコマンド送信−>周辺基板によるコマンドの実行・画面表示や音声発生などの提示という流れになっている。サブ基板２０が制御できるのはどのようなコマンドをどの周辺基板へ、どのタイミングで送るということであり、画面表示や音声発生、ＬＥＤ発光などの提示をどのタイミングで行え、ということは指定できない。このためコマンドの送信タイミングは、周辺基板ごとに適切に管理する必要がある。
【０１２５】
<画面表示に係る構成>
スロットマシン１００における画面表示に係る構成について説明を加える。以下の説明においては便宜上、メモリ上に描画されたものを画像と表示し、メモリを読み出して液晶表示装置ＬＣＤに表示すべきものを画面と表記することにする。概ね、ビットマップで表現されたキャラクタなどのオブジェクトは画像であり、オブジェクトが背景上に配置されて１枚の絵となったものは画面である。
【０１２６】
図１１は、ＶＤＰの構造の概略図である。ＶＤＰは、液晶制御基板２００に設けられたＬＳＩであり、ＣＰＵとのインタフェースＩ／Ｆ、ＣＰＵからのコマンドに従い画像を描画する描画エンジンＥ１、描画した画像を記憶するビデオメモリＶＲＡＭ、及び、ビデオメモリＶＲＡＭに記憶された画像を読み出して液晶表示装置ＬＣＤへ送る表示エンジンＥ２を備える。これらの各要素は、内部のバスＢＵＳに接続され、相互にデータを読み書きできるようになっている。インタフェースＩ／Ｆは、ＣＰＵからコマンドなどのデータを受けるとともに、表示エンジンＥ２などからの割り込み信号をＣＰＵへ出力することもできる。このＶＤＰは、例えば、ＸＧＡサイズの解像度（1024×768ピクセルの解像度）で毎秒60フレームの描画及び表示が可能である。
【０１２７】
毎秒60フレーム（＝６０ｆｐｓ）で描画及び表示する場合、１フレームの時間は１６．６７ｍｓである。これをフレーム時間と記すことにする。また、２つの連続するフレームをＶフレームと呼ぶことにする。フレーム×２＝Ｖフレーム×１である。Ｖフレームの時間は３３．３３ｍｓであり、その画面更新レート（更新周波数）は３０ｆｐｓである。フレーム、Ｖフレームは、表示の単位及び処理の単位であるが、以下の説明においては、当該フレーム、Ｖフレームにおけるデータ、処理結果（描画された画像）、液晶表示装置ＬＣＤに表示された画像を意味することがある。例えば、Ｖフレーム１などのように数字（符号）が付されている場合は、特定のＶフレームを示すと共にこれに対応する描画データ、画像データ、表示データを意味することがある。
【０１２８】
液晶表示装置ＬＣＤの制御は、描画データ（液晶表示装置ＬＣＤに対するコマンド、動画デコード情報などを含む）の保存、描画データに基づく描画実行、描画された画像の表示実行の３段階で行われる。すなわち、ＣＰＵがＶＤＰへ描画データを送り、ＶＤＰの描画エンジンＥ１が描画を実行し、表示エンジンＥ２が液晶表示装置ＬＤＣでの画像表示を行う。この３段階の処理はそれぞれ並列（独立）に実行される。画像表示までに３段階を要するため、ある画像が表示されているタイミング（Ｖフレーム）において、描画実行は次のＶフレームで表示されるべき画像を描画し、描画データの保存は次の次のＶフレームで表示されるべき画像を保存していることになる。その様子を図１２に示す。
【０１２９】
描画データの保存、描画実行、及び、表示実行は、ひとつのＶフレームについて１回の周期で実行判定がなされる。言い換えれば、描画データの保存（第１処理）、描画実行（第２処理）、表示実行（第３処理）は、それぞれＶフレームを単位として実行される（正確には、Ｖフレームに含まれるフレーム単位で処理が行われる、例えば、Ｖフレーム更新中にデータ入力があった場合、Ｖフレームの２つのフレームの一方において入力されたデータに係る描画データの保存、描画実行、表示実行が行われる）。したがって、本スロットマシン１００の液晶表示装置ＬＣＤの更新周波数は３０ｆｐｓである。なお、これは原則であって、ｆｐｓは処理状況に応じて変化し得る。
【０１３０】
描画データを保存してからその表示を実行するまでには、２つのＶフレームに相当する時間を要する。例えば、図１２では、符号Ｔ１で書き込んだ描画データは、それよりもＶフレーム２つ分遅れた符号Ｔ３において表示される。ただし、描画データの保存、描画実行、表示実行はそれぞれ並列に実行されるため、液晶表示装置ＬＣＤの画像はＶフレーム単位で更新される。図１２の例では、表示に関して、符号Ｔ３、Ｔ４、・・・においてＶフレーム１、Ｖフレーム２、・・・のように更新されている。
【０１３１】
<音声発生に係る構成>
図１３は、サウンドコントローラＳＣの内部ブロック図を示す。同図は概念図であり、動作の説明に必要な部分のみを示している。
【０１３２】
ＳＣ１は、複数の記憶素子（レジスタ）ＳＣ１Ｒ−１〜ＳＣ１Ｒ−５１２によって先入れ先出し（ＦＩＦＯ）の音声データバッファを構成する。音声データバッファＳＣ１は、データ送信手段２０ＴＸの音声データの送信タイミングと、当該サウンドコントローラＳＣによる音声データの処理タイミングのずれを吸収するため、サウンドコントローラＳＣに入力された音声データを、当該サウンドコントローラＳＣ内での処理が開始されるまで保持する。
【０１３３】
上記音声データは、必ず、音声データバッファＳＣ１に一時的に保持されるが、コマンドによっては、例えば、エラー時の音声停止コマンド等であれば、音声データバッファＳＣ１を経由することなく、以下に示すサウンドコントロールモジュールＳＣ３に直接アクセスできるものもある。ただし、直接アクセスできるコマンドについては、本実施形態とは直接関係ないので、その詳細な説明を省略する。
【０１３４】
ＳＣ２は、音声データに対応した、予め再生の順番が定められ、続けて再生される複数のサウンドデータを含むフレーズデータを予め記憶するフレーズデータ記憶部である。当該フレーズデータ記憶部ＳＣ２は、サウンドコントローラＳＣ内で一体的に設けられてもよいし、別体のメモリとして設けられてもよい。
【０１３５】
ＳＣ３は、サウンドコントローラＳＣ全体を管理するサウンドコントロールモジュール（音声出力手段）である。サウンドコントロールモジュールＳＣ３は、音声データバッファＳＣ１に先に保持された音声データから順次読み出し、その音声データに対応したフレーズデータをフレーズデータ記憶部ＳＣ２から読み出して音声データが指示するレイヤに設定する。また、サウンドコントロールモジュールＳＣ３は、レイヤに設定されたフレーズデータを順次デコードして音響を再生する。デコードとは、所定のサウンドデータ（例えばＷＡＶ）を音響に戻すものであり、この処理は公知であるので説明は省略する。
【０１３６】
ＳＣ４は、サウンドコントロールモジュールＳＣ３で再生された音響の音量を調整する音量調整部である。音量調整部ＳＣ４はデジタル又はアナログ回路で構成される。その入力がデジタル信号のときはデジタル回路、例えば乗算器で構成され、ボリュームの値を音響デジタルデータに乗算することで音量を調整する。その入力がアナログ信号のときはアナログ回路、例えば増幅器で構成され、当該増幅器の増幅率（可変抵抗器）を変えることで音量を調整する。音量調整部ＳＣ４の出力はスピーカＳＰへ送られる。
【０１３７】
ＳＣ５は、記憶素子（レジスタ）によって制御レジスタを構成する。制御レジスタＳＣ５は、サウンドコントロールモジュールＳＣ３において音声データが処理されフレーズデータがレイヤに設定された後、その設定されたフレーズデータの出力結果を特定可能な情報である音声情報を保持する。音声情報は、サウンドコントローラＳＣの各レジスタの内容を示し、音声データに基づくフレーズデータのフレーズ番号、フレーズデータが設定されたレイヤ、再生されている音量等が含まれる。サブ基板２０は、データ受信手段２０ＲＸを通じてその音声情報を読み出し、意図したフレーズデータが音声出力されたか否か確認することができる。
【０１３８】
音声情報は、例えば、スロットマシン１００の設計時において、プログラムの確認やデバッグ、出荷検査に用いたり、遊技が進行しているときに、音声に関する進行状況、例えば、想定されるフレーズデータが想定されるレイヤに正しく配されているか確認したり、その時点の音量を把握する等に利用することができる。
【０１３９】
<データ読み込み方法>
サブ基板２０において音声データが生成されると、演出データ処理手段２０Ｕは、データ送信手段２０ＴＸに、バスを通じて音声データをサウンドコントローラＳＣに送信させる。サウンドコントローラＳＣは、受信した音声データを一旦音声データバッファＳＣ１に保持する。したがって、音声データバッファＳＣ１に既に保持されている音声データの数によっては、受信した音声データがサウンドコントロールモジュールＳＣ３で読み出されるまで時間を要する場合がある。
【０１４０】
音声データバッファＳＣ１において保持される最大時間は、以下のように計算することができる。例えば、サンプリング周期を４４．１ｋＨｚ、１サンプル時間あたりに解析可能な音声データ数を１６、音声データバッファＳＣ１の記憶素子数を５１２とする。音声データバッファＳＣ１の全ての記憶素子に音声データが保持されていたとして、その音声デーが全て解析されるまでに、サンプル時間１／４４１００×サンプル数（５１２／１６）＝７２５．６μｓｅｃ要する。すなわち、サウンドコントローラＳＣが受信した音声データは、最大、７２５．６μｓｅｃの処理待ち時間後にサウンドコントロールモジュールＳＣ３で処理されることとなる。
【０１４１】
ところで、本実施形態では、データ送信手段２０ＴＸがスピーカ基板２０１に音声データを送信するだけで音声の再生処理を完結することができる。ただし、送信した音声データに基づく音声が再生されたか、また、再生された音声が意図したものかを確認すべく、演出データ処理手段２０Ｕは、再生された音声を確認することがある。具体的に、演出データ処理手段２０Ｕは、データ受信手段２０ＲＸを通じて制御レジスタＳＣ５に保持された音声情報を読み出し、その音声情報によって特定されたフレーズ番号が、サブ基板２０から送信された音声データに基づいたフレーズデータのフレーズ番号であるか否か、想定された妥当なレイヤに配されているか否か、また、その音声の音量はどの程度であるか等を判定する。
【０１４２】
このような音声情報の読み出しは、音声データに基づくフレーズデータがレイヤに設定され、レジスタも更新され、そのフレーズデータに基づく音声が再生開始された後に行われる。しかし、上述したように、サウンドコントローラＳＣは、受信した音声データを一旦音声データバッファＳＣ１に保持し、最大、７２５．６μｓｅｃの処理待ち時間を伴って処理される。このような状況下において、演出データ処理手段２０Ｕが、データ送信手段２０ＴＸに音声データを送信させた直後に、制御レジスタＳＣ５に保持された音声情報を読み出すと、過去の音声データに基づいた音声情報が読み出され、意図した内容と異なるおそれがある。
【０１４３】
そこで、音声情報が必要となると、演出データ処理手段２０Ｕは、データ送信手段２０ＴＸが音声データを送信してから所定の遅延時間、データ受信手段２０ＲＸによる音声情報の受信を待機させる。ここで、遅延時間は、音声データバッファに音声データが滞留する最大時間であり、例えば、上記７２５．６μｓｅｃの処理待ち時間と、サウンドコントロールモジュールＳＣ３の処理時間と、データ送信手段２０ＴＸとサウンドコントローラＳＣとの通信時間との総時間で表すことができる。遅延時間が経過すると、音声データバッファＳＣ１に保持された音声データはすべてサウンドコントロールモジュールＳＣ３によって処理されるので、音声データに基づく音声情報が制御レジスタＳＣ５に確実に反映されることとなる。その後、演出データ処理手段２０Ｕは、データ受信手段２０ＲＸに、制御レジスタＳＣ５から音声情報を読み出させる。こうして、音声データバッファＳＣ１において音声データが遅延する場合であっても、データ受信手段２０ＲＸは、意図した内容の音声情報を確実に取得することができる。
【０１４４】
ただし、データ受信手段２０ＲＸが、遅延時間分、データの受信を待機している間に、データ送信手段２０ＴＸが次の音声データを送信した場合、遅延時間が経過して、意図した音声情報が制御レジスタＳＣ５に保持されたとしても、その直後に、次の音声データに基づく音声情報が上書きされるおそれがある。そうすると、音声情報の前後関係に矛盾や齟齬が生じ得る。
【０１４５】
そこで、演出データ処理手段２０Ｕは、音声データが送信された後、その音声データに基づく音声情報が必要になると、遅延時間の計時を開始するとともに、データ送信手段２０ＴＸからの音声データの送信を一時的に禁止する。こうすることで、制御レジスタＳＣ５において、音声情報が必要な音声データに基づく音声情報が、新たな音声データに基づく音声情報によって上書きされることもない。そして、サブ基板２０では、計時された値が遅延時間を超えると、データ送信手段２０ＴＸの音声データの送信を許可（再開）する。こうすることで、データ送信手段２０ＴＸから送信される音声データと、その音声データに基づいてサウンドコントローラＳＣで再生される音声とがずれることなく、再生を所望する音声と、実際の音声との齟齬を回避することが可能となる。
【０１４６】
図１４は、データ送信手段２０ＴＸとデータ受信手段２０ＲＸとの動作を説明するための説明図である。ここでは、音声情報に基づいて、任意の時点の音量を把握し、それ以降に出力する音声を、把握した音量の半分の音量で出力する例を挙げる。
【０１４７】
サブ基板２０で音声データＳＤ１、ＳＤ２が生成されると、データ送信手段２０ＴＸは、（１）音声データＳＤ１、ＳＤ２をスピーカ基板２０１のサウンドコントローラＳＣに順次送信する。すると、音声データバッファＳＣ１に当該音声データＳＤ１、ＳＤ２がその順に保持される。ここで、送信された任意の音声データＳＤ２に対して、その音声データＳＤ２に基づく音声の確認が必要になると、すなわち、音声データＳＤ２に基づく音声の音量を把握しようとする要求が生じると、（２）一旦、データ送信手段２０ＴＸからの音声データ（例えば、ＳＤ３）の送信を禁止する。
【０１４８】
そして、遅延時間分、データ受信手段２０ＲＸにデータの受信を待機させると、データ送信手段２０ＴＸから送信された音声データＳＤ２に基づく音声情報ＲＤ２が制御レジスタＳＣ５に保持されているので、データ受信手段２０ＲＸは、（３）制御レジスタＳＣ５から所望する音声情報ＲＤ２を取得することができ、その時点の音声の音量を把握することが可能となる。そして、（４）データ送信手段２０ＴＸからの音声データＳＤ３の送信を再開する。このような処理を補足するため、受信状態フラグと受信可能フラグが用いられる。両フラグについては後ほど詳述する。
【０１４９】
ここで、データ受信手段２０ＲＸは、制御レジスタＳＣ５に所望する音声情報が反映されるタイミングに拘わらず、反映されるまでに要する最大の遅延時間後に音声情報を受信する。すなわち、予め定められた遅延時間が経過するまでは、制御レジスタＳＣ５に所望する音声情報が反映されたか否かを逐次確認する待受処理を行わなくてよいので、演出データ処理手段２０Ｕは、遅延時間が経過するまで、上記待受処理を行う代わりにスピーカ基板２０１へのデータの送受信処理以外の他の処理を実行することができ、処理時間を有効利用することが可能となる。
【０１５０】
図１５および図１６は、データ送信手段２０ＴＸとデータ受信手段２０ＲＸとの具体的な処理を説明するためのフローチャートである。特に図１５は、上述した図９のステップＳ２５４における音声データ送信処理の具体的処理を示し、図１６は、定期的な割込処理を示す。
【０１５１】
Ｓ２６１：演出データ処理手段２０Ｕは、受信可能フラグがＯＮになっているか否か判定する。ここで、受信可能フラグは、所望する音声情報が制御レジスタＳＣ５に保持され、音声情報を取得可能となったことを示すフラグである。受信可能フラグがＯＮであれば（ＹＥＳ）、ステップＳ２６２に処理を移行し、受信可能フラグがＯＦＦであれば（ＮＯ）、ステップＳ２６４に処理を移行する。
【０１５２】
Ｓ２６２：受信可能フラグがＯＮであると判定されると、データ受信手段２０ＲＸは、スピーカ基板２０１のサウンドコントローラＳＣ（制御レジスタＳＣ５）に保持されている音声情報を読み出す。そして、ステップＳ２６３に処理を移行する。
【０１５３】
Ｓ２６３：演出データ処理手段２０Ｕは、受信可能フラグをＯＦＦにして、データの受信を完了し、ステップＳ２６４に処理を移行する。
【０１５４】
Ｓ２６４：演出データ処理手段２０Ｕは、図９のステップＳ２５２において決定した音声データを、サブ基板２０のＲＡＭに保持する。そして、ステップＳ２６５に処理を移行する。
【０１５５】
Ｓ２６５：演出データ処理手段２０Ｕは、サブ基板２０のＲＡＭに音声データが保持されており、かつ、受信状態フラグがＯＦＦであるか否か判定する。ここで、受信状態フラグは、送信された音声データについて音声情報の取得を要する場合に、音声データのさらなる送信を一旦禁止するのに用いられる。そして、サブ基板２０のＲＡＭに音声データが保持され、かつ、受信可能フラグがＯＦＦであれば（ＹＥＳ）、ステップＳ２６６に処理を移行し、サブ基板２０のＲＡＭに音声データが保持されていない、または、受信可能フラグがＯＮあれば（ＮＯ）、当該図１５の音声データ送信処理を終了する。
【０１５６】
Ｓ２６６：演出データ処理手段２０Ｕは、サブ基板２０のＲＡＭに保持された音声データを読み出し、データ送信手段２０ＴＸに音声データを送信させる。こうして、サウンドコントローラＳＣの音声データバッファＳＣ１に音声データが保持される。そして、ステップＳ２６７に処理を移行する。
【０１５７】
Ｓ２６７：演出データ処理手段２０Ｕは、ステップＳ２６６で送信した音声データに対し、音声データに基づく音声情報を要するか否か判定する。ここで、音声情報が必要であれば（ＹＥＳ）、ステップＳ２６８に処理を移行し、音声情報が不要であれば（ＮＯ）、当該図１５の音声データ送信処理を終了する。
【０１５８】
Ｓ２６８：音声情報を要すると判定すると、演出データ処理手段２０Ｕは、受信状態フラグをＯＮし、音声データ受信カウンタに遅延時間に相当するカウント値（遅延時間／割込間隔）を設定する。ここで、音声データ受信カウンタは、データ受信手段２０ＲＸによる音声情報の取得の待機時間を計時するためのカウンタである。そして、当該図１５の音声データ送信処理を終了する。
【０１５９】
Ｓ２７１：割込が生じると、図１６に示すように、演出データ処理手段２０Ｕは、受信状態フラグがＯＮしているか否か判定する。その結果、受信状態フラグがＯＮしていれば（ＹＥＳ）、ステップＳ２７２に処理を移行し、受信状態フラグがＯＦＦであれば（ＮＯ）、当該図１６の割込処理を終了する。
【０１６０】
Ｓ２７２：受信状態フラグがＯＮであると判定すると、演出データ処理手段２０Ｕは、音声データ受信カウンタの値が０以下であるか否か、すなわち、待機時間が経過したか否か判定する。その結果、音声データ受信カウンタの値が０以下であれば（ＹＥＳ）、ステップＳ２７３に処理を移行し、音声データ受信カウンタの値が０より大きいと（ＮＯ）、ステップＳ２７５に処理を移行する。
【０１６１】
Ｓ２７３：音声データ受信カウンタの値が０以下であると判定すると、演出データ処理手段２０Ｕは、受信可能フラグをＯＮして、データ受信手段２０ＲＸによる音声情報の受信の準備を行う。そして、ステップＳ２７４に処理を移行する。
【０１６２】
Ｓ２７４：演出データ処理手段２０Ｕは、データ送信手段２０ＴＸによる音声データの送信を再開すべく、受信状態フラグをＯＦＦする。そして、当該図１６の割込処理を終了する。
【０１６３】
Ｓ２７５：演出データ処理手段２０Ｕは、音声データ受信カウンタの値をデクリメント（１減算）し、当該図１６の割込処理を終了する。
【０１６４】
このようにして、演出データ処理手段２０Ｕは、送信した音声データの出力結果を特定可能な音声情報を確実に取得することができる。また、演出データ処理手段２０Ｕは、遅延時間を予め定め、その遅延時間に到達するまで待受処理を行わないので、遅延時間を他の処理に充てることができ、処理時間を有効利用することが可能となる。
【０１６５】
また、演出データ処理手段２０Ｕが、データ送信手段２０ＴＸが音声データを送信してから遅延時間が経過するまで、次回以降の音声データの送信を禁止することで、音声データに基づく音声の再生が開始された後に、次の音声データが送信されることとなり、データ送信手段２０ＴＸから送信される音声データと、その音声データに基づいてサウンドコントローラＳＣで実際に再生される音声との齟齬を回避することが可能となる。
【０１６６】
<ＬＥＤ発光に係る構成>
ＬＥＤ基板２０２では、ＬＥＤコントローラＬＣ（図１７参照）がサブ基板２０から受信した輝度データに基づいて、スロットマシン本体１２０に視認可能に配されたＬＥＤを発光させる。ＬＥＤはスロットマシン本体１２０に例えば１７３個配されており、それぞれ白（Ｗ）、赤（Ｒ）、緑（Ｇ）、青（Ｂ）に発光するＬＥＤに分けられる。白のＬＥＤは単独で動作し、赤、緑、青のＬＥＤは３つの組み合わせでカラーを表すように動作する。例えば、白のＬＥＤは、ゲーム表示部１３１における回胴４０ａ〜４０ｃの背面、スロットマシン本体１２０の上部周囲、および、盤面に配され、赤、緑、青の組み合わせによるＬＥＤは、ゲーム表示部１３１の周囲、液晶表示装置ＬＣＤ周囲、盤面周囲に配される。また、スロットマシン本体１２０に配された１７３個のＬＥＤは、シーケンシャルに採番された制御ＩＤによって管理されている。
【０１６７】
図１７は、ＬＥＤコントローラＬＣからＬＥＤへのデータ転送を説明するためのブロック図である。本実施形態では、発光態様が等しく発光位置が近い、１または複数のＬＥＤの集合体である複数のＬＥＤ群（ＬＥＤ発光手段）が、ＬＥＤ基板２０２に設けられたＬＥＤコントローラＬＣにツリー型に接続されている。ツリー型接続は、ＬＥＤコントローラＬＣから枝分かれするように延びていく配線方式である。
【０１６８】
具体的に説明すると、複数のＬＥＤ群には、それぞれにアドレスが対応付けられ、ＬＥＤコントローラＬＣは、アドレスを通じてデータ転送対象となるＬＥＤ群を特定する。したがって、例えば、任意のＬＥＤ群に輝度情報を転送する場合、そのＬＥＤ群に対応付けられたアドレスと輝度情報とを組み合わせて転送し、ＬＥＤ群は、ツリー型接続上で転送されるアドレスをデコードし、その輝度情報が自身に転送されたデータであることを把握すると輝度情報をラッチ（保持）し、ラッチした輝度情報に基づいて自己のＬＥＤそれぞれを点灯または消灯する。
【０１６９】
本実施形態では、サブ基板２０において、演出を構成するデータの容量削減の観点から、ＬＥＤの輝度値を６４（６ｂｉｔ）階調で表している。しかし、実際のＬＥＤの輝度値は、２５６（８ｂｉｔ）階調で変化するので（ＰＷＭ値のみ）、６４階調から２５６階調へ変換する輝度調整テーブルが用いられる。ただし、輝度調整テーブルは、単純に輝度値を４倍にするのではなく、以下のように、階調の変化を一定に見せる調整が行われる。輝度調整テーブルは、ＬＥＤ基板２０２のＲＯＭ（保持部）に保持されている。
【０１７０】
例えば、ＬＥＤには、階調の増加に対して漸増するようにＰＷＭ値が印加される。ただし、ＰＷＭ値を一定の間隔で増加させたとしても、視覚的に、階調が一定の間隔で増加しているように見えない。そこで、階調が一定の間隔で増加するように非線形の調整を行う。かかる非線形の調整は、関数を用い計算によって行ってもよいが、輝度データを受信する毎に多大な処理負荷を要するので、ここでは、入力と非線形の調整結果とが対応付けられた輝度調整テーブルを用いる。
【０１７１】
図１８は、輝度調整テーブルを説明するための説明図である。図１８（ａ）において実線で示すように、輝度値の指令（入力輝度値）に対して輝度値の出力（出力輝度値）を比例的に変化させると、人が視認する階調の感覚は、破線で示すように、輝度が低い領域で比較的高く感じ、輝度が高い領域では、飽和状態となる。したがって、輝度が低い領域では輝度値の差異を判別し易いが、高い領域では判別困難となる。そこで、図１８（ｂ）において実線で示すように、輝度が小さい領域では、入力輝度値に対する出力輝度値の曲線を緩やかにし、輝度が大きい領域では、曲線を急にしている。こうして、人が視認する階調の感覚を、破線で示すように、入力輝度値に対してほぼ線形的に変化させることが可能となる。このような輝度調整テーブルはＬＥＤそれぞれに対応付けられている。したがって、赤、緑、青の組み合わせによるＬＥＤでは、１の入力輝度値に対して、３つの輝度調整テーブルを用い、赤、緑、青の３つの出力輝度値が求められる。このような輝度調整テーブルを用いることで、処理負荷を軽減でき、また、入力輝度値に対する発光階調の線形性を確保することが可能となる。さらに、ＬＥＤの種別を変更した場合においても輝度調整テーブルを変更するのみでＬＥＤの特性の変化に対応できる。
【０１７２】
また、本実施形態では、ＬＥＤコントローラＬＣが受信した輝度データに基づく入力輝度値（０〜６３）を、ＬＥＤ群に出力する出力輝度値（０〜２５５）に対応させている。したがって、上述した図１８（ｂ）の輝度調整テーブルは、図１８（ｃ）のように表すこともできる。ここでは、１の入力輝度値に対して、赤、緑、青の３つの出力輝度値を求めている。
【０１７３】
このような輝度調整テーブルは、同一の演出パターン（発光パターン）を維持しつつ、ＬＥＤの輝度を調整したり、輝度の連続性や色調を変化させたりするのに用いることができる。以下、輝度調整テーブルを用いて、（１）通常モードと省電力モードとを切り換える例と、（２）輝度を不連続に（段階的に）変化させる例と、（３）輝度値に応じて発光させる色調を異ならせる例を挙げる。
【０１７４】
（１）図１９〜図２１は、輝度調整テーブルの切り換えを説明するための説明図である。遊技者が遊技を行っている間は、図１９に示すように、輝度調整テーブルのポインタにアドレス１が設定され、通常モード用輝度調整テーブルが参照される。ここでは、赤、緑、青に共通する１の通常モード用輝度調整テーブルを示している。かかる通常モード用輝度調整テーブルでは、入力輝度値（０〜６３）に対して、出力輝度値（０〜２５５）が提供されるので、遊技者は、ＬＥＤの輝度をフルスケールで楽しむことができる。
【０１７５】
ここで、遊技者が遊技を中断し、遊技が進行しない状態が所定時間継続すると、スロットマシン１００の動作モードが通常モードから省電力モードに切り換わる。本来、ＬＥＤの輝度を全体的に下げる場合、入力輝度値自体を低減することが考えられるが、そうなると、演出にかかる輝度データ全てについて通常モードと省電力モードとで２倍の入力輝度値を保持しなければならなくなり、データ容量が徒に増大する。そこで、本実施形態では、省電力モードに切り換わると、輝度調整テーブルのポインタをアドレス１からアドレス２に切り替え、図１９に示す省電力モード用輝度調整テーブルを参照させる。かかる省電力モード用輝度調整テーブルでは、入力輝度値（０〜６３）に対して、出力輝度値（０〜１２７）が提供されるので、入力輝度値（輝度データ）を変更することなく、通常モードに対し輝度が約１／２になる。こうして、消費電力を削減することが可能となる。
【０１７６】
（２）図２０に示すように、輝度調整テーブルのポインタにアドレス３が設定されると、輝度を段階的に変化させる輝度調整テーブルが参照される。かかる輝度調整テーブルでは、入力輝度値（０〜６２）に対して、出力輝度値（０〜１２６）が提供される点で、図１９に示した省電力モード用輝度調整テーブルとほぼ等しい軌跡を辿り連続的に推移するが、入力輝度値が６２から６３に変化するときに、ＬＥＤ群で発光される出力輝度値が不連続（段階的）に変化し、入力輝度値が最大（６３）の場合のみ、出力輝度値が最大（２５５）となる。また、輝度調整テーブルのポインタにアドレス４が設定されると、入力輝度値（０〜３１）に対して、図１９に示した省電力モード用輝度調整テーブルと同じように出力輝度値も０〜３１の間で連続的に推移し、入力輝度値３１と入力輝度値３２との間で、出力輝度値が３１から１６０に不連続に（段階的に）変化し、また、入力輝度値（３２〜６３）に対して、図１９に示した省電力モード用輝度調整テーブルを＋１２８ほどオフセットさせたように出力輝度値も１６０〜２５５の間で連続的に推移する。いずれの輝度調整テーブルを用いたとしても、入力輝度値の変化に対して、出力輝度値が突発的に変化することから、メリハリのある演出に用いることができる。
【０１７７】
（３）上述した例では、赤、緑、青の３色の輝度調整テーブルが各動作モードに対して、同時に切り換わる例、すなわち、実際に発光する輝度の絶対値は変化するが、その色調が変化しない例を挙げた。しかし、かかる場合に限らず、入力輝度値に応じて色調を連続的に変化させることもできる。
【０１７８】
例えば、図２１では、通常モード用輝度調整テーブルと、色調を変化させた輝度調整テーブルとを比較している。輝度調整テーブルのポインタにアドレス５が設定されると、入力輝度値（０〜６３）に対して、赤のＬＥＤについては、出力輝度値（０〜２５５）が提供される点で通常モード用輝度調整テーブルと等しい軌跡を辿るが、緑のＬＥＤについては、出力輝度値（０〜１２７）が提供され、青のＬＥＤについては、出力輝度値が０に固定されている。したがって、輝度値が小さい領域では、通常モードと同等の色調になるが、輝度値が大きくなるに連れ色調が変化し橙に近くなり、徐々に赤が強くなっていく。こうして、入力輝度値に対して、ＬＥＤ群で発光される色調が異なることとなる。ここでは、赤緑青のＬＥＤそれぞれの軌跡を異ならせる例を挙げたが、３色のうちいずれかの１色または２色を選択して色調を異ならせることができる。このように、赤、緑、青に等しい入力輝度値を入力したとしても、その輝度値に応じて、遊技者に提供される色調を異ならせることができるので、例えば、単に輝度値を徐々に増加させて、色調を連続的に変化させるといった演出も可能となる。
【０１７９】
また、同一機種のスロットマシン１００で筐体の色が異なる（バリエーションが異なる）場合に、それぞれの筐体と同一色または補色に対応した輝度調整テーブルの出力輝度値を他の輝度調整テーブルの出力輝度値より高めることで、その筐体と同一色または補色を強調して発光させることができる。こうして、各筐体に合った発光色で演出を実行することができ、演出効果の向上を図ることができる。
【０１８０】
さらに、赤、緑、青の輝度調整テーブルの軌跡をそれぞれ異ならせることで、３色の入力輝度値を同時に変化させてレインボーのように色調を連続的に変化させることもできる。
【０１８１】
また、図２１の例において、赤、緑、青に異なる入力輝度値を入力することを考慮すると、さらに多彩な演出を実行できる。例えば、通常モードにおいて、赤、緑、青の入力輝度値が全て６３であれば、白に発光し、赤、緑、青の入力輝度値を［０，６３，６３］とすると、青緑に発光する。さらに、色調を変化させた輝度調整テーブルを用いた場合、赤、緑、青の入力輝度値が全て６３であれば、橙に発光し、赤、緑、青の入力輝度値を［０，６３，６３］とすると、緑に発光する。このように、入力輝度値と輝度調整テーブルとの組み合わせによって、容易に、様々な色調を実現することができる。
【０１８２】
本実施形態では、各演出で輝度値を大きく異ならせたい場合や、各演出で色調を異ならせたい場合に、演出それぞれに対して個々に輝度値（輝度データ）を設定しなくとも、輝度調整テーブルのみを変更することで、同一の演出パターン（発光パターン）に対して輝度値を不連続にしたり、色調を異ならせることができる。したがって、予め準備すべき輝度値のデータ容量の増大を抑制しつつ、複数種類の輝度調整テーブルを準備するだけで、ＬＥＤの輝度の連続性や色調を容易に変化させることが可能となる。また、演出それぞれの輝度データを変更しなくとも、少数の輝度調整テーブルを変更することのみによって輝度値の連続性や色調を画一的に変化させることができるので、処理の効率化、負荷の軽減を図ることができ、また、特性が異なるＬＥＤに交換した場合においても、輝度調整テーブルの変更のみで対応できるので、メンテナンス性の向上を図ることができる。
【０１８３】
<輝度生成情報>
ところで、演出を実行する際、演出の変化に応じて、ＬＥＤの発光態様を変化させるため、演出データ処理手段２０Ｕは、ＬＥＤの輝度値（出力輝度値）を逐次変化させる必要がある。
【０１８４】
図２２は、ＬＥＤの発光態様を示した説明図である。ＬＥＤの発光態様を変化させるには、（１）変化に対応する輝度値を予め演算しＲＯＭに記憶させておき、演出の際に逐次参照する方法と、（２）ＲＯＭから発光態様を示すパラメータのみを参照し、演出の際に輝度値を逐次演算する方法とがある。
【０１８５】
具体的に、前者（１）の方法では、出力タイミングの総数分の輝度値がＲＯＭに記憶されており、演出データ処理手段２０Ｕは、図２２（ａ）のように、出力タイミングに応じて、ＲＯＭに記載された輝度値をＲＡＭに逐次展開し、その輝度値を出力する。
【０１８６】
また、後者（２）の方法では、演出データ処理手段２０Ｕは、輝度値の変化点においてのみ、変化後に出力すべき発光態様のパラメータをＲＡＭに展開し、出力タイミングで、輝度値を逐次演算して、演算された輝度値を出力する。したがって、図２２（ｂ）に示すように、変化点では、変化態様を示した開始位置、開始輝度値、終了位置、終了輝度値等のパラメータが読み出されてＲＡＭに展開されるが、その変化点以降の出力タイミングから次の変化点（終了位置）までは、データは読み出されることなく、輝度値の演算のみが実行される。
【０１８７】
ここで、前者（１）の方法では、ＲＯＭにおけるデータの占有領域が大きくなる問題がある。したがって、本実施形態では、ＲＯＭのデータ領域が演出に占有されるのを回避すべく、後者（２）の方法を用いる。後者（２）の方法は、ＲＯＭの占有領域が小さい代わりに、輝度値の変化点では、輝度値を導出するために複数のパラメータ（例えば、開始位置、開始輝度値、終了位置、終了輝度値）が必要となり、前者（１）の方法に比べＲＡＭのデータ領域（ワークエリア）を多く占有することとなる。
【０１８８】
また、後者（２）の方法の場合、以下の理由でも、ＲＡＭのデータ領域を占有してしまう。すなわち、ＬＥＤの発光は、レイヤによる積層構造となっており、有効なデータが配されたレイヤのうち、最上位のレイヤに配されたデータがＬＥＤの発光に反映される。そして、上位のレイヤでの発光が終了し、上位レイヤにデータがなくなると、下位レイヤに配されたデータがＬＥＤの発光に反映される。ここで、前者（１）の方法であれば、上位レイヤのデータがなくなったタイミングで、下位レイヤのデータを参照すればよいが、後者（２）の方法では、データが演算により導出されるため、演出データ処理手段２０Ｕは、バックグラウンドで、上位レイヤと並行して、下位レイヤのデータも常に演算し続けなければならない。したがって、下位レイヤのデータも読み出さなくてはならないので、ＲＡＭのデータ領域を占有してしまう。
【０１８９】
このような輝度値の変化を演算で求める場合、より短時間で結果を得ることができるように、ＣＰＵに内蔵された高速アクセス可能な内部ＲＡＭをワークエリアとするのが望ましい。しかし、内部ＲＡＭは運用やコスト面から容量が制限されており、輝度値の演算によって内部ＲＡＭが占有されると、音声発生、画像表示、ステッピングモータ１５５の駆動等、他の処理で利用できる残り容量が小さくなってしまい、処理負荷が高まるおそれがある。このようなＬＥＤ基板２０２では、内部ＲＡＭ以外に、ＣＰＵの外部に配置される外部ＲＡＭが設けられていることもあり、内部ＲＡＭの代わりに外部ＲＡＭによって発光態様に関する情報を取り扱うことも考えられる。ただし、外部ＲＡＭは、ＣＰＵ内で直接アクセスされる内部ＲＡＭと異なり、ＣＰＵと他の汎用ＩＣとを結ぶサブ基板２０内の内部バスを経由してアクセスされるため、内部バスの速度制限を受けてアクセス速度が内部ＲＡＭより低くなる。発光態様に関する情報には、輝度を生成、更新する度にアクセスを要する情報も含まれるため、上記のように内部ＲＡＭの代わりに外部ＲＡＭを用いることによって、そのような情報の更新が遅れ、やはり処理負荷に影響を及ぼすおそれがある。
【０１９０】
そこで、本実施形態では、情報のアクセス頻度に応じて、内部ＲＡＭと外部ＲＡＭとのいずれに展開するかを選択し、アクセス頻度の高い情報についてアクセス速度を低下させることなく、外部ＲＡＭよりアクセス速度の高い内部ＲＡＭを占有する記憶容量を最小限に留め、内部ＲＡＭの記憶領域の有効利用を図る。
【０１９１】
上述したように、スロットマシン本体１２０に配された１７３個のＬＥＤは、シーケンシャルに採番された制御ＩＤによって管理されている。また、ＬＥＤの発光は、レイヤによる積層構造となっている。制御ＩＤに付随する各種データは、構造体として定義され、配列化されている。具体的に、制御ＩＤには、制御ＩＤ毎に必要な固有情報と、制御ＩＤのレイヤ毎に必要な輝度生成情報とが対応付けられている。ここで、固有情報には、制御ＩＤと関連性のあるＩＣ番号等のハードウェア情報や、使用レイヤを特定するためのフラグが含まれている。また、輝度生成情報には、各レイヤの輝度算出に必要な情報が含まれている。
【０１９２】
演出データ処理手段２０Ｕは、演出が決定されると、発光データとして固有情報および輝度生成情報を決定しＲＡＭ（内部ＲＡＭおよび外部ＲＡＭ）に展開する。ＲＡＭはデータのタイミングを揃えるためのダブルバッファとしても利用される。そして、データ送信手段２０ＴＸは、かかる固有情報および輝度生成情報に基づいて輝度データを生成し、ＬＥＤ基板２０２に送信する。このとき、輝度データは、ＬＥＤに反映する最終データ、例えば、最上位のレイヤに配されたデータのみに絞られている。
【０１９３】
図２３および図２４は、制御ＩＤを参照する際に占有される記憶容量について説明する説明図であり、図２５は、サブ基板２０における記憶素子の構成を示したブロック図である。図２５に示すように、サブ基板２０には、ＣＰＵ２１１と、ＣＰＵ２１１に内蔵され、主としてＣＰＵ２１１のワークエリアとして用いられる内部ＲＡＭ２１２と、ＣＰＵ２１１と内部バス２１３を経由して相互にアクセス可能であり、主としてプログラムを記憶するＲＯＭ２１４と、ＣＰＵ２１１と内部バス２１３を経由して相互にアクセス可能であり、主としてＣＰＵ２１１の処理結果などを一時的に記憶する外部ＲＡＭ２１５とが設けられている。ここで、内部バス２１３は、ＲＯＭ２１４や外部ＲＡＭ２１５等、様々な汎用ＩＣに接続されることが想定されるので、アクセスのための制御信号の出力時間が冗長に設定され、アクセス速度が制限される。したがって、外部ＲＡＭ２１５は、内部バス２１３の速度制限を受けて内部ＲＡＭ２１２よりアクセス速度が低くなる。上記の通り、制御ＩＤには、固有情報と輝度生成情報とが対応付けられるが、図２３に示すように、固有情報によって占有される記憶容量は１０Ｂｙｔｅであり、かつ、その全ての固有情報について図２５に示すＣＰＵ２１１内蔵の内部ＲＡＭ２１２の記憶領域を利用しなくとも、そのうち７Ｂｙｔｅは内容が変化しないためＲＯＭ２１４の記憶領域を利用できる。したがって固有情報については、輝度生成情報と比較して記憶容量に関する問題は生じない。ここでは、固有情報に占有される記憶容量の説明のみを要し、図２３に示された固有情報の具体的な項目については、本実施形態と直接関係ないので説明を省略する。
【０１９４】
一方、図２４に示すように、輝度生成情報は、５つ全てのレイヤ毎に必要であり、１つのレイヤについて、輝度生成情報により占有される記憶容量は６４Ｂｙｔｅとなる。したがって、輝度生成情報全体では６４Ｂｙｔｅ×５レイヤ＝３２０Ｂｙｔｅの記憶容量を要する。しかも、輝度生成情報は可変値なので、固有情報のようにＲＯＭ２１４の記憶領域を利用することもできない。また、このような輝度生成情報は、ＬＥＤの数だけ、すなわち制御ＩＤの数１７３個分あることとなり、その総記憶容量は３２０Ｂｙｔｅ×１７３＝５５，３６０Ｂｙｔｅとなる。
【０１９５】
輝度生成情報は、高速アクセス可能な、ＣＰＵ２１１に内蔵された内部ＲＡＭ２１２に展開するのが望ましい。しかし、内部ＲＡＭ２１２は、例えば、１２８ｋＢｙｔｅといったように容量が小さく、仮に、５５．３６ｋＢｙｔｅといったように占有する記憶容量が大きい輝度生成情報を全て内部ＲＡＭ２１２に展開するとなると、他の処理で利用できる残り容量が７２．６４ｋＢｙｔｅとなり、処理負荷が高まるおそれがある。
【０１９６】
ここで、輝度生成情報のアクセス頻度に着目すると、輝度生成情報のうち、輝度を生成、更新するために用いられ、輝度が変化する度（１６．６６ｍｓｅｃ毎）にアクセスが必要な輝度解析関連の情報は、高速アクセスを要するが、テーブルの移動や繰り返し処理を行うため、各命令の切り替わり（命令解析）時（１６．６６×ｎ（ｎは自然数）ｍｓｅｃ毎）にアクセスすれば済む命令解析関連の情報は、命令構成によってはアクセス頻度を低くすることができる。
【０１９７】
図２６は、制御ＩＤに関する情報の各記憶素子への配分を示した説明図であり、図２７は、ＲＡＭ（内部ＲＡＭ２１２および外部ＲＡＭ２１５）への展開タイミングを示したタイミングチャートである。図２６に示すように、輝度生成情報のうち、輝度解析関連の情報は、内部ＲＡＭ２１２の記憶領域に展開し、命令解析関連の情報は、外部ＲＡＭ２１５の記憶領域に展開する。
【０１９８】
そして、図２７に実線矢印で示した命令解析タイミングにおいて、演出データ処理手段２０Ｕは、命令解析関連の情報および輝度解析関連の情報のいずれをも参照して、解析テーブルアドレス、呼び出し回数、呼び出しアドレス、呼び出しインデックス等を設定するとともに、輝度カウンタ、輝度変化値、フラッシュ無効時間等に基づいて輝度値を生成する。また、図２７に破線矢印で示した輝度変化タイミングにおいて、演出データ処理手段２０Ｕは、輝度カウンタ、輝度変化値、フラッシュ無効時間等に基づいて輝度値を生成する。ここでは、アクセス頻度の高い輝度解析関連の情報が内部ＲＡＭ２１２の記憶領域に展開されているので、システム全体のパフォーマンスの低下を防止することができる。
【０１９９】
この場合、輝度生成情報により内部ＲＡＭ２１２が占有される記憶容量は、８Ｂｙｔｅ×５レイヤ×１７３個＝６，９２０Ｂｙｔｅとなり、単に内部ＲＡＭ２１２のみを用いた場合の記憶容量５５，３６０Ｂｙｔｅと比べ非常に低く抑えられていることが理解できる。こうすることで、アクセス頻度の高い輝度解析関連の情報についてアクセス速度を低下させることなく、輝度生成情報により内部ＲＡＭ２１２を占有する記憶容量を最小限に留めることができ、内部ＲＡＭ２１２の記憶領域の有効利用を図ることができる。このとき、命令解析関連の情報に関しては、アクセス速度の低い外部ＲＡＭ２１５により命令解析処理速度が低下することになるが（例えば、内部ＲＡＭ２１２の８倍の処理時間を要する）、高速アクセスが不要なため問題とならない。
【０２００】
<可動体>
図２８は、本実施の形態に係る可動体５０の概略図である。同図（ａ）は上面図、同図（ｂ）は正面図、同図（ｃ）は同図（ｂ）におけるＢ−Ｂ矢視断面図、同図（ｄ）は同図（ｂ）におけるＡ−Ａ矢視断面図である。なお、同図ではステッピングモータ５４を含む駆動部と、インデックス５６及びインデックスセンサ５７は右側のシャッター５１Ｒにのみ示されているが、同じものが左側のシャッター５１Ｌについても設けられている（左側のものについての図示は省略されている）。
【０２０１】
可動体５０は、左側のシャッター５１Ｌ及び右側のシャッター５１Ｒと、シャッター５１Ｌ及び５１Ｒの上端及び下端をそれぞれ摺動自在に保持する上側のレール５２Ｕ及び下側のレール５２Ｌと、可動体５０の内側に下側のレール５２Ｌと平行に設けられたラック５３ａと、これにかみ合うピニオン５３ｂと、ピニオン５３ｂがその回転軸に直接あるいは図示しない減速歯車機構を介して取り付けられたステッピングモータ５４と、右側のシャッター５１Ｒの内側に取り付けられたブラケット５５（腕金・張り出し金具であるブラケット５５はステッピングモータ５４の取り付け台座でもある）と、右側のシャッター５１Ｒの内側に取り付けられたインデックス５６と、インデックス５６を検知するインデックスセンサ５７とを備える。同図では、ピニオン５３ｂ〜インデックス５６を右側のシャッター５１Ｒについて示しているが、左側のシャッター５１Ｌについても同様の構造であり、その説明は省略する。
【０２０２】
同図（ｂ）は、シャッター５１Ｌ及び５１Ｒをそれぞれ両側へ一杯に開いた状態を示しており、同図の例では当該状態においてインデックスセンサ５７はインデックス５６を検知する。インデックスセンサ５７は、例えばフォトインタラプタのような光学式あるいはマイクロスイッチのような接触式などのセンサである。シャッター５１Ｌ及び５１Ｒの移動可能な範囲は同じであり、中間点までしか移動できない。同図（ｂ）の０、５０、１００の数字は移動範囲を示す。シャッター５１Ｌは左側の０から中央の１００まで移動可能であり、シャッター５１Ｒは右側の０から中央の１００まで移動可能である。そして、インデックスセンサ５７は、シャッター５１Ｌ、５１Ｒが「０」の位置に来たことを検知するものである。すなわち、図２９（ａ）に示すように、シャッター５１Ｌ、５１Ｒが一杯に開いたとき（下限に達したとき）にその端が「０」の位置にあり、図２９（ｂ）に示すように、シャッター５１Ｌ、５１Ｒが完全に閉じたとき（上限に達したとき）にその端が「１００」の位置にある。シャッター５１Ｌ、５１Ｒが完全に閉じると、液晶表示装置ＬＣＤは全く見えなくなる。
【０２０３】
ラック５３ａとピニオン５３ｂは、回転力を直線の動きに変換する機構である。ピニオン５３ｂは小口径の円形歯車であり、ラック５３ａは平板状の棒に歯切りをした（歯がつけられた）ものである。ステッピングモータ５４によりピニオン５３ｂに回転力を加えると、シャッター５１Ｌ、５１Ｒがラック５３ａ上を水平方向に動く。図２８によれば、ラック５３ａは可動体５０のフレームに固定され、ステッピングモータ５４はブラケット５５によりシャッター５１Ｌ、５１Ｒに取り付けられているから、シャッター５１Ｌ、５１Ｒのほうが動く。
【０２０４】
ステッピングモータ５４は、回転子（ロータ）として歯車状の鉄心あるいは永久磁石を備え、固定子（ステータ）として複数の巻線（コイル）を備え、電流を流す巻線を切り替えることによって回転動作させるものである。すなわち、固定子の巻線に電流を流して磁力を発生させ、回転子を引きつけることで回転するものである。回転軸を指定された角度で停止させることが可能なことから、スロットマシン１００の回胴４０の回転駆動に使用されている。複数の巻線がひとつの相を構成する。相の数として、例えば、２つ（二相）、４つ（４相）、５つ（５相）のものもある。ステッピングモータ５４のコイルに所定の順番で電流を流すことでモータの軸は回転し、逆の順番で電流を流すとモータの軸は逆回転する。
【０２０５】
図３０は、可動体制御部６０のブロック図である。
【０２０６】
６１は、駆動信号生成部６３によりステッピングモータ（駆動部）５４へ与えられる駆動信号に基づきシャッター（可動要素）５１Ｌ、５１Ｒの位置情報（プログラム上の位置情報）を算出する位置情報算出部である。例えば、シャッター５１Ｌ、５１Ｒをプラス方向へ単位距離だけ動かすパルス信号（ステッピングモータ５４の複数のコイルに順番に電流を流すための信号）がステッピングモータ５４に与えられたとき、現在の位置情報を＋１する。マイナス方向のパルス信号のときは、現在の位置情報を−１する。
【０２０７】
６２は、シャッター（可動要素）５１Ｌ、５１Ｒの目標位置を設定する目標位置設定部である。ステッピングモータ５４は、シャッター５１Ｌ、５１Ｒを目標位置まで動かし、そこに到達したら停止する。
【０２０８】
６３は、目標位置設定部６２の目標位置と位置情報算出部６１の位置情報を比較し、この比較結果に基づきシャッター５１Ｌ、５１Ｒを目標位置へ移動させるための駆動信号を生成する駆動信号生成部である。例えば、現在の位置情報が目標位置よりも小さいとき、シャッター５１Ｌ、５１Ｒをプラス方向へ動かすパルスを生成し、逆に大きいときマイナス方向へ動かすパルスを生成する。
【０２０９】
６４は、位置情報算出部６１の位置情報の算出の基準となる最初の値として、上限よりも大きな値（例えば「２００」）又は下限よりも小さな値（例えば「−５０」）を設定する位置情報初期設定部である。
【０２１０】
シャッター５１Ｌ、５１Ｒに対する制御を開始する際において、その目標位置は、インデックスセンサ５７からインデックス信号が出力される位置（上記例では「０」）に設定されるとともに、位置情報算出部６１の位置情報は、その算出の基準となる最初の値として上限（上記例では「１００」）と下限（上記例では「０」）の範囲外である値（例えば「２００」「−５０」）に設定される。これに従い、シャッター５１Ｌ、５１Ｒはインデックス信号が出力される位置へ向けて移動させられる。そして、インデックス信号が出力されたときに、位置情報算出部６１の位置情報は予め定められた初期値（上記例では「０」）に設定される。
【０２１１】
図３１は、図２８の可動体演出処理のフローチャートである。
【０２１２】
図４で示した遊技のフローチャートに従えば、スタートスイッチ１３４押下後の同図のＳ２からＳ７の範囲で可動体５０による演出が行われる。この期間において所定の条件が揃うと、図３１の処理が起動される。
Ｓ１０：可動体制御部６０がサブ基板２０から可動体演出に係る開始コマンドを受ける。
Ｓ１１：可動体５０の動作内容を決定する。すなわち、シャッター５１Ｌ、５１Ｒの移動先（目標位置）を決定する。
Ｓ１２：可動体駆動処理を行う。
Ｓ１３：可動体演出を中止させるための割り込みの有無を判定する。当該割り込みが発生したら（ＹＥＳ）、ただちに可動体演出を中止する。
【０２１３】
次遊技に係るメダル投入が行われたとき、可動体演出は中止される。
【０２１４】
可動体５０の演出が１回の遊技に対応付けられている場合には、可動体演出の中止に伴い初期化動作を行い、可動体５０を初期位置（例えば０）に戻す。
Ｓ１４：可動体５０の動作が終了したかどうか判定する。プログラム上の位置情報が目標位置になったとき（ＹＥＳ）、その動作を終了する。そうでないとき（ＮＯ）、可動体駆動処理Ｓ１２からを繰り返す。
【０２１５】
<周辺基板の制御におけるメイン処理と割込処理の関係>
サブ基板２０が周辺基板である可動体制御部６０を制御する場合、可動体５０の制御対象であるモータやソレノイドなどに対して、サブ基板２０からの図６の通信系を介して可動体制御部６０へコマンドを送る。
【０２１６】
周辺基板に対して、具体的には次のような処理を行う。
・動作させたい制御内容の動作テーブル（制御データ）のポインタを設定する。
・設定されたポインタからそのテーブルの終端まで実行する。また、動作状況に応じて変化する動作状況テーブル（例えばモータテーブル）を更新する。テーブルの処理を実行中にポインタが再設定された場合には、再設定された設定ポインタに実行を切り替える。
・テーブル更新状態を確認し、データテーブルのポインタ再設定などを行う。
【０２１７】
上記処理を行うに際して、プログラムのメインルーチン（メイン処理）と割込処理ごとに役割を分担させている。この概念を図３２に示す。この図は可動体５０の制御について示している。他の周辺基板についても同様である（周辺基板からサブ基板２０へのフィードバックがない場合もある）。実線は処理を示し、点線はパラメータを示す。図３２の処理の全部がサブ基板２０で行われること、その一部が周辺基板で行われることのいずれもある。
【０２１８】
なお、メイン処理の処理間隔である第１周期と、割込処理の処理間隔である第２周期とは異なることが多い。例えば、第１周期>第２周期であり、一例として、第１周期＝３３．３ｍｓ（３０ｆｐｓ）、第２周期＝２．０８ｍｓ（４８０ｆｐｓ）である。
【０２１９】
ＰＰ１は、メイン処理から割込処理へのパラメータであり、解析実行すべき動作テーブルのアドレスを指定するテーブル設定ポインタである。割込処理はそのポインタに従って当該動作テーブルを解析し、当該動作テーブルの終端に到達するか、又は、次の動作テーブルの指定が行われるまで動作を継続する。
【０２２０】
ＭＰ１は、テーブル設定ポインタＰＰ１を指定するメイン処理である。
【０２２１】
ＩＰ１は、テーブル設定ポインタＰＰ１を受けて行われる割込処理である。
【０２２２】
ＰＰ２は、割込処理からメイン処理へのパラメータであり、周辺基板での動作状態を示すモータテーブル更新状態である。これは、割込処理で可動体５０の動作状況をメイン処理に伝えるためのステータス情報である。メイン処理はそのステータスを確認し、必要に応じて動作テーブルの再指定、動作の停止などの指示を行う。更新状態の一部（動作フラグ関係）は、動作テーブルの制御命令によりメイン処理側で操作可能である。
【０２２３】
ＩＰ２は、モータテーブル更新状態を更新するための割込処理である。
【０２２４】
ＭＰ２は、モータテーブル更新状態ＰＰ２を受けて行われるメイン処理である。
【０２２５】
<複数の周辺基板間の動作の同期、可動体と液晶表示の同期を例として（その１）>
複数の周辺基板間で動作を一致させて行う演出がある。例えば、画面の変化に合わせて可動体５０を動かすといったものである。図１２に示したように、液晶表示装置ＬＣＤに画像を表示する際には２フレーム（６６．６ｍｓ）程度の遅延が生じる。このため、液晶表示の画面と可動体５０の動作について同期を取るためには、前記遅延に応じて処理を遅延させることが必要である。
【０２２６】
図３３は、本実施の形態に係るスロットマシン１００のブロック図を示す。同図は複数の周辺基板間で動作の同期をとるための構成を示す。
【０２２７】
２００１は、少なくとも２つの第１周辺基板及び前記第２周辺基板（例えば液晶制御基板２００と可動体制御部６０）を制御するための第１制御データ及び第２制御データ（動作テーブル）を設定する制御データ設定部である。これは例えば図３２のモータ動作テーブル設定ＭＰ１に相当する。制御データ設定部２００１そのものは公知であるので、その詳しい説明は省略する。
【０２２８】
２００２は、予め定められた第１周期Ｔ１で第１制御データを解析し、この解析結果に基づき第１周辺基板（例えば液晶制御基板２００）に予め定められた動作を行わせる第１解析部である。第１解析部２００２そのものは公知であるので、その詳しい説明は省略する。
【０２２９】
２００３は、複数の記憶素子（レジスタ）２００３Ｒ−１〜２００３Ｒ−３、これらの制御を行う遅延制御部２００３Ｃとを含み、第１周期Ｔ１に基づき第２制御データの伝送を遅延させる遅延処理部である。複数の記憶素子２００３Ｒ−１〜２００３Ｒ−３は先入れ先出しバッファを構成する。遅延処理部２００３は、典型的にはシフトレジスタやＦＩＦＯである。なお、記憶素子の数は３つに限らず、任意である。
【０２３０】
記憶素子２００３Ｒ−１を「入口端の記憶素子」、記憶素子２００３Ｒ−３を「出口端の記憶素子」と記すことがある。
【０２３１】
２００４は、予め定められた第２周期Ｔ２で第２制御データを解析し、この解析結果に基づき第２周辺基板（例えば可動体制御部６０）に予め定められた動作を行わせる第２解析部である。これは例えば図３２の設定ポインタ確認ＩＰ１である。第２解析部２００４そのものは公知であるので、その詳しい説明は省略する。
【０２３２】
２００５は、予め定められたエラー信号を受信するエラー信号受信部である。エラー信号受信部２００５は、少なくとも第２周辺基板（例えば可動体制御部６０）の動作を直ちに停止させる必要のあるエラーに係る信号を受信する。例えば、遊技中にスロットマシン１００の前扉１３０が開くことは不正行為などの異常状態に相当するからエラー信号が発生し、スロットマシン１００の動作を停止させる必要がある。この種のエラーとしてエラー処理部１７００により生成されるものがあるが、これ以外のものであってもよい。
【０２３３】
２００６は、第１周期Ｔ１に係るタイミング信号を発生する第１タイマである。例えば、第１周期Ｔ１＝３３．３ｍｓ（３０ｆｐｓ）又は１６．７ｍｓ（６０ｆｐｓ）である。
【０２３４】
２００７は、第２周期Ｔ２に係るタイミング信号を発生する第２タイマである。例えば、第２周期Ｔ２＝２．０８ｍｓ（４８０ｆｐｓ）である。
【０２３５】
制御データ設定部２００１〜第２タイマ２００７は、例えばサブ基板２０のＣＰＵが所定のプログラムを実行することで実現される。あるいは専用ＩＣやメモリなどのハードウエアにより実現される。
【０２３６】
図３３の装置（特に遅延処理部２００３）の通常動作（エラー信号を受信しないときの動作）について、図３４及び図３５を参照して説明を加える。
【０２３７】
図３４及び図３５は、制御データの入出力と記憶素子２００３Ｒ−１〜２００３Ｒ−３における制御データの動きを模式的に説明した図面である。四角の中のＡ、Ｂは制御データを示す。制御データは図面の上側から入力され、下側に出力される。最下段の四角は第２解析部２００４を示し、ここに示される制御データＡ，Ｂが解析され実行される。（ａ）〜（ｆ）は時間の経過にしたがった状態を示し、（ａ）が過去で（ｆ）が未来を示す。
【０２３８】
図３４は制御データがひとつ（Ａのみ）の例であり、図３５は制御データが２つ（ＡとＢ）の例である。丸印は制御データの書き込みを示し、菱形は制御データの解析・実行を示す。
【０２３９】
図３４（ａ）において、時刻ｔ０で制御データＡが記憶素子２００３Ｒ−１に書き込まれる。書き込みのタイミングは任意であり、第１タイマ２００６、第２タイマ２００７の周期とは必ずしも同期していない。この状態が、次の第１タイマ２００６の周期まで保持される（図３４（ｂ））。なお、ｔ１−ｔ０<Ｔ１である。
【０２４０】
図３４（ｃ）において、時刻ｔ２で制御データＡが隣の記憶素子２００３Ｒ−２に移動する。このタイミングは第１タイマ２００６の周期と同期している。すなわち、ｔ２＝ｔ１＋Ｔ１である。
【０２４１】
図３４（ｄ）において、時刻ｔ３で制御データＡが出口端の記憶素子２００３Ｒ−３に移動する。ｔ３＝ｔ２＋Ｔ１である。この状態で第２解析部２００４は制御データＡを取得し解析することができる（図３４（ｅ））。第２解析部２００４が制御データＡを取得するタイミングは、第２タイマ２００７の周期に同期している。例えばｔ４＝ｔ３＋Ｔ２である。
【０２４２】
以上の説明からわかるように、制御データは２×Ｔ１＋αだけ遅延することになる（αは図３４（ａ）から（ｂ）までの時間＝ｔ１−ｔ０と、（ｄ）から（ｅ）までの時間Ｔ２の和）。記憶素子の数を増やせば遅延量は増加する。
【０２４３】
説明の便宜上、以下において上記＋αの表示は基本的に省略し、特に断らない限り遅延量を単に２×Ｔ１のように表記することにする。
【０２４４】
図３５では２つの制御データＡとＢが書き込まれるが、動作は図３４と異ならない。斜めの矢印の部分の時間間隔はＴ１である。なお、図３４（ｅ）で示したように、第２解析部２００４が制御データを取得するタイミングは、第２タイマ２００７の周期に同期しているが、説明の便宜上、図３５（ｅ）の表示において第１周期Ｔ１と第２周期Ｔ２を区別していない。
【０２４５】
制御データＡ、Ｂはそれぞれ所定の遅延量だけ遅延され、書き込まれた順番で出力されている。
【０２４６】
図３６は、エラー信号受信部２００５でエラー信号を受信したときの動作の説明図である。図中、Ｅはエラー制御データあるいはエラー処理を示す。
【０２４７】
通常の制御データＡについての動作は図３４の場合と同じであるが、エラーを受信したときの動作が全く異なる。すなわち、エラー信号受信部２００５が出力するエラー制御データは直ちに第２解析部２００４に渡され、エラー処理が即時に実施される。これは、エラー処理に関しては即時性が要求され、他の周辺基板（液晶制御基板２００）と同期をとる必要がないからである。
【０２４８】
この即時性を実現するためにエラー制御データに関しては、通常の制御データとは異なる処理を行う。例えば、エラー制御データを出口端の記憶素子２００３Ｒ−３に上書きする。あるいは、第２解析部２００４に直接入力する（図３６（ｅ））。
【０２４９】
即時性を実現するための上記手法は、図３６のように、制御データが出口端の記憶素子２００３Ｒ−３にしかなくエラー制御データで上書きされるとき、あるいは記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれにもないときにおいては問題なく適用できる。
【０２５０】
しかし、そうでない場合は問題が生じる。このことを図３７を参照して説明を加える。この例では２つの制御データＡとＢが存在しており、第２解析部２００４が制御データＡを処理中にエラー信号受信部２００５がエラー信号を受信したとしている。エラー制御データが第２解析部２００４に直接入力されるのでエラー処理が直ちに実行される（図３７（ｆ））。しかし、次の第１周期Ｔ１又は第２周期Ｔ２で出口端の記憶素子２００３Ｒ−３に存在した制御データＢが第２解析部２００４により取得され、エラー処理が中断してしまう（図３７（ｇ））。図３７によれば、エラー処理はごく短時間（第１周期Ｔ１又は第２周期Ｔ２）だけ実行されるに過ぎない。エラー処理は即時性とともに、リセットされるまでエラー状態を保持するという状態保持性も併せて求められるから、即時性を実現するための上記手法をそのまま採用することができない。
【０２５１】
なお、エラーが発生しないときは、図３３の構成により複数の周辺基板間で動作を一致させ、演出にズレを生じさせないようにできる。例えば、画面の変化に合わせて可動体５０を動かすような場合において、可動体制御データを遅延させることにより、画面が半分変化したときに可動体５０を半分だけ動かし、画面が全部変化したときに可動体５０を全部動かす（シャッター５１Ｌ及び５１Ｒを全開するなど）といった動作について正確に同期を取ることができる。液晶表示装置ＬＣＤに画像を表示する際には２フレーム（６６．６ｍｓ）程度の遅延が生じ、この遅延は可動体５０の制御における遅延よりも大きいから、可動体５０の制御を遅延処理部２００３で遅延させるようにする。遅延の量は記憶素子２００３Ｒの数で調整することができる。図３３によれば次に述べる手法によりエラー処理の即時性とともに、複数の周辺基板間での演出動作の同期を取るようにできる。
【０２５２】
そこで、本実施の形態に係るスロットマシン１００では、図３８に示す手法を採用している。すなわち、記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれかに制御データが存在しているとき（図３８（ｂ）〜（ｅ））、当該制御データの後ろ（好ましくは直後）にエラー制御データを書き込むようにする（図３８（ｆ））。こうすることで、図３７（ｇ）のようなエラー制御データが通常の制御データで上書きされることがなくなり、状態保持性を実現することができる。
【０２５３】
なお、図３８の手法においては、エラー制御データの書き込みからその解析・実行までに若干の時間を要し、即時性がやや損なわれている。図３８の例では書き込みから解析・実行までにはｔ２４−ｔ１５＝Ｔ１＋Ｔ２程度の時間を要する。
【０２５４】
図３８の手法は厳密な即時性を要求されないエラーについて適用することができる。言い換えれば、図３８の手法は処理が簡単で効果が確実であり、厳密な即時性を要求されないエラーについて好適な形態であると言える。
【０２５５】
図３４〜図３６及び図３８の処理を実現するための、遅延制御部２００３ｃの動作について説明を加える。下記（１．３）〜（１．５）の処理については、図３９のフローチャートも参照されたい。
【０２５６】
（１．１）
設定された制御データ（第２解析部２００４用の第２制御データ）を入口端の記憶素子２００３Ｒ−１に書き込む（図３４（ａ）、図３５（ａ）（ｃ）、図３６（ａ）、図３８（ａ）（ｃ））。
【０２５７】
（１．２）
第１周期Ｔ１に基づき記憶素子２００３Ｒ−１、２００３Ｒ−２が記憶している制御データをそれぞれ出口側の記憶素子２００３Ｒ−３へ移動させる（図３４（ａ）〜（ｄ）、図３５（ａ）〜（ｅ）、図３６（ａ）〜（ｃ）、図３８（ａ）〜（ｇ））。この動作はエラー制御データについても同様である。
【０２５８】
出口端の記憶素子２００３Ｒ−３の制御データを第２解析部２００４へ送る（図３４（ｅ）、図３５（ｅ）（ｆ）、図３６（ｄ）、図３８（ｅ）（ｇ））。
【０２５９】
（１．３）
エラー信号を受けたとき、新しい通常の制御データの書き込みを中止する（図３９のＳ２０）。記憶素子２００３Ｒ−１〜２００３Ｒ−３の状態を調べ（図３９のＳ２１）、制御データを記憶しているかどうか判定する（図３９のＳ２２）。
【０２６０】
（１．４）
記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれもが制御データを記憶していない場合は（図３９のＳ２２でＮＯ）、エラー信号に対応する動作を行わせるためのエラー制御データを第２解析部２００４へ送る（図３９のＳ２８、図３６（ｅ））。第２解析部２００４が通常の制御データの処理中であるときに、その解析中の動作を取り消して即時にエラー制御データの解析を行わせるようにしてもよい。
【０２６１】
（１．５）
記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれかが制御データを記憶している場合は（図３９のＳ２２でＹＥＳ）、制御データを記憶している記憶素子のうちで最も入口側のもの（最後尾の記憶素子）を特定する（図３９のＳ２３、図３８の２００３Ｒ−３）。当該最後尾の記憶素子よりも入口側の記憶素子（図３９のＳ２６、図３８の２００３Ｒ−２）にエラー制御データを書き込む。第１周期に基づきシフト動作を行い、第２解析部２００４にエラー処理を行わせる（図３９のＳ２７）。
【０２６２】
最後尾の記憶素子が２００３Ｒ−１の場合はエラー制御データを書き込めないから、シフト動作を待ち、記憶素子２００３Ｒ−１が空くのを待ってからそこにエラー制御データを書き込む（図３９のＳ２４でＹＥＳ、Ｓ２５）。
【０２６３】
本実施の形態に係るスロットマシン１００によれば、先入れ先出しバッファを用いて複数の周辺基板間の同期を取る場合であっても、エラー処理を適切に行うことができる。すなわち、即時性と状態保持性を両立させることができる。
【０２６４】
例えば、演出Ａ，Ｂ，Ｃの順で実行予定の演出があり、演出Ｂの実行中にエラーが発生した場合、実行していた演出Ｂに代えてエラーが表示されるが、バッファには依然として演出Ｃが残っているため、演出Ｂの実行時間が終了するとエラー表示の実行も終わった時点で、内部的にはエラーであるのにもかかわらず演出Ｃが実行される、という不具合を回避することができる。
【０２６５】
また、前記（１．４）において、前記第２解析部に対して、解析中の動作を取り消して即時に前記エラー制御データの解析を行わせることにより、エラー報知を即時に行うことができる。このやり方は即時性が求められるエラーについて特に有効である。
【０２６６】
また、前記（１．５）において、前記最後尾の記憶素子が前記入口端の記憶素子であるとき、上記（１．２）の後に、前記入口端の記憶素子に前記エラー制御データを書き込むことにより、ＦＩＦＯがフルの場合でも適切に処理することができる。いわゆるバッファオーバーフローを起こすことなくエラー処理を行うことができる。
【０２６７】
<複数の周辺基板間の動作の同期、可動体と液晶表示の同期を例として（その２）>
上記例とは処理内容が異なる本実施の形態について説明を加える。この例は、機能ブロック図（図３３）、基本的な動作説明図（図３４、図３５）は異なることがないので、これらを参照する。
【０２６８】
この本実施の形態に係るスロットマシン１００では、図４０に示すように、記憶素子２００３Ｒ−１〜２００３Ｒ−３に対して、そこに制御データが存在している／いないにかかわらず、エラー制御データを書き込む（上書きする）ようにする（図４０（ｆ））。こうすることで、図３７（ｇ）のようなエラー制御データが通常の制御データで上書きされることがなくなり、状態保持性を実現することができる。
【０２６９】
図４０の手法においては、エラー制御データの書き込みからその解析・実行までに要する時間は最小Ｔ２〜最大Ｔ１であり、即時性の点で優れている。図３８の例では書き込みから解析・実行までにはｔ２４−ｔ１５＝Ｔ１＋Ｔ２程度の時間を要していたが、これよりＴ１だけ短くなる。
【０２７０】
図４０の手法は即時性を要求されるエラーについても適用することができる。即時性の要求されるエラーについて好適な形態であると言える。
【０２７１】
また、図４１に示すように、エラー信号を受けたとき第２解析部２００４へ直接エラー制御データを送り直ちに実行させるようにすれば、即時性をさらに高めることができる。図４１の手法によれば、エラー制御データの書き込みからその解析・実行までに要する時間はＴ２程度である。図４１の手法は、第２解析部２００４に対して解析中の動作を取り消して即時に前記エラー制御データの解析を行わせることができる場合に適用できる。
【０２７２】
図４０の処理を実現するための、遅延制御部２００３ｃの動作について説明を加える。なお、前述の（１．１）と（１．２）の処理は、図４０の場合も同じであるのでその説明は省略する。下記（２．３）の処理については、図４２のフローチャートも参照されたい。
（２．３）
【０２７３】
エラー信号を受けたとき、新しい通常の制御データの書き込みを中止する（図４２のＳ３０）
記憶素子２００３Ｒ−１〜２００３Ｒ−３に対してエラー制御データを書き込む（上書き）する（図４２のＳ３１）。
【０２７４】
図４１の手法では、エラー制御データを第２解析部２００４へ送る。
【０２７５】
第１周期に基づきシフト動作を行い、第２解析部２００４にエラー処理を行わせる（図４２のＳ３２）。
【０２７６】
図４０の例では第２解析部２００４にエラー制御データが３回与えられ、図４１の例では４回与えられる。第２解析部２００４は繰り返しエラー制御データを受けると、前回のエラー動作をキャンセルし、エラー動作を最初から実行するようになるが、エラー状態は保持されるので問題はない。
【０２７７】
本実施の形態に係るスロットマシン１００によれば、先入れ先出しバッファを用いて複数の周辺基板間の同期を取る場合であっても、エラー処理を適切に行うことができる。すなわち、即時性と状態保持性を両立させることができる。
【０２７８】
この本実施の形態は、即時性の点で優れるとともに、その処理に条件分岐を用いていないのでプログラムを簡単にできるとともに、その容量の削減と処理速度の向上を実現することができる。
【０２７９】
<複数の周辺基板間の動作の同期、可動体と液晶表示の同期を例として（その３）>
上記例とは処理内容が異なる本実施の形態と異なる他の形態について説明を加える。この例においても、機能ブロック図（図３３）、基本的な動作説明図（図３４、図３５）及び制御データが記憶されていないときの動作説明図（図３６）は異なることがないので、これらを参照する。
【０２８０】
この本実施の形態に係るスロットマシン１００では、図４３に示すように、エラー信号受信時に、バッファ内の書き込み領域のうち、最先で出力される領域である記憶素子２００３Ｒ−３に対して、エラー解除されるまでエラー処理データを書き込み続けるようにする。こうすることで、図３７（ｇ）のようなエラー制御データが通常の制御データで上書きされることがなくなり、状態保持性を実現することができる。
【０２８１】
図４３の手法においては、エラー制御データの書き込みからその解析・実行までに要する時間は最小Ｔ２〜最大Ｔ１であり、即時性の点で優れている。図３８の例では書き込みから解析・実行までにはｔ２４−ｔ１５＝Ｔ１＋Ｔ２程度の時間を要していたが、これよりＴ１だけ短くなる。
【０２８２】
図４３の手法は即時性を要求されるエラーについても適用することができる。即時性の要求されるエラーについて好適な形態であると言える。
【０２８３】
また、図３６に示すように、エラー信号を受けたとき第２解析部２００４へ直接エラー制御データを送り直ちに実行させるようにすれば、即時性をさらに高めることができる。この手法によれば、エラー制御データの書き込みからその解析・実行までに要する時間はＴ２程度である。この手法は、第２解析部２００４に対して解析中の動作を取り消して即時に前記エラー制御データの解析を行わせることができる場合に適用できる。
【０２８４】
図４３の処理を実現するための、遅延制御部２００３ｃの動作について、図４４のフローチャートを参照しつつ説明を加える。
Ｓ４０：エラー信号を受けたとき、新しい通常の制御データの書き込みを中止する。
Ｓ４１：記憶素子２００３Ｒ−１〜２００３Ｒ−３の状態を調べる。
Ｓ４２：制御データを記憶しているかどうか判定する。
Ｓ４７：記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれもが制御データを記憶していない場合は（Ｓ４２でＮＯ）、エラー信号に対応する動作を行わせるためのエラー制御データを第２解析部２００４へ送る（図３６（ｅ））。第２解析部２００４が通常の制御データの処理中であるときに、その解析中の動作を取り消して即時にエラー制御データの解析を行わせるようにしてもよい。
Ｓ４３：記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれかが制御データを記憶している場合は（Ｓ４２でＹＥＳ）、出口端の記憶素子２００３Ｒ−３にエラー制御データを書き込む。
Ｓ４４：第１周期に基づきシフト動作を行い、第２解析部２００４にエラー処理を行わせる。
Ｓ４５：記憶素子２００３Ｒ−１〜２００３Ｒ−３の状態を調べる。
Ｓ４６：制御データを記憶しているかどうか判定する。記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれもが制御データを記憶していない場合は（Ｓ４６でＮＯ）、図３７（ｇ）のような状態は発生せずエラー信号が取り消されることがないから、エラー信号受信時の処理を中止する。
【０２８５】
記憶素子２００３Ｒ−１〜２００３Ｒ−３のいずれかが制御データを記憶している場合は（Ｓ４６でＹＥＳ）、Ｓ４３〜Ｓ４５の処理を繰り返す。
【０２８６】
第２解析部２００４は繰り返しエラー制御データを受けると、前回のエラー動作をキャンセルし、エラー動作を最初から実行するようになるが、エラー状態は保持されるので問題はない。エラー制御データの書き込みを繰り返すことで、エラー状態を確実に維持することができる。
【０２８７】
本実施の形態に係るスロットマシン１００によれば、先入れ先出しバッファを用いて複数の周辺基板間の同期を取る場合であっても、エラー処理を適切に行うことができる。すなわち、即時性と状態保持性を両立させることができる。
【０２８８】
この本実施の形態は、即時性の点で優れる。また、エラー制御データの書き込み先が出口端の記憶素子のみであるので、全ての記憶素子に書き込む場合と比べて迅速かつ確実に行なえ、処理速度と信頼性の向上を実現することができる。
【０２８９】
<条件分岐を用いないチャタリング除去>
スロットマシン１００内に設けられているメイン基板１０、サブ基板２０は、各種センサや遊技者が操作するスイッチなどの出力信号などを受けている。そして、センサやスイッチなどの出力信号に基づき、上述したような遊技処理を行っている。例えば、サブ基板２０は操作部（ジョグダイヤル）ＰＡＮの回転を検出するセンサとともにその中央に設けられた押しボタンスイッチＰＨＳＷの信号を受ける。
【０２９０】
メイン基板１０、サブ基板２０はマイコン（ＣＰＵ）を備えていて、デジタル信号に基づいて処理を行っている。そのため、前記センサやスイッチからの信号をデジタル信号に変換し、これらをデータとして扱うことで前記処理を行っている。デジタル信号は、典型的には信号レベルの高／低（Ｈ／Ｌ）にそれぞれ対応付けられた「０」「１」のデータ列である。デジタル信号のインタフェースでＩＣによく用いられているものとして、例えば、ＴＴＬ（Transistor Transistor Logic）がある。前記センサやスイッチからの信号をデジタル信号に変換するために、メイン基板１０、サブ基板２０などの基板は、前記センサやスイッチからの信号を一定時間毎にサンプリングし、その結果に基づいて「０」「１」のデータ列を生成している。
【０２９１】
前記センサやスイッチからの信号には、ノイズが含まれることがある。また、スイッチなどの機器ではその構造上の理由により、チャタリング（短時間の間にオンオフが不規則に繰り返されること）が生じることがある。これらノイズやチャタリングは不要なものであるのみならず、それらの存在によりＣＰＵが誤動作したり、意図した処理とは異なる処理を実行することもあることから、それらは除去すべきものである。
【０２９２】
ノイズやチャタリングを除去するために、従来のスロットマシン１００では、前記センサやスイッチからの信号をサンプリングしてデータ列を得るとともに、これに含まれる複数のデータ同士を比較しこれらが合致することを条件に信号の状態を確定していた。
【０２９３】
このように、一般的には、チャタリングの除去には比較処理と条件分岐命令を用いていた。
【０２９４】
比較処理（比較命令）は論理積・論理和などの演算命令と比較して処理負荷が重い。ＣＰＵの処理負荷を軽減する観点からは比較命令は用いないほうがよい。
【０２９５】
また、最近のＣＰＵはスーパースカラー(superscalar)という構造を持つものがあり、当該ＣＰＵにおいて、条件分岐命令は処理効率が悪くなるという問題がある。スーパースカラーとは、ＣＰＵのアーキテクチャの一種であり、命令レベルの並列性という並列コンピューティングの考え方をＣＰＵ内に実装したもので、複数の命令が同時に読み込まれ、ＣＰＵ内に複数設けられた処理部を使って並行して処理されるというものである。スーパースカラーのＣＰＵで複数の命令を実行したとしても、条件分岐命令によって異なる分岐ルートの命令にジャンプしてしまうと、同時に実行された他の命令が無駄になってしまう（これは「ＣＰＵのパイプラインがストールする」と呼ばれる）。このように条件分岐命令を用いると処理効率が悪くなる。
【０２９６】
本実施の形態においては、比較命令と条件分岐命令を用いることなくチャタリングを除去し、この結果、ＣＰＵの処理負荷を軽減するようにしている。
【０２９７】
図４５は、本実施の形態に係るチャタリング除去処理のフローチャートを示す。この処理では、比較処理及び条件分岐処理（判定処理）は用いられていない。
【０２９８】
図４５の処理は、短時間（入力信号のサンプリング周期と同程度又はサンプリング周期の２倍より小さい）のチャタリングを除去している。チャタリング発生時は、前回入力データが引き継がれるようになっている。
【０２９９】
例えば、ジョグダイヤルＰＡＮの操作監視としてダイヤルＪＤ回転に係るセンサＪＳ１とＪＳ２の検出と押しボタンスイッチＰＨＳＷの押下検出に関して約521μs（1920fps）毎にサンプリングを行う。この周期はサブ基板２０と周辺基板の通信プロトコルにより規定されている。図４５の処理ではチャタリングの除去を行うために約521μs毎のサンプリング結果を２回監視し、結果が一致していれば正常な信号として処理に取り込むようにしている。
【０３００】
なお、ジョグダイヤルＰＡＮに関して、図５（ｂ）に示す２つのセンサＪＳ１とＪＳ２からの２本の入力信号から得た結果を元に左右の回転を検出するが、併せて同図の押しボタンスイッチＰＨＳＷからの１本の信号線についても処理し、合計３本の入力信号に対してチャタリング除去を行う。しかし、それらの処理は１本ごとに独立しているので、以下の説明ではそれらのいずれかひとつの処理について説明する。
【０３０１】
チャタリングの除去処理をリアルタイムで行うこともできるが、本件の操作部ＰＡＮの処理についてはリアルタイム性は要求されず、処理結果を待つだけの時間的余裕がある。また、ＣＰＵは複数のビット（８ビット、１６ビット、３２ビットなど）のデータを一度に処理をすることができるので、１本ごとの信号（１ビットの信号）についての複数回（８回、１６回、３２回など）のサンプリングデータをひとつのまとまり（ワード）として扱うようにしたほうが効率がよい。
【０３０２】
そこで、本実施の形態では、一定のデータを蓄積した後に纏めて解析を行うようにしている。例えば、解析タイミングを30fps（約33.33ms）毎とし、１本の信号あたり３２個分のデータを保持し（信号の変化は１ビット、ＯＮとＯＦＦのみ）、32bit型変数に格納するようにしている。図４５の処理は、32bit型変数の各ビットについて行われる。
【０３０３】
しかし、説明を簡単にするために、以下においては１ビットの処理を例にとり説明を加える。ＣＰＵのレジスタは１ワードの各ビットの論理演算を同時に行うようになっており、複数のビットの場合は以下の１ビットの処理を同時に行うことになる。
【０３０４】
図４５における記号について説明を加える。
【０３０５】
[S1]は、サンプリングされたデータ（１ビット）である。
【０３０６】
[S2]は、[S1]の次にサンプリングされたデータである。
【０３０７】
[B]は、前回の処理において得られた値（出力）である。
【０３０８】
[Sa]は、[S1]と[S2]の論理積である。この真理値表を図４６に示す。
【０３０９】
[So]は、[S1]と[S2]の論理和である。この真理値表を図４７に示す。
【０３１０】
[SB]は、[Sa]と[B]の論理和である。この真理値表を図４８に示す。
【０３１１】
[SBo]は、[SB]と[So]の論理積である。この真理値表を図４９に示す。
【０３１２】
図５０は、図４５の処理と同じ処理を行う論理回路のブロック図である。図５０はチャタリング除去部の内部構造を示す。本実施の形態はソフトウエアだけでなくＩＣなどのハードウエアでも実現できる。
【０３１３】
２１００と２１０１は、信号をサンプリングするためのラッチである。ラッチ２１０１の入力は操作部からの信号であり、この出力がラッチ２１００の入力になっている。図のようなラッチ２１００、２１０１の直列接続は、サンプリングタイミングごとに信号がシフトするように動作する。ある時点で見ると、ラッチ２１０１には最新のデータ（直近のサンプリングデータ）が保持され、ラッチ２１００にはその１サンプリング前のデータが保持されている。図５１の例で言うと、ラッチ２１０１が（１３）のデータを保持しているときは、ラッチ２１００が（１２）のデータを保持している。言い換えれば、ラッチ２１００の出力はラッチ２１０１の出力に比べてサンプリング信号の１周期（図５１のＴＳ１）だけ遅れている。したがって、ラッチ２１０１の出力が[S2]であり、ラッチ２１００の出力が[S1]である。
【０３１４】
２１０２は、[S1]と[S2]の論理積を求めるＡＮＤ回路である。
【０３１５】
２１０３は、[S1]と[S2]の論理和を求めるＯＲ回路である。
【０３１６】
２１０４は、ＡＮＤ回路２１０２の出力[Sa]とラッチ２１０６の出力[B]の論理和を求めるＯＲ回路である。
【０３１７】
２１０５は、ＯＲ回路２１０４の出力[SB]とＯＲ回路２１０３の出力[So]の論理積を求めるＡＮＤ回路である。ＡＮＤ回路２１０５の出力[B]が、チャタリング除去された出力である。
【０３１８】
２１０６は、次回の処理に用いるために出力[B]を保持するラッチである。
【０３１９】
図５１は、本実施の形態に係るチャタリング除去を説明するタイミングチャートである。サンプリング間隔ＴＳ１ごとにサンプリング信号が発生され、これを単位として処理が行われる。所定の処理時間ＴＳ２の後に処理結果が出力され、チャタリング除去済みの信号が出力される。
【０３２０】
図５１ではチャタリングは発生していないが、チャタリング信号（ＴＳ１の２倍よりも短い信号）が発生したとしても、当該信号は除去されて出力側には現れない。例えば、低レベルを０、高レベルを１として、本来「００１１１１・・・」となるはずが、チャタリングにより「００１０１１・・・」となった場合、これを「００００１１・・・」とする。
【０３２１】
本実施の形態に係るチャタリング除去のロジックは、（１）２回以上連続して同じ値がサンプリングされたとき（００，１１）その値を出力し、（２）そうでないとき前回の値を出力する、というものである。図５２に当該ロジックの真理値表を示す。
【０３２２】
図４５、図５０の出力である図４９の真理値表の出力（右端）は、図５２の出力（右端）と同じであるから、図４５の処理、図５０の装置は上記ロジックを実現している。
【０３２３】
図４５及び図５０を参照して、本実施の形態に係るチャタリング除去処理について説明を加える。
Ｓ５０：ＡＮＤ回路２１０２により[S1]と[S2]の論理積を求め、この出力を[Sa]とする。
Ｓ５１ａ：ＯＲ回路２１０４により[Sa]と前回の値である[B]の論理和を求め、この出力を[SB]とする。
Ｓ５１ｂ：ＯＲ回路２１０３により[S1]と[S2]の論理和を求め、この出力を[So]とする。
【０３２４】
なお、Ｓ５１ａで使う値とＳ５１ｂで使う値は重複していないので、スーパースカラーのＣＰＵにおいてはＳ５１ａとＳ５１ｂを同時に実行することができる。また、条件分岐がないのでＣＰＵのパイプラインがストールすることもない。
Ｓ５２：ＡＮＤ回路２１０５により[SB]と[So]の論理積を求め、この出力を[SBo]とする。[SBo]をチャタリング除去された信号として出力する。
Ｓ５３：ラッチ２１０６により[SBo]を前回出力[B]として保持する。
結局、上記処理は下記の式と同等になる。 
【０３２５】
今回値[SBo] ＝ ( ( [S1] AND [S2] ) OR [B] ) AND ( [S1] OR [S2] )  
本実施の形態によれば、条件分岐を用いる一般的な処理方法と比較して次のアドバンテージがある。
（１）比較命令を使用しない為、ＣＰＵのパイプラインがストールしない。
【０３２６】
ストールについて図５３、図５４を用いて説明する。
【０３２７】
図５３は、条件分岐を用いる一般的なチャタリング除去のフローチャートである。図５４は処理手順を示すタイミングチャートであり、左から右へ処理が進む。図５４（ａ）は本実施の形態の処理を示し、図５４（ｂ）は図５３の処理を示す。
【０３２８】
図５３のＳ６２が条件分岐であり、サンプリングされた２つのデータを比較している。この比較結果に応じて（ＹＥＳ／ＮＯ）処理の内容が異なる（Ｓ６３又はＳ６４）。もし、スーパースカラーを活用して複数の命令Ｓ６３とＳ６４を同時に読み込んだとしても、その一方は必ず無駄になる（使用されない）。図５４（ｂ）の×印はこのことを意味する。したがって、図５３の処理はストールが発生する。せっかくのスーパースカラーを利用できない。
【０３２９】
これに対し、本実施の形態によれば、図５４（ａ）のように、相互依存関係にあるデータが互いに存在しない、[Sa]と前回の値である[B]の論理和を求めて[SB]とする処理と、[S1]と[S2]の論理和を求めて[So]とする処理を同時に行うことができ、しかもこれらの結果は破棄されることがないので、ストールは発生しない。スーパースカラーを活用できている。処理の並行実行により処理効率が向上する。
【０３３０】
（２）ＣＰＵのレジスタのビット数（例えば３２ビット）までの入力信号を同時に解析することができる。本実施の形態によれば、レジスタのビット数の範囲の数であれば、処理対象のデータが増えても処理負荷は変化せず、高い効率の処理が可能である。
【０３３１】
例えば、複数の信号を同時にサンプリングしたデータをその順番でＭＳＢからＬＳＢにかけて並べたものをレジスタＡに格納し（これが[S1]となる）、同様に次のサンプリングデータを他のレジスタＢに格納する（これが[S2]となる）。レジスタＡとレジスタＢについて、図４５のＳ５０、Ｓ５１ｂの処理を行う。他の処理もレジスタのビット数を利用して複数のデータについて同時に処理を行う。
【０３３２】
ひとつの信号について複数のサンプリング信号を同時に処理することも可能である。ひとつの信号を複数回（例えば３２回）サンプリングしたデータをその順番でＭＳＢからＬＳＢにかけて並べたものをレジスタＡに格納し（これが[S1]となる）、１サンプリング周期遅れて複数回サンプリングしたデータをその順番でＭＳＢからＬＳＢにかけて並べたものをレジスタＢに格納する（これが[S2]となる）。
【０３３３】
あるいは、[S1]をＭＳＢ方向へ１ビットシフトし、空いたＬＳＢに新たなサンプリングデータを入れたものを他のレジスタＢに格納する（これが[S2]となる）。
【０３３４】
レジスタＡとレジスタＢについて、図４５のＳ５０、Ｓ５１ｂの処理を行う。他の処理もレジスタのビット数を利用して複数のデータについて同時に処理を行う。
【０３３５】
複数のサンプリング回数に応じて、ラッチ２１０６も複数用意する。
【０３３６】
図５１ではサンプリングタイミングを示す１３個の矢印（１）、・・・（１２）、（１３）が示されているが（図面を見やすくするために（２）乃至（１１）の表示は省略している）、これを例に取れば、サンプリングデータ（１）乃至（１２）を[S1]とし、サンプリングデータ（２）乃至（１３）を[S2]とする。ビットシフトの場合も同じである。
【０３３７】
図５３の処理では、チャタリングの除去単位を１ビット単位で行い、１ビットごとに比較を行う必要がある（条件分岐があるので複数のデータを同時に処理できない)。図５３のＳ６０、Ｓ６５、Ｓ６６がこの処理に相当する。同図は８ビットのデータを処理するので処理を８回ループしている。このため処理効率が悪くなる。
【０３３８】
本実施の形態によれば、チャタリング除去方法を高速かつ低負荷なロジックで構成することにより、演算に必要なリソースを少なくすることができる。
【０３３９】
なお、上記例では新旧のサンプル情報を２つに分けて行っているが、これは必須ではない。例えば、処理の完了したデータをコピーしてビットシフトすれば、前回のものとして扱うことができる。
【０３４０】
<ジョグダイヤル：センサの信号の確認>
ジョグダイヤルＰＡＮの出力信号の処理手順（特に回転方向の検知判断）について説明を加える。
【０３４１】
ジョクダイヤルＰＡＮは略円筒形のデバイスであり、図５（ａ）に示すように、回転可能なリング（ダイヤルＪＤ）を備え、その中心部分には押しボタンスイッチＰＨＳＷが設けられている。ダイヤルＪＤを左右に回すことができる。押しボタンスイッチＰＨＳＷには発光素子が設けられている。ダイヤルＪＤは複数のステップ（例えばステップ数＝３０、その角度＝１２度）で回転するようになっている。
【０３４２】
図５（ｂ）に示すように、ジョクダイヤルＰＡＮは、ダイヤルＪＤの回転を検知するための２つのセンサ[1]ＪＳ１と[2]ＪＳ２（以下、表記を簡単にするためにＪＳ１、ＪＳ２の表示は省略する）を備えている。回転に応じてセンサ[1]と[2]はＨ／Ｌの２つのデジタル信号を出力するが、それらは互いに異なっている。センサ[1]と[2]の出力信号の例を図５５に示す。同図はダイヤルＪＤの回転に応じた信号の変化を示す。ノッチはステップのことであり、例えばダイヤルＪＤの１２度の回転が１ステップとなる。ダイヤルＪＤの停止位置はノッチを単位としている。すなわち、ダイヤルＪＤは図５５の点線の位置に停止、これら以外の位置では止まらない。＋、−は回転の方向を示し、例えば右回転が＋、左回転が−である（この対応関係は任意である）。また、Ｈ／Ｌの関係は逆であってもよい（正論理、負論理どちらでもよい）。
【０３４３】
図５５は、ジョグダイヤルＰＡＮの回転時の信号の、あくまで一例である。図５５とは異なるタイミングでジョクダイヤルＰＡＮの信号が変化するようにしてもよい。
【０３４４】
ジョグダイヤルＰＡＮの信号は次の性質を備えている。
（１）１ノッチ（１区切り）の間に発生する各信号のエッジ変化は１回である。
【０３４５】
エッジとはＨからＬ又はＬからＨへ変化する点のことである。Ｈ／Ｌの対応関係は任意であるので、もっぱらエッジ変化について着目する。
（２）各信号は、２ノッチを単位として同じ内容を繰り返す。つまり、繰り返し周期が２ノッチである。
（３）センサ［1］と［2］の信号波形のパターンは同じだが、位相ずれが存在する。したがって、センサ［1］と［2］の両方が同時にエッジ変化することはない。図５５において、このずれは左右均等ではない。ＴＺ１≠ＴＺ２である。言い換えれば、センサ［2］の信号をセンサ［1］の信号と一致するように＋方向へ移動させるとき、その移動量（ＴＺ２）は−方向へ移動させるときの移動量（ＴＺ１）とは同じになっていない。なお、ＴＺ１＝ＴＺ２であってもよい。
【０３４６】
図５５によれば、＋側に回転させた場合は以下の現象が順番に発生している。ただし、停止位置がＴＺ２の範囲にあるとする。なお、停止位置がＴＺ１の範囲にあるようにしてもよいが、この場合は下記規則のセンサ［1］とセンサ［2］が入れ替わる。
（＋側現象（１））センサ［1］にエッジ変化が発生する。
（＋側現象（２））センサ［2］にエッジ変化が発生する。
【０３４７】
この規則に従い、センサ［1］、センサ［2］の順番で現象が発生したときダイヤルＪＤは＋方向へ１ノッチ回転したと認識することができる。
【０３４８】
同様に、−側に回転させた場合は以下の現象が順番に発生している。
（−側現象（１））センサ［2］にエッジ変化が発生する。
（−側現象（２））センサ［1］にエッジ変化が発生する。
【０３４９】
この規則に従い、センサ［2］、センサ［1］の順番で現象が発生したときダイヤルＪＤは−方向へ１ノッチ回転したと認識することができる。
【０３５０】
ジョグダイヤルＰＡＮの操作方法としては、単純に同一方向に回転させる他に、左右交互に激しく動かすなど、回転方向を逆転させる操作がある。この際の信号の変化の例を図５６に示す。
【０３５１】
図５６はタイミングチャートであり、左から右へ向かって時間が経過している。チャートの中央の操作反転の位置でダイヤルＪＤの回転方向が反転する。同図の例では順回転（＋方向）から逆回転（−方向）に向きが変わっている。逆回転動作が行われた場合、必ず、直前にエッジを検出したセンサから、再度エッジを検出する。同じセンサについて逆回転の前後のエッジまでの長さ（ＧＹ１＋とＧＹ１−、ＧＹ２＋とＧＹ２−）が等しくなるからそのような現象が生じる。
【０３５２】
このように、逆回転時は、順回転時とは異なる現象が生じる。
【０３５３】
なお、遊技者が意図しなくても上記逆回転の現象が生じることがある。ダイヤルＪＤには回転時のステップ数をユーザー（遊技者）が把握しやすいように、ノッチと呼ばれる位置決め機構が設けられている。回転停止時はダイヤルＪＤが必ず何れかのノッチに収まっている。ダイヤルＪＤの慣性が働く関係で、回転中は遊技者が操作を停止させたその瞬間にノッチに収まっていないことがあり、このときにダイヤルＪＤがノッチに収まろうとして一瞬逆回転することがある。この際にセンサが信号を出力することがある。
【０３５４】
図５５、図５６に示す信号を出力するジョグダイヤルＰＡＮの回転量（回転方向を含む）を求める装置のブロック図を図５７に示す。
【０３５５】
２２０１−１は、センサ[1]を入力とし、そのエッジを検出するエッジ検出器である。
【０３５６】
２２０１−２は、センサ[2]を入力とし、そのエッジを検出するエッジ検出器である。
【０３５７】
エッジ検出器２２０１−１は、バッファ２２０１−１１、ビットシフタ２２０１−１２、バッファ２２０１−１３、排他的論理和回路２２０１−１４を含む。図示しないが、エッジ検出器２２０１−２も同じである。
【０３５８】
バッファ２２０１−１１は、センサ[1]の信号（１ビットのＨ／Ｌの信号）を一定時間ごとにサンプリングし、これをその順番で記憶する。バッファ２２０１−１１は、例えばシフトレジスタである。記憶内容の一例を図５８（ａ）に示す。複数の１ビットのデータが記憶されており、右側ＬＳＢからデータが入力され、サンプリングごとに左側にシフトされていく。右側ＬＳＢが最新のデータであり左側ＭＳＢが最も以前にサンプリングされたデータである。
【０３５９】
バッファ２２０１−１１に一定数（例えば３２個）のデータが書き込まれるとビットシフタ２２０１−１２の全てのデータを読み出すとともに１ビットシフトした上でバッファ２２０１−１３に書き込む。ビットシフタ２２０１−１２は、バッファ２２０１−１１の各データを右側（入口ＬＳＢ）方向に一つだけ移動させる。
【０３６０】
バッファ２２０１−１３は、バッファ２２０１−１１と同じ構造のメモリ（シフトレジスタ）である。ビットシフタ２２０１−１２の作用により、バッファ２２０１−１３のデータは、図５８（ｂ）のようになる。ビットシフタ２２０１−１２で右側へ一つだけシフトするので左端ＭＳＢにはデータが存在しなくなり（符号Ｘ）、図５８（ａ）の右端ＬＳＢのデータは失われる。左端ＭＳＢについて排他的論理和演算を行わないようにすれば問題がないが、次のようにすればデータを失わないようにできる。
【０３６１】
ビットシフトする前の図５８（ａ）の右端ＬＳＢのデータを図示しないメモリに記憶しておき、このデータを次回（エッジ検出処理が終わりその結果を出力した後にバッファ２２０１−１１の内容をクリアし、再びサンプリングを行いバッファ２２０１−１１が一杯になった後、再びビットシフトを行うタイミング）において、図５８（ｂ）の左端ＭＳＢ（符号Ｘ）に書き込むようにする。
【０３６２】
排他的論理和回路２２０１−１４は、バッファ２２０１−１１と２２０１−１３の各ビットについて排他的論理和を求める。これによりエッジがどこにあるか（データの変化がいつ生じたか）を知ることができる。すなわち、図５８（ｃ）の「１」の位置にエッジが存在する。
【０３６３】
上述のようにすれば、エッジ検出に必要な工程は、データ取得（例えば３２サンプリング）、ビットシフト・データコピー、排他的論理和となり、複数（例えば３２回分）のデータを一括で処理することができ、１サンプリングごとに条件判定で求めるよりは、はるかに効率よくエッジ検出を行える。
【０３６４】
２２０３は、エッジ検出器２２０１−１、２２０１−２の出力の論理和を求める論理和回路（後述のように排他的論理和であってもよい）である。
【０３６５】
次に、検出されたエッジに基づき回転量（回転方向を含む）を判定する処理について説明を加える。この処理は、エッジ検出器２２０１−１又は２２０１−２の一方の出力と論理和回路２２０３の出力に基づき回転検出部２２０２が行う。
【０３６６】
図５９は、エッジの検出状況と回転量、すなわち順回転・逆回転の判定の説明図（タイミングチャート）を示す。図５９（ａ）はセンサ[1][2]の出力信号波形とエッジの検出位置を示す（「１」がエッジ検出を示す。ひとつのマスはサンプリング間隔に対応する）。図５９（ｂ）はエッジ検出に基づく回転検知を示す。○印はそのタイミング（ひとつのマス）で１ノッチ分の順回転又は逆回転が発生したことを意味する。順回転、逆回転それぞれについて○印を累積すれば回転量を求めることができる。例えば、（順回転の○印の累積）×（２ノッチの角度）＝（順方向への回転角度）となる。あるいは（順回転の○印の累積）そのものを回転量とすることもできる。この場合、ノッチが回転の単位となる。なお、順回転は例えば右回転、逆回転は例えば左回転であるが、この対応関係は任意である。
【０３６７】
前述の規則を参照して、図５９（ａ）のエッジ検出に基づき回転量を求める。
【０３６８】
すなわち、センサ[1][2]が交互にエッジを発生させていることを検出したとき、回転（○印）と判定する。センサで連続してエッジを検出した場合は、回転方向が反転したと判定する。
【０３６９】
上記判定の際にセンサ[1][2]が交互にエッジを発生しているかを確認するために、条件判断文を用いてしまうと、ＣＰＵ占有率が高くなってしまう。そのため、可能な限り条件式を排除した処理を用いることが好ましい。
【０３７０】
図６０は、回転検出部２２０２の処理フローチャートである。図６１は、その説明図（タイミングチャート）である。図６１では、最初の１マスは初期設定状態にあり、ダイヤルＪＤは動いていない。次の６マスでは順方向に３ノッチ進み、次の６マスでは逆方向に３ノッチ戻っている。
【０３７１】
まず、順回転（図６１の（ア）など）についての処理について説明する。処理の前には初期設定がされていて、順回転フラグ、逆回転フラグ、回転量のいずれもゼロであるとする。
【０３７２】
ダイヤルＪＤが回転して次のノッチに進むと前述のようにセンサ[1][2]の信号が変化する。
【０３７３】
まず、センサ[1]の信号が変化し（符号（ア１））、回転検出部２２０２は、論理和回路２２０３の出力に基づきエッジを検出する（Ｓ７０でＹＥＳ）。なお、論理和回路２２０３に代えて、符号２２０３に排他的論理和回路を用いることもできる。原則として、センサ[1][2]の信号が同時に１になることはないので、排他的論理和回路を用いても、論理和回路の場合と異ならない。
【０３７４】
エッジ検出器２２０１−１の出力に基づきセンサ[1]の信号が変化したと判定する（Ｓ７１でＹＥＳ）。
【０３７５】
回転量を求める（Ｓ７２）。回転量は、前回の回転量から逆回転フラグを引いたものであるが、逆回転フラグがゼロなので回転量は変わらない。
【０３７６】
図６０の例は回転量の＋／−の符号に回転方向が対応している例である。図６０の回転量ひとつで左右両方の回転に対応している。このため、Ｓ７２では回転量から逆回転フラグを引いている。なお、左右それぞれに別々の回転量（変数）を与えるようにしてもよい。例えば、後述の図６３及びその説明に示すように、逆回転量と順回転量という２つの変数を用いるようにしてもよい。この場合は逆回転量に逆回転フラグを加えている。
【０３７７】
順回転フラグを求める（Ｓ７３）。順回転フラグは、前回の逆回転フラグの論理を反転したもの（１と排他的論理和を求める）である。逆回転フラグはゼロなので、順回転フラグは１になる。
【０３７８】
逆回転フラグをゼロにする（Ｓ７４）。
【０３７９】
センサ[1]の信号が先に変化したときは、上記処理により順回転と判定される。
【０３８０】
次に、センサ[2]の信号が変化する（符号（ア２））。しかし、エッジ検出器２２０１−１の出力は変化していないので、回転検出部２２０２は、センサ[1]の信号は変化していないと判定する（Ｓ７１でＮＯ）。
【０３８１】
回転量を求める（Ｓ７５）。回転量は、前回の回転量に順回転フラグを加えたものである。Ｓ７３で順回転フラグが１になっているので回転量は＋１される。
【０３８２】
逆回転フラグを求める（Ｓ７６）。逆回転フラグは、前回の順回転フラグの論理を反転したもの（１と排他的論理和を求める）である。順回転フラグは１なので、逆回転フラグはゼロになる。
【０３８３】
順回転フラグをゼロにする（Ｓ７７）。
【０３８４】
上記処理は、順回転の１シーケンスの判定処理である。符号（ア）の処理が終了した時点で順回転フラグ、逆回転フラグの両方がゼロとなり、初期状態に戻る。これにより次が順回転、逆回転のいずれであっても対応できるようになる。
【０３８５】
次に、逆回転（図６１の（イ）など）についての処理について説明する。
【０３８６】
ダイヤルＪＤが回転して次のノッチに進むと前述のようにセンサ[1][2]の信号が変化する。
【０３８７】
まず、センサ[2]の信号が変化し（符号（イ１））、回転検出部２２０２は、論理和回路２２０３の出力に基づきエッジを検出する（Ｓ７０でＹＥＳ）。エッジ検出器２２０１−１の出力は変化していないので、回転検出部２２０２は、センサ[1]の信号は変化していないと判定する（Ｓ７１でＮＯ）。
【０３８８】
回転量を求める（Ｓ７５）。回転量は、前回の回転量に順回転フラグを加えたものである。順回転フラグはゼロであるので回転量は変化しない。
【０３８９】
逆回転フラグを求める（Ｓ７６）。逆回転フラグは、前回の順回転フラグの論理を反転したもの（１と排他的論理和を求める）である。順回転フラグはゼロなので、逆回転フラグは１になる。
【０３９０】
順回転フラグをゼロにする（Ｓ７７）。
【０３９１】
次に、センサ[1]の信号が変化し（符号（イ２））、回転検出部２２０２は、論理和回路２２０３の出力に基づきエッジを検出する（Ｓ７０でＹＥＳ）。そして、エッジ検出器２２０１−１の出力に基づきセンサ[1]の信号が変化したと判定する（Ｓ７１でＹＥＳ）。
【０３９２】
回転量を求める（Ｓ７２）。回転量は、前回の回転量から逆回転フラグを引いたものであるが、逆回転フラグが１なので回転量は１だけ減少する。
【０３９３】
順回転フラグを求める（Ｓ７３）。順回転フラグは、前回の逆回転フラグの論理を反転したものである。逆回転フラグは１なので、順回転フラグはゼロになる。
【０３９４】
逆回転フラグをゼロにする（Ｓ７４）。
【０３９５】
センサ[2]の信号が先に変化したときは、上記処理により逆回転と判定される。
【０３９６】
上記処理は、逆回転の１シーケンスの判定処理である。符号（イ）の処理が終了した時点で順回転フラグ、逆回転フラグの両方がゼロとなり、初期状態に戻る。これにより次が順回転、逆回転のいずれであっても対応できるようになる。
【０３９７】
ところで、上記説明では２つのセンサ[1][2]のいずれかのエッジ検出で処理を開始していた（図５７の論理和回路２２０３、図６０のＳ７０）。これに対し、図６２に示すように２つのセンサ[1]と[2]それぞれについて判断を行うやり方も考えられる。
【０３９８】
しかし、図６２のやり方には処理負荷が高くなるという問題が生じる。実際の処理において複数のサンプリング期間で検知可能な回転量（エッジ検出の回数）はそれ程多くなく、しかも、スロットマシン１００に対する実際の操作を考えるとジョグダイヤルＰＡＮは回転より停止時の方が頻度が高い。この実情を考慮すると、図６０のように、停止状態を先に判定し、処理から除外させる（図６０のＳ７１乃至Ｓ７７の処理を行わないようにする）ことの方が、図６２の処理よりも、処理負荷を低くできる。
【０３９９】
なお、実際にはほとんど発生しないが、センサ［1］とセンサ［2］で同時にエッジを検出することを考える（サンプリング処理を行っているので、ノッチの間隔がサンプリング周期を超えるような高速回転のときには同時検出があり得る）。このケースにおいて、図６０の処理では、必ずセンサ［1］側の処理（Ｓ７２乃至Ｓ７４）を行うことになり、順回転となる（符号２２０３に論理和回路を用いている場合）。しかし、センサ［1］とセンサ［2］の同時エッジ検出は順回転とは限らないから、図６０の処理によれば誤処理の可能性を否定できない。なお、符号２２０３に排他的論理和回路を用いている場合は同時エッジ検出でＳ７２〜Ｓ７４、Ｓ７５〜Ｓ７７いずれの処理も行わないから上記のような問題は生じないが、後述の回転監視用のパラメータの初期化（Ｓ１０２、Ｓ１０３）を行わないから、誤動作を完全に防止できないおそれがある。
【０４００】
上記問題を解決した処理フローチャートを図６３及び図６４に示す。これらの処理フローチャートは、図５６に示した複数ビット（３２ビット）についての処理を示す。
Ｓ９０：各センサのエッジを検出する。
【０４０１】
上述のようにエッジ検出器２２０１−１、２２０１−２により、図５６（ｃ）のようなエッジ検出のデータを生成する。図５６（ｃ）のデータは、センサ［1］とセンサ［2］それぞれについて生成される。
Ｓ９１：両センサの重複エッジと排他エッジを求める。
【０４０２】
センサ［1］のエッジデータとセンサ［2］のエッジデータの各ビットについて論理積を求め、これを重複エッジデータとする。重複エッジデータは、上記同時検出が生じたことを示すものである。
【０４０３】
同様に、センサ［1］のエッジデータとセンサ［2］のエッジデータの各ビットについて排他的論理和を求め、これを排他エッジデータとする。排他エッジデータは、センサ［1］とセンサ［2］のいずれかでエッジ検出があったことを示すものである。上記同時検出が生じていたとしても演算結果はゼロになるので、センサ［1］のエッジデータとセンサ［2］のエッジデータが、いずれも、非検出と同時検出だけであれば排他エッジデータは全てゼロになる。
Ｓ９２：排他エッジデータが全てゼロかどうか判定する。
【０４０４】
排他エッジデータが全てゼロであれば（ＹＥＳ）、センサ［1］とセンサ［2］いずれも非検出（又は同時検出）であるから処理する必要はないので回転検出処理を終了する。
【０４０５】
そうでなければ（ＮＯ）、Ｓ９３以降の処理を実行する。なお、これ以降の処理は複数のビット（３２ビット）のＭＳＢ（最も古いデータ１ビット）について処理する。後述のＳ１０４乃至Ｓ１０６でビットシフトすることによりＭＳＢ側から順番に処理を行っているので、Ｓ９３以降の処理は図５９、図６０に示すような時間軸に沿った処理となる。
【０４０６】
ジョグダイヤルＰＡＮは必要な場合のみ操作されるものであり、エッジが検出されないことが比較的多いから、Ｓ９２の処理を最初に行うことにより処理負荷を減らすことができる。
【０４０７】
なお、＝＝は等号を示す。図６３、図６４においては＝（代入）と区別して＝＝という記号を用いている。
Ｓ９３：重複エッジデータがセットされているかどうか判定する。
【０４０８】
重複エッジデータのＭＳＢがセット（＝１）であれば（ＹＥＳ）、回転量の計算は行わない。しかし、エッジが重複しているときは回転方向を誤認する可能性が高く、あるいは誤動作である可能性が高いから、同条件が発生した場合は、回転監視用のパラメータを全て初期化する（Ｓ１０２、Ｓ１０３）。なお、ＭＳＢ＝１はマイナスの値を示すから、Ｓ９３では、重複エッジ<０であるかどうかを判断している（Ｓ９４、Ｓ９５も同じ）。
【０４０９】
同時にエッジ検出が発生する状況は想定外の事象ではあるが、高速回転時には発生し得る。このような状況下では遊技者自体が回転量を把握していないと想定されるから、回転量の計算を行わないとしてもこのことによる多少の回転誤差は問題にならないと思われる。
【０４１０】
なお、図面では、重複エッジデータがセットされているかどうかを、重複エッジデータの符号がマイナスであることで判定している。あるビットが１／０いずれであるかを判定するには予め特定のデータ（当該ビットのみ１で他は０のデータ）を用意し、これを比較対象のデータと演算することで行うが、データのＭＳＢが１／０いずれであるかの判定はそれをレジスタに入れた状態で所定のフラグ（符号）をチェックすることで、より簡単に行える。そこで、Ｓ９３、Ｓ９４、Ｓ９５ではデータの符号を判定することでＭＳＢが１／０いずれであるかを判定している。１がマイナス、０がプラスを意味するからＳ９３、Ｓ９４、Ｓ９５ではデータが１であるときにＹＥＳとなる。
Ｓ９４：排他エッジデータがセットされているかどうか判定する。
【０４１１】
排他エッジデータのＭＳＢがセットされていなければ（＝０、ＮＯ）、回転量の計算は行わない。
【０４１２】
この処理は、図６０のＳ７０に対応する。
Ｓ９５：センサ[1]で検出しているかどうか判定する。
【０４１３】
センサ[1]のＭＳＢのセット／リセット（１／０）に応じて処理が振り分けられる。
【０４１４】
この処理は、図６０のＳ７１に対応する。
【０４１５】
Ｓ９６乃至Ｓ１０１は、図６０のＳ７２乃至Ｓ７７に対応するので、それらの説明は省略する。これらの処理により１ビットごとに回転量が求められる。次のビットの処理を行うためにＳ１０４乃至Ｓ１０６によりビットシフトを行う。
Ｓ１０４：排他エッジデータを１ビットだけＭＳＢ側へシフトして、次のデータを処理できるようにする。ＬＳＢ側へはゼロを入れるようにする。
【０４１６】
なお、<<＝は左側（ＭＳＢ）へのビットシフトを示し、数字はシフト量を示す。
Ｓ１０５：センサ[1]のデータを１ビットだけＭＳＢ側へシフトして、次のデータを処理できるようにする。ＬＳＢ側へはゼロを入れるようにする。
Ｓ１０６：重複エッジデータを１ビットだけＭＳＢ側へシフトして、次のデータを処理できるようにする。ＬＳＢ側へはゼロを入れるようにする。
Ｓ１０７：排他エッジデータが全てゼロかどうか判定する。
【０４１７】
排他エッジデータが全てゼロであれば（Ｓ１０７のＹＥＳ）、これ以降についてはセンサ［1］とセンサ［2］のいずれも非検出（又は同時検出）であるから処理する必要はないので、回転量を求める処理（Ｓ１０８）を行ってから本件処理を終了する。
【０４１８】
全てゼロではないとき（Ｓ１０７のＮＯ）処理すべきエッジデータが残っているので、Ｓ９３に戻り処理を繰り返す。
【０４１９】
Ｓ１０７によれば処理対象（１であるビット）がなくなった時点で処理を終了できるので、ビット数（３２ビット）だけ処理を繰り返すことを、常に行う必要がない。これにより処理負荷を軽減することができる。
【０４２０】
本実施の形態によれば、ジョグダイヤルＰＡＮの回転量（順回転量、逆回転量）の算出処理の前に、２つのセンサの出力の論理和（又は排他的論理和）に基づき回転量の算出処理を行うかどうか判定し、２つのセンサいずれについてもエッジが存在せず、回転量の算出処理の必要のないときはジョグダイヤルＰＡＮの回転量算出処理を直ちに抜けるようにしている。このため、ジョグダイヤルの回転方向及び角度の検知処理において、条件分岐命令の実行頻度を下げることができる。非操作の時間が多いジョグダイヤルＰＡＮの処理についてそのほとんどにおいて最初の条件分岐で処理を終了するようにできる。これにより、ＣＰＵの処理負荷を軽減することができる。
【０４２１】
また、順回転フラグ、逆回転フラグ、回転量の３つのパラメータを用いて回転検出し、回転量を求めるようにした。ノイズ等によりこれら３つのパラメータが同時に不正な値となる可能性は少ないから、３つのパラメータを用いることにより、ノイズによる誤検知を防止することができる。
【０４２２】
ジョグダイヤルＰＡＮのセンサの監視は、回転情報を正確に認識するために高速でサンプリングを行うが、ジョグダイヤルＰＡＮ自体は常に回転する(回転し続ける)デバイスではなく、各センサの信号変化はサンプリング間隔と比較して圧倒的に少ない。本実施の形態では、上記処理を行うことで、通常時（無回転時)の制御負荷を極力押さえ込むことができる。
【０４２３】
また、センサ反応時の対応に於いても、条件分岐を極力削減しており、負荷軽減を図れる。
【０４２４】
他にも、各信号を個別に判定した場合、センサのサンプリング間隔や信号誤検知によって同時にセンサ信号が変化すると、誤った回転検知を行ってしまう問題がある。本実施の形態では排他的論理和を用いることで、一方のセンサ[1]を有効として処理を行うようにしているので、特別な処理を行わずに前記問題を回避することが可能である。例えば、電波などの影響によって、同時にエッジが変化したとしても誤検知が生じない。また、センサが誤検知したときのリカバリ処理の軽量化を図れる。
【０４２５】
<Ｖフレーム遅延サポート>
図１２を参照して既に説明を加えたように、液晶表示装置ＬＣＤに画像を表示する際に、描画データを保存してからその表示を実行するまでには、２つのＶフレームに相当する時間を要する。このため、液晶表示装置ＬＣＤの表示と音響（液晶制御基板２００とスピーカ基板２０１）で同期させつつ行う演出については、それらの動作を一致させる必要がある（役物についての同期については前述した）。図１２に示したように、液晶表示装置ＬＣＤに画像を表示する際には２フレーム（６６．６ｍｓ）程度の遅延が生じる。このため、液晶表示の画面と音響について同期を取るためには、前記遅延に応じて処理を遅延させることが必要である。
【０４２６】
音響を発生するためのサウンドコマンドの書き込み（転送）は、図６５に示すようにコマンドバッファ（前述の送信データレジスタ２０５２に相当）を介して行われる。サブ基板２０のＣＰＵが特定の音響を発生させるためのコマンドをコマンドバッファに書き込み、所定のタイミングでコマンドバッファからコマンドを読み出してスピーカ基板２０１（あるいはサブ基板２０）の図示しない音響発生器（ＩＣ）へ送る。コマンドの転送は所定間隔（システム側のメインタスク処理に要する時間１６．６ｍｓ）ごとに行われる。音響再生までに必要なコマンド数によって発音するまでの時間は変化するが、上述のように液晶表示装置ＬＣＤの処理と比較すると１〜２Ｖフレーム程度先行する可能性がある。
【０４２７】
コマンドバッファの登録のやり方として、排他式単一コマンド登録方式（図６５の（エ））と排他式一括コマンド登録方式（図６５の（オ））がある。
【０４２８】
「排他式」とは、コマンドバッファのオーバーフロー時の対応において、書き込みとして準備されたコマンドは、コマンドバッファに記録されないことを示す。「一括コマンド登録」については、音響発生器（ＩＣ）に登録したいコマンドを複数一括して登録することを示す。この際、登録途中にコマンドバッファでオーバーフローが発生した場合は、その発生寸前までのデータを登録する。一括登録の場合は登録済みのデータ数を呼び出し元に返すため、次回記録時は登録済みのデータを除いて設定することができる。
【０４２９】
コマンドバッファに登録されている音響発生器（ＩＣ）へのコマンドは、基本的に無条件で音響発生器（ＩＣ）へ設定される。
【０４３０】
音響発生器（ＩＣ）の異常を検出しリセットを行った場合は、コマンドバッファに登録されているデータを復帰前に全て初期化する。これは、初期化動作中はコマンドバッファからの出力を禁止するため、残データが蓄積されることになり、復帰時に一部の音が再生されるなどの不具合に繋がる可能性があるためである。
【０４３１】
液晶表示の画面と音響について同期を取るために、前述の画像側の遅延に応じて音響処理を遅延させるようにするが、この遅延方式として、遅延量が固定である自動遅延型と、遅延量が可変である指定遅延型の２種類がある。図６６は、これらの動作説明図である。
【０４３２】
図６６の自動遅延型は２Ｖフレーム遅延させるものであり、１乃至９のコマンドはそれぞれ２つ右隣のフレームにて取り出されている。
【０４３３】
図６６の指定遅延型は、コマンドの１と２、６と７、８と９について遅延が指定されていないので、それらコマンドは同じフレームにて取り出されているが、３、４と５は遅延指定が行われているので、それぞれ２つ右隣のフレームにて取り出されている。
【０４３４】
このように、コマンド設定(バッファ)書き込みに対して、自動／指定遅延型読み込みにてデータを取り出すことができる。図６６では、自動／指定遅延型のサンプルとして最短読み出しタイミングのものを記載している。「遅延指定」は指定遅延型についてのみ有効である（遅延量は２Ｖフレーム遅延）。
【０４３５】
上記の自動／指定遅延型は混在使用できないので、どちらか一方を採用する。図６６の例では２フレーム遅延を例として取り上げているが、フレーム遅延数は何フレームでも設定可能である。またｎフレーム遅延時に変化するメモリ使用量は、ｎ×４バイト(ｎ個のアドレス記憶領域のみ)であるため、遅延数が増加してもメモリへの負担は少ない。
【０４３６】
液晶表示の画面と音響について同期を取るための遅延は、自動／指定遅延型の選択と、遅延フレーム数（ｎ）を決定すれば、遅延を意識せずにコマンドバッファにコマンドを登録することで自動的に発動する（指定遅延型の場合は登録前に遅延指定を行う必要がある）。
【０４３７】
次に、図６６の遅延を実現するための処理について説明する。
【０４３８】
まず、自動遅延型の処理について、図６７乃至図６９を参照して説明を加える。
【０４３９】
図６７は、コマンドバッファに登録すべきコマンドを記憶しているコマンド記憶部（図７のデータレジスタ２０５１に相当）の記憶内容を示している。アドレス１００乃至１０８に９つのコマンドＣＭＤ１乃至ＣＭＤ９を記憶している（これは例示であり、もっと多くのコマンドを記憶することもできる）。
【０４４０】
図６８は、コマンドバッファ（図７の送信データレジスタ２０５２に相当）の構造を示している。コマンドバッファは先入れ先出しバッファ（ＦＩＦＯ）であり、Ｗ１に書き込まれたデータが、Ｗ２、Ｗ３と順番に移っていき、Ｗ３にあるコマンドが送信される（図７の送信用シフトレジスタ２０５３に送られる）。データの移るタイミングはＶフレームの切り替わりである。
【０４４１】
図６９は、図６６の自動遅延型のコマンド１、２（ＣＭＤ１、ＣＭＤ２）の遅延の様子を示す。
【０４４２】
図６９（ａ）は、図６６の１Ｖフレーム目でＣＭＤ１、ＣＭＤ２がコマンドバッファのＷ１に書き込まれた状態を示す。
【０４４３】
図６９（ｂ）は、図６６の２Ｖフレーム目でＣＭＤ１、ＣＭＤ２がＷ２に移動した状態を示す。
【０４４４】
図６９（ｃ）は、図６６の３Ｖフレーム目でＣＭＤ１、ＣＭＤ２がＷ３に移動し、送信されることを示す。
【０４４５】
以上のように、コマンドは自動的に２フレーム遅延して送信される。遅延の数はコマンドバッファの段数（Ｗ１乃至Ｗ３）に関係する。段数をひとつ増やして４つにすれば３フレーム遅延するようになり、段数をひとつ減らすと１フレーム遅延するようになる。
【０４４６】
次に、指定遅延型の処理について、図７０及び図７１を参照して説明を加える。
【０４４７】
指定遅延型では、図６８の多段バッファにコマンドを書き込む代わりに、コマンド記憶部のアドレスを指定して読み出すようにしている。図７０は、そのための読み出しテーブル（コマンドバッファに相当）の例を示す。同テーブルは上から順に（Ｗ１からＷ５の順番で）取り出され、これにしたがってコマンドが読み出される。同テーブルに記憶されているものはコマンド記憶部のアドレスである。Ｗ１は「１０１」であるが、これは１０１より若いアドレスのコマンドで未だ読み出されていないものを読み出すことを指示するものである。したがって、ＣＭＤ１とＣＭＤ２が読み出される。同様に、Ｗ２「１０２」によりＣＭＤ３が読み出される。
【０４４８】
読み出しテーブルのＷ１乃至Ｗ５のどのデータ（アドレス）を取り出すかは、キュー（queue）で指定する。キューは、読み出しテーブルの例えばＷ１を取り出した後、自動的にＷ２に移るが、そのタイミングは遅延指定に従う。すなわち、遅延指定＝０フレームであれば直ちに読み出しテーブルの次のデータに移動するが、遅延指定＝１フレーム、２フレームであれば、それぞれ１フレーム、２フレーム後に読み出しテーブルの次のデータに移動する。
【０４４９】
キューを用いた読み出しテーブルからのデータ取得と、コマンド送信について図７１を参照して説明を加える。
【０４５０】
図７１（ａ）は、コマンド送信を開始するために、読み出しテーブルの最初のデータＷ１にキューが位置している状態を示す。Ｗ１のアドレス＝１０１であるので、自動遅延型の場合と同じように、図６７のＣＭＤ１とＣＭＤ２が読み出される。そして、直ちに送信される。これは、図６６の指定遅延型において、１Ｖフレーム目でＣＭＤ１、ＣＭＤ２が設定されるとともに、当該フレームでＣＭＤ１、ＣＭＤ２が送信されることに相当する。
【０４５１】
図７１（ｂ）は、図６６の２Ｖフレーム目で２フレームの指定遅延を受け、この指定遅延のフレームである４Ｖフレーム目において、次のデータＷ２にキューが位置している状態を示す。これによりＣＭＤ３が読み出され、４Ｖフレーム目で送信される。
【０４５２】
図７１（ｃ）は、図６６の３Ｖフレーム目で２フレームの指定遅延を受け、この指定遅延のフレームである５Ｖフレーム目において、次のデータＷ３にキューが位置している状態を示す。これによりＣＭＤ４乃至ＣＭＤ６が読み出され、５Ｖフレーム目で送信される。次のＷ４については指定遅延がないので、キューは直ちにＷ４に移動し、ＣＭＤ７が読み出され、送信される。図６６の例ではＣＭＤ７は５Ｖフレーム目で送信されている。
【０４５３】
図７１（ｄ）は、次のＷ５については指定遅延がないので、キューは直ちにＷ５に移動し、ＣＭＤ８及びＣＭＤ９が読み出され、送信される。図６６の例ではＣＭＤ８及びＣＭＤ９は６Ｖフレーム目で送信されている。
【０４５４】
以上のように、指定遅延型においてコマンドは指定されたタイミングで送信される。
【０４５５】
図７２は、指定遅延型の送信制御部のブロック図を示す。
【０４５６】
２３００は、図６７に示すようなアドレスごとにコマンドが記憶されているコマンド記憶部である。
【０４５７】
２３０１は、コマンドの登録要求に応じてコマンドを読み出すとともに、遅延指定に従って読み出すタイミングを設定する読出制御部である。読出制御部２３０１は、図７０のようなテーブルを内部に持ち、コマンド読出部２３０２に対してどのコマンドを読み出すかをアドレスで指定するものである。また、読出制御部２３０１は、その指定（キュー）を出力するタイミングを遅延指定に従って設定する。
【０４５８】
２３０２は、読出制御部２３０１からの指示に基づきコマンドを読み出して送信部（図７の送信用シフトレジスタ２０５３）に渡すものである。読出制御部２３０１の動作については、図７１を参照して既に説明した。
【０４５９】
この本実施の形態によれば、先入れ先出しバッファにコマンド（音声データ）を書き込むのではなく、コマンドが格納されているアドレスを書き込み、これによる制御を、キューを用いて実現している。バッファを用いないので遅延量を任意に指定することができ、柔軟な制御を実現できる。
【０４６０】
<電断処理>
ところで、処理部であるＣＰＵは電源断において、予め定められた電源断予告信号の入力を契機として電源断退避処理を実行する。この処理は、電源断でもデータが失われないメモリに保存されているデータのチェックサムを求める処理を含むものである。
【０４６１】
ＣＰＵは、電源投入後のリセット信号の入力によりプログラム実行番地を所定番地とし、各種初期設定と共に、電源断でもデータが失われないメモリに保存されているデータを読みだして通常使用するワークメモリ上に展開するといった初期化処理を行う。上記電源断退避処理と初期化処理の２つの動作により、電源オフ前の状態のバックアップとこれに基づく電源オン後の復帰が実現される。つまり、スロットマシン１００の電源を投入すると電源断時の状態に戻るのである。
【０４６２】
図７３は、サブ基板２０と電源部ＰＳの関係を示すブロック図である。なお、メイン基板１０についても同様である。
【０４６３】
ＰＳは、交流電源（例えばＡＣ２４Ｖ）を受けて直流電源を生成する電源部である。
【０４６４】
サブ基板２０で実行される遊技に係る処理は、ＲＯＭに予め記憶されたプログラムに従ってＣＰＵが動作することで実行される。ＣＰＵは、処理を行う際に各種データを第１メモリＭ１に記憶させ、必要に応じて読み出し、処理を行い、必要に応じて再度記憶する、といった処理を行う。また、第２メモリＭ２は、バックアップ電源ＢＡＫによりバッテリバックアップを受けているので、電源断の間でもその記憶内容は保持されている。バックアップ電源ＢＡＫは、例えば、充電可能な二次電池である。
【０４６５】
第１メモリＭ１は、アクセス速度が第２メモリＭ２よりも高いが、電源断時にデータのバックアップが行われていないメモリ（ワークメモリ）である。第２メモリＭ２は、バックアップが可能なメモリ（バックアップ用メモリ）である。
【０４６６】
通常の処理（電源断時の処理以外の処理）では、基本的に第１メモリＭ１が使用される。
【０４６７】
予め定められたタイミングで、第１メモリＭ１のデータのうち予め定められたものが第２メモリＭ２へ転送される。この例を以下に列挙する。
・公知の設定処理中は第１メモリＭ１にデータを保存し、その設定が確定したときに第１メモリＭ１から第２メモリＭ２へデータを転送する。
・サブ基板２０がメイン基板１０から所定のコマンドを受信したときに、これに対応する特定のデータを第１メモリＭ１から第２メモリＭ２へ転送する。
・電源投入時に予め定められたデータを第１メモリＭ１から第２メモリＭ２へ転送する。
【０４６８】
なお、第２メモリＭ２には、他にも、バックアップフラグ、ＲＡＭチェックサム、不正行為に関するフラグ（不正リセットフラグなど）が記憶されることもある。
【０４６９】
電源スイッチＰＳＷがオンからオフにされると、電源部ＰＳから電源断予告信号が出力される。この信号はＣＰＵに対して、例えば割り込みをかけるものである。
【０４７０】
電源スイッチＰＳＷがオンからオフにされても電源電圧はすぐには低下せず、電源スイッチＰＳＷのオフからしばらく時間が経ってから電源電圧がゼロになる。したがって、ＣＰＵは電源断信号を受けてから電圧低下により動作を停止するまでの間に、一定の処理を行うことができる。
【０４７１】
例えば、電源オンのとき電源断予告信号はＨレベルであるが、それがＨレベルからＬレベルに変わると電源断を意味する。ＡＣ入力をオフにすると直流電圧がオフになるが、電源部ＰＳや各回路に設けられているコンデンサ等の部品のために即時に電圧がゼロになることはない。例えば、電源電圧が一定値以下になると（例えばＤＣ２４Ｖ出力が１８Ｖまで低下すると）、電源断予告信号がＬレベルに変わる（それからＤＣ５Ｖがオフになるまでにはさらに時間がかかる）。
【０４７２】
電源断予告信号を発生する回路として、電圧比較器（コンパレータ）を用いることができる。所望の電圧（例えば１８Ｖ）の電池を用意しておき、この電圧とＤＣ２４Ｖの電源電圧を比較することで電源断予告信号を発生させることができる。この種の回路は公知であるので、詳しく説明しない。電源電圧を監視するための市販の専用ＩＣもあるので、それを用いることもできる。
【０４７３】
あるいは、電源スイッチＰＳＷと連動するスイッチ（あるいは接点）を用いて電源断予告信号を発生するようにしてもよい。
【０４７４】
スロットマシン１００は、図示しないが、電源投入を検知する電源投入検知部を備える。これは、例えば電源スイッチのオンを検知する装置（電源スイッチと連動するスイッチあるいは接点）である。電源断予告信号と同様に電圧比較器（コンパレータ）を用いて電源投入を検知することもできる。あるいは、電源電圧を監視するための市販の専用ＩＣを使用してもよい。
【０４７５】
<電断発生時の複数の処理の優先順位の変更>
以下の説明では、電源断を「電断」と記し、電源断退避処理を「電断処理」と記すことにする。
【０４７６】
ところで、最近のサブ基板２０ではひとつのＣＰＵが同時に複数の処理を実行するマルチプロセス方式が採用されるようになっている。複数の処理が同時に実行されているときの電断処理は、ひとつの処理の電断処理とは異なり、全部の処理が終了するのを待たなければならない。しかし、上述のように電断処理（バックアップ）を行える時間は限られているから、全部の処理の終了を待っていると電断処理が間に合わなくなることもある。電断処理を優先するために、実行されている処理を強制的に処理することもありえるが、すると打ち切られた処理が不完全となり、不具合の原因になりかねない。このため、マルチプロセス方式を採用しているサブ基板２０においては、従来のスロットマシン１００とは異なる電断処理を行う必要がある。
【０４７７】
マルチプロセス方式における電断処理の原理について、図７４乃至図７６を参照しつつ説明を加える。
【０４７８】
例えば、優先度の高い順に処理Ａ、処理Ｂ、・・・、処理Ｚとあり、その中で処理Ｂ、処理Ｃがバックアップ対象データへのアクセスを行うとする（図７４）。
【０４７９】
ここで、処理Ｂ、処理Ｃにおいてバックアップ対象データへのアクセス中に電断が発生した場合、早急に処理を終了させて電断処理へ移行する必要があるが、アクセス終了前に処理Ｂ、処理Ｃより優先度の高い処理Ａが割り込んだ場合、電断処理移行に遅延が発生する。
【０４８０】
そこで、電断発生時にバックアップ対象データへのアクセスを行わない処理を一番低い優先度に変更する。例えば、処理Ｂと処理Ｃ以外の処理Ａ、・・・、処理Ｚの優先度を低くする（図７５）。優先度を低くするとは、バックアップ対象データへアクセスしている処理Ｂと処理Ｃの優先度のうちで低い方の優先度よりも、処理Ａ、・・・、処理Ｚの優先度を下げるということであるが、簡単には最低の優先度（処理Ｚの優先度）に設定するようにしてもよい。また、処理Ａ、・・・、処理Ｚが電断発生以降まったく必要のないものであれば、それら処理を休止状態にしても構わない（これも優先度を低くすることに含まれる）。これにより、処理Ｂと処理Ｃというバックアップ対象データへアクセスを行う処理が、当該アクセスを行わない処理Ａ、・・・、処理Ｚによって中断されることがなくなる。
【０４８１】
バックアップ対象データへのアクセスを行う処理（処理Ｂと処理Ｃ）を監視し、アクセス中でない、もしくはアクセスが終了した時点で一番低い優先度に変更、もしくは休止状態にする。例えば、アクセスが終了した処理Ｂを休止状態にする（図７６）。これによりバックアップ対象データへのアクセスが再度発生することがなくなり、電断処理への移行に際して遅延が発生することがなくなる。
【０４８２】
そして、アクセス中の処理が無くなった時点（処理Ｃのアクセスが終了した時点）で電断処理へと移行する。
【０４８３】
なお、アクセス中の電断を確実に禁止するために電断禁止フラグをセットするようにしてもよい。電断禁止フラグは、ＣＰＵが電断処理を開始する際に参照されるフラグであり、これがセットされているときは電断処理が開始されることがない（例えば、所定時間待機し、その後再びフラグをチェックすることが繰り返される）。電断禁止フラグは、例えば電源断予告信号によりセットされ、バックアップ対象データへのアクセスの可能性がなくなったときにリセットされる（例えば、後述する図７８のＳ１１５でＹＥＳとなったときにリセットされる）。
【０４８４】
図７７は、上記処理を行うためのスロットマシン１００のブロック図（電断処理関係の部分のみを示す）である。同図の各ユニットはＣＰＵが所定のプログラムを実行することで実現される機能ユニットである（ＩＣなどのハードウエアであるバックアップ対象メモリを除く）。例えば、処理Ａ、・・・、処理Ｚは複数の処理部（ＣＰＵ）を意味するのではなく、ひとつのＣＰＵで実現されるマルチプロセス処理のひとつひとつを機能的に表現したものである。なお、これらユニットの一部又は全部をハードウエアで構成することもできる。
【０４８５】
２４００は、遊技に係るデータ（当選判定・入賞判定に関するフラグ）及び／又は前記演出に係るデータ（演出に関するフラグなど）を記憶するメモリである。このメモリ２４００の内容がバックアップ対象となるので、「バックアップ対象メモリ２４００」と表記している。他のデータを記憶するメモリ（ＲＯＭ、ＲＡＭ）が存在するが、それらについての表示は省略する。
【０４８６】
２４０１は、電断の際に、バックアップ対象メモリ２４００のデータ（各種フラグなど）についてバックアップを行う電断処理部である。電断処理部２４０１の処理内容は公知であるので、その説明は省略する。
【０４８７】
２４０２は、複数の処理Ａ、・・・、処理Ｚについての優先度を変更する優先度変更部２４０２ａと、複数の処理Ａ、・・・、処理Ｚの実行状態を監視する処理実行状態監視部２４０２ｂとを含み、複数の処理のうちの予め定められた処理Ａ、・・・、処理Ｚ（図７４乃至図７６の例では処理Ｂと処理Ｃ）の実行が終了した後に、電断処理部２４０１にバックアップを開始させる電断前置処理部である。
【０４８８】
２４０３は、電源部ＰＳからの予め定められた信号（電断予告信号）に基づき電断前置処理部２４０２に処理を開始させる電断処理起動部である。
【０４８９】
電断前置処理部２４０２の処理実行状態監視部２４０２ｂは、電断処理起動部２４０３からの信号に基づき複数の処理Ａ、・・・、処理Ｚの実行状態を調べ、これら複数の処理を、バックアップの対象となっているデータにアクセスしている処理（以下「第１処理」、図７４乃至図７６の処理Ｂと処理Ｃ）と、当該データにアクセスしていない処理（以下「第２処理」、処理Ｂと処理Ｃ以外の処理）とに区別する。
【０４９０】
優先度変更部２４０２ａにより、第２処理の優先度を第１処理の優先度よりも低く設定する（「低く」の意義については前述した）。
【０４９１】
処理実行状態監視部２４０２ｂは、第１処理を監視してその実行が終了したかどうか調べ、終了したときに電断処理部２４０１にバックアップを行わせる。第１処理が複数の処理を含むとき（図７４乃至図７６の処理Ｂと処理Ｃ）、第１処理の一部の処理（処理Ｂ）が終了したときに当該一部の処理の優先度を、残りの第１処理（処理Ｃ）の優先度よりも低くし、第１処理の全部の実行が終了したときに、電断処理部２４０１にバックアップを行わせる。
【０４９２】
優先度変更部２４０２ａは、図７９に示すようなマルチプロセス処理に係る複数の処理Ａ、・・・、処理Ｚそれぞれについて予め定められた優先度を保持する優先度テーブルを含む。第２処理の優先度を第１処理の優先度よりも低く設定するときに、例えば、予め定められた優先度のうちで最も低いものに設定する（処理Ｚの２６よりも低い値＝２７）。こうすることで、もし処理Ｚが第１処理の場合にはこれが優先されるようにできる。図７９において、数値の小さいものほど優先度が高いとする。優先度＝１の処理は最も優先して実行される。
【０４９３】
図７８は、図７７の装置の処理フローチャートを示す。この処理は、電断処理起動部２４０３により起動される。
Ｓ１１０：処理実行状態監視部２４０２ｂが、バックアップ対象メモリ２４００にアクセスを行っている処理（第１処理）と、アクセスを行っていない処理（第２処理）とを区別して認識する。
【０４９４】
図７４乃至図７６の例では、第１処理＝処理Ｂ、処理Ｃ、第２処理＝処理Ａ、処理Ｚなど、である。バックアップ対象メモリ２４００にアクセス中の処理Ｂ、処理Ｃは、電断予告信号が発生したとしても直ちに処理を打ち切ることができない。処理を打ち切るとバックアップすべきデータ（フラグ）が正しく生成されない。
Ｓ１１１：処理実行状態監視部２４０２ｂの監視結果に基づき、優先度変更部２４０２ａが第２処理の優先度を最も低くする。
【０４９５】
優先度変更部２４０２ａは、予め図７９（ａ）に示すような優先度テーブルを備えている。これを、同図（ｂ）のように、第２処理（処理Ｂ、処理Ｃ以外の処理）の優先度を低く（この例では最低の２７）設定する。こうすることで、図７５に示すように、処理Ｂ、処理Ｃ以外の処理の実行を抑制できる。
Ｓ１１２：処理実行状態監視部２４０２ｂが、第１処理によるアクセス状況を監視する。
Ｓ１１３：第１処理のいずれかによるバックアップ対象メモリ２４００へのアクセスが終了したら（ＹＥＳ）、Ｓ１１４に進む。
Ｓ１１４：アクセスを終了した第１処理について、優先度変更部２４０２ａが優先度を最も低くする。
【０４９６】
図７９（ｃ）の例では、処理Ｂの優先度＝２７としている。図７６に示すように、処理Ｂについてこれ以降の処理の実行を抑制できる。
Ｓ１１５：全ての第１処理（処理Ｂ、処理Ｃ）について処理が終了したら（ＹＥＳ）、電断処理を開始し（Ｓ１１６）、残っている第１処理があれば、Ｓ１１３乃至Ｓ１１５を繰り返す。
【０４９７】
従来のスロットマシン１００において、電断発生時、バックアップ対象となるデータの処理中であれば、処理終了まで電断処理を遅延させるようにしていた。これに対し、複数の処理が同時に動作するマルチプロセス環境下において従来と同様の処理を行うようにすると、バックアップ対象となるデータを扱わないが、より優先度が高い処理が割り込むことがあり、これが遅延時間の増大を招き、安定した電断処理を行うことができなくなる。これに対し、本実施の形態によれば、遅延時間の増大を極力押さえ、安定した電断処理を行うことができるようになる。
【０４９８】
すなわち、本実施の形態によれば、電断発生を検知すると、バックアップ対象となるデータにアクセスしない処理を低い優先度もしくは休止状態へ変更するとともに、バックアップ対象となるデータにアクセスする処理についても監視を行い、データヘのアクセスを行っていない安全なタイミングにおいて当該処理を低い優先度もしくは休止状態へ変更する。これによりバックアップ対象となるデータに関する処理を速やかに終了させ、当該データを電断処理へ遅延なく渡すことができ、安定した電断処理が実現できる。なお、安全なタイミングとは、バックアップすべきデータを正しく生成でき、当該データを電断処理へ渡しても支障のない時点のことである。安全なタイミング以外で処理を打ち切ると生成されたデータに矛盾が生じるなど不具合が生じるおそれがある。これにより、バックアップにかかる時間を最小限に抑え、安定した電断処理を行うことができる。
【０４９９】
<電断処理中の電圧回復時における処理の中断リセット（瞬断対策）>
マルチプロセス処理において、その並列処理を実現するために所定間隔（例えば５１２μｓごとに）タイマ割り込みを行っており各処理（プロセス）はタイマを契機に起動される。この点は電断退避処理も同様である。
【０５００】
マルチプロセス処理における電断退避処理の動作は概ね次のようになる。電源断予告信号（あるいは電源電圧低下を示す信号）により特定の割り込み（ＮＭＩ）が発生し、これに対応する処理により電源断フラグ（電断フラグ）がセットされる。タイマ割り込みにより電断退避処理が起動され、上記のような所定の処理が行われる。そして、前記電断退避処理を完了した後、ＣＰＵは待機状態（無限ループ状態）になり、そこで電源が完全にオフになることで動作を停止する。
【０５０１】
電断退避処理において、例えば、ノイズなどの原因により電源電圧が一時的に低下し電源断予告信号が発生したものの、その後電源電圧が復帰したような場合（これは瞬断と呼ばれる）についても対応できる必要がある。具体的には、電断退避処理を完了した後、ＣＰＵは待機状態にあり、そこから復帰できなくなることを避ける必要がある。
【０５０２】
なお、マルチプロセス処理でない従来のスロットマシンでは、電源断予告信号に基づく割り込みにより電源断退避処理を行っており、電源が復帰した際には同様の割り込み処理で復帰することができる。これに対し、マルチプロセス処理においてタイマ割り込みにより各処理が起動されるので、瞬断に対する特別な対策が必要である。
【０５０３】
また、マルチプロセス処理において、電源断退避処理の後に、電源断退避処理直前の処理に戻すためには複雑な手順を必要とし、実際上そのような処理は困難である。
【０５０４】
図８０は、マルチプロセス処理下においていわゆる瞬断が発生したときでもスロットマシン１００を動作状態に復帰させるための装置のブロック図を示す。
【０５０５】
なお、電断処理部２４０１、２４０２は、図７７の電断処理部２４０１と電断前置処理部２４０２に相当する。図面を見やすくするために図８０において２４０１と２４０２をひとつのブロックとして示している。「電断前置処理部」の表記は省略しているが、図８０の装置の処理において電断処理部２４０１と電断前置処理部２４０２を一体として扱って支障はない。電断処理起動部２４０３は、図７７に示されたものと同じものである。
【０５０６】
２５００は、電断処理起動部２４０３によりセット／リセットされる電断フラグ記憶部である。電断フラグは、例えば電源電圧が低下したときセットされ、電源電圧が復帰したときリセットされる。あるいは、電源スイッチがオフになったときセットされ、電源スイッチがオンになったときリセットされる。
【０５０７】
２５０１は、所定間隔（例えば５１２μｓごとに）で複数の処理の実行の契機となる割り込み信号を出力する割り込みタイマーである。割り込みタイマー２５０１により起動される処理は複数あるが、簡単のため同図では電断処理部２４０１、２４０２のみを示している。
【０５０８】
２５０２は、予め定められた動作が行われていないときにリセット信号を出力するウォッチドッグタイマーである。
【０５０９】
ウォッチドッグタイマー (watchdog timer) は、コンピュータの異常動作（ハングアップ、フリーズなど）を検知する装置である。プログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作が行なわれなかった（タイムアウト）場合に、例外処理が実行される。例外処理は、ハングアップしたシステムを正常動作に戻すことを目的としてシステムをリセットする場合が多いが、電源切断によりシステムを強制停止させるものや電源を切断した後に再投入するものもある。
【０５１０】
例えば、ＣＰＵは動作中に常にカウント動作を行っており、ウォッチドッグ操作は当該カウンタを一定周期でクリアする（リセットする）処理である。何らかの理由でカウンタがリセットされず所定値に達したとき（オーバーフローなど）、リセット処理（例外処理）が行われるようになっている。
【０５１１】
２５０３は、前記カウンタをリセットするウォッチドッグタイマクリア部である。
【０５１２】
電断処理部２４０１、２４０２は、割り込みタイマー２５０１の出力に基づき電断フラグを調べ、これがセットされているときに、バックアップを行うとともに、バックアップを完了した後に、電断フラグを調べ、電断フラグがセットされているときはウォッチドッグタイマー２５０２をリセットし、電断フラグがセットされていないときはリセットを行わない。
【０５１３】
図８１は、図８０の装置のフローチャートである。この図は瞬断対策処理の部分のみを示している。
【０５１４】
図８２及び図８３は、図８０の装置の動作説明図（タイミングチャート）である。
【０５１５】
以下、図８１乃至図８３を参照して、図８０の装置の動作について説明を加える。
【０５１６】
図８２（ａ）は、瞬断がなく正常に電源断が行われるケースを示す。
【０５１７】
電源スイッチオフにより電圧が低下すると、時刻ｔ１において電断処理起動部２４０３により電断フラグがセットされる。
【０５１８】
割り込みタイマー２５０１により時刻ｔ２において電断処理部２４０１、２４０２が起動され、電断処理が開始される。この処理は時刻ｔ３で完了する。その後、動作停止まで待機状態となる。
【０５１９】
すなわち、電断フラグを調べる（図８１のＳ１２１）。図８２（ａ）では電圧が低下し続けているから電断フラグはセットされたままである（ＮＯ）。ウォッチドッグタイマー２５０２がクリアされる（Ｓ１２２）。このためウォッチドッグタイマー２５０２によるリセットは行われない。
【０５２０】
Ｓ１２１でＮＯ、Ｓ１２２の処理が繰り返されているうちに、時刻ｔ４で電圧が十分に低下してＣＰＵの動作が停止する。
【０５２１】
図８２（ｂ）は、ごく短い瞬断（例えば割り込みタイマー２５０１の周期よりも短い）が生じたケースを示す。
【０５２２】
ノイズ等により時刻ｔ５で電圧が低下したが、すぐに時刻ｔ６で電圧が復帰している。時刻ｔ５で電断フラグがセットされるが、時刻ｔ６でリセットされている。時刻ｔ５からｔ６の間でタイマー割り込みが発生していないので電断処理部２４０１、２４０２は起動しない。
【０５２３】
図８３は、電断処理部２４０１、２４０２が起動する程度に長い瞬断が生じたケースを示す。同図（ａ）は電断処理を完了するために要する時間よりも瞬断が長いケースであり、同図（ｂ）はそれよりも短いケースを示す。
【０５２４】
図８３（ａ）において、何らかの原因により電圧が低下すると、時刻ｔ１において電断処理起動部２４０３により電断フラグがセットされる。
【０５２５】
割り込みタイマー２５０１により時刻ｔ２において電断処理部２４０１、２４０２が起動され、電断処理が開始される。この処理は時刻ｔ３で完了する。その後、Ｓ１２１のＮＯ、Ｓ１２２による待機状態となる。
【０５２６】
何らかの理由により電圧が復帰すると、時刻ｔ１でセットされた電断フラグが、時刻ｔ７でリセットされている。これを受けて、時刻ｔ８以降においてＳ１２１でＹＥＳとなり、無限ループとなる。Ｓ１２２によるウォッチドッグタイマー２５０２のリセットは行われない。
【０５２７】
このため時刻ｔ９においてウォッチドッグリセットが行われ、ＣＰＵは再起動され、通常処理を行うようになる。
【０５２８】
図８３（ｂ）においても同様に、電断フラグが時刻ｔ７’でリセットされ、時刻ｔ８’以降においてＳ１２１でＹＥＳとなり、無限ループとなる。Ｓ１２２によるウォッチドッグタイマー２５０２のリセットは行われないから、時刻ｔ９’においてウォッチドッグリセットが行われ、ＣＰＵは再起動され、通常処理を行うようになる。
【０５２９】
以上のように、本実施の形態によれば、電断処理部２４０１、２４０２が、バックアップを完了した後に電断フラグを調べ、当該電断フラグがセットされているときはウォッチドッグタイマー２５０２をリセットし、当該電断フラグがセットされていないときはリセットしないので、瞬断によりバックアップを行ったときでも電源復帰後に自動的にリセットを行うことができる。したがって、スロットマシン１００のハングアップ、フリーズを避けることができ、スロットマシン１００の手動の電源オンオフという面倒な作業を行わなくて済む。
【０５３０】
本実施の形態によれば、マルチプロセス処理下においていわゆる瞬断が発生したときでもスロットマシン１００を動作状態に復帰させることができる。
【０５３１】
図８４及び図８５は比較例である。これらはウォッチドッグタイマー２５０２とウォッチドッグタイマクリア部２５０３を備えていない。
【０５３２】
この比較例では、電断処理（バックアップ）までは同じであるが、その後待機状態（無限ループ状態）となる。何らかの理由により電圧が復帰すると、電断フラグが、時刻ｔ７でリセットされるが、無限ループ状態になっていてリセットされない。このためハングアップ、フリーズが生じてしまう。
【０５３３】
<電断発生時における処理の抑制>
他の実施形態について説明を加える。
【０５３４】
図８６は、この本実施の形態に係るブロック図を示す。同図は、図７７に対応するものであり、同一又は相当部分については同一符号を付し、その説明は省略する。
【０５３５】
処理実行状態監視部２４０２ｂが監視対象としているのは、外部のデバイスと通信を行う処理（以下「通信処理」）である。図８６においては便宜上、処理Ａと処理Ｂが該当するものとする。外部のデバイスとは、液晶制御基板２００、スピーカ基板２０１、ＬＥＤ基板２０２、可動体制御部６０などである。
【０５３６】
前記通信処理は、サブ基板２０から周辺基板（デバイス）へ信号を送り制御するとともに、当該周辺基板からそのステータス情報を受信するといった処理を行う。電断発生時、バックアップ対象となる処理が通信中あるいは通信を開始しようとしていた場合には、通信内容を取りこぼすおそれがあり、このためデータのバックアップを正常に行うことができず、電断退避処理が不完全になるおそれがある。これでは電源再投入後の動作に瑕疵が生じてしまう。そこで、以下に説明する装置構成・処理手順により、通信中あるいは通信を開始しようとしている処理についても電断退避処理を適切に行い、電源再投入後の動作を正常に行えるようにする。
【０５３７】
２４０２ｃは、通信処理について予め定められたタイムラグを設定するタイムラグ設定部である。タイムラグとは、通信処理が通信を開始しようとしてから実際に通信を開始するまでに要する時間である。図８６の例では、処理Ａ、処理Ｂが通信を開始しようとして通信プロトコルを開始してから電断抑制フラグをセットするまでの時間である。タイムラグをセットすることにより、通信開始直後に電断退避処理を行い、通信データの取りこぼしを防止できる。
【０５３８】
２４０２ｄは、通信処理についてのバックアップを行う時間が不足したことを示すタイムアウトエラーフラグを記憶するタイムアウトエラーフラグ記憶部である。
【０５３９】
電源断信号を受けてから電圧低下により動作を停止するまでの間にＣＰＵが行う処理は次のものである。
（処理１）現在実行中の処理を中止するか、又は、その処理の終了を待つ。
（処理２）通常の処理に代えて、電源断退避処理を実行する。
【０５４０】
（処理１）と（処理２）の合計時間は、「電源断信号を受けてから電圧低下により動作を停止するまでの時間」よりも短くなければならない。
【０５４１】
タイムアウトエラーフラグは、（処理１）が長くなりすぎたため、（処理１）と（処理２）の合計時間は、「電源断信号を受けてから電圧低下により動作を停止するまでの時間」よりも長くなったこと、このためバックアップが不完全である可能性を示すものである。タイムアウトエラーフラグに関する処理については後述する。
【０５４２】
２６００ａ、２６００ｂは、通信処理を行っているので電断処理を禁止（抑制）するための電断抑制フラグを記憶する電断抑制フラグ記憶部である。処理Ａ、処理Ｂが通信を開始した後に電断抑制フラグはセットされる。通信処理の開始から電断抑制フラグのセットまでには若干の時間遅延があるが、これは前記タイムラグよりも短い。言い換えれば、前記タイムラグは前記時間遅延の最大値以上になるように設定されている。
【０５４３】
図８７は、図８６の装置のフローチャートである。この図は通信処理対策の部分のみを示している。
【０５４４】
図８８乃至図９０は、図８７の装置の動作説明図（タイミングチャート）である。
【０５４５】
以下、図８７乃至図９０を参照して、図８７の装置の動作について説明を加える。
【０５４６】
図８８は、電断処理起動部２４０３の出力に基づき電断フラグがセットされた時点において、通信が行われていなかったケース（電断抑制フラグがセットされていなかったケース）を示す。
【０５４７】
電源スイッチオフにより電圧が低下すると、時刻ｔ１において電断処理起動部２４０３により電断フラグがセットされる。
【０５４８】
タイムラグ設定部２４０２ｃによりタイムラグが設定され（図８７のＳ１３０）、予め定められた時間経過後（Ｓ１３１でＮＯ）、時刻ｔ２において電断処理部２４０１が起動され、電断処理が開始される（Ｓ１３２でＮＯ、Ｓ１１６）。この処理は時刻ｔ３で完了する。その後、動作停止まで待機状態となる。なお、電断処理Ｓ１１６については前述の説明を参照されたい。
【０５４９】
図８９は、電断処理起動部２４０３の出力に基づき電断フラグがセットされた時点において、通信が行われていたケース（電断抑制フラグがセットされていたケース）であって、電断抑制時間が長すぎてタイムアウトが生じ、タイムアウトエラーフラグが設定されたケースを示す。
【０５５０】
図８９では、上述の（処理１）が長くなりすぎたため、（処理１）と（処理２）の合計時間が「電源断信号を受けてから電圧低下により動作を停止するまでの時間」よりも長くなり、このためバックアップが不完全になされる可能性がある。
【０５５１】
電源スイッチオフにより電圧が低下すると、時刻ｔ１において電断処理起動部２４０３により電断フラグがセットされる。同時に、電断前置処理部２４０２は、図示しないカウンタにより計時を開始する。
【０５５２】
タイムラグ設定部２４０２ｃによりタイムラグが設定され（図８７のＳ１３０）、予め定められた時間経過後（Ｓ１３１でＮＯ）、時刻ｔ２において電断フラグを調べる。電断フラグがセットされているので（Ｓ１３２でＹＥＳ）、電断処理部２４０１を起動する代わりにタイムアウト計測（Ｓ１３３）及びタイムアウト発生の判定（Ｓ１３４）を行う。タイムアウト発生まで、Ｓ１３２、Ｓ１３３、Ｓ１３４の処理が繰り返される。
【０５５３】
予め定められた時間ΔＴが経過した時刻ｔ１０になると、タイムアウトとなり（Ｓ１３４でＹＥＳ）、タイムアウトエラーフラグがセットされる（Ｓ１３５）。時間ΔＴは、上述の（処理１）と（処理２）の合計時間が「電源断信号を受けてから電圧低下により動作を停止するまでの時間」と等しいか、若干短くなるように設定される。例えば、ΔＴ≦（電源断信号を受けてから電圧低下により動作を停止するまでの時間）−（電断処理に要する時間）である。
【０５５４】
タイムアウトエラーフラグのセット後に電断処理が開始される（Ｓ１１６）。この処理は時刻ｔ３で完了する。その後、動作停止まで待機状態となる。
【０５５５】
図８９のケースでは、通信中にもかかわらず電断処理が開始されている。したがって、当該通信処理に係る通信内容を取りこぼすおそれがある。タイムアウトエラーフラグはこのことを警告するものである。なお、電断処理自体は正常に行われるので電源再投入後の復帰動作には問題はない。ただ当該通信処理については途中であった通信を再度最初から行うようにすることが望ましい。
【０５５６】
図９０は、電断処理起動部２４０３の出力に基づき電断フラグがセットされた時点において、通信が行われていたケース（電断抑制フラグがセットされていたケース）であって、タイムアウトは生じず、タイムアウトエラーフラグが設定されないケースを示す。したがって、バックアップの不完全は生じない。
【０５５７】
電源スイッチオフにより電圧が低下すると、時刻ｔ１において電断処理起動部２４０３により電断フラグがセットされる。同時に、電断前置処理部２４０２は、図示しないカウンタにより計時を開始する。
【０５５８】
タイムラグ設定部２４０２ｃによりタイムラグが設定され（図８７のＳ１３０）、予め定められた時間経過後（Ｓ１３１でＮＯ）、時刻ｔ２において電断フラグを調べる。電断フラグがセットされているので（Ｓ１３２でＹＥＳ）、電断処理部２４０１を起動する代わりにタイムアウト計測（Ｓ１３３）及びタイムアウト発生の判定（Ｓ１３４）を行う。タイムアウト発生まで、Ｓ１３２、Ｓ１３３、Ｓ１３４の処理が繰り返される。
【０５５９】
予め定められた時間ΔＴが経過する前の時刻ｔ２０において電断抑制フラグがリセットされると（Ｓ１３２でＮＯ）、電断処理が開始される（Ｓ１１６）。この処理は時刻ｔ２１で完了する。その後、動作停止まで待機状態となる。
【０５６０】
図９０のケースでは、通信処理に係る通信内容を取りこぼすおそれはない。したがって、電源再投入後の復帰動作には何ら問題はない。
【０５６１】
本実施の形態によれば、電断フラグがセットされてから所定のタイムラグが経過した後に電断処理を行うので、通信に係るデータを取りこぼすことがない。通信処理を行っている間も電断処理を行わないので、やはり通信に係るデータを取りこぼすことがない。
【０５６２】
また、通信処理を行っている間に電断処理が間に合わなくなるときは、電断処理を優先して行うことによりバックアップに不具合を生じさせないようにできる。そのことを示すタイムアウトエラーフラグにより、当該通信処理に関しては再起動時に何らかの手当て（リセット、通信を最初からやり直すなど）を施すことによりその影響を軽減することができる。
【０５６３】
以上のように、本実施の形態によれば、通信中あるいは通信を開始しようとしている処理についても電源断退避処理を適切に行うことができ、電源再投入後の動作を正常に行えるようにできる。
【０５６４】
なお、以上の本実施の形態は適宜組み合わせることが可能である。図７７、図８０、図８６の装置を全て組み合わせること、あるいはそれらの一部を組み合わせることが可能である。
【０５６５】
<複数ポインタを用いた電断復帰時の再通知>
本実施の形態に係るスロットマシン１００が用いており、ひとつのＣＰＵが同時に複数の処理を実行するマルチプロセス方式においては、複数の処理（以下「タスク」）の間でコマンド、データのやり取りが行われている。このタスク間の通信を行うために「メールボックス」というものが用いられている。メールボックスとは、メモリ上に確保されたメッセージパケット（以下「メッセージ」）を受け渡すことによりタスク間の通信を行うものである。
【０５６６】
タスク間の通信は、オペレーティングシステム（ＯＳ）のカーネルを介して、ユーザーとユーザー（処理と処理）の間で行われる。カーネルとはＯＳの中核となる部分であり、システムのリソースを管理し、ハードウエアとソフトウエアのコンポーネントのやり取りを行うものである。
【０５６７】
図９１はメッセージの構造を示す。メッセージＭＥＳは、次のメッセージとのリンク情報（カーネル管理部分）（キューヘッダ）ＱＨと、メッセージ本体ＭＢとを含む。メッセージ本体ＭＢは送信元ＩＤ、本文を含む。メッセージ本体の送信元ＩＤは、メッセージの種類を示すものであり、例えばコマンド＝０、データ＝１のように予め定められている。メッセージ本体ＭＢの本文はユーザーが管理するものであり、コマンドやデータの内容をなす。本文は送信元によって型やサイズが異なる。
【０５６８】
図９２は、タスク間の通信手順の説明図である。メッセージの送受信の流れは次のようになっている。
（１）送信タスク（ユーザー層）が、所定のメッセージを図示しないメッセージバッファ（メモリ）に書き込む。図９２の例では３つのメッセージＭ１、Ｍ２、Ｍ３が用意され、メッセージバッファに書き込まれる。メッセージＭ１、Ｍ２、Ｍ３のメッセージバッファにおけるアドレスはそれぞれ０ｘ１０００、０ｘ１００４、０ｘ１００８である。コマンドの構築及び書き込み処理はタイマー割り込みにより実行される。
（２）送信タスク処理でメッセージバッファのアドレスをカーネルに送信する。同図の例では、Ｍ１、Ｍ２、Ｍ３の順番で送信する。ここで送信されるのはキューヘッダＱＨのみであり、メッセージ本体ＭＢは送信されない。
（３）受信タスク処理でカーネルがメッセージバッファのアドレスを受信タスク（ユーザー層）へ送信する。受信順序が送信順序と同じになるように、Ｍ１、Ｍ２、Ｍ３の順番で送信する。これはキューヘッダＱＨにより制御され、図に示すようにメッセージＭ１のキューヘッダＱＨにより次のメッセージＭ２が指定され、メッセージＭ２のキューヘッダＱＨにより次のメッセージＭ３が指定される。
（４）受信タスクは、カーネルから受信したアドレスに従い、メッセージバッファからメッセージ本体ＭＢを読み出し、解析を行う。例えば、アドレス＝０ｘ１０００に基づきメッセージＭ１のメッセージ本文を読み出す。メッセージ送信元ＩＤ＝０であればメッセージ本体ＭＢがコマンドであるとしてこれを解析し、メッセージ送信元ＩＤ＝１であればメッセージ本体ＭＢがデータであるとして、先に読み出されたコマンドのパラメータであるとして、両者を併せて解析する。図９２では例えば、メッセージＭ１はコマンドであり、Ｍ２とＭ３はデータである。
【０５６９】
上記手順を具体例に基づき詳しく説明する。
【０５７０】
図９３に示すように、メッセージバッファＭＢＵＦに８個のメッセージＭ１乃至Ｍ８が書き込まれるものとする。書き込みを行うための割り込み処理において、カーネルと直接送受信することはＯＳの仕様上不可能となっている。このため上記（１）の処理でカーネルヘのアドレス送信を行えず、（２）を（１）から分離している。
【０５７１】
メッセージバッファＭＢＵＦを介してメッセージ送信を行うために、本実施の形態では次の３つのポインタを使用している。
【０５７２】
・ＷＲＩＴＥポインタ
メッセージバッファＭＢＵＦ書き込み用のポインタである。タイマー割り込みでメッセージ本体ＭＢの書き込みが完了したときに更新される。更新により、上記（２）を送信完了していない先頭のメッセージを指し示す。具体的には図９３の０ｘ１０００などの先頭アドレスを示す。
【０５７３】
・ＳＥＮＤポインタ
カーネルヘのアドレス送信用のポインタである。送信タスクでカーネルにメッセージバッファＭＢＵＦのアドレスの送信を完了したときに更新される。更新により、上記（３）を完了していない先頭のメッセージを指し示す。
【０５７４】
・ＲＥＡＤポインタ
メッセージバッファＭＢＵＦのポインタである。受信タスクでカーネルから受信したアドレスに基づきメッセージバッファＭＢＵＦからメッセージ本体ＭＢを読みだしたときに更新される。更新により、上記（４）を完了していない先頭のメッセージを指し示す。
【０５７５】
図９４は、通常時（電断のないとき）の送受信処理を示すタイミングチャートである。符号Ｔ１０１乃至Ｔ１０６はそれぞれ、最初のタイマー割り込み（１）（○１）による処理完了時点、最初の送信１の完了時点、最初の受信１の完了時点（この時点で少なくともメッセージバッファＭＢＵＦからのメッセージＭ１とＭ２の読み出しは完了しているが、その解析は継続している）、タイマー割り込み（４）（○４）による処理完了時点、送信２の完了時点、受信２の完了時点を示す。タイマ割り込み、送信タスク、受信タスクの間を結ぶ矢印は、優先順位に従った処理の移行を示す。
【０５７６】
図９５は、図９４の符号Ｔ１０１乃至Ｔ１０６のタイミングにおける３つのポインタの状態を示す。なお、図９５の符号Ｔ１００は、図９４に示されていない初期状態を示す。ポインタの状態とは、当該ポインタがどのメッセージを指し示しているかについての情報であり、具体的にはメッセージバッファＭＢＵＦのアドレスである。言い換えれば、ポインタの内容はアドレスのデータである。
【０５７７】
図９４及び図９５を参照して、通常時（電断のないとき）の送受信処理を説明する。
【０５７８】
Ｔ１００：初期状態
３つのポインタ全部が最初のアドレスを示している。この状態ではＷＲＩＴＥポインタがメッセージバッファＭＢＵＦにあるのでメッセージＭ１は書き込まれていない。
【０５７９】
Ｔ１０１：タイマー割り込み
タイマー割り込みによりメインコマンドがメッセージバッファＭＢＵＦに登録される。この例では２つのメッセージＭ１とＭ２が書き込まれる。この完了時点でＷＲＩＴＥポインタはＭ２の次の０ｘ１００８を指している。残りのポインタは０ｘ１０００を指している。
【０５８０】
Ｔ１０２：送信タスク
送信タスクによりメッセージＭ１とＭ２のキューヘッダＱＨに渡される。これにともないＳＥＮＤポインタがＷＲＩＴＥポインタと同じ位置に移動する。なお、図９４に示すように処理の優先順位は、タイマー割り込み>送信タスク>受信タスクであるので、タイマー割り込み中は送信タスクが中断する（受信タスクも同様）。また、送信タスク完了後に受信タスクが開始される。
【０５８１】
Ｔ１０３：受信タスク
受信タスクはカーネルからメッセージＭ１とＭ２のアドレスの情報を受け、これに基づきメッセージバッファＭＢＵＦからメッセージＭ１とＭ２を読み出す。そしてこれらを解析する。これにともないＲＥＡＤポインタはＭ２の次の０ｘ１００８を指している。
【０５８２】
Ｔ１０４：タイマー割り込み
タイマー割り込みによりメッセージＭ３が書き込まれる。この完了時点でＷＲＩＴＥポインタはＭ３の次の０ｘ１００Ｃを指している。残りのポインタは０ｘ１００８を指すようになる。
【０５８３】
Ｔ１０５：送信タスク
送信タスクによりメッセージＭ３のキューヘッダＱＨに渡される。これにともないＳＥＮＤポインタがＷＲＩＴＥポインタと同じ位置に移動する。
【０５８４】
Ｔ１０６：受信タスク
受信タスクはカーネルからメッセージＭ３のアドレスの情報を受け、これに基づきメッセージバッファＭＢＵＦからメッセージＭ３を読み出す。そしてこれらを解析する。これにともないＲＥＡＤポインタはＭ２の次の０ｘ１００Ｃを指すようになる。
【０５８５】
以上説明した手順によりひとつのタスクから他のタスクへコマンドが送信される。
【０５８６】
もし電断対策を考慮しないのであれば、ＷＲＩＴＥポインタ、ＲＥＡＤポインタだけあればよく、ＳＥＮＤポインタは不要である。ＷＲＩＴＥポインタとＲＥＡＤポインタが不一致であるときに、ＲＥＡＤポインタをＷＲＩＴＥポインタに一致させるようにカーネルへキューヘッダＱＨを渡すとともに、受信タスクでメッセージを読み出せばよい。しかし、電断の際にコマンドの取りこぼしを発生させないようにするためには、ＳＥＮＤポインタが必要である。
【０５８７】
コマンドが電断で消滅してしまうと遊技者に不利益を与える可能性があるため、電断処理において手当する必要がある。しかし、上述のバックアップによればメモリの内容は退避させることができるものの、カーネルが保持していた「次のメッセージとのリンク情報」であるキューヘッダＱＨは失われる。電源再投入時においてキューヘッダＱＨはカーネルにより自動的に初期化されてしまう。すなわち、未読み出しコマンドがある状態で電断が生じると、一部のコマンドが読み出せなくなる。例えば、図９４のＴ１０２で電断が発生したとすると、カーネルにおけるメッセージＭ１とＭ２のキューヘッダＱＨは失われるので、電源再投入後の受信タスクでメッセージＭ１とＭ２はスキップされ、これらを読み出すことができなくなる。
【０５８８】
本実施の形態では、ＳＥＮＤポインタを用いることにより、上記のようなコマンド喪失を避けることができる。
【０５８９】
図９６は、本実施の形態に係るメッセージ送受信部のブロック図である。
【０５９０】
２７００は、送信側の処理である送信タスクである。
【０５９１】
２７０１は、受信側の処理である受信タスクである。
【０５９２】
２７０２は、送信タスク２７００から受信タスク２７０１へのコマンドの伝達に係る処理を行うカーネルである。
【０５９３】
送信タスク２７００、受信タスク２７０１、カーネル２７０２は、ＣＰＵにより実現される機能である。
【０５９４】
２７０３は、上記ＷＲＩＴＥ、ＳＥＮＤ、ＲＥＡＤポインタを記憶するポインタ（レジスタ、メモリ）である。
【０５９５】
２７０４は、電断の際に、メモリ（例えば図７７のバックアップ対象メモリ２４００）の少なくとも一部のデータについてバックアップを行う電断処理部である。
【０５９６】
２７０５は、電源投入の際に、バックアップされたデータに基づき予め定められた復帰処理を行う復帰処理部である。
【０５９７】
２７０６は、バックアップデータを保持するバックアップ（メモリ）である。これは図７３のＭ２に相当する。
【０５９８】
ＭＢＵＦは、メッセージを記憶するメッセージバッファである。この記憶内容については既に説明した。
【０５９９】
図９７は、本実施の形態に係る電断処理のフローチャートである（ポインタのバックアップ部分のみ示す）。
【０６００】
図９８は、本実施の形態に係る復帰処理のフローチャートである（ポインタの復帰処理部分のみ示す）。
【０６０１】
図９９は、電断のあるときの送受信処理を示すタイミングチャートである。符号Ｔ１１１乃至Ｔ１１６はそれぞれ、最初のタイマー割り込み（１）（○１）による処理完了時点、最初の送信１の完了時点（＝電断の直前）、電断の直後（復帰処理後）、タイマー割り込み（３）（○３）による処理完了時点、送信２の完了時点、受信１の完了時点を示す。
【０６０２】
図１００は、図９９の符号Ｔ１１１乃至Ｔ１１６のタイミングにおける３つのポインタの状態を示す。なお、図１００の符号Ｔ１１０は、図９９に示されていない初期状態を示す。
【０６０３】
図９６乃至図１００を参照して、電断のあるときの送受信処理を説明する。
【０６０４】
Ｔ１１０：初期状態
３つのポインタ全部が最初のアドレスを示している。この状態ではＷＲＩＴＥポインタがメッセージバッファＭＢＵＦにあるのでメッセージＭ１は書き込まれていない。
【０６０５】
Ｔ１１１：タイマー割り込み
送信タスク２７００が、ＷＲＩＴＥポインタに従いメッセージバッファＭＢＵＦにメッセージを書き込むとともに、ポインタ２７０３のＷＲＩＴＥポインタを動かす。図１００では、タイマー割り込みによりメインコマンドがメッセージバッファＭＢＵＦに登録される。この例では２つのメッセージＭ１とＭ２が書き込まれる。この完了時点でＷＲＩＴＥポインタはＭ２の次の０ｘ１００８を指している。残りのポインタは０ｘ１０００を指している。
【０６０６】
Ｔ１１２：送信タスク
送信タスクによりメッセージＭ１とＭ２のキューヘッダＱＨがカーネル２７０２に渡される。これにともないＳＥＮＤポインタがＷＲＩＴＥポインタと同じ位置に移動する。
【０６０７】
この時点あるいはこの直後に電断が発生し、上述の電断処理により３つのポインタＷＲＩＴＥ、ＳＥＮＤ、ＲＥＡＤがバックアップされる（図９７のＳ１４０）。
【０６０８】
Ｔ１１３：復帰処理
電源が再投入されたとき、メッセージのキューヘッダＱＨは復帰時にカーネル２７０２により自動的に初期化される。このため、上述のように未読み出しコマンド（図１００の例ではＭ１とＭ２）があるときに電断した場合は、何らかの手当を行わない限り受信タスクにてそれらコマンドを読み出せなくなる。そこで復帰処理部２７０５が図９８の処理を行う。
Ｓ１５０：ＷＲＩＴＥポインタとＲＥＡＤポインタが一致しているかどうか確認する。
【０６０９】
一致していれば（Ｓ１５０でＹＥＳ）、カーネルにてキューヘッダＱＨは失われていないから図９８の処理を抜け、他の復帰処理を行う。
【０６１０】
一致していなければ（Ｓ１５０でＮＯ）、Ｓ１５１の処理を行う。
Ｓ１５１：ＳＥＮＤポインタをＲＥＡＤポインタの位置まで戻す。
【０６１１】
不一致の場合はメッセージバッファＭＢＵＦに未読み出しコマンドがあると判断し、ＳＥＮＤポインタをＲＥＡＤポインタの位置まで戻す。
Ｓ１５２：カーネルにてキューヘッダＱＨが失われていたコマンドＭ１、Ｍ２を送信タスクから受信タスクへ再送信する。
【０６１２】
この時点でＲＥＡＤポインタとＳＥＮＤポインタは先頭の０ｘ１０００を指している。
【０６１３】
Ｔ１１４：タイマー割り込み
タイマー割り込みによりメッセージＭ３が書き込まれる。この完了時点でＷＲＩＴＥポインタはＭ３の次の０ｘ１００Ｃを指している。残りのポインタは０ｘ１０００を指したままである。
【０６１４】
Ｔ１１５：送信タスク
送信タスクによりメッセージＭ１、Ｍ２、Ｍ３のキューヘッダＱＨがカーネル２７０２に渡される。これにともないＳＥＮＤポインタがＷＲＩＴＥポインタと同じ位置に移動する。
【０６１５】
Ｔ１１６：受信タスク
受信タスク２７０１が、ＲＥＡＤポインタに従いメッセージバッファＭＢＵＦからメッセージを読み出すとともに、ポインタ２７０３のＲＥＡＤポインタを動かす。受信タスクはカーネル２７０２からメッセージＭ１、Ｍ２、Ｍ３のアドレスの情報を受け、これに基づきメッセージバッファＭＢＵＦからメッセージＭ１、Ｍ２、Ｍ３を読み出す。そしてこれらを解析する。これにともないＲＥＡＤポインタはＭ２の次の０ｘ１００Ｃを指すようになる。
【０６１６】
本実施の形態によれば、コマンドの書き込みを示すＷＲＩＴＥポインタ及びコマンドの読み出しを示すＲＥＡＤポインタとともに、送信タスクから受信タスクへのメッセージ伝達を仲介するカーネルへの送信依頼（キューヘッダＱＨ）を示すＳＥＮＤポインタを使用し、電断の際にこれら３つのポインタをバックアップし、電断復帰時においてＳＥＮＤポインタをＲＥＡＤポインタの位置に戻すことにより、電断によりカーネルにおいて失われた送信依頼を復活させることができる。したがって、電断復帰時のカーネルの自動初期化により、次のメッセージとのリンク情報であるキューヘッダＱＨが消滅しても、未読み出しコマンドのバッファアドレスを再送信するので、コマンドを取りこぼすことがなくなる。
【０６１７】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【符号の説明】
【０６１８】
ＬＣ   …ＬＥＤコントローラ
ＳＣ   …サウンドコントローラ
ＳＣ１  …音声データバッファ
ＳＣ２  …フレーズデータ記憶部
ＳＣ３  …サウンドコントロールモジュール（音声出力手段）
ＳＣ４  …音量調整部
ＳＣ５  …制御レジスタ
１０   …メイン基板
２０   …サブ基板
２０ＣＲ  …コマンド受信部
２０ＲＸ  …データ受信手段
２０ＴＸ  …データ送信手段
２０Ｕ  …演出データ処理手段
１００  …スロットマシン
２００  …液晶制御基板
２０１  …スピーカ基板
２０２  …ＬＥＤ基板
【図１】
2014140409.tif 000003
【図２】
2014140409.tif 000004
【図３】
2014140409.tif 000005
【図４】
2014140409.tif 000006
【図５】
2014140409.tif 000007
【図６】
2014140409.tif 000008
【図７】
2014140409.tif 000009
【図８】
2014140409.tif 000010
【図９】
2014140409.tif 000011
【図１０】
2014140409.tif 000012
【図１１】
2014140409.tif 000013
【図１２】
2014140409.tif 000014
【図１３】
2014140409.tif 000015
【図１４】
2014140409.tif 000016
【図１５】
2014140409.tif 000017
【図１６】
2014140409.tif 000018
【図１７】
2014140409.tif 000019
【図１８】
2014140409.tif 000020
【図１９】
2014140409.tif 000021
【図２０】
2014140409.tif 000022
【図２１】
2014140409.tif 000023
【図２２】
2014140409.tif 000024
【図２３】
2014140409.tif 000025
【図２４】
2014140409.tif 000026
【図２５】
2014140409.tif 000027
【図２６】
2014140409.tif 000028
【図２７】
2014140409.tif 000029
【図２８】
2014140409.tif 000030
【図２９】
2014140409.tif 000031
【図３０】
2014140409.tif 000032
【図３１】
2014140409.tif 000033
【図３２】
2014140409.tif 000034
【図３３】
2014140409.tif 000035
【図３４】
2014140409.tif 000036
【図３５】
2014140409.tif 000037
【図３６】
2014140409.tif 000038
【図３７】
2014140409.tif 000039
【図３８】
2014140409.tif 000040
【図３９】
2014140409.tif 000041
【図４０】
2014140409.tif 000042
【図４１】
2014140409.tif 000043
【図４２】
2014140409.tif 000044
【図４３】
2014140409.tif 000045
【図４４】
2014140409.tif 000046
【図４５】
2014140409.tif 000047
【図４６】
2014140409.tif 000048
【図４７】
2014140409.tif 000049
【図４８】
2014140409.tif 000050
【図４９】
2014140409.tif 000051
【図５０】
2014140409.tif 000052
【図５１】
2014140409.tif 000053
【図５２】
2014140409.tif 000054
【図５３】
2014140409.tif 000055
【図５４】
2014140409.tif 000056
【図５５】
2014140409.tif 000057
【図５６】
2014140409.tif 000058
【図５７】
2014140409.tif 000059
【図５８】
2014140409.tif 000060
【図５９】
2014140409.tif 000061
【図６０】
2014140409.tif 000062
【図６１】
2014140409.tif 000063
【図６２】
2014140409.tif 000064
【図６３】
2014140409.tif 000065
【図６４】
2014140409.tif 000066
【図６５】
2014140409.tif 000067
【図６６】
2014140409.tif 000068
【図６７】
2014140409.tif 000069
【図６８】
2014140409.tif 000070
【図６９】
2014140409.tif 000071
【図７０】
2014140409.tif 000072
【図７１】
2014140409.tif 000073
【図７２】
2014140409.tif 000074
【図７３】
2014140409.tif 000075
【図７４】
2014140409.tif 000076
【図７５】
2014140409.tif 000077
【図７６】
2014140409.tif 000078
【図７７】
2014140409.tif 000079
【図７８】
2014140409.tif 000080
【図７９】
2014140409.tif 000081
【図８０】
2014140409.tif 000082
【図８１】
2014140409.tif 000083
【図８２】
2014140409.tif 000084
【図８３】
2014140409.tif 000085
【図８４】
2014140409.tif 000086
【図８５】
2014140409.tif 000087
【図８６】
2014140409.tif 000088
【図８７】
2014140409.tif 000089
【図８８】
2014140409.tif 000090
【図８９】
2014140409.tif 000091
【図９０】
2014140409.tif 000092
【図９１】
2014140409.tif 000093
【図９２】
2014140409.tif 000094
【図９３】
2014140409.tif 000095
【図９４】
2014140409.tif 000096
【図９５】
2014140409.tif 000097
【図９６】
2014140409.tif 000098
【図９７】
2014140409.tif 000099
【図９８】
2014140409.tif 000100
【図９９】
2014140409.tif 000101
【図１００】
2014140409.tif 000102