(57)【特許請求の範囲】
【請求項１】
遊技者の開始操作に応じて複数の図柄を変動表示させる複数の回転リールと、各ゲーム毎に抽出される乱数値に基づいて各ゲームの当否抽選を行う抽選手段と、遊技者の適切な停止操作を条件として、前記複数の回転リールの図柄を前記当否抽選の当選結果に合うよう整列させる停止手段と、を有する遊技機において、
前記当否抽選は、高価値であるために当選確率が低く設定された特別抽選処理と、それ以外の普通抽選処理とに大別され、
前記抽選手段は、前記特別抽選処理を、所定時間毎に更新されるソフトウェアカウンタに基づいて生成される特別乱数値を使用して実行する一方、前記普通抽選処理を、専用のカウンタ回路の出力値に基づいて生成された通常乱数値を使用して実行し、
前記ソフトウェアカウンタは、所定の数値範囲を一回又は複数回循環した後、それまでの初期値を変更して同様の循環動作を繰り返すよう構成され、
前記特別乱数値は、前記特別抽選処理だけに使用されるようになっており、
前記通常乱数値の一部のビットは、前記専用のカウンタ回路の出力ビットに一致し、他のビットは、ソフトウェアカウンタの一部のビットに一致するよう構成された
ことを特徴とする遊技機。
【請求項２】
前記遊技機は、電源投入後に動作が開始されて一連の遊技処理を無限ループ状に繰り返すメイン処理と、所定時間毎に開始されるタイマ割込み処理とを有して構成され、前記ソフトウェアカウンタの値は、前記タイマ割込み処理において更新される請求項１に記載の遊技機。
【請求項３】
前記特別抽選処理は、前記普通抽選処理では使用されない別の抽選テーブルを使用して実行される請求項１又は２に記載の遊技機。
【請求項４】
前記特別抽選処理と前記普通抽選処理とは、同一の抽選テーブルを使用して実行される請求項１又は２に記載の遊技機。
【請求項５】
前記ソフトウェアカウンタの初期値は、スタートレバーがＯＮ操作するまでの待ち時間に繰り返し更新される初期値カウンタの値に基づいて変更される請求項１〜４の何れかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置を内蔵する電子遊技機に関し、特に、遊技媒体としてメダル又は遊技球を用いる回胴遊技機に好適に適用される。
【背景技術】
【０００２】
スロットマシンなどの回胴遊技機では、遊技者がメダル投入口にメダルを投入してスタートレバーを操作すると、これに応じて、回転リールの回転が開始される。そして、遊技者がストップボタンを押して回転リールを停止させたとき、停止ライン上の図柄が揃うと、その図柄に応じた配当メダルが払い出されるようになっている。但し、各ゲームの当否状態は、実際には、機器内部の抽選処理によって各ゲームの開始時に予め決まっており、この抽選処理によって当選した図柄を、遊技者が停止ライン上に揃えることで配当メダルが払出される。
【０００３】
抽選処理による当選図柄のうち特に価値が高いのが、ビッグボーナス（ＢＢ）図柄である。このＢＢ図柄に当選して、遊技者がＢＢ図柄を停止ライン上に揃えると、その後ビッグボーナスゲームが開始されて、連続的に当選高確率のゲーム状態が維持されることで、それまでより格段に多い配当メダル数が期待できるようになっている。そのため、遊技者は誰でも、極めて低い確率でしか発生しないビッグボーナスへの当選状態を祈念しつつ、ゲームを進行させることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、本来、低確率でしか発生しないビッグボーナスへの当選状態を、意図的に高確率で発生させようする不正遊技者も存在し、体感器などと称される違法器具を使用することが報告されている。違法器具による不正遊技は、ハードウェア的又はソフトウェア的に生成される乱数カウンタと、乱数カウンタに基づく当否抽選処理時に参照される抽選テーブルとの関係を利用したものである。
【０００５】
以下、不正遊技の一例を説明する。スロットマシンは、一旦、販売されるとリバースエンジニアリング（逆アセンブル）が可能であるので、乱数カウンタＲＮＤの循環周期Ｔや、抽選テーブルＴＢＬの内容は、不正遊技者に漏れることになると思われる。そこで、以下では、スタートレバーの操作時の乱数カウンタＲＮＤの値に基づいて、抽選テーブルＴＢＬを参照し、当否抽選が実行されるスロットマシンを仮定する。
【０００６】
図１５は、抽選テーブルＴＢＬと乱数カウンタＲＮＤとの関係を概念的に図示したものである。図１５には、乱数カウンタＲＮＤの循環範囲である０〜６５５３５のうち、ＢＢ当選エリア、ＲＢ当選エリア、小役当選エリア、・・・リプレイ当選エリアが示されている。
【０００７】
このような場合、体感器が、乱数カウンタＲＮＤの循環周期Ｔに同期した刺激を遊技者に与え、これに応じて遊技者がスタートレバーを操作したとする。そして、何回かの違法遊技の後、例えば、子役２の当選したと仮定する（操作タイミング１）。そうすると、その後、同一周期Ｔではあるが、やや早いタイミング（操作タイミング２）で遊技者に刺激を与えると、今度は、小役１に当選することになる。そこで、体感器が、更に早いタイミング（操作タイミング３）で遊技者に刺激を与えれば、遂には、不正遊技者は繰り返しＢＢ当選状態を得ることが可能となる。
【０００８】
かかる遊技行為が違法であることは勿論であり、遊技ホールでは厳重に警戒しているが、それでも警戒の目を盗んで違法遊技が行われることがあり、違法行為の余地のない遊技機の完成が望まれるところである。かかる要請に基づき、各種の対策が提案されているが（特許文献１〜３）、対策として簡易性に欠けたり、或いは不完全なものであった。
【特許文献１】特開２００５−１１１０９８号公報
【特許文献２】特開２００５−１１１０９３号公報
【特許文献３】特開２００５−０１３３１８号公報
【０００９】
本発明は、上記の問題点に鑑みてなされたものであって、不正遊技を簡単に且つ有効に排除できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するため、本発明は、遊技者の開始操作に応じて複数の図柄を変動表示させる複数の回転リールと、各ゲーム毎に抽出される乱数値に基づいて各ゲームの当否抽選を行う抽選手段と、遊技者の適切な停止操作を条件として、前記複数の回転リールの図柄を前記当否抽選の当選結果に合うよう整列させる停止手段と、を有する遊技機において、前記当否抽選は、高価値であるために当選確率が低く設定された特別抽選処理と、それ以外の普通抽選処理とに大別され、前記抽選手段は、前記特別抽選処理を、所定時間毎に更新されるソフトウェアカウンタに基づいて生成される特別乱数値を使用して実行する一方、前記普通抽選処理を、専用のカウンタ回路の出力値に基づいて生成された通常乱数値を使用して実行し、前記ソフトウェアカウンタは、所定の数値範囲を一回又は複数回循環した後、それまでの初期値を変更して同様の循環動作を繰り返すよう構成され、前記特別乱数値は、前記特別抽選処理だけに使用されるようになっており、前記通常乱数値の一部のビットは、前記専用のカウンタ回路の出力ビットに一致し、他のビットは、ソフトウェアカウンタの一部のビットに一致するよう構成されている。
【００１１】
本発明の趣旨は、高価値であるため当選確率の低い当否抽選に用いる乱数値を、相対的に当選確率の高い当否抽選に用いる乱数値と実質的に分離して、互いの関連性を排除することである。
【００１５】
本発明に係る遊技機は、電源投入後に動作が開始されて一連の遊技処理を無限ループ状に繰り返すメイン処理と、所定時間毎に開始されるタイマ割込み処理とを有して構成されるのが好ましく、前記ソフトウェアカウンタの値は、前記タイマ割込み処理において更新されるのが効果的である。
【００１６】
特別当選の当否抽選とその他の当否抽選とは、共通する抽選テーブルに基づいて実行されても良いが、好ましくは、特別当選の当否抽選は、その他の当否抽選とは別の抽選テーブルを使用して実行される。また、通常乱数値の一部のビットを、専用のカウンタ回路の出力ビットと一致させるのが効果的である。
【発明の効果】
【００１７】
上記した本発明によれば、不正遊技を簡単に且つ有効に排除できる遊技機を実現できる。
【発明を実施するための最良の形態】
【００１８】
以下、実施例に基づいて本発明を更に詳細に説明する。図１〜図４は、実施例に係るスロットマシンＳＬを図示したものである。本スロットマシンＳＬは、矩形箱状の本体ケース１と、各種の遊技部材を装着した前面パネル２とが、ヒンジ３を介して連結され、前面パネル２が本体ケース１に対して開閉可能に構成されている（図２）。そして、図１は前面パネル２の正面図、図２はスロットマシンＳＬの右側面図（ａ）と平面図（ｂ）、図３は前面パネル２の背面図、図４は本体ケース１の内部正面図を示している。
【００１９】
図４に示す通り、本体ケース１の略中央には、３つの回転リール４ａ〜４ｃを備える図柄回転ユニット４が配置され、その下側に、メダル払出装置５が配置されている。各回転リール４ａ〜４ｃには、ＢＢ図柄、ＲＢ図柄、各種のフルーツ図柄、及びリプレイ図柄などが描かれている。メダル払出装置５には、メダルを貯留するメダルホッパー５ａと、払出モータＭと、メダル払出制御基板５５と、払出中継基板６３と、払出センサ（不図示）などが設けられている。ここで、メダルは、払出モータＭの回転に基づいて、払出口５ｂから図面手前に向けて導出される。なお、限界量を越えて貯留されたメダルは、オーバーフロー部５ｃを通して、補助タンク６に落下するよう構成されている。
【００２０】
上記のメダル払出装置５に隣接して電源基板６２が配置され、また、図柄回転ユニット４の上部に主制御基板５０が配置され、主制御基板５０に隣接して回胴設定基板５４が配置されている。なお、図柄回転ユニット４の内部には、回胴ＬＥＤ中継基板５８と回胴中継基板５７とが設けられ、図柄回転ユニット４に隣接して外部集中端子板５６が配置されている。
【００２１】
図１に示すように、前面パネル２の上部には液晶表示ユニット７が配置され、その下部には、回転リール４ａ〜４ｃに対応する３つの表示窓８ａ〜８ｃが配置されている。表示窓８ａ〜８ｃを通して、各回転リール４ａ〜４ｃの回転方向に、各々３個程度の図柄が見えるようになっており、合計９個の図柄の水平方向の三本と、対角線方向の二本が仮想的な停止ラインとなる。このような表示窓８ａの左側には、遊技状態を示すＬＥＤ群９が設けられ、その下方には、遊技成果として払出されるメダル数を表示する払出表示部１０や、クレジット状態のメダル数を表示する貯留数表示部１１が設けられている。
【００２２】
前面パネル２の垂直方向中央には、メダルを投入するメダル投入口１２が設けられ、これに隣接して、メダル投入口１２に詰まったメダルを返却させるための返却ボタン１３が設けられている。また、クレジット状態のメダルを払出すクレジット精算ボタン１４と、メダル投入口１２へのメダル投入に代えてクレジット状態のメダルを擬似的に一枚投入する投入ボタン１５と、クレジット状態のメダルを擬似的に三枚投入するマックス投入ボタン１６とが設けられている。
【００２３】
これらの遊技部材の下方には、回転リール４ａ〜４ｃの回転を開始させるスタートレバー１７と、回転中の回転リール４ａ〜４ｃを停止させるためのストップボタン１８ａ〜１８ｃが設けられている。その他、前面パネル２の下方には、メダルを蓄える横長の受け皿１９と、払出装置５の払出口５ｂに連通するメダル導出口２０とが設けられている。なお、メダル導出口２０の左右にはスピーカＳＰが配置されている。
【００２４】
図３に示すように、前面パネル３の裏側には、メダル投入口１２に投入されたメダルの選別を行うメダル選別装置２１と、メダル選別装置２１により不適正と判別されたメダルをメダル導出口２０に案内する返却通路２２とが設けられている。また、前面パネル３の裏側上部には、演出制御基板５１、演出インタフェイス基板５２、及び液晶制御基板６１などを収容する基板ケース２３が配置されている。そして、メダル選別装置２１の上部には、図１に示す各種の遊技部材と主制御基板５０との間の信号を中継する遊技中継基板５３が設けられている。
【００２５】
図５は、実施例に係るスロットマシンＳＬの回路構成を示すブロック図である。図示の通り、このスロットマシンＳＬは、回転リール４ａ〜４ｃを含む各種の遊技部材の動作を制御する主制御基板５０と、主制御基板５０から受けた制御コマンドに基づいて演出動作を実現する演出制御基板５１と、交流電圧（２４Ｖ）を直流電圧（５Ｖ，１２Ｖ，２４Ｖ）に変換して装置各部に供給する電源基板６２とを中心に構成されている。
【００２６】
主制御基板５０は、演出制御基板５１に対して、スピーカＳＰによる音声演出、ＬＥＤランプや冷陰極線管放電管によるランプ演出、及び、液晶表示ユニット７による図柄演出を実現するための制御コマンドを出力している。そして、演出制御基板５１は、演出インタフェイス基板５２を通して、液晶制御基板６１に接続されており、液晶制御基板６１は、液晶表示（ＬＣＤ）ユニット７における図柄演出を実現している。
【００２７】
演出制御基板５１は、演出インタフェイス基板５２と共に、ＬＥＤ基板５９やインバータ基板６０や回胴ＬＥＤドライブ基板５８を経由して、各種のＬＥＤや冷陰極線管放電管におけるランプ演出を実現している。また、演出制御基板５１は、演出インタフェイス基板５２を通してスピーカＳＰを駆動して音声演出を実現している。
【００２８】
主制御基板５０は、遊技中継基板５３を通して、スロットマシンの各種遊技部材に接続されている。具体的には、スタートレバー１７の始動スイッチ、ストップボタン１８ａ〜１８ｃの停止スイッチ、投入ボタン１５，１６の投入スイッチ、清算ボタン１４の清算スイッチ、投入枚数判定部２１ｄを構成するフォトインタラプタＰＨ１，ＰＨ２、投入メダル返却部２１ｃを構成するブロッカーソレノイド３１、及び、各種ＬＥＤ素子９〜１１などに接続されている。
【００２９】
また、主制御基板５０は、回胴中継基板５７を経由して、回転リール４ａ〜４ｃを回転させる３つのステッピングモータ、及び、回転リール４ａ〜４ｃの基準位置を検出するためのインデックスセンサに接続されている。そして、ステッピングモータを駆動又は停止させることによって、回転リール４ａ〜４ｃの回転動作と、目的位置での停止動作を実現している。
【００３０】
主制御基板５０は、払出中継基板６３を通してメダル払出装置５にも接続されている。メダル払出装置５には、メダル払出制御基板５５と、メダル払出センサと、払出モータＭとが設けられており、メダル払出制御基板５５は、主制御基板５０からの制御コマンドに基づいて払出モータＭを回転させて、所定量のメダルを払出している。
【００３１】
その他、主制御基板５０は、外部集中端子板５６と、回胴設定基板５４にも接続されている。外部集中端子板５６は、例えばホールコンピュータＨＣに接続されており、主制御基板５０は、外部集中端子板５６を通して、メダルの投入枚数やメダルの払出枚数などを出力している。また、回胴設定基板５４は、係員が設定した確率的なメダル払出枚数のランク設定値を示す設定キー信号などを出力している。
【００３２】
図６は、主制御基板５０の回路構成を図示したものである。なお、フォトインタラプタＰＨは、遊技者の投入したメダルを判別するための主要素子である。
【００３３】
図示の通り、主制御基板５０は、ワンチップマイコン６４と、８ｂｉｔパラレルデータを入出力するＩ／Ｏポート回路６５と、ハードウェア的に乱数値を生成するカウンタ回路６６と、演出制御基板５１などの外部基板とのインタフェイス回路とを中心に構成されている。ここで、ワンチップマイコン６４は、Ｚ８０相当品のＣＰＵコア６４ａ、ＲＯＭ、ＲＡＭなどの他に、ＣＴＣ(Counter/Timer Circuit)６４ｂや、割込みコントローラ６４ｃなどを内蔵している。
【００３４】
ＣＴＣ６４ｂは、８ｂｉｔのカウンタやタイマを集積した回路であり、Ｚ８０システムに、周期的割り込みや一定周期のパルス出力作成機能（ビットレートジェネレータ）や時間計測の機能を付与するものである。そこで、本実施例では、ＣＴＣ６４ｂを利用して、Ｚ８０ＣＰＵ６４ａに１．５ｍＳ程度の時間間隔τでタイマ割込み（図１３（ａ））をかけている。
【００３５】
インタフェイス回路としては、電源回路とのインタフェイス回路６７、遊技中継基板５３とのインタフェイス回路６８と、回胴モータ駆動回路６９と、演出制御基板と５１のインタフェイス回路７０などが設けられている。そして、電源遮断時には、インタフェイス回路６７を通して、Ｚ８０ＣＰＵ６４ａに電圧降下割込み（図１４（ａ））をかけている。なお、回胴モータ駆動回路６９は、回転リール４ａ〜４ｃのステッピングモータの駆動信号を生成する回路であり、インタフェイス回路７０は、演出制御基板５１に制御コマンドを出力するための８ビットパラレルポートである。
【００３６】
図７は、カウンタ回路６６をより詳細に例示した回路図である。図示のカウンタ回路６６は、スタートレバー１７のＯＮ操作を示す始動スイッチ信号ＳＧを受ける入力部２４と、２つのＤ型フリップフロップ２５ａ，２５ｂによる信号取得部２５と、ハードウェア乱数の下位８ビット（ＬＯＷ）を生成するＩＣカウンタ２６Ｌと、ハードウェア乱数の上位8ビット（ＨＩ）を生成するＩＣカウンタ２６Ｈとを中心に構成されている。そして、ＩＣカウンタ２６Ｈ，２６Ｌの各出力端子（ＱＡ〜ＱＨ）は、データバスを通して、ワンチップマイコン６４（ＣＰＵコア６４ａ）に接続されている。
【００３７】
入力部２４は、抵抗とコンデンサによるローパスフィルタと、シュミットトリガ型のインバータとで構成されている。そのため、負論理の始動スイッチ信号ＳＧは、論理変換されて信号取得部２５に供給される。
【００３８】
信号取得部２５は、直列接続された２つのＤ型フリップフロップ２５ａ，２５ｂで構成されている。そして、各クロック端子ＣＬＫには、基準パルスΦ（ここでは周波数８ＭＨｚ）が供給されており、基準パルスΦの立ち上がりエッヂのタイミングで、Ｄ入力端子のデータが取得されてＱ出力端子に出力される。したがって、始動スイッチ信号ＳＧがＬレベルに変化した後、２つ目の基準パルスΦの立ち上がりエッヂで、各ＩＣカウンタ２４Ｌ，２４Ｈのロック端子ＲＣＬＫが、Ｈレベルに立ち上がる。
【００３９】
基準パルスΦは、専用の発振回路によって、システムクロックとは別に発振させるのが好ましい。但し、簡易的には、ワンチップマイコン６４を動作させるシステムクロックを基準パルスΦに代用しても良い。システムクロックを基準パルスΦに代用する場合、カウンタ回路６６の出力と、タイマ割込みで更新されるソフトウェアカウンタとは広義には同期状態になるとも言えるが、後で詳述する種々の理由から、実質的には非同期状態となる。
【００４０】
２つのＩＣカウンタ２６は、いずれも、８ビットのバイナリカウンタと８ビットの出力レジスタとを内蔵している。そして、クロック端子ＣＣＬＫに供給されるクロック信号を２進カウントする一方、ロック端子ＲＣＬＫに保持信号を受けると、その瞬間のバイナリカウンタのカウンタ値が、内蔵する出力レジスタに記憶されるようになっている。なお、出力レジスタに記憶されたカウンタ値は、出力イネーブル端子ＯＥがＬレベルであることを条件に、外部出力端子（ＱＡ〜ＱＨ）に出力される。
【００４１】
図示の通り、このカウンタ回路６６では、電源電圧値（ＤＣ５Ｖ）が正常値である限り、基準パルスΦが、ＮＡＮＤゲートを経由して下位ＩＣカウンタ２６Ｌのクロック端子ＣＣＬＫに供給される。一方、上位ＩＣカウンタ２６Ｈには、下位ＩＣカウンタ２６Ｌの桁上げ信号ＲＣＯが供給されている。そのため、２つのＩＣカウンタ２６は、全体として１６ビットカウンタとして機能することになり、２つの内部カウンタは、００００Ｈ〜ＦＦＦＦＨ（１０進数６５５３５）カウンタ値の間で循環することになる。なお、添字Ｈは、以下の場合も含め、１６進数を意味する。
【００４２】
先に説明した通り、始動スイッチ信号ＳＧがＬレベルに変化すると、これに対応して、各ＩＣカウンタ２４Ｌ，２４Ｈのロック端子ＲＣＬＫがＨレベルに立ち上がり、内部のバイナリカウンタの値が出力レジスタに保持される。一方、各ＩＣカウンタ２４Ｌ，２４Ｈの出力イネーブル端子ＯＥには、ワンチップマイコン６４からチップセレクト信号ＣＳ０，ＣＳ１が供給されている。そのため、ワンチップマイコン６４は、必要時に、チップセレクト信号ＣＳ０，ＣＳ１をＬレベルに変化させることによって、ＩＣカウンタ２４Ｌ，２４Ｈに内蔵の出力レジスタが保持するデータＱＡ〜ＱＨを取得できることになる。
【００４３】
図８は、電源基板６２の回路構成を示すブロック図である。この電源基板６２は、交流２４Ｖを受けて脈流電圧に変換する整流部８０と、脈流電圧を直流５Ｖに変換する第１電圧変換部８１と、脈流電圧を直流１２Ｖに変換する第２電圧変換部８２と、脈流電圧を直流２４Ｖに変換する第３電圧変換部８３と、第１電圧変換部８１の出力電圧を蓄電する蓄電部８４と、電源遮断状態を検出して検出信号ＲＥＳを出力する電源監視部８５とで構成されている。
【００４４】
蓄電部８４は、大容量（１ファラッド程度）のコンデンサＣと、過電流用の制限抵抗ｒ１、ｒ２と、逆方向電流を阻止するダイオードＤとで構成されている。なお、制限抵抗ｒ１は７５Ω程度、制限抵抗ｒ２は１０Ω程度である。コンデンサＣの両端電圧は、バックアップ電源として、ワンチップマイコン６４に供給されている。
【００４５】
このバックアップ電源は、ワンチップマイコン６４に内蔵されたＳＲＡＭ(static ram)に供給されており、電源電圧の遮断状態でも、通常７〜８日はＲＡＭ(Random Access Memory)の記憶内容を保持するようにしている。なお、ＲＡＭの記憶容量は、この実施例では、遊技機のワークエリアとして使用される５１２バイト程度である。
【００４６】
電源監視部８５は、交流入力電圧２４Ｖの電圧レベルと、直流電源電圧５Ｖの電圧レベルとを監視している。そして、何れか一方のレベルが所定値を下回ると、検出信号ＲＥＳがＬレベルに変化するよう構成されている。瞬停や停電などの異常時には、先ず、交流入力電圧の電圧降下に対応して、検出信号ＲＥＳが素早く出力される。
【００４７】
この検出信号ＲＥＳは、主制御基板５０のインタフェイス回路６７（図６）に供給されて、正論理の異常信号ＡＬＭと、負論理の異常信号ＡＬＭバーとなる。そして、正論理の異常信号ＡＬＭがＩ／Ｏポート回路６５に供給される一方、負論理の異常信号ＡＬＭバーは、ワンチップマイコン６４の割込み端子ＩＮＴ(maskable Interrupt)に供給される。したがって、この時、ＣＰＵコア６４ａが割込み許可状態であれば、負論理の異常信号ＡＬＭバーに基づいて、図１４に示す電圧降下割込み処理が開始されることになる。
【００４８】
図６のインタフェイス回路６７には電源リセット回路も内蔵されている。そして、電源投入時には、インタフェイス回路６７で生成されたリセット信号が、ワンチップマイコン６４のリセット端子ＲＳＴ０に供給される。その結果、ＣＰＵコア６４ａがリセット状態となり、メモリの先頭アドレス以降の制御プログラムの実行が開始されることになる。
【００４９】
以上、主制御基板５０の回路構成を中心に説明したので、次に主制御基板５０のワンチップマイコン６４（以下、主制御部５０という）が実現する制御動作を説明する。
【００５０】
図９〜図１４は、主制御部５０が実行する制御プログラムを説明するフローチャートである。主制御部５０の制御プログラムは、電源投入時に開始される無限ループ状のメイン処理（図９〜図１２）と、ＣＴＣからの定時割込みで起動されるタイマ割込み処理（図１３）と、電源遮断時に電源基板６２からの検出信号ＲＥＳ（負論理の異常信号ＡＬＭバー）で起動される電圧降下割込み処理（図１４）とで構成されている。ここで、タイマ割込み、及び電圧降下割込みは、共にマスク可能な割込みであり(maskable interrupt)、本実施例ではＮＭＩ(non-maskable interrupt)を使用しない。また、タイマ割込みの割込み周期τは、１．５ｍＳ程度である。
【００５１】
先ず、図９のメイン処理から説明すると、電源が投入されると初期処理（ＳＴ１）の後、ＲＡＭのワークエリアをクリアする（ＳＴ２）。また、初期処理（ＳＴ１）において割込み禁止状態に設定されているＣＰＵを、割込み許可状態に設定する（ＳＴ２）。なお、初期処理については図１２に基づいて最後に説明する。
【００５２】
ステップＳＴ２の処理が終われば、次に、メダル投入口１２から実際に投入されたメダル、及び、投入ボタン１５、１６の押下によって擬似的に投入されたメダルについてのメダル投入処理を行う（ＳＴ３）。概略的な処理内容は、図１０（ａ）に示す通りであり、先ず、初期値カウンタＲＮＤｓの値をインクリメント（＋１）処理する（ＳＴ２２）。ここで、初期値カウンタＲＮＤｓとは、タイマ割込み（図１３）における定期更新処理（ＳＴ６３）でインクリメントされて循環する乱数カウンタＣＴについて、その初期値を決定するカウンタである。
【００５３】
この実施例では、初期値カウンタＲＮＤｓは、１６ビットのソフトウェアカウンタであり、１６ビットの乱数カウンタＣＴと同じく、０〜ＭＡＸ−１の範囲で循環させている。そのため、もしＲＮＤｓ＝ＭＡＸとなれば、初期値カウンタＲＮＤｓの値をゼロに戻すことになる（ＳＴ２３，ＳＴ２４）。但し、ＭＡＸ−１＝ＦＦＦＦＨ（１０進数では６５５３５）に設定する本実施例では、ステップＳＴ２３〜ＳＴ２４の処理は省略可能であり実際には不要である。
【００５４】
続いて、遊技者が投入又は擬似投入した投入メダルの検出処理を行う（ＳＴ２５）。なお、この検出処理には、遊技者の投入したメダルの枚数を判定する判定処理を含んでいる。そして、その後は、スタートレバー１７がＯＮ操作されるまで、ステップＳＴ２２〜ＳＴ２５の処理を繰り返す（ＳＴ２６）。このように、本実施例では、遊技者がスタートレバー１７をＯＮ操作するまでの待ち時間を利用して、初期値カウンタＲＮＤｓを更新している。そして、前回のゲーム終了から今回のスタートレバー１７のＯＮ操作までの時間は、毎回不規則に変化するので、初期値カウンタＲＮＤｓの値を不規則に更新することが可能となり、不正遊技を排除する上で効果的に寄与する。
【００５５】
以上の通り、メダル投入処理（図９のＳＴ３）は、スタートレバー１７がＯＮ操作されることで終了する。なお、先に説明したように、スタートレバー１７がＯＮ操作されると、始動スイッチ信号ＳＧがＬレベルに変化し、その瞬間のＩＣカウンタ２６Ｈ，２６Ｌに内蔵されたバイナリカウンタの値が、同じくＩＣカウンタに内蔵された出力レジスタに記憶される（図７参照）。
【００５６】
このようにしてメダル投入処理（ＳＴ２２〜ＳＴ２６）が終わると、図１０（ｂ）に詳細を示す乱数抽出処理（ＳＴ４）が実行される。乱数抽出処理では、図１０（ｂ）に示す通り、先ず、１６ビットのソフトウェアカウンタである乱数カウンタＣＴの値を、変数ＲＮＤ１に取得する（ＳＴ２７）。なお、乱数カウンタＣＴの値は、後述するタイマ割込み処理（図１３）において定期的に更新されている（ＳＴ６３３）。
【００５７】
続いて、カウンタ回路６６から、下位８ビットのデータを変数ＬＯＷに取得する（ＳＴ２８）。具体的な動作内容をハードウェア的に追加説明すると以下の通りである。ＣＰＵコア６４ａは、ＬＤ命令やＩＮ命令の命令実行として、最初に、下位ＩＣカウンタ２６Ｌに付与されたアドレス番号又はポート番号をアドレスバスに出力する。すると、そのアドレス番号又はポート番号が、不図示のデコーダでデコードされて、チップセレクト信号ＣＳ０がＬレベルとなる。
【００５８】
すると、下位ＩＣカウンタ２６Ｌが出力イネーブル状態となり、内部レジスタの値がデータバスに出力される。データバスに出力されたデータはＣＰＵコア６４ａに取得されるが、ここで取得される８ビットデータは、スタートレバー１７がＯＮ操作された瞬間（ＳＴ２６）における、下位ＩＣカウンタ２６Ｌに内蔵のバイナリカウンタのカウンタ値である。
【００５９】
このようにして、スタートレバーがＯＮ操作された瞬間の下位ＩＣカウンタ２６Ｌのカウンタ値が取得されるので、次に、カウンタ回路６６から上位８ビットのデータを変数ＨＩに取得する（ＳＴ２９）。ハードウェア的な動作内容は、上記の場合と同様であり、ＣＰＵコア６４ａは、最初に、上位ＩＣカウンタ２６Ｈに付与されたアドレス番号又はポート番号をアドレスバスに出力する。すると、そのアドレス番号又はポート番号がデコーダによってデ゛コードされて、チップセレクト信号ＣＳ１がＬレベルとなる。
【００６０】
すると、上位ＩＣカウンタ２６Ｈが出力イネーブル状態となって、内部レジスタの値がデータバスに出力される。データバスに出力されたデータはＣＰＵコア６４ａに取得されるが、取得される８ビットデータは、スタートレバー１７がＯＮ操作された瞬間（ＳＴ２６）における、上位ＩＣカウンタ２６Ｈに内蔵のバイナリカウンタのカウンタ値である。
【００６１】
以上の処理が終われば、次に、変数ＲＮＤ２のランダム性を高めるため、変数HIのデータを３ビット右方向にローテーション処理した後、その後の変数ＨＩの上位３ビットをマスクする（ＳＴ３０）。具体的には、変数ＨＩの値と定数１ＦＨとのＡＮＤ演算を実行して演算結果を変数ＨＩに格納する。その後、乱数カウンタＣＴの取得値である変数ＲＮＤ１の上位８ビットを変数ＢＵＦに取得し、変数ＢＵＦの値を３ビット右方向にローテンション処理を行う（ＳＴ３１）。なお、上記した各ローテーション処理では、キャリビットＣＹを含まない８ビットデータを、上位ビットから下位ビットに向けてシフトさせる一方、最下位ビットを最上位ビットにシフトさせる。
【００６２】
以上のローテーション処理が終われば、変数ＢＵＦの下位５ビットをマスクするため、変数ＢＵＦの値と定数Ｅ０ＨとのＡＮＤ演算を実行して、演算結果を変数ＢＵＦに格納する（ＳＴ３２）。また、マスク処理後の変数ＢＵＦの値と、変数ＨＩの値とをＯＲ演算して、その結果を変数ＨＩに格納する（ＳＴ３３）。そして最後に、変数ＨＩと変数ＬＯＷの値を連結させて１６ビット長の乱数値ＲＮＤ２とする。なお、この乱数値ＲＮＤ２に対応して、以下の説明では、変数ＲＮＤ１を乱数値ＲＮＤ１と称することがある。
【００６３】
図１０（ｃ）〜（ｅ）は、図１０（ｂ）に示す演算処理の内容を図示したものである。図１０（ｃ）に示すように、ステップＳＴ２７の処理の結果、変数ＲＮＤ１（乱数値ＲＮＤ１）の上位８ビット値は、［ｂ７ｂ６・・・・ｂ０］となり、また、図１０（ｄ）に示すように、ステップＳＴ２９の処理の結果、変数ＨＩの８ビット値は、［Ｂ７ Ｂ６・・・・Ｂ０］となる。そして、その後、ステップＳＴ３０〜ＳＴ３３の処理を経ることによって、変数ＨＩの８ビット値が［ｂ２ ｂ１ ｂ０ Ｂ７ Ｂ６ Ｂ５ Ｂ４ Ｂ３］となる。
【００６４】
ここで、［ｂ２ ｂ１ ｂ０ Ｂ７ Ｂ６ Ｂ５ Ｂ４ Ｂ３］で表される乱数値ＲＮＤ２について更に検討する。図１０（ｃ）から明らかなように、乱数カウンタＣＴ上位バイトの下位３ビットデータ［ｂ２ｂ１ ｂ０］は、２５６回のタイマ割込みによって２５６×τ≒３８４ｍＳ程度の時間間隔で更新されて、０００〜１１１の範囲で循環する。したがって、［ｂ２ｂ１ ｂ０］の循環周期は、８×２５６×τ≒３．０７２秒程度となる。
【００６５】
一方、カウンタ回路６６から取得した変数ＨＩの上位５ビットデータ［Ｂ７ Ｂ６ Ｂ５ Ｂ４ Ｂ３］は、２５６×８個の基準パルスΦ（周波数８ＭＨｚ）を受ける毎に、２５６×８／Φ＝２５６μＳの時間間隔で、更新されて０００００〜１１１１１の範囲で循環する。したがって、［Ｂ７Ｂ６ Ｂ５ Ｂ４ Ｂ３］の循環周期は、３２×２５６μＳ＝８．１９２ｍ秒である。
【００６６】
以上の関係を整理すると、乱数値ＲＮＤ２（の上位バイト）の上位３ビットデータ［ｂ２ｂ１ ｂ０］の更新周期が３８４ｍＳ程度であるのに対して、乱数値ＲＮＤ２の下位５ビットデータ［Ｂ７Ｂ６ Ｂ５ Ｂ４ Ｂ３］の循環周期は８．１９２ｍｓである。ここで、上位３ビットの更新周期３８４ｍＳと、下位５ビットの循環周期８．１９２ｍＳとの間には、３８４≫８．１９２の関係が成立しており、具体的には、上位３ビットが＋１される間に、下位５ビットは４６回以上循環するので、乱数値ＲＮＤ２には実質的な乱数一様性が保証される。
【００６７】
そこで、本実施例では、乱数値ＲＮＤ２を用いて小役の当否抽選を行っている。ここで、小役とは、高確率の当選確率が複数ゲームにわたって継続されるボーナスゲーム（ＢＢ／ＲＢ）に比べると、ゲーム価値が相対的に低い当選役を意味する。一方、乱数値ＲＮＤ１は、ソフトウェアカウンタである乱数カウンタＣＴからの取得値であり、本実施例では、この乱数値ＲＮＤ１に基づいてボーナスゲームの抽選を行っている。
【００６８】
すなわち、上記した乱数抽出処理（図１０（ｂ）のＳＴ２７〜ＳＴ３４）が終われば、２つの乱数値ＲＮＤ１，ＲＮＤ２に基づいて図柄抽選処理が実行される（図９のＳＴ５）。この図柄抽選処理で決定される当選役には、ＢＢ（ビッグボーナス）当り、ＲＢ（レギュラーボーナス）当り、その他の小役当りが設けられている。小役当りには、２〜１５枚程度の配当メダルが払出されるフルーツ図柄当り（小役１〜小役３）と、再ゲームが可能なリプレイゲーム当り（小役４）とが含まれる。
【００６９】
本実施例では、ＲＢ（レギュラーボーナス）当りは、最高１２ゲームの範囲内で、ジャックゲームなどと称される高価値のゲームが最高８回実行可能な当選役を意味する。ジャックゲームとは、例えば、メダル１枚の投入で１５枚程度のメダルが払い出されるゲームである。一方、ＢＢ（ビッグボーナス）当りは、ＲＢ当り状態が繰り返し実現される当選役であり、例えば、４６５枚程度のメダルが払出されるまで、このビッグボーナスゲームが継続される。
【００７０】
但し、このような高価値のボーナスゲーム（ＲＢ／ＢＢ）は、仮に、機器内部の抽選処理で当選状態となっても（ボーナス内部当選状態という）、回転リール４ａ〜４ｃの該当図柄を所定の停止ラインに揃えない限り実行が開始されない。しかも、ボーナス内部当選状態となったゲームで直ちに該当図柄を所定の停止ラインに揃えることは容易でないことから、ボーナス内部当選状態は、それが実効化されるまで、継続して保持されるようになっている。
【００７１】
図１１（ａ）は、図柄抽選処理（ＳＴ５）の具体的内容を例示したフローチャートである。この実施例では、ボーナス内部当選状態となると、その後は、ＢＢ役やＲＢ役には当選しないようにしている。そのため、ＢＢやＲＢの内部当選状態であれば、ステップＳＴ３６，ＳＴ３７の処理がスキップされる（ＳＴ３５）。
【００７２】
一方、ステップＳＴ３５の判定がＮＯであれば、ボーナスゲーム用の抽選テーブルＴＢＬ１を参照して、ＲＢ当選か、ＢＢ当選か、外れかが、乱数値ＲＮＤ１に基づいて決定される（ＳＴ３６）。なお、各スロットマシンは、遊技ホールによって、メダル払出枚数の期待値に応じた六段階の何れかのランクに設定されているので、そのランクに対応するボーナスゲーム用抽選テーブルＴＢＬ１が選択される。
【００７３】
図１１（ｂ）は、ボーナスゲーム用抽選テーブルＴＢＬ１を概念的に例示している。図示の通り、００００Ｈ〜ＦＦＦＦＨの数値範囲の中で、ＢＢ当りの数値範囲とＲＢ当りの数値範囲が特定されている。一方、ソフトウェア的に生成された乱数値ＲＮＤ１の値も、００００Ｈ〜ＦＦＦＦＨの数値範囲で循環しているので、乱数値ＲＮＤ１の値が、ＢＢ当りの数値範囲や、ＲＢ当りの数値範囲に含まれる場合には当選状態となる。
【００７４】
ステップＳＴ３６の当否判定が終われば、当否状態を示すボーナスフラグＦＧがセットされる（ＳＴ３７）。この実施例では、ボーナスフラグＦＧは８ビット構成であり、例えば、ＢＢ内部当選であれば２０Ｈ、ＲＢ内部当選であれば１０Ｈ、外れであれば００Ｈとなる。このボーナスフラグＦＧの値は、ボーナスゲームが開始されるまでリセットされないので、先に説明した通り、ボーナス内部当選状態は、それが実効化されるまで継続して保持されることになる。
【００７５】
続いて、小役用の抽選テーブルＴＢＬ２を参照して、乱数値ＲＮＤ２に基づいて小役の当否状態が決定される（ＳＴ３８）。なお、遊技ホールが設定したランク設定値に対応する抽選テーブルＴＢＬ２が選択されるのは、ステップＳＴ３６の処理の場合と同じである。そして、ステップＳＴ３８の当否結果は、抽選結果フラグＡＮＳに保存される（ＳＴ３９）。本実施例の場合、抽選結果フラグＡＮＳは８ビット構成であり、ステップＳＴ３８の当否結果とボーナスフラグＦＧの値とがＯＲ演算された値となる。したがって、例えば、４種類の小役当選状態が０１Ｈ，０２Ｈ，０４Ｈ，０８Ｈのフラグ値で特定される場合には、ＢＢ内部当選状態における小役１〜小役４の当選状態は、２１Ｈ，２２Ｈ，２４Ｈ，２８Ｈの抽選結果フラグＡＮＳの値で特定されることになる。
【００７６】
図１１（ｃ）は、小役用の抽選テーブルＴＢＬ２を概念的に例示したものである。図示の通り、００００Ｈ〜ＦＦＦＦＨの数値範囲の中で、リプレイ当りを含む小役当選の数値範囲が特定されている。一方、ハード乱数とソフト乱数を組み合わせて生成された乱数値ＲＮＤ２の値も、００００Ｈ〜ＦＦＦＦＨの数値範囲で不規則に変化している。そして、この乱数値ＲＮＤ２の値が、小役当りの数値範囲に含まれる場合には当選状態となる。
【００７７】
図１１（ｂ）と図１１（ｃ）とを対比すると明らかな通り、乱数値ＲＮＤ２の値は、ボーナスゲーム（ＢＢ／ＲＢ）の当選に、直接全く関連しない。つまり、ＲＮＤ１＝Ｈｉｔの状態でＢＢ当選となる場合、仮にＲＮＤ２＝Ｈｉｔとなっても、ＢＢ当選には何も関連しない。また、乱数値ＲＮＤ２と乱数値ＲＮＤ１との間にも、規則的な関連性がないので、乱数値ＲＮＤ２の値に基づいてＲＮＤ１＝Ｈｉｔとなるタイミングを探ることもできない。
【００７８】
しかも、乱数値ＲＮＤ２は、乱数値ＲＮＤ１のような単純増加や単純減少の変化ではなく、不規則な変化をする。すなわち、本実施例では、乱数値ＲＮＤ２の上位８ビットが極めて不規則に変化する。しかも、その上位８ビットの更新周期２５６μＳ（＝２５６×８／８ＭＨｚ）も、乱数値ＲＮＤ１の更新周期τ×２５６（≒３８４ｍＳ）より格段に高速である。
【００７９】
したがって、不正遊技者が体感器などの違法器具を利用して、乱数値ＲＮＤ１とボーナス当りとの関係を探ろうとしても不可能である。すなわち、不正遊技者が、乱数値ＲＮＤ１の循環周期（τ×６５５３６）、及びＲＢ役やＢＢ役の当選範囲を知ったとしても、乱数値ＲＮＤ１がボーナスゲームの当選範囲に入るタイミングを、小役当選タイミングから探ることはできない。しかも、乱数値ＲＮＤ１の基礎となる乱数カウンタＣＴは、循環範囲６５５３６を一巡する毎に循環初期値が変更されるので、不正遊技は事実上不可能となる。
【００８０】
以上のような乱数値ＲＮＤ１，ＲＮＤ２による図柄抽選処理（図９のＳＴ５）が終われば、次に、回転リール４ａ〜４ｃを回転させるための準備作業を行い、タイマ割込みによる回転リール４ａ〜４ｃの回転を可能にし（ＳＴ６）、その後、ストップボタン１８ａ〜１８ｃが押されたら、対応する回転リール４ａ〜４ｃを停止させる回胴停止処理を行う（ＳＴ７）。
【００８１】
ここでは、図柄抽選処理（ＳＴ５）の当否結果に沿うように、停止制御が実行される。すなわち、図柄抽選処理（ＳＴ５）の結果、何らかの内部当選状態であれば、遊技者の適切な停止操作を条件として、当選結果に合うよう回転リール４ａ〜４ｃの図柄を整列させる。但し、遊技者がストップボタンを押すタイミングが不適切である場合には、外れ状態の図柄で停止される。この結果、折角の小役当選も無駄になるが、ボーナス当選については、次回のゲーム以降も持ち越される。
【００８２】
このようにして、全ての回転リール４ａ〜４ｃが停止したら、有効な停止ライン上に、当選図柄が揃ったか否かが判定され（ＳＴ８）、必要数のメダルが払出される（ＳＴ９）。
【００８３】
そして、リプレイ図柄が揃っているか否か判定され（ＳＴ１０）、リプレイ図柄が揃っている場合には、再遊技動作の開始処理（ＳＴ１１）を実行した後、ステップＳＴ２に移行する。リプレイ図柄が揃っていない場合には、ＲＢ図柄が揃っているか否か判定され、ＲＢ図柄が揃っている場合には、レギュラーボーナスの開始処理（ＳＴ１３）を実行した後、ステップＳＴ２に移行する。また、現在がレギュラーボーナスゲーム中であるか否か判定され（ＳＴ１４）、レギュラーボーナスゲーム中であれば必要な処理（ＳＴ１５）を実行した後、ステップＳＴ２に移行する。
【００８４】
一方、ステップＳＴ１４の判定がＮＯの場合には、ＢＢ図柄が揃っているか否か判定され（ＳＴ１６）、ＢＢ図柄が揃っている場合には、ビッグボーナスの開始処理（ＳＴ１７）を実行した後、ステップＳＴ２に移行する。また、現在がビッグボーナスゲーム中であるか否か判定され（ＳＴ１８）、ＮＯであれば何もしないでステップＳＴ２に移行する。一方、ビッグボーナスゲーム中であれば、ビッグボーナスゲームに必要な処理（ＳＴ１９）を実行した後、ビッグボーナスゲームの終了条件を満たすか否か判定される（ＳＴ２０）。そして、判定結果がＮＯの場合には、何もしないでステップＳＴ２に移行するが、判定結果がＹＥＳの場合には、ＢＢゲーム中に使用したＲＡＭエリアも含めワークエリアをクリアしてステップＳＴ２に移行する。
【００８５】
続いて、図１３（ａ）に示すタイマ割込み処理について説明する。なお、このタイマ割込み処理は、ワンチップマイコン６４内部のＣＴＣからのマスク可能な割込み信号（タイマ信号）に基づいて、一定時間間隔τで起動される。
【００８６】
タイマ割込みがかかると、ＣＰＵのレジスタを退避した後（ＳＴ６０）、ポート入力処理を行う（ＳＴ６１）。ポート入力処理では、始動スイッチ、停止スイッチ、貯留メダルスイッチ、清算スイッチ、ドアスイッチなど、スロットマシンに配置された全てのスイッチからの信号が、Ｉ／Ｏポート回路６５を通して入力される。また、ポート入力処理では、フォトインタラプタＰＨ１、ＰＨ２からの検出信号Ｓ１，Ｓ２も、Ｉ／Ｏポート回路６５を通して入力される。
【００８７】
次に、３つの回転リール４ａ〜４ｃの現在位置を常に把握するために、回胴回転制御処理が実行される（ＳＴ６２）。主制御部５０は、インデックセンサからの入力信号の入力タイミングと、その後、ステッピングモータに供給する駆動パルスの個数によって、各回転リール４ａ〜４ｃの現在位置を把握することができる。なお、回胴回転制御処理（ＳＴ６２）では、回転リール４ａ〜４ｃの起動処理や停止処理も実施しており、例えば、停止状態から定速回転まで、段階的に回転リールを加速させる駆動信号も生成している。
【００８８】
回胴回転制御処理（ＳＴ６２）が終われば、定期更新処理を実行する（ＳＴ６３）。図１３（ｂ）は、定時更新処理の具体的内容を図示したものである。先ず、ワンチップマイコン６４に内蔵されているウォッチドッグタイマをクリアする（ＳＴ６３１）。なお、プログラムが暴走するなどして、このクリア処理が実行されないと、ウォッチドッグタイマが限界値までカウントアップされて、ＣＰＵコア６４ａが自動的にリセットされてプログラム暴走状態から復帰することになる。
【００８９】
次に、遊技動作を管理する各種のソフトウェアタイマ値が、デクリメント処理（−１）によって更新され（ＳＴ６３２）、また、乱数カウンタＣＴがインクリメント（＋１）される（ＳＴ６３３）。先に説明した通り、この乱数カウンタＣＴの値は、ボーナスゲーム用の抽選テーブルＴＢＬ１を参照する乱数値ＲＮＤ１として活用される（図１１（ｂ）参照）。
【００９０】
そのため、乱数カウンタＣＴの値が数値範囲ＭＡＸを越えれば、乱数カウンタＣＴがゼロにもどされる（ＳＴ６３４，ＳＴ６３５）。但し、この実施例では、乱数カウンタを１６ビットカウンタとし、数値範囲を６５５３６としているので、ＳＴ６３４，ＳＴ６３５の処理は省略可能であり、実際には不要である。
【００９１】
次に、乱数カウンタＣＴの値が、カウンタ初期値を示す変数ＢＧＮの値に一致するか否かが判定され（ＳＴ６３６）、もし一致すれば初期値カウンタＲＮＤｓの値を、乱数カウンタＣＴに代入すると共に、初期値変数ＢＧＮにも代入してこのサブルーチン処理を終える（ＳＴ６３７）。
【００９２】
したがって、最初、例えば、ＢＧＮ＝６７８であり、ＲＮＤｓ＝２００８９であったとすると、乱数カウンタＣＴの値は、６７６→６７７→６７８（２００８９）→２００９０→２００９１→・・・・６５５３５→０→１・・・・２００８８と変化する。そして、その後、乱数カウンタＣＴの値が２００８９に達した段階で、乱数カウンタＣＴのその後の初期値が、その時の初期値変数ＢＧＮの値に基づいて変更される。
【００９３】
以上の通り、乱数カウンタＣＴの値は、数値範囲６５５３６を一周する毎に、その後の初期値を不規則に変更される。そのため、この意味でも、不正遊技が有効に防止されることになる。
【００９４】
以上のような定期更新処理（ＳＴ６３）が終わると、次に、演出制御部５１に対して制御コマンドの１バイト分を出力する（ＳＴ６４）。１つの制御コマンドは２バイト長であるので、連続する二回のタイマ割込みで１つの制御コマンドを送信することになる。なお、制御コマンドは、主制御部５０の遊技状態を示すもので、スタートレバー１７やストップボタン１８ａ〜１８ｃが操作されたことも含んだ遊技状態が、制御コマンドによって演出制御部５１に通知される。これのような制御コマンドを受けた演出制御部５１ではＬＥＤランプを点灯させたり、効果音を発生させるべく制御動作を実行する。
【００９５】
次に、メダル情報出力処理を実行して、外部集中端子板５６に対して、例えば、各々１ビット信号であるメダル投入信号やメダル払出信号を出力する（ＳＴ６５）。このメダル投入信号や払出信号によって、ホールコンピュータＨＣは、各スロットマシンＳＬの投入されたメダル数や、各スロットマシンＳＬから払出されたメダル数を把握することができる。また、主制御部５０は、各ＬＥＤランプ群を駆動するための駆動データを、遊技中継基板５３や回胴中継基板５７に対して出力する（ＳＴ６６）。
【００９６】
その後、退避しておいたレジスタを復帰させた後（ＳＴ６７）、ＣＰＵを割込み許可状態に設定して割込み処理を終える（ＳＴ６８）。このように、本実施例では、タイマ割込みが開始されると、その処理が終わるまで、電圧降下割込みの開始が待たされることになる。しかし、本実施例では、交流入力電圧の低下に基づいて迅速に電圧降下割込みがかかり、しかも、タイマ割込みの処理はτ（≒１．５ｍｓ）の時間内に終了するので、ＮＭＩを使用しないことに何の弊害もない。
【００９７】
続いて、図１４に基づいて、電源遮断時の電圧降下割込み処理を説明する。既に説明した通り、このスロットマシンＳＬでは、遊技状態を示す各データを一時的に保存するＲＡＭのワークエリア（ＳＲＡＭ）は、バックアップ電源でバックアップされており、電源の遮断状態に係わらず、通常は７〜８日は記憶内容が保護される。また、電源基板６２の電源監視部８５は、交流入力電圧（ＡＣ２４Ｖ）と電源電圧（ＤＣ５Ｖ）の値を常時監視しており、何れかの値が異常値まで低下すると、負論理の異常信号ＡＬＭバーがＬレベルに変化して、ＣＰＵコア６４ａに電圧降下割込みをかけるようにしている。また、正論理の異常信号ＡＬＭは、Ｉ／Ｏポート回路６５を通してＣＰＵコア６４ａに入力可能に構成されている（図６参照）。
【００９８】
したがって、電圧降下割込みでは、最初に異常信号ＡＬＭをＩ／Ｏポート回路６５から入力して、そのレベルを確認する（ＳＴ７０）。これはノイズなどによる異常割込みを排除するためであり、もし取得した異常信号ＡＬＭが電圧低下を意味しない正常値ならそのまま割込み処理を終える（ＳＴ７１）。
【００９９】
逆に、異常信号ＡＬＭが電圧低下を意味する異常値なら、レジスタを退避した後（ＳＴ７２）、スタックポインタを退避する（ＳＴ７３）。次に、コンデンサＣ（図８）でバックアップされるワークエリアに、所定の８ビットデータ（電源断キーワード）を格納する（ＳＴ７４）。これは、電源遮断時にレジスタ類が正しくスタック領域に格納されたことを意味するデータであり、言い換えると、電源が復旧した際に、ステップＳＴ７２，７３で保存したデータを使用して良いことを意味するデータである。
【０１００】
以上の処理が終われば、ＲＡＭをアクセス不能に設定すると共に（ＳＴ７５）、出力ポートをＯＦＦ状態に設定して（ＳＴ７６）、その後は無限ループ処理に突入する。通常は、その後電源電圧が更に低下して、主制御部５０は動作不能となる。但し、その後、電源が復旧すると、主制御部５０は、電源断キーワードを確認した後、退避処理（ＳＴ７２，ＳＴ７３）したレジスタを復帰することで遊技状態を復元することが可能となる。
【０１０１】
最後に、図１２に基づいて、メイン処理の初期処理（図９のＳＴ１）について説明する。初期処理では、最初にＣＰＵを割込み禁止状態に設定する（ＳＴ４０）。本実施例では、電圧降下割込みは、ＮＭＩを使用しないので、電圧降下割込みが重複してかかっても、その割込み処理は待たされることになり、スタックエリアの無駄使いはない。なお、電圧降下割込み（図１４）の開始が待たされても、本実施例では、交流入力電圧の低下に基づいて素早く電圧降下割込みがかかっているので、弊害が生じることはない。
【０１０２】
続いて、異常信号ＡＬＭのレベルを判定し（ＳＴ４１）、これが正常値（Ｌレベル）になるまで次の処理に移行しない（ＳＴ４２）。そのため、電源復帰時に電源監視部８５から発生する検出信号ＲＥＳ（機能的にはリセット信号）が、万一、Ｌレベルのままでも、これがＨレベルに達するまで待機することになる。
【０１０３】
次に、ステップＳＴ７４の処理が保存された電源断キーワードを判定し（ＳＴ４３）、これが正常値か否かが判定される（ＳＴ４４）。そして、万一、異常値であれば設定キーに関する処理などを行った後（ＳＴ４５）、図９のステップＳＴ２に移行する。なお、設定キーは、確率的なメダル払出枚数の設定値（ランク）などを係員が設定するためのキーである。
【０１０４】
設定キーがＯＦＦ状態であれば、電源遮断前の状態（通常は前日の状態）を復元すれば足りるので、ステップＳＴ７３で退避されたスタックポインタの値を復帰させ（ＳＴ４８）、またバックアップされているワークエリアの値に基づいて出力ポートの状態を復元する（ＳＴ４９）。
【０１０５】
そして、電源断キーワードをゼロクリアする（ＳＴ５０）。そのため、これ以降で、ウォッチドックタイマによってＣＰＵがリセットされたような場合には、ステップＳＴ４４の判定がＮＯとなり、ステップＳＴ２のＲＡＭクリア処理が実行されることになる。
【０１０６】
ステップＳＴ５０の処理が終われば、レジスタを復帰させた後にＣＰＵを割込み許可状態に設定し（ＳＴ５１、ＳＴ５２）、リターン命令を実行する。すると、スタックエリアに保存されていた戻りアドレスがプログラムカウンタに復帰して、電源遮断時に中断された処理が再開されることになる。
【０１０７】
以上、本発明の実施例について具体的に説明したが、具体的な記載内容は特に本発明を限定する趣旨ではなく、適宜に変更可能である。例えば、実施例では、乱数値ＲＮＤ１として、乱数カウンタＣＴの値をそのまま使用したが、この方法に限定される必要はなく、乱数カウンタＣＴの取得値と、カウンタ回路６６の取得値とを適宜に組み合わせて乱数値ＲＮＤ１としても良い。但し、乱数としての発生一様性が正確に確保される必要がある。
【０１０８】
また、実施例では、２つの乱数値ＲＮＤ１，ＲＮＤ２に対応して、２つの抽選テーブルＴＢＬ１，ＴＢＬ２を設けたが、単一の抽選テーブルＴＢＬに纏めても良い（図１１（ｄ）参照）。すなわち、乱数値ＲＮＤ１と乱数値ＲＮＤ２との間の関連性や規則性を排除すれば、抽選テーブルを共通化しても、乱数値ＲＮＤ２による小役当選のタイミングに基づいて、ＢＢ当りなどのタイミングを探ることはできない。なお、抽選テーブルとして概念図だけを示したが、乱数値ＲＮＤと当選値Ｈｉｔとの関係を特定するものであれば、具体的構成は問わない。
【０１０９】
また、本実施例では、２つの乱数値ＲＮＤ１，ＲＮＤ２を採用したが、乱数値を３つ以上設けても良いのは勿論である。要するに、当選確率の低い図柄（ＢＢ図柄及び／又はＲＢ図柄）の当否抽選に用いる乱数値を、相対的に当選確率の高い図柄（小役図柄）の当否抽選に用いる乱数値と実質的に分離して、互いの関連性を排除するのが本発明の趣旨である。
【０１１０】
更にまた、実施例では、初期値カウンタＲＮＤｓを更新する処理を、メダル投入処理（ＳＴ３）の中に設けているが（ＳＴ２２〜ＳＴ２６）、ランダムな処理時間を確保できれば、その他の部分に設けることもできる。典型的には、例えば、回胴停止処理（ＳＴ７）における、停止ボタンの入力待ち時間や、図柄停止処理に要する時間を利用することが考えられる。その他、初期値カウンタＲＮＤｓを一箇所で更新するのではなく、複数の箇所において、初期値カウンタＲＮＤｓを更新するもの好適である。
【０１１１】
なお、上記した実施例では、ソフトウェアカウンタＣＴとカウンタ回路６６とを設けているが、このような構成に何ら限定されるものではなく、ソフトウェアカウンタのみを利用するか、或いは、カウンタ回路のみを利用して、適宜な演算によって乱数値ＲＮＤ１，ＲＮＤ２を生成しても良いのは勿論である。
【０１１２】
その他、上記した実施例では、乱数値ＲＮＤ２の上位バイトを生成するのに、ソフトウェアカウンタの上位バイトの一部と、カウンタ回路の上位バイトの一部を使用したが、乱数値ＲＮＤ１，ＲＮＤ２の発生一様性が実質的に確保できるものであれば、その他の任意の組合せが許容される。
【図面の簡単な説明】
【０１１３】
【図１】実施例に係るスロットマシンの正面図である。
【図２】図１のスロットマシンの右側面図（ａ）と平面図（ｂ）である。
【図３】スロットマシンの前面パネルを背面から図示した図面である。
【図４】スロットマシンの本体ケースの内部正面図である。
【図５】図１のスロットマシンの回路構成を示すブロック図である。
【図６】主制御基板の回路構成を示すブロック図である。
【図７】カウンタ回路を示す回路図である。
【図８】電源基板の回路構成を示すブロック図である。
【図９】主制御部におけるメインルーチンを説明するフローチャートである。
【図１０】メインルーチンの一部であるメダル投入処理と乱数抽出処理を説明する図面である。
【図１１】メインルーチンの一部である図柄抽選処理を説明する図面である。
【図１２】メインルーチンの初期処理を示すフローチャートである。
【図１３】主制御部におけるタイマ割込みルーチンを示すフローチャートである。
【図１４】主制御部における電源降下割込みルーチンを示すフローチャートである。
【図１５】従来のスロットマシンの問題点を説明する図面である。
【符号の説明】
【０１１４】
ＲＮＤ１            特別乱数値
ＲＮＤ２            普通乱数値
ＳＴ３５〜ＳＴ３９  抽選手段
ＳＴ７              停止手段
ＳＬ                遊技機（スロットマシン）
【図１】
0004510737.tif 000002
【図２】
0004510737.tif 000003
【図３】
0004510737.tif 000004
【図４】
0004510737.tif 000005
【図５】
0004510737.tif 000006
【図６】
0004510737.tif 000007
【図７】
0004510737.tif 000008
【図８】
0004510737.tif 000009
【図９】
0004510737.tif 000010
【図１０】
0004510737.tif 000011
【図１１】
0004510737.tif 000012
【図１２】
0004510737.tif 000013
【図１３】
0004510737.tif 000014
【図１４】
0004510737.tif 000015
【図１５】
0004510737.tif 000016