(57)【特許請求の範囲】
【請求項１】
所定の遊技を行うことが可能な遊技機において、
乱数値となる数値データを生成する複数の乱数回路と、
前記乱数回路を使用するか否かを示す第１情報と、前記乱数回路による制御を予め定められた設定と異なる設定で行うか否かを示す第２情報と、が前記乱数回路毎に記憶されている設定記憶領域と、
前記乱数回路に関して異常が発生しているかを判定する判定手段と、
前記判定手段の判定結果を示す情報が記憶される判定情報記憶領域と、
を備え、
前記設定記憶領域には、複数の前記乱数回路のうち一の乱数回路についての前記第１情報として使用する旨を示す情報が記憶されており、複数の前記乱数回路のうち他の前記乱数回路についての前記第１情報として使用しない旨を示す情報が記憶されており、前記他の乱数回路についての前記第２情報として、前記一の乱数回路についての前記第２情報と同一の設定で行う旨を示す情報が記憶されており、
前記判定手段は、前記第１情報として使用しない旨を示す情報が記憶されている前記乱数回路についても異常が発生しているか否かを判定し、
前記判定情報記憶領域には、前記第１情報として使用しない旨を示す情報が記憶されている前記乱数回路についての前記判定手段の判定結果を示す情報も記憶される
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ遊技機やスロットマシン等、所定の遊技を行うことが可能な遊技機に関する。
【背景技術】
【０００２】
この種の遊技機としては、抽選などに用いる乱数値を生成する乱数回路等の複数の回路を搭載した遊技制御用のマイクロコンピュータを備えるものがあり、このようなマイクロコンピュータでは、ＲＯＭ領域に割り当てられた設定領域の変更により、複数の回路の使用／未使用を任意に設定することが可能なものが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−５４４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されたスロットマシンのように複数の回路を搭載した遊技制御用のマイクロコンピュータを備え、そのうち機種によっては一部の回路しか使用しない場合もあり、このような場合には、使用しない回路について未使用に設定していても、ノイズ等によって回路が動作する可能性があり、マイクロコンピュータが想定外の動作を引き起こしてしまう虞がある。
【０００５】
本発明は、このような問題点に着目してなされたものであり、未使用の回路による想定外の動作を防止できる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の請求項１に記載の遊技機は、
所定の遊技を行うことが可能な遊技機において、
乱数値となる数値データを生成する複数の乱数回路と、
前記乱数回路を使用するか否かを示す第１情報と、前記乱数回路による制御を予め定められた設定と異なる設定で行うか否かを示す第２情報と、が前記乱数回路毎に記憶されている設定記憶領域と、
前記乱数回路に関して異常が発生しているかを判定する判定手段と、
前記判定手段の判定結果を示す情報が記憶される判定情報記憶領域と、
を備え、
前記設定記憶領域には、複数の前記乱数回路のうち一の乱数回路についての前記第１情報として使用する旨を示す情報が記憶されており、複数の前記乱数回路のうち他の前記乱数回路についての前記第１情報として使用しない旨を示す情報が記憶されており、前記他の乱数回路についての前記第２情報として、前記一の乱数回路についての前記第２情報と同一の設定で行う旨を示す情報が記憶されており、
前記判定手段は、前記第１情報として使用しない旨を示す情報が記憶されている前記乱数回路についても異常が発生しているか否かを判定し、
前記判定情報記憶領域には、前記第１情報として使用しない旨を示す情報が記憶されている前記乱数回路についての前記判定手段の判定結果を示す情報も記憶される
ことを特徴としている。
本発明の手段１に記載の遊技機は、
所定の遊技を行うことが可能な遊技機（スロットマシン１）において、
所定の制御を行う制御回路（乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル０〜３）と、
前記制御回路（乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル０〜３）を使用するか否かを示す第１情報（１６ビット乱数初期設定１（ＫＲＬ１）、１６ビット乱数初期設定２（ＫＲＬ２）、８ビット乱数初期設定１（ＫＲＳ１）、８ビット乱数初期設定２（ＫＲＳ２）における起動方法の選択）と、前記制御回路（乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル０〜３）による制御を予め定められた設定と異なる設定で行うか否かを示す第２情報（１６ビット乱数初期設定１（ＫＲＬ１）、１６ビット乱数初期設定２（ＫＲＬ２）、８ビット乱数初期設定１（ＫＲＳ１）、８ビット乱数初期設定２（ＫＲＳ２）における更新クロックの設定、乱数列変更方法の設定、１６ビット乱数初期設定３（ＫＲＬ３）におけるスタート地の設定、システムリセット毎の変更有無の設定）と、が少なくとも記憶される記憶領域（ＲＯＭ４１ｂのプログラム管理エリア領域）と、
を備え、
前記記憶領域には、前記第１情報として前記制御回路（乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３）を使用しない旨を示す情報（最大値設定で起動に対応する設定値、かつ最大値非設定）が記憶されている場合であっても、前記第２情報として当該制御回路（乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３）による制御を予め定められた設定と異なる設定で行う旨を示す情報（外部クロックの２周分、乱数列自動変更、ＩＤナンバーを基にしたスタート値、システムリセット毎にスタート値を変更）が記憶されている
ことを特徴としている。
この特徴によれば、記憶領域には、第１情報として制御回路を使用しない旨を示す情報が記憶されている場合であっても、第２情報として当該制御回路による制御を予め定められた設定と異なる設定で行う旨を示す情報が記憶されているので、何らかの原因で使用しない旨が設定された制御回路が動作してしまった場合であっても、第２情報として標準仕様として予め定められた初期設定ではなく、仮に動作してしまっても問題のない設定としておくことにより、当該制御回路による想定外の動作を防止できる。
【０００７】
本発明の手段２に記載の遊技機は、手段１に記載の遊技機であって、
前記制御回路を複数備え、
前記記憶領域には、複数の同種の制御回路（乱数回路５０８ｂのチャネル０〜３）のうち使用する一の制御回路（チャネル０、１）についての前記第１情報として使用する旨を示す情報（ユーザモード移行で自動起動）が記憶され、前記複数の同種の制御回路のうち前記一の制御回路とは異なる他の制御回路（チャネル２、３）についての前記第１情報として使用しない旨を示す情報（最大値設定で起動に対応する設定値、かつ最大値非設定）が記憶されている
ことを特徴としている。
この特徴によれば、複数の同種の制御回路のうち必要な制御回路のみ使用する場合において、未使用の制御回路による想定外の動作を防止できる。
【０００８】
本発明の手段３に記載の遊技機は、手段２に記載の遊技機であって、
前記記憶領域には、前記他の制御回路（チャネル２、３）についての前記第２情報として、前記一の制御回路についての前記第２情報と同一の設定で行う旨を示す情報（外部クロックの２周分、乱数列自動変更、ＩＤナンバーを基にしたスタート値、システムリセット毎にスタート値を変更）が記憶されている
ことを特徴としている。
この特徴によれば、何らかの原因で使用しない旨が設定された他の制御回路が動作してしまった場合であっても、第２情報として標準仕様として予め定められた初期設定ではなく、使用する旨が設定された同種の制御回路と同一設定としておくことにより、当該制御回路による動作を想定内の範囲に留めることができる。
【０００９】
本発明の手段４に記載の遊技機は、手段１〜３のいずれかに記載の遊技機であって、
前記制御回路は、乱数値となる数値データを生成する乱数回路（乱数回路５０８ｂのチャネル２、３）を含み、
前記記憶領域には、前記乱数回路（乱数回路５０８ｂのチャネル２、３）についての前記第１情報として使用しない旨を示す情報（最大値設定で起動に対応する設定値、かつ最大値非設定）が記憶され、該乱数回路（乱数回路５０８ｂのチャネル２、３）についての前記第２情報として、前記数値データの更新を開始する初期値を起動毎に変更する旨を示す情報（システムリセット毎にスタート値を変更）が記憶されている
ことを特徴としている。
この特徴によれば、未使用の乱数回路であっても、乱数回路により生成される数値データの特定が困難となるので、当該数値データを利用した不正を未然に防止することができる。
【００１０】
本発明の手段５に記載の遊技機は、手段１〜４のいずれかに記載の遊技機であって、
前記制御回路は、乱数値となる数値データを生成する乱数回路（乱数回路５０８ｂのチャネル２、３）を含み、
前記記憶領域には、前記乱数回路（乱数回路５０８ｂのチャネル２、３）についての前記第１情報として使用しない旨を示す情報（最大値設定で起動に対応する設定値、かつ最大値非設定）が記憶され、該乱数回路（乱数回路５０８ｂのチャネル２、３）についての前記第２情報として、前記数値データの更新方法を変更する旨を示す情報（乱数列自動変更）が記憶されている
ことを特徴としている。
この特徴によれば、未使用の乱数回路であっても、乱数回路により生成される数値データの特定が困難となるので、当該数値データを利用した不正を未然に防止することができる。
【００１１】
本発明の手段６に記載の遊技機は、手段１〜５のいずれかに記載の遊技機であって、
前記制御回路における制御について異常が発生しているか否かを判定する判定手段（更新監視回路５３７）と、
前記判定手段の判定結果を示す情報が記憶される判定情報記憶領域（内部情報レジスタ（ＣＩＦ））と、
を備え、
前記判定手段は、未使用の制御回路（乱数回路５０８ｂのチャネル２、３）についても異常（更新異常）が発生しているか否かを判定し、
前記判定情報記憶領域（内部情報レジスタ（ＣＩＦ））には、前記未使用の制御回路（乱数回路５０８ｂのチャネル２、３）についての判定結果を示す情報も記憶される
ことを特徴としている。
この特徴によれば、未使用の制御回路についても異常が発生した場合には、その有無を確認することができる。
【００１２】
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。
【図面の簡単な説明】
【００１３】
【図１】本発明が適用された実施例１のスロットマシンの正面図である。
【図２】スロットマシンの内部構造を示す斜視図である。
【図３】リールの図柄配列を示す図である。
【図４】スロットマシンの構成を示すブロック図である。
【図５】メイン制御部の構成を示すブロック図である。
【図６】メイン制御部におけるアドレスマップの一例を示す図である。
【図７】プログラム管理エリアの主要部分を例示する図である。
【図８】内蔵レジスタの主要部分を例示する図である。
【図９】内蔵レジスタの主要部分を例示する図である。
【図１０】内蔵レジスタの主要部分を例示する図である。
【図１１】ヘッダ（ＫＨＤＲ）における設定データと動作との対応関係を例示する図である。
【図１２】プログラムコードエンドアドレス（ＫＰＣＥ）、プログラムコードスタートアドレス２（ＫＰＣＳ２）、およびプログラムコードエンドアドレス２（ＫＰＣＥ２）における設定内容の一例を示す図である。
【図１３】リセット設定（ＫＲＥＳ）における設定内容の一例を示す図である。
【図１４】１６ビット乱数初期設定１（ＫＲＬ１）のにおける設定内容の一例を示す図である。
【図１５】１６ビット乱数初期設定２（ＫＲＬ２）における設定内容の一例を示す図である。
【図１６】１６ビット乱数初期設定３（ＫＲＬ３）のにおける設定内容の一例を示す図である。
【図１７】８ビット乱数初期設定１（ＫＲＳ１）のにおける設定内容の一例を示す図である。
【図１８】８ビット乱数初期設定２（ＫＲＳ２）のにおける設定内容の一例を示す図である。
【図１９】セキュリティ時間設定（ＫＳＥＳ）における設定内容の一例を示す図である。
【図２０】乱数クロック監視設定（ＫＲＣＳ）における設定内容の一例を示す図である。
【図２１】内部情報レジスタの構成例等を示す図である。
【図２２】８ビット乱数回路の一構成例を示すブロック図である。
【図２３】１６ビット乱数回路の一構成例を示すブロック図である。
【図２４】ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）の構成例および設定内容の一例を示す説明図である。
【図２５】ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）の構成例および設定内容の一例を示す説明図である。
【図２６】ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）の構成例および設定内容の一例を示す説明図である。
【図２７】ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）の構成例および設定内容の一例を示す説明図である。
【図２８】ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）の構成例および設定内容の一例を示す説明図である。
【図２９】ＲＬ割込制御レジスタ０（ＲＬＩＣ０）の構成例および設定内容の一例を示す説明図である。
【図３０】ＲＬ割込制御レジスタ１（ＲＬＩＣ１）の構成例および設定内容の一例を示す説明図である。
【図３１】ＲＳ割込制御レジスタ（ＲＳＩＣ）の構成例および設定内容の一例を示す説明図である。
【図３２】ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）の構成例および設定内容の一例を示す説明図である。
【図３３】ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）の構成例および設定内容の一例を示す説明図である。
【図３４】乱数列変更レジスタ（ＲＤＳＣ）の構成例および設定内容の一例を示す説明図である。
【図３５】乱数ソフトラッチレジスタ（ＲＤＳＬ）の構成例および設定内容の一例を示す説明図である。
【図３６】乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の構成例および設定内容の一例を示す説明図である。
【図３７】ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）の構成例および設定内容の一例を示す説明図である。
【図３８】ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）の構成例および設定内容の一例を示す説明図である。
【図３９】ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の構成例および設定内容の一例を示す説明図である。
【図４０】ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の構成例および設定内容の一例を示す説明図である。
【図４１】ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）の構成例および設定内容の一例を示す説明図である。
【図４２】ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４３】ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４４】ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４５】ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４６】ＲＳｎハードラッチ乱数値レジスタ（ＲＳｎＨＶ）の構成例および設定内容の一例を示す説明図である。
【発明を実施するための形態】
【００１４】
本発明の遊技機を実施するための形態を実施例に基づいて以下に説明する。
【実施例】
【００１５】
本発明が適用された遊技機の一例であるスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン１は、図２に示すように、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂと、から構成されている。
【００１６】
本実施例のスロットマシン１の筐体１ａの内部には、図２に示すように、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リール）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００１７】
リール２Ｌ、２Ｃ、２Ｒの外周部には、図３に示すように、それぞれ「黒７」、「網７（図中網掛け７）」、「白７」、「ＢＡＲ」、「リプレイ」、「プラム」、「スイカ」、「チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、前面扉１ｂの略中央に設けられた透視窓３において各々上中下三段に表示される。
【００１８】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）によって回転させることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示されるとともに、各リール２Ｌ、２Ｃ、２Ｒの回転を停止させることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００１９】
リール２Ｌ、２Ｃ、２Ｒの内側には、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒと、リール２Ｌ、２Ｃ、２Ｒを背面から照射するリールＬＥＤ５５と、が設けられている。また、リールＬＥＤ５５は、リール２Ｌ、２Ｃ、２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００２０】
前面扉１ｂにおける各リール２Ｌ、２Ｃ、２Ｒに対応する位置には、リール２Ｌ、２Ｃ、２Ｒを前面側から透視可能とする横長長方形状の透視窓３が設けられており、該透視窓３を介して遊技者側から各リール２Ｌ、２Ｃ、２Ｒが視認できるようになっている。
【００２１】
前面扉１ｂには、図１に示すように、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数（本実施例ではいずれの遊技状態においても３）を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒ、演出に用いるための演出用スイッチ５６が遊技者により操作可能にそれぞれ設けられている。
【００２２】
尚、本実施例では、回転を開始した３つのリール２Ｌ、２Ｃ、２Ｒのうち、最初に停止するリールを第１停止リールと称し、また、その停止を第１停止と称する。同様に、２番目に停止するリールを第２停止リールと称し、また、その停止を第２停止と称し、３番目に停止するリールを第３停止リールと称し、また、その停止を第３停止あるいは最終停止と称する。
【００２３】
また、前面扉１ｂには、図１に示すように、画像を表示可能な液晶表示器５１、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器１２、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられた遊技用表示部１３が設けられている。
【００２４】
ＭＡＸＢＥＴスイッチ６の内部には、ＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図４参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図４参照）がそれぞれ設けられている。
【００２５】
前面扉１ｂの内側には、図２に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３（図４参照）、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、ボーナス終了時に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、ボーナス終了時に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂ、メダル投入部４から投入されたメダルの流路を、筐体１ａ内部に設けられた後述のホッパータンク３４ａ側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０（図４参照）、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１（図４参照）を有するメダルセレクタ２９、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図４参照）が設けられている。
【００２６】
筐体１ａ内部には、図２に示すように、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ、３３Ｃ、３３Ｒ（図４参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００（図４参照）、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ（図４参照）、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃ（図４参照）からなるホッパーユニット３４、電源ボックス１００が設けられている。
【００２７】
ホッパーユニット３４の側部には、ホッパータンク３４ａから溢れたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、メダルの貯留量が所定量以上となったこと、すなわちオーバーフロータンク３５が満タン状態となったことを検出する満タンセンサ３５ａが設けられている。
【００２８】
電源ボックス１００の前面には、図２に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００２９】
尚、電源ボックス１００は、筐体１ａの内部に設けられており、さらに前面扉１ｂは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス１００の前面に設けられた設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ２３も同様である。特に、設定キースイッチ３７は、キー操作により前面扉１ｂを開放したうえで、さらにキー操作を要することから、遊技場の店員のなかでも、設定キースイッチ３７の操作を行うキーを所持する店員のみ操作が可能とされている。
【００３０】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬＮ（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、規定数の賭数として遊技状態に関わらず３枚が定められて規定数の賭数が設定されると入賞ラインＬＮが有効となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００３１】
入賞ラインとは、各リール２Ｌ、２Ｃ、２Ｒの透視窓３に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図１に示すように、リール２Ｌの中段、リール２Ｃの中段、リール２Ｒの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインＬＮのみが入賞ラインとして定められている。尚、本実施例では、１本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
【００３２】
また、本実施例では、入賞ラインＬＮに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインＬＮとは別に、無効ラインＬＭ１〜４を設定している。無効ラインＬＭ１〜４は、これら無効ラインＬＭ１〜４に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインＬＭ１〜４のいずれかに入賞ラインＬＮに揃った場合に入賞となる図柄の組合せ（例えば、ベル−ベル−ベル）が揃う構成とすることで、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。本実施例では、図１に示すように、リール２Ｌの上段、リール２Ｃの上段、リール２Ｒの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ１、リール２Ｌの下段、リール２Ｃの下段、リール２Ｒの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ２、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインＬＭ３、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインＬＭ４の４種類が無効ラインＬＭとして定められている。
【００３３】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３４】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、入賞ラインＬＮ上に予め定められた図柄の組合せ（以下、役とも呼ぶ）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。また、入賞ラインＬＮ上に、遊技状態の移行を伴う図柄の組合せが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
【００３５】
尚、本実施例では、スタートスイッチ７の操作が有効な状態でスタートスイッチ７の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための１単位の制御（ゲーム制御）は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
【００３６】
また、本実施例では、３つのリールを用いた構成を例示しているが、リールが１つのみ用いた構成、２つのリールを用いた構成、４つ以上のリールを用いた構成としても良く、２以上のリールを用いた構成においては、２以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。
【００３７】
また、本実施例におけるスロットマシン１にあっては、ゲームが開始されて各リール２Ｌ、２Ｃ、２Ｒが回転して図柄の変動が開始した後、いずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに、当該ストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作から対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止するまでの最大停止遅延時間は１９０ｍｓ（ミリ秒）である。
【００３８】
リール２Ｌ、２Ｃ、２Ｒは、１分間に８０回転し、８０×２１（１リール当たりの図柄コマ数）＝１６８０コマ分の図柄を変動させるので、１９０ｍｓの間では最大で４コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに表示されている図柄と、そこから４コマ先までにある図柄、合計５コマ分の図柄である。
【００３９】
このため、例えば、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から４コマ先までの図柄を下段に表示させることができるため、リール２Ｌ、２Ｃ、２Ｒ各々において、ストップスイッチ８Ｌ、８Ｒのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて５コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
【００４０】
図４は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図４に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００４１】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び遊技制御基板４０を介して接続された演出制御基板９０に供給されるようになっている。尚、演出制御基板に対して電源を供給する電源供給ラインが遊技制御基板４０を介さず、電源基板１０１から演出制御基板９０に直接接続され、電源基板１０１から演出制御基板９０に対して直接電源が供給される構成としても良い。
【００４２】
また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００４３】
遊技制御基板４０には、前述したＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、投入メダルセンサ３１、ドア開放検出スイッチ２５、リールセンサ３３Ｌ、３３Ｃ、３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
【００４４】
また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００４５】
遊技制御基板４０には、メイン制御部４１、制御用クロック生成回路４２、乱数用クロック生成回路４３、スイッチ検出回路４４、モータ駆動回路４５、ソレノイド駆動回路４６、ＬＥＤ駆動回路４７、電断検出回路４８、リセット回路４９が搭載されている。
【００４６】
メイン制御部４１は、遊技の進行に関する処理を行うととともに、遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御する。メイン制御部４１では、後述のＣＰＵ４１ａがＲＯＭ４１ｂに格納されているプログラムに従って制御を実行するので、以下、メイン制御部４１が実行する（または、処理を行う）ということは、具体的には、ＣＰＵ４１ａがプログラムに従って制御を実行することである。このことは、後述するサブ制御部９１についても同様である。ただし、後述するように、スロットマシン１への電源投入時やシステムリセット発生時には、メイン制御部４１は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や搭載回路の設定、レジスタの設定などを行うのであるが、この設定動作については、メイン制御部４１は、プログラムによらず、ハードウェア的に実行する。
【００４７】
制御用クロック生成回路４２は、メイン制御部４１の外部にて、所定周波数の発振信号となる制御用クロックＣＣＬＫを生成する。制御用クロック生成回路４２により生成された制御用クロックＣＣＬＫは、クロック回路５０２に供給される。乱数用クロック生成回路４３は、メイン制御部４１の外部にて、制御用クロックＣＣＬＫの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックＲＣＬＫを生成する。乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫは、乱数回路５０８ａ、５０８ｂに供給される。一例として、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫの発振周波数は、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数以下となるようにすれば良い。あるいは、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫの発振周波数は、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数よりも高周波となるようにしても良い。
【００４８】
尚、本実施例では、乱数用クロック生成回路４３から専用の乱数用クロックＲＣＬＫを乱数回路５０８ａ、５０８ｂに入力する場合を示しているが、そのような態様に限られない。例えば、専用のクロックを用いるのではなく、制御用クロック生成回路４２からの制御用クロックＣＣＬＫをメイン制御部４１内部で乱数回路５０８ａ、５０８ｂに入力させるように構成しても良い。この場合、例えば、制御用クロックＣＣＬＫを分周した信号を用いて乱数回路５０８ａ、５０８ｂ内蔵の乱数カウンタ（後述する乱数生成回路５２５ａ、５２５ｂ）を更新させるようにしても良い。また、この場合、乱数用クロック生成回路４３は遊技制御基板４０上に設けなくても良い。
【００４９】
スイッチ検出回路４４は、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送する。モータ駆動回路４５は、メイン制御部４１から出力されたモータ駆動信号をリールモータ３２Ｌ、３２Ｃ、３２Ｒに伝送する。ソレノイド駆動回路４６は、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送する。ＬＥＤ駆動回路４７は、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送する。電断検出回路４８は、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する。リセット回路４９は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部４１にシステムリセット信号を与える。
【００５０】
図５は、遊技制御基板４０に搭載されたメイン制御部４１の構成例を示している。図５に示すメイン制御部４１は、図５に示すメイン制御部４１は、１チップマイクロコンピュータであり、外部バスインターフェイス５０１と、クロック回路５０２と、照合用ブロック５０３と、固有情報記憶回路５０４と、演算回路５０５と、リセット／割込コントローラ５０６と、ＣＰＵ（Central  Processing  Unit）５６と、ＲＯＭ（Read  Only  Memory）５４と、ＲＡＭ（Random  Access  Memory）５５と、フリーランカウンタ回路５０７と、乱数回路５０８ａ、５０８ｂと、タイマ回路５０９と、割込コントローラ５１０と、パラレル入力ポート５１１と、シリアル通信回路５１２と、パラレル出力ポート５１３と、アドレスデコード回路５１４とを備えて構成される。
【００５１】
リセット／割込コントローラ５０６は、外部割込要求や、内蔵の周辺回路（例えば、シリアル通信回路５１２、乱数回路５０８ａ、５０８ｂ、タイマ回路５０９）からの割込要求を制御する回路である。リセット／割込コントローラ５０６は、指定エリア外走行禁止（ＩＡＴ）回路５０６ａとウォッチドッグタイマ（ＷＤＴ）５０６ｂとを備える。ＩＡＴ回路５０６ａは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとＩＡＴ発生信号を出力する機能を備える。また、ウォッチドッグタイマ５０６ｂは、設定期間ごとにタイムアウト信号を発生させる機能を備える。
【００５２】
リセット／割込コントローラ５０６が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子ＸＳＲＳＴに一定の期間にわたりローレベル信号が入力されたときに発生するリセットである。尚、本実施例では、リセット設定（ＫＲＥＳ）の設定により、ウォッチドッグタイマ（ＷＤＴ）のタイムアウト信号が発生したときや、指定エリア外走行禁止（ＩＡＴ）が発生したときにも、システムリセットが発生することがある。ユーザリセットは、ウォッチドッグタイマ（ＷＤＴ）のタイムアウト信号が発生したことや、指定エリア外走行禁止（ＩＡＴ）が発生したことなど、所定の要因により発生するリセットである。
【００５３】
リセット／割込コントローラ５０６が制御する割込には、ノンマスカブル割込ＮＭＩとマスカブル割込ＩＮＴが含まれている。ノンマスカブル割込ＮＭＩは、ＣＰＵ４１ａの割込禁止状態でも無条件に受け付けられる割込であり、外部ノンマスカブル割込端子ＸＮＭＩ（入力ポートＰＩ６と兼用）に一定の期間にわたりローレベル信号が入力されたときに発生する割込である。マスカブル割込ＩＮＴは、ＣＰＵ４１ａの設定命令により、割込要求の受け付けを許可／禁止できる割込であり、優先順位設定による多重割込の実行が可能である。マスカブル割込ＩＮＴの要因としては、外部マスカブル割込端子ＸＩＮＴ（入力ポートＰＩ５と兼用）に一定の期間にわたりローレベル信号が入力されたこと、タイマ回路５０９にてタイムアウトが発生したこと、シリアル通信回路５１２にてデータ受信またはデータ送信による割込要因が発生したこと、乱数回路５０８ａ、５０８ｂにて乱数値となる数値データの取込による割込要因が発生したことなど、複数種類の割込要因があらかじめ定められていれば良い。
【００５４】
外部バスインターフェイス５０１は、メイン制御部４１を構成するチップの外部バスと内部バスとのインターフェイス機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインターフェイスである。例えば、外部バスインターフェイス５０１は、メイン制御部４１に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであれば良い。
【００５５】
クロック回路５０２は、クロック回路５０２は、例えば制御用外部クロック端子ＥＸに入力される発振信号を２分周することなどにより、内部システムクロックＳＣＬＫを生成する回路である。尚、生成された内部システムクロックは、外部出力端子（ＣＬＫＯ端子）から外部に出力される。
【００５６】
照合用ブロック５０３は、外部の照合機と接続し、チップの照合を行う機能を備える。演算回路５０５は、乗算及び除算を行う回路である。
【００５７】
固有情報記憶回路５０４は、メイン制御部４１の内部情報となる複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路５０４は、ＲＯＭコード、チップ個別ナンバー、ＩＤナンバーといった３種類の固有情報を記憶する。ＲＯＭ４１ｂコードは、ＲＯＭ４１ｂの所定領域における記憶データから生成される４バイトの数値であり、生成方法の異なる４つの数値が準備されれば良い。チップ個別ナンバーは、メイン制御部４１の製造時に付与される４バイトの番号であり、メイン制御部４１を構成するチップ毎に異なる数値を示している。ＩＤナンバーは、メイン制御部４１の製造時に付与される８バイトの番号であり、メイン制御部４１を構成するチップ毎に異なる数値を示している。ここで、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、ＩＤナンバーはユーザプログラムから読み取ることができないように設定されていれば良い。尚、固有情報記憶回路５０４は、例えばＲＯＭ４１ｂの所定領域を用いることなどにより、ＲＯＭ４１ｂに含まれるようにしても良い。あるいは、固有情報記憶回路５０４は、例えばＣＰＵ４１ａの内蔵レジスタを用いることなどにより、ＣＰＵ４１ａに含まれるようにしても良い。
【００５８】
ＣＰＵ４１ａは、ＲＯＭ４１ｂから読み出した制御コードに基づいてユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を実行することにより、スロットマシン１における遊技制御を実行する制御用ＣＰＵである。こうした遊技制御が実行されるときには、ＣＰＵ４１ａがＲＯＭ４１ｂから固定データを読み出す固定データ読出動作や、ＣＰＵ４１ａがＲＡＭ４１ｃに各種の変動データを書き込んで一時記憶させる変動データ書込動作、ＣＰＵ４１ａがＲＡＭ４１ｃに一時記憶されている各種の変動データを読み出す変動データ読出動作、ＣＰＵ４１ａが外部バスインターフェイス５０１やパラレル入力ポート５１１、シリアル通信回路５１２などを介してメイン制御部４１の外部から各種信号の入力を受け付ける受信動作、ＣＰＵ４１ａが外部バスインターフェイス５０１やシリアル通信回路５１２、パラレル出力ポート５１３などを介してメイン制御部４１の外部へと各種信号を出力する送信動作等も行われる。
【００５９】
ＲＯＭ４１ｂには、ユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を示す制御コードや固定データ等が記憶されている。
【００６０】
ＲＡＭ４１ｃは、ゲーム制御用のワークエリアを提供する。ここで、ＲＡＭ４１ｃの少なくとも一部は、バックアップ電源によってバックアップされているバックアップＲＡＭであれば良い。すなわち、スロットマシン１への電力供給が停止しても、所定期間はＲＡＭ４１ｃの少なくとも一部の内容が保存される。
【００６１】
フリーランカウンタ回路５０７として、８ビットのフリーランカウンタを４チャネル搭載している。
【００６２】
乱数回路５０８ａは、８ビット乱数を発生させる回路であり、乱数回路５０８ｂは、１６ビット乱数を発生させる回路である。本実施例では、乱数回路５０８ａ、５０８ｂのうち１６ビット乱数回路５０８ｂが生成するハードウェア乱数が、後述する内部抽選用の乱数及びフリーズ抽選用の乱数として用いられる。尚、図５に示す例では、８ビット乱数を生成する乱数回路５０８ａと、１６ビット乱数を発生させる乱数回路５０８ｂと、が１つずつ図示されているが、メイン制御部４１は、８ビット乱数を生成する乱数回路５０８ａと、１６ビット乱数を発生させる乱数回路５０８ｂと、をそれぞれ４回路（４チャネル）ずつ搭載している。また、本実施例では、８ビット乱数を生成する乱数回路５０８ａの４つのチャネルをそれぞれＲＳ０〜ＲＳ３と表現する場合があり、１６ビット乱数を生成する乱数回路５０８ｂの４つのチャネルをそれぞれＲＬ０〜ＲＬ３と表現する場合がある。
【００６３】
タイマ回路５０９は、８ビットプログラマブルタイマであり、メイン制御部４１は、タイマ回路５０９として、８ビットのカウンタを３チャネル備える。本実施例では、タイマ回路５０９を用いてユーザプログラムによる設定により、リアルタイム割込要求や時間計測を行うことが可能である。
【００６４】
割込コントローラ５１０は、ＰＩ５／ＸＩＮＴ端子からの外部割込要求や、内蔵の周辺回路（例えば、シリアル通信回路５１２、乱数回路５０８ａ、５０８ｂ、タイマ回路５０９）からの割込要求を制御する回路である。
【００６５】
パラレル入力ポート５１１は、８ビット幅の入力専用ポート（ＰＩＰ）を内蔵する。また、図５に示すメイン制御部４１が備えるパラレル出力ポート５１３は、１１ビット幅の出力専用ポート（ＰＯＰ）を内蔵する。
【００６６】
シリアル通信回路５１２は、外部に対する入出力において非同期シリアル通信を行う回路である。尚、メイン制御部４１は、シリアル通信回路５１２として、送受信両用の１チャネルの回路と、送信用のみの３チャネルの回路とを備える。
【００６７】
アドレスデコード回路５１４は、メイン制御部４１の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部４１の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、ＣＰＵ４１ａからのアクセスが可能となる。
【００６８】
図６は、メイン制御部４１におけるアドレスマップの一例を示している。図６に示すように、アドレス００００Ｈ〜アドレス２ＦＦＦＨの領域は、メイン制御部４１のＲＯＭ４１ｂに割り当てられ、プログラムコード／データエリア（ユーザプログラムやデータを格納するエリア）とプログラム管理エリアとを含んでいる。図７は、ＲＯＭ４１ｂにおけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレスＦ０００Ｈ〜アドレスＦ３ＦＦＨの領域は、メイン制御部４１のＲＡＭ４１ｃに割り当てられている。アドレスＦＥ００Ｈ〜アドレスＦＥＢＦＨの領域は、メイン制御部４１の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図８〜図１０は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレスＦＥＤ０Ｈ〜アドレスＦＥＦＤＨの領域は、アドレスデコード回路５１４に割り当てられるＸＣＳ、ＸＣＳＥデコードエリアである。
【００６９】
プログラム管理エリアは、メイン制御部４１がシステムリセット時に内部リセット動作の設定や乱数回路５０８ａ、５０８ｂの設定など各種設定を行うために必要な情報を格納する記憶領域である。図７に示すように、プログラム管理エリアには、ヘッダ（ＫＨＤＲ）、プログラムコードエンドアドレス（ＫＰＣＥ）、プログラムコードスタートアドレス２（ＫＰＣＳ２）、プログラムコードエンドアドレス２（ＫＰＣＥ２）、リセット設定（ＫＲＥＳ）、１６ビット乱数初期設定１（ＫＲＬ１）、１６ビット乱数初期設定２（ＫＲＬ２）、１６ビット乱数初期設定３（ＫＲＬ３）、８ビット乱数初期設定１（ＫＲＳ１）、８ビット乱数初期設定２（ＫＲＳ２）、セキュリティ時間設定（ＫＳＥＳ）、乱数クロック監視設定（ＫＲＣＳ）などが、含まれている。また、図８〜図１０に示すように、内蔵レジスタエリアには、内部情報レジスタ（ＣＩＦ）や、乱数回路５０８ａ、５０８ｂで用いる各種レジスタなどが、含まれている。
【００７０】
プログラム管理エリアに記憶されるヘッダ（ＫＨＤＲ）は、プログラム管理エリアのスタートを示す８バイトのコード列の設定、及びメイン制御部４１における内部データの読出設定を示す。図１１は、ヘッダ（ＫＨＤＲ）における設定データと動作との対応関係を例示している。ここで、メイン制御部４１では、ＲＯＭ読出防止機能と、バス出力マスク機能とを設定可能である。ＲＯＭ読出防止機能は、メイン制御部４１が備えるＲＯＭ４１ｂの記憶データについて、読出動作を許可または禁止する機能であり、読出禁止に設定された状態では、ＲＯＭ４１ｂの記憶データを読み出すことができない。バス出力マスク機能は、外部バスインターフェイス５０１に接続された外部装置からメイン制御部４１の内部データに対する読出要求があった場合に、外部バスインターフェイス５０１におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図１１に示すように、プログラム管理エリアのスタートを示す８バイトのコード列として設定する設定データに対応して、ＲＯＭ読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図１１に示す設定データのうち、ＲＯＭ読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ＲＯＭ読出が禁止されるとともに、バス出力マスクが有効となる設定データ（全て「００Ｈ」）は、ＲＯＭ読出禁止データともいう。ＲＯＭ読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。本実施例では、ＲＯＭ読出禁止データが設定されており、ＲＯＭ読出が禁止されるとともに、バス出力マスクが有効となる。
【００７１】
プログラム管理エリアに記憶されるプログラムコードエンドアドレス（ＫＰＣＥ）は、ユーザプログラムの００００Ｈから続くプログラムコードエリアの最終アドレスの設定を示す。図１２（Ａ）は、プログラムコードエンドアドレス（ＫＰＣＥ）における設定内容の一例を示している。
【００７２】
尚、本実施例では、アドレス００００Ｈ〜アドレス２ＦＢＦＨまでのプログラムコード／データエリア内に２つのプログラムコードエリアを設定可能である。具体的には、１つ目のプログラムコードエリアは、アドレス００００Ｈからプログラムコードエンドアドレス（ＫＰＣＥ）で設定されるアドレスまでのエリアとして設定可能であり、２つ目のプログラムコードエリアは、プログラムコードスタートアドレス２（ＫＰＣＳ２）で設定されるアドレスからプログラムコードエンドアドレス２（ＫＰＣＥ２）で設定されるアドレスまでのエリアとして設定可能である。以下、１つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード１ともいい、２つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード２ともいう。
【００７３】
図１２（Ａ）に示すように、プログラムコードエンドアドレス（ＫＰＣＥ）のアドレス２ＦＤ３Ｈには、プログラムコード１の最終アドレスの下位アドレスが設定される。また、アドレス２ＦＤ４Ｈには、プログラムコード１の最終アドレスの上位アドレスが設定される。
【００７４】
プログラム管理エリアに記憶されるプログラムコードスタートアドレス２（ＫＰＣＳ２）は、ユーザプログラムが２つのブロックに分かれた場合の２つ目のプログラムコードエリアの先頭アドレスの設定を示す。図１２（Ｂ）は、プログラムコードスタートアドレス２（ＫＰＣＳ２）における設定内容の一例を示している。
【００７５】
図１２（Ｂ）に示すように、プログラムコードスタートアドレス２（ＫＰＣＳ２）のアドレス２ＦＤ５Ｈには、プログラムコード２の先頭アドレスの下位アドレスが設定される。また、アドレス２ＦＤ６Ｈには、プログラムコード２の先頭アドレスの上位アドレスが設定される。尚、プログラムコードエリアを２つに分けない場合には、プログラムコードスタートアドレス２（ＫＰＣＳ２）のアドレス２ＦＤ５Ｈ及びアドレス２ＦＤ６Ｈにそれぞれ００００Ｈを設定するようにすれば良い。
【００７６】
プログラム管理エリアに記憶されるプログラムコードエンドアドレス２（ＫＰＣＥ２）は、ユーザプログラムが２つのブロックに分かれた場合の２つ目のプログラムコードエリアの最終アドレスの設定を示す。図１２（Ｃ）は、プログラムコードエンドアドレス２（ＫＰＣＥ２）における設定内容の一例を示している。
【００７７】
図１２（Ｃ）に示すように、プログラムコードエンドアドレス２（ＫＰＣＥ２）のアドレス２ＦＤ７Ｈには、プログラムコード２の最終アドレスの下位アドレスが設定される。また、アドレス２ＦＤ８Ｈには、プログラムコード２の最終アドレスの上位アドレスが設定される。尚、プログラムコードエリアを２つに分けない場合には、プログラムコードエンドアドレス２（ＫＰＣＥ２）のアドレス２ＦＤ７Ｈ及びアドレス２ＦＤ８Ｈにそれぞれ００００Ｈを設定するようにすれば良い。
【００７８】
尚、図１２に示すプログラムコードエンドアドレス（ＫＰＣＥ）、プログラムコードスタートアドレス２（ＫＰＣＳ２）及びプログラムコードエンドアドレス２（ＫＰＣＥ２）の設定内容は、ＩＡＴ回路５０６ａによってユーザプログラムが指定エリア内で正しく実行されているか否かを監視する際に参照される。すなわち、ＩＡＴ回路５０６ａは、００００Ｈからプログラムコードエンドアドレス（ＫＰＣＥ）で示されるアドレス、またはプログラムコードスタートアドレス２（ＫＰＣＳ２）で示されるアドレスからプログラムコードエンドアドレス２（ＫＰＣＥ２）で示されるアドレスまでの指定範囲でユーザプログラムが実行されているか否かを判定し、その指定範囲外でユーザプログラムが実行されていることを検出したことに基づいてＩＡＴ信号を出力する。
【００７９】
プログラム管理エリアに記憶されるリセット設定（ＫＲＥＳ）は、内部リセット動作やウォッチドッグタイマ（ＷＤＴ）５０６ｂの動作許可／禁止の設定を示す。図１３は、リセット設定（ＫＲＥＳ）における設定内容の一例を示している。
【００８０】
リセット設定（ＫＲＥＳ）のビット［７］は、ウォッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号を入力したことや、ＩＡＴが発生したこと（ＩＡＴ回路５０６ａからのＩＡＴ信号を入力したとき）により内部リセットが発生したときの動作の設定を示している。図１３に示す例において、リセット設定（ＫＲＥＳ）のビット［７］におけるビット値が“０”であれば、タイムアウト信号やＩＡＴ信号を入力したときにユーザリセットが発生する。これに対して、リセット設定（ＫＲＥＳ）のビット［７］におけるビット値が“１”であれば、タイムアウト信号やＩＡＴ信号を入力したときにシステムリセットが発生する。
【００８１】
リセット設定（ＫＲＥＳ）のビット［６］は、ウォッチドッグタイマ（ＷＤＴ）５０６ｂの起動方法の設定を示している。図１３に示す例において、リセット設定（ＫＲＥＳ）のビット［６］におけるビット値が“０”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にウォッチドッグタイマ（ＷＤＴ）５０６ｂが起動され時間計測が開始される。これに対して、リセット設定（ＫＲＥＳ）のビット［６］におけるビット値が“１”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）によりウォッチドッグタイマ（ＷＤＴ）５０６ｂが起動され時間計測が開始される。
【００８２】
リセット設定（ＫＲＥＳ）のビット［５−４］は、ウォッチドッグタイマ（ＷＤＴ）５０６ｂの基準クロック信号の設定を示している。図１３に示す例では、リセット設定（ＫＲＥＳ）のビット［５−４］に“００”が設定された場合には、基準クロック信号として２１５×ＴＳＣＬＫが選択される。また、リセット設定（ＫＲＥＳ）のビット［５−４］に“０１”が設定された場合には、基準クロック信号として２１９×ＴＳＣＬＫが選択される。また、リセット設定（ＫＲＥＳ）のビット［５−４］に“１０”が設定された場合には、基準クロック信号として２２２×ＴＳＣＬＫが選択される。また、リセット設定（ＫＲＥＳ）のビット［５−４］に“１１”が設定された場合には、基準クロック信号として２２５×ＴＳＣＬＫが選択される。尚、ＳＣＬＫとは、メイン制御部４１の内部システムクロックを示しており、ＴＳＣＬＫは、１／ＳＣＬＫを示している。
【００８３】
リセット設定（ＫＲＥＳ）のビット［３−０］は、ウォッチドッグタイマ（ＷＤＴ）５０６ｂのタイムアウト時間の設定を示している。具体的には、ウォッチドッグタイマ（ＷＤＴ）５０６ｂのタイムアウト時間は、リセット設定（ＫＲＥＳ）のビット［５−４］で選択した基準クロックに、リセット設定（ＫＲＥＳ）のビット［３−０］で設定した設定値を乗算した値となる。例えば、リセット設定（ＫＲＥＳ）のビット［３−０］に“１０００”を設定（すなわち、値「８」を設定）した場合、リセット設定（ＫＲＥＳ）のビット［５−４］に“００”を設定した場合には、タイムアウト時間は２１５×ＴＳＣＬＫ×８となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“０１”を設定した場合には、タイムアウト時間は２１９×ＴＳＣＬＫ×８となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１０”を設定した場合には、タイムアウト時間は２２２×ＴＳＣＬＫ×８となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１１”を設定した場合には、タイムアウト時間は２２５×ＴＳＣＬＫ×８となる。また、リセット設定（ＫＲＥＳ）のビット［３−０］に“１１１１”を設定（すなわち、値「１５」を設定）した場合、リセット設定（ＫＲＥＳ）のビット［５−４］に“００”を設定した場合には、タイムアウト時間は２１５×ＴＳＣＬＫ×１５となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“０１”を設定した場合には、タイムアウト時間は２１９×ＴＳＣＬＫ×１５となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１０”を設定した場合には、タイムアウト時間は２２２×ＴＳＣＬＫ×１５となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１１”を設定した場合には、タイムアウト時間は２２５×ＴＳＣＬＫ×１５となる。尚、図１３には、内部システムクロックが１０．０ＭＨｚと１２．０ＭＨｚである場合のタイムアウト時間の値の具体例もそれぞれ示されている。
【００８４】
尚、ウォッチドッグタイマ（ＷＤＴ）５０６ｂを使用しないように設定する場合、図１３に示すように、リセット設定（ＫＲＥＳ）のビット［３−０］に“００００”を設定するようにすれば良い。ただし、リセット設定（ＫＲＥＳ）のビット［３−０］に“００００”がセットされてウォッチドッグタイマ（ＷＤＴ）５０６ｂが使用禁止状態に設定された場合であっても、リセット設定（ＫＲＥＳ）のビット［７］の値を設定することにより、システムリセットするかユーザリセットとするかの設定を行うことは可能である。
【００８５】
本実施例では、リセット設定（ＫＲＥＳ）のビット［７］の設定値として“０”が設定されており、タイムアウト信号やＩＡＴ信号を入力したときにユーザリセットが発生する。また、リセット設定（ＫＲＥＳ）のビット［６］の設定値として“０”が設定されており、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にウォッチドッグタイマ（ＷＤＴ）５０６ｂが起動され時間計測が開始される。また、リセット設定（ＫＲＥＳ）のビット［５−４］の設定値として“１１”、リセット設定（ＫＲＥＳ）のビット［３−０］の設定値として“１１１１”が設定されており、ウォッチドッグタイマ（ＷＤＴ）５０６ｂの基準クロック信号として２２５×ＴＳＣＬＫが選択され、タイムアウト時間は２２５×ＴＳＣＬＫ×１５となる。
【００８６】
プログラム管理エリアに記憶される１６ビット乱数初期設定１（ＫＲＬ１）、１６ビット乱数初期設定２（ＫＲＬ２）及び１６ビット乱数初期設定３（ＫＲＬ３）は、１６ビット乱数回路５０８ｂの設定を示す。図１４は、１６ビット乱数初期設定１（ＫＲＬ１）のにおける設定内容の一例を示している。また、図１５は、１６ビット乱数初期設定２（ＫＲＬ２）のにおける設定内容の一例を示している。さらに、図１６は、１６ビット乱数初期設定３（ＫＲＬ３）のにおける設定内容の一例を示している。
【００８７】
まず、図１４を用いて、１６ビット乱数初期設定１（ＫＲＬ１）における設定内容を説明する。１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル１の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル１の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル１の１６ビット乱数回路５０８ｂが起動される。
【００８８】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」は、チャネル１の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００８９】
尚、本実施例では、既に説明した乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫを乱数用外部クロック端子（ＲＣＫ端子）を介して入力し、その乱数用クロックＲＣＬＫを２分周した信号を更新クロックとして用いるものとする。尚、このことは、他のチャネルの１６ビット乱数回路５０８ｂや８ビット乱数回路５０８ａについても同様である。
【００９０】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」は、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“００”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“０１”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“１０”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“１１”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９１】
本実施例では、１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」の設定値として“１”が設定されており、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル１の１６ビット乱数回路５０８ｂが起動される。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル１の１６ビット乱数回路５０８ｂの更新クロックとして用いられる。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」の設定値として“１０”が設定されており、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９２】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル０の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル０の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル０の１６ビット乱数回路５０８ｂが起動される。
【００９３】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」は、チャネル０の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００９４】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」は、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“００”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“０１”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“１０”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“１１”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９５】
本実施例では、１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」の設定値として“１”が設定されており、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル０の１６ビット乱数回路５０８ｂが起動される。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル０の１６ビット乱数回路５０８ｂの更新クロックとして用いられる。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」の設定値として“１０”が設定されており、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９６】
次に、図１５を用いて、１６ビット乱数初期設定２（ＫＲＬ２）における設定内容を説明する。１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル３の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル３の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル３の１６ビット乱数回路５０８ｂが起動される。
【００９７】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」は、チャネル３の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００９８】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」は、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“００”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“０１”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“１０”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“１１”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９９】
本実施例では、１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」の設定値として“０”が設定されており、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル３の１６ビット乱数回路５０８ｂが起動される設定であるが、後述のように、チャネル３の１６ビット乱数回路５０８ｂに対しては、ソフトウェアにより最大値設定を行わないようになっており、チャネル３の１６ビット乱数回路５０８ｂを起動させない未使用設定となる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル３の１６ビット乱数回路５０８ｂの更新クロックとして用いられる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」の設定値として“１０”が設定されており、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。すなわち１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」に“０”を設定し、ソフトウェアによりチャネル３の１６ビット乱数回路５０８ｂの最大値設定を行わないことによりチャネル３の１６ビット乱数回路５０８ｂを起動させない未使用設定としているが、チャネル３の１６ビット乱数回路５０８ｂの更新クロックの設定、更新する乱数列を変更するか否かの設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１００】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル２の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル２の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル２の１６ビット乱数回路５０８ｂが起動される。
【０１０１】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」は、チャネル２の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１０２】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」は、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“００”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“０１”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“１０”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“１１”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１０３】
本実施例では、１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」の設定値として“０”が設定されており、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル２の１６ビット乱数回路５０８ｂが起動される設定であるが、後述のように、チャネル２の１６ビット乱数回路５０８ｂに対しては、ソフトウェアにより最大値設定を行わないようになっており、チャネル２の１６ビット乱数回路５０８ｂを起動させない未使用設定となる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル２の１６ビット乱数回路５０８ｂの更新クロックとして用いられる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」の設定値として“１０”が設定されており、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。すなわち１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」に“０”を設定し、ソフトウェアによりチャネル２の１６ビット乱数回路５０８ｂの最大値設定を行わないことによりチャネル２の１６ビット乱数回路５０８ｂを起動させない未使用設定としているが、チャネル２の１６ビット乱数回路５０８ｂの更新クロックの設定、更新する乱数列を変更するか否かの設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１０４】
次に、図１６を用いて、１６ビット乱数初期設定３（ＫＲＬ３）のにおける設定内容を説明する。１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル３の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。メイン制御部４１のＩＤナンバーはチップごとに異なることから、スタート値としてＩＤナンバーをもとにした値を用いることにより、乱数の更新タイミングを予測しにくくすることができ、乱数の更新タイミングを狙って不正に大当りを発生させるような行為を防止することができる。尚、ＩＤナンバーをもとにした値として、ＩＤナンバーそのものを用いても良いし、ＩＤナンバーに所定の演算（例えば、所定値を加算したり減算したりした値）を用いても良い。
【０１０５】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」は、チャネル３の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【０１０６】
本実施例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」の設定値として“１”が設定されており、チャネル３の１６ビット乱数回路５０８ｂの乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。また、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」の設定値として“１”が設定されており、システムリセットごとにチャネル３の１６ビット乱数回路５０８ｂのスタート値を変更する。すなわち１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」に“０”を設定し、ソフトウェアによりチャネル３の１６ビット乱数回路５０８ｂの最大値設定を行わないことによりチャネル３の１６ビット乱数回路５０８ｂを起動させない未使用設定としているが、チャネル３の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１０７】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル２の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。
【０１０８】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「４」は、チャネル２の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「４」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【０１０９】
本実施例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」の設定値として“１”が設定されており、チャネル２の１６ビット乱数回路５０８ｂの乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。また、１６ビット乱数初期設定３（ＫＲＬ３）のビット「４」の設定値として“１”が設定されており、システムリセットごとにチャネル２の１６ビット乱数回路５０８ｂのスタート値を変更する。すなわち１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」に“０”を設定し、ソフトウェアによりチャネル２の１６ビット乱数回路５０８ｂの最大値設定を行わないことによりチャネル２の１６ビット乱数回路５０８ｂを起動させない未使用設定としているが、チャネル２の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１１０】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル１の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。
【０１１１】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」は、チャネル１の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【０１１２】
本実施例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」の設定値として“１”が設定されており、チャネル１の１６ビット乱数回路５０８ｂの乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。また、１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」の設定値として“１”が設定されており、システムリセットごとにチャネル１の１６ビット乱数回路５０８ｂのスタート値を変更する。
【０１１３】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル０の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。
【０１１４】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」は、チャネル０の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【０１１５】
本実施例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」の設定値として“１”が設定されており、チャネル０の１６ビット乱数回路５０８ｂの乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。また、１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」の設定値として“１”が設定されており、システムリセットごとにチャネル０の１６ビット乱数回路５０８ｂのスタート値を変更する。
【０１１６】
プログラム管理エリアに記憶される８ビット乱数初期設定１（ＫＲＳ１）及び８ビット乱数初期設定２（ＫＲＳ２）は、８ビット乱数回路５０８ａの設定を示す。図１７は、８ビット乱数初期設定１（ＫＲＳ１）のにおける設定内容の一例を示している。また、図１８は、８ビット乱数初期設定２（ＫＲＳ２）のにおける設定内容の一例を示している。
【０１１７】
まず、図１７を用いて、８ビット乱数初期設定１（ＫＲＳ１）における設定内容を説明する。８ビット乱数初期設定１（ＫＲＳ１）のビット「７」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル１の８ビット乱数回路５０８ａの起動方法の設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル１の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル１の８ビット乱数回路５０８ａが起動される。
【０１１８】
８ビット乱数初期設定１（ＫＲＳ１）のビット「６」は、チャネル１の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１１９】
８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」は、チャネル１の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“００”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“０１”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“１０”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“１１”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１２０】
本実施例では、８ビット乱数初期設定１（ＫＲＳ１）のビット「７」の設定値として“０”が設定されており、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル１の８ビット乱数回路５０８ａが起動される設定であるが、後述のように、チャネル１の８ビット乱数回路５０８ａに対しては、ソフトウェアにより最大値設定を行わないようになっており、チャネル１の８ビット乱数回路５０８ａを起動させない未使用設定となる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「６」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル１の８ビット乱数回路５０８ａの更新クロックとして用いられる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」の設定値として“１０”が設定されており、チャネル１の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。すなわち８ビット乱数初期設定１（ＫＲＳ１）のビット「７」に“０”を設定し、ソフトウェアによりチャネル１の８ビット乱数回路５０８ａの最大値設定を行わないことによりチャネル１の８ビット乱数回路５０８ａを起動させない未使用設定としているが、チャネル１の８ビット乱数回路５０８ａの更新クロックの設定、更新する乱数列を変更するか否かの設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１２１】
８ビット乱数初期設定１（ＫＲＳ１）のビット「３」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル０の８ビット乱数回路５０８ａの起動方法の設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル０の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル０の８ビット乱数回路５０８ａが起動される。
【０１２２】
８ビット乱数初期設定１（ＫＲＳ１）のビット「２」は、チャネル０の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１２３】
８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」は、チャネル０の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“００”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“０１”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“１０”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“１１”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１２４】
本実施例では、８ビット乱数初期設定１（ＫＲＳ１）のビット「３」の設定値として“０”が設定されており、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル０の８ビット乱数回路５０８ａが起動される設定であるが、後述のように、チャネル０の８ビット乱数回路５０８ａに対しては、ソフトウェアにより最大値設定を行わないようになっており、チャネル０の８ビット乱数回路５０８ａを起動させない未使用設定となる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「２」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル０の８ビット乱数回路５０８ａの更新クロックとして用いられる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」の設定値として“１０”が設定されており、チャネル０の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。すなわち８ビット乱数初期設定１（ＫＲＳ１）のビット「３」に“０”を設定し、ソフトウェアによりチャネル０の８ビット乱数回路５０８ａの最大値設定を行わないことによりチャネル０の８ビット乱数回路５０８ａを起動させない未使用設定としているが、チャネル０の８ビット乱数回路５０８ａの更新クロックの設定、更新する乱数列を変更するか否かの設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１２５】
次に、図１８を用いて、８ビット乱数初期設定２（ＫＲＳ２）における設定内容を説明する。８ビット乱数初期設定２（ＫＲＳ２）のビット「７」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル３の８ビット乱数回路５０８ａの起動方法の設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル３の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル３の８ビット乱数回路５０８ａが起動される。
【０１２６】
８ビット乱数初期設定２（ＫＲＳ２）のビット「６」は、チャネル３の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１２７】
８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」は、チャネル３の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“００”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“０１”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“１０”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“１１”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１２８】
本実施例では、８ビット乱数初期設定２（ＫＲＳ２）のビット「７」の設定値として“０”が設定されており、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル３の８ビット乱数回路５０８ａが起動される設定であるが、後述のように、チャネル１の８ビット乱数回路５０８ａに対しては、ソフトウェアにより最大値設定を行わないようになっており、チャネル３の８ビット乱数回路５０８ａを起動させない未使用設定となる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「６」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル３の８ビット乱数回路５０８ａの更新クロックとして用いられる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」の設定値として“１０”が設定されており、チャネル３の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。すなわち８ビット乱数初期設定２（ＫＲＳ２）のビット「７」に“０”を設定し、ソフトウェアによりチャネル３の８ビット乱数回路５０８ａの最大値設定を行わないことによりチャネル３の８ビット乱数回路５０８ａを起動させない未使用設定としているが、チャネル３の８ビット乱数回路５０８ａの更新クロックの設定、更新する乱数列を変更するか否かの設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１２９】
８ビット乱数初期設定２（ＫＲＳ２）のビット「３」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル２の８ビット乱数回路５０８ａの起動方法の設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル２の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル２の８ビット乱数回路５０８ａが起動される。
【０１３０】
８ビット乱数初期設定２（ＫＲＳ２）のビット「２」は、チャネル２の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１３１】
８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」は、チャネル２の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“００”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“０１”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“１０”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“１１”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１３２】
本実施例では、８ビット乱数初期設定２（ＫＲＳ２）のビット「３」の設定値として“０”が設定されており、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル２の８ビット乱数回路５０８ａが起動される設定であるが、後述のように、チャネル２の８ビット乱数回路５０８ａに対しては、ソフトウェアにより最大値設定を行わないようになっており、チャネル２の８ビット乱数回路５０８ａを起動させない未使用設定となる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「２」の設定値として“１”が設定されており、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号がチャネル２の８ビット乱数回路５０８ａの更新クロックとして用いられる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」の設定値として“１０”が設定されており、チャネル２の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。すなわち８ビット乱数初期設定２（ＫＲＳ２）のビット「３」に“０”を設定し、ソフトウェアによりチャネル２の８ビット乱数回路５０８ａの最大値設定を行わないことによりチャネル２の８ビット乱数回路５０８ａを起動させない未使用設定としているが、チャネル２の８ビット乱数回路５０８ａの更新クロックの設定、更新する乱数列を変更するか否かの設定については、初期値（出荷時の値（全て０））ではなく、未使用設定ではないチャネル０、１の１６ビット乱数回路５０８ｂと同一の設定がされている。
【０１３３】
尚、８ビット乱数回路５０８ａに関しては、１６ビット乱数回路５０８ｂとは異なり、図１６に示したようなスタート値の設定を行う機能はない。
【０１３４】
プログラム管理エリアに記憶されるセキュリティ時間設定（ＫＳＥＳ）は、セキュリティモードを延長する時間の設定を示す。図１９は、セキュリティ時間設定（ＫＳＥＳ）における設定内容の一例を示している。
【０１３５】
セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］は、セキュリティモード時間をランダムに延長する時間の設定を示している。図１９に示す例では、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“０１”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ショートモードが設定され、具体的には、内部システムクロックが１０．０ＭＨｚである場合には０〜０．８１６ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜０．５１ｍｓの範囲の時間がランダムに延長される。また、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“１０”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ミドルモードが設定され、具体的には、内部システムクロックが１０．０ＭＨｚである場合には０〜２６．１１２ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜１６．３２ｍｓの範囲の時間がランダムに延長される。また、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“１１”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ロングモードが設定され、具体的には、内部システムクロックが１０．０ＭＨｚである場合には０〜８３５．５８４ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜５２２．２４ｍｓの範囲の時間がランダムに延長される。
【０１３６】
尚、セキュリティモード時間のランダム延長を行わないように設定する場合、図１９に示すように、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“００”を設定するようにすれば良い。
【０１３７】
本実施例では、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］の設定値として“１１”が設定されており、セキュリティモード時間をランダムに延長するモードとして、ロングモードが設定され、内部システムクロックが１０．０ＭＨｚである場合には０〜８３５．５８４ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜５２２．２４ｍｓの範囲の時間がランダムに延長される。
【０１３８】
セキュリティ時間設定（ＫＳＥＳ）のビット［５］は、セキュリティモード時間を固定延長する時間の基準クロック信号の設定を示している。図１９に示す例では、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”が設定された場合には、基準クロック信号として２２２×ＴＳＣＬＫが選択される。また、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”が設定された場合には、基準クロック信号として２２４×ＴＳＣＬＫが選択される。
【０１３９】
セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］は、セキュリティモード時間を固定で延長する時間の設定を示している。具体的には、セキュリティモード時間の固定延長時間は、セキュリティ時間設定（ＫＳＥＳ）のビット［５］で選択した基準クロックに、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］で設定した設定値を乗算した値となる。例えば、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“００００１”を設定（すなわち、値「１」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×１となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×１となる。また、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“０１０００”を設定（すなわち、値「８」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×８となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×８となる。また、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“１００００”を設定（すなわち、値「１６」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×１６となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×１６となる。また、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“１１１１１”を設定（すなわち、値「３１」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×３１となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×３１となる。尚、図１９には、内部システムクロックが１０．０ＭＨｚと１２．０ＭＨｚである場合の固定延長時間の値の具体例もそれぞれ示されている。
【０１４０】
尚、セキュリティモード時間の固定延長を行わないように設定する場合、図１９に示すように、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“０００００”を設定するようにすれば良い。
【０１４１】
本実施例では、セキュリティ時間設定（ＫＳＥＳ）のビット［５］の設定値として“０”が設定され、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］の設定値として“０００００”が設定されており、セキュリティモード時間の固定延長を行わないようになっている。
【０１４２】
図１９に示すように、セキュリティモード時間は、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］の設定によるランダム延長と、セキュリティ時間設定（ＫＳＥＳ）のビット［５−０］の設定による固定延長との２種類の方法で延長設定が可能である。そして、これら２種類の方法で設定された時間の加算時間が最終的なセキュリティモード時間の延長時間となる。
【０１４３】
プログラム管理エリアに記憶される乱数クロック監視設定（ＫＲＣＳ）は、乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号の監視周波数の設定を示す。図２０は、乱数クロック監視設定（ＫＲＣＳ）における設定内容の一例を示している。
【０１４４】
乱数クロック監視設定（ＫＲＣＳ）のビット［７−２］は、固定ビット（すなわち、特に設定に使用しないビット）であり、全ビット必ず“０”を設定するものとする。
【０１４５】
乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］は、乱数を更新するためのクロックとして、乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号を選択した場合に、その入力クロックの周波数異常の検出対象とする周波数の設定を示している。図２０に示す例では、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“００”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）の周波数未満を設定する。また、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“０１”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）／２の周波数未満を設定する。また、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“１０”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）／２２の周波数未満を設定する。また、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“１１”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）／２３の周波数未満を設定する。
【０１４６】
本実施例では、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］の設定値として“１０”が設定されており、監視周波数としてＳＣＬＫ（内部システムクロック）／２２の周波数未満が設定される。
【０１４７】
尚、乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号の監視周波数の異常を検出した場合には、後述する内部情報レジスタ（ＣＩＦ）のビット３に“１”がセットされる。
【０１４８】
また、本実施例では、メイン制御部４１は、８ビット乱数回路５０８ａと１６ビット乱数回路５０８ｂと、のうち、１６ビット乱数回路５０８ｂの動作異常（外部クロック周波数異常）を検出する機能を備えている。具体的には、メイン制御部４１は、乱数更新用クロックとして乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号が選択されている場合に、乱数クロック監視設定（ＫＲＣＳ）で設定されている監視周波数に基づいて、外部クロック信号の周波数が低下したか否かを検出し、外部クロック信号の周波数が低下（外部クロック周波数異常）を検出した場合には、後述する内部情報レジスタ（ＣＩＦ）のビット３に“１”をセットする。
【０１４９】
また、メイン制御部４１は、１６ビット乱数回路５０８ｂの乱数の更新状態を監視する機能を備え、更新状態に異常を検出すると（例えば、乱数値が同じ値のまま更新されなくなったり、通常は乱数値が１つずつカウントアップされていくのに乱数値のカウント値がいきなり２以上の値増加した状態を検出したりすると）、内部情報レジスタ（ＣＩＦ）のビット７〜４のうちの対応するビットに“１”をセットする。
【０１５０】
本実施例では、チャネル２、３の１６ビット乱数回路５０８ｂが未使用設定とされているが、チャネル２、３の１６ビット乱数回路５０８ｂの更新異常が検出された場合にも、内部情報レジスタ（ＣＩＦ）の対応するビット７、６のうち対応するビットに“１”をセットするようになっており、未使用設定とされているチャネル２、３の１６ビット乱数回路５０８ｂについても内部情報レジスタ（ＣＩＦ）の値を取得することにより、更新状態の異常が検出されているか否かを確認できるようになっている。
【０１５１】
特に本実施例では、ＣＰＵ４１ａが、所定の契機（例えば、起動時、所定間隔毎、１ゲームに１回等）で行われるエラー判定処理において、内部情報レジスタ（ＣＩＦ）の値を取得し、内部情報レジスタ（ＣＩＦ）の値が０か否か判定し、０以外、すなわち内部情報レジスタ（ＣＩＦ）のいずれかのビットに“１”がセットされており、外部クロック信号の周波数異常が検知されているか、または使用設定であるか未使用設定であるかに関わらず、８ビット乱数回路５０６ａのチャネル０〜３、１６ビット乱数回路５０６ｂのいずれかにおいて更新状態の異常が検知されている場合に、エラー状態に制御し、遊技の進行が不能動化されるとともに、乱数異常が生じた旨を報知するようになっている。
【０１５２】
尚、本実施例では、乱数クロック監視設定（ＫＲＣＳ）を用いて設定を行うことによって、１６ビット乱数回路５０８ｂの動作異常の検出に関して、監視対象の外部クロック信号の監視周波数を設定する場合を示しているが、外部クロック周波数異常の検出自体を行うか否かを設定可能に構成したり、更新異常の検出自体を行うか否かを設定可能に構成したりしても良い。この場合、外部クロック周波数異常の検出自体を行うか否かの設定と、更新異常の検出自体を行うか否かの設定とをそれぞれ独立して行えるように構成しても良いし、両方の設定を一括して有効とするか無効とするかのみ行えるように構成しても良い。
【０１５３】
また、本実施例では、乱数用クロック生成回路４３から専用の乱数用クロックＲＣＬＫを乱数回路５０８ａ、５０８ｂに外部入力する場合を示しているが、例えば、制御用クロック生成回路４２からの制御用クロックＣＣＬＫを外部入力する場合など専用の乱数用クロックＲＣＬＫ以外のクロックを外部入力する場合であっても、外部クロック周波数異常の検出や更新異常の検出を行うことが可能である。尚、乱数回路の更新異常の検出に関しては、乱数用クロック生成回路４３から専用の乱数用クロックＲＣＬＫ用いて乱数更新する場合と、制御用クロック生成回路４２からの制御用クロックＣＣＬＫなど他のクロックを用いて乱数更新する場合とのいずれか一方の場合のみ設定可能に構成しても良い。
【０１５４】
また、本実施例では、ＣＰＵ４１ａが、内部情報レジスタ（ＣＩＦ）の値を取得し、内部情報レジスタ（ＣＩＦ）の値が０か否か判定し、０以外の場合に、エラーを判定する構成、すなわち具体的なエラー原因を特定しない構成であるが、内部情報レジスタ（ＣＩＦ）の値からエラー原因を特定し、その原因を認識可能に報知する構成としても良い。
【０１５５】
また、本実施例では、外部クロック周波数の異常の検出を行い、メイン制御部４１の内部システムクロックＳＣＬＫの周波数については特に異常の検出を行っていないが、それは次のような理由による。すなわち、乱数更新に内部システムクロックＳＣＬＫを用いる場合には、内部システムクロックＳＣＬＫに異常が発生しているような状況では、ＣＰＵ４１ａ自体の動作が停止している筈であるので、ＣＰＵ４１ａが動作しているのに乱数の更新だけが停止しているような事態が生じる場合がなく、何らかの問題が生じるおそれがない。これに対して、乱数更新に外部クロック信号を用いる場合には、ＣＰＵ４１ａが動作しているのに乱数の更新だけが停止しているような事態が生じる可能性があり弊害が生じるおそれがあるためである。
【０１５６】
リセット／割込コントローラ５０６は、図８〜図１０に示すようなメイン制御部４１が備える内蔵レジスタのうち、内部情報レジスタＣＩＦ（アドレスＦＥ２５Ｈ）などを用いて、割込の制御やリセットの管理を行う。内部情報レジスタＣＩＦは、直前に発生したリセット要因を管理したり、乱数更新状態、乱数更新クロックを外部クロックとした場合の入力周波数の状態を読み取るためのレジスタである。
【０１５７】
図２１（Ａ）は、内部情報レジスタＣＩＦの構成例を示している。図２１（Ｂ）は、内部情報レジスタＣＩＦに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタＣＩＦのビット番号［７］に格納される内部情報データＲＬ３ＥＲは、チャネル３の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ３の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ３の更新異常が検知されないときに、内部情報データＲＬ３ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ３の更新異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［６］に格納される内部情報データＲＬ２ＥＲは、チャネル２の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ２の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ２の更新異常が検知されないときに、内部情報データＲＬ２ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ２の更新異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［５］に格納される内部情報データＲＬ１ＥＲは、チャネル１の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ１の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ１の更新異常が検知されないときに、内部情報データＲＬ１ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ１の更新異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［４］に格納される内部情報データＲＬ０ＥＲは、チャネル０の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ０の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ０の更新異常が検知されないときに、内部情報データＲＬ０ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ０の更新異常が検知されたときには、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［７−４」は、初期値として“０”が設定されている。
【０１５８】
前述のように、チャネル２、３の１６ビット乱数回路５０８ｂが未使用設定とされているが、チャネル２、３の１６ビット乱数回路５０８ｂの更新異常が検出された場合にも、内部情報レジスタ（ＣＩＦ）の対応するビット７、６のうち対応するビットに“１”をセットするようになっており、未使用設定とされているチャネル２、３の１６ビット乱数回路５０８ｂについても内部情報レジスタ（ＣＩＦ）の値を取得することにより、更新状態の異常が検出されているか否かを確認できるようになっている。
【０１５９】
内部情報レジスタＣＩＦのビット番号［３］に格納される内部情報データＲＣＥＲは、乱数更新用クロックとして乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号が選択されている場合に、その外部クロック信号の周波数異常を示す。図２１（Ｂ）に示す例では、外部クロック信号の周波数異常が検知されないときに、内部情報データＲＣＥＲのビット値が“０”となる一方、外部クロック信号の周波数異常が検知されたときには、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［３」は、初期値として“０“が設定されている。
【０１６０】
内部情報レジスタＣＩＦのビット番号［２］に格納される内部情報データＳＲＳＦは、直前に発生したリセット要因がシステムリセットであることを示す。図２１（Ｂ）に示す例では、直前のリセット要因がシステムリセットではないときに（システムリセット未発生）、内部情報データＳＲＳＦのビット値が“０”となる一方、システムリセットであるときには（システムリセット発生）、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［２」は、初期値として“１”が設定されている。
【０１６１】
内部情報レジスタＣＩＦのビット番号［１］に格納される内部情報データＷＤＴＦは、直前に発生したリセット要因がウォッチドッグタイマ（ＷＤＴ）５０６ｂからタイムアウト信号を入力したことによるユーザリセットであることを示す。図２１（Ｂ）に示す例では、直前のリセット要因がタイムアウト信号によるユーザリセットではないときに（タイムアウト信号によるユーザリセット未発生）、内部情報データＷＤＴＦのビット値が“０”となる一方、タイムアウト信号によるユーザリセットであるときには（タイムアウト信号によるユーザリセット発生）、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［１」は、初期値として“０”が設定されている。
【０１６２】
内部情報レジスタＣＩＦのビット番号［０］に格納される内部情報データＩＡＴＦは、直前に発生したリセット要因がＩＡＴ回路５０６ａからのＩＡＴ発生信号を入力したことによるユーザリセットであることを示す。図２１（Ｂ）に示す例では、直前のリセット要因がＩＡＴ発生信号によるユーザリセットではないときに（ＩＡＴ発生信号によるユーザリセット未発生）、内部情報データＩＡＴＦのビット値が“０”となる一方、ＩＡＴ発生信号によるユーザリセットであるときには（ＩＡＴ発生信号によるユーザリセット発生）、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［０」は、初期値として“０”が設定されている。
【０１６３】
図２２は、８ビット乱数回路５０８ａの一構成例を示すブロック図である。また、図２３は、１６ビット乱数回路５０８ｂの一構成例を示すブロック図である。８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂは、図２２及び図２３に示すように、乱数列変更選択回路５２３ａ、５２３ｂ、乱数生成回路５２５ａ、５２５ｂ、乱数列変更回路５２６ａ、５２６ｂ、及び最大値比較回路５２７ａ、５２７ｂを備えて構成される。また、１６ビット乱数回路５０８ｂは、図２３に示すように、８ビット乱数回路５０８ａが備える構成要素に加えて、乱数スタート値選択回路５３５を備える。さらに、１６ビット乱数回路５０８ｂは、図２３に示すように、８ビット乱数回路５０８ａが備える構成要素に加えて、乱数生成回路５２５ｂが更新監視回路５３７を含む。
【０１６４】
また、図２３に示す例では、１６ビット乱数回路５０８ｂの回路部分の構成のみを示し、乱数列変更レジスタ５２２及び最大値設定レジスタ５２４ｂ以外の１６ビット乱数回路５０８ｂが用いる各レジスタについては記載を省略している。尚、具体的には、１６ビット乱数回路５０８ｂは、図２２に示すＲＳハードラッチ選択レジスタ５２８ａ、５２８ｂに代えて図８に示すＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）〜ＲＬ３ハードラッチ選択レジスタ（ＲＬ３ＬＳ）を用い、図２２に示すＲＳ０ハードラッチ乱数値レジスタ５２９ａ〜ＲＳ３ハードラッチ乱数値レジスタ５２９ｄに代えて図９及び図１０に示すＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）〜ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）を用い、図２２に示すＲＳハードラッチフラグレジスタ５３０に代えて図９に示すＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）〜ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）を用い、図２２に示すＲＳ割込制御レジスタ５３１に代えて図８に示すＲＬ割込制御レジスタ０（ＲＬＩＣ０）〜ＲＬ割込制御レジスタ１（ＲＬＩＣ１）を用い、図２２に示すＲＳ０ソフトラッチ乱数値レジスタ５３３ａ〜ＲＳ３ソフトラッチ乱数値レジスタ５３３ｄに代えて図９に示すＲＬ０ソフトラッチ乱数値レジスタ（ＲＬ０ＳＶ）〜ＲＬ３ソフトラッチ乱数値レジスタ（ＲＬ３ＳＶ）を用いる。また、１６ビット乱数回路５０８ｂは、乱数値ソフトラッチレジスタ５３２及び乱数ソフトラッチフラグレジスタ５３４については、８ビット乱数回路５０８ａと兼用で同じレジスタを用いる。
【０１６５】
また、８ビット乱数回路５０８ａは、既に説明したプログラム管理エリアに設けられた８ビット乱数初期設定５２１ａ（図７に示す８ビット乱数初期設定１（ＫＲＳ１）及び８ビット乱数初期設定２（ＫＲＳ２））の設定内容に従って動作する。
【０１６６】
また、１６ビット乱数回路５０８ｂは、既に説明したプログラム管理エリアに設けられた１６ビット乱数初期設定５２１ｂ（図７に示す１６ビット乱数初期設定１（ＫＲＬ１）〜１６ビット乱数初期設定２（ＫＲＬ２））の設定内容に従って動作する。また、１６ビット乱数回路５０８ｂは、８ビット乱数回路５０８ａの機能に加えて、乱数スタート値選択回路５３５が１６ビット乱数初期設定５３６（図７に示す１６ビット乱数初期設定３（ＫＲＬ３））の設定内容に従って動作することにより、１周目の乱数値のスタート値を変更する機能を備えている（図１６参照）。
【０１６７】
また、１６ビット乱数回路５０８ｂは、乱数生成回路５２５ｂが更新監視回路５３７を含んでおり、８ビット乱数回路５０８ａの機能に加えて、更新監視回路５３７が動作することにより外部クロック周波数異常及び更新異常を検出する機能を備えている（図２０参照）。尚、本実施例では、１つの更新監視回路５３７により外部クロック周波数異常及び更新異常の両方を検出する場合を示しているが、外部クロック周波数異常を検出する監視回路と更新異常を検出する監視回路とを別々に備えても良い。
【０１６８】
尚、８ビット乱数回路５０８ａも更新監視回路を備えるように構成し、８ビット乱数回路５０８ａの外部クロック周波数異常及び更新異常を検出可能に構成するようにしても良い。
【０１６９】
また、乱数列変更レジスタ５２２は、図８に示すようなメイン制御部４１の内蔵レジスタに含まれる乱数列変更レジスタＲＤＳＣに対応している。尚、乱数列変更レジスタＲＤＳＣとして、８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂの各チャネルで共通のレジスタが用いられる。
【０１７０】
また、最大値設定レジスタ５２４ａ、５２４ｂは、図８に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳ０最大値設定レジスタ（ＲＳ０ＭＸ）〜ＲＳ３最大値設定レジスタ（ＲＳ３ＭＸ）に対応している（１６ビット乱数回路５０８ｂの場合は、ＲＬ０最大値設定レジスタ（ＲＬ０ＭＸ）〜ＲＬ３最大値設定レジスタ（ＲＬ３ＭＸ）に対応している）。
【０１７１】
また、ハードラッチ選択レジスタ５２８ａは、図８に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）に対応している。また、ハードラッチ選択レジスタ５２８ｂは、図８に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図８に示すＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）〜ＲＬ３ハードラッチ選択レジスタ３（ＲＬ３ＬＳ）に対応している。
【０１７２】
また、ＲＳ０ハードラッチ乱数値レジスタ５２９ａ〜ＲＳ３ハードラッチ乱数値レジスタ５２９ｄは、図１０に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）〜ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図９に示すＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）〜ＲＬ１ハードラッチ乱数値レジスタ１（ＲＬ１ＨＶ１）及び図１０に示すＲＬ２ハードラッチ乱数値レジスタ０（ＲＬ２ＨＶ０）〜ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）に対応している。
【０１７３】
また、ＲＳハードラッチフラグレジスタ５３０は、図９に示すＲＳハードラッチフラグレジスタ（ＲＳＨＦ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図９に示すＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）〜ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）に対応している。
【０１７４】
また、ＲＳ割込制御レジスタ５３１は、図８に示すＲＳ割込制御レジスタ（ＲＳＩＣ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図８に示すＲＬ割込制御レジスタ０（ＲＬＩＣ０）〜ＲＬ割込制御レジスタ１（ＲＬＩＣ１）に対応している。
【０１７５】
また、乱数ソフトラッチレジスタ５３２は、図８に示す乱数ソフトラッチレジスタ（ＲＤＳＬ）に対応している。尚、ソフトラッチレジスタＲＤＳＬとして、８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂの各チャネルで共通のレジスタが用いられる。
【０１７６】
また、ＲＳ０ソフトラッチ乱数値レジスタ５３３ａ〜ＲＳ３ソフトラッチ乱数値レジスタ５３３ｄは、は、図９に示すＲＳ０ソフトラッチ乱数値レジスタ（ＲＳ０ＳＶ）〜ＲＳ３ソフトラッチ乱数値レジスタ（ＲＳ３ＳＶ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図９に示すＲＬ０ソフトラッチ乱数値（ＲＬ０ＳＶ）〜ＲＬ３ソフトラッチ乱数値（ＲＬ３ＳＶ）に対応している。
【０１７７】
また、乱数ソフトラッチフラグレジスタ５３４は、図８に示す乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）に対応している。尚、乱数ソフトラッチフラグレジスタＲＤＳＦとして、８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂの各チャネルで共通のレジスタが用いられる。
【０１７８】
乱数列変更選択回路５２３ａ、５２３ｂは、図１７や図１８に示す８ビット乱数初期設定１（ＫＲＳ１）や８ビット乱数初期設定２（ＫＲＳ２）の設定内容に従って（１６ビット乱数回路５０８ｂの場合には、図１４や図１５に示す１６ビット乱数初期設定１（ＫＲＬ１）や１６ビット乱数初期設定２（ＫＲＬ２）の設定内容に従って）、乱数列の変更方法として、「変更しない」、「ソフトウェアで変更」、「２周目から自動で変更」または「１周目から自動で変更」のうちのいずれかを選択する。そして、「ソフトウェアで変更」、「２周目から自動で変更」または「１周目から自動で変更」のいずれかに選択した場合には、その選択方法に従って乱数列変更回路５２６ａ、５２６ｂに乱数列を変更させる。また、「変更しない」を選択した場合には乱数列を変更させる制御を行わない。
【０１７９】
乱数列変更回路５２６ａ、５２６ｂは、乱数生成回路５２５ａ、５２５ｂにより生成された数値データの順列を、乱数列変更選択回路５２３ａ、５２３ｂの指示に従って変更可能とする回路である。例えば、乱数列変更回路５２６ａ、５２６ｂは、「ソフトウェアで変更」が指示された場合には、乱数生成回路５２５ａ、５２５ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更する。また、例えば、乱数列変更回路５２６ａ、５２６ｂは、「２周目から自動で変更」が指示された場合には、乱数生成回路５２５ａ、５２５ｂが更新する乱数列を２周目から自動的に変更し、以降、乱数列が一巡するごとに自動的に乱数列を変更する。また、例えば、乱数列変更回路５２６ａ、５２６ｂは、「１周目から自動で変更」が指示された場合には、乱数生成回路５２５ａ、５２５ｂが更新する乱数列を１周目から自動的に変更し、以降、乱数列が一巡するごとに自動的に乱数列を変更する。
【０１８０】
乱数生成回路５２５ａ、５２５ｂは、例えば８ビットのカウンタ（１６ビット乱数回路５０８ｂの場合は１６ビットのカウンタ）などから構成され、乱数更新クロック信号などの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路５２５ａ、５２５ｂは、乱数更新クロック信号における立ち下がりエッジに応答して、「０」から「２５５」までの範囲内で設定された初期値から「２５５」まで１ずつ加算するように数値データをカウントアップして行く（１６ビット乱数回路５０８ｂの場合には、「０」から「６５５３５」までの範囲内で設定された初期値から「６５５３５」まで１ずつ加算するように数値データをカウントアップして行く）。そして、「２５５」までカウントアップした後には、「０」から初期値よりも１小さい最終値となる数値まで１ずつ加算するようにカウントアップすることで、数値データを循環的に更新する。
【０１８１】
最大値比較回路５２７ａ、５２７ｂは、図１７や図１８に示す８ビット乱数初期設定１（ＫＲＳ１）や８ビット乱数初期設定２（ＫＲＳ２）の設定内容に従って（１６ビット乱数回路５０８ｂの場合には、図１４や図１５に示す１６ビット乱数初期設定１（ＫＲＬ１）や１６ビット乱数初期設定２（ＫＲＬ２）の設定内容に従って）、乱数生成回路５２５ａ、５２５ｂが生成する乱数値の最大値を設定する。
【０１８２】
図２４（Ａ）は、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）の構成例を示している。図２４（Ｂ）は、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［７］に格納されるデータＲＬ０１ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２４（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ０１ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０１８３】
尚、本実施例では、プログラム管理エリアや内蔵レジスタのレジスタに関して、具体的には、プログラム管理エリアなどの対応するビットを“０”または“１”のいずれかの値としておくことにより、その対応するビットの値が読み込まれて、読み込まれた“０”または“１”の値がメイン制御部４１の制御レジスタにハードウェア的に書き込まれることにより各種の設定が行われる。
【０１８４】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット７（ＲＬ０１ＲＦ）については、そのビット７から読み込まれた値が“０”であれば、メイン制御部４１の制御レジスタにハードウェア的に“０”が書き込まれることによりＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）から値を読み込まないと次の値をラッチしないように設定され、そのビット７から読み込まれた値が“１”であれば、メイン制御部４１の制御レジスタにハードウェア的に“１”が書き込まれることによりＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）から値を読み込まなくても次の値をラッチするように設定される。このことは、他のプログラム管理エリアの各設定項目や内蔵レジスタの各レジスタの各ビットに関しても同様である。
【０１８５】
本実施例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［７］の設定値として“１”が設定されており、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）から値を読み込まなくても次の値をラッチできるようになっている。
【０１８６】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］に格納されるデータＲＬ０１ＬＳ０〜ＲＬ０１ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２４（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０１８７】
本実施例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に１６ビット乱数ＲＬ０の値が取り込まれないように設定されている。
【０１８８】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［３］に格納されるデータＲＬ００ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２４（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ００ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０１８９】
本実施例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［３］の設定値として“１”が設定されており、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ１）から値を読み込まなくても次の値をラッチできるようになっている。
【０１９０】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］に格納されるデータＲＬ００ＬＳ０〜ＲＬ００ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２４（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬ００ＬＳ０〜ＲＬ００ＬＳ２は、初期値として“０００”が設定されている。
【０１９１】
本実施例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］の設定値として“０００”が設定されており、ＰＩ０端子からの入力（スタートスイッチ７の操作検出信号の入力）により、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ１）に１６ビット乱数ＲＬ０の値が取り込まれるように設定されている。
【０１９２】
図２５（Ａ）は、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）の構成例を示している。図２５（Ｂ）は、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［７］に格納されるデータＲＬ０３ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２５（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ０３ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０１９３】
本実施例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［７］の設定値として“１”が設定されており、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）から値を読み込まなくても次の値をラッチできるようになっている。
【０１９４】
ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］に格納されるデータＲＬ０３ＬＳ０〜ＲＬ０３ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２５（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０１９５】
本実施例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に１６ビット乱数ＲＬ０の値が取り込まれないように設定されている。
【０１９６】
ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［３］に格納されるデータＲＬ０２ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２５（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ０２ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０１９７】
本実施例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［３］の設定値として“１”が設定されており、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）から値を読み込まなくても次の値をラッチできるようになっている。
【０１９８】
ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］に格納されるデータＲＬ０２ＬＳ０〜ＲＬ０２ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２５（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０１９９】
本実施例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に１６ビット乱数ＲＬ０の値が取り込まれないように設定されている。
【０２００】
図２６（Ａ）は、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）の構成例を示している。図２６（Ｂ）は、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図２６において、ｎは０〜３の値をとる。ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［７］に格納されるデータＲＬｎ１ＲＦは、ＲＬｎハードラッチ乱数値レジスタ１（ＲＬｎＨＶ１）に、外部端子入力により、１６ビット乱数ＲＬｎの値を取り込む際の条件の設定を示している。図２６（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬｎ１ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０２０１】
本実施例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［７］の設定値として“１”が設定されており、ＲＬｎハードラッチ乱数値レジスタ１（ＲＬｎＨＶ１）から値を読み込まなくても次の値をラッチできるようになっている。
【０２０２】
ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］に格納されるデータＲＬｎ１ＬＳ０〜ＲＬｎ１ＬＳ２は、ＲＬｎハードラッチ乱数値レジスタ１（ＲＬｎＨＶ１）に、どの外部端子入力により、１６ビット乱数ＲＬｎの値を取り込むかの設定を示している。図２６（Ｂ）に示す例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０２０３】
本実施例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＬｎハードラッチ乱数値レジスタ１（ＲＬｎＨＶ１）に１６ビット乱数ＲＬｎの値が取り込まれないように設定されている。
【０２０４】
ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［３］に格納されるデータＲＬｎ０ＲＦは、ＲＬｎハードラッチ乱数値レジスタ０（ＲＬｎＨＶ０）に、外部端子入力により、１６ビット乱数ＲＬｎの値を取り込む際の条件の設定を示している。図２６（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬｎ０ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０２０５】
本実施例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［３］の設定値として“１”が設定されており、ＲＬｎハードラッチ乱数値レジスタ０（ＲＬｎＨＶ０）から値を読み込まなくても次の値をラッチできるようになっている。
【０２０６】
ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［２−０］に格納されるデータＲＬｎ０ＬＳ０〜ＲＬｎ０ＬＳ２は、ＲＬｎハードラッチ乱数値レジスタ０（ＲＬｎＨＶ０）に、どの外部端子入力により、１６ビット乱数ＲＬｎの値を取り込むかの設定を示している。図２６（Ｂ）に示す例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０２０７】
本実施例では、ＲＬ１ハードラッチ選択レジスタ（ＲＬ１ＬＳ）のビット番号［２−０］の設定値として“００１”が設定されており、ＰＩ１端子からの入力（ＭＡＸＢＥＴスイッチ６の操作検出信号の入力）により、ＲＬ１ハードラッチ乱数値レジスタ０（ＲＬ１ＨＶ０）に１６ビット乱数ＲＬ１の値が取り込まれるように設定されている。一方、ＲＬ２ハードラッチ選択レジスタ（ＲＬ２ＬＳ）のビット番号［２−０］の設定値、ＲＬ３ハードラッチ選択レジスタ（ＲＬ３ＬＳ）のビット番号［２−０］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＬ２ハードラッチ乱数値レジスタ０（ＲＬ２ＨＶ０）、ＲＬ３ハードラッチ乱数値レジスタ０（ＲＬ３ＨＶ０）に１６ビット乱数ＲＬ２、ＲＬ３の値が取り込まれないように設定されている。
【０２０８】
図２７（Ａ）は、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）の構成例を示している。図２７（Ｂ）は、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［７］に格納されるデータＲＳ１ＲＦは、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ１の値を取り込む際の条件の設定を示している。図２７（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ１ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０２０９】
本実施例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［７］の設定値として“１”が設定されており、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）から値を読み込まなくても次の値をラッチできるようになっている。
【０２１０】
ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］に格納されるデータＲＳ１ＬＳ０〜ＲＳ１ＬＳ２は、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ１の値を取り込むかの設定を示している。図２７（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０２１１】
本実施例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に８ビット乱数ＲＳ１の値が取り込まれないように設定されている。
【０２１２】
ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［３］に格納されるデータＲＳ０ＲＦは、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ０の値を取り込む際の条件の設定を示している。図２７（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ０ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０２１３】
本実施例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［３］の設定値として“１”が設定されており、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）から値を読み込まなくても次の値をラッチできるようになっている。
【０２１４】
ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］に格納されるデータＲＳ０ＬＳ０〜ＲＳ０ＬＳ２は、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ０の値を取り込むかの設定を示している。図２７（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０２１５】
本実施例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）に８ビット乱数ＲＳ０の値が取り込まれないように設定されている。
【０２１６】
図２８（Ａ）は、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）の構成例を示している。図２８（Ｂ）は、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［７］に格納されるデータＲＳ３ＲＦは、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ３の値を取り込む際の条件の設定を示している。図２８（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ３ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０２１７】
本実施例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［７］の設定値として“１”が設定されており、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）から値を読み込まなくても次の値をラッチできるようになっている。
【０２１８】
ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［６−４］に格納されるデータＲＳ３ＬＳ０〜ＲＳ３ＬＳ２は、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ３の値を取り込むかの設定を示している。図２８（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ１）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０２１９】
本実施例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［６−４］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に８ビット乱数ＲＳ３の値が取り込まれないように設定されている。
【０２２０】
ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［３］に格納されるデータＲＳ２ＲＦは、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ２の値を取り込む際の条件の設定を示している。図２８（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ２ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。
【０２２１】
本実施例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［３］の設定値として“１”が設定されており、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）から値を読み込まなくても次の値をラッチできるようになっている。
【０２２２】
ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］に格納されるデータＲＳ２ＬＳ０〜ＲＳ２ＬＳ２は、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ２の値を取り込むかの設定を示している。図２８（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。
【０２２３】
本実施例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］の設定値として“１１１”が設定されており、外部端子入力によっては、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に８ビット乱数ＲＳ２の値が取り込まれないように設定されている。
【０２２４】
図２９（Ａ）は、ＲＬ割込制御レジスタ０（ＲＬＩＣ０）の構成例を示している。図２９（Ｂ）は、ＲＬ割込制御レジスタ０（ＲＬＩＣ０）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット［７−６］のビット値は必ず“０”とされる。
【０２２５】
ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［５］に格納されるデータＲＬ１１ＩＥは、ＲＬ１ハードラッチ乱数値レジスタ１（ＲＬ１ＨＶ１）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ１１ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２２６】
ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［４］に格納されるデータＲＬ１０ＩＥは、ＲＬ１ハードラッチ乱数値レジスタ０（ＲＬ１ＨＶ０）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ１０ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２２７】
ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［３］に格納されるデータＲＬ０３ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ０３ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２２８】
ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［２］に格納されるデータＲＬ０２ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ０２ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２２９】
ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［１］に格納されるデータＲＬ０１ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ０１ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２３０】
ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［１］に格納されるデータＲＬ００ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ００ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２３１】
本実施例では、ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［５］〜［０］の設定値として、いずれも“０”が設定されており、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）〜ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）、ＲＬ１ハードラッチ乱数値レジスタ０（ＲＬ１ＨＶ０）〜ＲＬ１ハードラッチ乱数値レジスタ１（ＲＬ１ＨＶ１）に乱数値が取り込まれたことを要因とする割込が禁止されるようになっている。
【０２３２】
図３０（Ａ）は、ＲＬ割込制御レジスタ１（ＲＬＩＣ１）の構成例を示している。図３０（Ｂ）は、ＲＬ割込制御レジスタ１（ＲＬＩＣ１）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬ割込制御レジスタ１（ＲＬＩＣ１）のビット［７−６］及びビット［３−２］のビット値は必ず“０”とされる。
【０２３３】
ＲＬ割込制御レジスタ１（ＲＬＩＣ１）のビット番号［５］に格納されるデータＲＬ３１ＩＥは、ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ３１ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２３４】
ＲＬ割込制御レジスタ１（ＲＬＩＣ１）のビット番号［４］に格納されるデータＲＬ３０ＩＥは、ＲＬ３ハードラッチ乱数値レジスタ０（ＲＬ３ＨＶ０）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ３０ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２３５】
ＲＬ割込制御レジスタ１（ＲＬＩＣ１）のビット番号［１］に格納されるデータＲＬ２１ＩＥは、ＲＬ２ハードラッチ乱数値レジスタ１（ＲＬ２ＨＶ１）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ２１ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２３６】
ＲＬ割込制御レジスタ１（ＲＬＩＣ１）のビット番号［０］に格納されるデータＲＬ２０ＩＥは、ＲＬ２ハードラッチ乱数値レジスタ０（ＲＬ２ＨＶ０）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＬ２０ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２３７】
本実施例では、ＲＬ割込制御レジスタ１（ＲＬＩＣ１）のビット番号［５］、［４］、［１］、［０］の設定値として、いずれも“０”が設定されており、ＲＬ２ハードラッチ乱数値レジスタ０（ＲＬ２ＨＶ０）〜ＲＬ２ハードラッチ乱数値レジスタ１（ＲＬ２ＨＶ１）、ＲＬ３ハードラッチ乱数値レジスタ０（ＲＬ３ＨＶ０）〜ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）に乱数値が取り込まれたことを要因とする割込が禁止されるようになっている。
【０２３８】
図３１（Ａ）は、ＲＳ割込制御レジスタ（ＲＳＩＣ）の構成例を示している。図３１（Ｂ）は、ＲＳ割込制御レジスタ（ＲＳＩＣ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＳ割込制御レジスタ（ＲＳＩＣ）は、８ビット乱数回路５０８ａとフリーランカウンタ回路５０７とで兼用で用いられるレジスタであり、ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット［７−４］は、フリーランカウンタ回路５０７が用いるハードラッチレジスタ（ＦＲＣ０ハードラッチレジスタ（ＦＲ０ＨＶ）〜ＦＲＣ３ハードラッチレジスタ（ＦＲ３ＨＶ））に関する設定を示している。
【０２３９】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［７］に格納されるデータＦＲ３ＩＥは、ＦＲＣ３ハードラッチレジスタ（ＦＲ３ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＦＲ３ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４０】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［６］に格納されるデータＦＲ２ＩＥは、ＦＲＣ２ハードラッチレジスタ（ＦＲ２ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＦＲ２ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４１】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［５］に格納されるデータＦＲ１ＩＥは、ＦＲＣ１ハードラッチレジスタ（ＦＲ１ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＦＲ１ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４２】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［４］に格納されるデータＦＲ０ＩＥは、ＦＲＣ０ハードラッチレジスタ（ＦＲ０ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＦＲ０ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４３】
本実施例では、ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［７］〜［４］の設定値として、いずれも“０”が設定されており、ＦＲＣ０ハードラッチレジスタ（ＦＲ０ＨＶ）〜ＦＲＣ３ハードラッチレジスタ（ＦＲ３ＨＶ）に乱数値が取り込まれたことを要因とする割込が禁止されるようになっている。
【０２４４】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［３］に格納されるデータＲＳ３ＩＥは、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＳ３ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４５】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［２］に格納されるデータＲＳ２ＩＥは、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＳ２ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４６】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［１］に格納されるデータＲＳ１ＩＥは、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＳ１ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４７】
ＲＳ割込制御レジスタ（ＲＳＩＣ）のビット番号［０］に格納されるデータＲＳ０ＩＥは、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、乱数値が取り込まれたことを要因とする割込の禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割込禁止に設定した場合には、データＲＳ０ＩＥのビット値が“０”となる一方、割込許可に設定した場合には、そのビット値が“１”となる。
【０２４８】
本実施例では、ＲＬ割込制御レジスタ０（ＲＬＩＣ０）のビット番号［３］〜［０］の設定値として、いずれも“０”が設定されており、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）〜ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に乱数値が取り込まれたことを要因とする割込が禁止されるようになっている。
【０２４９】
図３２（Ａ）は、ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）の構成例を示している。図３２（Ｂ）は、ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図３２において、ｎは０〜３の値をとる。図３２（Ｂ）に示すように、ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）のビット番号［１５−０］に格納されるデータＲＬｎＭＸ１５〜ＲＬｎＭＸ０は、１６ビット乱数ＲＬｎの最大値が設定される。
【０２５０】
ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）は、ユーザモードに移行後にソフトウェア（ユーザプログラム）にて設定可能とされており、１６ビット乱数初期設定１、２（ＫＲＬ１、２）において、１６ビット乱数回路５０８ｂの起動方法としてソフトウェアによる起動が設定されたチャネルの１６ビット乱数回路５０８ｂに対応するＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）に、最大値（１〜６５５３６）を設定することで、該当するチャネルの１６ビット乱数回路５０８ｂが起動し、０〜最大値の範囲で乱数が生成されることとなる。尚、１６ビット乱数回路５０８ｂの起動方法としてソフトウェアによる起動が設定されたチャネルの１６ビット乱数回路５０８ｂに対応するＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）に最大値を設定しないことで、該当するチャネルの１６ビット乱数回路５０８ｂを起動させず、未使用に設定することができる。
【０２５１】
本実施例では、チャネル２、３の１６ビット乱数回路５０８ｂの起動方法としてソフトウェアによる起動が設定されており、さらに対応するＲＬ２最大値設定レジスタ（ＲＬ２ＭＸ）、ＲＬ３最大値設定レジスタ（ＲＬ３ＭＸ）にそれぞれ０が設定されているため、チャネル２、３の１６ビット乱数回路５０８ｂは未使用設定となる。
【０２５２】
図３３（Ａ）は、ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）の構成例を示している。図３３（Ｂ）は、ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図３３において、ｎは０〜３の値をとる。図３３（Ｂ）に示すように、ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）のビット番号［７−０］に格納されるデータＲＳｎＭＸ７〜ＲＳｎＭＸ０は、８ビット乱数ＲＳｎの最大値が設定される。
【０２５３】
ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）は、ユーザモードに移行後にソフトウェア（ユーザプログラム）にて設定可能とされており、８ビット乱数初期設定１、２（ＫＲＬ１、２）において、８ビット乱数回路５０８ａの起動方法としてソフトウェアによる起動が設定されたチャネルの８ビット乱数回路５０８ａに対応するＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）に、最大値（１〜２５５）を設定することで、該当するチャネルの８ビット乱数回路５０８ａが起動し、０〜最大値の範囲で乱数が生成されることとなる。尚、８ビット乱数回路５０８ａの起動方法としてソフトウェアによる起動が設定されたチャネルの８ビット乱数回路５０８ａに対応するＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）に最大値を設定しないことで、該当するチャネルの８ビット乱数回路５０８ａを起動させず、未使用に設定することができる。
【０２５４】
本実施例では、チャネル０〜３の８ビット乱数回路５０８ａの起動方法としてソフトウェアによる起動が設定されており、さらに対応するＲＬ０最大値設定レジスタ（ＲＬ０ＭＸ）〜ＲＬ３最大値設定レジスタ（ＲＬ３ＭＸ）にそれぞれ０が設定されているため、チャネル０〜３の８ビット乱数回路５０８ａは未使用設定となる。
【０２５５】
図３４（Ａ）は、乱数列変更レジスタ（ＲＤＳＣ）の構成例を示している。図３４（Ｂ）は、乱数列変更レジスタ（ＲＤＳＣ）に格納されるデータの各ビットにおける設定内容の一例を示している。乱数列変更レジスタ（ＲＤＳＣ）のビット番号［７］に格納されるデータＲＳ３ＳＣは、８ビット乱数ＲＳ３の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ３ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ３ＳＣは、初期値として“０”が設定されている。
【０２５６】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［６］に格納されるデータＲＳ２ＳＣは、８ビット乱数ＲＳ２の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ２ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ２ＳＣは、初期値として“０”が設定されている。
【０２５７】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［５］に格納されるデータＲＳ１ＳＣは、８ビット乱数ＲＳ１の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ１ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ１ＳＣは、初期値として“０”が設定されている。
【０２５８】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［４］に格納されるデータＲＳ０ＳＣは、８ビット乱数ＲＳ０の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ０ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ０ＳＣは、初期値として“０”が設定されている。
【０２５９】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［３］に格納されるデータＲＬ３ＳＣは、１６ビット乱数ＲＬ３の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ３ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ３ＳＣは、初期値として“０”が設定されている。
【０２６０】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［２］に格納されるデータＲＬ２ＳＣは、１６ビット乱数ＲＬ２の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ２ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ２ＳＣは、初期値として“０”が設定されている。
【０２６１】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［１］に格納されるデータＲＬ１ＳＣは、１６ビット乱数ＲＬ１の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ１ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ１ＳＣは、初期値として“０”が設定されている。
【０２６２】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［０］に格納されるデータＲＬ０ＳＣは、１６ビット乱数ＲＬ０の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ０ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ０ＳＣは、初期値として“０”が設定されている。
【０２６３】
図３５（Ａ）は、乱数ソフトラッチレジスタ（ＲＤＳＬ）の構成例を示している。図３５（Ｂ）は、乱数ソフトラッチレジスタ（ＲＤＳＬ）に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［７］に格納されるデータＲＳ３ＳＬは、８ビット乱数ＲＳ３の乱数値を、ＲＳ３ソフトラッチ乱数値レジスタ（ＲＳ３ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ３ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ３ＳＬは、初期値として“０”が設定されている。
【０２６４】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［６］に格納されるデータＲＳ２ＳＬは、８ビット乱数ＲＳ２の乱数値を、ＲＳ２ソフトラッチ乱数値レジスタ（ＲＳ２ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ２ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ２ＳＬは、初期値として“０”が設定されている。
【０２６５】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［５］に格納されるデータＲＳ１ＳＬは、８ビット乱数ＲＳ１の乱数値を、ＲＳ１ソフトラッチ乱数値レジスタ（ＲＳ１ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ１ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ１ＳＬは、初期値として“０”が設定されている。
【０２６６】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［４］に格納されるデータＲＳ０ＳＬは、８ビット乱数ＲＳ０の乱数値を、ＲＳ０ソフトラッチ乱数値レジスタ（ＲＳ０ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ０ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ０ＳＬは、初期値として“０”が設定されている。
【０２６７】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［３］に格納されるデータＲＬ３ＳＬは、１６ビット乱数ＲＬ３の乱数値を、ＲＬ３ソフトラッチ乱数値レジスタ（ＲＬ３ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ３ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ３ＳＬは、初期値として“０”が設定されている。
【０２６８】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［２］に格納されるデータＲＬ２ＳＬは、１６ビット乱数ＲＬ２の乱数値を、ＲＬ２ソフトラッチ乱数値レジスタ（ＲＬ２ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ２ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ２ＳＬは、初期値として“０”が設定されている。
【０２６９】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［１］に格納されるデータＲＬ１ＳＬは、１６ビット乱数ＲＬ１の乱数値を、ＲＬ１ソフトラッチ乱数値レジスタ（ＲＬ１ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ１ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ１ＳＬは、初期値として“０”が設定されている。
【０２７０】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［０］に格納されるデータＲＬ０ＳＬは、１６ビット乱数ＲＬ０の乱数値を、ＲＬ０ソフトラッチ乱数値レジスタ（ＲＬ０ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ０ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ０ＳＬは、初期値として“０”が設定されている。
【０２７１】
図３６（Ａ）は、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の構成例を示している。図３６（Ｂ）は、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［７］に格納されるデータＲＳ３ＳＦは、ＲＳ３ソフトラッチ乱数値レジスタ（ＲＳ３ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ３ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ３ＳＦは、初期値として“０”が設定されている。
【０２７２】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［６］に格納されるデータＲＳ２ＳＦは、ＲＳ２ソフトラッチ乱数値レジスタ（ＲＳ２ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ２ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ２ＳＦは、初期値として“０”が設定されている。
【０２７３】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［５］に格納されるデータＲＳ１ＳＦは、ＲＳ１ソフトラッチ乱数値レジスタ（ＲＳ１ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ１ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ１ＳＦは、初期値として“０”が設定されている。
【０２７４】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［４］に格納されるデータＲＳ０ＳＦは、ＲＳ０ソフトラッチ乱数値レジスタ（ＲＳ０ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ０ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ０ＳＦは、初期値として“０”が設定されている。
【０２７５】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［３］に格納されるデータＲＬ３ＳＦは、ＲＬ３ソフトラッチ乱数値レジスタ（ＲＬ３ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ３ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ３ＳＦは、初期値として“０”が設定されている。
【０２７６】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［２］に格納されるデータＲＬ２ＳＦは、ＲＬ２ソフトラッチ乱数値レジスタ（ＲＬ２ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ２ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ２ＳＦは、初期値として“０”が設定されている。
【０２７７】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［１］に格納されるデータＲＬ１ＳＦは、ＲＬ１ソフトラッチ乱数値レジスタ（ＲＬ１ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ１ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ１ＳＦは、初期値として“０”が設定されている。
【０２７８】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［０］に格納されるデータＲＬ０ＳＦは、ＲＬ０ソフトラッチ乱数値レジスタ（ＲＬ０ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０ＳＦは、初期値として“０”が設定されている。
【０２７９】
図３７（Ａ）は、ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）の構成例を示している。図３７（Ｂ）は、ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図３７において、ｎは０〜３の値をとる。図３７（Ｂ）に示すように、ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）のビット番号［１５−０］に格納されるデータＲＬｎＳＶ１５〜ＲＬｎＳＶ０は、乱数ソフトラッチレジスタ（ＲＤＳＬ）により取り込まれた１６ビット乱数ＲＬｎの値が格納される。尚、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の該当するビットに“１”がセットされる。
【０２８０】
図３８（Ａ）は、ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）の構成例を示している。図３８（Ｂ）は、ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図３８において、ｎは０〜３の値をとる。図３８（Ｂ）に示すように、ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）のビット番号［７−０］に格納されるデータＲＳｎＳＶ７〜ＲＳｎＳＶ０は、乱数ソフトラッチレジスタ（ＲＤＳＬ）により取り込まれた８ビット乱数ＲＳｎの値が格納される。尚、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の該当するビットに“１”がセットされる。
【０２８１】
図３９（Ａ）は、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の構成例を示している。図３９（Ｂ）は、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット［７−６］のビット値は必ず“０”とされる。
【０２８２】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［５］に格納されるデータＲＬ１１ＨＦは、ＲＬ１ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ１１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ１１ＨＦは、初期値として“０”が設定されている。
【０２８３】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［４］に格納されるデータＲＬ１０ＨＦは、ＲＬ１ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ１０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ１０ＨＦは、初期値として“０”が設定されている。
【０２８４】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［３］に格納されるデータＲＬ０３ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ３に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０３ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０３ＨＦは、初期値として“０”が設定されている。
【０２８５】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［２］に格納されるデータＲＬ０２ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ２に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０２ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０２ＨＦは、初期値として“０”が設定されている。
【０２８６】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［１］に格納されるデータＲＬ０１ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０１ＨＦは、初期値として“０”が設定されている。
【０２８７】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［０］に格納されるデータＲＬ００ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ００ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ００ＨＦは、初期値として“０”が設定されている。
【０２８８】
図４０（Ａ）は、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の構成例を示している。図４０（Ｂ）は、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット［７−６］及びビット［３−２］のビット値は必ず“０”とされる。
【０２８９】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［５］に格納されるデータＲＬ３１ＨＦは、ＲＬ３ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ３１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ３１ＨＦは、初期値として“０”が設定されている。
【０２９０】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［４］に格納されるデータＲＬ３０ＨＦは、ＲＬ３ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ３０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ３０ＨＦは、初期値として“０”が設定されている。
【０２９１】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［１］に格納されるデータＲＬ２１ＨＦは、ＲＬ２ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ２１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ２１ＨＦは、初期値として“０”が設定されている。
【０２９２】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［１］に格納されるデータＲＬ２０ＨＦは、ＲＬ２ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ２０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ２０ＨＦは、初期値として“０”が設定されている。
【０２９３】
図４１（Ａ）は、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）の構成例を示している。図４１（Ｂ）は、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）は、８ビット乱数回路５０８ａとフリーランカウンタ回路５０７とで兼用で用いられるレジスタであり、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット［７−４］は、フリーランカウンタ回路５０７が用いるハードラッチレジスタ（ＦＲＣ０ハードラッチレジスタ（ＦＲ０ＨＶ）〜ＦＲＣ３ハードラッチレジスタ（ＦＲ３ＨＶ））に関する設定を示している。
【０２９４】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［３］に格納されるデータＲＳ３ＨＦは、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ３ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ３ＨＦは、初期値として“０”が設定されている。
【０２９５】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［２］に格納されるデータＲＳ２ＨＦは、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ２ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ２ＨＦは、初期値として“０”が設定されている。
【０２９６】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［１］に格納されるデータＲＳ１ＨＦは、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ１ＨＦは、初期値として“０”が設定されている。
【０２９７】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［０］に格納されるデータＲＳ０ＨＦは、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ０ＨＦは、初期値として“０”が設定されている。
【０２９８】
図４２（Ａ）は、ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）の構成例を示している。図４２（Ｂ）は、ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４２において、ｍは０〜３の値をとる。図４２（Ｂ）に示すように、ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ０ｍＨＶ１５〜ＲＬ０ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ０の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の該当するビットに“１”がセットされる。
【０２９９】
図４３（Ａ）は、ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）の構成例を示している。図４３（Ｂ）は、ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４３において、ｍは０〜３の値をとる。図４３（Ｂ）に示すように、ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ１ｍＨＶ１５〜ＲＬ１ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ１の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の該当するビットに“１”がセットされる。
【０３００】
図４４（Ａ）は、ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）の構成例を示している。図４４（Ｂ）は、ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４４において、ｍは０〜３の値をとる。図４４（Ｂ）に示すように、ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ２ｍＨＶ１５〜ＲＬ２ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ２の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の該当するビットに“１”がセットされる。
【０３０１】
図４５（Ａ）は、ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）の構成例を示している。図４５（Ｂ）は、ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４５において、ｍは０〜３の値をとる。図４５（Ｂ）に示すように、ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ３ｍＨＶ１５〜ＲＬ３ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ３の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の該当するビットに“１”がセットされる。
【０３０２】
図４６（Ａ）は、ＲＳｎハードラッチ乱数値レジスタ（ＲＳｎＨＶ）の構成例を示している。図４６（Ｂ）は、ＲＳｎハードラッチ乱数値レジスタ（ＲＳｎＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４６において、ｎは０〜３の値をとる。図４６（Ｂ）に示すように、ＲＳｎハードラッチ乱数値レジスタ（ＲＬｎＨＶ）のビット番号［７０］に格納されるデータＲＳｎＨＶ７〜ＲＳｎＨＶ０は、外部端子入力により取り込まれた８ビット乱数ＲＳｎの値が格納される。尚、乱数値が取り込まれると、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）の該当するビットに“１”がセットされる。
【０３０３】
本実施例においてメイン制御部４１は、パラレル出力ポート５１３を介してサブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート５１３を介してサブ制御部９１に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路５１２を介してサブ制御部９１に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。
【０３０４】
また、メイン制御部４１は、遊技制御基板４０に接続された各種スイッチ類の検出状態がパラレル入力ポート５１１から入力される。そしてメイン制御部４１は、これらパラレル入力ポート５１１から入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
【０３０５】
また、メイン制御部４１は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路５０９にてタイムアウトが発生したこと、すなわち一定時間間隔（本実施例では、約０．５６ｍｓ）毎に後述するタイマ割込処理（メイン）を実行する。
【０３０６】
また、メイン制御部４１は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
【０３０７】
メイン制御部４１は、基本処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ｍｓ）毎にタイマ割込処理（メイン）を実行する。尚、タイマ割込処理（メイン）の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【０３０８】
演出制御基板９０には、演出用スイッチ５６が接続されており、この演出用スイッチ５６の検出信号が入力されるようになっている。
【０３０９】
演出制御基板９０には、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。
【０３１０】
尚、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１及び出力制御部の双方によって演出装置の出力制御が行われることとなる。
【０３１１】
また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【０３１２】
演出制御基板９０には、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部９１、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２、演出効果ＬＥＤ５２、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４、電源投入時またはサブＣＰＵ９１ａからの初期化命令が一定時間入力されないときにサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５、演出制御基板９０に接続された演出用スイッチ５６から入力された検出信号を検出するスイッチ検出回路９６、日付情報及び時刻情報を含む時間情報を出力する時計装置９７、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブＣＰＵ９１ａに対して出力する電断検出回路９８、その他の回路等、が搭載されており、サブＣＰＵ９１ａは、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【０３１３】
リセット回路９５は、遊技制御基板４０においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部９１は、メイン制御部４１よりも早い段階で起動するようになっている。一方で、電断検出回路９８は、遊技制御基板４０においてメイン制御部４１に電圧低下信号を出力する電断検出回路４８よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部９１は、メイン制御部４１よりも遅い段階で停電を検知し、後述する電断処理（サブ）を行うこととなる。
【０３１４】
サブ制御部９１は、メイン制御部４１と同様に、割込機能を備えており、メイン制御部４１からのコマンド受信時に割込を発生させて、メイン制御部４１から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部９１は、システムクロックの入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理（サブ）を実行する。
【０３１５】
また、サブ制御部９１は、メイン制御部４１とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理（サブ）の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理（サブ）の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
【０３１６】
また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【０３１７】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【０３１８】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定値６からさらに操作されたときは、設定値１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ４１ｃに格納され、遊技の進行が可能な状態に移行する。
【０３１９】
尚、設定キースイッチ３７がｏｎ状態で電源投入された場合に、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定変更状態に移行する構成としても良く、このような構成とすることで、前面扉１ｂが開放されていない状態で不正に設定変更がされてしまうことを防止できる。また、前面扉１ｂの開放が検出されていることを条件に、設定変更状態に移行する構成においては、設定変更状態に移行後、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されなくなっても、設定変更状態を維持することが好ましく、これにより、設定変更中に前面扉１ｂが一時的に閉じてしまっても、再度、設定変更状態に移行させるための操作を必要とせず、設定変更操作が煩雑となってしまうことがない。また、設定変更状態に移行後、スタートスイッチ７が操作されて設定値が確定した後、設定キースイッチ３７がｏｆｆとなったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定変更状態を終了して遊技の進行が可能な状態に移行する構成としても良く、このような構成においても、前面扉１ｂが開放されていない状態で不正に設定変更がされてしまうことを防止できる。
【０３２０】
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７をｏｎ状態とすれば良い。このような状況で設定キースイッチ３７をｏｎ状態とすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ３７をｏｆｆ状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
【０３２１】
尚、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７がｏｎ状態となったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定確認状態に移行する構成としても良く、このような構成とすることで、前面扉１ｂが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。また、前面扉１ｂの開放が検出されていることを条件に、設定確認状態に移行する構成においては、設定確認状態に移行後、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されなくなっても、設定確認状態を維持することが好ましく、これにより、設定確認中に前面扉１ｂが一時的に閉じてしまっても、再度、設定確認状態に移行させるための操作を必要とせず、設定確認操作が煩雑となってしまうことがない。また、設定確認状態に移行後、スタートスイッチ７が操作されて設定値が確定した後、設定キースイッチ３７がｏｆｆとなったときに、ドア開放検出スイッチ２５により前面扉１ｂの開放が検出されていることを条件に、設定確認状態を終了して遊技の進行が可能な状態に復帰する構成としても良く、このような構成においても、前面扉１ｂが開放されていない状態で不正に設定値が確認されてしまうことを防止できる。
【０３２２】
本実施例のスロットマシン１においては、メイン制御部４１は、タイマ割込処理（メイン）を実行する毎に、電断検出回路４８からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、次回復帰時にＲＡＭ４１ｃのデータが正常か否かを判定するためのデータを設定する電断処理（メイン）を実行する。
【０３２３】
そして、メイン制御部４１は、その起動時においてＲＡＭ４１ｃのデータが正常であることを条件に、ＲＡＭ４１ｃに記憶されているデータに基づいてメイン制御部４１の処理状態を電断前の状態に復帰させるが、ＲＡＭ４１ｃデータが正常でない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。
【０３２４】
また、サブ制御部９１もタイマ割込処理（サブ）において電断検出回路９８からの電圧低下信号が検出されているか否かを判定し、電圧低下信号が検出されていると判定した場合に、次回復帰時にＲＡＭ９１ｃのデータが正常か否かを判定するためのデータを設定する電断処理（サブ）を実行する。
【０３２５】
そして、サブ制御部９１は、その起動時においてＲＡＭ９１ｃのデータが正常であることを条件に、ＲＡＭ９１ｃに記憶されているデータに基づいてサブ制御部９１の処理状態を電断前の状態に復帰させるが、ＲＡＭ９１ｃのデータが正常でない場合には、ＲＡＭ異常と判定し、ＲＡＭ９１ｃを初期化するようになっている。この場合、メイン制御部４１と異なり、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【０３２６】
また、サブ制御部９１は、その起動時においてＲＡＭ９１ｃのデータが正常であると判断された場合でも、メイン制御部４１から設定変更状態に移行した旨を示す後述の設定コマンドを受信した場合、起動後一定時間が経過してもメイン制御部４１の制御状態が復帰した旨を示す後述の復帰コマンドも設定コマンドも受信しない場合にも、ＲＡＭ９１ｃを初期化するようになっている。この場合も、ＲＡＭ９１ｃが初期化されるのみで演出の実行が不能化されることはない。
【０３２７】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について説明する。メイン制御部４１のＲＡＭ４１ｃの格納領域は、重要ワーク、非保存ワーク、一般ワーク、特別ワーク、未使用領域、スタック領域に区分されている。
【０３２８】
本実施例においてメイン制御部４１は、ＲＡＭ異常エラー発生時、設定キースイッチ３７がｏｎの状態での起動時、ボーナス終了時、設定キースイッチ３７がｏｆｆの状態での起動時でＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の５つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化を行う。
【０３２９】
初期化１は起動時において設定キースイッチ３７がｏｎの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはＲＡＭ異常エラー発生時に行う初期化であり、初期化１では、ＲＡＭ４１ｃの格納領域のうち重要ワーク及び特別ワーク以外の領域が初期化される。初期化２は、ボーナス終了時に行う初期化であり、初期化２では、ＲＡＭ４１ｃの格納領域のうち一般ワーク、未使用領域及び未使用スタック領域が初期化される。初期化３は、起動時において設定キースイッチ３７がｏｆｆの状態であり、かつＲＡＭ４１ｃのデータが破壊されていない場合において行う初期化であり、初期化３では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、ＲＡＭ４１ｃの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
【０３３０】
尚、本実施例では、初期化１を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行ったりするようにしても良い。
【０３３１】
本実施例のスロットマシン１は、前述のように遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインＬＮが有効化される。
【０３３２】
本実施例のスロットマシン１は、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ）上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
【０３３３】
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。
【０３３４】
遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。
【０３３５】
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【０３３６】
以下、本実施例の内部抽選について説明する。内部抽選は、メイン制御部４１が上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出表示される以前に（実際には、スタートスイッチ７の検出時）決定するものである。内部抽選では、まず、スタートスイッチ７の検出時に内部抽選用の乱数値（０〜６５５３５の整数）を取得する。詳しくは、乱数回路５０８ｂのチャネルＲＬ０により生成され、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に格納されている値をＲＡＭ４１ｃに割り当てられた抽選用ワークに設定する。そして、遊技状態及び特別役の持ち越しの有無に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態及びＲＴの種類、賭数及び設定値に応じて定められた各役の判定値数に応じて行われる。
【０３３７】
尚、既に、図２４で説明したように、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット２−０の設定内容によりいずれかの端子からの信号（ラッチ信号）に基づいて、乱数回路５０８ｂのチャネルＲＬ０のＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に乱数値をラッチさせるかが設定されている。本実施例では、スタートスイッチ７からの検出信号が入力されるＰＩ０端子からの信号に基づいて乱数回路５０８ｂのチャネルＲＬ０のＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に乱数値をラッチさせる旨が設定されており、スタートスイッチ７が操作されたタイミングで乱数回路５０８ｂのチャネルＲＬ０におけるＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に乱数値をラッチできるように構成されている。
【０３３８】
内部抽選では、内部抽選の対象となる役、現在の遊技状態、現在のＲＴの種別及び設定値に対応して定められた判定値数を、内部抽選用の乱数値（抽選用ワークに格納された数値データ）に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率（判定値数／６５５３６）で役が当選することとなる。
【０３３９】
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをＲＡＭ４１ｃに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、２バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組合せにも当選しなかった場合には、一般役格納ワークのみクリアする。
【０３４０】
次に、リール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。
【０３４１】
メイン制御部４１は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ＲＯＭ４１ｂＡに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【０３４２】
テーブルインデックスには、内部抽選による当選フラグの設定状態（以下、内部当選状態と呼ぶ）別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。尚、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
【０３４３】
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。
【０３４４】
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。
【０３４５】
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施例では、リールモータ３２Ｌ、３２Ｃ、３２Ｒに、３３６ステップ（０〜３３５）の周期で１周するステッピングモータを用いている。すなわちリールモータ３２Ｌ、３２Ｃ、３２Ｒを３３６ステップ駆動させることでリール２Ｌ、２Ｃ、２Ｒが１周することとなる。そして、リール１周に対して１６ステップ（１図柄が移動するステップ数）毎に分割した２１の領域（コマ）が定められており、これらの領域には、リール基準位置から０〜２０の領域番号が割り当てられている。一方、１リールに配列された図柄数も２１であり、各リールの図柄に対して、リール基準位置から０〜２０の図柄番号が割り当てられているので、０番図柄から２０番図柄に対して、それぞれ０〜２０の領域番号が順に割り当てられていることとなる。そして、停止制御テーブルには、領域番号別の滑りコマ数が所定のルールで圧縮して格納されており、停止制御テーブルを展開することによって領域番号別の滑りコマ数を取得できるようになっている。
【０３４６】
前述のようにテーブルインデックス及びテーブル作成用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に位置するタイミング（リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング）でストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された場合の滑りコマ数がそれぞれ設定されたテーブルである。
【０３４７】
次に、停止制御テーブルの作成手順について説明すると、まず、リール回転開始時においては、そのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスを取得する。具体的には、まずテーブルインデックスを参照し、内部当選状態に対応するインデックスデータを取得し、そして取得したインデックスデータに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから全てのリールが回転中の状態に対応する各リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して全てのリールについて停止制御テーブルを作成する。
【０３４８】
また、いずれか１つのリールが停止したとき、またはいずれか２つのリールが停止したときには、リール回転開始時に取得したインデックスデータ、すなわちそのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して未停止のリールについて停止制御テーブルを作成する。
【０３４９】
次に、メイン制御部４１がストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する滑りコマ数を取得する。そして、取得した滑りコマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した滑りコマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から滑りコマ数分先の停止位置となる領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に停止することとなる。
【０３５０】
本実施例のテーブルインデックスには、一の遊技状態における一の内部当選状態に対応するインデックスデータとして１つのアドレスのみが格納されており、更に、一のテーブル作成用データには、一のリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルの格納領域のアドレスとして１つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部当選状態に対応するテーブル作成用データ、及びリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部当選状態、及びリールの停止状況（及び停止済みのリールの停止位置）に対して一意となる。このため、遊技状態、内部当選状態、リールの停止状況（及び停止済みのリールの停止位置）の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。
【０３５１】
また、本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【０３５２】
本実施例では、いずれかの役に当選している場合には、当選役を入賞ライン上に４コマの範囲で最大限引き込み、当選していない役が入賞ライン上に揃わないように引き込む滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う一方、いずれの役にも当選していない場合には、いずれの役も揃わない滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲で揃えずに停止させる制御が行われることとなる。
【０３５３】
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、当選した小役を入賞ラインに４コマの範囲で最大限に引き込むように滑りコマ数が定められているとともに、当選した小役を入賞ラインに最大４コマの範囲で引き込めない停止操作位置については、当選した特別役を入賞ラインに４コマの範囲で最大限に引き込むように滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになっている。
【０３５４】
尚、本実施例では、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合や新たに特別役と小役が同時に当選した場合など、特別役と小役が同時に当選している場合には、当選した特別役よりも当選した小役が優先され、小役が引き込めない場合のみ、特別役を入賞ライン上に揃える制御を行っているが、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【０３５５】
特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになっている。
【０３５６】
本実施例においてメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒの回転が開始した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
【０３５７】
尚、本実施例では、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。
【０３５８】
本実施例においてメイン制御部４１は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間（本実施例では４．１秒）以上であれば、すなわち前のゲームのリール回転開始時点から所定の規制時間が経過していれば、その時点で当該ゲームにおけるリールの回転を開始させる。
【０３５９】
一方、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間未満であれば、すなわち前のゲームのリール回転開始時点から所定の規制時間が経過していなければ、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間に到達するまで待機し、所定の規制時間に到達した時点で当該ゲームにおけるリールの回転を開始させる。
【０３６０】
次に、メイン制御部４１がサブ制御部９１に対して送信するコマンドについて説明する。
【０３６１】
本実施例では、メイン制御部４１がサブ制御部９１に対して、投入枚数コマンド、クレジットコマンド、内部当選コマンド、リール回転開始コマンド、リール停止コマンド、入賞番号コマンド、払出開始コマンド、払出終了コマンド、復帰コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
【０３６２】
これらコマンドは、コマンドの種類を示す１バイトの種類データとコマンドの内容を示す１バイトの拡張データとからなり、サブ制御部９１は、種類データからコマンドの種類を判別できるようになっている。
【０３６３】
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、ＭＡＸＢＥＴスイッチ６が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
【０３６４】
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
【０３６５】
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときに送信される。また、内部当選コマンドは、スタートスイッチ７が操作されたときに送信されるので、内部当選コマンドを受信することでスタートスイッチ７が操作されたことを特定可能である。
【０３６６】
リール回転開始コマンドは、後述のフリーズ状態に制御されないゲームにおいてリールの回転の開始を通知するコマンドであり、リール２Ｌ、２Ｃ、２Ｒの回転が開始されたときに送信される。
【０３６７】
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。また、リール停止コマンドは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに送信されるので、リール停止コマンドを受信することでストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたことを特定可能である。
【０３６８】
入賞番号コマンドは、入賞ラインＬＮに揃った図柄の組合せ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
【０３６９】
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
【０３７０】
復帰コマンドは、メイン制御部４１が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部４１の起動時において電断前の制御状態に復帰した際に送信される。
【０３７１】
遊技状態コマンドは、現在の遊技状態（ＢＢ中、ＲＢ中、再遊技等）を特定可能なコマンドであり、電断復帰時またはゲームの終了時に送信される。
【０３７２】
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、１ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するとき、クレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
【０３７３】
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ＢＢ終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
【０３７４】
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
【０３７５】
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部４１の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部４１の制御状態が初期化されたことを特定可能である。
【０３７６】
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
【０３７７】
ドアコマンドは、ドア開放検出スイッチ２５の検出状態、すなわちｏｎ（開放状態）／ｏｆｆ（閉状態）を示すコマンドであり、電源投入時、１ゲーム終了時（ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点）、ドア開放検出スイッチ２５の検出状態が変化（ｏｎからｏｆｆ、ｏｆｆからｏｎ）した時に送信される。
【０３７８】
操作検出コマンドは、操作スイッチ類（ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の検出状態（ｏｎ／ｏｆｆ）を示すコマンドであり、定期的に送信される。
【０３７９】
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、基本処理において生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、前述したタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０３８０】
一方、ドアコマンドは、タイマ割込処理（メイン）のドア監視処理においてに生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０３８１】
また、操作検出コマンドは、タイマ割込処理（メイン）のコマンド送信処理が１０回実行される毎に、スイッチの検出状態に基づいて生成されるとともに、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０３８２】
次に、メイン制御部４１が演出制御基板９０に対して送信するコマンドに基づいてサブ制御部９１が実行する演出の制御について説明する。
【０３８３】
サブ制御部９１は、メイン制御部４１からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、ＲＡＭ９１ｃに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
【０３８４】
受信用バッファには、最大で１６個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
【０３８５】
サブ制御部９１は、タイマ割込処理（サブ）において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてＲＯＭ９１ｂに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の各種演出装置の出力制御を行う。
【０３８６】
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器５１の表示パターン、演出効果ＬＥＤ５２の点灯態様、スピーカ５３、５４の出力態様、リールＬＥＤ５５の点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部９１は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてＲＡＭ９１ｃに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
【０３８７】
尚、サブ制御部９１は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
【０３８８】
特に、本実施例では、演出の実行中に賭数の設定操作がなされたとき、すなわちサブ制御部９１が、賭数が設定された旨を示す投入枚数コマンドを受信したときに、実行中の演出を中止するようになっている。このため、遊技者が、演出を最後まで見るよりも次のゲームを進めたい場合には、演出がキャンセルされ、次のゲームを開始できるので、このような遊技者に対して煩わしい思いをさせることがない。また、演出の実行中にクレジットまたは賭数の精算操作がなされたとき、すなわちサブ制御部９１が、ゲームの終了を示す遊技状態コマンドを受信した後、ゲームの開始を示す内部当選コマンドを受信する前に、払出開始コマンドを受信した場合には、実行中の演出を中止するようになっている。クレジットや賭数の精算を行うのは、遊技を終了する場合であり、このような場合に実行中の演出を終了させることで、遊技を終了する意志があるのに、不要に演出が継続してしまわないようになっている。
【０３８９】
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、ＲＡＭ９１ｃに設定される。演出パターンの選択率は、ＲＯＭ９１ｂに格納された演出テーブルに登録されており、サブ制御部９１は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
【０３９０】
本実施例においてメイン制御部４１は、ゲームを進行させるための操作が有効化されるタイミングを遅延させることにより、所定期間にわたりゲームを進行させるための操作が無効化されるフリーズ状態に制御するか否かを決定するフリーズ抽選を行い、フリーズ抽選に当選することで、上記のフリーズ状態に制御する。
【０３９１】
本実施例では、乱数回路５０８ｂのチャネルＲＬ１により生成された乱数値を用いてフリーズ抽選の結果が判定される。
【０３９２】
尚、既に、図２６で説明したように、ＲＬ１ハードラッチ選択レジスタ（ＲＬ１ＬＳ）のビット番号［２−０］の設定内容により、ＰＩ１端子からの入力（ＭＡＸＢＥＴスイッチ６の操作検出信号の入力）により、ＲＬ１ハードラッチ乱数値レジスタ０（ＲＬ１ＨＶ０）に１６ビット乱数ＲＬ１の値が取り込まれるように設定されており、ＭＡＸＢＥＴスイッチ６が操作されたタイミングで乱数回路５０８ｂのチャネルＲＬ１におけるＲＬ１ハードラッチ乱数値レジスタ０（ＲＬ１ＨＶ０）に乱数値をラッチできるように構成されているが、操作手段からの検出信号によるタイミングで乱数回路５０８ｂのチャネルＲＬ１により生成された乱数値がラッチされるものに限らず、所定のタイミングで乱数回路５０８ｂのチャネルＲＬ１に対応する乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット１（ＲＬ１ＳＬ）に“１”をセットすることでプログラムにて乱数回路５０８ｂのチャネルＲＬ１におけるＲＬ１ソフトラッチ乱数値レジスタ（ＲＬ１ＳＶ）に乱数値をラッチさせてフリーズ抽選の結果判定に用いるようにしても良い。
【０３９３】
このように本実施例では、フリーズ抽選の結果に応じてフリーズ状態に制御されるようになっている。そして、フリーズ抽選にメイン制御部４１が搭載する乱数回路５０８ｂが生成した乱数を利用しているが、乱数回路５０８ｂは、それぞれ別個の乱数を生成するチャネルＲＬ０〜ＲＬ３の４回路を備えており、フリーズ抽選では、乱数回路５０８ｂが生成する乱数のうち内部抽選に用いるチャネルＲＬ０にて生成される乱数とは別のチャネルＲＬ１にて生成される乱数が用いられるので、内部抽選が用いる乱数と、フリーズ抽選が用いる乱数と、が同期してしまうことを防止できる。
【０３９４】
尚、本実施例では、１６ビット乱数回路５０８ｂの異なるチャネル（チャネル０とチャネル１）からそれぞれ乱数値を抽出することにより、内部抽選を行う場合と、フリーズ抽選を行う場合と、で乱数を抽出する乱数値を異ならせる場合を示したが、本実施例で示した態様に限られない。例えば、１６ビット乱数回路５０８ｂの同じチャネルであっても、その同じチャネルで用いる異なるハードラッチ乱数値レジスタから（例えば、同じチャネル０のＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）とＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）とから）乱数値を抽出することにより、抽出する乱数値レジスタを異ならせても良い。
【０３９５】
また、本実施例では、フリーズ抽選が用いる乱数として、１６ビット乱数回路５０８ｂが生成した乱数を利用しているが８ビット乱数回路５０８ａが生成した乱数を利用しても良い。
【０３９６】
また、本実施例では、フリーズ抽選が用いる乱数として、乱数回路５０８ｂが生成した乱数を利用しているが、フリーズ抽選が用いる乱数としてプログラムによって更新されるソフト乱数を用いても良い。
【０３９７】
また、本実施例では、フリーズ状態に制御するか否かを決定するフリーズ抽選に用いる乱数として乱数回路５０８ｂが生成した乱数を利用する構成であるが、遊技者にとっての有利度を決定する抽選や遊技者にとって有利な特典を付与するか否かを決定する抽選に用いる乱数として乱数回路５０８ａ、５０８ｂが生成した乱数を利用する構成としても良い。また、フリーズ抽選の結果が、遊技者にとっての有利度の決定、遊技者にとって有利な特典を付与するか否かの決定に反映される構成としても良い。
【０３９８】
本実施例では、メイン制御部４１のプログラム管理エリアの設定値により、メイン制御部４１に搭載された回路（乱数回路５０８ａ、５０８ｂ、ウォッチドッグタイマ５０６ｂ、リセット／割込コントローラ５０６等）の使用／未使用の設定が可能とされており、不要な回路については、未使用に設定しておくことにより、未使用に設定された回路を起動させないようにすることができる。このような構成においては、使用しない回路について未使用に設定されていても、不正なプログラムの起動やノイズ等によって当該回路が動作する可能性があり、この際、未使用の回路についての動作設定として、メイン制御部４１を構成するマイクロコンピュータの工場出荷時の設定のままだと、メイン制御部４１が想定外の動作を引き起こしてしまう虞がある。
【０３９９】
本実施例において、乱数回路５０８ａ、５０８ｂは、それぞれ４チャネルの乱数回路を備えており、そのうち乱数回路５０８ｂのチャネル０、１のみ起動するように設定され、乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３については未使用に設定され、起動しないようになっている。そして、プログラム管理エリアにおける未使用の乱数回路の動作設定に対応する設定値として、工場出荷時の初期値（全て０）とは異なる設定値であり、仮に動作してしまっても問題の生じない設定値が設定されている。このため、何らかの原因で未使用に設定された乱数回路が動作してしまった場合であっても、未使用の乱数回路により想定外の動作をしてしまうことを防止できる。
【０４００】
また、本実施例では、乱数回路５０８ｂを構成するチャネル０〜４の乱数回路のうち、チャネル０、１については使用に設定され、チャネル２、３については未使用に設定されており、これら未使用に設定されたチャネル２、３についてのプログラム管理エリアにおける未使用の乱数回路の動作設定に対応する設定値（１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」、ビット「５−４」及びビット「２」、ビット１−０）の設定値、１６ビット乱数初期設定３（ＫＲＬ３のビット「７」、ビット「６」、ビット「５」、ビット「４」の設定値）として、使用に設定されたチャネル０、１の設定値（１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」、ビット「５−４」及びビット「２」、ビット１−０）の設定値、１６ビット乱数初期設定３（ＫＲＬ３のビット「３」、ビット「２」、ビット「１」、ビット「０」の設定値）と同一の設定値が設定されている。すなわち複数の同種の制御回路のうち使用する一の制御回路について使用に設定され、一の制御回路とは異なる他の制御回路について未使用に設定されており、未使用に設定されている制御回路の動作設定として、使用に設定されている同種の制御回路の動作設定と同一の設定がされている。このため、何らかの原因で未使用に設定された他の制御回路が動作してしまった場合であっても、工場出荷時の初期値による設定ではなく、使用に設定された同種の制御回路と同一設定としておくことにより、当該制御回路による動作を想定内の範囲留めることができる。
【０４０１】
また、本実施例では、乱数回路５０８ｂのチャネル２、３については未使用に設定され、起動しないようになっているが、これら未使用に設定された乱数回路５０８ｂのチャネル２、３のシステムリセット毎に乱数値の初期値を変更するか否かの動作設定として、工場出荷時の設定値（０）、すなわちシステムリセット毎に乱数値の初期値を変更しない旨の設定値ではなく、システムリセット毎に乱数値の初期値を変更する設定値（１）が設定されている。このため、未使用の乱数回路であっても、不正な要因によって起動された乱数回路により生成される数値データの更新タイミングを予測しにくくなり、乱数の更新タイミングから狙われた特定の数値データを利用して不正に遊技者にとって有利な状況を発生させるような不正行為を未然に防止することができる。
【０４０２】
また、本実施例では、乱数回路５０８ｂのチャネル２、３については未使用に設定され、起動しないようになっているが、これら未使用に設定された乱数回路５０８ｂのチャネル２、３のシステムリセット後、乱数更新の１週目の初期値として、工場出荷時の設定値（０）に基づく０００１ではなく、ＩＤナンバーをもとにした値をとる設定値（１）が設定されている。このため、未使用の乱数回路であっても、不正な要因によって起動された乱数回路により生成される数値データの更新タイミングを予測しにくくなり、乱数の更新タイミングから狙われた特定の数値データを利用して不正に遊技者にとって有利な状況を発生させるような不正行為を未然に防止することができる。
【０４０３】
また、本実施例では、乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３については未使用に設定され、起動しないようになっているが、これら未使用に設定された乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３の乱数列の更新方法を変更するか否かの動作設定として、工場出荷時の設定値（００）、すなわち乱数列を変更しない旨の設定値ではなく、乱数列を自動で変更する旨の設定値（１０）が設定されている。このため、未使用の乱数回路であっても、不正な要因によって起動された乱数回路により生成される数値データの更新タイミングを予測しにくくなり、乱数の更新タイミングから狙われた特定の数値データを利用して不正に遊技者にとって有利な状況を発生させるような不正行為を未然に防止することができる。
【０４０４】
また、本実施例では、乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３については未使用に設定され、起動しないようになっているが、これら乱数回路５０８ａのチャネル０〜３、乱数回路５０８ｂのチャネル２、３において更新異常が検出された場合にも、内部情報レジスタ（ＣＩＦ）の対応するビットに“１”がセットされるようになっており、内部情報レジスタ（ＣＩＦ）の値を確認することにより、未使用に設定された乱数回路であっても更新異常が検出されたか否かを確認することができる。
【０４０５】
また、本実施例では、ＣＰＵ４１ａが、所定の契機で行われるエラー判定処理において、内部情報レジスタ（ＣＩＦ）の値を取得し、内部情報レジスタ（ＣＩＦ）の値が０か否か判定し、０以外、すなわち内部情報レジスタ（ＣＩＦ）のいずれかのビットに“１”がセットされており、外部クロック信号の周波数異常が検知されているか、または使用設定であるか未使用設定であるかに関わらず、８ビット乱数回路５０６ａのチャネル０〜３、１６ビット乱数回路５０６ｂのいずれかにおいて更新状態の異常が検知されている場合に、エラー状態に制御するようになっている。すなわち、内部情報レジスタ（ＣＩＦ）の個々のビットの値から異常原因を特定せずとも、ＣＩＦの値が０以外であれば、乱数回路回りに異常が生じていることは明らかであることから、ＣＰＵ４１ａは、内部情報レジスタ（ＣＩＦ）の個々のビットの値を特定することなく、全体の値が０か否かを判定し、０以外であればエラーと判定するようになっており、当該判定に係るプログラム容量を削減できる。
【０４０６】
尚、本実施例では、メイン制御部４１が搭載する乱数回路が未使用に設定されている場合に、その動作設定として、工場出荷時とは異なる設定値とする例について説明したが、その他の未使用に設定された回路について、工場出荷時の設定値では不具合が生じる可能性がある場合には、不具合が生じないように工場出荷時の設定値とは異なる設定値を設定することにより、何らかの原因で未使用に設定された回路が動作してしまった場合であっても、未使用の回路により想定外の動作をしてしまうことを防止できる。
【０４０７】
例えば、シリアル通信回路５１２が未使用に設定されている場合に、対応する端子の機能設定として工場出荷時の設定値（例えば、外部デバイスへの属性無しチップセレクト端子として使用する旨の設定）とは異なる設定値（例えば、シリアル通信回路５１２の通信端子として使用する旨の設定等）を設定することにより、シリアル通信回路５１２が未使用に設定されることで利用されない端子が、外部デバイスへの属性無しチップセレクト端子として使用可能に設定されることがなく、これらの端子が不正なプログラムの読み出しに用いられてしまう等の不正利用を防止できる。
【０４０８】
また、ウォッチドッグタイマ５０６ｂが未使用に設定されている場合に、タイムアウト時間の設定として工場出荷時の設定値（００００）ではなく、その他の時間を設定しておくことにより、システムリセットやユーザリセットのタイミングを特定することが困難となり、システムリセットやユーザリセットのタイミングからハード乱数やソフト乱数の更新タイミングを特定することも困難となるため、これらの更新タイミングから特定のタイミングを狙って不正に遊技者にとって有利な状況を発生させるような不正行為を未然に防止することができる。
【０４０９】
また、リセット／割込コントローラ５０６による特定の割込要因が未使用に設定されている場合に、当該特定の割込要因の発生により実行される割込処理のアドレス設定として工場出荷時の設定値（００Ｈ）ではなく、他のアドレス設定としておくことで、未使用に設定された特定の割込要因の発生により割込が生じた場合に実行されるプログラムの格納アドレスを特定することが困難となるため、当該未使用の割込要因を発生させることにより不正なプログラムを実行させる不正を防止できる。
【０４１０】
また、本実施例では、同種の制御回路のうちの一部が使用に設定され、残りが未使用に設定される構成であるが、同種の制御回路全てが未使用に設定される構成でも良く、このような構成であっても、未使用に設定された制御回路について、工場出荷時の設定値では不具合が生じる可能性がある場合には、不具合が生じないように工場出荷時の設定値とは異なる設定値を設定することにより、何らかの原因で未使用に設定された回路が動作してしまった場合であっても、未使用の回路により想定外の動作をしてしまうことを防止できる。
【０４１１】
また、本実施例では、同種の制御回路のうちの一部が使用に設定され、残りが未使用に設定される構成において、未使用に設定された回路についての動作設定として、使用に設定された回路についての動作設定と同一の設定としているが、少なくとも工場出荷時の設定値では不具合が生じる可能性がある動作設定のみ、使用に設定された回路についての動作設定と同一の設定とするだけでも、何らかの原因で未使用に設定された回路が動作してしまった場合において、未使用の回路により想定外の動作をしてしまうことを防止できる。
【０４１２】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０４１３】
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例ついて説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル１枚分を遊技球５個分に対応させることができ、前記実施例１で賭数として３を設定する場合は、１５個の遊技球を用いて賭数を設定するものに相当する。
【０４１４】
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか１種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
【０４１５】
さらにスロットマシンだけでなく、複数の回路を備えるマイクロコンピュータを搭載する遊技機であり、これら搭載回路の使用／未使用を設定可能な遊技機であれば本発明を適用可能で有り、例えば、遊技球を遊技領域内に発射して遊技を行う弾球遊技機にも適用可能である。
【符号の説明】
【０４１６】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
６  ＭＡＸＢＥＴスイッチ
７  スタートスイッチ
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４１  メイン制御部
９１  サブ制御部
５０８ａ  乱数回路
５０８ｂ  乱数回路
【図１】
0006571967.tif 000002
【図２】
0006571967.tif 000003
【図３】
0006571967.tif 000004
【図４】
0006571967.tif 000005
【図５】
0006571967.tif 000006
【図６】
0006571967.tif 000007
【図７】
0006571967.tif 000008
【図８】
0006571967.tif 000009
【図９】
0006571967.tif 000010
【図１０】
0006571967.tif 000011
【図１１】
0006571967.tif 000012
【図１２】
0006571967.tif 000013
【図１３】
0006571967.tif 000014
【図１４】
0006571967.tif 000015
【図１５】
0006571967.tif 000016
【図１６】
0006571967.tif 000017
【図１７】
0006571967.tif 000018
【図１８】
0006571967.tif 000019
【図１９】
0006571967.tif 000020
【図２０】
0006571967.tif 000021
【図２１】
0006571967.tif 000022
【図２２】
0006571967.tif 000023
【図２３】
0006571967.tif 000024
【図２４】
0006571967.tif 000025
【図２５】
0006571967.tif 000026
【図２６】
0006571967.tif 000027
【図２７】
0006571967.tif 000028
【図２８】
0006571967.tif 000029
【図２９】
0006571967.tif 000030
【図３０】
0006571967.tif 000031
【図３１】
0006571967.tif 000032
【図３２】
0006571967.tif 000033
【図３３】
0006571967.tif 000034
【図３４】
0006571967.tif 000035
【図３５】
0006571967.tif 000036
【図３６】
0006571967.tif 000037
【図３７】
0006571967.tif 000038
【図３８】
0006571967.tif 000039
【図３９】
0006571967.tif 000040
【図４０】
0006571967.tif 000041
【図４１】
0006571967.tif 000042
【図４２】
0006571967.tif 000043
【図４３】
0006571967.tif 000044
【図４４】
0006571967.tif 000045
【図４５】
0006571967.tif 000046
【図４６】
0006571967.tif 000047