(57)【要約】【課題】可変表示装置の制御パターンの選択処理及び異常入賞判定の処理を効率的に行うことができるとともに、ゲームの公平性を図ることができるスロットマシンを提供すること。【解決手段】ＣＰＵ４１ａは、内部抽選の結果に対して一意的に割り当てられた当選番号から算出されるアドレスから特定される停止制御用データを選択する。また、当選番号に基づいて異常入賞判定用フラグを作成し、異常入賞か否かの判定を行う際には、異常入賞判定用フラグと入賞図柄フラグとを論理積演算し、その演算結果が０か否かによって判定する。また、ＣＢ中においては、内部抽選の結果に関わらず全小役の当選を示す当選番号を設定する。また、起動時にＲＡＭのデータを異常と判定した場合に、設定変更操作により設定値が設定されるまでゲームを不能動化する。【選択図】図１２
2010279783.tif 000002
【特許請求の範囲】
【請求項１】
遊技用価値を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示装置の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシンであって、
遊技の制御を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有するデータ記憶手段と、
所定の設定操作手段の操作に基づいて、入賞の発生が許容されるか否かが決定される割合が異なる複数種類の許容段階のうちから、いずれかの許容段階を選択する許容段階選択手段と、
前記許容段階選択手段により選択された許容段階を示すデータを前記データ記憶手段の記憶領域に割り当てられた許容段階記憶領域に設定する許容段階設定手段と、
前記可変表示装置の表示結果が導出される前に、前記許容段階記憶領域に記憶されている許容段階を示すデータを読み出し、該読み出したデータが示す許容段階に応じた割合で入賞について発生を許容するか否かを決定する手段であり、１ゲームにつき複数種類の入賞の発生を許容する旨の決定を行うことが可能な事前決定手段と、
前記データ記憶手段に記憶されているデータが正常か否かを判定する記憶データ判定手段と、
前記記憶データ判定手段により前記データ記憶手段に記憶されているデータが正常ではないと判定されたときに、ゲームの進行を不能化する不能化手段と、
前記不能化手段により前記ゲームの進行が不能化された状態において、前記設定操作手段の操作に基づいて前記許容段階設定手段により前記許容段階が新たに設定されたことを条件に、前記ゲームの進行が不能化された状態を解除し、ゲームの進行を可能とする不能化解除手段と、
を備え、
前記スロットマシンは更に、
前記事前決定手段の決定結果に関わらず、特定の種類の入賞の発生が一律に許容される特定遊技状態に制御する特定遊技状態制御手段と、
前記可変表示装置に表示結果を導出させる際に用いる導出制御データを格納する導出制御データ格納領域を含むデータ格納手段と、
前記特定遊技状態以外の遊技状態において、ｎ（ｎは正の整数）ずつ増加する値であり、前記事前決定手段の決定結果に対応して一意的に定められた複数の決定番号から、前記事前決定手段の決定結果に対応する決定番号を設定する決定番号設定手段と、
前記特定遊技状態以外の遊技状態において、前記決定番号設定手段により設定された決定番号を用いて、前記データ格納手段の格納領域に割り当てられたアドレスであり、前記決定番号に応じた決定番号別アドレスを算出するアドレス算出手段と、
前記特定遊技状態において、前記事前決定手段の決定結果に関わらず、特定用アドレスを設定する特定用アドレス設定手段と、
前記アドレス算出手段により算出された決定番号別アドレスまたは前記特定用アドレス設定手段により設定された特定用アドレスのいずれか一方のアドレスに基づいて、前記導出制御データ格納領域に格納されている導出制御データからいずれかの導出制御データを選択する導出制御データ選択手段と、
前記導出制御データ選択手段により選択された導出制御データに基づいて前記可変表示装置に表示結果を導出させる制御を行う導出制御手段と、
入賞の種類毎に割り当てられたビット毎に該入賞が当該ゲームにおいて許容されているか否かを特定可能な異常入賞判定用データを設定する異常入賞判定用データ設定手段と、
前記可変表示装置の表示結果が導出された後、該導出された表示結果に基づいて入賞の種類毎に割り当てられたビット毎に該入賞が発生したか否かを特定可能な入賞結果データを設定する入賞結果データ設定手段と、
前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算する演算手段と、
前記演算手段により算出された各ビットの値に基づいて異常入賞か否かを判定する異常入賞判定手段と、
を備え、
前記異常入賞判定用データ設定手段は、前記特定遊技状態以外の遊技状態においては、入賞の種類毎に割り当てられたビットのうち、前記事前決定手段により許容する旨が決定されている入賞に対して割り当てられたビットの値を入賞が許容されている旨を示す値とする通常異常入賞判定用データを前記異常入賞判定用データに設定し、前記特定遊技状態においては、前記事前決定手段により前記特定の種類の入賞の発生を許容する旨が決定されているか否かに関わらず、入賞の種類毎に割り当てられたビットのうち、前記特定の種類の入賞に対して割り当てられたビットの値を特定の入賞が許容されている旨を示す値とする特定異常入賞判定用データを前記異常入賞判定用データに設定する、
ことを特徴とするスロットマシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々が識別可能な複数種類の図柄を変動表示可能な可変表示装置の表示結果に応じて所定の入賞が発生可能なスロットマシンに関する。
【背景技術】
【０００２】
従来、この種のスロットマシンとしては、入賞の発生を許容するか否かを決定する内部抽選を行い、この内部抽選において入賞に当選したときに、当選した入賞を示す当選フラグを設定し、当選フラグを参照して、例えば複数のリールからなる可変表示装置に当選した入賞に対応する役（図柄の組み合わせ）が揃うように制御し、揃った入賞役に応じて入賞を発生させるものが一般的である。
【０００３】
当選フラグは、入賞役毎に割り当てられたビットの値を１とすることで設定するものが一般的である。例えば、８種類の入賞役がある場合において、いずれか１つの入賞役が当選した場合には、当選した入賞役に割り当てられたビットの値を１とし、他の値を０とすることで、当該入賞役が当選した旨を示す当選フラグが設定されることとなり、これら各入賞役に割り当てられたビットの値を参照することで可変表示装置の制御が行われることとなる。また、ボーナスの持ち越し中において、他の入賞役が当選した場合には、持ち越し中のボーナスに割り当てられたビットに加えて、当選した役のビットにも当選フラグが設定されることとなる（例えば、特許文献１参照）。
【０００４】
また、可変表示装置に表示結果が導出された後、導出された表示結果に応じて入賞役が成立しているか否かを判定するとともに、入賞役が成立している場合には、成立している入賞役毎に当選フラグが設定されているか否かを確認し、当選フラグが設定されていないにも関わらず入賞役が成立していれば、異常なプログラムが動作していると判断してエラー処理を実行するものがある（例えば、特許文献２参照）。
【０００５】
また、所定の契機で特定遊技状態に移行させる制御を行うとともに、特定遊技状態に制御されている間、内部抽選による抽選結果に関わらず、常に特定の役（例えば全ての小役）の入賞が許容される状態に制御するようにしたものが提案されている（例えば、特許文献３参照）。
【０００６】
また、この種のスロットマシンを設置して営業する遊技店では、売上を調整するうえで設置されたスロットマシンの入賞確率の段階を変更する必要があることから、このようなスロットマシンにおいては、遊技店の従業員等の操作によって、内部抽選の抽選確率として適用される当選確率の段階を示す値である設定値を、異なる確率が定められた複数の値から選択・設定できるようになっている。
【０００７】
スロットマシンには、遊技の制御を行うマイクロコンピュータ等からなる制御部が搭載されており、この制御部により前述の内部抽選も行われている。また、この制御部には遊技の制御を行うためのデータを書き換え可能なメモリ（ＲＡＭ）を備えており、遊技店の従業員等の操作により選択・設定された設定値もこのメモリに記憶されることとなるが、例えば、電源投入時にメモリのデータがバックアップされていない場合やメモリのデータが破壊されている場合、マイクロコンピュータの不具合（ＣＰＵの暴走など）によりリセットがかかった場合等、メモリのデータに異常が生じうることがあり、このような場合には、もとの状態に復帰することが不可能となるので、メモリの記憶状態が初期化される。もちろん設定値もメモリに記憶されているので、もともと設定されていた設定値を復帰させることも不可能である。
【０００８】
このため、従来のスロットマシンでは、メモリのデータに異常が生じると、メモリのデータを初期化するとともに、設定値には、予め定められた設定値（例えば、払出率が１００％に近い当選確率を定めた設定値や払出率が最も低くなる当選確率を定めた設定値）を自動的に設定し、ゲームの進行が可能な状態に復帰させていた（例えば、特許文献４参照）。また、予め定められた設定値を自動的に設定した後、遊技店の従業員等によるリセット操作（主にエラー解除や打止状態の解除を行うための操作）によりゲームの進行が可能な状態に復帰させていた（例えば、特許文献５参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００５−１５２４６５号公報
【特許文献２】特開２００５−１４３６２６号公報
【特許文献３】特開２００５−１２４８４６号公報
【特許文献４】特開平６−１１４１４０号公報
【特許文献５】特開２０００−２９６２００号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１に記載されたスロットマシンでは、前述のようにボーナスの持ち越し中など、複数の当選フラグが設定される場合も生じうることから、可変表示装置の制御パターンを当選フラグの設定内容に応じて選択する場合に、各入賞役に対して割り当てられた全てのビットの値をそれぞれ確認し、その結果に対応する制御パターンを選択する必要があった。
【００１１】
また、特許文献２に記載されたスロットマシンでは、前述のように入賞役が成立している場合には、成立している入賞役毎に当選フラグが設定されているか否かを確認し、異常な入賞が発生しているか否かを判定しているので、成立している入賞役の当選フラグのビットを特定し、その特定したビットの値を確認して異常な入賞が発生しているか否かを判定する必要があった。
【００１２】
また、特許文献３に記載されたスロットマシンでは、特定遊技状態において内部抽選の抽選結果に関わらず、特定の役の入賞が許容されることとなるため、当選フラグが設定されていない役についても入賞が成立し得ることとなる。このため、当選フラグが設定されていない状態で、特定の役の入賞が成立した場合には、特定遊技状態に制御されているか否かを判定し、特定遊技状態に制御されていなければ異常な入賞と判定し、特定遊技状態に制御されている場合には、正常な入賞と判定する必要がある。すなわちこの種のスロットマシンにおいては、特定遊技状態に制御されているか否かに応じて異なる方法で異常入賞の判定を行う必要があった。
【００１３】
また、特許文献４、５に記載されたようなスロットマシンにおいては、メモリのデータに異常が生じると、前述のように設定値には、遊技店の従業員等の操作により選択・設定された設定値ではなく、予め定められた設定値を自動的に設定し、ゲームの進行が可能な状態に復帰させているので、本来であれば、遊技店側の操作により選択・設定された設定値に基づく当選確率を適用して内部抽選が行われ、入賞の発生が許容されるべきであるのに、メモリのデータに異常が生じると、通常のエラー発生時と同様に遊技店の従業員等によりリセット操作がなされることでゲームの進行が可能な状態に復帰し、スロットマシンの制御により自動的に設定された予め定められた設定値に基づく当選確率を適用して内部抽選が行われることとなる。すなわち本来であれば遊技店側が選択した設定値に基づいてゲームが行われるべきところを、スロットマシンの不具合によりスロットマシンにより自動的に設定された設定値に基づいてゲームが行われることとなるため、ゲームの公平性が損なわれてしまうという問題があった。
【００１４】
本発明は、このような問題点に着目してなされたものであり、可変表示装置の制御パターンを選択する際の処理及び異常入賞判定を行う際の処理を効率的に行うことができるとともに、ゲームの公平性を図ることができるスロットマシンを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明の請求項１に記載のスロットマシンは、
遊技用価値（メダル）を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報（図柄）を変動表示可能な可変表示装置（リール２Ｌ、２Ｃ、２Ｒ）の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシンで（スロットマシン１）あって、
遊技の制御を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有するデータ記憶手段（ＲＡＭ４１ｃ）と、
所定の設定操作手段（リセット／設定スイッチ３６）の操作に基づいて、入賞の発生が許容されるか否かが決定される割合（当選確率）が異なる複数種類の許容段階（設定値）のうちから、いずれかの許容段階を選択する許容段階選択手段（ＣＰＵ４１ａによる設定変更処理）と、
前記許容段階選択手段により選択された許容段階を示すデータを前記データ記憶手段の記憶領域に割り当てられた許容段階記憶領域（設定値ワーク）に設定する許容段階設定手段（ＣＰＵ４１ａは、設定変更処理において確定した設定値を設定値ワークに格納する）と、
前記可変表示装置の表示結果が導出される前に、前記許容段階記憶領域に記憶されている許容段階を示すデータ（設定値ワークに格納されている設定値）を読み出し、該読み出したデータが示す許容段階に応じた割合で入賞について発生を許容するか否かを決定する手段であり、１ゲームにつき複数種類の入賞の発生を許容する旨の決定を行うことが可能な事前決定手段（ＣＰＵ４１ａは、内部抽選において設定値を読み出し、読み出した設定値の当選確率に応じて、複数種類の役について当選したか否かの判定を行う、また通常遊技状態においては特別役と一般役とが同時に当選し得る）と、
前記データ記憶手段に記憶されているデータが正常か否かを判定する記憶データ判定手段（ＣＰＵ４１ａによるＲＡＭパリティの判定及び破壊診断用データの判定）と、
前記記憶データ判定手段により前記データ記憶手段に記憶されているデータが正常ではないと判定されたときに、ゲームの進行を不能化する不能化手段（ＣＰＵ４１ａによるエラー処理）と、
前記不能化手段により前記ゲームの進行が不能化された状態において、前記設定操作手段の操作に基づいて前記許容段階設定手段により前記許容段階が新たに設定されたこと（設定変更処理により新たに設定値が選択・設定されたこと）を条件に、前記ゲームの進行が不能化された状態を解除し、ゲームの進行を可能とする不能化解除手段（ＣＰＵ４１ａによるゲーム処理への移行）と、
を備え、
前記スロットマシンは更に、
前記事前決定手段の決定結果に関わらず、特定の種類の入賞（全小役（チェリー、ベル））の発生が一律に許容される特定遊技状態（チャレンジボーナス）に制御する特定遊技状態制御手段（ＣＰＵ４１ａによるチャレンジボーナスへの移行制御）と、
前記可変表示装置に表示結果を導出させる際に用いる導出制御データ（停止制御用データの格納領域の先頭アドレスを示すインデックスデータ）を格納する導出制御データ格納領域（ＲＯＭ４１ｂにおける停止制御用データのインデックス領域）を含むデータ格納手段（ＲＯＭ４１ｂ）と、
前記特定遊技状態以外の遊技状態において、ｎ（ｎは正の整数）ずつ増加する値（本実施例におけるｎは１）であり、前記事前決定手段の決定結果（特別役の当選番号と一般役の当選番号との組み合わせ）に対応して一意的に定められた複数の決定番号から、前記事前決定手段の決定結果に対応する決定番号を設定する決定番号設定手段（チャレンジボーナス中以外において、特別役の当選番号及び一般役の当選番号を用いて、決定番号となる［４×特別役の当選番号＋一般役の当選番号］を算出し、Aレジスタに格納する処理。但し、４は一般役の種類数）と、
前記特定遊技状態以外の遊技状態において、前記決定番号設定手段により設定された決定番号を用いて、前記データ格納手段の格納領域に割り当てられたアドレスであり、前記決定番号に応じた決定番号別アドレスを算出するアドレス算出手段（チャレンジボーナス中以外において、１個目のインデックスデータの格納領域の先頭アドレス（ctrldata_index）と決定番号を用いて、決定番号別アドレスとなる決定番号に対応するインデックスデータの格納領域の先頭アドレスを算出する、具体的には［ctrldata_index＋２×決定番号］によって決定番号別アドレスを算出する処理）と、
前記特定遊技状態において、前記事前決定手段の決定結果に関わらず、特定用アドレスを設定する特定用アドレス設定手段（チャレンジボーナス中において、１個目のインデックスデータの格納領域の先頭アドレス（ctrldata_index）と予め定められた値であるINDEX_CBを用いて、特定用アドレスとなるチャレンジボーナス用停止制御用データのインデックスデータの格納領域の先頭アドレスを算出する、具体的には［ctrldata_index＋２×INDEX_CB］によって特定用アドレスを算出して、ＨＬレジスタに格納する処理）と、
前記アドレス算出手段により算出された決定番号別アドレスまたは前記特定用アドレス設定手段により設定された特定用アドレスのいずれか一方のアドレスに基づいて、前記導出制御データ格納領域に格納されている導出制御データからいずれかの導出制御データを選択する導出制御データ選択手段（決定番号から算出されたアドレスまたはINDEX_CBから算出されたアドレスに格納されているインデックスデータを選択して、このインデックスデータを停止制御用データ格納ワーク（ctrldata_ptr）に設定する処理）と、
前記導出制御データ選択手段により選択された導出制御データに基づいて前記可変表示装置に表示結果を導出させる制御を行う導出制御手段（停止制御用データ格納ワーク（ctrldata_ptr）に格納されているアドレスを参照することで取得される停止制御用データに応じたリール停止制御処理）と、
入賞の種類毎に割り当てられたビット毎に該入賞が当該ゲームにおいて許容されているか否かを特定可能な異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定する異常入賞判定用データ設定手段（許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換する処理、及び内部当選フラグの全ビット反転により異常入賞判定用フラグへ変換する処理）と、
前記可変表示装置の表示結果が導出された後、該導出された表示結果に基づいて入賞の種類毎に割り当てられたビット毎に該入賞が発生したか否かを特定可能な入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定する入賞結果データ設定手段（全リールの停止後にその停止図柄から入賞図柄フラグを作成する処理）と、
前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算する演算手段（異常入賞判定用フラグと入賞図柄フラグの論理積演算）と、
前記演算手段により算出された各ビットの値に基づいて異常入賞か否かを判定する異常入賞判定手段（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する処理）と、
を備え、
前記異常入賞判定用データ設定手段は、前記特定遊技状態以外の遊技状態においては、入賞の種類毎に割り当てられたビットのうち、前記事前決定手段により許容する旨が決定されている入賞に対して割り当てられたビットの値を入賞が許容されている旨を示す値とする通常異常入賞判定用データを前記異常入賞判定用データに設定し（チャレンジボーナス中以外において、特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数に変換し、更に００００Ｈと論理和した結果を内部当選フラグとして設定した後、内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換し）、前記特定遊技状態においては、前記事前決定手段により前記特定の種類の入賞の発生を許容する旨が決定されているか否かに関わらず、入賞の種類毎に割り当てられたビットのうち、前記特定の種類の入賞に対して割り当てられたビットの値を特定の入賞が許容されている旨を示す値とする特定異常入賞判定用データを前記異常入賞判定用データに設定する（チャレンジボーナス中において、特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数に変換し、更に全小役（チェリー、ベル）に割り当てられた第１４ビット及び第１５ビットの値を１とし、それ以外の役に割り当てられたビットの値を０とする内部当選フラグ（Ｃ０００Ｈ）と論理和した結果を内部当選フラグとして設定した後、内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換する）、
ことを特徴としている。
この特徴によれば、特定遊技状態以外の遊技状態においては、事前決定手段によりいずれか１つの入賞の発生を許容する旨が決定されたか、複数種類の入賞の発生を許容する旨が決定されたか、に関わらず、ｎ（ｎは正の整数）ずつ増加する値であり、事前決定手段により決定された決定結果に対して一意的な決定番号が設定されるので、事前決定手段によりいずれか１つの入賞の発生を許容する旨が決定されている状況であっても、複数種類の入賞の発生を許容する旨が決定されている状況であっても、ともに当該決定番号を用いて算出したアドレスに基づいてデータ格納手段に格納されている導出制御データを選択すれば良く、導出制御データを選択する際に、従来のように全ての入賞についての当選フラグを確認せずに済むので、導出制御データを選択する際の処理を簡略化することができる。
また、決定番号がｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞に対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、決定番号に応じたアドレス、すなわち導出制御データを選択する際に用いるアドレスを簡単な計算で算出することが可能となる。
また、特定遊技状態に制御されている場合には、事前決定手段の決定結果に関わらず、一義的に特定遊技状態において用いる特定遊技状態用の導出制御データを選択する際に用いる特定用アドレスが設定され、そのアドレスに基づいてデータ格納手段に格納されている導出制御データを選択すれば良いので、特定の種類の入賞の発生が一律に許容される特定遊技状態においても、導出制御データを選択する際の処理が複雑化することがない。
また、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算し、その結果を判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
また、特定遊技状態以外の遊技状態では、入賞の種類毎に割り当てられたビットのうち、事前決定手段により許容する旨が決定されている入賞に対して割り当てられたビットの値を入賞が許容されている旨を示す値とする通常異常入賞判定用データ、すなわち事前決定手段により許容する旨が決定されている入賞が当該ゲームにおいて許容されている旨を示す異常入賞判定用データが設定され、特定遊技状態では、事前決定手段の決定結果に関わらず、入賞の種類毎に割り当てられたビットのうち、特定遊技状態において一律に許容される特定の種類の入賞に対して割り当てられたビットの値を入賞が許容されている旨を示す値とする特定異常入賞判定用データ、すなわち特定の種類の入賞が当該ゲームにおいて許容されている旨を示す異常入賞判定用データが設定されるので、遊技状態に関わらず同一の処理で異常入賞か否かの判定を行うことが可能となり、遊技状態の違いによって異常入賞か否かの判定を行う際の処理が複雑化してしまうことがない。
また、データ記憶手段に記憶されているデータに異常が生じた場合には、ゲームの進行が不能化されるとともに、設定操作手段の操作に基づいて許容段階（設定値）を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、データ記憶手段に記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された許容段階ではなく、設定操作手段の操作に基づいて選択・設定された許容段階（一般的に、設定操作手段の操作は遊技店の従業員により操作されるので、遊技店側が選択した許容段階である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【００１６】
本発明の請求項２に記載のスロットマシンは、請求項１に記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を０とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を１とする異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定する手段であり、前記特定遊技状態以外の遊技状態においては、入賞の種類毎に割り当てられたビットのうち、前記事前決定手段により許容する旨が決定されている入賞に割り当てられたビットの値を０とする通常異常入賞判定用データを前記異常入賞判定用データに設定し（チャレンジボーナス中以外において、特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数に変換し、更に００００Ｈと論理和した結果を内部当選フラグとして設定した後、内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換し）、前記特定遊技状態においては、前記事前決定手段により前記特定の種類の入賞の発生を許容する旨が決定されているか否かに関わらず、入賞の種類毎に割り当てられたビットのうち、前記特定の種類の入賞に対して割り当てられたビットの値を０とする特定異常入賞判定用データを前記異常入賞判定用データに設定し（チャレンジボーナス中において、特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数に変換し、更に全小役（チェリー、ベル）に割り当てられた第１４ビット及び第１５ビットの値を１とし、それ以外の役に割り当てられたビットの値を０とする内部当選フラグ（Ｃ０００Ｈ）と論理和した結果を内部当選フラグとして設定した後、内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換する）、
前記入賞結果データ設定手段は、前記可変表示装置の表示結果が導出された後、入賞の種類毎に割り当てられたビットのうち、該導出された表示結果に基づいて発生した入賞に割り当てられたビットの値を１とし、該導出された表示結果に基づいて発生していない入賞に割り当てられたビットの値を０とする入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定し（全リールの停止後にその停止図柄から入賞図柄フラグを作成し）、
前記演算手段は、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理積演算（異常入賞判定用フラグと入賞図柄フラグの論理積演算）し、
前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定する（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する）、
ことを特徴としている。
この特徴によれば、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理積演算し、その演算結果のうち、０以外の値が１つでもあるか否かを判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
尚、前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定しているが、前記演算手段により算出された各ビットの１と０を反転する演算を行った後、各ビットの値のうち、０が１つでもある場合に異常入賞と判定するようにしても良い。
また、前記演算手段が、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を否定論理積演算し、前記異常入賞判定手段が、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定するようにしても良い。
【００１７】
本発明の請求項３に記載のスロットマシンは、請求項１に記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を１とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を０とする異常入賞判定用データ（許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする異常入賞判定用フラグ）を設定する手段であり、前記特定遊技状態以外の遊技状態においては、入賞の種類毎に割り当てられたビットのうち、前記事前決定手段により許容する旨が決定されている入賞に割り当てられたビットの値を１とする通常異常入賞判定用データを前記異常入賞判定用データに設定し（チャレンジボーナス中以外において、特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数に変換し、更に００００Ｈと論理和した結果を内部当選フラグとして設定した後、内部当選フラグをそのまま異常入賞判定用フラグとし、図５９に示す変形例）、前記特定遊技状態においては、前記事前決定手段により前記特定の種類の入賞の発生を許容する旨が決定されているか否かに関わらず、入賞の種類毎に割り当てられたビットのうち、前記特定の種類の入賞に対して割り当てられたビットの値を１とする特定異常入賞判定用データを前記異常入賞判定用データに設定し（チャレンジボーナス中において、特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数に変換し、更に全小役（チェリー、ベル）に割り当てられた第１４ビット及び第１５ビットの値を１とし、それ以外の役に割り当てられたビットの値を０とする内部当選フラグ（Ｃ０００Ｈ）と論理和した結果を内部当選フラグとして設定した後、内部当選フラグをそのまま異常入賞判定用フラグとし、図５９に示す変形例）、
前記入賞結果データ設定手段は、前記可変表示装置の表示結果が導出された後、入賞の種類毎に割り当てられたビットのうち、該導出された表示結果に基づいて発生した入賞に割り当てられたビットの値を０とし、該導出された表示結果に基づいて発生していない入賞に割り当てられたビットの値を１とする入賞結果データ（入賞した役に割り当てられたビットの値を０とし、入賞していない役に割り当てられたビットの値を１とする入賞図柄フラグ）を設定し（全リールの停止後にその停止図柄から入賞図柄フラグを作成し、図５９に示す変形例）、
前記演算手段は、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理和演算（異常入賞判定用フラグと入賞図柄フラグの論理和演算）し、
前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定する（論理和演算の結果、ＦＦＦＦＨ以外かどうか、すなわち０が１ビットでも含まれているか否かを判定し、ＦＦＦＦＨ以外であれば異常入賞と判定する、図５９に示す変形例）、
ことを特徴としている。
この特徴によれば、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理和演算し、その演算結果のうち、１つでも０があるか否かを判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
尚、前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定しているが、前記演算手段により算出された各ビットの１と０を反転する演算を行った後、各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定するようにしても良い。
また、前記演算手段が、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を否定論理和演算し、前記異常入賞判定手段が、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定するようにしても良い。
【００１８】
本発明の請求項４に記載のスロットマシンは、請求項２に記載のスロットマシンであって、
前記事前決定手段（ＣＰＵ４１ａによる役の抽選）の決定結果（特別役の当選番号と一般役の当選番号との組み合わせ）に基づいて、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を１とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を０とする第１のデータ（許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数）を設定する第１データ設定手段（特別役の当選番号及び一般役の当選番号を２進数のデータに変換する処理）と、
前記特定遊技状態以外の遊技状態においては、前記第１のデータ及び入賞の種類毎に割り当てられた全てのビットの値を０とするデータ（００００Ｈ）において同一の種類の入賞が割り当てられたビット同士の値を論理和演算して第２のデータを算出し、前記特定遊技状態においては、前記第１のデータ及び入賞の種類毎に割り当てられたビットのうち、前記特定の種類の入賞（全小役（チェリー、ベル））に割り当てられたビットの値を１とし、他の入賞に割り当てられたビットの値を０とするデータ（第１４ビット及び第１５ビットを１として、それ以外を０とした値となるＣ０００Ｈ）において同一の種類の入賞が割り当てられたビット同士の値を論理和演算して第２のデータを算出する第２データ算出手段（チャレンジボーナス中以外において、変換後のデータと００００Ｈを論理和演算したものを内部当選フラグとし、チャレンジボーナス中において、変換後のデータとＣ０００Ｈを論理和演算したものを内部当選フラグとする処理）と、
を備え、
前記異常入賞判定用データ設定手段は、前記第２のデータの各ビットの１と０を反転する演算を行うことにより第３のデータを算出し、該算出した第３のデータを前記通常異常入賞判定用データまたは前記特定異常入賞判定用データとして前記異常入賞判定用データに設定する（内部当選フラグを全ビット反転したものを異常入賞判定用フラグとする）、
ことを特徴としている。
この特徴によれば、一度、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を１とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を０とする第２のデータ、すなわち従来からの当選フラグと同様のデータを作成した後、この第２のデータの各ビットの１と０を反転して異常入賞判定用データを設定するので、第２のデータを他の用途（例えば、外部へ出力する試験信号や他の基板へ出力するコマンドを作成する際のデータなど）に用いることも可能となる。
また、特定遊技状態に制御されているか否かによって第２のデータを算出する際に用いるデータを変更するのみで、その後の異常入賞判定用データの設定処理や、異常入賞の判定処理を共通化することができる。
【００１９】
尚、請求項３に記載のスロットマシンにおいて、
前記事前決定手段（ＣＰＵ４１ａによる役の抽選）の決定結果（特別役の当選番号と一般役の当選番号との組み合わせ）に基づいて、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を１とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を０とする第１のデータ（許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする２進数）を設定する第１データ設定手段（特別役の当選番号及び一般役の当選番号を２進数のデータに変換する処理）と、
前記特定遊技状態以外の遊技状態においては、前記第１のデータ及び入賞の種類毎に割り当てられた全てのビットの値を０とするデータ（００００Ｈ）において同一の種類の入賞が割り当てられたビット同士の値を論理和演算して第２のデータを算出し、前記特定遊技状態においては、前記第１のデータ及び入賞の種類毎に割り当てられたビットのうち、前記特定の種類の入賞（全小役（チェリー、ベル））に割り当てられたビットの値を１とし、他の入賞に割り当てられたビットの値を０とするデータ（第１４ビット及び第１５ビットを１として、それ以外を０とした値となるＣ０００Ｈ）において同一の種類の入賞が割り当てられたビット同士の値を論理和演算して第２のデータを算出する第２データ算出手段（チャレンジボーナス中以外において、変換後のデータと００００Ｈを論理和演算したものを内部当選フラグとし、チャレンジボーナス中において、変換後のデータとＣ０００Ｈを論理和演算したものを内部当選フラグとする処理）と、
を備え、
前記異常入賞判定用データ設定手段は、前記第２のデータを前記通常異常入賞判定用データまたは前記特定異常入賞判定用データとして前記異常入賞判定用データに設定する（内部当選フラグを全ビット反転したものを異常入賞判定用フラグとする、図５９に示す変形例）、
ようにしても良く、このようにした場合には、特定遊技状態に制御されているか否かによって第２のデータを算出する際に用いるデータを変更するのみで、遊技状態に応じた異常入賞判定用データを算出することができる。
【００２０】
本発明の請求項５に記載のスロットマシンは、請求項１〜３のいずれかに記載のスロットマシンであって、
前記通常異常入賞判定用データと、前記特定異常入賞判定用データと、を記憶する異常入賞判定用データ記憶手段（取りうる当選番号の組み合わせに対応する異常入賞判定用フラグの値そのものと、チャレンジボーナス用の異常入賞判定用フラグの値とが格納された番号／フラグ変換テーブルの変形例）を備え、
前記異常入賞判定用データ設定手段は、前記特定遊技状態以外の遊技状態において、前記事前決定手段の決定結果に応じて前記異常入賞判定用データ記憶手段に記憶されている通常異常入賞判定用データを前記異常入賞判定用データに設定し、前記特定遊技状態において、前記異常入賞判定用データ記憶手段に記憶されている特定異常入賞判定用データを前記異常入賞判定用データに設定する（チャレンジボーナス中以外においては、番号／フラグ変換テーブルを利用して当選番号の組み合わせに応じた異常入賞判定用データに直接変換し、チャレンジボーナス中においては、チャレンジボーナス用の異常入賞判定フラグを選択する）、
ことを特徴としている。
この特徴によれば、特定遊技状態に制御されていない場合には、事前決定手段の決定結果に応じて異常入賞判定用データ記憶手段に記憶されている通常異常入賞判定用データを参照し、特定遊技状態に制御されている場合には、異常入賞判定用データ記憶手段に記憶されている特定異常入賞判定用データを参照するのみの簡単な手順で、異常入賞判定用データを設定することができる。
【００２１】
本発明の請求項６に記載のスロットマシンは、請求項１〜３のいずれかに記載のスロットマシンであって、
前記事前決定手段により入賞の発生を許容する旨が決定されたか否かを特定可能な値である決定結果情報（特別役の当選番号、一般役の当選番号）を記憶する決定結果記憶手段（ＲＡＭ４１ｃにおける特別役格納ワーク（iwin_bonus）、一般役格納ワーク（iwin_gen））と、
前記事前決定手段の決定結果に基づいて前記決定結果記憶手段の決定結果情報を設定する決定結果情報設定手段（内部抽選の結果に基づいて特別役の当選番号と一般役の当選番号を特別役格納ワーク（iwin_bonus）、一般役格納ワーク（iwin_gen）に格納する処理）と、
を備え、
前記異常入賞判定用データ設定手段は、少なくとも前記特定遊技状態（チャレンジボーナス）以外の遊技状態において、前記決定結果情報（特別役の当選番号及び一般役の当選番号）を用いて予め定められた演算を行うことにより前記決定結果記憶手段に記憶されている該決定結果情報（特別役の当選番号と一般役の当選番号との組み合わせ）に対応する通常異常入賞判定用データを算出し、該算出した通常異常入賞判定用データを前記異常判定用データに設定する（当選番号が示す値分ビットをシフトする演算を行うことにより算出した内部当選フラグを全ビット反転したものを異常入賞判定用フラグとする、図６０に示す変形例）、
ことを特徴としている。
この特徴によれば、少なくとも前記特定遊技状態に制御されていない場合には、決定結果情報を用いて予め定められた演算を行うのみで異常入賞判定用データを設定することができるうえに、決定結果情報と異常入賞判定用データの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【００２２】
本発明の請求項７に記載のスロットマシンは、請求項１〜６のいずれかに記載のスロットマシンであって、
前記事前決定手段（ＣＰＵ４１ａによる役の抽選）により遊技者にとって有利な特別遊技状態への移行を伴う特別入賞（特別役）の発生を許容する旨が決定されたか否かを特定可能な値である特別決定結果情報（特別役の当選番号（ハズレを示す００Ｈを含む））を記憶する特別決定結果記憶手段（ＲＡＭ４１ｃにおける特別役格納ワーク（iwin_bonus））と、
前記事前決定手段により前記特別入賞以外の通常入賞（一般役）の発生を許容する旨が決定されたか否かを特定可能な値である通常決定結果情報（一般役の当選番号（ハズレを示す００Ｈを含む））を記憶する通常決定結果記憶手段（ＲＡＭ４１ｃにおける一般役格納ワーク（iwin_gen））と、
１ゲーム毎に、前記通常決定結果記憶手段に、当該ゲームの事前決定手段による前記通常決定結果情報を設定する通常決定結果情報設定手段（内部抽選処理が行われる毎に、その結果に基づいて一般役の当選番号を一般役格納ワーク（iwin_gen）に格納する処理）と、
前記事前決定手段により前記特別入賞の発生を許容する旨の決定がなされたときに、前記特別決定結果記憶手段に、当該ゲームの事前決定手段により決定された特別入賞の発生が許容されている旨を特定可能な特別決定結果情報を設定し（特別役の当選が判定されたときに、その旨を示す特別役の当選番号を特別役格納ワーク（iwin_bonus）に格納し）、該特別決定結果情報を該許容された特別入賞が発生するまで維持するとともに（一度、特別役格納ワーク（iwin_bonus）に特別役の当選番号が格納されることで、その後当該特別役が入賞するまでその値をクリアせずに維持し）、該特別入賞が発生したときに、前記特別決定結果記憶手段に、前記特別入賞の発生が許容されていない旨を特定可能な特別決定結果情報を設定する特別決定結果情報設定手段（特別役が入賞したときに、特別役格納ワーク（iwin_bonus）をクリアする処理）と、
を備え、
前記決定番号設定手段は、前記特別決定結果情報と前記通常決定結果情報とを用いて所定の演算を行うことにより前記決定番号を算出し、該算出した決定番号を設定する（所定の演算となる［４×特別役の当選番号＋一般役の当選番号］を行うことにより決定番号を算出し、Ａレジスタに設定する）、
ことを特徴としている。
この特徴によれば、特別入賞の発生を許容する旨の決定が持ち越されているか否かに関わらず、特別決定結果情報と通常決定結果情報とを用いて所定の演算を行うのみで決定番号を設定することができる。すなわち常に共通の方法で決定番号を設定することが可能となる。
【００２３】
本発明の請求項８に記載のスロットマシンは、
遊技用価値（メダル）を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報（図柄）を変動表示可能な可変表示装置（リール２Ｌ、２Ｃ、２Ｒ）の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシン（スロットマシン１）であって、
遊技の制御を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有するデータ記憶手段（ＲＡＭ４１ｃ）と、
所定の設定操作手段（リセット／設定スイッチ３６）の操作に基づいて、入賞の発生が許容されるか否かが決定される割合（当選確率）が異なる複数種類の許容段階（設定値）のうちから、いずれかの許容段階を選択する許容段階選択手段（ＣＰＵ４１ａによる設定変更処理）と、
前記許容段階選択手段により選択された許容段階を示すデータを前記データ記憶手段の記憶領域に割り当てられた許容段階記憶領域（設定値ワーク）に設定する許容段階設定手段（ＣＰＵ４１ａは、設定変更処理において確定した設定値を設定値ワークに格納する）と、
前記可変表示装置の表示結果が導出される前に、前記許容段階記憶領域に記憶されている許容段階を示すデータ（設定値ワークに格納されている設定値）を読み出し、該読み出したデータが示す許容段階に応じた割合で入賞について発生を許容するか否かを決定する手段であり、１ゲームにつき複数種類の入賞の発生を許容する旨の決定を行うことが可能な事前決定手段（ＣＰＵ４１ａは、内部抽選において設定値を読み出し、読み出した設定値の当選確率に応じて、複数種類の役について当選したか否かの判定を行う、また通常遊技状態においては特別役と一般役とが同時に当選し得る）と、
前記データ記憶手段に記憶されているデータが正常か否かを判定する記憶データ判定手段（ＣＰＵ４１ａによるＲＡＭパリティの判定及び破壊診断用データの判定）と、
前記記憶データ判定手段により前記データ記憶手段に記憶されているデータが正常ではないと判定されたときに、ゲームの進行を不能化する不能化手段（ＣＰＵ４１ａによるエラー処理）と、
前記不能化手段により前記ゲームの進行が不能化された状態において、前記設定操作手段の操作に基づいて前記許容段階設定手段により前記許容段階が新たに設定されたこと（設定変更処理により新たに設定値が選択・設定されたこと）を条件に、前記ゲームの進行が不能化された状態を解除し、ゲームの進行を可能とする不能化解除手段（ＣＰＵ４１ａによるゲーム処理への移行）と、
を備え、
前記スロットマシンは更に、
前記事前決定手段の決定結果に関わらず、特定の種類の入賞（全小役（チェリー、ベル））の発生が一律に許容される特定遊技状態（チャレンジボーナス）に制御する特定遊技状態制御手段（ＣＰＵ４１ａによるチャレンジボーナスへの移行制御）と、
前記特定遊技状態以外の遊技状態において、ｎ（ｎは正の整数）ずつ増加する値である複数の決定番号から前記事前決定手段の決定結果に対応する決定番号を設定し、前記特定遊技状態において、前記複数の決定番号から前記特定の種類の入賞の発生を許容する旨を示す決定番号を設定する決定番号設定手段（チャレンジボーナス以外の遊技状態では、００Ｈ〜１０Ｈの当選番号から内部抽選の結果に対応する当選番号を当選番号格納ワークに格納し、チャレンジボーナス中では、００Ｈ〜１０Ｈの当選番号からいずれの特別役も当選していない状態で全小役の当選を示す１０Ｈを当選番号格納ワークに格納する処理）と、
前記可変表示装置に表示結果を導出させる際に用いる導出制御データ（停止制御用データの格納領域の先頭アドレスを示すインデックスデータ）を格納する導出制御データ格納領域（ＲＯＭ４１ｂにおける停止制御用データのインデックス領域）を含むデータ格納手段（ＲＯＭ４１ｂ）と、
前記決定番号設定手段により設定された決定番号を用いて、前記データ格納手段の格納領域に割り当てられたアドレスであり、前記決定番号に応じたアドレスを算出するアドレス算出手段（１個目のインデックスデータの格納領域の先頭アドレス（ctrldata_index）と当選番号を用いて、当選番号に対応するインデックスデータの格納領域の先頭アドレスを算出する、具体的には［ctrldata_index＋２×当選番号］によってインデックスデータの格納アドレスを算出する処理）と、
前記アドレス算出手段により算出されたアドレスに基づいて、前記導出制御データ格納領域に格納されている導出制御データからいずれかの導出制御データを選択する導出制御データ選択手段（当選番号から算出されたアドレスに格納されているインデックスデータを選択して、このインデックスデータを停止制御用データ格納ワーク（ctrldata_ptr）に設定する処理）と、
前記導出制御データ選択手段により選択された導出制御データに基づいて前記可変表示装置に表示結果を導出させる制御を行う導出制御手段（停止制御用データ格納ワーク（ctrldata_ptr）に格納されているアドレスを参照することで取得される停止制御用データに応じたリール停止制御処理）と、
前記決定番号設定手段により設定された決定番号に基づいて、入賞の種類毎に割り当てられたビット毎に該入賞が当該ゲームにおいて許容されているか否かを特定可能な異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定する異常入賞判定用データ設定手段（当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換し、内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換する処理）と、
前記可変表示装置の表示結果が導出された後、該導出された表示結果に基づいて入賞の種類毎に割り当てられたビット毎に該入賞が発生したか否かを特定可能な入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定する入賞結果データ設定手段（全リールの停止後にその停止図柄から入賞図柄フラグを作成する処理）と、
前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算する演算手段（異常入賞判定用フラグと入賞図柄フラグの論理積演算）と、
前記演算手段により算出された各ビットの値に基づいて異常入賞か否かを判定する異常入賞判定手段（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する処理）と、
備える、
ことを特徴としている。
この特徴によれば、いずれか１つの入賞の発生を許容する旨が決定されたか、複数種類の入賞の発生を許容する旨が決定されたか、に関わらず、ｎ（ｎは正の整数）ずつ増加する値である複数の決定番号からいずれか１つの決定番号が設定されるので、いずれか１つの入賞の発生を許容する旨が決定されている状況であっても、複数種類の入賞の発生を許容する旨が決定されている状況であっても、ともに当該決定番号を用いて算出したアドレスに基づいてデータ格納手段に格納されている導出制御データを選択すれば良く、導出制御データを選択する際に、従来のように全ての入賞についての当選フラグを確認せずに済むので、導出制御データを選択する際の処理を簡略化することができる。
また、決定番号がｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞に対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、決定番号に応じたアドレス、すなわち導出制御データを選択する際に用いるアドレスを簡単な計算で算出することが可能となる。
また、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算し、その結果を判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
また、特定の種類の入賞の発生が一律に許容される特定遊技状態に制御されている場合には、事前決定手段により特定の種類の入賞の発生を許容する旨の決定がなされたか否かに関わらず、特定の種類の入賞の発生を許容する旨の決定結果を示す決定番号が設定されるので、導出制御データ選択手段は、特定遊技状態以外の遊技状態と同様に、決定番号設定手段により設定された決定番号に対応する導出制御データを選択すれば良く、異常入賞判定用データ設定手段は、特定遊技状態以外の遊技状態と同様に、決定番号設定手段により設定された決定番号に基づいて異常入賞判定用データを設定すれば良いこととなる。すなわち特定遊技状態に制御されているか否かに関わらず、導出制御データの選択処理、異常入賞判定用データの設定処理を共通化することが可能となるので、遊技状態の違いによってこれらの処理が複雑化してしまうことがない。
また、データ記憶手段に記憶されているデータに異常が生じた場合には、ゲームの進行が不能化されるとともに、設定操作手段の操作に基づいて許容段階（設定値）を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、データ記憶手段に記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された許容段階ではなく、設定操作手段の操作に基づいて選択・設定された許容段階（一般的に、設定操作手段の操作は遊技店の従業員により操作されるので、遊技店側が選択した許容段階である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【００２４】
本発明の請求項９に記載のスロットマシンは、請求項８に記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、前記決定番号設定手段により設定された決定番号（当選番号）に基づいて、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を０とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を１とする異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定し（当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換して、内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換し）、
前記入賞結果データ設定手段は、前記可変表示装置の表示結果が導出された後、入賞の種類毎に割り当てられたビットのうち、該導出された表示結果に基づいて発生した入賞に割り当てられたビットの値を１とし、該導出された表示結果に基づいて発生していない入賞に割り当てられたビットの値を０とする入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定し（全リールの停止後にその停止図柄から入賞図柄フラグを作成し）、
前記演算手段は、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理積演算（異常入賞判定用フラグと入賞図柄フラグの論理積演算）し、
前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定する（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する）、
ことを特徴としている。
この特徴によれば、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理積演算し、その演算結果のうち、０以外の値が１つでもあるか否かを判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
尚、前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定しているが、前記演算手段により算出された各ビットの１と０を反転する演算を行った後、各ビットの値のうち、０が１つでもある場合に異常入賞と判定するようにしても良い。
また、前記演算手段が、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を否定論理積演算し、前記異常入賞判定手段が、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定するようにしても良い。
【００２５】
本発明の請求項１０に記載のスロットマシンは、請求項８に記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、前記決定番号設定手段により設定された決定番号（当選番号）に基づいて、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を１とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を０とする異常入賞判定用データ（許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする異常入賞判定用フラグ）を設定し（当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換し、内部当選フラグをそのまま異常入賞判定用フラグとして設定する処理、図５９の変形例）、
前記入賞結果データ設定手段は、前記可変表示装置の表示結果が導出された後、入賞の種類毎に割り当てられたビットのうち、該導出された表示結果に基づいて発生した入賞に割り当てられたビットの値を０とし、該導出された表示結果に基づいて発生していない入賞に割り当てられたビットの値を１とする入賞結果データ（入賞した役に割り当てられたビットの値を０とし、入賞していない役に割り当てられたビットの値を１とする入賞図柄フラグ）を設定し（全リールの停止後にその停止図柄において入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とするデータを全ビット反転することにより入賞図柄フラグを作成する、図５９に示す変形例）、
前記演算手段は、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理和演算（異常入賞判定用フラグと入賞図柄フラグの論理和演算）し、
前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定する（論理和演算の結果、ＦＦＦＦＨ以外かどうか、すなわち０が１ビットでも含まれているか否かを判定し、ＦＦＦＦＨ以外であれば異常入賞と判定する、図５９に示す変形例）、
ことを特徴としている。
この特徴によれば、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理和演算し、その演算結果のうち、１つでも０があるか否かを判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
尚、前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定しているが、前記演算手段により算出された各ビットの１と０を反転する演算を行った後、各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定するようにしても良い。
また、前記演算手段が、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を否定論理和演算し、前記異常入賞判定手段が、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定するようにしても良い。
【００２６】
本発明の請求項１１に記載のスロットマシンは、請求項８〜１０のいずれかに記載のスロットマシンであって、
前記異常入賞判定用データ（異常入賞判定用フラグ）を記憶する異常入賞判定用データ記憶手段（当選番号に対応する異常入賞判定用フラグの値そのものが格納された番号／フラグ変換テーブルの変形例）を備え、
前記異常入賞判定用データ設定手段は、前記決定番号設定手段により設定された決定番号に応じて前記異常入賞判定用データ記憶手段に記憶されている異常入賞判定用データを設定する（番号／フラグ変換テーブルを利用して当選番号に応じた異常入賞判定用データに直接変換する変形例）、
ことを特徴としている。
この特徴によれば、決定番号に対応して記憶されているデータを参照するのみの簡単な手順で、異常入賞判定用データを設定することができる。
【００２７】
本発明の請求項１２に記載のスロットマシンは、請求項８〜１０のいずれかに記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、前記決定番号設定手段により設定された決定番号（当選番号）を用いて予め定められた演算を行うことにより該決定番号に対応する異常入賞判定用データを算出し、該算出した異常入賞判定用データを設定する（当選番号の値を用いた演算によって当選番号を異常入賞判定用データに変換する）、
ことを特徴としている。
この特徴によれば、決定番号を用いて予め定められた演算を行うのみで異常入賞判定用データを設定することができるうえに、決定番号と異常入賞判定用データの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【００２８】
本発明の手段１に記載のスロットマシンは、
遊技用価値（メダル）を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報（図柄）を変動表示可能な可変表示装置（リール２Ｌ、２Ｃ、２Ｒ）の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシン（スロットマシン１）であって、
遊技の制御を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有するデータ記憶手段（ＲＡＭ４１ｃ）と、
所定の設定操作手段（リセット／設定スイッチ３６）の操作に基づいて、入賞の発生が許容されるか否かが決定される割合（当選確率）が異なる複数種類の許容段階（設定値）のうちから、いずれかの許容段階を選択する許容段階選択手段（ＣＰＵ４１ａによる設定変更処理）と、
前記許容段階選択手段により選択された許容段階を示すデータを前記データ記憶手段の記憶領域に割り当てられた許容段階記憶領域（設定値ワーク）に設定する許容段階設定手段（ＣＰＵ４１ａは、設定変更処理において確定した設定値を設定値ワークに格納する）と、
前記可変表示装置の表示結果が導出される前に、前記許容段階記憶領域に記憶されている許容段階を示すデータ（設定値ワークに格納されている設定値）を読み出し、該読み出したデータが示す許容段階に応じた割合で遊技状態の移行を伴う特別入賞（特別役）及び該特別入賞以外の通常入賞（一般役）を含む入賞について発生を許容するか否かを決定する手段であり、１ゲームにつき複数種類の入賞の発生を許容する旨の決定を行うことが可能な事前決定手段（ＣＰＵ４１ａは、内部抽選において設定値を読み出し、読み出した設定値の当選確率に応じて、複数種類の役について当選したか否かの判定を行う、また通常遊技状態においては特別役と一般役とが同時に当選し得る）と、
前記データ記憶手段に記憶されているデータが正常か否かを判定する記憶データ判定手段（ＣＰＵ４１ａによるＲＡＭパリティの判定及び破壊診断用データの判定）と、
前記記憶データ判定手段により前記データ記憶手段に記憶されているデータが正常ではないと判定されたときに、ゲームの進行を不能化する不能化手段（ＣＰＵ４１ａによるエラー処理）と、
前記不能化手段により前記ゲームの進行が不能化された状態において、前記設定操作手段の操作に基づいて前記許容段階設定手段により前記許容段階が新たに設定されたこと（設定変更処理により新たに設定値が選択・設定されたこと）を条件に、前記ゲームの進行が不能化された状態を解除し、ゲームの進行を可能とする不能化解除手段（ＣＰＵ４１ａによるゲーム処理への移行）と、
を備え、
前記スロットマシンは更に、
前記事前決定手段の決定結果に関わらず、前記通常入賞（一般役）のうち、特定の種類の入賞（全小役（チェリー、ベル））の発生が一律に許容される特定遊技状態（チャレンジボーナス）に制御する特定遊技状態制御手段（ＣＰＵ４１ａによるチャレンジボーナスへの移行制御）と、
ｎ（ｎは正の整数）ずつ増加する値（本実施例におけるｎは１）であり、前記特別入賞の発生を許容する旨が決定されたか否かを示す複数の特別決定番号（００Ｈ〜０３Ｈの特別役の当選番号）から、前記事前決定手段の決定結果に対応する特別決定番号を設定する特別決定番号設定手段（特別役格納ワーク（iwin_bonus）に００Ｈ〜０３Ｈから抽選結果に応じた特別役の当選番号を設定する処理）と、
前記特定遊技状態以外の遊技状態において、前記ｎずつ増加する値であり、前記通常入賞の発生を許容する旨が決定されたか否かを示す複数の通常決定番号から前記事前決定手段の決定結果に対応する通常決定番号を設定し、前記特定遊技状態において、前記複数の通常決定番号から前記特定の種類の入賞の発生を許容する旨を示す通常決定番号を設定する通常決定番号設定手段（チャレンジボーナス以外においては、００Ｈ〜０４Ｈから抽選結果に応じた一般役の当選番号を一般役格納ワーク（iwin_gen）に設定し、チャレンジボーナス中においては、００Ｈ〜０４Ｈから全小役の当選を示す０４Ｈを一般役格納ワーク（iwin_gen）に設定する処理）と、
前記可変表示装置に表示結果を導出させる際に用いる導出制御データ（停止制御用データの格納領域の先頭アドレスを示すインデックスデータ）を格納する導出制御データ格納領域（ＲＯＭ４１ｂにおける停止制御用データのインデックス領域）を含むデータ格納手段（ＲＯＭ４１ｂ）と、
前記特別決定番号と前記通常決定番号とを用いて、前記データ格納手段の格納領域に割り当てられたアドレスであり、前記特別決定番号と前記通常決定番号との組み合わせに応じたアドレスを算出するアドレス算出手段（インデックスデータの格納領域の先頭アドレス（ctrldata_index）または（ctrldata_index2）と特別役の当選番号と一般役の当選番号とに基づいて、特別役の当選番号と一般役の当選番号との組み合わせに対応するインデックスデータの格納領域の先頭アドレスを算出する、具体的には、特別役の当選番号が０の場合には［ctrldata_index2＋２×一般役の当選番号］によってインデックスデータの格納アドレスを算出し、特別役の当選番号が０以外の場合には［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］によってインデックスデータの格納アドレスを算出する処理。但し、４は一般役の種類）と、
前記アドレス算出手段により算出されたアドレスに基づいて、前記導出制御データ格納領域に格納されている導出制御データからいずれかの導出制御データを選択する導出制御データ選択手段（算出されたアドレスに格納されている停止制御用データのインデックスデータを選択して、このインデックスデータを停止制御用データ格納ワーク（ctrldata_ptr）に設定する処理）と、
前記導出制御データ選択手段により選択された導出制御データに基づいて前記可変表示装置に表示結果を導出させる制御を行う導出制御手段（停止制御用データ格納ワーク（ctrldata_ptr）に格納されているアドレスを参照することで取得される停止制御用データに応じたリール停止制御処理）と、
前記特別決定番号と前記通常決定番号とに基づいて、入賞の種類毎に割り当てられたビット毎に該入賞が当該ゲームにおいて許容されているか否かを特定可能な異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定する異常入賞判定用データ設定手段（特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換する処理、及び内部当選フラグを全ビット反転により異常入賞判定用フラグへ変換する処理）と、
前記可変表示装置の表示結果が導出された後、該導出された表示結果に基づいて入賞の種類毎に割り当てられたビット毎に該入賞が発生したか否かを特定可能な入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定する入賞結果データ設定手段（全リールの停止後にその停止図柄から入賞図柄フラグを作成する処理）と、
前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算する演算手段（異常入賞判定用フラグと入賞図柄フラグの論理積演算）と、
前記演算手段により算出された各ビットの値に基づいて異常入賞か否かを判定する異常入賞判定手段（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する処理）と、
備える、
ことを特徴としている。
この特徴によれば、いずれか１つの入賞の発生を許容する旨が決定されたか、複数種類の入賞の発生を許容する旨が決定されたか、に関わらず、特別入賞の発生を許容する旨が決定されたか否かを示す複数の特別決定番号からいずれか１つの特別決定番号が設定され、通常入賞の発生を許容する旨が決定されたか否かを示す複数の通常決定番号からいずれか１つの通常決定番号が設定されるので、いずれか１つの入賞の発生を許容する旨が決定されている状況であっても、複数種類の入賞の発生を許容する旨が決定されている状況であっても、ともに当該特別決定番号と通常決定番号とを用いて算出したアドレスに基づいてデータ格納手段に格納されている導出制御データを選択すれば良く、導出制御データを選択する際に、従来のように全ての入賞についての当選フラグを確認せずに済むので、導出制御データを選択する際の処理を簡略化することができる。
また、特別決定番号も通常決定番号もｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞に対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、特別決定番号と通常決定番号との組み合わせに応じたアドレス、すなわち導出制御データを選択する際に用いるアドレスを簡単な計算で算出することが可能となる。
また、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算し、その結果を判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
また、特定の種類の入賞の発生が一律に許容される特定遊技状態に制御されている場合には、事前決定手段により特定の種類の入賞の発生を許容する旨の決定がなされたか否かに関わらず、特定の種類の入賞の発生を許容する旨の決定結果を示す通常決定番号が設定されるので、導出制御データ選択手段は、特定遊技状態以外の遊技状態と同様に、特別決定番号と通常決定番号との組み合わせに対応する導出制御データを選択すれば良く、異常入賞判定用データ設定手段は、特定遊技状態以外の遊技状態と同様に、特別決定番号と通常決定番号との組み合わせに基づいて異常入賞判定用データを設定すれば良いこととなる。すなわち特定遊技状態に制御されているか否かに関わらず、導出制御データの選択処理、異常入賞判定用データの設定処理を共通化することが可能となるので、遊技状態の違いによってこれらの処理が複雑化してしまうことがない。
また、データ記憶手段に記憶されているデータに異常が生じた場合には、ゲームの進行が不能化されるとともに、設定操作手段の操作に基づいて許容段階（設定値）を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、データ記憶手段に記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された許容段階ではなく、設定操作手段の操作に基づいて選択・設定された許容段階（一般的に、設定操作手段の操作は遊技店の従業員により操作されるので、遊技店側が選択した許容段階である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【００２９】
本発明の手段２に記載のスロットマシンは、
遊技用価値（メダル）を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報（図柄）を変動表示可能な可変表示装置（リール２Ｌ、２Ｃ、２Ｒ）の表示結果が導出表示されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシン（スロットマシン１）であって、
遊技の制御を行うためのデータを読み出し及び書き込み可能に記憶する記憶領域を有するデータ記憶手段（ＲＡＭ４１ｃ）と、
所定の設定操作手段（リセット／設定スイッチ３６）の操作に基づいて、入賞の発生が許容されるか否かが決定される割合（当選確率）が異なる複数種類の許容段階（設定値）のうちから、いずれかの許容段階を選択する許容段階選択手段（ＣＰＵ４１ａによる設定変更処理）と、
前記許容段階選択手段により選択された許容段階を示すデータを前記データ記憶手段の記憶領域に割り当てられた許容段階記憶領域（設定値ワーク）に設定する許容段階設定手段（ＣＰＵ４１ａは、設定変更処理において確定した設定値を設定値ワークに格納する）と、
前記可変表示装置の表示結果が導出される前に、前記許容段階記憶領域に記憶されている許容段階を示すデータ（設定値ワークに格納されている設定値）を読み出し、該読み出したデータが示す許容段階に応じた割合で入賞について発生を許容するか否かを決定する手段であり、１ゲームにつき複数種類の入賞の発生を許容する旨の決定を行うことが可能な事前決定手段（ＣＰＵ４１ａは、内部抽選において設定値を読み出し、読み出した設定値の当選確率に応じて、複数種類の役について当選したか否かの判定を行う、また通常遊技状態においては特別役と一般役とが同時に当選し得る）と、
前記データ記憶手段に記憶されているデータが正常か否かを判定する記憶データ判定手段（ＣＰＵ４１ａによるＲＡＭパリティの判定及び破壊診断用データの判定）と、
前記記憶データ判定手段により前記データ記憶手段に記憶されているデータが正常ではないと判定されたときに、ゲームの進行を不能化する不能化手段（ＣＰＵ４１ａによるエラー処理）と、
前記不能化手段により前記ゲームの進行が不能化された状態において、前記設定操作手段の操作に基づいて前記許容段階設定手段により前記許容段階が新たに設定されたこと（設定変更処理により新たに設定値が選択・設定されたこと）を条件に、前記ゲームの進行が不能化された状態を解除し、ゲームの進行を可能とする不能化解除手段（ＣＰＵ４１ａによるゲーム処理への移行）と、
を備え、
前記スロットマシンは更に、
前記事前決定手段の決定結果に関わらず、特定の種類の入賞（全小役（チェリー、ベル））の発生が一律に許容される特定遊技状態（チャレンジボーナス）に制御する特定遊技状態制御手段（ＣＰＵ４１ａによるチャレンジボーナスへの移行制御）と、
前記事前決定手段により入賞の発生を許容する旨が決定されたか否かを特定可能な値である決定結果情報（特別役の当選番号、一般役の当選番号）を記憶する決定結果記憶手段（ＲＡＭ４１ｃにおける特別役格納ワーク（iwin_bonus）、一般役格納ワーク（iwin_gen））と、
前記特定遊技状態以外の遊技状態において、前記事前決定手段の決定結果に基づいて前記決定結果記憶手段に決定結果情報を設定し、前記特定遊技状態において、前記事前決定手段により前記特定の種類の入賞の発生を許容する旨の決定がなされたか否かに関わらず、前記特定の種類の入賞の発生を許容する旨の決定結果を示す特定遊技状態用決定結果情報を前記決定結果情報として前記決定結果記憶手段に設定する決定結果情報設定手段（チャレンジボーナス以外では、内部抽選の結果に基づいて特別役の当選番号と一般役の当選番号を特別役格納ワーク（iwin_bonus）、一般役格納ワーク（iwin_gen）に格納し、チャレンジボーナスでは、全小役の当選を示す０４Ｈを一般役格納ワーク（iwin_gen）に格納する処理）と、
前記可変表示装置に表示結果を導出させる際に用いる導出制御データ（停止制御用データの格納領域の先頭アドレスを示すインデックスデータ）を格納する導出制御データ格納領域（ＲＯＭ４１ｂにおける停止制御用データのインデックス領域）を含むデータ格納手段（ＲＯＭ４１ｂ）と、
前記決定結果記憶手段に前記特定遊技状態用決定結果情報以外の決定結果情報が記憶されている場合において、ｎ（ｎは正の整数）（本実施例におけるｎは１）ずつ増加する値であり、前記事前決定手段の決定結果（特別役の当選番号と一般役の当選番号の組み合わせ）に対応して一意的に定められた複数の決定番号から、前記事前決定手段の決定結果に対応する決定番号を設定する決定番号設定手段（一般役格納ワーク（iwin_gen）に０４Ｈ以外が格納されている場合に、特別役の当選番号及び一般役の当選番号を用いて、決定番号となる［４×特別役の当選番号＋一般役の当選番号］を算出し、Aレジスタに格納する処理。但し、４は一般役の種類数）と、
前記決定結果記憶手段に前記特定遊技状態用決定結果情報以外の決定結果情報が記憶されている場合において、前記決定番号設定手段により設定された決定番号を用いて、前記データ格納手段の格納領域に割り当てられたアドレスであり、前記決定番号に応じた決定番号別アドレスを算出するアドレス算出手段（一般役格納ワーク（iwin_gen）に０４Ｈ以外が格納されている場合に、１個目のインデックスデータの格納領域の先頭アドレス（ctrldata_index）と決定番号を用いて、決定番号に対応するインデックスデータの格納領域の先頭アドレスを算出する、具体的には［ctrldata_index＋２×決定番号］によってインデックスデータの格納アドレスを算出する処理）と、
前記決定結果記憶手段に前記特定遊技状態用決定結果情報が記憶されている場合において、特定用アドレスを設定する特定用アドレス設定手段（一般役格納ワーク（iwin_gen）に０４Ｈが格納されている場合に、１個目のインデックスデータの格納領域の先頭アドレス（ctrldata_index）と予め定められた値であるINDEX_CBを用いて、特定用アドレスとなるチャレンジボーナス用停止制御用データのインデックスデータの格納領域の先頭アドレスを算出する、具体的には［ctrldata_index＋２×INDEX_CB］によって特定用アドレスを算出して、ＨＬレジスタに格納する処理）と、
前記アドレス算出手段により算出された決定番号別アドレスまたは前記特定用アドレス設定手段により設定された特定用アドレスのいずれか一方のアドレスに基づいて、前記導出制御データ格納領域に格納されている導出制御データからいずれかの導出制御データを選択する導出制御データ選択手段（決定番号から算出されたアドレスまたはINDEX_CBから算出されたアドレスに格納されているインデックスデータを選択して、このインデックスデータを停止制御用データ格納ワーク（ctrldata_ptr）に設定する処理）と、
前記導出制御データ選択手段により選択された導出制御データに基づいて前記可変表示装置に表示結果を導出させる制御を行う導出制御手段（停止制御用データ格納ワーク（ctrldata_ptr）に格納されているアドレスを参照することで取得される停止制御用データに応じたリール停止制御処理）と、
前記決定結果情報に基づいて、入賞の種類毎に割り当てられたビット毎に該入賞が当該ゲームにおいて許容されているか否かを特定可能な異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定する異常入賞判定用データ設定手段（特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換する処理、及び内部当選フラグの全ビット反転により異常入賞判定用フラグへ変換する処理）と、
前記可変表示装置の表示結果が導出された後、該導出された表示結果に基づいて入賞の種類毎に割り当てられたビット毎に該入賞が発生したか否かを特定可能な入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定する入賞結果データ設定手段（全リールの停止後にその停止図柄から入賞図柄フラグを作成する処理）と、
前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算する演算手段（異常入賞判定用フラグと入賞図柄フラグの論理積演算）と、
前記演算手段により算出された各ビットの値に基づいて異常入賞か否かを判定する異常入賞判定手段（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する処理）と、
を備える、
ことを特徴としている。
この特徴によれば、決定結果記憶手段に特定遊技状態用決定結果情報以外の決定結果情報が記憶されている場合においては、事前決定手段によりいずれか１つの入賞の発生を許容する旨が決定されたか、複数種類の入賞の発生を許容する旨が決定されたか、に関わらず、ｎ（ｎは正の整数）ずつ増加する値であり、事前決定手段により決定された決定結果に対して一意的な決定番号が設定されるので、事前決定手段によりいずれか１つの入賞の発生を許容する旨が決定されている状況であっても、複数種類の入賞の発生を許容する旨が決定されている状況であっても、ともに当該決定番号を用いて算出したアドレスに基づいてデータ格納手段に格納されている導出制御データを選択すれば良く、導出制御データを選択する際に、従来のように全ての入賞についての当選フラグを確認せずに済むので、導出制御データを選択する際の処理を簡略化することができる。
また、決定番号がｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞に対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、決定番号に応じたアドレス、すなわち導出制御データを選択する際に用いるアドレスを簡単な計算で算出することが可能となる。
また、決定結果記憶手段に特定遊技状態用決定結果情報が記憶されている場合においては、一義的に特定遊技状態において用いる特定遊技状態用の導出制御データを選択する際に用いる特定用アドレスが設定され、そのアドレスに基づいてデータ格納手段に格納されている導出制御データを選択すれば良いので、特定の種類の入賞の発生が一律に許容される特定遊技状態においても、導出制御データを選択する際の処理が複雑化することがない。
また、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を演算し、その結果を判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
また、特定の種類の入賞の発生が一律に許容される特定遊技状態においては、事前決定手段により前記特定の種類の入賞の発生を許容する旨の決定がなされたか否かに関わらず、特定の種類の入賞の発生を許容する旨の決定結果を示す特定遊技状態用決定結果情報が決定結果情報として設定されるので、異常入賞判定用データ設定手段は、特定遊技状態以外の遊技状態と同様に、決定結果情報に基づいて異常入賞判定用データを設定すれば良いこととなる。すなわち特定遊技状態に制御されているか否かに関わらず、異常入賞判定用データの設定処理を共通化することが可能となるので、遊技状態の違いによってこれらの処理が複雑化してしまうことがない。
また、データ記憶手段に記憶されているデータに異常が生じた場合には、ゲームの進行が不能化されるとともに、設定操作手段の操作に基づいて許容段階（設定値）を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、データ記憶手段に記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された許容段階ではなく、設定操作手段の操作に基づいて選択・設定された許容段階（一般的に、設定操作手段の操作は遊技店の従業員により操作されるので、遊技店側が選択した許容段階である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【００３０】
尚、請求項１、８、手段１、２において所定数の賭数とは、少なくとも１以上の賭数であって、２以上の賭数が設定されることや最大賭数が設定されることでゲームが開始可能となるようにしても良い。また、複数の遊技状態に応じて定められた賭数が設定されることでゲームが開始可能となるようにしても良い。
また、請求項１、８、手段１、２においてｎ（ｎは正の整数）ずつ増加する値とは、例えば、０、１、２、３…や０、２、４、６…、０、３、６、９…などの値であれば良い。
また、請求項１、８、手段１、２において前記事前決定手段が、１ゲームにつき複数種類の入賞の発生を許容する旨の決定を行うことが可能であるとは、そのゲームにおいて複数種類の入賞の発生を許容する旨の決定を行うものであっても良いし、前のゲームからいずれかの入賞の発生を許容する旨の決定が持ち越されている状態で、新たに他の入賞の発生を許容する旨を決定することで、双方の入賞の発生を許容する旨の決定を行うものであっても良い。
また、請求項１、８、手段１、２において前記導出制御データとは、前記可変表示装置の表示結果を導出する際に用いるデータであり、制御内容そのものが格納されているデータであっても良いし、制御内容が格納されているデータを特定する際に参照するデータ（例えば、制御データの格納先のアドレスなど）であっても良い。
また、請求項１、８、手段１、２においてデータ記憶手段とは、遊技の制御を行うＣＰＵなどがワーク領域として使用する記憶領域が割り当てられたＲＡＭなどの書き換え可能なメモリである。
また、請求項１、８、手段１、２においてデータ格納手段とは、遊技の制御を行うＣＰＵなどが実行するプログラムや各種データテーブルなどのデータを格納する格納領域が割り当てられたＲＯＭやＲＡＭなどのメモリであり、書き換え可能なメモリであっても読み出し専用のメモリであっても良い。
【００３１】
本発明の手段３に記載のスロットマシンは、手段１または２に記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を０とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を１とする異常入賞判定用データ（許容されている役に割り当てられたビットの値を０とし、許容されていない役に割り当てられたビットの値を１とする異常入賞判定用フラグ）を設定し（特別役の当選番号及び一般役の当選番号を、許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする内部当選フラグに変換して、内部当選フラグの全ビット反転により異常入賞判定用フラグへ変換し）、
前記入賞結果データ設定手段は、前記可変表示装置の表示結果が導出された後、入賞の種類毎に割り当てられたビットのうち、該導出された表示結果に基づいて発生した入賞に割り当てられたビットの値を１とし、該導出された表示結果に基づいて発生していない入賞に割り当てられたビットの値を０とする入賞結果データ（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とする入賞図柄フラグ）を設定し（全リールの停止後にその停止図柄から入賞図柄フラグを作成し）、
前記演算手段は、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理積演算（異常入賞判定用フラグと入賞図柄フラグの論理積演算）し、
前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定する（論理積演算の結果が０か否かを判定し、０でない場合には、異常入賞と判定する）、
ことを特徴としている。
この特徴によれば、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理積演算し、その演算結果のうち、０以外の値が１つでもあるか否かを判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
尚、前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定しているが、前記演算手段により算出された各ビットの１と０を反転する演算を行った後、各ビットの値のうち、０が１つでもある場合に異常入賞と判定するようにしても良い。
また、前記演算手段が、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を否定論理積演算し、前記異常入賞判定手段が、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定するようにしても良い。
【００３２】
本発明の手段４に記載のスロットマシンは、手段１または２に記載のスロットマシンであって、
前記異常入賞判定用データ設定手段は、入賞の種類毎に割り当てられたビットのうち、当該ゲームにおいて許容されている入賞に割り当てられたビットの値を１とし、当該ゲームにおいて許容されていない入賞に割り当てられたビットの値を０とする異常入賞判定用データ（許容されている役に割り当てられたビットの値を１とし、許容されていない役に割り当てられたビットの値を０とする異常入賞判定用フラグ）を設定し（特別役の当選番号及び一般役の当選番号を、異常入賞判定用フラグ（内部当選フラグ）に変換し、図５９に示す変形例）、
前記入賞結果データ設定手段は、前記可変表示装置の表示結果が導出された後、入賞の種類毎に割り当てられたビットのうち、該導出された表示結果に基づいて発生した入賞に割り当てられたビットの値を０とし、該導出された表示結果に基づいて発生していない入賞に割り当てられたビットの値を１とする入賞結果データ（入賞した役に割り当てられたビットの値を０とし、入賞していない役に割り当てられたビットの値を１とする入賞図柄フラグ）を設定し（入賞した役に割り当てられたビットの値を１とし、入賞していない役に割り当てられたビットの値を０とするデータを全ビット反転して入賞図柄フラグを作成し、図５９に示す変形例）、
前記演算手段は、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理和演算（異常入賞判定用フラグと入賞図柄フラグの論理和演算、図５９に示す変形例）し、
前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定する（論理和演算の結果、ＦＦＦＦＨ以外かどうか、すなわち０が１ビットでも含まれているか否かを判定し、ＦＦＦＦＨ以外であれば異常入賞と判定する、図５９に示す変形例）、
ことを特徴としている。
この特徴によれば、異常入賞か否かの判定を行う際には、異常入賞判定用データ及び入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を論理和演算し、その演算結果のうち、１つでも０があるか否かを判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している入賞の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
尚、前記異常入賞判定手段は、前記演算手段により算出された各ビットの値のうち、０が１つでもある場合に異常入賞と判定しているが、前記演算手段により算出された各ビットの１と０を反転する演算を行った後、各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定するようにしても良い。
また、前記演算手段が、前記異常入賞判定用データ及び前記入賞結果データにおいて同一の種類の入賞が割り当てられたビット同士の値を否定論理和演算し、前記異常入賞判定手段が、前記演算手段により算出された各ビットの値のうち、０以外の値が１つでもある場合に異常入賞と判定するようにしても良い。
【００３３】
本発明の請求項１３に記載のスロットマシンは、請求項１〜１２、手段１〜４のいずれかに記載のスロットマシンであって、
１ゲーム毎に前記許容段階記憶領域に記憶されている許容段階を示すデータが前記許容段階選択手段により選択可能な許容段階を示す適正なデータであるか否かを判定する許容段階データ判定手段（ＣＰＵ４１ａは、設定値ワークから読み出された設定値が１〜６の範囲の値か否かを判定する）を備え、
前記不能化手段は、前記許容段階データ判定手段により前記許容段階記憶領域に記憶されている許容段階を示すデータが適正なデータではないと判定されたときにも、ゲームの進行を不能化する（ＣＰＵ４１ａは、設定値ワークから読み出された設定値が１〜６の範囲でないと判定したときにＲＡＭ異常エラー状態に制御する）、
ことを特徴としている。
この特徴によれば、入賞の発生が許容される割合を定めた許容段階を示すデータが適正か否かが１ゲーム毎に判定され、許容段階を示すデータが適正でないと判定された場合にはゲームの進行が不能化される。すなわち許容段階を示すデータが許容段階選択手段により選択可能な許容段階を示す適正なデータでなければゲームの進行が不能化される。このゲームの進行が不能化された状態は、設定操作手段の操作に基づいて許容段階（設定値）が新たに選択・設定されることで解除される。このため、データ化けなどにより、許容段階を示すデータが適正でない場合には、スロットマシンにより自動的に設定された許容段階ではなく、設定操作手段の操作に基づいて選択・設定された許容段階（一般的に、設定操作手段の操作は遊技店の従業員により操作されるので、遊技店側が選択した許容段階である）に基づいてゲームが行われることとなるので、ゲームの公平性を図ることができる。
【００３４】
本発明の請求項１４に記載のスロットマシンは、請求項１〜１３、手段１〜４のいずれかに記載のスロットマシンであって、
遊技の制御を行うメイン制御手段（ＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを含むメイン制御部４１）を備え、
前記記憶データ判定手段は、前記メイン制御手段の起動時にのみ前記データ記憶手段に記憶されているデータが正常か否かを判定する（起動処理においてのみＲＡＭパリティの判定及び破壊診断用データの判定を行う）、
ことを特徴としている。
この特徴によれば、データ記憶手段に記憶されたデータに異常が生じるのは、停電時やメイン制御手段の制御に不具合が生じて制御を続行できないときがほとんどであるため、これらの状態から復旧してメイン制御手段が起動するときにおいてのみデータが正常か否かの判定を行うことで、当該判定をデータに異常が生じている可能性が高い状況においてのみ行うようにできる。すなわちデータに異常が生じている可能性の低い状況では、当該判定を行わずに済み、メイン制御手段の負荷を軽減させることができる。
【００３５】
本発明の請求項１５に記載のスロットマシンは、請求項１〜１４、手段１〜４のいずれかに記載のスロットマシンであって、
遊技の制御を行うメイン制御手段（ＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを含むメイン制御部４１）と、
前記スロットマシンで用いられる所定の電力の状態（電源電圧）を監視し、電力供給が断たれたことに関わる電断条件が成立しているとき（電圧低下を検出したとき）に電断信号（電圧低下信号）を出力する電断検出手段（電断検出回路４８）と、
を備え、
前記メイン制御手段は、
前記データ記憶手段（ＲＡＭ４１ｃ）における記憶領域のデータを所定の演算方法（排他的論理和演算）にて計算するデータ演算手段（ＣＰＵ４１ａによるＲＡＭパリティの計算）と、
前記電断検出手段から出力された前記電断信号の入力を契機に、前記データ演算手段による計算結果を特定の値（０）とするための調整用データ（パリティ調整用データ）を算出し、該算出した調整用データを前記データ記憶手段に格納する電断処理を実行する電断処理実行手段（ＣＰＵ４１ａによる電断割込処理）と、
を含み、
前記記憶データ判定手段は、前記メイン制御手段の起動時に、前記データ演算手段による計算結果が前記特定の値か否かを判定し、該データ演算手段による計算結果が前記特定の値であると判定したときに、前記データ記憶手段に記憶されているデータが正常であると判定し、該データ演算手段による計算結果が前記特定の値ではないと判定したときに、前記データ記憶手段に記憶されているデータを正常ではないと判定する（起動時にＲＡＭパリティを計算し、ＲＡＭパリティが０であることを条件にＲＡＭ４１ｃのデータが正常であると判定し、ＲＡＭパリティが０ではない場合にＲＡＭ４１ｃのデータが正常ではないと判定する）、
ことを特徴としている。
この特徴によれば、起動時において、データ記憶手段における記憶領域に格納されているデータを所定の演算方法にて計算した結果が特定の値か否かを判定するのみで、データ記憶手段に記憶されているデータが正常か否かを判定できるので、データが正常か否かの判定を正確にかつ簡便に行うことができる。
【００３６】
本発明の請求項１６に記載のスロットマシンは、請求項１〜１５、手段１〜４のいずれかに記載のスロットマシンであって、
遊技の制御を行うメイン制御手段（ＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを含むメイン制御部４１）を備え、
前記メイン制御手段は、
前記メイン制御手段の起動時に、前記設定操作手段（リセット／設定スイッチ３６）による前記許容段階（設定値）の設定操作が有効となる設定操作有効状態（設定変更モード）へ移行させるための移行操作手段（設定キースイッチ３７）の操作がなされているか否かを判定する移行操作判定手段（ＣＰＵ４１ａによる設定キースイッチ３７のＯＮ／ＯＦＦ判定）と、
前記メイン制御手段の起動時において、前記移行操作判定手段により前記移行操作手段の操作がなされていると判定されたことを条件に、前記設定操作有効状態へ移行させる設定操作有効状態移行手段（ＣＰＵ４１ａによる設定変更処理への移行）と、
を含み、
前記初期化手段（ＣＰＵ４１ａによるＲＡＭ４１ｃの初期化）は、前記メイン制御手段の起動時において、前記移行操作判定手段により前記移行操作手段の操作がなされていると判定され、前記設定操作有効状態移行手段が前記設定操作有効状態に移行させることに伴って、前記データ記憶手段において前記メイン制御手段が使用中のデータが格納されている領域を除く全ての領域を初期化し（設定変更処理の前に初期化１を行い、使用中スタック領域を除く全ての領域を初期化する）、
前記移行操作判定手段は、前記メイン制御手段の起動時において、前記記憶データ判定手段が前記データ記憶手段に記憶されているデータが正常か否かを判定する前に、前記移行操作手段の操作がなされているか否かを判定し（起動時においてＲＡＭパリティの判定及び破壊診断用データの判定を行う前に、設定キースイッチ３７のＯＮ／ＯＦＦ判定を行う）、
前記記憶データ判定手段は、前記移行操作判定手段により前記移行操作手段の操作がなされていないと判定されたときに、前記データ記憶手段に記憶されているデータが正常か否かを判定する（起動時において設定キースイッチ３７がＯＦＦの場合にＲＡＭパリティの判定及び破壊診断用データの判定を行う）、
ことを特徴としている。
この特徴によれば、データ記憶手段のデータに異常が生じて、遊技の進行が不能化された場合には、遊技の進行が不能化された状態を解除する条件となる許容段階の設定が有効となる設定操作有効状態へ移行することに伴って、データ記憶手段においてメイン制御手段が使用中のデータが格納されている領域を除く全ての領域が初期化されるので、データ記憶手段のデータに異常が生じたことに伴うデータの初期化及び許容段階の設定に伴うデータの初期化を１度で行うことができ、無駄な処理を省くことができる。更に、メイン制御手段の起動時には、記憶データ判定手段がデータが正常か否かを判定する前に、移行操作判定手段が移行操作手段の操作がなされているか否かを判定し、その時点で移行操作手段の操作がなされていると判定した場合には、記憶データ判定手段による判定は行わず、設定操作有効状態に移行し、新たに許容段階の設定が行われることとなり、この場合にも無駄な処理を省くことができる。
【００３７】
尚、請求項１４〜１６において前記メイン制御手段の起動時とは、前記遊技球を用いたスロットマシンへの電力供給が開始されたこと（電源投入）に伴いメイン制御手段が起動するときや、メイン制御手段に不具合（一定時間以上の動作の停止等）が生じたことに伴うリセット信号の入力によりメイン制御手段が再起動するときが該当する。
【００３８】
本発明の請求項１７に記載のスロットマシンは、請求項１〜１６、手段１〜４のいずれかに記載のスロットマシンであって、
遊技の制御を行うメイン制御手段（ＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを含むメイン制御部４１）を搭載したメイン制御基板（遊技制御基板４０）と、
前記メイン制御手段から送信された制御情報（コマンド）の受信に基づき演出の制御を行うサブ制御手段（サブ制御部９１）を搭載したサブ制御基板（演出制御基板９０）と、
前記メイン制御基板と前記サブ制御基板とを通信可能に接続する中継基板（中継基板８０）と、
を備える、
ことを特徴としている。
この特徴によれば、メイン制御基板とサブ制御基板とが中継基板を介して通信可能に接続されており、メイン制御基板にサブ制御基板が直接接続されていないので、制御情報の送信線等からメイン制御手段に対して外部から不正な信号が入力され、遊技の制御に影響を与えられてしまうことを防止できる。
【図面の簡単な説明】
【００３９】
【図１】本発明が適用された実施例１のスロットマシンの正面図である。
【図２】リールの図柄配列を示す図である。
【図３】スロットマシンの構成を示すブロック図である。
【図４】（ａ）は、特別役格納ワーク（iwin_bonus）の構成を示す図である。（ｂ）は、一般役格納ワーク（iwin_gen）の構成を示す図である。
【図５】（ａ）は、当選役テーブルを示す図である。（ｂ）は、実施例１の役別テーブルを示す図である。
【図６】実施例１の役別テーブルに登録されたアドレスに基づいて取得される判定値数の記憶領域を示す図である。
【図７】（ａ）（ｂ）は、通常遊技状態における、（ｃ）はチャレンジボーナス中における、（ｄ）はレギュラーボーナス中における、内部抽選用の乱数の値及び各役の判定値数と、当選役との関係の例をそれぞれ示す図である。
【図８】（ａ）は乱数発生回路の構成を詳細に示すブロック図である。（ｂ）は乱数発生回路から抽出した乱数をＣＰＵがソフトウェアにより内部抽選用の乱数に加工するまでの説明図である。
【図９】実施例１のＲＯＭ４１ｂに格納された停止制御用データの構成を示す図である。
【図１０】実施例１の停止制御用データ選択処理の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図１１】実施例１の停止制御用データ選択処理の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図１２】実施例１の異常入賞判定処理の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図１３】実施例１のＲＯＭ４１ｂに格納された番号／フラグ変換テーブルの構成を示す図である。
【図１４】実施例１の当選フラグ変換処理の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図１５】実施例１の当選フラグ変換処理の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図１６】メイン制御部のＲＡＭの格納領域の構成を示す図である。
【図１７】（ａ）は、メイン制御部のＣＰＵが行う初期化１〜４において初期化される領域を示す図である。（ｂ）は、メイン制御部のＲＯＭに格納された初期化テーブルを示す図である。
【図１８】賭数の設定が許容される期間及びクレジットの精算が許容される期間を示すタイミングチャートである。
【図１９】賭数の設定が許容される期間及びクレジットの精算が許容される期間を示すタイミングチャートである。
【図２０】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、ＢＢ入賞時演出（エンディング演出）との関係を示すタイミングチャートである。
【図２１】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、ＢＢ入賞時演出（エンディング演出）との関係を示すタイミングチャートである。
【図２２】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、ＢＢ入賞時演出（エンディング演出）との関係を示すタイミングチャートである。
【図２３】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、ＢＢ入賞時演出（エンディング演出）との関係を示すタイミングチャートである。
【図２４】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、エンディング演出との関係を示すタイミングチャートである。
【図２５】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、エンディング演出との関係を示すタイミングチャートである。
【図２６】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、エンディング演出との関係を示すタイミングチャートである。
【図２７】賭数の設定が許容される期間及びクレジットの精算が許容される期間と、エンディング演出との関係を示すタイミングチャートである。
【図２８】メイン制御部のＣＰＵが起動時に実行する起動処理の制御内容を示すフローチャートである。
【図２９】メイン制御部のＣＰＵがエラー発生時に実行するエラー処理の制御内容を示すフローチャートである。
【図３０】メイン制御部のＣＰＵが起動処理において実行する設定変更処理の制御内容を示すフローチャートである。
【図３１】メイン制御部のＣＰＵが起動処理後に実行するゲーム処理の制御内容を示すフローチャートである。
【図３２】メイン制御部のＣＰＵがゲーム制御処理において実行するＢＥＴ処理の制御内容を示すフローチャートである。
【図３３】メイン制御部のＣＰＵがゲーム制御処理において実行するＢＥＴ処理の制御内容を示すフローチャートである。
【図３４】メイン制御部のＣＰＵがＢＥＴ処理などにおいて実行する精算処理の制御内容を示すフローチャートである。
【図３５】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する内部抽選処理の制御内容を示すフローチャートである。
【図３６】メイン制御部のＣＰＵが内部抽選処理において実行する乱数取得処理の制御内容を示すフローチャートである。
【図３７】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する停止制御用データ選択処理の制御内容を示すフローチャートである。
【図３８】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する当選フラグ格納処理の制御内容を示すフローチャートである。
【図３９】メイン制御部のＣＰＵがゲーム処理において実行するリール回転処理の制御内容を示すフローチャートである。
【図４０】メイン制御部のＣＰＵがゲーム処理において実行する入賞判定処理の制御内容を示すフローチャートである。
【図４１】メイン制御部のＣＰＵが入賞判定処理において実行する入賞時処理の制御内容を示すフローチャートである。
【図４２】メイン制御部のＣＰＵがゲーム処理において実行するゲーム終了時処理の制御内容を示すフローチャートである。
【図４３】メイン制御部のＣＰＵがゲーム処理において実行するゲーム終了時処理の制御内容を示すフローチャートである。
【図４４】メイン制御部のＣＰＵがゲーム終了時処において実行する演出待ち処理の制御内容を示すフローチャートである。
【図４５】メイン制御部のＣＰＵが定期的に実行するタイマ割込処理の制御内容を示すフローチャートである。
【図４６】メイン制御部のＣＰＵが定期的に実行するタイマ割込処理の制御内容を示すフローチャートである。
【図４７】メイン制御部のＣＰＵが、電断検出回路から電圧低下信号の入力されることによって実行する電断割込処理の制御内容を示すフローチャートである。
【図４８】メイン制御部のＣＰＵが起動処理において実行する初期化１の制御内容を示すフローチャートである。
【図４９】メイン制御部のＣＰＵが初期化１〜４において実行するＲＡＭクリア処理の制御内容を示すフローチャートである。
【図５０】メイン制御部のＣＰＵがビッグボーナス終了時に実行する初期化２の制御内容を示すフローチャートである。
【図５１】メイン制御部のＣＰＵが起動処理において実行する初期化３の制御内容を示すフローチャートである。
【図５２】メイン制御部のＣＰＵが１ゲーム終了毎に実行する初期化４の制御内容を示すフローチャートである。
【図５３】サブ制御部のＣＰＵが起動時に実行する起動処理（サブ）の制御内容を示すフローチャートである。
【図５４】サブ制御部のＣＰＵが、定期的に実行するタイマ割込処理（サブ）の制御内容を示すフローチャートである。
【図５５】サブ制御部のＣＰＵがタイマ割込処理（サブ）において実行する制御パターン設定処理の制御内容を示すフローチャートである。
【図５６】サブ制御部のＣＰＵがタイマ割込処理（サブ）において実行する制御パターン設定処理の制御内容を示すフローチャートである。
【図５７】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する入賞判定処理の変形例の制御内容の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図５８】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する入賞判定処理の変形例の制御内容の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図５９】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する入賞判定処理の変形例の制御内容の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図６０】実施例１においてメイン制御部のＣＰＵがゲーム処理において実行する当選フラグ格納処理の変形例の制御内容の流れと、その時に用いられるレジスタ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃの格納状況の例を示す図である。
【図６１】乱数発生回路から抽出した乱数をＣＰＵがソフトウェアにより内部抽選用の乱数に加工するまでの処理の第１の変形例の説明図である。
【図６２】乱数発生回路から抽出した乱数をＣＰＵがソフトウェアにより内部抽選用の乱数に加工するまでの処理の第２の変形例の説明図である。
【図６３】（ａ）は、メイン制御部におけるＲＡＭの格納領域の変形例を示す図である。（ｂ）は、初期化テーブルの変形例を示す図である。
【図６４】メイン制御部のＣＰＵが実行する初期化１の変形例を示す図である。
【図６５】スロットマシンの構成の変形例を示すブロック図である。
【図６６】（ａ）は、実施例２に用いる特別役格納ワーク（iwin_bonus）の構成を示す図である。（ｂ）は、実施例２に用いる一般役格納ワーク（iwin_gen）の構成を示す図である。
【図６７】実施例２に用いるＲＯＭ４１ｂに格納された停止制御用データの構成を示す図である。
【図６８】実施例２においてメイン制御部のＣＰＵがゲーム処理において実行する内部抽選処理の制御内容を示すフローチャートである。
【図６９】実施例２においてメイン制御部のＣＰＵがゲーム処理において実行する停止制御用データ選択処理の制御内容を示すフローチャートである。
【図７０】実施例２においてメイン制御部のＣＰＵがゲーム処理において実行する当選フラグ格納処理の制御内容を示すフローチャートである。
【発明を実施するための形態】
【００４０】
本発明の実施例を以下に説明する。
【実施例１】
【００４１】
本発明が適用されたスロットマシンの実施例１を図面を用いて説明すると、本実施例のスロットマシン１は、前面が開口する筐体（図示略）と、この筺体の側端に回動自在に枢支された前面扉と、から構成されている。
【００４２】
本実施例のスロットマシン１の筐体内部には、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リールともいう）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉に設けられた透視窓３から見えるように配置されている。
【００４３】
リール２Ｌ、２Ｃ、２Ｒの外周部には、図２に示すように、それぞれ「赤７（図中黒７）」、「白７」、「ＢＡＲ」、「リプレイ」、「スイカ」、「チェリー」、「ベル」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、透視窓３において各々上中下三段に表示される。
【００４４】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図３参照）によって回転させることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示されるとともに、各リール２Ｌ、２Ｃ、２Ｒの回転を停止させることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００４５】
また、前面扉には、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いてメダル１枚分の賭数を設定する際に操作される１枚ＢＥＴスイッチ５、クレジットを用いて、その範囲内において遊技状態に応じて定められた規定数の賭数（本実施例では後述の通常遊技状態においては３、後述のチャレンジボーナス及びレギュラーボーナスにおいては２）を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒが設けられている。
【００４６】
また、前面扉には、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、後述するビッグボーナス中のメダルの獲得枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器１２、入賞の発生により払い出されたメダル枚数が表示されるペイアウト表示器１３が設けられている。
【００４７】
また、前面扉には、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられている。
【００４８】
また、ＭＡＸＢＥＴスイッチ６の内部には、１枚ＢＥＴスイッチ５及びＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図３参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図３参照）がそれぞれ設けられている。
【００４９】
また、前面扉の内側には、所定のキー操作により後述するＲＡＭ異常エラー及び異常入賞エラーを除くエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、メダル投入部４から投入されたメダルの流路を、筐体内部に設けられた後述のホッパータンク（図示略）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク側に流下したメダルを検出する投入メダルセンサ３１が設けられている。
【００５０】
筐体内部には、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３からなるリールユニット（図示略）、メダル投入部４から投入されたメダルを貯留するホッパータンク（図示略）、ホッパータンクに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４、ホッパーモータ３４の駆動により払い出されたメダルを検出する払出センサ３５、電源ボックス（図示略）が設けられている。
【００５１】
電源ボックスの前面には、後述のビッグボーナス終了時に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６、起動時に設定変更モードに切り替えるための設定キースイッチ３７、通常時においてはＲＡＭ異常エラー及び異常入賞エラーを除くエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更モードにおいては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をＯＮ／ＯＦＦする際に操作される電源スイッチ３９が設けられている。
【００５２】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するには１枚ＢＥＴスイッチ５、またはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬ１〜Ｌ５（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、本実施例では、規定数の賭数として後述する通常遊技状態においては３枚が定められており、後述するレギュラーボーナス及びチャレンジボーナス中においては、２枚が定められている。尚、遊技状態に対応する規定数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００５３】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００５４】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、有効化されたいずれかの入賞ラインＬ１〜Ｌ５上に予め定められた図柄の組み合わせ（以下、役とも呼ぶ）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。尚、有効化された複数の入賞ライン上にメダルの払出を伴う図柄の組み合わせが揃った場合には、有効化された入賞ラインに揃った図柄の組み合わせそれぞれに対して定められた払出枚数を合計し、合計した枚数のメダルが遊技者に対して付与されることとなる。ただし、１ゲームで付与されるメダルの払出枚数には、上限（本実施例では、１５枚）が定められており、合計した払出枚数が上限を超える場合には、上限枚数のメダルが付与されることとなる。また、有効化されたいずれかの入賞ラインＬ１〜Ｌ５上に、遊技状態の移行を伴う図柄の組み合わせが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
【００５５】
図３は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図３に示すように、遊技制御基板４０、演出制御基板９０、電源基板１００が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１００によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００５６】
電源基板１００には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び遊技制御基板４０を介して接続された演出制御基板９０に供給されるようになっている。また、電源基板１００には、前述したホッパーモータ３４、払出センサ３５、打止スイッチ３６、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００５７】
遊技制御基板４０には、前述した１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、投入メダルセンサ３１、リールセンサ３３が接続されているとともに、電源基板１００を介して前述した払出センサ３５、打止スイッチ３６、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
【００５８】
また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、ペイアウト表示器１３、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ１０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１００を介して前述したホッパーモータ３４が接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００５９】
遊技制御基板４０には、ＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを備えたマイクロコンピュータからなり、遊技の制御を行うメイン制御部４１、所定範囲（本実施例では０〜６５５３５）の乱数を発生させる乱数発生回路４２、乱数発生回路から乱数を取得するサンプリング回路４３、遊技制御基板４０に直接または電源基板１００を介して接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路４４、リールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動制御を行うモータ駆動回路４５、流路切替ソレノイド３０の駆動制御を行うソレノイド駆動回路４６、遊技制御基板４０に接続された各種表示器やＬＥＤの駆動制御を行うＬＥＤ駆動回路４７、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する電断検出回路４８、電源投入時またはＣＰＵ４１ａからの初期化命令が入力されないときにＣＰＵ４１ａにリセット信号を与えるリセット回路４９、その他各種デバイス、回路が搭載されている。
【００６０】
ＣＰＵ４１ａには、処理を実行するのに必要なデータの読み出し及び書き込みが行われる複数のレジスタ（記憶領域）が設けられている。詳しくは、主に演算用データが格納されるＡ、Ｆレジスタ（フラグレジスタ）、汎用データが格納されるＢ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタ、実行中のプログラムの位置を示すデータが格納されるＰＣレジスタ、スタックポインタ（後述するスタック領域の現在の位置を示すアドレス）が格納されるＳＰレジスタ、後述するリフレッシュ動作を行うＲＡＭ４１ｃのメモリブロックを示すデータが格納されるＲレジスタ、ＲＡＭ４１ｃの格納領域を参照する際の基準となる位置を示すデータが格納されるＩＸ、ＩＹレジスタ、割込発生時に参照する割込テーブルの位置を示すデータが格納されるＩレジスタが設けられている。
【００６１】
ＣＰＵ４１ａは、計時機能、タイマ割込などの割込機能（割込禁止機能を含む）を備え、ＲＯＭ４１ｂに記憶されたプログラム（後述）を実行して、遊技の進行に関する処理を行うととともに、遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御する。ＲＯＭ４１ｂは、ＣＰＵ４１ａが実行するプログラムや各種テーブル等の固定的なデータを記憶する。ＲＡＭ４１ｃは、ＣＰＵ４１ａがプログラムを実行する際のワーク領域等として使用される。Ｉ／Ｏポート４１ｄは、メイン制御部４１が備える信号入出力端子を介して接続された各回路との間で制御信号を入出力する。
【００６２】
メイン制御部４１は、信号入力端子ＤＡＴＡを備えており、遊技制御基板４０に接続された各種スイッチ類の検出状態がこれら信号入力端子ＤＡＴＡを介して入力ポートに入力される。これら信号入力端子ＤＡＴＡの入力状態は、ＣＰＵ４１ａにより監視されており、ＣＰＵ４１ａは、信号入力端子ＤＡＴＡの入力状態、すなわち各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
【００６３】
また、ＣＰＵ４１ａは、前述のように割込機能を備えており、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、割込１〜４の４種類の割込を実行可能であり、各割込毎にカウンタモード（信号入力端子ＤＡＴＡとは別個に設けられたトリガー端子ＣＬＫ／ＴＲＧからの信号入力に応じて外部割込を発生させる割込モード）とタイマモード（ＣＰＵ４１ａのクロック入力数に応じて内部割込を発生させる割込モード）のいずれかを選択して設定できるようになっている。
【００６４】
本実施例では、割込１〜４のうち、割込２がカウンタモードに設定され、割込３がタイマモードに設定され、割込１、４は未使用とされている。トリガー端子ＣＬＫ／ＴＲＧは、前述した電断検出回路４８と接続されており、ＣＰＵ４１ａは電断検出回路４８から出力された電圧低下信号の入力に応じて割込２を発生させて後述する電断割込処理を実行する。また、ＣＰＵ４１ａは、クロック入力数が一定数に到達する毎、すなわち一定時間間隔毎に割込３を発生させて後述するタイマ割込処理を実行する。また、割込１、４は、未使用に設定されているが、ノイズ等によって割込１、４が発生することがあり得る。このため、ＣＰＵ４１ａは、割込１、４が発生した場合に、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
【００６５】
また、ＣＰＵ４１ａは、割込１〜４のいずれかの割込の発生に基づく割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、割込２、３、１、４の順番で優先して実行する割込が設定されている。すなわち割込２とその他の割込が同時に発生した場合には、割込２を優先して実行し、割込３と割込１または４が同時に発生した場合には、割込３を優先して実行するようになっている。
【００６６】
また、ＣＰＵ４１ａは、割込１〜４のいずれかの割込の発生に基づく割込処理の開始時に、レジスタに格納されている使用中のデータをＲＡＭ４１ｃに設けられた後述のスタック領域に一時的に退避させるとともに、当該割込処理の終了時にスタック領域に退避させたデータをもとのレジスタに復帰させるようになっている。
【００６７】
ＲＡＭ４１ｃには、ＤＲＡＭ（Dynamic  RAM）が使用されており、記憶しているデータ内容を維持するためのリフレッシュ動作が必要となる。ＣＰＵ４１ａには、このリフレッシュ動作を行うための前述したＲ（リフレッシュ）レジスタが設けられている。Ｒレジスタは、８ビットからなり、そのうちの下位７ビットが、ＣＰＵ４１ａがＲＯＭ４１ｂから命令をフェッチする度に自動的にインクリメントされるもので、その値の更新は、１命令の実行時間毎に行われる。
【００６８】
また、メイン制御部４１には、停電時においてもバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＣＰＵ４１ａによりリフレッシュ動作が行われてＲＡＭ４１ｃに記憶されているデータが保持されるようになっている。
【００６９】
乱数発生回路４２は、後述するように所定数のパルスを発生する度にカウントアップして値を更新するカウンタによって構成され、サンプリング回路４３は、乱数発生回路４２がカウントしている数値を取得する。乱数発生回路４２は、乱数の種類毎にカウントする数値の範囲が定められており、本実施例では、その範囲として０〜６５５３５が定められている。ＣＰＵ４１ａは、その処理に応じてサンプリング回路４３に指示を送ることで、乱数発生回路４２が示している数値を乱数として取得する（以下、この機能をハードウェア乱数機能という）。後述する内部抽選用の乱数は、ハードウェア乱数機能により抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工して使用するが、その詳細については詳しく説明する。また、ＣＰＵ４１ａは、前述のタイマ割込処理により、ＲＡＭ４１ｃの特定アドレスの数値を更新し、こうして更新された数値を乱数として取得する機能も有する（以下、この機能をソフトウェア乱数機能という）。
【００７０】
ＣＰＵ４１ａは、Ｉ／Ｏポート４１ｄを介して演出制御基板９０に、各種のコマンドを送信する。遊技制御基板４０から演出制御基板９０へ送信されるコマンドは一方向のみで送られ、演出制御基板９０から遊技制御基板４０へ向けてコマンドが送られることはない。遊技制御基板４０から演出制御基板９０へ送信されるコマンドの伝送ラインは、ストローブ（ＩＮＴ）信号ライン、データ伝送ライン、グラウンドラインから構成されているとともに、演出中継基板８０を介して接続されており、遊技制御基板４０と演出制御基板９０とが直接接続されない構成とされている。
【００７１】
演出制御基板９０には、スロットマシン１の前面扉に配置された液晶表示器５１（図１参照）、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の電気部品が接続されており、これら電気部品は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。
【００７２】
演出制御基板９０には、メイン制御部４１と同様にＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部９１、演出制御基板９０に接続された液晶表示器５１の駆動制御を行う液晶駆動回路９２、演出効果ＬＥＤ５２、リールＬＥＤ５５の駆動制御を行うランプ駆動回路９３、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４、電源投入時またはＣＰＵ９１ａからの初期化命令が入力されないときにＣＰＵ９１ａにリセット信号を与えるリセット回路９５、その他の回路等、が搭載されており、ＣＰＵ９１ａは、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【００７３】
ＣＰＵ９１ａは、メイン制御部４１のＣＰＵ４１ａと同様に、タイマ割込などの割込機能（割込禁止機能を含む）を備える。サブ制御部９１の割込端子（図示略）は、コマンド伝送ラインのうち、メイン制御部４１がコマンドを送信する際に出力するストローブ（ＩＮＴ）信号線に接続されており、ＣＰＵ９１ａは、ストローブ信号の入力に基づいて割込を発生させて、メイン制御部４１からのコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、ＣＰＵ９１ａは、クロック入力数が一定数に到達する毎、すなわち一定時間間隔毎に割込を発生させてタイマ割込処理（サブ）を実行する。また、ＣＰＵ９１ａにおいても未使用の割込が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。
【００７４】
また、ＣＰＵ９１ａは、ＣＰＵ４１ａとは異なり、ストローブ信号（ＩＮＴ）の入力に基づいて割込が発生した場合には、他の割込に基づく割込処理の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、他の割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
【００７５】
また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＣＰＵ９１ａによりリフレッシュ動作が行われてＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【００７６】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものであり、後述する内部抽選の当選確率は、設定値に応じて定まるものとなる。以下、設定値の変更操作について説明する。
【００７７】
設定値を変更するためには、設定キースイッチ３７をＯＮ状態としてからスロットマシン１の電源をＯＮする必要がある。設定キースイッチ３７をＯＮ状態として電源をＯＮすると、設定値表示器２４に設定値の初期値として１が表示され、リセット／設定スイッチ３８の操作による設定値の変更操作が可能な設定変更モードに移行する。設定変更モードにおいて、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された設定値が１ずつ更新されていく（設定６から更に操作されたときは、設定１に戻る）。そして、スタートスイッチ７が操作されると設定値が確定し、確定した設定値がメイン制御部４１のＲＡＭ４１ｃに格納される。そして、設定キースイッチ３７がＯＦＦされると、遊技の進行が可能な状態に移行する。
【００７８】
本実施例のスロットマシン１においては、メイン制御部４１のＣＰＵ４１ａが電圧低下信号を検出した際に、電断割込処理を実行する。電断割込処理では、レジスタを後述するＲＡＭ４１ｃのスタックに退避し、メイン制御部４１のＲＡＭ４１ｃにいずれかのビットが１となる破壊診断用データ（本実施例では、５ＡＨ）、すなわち０以外の特定のデータを格納するとともに、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、ＲＡＭ４１ｃに格納する処理を行うようになっている。尚、ＲＡＭパリティとはＲＡＭ４１ｃの該当する領域（本実施例では、全ての領域）の各ビットに格納されている値の排他的論理和として算出される値である。このため、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０であれば、ＲＡＭパリティ調整用データは０となり、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが１であれば、ＲＡＭパリティ調整用データは１となる。
【００７９】
そして、ＣＰＵ４１ａは、その起動時においてＲＡＭ４１ｃの全ての領域に格納されたデータに基づいてＲＡＭパリティを計算するとともに、破壊診断用データの値を確認し、ＲＡＭパリティが０であり、かつ破壊診断用データの値も正しいことを条件に、ＲＡＭ４１ｃに記憶されているデータに基づいてＣＰＵ４１ａの処理状態を電断前の状態に復帰させるが、ＲＡＭパリティが０でない場合（１の場合）や破壊診断用データの値が正しくない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、ＲＡＭ異常エラー状態は、他のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
【００８０】
また、ＣＰＵ４１ａは、後述する内部抽選処理において内部抽選に用いる設定値が適正な値であるか否かを判定するとともに、設定された賭数が遊技状態に応じた賭数であるか否かを判定する。
【００８１】
そして、内部抽選に用いる設定値が適正な値でない場合、または設定された賭数が遊技状態に応じた賭数ではない場合にも、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、前述のようにＲＡＭ異常エラー状態は、他のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
【００８２】
本実施例のスロットマシン１は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。本実施例では、後に説明するが、遊技状態として、レギュラーボーナス、チャレンジボーナス、通常遊技状態があり、このうちレギュラーボーナス及びチャレンジボーナスに対応する賭数の規定数として２が定められており、通常遊技状態に対応する賭数の規定数として３が定められている。このため、遊技状態がレギュラーボーナスまたはチャレンジボーナスにあるときには、賭数として２が設定されるとゲームを開始させることが可能となり、遊技状態が通常遊技状態にあるときには、賭数として３が設定されるとゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、全ての入賞ラインＬ１〜Ｌ５が有効化されるようになっており、遊技状態に応じた規定数が２であれば、賭数として２が設定された時点で全ての入賞ラインＬ１〜Ｌ５が有効化され、遊技状態に応じた規定数が３であれば、賭数として３が設定された時点で全ての入賞ラインＬ１〜Ｌ５が有効化されることとなる。
【００８３】
本実施例のスロットマシン１は、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ）上に役と呼ばれる図柄の組み合わせが揃うと入賞となる。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技状態の移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。
【００８４】
本実施例のスロットマシンにおいては、特別役としてビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナスが、小役としてチェリー、ベルが、再遊技役としてリプレイが定められている。このうちレギュラーボーナス及びチャレンジボーナスの遊技状態では、小役であるチェリー及びベルが、入賞となる役として定められており、通常遊技状態では、特別役であるビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、再遊技役であるリプレイ、小役であるチェリー、ベルが入賞となる役として定められている。
【００８５】
チェリーは、いずれの遊技状態においても左リールについて入賞ラインのいずれかに「チェリー」の図柄が導出されたときに入賞となり、１５枚のメダルが払い出される。ベルは、いずれの遊技状態においても入賞ラインのいずれかに「ベル−ベル−ベル」の組み合わせが揃ったときに入賞となり、通常遊技状態においては８枚、レギュラーボーナス及びチャレンジボーナスにおいては１５枚のメダルが払い出される。
【００８６】
リプレイは、通常遊技状態において入賞ラインのいずれかに「リプレイ−リプレイ−リプレイ」の組み合わせが揃ったときに入賞となるが、レギュラーボーナスやチャレンジボーナスでは、この組み合わせが揃ったとしてもリプレイ入賞とならない。リプレイ入賞したときには、メダルの払い出しはないが次のゲームを改めて賭数を設定することなく開始できるので、次のゲームで設定不要となった賭数（レギュラーボーナス及びチャレンジボーナスではリプレイ入賞しないので必ず３）に対応した３枚のメダルが払い出されるのと実質的には同じこととなる。
【００８７】
ビッグボーナス（１）は、通常遊技状態において入賞ラインのいずれかに「赤７−赤７−赤７」の組み合わせが揃ったときに入賞となり、ビッグボーナス（２）は、通常遊技状態において「白７−白７−白７」の組み合わせが揃ったときに入賞となる。ビッグボーナス（１）またはビッグボーナス（２）が入賞すると、遊技状態が通常遊技状態からビッグボーナスに移行する。更に、ビッグボーナスに移行すると同時に後述する内部抽選において通常遊技状態よりも高い確率で小役に当選するレギュラーボーナスに移行する。レギュラーボーナスは、１２ゲームを消化したとき、または８ゲーム入賞（役の種類は、いずれでも可）したとき、のいずれか早いほうで終了する。レギュラーボーナスが終了した際に、ビッグボーナスが終了していなければ再度レギュラーボーナスに移行し、ビッグボーナスが終了するまで繰り返しレギュラーボーナスに制御される。すなわちビッグボーナス中は、常にレギュラーボーナスに制御されることとなる。そして、ビッグボーナスは、当該ビッグボーナス中において遊技者に払い出したメダルの総数が３４５枚を超えたときに終了する。この際、レギュラーボーナスの終了条件が成立しているか否かに関わらずレギュラーボーナスも終了する。遊技状態がビッグボーナスにある間は、ビッグボーナス中フラグが、レギュラーボーナスにある間は、レギュラーボーナス中フラグが、それぞれＲＡＭ４１ｃに設定される。
【００８８】
チャレンジボーナスは、通常遊技状態において「ＢＡＲ−ＢＡＲ−ＢＡＲ」の組み合わせが揃ったときに入賞となる。チャレンジボーナスが入賞すると、遊技状態が通常遊技状態からチャレンジボーナスに移行する。チャレンジボーナスでは、ストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が検出されてから対応するリールが停止するまでの時間、すなわち図柄の引込範囲が通常遊技状態よりも制限されるものの、全ての小役の入賞が一律に許容された状態に制御される。そして、チャレンジボーナスは、当該チャレンジボーナス中において遊技者に払い出したメダルの総数が２５３枚を超えたときに終了する。遊技状態がチャレンジボーナスにある間は、チャレンジボーナス中フラグがＲＡＭ４１ｃに設定される。
【００８９】
尚、ビッグボーナス（１）、ビッグボーナス（２）及びチャレンジボーナスをまとめて、単に「ボーナス」と呼ぶ場合があるものとする。
【００９０】
遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選番号がＲＡＭ４１ｃに割り当てられた特別役格納ワーク（iwin_bonus）または一般役格納ワーク（iwin_gen）に設定されている必要がある。
【００９１】
図４（ａ）は、内部抽選で当選した特別役の当選番号を格納するためにＲＡＭ４１ｃに割り当てられた特別役格納ワーク（iwin_bonus）の構成を示す図であり、図４（ｂ）は、内部抽選で当選した一般役の当選番号を格納するためにＲＡＭ４１ｃに割り当てられた一般役格納ワーク（iwin_gen）の構成を示す図である。尚、以下では、１０進法表記で説明するものと、１６進法表記で説明するものと、があるが、単に数値を示すもの（例えば、「１０」）は１０進法表記を示し、数値の後ろにＨを示すもの（例えば、「１０Ｈ」）は１６進法表記を示すものとする。
【００９２】
特別役格納ワーク（iwin_bonus）は、図４（ａ）に示すように、１バイトからなる。このうち下位４ビットに当選した特別役の当選番号が格納され、上位４ビットは、未使用とされ、常に０Ｈが格納される。特別役格納ワーク（iwin_bonus）に０１Ｈが格納されている場合にはビッグボーナス（１）、０２Ｈが格納されている場合にはビッグボーナス（２）、０３Ｈが格納されている場合にはチャレンジボーナスの当選を示すこととなる。尚、００Ｈが格納されている場合には、いずれの特別役も当選していない旨、すなわち特別役のハズレを示すこととなる。
【００９３】
一般役格納ワーク（iwin_gen）は、図４（ｂ）に示すように、１バイトからなる。このうち下位４ビットに当選した一般役の役番号が格納され、上位４ビットは、未使用とされ、常に０Ｈが格納される。一般役格納ワーク（iwin_gen）に０１Ｈが格納されている場合にはチェリー、０２Ｈが格納されている場合にはベル、０３Ｈが格納されている場合にはリプレイの当選を示すこととなる。尚、００Ｈが格納されている場合には、いずれの一般役も当選していない旨、すなわち一般役のハズレを示すこととなる。
【００９４】
また、一般役格納ワーク（iwin_gen）に格納されている当選番号（００Ｈ含む）は、内部抽選が行われる毎にその抽選結果に基づいて更新されるのに対して、特別役格納ワーク（iwin_bonus）に格納されている当選番号（００Ｈ含む）は、内部抽選でいずれかの特別役が当選したときに、当選した特別役の当選番号に更新され、当該当選番号により許容された特別役が揃うまでその当選番号が維持されるとともに、当該当選番号により許容された特別役が揃ったときにハズレを示す００Ｈに更新されるようになっている。
【００９５】
このため、一般役の当選番号は、当該当選番号が設定されたゲームにおいてのみ有効とされるが、特別役の当選番号は、当該当選番号により許容された役が揃うまで有効とされる。すなわち特別役の当選番号が一度設定されると、例え、当該当選番号により許容された特別役を揃えることができなかった場合にも、その当選番号は、次のゲームへ持ち越されることとなる。
【００９６】
図５（ａ）は、当選役テーブル及び遊技状態に応じて抽選の対象となる役及び役の組み合わせを示す図である。当選役テーブルは、メイン制御部４１のＲＯＭ４１ｂに予め格納されており、内部抽選において抽選対象となる役及び役の組み合わせに対応して、抽選が行われる順番に割り当てられた役番号（０１Ｈ〜０９Ｈ）、その役番号の役及び役の組み合わせが当選した際に、特別役格納ワーク（iwin_bonus）、一般役格納ワーク（iwin_gen）に格納される当選番号がそれぞれ登録されている。
【００９７】
本実施例のスロットマシン１においては、図５（ａ）に示すように、遊技状態が、通常遊技状態であるか、チャレンジボーナスであるか、レギュラーボーナスであるか、によって抽選の対象となる役及び役の組み合わせが異なる。更に遊技状態が通常遊技状態である場合には、いずれかの特別役の持ち越し中か否か（特別役格納ワーク（iwin_bonus）にいずれかの特別役の当選番号が既に設定されているか否か）によっても抽選の対象となる役及び役の組み合わせが異なる。本実施例では、遊技状態に応じた状態番号が割り当てられており、内部抽選を行う際に、現在の遊技状態に応じた状態番号を設定し、この状態番号に応じて抽選対象となる役を特定することが可能となる。具体的には、通常遊技状態においていずれの特別役も持ち越されていない場合には、状態番号として「０」が設定され、通常遊技状態においていずれかの特別役が持ち越されている場合には、状態番号として「１」が設定され、チャレンジボーナスである場合には、状態番号として「２」が設定され、レギュラーボーナスである場合には、状態番号として「３」が設定されるようになっている。
【００９８】
図５（ａ）に示すように、遊技状態が通常遊技状態であり、いずれの特別役も持ち越されていない状態、すなわち状態番号として「０」が設定されている場合には、ビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、チャレンジボーナス＋チェリー、リプレイ、ベル、チェリー、すなわち全ての役及び役の組み合わせが内部抽選の対象となる。また、遊技状態が通常遊技状態であり、いずれかの特別役が持ち越されている状態、すなわち状態番号として「１」が設定されている場合には、リプレイ、ベル、チェリー、すなわち役番号０７Ｈ以降の役及び役の組み合わせが内部抽選の対象となる。また、遊技状態がチャレンジボーナス、すなわち状態番号として「２」が設定されている場合には、ベル、チェリー、すなわち役番号０８Ｈ以降の役及び役の組み合わせが内部抽選の対象となる。また、遊技状態がレギュラーボーナス、すなわち状態番号として「３」が設定されている場合には、ベル、チェリー、すなわち役番号０８Ｈ以降の役及び役の組み合わせが内部抽選の対象となる。
【００９９】
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出表示される以前に（実際には、スタートスイッチ７の検出時）決定するものである。内部抽選では、まず、後述するように内部抽選用の乱数（０〜６５５３５の整数）が取得される。そして、遊技状態に応じて定められた各役及び役の組み合わせについて、取得した内部抽選用の乱数と、遊技状態及び設定値に応じて定められた各役及び役の組み合わせの判定値数に応じて行われる。本実施例においては、各役及び役の組み合わせの判定値数から、一般役、特別役がそれぞれ単独で当選する判定値の範囲と、一般役及び特別役が重複して当選する判定値の範囲と、が特定されるようになっており、内部抽選における当選は、排他的なものではなく、１ゲームにおいて一般役と特別役とが同時に当選することがあり得る。
【０１００】
遊技状態に応じて定められた各役及び役の組み合わせの参照は、図５（ａ）に示した当選役テーブルに登録された役番号の順番で行われる。
【０１０１】
遊技状態が通常遊技状態であり、いずれの特別役も持ち越されていない状態、すなわち状態番号として「０」が設定されている場合には、当選役テーブルを参照し、役番号０１Ｈ〜０９Ｈの役及び役の組み合わせ、すなわちビッグボーナス（１）［役番号０１Ｈ］、ビッグボーナス（２）［役番号０２Ｈ］、チャレンジボーナス［役番号０３Ｈ］、ビッグボーナス（１）＋チェリー［役番号０４Ｈ］、ビッグボーナス（２）＋チェリー［役番号０５Ｈ］、チャレンジボーナス＋チェリー［役番号０６Ｈ］、リプレイ［役番号０７Ｈ］、ベル［役番号０８Ｈ］、チェリー［役番号０９Ｈ］が内部抽選の対象役として順に読み出される。
【０１０２】
また、遊技状態が通常遊技状態であり、いずれかの特別役が持ち越されている状態、すなわち状態番号として「１」が設定されている場合には、当選役テーブルを参照し、役番号０７Ｈ〜０９Ｈの役及び役の組み合わせ、すなわちリプレイ［役番号０７Ｈ］、ベル［役番号０８Ｈ］、チェリー［役番号０９Ｈ］が内部抽選の対象役として順に読み出される。
【０１０３】
また、遊技状態がチャレンジボーナス、すなわち状態番号として「２」が設定されている場合には、当選役テーブルを参照し、役番号０８Ｈ〜０９Ｈの役及び役の組み合わせ、すなわちベル［役番号０８Ｈ］、チェリー［役番号０９Ｈ］が内部抽選の対象役として順に読み出される。
【０１０４】
また、遊技状態がレギュラーボーナス、すなわち状態番号として「３」が設定されている場合には、当選役テーブルを参照し、役番号０８Ｈ〜０９Ｈの役及び役の組み合わせ、すなわちベル［役番号０８Ｈ］、チェリー［役番号０９Ｈ］が内部抽選の対象役として順に読み出される。
【０１０５】
内部抽選では、内部抽選の対象となる役または役の組み合わせについて定められた判定値数を、内部抽選用の乱数に順次加算し、加算の結果がオーバーフローしたときに、当該役または役の組み合わせに当選したものと判定される。
【０１０６】
そして、いずれかの役または役の組み合わせの当選が判定された場合には、当選役テーブルを参照し、当選が判定された役または役の組み合わせに対応する当選番号を特別役格納ワーク（iwin_bonus）及び一般役格納ワーク（iwin_gen）に格納する。
【０１０７】
ビッグボーナス（１）の当選が判定された場合には、特別役格納ワーク（iwin_bonus）に０１Ｈが格納され、一般役格納ワーク（iwin_gen）に００Ｈが格納される。ビッグボーナス（２）の当選が判定された場合には、特別役格納ワーク（iwin_bonus）に０２Ｈが格納され、一般役格納ワーク（iwin_gen）に００Ｈが格納される。チャレンジボーナスの当選が判定された場合には、特別役格納ワーク（iwin_bonus）に０３Ｈが格納され、一般役格納ワーク（iwin_gen）に００Ｈが格納される。ビッグボーナス（１）＋チェリーの当選が判定された場合には、特別役格納ワーク（iwin_bonus）に０１Ｈが格納され、一般役格納ワーク（iwin_gen）に０１Ｈが格納される。ビッグボーナス（２）＋チェリーの当選が判定された場合には、特別役格納ワーク（iwin_bonus）に０２Ｈが格納され、一般役格納ワーク（iwin_gen）に０１Ｈが格納される。チャレンジボーナス（２）＋チェリーの当選が判定された場合には、特別役格納ワーク（iwin_bonus）に０３Ｈが格納され、一般役格納ワーク（iwin_gen）に０１Ｈが格納される。リプレイの当選が判定された場合には、一般役格納ワーク（iwin_gen）に０３Ｈが格納される。ベルの当選が判定された場合には、一般役格納ワーク（iwin_gen）に０２Ｈが格納される。チェリーの当選が判定された場合には、一般役格納ワーク（iwin_gen）に０１Ｈが格納される。
【０１０８】
各役及び役の組み合わせの判定値数は、メイン制御部４１のＲＯＭに予め格納された役別テーブルに登録されている判定値数の格納アドレスに従って読み出されるものとなる。
【０１０９】
図５（ｂ）は、役別テーブルの例を示す図である。判定値数は、その値が２５６以上のものとなるものもあり、１バイト分では記憶できないので、判定値数毎に２バイト分の記憶領域を用いて登録されるものとなる。また、判定値数は、前述した遊技状態を特定可能な状態番号に対応して登録されている。同一の役または同一の役の組み合わせであっても、遊技状態に応じて当選確率が異なっている場合があるからである。また、それぞれの判定値数は、設定値に関わらずに共通になっているものと、設定値に応じて異なっているものとがある。判定値数が設定値に関わらずに共通である場合には、共通フラグが設定される（値が「１」とされる）。
【０１１０】
役別テーブルには、図５（ｂ）に示すように、ビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、チャレンジボーナス＋チェリー、リプレイ、ベル、チェリーの判定値数の格納アドレスが登録されている。
【０１１１】
ビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、チャレンジボーナス＋チェリーは、通常遊技状態においていずれの特別役も持ち越されていない場合に内部抽選の対象となる役であり、状態番号０に対応する判定値数の格納アドレスが登録されている。これらの役及び役の組み合わせについては、共通フラグが０となっており、設定値に応じて個別に判定値数の格納アドレスが登録されている。
【０１１２】
リプレイは、通常遊技状態において特別役が持ち越されているか否かに関わらず内部抽選の対象となる役であり、状態番号０、１に対応する判定値数の格納アドレスが登録されている。この役の共通フラグは１であり、設定値に関わらず共通の判定値数の格納アドレスが登録されている。
【０１１３】
ベルは、いずれの遊技状態においても内部抽選の対象となる役であり、状態番号０、１に対応する判定値数の格納アドレスと、状態番号２に対応する判定値数の格納アドレスと、状態番号３に対応する判定値数の格納アドレスと、がそれぞれ登録されている。この役の共通フラグは状態番号によって異なり、状態番号０、１、状態番号２については、共通フラグが０となっており、設定値に応じて個別に判定値数の格納アドレスが登録されている。また、状態番号３については、共通フラグが１となっており、設定値に関わらず共通の判定値数の格納アドレスが登録されている。
【０１１４】
チェリーは、いずれの遊技状態においても内部抽選の対象となる役であり、状態番号０に対応する判定値数の格納アドレスと、状態番号１に対応する判定値数の格納アドレスと、状態番号２に対応する判定値数の格納アドレスと、状態番号３に対応する判定値数の格納アドレスと、がそれぞれ登録されている。この役の共通フラグは状態番号によって異なり、状態番号０、状態番号１については、共通フラグが０となっており、設定値に応じて個別に判定値数の格納アドレスが登録されている。また、状態番号２、状態番号３については、共通フラグが１となっており、設定値に関わらず共通の判定値数の格納アドレスが登録されている。
【０１１５】
また、役別テーブルには、各役に入賞したときに払い出されるメダルの払出枚数も登録されている。もっとも、入賞したときにメダルの払い出し対象となる役は、小役であるチェリー及びベルだけである。チェリー及びベルは、いずれの遊技状態においても入賞が発生可能であるが、ベルについては、状態番号が２、３であるとき、すなわち遊技状態がチャレンジボーナスまたはレギュラーボーナスにあるときには、状態番号が０、１であるとき、すなわち遊技状態が通常遊技状態にあるときよりも多いメダルが払い出されるものとなる。
【０１１６】
ビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナスの入賞は、遊技状態の移行を伴うものであり、メダルの払い出し対象とはならない。リプレイでは、メダルの払い出しを伴わないが、次のゲーム（必ず通常遊技状態）で賭数の設定に用いるメダルの投入が不要となるので実質的には３枚の払い出しと変わらない。
【０１１７】
図６は、役別テーブルに登録されたアドレスに基づいて取得される判定値数の記憶領域を示す図である。この判定値数の記憶領域は、開発用の機種ではメイン制御部４１のＲＡＭ４１ｃに、量産機種ではメイン制御部４１のＲＯＭ４１ｂに割り当てられたアドレス領域に設けられている。
【０１１８】
例えばアドレスＡＤＤは、［状態番号０］の遊技状態、すなわち通常遊技状態でいずれの特別役も持ち越されていない状態において、内部抽選の対象役がビッグボーナス（１）であって設定値が１のときに参照されるアドレスであり、このときには、ここに格納された値である５０が判定値数として取得される。アドレスＡＤＤ＋２、ＡＤＤ＋４、ＡＤＤ＋６、ＡＤＤ＋８、ＡＤＤ＋１０は、［状態番号０］の遊技状態において、それぞれ内部抽選の対象役がビッグボーナス（１）であって設定値が２〜６のときに参照されるアドレスである。アドレスＡＤＤ＋１２、ＡＤＤ＋１４、ＡＤＤ＋１６、ＡＤＤ＋１８、ＡＤＤ＋２０、ＡＤＤ＋２２は、［状態番号０］の遊技状態において、それぞれ内部抽選の対象役がビッグボーナス（２）であって設定値が１〜６のときに参照されるアドレスである。アドレスＡＤＤ＋２４、ＡＤＤ＋２６、ＡＤＤ＋２８、ＡＤＤ＋３０、ＡＤＤ＋３２、ＡＤＤ＋３４は、［状態番号０］の遊技状態において、それぞれ内部抽選の対象役がチャレンジボーナスであって設定値が１〜６のときに参照されるアドレスである。
【０１１９】
また、アドレスＡＤＤ＋３６、ＡＤＤ＋３８、ＡＤＤ＋４０、ＡＤＤ＋４２、ＡＤＤ＋４４、ＡＤＤ＋４６は、［状態番号０］の遊技状態において、それぞれ内部抽選の対象役がビッグボーナス（１）＋チェリーであって設定値が１〜６のときに参照されるアドレスである。アドレスＡＤＤ＋４８、ＡＤＤ＋５０、ＡＤＤ＋５２、ＡＤＤ＋５４、ＡＤＤ＋５６、ＡＤＤ＋５８は、［状態番号０］の遊技状態において、それぞれ内部抽選の対象役がビッグボーナス（２）＋チェリーであって設定値が１〜６のときに参照されるアドレスである。アドレスＡＤＤ＋６０、ＡＤＤ＋６２、ＡＤＤ＋６４、ＡＤＤ＋６６、ＡＤＤ＋５８、ＡＤＤ＋７０は、それぞれ内部抽選の対象役がチャレンジボーナス＋チェリーであって設定値が１〜６のときに参照されるアドレスである。
【０１２０】
これら［状態番号０］の遊技状態、すなわち通常遊技状態においていずれの特別役も持ち越されていない状態におけるビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、チャレンジボーナス＋チェリーについては、設定値に応じて個別に判定値数が記憶され、しかも異なる判定値数が記憶されているので、設定値に応じてこれらの役及び役の組み合わせの当選確率が異なることとなる。
【０１２１】
アドレスＡＤＤ＋７２は、［状態番号０］及び［状態番号１］のとき、すなわち通常遊技状態において、内部抽選の対象役がリプレイであるときに設定値に関わらずに参照されるアドレスである。
【０１２２】
アドレスＡＤＤ＋７４、ＡＤＤ＋７６、ＡＤＤ＋７８、ＡＤＤ＋８０、ＡＤＤ＋８２、ＡＤＤ＋８４は、［状態番号０］及び［状態番号１］の遊技状態、すなわち通常遊技状態において、それぞれ内部抽選の対象役がベルであって設定値が１〜６のときに参照されるアドレスである。アドレスＡＤＤ＋８６、ＡＤＤ＋８８、ＡＤＤ＋９０、ＡＤＤ＋９２、ＡＤＤ＋９４、ＡＤＤ＋９６は、［状態番号２］の遊技状態、すなわちチャレンジボーナスにおいて、それぞれ内部抽選の対象役がベルであって設定値が１〜６のときに参照されるアドレスである。これら、［状態番号０］、［状態番号１］、［遊技状態２］の遊技状態におけるベルについては、設定値に応じて個別に判定値数が記憶されているが、設定値１〜４には共通の判定値数が記憶されており、設定値５、設定値６には異なる判定値数が記憶されているので、設定値１〜４のベルの当選確率は共通で、設定値５、設定値６のベルの当選確率は異なることとなる。
【０１２３】
アドレスＡＤＤ＋９８は、［状態番号３］の遊技状態、すなわちレギュラーボーナスにおいて、内部抽選の対象役がベルであるときに設定値に関わらずに参照されるアドレスである。
【０１２４】
アドレスＡＤＤ＋１００、ＡＤＤ＋１０２、ＡＤＤ＋１０４、ＡＤＤ＋１０６、ＡＤＤ＋１０８、ＡＤＤ＋１１０は、［状態番号０］の遊技状態、すなわち通常遊技状態においていずれの特別役も持ち越されていない状態において、内部抽選の対象役がチェリーであって設定値が１〜６のときに参照されるアドレスである。これら、［状態番号０］の遊技状態におけるチェリーについては、設定値に応じて個別に判定値数が記憶され、しかも異なる判定値数が記憶されているので、設定値に応じてチェリーの当選確率が異なることとなる。
【０１２５】
また、アドレスＡＤＤ＋１１２、ＡＤＤ＋１１４、ＡＤＤ＋１１６、ＡＤＤ＋１１８、ＡＤＤ＋１２０、ＡＤＤ＋１２２は、［状態番号１］の遊技状態、すなわち通常遊技状態においていずれかの特別役が持ち越されている状態において、内部抽選の対象役がチェリーであって設定値が１〜６のときに参照されるアドレスである。これら［状態番号１］の遊技状態におけるチェリーについては、設定値に応じて個別に判定値数が記憶されているが、同一の判定値数が記憶されているので、いずれの設定値においてもチェリーの当選確率は同じとなっている。
【０１２６】
アドレスＡＤＤ＋１２４は、［状態番号２］の遊技状態、すなわちチャレンジボーナスにおいて、内部抽選の対象役がチェリーであるときに設定値に関わらずに参照されるアドレスである。アドレスＡＤＤ＋１２６は、［状態番号３］の遊技状態、すなわちレギュラーボーナスにおいて、内部抽選の対象役がチェリーであるときに設定値に関わらずに参照されるアドレスである。
【０１２７】
図７（ａ）〜（ｄ）は、内部抽選用の乱数の値と各役及び役の組み合わせの判定値数と、当選との関係の例を示す図である。図７（ａ）では通常遊技状態においていずれの特別役も持ち越されていないときの、図７（ｂ）では通常遊技状態においていずれかの特別役が持ち越されているときの、図７（ｃ）ではチャレンジボーナスにあるときの、図７（ｄ）ではレギュラーボーナスにあるときの例をそれぞれ示している。図７（ａ）〜（ｄ）のいずれも、設定値が６の場合の例を示している。
【０１２８】
例えば、図７（ａ）に示すように、通常遊技状態においていずれの特別役も持ち越されていない場合には、ビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、チャレンジボーナス＋チェリー、リプレイ、ベル、チェリーが内部抽選の対象となり、設定値６において、各役のそれぞれの判定値数は、５８、５８、６４、８０、８０、９６、８９７８、９２００、２５６となる。最初に内部抽選の対象となるビッグボーナス（１）は、判定値数の５８を加算することで加算結果がオーバーフローすることとなる６５４７８〜６５５３５が内部抽選用の乱数として取得されたときに当選となる。
【０１２９】
次に内部抽選の対象役となるビッグボーナス（２）は、ビッグボーナス（１）の判定値数５８とビッグボーナス（２）の判定値数５８とを合計した１１６を加算することで加算結果がオーバーフローすることとなる６５４２０〜６５４７７が内部抽選用の乱数として取得されたときに当選となる。同様に、チャレンジボーナスは、６５３５６〜６５４１９が内部抽選用の乱数として取得されたときに、ビッグボーナス（１）＋チェリーは、６５２７６〜６５３５５が内部抽選用の乱数として取得されたときに、ビッグボーナス（２）＋チェリーは、６５１９６〜６５２７５が内部抽選用の乱数として取得されたときに、チャレンジボーナス＋チェリーは、６５１００〜６５１９５が内部抽選用の乱数として取得されたときに、リプレイは、５６１２２〜６５０９９が内部抽選用の乱数として取得されたときに、ベルは、４６９２２〜５６１２１が内部抽選用の乱数として取得されたときに、チェリーは、４６６６６〜４６９２１が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。尚、０〜４６６６５が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
【０１３０】
これらの判定値数に基づいて算出される各役及び役の組み合わせのおおよその当選確率は、ビッグボーナス（１）、ビッグボーナス（２）、チャレンジボーナス、ビッグボーナス（１）＋チェリー、ビッグボーナス（２）＋チェリー、チャレンジボーナス＋チェリー、リプレイ、ベル、チェリーのそれぞれについて、１／１１２９．９、１／１１２９．９、１／１０２４、１／８１９．２、１／８１９．２、１／６８２．７、１／７．３、１／７．１、１／２５６となる。
【０１３１】
また、図７（ｂ）に示すように、通常遊技状態においていずれかの特別役が持ち越されている場合には、リプレイ、ベル、チェリーのみが内部抽選の対象となり、設定値６においては、各役のそれぞれの判定値数が８９７８、９２００、５１２となるので、５６５５８〜６５５３５、４７３５８〜５６５５７、４６８４６〜４７３５７が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。また、それぞれの役のおおよその当選確率は、１／７．３、１／７．１、１／１２８となる。尚、０〜４６８４５が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
【０１３２】
また、図７（ｃ）に示すように、チャレンジボーナスでは、ベル、チェリーのみが内部抽選の対象となり、設定値６においては、各役のそれぞれの判定値数が９２００、５１２となるので、５６３３６〜６５５３５、５５８２４〜５６３３５が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。また、それぞれの役のおおよその当選確率は、１／７．１、１／１２８となる。尚、０〜５５８２３が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
【０１３３】
また、図７（ｄ）に示すように、レギュラーボーナスでは、ベル、チェリーのみが内部抽選の対象となり、設定値６においては、各役のそれぞれの判定値数が６５０２２、５１３となるので、５１４〜６５５３５、１〜５１３が内部抽選用の乱数として取得されたときに、それぞれ当選と判定される。また、それぞれの役のおおよその当選確率は、１／１．００８、１／１２７．８となる。尚、０が内部抽選用の乱数として取得されたときには、全ての役にハズレとなる。
【０１３４】
次に、内部抽選用の乱数の取得について、図８を参照して詳しく説明する。内部抽選用の乱数は、ハードウェア乱数機能により乱数発生回路４２から乱数を抽出し、これをＣＰＵ４１ａがソフトウェアによって加工することによって取得されるものとなる。尚、乱数発生回路４２から抽出した、或いはこれを加工した乱数の最下位ビットを第０ビット、最上位ビットを第１５ビットと呼ぶものとする。
【０１３５】
図８（ａ）は、乱数発生回路４２の構成を詳細に示すブロック図である。図示するように、乱数発生回路４２は、パルス発生回路４２ａと、下位カウンタ４２ｂと、上位カウンタ４２ｃとから構成されている。下位カウンタ４２ｂ及び上位カウンタ４２ｃは、いずれも８ビット（１バイト）のカウンタであり、下位カウンタ４２ｂが第０ビット〜第７ビット、上位カウンタ４２ｃが第８ビット〜第１５ビットの合計で１６ビットのデータ信号を出力する。
【０１３６】
パルス発生回路４２ａは、ＣＰＵ４１ａの動作クロックの周波数よりも高く、その整数倍とはならない周波数（互いに素とすることが好ましい）でパルス信号を出力する。パルス発生回路４２ａの出力するパルス信号が下位カウンタ４２ｂにクロック入力される。
【０１３７】
下位カウンタ４２ｂは、パルス発生回路４２ａからパルス信号が入力される度に第０ビットのデータ信号をＨレベルとＬレベルとで交互に反転させる。正論理を適用するものとすると、Ｈレベルの論理値が１でＬレベルの論理値が０に対応する。負論理の場合は、論理値が１の場合をＬレベル、論理値が０の場合をＨレベルと読み替えれば良い。第０ビットのデータ信号のレベルがＨレベルからＬレベルに反転するとき、すなわち第０ビットのデータ信号の論理値が１から０に変化する度に第１ビットのデータ信号のレベルをＨレベルとＬレベルとで交互に反転させる。
【０１３８】
同様に、第ｍ−１ビットのデータ信号のレベルがＨレベルからＬレベルに反転するとき、すなわち第ｍ−１ビットのデータ信号の論理値が１から０に変化する度に第ｍビットのデータ信号のレベルをＨレベルとＬレベルとで交互に反転させる。また、第７ビットのデータ信号のレベルがＨレベルからすなわち第７ビットのデータ信号の論理値が１から０に変化する度に桁上げ信号を出力する。下位カウンタ４２ｂの出力する桁上げ信号が上位カウンタ４２ｃにクロック入力される。
【０１３９】
上位カウンタ４２ｃは、下位カウンタ４２ｂから桁上げ信号が入力される度に第８ビットのデータ信号をＨレベルとＬレベルとで交互に反転させる。第８ビットのデータ信号のレベルがＨレベルからＬレベルに反転する度に第９ビットのデータ信号のレベルをＨレベルとＬレベルとで交互に反転させる。同様に、第ｍ−１ビットのデータ信号のレベルがＨレベルからＬレベルに反転する度に第ｍビットのデータ信号のレベルをＨレベルとＬレベルとで交互に反転させる。
【０１４０】
下位カウンタ４２ｂのデータ信号を下位８ビットとし、上位カウンタ４２ｃのデータ信号を上位８ビットとした１６ビットのデータ信号の論理値は、パルス発生回路４２ａがパルス信号を出力する度に、０（００００Ｈ）→１（０００１Ｈ）→２（０００２Ｈ）→…→６５５３５（ＦＦＦＦＨ）と値が更新毎に連続するように更新され、最大値の６５５３５（ＦＦＦＦＨ）の次は初期値の０（００００Ｈ）へと値が循環して、乱数発生回路４２から出力されるものとなる。
【０１４１】
サンプリング回路４３は、ラッチ回路から構成され、ＣＰＵ４１ａからのサンプリング指令（スタートスイッチ７の操作時）に基づいて、乱数発生回路４２からそのときに出力されている１６ビットのデータ信号をラッチし、ラッチしたデータ信号を出力する。ＣＰＵ４１ａは、Ｉ／Ｏポート４１ｄを介してサンプリング回路４３から入力されたデータ信号に対応した数値データを、乱数発生回路４２が発生する乱数として抽出するものとなる。尚、以下では、乱数発生回路４２から出力されるデータ信号は、その論理値に応じた乱数として説明するものとする。
【０１４２】
図８（ｂ）は、乱数発生回路４２から抽出した乱数をＣＰＵ４１ａがソフトウェアにより内部抽選用の乱数に加工するまでの説明図である。乱数発生回路４２から抽出された乱数は、ＣＰＵ４１ａが有する１６ビットの汎用レジスタであるＨＬレジスタに格納されるものとなる。
【０１４３】
乱数発生回路４２から抽出された乱数が汎用レジスタ４１ＧＲに格納されると、ＣＰＵ４１ａは、演算用のＡレジスタを用いて、ＨＬレジスタの下位バイト（下位カウンタ４２ｂから抽出した値）と、上位バイトの値（上位カウンタ４２ｃから抽出した値）とを入れ替える。
【０１４４】
ＣＰＵ４１ａは、このときにＨＬレジスタに格納されている値を、内部抽選用の乱数とし、これに各役の判定値数を順次加算していくものとなる。
【０１４５】
尚、乱数発生回路４２からの乱数の抽出から加工を終了するまでの間は、ＣＰＵ４１ａに対する割り込みが禁止される。ＣＰＵ４１ａに対して割り込みが発生することによって、当該割り込み処理ルーチンでＨＬレジスタの内容が書き換えられてしまうのを防ぐためである。
【０１４６】
次に、リール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。
【０１４７】
ＣＰＵ４１ａは、内部抽選の終了後、ＲＯＭ４１ｂに格納されている停止制御用データのインデックスデータ（先頭アドレス）を設定し、リールの回転が開始したとき及び、リールが停止し、かつ未だ回転中のリールが残っているときに、内部抽選の終了後に設定されたインデックスデータ（先頭アドレス）から特定される停止制御用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの引込コマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【０１４８】
本実施例において用いる停止制御用データは、チャレンジボーナス以外の遊技状態において用いる１５種類の停止制御用データとチャレンジボーナスにおいて用いる１種類の停止制御用データとからなり、これら１６種類の停止制御用データがＲＯＭ４１ｂに格納されている。
【０１４９】
本実施例では、内部抽選の結果、すなわち特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号（００Ｈ〜０３Ｈ）と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号（００Ｈ〜０３Ｈ）との組み合わせが１６あり、ＲＯＭ４１ｂには、これら内部抽選の結果のそれぞれに対応して、チャレンジボーナス以外の遊技状態において用いる１５種類の停止制御用データを特定可能な１６のインデックスデータ（先頭アドレス）が記憶されているとともに、それとは別にチャレンジボーナスにおいて用いる１種類の停止制御データのインデックスデータ（先頭アドレス）が記憶されている。
【０１５０】
詳しくは、特別役の当選番号：０、一般役の当選番号：０（特別役も一般役もハズレ）、特別役の当選番号：０、一般役の当選番号：１（特別役ハズレ・チェリー）、特別役の当選番号：０、一般役の当選番号：２（特別役ハズレ・ベル）、特別役の当選番号：０、一般役の当選番号：３（特別役ハズレ・リプレイ）、特別役の当選番号：１、一般役の当選番号：０（ビッグボーナス（１）・一般役ハズレ）、特別役の当選番号：１、一般役の当選番号：１（ビッグボーナス（１）・チェリー）、特別役の当選番号：１、一般役の当選番号：２（ビッグボーナス（１）・ベル）、特別役の当選番号：１、一般役の当選番号：３（ビッグボーナス（１）・リプレイ）、特別役の当選番号：２、一般役の当選番号：０（ビッグボーナス（２）・一般役ハズレ）、特別役の当選番号：２、一般役の当選番号：１（ビッグボーナス（２）・チェリー）、特別役の当選番号：２、一般役の当選番号：２（ビッグボーナス（２）・ベル）、特別役の当選番号：２、一般役の当選番号：３（ビッグボーナス（２）・リプレイ）、特別役の当選番号：３、一般役の当選番号：０（チャレンジボーナス・一般役ハズレ）、特別役の当選番号：３、一般役の当選番号：１（チャレンジボーナス・チェリー）、特別役の当選番号：３、一般役の当選番号：２（チャレンジボーナス・ベル）、特別役の当選番号：３、一般役の当選番号：３（チャレンジボーナス・リプレイ）に対応してそれぞれ停止制御用データのインデックスデータ（先頭アドレス）が記憶されているとともに、チャレンジボーナス用の停止制御用データのインデックスデータ（先頭アドレス）が記憶されている。尚、特別役の当選番号：１、一般役の当選番号：３（ビッグボーナス（１）・リプレイ）、特別役の当選番号：２、一般役の当選番号：３（ビッグボーナス（２）・リプレイ）には、同一の停止制御用データを特定するインデックスデータ（先頭アドレス）が記憶されているので、これらの場合には、同一の停止制御用データが特定されることとなる。
【０１５１】
そして、チャレンジボーナス以外の遊技状態においては、内部抽選の結果に対応するインデックスデータ（先頭アドレス）から特定される停止制御用データが選択され、チャレンジボーナスにおいては、内部抽選の結果に関わらず、チャレンジボーナス用の停止制御用データのインデックスデータ（先頭アドレス）から特定される停止制御用データが選択され、選択された停止制御用データに基づいてリールの停止制御が行われることとなる。
【０１５２】
停止制御用データは、停止操作位置に応じた引込コマ数を示す引込コマ数データと、リールの停止状況に応じて参照すべき引込コマ数データのアドレスと、からなる。
【０１５３】
リールの停止状況に応じて参照される引込コマ数データは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき引込コマ数データのアドレスが回転中のリール別に登録されており、停止制御用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき引込コマ数データのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な引込コマ数データを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の引込コマ数データが適用される場合においては、引込コマ数データのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の引込コマ数データが参照されることとなる。
【０１５４】
引込コマ数データは、停止操作が行われたタイミング別の引込コマ数を特定可能なデータである。本実施例では、リールモータ３２Ｌ、３２Ｃ、３２Ｒに、１６８ステップ（０〜１６７）の周期で１周するステッピングモータを用いている。すなわちリールモータ３２Ｌ、３２Ｃ、３２Ｒを１６８ステップ駆動させることでリール２Ｌ、２Ｃ、２Ｒが１周することとなる。そして、リール１周に対して８ステップ（１図柄が移動するステップ数）毎に分割した２１の領域（コマ）が定められており、これらの領域には、リール基準位置から１〜２１の領域番号が割り当てられている。一方、１リールに配列された図柄数も２１であり、各リールの図柄に対して、リール基準位置から１〜２１の図柄番号が割り当てられているので、１番図柄から２１番図柄に対して、それぞれ１〜２１の領域番号が順に割り当てられていることとなる。そして、引込コマ数データには、領域番号別の引込コマ数が所定のルールで圧縮して格納されており、引込コマ数データを展開することによって領域番号別の引込コマ数を取得できるようになっている。
【０１５５】
前述のように停止制御用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に位置するタイミング（リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング）でストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された場合の引込コマ数がそれぞれ設定されたテーブルである。
【０１５６】
次に、停止制御テーブルの作成手順について説明すると、まず、内部抽選の終了後にその結果に応じた停止制御用データの先頭アドレスを設定する。リール回転開始時においては、内部抽選後に設定した先頭アドレスに基づいて停止制御用データを特定し、特定した停止制御用データから全てのリールが回転中の状態に対応する各リールの引込コマ数データのアドレスを取得し、取得したアドレスに格納されている各リールの引込コマ数データを展開して全てのリールについて停止制御テーブルを作成する。
【０１５７】
また、いずれか１つのリールが停止したとき、またはいずれか２つのリールが停止したときには、内部抽選後に設定した先頭アドレスに基づいて停止制御用データを特定し、特定した停止制御用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの引込コマ数データのアドレスを取得し、取得したアドレスに格納されている各リールの引込コマ数データを展開して未停止のリールについて停止制御テーブルを作成する。
【０１５８】
次に、ＣＰＵ４１ａがストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する引込コマ数を取得する。そして、取得した引込コマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した引込コマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から引込コマ数分先の停止位置となる領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に停止することとなる。
【０１５９】
また、本実施例では、一の遊技状態における一の内部抽選結果（特別役の当選番号と一般役の当選番号との組み合わせ）に対応する停止制御用データが１種類のみであり、更に、一の停止制御用データには、一のリールの停止状況（及び停止済みのリールの停止位置）に対応する引込コマ数データの格納領域のアドレスとして１つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部抽選結果に対応する停止制御用データ、及びリールの停止状況（及び停止済みのリールの停止位置）に対応する引込コマ数データが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部抽選結果、及びリールの停止状況（及び停止済みのリールの停止位置）に対して一意となる。このため、遊技状態、内部抽選結果、リールの停止状況（及び停止済みのリールの停止位置）の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。
【０１６０】
また、本実施例では、引込コマ数として０〜４の値が定められており、停止操作を検出してから最大４コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【０１６１】
また、いずれかの役に当選している場合に用いる停止制御用データには、当選役を４コマの範囲で最大限に引き込み、当選していない役が揃わないように引き込む引込コマ数が定められており、いずれの役にも当選していない場合に用いる停止制御用データには、いずれの役も揃わないように引き込む引込コマ数が定められている。このため、いずれかの役に当選している場合には、当選役を４コマの範囲で最大限引き込み、当選していない役が揃わないように引き込む引込コマ数が定められた停止制御テーブルが作成され、リールの停止制御が行われる一方、いずれの役にも当選していない場合には、いずれの役も揃わない引込コマ数が定められた停止制御テーブルが作成され、リールの停止制御が行われる。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役の図柄は、最大４コマの引込範囲でハズシて停止させる制御が行われることとなる。
【０１６２】
また、特別役と小役の双方が当選している場合に用いる停止制御用データには、当選した特別役を４コマの範囲で最大限に引き込むように引込コマ数が定められているとともに、当選した特別役を最大４コマの範囲で引き込めない停止操作位置については、当選した小役を４コマの範囲で最大限に引き込むように引込コマ数が定められている。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している特別役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している特別役の図柄を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している小役の図柄を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役の図柄は、４コマの引込範囲でハズシて停止させる制御が行われることとなる。すなわちこのような場合には、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞させることが可能となる。
【０１６３】
また、特別役と再遊技役の双方が当選している場合に用いる停止制御用データには、再遊技役を４コマの範囲で最大限に引き込むように引込コマ数が定められている。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、後に説明するように、再遊技役を構成する図柄である「リプレイ」は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役の双方が当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。
【０１６４】
ここで、図２に示すように、「ベル」、「リプレイ」については、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができる。つまり、ベル、リプレイのみが当選しているときには、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず当該役を入賞させることができる。
【０１６５】
また、遊技状態がチャレンジボーナスにあるときに用いる停止制御用データには、左リールについて、チェリーまたはベルの組み合わせを構成する図柄（「チェリー」または「ベル」）を１コマの範囲で最大限引き込むように引込コマ数が定められており、中、右リールについて、ベルの組み合わせを構成する図柄（「ベル」）を４コマの範囲で最大限に引き込むように引込コマ数が定められている。これにより、左リールの停止操作が行われた際に、入賞ライン上に最大２コマの引込範囲でチェリーまたはベルの組み合わせを構成する図柄を停止させる制御が行われ、中、右リールの停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲でベルの組み合わせを構成する図柄を揃えて停止させる制御が行われる。尚、図２に示すように、左リールにおいてチェリーを構成する図柄である「チェリー」及びベルを構成する図柄である「ベル」は、２図柄以内の間隔で配置されているので、左リールには、必ずいずれかの入賞ライン上に「チェリー」または「ベル」の図柄が停止することとなる。また、図２に示すように、中リール及び右リールにおいてベルを構成する図柄である「ベル」は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、チャレンジボーナス中においては、左リールを最初に停止させることを条件に、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ずチェリーまたはベル、すなわちいずれかの小役が揃って入賞することとなる。
【０１６６】
次に、ＲＯＭ４１ｂにおける停止制御用データの格納状況について説明する。
【０１６７】
本実施例のＲＯＭ４１ｂには、図９に示すように、停止制御用データを特定するためのインデックスデータが格納された領域（以下、インデックス領域と称す）と、停止制御用データが格納された領域（以下、データ領域と称す）とが設けられている。尚、インデックス領域の先頭アドレスは［１０００Ｈ］であり、ctrldata_indexとも表記される。
【０１６８】
データ領域には、前述したように１６種類の停止制御用データが格納されている。
【０１６９】
そして、インデックス領域には、［１０００Ｈ］＋０〜３３のアドレスが割り当てられた格納領域に、データ領域に格納されている１６種類の停止制御用データの各々の先頭アドレス（インデックスデータ）が格納されている。
【０１７０】
ここで、インデックスデータについて説明すると、例えば、１種類目の停止制御用データが格納されている領域の先頭アドレスが［１０２２Ｈ］で、終了アドレスが［１０４１Ｈ］であるときには、［１０２２Ｈ］が１種類目のインデックスデータとしてインデックス領域に格納される。また、２種類目の停止制御用データが格納されている領域の先頭アドレスが［１０４２Ｈ］で、終了アドレスが［１０４ＡＨ］であるときには、［１０４２Ｈ］が２種類目の停止制御用データのインデックスデータとしてインデックス領域に格納される。同様に合計１６種類の停止制御用データの先頭アドレスがインデックスデータとしてインデックス領域に格納される。これら停止制御用データのインデックスデータは、各停止制御用データを個別に参照するときのインデックス（索引）として利用される。
【０１７１】
次に、インデックス領域における、１６種類の停止制御用データのインデックスデータの格納順序について説明する。本実施例においては、図９に示すように、特別役の当選番号と一般役の当選番号とが取りうる１６の組み合わせに対応する１６個の停止制御用データの先頭アドレスを格納した後、チャレンジボーナス中に対応する１個の停止制御用データの先頭アドレスを格納している。
【０１７２】
そして、特別役の当選番号と一般役の当選番号とが取りうる１６の組み合わせに対応する１６個のインデックスデータの格納順序にあっては、まず、特別役の当選番号が０、一般役の当選番号が０、１、２、３であるときの４種類の組み合わせに対応する停止制御用データの先頭アドレスを、一般役の当選番号が小さい組み合わせ順に４個格納する。その後、同様に、特別役の当選番号が１、２、３であるときに、各々一般役の当選番号が０、１、２、３であるときの４種類の組み合わせに対応する停止制御用データの先頭アドレスが４個ずつ、合計１６個格納される。
【０１７３】
尚、ＲＯＭ４１ｂは、アドレスの表現に要するビット数が１６（２バイト）であり、１アドレスあたりの格納容量が８ビット（１バイト）とされている。そのため、停止制御用データの先頭アドレス、例えば、［１０２２Ｈ］を、上位８ビットである［１０Ｈ］と、下位８ビットである［２２Ｈ］とに分けて、連続する２アドレスに格納するようになっている。この際、下位８ビットが格納されたアドレスの次のアドレスに対応する記憶領域に上位８ビットが格納されるようになっている。つまり、下位８ビット（例えば、２２Ｈ）が格納されたアドレス（例えば、１０００Ｈ）に１を足したアドレス（例えば、１００１Ｈ）は、上位８ビット（例えば、１０Ｈ）が格納されたアドレスとなっている。このため、インデックス領域には、［１０００Ｈ］から＋２ずつ増加するアドレス毎にインデックスデータが格納されていることとなる。
【０１７４】
図１０及び図１１は、ＣＰＵ４１ａがリール２Ｌ、２Ｃ、２Ｒの停止制御用データを選択するまでの処理の流れを、レジスタの値の変化に着目して示した図である。
【０１７５】
尚、処理の実行開始時点においては、Ｂレジスタには一般役の当選番号（一般役格納ワーク（iwin_gen）の値）が格納されているものとする。
【０１７６】
まず、遊技状態がチャレンジボーナス以外の場合には、特別役格納ワーク（iwin_bonus）の値、すなわち特別役の当選番号がＡレジスタに格納される。更に、Ａレジスタ同士を２回連続して加算することにより、Ａレジスタには［４×特別役の当選番号］が格納される。そして、Ｂレジスタの値である一般役の当選番号がＡレジスタに加算される。結果として、［４×特別役の当選番号＋一般役の当選番号］がＡレジスタに格納される。
【０１７７】
一方、遊技状態がチャレンジボーナスである場合には、INDEX_CBという値がＡレジスタに格納される。INDEX_CBは、インデックス領域に含まれるチャレンジボーナス中に用いる停止制御用データの先頭アドレスの格納領域の先頭アドレス［１０２０Ｈ］から、インデックス領域の先頭アドレスである［ctrldata_index（＝１０００Ｈ）］を引いて２で割った値、すなわちINDEX_CBは、［（１０２０Ｈ−１０００Ｈ）／２＝１０Ｈ＝１６］である。
【０１７８】
Ａレジスタの値を設定した後、ＲＯＭ４１ｂにおけるインデックス領域の先頭アドレス［ctrldata_index（＝１０００Ｈ）］がＨＬレジスタに格納される。
【０１７９】
そして、ＨＬレジスタの下位８ビットにＡレジスタを２回加算する。結果として、遊技状態がチャレンジボーナス以外の場合には、［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］がＨＬレジスタに格納される。遊技状態がチャレンジボーナスである場合には、［ctrldata_index＋２×１６］がＨＬレジスタに格納される。尚、チャレンジボーナス中の場合の数式を変形すると［１０２０Ｈ］となる。
【０１８０】
この［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］は、チャレンジボーナス中以外の場合における、内部抽選結果（特別役の当選番号と一般役の当選番号との組み合わせ）に対応する停止制御用データの先頭アドレスの下位８ビットを格納する記憶領域のアドレスとなっている。例えば、特別役の当選番号が１｛ビッグボーナス（１）｝で、一般役の当選番号が２（ベル）であるときには、［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］は、［ctrldata_index（＝１０００Ｈ）＋１２］＝［１００ＣＨ］となる。図９に示すように、ＲＯＭ４１ｂのアドレス［１００ＣＨ］には、ビッグボーナス（１）当選時、かつ、ベル当選時における停止制御用データの先頭アドレスの下位８ビット［Ｃ４Ｈ］が格納されている。
【０１８１】
そして、ＨＬレジスタに格納されたアドレスである［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］（チャレンジボーナス中以外）、または、［１０２０Ｈ］（チャレンジボーナス中）のいずれかに対応付けてＲＯＭ４１ｂに格納されている［停止制御用データの先頭アドレスの下位８ビット］をＡレジスタに格納する。
【０１８２】
その後、ＨＬレジスタに１を加算して、ＨＬレジスタに格納されたアドレスである［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）＋１］（チャレンジボーナス中以外）、または、［１０２１Ｈ］（チャレンジボーナス中）のいずれかに対応付けてＲＯＭ４１ｂに格納されている［停止制御用データの先頭アドレスの上位８ビット］をＨレジスタに格納する。
【０１８３】
更に、Ａレジスタに格納されている［停止制御用データの先頭アドレスの下位８ビット］をＬレジスタに格納することで、［停止制御用データの先頭アドレス（上位、下位含む）］がＨＬレジスタに格納されることとなる。そして、ＨＬレジスタの値を停止制御用データ格納ワーク（ctrldata_ptr）に格納する。
【０１８４】
以上により、チャレンジボーナス中以外の場合には、内部抽選結果に対応する１６個のうちいずれかの停止制御用データの先頭アドレスが、チャレンジボーナス中の場合には、チャレンジボーナス用の停止制御用データの先頭アドレスが停止制御用データ格納ワーク（ctrldata_ptr）に格納される。
【０１８５】
このように本実施例では、遊技状態がチャレンジボーナス以外の場合において、内部抽選の結果を示す特別役格納ワーク（iwin_bonus）に格納されている値（特別役の当選番号）と一般役格納ワーク（iwin_gen）に格納されている値（一般役の当選番号）とを用いて演算［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］を行うことにより、内部抽選の結果に対応する停止制御用データの先頭アドレスが格納されている格納領域のアドレスを特定し、特定した格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようになっている。
【０１８６】
また、遊技状態がチャレンジボーナスである場合には、内部抽選の結果に関わらず、INDEX_CB、すなわちチャレンジボーナス用の停止制御用データを特定するための値を用いて、インデックス領域の最後に格納されているチャレンジボーナス用の停止制御用データの先頭アドレスを特定し、特定した格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようになっている。尚、遊技状態がチャレンジボーナスであると判定された場合に、INDEX_CBを用いた演算を行ってチャレンジボーナス用の停止制御用データの格納アドレスを特定するのではなく、プログラム上に記載されたチャレンジボーナス用の停止制御用データの格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようにしても良い。
【０１８７】
次に、本実施例における異常入賞判定について説明していく。
【０１８８】
ＣＰＵ４１ａは、全てのリールが停止した時点で、入賞ライン上にいずれかの役が揃っている場合には、揃った役が当該ゲームにおいて許容されている役であるか否かを判定する異常入賞判定を行う。そして、当該ゲームにおいて許容されていない役が入賞ライン上に揃った場合には、異常入賞エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、異常入賞エラー状態は、他のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更モードにおいて新たな設定値が設定されるまで解除されることがない。
【０１８９】
この異常入賞判定について説明すると、まずＣＰＵ４１ａは、内部抽選の終了後に当該ゲームにおいて許容されている役を示す内部当選フラグをＲＡＭ４１ｃに割り当てられた内部当選フラグ格納ワーク（iwin_flag）に設定するとともに、全てのリールが停止した時点で入賞ライン上に揃っている役を示す入賞図柄フラグを設定する。そして、内部当選フラグから異常入賞判定用フラグを作成し、作成した異常入賞判定用フラグと入賞図柄フラグとに基づいて異常入賞か否かを判定するようになっている。
【０１９０】
内部当選フラグは、当該ゲームにおいて入賞が許容されている役を示す１６ビット（２バイト）の２進数値であり、それぞれの役に対して個別に定められたビットの値が１である場合に、当該役の入賞が許容された旨を示し、０である場合に当該役の入賞が許容されていない旨を示す。
【０１９１】
図１２（ａ）に示すように、第０ビットがビッグボーナス（１）、第１ビットがビッグボーナス（２）、第３ビットがチャレンジボーナスに対応しており、第６ビットがリプレイ、第１４ビットがベル、第１５ビットがチェリーに対応している。第３〜５、第７〜１３ビットはいずれの役にも対応していない。
【０１９２】
尚、本実施例においては、１ゲームにおいて複数個の役が許容される場合があり、その場合には、内部当選フラグにおいて、これら役に対応する全てのビットの値を１とするようになっている。特に、第１４ビット（ベル）、第１５ビット（チェリー）の両方が１にセットされている内部当選フラグ［Ｃ０００Ｈ］は、全ての小役（ベル、チェリー）の入賞が許容される旨を示す内部当選フラグであり、全小役当選フラグと称する。
【０１９３】
異常入賞判定用フラグは、当該ゲームにおいて入賞が許容されている役を示す１６ビット（２バイト）の２進数値であるが、それぞれの役に対して個別に定められたビットの値が０である場合に、当該役の入賞が許容された旨を示し、１である場合に、当該役の入賞が許容されていない旨を示す。すなわち異常入賞判定用フラグは、内部当選フラグの０と１を反転させた値である。
【０１９４】
入賞図柄フラグは、入賞ライン上に揃った役を示す１６ビット（２バイト）の２進数値であり、それぞれの役に対して個別に定められたビットの値が１である場合に、当該役が入賞した旨を示し、０である場合に当該役が入賞していない旨を示す。入賞図柄フラグも内部当選フラグと同様で、図１２（ａ）に示すように、第０ビットがビッグボーナス（１）、第１ビットがビッグボーナス（２）、第３ビットがチャレンジボーナスに対応しており、第６ビットがリプレイ、第１４ビットがベル、第１５ビットがチェリーに対応している。第３〜５、第７〜１３ビットはいずれの役にも対応していない。この入賞図柄フラグと内部当選フラグとを比較することで、ＣＰＵ４１ａは異常入賞判定を実施する。
【０１９５】
そして、ＣＰＵ４１ａは、異常入賞判定フラグと入賞図柄フラグとを論理積演算することにより異常入賞が発生したか否かを判定する。異常入賞判定フラグのうち当該ゲームにおいて許容されている役に対応するビットの値は０であり、この役が入賞した場合、すなわち入賞図柄フラグの対応するビットの値が１である場合であっても、入賞しなかった場合、すなわち入賞図柄フラグの対応するビットの値が０である場合であっても、論理積演算した結果は、必ず０となる。一方、異常入賞判定フラグのうち当該ゲームにおいて許容されていない役に対応するビットの値は１であり、この役が入賞しなかった場合、すなわち入賞図柄フラグの対応するビットの値が０である場合には、論理積演算した結果が０となるが、入賞した場合、すなわち入賞図柄フラグの対応するビットの値が１である場合には、論理積演算した結果が１となる。このため、許容されていない役が１つでも入賞した場合には、異常入賞判定フラグと入賞図柄フラグとを論理積演算した結果が、０以外の値となるので、この場合に異常入賞が判定されることとなる。
【０１９６】
図１２（ｂ）は、ＣＰＵ４１ａが異常入賞を判定するまでの処理の流れを、レジスタの値の変化に着目して示した図である。
【０１９７】
尚、図１２（ａ）に示すように、処理の実行開始時点においては、Ｈレジスタには内部当選フラグの上位８ビットが、Ｌレジスタには内部当選フラグの下位８ビットが、また、Ｂレジスタには入賞図柄フラグの下位８ビットが、Ｃレジスタには入賞図柄フラグの上位８ビットが格納されているものとする。
【０１９８】
図１２（ｂ）に示すように、まずＬレジスタに格納されている内部当選フラグの下位８ビットがＡレジスタに格納される。更に、Ａレジスタの全ビットを反転し、Ｂレジスタに格納されている入賞図柄フラグの下位８ビットと、Ａレジスタの値との論理積（ＡＮＤ）を算出して、その結果をＡレジスタに格納する。結果として、［内部当選フラグ（下位８ビット）の全ビット反転値  ＡＮＤ  入賞図柄フラグ（下位８ビット）］がＡレジスタに格納される。
【０１９９】
この［内部当選フラグ（下位８ビット）の全ビット反転値  ＡＮＤ  入賞図柄フラグ（下位８ビット）］は、入賞図柄フラグにより特定された入賞が、内部当選フラグにより許容される入賞となっている場合に［００Ｈ］となり、そうでない場合に［００Ｈ］以外の値となり異常入賞と判定される。例えば、図１２（ｂ）に示すように、下位８ビットのうち、内部当選フラグの第０ビットが１｛ビッグボーナス（１）当選｝、入賞図柄フラグの第０ビットが１｛ビッグボーナス（１）入賞｝の場合には、［内部当選フラグ（下位８ビット）の全ビット反転値  ＡＮＤ  入賞図柄フラグ（下位８ビット）］＝［ＦＥＨ  ＡＮＤ  ０１Ｈ］は［００Ｈ］となる。一方、内部当選フラグの第０ビットが１｛ビッグボーナス（１）当選｝、入賞図柄フラグの第３ビットが１｛チャレンジボーナス入賞｝の場合には、［内部当選フラグ（下位８ビット）の全ビット反転値  ＡＮＤ  入賞図柄フラグ（下位８ビット）］＝［ＦＥＨ  ＡＮＤ  ０４Ｈ］は０４Ｈとなり、異常入賞と判定される。
【０２００】
同様に、ＨレジスタとＣレジスタを用いることで上位８ビットについても、［内部当選フラグ（上位８ビット）の全ビット反転値  ＡＮＤ  入賞図柄フラグ（上位８ビット）］を算出して、その結果をＡレジスタに格納する。そしてＡレジスタが［００Ｈ］以外の場合には、異常入賞と判定されるようになっている。
【０２０１】
つまり、内部当選フラグと入賞図柄フラグを上位８ビットと下位８ビットに分けて異常入賞の判定処理が実施されるようになっている。
【０２０２】
次に、内部抽選の結果から内部当選フラグへの変換について説明する。
【０２０３】
ＣＰＵ４１ａは、内部抽選の終了後、その結果を示す特別役の当選番号と一般役の当選番号の各々を、予めＲＯＭ４１ｂに格納された番号／フラグ変換テーブルに基づいて、内部抽選で当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換する。そして、遊技状態がチャレンジボーナス以外であれば、変換した値に００００Ｈを論理和演算し、その結果を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納する。また、遊技状態がチャレンジボーナスであれば、変換した値にＣ０００Ｈ、すなわちチェリー及びベルに対応するビットの値に１が設定されている全小役当選フラグを論理和演算し、その結果を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納する。
【０２０４】
このように内部抽選の結果を、番号／フラグ変換テーブルに基づいて１６ビットの２進数値に変換した後、遊技状態がチャレンジボーナス以外であれば、変換した値に００００Ｈを論理和演算し、その結果を内部当選フラグとして設定するのに対して、遊技状態がチャレンジボーナスであれば、変換した値にＣ０００Ｈ（全小役当選フラグ）を論理和演算し、その結果を内部当選フラグとして設定するので、遊技状態がチャレンジボーナス以外であれば、内部抽選により当選した役を許容する旨の内部当選フラグが設定され、遊技状態がチャレンジボーナスであれば、内部抽選の結果に関わらず、一律に全ての小役を許容する旨の内部当選フラグが設定されることとなる。
【０２０５】
ここで、ＲＯＭ４１ｂにおける番号／フラグ変換テーブルの格納状況について説明する。
【０２０６】
本実施例では、図１３に示すように、一般役用の番号／フラグ変換テーブルと、特別役用の番号／フラグ変換テーブルとが設けられている。尚、一般役用の番号／フラグ変換テーブル領域の先頭アドレスは［２０００Ｈ］であり、iwflag_table_gとも表記される。特別役用の番号／フラグ変換テーブル領域の先頭アドレスは［２００８Ｈ］であり、iwflag_table_bとも表記される。
【０２０７】
一般役用の番号／フラグ変換テーブルには、一般役の当選番号が４種類の値をとることから、各々の一般役の当選番号に対応する４個の内部当選フラグが、一般役の当選番号が小さい順につまり、０、１、２、３の順に格納されている。また、特別役用の番号／フラグ変換テーブルにも、特別役の当選番号が４種類の値をとることから、各々の特別役の当選番号に対応する４個の内部当選フラグが、特別役の当選番号が小さい順につまり、０、１、２、３の順に格納されている。
【０２０８】
尚、ＲＯＭ４１ｂは、１アドレスあたりの格納容量が８ビット（１バイト）とされている。そのため、１６ビットで表現される内部当選フラグ、特には、一般役の当選番号に対応する内部当選フラグは、例えば、チェリーが内部当選した旨を示す［８０００Ｈ］を、上位８ビットである［８０Ｈ］と、下位８ビットである［００Ｈ］とに分けて、連続する２アドレスに格納するようになっている。この際、下位８ビットが格納されたアドレスの次のアドレスに対応する記憶領域に上位８ビットが格納されるようになっている。つまり、下位８ビット（例えば、００Ｈ）が格納されたアドレス（例えば、２００２Ｈ）に１を足したアドレス（例えば、２００３Ｈ）は、上位８ビット（例えば、８０Ｈ）が格納されたアドレスとなっている。
【０２０９】
一方、特別役の当選番号に対応する内部当選フラグは、上位８ビットは常に［００Ｈ］となり、下位８ビットに含まれる第０〜２ビットにのみ１がセットされることから、下位８ビットのみが格納されるようになっている。
【０２１０】
つまり、一般役用の番号／フラグ変換テーブルには、一般役の当選番号に対応する４個の内部当選フラグが、一般役の当選番号が小さい順につまり、０、１、２、３の順に、２アドレス（２バイト）ずつ格納されている。また、特別役用の番号／フラグ変換テーブルには、特別役の当選番号に対応する４個の内部当選フラグが、特別役の当選番号が小さい順につまり、０、１、２、３の順に、１アドレス（１バイト）ずつ格納されている。
【０２１１】
図１４及び図１５は、ＣＰＵ４１ａが当選番号を内部当選フラグに変換するまでの処理の流れを、レジスタの値の変化に着目して示した図である。
【０２１２】
尚、処理の実行開始時点においては、チャレンジボーナス中以外の場合には、Ｃレジスタはクリア（００Ｈが格納）されており、チャレンジボーナス中の場合には、Ｃレジスタには、全ての小役（ベル、チェリー）の入賞が許容される旨を示す全小役当選フラグの上位８ビット［Ｃ０Ｈ］が格納されているものとする。
【０２１３】
図１４に示すように、まず一般役格納ワーク（iwin_gen）の値（一般役の当選番号）がＡレジスタに格納される。更に、Ａレジスタ同士を加算することにより、Ａレジスタには［２×一般役の当選番号］が格納される。そして、ＲＯＭ４１ｂにおける一般役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_g（＝２０００Ｈ）］の下位８ビットがＡレジスタに加算される。結果として、［００Ｈ＋２×一般役の当選番号］がＡレジスタに格納される。
【０２１４】
Ａレジスタの値を設定した後、Ａレジスタの値をＬレジスタに格納し、一般役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_g（＝２０００Ｈ）］の上位８ビット［２０Ｈ］をＨレジスタに格納する。結果として、［iwflag_table_g＋２×一般役の当選番号］がＨＬレジスタに格納される。
【０２１５】
この［iwflag_table_g＋２×一般役の当選番号］は、一般役の当選番号に対応する一般役の当選フラグの下位８ビットを格納する記憶領域へのアドレスとなっている。例えば、一般役の当選番号が２（ベル）であるときには、［iwflag_table_g＋２×一般役の当選番号］は、［iwflag_table_g（＝２０００Ｈ）＋４］＝［２００４Ｈ］となる。図１３に示すように、ＲＯＭ４１ｂのアドレス［２００４Ｈ］には、ベル当選時における内部当選フラグの下位８ビット［００Ｈ］が格納されている。
【０２１６】
その後、図１５に示すように、特別役格納ワーク（iwin_bonus）の値（特別役の当選番号）がＡレジスタに格納される。そして、ＲＯＭ４１ｂにおける特別役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_b（＝２００８Ｈ）］の下位８ビットがＡレジスタに加算される。結果として、［０８Ｈ＋特別役の当選番号］がＡレジスタに格納される。
【０２１７】
ここで、ＨＬレジスタに格納されている［iwflag_table_g＋２×一般役の当選番号］をスタック領域に格納（退避）する。
【０２１８】
そして、Ａレジスタの値をＬレジスタに格納し、特別役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_b（＝２００８Ｈ）］の上位８ビット［２０Ｈ］をＨレジスタに格納する。結果として、［iwflag_table_b＋特別役の当選番号］がＨＬレジスタに格納される。
【０２１９】
この［iwflag_table_b＋特別役の当選番号］は、特別役の当選番号に対応する特別役の当選フラグの下位８ビットを格納するＲＯＭ４１ｂのアドレスとなっている。例えば、特別役の当選番号が１｛ビッグボーナス（１）｝であるときには、［iwflag_table_b＋特別役の当選番号］は、［iwflag_table_b（＝２００８Ｈ）＋１］＝［２００９Ｈ］となる。図１３に示すように、ＲＯＭ４１ｂのアドレス［２００９Ｈ］には、ビッグボーナス（１）の内部当選フラグの下位８ビット［０１Ｈ］が格納されている。
【０２２０】
ＨＬレジスタにアドレスを格納したＣＰＵ４１ａは、格納したアドレスである［  iwflag_table_b＋特別役の当選番号］に対応付けてＲＯＭ４１ｂに格納されている［特別役の当選フラグの下位８ビット］をＡレジスタに格納する。
【０２２１】
ここで、スタック領域に格納されている［iwflag_table_g＋２×一般役の当選番号］をＨＬレジスタに格納（復帰）する。
【０２２２】
ＨＬレジスタに格納されたアドレスである［iwflag_table_g＋２×一般役の当選番号］に対応付けてＲＯＭ４１ｂに格納されている［一般役の当選フラグの下位８ビット］と、Ａレジスタの値との論理和（ＯＲ）を算出して、その結果をＡレジスタに格納する。結果として、［特別役の当選フラグ（下位８ビット）  ＯＲ  一般役の当選フラグ（下位８ビット）］がＡレジスタに格納される。
【０２２３】
その後、ＨＬレジスタに１を加算して、ＨＬレジスタに格納されたアドレスである［iwflag_table_g＋２×一般役の当選番号＋１］に対応付けてＲＯＭ４１ｂに格納されている［一般役の当選フラグの上位８ビット］をＨレジスタに格納する。
【０２２４】
また、Ａレジスタの値である［特別役の当選フラグ（下位８ビット）  ＯＲ  一般役の当選フラグ（下位８ビット）］をＬレジスタに格納する。
【０２２５】
更に、Ｈレジスタの値をＡレジスタに格納し、Ｃレジスタに格納された値である［００Ｈ］（チャレンジボーナス中以外）、または、［Ｃ０Ｈ］（チャレンジボーナス中）と、Ａレジスタの値である［一般役の当選フラグの上位８ビット］との論理和（ＯＲ）を算出して、その結果をＡレジスタに格納する。
【０２２６】
最後に、Ａレジスタの値をＨレジスタに格納することで、「内部当選フラグ（上位、下位含む）」がＨＬレジスタに格納されることとなる。そして、ＨＬレジスタの値を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納する。
【０２２７】
以上により、当該ゲームにより許容された役を示す内部当選フラグが設定されるようになっている。また、遊技状態がチャレンジボーナス中以外の場合には、内部当選フラグとして、［００Ｈ  ＯＲ  一般役の当選フラグ（上位８ビット）、特別役の当選フラグ（下位８ビット）  ＯＲ  一般役の当選フラグ（下位８ビット）］が、チャレンジボーナス中の場合には、内部当選フラグとして、［Ｃ０Ｈ  ＯＲ  一般役の当選フラグ（上位８ビット）、特別役の当選フラグ（下位８ビット）  ＯＲ  一般役の当選フラグ（下位８ビット）］が内部当選フラグ格納ワーク（iwin_flag）に格納されるので、チャレンジボーナス中の場合には、全ての小役（ベル、チェリー）の入賞が許容される内部当選フラグが設定されるようになっている。
【０２２８】
尚、遊技状態がチャレンジボーナス以外の場合には、変換した値に００００Ｈを論理和演算する処理を省いても良い。また、遊技状態がチャレンジボーナスであると判定された場合に、番号／フラグ変換テーブルに基づいて、当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、変換した値にＣ０００Ｈ（全小役当選フラグ）を論理和演算した値を内部当選フラグ格納ワーク（iwin_flag）に格納するのではなく、遊技状態がチャレンジボーナスであると判定された場合に、プログラム上に記載されたＣ０００Ｈ（全小役当選フラグ）を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に直接格納するようにしても良い。
【０２２９】
次に、メダルの払出に伴うエラー制御について説明する。ＣＰＵ４１ａは、小役入賞の発生やクレジット（賭数の設定に用いられたメダルを含む）の精算に伴い、ホッパーモータ３４を駆動してメダルを払い出す制御を行う。この際、払出センサ３５により一定時間以上メダルが継続して検出された場合には、メダル詰まりと判定し、ホッパーモータ３４の駆動を停止し、エラー状態に制御して遊技の進行を停止させる。また、ホッパーモータ３４を駆動しているにも関わらず、払出センサ３５により一定時間以上メダルが検出されない場合には、一旦ホッパーモータ３４の駆動を停止し、数回にわたりホッパーモータ３４の駆動を再試行しても払出センサ３５によりメダルが検出されない場合には、ホッパーエラー（ホッパー内のメダル不足を示すエラー）と判定し、エラー状態に制御して遊技の進行を停止させる。これらメダル詰まりエラーやホッパーエラーに伴うエラー状態は、リセットスイッチ２３やリセット／設定スイッチ３８が操作されることで解除され、残りのメダルを払い出す制御が行われるようになっている。
【０２３０】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について説明する。メイン制御部４１のＲＡＭ４１ｃは、５１２バイトの格納領域を有しており、図１６に示すように、各バイト毎に７Ｅ００（Ｈ）〜７ＦＦＦ（Ｈ）のアドレスが割り当てられているとともに、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、未使用領域、スタック領域に区分されている。
【０２３１】
重要ワークは、７Ｅ００（Ｈ）〜７Ｅ２７（Ｈ）の４０バイトの領域であり、各種表示器やＬＥＤの表示用データ、Ｉ／Ｏポート４１ｄの入出力データ、遊技時間の計時カウンタ等、ビッグボーナス終了時に初期化すると不都合があるデータが格納されるワークである。
【０２３２】
一般ワークは、７Ｅ２８（Ｈ）〜７Ｅ８Ｅ（Ｈ）、７ＥＢＡ（Ｈ）〜７Ｆ０４（Ｈ）の１７８バイトの領域であり、停止図柄データ、メダルの払出枚数、役の当選フラグ、ビッグボーナス中のメダル払出総数等、ビッグボーナス終了時に初期化可能なデータが格納されるワークである。
【０２３３】
特別ワークは、７Ｅ８Ｆ（Ｈ）〜７ＥＢ５（Ｈ）の３９バイトの領域であり、演出制御基板９０へコマンドを送信するためのデータ、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。
【０２３４】
設定値ワークは、７ＥＢ６（Ｈ）の１バイトの領域であり、設定値が格納されるワークであり、設定開始前（設定変更モードへの移行前）の初期化において０が格納された後、１に補正され、設定終了時（設定変更モードへの終了時）に新たに設定された設定値が格納されることとなる。
【０２３５】
非保存ワークは、７ＥＢ７（Ｈ）〜７ＥＢ９（Ｈ）の３バイトの領域であり、打止スイッチ３６の状態を各種スイッチ類の状態を保持するワークであり、起動時にＲＡＭ４１ｃのデータが破壊されているか否かに関わらず必ず値が設定されることとなる。
【０２３６】
未使用領域は、７Ｆ０５（Ｈ）〜７ＦＤ１（Ｈ）の２０５バイトの領域であり、ＲＡＭ４１ｃの格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなる。
【０２３７】
スタック領域は、７ＦＤ２（Ｈ）〜７ＦＦＦ（Ｈ）の４６バイトの領域であり、このうち７ＦＤ２（Ｈ）〜スタックポインタ−１の領域は、スタック領域内の使用されていない未使用スタック領域であり、スタックポインタ〜７ＦＦＦ（Ｈ）の領域は、ＣＰＵ４１ａのレジスタから退避したデータが格納されている使用中スタック領域である。このうち未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
【０２３８】
本実施例においてメイン制御部４１のＣＰＵ４１ａは、図１７（ａ）に示すように、設定開始前（設定変更モードへの移行前）、ビッグボーナス終了時、起動時にＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の４つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化を行う。
【０２３９】
初期化１は、起動時において設定キースイッチ３７がＯＮの状態であり、設定変更モードへ移行する場合において、その前に行う初期化であり、初期化１では、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての領域（未使用領域及び未使用スタック領域を含む）が初期化される。初期化２は、ビッグボーナス終了時に行う初期化であり、初期化２では、ＲＡＭ４１ｃの格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化３は、起動時において設定キースイッチ３７がＯＦＦの状態であり、かつＲＡＭ４１ｃのデータが破壊されていない場合において行う初期化であり、初期化３では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、ＲＡＭ４１ｃの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
【０２４０】
ＲＯＭ４１ｂには、初期化１〜４に対応してそれぞれ初期化する領域の開始アドレスと初期化する領域のサイズを示す初期化サイズとが登録されており、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際には、初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと初期化サイズを取得し、開始アドレスにポインタを設定し、初期化サイズを設定する。また、初期化サイズが未使用スタック領域のサイズを含むものであれば、未使用スタック領域のサイズ（スタックポインタ−７ＦＤ２（Ｈ））を計算し、初期化サイズを設定する。そして、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に初期化サイズを１減算するとともに、ポインタを１進める処理を、初期化サイズが０になるまで実行する。すなわちＣＰＵ４１ａがＲＡＭ４１ｃを初期化する際には、初期化条件に応じた領域毎に初期化するのではなく、指定したアドレスから指定したサイズ分の領域を初期化することとなる。
【０２４１】
図１７（ｂ）は、初期化テーブルを示す図である。初期化テーブルには、前述のように初期化１〜４に対応して開始アドレス及び初期化サイズが登録されている。
【０２４２】
初期化１には、開始アドレスとして７Ｅ００（Ｈ）、初期化サイズとして１Ｄ３（Ｈ）＋Ｍ（未使用スタック領域のサイズ：（スタックポインタ−７ＦＤ２））バイトが登録されているので、初期化１では、７Ｅ００（Ｈ）から１Ｄ３（Ｈ）＋Ｍバイト分の領域が初期化される。そして、図１６に示すように、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域は、７Ｅ００（Ｈ）から連続するアドレス領域に割り当てられており、これらの領域のサイズを合計すると１Ｄ３（Ｈ）＋Ｍバイトとなるので、初期化１において、７Ｅ００（Ｈ）から１Ｄ３（Ｈ）＋Ｍバイト分が初期化されることで、重要ワーク、一般ワーク、特別ワーク、設定値ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【０２４３】
初期化２には、２つの開始アドレス及び各アドレス別の初期化サイズが登録されている。これは、初期化２において初期化される一般ワークが離れた２つのアドレス領域に割り当てられているからである。初期化２には、最初に初期化する領域の開始アドレスとして７Ｅ２８（Ｈ）、初期化サイズとして６７（Ｈ）バイトが登録され、次に初期化する領域の開始アドレスとして７ＥＢ７（Ｈ）、初期化サイズとして１１９（Ｈ）＋Ｍバイトがそれぞれ登録されているので、初期化２では、７Ｅ２８（Ｈ）から６７（Ｈ）バイト分の領域及び７ＥＢ７（Ｈ）から１１９（Ｈ）＋Ｍバイト分の領域が初期化される。そして、７Ｅ２８（Ｈ）〜７Ｅ８Ｅ（Ｈ）の一般ワークのサイズは６７（Ｈ）バイトとなり、図１６に示すように、残りの一般ワークの領域、未使用領域、未使用スタック領域は、７ＥＢ７（Ｈ）から連続するアドレス領域に割り当てられ、これらの領域のサイズを合計すると１１９（Ｈ）＋Ｍバイトとなるので、初期化２において、７Ｅ２８（Ｈ）から６７（Ｈ）バイト分が初期化され、７ＥＢ７（Ｈ）から１１９（Ｈ）＋Ｍバイト分が初期化されることで、一般ワーク、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【０２４４】
初期化３にも、２つの開始アドレス及び各アドレス別の初期化サイズが登録されている。これは、初期化３において初期化される非保存ワークと未使用領域及び未使用スタック領域とが離れた２つのアドレス領域に割り当てられているからである。初期化３には、最初に初期化する領域の開始アドレスとして７ＥＢ７（Ｈ）、初期化サイズとして３（Ｈ）バイトが登録され、次に初期化する領域の開始アドレスとして７Ｆ０５（Ｈ）、初期化サイズとしてＣＥ（Ｈ）＋Ｍバイトがそれぞれ登録されているので、初期化３では、７ＥＢ７（Ｈ）から３（Ｈ）バイト分の領域及び７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分の領域が初期化される。そして、図１６に示すように、非保存ワークは、７ＥＢ７（Ｈ）から３バイト分の領域であり、未使用領域、未使用スタック領域は、７Ｆ０５（Ｈ）から連続するアドレス領域に割り当てられ、これらの領域のサイズを合計するとＣＥ（Ｈ）＋Ｍバイトとなるので、初期化３において、７ＥＢ７（Ｈ）から３（Ｈ）バイト分が初期化され、７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分が初期化されることで、非保存ワーク、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【０２４５】
初期化４には、開始アドレスとして７Ｆ０５（Ｈ）、初期化サイズとしてＣＥ（Ｈ）＋Ｍバイトが登録されているので、初期化４では、７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分の領域が初期化される。そして、図１６に示すように、未使用領域、未使用スタック領域は、７Ｆ０５（Ｈ）から連続するアドレス領域に割り当てられており、これらの領域のサイズを合計するとＣＥ（Ｈ）＋Ｍバイトとなるので、初期化４において、７Ｆ０５（Ｈ）からＣＥ（Ｈ）＋Ｍバイト分が初期化されることで、未使用領域、未使用スタック領域の順番でこれらの各領域が初期化されることとなる。
【０２４６】
また、初期化１〜４のうち初期化１、３については、ＣＰＵ４１ａの起動後、割込が許可される前に行われる処理である。一方、初期化２、４については、割込が許可されている状態で行われる処理であるが、これら初期化２、４の実行中は、割込が禁止されるようになっている。すなわち初期化１〜４の実行中においては常に割込が禁止されるようになっている。
【０２４７】
尚、本実施例においてＲＡＭ４１ｃの記憶領域を初期化するとは、対象となる領域のデータを０クリアすること、すなわち対象となる領域の値を０に更新することであるが、例えば、対象となる領域のデータを予め定められた初期値に書き換えるようにしても良い。
【０２４８】
次に、スロットマシン１から外部機器に対して出力される外部出力信号について説明する。メイン制御部４１のＣＰＵ４１ａは、レギュラーボーナス中を示すＲＢ中信号、ビッグボーナス中を示すＢＢ中信号、チャレンジボーナス中を示すＣＢ中信号、賭数の設定に用いられたメダル数を示すメダルＩＮ信号、入賞の発生に伴い払い出されたメダル数を示すメダルＯＵＴ信号を外部出力信号として出力する出力制御を行う。遊技制御基板４０は、外部出力基板（図示略）を介して外部機器に接続可能とされており、ＣＰＵ４１ａの出力制御によって出力された外部出力信号は、外部出力基板（図示略）に接続された外部機器に出力されるようになっている。
【０２４９】
ここで、ビッグボーナスが発生した際のＲＢ中信号及びＢＢ中信号の出力状況について説明する。ビッグボーナスが発生すると、ＣＰＵ４１ａは、まずＢＢ中信号の出力を開始する（ＯＦＦからＯＮの状態とする）。次いで、レギュラーボーナスの発生に伴いＲＢ中信号の出力を開始する（ＯＦＦからＯＮの状態とする）ビッグボーナス中は、終了条件が成立するまでレギュラーボーナスに繰り返し移行するので、常にレギュラーボーナスに制御される状態となるが、ＣＰＵ４１ａは、一旦レギュラーボーナスが終了し、次のレギュラーボーナスが開始する場合に、終了するレギュラーボーナスの発生を示すＲＢ中信号の出力を停止し（ＯＮからＯＦＦの状態とする）、出力待ち時間ｔｗが経過したときに再度出力を開始する（ＯＦＦからＯＮの状態とする）制御を行うようになっている。そして、ビッグボーナスの終了条件が成立し、これに伴いレギュラーボーナスが終了すると、ＲＢ中信号の出力を停止し（ＯＮからＯＦＦの状態とする）、続いてＢＢ中信号の出力も停止する（ＯＮからＯＦＦの状態とする）。
【０２５０】
このようにビッグボーナス中においてレギュラーボーナスが終了し、再度レギュラーボーナスが開始する場合には、ＲＢ中信号の出力を出力待ち時間ｔｗの間停止した後、再度出力を開始するようになっており、レギュラーボーナスが一旦途切れたことをＲＢ中信号を入力した外部機器にて判別することが可能となる。尚、出力待ち時間ｔｗは、外部機器で信号の途切れたことを判別できる程度以上の時間であれば良い。
【０２５１】
次に、メイン制御部４１のＣＰＵ４１ａが演出制御基板９０に対して送信するコマンドについて説明する。
【０２５２】
本実施例では、メイン制御部４１のＣＰＵ４１ａが演出制御基板９０に対して、ＢＥＴコマンド、内部当選コマンド、リール回転開始コマンド、リール停止コマンド、入賞判定コマンド、払出開始コマンド、払出終了コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定開始コマンド、初期化コマンドを含む複数種類のコマンドを送信する。
【０２５３】
ＢＥＴコマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、メダル投入時、１枚ＢＥＴスイッチ５またはＭＡＸＢＥＴスイッチ６が操作されて賭数が設定されたときに送信される。
【０２５４】
内部当選コマンドは、内部当選フラグの当選状況、並びに成立した内部当選フラグの種類を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときに送信される。
【０２５５】
リール回転開始コマンドは、リールの回転の開始を通知するコマンドであり、リール２Ｌ、２Ｃ、２Ｒの回転が開始されたときに送信される。
【０２５６】
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止制御が行われる毎に送信される。
【０２５７】
入賞判定コマンドは、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
【０２５８】
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
【０２５９】
遊技状態コマンドは、次ゲームの遊技状態（通常遊技状態であるか、ビッグボーナス中であるか、レギュラーボーナス中であるか、等）を特定可能なコマンドであり、ゲームの終了時に送信される。
【０２６０】
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、１ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するときに送信される。
【０２６１】
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ＢＢ終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
【０２６２】
エラーコマンドは、エラー状態の発生または解除を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
【０２６３】
設定開始コマンドは、設定変更モードの開始を示すコマンドであり、設定開始時、すなわち設定変更モードに移行した時点で送信される。
【０２６４】
初期化コマンドは、遊技状態が初期化された旨を示すコマンドであり、設定終了時、すなわち設定変更モードの終了時に送信される。
【０２６５】
これら各コマンドは、後述する起動処理及びゲーム処理において生成され、ＲＡＭ４１ｃの特別ワークに設けられたコマンドキューに一時格納され、前述したタイマ割込処理（メイン）において送信される。
【０２６６】
次に、メイン制御部４１のＣＰＵ４１ａが演出制御基板９０に対して送信するコマンドに基づいてサブ制御部９１が実行する演出の制御について説明する。
【０２６７】
サブ制御部９１のＣＰＵ９１ａは、メイン制御部４１のＣＰＵ４１ａが送信したコマンドを受信した際に、ＲＯＭ９１ｂに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の各種演出装置の制御を行う。
【０２６８】
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器５１の表示パターン、演出効果ＬＥＤ５２の点灯態様、スピーカ５３、５４の出力態様、リールＬＥＤの点灯態様等、これら演出装置の制御パターンが登録されており、ＣＰＵ９１ａは、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてＲＡＭ９１ｃに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
【０２６９】
尚、ＣＰＵ９１ａは、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
【０２７０】
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、ＲＡＭ９１ｃに設定される。演出パターンの選択率は、ＲＯＭ９１ｂに格納された演出テーブルに登録されており、ＣＰＵ９１ａは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定するようになっている。
【０２７１】
また、制御パターンテーブルには、特定のコマンド（払出開始コマンド、払出終了、ビッグボーナス終了を示す遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定開始コマンド、初期化コマンド等）を受信した際に参照される特定の制御パターンが格納されており、ＣＰＵ９１ａは、これら特定のコマンドを受信した場合には、当該ゲームにおいて設定されている演出パターンに関わらず、当該コマンドに対応する特定の制御パターンを参照し、当該制御パターンに基づいて演出装置の制御を行う。
【０２７２】
入賞の発生を示す入賞判定コマンドを受信した場合には、入賞の種類に応じた入賞時演出を実行するための入賞時演出パターンが制御パターンとして参照される。特に、ビッグボーナス入賞の発生を示す入賞判定コマンドを受信した場合には、ビッグボーナス入賞時に特有のＢＢ入賞時演出を実行するためのＢＢ入賞時パターンが制御パターンとして参照される。
【０２７３】
払出開始コマンドを受信した場合には、払出効果音を出力するための払出パターンが制御パターンとして参照される。また、払出効果音の出力中に払出終了コマンドを受信すると、払出効果音の出力を停止する。尚、払出開始コマンドを受信した場合には、他のコマンドと異なり、実行中の演出を中止して受信したコマンドに対応する演出を実行するのではなく、実行中の演出は継続したまま、払出効果音の出力が行われるようになっている。すなわち他の演出と払出に伴う演出が並行して実行されることとなる。
【０２７４】
ビッグボーナス終了を示す遊技状態コマンドを受信した場合には、ビッグボーナスの終了を示すエンディング演出を実行するためのエンディングパターンが制御パターンとして参照される。
【０２７５】
待機コマンドを受信した場合には、待機演出を実行するための待機パターンが制御パターンとして参照される。
【０２７６】
打止状態の発生を示す打止コマンド受信した場合には、打止状態である旨を報知するための打止報知パターンが制御パターンとして参照される。また、打止状態の解除を示す打止コマンドを受信した場合には、前述した待機パターンが制御パターンとして参照される。すなわち打止状態が解除されると待機演出が実行されることとなる。
【０２７７】
エラー状態の発生を示すエラーコマンドを受信した場合には、エラー状態である旨及びその種類を報知するためのエラー報知パターンが制御パターンとして参照される。また、エラー状態の解除を示すエラーコマンドを受信した場合には、エラー発生時に実行していた制御パターンが参照される。すなわちエラー発生時の演出が最初から実行されることとなる。尚、後に説明するが、前述したＢＢ入賞時演出やエンディング演出は、演出が動的に実行される経過段階と、経過段階が終了した時点でその状態（例えば、液晶表示器５１には最終画面が継続して表示され、最終段階の効果音が繰り返し出力される状態）が継続される最終段階と、から構成されており、エラー発生時にこれらＢＢ入賞時演出やエンディング演出が最終段階に到達していた場合には、エラーの解除時にこれらＢＢ入賞時演出やエンディング演出が経過段階から実行されるのではなく、最終段階の状態に復帰することとなる。
【０２７８】
設定開始コマンドを受信した場合には、設定変更中である旨を報知するための設定中報知パターンが参照される。また、初期化コマンドを受信した場合には、前述した待機パターンが制御パターンとして参照される。すなわち初期化コマンドを受信すると待機演出が実行されることとなる。
【０２７９】
サブ制御部９１のＣＰＵ９１ａは、定期的に実行するタイマ割込処理（サブ）を実行する毎に、ＲＡＭ９１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、ＲＡＭ９１ｃに格納する処理を行うようになっている。
【０２８０】
そして、ＣＰＵ９１ａは、その起動時においてＲＡＭ９１ｃの全ての領域に格納されたデータに基づいてＲＡＭパリティを計算し、ＲＡＭパリティが０であることを条件に、ＲＡＭ９１ｃに記憶されているデータに基づいて電断前の演出状態に復帰させるようになっている。具体的には、最後に実行していた制御パターンを参照し、当該制御パターンに基づく制御を実行する。これにより電断前に実行していた制御パターンに基づく演出が最初から実行されることとなる。尚、電断時にＢＢ入賞時演出やエンディング演出が最終段階に到達していた場合には、次回起動時にこれらＢＢ入賞時演出やエンディング演出が経過段階から実行されるのではなく、最終段階の状態に復帰することとなる。また、起動時においてＲＡＭ９１ｃの全ての領域に格納されたデータに基づいて計算したＲＡＭパリティが０でない場合（１の場合）には、ＲＡＭ異常と判定し、ＲＡＭ９１ｃの全ての領域を初期化するようになっている。
【０２８１】
次に、賭数の設定及びクレジット（賭数の設定に用いられたメダルを含む）の精算と、演出と、の関係について説明する。図１８〜図２７は、賭数の設定が許容される期間及びクレジットの精算が許容される期間を示すタイミングチャートである。
【０２８２】
図１８に示すように、ゲームが実行されていない間は、賭数の設定及びクレジットの精算が許可された状態であり、この状態においては、メダルを投入するか、クレジットを用いて賭数の設定が可能に制御されている。賭数の設定が可能な状態で、遊技状態に応じた規定数の賭数が設定されていない状態であれば、メダルの投入が検出される毎に、賭数が１ずつ加算される。また、遊技状態に応じた規定数の賭数が設定された状態であれば、メダルの投入が検出される毎に、クレジットが１ずつ加算される。そして、クレジットが上限（本実施例では５０枚）に到達した時点で流路切替ソレノイド３０がｏｆｆとなり、投入されたメダルの流路がメダル払出口９側に切り替わり、メダルの投入が禁止される。また、クレジットが残存している状態であれば、１枚ＢＥＴスイッチ５またはＭＡＸＢＥＴスイッチ６の操作により、これらのスイッチに応じて賭数が設定され、その分がクレジットから減算される。また、クレジットが残存しているか、賭数が設定されている状態であれば、精算スイッチ１０の操作により、ホッパーモータ３４の駆動によりクレジットとして記憶されている分のメダル及び賭数の設定に用いられた分のメダルが払い出され、遊技者に返却されるとともに、メダルの払出に応じてクレジット及び賭数が減算される。
【０２８３】
賭数の設定及びクレジットの精算が許可された状態において、スタートスイッチ７が操作され、ゲームが開始すると、その時点で賭数の設定もクレジットの精算も禁止される。詳しくは、流路切替ソレノイド３０がｏｆｆとなり、投入されたメダルの流路がメダル払出口９側に切り替わるとともに、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、精算スイッチ１０の操作が無効化される。尚、ゲームが開始した時点とは、リールの回転が開始した時点ではなく、スタートスイッチ７が操作されて制御段階が移った時点である。これは、前回のゲーム開始から一定期間経過していないためにウェイトがかかる場合があるが、この時点で、リールの回転開始は待機するものの制御段階としてはゲームが開始しているからである。
【０２８４】
その後、リール２Ｌ、２Ｃ、２Ｒの回転が停止し、全てのリール２Ｌ、２Ｃ、２Ｒに表示結果が導出され、メダルの払出を伴う入賞が発生していなければ、全てのリール２Ｌ、２Ｃ、２Ｒに表示結果が導出された時点でゲームの終了と判定され、ゲームの終了が判定された時点で賭数の設定及びクレジットの精算の禁止が解除され、賭数の設定及びクレジットの精算が許可された状態となる。尚、例外として、リプレイ入賞が発生した場合には、賭数が自動的に設定されることとなるので、遊技者の操作による賭数の設定は禁止されたままの状態であり、この状態では、クレジットの精算も禁止されるようになっている。
【０２８５】
また、リール２Ｌ、２Ｃ、２Ｒの回転が停止した結果、メダルの払出を伴う入賞が発生していれば、図１９に示すように、全てのリール２Ｌ、２Ｃ、２Ｒに表示結果が導出された時点でゲームの終了は判定されず、当該入賞の発生に伴うメダルの払出が終了した時点で、ゲームの終了が判定され、その時点で賭数の設定及びクレジットの精算の禁止が解除され、賭数の設定及びクレジットの精算が許可された状態となる。
【０２８６】
また、リール２Ｌ、２Ｃ、２Ｒの回転が停止した結果、ビッグボーナス入賞が発生していれば、図２０に示すように、全てのリール２Ｌ、２Ｃ、２Ｒに表示結果が導出された時点でゲームの終了が判定されるとともに、ＣＰＵ９１ａによりＢＢ入賞時演出が実行される。ＢＢ入賞時演出は、経過段階と、最終段階と、から構成されており、まず、ＢＢ入賞時演出の演出時間にわたり動的な演出が実行される経過段階に移行し、経過段階が終了した時点でその状態が継続される最終段階に移行する。一方、ＣＰＵ４１ａによりゲームの終了が判定された時点からの経過時間が計時されるとともに、この経過時間が、前述したＢＢ入賞時演出が最終段階に到達するまでの期間よりも長く設定されたＢＢ入賞時演出の演出待ち時間に到達するまで、賭数の設定は禁止されたままの状態であり、ゲームの終了が判定された時点からの経過時間がＢＢ入賞時演出の演出待ち時間に到達した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となる。一方、クレジットの精算については、ゲームの終了が判定された時点で、禁止が解除され、その時点からクレジットの精算が許可された状態となる。
【０２８７】
また、図２１及び図２２に示すように、ビッグボーナス入賞が発生したゲームの終了が判定された後、ＣＰＵ４１ａにより計時されている経過時間がＢＢ入賞時演出の演出待ち時間に到達するまでの期間において電断が発生し、その後復帰した場合には、ゲームの終了が判定された時点からの経過時間の計時を電断時の状態から再開する。すなわちメイン制御部４１では、ＢＢ入賞時演出の演出待ち時間を計時するためのカウンタの値を電断時にバックアップし、次回起動時には、バックアップされているカウンタの値に基づいてＢＢ入賞時演出の演出待ち時間の計時を再開するので、電断復旧時には、ＢＢ入賞時演出の演出待ち時間から電断前に既に経過した時間（図中Ｔａの期間）を除いた時間（図中Ｔｂの期間）が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となる。
【０２８８】
これに対して、図２１に示すように、ＢＢ入賞時演出が最終段階に到達する前の段階において電断が発生し、その後復帰した場合には、ＢＢ入賞時演出は経過段階の最初から実行される。一方、図２２に示すように、ＢＢ入賞時演出が最終段階に到達した後の段階において電断が発生し、その後復帰した場合には、ＢＢ入賞時演出は最終段階の状態で復帰する。すなわちサブ制御部９１では、電断時に実行中のＢＢ入賞時演出が経過段階にあるか最終段階にあるか（例えば、ＢＢ入賞時演出が最終段階に到達した旨を示すフラグやＢＢ入賞時演出が実行されてからの経過時間）のみをバックアップし、次回起動時には、ＢＢ入賞時演出が経過段階にある旨がバックアップされている場合（例えば、ＢＢ入賞時演出が最終段階に到達した旨を示すフラグが設定されている場合やＢＢ入賞時演出が実行されてからの経過時間が最終段階に到達している場合）には、ＢＢ入賞時演出が経過段階の最初から実行され、ＢＢ入賞時演出が最終段階にある旨がバックアップされていれば、ＢＢ入賞時演出が最終段階の状態で復帰することとなる。そして、ＢＢ入賞時演出が経過段階であるか、最終段階であるか、に関わらず、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、ＢＢ入賞時演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。
【０２８９】
また、図２３に示すように、ビッグボーナス入賞が発生したゲームの終了が判定された後、ＣＰＵ４１ａにより計時されている経過時間がＢＢ入賞時演出の演出待ち時間に到達するまでの期間において、例えば、クレジットの精算が実行され、この精算に伴うメダルの払出中に払出エラーが発生し、当該払出エラーが解除した場合には、ゲームの終了が判定された時点からの経過時間の計時をエラー発生時の状態から再開する。すなわちメイン制御部４１では、ＢＢ入賞時演出の演出待ち時間を計時するためのカウンタの値をエラー発生中も維持し、エラー解除後には、維持されているカウンタの値に基づいてＢＢ入賞時演出の演出待ち時間の計時を再開するので、払出エラーが解除したときには、ＢＢ入賞時演出の演出待ち時間から払出エラーの発生前に既に経過した時間（図中Ｔｃの期間）を除いた時間（図中Ｔｄの期間）が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となる。
【０２９０】
これに対して、図２３に示すように、ＢＢ入賞時演出が最終段階に到達する前の段階において払出エラーが発生し、当該払出エラーが解除した場合には、ＢＢ入賞時演出は経過段階の最初から実行される。一方、特に図示しないが、ＢＢ入賞時演出が最終段階に到達した後の段階において払出エラーが発生し、当該払出エラーが解除した場合には、電断時と同様にＢＢ入賞時演出は最終段階の状態で復帰する。すなわちサブ制御部９１では、エラー発生時に実行中のＢＢ入賞時演出が経過段階にあるか最終段階にあるかのみのデータを維持し、当該エラーが解除したときには、ＢＢ入賞時演出が経過段階にある旨のデータが維持されていれば、ＢＢ入賞時演出が経過段階の最初から実行され、ＢＢ入賞時演出が最終段階にある旨のデータが維持されていれば、ＢＢ入賞時演出が最終段階の状態で復帰することとなる。そして、ＢＢ入賞時演出が経過段階であるか、最終段階であるか、に関わらず、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、ＢＢ入賞時演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。
【０２９１】
また、ビッグボーナス中のゲームにおいて、リール２Ｌ、２Ｃ、２Ｒの回転が停止した結果、ビッグボーナスの終了条件が成立したゲーム、すなわち何らかの入賞が発生してビッグボーナス中の払出総数が３４５枚を超えたゲームで、かつ打止機能が設定されていない場合であれば、図２０に示すように、メダルの払出が終了した時点でゲームの終了が判定されるとともに、ＣＰＵ９１ａによりエンディング演出が実行される。エンディング演出は、ＢＢ入賞時演出と同様に、経過段階と、最終段階と、から構成されており、まず、エンディング演出の演出時間にわたり動的な演出が実行される経過段階に移行し、経過段階が終了した時点でその状態が継続される最終段階に移行する。一方、ＣＰＵ４１ａによりゲームの終了が判定された時点からの経過時間が計時されるとともに、この経過時間が、前述したエンディング演出が最終段階に到達するまでの期間よりも長く設定されたエンディング演出の演出待ち時間に到達するまで、賭数の設定は禁止されたままの状態であり、ゲームの終了が判定された時点からの経過時間がエンディング演出の演出待ち時間に到達した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となる。一方、クレジットの精算については、ゲームの終了が判定された時点で、禁止が解除され、その時点からクレジットの精算が許可された状態となる。
【０２９２】
また、図２１及び図２２に示すように、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、ＣＰＵ４１ａにより計時されている経過時間がエンディング演出の演出待ち時間に到達するまでの期間において電断が発生し、その後復帰した場合には、ゲームの終了が判定された時点からの経過時間の計時を電断時の状態から再開する。すなわちメイン制御部４１では、エンディング演出の演出待ち時間を計時するためのカウンタの値を電断時にバックアップし、次回起動時には、バックアップされているカウンタの値に基づいてエンディング演出の演出待ち時間の計時を再開するので、電断復旧時には、エンディング演出の演出待ち時間から電断前に既に経過した時間（図中Ｔａの期間）を除いた時間（図中Ｔｂの期間）が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となる。
【０２９３】
これに対して、図２１に示すように、エンディング演出が最終段階に到達する前の段階において電断が発生し、その後復帰した場合には、エンディング演出は経過段階の最初から実行される。一方、図２２に示すように、エンディング演出が最終段階に到達した後の段階において電断が発生し、その後復帰した場合には、エンディング演出は最終段階の状態で復帰する。すなわちサブ制御部９１では、電断時に実行中のエンディング演出が経過段階にあるか最終段階にあるか（例えば、エンディング演出が最終段階に到達した旨を示すフラグやエンディング演出が実行されてからの経過時間）のみをバックアップし、次回起動時には、エンディング演出が経過段階にある旨がバックアップされている場合（例えば、エンディング演出が最終段階に到達した旨を示すフラグが設定されている場合やエンディング演出が実行されてからの経過時間が最終段階に到達している場合）には、エンディング演出が経過段階の最初から実行され、エンディング演出が最終段階にある旨がバックアップされていれば、エンディング演出が最終段階の状態で復帰することとなる。そして、エンディング演出が経過段階であるか、最終段階であるか、に関わらず、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、エンディング演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。
【０２９４】
また、図２３に示すように、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、ＣＰＵ４１ａにより計時されている経過時間がＢＢ入賞時演出の演出待ち時間に到達するまでの期間において、例えば、クレジットの精算が実行され、この精算に伴うメダルの払出中に払出エラーが発生し、当該払出エラーが解除した場合には、ゲームの終了が判定された時点からの経過時間の計時をエラー発生時の状態から再開する。すなわちメイン制御部４１では、エンディング演出の演出待ち時間を計時するためのカウンタの値をエラー発生中も維持し、エラー解除後には、維持されているカウンタの値に基づいてエンディング演出の演出待ち時間の計時を再開するので、払出エラーが解除したときには、エンディング演出の演出待ち時間から払出エラーの発生前に既に経過した時間（図中Ｔｃの期間）を除いた時間（図中Ｔｄの期間）が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となる。
【０２９５】
これに対して、図２３に示すように、エンディング演出が最終段階に到達する前の段階において払出エラーが発生し、当該払出エラーが解除した場合には、エンディング演出は経過段階の最初から実行される。一方、特に図示しないが、エンディング演出が最終段階に到達した後の段階において払出エラーが発生し、当該払出エラーが解除した場合には、電断時と同様にエンディング演出は最終段階の状態で復帰する。すなわちサブ制御部９１では、エラー発生時に実行中のエンディング演出が経過段階にあるか最終段階にあるかのみのデータを維持し、当該エラーが解除したときには、エンディング演出が経過段階にある旨のデータが維持されていれば、エンディング演出が経過段階の最初から実行され、エンディング演出が最終段階にある旨のデータが維持されていれば、エンディング演出が最終段階の状態で復帰することとなる。そして、エンディング演出が経過段階であるか、最終段階であるか、に関わらず、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、エンディング演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。
【０２９６】
また、ビッグボーナスの終了条件が成立したゲームで、かつ打止機能が設定されている場合であれば、図２４に示すように、メダルの払出が終了した時点でゲームの終了が判定されるとともに、ＣＰＵ９１ａにより前述のエンディング演出が実行される。一方、ＣＰＵ４１ａによりゲームの終了が判定された時点からの経過時間が計時されるとともに、この経過時間が、前述したエンディング演出が最終段階に到達するまでの期間よりも長く設定されたエンディング演出の演出待ち時間に到達すると打止状態に制御されるため、ゲームの終了が判定された時点からの経過時間がエンディング演出の演出待ち時間に到達しても、リセットスイッチ２３またはリセット／設定スイッチ３８が操作されるまで、賭数の設定は禁止されたままの状態であり、リセットスイッチ２３またはリセット／設定スイッチ３８が操作され、打止状態が解除された時点で賭数の設定の禁止も解除され、賭数の設定が許可された状態となる。一方、クレジットの精算については、ゲームの終了が判定された時点で、禁止が解除され、その時点からクレジットの精算が許可された状態となる。
【０２９７】
また、図２５及び図２６に示すように、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、ＣＰＵ４１ａにより計時されている経過時間がエンディング演出の演出待ち時間に到達するまでの期間において電断が発生し、その後復帰した場合には、ゲームの終了が判定された時点からの経過時間の計時を電断時の状態から再開する。すなわち電断復旧時には、エンディング演出の演出待ち時間から電断前に既に経過した時間（図中Ｔｅの期間）を除いた時間（図中Ｔｆの期間）が経過した後、リセットスイッチ２３またはリセット／設定スイッチ３８が操作され、打止状態が解除された時点で賭数の設定の禁止も解除され、賭数の設定が許可された状態となる。
【０２９８】
これに対して、図２５に示すように、エンディング演出が最終段階に到達する前の段階において電断が発生し、その後復帰した場合には、エンディング演出は経過段階の最初から実行される。一方、図２６に示すように、エンディング演出が最終段階に到達した後の段階において電断が発生し、その後復帰した場合には、エンディング演出は最終段階の状態で復帰する。そして、エンディング演出が経過段階であるか、最終段階であるか、に関わらず、打止状態が発生してメイン制御部４１側からその旨を示す打止コマンドを受信すると、エンディング演出はその時点でキャンセルされ、打止中報知が実行されることとなる。この状態で打止状態が解除されてメイン制御部４１側からその旨を示す打止コマンドを受信すると、打止中報知は中止され、待機演出が実行されることとなる。
【０２９９】
また、図２７に示すように、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、ＣＰＵ４１ａにより計時されている経過時間がＢＢ入賞時演出の演出待ち時間に到達するまでの期間において、例えば、クレジットの精算が実行され、この精算に伴うメダルの払出中に払出エラーが発生し、当該払出エラーが解除した場合には、ゲームの終了が判定された時点からの経過時間の計時をエラー発生時の状態から再開する。すなわち払出エラーが解除したときには、エンディング演出の演出待ち時間から払出エラーの発生前に既に経過した時間（図中Ｔｇの期間）を除いた時間（図中Ｔｈの期間）が経過した後、リセットスイッチ２３またはリセット／設定スイッチ３８が操作され、打止状態が解除された時点で賭数の設定の禁止も解除され、賭数の設定が許可された状態となる。
【０３００】
これに対して、図２７に示すように、エンディング演出が最終段階に到達する前の段階において払出エラーが発生し、当該払出エラーが解除した場合には、エンディング演出は経過段階の最初から実行される。一方、特に図示しないが、エンディング演出が最終段階に到達した後の段階において払出エラーが発生し、当該払出エラーが解除した場合には、電断時と同様にエンディング演出は最終段階の状態で復帰する。そして、エンディング演出が経過段階であるか、最終段階であるか、に関わらず、打止状態が発生してメイン制御部４１側からその旨を示す打止コマンドを受信すると、エンディング演出はその時点でキャンセルされ、打止中報知が実行されることとなる。この状態で打止状態が解除されてメイン制御部４１側からその旨を示す打止コマンドを受信すると、打止中報知は中止され、待機演出が実行されることとなる。
【０３０１】
尚、本実施例では、ビッグボーナスの終了条件が、ビッグボーナス中の払出総数が３４５枚を超えることであるため、ビッグボーナスの終了条件が成立したゲームでは、必ずメダルの払出を伴うこととなり、払出が終了した時点でゲームの終了が判定されることとなるが、例えば、ビッグボーナスが規定ゲーム数に到達することを終了条件として適用する場合には、ビッグボーナスの終了条件が成立したゲームにおいてメダルの払出を伴わないこともあり、このような場合には、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出された時点でゲームの終了が判定されることとなる。
【０３０２】
次に、本実施例におけるメイン制御部４１のＣＰＵ４１ａが実行する各種制御内容を、図２８〜図５２に基づいて以下に説明する。
【０３０３】
ＣＰＵ４１ａは、リセット回路４９からリセット信号が入力されると、図２８のフローチャートに示す起動処理を行う。尚、リセット信号は、電源投入時及びメイン制御部４１の動作が停滞した場合に出力される信号であるので、起動処理は、電源投入に伴うＣＰＵ４１ａの起動時及びＣＰＵ４１ａの不具合に伴う再起動時に行われる処理である。
【０３０４】
起動処理では、まず、内蔵デバイスや周辺ＩＣ、割込モード、スタックポインタ等を初期化した後（Ｓａ１）、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否か、すなわち電圧が安定しているか否かを判定し（Ｓａ２）、電圧低下信号が入力されている場合には、電圧低下信号が入力されているか否かの判定以外は、いずれの処理も行わないループ処理に移行する。
【０３０５】
Ｓａ２のステップにおいて電圧低下信号が入力されていないと判定した場合には、Ｉレジスタ及びＩＹレジスタの値を初期化する（Ｓａ３）とともに、打止スイッチ３６の状態を取得し、ＣＰＵ４１ａの特定のレジスタに打止機能の有効／無効を設定する（Ｓａ４）。Ｉレジスタ及びＩＹレジスタの初期化により、Ｉレジスタには、割込発生時に参照する割込テーブルのアドレスが設定され、ＩＹレジスタには、ＲＡＭ４１ｃの格納領域を参照する際の基準アドレスが設定される。これらの値は、固定値であり、起動時には常に初期化されることとなる。
【０３０６】
次いで、ＲＡＭ４１ｃへのアクセスを許可し（Ｓａ５）、設定キースイッチ３７がＯＮの状態か否かを判定する（Ｓａ６）。Ｓａ６のステップにおいて設定キースイッチ３７がＯＮの状態でなければ、ＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）のＲＡＭパリティを計算し（Ｓａ７）、ＲＡＭパリティが０か否かを判定する（Ｓａ８）。正常に電断割込処理が行われていれば、ＲＡＭパリティが０になるはずであり、Ｓａ８のステップにおいてＲＡＭパリティが０でなければ、ＲＡＭ４１ｃに格納されているデータが正常ではないので、ＲＡＭ異常を示すエラーコードをレジスタに設定し（Ｓａ１０）、図２９に示すエラー処理に移行する。
【０３０７】
また、Ｓａ８のステップにおいてＲＡＭパリティが０であれば、更に破壊診断用データが正常か否かを判定する（Ｓａ９）。正常に電断割込処理が行われていれば、破壊診断用データが設定されているはずであり、Ｓａ９のステップにおいて破壊診断用データが正常でない場合（破壊診断用データが電断時に格納される５Ａ（Ｈ）以外の場合）にも、ＲＡＭ４１ｃのデータが正常ではないので、ＲＡＭ異常を示すエラーコードをレジスタに設定し（Ｓａ１０）、図２９に示すエラー処理に移行する。
【０３０８】
エラー処理では、図２９に示すように、現在の遊技補助表示器１２の表示状態をスタックに退避し（Ｓｂ１）、レジスタに格納されているエラーコードを遊技補助表示器１２に表示する（Ｓｂ２）。
【０３０９】
次いで、レジスタに格納されているエラーコードを確認し、当該エラーコードがＲＡＭ異常エラーまたは異常入賞エラーを示すエラーコードであるか否かを判定し（Ｓｂ３）、ＲＡＭ異常エラーまたは異常入賞エラーを示すエラーコードを示すエラーコードである場合には、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１を行った後（Ｓｂ４）、いずれの処理も行わないループ処理に移行する。
【０３１０】
また、Ｓｂ３のステップにおいて、ＲＡＭ異常エラー及び異常入賞エラー以外を示すエラーコードではないと判定された場合には、リセット／設定スイッチ３８の操作が検出されているか否かを判定し（Ｓｂ５）、リセット／設定スイッチ３８の操作が検出されていなければ、更にリセットスイッチ２３の操作が検出されているか否かを判定し（Ｓｂ６）、リセットスイッチ２３の操作も検出されていなければ、Ｓｂ４のステップに戻る。すなわちリセット／設定スイッチ３８またはリセットスイッチ２３の操作が検出されるまで、遊技の進行が不能な状態で待機する。
【０３１１】
そして、Ｓｂ５のステップにおいてリセット／設定スイッチ３８の操作が検出された場合、またはＳｂ６のステップにおいてリセットスイッチ２３の操作が検出された場合には、レジスタに格納されているエラーコードをクリアし（Ｓｂ７）、遊技補助表示器１２の表示状態をＳｂ１のステップにおいてスタックに退避した表示状態に復帰させて（Ｓｂ８）、もとの処理に戻る。
【０３１２】
このようにエラー処理においては、ＲＡＭ異常エラー及び異常入賞エラー以外によるエラー処理であれば、リセット／設定スイッチ３８またはリセットスイッチ２３が操作されることで、エラー状態を解除してもとの処理に復帰するが、ＲＡＭ異常エラーまたは異常入賞エラーによるエラー処理であれば、リセット／設定スイッチ３８またはリセットスイッチ２３が操作されてもエラー状態が解除されることはない。
【０３１３】
図２８に戻り、Ｓａ９のステップにおいて破壊診断用データが正常であると判定した場合には、ＲＡＭ４１ｃのデータは正常であるので、ＲＡＭ４１ｃの非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化３を行った後（Ｓａ１１）、破壊診断用データをクリアする（Ｓａ１２）。次いで、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し（Ｓａ１３）、割込を許可して（Ｓａ１４）、電断前の最後に実行していた処理に戻る。
【０３１４】
また、Ｓａ６のステップにおいて設定キースイッチ３７がＯＮの状態であれば、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１を実行した後（Ｓａ１５）、設定値ワークに格納されている値（この時点では０）を１に補正する（Ｓａ１６）。次いで、割込を許可して（Ｓａ１７）、図３０に示す設定変更処理、すなわち設定変更モードに移行し（Ｓａ１８）、設定変更処理の終了後、ゲーム処理に移行する。
【０３１５】
設定変更処理では、図３０に示すように、ＲＡＭ４１ｃの設定値ワークに格納されている設定値（設定変更処理に移行する前に設定値ワークの値は１に補正されているので、ここでは１である）を読み出す（Ｓｃ１）。
【０３１６】
その後、リセット／設定スイッチ３８とスタートスイッチ７の操作の検出待ちの状態となり（Ｓｃ２、Ｓｃ３）、Ｓｃ２のステップにおいてリセット／設定スイッチ３８の操作が検出されると、Ｓｃ１のステップにおいて読み出した設定値に１を加算し（Ｓｃ４）、加算後の設定値が７であるか否か、すなわち設定可能な範囲を超えたか否かを判定し（Ｓｃ５）、加算後の設定値が７でなければ、再びＳｃ２、Ｓｃ３のステップにおけるリセット／設定スイッチ３８とスタートスイッチ７の操作の検出待ちの状態に戻り、Ｓｃ５のステップにおいて加算後の設定値が７であれば設定値を１に補正した後（Ｓｃ６）、再びＳｃ２、Ｓｃ３のステップにおけるリセット／設定スイッチ３８とスタートスイッチ７の操作の検出待ちの状態に戻る。
【０３１７】
また、Ｓｃ３のステップにおいてスタートスイッチ７の操作が検出されると、その時点で選択されている変更後の設定値をＲＡＭ４１ｃの設定値ワークに格納して、設定値を確定した後（Ｓｃ７）、設定キースイッチ３７がＯＦＦの状態となるまで待機する（Ｓｃ８）。そして、Ｓｃ８のステップにおいて設定キースイッチ３７のＯＦＦが判定されると、図２８のフローチャートに復帰し、ゲーム処理に移行することとなる。
【０３１８】
このように起動処理においては、設定キースイッチ３７がＯＮの状態ではない場合に、ＲＡＭパリティが０であるか否か、破壊診断用データが正常であるか否かを判定することでＲＡＭ４１ｃに記憶されているデータが正常か否かを判定し、ＲＡＭ４１ｃのデータが正常でなければ、異常エラー処理に移行する。ＲＡＭ異常エラーによるエラー処理では、ＲＡＭ異常エラーを示すエラーコードを遊技補助表示器１２に表示させた後、いずれの処理も行わないループ処理に移行するので、ゲームの進行が不能化される。そして、ＲＡＭ４１ｃのデータが正常でなければ、割込が許可されることがないので、一度ＲＡＭ異常エラーによるエラー処理に移行すると、設定キースイッチ３７がＯＮの状態で起動し、割込が許可されるまでは、電断しても電断割込処理は行われない。すなわち電断割込処理において新たにＲＡＭパリティが０となるようにＲＡＭ調整用データが計算されて格納されることはなく、破壊診断用データが新たに設定されることもないので、ＣＰＵ４１ａが再起動しても設定キースイッチ３７がＯＮの状態で起動した場合を除き、ＣＰＵ４１ａを再起動させてもゲームを再開させることができないようになっている。
【０３１９】
そして、ＲＡＭ異常エラーによるエラー処理に一度移行すると、設定キースイッチ３７がＯＮの状態で起動し、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域が初期化された後、設定変更処理が行われ、リセット／設定スイッチ３８の操作により新たに設定値が選択・設定されるまで、ゲームの進行が不能な状態となる。すなわちＲＡＭ異常エラーによるエラー処理に移行した状態では、リセット／設定スイッチ３８の操作により新たに設定値が選択・設定されたことを条件に、ゲームの進行が不能な状態が解除され、ゲームを再開させることが可能となる。
【０３２０】
図３１は、ＣＰＵ４１ａが実行するゲーム処理の制御内容を示すフローチャートである。
【０３２１】
ゲーム処理では、ＢＥＴ処理（Ｓｄ１）、内部抽選処理（Ｓｄ２）、停止制御用データ選択処理（Ｓｄ３）、当選フラグ格納処理（Ｓｄ４）、リール回転処理（Ｓｄ５）、入賞判定処理（Ｓｄ６）、払出処理（Ｓｄ７）、ゲーム終了時処理（Ｓｄ８）を順に実行し、ゲーム終了時処理が終了すると、再びＢＥＴ処理に戻る。
【０３２２】
Ｓｄ１のステップにおけるＢＥＴ処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ７が操作された時点でゲームを開始させる処理を実行する。
【０３２３】
Ｓｄ２のステップにおける内部抽選処理では、Ｓｄ１のステップにおけるスタートスイッチ７の検出によるゲームスタートと同時に内部抽選用の乱数を抽出し、抽出した乱数の値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。
【０３２４】
Ｓｄ３のステップにおける停止制御用データ選択処理では、Ｓｄ２のステップの内部抽選の結果等に基づいて、当該ゲームのリールの停止制御に用いる停止制御用データを選択する処理を行う。
【０３２５】
Ｓｄ４のステップにおける当選フラグ設定処理では、Ｓｄ２のステップの内部抽選の結果等に基づいて、当該ゲームにおいて許容される役を示す内部当選フラグを設定する処理を行う。
【０３２６】
Ｓｄ５のステップにおけるリール回転処理では、各リール２Ｌ、２Ｃ、２Ｒを回転させる処理、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことに応じて対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる処理を実行する。
【０３２７】
Ｓｄ６のステップにおける入賞判定処理では、Ｓｄ５のステップにおいて全てのリール２Ｌ、２Ｃ、２Ｒの回転が停止したと判定した時点で、各リール２Ｌ、２Ｃ、２Ｒに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。尚、入賞判定処理においては、異常入賞の判定についても行う。
【０３２８】
Ｓｄ７のステップにおける払出処理では、Ｓｄ６のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
【０３２９】
Ｓｄ８のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
【０３３０】
図３２及び図３３は、ＣＰＵ４１ａがＳｄ１のステップにおいて実行するＢＥＴ処理の制御内容を示すフローチャートである。
【０３３１】
ＢＥＴ処理では、まず、ＲＡＭ４１ｃにおいて賭数の値が格納されるＢＥＴカウンタの値をクリアし（Ｓｅ１）、遊技状態に応じた規定数（遊技状態に応じて定められた賭数の規定数であり、レギュラーボーナスにあるときには、１が設定され、通常遊技状態にあるときには、３が設定される。）をＲＡＭ４１ｃに設定し（Ｓｅ２）、ＲＡＭ４１ｃにリプレイゲームである旨を示すリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定する（Ｓｅ３）。
【０３３２】
Ｓｅ３のステップにおいて当該ゲームがリプレイゲームであると判定された場合には、ＢＥＴカウンタの値を１加算し（Ｓｅ４）、ＲＡＭ４１ｃに設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否を判定し（Ｓｅ５）、ＢＥＴカウンタの値が規定数でなければＳｅ４のステップに戻り、ＢＥＴカウンタの値が規定数であれば、メダルの投入不可を示す投入不可フラグをＲＡＭ４１ｃに設定し（Ｓｅ６）、Ｓｅ８のステップに進む。
【０３３３】
Ｓｅ３のステップにおいて当該ゲームがリプレイゲームでないと判定されれば、投入待ち前の設定を行い（Ｓｅ７）、Ｓｅ８のステップに進む。投入待ち前の設定では、ＲＡＭ４１ｃに設定されている投入不可フラグをクリアし、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、精算スイッチ１０の検出を有効化する。
【０３３４】
Ｓｅ８のステップにおいては、ＲＡＭ４１ｃに投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定する。Ｓｅ８のステップにおいてメダルの投入が可能な状態であると判定された場合には、流路切替ソレノイド３０をｏｎの状態とし、メダルの流路をホッパータンク側の経路としてメダルの投入が可能な状態とし（Ｓｅ９）、Ｓｅ１１のステップに進み、メダルの投入が可能な状態でないと判定された場合には、流路切替ソレノイド３０をｏｆｆの状態とし、メダルの流路をメダル払出口９側の経路として新たなメダルの投入を禁止し（Ｓｅ１０）、Ｓｅ１１のステップに進む。
【０３３５】
Ｓｅ１１のステップにおいては、投入メダルセンサ３１により投入メダルの通過が検出されたか否かを判定する。Ｓｅ１１のステップにおいて投入メダルの通過が検出されていなければ、Ｓｅ１８のステップに進み、投入メダルの通過が検出されていれば、ＲＡＭ４１ｃに投入不可フラグが設定されているか否かに基づいてメダルの投入が可能な状態か否かを判定し（Ｓｅ１２）、メダルの投入が可能な状態でなければＳｅ１８のステップに進む。
【０３３６】
Ｓｅ１２のステップにおいてメダルの投入が可能な状態であれば、ＲＡＭ４１ｃに設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否を判定し（Ｓｅ１３）、ＢＥＴカウンタの値が規定数でなければ、ＢＥＴカウンタの値を１加算し（Ｓｅ１４）、Ｓｅ８のステップに戻る。
【０３３７】
Ｓｅ１３のステップにおいてＢＥＴカウンタの値が規定数であれば、ＲＡＭ４１ｃにおいてクレジットの値が格納されるクレジットカウンタの値を１加算し（Ｓｅ１５）、クレジットカウンタの値が上限値である５０であるか否かを判定し（Ｓｅ１６）、クレジットカウンタの値が５０でなければ、Ｓｅ８のステップに戻り、クレジットカウンタの値が５０であれば投入不可フラグをＲＡＭ４１ｃに設定し（Ｓｅ１７）、Ｓｅ８のステップに戻る。
【０３３８】
Ｓｅ１８のステップでは、スタートスイッチ７の操作が検出されているか否かを判定する。Ｓｅ１８のステップにおいてスタートスイッチ７の操作が検出されていなければＳｅ２２のステップに進み、スタートスイッチ７の操作が検出されていれば、ＲＡＭ４１ｃに設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否かを判定する（Ｓｅ１９）。
【０３３９】
Ｓｅ１９のステップにおいてＢＥＴカウンタの値が規定数でなければ、Ｓｅ８のステップに戻り、ＢＥＴカウンタの値が規定数であれば、投入不可フラグをＲＡＭ４１ｃに設定するとともに、流路切替ソレノイド３０をｏｆｆの状態とし、メダルの流路をメダル払出口９側の経路として新たなメダルの投入を禁止し（Ｓｅ２０）、ゲーム開始時の設定を行う（Ｓｅ２１）。ゲーム開始時の設定では、１枚ＢＥＴスイッチ５、ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、精算スイッチ１０の操作の検出を無効化する。そして、Ｓｅ２１のステップの後、ＢＥＴ処理を終了して図３１のフローチャートに復帰する。これに伴い、メダルの投入、１枚ＢＥＴスイッチ５及びＭＡＸＢＥＴスイッチ６の操作の検出に基づく賭数の設定が禁止されるとともに、精算スイッチ１０の操作の検出に基づくクレジットの精算が禁止されることとなる。尚、投入不可フラグは、次回ゲームのＢＥＴ処理までクリアされることはなく、１枚ＢＥＴスイッチ５及びＭＡＸＢＥＴスイッチ６の操作の検出も次回ゲームのＢＥＴ処理までクリアされることはないので、次回ゲームのＢＥＴ処理まで賭数の設定が禁止されることとなる。また、精算スイッチ１０の操作の検出は、ビッグボーナス入賞時またはビッグボーナス終了時を除いて次回ゲームのＢＥＴ処理までクリアされることはないので、次回ゲームのＢＥＴ処理までクレジットの精算（賭数の設定に用いられたメダルを含む）が禁止されることとなる。尚、ビッグボーナス入賞時やビッグボーナス終了時においては、次回ゲームのＢＥＴ処理を待たず、ゲームが終了した時点（リール停止時、もしくはメダルの払出終了時）で精算スイッチ１０の操作の検出が有効化され、クレジットの精算が可能となる。
【０３４０】
Ｓｅ２２のステップにおいては、１枚ＢＥＴスイッチ５の操作が検出されているか否かを判定する。Ｓｅ２２のステップにおいて１枚ＢＥＴスイッチ５の操作が検出されていなければ、Ｓｅ２７のステップに進み、１枚ＢＥＴスイッチ５の操作が検出されていれば、ＲＡＭ４１ｃに設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否かを判定する（Ｓｅ２３）。Ｓｅ２３のステップにおいてＢＥＴカウンタの値が規定数であればＳｅ８のステップに戻り、ＢＥＴカウンタの値が規定数でなければ、クレジットカウンタの値が０であるか否かを判定し（Ｓｅ２４）、クレジットカウンタの値が０であればＳｅ８のステップに戻る。Ｓｅ２４のステップにおいてクレジットカウンタの値が０でなければ、クレジットカウンタの値を１減算し（Ｓｅ２５）、ＢＥＴカウンタの値を１加算して（Ｓｅ２６）、Ｓｅ８のステップに戻る。
【０３４１】
Ｓｅ２７のステップにおいては、ＭＡＸＢＥＴスイッチ６の操作が検出されているか否かを判定する。Ｓｅ２７のステップにおいてＭＡＸＢＥＴスイッチ６の操作が検出されていなければ、Ｓｅ３２のステップに進み、ＭＡＸＢＥＴスイッチ６の操作が検出されていれば、ＲＡＭ４１ｃに設定された賭数の規定数を参照し、ＢＥＴカウンタの値が規定数であるか否かを判定する（Ｓｅ２８）。Ｓｅ２８のステップにおいてＢＥＴカウンタの値が規定数であればＳｅ８のステップに戻り、ＢＥＴカウンタの値が規定数でなければ、クレジットカウンタの値が０であるか否かを判定し（Ｓｅ２９）、クレジットカウンタの値が０であればＳｅ８のステップに戻る。Ｓｅ２９のステップにおいてクレジットカウンタの値が０でなければ、クレジットカウンタの値を１減算し（Ｓｅ３０）、ＢＥＴカウンタの値を１加算して（Ｓｅ３１）、Ｓｅ２８のステップに戻る。
【０３４２】
Ｓｅ３２のステップにおいては、精算スイッチ１０の操作が検出されているか否かを判定する。Ｓｅ３２のステップにおいて精算スイッチ１０の操作が検出されていなければ、Ｓｅ８のステップに戻り、精算スイッチ１０の操作が検出されていれば、ＲＡＭ４１ｃにリプレイゲームフラグが設定されているか否かに基づいて当該ゲームがリプレイゲームであるか否かを判定し（Ｓｅ３３）、当該ゲームがリプレイゲームであればＳｅ８のステップに戻る。Ｓｅ３３のステップにおいて当該ゲームがリプレイゲームでなければ、ＢＥＴカウンタの値が０か否かを判定し（Ｓｅ３４）、ＢＥＴカウンタの値が０であればＳｅ３６のステップに進み、ＢＥＴカウンタの値が０でなければ、既に設定済み賭数の精算を行う旨を示す賭数精算フラグをＲＡＭ４１ｃに設定し（Ｓｅ３５）、Ｓｅ３６のステップに進む。Ｓｅ３６のステップにおいては、ホッパーモータ３４を駆動してクレジットカウンタまたはＢＥＴカウンタに格納された値分のメダルを払い出す制御、すなわちクレジットとして記憶されているメダルまたは賭数の設定に用いられたメダルを返却する制御が行われる精算処理を行う。そして、Ｓｅ３６のステップにおける精算処理の後、ＲＡＭ４１ｃに設定されている投入不可フラグをクリアして（Ｓｅ３７）、Ｓｅ８のステップに戻る。
【０３４３】
図３４は、ＣＰＵ４１ａが実行する精算処理の制御内容を示すフローチャートである。
【０３４４】
精算処理では、まず、ＲＡＭ４１ｃに賭数精算フラグが設定されているか否かに基づいて賭数の設定に用いられたメダルを精算するか否かを判定する（Ｓｆ１）。
【０３４５】
Ｓｆ１のステップにおいて賭数の設定に用いられたメダルの精算でない場合には、クレジットカウンタの値が０か否かを判定し（Ｓｆ２）、クレジットカウンタの値が０であれば、精算処理を終了し、元の処理に復帰する。
【０３４６】
Ｓｆ２のステップにおいてクレジットカウンタの値が０でなければ、投入不可フラグをＲＡＭ４１ｃに設定するとともに、流路切替ソレノイド３０をｏｆｆの状態とし、メダルの流路をメダル払出口９側の経路としてメダルの投入を禁止し（Ｓｆ３）、１枚分のメダルの払出制御を行うメダル１枚払出処理を行う（Ｓｆ４）。
【０３４７】
Ｓｆ４のステップにおけるメダル１枚払出処理では、ホッパーモータ３４の駆動状態がｏｎでなければ、ホッパーモータ３４の駆動状態をｏｎに設定する。そして、払出センサ３５の検出状態を監視し、払出センサ３５により１枚分のメダルの払出が検出されると、メダルの払出と判定し、次の処理に移行する。また、払出センサ３５により一定時間以上メダルが継続して検出された場合には、メダル詰まりと判定し、ホッパーモータ３４の駆動状態をｏｆｆに設定し、メダル詰まりエラーを示すエラーコードをレジスタに設定した後、図２９に示すエラー処理に移行する。また、払出センサ３５により一定時間以上メダルが検出されない場合には、一旦ホッパーモータ３４の駆動状態をｏｆｆとし、数回にわたりホッパーモータ３４の駆動を再試行しても払出センサ３５によりメダルが検出されない場合には、ホッパーエラー（ホッパー内のメダル不足を示すエラー）を示すエラーコードをレジスタに設定した後、図２９に示すエラー処理に移行する。これらメダル詰まりエラーやホッパーエラーによるエラー処理は、リセットスイッチ２３やリセット／設定スイッチ３８が操作されることで解除され、解除後、再びメダル１枚払出処理の先頭に戻る。
【０３４８】
Ｓｆ４のステップにおけるメダル１枚払出処理により１枚分のメダルが払い出されると、クレジットカウンタの値を１減算し（Ｓｆ５）、クレジットカウンタの値が０か否かを判定する（Ｓｆ６）。そして、Ｓｆ６のステップにおいてクレジットカウンタの値が０でない場合には、Ｓｆ４のステップに戻り、クレジットカウンタの値が０であれば、ホッパーモータ３４の駆動状態をｏｆｆに設定して駆動を停止させた後（Ｓｆ７）、精算処理を終了して、元の処理に復帰する。
【０３４９】
Ｓｆ１のステップにおいて賭数の設定に用いられたメダルの精算である場合には、投入不可フラグをＲＡＭ４１ｃに設定するとともに、流路切替ソレノイド３０をｏｆｆの状態とし、メダルの流路をメダル払出口９側の経路としてメダルの投入を禁止し（Ｓｆ３）、Ｓｆ４のステップと同じメダル１枚払出処理を行う（Ｓｆ９）。
【０３５０】
Ｓｆ９のステップにおけるメダル１枚払出処理により１枚分のメダルが払い出されると、ＢＥＴカウンタの値を１減算し（Ｓｆ１０）、ＢＥＴカウンタの値が０か否かを判定する（Ｓｆ１１）。そして、Ｓｆ１１のステップにおいてＢＥＴカウンタの値が０でない場合には、Ｓｆ９のステップに戻り、ＢＥＴカウンタの値が０であれば、ＲＡＭ４１ｃに設定されている賭数精算フラグをクリアし（Ｓｆ１２）、ホッパーモータ３４の駆動状態をｏｆｆに設定して駆動を停止させた後（Ｓｆ７）、精算処理を終了して、元の処理に復帰する。
【０３５１】
図３５は、ＣＰＵ４１ａがＳｄ２のステップにおいて実行する内部抽選処理の制御内容を示すフローチャートである。
【０３５２】
本実施例の内部抽選処理では、まず、当該ゲームの遊技状態に応じて予め定められたメダルの投入枚数である規定枚数を特定し（Ｓｇ１）、Ｓｇ２のステップに進む。規定枚数は、通常遊技状態においては３枚、チャレンジボーナス、レギュラーボーナスの遊技状態においては２枚とされている。
【０３５３】
Ｓｇ２のステップでは、メダルの投入枚数が、Ｓｇ１のステップにて特定した規定枚数か否かを確認し、規定枚数ならＹと判定してＳｇ３のステップに進む。規定枚数でないならＮと判定してＳｇ４のステップに進む。
【０３５４】
Ｓｇ３のステップでは、ＲＡＭ４１ｃの設定値ワークに格納されている設定値が、１〜６の範囲であるか否かを確認し、１〜６の範囲の場合にはＳｇ５のステップに進む。１〜６の範囲でない場合にはNと判定してＳｇ４のステップに進む。
【０３５５】
Ｓｇ４のステップでは、ＲＡＭ４１ｃに格納されているデータが正常でない旨が確認されたので、ＲＡＭ異常を示すエラーコードをレジスタに格納し、図２９に示すエラー処理に移行する。
【０３５６】
Ｓｇ５のステップでは、乱数取得処理を行う。この乱数取得処理においては、図３６に示すように、まず、割込を禁止する（Ｓｇ３１）。次に、サンプリング回路４３にサンプリング指令を出力し、乱数発生回路４２が発生している乱数をラッチさせ、ラッチさせた乱数の値をＩ／Ｏポート４１ｄから入力して、これを抽出する。乱数発生回路４２から抽出された乱数の値は、ＨＬレジスタに格納される（Ｓｇ３２）。
【０３５７】
次に、ＨＬレジスタに格納された乱数の下位バイトの値と上位バイトの値を、Ａレジスタを用いて互いに入れ替える。このときにＨＬレジスタに格納された値が内部抽選用の乱数として取得される（Ｓｇ３３）。そして、Ｓｇ３１のステップで禁止した割込を許可してから（Ｓｇ３４）、乱数取得処理を終了して、図３１のフローチャートに復帰する。
【０３５８】
図３５に戻って、乱数取得処理が終了するとＳｇ６のステップに進み、当該ゲームの遊技状態に応じて状態番号（０〜３のいずれか）をＲＡＭ４１ｃに格納し、Ｓｇ７のステップに進み、状態番号が示す遊技状態において最初に抽選対象とする役番号をＲＡＭ４１ｃに格納し、Ｓｇ８のステップに進む。Ｓｇ７のステップでは、状態番号が０の場合、すなわち通常遊技状態においていずれの特別役も持ち越されていない場合には、最初に抽選対象とする役番号として０１Ｈ（ビッグボーナス（１））を設定し、状態番号が１の場合、すなわち通常遊技状態においていずれかの特別役が持ち越されている場合には、最初に抽選対象とする役番号として０７Ｈ（リプレイ）を設定し、状態番号が２または３の場合、すなわちチャレンジボーナスかレギュラーボーナスの場合には、最初に抽選対象とする役番号として０８Ｈ（ベル）を設定する。
【０３５９】
Ｓｇ８のステップでは、抽選対象とする役番号が０ＡＨであるか否か、すなわち抽選対象となる全ての役の抽選が終了したか否かを確認し、０ＡＨである場合、すなわち抽選対象となる全ての役の抽選が終了している場合にはＳｇ９のステップに進む。０ＡＨでない場合にはＳｇ１０のステップに進む。
【０３６０】
Ｓｇ９のステップでは、一般役格納ワーク（iwin_  gen）をクリア｛００Ｈを格納｝して、内部抽選処理を終了する。
【０３６１】
Ｓｇ１０のステップでは、処理対象の役番号に対応付けて、図５（ｂ）の役別テーブルに登録されている共通フラグが１か否かを確認し、１である場合にはＳｇ１１のステップに進む。１でない場合にはＳｇ１２のステップに進む。
【０３６２】
Ｓｇ１１のステップでは、処理対象の役番号に対応付けて図５（ｂ）の役別テーブルに登録されているＲＯＭ４１ｂの判定値数の格納領域のアドレス（図６参照）を読み出す。そして、このアドレスに格納されている判定値数を取得して、Ｓｇ１３のステップに進む。
【０３６３】
Ｓｇ１２のステップでは、まず、ＲＡＭ４１ｃに格納されている設定値を読み出し、更に、処理対象の役番号と読み出した設定値に対応付けて、図５（ｂ）の役別テーブルに登録されているＲＯＭ４１ｂの判定値数の格納領域のアドレスを読み出す。そして、このアドレスに格納されている判定値数を取得して、Ｓｇ１３のステップに進む。
【０３６４】
Ｓｇ１３のステップでは、内部抽選用の乱数値に、Ｓｇ１１またはＳｇ１２のステップにおいて取得した判定値数を加算し、加算の結果を新たな乱数値とする。ここで、判定値数を内部抽選用の乱数値に加算したときにオーバーフローが生じたかを判定する（Ｓｇ１４）。尚、オーバーフローの発生は、処理対象の役番号に該当する役が当選した旨を示している。オーバーフローが生じた場合はＳｇ１６のステップに進む。オーバーフローが生じなかった場合にはＳｇ１５のステップに進む。
【０３６５】
Ｓｇ１５のステップでは、処理対象の役番号に１を加算し、Ｓｇ８のステップに戻る。
【０３６６】
Ｓｇ１６のステップでは、役番号が０１Ｈ〜０６Ｈであるか、すなわち特別役または特別役を含む役の組み合わせを示す役番号か否かを確認し、０１Ｈ〜０６Ｈの場合にはＳｇ１７のステップに進む。０１Ｈ〜０６Ｈでない場合にはＳｇ２０のステップに進む。
【０３６７】
Ｓｇ１７のステップでは、処理対象の役番号に対応付けて図５（ｂ）の変換テーブルに登録されている特別役の当選番号と一般役の当選番号を読み出して、Ｓｇ１８のステップに進み、読み出した特別役の当選番号を、ＲＡＭ４１ｃの特別役格納ワーク（iwin_bonus）に格納して、Ｓｇ１９のステップに進む。
【０３６８】
Ｓｇ２０のステップでは、処理対象の役番号に対応付けて図５（ｂ）の変換テーブルに登録されている一般役の当選番号を読み出して、Ｓｇ１９のステップに進む。
【０３６９】
Ｓｇ１９のステップでは、Ｓｇ１７もしくはＳｇ２０のステップで読み出した一般役の当選番号を、ＲＡＭ４１ｃの一般役格納ワーク（iwin_gen）に格納して、Ｓｇ２１のステップに進む。
【０３７０】
Ｓｇ２１のステップでは、一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号をＢレジスタに格納して、内部抽選処理を終了する。
【０３７１】
図３７は、ＣＰＵ４１ａがＳｄ３のステップにおいて実行する停止制御用データ選択処理の制御内容を示すフローチャートである。
【０３７２】
停止制御用データ選択処理では、まずＣレジスタをクリア（００Ｈを格納）し（Ｓｈ１）、当該ゲームがボーナス中であるか否かを確認するボーナス中確認処理を実施して（Ｓｈ２）。Ｓｈ３のステップに進む。
【０３７３】
尚、ボーナス中確認処理においては、当該ゲームがボーナス中であるか否か、具体的には、レギュラーボーナス中であるか否かが判定されて、その結果がFレジスタのゼロフラグの値とキャリーフラグの値にセットされる。ゼロフラグは、レギュラーボーナス中の場合には０、それ以外の場合には１にセットされる。また、キャリーフラグは、ビッグボーナス中またはチャレンジボーナス中である場合には１、それ以外の場合には０にセットされる。つまり、ゼロフラグが１で、かつ、キャリーフラグが１である場合には、チャレンジボーナス中である旨を示している。
【０３７４】
Ｓｈ３のステップでは、ゼロフラグの値が０かを判定し、０である場合、すなわちレギュラーボーナス中の場合にはＳｈ８のステップにジャンプする。また、１である場合にはＳｈ４のステップに進む。
【０３７５】
Ｓｈ４のステップでは、キャリーフラグの値が０かを判定し、０である場合、すなわち通常遊技状態の場合にはＳｈ８のステップにジャンプする。また、１である場合、すなわちチャレンジボーナス中の場合にはＳｈ５のステップに進む。
【０３７６】
Ｓｈ５のステップでは、全ての小役（ベル、チェリー）の入賞が許容される旨を示す全小役当選フラグの値［Ｃ０００Ｈ］を、８ビット分右シフト［００Ｃ０Ｈ］し、この下位８ビット［Ｃ０Ｈ］をＣレジスタに格納する。更に、Ｓｈ６のステップに進んで、INDEX_CBをＡレジスタに格納する。尚、本実施例におけるINDEX_CBは、停止制御用データのインデックス領域の先頭アドレス［ctrldata_index（＝１０００Ｈ）］から、ＣＢ中の停止制御用データのインデックス領域の先頭アドレス［１０２０Ｈ］までの差［２０Ｈ＝３２］の１／２［１０Ｈ＝１６］である。
【０３７７】
そしてＣＰＵ４１ａは、Ｓｈ７のステップに進んでＳｈ１２のステップにジャンプする。
【０３７８】
Ｓｈ８のステップでは、特別役格納ワーク（iwin_bonus）の値（特別役の当選番号）をＡレジスタに格納し、Ｓｈ９のステップに進んで、Ａレジスタの値にＡレジスタの値を加算［２×特別役の当選番号］する。更に、Ｓｈ１０のステップに進んで、Ａレジスタの値にＡレジスタの値を加算［４×特別役の当選番号］し、Ｓｈ１１のステップに進んで、Bレジスタに格納されている一般役の当選番号をＡレジスタに加算する。この時点で、［４×特別役の当選番号＋一般役の当選番号］がＡレジスタに格納されることとなり、ＣＰＵ４１ａはＳｈ１２のステップに進む。
【０３７９】
Ｓｈ１２のステップでは、Ａレジスタの値をＥレジスタに格納し、Ｓｈ１３のステップに進んで、Ｄレジスタをクリア（００Ｈを格納）する。つまり、ＤＥレジスタの上位８ビット（Ｄレジスタ）には［００Ｈ］が格納される。一方、下位８ビット（Ｅレジスタ）には、ＣＢ中以外の場合には、Ｓｈ１１のステップにおいてＡレジスタに格納した［４×特別役の当選番号＋一般役の当選番号］が、ＣＢ中の場合には、Ｓｈ６のステップにおいてＡレジスタに格納した［INDEX_CB（＝１０Ｈ＝１６）］が格納される。
【０３８０】
ＣＰＵ４１ａは、Ｓｈ１４のステップに進んで、停止制御用データのインデックス領域の先頭アドレス［ctrldata_index（＝１０００Ｈ）］をＨＬレジスタに格納し、Ｓｈ１５のステップに進む。尚、Ｈレジスタには上位８ビット［１０Ｈ］が、Ｌレジスタには下位８ビット［００Ｈ］が格納される。
【０３８１】
Ｓｈ１５のステップでは、ＨＬレジスタにＤＥレジスタを加算（ＨＬ＋ＤＥ）し、Ｓｈ１６に進んで、ＨＬレジスタにＤＥレジスタを再度加算（ＨＬ＋２×ＤＥ）する。つまり、ＣＢ中以外の場合には［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］が、ＣＢ中の場合には、［ctrldata_index＋２×（INDEX_CB）］=［ctrldata_index＋３２］＝［１０２０Ｈ］がＨＬレジスタに格納される。このＨＬレジスタの値は、［当選番号に対応する停止制御用データの先頭アドレスの下位８ビットを格納する記憶領域のアドレス］となっている。
【０３８２】
ＣＰＵ４１ａは、Ｓｈ１７のステップに進んで、ＨＬレジスタに格納されているＲＯＭ４１ｂのアドレスを読み出して、このアドレスに格納されている［当選番号に対応する停止制御用データの先頭アドレスの下位８ビット］を取得して、Ａレジスタに格納し、Ｓｈ１８のステップに進む。
【０３８３】
Ｓｈ１８のステップでは、ＨＬレジスタに１を加算し、Ｓｈ１９のステップに進んで、ＨＬレジスタに格納されているＲＯＭ４１ｂのアドレスを読み出して、このアドレスに格納されている［当選番号に対応する停止制御用データの先頭アドレスの上位８ビット］を取得して、Ｈレジスタに格納し、Ｓｈ２０のステップに進む。
【０３８４】
Ｓｈ２０のステップでは、Ａレジスタの値をＬレジスタに格納し、Ｓｈ２１のステップに進んで、ＨＬレジスタに格納されている［当選番号に対応する停止制御用データの先頭アドレス（上位、下位含む）］を停止制御用データ格納ワーク（ctrldata_ptr）に格納する。
【０３８５】
以上のように、Ｓｈ１〜Ｓｈ２１のステップにより、チャレンジボーナス以外の遊技状態では、当選番号（特別役の当選番号及び一般役の当選番号）に基づいて停止制御用データの先頭アドレス（インデックスデータ）が選択されて、このアドレスが停止制御用データ格納ワーク（ctrldata_ptr）に格納される。また、チャレンジボーナス中においては、当選番号に関わらず、チャレンジボーナス用の停止制御用データの先頭アドレス（インデックスデータ）が選択されて、このアドレスが停止制御用データ格納ワーク（ctrldata_ptr）に格納される。
【０３８６】
図３８は、ＣＰＵ４１ａがＳｄ４のステップにおいて実行する当選フラグ格納処理の制御内容を示すフローチャートである。
【０３８７】
当選フラグ格納処理では、まず、Ｓｉ１のステップでは、一般役格納ワーク（iwin_gen）の値（一般役の当選番号）をＡレジスタに格納し、Ｓｉ２のステップに進んで、Ａレジスタの値にＡレジスタの値を加算［２×一般役の当選番号］する。更にＳｉ３のステップに進んで、一般役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_g（＝２０００Ｈ）］の下位８ビット［００Ｈ］をＡレジスタに加算する。この時点で、［００Ｈ＋２×一般役の当選番号］がＡレジスタに格納されることとなり、ＣＰＵ４１ａはＳｉ４のステップに進む。
【０３８８】
Ｓｉ４のステップでは、Ａレジスタの値をＬレジスタに格納し、Ｓｉ５のステップに進んで、一般役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_g（＝２０００Ｈ）］の上位８ビット［２０Ｈ］をＨレジスタに格納する。この時点で、ＨＬレジスタには［iwflag_table_g＋２×一般役の当選番号］が格納される。このＨＬレジスタの値は、［一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビットを格納する記憶領域のアドレス］となっている。
【０３８９】
そしてＣＰＵ４１ａは、Ｓｉ６のステップに進んで、特別役格納ワーク（iwin_bonus）の値（特別役の当選番号）をＡレジスタに格納し、Ｓｉ７のステップに進んで、特別役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_b（＝２００８Ｈ）］の下位８ビット［０８Ｈ］をＡレジスタに加算する。この時点で、［０８Ｈ＋特別役の当選番号］がＡレジスタに格納されることとなり、ＣＰＵ４１ａはＳｉ８のステップに進む。
【０３９０】
Ｓｉ８のステップでは、Ｓｉ４のステップにおいて格納されたＨＬレジスタの値をスタック領域に格納（退避）する。
【０３９１】
Ｓｉ９のステップでは、Ａレジスタの値をＬレジスタに格納し、Ｓｉ１０のステップに進んで、特別役用の番号／フラグ変換テーブル領域の先頭アドレス［iwflag_table_b（＝２００８Ｈ）］の上位８ビット［２０Ｈ］をＨレジスタに格納する。この時点で、ＨＬレジスタには［iwflag_table_b＋特別役の当選番号］が格納される。このＨＬレジスタの値は、［特別役の当選番号に対応する特別役用の内部当選フラグの下位８ビットを格納する記憶領域のアドレス］となっている。
【０３９２】
そしてＣＰＵ４１ａは、Ｓｉ１１のステップに進んで、ＨＬレジスタに格納されているＲＯＭ４１ｂのアドレスを読み出して、このアドレスに格納されている［特別役の当選番号に対応する特別役用の内部当選フラグの下位８ビット］を取得して、Ａレジスタに格納し、Ｓｉ１２のステップに進む。
【０３９３】
Ｓｉ１２のステップでは、Ｓｉ８のステップにおいてスタック領域に格納（退避）したＨＬレジスタの値［iwflag_table_g＋２×一般役の当選番号］＝［一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビットを格納する記憶領域のアドレス］を、ＨＬレジスタに格納（復帰）し、Ｓｉ１３のステップに進む。
【０３９４】
Ｓｉ１３のステップでは、ＨＬレジスタに格納されているＲＯＭ４１ｂのアドレスを読み出して、このアドレスに格納されている［一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビット］を取得して、Ａレジスタの値との論理和（ＯＲ）を算出して、その結果をＡレジスタに格納する。この時点で、［一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビット  ＯＲ  特別役の当選番号に対応する特別役用の内部当選フラグの下位８ビット］がＡレジスタに格納される。
【０３９５】
そしてＣＰＵ４１ａは、Ｓｉ１４のステップに進んで、Ｌレジスタに１を加算して、Ｓｉ１５のステップに進んで、ＨＬレジスタに格納されているＲＯＭ４１ｂのアドレスを読み出して、このアドレスに格納されている［一般役の当選番号に対応する一般役用の内部当選フラグの上位８ビット］を取得して、Ｈレジスタに格納し、Ｓｉ１６のステップに進んで、Ａレジスタの値をＬレジスタに格納する。この時点で、［一般役の当選番号に対応する一般役用の内部当選フラグの上位８ビット、一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビット  ＯＲ特別役の当選番号に対応する特別役用の内部当選フラグの下位８ビット］がＨＬレジスタに格納される。
【０３９６】
更に、Ｓｉ１７のステップに進んで、Ｈレジスタの値をＡレジスタに格納し、Ｓｉ１８のステップに進んで、停止制御用データ選択処理のＳｇ１またはＳｇ５のステップで格納されたＣレジスタの値と、Ａレジスタの値との論理和（ＯＲ）を算出して、その結果をＡレジスタに格納し、Ｓｉ１９のステップに進んで、Ａレジスタの値をＨレジスタに格納する。尚、Ｃレジスタには、チャレンジボーナス中以外の場合には［００Ｈ］が、チャレンジボーナス中の場合には全小役当選フラグの上位８ビットである［Ｃ０Ｈ］が格納されている。
【０３９７】
つまりこの時点で、チャレンジボーナス中以外の場合には、［００Ｈ  ＯＲ  一般役の当選番号に対応する一般役用の内部当選フラグの上位８ビット、一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビット  ＯＲ  特別役の当選番号に対応する特別役用の内部当選フラグの下位８ビット］が、言い換えると、一般役の当選番号と特別役の当選番号の組み合わせに対応する内部当選フラグがＨＬレジスタに格納される。また、チャレンジボーナス中の場合には、［Ｃ０Ｈ  ＯＲ  一般役の当選番号に対応する一般役用の内部当選フラグの上位８ビット、一般役の当選番号に対応する一般役用の内部当選フラグの下位８ビット  ＯＲ特別役の当選番号に対応する特別役用の内部当選フラグの下位８ビット］が、言い換えると、チャレンジボーナス中において一律に許容されるベル、チェリーの入賞を許容する旨の内部当選フラグがＨＬレジスタに格納される。
【０３９８】
最後に、ＣＰＵ４１ａは、Ｓｉ２０のステップに進んで、ＨＬレジスタの値を内部当選フラグ格納ワーク（iwin_flag）に格納する。
【０３９９】
以上のように、Ｓｉ１〜Ｓｉ２０のステップにより、当選番号（特別役の当選番号及び一般役の当選番号）が、当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換された後、変換後の値と遊技状態に応じたデータ（［００００Ｈ］または全小役当選フラグである［Ｃ０００Ｈ］）との論理和が算出され、その結果が当該ゲームにおいて許容されている入賞を示す内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納される。
【０４００】
図３９は、ＣＰＵ４１ａがＳｄ５のステップにおいて実行するリール回転処理の制御内容を示すフローチャートである。
【０４０１】
リール回転処理では、まず、前のゲームのリール回転開始時点からウェイトタイム（本実施例では、約４．１秒）が経過したか否かを判定し（Ｓｊ１）、ウェイトタイムが経過していなければ、ウェイトタイムが経過するまで待機する。
【０４０２】
そして、Ｓｊ１のステップにおいてウェイトタイムが経過していれば、ウェイトタイムを新たに設定する（Ｓｊ２）。
【０４０３】
次いで、リールモータの回転開始時の設定を行い、リールの回転を開始させる（Ｓｊ３）。そして、停止制御用データ格納ワーク（ctrldata_ptr）を参照して、停止制御用データを特定し、特定した停止制御用データに基づいて、当該ゲームの遊技状態、役の当選状況、他のリールの停止状況に対応する停止制御テーブルを、回転中のリール別に作成し（Ｓｊ４）、停止準備完了時の設定を行う（Ｓｊ５）。これにより、停止操作の有効化させることが可能な状態となり、その後、後述するタイマ割込処理の原点通過時処理において、リールの定速回転が検出された時点で、停止操作が有効となる。
【０４０４】
次いで、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかのストップスイッチの操作が検出されたか否かを判定し（Ｓｊ６）、いずれのストップスイッチの操作も検出されていなければ、リール回転エラー（一定期間以上、リールセンサ３３によりリール基準位置が検出されない場合に判定されるエラー）が発生したか否かを判定し（Ｓｊ７）、リール回転エラーが発生していなければ、更に、投入エラー（メダルの投入が許可されている期間以外で、メダルの投入が検出した場合に判定されるエラー）が発生したか否か、及び払出エラー（メダルの払出が許可されている期間以外で、メダルの払出が検出した場合に判定されるエラー）が発生したか否かを判定し（Ｓｊ８、Ｓｊ９）、Ｓｊ７〜Ｓｊ９のステップにおいていずれのエラーの発生も判定されなければ、Ｓｊ６のステップに戻る。
【０４０５】
また、Ｓｊ８のステップにおいて投入エラーの発生が判定された場合、またはＳｊ９のステップにおいて払出エラーが判定された場合には、リール回転中の投入・払出エラーを示すエラーコードをレジスタに設定し（Ｓｊ１０）、図２９に示すエラー処理に移行する（Ｓｊ１１）。そして、エラーが解除された場合には、再びＳｊ６のステップに戻る。
【０４０６】
また、Ｓｊ７のステップにおいてリール回転エラーの発生が判定された場合には、リール回転エラーを示すエラーコードをレジスタに設定し（Ｓｊ１２）、図２９に示すエラー処理に移行する（Ｓｊ１３）。これに伴い、リールの回転も一時的に停止する。そして、エラーが解除された場合には、再びＳｊ３のステップに戻り、リールの回転が再開する。
【０４０７】
また、Ｓｊ６のステップにおいていずれかのストップスイッチの操作が検出された場合には、ストップスイッチに対応するリールモータにおける、その時点のリール基準位置からのステップ数（停止操作位置となるステップ数）を取得し、停止リールに対応するワークに設定した後（Ｓｊ１４）、停止操作に対応するリールの回転が停止するまで待機する（Ｓｊ１５）。
【０４０８】
そして、停止操作に対応するリールの回転が停止すると、全てのリールが停止したか否かを判定し（Ｓｊ１６）、全てのリールが停止していなければ、Ｓｊ４のステップに戻り、全てのリールが停止していれば、リール回転処理を終了して、図３１のフローチャートに復帰する。
【０４０９】
以上のようにリール回転処理では、リール２Ｌ、２Ｃ、２Ｒの回転が開始した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
【０４１０】
図４０は、ＣＰＵ４１ａがＳｄ６のステップにおいて実行する入賞判定処理の制御内容を示すフローチャートである。
【０４１１】
本実施例における入賞判定処理は、主に３つの処理から構成される。第1の処理は、当該ゲームにおいて導出表示されたリール２Ｌ、２Ｃ、２Ｒの表示結果に基づいて入賞図柄フラグを設定する処理である。第２の処理は、内部当選フラグと入賞図柄フラグに基づいて異常入賞を判定する処理である。第３の処理は、入賞図柄フラグに基づく入賞時の処理である。
【０４１２】
Ｓｋ１のステップは、当該ゲームにおいて導出表示されたリール２Ｌ、２Ｃ、２Ｒの表示結果に基づいて入賞図柄フラグを設定する処理である。
【０４１３】
ＣＰＵ４１ａは、まず入賞図柄判定処理を実施して（Ｓｋ１）、Ｓｋ２のステップに進む。尚、入賞図柄判定処理においては、Ｂレジスタに入賞図柄フラグの上位８ビットが、Ｃレジスタに入賞図柄フラグの下位８ビットが格納される。また、Ｅレジスタには払い出しメダル枚数が格納される。
【０４１４】
以上のように、Ｓｋ１のステップにより、Ｂレジスタに入賞図柄フラグの上位８ビットが、Ｃレジスタに入賞図柄フラグの下位８ビットが格納される。
【０４１５】
続いて実施されるＳｋ２〜Ｓｋ１０及びＳｋ１７のステップは、内部当選フラグと入賞図柄フラグに基づいて異常入賞を判定する処理である。
【０４１６】
Ｓｋ２のステップでは、内部当選フラグ格納ワーク（iwin_flag）の値（内部当選フラグ）をＨＬレジスタに格納し、Ｓｋ３のステップに進んでＬレジスタの値である内部当選フラグの下位８ビットをＡレジスタに格納し、Ｓｋ４のステップに進んでＡレジスタの全ビットを反転する。つまり、各ビットを０なら１へ、１なら０へと反転させて、異常入賞判定用フラグに変換し、Ｓｋ５のステップに進む。
【０４１７】
Ｓｋ５のステップでは、Ｃレジスタの値である入賞図柄フラグの下位８ビットと、Ａレジスタの値の論理積（ＡＮＤ）を算出して、その結果をＡレジスタに格納して、Ｓｋ６のステップに進み、Ａレジスタが０でないかを判定し、０でない場合にはＳｋ１７のステップにジャンプし、０である場合にはＳｋ７のステップに進む。
【０４１８】
Ｓｋ７のステップでは、Ｈレジスタの値である内部当選フラグの上位８ビットをＡレジスタに格納し、Ｓｋ８のステップに進んでＡレジスタの全ビットを反転する。つまり、各ビットを０なら１へ、１なら０へと反転させて、異常入賞判定用フラグに変換し、Ｓｋ９のステップに進む。
【０４１９】
Ｓｋ９のステップでは、Ｂレジスタの値である入賞図柄フラグの上位８ビットと、Ａレジスタの値の論理積（ＡＮＤ）を算出して、その結果をＡレジスタに格納して、Ｓｋ１０のステップに進み、Ａレジスタが０でないかを判定し、０でない場合にはＳｋ１７のステップにジャンプし、０である場合にはＳｋ１１のステップに進む。
【０４２０】
Ｓｋ１７のステップは、Ｓｋ６及びＳｋ１０のステップにおいて、Ａレジスタが０でないと判定された場合、すなわち当該ゲームにおいて許容されている入賞以外の入賞が入賞した場合のジャンプ先であり、異常入賞エラーを示すエラーコードをレジスタに設定して、図２９に示すエラー処理に移行する。
【０４２１】
以上のように、Ｓｋ２〜Ｓｋ１０及びＳｋ１７のステップにより、内部当選フラグと入賞図柄フラグに基づいて異常入賞が判定される。
【０４２２】
続いて実施されるＳｋ１１〜Ｓｋ１８（Ｓｋ１７除く）のステップは、入賞図柄フラグに基づく入賞時の処理である。
【０４２３】
Ｓｋ１１のステップでは、Ｃレジスタの値である入賞図柄フラグの下位８ビットをＡレジスタに格納し、Ｓｋ１２のステップに進んで、Ｂレジスタの値である入賞図柄フラグの上位８ビットと、Ａレジスタの値の論理和（ＯＲ）を算出して、その結果をＡレジスタに格納し、Ｓｋ１３のステップに進む。
【０４２４】
Ｓｋ１３のステップでは、Ａレジスタが０であるかを判定し、０である場合には、つまりいずれの役も入賞していない場合には処理を終了し、０でない場合には、つまりいずれかの役が入賞している場合にはＳｋ１４のステップに進む。
【０４２５】
Ｓｋ１４のステップでは、Ｃレジスタの値である入賞図柄フラグの下位８ビットに対して、リプレイに該当するビット（第６ビット）の値を検査して、値が０の場合には、つまりリプレイ以外の役が入賞した場合にはゼロフラグに１をセットし、値が１の場合には、つまりリプレイが入賞した場合にはゼロフラグに０をセットする。そして、Ｓｋ１５のステップに進み、ゼロフラグが１であるかを判定し、１である場合には、Ｓｋ１８のステップにジャンプし、１でない場合にはＳｋ１６のステップに進む。
【０４２６】
Ｓｋ１６のステップでは、リプレイゲームを示すリプレイゲーム中フラグを設定する等のリプレイが入賞したときの処理を実施して、処理を終了する。
【０４２７】
Ｓｋ１８のステップは、Ｓｋ１５のステップにおいて、リプレイ以外の役が入賞した旨を確認した場合のジャンプ先であり、払い出し枚数の算出等のリプレイ以外の役が入賞したときに行われる入賞時処理を実施して、処理を終了する。
【０４２８】
以上のように、Ｓｋ２〜Ｓｋ１０及びＳｋ１７のステップにより、入賞図柄フラグに基づく入賞時の処理が実施される。
【０４２９】
図４１は、ＣＰＵ４１ａがＳｋ１８のステップにおいて実行する入賞時処理の制御内容を示すフローチャートである。
【０４３０】
入賞時処理では、まず、図４（ｂ）に示す役別テーブルを参照し、当該ゲームの遊技状態（状態番号）及び入賞図柄フラグが示す役に対応するメダルの払出枚数を設定し（Ｓｍ１）、Ｓｍ２のステップに進む。
【０４３１】
Ｓｍ２のステップにおいては、入賞図柄フラグに基づいてビッグボーナス（１）またはビッグボーナス（２）が入賞したか否かを判定する。Ｓｍ２のステップにおいてビッグボーナス（１）もビッグボーナス（２）も入賞していなければ、Ｓｍ５のステップに進み、Ｓｍ２のステップにおいてビッグボーナス（１）またはビッグボーナス（２）のいずれかが入賞していれば、ビッグボーナス中を示すビッグボーナス中フラグをＲＡＭ４１ｃに設定するとともに、ＲＡＭ４１ｃの特別役格納ワーク（iwin_bonus）をクリア（００Ｈを格納する）し（Ｓｍ３）、ＲＡＭ４１ｃにおいてビッグボーナス中のメダルの払出総数が格納されるビッグボーナス中払出数カウンタの値を初期化（０とする）し（Ｓｍ４）、Ｓｍ５のステップに進む。
【０４３２】
Ｓｍ５のステップにおいては、入賞図柄フラグに基づいてチャレンジボーナスが入賞したか否かを判定する。Ｓｍ５のステップにおいてチャレンジボーナスが入賞していなければ、入賞時処理を終了して、図４０のフローチャートに復帰する。Ｓｍ５のステップにおいてチャレンジボーナスが入賞していれば、チャレンジボーナス中を示すチャレンジボーナス中フラグをＲＡＭ４１ｃに設定するとともに、ＲＡＭ４１ｃの特別役格納ワーク（iwin_bonus）をクリア（００Ｈを格納する）し（Ｓｍ６）、ＲＡＭ４１ｃにおいてチャレンジボーナス中のメダルの払出総数が格納されるチャレンジボーナス中払出数カウンタの値を初期化（０とする）し（Ｓｍ７）、入賞時処理を終了して、図４０のフローチャートに復帰する。
【０４３３】
図４２は、ＣＰＵ４１ａがＳｄ８のステップにおいて実行するゲーム終了時処理の制御内容を示すフローチャートである。
【０４３４】
ゲーム終了時処理では、まず、ＲＡＭ４１ｃに割り当てられたボーナス関連のカウンタを更新する（Ｓｎ１）。詳しくは、レギュラーボーナス中においては、レギュラーボーナスのゲーム数が格納されるレギュラーボーナスゲーム数カウンタの値を１減算し、レギュラーボーナス中の入賞回数が格納されるレギュラーボーナス中入賞カウンタの値を１加算する。ビッグボーナス中においては、ビッグボーナス中払出数カウンタの値に当該ゲームのメダルの払出枚数を加算する。チャレンジボーナス中においては、チャレンジボーナス中払出数カウンタの値に、当該ゲームのメダルの払出枚数を加算する。
【０４３５】
次に、ＲＡＭ４１ｃにレギュラーボーナス中フラグが設定されているか否かを判定し（Ｓｎ２）、レギュラーボーナス中フラグが設定されていなければ、Ｓｎ５のステップに進む。Ｓｎ２のステップにおいてレギュラーボーナス中フラグが設定されていれば、レギュラーボーナスの終了条件が成立したか否か、すなわちレギュラーボーナスゲーム数カウンタの値が０、もしくはレギュラーボーナス中入賞カウンタの値が８であるか否かを判定する（Ｓｎ３）。Ｓｎ３のステップにおいてレギュラーボーナスの終了条件が成立していなければ、Ｓｎ５のステップに進み、レギュラーボーナスの終了条件が成立していれば、ＲＡＭ４１ｃに設定されているレギュラーボーナス中フラグをクリアして（Ｓｎ４）、Ｓｎ５のステップに進む。
【０４３６】
Ｓｎ５のステップでは、ＲＡＭ４１ｃにビッグボーナス中フラグが設定されているか否かを判定する。Ｓｎ５のステップにおいてビッグボーナス中フラグが設定されていなければＳｎ１１のステップに進み、ビッグボーナス中フラグが設定されていれば、ビッグボーナスの終了条件が成立しているか否か、すなわちビッグボーナス中払出数カウンタの値が３４５枚を超えているか否かを判定する（Ｓｎ６）。Ｓｎ６のステップにおいてビッグボーナスの終了条件が成立していなければ、Ｓｎ８のステップに進み、ビッグボーナスの終了条件が成立していれば、ＲＡＭ４１ｃに設定されているビッグボーナス中フラグ及びレギュラーボーナス中フラグをクリアし（Ｓｎ７）、Ｓｎ２０のステップに進む。
【０４３７】
Ｓｎ８のステップにおいては、ＲＡＭ４１ｃにレギュラーボーナス中フラグが設定されていない状態であるか否か、すなわちビッグボーナス中でかつレギュラーボーナスが未作動の状態であるか否かを判定する。Ｓｎ８のステップにおいてレギュラーボーナス中フラグが設定されている状態であれば、Ｓｎ２０のステップに進み、Ｓｎ８のステップにおいてレギュラーボーナス中フラグが設定されていない状態であれば、レギュラーボーナス中を示すレギュラーボーナス中フラグ及びレギュラーボーナスの作動開始を示すレギュラーボーナス作動開始フラグをＲＡＭ４１ｃに設定（Ｓｎ９）、レギュラーボーナスゲーム数カウンタの値及びレギュラーボーナス中入賞カウンタの値を初期化（レギュラーボーナスゲーム数カウンタの値に１２を設定し、レギュラーボーナス中入賞カウンタの値をクリアする）した後（Ｓｎ１０）、Ｓｎ２０のステップに進む。
【０４３８】
Ｓｎ１１のステップにおいては、ＲＡＭ４１ｃにチャレンジボーナス中フラグが設定されているか否かを判定する。Ｓｎ１１のステップにおいてチャレンジボーナス中フラグが設定されていなければＳｎ１４のステップに進み、チャレンジボーナス中フラグが設定されていれば、チャレンジボーナスの終了条件が成立しているか否か、すなわちチャレンジボーナス中払出数カウンタの値が２５３枚を超えているか否かを判定する（Ｓｎ１２）。Ｓｎ１２のステップにおいてチャレンジボーナスの終了条件が成立していなければ、Ｓｎ１４のステップに進み、チャレンジボーナスの終了条件が成立していれば、ＲＡＭ４１ｃに設定されているチャレンジボーナス中フラグをクリアし（Ｓｎ１３）、Ｓｎ１４のステップに進む。
【０４３９】
Ｓｎ１４のステップでは、ＲＡＭ４１ｃにチャレンジボーナス中フラグが設定されているか否かを判定する。Ｓｎ１４のステップにおいてチャレンジボーナス中フラグが設定されていなければ、Ｓｎ１７のステップに進み、Ｓｎ１４のステップにおいてチャレンジボーナス中フラグが設定されていれば、外部出力信号のうちＣＢ中信号がＯＮの状態か否かを判定する（Ｓｎ１５）。Ｓｎ１５のステップにおいてＣＢ中信号がＯＮの状態である場合、すなわちチャレンジボーナス中であり、かつ次回のゲームがチャレンジボーナスの開始ゲームではない場合には、Ｓｎ５２のステップに進み、Ｓｎ１５のステップにおいてＣＢ中信号がＯＮの状態でない場合、すなわち次回のゲームからチャレンジボーナスが開始する場合には、外部出力信号のうちＣＢ中信号をＯＮの状態とし（Ｓｎ１６）、Ｓｎ５２のステップに進む。
【０４４０】
Ｓｎ１７のステップでは、外部出力信号のうちＣＢ中信号がＯＮの状態か否かを判定する。Ｓｎ１７のステップにおいてＣＢ中信号がＯＮの状態でなければ、Ｓｎ２０のステップに進み、Ｓｎ１７のステップにおいてＣＢ中信号がＯＮの状態であれば、ＲＡＭ４１ｃにチャレンジボーナス中フラグが設定されているか否かを判定する（Ｓｎ１８）。Ｓｎ１８のステップにおいてチャレンジボーナス中フラグが設定されている場合、すなわちチャレンジボーナスが終了しない場合には、Ｓｎ５２のステップに進み、Ｓｎ１８のステップにおいてチャレンジボーナス中フラグが設定されていない場合、すなわちチャレンジボーナスが終了する場合には、外部出力信号のうちＣＢ中信号をＯＦＦの状態とし（Ｓｎ１９）、Ｓｎ５２のステップに進む。
【０４４１】
Ｓｎ２０のステップでは、外部出力信号のうちＲＢ中信号がＯＮの状態か否かを判定する。Ｓｎ２０のステップにおいてＲＢ中信号がＯＮの状態でなければ、Ｓｎ２４のステップに進み、ＲＢ中信号がＯＮの状態であれば、ＲＡＭ４１ｃにレギュラーボーナス中フラグが設定されているか否かを判定する（Ｓｎ２１）。Ｓｎ２１のステップにおいてレギュラーボーナス中フラグが設定されていない場合、すなわちレギュラーボーナスが終了し、その後もレギュラーボーナスが再開しない場合には、Ｓｎ２３のステップに進む。Ｓｎ２１のステップにおいてレギュラーボーナス中フラグが設定されている場合には、ＲＡＭ４１ｃにレギュラーボーナス作動開始フラグが設定されているか否かを判定する（Ｓｎ２２）。Ｓｎ２２のステップにおいてレギュラーボーナス作動開始フラグが設定されている場合、すなわちビッグボーナス中にレギュラーボーナスが再作動する場合には、Ｓｎ２３のステップに進み、Ｓｎ２２のステップにおいてレギュラーボーナス作動開始フラグが設定されていない場合、すなわちレギュラーボーナス中でかつレギュラーボーナスの終了条件も成立していない場合には、Ｓｎ２４のステップに進む。Ｓｎ２３のステップでは、ＲＢ中信号をＯＦＦの状態としてＳｎ２４のステップに進む。
【０４４２】
Ｓｎ２４のステップでは、ＲＡＭ４１ｃにレギュラーボーナス作動開始フラグが設定されているか否かを判定する。Ｓｎ２４のステップにおいてレギュラーボーナス作動開始フラグが設定されていなければ、Ｓｎ２７のステップに進み、Ｓｎ２４のステップにおいてレギュラーボーナス作動開始フラグが設定されている場合、すなわち次ゲームからレギュラーボーナスが開始する場合には、ＲＡＭ４１ｃのレギュラーボーナス作動開始フラグをクリアし（Ｓｎ２５）、ＲＢ中信号の出力待ち時間（ｔｗ）が経過するまで待機し（Ｓｎ２６）、出力待ち時間が経過した時点でＳｎ２７のステップに進む。
【０４４３】
Ｓｎ２７のステップでは、ＲＡＭ４１ｃにビッグボーナス中フラグが設定されているか否かを判定する。Ｓｎ２７のステップにおいてビッグボーナス中フラグが設定されていなければ、Ｓｎ３３のステップに進み、Ｓｎ２７のステップにおいてビッグボーナス中フラグが設定されていれば、外部出力信号のうちＢＢ中信号がＯＮの状態か否かを判定する（Ｓｎ２８）。Ｓｎ２８のステップにおいてＢＢ中信号がＯＮの状態である場合、すなわちビッグボーナス中であり、かつ次回のゲームがビッグボーナスの開始ゲームではない場合には、Ｓｎ３３のステップに進み、Ｓｎ２８のステップにおいてＢＢ中信号がＯＮの状態でない場合、すなわち次回のゲームからビッグボーナスが開始する場合には、外部出力信号のうちＢＢ中信号をＯＮの状態とし（Ｓｎ２９）、ＢＢ入賞時演出の演出待ち時間をレジスタに設定し（Ｓｎ３０）、精算スイッチ１０の操作の検出を有効化した後（Ｓｎ３１）、Ｓｎ３０のステップにおいて設定された演出待ち時間が経過するまで待機する演出待ち処理を行う（Ｓｎ３２）。そして、演出待ち処理の終了後、Ｓｎ３３のステップに進む。
【０４４４】
演出待ち処理では、図４４に示すように、レジスタに設定された演出待ち時間をＲＡＭ４１ｃの汎用時間カウンタに設定し（Ｓｎ１０１）、精算スイッチ１０の操作が検出されたか否かを判定し（Ｓｎ１０２）、精算スイッチ１０の操作が検出されていなければ、Ｓｎ１０４のステップに進み、精算スイッチ１０の操作が検出されていれば、図３４に示す精算処理を行い（Ｓｎ１０３）、その後、Ｓｎ１０４のステップに進む。Ｓｎ１０３のステップでは、汎用時間カウンタに設定された演出待ち時間が経過したか否かを判定し、演出待ち時間が経過していなければ、Ｓｎ１０２のステップに戻り、演出待ち時間が経過していれば、演出待ち処理を終了し、元の処理に復帰する。
【０４４５】
Ｓｎ３３のステップでは、ＲＡＭ４１ｃにレギュラーボーナス中フラグが設定されているか否かを判定する。Ｓｎ３３のステップにおいてレギュラーボーナス中フラグが設定されていなければ、Ｓｎ３６のステップに進み、Ｓｎ３３のステップにおいてレギュラーボーナス中フラグが設定されていれば、外部出力信号のうちＲＢ中信号がＯＮの状態か否かを判定する（Ｓｎ３４）。Ｓｎ３４のステップにおいてＲＢ中信号がＯＮの状態である場合、すなわちレギュラーボーナス中であり、かつ次回のゲームがレギュラーボーナスの開始ゲームではない場合には、Ｓｎ３６のステップに進み、Ｓｎ３４のステップにおいてＲＢ中信号がＯＮの状態でない場合、すなわち次回のゲームからレギュラーボーナスが開始する場合には、外部出力信号のうちＲＢ中信号をＯＮの状態とし（Ｓｎ３５）、Ｓｎ３６のステップに進む。
【０４４６】
Ｓｎ３６のステップでは、外部出力信号のうちＢＢ中信号がＯＮの状態か否かを判定する。Ｓｎ３６のステップにおいてＢＢ中信号がＯＮの状態でなければ、Ｓｎ５２のステップに進み、Ｓｎ３６のステップにおいてＢＢ中信号がＯＮの状態であれば、ＲＡＭ４１ｃにビッグボーナス中フラグが設定されているか否かを判定する（Ｓｎ３７）。Ｓｎ３７のステップにおいてビッグボーナス中フラグが設定されている場合、すなわちビッグボーナスが終了しない場合には、Ｓｎ５２のステップに進み、Ｓｎ３７のステップにおいてビッグボーナス中フラグが設定されていない場合、すなわちビッグボーナスが終了する場合には、外部出力信号のうちＢＢ中信号をＯＦＦの状態とし（Ｓｎ３８）、エンディング演出の演出待ち時間をレジスタに設定し（Ｓｎ３９）、精算スイッチ１０の操作の検出を有効化した後（Ｓｎ４０）、Ｓｎ３９のステップにおいて設定された演出待ち時間が経過するまで待機する演出待ち処理（図４４参照）を行う（Ｓｎ４１）。Ｓｎ４１のステップにおける演出待ち処理の終了後、ＲＡＭ４１ｃの未使用領域及び未使用スタック領域に加えて一般ワークを初期化する初期化２を行った後（Ｓｎ４２）、Ｓｎ４３のステップに進む。
【０４４７】
Ｓｎ４３のステップでは、打止機能が有効に設定されているか否かを判定する。Ｓｎ４３のステップにおいて打止機能が無効に設定されていれば、Ｓｎ５２のステップに進み、Ｓｎ４３のステップにおいて打止機能が有効に設定されていれば、打止状態を示す打止コードをレジスタに設定し（Ｓｎ４４）、レジスタに格納されている打止コードを遊技補助表示器１２に表示する（Ｓｎ４５）。そして、リセット／設定スイッチ３８の操作が検出されているか否かを判定し（Ｓｎ４６）、リセット／設定スイッチ３８の操作が検出されていなければ、更にリセットスイッチ２３の操作が検出されているか否かを判定し（Ｓｎ４７）、リセットスイッチ２３の操作も検出されていなければ、更に精算スイッチ１０の操作が検出されているか否かを判定し（Ｓｎ４８）、精算スイッチ１０の操作も検出されていなければ、Ｓｎ４６のステップに戻る。Ｓｎ４６のステップにおいてリセット／設定スイッチ３８の操作が検出された場合、Ｓｎ４７のステップにおいてリセットスイッチ２３の操作が検出された場合には、Ｓｎ５０のステップに進み、Ｓｎ４８のステップにおいて精算スイッチ１０の操作が検出された場合には、図３４に示す精算処理を行い（Ｓｎ４９）、Ｓｎ４４のステップに戻る。
【０４４８】
Ｓｎ５０のステップでは、レジスタに格納されている打止コードをクリアする。そして、遊技補助表示器１２の表示状態をクリアして（Ｓｎ５１）、Ｓｎ５２のステップに進む。
【０４４９】
Ｓｎ５２のステップでは、ＲＡＭ４１ｃの未使用領域及び未使用スタック領域を初期化する初期化４を行った後、ゲーム終了時処理を終了し、図３１に示すフローチャートに復帰する。
【０４５０】
以上のように、ゲーム終了時処理では、ビッグボーナス中にレギュラーボーナスが未作動か否かの判定を１ゲーム毎に行い、ビッグボーナス中にレギュラーボーナスが未作動の場合には、レギュラーボーナスを作動させるようになっている。
【０４５１】
また、レギュラーボーナスが未作動か否かの判定を行う前に、ビッグボーナスの終了条件が成立したか否かの判定を行い、当該判定においてビッグボーナスの終了条件が成立していない場合に、レギュラーボーナスが未作動か否かの判定を行い、未作動の場合には、レギュラーボーナスを作動させるようになっている。
【０４５２】
また、レギュラーボーナスを作動させる際には、レギュラーボーナス中を示すＲＢ中信号の出力待ち時間が経過するまでＲＢ中信号を停止した状態で待機し、出力待ち時間が経過した時点で、ＲＢ中信号の出力を開始するようになっており、ビッグボーナス中に連続してレギュラーボーナスを作動させる場合でも、ＲＢ中信号の出力が停止し、この状態で出力待ち時間が経過した時点で、再度ＲＢ中信号の出力が再開するようになっている。
【０４５３】
また、ＢＢ入賞時演出やエンディング演出の演出待ち時間が経過するまでの期間においては、精算スイッチ１０の操作の検出が有効化され、この間に精算スイッチ１０の操作が検出されると、クレジットの精算制御が行われることとなる。また、打止状態においても精算スイッチ１０の操作の検出が有効化され、この間に精算スイッチ１０の操作が検出された場合にも、クレジットの精算制御が行われることとなる。
【０４５４】
図４５及び図４６は、ＣＰＵ４１ａが割込３の発生に応じて、すなわち０．５６ｍｓの間隔で起動処理やゲーム処理に割り込んで実行するタイマ割込処理の制御内容を示すフローチャートである。
【０４５５】
タイマ割込処理においては、まず、割込を禁止する（Ｓｐ１）。すなわち、タイマ割込処理の実行中に他の割込処理が実行されることを禁止する。そして、使用中のレジスタをスタック領域に退避する（Ｓｐ２）。
【０４５６】
次いで、４種類のタイマ割込１〜４から当該タイマ割込処理において実行すべきタイマ割込を識別するための分岐用カウンタを１進める（Ｓｐ３）。Ｓｐ３のステップでは、分岐用カウンタ値が０〜２の場合に１が加算され、カウンタ値が３の場合に０に更新される。すなわち分岐用カウンタ値は、タイマ割込処理が実行される毎に、０→１→２→３→０・・・の順番でループする。
【０４５７】
次いで、分岐用カウンタ値を参照して２または３か、すなわちタイマ割込３またはタイマ割込４かを判定し（Ｓｐ４）、タイマ割込３またはタイマ割込４ではない場合、すなわちタイマ割込１またはタイマ割込２の場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時または定速回転中か否かを確認し、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時または定速回転中であれば、後述するＳｐ８のモータステップ処理において変更した位相信号データや後述するＳｐ２３の最終停止処理において変更した位相信号データを出力するモータ位相信号出力処理を実行する（Ｓｐ５）。
【０４５８】
次いで、分岐用カウンタ値を参照して１か否か、すなわちタイマ割込２か否かを判定し（Ｓｐ６）、タイマ割込２ではない場合、すなわちタイマ割込１の場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒの始動時のステップ時間間隔の制御を行うリール始動処理（Ｓｐ７）、リールモータ３２Ｌ、３２Ｃ、３２Ｒの位相信号データの変更を行うモータステップ処理（Ｓｐ８）、リールモータ３２Ｌ、３２Ｃ、３２Ｒの停止後、一定時間経過後に位相信号を１相励磁に変更するモータ位相信号スタンバイ処理（Ｓｐ９）を順次実行した後、Ｓｐ２においてスタック領域に退避したレジスタを復帰し（Ｓｐ２０）、Ｓｐ１のステップにおいて禁止した割込を許可して（Ｓｐ２１）、割込前の処理に戻る。
【０４５９】
また、Ｓｐ６のステップにおいてタイマ割込２の場合には、各種表示器をダイナミック点灯させるＬＥＤダイナミック表示処理（Ｓｐ１０）、各種ＬＥＤ等の点灯信号等のデータを出力ポートへ出力する制御信号等出力処理（Ｓｐ１１）、各種ソフトウェア乱数を更新する乱数更新処理（Ｓｐ１２）、各種時間カウンタを更新する時間カウンタ更新処理（Ｓｐ１３）、コマンドキューに格納されたコマンドを演出制御基板９０に対して送信するコマンド送信処理（Ｓｐ１４）、外部出力信号を更新する外部出力信号更新処理（Ｓｐ１５）を順次実行した後、Ｓｐ２においてスタック領域に退避したレジスタを復帰し（Ｓｐ２０）、Ｓｐ１のステップにおいて禁止した割込を許可して（Ｓｐ２１）、割込前の処理に戻る。
【０４６０】
また、Ｓｐ４のステップにおいてタイマ割込３またはタイマ割込４であれば、更に、分岐用カウンタ値を参照して３か否か、すなわちタイマ割込４か否かを判定し（Ｓｐ１６）、タイマ割込４でなければ、すなわちタイマ割込３であれば、入力ポートから各種スイッチ類の検出データを入力するポート入力処理（Ｓｐ１７）、回転中のリール２Ｌ、２Ｃ、２Ｒの原点通過（リール基準位置の通過）をチェックし、リール回転エラーの発生を検知するとともに、停止準備が完了しているかを確認し、停止準備が完了しており、かつ定速回転中であれば、回転中のリールに対応するストップスイッチの操作を有効化する処理を行う原点通過時処理（Ｓｐ１８）、各種スイッチ類の検出信号に基づいてこれら各種スイッチが検出条件を満たしているか否かを判定するスイッチ入力判定処理（Ｓｐ１９）を順次実行した後、Ｓｐ２においてスタック領域に退避したレジスタを復帰し（Ｓｐ２０）、Ｓｐ１のステップにおいて禁止した割込を許可して（Ｓｐ２１）、割込前の処理に戻る。
【０４６１】
また、Ｓｐ１６のステップにおいてタイマ割込４であれば、ストップスイッチ８Ｌ、８Ｃ、８Ｒの検出が判定されたときに、停止操作位置から停止位置を決定し、何ステップ後に停止すれば良いかを算出する停止スイッチ処理（Ｓｐ２２）、停止スイッチ処理で算出された停止までのステップ数をカウントして、停止する時期になったら２相励磁によるブレーキを開始する停止処理（Ｓｐ２３）、停止処理においてブレーキを開始してから一定時間後に３相励磁とする最終停止処理（Ｓｐ２４）を順次実行した後、Ｓｐ２においてスタック領域に退避したレジスタを復帰し（Ｓｐ２０）、Ｓｐ１のステップにおいて禁止した割込を許可して（Ｓｐ２１）、割込前の処理に戻る。
【０４６２】
図４７は、ＣＰＵ４１ａが割込２の発生に応じて、すなわち電断検出回路４８からの電圧低下信号が入力されたときに起動処理やゲーム処理に割り込んで実行する電断割込処理の制御内容を示すフローチャートである。
【０４６３】
電断割込処理においては、まず、割込を禁止する（Ｓｑ１）。すなわち電断割込処理の開始にともなってその他の割込処理が実行されることを禁止する。次いで、使用している可能性がある全てのレジスタをスタック領域に退避する（Ｓｑ２）。尚、前述したＩレジスタ及びＩＹレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
【０４６４】
次いで、入力ポートから電圧低下信号の検出データを取得し、電圧低下信号が入力されているか否かを判定する（Ｓｑ３）。この際、電圧低下信号が入力されていなければ、Ｓｑ２においてスタック領域に退避したレジスタを復帰し（Ｓｑ４）、Ｓｑ１のステップにおいて禁止した割込を許可して（Ｓｑ５）、割込前の処理に戻る。
【０４６５】
また、Ｓｑ３のステップにおいて電圧低下信号が入力されていれば、破壊診断用データ（本実施例では、５Ａ（Ｈ））をセットして（Ｓｑ６）、全ての出力ポートを初期化する（Ｓｑ７）。次いでＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してセットし（Ｓｑ８）、ＲＡＭ４１ｃへのアクセスを禁止する（Ｓｑ９）。
【０４６６】
そして、電圧低下信号が入力されているか否かの判定（Ｓｑ１０、尚、Ｓｑ１０は、Ｓｑ３と同様の処理である）を除いて、何らの処理も行わないループ処理に入る。すなわち、そのまま電圧が低下すると内部的に動作停止状態になる。よって、電断時に確実にＣＰＵ４１ａは動作停止する。また、このループ処理において、電圧が回復し、電圧低下信号が入力されない状態となると、前述した起動処理が実行され、ＲＡＭパリティが０となり、かつ破壊診断用データが正常であれば、元の処理に復帰することとなる。
【０４６７】
尚、本実施例では、ＲＡＭ４１ｃへのアクセスを禁止した後、電圧低下信号の出力状況を監視して、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理へ移行するようになっているが、ループ処理において何らの処理も行わず、ループ処理が行われている間に、電圧が回復し、リセット回路４９からリセット信号が入力されたことに基づいて、起動処理へ移行するようにしても良い。
【０４６８】
次に、ＣＰＵ４１ａが初期化条件の成立に応じて実行する初期化１〜４の制御内容を図４８〜図５２のフローチャートに基づいて説明する。
【０４６９】
図４８は、ＣＰＵ４１ａが起動処理において設定変更モードへの移行前に実行する初期化１の制御内容を示すフローチャートである。
【０４７０】
初期化１では、まず、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化１に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ１）。読み出した開始アドレス（７Ｅ００（Ｈ））にポインタをセットする（Ｓｒ２）。次いで、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ３）、初期化する領域のバイト数（１Ｄ３（Ｈ）＋Ｍ）をセットする（Ｓｒ４）。そして、Ｓｒ２でセットされた開始アドレスからＳｒ４でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理を実行し（Ｓｒ５）、ＲＡＭクリア処理が終了すると、初期化１を終了してもとの処理に復帰する。
【０４７１】
図４９は、図４８のＳｒ５のステップにおいて実行するＲＡＭクリア処理の制御内容を示すフローチャートである。
【０４７２】
ＲＡＭクリア処理では、ポインタが示すアドレスが示す１バイトのデータを０クリアし（Ｓｒ１０１）、初期化バイト数（初期化する領域としてセットされたバイト数）を１減算する（Ｓｒ１０２）。次いで、減算後の初期化バイト数が０となったか否か、すなわち指定されたバイト数全ての初期化が終了したか否かを判定する（Ｓｒ１０３）。減算後の初期化バイト数が０でなければ、ポインタを１進めて（Ｓｒ１０４）、Ｓｒ１０１の処理に戻り、初期化バイト数が０となるまでＳｒ１０１〜４の処理を繰り返し行う。そして、Ｓｒ１０３のステップにおいて減算後の初期化バイト数が０であれば、指定されたバイト数全ての初期化が終了したこととなるので、ＲＡＭクリア処理を終了し、もとの処理に復帰する。
【０４７３】
図５０は、ＣＰＵ４１ａがＳｄ８のゲーム終了時処理においてビッグボーナス終了時に実行する初期化２の制御内容を示すフローチャートである。
【０４７４】
初期化２では、まず、割込を禁止した後（Ｓｒ１１）、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化２に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ１２）。初期化２には、２つの開始アドレス及びそれぞれに対応する初期化サイズが登録されているので、読み出した開始アドレスのうち最初に初期化する領域の開始アドレス（７Ｅ２８（Ｈ））にポインタをセットし（Ｓｒ１３）、最初に初期化する領域のバイト数（６７（Ｈ））をセットし（Ｓｒ１４）、Ｓｒ１３でセットされた開始アドレスからＳｒ１４でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図４９参照）を実行する（Ｓｒ１５）。ＲＡＭクリア処理が終了すると、読み出した開始アドレスのうち２番目に初期化する領域の開始アドレス（７ＥＢＡ（Ｈ））にポインタをセットし（Ｓｒ１６）、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ１７）、２番目に初期化する領域のバイト数（１１９（Ｈ）＋Ｍ）をセットする（Ｓｒ１８）。そして、Ｓｒ１６でセットされた開始アドレスからＳｒ１８でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図４９参照）を実行し（Ｓｒ１９）、ＲＡＭクリア処理が終了すると、Ｓｒ１１のステップにおいて禁止していた割込を許可し（Ｓｒ２０）、初期化２を終了してもとの処理に復帰する。
【０４７５】
図５１は、ＣＰＵ４１ａが起動処理においてＲＡＭ４１ｃのデータが正常である場合に実行する初期化３の制御内容を示すフローチャートである。
【０４７６】
初期化３では、まず、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化３に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ２１）。初期化３には、２つの開始アドレス及びそれぞれに対応する初期化サイズが登録されているので、読み出した開始アドレスのうち最初に初期化する領域の開始アドレス（７ＥＢ７（Ｈ））にポインタをセットし（Ｓｒ２２）、最初に初期化する領域のバイト数（３（Ｈ））をセットし（Ｓｒ２３）、Ｓｒ２２でセットされた開始アドレスからＳｒ２３でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図４９参照）を実行する（Ｓｒ２４）。ＲＡＭクリア処理が終了すると、読み出した開始アドレスのうち２番目に初期化する領域の開始アドレス（７Ｆ０５（Ｈ））にポインタをセットし（Ｓｒ２５）、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ２６）、２番目に初期化する領域のバイト数（ＣＥ（Ｈ）＋Ｍ）をセットする（Ｓｒ２７）。そして、Ｓｒ２５でセットされた開始アドレスからＳｒ２７でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図４９参照）を実行し（Ｓｒ２８）、ＲＡＭクリア処理が終了すると、初期化３を終了してもとの処理に復帰する。
【０４７７】
図５２は、ＣＰＵ４１ａがＳｄ８のゲーム終了時処理において各ゲーム毎に実行する初期化４の制御内容を示すフローチャートである。
【０４７８】
初期化４では、まず、割込を禁止した後（Ｓｒ３１）、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化４に対応して登録されている開始アドレスと初期化サイズを読み出す（Ｓｒ３２）。読み出した開始アドレス（７Ｆ０５（Ｈ））にポインタをセットする（Ｓｒ３３）。次いで、未使用スタック領域のサイズ（Ｍ＝スタックポインタ−７ＦＤ２（Ｈ））を計算し（Ｓｒ３４）、初期化する領域のバイト数（ＣＥ（Ｈ）＋Ｍ）をセットする（Ｓｒ３５）。そして、Ｓｒ３３でセットされた開始アドレスからＳｒ５でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理（図４９参照）を実行し（Ｓｒ３６）、ＲＡＭクリア処理が終了すると、Ｓｒ３１のステップにおいて禁止していた割込を許可し（Ｓｒ３７）、初期化４を終了してもとの処理に復帰する。
【０４７９】
次に、演出制御基板９０に搭載されたサブ制御部９１のＣＰＵ９１ａが実行する各種制御内容を、図５３〜図５６のフローチャートに基づいて以下に説明する。
【０４８０】
ＣＰＵ９１ａは、サブ制御部９１にリセット回路９５からリセット信号が入力されると、図５３に示す起動処理（サブ）を行う。
【０４８１】
起動処理（サブ）では、内蔵デバイスや周辺ＩＣ、割込モード、スタックポインタ等を初期化した後（Ｓｓ１）、ＲＡＭ９１ｃへのアクセスを許可する（Ｓｓ２）。そして、ＲＡＭ９１ｃの全ての格納領域のＲＡＭパリティを計算し（Ｓｓ３）、ＲＡＭパリティが０か否かを判定する（Ｓｓ４）。
【０４８２】
ＲＡＭ９１ｃのデータが正常であれば、ＲＡＭパリティが０になるはずであり、Ｓｓ４のステップにおいてＲＡＭパリティが０であれば、ＲＡＭ９１ｃに格納されているデータが正常であるので、Ｓｓ５のステップに進み、電断前の演出状態を復帰させる。Ｓｓ５のステップでは、電断前にＢＢ入賞時演出またはエンディング演出を実行していたか否かを判定し、ＢＢ入賞時演出またはエンディング演出を実行していた場合には、ＢＢ入賞時演出またはエンディング演出が最終段階に到達していたか否かを判定し（Ｓｓ６）、最終段階に到達していた場合には、最終段階の制御パターンを設定した後（Ｓｓ７）、設定された制御パターンに従って、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ等の各種演出装置の制御を行う演出制御処理を実行し（Ｓｓ９）、割込を許可して（Ｓｓ１０）、ループ処理に移行する。
【０４８３】
また、Ｓｗ５のステップにおいて電断前にＢＢ入賞時演出またはエンディング演出を実行していなかった場合、またはＳｓ６のステップにおいてＢＢ入賞時演出またはエンディング演出が最終段階に到達していた場合には、電断前に最後に実行していた制御パターンを設定した後（Ｓｓ８）、設定された制御パターンに従って、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ等の各種演出装置の制御を行う演出制御処理を実行し（Ｓｓ９）、割込を許可して（Ｓｓ１０）、ループ処理に移行する。
【０４８４】
また、Ｓｓ４のステップにおいてＲＡＭパリティが０でなければ、ＲＡＭ９１ｃに格納されているデータが正常ではないので、ＲＡＭ９１ｃを初期化した後（Ｓｓ１１）、待機パターンを制御パターンとして設定した後（Ｓｓ１２）、設定された制御パターンに従って、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ等の各種演出装置の制御を行う演出制御処理を実行し（Ｓｓ９）、割込を許可して（Ｓｓ１０）、ループ処理に移行する。
【０４８５】
図５４は、ＣＰＵ９１ａが内部クロックのカウントに基づいて１．１２ｍｓの間隔で実行するタイマ割込処理（サブ）の制御内容を示すフローチャートである。
【０４８６】
タイマ割込処理（サブ）においては、まず、バッファにコマンドが格納されているか否かを判定する（Ｓｔ１）。バッファにコマンドが格納されていなければ、Ｓｔ６のステップに進み、バッファにコマンドが格納されていれば、バッファからコマンドを取得し（Ｓｔ２）、Ｓｔ３のステップに進む。
【０４８７】
Ｓｔ３のステップでは、受信したコマンドが内部当選コマンドの場合に、連続演出用の演出パターンがＲＡＭ９１ｃに既に設定されているか否かを判定し、連続演出用の演出パターンが設定されていなければ、ＲＯＭ９１ｂに格納されている演出テーブルを参照し、内部当選コマンドが示す内部抽選の結果に応じた選択率にて演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定する演出パターン選択処理を実行し、Ｓｔ４のステップに進む。
【０４８８】
Ｓｔ４のステップでは、受信したコマンドに応じた処理を行うとともに、ＲＯＭ９１ｂに格納されている制御パターンテーブルを参照し、ＲＡＭ９１ｃに設定されている演出パターン及び受信したコマンドに対応して登録されている制御パターンを読み出してＲＡＭ９１ｃに設定する制御パターン設定処理を実行し、Ｓｔ５のステップに進む。
【０４８９】
Ｓｔ５のステップでは、Ｓｔ４のステップにおいて設定された制御パターンに従って、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ等の各種演出装置の制御を行う演出制御処理を実行し、Ｓｔ６のステップに進む。
【０４９０】
Ｓｔ６のステップでは、ＲＡＭ９１ｃの乱数カウンタ等の各種カウンタの値を更新する処理を行った後、Ｓｔ７のステップに進み、起動時にＲＡＭ９１ｃにバックアップされているデータの内容が正常であるか否かを確認できるように、ＲＡＭ９１ｃの全ての格納領域の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してセットし、タイマ割込処理（サブ）を終了する。
【０４９１】
すなわちＣＰＵ９１ａは、メイン制御部４１のＣＰＵ４１ａのように電断検出時にＲＡＭパリティ調整用データをセットするのではなく、定期的に実行されるタイマ割込処理（サブ）毎に、ＲＡＭパリティ調整用データをセットし、いつ電断しても、復旧時にＲＡＭ９１ｃにバックアップされているデータの内容が正常であるか否かを判定できるようになっている。
【０４９２】
図５５及び図５６は、ＣＰＵ９１ａがタイマ割込処理（サブ）のＳｔ４のステップにおいて実行する制御パターン設定処理の制御内容を示すフローチャートである。
【０４９３】
制御パターン設定処理では、まず、受信したコマンドが設定開始コマンドであるか否かを判定する（Ｓｕ１）。そして、受信したコマンドが設定開始コマンドであれば、設定中報知パターンを制御パターンとして設定し（Ｓｕ１）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。
【０４９４】
Ｓｕ１のステップにおいて、受信したコマンドが設定開始コマンドではない場合には、受信したコマンドが初期化コマンドであるか否かを判定する（Ｓｕ３）。そして受信したコマンドが初期化コマンドであれば、ＲＡＭ９１ｃの全ての領域を初期化した後（Ｓｕ４）、前述した待機パターンを制御パターンとして設定し（Ｓｕ５）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。
【０４９５】
Ｓｕ３のステップにおいて、受信したコマンドが初期化コマンドではない場合には、受信したコマンドが待機コマンドであるか否かを判定する（Ｓｕ６）。そして受信したコマンドが待機コマンドであれば、待機パターンを制御パターンとして設定し（Ｓｕ７）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。
【０４９６】
Ｓｕ６のステップにおいて、受信したコマンドが待機コマンドではない場合には、受信したコマンドが打止コマンドであるか否かを判定する（Ｓｕ８）。そして受信したコマンドが打止コマンドであれば、更に、打止状態の開始（発生）を示す打止コマンドか否かを判定し（Ｓｕ９）、打止状態の開始を示す打止コマンドであれば、打止報知パターンを制御パターンとして設定し（Ｓｕ１０）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。一方、打止状態の開始を示す打止コマンドでない場合、すなわち打止状態の解除を示す打止コマンドであれば、待機パターンを制御パターンとして設定し（Ｓｕ７）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。
【０４９７】
Ｓｕ８のステップにおいて、受信したコマンドが打止コマンドではない場合には、受信したコマンドがエラーコマンドであるか否かを判定する（Ｓｕ１１）。そして受信したコマンドがエラーコマンドであれば、更に、エラー状態の発生を示すエラーコマンドか否かを判定し（Ｓｕ１２）、エラー状態の発生を示すエラーコマンドであれば、現在設定されている制御パターンを一時的にスタックに退避し（Ｓｕ１３）、エラー報知パターンを制御パターンとして設定し（Ｓｕ１４）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。一方、エラー状態の発生を示すエラーコマンドでない場合、すなわちエラー状態の解除を示すエラーコマンドであれば、Ｓｕ１３のステップ、すなわち当該エラーの発生時にスタックに退避していた制御パターンを設定し（Ｓｕ１５）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。
【０４９８】
Ｓｕ１１のステップにおいて、受信したコマンドがエラーコマンドではない場合には、受信したコマンドが払出開始コマンドであるか否かを判定する（Ｓｕ１６）。そして受信したコマンドが払出開始コマンドであれば、払出パターンをサブパターンとして設定し（Ｓｕ１７）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。サブパターンは、実行中の演出の制御パターンが設定される領域とは別の領域に設定される制御パターンであり、実行中の演出の制御パターンと同時並行して演出を実行する際に、実行中の演出の制御パターンとは別個に設定される制御パターンである。すなわち通常であれば、新たな制御パターンが設定されると、もとから設定されていた制御パターンが上書きされてしまうのに対して、サブパターンとして制御パターンが設定されることで、２つの制御パターンが同時に設定される。このため、Ｓｕ１７のステップにおいて払出パターンがサブパターンとして設定されることで、現在実行中の演出と同時並行して払出パターンに基づく演出が実行されることとなる。
【０４９９】
Ｓｕ１６のステップにおいて、受信したコマンドが払出開始コマンドではない場合には、受信したコマンドが払出終了コマンドであるか否かを判定する（Ｓｕ１８）。そして受信したコマンドが払出終了コマンドであれば、サブパターンとして設定されている払出パターンをクリアし（Ｓｕ１９）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。すなわちＳｕ１９のステップにおいては、同時並行して実行されていた払出パターンに基づく演出のみが終了し、もとから実行されていた演出のみが継続することとなる。
【０５００】
Ｓｕ１８のステップにおいて、受信したコマンドが払出終了コマンドではない場合には、受信したコマンドが入賞判定コマンドであるか否かを判定する（Ｓｕ２０）。そして受信したコマンドが入賞判定コマンドであれば、当該入賞判定コマンドがビッグボーナスの入賞を示すか否かを判定する（Ｓｕ２１）。そして、当該入賞判定コマンドがビッグボーナスの入賞を示す場合には、ＢＢ入賞時パターンを制御パターンとして設定し（Ｓｕ２２）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。一方、当該入賞判定コマンドがビッグボーナスの入賞を示すものではない場合には、更にビッグボーナス以外の入賞を示すか否かを判定する（Ｓｕ２３）。そして、当該入賞判定コマンドがビッグボーナス以外の入賞を示す場合には、入賞が発生した際に特有の演出が実行される入賞時演出を実行するための入賞時パターンのうち、発生した入賞に対応する入賞時パターンを制御パターンとして設定し（Ｓｕ２４）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。尚、Ｓｕ２３のステップにおいてビッグボーナス以外の入賞を示すものでない場合には、Ｓｕ２９のステップに進む。
【０５０１】
Ｓｕ２０のステップにおいて受信したコマンドが入賞判定コマンドではない場合には、受信したコマンドが遊技状態コマンドであるか否かを判定する（Ｓｕ２５）。そして受信したコマンドが遊技状態コマンドでなければ、Ｓｕ２９のステップに進み、遊技状態コマンドであれば、当該遊技状態コマンドが示す遊技状態をＲＡＭ９１ｃに設定するとともに（Ｓｕ２６）、設定された遊技状態に基づいて当該ゲームがビッグボーナスの終了条件が成立したゲームであったか否かを判定する（Ｓｕ２７）。そして、当該ゲームがビッグボーナスの終了条件が成立したゲームであれば、エンディングパターンを制御パターンとして設定し（Ｓｕ２８）、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。尚、Ｓｕ２７のステップにおいて当該ゲームがビッグボーナスの終了条件が成立したゲームでなければ、Ｓｕ２９のステップに進む。
【０５０２】
Ｓｕ２９のステップでは、ＲＯＭ９１ｂに格納されている制御パターンテーブルを参照し、ＲＡＭ９１ｃに設定されている演出パターン及び受信したコマンドに対応して登録されている制御パターンを読み出して設定し、制御パターン設定処理を終了して、図５４に示すフローチャートに復帰する。
【０５０３】
以上説明したように、本実施例のスロットマシン１では、遊技状態がチャレンジボーナス中以外の場合には、いずれか１つの特別役または一般役が当選しているか、特別役及び一般役の双方が当選しているか、に関わらず、＋１ずつ増加する値であり、特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号との組み合わせ、すなわち内部抽選の結果に対して一意的に割り当てられた値［４×特別役の当選番号＋一般役の当選番号］が設定されるとともに、この値に基づいてインデックス領域のアドレス［ctrldata_index＋２×｛４×（特別役の当選番号−１）＋一般役の当選番号｝］が算出され、その算出されたインデックス領域のアドレスを先頭とする格納領域に格納されたインデックスデータから特定される停止制御用データを、当該ゲームの停止制御用データとして選択すれば良く、停止制御用データを選択する際に、従来のように全ての入賞についての当選フラグのビットを確認せずに済むので、停止制御用データを選択する際の処理を簡略化することができる。
【０５０４】
また、内部抽選の結果に対して一意的に割り当てられた値が、１ずつ増加する値、すなわちｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞たい対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、停止制御用データを特定するためのテーブルインデックスのアドレスを簡単な計算で算出することが可能となる。特に、本実施例のようにテーブルインデックスがインデックス領域に等間隔に格納されているものにあっては、一層簡単な計算でテーブルインデックスのアドレスを算出することができる。一方、本実施例では、特別役の当選番号、一般役の当選番号が、各々１ずつ増加する値であるので、これらの値から内部抽選の結果に対して一意的に割り当てられた値についても簡単に算出することが可能となる。
【０５０５】
また、本実施例では、いずれか１つの特別役または一般役が当選しているか、特別役及び一般役の双方が当選しているか、に関わらず、［１０００Ｈ］から＋２ずつ増加するアドレスであり、特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号との組み合わせ、すなわち内部抽選の結果に対して一意的に割り当てられたインデックス領域のアドレスが設定され、そのインデックス領域のアドレスを先頭とする格納領域に格納されたインデックスデータから特定される停止制御用データを、当該ゲームの停止制御用データとして選択すれば良く、停止制御用データを選択する際に、従来のように全ての入賞についての当選フラグのビットを確認せずに済むので、停止制御用データを選択する際の処理を簡略化することができる。
【０５０６】
また、インデックス領域に格納されているインデックスデータの先頭アドレスが、２ずつ増加する値、すなわちｎ（ｎは正の整数）ずつ規則的に増加する値であるため、インデックスデータがインデックス領域に等間隔で格納されることとなり、インデックス領域に格納されているインデックスデータが示す値を簡単に把握することが可能となる。
【０５０７】
また、チャレンジボーナス中の場合には、内部抽選の結果に関わらず、チャレンジボーナス用の停止制御用データを一義的に選択すれば良いので、全小役が一律に許容されるチャレンジボーナスであっても、停止制御用データを選択する際の処理が複雑化することがない。
【０５０８】
また、異常入賞か否かの判定を行う際には、役の種類毎に割り当てられたビットの値が０である場合に、当該役の入賞が許容された旨を示し、１である場合に当該役の入賞が許容されていない旨を示す異常入賞判定用フラグと、役の種類毎に割り当てられたビットの値が１である場合に、当該役が入賞した旨を示し、１である場合に当該役が入賞していない旨を示す入賞図柄フラグと、を論理積演算し、その演算結果が０か否か、すなわち演算結果が０であるか否かを示すFレジスタのゼロフラグの値を参照するのみで異常入賞か否かを判定することが可能となり、従来のように成立している役の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
【０５０９】
また、チャレンジボーナス中には、内部抽選の結果に関わらず、役の種類毎に割り当てられたビットのうち、全ての小役、すなわちチャレンジボーナス中において一律に許容される役に対して割り当てられたビットの値を０とする異常入賞判定用フラグ、すなわち全ての小役が許容されている旨を示す異常入賞判定用データが設定されるので、遊技状態に関わらず同一の処理で異常入賞か否かの判定を行うことが可能となり、遊技状態の違いによって異常入賞か否かの判定を行う際の処理が複雑化してしまうことがない。
【０５１０】
また、本実施例では、役の種類毎に割り当てられたビットの値が１である場合に、当該役の入賞が許容された旨を示し、０である場合に当該役の入賞が許容されていない旨を示す内部当選フラグをＲＡＭ４１ｃに割り当てられた内部当選フラグ格納ワーク（iwin_flag）に設定するとともに、内部当選フラグの各ビットの１と０を反転する演算を行うことで、異常入賞判定用フラグを作成するようになっている。すなわち一度、従来からの当選フラグと同様の内部当選フラグを作成した後、この内部当選フラグの各ビットの１と０を反転して異常入賞判定用データを作成するので、内部当選フラグを異常入賞判定用データを作成する以外の用途（例えば、外部へ出力する試験信号やサブ制御部９１に対して出力するコマンドを作成する際のデータなど）に用いることも可能となる。
【０５１１】
また、遊技状態がチャレンジボーナス以外であれば、内部抽選の結果に基づく内部当選フラグに対して、役の種類毎に割り当てられたビットの値が全て０のデータ［００００Ｈ］を、遊技状態がチャレンジボーナスであれば、内部抽選の結果に基づく内部当選フラグに対して、［Ｃ０００Ｈ］、すなわちチェリー及びベルに対応するビットの値に１が設定されている全小役当選フラグを、それぞれ論理和演算し、その結果を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納するので、チャレンジボーナス中か否かによって内部当選フラグを算出する際に用いるデータ（［００００Ｈ］か［Ｃ０００Ｈ］）を変更するのみで、その後の異常入賞判定用フラグを作成する際の処理や、異常入賞の判定処理を共通化することができる。
【０５１２】
また、本実施例では、遊技状態がチャレンジボーナス以外の場合において、特別役格納ワーク（iwin_bonus）に格納されている値、すなわち一度設定されると入賞するまで持ち越される特別役の当選番号と、一般役格納ワーク（iwin_gen）に格納されている値、すなわち１ゲーム毎に更新される一般役の当選番号と、を用いて［ctrldata_index＋２×（４×特別役の当選番号＋一般役の当選番号）］の演算を行うことにより、内部抽選の結果に対応する停止制御用データのインデックスデータの格納アドレスを特定できるようになっており、特別役が持ち越されているか否かに関わらず、特別役の当選番号と一般役の当選番号とを用いて演算を行うのみで停止制御用データのインデックスデータの格納アドレスを特定することができる。すなわち常に共通の方法で停止制御用データのインデックスデータの格納アドレスを特定することが可能となる。
【０５１３】
また、本実施例のスロットマシン１では、設定値ワークから読み出した値が１〜６の範囲か否か、すなわち内部抽選に用いる設定値が適正な範囲の値か否かを判定する処理を１ゲーム毎に実行し、設定値ワークから読み出した値が１〜６の範囲の値でない場合、ＲＡＭ異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例において設定値ワークに格納される値、すなわち設定変更処理により選択可能な設定値の範囲は１〜６の値であるので、設定値ワークに格納されている値が１〜６の範囲の値でなければゲームの進行が不能化されることとなる。
【０５１４】
更に、設定された賭数が遊技状態に応じた賭数であるか否かを判定する処理を１ゲーム毎に実行し、設定された賭数が遊技状態に応じた賭数ではない場合にも、ＲＡＭ異常エラーによるエラー状態に制御され、ゲームの進行が不能化される。本実施例では、遊技状態毎に対応する賭数が定められているが、その賭数とは異なる賭数でゲームが行われている場合には、ＲＡＭ４１ｃに格納されているデータが壊れているか、或いは不正なプログラムが作動している可能性があるので、設定された賭数が遊技状態に応じた賭数ではない場合にもゲームの進行が不能化されることとなる。
【０５１５】
また、本実施例のスロットマシン１では、異常入賞が発生した場合、すなわち当該ゲームにおいて許容されていない役が入賞した場合には、異常入賞エラーによるエラー状態に制御され、ゲームの進行が不能化される。すなわち、許容されていない役が入賞した場合には、データが破壊されているか、異常なプログラムが作動している可能性があるため、ゲームの進行が不能化されることとなる。
【０５１６】
そして、一度ＲＡＭ異常エラーや異常入賞エラーによるエラー状態に制御されると、設定変更モードに移行させて、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわちデータ化けや異常なプログラムの作動などにより、設定値が適正でない場合や設定された賭数が遊技状態に応じた賭数ではない場合、許容されていない役が入賞した場合には、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値（一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【０５１７】
尚、本実施例では、内部抽選処理において入賞の当選を判定する際に、適正な設定値ではないと判定された場合には、ＲＡＭ異常エラー状態に制御されるようになっているが、ＲＡＭ４１ｃの設定値ワークに格納されている設定値が適正な値（１〜６の範囲の値）でない場合に、設定値の初期値（例えば、設定値１）に基づく確率で入賞の当選を判定するようにしても良い。また、内部抽選の際に、設定された賭数が遊技状態に応じた賭数ではないと判定された場合には、ＲＡＭ異常エラー状態に制御されるようになっているが、設定された賭数が遊技状態に応じた賭数でない場合に、遊技状態に応じた賭数に更新して処理を続行するようにしても良い。
【０５１８】
また、本実施例のスロットマシン１では、メイン制御部４１のＲＡＭ４１ｃにおける未使用領域が１ゲーム毎に初期化されるので、ＲＡＭ４１ｃの未使用領域を利用して不正プログラムを格納させても、当該不正プログラムが常駐してしまうことを防止できる。
【０５１９】
また、本実施例では、ＲＡＭ４１ｃにおける未使用領域に加えてスタック領域における未使用スタック領域も１ゲーム毎に初期化されるので、ＲＡＭ４１ｃにおいてその時点で使用されていない全ての領域が１ゲーム毎に初期化されることとなり、例え、ＲＡＭ４１ｃの未使用領域を利用せずに未使用スタック領域を利用して不正プログラムを格納させようとしても、当該不正プログラムが常駐してしまう余地を無くすことができるので、不正プログラムが常駐してしまうことを一層確実に防止できるとともに、例えば、未使用スタック領域に不正なデータ（不正プログラムが指定するアドレス等）を加え、データの復帰時にマイクロコンピュータを誤作動させることでレジスタを不正なものに書き換えてしまうことにより、本来のプログラムとは異なる動作を行わせてしまうような不正も防止できる。更に、未使用スタック領域に不正なデータが格納されることによって、本来であれば退避したデータを格納できるはずの領域が圧迫され、スタック領域がオーバーフローしてしまい、メイン制御部４１を構成するマイクロコンピュータが暴走してしまう等の不具合も防止できる。
【０５２０】
尚、本実施例では、ＲＡＭ４１ｃの未使用領域及び未使用スタック領域を１ゲーム毎に初期化しているが、少なくともＲＡＭ４１ｃの未使用領域または未使用スタック領域のいずれか一方の領域を１ゲーム毎に初期化するものであれば良い。
【０５２１】
また、本実施例では、ゲーム終了時にＲＡＭ４１ｃの未使用領域及び未使用スタック領域を初期化する初期化４を毎ゲーム実行することで、ＲＡＭ４１ｃの未使用領域や未使用スタック領域を１ゲーム毎に初期化しているが、少なくとも１ゲーム毎に１回以上ＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域が初期化されるものであれば、ＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域の初期化を行うタイミングは、１ゲーム中のどのタイミングであっても良く、例えば、ゲーム開始時や１ゲーム毎に必ず実行される処理の実行時にＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域の初期化を行うものであっても良い。
【０５２２】
また、設定開始前（設定変更モードへの移行前）、ビッグボーナス終了時、起動時にＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の４つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化１〜４を行うとともに、これら４種類の初期化条件のうちどの条件が成立した場合でも、必ずＲＡＭ４１ｃにおける未使用領域及びスタック領域における未使用スタック領域が初期化されるので、不正プログラムが常駐してしまうことを一層確実に防止できる。
【０５２３】
特に、起動時においてＲＡＭ４１ｃのデータが破壊されていないときに、必ずＲＡＭ４１ｃにおける未使用領域及びスタック領域における未使用スタック領域が初期化されるので、ＲＡＭ４１ｃの未使用領域や未使用スタック領域を利用して不正プログラムや不正データが格納された場合にも、当該不正プログラムや不正データが格納されたままメイン制御部４１の制御状態がＲＡＭ４１ｃのデータに基づいて復帰してしまうことを防止できる。
【０５２４】
また、電断割込処理において、いずれかのビットが１となる破壊診断用データをＲＡＭ４１ｃの所定アドレスに格納した後、ＲＡＭ４１ｃの未使用領域及び未使用スタック領域を含む全てのデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、格納するとともに、復旧時においてＲＡＭ４１ｃにおける未使用領域及び未使用スタック領域を含む全ての領域に格納されているデータに基づいて計算したＲＡＭパリティが０か否か、及び破壊診断用データが格納されているか否か、を判定し、ＲＡＭパリティが０でなかった場合、またはＲＡＭパリティが０であっても破壊診断用データが正常に格納されていない場合には、ＲＡＭ異常エラーによるエラー状態となり、設定キースイッチ３７をＯＮの状態で電源投入し、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１が行われるまで、ゲームの進行が不可能となるので、起動時にＲＡＭ４１ｃの未使用領域及び／または未使用スタック領域に不正プログラムが格納された場合でも、当該不正プログラムを発見して初期化することができる。
【０５２５】
更に、ＲＡＭ４１ｃに格納されているデータが正常ではないと判定され、ＲＡＭ異常エラー状態となると、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１が行われるようになっており、ＲＡＭ４１ｃに格納されているデータが正常ではないと判定されたときにも、その後、設定キースイッチ３７がＯＮの状態で電源投入されたときにも、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１が行われるので、ＲＡＭ４１ｃに格納されている可能性がある不正プログラムを確実に除去することができる。
【０５２６】
また、本実施例では、ＲＡＭ４１ｃに記憶されているデータに異常が生じた場合には、ＲＡＭ異常エラーによるエラー状態に制御され、ゲームの進行が不能化されるとともに、一度ＲＡＭ異常エラーによるエラー状態に制御されると、設定変更モードに移行し、設定変更操作に基づいて設定値を新たに選択・設定しなければ、ゲームの進行が不能化された状態が解除されない。すなわち、ＲＡＭ４１ｃに記憶されているデータに異常が生じても、スロットマシンにより自動的に設定された設定値ではなく、設定変更操作に基づいて選択・設定された設定値（一般的に、設定変更操作は遊技店の従業員により行われるので、遊技店側が選択した設定値である）に基づいてゲームが行われることが担保されるので、ゲームの公平性を図ることができる。
【０５２７】
また、ＲＡＭ４１ｃに記憶されたデータに異常が生じるのは、停電時やＣＰＵ４１ａが暴走する等、制御に不具合が生じて制御を続行できないときがほとんどである。このため本実施例では、これらの状態から復旧してＣＰＵ４１ａが起動するときにおいてのみデータが正常か否かの判定を行うようになっているので、ＲＡＭ４１ｃに記憶されたデータが正常か否かの判定をデータに異常が生じている可能性が高い状況においてのみ行うことができる。すなわちデータに異常が生じている可能性の低い状況では、当該判定を行わずに済み、ＣＰＵ４１ａの負荷を軽減させることができる。
【０５２８】
また、本実施例では、電断割込処理においてＲＡＭ４１ｃの全てのデータに基づくＲＡＭパリティ、すなわち排他的論理和演算した結果が０となるようにＲＡＭパリティ調整用データを計算し、格納するとともに、復旧時においてＲＡＭ４１ｃにおける全ての領域に格納されているデータに基づいて計算したＲＡＭパリティが０か否かを判定することで、ＲＡＭ４１ｃのデータが正常か否かを判定しているので、当該判定を正確にかつ簡便に行うことができる。
【０５２９】
また、本実施例では、電断割込処理において、いずれかのビットが１となる破壊診断用データ（本実施例では、５ＡＨ）、すなわち０以外の特定のデータをＲＡＭ４１ｃの所定のアドレスに格納した後、この破壊診断用データを含むＲＡＭ４１ｃの全てのデータに基づくＲＡＭパリティが０となる調整用データを格納し、起動時においてＲＡＭパリティが０か否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、ＲＡＭパリティが０であり、かつ破壊診断用データも正常に格納されていることを条件に、ＲＡＭ４１ｃのデータが正常であると判定し、ＲＡＭ４１ｃに格納されているデータに基づいて制御状態を復帰させるようになっている。これにより、全ての領域に００Ｈが格納されている場合、すなわちＲＡＭ４１ｃのデータが正常でなくても、ＲＡＭ４１ｃのデータが０クリアされてしまった場合には、起動時のＲＡＭパリティの判定により正常であると判定されてしまうが、ＲＡＭ４１ｃのデータが０クリアされてしまった場合には、破壊診断用データが格納されるべき領域も０となり、ＲＡＭ４１ｃのデータが正常ではないと判定され、誤ってＲＡＭ４１ｃのデータが正常であると判定されてしまうことを防止できるので、起動時においてＲＡＭ４１ｃのデータが正しい内容であるか否かの判定精度を一層高めることができる。
【０５３０】
また、ＣＰＵ４１ａは、起動時においてＲＡＭパリティが０であり、かつ破壊診断用データも正常に格納されていると判定し、ＲＡＭ４１ｃのデータが正常であると判定すると、ＲＡＭ４１ｃに格納されている破壊診断用データをクリアするようになっているので、起動後もＲＡＭ４１ｃに破壊診断用データが格納されたままの状態となることで、次回起動時においてＲＡＭ４１ｃのデータが正常ではないにも関わらず、破壊診断用データが格納されているために正常であると誤って判定してしまうことを防止できる。
【０５３１】
また、本実施例では、ＲＡＭ４１ｃのデータに異常が生じて、ゲームの進行が不能化された場合には、ゲームの進行が不能化された状態を解除する条件となる設定値の変更操作が有効となる設定変更モード（設定変更処理）へ移行することに伴って、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域が初期化されるので、ＲＡＭ４１ｃのデータに異常が生じたことに伴うデータの初期化及び設定値の選択・設定に伴うデータの初期化を１度で行うことができ、無駄な処理を省くことができる。更に、ＣＰＵ４１ａの起動時には、ＲＡＭ４１ｃのデータが正常か否かを判定する前に、設定キースイッチ３７がＯＮの状態であるか否かを判定し、その時点で設定キースイッチ３７がＯＮの状態であると判定した場合には、ＲＡＭ４１ｃのデータが正常か否かの判定は行わず、設定変更モードに移行し、新たに設定値が選択・設定されることとなり、この場合にも無駄な処理を省くことができる。
【０５３２】
尚、本実施例では、設定変更処理に移行する前に、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１を行っているが、設定変更処理に移行することに伴って初期化１が行われれば良く、例えば、設定変更処理の終了後に行っても良いし、設定変更処理において設定値が確定した時点で行っても良い。尚、この場合には、確定した設定値が変更されてしまうと不都合が生じるので、初期化１においては、ＲＡＭ４１ｃの使用中スタック領域及び設定値ワークを除く全ての領域が初期化されることとなる。
【０５３３】
また、本実施例では、一度ＲＡＭ異常エラーや異常入賞エラーによるエラー状態に制御されると、設定変更処理が行われるまで、ゲームが不能動化されるようになっているが、ＲＡＭ異常エラーや異常入賞エラーによるエラー状態となったときに、ＲＡＭ４１ｃの使用中スタック領域を除く全ての領域を初期化する初期化１を行うとともに、設定値を初期値（例えば、設定値１）に設定し、この状態でリセット操作がなされることで、ゲームを再開できるようにしても良い。
【０５３４】
また、本実施例のスロットマシン１では、ビッグボーナス入賞が発生したゲームにおいて、ゲームの終了が判定された時点でクレジットの精算の禁止は解除され、ゲーム終了後、ＢＢ入賞時演出待ち時間が経過するまで賭数の設定が禁止されている期間であっても、クレジット（賭数の設定に用いられたメダルを含む）として記憶されているメダルを返却させることが可能となるので、可能な限り遊技者の意志を反映して、遊技者所有のものとして記憶されているクレジット分のメダルの返却を受けることができる。これにより、例えば、ビッグボーナス入賞が発生したゲームにおいて、ビッグボーナス入賞の発生に伴うビッグボーナスのゲームを始める前に、クレジットとして記憶されているメダルの一部を景品（例えば、清涼飲料水やたばこ等）に交換したいこともあり得るが、このような遊技者の意志を反映させてメダルの返却を受けることが可能となる。
【０５３５】
また、ビッグボーナス入賞が発生した際に、ビッグボーナス入賞の発生した旨を示すＢＢ入賞時演出が実行されるので、ビッグボーナス入賞の発生に伴いビッグボーナスに移行する際の遊技者の興趣を効果的に高めることができる。
【０５３６】
また、ビッグボーナスの終了条件が成立したゲームにおいて、ゲームの終了が判定された時点でクレジットの精算の禁止は解除され、ゲーム終了後、エンディング演出待ち時間が経過するまで賭数の設定が禁止されている期間であっても、クレジット（賭数の設定に用いられたメダルを含む）として記憶されているメダルを返却させることが可能となるので、可能な限り遊技者の意志を反映して、遊技者所有のものとして記憶されているクレジット分のメダルの返却を受けることができる。これにより、特に、ビッグボーナスの終了後、すぐに遊技を終了したい遊技者の意志を反映させてメダルの返却を受けることが可能となる。
【０５３７】
また、ビッグボーナスの終了条件が成立したゲームの終了時に、ビッグボーナスが終了した旨を示すエンディング演出が実行されるので、ビッグボーナスの終了を分かりやすく報知することができる。
【０５３８】
また、ビッグボーナスの終了条件が成立したゲームにおいて、打止状態に制御される場合でも、ゲームの終了が判定された時点でクレジットの精算の禁止は解除され、ゲームが終了し、店員によるリセット操作がなされて打止状態が解除されるまで賭数の設定が禁止されている期間であっても、クレジット（賭数の設定に用いられたメダルを含む）として記憶されているメダルを返却させることが可能となるので、可能な限り遊技者の意志を反映して、遊技者所有のものとして記憶されているクレジット分のメダルの返却を受けることができる。これにより、特に、ビッグボーナスの終了後、すぐに遊技を終了したい遊技者の意志を反映させてメダルの返却を受けることが可能となる。
【０５３９】
また、ビッグボーナス入賞が発生したゲームの終了が判定された後、ＢＢ入賞時演出の演出待ち時間が経過するまでの期間において電断が発生し、その後復帰した場合には、ＢＢ入賞時演出の演出待ち時間から電断前に既に経過した時間を除いた時間が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となるのに対して、ＢＢ入賞時演出が最終段階に到達する前の段階において電断が発生し、その後復帰した場合には、ＢＢ入賞時演出は経過段階の最初から実行される。そして、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、ＢＢ入賞時演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。このため、ＢＢ入賞時演出が開始した後、このＢＢ入賞時演出が終了する前に電断し、その後電断から復帰した場合に、ＢＢ入賞時演出が最初から実行されるが、当該ＢＢ入賞時演出の実行中において新たにコマンドを受信した場合には、実行中のＢＢ入賞時演出がキャンセルされて新たに受信したコマンドに基づく演出が実行されるので、ＢＢ入賞時演出が遊技者にとって煩わしいものとなってしまうことを防止できるとともに、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５４０】
また、サブ制御部９１では、電断時に実行中のＢＢ入賞時演出が経過段階にあるか最終段階にあるかをバックアップし、次回起動時に、ＢＢ入賞時演出が経過段階にある旨がバックアップされていれば、ＢＢ入賞時演出を経過段階の最初から実行し、ＢＢ入賞時演出が最終段階にある旨がバックアップされていれば、ＢＢ入賞時演出を最終段階の状態で復帰するようになっている。このため、ＢＢ入賞時演出が最終段階に到達している状態で電断した場合には、復帰後に、実行していたＢＢ入賞時演出が最初から実行されることがないので、ＢＢ入賞時演出が遊技者にとって煩わしいものとなってしまうことをより効果的に防止できる。
【０５４１】
また、ビッグボーナス入賞が発生したゲームの終了が判定された後、ＢＢ入賞時演出の演出待ち時間が経過するまでの期間において、例えば、クレジットの精算が実行され、この精算に伴うメダルの払出中に払出エラーが発生し、当該払出エラーが解除した場合には、ＢＢ入賞時演出の演出待ち時間から払出エラーの発生前に既に経過した時間を除いた時間が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となるのに対して、ＢＢ入賞時演出が最終段階に到達する前の段階において払出エラーが発生し、当該払出エラーが解除した場合には、ＢＢ入賞時演出は経過段階の最初から実行される。そして、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、ＢＢ入賞時演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。このため、ＢＢ入賞時演出が開始した後、このＢＢ入賞時演出が終了する前にエラー状態に制御され、その後エラー状態が解除した場合に、ＢＢ入賞時演出が最初から実行されるが、当該ＢＢ入賞時演出の実行中において新たにコマンドを受信した場合には、実行中のＢＢ入賞時演出がキャンセルされて新たに受信したコマンドに基づく演出が実行されるので、ＢＢ入賞時演出が遊技者にとって煩わしいものとなってしまうことを防止できるとともに、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５４２】
また、サブ制御部９１では、エラー発生時に実行中のＢＢ入賞時演出が経過段階にあるか最終段階にあるかのデータを維持し、当該エラーが解除したときには、ＢＢ入賞時演出が経過段階にある旨のデータが維持されていれば、ＢＢ入賞時演出が経過段階の最初から実行され、ＢＢ入賞時演出が最終段階にある旨のデータが維持されていれば、ＢＢ入賞時演出が最終段階の状態で復帰するようになっている。このため、ＢＢ入賞時演出が最終段階に到達している状態でエラーが発生した場合には、当該エラーの解除後に、実行していたＢＢ入賞時演出が最初から実行されることがないので、ＢＢ入賞時演出が遊技者にとって煩わしいものとなってしまうことをより効果的に防止できる。
【０５４３】
また、打止機能が設定されていない場合において、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、エンディング演出の演出待ち時間が経過するまでの期間において電断が発生し、その後復帰した場合には、エンディング演出の演出待ち時間から電断前に既に経過した時間を除いた時間が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となるのに対して、エンディング演出が最終段階に到達する前の段階において電断が発生し、その後復帰した場合には、エンディング演出は経過段階の最初から実行される。そして、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、エンディング演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。このため、エンディング演出が開始した後、このエンディング演出が終了する前に電断し、その後電断から復帰した場合に、エンディング演出が最初から実行されるが、当該エンディング演出の実行中において新たにコマンドを受信した場合には、実行中のエンディング演出がキャンセルされて新たに受信したコマンドに基づく演出が実行されるので、エンディング演出が遊技者にとって煩わしいものとなってしまうことを防止できるとともに、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５４４】
また、サブ制御部９１では、電断時に実行中のエンディング演出が経過段階にあるか最終段階にあるかをバックアップし、次回起動時に、エンディング演出が経過段階にある旨がバックアップされていれば、エンディング演出を経過段階の最初から実行し、エンディング演出が最終段階にある旨がバックアップされていれば、エンディング演出を最終段階の状態で復帰するようになっている。このため、エンディング演出が最終段階に到達している状態で電断した場合には、復帰後に、実行していたエンディング演出が最初から実行されることがないので、エンディング演出が遊技者にとって煩わしいものとなってしまうことをより効果的に防止できる。
【０５４５】
また、打止機能が設定されていない場合において、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、エンディング演出の演出待ち時間が経過するまでの期間において、例えば、クレジットの精算が実行され、この精算に伴うメダルの払出中に払出エラーが発生し、当該払出エラーが解除した場合には、エンディング演出の演出待ち時間から払出エラーの発生前に既に経過した時間を除いた時間が経過した時点で、賭数の設定の禁止が解除され、賭数の設定が許可された状態となるのに対して、エンディング演出が最終段階に到達する前の段階において払出エラーが発生し、当該払出エラーが解除した場合には、エンディング演出は経過段階の最初から実行される。そして、賭数が設定されてメイン制御部４１側からＢＥＴコマンドを受信すると、エンディング演出はその時点でキャンセルされ、ＢＥＴコマンドに対応する演出が実行されることとなる。このため、エンディング演出が開始した後、このエンディング演出が終了する前にエラー状態に制御され、その後エラー状態が解除した場合に、エンディング演出が最初から実行されるが、当該エンディング演出の実行中において新たにコマンドを受信した場合には、実行中のエンディング演出がキャンセルされて新たに受信したコマンドに基づく演出が実行されるので、エンディング演出が遊技者にとって煩わしいものとなってしまうことを防止できるとともに、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５４６】
また、サブ制御部９１では、エラー発生時に実行中のＢＢ入賞時演出が経過段階にあるか最終段階にあるかのデータを維持し、当該エラーが解除したときには、ＢＢ入賞時演出が経過段階にある旨のデータが維持されていれば、ＢＢ入賞時演出が経過段階の最初から実行され、ＢＢ入賞時演出が最終段階にある旨のデータが維持されていれば、ＢＢ入賞時演出が最終段階の状態で復帰するようになっている。このため、ＢＢ入賞時演出が最終段階に到達している状態でエラーが発生した場合には、当該エラーの解除後に、実行していたＢＢ入賞時演出が最初から実行されることがないので、ＢＢ入賞時演出が遊技者にとって煩わしいものとなってしまうことをより効果的に防止できる。
【０５４７】
また、打止機能が設定されている場合において、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、エンディング演出の演出待ち時間が経過するまでの期間において電断が発生し、その後復帰した場合には、エンディング演出の演出待ち時間から電断前に既に経過した時間を除いた時間が経過した後、リセットスイッチ２３またはリセット／設定スイッチ３８が操作され、打止状態が解除された時点で賭数の設定の禁止も解除され、賭数の設定が許可された状態となるのに対して、エンディング演出が最終段階に到達する前の段階において電断が発生し、その後復帰した場合には、エンディング演出は経過段階の最初から実行される。このため、エンディング演出が開始した後、このエンディング演出が終了する前に電断し、その後電断から復帰した場合に、エンディング演出が最初から実行されるが、当該エンディング演出の実行中において打止状態の開始を示すコマンドを受信した場合には、実行中のエンディング演出がキャンセルされて打止中報知が実行されるので、エンディング演出が遊技者にとって煩わしいものとなってしまうことを防止できるとともに、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５４８】
また、打止機能が設定されている場合において、ビッグボーナスの終了条件が成立したゲームの終了が判定された後、エンディング演出の演出待ち時間が経過するまでの期間において、例えば、クレジットの精算が実行され、この精算に伴うメダルの払出中に払出エラーが発生し、当該払出エラーが解除した場合には、エンディング演出の演出待ち時間から払出エラーの発生前に既に経過した時間を除いた時間が経過した後、リセットスイッチ２３またはリセット／設定スイッチ３８が操作され、打止状態が解除された時点で賭数の設定の禁止も解除され、賭数の設定が許可された状態となるのに対して、エンディング演出が最終段階に到達する前の段階において払出エラーが発生し、当該払出エラーが解除した場合には、エンディング演出は経過段階の最初から実行される。このため、エンディング演出が開始した後、このエンディング演出が終了する前にエラーが発生し、その後当該エラーが解除した場合に、エンディング演出が最初から実行されるが、当該エンディング演出の実行中において打止状態の開始を示すコマンドを受信した場合には、実行中のエンディング演出がキャンセルされて打止中報知が実行されるので、エンディング演出が遊技者にとって煩わしいものとなってしまうことを防止できるとともに、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５４９】
また、ＢＢ入賞時演出やエンディング演出の経過段階の実行に要する時間、すなわち最終段階に移行するまでの時間が、これらＢＢ入賞時演出やエンディング演出の演出待ち時間、すなわちゲームの終了が判定されてから賭数の設定が禁止されている時間よりも短い時間に設定されているので、ＢＢ入賞時演出やエンディング演出が最終段階に到達する前に電断し、復帰後に、実行していたＢＢ入賞時演出やエンディング演出が最初から実行される場合でも、ＢＢ入賞時演出やエンディング演出が実行される期間と賭数の設定の禁止が解除されるまでの期間との重複する期間が長くなるので、メイン制御部４１及びサブ制御部９１双方の制御状態に食い違いが生じてしまうことを極力防止できる。
【０５５０】
尚、本実施例では、ＢＢ入賞時演出やエンディング演出の演出待ち時間が経過する前の段階において、エラーが発生し、エラー状態に制御されている間、ＢＢ入賞時演出やエンディング演出の演出待ち時間の計時が中断され、エラー状態が解除された時点からＢＢ入賞時演出やエンディング演出の演出待ち時間の計時が再開されるようになっているが、これらＢＢ入賞時演出やエンディング演出の演出待ち時間の計時をエラー状態に制御されている間も中断せずに行うようにしても良く、このようにすることで、エラー状態が解除された時点で、賭数の設定の禁止が解除され、極力早い段階で賭数の設定を行うことが可能となるうえに、この状態で賭数の設定が行われることで、再開されたＢＢ入賞時演出やエンディング演出がキャンセルされるので、これらの演出が遊技者にとって煩わしいものとならないばかりか、メイン制御部４１側の制御状態が進んでいるにも関わらず、サブ制御部９１側の制御状態が停滞して、双方の制御状態に食い違いが生じてしまうことを防止できる。
【０５５１】
また、本実施例では、トリガー端子ＣＬＫ／ＴＲＧに電圧低下信号が入力されることで、ＣＰＵ４１ａが実行中の処理に割り込んで電断割込処理を実行するようになっているが、電断割込処理では、破壊診断用データを設定する処理やＲＡＭパリティ調整用データを計算して設定する処理等、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を行う前に、信号入力端子ＤＡＴＡに電圧低下信号が入力されているか否かの判定を行い、信号入力端子ＤＡＴＡにも電圧低下信号が入力されていれば、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等を行うのに対して、信号入力端子ＤＡＴＡに電圧低下信号が入力されていなければ、もとの処理に復帰するようになっている。
【０５５２】
すなわち、メイン制御部４１には、電圧低下信号が２系統の入力部に入力され、ＣＰＵ４１ａは、一方の入力部に電圧低下信号が入力されて電断割込処理を実行しても、復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等が実行される前に再度他方の入力部に電圧低下信号が入力されているか否かを判定し、他方の入力部にも電圧低下信号が入力されていて初めてこれらの処理が実行されるようになっており、電断を誤って検出した際に、誤って復旧時にＲＡＭ４１ｃのデータが正常であるかを判定可能とするための処理や出力ポートの初期化等の処理が行われてしまうことが防止できるので、電断を誤って検出することに伴い、必要以上に長い間ＣＰＵ４１ａの制御が中断されたり、必要以上に負荷がかかってしまうことを防止できる。
【０５５３】
また、電断割込処理及びタイマ割込処理（メイン）の実行中においては、他の割込が禁止されるようになっており、例えば、タイマ割込処理（メイン）の実行中に電圧低下信号が入力された場合でも２重に割込が生じることがなく、ＣＰＵ４１ａの処理負荷が増大してしまったりデータの整合性がとれなくなってしまうことを防止できる。特に、コマンドの送信中に電圧低下信号が入力されても、割込が生じて当該コマンドの送信が阻害されることがなく、ＣＰＵ４１ａの駆動が停止する前に正常に送信を完了させることができる。
【０５５４】
また、電断割込処理の割込タイミングとタイマ割込処理（メイン）の割込タイミングとが同時となった場合、すなわち割込２と割込３が同時に発生した場合には、割込２を優先し、電断割込処理を実行するとともに、タイマ割込処理（メイン）の実行中に割込２が発生した場合には、当該タイマ割込処理（メイン）の終了を待って電断割込処理を実行するようになっており、多重割込を防止しつつも極力早い段階で電断割込処理が行われるので、ＣＰＵ４１ａの駆動が停止する前に電断割込処理を確実に行うことができる。
【０５５５】
また、ＣＰＵ４１ａは、割込１〜４の４種類の割込を実行可能であり、このうち未使用に設定されている割込１、４が発生した場合には、もとの処理に即時復帰させる未使用割込処理を実行するようになっている。このため、未使用の割込１、４が発生したときでも、すぐに割込前の処理に復帰することとなるので、ノイズ等によって未使用の割込が発生してもＣＰＵ４１ａが暴走してしまうといった不具合を防止できる。
【０５５６】
また、本実施例では、ＣＰＵ４１ａが演出制御基板９０に対して遊技の進行に応じたコマンドを送信し、演出制御基板９０に搭載されたサブ制御部９１は、遊技制御基板４０から送信されたコマンドに基づいて演出の制御を行うようになっており、ＣＰＵ４１ａは、コマンドを送信するのみで演出の制御を行う必要がないので、ＣＰＵ４１ａの処理負荷を軽減できるうえに、演出を多彩なものにできる。
【０５５７】
また、遊技制御基板４０から演出制御基板９０にコマンドが送信されるコマンド伝送ラインが、遊技制御基板４０と演出制御基板９０との間で演出中継基板８０を介して接続されており、遊技制御基板４０に演出制御基板９０が直接接続される構成ではないので、コマンド伝送ラインからＣＰＵ４１ａに対して外部から不正な信号が入力され、遊技の制御に影響を与えられてしまうことを防止できる。
【０５５８】
また、本実施例のスロットマシン１では、停止操作位置（リール基準位置からのステップ数に対して割り当てられた領域）に対して停止位置（表示結果）が一意的に定められた複数の停止制御テーブルのうち、全てのリールが回転中においては、各遊技状態のそれぞれについての内部当選状態に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるとともに、いずれかのリールが既に停止している場合においては、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるようになっており、遊技状態、内部当選状態、リールの停止状況（及び停止済みのリールの停止位置（表示結果））の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなるので、従来のように一の内部当選状態に対して複数の停止制御テーブルからいずれか１つの停止制御テーブルを内部抽選とは異なる抽選（例えばリール制御の振分抽選など）などにより更に選択する必要がなく、リールを停止させる際の制御が複雑化することがない。
【０５５９】
また、本実施例では、リールの回転開始時に、全てのリールについて、各遊技状態のそれぞれについての内部当選状態に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるとともに、その後リールが停止する毎に、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置、すなわちいずれか１つのリールが停止した状態では停止済みのリールの停止位置、いずれか２つのリールが停止した状態では停止済みの２つのリールの停止位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるようになっているが、例えば、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき（２つのリールが停止したとき）には、新たに停止制御テーブルを選択せず、全てのリールが回転している状態でいずれか１つのリールが停止したときに選択された停止制御テーブルに従って残りのリールの停止制御を行うようにしても良い。
【０５６０】
また、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき（２つのリールが停止したとき）に、各遊技状態のそれぞれについての内部当選状態、最初に停止したリールの停止位置または最後に停止したリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
【０５６１】
また、本実施例では、いずれかのリールが既に停止している場合において、各遊技状態のそれぞれについての内部当選状態、リールの停止状況及び停止済みのリールの停止位置に対して一意的に定められた停止制御テーブルに従ってリールの停止制御が行われるようになっているが、いずれかのリールが既に停止している場合において、各遊技状態のそれぞれについての内部当選状態、リールの停止状況及び停止済みのリールの停止操作位置に対して一意的に定められた停止制御テーブルに従ってリールの停止制御が行われるようにしても良く、このようにすることで遊技状態及び内部当選状態が同一であり、かつ停止済みのリールの停止位置（停止図柄）が同一の場合であっても、停止済みのリールの停止操作位置が異なる場合には、異なる停止制御テーブルが適用されることがあるため、リールの表示結果をより多彩なものにできる。
【０５６２】
また、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき（２つのリールが停止したとき）には、新たに停止制御テーブルを選択せず、全てのリールが回転している状態でいずれか１つのリールが停止したときに選択された停止制御テーブルに従って残りのリールの停止制御を行うようにしても良い。
【０５６３】
また、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止済みのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うとともに、更にいずれかのリールが停止したとき（２つのリールが停止したとき）に、各遊技状態のそれぞれについての内部当選状態、最初に停止したリールまたは最後に停止したリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
【０５６４】
また、本実施例では、いずれか２つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御が行われるようになっているが、例えば、いずれか２つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールのうちのいずれか１つのリールの停止位置、停止したリールのうちの残りのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
【０５６５】
また、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止位置に対して一意的に定められた停止制御テーブルを選択し、いずれか２つのリールが停止したときに、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止操作位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
【０５６６】
また、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、いずれか２つのリールが停止したときに、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止位置の組み合わせに対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
【０５６７】
また、いずれか１つのリールが停止したときに、回転中のリールについて、各遊技状態のそれぞれについての内部当選状態、停止したリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、いずれか２つのリールが停止したときに、各遊技状態のそれぞれについての内部当選状態、停止したリールのうちのいずれか１つのリールの停止位置、停止したリールのうちの残りのリールの停止操作位置に対して一意的に定められた停止制御テーブルを選択し、選択した停止制御テーブルに従ってリールの停止制御を行うようにしても良い。
【０５６８】
また、これらの場合には、１／２図柄が変動する範囲の領域、すなわち１図柄が変動する範囲未満の単位で停止済みのリールの停止操作位置を判定し、その停止操作位置に対して一意的に定められた停止制御テーブルに従ってリールの停止制御を行うこと、すなわちある図柄が基準位置に位置するステップ数から１図柄が変動する範囲以内の異なるステップ数に対して異なる停止制御テーブルを選択可能とすることが好ましく、このようにすれば、停止済みのリールの停止位置が同一であり、停止操作が行われたタイミングが１図柄が変動する範囲以内であっても、他のリールに適用される停止制御テーブルを変化させることができるので、各リールの表示結果をより一層多様化することができる。
【０５６９】
また、本実施例では、複数の連続するステップ数の範囲（本実施例では１図柄が変動する４ステップずつ）毎に引込コマ数（当該範囲で停止操作が検出された場合の停止位置）が一意的に定められた停止制御テーブルを用いてリールの停止制御を行っているので、停止制御テーブルを作成するための停止制御用データの容量を大幅に軽減できる。
【０５７０】
尚、本実施例では、１図柄が変動する範囲の領域の単位毎に、引込コマ数を一意的に定めた停止制御テーブルを用いているが、例えば、１／２図柄が変動する範囲の領域、すなわち１図柄が変動する範囲未満の単位毎に、引込コマ数（停止位置）を一意的に定めた停止制御テーブルを用いてリールの停止制御を行うようにしても良い。すなわちある図柄が基準位置に位置するステップ数から１図柄が変動する範囲以内の異なるステップ数に対して異なる停止位置が定められた停止制御テーブルを用いてリールの停止制御を行うようにしても良く、このようにすることで、１図柄が変動する範囲以内であっても、停止操作のタイミングが異なることで導出される表示結果を変化させることができるので、停止操作のタイミングに応じてより多彩な態様でリールの表示結果を導出させることができる。
【０５７１】
また、本実施例のスロットマシン１では、ビッグボーナスへの移行と同時に、レギュラーボーナスを作動させるとともに、ビッグボーナス中は１ゲーム毎に、レギュラーボーナスが作動中か否かを判定し、レギュラーボーナスが未作動であると判定された場合には、再度レギュラーボーナスを作動させることで、ビッグボーナスが作動している間、常にレギュラーボーナスに制御するようになっている。このため、ビッグボーナスが作動している間は、レギュラーボーナスにのみ制御すれば良いので、ビッグボーナスへの移行に伴う制御を簡素化することができるとともに、１ゲーム毎にレギュラーボーナスが作動中か否かの判定が行われるため、ビッグボーナス中の各ゲームの制御プログラムを、レギュラーボーナスの作動中か否かに関わらず共通化することができるのでプログラム容量を削減することができる。
【０５７２】
また、ビッグボーナスが作動している間は、常にレギュラーボーナスに制御されることにより、ビッグボーナス中においてメダルを最も速く増加させることができるので、従来のようにＪＡＣＩＮ入賞に伴いレギュラーボーナスが作動するよりもビッグボーナスへの移行に伴う遊技者の興趣を高めることができる。特に、本実施例のようにレギュラーボーナスへの移行回数でビッグボーナスが終了することなく、ビッグボーナス中のメダルの払出総数が規定値（本実施例では、３４５枚）を超えることで終了条件が成立する場合には、ビッグボーナス中の純増枚数を高めることができるので、更にビッグボーナスへの移行に伴う遊技者の興趣を高めることができる。
【０５７３】
また、本実施例では、レギュラーボーナスが未作動か否かの判定を行う前に、ビッグボーナスの終了条件が成立したか否かの判定を行い、当該判定においてビッグボーナスの終了条件が成立していない場合に、レギュラーボーナスが未作動か否かの判定を行い、未作動の場合には、レギュラーボーナスを作動させるようになっているので、ビッグボーナスが終了してしまうにも関わらず、レギュラーボーナスを再度作動させるための判定、すなわち不要な判定が行われることがない。
【０５７４】
尚、本実施例では、レギュラーボーナスの作動が開始した後、レギュラーボーナスに制御されたゲーム数が規定のゲーム数（本実施例では１２ゲーム）に到達するか、規定回数（本実施例では８回）入賞が発生することで終了するようになっているが、いずれか一方のみの条件でレギュラーボーナスが終了するようにしても良く、更には、１ゲームのみで終了するものや１回入賞が発生するのみで終了するものであっても良い。また、レギュラーボーナス中のメダルの払出総数や純増枚数（メダルの払出総数から賭数の設定に消費したメダルの総数を減算した枚数）が規定数に到達することで終了するものであっても良いし、これらの条件のうち、いずれかの条件が成立することで終了するものであっても良い。
【０５７５】
また、本実施例では、ビッグボーナスの作動が開始した後、ビッグボーナス中のメダルの払出総数が規定値（本実施例では、３４５枚）を超えることでビッグボーナスが終了するようになっているが、その他の条件でビッグボーナスが終了するものであっても良く、例えば、ビッグボーナス中のメダルの純増枚数（メダルの払出総数から賭数の設定に消費されたメダルの総数を減算した枚数）が規定値に到達したときに終了するものや、ビッグボーナスに制御されたゲーム数が規定のゲーム数に到達すること、レギュラーボーナスへの移行回数が規定回数に到達し、かつ当該レギュラーボーナスが終了することなどでビッグボーナスの終了条件が成立するようにしたり、これらの条件のうちいずれかが成立することでビッグボーナスの終了条件が成立するようにしても良い。
【０５７６】
また、本実施例では、ビッグボーナス中、１ゲーム毎にレギュラーボーナスが作動中か否かの判定が行われるようになっているが、ビッグボーナスへの移行と同時に、レギュラーボーナスを作動させるとともに、レギュラーボーナスの終了時に、再度レギュラーボーナスを作動させることで、ビッグボーナスが作動している間、常にレギュラーボーナスに制御するようにしても良く、このようにした場合にも、ビッグボーナスが作動している間は、レギュラーボーナスにのみ制御すれば良いので、ビッグボーナスへの移行に伴う制御を簡素化することができるとともに、１ゲーム毎にレギュラーボーナスが作動中か否かの判定を行う必要がなく、レギュラーボーナスが終了したときのみレギュラーボーナスを再作動させるための処理を行えば良いので、レギュラーボーナスの制御が終了していない状態で不要な処理が行われることがない。
【０５７７】
また、この場合には、レギュラーボーナスの終了時に、再度レギュラーボーナスを作動させる前に、ビッグボーナスの終了条件が成立したか否かの判定を行い、当該判定においてビッグボーナスの終了条件が成立していない場合に、再度レギュラーボーナスを作動させることが好ましく、このようにすることで、ビッグボーナスが終了してすぐに終了してしまうにも関わらずレギュラーボーナスが再作動されてしまうことがない。
【０５７８】
また、ビッグボーナスに移行後、最初のレギュラーボーナスについては、特定の入賞が発生することなどを契機として移行し、その後のレギュラーボーナスについては、レギュラーボーナス終了時に再作動する構成としても良い。
【０５７９】
また、本実施例では、レギュラーボーナスを作動させる際に、レギュラーボーナス中を示すＲＢ中信号の出力待ち時間が経過するまでＲＢ中信号を停止した状態で待機し、出力待ち時間が経過した時点で、ＲＢ中信号の出力を開始するようになっており、ビッグボーナス中に連続してレギュラーボーナスを作動させる場合でも、ＲＢ中信号の出力が停止し、この状態で出力待ち時間が経過した時点で、再度ＲＢ中信号の出力が再開するようになっている。このため、レギュラーボーナスが一旦途切れたことをＲＢ中信号を入力した外部機器にて判別することが可能となり、例えば、外部出力された信号からスロットマシンが正常に動作しているか否かなどの試験を外部機器にて適正に実施することができる。
【０５８０】
また、本実施例では、役別テーブルに、特別役のみに対応する判定値数の格納先のアドレス、特別役及び一般役の双方に対応する判定値数の格納先のアドレス、一般役のみに対応する判定値数の格納先アドレスがそれぞれ登録されており、内部抽選において、取得した内部抽選用の乱数に、役別テーブルから参照された各役または役の組み合わせの判定値数を加算していき、特別役のみに対応する判定値数との加算結果がオーバーフローした場合には、特別役のみの当選を判定し、特別役及び一般役の双方に対応する判定値数との加算結果がオーバーフローした場合には、特別役及び一般役の双方の当選を判定し、一般役のみに対応する判定値数との加算結果がオーバーフローした場合には、一般役のみの当選を判定するようになっており、特別役と一般役が同時に当選し得るようになっている。すなわち１つの役別テーブルから、一般役、特別役がそれぞれ単独で当選する判定値の範囲と、一般役及び特別役が重複して当選する判定値の範囲と、が特定できるようにすることで、特別役と一般役が同時に当選し得るようになっている。これにより、ゲームの結果として一般役が入賞した場合でも、一般役よりも有利度の高い特別役の当選が否定されないので、このような状況においても特別役の入賞に対する遊技者の期待感を持続させることができる。
【０５８１】
尚、本実施例では、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとチェリーのみ同時に当選可能としているが、例えば、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとチェリー、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとベルなど、特別役と複数種類の一般役が同時に当選できるようにしても良い。更に、この場合には、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとベルが同時に当選する判定値の範囲よりも、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとチェリーが同時に当選する判定値の範囲の方が大きくなるように設定し、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとベルが同時に当選する確率よりも、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスとチェリーが同時に当選する確率の方が高くなるようにしても良く、このようにすれば、ベルが入賞したときよりもチェリーが入賞したときの方が、ビッグボーナス（１）、ビッグボーナス（２）またはチャレンジボーナスと同時に当選している可能性が高くなるので、一般役が入賞したときに、その一般役の種類によって特別役の当選に対する期待感に変化を持たせることができるため、興趣を高めることができる。
【０５８２】
また、本実施例では、役別テーブルに、特別役のみに対応する判定値数の格納先のアドレス、特別役及び一般役の双方に対応する判定値数の格納先のアドレス、一般役のみに対応する判定値数の格納先アドレスをそれぞれ登録しておき、内部抽選において、取得した内部抽選用の乱数に、役別テーブルから参照された各役または役の組み合わせの判定値数を加算していき、特別役のみに対応する判定値数との加算結果がオーバーフローした場合には、特別役のみの当選を判定し、特別役及び一般役の双方に対応する判定値数との加算結果がオーバーフローした場合には、特別役及び一般役の双方の当選を判定し、一般役のみに対応する判定値数との加算結果がオーバーフローした場合には、一般役のみの当選を判定するようにすることで、特別役と一般役が同時に当選し得る構成としていたが、一般役の格納先アドレスが登録された一般役用の役別テーブルと、特別役の判定値数の格納先アドレスが登録された特別役用の役別テーブルと、を設け、内部抽選において、同一の内部抽選用の乱数について、一般役用の役別テーブルを参照する一般役の抽選と、特別役用の役別テーブルを参照する特別役の抽選と、を別個に行うとともに、一般役用の役別テーブルに登録されているアドレス領域に格納された判定値数及び特別役用の役別テーブルに登録されているアドレス領域に格納された判定値数から、一般役、特別役がそれぞれ単独で当選する判定値の範囲と、一般役、特別役が重複して当選する判定値の範囲と、が特定できるようにすることにより、特別役と一般役が同時に当選し得る構成としても良く、このような構成とした場合でも、ゲームの結果として一般役が入賞が発生した場合でも、一般役よりも有利度の高い特別役の当選が否定されないので、このような状況においても特別役の入賞に対する遊技者の期待感を持続させることができる。
【０５８３】
また、本実施例では、役別テーブルに登録されている各役及び役の組み合わせの判定値数の格納先のアドレスは、設定値に応じて異なっている場合もあるが、設定値に関わらずに当選確率を同一とするものとした役及び役の組み合わせについては、設定値に関わらずに判定値数が共通化して格納されるものとなる。このように判定値数を共通化して格納することで、そのために必要な記憶容量が少なくて済むようになる。もっとも、役別テーブルにおいて、内部抽選の対象役または役の組み合わせが同じで設定値に応じて参照される判定値数を格納したアドレスが異なっていても、異なるアドレスにおいて格納されている判定値数が同じである場合がある。
【０５８４】
一般に開発段階においては、少なくとも一部の役について設定値に応じて判定値数（すなわち当選確率）を調整しながら（すなわち、内部抽選の当選確率を調整しながら）、シミュレーションを行っていくものとしている。当初の判定値数として、設定値に応じて異なる判定値数を登録しておいたが、シミュレーションにより調整を行った結果として、設定値が異なる場合の判定値数が同一になる場合もある。当初の判定値数として、設定値に応じて同一の判定値数を登録しておいたが、シミュレーションの結果により当初から登録してあった判定値数がそのまま用いられる場合もある（シミュレーションの結果により当初とは異なる判定値数すなわち、設定値に応じて異なる判定値数となる場合もある）。そして、それぞれの場合におけるシミュレーションで適切な結果の得られた判定値数を、量産用の機種に設定する判定値数として選ぶものとしている。
【０５８５】
ここで、シミュレーションにより調整された判定値数が結果として設定値に関わらずに同じになったとしても、その開発段階でのアドレス割り当てと同じアドレスの割り当てで判定値数をＲＯＭ４１ｂに記憶して、そのまま量産用の機種とすることができる。このため、量産用の機種において判定値数の格納方法を開発用の機種から変更する必要がなく、最初の設計段階から量産用の機種に移行するまでの開発を容易に行うことができるようになる。
【０５８６】
また、内部抽選は、取得した内部抽選用の乱数に、役別テーブルから参照された各役または役の組み合わせの判定値数を加算していき、その加算の結果がオーバーフローしたか否かによって、それぞれの役の当選の有無を判定するものとしている。このため、各役または役の組み合わせの判定値数をそのまま用いて内部抽選を行うことができる。尚、実際の当選判定を行う前に当選判定用テーブルを生成する場合にはループ処理が２回必要になるが、この実施の形態によれば、抽選処理におけるループ処理が１回で済むようになり、抽選処理全体での処理効率が高いものとなる。
【０５８７】
また、本実施例において乱数取得処理によって取得される内部抽選用の乱数は、サンプリング回路４３により乱数発生回路４２から抽出した乱数をそのまま使用するのではなく、ソフトウェアにより加工してから使用するものとしている。乱数発生回路４２は、パルス発生回路４２ａのパルス信号の周波数で高速に更新して乱数を発生しているが、ソフトウェアにより加工した後の内部抽選用の乱数では、その加工によって更新の周期性が失われるものとなる。
【０５８８】
これに対して、内部抽選では各役に対応した判定値数を内部抽選用の乱数の値に順次加算していくことにより行うため、図７に示したように各役または役の組み合わせを当選とする内部抽選用の乱数の値は、固まってしまうこととなる。これに対して、ソフトウェアによる加工で内部抽選用の乱数の周期性を失わせ、その値をバラつかせることによって、遊技者による狙い打ちを可能な限り防ぐことができる。
【０５８９】
しかも、乱数発生回路４２のカウンタ４２ｂ、４２ｃの値を更新させるためにパルス発生回路４２ａが発生するパルス信号の周波数は、ＣＰＵ４１ａの動作クロックの周波数よりも高く、整数倍ともなっていない。このため、乱数発生回路４２が発生する乱数の更新が、ＣＰＵ４１ａが行う処理と同期しにくくなる。しかも、パルス発生回路４２ａのパルス信号の周波数の方を高くすることで、乱数発生回路４２が発生する乱数の更新速度を非常に速いものとすることができる。
【０５９０】
一方、ソフトウェアによる乱数の加工は、サンプリング回路４３により乱数発生回路４２から抽出した乱数の上位バイトと下位バイトとを入れ替えるだけで良い。従って、１６ビットという比較的大きな乱数であっても、周期性を失わせるために必要な加工の処理に要する負荷がそれほど大きくならず、容易に取得することができる。このように大きな乱数が取得できることで、内部抽選における確率設定を細かく行うことができるようになる。
【０５９１】
しかも、乱数発生回路４２のカウンタ４２ｂ、４２ｃの値を更新させるためにパルス発生回路４２ａが発生するパルス信号の周波数は、ＣＰＵ４１ａの動作クロックの周波数よりも高く、整数倍ともなっていない。このため、乱数発生回路４２が発生する乱数の更新が、ＣＰＵ４１ａが行う処理と同期しにくくなる。しかも、パルス発生回路４２ａのパルス信号の周波数の方を高くすることで、乱数発生回路４２が発生する乱数の更新速度を非常に速いものとすることができる。
【０５９２】
以上、本発明の実施例１を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０５９３】
以下に、前記実施例１の変形例について説明する。
【０５９４】
まず、異常入賞判定に関する変形例について説明する。
【０５９５】
図５７〜図５９は、図１２に示す異常入賞判定処理の変形例を示す図である。
【０５９６】
前記実施例１においては、図１２に示すように、内部当選フラグは、内部当選した役に該当するビットの値が１、それ以外のビットの値が０とされる。また、入賞図柄フラグは、入賞した役に該当するビットの値が１、それ以外のビットの値が０とされる。そして、内部当選フラグを全ビット反転させて、入賞図柄フラグとの論理積（ＡＮＤ）を算出し、その結果が００Ｈ（全ビットが０）となったときに正規入賞、００Ｈ以外（いずれかのビットが１）となったときに異常入賞と判定している。
【０５９７】
これに対して、図５７に示すように、前記実施例１と同様に、内部当選フラグを全ビット反転した値と、入賞図柄フラグとの論理積（ＡＮＤ）を算出した後に、こうして算出した値の全ビットを更に反転させて、その結果がＦＦＨ（全ビットが１）となったときに正規入賞、ＦＦＨ以外（いずれかのビットが０）となったときに異常入賞と判定しても良い。
【０５９８】
また、図５８に示すように、内部当選フラグと、入賞図柄フラグを全ビット反転した値との論理和（ＯＲ）を算出した後に、こうして算出した値の全ビットを更に反転させて、その結果が００Ｈ（全ビットが０）となったときに正規入賞、００Ｈ以外（いずれかのビットが１）となったときに異常入賞と判定しても良い。この場合には、実施例１と同様に、演算結果が００Ｈか否か、すなわち演算結果が０か否かを示すFレジスタのゼロフラグの値を確認するのみで、異常入賞か否かを判定することができる。
【０５９９】
また、図５９に示すように、内部当選フラグと、入賞図柄フラグを全ビット反転した値との論理和（ＯＲ）を算出し、その結果がＦＦＨ（全ビットが１）となったときに正規入賞、ＦＦＨ以外（いずれかのビットが０）となったときに異常入賞と判定しても良い。
【０６００】
このように図５７〜図５９に示す異常入賞判定の変形例においても、内部当選フラグまたは内部当選フラグを反転した値と入賞図柄フラグまたは入賞図柄フラグを反転した値とを論理和演算または論理積演算した結果が、０以外の値であるか否か、または１以外の値であるか否か、を判定するのみで異常入賞か否かを判定することが可能となり、従来のように成立している役の当選フラグのビットをわざわざ特定して、その特定したビットの値を確認する必要もないので、異常入賞か否かの判定を行う際の処理も簡略化することができる。
【０６０１】
尚、図５８、図５９の場合においては、入賞に伴って設定される入賞図柄フラグを予め全ビット反転させておけば、すなわち、入賞した役に該当するビットの値が０、それ以外のビットの値が１となるように入賞図柄フラグを設定するようにしておけば、異常入賞判定処理における入賞図柄フラグの全ビットを反転させるステップは不要となる。
【０６０２】
また、図５７、図５９の場合において、演算結果がＦＦＨか否かを判定する際に、演算結果に１を加算し、加算後の値がオーバーフローした場合に演算結果がＦＦＨであると判定し、オーバーフローしなかった場合に演算結果がＦＦＨ以外であると判定することが好ましく、このようにした場合には、演算結果がオーバーフローしたか否かを示すFレジスタのキャリーフラグの値を確認するのみで異常入賞か否かを判定することが可能となる。
【０６０３】
一方、前記実施例１のように、内部当選フラグは、内部当選した役に該当するビットの値が１、それ以外のビットの値が０とされ、また、入賞図柄フラグは、入賞した役に該当するビットの値が１、それ以外のビットの値が０とされる場合において、いずれのフラグも全ビットを反転させずに異常入賞を判定する変形例について説明する。
【０６０４】
この変形例においては、内部当選フラグを異常入賞判定用フラグとして適用する。そして、内部当選フラグの各々のビットの値から、入賞図柄フラグにおける同じ位置のビットの値を減算し、すべてのビットにおいて減算結果が負の数とならなかったことを条件に、異常入賞か否かを判定する。例えば、内部当選フラグの第０ビットの値から、入賞図柄フラグの第０ビットの値を減算して、減算結果が負の数となったかを判定し、負の数とならなかった場合には、次のビット、すなわち内部当選フラグの第１ビットの値から、入賞図柄フラグの第１ビットの値を減算してその結果を判定していき、最終的に第０ビットから第１５ビットまでのすべてにおいて、減算結果が負の数とならなかったことを条件に、異常入賞でない旨を判定する。
【０６０５】
このようにした場合には、演算結果が負の数となったか否かを示すFレジスタのサインフラグの値を確認するのみで異常入賞か否かを判定することが可能となる。更には、これまでの実施例及び変形例のように、内部当選フラグと入賞図柄フラグのいずれのフラグもビットを反転せずに異常入賞か否かを判定することが可能となる。
【０６０６】
次に、内部抽選の結果から異常入賞判定用データを設定する方法の変形例について説明する。
【０６０７】
前記実施例１では、当選番号に対応する内部当選フラグの値が格納された番号／フラグ変換テーブル（図１３）を利用して当選番号に応じた内部当選フラグに変換し、更に内部当選フラグを反転することで異常入賞判定用データを設定しているが、例えば、当選番号に対応する異常入賞判定用データの値そのものが格納された番号／フラグ変換テーブルを利用して当選番号に応じた異常入賞判定用データに直接変換するようにしても良く、このようにした場合には、当選番号に対応して番号／フラグ変換テーブルに格納されているデータを参照するのみの簡単な手順で、異常入賞判定用フラグを設定することができる。
【０６０８】
また、この場合には、番号／フラグ変換テーブルに当選番号に応じた異常入賞判定用データに加えて、チャレンジボーナス用の異常入賞判定用フラグを格納しておくことで、チャレンジボーナス中以外では、当選番号に対応して番号／フラグ変換テーブルに格納されているデータを参照し、チャレンジボーナス中には、番号／フラグ変換テーブルに格納されているチャレンジボーナス用の異常入賞判定用フラグを参照するのみの簡単な手順で、異常入賞判定用フラグを設定することができる。
【０６０９】
また、当選番号の値を用いた演算によって内部当選フラグを算出し、更に内部当選フラグを反転することで異常入賞判定用データを設定するようにしても良い。
【０６１０】
図６０（ａ）〜（ｄ）は、内部抽選の結果を演算を用いて内部当選フラグに変換する方法の一例を示す図である。
【０６１１】
図６０（ａ）、図６０（ｂ）は、それぞれ一般役の当選番号と、特別役の当選番号の構成を示しており、前記実施例１と同様の構成である。
【０６１２】
図６０（ｃ）は、内部当選フラグの構成を示しており、当選した役に該当するビットの位置が前記実施例１と異なっている。具体的には、第０ビットがビッグボーナス（１）、第１ビットがビッグボーナス（２）、第３ビットがチャレンジボーナスに対応しており、第８ビットがチェリー、第９ビットがベル、第１０ビットがリプレイに対応している。第３〜７、第１１〜１５ビットはいずれの役にも対応していない。そして、それぞれの役に対応するビットの位置は、当選番号に応じた位置となっている。
【０６１３】
すなわち一般役の当選番号が１であるチェリーは内部当選フラグにおける上位８ビットの１ビット目に対応し、一般役の当選番号が２であるベルは内部当選フラグにおける上位８ビットの２ビット目に対応し、一般役の当選番号が３であるベルは内部当選フラグにおける上位８ビットの３ビット目に対応している。また、特別役の当選番号が１であるビッグボーナス（１）は内部当選フラグにおける下位８ビットの１ビット目に対応し、特別役の当選番号が２であるビッグボーナス（２）は内部当選フラグにおける下位８ビットの２ビット目に対応し、特別役の当選番号が３であるチャレンジボーナスは内部当選フラグにおける下位８ビットの３ビット目に対応している。
【０６１４】
図６０（ｄ）は、内部当選フラグを格納する処理の流れを示すフローチャートである。
【０６１５】
まず、図６０（ａ）に示す一般役の当選番号に基づいて、図６０（ｃ）に示す内部当選フラグの上位８ビットを格納する処理Ｓｉ１０１〜Ｓｉ１０８のステップを実施して、次に、図６０（ｂ）に示す特別役の当選番号に基づいて、図６０（ｃ）に示す内部当選フラグの下位８ビットを格納する処理Ｓｉ１０９〜Ｓｉ１１６のステップを実施する。
【０６１６】
ＣＰＵ４１ａは、まずＨレジスタをクリア（００Ｈを格納）し（Ｓｉ１０１）、Ａレジスタに一般役格納ワーク（iwin_gen）の値（一般役の当選番号）を格納し（Ｓｉ１０２）、Ｓｉ１０３のステップに進む。
【０６１７】
Ｓｉ１０３のステップでは、一般役格納ワーク（iwin_gen）の値が格納されたＡレジスタ同士の論理和（ＯＲ）を算出し、Ｓｉ１０４のステップで算出結果が０であるか否かを判定している。算出結果が０である場合には、すなわち一般役格納ワーク（iwin_gen）の値が０である場合には、Ｓｉ１０９のステップに進み、算出結果が０でない場合、すなわち一般役格納ワーク（iwin_gen）の値が０以外の１〜３である場合には、Ｓｉ１０５のステップに進む。
【０６１８】
Ｓｉ１０５のステップでは、Ｈレジスタに０１Ｈをセットして、Ｓｉ１０７にジャンプする。
【０６１９】
Ｓｉ１０７のステップでは、Ａレジスタから１を減算し、Ｓｉ１０８のステップで算出結果が０であるか否かを判定している。算出結果が０である場合にはＳｉ１０９のステップに進み、算出結果が０でない場合にはＳｉ１０６のステップに進む。
【０６２０】
Ｓｉ１０６のステップでは、Ｈレジスタの値を１ビット分左にシフトする。Ｓｉ１０６のステップは、Ｓｉ１０７とＳｉ１０８のステップによって、一般役格納ワーク（iwin_gen）の値が格納されたＡレジスタの値が０となるまで、［iwin_genの値−１］回実施される、すなわち一般役格納ワーク（iwin_gen）の値が１であれば０回、２であれば１回、３であれば２回実施される。
【０６２１】
この結果、Ｈレジスタには、一般役格納ワーク（iwin_gen）の値が１であれば０１Ｈが、２であれば０２Ｈが、３であれば０４Ｈが格納される。これは、一般役格納ワーク（iwin_gen）の値に対応した内部当選フラグの上位８ビットの値となっている。尚、一般役格納ワーク（iwin_gen）の値が０の場合には、Ｓｉ１０１において設定された００ＨがＨレジスタに格納されている。
【０６２２】
同様に、Ｓｉ１０９〜Ｓｉ１１６のステップにより、特別役格納ワーク（iwin_bonus）の値（特別役の当選番号）に対応した内部当選フラグの下位８ビットの値が、Ｌレジスタに格納される。
【０６２３】
最後に、Ｓｉ１１７のステップに進み、ＨＬレジスタの値を内部当選フラグ格納ワーク（iwin_flag）に格納する。
【０６２４】
以上のように、ＲＯＭ４１ｂに番号／フラグ変換テーブル（図１３）を格納していない場合にも、当選番号（特別役の当選番号及び一般役の当選番号）の値を用いて演算を行うのみで内部当選フラグが設定されて、この内部当選フラグが内部当選フラグ格納ワーク（iwin_flag）に格納される。
【０６２５】
そして、このようにして取得した内部当選フラグの各ビットの１と０を反転する演算を行うことで、異常入賞判定用フラグを得られることとなる。よって、このようにすれば、特別役格納ワーク（iwin_bonus）の値と、一般役格納ワーク（iwin_gen）の値と、を用いて演算を行うのみで内部当選フラグ、異常入賞判定用フラグの双方を作成することができるうえに、内部抽選の結果と内部当選フラグや異常入賞判定用フラグとの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【０６２６】
また、上記では、内部抽選の結果を演算によりまず内部当選フラグに変換し、更に反転させる演算を行うことにより異常入賞判定用フラグを設定しているが、内部抽選の結果を演算により直接異常入賞判定用フラグに変換するようにしても良く、この場合においても、特別役格納ワーク（iwin_bonus）の値と、一般役格納ワーク（iwin_gen）の値と、を用いて演算を行うのみで異常入賞判定用フラグを作成することができるうえに、内部抽選の結果と異常入賞判定用フラグとの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【０６２７】
次に、内部抽選に用いる判定値数の格納方法、内部抽選の抽選方法等の変形例について説明する。
【０６２８】
前記実施例１では、内部抽選に用いる判定値数が記憶されるＲＡＭ４１ｃの判定値数記憶領域は、２バイトの領域を用いて、それぞれの場合における判定値数を記憶するものとしていた。もっとも、一般的なスロットマシンでは、特別役の判定値数は、いずれの遊技状況においても２５５を超えるものが設定されることはあまりない。このように２５５を超える判定値数を設定する必要がないものについては、１バイトの領域だけを用いて、判定値数を記憶するものとしても良い。
【０６２９】
また、前記実施例１では、判定値数が設定値に関わらず共通のものについて、その一部を設定値１〜６の全体に共通して記憶しているが、判定値数が設定値に関わらず共通のものについても、設定値１〜６のそれぞれに対して個別に記憶することもできる。また、判定値数が設定値に関わらず共通のものは、その全てを設定値１〜６の全体に共通して記憶することもできる。
【０６３０】
また、前記実施例１では、判定値数が、設定値１〜６の全体に共通して記憶されているか、設定値１〜６のそれぞれに対して個別に記憶されているかであった。もっとも、設定値１〜６の全体に共通して判定値数が記憶されない（設定値についての共通フラグが設定されない）ものとして、例えば、設定値１〜３については判定値数が共通、設定値４〜６については判定値数が共通のものとすることもできる。
【０６３１】
また、前記実施例１では、同一の設定値における同一の役または役の組み合わせについて遊技状態（状態番号）に応じて参照される判定値数が遊技状態（状態番号）のそれぞれに対して異なるアドレスに格納されていた。すなわち同一の設定値における同一の役または役の組み合わせについて遊技状態（状態番号）に応じて参照される判定値数が同じであっても個別に記憶されていたが、遊技状態（状態番号）に関わらず当選確率を同一とするものとした役または役の組み合わせについて、判定値数の格納先のアドレスを共通化したり、設定値及び遊技状態（状態番号）に関わらず当選確率を同一とするものとした役または役の組み合わせについて、判定値数の格納先のアドレスを共通化するようにしても良く、このように判定値数を共通化して格納することで、そのために必要な記憶容量が少なくて済むようになる。
【０６３２】
また、前記実施例１では、設定値等に応じて取得した判定値数を内部抽選用の乱数の値に順次加算していたが、取得した判定値数を取得した内部抽選用の乱数の値から順次減算して、減算の結果を新たな内部抽選用の乱数の値とするものとしても良い。判定値数を内部抽選用の乱数の値から減算するときには、減算の結果にオーバーフロー（ここでは、減算結果がマイナスとなること）が生じたかどうかを判定するものとすることができる。
【０６３３】
また、前記実施例１では、内部抽選において、取得した内部抽選用の乱数の値に遊技状態に応じた各役または役の組み合わせの判定値数を順次加算していき、加算結果がオーバーフローしたときに当該役または役の組み合わせを当選と判定するものとしていた。これに対して、遊技状態に応じた各役または役の組み合わせの判定値数に応じて、各役または役の組み合わせを当選と判定する判定値の範囲を定めた当選判定用テーブルをゲーム毎に作成し、取得した内部抽選用の乱数の値を各役または役の組み合わせの判定値の範囲と比較することで、内部抽選を行うものとしても良い。また、各役または役の組み合わせを当選と判定する判定値の範囲を定めた当選判定用テーブルを予めＲＯＭ４１ｂに格納しておき、取得した内部抽選用の乱数の値を各役の判定値の範囲と比較することで、内部抽選を行うものとしても良い。
【０６３４】
また、前記実施例では、通常遊技状態において、賭数として３を設定することのみによりゲームを開始させることができた。これに対して、通常遊技状態においても、賭数として１を設定してゲームを開始させることをできるようにしたり、更には賭数として２を設定してゲームを開始させることをできるようにしても良い。これにより、通常遊技状態で賭数として１または２が設定されていたときには、賭数として３が設定されたときよりも内部抽選における小役の当選確率を低下させるともに、小役に入賞したときの払い出しメダル枚数を増加させることができる。例えば、通常遊技状態で賭数として３が設定されたときには、ベルの当選確率を１／４．８２、払出枚数を７枚とするが、賭数として１または２が設定されたときには、ベルの当選確率を１／４．８２よりも低くし、払出枚数を７枚よりも多くしても良い。更に賭数として１が設定されたときと２が設定されたときとで、ベルの当選確率及び払出枚数を変えても良い。
【０６３５】
次に、内部抽選用の乱数の取得方法についての変形例について説明する。
【０６３６】
前記実施例１では、乱数発生回路４２から抽出した乱数の上位バイト全体を下位バイトで置換し、下位バイト全体を上位バイトで置換するという入れ替えを行っていた。これに対して、乱数発生回路４２から抽出した乱数のビットのうちの特定のビットのデータを他のビットのデータで置換するだけであっても良い。また、乱数発生回路４２から抽出した乱数の値を、そのまま内部抽選用の乱数として取得するものとしても良い。更に、実施例１とは異なる方法により内部抽選用の乱数に加工するものとしても良い。
【０６３７】
図６１は、乱数発生回路４２から抽出した乱数をＣＰＵ４１ａがソフトウェアにより内部抽選用の乱数に加工するまでの処理の第１の変形例の説明図である。この第１の変形例でも、乱数発生回路４２から抽出された乱数は、ＣＰＵ４１ａが有する１６ビットの汎用レジスタであるＨＬレジスタに格納されるものとなる。
【０６３８】
乱数発生回路４２から抽出された乱数がＨＬレジスタに格納されると、ＣＰＵ４１ａは、更に内部のリフレッシュレジスタ（Ｒレジスタ）の値を加工用の乱数として抽出する。ＣＰＵ４１ａは、ＨＬレジスタの上位バイトの値（上位カウンタ４２ｃから抽出した値）にＲレジスタから抽出した加工用の乱数を加算する。ＨＬレジスタの下位バイトの値（下位カウンタ４２ｂから抽出した値）は、そのままにしておく。そして、ＣＰＵ４１ａは、このときにＨＬレジスタに格納されている値を内部抽選用の乱数とし、これに判定値数を順次加算していくものとなる。
【０６３９】
図６２は、乱数発生回路４２から抽出した乱数をＣＰＵ４１ａがソフトウェアにより内部抽選用の乱数に加工するまでの処理の第２の変形例の説明図である。この例でも、乱数発生回路４２から抽出された乱数は、ＣＰＵ４１ａが有する１６ビットの汎用レジスタであるＨＬレジスタに格納されるものとなる。
【０６４０】
乱数発生回路４２から抽出された乱数がＨＬレジスタに格納されると、ＣＰＵ４１ａは、更に内部のＲレジスタの値を加工用の乱数として抽出する。ＣＰＵ４１ａは、ＨＬレジスタの上位バイトの値（上位カウンタ４２ｃから抽出した値）にＲレジスタから抽出した加工用の乱数を加算する。また、ＨＬレジスタの下位バイトの値（下位カウンタ４２ｂから抽出した値）にもＲレジスタから抽出した加工用の乱数を加算する。そして、ＣＰＵ４１ａは、このときにＨＬレジスタに格納されている値を内部抽選用の乱数とし、これに判定値数を順次加算していくものとなる。
【０６４１】
以上説明した第１、第２の変形例では、Ｒレジスタの値を加工用の乱数として抽出し、これを乱数発生回路４２から抽出した乱数の上位バイト（第２変形例では、更に下位バイト）に加算して、乱数の加工を行うものとしている。ここで適用した乱数の加工には、少なくとも加工用の乱数を上位バイトに加算する処理を含んでいる。これにより、内部抽選用の乱数のバラツキを大きくすることができ、遊技者による狙い打ちを可能な限り防ぐことができる。
【０６４２】
また、加工用の乱数をＲレジスタから抽出するものとしたことで、加工用の乱数を生成する手段として特別な構成が必要ない。しかも、Ｒレジスタの値は、ＣＰＵ４１ａの命令フェッチ毎に更新されるもので、その更新間隔は一定しないので、ランダム性の高い乱数を加工用の乱数として抽出することができる。そして、加工用の乱数のランダム性が高いことから、これを用いて生成される内部抽選用の乱数のランダム性も高くなる。
【０６４３】
尚、上記第１、第２の変形例において、乱数発生回路４２から抽出した乱数の上位バイト（及び下位バイト）にＲレジスタから抽出した値を加算していたが、Ｒレジスタ以外でハードウェアまたはソフトウェアにより周期的に更新される値を加算しても良い。また、Ｒレジスタから抽出した値（或いは、Ｒレジスタに代わるものの値）を加算するのではなく、減算や、論理和、論理積などの論理演算を行っても良い。
【０６４４】
また、前記実施例で示した上位バイトと下位バイトとの入れ替えのようなビットの置換を、第１、第２の変形例に併用するものとしても良い。上記第１、第２の変形例においても、乱数発生回路４２からの乱数の抽出から加工を終了するまでの間は、ＨＬレジスタの内容が書き換えられてしまうのを防ぐため、ＣＰＵ４１ａに対する割り込みが禁止されるものとなる。
【０６４５】
また、第２の変形例においては、乱数発生回路４２から抽出した乱数の上位バイトと下位バイトにそれぞれ加算する加工用の乱数を、Ｒレジスタから異なるタイミングで別々に抽出しても良い。上位バイトに加算する加工用の乱数を更新する手段と、下位バイトに加算する加工用の乱数を更新する手段とを別々に用意し、それぞれから上位バイト用、下位バイト用の加工用の乱数を抽出する手段を設けるものとしても良い。この場合において、上位バイト用の加工用の乱数を更新する手段と下位バイト用の加工用の乱数を更新する手段の一方をＲレジスタによって構成するものとすることができる。
【０６４６】
また、前記実施例では、乱数発生回路４２が発生する乱数、すなわちハードウェア乱数機能により抽出した乱数をソフトウェアにより加工する場合に本発明を適用した場合について説明した。しかしながら、上記したソフトウェアによる乱数の加工は、ソフトウェアにより周期的に更新される乱数に適用しても良い。例えば、メイン制御部４１を構成するマイクロコンピュータとは別の第２のマイクロコンピュータにおいてタイマ割り込みなどにより周期的に更新される乱数を、ＣＰＵ４１ａが第２のマイクロコンピュータに指示を送って抽出させ、Ｉ／Ｏポート４１ｄを介してＣＰＵ４１ａに入力して、ＨＬレジスタに格納するものとすることができる。第２のマイクロコンピュータの機能は、メイン制御部４１を構成するマイクロコンピュータに含まれていても良い。この場合にも、加工後に取得される乱数の値をバラつかせることができるようになり、遊技者による狙い打ちの防止の効果を図ることができる。
【０６４７】
また、上記では、抽出した乱数も加工後の乱数もＣＰＵ４１ａが備える汎用レジスタ（ＨＬレジスタ）に格納し、内部抽選では、この汎用レジスタに格納された値に、各役の判定値数を順次加算していく構成としているが、加工後を乱数、すなわち取得した乱数をＲＡＭ４１ｃに格納し、ＲＡＭ４１ｃに格納された値に、各役の判定値数を順次加算していく構成としても良い。
【０６４８】
次に、リールの停止制御の変形例について説明する。
【０６４９】
前記実施例１では、停止操作位置に対する引込コマ数を定めた複数の停止制御テーブルに従ってリールの停止制御を行っているが、停止操作位置に対する停止位置を定めた複数の停止位置特定テーブルを停止制御テーブルの替わりに用いて、停止操作が検出された際に、停止位置特定テーブルを参照し、停止操作位置に対応して特定される停止位置でリールを停止させる制御を行うようにしても良い。
【０６５０】
また、停止位置に対する停止優先度を定めることにより、停止操作位置（リール基準位置からのステップ数）に対して停止位置を定めた複数の停止優先テーブルを停止制御テーブルの替わりに用いて、停止操作が検出された際に、停止優先テーブルを参照し、停止操作位置から引込可能範囲（最大５コマ）内にある全ての停止位置の停止優先度を比較し、最も停止優先度の高い停止位置でリールを停止させる制御を行うようにしても良い。
【０６５１】
また、内部抽選の結果、リールの停止状況（及び停止済みのリールの停止位置または停止済みのリールの停止操作位置）に対して定められた引込コマ数を選択し、停止操作が行われた際に、選択された引込コマ数の範囲内に対象となる停止位置が位置する場合には、当該停止位置を引き込んで停止させる引込制御を行い、停止が禁止された停止位置を停止させないように他の停止位置を引き込んで停止させる蹴飛ばし制御（いわゆるコントロール方式の制御）を行うようにしても良い。
【０６５２】
また、内部抽選の結果、リールの停止状況（及び停止済みのリールの停止位置または停止済みのリールの停止操作位置）に対応して定められた停止制御パターンを選択し、その停止制御パターンに従ってリールの停止制御を行うものであれば、停止制御テーブルによるリールの停止制御、停止優先テーブルによるリールの停止制御、引込制御及び蹴飛ばし制御によるリールの停止制御を併用して行うものであっても良く、例えば、最初に停止したリールのみ停止制御テーブルを用いてリールの停止制御を行い、他のリールについては、引込制御及び蹴飛ばし制御によりリールの停止制御を行うようにしても良い。
【０６５３】
また、前記実施例１では、内部抽選の結果に対して停止制御用データが一意的に定められているが、例えば、一の内部抽選の結果に対して複数の停止制御用データが定められていても良く、この場合には、抽選などによっていずれか１つの停止制御用データを選択すればよい。
【０６５４】
次に、賭数の設定やクレジットの精算の禁止制御についての変形例について説明する。
【０６５５】
また、前記実施例１では、ビッグボーナス入賞時においてゲーム終了後、ＢＢ入賞時演出待ち時間が経過するまでの期間、打止機能が無効に設定されている場合のビッグボーナス終了時においてゲーム終了後、エンディング待ち時間が経過するまでの期間、打止機能が有効に設定されている場合のビッグボーナス終了時においてエンディング待ち時間の経過後、店員によるリセット操作がなされて打止状態が解除されるまでの期間、のいずれにおいても賭数の設定が禁止されるようになっているが、少なくともこれらいずれか１つ以上の期間において賭数の設定が禁止されるものであれば良い。
【０６５６】
また、前記実施例１のスロットマシン１では、打止機能を搭載しているが、打止機能を搭載しないスロットマシンに適用しても良い。
【０６５７】
また、前記実施例１においてＢＢ入賞時演出の演出用待ち時間とＢＢ終了時演出の演出用待ち時間とは、同一の時間であっても良いし、異なる時間であっても良い。
【０６５８】
また、前記実施例１では、入賞時に賭数の設定が一定期間（ＢＢ入賞時演出の演出用待ち時間）禁止される移行入賞として、ビッグボーナス入賞のみを適用しているが、その他の特別役（チャレンジボーナス入賞等）を適用しても良いし、複数種類の特別役に適用しても良い。更に、同一種類の特別役であってもその中で更にビッグボーナス入賞やチャレンジボーナス入賞が複数種類（例えば、当該ボーナス入賞を構成する図柄の組合せ、当該ボーナス入賞を構成する図柄の色、の一方または双方が異なるものや、当該ボーナス入賞を契機とするボーナス中に獲得が期待できるメダル数等、ボーナス中の制御が異なるもの等）からなる場合には、これらのうち特定のボーナス入賞のみ、入賞時に賭数の設定が一定期間禁止されるようにしても良い。また、特別役の種類（ビッグボーナス入賞とチャレンジボーナス入賞）、ビッグボーナス入賞やチャレンジボーナス入賞の種類に応じて、入賞時に賭数の設定が禁止される期間が異なるようにしても良い。そして、賭数の設定が禁止される期間に応じて実行時間の異なるボーナス入賞時の演出を実行するようにしても良い。
【０６５９】
また、前記実施例１では、終了時に賭数の設定が一定期間（エンディング演出の演出用待ち時間）禁止される特別遊技状態として、ビッグボーナスのみを適用しているが、その他の特別遊技状態（チャレンジボーナス等）を適用しても良いし、複数種類の特別遊技状態に適用しても良い。更に、同一種類の特別遊技状態であってもその中で更にビッグボーナスやチャレンジボーナスが複数種類（例えば、当該ボーナスへの移行契機となるボーナス入賞を構成する図柄の組合せ、当該ボーナスへの移行契機となるボーナス入賞を構成する図柄の色、の一方または双方が異なるものや、当該ボーナス中に獲得が期待できるメダル数等、ボーナス中の制御が異なるもの等）からなる場合には、これらのうち特定のボーナスのみ、終了時に賭数の設定が一定期間禁止されるようにしても良い。また、特別遊技状態の種類（ビッグボーナスとチャレンジボーナス）、ビッグボーナスやチャレンジボーナスの種類に応じて、終了時に賭数の設定が禁止される期間が異なるようにしても良い。そして、賭数の設定が禁止される期間に応じて実行時間の異なるエンディング演出を実行するようにしても良い。
【０６６０】
また、前記実施例１では、終了後にリセット操作がなされるまで賭数の設定が禁止される打止状態に制御される特別遊技状態として、ビッグボーナスのみを適用しているが、その他の特別遊技状態（チャレンジボーナス等）を適用しても良いし、複数種類の特別遊技状態に適用しても良い。更に、同一種類の特別遊技状態であってもその中で更にビッグボーナスやチャレンジボーナスが複数種類（例えば、当該ボーナスへの移行契機となるボーナス入賞を構成する図柄の組合せ、当該ボーナスへの移行契機となるボーナス入賞を構成する図柄の色、の一方または双方が異なるものや、当該ボーナス中に獲得が期待できるメダル数等、ボーナス中の制御が異なるもの等）からなる場合には、これらのうち特定のボーナスのみ、終了後に打止状態に制御されるようにしても良い。
【０６６１】
また、前記実施例１では、ビッグボーナスの終了条件が成立したゲームであっても、ゲームの終了が判定された時点で、クレジットの精算の禁止が解除され、賭数の設定が禁止される期間（エンディング演出の演出待ち時間）においても、クレジットの精算が可能であるが、例えば、ビッグボーナスの終了条件が成立したゲームにおいて、ゲームの終了が判定されてからの経過時間がエンディング演出の演出待ち時間に到達したときに打止状態に制御するとともに、ゲームの終了が判定されてからの経過時間がエンディング演出の演出待ち時間に到達するまで、賭数の設定及びクレジットの精算の双方を禁止し、経過時間がエンディング演出の演出待ち時間に到達した時点で、クレジットの精算の禁止のみを解除するようにしても良い。これにより、ビッグボーナスの終了条件が成立したゲームにおいて、ゲームの終了が判定されてからの経過時間がエンディング演出の演出待ち時間に到達するまでは、クレジットを精算できないが、その後の打止状態においては、打止状態の解除を待たずしてクレジットの精算が可能となるので、可能な限り遊技者の意志を反映して、遊技者所有のものとして記憶されているクレジット分のメダルの返却を受けることができる。これにより、特に、ビッグボーナスの終了時においてエンディング演出の演出待ち時間が経過した後、すぐに遊技を終了したい遊技者の意志を反映させてメダルの返却を受けることが可能となる。
【０６６２】
また、前記実施例１では、ゲーム終了時処理の終了によりゲームの終了が判定されるが、メダルの払出が終了することで、実質的にゲームは終了しているので、払出処理の終了によりゲームの終了が判定されるようにしても良い。すなわち払出処理の終了時点からクレジットの精算が可能となる構成としても良い。
【０６６３】
また、前記実施例１では、ＢＢ入賞時演出の演出待ち時間を計時する演出待ち時間用のタイマカウントと、エンディング演出の演出待ち時間を計時する演出待ち時間用のタイマカウントと、に共通のタイマカウンタを用いているが、これらのタイマカウンタを別個に備えるものであっても良い。
【０６６４】
次に、ＲＡＭ４１ｃの初期化についての変形例について説明する。
【０６６５】
前記実施例１において、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際には、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと初期化サイズを取得し、開始アドレスにポインタを設定し、初期化サイズを設定するとともに、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に初期化サイズを１減算するとともに、ポインタを１進める処理を、初期化サイズが０になるまで実行することで、初期化条件に応じたＲＡＭ４１ｃの領域を初期化しているが、初期化１〜４において初期化される領域を連続するアドレス領域に設定するとともに、初期化テーブルには、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスと、初期化１〜４の全てに共通する終了アドレスと、を登録しておき、ＣＰＵ４１ａがＲＡＭ４１ｃの初期化を行う際に、初期化テーブルを参照し、初期化条件に応じて初期化１〜４のいずれかに対応する開始アドレスを取得し、開始アドレスにポインタを設定するとともに、ポインタが設定された初期化アドレスから１バイトづつ該当するアドレスの領域を０クリアし、１バイトクリアする毎に、ポインタを進める処理を、初期化１〜４に共通の終了アドレスの領域がクリアされるまで実行することで、初期化条件に応じたＲＡＭ４１ｃの領域を初期化するようにしても良い。
【０６６６】
尚、この場合、１バイトクリアする毎に、ポインタが示すアドレスが終了アドレスであるかを判定し、終了アドレスであれば初期化を終了させるようにしても良いが、まず、初期化テーブルから取得した開始アドレスから共通の終了アドレスまでの初期化バイト数を計算して設定し、開始アドレスから１バイトクリアする毎に初期化バイト数を１減算するとともに、ポインタを１進める処理を、初期化バイト数が０になるまで実行し、初期化バイト数が０となった時点で終了アドレスの領域がクリアされたと判定し、初期化を終了することが好ましい。これは、ポインタが示すアドレスと終了アドレスを１バイト毎に比較する処理を行うよりも、初期化バイト数が０か否かを判定する処理の方が処理効率が高いからである。
【０６６７】
図６３（ａ）は、ＲＡＭ４１ｃの格納領域の変形例を示す図であり、図６３（ｂ）は、初期化テーブルの変形例を示す図であり、図６４は、初期化１の変形例を示すフローチャートである。
【０６６８】
図６３（ａ）に示すように、この変形例においては、ＲＡＭ４１ｃの格納領域が７Ｅ００（Ｈ）から、設定値ワーク、特別ワーク、重要ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域、使用中スタック領域の順番で割り当てられている。このため、初期化１、２、４のいずれを行った場合でも、初期化される領域が連続するアドレス領域となる。詳しくは、初期化１において初期化される領域は、使用中スタック領域を除く全ての領域、すなわち、設定値ワーク、特別ワーク、重要ワーク、非保存ワーク、一般ワーク、未使用領域、未使用スタック領域であり、これらの領域は、７Ｅ００（Ｈ）〜スタックポインタまでの連続するアドレス領域である。また、初期化２において初期化される領域は、一般ワーク、未使用領域、未使用スタック領域であり、これらの領域は、７Ｅ５３（Ｈ）〜スタックポインタまでの連続するアドレス領域である。また、初期化４において初期化される領域は、未使用領域、未使用スタック領域であり、これらの領域は、７Ｆ０５（Ｈ）〜スタックポインタまでの連続するアドレス領域である。尚、初期化２において一般ワーク、未使用領域、未使用スタック領域が初期化されるのに対して、初期化３では、非保存ワーク、未使用領域、未使用スタック領域が初期化されるので、初期化３において初期化される未使用領域及び未使用スタック領域は、連続するアドレス領域となるが、非保存ワークは連続しないアドレス領域となる。
【０６６９】
図６３（ｂ）に示すように、この変形例において適用する初期化テーブルには、初期化１〜４に対応して開始アドレスが登録されているとともに、初期化１〜４に共通する終了アドレスが登録されている。また、初期化３については、非保存ワークが連続しないアドレス領域となるので、非保存ワークの開始アドレスに対応して初期化サイズが登録されている。
【０６７０】
次に、図６４に示すフローチャートに基づいて、ＣＰＵ４１ａが実行する初期化１の変形例を説明する。
【０６７１】
この初期化１では、まず、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化１に対応して登録されている開始アドレスを読み出す（Ｓｒ１００１）。そして、読み出した開始アドレス（７Ｅ００（Ｈ））にポインタをセットする（Ｓｒ１００２）。次いで、ＲＯＭ４１ｂの初期化テーブルを参照し、初期化１〜４に共通の終了アドレスを読み出す（Ｓｒ１００３）。そして、Ｓｒ１００１で読み出した開始アドレス（７Ｅ００（Ｈ））からＳｒ１００３で読み出した終了アドレス（スタックポインタ）までのバイト数を計算し（Ｓｒ１００４）、計算したバイト数を初期化する領域のバイト数をセットする（Ｓｒ１００５）。そして、Ｓｒ１００２でセットされた開始アドレスからＳｒ１００５でセットされたバイト数にわたりデータをクリアするＲＡＭクリア処理を実行し（Ｓｒ１００６）、ＲＡＭクリア処理が終了すると、初期化１を終了してもとの処理に復帰する。
【０６７２】
また、初期化２、４の変形例は、図６４に示す初期化１の変形例とほぼ同様の処理であり、初期化テーブルに登録されている初期化２または初期化４の開始アドレスを取得し、開始アドレスから共通の終了アドレスまでのバイト数を計算し、開始アドレスから計算したバイト数にわたりデータをクリアする処理を行う。また、初期化３の変形例では、まず、初期化テーブルに登録されている非保存ワークの開始アドレスと初期化サイズを取得し、開始アドレスから初期化サイズ分のバイト数にわたりデータをクリアした後、初期化テーブルに登録されている未使用領域及び未使用スタック領域の開始アドレスを取得し、開始アドレスから共通の終了アドレスまでのバイト数を計算し、開始アドレスから計算したバイト数にわたりデータをクリアする処理を行う。
【０６７３】
上記のようなＲＡＭ４１ｃの初期化の変形例によれば、複数の初期化条件について、初期化テーブルに対応する開始アドレスとこれら複数の初期化条件に共通の終了アドレスのみを設定しておくことで、複数の初期化条件に対応する終了アドレスを個々に設定しておくことなく、複数の初期化条件に対応する領域を初期化することができるので、複数種類の初期化を行うためのプログラム容量を削減できる。
【０６７４】
次に、ＲＡＭ４１ｃに格納されているデータの異常判定等の変形例について説明する。
【０６７５】
前記実施例１では、電断割込処理においてＲＡＭ４１ｃのＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを格納し、復旧時においてＲＡＭ４１ｃのＲＡＭパリティが０か否かを判定することで、ＲＡＭ４１ｃのデータが正常か否かを判定しているが、もちろん電断割込処理においてＲＡＭ４１ｃのＲＡＭパリティが１となるようにＲＡＭパリティ調整用データを格納し、復旧時においてＲＡＭ４１ｃのＲＡＭパリティが１か否かを判定することで、ＲＡＭ４１ｃのデータが正常か否かを判定するようにしても良い。更には、電断割込処理においてＲＡＭ４１ｃの全ての領域のチェックサム（該当する領域に格納されているデータの排他的論理和）を計算し、特定の領域に格納するとともに、復旧時において、ＲＡＭ４１ｃのチェックサムが格納されている特定の領域を含む全ての領域のチェックサムを計算し、その結果が００ＨであればＲＡＭ４１ｃのデータが正常であると判定し、００ＨでなければＲＡＭ４１ｃのデータが異常であると判定するようにしても良い。
【０６７６】
これは、電断割込処理において正常にチェックサムが格納されていれば、復旧時において特定の領域を除く領域のチェックサムと特定の領域に格納されているデータ（電断時に計算したチェックサム）が同じ値をとるはずであり、特定の領域を除く領域のチェックサムと特定の領域に格納されているデータが一致するのであれば、双方のデータの排他的論理和を計算するとその結果が００Ｈとなるので、ＲＡＭ４１ｃのチェックサムが格納されている特定の領域を含む全ての領域のチェックサムを計算した結果が００Ｈであれば、ＲＡＭ４１ｃのデータが正常であると判定できるためである。
【０６７７】
尚、この場合にも、電断割込処理において、チェックサムを計算する前にいずれかのビットが１となる破壊診断用データ（例えば５ＡＨ）を所定のアドレスに格納し、復旧時においては、チェックサムが００Ｈか否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、チェックサムが００Ｈであり、かつ破壊診断用データも正常であることを条件に、ＲＡＭ４１ｃのデータが正常であると判定することが好ましい。ＲＡＭ４１ｃのデータが正常でなくても、全ての領域に００Ｈが格納されている場合には、起動時のチェックサムの判定により正常であると判定されてしまうが、停電時にいずれかのビットが１となる破壊診断用データを格納した後、チェックサムを計算し、特定の領域に格納しておくとともに、起動時にチェックサムの判定に加えて破壊診断用データのチェックも行うことで、例え、起動時において全ての領域が０クリアされてしまい、チェックサムが００Ｈとなり正常と判定された場合にも、破壊診断用データが停電時に格納された値と一致しなくなり、異常と判定されるため、ＲＡＭ４１ｃに格納されているデータの異常の判定精度を高めることができる。
【０６７８】
また、上記では、電断割込処理においてＲＡＭ４１ｃのＲＡＭパリティまたはチェックサムを計算し、ＲＡＭ４１ｃに格納するとともに、復旧時においてＲＡＭ４１ｃの全ての領域に基づいて計算したＲＡＭパリティが０であるか否か、またはＲＡＭ４１ｃの全ての領域に基づいて計算したチェックサムが００Ｈであるか否か、に基づいてＲＡＭ４１ｃのデータが正常か否かを判定しているが、電断割込処理においてＲＡＭ４１ｃのＲＡＭパリティまたはチェックサムを計算し、特定の領域に格納するとともに、復旧時においてＲＡＭ４１ｃの特定の領域を除くＲＡＭパリティまたはチェックサムを計算し、特定の領域に格納されているＲＡＭパリティまたはチェックサムとの比較結果が一致するか否かによってＲＡＭ４１ｃのデータが正常か否かを判定するようにしても良い。尚、この場合にも上記と同様に、ＲＡＭパリティやチェックサムを計算する前にいずれかのビットが１となる破壊診断用データを所定のアドレスに格納し、復旧時においては、ＲＡＭパリティやチェックサムが一致するか否かの判定に加えて、破壊診断用データが正常に格納されているか否かの判定を行い、ＲＡＭパリティやチェックサムが一致し、かつ破壊診断用データも正常であることを条件に、ＲＡＭ４１ｃのデータが正常であると判定することが好ましい。
【０６７９】
また、前記実施例１では、電断割込処理において破壊診断用データとして、５ＡＨをＲＡＭ４１ｃに格納しているが、０以外のデータを格納し、起動時に確認できるものであれば良く、このような構成であっても、起動時において全ての領域が０クリアされてしまった場合に破壊診断用データが停電時に格納された値と一致しなくなり、異常と判定されるため、ＲＡＭ４１ｃに格納されているデータの異常の判定精度を高めることができる。
【０６８０】
また、前記実施例１では、ＣＰＵ４１ａの起動時において、ＲＡＭ４１ｃのＲＡＭパリティを計算し、その結果が０であるか否かを判定し、ＲＡＭパリティが０であることを条件に破壊診断用データが正常に格納されているか否かの判定を行っているが、まず、破壊診断用データが正常に格納されているか否かを判定し、破壊診断用データが正常に格納されていることを条件に、ＲＡＭ４１ｃのＲＡＭパリティを計算し、その結果が０であるか否かを判定するようにしても良く、このようにすれば、破壊診断用データが正常に格納されていない場合には、ＲＡＭパリティを計算せずに、ＲＡＭ４１ｃのデータが異常である旨を判定することができる。
【０６８１】
また、前記実施例１では、メイン制御部４１の起動時においてのみＲＡＭ４１ｃのデータが正常か否かを判定しているが、その他の契機、例えば、１ゲーム毎に判定するようにしても良い。
【０６８２】
また、前記実施例１では、メイン制御部４１とは別個に設けられたリセット回路４９からのリセット信号に基づいてメイン制御部４１が起動するようになっているが、リセット回路をメイン制御部４１を構成するマイクロコンピュータが搭載していても良い。
【０６８３】
また、前記実施例１では、メイン制御部４１を構成するマイクロコンピュータにＲＡＭ４１ｃが搭載されているが、マイクロコンピュータの外部に当該マイクロコンピュータのワークとして用いるＲＡＭを搭載したものであっても良い。
【０６８４】
また、前記実施例１では、電断検出回路４８が、スロットマシン１に用いられる直流電圧を監視し、当該直流電圧が一定の電圧以下となったときに電断を検出しているが、例えば、当該直流電圧が一定の電圧以下となった期間が一定期間継続したときに電断を検出するようにしても良い。また、スロットマシン１に供給される交流電圧を監視し、交流電圧の波形の乱れを検出したとき、またはその期間が一定期間継続したときに電断を検出するようにしても良い。
【０６８５】
また、前記実施例１では、電断検出回路４８が、遊技制御基板４０に搭載されているが、その他の場所に搭載されていても良く、例えば、電源基板１００や電源基板１００から遊技制御基板４０への電源の供給ラインが経由する中継基板等に搭載されていても良い。
【０６８６】
また、前記実施例１では、各種エラー状態の内容をエラー状態に応じたエラーコードを遊技補助表示器１２に表示させることで、エラーを報知するようになっている。すなわち遊技制御部４１により制御される報知手段により報知されているが、これら遊技制御部４１により制御される報知手段に加えて、エラー状態を示すコマンドを演出制御部９１に対して送信し、演出制御部９１により制御される報知手段によりエラーの報知が行われるようにしても良いし、遊技制御部４１により制御される報知手段による報知を行わず、演出制御部９１により制御される報知手段によりエラーの報知が行われるようにしても良い。
【０６８７】
次に、スロットマシンの構成の変形例について説明する。
【０６８８】
前記実施例１では、メダル並びにクレジットを用いて賭数を設定するスロットマシンを用いているが、本発明はこれに限定されるものではなく、遊技球を用いて賭数を設定するスロットマシンや、クレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンであっても良い。
【０６８９】
更に、図６５に示すように、流路切替ソレノイド３０や投入メダルセンサ３１など、メダルの投入機構に加えて、遊技球の取込を行う球取込装置３０’、球取込装置３０’により取り込まれた遊技球を検出する取込球検出スイッチ３１’を設けるとともに、ホッパーモータ３４や払出センサ３５など、メダルの払出機構に加えて、遊技球の払出を行う球払出装置３４’、球払出装置３４’により払い出された遊技球を検出する払出球検出スイッチ３５’を設け、メダル及び遊技球の双方を用いて賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球が払い出されるスロットマシンに適用しても良い。
【実施例２】
【０６９０】
本発明が適用されたスロットマシンの実施例２を図面を用いて説明する。尚、本実施例のスロットマシンの構成は、前述した実施例１とほぼ共通であるため、ここでは異なる点について説明する。
【０６９１】
前記実施例１では、遊技状態がチャレンジボーナス以外の場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて、停止制御用データのインデックスデータの格納アドレスを特定し、遊技状態がチャレンジボーナスである場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号や一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号を用いずに、チャレンジボーナス用の値（INDEX_CB）を用いて、停止制御用データのインデックスデータの格納アドレスを特定していた。また、遊技状態がチャレンジボーナス以外の場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて、当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、更に００００Ｈを論理和した値を、異常入賞判定用フラグを作成するための内部当選フラグとして設定し、遊技状態がチャレンジボーナスである場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、更に、Ｃ０００Ｈ、すなわちチャレンジボーナス中において一律に許容される役に対応するビットの値に１が設定されている全小役当選フラグを論理和した値を、異常入賞判定用フラグを作成するための内部当選フラグとして設定していた。
【０６９２】
これに対して本実施例では、内部抽選の終了時に、遊技状態がチャレンジボーナス中か否かを判定し、チャレンジボーナス中である場合には、一般役格納ワーク（iwin_gen）の値を、チャレンジボーナス中用の当選番号（チャレンジボーナス中において一律に許容される役全ての当選を示す当選番号）に更新する。
【０６９３】
そして、遊技状態に関わらず特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号、及び／または一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号を用いて、停止制御用データのインデックスデータの格納アドレスを特定するようになっている。この際、遊技状態がチャレンジボーナスである場合には、一般役格納ワーク（iwin_gen）にチャレンジボーナス中用の当選番号が格納されているので、チャレンジボーナス用の停止制御用データのインデックスデータの格納アドレスが特定されることとなる。
【０６９４】
また、遊技状態に関わらず、特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、その変換した値が異常入賞判定用フラグを作成するための内部当選フラグとして設定されるようになっている。この際、遊技状態がチャレンジボーナスである場合には、一般役格納ワーク（iwin_gen）にチャレンジボーナス中用の当選番号、すなわちチャレンジボーナス中に一律に許容される役の当選を示す当選番号が格納されているので、チャレンジボーナス中において一律に許容される役の当選を示す内部当選フラグが設定されることとなる。
【０６９５】
以下に、前記実施例１と異なる構成について詳細に説明していく。
【０６９６】
前記実施例１では、一般役格納ワーク（iwin_gen）に格納される一般役の当選番号として、一般役のハズレを示す００Ｈ、チェリーの当選を示す０１Ｈ、ベルの当選を示す０２Ｈ、リプレイの当選を示す０３Ｈの４種類が定められていたが、本実施例では、図６６に示すように、これらの４種類の当選番号に加えて全ての小役、すなわちチェリー及びベルの双方の当選を示す０４Ｈが定められている。
【０６９７】
本実施例では、内部抽選の結果に基づいて一般役の当選番号が格納されるが、その後チャレンジボーナス中か否かを判定し、チャレンジボーナス中であれば、一般役の当選番号を全小役対応の０４Ｈに更新するようになっている。尚、チャレンジボーナス中以外には、一般役の当選番号として０４Ｈが格納されることはない。
【０６９８】
本実施例において特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号（００〜０３Ｈ）と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号（００〜０４Ｈ）との組み合わせは２０であるが、一般役の当選番号のうち全小役対応の当選番号は、チャレンジボーナス中においてのみ一般役格納ワーク（iwin_gen）に格納される当選番号であり、チャレンジボーナス中は、常に特別役の当選番号が０となるため、実際に取りうる組み合わせは、５（＝１×５、特別役の当選番号が０のときに５種類の一般役の当選番号）＋１２（＝３×４、特別役の当選番号が１〜３のときに４種類の一般役の当選番号）で１７となり、ＲＯＭ４１ｂには、これら１７の当選番号の組み合わせのそれぞれに対応して、１６種類の停止制御用データを特定可能な１７のインデックスデータ（先頭アドレス）が記憶されている。
【０６９９】
そして、遊技状態に関わらず、１７の当選番号の組み合わせに対応するインデックスデータ（先頭アドレス）から特定される停止制御用データが選択され、選択された停止制御用データに基づいてリールの停止制御が行われることとなる。
【０７００】
ここで、本実施例のＲＯＭ４１ｂにおける停止制御用データの格納状況について説明する。
【０７０１】
本実施例のＲＯＭ４１ｂには、図６７に示すように、停止制御用データを参照するためのインデックスデータが格納されたインデックス領域が２つ（インデックス領域とインデックス領域２）と、停止制御用データが格納された領域（以下、データ領域と称す）と、が設けられている。尚、インデックス領域２の先頭アドレスは［１０００Ｈ］であり、ctrldata_index2とも表記される。また、インデックス領域の先頭アドレスは［１００ＡＨ］であり、ctrldata_indexとも表記される。
【０７０２】
データ領域には、前記実施例１と同様に１６種類の停止制御用データが格納されている。
【０７０３】
また、インデックス領域及びインデックス領域２には、図６７に示すように、データ領域に格納されている１６種類の停止制御用データのインデックスデータのいずれかが、１７個の当選番号の組み合わせのいずれかに対応付けてそれぞれ格納されている。
【０７０４】
これらインデックス領域における１７種類のインデックスデータの格納順序について説明すると、まず、インデックス領域２において、特別役の当選番号が０、一般役の当選番号が０、１、２、３、４であるときの５種類の組み合わせに対応する停止制御用データのインデックスデータを、一般役の当選番号が小さい組み合わせ順に５個格納する。その後、同様に、インデックス領域において、特別役の当選番号が１、２、３であるときに、各々一般役の当選番号が０、１、２、３であるときの４種類の組み合わせに対応する停止制御用データの先頭アドレスを４個ずつ合計１２個格納する。最終的に、インデックス領域及びインデックス領域２には、合計１７個の停止制御用データのインデックスデータが格納される。このうち特別役の当選番号０、一般役の当選番号４の組み合わせに対応してチャレンジボーナス中に用いる停止制御用データのインデックスデータが格納されている。
【０７０５】
このため本実施例では、遊技状態に関わらず、特別役の当選番号が０、すなわちいずれの特別役にも当選していない場合には、一般役格納ワーク（iwin_gen）に格納されている値（一般役の当選番号）を用いて演算［ctrldata_index2＋２×一般役の当選番号］を行うことにより、当選番号の組み合わせに対応する停止制御用データのインデックスデータが格納されている格納領域のアドレスを特定し、その停止制御用データを取得できるようになっている。
【０７０６】
また、特別役の当選番号が１〜３、すなわちいずれかの特別役に当選している場合には、特別役格納ワーク（iwin_bonus）に格納されている値（特別役の当選番号）と一般役格納ワーク（iwin_gen）に格納されている値（一般役の当選番号）とを用いて演算［ctrldata_index＋２×｛４×（特別役の当選番号−１）＋一般役の当選番号｝］を行うことにより、当選番号の組み合わせに対応する停止制御用データのインデックスデータが格納されている格納領域のアドレスを特定し、その停止制御用データを取得できるようになっている。
【０７０７】
次に、本実施例における内部当選フラグの変換について説明する。
【０７０８】
本実施例においてＣＰＵ４１ａは、内部抽選の終了後、その結果を示す特別役の当選番号と一般役の当選番号の各々を、予めＲＯＭ４１ｂに格納された番号／フラグ変換テーブルに基づいて、内部抽選で当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換する。そして、変換した値を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納する。特に、チャレンジボーナス中においては、一般役の当選番号として全小役の当選を示す０４Ｈが格納されるので、全ての小役に対応するビットの値に１がセットされた内部当選フラグに変換されることとなる。すなわち本実施例では、遊技状態がチャレンジボーナス中か否かに関わらず、共通の処理で内部当選フラグを設定することが可能となる。
【０７０９】
本実施例では、特に図示しないが、一般役用の番号／フラグ変換テーブルと、特別役用の番号／フラグ変換テーブルとが設けられている。本実施例では、一般役用の番号／フラグ変換テーブルには、一般役の当選番号が５種類の値をとることから、各々の一般役の当選番号に対応する５個の内部当選フラグが、当選番号が小さい順につまり、０、１、２、３、４の順に、２アドレス（２バイト）ずつ合計１０アドレス（１０バイト）のデータが格納されている。特に、チャレンジボーナス中にのみ格納される当選番号であり、チャレンジボーナス中に一律に許容される全ての役の当選を示す当選番号４に対応するアドレスには、チャレンジボーナス中に一律に許容される全ての役（チェリー、ベル）に対応するビットの値が１となる［Ｃ０００Ｈ］が、上位８ビットである［Ｃ０Ｈ］と、下位８ビットである［００Ｈ］とに分けて格納されている。尚、特別役用の番号／フラグ変換テーブルは前記実施例１と同様であるが、一般役用の番号／フラグ変換テーブルに当選番号４に対応するデータが格納されているので、特別役用の番号／フラグ変換テーブルの先頭アドレス（iwflag_table_b）は、［２００ＡＨ］となる。
【０７１０】
このように本実施例では、チャレンジボーナス中において、一般役格納ワーク（iwin_gen）にチャレンジボーナス中にのみ格納される当選番号であり、チャレンジボーナス中に一律に許容される全ての役の当選を示す当選番号４が格納されるとともに、一般役用の番号／フラグ変換テーブルに当選番号４に対応するデータが格納されているので、一般役用の番号／フラグ変換テーブルからの変換後の値を更に遊技状態に応じたデータ（［００００Ｈ］や全小役当選フラグである［Ｃ０００Ｈ］）を論理和する必要がなく、変換後の値を、そのまま内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納することができる。
【０７１１】
図６８は、本実施例においてＣＰＵ４１ａが実行する内部抽選処理の制御内容を示すフローチャートである。
【０７１２】
本実施例の内部抽選処理では、チャレンジボーナス中である場合に一般役の当選番号を全小役対応の値（０４Ｈ）に更新する点が前記実施例１と異なる。このため、本実施例では、前記実施例１のフローチャート（図３５）にＳｇ２２、Ｓｇ２３のステップを追加している。
【０７１３】
ＣＰＵ４１ａは、まず、Ｓｇ１〜Ｓｇ２０までのステップにおいて、前記実施例１と同様の乱数値に基づく抽選処理を実施する。この結果、チャレンジボーナス中か否かを考慮せずに、抽選が実施されて、その結果が特別役格納ワーク（iwin_bonus）、一般役格納ワーク（iwin_gen）に格納される。
【０７１４】
そして、抽選終了後、Ｓｇ２２のステップに進み、チャレンジボーナス中か否かを判定し、チャレンジボーナス中の場合にはＳｇ２３のステップに進み、チャレンジボーナス中以外の場合にはＳｇ２１のステップに進む。
【０７１５】
Ｓｇ２３のステップでは、全小役対応の当選番号である０４ＨをＲＡＭ４１ｃの一般役格納ワーク（iwin_gen）に格納して、Ｓｇ２１のステップに進む。
【０７１６】
Ｓｇ２１のステップでは、一般役格納ワーク（iwin_gen）の値、すなわち一般役の当選番号をＢレジスタに格納して処理を終了する。
【０７１７】
以上のように本実施例では、遊技状態に応じて対象となる役または役の組み合わせの抽選を行った後、チャレンジボーナス中か否かを判定し、チャレンジボーナス中である場合には、一般役格納ワーク（iwin_gen）の値を、内部抽選での一般役の当選結果に関わらず、一義的に全小役対応の当選番号０４Ｈに書き換えるようになっている。
【０７１８】
図６９は、本実施例においてＣＰＵ４１ａが実行する停止制御用データ選択処理の制御内容を示すフローチャートである。
【０７１９】
本実施例では、内部抽選処理において、チャレンジボーナス中の場合に、チャレンジボーナス中のみ設定される一般役の当選番号４が一般役格納ワーク（iwin_gen）に格納されるので、前記実施例１のように停止制御用データ選択処理において、チャレンジボーナス中か否かによって異なる処理を行う必要がない。このため、本実施例では、前記実施例１のフローチャート（図３７）におけるチャレンジボーナス中であるか否かに応じた処理であるＳｈ１〜Ｓｈ７のステップを省略している。また、特別役が持ち越されていない場合において一般役の当選番号から停止制御用データのインデックスデータを算出するための演算が前記実施例１と異なるため、Ｓｈ２２〜Ｓｈ２８のステップを追加している。
【０７２０】
前記実施例１において、ＣＰＵ４１ａは、Ｓｈ８〜Ｓｈ１０のステップを実施して、Ａレジスタにiwin_bonus（特別役の当選番号）の値を格納して（Ｓｈ８）、Ａレジスタ同士を加算し（Ｓｈ９）、再度Ａレジスタ同士を加算し（Ｓｈ１０）、その後、Ｂレジスタに格納されているiwin_gen（一般役の当選番号）の値をＡレジスタに加算することで、Ａレジスタに［４×特別役の当選番号＋一般役の当選番号］を格納している。
【０７２１】
しかしながら、本実施例においては、図６７に示すように、特別役格納ワーク（iwin_bonus）の値が０であるか、１〜３であるかに応じて、Ａレジスタに格納する値と、インデックス領域の先頭アドレスを変更する必要がある。
【０７２２】
そこで、Ｓｈ２２のステップでは、特別役格納ワーク（iwin_bonus）の値が格納されたＡレジスタ同士の論理和（ＯＲ）を算出し、Ｓｈ２３のステップで算出結果が０であるか否かを判定している。算出結果が０である場合には、すなわち特別役格納ワーク（iwin_bonus）の値が０である場合には、Ｓｈ２４のステップに進み、算出結果が０でない場合、すなわち特別役格納ワーク（iwin_bonus）の値が０以外の１〜３である場合には、Ｓｈ２８のステップに進む。
【０７２３】
Ｓｈ２４のステップでは、すなわち特別役格納ワーク（iwin_bonus）の値が０である場合には、Ｂレジスタに格納されている一般役格納ワーク（iwin_gen）の値（一般役の当選番号）をＡレジスタに加算することで、Ａレジスタに［０＋一般役の当選番号］を格納している。以降に続くＳｈ２５〜Ｓｈ２７のステップは、前記実施例１におけるＳｈ１２〜Ｓｈ１４のステップと同様の処理内容である。但し、Ｓｈ２７のステップにおいてＨＬレジスタに格納する停止制御用データのインデックス領域の先頭アドレスは、図６７におけるインデックス領域２の先頭アドレス（ctgrldata_index2）とされている。
【０７２４】
一方、Ｓｈ２８のステップでは、すなわち特別役格納ワーク（iwin_bonus）の値が０以外の１〜３である場合には、特別役格納ワーク（iwin_bonus）の値（特別役の当選番号）が格納されたＡレジスタから１を減算し（Ｓｈ２８）、Ａレジスタ同士を加算し（Ｓｈ９）、再度Ａレジスタ同士を加算し（Ｓｈ１０）、その後、Ｂレジスタに格納されている一般役格納ワーク（iwin_gen）の値（一般役の当選番号）をＡレジスタに加算することで、Ａレジスタに［４×（特別役の当選番号−１）＋一般役の当選番号］を格納している（Ｓｈ１１）。以降に続くＳｈ１２〜Ｓｈ２１のステップは、前記実施例１と同様である。
【０７２５】
以上のように、本実施例の停止制御用データ選択処理では、遊技状態に関わらず、当選番号（特別役の当選番号及び／または一般役の当選番号）に基づいて停止制御用データの先頭アドレスが選択されて、このアドレスが停止制御用データ格納ワーク（ctrldata_ptr）に格納される。
【０７２６】
図７０は、本実施例においてＣＰＵ４１ａが実行する当選フラグ格納処理の制御内容を示すフローチャートである。
【０７２７】
本実施例では、当選フラグ格納処理において、チャレンジボーナス中の場合に、チャレンジボーナス中のみ設定される一般役の当選番号４が一般役格納ワーク（iwin_gen）に格納されるので、前記実施例１のように当選フラグ格納処理において、チャレンジボーナス中か否かによって異なる処理を行う必要がない。このため、本実施例では、前記実施例１のフローチャート（図３８）におけるＳｉ１７〜Ｓｉ２０のステップを省略している。尚、ステップの追加はない。
【０７２８】
以上のように、本実施例の当選フラグ格納処理では、遊技状態に関わらず、当選番号（特別役の当選番号及び一般役の当選番号）が、当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換され、変換後の値が当該ゲームにおいて許容されている入賞を示す内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納される。
【０７２９】
以上説明したように、本実施例のスロットマシンでは、いずれか１つの特別役または一般役が当選しているか、特別役及び一般役の双方が当選しているか、に関わらず、特別役の抽選結果に対してそれぞれ１ずつ増加する特別役の当選番号と、一般役の抽選結果に対してそれぞれ１ずつ増加する一般役の当選番号と、が設定されるので、これら２種類の値に基づいてインデックス領域のアドレス（特別役の当選番号が０の場合には［ctrldata_index2＋２×一般役の当選番号］、特別役の当選番号が０以外の場合には［ctrldata_index＋２×｛４×（特別役の当選番号−１）＋一般役の当選番号｝］）が算出され、その算出されたインデックス領域のアドレスを先頭とする格納領域に格納されたインデックスデータから特定される停止制御用データを、当該ゲームの停止制御用データとして選択すれば良く、停止制御用データを選択する際に、従来のように全ての入賞についての当選フラグのビットを確認せずに済むので、停止制御用データを選択する際の処理を簡略化することができる。
【０７３０】
また、特別役の当選番号及び一般役の当選番号が、１ずつ増加する値、すなわちｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞たい対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、停止制御用データを特定するためのテーブルインデックスのアドレスを簡単な計算で算出することが可能となる。特に、本実施例のようにテーブルインデックスがインデックス領域に等間隔に格納されているものにあっては、一層簡単な計算でテーブルインデックスのアドレスを算出することができる。また、内部抽選の結果とインデックスデータの格納アドレスとの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【０７３１】
尚、本実施例では、いずれの特別役も持ち越されていない場合には、一般役格納ワーク（iwin_gen）に格納されている値を用いて［ctrldata_index2＋２×一般役の当選番号］の演算を行い、いずれかの特別役が持ち越されている場合には、特別役格納ワーク（iwin_bonus）に格納されている値と、一般役格納ワーク（iwin_gen）に格納されている値と、を用いて［ctrldata_index＋２×｛４×（特別役の当選番号−１）＋一般役の当選番号｝］の演算を行うことにより、内部抽選の結果に対応する停止制御用データのインデックスデータの格納アドレスを特定している。すなわち特別役が持ち越されているか否かによって異なる演算を行っているが、一のアドレス（ctrldata_index）から始まるインデックス領域に特別役の当選番号（０、１、２、３）のそれぞれに対応付けて一般役の当選番号（０、１、２、３、４、５）と組み合わせた際のテーブルインデックスを順に格納しておき、常に［ctrldata_index＋２×（５×特別役の当選番号＋一般役の当選番号）］の演算を行うことで、内部抽選の結果に対応する停止制御用データのインデックスデータの格納アドレスを特定できるようにしても良く、このようにした場合には、特別役が持ち越されているか否かに関わらず、特別役の当選番号と一般役の当選番号とを用いて演算を行うのみで停止制御用データのインデックスデータの格納アドレスを特定することができる。すなわち常に共通の方法で停止制御用データのインデックスデータの格納アドレスを特定することが可能となる。
【０７３２】
また、全ての小役（チェリー、ベル）が一律に許容されるチャレンジボーナス中には、内部抽選により対象となる役が当選したか否かに関わらず、チャレンジボーナス中のみ設定される当選番号であり、チャレンジボーナス中において一律に許容される全ての小役の当選を示す一般役の当選番号が一般役格納ワーク（iwin_gen）に格納されるので、停止制御用データを選択する場合には、遊技状態に関わらず、当選番号（特別役の当選番号及び／または一般役の当選番号）に基づいて共通の処理で、停止制御用データのインデックスデータを特定することが可能となり、異常入賞判定用データを作成するための内部当選フラグを設定する場合にも、遊技状態に関わらず、当選番号（特別役の当選番号及び／または一般役の当選番号）に基づいて共通の処理で、内部当選フラグを設定することが可能となる。すなわちチャレンジボーナスに制御されているか否かに関わらず、停止制御用データのインデックスデータを選択する処理や、内部当選フラグを設定する処理、異常入賞の判定処理など、内部抽選後の処理を共通化することが可能となるので、遊技状態の違いによってこれらの処理が複雑化してしまうことがない。
【０７３３】
以上、本発明の実施例２を図面により説明してきたが、本発明はこの実施例２に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例１と同一もしくは類似する構成（例えば、異常入賞判定の構成など）については、実施例１で説明したものと同様の効果を有するものである。また、実施例１について例示した変形例についても実施例２に適用可能である。
【０７３４】
例えば、前記実施例２では、前記実施例１と同様に当選番号に対応する内部当選フラグの値が格納された番号／フラグ変換テーブル（図１３）を利用して当選番号に応じた内部当選フラグに変換し、更に内部当選フラグを反転することで異常入賞判定用データを設定しているが、図６０に示す方法と同様にして、当選番号の値を用いた演算によって内部当選フラグを算出し、更に内部当選フラグを反転することで異常入賞判定用データを設定するようにしても良い。尚、前記実施例２においては、チャレンジボーナス中において全小役を示す値が一般役の当選番号として設定されるが、この場合には、チャレンジボーナス中以外において一般役が当選した場合と同様の一般役の当選番号を用いて演算を行っても全小役を示す内部当選フラグに変換できないので、チャレンジボーナス中の場合（一般役格納ワーク（iwin_gen）に０４Ｈが格納されている場合）には、例外的に演算を行わず、全小役に対応する内部当選フラグ（図６０（ｃ）に示す内部当選フラグの場合には、一般役に対応する上位８ビットの値が０３Ｈ、すなわちチェリーに対応する第０ビット及びベルに対応する第１ビットが１となる値）に直接変換すれば良い。
【０７３５】
このようにすれば、少なくともチャレンジボーナス以外の遊技状態であれば、特別役格納ワーク（iwin_bonus）の値と、一般役格納ワーク（iwin_gen）の値と、を用いて演算を行うのみで内部当選フラグ、異常入賞判定用フラグの双方を作成することができるうえに、内部抽選の結果と内部当選フラグや異常入賞判定用フラグとの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【０７３６】
また、上記では、内部抽選の結果を演算によりまず内部当選フラグに変換し、更に反転させる演算を行うことにより異常入賞判定用フラグを設定しているが、内部抽選の結果を演算により直接異常入賞判定用フラグに変換するようにしても良く、この場合においても、特別役格納ワーク（iwin_bonus）の値と、一般役格納ワーク（iwin_gen）の値と、を用いて演算を行うのみで異常入賞判定用フラグを作成することができるうえに、内部抽選の結果と異常入賞判定用フラグとの対応関係を定めたテーブルデータも必要ないので、プログラム容量を削減することもできる。
【実施例３】
【０７３７】
本発明が適用されたスロットマシンの実施例３について説明する。尚、本実施例のスロットマシンの構成は、前述した実施例１とほぼ共通であるため、ここでは異なる点について説明する。
【０７３８】
前記実施例１では、一般役格納ワーク（iwin_gen）に格納される一般役の当選番号として、一般役のハズレを示す００Ｈ、チェリーの当選を示す０１Ｈ、ベルの当選を示す０２Ｈ、リプレイの当選を示す０３Ｈの４種類が定められていたが、本実施例では、前記実施例２と同様に、一般役のハズレを示す００Ｈ、チェリーの当選を示す０１Ｈ、ベルの当選を示す０２Ｈ、リプレイの当選を示す０３Ｈ、全小役の当選を示す０４Ｈの５種類が定められている。
【０７３９】
また、本実施例では、前記実施例２と同様に内部抽選の終了時に、遊技状態がチャレンジボーナス中か否かを判定し、チャレンジボーナス中である場合には、一般役格納ワーク（iwin_gen）の値を、チャレンジボーナス中用の当選番号（チャレンジボーナス中において一律に許容される役全ての当選を示す当選番号）に更新する。
【０７４０】
また、前記実施例１では、遊技状態がチャレンジボーナス以外の場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて、停止制御用データのインデックスデータの格納アドレスを特定し、遊技状態がチャレンジボーナスである場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号や一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号を用いずに、チャレンジボーナス用の値（INDEX_CB）を用いて、停止制御用データのインデックスデータの格納アドレスを特定し、特定した格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようにしていた。
【０７４１】
これに対して本実施例では、一般役格納ワーク（iwin_gen）に全小役の当選を示す０４Ｈが格納されているか否かを判定し、０４Ｈが格納されていない場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて、停止制御用データのインデックスデータの格納アドレスを特定し、０４Ｈが格納されている場合には、インデックス領域の一番最後に格納されている停止制御用データの先頭アドレスを特定するための値（INDEX_CB＝１６）を用いて［ctrldata_index＋２×INDEX_CB］を算出することで、チャレンジボーナス用の停止制御用データの格納アドレスを特定し、これら特定した格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようになっている。尚、一般役格納ワーク（iwin_gen）に全小役の当選を示す０４Ｈが格納されていると判定された場合に、［INDEX_CB＝１６］を用いた演算を行ってチャレンジボーナス用の停止制御用データの格納アドレスを特定するのではなく、プログラム上に記載されたチャレンジボーナス用の停止制御用データの格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようにしても良い。
【０７４２】
また、前記実施例１では、遊技状態がチャレンジボーナス以外の場合には、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて、当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、更に００００Ｈを論理和した値を、異常入賞判定用フラグを作成するための内部当選フラグとして設定し、遊技状態がチャレンジボーナスである場合には、特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号（必ず００Ｈとなる）と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号（必ず００Ｈとなる）とを用いて当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、更に、Ｃ０００Ｈ、すなわちチャレンジボーナス中において一律に許容される役に対応するビットの値に１が設定されている全小役当選フラグを論理和した値を、異常入賞判定用フラグを作成するための内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納していた。
【０７４３】
これに対して本実施例では、前記実施例２と同様に番号／フラグ変換テーブルに全小役の当選を示す一般役の当選番号４に対応するデータが格納されているとともに、内部抽選の結果として特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号とを用いて、番号／フラグ変換テーブルに基づいて、当選している役に対応するビットの値に１がセットされた１６ビットの２進数値に変換し、変換した値を内部当選フラグとして内部当選フラグ格納ワーク（iwin_flag）に格納するようになっている。
【０７４４】
以上説明したように、本実施例では、一般役格納ワーク（iwin_gen）に全小役の当選を示す０４Ｈが設定されていない場合には、いずれか１つの特別役または一般役が当選しているか、特別役及び一般役の双方が当選しているか、に関わらず、＋１ずつ増加する値であり、特別役格納ワーク（iwin_bonus）に格納されている特別役の当選番号と一般役格納ワーク（iwin_gen）に格納されている一般役の当選番号との組み合わせ、すなわち内部抽選の結果に対して一意的に割り当てられた値［４×特別役の当選番号＋一般役の当選番号］が設定されるとともに、この値に基づいてインデックス領域のアドレス［ctrldata_index＋２×｛４×（特別役の当選番号−１）＋一般役の当選番号｝］が算出され、その算出されたインデックス領域のアドレスを先頭とする格納領域に格納されたインデックスデータから特定される停止制御用データを、当該ゲームの停止制御用データとして選択すれば良く、停止制御用データを選択する際に、従来のように全ての入賞についての当選フラグのビットを確認せずに済むので、停止制御用データを選択する際の処理を簡略化することができる。
【０７４５】
また、内部抽選の結果に対して一意的に割り当てられた値が、１ずつ増加する値、すなわちｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞たい対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、停止制御用データを特定するためのテーブルインデックスのアドレスを簡単な計算で算出することが可能となる。特に、本実施例のようにテーブルインデックスがインデックス領域に等間隔に格納されているものにあっては、一層簡単な計算でテーブルインデックスのアドレスを算出することができる。一方、本実施例では、特別役の当選番号、一般役の当選番号が、各々１ずつ増加する値であるので、これらの値から内部抽選の結果に対して一意的に割り当てられた値についても簡単に算出することが可能となる。
【０７４６】
また、一般役格納ワーク（iwin_gen）に全小役の当選を示す０４Ｈが設定されている場合には、チャレンジボーナス用の停止制御用データを一義的に選択すれば良いので、全小役が一律に許容されるチャレンジボーナスであっても、停止制御用データを選択する際の処理が複雑化することがない。
【０７４７】
以上、本発明の実施例３を説明してきたが、本発明はこの実施例３に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例１や実施例２と同一もしくは類似する構成（例えば、異常入賞判定の構成など）については、実施例１や実施例２で説明したものと同様の効果を有するものである。また、実施例１や実施例２について例示した変形例についても実施例３に適用可能である。
【実施例４】
【０７４８】
本発明が適用されたスロットマシンの実施例４について説明する。尚、本実施例のスロットマシンの構成は、前述した実施例１とほぼ共通であるため、ここでは異なる点について説明する。
【０７４９】
前記実施例１では、内部抽選の結果として、特別役の当選番号が特別役格納ワーク（iwin_bonus）に格納され、一般役の当選番号が一般役一時格納ワーク（iwin_gen）に格納されていたが、本実施例では、特別役の当選結果と一般役の当選結果との組み合わせに対して一意的に定められた当選番号がＲＡＭ４１ｃに割り当てられた当選番号格納ワークに格納されるようになっている。
【０７５０】
詳しくは、当選番号として、いずれの特別役もいずれの一般役も当選していない旨を示す００Ｈ、いずれの特別役も当選していない状態でチェリー、ベル、リプレイが当選した旨を示す０１Ｈ、０２Ｈ、０３Ｈ、ビッグボーナス（１）が当選している状態で小役が当選していない旨を示す０４Ｈ、ビッグボーナス（１）が当選している状態でチェリー、ベル、リプレイが当選した旨を示す０５Ｈ、０６Ｈ、０７Ｈ、ビッグボーナス（２）が当選している状態で小役が当選していない旨を示す０８Ｈ、ビッグボーナス（２）が当選している状態でチェリー、ベル、リプレイが当選した旨を示す０９Ｈ、０ＡＨ、０ＢＨ、チャレンジボーナスが当選している状態で小役が当選していない旨を示す０ＣＨ、チャレンジボーナスが当選している状態でチェリー、ベル、リプレイが当選した旨を示す０ＤＨ、０ＥＨ、０ＦＨ、いずれの特別役も当選していない状態で全小役が当選した旨を示す１０Ｈが割り当てられている。
【０７５１】
そして、本実施例では、チャレンジボーナス以外の遊技状態においては、内部抽選の結果に応じて００Ｈ〜０ＦＨのいずれかの当選番号が当選番号格納ワークに設定される。また、チャレンジボーナスにおいては、内部抽選の結果に関わらず、いずれの特別役も当選していない状態で全小役が当選した旨を示す１０Ｈが当選番号として当選番号格納ワークに設定されるようになっている。
【０７５２】
また、本実施例では、前記実施例１と同様に、停止制御用データのインデックス領域に、、特別役の抽選結果と一般役の抽選結果とが取りうる１６の組み合わせに対応する１６個の停止制御用データの先頭アドレスを格納した後、チャレンジボーナス中において用いる停止制御用データの先頭アドレスを格納している。
【０７５３】
本実施例では、当選番号格納ワークに格納されている当選番号を用いて、停止制御用データのインデックスデータの格納アドレス［ctrldata_index＋２×当選番号］を算出することで、当選番号に対応する停止制御用データの格納アドレスを特定し、特定した格納アドレスを停止制御用データ格納ワーク（ctrldata_ptr）に格納することでその停止制御用データを取得できるようになっている。特に、チャレンジボーナス中においては、当選番号として１０Ｈが設定されているため、チャレンジボーナス中において用いる停止制御用データの先頭アドレスを取得するようになっている。
【０７５４】
また、本実施例では、当選番号のそれぞれに対応して、当選している役に割り当てられたビットの値が１となり、当選していない役に割り当てられたビットの値が０となる内部当選フラグが格納された変換テーブルを有し、変換テーブルを用いて当選番号から内部当選フラグに変換され、内部当選フラグ格納ワーク（iwin_flag）に格納されるようになっている。そして、前記実施例１と同様に内部当選フラグの全ビットの値を反転して異常入賞判定用フラグに変換し、異常入賞の判定処理を行うようになっている。
【０７５５】
尚、当選番号のそれぞれに対応して、当選している役に割り当てられたビットの値が０となり、当選していない役に割り当てられたビットの値が１となる異常入賞判定用フラグが格納された変換テーブルを有し、変換テーブルを用いて当選番号から異常入賞判定用フラグに直接変換し、異常入賞の判定処理に用いるようにしても良い。
【０７５６】
また、当選番号を用いて演算を行うことによりその当選番号を異常入賞判定用フラグに変換し、異常入賞の判定処理に用いるようにしても良い。この場合には、例えば、図６０に示す内部当選フラグの構成として、当選番号が００Ｈでは、特別役の当選フラグ及び一般役の当選フラグの全てのビットを０とし、０１Ｈ〜０３Ｈでは、特別役の当選フラグの全てのビットを０とし、一般役の最下位ビットの値を１として［当選番号−１］が示す値に応じて一般役の当選フラグのビットをシフトし、当選番号が０４Ｈ〜０７Ｈでは、特別役の当選フラグの最下位ビットを１とし、０４Ｈでは一般役の当選フラグの全てのビットを０とし、０５Ｈ〜０７Ｈでは［当選番号−４−１］が示す値に応じて一般役の当選フラグのビットをシフトし、当選番号が０８Ｈ〜０ＢＨでは、特別役の当選フラグの最下位ビットを１として更に特別役の当選フラグのビットを１シフトし、０８Ｈでは一般役の当選フラグの全てのビットを０とし、０９Ｈ〜０ＢＨでは［当選番号−８−１］が示す値に応じて一般役の当選フラグのビットをシフトし、当選番号が０ＣＨ〜０ＦＨでは、特別役の当選フラグの最下位ビットを１として更に特別役の当選フラグのビットを２シフトし、０ＣＨでは一般役の当選フラグの全てのビットを０とし、０ＤＨ〜０ＦＨでは［当選番号−１２−１］が示す値に応じて一般役の当選フラグのビットをシフトし、当選番号が１０Ｈでは、特別役の当選フラグの全てのビットを０とし、一般役の最下位ビットの値を１としたものと、一般役の最下位ビットの値を１として１シフトしたものと、を論理和する。そして、これらの演算により得られた内部当選フラグを全ビット反転したものを異常入賞判定用フラグとすれば良い。
【０７５７】
以上説明したように本実施例では、いずれか１つの特別役または一般役が当選しているか、特別役及び一般役の双方が当選しているか、に関わらず、＋１ずつ増加する値であり、内部抽選の結果に対して一意的に割り当てられた当選番号が設定されるとともに、この当選番号に基づいてインデックス領域のアドレス［ctrldata_index＋２×当選番号］が算出され、その算出されたインデックス領域のアドレスを先頭とする格納領域に格納されたインデックスデータから特定される停止制御用データを、当該ゲームの停止制御用データとして選択すれば良く、停止制御用データを選択する際に、従来のように全ての入賞についての当選フラグのビットを確認せずに済むので、停止制御用データを選択する際の処理を簡略化することができる。
【０７５８】
また、当選番号が、１ずつ増加する値、すなわちｎ（ｎは正の整数）ずつ規則的に増加する値であるため、従来のように当選した入賞たい対して割り当てられたビットを１とする当選フラグ、すなわち規則的に増加しない値を用いるよりも、停止制御用データを特定するためのテーブルインデックスのアドレスを簡単な計算で算出することが可能となる。特に、本実施例のようにテーブルインデックスがインデックス領域に等間隔に格納されているものにあっては、一層簡単な計算でテーブルインデックスのアドレスを算出することができる。
【０７５９】
また、チャレンジボーナス中においては、いずれの特別役も当選していない状態で全小役の当選を示す当選番号が設定されるので、遊技状態に関わらず、当選番号を用いて共通の処理でインデックスデータを選択したり、共通の処理で内部当選フラグに変換すれば良いこととなる。すなわち遊技状態に関わらず、これらインデックスデータを特定する処理や内部当選フラグに変換する処理、異常入賞の判定処理などを共通化することが可能となるので、遊技状態の違いによってこれらの処理が複雑化してしまうことがない。
【０７６０】
以上、本発明の実施例４を説明してきたが、本発明はこの実施例４に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例１や実施例２、実施例３と同一もしくは類似する構成（例えば、異常入賞判定の構成など）については、実施例１や実施例２、実施例３で説明したものと同様の効果を有するものである。また、実施例１や実施例２、実施例３について例示した変形例についても実施例４に適用可能である。
【符号の説明】
【０７６１】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４０  遊技制御基板
４１  メイン制御部
４１ａ  ＣＰＵ
４１ｂ  ＲＯＭ
４１ｃ  ＲＡＭ
４２  乱数発生回路
４３  サンプリング回路
９０  演出制御基板
９１  サブ制御部
９１ａ  ＣＰＵ
９１ｂ  ＲＯＭ
９１ｃ  ＲＡＭ
【図１】
2010279783.tif 000003
【図２】
2010279783.tif 000004
【図３】
2010279783.tif 000005
【図４】
2010279783.tif 000006
【図５】
2010279783.tif 000007
【図６】
2010279783.tif 000008
【図７】
2010279783.tif 000009
【図８】
2010279783.tif 000010
【図９】
2010279783.tif 000011
【図１０】
2010279783.tif 000012
【図１１】
2010279783.tif 000013
【図１２】
2010279783.tif 000014
【図１３】
2010279783.tif 000015
【図１４】
2010279783.tif 000016
【図１５】
2010279783.tif 000017
【図１６】
2010279783.tif 000018
【図１７】
2010279783.tif 000019
【図１８】
2010279783.tif 000020
【図１９】
2010279783.tif 000021
【図２０】
2010279783.tif 000022
【図２１】
2010279783.tif 000023
【図２２】
2010279783.tif 000024
【図２３】
2010279783.tif 000025
【図２４】
2010279783.tif 000026
【図２５】
2010279783.tif 000027
【図２６】
2010279783.tif 000028
【図２７】
2010279783.tif 000029
【図２８】
2010279783.tif 000030
【図２９】
2010279783.tif 000031
【図３０】
2010279783.tif 000032
【図３１】
2010279783.tif 000033
【図３２】
2010279783.tif 000034
【図３３】
2010279783.tif 000035
【図３４】
2010279783.tif 000036
【図３５】
2010279783.tif 000037
【図３６】
2010279783.tif 000038
【図３７】
2010279783.tif 000039
【図３８】
2010279783.tif 000040
【図３９】
2010279783.tif 000041
【図４０】
2010279783.tif 000042
【図４１】
2010279783.tif 000043
【図４２】
2010279783.tif 000044
【図４３】
2010279783.tif 000045
【図４４】
2010279783.tif 000046
【図４５】
2010279783.tif 000047
【図４６】
2010279783.tif 000048
【図４７】
2010279783.tif 000049
【図４８】
2010279783.tif 000050
【図４９】
2010279783.tif 000051
【図５０】
2010279783.tif 000052
【図５１】
2010279783.tif 000053
【図５２】
2010279783.tif 000054
【図５３】
2010279783.tif 000055
【図５４】
2010279783.tif 000056
【図５５】
2010279783.tif 000057
【図５６】
2010279783.tif 000058
【図５７】
2010279783.tif 000059
【図５８】
2010279783.tif 000060
【図５９】
2010279783.tif 000061
【図６０】
2010279783.tif 000062
【図６１】
2010279783.tif 000063
【図６２】
2010279783.tif 000064
【図６３】
2010279783.tif 000065
【図６４】
2010279783.tif 000066
【図６５】
2010279783.tif 000067
【図６６】
2010279783.tif 000068
【図６７】
2010279783.tif 000069
【図６８】
2010279783.tif 000070
【図６９】
2010279783.tif 000071
【図７０】
2010279783.tif 000072