(57)【特許請求の範囲】
【請求項１】
所定の遊技を行うことが可能な遊技機であって、
遊技制御処理プログラムに基づき遊技の進行制御を実行するとともに、該遊技の進行制御に基づく制御情報を送信する制御用ＣＰＵが内蔵された遊技制御用マイクロコンピュータと、
前記遊技制御用マイクロコンピュータに内蔵又は外付けされ、乱数値となる数値データを生成する乱数回路と、
電力供給が停止しても格納されているデータが保持されるバックアップ領域を有するデータ記憶手段と、
演出を行う演出装置と、
前記遊技制御用マイクロコンピュータから受信した制御情報に基づいて前記演出装置による出力制御を行う演出制御手段と、
を備え、
前記乱数回路は、
数値データを予め定められた手順により更新して出力する数値更新手段と、
前記数値更新手段から出力された数値データを乱数値として取り込んで格納する乱数値格納手段と、
を含み、
前記遊技制御用マイクロコンピュータは、
電断条件が成立したときに前記バックアップ領域に保持されているデータに基づいて復帰可能とするための電断処理を実行する電断処理実行手段と、
前記電断処理の実行後、電力供給が停止せずに一定時間継続した場合に起動命令を行う起動命令手段と、
前記遊技機への電力供給が開始されたことまたは前記起動命令を契機に、制御状態を復帰させるか否かを判定する遊技復帰判定手段と、
前記遊技復帰判定手段が制御状態を復帰させると判定したときに、前記バックアップ領域に保持されているデータに基づいて復帰させる遊技制御状態復帰手段と、
前記遊技復帰判定手段が制御状態を復帰させないと判定したときに非復帰を特定可能な第１の制御情報を前記演出制御手段に対して送信し、前記遊技制御状態復帰手段が制御状態を復帰させるときに復帰を特定可能な第２の制御情報を前記演出制御手段に対して送信する電力供給開始時制御情報送信手段と、
前記乱数回路によって生成された乱数値に基づいて、前記制御用ＣＰＵにより所定の決定を行う制御決定手段と、
所定信号の入力に基づいて前記数値更新手段から出力された数値データが前記乱数値格納手段に格納されたときにオン状態にされて新たな数値データの格納を制限する一方、前記乱数値格納手段に格納された数値データが乱数値の読出タイミングにて前記制御用ＣＰＵにより読み出されたときにオフ状態にされて新たな数値データの格納を許可する所定のフラグと、
前記電断処理の実行後、電力供給が停止するのを待機しているときに、前記所定のフラグをオフ状態にする電断待機時処理手段と、
を含み、
前記演出制御手段は、
前記遊技制御用マイクロコンピュータから受信した制御情報を複数格納可能な制御情報格納手段と、
前記制御情報格納手段から最も早く受信した制御情報を読み出し、該読み出した制御情報に基づいて前記演出制御手段の制御状態を更新する制御状態更新手段と、
前記演出制御手段の制御状態に基づいて前記演出装置の出力制御を行う演出出力制御手段と、
前記遊技機へ電源供給が停止しても、前記制御情報格納手段に格納されている制御情報を含むデータを保持するデータ保持手段と、
前記遊技機への電源供給が開始したときに、制御状態を復帰させることが可能か否かを判定する演出復帰判定手段と、
前記演出復帰判定手段が制御状態を復帰させることが可能であると判定したときに、前記第１の制御情報または前記第２の制御情報を受信したか否かに関わらず、前記演出制御手段の制御状態を前記データ保持手段により保持されているデータに基づいて復帰させる演出制御状態復帰手段と、
前記第１の制御情報を受信したときに、前記演出制御手段の制御状態を遊技非復帰時の制御状態とする遊技非復帰時制御手段と、
前記遊技機への電源供給が開始した後、前記第１の制御情報または前記第２の制御情報のいずれかを受信したときに、前記演出出力制御手段による前記演出制御手段の制御状態に基づく前記演出装置の出力制御を開始させる演出出力制御開始手段と、
を含み、
前記制御状態更新手段は、前記遊技機への電源供給が開始した後、前記第１の制御情報または前記第２の制御情報のいずれかを受信する前に、前記制御情報格納手段に前記遊技制御用マイクロコンピュータから受信済みの制御情報が格納されている場合にも、該受信済みの制御情報に基づいて前記演出制御手段の制御状態を更新する
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、弾球遊技機やスロットマシンなどの遊技機に関する。
【背景技術】
【０００２】
この種の遊技機では、所定の契機で抽選を行い、その抽選に当選することで大当りなど遊技者にとって有利な状態に制御するものが一般的である。抽選を行う方法としては、一定の範囲で数値を更新するカウンタを設け、抽選契機となる事象が検出された際に、カウンタの数値を抽出し、抽出した値を乱数として用いる方法がある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１５２２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の遊技機のように、カウンタの数値を抽出して抽選を行う方法では、抽選契機となる事象が検出されてカウンタの数値を抽出した後、信号線にノイズがのることによって再度カウンタから数値が抽出された場合、抽選契機となる事象の検出によって抽出された数値とは異なる数値によって抽選が行われてしまうこととなる。
【０００５】
このような問題を解決する方法として、カウンタから一度数値を抽出した後、抽出した数値が読み出されるまで保持しておく方法が考えられるが、このような方法を採用した場合、電源投入時など、電圧が不安定な状態でスイッチ類が誤って検出される可能性があり、この場合、本来の抽選契機とは異なる検出にも関わらず、カウンタから数値が抽出されて保持されたままとなり、本来の抽選契機とは異なるタイミングで抽出された数値によって抽選が行われてしまうという新たな問題が生じることとなる。
【０００６】
本発明は、このような問題点に着目してなされたものであり、本来の抽選契機とは異なるタイミングで抽出された数値を用いて抽選が行われてしまうことを防止できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の請求項１に記載の遊技機は、
所定の遊技を行うことが可能な遊技機であって、
遊技制御処理プログラムに基づき遊技の進行制御を実行するとともに、該遊技の進行制御に基づく制御情報を送信する制御用ＣＰＵが内蔵された遊技制御用マイクロコンピュータと、
前記遊技制御用マイクロコンピュータに内蔵又は外付けされ、乱数値となる数値データを生成する乱数回路と、
電力供給が停止しても格納されているデータが保持されるバックアップ領域を有するデータ記憶手段と、
演出を行う演出装置と、
前記遊技制御用マイクロコンピュータから受信した制御情報に基づいて前記演出装置による出力制御を行う演出制御手段と、
を備え、
前記乱数回路は、
数値データを予め定められた手順により更新して出力する数値更新手段と、
前記数値更新手段から出力された数値データを乱数値として取り込んで格納する乱数値格納手段と、
を含み、
前記遊技制御用マイクロコンピュータは、
電断条件が成立したときに前記バックアップ領域に保持されているデータに基づいて復帰可能とするための電断処理を実行する電断処理実行手段と、
前記電断処理の実行後、電力供給が停止せずに一定時間継続した場合に起動命令を行う起動命令手段と、
前記遊技機への電力供給が開始されたことまたは前記起動命令を契機に、制御状態を復帰させるか否かを判定する遊技復帰判定手段と、
前記遊技復帰判定手段が制御状態を復帰させると判定したときに、前記バックアップ領域に保持されているデータに基づいて復帰させる遊技制御状態復帰手段と、
前記遊技復帰判定手段が制御状態を復帰させないと判定したときに非復帰を特定可能な第１の制御情報を前記演出制御手段に対して送信し、前記遊技制御状態復帰手段が制御状態を復帰させるときに復帰を特定可能な第２の制御情報を前記演出制御手段に対して送信する電力供給開始時制御情報送信手段と、
前記乱数回路によって生成された乱数値に基づいて、前記制御用ＣＰＵにより所定の決定を行う制御決定手段と、
所定信号の入力に基づいて前記数値更新手段から出力された数値データが前記乱数値格納手段に格納されたときにオン状態にされて新たな数値データの格納を制限する一方、前記乱数値格納手段に格納された数値データが乱数値の読出タイミングにて前記制御用ＣＰＵにより読み出されたときにオフ状態にされて新たな数値データの格納を許可する所定のフラグと、
前記電断処理の実行後、電力供給が停止するのを待機しているときに、前記所定のフラグをオフ状態にする電断待機時処理手段と、
を含み、
前記演出制御手段は、
前記遊技制御用マイクロコンピュータから受信した制御情報を複数格納可能な制御情報格納手段と、
前記制御情報格納手段から最も早く受信した制御情報を読み出し、該読み出した制御情報に基づいて前記演出制御手段の制御状態を更新する制御状態更新手段と、
前記演出制御手段の制御状態に基づいて前記演出装置の出力制御を行う演出出力制御手段と、
前記遊技機へ電源供給が停止しても、前記制御情報格納手段に格納されている制御情報を含むデータを保持するデータ保持手段と、
前記遊技機への電源供給が開始したときに、制御状態を復帰させることが可能か否かを判定する演出復帰判定手段と、
前記演出復帰判定手段が制御状態を復帰させることが可能であると判定したときに、前記第１の制御情報または前記第２の制御情報を受信したか否かに関わらず、前記演出制御手段の制御状態を前記データ保持手段により保持されているデータに基づいて復帰させる演出制御状態復帰手段と、
前記第１の制御情報を受信したときに、前記演出制御手段の制御状態を遊技非復帰時の制御状態とする遊技非復帰時制御手段と、
前記遊技機への電源供給が開始した後、前記第１の制御情報または前記第２の制御情報のいずれかを受信したときに、前記演出出力制御手段による前記演出制御手段の制御状態に基づく前記演出装置の出力制御を開始させる演出出力制御開始手段と、
を含み、
前記制御状態更新手段は、前記遊技機への電源供給が開始した後、前記第１の制御情報または前記第２の制御情報のいずれかを受信する前に、前記制御情報格納手段に前記遊技制御用マイクロコンピュータから受信済みの制御情報が格納されている場合にも、該受信済みの制御情報に基づいて前記演出制御手段の制御状態を更新する
ことを特徴としている。
本発明の手段１に記載の遊技機は、
所定の遊技を行うことが可能な遊技機（スロットマシン１）であって、
遊技の進行制御を行うとともに、該遊技の進行制御に基づく制御情報（コマンド）を送信する遊技制御手段（メイン制御部４１）と、
演出を行う演出装置（液晶表示器５１等）と、
前記遊技制御手段（メイン制御部４１）から受信した制御情報（コマンド）に基づいて前記演出装置（液晶表示器５１等）による出力制御を行う演出制御手段（サブ制御部９１）と、
を備え、
前記遊技制御手段（メイン制御部４１）は、
前記遊技機への電力供給が停止されても、遊技データ（ＲＡＭ５０７の格納データ）の少なくとも一部を保持する遊技データ保持手段（バックアップ電源）と、
電断条件（電圧低下信号の検出）が成立したときに前記遊技データ保持手段により保持されている遊技データ（ＲＡＭ５０７の格納データ）に基づいて復帰可能とするための電断処理（電断処理（メイン））を実行する電断処理実行手段と、
前記電断処理（電断処理（メイン））の実行後、電力供給が停止せずに一定時間継続した場合に起動命令（ユーザリセット）を行う起動命令手段と、
前記遊技機への電力供給が開始されたことまたは前記起動命令（ユーザリセット）を契機に、制御状態を復帰させるか否かを判定する遊技復帰判定手段と、
前記遊技復帰判定手段が制御状態を復帰させると判定したときに、前記遊技制御手段（メイン制御部４１）の制御状態の少なくとも一部を前記遊技データ保持手段により保持されている遊技データ（ＲＡＭ５０７の格納データ）に基づいて復帰させる遊技制御状態復帰手段と、
前記遊技復帰判定手段が制御状態を復帰させないと判定したときに非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）を前記演出制御手段（サブ制御部９１）に対して送信する非復帰時制御情報送信手段と、
前記遊技制御状態復帰手段が制御状態を復帰させるときに復帰時制御情報（復帰コマンド）前記演出制御手段（サブ制御部９１）に対して送信する復帰時制御情報送信手段と、
所定の信号（スタートスイッチ７のｏｎ）が入力されたことを検出する第１の検出手段（ラッチ用フリップフロップ５５７Ａ）と、
前記所定の信号（スタートスイッチ７のｏｎ）が入力されたことを検出する第２の検出手段（スイッチ入力判定処理）と、
数値データを更新する数値データ更新手段（乱数列変更回路５５５）と、
前記第１の検出手段（ラッチ用フリップフロップ５５７Ａ）が前記所定の信号（スタートスイッチ７のｏｎ）の入力を検出したことに基づいて前記数値データ更新手段（乱数列変更回路５５５）によって更新された数値データを乱数値として抽出し、数値データ格納領域（乱数値レジスタＲ１Ｄ）に格納する乱数抽出手段（乱数ラッチセレクタ５５８Ａ）と、
前記第２の検出手段（スイッチ入力判定処理）が前記所定の信号（スタートスイッチ７のｏｎ）の入力を検出したことに基づいて前記数値データ格納領域（乱数値レジスタＲ１Ｄ）に格納されている数値データを読み出す数値データ読出手段（ゲーム開始時の数値データの読み出し）と、
該数値データ読出手段が読み出した数値データを用いて遊技に関連する決定を行うための処理を行う遊技関連決定処理手段（内部抽選）と、
前記数値データ格納領域（乱数値レジスタＲ１Ｄ）に前記乱数抽出手段（乱数ラッチセレクタ５５８Ａ）により数値データが格納された後、該格納されている数値データが読み出されるまでは、前記乱数抽出手段（乱数ラッチセレクタ５５８Ａ）により新たな数値データが格納されることがなく、該数値データ格納領域（乱数値レジスタＲ１Ｄ）に格納されている数値データを保持する数値データ保持手段（新たな数値データのラッチの禁止）と、
前記電断処理（電断処理（メイン））の実行後、電力供給が停止するのを待機している期間において、前記数値データ格納領域（乱数値レジスタＲ１Ｄ）に数値データが格納されているか否かを判定し、前記数値データが格納されていると判定した場合に、該格納されている数値データを読み出すことにより、前記数値データ保持手段による数値データの保持を解除する電断待機時保持解除手段（電断処理後の数値データのダミー読み出し）と、
を含み、
前記演出制御手段（サブ制御部９１）は、
前記遊技制御手段（メイン制御部４１）から受信した制御情報（コマンド）を複数格納可能な制御情報格納手段（受信用バッファ）と、
前記制御情報格納手段（受信用バッファ）から最も早く受信した制御情報（コマンド）を読み出し、該読み出した制御情報（コマンド）に基づいて前記演出制御手段（サブ制御部９１）の制御状態を更新する制御状態更新手段と、
前記演出制御手段（サブ制御部９１）の制御状態に基づいて前記演出装置（液晶表示器５１等）の出力制御を行う演出出力制御手段と、
前記遊技機へ電源供給が停止しても、前記制御情報格納手段（受信用バッファ）に格納されている制御情報（コマンド）を含む演出データ（ＲＡＭ９１ｃの格納データ）の少なくとも一部を保持する演出データ保持手段と、
前記遊技機への電源供給が開始したときに、制御状態を復帰させることが可能か否かを判定する演出復帰判定手段と、
前記演出復帰判定手段が制御状態を復帰させることが可能であると判定したときに、前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）または前記復帰時制御情報（復帰コマンド）を受信したか否かに関わらず、前記演出制御手段（サブ制御部９１）の制御状態を前記演出データに基づいて復帰させる演出制御状態復帰手段と、
前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）を受信したときに、前記演出制御手段（サブ制御部９１）の制御状態を遊技非復帰時の制御状態（設定変更報知の制御パターン、ＲＡＭ異常エラーを報知する制御パターン）とする遊技非復帰時制御手段と、
前記遊技機への電源供給が開始した後、前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）または前記復帰時制御情報（復帰コマンド）のいずれかを受信したときに、前記演出出力制御手段による前記演出制御手段（サブ制御部９１）の制御状態に基づく前記演出装置（液晶表示器５１等）の出力制御を開始させる演出出力制御開始手段と、
を含み、
前記制御状態更新手段は、前記遊技機への電源供給が開始した後、前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）または前記復帰時制御情報（復帰コマンド）のいずれかを受信する前に、前記制御情報格納手段に前記遊技制御手段（メイン制御手段４１）から受信済みの制御情報（電断前に受信したコマンド）が格納されている場合にも、該受信済みの制御情報（電断前に受信したコマンド）に基づいて前記演出制御手段（サブ制御部９１）の制御状態を更新する
ことを特徴としている。
この特徴によれば、瞬停などにより一時的に電圧が低下して電断処理が実行された場合には、一定時間が経過しても電力供給が停止しない場合に起動命令が行われ、もとの状態に復帰するとともに、電力供給の停止を待機している期間において数値データ格納領域に数値データが格納された場合には、その数値データが読み出され、数値データ保持手段による数値データの保持が解除されるようになっており、瞬停など、一時的に電圧が不安定となり、信号線にノイズがのって数値データが数値データ格納領域に格納され、その状態が保持されたままの状態となっても、すぐに読み出されて数値データ格納領域に新たな数値データを格納可能な状態となるため、瞬停などの復帰後、その間にノイズなどによって保持されていた数値データを用いて遊技に関連する決定が行われしまうことがなく、本来の抽選契機とは異なるタイミングで抽出された数値を用いて抽選が行われてしまうことを防止できる。
また、遊技制御手段の制御状態が復帰する場合に送信される復帰時制御情報を受信するまで、演出制御手段の制御状態に基づく演出装置の出力制御が開始しないため、遊技制御手段が故障して非復帰時制御情報を送信できない状況であっても、演出装置の出力が復帰してしまうことがなく、このような状況であっても遊技制御手段の制御状態と演出装置による出力状態とを整合させることができる。
また、演出制御手段が、電源供給が開始した後、非復帰時制御情報または復帰時制御情報の受信前の状態であり、演出装置の出力が復帰していない状態であっても、既に受信済みの制御情報が制御情報格納手段に残っている場合には、該受信済みの制御情報に基づいて演出制御手段の制御状態は更新され、復帰時制御情報を受信した後、更新された制御状態に基づいて演出装置の出力が開始するので、制御情報格納手段に未反映の制御情報が格納されたままの状態で復帰した場合でも、演出制御手段の制御状態に反映させることができる。
尚、数値データ保持手段は、前記数値データ格納領域に前記乱数抽出手段により数値データが格納された後、該格納されている数値データが読み出されるまで、前記乱数抽出手段による数値データの新たな抽出を禁止することにより、数値データ格納領域に格納されている数値データを保持するようにしても良いし、前記数値データ格納領域に前記乱数抽出手段により数値データが格納された後、該格納されている数値データが読み出されるまで、前記乱数抽出手段により数値データの抽出が行われても数値データ格納領域への格納を禁止することにより、数値データ格納領域に格納されている数値データを保持するようにしても良い。
また、前記遊技関連決定処理手段が、遊技に関連する決定を行うための処理を行うとは、遊技に関連する決定そのものを行う処理であっても良いし、遊技に関連する決定を行う際の抽選値としての数値データを確定する処理であっても良く、後者の場合であれば、その時点で遊技に関連する決定を行う必要はない。
また、前記第１の検出手段は、前記乱数抽出手段が数値データを抽出する契機となる所定の信号の入力を検出する検出手段であり、前記第２の検出手段は、前記遊技関連決定処理手段が遊技に関連する決定を行うための処理を行う契機となる所定の信号の入力を検出する検出手段であり、これら第１の検出手段、第２の検出手段は、別個に構成されていれば良い。また、第１の検出手段による所定の信号の検出方法と第２の検出手段による所定の信号の検出方法とは同じ方法であっても良いし、異なる方法であっても良い。
また、前記遊技復帰判定手段が、前記遊技機への電力供給が開始されたときに、制御状態を復帰させるか否かを判定するとは、前記遊技データから制御状態を復帰可能か否かを判定するものに限らず、初期化操作などによって意図的に制御状態を復帰させない制御を行うか否かを判定するものも含む。
また、前記演出制御手段は、前記演出装置の出力制御を直接行うものに限らず、例えば、遊技制御手段からの制御情報を受けて出力態様を決定する第１の演出制御手段と、前記演出装置の出力制御を直接的に行う第２の演出制御手段と、を別個に備える場合であれば、これら第１の演出制御手段及び第２の演出制御手段の双方を合わせて前記演出制御手段が構成されるものである。
【０００８】
本発明の手段２に記載の遊技機は、手段１に記載の遊技機であって、
前記遊技関連決定処理手段は、前記第２の検出手段（スイッチ入力判定処理）により前記所定の信号（スタートスイッチ７のｏｎ）が所定期間（約２．２４ｍｓ）継続して検出されたことを条件に、前記遊技に関連する決定を行うための処理（内部抽選）を行う
ことを特徴としている。
この特徴によれば、静電気などのノイズによって所定の信号が誤って検出されたにも関わらず、遊技に関連する決定を行うための処理が行われてしまうことを防止できる。
【０００９】
本発明の手段３に記載の遊技機は、手段１または２に記載の遊技機であって、
前記遊技制御手段は、
前記遊技機毎に個別に割り当てられた識別符号（ＩＤナンバー）が記憶される不揮発性メモリ（ＲＯＭ５０６）と、
電力供給が開始したときに前記不揮発性メモリ（ＲＯＭ５０６）に記憶されている識別符号（ＩＤナンバー）に基づいて初期数値データ（数値データのスタート値）を生成する初期数値データ生成手段（乱数回路設定処理）と、
を備え、
前記数値データ更新手段（乱数列変更回路５５５）は、電力供給が開始したときに前記初期数値データ生成手段（乱数回路設定処理）により生成された初期数値データ（数値データのスタート値）から前記数値データの更新を開始する
ことを特徴としている。
この特徴によれば、遊技機毎に個別に割り当てられた識別符号に基づいて生成された初期数値データから数値データの更新が開始されるので、遊技機毎に初期数値データが異なり、初期数値データを特定することが困難となるため、特定の数値データのタイミングを狙って所定の信号を検出させる不正を効果的に防止できる。
【００１０】
本発明の手段４に記載の遊技機は、手段１〜３のいずれかに記載の遊技機であって、
前記数値データ更新手段（乱数列変更回路５５５）は、前記遊技制御手段（ＣＰＵ５０５）を動作させるための動作クロック（制御用クロック）とは周期の異なる動作クロック（乱数用クロック）を入力して前記数値データを更新する
ことを特徴としている。
この特徴によれば、遊技制御手段の動作と数値データの更新周期とが同期することにより、遊技関連決定手段により用いられる乱数値に偏りが生じてしまうことを防止できるとともに、遊技制御手段に不正基板が接続されても遊技制御手段の動作から数値データの更新周期を特定することは不可能となるため、特定の数値データのタイミングを狙って所定の信号を検出させる不正を効果的に防止できる。
【００１１】
本発明の手段５に記載の遊技機は、手段１〜４のいずれかに記載の遊技機であって、
発光ダイオードにて構成されるＬＥＤ表示器（クレジット表示器１１）と、
カウンタ値に基づいて計時を行う計時手段（ウォッチドッグタイマ４９ａ）と、
前記ＬＥＤ表示器（クレジット表示器１１）をダイナミック点灯させる駆動信号の入力に基づいて前記計時手段（ウォッチドッグタイマ４９ａ）のカウンタ値を初期化(クリア)するカウンタ値初期化手段と、
を備え、
前記電断処理（電断処理（メイン））は、前記ＬＥＤ表示器（クレジット表示器１１）をダイナミック点灯させる駆動信号の出力を停止させる処理（出力ポートの初期化）を含み、
前記起動命令手段は、前記計時手段（ウォッチドッグタイマ４９ａ）によるカウンタ値が初期化されずに予め定められた閾値に到達した場合（オーバーフローした場合）に前記起動命令（ユーザリセット）を行う
ことを特徴としている。
この特徴によれば、ＬＥＤ表示器の駆動信号を監視するのみで正常に動作しているか否かを監視することが可能となる。
【００１２】
本発明の手段６に記載の遊技機は、手段１〜５のいずれかに記載の遊技機であって、
前記遊技制御手段は、電力供給が開始したときに初期数値データ（乱数の初期値）を生成する初期数値データ生成手段（乱数回路設定処理）を含み、
前記数値データ更新手段（乱数列変更回路５５５）は、電力供給が開始したときに前記初期数値データ生成手段（乱数回路設定処理）により生成された初期数値データ（乱数の初期値）から前記数値データの更新を開始するが、前記電断処理（電断処理（メイン））の実行後、電力供給が停止するのを待機している期間においても前記数値データの更新を継続し、前記電断処理（電断処理（メイン））の実行後、電力供給が停止せずに前記起動命令（ユーザリセット）により前記制御状態復帰手段が制御状態を復帰させる場合には、前記初期数値データ（乱数の初期値）を用いずに前記数値データの更新を継続する
ことを特徴としている。
この特徴によれば、意図的に起動命令を行わせても数値データの更新は継続するため、数値データの更新が開始されるタイミングを特定することは困難となり、特定の数値データのタイミングを狙って所定の信号を検出させる不正を効果的に防止できる。
【００１３】
本発明の手段７に記載の遊技機は、手段１〜６のいずれかに記載の遊技機であって、
前記演出制御手段（サブ制御部９１）は、前記演出復帰判定手段が制御状態を復帰させることが可能でないと判定したときに、前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）または前記復帰時制御情報（復帰コマンド）を受信したか否かに関わらず、前記制御情報格納手段（受信用バッファ）に格納されている制御情報（コマンド）及び前記演出制御手段（サブ制御部９１）の制御状態を初期化する制御状態初期化手段を含む
ことを特徴としている。
この特徴によれば、演出制御手段の制御状態が復帰できない場合でも、遊技制御手段から復帰時制御情報を受信した際に、演出装置の出力が停止してしまうことがなく、初期化された制御状態に応じて演出装置の出力制御を開始することができる。
【００１４】
本発明の手段８に記載の遊技機は、手段１〜７のいずれかに記載の遊技機であって、
前記演出出力制御手段は、前記遊技機への電源供給が開始した後、前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）または前記復帰時制御情報（復帰コマンド）のいずれかを受信するまでの期間において前記演出装置（液晶表示器５１等）を所定の出力状態（復旧中パターンに応じた出力）に制御する
ことを特徴としている。
この特徴によれば、電源供給が開始された後、演出制御手段の制御状態に基づいて演出装置の出力が開始する前の状態でも、演出制御手段が現在どのような状態にあるか、を外部から容易に確認することができる。
【００１５】
本発明の手段９に記載の遊技機は、手段１〜８のいずれかに記載の遊技機であって、
前記遊技制御手段（メイン制御部４１）が搭載された遊技制御基板（遊技制御基板４０）と、
前記演出制御手段（サブ制御部９１）が搭載された演出制御基板（演出制御基板９０）と、
を備え、
前記演出制御基板（演出制御基板９０）の電源が遊技制御基板（遊技制御基板４０）を介して供給されるとともに、前記演出制御基板（演出制御基板９０）に対して前記制御情報（コマンド）を伝送する信号線（コマンド伝送ライン）と電源の供給線（電源供給ライン）とが１つのコネクタを介して前記演出制御基板（演出制御基板９０）と接続される
ことを特徴としている。
この特徴によれば、遊技制御部から制御情報を伝送する信号線が演出制御部に接続されている状態でなければ、演出制御部に電源が供給されず、演出制御部のみが動作してしまうことがない。
【００１６】
本発明の手段１０に記載の遊技機は、手段１〜９のいずれかに記載の遊技機であって、
前記演出制御手段（サブ制御部９１）は、前記遊技機への電源供給が開始した後、前記非復帰時制御情報（設定開始を示す設定コマンド、ＲＡＭ異常を示すエラーコマンド）または前記復帰時制御情報（復帰コマンド）のいずれも受信せずに所定時間（復帰待ち時間）経過したときに、前記演出装置（液晶表示器５１等）の検査を行うための検査状態（検査モード）に制御する検査制御手段（起動処理（サブ）の変形例）を含む
ことを特徴としている。
この特徴によれば、遊技制御手段と接続せずに起動させるのみで検査制御状態に制御させることが可能となるため、遊技機の開発段階や製造段階において演出装置の検査を容易に行うことができる。
【図面の簡単な説明】
【００１７】
【図１】本発明が適用された遊技機の一例であるスロットマシンの正面図である。
【図２】スロットマシンの内部構造図である。
【図３】リールの図柄配列を示す図である。
【図４】スロットマシンの構成を示すブロック図である。
【図５】メイン制御部の構成を示すブロック図である。
【図６】メイン制御部におけるアドレスマップの一例を示す図である。
【図７】プログラム管理エリア及び内蔵レジスタの主要部分を例示する図である。
【図８】ヘッダ及び機能設定における設定内容の一例を示す図である。
【図９】第１乱数初期設定、第２乱数初期設定及び割込み初期設定における設定内容の一例を示す図である。
【図１０】セキュリティ時間設定における設定内容の一例を示す図である。
【図１１】内部情報レジスタの構成例等を示す図である。
【図１２】乱数回路の構成例を示すブロック図である。
【図１３】乱数列変更レジスタの構成例等を示す図である。
【図１４】乱数列変更回路による乱数更新規則の変更動作を示す説明図である。
【図１５】乱数列変更回路による乱数更新規則の変更動作を示す説明図である。
【図１６】乱数値取込レジスタの構成例等を示す図である。
【図１７】乱数ラッチ選択レジスタの構成例等を示す図である。
【図１８】乱数値レジスタの構成例を示す図である。
【図１９】乱数ラッチフラグレジスタの構成例等を示す図である。
【図２０】乱数割込み制御レジスタの構成例等を示す図である。
【図２１】入力ポートレジスタの構成例等を示す図である。
【図２２】シリアル通信回路の構成例を示すブロック図である。
【図２３】シリアル通信回路によるコマンドの送信状況を示す図である。
【図２４】外部出力基板の構成例及び外部出力信号の一例を示すブロック図である。
【図２５】メイン制御部が起動時に実行する起動処理（メイン）の制御内容を示すフローチャートである。
【図２６】メイン制御部が実行するセキュリティチェック処理の制御内容を示すフローチャートである。
【図２７】メイン制御部が実行する乱数回路設定処理の制御内容を示すフローチャートである。
【図２８】メイン制御部が実行する乱数回路異常検査処理の制御内容を示すフローチャートである。
【図２９】メイン制御部が実行するコマンド格納処理の制御内容を示すフローチャートである。
【図３０】メイン制御部がエラー発生時に実行するエラー処理の制御内容を示すフローチャートである。
【図３１】メイン制御部が実行する設定変更処理の制御内容を示すフローチャートである。
【図３２】メイン制御部が設定変更処理後に実行するゲーム処理の制御内容を示すフローチャートである。
【図３３】メイン制御部が実行するＢＥＴ処理の制御内容を示すフローチャートである。
【図３４】メイン制御部が実行するＢＥＴ処理の制御内容を示すフローチャートである。
【図３５】メイン制御部が実行するＢＥＴ処理の制御内容を示すフローチャートである。
【図３６】メイン制御部が実行するリール回転処理の制御内容を示すフローチャートである。
【図３７】メイン制御部が実行するリール回転処理の制御内容を示すフローチャートである。
【図３８】メイン制御部が一定間隔毎に実行するタイマ割込処理（メイン）の制御内容を示すフローチャートである。
【図３９】メイン制御部が一定間隔毎に実行するタイマ割込処理（メイン）の制御内容を示すフローチャートである。
【図４０】メイン制御部がタイマ割込処理（メイン）において実行するスイッチ入力判定処理の制御内容を示すフローチャートである。
【図４１】メイン制御部がタイマ割込処理（メイン）において実行する乱数値読出処理の制御内容を示すフローチャートである。
【図４２】メイン制御部がタイマ割込処理（メイン）において実行するドア監視処理の制御内容を示すフローチャートである。
【図４３】メイン制御部がタイマ割込処理（メイン）において実行するコマンド送信処理の制御内容を示すフローチャートである。
【図４４】メイン制御部がタイマ割込処理（メイン）において電断を検出したことに応じて実行する電断処理（メイン）の制御内容を示すフローチャートである。
【図４５】乱数回路における動作を説明するためのタイミングチャートである。
【図４６】スタートスイッチの操作と乱数値レジスタの関連を示すタイミングチャートである。
【図４７】スタートスイッチの操作と乱数値レジスタの関連を示すタイミングチャートである。
【図４８】変形例において乱数回路にて数値データがラッチされた際にメイン制御部が実行する乱数値ラッチ割込処理の制御内容を示すフローチャートである。
【図４９】変形例におけるスタートスイッチの操作と乱数値レジスタの関連を示すタイミングチャートである。
【図５０】スタートスイッチの検出状況を示すタイミングチャートである。
【図５１】シリアル通信回路のステータスレジスタの値と、ドアコマンド、操作検出コマンドの転送許可／禁止と、の関係を示すタイミングチャートである。
【図５２】制御状態に応じてゲームの進行制御に関与する操作スイッチ及びゲームの進行制御に関与しない操作スイッチを示す図である。
【図５３】サブ制御部が起動時に実行する起動処理（サブ）の制御内容を示すフローチャートである。
【図５４】サブ制御部が一定間隔毎に実行するタイマ割込処理（サブ）の制御内容を示すフローチャートである。
【図５５】サブ制御部が一定間隔毎に実行するタイマ割込処理（サブ）の制御内容を示すフローチャートである。
【図５６】サブ制御部が一定間隔毎に実行するタイマ割込処理（サブ）の制御内容を示すフローチャートである。
【図５７】サブ制御部がタイマ割込処理（サブ）において実行する操作検出処理１の制御内容を示すフローチャートである。
【図５８】サブ制御部がタイマ割込処理（サブ）において実行する操作検出処理２の制御内容を示すフローチャートである。
【図５９】サブ制御部が、電断検出回路から電圧低下信号の入力されることによって実行する電断処理（サブ）の制御内容を示すフローチャートである。
【図６０】サブ制御部の制御状態を示すタイミングチャートである。
【図６１】サブ制御部の起動時における制御状態を示すタイミングチャートである。
【図６２】サブ制御部の起動時における制御状態を示すタイミングチャートである。
【図６３】サブ制御部の起動時における制御状態を示すタイミングチャートである。
【図６４】サブ制御部の起動時における制御状態を示すタイミングチャートである。
【図６５】サブ制御部の起動時における制御状態を示すタイミングチャートである。
【図６６】操作演出の一例を示す図である。
【図６７】連続操作演出の実行状況を示す図である。
【図６８】台情報の閲覧状況を示す図である。
【図６９】設定変更時におけるメイン制御部及びサブ制御部の制御状況を示すタイミングチャートである。
【図７０】設定確認時におけるメイン制御部及びサブ制御部の制御状況を示すタイミングチャートである。
【図７１】管理者モード画面を示す図である。
【図７２】履歴データクリア画面を示す図である。
【図７３】オプション画面を示す図である。
【図７４】入賞として定められた役の構成を示す図である。
【図７５】遊技状態別の内部抽選の対象役を示す図である。
【図７６】フリーズ抽選の当選確率を示す図である。
【図７７】フリーズ状態の発生とフリーズ演出、およびフリーズ演出後のステップアップ演出を説明するためのタイミングチャートである。
【図７８】フリーズ状態の制御を説明するためのタイミングチャートである。
【図７９】フリーズ状態の制御を説明するためのタイミングチャートである。
【図８０】フリーズ演出およびステップアップ演出の具体例を示す図である。
【発明を実施するための形態】
【００１８】
本発明の実施例を以下に説明する。
【実施例】
【００１９】
本発明が適用された遊技機の一例であるスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン１は、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂと、から構成されている。
【００２０】
本実施例のスロットマシン１の筐体１ａの内部には、図２に示すように、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リール）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００２１】
リール２Ｌ、２Ｃ、２Ｒの外周部には、図３に示すように、それぞれ「黒７」、「網７（図中網掛け７）」、「白７」、「ＢＡＲ」、「リプレイ」、「スイカ」、「黒チェリー」、「白チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、透視窓３において各々上中下三段に表示される。
【００２２】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）によって回転させることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示されるとともに、各リール２Ｌ、２Ｃ、２Ｒの回転を停止させることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００２３】
リール２Ｌ、２Ｃ、２Ｒの内側には、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒと、リール２Ｌ、２Ｃ、２Ｒを背面から照射するリールＬＥＤ５５と、が設けられている。また、リールＬＥＤ５５は、リール２Ｌ、２Ｃ、２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００２４】
前面扉１ｂの各リール２Ｌ、２Ｃ、２Ｒの手前側（遊技者側）の位置には、液晶表示器５１（図１参照）の表示領域５１ａが配置されている。液晶表示器５１は、液晶素子に対して電圧が印加されていない状態で、透過性を有するノーマリーホワイトタイプの液晶パネルを有しており、表示領域５１ａの透視窓３に対応する透過領域５１ｂ及び透視窓３を介して遊技者側から各リール２Ｌ、２Ｃ、２Ｒが視認できるようになっている。また、表示領域５１ａの透過領域５１ｂを除く領域の裏面には、背後から表示領域５１ａを照射するバックライト（図示略）が設けられているとともに、さらにその裏面には、内部を隠蔽する隠蔽部材（図示略）が設けられている。
【００２５】
前面扉１ｂには、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いてメダル１枚分の賭数を設定する際に操作される１枚ＢＥＴスイッチ５、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒ、が遊技者により操作可能にそれぞれ設けられている。
【００２６】
また、前面扉１ｂには、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、後述するＢＢ中のメダルの獲得枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器１２、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器１３が設けられている。
【００２７】
また、前面扉１ｂには、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられている。
【００２８】
ＭＡＸＢＥＴスイッチ６の内部には、１枚ＢＥＴスイッチ５及びＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図４参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図４参照）がそれぞれ設けられている。
【００２９】
前面扉１ｂの内側には、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、メダル投入部４から投入されたメダルの流路を、筐体１ａ内部に設けられた後述のホッパータンク３４ａ（図２参照）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１を有するメダルセレクタ（図示略）、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図４参照）、後述のＢＢ終了時に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、後述のＢＢ終了時に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂが設けられている。
【００３０】
筐体１ａ内部には、図２に示すように、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ、３３Ｃ、３３Ｒ（図４参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃからなるホッパーユニット３４、電源ボックス１００が設けられている。
【００３１】
ホッパーユニット３４の側部には、ホッパータンク３４ａから溢れたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ３５ａが設けられており、導電部材がオーバーフロータンク３５内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわちオーバーフロータンクが満タン状態となったことを検出できるようになっている。
【００３２】
電源ボックス１００の前面には、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や前述の打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００３３】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、或いはクレジットを使用して賭数を設定する。クレジットを使用するには１枚ＢＥＴスイッチ５またはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬ１〜Ｌ５（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００３４】
入賞ラインとは、各リール２Ｌ、２Ｃ、２Ｒの透視窓３に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図１に示すように、各リール２Ｌ、２Ｃ、２Ｒの中段に並んだ図柄に跨って設定された入賞ラインＬ１、各リール２Ｌ、２Ｃ、２Ｒの上段に並んだ図柄に跨って設定された入賞ラインＬ２、各リール２Ｌ、２Ｃ、２Ｒの下段に並んだ図柄に跨って設定された入賞ラインＬ３、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨って設定された入賞ラインＬ４、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨って設定された入賞ラインＬ５の５種類が入賞ラインとして定められている。
【００３５】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３６】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、有効化されたいずれかの入賞ラインＬ１〜Ｌ５上に予め定められた図柄の組合せ（以下、役とも呼ぶ）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。尚、有効化された複数の入賞ライン上にメダルの払出を伴う図柄の組合せが揃った場合には、有効化された入賞ラインに揃った図柄の組合せそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与されることとなる。ただし、１ゲームで付与されるメダルの払出枚数には、上限（本実施例では１５枚）が定められており、合計した払出枚数が上限を超える場合には、上限枚数のメダルが付与されることとなる。また、有効化されたいずれかの入賞ラインＬ１〜Ｌ５上に、遊技状態の移行を伴う図柄の組合せが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
【００３７】
図４は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図４に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００３８】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び遊技制御基板４０を介して接続された演出制御基板９０に供給されるようになっている。また、後述するメイン制御部４１からサブ制御部９１へのコマンド伝送ラインと、遊技制御基板４０から演出制御基板９０に対して電源を供給する電源供給ラインと、が一系統のケーブル及びコネクタを介して接続されており、これらケーブルと各基板とを接続するコネクタ同士が全て接続されることで演出制御基板９０側の各部が動作可能となり、かつメイン制御部４１からのコマンドを受信可能な状態となる。このため、メイン制御部４１からコマンドを伝送するコマンド伝送ラインが演出制御基板９０に接続されている状態でなければ、演出制御基板９０側に電源が供給されず、演出制御基板９０側のみが動作してしまうことがない。
【００３９】
また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００４０】
遊技制御基板４０には、前述した１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、投入メダルセンサ３１、ドア開放検出スイッチ２５、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、リールセンサ３３Ｌ、３３Ｃ、３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
【００４１】
また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、ペイアウト表示器１３、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００４２】
遊技制御基板４０には、メイン制御部４１、制御用クロック生成回路４２、乱数用クロック生成回路４３、スイッチ検出回路４４、モータ駆動回路４５、ソレノイド駆動回路４６、ＬＥＤ駆動回路４７、電断検出回路４８、リセット回路４９が搭載されている。
【００４３】
メイン制御部４１は、１チップマイクロコンピュータにて構成され、後述するＲＯＭ５０６に記憶された制御プログラムを実行して、遊技の進行に関する処理を行うととともに、遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御する。
【００４４】
制御用クロック生成回路４２は、メイン制御部４１の外部にて、所定周波数の発振信号となる制御用クロックＣＣＬＫを生成する。制御用クロック生成回路４２により生成された制御用クロックＣＣＬＫは、例えば図５（Ａ）に示すようなメイン制御部４１の制御用外部クロック端子ＥＸＣを介してクロック回路５０２に供給される。乱数用クロック生成回路４３は、メイン制御部４１の外部にて、制御用クロックＣＣＬＫの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックＲＣＬＫを生成する。乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫは、例えば図５（Ａ）に示すようなメイン制御部４１の乱数用外部クロック端子ＥＲＣを介して乱数回路５０９に供給される。一例として、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫの発振周波数は、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数以下となるようにすれば良い。
【００４５】
スイッチ検出回路４４は、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送する。モータ駆動回路４５は、メイン制御部４１から出力されたモータ駆動信号をリールモータ３２Ｌ、３２Ｃ、３２Ｒに伝送する。ソレノイド駆動回路４６は、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送する。ＬＥＤ駆動回路は、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送する。電断検出回路４８は、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する。リセット回路４９は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部４１にシステムリセット信号を与える。また、リセット回路４９は、ウォッチドッグタイマ４９ａ（図５（Ｂ）参照）を内蔵し、ウォッチドッグタイマ４９ａがタイムアップした場合、すなわちメイン制御部４１のＣＰＵ５０５の動作が一定時間停止した場合においてメイン制御部４１にユーザリセット信号を与える。
【００４６】
図５（Ａ）は、遊技制御基板４０に搭載されたメイン制御部４１の構成例を示している。図５（Ａ）に示すメイン制御部４１は、１チップマイクロコンピュータであり、外部バスインタフェース５０１と、クロック回路５０２と、固有情報記憶回路５０３と、リセット／割込コントローラ５０４と、ＣＰＵ５０５と、ＲＯＭ５０６と、ＲＡＭ５０７と、ＣＴＣ（カウンタ／タイマサーキット）５０８と、乱数回路５０９と、ＰＩＰ（パラレルインプットポート）５１０と、シリアル通信回路５１１と、アドレスデコード回路５１２とを備えて構成される。
【００４７】
図６は、メイン制御部４１におけるアドレスマップの一例を示している。図６に示すように、アドレス００００Ｈ〜アドレス１ＦＦＦＨの領域は、ＲＯＭ５０６に割り当てられ、ユーザプログラムエリアとプログラム管理エリアとを含んでいる。図７（Ａ）は、ＲＯＭ５０６におけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレス２０００Ｈ〜アドレス２０ＦＦＨの領域は、メイン制御部４１の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図７（Ｂ）は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレス７Ｅ００Ｈ〜アドレス７ＦＦＦＨの領域は、ＲＡＭ５０７に割り当てられたワークエリアであり、Ｉ／Ｏマップやメモリマップに割り付けることができる。アドレスＦＤＤ０Ｈ〜アドレスＦＤＦＢＨの領域は、アドレスデコード回路５１２に割り当てられるＸＣＳデコードエリアである。
【００４８】
プログラム管理エリアは、ＣＰＵ５０５がユーザプログラムを実行するために必要な情報を格納する記憶領域である。図７（Ａ）に示すように、プログラム管理エリアには、ヘッダＫＨＤＲ、機能設定ＫＦＣＳ、第１乱数初期設定ＫＲＳ１、第２乱数初期設定ＫＲＳ２、割込初期設定ＫＩＩＳ、セキュリティ時間設定ＫＳＥＳなどが、含まれている。
【００４９】
プログラム管理エリアに記憶されるヘッダＫＨＤＲは、メイン制御部４１における内部データの読出設定を示す。図８（Ａ）は、ヘッダＫＨＤＲにおける設定データと動作との対応関係を例示している。ここで、メイン制御部４１では、ＲＯＭ読出防止機能と、バス出力マスク機能とを設定可能である。ＲＯＭ読出防止機能は、メイン制御部４１が備えるＲＯＭ５０６の記憶データについて、読出動作を許可又は禁止する機能であり、読出禁止に設定された状態では、ＲＯＭ５０６の記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース５０１に接続された外部装置からメイン制御部４１の内部データに対する読出要求があった場合に、外部バスインタフェース５０１におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図８（Ａ）に示すように、ヘッダＫＨＤＲの設定データに対応して、ＲＯＭ読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図８（Ａ）に示す設定データのうち、ＲＯＭ読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ＲＯＭ読出が禁止されるとともに、バス出力マスクが有効となる設定データ（全て「００Ｈ」）は、ＲＯＭ読出禁止データともいう。ＲＯＭ読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
【００５０】
プログラム管理エリアに記憶される機能設定ＫＦＣＳは、メイン制御部４１におけるウォッチドッグタイマの動作設定や、各種機能兼用端子の使用設定を示す。図８（Ｂ）は、機能設定ＫＦＣＳにおける設定内容の一例を示している。
【００５１】
機能設定ＫＦＣＳのビット番号［７−５］は、例えばリセット／割込コントローラ５０４における割込要因として設定可能なウォッチドッグタイマの動作許可／禁止や、許可した場合の周期を示している。本実施例では、外部のウォッチドッグタイマを用いるため、ウォッチドッグタイマを動作禁止に設定している。機能設定ＫＦＣＳのビット番号［４］は、メイン制御部４１における所定の機能兼用端子（第１兼用端子）を、シリアル通信回路５１１が使用する第２チャネル送信端子ＴＸＢとするか、アドレスデコード回路５１２が使用するチップセレクト出力端子ＸＣＳ１３とするかを指定するＴＸＢ端子設定である。図８（Ｂ）に示す例において、機能設定ＫＦＣＳのビット番号［４］におけるビット値が“０”であれば、第１兼用端子がシリアル通信回路５１１での第２チャネル送信に使用される第２チャネル送信端子ＴＸＢの設定となる。これに対して、そのビット値が“１”であれば、第１兼用端子がアドレスデコード回路５１２で使用されるチップセレクト出力端子ＸＣＳ１３の設定となる。本実施例では、機能設定ＫＦＣＳのビット番号［４］を“０”として、第１兼用端子を第２チャネル送信端子ＴＸＢに設定することにより、演出制御基板９０との間でのシリアル通信を可能にする。
【００５２】
機能設定ＫＦＣＳのビット番号［３］は、メイン制御部４１における所定の機能兼用端子（第２兼用端子）を、シリアル通信回路５１１が使用する第１チャネル送信端子ＴＸＡとするか、アドレスデコード回路５１２が使用するチップセレクト出力端子ＸＣＳ１２とするかを示すＴＸＡ端子設定である。図８（Ｂ）に示す例において、機能設定ＫＦＣＳのビット番号［３］におけるビット値が“０”であれば、第２兼用端子がシリアル通信回路５１１での第１チャネル送信に使用される第１チャネル送信端子ＴＸＡの設定となる。これに対して、そのビット値が“１”であれば、第２兼用端子がアドレスデコード回路５１２で使用されるチップセレクト出力端子ＸＣＳ１２の設定となる。本実施例では、機能設定ＫＦＣＳのビット番号［３］を“０”として、第２兼用端子を第１チャネル送信端子ＴＸＡに設定しているが、第１チャンネル受信は未使用とされている。
【００５３】
機能設定ＫＦＣＳのビット番号［２］は、メイン制御部４１における所定の機能兼用端子（第３兼用端子）を、シリアル通信回路５１１が使用する第１チャネル受信端子ＲＸＡとするか、ＰＩＰ５１０が使用する入力ポートＰ５とするかを示すＲＸＡ端子設定である。図８（Ｂ）に示す例において、機能設定ＫＦＣＳのビット番号［２］におけるビット値が“０”であれば、第３兼用端子がシリアル通信回路５１１での第１チャネル受信に使用される第１チャネル受信端子ＲＸＡの設定となる。これに対して、そのビット値が“１”であれば、第３兼用端子がＰＩＰ５１０で使用される入力ポートＰ５の設定となる。本実施例では、機能設定ＫＦＣＳのビット番号［２］を“０”として、第３兼用端子を第１チャネル受信端子ＲＸＡに設定しているが、第１チャンネル受信は未使用とされている。
【００５４】
機能設定ＫＦＣＳのビット番号［１］は、メイン制御部４１における所定の機能兼用端子（第４兼用端子）を、ＣＰＵ５０５等に接続される外部ノンマスカブル割込端子ＸＮＭＩとするか、ＰＩＰ５１０が使用する入力ポートＰ４とするかを示すＮＭＩ接続設定である。図８（Ｂ）に示す例において、機能設定ＫＦＣＳのビット番号［１］におけるビット値が“０”であれば、第４兼用端子がＣＰＵ５０５等に接続される外部ノンマスカブル割込端子ＸＮＭＩの設定となる（ＣＰＵ接続）。これに対して、そのビット値が“１”であれば、第４兼用端子がＰＩＰ５１０で使用される入力ポートＰ４の設定となる（ＣＰＵ非接続）。本実施例では、機能設定ＫＦＣＳのビット番号［１］を“１”として、第４兼用端子をＰＩＰ５１０で使用される入力ポートＰ４に設定しているが、入力ポートＰ４は未使用とされている。
【００５５】
機能設定ＫＦＣＳのビット番号［０］は、メイン制御部４１における所定の機能兼用端子（第５兼用端子）を、ＣＰＵ５０５等に接続される外部マスカブル割込端子ＸＩＮＴとするか、ＰＩＰ５１０が使用する入力ポートＰ３とするかを示すＸＩＮＴ接続設定である。図８（Ｂ）に示す例において、機能設定ＫＦＣＳのビット番号［０］におけるビット値が“０”であれば、第５兼用端子がＣＰＵ５０５等に接続される外部マスカブル割込端子ＸＩＮＴの設定となる（ＣＰＵ接続）。これに対して、そのビット値が“１”であれば、第５兼用端子がＰＩＰ５１０で使用される入力ポートＰ３の設定となる（ＣＰＵ非接続）。
【００５６】
プログラム管理エリアに記憶される第１乱数初期設定ＫＲＳ１及び第２乱数初期設定ＫＲＳ２は、乱数回路５０９の初期設定を示す。図９（Ａ）は、第１乱数初期設定ＫＲＳ１における設定内容の一例を示している。図９（Ｂ）は、第２乱数初期設定ＫＲＳ２における設定内容の一例を示している。
【００５７】
第１乱数初期設定ＫＲＳ１のビット番号［３］は、乱数回路５０９を使用するか否かを示す乱数回路使用設定である。図９（Ａ）に示す例において、第１乱数初期設定ＫＲＳ１のビット番号［３］におけるビット値が“０”であれば、乱数回路５０９を使用しない設定となる一方（未使用）、“１”であれば、乱数回路５０９を使用する設定となる（使用）。本実施例では、第１乱数初期設定ＫＲＳ１のビット番号［３］を“１”として、乱数回路５０９を使用可能に設定する。
【００５８】
第１乱数初期設定ＫＲＳ１のビット番号［２］は、乱数回路５０９における乱数値となる数値データの更新に用いられる乱数更新クロックＲＧＫ（図１２参照）を、内部システムクロックＳＣＬＫとするか、乱数用クロックＲＣＬＫの２分周とするかを示す乱数更新クロック設定である。図９（Ａ）に示す例において、第１乱数初期設定ＫＲＳ１のビット番号［２］におけるビット値が“０”であれば、内部システムクロックＳＣＬＫを乱数更新クロックＲＧＫに用いる設定となる一方、“１”であれば、乱数用クロックＲＣＬＫを２分周して乱数更新クロックＲＧＫに用いる設定となる。本実施例では、第１乱数初期設定ＫＲＳ１のビット番号［２］を“１”として、乱数用クロックＲＣＬＫを２分周して乱数更新クロックＲＧＫに用いる設定とする。
【００５９】
第１乱数初期設定ＫＲＳ１のビット番号［１−０］は、乱数回路５０９における乱数更新規則を変更するか否かや、変更する場合における変更方式を示す乱数更新規則設定である。図９（Ａ）に示す例において、第１乱数初期設定ＫＲＳ１のビット番号［１−０］におけるビット値が“００”であれば、乱数更新規則を変更しない設定となり、“０１”であれば、２周目以降にて乱数更新規則をソフトウェアにより変更する設定となり、“１０”であれば、２周目以降にて乱数更新規則を自動で変更する設定となる。
【００６０】
第２乱数初期設定ＫＲＳ２のビット番号［３−２］は、固定のビット値“００”が設定される。尚、図９（Ｂ）における「００Ｂ」の“Ｂ”は２進数表示であることを示す。第２乱数初期設定ＫＲＳ２のビット番号［１−０］は、乱数回路５０９における乱数値となる数値データでのスタート値に関する設定を示す。図９（Ｂ）に示す例において、第２乱数初期設定ＫＲＳ２のビット番号［１］におけるビット値が“０”であれば、スタート値が所定のデフォルト値０００１Ｈに設定される一方、“１”であるときには、メイン制御部４１毎に付与された固有の識別情報であるＩＤナンバーに基づく値がスタート値に設定される。また、図９（Ｂ）に示す例では、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値が“０”であれば、システムリセット毎にスタート値を変更しない設定となる一方、“１”であるときには、システムリセット毎にスタート値を変更する設定となる。
【００６１】
本実施例では、第２乱数初期設定ＫＲＳ２のビット番号［１］におけるビット値が“１”に設定され、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値が“１”に設定され、システムリセット毎に、ＩＤナンバーに基づく値がスタート値に設定されるようになっている。
【００６２】
尚、スタート値をＩＤナンバーに基づく値に設定する場合には、ＩＤナンバーに所定のスクランブル処理を施す演算や、ＩＤナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値をスタート値に用いるようにすれば良い。また、スタート値をシステムリセット毎に変更する場合には、例えばメイン制御部４１に内蔵されたフリーランカウンタのカウント値を、システムリセットの発生時にメイン制御部４１が備える所定の内蔵レジスタ（乱数スタート値用レジスタ）に格納する。そして、初期設定時に乱数スタート値用レジスタの格納値をそのまま用いること、或いは、その格納値を所定の演算関数（例えばハッシュ関数）に代入して得られた値を用いることなどにより、スタート値がランダムに決定されれば良い。フリーランカウンタは、遊技制御基板４０におけるバックアップ箇所と共通のバックアップ電源を用いてバックアップされるものであれば良い。或いは、フリーランカウンタは、ＲＡＭ５０７におけるバックアップ領域などに用いられるバックアップ電源とは別個に設けられた電源によりバックアップされても良い。こうして、フリーランカウンタがバックアップ電源によってバックアップされることで、電力供給が停止した場合でも、所定期間はフリーランカウンタにおけるカウント値が保存されることになる。
【００６３】
また、乱数回路５０９にて乱数値となる数値データを生成するための回路が２系統（第１及び第２チャネル対応）設けられる場合には、図９（Ａ）及び（Ｂ）に示す第１乱数初期設定ＫＲＳ１のビット番号［３−０］と第２乱数初期設定ＫＲＳ２のビット番号［３−０］とを、第１チャネルにおける初期設定を示すものとして使用する。その一方で、第１乱数初期設定ＫＲＳ１のビット番号［７−４］や第２乱数初期設定ＫＲＳ２のビット番号［７−４］を（図９（Ａ）及び（Ｂ）では省略）、第２チャネルにおける初期設定を示すものとして使用すれば良い。
【００６４】
プログラム管理エリアに記憶される割込初期設定ＫＩＩＳは、メイン制御部４１にて発生するマスカブル割込の取扱いに関する初期設定を示す。図９（Ｃ）は、割込初期設定ＫＩＩＳにおける設定内容の一例を示している。
【００６５】
割込初期設定ＫＩＩＳのビット番号［７−４］では、割込ベクタの上位４ビットを設定する。割込初期設定ＫＩＩＳのビット番号［３−０］では、マスカブル割込要因の優先度の組合せを設定する。図９（Ｃ）に示す例において、割込初期設定ＫＩＩＳのビット番号［３−０］により「００Ｈ」〜「０２Ｈ」及び「０６Ｈ」のいずれかが指定されれば、ＣＴＣ５０８からのマスカブル割込要因を最優先とする優先度の組合せが設定される。これに対して、「０３Ｈ」及び「０７Ｈ」のいずれかが指定されれば、乱数回路５０９からのマスカブル割込要因を最優先とする優先度の組合せが設定される。また、「０４Ｈ」及び「０５Ｈ」のいずれかが指定されれば、シリアル通信回路５１１からのマスカブル割込要因を最優先とする優先度の組合せが設定される。尚、同一回路からのマスカブル割込要因を最優先とする優先度の組合せでも、指定値が異なる場合には、最優先となるマスカブル割込要因の種類や第２順位以下における優先度の組合せなどが異なっている。
【００６６】
プログラム管理エリアに記憶されるセキュリティ時間設定ＫＳＥＳは、乱数用クロックＲＣＬＫの周波数を監視する場合に異常を検知する周波数や、メイン制御部４１の動作開始時などに移行するセキュリティモードの時間（セキュリティ時間）に関する設定を示す。ここで、メイン制御部４１の動作モードがセキュリティモードであるときには、所定のセキュリティチェック処理が実行されて、ＲＯＭ５０６の記憶内容が変更されたか否かが検査される。図１０（Ａ）は、セキュリティ時間設定ＫＳＥＳにおける設定内容の一例を示している。
【００６７】
セキュリティ時間設定ＫＳＥＳのビット番号［７−６］は、乱数用クロックＲＣＬＫの周波数を監視する場合に異常が検出される周波数を示す乱数用クロック異常検出設定である。図１０（Ｂ）は、セキュリティ時間設定ＫＳＥＳのビット番号［７−６］における設定内容の一例を示している。セキュリティ時間設定ＫＳＥＳのビット番号［７−６］は、内部システムクロックＳＣＬＫの周波数に基づき、乱数用クロックＲＣＬＫの周波数が異常と検知される基準値（判定値）を指定する。セキュリティ時間設定ＫＳＥＳのビット番号「５」は、固定のビット値“０”が設定される。
【００６８】
セキュリティ時間設定ＫＳＥＳのビット番号［４−３］は、セキュリティ時間をシステムリセット毎にランダムな時間分延長する場合の時間設定を示す。図１０（Ｃ）は、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］における設定内容の一例を示している。図１０（Ｃ）に示す例において、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値が“００”であれば、ランダムな時間延長を行わない設定となる。これに対して、そのビット値が“０１”であればショートモードの設定となり、“１０”であればロングモードの設定となる。ここで、ショートモードやロングモードが指定された場合には、例えばメイン制御部４１に内蔵されたフリーランカウンタのカウント値を、システムリセットの発生時にメイン制御部４１が備える所定の内蔵レジスタ（可変セキュリティ時間用レジスタ）に格納する。そして、初期設定時に可変セキュリティ時間用レジスタの格納値をそのまま用いること、或いは、その格納値を所定の演算関数（例えばハッシュ関数）に代入して得られた値を用いることなどにより、セキュリティ時間を延長する際の延長時間がランダムに決定されれば良い。一例として、内部システムクロックＳＣＬＫの周波数が６．０ＭＨｚである場合には、ショートモードにおいて０〜６８０μｓ（マイクロ秒）の範囲で延長時間がランダムに決定され、ロングモードにおいて０〜３４８，１６０μｓの範囲で延長時間がランダムに決定される。また、他の一例として、内部システムクロックＳＣＬＫの周波数が１０．０ＭＨｚである場合には、ショートモードにおいて０〜４０８μｓの範囲で延長時間がランダムに決定され、ロングモードにおいて０〜２０８，８９６μｓの範囲で延長時間がランダムに決定される。尚、セキュリティ時間を延長する際の延長時間をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタは、乱数回路５０９にて生成される乱数のスタート値をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタと、同一のカウンタであっても良いし、別個に設けられたカウンタであっても良い。
【００６９】
セキュリティ時間設定ＫＳＥＳのビット番号［２−０］は、セキュリティ時間を固定時間に加えて予め選択可能な複数の延長時間のいずれかとする場合の時間設定を示す。図１０（Ｄ）は、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］における設定内容の一例を示している。図１０（Ｄ）に示す例において、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値が“０００”であれば、固定時間に加える延長時間がなく延長しない設定となる。これに対して、そのビット値が“０００”以外の値であれば、内部システムクロックＳＣＬＫの周期ＴＳＣＬＫを用いて定められる複数の延長時間のいずれかに設定される。この場合には、指定されたビット値に応じて、異なる延長時間の設定となる。一例として、内部システムクロックＳＣＬＫの周波数が６．０ＭＨｚである場合に、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値が“００１”であれば、固定時間に加えて約６９９．１ｍｓ（ミリ秒）の延長時間が設定される。また、他の一例として、内部システムクロックＳＣＬＫの周波数が１０．０ＭＨｚである場合に、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値が“００１”であれば、固定時間に加えて約４１９．４ｍｓの延長時間が設定される。
【００７０】
また、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値によりショートモード又はロングモードを設定するとともに、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値を“０００”以外とすることにより固定時間に加える延長時間を設定することもできる。この場合には、ビット番号［２−０］におけるビット値に対応した延長時間と、ビット番号［４−３］におけるビット値に基づいてランダムに決定された延長時間との双方が、固定時間に加算されて、メイン制御部４１がセキュリティモードとなるセキュリティ時間が決定されることになる。
【００７１】
図５（Ａ）に示すメイン制御部４１が備える外部バスインタフェース５０１は、メイン制御部４１を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース５０１は、メイン制御部４１に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであれば良い。この実施の形態において、外部バスインタフェース５０１には、内部リソースアクセス制御回路５０１Ａが含まれている。
【００７２】
内部リソースアクセス制御回路５０１Ａは、外部バスインタフェース５０１を介した外部装置からメイン制御部４１の内部データに対するアクセスを制御して、例えばＲＯＭ５０６に記憶されたゲーム制御用プログラムや固定データといった、内部データの不適切な外部読出を制限するための回路である。ここで、外部バスインタフェース５０１には、例えばインサーキットエミュレータ（ＩＣＥ）といった回路解析装置が、外部装置として接続されることがある。
【００７３】
一例として、ＲＯＭ５０６のプログラム管理エリアに記憶されたヘッダＫＨＤＲの内容に応じて、ＲＯＭ５０６における記憶データの読み出しを禁止するか許可するかを切り替えられるようにする。例えば、ヘッダＫＨＤＲがバス出力マスク無効データとなっている場合には、外部装置によるＲＯＭ５０６の読み出しを可能にして、内部データの外部読出を許可する。これに対して、ヘッダＫＨＤＲがバス出力マスク有効データとなっている場合には、例えば外部バスインタフェース５０１におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることなどにより、外部装置からＲＯＭ５０６の読み出しを不能にして、内部データの外部読出を禁止する。この場合、外部バスインタフェース５０１に接続された外部装置から内部データの読み出しが要求されたときには、予め定められた固定値を出力することで、外部装置からは内部データを読み出すことができないようにする。また、ヘッダＫＨＤＲがＲＯＭ読出禁止データとなっている場合には、ＲＯＭ５０６自体を読出不能として、ＲＯＭ５０６における記憶データの読み出しを防止しても良い。そして、例えば製造段階のＲＯＭでは、ヘッダＫＨＤＲをＲＯＭ読出禁止データとすることで、ＲＯＭ自体を読出不能としておき、開発用ＲＯＭとするのであればバス出力マスク無効データをヘッダＫＨＤＲに書き込むことで、外部装置による内部データの検証を可能にする。これに対して、量産用ＲＯＭとするのであればバス出力マスク有効データをヘッダＫＨＤＲに書き込むことで、ＣＰＵ５０５などによるメイン制御部４１の内部におけるＲＯＭ５０６の読み出しは可能とする一方で、外部装置によるＲＯＭ５０６の読み出しはできないようにすれば良い。
【００７４】
他の一例として、内部リソースアクセス制御回路５０１Ａは、ＲＯＭ５０６における記憶データの全部又は一部といった、メイン制御部４１の内部データの読み出しが、外部バスインタフェース５０１に接続された外部装置から要求されたことを検出する。この読出要求を検出したときに、内部リソースアクセス制御回路５０１Ａは、メイン制御部４１の内部データの読み出しを許可するか否かの判定を行う。例えば、ＲＯＭ５０６における記憶データの全部又は一部に暗号化処理が施されているものとする。この場合、内部リソースアクセス制御回路５０１Ａは、外部装置からの読出要求がＲＯＭ５０６に記憶された暗号化処理プログラムや鍵データ等に対する読出要求であれば、この読出要求を拒否して、メイン制御部４１の内部データの読み出しを禁止する。外部バスインタフェース５０１では、ＲＯＭ５０６の記憶データが出力される出力ポートと、内部バスとの間にスイッチ素子を設け、内部リソースアクセス制御回路５０１Ａが内部データの読み出しを禁止した場合には、このスイッチ素子をオフ状態とするように制御すれば良い。このように、内部リソースアクセス制御回路５０１Ａは、外部装置からの読出要求が所定の内部データ（例えばＲＯＭ５０６の所定領域）の読み出しを要求するものであるか否かに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしても良い。
【００７５】
或いは、内部リソースアクセス制御回路５０１Ａは、内部データの読出要求を検出したときに、所定の認証コードが外部装置から入力されたか否かを判定しても良い。この場合には、例えば内部リソースアクセス制御回路５０１Ａの内部或いはＲＯＭ５０６の所定領域に、認証コードとなる所定のコードパターンが予め記憶されていれば良い。そして、外部装置から認証コードが入力されたときには、この認証コードを内部記憶された認証コードと比較して、一致すれば読出要求を受容して、メイン制御部４１の内部データの読み出しを許可する。これに対して、外部装置から入力された認証コードが内部記憶された認証コードと一致しない場合には、読出要求を拒否して、メイン制御部４１の内部データの読み出しを禁止する。このように、内部リソースアクセス制御回路５０１Ａは、外部装置から入力された認証コードが内部記憶された認証コードと一致するか否かに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしても良い。これにより、検査機関などが予め知得した正しい認証コードを用いて、メイン制御部４１の内部データを損なうことなく読み出すことができ、内部データの正当性を適切に検査することなどが可能になる。
【００７６】
さらに他の一例として、内部リソースアクセス制御回路５０１Ａに読出禁止フラグを設け、読出禁止フラグがオン状態であれば外部装置によるＲＯＭ５０６の読み出しを禁止する。その一方で、読出禁止フラグがオフ状態であるときには、外部装置によるＲＯＭ５０６の読み出しが許可される。ここで、読出禁止フラグは、初期状態ではオフ状態であるが、読出禁止フラグを一旦オン状態とした後には、読出禁止フラグをクリアしてオフ状態に復帰させることができないように構成されていれば良い。すなわち、読出禁止フラグはオフ状態からオン状態に不可逆的に変更することが可能とされている。例えば、内部リソースアクセス制御回路５０１Ａには、読出禁止フラグをクリアしてオフ状態とする機能が設けられておらず、どのような命令によっても読出禁止フラグをクリアすることができないように設定されていれば良い。そして、内部リソースアクセス制御回路５０１Ａは、外部装置からＲＯＭ５０６における記憶データといったメイン制御部４１の内部データの読み出しが要求されたときに、読出禁止フラグがオンであるか否かを判定する。このとき、読出禁止フラグがオンであれば、外部装置からの読出要求を拒否して、メイン制御部４１の内部データの読み出しを禁止する。他方、読出禁止フラグがオフであれば、外部装置からの読出要求を受容して、メイン制御部４１の内部データの読み出しを許可にする。このような構成であれば、ゲーム制御用のプログラムを作成してＲＯＭ５０６に格納する提供者においては、読出禁止フラグがオフとなっている状態でデバッグの終了したプログラムをＲＯＭ５０６から外部装置に読み込むことができる。そして、デバッグの作業が終了した後に出荷する際には、読出禁止フラグをオン状態にセットすることにより、それ以後はＲＯＭ５０６の外部読出を制限することができ、スロットマシン１の使用者などによるＲＯＭ５０６の読出を防止することができる。このように、内部リソースアクセス制御回路５０１Ａは、読出禁止フラグといった内部フラグがオフであるかオンであるかに応じて、内部データの読み出しを禁止するか許可するかを決定するようにしても良い。
【００７７】
尚、読出禁止フラグを不可逆に設定するのではなく、オン状態からオフ状態に変更することも可能とする一方で、読出禁止フラグをオン状態からオフ状態に変更して内部データの読み出しが許可されるときには、ＲＯＭ５０６の記憶データを消去（例えばフラッシュ消去など）することにより、ＲＯＭ５０６の外部読出を制限するようにしても良い。
【００７８】
メイン制御部４１が備えるクロック回路５０２は、例えば制御用外部クロック端子ＥＸＣに入力される発振信号を２分周することなどにより、内部システムクロックＳＣＬＫを生成する回路である。本実施例では、制御用外部クロック端子ＥＸＣに制御用クロック生成回路４２が生成した制御用クロックＣＣＬＫが入力される。クロック回路５０２により生成された内部システムクロックＳＣＬＫは、例えばＣＰＵ５０５といった、メイン制御部４１において遊技の進行を制御する各種回路に供給される。また、内部システムクロックＳＣＬＫは、乱数回路５０９にも供給され、乱数用クロック生成回路４３から供給される乱数用クロックＲＣＬＫの周波数を監視するために用いられる。さらに、内部システムクロックＳＣＬＫは、クロック回路５０２に接続されたシステムクロック出力端子ＣＬＫＯから、メイン制御部４１の外部へと出力されても良い。尚、内部システムクロックＳＣＬＫは、メイン制御部４１の外部へは出力されないことが望ましい。このように、内部システムクロックＳＣＬＫの外部出力を制限することにより、メイン制御部４１の内部回路（ＣＰＵ５０５など）の動作周期を外部から特定することが困難になり、乱数値となる数値データをソフトウェアにより更新する場合に、乱数値の更新周期が外部から特定されてしまうことを防止できる。
【００７９】
メイン制御部４１が備える固有情報記憶回路５０３は、例えばメイン制御部４１の内部情報となる複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路５０３は、ＲＯＭコード、チップ個別ナンバー、ＩＤナンバーといった３種類の固有情報を記憶する。ＲＯＭ５０６コードは、ＲＯＭ５０６の所定領域における記憶データから生成される４バイトの数値であり、生成方法の異なる４つの数値が準備されれば良い。チップ個別ナンバーは、メイン制御部４１の製造時に付与される４バイトの番号であり、メイン制御部４１を構成するチップ毎に異なる数値を示している。ＩＤナンバーは、メイン制御部４１の製造時に付与される８バイトの番号であり、メイン制御部４１を構成するチップ毎に異なる数値を示している。ここで、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、ＩＤナンバーはユーザプログラムから読み取ることができないように設定されていれば良い。尚、固有情報記憶回路５０３は、例えばＲＯＭ５０６の所定領域を用いることなどにより、ＲＯＭ５０６に含まれるようにしても良い。或いは、固有情報記憶回路５０３は、例えばＣＰＵ５０５の内蔵レジスタを用いることなどにより、ＣＰＵ５０５に含まれるようにしても良い。
【００８０】
メイン制御部４１が備えるリセット／割込コントローラ５０４は、メイン制御部４１の内部や外部にて発生する各種リセット、割込要求を制御するためのものである。リセット／割込コントローラ５０４が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子ＸＳＲＳＴに一定の期間にわたりローレベル信号（システムリセット信号）が入力されたときに発生するリセットである。ユーザリセットは、外部ユーザリセット端子ＸＵＲＳＴに一定の期間にわたりローレベルの信号（ユーザリセット信号）が入力されたとき、または内蔵ウォッチドッグタイマ（ＷＤＴ）のタイムアウト信号が発生したことや、指定エリア外走行禁止（ＩＡＴ）が発生したことなど、所定の要因により発生するリセットである。尚、本実施例では前述のように内蔵ウォッチドッグタイマを使用せずにリセット回路４９に搭載されたウォッチドッグタイマ（ＷＤＴ）を用いているため、外部ユーザリセット端子ＸＵＲＳＴにユーザリセット信号が入力されるか、指定エリア外走行禁止（ＩＡＴ）が発生することでユーザリセットが発生することとなる。
【００８１】
本実施例では、図５（Ｂ）に示すように、ウォッチドッグタイマ４９ａを内蔵するリセット回路４９を遊技制御基板４０に搭載している。リセット回路４９は、スロットマシン１への供給電源が安定電圧となり一定時間が経過するまでシステムリセット信号をメイン制御部４１に対して出力する。また、ウォッチドッグタイマ４９ａがタイムアウトした場合には、ユーザリセット信号をメイン制御部４１に対して出力する。
【００８２】
図５（Ｂ）に示すように、遊技制御基板４０では、ＬＥＤ駆動回路４７からクレジット表示器１１へ接続される信号線のうち、クレジット表示器１１を構成する複数のセグメントの駆動信号のうち下１桁Ｂセグメント信号、下１桁Ｃセグメント信号、上１桁Ｂセグメント信号、上１桁Ｃセグメント信号の信号線が分岐し、ｏｒ回路を介してリセット回路４９のウォッチドッグタイマクリア信号端子に接続されている。
【００８３】
本実施例では、メイン制御部４１が、クレジット表示器１１の下１桁Ｂセグメント、下１桁Ｃセグメント、上１桁Ｂセグメント、上１桁Ｃセグメントのいずれかのセグメントを必ずダイナミック点灯させる制御を行っており、これらのセグメントをダイナミック点灯させるため、メイン制御部４１が正常に動作していれば、これら４つのセグメントのいずれかの駆動信号が定期的に出力されるはずであり、これら４つのセグメントのいずれかの駆動信号が定期的に出力されているか否かを監視することにより、メイン制御部４１が正常に動作しているか否かを判定することが可能となる。
【００８４】
そして、これら４つのセグメントの駆動信号をｏｒ回路を介して１つにまとめられた信号がリセット回路４９のウォッチドッグタイマクリア信号端子に入力され、ウォッチドッグタイマ４９ａがクリアされるようになっており、上記４つのセグメントの駆動信号の出力が停止して、ウォッチドッグタイマ４９ａがクリアされず、タイムアップすることで、ユーザリセット信号がメイン制御部４１に対して出力されるようになっている。
【００８５】
このように本実施例では、定期的に駆動信号が与えられるＬＥＤのセグメント信号を分岐してウォッチドッグタイマ４９ａをクリアするようになっており、メイン制御部４１のＣＰＵ５０５が個別にウォッチドッグタイマ４９ａをクリアする処理を行うことなく、メイン制御部４１が正常に動作しているか否かを監視することが可能となることから好ましいが、メイン制御部４１からリセット回路４９のウォッチドッグタイマクリア信号端子に個別のクリア信号を入力することでウォッチドッグタイマ４９ａをクリアするようにしても良い。
【００８６】
また、本実施例では、メイン制御部４１の外部に設けられたリセット回路４９にウォッチドッグタイマ４９ａを搭載する構成であるが、メイン制御部４１に内蔵されたウォッチドッグタイマを用いてメイン制御部４１の動作を監視するようにしても良い。
【００８７】
リセット／割込コントローラ５０４が制御する割込には、ノンマスカブル割込ＮＭＩとマスカブル割込ＩＮＴが含まれている。ノンマスカブル割込ＮＭＩは、ＣＰＵ５０５の割込禁止状態でも無条件に受け付けられる割込であり、外部ノンマスカブル割込端子ＸＮＭＩ（入力ポートＰ４と兼用）に一定の期間にわたりローレベル信号が入力されたときに発生する割込である。マスカブル割込ＩＮＴは、ＣＰＵ５０５の設定命令により、割込要求の受け付けを許可／禁止できる割込であり、優先順位設定による多重割込の実行が可能である。マスカブル割込ＩＮＴの要因としては、外部マスカブル割込端子ＸＩＮＴ（入力ポートＰ３と兼用）に一定の期間にわたりローレベル信号が入力されたこと、ＣＴＣ５０８に含まれるタイマ回路にてタイムアウトが発生したこと、シリアル通信回路５１１にてデータ送信による割込要因が発生したこと、乱数回路５０９にて乱数値となる数値データの取込による割込要因が発生したことなど、複数種類の割込要因が予め定められていれば良い。
【００８８】
リセット／割込コントローラ５０４は、図７（Ｂ）に示すようなメイン制御部４１が備える内蔵レジスタのうち、割込マスクレジスタＩＭＲ（アドレス２０２８Ｈ）、割込待ちモニタレジスタＩＲＲ（アドレス２０２９Ｈ）、割込中モニタレジスタＩＳＲ（アドレス２０２ＡＨ）、内部情報レジスタＣＩＦ（アドレス２０８ＣＨ）などを用いて、割込の制御やリセットの管理を行う。割込マスクレジスタＩＭＲは、互いに異なる複数の要因によるマスカブル割込ＩＮＴのうち、使用するものと使用しないものとを設定するレジスタである。割込待ちモニタレジスタＩＲＲは、割込初期設定ＫＩＩＳにより設定されたマスカブル割込要因のそれぞれについて、マスカブル割込要求信号の発生状態を確認するレジスタである。割込中モニタレジスタＩＳＲは、割込初期設定ＫＩＩＳにより設定されたマスカブル割込要因のそれぞれについて、マスカブル割込要求信号の処理状態を確認するレジスタである。内部情報レジスタＣＩＦは、直前に発生したリセット要因を管理したり、乱数用クロックＲＣＬＫの周波数異常を記録したりするためのレジスタである。
【００８９】
図１１（Ａ）は、内部情報レジスタＣＩＦの構成例を示している。図１１（Ｂ）は、内部情報レジスタＣＩＦに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタＣＩＦのビット番号［４］に格納される内部情報データＣＩＦ４は、乱数用クロックＲＣＬＫにおける周波数異常の有無を示す乱数用クロック異常指示である。図１１（Ｂ）に示す例では、乱数用クロックＲＣＬＫの周波数異常が検知されないときに、内部情報データＣＩＦ４のビット値が“０”となる一方、周波数異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［２］に格納される内部情報データＣＩＦ２は、直前に発生したリセット要因がシステムリセットであるか否かを示すシステムリセット指示である。図１１（Ｂ）に示す例では、直前のリセット要因がシステムリセットではないときに（システムリセット未発生）、内部情報データＣＩＦ２のビット値が“０”となる一方、システムリセットであるときには（システムリセット発生）、そのビット値が“１”となる。
【００９０】
内部情報レジスタＣＩＦのビット番号［１］に格納される内部情報データＣＩＦ１は、直前に発生したリセット要因がウォッチドッグタイマ（ＷＤＴ）のタイムアウトによるユーザリセットであるか否かを示すＷＤＴタイムアウト指示である。図１１（Ｂ）に示す例では、直前のリセット要因がウォッチドッグタイマのタイムアウトによるユーザリセットではないときに（タイムアウト未発生）、内部情報データＣＩＦ１のビット値が“０”となる一方、ウォッチドッグタイマのタイムアウトによるユーザリセットであるときに（タイムアウト発生）、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［０］に格納される内部情報データＣＩＦ０は、直前に発生したリセット要因が指定エリア外走行禁止（ＩＡＴ）によるユーザリセットであるか否かを示すＩＡＴ発生指示である。図１１（Ｂ）に示す例では、直前のリセット要因が指定エリア外走行の発生によるユーザリセットではないときに（ＩＡＴ発生なし）、内部情報データＣＩＦ０のビット値が“０”となる一方、指定エリア外走行の発生によるユーザリセットであるときに（ＩＡＴ発生あり）、そのビット値が“１”となる。
【００９１】
メイン制御部４１が備えるＣＰＵ５０５は、ＲＯＭ５０６から読み出したプログラムを実行することにより、スロットマシン１におけるゲームの進行を制御するための処理などを実行する。このときには、ＣＰＵ５０５がＲＯＭ５０６から固定データを読み出す固定データ読出動作や、ＣＰＵ５０５がＲＡＭ５０７に各種の変動データを書き込んで一時記憶させる変動データ書込動作、ＣＰＵ５０５がＲＡＭ５０７に一時記憶されている各種の変動データを読み出す変動データ読出動作、ＣＰＵ５０５が外部バスインタフェース５０１やＰＩＰ５１０などを介してメイン制御部４１の外部から各種信号の入力を受け付ける受信動作、ＣＰＵ５０５が外部バスインタフェース５０１やシリアル通信回路５１１などを介してメイン制御部４１の外部へと各種信号を出力する送信動作等も行われる。
【００９２】
このように、メイン制御部４１では、ＣＰＵ５０５がＲＯＭ５０６に格納されているプログラムに従って制御を実行するので、以下、メイン制御部４１（又はＣＰＵ５０５）が実行する（又は処理を行う）ということは、具体的には、ＣＰＵ５０５がプログラムに従って制御を実行することである。このことは、遊技制御基板４０以外の他の基板に搭載されているマイクロコンピュータについても同様である。
【００９３】
メイン制御部４１が備えるＲＯＭ５０６には、ゲーム制御用のユーザプログラムや固定データ等が記憶されている。また、ＲＯＭ５０６には、セキュリティチェックプログラム５０６Ａが記憶されている。ＣＰＵ５０５は、スロットマシン１の電源投入やシステムリセットの発生に応じてメイン制御部４１がセキュリティモードに移行したときに、ＲＯＭ５０６に記憶されたセキュリティチェックプログラム５０６Ａを読み出し、ＲＯＭ５０６の記憶内容が変更されたか否かを検査するセキュリティチェック処理を実行する。尚、セキュリティチェックプログラム５０６Ａは、ＲＯＭ５０６とは異なる内蔵メモリに記憶されても良い。また、セキュリティチェックプログラム５０６Ａは、例えば外部バスインタフェース５０１を介してメイン制御部４１に外付けされた外部メモリの記憶内容を検査するセキュリティチェック処理に対応したものであっても良い。
【００９４】
メイン制御部４１が備えるＲＡＭ５０７は、ゲーム制御用のワークエリアを提供する。ここで、ＲＡＭ５０７の少なくとも一部は、バックアップ電源によってバックアップされているバックアップＲＡＭであれば良い。すなわち、スロットマシンへの電力供給が停止しても、所定期間はＲＡＭ５０７の少なくとも一部の内容が保存される。尚、本実施例では、ＲＡＭ５０７の全ての領域がバックアップＲＡＭとされており、スロットマシンへの電力供給が停止しても、所定期間はＲＡＭ５０７の全ての内容が保存される。
【００９５】
メイン制御部４１が備えるＣＴＣ５０８は、例えば８ビットのプログラマブルタイマを３チャネル（ＰＴＣ０−ＰＴＣ２）内蔵して構成され、リアルタイム割込の発生や時間計測を可能とするタイマ回路を含んでいる。各プログラマブルタイマＰＴＣ０−ＰＴＣ２は、内部システムクロックＳＣＬＫに基づいて生成されたカウントクロックの信号変化（例えばハイレベルからローレベルへと変化する立ち下がりタイミング）などに応じて、タイマ値が更新されるものであれば良い。また、ＣＴＣ５０８は、例えば８ビットのプログラマブルカウンタを４チャネル（ＰＣＣ０−ＰＣＣ３）内蔵しても良い。各プログラマブルカウンタＰＣＣ０−ＰＣＣ３は、内部システムクロックＳＣＬＫの信号変化、或いは、プログラマブルカウンタＰＣＣ０−ＰＣＣ３のいずれかにおけるタイムアウトの発生などに応じて、カウント値が更新されるものであれば良い。ＣＴＣ５０８は、セキュリティ時間を延長する際の延長時間（可変設定時間）をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタや、乱数回路５０９にて生成される乱数のスタート値をシステムリセット毎にランダムに決定するために用いられるフリーランカウンタなどを、含んでも良い。或いは、これらのフリーランカウンタは、例えばＲＡＭ５０７のバックアップ領域といった、ＣＴＣ５０８とは異なるメイン制御部４１の内部回路に含まれても良い。
【００９６】
メイン制御部４１が備える乱数回路５０９は、例えば１６ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、遊技制御基板４０の側において、後述する内部抽選用の乱数値を示す数値データがカウント可能に制御される。尚、遊技効果を高めるために、これら以外の乱数値が用いられても良い。ＣＰＵ５０５は、乱数回路５０９から抽出した数値データに基づき、乱数回路５０９とは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工或いは更新することで、内部抽選用の乱数値を示す数値データをカウントするようにしても良い。以下では、内部抽選用の乱数値を示す数値データが、ハードウェアとなる乱数回路５０９からＣＰＵ５０５により抽出された数値データをソフトウェアにより加工しないものとする。尚、乱数回路５０９は、メイン制御部４１に内蔵されるものであっても良いし、メイン制御部４１とは異なる乱数回路チップとして、メイン制御部４１に外付けされるものであっても良い。
【００９７】
内部抽選用の乱数値は、複数種類の入賞について発生を許容するか否かを判定するために用いられる値であり、本実施例では、「０」〜「６５５３５」の範囲の値をとる。
【００９８】
図１２は、乱数回路５０９の一構成例を示すブロック図である。乱数回路５０９は、図１２に示すように、周波数監視回路５５１、クロック用フリップフロップ５５２、乱数生成回路５５３、スタート値設定回路５５４、乱数列変更回路５５５、乱数列変更設定回路５５６、ラッチ用フリップフロップ５５７Ａ、５５７Ｂ、乱数ラッチセレクタ５５８Ａ、５５８Ｂ、乱数値レジスタ５５９Ａ、５５９Ｂを備えて構成される。尚、乱数値レジスタ５５９Ａと乱数値レジスタ５５９Ｂはそれぞれ、図７（Ｂ）に示すようなメイン制御部４１の内蔵レジスタに含まれる乱数値レジスタＲ１Ｄ（アドレス２０３８Ｈ−２０３９Ｈ）と乱数値レジスタＲ２Ｄ（アドレス２０３ＡＨ−２０３ＢＨ）に対応している。尚、本実施例では、取得する乱数が内部抽選用の乱数値のみであり、ラッチ用フリップフロップ５５７Ａ、５５７Ｂ、乱数ラッチセレクタ５５８Ａ、５５８Ｂ、乱数値レジスタ５５９Ａ、５５９Ｂのうちラッチ用フリップフロップ５５７Ｂ、乱数ラッチセレクタ５５８Ｂ、乱数値レジスタ５５９Ｂは未使用とされている。
【００９９】
周波数監視回路５５１は、乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫの周波数を監視して、その異常発生を検知するための回路である。周波数監視回路５５１は、例えば乱数用外部クロック端子ＥＲＣに入力される発振信号を監視して、内部システムクロックＳＣＬＫに基づきセキュリティ時間設定ＫＳＥＳのビット番号［７−６］における設定内容（図１０（Ｂ）参照）に応じた周波数異常を検知したときに、内部情報レジスタＣＩＦのビット番号［４］を“１”にセットする。本実施例では、乱数用外部クロック端子ＥＲＣに乱数用クロック生成回路４３が生成した乱数用クロックＲＣＬＫが入力される。
【０１００】
クロック用フリップフロップ５５２は、例えばＤ型フリップフロップなどを用いて構成され、乱数用外部クロック端子ＥＲＣからの乱数用クロックＲＣＬＫがクロック端子ＣＫに入力される。また、クロック用フリップフロップ５５２では、逆相出力端子（反転出力端子）ＱバーがＤ入力端子に接続されている。そして、正相出力端子（非反転出力端子）Ｑから乱数更新クロックＲＧＫを出力する一方で、逆相出力端子（反転出力端子）Ｑバーからラッチ用クロックＲＣ０を出力する。この場合、クロック用フリップフロップ５５２は、クロック端子ＣＫに入力される乱数用クロックＲＣＬＫにおける信号状態が所定の変化をしたときに、正相出力端子（非反転出力端子）Ｑ及び逆相出力端子（反転出力端子）Ｑバーからの出力信号における信号状態を変化させる。例えば、クロック用フリップフロップ５５２は、乱数用クロックＲＣＬＫの信号状態がローレベルからハイレベルへと変化する立ち上がりのタイミング、或いは、乱数用クロックＲＣＬＫの信号状態がハイレベルからローレベルへと変化する立ち下がりのタイミングのうち、いずれか一方のタイミングにて、Ｄ入力端子における入力信号を取り込む。このとき、正相出力端子（非反転出力端子）Ｑからは、Ｄ入力端子にて取り込まれた入力信号が反転されることなく出力される一方で、逆相出力端子（反転出力端子）Ｑバーからは、Ｄ入力端子にて取り込まれた入力信号が反転されて出力される。こうして、クロック用フリップフロップ５５２の正相出力端子（非反転出力端子）Ｑからは乱数用クロックＲＣＬＫにおける発振周波数（例えば２０ＭＨｚ）の１／２となる発振周波数（例えば１０ＭＨｚ）を有する乱数更新クロックＲＧＫが出力される一方、逆相出力端子（反転出力端子）Ｑバーからは乱数更新クロックＲＧＫの逆相信号（反転信号）、すなわち乱数更新クロックＲＧＫと同一周波数で乱数更新クロックＲＧＫとは位相がπ（＝１８０°）だけ異なるラッチ用クロックＲＣ０が出力される。
【０１０１】
クロック用フリップフロップ５５２から出力された乱数更新クロックＲＧＫは、乱数生成回路５５３のクロック端子に入力されて、乱数生成回路５５３におけるカウント値の歩進に用いられる。また、クロック用フリップフロップ５５２から出力されたラッチ用クロックＲＣ０は、分岐点ＢＲ１にてラッチ用クロックＲＣ１とラッチ用クロックＲＣ２とに分岐される。したがって、ラッチ用クロックＲＣ１とラッチ用クロックＲＣ２とは、互いに同一の発振周波数を有し、互いに共通の周期で信号状態が変化することになる。ここで、ラッチ用クロックＲＣ１やラッチ用クロックＲＣ２における信号状態の変化としては、例えばローレベルからハイレベルへと変化する立ち上がりや、ハイレベルからローレベルへと変化する立ち下がりなどがある。ラッチ用クロックＲＣ１は、ラッチ用フリップフロップ５５７Ａのクロック端子ＣＫに入力されて、ゲーム開始時ラッチ信号ＳＬ１の生成に用いられる乱数取得用クロックとなる。
【０１０２】
乱数用クロックＲＣＬＫの発振周波数と、制御用クロック生成回路４２によって生成される制御用クロックＣＣＬＫの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。一例として、制御用クロックＣＣＬＫの発振周波数が１１．０ＭＨｚである一方で、乱数用クロックＲＣＬＫの発振周波数は９．７ＭＨｚであれば良い。そのため、乱数更新クロックＲＧＫやラッチ用クロックＲＣ１、ＲＣ２はいずれも、ＣＰＵ５０５に供給される制御用クロックＣＣＬＫとは異なる周期で信号状態が変化する発振信号となる。すなわち、クロック用フリップフロップ５５２は、乱数用クロック生成回路４３によって生成された乱数用クロックＲＣＬＫに基づき、カウント値を更新するための乱数更新クロックＲＧＫや、複数の乱数取得用クロックとなるラッチ用クロックＲＣ１、ＲＣ２として、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫ（制御用クロックＣＣＬＫを２分周したもの）とは異なる周期で信号状態が変化する発振信号を生成する。
【０１０３】
乱数生成回路５５３は、例えば１６ビットのカウンタなどから構成され、クロック用フリップフロップ５５２から出力される乱数更新クロックＲＧＫなどの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路５５３は、所定のクロック端子への入力信号である乱数更新クロックＲＧＫにおける立ち上がりエッジに応答して、「０」から「６５５３５」までの範囲内で設定された初期値から「６５５３５」まで１ずつ加算するように数値データをカウントアップして行く。そして、「６５５３５」までカウントアップした後には、「０」から初期値よりも１小さい最終値となる数値まで１ずつ加算するようにカウントアップすることで、数値データを循環的に更新する。
【０１０４】
スタート値設定回路５５４は、第２乱数初期設定ＫＲＳ２のビット番号［１−０］におけるビット値（図９（Ｂ）参照）に応じて、乱数生成回路５５３により生成されるカウント値におけるスタート値を設定する。例えば、スタート値設定回路５５４は、第２乱数初期設定ＫＲＳ２のビット番号［１−０］が“００”であればスタート値をデフォルト値である「００００Ｈ」に設定し、“１０”であればＩＤナンバーに基づく値に設定し、“０１”であればシステムリセット毎に変更される値に設定する。本実施例では、第２乱数初期設定ＫＲＳ２のビット番号［１−０］が“１０”に設定されており、乱数生成回路５５３により生成されるカウント値におけるスタート値としてＩＤナンバーに基づく値が設定される。
【０１０５】
乱数列変更回路５５５は、乱数生成回路５５３により生成された数値データが一巡したときに、数値データの更新順である順列を所定の乱数更新規則に従った順列に変更可能とする回路である。例えば、乱数列変更回路５５５は、乱数生成回路５５３から出力される数値データにおけるビットの入れ替えや転置などのビットスクランブル処理を実行する。また、乱数列変更回路５５５は、例えばビットスクランブル処理に用いるビットスクランブル用キーやビットスクランブルテーブルを変更することなどにより、数値データの更新順である順列の変更を行うことができる。
【０１０６】
乱数列変更設定回路５５６は、第１乱数初期設定ＫＲＳ１のビット番号［１−０］におけるビット値（図９（Ａ）参照）などに応じて、乱数列変更回路５５５における数値データの更新順を変更する設定を行うための回路である。例えば、乱数列変更設定回路５５６は、第１乱数初期設定ＫＲＳ１のビット番号［１−０］が“００”であれば２周目以降も乱数更新規則を変更しない設定とする一方、“０１”であれば２周目以降はソフトウェアでの変更要求に応じて乱数更新規則を変更し、“１０”であれば自動で乱数更新規則を変更する。本実施例では、第１乱数初期設定ＫＲＳ１のビット番号［１−０］が“１０”に設定されており、自動で乱数更新規則が変更される。
【０１０７】
乱数列変更設定回路５５６は、第１乱数初期設定ＫＲＳ１のビット番号［１−０］が“０１”であることに対応してソフトウェアによる乱数更新規則の変更を行う場合に、図７（Ｂ）に示すようなメイン制御部４１が備える内蔵レジスタのうち、乱数列変更レジスタＲＤＳＣ（アドレス２０３４Ｈ）を用いて、乱数更新規則の変更を制御する。図１３（Ａ）は、乱数列変更レジスタＲＤＳＣの構成例を示している。図１３（Ｂ）は、乱数列変更レジスタＲＤＳＣに格納される乱数列変更要求データの各ビットにおける設定内容の一例を示している。乱数列変更レジスタＲＤＳＣのビット番号［０］に格納される乱数列変更要求データＲＤＳＣ０は、乱数更新規則をソフトウェアにより変更する場合に、乱数列の変更要求の有無を示している。図１３（Ｂ）に示す例では、ソフトウェアにより乱数列の変更要求がないときに、乱数列変更要求データＲＤＳＣ０のビット値が“０”となる一方、乱数列の変更要求があったときには、そのビット値が“１”となる。
【０１０８】
図１４は、乱数更新規則をソフトウェアにより変更する場合の動作例を示している。この場合、乱数生成回路５５３から出力されるカウント値順列ＲＣＮが所定の初期値から所定の最終値まで循環的に更新されたときに、乱数列変更要求データＲＤＳＣ０が“１”であることに応答して、乱数更新規則を変更する。図１４に示す動作例では、始めに乱数列変更回路５５５から出力される乱数列ＲＳＮが、「０→１→…→６５５３５」となっている。この後、ＣＰＵ５０５がＲＯＭ５０６に格納されたユーザプログラムを実行することによって、所定のタイミングで乱数列変更レジスタＲＤＳＣのビット番号［０］に“１”が書き込まれたものとする。
【０１０９】
そして、第１乱数初期設定ＫＲＳ１のビット番号［１−０］が“０１”であることに対応して、乱数列変更設定回路５５６が乱数列変更要求データＲＤＳＣ０を読み出し、そのビット値が“１”であることに応答して、乱数更新規則を変更するための設定を行う。このとき、乱数列変更設定回路５５６は、乱数生成回路５５３から出力されたカウント値順列ＲＣＮが所定の最終値に達したことに応じて、例えば予め用意された複数種類の乱数更新規則のいずれかを選択することなどにより、乱数更新規則を変更する。図１４に示す動作例では、乱数列変更回路５５５が乱数生成回路５５３から出力されたカウント値順列ＲＣＮにおける最終値に対応する数値データ「６５５３５」を出力した後、乱数列変更要求データＲＤＳＣ０に応じて乱数更新規則を変更する。その後、乱数列変更回路５５５は、変更後の乱数更新規則に従った乱数列ＲＳＮとして、「６５５３５→６５５３４→…→０」を出力する。乱数列変更レジスタＲＤＳＣは、乱数列変更設定回路５５６により乱数列変更要求データＲＤＳＣ０が読み出されたときに初期化される。そのため、再び乱数列変更レジスタＲＤＳＣのビット番号［０］にビット値“１”が書き込まれるまでは、乱数列変更回路５５５から出力される乱数列ＲＳＮが、「６５５３５→６５５３４→…→０」となる。
【０１１０】
ＣＰＵ５０５によって、乱数列変更レジスタＲＤＳＣのビット番号［０］に再びビット値“１”が書き込まれると、乱数更新規則が再度変更される。図１４に示す動作例では、乱数列変更回路５５５が乱数列ＲＳＮにおける最終値に対応する数値データ「０」を出力したときに、乱数列変更要求データＲＤＳＣ０としてビット値“１”が書き込まれたことに応じて乱数更新規則を変更する。その後、乱数列変更回路５５５は、変更後の乱数更新規則に従った乱数列ＲＳＮとして、「０→２→…→６５５３４→１→…→６５５３５」を出力する。
【０１１１】
図１５は、乱数更新規則を自動で変更する場合の動作例を示している。この場合、乱数生成回路５５３から出力されるカウント値順列ＲＣＮが所定の初期値から所定の最終値まで循環的に更新されたことに応じて、乱数列変更設定回路５５６が自動的に乱数更新規則を変更する。図１５に示す動作例では、始めに乱数列変更回路５５５から出力される乱数列ＲＳＮが、「０→１→…→６５５３５」となっている。
【０１１２】
そして、乱数列変更回路５５５から出力された乱数列ＲＳＮが所定の最終値に達したときに、乱数列変更設定回路５５６は、予め用意された複数種類の更新規則のうちから予め定められた順序に従って更新規則を選択することにより、更新規則を変更するようにしても良い。或いは、乱数列変更設定回路５５６は、複数種類の更新規則のうちから任意の更新規則を選択することにより、更新規則を変更するようにしても良い。図１５に示す動作例では、１回目の乱数更新規則の変更により、乱数列変更回路５５５から出力される乱数列ＲＳＮが、「６５５３５→６５５３４→…→０」となる。その後、２回目の乱数更新規則の変更により、乱数列変更回路５５５から出力される乱数列ＲＳＮは、「０→２→…→６５５３４→１→…→６５５３５」となる。図１５に示す動作例では、３回目の乱数更新規則の変更により、乱数列変更回路５５５から出力される乱数列ＲＳＮは、「６５５３４→０→…→３２７６８」となる。４回目の乱数更新規則の変更が行われたときには、乱数列変更回路５５５から出力される乱数列ＲＳＮが、「１６３８３→４９１５１→…→４９１５０」となる。５回目の乱数更新規則の変更が行われたときには、乱数列変更回路５５５から出力される乱数列ＲＳＮが、「４→３→…→４６５５３１」となる。
【０１１３】
ラッチ用フリップフロップ５５７Ａは、例えばＤ型フリップフロップなどを用いて構成される。ラッチ用フリップフロップ５５７Ａでは、Ｄ入力端子にＰＩＰ５１０が備える入力ポートＰ０からの配線が接続され、クロック端子ＣＫにラッチ用クロックＲＣ１を伝送する配線が接続されている。本実施例では、入力ポートＰ０にスタートスイッチ７からのゲーム開始信号ＳＳ１が入力される。ラッチ用フリップフロップ５５７Ａは、ラッチ用クロックＲＣ１の立ち上がりエッジなどに応答して、ゲーム開始信号ＳＳ１を取り込み、ゲーム開始時ラッチ信号ＳＬ１として出力する。これにより、ラッチ用フリップフロップ５５７Ａでは、ラッチ用クロックＲＣ１の立ち上がりエッジに同期して、ゲーム開始信号ＳＳ１がゲーム開始時ラッチ信号ＳＬ１として出力される。
【０１１４】
尚、ゲーム開始信号ＳＳ１は、スタートスイッチ７から直接伝送されるものに限定されない。一例として、スタートスイッチ７からの出力信号がオン状態となっている時間を計測し、計測した時間が所定の時間（例えば３ｍｓ）になったときに、ゲーム開始信号ＳＳ１を出力するタイマ回路を設けても良い。
【０１１５】
乱数ラッチセレクタ５５８Ａは、ラッチ用フリップフロップ５５７Ａから伝送されるゲーム開始時ラッチ信号ＳＬ１と、ソフトウェアによる乱数ラッチ要求信号とを取り込み、いずれかを乱数ラッチ信号ＬＬ１として選択的に出力する回路である。乱数ラッチセレクタ５５８Ａは、図７（Ｂ）に示すようなメイン制御部４１が備える内蔵レジスタのうち、乱数値取込レジスタＲＤＬＴ（アドレス２０３２Ｈ）を用いて、乱数ラッチ信号ＬＬ１の出力を制御する。乱数値取込レジスタＲＤＬＴは、乱数列変更回路５５５から出力された乱数列ＲＳＮにおける数値データを、ソフトウェアにより乱数値レジスタ５５９Ａに取り込むために用いられるレジスタである。乱数ラッチ選択レジスタＲＤＬＳは、乱数列変更回路５５５から出力された乱数列ＲＳＮにおける数値データを、乱数値レジスタ５５９Ａに、ソフトウェアにより取り込むか、入力ポートＰ０への信号入力により取り込むかの取込方法を示すレジスタである。
【０１１６】
図１６（Ａ）は、乱数値取込レジスタＲＤＬＴの構成例を示している。図１６（Ｂ）は、乱数値取込レジスタＲＤＬＴに格納される乱数値取込指定データの各ビットにおける設定内容の一例を示している。乱数値取込レジスタＲＤＬＴのビット番号［０］に格納される乱数値取込指定データＲＤＬＴ０は、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａに対する乱数値取込指定の有無を示している。図１６（Ｂ）に示す例では、ソフトウェアにより乱数値レジスタＲ１Ｄに対する乱数値の取込指定がないときに、乱数値取込指定データＲＤＬＴ０のビット値が“０”となる一方、乱数値の取込指定があったときには、そのビット値が“１”となる。
【０１１７】
図１７（Ａ）は、乱数ラッチ選択レジスタＲＤＬＳの構成例を示している。図１７（Ｂ）は、乱数ラッチ選択レジスタＲＤＬＳに格納される乱数ラッチ選択データの各ビットにおける設定内容の一例を示している。乱数ラッチ選択レジスタＲＤＬＳのビット番号［０］に格納される乱数ラッチ選択データＲＤＬＳ０は、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａへの取込方法を示している。図１７（Ｂ）に示す例では、ソフトウェアによる乱数値取込指定データＲＤＬＴ０の書き込みに応じて乱数値となる数値データを乱数値レジスタＲ１Ｄに取り込む場合に、乱数ラッチ選択データＲＤＬＳ０のビット値を“０”とする。これに対して、入力ポートＰ０への信号入力に応じて乱数値となる数値データを乱数値レジスタＲ１Ｄに取り込む場合には、乱数ラッチ選択データＲＤＬＳ０のビット値を“１”とする。本実施例では、乱数ラッチ選択データＲＤＬＳ０のビット値が“１”とされており、入力ポートＰ０への信号入力に応じて乱数値となる数値データが乱数値レジスタＲ１Ｄに取り込まれる。
【０１１８】
乱数値レジスタ５５９Ａは、乱数列変更回路５５５から出力された乱数列ＲＳＮにおける数値データを乱数値として格納するレジスタである。図１８（Ａ）及び（Ｂ）は、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａの構成例を示している。尚、図１８（Ａ）は、乱数値レジスタＲ１Ｄの下位バイトＲ１Ｄ（Ｌ）を示し、図１８（Ｂ）は、乱数値レジスタＲ１Ｄの上位バイトＲ１Ｄ（Ｈ）を示している。乱数値レジスタ５５９Ａは１６ビット（２バイト）のレジスタであり、１６ビットの乱数値を格納することができる。
【０１１９】
乱数値レジスタ５５９Ａは、乱数ラッチセレクタ５５８Ａから供給される乱数ラッチ信号ＬＬ１がオン状態となったことに応答して、乱数列変更回路５５５から出力された乱数列ＲＳＮにおける数値データを乱数値として取り込んで格納する。乱数値レジスタ５５９Ａは、ＣＰＵ５０５から供給されるレジスタリード信号ＲＲＳ１がオン状態となったときに、読出可能（イネーブル）状態となり、格納されている数値データを内部バス等に出力する。これに対して、レジスタリード信号ＲＲＳ１がオフ状態であるときには、常に同じ値（例えば「６５５３５Ｈ」など）を出力して、読出不能（ディセーブル）状態となれば良い。また、乱数値レジスタ５５９Ａは、乱数ラッチ信号ＬＬ１がオン状態である場合に、レジスタリード信号ＲＲＳ１を受信不可能な状態となるようにしても良い。さらに、乱数値レジスタ５５９Ａは、乱数ラッチ信号ＬＬ１がオン状態となるより前にレジスタリード信号ＲＲＳ１がオン状態となっている場合に、乱数ラッチ信号ＬＬ１を受信不可能な状態となるようにしても良い。
【０１２０】
乱数値レジスタ５５９Ａは、図７（Ｂ）に示すようなメイン制御部４１が備える内蔵レジスタのうち、乱数ラッチフラグレジスタＲＤＦＭ（アドレス２０３３Ｈ）と、乱数割込制御レジスタＲＤＩＣ（アドレス２０３１Ｈ）とを用いて、乱数ラッチ時の動作管理や割込制御を可能にする。乱数ラッチフラグレジスタＲＤＦＭは、乱数値レジスタ５５９Ａに対応して、乱数値となる数値データがラッチされたか否かを示す乱数ラッチフラグを格納するレジスタである。乱数割込制御レジスタＲＤＩＣは、乱数値レジスタ５５９Ａに乱数値となる数値データがラッチされたときに発生する割込の許可／禁止を設定するレジスタである。
【０１２１】
図１９（Ａ）は、乱数ラッチフラグレジスタＲＤＦＭの構成例を示している。図１９（Ｂ）は、乱数ラッチフラグレジスタＲＤＦＭに格納される乱数ラッチフラグデータの各ビットにおける設定内容の一例を示している。乱数ラッチフラグレジスタＲＤＦＭのビット番号［０］に格納される乱数ラッチフラグデータＲＤＦＭ０は、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａに数値データが取り込まれたか否かを示す乱数ラッチフラグとなる。図１９（Ｂ）に示す例では、乱数値レジスタＲ１Ｄに数値データが取り込まれていないときに（乱数値取込なし）、乱数ラッチフラグデータＲＤＦＭ０のビット値が“０”となる一方、数値データが取り込まれたときには（乱数値取込あり）、そのビット値が“１”となる。乱数ラッチフラグデータＲＤＦＭ０が“１”の状態、すなわち乱数値レジスタＲ１Ｄに数値データが取り込まれている状態では、新たな乱数値の取込要求が発生した場合でも、新たな数値データを乱数値レジスタＲ１Ｄに取り込まないようになっており、このような状態では、乱数値レジスタＲ１Ｄの数値データが読み出されて、乱数ラッチフラグデータＲＤＦＭ０がクリアされるまで新たな数値データを乱数値レジスタＲ１Ｄに取り込むことが不可能となる。
【０１２２】
図２０（Ａ）は、乱数割込制御レジスタＲＤＩＣの構成例を示している。図２０（Ｂ）は、乱数割込制御レジスタＲＤＩＣに格納される乱数割込制御データの各ビットにおける設定内容の一例を示している。乱数割込制御レジスタＲＤＩＣのビット番号［０］に格納される乱数割込制御データＲＤＩＣ０は、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａに数値データが取り込まれたときに発生する割込を、許可するか禁止するかの割込制御設定を示している。図２０（Ｂ）に示す例では、乱数値レジスタＲ１Ｄへの取込時における割込を禁止する場合に（割込禁止）、乱数割込制御データＲＤＩＣ０のビット値を“０”とする一方、この割込を許可する場合には（割込許可）、そのビット値を“１”とする。本実施例では、乱数割込制御データＲＤＩＣ０のビット値が“０”に設定されており、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａに数値データが取り込まれても割込は発生しない。
【０１２３】
メイン制御部４１が備えるＰＩＰ５１０は、例えば６ビット幅の入力専用ポートであり、専用端子となる入力ポートＰ０〜入力ポートＰ２と、機能兼用端子となる入力ポートＰ３〜入力ポートＰ５とを含んでいる。入力ポートＰ３は、ＣＰＵ５０５等に接続される外部マスカブル割込端子ＸＩＮＴと兼用される。入力ポートＰ４は、ＣＰＵ５０５等に接続される外部ノンマスカブル割込端子ＸＮＭＩと兼用される。入力ポートＰ５は、シリアル通信回路５１１が使用する第１チャネル受信端子ＲＸＡと兼用される。入力ポートＰ３〜入力ポートＰ５の使用設定は、プログラム管理エリアに記憶される機能設定ＫＦＣＳにより指示される。
【０１２４】
ＰＩＰ５１０は、図７（Ｂ）に示すようなメイン制御部４１が備える内蔵レジスタのうち、入力ポートレジスタＰＩ（アドレス２０９０Ｈ）などを用いて、入力ポートＰ０〜入力ポートＰ５の状態管理等を行う。入力ポートレジスタＰＩは、入力ポートＰ０〜入力ポートＰ５のそれぞれに対応して、外部信号の入力状態を示すビット値が格納されるレジスタである。
【０１２５】
図２１（Ａ）は、入力ポートレジスタＰＩの構成例を示している。図２１（Ｂ）は、入力ポートレジスタＰＩに格納される入力ポートデータの各ビットにおける設定内容の一例を示している。入力ポートレジスタＰＩのビット番号［５］に格納される入力ポートデータＰＩ５は、第１チャネル受信端子ＲＸＡと兼用される入力ポートＰ５における端子状態（オン／オフ）を示している。入力ポートレジスタＰＩのビット番号［４］に格納される入力ポートデータＰＩ４は、外部ノンマスカブル割込端子ＸＮＭＩと兼用される入力ポートＰ４における端子状態（オン／オフ）を示している。入力ポートレジスタＰＩのビット番号［３］に格納される入力ポートデータＰＩ３は、外部マスカブル割込端子ＸＩＮＴと兼用される入力ポートＰ３における端子状態（オン／オフ）を示している。入力ポートレジスタＰＩのビット番号［２］に格納される入力ポートデータＰＩ２は、入力ポートＰ２における端子状態（オン／オフ）を示している。入力ポートレジスタＰＩのビット番号［１］に格納される入力ポートデータＰＩ１は、入力ポートＰ１における端子状態（オン／オフ）を示している。入力ポートレジスタＰＩのビット番号［０］に格納される入力ポートデータＰＩ０は、入力ポートＰ０における端子状態（オン／オフ）を示している。
【０１２６】
図５に示すメイン制御部４１が備えるアドレスデコード回路５１２は、メイン制御部４１の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部４１の内部回路、或いは、周辺デバイスとなる外部装置を、選択的に有効動作させて、ＣＰＵ５０５からのアクセスが可能となる。
【０１２７】
メイン制御部４１が備えるＲＯＭ５０６には、ゲーム制御用のユーザプログラムやセキュリティチェックプログラム５０６Ａの他に、ゲームの進行を制御するために用いられる各種の選択用データ、テーブルデータなどが格納される。例えば、ＲＯＭ５０６には、ＣＰＵ５０５が各種の判定や決定、設定を行うために用意された複数の判定テーブルや決定テーブル、設定テーブルなどを構成するデータが記憶されている。また、ＲＯＭ５０６には、ＣＰＵ５０５が遊技制御基板４０から各種の制御コマンドとなる制御信号を送信するために用いられる複数のコマンドテーブルを構成するテーブルデータなどが記憶されている。
【０１２８】
メイン制御部４１が備えるＲＡＭ５０７には、スロットマシン１におけるゲームの進行などを制御するために用いられる各種のデータを保持する領域として、遊技制御用データ保持エリア５９０が設けられている。ＲＡＭ５０７としては、例えばＤＲＡＭが使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要になる。ＣＰＵ５０５には、このリフレッシュ動作を行うためのリフレッシュレジスタが内蔵されている。例えば、リフレッシュレジスタは８ビットからなり、そのうち下位７ビットはＣＰＵ５０５がＲＯＭ５０６から命令フェッチするごとに自動的にインクリメントされる。したがって、リフレッシュレジスタにおける格納値の更新は、ＣＰＵ５０５における１命令の実行時間ごとに行われることになる。
【０１２９】
メイン制御部４１は、シリアル通信回路５１１を介してサブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。
【０１３０】
シリアル通信回路５１１は、図２２に示すように、データレジスタ５６０、送信データレジスタ５６１、送信用シフトレジスタ５６２、ステータスレジスタ５６３を備える。
【０１３１】
データレジスタ５６０は、ＣＰＵ５０５が生成し、内部バスを介して転送されたコマンドデータを一時的にバッファするレジスタであり、データレジスタ５６０にバッファされたコマンドデータは送信データレジスタ５６１の空き領域に格納される。
【０１３２】
送信データレジスタ５６１は、送信待ちのコマンドデータが格納されるレジスタである。送信データレジスタ５６１には、複数のコマンドデータを格納可能な領域が設けられており、最大で３２バイトのコマンドデータを格納可能とされている。
【０１３３】
送信用シフトレジスタ５６２は、シリアルデータ化されたコマンドデータが格納されるレジスタであり、送信データレジスタ５６１に格納されているコマンドデータのうち最も早い段階で格納されたコマンドデータからシリアルデータに変換され、送信用シフトレジスタ５６２に格納される。そして、送信用シフトレジスタ５６２にコマンドデータが格納されると直ちにサブ制御部９１に対して転送されるようになっている。
【０１３４】
ステータスレジスタ５６３は、コマンドデータを送信中か否かを示す送信完了フラグ、送信データレジスタ５６１にコマンドデータが格納されているか否かを示すデータエンプティフラグ等、シリアル通信回路５１１の送信状態を示すデータが格納されるレジスタである。送信完了フラグ値として“１”が格納されている場合には、コマンドデータの転送を行っていないか、コマンドデータの転送が完了した旨を示し、“０”が格納されている場合には、コマンドデータの転送中である旨を示す。データエンプティフラグ値として“１”が設定されている場合には、送信データレジスタ５６１に１以上の送信待ちのコマンドデータが格納されている旨を示し、“０”が格納されている場合には、送信データレジスタ５６１に送信待ちのコマンドデータが格納されていない旨を示す。
【０１３５】
ステータスレジスタ５６３の値は、内部バスを介してＣＰＵ５０５が参照可能であり、ＣＰＵ５０５は、ステータスレジスタ５６３の値を読み出すことにより、シリアル通信回路５１１の送信状態を確認できるようになっている。
【０１３６】
次にシリアル通信回路５１１の動作状況を図２３に基づいて説明する。
【０１３７】
まず、送信データレジスタ５６１の全ての領域が空の状態であり、送信用シフトレジスタ５６２によるコマンドデータの送信も行われていない場合には、図２３（ａ）に示すように、送信完了フラグ、データエンプティフラグの値は、ともに“１”が設定されている。
【０１３８】
図２３（ｂ）に示すように、ＣＰＵ５０５の転送指令によりコマンドデータ１、２が送信データレジスタ５６１に格納されると、送信完了フラグ、データエンプティフラグの値は、ともに“０”に変化する。
【０１３９】
次いで、図２３（ｃ）（ｄ）に示すように、送信データレジスタ５６１に格納されたコマンドデータ１、２のうち先に格納されたコマンドデータ１がシリアルデータに変換され、送信用シフトレジスタ５６２によってサブ制御部９１に対して送信され、コマンドデータ１の送信が完了すると、次に格納されたコマンドデータ２がシリアルデータに変換され、送信用シフトレジスタ５６２によってサブ制御部９１に対して送信されるとともに、最後のコマンドデータがシリアルデータに変換され、送信用シフトレジスタ５６２に格納され、送信データレジスタ５６１が空になるとデータエンプティフラグの値が“１”に変化し、図２３（ｅ）に示すように、送信用シフトレジスタ５６２に格納されている最後のコマンドデータの送信も完了すると、送信完了フラグの値も“１”に変化し、全てのコマンドデータの送信が完了した状態となる。
【０１４０】
メイン制御部４１は、遊技制御基板４０に接続された各種スイッチ類の検出状態が入力ポートから入力される。そしてメイン制御部４１は、これら入力ポートから入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
【０１４１】
また、メイン制御部４１は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、ＣＴＣ５０８に含まれるタイマ回路にてタイムアウトが発生したこと、すなわち一定時間間隔（本実施例では、約０．５６ｍｓ）毎に後述するタイマ割込処理（メイン）を実行する。
【０１４２】
また、メイン制御部４１は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
【０１４３】
メイン制御部４１は、基本処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ｍｓ）毎にタイマ割込処理（メイン）を実行する。尚、タイマ割込処理（メイン）の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【０１４４】
演出制御基板９０には、スロットマシン１の前面扉１ｂに配置された液晶表示器５１（図１参照）、演出効果ＬＥＤ５２、スピーカ５３、５４、前述したリールＬＥＤ５５等の演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。
【０１４５】
尚、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１及び出力制御部の双方によって演出装置の出力制御が行われることとなる。
【０１４６】
また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【０１４７】
演出制御基板９０には、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄなどを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部９１、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２、演出効果ＬＥＤ５２、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４、電源投入時または電源遮断時にサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５、日付情報及び時刻情報を含む時間情報を出力する時計装置９７、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブ制御部９１に対して出力する電断検出回路９８が搭載されており、サブ制御部９１は、メイン制御部から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【０１４８】
リセット回路９５は、遊技制御基板４０においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部９１は、メイン制御部４１よりも早い段階で起動するようになっている。一方で、電断検出回路９８は、遊技制御基板４０においてメイン制御部４１に電圧低下信号を出力する電断検出回路４８よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部９１は、メイン制御部４１よりも遅い段階で停電を検知し、後述する電断処理（サブ）を行うこととなる。
【０１４９】
サブ制御部９１は、メイン制御部４１と同様に、割込機能を備えており、メイン制御部４１からのコマンド受信時に割込を発生させて、メイン制御部４１から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部９１は、システムクロックの入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理（サブ）を実行する。
【０１５０】
また、サブ制御部９１は、メイン制御部４１とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理（サブ）の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理（サブ）の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
【０１５１】
また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【０１５２】
本実施例のスロットマシン１は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する。
【０１５３】
これら外部出力信号は、図２４に示すように、メイン制御部４１のＣＰＵ５０５の制御により遊技制御基板４０より出力され、外部出力基板１０００、スロットマシン１が設置される遊技店（ホール）の情報提供端子板１０１０を介してホールコンピュータなどのホール機器に出力されるようになっている。
【０１５４】
遊技制御基板４０から外部出力基板１０００に対しては、賭数の設定に用いられたメダル数を示すメダルＩＮ信号、入賞の発生により遊技者に付与されたメダル数を示すメダルＯＵＴ信号、遊技状態が後述するＲＢ中の旨を示すＲＢ中信号、遊技状態が後述するＢＢ中の旨を示すＢＢ中信号、前面扉１ｂが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット３４の異常を示す払出エラー信号がそれぞれ出力される。
【０１５５】
尚、本実施例では、チャレンジタイム（リールの滑りコマ数が制限されるものの、全ての小役について入賞が許容される遊技状態）や、チャレンジタイムが高確率となるチャレンジボーナスを搭載していないが、これらの遊技状態を搭載したスロットマシンとの共通化を図るため、遊技制御基板４０と外部出力基板１０００との間には、上記の信号を出力する信号線に加えて、遊技状態がチャレンジタイム中の旨を示すＣＴ中信号、遊技状態がチャレンジボーナス中の旨を示すＣＢ中信号を出力する信号線が接続されており、さらに将来拡張する可能性のあるエラー出力用の信号線が接続されている。
【０１５６】
外部出力基板１０００には、リレー回路１００１、パラレル・シリアル変換回路１００２、出力信号毎の端子が設けられ、情報提供端子板１０１０の回路と電気的に接続するための接続されるコネクタ１００３が設けられている。
【０１５７】
遊技制御基板４０から出力された信号のうち、メダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号、（ＣＴ中信号、ＣＢ中信号）は、リレー回路１００１を介して、そのままパルス信号として情報提供端子板１０１０に出力される。
【０１５８】
これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号、（予備信号）は、パラレル・シリアル変換回路１００２にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換して情報提供端子板１０１０に出力される。
【０１５９】
これら外部出力基板１０００から出力されたメダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号、（ＣＴ中信号、ＣＢ中信号）は、情報提供端子板１０１０を介してホール機器へ出力される。一方、外部出力基板１０００から出力されたセキュリティ信号は、情報提供端子板１０１０にて再度、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号、予備信号に再変換されてホール機器へ出力されることとなる。
【０１６０】
外部出力信号は、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を含むが、これらドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、頻繁に出力される信号ではないため、これらの信号に対して個々に外部出力用の端子を設ける必要性は低い。
【０１６１】
このため本実施例では、上述のように遊技制御基板４０から出力された外部出力信号を、外部出力基板１０００を介して、ホール機器に出力するとともに、これら外部出力信号のうちドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を、外部出力基板１０００に搭載されたパラレル・シリアル変換回路１００２によって、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換して外部に出力するようになっており、これらドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を１本の端子から出力することが可能となり、必要以上に多くの端子を設ける必要がなくなる。
【０１６２】
また、現時点では使用されていないが、将来的に使用する可能性のある予備信号線を備えた場合でも、予備信号線から出力される信号を含めて１本の端子にて個々の信号を識別可能に出力可能になるとともに、使用されていない予備信号線の端子が、空き端子となってしまうことがない。
【０１６３】
尚、本実施例では、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号を、外部出力基板１０００に搭載されたパラレル・シリアル変換回路１００２によって、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換して外部に出力するようになっているが、例えば、ＡＮＤ回路などによって、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号のいずれか１つの信号でも出力されている場合に、エラー信号を１本の端子にて外部に出力するようにしても良く、このようにした場合でも、外部の機器でエラーの発生中、ドア開放中、設定変更中のいずれかが発生中であること特定することが可能であり、必要以上に多くの端子を設ける必要がなくなる。また、この場合には、複数の信号をシリアル信号に変換せずとも１本の端子にて外部に出力できるため、製造コストも軽減できる。
【０１６４】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【０１６５】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ５０７から読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定６からさらに操作されたときは、設定１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ５０７に格納され、遊技の進行が可能な状態に移行する。
【０１６６】
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７をｏｎ状態とすれば良い。このような状況で設定キースイッチ３７をｏｎ状態とすると、設定値表示器２４にＲＡＭ５０７から読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ３７をｏｆｆ状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
【０１６７】
本実施例のスロットマシン１においては、メイン制御部４１は、タイマ割込処理（メイン）を実行する毎に、電断検出回路４８からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、電断処理（メイン）を実行する。電断処理（メイン）では、レジスタを後述するＲＡＭ５０７のスタックに退避し、ＲＡＭ５０７にいずれかのビットが１となる破壊診断用データ（本実施例では、５ＡＨ）、すなわち０以外の特定のデータを格納するとともに、ＲＡＭ５０７の全ての領域に格納されたデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、ＲＡＭ５０７に格納する処理を行うようになっている。尚、ＲＡＭパリティとはＲＡＭ５０７の該当する領域（本実施例では、全ての領域）の各ビットに格納されている値の排他的論理和として算出される値である。このため、ＲＡＭ５０７の全ての領域に格納されたデータに基づくＲＡＭパリティが０であれば、ＲＡＭパリティ調整用データは０となり、ＲＡＭ５０７の全ての領域に格納されたデータに基づくＲＡＭパリティが１であれば、ＲＡＭパリティ調整用データは１となる。
【０１６８】
そして、メイン制御部４１は、システムリセットによるかユーザリセットによるかに関わらず、その起動時においてＲＡＭ５０７の全ての領域に格納されたデータに基づいてＲＡＭパリティを計算するとともに、破壊診断用データの値を確認し、ＲＡＭパリティが０であり、かつ破壊診断用データの値も正しいことを条件に、ＲＡＭ５０７に記憶されているデータに基づいてメイン制御部４１の処理状態を電断前の状態に復帰させるが、ＲＡＭパリティが０でない場合（１の場合）や破壊診断用データの値が正しくない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、ＲＡＭ異常エラー状態は、通常のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更状態において新たな設定値が設定されるまで解除されることがない。
【０１６９】
尚、本実施例では、ＲＡＭ５０７に格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、メイン制御部４１は、電源投入時においてＲＡＭ５０７のデータが正常であると判定した場合に、ＲＡＭ５０７の格納データに基づいて電断前の制御状態に復帰する構成であるが、ＲＡＭ５０７に格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
【０１７０】
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、例えば、入力ポートの状態などを全て電断前の状態に復帰させる必要はない。
【０１７１】
また、サブ制御部９１もタイマ割込処理（サブ）において電断検出回路９８からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に電断処理（サブ）を実行する。電断処理（サブ）では、レジスタを後述するＲＡＭ９１ｃのスタックに退避し、ＲＡＭ９１ｃにいずれかのビットが１となる破壊診断用データを格納するとともに、ＲＡＭ９１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、ＲＡＭ９１ｃに格納する処理を行うようになっている。
【０１７２】
そして、サブ制御部９１は、その起動時においてＲＡＭ９１ｃの全ての領域に格納されたデータに基づいてＲＡＭパリティを計算し、ＲＡＭパリティが０であることを条件に、ＲＡＭ９１ｃに記憶されているデータに基づいてサブ制御部９１の処理状態を電断前の状態に復帰させるが、ＲＡＭパリティが０でない場合（１の場合）には、ＲＡＭ異常と判定し、ＲＡＭ９１ｃを初期化するようになっている。この場合、メイン制御部４１と異なり、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【０１７３】
尚、本実施例では、ＲＡＭ９１ｃに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、サブ制御部９１は、電源投入時においてＲＡＭ９１ｃのデータが正常であると判定した場合に、ＲＡＭ９１ｃの格納データに基づいて電断前の制御状態に復帰する構成であるが、ＲＡＭ９１ｃに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
【０１７４】
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、入力ポートの状態や、演出が途中で中断された場合の途中経過などを全て電断前の状態に復帰させる必要はない。
【０１７５】
次に、メイン制御部４１のＲＡＭ５０７の初期化について説明する。メイン制御部４１のＲＡＭ５０７の格納領域は、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、非初期化領域、未使用領域、スタック領域に区分されている。
【０１７６】
重要ワークは、各種表示器やＬＥＤの表示用データ、Ｉ／Ｏの入出力データ、遊技時間の計時カウンタ等、ＢＢ終了時に初期化すると不都合があるデータが格納されるワークである。一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数、ＢＢ中のメダル払出総数等、ＢＢ終了時に初期化可能なデータが格納されるワークである。特別ワークは、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。非保存ワークは、各種スイッチ類の状態を保持するワークであり、起動時にＲＡＭ５０７のデータが破壊されているか否かに関わらず必ず値が設定されることとなる。非初期化ワークは、ＲＡＭ異常エラーや設定変更時にも初期化されないデータが格納されるワークである。非初期化ワークには、さらに内部抽選処理で抽選を行う際に用いる設定値が格納される設定値ワーク、演出制御基板９０へ送信されるコマンドが一時的に格納されるコマンドバッファ（コマンドバッファ内のコマンドは次回コマンドが格納されるまで維持されるので、最後に送信されたコマンドが常に格納されることとなる）、外部出力基板１０００に対して出力されるメダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号のうち外部出力基板１０００から出力されるセキュリティ信号を構成するドア開放信号、設定変更信号、投入エラー信号、払出エラー信号の出力状態（ｏｎ／ｏｆｆの状態）が格納されるセキュリティワークが割り当てられている。未使用領域は、ＲＡＭ５０７の格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなる。スタック領域は、メイン制御部４１のレジスタから退避したデータが格納される領域であり、このうちの未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
【０１７７】
本実施例においてメイン制御部４１は、設定キースイッチ３７がｏｎの状態での起動時、ＲＡＭ異常エラー発生時、ＢＢ終了時、設定キースイッチ３７がｏｆｆの状態での起動時でＲＡＭ５０７のデータが破壊されていないとき、１ゲーム終了時の５つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化を行う。
【０１７８】
初期化１は、起動時において設定キースイッチ３７がｏｎの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはＲＡＭ異常エラー発生時に行う初期化であり、初期化１では、ＲＡＭ５０７の格納領域のうち、使用中スタック領域、非初期化領域を除く全ての領域（未使用領域及び未使用スタック領域を含む）が初期化される。初期化２は、ＢＢ終了時に行う初期化であり、初期化２では、ＲＡＭ５０７の格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化３は、起動時において設定キースイッチ３７がｏｆｆの状態であり、かつＲＡＭ５０７のデータが破壊されていない場合において行う初期化であり、初期化３では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、ＲＡＭ５０７の格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
【０１７９】
尚、本実施例では、初期化１を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行うようにしても良い。
【０１８０】
このように本実施例では、電源投入時などにＲＡＭ異常エラーが発生した場合には、初期化１が実行され、それ以前の制御状態が初期化されることとなるが、この際、非初期化領域に割り当てられたコマンドバッファ、設定値ワーク、セキュリティワークに格納されているデータは初期化されることがなく、保持されるようになっている。そして、この際、コマンドバッファにはＲＡＭ異常エラー発生時において最後に送信されたコマンドが、設定値ワークにはＲＡＭ異常エラー発生時の設定値が、セキュリティワークには、ＲＡＭ異常エラー発生時のドア開放信号、設定変更信号、投入エラー信号、払出エラー信号の出力状態がそれぞれ格納された状態で保持されるので、これらのデータからＲＡＭ異常発生時において何らかのエラーコマンドが送信されているか、設定値の値が変更されていないか、ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号の出力状態がどのような状態であったか、を特定することが可能となり、ＲＡＭ異常の原因を特定すること、さらには、何らかの不正行為が行われた可能性を特定することができる。
【０１８１】
さらに、ＲＡＭ異常エラーを解消するために、設定値の変更操作を行っても、非初期化領域は初期化されることがなく、意図的に非初期化領域の格納データを初期化することは不可能であるため、不正行為によってＲＡＭ異常エラーが生じた場合でもその痕跡としてコマンドバッファ、設定値ワーク、セキュリティワークの格納データを残すことができる。
【０１８２】
本実施例のスロットマシン１は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインＬ１〜Ｌ５が有効化される。
【０１８３】
本実施例のスロットマシン１は、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ）上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがＲＡＭ５０７に設定されている必要がある。
【０１８４】
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【０１８５】
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出表示される以前に（実際には、スタートスイッチ７の検出時）決定するものである。内部抽選では、まず、スタートスイッチ７の検出時に内部抽選用の乱数値（０〜６５５３５の整数）を取得する。詳しくは、ＲＡＭ５０７に割り当てられた乱数値格納ワークの値を同じくＲＡＭ５０７に割り当てられた抽選用ワークに設定する。そして、遊技状態及び特別役の持ち越しの有無に応じて定められた各役について、抽選用ワークに格納された数値データと、遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて行われる。
【０１８６】
乱数値格納ワークは、スタートスイッチ７の操作と同時に乱数値レジスタＲ１Ｄにラッチされた数値データが格納される記憶領域であり、乱数値レジスタＲ１Ｄに新たな数値データがラッチされる毎に、ラッチされた数値データがその後のタイマ割込処理（メイン）において読み出され、乱数値格納ワークに格納された数値データが新たにラッチされた最新の数値データに更新されるようになっている。
【０１８７】
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値（抽選用ワークに格納された数値データ）に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率（判定値数／６５５３６）で役が当選することとなる。
【０１８８】
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをＲＡＭ５０７に割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、２バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
【０１８９】
次に、リール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。
【０１９０】
メイン制御部４１は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ＲＯＭ５０６に格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【０１９１】
テーブルインデックスには、内部抽選による当選フラグの設定状態（以下、内部当選状態と呼ぶ）別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。尚、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
【０１９２】
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。
【０１９３】
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。
【０１９４】
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施例では、リールモータ３２Ｌ、３２Ｃ、３２Ｒに、１６８ステップ（０〜１６７）の周期で１周するステッピングモータを用いている。すなわちリールモータ３２Ｌ、３２Ｃ、３２Ｒを１６８ステップ駆動させることでリール２Ｌ、２Ｃ、２Ｒが１周することとなる。そして、リール１周に対して１６ステップ（１図柄が移動するステップ数）毎に分割した２１の領域（コマ）が定められており、これらの領域には、リール基準位置から０〜２０の領域番号が割り当てられている。一方、１リールに配列された図柄数も２１であり、各リールの図柄に対して、リール基準位置から０〜２０の図柄番号が割り当てられているので、０番図柄から２０番図柄に対して、それぞれ０〜２０の領域番号が順に割り当てられていることとなる。そして、停止制御テーブルには、領域番号別の滑りコマ数が所定のルールで圧縮して格納されており、停止制御テーブルを展開することによって領域番号別の滑りコマ数を取得できるようになっている。
【０１９５】
前述のようにテーブルインデックス及びテーブル作成用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に位置するタイミング（リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング）でストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された場合の滑りコマ数がそれぞれ設定されたテーブルである。
【０１９６】
次に、停止制御テーブルの作成手順について説明すると、まず、リール回転開始時においては、そのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスを取得する。具体的には、まずテーブルインデックスを参照し、内部当選状態に対応するインデックスデータを取得し、そして取得したインデックスデータに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから全てのリールが回転中の状態に対応する各リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して全てのリールについて停止制御テーブルを作成する。
【０１９７】
また、いずれか１つのリールが停止したとき、またはいずれか２つのリールが停止したときには、リール回転開始時に取得したインデックスデータ、すなわちそのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して未停止のリールについて停止制御テーブルを作成する。
【０１９８】
次に、メイン制御部４１がストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する滑りコマ数を取得する。そして、取得した滑りコマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した滑りコマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から滑りコマ数分先の停止位置となる領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に停止することとなる。
【０１９９】
本実施例のテーブルインデックスには、一の遊技状態における一の内部当選状態に対応するインデックスデータとして１つのアドレスのみが格納されており、更に、一のテーブル作成用データには、一のリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルの格納領域のアドレスとして１つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部当選状態に対応するテーブル作成用データ、及びリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部当選状態、及びリールの停止状況（及び停止済みのリールの停止位置）に対して一意となる。このため、遊技状態、内部当選状態、リールの停止状況（及び停止済みのリールの停止位置）の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。
【０２００】
また、本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【０２０１】
本実施例では、いずれかの役に当選している場合には、当選役を入賞ライン上に４コマの範囲で最大限引き込み、当選していない役が入賞ライン上に揃わないように引き込む滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う一方、いずれの役にも当選していない場合には、いずれの役も揃わない滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲でハズシて停止させる制御が行われることとなる。
【０２０２】
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、当選した小役を入賞ラインに４コマの範囲で最大限に引き込むように滑りコマ数が定められているとともに、当選した小役を入賞ラインに最大４コマの範囲で引き込めない停止操作位置については、当選した特別役を入賞ラインに４コマの範囲で最大限に引き込むように滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲でハズシて停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになっている。
【０２０３】
尚、本実施例では、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合や新たに特別役と小役が同時に当選した場合など、特別役と小役が同時に当選している場合には、当選した特別役よりも当選した小役が優先され、小役が引き込めない場合のみ、特別役を入賞ライン上に揃える制御を行っているが、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【０２０４】
特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになっている。
【０２０５】
本実施例においてメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒの回転が開始した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
【０２０６】
尚、本実施例では、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。
【０２０７】
次に、本実施例におけるメイン制御部４１が実行する各種制御内容を、図２５〜図４４に基づいて以下に説明する。
【０２０８】
メイン制御部４１は、リセット回路４９からシステムリセット信号が入力されると、図２５のフローチャートに示す起動処理（メイン）を行う。また、ユーザリセット信号が入力された場合には、起動処理（メイン）のＳａ２のステップから処理を開始する。すなわち電源投入に伴う起動の場合のみセキュリティチェック処理を行うセキュリティモードから開始する一方、ウォッチドッグタイマ４９ａのタイムアップによる起動の場合には、セキュリティチェック処理を省略してＲＯＭ５０６に記憶されたユーザプログラムを実行するユーザモードから開始されることになる。
【０２０９】
システムリセット信号の入力に伴う起動処理（メイン）では、まず、ＣＰＵ５０５がＲＯＭ５０６から読み出したセキュリティチェックプログラム５０６Ａに基づき、図２６に示すセキュリティチェック処理を実行する（Ｓａ１）。このとき、メイン制御部４１は、セキュリティモードとなり、ＲＯＭ５０６に記憶されているゲーム制御用のユーザプログラムは未だ実行されない状態となる。
【０２１０】
セキュリティチェック処理では、図２６に示すように、まず、セキュリティモードに制御する時間（セキュリティ時間）を決定するための処理を実行する。このとき、ＣＰＵ５０５は、ＲＯＭ５０６のプログラム管理エリアに記憶されるセキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値を読み出す（Ｓａ１０１）。そして、この読出値が“０００”であるか否かを判定する（Ｓａ１０２）。
【０２１１】
Ｓａ１０２にて読出値が“０００”と判定された場合には、定常設定時間を既定の固定時間に設定する（Ｓａ１０３）。ここで、定常設定時間は、セキュリティ時間のうち、システムリセットの発生等に基づくセキュリティチェック処理の実行回数（メイン制御部４１がセキュリティーモードとなる回数）に関わりなく、一定となる時間成分である。また、固定時間は、セキュリティ時間のうち、メイン制御部４１の仕様などに基づいて予め定められた不変時間成分であり、例えばセキュリティ時間として設定可能な最小値となるものであれば良い。
【０２１２】
Ｓａ１０２にて読出値が“０００”以外と判定された場合には、その読出値に対応して、固定時間に加えて図１０（Ｄ）に示す設定内容により選択される延長時間を、定常設定時間に設定する（Ｓａ１０４）。こうして、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値が“０００”以外の値である場合には、セキュリティチェック処理の実行時間であるセキュリティ時間を、固定時間に加えて予め選択可能な複数の延長時間のいずれかに設定することができる。
【０２１３】
Ｓａ１０３、Ｓａ１０４の処理のいずれかを実行した後には、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値を読み出す（Ｓａ１０５）。そして、この読出値が“００”であるか否かを判定する（Ｓａ１０６）。
【０２１４】
Ｓａ１０６にて読出値が“００”と判定された場合には、定常設定時間をセキュリティ時間に設定する（Ｓａ１０７）。これに対して、読出値が“００”以外と判定された場合には、その読出値に対応して決定される可変設定時間を、定常設定時間に加算してセキュリティ時間に設定する（Ｓａ１０８）。ここで、可変設定時間は、セキュリティ時間のうち、セキュリティチェック処理が実行されるごとに変化する時間成分であり、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値が“０１”（ショートモード）であるか“１０”（ロングモード）であるかに応じて異なる所定の時間範囲で変化する。例えば、システムリセットの発生時に、所定のフリーランカウンタにおけるカウント値がメイン制御部４１に内蔵された可変セキュリティ時間用レジスタに格納される場合には、Ｓａ１０８の処理において、可変セキュリティ時間用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数（例えばハッシュ関数）に代入して得られた値を用いることなどにより、可変設定時間がシステムリセット毎に所定の時間範囲でランダムに変化するように決定されれば良い。こうして、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値が“００”以外の値である場合には、セキュリティチェック処理の実行時間であるセキュリティ時間を、システムリセットの発生等に基づくセキュリティチェック処理が実行されるごとに所定の時間範囲で変化させることができる。
【０２１５】
ここで、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値が“０００”以外の値であり、かつ、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値が“００”以外の値である場合には、Ｓａ１０４のステップにて設定される延長時間と、Ｓａ１０８のステップにて設定される可変設定時間との双方が、固定時間に加算されて、セキュリティ時間が決定されることになる。
【０２１６】
Ｓａ１０７、Ｓａ１０８の処理のいずれかを実行した後には、ＲＯＭ５０６の所定領域に記憶されたセキュリティコードを読み出す（Ｓａ１０９）。ここで、ＲＯＭ５０６の所定領域には、記憶内容のデータを所定の演算式によって演算した演算結果のセキュリティコードが予め記憶されている。セキュリティコードの生成方法としては、例えばハッシュ関数を用いてハッシュ値を生成するもの、エラー検出コード（ＣＲＣコード）を用いるもの、エラー訂正コード（ＥＣＣコード）を用いるもののいずれかといった、予め定められた生成方法を使用すれば良い。また、ＲＯＭ５０６のセキュリティコード記憶領域とは異なる所定領域には、セキュリティコードを演算により特定するための演算式が、暗号化して予め記憶されている。
【０２１７】
ステップＳａ１０９の処理に続いて、暗号化された演算式を復号化して元に戻す（Ｓａ１１０）。その後、Ｓａ１１０で復号化した演算式により、ＲＯＭ５０６の所定領域における記憶データを演算してセキュリティコードを特定する（Ｓａ１１１）。このときセキュリティコードを特定するための演算に用いる記憶データは、例えばＲＯＭ５０６の記憶データのうち、セキュリティチェックプログラム５０６Ａとは異なるユーザプログラムの全部又は一部に相当するプログラムデータ、あるいは、所定のテーブルデータを構成する固定データの全部又は一部であれば良い。そして、Ｓａ１０９にて読み出したセキュリティコードと、Ｓａ１１１にて特定されたセキュリティコードとを比較する（Ｓａ１１２）。このときには、比較結果においてセキュリティコードが一致したか否かを判定する（Ｓａ１１３）。
【０２１８】
Ｓａ１１３にてセキュリティコードが一致しない場合には、ＲＯＭ５０６に不正な変更が加えられたと判断して、ＣＰＵ５０５の動作を停止状態（ＨＡＬＴ）へ移行させる。これに対して、Ｓａ１１３にてセキュリティコードが一致した場合には、プログラム管理エリアに記憶されている第１乱数初期設定ＫＲＳ１や第２乱数初期設定ＫＲＳ２を読み出して、図２７に示す乱数回路設定処理を実行した後（Ｓａ１１４）、乱数回路５０９における動作異常の有無を検査するために図２８に示す乱数回路異常検査処理を実行する（Ｓａ１１５）。
【０２１９】
図２７に示す乱数回路設定処理では、まず、第１乱数初期設定ＫＲＳ１のビット番号［３］におけるビット値に基づき、乱数回路５０９を使用するための設定を行う（Ｓａ２０１）。本実施例では、第１乱数初期設定ＫＲＳ１のビット番号［３］におけるビット値が予め“１”とされており、このビット値に対応して乱数回路５０９を使用する設定が行われる。続いて、第１乱数初期設定ＫＲＳ１のビット番号［２］におけるビット値に基づき、乱数回路５０９における乱数更新クロックＲＧＫの設定を行う（Ｓａ２０２）。本実施例では、第１乱数初期設定ＫＲＳ１のビット番号［２］におけるビット値が予め“１”とされていることに対応して、乱数用クロック生成回路４３で生成された乱数用クロックＲＣＬＫを２分周して乱数更新クロックＲＧＫとする設定が行われる。
【０２２０】
Ｓａ２０２での設定を行った後には、第１乱数初期設定ＫＲＳ１のビット番号［１−０］におけるビット値に基づき、乱数回路５０９における乱数更新規則の設定を行う（Ｓａ２０３）。本実施例では、第１乱数初期設定ＫＲＳ１のビット番号［１−０］におけるビット値として予め“１０”が設定されており、乱数列ＲＳＮにおける乱数更新規則を２周目以降は自動で変更する設定がなされる。
【０２２１】
続いて、第２乱数初期設定ＫＲＳ２のビット番号［１］におけるビット値に基づき、乱数値となる数値データにおける起動時スタート値を決定する（Ｓａ２０４）。本実施例では、第２乱数初期設定ＫＲＳ２のビット番号［１］におけるビット値として予め“１”が設定されており、乱数のスタート値をＩＤナンバーに基づく値とする設定がなされる。
【０２２２】
さらに、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値に基づき、乱数値となる数値データのスタート値をシステムリセット毎に変更するか否かの設定を行う（Ｓａ２０５）。本実施例では、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値が予め“０”とされており、Ｓａ２０４にて設定した起動時スタート値をそのまま用いて、乱数回路５０９におけるスタート値としている。Ｓａ２０５の処理による設定が完了すると、乱数回路５０９では乱数値の生成動作が開始されることとなる。尚、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値が予め“１”とされている場合には、乱数のスタート値をシステムリセット毎に変更する設定がなされる。この場合には、例えば、システムリセットの発生時に、所定のフリーランカウンタにおけるカウント値がメイン制御部４１に内蔵された乱数スタート値用レジスタに格納される場合には、Ｓａ２０５の処理において、乱数スタート値用レジスタの格納値をそのまま用いること、あるいは、その格納値を所定の演算関数（例えばハッシュ関数）に代入して得られた値を用いることなどにより、乱数のスタート値がシステムリセット毎に所定の数値範囲（例えば乱数生成回路５５３にて生成されるカウント値順列ＲＣＮに含まれる数値データの全部又は一部を含む範囲）でランダムに変化するように決定されれば良い。
【０２２３】
尚、乱数回路設定処理による設定は、ＣＰＵ５０５の処理が介在することなく、乱数回路５０９がプログラム管理エリアの記憶データに基づき自律的に行うようにしても良い。この場合、乱数回路５０９は、メイン制御部４１がセキュリティモードとなっているときには初期設定を行わず、乱数値の生成動作が行われないようにしても良い。そして、メイン制御部４１にてＣＰＵ５０５がＲＯＭ５０６に記憶されたユーザプログラムを読み出してユーザモードが開始されたときに、例えばＣＰＵ５０５から乱数回路５０９に対して初期設定を指示する制御信号が伝送されたことなどに応答して、乱数回路５０９が初期設定を行ってから乱数値の生成動作を開始するようにしても良い。また、特に乱数回路５０９がメイン制御部４１に外付けされる場合などには、メイン制御部４１がセキュリティモードとなっているときでも、乱数回路５０９がＣＰＵ５０５における処理とは独立して、プログラム管理エリアの記憶データに基づく初期設定を行ってから、乱数値の生成動作を開始するようにしても良い。
【０２２４】
図２８に示す乱数回路異常検査処理では、まず乱数用クロック異常判定カウンタをクリアして、そのカウント値である乱数用クロック異常判定カウント値を「０」に初期化する（Ｓａ３０１）。続いて、内部情報レジスタＣＩＦのビット番号［４］に格納されている内部情報データＣＩＦ４を読み出す（Ｓａ３０２）。そして、Ｓａ３０２での読出値が“１”であるか否かを判定する。このとき、乱数回路５０９が備える周波数監視回路５５１によって、乱数用外部クロック端子ＥＲＣからの乱数用クロックＲＣＬＫに周波数異常が検知された場合には、内部情報データＣＩＦ４としてビット値“１”が書き込まれる。
【０２２５】
そこで、Ｓａ３０３にて読出値が“１”と判定された場合には、乱数用クロック異常判定カウント値を１加算するように更新する（Ｓａ３０４）。このときには、Ｓａ３０４での更新後におけるカウント値が所定のクロック異常判定値に達したか否かを判定する（Ｓａ３０５）。ここで、クロック異常判定値は、周波数監視回路５５１により乱数用クロックＲＣＬＫの周波数異常が連続して検知された場合にクロック異常と判定するために予め定められた数値であれば良い。Ｓａ３０５にてクロック異常判定値に達していなければ、Ｓａ３０２の処理に戻り、再び内部情報データＣＩＦ４のビット値に基づく判定を行う。
【０２２６】
Ｓａ３０５にてクロック異常判定値に達した場合には、乱数用クロックが正常に機能していないと判断して、ＣＰＵ５０５の動作を停止状態（ＨＡＬＴ）へ移行させる。
【０２２７】
Ｓａ３０３にて読出値が“０”と判定された場合には、乱数値異常判定カウンタをクリアして、そのカウント値である乱数値異常判定カウント値を「０」に初期化する（Ｓａ３０６）。尚、Ｓａ３０３の処理では、Ｓａ３０２にて読み出した内部情報データＣＩＦ４のビット値が複数回（例えば２回など）連続して“０”となったときに、読出値が“０”であると判定しても良い。
【０２２８】
Ｓａ３０６の処理に続いて、乱数値における異常の有無をチェックするために用いるチェック値を、初期値「００００Ｈ」に設定する（Ｓａ３０７）。そして、乱数回路５０９が備える乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａから、格納されている乱数値となる数値データを読み出す（Ｓａ３０８）。例えば、Ｓａ３０８の処理では、乱数ラッチ選択レジスタＲＤＬＳのビット番号［０］に格納される乱数ラッチ選択データＲＤＬＳ０のビット値を“０”として、ソフトウェアによる乱数値の取り込みを指定する。続いて、乱数値取込指定レジスタＲＤＬＴのビット番号［０］に格納される乱数値取込指定データＲＤＬＴ０のビット値を“１”として、乱数値レジスタＲ１Ｄへの取り込みを指定する。尚、乱数値取込指定レジスタＲＤＬＴのビット番号［０］におけるビット値を“１”とすることは、ＣＰＵ５０５から乱数回路５０９に対して数値データの取り込み（ラッチ）を指示するラッチ信号を出力することに相当する。その後、乱数値レジスタＲ１Ｄに供給するレジスタリード信号ＲＲＳ１をオン状態とすることにより、格納されている乱数値となる数値データを読み出すようにすれば良い。
【０２２９】
Ｓａ３０８にて数値データを読み出した後には、その読出値を乱数検査基準値に設定する（Ｓａ３０９）。続けて、さらに乱数値レジスタ５５９Ａから乱数値となる数値データを読み出す（Ｓａ３１０）。尚、Ｓａ３１０での読出動作は、Ｓａ３０８での読出動作と同様の手順で行われれば良い。また、Ｓａ３０８での読出動作と、Ｓａ３１０での読出動作との間には、乱数回路５０９で生成される乱数列ＲＳＮにおける数値データが変化するために十分な遅延時間を設けると良い。Ｓａ３１０にて数値データを読み出した後には、乱数検査基準値と、Ｓａ３１０での読出値との排他的論理和演算を実行する（Ｓａ３１１）。また、Ｓａ３１１での演算結果と、チェック値との論理和演算を実行し、演算結果を新たなチェック値とするように更新させる（Ｓａ３１２）。例えば、チェック値はＲＡＭ５０７の所定領域に記憶しておき、Ｓａ３１２の処理が実行される毎に、その処理で得られた演算結果を新たなチェック値として保存すれば良い。これにより、乱数値レジスタ５５９Ａから読み出した数値データにおける全ビットの変化が記録され、複数回の読出中に少なくとも１回は値が変化したビットであれば、チェック値において対応するビット値が“１”となる。
【０２３０】
そこで、チェック値が「ＦＦＦＦＨ」となったか否かを判定し（Ｓａ３１３）、なっていれば、全ビットについてビット値の変化が認められることから、乱数値が正常に更新されていると判断して、乱数回路異常検査処理を終了する。尚、乱数値が正常に更新されていることを確認できた場合には、乱数ラッチ選択レジスタＲＤＬＳのビット番号［０］に格納される乱数ラッチ選択データＲＤＬＳ０のビット値を“１”として、入力ポートＰ０への信号入力に応じた乱数値レジスタＲ１Ｄへの乱数値取込を、指示するよう設定される。本実施例では、入力ポートＰ０にスタートスイッチ７からのゲーム開始信号ＳＳ１を伝送する配線が接続される。これにより、ゲーム開始信号ＳＳ１がオン状態となったときに乱数値レジスタＲ１Ｄへの乱数値取込を行うことができる。
【０２３１】
Ｓａ３１３にてチェック値が「ＦＦＦＦＨ」以外と判定された場合には、乱数値異常判定カウント値を１加算するように更新する（Ｓａ３１４）。このときには、Ｓａ３１４での更新後におけるカウント値が所定の乱数値異常判定値に達したか否かを判定する（Ｓａ３１５）。ここで、乱数値異常判定値は、乱数回路５０９が正常動作していれば、乱数値レジスタ５５９Ａから読み出される数値データの全ビットが少なくとも１回は変化するのに十分な判定回数となるように、予め定められた数値であれば良い。Ｓａ３１５にて乱数値異常判定値に達していなければ、Ｓａ３１０の処理に戻り、再び乱数回路５０９から乱数値となる数値データを読み出して異常の有無をチェックするための判定などを行う。
【０２３２】
Ｓａ３１５にて乱数値異常判定値に達した場合には、乱数用クロックが正常に機能していないと判断して、ＣＰＵ５０５の動作を停止状態（ＨＡＬＴ）へ移行させる。
【０２３３】
尚、乱数回路異常検査処理は、ＣＰＵ５０５が実行するものに限定されず、ＣＰＵ５０５以外のメイン制御部４１における内蔵回路により乱数回路異常検査処理が実行されても良い。一例として、乱数回路５０９が乱数回路異常検査処理を実行する機能を有し、乱数用クロックＲＣＬＫの周波数異常が検知されたときや、乱数値の異常が検知されたときに、エラーの発生をＣＰＵ５０５に通知するようにしても良い。また、乱数回路異常検査処理は、起動時に実行されるものに限定されず、例えばメイン制御部４１にてタイマ割込みが発生する毎に、乱数回路異常検査処理の一部又は全部が実行されるようにしても良い。
【０２３４】
図２６に戻り、Ｓａ１１４の乱数回路設定処理及びＳａ１１５の乱数回路異常検査処理の後、Ｓａ１０７やＳａ１０８の処理で設定されたセキュリティ時間が経過したか否かを判定する（Ｓａ１１６）。このとき、セキュリティ時間が経過していなければ、Ｓａ１１６の処理を繰り返し実行して、セキュリティ時間が経過するまで待機する。そして、Ｓａ１１６にてセキュリティ時間が経過したと判定された場合には、セキュリティチェック処理を終了し、ＣＰＵ５０５に内蔵されたプログラムカウンタの値をＲＯＭ５０６におけるユーザプログラムの先頭アドレス（アドレス００００Ｈ）に設定することなどにより、メイン制御部４１の動作状態がセキュリティモードからユーザモードへと移行し、ＲＯＭ５０６に記憶されたユーザプログラムの実行が開始されることになる。尚、前述のようにユーザリセット信号の入力に伴う起動時には、セキュリティモードを経ずにユーザモードから開始することとなる。
【０２３５】
ユーザモードではまず、シリアル通信回路５１１等の内蔵デバイスや周辺ＩＣ、割込モード、スタックポインタ等を初期化した後（Ｓａ２）、Ｉレジスタ及びＩＹレジスタの値を初期化する（Ｓａ３）。Ｉレジスタ及びＩＹレジスタの初期化により、Ｉレジスタには、割込発生時に参照する割込テーブルのアドレスが設定され、ＩＹレジスタには、ＲＡＭ５０７の格納領域を参照する際の基準アドレスが設定される。これらの値は、固定値であり、起動時には常に初期化されることとなる。
【０２３６】
次いで、ＲＡＭ５０７へのアクセスを許可し（Ｓａ４）、ＲＡＭ５０７の全ての格納領域（未使用領域及び未使用スタック領域を含む）のＲＡＭパリティを計算する（Ｓａ５）。ついで、打止スイッチ３６ａ、自動精算スイッチ３６ｂの状態を取得し、メイン制御部４１の特定のレジスタに打止機能、自動精算機能の有効／無効を設定した後（Ｓａ６）。後述するポート入力処理において取得した各スイッチの入力データ、前回と今回の入力データが同じ状態を示す各スイッチの確定データ、前回と今回の確定データが異なる状態を示す各スイッチのエッジデータをそれぞれクリアし（Ｓａ７）、さらに停電が検知された旨を示す電断フラグをクリアする（Ｓａ８）。さらに、ドア開放検出スイッチ２５の検出状態の監視間隔を計時するドア監視タイマの値、ドア開放検出スイッチ２５からの検出信号の入力状態の履歴をクリアし（Ｓａ９）、操作検出コマンド送信要求及びドアコマンド送信要求２をクリアするとともに、ドアコマンド送信要求１を設定する（Ｓａ１０）。
【０２３７】
次いで、乱数ラッチフラグレジスタの値に基づいて乱数値がラッチされているか否か、すなわち乱数値レジスタ５５９Ａに数値データが取り込まれているか否かを判定し（Ｓａ１１）、乱数値がラッチされていなければＳａ１３のステップに進み、Ｓａ１１のステップにおいて乱数値がラッチされていれば、乱数値レジスタ５５９Ａから内部抽選用の乱数値を読み出し（Ｓａ１２）、Ｓａ１３のステップに進む。尚、Ｓａ１２のステップにおいて乱数値レジスタ５５９から内部抽選用の乱数値が読み出されると乱数ラッチフラグレジスタがクリアされ、新たな数値データの取込が許可されることとなる。また、Ｓａ１２のステップにおいては、内部抽選用の乱数値を読み出すものの、読み出した乱数値を用いる訳ではなく、スタートスイッチ７の操作に応じて新たな乱数値の取込を可能とするためにダミーとして読み出すものである。
【０２３８】
Ｓａ１３のステップでは、Ｓａ５のステップにおいて計算したＲＡＭパリティが０か否かを判定する。正常に電断割込処理（メイン）が行われていれば、ＲＡＭパリティが０になるはずであり、Ｓａ１３のステップにおいてＲＡＭパリティが０でなければ、ＲＡＭ５０７に格納されているデータが正常ではなく、この場合には、ＲＡＭ５０７の格納領域のうち、使用中スタック領域、非初期化領域を除く全ての格納領域を初期化する初期化１を実行した後（Ｓａ２６）、設定キースイッチ３７がｏｎか否かを判定し（Ｓａ２７）、設定キースイッチ３７がｏｎであれば、設定開始を示す設定コマンドを生成し、コマンドバッファに格納し（Ｓａ２３）、コマンドバッファに格納されたコマンドをシリアル通信回路５１１の送信データレジスタ５６１に転送するコマンド格納処理を行い（Ｓａ２４）、割込を許可して（Ｓａ２５）、設定変更処理、すなわち設定変更状態に移行する。
【０２３９】
Ｓａ２４のコマンド格納処理では、図２９に示すように、コマンドバッファに格納されているコマンドデータのうち1バイト目のデータを送信データレジスタ５６１に転送し（Ｓｘ１）、その後、コマンドバッファに格納されているコマンドデータのうち２バイト目のデータを送信データレジスタ５６１に転送する（Ｓｘ２）。そして、送信データレジスタ５６１に転送されたコマンドデータは、前述のように送信データレジスタ５６１に転送された順番でシリアルデータ化され、送信用シフトレジスタ５６２に格納され、サブ制御部９１に対して送信されることとなる。
【０２４０】
Ｓａ２４のステップにおいて設定キースイッチ３７がｏｆｆであれば、ＲＡＭ異常を示すエラーコードをレジスタに設定し（Ｓａ２８）、ＲＡＭ異常を示すエラーコマンドを生成してコマンドバッファに格納し（Ｓａ２９）、コマンド格納処理を行ってコマンドバッファ内のエラーコマンドを送信データレジスタ５６１に転送し（Ｓａ３０）、割込を許可して（Ｓａ３１）、エラー処理、すなわちＲＡＭ異常エラー状態に移行する。
【０２４１】
Ｓａ１３のステップにおいて、ＲＡＭパリティが０であれば、更に破壊診断用データが正常か否かを判定する（Ｓａ１４）。正常に電断処理（メイン）が行われていれば、破壊診断用データが設定されているはずであり、Ｓａ１４のステップにおいて破壊診断用データが正常でない場合（破壊診断用データが電断時に格納される５Ａ（Ｈ）以外の場合）にも、ＲＡＭ５０７のデータが正常ではないので、Ｓａ２６のステップに移行して初期化１を実行し、その後、Ｓａ２７のステップにおいて設定キースイッチ３７がｏｎであれば、設定開始を示す設定コマンドの生成（Ｓａ２３）、コマンド格納処理（Ｓａ２４）の後、割込を許可して（Ｓａ２５）、設定変更処理に移行する。また、Ｓａ２７のステップにおいて設定キースイッチ３７がｏｆｆであれば、ＲＡＭ異常を示すエラーコードの設定（Ｓａ２８）、ＲＡＭ異常を示すエラーコマンドの生成（Ｓａ２９）、コマンド格納処理（Ｓａ３０）の後、割込を許可して（Ｓａ３１）、エラー処理に移行する。
【０２４２】
Ｓａ１４のステップにおいて破壊診断用データが正常であると判定した場合には、ＲＡＭ５０７のデータは正常であるので、破壊診断用データをクリアし（Ｓａ１５）、ＲＡＭ５０７の非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化３を行った後（Ｓａ１６）、設定キースイッチ３７がｏｎか否かを判定し（Ｓａ１７）、設定キースイッチ３７がｏｎであれば、Ｓａ２２のステップに移行して初期化１を実行し、設定開始を示す設定コマンドの生成（Ｓａ２３）、コマンド格納処理（Ｓａ２４）の後、割込を許可して（Ｓａ２５）、設定変更処理に移行する。
【０２４３】
Ｓａ１７のステップにおいて設定キースイッチ３７がｏｆｆであれば、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し（Ｓａ１８）、復帰コマンドを生成してコマンドバッファに格納し（Ｓａ１９）、コマンド格納処理を行ってコマンドバッファ内の復帰コマンドを送信データレジスタ５６１に転送し（Ｓａ２０）、割込を許可してＳａ２１）、電断前の最後に実行していた処理に戻る。
【０２４４】
このように起動処理では、システムリセット時のみセキュリティモードの後、ユーザモードに移行するのに対してユーザリセット時には、セキュリティモードを省き、ユーザモードから開始するようになっている。
【０２４５】
システムリセット時のセキュリティモードでは、乱数回路５０９の設定を行う乱数回路設定処理を行うとともに、乱数回路設定処理において乱数の更新規則の設定や乱数のスタート値の設定などが行われる一方でユーザリセット時には、セキュリティモードは省略され、ユーザモードから開始することとなる。このため、システムリセット時には、乱数の初期値が設定し直されるのに対して、ユーザリセット時には、乱数回路５０９の設定は行われず、リセット前からの状態のまま乱数となる数値データの更新が継続されることとなる。また、セキュリティモードの間は、割込が許可されることがなく、ユーザモードへ移行した後に割込が許可されるので、システムリセット時においては、割込が許可されるよりも前に、これら乱数回路５０９の設定が行われることとなる。
【０２４６】
また、システムリセットであるかユーザリセットであるかに関わらず、ＲＡＭ５０７へのアクセスが許可された後、他の処理を行うことなく、まず、ＲＡＭ５０７の全ての格納領域（未使用領域及び未使用スタック領域を含む）のＲＡＭパリティを計算し、その後、計算したＲＡＭパリティから格納データが正常か否かの判定を行う前に、ＲＡＭ５０７の格納データが正常か否かに関わらず共通して行う必要のある処理として、打止機能、自動精算機能の有効／無効の設定、各スイッチの入力データ、確定データ、エッジデータのクリア、電断フラグのクリア、ドア開放検出スイッチ２５の検出状態の監視間隔を計時するドア監視タイマの値、ドア開放検出スイッチ２５からの検出信号の入力状態の履歴のクリア、ドアコマンド送信要求２のクリア及びドアコマンド送信要求１の設定、乱数値レジスタ５５９Ａからの乱数値の読み出し、を行い、その後、ＲＡＭパリティに基づいてＲＡＭ５０７の格納データが正常か否かの判定を行うようになっている。
【０２４７】
図３０は、メイン制御部４１が実行するエラー処理の制御内容を示すフローチャートである。
【０２４８】
エラー処理では、まず、現在の遊技補助表示器１２の表示状態をスタックに退避し（Ｓｂ１）、レジスタに格納されているエラーコードを遊技補助表示器１２に表示し（Ｓｂ２）、エラーコードがＲＡＭ異常エラーであるか否かを判定し（Ｓｂ３）、ＲＡＭ異常エラーを示すエラーコードである場合には、いずれの処理も行わないループ処理に移行する。
【０２４９】
Ｓｂ３のステップにおいてＲＡＭ異常エラーを示すエラーコードではないと判定された場合には、エラー状態の発生及びその種類を示すエラーコマンドを生成し、コマンドバッファに格納し（Ｓｂ４）、コマンド格納処理を行ってコマンドバッファ内のエラーコマンドを送信データレジスタ５６１に転送する（Ｓｂ５）。
【０２５０】
次いで、リセット／設定スイッチ３８のｏｆｆからｏｎの変化が検出されたか否かを判定し（Ｓｂ６）、リセット／設定スイッチ３８のｏｆｆからｏｎの変化が検出されていなければ、更にリセットスイッチ２３のｏｆｆからｏｎの変化が検出されているか否かを判定し（Ｓｂ７）、リセットスイッチ２３のｏｆｆからｏｎの変化も検出されていなければ、Ｓｂ６のステップに戻る。すなわちリセット／設定スイッチ３８またはリセットスイッチ２３のｏｆｆからｏｎの変化が検出されるまで、遊技の進行が不能な状態で待機する。
【０２５１】
そして、Ｓｂ６のステップにおいてリセット／設定スイッチ３８のｏｆｆからｏｎの変化が検出された場合、またはＳｂ７のステップにおいてリセットスイッチ２３のｏｆｆからｏｎの変化が検出された場合には、スイッチの検出状態がｏｆｆからｏｎに変化した旨またはｏｎからｏｆｆに変化した旨を示すエッジデータ（ｏｆｆからｏｎに変化した場合には立ち上がりエッジと呼び、ｏｎからｏｆｆに変化した場合には立ち下がりエッジと呼ぶ）をクリアし（Ｓｂ８）、レジスタに格納されているエラーコードをクリアし（Ｓｂ９）、遊技補助表示器１２の表示状態をＳｂ１のステップにおいてスタックに退避した表示状態に復帰させ（Ｓｂ１０）、エラー状態が解除された旨を示すエラーコマンドを生成してコマンドバッファに格納し（Ｓｂ１１）、コマンド格納処理を行ってコマンドバッファ内のエラーコマンドを送信データレジスタ５６１に転送した後（Ｓｂ１２）、もとの処理に戻る。
【０２５２】
このようにエラー処理においては、ＲＡＭ異常以外によるエラー処理であれば、リセット／設定スイッチ３８またはリセットスイッチ２３が操作されることで、エラー状態を解除してもとの処理に復帰するが、ＲＡＭ異常によるエラー処理であれば、リセット／設定スイッチ３８またはリセットスイッチ２３が操作されてもエラー状態が解除され、元の状態に復帰することはない。
【０２５３】
図３１は、メイン制御部４１が実行する設定変更処理の制御内容を示すフローチャートである。
【０２５４】
設定変更処理では、まず、ＲＡＭ５０７の設定値ワークに格納されている設定値を読み出して、読み出した値を表示値とし（Ｓｃ１）、表示値が設定可能な範囲（１〜６）外か否かを判定し（Ｓｃ２）、表示値が設定可能な範囲内であればＳｃ４のステップに進み、表示値が設定可能な範囲外であれば、表示値を１に補正し、Ｓｃ５のステップに進む。
【０２５５】
Ｓｃ５のステップでは、設定値表示器２４に表示値を表示させた後、リセット／設定スイッチ３８とスタートスイッチ７のｏｆｆからｏｎの変化の検出待ちの状態となり（Ｓｃ５、Ｓｃ６）、Ｓｃ５のステップにおいてリセット／設定スイッチ３８のｏｆｆからｏｎの変化が検出されると、エッジデータをクリアし（Ｓｃ９）、表示値を１加算し（Ｓｃ１０）、Ｓｃ２のステップに戻る。
【０２５６】
また、Ｓｃ６のステップにおいてスタートスイッチ７のｏｆｆからｏｎの変化が検出された場合には、エッジデータをクリアし（Ｓｃ９）、さらに後述の確定データを参照して他のスイッチがｏｎの状態か否かを判定し（Ｓｃ１０）、いずれかのスイッチがｏｎの状態であれば、Ｓｃ５のステップに戻り、いずれのスイッチもｏｎの状態でなければ、設定値表示器２４に表示されている値を０に更新し（Ｓｃ１１）、設定キースイッチ３７がｏｆｆの状態となるまで待機する（Ｓｃ１２）。
【０２５７】
Ｓｃ１１のステップにおいて設定キースイッチ３７のｏｆｆが判定されると、表示値を設定値ワークに格納して（Ｓｃ１３）、設定の終了及び新たな設定値を示す設定コマンドを生成してコマンドバッファに格納し（Ｓｃ１４）、コマンド格納処理を行ってコマンドバッファ内の設定コマンドを送信データレジスタ５６１に転送し（Ｓｃ１５）、ゲーム処理に移行する。
【０２５８】
図３２は、メイン制御部４１が実行するゲーム処理の制御内容を示すフローチャートである。
【０２５９】
ゲーム処理では、ＢＥＴ処理（Ｓｄ１）、内部抽選処理（Ｓｄ２）、リール回転処理（Ｓｄ３）、入賞判定処理（Ｓｄ４）、払出処理（Ｓｄ５）、ゲーム終了時処理（Ｓｄ６）を順に実行し、ゲーム終了時処理が終了すると、再びＢＥＴ処理に戻る。
【０２６０】
Ｓｄ１のステップにおけるＢＥＴ処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ７が操作された時点でゲームを開始させる処理を実行する。
【０２６１】
Ｓｄ２のステップにおける内部抽選処理では、Ｓｄ１のステップにおけるスタートスイッチ７の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、ＲＡＭ５０７に当選フラグが設定される。
【０２６２】
Ｓｄ３のステップにおけるリール回転処理では、各リール２Ｌ、２Ｃ、２Ｒを回転させる処理、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことに応じて対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる処理を実行する。
【０２６３】
Ｓｄ４のステップにおける入賞判定処理では、Ｓｄ３のステップにおいて全てのリール２Ｌ、２Ｃ、２Ｒの回転が停止したと判定した時点で、各リール２Ｌ、２Ｃ、２Ｒに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
【０２６４】
Ｓｄ５のステップにおける払出処理では、Ｓｄ４のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
【０２６５】
Ｓｄ６のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
【０２６６】
また、ゲーム処理では、ゲームの進行制御に応じてコマンドを生成してコマンドバッファに設定し、直後にコマンド格納処理を実行することでコマンドバッファに格納されたコマンドがシリアル通信回路５１１の送信データレジスタ５６１に転送され、サブ制御部９１に送信されるようになっている。
【０２６７】
図３３〜図３５は、メイン制御部４１がＳｄ１のステップにおいて実行するＢＥＴ処理の制御内容を示すフローチャートである。
【０２６８】
ＢＥＴ処理では、まず、ＲＡＭ５０７において賭数の値が格納されるＢＥＴカウンタの値をクリアし（Ｓｅ１）、遊技状態に応じた規定数をＲＡＭ５０７に設定し（Ｓｅ２）、ＲＡＭ５０７にリプレイゲームである旨を示すリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定する（Ｓｅ３）。
【０２６９】
Ｓｅ３のステップにおいて当該ゲームがリプレイゲームであると判定された場合には、賭数が３加算された旨を示すＢＥＴコマンドを生成してコマンドバッファに格納し（Ｓｅ４）、コマンド格納処理を行ってコマンドバッファ内のＢＥＴコマンドを送信データレジスタ５６１に転送し（Ｓｅ５）、ＢＥＴカウンタの値を１加算し（Ｓｅ６）、ＲＡＭ５０７に設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否か、すなわちゲームの開始条件となる賭数が設定されているか否かを判定し（Ｓｅ７）、ＢＥＴカウンタの値が規定数でなければＳｅ６のステップに戻り、ＢＥＴカウンタの値が規定数であれば、メダルの投入不可を示す投入不可フラグをＲＡＭ５０７に設定し（Ｓｅ８）、Ｓｅ１０のステップに進む。
【０２７０】
Ｓｅ３のステップにおいて当該ゲームがリプレイゲームでないと判定されれば、投入待ち前の設定を行い（Ｓｅ９）、Ｓｅ１０のステップに進む。投入待ち前の設定では、ＲＡＭ５０７に設定されている投入不可フラグをクリアし、メダルの投入が可能な状態とする。
【０２７１】
Ｓｅ１０のステップでは、レジスタにエラーコードが設定されているか否か、すなわちエラーが検知されたか否かを判定し、エラーコードが設定されていれば、図３０に示すエラー処理に移行する。
【０２７２】
Ｓｅ１０のステップにおいてエラーコードが設定されていなければ、ＲＡＭ５０７に投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定する（Ｓｅ１１）。Ｓｅ１１のステップにおいてメダルの投入が可能な状態であると判定された場合には、流路切替ソレノイド３０をｏｎの状態とし、メダルの流路をホッパータンク側の経路としてメダルの投入が可能な状態とし（Ｓｅ１２）、Ｓｅ１４のステップに進み、メダルの投入が可能な状態でないと判定された場合には、流路切替ソレノイド３０をｏｆｆの状態とし、メダルの流路をメダル払出口９側の経路として新たなメダルの投入を禁止し（Ｓｅ１３）、Ｓｅ１４のステップに進む。
【０２７３】
Ｓｅ１４のステップにおいては、設定キースイッチ３７がｏｎの状態か否かを判定し、設定キースイッチ３７がｏｎであれば、ＢＥＴカウンタの値が０か否かを判定する（Ｓｅ１５）。そして、Ｓｅ１５のステップにおいてＢＥＴカウンタの値が０であれば、設定確認開始を示す設定確認コマンドを生成してコマンドバッファに格納し（Ｓｅ１６）、コマンド格納処理を行ってコマンドバッファ内の設定確認コマンドを送信データレジスタ５６１に転送し（Ｓｅ１７）、設定確認処理（Ｓｅ１８）、すなわち設定確認状態に移行する。Ｓｅ１８のステップにおける設定確認処理が終了した後は、Ｓｅ１０のステップに戻る。
【０２７４】
Ｓｅ１４のステップにおいて設定キースイッチ３７がｏｎではない場合またはＳｅ１５のステップにおいてＢＥＴカウンタの値が０ではない場合には、Ｓｅ１９のステップに進み、投入メダルセンサ３１により投入メダルの通過が検出されたか否か、すなわち投入メダルの通過が検出された旨を示す投入メダルフラグの有無を判定する。Ｓｅ１９のステップにおいて投入メダルの通過が検出されていなければ、Ｓｅ３１のステップに進み、投入メダルの通過が検出されていれば、投入メダルフラグをクリアし（Ｓｅ２０）、ＲＡＭ５０７に投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定し（Ｓｅ２１）、メダルの投入が可能な状態でなければＳｅ３１のステップに進む。
【０２７５】
Ｓｅ２１のステップにおいてメダルの投入が可能な状態であれば、ＲＡＭ５０７に設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否を判定し（Ｓｅ２２）、ＢＥＴカウンタの値が規定数でなければ、ＢＥＴカウンタの値を１加算し（Ｓｅ２３）、賭数が１加算された旨を示すＢＥＴコマンドを生成してコマンドバッファに格納し（Ｓｅ２４）、コマンド格納処理を行ってコマンドバッファ内のＢＥＴコマンドを送信データレジスタ５６１に転送し（Ｓｅ２５）、Ｓｅ９のステップに戻る。
【０２７６】
Ｓｅ２２のステップにおいてＢＥＴカウンタの値が規定数であれば、ＲＡＭ５０７においてクレジットの値が格納されるクレジットカウンタの値を１加算し（Ｓｅ２６）、現在のクレジットカウンタの値を示すクレジットコマンドを生成してコマンドバッファに格納し（Ｓｅ２７）、コマンド格納処理を行ってコマンドバッファ内のクレジットコマンドを送信データレジスタ５６１に転送し（Ｓｅ２８）、クレジットカウンタの値が上限値である５０であるか否かを判定し（Ｓｅ２９）、クレジットカウンタの値が５０でなければ、Ｓｅ９のステップに戻り、クレジットカウンタの値が５０であれば投入不可フラグをＲＡＭ５０７に設定し（Ｓｅ３０）、Ｓｅ９のステップに戻る。
【０２７７】
Ｓｅ３１のステップでは、スタートスイッチ７のｏｆｆからｏｎの変化が検出されているか否か、すなわちスタートスイッチ７の立上りを示す立上りエッジが設定されているか否かを判定する。
【０２７８】
Ｓｅ３１のステップにおいてスタートスイッチ７のｏｆｆからｏｎの変化が検出されていないと判定された場合には、Ｓｅ４１のステップに進み、スタートスイッチ７のｏｆｆからｏｎの変化が検出されていれば、割込を禁止し（Ｓｅ３２）、エッジデータをクリアし（Ｓｅ３３）、後述する確定データに基づいて他のスイッチがｏｎの状態か否かを判定し（Ｓｅ３４）、いずれかのスイッチがｏｎの状態であれば割込を許可して（Ｓｅ３５）、Ｓｅ９のステップに戻る。
【０２７９】
Ｓｅ３４のステップにおいて他のスイッチがいずれもｏｎの状態でなければさらにＲＡＭ５０７に設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか、すなわちゲームの開始条件となる賭数が設定されているか否かを判定する（Ｓｅ３６）。
【０２８０】
Ｓｅ３６のステップにおいてＢＥＴカウンタの値が規定数でなければ、割込を許可して（Ｓｅ３５）、Ｓｅ９のステップに戻り、ＢＥＴカウンタの値が規定数であれば、乱数値格納ワークの値を内部抽選用の乱数値として抽選用ワークに設定し（Ｓｅ３７）、割込を許可し（Ｓｅ３８）、投入不可フラグをＲＡＭ５０７に設定するとともに、流路切替ソレノイド３０をｏｆｆの状態とし、メダルの流路をメダル払出口９側の経路として新たなメダルの投入を禁止し（Ｓｅ３９）、ゲーム開始時の設定を行う（Ｓｅ４０）。そして、Ｓｅ４０のステップの後、ＢＥＴ処理を終了して図３２のフローチャートに復帰する。
【０２８１】
このようにスタートスイッチ７のｏｆｆからｏｎへの変化が検出された後、当該スタートスイッチ７の操作が無効とされるか、有効と判断され、乱数値格納ワークの値を抽選用ワークに設定するまでの間、割込が禁止されるようになっており、この間にタイマ割込処理（メイン）が実行され、乱数値格納ワークの値が書き換わってしまうことが防止されるようになっている。
【０２８２】
Ｓｅ４１のステップにおいては、１枚ＢＥＴスイッチ５のｏｆｆからｏｎの変化が検出されているか否か、すなわち１枚ＢＥＴスイッチ５の立上りを示す立上りエッジが設定されているか否かを判定する。Ｓｅ４１のステップにおいて１枚ＢＥＴスイッチ５のｏｆｆからｏｎの変化が検出されていなければ、Ｓｅ４９のステップに進み、１枚ＢＥＴスイッチ５のｏｆｆからｏｎの変化が検出されていればエッジデータをクリアし（Ｓｅ４２）、ＲＡＭ５０７に設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否かを判定する（Ｓｅ４３）。Ｓｅ４６のステップにおいてＢＥＴカウンタの値が規定数であればＳｅ９のステップに戻り、ＢＥＴカウンタの値が規定数でなければ、クレジットカウンタの値が０であるか否かを判定し（Ｓｅ４４）、クレジットカウンタの値が０であればＳｅ９のステップに戻る。Ｓｅ４７のステップにおいてクレジットカウンタの値が０でなければ、クレジットカウンタの値を１減算し（Ｓｅ４５）、ＢＥＴカウンタの値を１加算して（Ｓｅ４６）、賭数が１加算された旨を示すＢＥＴコマンドを生成してコマンドバッファに格納し（Ｓｅ４７）、コマンド格納処理を行ってコマンドバッファ内のＢＥＴコマンドを送信データレジスタ５６１に転送し（Ｓｅ４８）、Ｓｅ９のステップに戻る。
【０２８３】
Ｓｅ４９のステップにおいては、ＭＡＸＢＥＴスイッチ６のｏｆｆからｏｎの変化が検出されているか否か、すなわちＭＡＸＢＥＴスイッチ６の立上り示す立上りエッジが設定されているか否かを判定する。Ｓｅ４９のステップにおいてＭＡＸＢＥＴスイッチ６のｏｆｆからｏｎの変化が検出されていなければ、Ｓｅ５８のステップに進み、ＭＡＸＢＥＴスイッチ６のｏｆｆからｏｎの変化が検出されていれば、エッジデータをクリアし（Ｓｅ５０）、ＲＡＭ５０７に設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否かを判定する（Ｓｅ５１）。Ｓｅ５１のステップにおいてＢＥＴカウンタの値が規定数であれば、Ｓｅ５５のステップに進み、ＢＥＴカウンタの値が規定数でなければ、クレジットカウンタの値が０であるか否かを判定し（Ｓｅ５２）、クレジットカウンタの値が０であれば、Ｓｅ５５のステップに進む。Ｓｅ５２のステップにおいてクレジットカウンタの値が０でなければ、クレジットカウンタの値を１減算し（Ｓｅ５３）、ＢＥＴカウンタの値を１加算して（Ｓｅ５４）、Ｓｅ５１のステップに戻る。Ｓｅ５５のステップでは、ＢＥＴカウンタが加算されたか否かを判定し、ＢＥＴカウンタが加算されていなければ、Ｓｅ９のステップに戻り、ＢＥＴカウンタが加算されていれば、加算された数分賭数が加算された旨を示すＢＥＴコマンドを生成してコマンドバッファに格納し（Ｓｅ５６）、コマンド格納処理を行ってコマンドバッファ内のＢＥＴコマンドを送信データレジスタ５６１に転送し（Ｓｅ５７）、Ｓｅ９のステップに戻る。
【０２８４】
Ｓｅ５８のステップにおいては、精算スイッチ１０のｏｆｆからｏｎの変化が検出されているか否か、すなわち精算スイッチ１０の立上りを示す立上りエッジが設定されているか否かを判定する。Ｓｅ５８のステップにおいて精算スイッチ１０のｏｆｆからｏｎの変化が検出されていなければ、Ｓｅ９のステップに戻り、精算スイッチ１０のｏｆｆからｏｎの変化が検出されていれば、エッジデータをクリアし（Ｓｅ５９）、ＲＡＭ５０７にリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定し（Ｓｅ６０）、当該ゲームがリプレイゲームであればＳｅ９のステップに戻る。Ｓｅ６０のステップにおいて当該ゲームがリプレイゲームでなければ、ＢＥＴカウンタの値が０か否かを判定し（Ｓｅ６１）、ＢＥＴカウンタの値が０であればＳｅ６３のステップに進み、ＢＥＴカウンタの値が０でなければ、既に設定済み賭数の精算を行う旨を示す賭数精算フラグをＲＡＭ５０７に設定し（Ｓｅ６２）、Ｓｅ６３のステップに進む。Ｓｅ６３のステップにおいては、ホッパーモータ３４ｂを駆動してクレジットカウンタまたはＢＥＴカウンタに格納された値分のメダルを払い出す制御、すなわちクレジットとして記憶されているメダルまたは賭数の設定に用いられたメダルを返却する制御が行われる精算処理を行う。そして、Ｓｅ６３のステップにおける精算処理の後、ＲＡＭ５０７に設定されている投入不可フラグをクリアして（Ｓｅ６４）、Ｓｅ９のステップに戻る。
【０２８５】
図３６及び図３７は、メイン制御部４１がＳｄ３のステップにおいて実行するリール回転処理の制御内容を示すフローチャートである。
【０２８６】
リール回転処理では、まず、フリーズ抽選を実行する（Ｓｉ１）。フリーズ抽選では、内部抽選の結果等に基づいてフリーズ状態に制御するか否か、フリーズ状態に制御する場合にはその実行時期について決定する。
【０２８７】
Ｓｉ１のステップにおけるフリーズ抽選の後、前のゲームのリール回転開始時点からウェイトタイム（本実施例では、約４．１秒）が経過したか否かを判定し（Ｓｉ２）、ウェイトタイムが経過していなければ、ウェイトタイムが経過するまで待機する。
【０２８８】
そして、Ｓｉ２のステップにおいてウェイトタイムが経過していれば、ウェイトタイムを新たに設定する（Ｓｉ３）。
【０２８９】
次いで、リールモータの回転開始時の設定を行い、リールの回転を開始させる（Ｓｉ４）。そして、回転中のリール別に仮想滑りコマテーブルの滑りコマ数を設定する滑りコマ数設定処理を行い（Ｓｉ５）、停止準備完了時の設定を行う（Ｓｉ６）。これにより、停止操作を有効化させることが可能な状態となり、その後、タイマ割込処理（メイン）の原点通過時処理において、リールの定速回転が検出された時点で、停止操作が有効となる。
【０２９０】
次いで、フリーズ条件が成立しているか否か、すなわちフリーズ抽選にてフリーズ状態に制御する旨が決定され、かつフリーズ状態に制御する時期であるかを判定し（Ｓｉ７）、フリーズ条件が成立していなければ、Ｓｉ９のステップに進み、フリーズ条件が成立していれば、フリーズ状態の時間を計時するためにＲＡＭ５０７に割り当てられたフリーズタイマカウンタに規定値を設定し（Ｓｉ８）、Ｓｉ９のステップに進む。フリーズタイマカウンタの値は、タイマ割込処理（メイン）が４回実行される毎に１ずつ減算される。
【０２９１】
Ｓｉ９のステップにおいては、フリーズタイマカウンタの値が０か否か、すなわちフリーズ状態に制御されているか否かを判定する。Ｓｉ９のステップにおいてフリーズタイマカウンタの値が０ではない場合、すなわちフリーズ状態に制御されている場合には、フリーズタイマカウンタの値が０となるまで待機する。
【０２９２】
Ｓｉ９のステップにおいてフリーズタイマカウンタの値が０の場合、すなわちフリーズ状態に制御されていない場合（当初からフリーズ状態に制御されていない場合、またはフリーズ状態が終了した場合）には、いずれかのストップスイッチのｏｆｆからｏｎの変化が検出されたか否か、すなわちいずれかのストップスイッチの立ち上がりを示す立ち上がりエッジが設定されているか否かを判定し（Ｓｉ１０）、いずれのストップスイッチのｏｆｆからｏｎの変化も検出されていなければ、リール回転エラー（一定期間以上、リールセンサ３３によりリール基準位置が検出されない場合に判定されるエラー）が発生したか否かを判定し（Ｓｉ１１）、リール回転エラーが発生していなければ、更に、投入エラー（メダルの投入が許可されている期間以外で、メダルの投入を検出した場合に判定されるエラー）が発生したか否か、及び払出エラー（メダルの払出が許可されている期間以外で、メダルの払出を検出した場合に判定されるエラー）が発生したか否かを判定し（Ｓｉ１２、Ｓｉ１３）、Ｓｉ１１〜Ｓｉ１３のステップにおいていずれのエラーの発生も判定されなければ、Ｓｉ９のステップに戻る。
【０２９３】
また、Ｓｉ１２のステップにおいて投入エラーの発生が判定された場合、またはＳｉ１３のステップにおいて払出エラーが判定された場合には、リール回転中の投入・払出エラーを示すエラーコードをレジスタに設定し（Ｓｉ１４）、図３０に示すエラー処理に移行する（Ｓｉ１７）。そして、エラーが解除された場合には、再びＳｉ９のステップに戻る。
【０２９４】
また、Ｓｉ１１のステップにおいてリール回転エラーの発生が判定された場合には、リール回転エラーを示すエラーコードをレジスタに設定し（Ｓｉ１６）、図３０に示すエラー処理に移行する（Ｓｉ１７）。これに伴い、リールの回転も一時的に停止する。そして、エラーが解除された場合には、再びＳｉ４のステップに戻り、リールの回転が再開する。
【０２９５】
また、Ｓｉ１０のステップにおいていずれかのストップスイッチのｏｆｆからｏｎの変化が検出された場合には、エッジデータをクリアし（Ｓｉ１８）、他のスイッチがｏｎの状態か否かを判定し（Ｓｉ１９）、他のスイッチが１つでもｏｎの状態であればＳｉ１０のステップに戻る。
【０２９６】
Ｓｉ１９のステップにおいて他のスイッチが全てｏｆｆの状態であれば、ｏｆｆからｏｎの変化が検出されたストップスイッチに対応するリールモータにおける、その時点のリール基準位置からのステップ数（停止操作位置となるステップ数）を取得し、停止リールに対応するワークに設定した後（Ｓｉ２０）、リール停止コマンドを生成してコマンドバッファに格納し（Ｓｉ２１）、コマンド格納処理を行ってコマンドバッファ内のＢＥＴコマンドを送信データレジスタ５６１に転送し（Ｓｉ２２）、停止操作に対応するリールの回転が停止するまで待機する（Ｓｉ２３）。
【０２９７】
そして、停止操作に対応するリールの回転が停止すると、全てのリールが停止したか否かを判定し（Ｓｉ２４）、全てのリールが停止していなければ、Ｓｉ５のステップに戻り、全てのリールが停止していれば、リール回転処理を終了して、図３２のフローチャートに復帰する。
【０２９８】
図３８及び図３９は、メイン制御部４１が一定間隔（０．５６ｍｓの間隔）で起動処理やゲーム処理に割り込んで実行するタイマ割込処理（メイン）の制御内容を示すフローチャートである。尚、タイマ割込処理（メイン）の実行期間中は自動的に他の割込が禁止される。
【０２９９】
タイマ割込処理（メイン）においては、まず、使用中のレジスタをスタック領域に退避した後（Ｓｋ１）、停電判定処理を行う。停電判定処理では、電断検出回路４８から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。
【０３００】
Ｓｋ２のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し（Ｓｋ３）、電断フラグが設定されていなければ、Ｓｋ４に進み、電断フラグが設定されていた場合には、後述する電断処理（メイン）に移行する。
【０３０１】
Ｓｋ４のステップでは、シリアル通信回路５１１のステータスレジスタ５６３の値を取得し、ＲＡＭ５０７に格納し、Ｓｋ５のステップに進み、入力ポートから各種スイッチ類の検出データを入力するポート入力処理を行う。
【０３０２】
次いで、４種類のタイマ割込１〜４から当該タイマ割込処理（メイン）において実行すべきタイマ割込を識別するための分岐用カウンタを１進める（Ｓｋ６）。Ｓｋ６のステップでは、分岐用カウンタ値が０〜２の場合に１が加算され、カウンタ値が３の場合に０に更新される。すなわち分岐用カウンタ値は、タイマ割込処理（メイン）が実行される毎に、０→１→２→３→０・・・の順番でループする。
【０３０３】
次いで、分岐用カウンタ値を参照して２または３か、すなわちタイマ割込３またはタイマ割込４かを判定し（Ｓｋ７）、タイマ割込３またはタイマ割込４ではない場合、すなわちタイマ割込１またはタイマ割込２の場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時または定速回転中か否かを確認し、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時または定速回転中であれば、後述するＳｋ１１のモータステップ処理において変更した位相信号データや後述するＳｋ２４の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する（Ｓｋ８）。
【０３０４】
次いで、分岐用カウンタ値を参照して１か否か、すなわちタイマ割込２か否かを判定し（Ｓｋ９）、タイマ割込２ではない場合、すなわちタイマ割込１の場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時のステップ時間間隔の制御を行うリール始動処理（Ｓｋ１０）、リールモータ３２Ｌ、３２Ｃ、３２Ｒの位相信号データの変更を行うモータステップ処理（Ｓｋ１１）、リールモータ３２Ｌ、３２Ｃ、３２Ｒの停止後、一定時間経過後に位相信号を１相励磁に変更するモータ位相信号スタンバイ処理（Ｓｋ１２）を順次実行した後、Ｓｋ２６のステップに進む。
【０３０５】
また、Ｓｋ９のステップにおいてタイマ割込２の場合には、各種表示器をダイナミック点灯させるＬＥＤダイナミック表示処理（Ｓｋ１３）、各種ＬＥＤ等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理（Ｓｋ１４）、各種時間カウンタを更新する時間カウンタ更新処理（Ｓｋ１５）、ドア開放検出スイッチ２５の検出状態の監視、ドアコマンドの送信要求などを行うドア監視処理（Ｓｋ１６）、ドアコマンドや操作検出コマンドのシリアル通信回路５１１への転送等を行うコマンド送信処理（Ｓｋ１７）、外部出力信号を更新する外部出力信号更新処理（Ｓｋ１８）を順次実行した後、Ｓｋ２６のステップに進む。
【０３０６】
また、Ｓｋ７のステップにおいてタイマ割込３またはタイマ割込４であれば、更に、分岐用カウンタ値を参照して３か否か、すなわちタイマ割込４か否かを判定し（Ｓｋ１９）、タイマ割込４でなければ、すなわちタイマ割込３であれば、回転中のリール２Ｌ、２Ｃ、２Ｒの原点通過（リール基準位置の通過）をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているか（停止準備完了コードが設定されているか）を確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する原点通過時処理（Ｓｋ２０）、スイッチ類の検出状態に変化があったか否かの判定、操作検出コマンドの送信要求等を行うスイッチ入力判定処理（Ｓｋ２１）、乱数値レジスタＲ１Ｄから数値データを読み出して乱数値格納ワークに格納する乱数値読出処理（Ｓｋ２２）を順次実行した後、Ｓｋ２６のステップに進む。
【０３０７】
また、Ｓｋ１９のステップにおいてタイマ割込４であれば、ストップスイッチ８Ｌ、８Ｃ、８Ｒの検出に伴って停止リールのワークに停止操作位置が格納されたときに、停止リールのワークに格納された停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理（Ｓｋ２３）、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら２相励磁によるブレーキを開始する停止処理（Ｓｋ２４）、停止処理においてブレーキを開始してから一定時間後に３相励磁とする最終停止処理（Ｓｋ２５）を順次実行した後、Ｓｋ２６のステップに進む。
【０３０８】
Ｓｋ２６のステップでは、Ｓｋ１においてスタック領域に退避したレジスタを復帰し、割込前の処理に戻る。
【０３０９】
このように本実施例では、一定間隔毎に基本処理に割り込んでタイマ割込処理（メイン）を実行するとともに、タイマ割込処理（メイン）を実行する毎に処理カウンタを更新し、処理カウンタ値に応じて定められた処理を行うようになっており、一度のタイマ割込処理（メイン）に要する負荷を分散できるうえに、処理カウンタ値に関わらず、電圧低下信号に基づいて電断の条件が成立しているか否かを判定する停電判定処理を行い、電断の条件が成立していれば、電断処理を行うようになっており、電断が検知された場合には速やかに電断処理を行うことが可能となる。
【０３１０】
また、タイマ割込処理（メイン）内で、電断の条件が成立しているか否かの判定を行い、電断の条件が成立していれば、そのまま電断処理に移行することとなり、タイマ割込処理（メイン）の実行中に電断に伴う割込が発生することもないため、タイマ割込処理（メイン）の実行中に電断処理を割り込ませたり、タイマ割込処理（メイン）の終了を待って電断に伴う割込処理を行う必要がないため、電断条件の成立に伴う処理が複雑化してしまうことがない。
【０３１１】
図４０は、メイン制御部４１が前述したタイマ割込処理（メイン）のタイマ割込３内において実行するスイッチ入力判定処理の制御内容を示すフローチャートである。
【０３１２】
スイッチ入力判定処理では、ポート入力処理において取得した各スイッチの入力データを更新し（Ｓｋ１０１）、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じであるか否かを判定し（Ｓｋ１０２）、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じでなければ、図３９のフローチャートに復帰する。
【０３１３】
Ｓｋ１０２のステップにおいて、前回の入力データが示す検出状態と今回の入力データが示す検出状態とが同じ場合、すなわち２．２４ｍｓの間同じ検出状態を示している場合には、該当するスイッチの確定データを更新し（Ｓｋ１０３）、Ｓｋ１０４のステップに進む。Ｓｋ１０３のステップでは、今回の確定データを前回の確定データに移動し、前回と今回が同じと判定された入力データが示す検出状態を今回の確定データとして設定する。
【０３１４】
Ｓｋ１０４のステップでは、更新後の前回の確定データと今回の確定データとが同じか否かを判定し、全てのスイッチについて前回の確定データと今回の確定データとが同じであれば、エッジデータをクリアし（Ｓｋ１０５）、図３９のフローチャートに復帰する。
【０３１５】
Ｓｋ１０４のステップにおいていずれか１つのスイッチでも前回の確定データと今回の確定データとが同じでなければ、前回の確定データと今回の確定データとが異なるスイッチについてｏｆｆからｏｎに変化したかを判定し（Ｓｋ１０６）、ｏｆｆからｏｎに変化したスイッチがなければＳｋ１０８のステップに進み、ｏｆｆからｏｎに変化したスイッチがある場合には、該当するスイッチがｏｆｆからｏｎに変化した旨を示す立上りエッジを設定した後（Ｓｋ１０７）、Ｓｋ１０８のステップに進む。
【０３１６】
Ｓｋ１０８のステップでは、前回の確定データと今回の確定データとが異なるスイッチについてｏｎからｏｆｆに変化したかを判定し、ｏｎからｏｆｆに変化したスイッチがなければ、Ｓｋ１１０に進み、ｏｎからｏｆｆに変化したスイッチがある場合には、該当するスイッチがｏｎからｏｆｆに変化した旨を示す立下りエッジを設定し（Ｓｋ１０９）、Ｓｋ１１０のステップに進む。
【０３１７】
Ｓｋ１１０のステップでは、前回の確定データと今回の確定データとが同じスイッチがあるか否かを判定し、前回の確定データと今回の確定データとが同じスイッチがなければ、Ｓｋ１１２のステップに進み、前回の確定データと今回の確定データとが同じスイッチがあれば、該当するスイッチのエッジデータのみをクリアし（Ｓｋ１１１）、Ｓｋ１１２のステップに進む。
【０３１８】
Ｓｋ１１２では、操作検出コマンド送信要求を設定し、検出状態が変化したスイッチ（エッジデータが設定されているスイッチ）、当該スイッチがｏｆｆからｏｎに変化したか、ｏｎからｏｆｆに変化したか（立上りエッジか、立下りエッジか）、他のスイッチ（検出状態が変化していないスイッチ）の検出状態（ｏｎ／ｏｆｆ）を示す操作検出コマンドを生成してＲＡＭ５０７に割り当てられた操作検出コマンド格納領域（操作検出コマンドが送信されるまで一時的に操作検出コマンドが格納される領域）に格納する（Ｓｋ１１３）ことで、操作検出コマンドの送信を命令した後、図３９のフローチャートに復帰する。
【０３１９】
図４１は、メイン制御部４１が前述したタイマ割込処理（メイン）のタイマ割込３内において実行する乱数値読出処理の制御内容を示すフローチャートである。
【０３２０】
乱数値読出処理では、乱数ラッチフラグレジスタの値に基づいて数値データがラッチされているか否か、すなわち乱数値レジスタ５５９Ａに数値データが取り込まれているか否かを判定し（Ｓｋ２０１）、数値データがラッチされていなければ、乱数値読出処理を終了して図３９に示すフローチャートに復帰する。
【０３２１】
Ｓｋ２０１のステップにおいて数値データがラッチされていれば乱数値レジスタ５５９Ａから数値データを読み出し（Ｓｋ２０２）、乱数値格納ワークに格納されている値を、Ｓｋ２０２において読み出した数値データに更新し（Ｓｋ２０３）、乱数値読出処理を終了して図３９に示すフローチャートに復帰する。
【０３２２】
尚、Ｓｋ２０２のステップにおいて乱数値レジスタ５５９から数値データが読み出されると乱数ラッチフラグレジスタがクリアされ、乱数値レジスタ５５９への新たな数値データの取込が許可されることとなる。
【０３２３】
図４２は、メイン制御部４１が前述したタイマ割込処理（メイン）のタイマ割込２内において実行するドア監視処理の制御内容を示すフローチャートである。
【０３２４】
ドア監視処理では、まず、ドア開放検出スイッチ２５の入力状態の履歴（ポート入力処理において取得したドア開放検出スイッチ２５の正論理化した検出信号の確定状態を約１００ｍｓ論理和し続けた値）であるドアセンサ履歴を更新する（Ｓｋ３０１）。すなわちドア開放検出スイッチ２５の正論理化した検出信号の確定状態とドアセンサ履歴との論理和をとって新たなドアセンサ履歴とする。
【０３２５】
次いで、ドア監視タイマの値が０か否か、すなわち前回の監視から約１００ｍｓが経過したか否かを判定し（Ｓｋ３０２）、ドア監視タイマの値が０でなければ、ドア監視タイマの値を１減算し（Ｓｋ３０３）、ドア監視処理を終了し、図３８のフローチャートに復帰する。
【０３２６】
Ｓｋ３０２のステップにおいてドア監視タイマの値が０であれば、ドア監視タイマの値として４４を設定し（Ｓｋ３０４）、新たに１００ｍｓの計時を開始する。そしてドアセンサ履歴をレジスタに取得し、ＲＡＭ５０７のドアセンサ履歴をクリアした後（Ｓｋ３０５）、レジスタに取得したドアセンサ履歴が示すドア開放検出スイッチ２５の検出状態と、ＲＡＭ５０７に割り当てられたドアコマンド格納領域（ドアコマンドが送信されるまで一時的にドアコマンドが格納される領域であり、ドア開放検出スイッチ２５の検出状態が変化することで新たな検出状態を示すドアコマンドに更新される）に格納されているドアコマンドが示すドア開放検出スイッチ２５の検出状態と、を比較し、ドア開放検出スイッチ２５の検出状態に変化があるか否かを判定する（Ｓｋ３０６）。
【０３２７】
Ｓｋ３０６のステップにおいてドア開放検出スイッチ２５の検出状態に変化がなければ、ドアコマンド送信要求１が設定されているか否か、すなわちメイン制御部４１の起動またはゲームの終了に伴いドアコマンドの送信が要求されているか否かを判定し（Ｓｋ３０７）、ドアコマンド送信要求１が設定されていなければ、ドア監視処理を終了し、図３８のフローチャートに復帰する。
【０３２８】
Ｓｋ３０６のステップにおいてドア開放検出スイッチ２５の検出状態に変化がある場合、またはＳｋ３０７のステップにおいてドアコマンド送信要求１が設定されている場合には、ドアコマンド送信要求１をクリアするとともに、ドアコマンド送信要求２を設定し（Ｓｋ３０８）、取得したドアセンサ履歴（変化後のドア開放検出スイッチ２５の検出状態）に基づくドアコマンドを生成してドアコマンド格納領域に格納する（Ｓｋ３０９）ことで、変化後のドアコマンドの送信を命令した後、ドア監視処理を終了し、図３８のフローチャートに復帰する。
【０３２９】
図４３は、メイン制御部４１が前述したタイマ割込処理（メイン）のタイマ割込２内において実行するコマンド送信処理の制御内容を示すフローチャートである。
【０３３０】
コマンド送信処理では、まず、当該コマンド送信処理が行われるタイマ割込処理（メイン）のＳｋ４のステップにおいて取得したシリアル通信回路５１１のステータスレジスタ５６３の値に基づいてシリアル通信回路５１１がコマンドを送信中か否かを判定し（Ｓｋ４０１）、シリアル通信回路５１１がコマンドの送信中であれば、コマンド送信処理を終了し、図３８に示すフローチャートに復帰する。
【０３３１】
Ｓｋ４０１のステップにおいてシリアル通信回路５１１がコマンドの送信中でなければ、ドアコマンド送信要求２が設定されているか、すなわちドアコマンドの送信が命令されているか否かを判定する（Ｓｋ４０２）。
【０３３２】
Ｓｋ４０２のステップにおいてドアコマンド送信要求２が設定されている場合には、ドアコマンド送信要求２をクリアし（Ｓｋ４０３）、ドアコマンド格納領域に設定されているドアコマンドを読み出してコマンドバッファに格納し（Ｓｋ４０４）、コマンド格納処理を行ってコマンドバッファ内のドアコマンドを送信データレジスタ５６１に転送し（Ｓｋ４０８）、図３８に示すフローチャートに復帰する。
【０３３３】
Ｓｋ４０２のステップにおいてドアコマンド送信要求２が設定されていない場合には、操作検出コマンド送信要求が設定されているか否か、すなわち操作検出コマンドの送信が命令されているか否かを判定する（Ｓｋ４０５）。
【０３３４】
Ｓｋ４０５のステップにおいて操作検出コマンド送信要求が設定されていない場合には、図３８に示すフローチャートに復帰し、操作検出コマンド送信要求が設定されている場合には、操作検出コマンド送信要求をクリアし（Ｓｋ４０６）、操作検出コマンド格納領域に設定されている操作検出コマンドを読み出してコマンドバッファに格納し（Ｓｋ４０７）、コマンド格納処理を行ってコマンドバッファ内の操作検出コマンドを送信データレジスタ５６１に転送し（Ｓｋ４０８）、図３８に示すフローチャートに復帰する。
【０３３５】
図４４は、メイン制御部４１が前述したタイマ割込処理（メイン）において電断フラグが設定されていると判定した場合に実行する電断処理（メイン）の制御内容を示すフローチャートである。
【０３３６】
電断処理（メイン）においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する（Ｓｍ１）。尚、前述したＩレジスタ及びＩＹレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
【０３３７】
次いで、破壊診断用データ（本実施例では、５Ａ（Ｈ））をセットして（Ｓｍ２）、全ての出力ポートを初期化する（Ｓｍ３）。次いでＲＡＭ５０７の全ての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してセットし（Ｓｍ４）、ＲＡＭ５０７へのアクセスを禁止する（Ｓｍ５）。
【０３３８】
その後、電圧が低下してＣＰＵ５０５が停止するか、ユーザリセット信号が入力されて再起動するか、の待機状態に移行する。この待機状態では、乱数ラッチフラグレジスタの値に基づいて乱数値がラッチされているか否か、すなわち乱数値レジスタ５５９Ａに数値データが取り込まれているか否かを判定し（Ｓｍ６）、乱数値がラッチされていれば、乱数値レジスタ５５９Ａから内部抽選用の乱数値を読み出す（Ｓｍ７）ようになっており、これら以外の処理は行われない。Ｓｍ７のステップにおいて乱数値レジスタ５５９から内部抽選用の乱数値が読み出されると乱数ラッチフラグレジスタがクリアされ、新たな数値データの取込が許可されることとなる。また、Ｓｍ７のステップにおいては、内部抽選用の乱数値を読み出すものの、読み出した乱数値を用いる訳ではなく、スタートスイッチ７の操作に応じて新たな乱数値の取込を可能とするためにダミーとして読み出すものである。
【０３３９】
そしてこの待機状態のまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にメイン制御部４１は動作停止する。また、この待機状態において、電圧が低下せずにユーザリセット信号が入力されると前述した起動処理（メイン）がユーザモードから実行され、ＲＡＭ５０７の格納データが正常であれば、元の処理に復帰することとなる。
【０３４０】
尚、本実施例では、ＲＡＭ５０７へのアクセスを禁止した後、乱数値がラッチされているか否かを監視し、乱数値がラッチされている場合にラッチされた乱数値を読み出す処理以外には行わない構成であるが、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理（メイン）のユーザモードからプログラムをスタートさせる構成としても良い。
【０３４１】
本実施例のメイン制御部４１は、システムリセットであるかユーザリセットであるかに関わらず、ＲＡＭ５０７へのアクセスが許可された後、他の処理を行うことなく、まず、ＲＡＭ５０７の全ての格納領域（未使用領域及び未使用スタック領域を含む）のＲＡＭパリティを計算し、その後、計算したＲＡＭパリティから格納データが正常か否かの判定を行う前に、ＲＡＭ５０７の格納データが正常か否かに関わらず共通して行う必要のある処理を行い、その後、ＲＡＭパリティに基づいてＲＡＭ５０７の格納データが正常か否かの判定を行うようになっている。
【０３４２】
このため、これらＲＡＭ５０７の格納データが正常か否かに関わらず共通して行う必要のある処理を、ＲＡＭ５０７の格納データが正常と判定された場合と異常と判定された場合とで個別に実行する必要がないため、起動時の処理に用いるプログラム容量を削減することができる。
【０３４３】
また、メイン制御部４１の起動後、ＲＡＭ５０７へのアクセスが許可された後、他の処理を行う前にＲＡＭパリティの計算が行われるので、ＲＡＭ５０７に対して何らのアクセスも行われる前の状態で算出されたＲＡＭパリティに基づいて格納データが正常か否かの判断が行われるため、データが正常か否かの判定の信頼性を高めることができる。
【０３４４】
また、電断処理において、ＲＡＭ５０７の未使用領域及び未使用スタック領域を含む全てのデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、格納するとともに、復旧時においてＲＡＭ５０７における未使用領域及び未使用スタック領域を含む全ての領域に格納されているデータに基づいて計算したＲＡＭパリティが０か否かを判定することで、ＲＡＭ５０７のデータが正常か否かを判定しているので、当該判定を正確にかつ簡便に行うことができるうえに、未使用領域や未使用スタック領域に不正なプログラムやデータが格納された場合でも、これら不正なプログラムやデータが格納されたまま復帰してしまうことを防止できる。
【０３４５】
また、ＲＡＭパリティを計算した後、計算したＲＡＭパリティから格納データが正常か否かの判定を行う前に、ＲＡＭ５０７の格納データが正常か否かに関わらず共通して行う処理として、ＲＡＭ５０７に格納されている各スイッチ入力データ、確定データ、エッジデータ、すなわち各スイッチの検出状況を示すデータをクリアするようになっており、メイン制御部４１の起動時においてＲＡＭ５０７のデータが正常であり、以前の制御状態に復帰させる場合でも以前の制御状態には復帰させない場合でも、割込が許可された後、速やかにスイッチの検出状態のチェックを開始することが可能となる。
【０３４６】
本実施例のスロットマシン１におけるメイン制御部４１は、システムリセット時、すなわち電源投入などに伴いシステムリセット信号が入力されたときに、ＣＰＵ５０５がＲＯＭ５０６などに記憶されているセキュリティチェックプログラム５０６Ａを読み出して実行することにより、セキュリティモードとなる。
【０３４７】
このときには、セキュリティチェックプログラム５０６Ａに対応した処理としてセキュリティチェック処理が実行される。ここで、メイン制御部４１がセキュリティモードとなるセキュリティ時間は、ＲＯＭ５０６のプログラム管理エリアに記憶されているセキュリティ時間設定ＫＳＥＳのビット番号［２−０］やビット番号［４−３］に予め格納されたビット値に応じて、一定の固定時間とは異なる時間成分を含むことができる。
【０３４８】
例えば、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値が“０００”以外の値であれば、図１０（Ｄ）に示す設定内容に対応して、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる。また、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値が“００”以外の値であれば、図１０（Ｃ）に示すショートモード又はロングモードに対応して、システムリセットや電源投入がなされるごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる。
【０３４９】
こうして設定されたセキュリティ時間が経過するまでは、ＲＯＭ５０６に記憶されているユーザプログラムの実行が開始されない。そして、乱数回路５０９による乱数値となる数値データの生成動作も、メイン制御部４１がセキュリティモード中である期間では、開始されないようにすれば良い。これにより、電源投入等のシステムリセットによる動作開始タイミングから、乱数回路５０９の動作開始タイミングや更新される数値データなどを特定することが困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
【０３５０】
一例として、スロットマシン１の機種毎に、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値を異なる値に設定する。この場合には、セキュリティモードの延長時間を、スロットマシン１の機種毎に異ならせることができ、スロットマシン１の動作開始タイミングから乱数回路５０９の動作開始タイミングを特定することが困難になる。また、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値を“０１”又は“１０”に設定することにより、可変設定時間を、システムリセット毎に異ならせることができる。これにより、スロットマシン１の動作開始タイミングから乱数回路５０９の動作開始タイミングを特定することは著しく困難になる。
【０３５１】
図４５は、メイン制御部４１に内蔵された乱数回路５０９の動作を説明するためのタイミングチャートである。また、図４５（Ａ）では、遊技制御基板４０に搭載された制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫを示している。図４５（Ｂ）では、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫを示している。図４５（Ａ）及び（Ｂ）に示すように、制御用クロックＣＣＬＫの発振周波数と、乱数用クロックＲＣＬＫの発振周波数とは、互いに異なる周波数となっており、また、いずれか一方の発振周波数が他方の発振周波数の整数倍になることがない。
【０３５２】
図４５（Ｂ）に示すように、乱数用クロックＲＣＬＫは、タイミングＴ１０，Ｔ１１，Ｔ１２，…においてローレベルからハイレベルに立ち上がる。そして、乱数用クロックＲＣＬＫは、メイン制御部４１の乱数用外部クロック端子ＥＲＣに供給され、図１２に示す乱数回路５０９が備えるクロック用フリップフロップ５５２におけるクロック端子ＣＫに入力される。クロック用フリップフロップ５５２は、逆相出力端子（反転出力端子）ＱバーからＤ入力端子へとフィードバックされるラッチ用クロックＲＣ０を、クロック端子ＣＫに入力される乱数用クロックＲＣＬＫの立ち上がりエッジに応答して取り込み（ラッチして）、正相出力端子（非反転出力端子）Ｑから乱数更新クロックＲＧＫとして出力する。これにより、乱数更新クロックＲＧＫは、図４５（Ｃ）に示すように、タイミングＴ１０，Ｔ１２，Ｔ１４，…において、ローレベルからハイレベルへと立ち上がり、乱数用クロックＲＣＬＫの発振周波数の１／２の発振周波数を有する信号となる。例えば、乱数用クロックＲＣＬＫの発振周波数が２０ＭＨｚであれば、乱数更新クロックＲＧＫの発振周波数は１０ＭＨｚとなる。そして、乱数用クロックＲＣＬＫの発振周波数は制御用クロックＣＣＬＫの発振周波数の整数倍にも整数分の１にもならないことから、乱数更新クロックＲＧＫの発振周波数は、制御用クロックＣＣＬＫの発振周波数とは異なる周波数となる。乱数生成回路５５３は、例えば乱数更新クロックＲＧＫの立ち上がりエッジに応答して、カウント値順列ＲＣＮにおける数値データを更新する。乱数列変更回路５５５は、乱数列変更設定回路５５６による乱数更新規則の設定に基づき、乱数生成回路５５３から出力されたカウント値順列ＲＣＮにおける数値データの更新順を変更したものを、乱数列ＲＳＮとして出力する。こうして、乱数列ＲＳＮにおける数値データは、例えば図４５（Ｄ）に示すように、乱数更新クロックＲＧＫの立ち上がりエッジなどに応答して更新される。
【０３５３】
このように、乱数用クロック生成回路１１２により生成される乱数用クロックＲＣＬＫ
の発振周波数と、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数とは、互いに異なっており、また、一方の発振周波数が他方の発振周波数の整数倍となることもない。そのため、乱数回路５０９のクロック用フリップフロップ５５２により生成される乱数更新クロックＲＧＫやラッチ用クロックＲＣ０の発振周波数は、乱数用クロックＲＣＬＫの発振周波数の１／２となるが、制御用クロックＣＣＬＫの発振周波数や、制御用クロックＣＣＬＫの発振周波数の１／２となる内部システムクロックＳＣＬＫの発振周波数とは、異なるものとなる。こうして、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫと、乱数更新クロックＲＧＫとに同期が生じることを防ぎ、ＣＰＵ５０５の動作タイミングからは、乱数回路５０９にて乱数生成回路５５３や乱数列変更回路５５５により生成される乱数列ＲＳＮにおける数値データの更新タイミングを特定することが困難になる。これにより、ＣＰＵ５０５の動作タイミングから乱数回路５０９における乱数値となる数値データの更新動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
【０３５４】
さらに、制御用クロックＣＣＬＫの発振周波数と、乱数更新クロックＲＧＫの発振周波数を比較し、双方の発振周波数が同期するか否かを監視し、双方の発振周波数が同期した場合には、乱数更新クロックＰＧＫの入力状態に異常が発生したと判定し、ゲームの進行を不能化することが好ましく、このようにすることで、乱数値となる数値データの更新動作に異常が発生している状態でゲームの進行制御が行われてしまうことを防止できる。
【０３５５】
クロック用フリップフロップ５５２から出力されるラッチ用クロックＲＣ０は、乱数更新クロックＲＧＫの反転信号となり、その発振周波数は乱数更新クロックＲＧＫの発振周波数と同一で、その位相は乱数更新クロックＲＧＫの位相とπ（＝１８０°）だけ異なる。ラッチ用クロックＲＣ０は、分岐点ＢＲ１にてラッチ用クロックＲＣ１とラッチ用クロックＲＣ２とに分岐される。したがって、例えば図４５（Ｅ）に示すように、各ラッチ用クロックＲＣ０、ＲＣ１、ＲＣ２はいずれも、共通の周期で信号状態が変化する発振信号となる。ラッチ用クロックＲＣ１は、ラッチ用フリップフロップ５５７Ａのクロック端子ＣＫに入力される。ラッチ用クロックＲＣ２は、ラッチ用フリップフロップ５５７Ｂのクロック端子ＣＫに入力される。
【０３５６】
こうして、ラッチ用クロックＲＣ０を分岐することにより生成されるラッチ用クロックＲＣ１、ＲＣ２の発振周波数は、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫの発振周波数とは、異なるものとなる。したがって、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫと、ラッチ用クロックＲＣ１、ＲＣ２とに同期が生じることを防ぎ、ＣＰＵ５０５の動作タイミングからは、乱数回路５０９にて乱数値となる数値データが取り込まれる動作タイミングを特定することが困難になる。これにより、ＣＰＵ５０５の動作タイミングから乱数回路５０９における乱数値となる数値データの取込動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
【０３５７】
ラッチ用フリップフロップ５５７Ａは、ラッチ用クロックＲＣ１の立ち上がりエッジに応答して、スタートスイッチ７から伝送されて入力ポートＰ０に供給されたゲーム開始信号ＳＳ１を取り込み（ラッチして）、ゲーム開始時ラッチ信号ＳＬ１として出力端子Ｑから出力する。そして、乱数ラッチセレクタ５５８Ａにおける取込方法が入力ポートＰ０への信号入力に指定されていれば、ゲーム開始時ラッチ信号ＳＬ１が乱数ラッチ信号ＬＬ１として出力される。これにより、例えば図４５（Ｆ）に示すようなタイミングでオフ状態（ローレベル）とオン状態（ハイレベル）とで信号状態が変化するゲーム開始信号ＳＳ１は、ラッチ用クロックＲＣ１が立ち上がるタイミングＴ１１、Ｔ１３、Ｔ１５、…にてラッチ用フリップフロップ５５７Ａに取り込まれた後、図４５（Ｇ）に示すようなタイミングＴ１１、Ｔ１３で信号状態がオフ状態とオン状態とで変化する乱数ラッチ信号ＬＬ１となって、乱数ラッチセレクタ５５８Ａから出力される。
【０３５８】
乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａは、乱数列変更回路５５５から出力される乱数列ＲＳＮにおける数値データを、乱数ラッチセレクタ５５８Ａからクロック端子へと入力される乱数ラッチ信号ＬＬ１の立ち上がりエッジに応答して取り込み（ラッチして）、記憶データとなる数値データを更新する。
【０３５９】
例えば図４５（Ｇ）に示すように、タイミングＴ１１にて乱数ラッチ信号ＬＬ１がオフ状態からオン状態に変化する立ち上がりエッジが生じた場合には、このタイミングＴ１１にて乱数列変更回路５５５から出力されている乱数列ＲＳＮにおける数値データが、図４５（Ｈ）に示すように、乱数値レジスタＲ１Ｄに取り込まれ、乱数値となる数値データとして取得される。これにより、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａでは、スタートスイッチ７の操作が検出されたことに基づき、乱数値として用いられる数値データを取得して記憶することができる。
【０３６０】
このように、ラッチ用フリップフロップ５５７Ａは、ラッチ用クロックＲＣ１の立ち上がりエッジに応答して、スタートスイッチ７から伝送されて入力ポートＰ０に供給されたゲーム開始信号ＳＳ１を取り込み（ラッチして）、ゲーム開始時ラッチ信号ＳＬ１として出力端子Ｑから出力することとなるが、この際、スタートスイッチ７の操作が有効か否かに関わらず、スタートスイッチ７から伝送されて入力ポートＰ０に供給されたゲーム開始信号ＳＳ１を取り込み（ラッチして）、ゲーム開始時ラッチ信号ＳＬ１として出力端子Ｑから出力し、これに伴い、乱数ラッチセレクタ５５８Ａが、乱数列変更回路５５５から出力される乱数列ＲＳＮにおける数値データをラッチして、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａの数値データを更新するようになっている。すなわちラッチ用フリップフロップ５５７Ａは、スタートスイッチ７の操作が有効な状態か否かに関わらず、スタートスイッチ７の立上りを検知すれば良いので、ラッチの契機となる信号の検出回路を簡素な構成にできる。
【０３６１】
また、図９（Ｂ）に示すような第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値を“１”とすれば、例えば乱数回路５０９にて生成される乱数値となる数値データのスタート値を、システムリセット毎に変更することができる。これにより、例え乱数回路５０９の動作開始タイミングを特定することができたとしても、乱数回路５０９が備える乱数値レジスタ５５９Ａから読み出される数値データを特定することは困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
【０３６２】
このように本実施例では、セキュリティ時間設定ＫＳＥＳのビット番号［４−３］におけるビット値を“００”以外の値とすることにより、電源投入等に伴うシステムリセットごとに所定の時間範囲で変化する可変設定時間を、セキュリティ時間に含まれる時間成分として設定することができる。これにより、電源投入等に伴うシステムリセットによる動作開始タイミングから、乱数回路５０９の動作開始タイミングや更新される数値データなどを特定することが困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
【０３６３】
また、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値を“０００”以外の値とすることにより、固定時間に加えて予め選択可能な複数の延長時間のいずれかを、セキュリティ時間に含まれる時間成分として設定することができる。これにより、電源投入等に伴うシステムリセットによる動作開始タイミングから、乱数回路５０９の動作開始タイミングや更新される数値データなどを特定することが困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」を接続して所定タイミングで不正信号を入力することで、不正に特別役を当選させるなどの行為を、確実に防止することができる。
【０３６４】
また、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫの発振周波数と、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数とは、互いに異なっており、また、一方の発振周波数が他方の発振周波数の整数倍となることもない。そのため、乱数回路５０９のクロック用フリップフロップ５５２により生成される乱数更新クロックＲＧＫやラッチ用クロックＲＣ０の発振周波数は、乱数用クロックＲＣＬＫの発振周波数の１／２となるが、制御用クロックＣＣＬＫの発振周波数や、制御用クロックＣＣＬＫの発振周波数の１／２となる内部システムクロックＳＣＬＫの発振周波数とは、異なるものとなる。こうして、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫと、乱数更新クロックＲＧＫとに同期が生じることを防ぎ、ＣＰＵ５０５の動作タイミングからは、乱数回路５０９にて乱数生成回路５５３や乱数列変更回路５５５により生成される乱数列ＲＳＮにおける数値データの更新タイミングを特定することが困難になる。これにより、ＣＰＵ５０５の動作タイミングから乱数回路５０９における乱数値となる数値データの更新動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。また、ラッチ用クロックＲＣ０を分岐することにより生成されるラッチ用クロックＲＣ１、ＲＣ２の発振周波数も、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫの発振周波数とは、異なるものとなる。こうして、制御用クロックＣＣＬＫや内部システムクロックＳＣＬＫと、ラッチ用クロックＲＣ１、ＲＣ２とに同期が生じることを防ぎ、ＣＰＵ５０５の動作タイミングからは、乱数回路５０９にて乱数値となる数値データが取り込まれる動作タイミングを特定することが困難になる。これにより、ＣＰＵ５０５の動作タイミングから乱数回路５０９における乱数値となる数値データの取込動作を解析した結果に基づく狙い撃ちなどを、確実に防止することができる。
【０３６５】
メイン制御部４１に内蔵又は外付けされた乱数回路５０９では、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値が“１”とされたことに対応して、乱数生成回路５５３から出力されるカウント値順列ＲＣＮや乱数列変更回路５５５から出力される乱数列ＲＳＮにおける数値データのスタート値を、システムリセット毎に変更することができる。これにより、例え乱数回路５０９の動作開始タイミングを特定することができたとしても、乱数回路５０９が備える乱数値レジスタ５５９Ａから読み出される数値データを特定することは困難になり、プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
【０３６６】
メイン制御部４１が備える外部バスインタフェース５０１では、内部リソースアクセス制御回路５０１Ａにより、例えばＲＯＭ５０６の記憶データといった、メイン制御部４１の内部データにつき、ＣＰＵ５０５等の内部回路以外による外部読出が制限される。これにより、例えばＲＯＭ５０６に記憶されているユーザプログラムといった、ゲームを制御するプログラムがメイン制御部４１の外部から読み出されて解析などに提供されることを防止できる。そして、遊技制御処理プログラムの解析結果に基づく狙い撃ちや、いわゆる「ぶら下げ基板」の接続による不正信号の入力などを、確実に防止することができる。
【０３６７】
メイン制御部４１に内蔵又は外付けされた乱数回路５０９では、周波数監視回路５５１により乱数用クロックＲＣＬＫにおける周波数異常が検知されたときに、内部情報レジスタＣＩＦのビット番号［４］に格納される内部情報データＣＩＦ４のビット値が“１”に設定される。そして、ＣＰＵ５０５では、内部情報データＣＩＦ４の読出値が“１”であると連続して判定された回数が、クロック異常判定値に達したと判定されたときに、乱数回路５０９の動作状態に異常が発生したと判定する。そして乱数回路５０９の動作状態に異常が発生したと判定された場合には、メイン制御部４１の動作が停止することとなる。これにより、乱数用クロックＲＣＬＫとして不正信号を入力することによる不正行為を確実に防止することができる。
【０３６８】
メイン制御部４１に内蔵されたＣＰＵ５０５は、乱数回路５０９に対するラッチ信号の出力に相当する乱数値取込指定レジスタＲＤＬＴへのビット値“１”の書き込みを行い、乱数値レジスタ５５９Ａを複数回読み出す。そして、読み出した数値データの全ビットを監視して、変化しないビットデータの有無に基づき、乱数回路５０９の動作状態に異常が発生したと判定する。そして乱数回路５０９の動作状態に異常が発生したと判定された場合には、メイン制御部４１の動作が停止することとなる。これにより、乱数回路５０９の動作状態に異常が発生していることを確実かつ容易に検知して、不正行為を防止することができる。特に、乱数回路５０９により数値データが正常に更新されないまま、すなわち数値データが固定されたままの状態で内部抽選を行わせることで、常に特別役を当選させるなどの不正を防止できる。
【０３６９】
メイン制御部４１に内蔵又は外付けされた乱数回路５０９は、第２乱数初期設定ＫＲＳ２のビット番号［０］におけるビット値が“１”である場合に、システムリセット毎に乱数値となる数値データのスタート値を変更する。このときには、例えばメイン制御部４１に内蔵されたフリーランカウンタのカウント値などを用いて、システムリセット毎に変更されるスタート値を決定すれば良い。これにより、システムリセット等のタイミングにより異なる初期値決定用データを用いて初期値を決定することができ、狙い撃ちなどによる不正行為を防止することができる。
【０３７０】
尚、本実施例では、セキュリティモードの延長時間が、セキュリティ時間設定ＫＳＥＳのビット番号［２−０］におけるビット値に対応して、予め選択可能な複数の延長時間のいずれかとなり、この延長時間はシステムリセット毎に変更されないものであったが、例えばＲＯＭ５０６に記憶されたユーザプログラムにおける設定などにより、固定時間に加算される延長時間を、システムリセット毎に複数の延長時間のいずれかに決定するようにしても良い。この場合には、延長時間がいずれも、最長の可変設定時間に比べて、長くなるように定義しておく。そして、大まかな延長時間を決定した後、詳細な延長時間を決定すれば良い。これにより、電源投入等に伴うシステムリセット時にセキュリティモードとなるセキュリティ時間を、システムリセット毎に大きく変化させることが可能になり、スロットマシン１の動作開始タイミングから乱数回路５０９の動作開始タイミングや更新される数値データなどを特定することが、より困難になる。
【０３７１】
また、セキュリティモードの延長時間などは、メイン制御部４１を構成するチップ毎に付与されるＩＤナンバーを用いて決定されるようにしても良い。一例として、ＩＤナンバーに所定のスクランブル処理を施す演算や、ＩＤナンバーを用いた加算・減算・乗算・除算などの演算の一部又は全部を実行して、算出された値に対応して延長時間を設定しても良い。この場合には、例えばシステムリセット毎に延長時間を決定するために用いる演算式を変更することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしても良い。さらに、例えばＩＤナンバーを用いて延長時間を決定するための演算式をシステムリセット時に格納したフリーランカウンタのカウント値に対応して決定するといったように、フリーランカウンタのカウント値と、ＩＤナンバーとを組み合わせて使用することなどにより、システムリセット毎に延長時間がランダムに決定されるようにしても良い。また、乱数回路５０９にて生成される乱数のスタート値をシステムリセット毎に変更する場合にも、フリーランカウンタのカウント値と、ＩＤナンバーとを組み合わせて使用することなどにより、乱数のスタート値を決定しても良い。
【０３７２】
また、システムリセット時には、セキュリティモードから開始し、乱数回路５０９の設定を行う乱数回路設定処理を行うとともに、乱数回路設定処理において乱数の更新規則の設定や乱数のスタート値の設定などが行われる一方でユーザリセット時には、セキュリティモードは省略され、ユーザモードから開始することとなる。すなわち、システムリセット時には、乱数の初期値が設定し直されるのに対して、ユーザリセット時には、乱数回路５０９の設定は行われず、リセット前からの状態のまま乱数となる数値データの更新が継続されることとなる。これにより、意図的にユーザリセットを行った場合でもユーザリセットのタイミングから乱数回路５０９における乱数値となる数値データを特定することは困難となり、狙い撃ちなどによる不正行為をさらに効果的に防止することができる。
【０３７３】
また、セキュリティモード内で乱数のスタート値の設定などを含む乱数回路の設定が行われ、数値データの更新が開始され、その後ユーザモードへ移行した後に、タイマ割込処理の実行が許可されるようになっている。すなわちタイマ割込処理の実行が許可される前に乱数のスタート値の設定が行われ、この設定された乱数のスタート値から数値データの更新が開始されるため、タイマ割込処理中に実行されるスイッチ類の判定状況からタイマ割込処理の許可されたタイミングまではある程度特定することはできるものの、乱数回路５０９の数値データの更新が開始されたタイミングを特定することはできないため、乱数回路５０９における乱数値となる数値データを特定することは困難となり、狙い撃ちなどによる不正行為をさらに効果的に防止することができる。
【０３７４】
本実施例では、メイン制御部４１の外部に設けられた乱数用クロック生成回路４３により、制御用クロック生成回路４２で生成される制御用クロックＣＣＬＫの発振周波数とは異なる発振周波数を有する乱数用クロックＲＣＬＫを生成して、乱数回路５０９に供給するものであったが、メイン制御部４１のＣＰＵ５０５に供給されるクロック信号と、乱数回路５０９に供給されるクロック信号とが、共通のクロック生成回路に含まれる１つの発振器により生成された発振信号を用いて、生成されるようにしても良い。この場合には、例えば乱数用クロックＲＣＬＫと制御用クロックＣＣＬＫをそれぞれ生成するための分周器などを設け、ラッチ用クロックＲＣ０、ＲＣ１、ＲＣ２と制御用クロックＣＣＬＫあるいは内部システムクロックＳＣＬＫとの同期が生じにくくなるように、各分周器における分周比などを設定すれば良い。制御用クロック生成回路４２と乱数用クロック生成回路４３とは、その全部又は一部が、メイン制御部４１の内部に設けられても良いし、メイン制御部４１の外部に設けられても良い。
【０３７５】
本実施例では、乱数回路５０９が乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫの供給を受け、クロック用フリップフロップ５５２により、乱数更新クロックＲＧＫとラッチ用クロックＲＣ０とを生成するものであったが、例えば乱数用クロック生成回路４３といった、乱数回路５０９の外部において、乱数更新クロックＲＧＫやラッチ用クロックＲＣ０となる発振信号が生成されるようにしても良い。あるいは、乱数回路５０９の内部にて、乱数更新クロックＲＧＫを生成するための回路と、ラッチ用クロックＲＣ０を生成するための回路とを、別個に設けるようにしても良い。一例として、クロック用フリップフロップ５５２と同様のフリップフロップにより乱数更新クロックＲＧＫを生成する一方で、乱数更新クロックＲＧＫの信号状態を反転させる反転回路を設け、その反転回路から出力される信号を、ラッチ用クロックＲＣ０として用いるようにしても良い。
【０３７６】
本実施例に適用した乱数回路５０９では、乱数ラッチフラグデータＲＤＦＭ０が“１”の状態、すなわち乱数値レジスタＲ１Ｄに数値データが取り込まれている状態では、新たな乱数値の取込要求が発生した場合でも、新たな数値データを乱数値レジスタＲ１Ｄに取り込まないようになっており、このような状態では、乱数値レジスタＲ１Ｄの数値データが読み出されて、乱数ラッチフラグデータＲＤＦＭ０がクリアされるまで新たな数値データを乱数値レジスタＲ１Ｄに取り込むことが不可能となる。
【０３７７】
このため、図４６に示すように、スタートスイッチ７の操作によりゲーム開始信号ＳＳ１が入力されて数値データがラッチされ、乱数値レジスタＲ１Ｄに格納された後、この格納された数値データが読み出されて乱数値格納ワークの数値データが更新されるまでは、乱数ラッチフラグデータＲＤＦＭ０が“１”の状態となることで、格納されている数値データが保持され、その間にゲーム開始信号ＳＳ１が入力されても新たな数値データに上書きされてしまうことがないので、静電気などによりゲーム開始信号ＳＳ１の信号線にノイズがのっても数値データが変わってしまうことがない。
【０３７８】
尚、乱数値レジスタＲ１Ｄに数値データが取り込まれている状態において新たな数値データを乱数値レジスタＲ１Ｄに取り込まないようにする構成としては、新たな数値データのラッチを禁止する構成であっても良いし、新たな数値データをラッチするものの、乱数値レジスタＲ１Ｄへの書込を禁止する構成であっても良い。
【０３７９】
上記のように、本実施例では、乱数値レジスタＲ１Ｄに数値データが取り込まれている状態では、この格納された数値データが読み出されるまで、格納されている数値データを保持する構成を採用しているが、この場合には、スタートスイッチ７の操作がゲームの進行上有効でない期間においてなされた場合でも、ラッチされて乱数値レジスタＲ１Ｄに数値データが保持されたままとなり、その後、スタートスイッチ７の操作が有効となってスタートスイッチ７が操作された場合、本来、ゲームを開始させるためにスタートスイッチ７が操作されたタイミングとは異なるタイミングでラッチされた数値データによって内部抽選が行われてしまうという新たな問題が生じることとなる。
【０３８０】
これに対して本実施例では、約０．５６ｍｓ毎に基本処理に割り込んで実行するタイマ割込処理４回に１回（約２．２４ｍｓ）毎に実行される乱数値読出処理において乱数値レジスタＲ１Ｄに数値データがラッチされているか否か、すなわち乱数ラッチフラグが設定されているか否かを確認し、乱数値レジスタＲ１Ｄに数値データがラッチされている場合には、乱数値レジスタＲ１Ｄの数値データを読み出すようになっている。これにより、乱数ラッチフラグがクリアされ、新たな数値データの取込が可能な状態となる。すなわち一定時間間隔（約２．２４ｍｓ）毎に、乱数値レジスタＲ１Ｄに数値データがラッチされているか否かを確認し、ラッチされていれば乱数値レジスタＲ１Ｄの数値データを読み出すことで、乱数値レジスタＲ１Ｄに数値データが保持されている状態を解除し、乱数値レジスタＲ１Ｄに新たな数値データの取込が可能な状態となる。
【０３８１】
このため、図４７に示すように、ゲームの開始が許可されていない状態でスタートスイッチ７が操作されて乱数値レジスタＲ１Ｄに数値データが格納され、その状態が保持されていても、一定時間（乱数値読出処理の実行間隔である約２．２４ｍｓ）以内に乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態となるので、ゲームの開始が許可される前のスタートスイッチ７の操作によりラッチされた数値データが乱数値レジスタＲ１Ｄに保持されても、ゲームの開始が許可された後にスタートスイッチ７が操作されたタイミングで新たにラッチした数値データを取得することが可能となる。
【０３８２】
また、乱数値読出処理では、乱数値レジスタＲ１Ｄに数値データがラッチされている場合に、数値データを読み出すだけではなく、ＲＡＭ５０７の乱数値格納ワークの値を読み出した数値データに更新することにより、乱数値レジスタＲ１Ｄに新たな数値データがラッチされる毎に、ラッチされた数値データがその後の乱数値読出処理において読み出され、乱数値格納ワークに格納された数値データが新たにラッチされた最新の数値データに更新されるようになっている。
【０３８３】
そして、ゲームの開始時に、乱数値レジスタＲ１Ｄに格納されている数値データではなく、ＲＡＭ５０７の乱数値格納ワークに格納されている数値データを取得して内部抽選を行うので、乱数値レジスタＲ１Ｄから数値データが読み出された後に、スタートスイッチの信号線にノイズがのって数値データが変わってしまっても内部抽選に用いる乱数値格納ワークの数値データに影響することがなく、このような場合であってもスタートスイッチ７が操作されたタイミングでラッチした数値データを用いて内部抽選を行うことができる。
【０３８４】
また、本実施例では、電断した際に乱数値レジスタＲ１Ｄの値は保持されないが、乱数値格納ワークが割り当てられたＲＡＭ５０７は、電断しても格納データが保持されるようになっているため、スタートスイッチ７の操作が検出された後、内部抽選を開始する前の段階で瞬停などにより乱数値レジスタＲ１Ｄの値が消失しても乱数値格納ワークの数値データは維持されるため、スタートスイッチ７が操作されたタイミングでラッチされた数値データを内部抽選に用いることができる。
【０３８５】
また、本実施例では、スタートスイッチ７の操作が検出された時点で、ＲＡＭ５０７の乱数値格納ワークに格納されている数値データを同じくＲＡＭ５０７に割り当てられた抽選用ワークに設定し、その後の内部抽選において抽選用ワークに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようになっており、スタートスイッチ７の操作が検出された時点から内部抽選が終了するまでに乱数値格納ワークに格納されている数値データが更新されても、スタートスイッチ７の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことがないが、スタートスイッチ７の操作が検出された時点でＲＡＭ５０７の乱数値格納ワークに格納されている数値データをＣＰＵ５０５のワークレジスタに設定し、その後の内部抽選においてワークレジスタに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良い。
【０３８６】
また、乱数値格納ワークに格納されている数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良いが、この場合には、スタートスイッチ７の操作が検出された時点から内部抽選が終了するまでの期間において、タイマ割込処理（メイン）を禁止することなどにより、乱数値格納ワークに格納されている数値データが新たにラッチされた数値データによって更新されてしまうことがないようにすることで、スタートスイッチ７の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことを防止できる。
【０３８７】
また、本実施例では、タイマ割込処理（メイン）４回に１回の割合でスイッチ類の検出信号を入力し、２回連続して検出信号の状態が一致した場合、すなわち約２．２４ｍｓの期間検出信号の状態が同じ場合に、該当するスイッチ類の検出状態を確定させる。このため、スタートスイッチ７の操作（ｏｆｆからｏｎへの変化）を検知するのに約２．２４ｍｓかかることとなるが、乱数値読出処理がこの時間よりも短いと、スタートスイッチがｏｆｆからｏｎに変化した時点から検知されるまでの間に乱数値格納ワークの数値データが、ノイズなどによって新たにラッチされた数値データに更新されてしまう可能性がある。一方、乱数値読出処理がこの時間よりも長いとスタートスイッチ７の操作のタイミングでラッチした数値データが乱数値格納ワークの数値データに反映されない可能性がある。
【０３８８】
これに対して乱数値読出処理もタイマ割込処理（メイン）４回に１回の割合で実行され、乱数値格納ワークの数値データが更新されるのに要する最小時間も同じ約２．２４ｍｓであり、スタートスイッチ７がｏｆｆからｏｎに変化した時点から検知されるまでに乱数値格納ワークの数値データが新たにラッチされた数値データに更新されてしまうことがなく、かつ、スタートスイッチ７の操作のタイミングでラッチした数値データを乱数値格納ワークの数値データに反映させることができる。
【０３８９】
尚、本実施例では、ゲームの開始が許可されていない状態でスタートスイッチ７が操作されて乱数値レジスタＲ１Ｄに数値データが格納され、その状態が保持されていても、一定時間（乱数値読出処理の実行間隔である約２．２４ｍｓ）以内に乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態となることで、ゲームの開始が許可される前のスタートスイッチ７の操作によりラッチされた数値データが乱数値レジスタＲ１Ｄに保持されても、ゲームの開始が許可された後にスタートスイッチ７が操作されたタイミングで新たにラッチした数値データを取得することが可能となる構成であるが、乱数値レジスタＲ１Ｄに数値データが取り込まれることで乱数割込を発生させるとともに、乱数割込の発生に伴い乱数値レジスタＲ１Ｄに格納されている数値データを読み出し、乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態とすることで、ゲームの開始が許可される前のスタートスイッチ７の操作によりラッチされた数値データが乱数値レジスタＲ１Ｄに保持されても、ゲームの開始が許可された後にスタートスイッチ７が操作されたタイミングで新たにラッチした数値データを取得することが可能となる構成としても良い。
【０３９０】
乱数割込を発生させるためには、乱数割込制御データＲＤＩＣ０のビット値を“１”に設定すれば良く、このような設定とすることにより、乱数値レジスタＲ１Ｄとなる乱数値レジスタ５５９Ａに数値データが取り込まれることで、乱数割込が発生するようになる。
【０３９１】
そして、メイン制御部４１は、乱数割込が発生した際に、基本処理に割り込んで乱数値ラッチ割込処理を実行すれば良い。尚、乱数割込が発生した際に、他の割込処理の実行中であれば、実行中の割込処理の終了を待って乱数値ラッチ割込処理を実行すれば良い。
【０３９２】
図４８は、メイン制御部４１が乱数割込の発生に伴い実行する上述の乱数値ラッチ割込処理の制御内容を示すフローチャートである。尚、乱数値ラッチ割込処理の実行期間中は自動的に他の割込が禁止される。
【０３９３】
乱数値ラッチ割込処理では、まず、使用中のレジスタをスタック領域に退避した後（Ｓｋ１００１）、乱数値レジスタ５５９Ａから数値データを読み出し（Ｓｋ１００２）、乱数値格納ワークに格納されている値を、Ｓｋ１００２において読み出した数値データに更新し（Ｓｋ１００３）、Ｓｋ１００１においてスタック領域に退避したレジスタを復帰し（Ｓｋ１００４）、割込前の処理に戻る。
【０３９４】
このように、乱数値レジスタＲ１Ｄに数値データが取り込まれることで、乱数割込が発生し、これに伴いメイン制御部４１は、基本処理に割り込んで乱数値ラッチ割込処理を実行し、乱数値レジスタＲ１Ｄの数値データを読み出すようにすることで、乱数ラッチフラグがクリアされ、新たな数値データの取込が可能な状態となる。すなわち乱数値レジスタＲ１Ｄに数値データが取り込まれる毎に、乱数値ラッチ割込処理を実行して乱数値レジスタＲ１Ｄの数値データを読み出すことで、乱数値レジスタＲ１Ｄに数値データが保持されている状態を解除し、乱数値レジスタＲ１Ｄに新たな数値データの取込が可能な状態となる。
【０３９５】
このため、図４９に示すように、ゲームの開始が許可されていない状態でスタートスイッチ７が操作されて乱数値レジスタＲ１Ｄに数値データが格納され、その状態が保持されても、数値データがラッチされたことに伴う割込の発生により乱数値レジスタＲ１Ｄの数値データが読み出され、新たにラッチされた数値データを格納可能な状態となるので、ゲームの開始が許可される前のスタートスイッチ７の操作によりラッチされた数値データが乱数値レジスタＲ１Ｄに保持されても、ゲームの開始が許可された後にスタートスイッチ７が操作されたタイミングで新たにラッチした数値データを取得することが可能となる。
【０３９６】
また、乱数値ラッチ割込処理では、乱数値レジスタＲ１Ｄにラッチされた数値データを読み出すだけではなく、ＲＡＭ５０７の乱数値格納ワークの値を読み出した数値データに更新することにより、乱数値レジスタＲ１Ｄに新たな数値データがラッチされる毎に、乱数値格納ワークに格納された数値データが新たにラッチされた最新の数値データに更新されるようになっている。
【０３９７】
そして、ゲームの開始時に、乱数値レジスタＲ１Ｄに格納されている数値データではなく、ＲＡＭ５０７の乱数値格納ワークに格納されている数値データを取得して内部抽選を行うので、乱数値レジスタＲ１Ｄから数値データが読み出された後に、スタートスイッチの信号線にノイズがのって数値データが変わってしまっても内部抽選に用いる乱数値格納ワークの数値データに影響することがなく、このような場合であってもスタートスイッチ７が操作されたタイミングでラッチした数値データを用いて内部抽選を行うことができる。
【０３９８】
また、この変形例では、スタートスイッチ７の操作が検出された時点で、ＲＡＭ５０７の乱数値格納ワークに格納されている数値データを同じくＲＡＭ５０７に割り当てられた抽選用ワークに設定し、その後の内部抽選において抽選用ワークに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようになっており、スタートスイッチ７の操作が検出された時点から内部抽選が終了するまでに乱数値格納ワークに格納されている数値データが更新されても、スタートスイッチ７の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことがないが、スタートスイッチ７の操作が検出された時点でＲＡＭ５０７の乱数値格納ワークに格納されている数値データをＣＰＵ５０５のワークレジスタに設定し、その後の内部抽選においてワークレジスタに設定された数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良い。
【０３９９】
また、乱数値格納ワークに格納されている数値データに対して演算を行うことにより役に当選したか否かの判定を行うようにしても良いが、この場合には、スタートスイッチ７の操作が検出された時点から内部抽選が終了するまでの期間において、乱数割込の発生に伴う乱数値割込処理を禁止することなどにより、乱数値格納ワークに格納されている数値データが新たにラッチされた数値データによって更新されてしまうことがないようにすることで、スタートスイッチ７の操作が検出された時点で取得した数値データが内部抽選が終了するまでに変更されてしまうことを防止できる。
【０４００】
尚、この変形例では、乱数値ラッチ割込処理において、乱数値レジスタＲ１Ｄの数値データを読み出すようになっているが、乱数値ラッチ割込処理では、乱数値レジスタＲ１Ｄに数値データがラッチされた旨を示すラッチフラグをＲＡＭ５０７に設定し、ＢＥＴ処理などの基本処理やタイマ割込処理（メイン）などにおいてラッチフラグがＲＡＭ５０７に設定されているか否かを判定し、ＲＡＭ５０７にラッチフラグが設定されていると判定した場合に、乱数値レジスタＲ１Ｄの数値データを読み出す構成としても良く、このような構成とした場合でも、ゲームの開始が許可されていない状態でスタートスイッチ７が操作されて乱数値レジスタＲ１Ｄに数値データが格納され、その状態が保持されたままとなってしまうことがなく、ゲームの開始が許可された後にスタートスイッチ７が操作されたタイミングで新たにラッチした数値データを取得することが可能となる。
【０４０１】
また、本実施例では、電源投入時においてメイン制御部４１の制御状態を電断前の制御状態に復帰させることや瞬停時に一時的にメイン制御部４１の動作が停止してもユーザリセット信号の入力により、動作停止前の制御状態に復帰させることが可能とされており、ゲームの開始条件を満たす規定数の賭数が設定されている状態に復帰することもある。
【０４０２】
一方で、電断時や瞬停時は電源電圧が不安定な状態であり、このような状況においてはノイズなどによってゲーム開始信号ＳＳ１の入力が検出されて数値データがラッチされ、乱数値レジスタＲ１Ｄに格納され、そのまま保持されてしまう虞がある。
【０４０３】
これに対して、本実施例では、電断処理（メイン）の終了後、乱数値レジスタＲ１Ｄに数値データがラッチされているか否か、すなわち乱数ラッチフラグが設定されているか否かを確認し、乱数値レジスタＲ１Ｄに数値データがラッチされている場合には、ダミーで乱数値レジスタＲ１Ｄの数値データを読み出す処理を、電圧低下によりメイン制御部４１の動作が停止するか、ユーザリセット信号の入力により再起動するまでの間、繰り返し行うようになっている。これにより、乱数ラッチフラグがクリアされ、新たな数値データの取込が可能な状態となる。
【０４０４】
このため、瞬停などにより電断処理（メイン）が行われた後、ユーザリセット信号の入力により再起動する場合において、その間に、ノイズなどによって乱数値レジスタＲ１Ｄに数値データがラッチされてしまった場合でも、すぐに読み出されることにより乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態となるので、瞬停時にノイズなどによってラッチされた数値データ、すなわちゲームを開始可能な状態でスタートスイッチ７が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことがない。
【０４０５】
尚、本実施例では、電断処理（メイン）の終了後、乱数値レジスタＲ１Ｄに数値データがラッチされているか否か、すなわち数値データが乱数値レジスタＲ１Ｄに格納されているか否かを確認し、乱数ラッチフラグが設定されている場合にのみ、乱数値レジスタＲ１Ｄに格納されている数値データを読み出すようになっているが、電断処理（メイン）の終了後、数値データが乱数値レジスタＲ１Ｄに格納されているか否かに関わらず一律に乱数値レジスタＲ１Ｄに格納されている数値データを読み出す処理を繰り返し行うようにしても良い。
【０４０６】
さらに、本実施例では、メイン制御部４１の起動後、電断前またはユーザリセット前の制御状態に復帰するか否かに関わらず、ゲームの進行制御が開始する前に乱数ラッチフラグが設定されているか否か、すなわち数値データが乱数値レジスタＲ１Ｄに格納されているか否かを確認し、乱数値レジスタＲ１Ｄに数値データが格納されている場合には、乱数値レジスタＲ１Ｄに格納されている数値データを読み出し、乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態となるので、起動後、ゲームの進行制御が開始される前の段階でラッチされ乱数値レジスタＲ１Ｄに保持されていた数値データ、すなわちゲームを開始可能な状態でスタートスイッチ７が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことがない。
【０４０７】
尚、本実施例では、メイン制御部４１の起動後、ゲームの進行制御が開始する前に、乱数ラッチフラグが設定されているか否か、すなわちラッチされた数値データが乱数値レジスタＲ１Ｄに格納されているか否かを確認し、乱数ラッチフラグが設定されている場合にのみ、乱数値レジスタＲ１Ｄに格納されている数値データを読み出すようになっているが、一律に乱数値レジスタＲ１Ｄに格納されている数値データを読み出すようにしても良い。
【０４０８】
また、メイン制御部４１の起動後、電断前またはユーザリセット前の制御状態に復帰するか否かに関わらず、乱数ラッチフラグが設定されていれば、乱数値レジスタＲ１Ｄに格納されている数値データを読み出すようになっているが、電断前またはユーザリセット前の制御状態に復帰する場合のみ乱数値レジスタＲ１Ｄに格納されている数値データを読み出す構成としても良いし、さらには、電断前またはユーザリセット前の制御状態に復帰する場合であり、かつ復帰する制御状態がゲームを開始可能な状態である場合のみ乱数値レジスタＲ１Ｄに格納されている数値データを読み出すようにしても良い。
【０４０９】
また、本実施例では、電断処理（メイン）においてＲＡＭ５０７へのアクセスを禁止した後、動作停止状態またはユーザリセットを待機する構成であるが、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理（メイン）のユーザモードからプログラムをスタートさせる構成としても良く、このような構成とした場合には、電圧の回復を判定した際に、乱数ラッチフラグが設定されているか否かを判定し、乱数ラッチフラグが設定されている場合に、乱数値レジスタＲ１Ｄに格納されている数値データを読み出した後、起動処理（メイン）のユーザモードからプログラムをスタートさせる構成とすることが好ましく、このようにすることで、瞬停時においてゲームの進行制御が開始される前の段階で確実に乱数値レジスタＲ１Ｄに保持されていた数値データを読み出して乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態とすることが可能となり、ゲームの進行制御が開始される前の段階でラッチされ乱数値レジスタＲ１Ｄに保持されていた数値データ、すなわちゲームを開始可能な状態でスタートスイッチ７が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことがない。
【０４１０】
また、本実施例では、メイン制御部４１の起動後、ゲームの進行制御が開始する前の段階でも、電処理の終了後、動作停止状態となるかユーザリセットを待機する期間のいずれにおいても乱数値レジスタＲ１Ｄに保持されている数値データを読み出して乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態とすることが可能となる構成であるが、いずれか一方のみ乱数値レジスタＲ１Ｄに保持されている数値データを読み出して乱数値レジスタＲ１Ｄに新たにラッチされた数値データを格納可能な状態とする構成としても良く、このような構成であっても、ゲームを開始可能な状態でスタートスイッチ７が操作されたタイミングとは異なるタイミングでラッチされた数値データを用いて内部抽選が行われてしまうことを防止できる。
【０４１１】
本実施例のメイン制御部４１は、ゲームを開始可能な状態でスタートスイッチ７が操作されたか否かをスタートスイッチ７の立上りを示す立上りエッジが設定されているか否かに基づいて判定する。
【０４１２】
スタートスイッチ７の立上りエッジは、一定間隔毎に割り込んで実行するタイマ割込処理（メイン）４回に１回毎（約２．２４ｍｓ毎）に実行するスイッチ入力判定処理において、スタートスイッチ７の検出状態に基づく確定データがｏｆｆからｏｎに変化したことを条件に設定される。確定データは、スイッチ入力判定処理毎に前回の検出状態と今回の状態が一致する場合にのみ更新されるデータであることから、スタートスイッチ７の立上りエッジは、スタートスイッチ７の検出状態がｏｆｆの状態である場合に、スイッチ入力判定処理において２回連続してスタートスイッチ７のｏｎが検知されることで設定されることとなる。
【０４１３】
一方、スイッチ入力判定処理の実行間隔は約２．２４ｍｓであることから、スタートスイッチ７がｏｎとなってから最低でも約２．２４ｍｓ以上ｏｎが継続して検知されることを条件にスタートスイッチ７の立上りエッジが設定され、スタートスイッチ７の操作が検出されることとなる。
【０４１４】
このように本実施例では、図５０に示すように、ゲームを開始可能な状態においてスタートスイッチ７のｏｎが一定期間（最低でも約２．２４ｍｓ）以上継続して検知されたことを条件に、スタートスイッチ７の操作が検出され、ゲームが開始されるようになっており、静電気などのノイズによってスタートスイッチ７のｏｎが誤って検出されたにも関わらず、ゲームが開始してしまうことを防止できる。
【０４１５】
尚、本実施例では、ゲームを開始可能な状態においてスタートスイッチ７のｏｎが一定期間（最低でも約２．２４ｍｓ）以上継続して検知されたことを条件に、スタートスイッチ７の操作が検出され、ゲームが開始されるようになっているが、例えば、１回のスイッチ入力判定処理においてスタートスイッチ７の検出状態を複数回確認し、全てにおいてｏｎが判定されたことを条件に、スタートスイッチの操作が検出され、ゲームが開始されるようにしても良く、このような構成であっても静電気などのノイズによってスタートスイッチ７のｏｎが誤って検出されたにも関わらず、ゲームが開始してしまうことを防止できる。
【０４１６】
また、本実施例では、図５０に示すように、ゲームを開始可能な状態において、スタートスイッチ７の立上りエッジが検出されている場合に、乱数ラッチフラグが設定されているか否か、すなわちスタートスイッチ７の操作により数値データがラッチされ、乱数値レジスタＲ１Ｄに数値データが格納されているか否かを確認し、乱数値レジスタＲ１Ｄに数値データが格納されている場合にのみゲームを開始させるようになっている。
【０４１７】
このため、乱数値レジスタＲ１Ｄに数値データが格納されていない、すなわち内部抽選に用いる乱数値がラッチされていないにも関わらず、ゲームが開始して内部抽選が行われてしまうことがなく、スタートスイッチ７が操作されたタイミングでラッチされた数値データを用いて確実に内部抽選を行うことができる。
【０４１８】
次に、メイン制御部４１がサブ制御部９１に対して送信するコマンドについて説明する。
【０４１９】
本実施例では、メイン制御部４１がサブ制御部９１に対して、ＢＥＴコマンド、クレジットコマンド、内部当選コマンド、フリーズコマンド、リール回転開始コマンド、リール停止コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
【０４２０】
これらコマンドは、コマンドの種類を示す１バイトの種類データとコマンドの内容を示す１バイトの拡張データとからなり、サブ制御部９１は、種類データからコマンドの種類を判別できるようになっている。
【０４２１】
ＢＥＴコマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、規定数の賭数が設定されていない状態において、メダルが投入されるか、１枚ＢＥＴスイッチ５またはＭＡＸＢＥＴスイッチ６が操作されて賭数が設定されたときに送信される。また、ＢＥＴコマンドは、賭数の設定操作がなされたときに送信されるので、ＢＥＴコマンドを受信することで賭数の設定操作がなされたことを特定可能である。
【０４２２】
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
【０４２３】
内部当選コマンドは、内部当選フラグの当選状況、並びに成立した内部当選フラグの種類を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときに送信される。また、内部当選コマンドは、スタートスイッチ７が操作されたときに送信されるので、内部当選コマンドを受信することでスタートスイッチ７が操作されたことを特定可能である。
【０４２４】
フリーズコマンドは、後述するフリーズ状態に制御する旨が決定された場合に、フリーズ状態に制御するか否か及びフリーズ状態に制御する場合にはそのタイミングを示すコマンドであり、後述するフリーズ抽選の終了時に送信される。
【０４２５】
リール回転開始コマンドは、リールの回転の開始を通知するコマンドであり、リール２Ｌ、２Ｃ、２Ｒの回転が開始されたときに送信される。
【０４２６】
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。また、リール停止コマンドは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに送信されるので、リール停止コマンドを受信することでストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたことを特定可能である。
【０４２７】
入賞判定コマンドは、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
【０４２８】
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
【０４２９】
遊技状態コマンドは、次ゲームの遊技状態を特定可能なコマンドであり、ゲームの終了時に送信される。
【０４３０】
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、１ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するとき、クレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
【０４３１】
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ＢＢ終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
【０４３２】
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
【０４３３】
復帰コマンドは、メイン制御部４１が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部４１の起動時において電断前の制御状態に復帰した際に送信される。
【０４３４】
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部４１の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部４１の制御状態が初期化されたことを特定可能である。
【０４３５】
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
【０４３６】
ドアコマンドは、ドア開放検出スイッチ２５の検出状態、すなわちｏｎ（開放状態）／ｏｆｆ（閉状態）を示すコマンドであり、電源投入時、１ゲーム終了時（ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点）、ドア開放検出スイッチ２５の検出状態が変化（ｏｎからｏｆｆ、ｏｆｆからｏｎ）した時に送信される。
【０４３７】
操作検出コマンドは、操作スイッチ類（１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ）のうち検出状態（ｏｎ／ｏｆｆ）が変化したスイッチ、検出状態がｏｆｆからｏｎに変化したのか、ｏｎからｏｆｆに変化したのか及び他のスイッチの検出状態（ｏｎ／ｏｆｆ）を示すコマンドであり、これら操作スイッチ類のいずれかの検出状態が変化したときに送信される。
【０４３８】
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、基本処理において生成され、非初期化領域に割り当てられたコマンドバッファ内のコマンドデータを新たに生成したコマンドデータに更新するとともに、シリアル通信回路５１１の送信データレジスタ５６１に転送することで、サブ制御部９１に送信される。
【０４３９】
一方、ドアコマンドは、タイマ割込処理（メイン）のドア監視処理において生成され、ドアコマンド格納領域に格納される。ドアコマンド格納領域には、電源投入時または１ゲーム終了時にその時点のドア開放検出スイッチ２５の検出状態を示すドアコマンドが格納され、ドア開放検出スイッチ２５の検出状態が変化した時にその変化後の検出状態を示すドアコマンドが格納される。また、ドアコマンド格納領域に格納されたドアコマンドは、当該ドアコマンドが送信された後もクリアされることがなく、その後、新たに格納されるドアコマンドによって上書きされるようになっている。尚、電源投入時または１ゲーム終了時には、ドアコマンド格納領域に格納されているドアコマンドの送信を要求するドアコマンド送信要求１が設定され、ドアコマンド送信要求１が設定されているか、ドア開放検出スイッチ２５の検出状態が変化したときに、ドアコマンド送信要求２が設定されるようになっており、このドアコマンド送信要求２が設定されることによりドアコマンド格納領域に格納されているドアコマンドの送信が命令され、その後実行されるタイマ割込処理（メイン）のコマンド送信処理において、コマンドバッファに格納され、シリアル通信回路５１１の送信データレジスタ５６１に転送することで、サブ制御部９１に送信される。
【０４４０】
また、操作検出コマンドは、タイマ割込処理（メイン）のスイッチ入力判定処理において、いずれかのスイッチの検出状態の変化が検出された場合（いずれかのスイッチのエッジデータが設定された場合）に生成され、操作検出コマンド格納領域に格納されるとともに、操作検出コマンド送信要求が設定されることにより操作検出コマンド格納領域に格納されている操作検出コマンドの送信が命令され、その後実行されるタイマ割込処理（メイン）のコマンド送信処理において、コマンドバッファに格納され、シリアル通信回路５１１の送信データレジスタ５６１に転送することで、サブ制御部９１に送信される。
【０４４１】
前述のようにドアコマンドも操作検出コマンドもともにタイマ割込処理（メイン）のコマンド設定処理においてコマンドバッファに格納され、シリアル通信回路５１１の送信データレジスタ５６１に転送することで、サブ制御部９１に送信されることとなるが、ドアコマンド送信要求２が設定されている場合、すなわちドアコマンドの送信が要求されている場合には、例え、操作検出コマンドの送信が要求されていても、ドアコマンドの送信を優先するようになっており、ドアコマンド送信要求２が設定されていない場合のみ操作検出コマンドが送信されることとなるため、ドアコマンド送信要求２と操作検出コマンド送信要求の双方が設定されている場合には、当該コマンド送信処理では、ドアコマンドが送信され、次回以降のコマンド送信処理において操作検出コマンドが送信されることとなる。
【０４４２】
また、コマンド送信処理では、まずシリアル通信回路５１１のステータスレジスタ５６３の値を確認し、図５１（ａ）に示すように、送信完了フラグの値が１の場合、すなわちシリアル通信回路５１１がコマンドの送信を行っていない場合のみ、ドアコマンドまたは操作検出コマンドの送信データレジスタ５６１への転送を許可するようになっており、送信完了フラグの値が０の場合、すなわち送信データレジスタ５６１に未送信のコマンドデータが残っているか、或いはコマンドデータの送信中である場合には、ドアコマンド送信要求２が設定されていてもドアコマンドの送信データレジスタ５６１への転送は禁止され、また、操作検出コマンド送信要求が設定されていても操作検出コマンドの送信データレジスタ５６１への転送は禁止されるようになっている。
【０４４３】
特に、操作検出コマンドは、無効であるか有効であるかに関わらずスイッチの検出状態が変化するとその送信が要求されるため、無制限に送信が要求される可能性があり、これら操作検出コマンドによってゲームの進行制御に伴うコマンドの送信が遅れてしまうこととなるが、上述のようにシリアル通信回路５１１がコマンドの送信を行っていない場合のみ操作検出コマンドを送信データレジスタ５６１へ転送することが許可されるので、操作検出コマンドの送信に伴ってゲームの進行制御に関連する演出が遅れてしまうことを防止できる。
【０４４４】
また、本実施例では、ゲームの進行制御に伴う事象を契機とするコマンド（以下、第１のコマンドとする）は、基本処理において生成され、送信データレジスタ５６１に転送することでシリアル通信回路５１１によってサブ制御部９１に送信されることとなるが、ドアコマンドや操作検出コマンドなど、ゲームの進行とは関係なく生じうる事象を契機とするコマンド（以下、第２のコマンドとする）は、基本処理に定期的に割り込んで実行されるタイマ割込処理（メイン）により生成されるようになっている。また、コマンドが２バイトのデータから構成されているため、これら第２のコマンドを生成した時点で直ちに送信データレジスタ５６１に転送する構成とすると、場合によっては、基本処理においてゲームの進行制御に伴うコマンドデータ1バイト目を転送した後、２バイト目を転送する前にタイマ割込処理が割り込んで実行され、第１のコマンドのデータの１バイト目と２バイト目の間に、第２のコマンドのデータが入り込んでしまって、サブ制御部９１側で正規のコマンドとして受信できなくなってしまう可能性がある。
【０４４５】
これに対して本実施例では、前述のようにタイマ割込処理（メイン）の最初にシリアル通信回路５１１のステータスレジスタ５６３の値を取得し、送信完了フラグとして１が設定されていない場合、すなわち何らかのコマンドが送信データレジスタ５６１に残っているか、コマンドの送信中である場合は、第２のコマンドの送信データレジスタ５６１への転送が禁止されるようになっており、第１のコマンドを構成する複数バイトのコマンドデータの間に、第２のコマンドが入り込んでしまうことがない。
【０４４６】
また、本実施例では、タイマ割込処理（メイン）においてステッピングモータにて構成されるリールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動制御が行われるとともに、第１のコマンドを送信データレジスタ５６１に転送する際にタイマ割込処理（メイン）を禁止するのではなく、タイマ割込処理（メイン）において送信完了フラグとして１が設定されていない場合に第２のコマンドの転送を禁止することで、第１のコマンドを構成する複数バイトのコマンドデータの間に、第２のコマンドが入り込んでしまうことを防止しているため、リールモータ３２Ｌ、３２Ｃ、３２Ｒの位相の励磁時間が一定となり、リールモータ３２Ｌ、３２Ｃ、３２Ｒを安定して駆動させることができる。
【０４４７】
尚、本実施例では、ゲームの進行とは関係なく生じうる事象を契機とするコマンドとしてドアコマンド及び操作検出コマンドを適用しているが、ゲームの進行とは関係なく生じうるコマンドであり、タイマ割込処理（メイン）においてその送信が要求されるコマンドであれば良く、遊技機の振動など、突発的に生じうるエラーを検知した旨を示すコマンドを第２のコマンドとして適用しても良い。
【０４４８】
また、本実施例では、シリアル通信回路５１１のステータスレジスタ５６３の値を確認し、コマンドの送信中である場合には、一律第２のコマンドを送信しない構成であるが、図５１（ｂ）に示すように、基本処理においてコマンドデータを送信データレジスタ５６１に転送する際に、１バイト目のコマンドデータを転送する前にＲＡＭ５０７に割り当てられたコマンド転送完了フラグ領域の値を１に設定し、２バイト目のコマンドデータの転送を終えた後にコマンド転送完了フラグ領域の値を０に設定するとともに、コマンド設定処理において、コマンド転送完了フラグの値として１が設定されている場合のみ、第２のコマンドの送信データレジスタ５６１への転送を許可し、コマンド転送完了フラグの値として０が設定されている場合には、第２のコマンドの送信データレジスタ５６１への転送を禁止する構成としても良く、このような構成とすることで、図５１（ｂ）に示すように、第１のコマンドを構成する全てのコマンドデータが送信データレジスタ５６１に転送された後は、最後のコマンドデータ（２バイト目）が未だ送信データレジスタや送信用シフトレジスタ５６２に残っており、送信が完了していない状態であっても、第２のコマンドの送信データレジスタ５６１への転送が許可されることとなるため、第１のコマンドを構成する複数バイトのコマンドデータの間に、第２のコマンドを構成するコマンドデータが入り込んでしまうことがないうえに、第２のコマンドの送信が禁止される期間を極力短くすることができる。
【０４４９】
メイン制御部４１は、約１００ｍｓ毎にドア開放検出スイッチ２５の検出状態を監視する。詳しくは、タイマ割込処理（メイン）のタイマ割込１〜４のいずれでも行う、すなわち０．５６ｍｓ毎に行うポート入力処理においてドア開放検出スイッチ２５からの検出信号を正論理化した入力状態（ドア開放検出スイッチ２５ｏｎ＝１、ドア閉塞状態で０）を取得し、タイマ割込処理（メイン）のタイマ割込２で行う、すなわち２．２４ｍｓ毎に行うドア監視処理において、前述のポート入力処理において取得したドア開放検出スイッチ２５の検出信号の確定状態（２回連続同一となった入力状態）を、約１００ｍｓ（ドア監視処理４５回）論理和し続け、その結果を使用してドア開放検出スイッチ２５の検出状態を判定する。そして、約１００ｍｓが経過した時点で算出結果が１の場合、すなわちその間に１回でもドア開放検出スイッチ２５のｏｎ（開放状態）が検出された場合には、ドア開放検出スイッチ２５のｏｎと判定し、算出結果が０の場合、すなわちその間に１回もドア開放検出スイッチ２５のｏｎ（開放状態）が検出されていない場合には、ドア開放検出スイッチ２５のｏｆｆと判定する。この判定の結果と、ドアコマンド格納領域に格納されているドアコマンドが示すドア開放検出スイッチ２５の検出状態と、が一致すればドア開放検出スイッチ２５の検出状態に変化なしと判定し、一致しなければドア開放検出スイッチ２５の検出状態が変化したと判定し、ドアコマンド格納領域に格納されているドアコマンドを、変化後の検出状態を示すドアコマンドに更新し、ドアコマンド送信要求２を設定して当該ドアコマンドの送信を命令する。また、メイン制御部４１は、ドア開放検出スイッチ２５の検出状態が変化したと判定した場合に、ドアコマンドの送信命令に加えて、外部出力基板１０００に対するドア開放信号の出力状態も更新する。
【０４５０】
また、メイン制御部４１は、電源投入時または１ゲーム終了時に、起動処理またはゲーム処理においてドアコマンド送信要求１を設定し、ドアコマンド送信用バッファに格納されているドアコマンドの送信を要求する。一方ドア監視処理においては、ドアコマンド送信要求１が設定されているか否かを判定し、ドアコマンド送信要求１が設定されている場合には、ドアコマンドの送信要求ありと判定し、ドアコマンド送信要求２を設定してドアコマンド格納領域に格納されているドアコマンドの送信を命令する。また、メイン制御部４１は、ドアコマンド送信要求１が設定されている場合に、ドアコマンドの送信命令に加えて、外部出力基板１０００に対するドア開放信号の出力状態も更新する。
【０４５１】
このように外部出力基板１０００に対するドア開放信号の出力状態は、ドアコマンドの送信命令にリンクして更新されるようになっている。
【０４５２】
本実施例のスロットマシン１は、メイン制御部４１がゲームの進行制御を行う操作スイッチとして１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒを備える。また、これら操作スイッチのうちスタートスイッチ７は、設定変更状態において設定値の確定操作にも用いられる。
【０４５３】
これらスイッチ類の操作は、ゲームの終了時から次回のゲーム終了時までを構成する全ての制御状態において常にゲームの進行制御に関与するものではなく、制御状態に応じてゲームの進行制御に関与することもあれば関与しないことがある。
【０４５４】
図５２に示すように、ゲーム終了後（設定変更後）からゲーム開始までの制御状態においては、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７の操作がゲームの進行制御に関与し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作はゲームの進行制御に関与しない。さらにゲーム終了後（設定変更後）からゲーム開始までの制御状態であっても、賭数が規定数に到達していない状態、すなわち賭数をさらに加算できる状態であり、かつゲームの開始条件が成立していない状態では、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６の操作がゲームの進行制御に関与するが、スタートスイッチ７の操作はゲームの進行制御に関与せず、一方で、賭数が規定数に到達している状態、すなわち賭数を加算できない状態であり、かつゲームの開始条件が成立している状態では、スタートスイッチ７の操作がゲームの進行制御に関与するが、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６の操作はゲームの進行制御に関与しない。
【０４５５】
また、ゲーム開始後からゲーム終了までの制御状態では、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作がゲームの進行制御に関与し、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７の操作はゲームの進行制御に関与しない。さらにゲーム開始後からゲーム終了までの制御状態であっても、全リールが回転中であれば、ストップスイッチ８Ｌ、８Ｃ、８Ｒの全ての操作がゲームの進行制御に関与するが、いずれかのリールが停止している状態であれば、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち回転中のリールに対応するストップスイッチのみがゲームの進行制御に関与し、停止済みのリールに対応するストップスイッチはゲームの進行制御に関与しない。
【０４５６】
尚、本発明における制御状態とは、ゲーム終了後（設定変更後）からゲーム開始までの制御状態、ゲーム開始後からゲーム終了までの制御状態に限らず、ゲーム終了後（設定変更後）からゲーム開始までの制御状態のうち賭数が規定数に到達していない状態、すなわち賭数をさらに加算できる状態であり、かつゲームの開始条件が成立していない制御状態、賭数が規定数に到達している状態、すなわち賭数を加算できない状態であり、かつゲームの開始条件が成立している制御状態、ゲーム開始後からゲーム終了までの制御状態のうち全リールが回転中の制御状態、左リールのみが停止している制御状態、中リールのみが停止している制御状態、右リールのみが停止している制御状態、左、中リールが停止している制御状態、左、右リールが停止している制御状態、右、中リールが停止している制御状態、ウェイト期間の状態、メダルの払出期間の状態のそれぞれについても該当する。さらに、ゲーム終了後（設定変更後）からゲーム開始までの制御状態において１枚ＢＥＴスイッチ５やＭＡＸＢＥＴスイッチ６の操作がゲームの進行制御に関与しない状態であっても、規定数の賭数が既に設定されているために１枚ＢＥＴスイッチ５やＭＡＸＢＥＴスイッチ６の操作がゲームの進行制御に関与しない制御状態と、規定数の賭数が未だ設定されてはいないが、クレジットが残存していないために１枚ＢＥＴスイッチ５やＭＡＸＢＥＴスイッチ６の操作がゲームの進行制御に関与しない制御状態とは、異なる制御状態といえる。
【０４５７】
また、設定変更状態では、スタートスイッチ７の操作が設定値の変更制御に関与し、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作はゲームの進行制御に関与しない。さらに設定変更状態であっても、設定値が確定する前であればスタートスイッチ７の操作が設定値の変更制御に関与するが、設定値が確定した後は、いずれの操作スイッチも設定値の変更制御に関与しない。また、設定確認状態では、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれの操作もゲームの進行制御に関与しない。
【０４５８】
メイン制御部４１は、これら操作スイッチを、一定時間間隔毎に割り込んで実行されるタイマ割込処理（メイン）中に実行するスイッチ入力判定処理において検出する。スイッチ入力判定処理では、操作スイッチの検出状態を監視し、いずれかの操作スイッチがｏｆｆからｏｎに変化した場合に、該当する操作スイッチがｏｆｆからｏｎに変化した旨を示すエッジデータ（立上りエッジ）を設定し、ｏｎからｏｆｆに変化した場合に、該当する操作スイッチがｏｎからｏｆｆに変化した旨を示すエッジデータ（立下りエッジ）を設定する。
【０４５９】
そして、メイン制御部４１は、ゲーム処理において現段階の制御状態に応じてゲームの進行制御に関与する操作スイッチの立上りエッジが設定されているか否かに基づいて当該操作スイッチの操作がなされたか否かを判定し、当該操作スイッチの操作がなされていると判定した場合には、エッジデータを全てクリアし、当該操作スイッチの操作に応じたゲームの進行制御を実行するとともに、ゲームの進行制御に伴うコマンド（ＢＥＴコマンド、内部当選コマンド、リール停止コマンドなど）をシリアル通信回路５１１の送信データレジスタ５６１に転送し、サブ制御部９１に対して送信させる。尚、いずれかの操作スイッチの操作が検出され、エッジデータが設定された場合でも、次回スイッチ入力判定処理までにクリアされなかった場合には、次回スイッチ入力判定処理でクリアされることとなる。
【０４６０】
メイン制御部４１は、リール回転処理において回転中のリールに対応するストップスイッチの立上りエッジが設定されていると判定した場合に、他の操作スイッチの検出状態がｏｎであるか否かを判定し、他の操作スイッチの検出状態がｏｎであると判定した場合、すなわち他の操作スイッチが操作されている状態で回転中のリールに対応するストップスイッチの操作が検出された場合には、有効な停止操作とせず、対応するリールの停止制御を行わないようになっている。
【０４６１】
これは、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち２つ以上の操作が検出された場合に、いずれかの操作に基づく停止制御を優先すると、他方の停止制御が遅れてしまい、リールの停止態様が不自然になる等の問題が生じ得る虞があるためであり、上記のように他の操作スイッチが操作されている状態で回転中のリールに対応するストップスイッチの操作が検出されても、対応するリールの停止制御を行わないことで、一方のリールの停止制御によって他方のリールの停止制御が遅れることがないようになっている。
【０４６２】
また、メイン制御部４１は、リール回転処理において回転中のリールに対応するストップスイッチの立上りエッジが設定されていると判定した場合に、他のストップスイッチに限らず、他の操作スイッチの検出状態がｏｎであるか否かを判定し、他の操作スイッチのいずれかの検出状態がｏｎであると判定した場合には、有効な停止操作とせず、対応するリールの停止制御を行わないようになっており、操作スイッチの検出状態のうちストップスイッチの検出状態のみを抽出することなく、例えば、ｏｎを１とし、ｏｆｆを０とした場合に、操作スイッチ全ての検出状態の総和を算出し、２以上であれば、他の操作スイッチが検出状態と判定するなど、操作スイッチ全ての検出状態を一括して判定することが可能となる。
【０４６３】
また、メイン制御部４１は、設定変更状態において、未だ設定値が確定していない段階で、設定値を確定させるためのスタートスイッチ７の立上りエッジが設定されていると判定した場合に、他の操作スイッチの検出状態がｏｎであるか否かを判定し、他の操作スイッチのいずれかの検出状態がｏｎであると判定した場合には、設定値を確定させる制御を行わないようになっている。
【０４６４】
これは、後述のように設定変更状態においてサブ制御部９１側で制御される管理者モードの操作手段として本来であればメイン制御部４１がゲームの進行制御に用いる操作スイッチを流用しているためであり、上記のように未だ設定値が確定していない段階で、他の操作スイッチが操作されている状態で設定値を確定させるためのスタートスイッチ７が操作されても設定値の確定制御を行わないことで、管理者モードの操作に伴い、誤ってスタートスイッチ７も同時に操作してしまった場合でも、設定値は確定せず、設定値が未設定の段階が維持されるので、管理者が予期せずに設定値を確定させてしまうことがなく、誤操作によって再度、電源を落として最初から設定変更状態としなければならないといった煩わしさを軽減できるようになっている。
【０４６５】
メイン制御部４１は、前述したスイッチ入力判定処理においていずれかの操作スイッチの検出状態の変化を判定した場合に、エッジデータを設定するとともに、エッジデータが設定されたスイッチ、立上りエッジであるか、立下りエッジであるか、他のスイッチの検出状態を示す操作検出コマンドを生成し、操作検出コマンド格納領域に格納するとともに、操作検出コマンド送信要求を設定する。
【０４６６】
そして、操作検出コマンド送信要求が設定されることで、タイマ割込処理（メイン）におけるコマンド送信処理において、操作検出コマンド格納領域に格納されている操作検出コマンドが読み出され、シリアル通信回路５１１の送信データレジスタ５６１に転送し、サブ制御部９１に対して送信させる。
【０４６７】
このように本実施例では、メイン制御部４１が、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたことを特定可能な操作検出コマンドをサブ制御部９１に対して送信することで、サブ制御部９１が、それぞれの制御状態においてゲームの進行制御に関与する操作スイッチであるか否かに関わらず、メイン制御部４１により検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
【０４６８】
また、本実施例では、メイン制御部４１が、いずれかの操作スイッチの検出状態（ｏｎ／ｏｆｆ）が変化したときのみ、その旨を示す操作検出コマンドを送信するようになっており、操作検出コマンドの送信を極力減らすことが可能となり、操作検出コマンドの送信に係る制御の負荷を軽減できるうえに、サブ制御部９１側でも必要以上に操作検出コマンドを受信せずに済む。
【０４６９】
また、いずれかの操作スイッチの検出状態がｏｆｆからｏｎに変化した場合だけでなく、ｏｎからｏｆｆに変化した場合にも、その変化を示す操作検出コマンドが送信されるので、サブ制御部９１側で、ゲームの進行制御に関与しない操作スイッチの検出状態をリアルタイムに特定することが可能となるため、ゲームの進行制御に関与しない操作スイッチの操作が開始したタイミングだけでなく、操作が解除されたタイミングや操作が解除されないまま一定時間継続したタイミングに応じて異なる演出を行ったり、演出の開始タイミングや終了タイミングを変化させることも可能となり、ゲームの進行制御に関与しない操作スイッチの操作に応じて多彩な演出を行うことができる。
【０４７０】
尚、本実施例では、いずれかの操作スイッチの検出状態ｏｆｆからｏｎに変化した旨またはｏｎからｏｆｆに変化した旨を検出し、操作スイッチの検出状態の変化が検出されたときに、変化後の検出状態が特定される操作検出コマンドが送信されるようになっているが、いずれかの操作スイッチの検出状態がｏｆｆからｏｎに変化した旨のみを検出し、ｏｆｆからｏｎに変化した旨が検出されたときに、該当する操作スイッチの操作を特定可能な操作検出コマンドを送信するようにしたり、いずれかの操作スイッチの検出状態がｏｎからｏｆｆに変化した旨のみを検出し、ｏｎからｏｆｆに変化した旨が検出されたときに、該当する操作スイッチの操作を特定可能な操作検出コマンドを送信するようにしたりしても良く、このような構成とすることで、操作検出コマンドの送信をさらに減らすことが可能となり、操作検出コマンドの送信に係る制御の負荷を軽減できるうえに、サブ制御部９１側で受信する操作検出コマンドも減らすことができる。
【０４７１】
また、本実施例では、いずれかの操作スイッチの検出状態（ｏｎ／ｏｆｆ）が変化したときに、当該操作スイッチの検出状態に加えて他の操作スイッチの検出状態も特定可能な操作検出コマンドをサブ制御部９１に対して送信するようになっており、このような構成とすることで、操作検出コマンドの送信を極力減らすことが可能となるうえに、サブ制御部９１は、操作検出コマンドから検出状態の変化した操作スイッチの検出状態だけでなく、他の操作手段の検出状態も特定できるようになり、サブ制御部９１側で、複数のスイッチの同時操作や特定のスイッチのみの操作といった複数の操作スイッチの操作状況を反映した演出を行うことが可能となり、操作スイッチの操作を用いた演出を多様なものにできる。さらに、サブ制御部９１が操作検出コマンドを取りこぼした場合であっても、次回送信される操作検出コマンドに基づいて全ての操作スイッチについて最新の検出状態を特定することが可能となり、ゲームの進行制御に関与しない操作スイッチの操作に応じた演出を確実に実行することができる。
【０４７２】
尚、本実施例では、いずれかの操作スイッチの検出状態（ｏｎ／ｏｆｆ）が変化したときのみ、その旨を示す操作検出コマンドを送信する構成であるが、メイン制御部４１が、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたか否かに関わらず、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒそれぞれのｏｎ／ｏｆｆの状態を特定可能な操作検出コマンドを一定間隔毎に送信する構成としても良く、このような構成であってもサブ制御部９１側で、メイン制御部４１により検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
【０４７３】
また、本実施例では、タイマ割込処理（メイン）のスイッチ入力判定処理において操作コマンドの送信要求を設定し、その後のコマンド送信処理において送信データレジスタ５６１に転送され、サブ制御部９１に送信される構成であるが、基本処理においてゲームの進行制御に関与しない操作スイッチが操作されたか否か、すなわちゲームの進行制御に関与しない操作スイッチのエッジデータが設定されているか否かを判定し、ゲームの進行制御に関与しない操作スイッチが操作された場合に、その旨を示す操作検出コマンドを送信データレジスタ５６１に転送し、サブ制御部９１に送信させる構成としても良く、このような構成であっても、サブ制御部９１側で、メイン制御部４１により検出される操作スイッチが操作されたことが特定できるようになっており、ゲームの進行制御に関与しない操作スイッチの操作に応じて演出を実行可能である。
【０４７４】
また、本実施例では、ゲームの進行制御に伴うコマンドは、基本処理において生成されるとともに、送信データレジスタ５６１に転送され、サブ制御部９１に送信される一方で、ゲームの進行制御に関与しない操作スイッチの操作に伴う操作検出コマンドは、タイマ割込処理（メイン）のスイッチ入力判定処理において生成され、その後のタイマ割込処理（メイン）のコマンド送信処理において送信データレジスタ５６１に転送され、サブ制御部９１に送信される構成であるが、基本処理においてゲームの進行制御に関与する操作スイッチの操作が検出されたか否かを判定し、ゲームの進行制御に関与する操作スイッチの操作が検出された場合にゲームを進行させる制御を行うとともに、ゲームの進行制御に伴うコマンドを生成し、コマンドバッファに一時的に格納するとともに、基本処理においてゲームの進行制御に関与しない操作が検出されたか否かも判定し、ゲームの進行制御に関与しない操作スイッチの操作が検出された場合に、ゲームの進行制御に関与しない操作が検出された旨の操作検出コマンドを生成し、ゲームの進行制御に伴うコマンドと同様にコマンドバッファに一時的に格納し、その後のタイマ割込処理（メイン）において送信待ちのコマンドがコマンドバッファに格納されている場合に、送信データレジスタ５６１に転送し、サブ制御部９１に対して送信させる構成としても良く、このような構成とすることで、基本処理の制御状態に関わりなく、コマンドの送信制御を共通化することが可能となる。
【０４７５】
また、このような構成を採った場合には、次回タイマ割込処理（メイン）においてコマンドバッファに格納されたコマンドを送信するまでに複数の送信待ちコマンドが格納される可能性がある。そして、複数のコマンドを連続して送信した場合、サブ制御部９１側で取りこぼす可能性があるうえに、タイマ割込処理（メイン）の処理時間が長くなってしまい、基本処理が停滞してしまう虞があることから、コマンドバッファに格納されたコマンドが複数ある場合には、タイマ割込処理（メイン）１回につき１つのコマンドのみを送信することが好ましい。しかしながら、タイマ割込処理（メイン）１回につき１つのコマンドのみを送信する構成とすると、コマンドの送信タイミングが遅くなってしまうこととなる。
【０４７６】
一方、上記の構成を採った場合、ゲームの進行制御に関与する操作スイッチの操作とゲームの進行制御に関与しない操作スイッチの操作が同時に検出された場合に、ゲームの進行制御に伴うコマンドと、ゲームの進行制御に関与しない操作スイッチの操作に伴う操作検出コマンドと、が同時に生成され、コマンドバッファに格納される可能性がある。この場合、その後のタイマ割込処理（メイン）では、操作検出コマンドよりもゲームの進行制御に伴うコマンドの送信を優先することが好ましく、このようにすることで、ゲームの進行制御に伴うコマンドの送信が遅れてしまうことがなく、ゲームの進行制御に関与しない操作の影響によってゲームの進行制御に関与する操作に応じた演出が遅れてしまうことを防止できる。
【０４７７】
メイン制御部４１は、電源投入に伴い、起動処理を実行し、起動処理の終了時に割込が許可され、その後、タイマ割込処理（メイン）を一定間隔毎に実行する。そして、メイン制御部４１が電断前の状態に復帰可能な場合には、起動処理において割込が許可される前に復帰コマンドがサブ制御部９１に対して送信される。また、ＲＡＭ５０７の格納データの異常によりメイン制御部４１が電断前の状態に復帰不可能な場合には、起動処理において割込が許可される前にＲＡＭ異常を示すエラーコマンドがサブ制御部９１に対して送信される。また、設定キースイッチ３７がｏｎの状態であり、ＲＡＭ５０７が初期化され、電断前の状態に復帰しない場合には、起動処理において割込が許可される前に設定開始を示す設定コマンドがサブ制御部９１に対して送信される。これら起動処理において送信されるコマンドのうち復帰コマンドからは、メイン制御部４１が電断前の状態に復帰する旨が特定され、ＲＡＭ異常を示すエラーコマンド、設定開始を示す設定コマンドからは、メイン制御部４１が電断前の状態には復帰しない旨が特定されることとなる。
【０４７８】
そして、前述のように操作検出コマンドは、タイマ割込処理（メイン）において送信されるとともに、起動処理の終了までは割込処理が許可されないので、メイン制御部４１の起動後、メイン制御部４１が電断前の状態に復帰する旨が特定される復帰コマンドを送信したか、メイン制御部４１が電断前の状態に復帰しない旨が特定されるＲＡＭ異常を示すエラーコマンド、設定開始を示す設定コマンドを送信した後に、操作検出コマンドの送信が許可されることとなる。
【０４７９】
このようにメイン制御部４１は、電源投入後、電断前の状態に復帰させないと判定してＲＡＭ異常を示すエラーコマンドをサブ制御部９１に対して送信するか、電断前の状態に復帰させて復帰コマンドをサブ制御部９１に対して送信するまでは操作検出コマンドをサブ制御部９１に対して送信しないので、メイン制御部４１を復帰させるか否かが確定していない状態にも関わらず、サブ制御部９１が操作検出コマンドから特定される操作に応じて演出を実行してしまうことがなく、電源投入時においてメイン制御部４１の状態と食い違った演出が実行されてしまうことを防止できる。
【０４８０】
また、メイン制御部４１は、起動処理において復帰コマンド、ＲＡＭ異常を示すエラーコマンド、設定開始を示す設定コマンドをサブ制御部９１に対して送信し、その後、割込を許可することでタイマ割込処理（メイン）を実行してその中のコマンド送信処理にて操作検出コマンドを送信するようになっており、コマンド送信処理において復帰コマンド、ＲＡＭ異常を示すエラーコマンド、設定開始を示す設定コマンドが既に送信されているか否かを判断することなく、操作検出コマンドよりも先に復帰コマンド、ＲＡＭ異常を示すエラーコマンド、設定開始を示す設定コマンドを送信することができる。
【０４８１】
また、メイン制御部４１は、タイマ割込処理（メイン）の最初に電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されている場合のみ電断処理（メイン）を実行するため、以前のタイマ割込処理（メイン）のスイッチ入力判定処理において操作検出コマンド送信要求が設定され、当該操作検出コマンド送信要求に基づく操作検出コマンドが送信されないまま、電断処理（メイン）が実行され、動作が停止してしまうことが生じうるが、メイン制御部４１は、その起動時に操作検出コマンド送信要求がクリアされるため、電断前の状態で未送信となった操作検出コマンドが復帰して、復帰後の操作スイッチの検出状態が反映されていない操作検出コマンドが送信されてしまうことはない。このため、電源投入後、操作スイッチがなんら操作されていないにも関わらず、ゲームの進行制御に関与しない操作に応じた演出が実行されてしまうことを防止できる。
【０４８２】
次に、サブ制御部９１が実行する各種制御内容を、図５３〜図５９のフローチャートに基づいて以下に説明する。
【０４８３】
サブ制御部９１は、リセット回路９５からリセット信号が入力されると、図５３に示す起動処理（サブ）を行う。
【０４８４】
起動処理（サブ）では、内蔵デバイスや周辺ＩＣ、割込モード、スタックポインタ等を初期化した後（Ｓｒ１）、ＲＡＭ９１ｃへのアクセスを許可する（Ｓｒ２）。そして、ＲＡＭ９１ｃの全ての格納領域のＲＡＭパリティを計算し（Ｓｒ３）、ＲＡＭパリティが０か否かを判定する（Ｓｒ４）。
【０４８５】
ＲＡＭ９１ｃのデータが正常であれば、ＲＡＭパリティが０になるはずであり、Ｓｒ４のステップにおいてＲＡＭパリティが０であれば、ＲＡＭ９１ｃに格納されているデータが正常であるので、Ｓｒ５のステップに進み、電断前の制御状態を復帰させる。Ｓｒ５のステップでは、制御パターン格納領域に設定されている制御パターンではなく、復旧中パターンＡに応じて演出装置の出力制御を行った後、Ｓｒ９のステップに進む。
【０４８６】
Ｓｒ４のステップにおいてＲＡＭパリティが０でなければ、ＲＡＭ９１ｃに格納されているデータが正常ではないので、ＲＡＭ９１ｃを初期化した後（Ｓｒ６）、制御パターン格納領域にパターン０を設定し（Ｓｒ７）、制御パターン格納領域に設定されているパターン０ではなく、復旧中パターンＢに応じて演出装置の出力制御を行った後、Ｓｒ９のステップに進む。
【０４８７】
Ｓｒ９のステップでは、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかの受信待ちである旨を示す復旧待ちフラグをＲＡＭ９１ｃに設定し、割込を許可する（Ｓｒ１０）。
【０４８８】
その後、タイマ割込処理（サブ）において復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかの受信が判定され、復旧待ちフラグがクリアされるか、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに復旧待ち時間が経過するまで待機し（Ｓｒ１１、Ｓｒ１２）、Ｓｒ１１のステップにおいて復旧待ちフラグが設定されていないと判定された場合、すなわち復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかを受信した場合には、ループ処理に移行する。
【０４８９】
また、Ｓｒ１２のステップにおいて復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに復旧待ち時間が経過したと判定した場合には、遊技制御基板４０と正常に接続されていない旨を報知する接続エラー報知状態に移行する。
【０４９０】
尚、本実施例では、サブ制御部９１の起動後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに、復旧待ち時間が経過した場合に、接続エラー報知状態に移行する構成であるが、サブ制御部９１の起動後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに、復旧待ち時間が経過した場合に、演出装置の動作チェックなどを検証するための検査モードに自動的に移行する構成としても良く、このような構成とすることで、遊技制御基板４０と演出制御基板９０とを接続せずにサブ制御部９１を起動させるのみで検査モードに制御させることが可能となるため、スロットマシンの開発段階や製造段階において演出装置の検査を容易に行うことができる。
【０４９１】
次に、サブ制御部９１が１．１２ｍｓの間隔で定期的に実行するタイマ割込処理（サブ）を、図５４〜図５６のフローチャートに基づいて以下に説明する。
【０４９２】
タイマ割込処理（サブ）においては、まず、停電判定処理を行う（Ｓｓ１）。停電判定処理では、電断検出回路９８から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。
【０４９３】
Ｓｓ１のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し（Ｓｓ２）、電断フラグが設定されていなければ、Ｓｓ３に進み、電断フラグが設定されていた場合には、後述する電断処理（サブ）に移行する。
【０４９４】
Ｓｓ３のステップでは、ＲＡＭ９１ｃに割り当てられた受信用バッファ（メイン制御部４１から受信したコマンドが格納される領域）にコマンドが格納されているか否か、すなわちメイン制御部４１からコマンドを受信しているか否かを判定する。Ｓｓ３のステップにおいて受信用バッファにコマンドが格納されていなければ、復旧待ちフラグが設定されているか否かを判定し（Ｓｓ４）、復旧待ちフラグが設定されていなければ、Ｓｓ４６のステップに進み、復旧待ちフラグが設定されていれば、Ｓｓ５０のステップに進む。
【０４９５】
Ｓｓ３のステップにおいて受信用バッファにコマンドが格納されていれば、受信用バッファからコマンドを取得し（Ｓｓ５）、復旧待ちフラグが設定されているか否かを判定し（Ｓｓ６）、復旧待ちフラグが設定されていなければ、Ｓｓ２０のステップに進む。
【０４９６】
Ｓｓ６のステップにおいて復旧待ちフラグが設定されていれば、取得したコマンドが復帰コマンドか否かを判定し（Ｓｓ７）、復帰コマンドでなければＳｓ１０のステップに進み、復帰コマンドであれば、復旧待ちフラグをクリアして（Ｓｓ８）、後述する検出状態格納領域と後述する操作検出フラグ、時間経過フラグ、連続操作カウンタ、操作時間カウンタからなる検出履歴とを初期化し（Ｓｓ９）、Ｓｓ４３のステップに進む。
【０４９７】
Ｓｓ１０のステップでは、取得したコマンドが設定開始を示す設定コマンドか否かを判定し、設定開始を示す設定コマンドでなければＳｓ１５のステップに進み、設定開始を示す設定コマンドであれば、復旧待ちフラグをクリアして（Ｓｓ１１）、ＲＡＭ９１ｃを初期化し（Ｓｓ１２）、管理者モードに制御されている旨を示す管理者モードをＲＡＭ９１ｃに設定し（Ｓｓ１３）、制御パターン格納領域に後述する管理者モード画面の表示などが行われる管理者用パターンを設定し（Ｓｓ１４）、Ｓｓ４３のステップに進む。
【０４９８】
Ｓｓ１５のステップでは、取得したコマンドがＲＡＭ異常エラーを示すエラーコマンドか否かを判定し、ＲＡＭ異常エラーを示すエラーコマンドでなければ、受信用バッファに格納されているコマンドのうち今回取得したコマンドをクリアし（Ｓｓ１９）、Ｓｓ５０のステップに進む。
【０４９９】
Ｓｓ１５のステップにおいて取得したコマンドがＲＡＭ異常エラーを示すエラーコマンドであれば、復旧待ちフラグをクリアして（Ｓｓ１６）、ＲＡＭ９１ｃを初期化し（Ｓｓ１７）、制御パターン格納領域にエラーパターンを設定し（Ｓｓ１８）、Ｓｓ４３のステップに進む。
【０５００】
Ｓｓ２０のステップでは、取得したコマンドが設定終了を示す設定コマンドか否かを判定し、設定終了を示す設定コマンドでなければＳｓ２５のステップに進み、設定終了を示す設定コマンドであれば、設定終了を示す設定コマンドから特定される設定値をＲＡＭ９１ｃに格納し（Ｓｓ２１）、管理者モードが設定されているか否かを判定する（Ｓｓ２２）。
【０５０１】
Ｓｓ２２のステップにおいて管理者モードが設定されていなければＳｓ４３のステップに進み、管理者モードが設定されていれば、制御パターン格納領域にパターン０を設定し（Ｓｓ２３）、管理者モードをクリアして（Ｓｓ２４）、Ｓｓ４３のステップに進む。
【０５０２】
Ｓｓ２５のステップでは、取得したコマンドが確認開始を示す設定確認コマンドか否かを判定し、確認開始を示す設定確認コマンドでなければＳｓ２９のステップに進み、確認開始を示す設定確認コマンドであれば、制御パターン格納領域に設定されている制御パターンを待避し（Ｓｓ２６）、ＲＡＭ９１ｃに管理者モードを設定し（Ｓｓ２７）、制御パターン格納領域に管理者用パターンを設定し（Ｓｓ２８）、Ｓｓ４３のステップに進む。
【０５０３】
Ｓｓ２９のステップでは、取得したコマンドがエラーの発生を示すエラーコマンドか否かを判定し、エラーの発生を示すエラーコマンドでなければＳｓ３２のステップに進み、エラーの発生を示すエラーコマンドであれば、制御パターン格納領域に設定されている制御パターンを待避し（Ｓｓ３０）、制御パターン格納領域にエラーパターンを設定し（Ｓｓ３１）、Ｓｓ４３のステップに進む。
【０５０４】
Ｓｓ３２のステップでは、取得したコマンドがエラーの解除を示すエラーコマンドか否かを判定し、エラーの解除を示すエラーコマンドであればＳｓ３５のステップに進み、エラーの解除を示すエラーコマンドでなければ、取得したコマンドが確認終了を示す設定確認コマンドか否かを判定する（Ｓｓ３３）。Ｓｓ３３のステップにおいて取得したコマンドが確認終了を示す設定確認コマンドでなければＳｓ３５のステップに進み、確認終了を示す設定確認コマンドであれば、管理者モードをクリアし（Ｓｓ３４）、Ｓｓ３５のステップに進む。Ｓｓ３５のステップでは、待避していた制御パターンを制御パターン格納領域に復帰させ、Ｓｓ４３のステップに進む。
【０５０５】
Ｓｓ３６のステップでは、取得したコマンドが内部当選コマンドか否かを判定し、内部当選コマンドでなければＳｓ３８のステップに進み、内部当選コマンドであれば、ＲＯＭ９１ｂに格納されている演出テーブルを参照し、内部当選コマンドが示す内部抽選の結果に応じた選択率にて演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定する演出パターン選択処理を実行し（Ｓｓ３７）、Ｓｓ４２のステップに進む。
【０５０６】
Ｓｓ３８のステップでは、取得したコマンドがフリーズコマンドか否かを判定し、フリーズコマンドでなければＳｓ４０のステップに進み、フリーズコマンドであれば、当該フリーズコマンドが示すフリーズの有無、フリーズに制御される場合には、その時期をＲＡＭ９１ｃに設定し（Ｓｓ３９）、Ｓｓ４５のステップに進む。
【０５０７】
Ｓｓ４０のステップでは、取得したコマンドが操作検出コマンドか否かを判定し、操作検出コマンドでなければＳｓ４２のステップに進み、操作検出コマンドであれば、操作スイッチの検出状態を更新する操作検出処理１を実行し（Ｓｓ４１）、Ｓｓ４２のステップに進む。
【０５０８】
Ｓｓ４２のステップでは、ＲＯＭ９１ｂに格納されている制御パターンテーブルを参照し、ＲＡＭ９１ｃに設定されている演出パターン及び取得したコマンドに対応して登録されている制御パターンを読み出して制御パターン格納領域の制御パターンを更新する制御パターン更新処理を実行し、Ｓｓ４３のステップに進む。
【０５０９】
Ｓｓ４３のステップでは、制御パターン格納領域に設定されている制御パターンと演出装置の出力状態とが一致するか否かを判定し、制御パターン格納領域に設定されている制御パターンと演出装置の出力状態が一致する場合には、Ｓｓ４５のステップに進み、一致しない場合には、制御パターン格納領域に設定されている制御パターンに応じて演出装置の出力制御を行い（Ｓｓ４４）、Ｓｓ４５のステップに進む。
【０５１０】
Ｓｓ４５のステップでは、受信用バッファに格納されているコマンドのうち今回取得したコマンドをクリアし、Ｓｓ４６のステップに進む。Ｓｓ４６のステップでは、操作スイッチが一定時間継続して操作されたか否かを監視する操作検出処理２を実行し、Ｓｓ４７のステップに進む。
【０５１１】
Ｓｓ４７のステップでは、管理者モードが設定されているか否かを判定し、管理者モードが設定されていなければ、操作スイッチの検出状態などに応じて操作演出を行う操作演出処理を実行し（Ｓｓ４８）、Ｓｓ５０のステップに進む。Ｓｓ４７のステップにおいて管理者モードが設定されていれば、操作スイッチの検出状態などに応じて管理情報へのアクセス制御を行う管理者モード処理を実行し（Ｓｓ４９）、Ｓｓ５０のステップに進む。
【０５１２】
Ｓｓ５０のステップでは、各種カウンタの値を更新する処理を行った後、タイマ割込処理（サブ）を終了する。
【０５１３】
図５７は、サブ制御部９１が前述したタイマ割込処理（サブ）において実行する操作検出処理１の制御内容を示すフローチャートである。
【０５１４】
操作検出処理１では、操作スイッチの検出状態の変化状況（前回の検出状態と今回の検出状態）が操作スイッチ毎に格納される検出状態格納領域における各操作スイッチの検出状態を操作検出コマンドが示す検出状態に合わせて更新する（Ｓｓ２０１）。
【０５１５】
次いで、更新された検出状態格納領域を参照し、いずれかの操作スイッチの検出状態がｏｆｆからｏｎに変化したか否かを判定し（Ｓｓ２０２）、ｏｆｆからｏｎに変化した操作スイッチがなければＳｓ２０６のステップに進み、ｏｆｆからｏｎに変化した操作スイッチがあれば、操作スイッチの操作状態が変化した旨を示す操作検出フラグ（立上りまたは立下り）が操作スイッチ毎に格納される操作検出フラグ格納領域に、ｏｆｆからｏｎに変化した操作スイッチに対応して立上りフラグを設定し（Ｓｓ２０３）、連続して操作された回数を各操作スイッチ毎に計数する連続操作カウンタを更新する（Ｓｓ２０４）。詳しくは、今回ｏｆｆからｏｎに変化した操作スイッチ以外に対応するカウンタの値をクリアし、今回ｏｆｆからｏｎに変化した操作スイッチに対応するカウンタの値を１回加算する。
【０５１６】
次いで、各操作スイッチが継続して操作されている時間を計時するための操作時間カウンタのうちｏｆｆからｏｎに変化した操作スイッチに対応するカウンタの値を初期化（０とする）し（Ｓｓ２０５）、Ｓｓ２０６のステップに進む。
【０５１７】
Ｓｓ２０６のステップでは、更新された検出状態格納領域を参照し、いずれかの操作スイッチの検出状態がｏｎからｏｆｆに変化したか否かを判定し、ｏｎからｏｆｆに変化した操作スイッチがなければ、図５５のフローチャートに復帰し、ｏｎからｏｆｆに変化した操作スイッチがあれば、操作検出フラグ格納領域に、ｏｎからｏｆｆに変化した操作スイッチに対応して立下りフラグを設定し（Ｓｓ２０７）、図５５のフローチャートに復帰する。
【０５１８】
図５８は、サブ制御部９１が前述したタイマ割込処理（サブ）において実行する操作検出処理２の制御内容を示すフローチャートである。
【０５１９】
操作検出処理２では、検出状態格納領域を参照し、今回の状態がｏｎの操作スイッチがあるか否かを判定し（Ｓｓ３０１）、今回の状態がｏｎの操作スイッチがなければ、図５６に示すフローチャートに復帰する。
【０５２０】
Ｓｓ３０１のステップにおいて今回の状態がｏｎの操作スイッチがあれば、今回の状態がｏｎの操作スイッチの操作時間カウンタの値を参照し、当該操作スイッチがｏｎとなってから１０秒経過したか否かを判定し（Ｓｓ３０２）、１０秒経過していなければ、Ｓｓ３０４のステップに進み、１０秒経過していれば１０秒経過フラグを設定し（Ｓｓ３０３）、Ｓｓ３０４のステップに進む。
【０５２１】
Ｓｓ３０４のステップでは、今回の状態がｏｎの操作スイッチの操作時間カウンタの値を参照し、当該操作スイッチがｏｎとなってから５秒経過したか否かを判定し、５秒経過していなければ、Ｓｓ３０６のステップに進み、５秒経過していれば５秒経過フラグを設定し（Ｓｓ３０５）、Ｓｓ３０６のステップに進む。
【０５２２】
Ｓｓ３０６のステップでは、今回の状態がｏｎの操作スイッチの操作時間カウンタの値を参照し、当該操作スイッチがｏｎとなってから３秒経過したか否かを判定し、３秒経過していなければ、図５６に示すフローチャートに復帰し、３秒経過していれば３秒経過フラグを設定し（Ｓｓ３０７）、図５６に示すフローチャートに復帰する。
【０５２３】
図５９は、サブ制御部９１が前述したタイマ割込処理（サブ）において電断検出回路９８からの電圧低下信号が入力されたと判定したときに実行する電断処理（サブ）の制御内容を示すフローチャートである。
【０５２４】
電断処理（サブ）においては、まず、割込を禁止する（Ｓｔ１）。すなわち電断処理（サブ）の開始にともなってその他の割込処理が実行されることを禁止する。次いで、使用している可能性がある全てのレジスタをスタック領域に退避する（Ｓｔ２）。
【０５２５】
次いで、全ての出力ポートを初期化する（Ｓｔ３）。次いでＲＡＭ９１ｃの全ての格納領域の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してセットし（Ｓｔ４）、ＲＡＭ９１ｃへのアクセスを禁止する（Ｓｔ５）。
【０５２６】
そして、電圧低下信号が入力されているか否かの判定（Ｓｔ６）を除いて、何らの処理も行わないループ処理に入る。すなわち、そのまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にサブ制御部９１は動作停止する。また、このループ処理において、電圧が回復し、電圧低下信号が入力されない状態となると、前述した起動処理（サブ）が実行され、ＲＡＭパリティが０となれば、元の処理に復帰することとなる。
【０５２７】
このように、本実施例では、ＲＡＭ４１ｃへのアクセスを禁止した後、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理（サブ）へ移行するようになっており、瞬停時においても、システムリセット信号が入力されるまで起動しないメイン制御部４１に比較して早い段階でサブ制御部９１が起動することとなる。
【０５２８】
次に、メイン制御部４１が演出制御基板９０に対して送信するコマンドに基づいてサブ制御部９１が実行する演出の制御について説明する。
【０５２９】
サブ制御部９１は、メイン制御部４１からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、ＲＡＭ９１ｃに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
【０５３０】
受信用バッファには、最大で１６個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
【０５３１】
サブ制御部９１は、タイマ割込処理（サブ）において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてＲＯＭ９１ｂに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の各種演出装置の出力制御を行う。
【０５３２】
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器５１の表示パターン、演出効果ＬＥＤ５２の点灯態様、スピーカ５３、５４の出力態様、リールＬＥＤの点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部９１は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてＲＡＭ９１ｃに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
【０５３３】
尚、サブ制御部９１は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
【０５３４】
特に、本実施例では、演出の実行中に賭数の設定操作がなされたとき、すなわちサブ制御部９１が、賭数が設定された旨を示すＢＥＴコマンドを受信したときに、実行中の演出を中止するようになっている。このため、遊技者が、演出を最後まで見るよりも次のゲームを進めたい場合には、演出がキャンセルされ、次のゲームを開始できるので、このような遊技者に対して煩わしい思いをさせることがない。また、演出の実行中にクレジットまたは賭数の精算操作がなされたとき、すなわちサブ制御部９１が、ゲームの終了を示す遊技状態コマンドを受信した後、ゲームの開始を示す内部当選コマンドを受信する前に、払出開始コマンドを受信した場合には、実行中の演出を中止するようになっている。クレジットや賭数の精算を行うのは、遊技を終了する場合であり、このような場合に実行中の演出を終了させることで、遊技を終了する意志があるのに、不要に演出が継続してしまわないようになっている。
【０５３５】
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、ＲＡＭ９１ｃに設定される。演出パターンの選択率は、ＲＯＭ９１ｂに格納された演出テーブルに登録されており、サブ制御部９１は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
【０５３６】
サブ制御部９１のＲＡＭ９１ｃには、操作スイッチの検出状態の変化状況が操作スイッチ毎に格納される検出状態格納領域と、操作スイッチの操作状態が変化した旨を示す操作検出フラグが操作スイッチ毎に格納される操作検出フラグ格納領域と、が割り当てられている。さらに検出状態格納領域には、操作検出コマンドを受信する前（前回）の検出状態と、操作検出コマンドを受信した後（今回）の検出状態と、が割り当てられており、それぞれに操作検出コマンドの受信前後の各操作スイッチの検出状態が格納されるようになっている。
【０５３７】
サブ制御部９１は、タイマ割込処理（サブ）において受信用バッファに未処理のコマンドが格納されていると判定した場合に、操作検出処理１を行う。操作検出処理１では、未処理のコマンドが操作検出コマンドか否かを判定し、操作検出コマンドであると判定した場合に、検出状態格納領域に格納されている今回の検出状態を前回の検出状態に移動し、操作検出コマンドが示す各操作スイッチの検出状態を今回の検出状態として格納するとともに、前回の検出状態と今回の検出状態とが異なる操作スイッチがある場合に、ｏｆｆからｏｎに変化した場合には、その操作スイッチに対応する操作検出フラグとして立上りフラグを設定し、ｏｎからｏｆｆに変化した場合には、その操作スイッチに対応する操作検出フラグとして立下りフラグを設定する。
【０５３８】
このように本実施例では、メイン制御部４１が、いずれかの操作スイッチの検出状態が変化したときに、全ての操作スイッチの検出状態を特定可能な操作検出コマンドを送信するとともに、サブ制御部９１は、操作検出コマンドを受信した際に、検出状態格納領域に格納されている操作検出コマンドの受信前後の各操作スイッチの検出状態を更新し、検出状態が異なる操作スイッチがある場合に、その操作スイッチに対応する操作検出フラグを設定するようになっており、サブ制御部９１は、操作検出フラグの有無を確認することで、操作スイッチの検出状態が変化した旨に加え、操作検出コマンドの受信前後で各操作スイッチの検出状態がどのように変化したか、すなわちｏｆｆからｏｎに変化したのか、ｏｎからｏｆｆに変化したのか、を判別できるようになっている。
【０５３９】
このため、サブ制御部９１は、操作スイッチの操作が開始したタイミングだけでなく、その操作が解除されたタイミングに応じて演出を行ったり、演出を変化させることが可能となり、ゲームの進行制御に関与しない操作スイッチの操作態様に応じて多彩な演出を行うことができる。
【０５４０】
尚、本実施例では、サブ制御部９１が、検出状態格納領域に格納されている操作検出コマンドの受信前後の各操作スイッチの検出状態から、各操作スイッチの検出状態がどのように変化したか否かを判定するようになっているが、本実施例では、メイン制御部４１が、いずれかの操作スイッチの検出状態が変化したときに、検出状態が変化したスイッチ及びｏｆｆからｏｎへの変化であるか、ｏｎからｏｆｆへの変化であるか、を特定可能な操作検出コマンドが送信されるので、操作検出コマンド自体から、操作検出コマンドの受信前後の各操作スイッチの検出状態がどのように変化したか否かを判別する構成としても良く、このような構成とすることで、ゲームの進行制御に影響しない操作スイッチの操作に伴うサブ制御部９１の制御負荷を軽減することができる。
【０５４１】
また、検出状態格納領域には、各操作スイッチの検出状態が格納されており、サブ制御部９１は、いずれかの操作検出フラグが設定され、当該操作検出フラグに対応する操作スイッチの検出状態の変化が特定された場合に、検出状態格納領域の他の操作スイッチの検出状態を確認することで、検出状態が変化した操作スイッチだけでなく、他の操作スイッチの検出状態も特定できるようになっている。
【０５４２】
このため、複数の操作スイッチが同時に操作されている状態を特定可能となり、例えば、パターン１やパターン３の操作演出のように、複数の操作スイッチが同時に操作されることで演出を行うことが可能となり、複数の操作スイッチの操作の仕方によって多様な演出を行うことができる。
【０５４３】
また、サブ制御部９１は、パターン１の操作演出のように、左ストップスイッチ、中ストップスイッチの操作スイッチが同時に操作されることで演出を行う場合に、左ストップスイッチが検出されており、かつ右ストップスイッチが検出されていない状態で、中ストップスイッチの操作を検出した場合にはステージ変更演出を行うが、左ストップスイッチ及び右ストップスイッチの双方が検出されている状態で、中ストップスイッチの操作を検出した場合には、上記と同様に左ストップスイッチと中ストップスイッチの操作が同時に検出されていることとなるが、この場合には、ステージ変更演出を行わないようになっている。
【０５４４】
すなわち特定の操作スイッチの操作に応じて特定の操作演出を行う際に、特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないようになっている。
【０５４５】
このため、特定の操作スイッチの操作に基づく特定の操作演出は、特定の操作スイッチが他の操作スイッチと同時に操作された場合や他の操作スイッチが操作されている状態で操作された場合には実行されることがなく、誤った操作によって特定の操作演出が実行されることがないため、特定の操作演出を希望する遊技者に対してのみ特定の操作演出を実行することができる。
【０５４６】
また、上記のように特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないことにより、例えば、パターン１とパターン３の操作演出のように、各々の演出を実行させるための操作スイッチの一部が重複する場合でも、異なる演出を実行させることが可能となる。すなわちパターン１の操作演出は、左ストップスイッチと中ストップスイッチが同時に操作されることで実行され、パターン２の操作演出は、中ストップスイッチと右ストップスイッチが同時に操作されることで実行されるが、左ストップスイッチと右ストップスイッチが同時に操作されている状態で、中ストップスイッチが操作された際に、左ストップスイッチと中ストップスイッチの同時操作なのか、中ストップスイッチと右ストップスイッチの同時操作なのか、を判別することができなくなってしまい、いずれか一方の同時操作に対してしか演出を割り当てることができなくなってしまうが、特定の操作スイッチとともに特定の操作スイッチ以外の操作スイッチが操作された場合には、特定の操作演出を行わないことにより、パターン１とパターン２の操作演出のようなケースであっても、それぞれの同時操作に対して演出を割り当てることが可能となり、複数の操作スイッチの操作の仕方によってさらに多様な演出を行うことができる。
【０５４７】
サブ制御部９１は、操作検出処理１においていずれかの操作スイッチの検出状態がｏｆｆからｏｎに変化した場合、すなわち操作スイッチの操作が開始した場合に、ＲＡＭ９１ｃに割り当てられた操作時間カウンタのうち該当する操作スイッチの操作時間カウンタの値を初期化する。操作時間カウンタの値は、タイマ割込処理（サブ）が実行される毎に加算されるようになっており、操作時間カウンタの値を参照することで操作スイッチの操作が開始してからの経過時間を判別できる。
【０５４８】
また、サブ制御部９１は、タイマ割込処理（サブ）が実行される毎に、操作検出処理２を実行する。操作検出処理２では、検出状態格納領域に格納された今回の検出状態がｏｎであるか否かを操作スイッチ毎に判定し、ｏｎである場合、すなわち操作スイッチの操作が継続している場合には、該当する操作スイッチの操作時間カウンタの値を参照し、予め定められた時間経過していれば、その旨を示す時間経過フラグを操作スイッチに対応付けて設定する。本実施例では、３秒経過時、５秒経過時、１０秒経過時に、それぞれ時間経過フラグとして３秒経過フラグ、５秒経過フラグ、１０秒経過フラグを設定する。
【０５４９】
このため、サブ制御部９１は、時間経過フラグが設定されているか否かを確認することにより操作スイッチが継続して操作された時間が一定時間経過したことを契機に演出を行うことが可能となる。
【０５５０】
尚、本実施例では、サブ制御部９１が、操作スイッチの検出状態がｏｆｆからｏｎに変化した後、当該操作スイッチの検出状態がｏｎからｏｆｆに変化せずに経過した時間を計時することで、サブ制御部９１側で操作スイッチの連続操作時間を把握することが可能となり、メイン制御部４１側で個々のスイッチ毎に連続操作時間を計時するタイマを有することなく、サブ制御部９１のプログラムを変更するのみで操作スイッチの連続操作時間を検出することが可能となるが、メイン制御部４１側で操作スイッチの操作がｏｆｆからｏｎに変化した後、ｏｎからｏｆｆに変化せずに経過した時間を計時し、この時間が規定時間に到達したときに操作スイッチが規定時間連続して操作された旨を示すコマンドを送信することで、サブ制御部９１側で、操作スイッチの操作が継続して操作された旨を特定できるようにしても良い。
【０５５１】
また、サブ制御部９１は、操作検出処理１においていずれかの操作スイッチの検出状態がｏｆｆからｏｎに変化した場合、すなわち操作スイッチの操作が開始した場合に、ＲＡＭ９１ｃに割り当てられた連続操作カウンタのうち該当する操作スイッチの連続操作カウンタの値を１加算する。連続操作カウンタの値は、他の操作スイッチの検出状態がｏｆｆからｏｎに変化した場合または演出開始時などのサブ制御部９１からの命令によりクリアされるようになっており、連続操作カウンタの値を参照することである起点から特定の操作スイッチが連続して操作された回数を判別できる。そして、サブ制御部９１は、連続操作カウンタの値を確認することにより、ある起点からの操作スイッチの連続操作回数が規定回数に到達したことを契機に演出を行うことが可能となる。
【０５５２】
尚、本実施例では、サブ制御部９１が、操作スイッチの検出状態がｏｆｆからｏｎに変化した回数を計数することで、サブ制御部９１側で操作スイッチ連続操作回数を把握することが可能となり、メイン制御部４１側で個々のスイッチ毎に連続操作回数を計数するカウンタを有することなく、サブ制御部９１のプログラムを変更するのみで操作スイッチの操作回数を検出することが可能となるが、メイン制御部４１側で操作スイッチの操作がｏｆｆからｏｎに変化した回数を計数し、この回数が規定回数に到達したときに操作スイッチが規定回数操作された旨を示すコマンドを送信することで、サブ制御部９１側で、操作スイッチの操作が規定回数操作された旨を特定できるようにしても良い。
【０５５３】
サブ制御部９１のＲＡＭ９１ｃには、制御パターンが設定される制御パターン格納領域が割り当てられており、サブ制御部９１は、メイン制御部４１からコマンドを受信した際に、当該コマンドに応じた制御パターンを制御パターン格納領域に設定するとともに、制御パターン格納領域に設定されている制御パターンを参照して演出装置の出力状態を制御する。
【０５５４】
例えば、図６０（ａ）に示すように、サブ制御部９１がゲームの進行制御に応じたコマンドａを受信すると、コマンドａに対応するパターンａを制御パターン格納領域に設定し、これとほぼ同時に演出装置をパターンａに基づく出力状態に制御する。これにより液晶表示器５１にはパターンａに基づく画像が表示され、スピーカ５３、５４からパターンａに基づく効果音が出力され、演出効果ＬＥＤ５２、リールＬＥＤ５５がパターンａに基づく点灯態様となる。その後、ゲームの進行制御に応じたコマンドｂを受信すると、制御パターン格納領域の制御パターンをコマンドｂに対応するパターンｂに更新し、制御パターン格納領域の制御パターンが変更されると、これとほぼ同時に演出装置を変更後のパターンｂに基づく出力状態に制御する。これにより液晶表示器５１に表示されているパターンａに基づく画像がパターンｂに基づく画像に更新され、スピーカ５３、５４からパターンｂに基づく効果音が出力され、演出効果ＬＥＤ５２、リールＬＥＤ５５がパターンｂに基づく点灯態様となる。また、図６０（ｂ）に示すように、対応する制御パターンがコマンドａと同じコマンドｃを受信すると、制御パターン格納領域の制御パターンをコマンドｃに対応するパターンａに更新するが、制御パターン格納領域の制御パターン自体は変化せず、この場合には、演出装置の出力状態を切り替えることなく、そのままの状態を維持するようになっている。
【０５５５】
また、サブ制御部９１は、電源投入時においてメイン制御部４１よりも先に起動するとともに、その起動時に、ＲＡＭ９１ｃのデータが正常であれば、図６１（ａ）に示すように、メイン制御部４１の起動時に必ず送信される復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかを受信せずとも、サブ制御部９１の制御状態を電断前の制御状態に復帰させるが、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかを受信するまでは、制御パターン格納領域に設定されている制御パターンに応じた出力制御は行わず、復旧処理中である旨を報知する復旧中パターンＡに応じた出力制御を行う。これにより液晶表示器５１には復旧処理中を示す復旧中画像が表示され、演出効果ＬＥＤ５２は消灯状態となる。尚、スピーカ５３、５４からの効果音の出力はなく、リールＬＥＤ５５も消灯状態となる。その後、復帰コマンドを受信した場合には、制御パターン格納領域に設定されている制御パターンに応じた出力制御を行い、この時点で演出装置の出力状態が復旧中パターンＡから制御パターン格納領域に設定されている制御パターンに応じた出力状態に切り替わる。これにより液晶表示器５１に表示されている復旧中画像が制御パターン格納領域に設定されている制御パターンに基づく画像に更新され、スピーカ５３、５４から制御パターン格納領域に設定されている制御パターンに基づく効果音が出力され、演出効果ＬＥＤ５２、リールＬＥＤ５５が制御パターン格納領域に設定されている制御パターンに基づく点灯態様となる。
【０５５６】
また、復帰コマンドを受信した場合には、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴を初期化するようになっており、これら電断前に受信した操作検出フラグに基づく操作スイッチの検出状態や操作履歴は、復帰コマンドを受信しても復帰させない。
【０５５７】
また、サブ制御部９１は、前述のようにタイマ割込処理（サブ）の最初に電圧低下信号が入力されているか否かの判定を行い、電圧低下信号が入力されていると判定した場合に、電断処理（サブ）を行う。一方、１回のタイマ割込処理（サブ）において受信用バッファに格納されている未処理のコマンドから最も早い段階で受信したコマンドを１つのみ取得することとなるが、メイン制御部４１は、連続してコマンドを送信することもあるので、受信用バッファに未処理のコマンドが残ったまま、電断処理（サブ）が実行されることがあり、この場合、サブ制御部９１が、受信用バッファに電断前に受信し、かつ未処理のままのコマンドが残った状態で起動することが生じうる。
【０５５８】
この場合、メイン制御部４１から送信される復帰コマンドよりも前に、復帰コマンド以外のコマンドを受信している状態となるが、サブ制御部９１は、その起動時に制御状態を電断前の制御状態に復帰させた後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信していない状態で、他のコマンドを取得した場合には、制御パターン格納領域に設定されている電断前の制御パターンを当該コマンドに応じた制御パターンに更新するようになっている。この際、演出装置の出力状態は、復旧中パターンＡのまま維持され、新たな制御パターンに応じた出力状態には切り替わらず、復帰コマンドを受信した時点で新たな制御パターンに応じた出力状態となる。
【０５５９】
例えば、図６１（ｂ）に示すように、サブ制御部９１は、その起動時に制御状態を電断前の制御状態に復帰させた後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信する前に、コマンドｂを取得すると、制御パターン格納領域の制御パターンを電断前の制御パターンａからコマンドｂに対応するパターンｂに更新するが、演出装置の出力状態は変更せず、復旧中パターンＡのまま維持し、その後、復帰コマンドを受信した時点で、制御パターン格納領域に設定されているパターンｂに基づく出力状態に制御する。すなわち復帰コマンドを受信する前に、コマンドを取得すると電断前に設定されていた制御パターンが取得したコマンドに応じた制御パターンに更新され、復帰コマンドを受信した時点で、その前に取得したコマンドを反映した制御パターンにて出力制御が行われるようになっている。
【０５６０】
また、サブ制御部９１は、その起動時に、ＲＡＭ９１ｃのデータが正常でなければ、図６２（ａ）に示すように、メイン制御部４１の起動時に必ず送信される復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかを受信せずとも、ＲＡＭ９１ｃを初期化し、制御パターン格納領域に初期化後に対応するパターン０（通常画面の表示など）を設定するが、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始コマンドのいずれかを受信するまでは、制御パターン格納領域に設定されているパターン０に応じた出力制御は行わず、復旧処理中である旨を報知する復旧中パターンＢに応じた出力制御を行う。これにより液晶表示器５１には復旧中パターンＡと同じ復旧中画像が表示されるが、演出効果ＬＥＤ５２は復旧中パターンＡと異なり点滅状態となる。尚、復旧中パターンＡと同様にスピーカ５３、５４からの効果音の出力はなく、リールＬＥＤ５５も消灯状態となる。その後、復帰コマンドを受信した場合には、制御パターン格納領域に設定されているパターン０に応じた出力制御を行い、この時点で演出装置の出力状態が復旧中パターンＢから制御パターン格納領域に設定されているパターン０に応じた出力状態に切り替わる。これにより液晶表示器５１に表示されている復旧中画像が制御パターン０に基づく通常画面に更新され、スピーカ５３、５４からの効果音の出力はなく、演出効果ＬＥＤ５２、リールＬＥＤ５５が消灯した状態となる。
【０５６１】
また、ＲＡＭ９１ｃのデータが正常でない場合には、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかを受信するまでの出力状態として、ＲＡＭ９１ｃのデータが正常の場合の復旧中パターンＡとは、その出力態様の異なる復旧中パターンＢに応じた出力制御を行うようになっている。本実施例では、復旧中パターンＡ、Ｂともに液晶表示器５１に復旧中画像が表示され、スピーカ５３、５４からの効果音の出力はなく、リールＬＥＤ５５が消灯された状態となるが、復旧中パターンＡでは、演出効果ＬＥＤが消灯状態となるのに対して、復旧中パターンＢでは、演出効果ＬＥＤが点滅状態となる。
【０５６２】
また、ＲＡＭ９１ｃの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
【０５６３】
また、サブ制御部９１は、その起動時に、ＲＡＭ９１ｃのデータが正常でなく、ＲＡＭ９１ｃを初期化した後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信していない状態で、他のコマンドを取得した場合には、制御パターン格納領域に設定されているパターン０を当該コマンドに応じた制御パターンに更新するようになっている。この際、演出装置の出力状態は、復旧中パターンＢのまま維持され、新たな制御パターンに応じた出力状態には切り替わらず、復帰コマンドを受信した時点で新たな制御パターンに応じた出力状態となる。
【０５６４】
例えば、図６２（ｂ）に示すように、サブ制御部９１は、その起動時にＲＡＭ９１ｃを初期化した後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信する前に、コマンドｂを取得すると、制御パターン格納領域の制御パターンをパターン０からコマンドｂに対応するパターンｂに更新するが、演出装置の出力状態は変更せず、復旧中パターンＢのまま維持し、その後、復帰コマンドを受信した時点で、制御パターン格納領域に設定されているパターンｂに基づく出力状態に制御する。すなわち復帰コマンドを受信する前に、コマンドを取得するとＲＡＭ９１ｃを初期化した際に設定されたパターン０が受信したコマンドに応じた制御パターンに更新され、復帰コマンドを受信した時点で、その前に受信したコマンドを反映した制御パターンにて出力制御が行われるようになっている。
【０５６５】
また、サブ制御部９１は、その起動時に、ＲＡＭ９１ｃのデータが正常であり、制御状態を電断前の制御状態に復帰させた後、設定開始を示す設定コマンドを受信した場合には、図６３に示すように、ＲＡＭ９１ｃを初期化し、制御パターン格納領域に後述する管理情報へアクセス可能とする管理者用パターンを設定し、制御パターン格納領域の制御パターンが管理者用パターンに変更されると、これとほぼ同時に演出装置を管理者用パターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンＡから設管理者用パターンに基づく出力状態に切り替える。これにより液晶表示器５１に表示されている復旧中画像が管理者モード画面に更新され、スピーカ５３、５４から警告音が出力され、演出効果ＬＥＤ５２、リールＬＥＤ５５が点滅状態となる。
【０５６６】
また、ＲＡＭ９１ｃの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
【０５６７】
また、ＲＡＭ９１ｃのデータ正常ではなく、ＲＡＭ９１ｃを初期化した後、設定開始を示す設定コマンドを受信した場合には、制御パターン格納領域に設定されているパターン０を管理者用パターンに更新し、制御パターン格納領域のパターン０が管理者用パターンに変更されると、これとほぼ同時に演出装置を管理者用パターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンＢから管理者用パターンに基づく出力状態に切り替える。
【０５６８】
また、ＲＡＭ９１ｃの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
【０５６９】
また、サブ制御部９１は、その起動時に、ＲＡＭ９１ｃのデータが正常であり、制御状態を電断前の制御状態に復帰させた後、ＲＡＭ異常を示すエラーコマンドを受信した場合には、図６４に示すように、ＲＡＭ９１ｃを初期化し、制御パターン格納領域にエラーパターンを設定し、制御パターン格納領域がエラーパターンに変更されると、これとほぼ同時に演出装置をエラーパターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンＡからエラーパターンに基づく出力状態に切り替える。これにより液晶表示器５１に表示されている復旧中画像がエラー報知画像に更新され、スピーカ５３、５４から警告音が出力され、演出効果ＬＥＤ５２、リールＬＥＤ５５が点滅状態となる。
【０５７０】
また、ＲＡＭ９１ｃの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
【０５７１】
また、ＲＡＭ９１ｃのデータ正常ではなく、ＲＡＭ９１ｃを初期化した後、ＲＡＭ異常を示すエラーコマンドを受信した場合には、制御パターン格納領域に設定されているパターン０をエラーパターンに更新し、制御パターン格納領域のパターン０がエラーパターンに変更されると、これとほぼ同時に演出装置をエラーパターンに応じた出力状態に制御し、演出装置の出力状態を復旧中パターンＢからエラーパターンに基づく出力状態に切り替える。
【０５７２】
また、ＲＡＭ９１ｃの初期化に伴って検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴も初期化される。
【０５７３】
また、サブ制御部９１は、その起動時に、ＲＡＭ９１ｃのデータが正常であり、制御状態を電断前の制御状態に復帰させた後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに、復帰待ち時間が経過した場合には、図６５に示すように、制御パターン格納領域に設定されている電断前の制御パターンを待避し、遊技制御基板４０との接続エラーを報知する接続エラーパターンに更新し、制御パターン格納領域の電断前の制御パターンが接続エラーパターンに変更されると、これとほぼ同時に演出装置を接続エラー報知の出力状態に制御し、演出装置の出力状態を復旧中パターンＡから接続エラー報知の出力状態に切り替える。これにより液晶表示器５１に表示されている復旧中画像が接続エラー報知画面に更新され、スピーカ５３、５４から警告音が出力され、演出効果ＬＥＤ５２、リールＬＥＤ５５が点滅状態となる。
【０５７４】
また、復帰待ち時間が経過した場合には、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴を初期化する。
【０５７５】
尚、本実施例では、接続エラー状態へ移行してもＲＡＭ９１ｃはクリアされず、さらに制御パターン格納領域に設定されている電断前の制御パターンも待避されるようになっており、接続エラー状態へ移行後、一度電源を落として再投入し、サブ制御部９１を再起動させた際にＲＡＭ９１ｃのデータが正常であれば、その後メイン制御部４１から復帰コマンドを受信した際に、ＲＡＭ９１ｃに保持されているデータに基づいてサブ制御部９１の制御状態及び演出装置の出力状態が復帰するようになっている。尚、復帰待ち時間が経過した場合には、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴は、初期化されているため、復帰することはない。
【０５７６】
また、ＲＡＭ９１ｃのデータ正常ではなく、ＲＡＭ９１ｃを初期化した後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに、復帰待ち時間が経過した場合には、制御パターン格納領域に設定されているパターン０を接続エラーパターンに更新し、制御パターン格納領域のパターン０が接続エラーパターンに変更されると、これとほぼ同時に演出装置を接続エラー報知の出力状態に制御し、演出装置の出力状態を復旧中パターンＢから接続エラー報知の出力状態に切り替える。
【０５７７】
このようにサブ制御部９１は、その起動時にＲＡＭ９１ｃのデータが正常である場合に、制御状態を電断前の制御状態に復帰させるが、メイン制御部４１から復帰コマンドを受信するまでは、演出装置による出力状態は復帰させず、復帰コマンドを受信した時点で出力状態も復帰させるようになっており、メイン制御部４１が電断前の状態に復帰しない状態で、演出装置による出力状態のみが復帰してしまうことがなく、電源投入時におけるメイン制御部４１側の制御状態と演出装置による出力状態とを整合させることができる。
【０５７８】
また、サブ制御部９１が、その起動後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドの受信前の状態であり、制御パターン格納領域に設定されている制御パターンに応じた演出装置の出力制御が開始していない状態であっても、電断前に受信した未処理のコマンドが受信用バッファに格納されている場合には、受信用バッファに格納されている未処理のコマンドを取得し、制御パターン格納領域に設定されている制御パターンを取得したコマンドに応じた制御パターンに更新し、その後、復帰コマンドを受信した際に、更新された制御パターンに応じて演出装置の出力制御を行うので、受信用バッファに未処理のコマンドが格納されたままサブ制御部９１が復帰した場合でも、電断前に未処理だったコマンドを制御パターンに反映させることができ、その後、復帰コマンドを受信することで、電断前に未処理だったコマンドを反映した状態で演出装置の出力制御を開始することができる。
【０５７９】
また、サブ制御部９１は、その起動時にＲＡＭ９１ｃのデータが正常である場合に、制御状態を電断前の制御状態に復帰させるが、メイン制御部４１からＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドを受信した場合、すなわちメイン制御部４１側が電断前の状態に復帰しない場合には、ＲＡＭ９１ｃを初期化するようになっており、電源投入時において、サブ制御部９１側のみが復帰可能な場合でも、メイン制御部４１とサブ制御部９１との制御状態とを整合させることができる。
【０５８０】
また、サブ制御部９１は、起動時にＲＡＭ９１ｃのデータが正常か否かを判定し、正常でない場合には、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドの受信を待たずに、ＲＡＭ９１ｃを初期化し、制御パターン格納領域にパターン０を設定し、その後、復帰コマンドを受信した際に、パターン０に応じた出力状態にて演出装置の出力制御を行うようになっており、サブ制御部９１がＲＡＭ９１ｃのデータに基づいて電断前の制御状態に復帰できない場合でも、メイン制御部４１から復帰コマンドを受信した際に、演出装置の出力が停止してしまうことがなく、初期化された制御パターンに応じて演出装置の出力制御を開始することができる。
【０５８１】
また、サブ制御部９１は、その起動後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかを受信するまでの状態において、復旧処理中を示す復旧中パターンに応じて演出装置の出力制御を行うようになっており、電源投入後、制御パターン格納領域に設定されている制御パターンに応じた演出装置の出力が開始する前の状態でも、サブ制御部９１が現在どのような状態にあるか、を外部から容易に確認することができる。
【０５８２】
特に、本実施例では、サブ制御部９１が電断前の制御状態に復帰した状態で、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれかの受信を待機している場合には、復旧中パターンＡに応じて演出装置の出力制御が行われるのに対して、サブ制御部９１がＲＡＭ９１ｃを初期化した状態で、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始コマンドのいずれかの受信を待機している場合には、復旧中パターンＡとは出力態様の異なる復旧中パターンＢに応じて演出装置の出力制御が行われるようになっており、復旧中パターンの出力状態にある演出装置の出力態様から、サブ制御部９１が電断前の制御状態に復帰したのか、ＲＡＭ９１ｃが初期化されたのか、を外部から確認することができる。
【０５８３】
また、サブ制御部９１は、その起動後、復帰コマンド、ＲＡＭ異常を示すエラーコマンドまたは設定開始を示す設定コマンドのいずれも受信せずに、復帰待ち時間が経過した場合には、接続エラー報知が実行されるようになっており、遊技制御基板４０との接続不良である旨を特定できるようになっている。
【０５８４】
また、接続エラー報知が実行されてもＲＡＭ９１ｃは初期化されず、再度、電源投入した際に、メイン制御部４１から復帰コマンドを受信することで、元の制御状態に復帰させることができるようになっている。
【０５８５】
また、サブ制御部９１は、その起動時にＲＡＭ９１ｃのデータが正常である場合に、制御状態を電断前の制御状態に復帰させるが、メイン制御部４１から復帰情報を受信して演出装置の出力状態も復帰させる際に、検出状態格納領域に設定されている操作スイッチの検出状態と、操作検出フラグ、操作時間カウンタの値、時間経過フラグ、連続操作カウンタの値からなる操作履歴を初期化し、これら電断前に受信した操作検出フラグに基づく操作スイッチの検出状態や操作履歴を復帰させないようになっており、電源投入後、操作スイッチが操作されていないにも関わらず、ゲームの進行制御に関与しない操作スイッチの操作に応じた演出が実行されてしまうことを防止できる。このため、後述の連続操作演出のように演出条件を満たす介入操作によって演出結果が報知されない演出は、電源投入後であっても、演出条件を満たす介入操作が行われた場合にしか演出結果が報知されることはないので、遊技者の介入操作に伴う演出の価値を高めることができるとともに、演出条件が電断を跨って判定されることがないため、演出条件を満たす操作が分かりやすいものとなる。
【０５８６】
また、サブ制御部９１は、その起動時にＲＡＭ９１ｃのデータが正常であり、制御状態を電断前の制御状態に復帰させる場合において、メイン制御部４１から復帰コマンドを受信したとき、すなわちメイン制御部４１の制御状態も復帰し、演出装置の出力状態も含めサブ制御部９１側の状態を電断前に復帰することが確定した段階で操作スイッチの検出状態や操作履歴を初期化するようになっており、メイン制御部４１側が電断前の状態に復帰せず、ＲＡＭ９１ｃのデータが全て初期化されるにも関わらず、無駄に操作スイッチの検出状態や操作履歴のみの初期化が行われてしまうことがないうえに、演出装置の出力状態を含め全ての状態が復帰する前に操作スイッチの検出状態や操作履歴が初期化されるので、これら操作スイッチの検出状態や操作履歴が初期化されないまま演出が開始してしまうことを確実に防止できる。
【０５８７】
また、サブ制御部９１は、起動時において操作スイッチの検出状態や操作履歴を初期化するようになっており、電断時においては、操作スイッチの検出状態や操作履歴を含め、ＲＡＭ９１ｃに格納されている全てデータを保持しておく構成であるため、電断時の処理においてバックアップするデータを選別する必要がなく、電断時の処理を速やかに終了させることができる。
【０５８８】
尚、本実施例では、サブ制御部９１は、その起動時にＲＡＭ９１ｃのデータが正常であり、制御状態を電断前の制御状態に復帰させる場合において、メイン制御部４１から復帰コマンドを受信したときに操作スイッチの検出状態や操作履歴を初期化する構成であるが、起動時においてＲＡＭ９１ｃのデータが正常である場合に、復帰コマンドの受信を待たず、一律に操作スイッチの検出状態や操作履歴を初期化する構成としても良く、このような構成とした場合には、演出装置の出力状態が復帰するか否かに関わらず、その前の段階で確実に操作スイッチの検出状態や操作履歴が初期化されるので、これら操作スイッチの検出状態や操作履歴が初期化されないまま演出が開始してしまうことを確実に防止できる。また、復帰コマンドの受信を待たず、一律に操作スイッチの検出状態や操作履歴を初期化する構成を採る場合には、メイン制御部４１が電断前の制御状態に復帰する際に、復帰コマンドを送信しない構成としても良い。
【０５８９】
また、本実施例では、電断時にＲＡＭ９１ｃに格納されている全てのデータをバックアップし、サブ制御部９１が起動時に操作スイッチの検出状態や操作履歴を初期化することで、電断前の操作スイッチの検出状態や操作履歴が復帰しないようにしているが、電断時に、操作スイッチの検出状態や操作履歴をバックアップしないことにより、電断前の操作スイッチの検出状態や操作履歴を復帰させない構成としても良い。
【０５９０】
本実施例においてサブ制御部９１は、メイン制御部４１の制御状態に応じてゲームの進行制御に関与しない操作スイッチの操作、すなわち操作検出コマンドから特定される操作スイッチの検出状態に応じて操作演出を実行する。
【０５９１】
図６６は、操作演出の一例を示すものである。図６６に示すパターン１は、液晶表示器５１の背景や出現するキャラクタなどの種類が異なる複数種類の演出ステージからいずれかのステージを変更するためのステージ変更演出を実行するためのパターンであり、ゲーム終了後（設定変更後）からゲーム開始までの制御状態において、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち左、中のストップスイッチ８Ｌ、８Ｃが同時に操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、ストップスイッチ８Ｌ、８Ｃの検出状態のいずれかがｏｆｆの状態で、ストップスイッチ８Ｌ、８Ｃの検出状態がともにｏｎ、ストップスイッチ８Ｒの検出状態がｏｆｆに変化した場合に実行される。
【０５９２】
パターン２は、ステージ変更演出において、各ストップスイッチに対応して提示された演出パターンを選択して決定するパターンであり、ゲーム終了後（設定変更後）からゲーム開始までの制御状態であり、かつステージ変更演出が実行されている状態においていずれかのストップスイッチが操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、いずれかのストップスイッチの検出状態がｏｆｆの状態で、当該ストップスイッチの検出状態がｏｎ、他のストップスイッチの検出状態がｏｆｆに変化した場合に実行される。
【０５９３】
パターン３は、ゲームの履歴や演出情報などの台情報閲覧演出を実行するパターンであり、ゲーム終了後（設定変更後）からゲーム開始までの制御状態において、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち中、右のストップスイッチ８Ｃ、８Ｒが同時に操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、ストップスイッチ８Ｃ、８Ｒの検出状態のいずれかがｏｆｆの状態で、ストップスイッチ８Ｃ、８Ｒの検出状態がともにｏｎ、ストップスイッチ８Ｌの検出状態がｏｆｆに変化した場合に実行される。
【０５９４】
パターン４は、効果音を出力するパターンであり、ゲーム終了後（設定変更後）からゲーム開始までの制御状態であり、かつステージ変更演出が実行されていない状態においていずれかのストップスイッチが操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、いずれかのストップスイッチの検出状態がｏｆｆの状態で、当該ストップスイッチの検出状態がｏｎ、他のストップスイッチに変化した場合に１／１００の確率で実行される。
【０５９５】
パターン５は、特別役に当選した可能性を示唆するとともに、最終的に特別役に当選しているか否かを報知する特別役当選示唆演出を実行するパターンであり、ゲーム開始後からゲーム終了までの制御状態においてＭＡＸＢＥＴスイッチ６の連続操作を指示する演出を行った後、ＭＡＸＢＥＴスイッチ６が１０回連続操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、ＭＡＸＢＥＴスイッチ６の検出状態がｏｎ、ｏｆｆを交互に１０回繰り返して変化したときに実行される。
【０５９６】
パターン６は、パターン５と同様に特別役当選示唆演出を実行するパターンであり、ゲーム開始後からゲーム終了までの制御状態においてＭＡＸＢＥＴスイッチ６の長押しを指示する演出を行った後、ＭＡＸＢＥＴスイッチ６が３秒間継続して操作されたとき、すなわち操作検出コマンドが示す操作スイッチの検出状態が、ＭＡＸＢＥＴスイッチ６の検出状態がｏｆｆの状態で、ＭＡＸＢＥＴスイッチ６の検出状態がｏｎに変化した後、ｏｆｆに変化せずに３秒間経過したときに実行される。
【０５９７】
尚、図６６に示す操作演出は、ゲームの進行制御に関与しない操作がなされた際に実行される演出の一例であり、他の演出を適用しても良い。
【０５９８】
次に、前述した操作演出のうちパターン５の特別役当選示唆演出（以下連続操作演出とする）について説明する。
【０５９９】
連続操作演出は、ゲーム開始に伴う内部当選コマンドの受信時に実行する演出パターン選択処理において該当する演出パターンが選択されたときに実行される。
【０６００】
演出パターン選択処理では、内部当選コマンドから特別役が当選している旨が特定される場合に、特別役が当選していない旨が特定される場合よりも高い比率にて連続操作演出の演出パターンを選択するようになっており、連続操作演出が実行されるだけでも特別役の当選に対する期待感を高めることができる。
【０６０１】
連続操作演出では、まず、ゲームの開始と同時にＭＡＸＢＥＴスイッチ６を５秒以内に１０回操作する旨を指示する指示演出を開始する。そして、指示演出が開始した後、ゲームが終了するまで（全てのリールが停止するまで）の間にＭＡＸＢＥＴスイッチ６が操作されなければ、ゲームの終了時点で指示演出は終了する。この場合には、特別役に当選しているか否かが指示演出に続けて告知されることはない。
【０６０２】
その後、新たなゲームが開始された（内部当選コマンドを受信した）時点で、前回のゲームまでに特別役に当選していたのであれば、特別役の当選が告知される。特別役の当選の告知は、これらの特別役に入賞するまで継続される（以下に示すような他の条件で行われた告知も同じ）。
【０６０３】
前回のゲームまでに特別役に当選していなければ、新たなゲームが開始された時点では前回のゲームでの指示演出に関連した告知は行われない。但し、新たに開始されたゲームで特別役に当選していれば、改めて新たな連続操作演出の指示演出は開始され得る。
【０６０４】
一方、ゲームが終了するまでに遊技者により最初にＭＡＸＢＥＴスイッチ６が操作されると、ＲＡＭ９１ｃに割り当てられた制限時間計時用タイマの計時が開始される。この制限時間計時用タイマの計時する時間が５秒になるまでに、ＭＡＸＢＥＴスイッチ６が１０回（計時を開始させたときの操作を回数に含む）まで操作されず、且つ全てのリールが停止した場合には、ＭＡＸＢＥＴスイッチ６が全く操作されなかった場合と同様にゲームの終了時点で指示演出が終了する。
【０６０５】
この場合も、特別役の当選の有無が指示演出に続けて告知されることはなく、新たなゲームが開始された時点で、前回のゲームまでに特別役に当選していたのであれば、特別役の当選が告知される。前回のゲームまでに特別役に当選していなければ、新たなゲームが開始された時点では前回のゲームでの指示演出に関連した告知は行われない。
【０６０６】
また、ＭＡＸＢＥＴスイッチ６の最初の操作により計時開始されたタイマの計時する時間が５秒になるまでに全てのリールが停止しなかったが、制限時間計時用タイマの計時する時間が５秒になるまでにＭＡＸＢＥＴスイッチ６が１０回まで操作されることもなかった場合には、制限時間計時用タイマの計時する時間が５秒になった時点で指示演出が終了する。この場合には、特別役に当選しているか否かに関わらず、指示演出に続けて、特別役の何れにも当選していないこと（ハズレ）が告知される。このハズレの告知は、全てのリールが停止したことによりゲームが終了すると、終了する。
【０６０７】
その後、新たなゲームが開始された時点で、前回のゲームまでに特別役に当選していたのであれば、特別役の当選が告知される。前回のゲームまでに特別役に当選していなければ、新たなゲームが開始された時点では前回のゲームでの指示演出に関連した告知は行われない。
【０６０８】
また、ＭＡＸＢＥＴスイッチ６の最初の操作により計時開始されたタイマの計時する時間が５秒になるまでに全てのリールが停止することなくＭＡＸＢＥＴスイッチ６が１０回操作された場合には、ＭＡＸＢＥＴスイッチ６の操作回数が１０回になった時点で指示演出が終了する。この場合には、特別役に当選していれば、指示演出に続けて特別役の当選が告知され、何れにも当選していなければ、指示演出に続けてハズレが告知される。
【０６０９】
以下、連続操作演出を具体例に基づいて説明する。図６７（ａ）〜（ｄ）は、遊技の進行と連続操作演出の実行態様との関係を示すタイミングチャートである。
【０６１０】
図６７（ａ）の例では、遊技者によるスタートスイッチ７の操作によりゲーム１が開始されたときに、特別役に当選したものとする。このような状況で連続操作演出を実行する場合には、当該ゲームが開始されたタイミングから指示演出が開始される。
【０６１１】
次に、ゲーム１が終了するまで（すなわち、全てのリールが停止するまで）の任意のタイミングで遊技者がＭＡＸＢＥＴスイッチ６を最初に操作すると、制限時間計時用タイマによる計時が開始される。遊技者がＭＡＸＢＥＴスイッチ６の操作を繰り返して行い、全てのリールが停止する前に、また、制限時間計時用タイマにより計時している時間が５秒に到達するよりも前に、ＭＡＸＢＥＴスイッチ６の操作回数が最初の操作を含めて１０回に達したものとする。
【０６１２】
すると、この時点で指示演出が終了し、終了した指示演出に続けてゲーム１のうちに特別役に当選していることが告知されるものとなる。尚、このボーナス当選の告知は、ゲーム２が開始しても、当選した特別役に入賞するまで継続される。
【０６１３】
図６７（ｂ）の例では、遊技者によるスタートスイッチ７の操作によりゲーム１が開始されたときに、いずれの特別役にも当選していないものとする。このような状況で連続操作演出を実行する場合にも、当該ゲームが開始されたタイミングから指示演出が開始される。
【０６１４】
次に、ゲーム１が終了するまで（すなわち、全てのリールが停止するまで）の任意のタイミングで遊技者がＭＡＸＢＥＴスイッチ６を最初に操作すると、制限時間計時用タイマによる計時が開始される。遊技者がＭＡＸＢＥＴスイッチ６の操作を繰り返して行い、全てのリールが停止する前に、また、制限時間計時用タイマにより計時している時間が５秒に到達するよりも前に、ＭＡＸＢＥＴスイッチ６の操作回数が最初の操作を含めて１０回に達したものとする。
【０６１５】
すると、この時点で指示演出が終了し、終了した指示演出に続けてゲーム１のうちに特別役に当選していないことが告知されるものとなる。このハズレ告知は、ゲーム１が終了した時点で終了させられるが、ゲーム１においていずれの特別役にも当選していないので、次のゲーム２が開始されたときに何らの報知も行われない。
【０６１６】
図６７（ｃ）の例では、図６７（ａ）の例と同様に、特別役に当選した場合に連続操作演出を実行するものであるが、制限時間計時用タイマにより計時している時間が５秒に到達するまでに全てのリールが停止することもなかったが、制限時間計時用タイマにより計時している時間が５秒に到達した時点でＭＡＸＢＥＴスイッチ６の操作回数が最初の操作を含めて１０回未満しか行われなかったものとする。
【０６１７】
この場合、制限時間計時用タイマにより計時している時間が５秒に到達した時点で指示演出が終了し、終了した指示演出に続けてゲーム１のうちに特別役に当選していないことが告知される。このハズレ告知は、ゲーム１が終了した時点で終了させられるが、ゲーム１において特別役に当選しているので、次のゲーム２が開始された時点で特別役に当選していることが告知されるものとなる。尚、この特別役の当選の告知は、ゲーム２が開始しても、当選した特別役に入賞するまで継続される。
【０６１８】
図６７（ｄ）の例では、図６７（ｂ）の例と同様に、特別役に当選していない場合に連続操作演出を実行するものであるが、制限時間計時用タイマにより計時している時間が５秒に到達するまでに全てのリールが停止することもなかったが、制限時間計時用タイマにより計時している時間が５秒に到達した時点でＭＡＸＢＥＴスイッチ６の操作回数が最初の操作を含めて１０回未満しか行われなかったものとする。
【０６１９】
この場合、制限時間計時用タイマにより計時している時間が５秒に到達した時点で指示演出が終了し、終了した指示演出に続けてゲーム１のうちに特別役に当選していないことが告知される。このハズレ告知は、ゲーム１が終了した時点で終了させられるが、ゲーム１において特別役の何れにも当選していないので、次のゲーム２が開始されたときに何らの報知も行われない。
【０６２０】
このように本実施例では、特別役の当選している可能性を示唆する連続操作演出がゲーム開始同時に開始されるものとなっている。この連続操作演出は、指示演出の後に、特別役に当選しているか否かを告知するものである。
【０６２１】
連続操作演出において特別役に当選しているか否かを告知することに対して、遊技者は、指示演出が行われている間にＭＡＸＢＥＴスイッチ６を操作することによって介入することが可能となっている。この連続操作演出（指示演出）に対して遊技者がＭＡＸＢＥＴスイッチ６を操作して介入し、その最初の操作から５秒以内に合わせて１０回のＭＡＸＢＥＴスイッチ６の操作を行うと、指示演出の終了と同時に特別役の当選の有無が遊技者に告知されるものとなっている。
【０６２２】
ここで、指示演出に続けて特別役の当選の有無が遊技者に告知されることとなる１０回のＭＡＸＢＥＴスイッチ６が操作されたかどうかを判断する計時の起算点は、最初にＭＡＸＢＥＴスイッチ６が操作されたときからとなっている。連続操作演出（指示演出）が開始された後の自由なタイミングで、すなわち自由度の高い介入操作で連続操作演出に遊技者が介入することができるので、連続操作演出に遊技者が介入しやすくなり、結果として遊技の興趣を向上させることができる。
【０６２３】
また、遊技者がＭＡＸＢＥＴスイッチ６を最初に操作して連続操作演出の介入への意思表示を行っても、指示演出に続けてそのまま特別役の当選の有無が遊技者に告知されるようにするには、さらに５秒以内で１０回（最初の操作を除くと９回）もＭＡＸＢＥＴスイッチ６を繰り返して操作しなければならない。このように遊技者が連続操作演出の介入を開始してからも、その介入操作を続けることが必要になるので、演出への介入感が高まり、さらに遊技の興趣を向上させることができる。
【０６２４】
また、連続操作演出が行われたときにおいて当該ゲーム中で指示演出に続けて特別役の当選の有無が告知されるのは、最初のＭＡＸＢＥＴスイッチ６の操作から５秒以内で合計１０回のＭＡＸＢＥＴスイッチ６の操作があったことが条件となっている。もっとも、１０回目のＭＡＸＢＥＴスイッチ６の操作があれば、その時点で、最初のＭＡＸＢＥＴスイッチ６の操作から５秒の経過を待たずに特別役の当選の有無が告知されるものとなる。
【０６２５】
これにより、特別役の当選が指示演出に続けて実行される条件の成立タイミングと、特別役の当選の有無の告知タイミングとがリンクするものとなるので、特別役の当選の有無が告知されたときに、これが遊技者にとって分かり易いものとなる。しかも、遊技者の操作（１０回目のＭＡＸＢＥＴスイッチ６の操作）とリンクしたタイミングで特別役の当選の有無が告知されることとなるので、連続操作演出に対する遊技者の介入感をさらに高めさせることができ、さらに遊技の興趣を向上させることができる。
【０６２６】
また、連続操作演出が行われたときであっても、遊技者がＭＡＸＢＥＴスイッチ６を操作しない限り、何れにしても当該ゲーム中で指示演出に続けて特別役の当選の有無が告知されることはない。一般的な遊技者であれば、特別役に当選しているかどうかをなるべく早く知りたいものであるので、これによってＭＡＸＢＥＴスイッチ６の操作により連続操作演出に介入させることを遊技者に促すことができるものとなる。
【０６２７】
一方、特別役に当選していて連続操作演出が行われたときに遊技者がＭＡＸＢＥＴスイッチ６を全く操作しなかったり、ＭＡＸＢＥＴスイッチ６を１０回操作する前にゲームが終了したり、最初の操作から５秒以内でＭＡＸＢＥＴスイッチ６を１０回操作することができなかったりした場合でも、次のゲームが開始されたときに特別役の当選が遊技者に告知されるものとなる。
【０６２８】
このため、連続操作演出の指示演出が行われている間にＭＡＸＢＥＴスイッチ６を操作しなかったばかりに、或いは操作しても適切な操作ができなかったばかりに、遊技者が知りたいはずの情報（つまり、特別役に当選しているか否かという情報）を遊技者が何時までも知り得ず、遊技者の不利益が大きくなりすぎてしまうことがない。
【０６２９】
ところで、本実施例では、リール２Ｌ、２Ｃ、２Ｌの回転は、遊技者が停止操作することによって停止されるものとなっているが、遊技者が停止操作をしなければいつまでも回転し続けることとなるが、ゲームの開始と同時に指示演出が開始されても、遊技者がＭＡＸＢＥＴスイッチ６を操作しない限り特別役の当選を告知すべきかどうかの判断を行う必要がない。このため、リール２Ｌ、２Ｃ、２Ｌが回転している状態で放置されているときの制御負荷を増大させずに済むものとなる。
【０６３０】
さらに、指示演出が実行されている場合において、ＭＡＸＢＥＴスイッチ６が操作された後にリール２Ｌ、２Ｃ、２Ｒの全部または一部が回転を継続しているまま放置されてしまうという場合も考えられる。もっとも、当該ゲーム中で指示演出に続けて特別役の当選またはハズレの告知を行うかどうかの判断は、最初のＭＡＸＢＥＴスイッチ６の操作から５秒間の間だけ行えば良い。このため、制御負荷が大きくなりすぎることはない。 
【０６３１】
また、連続操作演出では、ＭＡＸＢＥＴスイッチ６の最初の操作から５秒以内にＭＡＸＢＥＴスイッチ６を最初の操作を含めて１０回操作しなければ特別役の当選が告知されないため、サブ制御部９１が操作検出コマンドを取りこぼした場合、それが反映されないと、遊技者がＭＡＸＢＥＴスイッチ６を５秒以内に連続して１０回操作したにも関わらず、特別役の当選が告知されなくなってしまう可能性がある。
【０６３２】
一方、本実施例では、サブ制御部９１が、いずれかの操作スイッチの検出状態が変化したときにメイン制御部４１から送信される操作検出コマンドにより特定される操作スイッチのｏｎ／ｏｆｆの状態に基づいてＭＡＸＢＥＴスイッチ６の検出状態を特定し、上述の連続操作演出を実行するようになっているが、上述のような連続操作演出を行う場合、メイン制御部４１が１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたか否かに関わらず、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒそれぞれのｏｎ／ｏｆｆの状態を特定可能な操作検出コマンドを定期的に送信することが好ましく、このような構成とすることで、サブ制御部９１は、これら操作スイッチのｏｎ／ｏｆｆの状態を定期的に特定できるようになり、操作検出コマンドを取りこぼしても次回送信された操作制御情報から最新の検出状態を取得して告知の条件を満たすか否かが判定されるので、遊技者が告知の条件を満たす操作を行ったにも関わらず、操作検出コマンドの取りこぼしによって特別役の当選が告知されなくなってしまうことを防止できる。
【０６３３】
尚、本実施例では、連続操作演出が行われた場合において、最初のＭＡＸＢＥＴスイッチ６の操作から５秒以内にＭＡＸＢＥＴスイッチ６が合計で１０回操作されていないと、指示演出の終了とともにハズレ告知がされるものとなっていたが、このような場合には何も告知せずに指示演出だけを終了させるものとしても良い。そして、特別役に当選していた場合には、次のゲームでＢＥＴ操作がなされた場合やスタート操作がなされたときに特別役の当選を告知しても良い。
【０６３４】
また、連続操作演出が行われた場合において、最初のＭＡＸＢＥＴスイッチ６の操作から５秒以内に合計で１０回ＭＡＸＢＥＴスイッチ６が操作されたことを条件として、当該ゲーム中に指示演出に続けて特別役の当選の有無が遊技者に告知されるものとなっていたが、この５秒という時間の条件、或いは１０回という操作の条件の何れか一方または両方は、例えば、連続操作演出が実行される度に行われる抽選などにより可変されるものとしても良い。
【０６３５】
例えば、２秒４回、３秒６回という条件から何れかを選ぶものや３秒３回、３秒６回という条件から何れかを選ぶものであっても良い。これらの場合、指示演出に続けて特別役の当選の有無が告知されることとなるタイミングに変化が生じたり、そのために必要な操作の難易度に変化が生じたりするので、連続操作演出への介入に対する面白みをさらに増すことができるものとなる。
【０６３６】
また、連続操作演出は、ゲームの開始時から開始されるものとなっていたが、これ以外の条件及びタイミングで開始されるものとしても良い。例えば、全てのリールが停止したタイミングから連続操作演出を開始させるものとしても良い。
【０６３７】
このようにゲームが終了してから開始される連続操作演出では、指示演出が実行されているときにおいて、ストップスイッチ８Ｌ、８Ｃ、８Ｒがゲームの進行制御に関与しないこととなるので、ストップスイッチ８Ｌ、８Ｃ、８ＲをＭＡＸＢＥＴスイッチ６の代わりに適用することができる。
【０６３８】
また、本実施例では、指示演出が実行されている場合においてゲームの進行制御に関与しないＭＡＸＢＥＴスイッチ６が最初に操作されたことを連続操作演出への介入を開始する意思表示となる操作として制限時間計時用タイマによる計時を開始するものとし、また、そのＭＡＸＢＥＴスイッチ６の操作を介入の意思表示の後に連続操作演出に介入する操作としていた。
【０６３９】
これに対して、制限時間計時用タイマによる計時を開始させる介入の意思表示となる操作の方は、遊技の進行制御に関与する操作であっても良い。例えば、全リール回転中におけるストップスイッチの操作（第１停止操作）はゲームの進行制御に関与するが、制限時間計時用タイマによる計時を開始させる介入の意思表示となる操作として適用することもできる。
【０６４０】
また、本実施例では、最初の操作を含めて５秒以内にＭＡＸＢＥＴスイッチ６が１０回操作されることを、指示演出に続けて連続操作演出が行われたゲームのうちに特別役の当選の有無を告知するかどうかの条件としていたが、指示演出に続けて特別役の当選の有無を告知するかどうかの操作の条件は、これに限るものではなく、例えば、ＭＡＸＢＥＴスイッチ６が所定時間（３秒以下）継続して（断続して）操作されたこととしても良い。また、最初のＭＡＸＢＥＴスイッチ６の操作から３秒を経過するまでの間になされた２回目以降のＭＡＸＢＥＴスイッチ６の操作が所定時間継続したこととしても良い。
【０６４１】
或いは、連続操作演出への介入を開始する意思表示（最初のＭＡＸＢＥＴスイッチ６の操作）の後に連続操作演出に介入する操作を複数の操作手段の操作とする場合には、該複数の操作手段が所定のパターンで操作されたこととしても良い。例えば、連続操作演出への介入を開始する意思表示の後に連続操作演出に介入するための操作手段として１枚ＢＥＴボタン１４とＭＡＸＢＥＴスイッチ６の２つを適用し、これらが交互に２０回（各々のボタンの操作が１０回）だけ最初のＭＡＸＢＥＴスイッチ６の操作から５秒以内に行われたときに、指示演出に続けて特別役の当選の有無を告知するものとしても良い。
【０６４２】
また、本実施例では、連続操作演出への介入を開始する意思表示となる操作と、その意思表示の後に連続操作演出に介入する操作とは、何れもＭＡＸＢＥＴスイッチ６の操作としていたが、両者の操作は、異なる操作手段の操作であっても良い。例えば、１枚ＢＥＴボタン１４の操作を連続操作演出への介入を開始する意思表示となる操作として計時を開始するが、ＭＡＸＢＥＴスイッチ６の操作をその意思表示の後に連続操作演出に介入する操作として、計時開始から所定時間以内にＭＡＸＢＥＴスイッチ６が所定回数操作されたかどうかを判定するものとしても良い。
【０６４３】
また、本実施例では、特別役に当選して連続操作演出が行われた場合において、ＭＡＸＢＥＴスイッチ６を操作したものの５秒以内に１０回の操作ができなくて指示演出に続けてハズレが告知された場合、若しくは、ＭＡＸＢＥＴスイッチ６が操作されないまま、或いはＭＡＸＢＥＴスイッチ６の操作から５秒経過または１０回の操作がある前にゲームが終了して指示演出だけが終了させられた場合、次のゲームの開始時点（すなわち、スタート操作時点）において、特別役の当選が告知されるものとなっていたが、このような場合における特別役の当選の告知のタイミングは、これに限るものではなく、例えば、次のゲームの終了時（第３停止ボタンが操作されたとき）、第１停止時、第２停止時としても良い。さらには、次のゲームを開始するための賭数の設定操作が行われたときとしても良い。 
【０６４４】
また、本実施例では、連続操作演出によって特別役に当選したか否かが告知されるようになっているが、遊技者の介入操作によって遊技者にとって有利な情報を報知する演出であれば良く、例えば、遊技者の介入操作によって遊技者にとって有利な操作手順を報知する報知状態に当選したか否かを報知するものや、遊技者の介入操作によって設定値を推測させる情報を報知するものとしても良い。
【０６４５】
次に、前述した操作演出のうち台情報閲覧演出について説明する。
【０６４６】
サブ制御部９１のＲＡＭ９１ｃには、既に行われた遊技に関する遊技履歴データを記憶可能な遊技履歴データ記憶領域が割り当てられているとともに、これら遊技履歴データは、メイン制御部４１から送信されたコマンドに基づいて逐次最新のデータに更新されるようになっている。一方、サブ制御部９１のＲＯＭ９１ｂには、当該スロットマシン１にて実施される演出を紹介する演出紹介データが記憶されている。
【０６４７】
そして、遊技者は、前述のようにゲーム終了後（設定変更後）からゲーム開始までの制御状態において、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち中、右のストップスイッチ８Ｃ、８Ｒを同時に操作することにより、閲覧メニュー画面を表示させて、さらにストップスイッチ８Ｌ、８Ｃ、８Ｒを操作してメニューを選択することにより、ＲＡＭ９１ｃの遊技履歴データ記憶領域に記憶されている遊技履歴データ（後述する設定変更の履歴を除く）に基づく遊技履歴情報やＲＯＭ９１ｂに記憶されている演出紹介データを閲覧することが可能とされている。
【０６４８】
遊技履歴データ記憶領域は、ボーナス間ゲーム数カウンタ、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、ＲＢカウンタ、ＢＢカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブル、日付別履歴テーブル、設定値変更テーブルから構成される。
【０６４９】
ボーナス間ゲーム数カウンタは、前回のボーナス終了時からのゲーム数を計数するカウンタであり、ボーナス中以外の状態で遊技状態コマンドを受信する毎に１加算され、ＢＢやＲＢから通常遊技状態への移行を示す遊技状態コマンドを受信した際にクリアされる。
【０６５０】
ボーナス間ゲーム数テーブルは、ボーナス間ゲーム数を各ボーナス毎に当該ボーナスの種類（ＢＢ、ＲＢ）とともに格納するテーブルであり、通常遊技状態からＢＢまたはＲＢへの移行を示す遊技状態コマンドを受信した際に、ボーナスの種類を格納するとともに、ボーナス間ゲーム数カウンタの値を取得してボーナス間ゲーム数として格納する。
【０６５１】
総ゲーム数カウンタは、本日の総ゲーム数を計数するカウンタであり、ボーナス中以外の状態で遊技状態コマンドを受信する毎に１加算される。
【０６５２】
ＲＢカウンタは、本日のＲＢ回数を計数するカウンタであり、通常遊技状態からＲＢへの移行を示す遊技状態コマンドを受信した際に１加算される。
【０６５３】
ＢＢカウンタは、本日のＢＢ回数を計数するカウンタであり、通常遊技状態からＢＢへの移行を示す遊技状態コマンドを受信した際に１加算される。
【０６５４】
投入枚数カウンタは、ゲームに使用されたパチンコ球数、すなわち賭数の設定に用いるために取り込まれた球数を計数するカウンタであり、内部当選コマンドを受信した際に、現在の遊技状態に応じてゲームの開始に必要なメダル数が加算される。
【０６５５】
払出枚数カウンタは、小役入賞時に払い出されたメダル数を計数するカウンタであり、小役の入賞を示す入賞判定コマンドを受信した際に、当該コマンドにより特定される払出枚数が加算される。
【０６５６】
時間別差枚数テーブルは、所定間隔毎の差枚数（払出枚数カウンタの値−投入枚数カウンタの値）を格納するテーブルであり、所定間隔毎（例えば５分毎）に、払出枚数カウンタの値と投入枚数カウンタの値を取得し、差枚数を算出して格納する。
【０６５７】
日付別履歴テーブルは、過去３日分のボーナス間ゲーム数テーブル、総ゲーム数カウンタ、ＲＢカウンタ、ＢＢカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルの各データを格納するテーブルである。サブ制御部９１は、起動処理（サブ）において、時計装置９７から日付情報を取得し、取得した日付情報をＲＡＭ９１ｃの日付記憶領域に記憶する。そして、起動処理において新たに取得した日付情報がＲＡＭ９１ｃの日付記憶領域記憶されていた日付情報と一致するか否かを判定し、一致していない、すなわち日付が更新されたと判定したときには、その時点で２日前の領域に格納されているデータを３日前の領域に格納し、１日前の領域に格納されているデータを２日前の領域に格納し、本日の領域に格納されているデータを１日前の領域に格納するとともに、本日のデータが格納される領域に格納されているデータをクリア（初期化）する。つまり、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、ＲＢカウンタ、ＢＢカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルの各データを１日前のデータとして格納する処理が行われる。
【０６５８】
また、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、ＲＢカウンタ、ＢＢカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルの各データを日付別履歴テーブルに格納することに伴って、ボーナス間ゲーム数テーブル、総ゲーム数カウンタ、ＲＢカウンタ、ＢＢカウンタ、投入枚数カウンタ、払出枚数カウンタ、時間別差枚数テーブルはクリアされる。
【０６５９】
設定値変更テーブルは、過去５回分の設定値の変更履歴を格納するテーブルであり、管理者モードが設定されている状態で遊技状態コマンドを受信した際に、時計装置９７から取得した時間情報（日付及び時間）に対応付けて遊技状態コマンドが示す設定値を格納する。尚、この際、最も古い変更履歴はクリアされる。
【０６６０】
ここで、遊技履歴情報や演出紹介データの閲覧状況及びその際のサブ制御部９１の制御状況を図６８に基づいて説明する。
【０６６１】
本実施例では、ゲーム終了後（設定変更後）からゲーム開始までの制御状態において、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち中、右のストップスイッチ８Ｃ、８Ｒが同時に操作されると、液晶表示器５１に図６８（ａ）に示す閲覧メニュー画面を表示させる。
【０６６２】
閲覧メニュー画面には、現在選択されているメニューの説明領域と、「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」「戻る」からなるメニュー領域と、が設けられており、ストップスイッチ８Ｌ、８Ｃの操作に応じてメニュー領域の選択枠を移動させるとともに、この移動に伴って説明領域の表示内容も現在選択されているメニュー領域の説明に更新される。尚、閲覧メニュー画面には、ＲＡＭ９１ｃに設定されている閲覧有効フラグの設定状況に応じたメニュー領域のみが表示されるようになっており、「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」のうち、閲覧有効フラグが設定されていない項目のメニュー領域は表示されないようになっている。閲覧有効フラグは、後述するオプション画面にて閲覧を有効とする設定がなされた項目についてのみ設定されるようになっており、後述するオプション画面にて閲覧を有効とする設定がなされていない項目については、遊技者の操作によって閲覧ができないようになっている。
【０６６３】
閲覧メニュー画面で「ボーナス間情報」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図６８（ｂ）に示すボーナス間情報画面を表示させる。ボーナス間情報画面には、「本日」「１日前」「２日前」「３日前」「戻る」からなるメニュー領域と、ボーナス毎にボーナスの種類及びボーナス間ゲーム数が表示されるボーナス間情報表示領域と、が設けられている。そして、閲覧メニュー画面からボーナス間情報画面を表示させる際には、本日のボーナス間ゲーム数テーブルに登録されているデータに基づいてボーナス間情報表示領域に、本日のボーナスの種類及びボーナス間ゲーム数がボーナス毎に表示される。また、ボーナス間情報画面において「１日前」「２日前」「３日前」のいずれかが選択された状態で、ストップスイッチ８Ｒを操作すると、日付別履歴データテーブルに格納されているデータに基づいて、選択された日のボーナスの種類及びボーナス間ゲーム数がボーナス毎にボーナス間情報表示領域に表示される。また、ボーナス間情報画面において「戻る」が選択された状態で、ストップスイッチ８Ｒを操作すると、閲覧メニュー画面に戻る。
【０６６４】
閲覧メニュー画面で「演出紹介」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図６８（ｃ）に示す演出紹介画面を表示させる。ボーナス間情報画面には、各演出に対応するメニュー領域と、「戻る」に対応するメニュー領域と、が設けられている。そして、演出紹介画面において各演出に対応するメニュー領域のいずれかが選択された状態で、ストップスイッチ８Ｒを操作すると、ＲＯＭ９１ｂに格納されている演出紹介データから該当するデータが抽出されて表示される。また、演出紹介画面において「戻る」が選択された状態で、ストップスイッチ８Ｒを操作すると、閲覧メニュー画面に戻る。
【０６６５】
閲覧メニュー画面で「ボーナス確率」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図６８（ｄ）に示すボーナス確率画面を表示させる。ボーナス確率画面には、「本日」「１日前」「２日前」「３日前」「戻る」からなるメニュー領域と、ボーナスの種類別に確率が表示されるボーナス確率表示領域と、が設けられている。そして、閲覧メニュー画面からボーナス確率画面を表示させる際には、本日の総ゲーム数カウンタ、ＲＢカウンタ及びＢＢカウンタの値に基づき本日のＢＢの確率及びＲＢの確率が算出されてボーナス確率表示領域に表示される。また、ボーナス確率画面において「１日前」「２日前」「３日前」のいずれかが選択された状態で、決定スイッチ５７を検出すると、日付別履歴データテーブルに格納されているデータに基づき、選択された日のＢＢの確率及びＲＢの確率が算出されてボーナス確率表示領域に表示される。また、ボーナス確率画面において「戻る」が選択された状態で、ストップスイッチ８Ｒを操作すると、閲覧メニュー画面に戻る。
【０６６６】
閲覧メニュー画面で「スランプグラフ」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図６８（ｅ）に示すスランプグラフ画面を表示させる。スランプグラフ画面には、「本日」「１日前」「２日前」「３日前」「戻る」からなるメニュー領域と、時系列的に差球の状況を示すスランプグラフが表示されるグラフ表示領域と、が設けられている。そして、閲覧メニュー画面からスランプグラフ画面を表示させる際には、本日の時間別差枚数テーブルに基づき本日のスランプグラフが生成されてグラフ表示領域に表示される。また、スランプグラフ画面において「１日前」「２日前」「３日前」のいずれかが選択された状態で、ストップスイッチ８Ｒを操作すると、日付別履歴データテーブルに格納されているデータに基づき、選択された日のスランプグラフが生成されてグラフ表示領域に表示される。また、スランプグラフ画面において「戻る」が選択された状態で、ストップスイッチ８Ｒを操作すると、閲覧メニュー画面に戻る。
【０６６７】
以上のように、遊技者はゲーム終了後（設定変更後）からゲーム開始までの制御状態において、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち中、右のストップスイッチ８Ｃ、８Ｒが同時に操作することにより、閲覧メニュー画面を表示させ、さらにストップスイッチ８Ｌ、８Ｃ、８Ｒの操作を行うことにより、ＲＡＭ９１ｃの遊技履歴データ記憶領域に記憶されている遊技履歴データ（後述する設定変更の履歴を除く）に基づく遊技履歴情報やＲＯＭ９１ｂに記憶されている演出紹介データを閲覧することが可能となる。
【０６６８】
本実施例においてメイン制御部４１は、図６９に示すように、設定キースイッチ３７がｏｎの状態で起動すると、設定開始を示す設定コマンドをサブ制御部９１に送信し、設定変更状態の開始を通知するとともに、設定値を変更可能な設定変更状態に移行することとなる。設定変更状態では、スタートスイッチ７が操作されるまでは、任意に設定値を選択することが可能となるが、スタートスイッチ７が操作されると、その時点で選択されている設定値が確定し、以後設定値を変更できない設定確定状態となり、この状態で設定キースイッチ３７がｏｆｆの状態とすることで設定変更状態は終了し、サブ制御部９１に対して設定終了を示す設定コマンドを送信して設定変更状態の終了を通知する。
【０６６９】
一方、サブ制御部９１は、設定開始を示す設定コマンドにより設定変更状態の開始が通知されることで、前述した遊技履歴データをクリアしたり、遊技者により閲覧可能な遊技履歴データの設定、設定変更履歴の閲覧を行うこと、すなわち遊技店が管理するサブ制御部９１側の管理情報にアクセス可能な管理者モードに制御する。そしてこの管理者モードは、設定終了を示す設定コマンドにより設定変更状態の終了が通知されることで終了することとなる。
【０６７０】
尚、設定変更状態において設定値が確定してもメイン制御部４１からサブ制御部９１に対して何らの通知もされず、サブ制御部９１は、メイン制御部４１側で設定値が確定した後も、設定終了を示す設定コマンドによって設定変更状態の終了が通知されるまでは、継続して管理者モードに制御されるようになっており、設定変更状態において設定値が確定した後も、電源を再投入して設定値の確定前の状態にわざわざ戻すことなく、管理情報へのアクセスが可能となる。
【０６７１】
また、メイン制御部４１は、図７０に示すように、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７がｏｎの状態となると、確認開始を示す設定確認コマンドをサブ制御部９１に送信し、設定確認状態の開始を通知するとともに、設定値を確認可能な設定確認状態に移行することとなる。設定確認状態は、設定キースイッチ３７がｏｆｆの状態とすることで設定確認状態は終了し、サブ制御部９１に対して確認終了を示す設定確認コマンドを送信して設定確認状態の終了を通知する。
【０６７２】
そして、サブ制御部９１は、確認開始を示す設定確認コマンドにより設定確認状態の開始が通知された場合にも、設定開始を示す設定コマンドを受信した場合と同様に、遊技店が管理するサブ制御部９１側の管理情報にアクセス可能な管理者モードに制御する。そしてこの管理者モードは、確認終了を示す設定確認コマンドにより設定確認状態の終了が通知されることで終了することとなる。
【０６７３】
設定キースイッチ３７は、キーを挿入し、回転させることでｏｎ／ｏｆｆを変更することが可能なスイッチであるが、通常キーは、店員が所持するものであり、遊技者が任意に設定キースイッチ３７を操作することはできない。すなわち遊技者が任意に操作することのできない設定キースイッチ３７を操作した場合のみ遊技店が管理するサブ制御部９１側の管理情報にアクセス可能な管理者モードに制御されることとなる。
【０６７４】
このように本実施例では、メイン制御部４１が設定変更状態に制御された場合だけでなく、設定確認状態に制御された場合にも管理者モードに制御されるようになっており、設定変更状態に移行させることなく、管理情報へのアクセスが可能となっている。特に、本実施例のように電源を再投入しないと設定変更状態に移行しない場合でも、管理情報へアクセスするだけのために電源を落とす必要がなくなる。さらに、本実施例のように、設定変更状態への移行に伴ってＲＡＭ４１ｃが初期化されてしまう場合でも、ＲＡＭ４１ｃの格納データを維持したままで管理情報へのアクセスが可能となる。
【０６７５】
尚、本実施例では、メイン制御部４１から設定開始を示す設定コマンドまたは確認開始を示す設定確認コマンドを受信した場合に、そのまま管理者モードに制御されるようになっているが、設定開始を示す設定コマンドまたは確認開始を示す設定確認コマンドを受信した後、例えば、ＭＡＸＢＥＴスイッチ６を一定時間以上操作するなど、一定の操作がなされた場合にのみ管理者モードに制御する構成としても良く、このようにすることで設定変更または設定確認が目的で管理情報にアクセスする必要がないにも関わらず、管理者モードに制御されてしまうことを防止できる。
【０６７６】
また、メイン制御部４１は、設定変更状態に移行する前に割込を許可するようになっており、設定変更状態に制御されている間もいずれかの操作スイッチの検出状態が変化したときに操作検出コマンドを送信するため、サブ制御部９１は、設定変更状態に制御されている間も、設定値の変更制御に関与しない操作スイッチの検出状態を逐次特定できるようになっている。
【０６７７】
また、設定確認状態においても割込は許可されており、設定変更状態と同様に設定確認状態に制御されている間もいずれかの操作スイッチの検出状態が変化したときに操作検出コマンドを送信するため、サブ制御部９１は、設定確認状態に制御されている間も、設定値の確認制御に関与しない操作スイッチの検出状態を逐次特定できるようになっている。
【０６７８】
また、前述のようにサブ制御部９１は、メイン制御部４１が設定変更状態または設定確認状態に制御されている期間において管理情報にアクセス可能な管理者モードに制御することとなるので、その間に送信された操作検出コマンドから特定される操作スイッチの操作を利用して管理者モード期間中の操作を行うことが可能とされており、演出制御基板９０側に管理情報にアクセスするための操作手段を別途備えることなく、本来であれば、遊技制御基板４０側でゲームの進行制御に用いられる操作スイッチを活用して管理情報へのアクセス操作を行うことができる。
【０６７９】
次に、サブ制御部９１側の管理情報にアクセスする際の操作状況及びその際のサブ制御部９１の制御状況を図７１に基づいて説明する。
【０６８０】
まず、サブ制御部９１は、設定開始コマンドまたは確認開始コマンドを受信したときに管理者モードに制御する。これに伴い、図７１に示す管理者モード画面が液晶表示器５１に表示されるようになっており、この管理者モード画面において、遊技履歴データのクリアや遊技者により閲覧可能な遊技履歴データの設定、設定変更履歴の閲覧を行うことが可能とされている。
【０６８１】
また、管理者モードでは、遊技状態コマンドまたは確認終了コマンドを受信したときに、終了するとともに、管理者モード画面に表示された所定のメニュー領域（後述する「戻る」のメニュー領域）をストップスイッチ８Ｌ、８Ｃにより選択した状態でストップスイッチ８Ｒを操作した場合にも終了するようになっている。尚、この場合には、設定変更中または設定確認中である旨が引き続き報知されることとなる。
【０６８２】
管理者モード画面には、現在選択されているメニューの説明領域と、「履歴データクリア」「オプション」「設定変更履歴」「戻る」からなるメニュー領域と、が設けられており、ストップスイッチ８Ｌ、８Ｃの操作に応じて、メニュー領域の選択枠を移動させるとともに、この移動に伴って説明領域の表示内容も現在選択されているメニュー領域の説明に更新される。
【０６８３】
図７１（ａ）に示すように、管理者モード画面で「履歴データクリア」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図７２（ａ）に示す履歴データクリア画面を表示させる。履歴データクリア画面には、現在選択されているメニューの説明領域と、「はい」「いいえ」からなるメニュー領域と、が設けられている。そして、履歴データクリア画面において「はい」が選択された状態で、ストップスイッチ８Ｒを操作すると、ＲＡＭ９１ｃの遊技履歴データ記憶領域に記憶されている遊技履歴データのうち、設定変更履歴を除く全てのデータがクリアされた後、図７２（ｂ）に示すように履歴データのクリアが完了した旨を示すメッセージが表示され、管理者モード画面に戻る。尚、履歴データクリア画面において「いいえ」が選択された状態で、決ストップスイッチ８Ｒを操作すると、遊技履歴データはクリアされずに管理者モード画面に戻る。
【０６８４】
図７１（ｂ）に示すように、管理者モード画面で「オプション」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図７３（ａ）に示すオプション画面を表示させる。オプション画面には、「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」「戻る」からなるメニュー領域が設けられている。そして、オプション画面において「ボーナス間情報」「演出紹介」「ボーナス履歴」「スランプグラフ」のいずれかが選択された状態で、ストップスイッチ８Ｒを操作すると、対応する閲覧可能設定欄の表示が切り替わる。具体的には、閲覧を有効とする旨を示す「ｏｎ」が表示されている状態では閲覧を有効としない旨を示す「ｏｆｆ」に切り替わり、「ｏｆｆ」が表示されている状態では「ｏｎ」に切り替わる。そして、オプション画面において「戻る」が選択された状態で、ストップスイッチ８Ｒを操作すると、閲覧可能設定欄に「ｏｎ」が表示されている項目の閲覧有効フラグを設定する一方、「ｏｆｆ」が表示されている項目の閲覧有効フラグをクリアした後、管理者モード画面に戻る。
【０６８５】
図７１（ｃ）に示すように、管理者モード画面で「設定変更履歴」のメニュー領域が選択された状態で、ストップスイッチ８Ｒを操作すると、図７３（ｂ）に示す設定変更履歴画面を表示させる。設定変更履歴画面には、過去５回分の設定変更履歴、すなわちＲＡＭ９１ｃに格納されている設定変更履歴が表示される設定変更履歴表示領域と、「戻る」に対応するメニュー領域と、が設けられている。そして、設定変更履歴画面において「戻る」が選択された状態で、ストップスイッチ８Ｒを操作すると、管理者モード画面に戻る。
【０６８６】
図７１（ｄ）に示すように、管理者モード画面で「戻る」のメニュー領域が選択された状態でストップスイッチ８Ｒを操作すると、管理者用モードを終了して、設定変更中または設定確認中の報知画面が表示される。
【０６８７】
以上のように、メイン制御部４１が設定変更状態または設定確認状態に制御される場合に、管理者モード画面が表示され、当該画面においてストップスイッチ８Ｌ、８Ｃ、８Ｒを操作することにより、遊技履歴データのクリア、遊技者により閲覧可能な遊技履歴データの設定、設定変更履歴の閲覧を行うことが可能となる。
【０６８８】
尚、本実施例では、遊技履歴データをクリアしても設定変更履歴のデータはクリアされないようになっているので、例えば、不正に設定変更がなされた場合でも、その証拠を確実に残しておくことができるが、遊技履歴データのクリアとともに設定変更履歴データについてもクリアされるようにしても良いし、遊技履歴データと、設定変更履歴データと、を別個の操作によりクリアできるようにしても良い。
【０６８９】
また、本実施例では、管理情報の一例としての設定変更履歴が記憶され、遊技店設定用モードにおいて該設定変更履歴を確認できるようになっているが、例えばスロットマシン１の前面扉の開放履歴（前面扉の開放に基づく開放時刻や開放回数情報）やエラーの発生履歴（エラーの発生時刻や発生したエラーの種類、エラーの発生回数）等を記憶し、管理者モードにおいてこれら前面扉の開放履歴やエラーの発生履歴を確認できるようにしても良い。
【０６９０】
本実施例のスロットマシン１における役としては、図７４に示すように、特別役としてビッグボーナス（以下ではビッグボーナスをＢＢとする）、レギュラーボーナス（以下ではレギュラーボーナスをＲＢとする）が、小役として１枚、スイカ、チェリー、ベルが、再遊技役としてリプレイが定められている。
【０６９１】
チェリーは、いずれの遊技状態においても右リールについて入賞ラインのいずれかに「白チェリー」の図柄が導出されたときに入賞となり、いずれの遊技状態においても１枚のメダルが払い出される。尚、「白チェリー」の図柄が右リールの上段または下段に停止した場合には、入賞ラインＬ２、Ｌ５または入賞ラインＬ３、Ｌ４の２本の入賞ラインにチェリーの組合せが揃うこととなり、２本の入賞ライン上でチェリーに入賞したこととなるので、２枚のメダルが払い出されることとなる。
【０６９２】
スイカは、いずれの遊技状態においても入賞ラインのいずれかに「スイカ−スイカ−スイカ」の組合せまたは「スイカ−スイカ−ＢＡＲ」の組合せが揃ったときに入賞となり、ＲＢ（ＢＢ）では１５枚のメダルが払い出され、通常遊技状態では１２枚のメダルが払い出される。ベルは、いずれの遊技状態においても入賞ラインのいずれかに「ベル−ベル−ベル」の組合せが揃ったときに入賞となり、ＲＢ（ＢＢ）では１５枚のメダルが払い出され、通常遊技状態では１０枚のメダルが払い出される。
【０６９３】
リプレイは、通常遊技状態において入賞ラインのいずれかに「リプレイ−リプレイ−リプレイ」の組合せ、「ＢＡＲ−リプレイ−リプレイ」の組合せ、または「黒７−リプレイ−リプレイ」の組合せのうちいずれかの組合せが揃ったときに入賞となる。リプレイが入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数に対応した３枚のメダルが払い出されるのと実質的には同じこととなる。
【０６９４】
ＲＢは、通常遊技状態において入賞ラインのいずれかに「網７−網７−黒７」の組合せが揃ったときに入賞となり、遊技状態がＲＢに移行する。ＲＢは、小役、特にベルの当選確率が高まることによって他の遊技状態よりも遊技者にとって有利となる遊技状態であり、ＲＢが開始した後、１２ゲームを消化したとき、または８ゲーム入賞（役の種類は、いずれでも可）したとき、のいずれか早いほうで終了する。
【０６９５】
ＢＢは、通常遊技状態において入賞ラインのいずれかに「黒７−黒７−黒７」の組合せ、「網７−網７−網７」の組合せまたは「白７−白７−白７」の組合せが揃ったときに入賞となる。
【０６９６】
ＢＢが入賞すると、遊技状態がＢＢに移行するとともに同時にＲＢに移行し、ＲＢが終了した際に、ＢＢが終了していなければ、再度ＲＢに移行し、ＢＢが終了するまで繰り返しＲＢに制御される。すなわちＢＢ中は、常にＲＢに制御されることとなる。そして、ＢＢは、当該ＢＢ中において遊技者に払い出したメダルの総数が４６５枚を超えたときに終了する。ＢＢの終了時には、ＲＢの終了条件が成立しているか否かに関わらずＲＢも終了する。
【０６９７】
本実施例では、図７５に示すように、遊技状態が、通常遊技状態であるか、ＲＢ（ＢＢ）であるか、によって内部抽選の対象となる役が異なる。さらに遊技状態が通常遊技状態であれば、特別役の持越中であるか否かによっても内部抽選の対象となる役が異なる。
【０６９８】
遊技状態が通常遊技状態であり、いずれの特別役も持ち越されていない状態では、ＢＢ、ＢＢ＋スイカ、ＢＢ＋チェリー、ＲＢ、ＲＢ＋スイカ、ＲＢ＋チェリー、リプレイ、スイカ、チェリー、ベルが内部抽選の対象役となる。遊技状態が通常遊技状態であり、いずれかの特別役が持ち越されている状態では、リプレイ、スイカ、チェリー、ベルが内部抽選の対象役となる。遊技状態がＲＢでは、スイカ、チェリー、ベルが内部抽選の対象役となる。
【０６９９】
このように本実施例では、通常遊技状態において特別役と小役とが同時に当選しうる構成であるが、前述のように特別役と小役が同時に当選した場合には、特別役よりも小役を揃える制御が優先されるようになっており、特別役を揃えることが困難となる。
【０７００】
次に、フリーズ状態について説明する。本実施例では、フリーズ条件が成立すると所定タイミングでスロットマシン１がフリーズ状態に制御されるとともに、フリーズ期間においてフリーズ演出が実行される。
【０７０１】
フリーズ状態とは、ゲームが進行しない状態をいう。特には、本来、ゲームが進行すべきところで敢えてゲーム進行を保留させることにより、遊技者に対して何らかの情報を遊技者に対して示唆する演出の一態様である。それゆえ、フリーズ状態は、いわゆるウェイトタイムとは別の概念である。
【０７０２】
尚、ウェイトタイムとは、ゲームがあまりに早く進行し過ぎてしまうことを規制するために設定された、ゲーム進行規制期間である。本実施例では、このウェイトタイム中にスタート操作が検出されると、ウェイトタイムが経過した後に、リールが始動するように設計されている。したがって、十分な時間間隔を空けて複数のゲームを順次行なっている場合にはスタートスイッチ７の操作時にゲームの進行が規制されることはないが、遊技者が複数のゲームを短時間で消化しているような場合にはウェイトタイムによってゲームの進行が規制され、ウェイトタイムが経過するまでの間、リールの始動待ち状態となる。フリーズ状態は、このようなウェイトタイムが経過していても発生し得る。
【０７０３】
例えば、本実施例では、ウェイトタイムが経過した後にスタートスイッチ７の操作による有効なスタート操作を検出してもフリーズ期間が経過するまでの間、リールを回転開始させないことによってフリーズ状態を実現している。尚、ウェイトタイム中にスタート操作が検出されたときには、ウェイトタイムが経過した後にフリーズ状態を発生させても良く、あるいは、フリーズ期間でウェイトタイムを吸収するようにしても良い。また、前者のようにした場合、ウェイトタイムとフリーズ状態との違いを明確に遊技者に伝えるために、表示画面等にウェイトタイム中であることを表示するなどして、ウェイトタイムを報知しても良い。
【０７０４】
本実施例のフリーズ条件は、特別役とスイカの同時当選、特別役とチェリーの同時当選、スイカの単独当選のいずれかの当選状況で、かつ、フリーズ抽選に当選することで成立する。
【０７０５】
すなわち、本実施例では、スイカまたはチェリーが当選することを条件として、フリーズ状態が発生する。以下、“フリーズを発生させる特定の役”という意義において、スイカ（１）及びチェリーを“特定役”とも称する。スイカ（１）及びチェリーはともに特別役との同時当選の可能性がある役である。それゆえに、上記フリーズ条件に従いフリーズ状態を発生させると、遊技者に対して特別役当選の期待感を与えることが可能となる。
【０７０６】
フリーズ状態の発生タイミングは、フリーズ条件が成立したゲームの開始時またはフリーズ条件が成立したゲームの次回のゲームの開始時である。すなわち、メイン制御部４１は、フリーズ状態の実行有と判定する際、今回のゲームでフリーズを実行するか、あるいは次回のゲームでフリーズを実行するかを併せて決定する。以下、メイン制御部４１が今回のゲームで実行すると決定されたフリーズ状態を今回フリーズと称し、次回のゲームで実行すると決定されたフリーズ状態を次回フリーズまたは持ち越しフリーズと称する。
【０７０７】
次に、図７６を用いて、フリーズ抽選の当選確率について説明する。フリーズ抽選の当選確率は、特別役の当選の有無及び特定役の種類によって異なる。
【０７０８】
本実施例では、図７６（ａ）及び（ｂ）−（１）に示すように、特定役がスイカであるか、チェリーであるか、に関わらず、今回フリーズ及び次回フリーズを含め特別役と同時当選している場合の方が、特定役が単独当選している場合よりも当選確率が高い。このため、フリーズ状態の発生時は、特定役の種類に関わらず、また、今回フリーズであるか、次回フリーズであるか、に関わらず、特別役の当選に対する期待感を高めることができる。
【０７０９】
また、フリーズ状態が発生せずに、特定役が入賞した場合でも、次ゲームにおいてフリーズ状態が発生する可能性が残ることから、フリーズ状態が発生せずに、特定役が入賞した場合でも、次ゲーム以降、特別役の当選に対する期待感を持続させることができる。
【０７１０】
また、図７６（ａ）及び（ｂ）−（２）、（ｂ）−（３）に示すように、特別役との同時当選か単独当選かに関わらずスイカが当選してフリーズに当選する確率に占める特別役との同時当選時に今回フリーズに当選する確率の比率（Ａ／Ａ＋Ｅ）が、特別役との同時当選か単独当選かに関わらずスイカが当選して次回フリーズに当選する確率に占める特別役との同時当選時に次回フリーズに当選する確率の比率（Ｂ／Ｂ＋Ｆ）よりも高く定められており、特別役との同時当選か単独当選かに関わらずチェリーが当選してフリーズに当選する確率に占める特別役との同時当選時に次回フリーズに当選する確率の比率（Ｄ／Ｄ＋Ｈ）が、特別役との同時当選か単独当選かに関わらずチェリーが当選して今回フリーズに当選する確率に占める特別役との同時当選時に今回フリーズに当選する確率の比率（Ｃ／Ｃ＋Ｇ）よりも高く定められている。
【０７１１】
このため、本実施例では、フリーズ状態が発生したときには特別役当選を期待できるだけでなく、特別役が当選していることを期待できる期待度を今回フリーズ時と次回フリーズ時とで異ならせていることによって、遊技者に対して単にフリーズ状態が発生することに期待を抱かせるのみならず、今回フリーズであるか次回フリーズであるかの違いに応じて異なる度合いの期待を抱かせることができる。
【０７１２】
すなわち、フリーズ状態は、当選結果にスイカまたはチェリーが含まれる場合に実行され、その実行タイミングはそのような当選結果が得られたゲームまたは次回のゲームとされている。このため、前回のゲームの結果がスイカまたはチェリーの入賞でなかった場合に、遊技者は今回発生したフリーズ状態が前回ゲームからの持越しフリーズでなく、今回のゲームでスイカ、チェリーのいずれかが当選している可能性が高いと判別できる。さらに、スイカ、チェリーのいずれかが当選していることから、併せて特別役が当選している可能性がある。
【０７１３】
それゆえ、このような場合には、遊技者に対して、特別役が同時当選していることの期待を抱かせることができる。ただし、遊技者は、スイカ、チェリーのいずれが当選しているのかということまでは判別できない。
【０７１４】
また、本実施例では、スイカ当選時のうち特別役と同時に当選している場合には、今回フリーズの比率が高く、チェリー当選時のうち特別役と同時に当選している場合には、次回フリーズの比率が高い。
【０７１５】
このため、フリーズ状態が発生したときに、前回のゲームの結果を遊技者が覚えておくことによって、フリーズ状態が今回のゲームの当選結果に基づくものであるとき（前回のゲームでチェリーもスイカも入賞していない場合）には、フリーズ状態を発生させた役がチェリーであるよりもスイカであることを期待しながらゲームに興じる面白さをも遊技者に提供することができる。
【０７１６】
逆に、フリーズ状態の発生を伴わずに前回のゲームの結果がチェリーであった場合には、今回のゲームでフリーズ状態が発生することを期待しながらゲームに興じる面白さをも遊技者に提供することができる。
【０７１７】
次に、図７７を参照して、フリーズ状態の発生とフリーズ演出、及びフリーズ演出後のステップアップ演出（特別演出）について説明する。図７７は、これらを説明するためのタイミングチャートである。尚、図７７の「演出制御」欄に示される「（ａ）、（ｂ１）、（ｂ２）、（ｃ）、（ｄ）、（ｅ１）、（ｅ２）、（ｅ３）」は、図８０を用いて後述するフリーズ演出及びステップアップ演出の画面例に対応する符号である。
【０７１８】
フリーズ状態に制御される場合には、図７７に示すように有効なスタート操作が検出された段階で遊技制御基板４０のメイン制御部４１から演出制御基板９０のサブ制御部９１に対して内部当選コマンド及びフリーズコマンドが送信される。
【０７１９】
サブ制御部９１は、これらコマンドに基づいてフリーズ期間においてフリーズ演出を実行する。一方、メイン制御部４１は、図示のとおり、フリーズ期間が経過するまでリールの回転を開始させない。
【０７２０】
メイン制御部４１は、フリーズ期間が経過したときに全リール２Ｌ、２Ｃ、２Ｒを回転開始させるとともに、リール回転開始コマンドをサブ制御部９１に送信する。サブ制御部９１はこのコマンドに基づいて、第１ステップ演出を実行する。尚、第１ステップ演出は、それまで行なわれていたフリーズ演出に関連する演出である。“関連する”とは、例えば、演出が特定のストーリを進行させるものである場合には、第１ステップ演出は、フリーズ演出のストーリの続きである。
【０７２１】
次に、１つ目のリールを停止させる第１停止操作が検出されると、メイン制御部４１は、対応するリールを停止させる制御をするとともにサブ制御部９１に対してリール停止コマンドを送信する。サブ制御部９１は、このコマンドを受信し、第１ステップ演出から第２ステップ演出へと演出の内容を切り換える。
【０７２２】
同様に、２つ目のリールを停止させる第２停止操作、３つ目のリールを停止させる第３停止操作がそれぞれ検出されたことに応じて、メイン制御部４１は、対応するリールを停止させる制御をするとともにサブ制御部９１に対してリール停止コマンドを送信する。サブ制御部９１は、これらのコマンドを受信し、第２ステップ演出から第３ステップ演出へ、さらに第３ステップ演出から最終ステップ演出へと演出の内容を切り換える。
【０７２３】
このように、本実施例では、ステップアップ演出に先立ってその内容に関連したフリーズ演出が実行されるため、まず、演出の前段としてフリーズ演出を実行した上で、続くステップアップ演出の内容へと遊技者をスムーズに導くことができる。
【０７２４】
尚、ここでは、フリーズ演出を前段演出として実行される特別演出の一例としてステップアップ演出を挙げたが、ステップアップしていかないような演出であっても良い。
【０７２５】
また、フリーズ状態は、いずれの操作スイッチもゲームの進行に関与しない状態であるが、この間に行われるフリーズ演出中において、特定の操作スイッチの操作を行うことにより、演出の内容が変化する構成であることが好ましく、このような構成とすることで、フリーズ状態において、ゲームを進行させることができないことによる遊技者の退屈を紛らわすことができる。特に、操作をすればフリーズ演出の内容が変更されるため、フリーズ状態において遊技者に対して趣向性の高い演出を提供できる。さらに、ゲームを進行させることができない状態であるので、遊技者がこのときに誤操作をしたとしても、それによってゲームが遊技者の意図しない方向に進行してしまうこともない。
【０７２６】
次に、図７８及び図７９に示すタイミングチャートを用いてフリーズ状態の制御を説明する。本実施例では、“特定役”の一例となるスイカまたはチェリーが当選することを条件として、フリーズ状態を発生させることが決定される。
【０７２７】
例えば、図７８（Ａ）に示すように、あるゲームにおいて特定役が当選（「スタート操作」の欄参照）することに基づいて今回フリーズとすることが決定されると、今回フリーズフラグが設定（図では今回フリーズフラグがＯＮ）されてその決定がされた今回ゲームにおいてフリーズ状態に制御される。
【０７２８】
一方、図７８（Ｂ）に示すように、第１ゲームにおいて次回フリーズとすることが決定されると、次回フリーズフラグが設定される（図では次回フリーズフラグがＯＮ）。この場合には、第１ゲームにおいてフリーズ状態は発生せず、第２ゲームにフリーズが持ち越されて第２ゲームにおいてフリーズ状態が発生する（ただし、第２ゲームにおいて特定役非当選）。図示のとおり、次回フリーズフラグは第１ゲームにおいて設定されてから第２ゲームにおいても設定された状態が保持されている。
【０７２９】
ところが、図７９（Ｃ）に示すように、第１ゲームにおいて次回フリーズフラグが設定されることにより第２ゲームにフリーズが持ち越された場合において、「スタート操作」の欄に示したように第２ゲームの開始時に特定役が当選する場合がある。この場合には、第２ゲームではフリーズ状態を発生させることなく、第１ゲームで設定された次回フリーズフラグが第３ゲームへと持ち越される。そして、第３ゲームで特定役が非当選であることを条件として、当該第３ゲームにおいてフリーズ状態が発生する。
【０７３０】
すなわち、本実施例では、第１ゲームにおいて次回フリーズの実行が決定されたものの、第２ゲームにおいて特定役が当選したときには、当該第２ゲームでフリーズ状態を発生させずに第３ゲームにおいてフリーズ状態を発生させる。
【０７３１】
仮に、特定役が当選した第２ゲームにおいて、第１ゲームでの決定に従ってフリーズ状態を発生させると、フリーズ発生後の第２ゲームの結果として特定役による入賞が発生した場合（優先的に引込むために可能性は高い）には、当該第２ゲームで実行されたフリーズ状態が、第１ゲームで決定された次回フリーズに基づくものであるのか、あるいは第２ゲームで決定された今回フリーズに基づくものであるのか、遊技者は判別不能となる。
【０７３２】
その結果、せっかく、次回フリーズの場合と今回フリーズの場合とで特別役が当選していることを遊技者が期待できる期待度を異ならせることとした意義が失われてしまう。
【０７３３】
これに対して、図７９（Ｃ）を用いて説明したように特定役が当選した第２ゲームでは次回フリーズフラグをさらに次の第３ゲームに持ち越すように制御すれば、第２ゲームにおいてフリーズ状態が発生することなく、第３ゲームにおいてフリーズ状態が発生することになるため、当該フリーズ状態が第１ゲームで決定された次回フリーズに基づくものであることを遊技者が判別可能となる。
【０７３４】
尚、第３ゲームにおいて、さらに特定役が当選したときには、当該第３ゲームにおいてフリーズ状態に制御することなく、第４ゲームにフリーズ状態を持ち越せば良い。そして、当該持ち越されたゲームにおいて特定役が当選しなかったことを条件として、当該ゲームにおいてフリーズ状態を発生させれば良く、もし、当該ゲームでもさらに特定役が当選したときには、さらに次回のゲームにフリーズ状態を持ち越せば良い。
【０７３５】
次に、フリーズ演出及びステップアップ演出の具体例を説明する。図８０は、ステップアップ演出のみが実行される場合及びステップアップ演出が実行されるときにフリーズ状態が発生しフリーズ演出が実行される場合各々における液晶表示器５１表示状態の一例を説明するための図である。図８０においては、ゲームの進行状況を示すために、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒなどを併せて示している。
【０７３６】
まず、ステップアップ演出のみが実行された場合について説明する。図８０（ｂ１）及び（ｂ２）は、各々、スタートスイッチ７が操作されゲームが開始されることにより、ステップアップ演出の第１ステップ演出が開始されたときの表示状態の一例を示す図である。
【０７３７】
図８０（ｂ１）では、第１ステップ演出として、例えば、船に乗ったキャラクタＡを出現させるとともに、花火の玉を想起させる丸い形のアイテム（１尺玉）Ｂが表示されている。
【０７３８】
表示させるアイテムは、ボーナス当選状況に応じて複数種類のうちから決定される。例えば、ボーナス当選しているときの方が、ボーナス当選していないときよりも、高い割合で特定のアイテム（例えば尺が大きな玉）が表示されるように決定される。図８０（ｂ２）では、第１ステップ演出として、図８０（ｂ１）で示すアイテムＡよりも大きなアイテム（３尺玉）Ｃが表示されている場合を示している。このため、例えば、ステップアップ演出中に特定のアイテムとしての図８０（ｂ２）で示すアイテムＣが表示されたときの方が、それ以外の図８０（ｂ１）で示すアイテムＢが表示されたときよりも、ボーナス当選していることに対する期待感を高めることができる。
【０７３９】
尚、スタートスイッチ７が操作されてゲームが開始された後、リール２Ｌ、２Ｃ、２Ｒの回転開始から所定の条件（回転速度が一定速度に達した後、基準位置を検出すること）が成立すると、図８０（ｂ’）のように、左・中・右停止有効ＬＥＤ２２Ｌ〜２２Ｒを点灯させ、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が有効化される。
【０７４０】
図８０（ｃ）は、第１停止されたことにより、ステップアップ演出の第２ステップ演出が実行されたときの表示状態の一例を示す図である。第２ステップ演出では、第１ステップ演出において表示されていたアイテムを打ち上げるための筒に入れて、花火を打ち上げる準備を行なうような演出が行なわれている。尚、図８０（ｃ’）に示すように、第１停止としてストップスイッチ８Ｌが操作されて、左停止有効ＬＥＤ２２Ｌが消灯されている。
【０７４１】
図８０（ｄ）は、第２停止されたことにより、ステップアップ演出の第３ステップ演出が実行されたときの表示状態の一例を示す図である。第３ステップ演出では、第２ステップ演出において準備した花火玉を打ち上げたような演出が行なわれている。尚、図８０（ｄ’）に示すように、第２停止としてストップスイッチ８Ｃが操作されて、中停止有効ＬＥＤ２２Ｃが消灯されている。
【０７４２】
図８０（ｅ１）〜（ｅ３）は、各々、第３停止されたことにより、ステップアップ演出の最終ステップ演出が実行されたときの表示状態の一例を示す図である。
【０７４３】
図８０（ｅ１）では、最終ステップ演出として、例えば、液晶表示器５１の演出領域全体にわたり花火が表示されている。図８０（ｅ２）では、最終ステップ演出として、例えば、液晶表示器５１の演出領域の中央部のみにおいて花火が表示されている。図８０（ｅ３）では、最終ステップ演出として、例えば、花火が表示されず、打上げ失敗となる演出が表示されている。尚、図８０（ｅ’）に示すように、第３停止としてストップスイッチ８Ｒが操作されて、右停止有効ＬＥＤ２２Ｒが消灯されている。
【０７４４】
最終ステップ演出は、特別役の当選状況に応じて複数種類のうちから決定される。例えば、特別役に当選しているときの方が、特別役に当選していないときよりも、高い割合で大花火演出（例えば図８０（ｅ１））が表示されるように決定される。このため、例えば、最終ステップ演出が、大花火演出としての図８０（ｅ１）で示す演出態様で実行されたときの方が、それ以外の図８０（ｅ２）や（ｅ３）で示す演出態様で実行されたときよりも、特別役に当選していることに対する期待感を高めることができる。
【０７４５】
このように、ステップアップ演出が実行されたゲームにおいては、スタートスイッチ７やストップスイッチ８Ｌ〜８Ｒなどが操作されて、ゲームが進行する毎に、定められた順序で演出態様を発展させ、少なくとも最終ステップ演出において特別役に当選しているかに関する情報が報知される。
【０７４６】
次に、ステップアップ演出が実行されるゲームにおいて、フリーズ状態が発生したときに実行されるフリーズ演出について説明する。図８０（ａ）は、図８０（ｂ１）〜（ｅ３）で示したステップアップ演出が実行されるゲームにおいてフリーズ状態が発生し、当該ステップアップ演出が開始される前にフリーズ演出が実行されたときの表示状態の一例を示す図である。
【０７４７】
フリーズ演出としては、当該フリーズ状態が終了した後に行なわれる演出と関連性を有するような演出が実行される。図８０（ａ）では、図８０（ｂ１）や（ｂ２）の演出内容と関連性を有するような演出として、その後出現するキャラクタＡが図８０（ｂ１）や（ｂ２）において表示されるアイテム（花火玉）を加工しているかのような演出が表示されるとともに、加工を連想させる「こねこね〜！！」といったメッセージがフリーズ演出として実行されている。
【０７４８】
また、フリーズ状態が発生しているときには、前述したように、各リール２Ｌ、２Ｃ、２Ｒの回転開始タイミングが遅延され、かつストップスイッチ８Ｌ、８Ｃ、８Ｒの操作を有効化するタイミングが遅延されるため、図８０（ａ’）に示すように、左・中・右停止有効ＬＥＤ２２Ｌ〜２２Ｒが消灯されている。
【０７４９】
フリーズ演出は、フリーズ状態が発生する所定時間（例えば３秒）内に完結するように設定されている。このため、フリーズ演出については完結するまで確実に遊技者に見せることができる。
【０７５０】
図８０を用いて一例を示したステップアップ演出及びフリーズ演出は、サブ制御部９１により実行される。サブ制御部９１は、例えば、ステップアップ演出抽選用の乱数を抽出し、抽出した乱数の値、内部当選コマンドから特定される当選役及びフリーズコマンドから特定されるフリーズ状態の有無に基づいて、ステップアップ演出を実行するか否かを決定するステップアップ演出抽選処理を行なう。さらに、ステップアップ演出を実行すると決定された場合には、複数種類のステップアップ演出から一のステップアップ演出を決定し、フリーズが発生する場合には該決定されたステップアップ演出と関連性を有する複数種類のフリーズ演出から一のフリーズ演出を決定し実行する。
【０７５１】
尚、本実施例では、通常遊技状態において内部抽選の当選確率が変化しない構成であるが、例えば、再遊技役の当選確率の異なる複数の遊技状態（いわゆるリプレイタイム（ＲＴ））に制御する構成としても良い。また、本実施例では、特別役と同時当選しうる特定役が小役のみであるが、特別役と同時当選しうる特定役として再遊技役を適用しても良い。そして、上記のように再遊技役の当選確率の異なる複数のＲＴに制御する構成とし、特別役と同時当選しうる特定役として再遊技役を適用した場合には、ＲＴの違い、すなわち再遊技役の当選確率の違いに応じてフリーズ抽選の当選確率を異ならせることが好ましい。すなわち通常よりも再遊技役の高い状態となると、その分再遊技役入賞時の特別役の当選期待度が低くなることから、どの遊技状態においても一律の確率でフリーズ抽選を行うと、再遊技役の当選確率の高い状態では、フリーズ状態が発生しても特別役の期待がそれほど持てなくなってしまう虞があるが、再遊技役の当選確率が高い第１の状態では、再遊技役当選時のフリーズ抽選の当選確率を相対的に低く設定し、再遊技役の当選確率が低い第２の状態では、再遊技役当選時のフリーズ抽選の当選確率を第１の状態よりも高く設定することで、フリーズ状態発生時の特別役の当選期待度を適切に維持することができる。
【０７５２】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０７５３】
前記実施例では、遊技機の一例としてスロットマシンを適用しているが、所定の信号が入力されたときに、乱数回路から数値データを乱数値として抽出し、抽出した乱数値を用いて遊技に関連する抽選を行うための処理を行う遊技機であれば本発明を適用可能であり、例えば、遊技球を遊技領域内に発射し、遊技球が特定の入賞口に入賞することで抽選を行う弾球遊技機にも適用可能であり、このような弾球遊技機では、特定の入賞口に入賞したことを示す信号を所定の信号として適用すれば良い。
【０７５４】
また、遊技に関連する抽選を行うための処理を所定の信号が入力されたタイミングで行うものであれば良く、必ずしも所定の信号が入力されたタイミングで遊技に関連する抽選を行う構成でなくても良い。例えば、所定の信号が入力されたタイミングで数値データを乱数回路がラッチするとともに、該所定の信号が入力されたタイミングで、乱数回路がラッチした数値データを取得し、乱数値を格納する乱数値ワークに一時的に格納し、その後乱数値ワークに格納されている数値データを読み出して遊技に関連する抽選を行う構成であれば、乱数値回路からラッチされた数値データを取得し、乱数値ワークに格納する処理が、遊技に関連する抽選を行うための処理に該当するものであり、所定の信号が入力されたタイミングで当該数値データを用いた遊技に関連する抽選を行う必要はない。
【符号の説明】
【０７５５】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
６  ＭＡＸＢＥＴスイッチ
７  スタートスイッチ
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４１  メイン制御部
９１  サブ制御部
５０５  ＣＰＵ
５０６  ＲＯＭ
５０７  ＲＡＭ
５０９  乱数回路
５５９Ａ  乱数値レジスタ
【図１】
0005543245.tif 000002
【図２】
0005543245.tif 000003
【図３】
0005543245.tif 000004
【図４】
0005543245.tif 000005
【図５】
0005543245.tif 000006
【図６】
0005543245.tif 000007
【図７】
0005543245.tif 000008
【図８】
0005543245.tif 000009
【図９】
0005543245.tif 000010
【図１０】
0005543245.tif 000011
【図１１】
0005543245.tif 000012
【図１２】
0005543245.tif 000013
【図１３】
0005543245.tif 000014
【図１４】
0005543245.tif 000015
【図１５】
0005543245.tif 000016
【図１６】
0005543245.tif 000017
【図１７】
0005543245.tif 000018
【図１８】
0005543245.tif 000019
【図１９】
0005543245.tif 000020
【図２０】
0005543245.tif 000021
【図２１】
0005543245.tif 000022
【図２２】
0005543245.tif 000023
【図２３】
0005543245.tif 000024
【図２４】
0005543245.tif 000025
【図２５】
0005543245.tif 000026
【図２６】
0005543245.tif 000027
【図２７】
0005543245.tif 000028
【図２８】
0005543245.tif 000029
【図２９】
0005543245.tif 000030
【図３０】
0005543245.tif 000031
【図３１】
0005543245.tif 000032
【図３２】
0005543245.tif 000033
【図３３】
0005543245.tif 000034
【図３４】
0005543245.tif 000035
【図３５】
0005543245.tif 000036
【図３６】
0005543245.tif 000037
【図３７】
0005543245.tif 000038
【図３８】
0005543245.tif 000039
【図３９】
0005543245.tif 000040
【図４０】
0005543245.tif 000041
【図４１】
0005543245.tif 000042
【図４２】
0005543245.tif 000043
【図４３】
0005543245.tif 000044
【図４４】
0005543245.tif 000045
【図４５】
0005543245.tif 000046
【図４６】
0005543245.tif 000047
【図４７】
0005543245.tif 000048
【図４８】
0005543245.tif 000049
【図４９】
0005543245.tif 000050
【図５０】
0005543245.tif 000051
【図５１】
0005543245.tif 000052
【図５２】
0005543245.tif 000053
【図５３】
0005543245.tif 000054
【図５４】
0005543245.tif 000055
【図５５】
0005543245.tif 000056
【図５６】
0005543245.tif 000057
【図５７】
0005543245.tif 000058
【図５８】
0005543245.tif 000059
【図５９】
0005543245.tif 000060
【図６０】
0005543245.tif 000061
【図６１】
0005543245.tif 000062
【図６２】
0005543245.tif 000063
【図６３】
0005543245.tif 000064
【図６４】
0005543245.tif 000065
【図６５】
0005543245.tif 000066
【図６６】
0005543245.tif 000067
【図６７】
0005543245.tif 000068
【図６８】
0005543245.tif 000069
【図６９】
0005543245.tif 000070
【図７０】
0005543245.tif 000071
【図７１】
0005543245.tif 000072
【図７２】
0005543245.tif 000073
【図７３】
0005543245.tif 000074
【図７４】
0005543245.tif 000075
【図７５】
0005543245.tif 000076
【図７６】
0005543245.tif 000077
【図７７】
0005543245.tif 000078
【図７８】
0005543245.tif 000079
【図７９】
0005543245.tif 000080
【図８０】
0005543245.tif 000081