(57)【特許請求の範囲】
【請求項１】
遊技者の遊技操作に対応して遊技動作を進行させるメイン処理と、所定時間毎にメイン処理を中断させて起動されることで時間経過を計時可能な割込み処理と、を有して構成され、
複数種類の当選状態の何れかに内部当選している場合に、この内部当選状態に対応して、各々ステッピングモータで駆動されている複数の回転体を停止させることで内部当選状態が実効化される遊技機であって、
所定のスイッチ信号に基づいて抽選処理を実行して、何れかの内部当選状態であるか否かを決定する第１手段と、
複数種類の予告演出の何れかを実行するか否かを、第１手段の決定内容に対応して決定する第２手段と、
予告演出を経ることなく、停止状態の回転体の回転速度を段階的に増加させる加速回転動作を０．２秒以内で完了する第３手段と、
第３手段に続いて、回転体を定常速度で回転させる定速回転動作を実行する第４手段と、
遊技者の停止操作に対応して、ステッピングモータの全駆動巻線を駆動して回転体を停止させる第５手段と、
第５手段に続いて、ステッピングモータを全駆動巻線の駆動を解除する第６手段と、を設けて構成され、
前記加速回転動作は、ステッピングモータの駆動巻線のうち、通電状態の駆動巻線が相対的に少ない低トルク駆動と、通電状態の駆動巻線が相対的に多い高トルク駆動とを、通電状態の駆動巻線を推移させつつ交互に繰り返すことで実現され、
前記加速回転動作では、停止状態の回転体について、低トルク駆動から駆動を開始して、交互に繰り返される低トルク駆動の継続時間ＴＬと、高トルク駆動の継続時間ＴＨとの時間比ＴＬ／ＴＨが、ＴＬ≦２．５ミリ秒の条件化、ＴＬ／ＴＨ＝１／４０以上の初期値から、ＴＬ／ＴＨ＝１／２以下の最終値に至るまで段階的に増加制御されることを特徴とする遊技機。
【請求項２】
遊技者による停止操作を受けて停止制御されたステッピングモータは、第５手段を所定時間以上機能させた上で、第６手段を機能されるよう構成されている請求項１に記載の遊技機。
【請求項３】
前記定速回転動作は、低トルク駆動の継続時間ＴＬと、高トルク駆動の継続時間ＴＨとの時間比ＴＬ／ＴＨが、設計上、ＴＬ／ＴＨ＝１の状態で実行されている請求項１又は２に記載の遊技機。
【請求項４】
定速回転を開始した後、低トルク駆動の駆動回数か、又は高トルク駆動の駆動回数を計数する一方、回転体が一周する毎に、計数した駆動回数を初期状態に戻す計数手段を設け、
前記駆動回数が異常値に達すると、その回転体について、前記加速回転動作から開始する一連の駆動処理を最初から再実行するよう構成されている請求項１〜３の何れかに記載の遊技機。
【請求項５】
ステッピングモータは、全ての駆動巻線の通電方向が一方向であるユニポーラ通電方式で駆動されている請求項１〜４の何れかに記載の遊技機。
【請求項６】
ステッピングモータは、二相モータで構成されて、通電状態の駆動巻線が１相の低トルク駆動と、通電状態の駆動巻線が２相の高トルク駆動とを交互に繰り返す１−２相駆動で駆動されている請求項５に記載の遊技機。
【請求項７】
ステッピングモータのステップ角θｓは、０．５°≦θｓ≦１．５°に設定されている請求項１〜６の何れかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置を内蔵する電子遊技機に関し、特に、回胴遊技機に好適に適用される。
【背景技術】
【０００２】
スロットマシンなどの回胴遊技機では、遊技者がメダル投入口にメダルを投入してスタートレバーを操作すると、これに応じて、回転リールの回転が開始される。そして、遊技者がストップボタンを押して回転リールを停止させたとき、有効な停止ライン（以下、有効ラインという）に図柄が揃うと、その図柄に応じた配当メダルが払い出されるようになっている。
【０００３】
但し、実際には、各ゲームの当否状態は、遊技者が停止操作を開始するまでに、主制御部における内部抽選処理（以下、図柄抽選処理ということがある）によって予め決定されており、この抽選処理によって内部当選した図柄を、遊技者が有効ライン上に揃えることで配当メダルが払出される。
【０００４】
当選図柄のうち特に価値が高いのが、ビッグボーナス（ＢＢ）図柄の組合せである。このＢＢ役に内部当選して、遊技者がＢＢ図柄を有効ライン上に揃えると、ビッグボーナスゲームが開始され、その後は、小役図柄の当選確率が格段に高く維持されることで、大量の配当メダル数が期待できるようになっている。
【０００５】
しかし、ＢＢ図柄は、各回転リールに１〜２個しか配置されていないので（図柄全体の１／２１〜２／２１）、ＢＢ役に内部当選していることを知らない状態では、目的のＢＢ図柄を有効ラインに整列させるのは容易ではない。また、ＢＢ役以外の小役当りについても、適切な停止タイミングを採らない限り、有効ラインに整列させることができない場合も多い。
【０００６】
そのため、遊技者の停止操作に先立って、内部当選状態を予告する予告演出が実行されることがある。予告演出としては、例えば、液晶表示装置に特別なキャラクタなどを出現させる画像演出や、スタートレバー操作時やその後の画像演出中に、特別な効果音を出力する音声予告や、ＬＥＤランプを特殊態様で点滅させるランプ演出などが実行されている。
【０００７】
そして、予告演出の態様に応じて、内部当選状態が推理できるように構成することで、遊技者を飽きさせないよう工夫している。また、予告演出に虚偽予告も含まれる場合、予告演出の態様に応じて予告演出の正当性（信頼度）が変わるように構成されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−０１９９０２号公報
【特許文献２】特開２０１２−０１１０９６号公報
【特許文献３】特開２０１２−００５５６９号公報
【特許文献４】特開２０１１−２１２３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、長時間にわたって遊技者を楽しませるためには、斬新な予告演出などの演出動作を、適度な頻度で実行することが望まれる。但し、この種の遊技機では、プログラム領域やデータ領域として使用できるメモリ空間は、法的に規制されているので、メモリ空間を無闇に消費してしまう演出動作を実行することはできない。
【００１０】
また、予告演出を実行するか否かに拘らず、メモリ空間を無闇に浪費することなく、回転リールを円滑に回転起動させることができ、円滑に回転を停止させることができる構成が望まれる。
【００１１】
本発明は、上記の問題点に鑑みてなされたものであって、メモリ空間の最小限の消費によって斬新な演出動作を実行できるだけでなく、演出動作後の動作も円滑である遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するため、本発明は、遊技者の遊技操作に対応して遊技動作を進行させるメイン処理と、所定時間毎にメイン処理を中断させて起動されることで時間経過を計時可能な割込み処理と、を有して構成され、複数種類の当選状態の何れかに内部当選している場合に、この内部当選状態に対応して、各々ステッピングモータで駆動されている複数の回転体を停止させることで内部当選状態が実効化される遊技機であって、所定のスイッチ信号に基づいて抽選処理を実行して、何れかの内部当選状態であるか否かを決定する第１手段と、複数種類の予告演出の何れかを実行するか否かを、第１手段の決定内容に対応して決定する第２手段と、予告演出を経ることなく、停止状態の回転体の回転速度を段階的に増加させる加速回転動作を０．２秒以内で完了する第３手段と、第３手段に続いて、回転体を定常速度で回転させる定速回転動作を実行する第４手段と、遊技者の停止操作に対応して、ステッピングモータの全駆動巻線を駆動して回転体を停止させる第５手段と、第５手段に続いて、ステッピングモータを全駆動巻線の駆動を解除する第６手段と、を設けて構成され、前記加速回転動作は、ステッピングモータの駆動巻線のうち、通電状態の駆動巻線が相対的に少ない低トルク駆動と、通電状態の駆動巻線が相対的に多い高トルク駆動とを、通電状態の駆動巻線を推移させつつ交互に繰り返すことで実現され、前記加速回転動作では、停止状態の回転体について、低トルク駆動から駆動を開始して、交互に繰り返される低トルク駆動の継続時間ＴＬと、高トルク駆動の継続時間ＴＨとの時間比ＴＬ／ＴＨが、ＴＬ≦２．５ミリ秒の条件化、ＴＬ／ＴＨ＝１／４０以上の初期値から、ＴＬ／ＴＨ＝１／２以下の最終値に至るまで段階的に増加制御されることを特徴とする。
【００１３】
本発明では、時間比ＴＬ／ＴＨが、ＴＬ≦２．５ミリ秒の条件化、ＴＬ／ＴＨ＝１／４０以上の初期値から、ＴＬ／ＴＨ＝１／２以下の最終値に至るまで段階的に増加制御されるので起動回転を円滑に実施することができる。この場合、時間経過に対応して時間比を規定するタイムテーブルＴＢＬを設けることで、制御処理の繁雑さを解消することができる。因みに、図１６の実施例では、時間比ＴＬ対ＴＨが、１対３３から開始して、１対２で終わるよう規定している。この程度の時間比で推移させることで、加速回転動作の継続時間（起動時間）を０．２秒以内にすることができ、円滑な起動動作が実現される。因みに、実施例の場合には、加速回転動作から定速回転動作に至るまでの起動時間は、０．１２秒程度である。また、加速回転動作は、回転体に描かれた図柄（実施例では２１個）の１個分程度、具体的には、０．７個〜１．５個で終えると、起動回転を円滑化することができる。
【００１４】
低トルク駆動の継続時間ＴＬと、高トルク駆動の継続時間ＴＨとは、前記割込み処理の起動回数で管理されており、低トルク駆動の継続時間ＴＬは、２．５ミリ秒以下に設定されて、前記加速回転動作は、低トルク駆動から開始されるので円滑な回転を実現することができる。
【００１６】
一方、前記定速回転動作は、低トルク駆動の継続時間ＴＬと、高トルク駆動の継続時間ＴＨとの時間比ＴＬ／ＴＨが、設計上、ＴＬ／ＴＨ＝１の状態で実行されているのが好ましい。そして、定速回転を開始した後、低トルク駆動の駆動回数か、又は高トルク駆動の駆動回数を計数する一方、回転体が一周する毎に、計数した駆動回数を初期状態に戻す計数手段を設け、前記駆動回数が異常値に達すると、その回転体について、前記加速回転動作から開始する一連の駆動処理を最初から再実行するよう構成されていると回転異常を自動的に修復することもできる。
【００１７】
ステッピングモータは、全ての駆動巻線の通電方向が一方向であるユニポーラ通電方式で駆動されているのが好適であり、この場合、ステッピングモータは、二相モータで構成されて、通電状態の駆動巻線が１相の低トルク駆動と、通電状態の駆動巻線が２相の高トルク駆動とを交互に繰り返す１−２相駆動で駆動されるのが最適である。このような場合、ステップ角を小さくすることができ、好ましくは、ステップ角θｓが、０．５°≦θｓ≦１．５°に設定される。
【発明の効果】
【００１８】
上記した本発明によれば、メモリ空間の最小限の消費によって斬新な演出動作を実行できるだけでなく、演出動作後の動作も円滑である遊技機を実現することができる。
【図面の簡単な説明】
【００１９】
【図１】実施例に係るスロットマシンの正面図である。
【図２】図１のスロットマシンの右側面図（ａ）と平面図（ｂ）である。
【図３】スロットマシンの前面パネルを背面から図示した図面である。
【図４】スロットマシンの本体ケースの内部正面図である。
【図５】図１のスロットマシンの回路構成を示すブロック図である。
【図６】主制御基板の回路構成を示すブロック図である。
【図７】カウンタ回路を示す回路図である。
【図８】電源基板の回路構成を示すブロック図である。
【図９】主制御部におけるメイン処理を説明するフローチャートである。
【図１０】タイマ割込み処理と、電断時のＮＭＩ割込み処理を説明するフローチャートである。
【図１１】メイン処理中の回胴開始設定処理と、回胴制御フラグを説明する図面である。
【図１２】回胴開始設定処理の一部であるリール演出処理と、リール演出テーブルを説明する図面である。
【図１３】モータ動作テーブルと、ステッピングモータの駆動方法を説明する図面である。
【図１４】図１２のリール演出処理を詳細に説明するフローチャートである。
【図１５】タイマ割込み処理中の回胴回転制御処理の一部を説明するフローチャートである。
【図１６】タイマ割込み処理中の回胴回転制御処理の全体を説明するフローチャートである。
【図１７】リール演出処理について、別の実施例を説明するフローチャートである。
【図１８】回胴回転制御処理について、別の実施例を説明するフローチャートである。
【図１９】図１８の一部を説明するフローチャートである。
【図２０】電断監視処理をタイマ割込み処理中に実行する実施例を説明するフローチャートである。
【図２１】リール演出処理について、別の実施例を説明するフローチャートである。
【図２２】電断復帰処理について、別の実施例を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、実施例に基づいて本発明を更に詳細に説明する。図１〜図４は、実施例に係るスロットマシンＳＬを図示したものである。本スロットマシンＳＬは、矩形箱状の本体ケース１と、各種の遊技部材を装着した前面パネル２とが、ヒンジ３を介して連結され、前面パネル２が本体ケース１に対して開閉可能に構成されている（図２）。そして、図１は前面パネル２の正面図、図２はスロットマシンＳＬの右側面図（ａ）と平面図（ｂ）、図３は前面パネル２の背面図、図４は本体ケース１の内部正面図を示している。
【００２１】
図４に示す通り、本体ケース１の略中央には、３つの回転リール４ａ〜４ｃを備える図柄回転ユニット４が配置され、その下側に、メダル払出装置５が配置されている。各回転リール４ａ〜４ｃには、ＢＢ図柄、ＲＢ図柄、各種のフルーツ図柄、及びリプレイ図柄などが描かれている。メダル払出装置５には、メダルを貯留するメダルホッパー５ａと、払出モータＭと、メダル払出制御基板５５と、払出中継基板６３と、払出センサ（不図示）などが設けられている。ここで、メダルは、払出モータＭの回転に基づいて、払出口５ｂから図面手前に向けて導出される。なお、限界量を越えて貯留されたメダルは、オーバーフロー部５ｃを通して、補助タンク６に落下するよう構成されている。
【００２２】
上記のメダル払出装置５に隣接して電源基板６２が配置され、また、図柄回転ユニット４の上部に主制御基板５０が配置され、主制御基板５０に隣接して回胴設定基板５４が配置されている。なお、図柄回転ユニット４の内部には、回胴ＬＥＤ中継基板５８と回胴中継基板５７とが設けられ、図柄回転ユニット４に隣接して外部集中端子板５６が配置されている。
【００２３】
図１に示すように、前面パネル２の上部には液晶表示ユニット７が配置されている。この表示ユニット７には、各種のキャラクタを表示することで遊技動作を効果的に盛り上げている。液晶表示ユニット７の下部には、回転リール４ａ〜４ｃに対応する３つの表示窓８ａ〜８ｃが配置されている。表示窓８ａ〜８ｃを通して、各回転リール４ａ〜４ｃの回転方向に、各々３個程度の図柄が見えるようになっており、合計９個の図柄の水平方向の三本と、対角線方向の二本が仮想的な停止ラインとなる。
【００２４】
このような表示窓８ａの左側には、遊技状態を示すＬＥＤ群９が設けられ、その下方には、遊技成果として払出されるメダル数を表示する払出表示部１０や、クレジット状態のメダル数を表示する貯留数表示部１１が設けられている。
【００２５】
払出表示部１０は、７セグメントＬＥＤを２個連設して構成されており、払出メダル数を特定すると共に、何らかの異常事態の発生時には、異常内容を表示するエラー表示器としても機能している。
【００２６】
前面パネル２の垂直方向中央には、メダルを投入するメダル投入口１２が設けられ、これに隣接して、メダル投入口１２に詰まったメダルを返却させるための返却ボタン１３が設けられている。また、クレジット状態のメダルを払出すクレジット精算ボタン１４と、メダル投入口１２へのメダル投入に代えてクレジット状態のメダルを擬似的に一枚投入する投入ボタン１５と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン１６とが設けられている。
【００２７】
これらの遊技部材の下方には、回転リール４ａ〜４ｃの回転を開始させるスタートレバー１７と、回転中の回転リール４ａ〜４ｃを停止させるためのストップボタン１８ａ〜１８ｃが設けられている。
【００２８】
遊技者がスタートレバー１７を操作すると、通常は、３つの回転リール４ａ〜４ｃが、正方向に正常回転を開始するが、内部当選状態を予告するリール演出時には、回転リール４ａ〜４ｃの全部又は一部が、変則的に回転した上で正常回転を開始する。
【００２９】
リール演出として、この実施例では、例えば、図１２（ａ）に例示する６種類の変則回転が用意されている。具体的な演出内容は、適宜に変更されるが、例えば、（１）極めてゆっくり正方向に回転して静止するスロー演出、（２）正転と逆転を繰り返した後に、所定時間だけ逆方向に回転して静止する逆回転演出、（３）Ｔ１時間だけ正転と逆転を繰り返した後に静止するガタガタ演出１、（４）Ｔ２時間だけ正転と逆転を繰り返した後に静止するガタガタ演出２、（５）Ｔ２時間だけ正転と逆転を繰り返した後に静止し、更に、極めてゆっくり正転した後に静止するガタガタスロー演出、（６）Ｔ２時間だけ正転と逆転を繰り返した後に静止し、更に、所定時間だけ逆転した後に静止するガタガタ逆回転演出、などが用意されている。
【００３０】
そして、このようなリール演出時には、液晶表示（ＬＣＤ）ユニット７におけるキャラクタ演出や、ＬＥＤランプを点滅させるランプ演出や、スピーカを駆動する音声演出の全部又は一部が適宜に選択されて実行される。なお、リール演出の具体的な制御方法などについては更に詳細に後述する。
【００３１】
図１に示す通り、前面パネル２の下方には、メダルを蓄える横長の受け皿１９と、払出装置５の払出口５ｂに連通するメダル導出口２０とが設けられている。なお、メダル導出口２０の左右にはスピーカＳＰが配置されている。
【００３２】
図３に示すように、前面パネル２の裏側には、メダル投入口１２に投入されたメダルの選別を行うメダル選別装置２１と、メダル選別装置２１により不適正と判別されたメダルをメダル導出口２０に案内する返却通路２２とが設けられている。また、前面パネル３の裏側上部には、演出制御基板５１、演出インタフェイス基板５２、及び液晶制御基板６１などを収容する基板ケース２３が配置されている。そして、メダル選別装置２１の上部には、図１に示す各種の遊技部材と主制御基板５０との間の信号を中継する遊技中継基板５３が設けられている。
【００３３】
図５は、実施例に係るスロットマシンＳＬの回路構成を示すブロック図である。図示の通り、このスロットマシンＳＬは、回転リール４ａ〜４ｃを含む各種の遊技部材の動作を制御する主制御基板５０と、主制御基板５０から受けた制御コマンドに基づいて演出動作を実現する演出制御基板５１と、交流電圧（２４Ｖ）を直流電圧（５Ｖ，１２Ｖ，２４Ｖ）に変換して装置各部に供給する電源基板６２とを中心に構成されている。
【００３４】
主制御基板５０は、演出制御基板５１に対して、スピーカＳＰによる音声演出、ＬＥＤランプや冷陰極線管放電管によるランプ演出、及び、液晶表示ユニット７による図柄演出を実現するための制御コマンドを出力している。そして、演出制御部５１では、主制御基板５０から、内部抽選結果を特定する制御コマンド（遊技開始コマンド）受けると、内部抽選結果に対応してアシストタイム当選状態とするか否かのＡＴ抽選を実行している。
【００３５】
また、演出制御部５１は、主制御基板５０から、リール演出を実行することを示す制御コマンド（フリーズコマンド）を受けた場合には、主制御基板５０で実行するリール演出に対応する適宜な演出動作を開始する。
【００３６】
これらの動作のため、演出制御基板５１は、演出インタフェイス基板５２を通して、液晶制御基板６１に接続されており、液晶制御基板６１は、液晶表示（ＬＣＤ）ユニット７における適宜な図柄演出を実現している。
【００３７】
また、演出制御基板５１は、演出インタフェイス基板５２と共に、ＬＥＤ基板５９やインバータ基板６０や回胴ＬＥＤドライブ基板５８を経由して、各種のＬＥＤや冷陰極線管放電管におけるランプ演出を実現している。更にまた、演出制御基板５１は、演出インタフェイス基板５２を通してスピーカＳＰを駆動して音声演出を実現している。
【００３８】
なお、演出制御基板５１においてＡＴ抽選に当選した後の所定回数のゲーム（ＡＴ中）では、小役当選状態において、その図柄を停止ラインに整列できるよう、３つの回転リールの停止順序を遊技者に報知している。
【００３９】
主制御基板５０は、遊技中継基板５３を通して、スロットマシンの各種遊技部材に接続されている。具体的には、スタートレバー１７の始動スイッチ、ストップボタン１８ａ〜１８ｃの停止スイッチ、投入ボタン１５，１６の投入スイッチ、清算ボタン１４の清算スイッチ、前面パネル２の開閉を認識するドアセンサ、上流側センサＳ０を構成するレバー検知センサ、メダル通過センサＳ１，Ｓ２を構成するフォトインタラプタＰＨ１，ＰＨ２、不正メダルの通過を阻止するブロッカーをＯＮ／ＯＦＦ制御するブロッカーソレノイド３０、及び、各種ＬＥＤ素子９〜１１などに接続されている。
【００４０】
本実施例のメダル選別装置２１は、上流側センサＳ０（レバー検知センサ）と、メダル通過センサＳ１，Ｓ２（フォトインタラプタＰＨ１，ＰＨ２）と、ブロッカーソレノイド３０と、を内蔵して構成されており、メダル投入口１２に近接して最上流位置に上流側センサＳ０が配置され、ブロッカーを経由して、その下流位置に一対のメダル通過センサＳ１，Ｓ２が近接して配置されている（図６参照）。
【００４１】
上流側センサＳ０は、具体的には、メダル表面で押圧されて揺動するレバーＬＶと、レバーＬＶの揺動に対応してＯＮ／ＯＦＦ動作するフォトインタラプタＰＨと、を有して構成されている。そして、上流側センサＳ０は、メダル表面がレバーＬＶを押圧するメダル通過時にはＯＮ状態となり、メダルの通過後にＯＦＦ状態に復帰するよう構成されている。
【００４２】
ブロッカーは、上記した上流側センサＳ０の下流位置に配置され、ブロッカーソレノイド３０の通電時にはメダルの通過を許可する導入姿勢となり、非通電時には、メダルの通過を拒否する返却姿勢となる。
【００４３】
図５に示す通り、主制御基板５０は、回胴中継基板５７を経由して、回転リール４ａ〜４ｃを回転させる３つのステッピングモータ、及び、回転リール４ａ〜４ｃの基準位置を検出するためのインデックスセンサに接続されている。そして、ステッピングモータを駆動又は停止させることによって、回転リール４ａ〜４ｃの回転動作と、目的位置での停止動作を実現している。
【００４４】
また、主制御基板５０は、払出中継基板６３を通してメダル払出装置５にも接続されている。メダル払出装置５には、メダル払出制御基板５５と、メダル満杯センサと、メダル払出センサと、払出モータＭとが設けられており、メダル払出制御基板５５は、主制御基板５０からの制御コマンドに基づいて払出モータＭを回転させて、所定量のメダルを払出している。
【００４５】
メダル満杯センサは、補助収納庫にメダルが満杯状態になったオーバーフロー異常を検出し、メダル払出センサは、払出メダル枚数が不足する不足異常や、遊技機による払出動作を伴わない異常払出を検出している。その他、主制御基板５０は、外部集中端子板５６と、回胴設定基板５４にも接続されている。外部集中端子板５６は、例えばホールコンピュータＨＣに接続されており、主制御基板５０は、外部集中端子板５６を通して、メダルの投入枚数やメダルの払出枚数などを出力している。
【００４６】
また、回胴設定基板５４は、係員が設定キーで設定した設定値を示す設定キー信号などを出力している。ここで、設定値とは、当該遊技機で実行される抽選処理の当選確率などを、設定１から設定６まで６段階で規定するもので、遊技ホールの営業戦略に基づいて適宜に設定される。例えば、最高ランクに設定された遊技機は、メダル払出枚数の期待値が最高レベルであるため、遊技者にとって最も有利である。
【００４７】
図６は、主制御基板５０の回路構成を図示したものである。図示の通り、主制御基板５０は、ワンチップマイコン６４と、８ｂｉｔパラレルデータを入出力するＩ／Ｏポート回路６５と、ハードウェア的に乱数値を生成するカウンタ回路６６と、演出制御基板５１などの外部基板とのインタフェイス回路とを中心に構成されている。ここで、ワンチップマイコン６４は、Ｚ８０相当品のＣＰＵコア６４ａ、ＲＯＭ、ＲＡＭなどの他に、ＣＴＣ(Counter/Timer Circuit) ６４ｂや、割込みコントローラ６４ｃなどを内蔵している。
【００４８】
ＣＴＣ６４ｂは、８ｂｉｔのカウンタやタイマを集積した回路であり、Ｚ８０システムに、周期的割り込みや一定周期のパルス出力作成機能（ビットレートジェネレータ）や時間計測の機能を付与するものである。そこで、本実施例では、ＣＴＣ６４ｂを利用して、Ｚ８０ＣＰＵ６４ａに１．５ｍＳの時間間隔τでタイマ割込み（図１０（ａ））をかけている。
【００４９】
インタフェイス回路としては、電源回路とのインタフェイス回路６７、遊技中継基板５３とのインタフェイス回路６８と、回胴モータ駆動回路６９と、演出制御基板５１とのインタフェイス回路７０などが設けられている。そして、電源遮断時（電断時）には、インタフェイス回路６７を通して、Ｚ８０ＣＰＵ６４ａに電圧降下割込みをかけている。
【００５０】
インタフェイス回路７０は、演出制御基板５１に制御コマンドを出力するための８ビットパラレルポートであり、回胴モータ駆動回路６９は、回転リール４ａ〜４ｃのステッピングモータの駆動信号を生成する回路である。回転リール４ａ〜４ｃを回転させる３つのステッピングモータは、各々、２組の駆動巻線を有する二相モータであって、１相励磁と２相励磁とを繰り返す１−２相励磁によって駆動されている（図１３（ｃ）参照）。
【００５１】
図１３（ｄ）は、１−２相励磁における回転子（矢印）の回転位置を示す原理図である。なお、固定子は、４個であるとし、各々、Ａ、Ｂ、Ａバー、Ｂバーの信号Φ４〜Φ１で駆動されていると簡略化している。この原理図において、励磁ポインタＰＴが０〜７の範囲で循環すると、矢印で示す回転子は、０→１→２→３→４→５→６→７→０の位置に、間欠的に移動することになり、０→２→４→６→０の位置に間欠移動する２相励磁と比較するとステップ角を半分にすることができる。
【００５２】
本実施例では、各回転リールに２１種類の図柄が等間隔に描かれており、有効ライン上の図柄を、次の図柄に変更するためのステッピングモータの基準回転角度が、ステップ角θｓの２４倍に設定されている。ここで、２１種類の図柄に対応して、図柄一個分の基準回転角度は、３６０°／２１であるので、ステップ角θｓを、θｓ＝３６０°／２１／２４としている。
【００５３】
図６に示す通り、主制御基板５０のインタフェイス回路６８は、遊技中継基板５３を経由してメダル選別装置２１が接続されている。そして、上流側センサＳ０のセンサ信号Ｓ０は、入力回路ＩＮ０に入力され、メダル通過センサＳ１とメダル通過センサＳ２のセンサ信号Ｓ１，Ｓ２は、入力回路ＩＮ１、ＩＮ２に入力されている。また、ブロッカーソレノイド３０の通電状態は、出力回路によって制御されている。
【００５４】
図７は、カウンタ回路６６をより詳細に例示した回路図である。図示のカウンタ回路６６は、スタートレバー１７のＯＮ操作を示す始動スイッチ信号ＳＧを受ける入力部２４と、２つのＤ型フリップフロップ２５ａ，２５ｂによる信号取得部２５と、ハードウェア乱数の下位８ビット（ＬＯＷ）を生成するＩＣカウンタ２６Ｌと、ハードウェア乱数の上位８ビット（ＨＩ）を生成するＩＣカウンタ２６Ｈとを中心に構成されている。そして、ＩＣカウンタ２６Ｈ，２６Ｌの各出力端子（ＱＡ〜ＱＨ）は、データバスを通して、ワンチップマイコン６４（ＣＰＵコア６４ａ）に接続されている。
【００５５】
入力部２４は、抵抗とコンデンサによるローパスフィルタと、シュミットトリガ型のインバータとで構成されている。そのため、負論理の始動スイッチ信号ＳＧは、論理変換されて信号取得部２５に供給される。
【００５６】
信号取得部２５は、直列接続された２つのＤ型フリップフロップ２５ａ，２５ｂで構成されている。そして、各クロック端子ＣＬＫには、基準パルスΦが供給されており、基準パルスΦの立ち上がりエッヂのタイミングで、Ｄ入力端子のデータが取得されてＱ出力端子に出力される。したがって、始動スイッチ信号ＳＧがＬレベルに変化した後、２つ目の基準パルスΦの立ち上がりエッヂで、各ＩＣカウンタ２６Ｌ，２６Ｈのロック端子ＲＣＬＫが、Ｈレベルに立ち上がる。
【００５７】
基準パルスΦは、専用の発振回路によって、システムクロックとは別に発振させるのが好ましいが、簡易的には、ワンチップマイコン６４を動作させるシステムクロックを基準パルスΦに代用しても良い。
【００５８】
２つのＩＣカウンタ２６は、いずれも、８ビットのバイナリカウンタと８ビットの出力レジスタとを内蔵している。そして、クロック端子ＣＣＬＫに供給されるクロック信号を２進カウントする一方、ロック端子ＲＣＬＫに保持信号を受けると、その瞬間のバイナリカウンタのカウンタ値が、内蔵する出力レジスタに記憶されるようになっている。なお、出力レジスタに記憶されたカウンタ値は、出力イネーブル端子ＯＥがＬレベルであることを条件に、外部出力端子（ＱＡ〜ＱＨ）に出力される。
【００５９】
図示の通り、このカウンタ回路６６では、電源電圧値（ＤＣ５Ｖ）が正常値である限り、基準パルスΦが、ＮＡＮＤゲートを経由して下位ＩＣカウンタ２６Ｌのクロック端子ＣＣＬＫに供給される。一方、上位ＩＣカウンタ２６Ｈには、下位ＩＣカウンタ２６Ｌの桁上げ信号ＲＣＯが供給されている。そのため、２つのＩＣカウンタ２６は、全体として１６ビットカウンタとして機能することになり、２つの内部カウンタは、００００Ｈ〜ＦＦＦＦＨ（１０進数６５５３５）カウンタ値の間で循環することになる。なお、添字Ｈは、以下の場合も含め、１６進数を意味する。
【００６０】
先に説明した通り、始動スイッチ信号ＳＧがＬレベルに変化すると、これに対応して、各ＩＣカウンタ２６Ｌ，２６Ｈのロック端子ＲＣＬＫがＨレベルに立ち上がり、内部のバイナリカウンタの値が出力レジスタに保持される。一方、各ＩＣカウンタ２６Ｌ，２６Ｈの出力イネーブル端子ＯＥには、ワンチップマイコン６４からチップセレクト信号ＣＳ０，ＣＳ１が供給されている。そのため、ワンチップマイコン６４は、必要時に、チップセレクト信号ＣＳ０，ＣＳ１をＬレベルに変化させることによって、ＩＣカウンタ２６Ｌ，２６Ｈに内蔵の出力レジスタが保持するデータＱＡ〜ＱＨを取得できることになる。
【００６１】
図８は、電源基板６２の回路構成を示すブロック図である。この電源基板６２は、交流２４Ｖを受けて脈流電圧に変換する整流部８０と、脈流電圧を直流５Ｖに変換する第１電圧変換部８１と、脈流電圧を直流１２Ｖに変換する第２電圧変換部８２と、脈流電圧を直流２４Ｖに変換する第３電圧変換部８３と、第１電圧変換部８１の出力電圧を蓄電する蓄電部８４と、電源遮断状態を検出して検出信号ＲＥＳを出力する電源監視部８５とで構成されている。
【００６２】
蓄電部８４は、大容量（１ファラッド程度）のコンデンサＣと、過電流用の制限抵抗ｒ１、ｒ２と、逆方向電流を阻止するダイオードＤとで構成されている。なお、制限抵抗ｒ１は７５Ω程度、制限抵抗ｒ２は１０Ω程度である。コンデンサＣの両端電圧は、バックアップ電源として、ワンチップマイコン６４に供給されている。
【００６３】
このバックアップ電源は、ワンチップマイコン６４に内蔵されたＳＲＡＭ(static ram)に供給されており、電源電圧の遮断状態でも、通常７〜８日はＲＡＭ(Random Access Memory)の記憶内容を保持するようにしている。なお、ＲＡＭの記憶容量は、この実施例では、遊技機のワークエリアとして使用される５１２バイト程度である。
【００６４】
電源監視部８５は、交流入力電圧２４Ｖの電圧レベルと、直流電源電圧５Ｖの電圧レベルとを監視している。そして、何れか一方のレベルが所定値を下回ると、検出信号ＲＥＳがＬレベルに変化するよう構成されている。瞬停や停電などの異常時には、先ず、交流入力電圧の電圧降下に対応して、検出信号ＲＥＳが素早く出力される。
【００６５】
この検出信号ＲＥＳは、主制御基板５０のインタフェイス回路６７（図６）に供給されて、正論理の電源異常信号ＡＬＭと、負論理の電源異常信号ＡＬＭバーとなる。そして、正論理の電源異常信号ＡＬＭがＩ／Ｏポート回路６５に供給される一方、負論理の電源異常信号ＡＬＭバーは、ワンチップマイコン６４の割込み端子ＮＭＩ(Non Maskable Interrupt)に供給される。したがって、ＣＰＵコア６４ａが割込み許可状態であるか否かに拘らず、負論理の電源異常信号ＡＬＭバーに基づいて、電圧降下に対応するＮＭＩ割込み処理（図１０（ｂ））が開始されることになる。
【００６６】
図６のインタフェイス回路６７には電源リセット回路も内蔵されている。そして、電源投入時には、インタフェイス回路６７で生成されたリセット信号が、ワンチップマイコン６４のリセット端子ＲＳＴ１に供給される。その結果、ＣＰＵコア６４ａがリセット状態となり、ＲＯＭの先頭アドレス以降の制御プログラムの実行が開始されることになる。
【００６７】
続いて、主制御基板５０のワンチップマイコン６４（以下、主制御部５０という）が実現する制御動作を説明する。図９〜図１０は、主制御部５０が実行する制御プログラムを説明するフローチャートである。主制御部５０の制御プログラムは、電源投入時に開始される無限ループ状のメイン処理（図９（ａ））と、ＣＴＣからの定期割込みで一定時間τ毎に起動されるマスク可能な(Maskable Interrupt)タイマ割込み処理（図１０（ａ））と、電断時に電源基板６２からの検出信号ＲＥＳで起動されるマスク不能の(Non Maskable Interrupt)ＮＭＩ割込み処理（図１０（ｂ））とで構成されている。
【００６８】
そこで、先ず、図９（ａ）に示すメイン処理から説明する。電源が投入されると適宜な初期処理（ＳＴ１）の後、電断前に実行されていた処理を再開してホットスタートするか、或いは、ステップＳＴ２の処理に移行してコールドスタートする。
【００６９】
例えば、営業開始前に係員が設定キーを操作して、抽選処理の当選確率などを設定した場合には、コールドスタート処理となるが、そのような係員の操作が無く、且つ、異常が検出されない場合には、遊技動作をホットスタートするべく、図１０（ｂ）に示す電断復帰処理が実行される。なお、この電断復帰処理の実行には、ＮＭＩ割込み処理（図１０（ｂ）参照）で保存されるチェックサム値（ＳＴ５３）、バックアップフラグの値（ＳＴ５４）、及び、スタックポインタの値（ＳＴ５２）が不合理な値でないことが条件となる。
【００７０】
ＮＭＩ割込み処理（図１０（ｂ））において保存された上記の各値が正常値である場合には、スタックポインタの値を復帰させ（ＳＴ２０）、タイマ割込みについての動作パラメータを設定する（ＳＴ２１）。
【００７１】
次に、正常値であることが確認されたチェックサム値や、バックアップフラグの値をクリアする（ＳＴ２２）。これは、その後、電源が遮断されることなくＣＰＵが異常リセットされた場合に、遊技機をコールドスタートさせるためである。
【００７２】
続いて、３つの回転リール４ａ〜４ｃの回転動作を各々制御する３つの回胴制御フラグＦＧ１〜ＦＧ３のｂｉｔ２（回胴センサＯＮフラグＦ２）を全てクリアする（ＳＴ２３）。図１１（ｂ）に示す通り、回胴制御フラグＦＧｊは、各々、１バイト長であり（ｊ＝１〜３）、ｂｉｔ７のＭＳＢからｂｉｔ０のＬＳＢまで、回胴停止中フラグＦ７、回胴起動中フラグＦ６、回胴起動済みフラグＦ５、停止ボタン検出フラグＦ４、停止命令フラグＦ３、回胴センサＯＮフラグＦ２、リール演出中フラグＦ１、及び、制御中フラグＦ０となっている。
【００７３】
各フラグＦ７〜Ｆ０の意義は、図１１（ｃ）に図示する通りであり、制御中フラグＦ０は、回転リール４が回転制御動作中であることを示しており、スタートレバー１７のＯＮ操作による回転開始から、ストップボタン１８のＯＮ操作による完全停止状態までの間はＦ０＝１となる。リール演出中フラグＦ１は、回転リールを変則回転させるリール演出中であることをＦ１＝１で示している。回胴起動中フラグＦ６は、回転リールを正常回転させる初期動作として、回転リールが加速回転中であることをＦ６＝１で示している。回胴起動済みフラグＦ５は、加速回転を終えた回転リールが定常回転していることをＦ５＝１で示している。
【００７４】
また、停止ボタン検出フラグＦ４は、遊技者がストップボタン１８をＯＮ操作したことが検出されるとＦ４＝１となり、停止命令フラグＦ３は、その後のスベリ制御を経て、所定の図柄を有効ラインに停止させた後にＦ３＝１となる。Ｆ３＝１の状態では、当該回転リールを回転駆動するステッピングモータに、同一駆動データが繰返し供給されることで、回転リールの回転慣性力に拘らず停止状態が確実に維持される。
【００７５】
回胴停止中フラグＦ７は、同一駆動データが繰返し供給される停止状態（Ｆ３＝１）から、ステッピングモータが駆動されない自由状態に変更した場合にＦ７＝１となる。
【００７６】
また、回胴センサＯＮフラグＦ２は、各回転リールが回転を開始した後、基準位置に達する毎に、インデックスセンサのＯＮ動作に対応してＦ２＝１にセットされる（図１６のＳＰ６０，ＳＰ６１参照）。この回胴センサＯＮフラグＦ２は、遊技者による停止操作を受け付けるか否かを規定しており、ステップＳＴ２３の処理で、回胴センサＯＮフラグＦ２がゼロクリアされたことで、電源復帰後に回転を再開した回転リールが基準位置に達して、インデックスセンサがＯＮ動作するまでは、停止操作が無視されることになる。そのため、回転リールの慣性力によって、電源遮断時に、回転リールの停止位置が、本来の位置からずれた場合であっても、電源復帰後は、正しい停止制御が実現される。
【００７７】
一方、電源復帰後にインデックスセンサがＯＮ動作すると、これに対応して、図柄ステップ数や図柄カウンタＤＵｊが初期設定されるので（図１６のＳＰ６２参照）、仮に、停電時が停止操作を受けた後のタイミングであっても、再設定された図柄ステップ数や図柄カウンタＤＵｊに基づく正確な停止制御が可能となる。
【００７８】
以上のような意義を有する回胴制御フラグＦＧｊの第２ビット（回胴センサＯＮフラグＦ２）のクリア処理（ＳＴ２３）が終われば、上記したリール演出中フラグＦ１の値を判定する（ＳＴ２４）。回転リール４ａ〜４ｃの個数に対応して、３個の回胴制御フラグＦＧ１〜ＦＧ３が存在するので、リール演出中フラグＦ１の３個存在するが、何れか１つでもＦ１＝１であれば、電源遮断時に何れかの回転リールでリール演出中であったことになる。
【００７９】
そこで、そのような場合には、図９（ｂ）の電断復帰処理を終えた後に、中断されたリール演出を再開するのではなく、最初からリール演出をやり直すため、リセットフラグＲＥＳＥＴを１にセットする（ＳＴ２５）。
【００８０】
また、演出制御基板５１（以下、演出制御部５１という）にも、電源遮断時に実行していた演出動作を再開しないことを指示するべく、送信バッファにキャンセルコマンドをセットして、ステップＳＴ３３の処理に移行する（ＳＴ２６）。送信バッファにセットされたキャンセルコマンドは、図１０（ａ）に示すタイマ割込み処理のコマンド出力処理（ＳＴ４４）において、演出制御部５１に送信される。
【００８１】
このように、本実施例では、電源遮断時に中断したリール演出を途中から再開するのではなく、最初からやり直すので、演出制御部５１では、例えば、液晶表示ユニット７を使用して、回転リールの変則動作に正しく同期したキャラクタ演出を実行することができ、遊技者に違和感を与えることがない。
【００８２】
以上、電源遮断時が何れかの回転リールがリール演出中であった場合（何れかのＦ１＝１）について説明したが、何れの回転リールにおいてもリール演出が実行されていなかった場合（全てのＦ１＝０）には、次に、３つの回転リール４ａ〜４ｃを独立的に制御するリール変数ｊを１に初期設定する（ＳＴ２７）。この実施例では、リール変数ｊを１→２→３と増加させつつ、左回転リール４ａ→中回転リール４ｂ→右回転リール４ｃの順番に回転リールを制御している。
【００８３】
そのため、リール変数ｊ＝１の場合には、左回転リール４ａについて、以下の制御動作が実行される。すなわち、左回転リール４ａについての回胴制御フラグＦＧ１について、その制御中フラグＦ０がＦＯ＝１か否かが判定されることで、電断時に左回転リール４ａが回転制御動作中であったか否かが判定される（ＳＴ２８）。そして、制御中フラグＦ０がＦ０＝１であって、左回転リール４ａが回転制御動作中であった場合には、更に、回胴停止中フラグＦ７、停止ボタン検出フラグＦ４、停止命令フラグＦ３が判定される（ＳＴ２９）。
【００８４】
この場合、制御中フラグＦ０がＦ０＝１であるにも拘らず、Ｆ１＝０で且つＦ７＝Ｆ４＝Ｆ３＝０である場合とは、電断時が、左回転リール４ａが起動動作中（Ｆ６＝１）であったか、定常回転動作中（Ｆ５）であったことを意味する（図１１（ｃ）の矢印参照）。そこで、そのような場合には、左回転リール４ａの回胴制御フラグＦＧ１を０１Ｈに設定する（ＳＴ３０）。その結果、起動動作中（Ｆ６＝１）又は定常回転動作中（Ｆ５＝１）であった左回転リール４ａは、その後、電源遮断前の動作パラメータ（図柄ステップ数、図柄カウンタ、エラータイマなど）に基づく動作を、一旦再開するものの、電源復帰後の初回のタイマ割込みでは、ステップＳＰ１０→ＳＰ１１→ＳＰ１２→ＳＰ３４→ＳＰ３５→ＳＰ３６→ＳＰ５３の経路を経て、回転開始時からの回転動作をやり直すことになる。
【００８５】
一方、Ｆ７、Ｆ４、Ｆ３の何れか一以上が１の場合には、その後、電断前の回転制御を再開することになる。Ｆ７、Ｆ４、Ｆ３の何れか一以上が１の場合とは、図１１（ｃ）に示す「停止操作検出」以後の領域を意味し、要するに、電断時がストップボタン１８ａの操作後であることを意味する。そのため、このような停止ボタン検出フラグＦ４＝１場合には、電源復帰後は、左回転リール４ａの停止制御動作が再開される。すなわち、左回転リール４ａに対して、電源復帰後に、例えば、スベリ制御が再開される。
【００８６】
以上のようにして、左回転リール４ａについての電断復帰処理が終われば、次に、リール変数ｊをインクリメントして（ＳＴ３１）、中回転リール４ｂについての電断復帰処理が、上記と同様に実行され、続いて、右回転リール４ｃについての電断復帰処理が実行される。したがって、電断時に、例えば、中回転リール４ｂと右回転リール４ｃが既に停止済みであれば（制御中フラグＦ０＝０）、電断復帰後に各回転リール４ｂ，４ｃが回転を開始することはなく停止状態を維持する。
【００８７】
何れにしても、インクリメント後のリール変数ｊが、ｊ＝４となれば、電断前の出力ポートのレベルを復帰させた後に全レジスタの値を復帰させて、電断時の実行アドレスにジャンプして遊技動作を再開する（ＳＴ３３，ＳＴ３４）。なお、電断時の実行アドレスは、ＮＭＩ割込み時に、スタック領域に保存されており、スタック領域を指示するスタックポインタは、電断時に保存され（ＳＴ５２）、電源復帰時に復帰されている（ＳＴ２０）。
【００８８】
また、電断時がメイン処理の実行中であった場合には、ＣＰＵ割込み許可状態で処理が再開される。一方、電断時がタイマ割込み処理中であった場合には、ＣＰＵ割込み禁止状態でタイマ割込み処理が再開されるが、そのタイマ割込み処理を終えると、ＣＰＵは、自動的にＣＰＵ割込み許可状態となる。したがって、この後は、タイマ割込み処理（図１０（ａ））が定時的に実行されることになり、電断前に回転していた回転リールについては、その回転動作が再開されることになる（ＳＴ４２，ＳＴ４６参照）。
【００８９】
以上、図９（ｂ）に示す電断復帰処理（ホットスタート処理）について説明したので、続いて、ステップＳＴ２以降のコールドスタート処理について説明する。ステップＳＴ２の処理に移行すると、主制御部５０では、一連のメインループ処理（ＳＴ２〜ＳＴ１７）を定常的に繰返す。そして、最初に、ＲＡＭのワークエリアを適宜にクリアし、また、遊技制御を管理する各種のフラグを適宜に初期設定する（ＳＴ２）。次に、そのゲームにおける遊技状態フラグを生成する（ＳＴ３）。ここで、遊技状態フラグとは、現在のゲームが、「ボーナスゲーム中」か、「ボーナス内部当選中」か、「通常ゲーム中」か、などの遊技状態を特定するフラグである。
【００９０】
続いて、メダル投入口１２から実際に投入されたメダル、及び、投入ボタン１５、１６の押下によって擬似的に投入されたメダルについての投入メダル管理処理が実行される（ＳＴ４）。投入メダル管理処理（ＳＴ４）では、遊技者が投入又は擬似投入したメダルを検出して、その投入枚数を判定し、その後、スタートレバー１７がＯＮ操作されるとサブルーチン処理を終了する。この場合、メダルが１枚投入される毎に、そのことを示す制御コマンド（投入コマンド）が送信バッファにセットされ、図１０（ａ）に示すタイマ割込み処理のコマンド出力処理（ＳＴ４４）において、演出制御部５１に送信される。なお、このタイミングでは、遊技者による清算動作を示す清算コマンドなどが送信されることもある。
【００９１】
スタートレバー１７がＯＮ操作されてメダル投入管理処理が終わると、スタートレバー１７がＯＮ操作に対応して、始動スイッチ信号ＳＧがＬレベルに変化し、その瞬間のカウンタ値が、各ＩＣカウンタ２６Ｈ，２６Ｌに内蔵された出力レジスタに保持記憶される（図７参照）。そこで、スタートレバー１７がＯＮ操作されると、ＩＣカウンタ２６Ｈ，２６Ｌに記憶されている乱数値が取得される（ＳＴ５）。具体的には、ワンチップマイコン６４は、チップセレクト信号ＣＳ０，ＣＳ１をＬレベルに変化させて、カウンタ回路６６に保持されているカウンタ値を取得し、これが、乱数値ＲＮＤ（数値範囲：０〜６５５３５）としてＲＡＭの該当番地に記憶される。
【００９２】
次に、記憶した乱数値ＲＮＤに基づいて内部抽選処理（図柄抽選処理）を実行する（ＳＴ６）。この図柄抽選処理では、ボーナス図柄への当選か否か、小役図柄への当選か否か、再遊技を示すリプレイ図柄への当選か否かが決定され、決定された抽選結果を示す制御コマンド（遊技開始コマンド）が送信バッファにセットされ、タイマ割込み処理のコマンド出力処理（ＳＴ４４）によって演出制御部５１に送信される。なお、小役図柄としては、例えば、「チェリー図柄」、「ベル図柄」、「スイカ図柄」、「チャンス図柄」などを例示することができる。
【００９３】
このような当選確率の内部抽選処理（ＳＴ６）が終われば、次に、リール演出を実行するか否かを決定するリール演出抽選処理を実行する（ＳＴ７）。リール演出抽選処理において選出可能な演出は、内部抽選処理（ＳＴ６）の結果に対応して、例えば、図１２（ａ）のように規定されている。先に説明した通り、この実施例では、６種類のリール演出が用意されているが、何れの演出が選出可能かは、内部当選状態に対応して規定されており、例えば、スイカＡ図柄や、チャンスＡ図柄、ＢＢ図柄の何れかに内部当選状態であれば、所定の当選確率に基づいて、「極めてゆっくり正方向に回転して静止するスロー演出」が選出可能となる。その他、「逆回転演出」、「ガタガタ演出１」、「ガタガタ演出２」、「ガタガタスロー演出」、「ガタガタ逆回転演出」についても同様であり、内部当選状態などに対応して所定確率で選出可能となる。そして、リール演出抽選に当選した場合には、リール演出特定フラグＲＦの該当ビットが１にセットされる。何ら限定されないが、６種類のリール演出に対応して、リール演出特定フラグＲＦのＢｉｔ１〜Ｂｉｔ６の何れかがセットされる。また、リール演出内容を特定する制御コマンド（フリーズコマンド）が送信バッファにセットされ、図１０（ａ）に示すタイマ割込み処理のコマンド出力処理（ＳＴ４４）において、演出制御部５１に送信される。
【００９４】
リール演出抽選（ＳＴ７）が終われば、回転リール４ａ〜４ｃの回転を開始させるべく、回胴開始設定処理を実行する（ＳＴ８）。回胴開始設定処理は、リール演出抽選に当選しているか否かによって動作内容が異なっており、リール演出抽選に当選していない場合には（リール演出特定フラグＲＦ＝０）、図１１（ｃ）のタイムチャートに示す加速回転動作を開始するべく回胴制御フラグＦＧをＦＧ＝０１Ｈに設定する。そして、その後は、タイマ割込み処理（図１０（ａ））の回胴回転制御処理（ＳＴ４２）に基づいて、３つの回転リール４ａ〜４ｃが加速回転を開始する。
【００９５】
一方、リール演出抽選に当選している場合には（リール演出特定フラグＲＦ≠０）、図１１（ｃ）のタイムチャートに示す演出回転（変則回転）を実行する。すなわち、この実施例では、回胴開始設定処理（ＳＴ８）において、一連の変則回転動作（リール演出）を管理している。なお、リール演出を実現する具体的な制御方法は後述する。
【００９６】
ところで、図１２（ａ）に示す通り、この実施例では、例えば「ガタガタ演出２」のリール演出が実行された場合には、チェリーＡ図柄か、チェリーＢ図柄に内部当選していることになる。そのため、遊技者としては、何れのチェリー図柄に内部当選しているかを推理した上で、目標のチェリー図柄が有効ライン上に揃うよう、停止操作をすることになる。そして、チェリー図柄の回転リールへの配置態様によっては、推理が当った場合であって、且つ、停止タイミングが適切な場合に限り、内部当選状態が実効化されて所定のメダルが払出される。なお、遊技者の推理が外れても、また、停止タイミングの適否に拘らず、内部当選状態が実効化されるようチェリー図柄を配置しても良いのは勿論である。
【００９７】
上記のようなリール演出を経て回転リール４ａ〜４ｃが加速回転を開始するか、或いは、リール演出を実行することなく回転リール４ａ〜４ｃが加速回転を開始すると、回転開始コマンドを演出制御部５１に送信するべく、回転開始コマンドを送信バッファにセットした後、回胴停止処理（ＳＴ９）に移行する。
【００９８】
そして、ストップボタン１８ａ〜１８ｃが押されたら、停止受付コマンドを演出制御部５１に送信するべく、停止受付コマンドを送信バッファにセットし、内部抽選処理（ＳＴ６）の当否結果に沿うように、対応する回転リール４ａ〜４ｃを停止制御する（ＳＴ９）。すなわち、内部抽選処理（ＳＴ６）の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール４ａ〜４ｃの図柄を整列させる。但し、遊技者がストップボタンを押すタイミングや、停止操作の順番が不適切である場合には、ハズレ状態の図柄で停止される。この結果、折角の小役当選も無駄になるが、ボーナス当選については、次回のゲーム以降も持ち越される。但し、リール演出が実行された場合には、その示唆に沿って正しい停止操作を実行すれば、メダルの取りこぼしが回避可能となる。
【００９９】
なお、この回胴停止処理（ＳＴ９）では、各回転リール４ａ〜４ｃについての停止制御が完了する毎に、停止位置を示す制御コマンド（停止結果コマンド）を演出制御部５１に送信するべく、停止結果コマンドが送信バッファにセットされる。
【０１００】
このようにして、３回の停止操作と停止制御動作が完了して全ての回転リール４ａ〜４ｃが停止したら、有効ライン上に、当選図柄（当選役）が揃ったか否かが判定され、その結果を示す制御コマンド（入賞情報コマンド）を演出制御部５１に送信するべく、入賞情報コマンドが送信バッファにセットされる（ＳＴ１０）。また、当選図柄が揃っている場合には、必要数のメダルが払出されると共に、メダル払出を示す制御コマンド（払出コマンド）を演出制御部５１に送信するべく、払出コマンドが送信バッファにセットされる（ＳＴ１１）。
【０１０１】
次に、リプレイ当選状態か否か判定され（ＳＴ１２）、リプレイ当選状態であれば、再遊技動作の開始処理（ＳＴ１５）を実行した後、ステップＳＴ２に移行する。
【０１０２】
リプレイ当選状態でない場合には、現在がボーナスゲーム中か否か判定され（ＳＴ１３）、ボーナスゲーム中であれば、対応する処理（ＳＴ１６）を実行してステップＳＴ２に移行する。
【０１０３】
一方、ステップＳＴ１３の判定がＮＯの場合には、ボーナス図柄が揃っているか否か判定され（ＳＴ１４）、ボーナス図柄が揃っている場合には、ボーナスゲームの開始処理（ＳＴ１７）を実行した後、ステップＳＴ２に移行する。
【０１０４】
続いて、図１０（ａ）に基づいて、所定時間毎（τ）に起動されるタイマ割込み処理について説明する。タイマ割込み処理では、ＣＰＵのレジスタが退避された後（ＳＴ４０）、各種スイッチ信号やセンサ信号を受ける入力ポートのデータが取得され記憶される（ＳＴ４１）。なお、センサ信号には、上流側センサのセンサ信号Ｓ０や、メダル通過センサのセンサ信号Ｓ１，Ｓ２が含まれており、その他、メダル払出センサ、メダル通過センサ、メダル満杯センサ、インデックスセンサ、ドアセンサなどのセンサ信号のデータも含めてメモリに記憶される。
【０１０５】
次に、回転リールの回転についての回転制御動作が実行され（ＳＴ４２）、各種のタイマ変数が更新される（ＳＴ４３）。回転制御動作（ＳＴ４２）については、後で詳述する。なお、更新されるタイマ変数には、後述する動作タイマＡＴｊ（ＡＴ１〜ＡＴ３）や、モータ出力タイマＴＭｊ（ＴＭ１〜ＴＭ３）が含まれており、各々、ゼロになるまで、タイマ割込み毎にデクリメント処理される。
【０１０６】
続いて、送信バッファ（コマンドバッファ）に格納させている制御コマンドについて、コマンド出力処理（ＳＴ４４）を実行する。ここで、コマンド出力処理とは、送信バッファに設定されている制御コマンドを１バイト毎に演出制御部５１に伝送する処理であり、伝送される制御コマンドには、図９（ａ）に示す各種の制御コマンドが含まれている。
【０１０７】
コマンド出力処理（ＳＴ４４）が終われば、払出したメダルなどの情報をホールコンピュータに伝送し（ＳＴ４５）、各種ランプの表示動作を更新すると共に、回転リールを駆動するステッピングモータに励磁データΦ１〜Φ４を出力する（ＳＴ４６）。ここで、表示更新されるランプには、遊技開始ＬＥＤや、メダル投入許可ＬＥＤや、投入枚数ＬＥＤが含まれている。
【０１０８】
次に、ステップＳＴ４０の処理で退避したレジスタをＣＰＵに復帰させて（ＳＴ４７）タイマ割込み処理を終える。
【０１０９】
続いて、図１０（ｂ）に示すＮＭＩ割込みについて説明する。ＣＰＵのＮＭＩ端子に、アクティブレベルの電源異常信号ＡＬＭバーが供給されると、無条件でＮＭＩ割込み処理が起動される。そして、最初に、Ｉ／Ｏポート回路６５から正論理の電源異常信号ＡＬＭを取得し、これがアクティブレベルであることを確認する（ＳＴ５０）。ここで、もし、アクティブレベルでない場合には、ノイズなどによる誤動作であると判断して、割込み処理を終える。
【０１１０】
一方、電源異常信号ＡＬＭがアクティブレベルである場合には、電源電圧が降下していると判断して、ＣＰＵのレジスタをスタック領域に退避し、また、スタック領域を特定するスタックポインタＳＰを所定領域に記憶する（ＳＴ５１，ＳＴ５２）。なお、ＮＭＩ割込み処理が開始された後は、ＣＰＵは割込み禁止状態であって、タイマ割込みが実行されないので、ステッピングモータへの駆動データΦ１〜Φ４は、それ以前の駆動データのままで停止状態となる。
【０１１１】
次に、そのタイミングにおける各種の出力ポートの出力値を記憶すると共に、ＲＡＭの所定領域についてチェックサム演算を実行して、その演算結果（チェックサム値）を所定領域に記憶する（ＳＴ５３）。また、バックアップフラグをＯＮレベルにセットする（ＳＴ５４）。なお、チェックサム値やバックアップフラグの値は、電源投入時に、その正当性が判定されることは、図９に関して説明した通りである。
【０１１２】
次に、その後のＲＡＭアクセスを禁止するべく、ワンチップマイコンを設定し、出力ポートをＯＦＦ状態に設定する（ＳＴ５５）。その結果、ステッピングモータは、停止状態から非励磁状態の待機状態となる。続いて、所定の時間消費を経た上で、その後の処理をＲＯＭのゼロ番地にジャンプさせる。
【０１１３】
その結果、電源リセット時（ＣＰＵリセット時）と同様の処理を実行することになる。具体的には、電源異常信号ＡＬＭが異常レベルである限り、繰り返しＣＰＵを割込み禁止状態に設定し（ＳＴ１００）、ワンチップマイコンの各部を初期設定する処理を繰り返す（ＳＴ１０１）。
【０１１４】
なお、交流電源が瞬間的に低下した後に復帰する瞬低時には、例外的に、電源異常信号ＡＬＭが正常レベルに復帰する可能性もあるが、そのような例外時にも、図９（ｂ）の電断復帰処理を経て、ＮＭＩ割込み前の遊技動作が再開される。
【０１１５】
ところで、図１０（ｃ）は、ＮＭＩ割込み処理の終了時、例えば、ステップＳＴ５６のサブルーチン処理の終了時のスタック領域を図示したものである。図示の通り、スタック領域の下部使用領域（破線矢印の領域）には、ＮＭＩ割込み時に実行中の処理に至るまでに、ネスティング(Nesting) された複数のサブルーチンの戻り番地が記憶されている。なお、ＮＭＩ割込みは、任意のタイミングで起動されるので、スタック領域の下部使用領域の内容を確定することはできない。
【０１１６】
但し、ＮＭＩ割込みがリール演出中に起動されたと仮定すると、ＮＭＩ割込み時には、図１２（ｂ）のステップＳＴ６１〜ＳＴ６６の処理か、或いは、タイマ割込み処理（図１０（ａ））の何れかが実行されていたと特定することができる。そして、このＮＭＩ割込み時の戻り番地に続いて、ステップＳＴ５１の処理で退避されたレジスタの値が保存され、ステップポインタＳＰは、レジスタ保存領域の先頭アドレスを指示している（図１０（ｃ）の矢印参照）。
【０１１７】
したがって、ステップＳＴ５２の命令では、図１０（ｃ）の矢印のアドレス値がＲＡＭの他の記憶領域（ワーク領域）に記憶されたことになる。そして、電源復帰後には、ワーク領域に記憶されたアドレス値がスタックポインタＳＰに復帰されることで（図９（ｂ）のＳＴ２０）、図１０（ｃ）の状態がＣＰＵに把握可能となり、ステップＳＴ５１の処理で退避されたレジスタの値が、図９（ｂ）のステップＳＴ３４の処理でレジスタに戻される。
【０１１８】
続いて、リール演出を実現する回胴開始設定処理（ＳＴ８）と、その後の回胴駆動処理について、図１１〜図１６に基づいて詳細に説明する。なお、回転リール４ａ〜４ｃの回転動作（変則回転や定常回転）は、図９（ａ）に示すメインルーチン（ＳＴ８〜ＳＴ９）と、図１０（ａ）に示すタイマ割込みルーチンとが協働すること(cooperation) で実現されている。
【０１１９】
図１１（ａ）に示す通り、回胴開始設定処理（ＳＴ８）では、最初に、ウェイトタイマ処理を実行して、ゲーム時間間隔が所定時間を超えるまで待機する（ＳＴ３５）。ゲーム時間間隔は適宜に設定されるが、例えば、４．１秒に設定されることで、運が悪い場合でも、メダルを過大に消費することが防止される。
【０１２０】
続いて、リール演出に当選しているか否か、リール演出特定フラグＲＦの値を判定する（ＳＴ３６）。そして、リール演出特定フラグＲＦがＲＦ＝０であって、リール演出に当選していない場合には、各１バイト長の回胴制御フラグＦＧ１〜ＦＧ３を、全て０１Ｈに設定して（ＳＴ３８）、回胴開始コマンドを送信バッファにセットして処理を終える（ＳＴ３９）。回胴制御フラグＦＧ１〜ＦＧ３が０１Ｈに設定されたことで、その後のタイマ割込み処理の回胴回転処理（ＳＴ４２）では、３つの回転リール４ａ〜４ｃについて、図１１（ｃ）に示す加速回転動作（図１６のＳＰ５３以降）が開始される。
【０１２１】
一方、リール演出に当選したことで、リール演出特定フラグＲＦがＲＦ≠０の場合には、リール演出処理を実行する（ＳＴ３７）。リール演出処理については、最初に、その概要を図１２（ｂ）のフローチャートに基づいて説明する。
【０１２２】
この実施例では、６種類のリール演出が用意されており（図１２（ａ））、各リール演出の内容は、６種類のリール演出テーブルＴｒ１〜Ｔｒ６によって特定されている（図１２（ｃ））。そして、どのリール演出テーブルが選択されるかは、リール演出特定フラグＲＦの該当Ｂｉｔによって特定されるようになっている。例えば、スイカＡ図柄、チャンスＡ図柄、又はＢＢ図柄に内部当選の状態では、リール演出として、「スロー演出」に当選する可能性がある。そして、「スロー演出」に当選した場合には、リール演出特定フラグＲＦのＢｉｔ１が「１」にセットされて、リール演出テーブルＴｒ１に規定された「スロー演出」が実現される。
【０１２３】
リール演出テーブルＴｒ１〜Ｔｒ６は、図１２（ｃ）に示す通り、回転リール４ａ〜４ｃの動作を具体的に規定するモータ動作テーブルＴｍと、そのモータ動作テーブルＴｍによって実行されるリール演出の演出時間とが対応して記憶されている。そして、リール演出の演出時間は、動作タイマＡＴの値によって規定される。例えば、「スロー演出」は、図１３（ａ）に示すＳＬＯＷ動作と、ＨＯＬＤ動作とで実現され、ＳＬＯＷ動作とＨＯＬＤ動作の演出時間は、動作タイマＡＴの初期値（３０００、５００）によって規定されている。
【０１２４】
動作タイマＡＴは、タイマ割込み処理において、タイマ割込み周期τ（＝１．５ｍＳ）毎にゼロになるまでデクリメントされることで、演出時間を管理しているので、結局、「スロー演出」は、４．５秒（＝３０００×１．５ｍＳ）のＳＬＯＷ動作と、０．７５秒（＝５００×１．５ｍＳ）のＨＯＬＤ動作とで実現されることになる。
【０１２５】
なお、どのモータ動作テーブルＴｍを使用するかは、行ポインタＫで規定され、各リール演出テーブルＴｒ１〜Ｔｒ６の最終行にＮＵＬＬデータが記憶されることで、それ以上のリール演出がないことを特定している。リール演出テーブルＴｒ１〜Ｔｒ６の行ポインタＫで特定されるモータ動作テーブルＴｍは、例えば、図１３（ａ）に示す５種類であり、各モータ動作テーブルによって、ＳＨＡＫＥ動作と、ＳＴＡＹ動作と、ＳＬＯＷ動作と、ＨＯＬＤ動作と、ＲＥＶＥＲＳＥ動作とが特定されている。なお、行ポインタＫは、説明の都合上、１から開始されることにしているが、実際には、０から開始するのが好ましい。
【０１２６】
各モータ動作テーブルには、モータ駆動態様（ステイタス）と、割込み数ＴＭと、動作数ＣＴとが規定されており、どの動作を実行するかは、行ポインタＬで規定されている。ここで、モータ駆動態様は、正方向への回転動作（正転）と、逆方向への回転動作（逆転）と、待機動作と、停止動作と、ループ動作とに区分される。
【０１２７】
ループ動作とは、割込み数のＴＭ欄に規定される行番号の位置に戻ることを意味する。また、停止動作とは、二相モータの駆動巻線全てをＯＮ駆動すること（全相ＯＮ）を意味し、待機動作とは、二相モータの駆動巻線全てをＯＦＦ駆動すること（全相ＯＦＦ）を意味する。本実施例では、停止動作時に、それまでの励磁データΦ１〜Φ４を維持し続けるのではなく、敢えて、全相ＯＮ駆動（Φ１〜Φ４＝０ＦＨ）に移行させるので、停止動作時には、必ず、１ステップ角θｓ程度の追加移動が生じることになり、結果的に、よりスムーズな停止動作が実現される。また、停止動作の後は、全相ＯＦＦ駆動（Φ１〜Φ４＝００Ｈ）して自由回転可能の待機動作に制御している。なお、行ポインタＬについても、説明の都合上、１から開始されることにしているが、実際には、０から開始するのが好ましい。
【０１２８】
割込み数ＴＭは、励磁データテーブル（図１３（ｂ））を管理する励磁ポインタＰＴの更新周期を規定し、動作数ＣＴは、行ポインタＬが規定する該当行の動作を何回実行するかを規定している。図１３（ｂ）に示す通り、励磁データテーブルは、回転リールを駆動する二相ステッピングモータを１−２相励磁するための励磁データΦ１〜Φ４を規定しており、駆動データの推移は、励磁ポインタＰＴの推移（０〜７）に対応して、図１３（ｃ）のように変化する。なお、停止動作時には、全相ＯＮ駆動とされ（Φ１〜Φ４＝０ＦＨ）、待機動作時には全相ＯＦＦ駆動とされる（Φ１〜Φ４＝００Ｈ）ことは前記した通りである。
【０１２９】
モータ動作テーブルについて具体的に説明すると、例えば、モータ動作テーブルＳＨＡＫＥが使用されるリール演出時には、行ポインタＬ＝１の状態で、６回のタイマ割込みを経て、励磁ポインタＰＴがインクリメントされ、ステッピングモータが１ステップ角θｓだけ正方向に歩進する（正転）。そして、そのような正転動作が一回実行されると（ＣＴ＝１）、行ポインタＬがインクリメントされて、行ポインタＬ＝２の正転動作に移行する。
【０１３０】
行ポインタＬ＝２の正転動作時には、３回のタイマ割込みを経て、励磁ポインタＰＴがインクリメントされ、ステッピングモータが１ステップ角θｓだけ正方向に歩進し（正転）、このような正転動作を二回実行すると（ＣＴ＝２）、行ポインタＬがインクリメントされる。行ポインタＬ＝３の正転動作時には、１６回のタイマ割込みを経て、励磁ポインタＰＴがインクリメントされ、ステッピングモータが１ステップ角θｓだけ正方向に歩進し（正転）、このような正転動作を１回実行すると（ＣＴ＝１）、行ポインタＬがインクリメントされる。
【０１３１】
以上の動作から明らかな通り、一連の正転動作は、回転速度Ｖで回転リールの回転が開始された後、回転速度が二倍になり、その後、回転速度が６／１６Ｖに低下して動作を終える。その後の逆転動作も同様であり、回転速度Ｖで回転リールの逆回転が開始された後、回転速度が２Ｖ（二倍）の逆回転となり、その後、回転速度が６／１６Ｖに低下して逆転動作を終える。そして、モータ動作テーブルＳＨＡＫＥでは、最終行に１行目へのループ処理が規定されているので、上記した正転動作と逆転動作と無限ループ状に繰り返されることになる。
【０１３２】
なお、このようなＳＨＡＫＥ動作が、リール演出テーブルＴｒ２で選択された場合には、上記した無限ループ状の正転動作と逆転動作とが、動作タイマＡＴ＝５０００の分だけ繰り返されるので、結局、ＳＨＡＫＥ動作の継続時間は７．５秒（＝１．５＊５０００ｍＳ）となる。
【０１３３】
ところで、図１２（ｃ）に示す６種類のリール演出テーブルＴｒ１〜Ｔｒ６は、何れも、最終動作としてＨＯＬＤ動作が実行されるよう構成されている。ＨＯＬＤ動作の具体的内容は、図１３（ａ）に示す通りであり、二相モータの駆動巻線の全てをＯＮ駆動する停止動作が所定時間（実施例では、０．７５秒＝１．５＊５００ｍＳ）だけ継続される。したがって、何れのリール演出を実行した場合でも、リール演出を終えた回転リールは、全相ＯＮ駆動された停止状態に拘束され、その後の加速回転動作（回転起動動作）が適切に開始されることになる。
【０１３４】
以上の動作を実現するのがリール演出処理（ＳＴ３７）であり、図１２（ｂ）のフローチャートは、その概略を示している。リール演出処理では、先ず、リール演出特定フラグＲＦに対応してリール演出テーブルＴｒ（図１２（ｃ））が選択され、これに対応するキャラクタ演出を特定するフリーズコマンドが送信バッファにセットされる（ＳＴ６０）。なお、フリーズコマンドは、その後のタイマ割込み（図１０（ａ））時に、演出制御部５１に伝送される（ＳＴ４４）。
【０１３５】
また、ステップＳＴ６０の処理では、リセットフラグＲＥＳＥＴがゼロリセットされると共に、リール演出テーブルＴｒ（図１２（ｃ））の行ポインタＫがゼロに初期設定され、回胴制御フラグＦＧが０３Ｈに初期設定される（ＳＴ６０）。
【０１３６】
図９（ｂ）に関して説明した通り、リセットフラグＲＥＳＥＴは、電断復帰処理を終えた後に、中断されたリール演出を最初からやり直すために使用されるが、ここでは、リセットフラグＲＥＳＥＴ＝０とすることで、リール演出処理のやり直し動作を回避している（ＳＴ６４参照）。
【０１３７】
以上のようにしてステップＳＴ６０の初期処理が終われば、次に、行ポインタＫをインクリメントし、選択されているリール演出テーブルＴｒ（図１２（ｃ））のＫ行目を参照して、図１３（ａ）のモータ動作テーブルの何れかが選択する（ＳＴ６１）。続いて、モータ動作テーブル用の行ポインタＬが１に初期設定され、モータ出力タイマＴＭが、１に初期設定する（ＳＴ６２）。
【０１３８】
次に、リール演出テーブルＴｒのＫ行目を参照して、選択されたモータ動作テーブルによるリール演出の動作時間を、動作タイマＡＴに初期設定し（ＳＴ６３）、リセットフラグＲＥＳＥＴが１でないことを条件に（ＳＴ６４）、動作タイマＡＴがゼロになるのを待機する（ＳＴ６５）。リセットフラグＲＥＳＥＴは、ゼロに初期設定されており（ＳＴ６０）、また、初期設定された動作タイマＡＴは、タイマ割込み処理の定期更新処理（ＳＴ４３）によってゼロになるまでデクリメントされるので、動作タイマＡＴの初期設定値に対応する時間が経過すると、動作タイマＡＴ＝０となる。
【０１３９】
そこで、動作タイマＡＴ＝０となると、Ｋ＋１行目がＮＵＬＬデータでないことを条件に、ステップＳＴ６１の処理に移行させる。したがって、その後は、インクリメントされたリール演出テーブルＴｒの行ポインタＫが示すモータ動作テーブルが規定する動作が実行されることになる。そして、このような動作を繰り返して行ポインタＫが更新されると、やがて、Ｋ＋１行目がＮＵＬＬデータとなるので、そのタイミングでリール演出を終了することになる（ＳＴ６６）。
【０１４０】
以上、リセットフラグＲＥＳＥＴ＝０である通常時のリール演出動作の概要について説明したので、次に、このリール演出動作中（ＳＴ６１〜ＳＴ６６）に電源電圧が遮断された場合について説明する。
【０１４１】
この電断時には、ＮＭＩ割込みによって、スタック領域は図１０（ｃ）の保存状態となり、バックアップ電源によって、この保存状態が電断後も維持され、また、ＲＡＭのワークエリアに記憶された各動作パラメータについても、その値が維持される。維持される動作パラメータには、行ポインタＫ、行ポインタＬ、動作タイマＡＴ、モータ出力タイマＴＭ、使用中のリール演出テーブルＴｒやモータ動作テーブルＴｍを特定するフラグ、リセットフラグＲＥＳＥＴ、回胴制御フラグＦＧなどが含まれる。なお、回胴制御フラグＦＧのリール演出中フラグＦ１（第１ビット）Ｆ１と、制御中フラグＦ０（第０ビット）は共に１である（ＳＴ６０参照）。
【０１４２】
そして、電断後に電源が投入されると、図９のステップＳＴ１→ＳＴ２０からステップＳＴ２４の処理に移行する。そして、ステップＳＴ２４の処理によって、リール演出中フラグＦ１が判定されるが、この時、リール演出中フラグＦ１がＦ１＝１であることから、リセットフラグＲＥＳＥＴが１にセットされる（ＳＴ２５）。
【０１４３】
その後、電断復帰処理（図９（ｂ））を終えて、電断時の処理位置に戻るが、その復帰アドレス位置は、ステップＳＴ６１〜ＳＴ６６のループ処理中（図１２（ｂ））の何れかの命令の先頭アドレスか、或いは、タイマ割込み処理中（図１０（ａ））の何れかの命令の先頭アドレスであり、特定することのできないランダムなアドレス位置となる。
【０１４４】
しかし、復帰アドレス位置が何処であっても、何れ、ステップＳＴ６４の処理を実行することになるので、ステップＳＴ２５の処理で１にセットされたリセットフラグＲＥＳＥＴに基づいて、ステップＳＴ６０の処理に移行することになる（ＳＴ６４）。その結果、リール演出は、完全に初期状態に戻され（ＳＴ６０）、電断によって中断されたリール演出が最初からやり直されることになる。
【０１４５】
また、ステップＳＴ６０の処理でセットされたフリーズコマンドは、演出制御部５１に速やかに送信されるので（ＳＴ４４）、これを受けた演出制御部５１では、リール演出に対応する適宜なキャラクタ演出を、最初からやり直すことになり、互いに関連するリール演出とキャラクタ演出とが同期して開始されることになる。
【０１４６】
なお、必ずしも、電断によって中断されたリール演出を、最初から再開させる必要はなく、中断されたリール演出を消滅させても良い。この場合には、２相励磁されるステッピングモータを、全相ＯＮ状態の停止制御に設定した上で（ＳＴ６７）、リール演出を終える。すると、その後は、リール演出（ＳＴ３７）から、ステップＳＴ３８の処理（図１１（ａ））に移行して、回胴制御フラグＦＧｉが０１Ｈにセットされることで、後述する起動回転が開始される。なお、電源復帰時に演出制御部５１には、キャンセルコマンドが送信されているので（ＳＴ２６）、主制御部５０において、リール演出を消滅させても何の問題も生じない。
【０１４７】
ところで、図１３（ｂ）に示すリール演出動作は、３つの回転リール４ａ〜４ｃが、全く同一の動作を実行する場合である。しかし、本実施例では、演出のバリエーションを豊富化するために、実際には、３つの回転リール４ａ〜４ｃを独立的に制御している。すなわち、本実施例では、図１２（ａ）に示すリール演出種別表が、回転リール４ａ〜４ｃ毎に、最大で３種類が用意されている。したがって、左回転リール４ａが「スロー演出」を実行している一方で、中回転リールが「逆回転演出」を実行し、右回転リールが「ガタガタ演出１」を実行するような演出も可能となる。また、３つの回転リールのうち、その一部だけがリール演出を開始し、他の回転リールが停止状態を維持する演出も可能となる。なお、リール演出を実行しない場合には、リール演出種別表に、その旨が明記されている。
【０１４８】
図１４（ａ）は、このような動作を可能にする本実施例のリール演出処理（ＳＴ３７）の詳細を示すフローチャートである。先ず、リール演出特定フラグＲＦに対応して、３つの回転リール４ａ〜４ｃについて、各々のリール演出動作に対応するリール演出テーブルＴｒｉを特定する（ＳＴ７０）。そして、リール演出を実行する場合には、フリーズコマンドを送信バッファにセットする。また、全ての回転リール４ａ〜４ｃについてリール演出を実行する場合には、各回転リールについて、行ポインタＫ１〜Ｋ３と、動作タイマＡＴ１〜ＡＴ３をゼロに初期設定し、リセットフラグＲＥＳＥＴをゼロに初期設定した状態で、回胴制御フラグＦＧ１〜ＦＧ３を０３Ｈに初期設定する（ＳＴ７０）。一方、リール演出を実行しない回転リールについては、その回胴制御フラグＦＧを００Ｈに初期設定する。
【０１４９】
ここで、設定値０３Ｈは、その回胴制御フラグＦＧについて、制御中フラグＦ０と、リール演出中フラグＦ１とが１にセットされたことを意味し、これからリール演出が開始されることを意味する。一方、設定値００Ｈは、その回胴制御フラグＦＧについて、制御中フラグＦ０がＦ０＝０であることを意味するので、その回転リールは停止状態を維持する（図１６のＳＰ１１参照）。
【０１５０】
以上の初期設定が終われば、この実施例では、左回転リール４ａ→中回転リール４ｂ→右回転リール４ｃの順番にリール演出を開始し、各回転リール４ａ〜４ｃのリール演出が終了するのを待機する（ＳＴ７４）。
【０１５１】
具体的には、先ず、リセットフラグＲＥＳＥＴの値を判定する（ＳＴ７１）。図１２（ｂ）に関して説明した通り、リール演出中に電断した後の電断復帰時であれば、リール演出中フラグＦ１がＦ１＝１であるので、リセットフラグＲＥＳＥＴが１にセットされている（ＳＴ２６）。そのため、このような場合には、ステップＳＴ７１からステップＳＴ７０の処理に戻ることで、中断したリール演出を最初からやり直すことになる。但し、中断したリール演出をキャンセルする場合には、ステッピングモータを、全相ＯＮ状態の停止制御に設定した上で（ＳＴ７５）、リール演出を終える。
【０１５２】
一方、ステップＳＴ７１の判定において、リセットフラグＲＥＳＥＴ＝０である通常時には、左回転リール４ａのリール演出中フラグＦ１を判定する（ＳＴ７２）。ここで、リール演出中フラグＦ１＝０であれば、左回転リール４ａについて、もともとリール演出を実行しないか、或いは、実行したリール演出が完了したことを意味するので、ステップＳＴ７２’の処理に移行する。一方、リール演出中フラグＦ１＝１であれば、次に、動作タイマＡＴ１の値を判定する（ＳＴ７３）。動作タイマＡＴ１は、リール演出テーブルＴｒｉの特定行（＝Ｋ１行）のリール演出について、その継続時間を意味している。したがって、動作タイマＡＴ１≠０の場合には、ステップＳＴ７２’の処理に移行する。
【０１５３】
一方、動作タイマＡＴ１＝０であって、リール演出テーブルＴｒｉの特定行（＝Ｋ１行）のリール演出が終わった場合や、ステップＳＴ７０の処理で動作タイマＡＴ１＝０に初期設定された直後である場合には、ステップＳＴ６００の手順で、左回転リール４ａについて、リール演出テーブルＴｒｉ（図１２（ｃ）参照）の設定処理を実行する。
【０１５４】
具体的には、先ず、リール演出テーブルＴｒｉについての行ポインタＫ１をインクリメントし（ＳＴ６０１）、インクリメント後の行ポインタＫ１が有効データを特定しているか否かを判定する（ＳＴ６０２）。図１２（ｃ）に示す通り、リール演出テーブルＴｒ１の最終行には、無効データＮＵＬＬが記憶されている。したがって、ステップＳＴ６０２の判定で、ＮＵＬＬデータが検出される場合は、一連のリール演出が終わったことを意味する。そこで、ＮＵＬＬデータが検出された場合には、左回転リール４ａの回胴制御フラグＦＧ１について、そのリール演出中フラグＦ１をゼロクリアしてサブルーチン処理を終える（ＳＴ６０３）。
【０１５５】
一方、ステップＳＴ６０２の判定で有効データが検出される場合には、更新後の行ポインタＫ１が示すモータ動作テーブルＴｍを特定する（ＳＴ６０４）。次に、モータ動作テーブルＴｍ（図１３（ａ）参照）の行ポインタＬ１を、１に初期設定すると共に、モータ出力タイマＴＭ１を１に初期設定し、動作数カウンタＣＴ１をゼロに初期設定する（ＳＴ６０５）。
【０１５６】
モータ出力タイマＴＭは、タイマ割込み処理（図１０（ａ））の割込み回数を規定することで、励磁ポインタＰＴの更新周期を規定している。ここで、励磁ポインタＰＴの更新タイミングは、ステッピングモータへの励磁データΦ１〜Φ４の更新タイミングを意味するので（図１３（ｂ）参照）、結局、モータ出力タイマＴＭの初期値は、モータの回転速度を規定することになり、要するに、モータ出力タイマＴＭの初期設定値が大きいほど、モータの回転速度が遅いことになる。
【０１５７】
例えば、図１３（ａ）に示すモータ動作テーブルＳＨＡＫＥにおける１行目の正転動作は、割込み数＝６と規定されているので、割込み周期τ（＝１．５ｍＳ）の６倍（＝９ｍｓ）の時間を経過して、ステッピングモータが１ステップ角θｓだけ回転することになる。先に説明した通り、この実施例では、各ステッピングモータのステップ角θｓが、θｓ＝３６０°／５０４に設定されているので、結局、動作テーブルＳＨＡＫＥにおける１行目の正転動作は、θｓ／（６＊τ）≒７９°／秒程度の低速回転となる。
【０１５８】
また、モータ動作テーブルＴｍ（図１３（ａ））の動作数カウンタＣＴは、モータ動作テーブルの特定行（＝Ｌ行）の動作を何回実行するかを規定している。例えば、図１３（ａ）に示すモータ動作テーブルＳＨＡＫＥにおける２行目の正転動作は、割込み数＝３、動作数＝２と規定されているので、θｓ／（３＊τ）≒１５９°／秒程度の回転を、３＊２＊τ＝９ｍＳ継続することになる。
【０１５９】
この意味において、割込み数は、モータ出力タイマＴＭの初期設定値としてモータの回転速度を規定し、動作数は、ステップ角θｓを単位とする回転角度を規定することになり、また、割込み数＊動作数の値は、割込み数で決まる定速回転の継続時間（回転時間）を規定することになる。なお、この実施例では、モータ動作テーブルに、回転速度と回転角度を規定しているが、回転速度と回転時間を規定しているのと同じである。
【０１６０】
以上のような意義を有する割込み数や動作数に関連して、モータ出力タイマＴＭ１と動作数カウンタＣＴ１の初期設定処理（ＳＴ６０５）が終われば、次に、リール演出テーブルＴｒｉ（図１２（ｃ）参照）について、その行ポインタＫ１が示すタイマ値を、動作タイマＡＴ１に初期設定してサブルーチン処理を終える（ＳＴ６０６）。なお、動作タイマＡＴ１は、リール演出テーブルＴｒｉの特定行（＝Ｋ１行）のリール演出について、その継続時間を意味しており、タイマ割込み処理の定期更新処理（ＳＴ４３）においてゼロになるまでデクリメントされる。
【０１６１】
以上のようにして、左回転リール４ａについての処理が終われば、中回転リール４ｂや右回転リール４ｃについても同様の処理（ＳＴ７２’〜ＳＴ７３’，ＳＴ７２”〜ＳＴ７３”）を実行する。そして、３つの回転リール４ａ〜４ｃについて上記の制御処理が終われば、全ての回転リールについて、その回胴制御フラグＦＧ１〜ＦＧ３のリール演出中フラグＦ１が、全てゼロであるか否かを判定する（ＳＴ７４）。
【０１６２】
先に説明した通り、回胴制御フラグＦＧ１〜ＦＧ３のリール演出中フラグＦ１は、対応する回転リールについてのリール演出が終わったタイミングでゼロクリアされる（ＳＴ６０３）。したがって、ステップＳＴ７４の処理は、３つの回転リール４ａ〜４ｃについてのリール演出中フラグＦ１が全て終わるまで待機することを意味し、全てのリール演出が終われば、図１４（ａ）に示すサブルーチン処理を終えることになる。
【０１６３】
以上、メインループ処理（ＳＴ２〜ＳＴ１７）の回胴開始設定処理（ＳＴ８）において実行されるリール演出処理（ＳＴ３７）について詳細に説明したので、続いて、モータ動作テーブル（図１３（ａ）参照）に基づいて初期設定されたモータ出力タイマＴＭによって時間管理される回胴回転制御処理（ＳＴ４２）について説明する。図１０（ａ）に示す通り、回胴回転制御処理（ＳＴ４２）は、タイマ割込み処理の一部として、所定時間（τ＝１．５ｍＳ）毎に間欠的に実行され、その詳細は、図１５に示す通りである。
【０１６４】
図１５に示す通り、回胴回転制御処理では、最初に、回転リールを管理するリール変数ｊを１に初期設定する（ＳＰ１０）。図１４に関して説明した通り、この実施例では、リール変数ｊを１→２→３と増加させつつ、左回転リール４ａ→中回転リール４ｂ→右回転リール４ｃの順番に制御している。
【０１６５】
次に、回胴制御フラグＦＧｊの制御中フラグＦ０の値に基づいて、リール変数ｊで特定される回転リールが制御動作中か否かを判定する（ＳＰ１１）。ここで、Ｆ０＝０であって、制御動作中でない場合には、リール変数を更新するが（ＳＰ２６）、制御中フラグＦ０＝１の場合には、３つの回転リールについてのリール演出中フラグＦ１が全てゼロであるか否かを判定する（ＳＰ１２）。ここで、何れかの回転リールについてリール演出中フラグＦ１がＦ１＝１であれば、ステップＳＰ１３以降の処理を実行するが、３つの回転リールについてのリール演出中フラグＦ１が全てゼロである場合には、その後の回胴回転制御処理に移行させる。その後の回胴回転制御処理とは、回転開始時の加速回転動作→定常回転動作→停止操作後のスベリ回転動作→停止制御動作などを意味し、図１６に関して後述する。
【０１６６】
ステップＳＰ１２の判定において、何れかの回転リールについてリール演出中フラグＦ１がＦ１＝１であれば、リール変数ｊで特定される回転リールについてのモータ出力タイマＴＭｊの値をデクリメントし（ＳＰ１３）、デクリメント後のモータ出力タイマＴＭｊがゼロか否かを判定する（ＳＰ１４）。先に説明した通り、モータ出力タイマＴＭｊは、タイマ割込み処理（図１０（ａ））の割込み回数を規定することで、励磁ポインタＰＴの更新周期を規定している。
【０１６７】
そして、デクリメント後のモータ出力タイマＴＭｊがゼロでない場合には、何もしないでステップＳＰ２６の処理に移行する。但し、リール演出の開始時や、モータ動作テーブルＴｍの変更時には、モータ出力タイマＴＭｊ＝１と初期設定されるので（図１４（ｂ）のＳＴ６０５）、そのような場合には、デクリメント後のモータ出力タイマＴＭｊがゼロとなる。そこで、モータ出力タイマＴＭｊ＝０の場合には、図１４（ｂ）のステップＳＴ６０４の処理で特定されているモータ動作テーブルＴｍについて、そのＬｊ行目を参照して、行ポインタＬｊが示す行に規定されている割込み数を、モータ出力タイマＴＭｊに設定する（ＳＰ１５）。なお、行ポインタＬｊは、図１４（ｂ）のステップＳＴ６０５の処理で１に初期設定された後、動作数カウンタＣＴが満了する毎に、インクリメントされる（図１５のＳＰ２５参照）。
【０１６８】
次に、図１４（ｂ）のステップＳＴ６０４の処理で特定されているモータ動作テーブルＴｍについて、行ポインタＬｊが示す行に規定されている動作態様（ステイタス）を特定する（ＳＰ１６）。そして、動作態様が停止状態であると特定される場合には、励磁データΦ１〜Φ４＝００Ｈを出力バッファに設定する（ＳＰ１７）。そして、出力バッファに設定された励磁データは、タイマ割込み処理（図１０（ａ））のデータ出力処理（ＳＴ４６）で出力されるが、励磁データΦ１〜Φ４＝００Ｈが出力された場合には、ステッピングモータが自由回転可能な非駆動状態になる。
【０１６９】
また、モータ動作テーブルＴｍにおける行ポインタＬｊによって、動作態様（ステイタス）が、正転動作又は逆転動作であると特定される場合には、励磁データΦ１〜Φ４を特定する励磁ポインタＰＴｊの値を、インクリメント又はデクリメントして更新する（ＳＰ１８）。図１３（ｂ）に示す通り、励磁ポインタＰＴｊは、０〜７の範囲で循環的に更新される。そして、更新後の励磁ポインタＰＴｊが指示する励磁データΦ１〜Φ４が出力バッファに設定される（ＳＰ１９）。そして、その後、この励磁データΦ１〜Φ４がデータ出力処理（ＳＴ４６）において出力されることで、ステッピングモータが正方向又は逆方向に１ステップ角θｓだけ歩進することになる。
【０１７０】
次に、モータ動作テーブルＴｍにおける行ポインタＬｊによって、動作態様（ステイタス）が、待機状態であると特定される場合には、励磁データΦ１〜Φ４＝０ＦＨを出力バッファに設定する（ＳＰ２０）。そして、その後、この励磁データΦ１〜Φ４がデータ出力処理（ＳＴ４６）において出力されることで、ステッピングモータは、全相が駆動状態となって停止する。なお、初めて全相駆動状態に移行する停止開始時には、ステッピングモータが、それまでの回転位置から微妙に移動することで、円滑な停止動作が担保される。
【０１７１】
また、モータ動作テーブルＴｍにおける行ポインタＬｊによって、動作態様（ステイタス）がループ指定であると特定される場合には、行ポインタＬｊを書き替えることで、モータ動作テーブルの開始行を特定した上で、ステップＳＰ１５の処理に移行する（ＳＰ２１）。
【０１７２】
一方、ステップＳＰ１８〜ＳＰ２０の処理によって必要な処理が実行された場合には、モータ出力タイマＴＭｊ＝０となっていること（ＳＰ１４参照）に対応して、動作数カウンタＣＴｊをインクリメントして更新する（ＳＰ２２）。
【０１７３】
そして、更新後の動作数カウンタＣＴｊが、満了値に一致するか否かを判定し、一致しない場合には、ステップＳＰ２６の処理に移行する（ＳＰ２３）。一方、更新後の動作数カウンタＣＴｊが、満了値に一致する場合には、動作数カウンタを再度ゼロに初期設定し（ＳＰ２４）、行ポインタＬｊをインクリメントして更新する（ＳＰ２５）。なお、動作数カウンタＣＴｊの満了値は、モータ動作テーブルＴｍの該当行の動作を何回実行するかを規定する値であって、モータ動作テーブルＴｍにおける行ポインタＬｊの指示行に規定されている（図１３（ａ）参照）。
【０１７４】
以上の処理によって、リール変数ｊが指定する特定の回転リールについてリール演出の一単位の動作が終わるので、次に、リール変数ｊをインクリメントして更新し（ＳＰ２６）、全ての回転リールの処理が終わるまで、ステップＳＰ１１〜ＳＰ２６の処理を繰り返す。先に説明した通り、リール変数ｊが１→２→３と更新されることで、左回転リール４ａ→中回転リール４ｂ→右回転リール４ｃの順番に、リール演出の一単位の動作が実行される。
【０１７５】
したがって、次回のタイマ割込み時には、回胴回転制御処理として、再度、リール変数ｊが１に初期設定されて（ＳＰ１０）、左回転リール４ａ→中回転リール４ｂ→右回転リール４ｃの順番に、リール演出の次の一単位の動作が実行されることになる。このような一単位の動作が繰り返された後、全てのリール演出が完了したか否かは、メインループ処理（ＳＴ２〜ＳＴ１７）中の回胴設定処理（ＳＴ８）、より具体的には、リール演出処理（ＳＴ３７）における図１４（ｂ）のステップＳＴ６０２の処理で判定されている。
【０１７６】
そして、全てのリール演出が完了したタイミングでは、３つの回胴制御フラグＦＧ１〜ＦＧ３のリール演出中フラグＦ１が、全てゼロとなる（図１４（ｂ）のＳＴ６０３参照）。なお、制御中フラグＦ０は全て１のままである（図１４（ａ）のＳＴ７０参照）。そのため、全てのリール演出が完了した後は、タイマ割込み処理（図１４（ａ）の回胴回転制御処理）におけるステップＳＰ１２の判定がＹｅｓとなり、その後のタイマ割込み処理（図１０（ａ））では、通常の回胴回転制御動作（ＳＴ４２）が実行されることなる。
【０１７７】
また、メインループ処理（ＳＴ２〜ＳＴ１７）では、図１１（ａ）に示すリール演出処理（ＳＴ３７）を終えたことで、回胴制御フラグＦＧ１〜ＦＧ３を０１Ｈに設定する（ＳＴ３８）。また、演出制御部５１に回転開始コマンドを伝送するべく、回転開始コマンドを送信バッファに格納した上で（ＳＴ３８）、回胴開始設定処理（図９のＳＴ８）を終える。
【０１７８】
ステップＳＴ３８の処理によって、３つの回胴制御フラグＦＧ１〜ＦＧ３がＦＧｊ＝０１Ｈに設定されるので、回転リール４ａ〜４ｃの動作状態を規定する各種フラグ（Ｆ７〜Ｆ０）のうち、制御中フラグＦ０だけが１となる。なお、ステップＳＴ３８の処理は、リール演出を実行するか否かに拘らず実行される。
【０１７９】
図１６は、３つの回胴制御フラグＦＧ１〜ＦＧ３がＦＧｊ＝０１Ｈに設定された後の回胴回転制御動作を説明するフローチャートである。なお、図１６の処理は、図１５のフローチャートの処理を含んでおり、ステップＳＰ１０〜ＳＰ１２とステップＳＰ２６〜ＳＰ２７の処理は共通している。また、図１５のステップＳＰ１３〜ＳＰ２６の処理は、図１６では、リール演出中処理（ＳＰ３３）としてサブルーチン化されている。
【０１８０】
以上を踏まえて図１６の処理を説明すると、回胴制御フラグＦＧ１〜ＦＧ３がＦＧｊ＝０１Ｈの状態では、ステップＳＰ３４以下の処理が実行され、リール変数ｊで規定される１バイト長の回胴制御フラグＦＧｊについて、回胴停止中フラグＦ７と、回胴起動中フラグＦ６と、回胴起動済みフラグＦ５と、停止ボタン検出フラグＦ４と、停止命令フラグＦ３の値が、この順番に判定される（ＳＰ３４〜ＳＰ３８）。
【０１８１】
図１１（ｃ）に示す通り、回胴停止中フラグＦ７は、制御対象の回転リールが停止励磁後であるか否かを規定しており、回胴起動中フラグＦ６は、当該回転リールが回転開始時の加速回転中であるか否かを規定し、回胴起動済みフラグＦ５は、当該回転リールが加速回転後の定常回転中であるか否かを規定している。また、停止ボタン検出フラグＦ４は、制御対象の回転リールに対応するストップボタン１８のＯＮ操作が行われたか否かを規定し、停止命令フラグＦ３は、当該回転リールについてスベリ制御が完了したか否かを規定している。
【０１８２】
先に説明した通り、ここでは、回胴制御フラグＦＧ１〜ＦＧ３がＦＧｊ＝０１Ｈである場合を説明しているので、ＳＰ３４→ＳＰ３５→ＳＰ３６の判定を経て、最初に、励磁ポインタＰＴｊのＬＳＢ(Least Significant Bit) をゼロクリアする（ＳＰ５３）。
【０１８３】
図１３（ｂ）に示す通り、励磁ポインタＰＴｊは、図１３（ｃ）に示す８種類の励磁データΦ１〜Φ４を指示している。図示の通り、本実施例では、回転リール４ａ〜４ｃを駆動する３個のステッピングモータを二相モータとし、この二相モータを１−２相励磁している。そして、２組の励磁巻線について、１相励磁と２相励磁とを交互に繰り返しており、励磁ポインタＰＴｊのＬＳＢがＬＳＢ＝０の場合には２相励磁モード、ＬＳＢ＝１の場合には１相励磁モードとなっている。したがって、ステップＳＰ５３の処理を経ることで、励磁ポインタＰＴｊは、２相励磁モードになったことになる。
【０１８４】
次に、回胴制御フラグＦＧｊの回胴起動中フラグＦ６をＦ６＝１とすると共に、回胴センサＯＮフラグＦ２をＦ２＝０とする（ＳＰ５４）。なお、ステップＳＴ３８の処理でゼロに設定した回胴センサＯＮフラグＦ２を、敢えてＦ２＝０に再設定するのは、定常回転を開始した後であっても（Ｆ２＝１）、回転異常時にはステップＳＰ５３以下の処理を再実行するためである。
【０１８５】
ステップＳＰ５４の処理が終われば、図柄ステップ数カウンタを２４に初期設定する（ＳＰ５５）。この実施例では、回転リールに描かれた図柄を一個移動する（基準回転角度だけ回転させる）ために、ステッピングモータを２４ステップ駆動するので、この動作に対応して、図柄ステップ数カウンタをゼロまでデクリメントすることで（ＳＰ６３，ＳＰ６４）、各図柄の回転移動を把握している。
【０１８６】
次に、各々１バイト長のエラータイマＥＴｊと、図柄カウンタＤＵｊをゼロに初期設定し、行ポインタＮｊと、モータ出力タイマＴＭｊを１に初期設定する（ＳＰ５６）。ここで、エラータイマＥＴｊは、励磁ポインタＰＴｊを所定回数（例えば２１＊２４＋α）更新したにも拘らず、インデックスセンサによって回転リール４の基準位置を検出できない回転異常（回転停止状態）を検出するために使用される。
【０１８７】
また、図柄カウンタＤＵｊは、回転リールに描かれた各図柄の現在位置を把握するために使用される。すなわち、インデックスセンサがＯＮ動作する毎に、図柄カウンタＤＵｊをゼロクリアし（ＳＰ６２）、ステッピングモータを２４ステップ駆動する毎に、つまり、図柄一個分（基準回転角度）の回転毎に、図柄カウンタＤＵｊをインクリメントすることで（ＳＰ６６）各図柄の現在位置を把握している。
【０１８８】
また、行ポインタＮｊは、回転開始時の加速回転を実現するタイムテーブルＴＢＬ（図１６の上段参照）の使用欄を特定するために使用される。なお、説明の都合上、行ポインタＮｊの初期値を１にしているが、実際にはゼロに初期設定するのが好適である。モータ出力タイマＴＭｊは、割込み回数をカウントして、ステッピングモータの歩進タイミングなどを規定する用途で使用される。
【０１８９】
以上の初期設定が終われば、ステップＳＰ４３に移行して、モータ出力タイマＴＭｊをデクリメントし、デクリメント後のモータ出力タイマＴＭｊの値がゼロか否かを判定する（ＳＰ４４）。先に説明した通り、回転起動時には、ＭＹｊ＝１に初期設定されているので（ＳＰ５６）、続いて、タイムテーブルＴＢＬについて、行ポインタＮｊが指定するタイマ値を取得して、モータ出力タイマＴＭｊに設定し（ＳＰ４５）、行ポインタＮｊをインクリメントして更新する（ＳＰ４６）。初期設定されたモータ出力タイマＴＭｊ（ＳＰ４５参照）は、その後の割り込み処理毎にデクリメントされ、ＴＭｊ＝０となるまで、ステップＳＰ４５の処理移行が待機される。
【０１９０】
ところで、図１６に示すタイムテーブルＴＢＬは、回転起動時の回転リールの加速回転動作を規定しており、割込み周期τ毎に更新される行ポインタＮｊによって（ＳＰ４６）、ＴＭｊ＝０のタイミングで、モータ出力タイマＴＭｊを再設定することで（ＳＰ４５）、ステッピングモータの加速回転を実現している。また、１相駆動と２相駆動とが交互に繰り返される１−２相駆動において（図１３（ｃ）参照）、回転トルクに劣る１相駆動を一割込み周期τで終えて、回転トルクに勝る２相駆動に移行させることで、円滑な加速回転を実現している。
【０１９１】
すなわち、図示のタイムテーブルＴＢＬでは、タイマ値を、最小値→回転待機数→最小値→回転待機数→最小値→回転待機数・・・・と推移させることで、一瞬の１相励磁を挟んで２相励磁を繰り返すことで回転リールの加速回転を実現している。なお、実施例では、最小値が割込み周期τ（＝１．５ｍＳ）に対応する１であり、回転待機数は１より大きな値である。
【０１９２】
また、実施例では、回転待機数を段階的に減少させることで、極めて遅い低速回転から漸次、回転速度を高めている。因みに、回転初期は、２ステップ角２＊θｓを、時間３４＊τを要して回転させており、回転角速度は、θｓ／１７／τ（≒２８［°／Ｓ］）である。そして、その後の回転角速度を、θｓ／４．５／τ  →  θｓ／２．５／τ  →  θｓ／２／τ  →  θｓ／１．５／τと増加させることで、定常回転角速度θｓ／τ（≒４７６［度／Ｓ］）に向けた円滑な加速動作が実現されている。なお、タイムテーブルＴＢＬの最終欄には、全相励磁（Φ１〜Φ４＝０ＦＨ）の停止動作を実現する極めて大きな数値（１５１）が格納されている。
【０１９３】
このような構成に対応して、ステップＳＰ４７では、インクリメント後の行ポインタＮｊの値に基づいて、起動時の加速回転制御を終えたか否かを判定している。そして、加速回転制御中であれば、ステップＳＰ４８の処理をスキップして励磁ポインタＰＴｊをインクリメントし（ＳＰ４９）、インクリメント後の励磁ポインタＰＴｊに対応する励磁データΦ１〜Φ４を出力バッファに設定する（ＳＰ５０）。そして、リール変数ｊを更新して、次の回転リールについて上記と同様の処理を行う（ＳＰ２６）。
【０１９４】
ところで、励磁ポインタＰＴｊは、その回転リールの回転開始時に、ＬＳＢがゼロにされているので（ＳＰ５３）、ステップＳＰ４９の処理でインクリメントされた後の励磁ポインタＰＴｊは、そのＬＳＢが必ず１となっている。したがって、各回転リールは、必ず、１相励磁状態で回転が開始されることになり、円滑な回転起動動作が担保される。
【０１９５】
このようにして全ての回転リール４ａ〜４ｃについての初回動作が終わると、次のタイマ割込みでは、回転起動中フラグＦ６がＦ６＝１であることから（ＳＰ５４参照）、ステップＳＰ３４→ＳＰ３５→ＳＰ４３の処理が実行される。そして、初回の設定処理（ＳＰ４５）でモータ出力タイマＴＭｊに設定されるタイマ値が１であることから、ステップＳＰ４４→ＳＰ４５→ＳＰ４６→ＳＰ４７→ＳＰ４９の処理を経て、２相励磁用の励磁データΦ１〜Φ４が出力バッファに設定される（ＳＰ５０）。
【０１９６】
そして、ステップＳＰ４５の処理でモータ出力タイマＴＭｊに設定されたタイマ値に対応する割込み回数を経ると、やや回転速度の上がった次の駆動動作に移行する。なお、次の回転角速度は、θｓ／４．５／τである。各回転リールについて、その後の処理も同じであり、行ポインタＮｊの増加に対応して、回転角速度が、θｓ／４．５／τ  →  θｓ／２．５／τ  →  θｓ／２／τ  →  θｓ／１．５／τと漸次増加する。
【０１９７】
そして、ステップＳＰ４６の処理によって、行ポインタＮｊが最終行（＝２６）に達すると、回胴起動中フラグＦ６をクリアする一方、回胴起動済みフラグＦ５を１に設定し、行ポインタＮｊが指示するタイマ値（＝１５１）を、モータ出力タイマＴＭｊに設定する（ＳＰ４８）。なお、回胴起動中フラグＦ６＝０、回胴起動済みフラグＦ５＝１と設定されてことにより（ＳＰ４８）、その後、回転異常が生じない限り、モータ出力タイマＴＭｊの値は、停止操作後に実行されるステップＳＰ４０の処理まで変化することはない。
【０１９８】
回胴起動中フラグＦ６＝０、回胴起動済みフラグＦ５＝１と設定された後のタイマ割込み処理では、毎回、ステップＳＰ３４→ＳＰ３５→ＳＰ３６→ＳＰ３７→ＳＰ５７の経路で判定処理が進む。そして、励磁ポインタＰＴｊのＬＳＢの値に基づいて、１相励磁か２相励磁かが判定され（ＳＰ５７）、もし１相励磁であれば、１バイト長のエラータイマＥＴｊをインクリメントし（ＳＰ５８）、インクリメント後のエラータイマＥＴｊの値が所定値（１バイト長の最大値２５５）を超えたてオーバーフローしたか否かを判定する（ＳＰ５９）。
【０１９９】
先に説明した通り、本実施例の回転リール４は、順次更新される励磁データΦ１〜Φ４を、２１＊２４回（＝５０４）受けて一回転するよう設定されている。そのため、励磁ポインタＰＴｊのＬＳＢについて、ＬＳＢ＝１の状態が２５２回（＝５０４／２）検出されたタイミングでは、回転リールは一回転しているはずである。また、本実施例では、インデックスセンサがＯＮ状態となる毎に、エラータイマＥＴｊをゼロクリアしているので（ＳＰ６１）、本来、エラータイマが２５２を超えることはない。
【０２００】
そこで、エラータイマＥＴｊがオーバーフローして、再度ゼロになった場合には、回転リールが正常に回転していないと判断して、ステップＳＰ５３の処理に移行させる。その結果、その後は、タイムテーブルＴＢＬに基づく起動回転が再実行されることになる。その起動回転は、駆動トルクが高い超低速回転（回転角速度２８°／Ｓ）から開始されるので、モータ異常が自動回復することを期待することができる。
【０２０１】
一方、ステップＳＰ５９の判定で、エラータイマＥＴｊ≠０と判定される場合には、インデックスセンサがＯＮ状態に変化したか否かを判定する（ＳＰ６０）。インデックスセンサのセンサ出力は、タイマ割込み毎に取得されており（図１０のＳＴ４１）、ＯＦＦ状態からＯＮ状態に変化したか否かが判定される。そして、回転リールが基準位置を通過して、インデックスセンサがＯＮ状態に変化している場合には、エラータイマＥＴｊをゼロクリアし、回胴センサＯＮフラグＦ２を１にセットする（ＳＰ６１）。また、図柄ステップ数カウンタを２４に初期設定すると共に、図柄カウンタをゼロクリアしてステップＳＰ４９の処理に移行させる（ＳＰ６２）。
【０２０２】
一方、インデックスセンサがＯＮ状態に変化していない場合には、２４に初期設定されている図柄ステップ数カウンタをデクリメントし（ＳＰ６３）、これがゼロであるか否かを判定する（ＳＰ６４）。先に説明した通り、図柄ステップ数カウンタは、回転リール４が一図柄分だけ回転したか否かを判定するものであり、基準回転角度（＝２４＊θｓ）だけ回転したと判定される場合には、図柄ステップ数カウンタを２４に再設定し（ＳＰ６５）、図柄カウンタＤＵｊをインクリメントする（ＳＰ６６）。そして、インクリメント後の図柄カウンタＤＵｊが２１に達した後には、これをゼロクリアすることで、回転リールに描かれ図柄を常時把握できるようにしている（ＳＰ６７〜ＳＰ６８）。すなわち、回転リールが基準位置に達すると、インデックスセンサがＯＮ動作して、図柄カウンタＤＵｊがゼロとなり、その後、一図柄分の基準回転角度の回転毎に図柄カウンタＤＵｊがインクリメントされるので、結局、図柄カウンタＤＵｊは、基準位置（インデックスセンサ位置）に存在する図柄の図柄番号０〜２０を、リアルタイムに特定していることになる。
【０２０３】
ステップＳＰ６８やＳＰ６２の処理を終えた後は、励磁ポインタＰＴｊを更新して、更新後の励磁ポインタＰＴｊが示す励磁データΦ１〜Φ４が出力バッファに設定された後に（ＳＰ４９〜ＳＰ５０）、別の回転リールについての回転制御処理に移行する（ＳＰ２６）。以上の通り、回胴起動中フラグＦ６＝０、回胴起動済みフラグＦ５＝１と設定された後のタイマ割込み処理では、タイマ割込み毎に励磁ポインタＰＴｊが更新されることで、励磁データΦ１〜Φ４が更新されるので、各回転リール４ａ〜４ｃは、角速度θｓ／τで定常回転することなる。なお、この定常回転では、１相駆動と２相駆動とが同一時間間隔（τ）で繰り返される。
【０２０４】
このような定常回転を繰り返していると、やがて、遊技者がストップボタン１８をＯＮ操作することで、ＯＮ操作されたストップボタンに対応する回転リールの停止信号検出フラグＦ４がセットされる。なお、この状態では、回胴起動済みフラグＦ５はＦ５＝１のままである。
【０２０５】
そのため、その後のタイマ割込み処理では、毎回、ステップＳＰ３４→ＳＰ３５→ＳＰ３６→ＳＰ３７→ＳＰ３８の経路で判定処理が進む。そして、停止命令フラグＦ３の値が判定される。ストップボタン１８のＯＮ操作後は、内部抽選状態の当り図柄を有効ラインに停止させる制御、或いは、外れ図柄を停止させる制御が、メイン処理（図９（ａ））の回胴停止処理（ＳＴ９）において実行される。そして、停止させるべき図柄が有効ラインに達した段階で、停止命令フラグＦ３がＦ３＝１にセットされるよう構成されている。なお、高速回転である定常回転中の回転リールの慣性力を考慮して、回転停止までに余裕のあるタイミングで停止命令フラグＦ３＝１となる。
【０２０６】
そのため、停止命令フラグＦ３＝１となっている場合には、回転リールを実際に停止して良いか否かを図柄ステップ数カウンタや図柄カウンタＤＵｊから判定して（ＳＰ６９）、実際の停止タイミングまで待機する（ＳＰ６３以下参照）。そして、停止タイミングに達した場合には、停止させるべき回転リールの回胴制御フラグＦＧｊについて、その回胴停止中フラグＦ７を１にセットして、ステップＳＰ３９に移行する（ＳＰ７０）。
【０２０７】
ステップＳＰ３９では、最初にモータ出力タイマＴＭｊの値がゼロか否かを判定する。先に説明した通り、モータ出力タイマＴＭｊには、起動回転終了時に、タイムテーブルＴＢＬの最終タイマ値（＝１５１）が設定されて、その値が維持されている。そのため、次に、モータ出力タイマＴＭｊをデクリメントして、ステッピングモータを全相ＯＮ駆動するため、励磁データΦ１〜Φ４を０ＦＨに設定する。
【０２０８】
続いて、モータ出力タイマＴＭｊの値がゼロか否かを判定し（ＳＰ４１）、ＴＭｊ≠０であれば、別の回転リールについて回転制御処理を実行すべく、ステップＳＰ２６の処理に移行する。
【０２０９】
タイムテーブルＴＢＬの最終タイマ値は、１５１であったことから、励磁データΦ１〜Φ４を０ＦＨに設定する全相ＯＮ駆動は、１５１回のタイマ割込みで継続されることになり、結局、１５１＊τ（≒０．２秒）の間、ステッピンモータの駆動巻線の全相が励磁され続けることで、回転リールの停止状態を維持することになる。本実施例では、このような全相ＯＮ駆動を採るために、高速回転する定常回転時の慣性力に拘らず、回転リールを目的位置に停止させ静止させることができる。
【０２１０】
なお、このような全相ＯＮ駆動を開始した後、タイマ割込みでは、ステップＳＰ１０→ＳＰ１１→ＳＰ１２→ＳＰ３４→ＳＰ３９の経路を経て、モータ出力タイマＴＭｊがデクリメントされる（ＳＰ４０）。そのため、やがて約０．２秒後には、モータ出力タイマＴＭｊ＝０となり、その時には、制御中のステッピングモータを全相ＯＦＦ駆動するべく、励磁データΦ１〜Φ４を００Ｈに設定し、回胴制御フラグＦＧｊの制御中フラグＦ０をゼロに設定する（ＳＰ４２）。その結果、その回転リールについては、非駆動状態に移行して完全停止状態となる（図１１参照）。なお、回胴制御フラグＦＧｊの制御中フラグＦ０がＦ０＝０となったので、その後のタイマ割込み処理の回胴回転制御処理（ＳＴ４２）では、当該回転リールについて制御処理が実行されることはない。
【０２１１】
以上の通り、本実施例では、３つの回転リールに対応して各１バイト長の回胴制御フラグＦＧ１〜ＦＧ３を用意し、起動回転時（加速回転開始時）から完全停止時までの回転動作を円滑に制御しており、むやみにメモリ領域を浪費することがない。また、メモリ領域を浪費することなく、リール演出動作を可能にする構成を実現しており、しかも、３つの回転リールを独立して制御することもでき、遊技者をより効果的に盛り上げることができる。
【０２１２】
また、回転開始時の起動回転や、回転停止時の停止動作を工夫することで、メモリ領域を浪費することなく、円滑な過渡動作を実現している。更に、回転異常時や、停電からの復帰時にも、回転リールの円滑な回転動作が担保されている。
【０２１３】
以上、本発明の実施例について詳細に説明したが、具体的な記載内容は特に本発明を限定するものではない。例えば、実施例では、メイン処理とタイマ割込み処理で処理内容を分担してリール演出を実現しているが、分担内容は、適宜な変更が可能である。
【０２１４】
図１７〜図１８は、リール演出を実現する別の手法を例示したものであり、ここでは、リール演出の起動処理だけをメイン処理（図９）の回胴開始設定処理（ＳＴ８）が担当し、その後のリール演出については、全てタイマ割込み処理（図１０（ａ））の回胴回転制御処理（ＳＴ４２）が担当している。
【０２１５】
以下、具体的に説明すると、図１７の実施例では、回胴開始設定処理（ＳＴ８）におけるリール演出処理（ＳＴ３７）において、初期設定処理（ＳＴ６０Ａ〜ＳＴ６０Ｂ）の後は、リセットフラグＲＥＳＥＴがゼロであることを条件に（ＳＴ６７）、全ての回転リールについてリール演出中フラグＦ１がゼロになるのを待機する（ＳＴ６８）。
【０２１６】
そして、電断復帰時にリセットフラグＲＥＳＥＴが１にセットされたような場合には、ステップＳＴ６７からステップＳＴ６０Ａに移行し、初期設定処理を再実行することで、リール演出を最初からやり直す。なお、電源遮断によって中断したリール演出をキャンセルしても良いのは先の実施例の場合と同様である（ＳＴ６９参照）。
【０２１７】
ところで、初期設定処理では、リール演出特定フラグＲＦに対応したリール演出テーブルＴｒｉを、３つの回転リール４ａ〜４ｃについて特定する（ＳＴ６０Ａ）。次に、リール演出を実行することを明示するべく、回胴制御フラグＦＧ１〜ＦＧ３を０３Ｈに設定し、動作タイマＡＴ１〜ＡＴ３と、行ポインタＫ１〜Ｋ３と、リセットフラグＲＥＳＥＴとをゼロクリアする（ＳＴ６０Ｂ）。なお、ＦＧ１〜ＦＧ３＝０３Ｈが、制御中フラグＦ０と、リール演出中フラグＦ１とが１であることを意味することは先の実施例の場合と同じである。
【０２１８】
この初期設定によって、その後のタイマ割込み処理（図１０（ａ））の回胴回転制御処理（ＳＴ４２）では、図１８の動作を実行することで、リール演出が実行される。そして、全てのリール演出が終われば、回胴回転制御処理（ＳＴ４２）において、リール演出中フラグＦ１が全てゼロとなるよう、構成されている（図１８のＳＰ８６参照）。したがって、ステップＳＴ６０Ｂの初期設定を終えた後は、リセットフラグＲＥＳＥＴがゼロであることを条件に（ＳＴ６７）、全ての回転リールについて、リール演出フラグＦ１がゼロになるのを待機することになる（ＳＴ６８）。
【０２１９】
タイマ割込み処理に含まれる回胴回転制御処理（ＳＴ４２）は、具体的には、図１８に示す通りであり、リール変数ｊが特定する回転リールについて、その制御中フラグＦ０がＦ０＝１であって（ＳＰ８１）、且つ、３つの回転リール４ａ〜４ｃについて、何れかのリール演出中フラグＦ１がＦ１＝１であることを条件に、ステップＳＰ８３〜ＳＰ８９の処理が実行される。なお、３つの回転リール４ａ〜４ｃについて、全てのリール演出中フラグＦ１がＦ１＝０である場合、つまり、全くリール演出を実行しないか、開始したリール演出が全て終了した場合には、他の回胴回転制御処理に移行する（ＳＰ８２）。したがって、この実施例でも、図１６の実施例の場合と同様に、特定の回転リールだけを使用してリール演出を実行することも可能となる。
【０２２０】
ステップＳＰ８３の処理では、リール変数ｊが特定する回転リールについて、リール演出中フラグＦ１がＦ１＝１であるか否かを判定し、Ｆ１＝１であれば、動作タイマＡＴｊの値を判定する（ＳＰ８４）。動作タイマＡＴｊは、図１７（ａ）や図１７（ｂ）に示すリール演出処理（ＳＴ３７）において、ゼロに初期設定されているので（図１７（ｂ）のＳＴ６０Ｂ）、動作開始時であれば、リール変数ｊが特定する回転リールについて、リール演出のテーブル設定処理が実行されることになる（ＳＰ８５）。
【０２２１】
このテーブル設定処理（ＳＰ８５）は、図１４（ｂ）の処理と同じであり、リール演出テーブルＴｒｉについての行ポインタＫ１をインクリメントし（ＳＴ６０１）、インクリメント後の行ポインタＫｊが有効データを特定しているか否かを判定する（ＳＴ６０２）。そして、リール演出テーブルＴｒ１の最終行に記憶されているＮＵＬＬデータが検出される場合は、その回転リールについてのリール演出中フラグＦ１をゼロクリアしてサブルーチン処理を終える（ＳＴ６０３）。
【０２２２】
一方、ステップＳＴ６０２の判定で有効データが検出される場合には、更新後の行ポインタＫｊが示すモータ動作テーブルＴｍを特定する（ＳＴ６０４）。次に、モータ動作テーブルＴｍの行ポインタＬｊを、１に初期設定すると共に、モータ出力タイマＴＭｊを１に初期設定し、動作数カウンタＣＴｊをゼロに初期設定する（ＳＴ６０５）。次に、リール演出テーブルＴｒｉ（図１２（ｃ）参照）について、その行ポインタＫｊが示すタイマ値を、動作タイマＡＴｊに初期設定してサブルーチン処理を終える（ＳＴ６０６）。
【０２２３】
以上のようにして、ステップＳＰ８５のサブルーチン処理が終われば、次に、テーブル設定処理において、リール演出中フラグＦ１をゼロクリアされたか否かを判定し、リール演出中フラグＦ１がＦ１＝１であれば、リール演出中処理（ＳＰ８７）に移行してリール演出を開始又は続行する（ＳＰ８６）。一方、リール演出中フラグＦ１がＦ１＝０であれば、当該回転リールについては、リール演出が終わったことを意味するので、ステップＳＰ８７のリール演出中処理（ＳＰ８７）をスキップして、リール変数ｊを更新する（ＳＰ８８）。
【０２２４】
なお、ステップＳＴ６０６の処理で初期設定された動作タイマＡＴｊは、タイマ割込み毎に定期更新処理（ＳＴ４３）においてデクリメントされるので、動作タイマＡＴｊがゼロになるまでは、行ポインタＫｊが特定するモータ動作テーブルＴｍに規定されたリール演出中処理（ＳＰ８７）の実行を継続する（ＳＰ８４）。また、ステップＳＰ８７のリール演出中処理（ＳＰ８７）は、図１９に示す通りであり、図１５のステップＳＰ１３〜ＳＰ２５の処理と同じである。
【０２２５】
ところで、上記した各実施例では、電源異常時にはＮＭＩ割込み処理（図１０（ｂ））を実行していた。しかし、必ずしも、このような構成に限定されるものではなく、タイマ割込み処理（図１０（ａ））において電源異常信号を監視するのも好適である。
【０２２６】
図２０は、このような場合の実施例であり、データ出力処理（ＳＴ４６）に続いて、電断監視処理（ＳＴ４７）を実行している。なお、電断監視処理（ＳＴ４７）は、タイマ割込み処理の何処に配置しても良い。
【０２２７】
タイマ割込み処理中のいずれの箇所に配置した場合でも、電断監視処理（ＳＴ４７）の内容は、ＮＭＩ割込み処理（図１０（ｂ））の内容とほぼ同じである。但し、タイマ割込み処理中に実行される電断監視処理（ＳＴ４７）では、レジスタを保存する必要がないので、レジスタ退避処理（図１０（ｂ）のＳＴ５１）を除く、ステップＳＴ５０〜ＳＴ５６の処理を実行している（図２０（ｂ）参照）。
【０２２８】
図２０（ｃ）は、参考のために、ステップＳＴ５６の処理終了時のスタック領域の内容を図示したものである。図示の通り、スタック領域には、タイマ割込み処理（図２０（ａ））に先行してネスティングされたサブルーチンの戻り番地と、タイマ割込み処理後の戻り番地と、ステップＳＴ４０の処理で退避されたレジスタと、電源異常信号を検出することなく電断監視処理（ＳＴ４７）を終えた後の戻り番地とが、その順番にＰＵＳＨ処理（格納）されている。なお、電断監視処理（ＳＴ４７）後の戻り番地とは、図示のプログラム構成の場合には、レジスタ復帰処理（ＳＴ４８）の先頭アドレス（ＡＡ番地）に他ならない。
【０２２９】
この実施例でも、電源復帰後には、図９（ｂ）と同様の電断復帰処理が同様に実行される。但し、この実施例の電断復帰処理では、電断監視処理（ＳＴ４７）にレジスタ退避処理が存在しないことに対応して、レジスタ復帰処理（ＳＴ３４）が存在しない。すなわち、図９（ｂ）に示すステップＳＴ３４の処理が不要となる。
【０２３０】
そして、リール演出中に電源が遮断した場合には、電源復帰後は、レジスタ復帰処理（ＳＴ３４）が存在しない電断復帰処理（図９（ｂ））を経て、図１１や図１７に示すリール演出処理（ＳＴ３７）に復帰する。なお、この点は、リセットフラグＲＥＳＥＴを使用する限り、ＮＭＩ割込みによって電源異常に対応するか（図１０（ｂ））、それとも、タイマ割込み処理時に電源異常を監視するか（図２０（ｂ））に拘らず同じである。
【０２３１】
このように、ここまでの実施例では、もっぱら、リセットフラグＲＥＳＥＴを使用することで、電断復帰後に、リール演出を再開またはキャンセルしていた。しかし、タイマ割込み処理において電源異常を監視する限り（図２０（ｂ）参照）、リセットフラグＲＥＳＥＴを使用する構成や、これに類する構成は、必ずしも必須ではない。
【０２３２】
図２１（ｂ）は、リセットフラグＲＥＳＥＴを不要にしたリール演出処理（ＳＴ３７）を例示するものであり、図１７（ｂ）のリール演出処理に対応している。なお、図２１（ａ）は、図１７（ａ）と同一であり、説明の都合上、併記している。
【０２３３】
図１７（ｂ）と図２１（ｂ）を対比すれば明らか通り、ステップＳＴ６０Ａの処理は、図１７（ｂ）のステップ６０Ａと同じである。但し、図２１（ｂ）のステップＳＴ６０Ｂの処理では、リセットフラグＲＥＳＥＴの設定処理が存在せず、また、これに対応して、図２１（ｂ）の構成では、図１７（ｂ）のステップＳＴ６７の判定処理が存在しない。
【０２３４】
そして、リール演出処理におけるステップＳＴ６８の処理は、具体的には、図２１（ｃ）や図２１（ｄ）のように構成される。なお、主制御部５０のＣＰＵコアは、Ｚ８０ＣＰＵ相当であるので、これに対応するニーモニックで表示している。また、図示のプログラムにおいて、Ｆ１ａ、Ｆ１ｂ、Ｆ１ｃは、各々、左回転リール４ａ、中回転リール４ｂ、右回転リール４ｃのリール演出中フラグであり、具体的には、各フラグＦ１ａ〜Ｆ１ｃの格納アドレスを示している。また、「ＬＤ  ＨＬ，＊＊＊＊」の命令における「＊＊＊＊」は、連続配置された３つのリール演出中フラグＦ１ａ、Ｆ１ｂ、Ｆ１ｃの先頭アドレス（Ｆ１ａの格納アドレス）を示している。
【０２３５】
以上を踏まえて、リール演出中に電源異常が生じた場合を説明する。図２１（ｂ）のようにリール演出処理（ＳＴ３７）が構成されている場合には、図２１（ｃ）や図２１（ｄ）のように構成されたステップＳＴ６８の処理実行中に、ランダムなタイミングでタイマ割込みが生じる。そして、その時の電源異常信号が異常レベルであれば、図２０（ｂ）の処理を経て、遊技機が電断する。
【０２３６】
この電断後の状態を図２０（ｃ）に関して確認すると、スタック領域には、ネスティングされたサブルーチンの戻り番地として、最上位にＢＢ番地が記憶され、これに続いて、リール演出処理後の戻り番地、タイマ割込み後の戻り番地、ＳＴ４０の処理で退避されたレジスタ、及び、電断監視処理後の戻り番地（ＡＡ番地）が記憶される。なお、ＢＢ番地は、図２１（ａ）に示すステップＳＴ３８の処理の先頭アドレスであり、タイマ割込み後の戻り番地は、図２１（ｃ）や図２１（ｄ）に示すステップＳＴ６８の処理の何れかのアドレスである。
【０２３７】
そして、リセットフラグＲＥＳＥＴを使用しない電断復帰処理は、例えば、図２２（ａ）のように構成される。図２２（ａ）の電断復帰処理では、リール演出中フラグＦ１の何れかが１であると（ＳＴ２４）、図２１のステップＳＴ６０ＡとＳＴ６０Ｂの場合と同様の初期設定処理を実行した上で（ＳＴ２５Ａ，ＳＴ２５Ｂ）、ステップＳＴ３３の処理に移行する。
【０２３８】
すると、電断前の出力ポートが復帰された後（ＳＴ３）、ＰＯＰ命令が実行されることで、２０（ｃ）に示すスタック領域の最上位に記憶されているＡＡ番地に処理が移行し、レジスタ復帰処理（ＳＴ４８）の実行によってＣＰＵのレジスタが電断前の状態に復帰する。
【０２３９】
なお、電断前に復帰するＣＰＵのレジスタには、ＣＰＵのフラグレジスタ、Ａレジスタ、Ｂレジスタ、Ｈレジスタ、及びＬレジスタが含まれているのは勿論である。そして、タイマ割込み処理のＲＥＴＩ命令が実行されることで、割込み許可状態で、図２１（ｂ）のステップＳＴ６８の処理に移行する。
【０２４０】
ステップＳＴ６８の処理は、図２１（ｃ）や図２１（ｄ）に例示する無限ループ処理であるが、電断復帰後に、動作パラメータが全て初期状態に戻されているので（ＳＴ２５Ａ，ＳＴ２５Ｂ）、その後のタイマ割込みの回胴回転制御処理（ＳＴ４２）では、リール演出を最初からやり直されることになる（図１８参照）。
【０２４１】
なお、この実施例では、タイマ割込み処理（図１０（ａ））において電源異常を監視し、しかも、リール演出中は、図２１（ｂ）のステップＳＴ６８の処理でリール演出中フラグＦ１を監視しているので、仮に、リール演出中に電断しても、電断復帰後に、回胴回転制御処理（ＳＴ４２）の動作途中から処理が再開されるおそれがなく、プログラムの暴走や誤動作が確実に防止される。
【０２４２】
これに対して、ＮＭＩ割込みによって電源異常に対応する場合や、図１２（ｂ）の構成を採る場合には、例えば、Ｋｊ＝０の状態で、図１２（ｂ）のステップＳＴ６１や、図１８（ｂ）のステップＳＴ６０４の処理を実行すると、プログラムが暴走するおそれがある。一方、Ｋｊ←Ｋｊ＋１の処理位置を変更すると、リール演出テーブルＴｒの第一行目の動作がスキップされるおそれがある。
【０２４３】
以上、電断によって中断したリール演出を最初からやり直す構成について説明したが、中断したリール演出を再開することなく消滅されるには、図２２（ｂ）の構成を採ることができる。
【０２４４】
図２２（ｂ）に示す通り、リール演出中フラグＦ１の何れかが１であると（ＳＴ２４）、全てのリール演出中フラグＦ１ａ〜Ｆ１ｃをゼロクリアし（ＳＴ２５）、キャンセルコマンドをセットした上で（ＳＴ６）、ステップＳＴ３３の処理に移行する。なお、図９のステップＳＴ３４に対応する処理は存在しない。
【０２４５】
そして、復帰したステップ６８の処理では、Ｆ１ａ＝Ｆ１ｂ＝Ｆ１ｃ＝０であることから、リール演出処理（ＳＴ３７）が終了し、図２１（ａ）のステップＳＴ３８の処理に移行する。なお、この場合には、リール演出処理（ＳＴ３７）を終える前に、ステッピングモータの駆動巻線の全相をＯＮ駆動して拘束された停止状態を生成しておくのも、その後の起動処理のためには好適である。
【０２４６】
以上、各種の実施例を説明したので、最後に、本発明の実施態様を整理しておく。リール演出処理（ＳＴ３７）の具体的構成は、予告演出を実現する一連の変則動作の進行を全てメイン処理が担当する図１２（ｂ）の構成（構成Ａ）と、初期設定だけをメイン処理が担当し、その後の一連の変則動作の進行をタイマ割込み処理が担当する図１７（ｂ）の構成（構成Ｂ）とに大別される。
【０２４７】
上記何れの構成であっても、リセットフラグＲＥＳＥＴを使用すれば、電断復帰後にリール演出を再開又はキャンセルすることができるが、後者の構成Ｂを採れば、タイマ割込み処理の定時処理において電源異常に対応する限り、リセットフラグＲＥＳＥＴが不要にすることができる利点がある。
【０２４８】
そして、何れの構成を採っても、電断前に実行していたリール演出を中途半端に再開して、液晶表示ユニット７で再開されるキャラクタ演出と非同期となるという弊害が解消される。すなわち、リール演出を最初から同期して再開するか、或いは、中断したリール演出をキャンセルすることができる。
【０２４９】
特に、図２０〜図２２の構成を採る場合には、稀にしか実行されないリール演出において、電断が生じるという極めて稀な事態（事実上ゼロ％）のために、定常的に図１７（ｂ）の判定処理（ＳＴ６７）を繰り返すという無駄が排除できる利点がある。
【符号の説明】
【０２５０】
ＳＬ        遊技機
４          回転リール
ＳＴ６０Ａ〜ＳＴ６０Ｂ  第一手段
ＳＰ８０〜ＳＰ８９      第二手段
ＳＴ６０３              第三手段
ＳＴ３８                第四手段
ＳＴ４７                電断監視処理
ＳＴ２５Ａ〜ＳＴ２Ｂ    演出再開処理
【図１】
0005456831.tif 000002
【図２】
0005456831.tif 000003
【図３】
0005456831.tif 000004
【図４】
0005456831.tif 000005
【図５】
0005456831.tif 000006
【図６】
0005456831.tif 000007
【図７】
0005456831.tif 000008
【図８】
0005456831.tif 000009
【図９】
0005456831.tif 000010
【図１０】
0005456831.tif 000011
【図１１】
0005456831.tif 000012
【図１２】
0005456831.tif 000013
【図１３】
0005456831.tif 000014
【図１４】
0005456831.tif 000015
【図１５】
0005456831.tif 000016
【図１６】
0005456831.tif 000017
【図１７】
0005456831.tif 000018
【図１８】
0005456831.tif 000019
【図１９】
0005456831.tif 000020
【図２０】
0005456831.tif 000021
【図２１】
0005456831.tif 000022
【図２２】
0005456831.tif 000023