(57)【要約】      （修正有）【課題】異常リセットからの復帰を迅速に行うことができると共に、乱数回路の信頼性を保つことができる遊技機を提供する。【解決手段】最大値設定回路６３２３_１６Ａ（Ｂ），６３２３_８Ａ（Ｂ）は、システムリセット信号発生手段にて発生させたシステムリセット信号で主制御手段がリセットされると、最大値を１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）にて更新される乱数の最大値として設定する一方、異常リセット信号発生手段にて発生させた異常リセット信号でリセットされると、該リセット前に設定された最大値が保持されてなる。【選択図】図５
2018183618.tif 000002
【特許請求の範囲】
【請求項１】
遊技動作を統括的に制御する主制御手段と、
所定の信号に基づいて、乱数を更新する乱数更新手段と、
前記乱数更新手段にて更新される乱数の最大値を設定する最大値設定手段と、
所定のプログラムが格納されるプログラム格納領域を含む記憶手段と、
前記記憶手段内のプログラム格納領域の最終アドレス番地を超えた領域にアクセスがされたことを検出して異常リセット信号を発生させる異常リセット信号発生手段と、
電源投入時にシステムリセット信号を発生させるシステムリセット信号発生手段と、
所定条件の成立に基づき、遊技に関する抽選を行う抽選手段と、
前記所定条件の成立時に、前記乱数更新手段から前記抽選に用いる乱数を取得する乱数取得手段と、を有し、
前記最大値設定手段は、前記システムリセット信号発生手段にて発生させたシステムリセット信号で前記主制御手段がリセットされると、最大値を前記乱数更新手段にて更新される乱数の最大値として設定する一方、
前記異常リセット信号発生手段にて発生させた異常リセット信号でリセットされると、該リセット前に設定された最大値が保持され、
前記抽選手段は、前記最大値設定手段にて設定された最大値が前記システムリセット信号に基づいて設定されたものか、あるいは、前記異常リセット信号に基づいて保持されたものかを確認することなく、前記乱数取得手段にて取得した乱数と所定の判定値に基づき抽選を行ってなる遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ機、アレンジボール機、雀球遊技機、スロットなどの遊技機に関し、より詳しくは、異常リセットからの復帰を迅速に行うことができると共に、乱数回路の信頼性を保つことができる遊技機に関する。
【背景技術】
【０００２】
従来のパチンコ機等の遊技機として、例えば特許文献１に記載のような遊技機が知られている。この遊技機は、内蔵乱数回路（乱数更新手段、例えば、ハードウェア乱数回路）に異常が発生するとその異常を報知することができるというものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８３４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のような遊技機は、異常リセットにおいても、内蔵乱数回路（乱数更新手段、例えば、ハードウェア乱数回路）がリセットされてしまい、それがために、当該乱数回路の設定が再度され、異常リセットからの復帰に少なからず時間がかかってしまうという問題があった。
【０００５】
そこで本発明は、上記問題に鑑み、異常リセットからの復帰を迅速に行うことができると共に、乱数回路の信頼性を保つことができる遊技機を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記本発明の目的は、以下の手段によって達成される。なお、括弧内は、後述する実施形態の参照符号を付したものであるが、本発明はこれに限定されるものではない。
【０００７】
請求項１の発明に係る遊技機によれば、遊技動作を統括的に制御する主制御手段（例えば、図３に示す主制御基板６０）と、
所定の信号（例えば、図５（ｂ）に示すクロック信号ＣＬＫ）に基づいて、乱数を更新する乱数更新手段（例えば、図５（ｂ）に示す１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ））と、
前記乱数更新手段（例えば、図５（ｂ）に示す１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ））にて更新される乱数の最大値を設定する最大値設定手段（例えば、図５（ｂ）に示す最大値設定回路６３２３_１６Ａ（Ｂ），６３２３_８Ａ（Ｂ））と、
所定のプログラムが格納されるプログラム格納領域（例えば、図１２に示すプログラム領域６１０ａ）を含む記憶手段（例えば、図３に示す主制御ＲＯＭ６１０）と、
前記記憶手段（例えば、図３に示す主制御ＲＯＭ６１０）内のプログラム格納領域（例えば、図１２に示すプログラム領域６１０ａ）の最終アドレス番地を超えた領域にアクセスがされたことを検出して異常リセット信号を発生させる異常リセット信号発生手段（例えば、図３に示すリセットコントローラ６４０）と、
電源投入時にシステムリセット信号を発生させるシステムリセット信号発生手段（例えば、図３に示すシステムリセット生成部１３２０）と、
所定条件の成立に基づき、遊技に関する抽選を行う抽選手段（例えば、図１９に示すステップＳ４０８）と、
前記所定条件の成立時に、前記乱数更新手段（例えば、図５（ｂ）に示す１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ））から前記抽選に用いる乱数を取得する乱数取得手段（例えば、図１８に示すステップＳ３０３）と、を有し、
前記最大値設定手段（例えば、図５（ｂ）に示す最大値設定回路６３２３_１６Ａ（Ｂ），６３２３_８Ａ（Ｂ））は、前記システムリセット信号発生手段（例えば、図３に示すシステムリセット生成部１３２０）にて発生させたシステムリセット信号で前記主制御手段（例えば、図３に示す主制御基板６０）がリセットされると、最大値を前記乱数更新手段（例えば、図５（ｂ）に示す１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ））にて更新される乱数の最大値として設定する一方、
前記異常リセット信号発生手段（例えば、図３に示すリセットコントローラ６４０）にて発生させた異常リセット信号でリセットされると、該リセット前に設定された最大値が保持され、
前記抽選手段（例えば、図１９に示すステップＳ４０８）は、前記最大値設定手段（例えば、図５（ｂ）に示す最大値設定回路６３２３_１６Ａ（Ｂ），６３２３_８Ａ（Ｂ））にて設定された最大値が前記システムリセット信号に基づいて設定されたものか、あるいは、前記異常リセット信号に基づいて保持されたものかを確認することなく、前記乱数取得手段（例えば、図１８に示すステップＳ３０３）にて取得した乱数と所定の判定値に基づき抽選を行ってなることを特徴としている。
【発明の効果】
【０００８】
本発明によれば、異常リセットからの復帰を迅速に行うことができると共に、乱数回路の信頼性を保つことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係る遊技機の外観を示す斜視図である。
【図２】同実施形態に係る遊技機の遊技盤の正面図である。
【図３】同実施形態に係る遊技機の制御装置を示すブロック図である。
【図４】図３に示す乱数回路を示すブロック図である。
【図５】（ａ）は図４に示す１６／８ビット乱数生成回路のブロック図、（ｂ）は図４に示す１６／８ビットカスタム乱数生成回路のブロック図である。
【図６】（ａ）は同実施形態に係る１６ビット乱数値レジスタの説明図、（ｂ）は同実施形態に係る８ビット乱数値レジスタの説明図、（ｃ）は同実施形態に係る１６ビットカスタム乱数値レジスタの説明図、（ｄ）は同実施形態に係る８ビットカスタム乱数値レジスタの説明図、（ｅ）は同実施形態に係る初期値設定レジスタの説明図である。
【図７】（ａ）は同実施形態に係る１６ビットカスタム乱数生成回路最大値設定レジスタの説明図、（ｂ）は同実施形態に係る８ビットカスタム乱数生成回路最大値設定レジスタの説明図である。
【図８】（ａ）は同実施形態に係る１６ビット乱数ラッチレジスタの説明図、（ｂ）は同実施形態に係る８ビット乱数ラッチレジスタの説明図、（ｃ）は同実施形態に係る１６ビットカスタム乱数ラッチレジスタの説明図、（ｄ）は同実施形態に係る８ビットカスタム乱数ラッチレジスタの説明図である。
【図９】同実施形態に係る乱数ラッチステータスレジスタの説明図である。
【図１０】同実施形態に係る乱数エラーステータスレジスタの説明図である。
【図１１】（ａ）は従来の方法で乱数回路の異常を報知する場合の画面例を示し、（ｂ）は本実施形態に係る方法で乱数回路の異常を報知する場合の画面例を示す図である。
【図１２】図３に示す主制御基板が備えるメモリ空間アドレスマップを示す図である。
【図１３】（ａ）は同実施形態に係るプログラムエンドアドレスの説明図であり、（ｂ）は（ａ）に示すプログラムエンドアドレスを使用した際、主制御ＲＯＭ内のプログラム領域がどのような領域に変化するかを説明する説明図である。
【図１４】同実施形態に係る主制御のメイン処理を説明するフローチャート図である。
【図１５】同実施形態に係る主制御のタイマ割込み処理を説明するフローチャート図である。
【図１６】図１５に示す主制御のタイマ割込み処理の普通図柄処理を説明するフローチャート図である。
【図１７】図１５に示す主制御のタイマ割込み処理の特別図柄処理を説明するフローチャート図である。
【図１８】図１７に示す始動口チェック処理を説明するフローチャート図である。
【図１９】図１７に示す特別図柄変動開始処理を説明するフローチャート図である。
【図２０】図１７に示す特別図柄変動中処理を説明するフローチャート図である。
【図２１】図１７に示す特別図柄確認時間中処理を説明するフローチャート図である。
【図２２】（ａ）は普通図柄の当否抽選を実行する際に使用される普通図柄当たり判定テーブルを示し、（ｂ）は特別図柄の当否抽選を実行する際に使用される特別図柄大当たり判定テーブルを示し、（ｃ）は特別図柄の当否抽選を実行する際に使用される特別図柄小当たり判定テーブルを示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明に係る遊技機の一実施形態を、パチンコ遊技機を例にして、図１〜図２２を参照して具体的に説明する。なお、以下の説明において、上下左右の方向を示す場合は、図示正面から見た場合の上下左右をいうものとする。
【００１１】
＜遊技機：外観構成＞
まず、図１及び図２を参照して、本実施形態に係るパチンコ遊技機の外観構成を説明する。
【００１２】
図１に示すように、パチンコ遊技機１は、木製の外枠２の前面に矩形状の前面枠３を開閉可能に取り付け、その前面枠３の裏面に取り付けられている遊技盤収納フレーム（図示せず）内に遊技盤４が装着された構成からなる。遊技盤４は、図２に示す遊技領域４０を前面に臨ませた状態で装着され、図１に示すようにこの遊技領域４０の前側に透明ガラスを支持したガラス扉枠５が設けられている。なお、上記遊技領域４０は、遊技盤４の面上に配設された球誘導レール６（図２参照）で囲まれた領域からなるものである。
【００１３】
一方、パチンコ遊技機１は、図１に示すように、ガラス扉枠５の下側に前面操作パネル７が配設され、その前面操作パネル７には上受け皿ユニット８が設けられ、この上受け皿ユニット８には、排出された遊技球を貯留する上受け皿９が一体形成されている。また、この前面操作パネル７には、球貸しボタン１１及びプリペイドカード排出ボタン１２（カード返却ボタン１２）が設けられている。そして、上受け皿９の上皿表面部分には、内蔵ランプ（図示せず）点灯時に押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置１３が設けられている。また、この上受け皿９には、当該上受け皿９に貯留された遊技球を下方に抜くための球抜きボタン１４が設けられている。
【００１４】
また一方、図１に示すように、前面操作パネル７の右端部側には、発射ユニットを作動させるための発射ハンドル１５が設けられ、その発射ハンドル１５の左側近傍及び前面枠３の上部両側面側には、ＢＧＭ（Ｂａｃｋｇｒｏｕｎｄ  ｍｕｓｉｃ）あるいは効果音を発するスピーカ１６が設けられている。そして、上記前面枠３の周枠には、ＬＥＤランプ等の装飾ランプが配設されている。
【００１５】
他方、上記遊技盤４の遊技領域４０には、図２に示すように、略中央部にＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）等からなる液晶表示装置４１が配設されている。この液晶表示装置４１は、表示エリアを左、中、右の３つのエリアに分割し、独立して数字やキャラクタあるいは図柄（装飾図柄）等の特別図柄の変動表示が可能なものである。そしてさらに、液晶表示装置４１の真下には、特別図柄１始動口４２が配設され、その内部には入賞球を検出する特別図柄１始動口スイッチ４２ａ（図３参照）が設けられている。また、液晶表示装置４１の右下部側には、特別図柄２始動口４３が配設され、その内部には入賞球を検出する特別図柄２始動口スイッチ４３ａ（図３参照）が設けられている。
【００１６】
一方、特別図柄１始動口４２の右側には、大入賞口４４が配設され、その内部には入賞球を検出する大入賞口スイッチ４４ａ（図３参照）が設けられている。そして、上記液晶表示装置４１の右上部にはゲートからなる普通図柄始動口４５が配設され、その内部には、遊技球の通過を検出する普通図柄始動口スイッチ４５ａ（図３参照）が設けられている。また、上記大入賞口４４の右側及び上記特別図柄１始動口４２の左側には、一般入賞口４６が夫々配設され（図示では、右側に１つ、左側に３つ）、その内部には、夫々、遊技球の通過を検出する一般入賞口スイッチ４６ａ（図３参照）が設けられている。
【００１７】
また一方、上記遊技盤４の遊技領域４０の右下周縁部には、７セグメントが３個並べて構成されており、そのうち２個の７セグメントが特別図柄表示装置４７であり、他の７セグメントは特別図柄１や特別図柄２等の保留球数等を表示するものである。この特別図柄表示装置４７は、図２に示すように、特別図柄１表示装置４７ａと特別図柄２表示装置４７ｂとで構成されており、その特別図柄１表示装置４７ａの左側には、２個のＬＥＤからなる普通図柄表示装置４８が設けられている。なお、上記遊技盤４の遊技領域４０には、図示はしないが複数の遊技釘が配設され、遊技球の落下方向変換部材としての風車４９が配設されている。
【００１８】
＜遊技機：制御装置＞
次に、上記のような外観構成からなるパチンコ遊技機１内に設けられる遊技の進行状況に応じて電子制御を行う制御装置を、図３を用いて説明する。この制御装置は、図３に示すように、遊技動作全般の制御を司る主制御基板６０と、その主制御基板６０からの制御コマンドに基づいて遊技球を払出す払出制御基板７０と、画像と光と音についての制御を行うサブ制御基板８０とで主に構成されている。なお、サブ制御基板８０は、図３に示すように、演出制御基板９０と、装飾ランプ基板１００と、液晶制御基板１２０とで構成されている。
【００１９】
主制御基板６０は、主制御ＣＰＵ６００と、一連の遊技制御手順を記述した遊技プログラム等を格納した主制御ＲＯＭ６１０と、作業領域やバッファメモリ等として機能する主制御ＲＡＭ６２０と、ハードウェア乱数を更新する乱数回路６３０と、システムリセット信号や、ウォッチドックタイマ（図示せず）リセット信号、イリーガルアクセスリセット信号等のリセット信号を制御するリセットコントローラ６４０とで構成されたワンチップマイクロコンピュータを搭載している。なお、乱数回路６３０の詳細は後述することとする。
【００２０】
そして、このように構成される主制御基板６０には、払出モータＭを制御して遊技球を払出す払出制御基板７０が接続されている。そしてさらには、特別図柄１始動口４２への入賞を検出する特別図柄１始動口スイッチ４２ａと、特別図柄２始動口４３への入賞を検出する特別図柄２始動口スイッチ４３ａと、普通図柄始動口４５の通過を検出する普通図柄始動口スイッチ４５ａと、一般入賞口４６への入賞を検出する一般入賞口スイッチ４６ａと、大入賞口４４への入賞を検出する大入賞口スイッチ４４ａとが接続されている。また、主制御基板６０には、特別図柄１表示装置４７ａと、特別図柄２表示装置４７ｂと、普通図柄表示装置４８とが接続されている。
【００２１】
このように構成される主制御基板６０は、特別図柄１始動口スイッチ４２ａ又は特別図柄２始動口スイッチ４３ａあるいは普通図柄始動口スイッチ４５ａからの信号を主制御ＣＰＵ６００にて受信すると、遊技者に有利な特別遊技状態を発生させるか（いわゆる「当たり」）、あるいは、遊技者に有利な特別遊技状態を発生させないか（いわゆる「ハズレ」）の抽選を行い、その抽選結果である当否情報に応じて特別図柄の変動パターンや停止図柄あるいは普通図柄の表示内容を決定し、その決定した情報を特別図柄１表示装置４７ａ又は特別図柄２表示装置４７ｂあるいは普通図柄表示装置４８に送信する。これにより、特別図柄１表示装置４７ａ又は特別図柄２表示装置４７ｂあるいは普通図柄表示装置４８に抽選結果が表示されることとなる。そしてさらに、主制御基板６０、すなわち、主制御ＣＰＵ６００は、その決定した情報を含む演出制御コマンドを生成し、演出制御基板９０に送信する。なお、主制御基板６０、すなわち、主制御ＣＰＵ６００が、一般入賞口スイッチ４６ａ、大入賞口スイッチ４４ａからの信号を受信した場合は、遊技者に幾らの遊技球を払い出すかを決定し、その決定した情報を含む払出制御コマンドを払出制御基板７０に送信することで、払出制御基板７０が遊技者に遊技球を払出すこととなる。なお、この抽選処理についての詳細は後述することとする。
【００２２】
払出制御基板７０は、上記主制御基板６０（主制御ＣＰＵ６００）からの払出制御コマンドを受信し、その受信した払出制御コマンドに基づいて払出モータ信号を生成する。そして、その生成した払出モータ信号にて、払出モータＭを制御し、遊技者に遊技球を払出す。そしてさらに、払出制御基板７０は、遊技球の払出動作を示す賞球計数信号や払出動作の異常に係るステイタス信号を送信し、遊技者の操作に応答して遊技球を発射させる発射制御基板７１の動作を開始又は停止させる発射制御信号を送信する処理を行う。
【００２３】
演出制御基板９０は、上記主制御基板６０（主制御ＣＰＵ６００）からの演出制御コマンドを受けて各種演出を実行制御する演出制御ＣＰＵ９００と、演出制御手順を記述した制御プログラム等が格納されているフラッシュメモリからなる演出制御ＲＯＭ９１０と、作業領域やバッファメモリ等として機能する演出制御ＲＡＭ９２０とで構成されている。そしてさらに、演出制御基板９０は、所望のＢＧＭや効果音を生成する音ＬＳＩ９３０と、ＢＧＭや効果音等の音データ等が予め格納されている音ＲＯＭ９４０とが搭載されている。
【００２４】
このように構成される演出制御基板９０には、ランプ演出効果を現出するＬＥＤランプ等の装飾ランプが搭載されている装飾ランプ基板１００が接続され、さらに、内蔵されているランプ（図示せず）点灯時に遊技者が押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置１３が接続され、ＢＧＭや効果音等を発するスピーカ１６が接続されている。またさらに、演出制御基板９０には、液晶表示装置４１を制御する液晶制御基板１２０が接続されている。
【００２５】
かくして、このように構成される演出制御基板９０は、主制御基板６０（主制御ＣＰＵ６００）より送信される大当たり抽選結果（大当たりかハズレの別）に基づく特別図柄変動パターン、現在の遊技状態、始動保留球数、抽選結果に基づき停止させる装飾図柄等に必要となる基本情報を含んだ演出制御コマンドを演出制御ＣＰＵ９００にて受信する。そして、演出制御ＣＰＵ９００は、受信した演出制御コマンドに対応した演出パターンを、演出制御ＲＯＭ９１０内に予め格納しておいた多数の演出パターンの中から抽選により決定し、その決定した演出パターンを実行指示する制御信号を演出制御ＲＡＭ９２０内に一時的に格納する。
【００２６】
そして、演出制御ＣＰＵ９００は、演出制御ＲＡＭ９２０に格納しておいた演出パターンを実行指示する制御信号のうち、音に関する制御信号を音ＬＳＩ９３０に送信する。これを受けて音ＬＳＩ９３０は、当該制御信号に対応する音データを音ＲＯＭ９４０より読み出し、スピーカ１６に出力する。これにより、スピーカ１６より上記決定された演出パターンに対応したＢＧＭや効果音が発せられることとなる。
【００２７】
また、演出制御ＣＰＵ９００は、演出制御ＲＡＭ９２０に格納しておいた演出パターンを実行指示する制御信号のうち、光に関する制御信号を装飾ランプ基板１００に送信する。これにより、装飾ランプ基板１００が、ランプ演出効果を現出するＬＥＤランプ等の装飾ランプを点灯又は消灯する制御を行うため、上記決定された演出パターンに対応したランプ演出が実行されることとなる。
【００２８】
さらに、演出制御ＣＰＵ９００は、演出制御ＲＡＭ９２０に格納しておいた演出パターンを実行指示する制御信号のうち、画像に関する液晶制御コマンドを液晶制御基板１２０に送信する。これにより、液晶制御基板１２０が、当該液晶制御コマンドに基づく画像を表示させるように液晶表示装置４１を制御することにより、上記決定された演出パターンに対応した画像が液晶表示装置４１に表示されることとなる。なお、液晶制御基板１２０には演出内容に沿った画像を表示するための種々の画像データが記憶されており、さらに、演出出力全般の制御を担うＶＤＰ（Ｖｉｄｅｏ  Ｄｉｓｐｌａｙ  Ｐｒｏｃｅｓｓｏｒ）が搭載されている。
【００２９】
ところで、上記説明した各基板への電源供給は、図３に示す電源基板１３０より供給されている。この電源基板１３０は、電圧生成部１３００と、電圧監視部１３１０と、システムリセット生成部１３２０とを含んで構成されている。この電圧生成部１３００は、遊技店に設置された図示しない変圧トランスから供給される外部電源である交流電圧ＡＣ２４Ｖを受けて複数種類の直流電圧を生成するもので、その生成された直流電圧は、図示はしないが各基板に供給されている。
【００３０】
また、電圧監視部１３１０は、上記交流電圧ＡＣ２４Ｖの電圧を監視するもので、この電圧が遮断されたり、停電が発生したりして電圧異常を検出した場合に電圧異常信号ＡＬＡＲＭを主制御基板６０に出力するものである。なお、電圧異常信号ＡＬＡＲＭは、電圧異常時には「Ｌ」レベルの信号を出力し、正常時には「Ｈ」レベルの信号を出力する。
【００３１】
また、一方、システムリセット生成部１３２０は、電源投入時のシステムリセット信号を生成するもので、その生成されたシステムリセット信号は、図示はしないが各基板に出力されている。
【００３２】
ここで、上記説明した制御装置のうち、本発明の特徴部分は、主制御基板６０に関する部分であるため、この点につき、図４〜図１３を参照して具体的に説明する。まず、主制御基板６０が備える乱数回路６３０について詳述する。
【００３３】
＜乱数回路＞
乱数回路６３０は、図４に示すように、１６ビット乱数生成回路６３００Ａ（Ｂ）と、８ビット乱数生成回路６３０１Ａ（Ｂ）と、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）と、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）とを有している。
【００３４】
＜乱数回路：１６ビット乱数生成回路＞
この１６ビット乱数生成回路６３００Ａ（Ｂ）は、主に、所定のクロック信号ＣＬＫに基づいて、０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲のハードウェア乱数をそれぞれ更新するものである。そして、このように更新されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａ（Ｂ）に格納される。
【００３５】
具体的には、図６（ａ）に示すように、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数は、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａに格納され、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数は、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ｂに格納される。なお、これら１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａ（Ｂ）は、読み出しのみ可能なレジスタである。
【００３６】
一方、上記１６ビット乱数生成回路６３００Ａ（Ｂ）は、図５（ａ）に示すように、加算回路６３１０_１６Ａ（Ｂ）と、更新値レジスタ６３１１_１６Ａ（Ｂ）と、乱数エラー検出回路６３１２_１６Ａ（Ｂ）とで主に構成されている。この加算回路６３１０_１６Ａ（Ｂ）は、所定のクロック信号ＣＬＫに基づいて、０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲のハードウェア乱数を更新するもので、更新値レジスタ６３１１_１６Ａ（Ｂ）は、加算回路６３１０_１６Ａ（Ｂ）にて更新されたハードウェア乱数を格納するものである。そしてこのように更新値レジスタ６３１１_１６Ａ（Ｂ）にて格納されたハードウェア乱数値が、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａ（Ｂ）に格納されることとなる。
【００３７】
一方、乱数エラー検出回路６３１２_１６Ａ（Ｂ）は、１６ビット乱数生成回路６３００Ａ（Ｂ）のエラー（異常）をそれぞれ検出するもので、この検出されたエラー（異常）データが内部機能レジスタ６３０４内にある乱数エラーステータスレジスタＲＮＤＥＲＲ（図１０参照）に格納されることとなる。なお、この乱数エラーステータスレジスタＲＮＤＥＲＲについては後述することとする。
【００３８】
ところで、１６ビット乱数生成回路６３００Ａ（Ｂ）は、図５（ａ）に示すように、さらに、初期値設定レジスタＲＮＤＩＮＩを有している。この初期値設定レジスタＲＮＤＩＮＩは、図６（ｅ）に示すように、８ビットからなり、初期値設定レジスタＲＮＤＩＮＩの７ビット目が１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａに対応し、６ビット目が１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ｂに対応している。すなわち、初期値設定レジスタＲＮＤＩＮＩの７ビット目に０が設定されると、加算回路６３１０_１６Ａ（図５（ａ）参照）の初期値には０が設定され、これにより、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａの初期値が０に設定されることとなる。
【００３９】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、１６ビット乱数生成回路６３００Ａをリセットすると、加算回路６３１０_１６Ａの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００４０】
他方、初期値設定レジスタＲＮＤＩＮＩの６ビット目に０が設定されると、加算回路６３１０_１６Ｂ（図５（ａ）参照）の初期値には０が設定され、これにより、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ｂの初期値には０が設定されることとなる。
【００４１】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、１６ビット乱数生成回路６３００Ｂをリセットすると、加算回路６３１０_１６Ｂの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ｂには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００４２】
ところで、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａ（Ｂ）は、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。すなわち、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）は、主制御ＣＰＵ６００だけをリセットし、１６ビット乱数生成回路６３００Ａ（Ｂ）等の内部機能はリセットしない。そのため、１６ビット乱数生成回路６３００Ａ（Ｂ）（更新値レジスタ６３１１_１６Ａ（Ｂ））は、リセットされる前に設定された値が保持され、そのまま初期値になる。それゆえ、１６ビット乱数生成回路６３００Ａ（Ｂ）（更新値レジスタ６３１１_１６Ａ（Ｂ））には、初期値としてリセットされる前の値がそのまま初期値として格納されることとなる。これにより、主制御ＣＰＵ６００にて、１６ビット乱数生成回路６３００Ａ（Ｂ）（更新値レジスタ６３１１_１６Ａ（Ｂ））を読み出し、その初期値から１６ビット乱数生成回路６３００Ａ（Ｂ）（加算回路６３１０_１６Ａ（Ｂ））にてハードウェア乱数を更新させれば、再びシステムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）が発生するか否かを確認することで、そのリセットの要因が、１６ビット乱数生成回路６３００Ａ（Ｂ）にあるか否かの検証が可能となる。なお、これら１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａ（Ｂ）は、主制御ＣＰＵ６００にて１バイト読み出し命令で２回に分けて読み出した際、更新値レジスタ６３１１_１６Ａ（Ｂ）より、更新中のハードウェア乱数値が読み出される可能性があるため、１回に１６ビットの値を読み出す２バイト読み出し命令で読み出した方が好ましい。
【００４３】
＜乱数回路：８ビット乱数生成回路＞
一方、８ビット乱数生成回路６３０１Ａ（Ｂ）は、主に、所定のクロック信号ＣＬＫに基づいて、０〜２５５（００ｈ〜ＦＦｈ）の数値範囲のハードウェア乱数をそれぞれ更新するものである。そして、このように更新されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａ（Ｂ）に格納される。
【００４４】
具体的には、図６（ｂ）に示すように、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数は、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａに格納され、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数は、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ｂに格納される。なお、これら８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａ（Ｂ）は、読み出しのみ可能なレジスタである。
【００４５】
一方、上記８ビット乱数生成回路６３０１Ａ（Ｂ）は、図５（ａ）に示すように、加算回路６３１０_８Ａ（Ｂ）と、更新値レジスタ６３１１_８Ａ（Ｂ）と、乱数エラー検出回路６３１２_８Ａ（Ｂ）とで主に構成されている。この加算回路６３１０_８Ａ（Ｂ）は、所定のクロック信号ＣＬＫに基づいて、０〜２５５（００ｈ〜ＦＦｈ）の数値範囲のハードウェア乱数を更新するもので、更新値レジスタ６３１１_８Ａ（Ｂ）は、加算回路６３１０_８Ａ（Ｂ）にて更新されたハードウェア乱数を格納するものである。そしてこのように更新値レジスタ６３１１_８Ａ（Ｂ）にて格納されたハードウェア乱数値が、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａ（Ｂ）に格納されることとなる。
【００４６】
一方、乱数エラー検出回路６３１２_８Ａ（Ｂ）は、８ビット乱数生成回路６３０１Ａ（Ｂ）のエラー（異常）をそれぞれ検出するもので、この検出されたエラー（異常）データが内部機能レジスタ６３０４内にある乱数エラーステータスレジスタＲＮＤＥＲＲ（図１０参照）に格納されることとなる。なお、この乱数エラーステータスレジスタＲＮＤＥＲＲについては後述することとする。
【００４７】
ところで、８ビット乱数生成回路６３０１Ａ（Ｂ）は、図５（ａ）に示すように、さらに、初期値設定レジスタＲＮＤＩＮＩを有している。この初期値設定レジスタＲＮＤＩＮＩは、図６（ｅ）に示すように、８ビットからなり、初期値設定レジスタＲＮＤＩＮＩの５ビット目が８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａに対応し、４ビット目が８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ｂに対応している。すなわち、初期値設定レジスタＲＮＤＩＮＩの５ビット目に０が設定されると、図５（ａ）に示すように、加算回路６３１０_８Ａの初期値には０が設定され、これにより、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａの初期値が０に設定されることとなる。
【００４８】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、８ビット乱数生成回路６３０１Ａをリセットすると、加算回路６３１０_８Ａの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００４９】
他方、初期値設定レジスタＲＮＤＩＮＩの４ビット目に０が設定されると、図５（ａ）に示すように、加算回路６３１０_８Ｂの初期値には０が設定され、これにより、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ｂの初期値が０に設定されることとなる。
【００５０】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、８ビット乱数生成回路６３０１Ｂをリセットすると、加算回路６３１０_８Ｂの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ｂには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００５１】
ところで、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａ（Ｂ）は、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。すなわち、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）は、主制御ＣＰＵ６００だけをリセットし、８ビット乱数生成回路６３０１Ａ（Ｂ）等の内部機能はリセットしない。そのため、８ビット乱数生成回路６３０１Ａ（Ｂ）（更新値レジスタ６３１１_８Ａ（Ｂ））は、リセットされる前に設定された値が保持され、そのまま初期値になる。それゆえ、８ビット乱数生成回路６３０１Ａ（Ｂ）（更新値レジスタ６３１１_８Ａ（Ｂ））には、初期値としてリセットされる前の値がそのまま初期値として格納されることとなる。これにより、主制御ＣＰＵ６００にて、８ビット乱数生成回路６３０１Ａ（Ｂ）（更新値レジスタ６３１１_８Ａ（Ｂ））を読み出し、その初期値から８ビット乱数生成回路６３０１Ａ（Ｂ）（加算回路６３１０_８Ａ（Ｂ））にてハードウェア乱数を更新させれば、再びシステムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）が発生するか否かを確認することで、そのリセットの要因が、８ビット乱数回路６３０１Ａ（Ｂ）にあるか否かの検証が可能となる。
【００５２】
＜乱数回路：１６ビットカスタム乱数生成回路＞
一方、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）は、主に、所定のクロック信号ＣＬＫに基づいて、０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲のハードウェア乱数をそれぞれ更新するものである。そして、このように更新されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａ（Ｂ）に格納される。
【００５３】
具体的には、図６（ｃ）に示すように、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数は、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａに格納され、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数は、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ｂに格納される。なお、これら１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａ（Ｂ）は、読み出しのみ可能なレジスタである。
【００５４】
一方、上記１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）は、図５（ｂ）に示すように、加算回路６３２０_１６Ａ（Ｂ）と、更新値レジスタ６３２１_１６Ａ（Ｂ）と、乱数エラー検出回路６３２２_１６Ａ（Ｂ）と、最大値設定回路６３２３_１６Ａ（Ｂ）で主に構成されている。この加算回路６３２０_１６Ａ（Ｂ）は、所定のクロック信号ＣＬＫに基づいて、０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲のハードウェア乱数を更新するもので、更新値レジスタ６３２１_１６Ａ（Ｂ）は、加算回路６３２０_１６Ａ（Ｂ）にて更新されたハードウェア乱数を格納するものである。そしてこのように更新値レジスタ６３２１_１６Ａ（Ｂ）にて格納されたハードウェア乱数値が、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａ（Ｂ）に格納されることとなる。
【００５５】
一方、乱数エラー検出回路６３２２_１６Ａ（Ｂ）は、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）のエラー（異常）をそれぞれ検出するもので、この検出されたエラー（異常）データが内部機能レジスタ６３０４内にある乱数エラーステータスレジスタＲＮＤＥＲＲ（図１０参照）に格納されることとなる。なお、この乱数エラーステータスレジスタＲＮＤＥＲＲについては後述することとする。
【００５６】
また、最大値設定回路６３２３_１６Ａ（Ｂ）は、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（加算回路６３２０_１６Ａ（Ｂ））の最大値を設定できるもので、内部機能レジスタ６３０４内にある１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ_Ａ（Ｂ）（図７（ａ）参照）に設定された値を設定するものである。
【００５７】
具体的に示せば、これら１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ_Ａ（Ｂ）は、図７（ａ）に示すように、読み書きすることができると共に、２５５〜６５５３５（００ＦＦｈ〜ＦＦＦＦｈ）の数値範囲を設定することができるもので、初期値には６５５３５（ＦＦＦＦｈ）が設定される。そして、１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ_Ａは、最大値設定回路６３２３_１６Ａに対応し、１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ_Ｂは、最大値設定回路６３２３_１６Ｂに対応している。これにより、１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ_Ａ（Ｂ）にて設定された値が、最大値設定回路６３２３_１６Ａ（Ｂ）に反映され、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（加算回路６３２０_１６Ａ（Ｂ））の最大値として設定されることとなる。なお、このように最大値が設定されると、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（加算回路６３２０_１６Ａ（Ｂ））は、ハードウェア乱数の更新を開始する。このようにすれば、任意のタイミングでハードウェア乱数の更新を開始することができるため、乱数値の出現の偏りを低減させることができる。
【００５８】
一方、この１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ＿Ａ（Ｂ）に、何らかの要因で発生したアクセス異常によって２５５（ＦＦｈ）より小さい値が設定された際、最大値設定回路６３２３_１６Ａ（Ｂ）は、最小値である２５５（ＦＦｈ）を、最大値として設定する。このようにすれば、ハードウェア乱数の設定に関する異常が発生したとしても、遊技を継続させることができ、もって、遊技の処理に対して乱数回路を効率的に使用することができる。またさらには、異常値が設定された際、異常値が設定されたか否かを検証せずとも、正常値（最小値である２５５）が設定され、その後の動作が継続されるため、異常処理に対する制御負荷を低減させることができる。なお、１６ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ１６ＭＸ＿Ａ（Ｂ）には、設定された値が格納されているため、当該値を主制御ＣＰＵ６００にて読み出すことで、異常を検出することもできる。
【００５９】
ところで、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）は、図５（ｂ）に示すように、さらに、初期値設定レジスタＲＮＤＩＮＩを有している。この初期値設定レジスタＲＮＤＩＮＩは、図６（ｅ）に示すように、８ビットからなり、初期値設定レジスタＲＮＤＩＮＩの３ビット目が１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａに対応し、２ビット目が１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ｂに対応している。すなわち、初期値設定レジスタＲＮＤＩＮＩの３ビット目に０が設定されると、図５（ｂ）に示すように、加算回路６３２０_１６Ａの初期値には０が設定され、これにより、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａの初期値が０に設定されることとなる。
【００６０】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、１６ビットカスタム乱数生成回路６３０２Ａをリセットすると、加算回路６３２０_１６Ａの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００６１】
他方、初期値設定レジスタＲＮＤＩＮＩの２ビット目に０が設定されると、図５（ｂ）に示すように、加算回路６３２０_１６Ｂの初期値には０が設定され、これにより、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ｂの初期値が０に設定されることとなる。
【００６２】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、１６ビットカスタム乱数生成回路６３０２Ｂをリセットすると、加算回路６３２０_１６Ｂの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ｂには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００６３】
ところで、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａ（Ｂ）は、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。すなわち、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）は、主制御ＣＰＵ６００だけをリセットし、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）等の内部機能はリセットしない。そのため、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（更新値レジスタ６３２１_１６Ａ（Ｂ））は、リセットされる前に設定された値が保持され、そのまま初期値になる。それゆえ、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（更新値レジスタ６３２１_１６Ａ（Ｂ））には、初期値としてリセットされる前の値がそのまま初期値として格納されることとなる。これにより、主制御ＣＰＵ６００にて、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（更新値レジスタ６３２１_１６Ａ（Ｂ））を読み出し、その初期値から１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）（加算回路６３２０_１６Ａ（Ｂ））にてハードウェア乱数を更新させれば、再びシステムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）が発生するか否かを確認することで、そのリセットの要因が、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）にあるか否かの検証が可能となる。なお、これら１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａ（Ｂ）は、主制御ＣＰＵ６００にて１バイト読み出し命令で２回に分けて読み出した際、更新値レジスタ６３２１_１６Ａ（Ｂ）より、更新中のハードウェア乱数値が読み出される可能性があるため、１回に１６ビットの値を読み出す２バイト読み出し命令で読み出した方が好ましい。
【００６４】
＜乱数回路：８ビットカスタム乱数生成回路＞
一方、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、主に、所定のクロック信号ＣＬＫに基づいて、０〜２５５（００ｈ〜ＦＦｈ）の数値範囲のハードウェア乱数をそれぞれ更新するものである。そして、このように更新されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａ（Ｂ）に格納される。
【００６５】
具体的には、図６（ｄ）に示すように、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数は、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａに格納され、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数は、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ｂに格納される。なお、これら８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａ（Ｂ）は、読み出しのみ可能なレジスタである。
【００６６】
一方、上記８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、図５（ｂ）に示すように、加算回路６３２０_８Ａ（Ｂ）と、更新値レジスタ６３２１_８Ａ（Ｂ）と、乱数エラー検出回路６３２２_８Ａ（Ｂ）と、最大値設定回路６３２３_８Ａ（Ｂ）で主に構成されている。この加算回路６３２０_８Ａ（Ｂ）は、所定のクロック信号ＣＬＫに基づいて、０〜２５５（００ｈ〜ＦＦｈ）の数値範囲のハードウェア乱数を更新するもので、更新値レジスタ６３２１_８Ａ（Ｂ）は、加算回路６３２０_８Ａ（Ｂ）にて更新されたハードウェア乱数を格納するものである。そしてこのように更新値レジスタ６３２１_８Ａ（Ｂ）にて格納されたハードウェア乱数値が、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａ（Ｂ）に格納されることとなる。
【００６７】
一方、乱数エラー検出回路６３２２_８Ａ（Ｂ）は、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）のエラー（異常）をそれぞれ検出するもので、この検出されたエラー（異常）データが内部機能レジスタ６３０４内にある乱数エラーステータスレジスタＲＮＤＥＲＲ（図１０参照）に格納されることとなる。なお、この乱数エラーステータスレジスタＲＮＤＥＲＲについては後述することとする。
【００６８】
また、最大値設定回路６３２３_８Ａ（Ｂ）は、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（加算回路６３２０_８Ａ（Ｂ））の最大値を設定できるもので、内部機能レジスタ６３０４内にある８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ａ（Ｂ）（図７（ｂ）参照）に設定された値を設定するものである。
【００６９】
具体的に示せば、これら８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ａ（Ｂ）は、図７（ｂ）に示すように、読み書きすることができると共に、１５〜２５５（０Ｆｈ〜ＦＦｈ）の数値範囲を設定することができるもので、初期値には１５（０Ｆｈ）が設定される。そして、８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ａは、最大値設定回路６３２３_８Ａに対応し、８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ｂは、最大値設定回路６３２３_８Ｂに対応している。これにより、８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ａ（Ｂ）にて設定された値が、最大値設定回路６３２３_８Ａ（Ｂ）に反映され、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（加算回路６３２０_８Ａ（Ｂ））の最大値として設定されることとなる。なお、このように最大値が設定されると、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（加算回路６３２０_８Ａ（Ｂ））は、ハードウェア乱数の更新を開始する。このようにすれば、任意のタイミングでハードウェア乱数の更新を開始することができるため、乱数値の出現の偏りを低減させることができる。
【００７０】
一方、この８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ａ（Ｂ）に、何らかの要因で発生したアクセス異常によって１５（０Ｆｈ）より小さい値が設定された際、最大値設定回路６３２３_８Ａ（Ｂ）は、最小値である１５（０Ｆｈ）を、最大値として設定する。このようにすれば、ハードウェア乱数の設定に関する異常が発生したとしても、遊技を継続させることができ、もって、遊技の処理に対して乱数回路を効率的に使用することができる。またさらには、異常値が設定された際、異常値が設定されたか否かを検証せずとも、正常値（最小値である１５）が設定され、その後の動作が継続されるため、異常処理に対する制御負荷を低減させることができる。なお、８ビットカスタム乱数生成回路最大値設定レジスタＲＮＤ０８ＭＸ_Ａ（Ｂ）には、設定された値が格納されているため、当該値を主制御ＣＰＵ６００にて読み出すことで、異常を検出することもできる。
【００７１】
ところで、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、図５（ｂ）に示すように、さらに、初期値設定レジスタＲＮＤＩＮＩを有している。この初期値設定レジスタＲＮＤＩＮＩは、図６（ｅ）に示すように、８ビットからなり、初期値設定レジスタＲＮＤＩＮＩの１ビット目が８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａに対応し、０ビット目が８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ｂに対応している。すなわち、初期値設定レジスタＲＮＤＩＮＩの１ビット目に０が設定されると、図５（ｂ）に示すように、加算回路６３２０_８Ａの初期値には０が設定され、これにより、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａの初期値が０に設定されることとなる。
【００７２】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、８ビットカスタム乱数生成回路６３０３Ａをリセットすると、加算回路６３２０_８Ａの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００７３】
他方、初期値設定レジスタＲＮＤＩＮＩの０ビット目に０が設定されると、図５（ｂ）に示すように、加算回路６３２０_８Ｂの初期値には０が設定され、これにより、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ｂの初期値が０に設定されることとなる。
【００７４】
一方、１が設定されると、上記システムリセット生成部１３２０（図３参照）にて生成されたシステムリセット信号がリセットコントローラ６４０（図３参照）にて制御され、８ビットカスタム乱数生成回路６３０３Ｂをリセットすると、加算回路６３２０_８Ｂの初期値には初期値設定レジスタＲＮＤＩＮＩにてランダムに生成される値が設定されることとなる。これにより、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ｂには、システムリセットにてリセットされる毎に異なる初期値が格納されることとなる。
【００７５】
ところで、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａ（Ｂ）は、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。すなわち、システムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）は、主制御ＣＰＵ６００だけをリセットし、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）等の内部機能はリセットしない。そのため、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（更新値レジスタ６３２１_８Ａ（Ｂ））は、リセットされる前に設定された値が保持され、そのまま初期値になる。それゆえ、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（更新値レジスタ６３２１_８Ａ（Ｂ））には、初期値としてリセットされる前の値がそのまま初期値として格納されることとなる。これにより、主制御ＣＰＵ６００にて、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（更新値レジスタ６３２１_８Ａ（Ｂ））を読み出し、その初期値から８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）（加算回路６３２０_８Ａ（Ｂ））にてハードウェア乱数を更新させれば、再びシステムリセット信号以外のリセット信号（例えば、イリーガルアクセスリセット信号）が発生するか否かを確認することで、そのリセットの要因が、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）にあるか否かの検証が可能となる。
【００７６】
＜乱数回路：乱数ラッチ回路＞
一方、乱数回路６３０は、図４に示すように、さらに、１６ビット乱数ラッチ１回路６３３０Ａ（Ｂ）と、１６ビット乱数ラッチ２回路６３３１Ａ（Ｂ）と、１６ビット乱数ラッチ３回路６３３２Ａ（Ｂ）と、８ビット乱数ラッチ１回路６３４０Ａ（Ｂ）と、８ビット乱数ラッチ２回路６３４１Ａ（Ｂ）と、８ビット乱数ラッチ３回路６３４２Ａ（Ｂ）と、１６ビットカスタム乱数ラッチ１回路６３５０Ａ（Ｂ）と、１６ビットカスタム乱数ラッチ２回路６３５１Ａ（Ｂ）と、１６ビットカスタム乱数ラッチ３回路６３５２Ａ（Ｂ）と、８ビットカスタム乱数ラッチ１回路６３６０Ａ（Ｂ）と、８ビットカスタム乱数ラッチ２回路６３６１Ａ（Ｂ）と、８ビットカスタム乱数ラッチ３回路６３６２Ａ（Ｂ）とを有している。
【００７７】
＜乱数回路：１６ビット乱数ラッチ１回路＞
この１６ビット乱数ラッチ１回路６３３０Ａ（Ｂ）は、特別図柄１始動口スイッチ４２ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ１のラッチ信号を受信すると、１６ビット乱数生成回路６３００Ａ（Ｂ）にて０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、１６ビット乱数ラッチ１回路６３３０Ａは、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ１回路６３３０Ｂは、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００７８】
ところで、このように１６ビット乱数ラッチ１回路６３３０Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ１_Ａ（Ｂ）に格納される。具体的には、図８（ａ）に示すように、１６ビット乱数ラッチ１回路６３３０Ａに保持（ラッチ）されたハードウェア乱数は、１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ１_Ａに格納され、１６ビット乱数ラッチ１回路６３３０Ｂに保持（ラッチ）されたハードウェア乱数は、１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ１_Ｂに格納される。なお、この１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ１_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００７９】
＜乱数回路：１６ビット乱数ラッチ２回路＞
一方、１６ビット乱数ラッチ２回路６３３１Ａ（Ｂ）は、特別図柄２始動口スイッチ４３ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ２のラッチ信号を受信すると、１６ビット乱数生成回路６３００Ａ（Ｂ）にて０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、１６ビット乱数ラッチ２回路６３３１Ａは、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ２回路６３３１Ｂは、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００８０】
ところで、このように１６ビット乱数ラッチ２回路６３３１Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ２_Ａ（Ｂ）に格納される。具体的には、図８（ａ）に示すように、１６ビット乱数ラッチ２回路６３３１Ａに保持（ラッチ）されたハードウェア乱数は、１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ２_Ａに格納され、１６ビット乱数ラッチ２回路６３３１Ｂに保持（ラッチ）されたハードウェア乱数は、１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ２_Ｂに格納される。なお、この１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ２_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００８１】
＜乱数回路：１６ビット乱数ラッチ３回路＞
また一方、１６ビット乱数ラッチ３回路６３３２Ａ（Ｂ）は、普通図柄始動口スイッチ４５ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ３のラッチ信号を受信すると、１６ビット乱数生成回路６３００Ａ（Ｂ）にて０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、１６ビット乱数ラッチ３回路６３３２Ａは、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ３回路６３３２Ｂは、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００８２】
ところで、このように１６ビット乱数ラッチ３回路６３３２Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ３_Ａ（Ｂ）に格納される。具体的には、図８（ａ）に示すように、１６ビット乱数ラッチ３回路６３３２Ａに保持（ラッチ）されたハードウェア乱数は、１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ３_Ａに格納され、１６ビット乱数ラッチ３回路６３３２Ｂに保持（ラッチ）されたハードウェア乱数は、１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ３_Ｂに格納される。なお、この１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ３_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００８３】
＜乱数回路：８ビット乱数ラッチ１回路＞
他方、８ビット乱数ラッチ１回路６３４０Ａ（Ｂ）は、特別図柄１始動口スイッチ４２ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ１のラッチ信号を受信すると、８ビット乱数生成回路６３０１Ａ（Ｂ）にて０〜２５５（００ｈ〜ＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、８ビット乱数ラッチ１回路６３４０Ａは、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ１回路６３４０Ｂは、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００８４】
ところで、このように８ビット乱数ラッチ１回路６３４０Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ１_Ａ（Ｂ）に格納される。具体的には、図８（ｂ）に示すように、８ビット乱数ラッチ１回路６３４０Ａに保持（ラッチ）されたハードウェア乱数は、８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ１_Ａに格納され、８ビット乱数ラッチ１回路６３４０Ｂに保持（ラッチ）されたハードウェア乱数は、８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ１_Ｂに格納される。なお、この８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ１_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００８５】
＜乱数回路：８ビット乱数ラッチ２回路＞
一方、８ビット乱数ラッチ２回路６３４１Ａ（Ｂ）は、特別図柄２始動口スイッチ４３ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ２のラッチ信号を受信すると、８ビット乱数生成回路６３０１Ａ（Ｂ）にて０〜２５５（００ｈ〜ＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、８ビット乱数ラッチ２回路６３４１Ａは、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ２回路６３４１Ｂは、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００８６】
ところで、このように８ビット乱数ラッチ２回路６３４１Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ２_Ａ（Ｂ）に格納される。具体的には、図８（ｂ）に示すように、８ビット乱数ラッチ２回路６３４１Ａに保持（ラッチ）されたハードウェア乱数は、８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ２_Ａに格納され、８ビット乱数ラッチ２回路６３４１Ｂに保持（ラッチ）されたハードウェア乱数は、８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ２_Ｂに格納される。なお、この８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ２_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００８７】
＜乱数回路：８ビット乱数ラッチ３回路＞
また一方、８ビット乱数ラッチ３回路６３４２Ａ（Ｂ）は、普通図柄始動口スイッチ４５ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ３のラッチ信号を受信すると、８ビット乱数生成回路６３０１Ａ（Ｂ）にて０〜２５５（００ｈ〜ＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、８ビット乱数ラッチ３回路６３４２Ａは、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ３回路６３４２Ｂは、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００８８】
ところで、このように８ビット乱数ラッチ３回路６３４２Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ３_Ａ（Ｂ）に格納される。具体的には、図８（ｂ）に示すように、８ビット乱数ラッチ３回路６３４２Ａに保持（ラッチ）されたハードウェア乱数は、８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ３_Ａに格納され、８ビット乱数ラッチ３回路６３４２Ｂに保持（ラッチ）されたハードウェア乱数は、８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ３_Ｂに格納される。なお、この８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ３_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００８９】
＜乱数回路：１６ビットカスタム乱数ラッチ１回路＞
他方、１６ビットカスタム乱数ラッチ１回路６３５０Ａ（Ｂ）は、特別図柄１始動口スイッチ４２ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ１のラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）にて０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、１６ビットカスタム乱数ラッチ１回路６３５０Ａは、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ１回路６３５０Ｂは、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００９０】
ところで、このように１６ビットカスタム乱数ラッチ１回路６３５０Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ１_Ａ（Ｂ）に格納される。具体的には、図８（ｃ）に示すように、１６ビットカスタム乱数ラッチ１回路６３５０Ａに保持（ラッチ）されたハードウェア乱数は、１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ１_Ａに格納され、１６ビットカスタム乱数ラッチ１回路６３５０Ｂに保持（ラッチ）されたハードウェア乱数は、１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ１_Ｂに格納される。なお、この１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ１_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００９１】
＜乱数回路：１６ビットカスタム乱数ラッチ２回路＞
一方、１６ビットカスタム乱数ラッチ２回路６３５１Ａ（Ｂ）は、特別図柄２始動口スイッチ４３ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ２のラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）にて０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、１６ビットカスタム乱数ラッチ２回路６３５１Ａは、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ２回路６３５１Ｂは、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００９２】
ところで、このように１６ビットカスタム乱数ラッチ２回路６３５１Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ２_Ａ（Ｂ）に格納される。具体的には、図８（ｃ）に示すように、１６ビットカスタム乱数ラッチ２回路６３５１Ａに保持（ラッチ）されたハードウェア乱数は、１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ２_Ａに格納され、１６ビットカスタム乱数ラッチ２回路６３５１Ｂに保持（ラッチ）されたハードウェア乱数は、１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ２_Ｂに格納される。なお、この１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ２_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００９３】
＜乱数回路：１６ビットカスタム乱数ラッチ３回路＞
また一方、１６ビットカスタム乱数ラッチ３回路６３５２Ａ（Ｂ）は、普通図柄始動口スイッチ４５ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ３のラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）にて０〜６５５３５（００００ｈ〜ＦＦＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、１６ビットカスタム乱数ラッチ３回路６３５２Ａは、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ３回路６３５２Ｂは、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００９４】
ところで、このように１６ビットカスタム乱数ラッチ３回路６３５２Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ３_Ａ（Ｂ）に格納される。具体的には、図８（ｃ）に示すように、１６ビットカスタム乱数ラッチ３回路６３５２Ａに保持（ラッチ）されたハードウェア乱数は、１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ３_Ａに格納され、１６ビットカスタム乱数ラッチ３回路６３５２Ｂに保持（ラッチ）されたハードウェア乱数は、１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ３_Ｂに格納される。なお、この１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ３_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００９５】
＜乱数回路：８ビットカスタム乱数ラッチ１回路＞
他方、８ビットカスタム乱数ラッチ１回路６３６０Ａ（Ｂ）は、特別図柄１始動口スイッチ４２ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ１のラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）にて０〜２５５（００ｈ〜ＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、８ビットカスタム乱数ラッチ１回路６３６０Ａは、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビットカスタム乱数ラッチ１回路６３６０Ｂは、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００９６】
ところで、このように８ビットカスタム乱数ラッチ１回路６３６０Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ１_Ａ（Ｂ）に格納される。具体的には、図８（ｄ）に示すように、８ビットカスタム乱数ラッチ１回路６３６０Ａに保持（ラッチ）されたハードウェア乱数は、８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ１_Ａに格納され、８ビットカスタム乱数ラッチ１回路６３６０Ｂに保持（ラッチ）されたハードウェア乱数は、８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ１_Ｂに格納される。なお、この８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ１_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００９７】
＜乱数回路：８ビットカスタム乱数ラッチ２回路＞
一方、８ビットカスタム乱数ラッチ２回路６３６１Ａ（Ｂ）は、特別図柄２始動口スイッチ４３ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ２のラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）にて０〜２５５（００ｈ〜ＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、８ビットカスタム乱数ラッチ２回路６３６１Ａは、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビットカスタム乱数ラッチ２回路６３６１Ｂは、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【００９８】
ところで、このように８ビットカスタム乱数ラッチ２回路６３６１Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ２_Ａ（Ｂ）に格納される。具体的には、図８（ｄ）に示すように、８ビットカスタム乱数ラッチ２回路６３６１Ａに保持（ラッチ）されたハードウェア乱数は、８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ２_Ａに格納され、８ビットカスタム乱数ラッチ２回路６３６１Ｂに保持（ラッチ）されたハードウェア乱数は、８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ２_Ｂに格納される。なお、この８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ２_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【００９９】
＜乱数回路：８ビットカスタム乱数ラッチ３回路＞
一方、８ビットカスタム乱数ラッチ３回路６３６２Ａ（Ｂ）は、普通図柄始動口スイッチ４５ａの信号、又は、乱数ラッチステータスレジスタＬＡＴＳＴ３のラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）にて０〜２５５（００ｈ〜ＦＦｈ）の数値範囲で更新されたハードウェア乱数を保持（ラッチ）するものである。なお、８ビットカスタム乱数ラッチ３回路６３６２Ａは、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビットカスタム乱数ラッチ３回路６３６２Ｂは、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数を保持（ラッチ）する。
【０１００】
ところで、このように８ビットカスタム乱数ラッチ３回路６３６２Ａ（Ｂ）にて保持（ラッチ）されたハードウェア乱数は、内部機能レジスタ６３０４内にある８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ３_Ａ（Ｂ）に格納される。具体的には、図８（ｄ）に示すように、８ビットカスタム乱数ラッチ３回路６３６２Ａに保持（ラッチ）されたハードウェア乱数は、８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ３_Ａに格納され、８ビットカスタム乱数ラッチ３回路６３６２Ｂに保持（ラッチ）されたハードウェア乱数は、８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ３_Ｂに格納される。なお、この８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ３_Ａ（Ｂ）は、読み出しのみ可能なレジスタで、初期値として０が設定される。
【０１０１】
＜乱数回路：乱数ラッチステータスレジスタＬＡＴＳＴＳ１〜３＞
ところで、このような１６ビット乱数ラッチ１回路６３３０Ａ（Ｂ）と、１６ビット乱数ラッチ２回路６３３１Ａ（Ｂ）と、１６ビット乱数ラッチ３回路６３３２Ａ（Ｂ）と、８ビット乱数ラッチ１回路６３４０Ａ（Ｂ）と、８ビット乱数ラッチ２回路６３４１Ａ（Ｂ）と、８ビット乱数ラッチ３回路６３４２Ａ（Ｂ）と、１６ビットカスタム乱数ラッチ１回路６３５０Ａ（Ｂ）と、１６ビットカスタム乱数ラッチ２回路６３５１Ａ（Ｂ）と、１６ビットカスタム乱数ラッチ３回路６３５２Ａ（Ｂ）と、８ビットカスタム乱数ラッチ１回路６３６０Ａ（Ｂ）と、８ビットカスタム乱数ラッチ２回路６３６１Ａ（Ｂ）と、８ビットカスタム乱数ラッチ３回路６３６２Ａ（Ｂ）は、内部機能レジスタ６３０４内にある乱数ラッチステータスレジスタＬＡＴＳＴＳ１〜３にて、ハードウェア乱数が保持（ラッチ）されているかどうかを確認することができる。
【０１０２】
＜乱数回路：乱数ラッチステータスレジスタＬＡＴＳＴＳ１＞
具体的には、図９に示すように、乱数ラッチステータスレジスタＬＡＴＳＴＳ１は、８ビットからなり、最下位ビットから順に、乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０〜７で構成される。そしてさらに、乱数ラッチステータスレジスタＬＡＴＳＴＳ１は、読み書きでき、初期値には０が設定される。なお、最下位ビット（０ビット目）に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０は、８ビットカスタム乱数ラッチ１回路６３６０Ｂに対応し、１ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_１は、８ビットカスタム乱数ラッチ１回路６３６０Ａに対応し、２ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_２は、１６ビットカスタム乱数ラッチ１回路６３５０Ｂに対応し、３ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_３は、１６ビットカスタム乱数ラッチ１回路６３５０Ａに対応し、４ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_４は、８ビット乱数ラッチ１回路６３４０Ｂに対応し、５ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_５は、８ビット乱数ラッチ１回路６３４０Ａに対応し、６ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_６は、１６ビット乱数ラッチ１回路６３３０Ｂに対応し、最上位ビット（７ビット目）に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ１_７は、１６ビット乱数ラッチ１回路６３３０Ａに対応している。
【０１０３】
かくして、このように構成される乱数ラッチステータスレジスタＬＡＴＳＴＳ１を主制御ＣＰＵ６００にて読み出すと、０か１の値を読み出すことができる。すなわち、乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０〜７の何れか又は全ての値が０であれば、それに対応する８ビットカスタム乱数ラッチ１回路６３６０Ｂ、８ビットカスタム乱数ラッチ１回路６３６０Ａ、１６ビットカスタム乱数ラッチ１回路６３５０Ｂ、１６ビットカスタム乱数ラッチ１回路６３５０Ａ、８ビット乱数ラッチ１回路６３４０Ｂ、８ビット乱数ラッチ１回路６３４０Ａ、１６ビット乱数ラッチ１回路６３３０Ｂ、１６ビット乱数ラッチ１回路６３３０Ａの何れか又は全てにハードウェア乱数が保持（ラッチ）されていないと判断でき、乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０〜７の何れか又は全ての値が１であれば、それに対応する８ビットカスタム乱数ラッチ１回路６３６０Ｂ、８ビットカスタム乱数ラッチ１回路６３６０Ａ、１６ビットカスタム乱数ラッチ１回路６３５０Ｂ、１６ビットカスタム乱数ラッチ１回路６３５０Ａ、８ビット乱数ラッチ１回路６３４０Ｂ、８ビット乱数ラッチ１回路６３４０Ａ、１６ビット乱数ラッチ１回路６３３０Ｂ、１６ビット乱数ラッチ１回路６３３０Ａの何れか又は全てにハードウェア乱数が保持（ラッチ）されていると判断できる。
【０１０４】
一方、乱数ラッチステータスレジスタＬＡＴＳＴＳ１は、主制御ＣＰＵ６００にて、乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０〜７の何れか又は全ての値に「１」が書き込まれた際、ラッチ信号をそれに対応する８ビットカスタム乱数ラッチ１回路６３６０Ｂ、８ビットカスタム乱数ラッチ１回路６３６０Ａ、１６ビットカスタム乱数ラッチ１回路６３５０Ｂ、１６ビットカスタム乱数ラッチ１回路６３５０Ａ、８ビット乱数ラッチ１回路６３４０Ｂ、８ビット乱数ラッチ１回路６３４０Ａ、１６ビット乱数ラッチ１回路６３３０Ｂ、１６ビット乱数ラッチ１回路６３３０Ａに送信する。これにより、８ビットカスタム乱数ラッチ１回路６３６０Ｂがラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、８ビットカスタム乱数ラッチ１回路６３６０Ａがラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ１回路６３５０Ｂがラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ１回路６３５０Ａがラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ１回路６３４０Ｂがラッチ信号を受信すると、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ１回路６３４０Ａがラッチ信号を受信すると、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ１回路６３３０Ｂがラッチ信号を受信すると、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ１回路６３３０Ａがラッチ信号を受信すると、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数を保持（ラッチ）することとなる。
【０１０５】
他方、乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０〜７の何れか又は全ての値に「０」が書き込まれた際、当該乱数ラッチステータスレジスタＬＡＴＳＴＳ１_０〜７の何れか又は全てがクリアされる。これにより、それに対応する８ビットカスタム乱数ラッチ１回路６３６０Ｂ、８ビットカスタム乱数ラッチ１回路６３６０Ａ、１６ビットカスタム乱数ラッチ１回路６３５０Ｂ、１６ビットカスタム乱数ラッチ１回路６３５０Ａ、８ビット乱数ラッチ１回路６３４０Ｂ、８ビット乱数ラッチ１回路６３４０Ａ、１６ビット乱数ラッチ１回路６３３０Ｂ、１６ビット乱数ラッチ１回路６３３０Ａの何れか又は全ては、保持（ラッチ）しているハードウェア乱数をクリアする。このようにすれば、特別図柄１始動口スイッチ４２ａを受信することによってハードウェア乱数を保持（ラッチ）する場合、従来であれば始動保留球数が上限値（例えば４個）に達している場合であっても、ハードウェア乱数を保持（ラッチ）してしまうため、その都度、保持（ラッチ）した乱数を取得しなければならなかったが、不要な場合は取得せず乱数ラッチステータスレジスタＬＡＴＳＴＳ１に「０」を設定するだけで、保持（ラッチ）したハードウェア乱数がクリアされる。そのため、処理を簡素化することができる。
【０１０６】
＜乱数回路：乱数ラッチステータスレジスタＬＡＴＳＴＳ２＞
一方、乱数ラッチステータスレジスタＬＡＴＳＴＳ２は、図９に示すように、８ビットからなり、最下位ビットから順に、乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０〜７で構成される。そしてさらに、乱数ラッチステータスレジスタＬＡＴＳＴＳ２は、読み書きでき、初期値には０が設定される。なお、最下位ビット（０ビット目）に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０は、８ビットカスタム乱数ラッチ２回路６３６１Ｂに対応し、１ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_１は、８ビットカスタム乱数ラッチ２回路６３６１Ａに対応し、２ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_２は、１６ビットカスタム乱数ラッチ２回路６３５１Ｂに対応し、３ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_３は、１６ビットカスタム乱数ラッチ２回路６３５１Ａに対応し、４ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_４は、８ビット乱数ラッチ２回路６３４１Ｂに対応し、５ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_５は、８ビット乱数ラッチ２回路６３４１Ａに対応し、６ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_６は、１６ビット乱数ラッチ２回路６３３１Ｂに対応し、最上位ビット（７ビット目）に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ２_７は、１６ビット乱数ラッチ２回路６３３１Ａに対応している。
【０１０７】
かくして、このように構成される乱数ラッチステータスレジスタＬＡＴＳＴＳ２を主制御ＣＰＵ６００にて読み出すと、０か１の値を読み出すことができる。すなわち、乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０〜７の何れか又は全ての値が０であれば、それに対応する８ビットカスタム乱数ラッチ２回路６３６１Ｂ、８ビットカスタム乱数ラッチ２回路６３６１Ａ、１６ビットカスタム乱数ラッチ２回路６３５１Ｂ、１６ビットカスタム乱数ラッチ２回路６３５１Ａ、８ビット乱数ラッチ２回路６３４１Ｂ、８ビット乱数ラッチ２回路６３４１Ａ、１６ビット乱数ラッチ２回路６３３１Ｂ、１６ビット乱数ラッチ２回路６３３１Ａの何れか又は全てにハードウェア乱数が保持（ラッチ）されていないと判断でき、乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０〜７の何れか又は全ての値が１であれば、それに対応する８ビットカスタム乱数ラッチ２回路６３６１Ｂ、８ビットカスタム乱数ラッチ２回路６３６１Ａ、１６ビットカスタム乱数ラッチ２回路６３５１Ｂ、１６ビットカスタム乱数ラッチ２回路６３５１Ａ、８ビット乱数ラッチ２回路６３４１Ｂ、８ビット乱数ラッチ２回路６３４１Ａ、１６ビット乱数ラッチ２回路６３３１Ｂ、１６ビット乱数ラッチ２回路６３３１Ａの何れか又は全てにハードウェア乱数が保持（ラッチ）されていると判断できる。
【０１０８】
一方、乱数ラッチステータスレジスタＬＡＴＳＴＳ２は、主制御ＣＰＵ６００にて、乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０〜７の何れか又は全ての値に「１」が書き込まれた際、ラッチ信号をそれに対応する８ビットカスタム乱数ラッチ２回路６３６１Ｂ、８ビットカスタム乱数ラッチ２回路６３６１Ａ、１６ビットカスタム乱数ラッチ２回路６３５１Ｂ、１６ビットカスタム乱数ラッチ２回路６３５１Ａ、８ビット乱数ラッチ２回路６３４１Ｂ、８ビット乱数ラッチ２回路６３４１Ａ、１６ビット乱数ラッチ２回路６３３１Ｂ、１６ビット乱数ラッチ２回路６３３１Ａに送信する。これにより、８ビットカスタム乱数ラッチ２回路６３６１Ｂがラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、８ビットカスタム乱数ラッチ２回路６３６１Ａがラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ２回路６３５１Ｂがラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ２回路６３５１Ａがラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ２回路６３４１Ｂがラッチ信号を受信すると、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ２回路６３４１Ａがラッチ信号を受信すると、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ２回路６３３１Ｂがラッチ信号を受信すると、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ２回路６３３１Ａがラッチ信号を受信すると、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数を保持（ラッチ）することとなる。
【０１０９】
他方、乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０〜７の何れか又は全ての値に「０」が書き込まれた際、当該乱数ラッチステータスレジスタＬＡＴＳＴＳ２_０〜７の何れか又は全てがクリアされる。これにより、それに対応する８ビットカスタム乱数ラッチ２回路６３６１Ｂ、８ビットカスタム乱数ラッチ２回路６３６１Ａ、１６ビットカスタム乱数ラッチ２回路６３５１Ｂ、１６ビットカスタム乱数ラッチ２回路６３５１Ａ、８ビット乱数ラッチ２回路６３４１Ｂ、８ビット乱数ラッチ２回路６３４１Ａ、１６ビット乱数ラッチ２回路６３３１Ｂ、１６ビット乱数ラッチ２回路６３３１Ａの何れか又は全ては、保持（ラッチ）しているハードウェア乱数をクリアする。このようにすれば、特別図柄２始動口スイッチ４３ａを受信することによってハードウェア乱数を保持（ラッチ）する場合、従来であれば始動保留球数が上限値（例えば４個）に達している場合であっても、ハードウェア乱数を保持（ラッチ）してしまうため、その都度、保持（ラッチ）した乱数を取得しなければならなかったが、不要な場合は取得せず乱数ラッチステータスレジスタＬＡＴＳＴＳ２に「０」を設定するだけで、保持（ラッチ）したハードウェア乱数がクリアされる。そのため、処理を簡素化することができる。
【０１１０】
＜乱数回路：乱数ラッチステータスレジスタＬＡＴＳＴＳ３＞
具体的には、図９に示すように、乱数ラッチステータスレジスタＬＡＴＳＴＳ３は、８ビットからなり、最下位ビットから順に、乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０〜７で構成される。そしてさらに、乱数ラッチステータスレジスタＬＡＴＳＴＳ３は、読み書きでき、初期値には０が設定される。なお、最下位ビット（０ビット目）に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０は、８ビットカスタム乱数ラッチ３回路６３６２Ｂに対応し、１ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_１は、８ビットカスタム乱数ラッチ３回路６３６２Ａに対応し、２ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_２は、１６ビットカスタム乱数ラッチ３回路６３５２Ｂに対応し、３ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_３は、１６ビットカスタム乱数ラッチ３回路６３５２Ａに対応し、４ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_４は、８ビット乱数ラッチ３回路６３４２Ｂに対応し、５ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_５は、８ビット乱数ラッチ３回路６３４２Ａに対応し、６ビット目に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_６は、１６ビット乱数ラッチ３回路６３３２Ｂに対応し、最上位ビット（７ビット目）に対応する乱数ラッチステータスレジスタＬＡＴＳＴＳ３_７は、１６ビット乱数ラッチ３回路６３３２Ａに対応している。
【０１１１】
かくして、このように構成される乱数ラッチステータスレジスタＬＡＴＳＴＳ３を主制御ＣＰＵ６００にて読み出すと、０か１の値を読み出すことができる。すなわち、乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０〜７の何れか又は全ての値が０であれば、それに対応する８ビットカスタム乱数ラッチ３回路６３６２Ｂ、８ビットカスタム乱数ラッチ３回路６３６２Ａ、１６ビットカスタム乱数ラッチ３回路６３５２Ｂ、１６ビットカスタム乱数ラッチ３回路６３５２Ａ、８ビット乱数ラッチ３回路６３４２Ｂ、８ビット乱数ラッチ３回路６３４２Ａ、１６ビット乱数ラッチ３回路６３３２Ｂ、１６ビット乱数ラッチ３回路６３３２Ａの何れか又は全てにハードウェア乱数が保持（ラッチ）されていないと判断でき、乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０〜７の何れか又は全ての値が１であれば、それに対応する８ビットカスタム乱数ラッチ３回路６３６２Ｂ、８ビットカスタム乱数ラッチ３回路６３６２Ａ、１６ビットカスタム乱数ラッチ３回路６３５２Ｂ、１６ビットカスタム乱数ラッチ３回路６３５２Ａ、８ビット乱数ラッチ３回路６３４２Ｂ、８ビット乱数ラッチ３回路６３４２Ａ、１６ビット乱数ラッチ３回路６３３２Ｂ、１６ビット乱数ラッチ３回路６３３２Ａの何れか又は全てにハードウェア乱数が保持（ラッチ）されていると判断できる。
【０１１２】
一方、乱数ラッチステータスレジスタＬＡＴＳＴＳ３は、主制御ＣＰＵ６００にて、乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０〜７の何れか又は全ての値に「１」が書き込まれた際、ラッチ信号をそれに対応する８ビットカスタム乱数ラッチ３回路６３６２Ｂ、８ビットカスタム乱数ラッチ３回路６３６２Ａ、１６ビットカスタム乱数ラッチ３回路６３５２Ｂ、１６ビットカスタム乱数ラッチ３回路６３５２Ａ、８ビット乱数ラッチ３回路６３４２Ｂ、８ビット乱数ラッチ３回路６３４２Ａ、１６ビット乱数ラッチ３回路６３３２Ｂ、１６ビット乱数ラッチ３回路６３３２Ａに送信する。これにより、８ビットカスタム乱数ラッチ３回路６３６２Ｂがラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、８ビットカスタム乱数ラッチ３回路６３６２Ａがラッチ信号を受信すると、８ビットカスタム乱数生成回路６３０３Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ３回路６３５２Ｂがラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビットカスタム乱数ラッチ３回路６３５２Ａがラッチ信号を受信すると、１６ビットカスタム乱数生成回路６３０２Ａにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ２回路６３４２Ｂがラッチ信号を受信すると、８ビット乱数生成回路６３０１Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、８ビット乱数ラッチ２回路６３４２Ａがラッチ信号を受信すると、８ビット乱数生成回路６３０１Ａにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ３回路６３３２Ｂがラッチ信号を受信すると、１６ビット乱数生成回路６３００Ｂにて更新されたハードウェア乱数を保持（ラッチ）し、１６ビット乱数ラッチ３回路６３３２Ａがラッチ信号を受信すると、１６ビット乱数生成回路６３００Ａにて更新されたハードウェア乱数を保持（ラッチ）することとなる。
【０１１３】
他方、乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０〜７の何れか又は全ての値に「０」が書き込まれた際、当該乱数ラッチステータスレジスタＬＡＴＳＴＳ３_０〜７の何れか又は全てがクリアされる。これにより、それに対応する８ビットカスタム乱数ラッチ３回路６３６２Ｂ、８ビットカスタム乱数ラッチ３回路６３６２Ａ、１６ビットカスタム乱数ラッチ３回路６３５２Ｂ、１６ビットカスタム乱数ラッチ３回路６３５２Ａ、８ビット乱数ラッチ３回路６３４２Ｂ、８ビット乱数ラッチ３回路６３４２Ａ、１６ビット乱数ラッチ３回路６３３２Ｂ、１６ビット乱数ラッチ３回路６３３２Ａの何れか又は全ては、保持（ラッチ）しているハードウェア乱数をクリアする。このようにすれば、普通図柄始動口スイッチ４５ａを受信することによってハードウェア乱数を保持（ラッチ）する場合、従来であれば始動保留球数が上限値（例えば４個）に達している場合であっても、ハードウェア乱数を保持（ラッチ）してしまうため、その都度、保持（ラッチ）した乱数を取得しなければならなかったが、不要な場合は取得せず乱数ラッチステータスレジスタＬＡＴＳＴＳ３に「０」を設定するだけで、保持（ラッチ）したハードウェア乱数がクリアされる。そのため、処理を簡素化することができる。
【０１１４】
＜乱数回路：乱数エラーステータスレジスタＲＮＤＥＲＲ＞
ところで、内部機能レジスタ６３０４内には、上記した乱数エラーステータスレジスタＲＮＤＥＲＲがあるが、この点について、図１０及び図１１を参照して詳しく説明する。
【０１１５】
乱数エラーステータスレジスタＲＮＤＥＲＲは、図１０に示すように、８ビットからなり、最下位ビット（０ビット目）から７ビット目まで順に乱数エラーステータスレジスタＲＮＤＥＲＲ０〜ＲＮＤＥＲＲ７で構成される。そして、乱数エラーステータスレジスタＲＮＤＥＲＲは、読み出し可能で、初期値には０が設定される。なお、最下位ビット（０ビット目）に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ０は、８ビットカスタム乱数生成回路６３０３Ｂに対応し、１ビット目に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ１は、８ビットカスタム乱数生成回路６３０３Ａに対応し、２ビット目に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ２は、１６ビットカスタム乱数生成回路６３０２Ｂに対応し、３ビット目に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ３は、１６ビットカスタム乱数生成回路６３０２Ａに対応し、４ビット目に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ４は、８ビット乱数生成回路６３０１Ｂに対応し、５ビット目に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ５は、８ビット乱数生成回路６３０１Ａに対応し、６ビット目に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ６は、１６ビット乱数生成回路６３００Ｂに対応し、最上位ビット（７ビット目）に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ７は、１６ビット乱数生成回路６３００Ａに対応する。
【０１１６】
このように構成される乱数エラーステータスレジスタＲＮＤＥＲＲは、主制御ＣＰＵ６００にて読み出すと、０か１の値を読み出すことができる。すなわち、乱数エラーステータスレジスタＲＮＤＥＲＲ０〜７の何れか又は全ての値が０であれば、それに対応する８ビットカスタム乱数生成回路６３０３Ｂ、８ビットカスタム乱数生成回路６３０３Ａ、１６ビットカスタム乱数生成回路６３０２Ｂ、１６ビットカスタム乱数生成回路６３０２Ａ、８ビット乱数生成回路６３０１Ｂ、８ビット乱数生成回路６３０１Ａ、１６ビット乱数生成回路６３００Ｂ、１６ビット乱数生成回路６３００Ａの何れか又は全てがエラー（異常）状態でないと判断できる。そして、乱数エラーステータスレジスタＲＮＤＥＲＲ０〜７の何れか又は全ての値が１であれば、それに対応する８ビットカスタム乱数生成回路６３０３Ｂ、８ビットカスタム乱数生成回路６３０３Ａ、１６ビットカスタム乱数生成回路６３０２Ｂ、１６ビットカスタム乱数生成回路６３０２Ａ、８ビット乱数生成回路６３０１Ｂ、８ビット乱数生成回路６３０１Ａ、１６ビット乱数生成回路６３００Ｂ、１６ビット乱数生成回路６３００Ａの何れか又は全てがエラー（異常）状態であると判断できる。
【０１１７】
かくしてこのようにエラー（異常）が検出されると、主制御ＣＰＵ６００は、このエラー（異常）内容を演出制御コマンドとして演出制御基板９０に送信する。これを受けて演出制御基板９０（演出制御ＣＰＵ９００）は、このエラー（異常）内容を表示する液晶制御コマンドを液晶制御基板１２０に送信する。これにより、液晶制御基板１２０が、当該液晶制御コマンドに基づく画像を表示させるように液晶表示装置４１を制御することにより、液晶表示装置４１にエラー（異常）内容が表示されることとなる。
【０１１８】
しかしながら、このように複数のハードウェア乱数回路が存在していた場合、単純に全てのエラー（異常）を表示させると、図１１（ａ）に示すように液晶表示装置４１の表示画面一杯になってしまい、処理負荷が増大してしまう。そこで、本実施形態においては、複数のエラー（異常）を表示させるのではなく、図１１（ｂ）に示すように、一つの表示態様で表示させる。
【０１１９】
すなわち、例えば、図１１（ｂ）に示すように、「エラー１」は、ハードウェア乱数回路に異常が生じたことを示すエラー番号を示すものであり、どのハードウェア乱数回路に異常が生じたとしても共通のエラー番号となる。一方、乱数回路異常１は、１６ビット乱数生成回路６３００Ａ（Ｂ）に異常が生じたことを示すものであり、そして、図示はしていないが、乱数回路異常２は、８ビット乱数生成回路６３０１Ａ（Ｂ）に異常が生じたことを示し、乱数回路異常３は、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）に異常が生じたことを示し、乱数回路異常４は、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）に異常が生じたことを示し、乱数回路異常５は、１６ビット乱数生成回路６３００Ａ（Ｂ）と１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）に異常が生じたことを示す。というように、１６ビット乱数生成回路６３００Ａ（Ｂ）と、８ビット乱数生成回路６３０１Ａ（Ｂ）と、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）と、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）との全てのエラー（異常）の組合せに対応する乱数回路異常番号をテーブル化しておき主制御ＲＯＭ６１０内に予め格納しておく。
【０１２０】
このようにすれば、主制御ＣＰＵ６００は、乱数エラーステータスレジスタＲＮＤＥＲＲよりデータを読み出した際、例えば、乱数エラーステータスレジスタＲＮＤＥＲＲ７〜ＲＮＤＥＲＲ６が「１」であれば、１６ビット乱数生成回路６３００Ａ（Ｂ）にエラー（異常）が生じていることが分かる。そこで、主制御ＣＰＵ６００は、主制御ＲＯＭ６１０内に予め格納しておいたテーブルから、１６ビット乱数生成回路６３００Ａ（Ｂ）にエラー（異常）が生じている際、どの番号のエラー（異常）を表示させるのかを確認し、「乱数回路異常１」を表示させる演出制御コマンドを演出制御基板９０に送信する。これを受けて演出制御基板９０（演出制御ＣＰＵ９００）は、このエラー（異常）内容を表示する液晶制御コマンドを液晶制御基板１２０に送信する。これにより、液晶制御基板１２０が、当該液晶制御コマンドに基づく画像を表示させるように液晶表示装置４１を制御することにより、液晶表示装置４１に、図１１（ｂ）に示すような画面が表示されることとなる。
【０１２１】
しかして、本実施形態によれば、ハードウェア乱数回路が増加しても、制御に負荷をかけることなく複数のハードウェア乱数回路の異常を検出し報知することができる。
【０１２２】
なお、図４に示す符号６３７０は、特別図柄１始動口スイッチ４２ａ信号、特別図柄２始動口スイッチ４３ａ信号、普通図柄始動口スイッチ４５ａ信号、乱数ラッチステータスレジスタＬＡＴＳＴＳ１〜３からの信号を各ラッチ回路に振り分けるように制御するラッチ信号制御回路である。
【０１２３】
＜メモリ空間アドレスマップ＞
次に、図１２及び図１３を用いて主制御基板６０が備えるメモリに関する説明を行う。主制御基板６０において、メモリ空間アドレスマップとして００００Ｈ番地〜ＦＦＦＦＨ番地まで備えており、メモリ空間アドレス００００Ｈ番地〜０１ＦＦＨ番地までが主制御ＲＡＭ６２０（図３参照）のメモリ空間で、メモリ空間アドレス１０００Ｈ番地〜１０７２Ｈ番地までが内部機能レジスタ６３０４のメモリ空間で、メモリ空間アドレス８０００Ｈ番地〜Ａ７ＦＦＨ番地までが主制御ＲＯＭ６１０（図３参照）のメモリ空間で、それ以外のアドレス番地（０２００Ｈ番地〜０ＦＦＦＨ番地，１０７３Ｈ番地〜７ＦＦＦＨ番地，Ａ８００Ｈ番地〜ＦＦＦＦＨ番地）が未使用領域６５０ａ〜６５０ｃのメモリ空間でアクセス禁止領域になっている。
【０１２４】
主制御ＲＯＭ６１０領域は、図１２に示すように、メモリ空間アドレス８０００Ｈ番地〜Ａ７ＦＦＨ番地のうち、メモリ空間アドレス８０００Ｈ番地〜Ａ６ＦＦＨ番地までが一連の遊技制御手順を記述した遊技プログラムを格納できるプログラム領域６１０ａで、メモリ空間アドレスＡ７００Ｈ番地〜Ａ７７ＦＨ番地までがプログラムのタイトル，バージョン，メーカ情報等を格納するＲＯＭコメント領域６１０ｂで、メモリ空間アドレスＡ７８０Ｈ番地〜Ａ７Ａ７Ｈ番地までが割込みが発生した際の先頭アドレス等を設定するベクターテーブル領域６１０ｃで、メモリ空間アドレスＡ７Ａ８Ｈ番地〜Ａ７ＦＦＨ番地までがユーザシステム（ハードウェア）特有のパラメータを設定できるＨＷパラメータ領域６１０ｄで構成されている。このＨＷパラメータ領域６１０ｄでは、図１３に示すようにプログラムエンドアドレスが設定できるようになっている。
【０１２５】
すなわち、図１３（ａ）に示すように、プログラムエンドアドレスＨＰＲＧＥＮＤは、１６ビットで構成されてなり、図１２に示すメモリ空間アドレス８０００Ｈ番地〜Ａ６ＦＦＨ番地のプログラム領域６１０ａの最終アドレス番地を設定することができるものである。すなわち、例えば、プログラムエンドアドレスＨＰＲＧＥＮＤに８８５２Ｈがハード的に設定されたとすると、図１３（ｂ）に示すように、プログラム領域６１０ａは、メモリ空間アドレス８０００Ｈ番地〜８８５２Ｈ番地までが使用可能領域となり、メモリ空間アドレス８８５３Ｈ番地〜Ａ６ＦＦＨ番地までが使用禁止領域となる。そのため、主制御ＣＰＵ６００が、プログラム領域６１０ａの最終アドレス番地（８８５２Ｈ番地）を超えてアドレス番地を指定し、その領域にアクセスした場合は、リセットコントローラ６４０にてイリーガルアクセスリセット信号を発生させることとなる。これにより、上述したように、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、当該イリーガルアクセスリセット信号にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。
【０１２６】
そのため、従来であれば、主制御ＣＰＵ６００が、プログラム領域６１０ａの最終アドレス番地（例えば、８８５２Ｈ番地）を超えてアドレス番地を指定しアクセスすることで発生したイリーガルアクセスリセット信号であっても、乱数回路をリセットしてしまうため、当該乱数回路の設定が再度され、イリーガルアクセスリセットからの復帰に少なからず時間がかかってしまうという問題があった。しかしながら、本実施形態によれば、イリーガルアクセスリセット時は、主制御ＣＰＵ６００だけリセットし、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）等の内部機能はリセットしない。そのため、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、リセットされる前に設定された値が保持され、そのまま初期値として、ハードウェア乱数を更新することとなる。それゆえ、本実施形態によれば、イリーガルアクセスリセットからの復帰を迅速に行うことができ、また、ハードウェア乱数は新たな初期値から更新が開始することとなるため、乱数回路の信頼性を保つことができる。
【０１２７】
また、リセットコントローラ６４０は、図１２に示すメモリ空間アドレス８０００Ｈ番地〜Ａ７ＦＦＨ番地までの主制御ＲＯＭ６１０領域に対し主制御ＣＰＵ６００がデータ書込みしようとアクセスした際、イリーガルアクセスリセット信号を発生させる。これにより、上述したように、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、当該イリーガルアクセスリセット信号にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。
【０１２８】
そのため、従来であれば、主制御ＣＰＵ６００が主制御ＲＯＭ６１０領域に対してデータ書込みしようとアクセスすることで発生したイリーガルアクセスリセット信号であっても、乱数回路をリセットしてしまうため、当該乱数回路の設定が再度され、イリーガルアクセスリセットからの復帰に少なからず時間がかかってしまうという問題があった。しかしながら、本実施形態によれば、イリーガルアクセスリセット時は、主制御ＣＰＵ６００だけリセットし、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）等の内部機能はリセットしない。そのため、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、リセットされる前に設定された値が保持され、そのまま初期値として、ハードウェア乱数を更新することとなる。それゆえ、本実施形態によれば、イリーガルアクセスリセットからの復帰を迅速に行うことができ、また、ハードウェア乱数は新たな初期値から更新が開始することとなるため、乱数回路の信頼性を保つことができる。
【０１２９】
また一方、リセットコントローラ６４０は、図１２に示すメモリ空間アドレスＡ７００Ｈ番地〜Ａ７７ＦＨ番地までのＲＯＭコメント領域６１０ｂに対しアクセスした際、イリーガルアクセスリセット信号を発生させる。これにより、上述したように、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、当該イリーガルアクセスリセット信号にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。
【０１３０】
そのため、従来であれば、主制御ＣＰＵ６００がＲＯＭコメント領域６１０ｂに対してアクセスすることで発生したイリーガルアクセスリセット信号であっても、乱数回路をリセットしてしまうため、当該乱数回路の設定が再度され、イリーガルアクセスリセットからの復帰に少なからず時間がかかってしまうという問題があった。しかしながら、本実施形態によれば、イリーガルアクセスリセット時は、主制御ＣＰＵ６００だけリセットし、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）等の内部機能はリセットしない。そのため、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、リセットされる前に設定された値が保持され、そのまま初期値として、ハードウェア乱数を更新することとなる。それゆえ、本実施形態によれば、イリーガルアクセスリセットからの復帰を迅速に行うことができ、また、ハードウェア乱数は新たな初期値から更新が開始することとなるため、乱数回路の信頼性を保つことができる。
【０１３１】
他方、リセットコントローラ６４０は、図１２に示すメモリ空間アドレス０２００Ｈ番地〜０ＦＦＦＨ番地，１０７３Ｈ番地〜７ＦＦＦＨ番地，Ａ８００Ｈ番地〜ＦＦＦＦＨ番地の未使用領域６５０ａ〜６５０ｃに対しアクセスした際、イリーガルアクセスリセット信号を発生させる。これにより、上述したように、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、当該イリーガルアクセスリセット信号にてリセットされると、リセットされる前に設定された値が保持され、そのまま初期値となる。
【０１３２】
そのため、従来であれば、主制御ＣＰＵ６００がメモリ空間アドレス０２００Ｈ番地〜０ＦＦＦＨ番地，１０７３Ｈ番地〜７ＦＦＦＨ番地，Ａ８００Ｈ番地〜ＦＦＦＦＨ番地の未使用領域６５０ａ〜６５０ｃに対してアクセスすることで発生したイリーガルアクセスリセット信号であっても、乱数回路をリセットしてしまうため、当該乱数回路の設定が再度され、イリーガルアクセスリセットからの復帰に少なからず時間がかかってしまうという問題があった。しかしながら、本実施形態によれば、イリーガルアクセスリセット時は、主制御ＣＰＵ６００だけリセットし、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）等の内部機能はリセットしない。そのため、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）は、リセットされる前に設定された値が保持され、そのまま初期値として、ハードウェア乱数を更新することとなる。それゆえ、本実施形態によれば、イリーガルアクセスリセットからの復帰を迅速に行うことができ、また、ハードウェア乱数は新たな初期値から更新が開始することとなるため、乱数回路の信頼性を保つことができる。
【０１３３】
＜主制御基板処理＞
次に、主制御ＲＯＭ６１０内に格納されているプログラムの概要を図１４〜図２２を用いて説明する。
【０１３４】
＜メイン処理＞
まず、パチンコ遊技機１に電源が投入されると、電源基板１３０（図３参照）の電圧生成部１３００にて生成された直流電圧が各制御基板に投入された旨の電源投入信号が送られ、その信号を受けて、主制御ＣＰＵ６００（図３参照）は、図１４に示す主制御メイン処理を行う。主制御ＣＰＵ６００は、まず、最初に自らを割込み禁止状態に設定すると共に（ステップＳ１）、当該主制御ＣＰＵ６００内のレジスタ値（内部機能レジスタ６３０４）等の初期設定を行う（ステップＳ２）。
【０１３５】
続いて、主制御ＣＰＵ６００は、電源基板１３０（電圧監視部１３１０）より出力されている電圧異常信号ＡＬＡＲＭ（図３参照）を２回取得し、その２回取得した電圧異常信号ＡＬＡＲＭのレベルが一致するか否かを確認した上で図示しない当該主制御ＣＰＵ６００の内部レジスタ内に格納し、その電圧異常信号ＡＬＡＲＭのレベルを確認する（ステップＳ３）。そして電圧異常信号ＡＬＡＲＭのレベルが「Ｌ」レベルであれば（ステップＳ４：ＹＥＳ）、ステップＳ３の処理に戻り、電圧異常信号ＡＬＡＲＭのレベルが「Ｈ」レベルであれば（ステップＳ４：ＮＯ）、ステップＳ５の処理に進む。すなわち、主制御ＣＰＵ６００は、電圧異常信号ＡＬＡＲＭが正常レベル（すなわち「Ｈ」レベル）に変化するまで同一の処理を繰り返す（ステップＳ３〜Ｓ４）。このように、電圧異常信号ＡＬＡＲＭを２回取得することで、正確な信号を読み込むことができる。
【０１３６】
次いで、主制御ＣＰＵ６００は、主制御ＲＡＭ６２０（図３参照）へのデータ書込みを許可する（ステップＳ５）。このように、電圧異常信号ＡＬＡＲＭの正常レベル（正常値）を検出するまで主制御ＲＡＭ６２０へのデータ書き込みを禁止することにより、電源基板１３０に供給される交流電圧ＡＣ２４Ｖが安定して供給される前に、不安定な信号が主制御ＲＡＭ６２０にアクセスし、主制御ＲＡＭ６２０に記憶されているデータを書き換えてしまうという事態を防止することができる。
【０１３７】
次いで、主制御ＣＰＵ６００は、演出制御基板９０に液晶表示装置４１に待機画面を表示させるような処理コマンド（演出制御コマンド）を送信し（ステップＳ６）、バックアップフラグＢＦＬの内容を判定する（ステップＳ７）。なお、このバックアップフラグＢＦＬとは、図１５に示す電圧監視処理の動作が実行されたか否かを示すデータである。
【０１３８】
このバックアップフラグＢＦＬがＯＦＦ状態（ステップＳ７：ＯＦＦ）であれば、後述する図１５に示す電圧監視処理の動作が実行されていないこととなり、主制御ＣＰＵ６００は、主制御ＲＡＭ６２０内の全領域を全てクリアする処理を行う（ステップＳ１１）。一方、バックアップフラグＢＦＬがＯＮ状態（ステップＳ７：ＯＮ）であれば、後述する図１５に示す電圧監視処理の動作が実行されていることとなるため、主制御ＣＰＵ６００は、チェックサム値を算出するためのチェックサム演算を行う（ステップＳ８）。なお、チェックサム演算とは、主制御ＲＡＭ６２０の作業領域を対象とする８ビット加算演算である。
【０１３９】
そして、主制御ＣＰＵ６００は、上記チェックサム値が算出されたら、この演算結果を主制御ＲＡＭ６２０内のＳＵＭ番地の記憶値と比較する処理を行う（ステップＳ９）。そして、記憶された演算結果は、主制御ＲＡＭ６２０内に記憶されている他のデータと共に、電源基板１３０にて生成されるバックアップ電源によって維持されている。
【０１４０】
このＳＵＭ番地の記憶値と上記ステップＳ８の処理にて算出されたチェックサム値が不一致（ステップＳ９：ＮＯ）であれば、主制御ＣＰＵ６００は、主制御ＲＡＭ６２０内の全領域を全てクリアする処理を行う（ステップＳ１１）。そして一致（ステップＳ９：ＹＥＳ）していれば、主制御ＣＰＵ６００は、主制御ＲＡＭ６２０内に記憶されているデータに基づいて電源遮断時の遊技動作に復帰させる処理を行う（ステップＳ１０）。
【０１４１】
次いで、主制御ＣＰＵ６００は、ステップＳ１０及びステップＳ１１の処理後、その内部に設けられている一定周期のパルス出力を作成する機能や時間計測の機能等を有するＣＴＣ（Ｃｏｕｎｔｅｒ  Ｔｉｍｅｒ  Ｃｉｒｃｕｉｔ）の設定を行う。すなわち、主制御ＣＰＵ６００は、４ｍｓ毎に定期的にタイマ割込みがかかるように上記ＣＴＣの時間定数レジスタを設定する（ステップＳ１２）。そしてその後、主制御ＣＰＵ６００は、ループ処理を行う。
【０１４２】
＜タイマ割込み処理＞
続いて、図１５を参照して、上述したメイン処理を中断させて、４ｍｓ毎に開始されるタイマ割込みプログラムについて説明する。このタイマ割込みが生じると、主制御ＣＰＵ６００内のレジスタ群の内容を主制御ＲＡＭ６２０のスタック領域に退避させる退避処理を実行し（ステップＳ２０）、その後電圧監視処理を実行する（ステップＳ２１）。この電圧監視処理は、電源基板１３０（図３参照）から出力される電圧異常信号ＡＬＡＲＭのレベルを判定し、電圧異常信号ＡＬＡＲＭが「Ｌ」レベル（異常レベル）であれば、主制御ＲＡＭ６２０内に記憶されているデータのバックアップ処理、すなわち、当該データのチェックサム値を算出し、その算出したチェックサム値をバックアップデータとして主制御ＲＡＭ６２０内に保存する処理を行う。
【０１４３】
次いで、主制御ＣＰＵ６００は、上記電圧監視処理（ステップＳ２１）が終了すると、各遊技動作の時間を管理しているタイマのタイマ減算処理を行う（ステップＳ２２）。ここで減算されたタイマは、大入賞口４４（図２参照）の開放時間、普通図柄の変動時間、特別図柄の変動時間等の遊技演出時間、不正情報タイマ等を管理するために使用されるものである。
【０１４４】
そして続いて、主制御ＣＰＵ６００には、特別図柄１始動口スイッチ４２ａ（図３参照）と、特別図柄２始動口スイッチ４３ａ（図３参照）と、普通図柄始動口スイッチ４５ａ（図３参照）と、一般入賞口スイッチ４６ａ（図３参照）と、大入賞口スイッチ４４ａ（図３参照）を含む各種スイッチ類のＯＮ／ＯＦＦ信号が入力され、主制御ＲＡＭ６２０内の作業領域にＯＮ／ＯＦＦ信号レベルや、その立ち上がり状態が記憶される（ステップＳ２３）。なお、このスイッチ入力処理は、不正入賞があった場合に、立ち上がり状態を無効（入賞無効）にする処理も行い、賞球を払出すために上記大入賞口スイッチ４４ａ，一般入賞口スイッチ４６ａに何個の遊技球が入賞したのかのカウントも行っている。
【０１４５】
次いで、主制御ＣＰＵ６００は、乱数管理処理を行う（ステップＳ２４）。具体的には、実際に使用している図４に示す乱数回路、すなわち、１６ビット乱数生成回路６３００Ａ（Ｂ）、８ビット乱数生成回路６３０１Ａ（Ｂ）、１６ビットカスタム乱数生成回路６３０２Ａ（Ｂ）、８ビットカスタム乱数生成回路６３０３Ａ（Ｂ）のエラー（異常）が液晶表示装置４１に表示されるように、使用していない乱数回路に対応する乱数エラーステータスレジスタＲＮＤＥＲＲ（図１０参照）のビットをマスク処理する。すなわち、例えば、実際に使用している乱数回路が、１６ビット乱数生成回路６３００Ａ（Ｂ）であった場合、それに対応する乱数エラーレジスタＲＮＤＥＲＲ７〜ＲＮＤＥＲＲ６の情報のみが必要でそれ以外の情報は不要である。そこで、主制御ＣＰＵ６００にて、乱数エラーステータスレジスタＲＮＤＥＲＲを読み出し、その８ビットデータとマスクデータとの論理積をとるようにする。
【０１４６】
具体的には、主制御ＣＰＵ６００にて、乱数エラーステータスレジスタＲＮＤＥＲＲを読み出した際、読み出したデータが「１１００００１１Ｂ」であった場合、必要なデータは上位２ビットだけであるため、マスクデータ「１１００００００Ｂ」と論理積をとれば、論理積後のデータは、「１１００００００Ｂ」となる。そのため、主制御ＣＰＵ６００は、実際に使用している乱数回路のうち、１６ビット乱数生成回路６３００Ａ（Ｂ）にエラー（異常）が生じていることが分かる。そしてその後、主制御ＣＰＵ６００は、上述したように主制御ＲＯＭ６１０内に予め格納しておいたテーブルから、１６ビット乱数生成回路６３００Ａ（Ｂ）にエラー（異常）が生じている際、どの番号のエラー（異常）を表示させるのかを確認し、その番号を表示させる演出制御コマンドを演出制御基板９０に送信する。これを受けて演出制御基板９０（演出制御ＣＰＵ９００）は、このエラー（異常）内容を表示する液晶制御コマンドを液晶制御基板１２０に送信する。これにより、液晶制御基板１２０が、当該液晶制御コマンドに基づく画像を表示させるように液晶表示装置４１を制御することにより、液晶表示装置４１に、当該エラー（異常）内容が表示されることとなる（図１１（ｂ）参照）。このようにすれば、実際に使用している乱数回路のエラー（異常）だけを報知することができ、より制御に負荷をかけることなくエラー（異常）を報知することができる。
【０１４７】
次いで、主制御ＣＰＵ６００は、エラー管理処理を行う（ステップＳ２５）。なお、エラー管理処理は、遊技球の補給が停止したり、あるいは、遊技球が詰まったりなど、機器内部に異常が生じていないかの判定を含むものである。
【０１４８】
次いで、主制御ＣＰＵ６００は、賞球管理処理を実行する（ステップＳ２６）。この賞球管理処理は、払出制御基板７０（図３参照）に払出し動作を行わせるための払出制御コマンドを出力している。
【０１４９】
次いで、主制御ＣＰＵ６００は、普通図柄処理を実行する（ステップＳ２７）。この普通図柄処理は、普通図柄の当否抽選を実行し、その抽選結果に基づいて普通図柄の変動パターンや普通図柄の停止表示状態を決定したりするものである。なお、この普通図柄処理の詳細については、後述することとする。
【０１５０】
次いで、主制御ＣＰＵ６００は、特別図柄処理を実行する（ステップＳ２８）。この特別図柄処理では、特別図柄の当否抽選を実行し、その抽選の結果に基づいて特別図柄の変動パターンや特別図柄の停止表示態様（停止特別図柄）を決定する。なお、この特別図柄処理の詳細については、後述することとする。
【０１５１】
次いで、主制御ＣＰＵ６００は、ＬＥＤ管理処理を実行する（ステップＳ２９）。このＬＥＤ管理処理は、処理の進行状態に応じて、特別図柄表示装置４７や普通図柄表示装置４８への出力データを生成したり、当該データに基づく制御信号を出力したりする処理である。
【０１５２】
次いで、主制御ＣＰＵ６００は、大入賞口４４（図２参照）等の開閉動作を実現するソレノイドの駆動処理を実行し（ステップＳ３０）、割込み許可状態に戻し（ステップＳ３１）、主制御ＲＡＭ６２０のスタック領域に退避させておいたレジスタの内容を復帰させタイマ割込みを終える（ステップＳ３２）。これにより、割込み処理ルーチンからメイン処理（図１４参照）に戻ることとなる。
【０１５３】
＜普通図柄処理＞
次に、図１６を参照して、上記普通図柄処理（図１５のステップＳ２７）について詳細に説明する。
【０１５４】
図１６に示すように、普通図柄処理は、先ず、ゲートからなる普通図柄始動口４５において、遊技球の通過を検出したか否かを確認、すなわち、普通図柄始動口４５の普通図柄始動口スイッチ４５ａの信号レベルを確認する（ステップＳ１００）。そして遊技球の通過を検出した場合（ステップＳ１００：ＹＥＳ）、主制御ＣＰＵ６００は、普通図柄の始動保留球数が例えば４以上か否かを判断するため、普通図柄の始動保留球数が格納されている主制御ＲＡＭ６２０領域を確認する（ステップＳ１０１）。その際、普通図柄の始動保留球数が４未満であれば（ステップＳ１０１：≠ＭＡＸ）、普通図柄の始動保留球数を１加算する（ステップＳ１０２）。その後、主制御ＣＰＵ６００は、普通図柄の当否抽選に用いられる図４に示す８ビット乱数ラッチ３回路６３４２Ａ（Ｂ）又は８ビットカスタム乱数ラッチ３回路６３６２Ａ（Ｂ）に保持（ラッチ）されている乱数値を、図８（ｂ）に示す８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ３_Ａ（Ｂ）又は図８（ｄ）に示す８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ３_Ａ（Ｂ）から読み出し、その読み出した乱数値を普通図柄の始動保留球数が格納されている主制御ＲＡＭ６２０領域に格納した上で（ステップＳ１０３）、ステップＳ１０４の処理に進む。
【０１５５】
一方、ステップＳ１００にて、遊技球の通過を検出しなかった場合（ステップＳ１００：ＮＯ）、ステップＳ１０１にて、普通図柄の始動保留球数が４以上であると判断した場合（ステップＳ１０１：＝ＭＡＸ）には、ステップＳ１０２〜Ｓ１０３の処理は行わず、ステップＳ１０４の処理に進む。
【０１５６】
主制御ＣＰＵ６００は、ステップＳ１０４の処理に進むと、普通図柄当たり作動フラグがＯＮに設定されているか、すなわち、普通図柄当たり作動フラグに５ＡＨが設定されているかを確認する（ステップＳ１０４）。普通図柄当たり作動フラグに５ＡＨが設定されていれば（ステップＳ１０４：ＯＮ）、普通図柄が当たり中であると判断し、普通図柄の表示データの更新を行った後（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行することとなる。
【０１５７】
一方、普通図柄当たり作動フラグに５ＡＨが設定されていなければ（ステップＳ１０４：ＯＦＦ）、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値を確認する（ステップＳ１０５）。そして、普通図柄動作ステータスフラグが００Ｈであれば、主制御ＣＰＵ６００は、普通図柄の変動開始前の状態であると判断し、ステップＳ１０６に進み、普通図柄の始動保留球数が０か否かを確認する（ステップＳ１０６）。
【０１５８】
主制御ＣＰＵ６００は、普通図柄の始動保留球数が格納されている主制御ＲＡＭ６２０領域を確認した上で、０であると判断した場合（ステップＳ１０６：＝０）は、普通図柄の表示データの更新を行った後（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。一方、０でないと判断した場合（ステップＳ１０６：≠０）は、普通図柄の始動保留球数を１減算する（ステップＳ１０７）。
【０１５９】
その後、主制御ＣＰＵ６００は、図２２（ａ）に示す普通図柄当たり判定テーブルＮＰＰ_ＴＢＬを用いて主制御ＲＡＭ６２０領域に格納されている普通図柄の始動保留球数に対応した乱数値の当たり判定を行う。すなわち、主制御ＣＰＵ６００は、遊技状態を示す普通図柄確変フラグがＯＦＦであれば、当該乱数値が、図２２（ａ）に示す普通図柄当たり判定テーブルＮＰＰ_ＴＢＬ（通常状態）の下限値（図示では、２４９）以上で上限値（図示では、２５０）以下か否かを判定し、下限値以上で上限値以下であれば、普通図柄当たり判定フラグに５ＡＨをセットし、ＯＮにする。それ以外の場合は、普通図柄当たり判定フラグをＯＦＦにする。
【０１６０】
一方、遊技状態を示す普通図柄確変フラグがＯＮであれば、当該乱数値が、図２２（ａ）に示す普通図柄当たり判定テーブルＮＰＰ_ＴＢＬ（確変状態）の下限値（図示では、４）以上で上限値（図示では、２５０）以下か否かを判定し、下限値以上で上限値以下であれば、普通図柄当たり判定フラグに５ＡＨをセットし、ＯＮにする。それ以外の場合は、普通図柄当たり判定フラグをＯＦＦにセットする処理を行う（ステップＳ１０８）。
【０１６１】
そして、主制御ＣＰＵ６００は、上記乱数抽選処理にて決定した抽選結果に基づいて、停止図柄（普通図柄停止図柄）を決定する（ステップＳ１０９）。
【０１６２】
次いで、主制御ＣＰＵ６００は、普通図柄の変動時間を短くする普通図柄時短フラグがＯＮに設定されているかを確認し、ＯＮに設定されていれば、普通図柄変動タイマにそれに応じた変動時間を設定し、ＯＦＦに設定されていれば、普通図柄変動タイマに通常の変動時間を設定する処理を行う（ステップＳ１１０）。
【０１６３】
次いで、主制御ＣＰＵ６００は、普通図柄の始動保留球数に対応した普通図柄の当否抽選に用いられる乱数値が格納されている主制御ＲＡＭ６２０領域の記憶領域をシフトする（ステップＳ１１１）。すなわち、普通図柄の始動保留球数を最大で４個保留できるとすると、普通図柄の始動保留球数４に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の始動保留球数３に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御ＲＡＭ６２０領域にシフトし、普通図柄の始動保留球数３に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の始動保留球数２に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御ＲＡＭ６２０領域にシフトし、普通図柄の始動保留球数２に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の始動保留球数１に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御ＲＡＭ６２０領域にシフトするという処理を行う。
【０１６４】
この処理の後、主制御ＣＰＵ６００は、上記ステップＳ１０５にて用いた普通図柄動作ステータスフラグに０１Ｈを設定し、普通図柄の始動保留球数４に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御ＲＡＭ６２０の領域に００Ｈを設定する処理を行う（ステップＳ１１２）。
【０１６５】
そして、主制御ＣＰＵ６００は、上記ステップＳ１１２の処理を終えた後、普通図柄の表示データの更新を行い（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。
【０１６６】
他方、主制御ＣＰＵ６００は、上記ステップＳ１０５にて、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値が０１Ｈであれば、主制御ＣＰＵ６００は、普通図柄が変動中であると判断し、ステップＳ１１４に進み、普通図柄変動タイマが０か否かを確認する（ステップＳ１１４）。普通図柄変動タイマが０でなければ（ステップＳ１１４：≠０）、普通図柄の表示データの更新を行い（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。そして、普通図柄変動タイマが０であれば（ステップＳ１１４：＝０）、主制御ＣＰＵ６００は、上記ステップＳ１０５にて用いた普通図柄動作ステータスフラグに０２Ｈを設定し、普通図柄の当否抽選結果を一定時間維持させるために、普通図柄変動タイマに例えば約６００ｍｓの時間が設定される（ステップＳ１１５）。
【０１６７】
主制御ＣＰＵ６００は、上記ステップＳ１１５の処理を終えた後、普通図柄の表示データの更新を行い（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。
【０１６８】
一方、主制御ＣＰＵ６００は、上記ステップＳ１０５にて、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値が０２Ｈであれば、主制御ＣＰＵ６００は、普通図柄が確認時間中（普通図柄の変動が終了して停止中）であると判断し、ステップＳ１１６に進み、普通図柄変動タイマが０か否かを確認する（ステップＳ１１６）。普通図柄変動タイマが０でなければ（ステップＳ１１６：≠０）、普通図柄の表示データの更新を行い（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。そして、普通図柄変動タイマが０であれば（ステップＳ１１６：＝０）、主制御ＣＰＵ６００は、上記ステップＳ１０５にて用いた普通図柄動作ステータスフラグに００Ｈを設定し（ステップＳ１１７）、普通図柄当たり判定フラグがＯＮに設定（５ＡＨが設定）されているかを確認する（ステップＳ１１８）。
【０１６９】
これにより、普通図柄当たり判定フラグがＯＦＦに設定（５ＡＨが設定されていない）されていれば（ステップＳ１１８：ＯＦＦ）、主制御ＣＰＵ６００は、普通図柄の表示データの更新を行い（ステップＳ１１３）、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。そして、普通図柄当たり判定フラグがＯＮに設定（５ＡＨが設定）されていれば（ステップＳ１１８：ＯＮ）、主制御ＣＰＵ６００は、ステップＳ１０４にて用いられる普通図柄当たり作動フラグをＯＮ（５ＡＨを設定）に設定した（ステップＳ１１９）後、普通図柄処理を終了し、図１５に示すステップＳ２８の特別図柄処理に移行する。
【０１７０】
＜特別図柄処理＞
次に、図１７〜図２１を参照して、上記特別図柄処理（図１５のステップＳ２８）について詳細に説明する。図１７に示すように、特別図柄処理は、先ず、特別図柄１始動口４２（図２参照）の特別図柄１始動口スイッチ４２ａ（図３参照）において、遊技球の入球（入賞球）を検出したか否かを確認し（ステップＳ２００）、さらに、特別図柄２始動口４３（図２参照）の特別図柄２始動口スイッチ４３ａにおいて、遊技球の入球（入賞球）を検出したか否かを確認する（ステップＳ２０１）。
【０１７１】
＜特別図柄処理：始動口チェック処理＞
この処理について、図１８を用いて詳しく説明すると、主制御ＣＰＵ６００は、特別図柄１始動口４２又は特別図柄２始動口４３に遊技球が入球（入賞）したか否かを確認、すなわち、特別図柄１始動口４２の特別図柄１始動口スイッチ４２ａ又は特別図柄２始動口４３の特別図柄２始動口スイッチ４３ａのレベルを確認する（ステップＳ３００）。これにより、遊技球の入球（入賞）を検出しなければ（ステップＳ３００：ＮＯ）、図１５に示すステップＳ２８の処理を終える。
【０１７２】
一方、遊技球の入球（入賞）を検出すれば（ステップＳ３００：ＹＥＳ）、主制御ＣＰＵ６００は、特別図柄の変動契機となる始動保留球数が所定数、主制御ＲＡＭ６２０内の始動保留記憶領域に格納されているか否かを確認する（ステップＳ３０１）。その始動保留球数が、４未満であれば（ステップＳ３０１：≠ＭＡＸ）、当該始動保留球数を１加算（＋１）する（ステップＳ３０２）。
【０１７３】
次いで、主制御ＣＰＵ６００は、特別図柄停止の際用いられる乱数値及び変動パターン用乱数値を図４に示す８ビット乱数ラッチ１回路６３４０Ａ（Ｂ），８ビット乱数ラッチ２回路６３４１Ａ（Ｂ），８ビットカスタム乱数ラッチ１回路６３６０Ａ（Ｂ），８ビットカスタム乱数ラッチ２回路６３６１Ａ（Ｂ）にて保持（ラッチ）されている乱数値を、図８（ｂ）に示す８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ１_Ａ（Ｂ），８ビット乱数ラッチレジスタＲＮＤＦ０８ＲＧ２_Ａ（Ｂ）、又は、図８（ｄ）に示す８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ１_Ａ（Ｂ），８ビットカスタム乱数ラッチレジスタＲＮＤＶ０８ＲＧ２_Ａ（Ｂ）から読み出し、その読み出した乱数値を特別図柄の変動契機となる始動保留球数が格納されている主制御ＲＡＭ６２０内の始動保留記憶領域に格納する。そしてさらに、主制御ＣＰＵ６００は、大当たり判定用乱数値として、図４に示す１６ビット乱数ラッチ１回路６３３０Ａ（Ｂ），１６ビット乱数ラッチ２回路６３３１Ａ（Ｂ），１６ビットカスタム乱数ラッチ１回路６３５０Ａ（Ｂ），１６ビットカスタム乱数ラッチ２回路６３５１Ａ（Ｂ）にて保持（ラッチ）されている乱数値を、図８（ａ）に示す１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ１_Ａ（Ｂ），１６ビット乱数ラッチレジスタＲＮＤＦ１６ＲＧ２_Ａ（Ｂ），図８（ｃ）に示す１６ビットカスタム乱数ラッチレジスタＲＮＤＶ１６ＲＧ１_Ａ（Ｂ），ＲＮＤＶ１６ＲＧ２_Ａ（Ｂ）から読み出し、その読み出した乱数値を特別図柄の変動契機となる始動保留球数が格納されている主制御ＲＡＭ６２０内の始動保留記憶領域に格納する（ステップ３０３）。
【０１７４】
次いで、主制御ＣＰＵ６００は、現在の遊技状態（特別図柄大当たり判定フラグがＯＮに設定されているか否か等）を確認し、先読み禁止状態か否かを判定する（ステップＳ３０４）。そして、先読み禁止状態でなければ（ステップＳ３０４：ＮＯ）、主制御ＣＰＵ６００は、上記ステップＳ３０３にて主制御ＲＡＭ６２０内の始動保留記憶領域に格納した特別図柄の当否抽選に用いられる大当たり判定用乱数値を取得し（ステップＳ３０５）、さらに、図示しない始動口入賞時乱数判定テーブルを取得する（ステップＳ３０６）。
【０１７５】
次いで、主制御ＣＰＵ６００は、上記ステップＳ３０５にて取得した大当たり判定用乱数値及びステップＳ３０６にて取得した始動口入賞時乱数判定テーブルを用いて、大当たり抽選を行い、さらに、上記ステップＳ３０３にて主制御ＲＡＭ６２０内の始動保留記憶領域に格納した特別図柄用乱数値を用いて、大当たりの種類（１５Ｒ確変大当り、１５Ｒ非確変大当たり等）を決定し、変動パターン用乱数値を用いて、変動パターンを決定し、それに応じた特別図柄始動口入賞コマンドを生成する（ステップＳ３０７）。
【０１７６】
次いで、主制御ＣＰＵ６００は、上記生成された特別図柄始動口入賞コマンドに応じた下位バイトの始動保留加算コマンドを生成する（ステップＳ３０８）。
【０１７７】
一方、主制御ＣＰＵ６００は、上記ステップＳ３０８の処理を終えるか、又は、上記ステップＳ３０１にて特別図柄１又は２の始動保留球数が４以上であるか（ステップＳ３０１：＝ＭＡＸ）、あるいは、先読み禁止状態であれば（ステップＳ３０４：ＹＥＳ）、増加した始動保留球数に応じた上位バイトの始動保留加算コマンドを生成する（ステップＳ３０９）。
【０１７８】
次いで、主制御ＣＰＵ６００は、上記ステップＳ３０８にて生成した下位バイトの始動保留加算コマンドと、上記ステップＳ３０９にて生成した上位バイトの始動保留加算コマンドとを結合した上で、演出制御コマンド（始動保留加算コマンド）として、演出制御基板９０（図３参照）に送信する処理を行う（ステップＳ６０）。
【０１７９】
＜特別図柄処理＞
かくして、図１７に示すステップＳ２００及びステップＳ２０１の処理を終えると、主制御ＣＰＵ６００は、特別図柄小当たり作動フラグがＯＮに設定されているか、すなわち、特別図柄小当たり作動フラグに５ＡＨが設定されているかを確認する（ステップＳ２０２）。特別図柄小当たり作動フラグに５ＡＨが設定されていれば（ステップＳ２０２：ＯＮ）、特別図柄が小当たり中であると判断し、特別図柄の表示データの更新を行った後（ステップＳ２０８）、図１５に示すステップＳ２８の特別図柄処理を終了する。
【０１８０】
一方、特別図柄小当たり作動フラグに５ＡＨが設定されていなければ（ステップＳ２０２：ＯＦＦ）、特別図柄大当たり作動フラグがＯＮに設定されているか、すなわち、特別図柄大当たり作動フラグに５ＡＨが設定されているかを確認する（ステップＳ２０３）。特別図柄大当たり作動フラグに５ＡＨが設定されていれば（ステップＳ２０３：ＯＮ）、特別図柄が大当たり中であると判断し、特別図柄の表示データの更新を行った後（ステップＳ２０８）、図１５に示すステップＳ２８の特別図柄処理を終了する。
【０１８１】
一方、特別図柄大当たり作動フラグに５ＡＨが設定されていなければ（ステップＳ２０３：ＯＦＦ）、特別図柄の挙動を示す処理状態、すなわち、特別図柄動作ステータスフラグの値を確認する（ステップＳ２０４）。より詳しく説明すると、主制御ＣＰＵ６００は、特別図柄動作ステータスフラグの値が００Ｈ又は０１Ｈであれば、特別図柄変動待機中（特別図柄の変動が行われておらず次回の変動のための待機状態であることを示す）であると判定し、特別図柄変動開始処理を行う（ステップＳ２０５）。
【０１８２】
＜特別図柄処理：特別図柄変動開始処理＞
この処理について、図１９を用いて詳しく説明すると、主制御ＣＰＵ６００は、特別図柄始動保留球数が０か否かを確認する（ステップＳ４００）。すなわち、主制御ＲＡＭ６２０内の特別図柄始動保留記憶領域を確認し、特別図柄始動保留球数が０であると主制御ＣＰＵ６００が判断した場合は（ステップＳ４００：＝０）、特別図柄動作ステータスフラグの値が００Ｈか否かを確認する（ステップＳ４０１）。特別図柄動作ステータスフラグの値が００Ｈであれば（ステップＳ４０１：ＹＥＳ）、図１７に示すステップＳ２０５の特別図柄変動開始処理を終了する。
【０１８３】
一方、特別図柄動作ステータスフラグの値が００Ｈでなければ（ステップＳ４０１：ＮＯ）、主制御ＣＰＵ６００は、演出制御コマンド（客待ちデモコマンド）を演出制御基板９０（図３参照）に送信し（ステップＳ４０２）、特別図柄動作ステータスフラグに００Ｈをセットした上で（ステップＳ４０３）、図１７に示すステップＳ２０５の特別図柄変動開始処理を終了する。
【０１８４】
他方、特別図柄始動保留球数が０でないと判断した場合（ステップＳ４００：≠０）、主制御ＣＰＵ６００は、特別図柄始動保留球数を１減算（−１）し（ステップＳ４０４）、演出制御コマンド（始動保留減算コマンド）を演出制御基板９０（図３参照）に送信する（ステップＳ４０５）。
【０１８５】
次いで、主制御ＣＰＵ６００は、図１６に示すステップＳ１１１の処理と同様、特別図柄始動保留球数に対応した特別図柄の当否抽選に用いられる乱数値（図１８のステップＳ３０３にて格納した大当たり判定用乱数値）が格納されている主制御ＲＡＭ６２０内の記憶領域をシフトし（ステップＳ４０６）、特別図柄始動保留４に対応した特別図柄の当否抽選に用いられる乱数値が格納されていた主制御ＲＡＭ６２０の領域に０を設定する（ステップＳ４０７）。
【０１８６】
次いで、主制御ＣＰＵ６００は、図１８のステップＳ３０３にて主制御ＲＡＭ６２０内の特別図柄始動保留記憶領域に格納した大当たり判定用乱数値を用いて当たり判定を行う。具体的には、大当たり判定用乱数値と、図２２（ｂ）に示す特別図柄大当たり判定テーブルＳＤＨ_ＴＢＬに格納されている判定値とを比較、又は、図２２（ｃ）に示す特別図柄小当たり判定テーブルＳＤＰ_ＴＢＬに格納されている判定値とを比較して、特別図柄の当たり判定を行う。すなわち、特別図柄大当たり判定テーブルＳＤＨ_ＴＢＬには、図２２（ｂ）に示すように、遊技状態が通常状態の場合、下限値として１０００１，上限値として１０１６４が格納され、遊技状態が確変状態（当たり抽選確率が通常より高確率状態である確率変動状態）の場合、下限値として１０００１，上限値として１１６４０が格納されている。そのため、遊技状態が通常状態で、大当たり判定用乱数値が１０００１〜１０１６４の場合、特別図柄は大当たりとなり、それ以外の乱数値はハズレとなる。そして、遊技状態が確変状態で、大当たり判定用乱数値が１０００１〜１１６４０の場合、特別図柄は大当たりとなり、それ以外の乱数値はハズレとなる。また、特別図柄小当たり判定テーブルＳＤＰ_ＴＢＬには、図２２（ｃ）に示すように、下限値として２０００１，上限値として２０１６４が格納されている。そのため、大当たり判定用乱数値が２０００１〜２０１６４の場合、特別図柄は小当たりとなり、それ以外の乱数値はハズレとなる。このようにして、図１８のステップＳ３０３にて主制御ＲＡＭ６２０内の特別図柄始動保留記憶領域に格納した大当たり判定用乱数値の当たり判定が行われる（ステップＳ４０８）。
【０１８７】
次いで、主制御ＣＰＵ６００は、図１８のステップＳ３０３にて主制御ＲＡＭ６２０内の特別図柄始動保留記憶領域に格納した特別図柄用乱数値を用いて、特別図柄の停止図柄を生成する（ステップＳ４０９）。
【０１８８】
次いで、主制御ＣＰＵ６００は、通常状態、時短状態、潜伏確変状態、確変状態のいずれかの遊技状態に移行する準備を行う（ステップＳ４１０）。
【０１８９】
次いで、主制御ＣＰＵ６００は、図１８のステップＳ３０３にて主制御ＲＡＭ６２０内の特別図柄始動保留記憶領域に格納した変動パターン用乱数値を用いて特別図柄の変動パターンの生成を行う（ステップＳ４１１）。この際、特別図柄変動タイマに変動時間が設定される。
【０１９０】
次いで、主制御ＣＰＵ６００は、特別図柄変動中フラグに５ＡＨを設定し、ＯＮ状態にする（ステップＳ４１２）。
【０１９１】
次いで、主制御ＣＰＵ６００は、液晶表示装置４１（図２参照）に表示される特別図柄の特別図柄指定コマンドを生成し（ステップＳ４１３）、その生成した特別図柄指定コマンドを演出制御コマンドとして演出制御基板９０（図３参照）に送信する処理を行う（ステップＳ４１４）。
【０１９２】
次いで、主制御ＣＰＵ６００は、特別図柄動作ステータスフラグに０２Ｈを設定し（ステップＳ４１５）、図１７に示すステップＳ２０５の特別図柄変動開始処理を終了する。
【０１９３】
他方、主制御ＣＰＵ６００は、図１７に示すステップＳ２０４にて、特別図柄動作ステータスフラグの値が０２Ｈであれば、特別図柄変動中（特別図柄が現在変動中であることを示す）であると判定し、特別図柄変動中処理を行う（ステップ２０６）。
【０１９４】
＜特別図柄処理：特別図柄変動中処理＞
この処理について、図２０を用いて詳しく説明すると、主制御ＣＰＵ６００は、まず、図１９のステップＳ４１１にて特別図柄変動タイマに設定された変動時間が経過したか、すなわち、０になったか否かを確認する（ステップＳ５００）。特別図柄変動タイマが０でなければ（ステップＳ５００：ＮＯ）、主制御ＣＰＵ６００は、図１７に示すステップＳ２０６の特別図柄変動中処理を終了する。
【０１９５】
一方、特別図柄変動タイマが０であれば（ステップＳ５００：ＹＥＳ）、主制御ＣＰＵ６００は、演出制御コマンド（変動停止コマンド）を演出制御基板９０（図３参照）に送信する（ステップＳ５０１）。そして、主制御ＣＰＵ６００は、特別図柄動作ステータスフラグに０３Ｈを設定し、特別図柄変動中フラグに００Ｈを設定する。そしてさらに、主制御ＣＰＵ６００は、特別図柄の当否抽選結果を一定時間維持するために、特別図柄変動タイマに例えば約５００ｍｓの時間を設定する（ステップＳ５０２）。その後、主制御ＣＰＵ６００は、図１７に示すステップＳ２０６の特別図柄変動中処理を終了する。
【０１９６】
他方、主制御ＣＰＵ６００は、図１７に示すステップＳ２０４にて、特別図柄動作ステータスフラグの値が０３Ｈであれば、特別図柄確認中（特別図柄の変動が終了して停止中であることを示す）であると判定し、特別図柄確認時間中処理を行う（ステップＳ２０７）。
【０１９７】
＜特別図柄処理：特別図柄確認中処理＞
この処理について、図２１を用いて詳しく説明すると、主制御ＣＰＵ６００は、まず、図１８のステップＳ４１１にて特別図柄変動タイマに設定された変動時間が経過したか、すなわち、０になったか否かを確認する（ステップＳ６００）。特別図柄変動タイマが０でなければ（ステップＳ６００≠０）、主制御ＣＰＵ６００は、図１７に示すステップＳ２０７の特別図柄確認時間中処理を終了する。
【０１９８】
一方、特別図柄変動タイマが０であれば（ステップＳ６００＝０）、主制御ＣＰＵ６００は、特別図柄動作ステータスフラグに０１Ｈを設定し（ステップＳ６０１）、特別図柄大当たり判定フラグがＯＮに設定されているか（５ＡＨが設定されているか）を確認する（ステップＳ６０２）。特別図柄大当たり判定フラグがＯＮに設定されていれば（５ＡＨが設定されていれば）（ステップＳ６０２：ＹＥＳ）、特別図柄大当たり判定フラグに００Ｈを設定し、図１７のステップＳ２０３にて使用する特別図柄大当たり作動フラグに５ＡＨを設定し、そして普通図柄時短フラグに００Ｈを設定し、普通図柄確変フラグに００Ｈを設定し、さらに、特別図柄時短フラグに００Ｈを設定し、特別図柄確変フラグに００Ｈを設定し、後述する特別図柄時短回数カウンタ及び特別図柄確変回数カウンタに００Ｈを設定する処理を行う（ステップＳ６０３）。その後、主制御ＣＰＵ６００は、図１７に示すステップＳ２０７の特別図柄確認時間中処理を終了する。
【０１９９】
他方、特別図柄大当たり判定フラグがＯＮに設定されていなければ（５ＡＨが設定されていなければ）（ステップＳ６０２：ＮＯ）、主制御ＣＰＵ６００は、特別図柄小当たり判定フラグがＯＮに設定されているか（５ＡＨが設定されているか）を確認する（ステップＳ６０４）。特別図柄小当たり判定フラグがＯＮに設定されていれば（５ＡＨが設定されていれば）（ステップＳ６０４：ＹＥＳ）、特別図柄小当たり判定フラグに００Ｈを設定し、図１７のステップＳ２０２にて使用する特別図柄小当たり作動フラグに５ＡＨを設定する（ステップＳ６０５）。
【０２００】
主制御ＣＰＵ６００は、上記ステップＳ６０５の処理を終えた後、又は、特別図柄小当たり判定フラグがＯＮに設定されていなければ（５ＡＨが設定されていなければ）（ステップＳ６０４：ＮＯ）、特別図柄時短回数カウンタの値が０か否かを確認する（ステップＳ６０６）。
【０２０１】
特別図柄時短回数カウンタの値が０でなければ（ステップＳ６０６：ＮＯ）、特別図柄時短回数カウンタの値を１減算（−１）し（ステップＳ６０７）、主制御ＣＰＵ６００は、再度、特別図柄時短回数カウンタの値が０か否かを確認する（ステップＳ６０８）。そして、特別図柄時短回数カウンタの値が０であれば（ステップＳ６０８：ＹＥＳ）、普通図柄時短フラグに００Ｈを設定すると共に、普通図柄確変フラグに００Ｈを設定し、さらに、普通図柄時短フラグに００Ｈを設定する（ステップＳ６０９）。
【０２０２】
上記ステップＳ６０９の処理を終えた後、又は、特別図柄時短回数カウンタの値が０（ステップＳ６０６：ＹＥＳ）、あるいは、特別図柄時短回数カウンタの値が０でなければ（ステップＳ６０８：ＮＯ）、主制御ＣＰＵ６００は、特別図柄確変回数カウンタの値が０か否かを確認する（ステップＳ６１０）。特別図柄確変回数カウンタの値が０であれば（ステップＳ６１０：ＹＥＳ）、主制御ＣＰＵ６００は、図１７に示すステップＳ２０７の特別図柄確認時間中処理を終了する。
【０２０３】
一方、特別図柄確変回数カウンタの値が０でなければ（ステップＳ６１０：ＮＯ）、主制御ＣＰＵ６００は、特別図柄確変回数カウンタの値を１減算（−１）し（ステップＳ６１１）、再度、特別図柄確変回数カウンタの値が０か否かを確認する（ステップＳ６１２）。特別図柄確変回数カウンタの値が０でなければ（ステップＳ６１２：ＮＯ）、主制御ＣＰＵ６００は、図１７に示すステップＳ２０７の特別図柄確認時間中処理を終了する。
【０２０４】
一方、特別図柄確変回数カウンタの値が０であれば（ステップＳ６１２：ＹＥＳ）、主制御ＣＰＵ６００は、普通図柄時短フラグに００Ｈを設定し、普通図柄確変フラグに００Ｈを設定し、特別図柄時短フラグに００Ｈを設定し、特別図柄確変フラグに００Ｈを設定する処理を行い（ステップＳ６１３）、図１７に示すステップＳ２０７の特別図柄確認時間中処理を終了する。
【０２０５】
＜特別図柄処理＞
このようにして、主制御ＣＰＵ６００は、図１７に示す特別図柄変動開始処理（ステップＳ２０５）、又は、特別図柄変動中処理（ステップＳ２０６）、あるいは、特別図柄確認時間中処理（ステップＳ２０７）を終えると、特別図柄の表示データの更新を行った後（ステップＳ２０８）、図１５に示すステップＳ２８の特別図柄処理を終える。
【０２０６】
しかして、以上説明した本実施形態によれば、乱数回路（例えば、ハードウェア乱数回路）が増加しても、制御に負荷をかけることなく複数の乱数回路の異常を検出し報知することができる。
【０２０７】
なお、本実施形態においては、ハードウェア乱数を使用するにあたって、ハード的にラッチされたハードウェア乱数を用いた例を示したがそれに限らず、ソフト的にラッチされたハードウェア乱数を用いても良い。すなわち、１６ビット乱数値レジスタＲＮＤＦ１６ＲＧ０_Ａ（Ｂ）（図６（ａ）参照）、８ビット乱数値レジスタＲＮＤＦ０８ＲＧ０_Ａ（Ｂ）（図６（ｂ）参照）、１６ビットカスタム乱数値レジスタＲＮＤＶ１６ＲＧ０_Ａ（Ｂ）（図６（ｃ）参照）、８ビットカスタム乱数値レジスタＲＮＤＶ０８ＲＧ０_Ａ（Ｂ）（図６（ｄ）参照）を所定のタイミング（例えば、図１５に示すステップＳ２４の乱数管理処理内）で主制御ＣＰＵ６００にて読み出し、主制御ＲＡＭ６２０内に保持（ラッチ）しておいても良い。
【符号の説明】
【０２０８】
１                    パチンコ遊技機
６０                  主制御基板（主制御手段）
６１０                主制御ＲＯＭ（記憶手段）
６１０ａ              プログラム領域（プログラム格納領域）
６４０                リセットコントローラ（異常リセット信号発生手段）
１３２０              システムリセット生成部（システムリセット信号発生手段）
６３００Ａ（Ｂ）      １６ビット乱数生成回路
６３０１Ａ（Ｂ）      ８ビット乱数生成回路
６３０２Ａ（Ｂ）      １６ビットカスタム乱数生成回路（乱数更新手段）
６３０３Ａ（Ｂ）      ８ビットカスタム乱数生成回路（乱数更新手段）
６３２３_１６Ａ（Ｂ）  最大値設定回路（最大値設定手段）
６３２３_８Ａ（Ｂ）    最大値設定回路（最大値設定手段）
ＣＬＫ                クロック信号（所定の信号）
【図１】
2018183618.tif 000003
【図２】
2018183618.tif 000004
【図３】
2018183618.tif 000005
【図４】
2018183618.tif 000006
【図５】
2018183618.tif 000007
【図６】
2018183618.tif 000008
【図７】
2018183618.tif 000009
【図８】
2018183618.tif 000010
【図９】
2018183618.tif 000011
【図１０】
2018183618.tif 000012
【図１１】
2018183618.tif 000013
【図１２】
2018183618.tif 000014
【図１３】
2018183618.tif 000015
【図１４】
2018183618.tif 000016
【図１５】
2018183618.tif 000017
【図１６】
2018183618.tif 000018
【図１７】
2018183618.tif 000019
【図１８】
2018183618.tif 000020
【図１９】
2018183618.tif 000021
【図２０】
2018183618.tif 000022
【図２１】
2018183618.tif 000023
【図２２】
2018183618.tif 000024