(57)【要約】【課題】導出操作手段の操作を有効化するか否かの判定を正確に行うことができるスロットマシンを提供すること。【解決手段】メイン処理においてリール制御処理を実行して、回転制御中のリールの速度状態が定速状態であると判定したことを条件に、停止操作の受付を有効化する処理を実行する一方、タイマ割込処理においてリール回転制御処理及びモータ位相信号出力処理を実行して、リールモータを回転、停止させるための駆動信号を出力する構成であり、タイマ割込処理では、回転制御中のリールについて速度状態が定速状態であるか否かを特定可能なリール速度状態フラグを設定し、メイン処理では、タイマ割込を禁止に設定した後、タイマ割込が禁止に設定されている状態で、少なくとも一のリールについてリール速度状態フラグを取得し、リールが定速状態であることが特定されることを条件に、リールの停止操作の受付を有効化する。【選択図】図１６
2018023412.tif 000002
【特許請求の範囲】
【請求項１】
各々が識別可能な複数種類の識別情報が配置された表示帯をステッピングモータにより移動させることで変動表示可能な可変表示部を備え、
前記可変表示部の変動表示を停止することで表示結果を導出し、該表示結果に応じて入賞が発生可能なスロットマシンにおいて、
遊技者が表示結果を導出させるために操作する導出操作手段と、
基本処理を実行する基本処理実行手段と、
基本処理に割り込んで割込処理を実行する割込処理実行手段と、
を備え、
前記割込処理実行手段は、
割込処理において前記ステッピングモータに対して駆動信号を出力するための処理を実行する駆動信号出力処理手段と、
割込処理において表示帯の変動状態を設定する変動状態設定手段と、
を含み、
前記基本処理実行手段は、
基本処理において変動状態を取得し、取得した変動状態が特定の変動状態であることを条件に前記導出操作手段の操作の受付を有効化する有効化手段と、
変動状態を取得する処理中に割込処理の実行を禁止する割込禁止手段と、
を含む、スロットマシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示部の表示結果に応じて所定の入賞が発生可能なスロットマシンに関する。
【背景技術】
【０００２】
この種のスロットマシンとしては、リールの回転速度が規定速度となったことを条件に停止操作を有効にするものが一般的である（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１１６２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のスロットマシンのようにリールの回転速度が規定速度となったことを条件に停止操作を有効化するものにおいては、所定の条件が成立するまでループする基本処理と、基本処理に割り込んで割込処理と、を備え、割込処理でリールを駆動する処理が実行され、基本処理で停止操作を有効化する処理が実行されるものが一般的であるが、停止操作を有効化するか否かの判定中に割込処理が実行されると、当該判定に用いられるリールの駆動状態が変わってしまう可能性があり、正確な判定を行えない虞がある。
【０００５】
本発明は、このような問題点に着目したものであり、導出操作手段の操作を有効化するか否かの判定を正確に行うことができるスロットマシンを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の手段１のスロットマシンは、
各々が識別可能な複数種類の識別情報（図柄）が配置された表示帯をステッピングモータ（リールモータ３２Ｌ、３２Ｃ、３２Ｒ）により移動させることで変動表示可能な可変表示部（リール２Ｌ、２Ｃ、２Ｒ）を備え、
前記可変表示部の変動表示を停止することで表示結果を導出し、該表示結果に応じて入賞が発生可能なスロットマシン（スロットマシン１）において、
遊技者が表示結果を導出させるために操作する導出操作手段（ストップスイッチ８Ｌ、８Ｃ、８Ｒ）と、
基本処理（メイン処理）を実行する基本処理実行手段と、
基本処理に割り込んで割込処理（タイマ割込処理（メイン））を実行する割込処理実行手段と、
を備え、
前記割込処理実行手段は、
割込処理（タイマ割込処理（メイン））において前記ステッピングモータ（リールモータ３２Ｌ、３２Ｃ、３２Ｒ）に対して駆動信号を出力するための処理を実行する駆動信号出力処理手段（リール回転制御処理）と、
割込処理（タイマ割込処理（メイン））において表示帯の変動状態（リール速度状態フラグ）を設定する変動状態設定手段と、
を含み、
前記基本処理実行手段は、
基本処理（メイン処理）において変動状態（リール速度状態フラグ）を取得し、取得した変動状態が特定の変動状態（定速状態）であることを条件に前記導出操作手段（ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の操作の受付を有効化する有効化手段と、
変動状態を取得する処理中に割込処理の実行を禁止する割込禁止手段（タイマ割込の禁止設定）と、
を含む
ことを特徴としている。
この特徴によれば、割込処理において表示帯の変動状態が更新されるとともに、基本処理において変動状態を取得し、取得した変動状態が特定の変動状態であることを条件に導出操作手段の操作の受付が有効化される構成において、変動状態を取得するための処理中に割込処理の実行が禁止されることで、変動状態を取得する処理中に割込処理が実行され、変動状態が変更されてしまうことがないため、導出操作手段の操作の受付を有効化するか否かの判定を正確に行うことができる。
【０００７】
尚、手段１において表示帯を移動させることで変動表示可能な可変表示部とは、リールを回転させることで変動表示可能なものや、ベルトを移動させることで変動表示可能なものなどが該当する。
【０００８】
本発明の手段２のスロットマシンは、手段１に記載のスロットマシンであって、
表示帯の基準位置を特定するための基準位置検出手段（リールセンサ３３Ｌ、３３Ｃ、３３Ｒ）と、
前記ステッピングモータ（リールモータ３２Ｌ、３２Ｃ、３２Ｒ）に対して駆動信号が出力される毎にステップ数を更新するステップ数更新手段（リールステップ数等更新処理）と、
前記基準位置検出手段（リールセンサ３３Ｌ、３３Ｃ、３３Ｒ）により表示帯の基準位置が検出されたときに前記ステップ数更新手段（リールステップ数等更新処理）により更新されたステップ数（リールステップ数カウンタの値、図柄ステップ数カウンタの値）が正常なステップ数であるか否かを判定するステップ数判定手段と、
を備え、
前記変動状態設定手段は、前記ステップ数判定手段により前記ステップ数更新手段により更新されたステップ数が正常なステップ数であると判定された場合に変動状態（リール速度状態フラグ）を特定の変動状態（定速状態）に更新する
ことを特徴としている。
この特徴によれば、ステップ数で特定される表示帯の位置と実際の表示帯の位置とがずれた状態で導出操作手段の操作の受付が有効化されてしまうことを防止できる。
【０００９】
本発明の手段３のスロットマシンは、手段２に記載のスロットマシンであって、
前記ステップ数判定手段は、前記基準位置検出手段（リールセンサ３３Ｌ、３３Ｃ、３３Ｒ）により表示帯の基準位置が検出される毎に前記ステップ数更新手段（リールステップ数等更新処理）により更新されたステップ数（リールステップ数カウンタの値、図柄ステップ数カウンタの値）が正常なステップ数であるか否かを判定し、
前記変動状態設定手段は、前記ステップ数判定手段により前記ステップ数更新手段により更新されたステップ数が正常なステップ数でないと判定された場合に変動状態（リール速度状態フラグ）を異常を示す変動状態（非定速状態）に更新する
ことを特徴としている。
この特徴によれば、一度、特定の変動状態に更新された後も、ステップ数で特定される表示帯の位置と実際の表示帯の位置とがずれた場合には導出操作手段の操作が有効に受け付けられてしまうことを防止できる。
【００１０】
本発明の手段４のスロットマシンは、手段１〜３のいずれかに記載のスロットマシンであって、
可変表示部（リール２Ｌ、２Ｃ、２Ｒ）を複数備え、
前記有効化手段は、基本処理において変動中の可変表示部全てについて変動状態（リール速度状態フラグ）を取得し、取得した可変表示部の変動状態がいずれも特定の変動状態（定速状態）であることを条件に前記導出操作手段（ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の操作の受付を有効化し、
前記割込禁止手段は、変動中の可変表示部全てについて変動状態（リール速度状態フラグ）を取得する処理を実行する期間にわたり割込処理の実行を禁止する
ことを特徴としている。
この特徴によれば、変動中の可変表示部が複数であっても全ての可変表示部について変動状態を取得する処理が実行する期間にわたり割込処理の実行が禁止されるので、割込処理の実行の禁止を効率的に行うことができる。
【００１１】
本発明の手段５のスロットマシンは、手段１〜４のいずれかに記載のスロットマシンであって、
前記有効化手段が前記導出操作手段（ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の操作の受付を有効化する処理は、変動状態（リール速度状態フラグ）を取得する処理と、取得した変動状態（リール速度状態フラグ）が特定の変動状態（定速状態）であるか否かを判定する処理と、を含み、
前記割込禁止手段は、取得した変動状態（リール速度状態フラグ）が特定の変動状態（定速状態）であるか否かを判定する処理中も割込処理の実行を禁止する
ことを特徴としている。
この特徴によれば、変動状態を取得する処理中だけでなく、取得した変動状態が特定の変動状態であるか否かを判定する処理中も割込処理の実行が禁止され、変動状態が変更されてしまうことがないため、導出操作手段の操作の受付を有効化するか否かの判定を正確に行うことができる。
【００１２】
本発明の手段６のスロットマシンは、手段１〜５のいずれかに記載のスロットマシンであって、
前記割込処理実行手段は、割込処理（タイマ割込処理（メイン））において表示帯の位置を特定可能な位置特定情報（図柄ステップ数カウンタの値）を更新する位置特定情報更新手段（リールステップ数等更新処理）を含み、
前記基本処理実行手段は、基本処理（メイン処理）において位置特定情報（図柄ステップ数カウンタの値）を取得する処理を実行する位置特定情報取得処理実行手段（リール制御処理）を含み、
前記割込禁止手段は、位置特定情報（図柄ステップ数カウンタの値）を取得する処理中も割込処理（タイマ割込処理（メイン））の実行を禁止する
ことを特徴としている。
この特徴によれば、位置特定情報を取得する処理中に割込処理が実行され、位置特定情報が変更されてしまうことを防止できる。
尚、表示帯の位置を特定可能な位置特定情報とは、駆動信号が出力される毎に更新されるステップ数であっても良いし、ステップ数に応じて更新される表示帯の領域を特定可能な領域特定情報であっても良い。
【００１３】
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。
【図面の簡単な説明】
【００１４】
【図１】本発明が適用された実施例のスロットマシンの正面図である。
【図２】スロットマシンの内部構造を示す斜視図である。
【図３】リールの図柄配列を示す図である。
【図４】スロットマシンの構成を示すブロック図である。
【図５】メイン制御部の構成を示すブロック図である。
【図６】メイン制御部が搭載するＲＯＭ及びＲＡＭのメモリマップを示す図である。
【図７】メイン制御部が搭載するＲＯＭ及びＲＡＭのメモリマップの詳細を示す図である。
【図８】遊技プログラム及び非遊技プログラムの構成を示す図である。
【図９】遊技領域と非遊技領域との関係を示す図である。
【図１０】（ａ）は、メイン処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際の処理の流れを示すフローチャートであり、（ｂ）は、タイマ割込処理の実行中に遊技プログラムに基づく処理から非遊技プログラムを呼び出す際の処理の流れを示すフローチャートである。
【図１１】メイン制御部が、第１の条件、第２の条件の成立時に初期化するＲＡＭの領域を示す図である。
【図１２】メイン制御部が外部出力基板に対して出力するメダルＯＵＴ信号とセキュリティ信号の出力タイミングについて説明するための図である。
【図１３】リールモータの構成を示す図である。
【図１４】リールモータの励磁状況を示すタイミングチャートである。
【図１５】メイン制御部が実行するメイン処理の制御内容を示すフローチャートである。
【図１６】メイン制御部が実行するリール制御処理の制御内容を示すフローチャートである。
【図１７】メイン制御部が実行するリール回転開始処理の制御内容を示すフローチャートである。
【図１８】メイン制御部が実行するリール回転停止処理の制御内容を示すフローチャートである。
【図１９】図柄ステップ数の割当とリール回転停止処理にける判定範囲の関係について説明するための図である。
【図２０】メイン制御部が実行する停止制御テーブル設定処理の制御内容を示すフローチャートである。
【図２１】メイン制御部が実行するタイマ割込処理（メイン）の制御内容を示すフローチャートである。
【図２２】メイン制御部が実行するリールステップ数等更新処理の制御内容を示すフローチャートである。
【図２３】リール回転停止処理において図柄番号が取得される時期について説明するための図である。
【図２４】１図柄当たりの図柄ステップ数の割当の変形例を示す図である。
【図２５】変形例における図柄ステップ数の割当とリール回転停止処理にける判定範囲の関係について説明するための図である。
【発明を実施するための形態】
【００１５】
本発明に係るスロットマシンを実施するための形態を実施例に基づいて以下に説明する。
【実施例】
【００１６】
本発明が適用されたスロットマシンの実施例について図面を用いて説明すると、本実施例のスロットマシン１は、図１に示すように、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂと、から構成されている。
【００１７】
本実施例のスロットマシン１の筐体１ａの内部には、図２に示すように、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リール）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００１８】
リール２Ｌ、２Ｃ、２Ｒの外周部には、図３に示すように、それぞれ「赤７」、「青７」、「白７」、「ＢＡＲ」、「スイカ」、「チェリーａ」、「チェリーｂ」、「ベル」、「リプレイａ」、「リプレイｂ」、「プラム」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、前面扉１ｂの略中央に設けられた透視窓３において各々上中下三段に表示される。
【００１９】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられたリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）によって回転されることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示される一方で、各リール２Ｌ、２Ｃ、２Ｒの回転が停止されることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００２０】
リール２Ｌ、２Ｃ、２Ｒの内側には、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒと、リール２Ｌ、２Ｃ、２Ｒを背面から照射するリールＬＥＤ５５と、が設けられている。また、リールＬＥＤ５５は、リール２Ｌ、２Ｃ、２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００２１】
また、リールセンサ３３Ｌ、３３Ｃ、３３Ｒは、各リール２Ｌ、２Ｃ、２Ｒについて図柄番号０の図柄の領域の下端が各リールにおける所定位置を通過するときに、検出信号を出力するように配置されており、各リールについて図柄番号０の図柄の領域の下端がリール基準位置となる。
【００２２】
前面扉１ｂの各リール２Ｌ、２Ｃ、２Ｒの手前側（遊技者側）の位置には、液晶表示器５１（図１参照）の表示領域５１ａが配置されている。液晶表示器５１は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域５１ａの透視窓３に対応する透過領域５１ｂ及び透視窓３を介して遊技者側から各リール２Ｌ、２Ｃ、２Ｒが視認できるようになっている。
【００２３】
前面扉１ｂには、図１に示すように、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数（本実施例では後述するＲＴ０〜４の規定数として３、ＲＢの規定数として２が定められている）を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒ、演出に用いられる演出用スイッチ５６が遊技者により操作可能にそれぞれ設けられている。
【００２４】
尚、本実施例では、回転を開始した３つのリール２Ｌ、２Ｃ、２Ｒのうち、最初に停止するリールを第１停止リールと称し、また、その停止を第１停止と称する。同様に、２番目に停止するリールを第２停止リールと称し、また、その停止を第２停止と称し、３番目に停止するリールを第３停止リールと称し、また、その停止を第３停止あるいは最終停止と称する。
【００２５】
また、前面扉１ｂには、図１に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード、後述のナビ報知によるリールの停止順を識別可能な情報等が表示される遊技補助表示器１２、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、リプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられた遊技用表示部１３が設けられている。
【００２６】
ＭＡＸＢＥＴスイッチ６の内部には、ＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図４参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図４参照）がそれぞれ設けられており、演出用スイッチ５６の内部には、演出用スイッチ５６の操作が有効である旨を点灯により報知する演出用ＬＥＤ５６ａ（図４参照）が設けられている。
【００２７】
前面扉１ｂの内側には、図２に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、所定の契機に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、所定の契機に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂ、メダル投入部４から投入されたメダルの流路を、筐体１ａの内部に設けられた後述のホッパータンク３４ａ（図２参照）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１、投入メダルセンサ３１の上流側で異物の挿入を検出する投入口センサ２６を有するメダルセレクタ２９、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図４参照）が設けられている。
【００２８】
筐体１ａの内部には、図２に示すように、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ、３３Ｃ、３３Ｒ（図４参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００（図４参照）、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ（図４参照）、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃ（図４参照）からなるホッパーユニット３４、電源ボックス１００が設けられている。
【００２９】
ホッパーユニット３４の側部には、ホッパータンク３４ａから溢れたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ３５ａ（図４参照）が設けられている。
【００３０】
電源ボックス１００の前面には、図２に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００３１】
尚、電源ボックス１００は、筐体１ａの内部に設けられており、さらに前面扉１ｂは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス１００の前面に設けられた設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ２３も同様である。特に、設定キースイッチ３７は、キー操作により前面扉１ｂを開放したうえで、さらにキー操作を要することから、遊技場の店員のなかでも、設定キースイッチ３７の操作を行うキーを所持する店員のみ操作が可能とされている。
【００３２】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬＮ（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、後述するＲＴ０〜４における規定数の賭数として３枚が定められ、後述するＲＢにおける規定数の賭数として２枚が定められており、これら遊技状態に応じた規定数の賭数が設定されると入賞ラインＬＮが有効となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００３３】
入賞ラインとは、各リール２Ｌ、２Ｃ、２Ｒの透視窓３に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図１に示すように、リール２Ｌの中段、リール２Ｃの中段、リール２Ｒの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインＬＮのみが入賞ラインとして定められている。尚、本実施例では、１本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
【００３４】
また、本実施例では、入賞ラインＬＮに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインＬＮとは別に、無効ラインＬＭ１〜４を設定している。無効ラインＬＭ１〜４は、これら無効ラインＬＭ１〜４に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインＬＭ１〜４のいずれかに入賞ラインＬＮに揃った場合に入賞となる図柄の組合せ（例えば、ベル‐ベル‐ベル）が揃う構成とすることで、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。
【００３５】
本実施例では、図１に示すように、リール２Ｌの上段、リール２Ｃの上段、リール２Ｒの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ１、リール２Ｌの下段、リール２Ｃの下段、リール２Ｒの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ２、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインＬＭ３、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインＬＭ４の４種類が無効ラインＬＭとして定められている。
【００３６】
また、本実施例では、入賞役として、入賞ラインＬＮに役として定められた所定の図柄の組合せ（例えば、「ベル‐スイカ‐チェリーｂ」）が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインＬＭ１〜ＬＭ４のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ（例えば、「スイカ‐スイカ‐スイカ」）が揃うことにより、無効ラインＬＭ１〜ＬＭ４のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインＬＮに揃ったときに無効ラインＬＭ１〜ＬＭ４のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。
【００３７】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３８】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、入賞ラインＬＮ上に予め定められた図柄の組合せ（以下、役ともいう）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。また、入賞ラインＬＮ上に、遊技状態の移行を伴う図柄の組合せが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
【００３９】
尚、本実施例では、スタートスイッチ７の操作が有効な状態でスタートスイッチ７の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための１単位の制御（ゲーム制御）は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
【００４０】
また、本実施例では、３つのリールを用いた構成を例示しているが、リールを１つのみ用いた構成、２つのリールを用いた構成、４つ以上のリールを用いた構成としても良く、２以上のリールを用いた構成においては、２以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。
【００４１】
また、本実施例におけるスロットマシン１にあっては、ゲームが開始されて各リール２Ｌ、２Ｃ、２Ｒが回転して図柄の変動が開始した後、いずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに、当該ストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作から対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止するまでの最大停止遅延時間は１９０ｍｓ（ミリ秒）である。
【００４２】
リール２Ｌ、２Ｃ、２Ｒは、１分間に８０回転し、８０×２１（１リール当たりの図柄コマ数）＝１６８０コマ分の図柄を変動させるので、１９０ｍｓの間では最大で４コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに表示されている図柄と、そこから４コマ先までにある図柄、合計５コマ分の図柄である。
【００４３】
このため、例えば、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から４コマ先までの図柄を下段に表示させることができるため、リール２Ｌ、２Ｃ、２Ｒ各々において、ストップスイッチ８Ｌ、８Ｒのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて５コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
【００４４】
以下では、特に区別する必要がない場合にはリール２Ｌ、２Ｃ、２Ｒを単にリールという場合がある。また、リール２Ｌを左リール、リール２Ｃを中リール、リール２Ｒを右リールという場合がある。また、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作によりリール２Ｌ、２Ｃ、２Ｒを停止させる操作を停止操作という場合がある。
【００４５】
図４は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図４に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００４６】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び演出制御基板９０に供給されるようになっている。また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００４７】
遊技制御基板４０には、前述したＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、投入メダルセンサ３１、ドア開放検出スイッチ２５、リールセンサ３３Ｌ、３３Ｃ、３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００４８】
遊技制御基板４０には、遊技の進行に関する処理を行うととともに遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御するメイン制御部４１と、所定周波数の発振信号となる制御用クロックＣＣＬＫを生成する制御用クロック生成回路４２と、制御用クロックＣＣＬＫの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックＲＣＬＫを生成する乱数用クロック生成回路４３と、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送するスイッチ検出回路４４と、メイン制御部４１から出力されたモータ駆動信号（ステッピングモータの位相信号）をリールモータ３２Ｌ、３２Ｃ、３２Ｒに伝送するモータ駆動回路４５と、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送するソレノイド駆動回路４６と、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送するＬＥＤ駆動回路４７と、スロットマシン１に供給される電源の電圧を監視して電圧の低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する電断検出回路４８と、電源投入時または電源遮断時等の電力供給が不安定な状態においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９と、が搭載されている。
【００４９】
図５は、遊技制御基板４０に搭載されたメイン制御部４１の構成例を示している。メイン制御部４１は、１チップマイクロコンピュータであり、外部バスインターフェイス５０１と、クロック回路５０２と、照合用ブロック５０３と、固有情報記憶回路５０４と、演算回路５０５と、リセット／割込コントローラ５０６と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４１ａと、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４１ｂと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４１ｃと、フリーランカウンタ回路５０７と、乱数回路５０８ａ、５０８ｂと、タイマ回路５０９と、割込コントローラ５１０と、パラレル入力ポート５１１と、シリアル通信回路５１２と、パラレル出力ポート５１３と、アドレスデコード回路５１４と、を備えて構成される。
【００５０】
リセット／割込コントローラ５０６は、メイン制御部４１の内部や外部にて発生する各種リセット、割込要求を制御するためのものである。リセット／割込コントローラ５０６は、指定エリア外走行禁止（ＩＡＴ）回路５０６ａとウォッチドッグタイマ（ＷＤＴ）５０６ｂとを備える。ＩＡＴ回路５０６ａは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとＩＡＴ発生信号を出力する機能を備える。また、ウォッチドッグタイマ５０６ｂは、設定期間毎にタイムアウト信号を発生させる機能を備える。
【００５１】
外部バスインターフェイス５０１は、メイン制御部４１を構成するチップの外部バスと内部バスとのインターフェイス機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインターフェイスである。クロック回路５０２は、制御用クロックＣＣＬＫを２分周することなどにより、内部システムクロックＳＣＬＫを生成する回路である。照合用ブロック５０３は、外部の照合機と接続し、チップの照合を行う機能を備える。固有情報記憶回路５０４は、メイン制御部４１の内部情報となる複数種類の固有情報を記憶する回路である。演算回路５０５は、乗算及び除算を行う回路である。
【００５２】
ＣＰＵ４１ａは、ＲＯＭ４１ｂから読み出した制御コードに基づいてユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を実行することにより、スロットマシン１における遊技制御を実行する制御用ＣＰＵである。こうした遊技制御が実行されるときには、ＣＰＵ４１ａがＲＯＭ４１ｂから固定データを読み出す固定データ読出動作や、ＣＰＵ４１ａがＲＡＭ４１ｃに各種の変動データを書き込んで一時記憶させる変動データ書込動作、ＣＰＵ４１ａがＲＡＭ４１ｃに一時記憶されている各種の変動データを読み出す変動データ読出動作、ＣＰＵ４１ａが外部バスインターフェイス５０１やパラレル入力ポート５１１、シリアル通信回路５１２などを介してメイン制御部４１の外部から各種信号の入力を受け付ける受信動作、ＣＰＵ４１ａが外部バスインターフェイス５０１やシリアル通信回路５１２、パラレル出力ポート５１３などを介してメイン制御部４１の外部へと各種信号を出力する送信動作等も行われる。
【００５３】
ＲＯＭ４１ｂには、ユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を示す制御コードや固定データ等が記憶されている。ＲＡＭ４１ｃは、ゲーム制御用のワークエリア等を提供する。ここで、ＲＡＭ４１ｃの少なくとも一部は、バックアップ電源によってバックアップされているバックアップＲＡＭであれば良い。すなわち、スロットマシン１への電力供給が停止しても、所定期間はＲＡＭ４１ｃの少なくとも一部の内容が保存される。
【００５４】
フリーランカウンタ回路５０７として、８ビットのフリーランカウンタを搭載している。乱数回路５０８ａ、５０８ｂは、８ビット乱数や１６ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、乱数回路５０８ａ、５０８ｂのうち１６ビット乱数回路５０８ｂが生成するハードウェア乱数は、後述する内部抽選用の乱数として用いられる。タイマ回路５０９は、１６ビットプログラマブルタイマであり、設定されたタイマ値を制御用クロックＣＣＬＫの入力に基づいてダウンカウントし、００００Ｈに達したときに割込コントローラへの割込要求信号を出力する。本実施例では、タイマ回路５０９を用いて定期的な割込要求や時間計測を行うことが可能である。
【００５５】
割込コントローラ５１０は、割込端子からの外部割込要求や、内蔵の周辺回路（例えば、シリアル通信回路５１２、乱数回路５０８ａ、５０８ｂ、タイマ回路５０９）からの割込要求を制御する回路である。パラレル入力ポート５１１は、８ビット幅の入力専用ポートを内蔵する。また、図４に示すメイン制御部４１が備えるパラレル出力ポート５１３は、１１ビット幅の出力専用ポートを内蔵する。シリアル通信回路５１２は、外部に対する入出力において非同期シリアル通信を行う回路である。
【００５６】
アドレスデコード回路５１４は、メイン制御部４１の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部４１の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、ＣＰＵ４１ａからのアクセスが可能となる。
【００５７】
メイン制御部４１は、例えば、ＲＯＭ４１ｂの記憶領域のうちプログラム等が格納されていない領域へのアクセスがあったとき、ＲＡＭ４１ｃの記憶領域のうちアクセス禁止が設定された領域へのアクセスがあったとき、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるようになっており、ＲＯＭ４１ｂの未使用領域や動作とは関係しない領域、ＲＡＭ４１ｃの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
【００５８】
また、メイン制御部４１は、内部または外部によるリセットが発生することで起動することとなるが、この際、ＲＯＭ４１ｂに割り当てられ、割込処理の先頭アドレスが設定されるベクタテーブルに設定された値が、未使用を示す値であるか、プログラム等が実際に格納された領域を示す値であるか、を判定し、いずれの値でもない場合には起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
【００５９】
メイン制御部４１は、パラレル出力ポート５１３を介してサブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート５１３を介してサブ制御部９１に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路５１２を介してサブ制御部９１に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。
【００６０】
また、メイン制御部４１は、遊技制御基板４０に接続された各種スイッチ類の検出状態がパラレル入力ポート５１１から入力される。そしてメイン制御部４１は、これらパラレル入力ポート５１１から入力される各種スイッチ類の検出状態に応じて段階的に移行するメイン処理を実行する。また、メイン制御部４１は、割込の発生によりメイン処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路５０９にてタイムアウトが発生したこと、すなわち一定時間間隔（本実施例では、約０．５６ｍｓ）毎にタイマ割込処理（メイン）を実行する。また、メイン制御部４１は、割込処理の実行中に他の割込を自動的に禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、割込処理が終了した時点で割込禁止が自動的に解除され、その時点で新たな割込が発生することとなる。尚、割込処理の実行中に他の割込を自動的に禁止するように設定され、割込処理が終了した時点で割込禁止が自動的に解除されるのではなく、割込処理の開始時にプログラムによって他の割込を禁止し、割込処理の終了時にプログラムによって割込禁止を解除するようにしても良い。
【００６１】
メイン制御部４１は、メイン処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ｍｓ）毎にタイマ割込処理（メイン）を実行する。尚、タイマ割込処理（メイン）の実行間隔は、メイン処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【００６２】
演出制御基板９０には、演出用スイッチ５６が接続されており、この演出用スイッチ５６の検出信号が入力されるようになっている。また、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。尚、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１及び出力制御部の双方によって演出装置の出力制御が行われることとなる。また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【００６３】
演出制御基板９０は、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにより構成されて演出の制御を行うサブ制御部９１と、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２と、演出効果ＬＥＤ５２と、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３と、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４と、電源投入時またはサブＣＰＵ９１ａからの初期化命令が一定時間入力されないときにサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５と、演出制御基板９０に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路９６と、日付情報及び時刻情報を含む時間情報を出力する時計装置９７と、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブＣＰＵ９１ａに対して出力する電断検出回路９８と、その他の回路等、が搭載されている。
【００６４】
サブＣＰＵ９１ａは、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【００６５】
リセット回路９５は、遊技制御基板４０においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部９１は、メイン制御部４１よりも早い段階で起動するようになっている。一方で、電断検出回路９８は、遊技制御基板４０においてメイン制御部４１に電圧低下信号を出力する電断検出回路４８よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部９１は、メイン制御部４１よりも遅い段階で停電を検知し、後述する電断処理（サブ）を行うこととなる。
【００６６】
サブ制御部９１は、メイン制御部４１と同様に、割込機能を備えており、メイン制御部４１からのコマンド受信時に割込を発生させて、メイン制御部４１から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部９１は、システムクロックの入力数が一定数に到達する毎、すなわち一定時間間隔（約２ｍｓ）毎に割込を発生させて後述するタイマ割込処理（サブ）を実行する。また、サブ制御部９１は、メイン制御部４１とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理（サブ）の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理（サブ）の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【００６７】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選、ナビストック抽選、上乗せ抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【００６８】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定値６からさらに操作されたときは、設定値１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ４１ｃに格納され、遊技の進行が可能な状態に移行する。
【００６９】
尚、設定キースイッチ３７がｏｎ状態で電源投入された場合に、ドア開放検出スイッチ２５により前面扉１ｂの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成としても良く、このような構成とすることで、前面扉１ｂが開放されていない状態で不正に設定変更がされてしまうことを防止できる。また、前面扉１ｂの開放に対応する検出がされていることを条件に、設定変更状態に移行する構成においては、設定変更状態に移行後、ドア開放検出スイッチ２５により前面扉１ｂの開放に対応する検出がされなくなっても、設定変更状態を維持することが好ましく、これにより、設定変更中に前面扉１ｂが一時的に閉じてしまっても、再度、設定変更状態に移行させるための操作を必要とせず、設定変更操作が煩雑となってしまうことがない。また、設定変更状態に移行後、スタートスイッチ７が操作されて設定値が確定した後、設定キースイッチ３７がｏｆｆとなったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放に対応する検出がされていることを条件に、設定変更状態を終了して遊技の進行が可能な状態に移行する構成としても良く、このような構成においても、前面扉１ｂが開放されていない状態で不正に設定変更がされてしまうことを防止できる。
【００７０】
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７をｏｎ状態とすれば良い。このような状況で設定キースイッチ３７をｏｎ状態とすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ３７をｏｆｆ状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
【００７１】
尚、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７がｏｎ状態となったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成としても良く、このような構成とすることで、前面扉１ｂが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。また、前面扉１ｂの開放に対応する検出がされていることを条件に、設定確認状態に移行する構成においては、設定確認状態に移行後、ドア開放検出スイッチ２５により前面扉１ｂの開放に対応する検出がされなくなっても、設定確認状態を維持することが好ましく、これにより、設定確認中に前面扉１ｂが一時的に閉じてしまっても、再度、設定確認状態に移行させるための操作を必要とせず、設定確認操作が煩雑となってしまうことがない。また、設定確認状態に移行後、スタートスイッチ７が操作されて設定値が確定した後、設定キースイッチ３７がｏｆｆとなったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放に対応する検出がされていることを条件に、設定確認状態を終了して遊技の進行が可能な状態に復帰する構成としても良く、このような構成においても、前面扉１ｂが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。
【００７２】
本実施例のスロットマシン１においては、メイン制御部４１は、タイマ割込処理（メイン）を実行する毎に、電断検出回路４８からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、次回復帰時にＲＡＭ４１ｃのデータが正常か否かを判定するためのデータを設定する電断処理（メイン）を実行する。
【００７３】
そして、メイン制御部４１は、その起動時においてＲＡＭ４１ｃのデータが正常であることを条件に、ＲＡＭ４１ｃに記憶されているデータに基づいてメイン制御部４１の処理状態を電断前の状態に復帰させるが、ＲＡＭ４１ｃのデータが正常でない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。
【００７４】
エラー状態は、リセット操作（リセット／設定スイッチ３８またはリセットスイッチ２３の操作）により解除される通常エラー状態と、前述した設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない特殊エラー状態と、を含み、ＲＡＭ異常エラー状態は、特殊エラー状態であり、一度ＲＡＭ異常エラー状態に制御されると、設定変更状態に移行し、新たな設定値が設定されるまで解除されることがない。
【００７５】
また、サブ制御部９１もタイマ割込処理（サブ）において電断検出回路９８からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に、次回復帰時にＲＡＭ９１ｃのデータが正常か否かを判定するためのデータを設定する電断処理（サブ）を実行する。
【００７６】
そして、サブ制御部９１は、その起動時においてＲＡＭ９１ｃのデータが正常であることを条件に、ＲＡＭ９１ｃに記憶されているデータに基づいてサブ制御部９１の処理状態を電断前の状態に復帰させるが、ＲＡＭ９１ｃのデータが正常でない場合には、ＲＡＭ異常と判定し、ＲＡＭ９１ｃを初期化するようになっている。この場合、メイン制御部４１と異なり、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【００７７】
また、サブ制御部９１は、その起動時においてＲＡＭ９１ｃのデータが正常であると判断された場合でも、メイン制御部４１から設定変更状態に移行した旨を示す後述の設定コマンドを受信した場合、起動後一定時間が経過してもメイン制御部４１の制御状態が復帰した旨を示す後述の復帰コマンドも設定コマンドも受信しない場合にも、ＲＡＭ９１ｃを初期化するようになっている。この場合も、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【００７８】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について説明する。メイン制御部４１のＲＡＭ４１ｃの格納領域のうちの使用可能領域は、遊技ＲＡＭ領域、未使用領域４、非遊技ＲＡＭ領域に区分されている（図７（ｂ）参照）。さらに遊技ＲＡＭ領域は、特別ワーク、重要ワーク、一般ワーク、未使用領域３、遊技スタック領域に区分されている。特別ワークは、設定値が変更されても初期化されないデータが格納されるワークであり、ソフトウェア乱数、設定値、遊技状態を示すデータ等が格納される。重要ワークは、特定の遊技状態（ＲＢ、ＢＢ）の終了時に初期化すると不都合のあるデータが格納されるワークであり、ＬＥＤの表示用データ、入力ポート、出力ポートの入出力データ、遊技時間の計時カウンタ等が格納される。一般ワークは、特定の遊技状態の終了時に初期化可能なデータが格納されるワークであり、停止図柄、メダルの払出枚数等が格納される。未使用領域３は、いずれのプログラムでも使用されないワークである。遊技スタック領域は、後述する遊技プログラムの実行中にメイン制御部４１のレジスタから退避したデータが格納される領域である。
【００７９】
本実施例においてメイン制御部４１は、設定キースイッチ３７がＯＮの状態での起動時でＲＡＭ４１ｃのデータが破壊されているとき、設定キースイッチ３７がＯＮの状態での起動時でＲＡＭ４１ｃのデータが破壊されていないとき、設定変更状態が終了されたとき、特定の遊技状態（ＲＢ、ＢＢ）の終了時、１ゲームの終了時、の５つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる５種類の初期化を行う。
【００８０】
初期化０は、設定キースイッチ３７がＯＮの状態での起動時でＲＡＭ４１ｃのデータが破壊されているときに行う初期化であり、初期化０では、使用可能領域全ての領域が初期化される。初期化１は、設定キースイッチ３７がＯＮの状態での起動時でＲＡＭ４１ｃのデータが破壊されていないときに行う初期化であり、初期化１では、遊技ＲＡＭ領域の特別ワーク以外の領域、非遊技ＲＡＭ領域の全ての領域が初期化される。初期化２は、設定キースイッチ３７がＯＮの状態での起動で設定変更状態が終了された後に行う初期化であり、初期化２では、遊技ＲＡＭ領域のうち特別ワーク及び遊技スタック領域（使用中）以外の領域が初期化される。初期化３は、特定の遊技状態の終了時に行う初期化であり、初期化３では、遊技ＲＡＭ領域のうち一般ワーク、未使用領域３及び遊技スタック領域（未使用）が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、遊技ＲＡＭ領域の未使用領域３及び遊技スタック領域（未使用）が初期化される。尚、設定値や遊技状態を示すデータの格納領域は、特別ワークに割り当てられており、設定キースイッチ３７がＯＮの状態での起動時でＲＡＭ４１ｃのデータが破壊されていないとき、すなわちＲＡＭ４１ｃのデータが正常で設定変更される場合には、設定値や遊技状態を示すデータが保持されることとなる。また、後述のタイマカウンタの格納領域は、重要ワークに割り当てられており、ゲームの終了時や特定の遊技状態の終了時には初期化されることなく保持されることとなる。
【００８１】
また、本実施例のメイン制御部４１は、上述の初期化実行する際には、初期化対象のＲＡＭアドレスとして開始アドレスと終了アドレスが指定されることで、指定された開始アドレスから１バイト分のデータを０で上書きした後、当該１バイトのデータの論理和を計算し、計算結果が０であれば、次のアドレスに移動する処理を、指定された終了アドレスに達するまで繰り返し行うことで、指定されたアドレスの範囲のＲＡＭ領域を初期化する。
【００８２】
本実施例におけるメイン制御部４１は、リセットの発生により起動すると、起動時設定を行う。起動時設定では、メイン制御部４１が備えるステータスフラグを初期化する。ステータスフラグは、命令の演算結果や実行結果の状態を保持するデータであり、特に割込の禁止／許可を設定する割込マスタ許可フラグを含む。割込マスタ許可フラグの初期値は割込の禁止を示す値であるため、メイン制御部４１は、割込が禁止された状態で起動することとなる。その後、後述のＨＷパラメータを参照して各種機能を設定した後、プログラム／データ領域に格納されたプログラムに従って、リセットが発生したときに、割込禁止の状態で起動するとともに、その後、最初に実行する初期設定処理を開始する。
【００８３】
メイン制御部４１は、初期設定処理において、まず、割込を禁止に設定した後、起動時に設定キースイッチ３７がＯＮの状態であるか否かを判定し、起動時に設定キースイッチ３７がＯＮの状態であると判定された場合に、設定変更処理に移行し、設定変更処理の開始時にＲＡＭ４１ｃの初期化を行う。この際、ＲＡＭ４１ｃのデータが正常であれば、特別ワークを保持してそれ以外の領域を初期化することで、設定変更後も変更前の制御状態（設定値や遊技状態等）の一部を保持することができる一方で、ＲＡＭ４１ｃのデータが正常でない場合には、特別ワークを含む使用可能領域の全ての領域を初期化することで、ＲＡＭ４１ｃのデータに異常を確実に解消することができるようになっている。
【００８４】
ＲＡＭ４１ｃを初期化した後、割込を許可に設定し、リセット／設定スイッチ３８が操作れる毎に設定値を１〜６の範囲で１ずつ更新し、スタートスイッチ７のＯＮが検出された後、設定キースイッチ３７のＯＮが検出されたときの設定値をＲＡＭ４１ｃに格納して、設定変更処理を終了させる。
【００８５】
このように、メイン制御部４１は、割込マスタ許可フラグの初期値が割込の禁止を示す値であり、割込が禁止された状態で起動し、起動後の初期設定処理においても、まず、割込を禁止に設定したうえで、その後の初期設定処理を実行するようになっているので、意図しない割込が発生することを防止できる。
【００８６】
また、メイン制御部４１は、設定変更処理の終了後、遊技単位毎にゲームの進行に応じて段階的に処理を行うメイン処理を実行する。また、メイン処理では、遊技単位毎にＲＡＭ４１ｃの初期化を行うとともに、設定変更処理の終了時にもＲＡＭ４１ｃの初期化を行う。そして、設定変更処理の終了後、メイン処理においてＲＡＭ４１ｃの初期化を行う処理の前の段階からメイン処理を開始するようになっており、設定変更処理の終了後のＲＡＭ４１ｃの初期化と、遊技単位毎のＲＡＭ４１ｃの初期化と、を共通の処理にて行うことが可能となる。
【００８７】
本実施例のメイン制御部４１は、設定変更処理及びメイン処理において、遊技領域初期化処理を実行することにより、ＲＡＭ４１ｃの所定領域を初期化する。遊技領域初期化処理では、初期化対象ＲＡＭの先頭アドレスと終了アドレスとが指定されることにより、初期化対象ＲＡＭの容量を算出し、初期化対象ＲＡＭの先頭アドレスから、初期化対象ＲＡＭの容量分の領域を順次クリアすることで、遊技ＲＡＭ領域のうち指定された初期化対象ＲＡＭの領域を初期化する。
【００８８】
尚、初期化対象ＲＡＭの先頭アドレスと終了アドレスとを指定することで、当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象ＲＡＭの先頭アドレスから終了アドレスまでの領域が初期化される構成としても良い。
【００８９】
本実施例の非遊技領域初期化処理では、初期化対象ＲＡＭの容量分のＲＡＭ領域を初期化対象ＲＡＭの先頭アドレス（未使用領域４の先頭アドレス）から順次クリアすることで、初期化対象ＲＡＭの先頭アドレスから終了アドレスまでの領域、すなわち、未使用領域４及び非遊技ＲＡＭ領域を初期化する。
【００９０】
尚、初期化対象ＲＡＭの先頭アドレスと終了アドレスとを指定することで、当該先頭アドレスを指定アドレスの初期値とし、指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象ＲＡＭの先頭アドレスから終了アドレスまでの領域が初期化される構成としても良い。
【００９１】
また、本実施例の非遊技領域初期化処理では、初期化対象ＲＡＭの先頭アドレスとして未使用領域４の先頭アドレスを設定することで、未使用領域４と非遊技ＲＡＭ領域の全ての領域を初期化する構成であるが、非遊技領域初期化処理は、非遊技ＲＡＭ領域の少なくとも一部の領域が初期化されるものであれば良く、非遊技ＲＡＭ領域の一部の領域を初期化するものでも、非遊技ＲＡＭ領域の一部の領域及び未使用領域４を初期化するものでも良い。
【００９２】
また、本実施例では、遊技領域初期化処理及び非遊技領域初期化処理において、指定アドレスに記憶されている１バイトのデータを０で上書きしてクリアし、その後、当該１バイトのデータの論理和を算出して、算出結果が０か否かを判定し、算出結果が０でない場合には、再度、１バイトのデータを０で上書きしてクリアする処理を行うことで、該当するアドレスのデータをクリアする構成であるが、指定アドレスに記憶されている１バイトのデータを０で上書きしてクリアするのみの構成でも良い。
【００９３】
本実施例のスロットマシン１は、遊技状態（ＲＴ０〜ＲＴ４、ＲＢ）に応じて設定可能な賭数の規定数（本実施例では、ＲＴ０〜４においては３、ＲＢにおいては２）が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインＬＮが有効化される。
【００９４】
そして、本実施例では、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインという）上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
【００９５】
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【００９６】
次に、本実施例の内部抽選について説明する。内部抽選は、メイン制御部４１が、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出される以前（具体的には、スタートスイッチ７の検出時）に決定するものである。内部抽選では、まず、スタートスイッチ７の検出時に内部抽選用の乱数値（０〜６５５３５の整数）を取得する。詳しくは、乱数回路５０８ｂにより生成され、乱数回路５０８ｂの乱数値レジスタに格納されている値をＲＡＭ４１ｃに割り当てられた抽選用ワークに設定する。そして、遊技状態（ＲＴ０〜４、ＲＢ）に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態、賭数及び設定値に応じて定められた各役の判定値数に応じて入賞を許容するか否かの判定が行われる。
【００９７】
内部抽選では、内部抽選の対象となる役、現在の遊技状態及び設定値に対応して定められた判定値数を、内部抽選用の乱数値（抽選用ワークに格納された数値データ）に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率（判定値数／６５５３６）で役が当選することとなる。
【００９８】
そして、内部抽選の結果を示す当選番号をＲＡＭ４１ｃに設定する。当選番号は、内部当選フラグの設定、ナビ報知、コマンド作成、リール２Ｌ、２Ｃ、２Ｒの停止制御等に用いられる。
【００９９】
また、いずれかの役の当選が判定された場合には、当選番号に基づいて当選が判定された役に対応する当選フラグをＲＡＭ４１ｃに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、２バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、特別役格納ワーク及び一般役格納ワークをクリアする。
【０１００】
次に、リール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。メイン制御部４１は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、当選番号及びＲＯＭ４１ｂに格納されているテーブルインデックス、テーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【０１０１】
本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【０１０２】
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲で揃えずに停止させる制御が行われることとなる。特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【０１０３】
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。
【０１０４】
尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。
【０１０５】
本実施例においてメイン制御部４１は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間（本実施例では４．１秒）以上であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していれば、ウェイトを発生させず、その時点で当該ゲームにおける遊技のためのリールの回転を開始させる。一方、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間未満であれば、すなわち前のゲームのリール回転開始時点から規定時間が経過していなければ、ウェイトを発生させて、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が規定時間に到達するまで待機し、規定時間に到達した時点でリールの回転を開始させる。
【０１０６】
本実施例においてメイン制御部４１は、遊技状態やエラーの発生状況などを示す外部出力信号を出力する制御を行う。これら外部出力信号は、外部出力基板１０００、スロットマシン１が設置される遊技店（ホール）の情報提供端子板を介してホールコンピュータなどのホール機器に出力されるようになっている。
【０１０７】
メイン制御部４１は、賭数の設定に用いられたメダル数を示すメダルＩＮ信号、入賞の発生により遊技者に付与されたメダル数を示すメダルＯＵＴ信号、遊技状態がＲＢ（レギュラーボーナス）中の旨を示すＲＢ中信号、遊技状態がＢＢ（ビッグボーナス）中の旨を示すＢＢ中信号、後述するＡＲＴの開始を示すＡＲＴ信号、前面扉１ｂが開放中の旨を示すドア開放信号、後述する設定変更モードに移行している旨を示す設定変更信号、メダルセレクタの異常を示す投入エラー信号、ホッパーユニット３４の異常を示す払出エラー信号をそれぞれ出力する。
【０１０８】
外部出力基板１０００には、リレー回路、パラレル・シリアル変換回路、出力信号毎の端子が設けられ、情報提供端子板の回路と電気的に接続するための接続されるコネクタが設けられている。遊技制御基板４０から出力された信号のうち、メダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号、ＡＲＴ信号は、リレー回路を介して、そのままパルス信号として情報提供端子板に出力される。これに対してドア開放信号、設定変更信号、投入エラー信号、払出エラー信号は、パラレル・シリアル変換回路にて、これらの信号を個別に識別可能なシリアル信号であるセキュリティ信号に変換されて情報提供端子板に出力される。
【０１０９】
次に、メイン制御部４１がサブ制御部９１に対して送信するコマンドについて説明する。
【０１１０】
本実施例では、メイン制御部４１は、サブ制御部９１に対して、投入枚数コマンド、クレジットコマンド、遊技状態コマンド、ＡＲＴ状態コマンド、内部当選コマンド、押し順コマンド、フリーズコマンド、ＡＲＴ抽選結果コマンド、リール加速情報コマンド、加速完了コマンド、停止操作時コマンド、滑りコマ数コマンド、停止コマンド、遊技終了コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、待機コマンド、打止コマンド、エラーコマンド、復帰コマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。これらコマンドは、コマンドの種類を示す１バイトの種類データとコマンドの内容を示す１バイトの拡張データとからなり、サブ制御部９１は、種類データからコマンドの種類を判別できるようになっている。
【０１１１】
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、ＭＡＸＢＥＴスイッチ６が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
【０１１２】
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
【０１１３】
遊技状態コマンドは、当該ゲームの遊技状態（ＲＴ０〜４、ＲＢ）を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときに送信される。
【０１１４】
ＡＲＴ状態コマンドは、ＡＴ中か否か、ＡＲＴ中か否か、後述する規定ゲーム数に到達するまでの残りゲーム数、前兆期間の残りゲーム数、ＡＲＴの残りゲーム数を特定可能なコマンドであり、ゲームが開始したときであって、遊技状態コマンドの後に送信される。
【０１１５】
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときであって、ＡＲＴ状態コマンドの後に送信される。内部当選コマンドは、特別役が当選しているか否かを特定可能な第１の内部当選コマンドと、一般役が当選しているか否かを特定可能な第２の内部当選コマンドと、を含み、第１の内部当選コマンドが送信された後に、第２の内部当選コマンドが送信される。
【０１１６】
押し順コマンドは、停止順を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始されたときであって、内部当選コマンドが送信された後、及び各リールの停止操作に伴う停止制御が行われる毎に、停止コマンドが送信された後に送信される。尚、後述のナビ報知が実行されるゲームにおいては、ゲーム開始時から遊技者にとって有利な停止順を特定可能な押し順コマンドが送信され、後述のナビ報知が実行されないゲームにおいては、有利な停止順が確定するまでは遊技者にとって有利な停止順を特定不能な押し順コマンドが送信され、有利な停止順が確定したときから遊技者にとって有利な停止順を特定可能な押し順コマンドが送信される。
【０１１７】
遊技状態コマンド、ＡＲＴ状態コマンド、内部当選コマンドは、スタートスイッチ７が操作されてゲームが開始したときに送信されるので、これらコマンドを受信することで、スタートスイッチ７が操作されてゲームが開始したことを特定可能である。
【０１１８】
フリーズコマンドは、当該ゲームにおいて遊技の進行を所定期間にわたり遅延させるフリーズ状態に制御されるか否か、フリーズ状態に制御される場合にはその種類を特定可能なコマンドであり、ゲームが開始したときであって、内部当選コマンドの送信後に送信される。
【０１１９】
ＡＲＴ抽選結果コマンドは、後述のＡＲＴ抽選または上乗せ抽選に当選したか否か、当選したＡＲＴのゲーム数または上乗せされるゲーム数を特定可能なコマンドであり、ゲームが開始したときであって、ＡＲＴ抽選または上乗せ抽選が行われたゲームにおいて内部当選コマンドの送信後に送信される。
【０１２０】
リール加速情報コマンドは、遊技の進行に伴いリールの回転が開始する旨を特定可能なコマンドであり、遊技の進行に伴いリールの回転を開始するときに送信する。尚、フリーズ状態の終了に伴ってリールの回転を開始するときにも送信されるため、フリーズコマンドによりフリーズ状態の開始が特定された後、リール加速情報コマンドを受信することで遊技の進行に伴いリールの回転が開始する旨だけではなく、フリーズ状態の終了も特定可能となる。
【０１２１】
加速完了コマンドは、遊技の開始に伴うリールの加速が完了した旨を特定可能なコマンドであり、遊技が開始された際にリール２Ｌ、２Ｃ、２Ｒの回転が開始させた後、最初に全てのリール２Ｌ、２Ｃ、２Ｒが定速回転となったときに送信される。
【０１２２】
停止操作時コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。
【０１２３】
滑りコマ数コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止操作がされてから停止するまでに移動する滑りコマ数を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する停止操作時コマンドが送信された後に送信される。
【０１２４】
停止コマンドは、停止するリールが左リール、中リール、右リールのいずれのリールであるか、該当するリールの停止位置の領域番号を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に、対応する滑りコマ数コマンドが送信された後に送信される。
【０１２５】
停止操作時コマンド、滑りコマ数コマンド、停止コマンドは、いずれも停止するリールが左リール、中リール、右リールのいずれのリールであるか、を特定可能であり、かつ各リールの停止操作に伴う停止制御が行われる毎に送信されるので、これらコマンドを受信することで、いずれかのリールの停止操作がされたこと及び停止するリールを特定可能である。
【０１２６】
遊技終了コマンドは、遊技が終了された旨を特定可能なコマンドであり、遊技者が第３停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信される。
【０１２７】
入賞判定コマンドは、入賞の有無、入賞ラインＬＮに揃った図柄の組合せ、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、遊技者が第３停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときであり、遊技終了コマンドの送信後に送信される。
【０１２８】
遊技終了コマンド、入賞判定コマンドは、いずれも遊技者が第３停止リールを停止させるためにストップスイッチを押下して、そのストップスイッチを離したときに送信されるので、これらコマンドを受信することで、１ゲームを進行させるのに必要な全ての操作が終了したことを特定可能である。
【０１２９】
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
【０１３０】
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、１ゲーム終了後、賭数が設定されずに終了推定時間（本実施例では６０秒）経過して待機状態に移行するとき、クレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
【０１３１】
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ＢＢ終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
【０１３２】
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
【０１３３】
復帰コマンドは、メイン制御部４１が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部４１の起動時において電断前の制御状態に復帰した際に送信される。
【０１３４】
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部４１の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部４１の制御状態が初期化されたことを特定可能である。
【０１３５】
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
【０１３６】
ドアコマンドは、ドア開放検出スイッチ２５の検出状態、すなわちｏｎ（開放状態）／ｏｆｆ（閉状態）を示すコマンドであり、電源投入時、１ゲーム終了時（ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点）、及びドア開放検出スイッチ２５の検出状態が変化（ｏｎからｏｆｆ、ｏｆｆからｏｎ）したときに送信される。
【０１３７】
操作検出コマンドは、操作スイッチ類（ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の検出状態（ｏｎ／ｏｆｆ）を示すコマンドであり、一定時間毎に送信される。
【０１３８】
これらコマンドのうち操作検出コマンド以外のコマンドは、メイン処理において生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０１３９】
一方、操作検出コマンドは、タイマ割込処理（メイン）のコマンド送信処理が１０回実行される毎に、スイッチの検出状態に基づいて生成されるとともに、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０１４０】
次に、メイン制御部４１が演出制御基板９０に対して送信するコマンドに基づいてサブ制御部９１が実行する演出の制御について説明する。サブ制御部９１は、メイン制御部４１からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、ＲＡＭ９１ｃに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
【０１４１】
サブ制御部９１は、タイマ割込処理（サブ）において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてＲＯＭ９１ｂに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の各種演出装置の出力制御を行う。制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器５１の表示パターン、演出効果ＬＥＤ５２の点灯態様、スピーカ５３、５４の出力態様、リールＬＥＤ５５の点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部９１は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてＲＡＭ９１ｃに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
【０１４２】
尚、サブ制御部９１は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
【０１４３】
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、ＲＡＭ９１ｃに設定される。演出パターンの選択率は、ＲＯＭ９１ｂに格納された演出テーブルに登録されており、サブ制御部９１は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
【０１４４】
本実施例におけるスロットマシン１では、メイン制御部４１により、内部抽選結果に応じて遊技者にとって有利となる停止順を遊技補助表示器１２の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム（以下、ＡＴという）に制御可能となっている。
【０１４５】
メイン制御部４１は、ＡＴに制御している場合には、遊技状態に応じたナビ対象役に当選することにより、ナビ報知を実行して、当選したナビ報知役の当選番号に基づいて遊技者にとって有利となる停止順を報知するとともに、当該当選番号に基づいて遊技者にとって有利となる停止順を特定可能な押し順コマンドをサブ制御部９１に対して送信することで、液晶表示器５１等を用いたナビ演出を実行させる。また、本実施例においてメイン制御部４１は、ＡＴに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
【０１４６】
図６は、メイン制御部４１が用いるメモリ領域のアドレスマップである。図６に示すように、メイン制御部４１が用いるメモリ領域は、ＲＯＭ４１ｂに割り当てられたメモリ領域（００００Ｈ〜７ＦＦＦＨ）と、ＲＡＭ４１ｃに割り当てられたメモリ領域（Ｆ０００Ｈ〜ＦＦＦＦＨ）と、を含む。
【０１４７】
ＲＯＭ４１ｂのメモリ領域は、プログラム及び固定データが格納されるプログラム／データ領域（００００Ｈ〜２６ＦＦＨ）と、プログラムのタイトル、バージョン等の任意のデータを設定可能なＲＯＭコメント領域（２７００Ｈ〜２７７ＦＨ）と、後述するＣＡＬＬＶ命令のサブルーチンの上位アドレス及びタイマ割込処理（メイン）の先頭アドレスが設定されるベクタテーブル領域（２７８０Ｈ〜２７Ａ７Ｈ）と、メイン制御部４１の内部機能をハードウェア的に設定するためのパラメータが設定されるＨＷパラメータ領域（２７Ａ８Ｈ〜２７ＦＦＨ）と、アクセスが禁止される未使用領域（２８００Ｈ〜７ＦＦＦＨ）を含む。
【０１４８】
ＲＯＭ４１ｂにおけるＨＷパラメータ領域に設定されるパラメータは、プログラム／データ領域で使用するＲＯＭ領域の最終アドレス（ＨＰＲＧＥＮＤ）、アクセス禁止するＲＡＭ領域の開始アドレス（ＨＲＡＭＳＴＡＴ）及び最終アドレス（ＨＲＡＭＥＮＤ）を含む。
【０１４９】
ＲＡＭ４１ｃのメモリ領域は、ワークとして使用可能な使用可能領域（Ｆ０００Ｈ〜Ｆ４００Ｈ）と、メイン制御部４１に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域（Ｆ４Ｂ０Ｈ〜Ｆ６ＦＦＨ）と、アクセスが禁止される未使用領域（Ｆ４０１Ｈ〜Ｆ４ＡＦＨ、Ｆ７００Ｈ〜ＦＦＦＦＨ）と、を含む。
【０１５０】
図７は、メイン制御部４１のＲＯＭ４１ｂにおけるプログラム／データ領域及びＲＡＭ４１ｃにおける使用可能領域のアドレスマップである。
【０１５１】
図７（ａ）に示すように、ＲＯＭ４１ｂにおけるプログラム／データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域１と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域２と、を含む。
【０１５２】
尚、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階、を進行させることである。
【０１５３】
遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちＲＯＭ４１ｂの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも１６バイト以上の未使用領域１が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【０１５４】
また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも１６バイト以上の未使用領域１を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、を記憶領域の違いに応じて容易に特定することができる。
【０１５５】
尚、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。
【０１５６】
また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【０１５７】
また、遊技プログラム領域と、非遊技プログラム領域と、が未使用領域１を挟んで隣接する領域に割り当てられる構成としても良く、このような構成であっても、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【０１５８】
また、ＲＯＭ４１ｂのプログラム／データ領域の未使用領域１、２には、全ての領域に０値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域１、２と、を容易に区別することができるとともに、未使用領域１、２に不正なデータが格納されている場合でも容易に発見することができる。
【０１５９】
尚、ＲＯＭ４１ｂのプログラム／データ領域の未使用領域１、２における全ての領域に１が格納される構成としても良く、このような構成とした場合でも、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域１、２と、を容易に区別することができるとともに、未使用領域１、２に不正なデータが格納されている場合でも容易に発見することができる。
【０１６０】
また、遊技プログラム領域と、非遊技プログラム領域と、が別個の領域に割り当たられた構成であれば、遊技プログラム領域と、非遊技プログラム領域と、が隣接する領域にわら当てられる構成としても良く、このような構成であっても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【０１６１】
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを２進数表記した場合に下位４桁の値が同じ０のアドレス（０Ｈ）から開始するようになっており、ＲＯＭ４１ｂのプログラム／データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。
【０１６２】
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを２進数表記した場合に下位４桁の値が同じ０のアドレスから開始するだけでなく、１６進数表記した場合に下位１桁の値が同じ０のアドレス（０Ｈ）から開始するので、アドレスを２進数表記した場合だけでなく、１６進数表記した場合にも遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することができる。
【０１６３】
尚、遊技プログラム領域及び非遊技プログラム領域がいずれも、アドレスを２進数表記したか、１６進数表記したか、に関わらず、下位Ｎ（Ｎは１以上の自然数）桁が同じ値のアドレスから開始する構成であれば、遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することが可能であり、例えば、下位Ｎ（Ｎは１以上の自然数）桁の値が同じ１のアドレスから開始する構成でも同様の効果が得られるものである。
【０１６４】
図７（ｂ）に示すように、ＲＡＭ４１ｃの使用可能領域は、遊技プログラムがワークとして用いる遊技ＲＡＭ領域と、非遊技プログラムがワークとして用いる非遊技ＲＡＭ領域と、未使用領域４と、を含んでおり、遊技ＲＡＭ領域には、特別ワークと、重要ワークと、一般ワークと、未使用領域３と、遊技プログラムがデータを退避する遊技スタック領域と、が含まれ、非遊技ＲＡＭ領域には、遊技プログラムが参照可能な領域と、遊技プログラムが参照不可能な領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、が含まれる。尚、本実施例では、遊技スタック領域と非遊技スタック領域とをそれぞれ異なる領域に個別に備える構成であるが、遊技プログラム及び非遊技プログラムが共用する一のスタック領域を備える構成としても良い。
【０１６５】
未使用領域３は、遊技プログラム及び非遊技プログラムのいずれも使用しない領域であり、予め定められた容量の遊技ＲＡＭ領域に対して余剰となった領域である。
【０１６６】
また、未使用領域４は、遊技プログラム及び非遊技プログラムのいずれも使用しない１６バイト以上の領域である。遊技ＲＡＭ領域と、非遊技ＲＡＭ領域とが、未使用領域４を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技ＲＡＭ領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技ＲＡＭ領域と、を記憶領域の違いに応じて容易に特定することができる。
【０１６７】
以下では、遊技プログラム領域、遊技データ領域及び遊技ＲＡＭ領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技ＲＡＭ領域をまとめて非遊技領域と称す場合がある。また、未使用領域１及び未使用領域２、未使用領域３及び未使用領域４をまとめて未使用領域と称す場合がある。
【０１６８】
メイン制御部４１は、ＨＷパラメータ領域に設定されるパラメータに基づいて、ＲＯＭ４１ｂのプログラム／データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、ＲＡＭ４１ｃの使用可能領域のうちアクセスが許可に設定されていない領域へのアクセスがあったとき、ＲＯＭ４１ｂのうちプログラム／データ領域以外の領域へのアクセスがあったとき、ＲＡＭ４１ｃのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるので、ＲＯＭ４１ｂの未使用領域や動作とは関係しない領域、ＲＡＭ４１ｃの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
【０１６９】
特に本実施例では、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域（遊技プログラム領域から非遊技データ領域までの領域）へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム／データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１７０】
また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１７１】
尚、プログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、プログラム／データ領域のうち遊技プログラム領域を含む一かたまりの領域（遊技プログラム領域から遊技データ領域までの領域）、非遊技プログラムを含む一かたまりの領域（非遊技プログラム領域から非遊技データ領域までの領域）へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム／データ領域のうち遊技プログラム領域を含む一かたまりの領域（遊技プログラム領域から遊技データ領域までの領域）、非遊技プログラムを含む一かたまりの領域（非遊技プログラム領域から非遊技データ領域までの領域）へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１７２】
また、上記では、プログラム／データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム／データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。
【０１７３】
メイン制御部４１は、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、ＩＡＴ回路５０６ａがＩＡＴ発生信号を出力することで、遊技の進行を不能化させるので、ＲＯＭ４１ｂの未使用領域や動作とは関係しない領域、ＲＡＭ４１ｃの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
【０１７４】
特に本実施例では、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１７５】
また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１７６】
尚、プログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域（遊技プログラム領域から非遊技データ領域までの領域）について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域（遊技プログラム領域から非遊技データ領域までの領域）について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１７７】
また、上記では、プログラム／データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム／データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。
【０１７８】
メイン制御部４１が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンと、を含む。
【０１７９】
また、メイン制御部４１にプログラム／データ領域に格納されたプログラムを実行させる命令として、ＣＡＬＬ命令を含む。
【０１８０】
ＣＡＬＬ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部４１は、ＣＡＬＬ命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちＣＡＬＬ命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。
【０１８１】
また、ＣＡＬＬ命令は、通常のＣＡＬＬ命令と、特殊なＣＡＬＬ命令であるＣＡＬＬＶ命令と、を含む。通常のＣＡＬＬ命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、ＣＡＬＬＶ命令は、下位アドレスのみ指定することで、ＲＯＭ４１ｂのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であり、通常のＣＡＬＬ命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。
【０１８２】
ＲＳＴ命令は、予め定められた複数の特定アドレスに対応する値を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令であり、上記した通常のＣＡＬＬ命令やＣＡＬＬＶ命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。メイン制御部４１は、ＲＳＴ命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちＲＳＴ命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。
【０１８３】
ジャンプ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたプログラムに移動する命令である。メイン制御部４１は、ジャンプ命令により指定されたアドレスに格納されたプログラムに移動し、移動先のプログラムを実行する。この場合には、ＣＡＬＬ命令やＲＳＴ命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。
【０１８４】
また、メイン制御部４１にプログラム／データ領域に格納されたデータを読み出す命令としてＬＤ命令を含む。ＬＤ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部４１は、ＬＤ命令により指定されたアドレスに格納されたデータを読み出し、ＬＤ命令により指定されたレジスタに読み出したデータを格納する。
【０１８５】
ＲＯＭ４１ｂに格納された遊技プログラムのうち特に使用頻度の高いサブルーチンは、ＲＯＭ４１ｂの遊技プログラム領域のうち先頭アドレスが特定値（例えば００Ｈ）となる領域に格納されている。一方、ＲＯＭ４１ｂのベクタテーブル領域には、ＣＡＬＬＶ命令で呼び出すサブルーチンの上位アドレスとして特定値が設定されている。そして、メイン制御部４１は、先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、ＣＡＬＬＶ命令を用いて下位アドレスのみ指定することで、上位アドレスとしてベクタテーブル領域に設定された特定値を特定し、下位アドレスとして指定された下位アドレスを特定し、上位及び下位を合わせたアドレスに格納されたサブルーチンを呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが特定値として予めベクタテーブルに設定されており、ベクタテーブルに設定された特定値に基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のＣＡＬＬ命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１８６】
尚、ＲＯＭ４１ｂに格納された非遊技プログラムのうち特に使用頻度の高いサブルーチンを、ＲＯＭ４１ｂの非遊技プログラム領域のうち先頭アドレスが特定値となる領域に格納するとともに、ＲＯＭ４１ｂのベクタテーブル領域に、ＣＡＬＬＶ命令で呼び出すサブルーチンの上位アドレスとして特定値を設定し、メイン制御部４１が先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、ＣＡＬＬＶ命令を用いて下位アドレスのみ指定することで、これらのサブルーチンを呼び出して実行する構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のＣＡＬＬ命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１８７】
また、ＣＡＬＬＶ命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部４１の特定のレジスタに設定する構成としても良い。
【０１８８】
また、ＣＡＬＬＶ命令に限らず、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、サブルーチンの格納アドレスが特定可能となる特殊なＣＡＬＬ命令を用いる構成であれば、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれサブルーチンの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたサブルーチンの格納アドレスを特定可能となる特殊なＣＡＬＬ命令を用いる構成であっても、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１８９】
また、ＲＯＭ４１ｂに格納された遊技データのうち特に使用頻度の高い遊技データを、ＲＯＭ４１ｂの遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ＲＯＭ４１ｂのベクタテーブル領域に、特殊なＬＤ命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部４１が先頭アドレスの上位アドレスが特定値となる遊技データを呼び出すときに、特殊なＬＤ命令を用いて下位アドレスのみ指定することで、これらの遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のＬＤ命令に比較して少ないデータ量にて遊技データを呼び出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１９０】
また、ＲＯＭ４１ｂに格納された非遊技データのうち特に使用頻度の高い非遊技データを、ＲＯＭ４１ｂの非遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ＲＯＭ４１ｂのベクタテーブル領域に、特殊なＬＤ命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部４１が先頭アドレスの上位アドレスが特定値となる非遊技データを呼び出すときに、特殊なＬＤ命令を用いて下位アドレスのみ指定することで、これらの非遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のＬＤ命令に比較して少ないデータ量にて非遊技データを呼び出すことが可能となり、これらの非遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１９１】
また、これらの場合でも特殊なＬＤ命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部４１の特定のレジスタに設定する構成としても良い。
【０１９２】
また、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、データの格納アドレスが特定可能となる特殊なＬＤ命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なＬＤ命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１９３】
メイン制御部４１は、システムリセット信号の入力によるシステムリセット、ＷＤＴ５０６ｂによるＷＤＴリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値、すなわちＣＡＬＬＶ命令のサブルーチンの上位アドレス及びタイマ割込処理（メイン）の先頭アドレスが、プログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはＦＦＦＦＨ（未使用のベクタテーブル領域に設定される値）であるか、を判定し、ベクタテーブル領域に設定された値がプログラムが設定される領域外を示す値でもなく、ＦＦＦＦＨでもない場合には、起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
【０１９４】
遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。
【０１９５】
遊技プログラムは、図８に示すように、遊技プログラムだけに含まれる遊技専用プログラムと、遊技プログラム及び非遊技プログラム双方に含まれる共通判定プログラム及び共通汎用プログラムと、を含む。
【０１９６】
遊技専用プログラムは、例えば、遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理、外部出力１処理、初期設定処理、電断処理、エラー処理を含む。遊技開始待ち処理は、１ゲームの制御の終了後、メダルの投入等により賭数を設定し、規定数の賭数が設定された後、スタートスイッチ７が操作されることでゲームを開始させるための処理であり、内部抽選処理は、内部抽選を行い、当選フラグの設定等を行う処理であり、リール制御処理は、リールの回転を開始させ、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されることでリールを停止させるための処理であり、遊技終了時設定処理は、停止したリールの停止位置に応じて入賞が発生したか否かを判定し、メダルの払出、再遊技の設定、遊技状態の移行等を行うための処理であり、外部出力１処理は、外部出力信号のうちメダルＩＮ信号、メダルＯＵＴ信号、ＲＢ中信号、ＢＢ中信号、ＲＴ中信号の出力制御を行うための処理であり、初期設定処理は、電源投入時においてゲームを可能な状態とするための処理（バックアップ異常確認、レジスタ初期化等）であり、電断処理は、電断発生時に、その後電断前の状態に復帰できるようにするための処理であり、エラー処理は、各種の異常（メダルの投入異常、メダルセレクタ２９内の異物検知、リール回転異常、メダルの払出異常、払出口付近の異物検知、ＲＡＭ異常、設定値異常、ホッパータンク３４ａの空、オーバーフロータンク３５の満タン検知等）が検知された場合に遊技を不能化するための処理である。また、特に図示しないが、遊技プログラムは、前述のＡＴに関連する処理（ＡＴに係る抽選やナビ報知に係る制御等）も含む。
【０１９７】
遊技プログラムにおける共通判定プログラムは、例えば、投入判定処理、払出判定処理を含む。投入判定処理は、投入メダルセンサ３１によるメダルの正常な通過であるか否かを判定する処理であり、賭数の設定等のためにメダルの投入が可能な状態において実行される処理である。払出判定処理は、払出センサ３４ｃによるメダルの正常な通過であるか否かを判定する処理であり、小役の入賞時やクレジットの精算時にメダルの払出が許可されている状態において実行される処理である。
【０１９８】
遊技プログラムにおける共通汎用プログラムは、遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、ＬＥＤ表示処理、データ設定処理、コマンド設定処理を含む。カウンタ更新処理は、指定されたカウンタ値を更新するための処理であり、ポート入力処理は、指定されたポートの入力状態を取得する処理であり、データ変換処理は、遊技データを用いて入力されたデータを変換して出力する処理であり、ＬＥＤ表示処理は、指定された値をＬＥＤに表示させるために設定する処理であり、データ設定処理は、指定されたデータを設定する処理であり、コマンド設定処理は、指定されたコマンドをコマンドキューに設定する処理である。
【０１９９】
特に、遊技プログラムは、上述のように異常が検知された場合に、異常の種別に応じた解除条件（乱数異常、ＲＡＭ異常、バックアップ異常、設定値異常の場合は、設定値の再設定、それ以外の異常の場合はリセット操作）が成立するまで遊技の進行を不能化するエラー処理を含む。
【０２００】
非遊技プログラムは、図８に示すように、非遊技プログラムだけに含まれる非遊技専用プログラムと、遊技プログラムと同じ共通判定プログラム及び共通汎用プログラムと、を含む。
【０２０１】
非遊技専用プログラムは、例えば、試験信号出力処理、異物検知処理、ドア監視処理、外部出力２処理、投入メダルエラー判定処理、払出メダルエラー判定処理、停電判定処理、通常時コマンド送信処理、電断時コマンド送信処理を含む。試験信号出力処理は、遊技の結果に関連して発生する試験信号を出力するための処理であり、異物検知処理は、投入口センサ２６によるメダル通路内の異物を検知するための処理であり、ドア監視処理は、前面扉１ｂの開放を検知するための処理であり、外部出力２処理は、外部出力信号のうちセキュリティ信号（ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号）の出力制御を行うための処理であり、投入メダルエラー判定処理は、投入メダルセンサ３１の検出状況に基づいて投入メダルの逆流検知、メダルセレクタ２９内のメダル詰り検知、メダルセレクタ２９内の異物検知を行うための処理であり、払出メダルエラー判定処理は、払出センサ３４ｃの検出状況に基づいて払出メダルの逆流検知、払出口付近のメダル詰り検知、払出口付近の異物検知を行うための処理であり、停電判定処理は、電断検出回路４８からの電圧低下信号が検出されているか否かを判定するための処理であり、通常時コマンド送信処理は、遊技専用プログラム及び非遊技専用プログラムのコマンド設定処理によりコマンドキューに設定されているコマンドのうち最初に設定された一のコマンドをサブ制御部９１に対して送信するための処理であり、電断時コマンド送信処理は、コマンドキューに設定されている全てのコマンドをサブ制御部９１に対して送信するための処理である。
【０２０２】
非遊技プログラムにおける共通汎用プログラムは、非遊技プログラムを構成する複数種類の処理から呼び出されて実行される処理であり、遊技プログラムにおける共通汎用プログラムと同様に、例えば、カウンタ更新処理、ポート入力処理、データ変換処理、ＬＥＤ表示処理、データ設定処理、コマンド設定処理を含む。
【０２０３】
非遊技プログラムは、遊技の進行に係わらない検知手段（投入口センサ２６、満タンセンサ３５ａ、ドア開放検出スイッチ２５）の検出状況に基づいて所定の検出状況か否かを判定する処理を含む。
【０２０４】
また、非遊技プログラムは、複数の制御状態（遊技開始待ち処理、内部抽選処理、リール制御処理、遊技終了時設定処理）のうち特定の制御状態においては、遊技の進行に係わる検知手段として機能し、他の制御状態においては、遊技の進行に係わらない検出手段として機能する検出手段（例えば、投入メダルセンサ３１、払出センサ３４ｃ）が、遊技の進行に係わらない制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理（例えば、リール回転中のメダルの投入やメダルの払出が検出されたことによる異常を検知するための投入メダルの検出処理や払出メダルの検出処理）を含む。尚、このような判定処理は、遊技プログラムにおいて遊技の進行に係わる制御状態での検出状況に基づいて所定の検出状況か否かを判定する処理と同じ処理であるため、共通判定プログラムに該当する。
【０２０５】
尚、遊技プログラムに含まれる処理のうち、外部出力１処理、遊技開始待ち処理においてメダルの投入数を計数する処理、流路切替ソレノイド３０を切り替える処理、遊技終了時設定処理においてメダルの払出数を計数する処理、ホッパータンク３４ａが空になったことを検知する処理、ソフトウェア乱数を更新する処理、ＡＴに関連する処理、内部当選コマンドの送信処理等、ゲームの進行に直接的には関連しないものであればこれらの処理の全部または一部が非遊技プログラムに含まれる構成であっても良い。一方で、非遊技プログラムに含まれる処理のうち遊技の進行に間接的に関連するものであればこれらの処理の全部または一部が遊技プログラムに含まれる構成であっても良い。
【０２０６】
本実施例においてメイン制御部４１のＣＰＵ４１ａは、図９に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。
【０２０７】
図９に示すように、ＣＰＵ４１ａは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技ＲＡＭ領域をワークとして使用し、遊技ＲＡＭ領域の内容を参照及び更新することが可能である。また、ＣＰＵ４１ａは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技ＲＡＭ領域をワークとして使用し、非遊技ＲＡＭ領域の内容を参照及び更新することが可能である。
【０２０８】
また、ＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を更新することはないが、非遊技ＲＡＭ領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０２０９】
また、遊技プログラムに基づく処理は、非遊技ＲＡＭ領域のうち遊技プログラムに必要な特定の領域（例えば、異常の検知を示すエラーフラグの設定領域等）のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされている。また、非遊技ＲＡＭ領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技ＲＡＭ領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。
【０２１０】
このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技ＲＡＭ領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。
【０２１１】
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてＲＯＭ４１ｂに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
【０２１２】
また、本実施例では、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【０２１３】
また、本実施例では、遊技プログラムに基づく処理は、非遊技ＲＡＭ領域のうち遊技プログラムに必要な特定の領域（例えば、異常の検知を示すエラーフラグの設定領域等）のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされているので、遊技プログラムが非遊技ＲＡＭ領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。
【０２１４】
本実施例のメイン制御部４１は、図１０（ａ）に示すように、メイン処理の実行中に、遊技プログラムに基づく処理から非遊技プログラムを呼び出すことが可能であり、図１０（ｂ）に示すように、タイマ割込処理の実行中に、遊技プログラムに基づく処理から非遊技プログラムを呼び出すことが可能である。
【０２１５】
図１０（ａ）に示すように、遊技プログラムに基づくメイン処理から非遊技プログラムを呼び出す際に、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスを特定の領域に設定し、共通呼出処理１を実行する。共通呼出処理１は、遊技プログラムに含まれる処理であり、共通呼出処理１では、遊技プログラムのレジスタを遊技スタック領域に退避させるとともに、スタックポインタ（ＳＰ、遊技スタック領域の現在の位置を示すアドレス）を遊技ＲＡＭ領域のＳＰ退避領域に退避したうえで、割込マスタ許可フラグの値を割込禁止を示す値に設定することでタイマ割込を禁止に設定し、その後、特定の領域に設定されているアドレスの非遊技プログラムを呼び出す。
【０２１６】
これに対して、呼び出された非遊技プログラムに基づいて、非遊技プログラムのスタックポインタ（非ＳＰ、非遊技スタック領域の現在の位置を示すアドレス）を設定して、非遊技プログラムの処理を実行した後、呼び出し元の遊技プログラム、すなわち共通呼出処理１に復帰する。
【０２１７】
共通呼出処理１に復帰した後には、共通呼出処理１は、割込マスタ許可フラグの値を割込許可を示す値に設定することでタイマ割込の禁止を解除し、遊技スタック領域及びＳＰ退避領域に退避させていたデータに基づいて、レジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。
【０２１８】
このように、本実施例では、遊技プログラムが非遊技プログラムを呼び出す際に、共通呼出処理１により、割込を禁止に設定し、当該非遊技プログラムから遊技プログラムに復帰する際に、割込の禁止を解除するので、非遊技プログラムが実行されている期間にわたり割込を禁止に設定することができる。
【０２１９】
尚、非遊技プログラムが、遊技プログラムに基づくメイン処理から呼び出された場合に、当該非遊技プログラムが、最初に割込を禁止に設定したうえで、各種処理を実行し、当該非遊技プログラムの最後に割込の禁止を解除する構成としても良く、このような構成とすることで、本実施例と同様に、非遊技プログラムが実行されている期間にわたり割込を禁止に設定することができる。また、非遊技プログラムにより割込の禁止及び解除の設定が行われるため、遊技プログラムの共通呼出処理１において割込の禁止の設定及び解除する必要がなくなり、遊技プログラムの容量を削減することができる。
【０２２０】
図１０（ｂ）に示すように、遊技プログラムに基づくタイマ割込処理から非遊技プログラムを呼び出す際に、当該遊技プログラムでは、呼び出す対象の非遊技プログラムの開始アドレスを特定の領域に設定し、共通呼出処理２を実行する。共通呼出処理２では、遊技プログラムのレジスタを遊技スタック領域に退避させるとともに、スタックポインタ（ＳＰ、遊技スタック領域の現在の位置を示すアドレス）を遊技ＲＡＭ領域のＳＰ退避領域に退避したうえで、特定の領域に設定されているアドレスの非遊技プログラムを呼び出す。
【０２２１】
これに対して、呼び出された非遊技プログラムは、非遊技プログラムのスタックポインタを設定し、非遊技プログラムの処理を実行した後、呼び出し元の共通呼出処理２に復帰する。
【０２２２】
共通呼出処理２に復帰した後には、共通呼出処理２は、遊技スタック領域及びＳＰ退避領域に退避させていたデータに基づいてレジスタ及び遊技プログラムのスタックポインタを、非遊技プログラムを呼び出す前の状態に復帰させて終了する。
【０２２３】
このように、共通呼出処理２では、呼出共通処理１と異なり、タイマ割込を禁止に設定及び解除しないが、上述のようにメイン制御部４１では、タイマ割込処理の実行中に他の割込処理が実行されることが禁止されているので、非遊技プログラムが実行されている期間にわたり割込を禁止できる。
【０２２４】
本実施例では、遊技プログラムが、共通呼出処理１及び共通呼出処理２を実行することで、非遊技プログラムを呼び出して非遊技プログラムを実行する際に、遊技プログラムが実際に使用していたレジスタであるか否かに関わらずレジスタの全ての領域を退避させて保護する処理が行われるため、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができる。
【０２２５】
尚、共通呼出処理１及び共通呼出処理２を実行することなく、遊技プログラムにおいて遊技プログラムに基づく処理から非遊技プログラムを呼び出す直前に遊技プログラムが使用していたレジスタの値を保護し、非遊技プログラムに基づく処理が全て終了した後に、遊技プログラムに復帰した最初の段階で保護されているレジスタの値を復帰させる構成としても良く、このような構成とすることで、非遊技プログラムの呼び出し前にレジスタの保護処理が行われ、非遊技プログラムからの復帰後にレジスタの復旧処理が行われるため、非遊技プログラムによってレジスタに記憶されたデータが遊技プログラムに影響を及ぼすことがない。
【０２２６】
また、非遊技プログラムが呼び出された場合に、当該非遊技プログラムが、最初に遊技プログラムのスタックポインタ及びレジスタを退避させ、当該非遊技プログラムの最後に遊技プログラムのスタックポインタ及びレジスタを復帰させる構成としても良く、このような構成とすることで、本実施例と同様に、遊技プログラムに復帰する際に、非遊技プログラムが呼び出された時点の状態から確実に復帰することができるとともに、遊技プログラムの容量を削減することができる。
【０２２７】
本実施例のメイン制御部４１は、主にメイン処理に一定間隔（約０．５６ｍｓの間隔）で割り込んで実行するタイマ割込処理（メイン）を実行可能である。尚、タイマ割込処理（メイン）とは、タイマ回路５０９のカウントに応じて発生する割込により実行される処理であり、タイマ割込処理（メイン）のプログラムが格納されたアドレスは、ベクタテーブルのタイマ割込に対応する値として設定されている。そして、タイマ割込が発生すると当該アドレスからの処理が実行される。また、タイマ割込処理（メイン）の実行期間中は自動的に他の割込が禁止される。
【０２２８】
本実施例では、タイマ割込処理（メイン）は、遊技プログラムに含まれる一方、タイマ割込処理（メイン）内において実行される停電判定処理、電断時コマンド送信処理、通常時コマンド送信処理、ドア監視処理は、非遊技プログラムに含まれており、メイン制御部４１は、タイマ割込処理（メイン）において割込禁止を設定し、遊技プログラムのスタックポインタ及びレジスタを退避させたうえで、これらの非遊技プログラムを呼び出すようになっている。また、これらの非遊技プログラムからタイマ割込処理（メイン）に復帰した際には、遊技プログラムのスタックポインタ及びレジスタを当該非遊技プログラムの呼び出し前の状態に復帰させたうえで、その後の処理を実行するようになっている。尚、メイン制御部４１は、割込処理の実行中に他の割込を禁止するように設定されているので、非遊技プログラムから復帰した後も割込禁止の状態で、その後の処理を実行する。
【０２２９】
また、タイマ割込処理（メイン）において実行する非遊技プログラムである停電判定処理、電断時コマンド送信処理、通常時コマンド送信処理、ドア監視処理は、これら非遊技プログラムの前に実行する必要のある処理（例えば、タイマ割込の分岐前に実行する必要のあるポート入力処理、モータ位相信号出力処理）を除く処理、すなわち非遊技プログラムよりも先に行っても後に行っても制御上影響のない処理よりも前に実行するようになっている。
【０２３０】
本実施例のメイン制御部４１は、遊技の進行に係る遊技プログラムと、当該遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行することが可能であり、遊技プログラムに基づくメイン処理を実行するとともに、所定時間間隔毎にメイン処理に割り込んで遊技プログラムに基づくタイマ割込処理（メイン）を実行することが可能であって、メイン処理からも、タイマ割込処理（メイン）からも、非遊技プログラムを呼び出して実行することが可能である。
【０２３１】
このような構成では、メイン制御部４１では、非遊技プログラムを実行中にタイマ割込処理（メイン）が実行されることにより誤作動が生じる虞がある。
【０２３２】
これに対して、本実施例のメイン制御部４１は、遊技の進行に係る遊技プログラムと、当該遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行することが可能であり、遊技プログラムに基づくメイン処理を実行するとともに、所定時間間隔毎にメイン処理に割り込んで遊技プログラムに基づくタイマ割込処理（メイン）を実行することが可能であって、メイン処理からも、タイマ割込処理（メイン）からも、非遊技プログラムを呼び出して実行することが可能な構成において、メイン処理から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定した後に、当該非遊技プログラムを呼び出す一方で、タイマ割込処理（メイン）から非遊技プログラムを呼び出すとき、すなわち、さらに割込が生じる可能性が低い状況において非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定せずに、非遊技プログラムを呼び出すので、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止しつつ、割込の禁止に係るプログラム容量を削減することができる。
【０２３３】
本実施例のメイン制御部４１が実行するタイマ割込処理（メイン）は、遊技プログラムによる処理、例えば、ＬＥＤダイナミック表示処理や制御信号等出力処理等と、非遊技プログラムによる処理、例えば、通常時コマンド送信処理や、電断時コマンド送信処理等の処理と、を含む複数の処理により構成されており、該タイマ割込処理（メイン）を構成する複数の処理のうち、所定の遊技プログラムによる処理、特に、これら非遊技プログラムの先に実行しても後に実行しても問題のない処理よりも前に、非遊技プログラムを呼び出すので、すなわち、タイマ割込処理（メイン）を構成する複数の処理のうち極力早い段階で非遊技プログラムを呼び出すので、例えば、何らかの原因によりタイマ割込処理（メイン）が終了しないまま、次回タイマ割込が発生して二重に割込が生じてしまった場合でも、非遊技プログラムの実行中に他の割込が実行されてしまうことを防止できる。
【０２３４】
本実施例のメイン制御部４１は、遊技プログラムと非遊技プログラムとを実行可能であり、遊技プログラムが用いるデータを退避する遊技スタック領域と、非遊技プログラムが用いるデータを退避する非遊技スタック領域と、が別個に設けられたＲＡＭ４１ｃを備えており、メイン制御部４１は、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を別個に設けられたスタック領域にそれぞれ退避させるので、スタック領域の管理が容易となる。特に、タイマ割込の発生により退避される遊技プログラムが用いるデータと、タイマ割込処理（メイン）の実行中に行われる非遊技プログラムが用いるデータと、が混在して一のスタック領域に格納されるようなことがないので、スタックの管理が煩雑となってしまうことがない。
【０２３５】
本実施例のメイン制御部４１は、非遊技プログラムを実行する際に、遊技プログラムで用いているレジスタ値を遊技スタック領域に退避した後、非遊技プログラムを呼び出して、当該非遊技プログラムにおける処理を実行し、非遊技プログラムにおける処理が終了したときに、退避させたレジスタ値を復帰させるので、非遊技プログラムを実行するのに伴い遊技プログラムが用いていたレジスタの値が変更されてしまうことを防止できる。
【０２３６】
また、遊技プログラムに基づく処理から非遊技プログラムを呼び出す際に、遊技プログラムで用いているレジスタの値を遊技スタック領域に退避させる呼出共通処理１または呼出共通処理２を呼び出すようになっており、メイン処理において非遊技プログラムを実行するためのプログラムを共通化することで、プログラム容量を削減できる。
【０２３７】
尚、本実施例では、メイン処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、呼出共通処理１を実行する一方、タイマ割込処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際には、呼出共通処理１とは異なる呼出共通処理２を実行することで、遊技プログラムで用いているレジスタの値を遊技スタック領域に退避させる構成であるが、メイン処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際にも、タイマ割込処理において遊技プログラムに基づく処理から非遊技プログラムを呼び出す際にも、共通の呼出共通処理を実行する構成であっても良い。
【０２３８】
尚、本実施例のメイン制御部４１は、メイン処理からも、タイマ割込処理（メイン）からも、非遊技プログラムを呼び出して実行することが可能な構成であり、メイン処理から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定して、当該非遊技プログラムを呼び出す一方で、タイマ割込処理（メイン）から非遊技プログラムを呼び出すときには、他の処理の割込を禁止に設定せずに、非遊技プログラムを呼び出す構成であるが、メイン制御部４１は、メイン処理から非遊技プログラムを呼び出すときにも、タイマ割込処理（メイン）から非遊技プログラムを呼び出すときにも、他の処理の割込を禁止する構成としても良い。
【０２３９】
このような構成では、メイン制御部４１は、メイン処理から非遊技プログラムを呼び出すときだけでなく、タイマ割込処理（メイン）から非遊技プログラムを呼び出すときにも、他の処理の割込を禁止するので、本実施例と同様に、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止することができる。
【０２４０】
特に、タイマ割込処理（メイン）を実行するときに、割込禁止が設定され、タイマ割込処理（メイン）の終了時に割込禁止が解除されることで、タイマ割込処理（メイン）の実行中に他の処理の割込が禁止されることとなるが、この場合でも、タイマ割込処理（メイン）から非遊技プログラムを呼び出すときに再度他の処理の割込を禁止するので、何らかの原因により割込禁止設定が解除されてしまった場合でも、非遊技プログラムの実行中に割込が実行されることによる誤作動を防止することができる。
【０２４１】
また、前述のようにタイマ割込処理（メイン）を実行するときに、割込禁止が設定され、タイマ割込処理（メイン）の終了時に割込禁止が解除されることで、タイマ割込処理（メイン）の実行中に他の処理の割込が禁止される構成であるが、タイマ割込処理（メイン）から非遊技プログラムを呼び出すときに再度他の処理の割込を禁止する場合には、非遊技プログラムの呼び出し時に設定した他の処理の割込の禁止の設定を、該非遊技プログラムの終了後も維持することで、タイマ割込処理（メイン）の実行中にも関わらず、非遊技プログラムの実行により割込の禁止が解除されてしまうことを防止できる。
【０２４２】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について、図１１に基づいて説明する。
【０２４３】
本実施例のメイン制御部４１は、設定変更処理の開始時において、ＲＡＭ４１ｃの記憶内容が破壊されていると判定した場合に、遊技ＲＡＭ領域、未使用領域４、非遊技ＲＡＭ領域を初期化する、すなわち使用可能領域の全ての領域を初期化する初期化０を行う。
【０２４４】
また、設定変更処理の開始時において、ＲＡＭ４１ｃの記憶内容が破壊されていないと判定した場合に、遊技ＲＡＭ領域のうち特別ワークを除く領域、未使用領域４、非遊技ＲＡＭ領域を初期化する、すなわち使用可能領域のうち特別ワーク以外の領域を初期化する初期化１を行う。
【０２４５】
また、設定変更処理の終了時において、遊技ＲＡＭ領域のうち重要ワーク、一般ワーク、未使用領域３、遊技スタック領域（未使用）を初期化する、すなわち遊技ＲＡＭ領域のうち特別ワーク及び遊技スタック領域（使用中）以外の領域を初期化する初期化２を行う。
【０２４６】
また、特定の遊技状態の終了時であり、かつ１ゲーム終了時に、遊技ＲＡＭ領域のうち一般ワーク、未使用領域３及び遊技スタック領域（未使用）を初期化する初期化３を行う。
【０２４７】
また、特定の遊技状態の終了時でない１ゲーム終了時に、遊技ＲＡＭ領域のうち未使用領域３、遊技スタック領域（未使用）を初期化する初期化４を行う。
【０２４８】
このように、本実施例のメイン制御部４１は、所定条件が成立したときに初期化０〜４を行い、所定条件として第１の条件が成立したときに、ＲＡＭ４１ｃの使用可能領域のうちの遊技プログラムが用いるデータが記憶されている遊技ＲＡＭ領域の少なくとも一部を初期化し、所定条件として第２の条件が成立したときに、遊技ＲＡＭ領域の少なくとも一部と、ＲＡＭ４１ｃの使用可能領域のうちの非遊技プログラムが用いる非遊技ＲＡＭ領域の少なくとも一部を初期化する。
【０２４９】
具体的には、図１１に示すように、第１の条件として、１ゲームの終了時には、使用可能領域のうち遊技ＲＡＭ領域の一部である、未使用領域３及び遊技スタック領域（未使用）を初期化するが、使用可能領域のうち非遊技ＲＡＭ領域は初期化しない。また、第１条件として、特定の遊技状態の終了時には、使用可能領域のうち遊技ＲＡＭ領域の一部である一般ワーク、未使用領域３、遊技スタック領域（未使用）を初期化するが、使用可能領域のうち非遊技ＲＡＭ領域は初期化しない。また、第１条件として、設定変更状態が終了した後には、使用可能領域のうち遊技ＲＡＭ領域の一部である重要ワーク、一般ワーク、未使用領域３、遊技スタック領域（未使用）を初期化するが、使用可能領域のうち非遊技ＲＡＭ領域は初期化しない。
【０２５０】
一方、第２の条件として、設定変更状態を開始したときに、ＲＡＭに異常がない場合には、使用可能領域のうち遊技ＲＡＭ領域の一部である重要ワーク、一般ワーク、未使用領域３、遊技スタック領域（未使用）、遊技スタック領域（使用）を初期化するとともに、非遊技ＲＡＭ領域の全ての領域を初期化する。また、設定変更状態を開始したときに、ＲＡＭに異常がある場合には、使用可能領域のうち遊技ＲＡＭ領域の全ての領域を初期化するとともに、遊技ＲＡＭ領域の全ての領域を初期化する。
【０２５１】
本実施例のメイン制御部４１は、遊技の進行に係わる遊技プログラムと、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムと、を実行可能であり、遊技プログラム及び非遊技プログラムを記憶するＲＯＭ４１ｂを備えている。
【０２５２】
このような構成では、一のＲＯＭ４１ｂにおいて遊技プログラムと、非遊技プログラムと、が混在していると、どのプログラムが遊技の進行に係わるプログラムであるかの判別が困難である。
【０２５３】
これに対して、本実施例では、ＲＯＭ４１ｂは、遊技プログラムが記憶される遊技プログラム領域と、非遊技プログラムが記憶される非遊技プログラム領域と、を含んでおり、遊技プログラム領域と、非遊技プログラム領域と、がそれぞれ別個に割り当てられているため、遊技プログラムと、非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【０２５４】
また、本実施例のメイン制御部４１は、遊技プログラムのワークとして用いられ、遊技プログラムが用いるデータを記憶する遊技ＲＡＭ領域と、非遊技プログラムのワークとして用いられ、非遊技プログラムが用いるデータを記憶する非遊技ＲＡＭ領域と、を含むＲＡＭ４１ｃを備えており、ＲＡＭ４１ｃにおいて遊技ＲＡＭ領域と、非遊技ＲＡＭ領域と、がそれぞれ別個に割り当てられているため、遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、を記憶領域の違いに応じて容易に特定することができるとともに、メイン制御部４１は、第１の初期化条件が成立したときに、遊技ＲＡＭ領域の少なくとも一部を初期化し、第２の初期化条件が成立したときに、遊技ＲＡＭ領域の少なくとも一部を初期化するとともに、非遊技ＲＡＭ領域の少なくとも一部を初期化するため、ＲＡＭ４１ｃに記憶されている遊技プログラムが用いるデータと非遊技プログラムが用いるデータのうち状況に応じて適切なデータを初期化することができる。
【０２５５】
本実施例のメイン制御部４１は、第１の初期化条件として、１ゲームが終了した時には、遊技ＲＡＭ領域のうちの一部である未使用領域３及び遊技スタック領域（未使用）を初期化し、第１の初期化条件として、特別な遊技状態（ＢＢ）が終了した時で、かつ１ゲームが終了した時には、遊技ＲＡＭ領域のうちの一部である一般ワーク、未使用領域３及び遊技スタック領域（未使用）を初期化し、第１の初期化条件として、設定変更が終了し、メイン処理が開始されたときには、遊技ＲＡＭ領域のうちの一部である重要ワーク、一般ワークの領域、未使用領域３及び遊技スタック領域（未使用）を初期化するので、状況に応じて適切なデータを初期化することができる。
【０２５６】
また、本実施例のメイン制御部４１は、第２の初期化条件として、設定変更開始時でＲＡＭに異常がないときには、遊技ＲＡＭ領域のうち一部である重要ワーク、一般ワーク、未使用領域３、遊技スタック領域（未使用）及び遊技スタック領域（使用中）を初期化するとともに、非遊技ＲＡＭ領域のうち、遊技プログラムから参照される領域、遊技プログラムから参照されない領域、非遊技スタック領域（未使用）及び非遊技スタック領域（使用中）、すなわち非遊技ＲＡＭ領域の全ての領域を初期化し、第２の初期化条件として、設定変更開始時でＲＡＭに異常があるときには、遊技ＲＡＭ領域のうち、特別ワーク、重要ワーク、一般ワーク、未使用領域３、遊技スタック領域（未使用）及び遊技スタック領域（使用中）、すなわち遊技ＲＡＭ領域の全ての領域を初期化するとともに、非遊技ＲＡＭ領域のうち、遊技プログラムから参照される領域、遊技プログラムから参照されない領域、非遊技スタック領域（未使用）及び非遊技スタック領域（使用中）、すなわち非遊技ＲＡＭ領域の全ての領域を初期化するため、ＲＡＭ４１ｃに記憶されている遊技プログラムが用いるデータと、非遊技プログラムが用いるデータと、のうち状況に応じて適切なデータを初期化することができる。
【０２５７】
尚、本実施例のメイン制御部４１は、第１の初期化条件が成立したときに、遊技ＲＡＭ領域の一部の領域を初期化する構成であるが、メイン制御部４１は、第１の初期化条件が成立したときに、遊技ＲＡＭ領域の少なくとも一部の領域を初期化するものであれば良く、遊技ＲＡＭ領域の全ての領域を初期化するものでも良い。
【０２５８】
また、本実施例のメイン制御部４１は、第２の初期化条件が成立したときに、遊技ＲＡＭ領域の一部を初期化するとともに、非遊技ＲＡＭ領域の全ての領域を初期化する構成であるが、メイン制御部４１は、第２の初期化条件が成立したときに遊技ＲＡＭ領域の少なくとも一部の領域を初期化するとともに、非遊技ＲＡＭ領域の少なくとも一部の領域を初期化するものであれば良く、遊技ＲＡＭ領域の全ての領域を初期化するものでも良いし、非遊技ＲＡＭ領域の全ての領域を初期化するものでも良いし、非遊技ＲＡＭ領域の少なくとも一部の領域を初期化するものでも良いし、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域の双方の全ての領域を初期化するものでも良い。
【０２５９】
本実施例のメイン制御部４１は、遊技ＲＡＭ領域を初期化するプログラムと、非遊技ＲＡＭ領域を初期化するプログラムと、を別個のプログラムとして構成しているので、遊技プログラムが非遊技ＲＡＭ領域の初期化をせずに済むため、遊技プログラムの容量を削減できる。また、第１の初期化条件が成立したときにも、第２の初期化条件が成立したときにも、遊技ＲＡＭ領域を初期化するプログラムを共用できる。さらに遊技ＲＡＭ領域を初期化するプログラムを遊技プログラムとして備え、非遊技ＲＡＭ領域を初期化するプログラムを非遊技プログラムとして備えるので、遊技プログラムが非遊技ＲＡＭ領域を初期化したり、非遊技プログラムが遊技ＲＡＭ領域を初期化したりすることがなく、遊技プログラムが非遊技プログラムに影響を与えること、非遊技プログラムが遊技プログラムに影響を与えることを防止できる。
【０２６０】
本実施例のメイン制御部４１は、第１の初期化条件として、メイン処理において遊技終了時処理設定を行った後に、特定の遊技状態の終了時でないと判定されたとき、すなわち１ゲームが終了した時に遊技終了時の初期化対象ＲＡＭの先頭アドレスを設定し、遊技領域初期化処理を実行することで、遊技ＲＡＭ領域のうち所定の領域を初期化するので、遊技単位毎に遊技の進行に係る不要な遊技ＲＡＭ領域の一部の領域を初期化することができる。
【０２６１】
本実施例のメイン制御部４１は、設定キースイッチ３７がＯＮの状態で起動され、設定変更処理を開始したとき、すなわち設定変更操作が行われたことに基づいて第２の初期化条件が成立したときに、遊技領域初期化処理を実行して遊技ＲＡＭ領域のうち所定の領域を初期化するとともに、非遊技領域初期化処理を実行して非遊技ＲＡＭ領域のうち所定の領域を初期化するようになっており、遊技店員の設定変更操作（初期化操作）に基づいて遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方を初期化することができる。
【０２６２】
本実施例のＲＡＭ４１ｃの遊技ＲＡＭ領域は、遊技プログラムに基づく制御を行う際にも非遊技プログラムに基づく制御を行う際にも用いられることのない未使用領域３を含み、第１の初期化条件の成立時にも、第２の初期化条件の成立時にも、未使用領域３を初期化するので、未使用領域３に不正なデータが記憶されることを防止できる。
【０２６３】
尚、本実施例では、第１の初期化条件の成立時にも第２の初期化条件の成立時にも未使用領域３を初期化する構成であるが、少なくとも第１の初期化条件の成立時、第２の初期化条件の成立時のいずれか一方の条件の成立時に未使用領域３を初期化する構成であれば、未使用領域３に不正なデータが記憶されることを防止できる。また、第１の初期化条件が複数の条件を含む構成であれば、そのうち少なくとも一の条件の成立時に未使用領域３を初期化する構成であれば、未使用領域３に不正なデータが記憶されることを防止できる。第２の初期化条件が複数の条件を含む構成であっても同様である。
【０２６４】
本実施例のメイン制御部４１は、遊技プログラムのワークとして用いられ、遊技プログラムが用いるデータを記憶する遊技ＲＡＭ領域と、非遊技プログラムのワークとして用いられ、非遊技プログラムが用いるデータを記憶する非遊技ＲＡＭ領域と、を含むＲＡＭ４１ｃを備えており、当該ＲＡＭ４１ｃは、バックアップ電源によりスロットマシン１への電力供給が停止されてもＲＡＭ４１ｃに記憶されたデータを所定期間保持可能な構成であって、メイン制御部４１は、スロットマシン１への電力供給が開始したときに、初期設定処理を開始し、バックアップ電源により保持されているＲＡＭ４１ｃに記憶されているデータに基づいてＲＡＭの記憶内容が正常か否かを判定し、正常と判定された場合に、ＲＡＭ４１ｃに記憶されているデータに基づいて制御を再開する。
【０２６５】
このような構成において、スロットマシン１への電力供給が開始したときに、ＲＡＭ４１ｃの遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方の領域に記憶されたデータに基づいて、ＲＡＭの記憶内容が正常か否かを判定する際に、ＲＡＭ４１ｃに記憶されているデータ基づいて制御を再開する際の負荷が過大となる。
【０２６６】
これに対して、本実施例のメイン制御部４１は、スロットマシン１への電力供給が開始したときに、初期設定処理を開始し、バックアップ電源により保持されているＲＡＭ４１ｃのうち遊技ＲＡＭ領域のＲＡＭパリティ、遊技ＲＡＭ領域に記憶されている破壊診断用データに基づいてＲＡＭの記憶内容が正常か否かを判定し、正常と判定された場合に、遊技ＲＡＭ領域に記憶されているデータ及び非遊技ＲＡＭ領域に記憶されているデータに基づいて制御を再開始するようになっており、非遊技ＲＡＭ領域に記憶されており、遊技の進行に支障のない非遊技用のデータが正常か否かの判定を省くことで、遊技の進行が正常に行えることを担保しつつ、制御を再開する際の負荷を軽減することができる。
【０２６７】
本実施例のＲＡＭ４１ｃの遊技ＲＡＭ領域は、遊技プログラムに基づく制御を行う際にも、非遊技プログラムに基づく制御を行う際にも、用いられることのない未使用領域３を含んでおり、メイン制御部４１は、スロットマシン１への電力供給が開始されたときに、初期設定処理を実行し、初期設定処理において、未使用領域３を含む遊技ＲＡＭ領域のＲＡＭパリティを算出し、算出されたＲＡＭパリティに基づいて遊技ＲＡＭ領域の記憶内容が正常か否かを判定するので、未使用領域３に不正なデータが記憶されることを防止できる。
【０２６８】
本実施例のメイン制御部４１は、スロットマシン１への電力供給が開始されたときに、初期設定処理を実行し、初期設定処理において、ＲＡＭ４１ｃの記憶内容が破壊されているか否かを判定し、ＲＡＭ４１ｃの記憶内容が破壊されていると判定した場合に、ＲＡＭ異常フラグを設定してエラー処理に制御し、その後、自動的に復帰することがなくエラー状態を維持する一方、設定キースイッチ３６がＯＮの状態で、スロットマシン１への電力供給が開始されたときに、設定変更処理に制御し、遊技領域初期化処理を実行して遊技ＲＡＭ領域を初期化するとともに、非遊技領域初期化処理を実行して非遊技ＲＡＭ領域を初期化する、すなわちエラー状態が解除されることに伴い遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方を初期化するので、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。
【０２６９】
本実施例のメイン制御部４１は、スロットマシン１への電力供給が開始されたときに、初期設定処理において、ＲＡＭ４１ｃの記憶内容が破壊されていると判定した場合に、ＲＡＭ異常フラグを設定してエラー処理に制御し、その後、設定キースイッチ３６がＯＮの状態で、スロットマシン１への電力供給が開始され、設定変更処理が実行されることで、エラー状態が解除されることに伴い遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方を初期化する構成であるが、メイン制御部４１は、スロットマシン１への電力供給が開始されたときに、初期設定処理において、ＲＡＭ４１ｃの記憶内容が破壊されていると判定した場合に、遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方を初期化し、エラー処理に制御するものであっても良い。このような構成では、エラー処理に制御する際に、遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方を初期化するので、本実施例と同様に、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。また、ＲＡＭ４１ｃの記憶内容が破壊されている判定されたとき、その後設定変更処理が実行されるときの双方で、遊技ＲＡＭ領域と非遊技ＲＡＭ領域の双方を初期化する構成でも良く、このような構成であっても、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域のいずれかに異常が生じたまま遊技が進行してしまうことを防止できる。
【０２７０】
本実施例のメイン制御部４１は、スロットマシン１への電力供給が停止され、電断検出回路４８により電源電圧の低下が検出されたときに電断処理を実行し、電断処理において、ＲＡＭ４１ｃへのアクセスを禁止することで、遊技ＲＡＭ領域及び非遊技ＲＡＭ領域の双方へのアクセスを禁止するので、次回起動時にデータが破壊されているか否かの判定対象外となる非遊技ＲＡＭ領域を利用して不正なデータが記憶されることを防止できる。
【０２７１】
次に、メイン制御部４１が、遊技の進行を妨げることのない異常（例えば、リール回転中にメダルの投入や払出が検出されたことによる異常、払出処理中にメダルの投入が検出されたことによる異常）を検知した場合に、セキュリティ信号を出力する際の制御について、図１２に基づいて説明する。
【０２７２】
リール制御処理中及び払出処理中の投入エラーは、例えば、メダル投入口４から異物を挿入された場合や、メダルの流路に異物が存在した場合や、リール制御処理中及び払出処理中にも関わらず、メダル投入口４から投入されたメダルがホッパータンク３４ａ側に流下した場合などに検出される。また、リール制御処理中の払出エラーは、払出タイミングではない場合にメダルが払い出された場合などに検出される。
【０２７３】
図１２（ａ）において、スタート操作、リール回転開始、第１停止、第２停止、第３停止、払出は遊技進行中の各タイミングを示す。具体的には、スタート操作は、スタートスイッチ７の操作を検出したタイミングを示す。リール回転開始は、リール２Ｌ、２Ｃ、２Ｒが回転を開始したタイミングを示す。第１停止は、全てのリール２Ｌ、２Ｃ、２Ｒが未だ回転中の状態で最初に行われる停止操作を検出したタイミングを示す。第２停止は、リール２Ｌ、２Ｃ、２Ｒのうちいずれか１つのリールの回転が既に停止し、２つのリールが回転中の状態、すなわち、２番目に行われる停止操作を検出したタイミングを示す。第３停止は、２つのリールの回転が既に停止し、１つのリールが回転中の状態、すなわち、３番目に行われる停止操作を検出したタイミングを示す。払出は、メダルの払出処理を行っているタイミングを示す。
【０２７４】
異常検出は、遊技の進行を妨げることのない異常を検出したタイミングを示す。メダル払出検出は、払い出されたメダルを払出センサ３４ｃにより検出したタイミングを示す。メダルＯＵＴ信号は、１パルス出力することにより１枚のメダルが払い出された旨を示す信号である。セキュリティ信号は、遊技の進行を妨げることのない異常が発生したことを示す信号（例えば、投入エラー信号や払出エラー信号）の出力状況を示す。
【０２７５】
図１２（ａ）は、リール制御処理中に遊技の進行を妨げることのない異常を検出し、かつ、メダルの払出のある入賞が発生した場合におけるメダル払出検出、メダルＯＵＴ信号、セキュリティ信号の出力タイミングを示した図である。本実施例では、図示するように、リール制御処理中に遊技の進行を妨げることのない異常を検出した場合、異常を検出した直後にセキュリティ信号を出力するのではなく、払出処理を終了した後、かつ、メダルＯＵＴ信号の出力が完了する前にセキュリティ信号を出力する。これにより、リール制御処理中に異常が発生した状況で払い出されたメダルを認識することができる。すなわち、異常が発生した状況で付与された遊技価値を認識することができる。
【０２７６】
また、従来から知られているように、遊技中に異常検出したときに、遊技終了後に異常報知する場合、遊技に関する処理を終了した後に異常信号の出力を行うと、「遊技中の異常」と「遊技終了直後の異常」の区別がつかない。しかしながら、本実施例では、遊技を開始してから遊技媒体の付与を終了するまでの期間内の所定のタイミングで異常を検出した場合、遊技媒体の付与が終了した後、メダルＯＵＴ信号の出力を完了する前にセキュリティ信号の出力を開始する。これにより、例えば、遊技店のホールコンピュータなどが、収集ユニットによって収集されたメダルＯＵＴ信号とセキュリティ信号の出力タイミングを解析し、メダルＯＵＴ信号の出力が完了する前にセキュリティ信号が出力されていたことを検出することで、「遊技直後の異常」ではなく、「遊技中の異常」であることを区別することができる。
【０２７７】
尚、図１２（ａ）では、払出処理の終了後にメダルＯＵＴ信号が出力されるようになっていたが、例えば、図１２（ｂ）に示すように、メダル払出が検出される毎にメダルＯＵＴ信号が出力されるようにしても良い。そしてこのような場合でも、メダルＯＵＴ信号の出力を完了する前にセキュリティ信号の出力を開始するようになっていれば、例えば、最後のメダル払出の検出に対応するメダルＯＵＴ信号の出力を検出したタイミングでセキュリティ信号の出力を開始するようにすれば良い。
【０２７８】
次に、リールモータ３２Ｌ、３２Ｃ、３２Ｒの構成及び当該リールモータを励磁する際の制御方法について、図１３及び図１４に基づいて説明する。
【０２７９】
図１３は、リールモータ３２Ｌ、３２Ｃ、３２Ｒの構成を示す図である。リールモータ３２Ｌ、３２Ｃ、３２Ｒは、ハイブリッド型ステッピングモータであり、ステータ３２ｂと、これに対向するロータ３２ａとで構成されている。尚、ロータ３２ａは、図示しない多数の歯車状突極を有し、これに回転軸と同方向に磁化された永久磁石が組み込まれている。これらリールモータ３２Ｌ、３２Ｃ、３２Ｒでは、メイン制御部４１の制御に基づきモータ駆動回路４５から出力されるパルス信号を受け、ステータ３２ｂの各励磁相φ１〜φ４が所定の手順に従って励磁されることにより、１パルスを受信する度に所定の角度（１ステップ）ずつロータ３２ａが回転する。
【０２８０】
図１４（ａ）は、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時の制御方法を示すタイミングチャートである。図において、φ１〜φ４は、各励磁相を示し、「ＯＮ」は励磁状態を、「ＯＦＦ」は消磁状態を、各々示す。メイン制御部４１は、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時において、停止相のみが励磁された状態から停止相を始点として後述する１−２相励磁方式にて回転方向に励磁を開始する。詳しくは、例えば停止相が（φ３、φ４）の場合には、（φ３、φ４）が励磁された状態から、（φ４）、（φ４、φ１）、（φ１）・・・の順で、φ１〜φ４を１相、２相、１相と交互に励磁する。
【０２８１】
仮に停止相とは異なる相を始点として励磁を開始した場合には、急激にロータ３２ａの永久磁石が励磁相に吸引されることとなり、回転の開始時にリールが振動してしまうこととなるが、本実施例では、停止相を始点として励磁を開始するので、ロータ３２ａと一体的に結合されているリールが滑らかに始動するようになる。
【０２８２】
図１４（ｂ）は、リールモータ３２Ｌ、３２Ｃ、３２Ｒの回転中及び停止時の制御方法を示すタイミングチャートである。
【０２８３】
まず、回転中、すなわちリールを停止させる条件が成立するまでの間は、１−２相励磁方式でリールモータを駆動して各リール２Ｌ、２Ｃ、２Ｒを回転させる。例えば、φ１〜φ４を励磁する旨を示すパルス信号を図１４（ｂ）に示すタイミングでＯＮ／ＯＦＦし、ロータ３２ａの回転方向に沿って、（φ４、φ１）、（φ１）、（φ１、φ２）、（φ２）、（φ２、φ３）、（φ３）、（φ３、φ４）、（φ４）、（φ４、φ１）・・・の順で、２相、１相、２相、１相、２相と１ステップ毎に交互にφ１〜φ４を励磁して、ロータ３２ａを回転させることにより、リール２Ｌ、２Ｃ、２Ｒを回転させる。
【０２８４】
次に、回転中のリールを停止させる条件が成立した場合、リールの停止制御に移行する。例えば、リールを停止させる条件が、停止条件成立ステップとして図１４（ｂ）に示す期間に成立した場合には、１−２相励磁方式での２相が励磁される状態に移行する時点Ｔａまで待って、停止制御に移行する。
【０２８５】
リールの停止制御は、図１４（ｂ）に示されるように、全相励磁停止制御で行われる。全相励磁停止制御では、１−２相励磁方式でリールモータが駆動されている場合において、１相を励磁した状態から２相を励磁する状態に移行する時点Ｔａから開始され、全相を励磁する状態を所定のホールド時間（Ｔ１＋Ｔ２）だけ保持する制御である。例えば、図１４（ｂ）に示すように、（φ１）を励磁した状態から（φ１、φ２）を励磁する状態に移行する時点から、（φ１、φ２、φ３、φ４）を励磁した状態をホールド時間Ｔ１＋Ｔ２だけ保持する。これにより、高速回転していた各リールモータのロータ３２ａは急制動がかけられる。その後、リールモータのロータ３２ａは、慣性力により数ステップ分（本実施例では、４ステップである。）回転して停止する。尚、リールモータのロータ３２ａが停止するまでに要するステップ数は、リールやリールモータの特性（重さや大きさ、電気機械的な性質）によって変化するので、リールの停止制御においては、当該特性に応じたステップ数で、全相励磁停止制御を行うことが好ましい。
【０２８６】
全相励磁停止制御がＴ１＋Ｔ２の間実行された後（Ｔｃ）、φ１、φ２を消磁し、停止相φ３、φ４の励磁状態を維持したまま、リールモータに印加する電圧を通常値（Ｈｉｇｈ状態）よりも低下させる（Ｌｏｗ状態）。ロータ３２ａの停止後も、停止相φ３、φ４の励磁状態を通常値よりもＬｏｗ状態の電圧で維持するのは、ホールディングトルクとディテントトルクとの位相差や摩擦の影響によるずれによって、ロータ３２ａが停止相φ３、φ４のホールディングトルク安定点から外れることを防止するためである。これにより、リールが一旦停止した後に微動すること、及び、次回リールモータを始動させる時のロータ３２ａの角度位置が、停止時の角度位置からずれてしまうことを防止できる。
【０２８７】
ロータ３２ａの停止後も維持されている停止相φ３、φ４の励磁状態は、次ゲームの開始操作が行われることなく所定時間（本実施例では３０秒であり、待機状態（デモ演出）へ移行するのと同じタイミング）が経過した場合（Ｔｄ）に解除される。すなわち、ロータ３２ａの停止後、次ゲームの開始操作が行われることなく所定時間が経過した場合には、φ１〜φ４が全て消磁されることになる。このため、例えば、励磁相が長時間継続して励磁されることによる発熱に伴って、ステッピングモータを構成する部品等に負担がかかることがないので、これら部品の劣化を防止することができる。また、本実施例では、次ゲームの開始操作が行われない状態が所定時間継続して待機状態（デモ演出）へ移行するタイミングで励磁状態が解除されるので、遊技客が遊技している間は、リールに配置された図柄がずれにくい状態を保つことができる一方、遊技客が遊技している可能性の低い状態では、ステッピングモータの構成部品にかかる負荷を軽減できるようになる。
【０２８８】
次に、メイン制御部４１が実行するタイマカウンタの更新処理の制御内容について説明する。本実施例では、ＲＡＭ４１ｃに割り当てられたタイマカウンタの値を定期的に更新し、特定の値（０）となることで時間の経過を特定するようになっている。従来は、複数種類の時間間隔を計測する場合に、計時を要する複数種類の処理内で、タイマ値の設定及び更新を行っており、複数種類のタイマ値を更新するためのプログラムをそれぞれの処理内に設ける必要があるため、プログラム容量が増大する要因となっていた。また、複数種類のタイマカウンタは、それぞれが用いられる処理毎のデータ群として割り当てられているため、一の処理においてまとめて更新するためには、それぞれの関連性のないアドレスの値を読み出す必要があった。
【０２８９】
これに対して本実施例では、複数種類のタイマカウンタ値が格納される領域がＲＡＭ４１ｃの所定の規則で連続するアドレスが割り当てられた領域に設定されるとともに、指定アドレスに格納されたタイマ値を更新する処理を、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新するので、複数種類のアドレスをそれぞれ指定して当該アドレスの値を更新する処理を個々の処理で行う場合よりもプログラム容量を削減することができる。
【０２９０】
尚、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成であれば良く、例えば、現在の指定アドレスに対して定数を加算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良いし、基準アドレスに対して処理数に応じた値（例えば、１バイトカウンタであれば、処理数１の場合に＋１、処理数２の場合に＋２、処理数３の場合に＋３…）を加算または減算することで複数種類のタイマカウンタ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。
【０２９１】
また、メイン制御部４１が備える一部のタイマカウンタのみ、タイマ値をＲＡＭ４１ｃの所定の規則で連続するアドレスが割り当てられた領域に設定し、指定アドレスに格納されたタイマ値を更新する処理を、所定の演算を行うことで複数種類のタイマ値が格納された領域に対する指定アドレスを変更しながら繰り返し実行することにより複数種類のタイマ値を更新する構成でも良い。
【０２９２】
また、本実施例では、計測する期間の種類毎に別個のタイマカウンタを備える構成であるが、例えば、計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成としても良い。
【０２９３】
また、本実施例では、メイン制御部４１が実行する処理として、遊技の進行状況に関わらず予め定められた処理を定期的に行うタイマ割込処理（メイン）と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、を含み、メイン制御部４１は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、タイマ割込処理（メイン）において複数種類のタイマ値を更新するようになっており、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。
【０２９４】
尚、本実施例では、メイン処理に定期的に割り込んでタイマ割込処理（メイン）を実行する構成であるが、定期的に行うタイマ割込処理内で、遊技の進行状況に関わらず予め定められた処理を行う定期処理と、遊技の進行状況に応じて段階的に異なる処理を行うメイン処理と、の双方を行う構成としても良く、このような構成においても、メイン制御部４１は、メイン処理において計時条件が成立した場合にタイマカウンタに初期値を設定し、定期処理において複数種類のタイマ値を更新する構成とすることで、メイン処理を構成する各処理内に複数種類のタイマ値を更新する処理を設ける必要がないため、複数種類のタイマ値の更新に係るプログラム容量を削減することができる。
【０２９５】
また、本実施例では、時間カウンタ更新処理において、指定アドレスの値が０でないことを条件に当該アドレスの値を更新するようになっており、タイマ値が異常な値に更新されてしまうことを防止できる。
【０２９６】
また、本実施例では、時間カウンタ更新処理において、更新するタイマカウンタの数と同数の処理数を設定し、設定した処理数分、タイマ値を更新する処理を繰り返し実行する構成であるため、更新するタイマカウンタの数の管理が容易になるとともに、例えば、更新間隔が異なる複数種類のタイマカウンタを備える場合などに、設定する処理数に応じて更新するタイマ値の種類を任意に設定することができる。
【０２９７】
尚、処理数、すなわち更新するタイマカウンタの数は、プログラムに設定されていても良いし、テーブルに設定された値を読み出して設定するようにしても良い。
【０２９８】
また、最初に処理数を設定することなく、最後に更新するタイマカウンタを予め設定するとともに、当該タイマカウンタのアドレスに到達するまでタイマ値を更新する処理を繰り返し実行する構成としたり、最後に更新するタイマカウンタの次のアドレスに特定のエンド値（例えば、ＦＦｈ）を格納し、指定アドレスから読み出された値が特定のエンド値となるまでタイマ値を更新する処理を繰り返し実行する構成としても良い。
【０２９９】
また、本実施例では、１バイトのタイマカウンタと、２バイトのタイマカウンタと、を備え、１バイトのタイマ値を更新する処理と、２バイトのタイマ値を更新する処理と、を別個に備えるため、１バイトのタイマ値を更新する処理と、２バイトのタイマ値を更新する処理と、を共通化する場合よりもプログラムの容量やＲＡＭ４１ｃにおいてタイマ値が占有する容量を削減することができる。
【０３００】
尚、本実施例では、２バイトのタイマカウンタを備えることで１バイトを超える初期値に対応する相対的に長い時間を計測する構成であるが、例えば、更新間隔が異なるタイマカウンタ、例えば、タイマ割込処理（メイン）４回に１回更新する第１のタイマカウンタと、１４回に１回更新する第２のタイマカウンタと、を備えることにより、２バイトのカウンタを設けることなく、相対的に長い時間間隔を計測する構成としても良く、このようにすることで、１バイトのタイマ値を更新する処理と、２バイトのタイマ値を更新する処理と、それぞれ設ける必要がなくなるため、タイマ値の更新に係るプログラム容量を削減できる。
【０３０１】
また、本実施例では、複数種類のタイマカウンタがＲＡＭ４１ｃにおいて遊技の進行に応じて初期化されることのない特別ワークに割り当てられており、遊技の進行に応じて初期化されることがないため、遊技の進行状況に関わらず、遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐ期間の時間を計測することができる。
【０３０２】
特に、本実施例では、計測期間が１遊技の終了するタイミング、すなわち遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐことのあるタイマカウンタだけでなく、計測期間が遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐことのないタイマカウンタについても他のタイマカウンタとともに特別ワークに割り当てられた領域に格納されているため、タイマカウンタの管理が容易になるとともに、計測期間が遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐことのないタイマカウンタを、計測期間が遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐことのあるタイマカウンタに変更する等、後の設計変更等によりタイマカウンタの用途を容易に変更することができる。また、上記のように計測する期間が重複しない複数種類の期間について一のタイマカウンタを共用する構成であれば、遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐことのある計測期間と、遊技の進行に応じてＲＡＭ４１ｃの一部が初期化されるタイミングを跨ぐことのない計測期間と、を一のタイマカウンタにて計測することが可能となる。
【０３０３】
本実施例のメイン制御部４１は、ＲＡＭ４１ｃの所定領域に後述のリール演出フラグが設定されている場合に、当該リール演出フラグに基づいてリール２Ｌ、２Ｃ、２Ｒを通常のゲームでは行われることのない特殊な変動態様（例えば、所定図柄揃え、リール微振動、リール逆回転、リール低速回転、一部のリールを回転させる一方で他のリールを回転させない一部回転）で変動させるリール演出を実行し、これら特殊な変動態様でリールを変動させることで、遊技者にとって有利な状況（例えば、後述するＡＲＴに制御されること、ＡＲＴ抽選での当選の可能性、所定役の当選の可能性）を示唆することが可能となっている。本実施例では、リール演出として、複数種類の第１リール演出及び第２リール演出を実行可能である。
【０３０４】
第１リール演出は、リール２Ｌ、２Ｃ、２Ｒを特定の位置に停止させる、すなわち所定図柄を入賞ラインＬＮに揃える演出であり、本実施例では、第１リール演出として、リール２Ｌ、２Ｃ、２Ｒを所定期間にわたり微振動させた後に、入賞ラインＬＮに「赤７−赤７−赤７」を揃えて停止させる赤７揃い演出と、リール２Ｌ、２Ｃ、２Ｒを所定期間にわたり微振動させた後に、入賞ラインＬＮに「青７−青７−青７」を揃えて停止させる青７揃い演出と、を含む。
【０３０５】
第２リール演出は、特定の位置にリールを停止させることのない演出であり、本実施例では、第２リール演出として、リール２Ｌ、２Ｃ、２Ｒを所定期間にわたり微振動させるリール微振動を行う微振動演出と、リール２Ｌ、２Ｃ、２Ｒを通常のゲームでの回転方向と反対方向に所定期間にわたり逆回転させるリール逆回転を行う逆回転演出と、リール２Ｌ、２Ｃ、２Ｒを通常のゲームでの回転速度よりも遅い低速で回転させる低速回転演出と、を含む。
【０３０６】
本実施例のメイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選した場合には、ＡＲＴ（ＲＴ０でＡＴに制御される状態）に制御するか否かを決定するＡＲＴ抽選を行う。ＡＲＴ抽選では、当選している所定の抽選対象役の種類に応じた割合（本実施例では、共通ベル、弱チェリー、スイカ、強チェリーの順で当選する割合がより高くなるように設定されている）で、ＡＲＴ抽選に当選し得るようになっている。そして、ＡＲＴ抽選に当選した場合には、ＡＲＴの制御を開始するまでの期間（前兆期間）の長さを決定する前兆期間抽選を行い、前兆期間抽選にて決定された前兆期間の計数を開始するとともに、ＡＲＴの制御を開始する際に実行するＡＲＴ開始演出の種類を決定するＡＲＴ開始演出抽選を行い、ＡＲＴ開始演出抽選にて決定されたＡＲＴ開始演出の種類を特定可能なＡＲＴ開始演出フラグをＲＡＭ４１ｃの所定領域に設定する。その後、前兆期間抽選にて決定された前兆期間が経過したときに、ＡＲＴ開始演出の制御を開始して、ＡＲＴ開始演出フラグに基づいて特定されるリール演出の種類に対応するリール演出フラグをＲＡＭ４１ｃの所定領域に設定し、当該リール演出フラグに基づいて後述のリール制御処理においてＡＲＴ開始演出抽選にて決定されたリール演出を実行させる。
【０３０７】
ＡＲＴ開始演出抽選では、ＡＲＴ抽選にて当選したＡＲＴの種類に応じて、上述の第１リール演出である赤７揃い演出、青７揃い演出のいずれかが当選するようになっており、ＡＲＴ抽選にて当選したＡＲＴについて遊技者にとって有利度が高いほど青７揃い演出が選択され得る割合が高くなるようになっている。これにより、ＡＲＴ開始演出として、青７揃い演出が実行される場合には、赤７揃い演出が実行される場合よりも遊技者にとって有利度が高いＡＲＴに制御される可能性が高い旨が示唆される一方で、赤７揃い演出が実行される場合であっても、遊技者にとって有利度が高いＡＲＴに制御される可能性があるので、ＡＲＴ開始演出においてＡＲＴに制御されることへの期待感を高めることができる。
【０３０８】
また、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選した場合には、ＲＡＭ４１ｃの所定領域を参照して、上述のＡＲＴ開始演出抽選に基づくリール演出フラグが設定されているか否かを判定し、当該リール演出フラグが設定されていない場合に、ＡＲＴ抽選に当選した可能性を示唆するＡＲＴ可能性示唆演出を実行するか否かを決定するＡＲＴ可能性示唆演出抽選を行う。ＡＲＴ可能性示唆演出抽選では、ＡＲＴ抽選の結果に応じた割合で、上述の第２リール演出である微振動演出、逆回転演出、低速回転演出のいずれかが選択され得るようになっており、ＡＲＴ可能性示唆演出抽選に当選した場合には、ＡＲＴ可能性示唆演出抽選にて当選したリール演出の種類を特定可能なリール演出フラグをＲＡＭ４１ｃの所定領域に設定する。そして、その後のリール制御処理においてＡＲＴ可能性示唆演出としてＡＲＴ可能性示唆演出抽選にて決定されたリール演出を実行させる。
【０３０９】
一方、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選した場合に、リール演出フラグが設定されている場合には、ＡＲＴ可能性示唆演出抽選を行わず、ＡＲＴ開始演出抽選に基づくリール演出フラグがＲＡＭ４１ｃの所定領域に設定されている状態を維持することで、ＡＲＴ可能性示唆演出が実行されることを制限して、ＡＲＴ開始演出抽選により決定されたリール演出を優先して実行するようになっている。
【０３１０】
尚、本実施例では、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選したゲームにおいて、リール演出フラグが設定されていない場合には、ＡＲＴ可能性示唆演出抽選を行う一方で、リール演出フラグが設定されている場合には、ＡＲＴ可能性示唆演出抽選を行わない構成であるが、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選したゲームにおいて、リール演出フラグが設定されているか否かに関わらず、一律にＡＲＴ可能性示唆演出を実行する構成としても良く、このような構成においては、ＡＲＴ可能性示唆演出抽選に当選し、かつリール演出フラグがＲＡＭ４１ｃの所定領域に未だ設定されていない場合には、ＡＲＴ可能性示唆演出抽選での抽選結果に基づいてリール演出フラグを設定する一方で、ＡＲＴ可能性示唆演出抽選に当選したものの、ＲＡＭ４１ｃの所定領域に既にリール演出フラグが設定されている場合には、ＡＲＴ可能性示唆演出抽選に当選したことに伴ってリール演出フラグを設定することなく、既に設定されているリール演出フラグを維持するようにすることで、ＡＲＴ可能性示唆演出抽選に当選したゲームが、上述のＡＲＴ開始演出抽選により決定されたリール演出が実行されるゲームである場合には、ＡＲＴ可能性示唆演出抽選に当選したことに伴うリール演出の実行が制限され、ＡＲＴ開始演出抽選により決定されたリール演出を優先して実行されせることができる。
【０３１１】
また、ＡＲＴ可能性示唆演出抽選では、当該ＡＲＴ可能性示唆演出抽選の契機となった所定の抽選対象役が当選したことに伴い行われたＡＲＴ抽選に当選している場合には、逆回転演出または低速回転演出が選択され得る割合が、ＡＲＴ抽選に当選していない場合に比較して高く設定されているとともに、ＡＲＴ抽選に当選している場合に、逆回転演出が選択され得る割合は、低速回転演出が選択され得る割合に比較して高く設定されている。これにより、ＡＲＴ可能性示唆演出としてリール演出（微振動演出、逆回転演出、低速回転演出）が行われることで、ＡＲＴに制御される可能性が高い旨が示唆されるとともに、実行されるリール演出の種類に応じてＡＲＴに制御される可能性の高さを示唆することができ（本実施例では、微振動演出、低速回転演出、逆回転演出の順でＡＲＴに制御される可能性がより高い）、ＡＲＴ可能性示唆演出においてＡＲＴに制御されることへの期待感を高めることができる。
【０３１２】
尚、本実施例では、第１リール演出は、リール２Ｌ、２Ｃ、２Ｒを所定期間にわたり微振動させた後に、所定図柄の組合せを入賞ラインＬＮに揃える演出であるが、少なくともリール２Ｌ、２Ｃ、２Ｒを特定の位置に停止させる演出すなわちリールを特定の位置で一旦停止させる演出であれば良く、リール２Ｌ、２Ｃ、２Ｒを特定の位置に停止させるのみの演出や、リール２Ｌ、２Ｃ、２Ｒを所定期間にわたり通常のゲームでは行われることのない特殊な変動態様（例えば、所定図柄揃え、リール微振動、リール逆回転、リール低速回転、リール一部回転、所定期間にわたりリールを変動させることなく制御した後に変動を開始させる態様）に制御した後、リール２Ｌ、２Ｃ、２Ｒを特定の位置に停止させる演出、リール２Ｌ、２Ｃ、２Ｒを特定の位置に停止させた後、特殊な変動態様で変動させる演出、第２リール演出を構成するリールの変動態様の一部または全部でリールを変動させた後に、リール２Ｌ、２Ｃ、２Ｒを特定の位置に停止させる演出、リール２Ｌ、２Ｃ、２Ｒを複数の特定の位置に順次停止させる演出等であっても良い。
【０３１３】
また、本実施例では、第２リール演出は、所定期間にわたり微振動、逆回転、または低速で回転させた後、リール２Ｌ、２Ｃ、２Ｒを所定の定速回転で回転させる演出であるが、特定の位置にリールを停止させることのない演出、すなわち停止制御テーブルを設定することなくリールを所定変動態様で変動させる演出であれば良く、通常のゲームでは行われることのない特殊な変動態様（所定期間にわたりリールを変動させることなく制御した後に変動を開始する態様、通常とは異なる方向の変動態様、通常の速度とは異なる速度での変動態様等）として、例えば、リール微振動、リール逆回転、リール低速回転、リール一部回転等の態様の組合せで変動させる演出であっても良い。
【０３１４】
本実施例のメイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー）が当選した場合に、回転中のリールの停止操作を有効化するまでの期間を所定時間にわたり遅延させて、所定の役（本実施例では、強チェリー）が当選した可能性が高い旨を示唆する停止フリーズを行うことが可能であり、停止フリーズとして、第１停止操作が行われたときに実行され、次の停止操作、すなわち第２停止操作を有効化するまでの期間を遅延させる第１停止フリーズと、第２停止操作が行われたときに実行され、次の停止操作、すなわち第３停止操作を有効化するまでの期間を遅延させる第２停止フリーズと、第１停止フリーズ及び第２停止フリーズの双方を実行する第３停止フリーズと、が含まれる。
【０３１５】
メイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー）が当選した場合に、ＲＡＭ４１ｃの所定領域を参照して、上述のＡＲＴ開始演出抽選に基づくリール演出フラグが設定されているか否かを判定し、当該リール演出フラグが設定されていない場合に、停止フリーズを行うか否か及び停止フリーズを行う場合の停止フリーズの種類を決定するフリーズ抽選を行い、フリーズ抽選にていずれかの停止フリーズが当選した場合に、フリーズ抽選にて当選した停止フリーズの種類を特定可能な停止フリーズフラグをＲＡＭ４１ｃの所定領域に設定する。その後のリール制御処理において停止フリーズフラグに基づいて、所定のタイミングで停止フリーズを実行させる。
【０３１６】
一方、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー）が当選した場合に、リール演出フラグが設定されている場合には、フリーズ抽選を行わず、停止フリーズフラグをＲＡＭ４１ｃの所定領域に設定しないことで、停止フリーズが実行されることを制限して、ＡＲＴ開始演出抽選により決定されたリール演出が優先して実行されるようになっている。
【０３１７】
尚、本実施例では、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー）が当選したゲームにおいて、リール演出フラグが設定されていない場合には、フリーズ抽選を行う一方で、リール演出フラグが設定されている場合には、フリーズ抽選を行わない構成であるが、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー）が当選したゲームにおいて、リール演出フラグが設定されているか否かに関わらず、一律にフリーズ演出を実行する構成としても良く、このような構成においては、フリーズ抽選に当選し、かつリール演出フラグがＲＡＭ４１ｃの所定領域に設定されていない場合には、フリーズ抽選での抽選結果に基づいて停止フリーズフラグを設定する一方で、フリーズ抽選に当選したものの、ＲＡＭ４１ｃの所定領域にリール演出フラグが設定されている場合には、停止フリーズフラグを設定しないようにすることで、フリーズ抽選に当選したゲームが、上述のＡＲＴ開始演出抽選により決定されたリール演出が実行されるゲームである場合には、フリーズ抽選に当選したことに伴う停止フリーズの実行が制限され、ＡＲＴ開始演出抽選により決定されたリール演出のみを実行させることができる。
【０３１８】
また、フリーズ抽選では、当該フリーズ抽選の契機となった内部抽選において当選している役（本実施例では、強チェリー、弱チェリー）の種類に応じて予め定められた割合で、第１停止フリーズ、第２停止フリーズ、第３停止フリーズのいずれかが選択され得るようになっており、所定の役として、強チェリーが当選している場合には、第１停止フリーズ、第２停止フリーズまたは第３停止フリーズが選択され、第３停止フリーズが第２停止フリーズよりも高い割合で選択され得るとともに、第２停止フリーズが第１停止フリーズよりも高い割合で選択され得るようになっている。また、弱チェリーが当選している場合には、第１停止フリーズ、第２停止フリーズ、またはハズレが選択され得るようになっており、第１停止フリーズが第２停止フリーズよりも高い割合で選択され得るようになっている。これにより、停止フリーズが行われることで、所定の役（本実施例では、強チェリー）が当選した可能性が高い旨が示唆されるとともに、実行される停止フリーズの種類に応じて所定の役が当選している可能性の高さを示唆することができ（本実施例では、第１停止フリーズ、第２停止フリーズ、第３停止フリーズの順で強チェリーが当選した可能性がより高い）、より有利な条件でＡＲＴ抽選が行われることへの期待感を高めることができる。
【０３１９】
本実施例では、後述するように内部抽選にて強チェリーが当選することで、角チェリー１の図柄の組合せが入賞ラインＬＮに停止し得る一方で、弱チェリーが当選することで、角チェリー２の図柄の組合せが入賞ラインＬＮに停止し得るが、左リールを第１停止とする停止順で停止操作が行われることで、角チェリー１及び角チェリー２のいずれの図柄の組合せが入賞ラインＬＮに停止する際にも、まず左リールの下段に「チェリー」が停止することとなり、その停止態様に基づいて内部抽選にて強チェリーまたは弱チェリーのいずれが当選しているかを遊技者が識別することができないようになっている。これに対して、本実施例のメイン制御部４１は、フリーズ抽選に当選することで、強チェリーが当選しているか、弱チェリーが当選しているかによって異なる割合で、停止操作が行われたときに停止フリーズを実行するので、停止フリーズが実行される態様によって、強チェリーが当選している可能性への期待感を高めることができる。
【０３２０】
次に、メイン制御部４１が、初期設定処理また設定変更処理の後に、実行するメイン処理について説明する。尚、メイン処理は一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。尚、本実施例においてメイン処理は、遊技プログラムに含まれる。
【０３２１】
図１５に示すように、メイン処理では、遊技が開始されるまで待機する遊技開始待ち処理（Ｓａ１）、遊技が開始されることに伴って内部抽選を行う内部抽選処理（Ｓａ２）、リール２Ｌ、２Ｃ、２Ｒを回転及び停止させる制御を行うリール制御処理（Ｓａ３）、全てのリール２Ｌ、２Ｃ、２Ｒが停止されて遊技が終了される際に各種設定等を行う遊技終了時設定処理（Ｓａ４）が、順次繰り返し実行される。
【０３２２】
遊技開始待ち処理では、メイン制御部４１は、まず、割込を禁止して、初期化対象のＲＡＭの最終アドレス（遊技スタック領域（未使用）の最終アドレス）をセットし、指定されたアドレスで示されるＲＡＭ４１ｃの領域をクリアする。この際、設定変更処理の後にメイン処理が開始された場合には、設定変更処理が終了される際に、初期化対象のＲＡＭの先頭アドレスとして、使用可能領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレスが設定され、当該遊技開始待ち処理において、初期化対象のＲＡＭの最終アドレスとして、遊技スタック領域（未使用）の最終アドレスが設定されて、遊技ＲＡＭ領域のうち特別ワーク及び遊技スタック領域（使用中）以外の領域（重要ワーク、一般ワーク、未使用領域３、スタック領域（未使用））が初期化されることとなる。また、特定の遊技状態ではない遊技の終了時には、遊技終了時設定処理（Ｓａ４）において遊技終了時の初期化対象のＲＡＭの先頭アドレス（未使用領域３の先頭アドレス）が設定され、当該遊技開始待ち処理（Ｓａ１）において、初期化対象のＲＡＭの最終アドレス（遊技スタック領域（未使用）の最終アドレス）が設定されるため、使用可能領域のうち未使用領域３及び遊技スタック領域（未使用）が初期化されることとなる。また、特定の遊技状態の終了時であり、かつ遊技の終了時には、遊技終了時設定処理（Ｓａ４）において特定の遊技状態の終了時の初期化対象のＲＡＭの先頭アドレス（遊技ＲＡＭ領域のうち特別ワークが記憶されている領域の最終アドレスの次のアドレス）が設定され、当該遊技開始待ち処理において、特定の遊技状態の終了時の初期化対象のＲＡＭの最終アドレス（遊技スタック領域（未使用）の最終アドレス）が設定されるため、遊技ＲＡＭ領域のうち一般ワーク、未使用領域３、遊技スタック領域（未使用）が初期化されることとなる。
【０３２３】
そして、ＲＡＭ４１ｃの所定領域をクリアした後、割込を許可し、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ７が操作された時点でゲームを開始させる処理を実行する。
【０３２４】
次いで、内部抽選処理（Ｓａ２）では、スタートスイッチ７の操作の検出によるゲーム開始と同時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するか（すなわち、表示結果の導出を許容するか否か）どうかを決定する処理（内部抽選）を行う。
【０３２５】
次いで、リール制御処理（Ｓａ３）では、スタートスイッチ７が操作されたことに基づいて各リール２Ｌ、２Ｃ、２Ｒの回転を開始させるリール回転開始処理、Ｓａ２のステップにおける内部抽選の結果及び遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことに応じてリール２Ｌ、２Ｃ、２Ｒの回転を停止させるリール回転停止処理を実行する。
【０３２６】
次いで、遊技終了時設定処理（Ｓａ４）では、Ｓａ３のステップにおいて全てのリール２Ｌ、２Ｃ、２Ｒの回転が停止したと判定した時点で、各リール２Ｌ、２Ｃ、２Ｒに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。そして、入賞が発生したと判定した場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。入賞が発生した場合にはメダルの払い出し等が終了した後に次のゲームに備えて遊技状態を設定する処理を実行する。また、入賞が発生しなかった場合にはリールが停止した後に、次のゲームに備えて遊技状態を設定する処理を実行する。
【０３２７】
遊技状態を設定する処理では、特定の遊技状態の終了時か否かを判定し、特定の遊技状態の終了時でない場合には、遊技終了時の初期化対象ＲＡＭの先頭アドレスをセットする一方で、特定の遊技状態の終了時である場合には、特定の遊技状態の終了時の初期化対象ＲＡＭの先頭アドレスをセットする。そして、Ｓａ１のステップに戻り、Ｓａ１〜Ｓａ４の各処理が、順次繰り返し実行される。
【０３２８】
また、メイン処理では、ゲームの進行に応じてコマンドを生成してコマンドキューに設定するコマンド格納処理を実行し、設定されたコマンドは、その後のタイマ割込処理（メイン）において実行される通常時コマンド送信処理によりサブ制御部９１に対して送信されるようになっている。
【０３２９】
次に、メイン制御部４１がメイン処理において実行するリール制御処理について、図１６〜図２０に基づいて説明する。リール制御処理は、リール２Ｌ、２Ｃ、２Ｒを回転及び停止させる処理であり、各リール２Ｌ、２Ｃ、２Ｒの回転を開始させるリール回転開始処理と、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作に応答して該当するリール２Ｌ、２Ｃ、２Ｒを停止させるリール回転停止処理を含み、メイン処理において内部抽選処理の後に実行される。図１６は、メイン制御部４１が実行するリール制御処理の制御内容を示すフローチャートであり、図１７は、メイン制御部４１がリール制御処理において実行するリール回転開始処理の制御内容を示すフローチャートであり、図１８は、メイン制御部４１がリール制御処理において実行するリール回転停止処理の制御内容を示すフローチャートであり、図１９は、図柄ステップ数の割当とリール回転停止処理にける判定範囲の関係について説明するための図であり、図２０は、メイン制御部４１がリール制御処理において実行する停止制御テーブル設定処理の制御内容を示すフローチャートである。
【０３３０】
図１６に示すように、リール制御処理では、まず、後述するリール回転開始処理を実行し（Ｓｂ１）、リール２Ｌ、２Ｃ、２Ｒの回転を開始させる。そして、リール回転開始処理が終了して、リール制御処理に戻った後には、回転中のリールの停止操作を有効化するまでの期間を所定時間にわたり遅延させる停止フリーズを行うか否かを、停止フリーズフラグに基づいて判定する（Ｓｂ２）。停止フリーズを行うと判定した場合は、停止フリーズフラグに基づいて特定されるタイミング、すなわち、停止フリーズが第１停止フリーズであれば、第１停止操作が行われた後であり、第２停止フリーズであれば、第２停止操作が行われた後であり、第３停止フリーズであれば、第１停止操作が行われた後及び第２停止操作が行われた後で場合に、遅延処理を実行する（Ｓｂ３）。
【０３３１】
遅延処理では、ＲＡＭ４１ｃの所定領域に設定されており、後述のＳｂ２８のステップにおいて、計時が開始される有効タイマの値に基づいて有効な停止操作が検出されたときからの経過時間が所定の遅延時間に達しているか否かを判定し、有効タイマの値が所定の遅延時間に達していない場合には、有効タイマの値が所定の遅延時間に達するまで待機する。そして、有効タイマの値が所定の遅延時間に達することで、当該遅延処理を終了して、リール制御処理に戻る。有効な停止操作が検出したときに計時が開始される有効タイマの値に基づいて所定の遅延時間が経過したと判定されるときに、当該遅延処理を終了するようにすることで、有効な停止操作が検出された後のリール回転停止処理が実行される期間が、該当リールが停止される際の滑りコマ数（０〜４）に応じて変動する場合であっても、その変動に応じて当該遅延処理の実行期間が変動することとなるので、有効な停止操作が検出された後の一律のタイミングで、当該遅延処理より後の処理を実行可能となっている。これにより、サブ制御部９１側では、停止フリーズ中に所定の演出を行う場合に、メイン制御部４１側で実行されている停止フリーズの終了タイミングに合わせた演出を行うことが可能となる。
【０３３２】
尚、本実施例の遅延処理では、Ｓｂ２９のステップにて計時が開始される有効化タイマに基づいて所定の遅延時間が経過しているか否かを判定する構成であるが、有効な停止操作が検出されたときからの経過時間に基づいて、所定の遅延時間に達しているか否かを判定可能な構成であれば良く、有効化タイマ以外の計時手段により有効な停止操作が検出されたときからの時間を計時する構成であっても良い。
【０３３３】
Ｓｂ３のステップにおいて遅延処理を実行した後、またはＳｂ２のステップにおいて停止フリーズを行わないと判定した後は、タイマ割込待ち処理を実行する（Ｓｂ４）。タイマ割込待ち処理では、タイマ割込を許可に設定して、タイマ割込処理（メイン）が１回行われるまで待機する。
【０３３４】
Ｓｂ４のステップのタイマ割込待ち処理が終了した後は、投入払出エラーチェック処理を実行する（Ｓｂ５）。投入払出エラーチェック処理では、投入メダルセンサ３１の出力等に基づいてメダルセレクタの異常（以下、投入エラーという）、及び払出センサ３４ｃの出力等に基づいてホッパーユニット３４の異常（以下、払出エラーという）を検出する。そして、投入払出エラーチェック処理において投入エラー、払出エラーの少なくとも一方が検出された場合には（Ｓｂ６）、投入エラー、払出エラーが生じていることを特定可能な投入払出エラーフラグを設定する（Ｓｂ７）。
【０３３５】
Ｓｂ７のステップにおいて、投入払出エラーフラグを設定した後、またはＳｂ６のステップにおいて投入エラー、払出エラーのいずれも生じていないと判定した後は、ドア開放チェック処理を実行して（Ｓｂ８）、ドア開放検出スイッチ２５の出力状態に変化が生じたか否かを判定する。そして、ドア開放検出スイッチ２５の出力状態が変化していると判定した場合には（Ｓｂ９）、ドアコマンドをＲＡＭ４１ｃのコマンドキューに設定する（Ｓｂ１０）。尚、Ｓｂ１０のステップにおいて設定されたドアコマンドは、次回のタイマ割込処理（メイン）にて実行される通常時コマンド送信処理により、サブ制御部９１に対して送信されることとなる。
【０３３６】
Ｓｂ１０のステップにおいて、ドアコマンドを設定した後、またはＳｂ９のステップにおいてドア開放検出スイッチ２５の出力状態が変化していないと判定した後には、回転エラーチェック処理を実行する（Ｓｂ１１）。回転エラーチェック処理では、後述するタイマ割込処理（メイン）において更新されるリールステップ数カウンタの値や当該処理において回転異常フラグが設定されているか否か等に基づいて、回転制御中のリールについて回転に関する異常が生じているか否かを判定する処理であり、停止操作が済んでいない回転制御中のリールのうち、リール基準位置が検出されることなく回転開始または前回リール基準位置が検出されてからのリールステップ数が所定ステップ数（本実施例では、４００ステップであり、リールが１周するために要する３３６ステップよりも大きな値に設定されている。）を超えたリールがある場合、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたときに、リールステップ数カウンタの値がリールが１周するために要するステップ数（本実施例では、３３６ステップ）に達していない場合等に、リール回転の異常（以下、回転エラーという）が発生していると判定して、異常が生じていると判定した場合には、当該異常が生じているリールを特定可能な回転エラーフラグをＲＡＭ４１ｃの所定領域に設定する。
【０３３７】
そして、Ｓｂ１１のステップにおける回転エラーチェック処理が終了した後、回転エラーフラグに基づいて回転制御中のいずれかのリールに回転エラーが生じていることが特定される場合には（Ｓｂ１２）、回転制御中のリールの停止操作を無効に設定し（Ｓｂ１３）、ＲＡＭ４１ｃの所定領域に設定されている回転異常フラグを消去し（Ｓｂ１４）、ＲＡＭ４１ｃの所定領域に設定されているエラーカウンタに１加算して（Ｓｂ１５）、当該エラーカウンタの値が所定値（本実施例では、３）未満であるか否かを判定する（Ｓｂ１６）。そして、エラーカウンタの値が所定値未満でないと判定した場合、すなわちリールが正常に回転されずに、所定回数（本実施例では、３回）連続して回転エラーが検出されている場合には、エラー処理を実行する（Ｓｂ１７）。エラー処理では、回転制御中の全てのリールの回転を停止させて、当該エラー処理により回転を停止させたリールを特定可能なように、ＲＡＭ４１ｃの所定領域に設定されている回転エラーフラグを更新するとともに、ゲームを進行させないように不能化するエラー状態に制御して待機する。その後、リセット操作により当該エラー状態が解除されることで、エラー処理を終了し、エラーカウンタを初期化して０に設定する（Ｓｂ１８）。
【０３３８】
Ｓｂ１６のステップにおいて、エラーカウンタの値が所定値未満であると判定した後、またはＳｂ１８のステップにおいてエラーカウンタを初期化した後には、回転エラーフラグに基づいて回転エラーが生じているリールを特定するとともに回転エラーフラグを解除し、特定されたリールの励磁パターンを一旦クリアしてリール始動時のパターンを新たに設定してリールモータを励磁させることで、回転制御を再度初めから行って、定速回転まで再度加速させる再度加速処理を実行する（Ｓｂ１９）。その後、該当するリールを再度加速させたことを特定可能なリール再加速コマンドをＲＡＭ４１ｃの所定領域に設定して（Ｓｂ２０）、Ｓｂ４のステップに戻る。その後、再始動されたリールが正常に回転された場合には、回転エラーチェック処理において回転エラーが検出されることがなく、Ｓｂ１２のステップにおいて、回転エラーが生じていないと判定されることとなる。
【０３３９】
また、Ｓｂ１１のステップにおける回転エラーチェック処理において、回転エラーフラグが設定されることがなく、回転制御中の全てのリールについて回転エラーが生じていることが特定されない場合には（Ｓｂ１２）、タイマ割込を禁止に設定し（Ｓｂ２１）、その後、後述するタイマ割込処理（メイン）により更新されてＲＡＭ４１ｃの所定領域に設定されているリール速度状態フラグを取得して（Ｓｂ２２）、当該リール速度状態フラグに基づいて、回転制御中のリールの回転状態が定速状態であるか否かをリール毎に特定し、回転制御中の全てのリールが定速回転で回転されているか否かを判定する（Ｓｂ２３）。そして、Ｓｂ２３のステップにおいて、少なくともいずれか１つのリールが定速回転で回転しておらず、回転制御中の全てのリールが定速回転で回転されている状況でないと判定した場合には、Ｓｂ４のステップに戻り、Ｓｂ４〜Ｓｄ２３のステップを繰り返し実行して、回転制御中の全てのリールが定速回転で回転されている状況となるまで待機する。尚、リール速度状態フラグは、後述するタイマ割込処理（メイン）において更新され、タイマ割込処理（メイン）が行われた時点での、回転制御中の各リールモータが定速状態で回転しているか否かを特定可能な情報である。
【０３４０】
Ｓｂ４のステップに戻り、Ｓｂ４〜Ｓｄ２３のステップを繰り返し実行して待機した後、Ｓｂ４のステップのタイマ割込待ち処理において実行されるタイマ割込処理（メイン）により、回転制御中の全てのリールについて回転状態が定速状態であることを特定可能にリール速度状態フラグが更新されることで、その後に実行されるＳｂ２３のステップにおいて、回転制御中の全てのリールが定速回転で回転されていると判定されることとなる。
【０３４１】
一方、Ｓｂ２３のステップにおいて、停止操作が済んでいない回転制御中の全てのリールが定速回転で回転されていると判定した場合には、回転開始フラグがＲＡＭ４１ｃの所定領域に設定されているか否かに基づいて、全てのリールが定速回転となったと判定されたことが１回目であるか否かを判定して（Ｓｂ２４）、回転開始フラグが設定されており、全てのリールが定速回転となったと判定されたことが１回目であると判定した場合には、全てのリールについて定速回転に加速させる制御が完了したことを特定可能な加速完了コマンドをＲＡＭ４１ｃのコマンドキューに設定し（Ｓｂ２５）、回転開始フラグをＲＡＭ４１ｃの所定領域から消去する（Ｓｂ２６）。
【０３４２】
Ｓｂ２４のステップにおいて、全てのリールが定速回転となったと判定されたことが１回目でないと判定した場合、すなわち回転制御中のリールが定速回転に一旦達したものの、Ｓｂ１２のステップにおいて回転エラーが検出されて、Ｓｂ１９のステップにより再度加速させられたことで、再度定速回転に達した場合、またはＳｂ２６のステップにおいて回転開始フラグを消去した場合には、ＲＡＭ４１ｃに設定されている有効タイマに基づいて所定時間が経過していると判定したときに（Ｓｂ２７）、回転制御を行っている全てのリールについて停止操作の受け付けを有効に設定する（Ｓｂ２８）。尚、当該回転制御を行っているリールについて停止操作の受付が既に有効に設定されている場合には、有効な状態を維持する。また、Ｓｂ２７のステップにおいて有効タイマに基づいて所定時間が経過していないと判定した場合には、Ｓｂ４〜Ｓｂ２７のステップを繰り返し実行して、所定時間が経過するまで待機する。
【０３４３】
そして、Ｓｂ２８のステップにおいて停止操作の受付を有効に設定した後は、回転制御中のリールについて停止操作の受付が有効な状態で、有効な停止操作が検出されたか否かを判定する（Ｓｂ２９）。すなわち連続する所定回数（本実施例では、２回）のタイマ割込処理（メイン）においてストップスイッチのポート入力データが同じ状態である場合にＲＡＭ４１ｃの所定領域に設定され、今回と前回の入力データが同じ状態であることを示す確定データの履歴を参照して、回転制御中のストップスイッチのうち確定データがｏｆｆの状態からｏｎ状態に変化したものがある場合に、確定データがｏｆｆの状態からｏｎ状態に変化したストップスイッチについて、有効な停止操作が検出されたと判定する。これにより、ストップスイッチのｏｎ状態が一定期間（最低でも約２．２４ｍｓ）以上継続して検知されたことを条件に、当該ストップスイッチについて有効な操作が検出されるようになっており、静電気などのノイズによってｏｎ状態が誤って検出されてしまうことを防止できる。
【０３４４】
尚、本実施例では、回転制御中のリールについて停止操作の受付が有効な状態で、ストップスイッチの確定データがｏｆｆ状態からｏｎ状態に変化したことが検出されること、すなわち連続する所定回数のタイマ割込処理（メイン）においてポート入力データのｏｎ状態が検出されることで、回転制御中のリールについて有効な停止操作が検出されたと判定する構成であるが、１回のタイマ割込処理（メイン）においてストップスイッチのポート入力データのｏｎ状態が検出されることで、有効な停止操作が検出されたと判定する構成であっても良い。
【０３４５】
Ｓｂ２９のステップにおいて、有効な停止操作が検出されていないと判定した場合には、Ｓｂ４のステップに戻り、Ｓｂ４〜Ｓｂ２９のステップを繰り返し実行して、有効な停止操作が検出されるまで待機する。その後、Ｓｂ２９のステップにおいて有効な停止操作が検出された場合には、Ｓｂ２１のステップによりタイマ割込が禁止された状態で、停止操作関連処理１を実行した後（Ｓｂ３０）、タイマ割込を許可に設定し（Ｓｂ３１）、停止操作関連処理２を実行する（Ｓｂ３２）。停止操作関連処理１では、停止操作が行われたストップスイッチに対応する停止有効ＬＥＤを消灯に設定する処理、ＲＡＭ４１ｃの所定領域に設定されている有効タイマを初期化して、Ｓｂ２８のステップにおいて有効な停止操作が検出されてからの経過時間の計測を開始させる処理等を行う。また、停止操作関連処理２では、Ｓｂ２９のステップにおいて検出された有効な停止操作に対応するリールの停止操作の受付を無効に設定する処理等を行う。尚、Ｓｂ３１のステップにおいてタイマ割込が許可に設定されることで、Ｓｂ２１〜Ｓｂ３０のステップにわたってタイマ割込が禁止に設定されている状態の期間内に、本来のタイマ割込のタイミングが含まれていた場合には、Ｓｂ３１のステップにおいてタイマ割込が許可に設定されたときに、当該タイマ割込処理（メイン）を実行する一方、当該期間内に本来のタイマ割込のタイミングが含まれていない場合には、その後、タイマ割込のタイミングにおいてタイマ割込処理（メイン）を実行することとなる。
【０３４６】
そして、Ｓｂ３２のステップにおいて停止操作関連処理２を終了した後は、後述するリール回転停止処理を実行し（Ｓｂ３３）、Ｓｂ２９のステップにおいて検出された有効な停止操作に対応するリールを停止させるための制御を行う。その後、後述する停止制御テーブル設定処理を実行して（Ｓｂ３４）、残りの回転制御中のリールについて停止制御テーブルを設定する。停止制御テーブル設定処理を実行した後には、Ｓｂ２９のステップにおいて停止操作が検出されたリールが停止したか否かを判定し（Ｓｂ３５）、当該リールが停止していないと判定した場合には、当該リールが停止するまで待機し、当該リールが停止していると判定した場合に、全てのリール２Ｌ、２Ｃ、２Ｒについて有効な停止操作が行われて停止したか否かを判定し（Ｓｂ３６）、全てのリール２Ｌ、２Ｃ、２Ｒが停止していない場合には、Ｓｂ２のステップに戻り、停止していない残りのリールについてＳｂ２〜Ｓｂ３６のステップの制御を実行する。
【０３４７】
そして、全てのリール２Ｌ、２Ｃ、２Ｒについて有効な停止操作が行われ、Ｓｂ３５のステップにおいて全てのリール２Ｌ、２Ｃ、２Ｒが停止したと判定した場合には、タイマ割込待ち処理を実行した後（Ｓｂ３７）、投入払出エラーチェック処理を実行する（Ｓｂ３８）。当該投入払出エラーチェック処理では、Ｓｂ５のステップと同様に、投入エラー、払出エラーを検出する。そして、Ｓｂ３８のステップでの投入払出エラーチェック処理において投入エラー、払出エラーの少なくとも一方が検出された場合、またはＳｂ７のステップにおいて投入払出エラーフラグが設定されている場合には、投入払出エラーが生じていると判定して（Ｓｂ３９）、エラー処理を実行する（Ｓｂ４０）。エラー処理では、ゲームを進行させないように不能化するエラー状態に制御して待機する。その後、リセット操作により当該エラー状態が解除されることで、エラー処理を終了させる。
【０３４８】
尚、本実施例では、Ｓｂ７のステップにおいて投入払出エラーフラグが設定され、Ｓｂ３９のステップにおいて投入払出エラーが生じていると判定した場合に、Ｓｂ４０のステップにおいてエラー処理を実行する構成、すなわちリール２Ｌ、２Ｃ、２Ｒの回転制御中に投入払出エラーが検出された場合には、全てのリール２Ｌ、２Ｃ、２Ｒが停止された後に、当該投入払出エラーが検出されたことに基づくエラー処理を実行する構成であるが、メイン制御部４１は、投入払出エラーチェック処理により投入払出エラーが検出されたときにエラー処理を実行する構成であっても良い。また、投入払出エラー以外のエラーについて、エラーが検出されたときにエラー処理を行う構成であっても良いし、リールの回転制御が終了した後に、エラー処理を行う構成であっても良い。
【０３４９】
Ｓｂ３９のステップにおいて投入払出エラーが生じていないと判定した後、またはＳｂ４０のステップのエラー処理が終了した後は、第３停止のストップスイッチが操作中であるか否、すなわち第３停止のストップスイッチの押下が終了されて、当該ストップスイッチの確定データがｏｆｆ状態となっているか否かを判定し（Ｓｂ４１）、当該ストップスイッチが操作中である場合には、当該操作が終了されるまで待機する。そして、当該ストップスイッチの確定データがｏｆｆ状態となっており、当該ストップスイッチが操作中でないと判定した後に、全てのリール２Ｌ、２Ｃ、２Ｒの停止が完了して、遊技が終了する旨を特定可能な遊技終了コマンドをコマンドキューに設定する（Ｓｂ４２）。尚、Ｓｂ４２のステップにおいて設定された遊技終了コマンドは、次回のタイマ割込処理（メイン）にて実行される通常時コマンド送信処理により、サブ制御部９１に対して送信されることとなる。また、本実施例では、第３停止のストップスイッチの確定データがｏｆｆ状態となっていること、すなわち連続する所定回数のタイマ割込処理（メイン）においてポート入力データのｏｆｆ状態が検出されることで、第３停止のストップスイッチが操作中でないと判定する構成であるが、１回のタイマ割込処理（メイン）においてストップスイッチのポート入力データのｏｆｆ状態が検出されることで、当該ストップスイッチの操作が終了されたと判定する構成であっても良い。
【０３５０】
Ｓｂ４２のステップにおいて遊技終了コマンドを設定した後には、このリール制御処理を実行しているゲームにおいて特別役が入賞したか否かを判定し（Ｓｂ４３）、特別役が入賞したと判定した場合は、操作終了時遅延処理を実行して（Ｓｂ４４）、当該操作終了時遅延処理を開始したときから所定時間が経過するまで待機する。そして、当該所定時間が経過することで当該操作終了時遅延処理を終了し、リール制御処理に戻る。操作終了時遅延処理を実行することで、操作終了時遅延処理後の処理が、所定時間にわたり遅延するようになっている。
【０３５１】
そして、Ｓｂ４４のステップにおける操作終了時遅延処理が終了した後、またはＳｂ４３のステップにおいて特別役が入賞していないと判定した後には、リール制御処理を終了させ、メイン処理に戻る。
【０３５２】
次に、メイン制御部４１がリール制御処理において実行するリール回転開始処理について説明する。
【０３５３】
図１７に示すように、リール回転開始処理では、ＲＡＭ４１ｃの所定領域を参照して、上述のリール演出フラグが設定されているか否かを判定する（Ｓｃ１）。Ｓｃ１のステップにおいて、リール演出フラグが設定されていないと判定した場合には、ＲＡＭ４１ｃの所定領域に設定されているウェイトタイムカウンタを参照して、前回のゲームでのリール回転開始時点からウェイトタイム（本実施例では、約４．１秒）が経過したか否かを判定する（Ｓｃ２）。そして、所定のウェイトタイムが経過していないと判定した場合には、当該ウェイトタイムが経過するまで待機し、当該ウェイトタイムが経過したときに、ウェイトタイムカウンタを初期化して（Ｓｃ３）、新たなウェイトタイムの計時を開始させる。尚、ウェイトタイムカウンタは、タイマ割込処理（メイン）が行われる毎に更新されることで、前回のゲームでのリール回転開始時点からの経過時間が計時されるようになっている。
【０３５４】
Ｓｃ３のステップにおいてウェイトタイムカウンタを初期化した後には、全てのリールモータ３２Ｌ、３２Ｃ、３２Ｒを始動させて所定の定速回転まで加速させるためのリールモータの励磁パターンを設定させる加速要求をＲＡＭ４１ｃの所定領域に設定する（Ｓｃ４）。当該リール制御回転開始処理を含むリール制御処理において加速要求や、後述するリールの励磁パターンを設定するための各種要求を設定することで、その後のタイマ割込処理（メイン）において当該各種要求に応じた励磁パターンで各リールモータ３２Ｌ、３２Ｃ、３２Ｒの各励磁相の励磁状態が順次更新されて、当該各種要求に応じた態様で回転等が行われることとなり、例えば、加速要求が設定された場合には、リールが停止している状態から定速回転まで加速され、その後は、定速状態で回転され、リール演出後加速要求が設定された場合には、リール演出が終了された状態のリールが定速状態まで加速され、その後は、定速状態で回転され、停止速要求が設定された場合には、定速状態で回転しているリールが減速され、後述するリール回転停止処理において設定された停止位置で停止され、微振動要求が設定された場合には、リールが上下に微振動するように移動されることとなる。
【０３５５】
そして、Ｓｃ４のステップにおいて全てのリールについて加速要求を設定して、全てのリール２Ｌ、２Ｃ、２Ｒの加速を開始させた後には、全てのリール２Ｌ、２Ｃ、２Ｒについて後述する停止制御テーブル設定処理を実行し（Ｓｃ５）、各リール２Ｌ、２Ｃ、２Ｒについて停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルをＲＡＭ４１ｃの所定領域に設定する。これにより、タイマ割込処理（メイン）による各リール２Ｌ、２Ｃ、２Ｒの加速制御中に、各リール２Ｌ、２Ｃ、２Ｒの停止制御テーブルが設定されることとなる。
【０３５６】
Ｓｃ５のステップにおいて、停止制御テーブル設定処理を行った後は、スタートスイッチ７が操作されたことに基づいてリールの回転を開始した旨を特定可能な回転開始フラグをＲＡＭ４１ｃの所定領域に設定して（Ｓｃ６）、リール制御処理に戻る。
【０３５７】
一方、Ｓｃ１のステップにおいて、リール演出フラグが設定されていると判定した場合は、リール演出フラグに基づいて、リール演出の種類が第１リール演出であるか否かを判定し（Ｓｃ７）、第１リール演出である場合には、第１リール演出の制御を実行する（Ｓｃ８）。第１リール演出の制御では、リール２Ｌ、２Ｃ、２Ｒを所定期間にわたり微振動させるためのリールモータの励磁パターンを設定させる微振動要求をＲＡＭ４１ｃの所定領域に設定してリール２Ｌ、２Ｃ、２Ｒの微振動制御を開始させた後、後述する停止制御テーブル設定処理を実行して、リール演出フラグに基づいて特定されるリール演出の種類に応じた図柄の組合せを、入賞ラインＬＮに停止させるように停止制御テーブルを設定し、リール２Ｌ、２Ｃ、２Ｒの微振動の制御を開始させてから所定期間が経過した後に、設定されている停止制御テーブルに従ってリール２Ｌ、２Ｃ、２Ｒを停止させる。そして、リール２Ｌ、２Ｃ、２Ｒを停止させた状態で、所定の時間が経過することで、第１リール演出を終了させる。
【０３５８】
第１リール演出を終了させた後は、Ｓｃ３のステップと同様に、ウェイトタイムカウンタを初期化し（Ｓｃ９）、各リール２Ｌ、２Ｃ、２Ｒについて始動させて定速回転まで加速させるための制御を開始する時期をランダムに決定して、決定結果をランダム加速開始時期としてＲＡＭ４１ｃの所定領域に設定する（Ｓｃ１０）。その後、各リール２Ｌ、２Ｃ、２Ｒについてランダム加速開始時期に達しているか否かを判定する（Ｓｃ１１）。
【０３５９】
Ｓｃ１１のステップにおいて、いずれかのリールについてランダム加速開始時期に達していると判定した場合には、該当するリールについて、始動させて所定の定速回転まで加速させるためにリールモータの励磁パターンを設定させる加速要求をＲＡＭ４１ｃの所定領域に設定して加速を開始させる（Ｓｃ１４）。そして、全てのリール２Ｌ、２Ｃ、２Ｒについて加速を開始させる設定が済んだか否かを判定し（Ｓｃ１５）、加速を開始させる設定が済んでいないリールがある場合には、Ｓｃ１１のステップに戻り、加速を開始させる設定が済んでいないリールについてランダム加速開始時期に達しているか否かを判定する。
【０３６０】
Ｓｃ１１のステップにおいて、いずれのリールについてもランダム加速開始時期に達してしないと判定した場合には、各リール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルの設定が済んでいるか否かを判定し（Ｓｃ１２）、停止制御テーブルの設定が済んでいない場合には、Ｓｃ５のステップと同様に、全てのリール２Ｌ、２Ｃ、２Ｒについて後述する停止制御テーブル設定処理を実行し（Ｓｃ１３）、各リール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定する。その後、Ｓｃ１１のステップに戻り、その後、各リール２Ｌ、２Ｃ、２Ｒについてランダム加速開始時期に達しているか否かを判定する（Ｓｃ１１）。
【０３６１】
Ｓｃ１１〜Ｓｃ１５のステップにより、各リール２Ｌ、２Ｃ、２Ｒの加速制御中に、全てのリールについて停止制御テーブルを設定することとなる。また、ランダム加速開始時期に基づいて、各リール２Ｌ、２Ｃ、２Ｒの加速を順次開始させることで、各リール２Ｌ、２Ｃ、２Ｒの回転の開始タイミングをランダムに遅延させ、その後のリール２Ｌ、２Ｃ、２Ｒの位置関係をランダムな関係にすることができ、リール２Ｌ、２Ｃ、２Ｒの位置関係が遊技における停止操作のタイミングの目安となってしまうことを防止できる。
【０３６２】
Ｓｃ１５のステップにおいて、全てのリール２Ｌ、２Ｃ、２Ｒについて加速を開始させる設定が済んだと判定した場合には、Ｓｃ６のステップに進み、回転開始フラグをＲＡＭ４１ｃの所定領域に設定して（Ｓｃ６）、リール制御処理に戻る。
【０３６３】
また、Ｓｃ１のステップにおいて、リール演出フラグが設定されていると判定した場合であって、Ｓｃ７のステップにおいて、リール演出の種類が第１リール演出でないと判定した場合、すなわちリール演出の種類が第２リール演出である場合には、Ｓｃ４のステップと同様に、全てのリール２Ｌ、２Ｃ、２Ｒについて後述する停止制御テーブル設定処理を実行した後に（Ｓｃ１６）、第２リール演出の制御を実行する（Ｓｃ１７）。第２リール演出では、リール演出フラグに基づいて特定される上述の特殊な変動態様でリール２Ｌ、２Ｃ、２Ｒを変動させる。そして、リール２Ｌ、２Ｃ、２Ｒを特殊な変動態様で変動させている状態または停止させた状態で、所定の時間が経過することで、第２リール演出を終了させる。
【０３６４】
第２リール演出を終了させた後は、Ｓｃ３のステップと同様に、ウェイトタイムカウンタを初期化し（Ｓｃ１８）、第２リール演出の態様に応じて、第２リール演出の終了に伴う各リール２Ｌ、２Ｃ、２Ｒの状態から所定の定速回転に加速させるためのリールモータの励磁パターンを設定させるリール演出後加速要求をＲＡＭ４１ｃの所定領域に設定して、定速回転までの加速を開始させて（Ｓｃ１９）、Ｓｃ６のステップに進み、回転開始フラグをＲＡＭ４１ｃの所定領域に設定して、リール制御処理に戻る。
【０３６５】
次に、メイン制御部４１がリール制御処理において実行するリール回転停止処理について説明する。
【０３６６】
図１８に示すように、リール回転停止処理では、まず、タイマ割込を禁止に設定し（Ｓｄ１）、その後、ＲＡＭ４１ｃの所定領域に設定されている図柄ステップ数カウンタに基づいて、リール制御処理のＳｂ２８のステップで停止操作が検出されたリールの図柄ステップ数を取得し（Ｓｄ２）、当該図柄ステップ数が所定の判定範囲（０〜１１ステップ）内にあるか否かを判定する（Ｓｄ３）。
【０３６７】
図柄ステップ数は、図１９に示すように、リールモータの１周分のステップ数（本実施例では３３６ステップ）のうち１つの図柄に対応するステップ数である。本実施例では、１リールに配置された２１図柄に対してリールモータの１周分の３３６ステップが均等に割り当てられることで、１図柄に対して１６ステップが割り当てられており、一の図柄の下端が０ステップ（１ステップ目）、上端が１５ステップ（１６ステップ目）とされている。そして、図柄ステップ数カウンタは、リールの所定の判定位置（本実施例では、各リール２Ｌ、２Ｃ、２Ｒが停止したときの中段に位置する図柄に対応する図柄領域の最上端の位置、図２３参照）を通過する図柄の図柄ステップ数を計数するためのカウンタであり、リール２Ｌ、２Ｃ、２Ｒ毎に０〜１６ステップを計数可能なカウンタがステップ数カウンタとしてＲＡＭ４１ｃの所定領域に設定されており、いずれの図柄ステップ数カウンタも後述するリールステップ数等更新処理において更新される。
【０３６８】
また、図１９に示すように、図柄ステップ数には、判定範囲と非判定範囲とが設定されている。判定範囲は、図柄ステップ数カウンタの値が取得される時点での図柄番号カウンタの値に基づいて特定される図柄番号の図柄を、滑りコマ数０で所定の停止位置（本実施例では、リールの中段の位置）に停止させることができる図柄ステップ数の範囲であり、本実施例では、一の図柄に割り当てられる１６ステップのうちリールの回転方向前側の０〜１１（１ステップ目〜１２ステップ目）ステップの範囲である。一方、非判定範囲は、図柄ステップ数カウンタの値が取得される時点での図柄番号カウンタの値に基づいて特定される図柄番号の図柄を、滑りコマ数０で所定の停止位置（本実施例では、リールの中段の位置）に停止させることができない図柄ステップ数の範囲であり、本実施例では、一の図柄に割り当てられる１６ステップのうち回転方向後側の１２〜１５ステップ（１３ステップ目〜１６ステップ目）の範囲である。
【０３６９】
Ｓｄ３のステップにおいて、図柄ステップ数が所定の判定範囲（０〜１１ステップ）内にないと判定した場合には、一旦、タイマ割込を許可に設定した後（Ｓｂ４）、Ｓｂ１のステップに戻り、Ｓｄ１〜Ｓｄ４のステップを繰り返し実行して、図柄ステップ数が所定の判定範囲内にあると判定されるまで待機する。尚、Ｓｄ１のステップにおいてタイマ割込が禁止に設定された後、Ｓｂ４のステップにおいてタイマ割込が許可に設定されることで、Ｓｄ１〜Ｓｄ４のステップにわたってタイマ割込が禁止に設定されている状態の期間内に、本来のタイマ割込のタイミングが含まれていた場合には、Ｓｄ４のステップにおいてタイマ割込が許可に設定されたときに、タイマ割込処理（メイン）を実行して、当該タイマ割込処理（メイン）におけるリールステップ数等更新処理において図柄ステップ数カウンタを更新する。一方、当該期間内に本来のタイマ割込のタイミングが含まれていない場合には、その後、再びタイマ割込が許可に設定されるときにタイマ割込処理（メイン）を実行して、図柄ステップ数カウンタを更新する。
【０３７０】
一方、Ｓｄ３のステップにおいて、図柄ステップ数が所定の判定範囲にあると判定した場合には、Ｓｄ１のステップにおいてタイマ割込が禁止に設定された状態を維持して、Ｓｄ５のステップに進み、ＲＡＭ４１ｃの所定領域に設定されている図柄番号カウンタの値を取得し、当該図柄番号カウンタの値を停止操作が行われたときの図柄番号（以下、操作時図柄番号と言う）としてＲＡＭ４１ｃの所定領域に設定する（Ｓｄ６）。
【０３７１】
図柄番号カウンタは、上述の所定の判定位置（本実施例では、透視窓３における各リール２Ｌ、２Ｃ、２Ｒの中段に対応する領域の最上端の位置、図２３参照）に位置している図柄の図柄番号を計数するためのカウンタであり、リール２Ｌ、２Ｃ、２Ｒ毎に一の図柄番号カウンタがＲＡＭ４１ｃの所定領域に設定されており、いずれの図柄番号カウンタも後述するリールステップ数等更新処理において更新される。
【０３７２】
その後、該当するリールを停止させる際の滑りコマ数を設定する滑りコマ数設定処理を実行する（Ｓｄ７）。滑りコマ数設定処理では、停止制御テーブル設定処理によりＲＡＭ４１ｃの所定領域に設定されている停止制御テーブルから、リール制御処理のＳｂ２８のステップで停止操作が検出されたリールに対応する停止制御テーブルを特定し、当該停止制御テーブルを参照して、操作時図柄番号に基づいて停止操作が行われたタイミングに対応する滑りコマ数を特定し、当該滑りコマ数をＲＡＭ４１ｃの所定領域に設定する。また、当該滑りコマ数に応じた位置、すなわち滑りコマ数に対応する図柄番号の図柄で該当するリールを停止させるために停止速要求をＲＡＭ４１ｃの所定領域に設定して、該当するリールを減速させて停止させる制動制御を開始させる。
【０３７３】
ＲＡＭ４１ｃの所定領域に設定された滑りコマ数及び停止要求が、その後タイマ割込処理におけるリールモータの回転制御に関する処理（後述のリール回転制御処理）にて参照されることで、当該滑りコマ数に対応する図柄番号の図柄がリールの停止位置に位置し、かつ当該図柄の図柄ステップ数が所定のステップ数（本実施例では、１１ステップ）となったときに、リールモータが全相励磁されてリールが滑りコマ数に対応する図柄で停止されることとなる。尚、本実施例では、滑りコマ数に基づいてリールに停止させる図柄の図柄番号を特定可能であり、当該図柄番号が割り当てられた図柄につての図柄ステップ数が所定のステップ数となることで、リールモータが全相励磁されてリールが滑りコマ数に対応する図柄で停止される構成であるが、滑りコマ数に基づいてリールに停止させるリールステップ数を特定可能な構成とし、当該リールステップ数に応じた所定のステップ数でリールモータを全相励磁することで、リールを滑りコマ数に対応する停止位置で停止される構成であっても良い。
【０３７４】
Ｓｄ７のステップにおいて滑りコマ数設定処理を実行した後は、タイマ割込を許可に設定する（Ｓｄ８）。Ｓｄ８のステップにおいてタイマ割込を許可に設定することで、Ｓｄ１〜Ｓｄ８のステップにわたってタイマ割込が禁止に設定されている状態の期間内に、本来のタイマ割込のタイミングが含まれていた場合には、Ｓｄ８のステップにおいてタイマ割込が許可に設定されたときに、タイマ割込処理（メイン）を実行して、当該タイマ割込処理（メイン）において、滑りコマ数設定処理（Ｓｂ７）で設定された滑りコマ数に基づいて、該当するリールを減速させて停止させるための制動制御を開始する。一方、当該期間内に本来のタイマ割込のタイミングが含まれていない場合には、その後、タイマ割込のタイミングにおいてタイマ割込処理（メイン）を実行して、該当するリールの制動制御を開始する。
【０３７５】
そして、Ｓｄ８のステップにおいてタイマ割込を許可に設定した後は、停止位置設定処理を実行する（Ｓｄ９）。停止位置設定処理では、Ｓｄ６の滑りコマ数設定処理において特定した滑りコマ数及び操作時図柄番号に基づいてリールを停止させる位置の図柄（以下、停止位置図柄と言う）の図柄番号、所定の滑りコマ数で停止させる停止制御を行っているリールを特定し、当該リール及び停止位置図柄の図柄番号を特定可能な停止操作時コマンド、及び滑りコマ数設定処理において特定した滑りコマ数を特定可能な滑りコマ数コマンドを、コマンドキューに設定し、これらのコマンドを次回のタイマ割込において送信させる。
【０３７６】
Ｓｄ９のステップにおいて停止位置設定処理を実行した後は、タイマ割込処理（メイン）におけるリール回転制御処理にてＲＡＭ４１ｃの所定領域に設定され、リールの制御状態を特定可能なリール制御状態フラグを参照して（Ｓｄ１０）、停止制御を行っているリールについて当該リールを減速させて停止させる制動制御が実行されたか否かを判定し（Ｓｄ１１）、制動制御が実行されている場合には、リール回転停止処理を終了させてリール制御処理に復帰する。また、制動制御が実行されていないと判定した場合には、制動制御が実行されるまで待機して、制動制御が実行されたと判定したときに、リール回転停止処理を終了させてリール制御処理に復帰する。
【０３７７】
次に、メイン制御部４１がリール制御処理において実行する停止制御テーブル設定処理について説明する。
【０３７８】
図２０に示すように、停止制御テーブル設定処理では、まず、未停止のリールがあるか否か、すなわち有効な停止操作が行われておらず、回転制御が継続されているリールがあるか否かを判定する（Ｓｅ１）。そして、未停止のリールがある場合には、タイマ割込待ち処理を実行して（Ｓｅ２）、タイマ割込を許可に設定してタイマ割込処理（メイン）が１回行われるまで待機した後、タイマ割込を禁止に設定したうえで（Ｓｅ３）、回転制御が継続されている一のリールについて停止制御テーブル設定処理を行い（Ｓｅ４）、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルをＲＡＭ４１ｃの所定領域に設定する。
【０３７９】
そして、一のリールについて停止制御テーブル設定処理が終了した後には、全ての未停止のリールについて停止制御テーブル設定処理が行われたか否かを判定し（Ｓｅ５）、停止制御テーブル設定処理を行っていない未停止のリールが残っている場合には、Ｓｅ２のステップに戻って、タイマ割込待ち処理を実行した後に、Ｓｅ３のステップを経て、Ｓｅ４のステップにおいて残りの一のリールについて停止制御テーブル設定処理を行って停止制御テーブルを設定する。
【０３８０】
そして、Ｓｅ５のステップにおいて全ての未停止のリールについて、停止制御テーブルを設定済みであると判定した場合、またはＳｅ１のステップにおいて未停止のリールがないと判定した場合に、停止制御テーブル設定処理を終了して、リール制御処理に戻る。
【０３８１】
このように、本実施例のメイン制御部４１は、ゲームの開始後にリール制御処理を実行して、リール２Ｌ、２Ｃ、２Ｒの回転を開始させた後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの停止操作が検出されるまで待機し、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されることで、該当するリールの回転を所定の停止位置で停止させる制御を、全てのリールの回転を停止させるまで繰り返し行うとともに、少なくとも１つ以上のリールを回転制御している状態で、異常が生じた可能性のある特定事象が生じた否かを判定する構成である。
【０３８２】
このような構成では、リールの回転中において停止操作が行われた後、リールの回転を停止させる停止制御を行っている期間において、異常に関連する事象が生じたか否かの判定を行うと、停止制御を行っている期間に余計な処理を行うこととなり、停止制御の対象リールが意図しない停止位置で停止してしまう虞がある。
【０３８３】
これに対して、本実施例のメイン制御部４１は、リール制御処理において、リール２Ｌ、２Ｃ、２Ｒの回転を開始させるリール回転開始処理を行った後、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機し、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの停止操作が検出されることで、該当するリールの回転を停止させるリール回転停止処理を行う構成であって、リール回転開始処理の後に有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間では、異常が生じた可能性のある特定事象が生じた否かを判定する異常判定処理を実行するので、リールの回転中の大半を占める状態では、特定事象を判定できる一方で、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された後からリール回転停止処理によりリールの回転が停止されるまでの期間では、異常判定処理を実行しないので、リールの停止に関する処理中の負荷が軽減されるため、リールの停止制御中に余計な処理が行われることにより停止制御の対象リールが意図しない位置でリールが停止してしまうことを防止できる。
【０３８４】
本実施例のメイン制御部４１は、リール制御処理において、リール回転開始処理の後に有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間に、異常判定処理の一つとして投入払出エラーチェック処理を実行することで、投入メダルセンサ３１の出力に基づいてメダル投入部４からのメダルの投入に関する異常が生じた可能性があるか否かを判定するので、リールの回転中の大半を占める状態では、特定事象としてメダルの投入に関する異常を判定できる一方で、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された後からリール回転停止処理によりリールの回転が停止されるまでの期間では、投入払出エラーチェック処理を実行しないので、リールの停止に関する処理中の負荷が軽減されるため、リールの停止制御中に余計な処理が行われることにより停止制御の対象リールが意図しない位置でリールが停止してしまうことを防止できる。
【０３８５】
本実施例のメイン制御部４１は、リール制御処理において、リール回転開始処理の後に有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間に、異常判定処理の一つとして投入払出エラーチェック処理を実行することで、払出センサ３４ｃの出力に基づいてホッパーユニット３４によるメダルの払出に関する異常が生じた可能性があるか否かを判定するので、リールの回転中の大半を占める状態では、特定事象としてメダルの払出に関する異常を判定できる一方で、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された後からリール回転停止処理によりリールの回転が停止されるまでの期間では、投入払出エラーチェック処理を実行しないので、リールの停止に関する処理中の負荷が軽減されるため、リールの停止制御中に余計な処理が行われることにより停止制御の対象リールが意図しない位置でリールが停止してしまうことを防止できる。
【０３８６】
本実施例のメイン制御部４１は、リール制御処理において、リール回転開始処理の後に有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間に、異常判定処理の一つとして回転エラーチェック処理を実行することで、リールセンサ３３Ｌ、３３Ｃ、３３Ｒの出力に基づいてリールの回転に関する異常が生じた可能性があるか否かを判定するので、リールの回転中の大半を占める状態では、特定事象としてリールの回転に関する異常を判定できる一方で、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された後からリール回転停止処理によりリールの回転が停止されるまでの期間では、回転エラーチェック処理を実行しないので、リールの停止に関する処理中の負荷が軽減されるため、リールの停止制御中に余計な処理が行われることにより停止制御の対象リールが意図しない位置でリールが停止してしまうことを防止できる。
【０３８７】
本実施例のメイン制御部４１は、リール制御処理において、リール回転開始処理の後に有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間に、異常判定処理の一つとしてドア開放チェック処理を実行することで、ドア開放検出スイッチ２５の出力状態に変化が生じたか否かを判定するので、リールの回転中の大半を占める状態では、特定事象としてドア開放検出スイッチ２５の出力状態に変化が生じたか否かを判定できる一方で、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された後からリール回転停止処理によりリールの回転が停止されるまでの期間では、ドア開放チェック処理を実行しないので、リールの停止に関する処理中の負荷が軽減されるため、リールの停止制御中に余計な処理が行われることにより停止制御の対象リールが意図しない位置でリールが停止してしまうことを防止できる。
【０３８８】
本実施例のメイン制御部４１は、メイン処理においてリール制御処理を実行する一方で、メイン処理の実行中の定期的に割り込んでタイマ割込処理（メイン）を実行し、リール制御処理において、リール２Ｌ、２Ｃ、２Ｒの回転を開始させるリール回転開始処理を行った後、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間に、タイマ割込処理（メイン）が実行される毎に、異常判定処理を実行して特定事象が発生したか否かを判定するので、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで待機している期間において異常判定処理を常時実行せずに済むため、処理負荷を軽減できる。
【０３８９】
本実施例のメイン制御部４１は、リール制御処理において、リール２Ｌ、２Ｃ、２Ｒの回転を開始させるリール回転開始処理を行った後に、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの停止操作が検出されることで、該当するリールの回転を停止させるリール回転停止処理を行ってリールを停止させる制御を、全てのリールの回転を停止させるまで繰り返し行う構成であって、リール回転停止処理を行ってリールを停止された後、未だ回転中のリールがある場合に、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの停止操作が検出されるまでの期間において、異常判定処理を実行するので、リールの停止制御中の負荷を軽減しつつ、特定事象を判定できる。
【０３９０】
また、本実施例のメイン制御部４１は、異常判定処理として投入払出エラーチェック処理、回転エラー処理、ドア開放チェック処理を実行する構成であり、リール回転停止処理を行ってリールを停止された後、未だ回転中のリールがある場合に、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの停止操作が検出されるまでの期間において、異常判定処理を実行するので、リールの停止制御中の負荷を軽減しつつ、特定事象としてメダルの投入に関する異常、メダルの払出に関する異常、リールの回転に関する異常、ドア開放検出スイッチ２５の出力状態に変化が生じたか否かを判定できる。
【０３９１】
本実施例のメイン制御部４１は、リール制御処理において、有効な停止操作が検出されることで、該当するリールの回転を停止させた後、未だ回転制御を行っているリールが残っている場合には、タイマ割込処理（メイン）が実行される毎に異常判定処理を実行しつつ、先の停止操作が検出されてから所定時間が経過するまで、停止操作が行われたか否か判定することなく待機し、当該所定時間が経過した後には、次の停止操作の受付を有効に設定して、タイマ割込処理（メイン）が実行される毎に異常判定処理及び停止操作が行われたか否かの判定を実行しつつ待機し、有効な停止操作が検出されることで、該当するリールを停止させる制御を、全てのリールの回転を停止させるまで繰り返し行う構成であって、有効な停止操作が検出された後から次の停止操作の受付が有効化されるまでの期間であって、停止操作が行われたか否かの判定を行わない期間においても、異常判定処理を実行するので、当該期間においても特定事象を判定できる。
【０３９２】
特に、リール制御処理において、次の停止操作の受付を有効化する際に、有効化タイマに基づいて、有効な停止操作が検出された後から次の停止操作の受付が有効化されるまでの所定期間が経過したか否かを判定し、所定期間が経過している場合に、次の停止操作の受付を有効化するようになっているので、有効な停止操作が検出されてリールが停止されるまでの時間が、停止時の滑りコマ数（本実施例では、０〜４）によって異なることとなるものの、滑りコマ数に関わらず、有効な停止操作が検出された後から次の停止操作の受付を有効化するまでの期間を一定にすることができる。そして、メイン制御部４１は、当該有効な停止操作が検出された後から次の停止操作の受付を有効化するまでの期間においても、タイマ割込処理（メイン）が実行される毎に異常判定処理を実行するので、当該期間においても特定事象を判定できる。
【０３９３】
また、本実施例のメイン制御部４１は、異常判定処理として投入払出エラーチェック処理、回転エラー処理、ドア開放チェック処理を実行する構成であり、停止操作が行われたか否かの判定を行わない期間においても、異常判定処理を実行するので、当該期間においても特定事象としてメダルの投入に関する異常、メダルの払出に関する異常、リールの回転に関する異常、ドア開放検出スイッチ２５の出力状態に変化が生じたか否かを判定できる。
【０３９４】
本実施例のメイン制御部４１は、メイン処理においてリール制御処理を実行する一方で、メイン処理の実行中の定期的に割り込んでタイマ割込処理（メイン）を実行し、リール制御処理において、リール２Ｌ、２Ｃ、２Ｒの回転を開始させるリール回転開始処理を行った後、有効な停止操作が検出されるまで待機している期間に、タイマ割込処理（メイン）が実行される毎に、停止操作が検出されたか否かを判定するので、有効な停止操作が検出されるまで待機している期間において、停止操作が検出されたか否かを常時判定せずに済むため、処理負荷を軽減できる。
【０３９５】
また、このように、本実施例のメイン制御部４１は、リール制御処理において、ストップスイッチ８Ｌ、８Ｃ、８Ｒによる停止操作の受付を有効に設定する前に、リール回転開始処理を実行して、当該リール回転開始処理においてリールを用いてリール演出を実行するとともに、リール演出の終了後に、停止制御テーブル設定処理を実行して、各リール２Ｌ、２Ｃ、２Ｒについて停止制御を行うための停止制御テーブルを設定する構成である。
【０３９６】
このような構成では、リール演出の終了後に停止制御テーブルを設定するために、リール演出後にリールを停止せずにそのまま所定の定速回転に移行する場合などに停止制御テーブルの設定が間に合わなくなったり、停止操作の有効化が遅れる虞がある。
【０３９７】
これに対して、本実施例のメイン制御部４１は、リール制御処理において、ストップスイッチ８Ｌ、８Ｃ、８Ｒによる停止操作の受付を有効に設定する前に、リール回転開始処理を実行して、当該リール回転開始処理においてリール演出を実行する構成であり、リール演出として、特定の位置にリールを停止させる第１リール演出と、特定の位置にリールを停止させることのない第２リール演出とを実行可能であって、リール回転開始処理において、第１リール演出を実行する場合には、該第１リール演出の終了後に停止制御テーブル設定処理を実行して、全てのリール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定し、第２リール演出が実行される場合には、該第２リール演出を実行する前に、停止制御テーブル設定処理を実行して、全てのリール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定するので、第１リール演出が実行される場合には、第１リール演出を終了する際には、停止操作が有効とされるまでにリールを定速回転とするために加速させる制御を行う必要があり、該第１リール演出の終了後に停止制御テーブルを設定しても、加速させる制御も行われるので、該停止制御テーブルの設定により必要以上に停止操作の有効化が遅れることがない一方で、第２リール演出が実行される場合、すなわち第２リール演出の終了後にリールを定速回転とするために加速するための制御が第１リール演出よりも少なくて済む場合には、該第２リール演出の終了前に停止制御テーブルを設定すること、すなわち該第２リール演出が終了する前までに停止制御テーブルの設定を完了させることで、停止制御テーブルの設定により停止操作の有効化が遅れてしまうことを防止できる。
【０３９８】
また、本実施例のメイン制御部４１は、第１リール演出が実行される場合には、該第１リール演出の終了後に、停止制御テーブル設定処理を実行して、遊技において各リール２Ｌ、２Ｃ、２Ｒについて停止制御を行うための停止制御テーブルを設定するので、第１リール演出に伴いリールを停止させるための停止制御テーブルを設定するＲＡＭ４１ｃの領域と、遊技においてリールを停止させるための停止制御テーブルを設定するＲＡＭ４１ｃの領域とを、共通の所定領域とすることができる。
【０３９９】
尚、本実施例では、メイン制御部４１は、第１リール演出の終了時にリール２Ｌ、２Ｃ、２Ｒを所定の図柄が入賞ラインＬＮに揃うように停止させ、その後、リールを定速回転まで加速させる際には、各リール２Ｌ、２Ｃ、２Ｒをランダムに遅延させて順次回転を開始させる構成であるが、第１リール演出として、所定の図柄の組合せを入賞ラインＬＮに揃えずに停止させる構成とするとともに、リール２Ｌ、２Ｃ、２Ｒの回転開始をランダムに遅延させる制御を行わずに、第１リール演出の終了に伴い停止状態であるリールを通常の回転開始時と同様に一律のタイミングで始動させて定速回転まで加速させる構成としても良く、このような構成においても、本実施例と同様に、第１リール演出が実行される場合には、該第１リール演出の終了後に停止制御テーブルを設定する構成とすることで、該停止制御テーブルの設定により必要以上に停止操作の有効化が遅れることがない。
【０４００】
また、本実施例では、メイン制御部４１は、第１リール演出を実行する場合には、該第１リール演出の終了後に停止制御テーブル設定処理を実行して、全てのリール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定する構成であるが、少なくとも第１リール演出において停止制御テーブルを使用するリールの制御が終了した以後に、遊技のために停止制御テーブルの設定を開始する構成であれば良く、例えば、第１リール演出中であっても所定の停止図柄の組合せを入賞ラインＬＮに停止させる制御が終了したときに、遊技のための停止制御テーブル設定処理を開始することで、第１リール演出の制御と並行して停止制御テーブルの設定を行う構成であっても良い。
【０４０１】
また、本実施例では、メイン制御部４１は、第２リール演出が実行される場合には、該第２リール演出を開始する前に停止制御テーブル設定処理を実行して、遊技のために全てのリール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定する構成であるが、メイン制御部４１は、少なくとも第２リール演出の終了前に停止制御テーブル設定処理を実行する構成であれば良く、第２リール演出の実行中すなわち第２リール演出の制御と並行して停止制御テーブルを設定する構成でも良い。
【０４０２】
また、本実施例では、メイン制御部４１は、停止制御テーブル設定処理において、ＲＯＭ４１ｂに格納されているテーブルインデックス、テーブル作成用データを参照して、回転中のリール別に停止操作が行われたタイミング別の滑りコマ数を特定可能にＲＡＭ４１ｃの所定領域に設定することで、回転中のリールについて停止操作が行われる前に、停止制御テーブルを予め作成して設定する構成であるが、停止制御テーブル設定処理は、回転中のリールについて停止操作が有効となる前に、予め停止制御テーブルをＲＡＭ４１ｃの所定領域に設定する処理であれば良く、ＲＯＭ４１ｂに格納されている停止制御テーブルをＲＡＭ４１ｃの所定領域に複製することで停止制御テーブルをＲＡＭ４１ｃの所定領域に設定する構成、ＲＯＭ４１ｂに圧縮された状態で格納されている停止制御テーブルをＲＡＭ４１ｃの所定領域に展開して設定することで停止制御テーブルを設定する構成、ＲＯＭ４１ｂに格納されている停止制御テーブルの一部をＲＡＭ４１ｃの所定領域に複製または展開して設定することで停止制御テーブルをＲＡＭ４１ｃの所定領域に設定する構成、ＲＯＭ４１ｂに格納されているテーブルインデックス、テーブル作成用データを参照せずに、停止操作がされたタイミングに応じて停止可能な停止位置を検索・特定してＲＡＭ４１ｃの所定領域に設定する処理を、全ての停止操作のタイミングについて行うことで停止制御テーブルを作成して、予めＲＡＭ４１ｃの所定領域に設定する構成、ＲＯＭ４１ｂに格納されている基準となる停止制御テーブルをＲＡＭ４１ｃの所定領域に設定した後、当該停止制御テーブルの一部を遊技状況等に応じて変更することで停止制御テーブルを作成して、予めＲＡＭ４１ｃの所定領域に設定する構成、これらの構成を組合せて停止制御テーブルを作成して設定する構成等であっても良い。
【０４０３】
本実施例のメイン制御部４１は、リール制御処理でのリール回転開始処理において、リール演出を行うか否かを判定し、リール演出を行わないと判定した場合には、全てのリール２Ｌ、２Ｃ、２Ｒを所定の定速回転まで加速させる制御を開始させた後、停止制御テーブル設定処理を実行して、各リール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定することで、リール２Ｌ、２Ｃ、２Ｒが定速回転となる前に停止制御テーブルを設定するので、リール２Ｌ、２Ｃ、２Ｒが定速回転となった後、速やかにストップスイッチ８Ｌ、８Ｃ、８Ｒの操作を有効化することができる。
【０４０４】
尚、実施例では、メイン制御部４１は、リール回転開始処理においてリール演出を行わないと判定した場合は、全てのリール２Ｌ、２Ｃ、２Ｒを所定の定速回転まで加速させる制御を開始させた後、各リール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定する構成であるが、リール演出を行わないと判定した場合に、全てのリール２Ｌ、２Ｃ、２Ｒの回転が開始された後、所定の定速回転に加速されるまでの間に、回転制御中のリールについて停止制御テーブルを設定する構成であれば良く、リール演出を行わないと判定した場合には、回転制御中の停止制御テーブルの設定を行った後に、全てのリール２Ｌ、２Ｃ、２Ｒを所定の定速回転まで加速させる制御を実行する構成、リールを所定の定速回転まで加速させる制御と回転制御中のリールの停止制御テーブルを設定する処理とを並行して実行する構成でも良い。
【０４０５】
本実施例のメイン制御部４１は、リール演出として、リール２Ｌ、２Ｃ、２Ｒを加速する際の変動態様を通常のゲームとは異なる態様とする第２リール演出を実行可能であり、リール制御処理でのリール回転開始処理において、第２リール演出を実行する場合には、該第２リール演出の終了前に停止制御テーブル設定処理を実行して、全てのリール２Ｌ、２Ｃ、２Ｒについて停止制御テーブルを設定するので、第２のリール演出の終了後、すぐにリールが定速回転となっても、速やかにストップスイッチ８Ｌ、８Ｃ、８Ｒの操作を有効化できる。
【０４０６】
本実施例のメイン制御部４１は、リール制御処理において、各リール２Ｌ、２Ｃ、２Ｒの回転を開始させた後、全てのリールの加速が完了して定速回転となったと判定した場合に、当該リールの加速が完了した旨を特定可能な加速完了コマンドを設定してサブ制御部９１に対して送信させる一方で、リール制御処理において、各リール２Ｌ、２Ｃ、２Ｒの回転を開始させた後、回転エラーチェック処理を実行していずれかのリールの回転異常が検出されたときには、再加速手処理を実行して該当するリールを再度加速させ、その後、リールが定速回転となったと判定した場合には、加速完了コマンドを設定することなく、当該コマンドを送信させないので、サブ制御部９１側で、加速完了コマンドを受信したときには、リールの回転異常による再度の加速完了ではなく、ゲーム開始後の最初の加速完了であることを特定でき、サブ制御部９１は、当該加速完了コマンドに基づいて全てのリール２Ｌ、２Ｃ、２Ｒが最初に定速回転となったこと伴う演出（例えば、第１停止操作の指示）を実行することができる。
【０４０７】
本実施例のメイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選したゲームにおいて、当該内部抽選の抽選結果に基づいて行われるＡＲＴ抽選に当選した場合には、前兆期間が経過した後のゲームにおいて、ＡＲＴ開始演出としてリール演出を実行させる、すなわちリール演出を実行するゲームよりも前のゲームにおいて内部抽選にて所定の抽選対象役が当選したことに応じてリール演出を実行可能であるので、リール演出を実行するゲームよりも前のゲームにおいて成立した特定の条件としてＡＲＴ抽選が行われること、すなわち内部抽選にて所定の抽選対象役が当選することが成立することで、そのゲーム以降の動向を注目させることができる。
【０４０８】
尚、本実施例では、リール演出を実行するゲームよりも前のゲームにおいて成立した特定の条件とは、リール演出を実行するゲームよりも前の内部抽選にて所定の抽選対象役が当選することであるが、リール演出を実行するゲームよりも前のゲームにおいて成立する条件あれば良く、例えば、リール演出を実行するゲームまでに所定数のゲームが行われたことや、リール演出を実行するゲームよりも前の複数ゲームにおいて所定の図柄の組合せが、入賞ラインＬＮに停止されたこと、リール演出を実行するゲームよりも前のゲームにおいて内部抽選とは独立して実行される抽選に当選したこと等であっても良い。また、特定の条件が成立してから所定ゲーム数が経過することでリール演出を実行する構成でも良いし、特定の条件が成立したゲームの後に、別の条件が成立することでリール演出を実行する構成でも良い。
【０４０９】
また、本実施例では、ＡＲＴ抽選に当選した場合には、前兆期間が経過した後のゲームにおいて、ＡＲＴ開始演出としてリール演出を実行させる構成であり、当該リール演出として、特定の位置にリールを停止させる第１リール演出を適用しているが、当該リール演出として特定の位置にリールを停止させることがない第２リール演出を適用する構成であっても良く、このような構成であっても、内部抽選にて所定の抽選対象役が当選することが成立することで、そのゲーム以降の動向を注目させることができる。
【０４１０】
本実施例のメイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選したゲームにおいて、ＡＲＴ可能性示唆演出抽選を行って、当該ＡＲＴ可能性示唆演出抽選に当選したときには、当該ゲームにおいてＡＲＴ可能性示唆演出としてリール演出を実行させることが可能であるので、所定の条件として内部抽選において所定の抽選対象役が当選したゲームの動向を注目させることができる。
【０４１１】
尚、本実施例では、内部抽選において所定の抽選対象役が当選したことに基づいてＡＲＴ可能性示唆演出抽選を行い、ＡＲＴ可能性示唆演出抽選に当選した場合に、当該ＡＲＴ可能性示唆演出抽選の契機となった内部抽選が行われたゲームにおいて、ＡＲＴ可能性示唆演出としてリール演出を実行する構成であるが、ＡＲＴ可能性示唆演出としてのリール演出は、当該リール演出を行うゲームにおいて所定条件が成立したことに基づいて実行されるものあれば良く、内部抽選以外の他の条件（ＡＲＴ抽選の当選結果等）が成立したこと基づいて実行する構成としても良い。
【０４１２】
また、本実施例では、ＡＲＴ可能性示唆演出抽選に当選した場合には、当該ＡＲＴ可能性示唆演出抽選に当選したゲームにおいて、ＡＲＴ可能性示唆演出としてリール演出を実行させる構成であり、当該リール演出として、特定の位置にリールを停止させることがない第２リール演出を適用しているが、当該リール演出として特定の位置にリールを停止させる第１リール演出を適用する構成であっても良く、このような構成であっても、内部抽選にて所定の抽選対象役が当選することが成立することで、そのゲーム以降の動向を注目させることができる。
【０４１３】
本実施例のメイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー、スイカ、共通ベル）が当選したことに基づいて行われるＡＲＴ抽選に当選した場合には、前兆期間が経過した後に、ＡＲＴ開始演出としてリール演出を実行させることが可能であるとともに、内部抽選において所定の抽選対象役が当選したゲームにおいて、ＡＲＴ可能性示唆演出抽選を行って、当該ＡＲＴ可能性示唆演出抽選に当選したときには、当該ゲームにおいてＡＲＴ可能性示唆演出としてリール演出を実行させることが可能であって、ＡＲＴ可能性示唆演出抽選に当選したゲームにおいて、ＡＲＴ開始演出を実行する場合には、ＡＲＴ可能性示唆演出の実行を制限して、ＡＲＴ開始演出のみを実行するので、特定の条件として内部抽選にて所定の抽選対象役が当選したことに基づいて予めリール演出が実行されることが決まっている状況で、さらに所定の条件として内部抽選にて所定の抽選対象役が当選したこと基づくリール演出が制限されることでリール演出を実行することに伴う制御が複雑となってしまうことがない。
【０４１４】
また、このように、本実施例のメイン制御部４１は、リール制御処理において、停止制御テーブル設定処理を実行して、各リール２Ｌ、２Ｃ、２Ｒについて停止制御を行うための停止制御テーブルを設定する構成である。
【０４１５】
このような構成では、複数のリールが回転している状況で一のリールの停止操作がされた場合に、当該停止操作がされたリールの停止後に、残りのリールについてさらに停止制御テーブルを設定するようにすると、一のリールの停止後、残りのリールについての停止制御テーブルの設定が間に合わなくなったり、停止操作の有効化が遅れる虞がある。
【０４１６】
これに対して、本実施例のメイン制御部４１は、リール制御処理において、有効な停止操作が検出されたときに、停止制御テーブル設定処理を実行して、未だ回転制御を行っている残りのリールについて停止制御テーブルの設定を行い、その後、全てのリールが停止していないと判定した場合に、残りのリールについて停止操作を検出するための制御を行うので、複数のリールの変動中にいずれかのリールに対応するストップスイッチが操作されたときに、該ストップスイッチに対応するリールが停止される前に他の回転制御中のリールについて停止制御テーブルを設定されて、停止制御テーブルの設定によりストップスイッチの有効かが遅れてしまうことを防止できる。
【０４１７】
本実施例のメイン制御部４１は、リール制御処理にて実行する停止制御テーブル設定処理において、未停止のリールがあるか否かを判定して、未停止のリールがある場合には、未停止のリールのうちの一のリールについて停止制御テーブルを設定する処理を、未停止の全てのリールに対して順次行うことで、３つのリール２Ｌ、２Ｃ、２Ｒの回転制御中にいずれかのリールに対応するストップスイッチが操作されたときには、該ストップスイッチに対応するリールが停止される前に他の２つの回転制御中のリールの停止制御テーブルを設定し、２つのリールの回転制御中にいずれかのリールに対応するストップスイッチが操作されたときには、該ストップスイッチに対応するリールが停止される前に他の１つの回転制御中のリールの停止制御テーブルを設定するので、いずれの状況においても停止制御テーブルの設定によりストップスイッチ８Ｌ、８Ｃ、８Ｒの有効化が遅れてしまうことを防止できる。
【０４１８】
本実施例のメイン制御部４１は、メイン処理においてリール制御処理を実行する一方で、メイン処理の実行中の定期的に割り込んでタイマ割込処理（メイン）を実行し、リール制御処理において、制御テーブル設定処理を実行して、回転制御中のリールの停止制御テーブルを設定する構成であり、制御テーブル設定処理では、タイマ割込処理（メイン）が実行されるまで待機し、タイマ割込処理（メイン）が実行される毎に、回転制御中の一のリールについて停止制御テーブルを設定する制御を繰り返し実行して、回転制御中の全てのリールの停止制御テーブルを設定するので、停止制御テーブルを設定する処理が行われる期間にタイマ割込処理（メイン）が意図せず実行されることで制御が複雑となってしまうことがない。
【０４１９】
尚、本実施例では、メイン制御部４１は、リール制御処理において実行する制御テーブル設定処理において、タイマ割込処理（メイン）が実行される毎に、回転制御中の一のリールについて停止制御テーブルを設定する制御を繰り返し実行することで、回転制御中の全てのリールについて停止制御テーブルを設定する処理を、回転制御中の一のリール毎に分割して実行する構成であるが、タイマ割込処理（メイン）が実行される時間間隔未満の時間で一の処理が完了するように、回転制御中の全てのリールについて停止制御テーブルを設定する処理を複数個に分割する構成であれば良く、例えば、回転制御中の一のリールについて停止制御テーブルを設定する処理を複数段階に分けて、一の段階が終了する毎に、タイマ割込処理（メイン）を実行させた後、次段階の処理を実行する制御を繰り返し行うことで、回転制御中の全てのリールについて停止制御テーブルを設定する構成であっても良い。このような構成においても、停止制御テーブル設定処理が行われる期間において意図しないタイミングでタイマ割込処理（メイン）が実行されることで制御が複雑となってしまうことがない。
【０４２０】
本実施例のメイン制御部４１は、内部抽選において所定の抽選対象役（本実施例では、強チェリー、弱チェリー）が当選した場合に、フリーズ抽選を行い、当該フリーズ抽選にて停止フリーズが当選した場合には、複数のリールの回転制御中にいずれかのリールに対応するストップスイッチが操作されたときに、他の回転制御中のリールに対応するストップスイッチの有効化を遅延させる遅延処理を実行することが可能であり、リール制御処理において、有効なストップスイッチによる停止操作が検出されたときに、当該停止操作に対応するリールを停止させる制御を行い、回転制御中の他のリールについて停止制御テーブル設定処理を行った後に、遅延処理を実行する、すなわちフリーズ抽選に当選したことに基づいて遅延処理を実行する場合には、該遅延処理を開始する前に他の回転制御中のリールの停止制御テーブルを設定するので、遅延処理の終了後、速やかにストップスイッチの操作を有効化できる。
【０４２１】
次に、メイン制御部４１が所定の間隔で起動処理やゲーム処理に割り込んで実行するタイマ割込処理（メイン）について、図２１に基づいて説明する。
【０４２２】
図２１に示すように、タイマ割込処理（メイン）では、まず、タイマ割込を禁止に設定し（Ｓｆ１）、使用中のレジスタをスタック領域に退避させる（Ｓｆ２）。尚、タイマ割込処理（メイン）の実行期間中は自動的に他の割込が禁止されるようになっており、Ｓｆ１のステップによりプログラムの実行によっても他の割込が禁止されることで、２重に他の割込が禁止にされることとなり、これにより、タイマ割込処理（メイン）の実行中に、重複して他の割込が実行されてしまうことを回避できる。
【０４２３】
Ｓｆ２のステップにおいてレジスタを退避させた後は、停電判定処理を実行する（Ｓｆ３）。停電判定処理では、電断検出回路４８から電圧低下信号が入力されているか否かを判定し、電圧低下信号が入力されていれば、前回の停電判定処理でも電圧低下信号が入力されていたか否かを判定し、前回の停電判定処理でも電圧低下信号が入力されていた場合には停電と判定し、その旨を示す電断フラグを設定する。
【０４２４】
Ｓｆ３のステップにおける停電判定処理の後、電断フラグが設定されているか否かを判定し（Ｓｆ４）、電断フラグが設定されていなければ、Ｓｆ５に進み、電断フラグが設定されていた場合には、電断処理（メイン）を実行する。電断処理（メイン）では、破壊診断用データ（本実施例では、５Ａ（Ｈ））をセットする処理、全ての出力ポートを初期化する処理、ＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してセットし、ＲＡＭ４１ｃへのアクセスを禁止する処理等を実行した後、電圧が低下してＣＰＵ４１ａが停止するまで待機する。
【０４２５】
Ｓｆ４のステップにおいて電断フラグが設定されていないと判断した場合には、入力ポートから各種スイッチ類の検出データを入力するポート入力処理（Ｓｆ５）、スイッチ類の検出状態に変化があったか否かの判定、操作検出コマンドの送信要求等を行うスイッチ入力判定処理（Ｓｆ２１）を実行する。
【０４２６】
次いで、４種類のタイマ割込１〜４から当該タイマ割込処理（メイン）において実行すべきタイマ割込を識別するための分岐用カウンタを１進めるように更新する（Ｓｆ７）。Ｓｆ７のステップでは、分岐用カウンタ値が０〜２の場合に１が加算され、カウンタ値が３の場合に０に更新される。すなわち分岐用カウンタ値は、タイマ割込処理（メイン）が実行される毎に、０→１→２→３→０・・・の順番でループする。そして、分岐用カウンタの値は、タイマ割込処理（メイン）において実行される各処理において参照され、例えば、分岐用カウンタが所定値となったときに所定の制御を実行する等、各処理内の制御が分岐されることとなる。
【０４２７】
Ｓｆ７のステップにおいてタイマ割込の分岐用カウンタを更新した後は、各種時間カウンタを更新する時間カウンタ更新処理（Ｓｆ８）、各種ＬＥＤ等の表示器をダイナミック点灯させるための点灯信号を設定して送信等を行うＬＥＤダイナミック表示処理（Ｓｆ９）、外部出力信号の出力設定を更新して送信等する外部出力信号更新処理（Ｓｆ１０）、コマンドキューに設定されたドアコマンドや操作終了コマンド等の各種コマンドを送信させる等を行うコマンド送信処理（Ｓｆ１１）、を順次実行する。
【０４２８】
その後、ゲームの進行状況等に応じて各リールモータ３２Ｌ、３２Ｃ、３２Ｒの励磁パターンの設定等を行ってリールの回転を制御するリール回転制御処理を実行する（Ｓｆ１２）。リール回転制御処理では、ゲームの進行状況等に応じて上述のメイン処理のリール制御処理において設定された加速要求等の各種要求に基づいて、ＲＯＭ４１ｂの特定の領域のアドレスを指定する。当該ＲＯＭ４１ｂの特定の領域のアドレスには、リールの制御態様（加速、リール演出後加速、定速回転、停止、微振動等）に応じてリールモータの励磁相（φ１、φ２、φ３、φ４）を順次励磁するための励磁パターン及び励磁パターンの更新タイミングが記憶されている。そして、後述するリールステップ数等更新処理により更新されるリールステップ数カウンタ及び図柄ステップ数カウンタに基づいて当該更新タイミングとなったことが特定されるときに、指定する特定の領域のアドレスをＲＡＭ４１ｃの所定領域に設定する。当該リール回転制御処理により指定されて設定されたアドレスから特定される励磁パターンが後述するモータ位相信号出力制御において参照されて、当該励磁パターンに応じた駆動信号が各リールモータ３２Ｌ、３２Ｃ、３２Ｒに出力されることで、各リールモータ３２Ｌ、３２Ｃ、３２Ｒが所定の制御態様で回転、停止等されることとなる。例えば、上述のリール回転停止処理にてＲＡＭ４１ｃの所定領域に停止要求が設定されている場合には、当該停止要求が設定されていることに基づいて、ＲＡＭ４１ｃの所定領域を参照して、該当するリールを停止させる際の滑りコマ数を特定する。そして、当該滑りコマ数に基づいて所定の停止位置（本実施例では、リールの中段の位置）に停止させる図柄の図柄番号を特定し、図柄番号カウンタの値が当該図柄番号となり、かつ図柄ステップ数カウンタの値が所定の全相励磁制御の開始ステップ（本実施例では、各図柄共に１２ステップ目）となったときに、停止要求に応じて指定する特定の領域のアドレスをＲＡＭ４１ｃの所定領域に設定する。その後、当該アドレスがモータ位相信号出力制御において参照され、当該アドレスから特定される励磁パターンに応じた駆動信号が該当するリールモータに出力されることで、当該リールモータが停止されることとなる。
【０４２９】
また、リール回転制御処理では、後述するリールステップ数等更新処理を実行することで、ＲＡＭ４１ｃの所定領域に設定されているリールステップ数カウンタ（各リール２Ｌ、２Ｃ、２Ｒについて、そのタイマ割込時点でのリール基準位置からのステップ数を計数するカウンタであり、本実施例では、０〜４００ステップを計数可能であり、リールが１周するために要する３３６ステップよりも大きな値に設定されている。）、図柄ステップ数カウンタ（後述する判定位置におけるそのタイマ割込時点での図柄ステップを計数するカウンタであり、本実施例では、０〜１６ステップを計数可能であり、リールの１図柄当たりのステップ数（本実施例では１６ステップ）よりも大きな値に設定されている。）、図柄番号カウンタ（そのタイマ割込時点で入賞ラインＬＮ上に位置する図柄の図柄番号を計数するカウンタ）をそれぞれ更新する処理を実行するとともに、リールの回転状態が定速状態であるか否かを特定可能なリール速度状態フラグをＲＡＭ４１ｃの所定領域に設定する。
【０４３０】
Ｓｆ１２のステップにおいてリール回転制御処理を実行した後は、ソレノイド駆動回路４６に対して制御信号を送信する等の処理を行うポート出力処理、（Ｓｆ１３）、上述のＳｆ１２のステップのリール回転制御処理において指定された励磁パターンで各リールモータの各励磁相を励磁するためのモータ位相信号を各リールモータ３２Ｌ、３２Ｃ、３２に対して出力するモータ位相信号出力処理を実行する（Ｓｆ１４）。
【０４３１】
その後、Ｓｆ２のステップにおいて退避させたレジスタを、タイマ割込処理（メイン）の開始時の状態に復帰させ（Ｓｆ１５）、タイマ割込を許可に設定して（Ｓｆ１６）、タイマ割込処理（メイン）を終了させて、当該タイマ割込処理（メイン）が開始されたときのメイン処理に復帰させる。
【０４３２】
次に、メイン制御部４１がタイマ割込処理（メイン）のリール回転制御処理内で実行する処理の１つであるリールステップ数等更新処理について、図２２に基づいて説明する。
【０４３３】
メイン制御部４１は、上述のタイマ割込処理（メイン）において、リール回転処理により各リールモータ３２Ｌ、３２Ｃ、３２Ｒの回転を開始させた後、励磁パターンに応じて定められた所定の更新タイミング（例えば、リールが定速回転されているときは、タイマ割込が１回実行される毎、リールが加速制御されているときは、加速状況に応じてタイマ割込が所定回数実行される毎等）となる毎に、各リール２Ｌ、２Ｃ、２Ｒについて、リールステップ数等更新処理を実行して、リールステップ数カウンタ、図柄ステップ数カウンタ、図柄番号カウンタを更新する。
【０４３４】
図２２に示すように、リールステップ数等更新処理では、まず、一のリール（本実施例では、左リール）のリールステップ数カウンタ及び図柄ステップ数カウンタにそれぞれ１加算した後（Ｓｇ１、Ｓｇ２）、当該図柄ステップ数カウンタの値が図柄ステップ数が１巡りしたこととなる１６に達しているか否かを判定する（Ｓｇ３）。
【０４３５】
Ｓｇ３のステップにおいて図柄ステップ数カウンタの値が１６に達していると判定した場合は、当該図柄ステップ数カウンタを初期化して０に設定し（Ｓｇ４）、左リールの図柄番号カウンタに１加算する（Ｓｇ５）。その後、当該図柄番号カウンタの値が１リール当たりの図柄の総数である２１に達したか否か、すなわち左リールが１周したか否かを判定し（Ｓｇ６）、図柄番号カウンタの値が２１に達している場合には、当該図柄番号カウンタを初期化して０に設定する（Ｓｇ７）。
【０４３６】
そして、Ｓｇ７のステップにおいて左リールの図柄番号カウンタを初期化した場合、または、Ｓｇ６のステップにおいて左リールの図柄番号カウンタが２１に達していないと判定した場合、Ｓｇ３のステップにおいて左リールの図柄ステップ数カウンタが１６に達していないと判定した場合は、左リールのリールセンサ３３Ｌによりリール基準位置が検出されたか否かを判定し（Ｓｇ８）、Ｓｇ８のステップにおいてリール基準位置が検出されたと判定した場合は、左リールのステップ数カウンタがリールが１周したこととなる３３６に達しているか否か（Ｓｇ９）、当該左リールの図柄ステップ数カウンタが１巡りして初期化されて０であるか否か（Ｓｇ１０）、当該左リールの図柄番号カウンタが１巡りして初期化されて０であるか否か（Ｓｇ１１）を順次判定する。
【０４３７】
そして、Ｓｇ９のステップにおいてステップ数カウンタが３３６に達しており、Ｓｇ１０のステップにおいて図柄ステップ数カウンタが０であり、Ｓｇ１１のステップにおいて図柄番号カウンタが０であると判定された場合には、左リールのリールモータ３２Ｌが定速状態に対応する励磁パターンで励磁されているか否か、すなわち左リールが定速状態であるか否かを判定し（Ｓｇ１２）、Ｓｇ１２のステップにおいて、励磁パターンが定速状態に対応するものであると判定した場合は、ＲＡＭ４１ｃの所定領域に設定されており、左リールの速度状態を特定可能なリール速度状態フラグを、当該リールが定速状態である旨を特定可能な値に更新する（Ｓｇ１４）。
【０４３８】
一方で、Ｓｇ９のステップにおいてステップ数カウンタが３３６に達していないと判定した場合、Ｓｇ１０のステップにおいて図柄ステップ数カウンタが０でないと判定した場合、Ｓｇ１１のステップにおいて図柄番号カウンタが０でないと判定された場合には、リールが１周して、リール基準位置が検出されたにも関わらず図柄ステップ数または図柄番号が１巡りしていないこと、またはリール基準位置が検出されていないにも関わらず、リールが１周するために要するステップ数を超えたステップ数がリールステップ数により計数されていることから、各カウンタによる各ステップ数の計数値と実際のリールの回転状況とに不整合が生じており、左リールの回転に異常が発生している可能性があるので、当該リールの回転に異常が発生している旨を特定可能な回転異常フラグをＲＡＭ４１ｃに設定する（Ｓｇ１６）。その後、左リールの図柄ステップ数カウンタ、図柄番号カウンタを初期化して０に設定する（Ｓｇ１７、Ｓｇ１８）。
【０４３９】
そして、Ｓｇ１２のステップにおいて励磁パターンが定速状態に対応するものでないと判定した場合、またはＳｇ１８のステップにおいて図柄番号カウンタを初期化した後には、リール速度状態フラグを左リールが非定速状態である旨を特定可能な値に更新する（Ｓｇ１９）。
【０４４０】
Ｓｇ１３のステップまたはＳｇ１９のステップにおいてリール速度状態フラグを更新した後は、左リールのリールステップ数カウンタを初期化して０に設定し（Ｓｇ１４）、左リールについてのリールステップ数等更新処理を終了させる。その後は、中右リールについてもリールステップ数等更新処理を実行することで、リールステップ数カウンタ、図柄ステップ数カウンタ、図柄番号カウンタを更新する。
【０４４１】
このように、リールステップ数等更新処理では、リールステップ数カウンタを、各リールモータ３２Ｌ、３２Ｃ、３２Ｒの励磁パターンが更新される毎に、１加算するとともに、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出される毎に、初期化するとで、リール基準位置が検出されるときのリールのステップ数を０ステップ（１ステップ目）として、リールモータの励磁パターンの更新に対応して３３６ステップをリールステップ数として計数する。
【０４４２】
また、図柄ステップ数カウンタを、各リールモータ３２Ｌ、３２Ｃ、３２Ｒの励磁パターンが更新される毎に、１加算するとともに、当該加算により１６ステップに達したとき、及び、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたときに、０以外の値である場合に、初期化する、すなわちリール基準位置が検出されるとき（図柄番号０の図柄の領域の下端が基準位置にあるとき）のリールモータのステップ数を０ステップ（１ステップ目）として１６ステップ毎に当該図柄ステップ数カウンタを初期化することで、各図柄について最下端を領域の０ステップ（１ステップ目）として、リールモータの励磁パターンの更新に対応して１６ステップを図柄ステップ数として計数する。
【０４４３】
また、図柄番号カウンタを、図柄ステップ数カウンタが初期化される毎に、１加算するとともに、当該加算により２１に達したとき、及び、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたときに、０以外の値である場合に、初期化する、すなわちリール基準位置が検出されるとき（図柄番号０の図柄が基準位置にあるとき）の図柄番号を０として２１図柄毎に当該図柄番号カウンタを初期化することで、各リールについて図柄番号０の図柄が基準位置を通過しているときの図柄番号カウンタの値を０として、リールモータの励磁パターンの更新に対応して図柄番号を計数する。
【０４４４】
これらにより、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されるときには、リールステップ数カウンタ、図柄ステップ数カウンタ、図柄番号カウンタの各カウンタは初期値となり、リール基準位置からのリールモータのステップ数に応じて、リールステップ数、図柄ステップ数、図柄番号が計数されるようになっている。
【０４４５】
以上のように、本実施例のメイン制御部４１は、回転制御中のリールについて有効なストップスイッチの操作が検出された場合に、メイン処理のリール回転停止処理において、タイマ割込処理（メイン）のリールステップ数等更新処理により更新されるリールの図柄ステップ数カウンタに基づいて、停止操作位置となる図柄番号を取得し、該当するリールを停止させる制御を行う。そして、リール回転停止処理において停止操作位置となる図柄番号を取得する際には、図柄ステップ数カウンタの値が判定範囲（本実施例では、０〜１１ステップ）にあって非判定範囲（本実施例では、１２〜１５ステップの４ステップ）にないこと、すなわち、図柄ステップ数カウンタの値が予め定められた特定の範囲内にないことを条件として図柄番号を取得する、すなわち図柄ステップ数カウンタの値が特定の範囲にない場合は、その時の図柄番号を取得する一方で、図柄ステップ数カウンタの値が特定の範囲にないある場合は、当該図柄ステップ数カウンタの値が、特定の範囲外となることを待って、図柄ステップ数カウンタの値が特定の範囲外となったときに図柄番号を取得するようになっている。
【０４４６】
メイン制御部４１が図柄番号を取得することがない図柄ステップ数は、リールモータを全相励磁して停止させる際に、該当するリールについて全相励磁の制御を開始した後、当該リールのリールモータのロータが停止するまでに慣性力により回転するステップ数以上のステップ数であり、本実施例では、当該特定の範囲を図柄ステップ数カウンタの１２〜１５の４ステップの範囲とする構成である。
【０４４７】
詳しくは、図２３（ａ）に示すように、透視窓３における各リール２Ｌ、２Ｃ、２Ｒの中段に対応する領域の最上端の位置を判定位置として、当該判定位置に位置する図柄について図柄ステップ数を図柄ステップ数カウンタにより計数し、また、当該判定位置に位置する図柄の図柄番号を図柄番号カウンタにより計数し、ストップスイッチが操作された際に、当該図柄ステップ数カウンタの値が非判定範囲である特定の範囲内（本実施例では、１２〜１５ステップ）になく判定範囲にある場合には、その際の図柄番号カウンタの値を停止操作位置となる図柄番号として取得する。一方、図２３（ｂ）に示すように、ストップスイッチが操作された際に、当該図柄ステップ数カウンタの値が非判定範囲である特定の範囲内（本実施例では、１２〜１５ステップ）にある場合には、その際の図柄番号カウンタの値を停止操作位置として取得せず、判定位置の図柄ステップ数が特定の範囲外（本実施例では、０〜１１ステップ）となるまで待機して、その後、リールがさらに回転されることで、判定位置を通過する図柄が次の図柄となり、図柄番号カウンタが更新されるとともに、図柄ステップ数カウンタの値が特定の範囲外（本実施例では、０〜１１ステップ）となって判定範囲内の値（本実施例では、０ステップ）となったときに、そのときの図柄番号カウンタの値を停止操作位置となる図柄番号として取得する。
【０４４８】
上述のように、本実施例では、リールモータが全相励磁停止制御を開始されてから慣性力で４ステップ分回転して停止することになるので、判定位置（図２３（ａ）（ｂ）参照）を通過する図柄についての図柄ステップ数カウンタの値が非判定範囲内すなわち特定の範囲内にあるときに、全相励磁停止制御を開始して当該リールモータを停止させようとする場合には、全相励磁停止制御を開始するときの図柄番号カウンタの値に基づいて特定される図柄を、リールの中段の位置に滑りコマ数０で停止させることができない。例えば、図２３（ｂ）に示すように、図柄番号カウンタの値が１０であり、図柄ステップ数カウンタの値が１２〜１５であり、判定位置での図柄ステップ数が１３〜１６ステップ目であるときに、停止操作が行われた場合に、仮に、当該図柄ステップ数の範囲内のいずれかのタイミングで全相励磁停止制御を開始することとすると、図柄ステップ数カウンタの値が１５を跨いで０以降となる位置、すなわち図柄番号１１の図柄の領域の少なくとも一部がリールの中段の領域に跨る位置で、当該リールが停止することとなり、当該停止操作が行われたときの図柄番号カウンタの値に基づいて特定される図柄番号１０の図柄をリールの中段の位置に停止させることができない。すなわち、停止操作が行われたときの図柄番号カウンタの値に基づいて特定される図柄番号の図柄に対して少なくとも１コマを滑りコマ数として、当該図柄番号以外の図柄がリールの中段の位置に停止させることとなる。
【０４４９】
一方、判定位置（図２３（ａ）（ｂ）参照）を通過する図柄についての図柄ステップ数カウンタの値が判定範囲内すなわち特定の範囲外にあるときに、全相励磁停止制御を開始して当該リールモータを停止させようとする場合には、全相励磁停止制御を開始するときの図柄番号カウンタの値に基づいて特定される図柄を、リールの中段の位置に滑りコマ数０で停止させることができる。例えば、図２３（ａ）に示すように、図柄番号カウンタの値が１０であり、図柄ステップ数カウンタの値が０〜１１であり、判定位置での図柄ステップ数が１〜１２ステップ目であるときに、停止操作が行われた場合には、図柄ステップ数カウンタの値が１１となるとき、すなわち停止位置での図柄ステップ数が１図柄の図柄ステップ数の最終値であるときに、全相励磁停止制御を開始することで、図柄ステップ数カウンタの値が１５となる位置、すなわち図柄番号が１０の図柄をリールの中段の位置で、当該リールを停止させることができる。すなわち、停止操作が行われたときの図柄番号カウンタの値に基づいて特定される図柄番号の図柄を滑りコマ数０でリールの中段の位置に停止させることができる。
【０４５０】
このように、図柄ステップ数カウンタの値が判定範囲内すなわち特定の範囲外にあるときに取得された図柄番号を停止操作位置とすることで、当該図柄番号に基づいてリールの中段の位置に停止させることができる図柄を特定する際に、図柄ステップ数がいずれの範囲にあるときに当該図柄番号が取得されたか、すなわち当該図柄番号の図柄をリールの中段の位置に停止させることが可能であるか否かを考慮することなく、当該図柄番号をリールの停止位置の特定に用いることができる。
【０４５１】
従来のスロットマシンでは、リールモータとしてステッピングモータを用いて、リールを回転、停止させることが可能であり、リールに配置された図柄毎に割り当てられた図柄ステップ数を計数し、当該図柄ステップ数に基づいて図柄番号を更新するとともに、リールの停止操作がされたときの図柄番号に応じて滑りコマ数を決定する構成であり、停止操作が検出されてからすぐにリールを停止させることはできないことから、停止操作が検出されたときの図柄ステップ数が当該図柄では停止することのできない一定の範囲のステップ数である場合には、リールの停止操作がされたときの図柄番号に１加算した値を停止操作が検出されたときの図柄番号として取得するようになっている。
【０４５２】
このような構成では、停止操作が検出されたときの図柄ステップ数に応じて、停止操作が検出されたときの図柄番号に１加算して図柄番号を取得する必要があり、停止操作がされたときの図柄番号を特定するために余計な処理が必要となってしまうこととなる。
【０４５３】
これに対して、本実施例のスロットマシン１は、リールモータ３２Ｌ、３２Ｃ、３２Ｒとしてステッピングモータを備え、リール２Ｌ、２Ｃ、２Ｒを回転、停止させることが可能な構成であり、スロットマシン１のメイン制御部４１は、ステッピングモータの励磁状態を変化させるための励磁パターンに応じて定められた所定の更新タイミング毎に更新される図柄ステップ数カウンタ（またはリールステップ数カウンタ）と、当該図柄ステップ数カウンタによりリールの１図柄あたりに割り当てられた所定のステップ数（本実施例では、１６ステップ）が計数される毎に更新される図柄番号カウンタと、を備えており、有効なリールの停止操作が行われた際に、図柄番号カウンタから取得した図柄番号に基づいて当該停止操作に対応する停止位置を特定し、当該停止位置で該当するリールを停止させるリール回転停止処理を実行する構成であり、リール回転停止処理では、図柄ステップ数カウンタの値が特定の範囲（本実施例では、１２〜１５の範囲）であるときには、図柄番号を取得せず、特定の範囲外となったとき（本実施例では、０となったとき）に、図柄番号カウンタの値を図柄番号として取得するので、リールの停止操作がされたときの図柄ステップ数に応じて図柄番号を特定するために余計な処理、例えば、図柄ステップ数カウンタの値が特定の範囲である場合に、図柄番号カウンタの値を１加算した値を図柄番号として取得する処理等を、行うことなく簡素な手順で図柄番号を取得することができる。
【０４５４】
尚、本実施例では、リールモータ３２Ｌ、３２Ｃ、３２Ｒを用いて、外周面に複数の図柄が配置されたリール２Ｌ、２Ｃ、２Ｒを回転させることで、遊技者から視認可能な複数の図柄を移動させる変動表示を行うことが可能な構成であるが、複数の図柄を移動させる変動表示を行う手段は、リール以外であっても良く、例えば、外周面に複数の図柄が配置されたベルトを移動させることで変動表示を行うことが可能な構成等であっても良い。
【０４５５】
また、本実施例では、メイン制御部４１は、ステッピングモータの励磁状態を変化させるための励磁パターンに応じて定められた所定の更新タイミング毎に、リールステップ数等更新処理を実行して、図柄ステップ数カウンタを更新し、当該図柄ステップ数カウンタにより、リールの１図柄あたりに割り当てられた所定のステップ数（本実施例では、１６ステップ）が計数される毎に図柄番号カウンタを更新する構成であるが、ステッピングモータの励磁状態を変化させるための励磁パターンに応じて定められた所定の更新タイミング毎に更新され、リールの基準位置からのステップ数を計数するためのリールステップ数カウンタにより、リールの１図柄あたりに割り当てられた所定のステップ数（本実施例では、１６ステップ）が計数される毎に図柄番号カウンタを更新する構成であっても良い。
【０４５６】
本実施例のメイン制御部４１は、リール回転停止処理において、図柄ステップ数カウンタの値が特定の範囲内（本実施例では、１２〜１５の４ステップの範囲内）にある場合には、図柄番号カウンタから図柄番号を取得しない構成であり、当該特定の範囲は、図柄ステップ数カウンタの値が当該範囲内にあるときに図柄番号カウンタに基づいて特定される図柄番号の図柄を、所定の停止位置に停止させることができなくなる範囲であるので、停止操作された際に、リール回転停止処理において取得した図柄番号を用いることで、当該図柄番号により特定される図柄を停止位置に停止できなくなるというようなことがないため、取得した図柄番号を補正する処理をせずに済む。
【０４５７】
尚、本実施例では、メイン制御部４１は、リール回転停止処理において、図柄ステップ数カウンタの値が特定の範囲（本実施例では、１２〜１５の範囲）であるときには、図柄番号を取得せず、特定の範囲外となったとき（本実施例では、０となったとき）に、図柄番号カウンタの値を図柄番号として取得する構成であるが、メイン制御部４１は、リール回転停止処理において、図柄ステップ数カウンタの値が少なくとも特定の範囲外であるときに図柄番号カウンタの値を図柄番号として取得する構成であれば良く、図柄ステップ数カウンタの値が特定の範囲外の範囲うちの特定の値（例えば、０〜１１のうちの１１）となったときに、図柄番号カウンタの値を図柄番号として取得する構成であっても良い。このような構成では、停止操作に応じて図柄番号を取得するにあたり、図柄ステップ数が特定の値であるときに図柄番号カウンタの値を図柄番号として取得するので、リールの停止操作がされたときの図柄ステップ数に応じて図柄番号を特定するために余計な処理、例えば、図柄ステップ数カウンタの値が所定の範囲である場合に、図柄番号カウンタを１加算した値を図柄番号として取得する処理等を行うことなく、簡素な手順で図柄番号を取得することができる。
【０４５８】
また、このような構成では、図柄ステップ数カウンタの値が特定の範囲外の範囲うちの特定の値は、次回図柄ステップ数カウンタが更新されると現在の図柄番号カウンタから特定される図柄番号の図柄の領域でリールを停止させることができなくなる図柄ステップ数、すなわち、図柄番号カウンタに基づいて特定される図柄番号の図柄を所定の停止位置に停止させることができる図柄ステップ数の範囲内の値のうち最後に更新される値、とすることで、図柄ステップ数カウンタの値が特定の範囲外から特定の範囲内の値に更新される１ステップ前の特定の値となったときに図柄番号カウンタから図柄番号を取得するので、図柄ステップ数カウンタの値が一の特定の範囲外にあるときに、その時点での図柄番号カウンタから図柄番号を取得せずに、図柄ステップ数カウンタが次の特定の範囲外となるまで待って次の図柄番号を取得するようなことがなく、停止操作されたタイミングと停止する図柄の領域とが大きくずれてしまうことを防止できる。
【０４５９】
本実施例のメイン制御部４１は、リールの停止操作された際に図柄ステップ数カウンタに基づいて図柄番号を特定する構成であり、リール回転制御処理において、リールステップ数等更新処理で更新される図柄ステップ数カウンタに基づいて、リールを停止させるための駆動信号を出力するか否か判定し、図柄ステップ数カウンタに基づいてリールモータの励磁パターンの更新タイミングとなったことが特定されるときに、停止操作が行われたリールを停止させるための駆動信号を出力するので、停止操作がされた際に図柄番号を特定する場合も、リールモータを停止させるための駆動信号を出力するか否か判定する場合も、共通のリールステップ数等更新処理により更新される図柄ステップ数が用いられるため、当該処理に用いるステップ数を更新する処理及び当該ステップ数を格納する領域を削減することができる。
【０４６０】
尚、本実施例では、メイン制御部４１は、図柄ステップ数カウンタに基づいて図柄番号を特定し、図柄ステップ数カウンタに基づいてリールモータの駆動信号を出力するか否か判定する構成であるが、リールステップ数等更新処理により更新されるリールステップ数カウンタに基づいて図柄番号を特定するとともに、リールモータの駆動信号を出力するか否か判定する構成であっても良い。このような構成であっても、本実施例の構成と同様に、停止操作がされた際に図柄番号を特定する場合も、リールモータを停止させるための駆動信号を出力するか否か判定する場合も、共通のリールステップ数等更新処理により更新されるリールステップ数を用いることで、当該処理に用いるステップ数を更新する処理及び当該ステップ数を格納する領域を削減することができる。
【０４６１】
本実施例のメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、リール基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒを備えており、リールステップ数等更新処理において、当該リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたことに応じて図柄ステップ数カウンタを初期値に設定するので、リール２Ｌ、２Ｃ、２Ｒの実際の位置とリールステップ数等更新処理により更新される図柄ステップ数カウンタの値とを整合させることができる。
【０４６２】
また、本実施例では、メイン制御部４１は、リールステップ数等更新処理において、当該リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたことに応じてリールステップ数カウンタを初期値に設定するので、リール２Ｌ、２Ｃ、２Ｒの実際の位置とリールステップ数等更新処理により更新されるリールステップ数カウンタの値とを整合させることができる。
【０４６３】
本実施例のメイン制御部４１は、異常が生じた可能性のある特定事象として投入払出エラー、ドア開放検出スイッチ２５の出力状態の変化、リール回転エラーが発生したか否かを判定する投入払出エラーチェック処理、ドア開放チェック処理、回転エラーチェック処理を実行可能であり、リール制御処理において、少なくとも、有効なストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された後、リール回転停止処理において図柄番号カウンタの値が取得されるまでの期間において、特定事象が発生したか否かを判定しないので、停止操作がされた後、図柄番号カウンタの値が取得されるまでの処理負荷を軽減することができる。
【０４６４】
本実施例では、メイン制御部４１は、メイン処理と当該メイン処理に所定時間間隔毎に割込で各種処理を行うタイマ割込処理（メイン）を実行可能であり、タイマ割込処理（メイン）においてリール２Ｌ、２Ｃ、２Ｒを回転させるための処理を実行する一方、メイン処理において、回転制御を行っている全てのリールが定速で回転している状態であると判定したことを条件に、停止操作の受付を有効化する処理を実行する構成である。
【０４６５】
このような構成では、メイン処理において停止操作の受付を有効化するか否かの判定中にタイマ割込処理（メイン）が実行されると、当該判定に用いられるリールの回転状態が変わってしまう可能性があり、正確な判定を行えない虞がある。
【０４６６】
これに対して、本実施例のメイン制御部４１は、メイン処理においてリール制御処理を実行して、回転制御中のリールの速度状態が定速状態であると判定したことを条件に、停止操作の受付を有効化する処理を実行する一方、タイマ割込処理（メイン）においてリール回転制御処理及びモータ位相信号出力処理を実行して、リールモータ３２Ｌ、３２Ｃ、３２Ｒを回転、停止させるための駆動信号を出力する構成であり、タイマ割込処理（メイン）では、リールステップ数等更新処理を実行して、回転制御中のリールについて速度状態が定速状態であるか否かを特定可能なリール速度状態フラグを設定し、メイン処理では、タイマ割込を禁止に設定した後、タイマ割込が禁止に設定されている状態で、少なくとも一のリールについてリール速度状態フラグを取得し、当該リール速度状態フラグに基づいてリールが定速状態であることが特定されることを条件に、リールの停止操作の受付を有効化するので、メイン処理においてリール速度状態フラグを取得する処理中にタイマ割込が実行され、リール速度状態フラグの設定が変更されてしまうことがないため、停止操作の受付を有効化するか否かの判定を正確に行うことができる。
【０４６７】
本実施例のメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、リール基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒを備えており、タイマ割込処理（メイン）において、リールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号が出力される毎に実行するリールステップ数等更新処理において、図柄ステップ数カウンタ及びリールステップ数カウンタを更新する構成であり、リールステップ数等更新処理において、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたときに、リールステップ数カウンタの値及び図柄ステップ数カウンタの値が正常であるか否かを判定し、リールステップ数カウンタの値及び図柄ステップ数カウンタの値が正常な値（本実施例では、リールステップ数カウンタは、３３６ステップ、図柄ステップ数カウンタは、０ステップ）であると判定した場合に、リール速度状態フラグを該当するリールの速度状態が定速状態である旨を特定可能に更新するので、リールステップ数カウンタまたは図柄ステップ数カウンタに基づいて特定されるリールの位置と実際のリールの位置とがずれた状態で、停止操作の受付が有効化されてしまうことを防止できる。
【０４６８】
本実施例のメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、リール基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒを備えており、タイマ割込処理（メイン）において、リールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号が出力される毎に実行するリールステップ数等更新処理において、図柄ステップ数カウンタ及びリールステップ数カウンタを更新する構成であり、リールステップ数等更新処理において、リールセンサ３３Ｌ、３３Ｃ、３３Ｒによりリール基準位置が検出されたときに、リールステップ数カウンタの値及び図柄ステップ数カウンタの値が正常であるか否かを判定し、リールステップ数カウンタの値または図柄ステップ数カウンタの値の少なくともいずれか一方が正常な値（本実施例では、リールステップ数カウンタは、３３６ステップ、図柄ステップ数カウンタは、０ステップ）でないと判定した場合に、リール速度状態フラグを該当するリールの速度状態が定速状態でない旨を特定可能に更新するので、一度、リール速度状態フラグが定速状態を特定可能に設定された後も、リールステップ数カウンタまたは図柄ステップ数カウンタに基づいて特定されるリールの位置と実際のリールの位置とがずれた場合には、停止操作が有効に受け付けられてしまうことを防止できる。
【０４６９】
尚、本実施例では、リール基準位置が検出されたときに、リールステップ数カウンタの値及び図柄ステップ数カウンタの値が正常であるか否かを判定し、少なくともいずれか一方のカウンタの値が正常な値でないと判定した場合に、リール速度状態フラグを速度状態が定速状態でない旨を特定可能に更新する構成であるが、リールステップ数カウンタ、図柄ステップ数カウンタのいずれか一方のカウンタについてのみ、その値が正常であるか否かを判定し、その値が正常な値でないと判定した場合に、リール速度状態フラグを速度状態が定速状態でない旨を特定可能に更新する構成であっても良い。このような構成であっても、本実施例の構成と同様の作用効果を奏する。
【０４７０】
本実施例のメイン制御部４１は、メイン処理のリール制御処理において、タイマ割込を禁止に設定し、当該タイマ割込が禁止の状態で、回転制御中の全てのリールについてリール速度状態フラグを参照して、回転制御中の全てのリールが定速回転で回転されているか否かを判定し、回転制御中の全てのリールが定速回転で回転していることを条件に、停止操作の受付を有効化する、すなわち回転制御中のリールが複数であっても全てのリールについてリール速度状態フラグを参照する処理を実行する期間にわたりタイマ割込の実行を禁止するので、タイマ割込の実行の禁止を効率的に行うことができる。
【０４７１】
本実施例のメイン制御部４１は、メイン処理のリール制御処理において、タイマ割込を禁止に設定し、当該タイマ割込が禁止の状態で、回転制御中の全てのリールについてリール速度状態フラグを参照する処理を行った後、当該タイマ割込が禁止の状態を維持して、当該リール速度状態フラグに基づいてリールが定速状態で回転されているか否かを判定する処理を行うので、リール速度状態フラグを参照する処理中だけでなく、参照したリール速度状態フラグに基づいてリールが定速状態か否かを判定する処理中もタイマ割込の実行が禁止され、リール速度状態フラグが変更されてしまうことがないため、停止操作の受付を有効化するか否かの判定を正確に行うことができる。
【０４７２】
本実施例のメイン制御部４１は、メイン処理のリール回転停止処理において、タイマ割込を禁止に設定し、当該タイマ割込が禁止の状態で、タイマ割込処理（メイン）のリールステップ数等更新処理により更新される図柄ステップ数カウンタの値を取得するので、図柄ステップ数カウンタの値を取得する処理中にタイマ割込が実行され、図柄ステップ数カウンタが変更されてしまうことを防止できる。
【０４７３】
本実施例では、メイン制御部４１は、メイン処理と当該メイン処理に所定時間間隔毎に割込で各種処理を行うタイマ割込処理（メイン）を実行可能であり、タイマ割込処理（メイン）においてリールステップ数カウンタ、図柄ステップ数カウンタ、図柄番号カウンタ等のリールの位置に関する情報を更新する一方、メイン処理において、停止操作が行われたときのリールの位置を特定する構成である。
【０４７４】
このような構成では、メイン処理において、停止操作が行われたときのリールの位置を特定する処理の実行中に、タイマ割込が実行されると、リールの位置を特定する際に用いられるリールの位置に関する情報が更新されて変わってしまう可能性があり、停止操作がされたときのリールの位置を正確に特定できない虞がある。
【０４７５】
これに対して、本実施例のメイン制御部４１は、タイマ割込処理（メイン）のリール回転制御処理において、リールモータ３２Ｌ、３２Ｃ、３２Ｒを回転、停止させるための駆動信号を出力する処理を実行し、当該駆動信号によりリールモータの励磁状態を変化させる毎に、リールステップ数等更新処理を実行して、図柄番号カウンタ等のリールの位置に関する情報を更新する一方、メイン処理のリール制御処理において、リールの停止操作が行われたときに、タイマ割込を禁止に設定した状態で、リールの位置に関する情報の少なくとも１つを参照して、当該リールの位置に関する情報に基づいて、停止操作が行われたリールを停止させる停止位置を特定するので、リールの位置に関する情報を参照する処理中にタイマ割込が実行され、リールの位置に関する情報が変更されてしまうことがないため、停止操作がされたときのリールの位置を正確に特定することができる。
【０４７６】
尚、本実施例では、リールの位置に関する情報として、図柄番号、すなわちリールの図柄の領域を特定可能な情報を用いる構成であるが、リールの位置に関する情報として、リールモータの駆動信号の出力に応じて毎に更新されるリールステップ数や、図柄ステップ数を用いる構成であっても良い。
【０４７７】
また、本実施例では、リールステップ数カウンタ、図柄ステップ数カウンタ、図柄番号カウンタが、０を起点として割り当てられた値をカウントする構成であるが、０以外の値（例えば１）を起点として割り当てられた値をカウントする構成としても良い。また、起点となる値に加算することでリールステップ数、図柄ステップ数、図柄番号を特定するものに限らず、起点となる値から減算することでリールステップ数、図柄ステップ数、図柄番号を特定するものでも良い。さらに更新される毎に加算または減算される値は１を超える値であっても良い。
【０４７８】
本実施例のメイン制御部４１は、タイマ割込処理（メイン）のリール回転制御処理において、リールモータ３２Ｌ、３２Ｃ、３２Ｒを回転、停止させるための駆動信号を出力する処理を実行し、当該駆動信号によりリールモータの励磁状態を変化させる毎に、リールステップ数等更新処理を実行して、リールの位置に関する情報として図柄番号を特定可能な図柄番号カウンタ等を更新する一方、メイン処理のリール制御処理において、リールの停止操作が行われたときに、タイマ割込を禁止に設定した状態で、図柄番号カウンタの値を参照して、当該図柄番号カウンタの値に基づいて、停止操作が行われたリールを停止させる停止位置を特定するので、図柄番号カウンタの値を参照する処理中にタイマ割込が実行され、図柄番号カウンタが変更されてしまうことがないため、停止操作がされたときのリールの位置を正確に特定することができる。
【０４７９】
本実施例のメイン制御部４１は、メイン処理のリール回転停止処理において、図柄ステップ数カウンタの値が判定範囲内にあるか否か、すなわち特定の範囲外にあるか否かを判定する第１の処理と、判定範囲内にあり特定の範囲外にないと判定した場合に図柄番号カウンタの値を取得する第２の処理と、を実行可能であり、第１の処理の結果、図柄ステップ数カウンタの値が特定の範囲外にあると判定した場合にタイマ割込の実行を許可することで、第１の処理の結果特定の範囲外にあると判定した場合、すなわち図柄番号を取得する時期でないと判定された場合には、タイマ割込の実行が許可されるので、タイマ割込の実行が禁止されたままとなることによりリールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号の出力に影響してしまうことを防止できる。
【０４８０】
尚、本実施例のメイン制御部４１は、メイン処理のリール回転停止処理において、図柄ステップ数カウンタの値が特定の範囲外にあるか否かを判定する第１の処理と、特定の範囲外にないと判定した場合に図柄番号カウンタの値を取得する第２の処理と、を実行可能であり、第１の処理の結果、図柄ステップ数カウンタの値が特定の範囲外にあると判定した場合にタイマ割込の実行を許可する構成であるが、メイン制御部４１は、図柄ステップ数カウンタの値が特定の値（例えば、１１）であるか否かを判定する第１の処理と、特定の値であると判定した場合に図柄番号カウンタの値を取得する第２の処理と、を実行可能であり、第１の処理の結果、図柄ステップ数カウンタの値が特定の値でないと判定した場合にタイマ割込の実行を許可する構成であっても良い。このような構成では、第１の処理の結果特定の値でないと判定した場合、すなわち図柄番号を取得する時期でないと判定された場合に、タイマ割込の実行が許可されるので、タイマ割込の実行が禁止されたままとなることによりリールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号の出力に影響してしまうことを防止できる。
【０４８１】
本実施例のメイン制御部４１は、メイン処理のリール回転停止処理において、タイマ割込を禁止した状態で、リールの停止操作が行われたときの図柄番号カウンタの値を取得した後、当該タイマ割込を禁止にした状態を維持して、当該取得した図柄番号カウンタの値に基づいて滑りコマ数を特定する、すなわちリールを停止させる停止位置を特定するので、図柄番号カウンタの値を取得する処理中だけでなく、取得した図柄番号カウンタの値に基づいてリールを停止させる停止位置を特定する処理中もタイマ割込の実行が禁止されるので、停止位置が特定されていない状態でリールモータの駆動が進んでしまうことにより停止制御が遅れてしまうことを防止できる。すなわち、仮に、図柄番号カウンタの値を取得した後、タイマ割込の実行を一旦許可して、その後、図柄番号カウンタの値に基づいて滑りコマ数を特定するような構成では、図柄番号カウンタの値が取得されているにも関わらず、滑りコマ数が設定されていない状態で、タイマ割込が実行されてしまう場合があり、このような場合のタイマ割込では、滑りコマ数が設定されていないので、リールの停止制御が開始されることがなく、当該タイマ割込が終了した後であって図柄番号カウンタの値に基づいて滑りコマ数が設定された後に実行されるタイマ割込において、リールの停止制御が開始されることとなる一方で、本実施例のように、タイマ割込の実行が禁止される状態を維持して、リールの停止操作が行われたときの図柄番号カウンタの値を取得し後、図柄番号カウンタの値に基づいて滑りコマ数を特定するまでの一連の処理を実行することで、図柄番号カウンタの値を取得した次のタイマ割込において、当該図柄番号に基づいて設定した滑りコマ数によるリールの停止制御を開始させることができる。
【０４８２】
本実施例では、１リールに配置される図柄数は２１図柄であり、リールモータは一周するために３３６ステップを要し、１リールの２１図柄の全てに対して１図柄あたり１６ステップを均等に割り当てることで、リールを１周させたときに２１図柄を１巡りさせることが可能な構成であるが、１リールの図柄数を２０図柄、すなわちリールを１周させるために要するステップ数を均等に分割できない図柄数として、リールを１周させたときに２０図柄を１巡りさせることが可能な構成であっても良い。このような構成では、１図柄に割り当てるステップ数を１６ステップと１８ステップとすること、すなわち１図柄に割り当てるステップ数を偶数または奇数のいずれかで統一することが好ましい。
【０４８３】
このような１リールの図柄数を、リールを１周させるために要するステップ数を均等に分割できない図柄数とする構成においても、本実施例の全相励磁停止制御を適用してリールを停止させる場合には、リールモータが全相励磁停止制御を開始されてから慣性力で４ステップ分回転して停止することになるので、リールモータの所定のステップ数を所定位置に停止させるためには、図柄に割り当てられた図柄ステップ数のうち最後のステップ数の４ステップ前で、全相励磁停止制御を開始することとなる。
【０４８４】
ここで、仮に、一のリールについて１図柄に割り当てるステップ数を偶数及び奇数が混在する構成として、当該リールが本実施例の１−２相励磁方式で回転制御されている場合に、ある一の図柄を所定の位置（透視窓３の上段、中段、下段のいずれかの領域に当該図柄の領域が一致するように停止する位置）に停止させるために全相励磁停止制御を開始すべきステップ数では、１図柄に割り当てられたステップ数の違いによって、１相で励磁される場合と、２相で励磁される場合とがあり得る。例えば、図２４（ａ）に示すように、１のリールについて１図柄に割り当てるステップ数が１６ステップ、１７ステップとされる図柄を含む構成では、１６ステップが割り当てられた図柄１については、１２ステップ目の２相で励磁されるステップ、１７ステップが割り当てられた図柄３についても、４６ステップ目の２相で励磁されるステップが全相励磁制御の開始タイミングとなる一方で、１７ステップが割り当てられた図柄２については、２９ステップ目の１相で励磁されるステップが全相励磁のタイミングとなる。
【０４８５】
このように、一のリールについて１図柄に割り当てるステップ数を偶数及び奇数が混在する構成では、１図柄に割り当てられたステップ数の違いによって、全相励磁停止制御の開始タイミングとなるステップが１相で励磁するステップの場合と２相で励磁するステップの場合とがあり、１相で励磁するステップと２相で励磁するステップとでは、現在位置に留まろうとする力が異なるので、リールを停止させるために共通の全相励磁制御を適用すると、リールが慣性で動作する量が変化して実際にリールが停止するまでの動きにばらつきが生じていてしまうこととなる。
【０４８６】
これに対して、一のリールについて１図柄に割り当てるステップ数を偶数または奇数のいずれかで統一する構成として、当該リールが本実施例の１−２相励磁方式で回転制御されている場合に、ある一の図柄を所定の位置に停止させるために全相励磁停止制御を開始すべきステップ数では、１図柄に割り当てられたステップ数の違い関わらず、同じ相で励磁される場合のみとなる。例えば、図２４（ｂ）に示すように、１のリールについて１図柄に割り当てるステップ数を偶数に統一して、１のリールについて１図柄に割り当てるステップ数が１６ステップ、１８ステップとされる図柄を含む構成では、１６ステップが割り当てられた図柄１については、１２ステップ目の２相で励磁されるステップ、同じく１６ステップが割り当てられた図柄３についても、４６ステップ目の２相で励磁されるステップが全相励磁制御の開始タイミングとなるとともに、１８ステップが割り当てられた図柄２についても、２９ステップ目の１相で励磁されるステップが全相励磁のタイミングとなる。
【０４８７】
このように、一のリールについて１図柄に割り当てるステップ数を偶数または奇数のいずれかで統一する構成では、１図柄に割り当てられたステップ数の違いに関わらず、全相励磁停止制御の開始タイミングとなるステップが同じ相で励磁される場合のみであり、いずれのステップにおいても現在位置に留まろうとする力が同じになるので、リールを停止させるために共通の全相励磁制御を適用する場合でも、リールが慣性で動作する量が変化してしまうことを抑えて、実際にリールが停止するまでの動きのばらつきを低減させることができる。
【０４８８】
尚、リールが停止するまでに要するステップ数は、リールやリールモータの特性（重さや大きさ、電気機械的な性質）等によって変化するので、リールの停止制御においては、当該特性に応じたステップ数で、全相励磁停止制御を行うことで、同様の作用効果を奏する。
【０４８９】
このように、１リールの図柄数を２０図柄、すなわちリールを１周させるために要するステップ数を均等に分割できない図柄数として、リールを１周させたときに２０図柄を１巡りさせることが可能な構成において、本実施例のように、メイン制御部４１は、有効なリールの停止操作が行われた際に、リール回転停止処理を実行して、図柄ステップ数カウンタの値が特定の範囲（非判定範囲）であるときには、図柄番号を取得せず、特定の範囲外（判定範囲）となったときには、図柄番号カウンタの値を図柄番号として取得する構成にあっては、１図柄に割り当てられたステップ数が異なる図柄のうちの一の図柄については、図柄ステップ数カウンタの値が、当該図柄に対応する第１の特定の範囲（第１の非判定範囲）であるときには、図柄番号を取得せず、第１の特定の範囲外（第１の判定範囲）となったときに、図柄番号カウンタの値を図柄番号として取得する一方で、１図柄に割り当てられたステップ数が異なる他の図柄については、図柄ステップ数カウンタの値が、第１の特定の範囲を加算または減算等の演算により補正した第２の特定の範囲（第２の非判定範囲）であるときには、図柄番号を取得せず、第２の特定の範囲外（第２の非判定範囲）となったときに、図柄番号カウンタの値を図柄番号として取得する構成とすることで、停止操作が行われたときの図柄番号カウンタの値が、第１の特定の範囲に対応する図柄番号であっても、第２の特定の範囲に対応する図柄番号であっても、ともに図柄ステップ数カウンタの値が共通の特定の範囲（共通のステップ数からなる特定の範囲）以外であるときに図柄番号カウンタの値を取得することができる。
【０４９０】
具体的には、例えば、図２５（ａ）に示すように、リールを１周させるために要するステップ数を均等に分割できない２０図柄のリールであって、１６ステップを割り当てられた図柄と、１８ステップを割り当てられた図柄とを配置する構成では、１６ステップが割り当てられた図柄については、本実施例（図１９参照）と同様に、１６の図柄ステップ数のうち第１の特定の範囲（１２〜１５）を非判定範囲とし、当該第１の特定の範囲外（０〜１１）を判定範囲とする一方で、１８ステップが割り当てられた図柄については、第１の特定の範囲（１２〜１５）を、２ステップ分（１６ステップと１８ステップの差分）だけ加算して補正した第２の特定の範囲（１４〜１７）を非判定範囲とし、当該第２の特定の範囲外（０〜１３）を判定範囲とする構成とすることで、図柄ステップ数として１６ステップが割り当てられた図柄であっても、１８ステップが割り当てられた図柄であっても、ともに図柄番号カウンタの値が共通の特定の範囲（停止操作が行われたときの図柄番号カウンタの値に対応する図柄でリールを停止させることができない４ステップからなる特定の範囲）以外であるときに図柄番号カウンタの値を取得することができる。
【０４９１】
また、図２５（ｂ）に示すように、例えば、２０図柄のリールであって、１６ステップを割り当てられた図柄と、１８ステップを割り当てられた図柄とを配置する構成において、１８ステップが割り当てられた図柄について、第３の特定の範囲（１４〜１７）を非判定範囲とし、当該第３の特定の範囲外（０〜１３）を判定範囲とする一方で、１６ステップが割り当てられた図柄については、第３の特定の範囲を、１６ステップと１８ステップの差分だけ減算して補正した第４の特定の範囲（１２〜１５）を非判定範囲とし、当該第４の特定の範囲外（０〜１３）を判定範囲とする構成とすることでも、上述の例と同様に、いずれの図柄についても、ともに図柄番号カウンタの値が共通の特定の範囲（停止操作が行われたときの図柄番号カウンタの値に対応する図柄でリールを停止させることができない４ステップからなる特定の範囲）以外であるときに図柄番号カウンタの値を取得することができる。
【０４９２】
尚、上述の例では、図柄ステップ数として１６ステップが割り当てられた図柄または１８ステップが割り当てられた図柄のいずれかの一方の図柄についての特定の範囲（停止操作が行われたときの図柄番号カウンタの値に対応する図柄でリールを停止させることができない４ステップからなる特定の範囲）を、加算または減算する補正を行って、他方の図柄についての特定の範囲とする構成であるが、１図柄に割り当てられた図柄ステップ数が少ない方の図柄についての特定の範囲を、補正を行うことなく、他の図柄についての特定の範囲として適用する構成、例えば、１６ステップの図柄であっても、１８ステップの図柄であっても、ともに共通の特定のステップとして１１を境にして特定の範囲（１２〜１５または１２〜１７０）と、特定の範囲外（０〜１１）を設定する構成であっても良い。このような構成では、図柄ステップ数として１６ステップが割り当てられた図柄及び１８ステップが割り当てられた図柄について、図柄ステップ数カウンタの値が共通の特定の範囲外（０〜１１）であるときに、図柄番号値を取得して当該リールを停止させる停止制御を共通の処理で行うことが可能となる。尚、共通の特定のステップは、１図柄に割り当てられたステップ数が異なる図柄のいずれの図柄においても、滑りコマ数０で当該図柄を所定の位置に停止させることができるステップであり、１図柄に割り当てられたステップ数が最も小さい図柄の判定範囲（後の４ステップよりも前のステップ）の最後の値である。
【０４９３】
このように、１リールを１周させるために要するステップ数を均等に分割できない図柄数のリールであって、１図柄に割り当てられたステップ数が異なる図柄のうちの一の図柄については、図柄ステップ数カウンタの値が、当該図柄に対応する第１の特定の範囲（第１の非判定範囲）であるときには、図柄番号を取得せず、第１の特定の範囲外（第１の判定範囲）となったときに、図柄番号カウンタの値を図柄番号として取得する一方で、１図柄に割り当てられたステップ数が異なる他の図柄については、図柄ステップ数カウンタの値が、第１の特定の範囲を加算または減算等して補正した第２の特定の範囲（第２の非判定範囲）であるときには、図柄番号を取得せず、第２の特定の範囲外（第２の非判定範囲）となったときに、図柄番号カウンタの値を図柄番号として取得する構成であるが、図柄ステップ数カウンタの値が、特定の値であるか否かに基づいて、図柄番号を取得するまたは取得しない構成であっても良い。
【０４９４】
このような構成としては、例えば、１図柄に割り当てられたステップ数が異なる図柄のうちの一の図柄（例えば、１６ステップが割り当てられた図柄）については、図柄ステップ数カウンタの値が、当該図柄に対応する第１の特定の値（第１の判定値、例えば、１１ステップ）であるときには、図柄ステップ数カウンタの値を図柄番号として取得し、第１の特定の値以外の値（例えば、０〜１０ステップ及び１２〜１５ステップ）であるときには、そのときの図柄番号カウンタの値を取得せず、その後第１の特定の値となったときに、図柄番号カウンタの値を図柄番号として取得する一方で、１図柄に割り当てられたステップ数が異なる図柄のうちの他の図柄（例えば、１８ステップが割り当てられた図柄）については、図柄ステップ数カウンタの値が、第１の特定の値を加算または減算等して補正した第２の特定の値（例えば、１６ステップと１８ステップの差分の２ステップ分を加算した１３ステップ）であるときには、図柄ステップ数カウンタの値を図柄番号として取得し、第２の特定の値以外の値（例えば、０〜１２ステップ及び１４〜１７ステップ）であるときには、そのときの図柄カウンタの値を取得せずに、その後第２の特定の値となったときに、図柄番号カウンタの値を図柄番号として取得する構成であっても良く、このような構成とすることで、停止操作が行われたときの図柄番号カウンタの値が、第１の特定の値に対応する図柄番号であっても、第２の特定の値に対応する図柄番号であっても、ともに図柄ステップ数カウンタの値が共通の特定の範囲（その時点での図柄番号カウンタの値に基づいて特定される図柄を滑りコマ数０で所定の位置に停止させることができない、図柄ステップ数のうち最後の４ステップの範囲）の直前であるときに図柄番号カウンタの値を取得することができる。
【０４９５】
また、例えば、１図柄に割り当てられたステップ数が異なる図柄のいずれの図柄についても、滑りコマ数０で当該図柄を所定の位置に停止させることができるステップであり、１図柄に割り当てられたステップ数が最も小さい図柄の判定範囲（例えば、１８ステップが割り当てられた図柄と１６ステップが割り当てられた図柄を含む構成において、１６ステップが割り当てられた図柄における、０〜１１ステップ）の最後の値（例えば、１１ステップ）を共通の特定の値として、当該共通の特定の値であるときには、図柄ステップ数カウンタの値を図柄番号として取得し、共通の特定の値以外の値であるときには、そのときの図柄番号カウンタの値を取得せず、その後共通の特定の値となったときに、図柄番号カウンタの値を図柄番号として取得する構成であっても良く、このような構成とすることで、１図柄に割り当てられたステップ数が異なる図柄のいずれの図柄についても、共通の判定範囲停止操作が行われたときの図柄番号カウンタの値が、共通の特定の値であるときに、図柄番号カウンタの値を取得することができる。
【０４９６】
尚、図２４で示す例では、リールステップ数が１を起点としてカウントする構成であるが、上記実施例と同様に、リールステップ数が０を起点としてカウントする構成としても良い。
【０４９７】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０４９８】
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル１枚分を遊技球５個分に対応させることができ、前記実施例で賭数として３を設定する場合は、１５個の遊技球を用いて賭数を設定するものに相当する。
【０４９９】
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか１種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
【符号の説明】
【０５００】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
６  ＭＡＸＢＥＴスイッチ
７  スタートスイッチ
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４１  メイン制御部
９１  サブ制御部
【図１】
2018023412.tif 000003
【図２】
2018023412.tif 000004
【図３】
2018023412.tif 000005
【図４】
2018023412.tif 000006
【図５】
2018023412.tif 000007
【図６】
2018023412.tif 000008
【図７】
2018023412.tif 000009
【図８】
2018023412.tif 000010
【図９】
2018023412.tif 000011
【図１０】
2018023412.tif 000012
【図１１】
2018023412.tif 000013
【図１２】
2018023412.tif 000014
【図１３】
2018023412.tif 000015
【図１４】
2018023412.tif 000016
【図１５】
2018023412.tif 000017
【図１６】
2018023412.tif 000018
【図１７】
2018023412.tif 000019
【図１８】
2018023412.tif 000020
【図１９】
2018023412.tif 000021
【図２０】
2018023412.tif 000022
【図２１】
2018023412.tif 000023
【図２２】
2018023412.tif 000024
【図２３】
2018023412.tif 000025
【図２４】
2018023412.tif 000026
【図２５】
2018023412.tif 000027