(57)【要約】【課題】搭載する乱数回路に関するセキュリティ性を向上させることができるスロットマシンを提供すること。【解決手段】１６ビット乱数回路５０８ｂの数値保持手段が保持する数値データを更新するための乱数用クロック信号の周波数の異常の発生と、数値保持手段が保持する数値データの更新状態とを監視可能な更新監視回路５３７を備え、メイン制御部４１は、乱数回路から数値データ（乱数値）を抽出するタイミングよりも前に、乱数回路の監視に関する設定を行う。また、メイン制御部４１が搭載するＣＰＵ４１ａは、第１情報と第２情報とに基づいて、読み出し対象のデータが格納された領域に対応するアドレスを特定する。そして、アドレスを特定する際に、Ｑレジスタに格納された特定値（固定値として格納されている「Ｆ０Ｈ」）に基づいて第１情報を特定するとともに、制御命令で指定された第２情報を特定する。また、ＣＰＵ４１ａは、所定の変更条件が成立することでＱレジスタに格納された特定値を変更する。【選択図】図２３
2014176403.tif 000002
【特許請求の範囲】
【請求項１】
遊技用価値を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示装置に表示結果が導出されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシンであって、
乱数値となる数値データを生成する乱数回路を内蔵し、遊技の制御を行う遊技制御手段と、
ゲームを開始させるときに操作される開始操作手段と、
を備え、
前記乱数回路は、前記開始操作手段が操作されたときに更新した数値データを保持する数値保持手段を含み、
前記遊技制御手段は、
ゲームを開始可能な状態において前記開始操作手段の操作を検出したときに、前記数値保持手段により保持された数値データを用いて入賞の発生を許容するか否かを決定する事前決定手段と、
前記数値保持手段が保持する数値データを更新するための乱数用クロック信号の周波数の異常の発生と、前記数値保持手段が保持する数値データの更新状態と、を監視可能な乱数回路監視手段と、
前記乱数回路監視手段による監視対象の設定を行う乱数回路設定手段と、
特定値を格納する格納手段と、
制御命令に従って遊技の進行を制御する制御用ＣＰＵと、
を含み、
前記乱数回路設定手段は、前記乱数回路から数値データを抽出するタイミングよりも前に、前記乱数回路監視手段による監視に関する設定を行い、
前記制御用ＣＰＵは、
第１情報と第２情報とに基づいて、読み出しまたは書き込みの対象となるデータ格納領域に対応するアドレスを特定し、該アドレスを特定するときに、前記格納手段に格納された特定値に基づいて前記第１情報を特定するとともに、制御命令で指定された前記第２情報を特定し、
前記遊技制御手段は、所定の変更条件が成立したときに、前記格納手段に格納されている前記特定値を変更する特定値変更手段をさらに備える
ことを特徴とするスロットマシン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示装置の表示結果に応じて所定の入賞が発生可能なスロットマシンに関する。
【背景技術】
【０００２】
スロットマシンは、一般に、外周部に識別情報としての複数種類の図柄が描かれた複数（通常は３つ）のリールを有する可変表示装置を備えており、まず遊技者のＢＥＴ操作により賭数を設定し、規定の賭数が設定された状態でスタート操作することによりリールの回転が開始し、各リールに対応して設けられた停止ボタンを操作することにより回転を停止する。そして、全てのリールの回転を停止したときに入賞ライン上に予め定められた入賞図柄の組み合わせ（例えば、７−７−７、以下図柄の組み合わせを役とも呼ぶ）が揃ったことによって入賞が発生する。入賞は、スタート操作と同時に行われる内部抽選に当選したことを条件に入賞が可能となる。
【０００３】
この種のスロットマシンでは、例えば、上記の内部抽選に係る抽選処理など遊技に関して用いる乱数値を生成する乱数回路を搭載したものがある。例えば、特許文献１では、スロットマシンが乱数回路を搭載するように構成し、スロットマシンが搭載する乱数回路の乱数クロック発生回路の動作不良を検出可能に構成することが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１９２９１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されたスロットマシンでは、乱数回路の乱数クロック発生回路の動作不良を検出することによって、乱数用クロック信号の周波数の異常の発生を監視することができる。しかしながら、乱数回路が乱数値として更新する数値データの更新状態を監視することはできず、スロットマシンが搭載する乱数回路に関してセキュリティ対策が十分であるとは言えない可能性がある。
【０００６】
本発明は、このような問題点に着目してなされたものであり、搭載する乱数回路に関するセキュリティ性を向上させることができるスロットマシンを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の請求項１に記載のスロットマシンは、
遊技用価値（メダル）を用いて１ゲームに対して所定数の賭数を設定することによりゲームが開始可能となるとともに、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示装置（リール２Ｌ、２Ｃ、２Ｒ）に表示結果が導出されることにより１ゲームが終了し、該可変表示装置の表示結果に応じて入賞が発生可能とされたスロットマシン（スロットマシン１）であって、
乱数値となる数値データを生成する乱数回路（乱数回路５０８ｂ）を内蔵し、遊技の制御を行う遊技制御手段（メイン制御部４１）と、
ゲームを開始させるときに操作される開始操作手段（スタートスイッチ７）と、
を備え、
前記乱数回路（乱数回路５０８ｂ）は、前記開始操作手段（スタートスイッチ７）が操作されたときに更新した数値データを保持する数値保持手段（ハードラッチ乱数値レジスタ）を含み、
前記遊技制御手段は、
ゲームを開始可能な状態（規定数の賭数が設定されている状態）において前記開始操作手段（スタートスイッチ７）の操作を検出したときに、前記数値保持手段（ハードラッチ乱数値レジスタ）により保持された数値データを用いて入賞の発生を許容するか否かを決定する事前決定手段（内部抽選）と、
前記数値保持手段（ハードラッチ乱数値レジスタ）が保持する数値データを更新するための乱数用クロック信号の周波数の異常（外部クロック周波数異常）の発生と、前記数値保持手段（ハードラッチ乱数値レジスタ）が保持する数値データの更新状態（更新異常）と、を監視可能な乱数回路監視手段（更新監視回路５３７）と、
前記乱数回路監視手段（更新監視回路５３７）による監視対象の設定を行う乱数回路設定手段（プログラム管理エリアの乱数クロック監視設定（ＫＲＣＳ）のビット１−０の設定値に従った監視周波数の設定）と、
特定値（アドレス指定値）を格納する格納手段（Ｑレジスタ）と、
制御命令に従って遊技の進行を制御する制御用ＣＰＵ（ＣＰＵ４１ａ）と、
を含み、
前記乱数回路設定手段は、前記乱数回路から数値データを抽出するタイミングよりも前に、前記乱数回路監視手段による監視に関する設定を行い（メイン制御部４１は、スロットマシン１への電源投入時に乱数回路５０８ｂに関する設定をハードウェア的に行い、その後に、ユーザプログラムを開始する）、
前記制御用ＣＰＵ（ＣＰＵ４１ａ）は、
第１情報（データ格納領域の上位アドレス）と第２情報（データ格納領域の下位アドレス）とに基づいて、読み出しまたは書き込みの対象となるデータ格納領域に対応するアドレスを特定し、該アドレスを特定するときに、前記格納手段（Ｑレジスタ）に格納された特定値（アドレス指定値）に基づいて前記第１情報（データ格納領域の上位アドレス）を特定するとともに、制御命令で指定された前記第２情報（データ格納領域の下位アドレス）を特定し（例えば、ＣＰＵ４１ａは、Ｑレジスタに設定されたＦ０Ｈと、ＬＤＱコマンドで指定された２０Ｈと、に基づいて、データ格納領域のアドレスＦ０２０Ｈを特定し、アドレスＦ０２０Ｈに対応するデータ格納領域からデータａを抽出する）、
前記遊技制御手段（メイン制御部４１）は、所定の変更条件が成立したとき（起動時、内蔵レジスタ設定後）に、前記格納手段（Ｑレジスタ）に格納されている前記特定値（アドレス指定値）を変更する特定値変更手段（起動時にＦＥＨを設定し、内蔵レジスタ設定後にＦ０Ｈに変更する）をさらに備える
ことを特徴としている。
この特徴によれば、乱数用クロック信号の周波数の異常の発生を監視するとともに数値データの更新状態も監視できるので、スロットマシンが搭載する乱数回路に関するセキュリティ性を向上させることができる。また、セキュリティ性の高い乱数回路により生成された数値データを用いて事前決定手段により入賞の発生を許容するか否かが決定されるので、遊技の公平性を高めることができる。また、データを読み出す際またはデータを書き込む際に用いるアドレスの一部を構成する第１の情報が特定値として予め格納手段に格納されており、格納手段に格納された特定値に基づいてアドレスが特定されるため、アドレスを指定するためのプログラムの無駄を削減することができる。また、所定の変更条件が成立することで格納手段に格納されている特定値が変更されるので、制御状況に応じて制御用ＣＰＵが特定する第１の情報を変更することができる。
尚、制御用ＣＰＵは、第１情報と第２情報とに基づいて、読み出し対象となるデータが格納されたデータ格納領域に対応するアドレスを特定する構成でも良いし、書き込み対象となるデータを書き込むデータ格納領域に対応するアドレスを特定する構成でも良い。
【０００８】
本発明の手段１に記載のスロットマシンは、請求項１に記載のスロットマシンであって、
前記遊技制御手段（メイン制御部４１）は、
該遊技制御手段の起動時に、該遊技制御手段の設定データ（内蔵レジスタ）を初期化する設定データ初期化手段（内蔵レジスタの初期化）と、
前記設定データ初期化手段が前記設定データ（内蔵レジスタ）を初期化する前に、前記設定データが格納された領域（内蔵レジスタエリア）のアドレスを構成する値（ＦＥＨ）を前記特定値として前記格納手段（Ｑレジスタ）に設定する特定値設定手段と、
を含む
ことを特徴としている。
この特徴によれば、遊技制御手段の設定データを初期化する前に、初期化する設定データが格納された領域のアドレスの一部を構成する値が特定値として格納手段に設定され、格納手段に格納された特定値に基づいて初期化する設定データのアドレスが特定されるため、初期化する設定データのアドレスを指定するためのプログラムの無駄を削減することができる。
【０００９】
本発明の手段２に記載のスロットマシンは、請求項１または手段１に記載のスロットマシンであって、
前記遊技制御手段は、
異常を検出する異常検出手段（各種エラーの検知）と、
前記異常検出手段が異常（エラー）を検出したときに、遊技の進行が不能化されるエラー状態に制御するエラー状態制御手段（エラー状態への移行）と、
前記エラー状態を解除するエラー状態解除手段（エラー状態の解除）と、
を含み、
前記特定値変更手段は、前記エラー状態に制御するとき及び前記エラー状態を解除するときに前記特定値（Ｑレジスタに格納されるデータ格納領域の上位アドレス）を変更する
ことを特徴としている。
この特徴によれば、遊技の進行が許容される通常状態から遊技の進行が不能化されるエラー状態に移行したときに特定値が変更され、当該エラー状態が解除されたときにさらに特定値が変更されるので、通常状態において用いるデータのアドレスを指定するためのプログラム、エラー状態において用いるデータのアドレスを指定するためのプログラムの双方の無駄を削減することができる。
【００１０】
本発明の手段３に記載のスロットマシンは、請求項１、手段１または２のいずれかに記載のスロットマシンであって、
前記乱数回路（乱数回路５０８ｂ）は、複数種類の数値データ（チャネルＲＬ０〜３がそれぞれ生成する乱数）を生成可能であり、
前記遊技制御手段は、
遊技の進行を所定期間にわたり遅延させる遅延状態（フリーズ状態）に制御する遅延状態制御手段（メイン制御部４１によりフリーズ状態の制御）と、
前記遅延状態（フリーズ状態）に関する決定を行う遅延状態関連決定手段（フリーズ抽選）と、
を含み、
前記遅延状態関連決定手段は、前記事前決定手段（内部抽選）が用いる数値データ（チャネルＲＬ０が生成する乱数）とは異なる種類の数値データ（チャネルＲＬ１〜３が生成する乱数）を用いて前記遅延状態（フリーズ状態）に関する決定を行う
ことを特徴としている。
この特徴によれば、乱数回路が生成する数値データを遅延状態関連決定手段による決定にも利用することができる。この際、事前決定手段とは別の数値データが用いられるので、事前決定手段が用いる数値データと遅延状態関連決定手段が用いる数値データとが同期してしまうことを防止できる。
【図面の簡単な説明】
【００１１】
【図１】本発明が適用された実施例１のスロットマシンの正面図である。
【図２】スロットマシンの内部構造を示す斜視図である。
【図３】リールの図柄配列を示す図である。
【図４】スロットマシンの構成を示すブロック図である。
【図５】メイン制御部の構成を示すブロック図である。
【図６】メイン制御部におけるアドレスマップの一例を示す図である。
【図７】プログラム管理エリアの主要部分を例示する図である。
【図８】内蔵レジスタの主要部分を例示する図である。
【図９】内蔵レジスタの主要部分を例示する図である。
【図１０】内蔵レジスタの主要部分を例示する図である。
【図１１】ヘッダ（ＫＨＤＲ）における設定データと動作との対応関係を例示する図である。
【図１２】プログラムコードエンドアドレス（ＫＰＣＥ）、プログラムコードスタートアドレス２（ＫＰＣＳ２）、およびプログラムコードエンドアドレス２（ＫＰＣＥ２）における設定内容の一例を示す図である。
【図１３】リセット設定（ＫＲＥＳ）における設定内容の一例を示す図である。
【図１４】１６ビット乱数初期設定１（ＫＲＬ１）のにおける設定内容の一例を示す図である。
【図１５】１６ビット乱数初期設定２（ＫＲＬ２）における設定内容の一例を示す図である。
【図１６】１６ビット乱数初期設定３（ＫＲＬ３）のにおける設定内容の一例を示す図である。
【図１７】８ビット乱数初期設定１（ＫＲＳ１）のにおける設定内容の一例を示す図である。
【図１８】８ビット乱数初期設定２（ＫＲＳ２）のにおける設定内容の一例を示す図である。
【図１９】セキュリティ時間設定（ＫＳＥＳ）における設定内容の一例を示す図である。
【図２０】乱数クロック監視設定（ＫＲＣＳ）における設定内容の一例を示す図である。
【図２１】内部情報レジスタの構成例等を示す図である。
【図２２】８ビット乱数回路の一構成例を示すブロック図である。
【図２３】１６ビット乱数回路の一構成例を示すブロック図である。
【図２４】ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）の構成例および設定内容の一例を示す説明図である。
【図２５】ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）の構成例および設定内容の一例を示す説明図である。
【図２６】ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）の構成例および設定内容の一例を示す説明図である。
【図２７】ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）の構成例および設定内容の一例を示す説明図である。
【図２８】ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）の構成例および設定内容の一例を示す説明図である。
【図２９】ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）の構成例および設定内容の一例を示す説明図である。
【図３０】ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）の構成例および設定内容の一例を示す説明図である。
【図３１】ＲＳ割り込み制御レジスタ（ＲＳＩＣ）の構成例および設定内容の一例を示す説明図である。
【図３２】ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）の構成例および設定内容の一例を示す説明図である。
【図３３】ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）の構成例および設定内容の一例を示す説明図である。
【図３４】乱数列変更レジスタ（ＲＤＳＣ）の構成例および設定内容の一例を示す説明図である。
【図３５】乱数ソフトラッチレジスタ（ＲＤＳＬ）の構成例および設定内容の一例を示す説明図である。
【図３６】乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の構成例および設定内容の一例を示す説明図である。
【図３７】ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）の構成例および設定内容の一例を示す説明図である。
【図３８】ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）の構成例および設定内容の一例を示す説明図である。
【図３９】ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の構成例および設定内容の一例を示す説明図である。
【図４０】ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の構成例および設定内容の一例を示す説明図である。
【図４１】ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）の構成例および設定内容の一例を示す説明図である。
【図４２】ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４３】ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４４】ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４５】ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４６】ＲＳｎハードラッチ乱数値レジスタ（ＲＳｎＨＶ）の構成例および設定内容の一例を示す説明図である。
【図４７】リセット設定（ＫＲＥＳ）での設定内容によるリセット動作の違いを説明するための説明図である。
【図４８】内蔵レジスタを初期化する際にアドレスを指定する方法、内蔵ＲＡＭ領域に格納されているデータを読み出す際にアドレスを指定する方法の例を示す説明図である。
【図４９】メイン制御部が実行する起動処理（メイン）の制御内容を示すフローチャートである。
【図５０】メイン制御部が実行するゲーム処理の制御内容を示すフローチャートである。
【図５１】メイン制御部が実行する乱数取得処理の制御内容を示すフローチャートである。
【図５２】メイン制御部が実行する内部抽選処理の制御内容を示すフローチャートである。
【図５３】メイン制御部が実行する電断処理（メイン）の制御内容を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明に係るスロットマシンを実施するための形態を実施例に基づいて以下に説明する。
【実施例】
【００１３】
本発明が適用されたスロットマシンの実施例を図面を用いて説明すると、本実施例のスロットマシン１は、図２に示すように、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂと、から構成されている。
【００１４】
本実施例のスロットマシン１の筐体１ａの内部には、図２に示すように、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リール）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００１５】
リール２Ｌ、２Ｃ、２Ｒの外周部には、図３に示すように、それぞれ「黒７」、「網７（図中網掛け７）」、「白７」、「ＢＡＲ」、「リプレイ」、「プラム」、「スイカ」、「チェリー」、「ベル」、「オレンジ」といった互いに識別可能な複数種類の図柄が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、前面扉１ｂのリールパネル１ｃ略中央に設けられた透視窓３において各々上中下三段に表示される。
【００１６】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）によって回転させることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示されるとともに、各リール２Ｌ、２Ｃ、２Ｒの回転を停止させることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００１７】
リール２Ｌ、２Ｃ、２Ｒの内側には、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒと、リール２Ｌ、２Ｃ、２Ｒを背面から照射するリールＬＥＤ５５と、が設けられている。また、リールＬＥＤ５５は、リール２Ｌ、２Ｃ、２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００１８】
前面扉１ｂにおける各リール２Ｌ、２Ｃ、２Ｒに対応する位置には、リール２Ｌ、２Ｃ、２Ｒを前面側から透視可能とする横長長方形状の透視窓３が設けられており、該透視窓３を介して遊技者側から各リール２Ｌ、２Ｃ、２Ｒが視認できるようになっている。
【００１９】
前面扉１ｂには、図１に示すように、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数（本実施例ではいずれの遊技状態においても３）を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒ、演出に用いるための演出用スイッチ５６が遊技者により操作可能にそれぞれ設けられている。
【００２０】
尚、本実施例では、回転を開始した３つのリール２Ｌ、２Ｃ、２Ｒのうち、最初に停止するリールを第１停止リールと称し、また、その停止を第１停止と称する。同様に、２番目に停止するリールを第２停止リールと称し、また、その停止を第２停止と称し、３番目に停止するリールを第３停止リールと称し、また、その停止を第３停止あるいは最終停止と称する。
【００２１】
また、前面扉１ｂには、図１に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器１２、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、後述するリプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられた遊技用表示部１３が設けられている。
【００２２】
ＭＡＸＢＥＴスイッチ６の内部には、ＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図４参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図４参照）がそれぞれ設けられている。
【００２３】
また、前面扉１ｂにおけるストップスイッチ８Ｌ、８Ｃ、８Ｒの下方には、スロットマシン１のタイトルや後述する配当表１などが印刷された下部パネルが設けられている。
【００２４】
前面扉１ｂの内側には、図２に示すように、所定のキー操作により後述するエラー状態及び後述する打止状態を解除するためのリセット操作を検出するリセットスイッチ２３（図４参照）、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、後述のＢＢ終了時に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、後述のＢＢ終了時に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂ、メダル投入部４から投入されたメダルの流路を、筐体１ａ内部に設けられた後述のホッパータンク３４ａ側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０（図４参照）、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１（図４参照）を有するメダルセレクタ２９、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図４参照）が設けられている。
【００２５】
筐体１ａ内部には、図２に示すように、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ（図４参照）、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ、３３Ｃ、３３Ｒ（図４参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００（図４参照）、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ（図４参照）、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃ（図４参照）からなるホッパーユニット３４、電源ボックス１００が設けられている。
【００２６】
ホッパーユニット３４の側部には、ホッパータンク３４ａから溢れたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、貯留された所定量のメダルを検出可能な高さに設けられた左右に離間する一対の導電部材からなる満タンセンサ３５ａ（図４参照）が設けられており、導電部材がオーバーフロータンク３５内に貯留されたメダルを介して接触することにより導電したときに内部に貯留されたメダル貯留量が所定量以上となったこと、すなわちオーバーフロータンクが満タン状態となったことを検出できるようになっている。
【００２７】
電源ボックス１００の前面には、図２に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００２８】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬＮ（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。本実施例では、規定数の賭数として遊技状態に関わらず３枚が定められて規定数の賭数が設定されると入賞ラインＬＮが有効となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００２９】
入賞ラインとは、各リール２Ｌ、２Ｃ、２Ｒの透視窓３に表示された図柄の組み合わせが入賞図柄の組み合わせであるかを判定するために設定されるラインである。本実施例では、図１に示すように、リール２Ｌの中段、リール２Ｃの中段、リール２Ｒの中段、すなわち中段に水平方向に並んだ図柄に跨って設定された入賞ラインＬＮのみが入賞ラインとして定められている。尚、本実施例では、１本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
【００３０】
また、本実施例では、入賞ラインＬＮに入賞を構成する図柄の組み合わせが揃ったことを認識しやすくするために、入賞ラインＬＮとは別に、無効ラインＬＭ１〜４を設定している。無効ラインＬＭ１〜４は、これら無効ラインＬＭ１〜４に揃った図柄の組み合わせによって入賞が判定されるものではなく、入賞ラインＬＮに特定の入賞を構成する図柄の組み合わせが揃った際に、無効ラインＬＭ１〜４のいずれかに入賞ラインＬＮに揃った場合に入賞となる図柄の組み合わせ（例えば、ベル−ベル−ベル）が揃う構成とすることで、入賞ラインＬＮに特定の入賞を構成する図柄の組み合わせが揃ったことを認識しやすくするものである。本実施例では、図１に示すように、リール２Ｌの上段、リール２Ｃの上段、リール２Ｒの上段、すなわち上段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ１、リール２Ｌの下段、リール２Ｃの下段、リール２Ｒの下段、すなわち下段に水平方向に並んだ図柄に跨って設定された無効ラインＬＭ２、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨って設定された無効ラインＬＭ３、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨って設定された無効ラインＬＭ４の４種類が無効ラインＬＭとして定められている。
【００３１】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００３２】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、入賞ラインＬＮ上に予め定められた図柄の組み合わせ（以下、役とも呼ぶ）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。また、入賞ラインＬＮ上に、遊技状態の移行を伴う図柄の組み合わせが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組み合わせに応じた遊技状態に移行するようになっている。
【００３３】
尚、本実施例では、３つのリールを用いた構成を例示しているが、リールが１つのみ用いた構成、２つのリールを用いた構成、４つ以上のリールを用いた構成としても良く、２以上のリールを用いた構成においては、２以上の全てのリールに導出された表示結果の組み合わせに基づいて入賞を判定する構成とすれば良い。
【００３４】
また、本実施例におけるスロットマシン１にあっては、ゲームが開始されて各リール２Ｌ、２Ｃ、２Ｒが回転して図柄の変動が開始した後、いずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに、当該ストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作から対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止するまでの最大停止遅延時間は１９０ｍｓ（ミリ秒）である。
【００３５】
リール２Ｌ、２Ｃ、２Ｒは、１分間に８０回転し、８０×２１（１リール当たりの図柄コマ数）＝１６８０コマ分の図柄を変動させるので、１９０ｍｓの間では最大で４コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに表示されている図柄と、そこから４コマ先までにある図柄、合計５コマ分の図柄である。
【００３６】
このため、例えば、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合、当該図柄から４コマ先までの図柄を下段に表示させることができるため、リール２Ｌ、２Ｃ、２Ｒ各々において、ストップスイッチ８Ｌ、８Ｒのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの中段に表示されている図柄を含めて５コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
【００３７】
図４は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図４に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技状態が制御され、演出制御基板９０によって遊技状態に応じた演出が制御され、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００３８】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び遊技制御基板４０を介して接続された演出制御基板９０に供給されるようになっている。また、後述するメイン制御部４１からサブ制御部９１へのコマンド伝送ラインと、遊技制御基板４０から演出制御基板９０に対して電源を供給する電源供給ラインと、が一系統のケーブル及びコネクタを介して接続されており、これらケーブルと各基板とを接続するコネクタ同士が全て接続されることで演出制御基板９０側の各部が動作可能となり、かつメイン制御部４１からのコマンドを受信可能な状態となる。このため、メイン制御部４１からコマンドを伝送するコマンド伝送ラインが演出制御基板９０に接続されている状態でなければ、演出制御基板９０側に電源が供給されず、演出制御基板９０側のみが動作してしまうことがない。尚、演出制御基板に対して電源を供給する電源供給ラインが遊技制御基板４０を介さず、電源基板１０１から演出制御基板９０に直接接続され、電源基板１０１から演出制御基板９０に対して直接電源が供給される構成としても良い。
【００３９】
また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００４０】
遊技制御基板４０には、前述したＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、投入メダルセンサ３１、ドア開放検出スイッチ２５、リールセンサ３３Ｌ、３３Ｃ、３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。
【００４１】
また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載された後述のメイン制御部４１の制御に基づいて駆動されるようになっている。
【００４２】
遊技制御基板４０には、メイン制御部４１、制御用クロック生成回路４２、乱数用クロック生成回路４３、スイッチ検出回路４４、モータ駆動回路４５、ソレノイド駆動回路４６、ＬＥＤ駆動回路４７、電断検出回路４８、リセット回路４９が搭載されている。
【００４３】
メイン制御部４１は、１チップマイクロコンピュータにて構成され、ゲーム制御（遊技進行制御）用のプログラム等を記憶するＲＯＭ４１ｂ、ワークメモリとして使用されるＲＡＭ４１ｃ、プログラムに従って制御動作を行うＣＰＵ４１ａが内蔵されており、遊技の進行に関する処理を行うととともに、遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御する。
【００４４】
メイン制御部４１には、さらに、ハードウェア乱数（ハードウェア回路が発生する乱数）を発生する乱数回路５０８ａ，５０８ｂが内蔵されている。
【００４５】
また、メイン制御部４１においてＣＰＵ４１ａがＲＯＭ４１ｂに格納されているプログラムに従って制御を実行するので、以下、メイン制御部４１（またはＣＰＵ４１ａ）が実行する（または、処理を行う）ということは、具体的には、ＣＰＵ４１ａがプログラムに従って制御を実行することである。このことは、後述するサブ制御部９１についても同様である。ただし、後述するように、スロットマシン１への電源投入時やシステムリセット発生時には、メイン制御部４１は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路５０８ａ，５０８ｂの設定、レジスタの設定などを行うのであるが、この設定動作については、メイン制御部４１は、プログラムによらず、ハードウェア的に実行する。
【００４６】
また、ＲＡＭ４１ｃは、その一部または全部がバックアップ電源によってバックアップされている不揮発性記憶手段としてのバックアップＲＡＭである。すなわち、スロットマシン１に対する電力供給が停止しても、所定期間（バックアップ電源としてのコンデンサが放電してバックアップ電源が電力供給不能になるまで）は、ＲＡＭ４１ｃの一部または全部の内容は保存される。そして、停電等が生じた後に復旧した場合に、そのデータに基づいて、制御状態を停電等の発生前に復旧させることが可能となる。尚、本実施例では、ＲＡＭ４１ｃの全部が、電源バックアップされるようになっている。
【００４７】
制御用クロック生成回路４２は、メイン制御部４１の外部にて、所定周波数の発振信号となる制御用クロックＣＣＬＫを生成する。制御用クロック生成回路４２により生成された制御用クロックＣＣＬＫは、例えば、後述する図５に示すようなメイン制御部４１の制御用外部クロック端子を介してクロック回路５０２に供給される。乱数用クロック生成回路４３は、メイン制御部４１の外部にて、制御用クロックＣＣＬＫの発振周波数とは異なる所定周波数の発振信号となる乱数用クロックＲＣＬＫを生成する。乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫは、例えば、後述する図５に示すようなメイン制御部４１の乱数用外部クロック端子（ＲＣＫ端子）を介して乱数回路５０８ａ，５０８ｂに供給される。一例として、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫの発振周波数は、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数以下となるようにすれば良い。あるいは、乱数用クロック生成回路４３により生成される乱数用クロックＲＣＬＫの発振周波数は、制御用クロック生成回路４２により生成される制御用クロックＣＣＬＫの発振周波数よりも高周波となるようにしても良い。
【００４８】
尚、本実施例では、乱数用クロック生成回路４３から専用の乱数用クロックＲＣＬＫを乱数回路５０８ａ，５０８ｂに入力する場合を示しているが、そのような態様に限られない。例えば、専用のクロックを用いるのではなく、制御用クロック生成回路４２からの制御用クロックＣＣＬＫをメイン制御部４１内部で乱数回路５０８ａ，５０８ｂに入力させるように構成しても良い。この場合、例えば、制御用クロックＣＣＬＫを分周した信号を用いて乱数回路５０８ａ，５０８ｂ内蔵の乱数カウンタ（後述する乱数生成回路５２５ａ，５２５ｂ）を更新させるようにしても良い。また、この場合、乱数用クロック生成回路４３は遊技制御基板４０上に設けなくても良い。
【００４９】
スイッチ検出回路４４は、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送する。モータ駆動回路４５は、メイン制御部４１から出力されたモータ駆動信号をリールモータ３２Ｌ、３２Ｃ、３２Ｒに伝送する。ソレノイド駆動回路４６は、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送する。ＬＥＤ駆動回路は、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送する。電断検出回路４８は、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する。リセット回路４９は、電源投入時または電源遮断時などの電源が不安定な状態においてメイン制御部４１にシステムリセット信号を与える。
【００５０】
図５は、遊技制御基板４０に搭載されたメイン制御部４１の構成例を示している。図５に示すメイン制御部４１は、図５に示すメイン制御部４１は、１チップマイクロコンピュータであり、外部バスインタフェース５０１と、クロック回路５０２と、照合用ブロック５０３と、固有情報記憶回路５０４と、演算回路５０５と、リセット／割込みコントローラ５０６と、ＣＰＵ（Central  Processing  Unit）５６と、ＲＯＭ（Read  Only  Memory）５４と、ＲＡＭ（Random  Access  Memory）５５と、フリーランカウンタ回路５０７と、乱数回路５０８ａ，５０８ｂと、タイマ回路５０９と、割り込みコントローラ５１０と、パラレル入力ポート５１１と、シリアル通信回路５１２と、パラレル出力ポート５１３と、アドレスデコード回路５１４とを備えて構成される。
【００５１】
また、メイン制御部４１が搭載する乱数回路には、８ビット乱数を発生させる８ビット乱数回路５０８ａと、１６ビット乱数を発生させる１６ビット乱数回路５０８ｂとがある。尚、図５に示す例では、８ビット乱数回路５０８ａと、１６ビット乱数を発生させる１６ビット乱数回路５０８ｂとが１つずつ図示されているが、メイン制御部４１は、８ビット乱数回路５０８ａと、１６ビット乱数を発生させる１６ビット乱数回路５０８ｂとを、それぞれ４回路（４チャネル）ずつ搭載している。尚、本実施例では、８ビット乱数回路５０８ａの４つのチャネルをそれぞれＲＳ０〜ＲＳ３と表現する場合があり、１６ビット乱数回路５０８ｂの４つのチャネルをそれぞれＲＬ０〜ＲＬ３と表現する場合がある。
【００５２】
また、リセット／割り込みコントローラ５０６は、指定エリア外走行禁止（ＩＡＴ）回路５０６ａとウオッチドッグタイマ（ＷＤＴ）５０６ｂとを備える。ＩＡＴ回路５０６ａは、ユーザプログラムが指定エリア内で正しく実行されているか否かを監視する回路であり、指定エリア外でユーザプログラムが実行されたことを検出するとＩＡＴ発生信号を出力する機能を備える。また、ウオッチドッグタイマ５０６ｂは、設定期間ごとにタイムアウト信号を発生させる機能を備える。
【００５３】
図６は、メイン制御部４１におけるアドレスマップの一例を示している。図６に示すように、アドレス００００Ｈ〜アドレス２ＦＦＦＨの領域は、メイン制御部４１のＲＯＭ４１ｂに割り当てられ、プログラムコード／データエリア（ユーザプログラムやデータを格納するエリア）とプログラム管理エリアとを含んでいる。図７は、ＲＯＭ４１ｂにおけるプログラム管理エリアの主要部分について、用途や内容の一例を示している。アドレスＦ０００Ｈ〜アドレスＦ３ＦＦＨの領域は、メイン制御部４１のＲＡＭ４１ｃに割り当てられている。アドレスＦＥ００Ｈ〜アドレスＦＥＢＦＨの領域は、メイン制御部４１の内蔵レジスタに割り当てられる内蔵レジスタエリアである。図８〜図１０は、内蔵レジスタエリアの主要部分について、用途や内容の一例を示している。アドレスＦＥＤ０Ｈ〜アドレスＦＥＦＤＨの領域は、アドレスデコード回路５１４に割り当てられるＸＣＳ，ＸＣＳＥデコードエリアである。
【００５４】
プログラム管理エリアは、メイン制御部４１がシステムリセット時に内部リセット動作の設定や乱数回路５０８ａ，５０８ｂの設定など各種設定を行うために必要な情報を格納する記憶領域である。図７に示すように、プログラム管理エリアには、ヘッダ（ＫＨＤＲ）、プログラムコードエンドアドレス（ＫＰＣＥ）、プログラムコードスタートアドレス２（ＫＰＣＳ２）、プログラムコードエンドアドレス２（ＫＰＣＥ２）、リセット設定（ＫＲＥＳ）、１６ビット乱数初期設定１（ＫＲＬ１）、１６ビット乱数初期設定２（ＫＲＬ２）、１６ビット乱数初期設定３（ＫＲＬ３）、８ビット乱数初期設定１（ＫＲＳ１）、８ビット乱数初期設定２（ＫＲＳ２）、セキュリティ時間設定（ＫＳＥＳ）、乱数クロック監視設定（ＫＲＣＳ）などが、含まれている。また、図８〜図１０に示すように、内蔵レジスタエリアには、内部情報レジスタ（ＣＩＦ）や、乱数回路５０８ａ，５０８ｂで用いる各種レジスタなどが、含まれている。
【００５５】
プログラム管理エリアに記憶されるヘッダ（ＫＨＤＲ）は、プログラム管理エリアのスタートを示す８バイトのコード列の設定、及びメイン制御部４１における内部データの読出設定を示す。図１１は、ヘッダ（ＫＨＤＲ）における設定データと動作との対応関係を例示している。ここで、メイン制御部４１では、ＲＯＭ読出防止機能と、バス出力マスク機能とを設定可能である。ＲＯＭ読出防止機能は、メイン制御部４１が備えるＲＯＭ４１ｂの記憶データについて、読出動作を許可または禁止する機能であり、読出禁止に設定された状態では、ＲＯＭ４１ｂの記憶データを読み出すことができない。バス出力マスク機能は、外部バスインタフェース５０１に接続された外部装置からメイン制御部４１の内部データに対する読出要求があった場合に、外部バスインタフェース５０１におけるアドレスバス出力、データバス出力及び制御信号出力にマスクをかけることにより、外部装置から内部データの読み出しを不能にする機能である。図１１に示すように、プログラム管理エリアのスタートを示す８バイトのコード列として設定する設定データに対応して、ＲＯＭ読出防止機能やバス出力マスク機能の動作組合せが異なるように設定される。図１１に示す設定データのうち、ＲＯＭ読出が許可されるとともに、バス出力マスクが有効となる設定データは、バス出力マスク有効データともいう。また、ＲＯＭ読出が禁止されるとともに、バス出力マスクが有効となる設定データ（全て「００Ｈ」）は、ＲＯＭ読出禁止データともいう。ＲＯＭ読出が許可されるとともに、バス出力マスクが無効となる設定データは、バス出力マスク無効データともいう。
【００５６】
プログラム管理エリアに記憶されるプログラムコードエンドアドレス（ＫＰＣＥ）は、ユーザプログラムの００００Ｈから続くプログラムコードエリアの最終アドレスの設定を示す。図１２（Ａ）は、プログラムコードエンドアドレス（ＫＰＣＥ）における設定内容の一例を示している。
【００５７】
尚、本実施例では、アドレス００００Ｈ〜アドレス２ＦＢＦＨまでのプログラムコード／データエリア内に２つのプログラムコードエリアを設定可能である。具体的には、１つ目のプログラムコードエリアは、アドレス００００Ｈからプログラムコードエンドアドレス（ＫＰＣＥ）で設定されるアドレスまでのエリアとして設定可能であり、２つ目のプログラムコードエリアは、プログラムコードスタートアドレス２（ＫＰＣＳ２）で設定されるアドレスからプログラムコードエンドアドレス２（ＫＰＣＥ２）で設定されるアドレスまでのエリアとして設定可能である。以下、１つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード１ともいい、２つ目のプログラムコードエリアに格納されるプログラムコードをプログラムコード２ともいう。
【００５８】
図１２（Ａ）に示すように、プログラムコードエンドアドレス（ＫＰＣＥ）のアドレス２ＦＤ３Ｈには、プログラムコード１の最終アドレスの下位アドレスが設定される。また、アドレス２ＦＤ４Ｈには、プログラムコード１の最終アドレスの上位アドレスが設定される。
【００５９】
プログラム管理エリアに記憶されるプログラムコードスタートアドレス２（ＫＰＣＳ２）は、ユーザプログラムが２つのブロックに分かれた場合の２つ目のプログラムコードエリアの先頭アドレスの設定を示す。図１２（Ｂ）は、プログラムコードスタートアドレス２（ＫＰＣＳ２）における設定内容の一例を示している。
【００６０】
図１２（Ｂ）に示すように、プログラムコードスタートアドレス２（ＫＰＣＳ２）のアドレス２ＦＤ５Ｈには、プログラムコード２の先頭アドレスの下位アドレスが設定される。また、アドレス２ＦＤ６Ｈには、プログラムコード２の先頭アドレスの上位アドレスが設定される。尚、プログラムコードエリアを２つに分けない場合には、プログラムコードスタートアドレス２（ＫＰＣＳ２）のアドレス２ＦＤ５Ｈ及びアドレス２ＦＤ６Ｈにそれぞれ００００Ｈを設定するようにすれば良い。
【００６１】
プログラム管理エリアに記憶されるプログラムコードエンドアドレス２（ＫＰＣＥ２）は、ユーザプログラムが２つのブロックに分かれた場合の２つ目のプログラムコードエリアの最終アドレスの設定を示す。図１２（Ｃ）は、プログラムコードエンドアドレス２（ＫＰＣＥ２）における設定内容の一例を示している。
【００６２】
図１２（Ｃ）に示すように、プログラムコードエンドアドレス２（ＫＰＣＥ２）のアドレス２ＦＤ７Ｈには、プログラムコード２の最終アドレスの下位アドレスが設定される。また、アドレス２ＦＤ８Ｈには、プログラムコード２の最終アドレスの上位アドレスが設定される。尚、プログラムコードエリアを２つに分けない場合には、プログラムコードエンドアドレス２（ＫＰＣＥ２）のアドレス２ＦＤ７Ｈ及びアドレス２ＦＤ８Ｈにそれぞれ００００Ｈを設定するようにすれば良い。
【００６３】
尚、図１２に示すプログラムコードエンドアドレス（ＫＰＣＥ）、プログラムコードスタートアドレス２（ＫＰＣＳ２）及びプログラムコードエンドアドレス２（ＫＰＣＥ２）の設定内容は、ＩＡＴ回路５０６ａによってユーザプログラムが指定エリア内で正しく実行されているか否かを監視する際に参照される。すなわち、ＩＡＴ回路５０６ａは、００００Ｈからプログラムコードエンドアドレス（ＫＰＣＥ）で示されるアドレス、またはプログラムコードスタートアドレス２（ＫＰＣＳ２）で示されるアドレスからプログラムコードエンドアドレス２（ＫＰＣＥ２）で示されるアドレスまでの指定範囲でユーザプログラムが実行されているか否かを判定し、その指定範囲外でユーザプログラムが実行されていることを検出したことに基づいてＩＡＴ信号を出力する。
【００６４】
プログラム管理エリアに記憶されるリセット設定（ＫＲＥＳ）は、内部リセット動作やウオッチドッグタイマ（ＷＤＴ）５０６ｂの動作許可／禁止の設定を示す。図１３は、リセット設定（ＫＲＥＳ）における設定内容の一例を示している。
【００６５】
リセット設定（ＫＲＥＳ）のビット［７］は、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号を入力したことや、ＩＡＴが発生したこと（ＩＡＴ回路５０６ａからのＩＡＴ信号を入力したとき）により内部リセットが発生したときの動作の設定を示している。図１３に示す例において、リセット設定（ＫＲＥＳ）のビット［７］におけるビット値が“０”であれば、タイムアウト信号やＩＡＴ信号を入力したときにユーザリセットが発生する。これに対して、リセット設定（ＫＲＥＳ）のビット［７］におけるビット値が“１”であれば、タイムアウト信号やＩＡＴ信号を入力したときにシステムリセットが発生する。
【００６６】
リセット設定（ＫＲＥＳ）のビット［６］は、ウオッチドッグタイマ（ＷＤＴ）５０６ｂの起動方法の設定を示している。図１３に示す例において、リセット設定（ＫＲＥＳ）のビット［６］におけるビット値が“０”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にウオッチドッグタイマ（ＷＤＴ）５０６ｂが起動され時間計測が開始される。これに対して、リセット設定（ＫＲＥＳ）のビット［６］におけるビット値が“１”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）によりウオッチドッグタイマ（ＷＤＴ）５０６ｂが起動され時間計測が開始される。
【００６７】
リセット設定（ＫＲＥＳ）のビット［５−４］は、ウオッチドッグタイマ（ＷＤＴ）５０６ｂの基準クロック信号の設定を示している。図１３に示す例では、リセット設定（ＫＲＥＳ）のビット［５−４］に“００”が設定された場合には、基準クロック信号として２１５×ＴＳＣＬＫが選択される。また、リセット設定（ＫＲＥＳ）のビット［５−４］に“０１”が設定された場合には、基準クロック信号として２１９×ＴＳＣＬＫが選択される。また、リセット設定（ＫＲＥＳ）のビット［５−４］に“１０”が設定された場合には、基準クロック信号として２２２×ＴＳＣＬＫが選択される。また、リセット設定（ＫＲＥＳ）のビット［５−４］に“１１”が設定された場合には、基準クロック信号として２２５×ＴＳＣＬＫが選択される。尚、ＳＣＬＫとは、メイン制御部４１の内部システムクロックを示しており、ＴＳＣＬＫは、１／ＳＣＬＫを示している。
【００６８】
リセット設定（ＫＲＥＳ）のビット［３−０］は、ウオッチドッグタイマ（ＷＤＴ）５０６ｂのタイムアウト時間の設定を示している。具体的には、ウオッチドッグタイマ（ＷＤＴ）５０６ｂのタイムアウト時間は、リセット設定（ＫＲＥＳ）のビット［５−４］で選択した基準クロックに、リセット設定（ＫＲＥＳ）のビット［３−０］で設定した設定値を乗算した値となる。例えば、リセット設定（ＫＲＥＳ）のビット［３−０］に“１０００”を設定（すなわち、値「８」を設定）した場合、リセット設定（ＫＲＥＳ）のビット［５−４］に“００”を設定した場合には、タイムアウト時間は２１５×ＴＳＣＬＫ×８となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“０１”を設定した場合には、タイムアウト時間は２１９×ＴＳＣＬＫ×８となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１０”を設定した場合には、タイムアウト時間は２２２×ＴＳＣＬＫ×８となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１１”を設定した場合には、タイムアウト時間は２２５×ＴＳＣＬＫ×８となる。また、リセット設定（ＫＲＥＳ）のビット［３−０］に“１１１１”を設定（すなわち、値「１５」を設定）した場合、リセット設定（ＫＲＥＳ）のビット［５−４］に“００”を設定した場合には、タイムアウト時間は２１５×ＴＳＣＬＫ×１５となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“０１”を設定した場合には、タイムアウト時間は２１９×ＴＳＣＬＫ×１５となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１０”を設定した場合には、タイムアウト時間は２２２×ＴＳＣＬＫ×１５となり、リセット設定（ＫＲＥＳ）のビット［５−４］に“１１”を設定した場合には、タイムアウト時間は２２５×ＴＳＣＬＫ×１５となる。尚、図１３には、内部システムクロックが１０．０ＭＨｚと１２．０ＭＨｚである場合のタイムアウト時間の値の具体例もそれぞれ示されている。
【００６９】
尚、ウオッチドッグタイマ（ＷＤＴ）５０６ｂを使用しないように設定する場合、図１３に示すように、リセット設定（ＫＲＥＳ）のビット［３−０］に“００００”を設定するようにすれば良い。ただし、リセット設定（ＫＲＥＳ）のビット［３−０］に“００００”がセットされてウオッチドッグタイマ（ＷＤＴ）５０６ｂが使用禁止状態に設定された場合であっても、リセット設定（ＫＲＥＳ）のビット［７］の値を設定することにより、システムリセットするかユーザリセットとするかの設定を行うことは可能である。
【００７０】
プログラム管理エリアに記憶される１６ビット乱数初期設定１（ＫＲＬ１）、１６ビット乱数初期設定２（ＫＲＬ２）及び１６ビット乱数初期設定３（ＫＲＬ３）は、１６ビット乱数回路５０８ｂの設定を示す。図１４は、１６ビット乱数初期設定１（ＫＲＬ１）のにおける設定内容の一例を示している。また、図１５は、１６ビット乱数初期設定２（ＫＲＬ２）のにおける設定内容の一例を示している。さらに、図１６は、１６ビット乱数初期設定３（ＫＲＬ３）のにおける設定内容の一例を示している。
【００７１】
まず、図１４を用いて、１６ビット乱数初期設定１（ＫＲＬ１）における設定内容を説明する。１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル１の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル１の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル１の１６ビット乱数回路５０８ｂが起動される。
【００７２】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」は、チャネル１の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００７３】
尚、本実施例では、既に説明した乱数用クロック生成回路４３により生成された乱数用クロックＲＣＬＫを乱数用外部クロック端子（ＲＣＫ端子）を介して入力し、その乱数用クロックＲＣＬＫを２分周した信号を更新クロックとして用いるものとする。尚、このことは、他のチャネルの１６ビット乱数回路５０８ｂや８ビット乱数回路５０８ａについても同様である。
【００７４】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」は、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“００”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“０１”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“１０”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「５−４」におけるビット値が“１１”であれば、チャネル１の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００７５】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル０の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル０の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル０の１６ビット乱数回路５０８ｂが起動される。
【００７６】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」は、チャネル０の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定１（ＫＲＬ１）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００７７】
１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」は、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１４に示す例において、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“００”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“０１”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“１０”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定１（ＫＲＬ１）のビット「１−０」におけるビット値が“１１”であれば、チャネル０の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００７８】
次に、図１５を用いて、１６ビット乱数初期設定２（ＫＲＬ２）における設定内容を説明する。１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル３の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル３の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル３の１６ビット乱数回路５０８ｂが起動される。
【００７９】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」は、チャネル３の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００８０】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」は、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“００”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“０１”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“１０”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「５−４」におけるビット値が“１１”であれば、チャネル３の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００８１】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル２の１６ビット乱数回路５０８ｂの起動方法の設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル２の１６ビット乱数回路５０８ｂが起動される。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル２の１６ビット乱数回路５０８ｂが起動される。
【００８２】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」は、チャネル２の１６ビット乱数回路５０８ｂの更新クロックの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、１６ビット乱数初期設定２（ＫＲＬ２）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００８３】
１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」は、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列を変更するか否かの設定を示している。図１５に示す例において、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“００”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列は変更されない。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“０１”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“１０”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、１６ビット乱数初期設定２（ＫＲＬ２）のビット「１−０」におけるビット値が“１１”であれば、チャネル２の１６ビット乱数回路５０８ｂが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００８４】
次に、図１６を用いて、１６ビット乱数初期設定３（ＫＲＬ３）のにおける設定内容を説明する。１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル３の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「７」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。メイン制御部４１のＩＤナンバーはチップごとに異なることから、スタート値としてＩＤナンバーをもとにした値を用いることにより、乱数の更新タイミングを予測しにくくすることができ、乱数の更新タイミングを狙って不正に大当りを発生させるような行為を防止することができる。尚、ＩＤナンバーをもとにした値として、ＩＤナンバーそのものを用いても良いし、ＩＤナンバーに所定の演算（例えば、所定値を加算したり減算したりした値）を用いても良い。
【００８５】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」は、チャネル３の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【００８６】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル２の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「５」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。
【００８７】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「４」は、チャネル２の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「４」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「６」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【００８８】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル１の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「３」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。
【００８９】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」は、チャネル１の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「２」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【００９０】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」は、４チャネルの１６ビット乱数回路５０８ｂのうち、チャネル０の１６ビット乱数回路５０８ｂの１周目からのスタート値の設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」におけるビット値が“０”であれば、乱数更新の１周目のスタート値として０００１Ｈが用いられる。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「１」におけるビット値が“１”であれば、乱数更新の１周目のスタート値としてメイン制御部４１のＩＤナンバーをもとにした値が用いられる。
【００９１】
１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」は、チャネル０の１６ビット乱数回路５０８ｂのスタート値をシステムリセットごとに変更するか否かの設定を示している。図１６に示す例において、１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」におけるビット値が“０”であれば、システムリセット時にスタート値の変更は行わない。これに対して、１６ビット乱数初期設定３（ＫＲＬ３）のビット「０」におけるビット値が“１”であれば、システムリセットごとにスタート値を変更する。
【００９２】
プログラム管理エリアに記憶される８ビット乱数初期設定１（ＫＲＳ１）及び８ビット乱数初期設定２（ＫＲＳ２）は、８ビット乱数回路５０８ａの設定を示す。図１７は、８ビット乱数初期設定１（ＫＲＳ１）のにおける設定内容の一例を示している。また、図１８は、８ビット乱数初期設定２（ＫＲＳ２）のにおける設定内容の一例を示している。
【００９３】
まず、図１７を用いて、８ビット乱数初期設定１（ＫＲＳ１）における設定内容を説明する。８ビット乱数初期設定１（ＫＲＳ１）のビット「７」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル１の８ビット乱数回路５０８ａの起動方法の設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル１の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル１の８ビット乱数回路５０８ａが起動される。
【００９４】
８ビット乱数初期設定１（ＫＲＳ１）のビット「６」は、チャネル１の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００９５】
８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」は、チャネル１の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“００”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“０１”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“１０”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「５−４」におけるビット値が“１１”であれば、チャネル１の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９６】
８ビット乱数初期設定１（ＫＲＳ１）のビット「３」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル０の８ビット乱数回路５０８ａの起動方法の設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル０の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル０の８ビット乱数回路５０８ａが起動される。
【００９７】
８ビット乱数初期設定１（ＫＲＳ１）のビット「２」は、チャネル０の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定１（ＫＲＳ１）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【００９８】
８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」は、チャネル０の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１７に示す例において、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“００”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“０１”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“１０”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定１（ＫＲＳ１）のビット「１−０」におけるビット値が“１１”であれば、チャネル０の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【００９９】
次に、図１８を用いて、８ビット乱数初期設定２（ＫＲＳ２）における設定内容を説明する。８ビット乱数初期設定２（ＫＲＳ２）のビット「７」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル３の８ビット乱数回路５０８ａの起動方法の設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「７」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル３の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「７」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル３の８ビット乱数回路５０８ａが起動される。
【０１００】
８ビット乱数初期設定２（ＫＲＳ２）のビット「６」は、チャネル３の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「６」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「６」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１０１】
８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」は、チャネル３の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“００”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“０１”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“１０”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「５−４」におけるビット値が“１１”であれば、チャネル３の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１０２】
８ビット乱数初期設定２（ＫＲＳ２）のビット「３」は、４チャネルの８ビット乱数回路５０８ａのうち、チャネル２の８ビット乱数回路５０８ａの起動方法の設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「３」におけるビット値が“０”であれば、ユーザモードに移行した後、ソフトウェア（ユーザプログラム）により乱数の最大値設定が行われたことにより、チャネル２の８ビット乱数回路５０８ａが起動される。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「３」におけるビット値が“１”であれば、ユーザプログラムによらず、リセット発生時にユーザモードに移行したことに基づいて自動的にチャネル２の８ビット乱数回路５０８ａが起動される。
【０１０３】
８ビット乱数初期設定２（ＫＲＳ２）のビット「２」は、チャネル２の８ビット乱数回路５０８ａの更新クロックの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「２」におけるビット値が“０”であれば、メイン制御部４１の内部システムクロックを更新クロックとして用いる。これに対して、８ビット乱数初期設定２（ＫＲＳ２）のビット「２」におけるビット値が“１”であれば、メイン制御部４１の外部から入力された外部クロック信号を２分周した信号を更新クロックとして用いる。
【０１０４】
８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」は、チャネル２の８ビット乱数回路５０８ａが更新する乱数列を変更するか否かの設定を示している。図１８に示す例において、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“００”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列は変更されない。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“０１”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列をソフトウェア（ユーザプログラム）により変更できる。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“１０”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列が２周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。また、８ビット乱数初期設定２（ＫＲＳ２）のビット「１−０」におけるビット値が“１１”であれば、チャネル２の８ビット乱数回路５０８ａが更新する乱数列が１周目から自動的に変更され、以降、乱数列が一巡するごとに自動的に乱数列が変更される。
【０１０５】
尚、８ビット乱数回路５０８ａに関しては、１６ビット乱数回路５０８ｂとは異なり、図１６に示したようなスタート値の設定を行う機能はない。
【０１０６】
プログラム管理エリアに記憶されるセキュリティ時間設定（ＫＳＥＳ）は、セキュリティモードを延長する時間の設定を示す。図１９は、セキュリティ時間設定（ＫＳＥＳ）における設定内容の一例を示している。
【０１０７】
セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］は、セキュリティモード時間をランダムに延長する時間の設定を示している。図１９に示す例では、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“０１”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ショートモードが設定され、具体的には、内部システムクロックが１０．０ＭＨｚである場合には０〜０．８１６ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜０．５１ｍｓの範囲の時間がランダムに延長される。また、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“１０”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ミドルモードが設定され、具体的には、内部システムクロックが１０．０ＭＨｚである場合には０〜２６．１１２ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜１６．３２ｍｓの範囲の時間がランダムに延長される。また、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“１１”が設定された場合には、セキュリティモード時間をランダムに延長するモードとして、ロングモードが設定され、具体的には、内部システムクロックが１０．０ＭＨｚである場合には０〜８３５．５８４ｍｓの範囲の時間がランダムに延長され、内部システムクロックが１２．０ＭＨｚである場合には０〜５２２．２４ｍｓの範囲の時間がランダムに延長される。
【０１０８】
尚、セキュリティモード時間のランダム延長を行わないように設定する場合、図１９に示すように、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］に“００”を設定するようにすれば良い。
【０１０９】
セキュリティ時間設定（ＫＳＥＳ）のビット［５］は、セキュリティモード時間を固定延長する時間の基準クロック信号の設定を示している。図１９に示す例では、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”が設定された場合には、基準クロック信号として２２２×ＴＳＣＬＫが選択される。また、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”が設定された場合には、基準クロック信号として２２４×ＴＳＣＬＫが選択される。
【０１１０】
セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］は、セキュリティモード時間を固定で延長する時間の設定を示している。具体的には、セキュリティモード時間の固定延長時間は、セキュリティ時間設定（ＫＳＥＳ）のビット［５］で選択した基準クロックに、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］で設定した設定値を乗算した値となる。例えば、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“００００１”を設定（すなわち、値「１」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×１となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×１となる。また、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“０１０００”を設定（すなわち、値「８」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×８となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×８となる。また、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“１００００”を設定（すなわち、値「１６」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×１６となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×１６となる。また、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“１１１１１”を設定（すなわち、値「３１」を設定）した場合、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“０”を設定した場合には、固定延長時間は２２２×ＴＳＣＬＫ×３１となり、セキュリティ時間設定（ＫＳＥＳ）のビット［５］に“１”を設定した場合には、固定延長時間は２２４×ＴＳＣＬＫ×３１となる。尚、図１９には、内部システムクロックが１０．０ＭＨｚと１２．０ＭＨｚである場合の固定延長時間の値の具体例もそれぞれ示されている。
【０１１１】
尚、セキュリティモード時間の固定延長を行わないように設定する場合、図１９に示すように、セキュリティ時間設定（ＫＳＥＳ）のビット［４−０］に“０００００”を設定するようにすれば良い。
【０１１２】
図１９に示すように、セキュリティモード時間は、セキュリティ時間設定（ＫＳＥＳ）のビット［７−６］の設定によるランダム延長と、セキュリティ時間設定（ＫＳＥＳ）のビット［５−０］の設定による固定延長との２種類の方法で延長設定が可能である。そして、これら２種類の方法で設定された時間の加算時間が最終的なセキュリティモード時間の延長時間となる。
【０１１３】
プログラム管理エリアに記憶される乱数クロック監視設定（ＫＲＣＳ）は、乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号の監視周波数の設定を示す。図２０は、乱数クロック監視設定（ＫＲＣＳ）における設定内容の一例を示している。
【０１１４】
乱数クロック監視設定（ＫＲＣＳ）のビット［７−２］は、固定ビット（すなわち、特に設定に使用しないビット）であり、全ビット必ず“０”を設定するものとする。
【０１１５】
乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］は、乱数を更新するためのクロックとして、乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号を選択した場合に、その入力クロックの周波数異常の検出対象とする周波数の設定を示している。図２０に示す例では、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“００”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）の周波数未満を設定する。また、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“０１”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）／２の周波数未満を設定する。また、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“１０”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）／２２の周波数未満を設定する。また、乱数クロック監視設定（ＫＲＣＳ）のビット［１−０］に“１１”が設定された場合には、監視周波数としてＳＣＬＫ（内部システムクロック）／２３の周波数未満を設定する。
【０１１６】
尚、乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号の監視周波数の異常を検出した場合には、後述する内部情報レジスタ（ＣＩＦ）のビット３に“１”がセットされる。
【０１１７】
尚、本実施例では、メイン制御部４１は、８ビット乱数回路５０８ａと１６ビット乱数回路５０８ｂとのうち、１６ビット乱数回路５０８ｂの動作異常（外部クロック周波数異常）を検出する機能を備えている。具体的には、メイン制御部４１は、乱数更新用クロックとして乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号が選択されている場合に、乱数クロック監視設定（ＫＲＣＳ）で設定されている監視周波数に基づいて、外部クロック信号の周波数が低下したか否かを検出し、外部クロック信号の周波数が低下（外部クロック周波数異常）を検出した場合には、後述する内部情報レジスタ（ＣＩＦ）のビット３に“１”をセットする。
【０１１８】
また、メイン制御部４１は、１６ビット乱数回路５０８ｂの乱数の更新状態を監視する機能を備え、更新状態に異常を検出すると（例えば、乱数値が同じ値のまま更新されなくなったり、通常は乱数値が１つずつカウントアップされていくのに乱数値のカウント値がいきなり２以上の値増加した状態を検出したりすると）、内部情報レジスタ（ＣＩＦ）のビット７〜４のうちの対応するビットに“１”をセットする。
【０１１９】
尚、本実施例では、乱数クロック監視設定（ＫＲＣＳ）を用いて設定を行うことによって、１６ビット乱数回路５０８ｂの動作異常の検出に関して、監視対象の外部クロック信号の監視周波数を設定する場合を示しているが、外部クロック周波数異常の検出自体を行うか否かを設定可能に構成したり、更新異常の検出自体を行うか否かを設定可能に構成したりしても良い。この場合、外部クロック周波数異常の検出自体を行うか否かの設定と、更新異常の検出自体を行うか否かの設定とをそれぞれ独立して行えるように構成しても良いし、両方の設定を一括して有効とするか無効とするかのみ行えるように構成しても良い。
【０１２０】
尚、外部クロック周波数異常の検出自体を行うか否かや更新異常の検出自体を行うか否かを設定可能とするためには、例えば、乱数回路自体を起動するか否かを設定するようにし、乱数回路を起動しないように設定した場合には、事実上、外部クロック周波数異常の検出や更新異常の検出を行えないので、外部クロック周波数異常の検出や更新異常の検出を行わないように設定したといえる。このように、外部クロック周波数異常の検出自体を行うか否かや更新異常の検出自体を行うか否かの設定は、乱数回路自体を起動するか否かを設定することによって実現することも含む概念である。
【０１２１】
また、本実施例では、乱数用クロック生成回路４３から専用の乱数用クロックＲＣＬＫを乱数回路５０８ａ，５０８ｂに外部入力する場合を示しているが、例えば、制御用クロック生成回路４２からの制御用クロックＣＣＬＫを外部入力する場合など専用の乱数用クロックＲＣＬＫ以外のクロックを外部入力する場合であっても、外部クロック周波数異常の検出や更新異常の検出を行うことが可能である。尚、乱数回路の更新異常の検出に関しては、乱数用クロック生成回路４３から専用の乱数用クロックＲＣＬＫ用いて乱数更新する場合と、制御用クロック生成回路４２からの制御用クロックＣＣＬＫなど他のクロックを用いて乱数更新する場合とのいずれか一方の場合のみ設定可能に構成しても良い。
【０１２２】
また、本実施例では、外部クロック周波数の異常の検出を行い、メイン制御部４１の内部システムクロックＳＣＬＫの周波数については特に異常の検出を行っていないが、それは次のような理由による。すなわち、乱数更新に内部システムクロックＳＣＬＫを用いる場合には、内部システムクロックＳＣＬＫに異常が発生しているような状況では、ＣＰＵ４１ａ自体の動作が停止している筈であるので、ＣＰＵ４１ａが動作しているのに乱数の更新だけが停止しているような事態が生じる場合がなく、何らかの問題が生じるおそれがない。これに対して、乱数更新に外部クロック信号を用いる場合には、ＣＰＵ４１ａが動作しているのに乱数の更新だけが停止しているような事態が生じる可能性があり弊害が生じるおそれがあるためである。
【０１２３】
図５に示すメイン制御部４１が備える外部バスインタフェース５０１は、メイン制御部４１を構成するチップの外部バスと内部バスとのインタフェース機能や、アドレスバス、データバス及び各制御信号の方向制御機能などを有するバスインタフェースである。例えば、外部バスインタフェース５０１は、メイン制御部４１に外付けされた外部メモリや外部入出力装置などに接続され、これらの外部装置との間でアドレス信号やデータ信号、各種の制御信号などを送受信するものであれば良い。
【０１２４】
メイン制御部４１が備えるクロック回路５０２は、例えば制御用外部クロック端子ＥＸに入力される発振信号を２分周することなどにより、内部システムクロックＳＣＬＫを生成する回路である。尚、生成された内部システムクロックは、外部出力端子（ＣＬＫＯ端子）から外部に出力される。
【０１２５】
メイン制御部４１が備える照合用ブロック５０３は、外部の照合機と接続し、チップの照合を行う機能を備える。
【０１２６】
メイン制御部４１が備える固有情報記憶回路５０４は、例えばメイン制御部４１の内部情報となる複数種類の固有情報を記憶する回路である。一例として、固有情報記憶回路５０４は、ＲＯＭコード、チップ個別ナンバー、ＩＤナンバーといった３種類の固有情報を記憶する。ＲＯＭ４１ｂコードは、ＲＯＭ４１ｂの所定領域における記憶データから生成される４バイトの数値であり、生成方法の異なる４つの数値が準備されれば良い。チップ個別ナンバーは、メイン制御部４１の製造時に付与される４バイトの番号であり、メイン制御部４１を構成するチップ毎に異なる数値を示している。ＩＤナンバーは、メイン制御部４１の製造時に付与される８バイトの番号であり、メイン制御部４１を構成するチップ毎に異なる数値を示している。ここで、チップ個別ナンバーはユーザプログラムから読み取ることができる一方、ＩＤナンバーはユーザプログラムから読み取ることができないように設定されていれば良い。尚、固有情報記憶回路５０４は、例えばＲＯＭ４１ｂの所定領域を用いることなどにより、ＲＯＭ４１ｂに含まれるようにしても良い。あるいは、固有情報記憶回路５０４は、例えばＣＰＵ４１ａの内蔵レジスタを用いることなどにより、ＣＰＵ４１ａに含まれるようにしても良い。
【０１２７】
メイン制御部４１が備える演算回路５０５は、乗算及び除算を行う回路である。
【０１２８】
メイン制御部４１が備えるリセット／割込みコントローラ５０６は、メイン制御部４１の内部や外部にて発生する各種リセット、割込み要求を制御するためのものである。リセット／割込みコントローラ５０６が制御するリセットには、システムリセットとユーザリセットが含まれている。システムリセットは、外部システムリセット端子ＸＳＲＳＴに一定の期間にわたりローレベル信号が入力されたときに発生するリセットである。尚、本実施例では、リセット設定（ＫＲＥＳ）の設定により、ウォッチドッグタイマ（ＷＤＴ）のタイムアウト信号が発生したときや、指定エリア外走行禁止（ＩＡＴ）が発生したときにも、システムリセットが発生することがある。ユーザリセットは、ウォッチドッグタイマ（ＷＤＴ）のタイムアウト信号が発生したことや、指定エリア外走行禁止（ＩＡＴ）が発生したことなど、所定の要因により発生するリセットである。
【０１２９】
リセット／割込みコントローラ５０６が制御する割込みには、ノンマスカブル割込みＮＭＩとマスカブル割込みＩＮＴが含まれている。ノンマスカブル割込みＮＭＩは、ＣＰＵ４１ａの割込み禁止状態でも無条件に受け付けられる割込みであり、外部ノンマスカブル割込み端子ＸＮＭＩ（入力ポートＰＩ６と兼用）に一定の期間にわたりローレベル信号が入力されたときに発生する割込みである。マスカブル割込みＩＮＴは、ＣＰＵ４１ａの設定命令により、割込み要求の受け付けを許可／禁止できる割込みであり、優先順位設定による多重割込みの実行が可能である。マスカブル割込みＩＮＴの要因としては、外部マスカブル割込み端子ＸＩＮＴ（入力ポートＰＩ５と兼用）に一定の期間にわたりローレベル信号が入力されたこと、タイマ回路５０９にてタイムアウトが発生したこと、シリアル通信回路５１２にてデータ受信またはデータ送信による割込み要因が発生したこと、乱数回路５０８ａ，５０８ｂにて乱数値となる数値データの取込による割込み要因が発生したことなど、複数種類の割込み要因があらかじめ定められていれば良い。
【０１３０】
リセット／割込みコントローラ５０６は、図８〜図１０に示すようなメイン制御部４１が備える内蔵レジスタのうち、内部情報レジスタＣＩＦ（アドレスＦＥ２５Ｈ）などを用いて、割込みの制御やリセットの管理を行う。内部情報レジスタＣＩＦは、直前に発生したリセット要因を管理したり、乱数更新状態、乱数更新クロックを外部クロックとした場合の入力周波数の状態を読み取るためのレジスタである。
【０１３１】
図２１（Ａ）は、内部情報レジスタＣＩＦの構成例を示している。図２１（Ｂ）は、内部情報レジスタＣＩＦに格納される内部情報データの各ビットにおける設定内容の一例を示している。内部情報レジスタＣＩＦのビット番号［７］に格納される内部情報データＲＬ３ＥＲは、チャネル３の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ３の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ３の更新異常が検知されないときに、内部情報データＲＬ３ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ３の更新異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［６］に格納される内部情報データＲＬ２ＥＲは、チャネル２の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ２の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ２の更新異常が検知されないときに、内部情報データＲＬ２ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ２の更新異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［５］に格納される内部情報データＲＬ１ＥＲは、チャネル１の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ１の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ１の更新異常が検知されないときに、内部情報データＲＬ１ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ１の更新異常が検知されたときには、そのビット値が“１”となる。内部情報レジスタＣＩＦのビット番号［４］に格納される内部情報データＲＬ０ＥＲは、チャネル０の１６ビット乱数回路５０８ｂが更新する１６ビット乱数ＲＬ０の更新状態の異常を示す。図２１（Ｂ）に示す例では、１６ビット乱数ＲＬ０の更新異常が検知されないときに、内部情報データＲＬ０ＥＲのビット値が“０”となる一方、１６ビット乱数ＲＬ０の更新異常が検知されたときには、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［７−４」は、初期値として“０”が設定されている。
【０１３２】
内部情報レジスタＣＩＦのビット番号［３］に格納される内部情報データＲＣＥＲは、乱数更新用クロックとして乱数用外部クロック端子（ＲＣＫ端子）から入力された外部クロック信号が選択されている場合に、その外部クロック信号の周波数異常を示す。図２１（Ｂ）に示す例では、外部クロック信号の周波数異常が検知されないときに、内部情報データＲＣＥＲのビット値が“０”となる一方、外部クロック信号の周波数異常が検知されたときには、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［３」は、初期値として“０“が設定されている。
【０１３３】
内部情報レジスタＣＩＦのビット番号［２］に格納される内部情報データＳＲＳＦは、直前に発生したリセット要因がシステムリセットであることを示す。図２１（Ｂ）に示す例では、直前のリセット要因がシステムリセットではないときに（システムリセット未発生）、内部情報データＳＲＳＦのビット値が“０”となる一方、システムリセットであるときには（システムリセット発生）、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［２」は、初期値として“１”が設定されている。
【０１３４】
内部情報レジスタＣＩＦのビット番号［１］に格納される内部情報データＷＤＴＦは、直前に発生したリセット要因がウオッチドッグタイマ（ＷＤＴ）５０６ｂからタイムアウト信号を入力したことによるユーザリセットであることを示す。図２１（Ｂ）に示す例では、直前のリセット要因がタイムアウト信号によるユーザリセットではないときに（タイムアウト信号によるユーザリセット未発生）、内部情報データＷＤＴＦのビット値が“０”となる一方、タイムアウト信号によるユーザリセットであるときには（タイムアウト信号によるユーザリセット発生）、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［１」は、初期値として“０”が設定されている。
【０１３５】
内部情報レジスタＣＩＦのビット番号［０］に格納される内部情報データＩＡＴＦは、直前に発生したリセット要因がＩＡＴ回路５０６ａからのＩＡＴ発生信号を入力したことによるユーザリセットであることを示す。図２１（Ｂ）に示す例では、直前のリセット要因がＩＡＴ発生信号によるユーザリセットではないときに（ＩＡＴ発生信号によるユーザリセット未発生）、内部情報データＩＡＴＦのビット値が“０”となる一方、ＩＡＴ発生信号によるユーザリセットであるときには（ＩＡＴ発生信号によるユーザリセット発生）、そのビット値が“１”となる。尚、内部情報レジスタＣＩＦのビット番号［０」は、初期値として“０”が設定されている。
【０１３６】
メイン制御部４１が備えるＣＰＵ４１ａは、ＲＯＭ４１ｂから読み出した制御コードに基づいてユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を実行することにより、スロットマシン１における遊技制御を実行する制御用ＣＰＵである。こうした遊技制御が実行されるときには、ＣＰＵ４１ａがＲＯＭ４１ｂから固定データを読み出す固定データ読出動作や、ＣＰＵ４１ａがＲＡＭ４１ｃに各種の変動データを書き込んで一時記憶させる変動データ書込動作、ＣＰＵ４１ａがＲＡＭ４１ｃに一時記憶されている各種の変動データを読み出す変動データ読出動作、ＣＰＵ４１ａが外部バスインタフェース５０１やパラレル入力ポート５１１、シリアル通信回路５１２などを介してメイン制御部４１の外部から各種信号の入力を受け付ける受信動作、ＣＰＵ４１ａが外部バスインタフェース５０１やシリアル通信回路５１２、パラレル出力ポート５１３などを介してメイン制御部４１の外部へと各種信号を出力する送信動作等も行われる。
【０１３７】
メイン制御部４１が備えるＲＯＭ４１ｂには、ユーザプログラム（ゲーム制御用の遊技制御処理プログラム）を示す制御コードや固定データ等が記憶されている。
【０１３８】
メイン制御部４１が備えるＲＡＭ４１ｃは、ゲーム制御用のワークエリアを提供する。ここで、ＲＡＭ４１ｃの少なくとも一部は、バックアップ電源によってバックアップされているバックアップＲＡＭであれば良い。すなわち、スロットマシン１への電力供給が停止しても、所定期間はＲＡＭ４１ｃの少なくとも一部の内容が保存される。
【０１３９】
また、メイン制御部４１は、フリーランカウンタ回路５０７として、８ビットのフリーランカウンタを４チャネル搭載している。
【０１４０】
メイン制御部４１が備える乱数回路５０８ａ，５０８ｂは、８ビット乱数や１６ビット乱数といった、所定の更新範囲を有する乱数値となる数値データを生成する回路である。本実施例では、乱数回路５０８ａ，５０８ｂのうち１６ビット乱数回路５０８ｂが生成するハードウェア乱数は、後述する内部抽選用の乱数、後述するフリーズ抽選用の乱数、後述する成功回数抽選用の乱数として用いられる。尚、ＣＰＵ４１ａは、乱数回路５０８ａ，５０８ｂから抽出した数値データに基づき、乱数回路５０８ａ，５０８ｂとは異なるランダムカウンタを用いて、ソフトウェアによって各種の数値データを加工あるいは更新することで、遊技に用いられる乱数値の全部または一部を示す数値データをカウントするようにしても良い。あるいは、ＣＰＵ４１ａは、乱数回路５０８ａ，５０８ｂを用いることなく、ソフトウェアによって大当り判定用乱数などの乱数値を示す数値データの一部をカウント（更新）するようにしても良い。一例として、ハードウェアとなる乱数回路５０８ａ，５０８ｂからＣＰＵ４１ａにより抽出された数値データを、ソフトウェアにより加工することで、内部抽選用乱数を示す数値データが更新され、それ以外の乱数値（例えば、後述するフリーズ抽選用の乱数や後述する成功回数抽選用の乱数等）を示す数値データは、ＣＰＵ４１ａがランダムカウンタなどを用いてソフトウェアにより更新すれば良い。
【０１４１】
図２２は、８ビット乱数回路５０８ａの一構成例を示すブロック図である。また、図２３は、１６ビット乱数回路５０８ｂの一構成例を示すブロック図である。８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂは、図２２及び図２３に示すように、乱数列変更選択回路５２３ａ，５２３ｂ、乱数生成回路５２５ａ，５２５ｂ、乱数列変更回路５２６ａ，５２６ｂ、及び最大値比較回路５２７ａ，５２７ｂを備えて構成される。また、１６ビット乱数回路５０８ｂは、図２３に示すように、８ビット乱数回路５０８ａが備える構成要素に加えて、乱数スタート値選択回路５３５を備える。さらに、１６ビット乱数回路５０８ｂは、図２３に示すように、８ビット乱数回路５０８ａが備える構成要素に加えて、乱数生成回路５２５ｂが更新監視回路５３７を含む。
【０１４２】
また、図２３に示す例では、１６ビット乱数回路５０８ｂの回路部分の構成のみを示し、乱数列変更レジスタ５２２及び最大値設定レジスタ５２４ｂ以外の１６ビット乱数回路５０８ｂが用いる各レジスタについては記載を省略している。尚、具体的には、１６ビット乱数回路５０８ｂは、図２２に示すＲＳハードラッチ選択レジスタ５２８ａ，５２８ｂに代えて図８に示すＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）〜ＲＬ３ハードラッチ選択レジスタ（ＲＬ３ＬＳ）を用い、図２２に示すＲＳ０ハードラッチ乱数値レジスタ５２９ａ〜ＲＳ３ハードラッチ乱数値レジスタ５２９ｄに代えて図９及び図１０に示すＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）〜ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）を用い、図２２に示すＲＳハードラッチフラグレジスタ５３０に代えて図９に示すＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）〜ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）を用い、図２２に示すＲＳ割り込み制御レジスタ５３１に代えて図８に示すＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）〜ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）を用い、図２２に示すＲＳ０ソフトラッチ乱数値レジスタ５３３ａ〜ＲＳ３ソフトラッチ乱数値レジスタ５３３ｄに代えて図９に示すＲＬ０ソフトラッチ乱数値レジスタ（ＲＬ０ＳＶ）〜ＲＬ３ソフトラッチ乱数値レジスタ（ＲＬ３ＳＶ）を用いる。また、１６ビット乱数回路５０８ｂは、乱数値ソフトラッチレジスタ５３２及び乱数ソフトラッチフラグレジスタ５３４については、８ビット乱数回路５０８ａと兼用で同じレジスタを用いる。
【０１４３】
また、８ビット乱数回路５０８ａは、既に説明したプログラム管理エリアに設けられた８ビット乱数初期設定５２１ａ（図７に示す８ビット乱数初期設定１（ＫＲＳ１）及び８ビット乱数初期設定２（ＫＲＳ２））の設定内容に従って動作する。
【０１４４】
また、１６ビット乱数回路５０８ｂは、既に説明したプログラム管理エリアに設けられた１６ビット乱数初期設定５２１ｂ（図７に示す１６ビット乱数初期設定１（ＫＲＬ１）〜１６ビット乱数初期設定２（ＫＲＬ２））の設定内容に従って動作する。また、１６ビット乱数回路５０８ｂは、８ビット乱数回路５０８ａの機能に加えて、乱数スタート値選択回路５３５が１６ビット乱数初期設定５３６（図７に示す１６ビット乱数初期設定３（ＫＲＬ３））の設定内容に従って動作することにより、１周目の乱数値のスタート値を変更する機能を備えている（図１６参照）。
【０１４５】
また、１６ビット乱数回路５０８ｂは、乱数生成回路５２５ｂが更新監視回路５３７を含んでおり、８ビット乱数回路５０８ａの機能に加えて、更新監視回路５３７が動作することにより外部クロック周波数異常及び更新異常を検出する機能を備えている（図２０参照）。尚、本実施例では、１つの更新監視回路５３７により外部クロック周波数異常及び更新異常の両方を検出する場合を示しているが、外部クロック周波数異常を検出する監視回路と更新異常を検出する監視回路とを別々に備えても良い。
【０１４６】
尚、８ビット乱数回路５０８ａも更新監視回路を備えるように構成し、８ビット乱数回路５０８ａの外部クロック周波数異常及び更新異常を検出可能に構成するようにしても良い。
【０１４７】
また、乱数列変更レジスタ５２２は、図８に示すようなメイン制御部４１の内蔵レジスタに含まれる乱数列変更レジスタＲＤＳＣに対応している。尚、乱数列変更レジスタＲＤＳＣとして、８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂの各チャネルで共通のレジスタが用いられる。
【０１４８】
また、最大値設定レジスタ５２４ａ，５２４ｂは、図８に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳ０最大値設定レジスタ（ＲＳ０ＭＸ）〜ＲＳ３最大値設定レジスタ（ＲＳ３ＭＸ）に対応している（１６ビット乱数回路５０８ｂの場合は、ＲＬ０最大値設定レジスタ（ＲＬ０ＭＸ）〜ＲＬ３最大値設定レジスタ（ＲＬ３ＭＸ）に対応している）。
【０１４９】
また、ハードラッチ選択レジスタ５２８ａは、図８に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）に対応している。また、ハードラッチ選択レジスタ５２８ｂは、図８に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図８に示すＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）〜ＲＬ３ハードラッチ選択レジスタ３（ＲＬ３ＬＳ）に対応している。
【０１５０】
また、ＲＳ０ハードラッチ乱数値レジスタ５２９ａ〜ＲＳ３ハードラッチ乱数値レジスタ５２９ｄは、図１０に示すようなメイン制御部４１の内蔵レジスタに含まれるＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）〜ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図９に示すＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）〜ＲＬ１ハードラッチ乱数値レジスタ１（ＲＬ１ＨＶ１）及び図１０に示すＲＬ２ハードラッチ乱数値レジスタ０（ＲＬ２ＨＶ０）〜ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）に対応している。
【０１５１】
また、ＲＳハードラッチフラグレジスタ５３０は、図９に示すＲＳハードラッチフラグレジスタ（ＲＳＨＦ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図９に示すＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）〜ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）に対応している。
【０１５２】
また、ＲＳ割り込み制御レジスタ５３１は、図８に示すＲＳ割り込み制御レジスタ（ＲＳＩＣ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図８に示すＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）〜ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）に対応している。
【０１５３】
また、乱数ソフトラッチレジスタ５３２は、図８に示す乱数ソフトラッチレジスタ（ＲＤＳＬ）に対応している。尚、ソフトラッチレジスタＲＤＳＬとして、８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂの各チャネルで共通のレジスタが用いられる。
【０１５４】
また、ＲＳ０ソフトラッチ乱数値レジスタ５３３ａ〜ＲＳ３ソフトラッチ乱数値レジスタ５３３ｄは、は、図９に示すＲＳ０ソフトラッチ乱数値レジスタ（ＲＳ０ＳＶ）〜ＲＳ３ソフトラッチ乱数値レジスタ（ＲＳ３ＳＶ）に対応している。尚、１６ビット乱数回路５０８ｂの場合は、図９に示すＲＬ０ソフトラッチ乱数値（ＲＬ０ＳＶ）〜ＲＬ３ソフトラッチ乱数値（ＲＬ３ＳＶ）に対応している。
【０１５５】
また、乱数ソフトラッチフラグレジスタ５３４は、図８に示す乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）に対応している。尚、乱数ソフトラッチフラグレジスタＲＤＳＦとして、８ビット乱数回路５０８ａ及び１６ビット乱数回路５０８ｂの各チャネルで共通のレジスタが用いられる。
【０１５６】
乱数列変更選択回路５２３ａ，５２３ｂは、図１７や図１８に示す８ビット乱数初期設定１（ＫＲＳ１）や８ビット乱数初期設定２（ＫＲＳ２）の設定内容に従って（１６ビット乱数回路５０８ｂの場合には、図１４や図１５に示す１６ビット乱数初期設定１（ＫＲＬ１）や１６ビット乱数初期設定２（ＫＲＬ２）の設定内容に従って）、乱数列の変更方法として、「変更しない」、「ソフトウェアで変更」、「２周目から自動で変更」または「１周目から自動で変更」のうちのいずれかを選択する。そして、「ソフトウェアで変更」、「２周目から自動で変更」または「１周目から自動で変更」のいずれかに選択した場合には、その選択方法に従って乱数列変更回路５２６ａ，５２６ｂに乱数列を変更させる。また、「変更しない」を選択した場合には乱数列を変更させる制御を行わない。
【０１５７】
乱数列変更回路５２６ａ，５２６ｂは、乱数生成回路５２５ａ，５２５ｂにより生成された数値データの順列を、乱数列変更選択回路５２３ａ，５２３ｂの指示に従って変更可能とする回路である。例えば、乱数列変更回路５２６ａ，５２６ｂは、「ソフトウェアで変更」が指示された場合には、乱数生成回路５２５ａ，５２５ｂが更新する乱数列をソフトウェア（ユーザプログラム）により変更する。また、例えば、乱数列変更回路５２６ａ，５２６ｂは、「２周目から自動で変更」が指示された場合には、乱数生成回路５２５ａ，５２５ｂが更新する乱数列を２周目から自動的に変更し、以降、乱数列が一巡するごとに自動的に乱数列を変更する。また、例えば、乱数列変更回路５２６ａ，５２６ｂは、「１周目から自動で変更」が指示された場合には、乱数生成回路５２５ａ，５２５ｂが更新する乱数列を１周目から自動的に変更し、以降、乱数列が一巡するごとに自動的に乱数列を変更する。
【０１５８】
乱数生成回路５２５ａ，５２５ｂは、例えば８ビットのカウンタ（１６ビット乱数回路５０８ｂの場合は１６ビットのカウンタ）などから構成され、乱数更新クロック信号などの入力に基づき、数値データを更新可能な所定の範囲において所定の初期値から所定の最終値まで循環的に更新する回路である。例えば乱数生成回路５２５ａ，５２５ｂは、乱数更新クロック信号における立ち下がりエッジに応答して、「０」から「２５５」までの範囲内で設定された初期値から「２５５」まで１ずつ加算するように数値データをカウントアップして行く（１６ビット乱数回路５０８ｂの場合には、「０」から「６５５３５」までの範囲内で設定された初期値から「６５５３５」まで１ずつ加算するように数値データをカウントアップして行く）。そして、「２５５」までカウントアップした後には、「０」から初期値よりも１小さい最終値となる数値まで１ずつ加算するようにカウントアップすることで、数値データを循環的に更新する。
【０１５９】
最大値比較回路５２７ａ，５２７ｂは、図１７や図１８に示す８ビット乱数初期設定１（ＫＲＳ１）や８ビット乱数初期設定２（ＫＲＳ２）の設定内容に従って（１６ビット乱数回路５０８ｂの場合には、図１４や図１５に示す１６ビット乱数初期設定１（ＫＲＬ１）や１６ビット乱数初期設定２（ＫＲＬ２）の設定内容に従って）、乱数生成回路５２５ａ，５２５ｂが生成する乱数値の最大値を設定する。
【０１６０】
図２４（Ａ）は、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）の構成例を示している。図２４（Ｂ）は、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［７］に格納されるデータＲＬ０１ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２４（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ０１ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＬ０１ＲＦは、初期値として“０”が設定されている。
【０１６１】
尚、本実施例では、プログラム管理エリアや内蔵レジスタのレジスタに関して、具体的には、プログラム管理エリアなどの対応するビットを“０”または“１”のいずれかの値としておくことにより、その対応するビットの値が読み込まれて、読み込まれた“０”または“１”の値がメイン制御部４１の制御レジスタにハードウェア的に書き込まれることにより各種の設定が行われる。例えば、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット７については、そのビット７から読み込まれた値が“０”であれば、メイン制御部４１の制御レジスタにハードウェア的に“０”が書き込まれることによりＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）から値を読み込まないと次の値をラッチしないように設定され、そのビット７から読み込まれた値が“１”であれば、メイン制御部４１の制御レジスタにハードウェア的に“１”が書き込まれることによりＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）から値を読み込まなくても次の値をラッチするように設定される。このことは、他のプログラム管理エリアの各設定項目や内蔵レジスタの各レジスタの各ビットに関しても同様である。
【０１６２】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］に格納されるデータＲＬ０１ＬＳ０〜ＲＬ０１ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２４（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬ０１ＬＳ０〜ＲＬ０１ＬＳ２は、初期値として“０００”が設定されている。
【０１６３】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［３］に格納されるデータＲＬ００ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２４（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ００ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＬ００ＲＦは、初期値として“０”が設定されている。
【０１６４】
ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］に格納されるデータＲＬ００ＬＳ０〜ＲＬ００ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２４（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬ００ＬＳ０〜ＲＬ００ＬＳ２は、初期値として“０００”が設定されている。
【０１６５】
図２５（Ａ）は、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）の構成例を示している。図２５（Ｂ）は、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［７］に格納されるデータＲＬ０３ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２５（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ０３ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＬ０３ＲＦは、初期値として“０”が設定されている。
【０１６６】
ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］に格納されるデータＲＬ０３ＬＳ０〜ＲＬ０３ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２５（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬ０３ＬＳ０〜ＲＬ０３ＬＳ２は、初期値として“０００”が設定されている。
【０１６７】
ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［３］に格納されるデータＲＬ０２ＲＦは、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に、外部端子入力により、１６ビット乱数ＲＬ０の値を取り込む際の条件の設定を示している。図２５（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬ０２ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＬ０２ＲＦは、初期値として“０”が設定されている。
【０１６８】
ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］に格納されるデータＲＬ０２ＬＳ０〜ＲＬ０２ＬＳ２は、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に、どの外部端子入力により、１６ビット乱数ＲＬ０の値を取り込むかの設定を示している。図２５（Ｂ）に示す例では、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬ０２ＬＳ０〜ＲＬ０２ＬＳ２は、初期値として“０００”が設定されている。
【０１６９】
図２６（Ａ）は、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）の構成例を示している。図２６（Ｂ）は、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図２６において、ｎは０〜３の値をとる。ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［７］に格納されるデータＲＬｎ１ＲＦは、ＲＬｎハードラッチ乱数値レジスタ１（ＲＬｎＨＶ１）に、外部端子入力により、１６ビット乱数ＲＬｎの値を取り込む際の条件の設定を示している。図２６（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬｎ１ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＬｎ１ＲＦは、初期値として“０”が設定されている。
【０１７０】
ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］に格納されるデータＲＬｎ１ＬＳ０〜ＲＬｎ１ＬＳ２は、ＲＬｎハードラッチ乱数値レジスタ１（ＲＬｎＨＶ１）に、どの外部端子入力により、１６ビット乱数ＲＬｎの値を取り込むかの設定を示している。図２６（Ｂ）に示す例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬｎ１ＬＳ０〜ＲＬｎ１ＬＳ２は、初期値として“０００”が設定されている。
【０１７１】
ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［３］に格納されるデータＲＬｎ０ＲＦは、ＲＬｎハードラッチ乱数値レジスタ０（ＲＬｎＨＶ０）に、外部端子入力により、１６ビット乱数ＲＬｎの値を取り込む際の条件の設定を示している。図２６（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＬｎ０ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＬｎ０ＲＦは、初期値として“０”が設定されている。
【０１７２】
ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［２−０］に格納されるデータＲＬｎ０ＬＳ０〜ＲＬｎ０ＬＳ２は、ＲＬｎハードラッチ乱数値レジスタ０（ＲＬｎＨＶ０）に、どの外部端子入力により、１６ビット乱数ＲＬｎの値を取り込むかの設定を示している。図２６（Ｂ）に示す例では、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＬｎハードラッチ選択レジスタ（ＲＬｎＬＳ）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＬｎ０ＬＳ０〜ＲＬｎ０ＬＳ２は、初期値として“０００”が設定されている。
【０１７３】
図２７（Ａ）は、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）の構成例を示している。図２７（Ｂ）は、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［７］に格納されるデータＲＳ１ＲＦは、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ１の値を取り込む際の条件の設定を示している。図２７（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ１ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＳ１ＲＦは、初期値として“０”が設定されている。
【０１７４】
ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］に格納されるデータＲＳ１ＬＳ０〜ＲＳ１ＬＳ２は、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ１の値を取り込むかの設定を示している。図２７（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＳ１ＬＳ０〜ＲＳ１ＬＳ２は、初期値として“０００”が設定されている。
【０１７５】
ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［３］に格納されるデータＲＳ０ＲＦは、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ０の値を取り込む際の条件の設定を示している。図２７（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ０ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＳ０ＲＦは、初期値として“０”が設定されている。
【０１７６】
ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］に格納されるデータＲＳ０ＬＳ０〜ＲＳ０ＬＳ２は、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ０の値を取り込むかの設定を示している。図２７（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ０）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＳ０ＬＳ０〜ＲＳ０ＬＳ２は、初期値として“０００”が設定されている。
【０１７７】
図２８（Ａ）は、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）の構成例を示している。図２８（Ｂ）は、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）に格納されるデータの各ビットにおける設定内容の一例を示している。ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［７］に格納されるデータＲＳ３ＲＦは、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ３の値を取り込む際の条件の設定を示している。図２８（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ３ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＳ３ＲＦは、初期値として“０”が設定されている。
【０１７８】
ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［６−４］に格納されるデータＲＳ３ＬＳ０〜ＲＳ３ＬＳ２は、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ３の値を取り込むかの設定を示している。図２８（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［６−４］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ０（ＲＳＬＳ１）のビット番号［６−４］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＳ３ＬＳ０〜ＲＳ３ＬＳ２は、初期値として“０００”が設定されている。
【０１７９】
ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［３］に格納されるデータＲＳ２ＲＦは、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、外部端子入力により、８ビット乱数ＲＳ２の値を取り込む際の条件の設定を示している。図２８（Ｂ）に示す例では、値を読み込まないと次の値をラッチしないように設定した場合には、データＲＳ２ＲＦのビット値が“０”となる一方、値を読み込まなくても次の値をラッチするように設定した場合には、そのビット値が“１”となる。尚、データＲＳ２ＲＦは、初期値として“０”が設定されている。
【０１８０】
ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］に格納されるデータＲＳ２ＬＳ０〜ＲＳ２ＬＳ２は、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、どの外部端子入力により、８ビット乱数ＲＳ２の値を取り込むかの設定を示している。図２８（Ｂ）に示す例では、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］に“０００”が設定された場合にはＰＩ０端子が選択され、“００１”が設定された場合にはＰＩ１端子が選択され、“０１０”が設定された場合にはＰＩ２端子が選択され、“０１１”が設定された場合にはＰＩ３端子が選択され、“１００”が設定された場合にはＰＩ４端子が選択され、“１０１”が設定された場合にはＰＩ５／ＸＩＮＴ端子が選択される。尚、ＲＳハードラッチ選択レジスタ１（ＲＳＬＳ１）のビット番号［２−０］に“１１０”や“１１１”が設定された場合には、その設定は無効である。また、データＲＳ２ＬＳ０〜ＲＳ２ＬＳ２は、初期値として“０００”が設定されている。
【０１８１】
図２９（Ａ）は、ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）の構成例を示している。図２９（Ｂ）は、ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット［７−６］のビット値は必ず“０”とされる。
【０１８２】
ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット番号［５］に格納されるデータＲＬ１１ＩＥは、ＲＬ１ハードラッチ乱数値レジスタ１（ＲＬ１ＨＶ１）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ１１ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ１１ＩＥは、初期値として“０”が設定されている。
【０１８３】
ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット番号［４］に格納されるデータＲＬ１０ＩＥは、ＲＬ１ハードラッチ乱数値レジスタ０（ＲＬ１ＨＶ０）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ１０ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ１０ＩＥは、初期値として“０”が設定されている。
【０１８４】
ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット番号［３］に格納されるデータＲＬ０３ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ３（ＲＬ０ＨＶ３）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ０３ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ０３ＩＥは、初期値として“０”が設定されている。
【０１８５】
ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット番号［２］に格納されるデータＲＬ０２ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ２（ＲＬ０ＨＶ２）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ０２ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ０２ＩＥは、初期値として“０”が設定されている。
【０１８６】
ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット番号［１］に格納されるデータＲＬ０１ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ０１ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ０１ＩＥは、初期値として“０”が設定されている。
【０１８７】
ＲＬ割り込み制御レジスタ０（ＲＬＩＣ０）のビット番号［１］に格納されるデータＲＬ００ＩＥは、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図２９（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ００ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ００ＩＥは、初期値として“０”が設定されている。
【０１８８】
図３０（Ａ）は、ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）の構成例を示している。図３０（Ｂ）は、ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）のビット［７−６］及びビット［３−２］のビット値は必ず“０”とされる。
【０１８９】
ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）のビット番号［５］に格納されるデータＲＬ３１ＩＥは、ＲＬ３ハードラッチ乱数値レジスタ１（ＲＬ３ＨＶ１）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ３１ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ３１ＩＥは、初期値として“０”が設定されている。
【０１９０】
ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）のビット番号［４］に格納されるデータＲＬ３０ＩＥは、ＲＬ３ハードラッチ乱数値レジスタ０（ＲＬ３ＨＶ０）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ３０ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ３０ＩＥは、初期値として“０”が設定されている。
【０１９１】
ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）のビット番号［１］に格納されるデータＲＬ２１ＩＥは、ＲＬ２ハードラッチ乱数値レジスタ１（ＲＬ２ＨＶ１）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ２１ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ２１ＩＥは、初期値として“０”が設定されている。
【０１９２】
ＲＬ割り込み制御レジスタ１（ＲＬＩＣ１）のビット番号［０］に格納されるデータＲＬ２０ＩＥは、ＲＬ２ハードラッチ乱数値レジスタ０（ＲＬ２ＨＶ０）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３０（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＬ２０ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＬ２０ＩＥは、初期値として“０”が設定されている。
【０１９３】
図３１（Ａ）は、ＲＳ割り込み制御レジスタ（ＲＳＩＣ）の構成例を示している。図３１（Ｂ）は、ＲＳ割り込み制御レジスタ（ＲＳＩＣ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＳ割り込み制御レジスタ（ＲＳＩＣ）は、８ビット乱数回路５０８ａとフリーランカウンタ回路５０７とで兼用で用いられるレジスタであり、ＲＳ割り込み制御レジスタ（ＲＳＩＣ）のビット［７−４］は、フリーランカウンタ回路５０７が用いるハードラッチレジスタ（ＦＲＣ０ハードラッチレジスタ（ＦＲ０ＨＶ）〜ＦＲＣ３ハードラッチレジスタ（ＦＲ３ＨＶ））に関する設定を示している。
【０１９４】
ＲＳ割り込み制御レジスタ（ＲＳＩＣ）のビット番号［３］に格納されるデータＲＳ３ＩＥは、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＳ３ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＳ３ＩＥは、初期値として“０”が設定されている。
【０１９５】
ＲＳ割り込み制御レジスタ（ＲＳＩＣ）のビット番号［２］に格納されるデータＲＳ２ＩＥは、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＳ２ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＳ２ＩＥは、初期値として“０”が設定されている。
【０１９６】
ＲＳ割り込み制御レジスタ（ＲＳＩＣ）のビット番号［１］に格納されるデータＲＳ１ＩＥは、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＳ１ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＳ１ＩＥは、初期値として“０”が設定されている。
【０１９７】
ＲＳ割り込み制御レジスタ（ＲＳＩＣ）のビット番号［０］に格納されるデータＲＳ０ＩＥは、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、乱数値が取り込まれたことを要因とする割り込みの禁止／許可の設定を示している。図３１（Ｂ）に示す例では、割り込み禁止に設定した場合には、データＲＳ０ＩＥのビット値が“０”となる一方、割り込み許可に設定した場合には、そのビット値が“１”となる。尚、データＲＳ０ＩＥは、初期値として“０”が設定されている。
【０１９８】
図３２（Ａ）は、ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）の構成例を示している。図３２（Ｂ）は、ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図３２において、ｎは０〜３の値をとる。図３２（Ｂ）に示すように、ＲＬｎ最大値設定レジスタ（ＲＬｎＭＸ）のビット番号［１５−０］に格納されるデータＲＬｎＭＸ１５〜ＲＬｎＭＸ０は、１６ビット乱数ＲＬｎの最大値が設定される。
【０１９９】
図３３（Ａ）は、ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）の構成例を示している。図３３（Ｂ）は、ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、図３３において、ｎは０〜３の値をとる。図３３（Ｂ）に示すように、ＲＳｎ最大値設定レジスタ（ＲＳｎＭＸ）のビット番号［７−０］に格納されるデータＲＳｎＭＸ７〜ＲＳｎＭＸ０は、８ビット乱数ＲＳｎの最大値が設定される。
【０２００】
図３４（Ａ）は、乱数列変更レジスタ（ＲＤＳＣ）の構成例を示している。図３４（Ｂ）は、乱数列変更レジスタ（ＲＤＳＣ）に格納されるデータの各ビットにおける設定内容の一例を示している。乱数列変更レジスタ（ＲＤＳＣ）のビット番号［７］に格納されるデータＲＳ３ＳＣは、８ビット乱数ＲＳ３の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ３ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ３ＳＣは、初期値として“０”が設定されている。
【０２０１】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［６］に格納されるデータＲＳ２ＳＣは、８ビット乱数ＲＳ２の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ２ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ２ＳＣは、初期値として“０”が設定されている。
【０２０２】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［５］に格納されるデータＲＳ１ＳＣは、８ビット乱数ＲＳ１の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ１ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ１ＳＣは、初期値として“０”が設定されている。
【０２０３】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［４］に格納されるデータＲＳ０ＳＣは、８ビット乱数ＲＳ０の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＳ０ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ０ＳＣは、初期値として“０”が設定されている。
【０２０４】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［３］に格納されるデータＲＬ３ＳＣは、１６ビット乱数ＲＬ３の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ３ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ３ＳＣは、初期値として“０”が設定されている。
【０２０５】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［２］に格納されるデータＲＬ２ＳＣは、１６ビット乱数ＲＬ２の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ２ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ２ＳＣは、初期値として“０”が設定されている。
【０２０６】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［１］に格納されるデータＲＬ１ＳＣは、１６ビット乱数ＲＬ１の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ１ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ１ＳＣは、初期値として“０”が設定されている。
【０２０７】
乱数列変更レジスタ（ＲＤＳＣ）のビット番号［０］に格納されるデータＲＬ０ＳＣは、１６ビット乱数ＲＬ０の乱数列変更要求ビットを示している。図３４（Ｂ）に示す例では、乱数列を変更しないに設定した場合には、データＲＬ０ＳＣのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ０ＳＣは、初期値として“０”が設定されている。
【０２０８】
図３５（Ａ）は、乱数ソフトラッチレジスタ（ＲＤＳＬ）の構成例を示している。図３５（Ｂ）は、乱数ソフトラッチレジスタ（ＲＤＳＬ）に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［７］に格納されるデータＲＳ３ＳＬは、８ビット乱数ＲＳ３の乱数値を、ＲＳ３ソフトラッチ乱数値レジスタ（ＲＳ３ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ３ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ３ＳＬは、初期値として“０”が設定されている。
【０２０９】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［６］に格納されるデータＲＳ２ＳＬは、８ビット乱数ＲＳ２の乱数値を、ＲＳ２ソフトラッチ乱数値レジスタ（ＲＳ２ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ２ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ２ＳＬは、初期値として“０”が設定されている。
【０２１０】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［５］に格納されるデータＲＳ１ＳＬは、８ビット乱数ＲＳ１の乱数値を、ＲＳ１ソフトラッチ乱数値レジスタ（ＲＳ１ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ１ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ１ＳＬは、初期値として“０”が設定されている。
【０２１１】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［４］に格納されるデータＲＳ０ＳＬは、８ビット乱数ＲＳ０の乱数値を、ＲＳ０ソフトラッチ乱数値レジスタ（ＲＳ０ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＳ０ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＳ０ＳＬは、初期値として“０”が設定されている。
【０２１２】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［３］に格納されるデータＲＬ３ＳＬは、１６ビット乱数ＲＬ３の乱数値を、ＲＬ３ソフトラッチ乱数値レジスタ（ＲＬ３ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ３ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ３ＳＬは、初期値として“０”が設定されている。
【０２１３】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［２］に格納されるデータＲＬ２ＳＬは、１６ビット乱数ＲＬ２の乱数値を、ＲＬ２ソフトラッチ乱数値レジスタ（ＲＬ２ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ２ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ２ＳＬは、初期値として“０”が設定されている。
【０２１４】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［１］に格納されるデータＲＬ１ＳＬは、１６ビット乱数ＲＬ１の乱数値を、ＲＬ１ソフトラッチ乱数値レジスタ（ＲＬ１ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ１ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ１ＳＬは、初期値として“０”が設定されている。
【０２１５】
乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット番号［０］に格納されるデータＲＬ０ＳＬは、１６ビット乱数ＲＬ０の乱数値を、ＲＬ０ソフトラッチ乱数値レジスタ（ＲＬ０ＳＶ）に取り込むためのビットを示している。図３５（Ｂ）に示す例では、乱数値を取り込まないに設定した場合には、データＲＬ０ＳＬのビット値が“０”となる一方、乱数列を変更するに設定した場合には、そのビット値が“１”となる。尚、データＲＬ０ＳＬは、初期値として“０”が設定されている。
【０２１６】
図３６（Ａ）は、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の構成例を示している。図３６（Ｂ）は、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）に格納されるデータの各ビットにおける設定内容の一例を示している。乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［７］に格納されるデータＲＳ３ＳＦは、ＲＳ３ソフトラッチ乱数値レジスタ（ＲＳ３ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ３ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ３ＳＦは、初期値として“０”が設定されている。
【０２１７】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［６］に格納されるデータＲＳ２ＳＦは、ＲＳ２ソフトラッチ乱数値レジスタ（ＲＳ２ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ２ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ２ＳＦは、初期値として“０”が設定されている。
【０２１８】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［５］に格納されるデータＲＳ１ＳＦは、ＲＳ１ソフトラッチ乱数値レジスタ（ＲＳ１ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ１ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ１ＳＦは、初期値として“０”が設定されている。
【０２１９】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［４］に格納されるデータＲＳ０ＳＦは、ＲＳ０ソフトラッチ乱数値レジスタ（ＲＳ０ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ０ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ０ＳＦは、初期値として“０”が設定されている。
【０２２０】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［３］に格納されるデータＲＬ３ＳＦは、ＲＬ３ソフトラッチ乱数値レジスタ（ＲＬ３ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ３ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ３ＳＦは、初期値として“０”が設定されている。
【０２２１】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［２］に格納されるデータＲＬ２ＳＦは、ＲＬ２ソフトラッチ乱数値レジスタ（ＲＬ２ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ２ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ２ＳＦは、初期値として“０”が設定されている。
【０２２２】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［１］に格納されるデータＲＬ１ＳＦは、ＲＬ１ソフトラッチ乱数値レジスタ（ＲＬ１ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ１ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ１ＳＦは、初期値として“０”が設定されている。
【０２２３】
乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）のビット番号［０］に格納されるデータＲＬ０ＳＦは、ＲＬ０ソフトラッチ乱数値レジスタ（ＲＬ０ＳＶ）に、乱数値が取り込まれたことを示している。図３６（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０ＳＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０ＳＦは、初期値として“０”が設定されている。
【０２２４】
図３７（Ａ）は、ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）の構成例を示している。図３７（Ｂ）は、ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図３７において、ｎは０〜３の値をとる。図３７（Ｂ）に示すように、ＲＬｎソフトラッチ乱数値レジスタ（ＲＬｎＳＶ）のビット番号［１５−０］に格納されるデータＲＬｎＳＶ１５〜ＲＬｎＳＶ０は、乱数ソフトラッチレジスタ（ＲＤＳＬ）により取り込まれた１６ビット乱数ＲＬｎの値が格納される。尚、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の該当するビットに“１”がセットされる。
【０２２５】
図３８（Ａ）は、ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）の構成例を示している。図３８（Ｂ）は、ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図３８において、ｎは０〜３の値をとる。図３８（Ｂ）に示すように、ＲＳｎソフトラッチ乱数値レジスタ（ＲＳｎＳＶ）のビット番号［７−０］に格納されるデータＲＳｎＳＶ７〜ＲＳｎＳＶ０は、乱数ソフトラッチレジスタ（ＲＤＳＬ）により取り込まれた８ビット乱数ＲＳｎの値が格納される。尚、乱数値が取り込まれると、乱数ソフトラッチフラグレジスタ（ＲＤＳＦ）の該当するビットに“１”がセットされる。
【０２２６】
図３９（Ａ）は、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の構成例を示している。図３９（Ｂ）は、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット［７−６］のビット値は必ず“０”とされる。
【０２２７】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［５］に格納されるデータＲＬ１１ＨＦは、ＲＬ１ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ１１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ１１ＨＦは、初期値として“０”が設定されている。
【０２２８】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［４］に格納されるデータＲＬ１０ＨＦは、ＲＬ１ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ１０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ１０ＨＦは、初期値として“０”が設定されている。
【０２２９】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［３］に格納されるデータＲＬ０３ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ３に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０３ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０３ＨＦは、初期値として“０”が設定されている。
【０２３０】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［２］に格納されるデータＲＬ０２ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ２に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０２ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０２ＨＦは、初期値として“０”が設定されている。
【０２３１】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［１］に格納されるデータＲＬ０１ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ０１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ０１ＨＦは、初期値として“０”が設定されている。
【０２３２】
ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）のビット番号［０］に格納されるデータＲＬ００ＨＦは、ＲＬ０ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図３９（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ００ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ００ＨＦは、初期値として“０”が設定されている。
【０２３３】
図４０（Ａ）は、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の構成例を示している。図４０（Ｂ）は、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット［７−６］及びビット［３−２］のビット値は必ず“０”とされる。
【０２３４】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［５］に格納されるデータＲＬ３１ＨＦは、ＲＬ３ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ３１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ３１ＨＦは、初期値として“０”が設定されている。
【０２３５】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［４］に格納されるデータＲＬ３０ＨＦは、ＲＬ３ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ３０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ３０ＨＦは、初期値として“０”が設定されている。
【０２３６】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［１］に格納されるデータＲＬ２１ＨＦは、ＲＬ２ハードラッチ乱数値レジスタ１に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ２１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ２１ＨＦは、初期値として“０”が設定されている。
【０２３７】
ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）のビット番号［１］に格納されるデータＲＬ２０ＨＦは、ＲＬ２ハードラッチ乱数値レジスタ０に、乱数値が取り込まれたことを示している。図４０（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＬ２０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＬ２０ＨＦは、初期値として“０”が設定されている。
【０２３８】
図４１（Ａ）は、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）の構成例を示している。図４１（Ｂ）は、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）に格納されるデータの各ビットにおける設定内容の一例を示している。尚、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）は、８ビット乱数回路５０８ａとフリーランカウンタ回路５０７とで兼用で用いられるレジスタであり、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット［７−４］は、フリーランカウンタ回路５０７が用いるハードラッチレジスタ（ＦＲＣ０ハードラッチレジスタ（ＦＲ０ＨＶ）〜ＦＲＣ３ハードラッチレジスタ（ＦＲ３ＨＶ））に関する設定を示している。
【０２３９】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［３］に格納されるデータＲＳ３ＨＦは、ＲＳ３ハードラッチ乱数値レジスタ（ＲＳ３ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ３ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ３ＨＦは、初期値として“０”が設定されている。
【０２４０】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［２］に格納されるデータＲＳ２ＨＦは、ＲＳ２ハードラッチ乱数値レジスタ（ＲＳ２ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ２ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ２ＨＦは、初期値として“０”が設定されている。
【０２４１】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［１］に格納されるデータＲＳ１ＨＦは、ＲＳ１ハードラッチ乱数値レジスタ（ＲＳ１ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ１ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ１ＨＦは、初期値として“０”が設定されている。
【０２４２】
ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）のビット番号［０］に格納されるデータＲＳ０ＨＦは、ＲＳ０ハードラッチ乱数値レジスタ（ＲＳ０ＨＶ）に、乱数値が取り込まれたことを示している。図４１（Ｂ）に示す例では、乱数値が取り込まれていない場合には、データＲＳ０ＨＦのビット値が“０”となる一方、乱数値を取り込み済みである場合には、そのビット値が“１”となる。尚、データＲＳ０ＨＦは、初期値として“０”が設定されている。
【０２４３】
図４２（Ａ）は、ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）の構成例を示している。図４２（Ｂ）は、ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４２において、ｍは０〜３の値をとる。図４２（Ｂ）に示すように、ＲＬ０ハードラッチ乱数値レジスタｍ（ＲＬ０ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ０ｍＨＶ１５〜ＲＬ０ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ０の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の該当するビットに“１”がセットされる。
【０２４４】
図４３（Ａ）は、ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）の構成例を示している。図４３（Ｂ）は、ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４３において、ｍは０〜３の値をとる。図４３（Ｂ）に示すように、ＲＬ１ハードラッチ乱数値レジスタｍ（ＲＬ１ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ１ｍＨＶ１５〜ＲＬ１ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ１の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ０（ＲＬＨＦ０）の該当するビットに“１”がセットされる。
【０２４５】
図４４（Ａ）は、ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）の構成例を示している。図４４（Ｂ）は、ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４４において、ｍは０〜３の値をとる。図４４（Ｂ）に示すように、ＲＬ２ハードラッチ乱数値レジスタｍ（ＲＬ２ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ２ｍＨＶ１５〜ＲＬ２ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ２の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の該当するビットに“１”がセットされる。
【０２４６】
図４５（Ａ）は、ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）の構成例を示している。図４５（Ｂ）は、ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４５において、ｍは０〜３の値をとる。図４５（Ｂ）に示すように、ＲＬ３ハードラッチ乱数値レジスタｍ（ＲＬ３ｍＨＶ）のビット番号［１５−０］に格納されるデータＲＬ３ｍＨＶ１５〜ＲＬ３ｍＨＶ０は、外部端子入力により取り込まれた１６ビット乱数ＲＬ３の値が格納される。尚、乱数値が取り込まれると、ＲＬハードラッチフラグレジスタ１（ＲＬＨＦ１）の該当するビットに“１”がセットされる。
【０２４７】
図４６（Ａ）は、ＲＳｎハードラッチ乱数値レジスタ（ＲＳｎＨＶ）の構成例を示している。図４６（Ｂ）は、ＲＳｎハードラッチ乱数値レジスタ（ＲＳｎＨＶ）に格納されるデータの各ビットにおける格納内容の一例を示している。尚、図４６において、ｎは０〜３の値をとる。図４６（Ｂ）に示すように、ＲＳｎハードラッチ乱数値レジスタ（ＲＬｎＨＶ）のビット番号［７０］に格納されるデータＲＳｎＨＶ７〜ＲＳｎＨＶ０は、外部端子入力により取り込まれた８ビット乱数ＲＳｎの値が格納される。尚、乱数値が取り込まれると、ＲＳハードラッチフラグレジスタ（ＲＳＨＦ）の該当するビットに“１”がセットされる。
【０２４８】
図５に示すメイン制御部４１が備えるタイマ回路５０９は、８ビットプログラマブルタイマであり、メイン制御部４１は、タイマ回路５０９として、８ビットのカウンタを３チャネル備える。本実施例では、タイマ回路５０９を用いてユーザプログラムによる設定により、リアルタイム割り込み要求や時間計測を行うことが可能である。
【０２４９】
図５に示すメイン制御部４１が備える割り込みコントローラ５１０は、ＰＩ５／ＸＩＮＴ端子からの外部割り込み要求や、内蔵の周辺回路（例えば、シリアル通信回路５１２、乱数回路５０８ａ，５０８ｂ、タイマ回路５０９）からの割り込み要求を制御する回路である。
【０２５０】
図５に示すメイン制御部４１が備えるパラレル入力ポート５１１は、８ビット幅の入力専用ポート（ＰＩＰ）を内蔵する。また、図５に示すメイン制御部４１が備えるパラレル出力ポート５１３は、１１ビット幅の出力専用ポート（ＰＯＰ）を内蔵する。
【０２５１】
図５に示すメイン制御部４１が備えるシリアル通信回路５１２は、外部に対する入出力において非同期シリアル通信を行う回路である。尚、メイン制御部４１は、シリアル通信回路５１２として、送受信両用の１チャネルの回路と、送信用のみの３チャネルの回路とを備える。
【０２５２】
図５に示すメイン制御部４１が備えるアドレスデコード回路５１４は、メイン制御部４１の内部における各機能ブロックのデコードや、外部装置用のデコード信号であるチップセレクト信号のデコードを行うための回路である。チップセレクト信号により、メイン制御部４１の内部回路、あるいは、周辺デバイスとなる外部装置を、選択的に有効動作させて、ＣＰＵ４１ａからのアクセスが可能となる。
【０２５３】
本実施例においてメイン制御部４１は、パラレル出力ポート５１３を介してサブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。また、本実施例では、パラレル出力ポート５１３を介してサブ制御部９１に対してコマンドが送信される構成、すなわちコマンドがパラレル信号にて送信される構成であるが、シリアル通信回路５１２を介してサブ制御部９１に対してコマンドを送信する構成、すなわちコマンドをシリアル信号にて送信する構成としても良い。
【０２５４】
また、メイン制御部４１は、遊技制御基板４０に接続された各種スイッチ類の検出状態がパラレル入力ポート５１１から入力される。そしてメイン制御部４１は、これらパラレル入力ポート５１１から入力される各種スイッチ類の検出状態に応じて段階的に移行する基本処理を実行する。
【０２５５】
また、メイン制御部４１は、割込の発生により基本処理に割り込んで割込処理を実行できるようになっている。本実施例では、タイマ回路５０９にてタイムアウトが発生したこと、すなわち一定時間間隔（本実施例では、約０．５６ｍｓ）毎に後述するタイマ割込処理（メイン）を実行する。
【０２５６】
また、メイン制御部４１は、割込処理の実行中に他の割込を禁止するように設定されているとともに、複数の割込が同時に発生した場合には、予め定められた順位によって優先して実行する割込が設定されている。尚、割込処理の実行中に他の割込要因が発生し、割込処理が終了してもその割込要因が継続している状態であれば、その時点で新たな割込が発生することとなる。
【０２５７】
メイン制御部４１は、基本処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ｍｓ）毎にタイマ割込処理（メイン）を実行する。尚、タイマ割込処理（メイン）の実行間隔は、基本処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【０２５８】
演出制御基板９０には、演出用スイッチ５６が接続されており、この演出用スイッチ５６の検出信号が入力されるようになっている。
【０２５９】
演出制御基板９０には、スロットマシン１の前面扉１ｂに配置された液晶表示器５１（図１参照）、演出効果ＬＥＤ５２、スピーカ５３、５４、前述したリールＬＥＤ５５等の演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載された後述のサブ制御部９１による制御に基づいて駆動されるようになっている。
【０２６０】
尚、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１及び出力制御部の双方によって演出装置の出力制御が行われることとなる。
【０２６１】
また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【０２６２】
演出制御基板９０には、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにて構成され、演出の制御を行うサブ制御部９１、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２、演出効果ＬＥＤ５２、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４、電源投入時またはサブＣＰＵ９１ａからの初期化命令が一定時間入力されないときにサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５、演出制御基板９０に接続された演出用スイッチ５６から入力された検出信号を検出するスイッチ検出回路９６、日付情報及び時刻情報を含む時間情報を出力する時計装置９７、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブＣＰＵ９１ａに対して出力する電断検出回路９８、その他の回路等、が搭載されており、サブＣＰＵ９１ａは、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【０２６３】
リセット回路９５は、遊技制御基板４０においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９よりもリセット信号を解除する電圧が低く定められており、電源投入時においてサブ制御部９１は、メイン制御部４１よりも早い段階で起動するようになっている。一方で、電断検出回路９８は、遊技制御基板４０においてメイン制御部４１に電圧低下信号を出力する電断検出回路４８よりも電圧低下信号を出力する電圧が低く定められており、電断時においてサブ制御部９１は、メイン制御部４１よりも遅い段階で停電を検知し、後述する電断処理（サブ）を行うこととなる。
【０２６４】
サブ制御部９１は、メイン制御部４１と同様に、割込機能を備えており、メイン制御部４１からのコマンド受信時に割込を発生させて、メイン制御部４１から送信されたコマンドを取得し、バッファに格納するコマンド受信割込処理を実行する。また、サブ制御部９１は、システムクロックの入力数が一定数に到達する毎、すなわち一定間隔毎に割込を発生させて後述するタイマ割込処理（サブ）を実行する。
【０２６５】
また、サブ制御部９１は、メイン制御部４１とは異なり、コマンドの受信に基づいて割込が発生した場合には、タイマ割込処理（サブ）の実行中であっても、当該処理に割り込んでコマンド受信割込処理を実行し、タイマ割込処理（サブ）の契機となる割込が同時に発生してもコマンド受信割込処理を最優先で実行するようになっている。
【０２６６】
また、サブ制御部９１にも、停電時においてバックアップ電源が供給されており、バックアップ電源が供給されている間は、ＲＡＭ９１ｃに記憶されているデータが保持されるようになっている。
【０２６７】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わるものである。詳しくは、後述する内部抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【０２６８】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更操作が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定６からさらに操作されたときは、設定１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ４１ｃに格納され、遊技の進行が可能な状態に移行する。
【０２６９】
また、設定値を確認するためには、ゲーム終了後、賭数が設定されていない状態で設定キースイッチ３７をｏｎ状態とすれば良い。このような状況で設定キースイッチ３７をｏｎ状態とすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示されることで設定値を確認可能な設定確認状態に移行する。設定確認状態においては、ゲームの進行が不能であり、設定キースイッチ３７をｏｆｆ状態とすることで、設定確認状態が終了し、ゲームの進行が可能な状態に復帰することとなる。
【０２７０】
本実施例のスロットマシン１においては、メイン制御部４１は、タイマ割込処理（メイン）を実行する毎に、電断検出回路４８からの電圧低下信号が検出されているか否かを判定する停電判定処理を行い、停電判定処理において電圧低下信号が検出されていると判定した場合に、電断処理（メイン）を実行する。電断処理（メイン）では、レジスタを後述するＲＡＭ４１ｃのスタックに退避し、ＲＡＭ４１ｃにいずれかのビットが１となる破壊診断用データ（本実施例では、５ＡＨ）、すなわち０以外の特定のデータを格納するとともに、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０となるようにＲＡＭパリティ調整用データを計算し、ＲＡＭ４１ｃに格納する処理を行うようになっている。尚、ＲＡＭパリティとはＲＡＭ４１ｃの該当する領域（本実施例では、全ての領域）の各ビットに格納されている値の排他的論理和として算出される値である。このため、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが０であれば、ＲＡＭパリティ調整用データは０となり、ＲＡＭ４１ｃの全ての領域に格納されたデータに基づくＲＡＭパリティが１であれば、ＲＡＭパリティ調整用データは１となる。
【０２７１】
そして、メイン制御部４１は、システムリセットによるかユーザリセットによるかに関わらず、その起動時においてＲＡＭ４１ｃの全ての領域に格納されたデータに基づいてＲＡＭパリティを計算するとともに、破壊診断用データの値を確認し、ＲＡＭパリティが０であり、かつ破壊診断用データの値も正しいことを条件に、ＲＡＭ４１ｃに記憶されているデータに基づいてメイン制御部４１の処理状態を電断前の状態に復帰させるが、ＲＡＭパリティが０でない場合（１の場合）や破壊診断用データの値が正しくない場合には、ＲＡＭ異常と判定し、ＲＡＭ異常エラーコードをレジスタにセットしてＲＡＭ異常エラー状態に制御し、遊技の進行を不能化させるようになっている。尚、ＲＡＭ異常エラー状態は、通常のエラー状態と異なり、リセットスイッチ２３やリセット／設定スイッチ３８を操作しても解除されないようになっており、前述した設定変更状態において新たな設定値が設定されるまで解除されることがない。
【０２７２】
尚、本実施例では、ＲＡＭ４１ｃに格納されている全てのデータが停電時においてもバックアップ電源により保持されるとともに、メイン制御部４１は、電源投入時においてＲＡＭ４１ｃのデータが正常であると判定した場合に、ＲＡＭ４１ｃの格納データに基づいて電断前の制御状態に復帰する構成であるが、ＲＡＭ４１ｃに格納されているデータのうち停電時において制御状態の復帰に必要なデータのみをバックアップし、電源投入時においてバックアップされているデータに基づいて電断前の制御状態に復帰する構成としても良い。
【０２７３】
また、電源投入時において電断前の制御状態に復帰させる際に、全ての制御状態を電断前の制御状態に復帰させる必要はなく、遊技者に対して不利益とならない最低限の制御状態を復帰させる構成であれば良く、例えば、入力ポートの状態などを全て電断前の状態に復帰させる必要はない。
【０２７４】
次に、メイン制御部４１のＲＡＭ４１ｃの初期化について説明する。メイン制御部４１のＲＡＭ４１ｃの格納領域は、重要ワーク、非保存ワーク、一般ワーク、特別ワーク、未使用領域、スタック領域に区分されている。
【０２７５】
重要ワークは、各種表示器やＬＥＤの表示用データ、Ｉ／Ｏの入出力データ、遊技時間の計時カウンタ等、初期化すると不都合があるデータが格納されるワークである。非保存ワークは、各種スイッチ類の状態を保持するワークであり、起動時にＲＡＭ４１ｃのデータが破壊されているか否かに関わらず必ず値が設定されることとなる。一般ワークは、停止制御テーブル、停止図柄、メダルの払出枚数、ＢＢ中のメダル払出総数等、ＢＢ終了時に初期化可能なデータが格納されるワークである。特別ワークは、各種ソフトウェア乱数等、設定開始前にのみ初期化されるデータが格納されるワークである。未使用領域は、ＲＡＭ４１ｃの格納領域のうち使用していない領域であり、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなる。スタック領域は、メイン制御部４１のレジスタから退避したデータが格納される領域であり、このうちの未使用スタック領域は、未使用領域と同様に、後述する複数の初期化条件のいずれか１つでも成立すれば初期化されることとなるが、使用中スタック領域は、プログラムの続行のため、初期化されることはない。
【０２７６】
本実施例においてメイン制御部４１は、設定キースイッチ３７がｏｎの状態での起動時、ＲＡＭ異常エラー発生時、ＢＢ終了時、設定キースイッチ３７がｏｆｆの状態での起動時でＲＡＭ４１ｃのデータが破壊されていないとき、１ゲーム終了時の５つからなる初期化条件が成立した際に、各初期化条件に応じて初期化される領域の異なる４種類の初期化を行う。
【０２７７】
初期化１は、起動時において設定キースイッチ３７がｏｎの状態であり、設定変更状態へ移行する場合において、その前に行う初期化、またはＲＡＭ異常エラー発生時に行う初期化であり、初期化１では、ＲＡＭ４１ｃの格納領域のうち、重要ワーク及び使用中スタック領域を除く全ての領域（未使用領域及び未使用スタック領域を含む）、すなわち非保存ワークから未使用スタック領域までの領域が初期化される。初期化２は、ＢＢ終了時に行う初期化であり、初期化２では、ＲＡＭ４１ｃの格納領域のうち、一般ワーク、未使用領域及び未使用スタック領域、すなわち一般ワークから未使用スタック領域までの領域が初期化される。初期化３は、起動時において設定キースイッチ３７がｏｆｆの状態であり、かつＲＡＭ４１ｃのデータが破壊されていない場合において行う初期化であり、初期化３では、非保存ワーク、未使用領域及び未使用スタック領域が初期化される。初期化４は、１ゲーム終了時に行う初期化であり、初期化４では、ＲＡＭ４１ｃの格納領域のうち、未使用領域及び未使用スタック領域が初期化される。
【０２７８】
尚、本実施例では、初期化１を設定変更状態の移行前に行っているが、設定変更状態の終了時に行ったり、設定変更状態移行前、設定変更状態終了時の双方で行うようにしても良い。
【０２７９】
本実施例のスロットマシン１は、前述のように遊技状態（ＲＴ０〜５、ＲＢ、ＢＢ（ＲＢ））に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインＬＮが有効化される。
【０２８０】
本実施例のスロットマシン１は、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に全ての入賞ラインが有効化されるため、以下では、有効化された入賞ラインを単に入賞ラインと呼ぶ）上に役と呼ばれる図柄の組み合わせが揃うと入賞となる。役は、同一図柄の組み合わせであっても良いし、異なる図柄を含む組み合わせであっても良い。入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、後述する内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。
【０２８１】
尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組み合わせが揃うまで有効とされ、許容された役の組み合わせが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組み合わせを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【０２８２】
以下、本実施例の内部抽選について説明する。内部抽選は、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出表示される以前に（実際には、スタートスイッチ７の検出時）決定するものである。内部抽選では、まず、スタートスイッチ７の検出時に内部抽選用の乱数値（０〜６５５３５の整数）を取得する。詳しくは、乱数回路５０８ｂのチャネルＲＬ０により生成され、ＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に格納されている値をＲＡＭ４１ｃに割り当てられた抽選用ワークに設定する。そして、遊技状態及び特別役の持ち越しの有無に応じて定められた各役について、抽選用ワークに格納された数値データと、現在の遊技状態及びＲＴの種類、賭数及び設定値に応じて定められた各役の判定値数に応じて行われる。
【０２８３】
尚、既に、図２４で説明したように、ＲＬ０ハードラッチ選択レジスタ０（ＲＬ０ＬＳ０）のビット２−０の設定内容によりいずれかの端子からの信号（ラッチ信号）に基づいて、乱数回路５０８ｂのチャネルＲＬ０のＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に乱数値をラッチさせるかが設定されている。また、本実施例では、その設定された端子には、スタートスイッチ７からの検出信号がラッチ信号として入力されるようになっており、スタートスイッチ７が操作されたタイミングで乱数回路５０８ｂのチャネルＲＬ０におけるＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に乱数値をラッチできるように構成されている。
【０２８４】
内部抽選では、内部抽選の対象となる役、現在の遊技状態、現在のＲＴの種別及び設定値に対応して定められた判定値数を、内部抽選用の乱数値（抽選用ワークに格納された数値データ）に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される。このため、判定値数の大小に応じた確率（判定値数／６５５３６）で役が当選することとなる。
【０２８５】
そして、いずれかの役の当選が判定された場合には、当選が判定された役に対応する当選フラグをＲＡＭ４１ｃに割り当てられた内部当選フラグ格納ワークに設定する。内部当選フラグ格納ワークは、２バイトの格納領域にて構成されており、そのうちの上位バイトが、特別役の当選フラグが設定される特別役格納ワークとして割り当てられ、下位バイトが、一般役の当選フラグが設定される一般役格納ワークとして割り当てられている。詳しくは、特別役が当選した場合には、当該特別役が当選した旨を示す特別役の当選フラグを特別役格納ワークに設定し、一般役格納ワークに設定されている当選フラグをクリアする。また、一般役が当選した場合には、当該一般役が当選した旨を示す一般役の当選フラグを一般役格納ワークに設定する。尚、いずれの役及び役の組み合わせにも当選しなかった場合には、一般役格納ワークのみクリアする。
【０２８６】
尚、本実施例の内部抽選では、抽選対象役の判定値数を内部抽選用の乱数値に順次加算し、加算の結果がオーバーフローしたときに、当該役に当選したものと判定される構成であるが、抽選対象役の判定値数を内部抽選用の乱数値から順次減算し、減算の結果がオーバーフローしたときに、当該役に当選したものと判定される構成としても良い。
【０２８７】
また、本実施例では、抽選対象役毎に当選と判定される判定値の数である判定値数を定めておくとともに、抽選対象役毎に判定値数を乱数値に順次加算（減算）し、オーバーフローした場合に、判定値数に対応する役の当選を判定する構成であるが、抽選対象役毎に当選と判定される乱数値の範囲を定めておくとともに、乱数値が属する範囲に対応する役の当選を判定する構成としても良い。
【０２８８】
次に、リール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。
【０２８９】
メイン制御部４１は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、ＲＯＭ４１ｂＡに格納されているテーブルインデックス及びテーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【０２９０】
テーブルインデックスには、内部抽選による当選フラグの設定状態（以下、内部当選状態と呼ぶ）別に、テーブルインデックスを参照する際の基準アドレスから、テーブル作成用データが格納された領域の先頭アドレスを示すインデックスデータが格納されているアドレスまでの差分が登録されている。これにより内部当選状態に応じた差分を取得し、基準アドレスに対してその差分を加算することで該当するインデックスデータを取得することが可能となる。尚、役の当選状況が異なる場合でも、同一の制御が適用される場合においては、インデックスデータとして同一のアドレスが格納されており、このような場合には、同一のテーブル作成用データを参照して、停止制御テーブルが作成されることとなる。
【０２９１】
テーブル作成用データは、停止操作位置に応じた滑りコマ数を示す停止制御テーブルと、リールの停止状況に応じて参照すべき停止制御テーブルのアドレスと、からなる。
【０２９２】
リールの停止状況に応じて参照される停止制御テーブルは、全てのリールが回転しているか、左リールのみ停止しているか、中リールのみ停止しているか、右リールのみ停止しているか、左、中リールが停止しているか、左、右リールが停止しているか、中、右リールが停止しているか、によって異なる場合があり、更に、いずれかのリールが停止している状況においては、停止済みのリールの停止位置によっても異なる場合があるので、それぞれの状況について、参照すべき停止制御テーブルのアドレスが回転中のリール別に登録されており、テーブル作成用データの先頭アドレスに基づいて、それぞれの状況に応じて参照すべき停止制御テーブルのアドレスが特定可能とされ、この特定されたアドレスから、それぞれの状況に応じて必要な停止制御テーブルを特定できるようになっている。尚、リールの停止状況や停止済みのリールの停止位置が異なる場合でも、同一の停止制御テーブルが適用される場合においては、停止制御テーブルのアドレスとして同一のアドレスが登録されているものもあり、このような場合には、同一の停止制御テーブルが参照されることとなる。
【０２９３】
停止制御テーブルは、停止操作が行われたタイミング別の滑りコマ数を特定可能なデータである。本実施例では、リールモータ３２Ｌ、３２Ｃ、３２Ｒに、３３６ステップ（０〜３３５）の周期で１周するステッピングモータを用いている。すなわちリールモータ３２Ｌ、３２Ｃ、３２Ｒを３３６ステップ駆動させることでリール２Ｌ、２Ｃ、２Ｒが１周することとなる。そして、リール１周に対して１６ステップ（１図柄が移動するステップ数）毎に分割した２１の領域（コマ）が定められており、これらの領域には、リール基準位置から０〜２０の領域番号が割り当てられている。一方、１リールに配列された図柄数も２１であり、各リールの図柄に対して、リール基準位置から０〜２０の図柄番号が割り当てられているので、０番図柄から２０番図柄に対して、それぞれ０〜２０の領域番号が順に割り当てられていることとなる。そして、停止制御テーブルには、領域番号別の滑りコマ数が所定のルールで圧縮して格納されており、停止制御テーブルを展開することによって領域番号別の滑りコマ数を取得できるようになっている。
【０２９４】
前述のようにテーブルインデックス及びテーブル作成用データを参照して作成される停止制御テーブルは、領域番号に対応して、各領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に位置するタイミング（リール基準位置からのステップ数が各領域番号のステップ数の範囲に含まれるタイミング）でストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出された場合の滑りコマ数がそれぞれ設定されたテーブルである。
【０２９５】
次に、停止制御テーブルの作成手順について説明すると、まず、リール回転開始時においては、そのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスを取得する。具体的には、まずテーブルインデックスを参照し、内部当選状態に対応するインデックスデータを取得し、そして取得したインデックスデータに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから全てのリールが回転中の状態に対応する各リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して全てのリールについて停止制御テーブルを作成する。
【０２９６】
また、いずれか１つのリールが停止したとき、またはいずれか２つのリールが停止したときには、リール回転開始時に取得したインデックスデータ、すなわちそのゲームの内部当選状態に応じたテーブル作成用データの先頭アドレスに基づいてテーブル作成用データを特定し、特定したテーブル作成用データから停止済みのリール及び当該リールの停止位置の領域番号に対応する未停止リールの停止制御テーブルのアドレスを取得し、取得したアドレスに格納されている各リールの停止制御テーブルを展開して未停止のリールについて停止制御テーブルを作成する。
【０２９７】
次に、メイン制御部４１がストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出したときに、該当するリールに表示結果を導出させる際の制御について説明すると、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作を有効に検出すると、停止操作を検出した時点のリール基準位置からのステップ数に基づいて停止操作位置の領域番号を特定し、停止操作が検出されたリールの停止制御テーブルを参照し、特定した停止操作位置の領域番号に対応する滑りコマ数を取得する。そして、取得した滑りコマ数分リールを回転させて停止させる制御を行う。具体的には、停止操作を検出した時点のリール基準位置からのステップ数から、取得した滑りコマ数引き込んで停止させるまでのステップ数を算出し、算出したステップ数分リールを回転させて停止させる制御を行う。これにより、停止操作が検出された停止操作位置の領域番号に対応する領域から滑りコマ数分先の停止位置となる領域番号に対応する領域が停止基準位置（本実施例では、透視窓３の下段図柄の領域）に停止することとなる。
【０２９８】
本実施例のテーブルインデックスには、一の遊技状態における一の内部当選状態に対応するインデックスデータとして１つのアドレスのみが格納されており、更に、一のテーブル作成用データには、一のリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルの格納領域のアドレスとして１つのアドレスのみが格納されている。すなわち一の遊技状態における一の内部当選状態に対応するテーブル作成用データ、及びリールの停止状況（及び停止済みのリールの停止位置）に対応する停止制御テーブルが一意的に定められており、これらを参照して作成される停止制御テーブルも、一の遊技状態における一の内部当選状態、及びリールの停止状況（及び停止済みのリールの停止位置）に対して一意となる。このため、遊技状態、内部当選状態、リールの停止状況（及び停止済みのリールの停止位置）の全てが同一条件となった際に、同一の停止制御テーブル、すなわち同一の制御パターンに基づいてリールの停止制御が行われることとなる。
【０２９９】
また、本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４コマ図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【０３００】
本実施例では、いずれかの役に当選している場合には、当選役を入賞ライン上に４コマの範囲で最大限引き込み、当選していない役が入賞ライン上に揃わないように引き込む滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う一方、いずれの役にも当選していない場合には、いずれの役も揃わない滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲で揃えずに停止させる制御が行われることとなる。
【０３０１】
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、当選した小役を入賞ラインに４コマの範囲で最大限に引き込むように滑りコマ数が定められているとともに、当選した小役を入賞ラインに最大４コマの範囲で引き込めない停止操作位置については、当選した特別役を入賞ラインに４コマの範囲で最大限に引き込むように滑りコマ数が定められた停止制御テーブルを作成し、リールの停止制御を行う。これにより、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになっている。
【０３０２】
尚、本実施例では、特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合や新たに特別役と小役が同時に当選した場合など、特別役と小役が同時に当選している場合には、当選した特別役よりも当選した小役が優先され、小役が引き込めない場合のみ、特別役を入賞ライン上に揃える制御を行っているが、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【０３０３】
特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御が行われる。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになっている。
【０３０４】
本実施例においてメイン制御部４１は、リール２Ｌ、２Ｃ、２Ｒの回転が開始した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。尚、リール回転エラーの発生により、一時的にリールの回転が停止した場合でも、その後リール回転が再開した後、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されるまで、停止操作が未だ検出されていないリールの回転を継続し、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっている。
【０３０５】
尚、本実施例では、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことを条件に、対応するリールに表示結果を停止させる制御を行うようになっているが、リールの回転が開始してから、予め定められた自動停止時間が経過した場合に、リールの停止操作がなされない場合でも、停止操作がなされたものとみなして自動的に各リールを停止させる自動停止制御を行うようにしても良い。この場合には、遊技者の操作を介さずにリールが停止することとなるため、例え、いずれかの役が当選している場合でもいずれの役も構成しない表示結果を導出させることが好ましい。
【０３０６】
本実施例においてメイン制御部４１は、ゲームの開始後、リールの回転を開始させる毎にその時点、すなわちリールの回転を開始させた時点から経過した時間であるゲーム時間を計時するようになっており、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間（本実施例では４．１秒）以上であれば、すなわち前のゲームのリール回転開始時点から所定の規制時間が経過していれば、その時点で当該ゲームにおけるリールの回転を開始させる。
【０３０７】
一方、１ゲームの終了後、メダルの投入等により規定数の賭数が設定され、ゲームの開始操作が有効となった状態でゲームの開始操作がされたときに、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間未満であれば、すなわち前のゲームのリール回転開始時点から所定の規制時間が経過していなければ、その時点ではリールの回転を開始させず、前のゲームのリール回転開始時点から計時を開始したゲーム時間が所定の規制時間に到達するまで待機し、所定の規制時間に到達した時点で当該ゲームにおけるリールの回転を開始させる。
【０３０８】
すなわちメイン制御部４１は、前のゲームにおけるリールの回転開始から所定の規制時間が経過していない場合には、この所定の規制時間が経過するまでゲームの進行を規制することで、１ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制するようになっている。
【０３０９】
尚、本実施例では、前のゲームにおけるリールの回転開始から所定の規制時間が経過していない場合には、この所定の規制時間が経過するまでゲームの進行を規制することで、１ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制する構成であるが、少なくとも１ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制する構成であれば良く、１ゲームにおけるリールの回転開始以外の一のタイミング（例えば、ゲーム終了時など）からゲーム時間の計時を開始し、次のゲームにおける同じ一のタイミングまでに所定の規制時間が経過していれば遊技を進行可能とする一方、次のゲームにおける同じ一のタイミングまでに所定の規制時間が経過していなければ遊技を進行させず所定の規制時間が経過するまで待機し、所定の規制時間が経過した時点で遊技を進行可能とすることで、１ゲームの最短時間が所定の規制時間以上となるようにゲームの進行を規制する構成としても良い。
【０３１０】
次に、メイン制御部４１がサブ制御部９１に対して送信するコマンドについて説明する。
【０３１１】
本実施例では、メイン制御部４１がサブ制御部９１に対して、投入枚数コマンド、クレジットコマンド、内部当選コマンド、フリーズコマンド、リール回転開始コマンド、リール停止コマンド、入賞番号コマンド、払出開始コマンド、払出終了コマンド、復帰コマンド、遊技状態コマンド、待機コマンド、打止コマンド、エラーコマンド、設定コマンド、設定確認コマンド、ドアコマンド、操作検出コマンドを含む複数種類のコマンドを送信する。
【０３１２】
これらコマンドは、コマンドの種類を示す１バイトの種類データとコマンドの内容を示す１バイトの拡張データとからなり、サブ制御部９１は、種類データからコマンドの種類を判別できるようになっている。
【０３１３】
投入枚数コマンドは、メダルの投入枚数、すなわち賭数の設定に使用されたメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、電断復帰時、または規定数の賭数が設定されていない状態においてメダルが投入されるか、ＭＡＸＢＥＴスイッチ６が操作されて賭数が設定されたときに送信される。また、投入枚数コマンドは、賭数の設定操作がなされたときに送信されるので、投入枚数コマンドを受信することで賭数の設定操作がなされたことを特定可能である。
【０３１４】
クレジットコマンドは、クレジットとして記憶されているメダル枚数を特定可能なコマンドであり、ゲーム終了後（設定変更後）からゲーム開始までの状態であり、規定数の賭数が設定されている状態において、メダルが投入されてクレジットが加算されたときに送信される。
【０３１５】
内部当選コマンドは、内部抽選結果を特定可能なコマンドであり、スタートスイッチ７が操作されてゲームが開始したときに送信される。また、内部当選コマンドは、スタートスイッチ７が操作されたときに送信されるので、内部当選コマンドを受信することでスタートスイッチ７が操作されたことを特定可能である。
【０３１６】
フリーズコマンドは、当該ゲームにおいて後述するフリーズ状態に制御するか否か、フリーズ状態に制御する場合にはその時期を特定可能なコマンドであり、内部当選コマンドの後に送信される。
【０３１７】
リール回転開始コマンドは、後述のフリーズ状態に制御されないゲームにおいてリールの回転の開始を通知するコマンドであり、リール２Ｌ、２Ｃ、２Ｒの回転が開始されたときに送信される。
【０３１８】
リール停止コマンドは、停止するリールが左リール、中リール、右リールのいずれかであるか、該当するリールの停止操作位置の領域番号、該当するリールの停止位置の領域番号、を特定可能なコマンドであり、各リールの停止操作に伴う停止制御が行われる毎に送信される。また、リール停止コマンドは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに送信されるので、リール停止コマンドを受信することでストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたことを特定可能である。
【０３１９】
入賞番号コマンドは、入賞ラインＬＮに揃った図柄の組み合わせ、入賞の有無、並びに入賞の種類、入賞時のメダルの払出枚数を特定可能なコマンドであり、全リールが停止して入賞判定が行われた後に送信される。
【０３２０】
払出開始コマンドは、メダルの払出開始を通知するコマンドであり、入賞やクレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が開始されたときに送信される。また、払出終了コマンドは、メダルの払出終了を通知するコマンドであり、入賞及びクレジットの精算によるメダルの払出が終了したときに送信される。
【０３２１】
復帰コマンドは、メイン制御部４１が電断前の制御状態に復帰した旨を示すコマンドであり、メイン制御部４１の起動時において電断前の制御状態に復帰した際に送信される。
【０３２２】
遊技状態コマンドは、現在の遊技状態（ＢＢ中、ＲＢ中、再遊技等）を特定可能なコマンドであり、電断復帰時またはゲームの終了時に送信される。
【０３２３】
待機コマンドは、待機状態へ移行する旨を示すコマンドであり、１ゲーム終了後、賭数が設定されずに一定時間経過して待機状態に移行するとき、クレジット（賭数の設定に用いられたメダルを含む）の精算によるメダルの払出が終了し、払出終了コマンドが送信された後に送信される。
【０３２４】
打止コマンドは、打止状態の発生または解除を示すコマンドであり、ＢＢ終了後、エンディング演出待ち時間が経過した時点で打止状態の発生を示す打止コマンドが送信され、リセット操作がなされて打止状態が解除された時点で、打止状態の解除を示す打止コマンドが送信される。
【０３２５】
エラーコマンドは、エラー状態の発生または解除、エラー状態の種類を示すコマンドであり、エラーが判定され、エラー状態に制御された時点でエラー状態の発生及びその種類を示すエラーコマンドが送信され、リセット操作がなされてエラー状態が解除された時点で、エラー状態の解除を示すエラーコマンドが送信される。
【０３２６】
設定コマンドは、設定変更状態の開始または終了、設定変更後設定値を示すコマンドであり、設定変更状態に移行する時点で設定変更状態の開始を示す設定コマンドが送信され、設定変更状態の終了時に設定変更状態の終了及び設定変更後の設定値を示す設定コマンドが送信される。また、設定変更状態への移行に伴ってメイン制御部４１の制御状態が初期化されるため、設定開始を示す設定コマンドによりメイン制御部４１の制御状態が初期化されたことを特定可能である。
【０３２７】
設定確認コマンドは、設定確認状態の開始または終了を示すコマンドであり、設定確認状態に移行する際に設定確認開始を示す設定確認コマンドが送信され、設定確認状態の終了時に設定確認終了を示す設定確認コマンドが送信される。
【０３２８】
ドアコマンドは、ドア開放検出スイッチ２５の検出状態、すなわちｏｎ（開放状態）／ｏｆｆ（閉状態）を示すコマンドであり、電源投入時、１ゲーム終了時（ゲーム終了後、次のゲームの賭数の設定が開始可能となる前までの時点）、ドア開放検出スイッチ２５の検出状態が変化（ｏｎからｏｆｆ、ｏｆｆからｏｎ）した時に送信される。
【０３２９】
操作検出コマンドは、操作スイッチ類（ＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ）の検出状態（ｏｎ／ｏｆｆ）を示すコマンドであり、定期的に送信される。
【０３３０】
これらコマンドのうちドアコマンド及び操作検出コマンド以外のコマンドは、基本処理において生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、前述したタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０３３１】
一方、ドアコマンドは、タイマ割込処理（メイン）のドア監視処理において生成され、ドアコマンド格納領域に格納される。ドアコマンド格納領域には、電源投入時または１ゲーム終了時にその時点のドア開放検出スイッチ２５の検出状態を示すドアコマンドが格納され、ドア開放検出スイッチ２５の検出状態が変化した時にその変化後の検出状態を示すドアコマンドが格納される。また、ドアコマンド格納領域に格納されたドアコマンドは、当該ドアコマンドが送信された後もクリアされることがなく、その後、新たに格納されるドアコマンドによって上書きされるようになっている。尚、電源投入時または１ゲーム終了時には、ドアコマンド格納領域に格納されているドアコマンドの送信を要求するドアコマンド送信要求１が設定され、ドアコマンド送信要求１が設定されているか、ドア開放検出スイッチ２５の検出状態が変化したときに、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０３３２】
また、操作検出コマンドは、タイマ割込処理（メイン）のスイッチ入力判定処理においてに生成され、ＲＡＭ４１ｃに設けられたコマンドキューに一時格納され、その後のタイマ割込処理（メイン）のコマンド送信処理おいて送信される。
【０３３３】
次に、メイン制御部４１が演出制御基板９０に対して送信するコマンドに基づいてサブ制御部９１が実行する演出の制御について説明する。
【０３３４】
サブ制御部９１は、メイン制御部４１からのコマンドを受信した際に、コマンド受信割込処理を実行する。コマンド受信割込処理では、ＲＡＭ９１ｃに設けられた受信用バッファに、コマンド伝送ラインから取得したコマンドを格納する。
【０３３５】
受信用バッファには、最大で１６個のコマンドを格納可能な領域が設けられており、複数のコマンドを蓄積できるようになっている。
【０３３６】
サブ制御部９１は、タイマ割込処理（サブ）において、受信用バッファに未処理のコマンドが格納されているか否かを判定し、未処理のコマンドが格納されている場合には、そのうち最も早い段階で受信したコマンドに基づいてＲＯＭ９１ｂに格納された制御パターンテーブルを参照し、制御パターンテーブルに登録された制御内容に基づいて液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の各種演出装置の出力制御を行う。
【０３３７】
制御パターンテーブルには、複数種類の演出パターン毎に、コマンドの種類に対応する液晶表示器５１の表示パターン、演出効果ＬＥＤ５２の点灯態様、スピーカ５３、５４の出力態様、リールＬＥＤの点灯態様等、これら演出装置の制御パターンが登録されており、サブ制御部９１は、コマンドを受信した際に、制御パターンテーブルの当該ゲームにおいてＲＡＭ９１ｃに設定されている演出パターンに対応して登録された制御パターンのうち、受信したコマンドの種類に対応する制御パターンを参照し、当該制御パターンに基づいて演出装置の出力制御を行う。これにより演出パターン及び遊技の進行状況に応じた演出が実行されることとなる。
【０３３８】
尚、サブ制御部９１は、あるコマンドの受信を契機とする演出の実行中に、新たにコマンドを受信した場合には、実行中の制御パターンに基づく演出を中止し、新たに受信したコマンドに対応する制御パターンに基づく演出を実行するようになっている。すなわち演出が最後まで終了していない状態でも、新たにコマンドを受信すると、受信した新たなコマンドが新たな演出の契機となるコマンドではない場合を除いて実行していた演出はキャンセルされて新たなコマンドに基づく演出が実行されることとなる。
【０３３９】
特に、本実施例では、演出の実行中に賭数の設定操作がなされたとき、すなわちサブ制御部９１が、賭数が設定された旨を示す投入枚数コマンドを受信したときに、実行中の演出を中止するようになっている。このため、遊技者が、演出を最後まで見るよりも次のゲームを進めたい場合には、演出がキャンセルされ、次のゲームを開始できるので、このような遊技者に対して煩わしい思いをさせることがない。また、演出の実行中にクレジットまたは賭数の精算操作がなされたとき、すなわちサブ制御部９１が、ゲームの終了を示す遊技状態コマンドを受信した後、ゲームの開始を示す内部当選コマンドを受信する前に、払出開始コマンドを受信した場合には、実行中の演出を中止するようになっている。クレジットや賭数の精算を行うのは、遊技を終了する場合であり、このような場合に実行中の演出を終了させることで、遊技を終了する意志があるのに、不要に演出が継続してしまわないようになっている。
【０３４０】
演出パターンは、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じた選択率にて選択され、ＲＡＭ９１ｃに設定される。演出パターンの選択率は、ＲＯＭ９１ｂに格納された演出テーブルに登録されており、サブ制御部９１は、内部当選コマンドを受信した際に、内部当選コマンドが示す内部抽選の結果に応じて演出テーブルに登録されている選択率を参照し、その選択率に応じて複数種類の演出パターンからいずれかの演出パターンを選択し、選択した演出パターンを当該ゲームの演出パターンとしてＲＡＭ９１ｃに設定するようになっており、同じコマンドを受信しても内部当選コマンドの受信時に選択された演出パターンによって異なる制御パターンが選択されるため、結果として演出パターンによって異なる演出が行われることがある。
【０３４１】
次に、メイン制御部４１の動作について説明する。まず、本実施例では、既に説明したように、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生したときに、ユーザリセットを発生させるかシステムリセットを発生させるかを可能である（図１３参照）。図４７は、リセット設定（ＫＲＥＳ）での設定内容によるリセット動作の違いを説明するための説明図である。
【０３４２】
まず、図４７（Ａ）を用いてウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生したときにシステムリセットを発生させるように設定した場合について説明する。この場合、図４７（Ａ）に示すように、スロットマシン１に対して電源が投入され電力供給が開始されると、メイン制御部４１は、ＣＰＵコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路５０８ａ，５０８ｂの設定などメイン制御部４１の各種設定をハードウェア的に行う（ステップＳ１００１）。具体的には、プログラム管理エリアの図１３に示すリセット設定（ＫＲＥＳ）の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図１４〜図１８に示す１６ビット乱数初期設定１（ＫＲＬ１）〜８ビット乱数初期設定２（ＫＲＳ２）の設定内容に従って乱数回路５０８ａ，５０８ｂの設定を行ったりする。尚、図４７（Ａ）に示す例では、メイン制御部４１は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてシステムリセットを設定する。また、プログラム管理エリアの設定内容は予めスロットマシン１の製作時に製造メーカー（ユーザ）によって設定されているものとする。
【０３４３】
メイン制御部４１の各種設定を完了すると、メイン制御部４１は、セキュリティモードに移行し、セキュリティチェックを実行する（ステップＳ１００２）。ステップＳ１００２で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップＳ１００３に移行し、認証コードが正しくなければ、ＣＰＵ４１ａを停止する。尚、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図１９に示すセキュリティ時間設定（ＫＳＥＳ）の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図１９に示すセキュリティ時間設定（ＫＳＥＳ）の設定内容に従ってステップＳ１００１の設定が行われることによりセキュリティモード時間が設定される。尚、認証コードは、予めスロットマシン１の製作時の内蔵ＲＯＭ４１ｂへの書き込み時にスロットマシン１の製造メーカー（ユーザ）によってユーザプログラムとともに書き込まれているものとする。
【０３４４】
そして、セキュリティチェックを終了すると、メイン制御部４１は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図４９の起動処理（メイン）や図５０に示すゲーム処理等の実行を開始する。
【０３４５】
次いで、ユーザプログラムが実行されているときに、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生したものとする。図４７（Ａ）に示す例では、ステップＳ１００１で内部リセット動作の設定としてシステムリセットが設定されていることから、タイムアウト信号やＩＡＴ信号の発生に基づいてシステムリセットが発生する。
【０３４６】
そして、ステップＳ１００１と同様に、メイン制御部４１は、ＣＰＵコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路５０８ａ，５０８ｂの設定などメイン制御部４１の各種設定をハードウェア的に行う（ステップＳ１００５）。また、メイン制御部４１の各種設定を完了すると、ステップＳ１００２と同様に、メイン制御部４１は、セキュリティモードに移行し、セキュリティチェックを実行する（ステップＳ１００６）。
【０３４７】
そして、セキュリティチェックを終了すると、ステップＳ１００３と同様に、メイン制御部４１は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図４９の起動処理（メイン）の実行を再び開始する。
【０３４８】
以降、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生するごとに、ステップＳ１００４〜Ｓ１００７の動作が実行される。尚、図４７（Ａ）において、ステップＳ１００１，Ｓ１００２の具体的な処理内容とステップＳ１００５，Ｓ１００６の具体的な処理内容とは同じである。
【０３４９】
次に、図４７（Ｂ）を用いてウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生したときにユーザリセットを発生させるように設定した場合について説明する。この場合、図４７（Ｂ）に示すように、スロットマシン１に対して電源が投入され電力供給が開始されると、メイン制御部４１は、ＣＰＵコアを含む全ての内部回路を初期化するとともに、プログラム管理エリアの設定内容に従って、内部リセット動作の設定や乱数回路５０８ａ，５０８ｂの設定などメイン制御部４１の各種設定をハードウェア的に行う（ステップＳ１０１１）。具体的には、プログラム管理エリアの図１３に示すリセット設定（ＫＲＥＳ）の設定内容に従って内部リセットの動作の設定を行ったり、プログラム管理エリアの図１４〜図１８に示す１６ビット乱数初期設定１（ＫＲＬ１）〜８ビット乱数初期設定２（ＫＲＳ２）の設定内容に従って乱数回路５０８ａ，５０８ｂの設定を行ったりする。尚、図４７（Ｂ）に示す例では、メイン制御部４１は、プログラム管理エリアの設定内容に従って、内部リセット動作の設定としてユーザリセットを設定する。また、プログラム管理エリアの設定内容は予めスロットマシン１の製作時に製造メーカー（ユーザ）によって設定されているものとする。
【０３５０】
メイン制御部４１の各種設定を完了すると、メイン制御部４１は、セキュリティモードに移行し、セキュリティチェックを実行する（ステップＳ１０１２）。ステップＳ１０１２で実行するセキュリティチェックでは、ユーザプログラムの認証を行う。具体的には、ユーザプログラムをもとに計算された認証コードが正しいか否か再計算を行う。そして、認証コードが正しければ、ステップＳ１０１３に移行し、認証コードが正しくなければ、ＣＰＵ４１ａを停止する。尚、セキュリティモードに移行されるセキュリティモード時間は、既に説明したように、プログラム管理エリアの図１９に示すセキュリティ時間設定（ＫＳＥＳ）の設定内容に従って可変とされている。具体的には、プログラム管理エリアの図１９に示すセキュリティ時間設定（ＫＳＥＳ）の設定内容に従ってステップＳ１０１１の設定が行われることによりセキュリティモード時間が設定される。尚、認証コードは、予めスロットマシン１の製作時の内蔵ＲＯＭ４１ｂへの書き込み時に製造メーカー（ユーザ）によってユーザプログラムとともに書き込まれているものとする。
【０３５１】
そして、セキュリティチェックを終了すると、メイン制御部４１は、ユーザモードに移行し、ユーザプログラムの実行を開始する。具体的には、後述する図４９の起動処理（メイン）の実行を開始する。
【０３５２】
次いで、ユーザプログラムが実行されているときに、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生したものとする。図４７（Ｂ）に示す例では、ステップＳ１０１１で内部リセット動作の設定としてユーザリセットが設定されていることから、タイムアウト信号やＩＡＴ信号の発生に基づいてユーザリセットが発生する。
【０３５３】
ユーザリセットが発生した場合には、ステップＳ１０１１のメイン制御部４１の各種設定やステップＳ１０１２のセキュリティチェックは実行されず、メイン制御部４１の内部回路のうち、ＣＰＵコア、タイマ回路５０９、フリーランカウンタ回路５０７、演算回路５０５、パラレル入力ポート５１１、パラレル出力ポート５１３、シリアル通信回路５１２、及び割り込みコントローラ５１０などを初期化する。そして、そのままユーザプログラムの先頭のアドレスに戻り、ユーザプログラムの実行が先頭のアドレスから再び開始される（ステップＳ１０１５）。具体的には、後述する図４９の起動処理（メイン）の実行を再び開始する。
【０３５４】
以降、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号やＩＡＴ回路５０６ａからのＩＡＴ信号が発生するごとに、ステップＳ１０１４〜Ｓ１０１５の動作が実行される。
【０３５５】
また、本実施例では、メイン制御部４１は、起動時に内蔵レジスタを初期化する場合、その初期化する内蔵レジスタエリアの上位及び下位全てのアドレスを指定するのではなく、アドレスの下位のみを指定して内蔵レジスタの値を初期化することが可能である。
【０３５６】
図４８（ａ）は、内蔵レジスタエリアを初期化する際にアドレスを指定する方法の例を示す説明図である。本実施例では、内蔵レジスタエリアは、ＦＥ００Ｈ〜ＦＥＦＦＨ領域に格納されるものとし、データ格納領域のアドレスの上位が必ずＦＥＨとなるものとする。また、メイン制御部４１は、データ格納領域の上位アドレスを固定値として格納しておくための専用のレジスタ（Ｑレジスタ）を備え、起動時において内蔵レジスタを初期化する前にＱレジスタには固定値ＦＥＨが設定されるものとする。
【０３５７】
図４８（ａ）に示す例では、初期化する内蔵レジスタエリアとしてアドレスＦＥ２０Ｈを指定する場合が示されている。この場合、Ｑレジスタを用いてデータの書き込みまたはデータの読み込みを行うためのコマンドＬＤＱを用いて、下位アドレス２０Ｈのみを指定して、データの書き込み動作を行う（具体的には、ＬＤＱ  （２０Ｈ），Ａを実行する）。すると、ＣＰＵ４１ａは、データ格納領域の上位アドレスをＱレジスタに設定されている固定値からＦ０Ｈと特定するとともに、ＬＤＱ命令で指定された下位アドレス２０Ｈを特定し、上位及び下位を合わせたデータ格納領域のアドレスがＦＥ２０Ｈであると特定する。そして、ＣＰＵ４１ａは、特定したＦＥ２０Ｈに対応するデータ格納領域にレジスタＡに設定されているデータａを格納する。
【０３５８】
また、メイン制御部４１は、ユーザプログラムの実行中に内蔵ＲＡＭ領域に格納されているデータを読み出す場合、そのデータが格納されている内蔵ＲＡＭ領域の上位及び下位全てのアドレスを指定するのではなく、アドレスの下位のみを指定してデータを読み出すことが可能である。
【０３５９】
図４８（ｂ）は、内蔵ＲＡＭ領域に格納されているデータを読み出す際にアドレスを指定する方法の例を示す説明図である。本実施例では、ユーザプログラムで参照されるデータは、内蔵ＲＡＭ領域のうちのＦ０００Ｈ〜Ｆ０ＦＦＨ領域に格納されるものとし、データ格納領域のアドレスの上位が必ずＦ０Ｈとなるものとする。また、メイン制御部４１は、起動時に内蔵レジスタを初期化した後、ＲＡＭアクセスが許可される前に、前述したＱレジスタ、すなわちデータ格納領域の上位アドレスを固定値として格納しておくための専用のレジスタに、固定値ＦＥＨが設定されるものとする。
【０３６０】
図４８（ｂ）に示す例では、内蔵ＲＡＭ領域のアドレスＦ０２０Ｈに格納されているデータを読み出す場合が示されている。この場合、前述したＱレジスタを用いてデータの書き込みまたはデータの読み込みを行うためのコマンドＬＤＱを用いて、下位アドレス２０Ｈのみを指定して、データの読み出し動作を行う（具体的には、ＬＤＱ  Ａ，（２０Ｈ）を実行する）。すると、ＣＰＵ４１ａは、データ格納領域の上位アドレスをＱレジスタに設定されている固定値からＦ０Ｈと特定するとともに、ＬＤＱ命令で指定された下位アドレス２０Ｈを特定し、上位及び下位を合わせたデータ格納領域のアドレスがＦ０２０Ｈであると特定する。そして、ＣＰＵ４１ａは、特定したＦ０２０Ｈに対応するデータ格納領域に格納されているデータａを読み出し、レジスタＡに格納する。
【０３６１】
尚、Ｑレジスタの値は、メイン制御部４１の起動時に、ユーザプログラムによってＦＥＨが設定され、その後、内蔵レジスタを初期化した後、ＲＡＭアクセスが許可される前に、再びユーザプログラムによってＦ０Ｈに変更される。尚、スロットマシン１に対して電源が投入され電力供給が開始されたときにハードウェア的に初期化されて初期値ＦＥＨに自動設定され、その後、内蔵レジスタを初期化した後にユーザプログラムによってＦ０Ｈに変更される構成としても良い。
【０３６２】
また、Ｑレジスタの初期値設定は、スロットマシン１に対して電源が投入され電力供給が開始されたときに行うハードウェア的な自動設定のみでも良いし、ユーザプログラムの開始時に実行されるユーザプログラムによる設定のみでも良い。
【０３６３】
次に、メイン制御部４１がシステムチェックを実行した後、ユーザモードに移行した後にユーザプログラムに従って実行する処理を説明する。ユーザモードに移行すると、メイン制御部４１は、起動処理（メイン）の実行を開始する。
【０３６４】
図４９は、メイン制御部４１が実行する起動処理（メイン）の制御内容を示すフローチャートである。
【０３６５】
起動処理（メイン）では、まず割込を禁止に設定し（Ｓａ１）、パラレル出力ポート５１３を初期化した後（Ｓａ２）、Ｑレジスタに、内蔵レジスタエリアの上位アドレスであるＦＥＨを設定し（Ｓａ３）、内蔵レジスタを初期化する（Ｓａ４）。次いで電断検出回路４８からの電圧低下信号が検出されているか否か、すなわち電圧が不安定な状態か否かを判定し（Ｓａ５）、電圧低下信号が検出されている場合には、電圧低下信号が検出されなくなるまで待機する。
【０３６６】
Ｓａ５のステップにおいて電圧低下信号が検出されない場合には、割込発生時に実行するプログラムのアドレスをＩレジスタに設定し（Ｓａ６）、ＲＡＭ４１ｃへのアクセスを許可し（Ｓａ７）、スタックポインタを設定し（Ｓａ８）、Ｑレジスタの値を内蔵ＲＡＭ領域の上位アドレスであるＦ０Ｈに変更する（Ｓａ９）。すなわちＲＡＭ４１ｃへのアクセスを許可したタイミングでＱレジスタに内蔵ＲＡＭ領域の上位アドレスであるＦ０Ｈが設定される。
【０３６７】
次いで、ＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）のＲＡＭパリティを計算し（Ｓａ１０）、ＲＡＭパリティが０か否かを判定する（Ｓａ１１）。正常に電断割込処理（メイン）が行われていれば、ＲＡＭパリティが０になるはずであり、Ｓａ８のステップにおいてＲＡＭパリティが０でなければ、ＲＡＭ４１ｃに格納されているデータが正常ではなく、この場合には、Ｓａ１５のステップに進む。
【０３６８】
一方、Ｓａ１１のステップにおいてＲＡＭパリティが０であれば、更に破壊診断用データが正常か否かを判定する（Ｓａ１２）。正常に電断割込処理（メイン）が行われていれば、破壊診断用データが設定されているはずであり、Ｓａ１２のステップにおいて破壊診断用データが正常でない場合（破壊診断用データが電断時に格納される５Ａ（Ｈ）以外の場合）にも、ＲＡＭ４１ｃのデータが正常ではないので、Ｓａ１５のステップに進む。
【０３６９】
Ｓａ１２のステップにおいて破壊診断用データが正常であると判定した場合には、ＲＡＭ４１ｃのデータは正常であるので、破壊診断用データをクリアし（Ｓａ１３）、ＲＡＭ４１ｃのデータが正常である旨を示すＲＡＭ正常フラグをＲＡＭ４１ｃに設定し（Ｓａ１４）、Ｓａ１５のステップに進む。
【０３７０】
Ｓａ１５のステップでは、設定キースイッチ３７がｏｎか否かを判定し、設定キースイッチ３７がｏｎであれば、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１を実行した後（Ｓａ１６）、割込を許可し（Ｓａ１７）、設定開始を示す設定コマンドをコマンドキューに設定する（Ｓａ１８）。Ｓａ１８のステップにおいて設定された設定コマンドは、その後のタイマ割込処理（メイン）のコマンド送信処理にてサブ制御部９１に対して送信される。
【０３７１】
Ｓａ１８のステップの後、設定値を変更可能な設定変更状態に制御される設定変更処理に移行し（Ｓａ１９）、新たに設定値が設定されることにより設定変更処理が終了した後、設定終了を示す設定コマンドをコマンドキューに設定し（Ｓａ２０）、ゲーム処理に移行する。Ｓａ２０のステップにおいて設定された設定コマンドは、その後のタイマ割込処理（メイン）のコマンド送信処理にてサブ制御部９１に対して送信される。
【０３７２】
Ｓａ１５のステップにおいて設定キースイッチ３７がｏｆｆであれば、ＲＡＭ正常フラグの設定の有無に基づいてＲＡＭ４１ｃのデータが正常か否かを判定し（Ｓａ２１）、ＲＡＭ４１ｃのデータが正常でないと判定された場合には、Ｓａ１６と同様の初期化１を実行してＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化し（Ｓａ２２）、割込を許可する（Ｓａ２３）。そして、ＲＡＭ異常を示すエラーコードを設定し（Ｓａ２４）、ＲＡＭ異常を示すエラーコマンドをコマンドキューに設定し（Ｓａ２５）、エラー処理、すなわちＲＡＭ異常エラー状態に移行する。Ｓａ２５のステップにおいて設定されたエラーコマンドは、その後のタイマ割込処理（メイン）のコマンド送信処理にてサブ制御部９１に対して送信される。また、ＲＡＭ異常エラーは、通常のエラーと異なり、新たに設定値が設定されるまでゲームを進行可能な状態には復帰することがない。
【０３７３】
Ｓａ２１のステップにおいてＲＡＭ４１ｃのデータが正常であると判定された場合には、ＲＡＭ４１ｃの非保存ワーク、未使用領域及び未使用スタック領域を初期化する初期化３を行った後（Ｓａ２６）、スタックポインタを電断前の状態に復帰し（Ｓａ２７）、復帰コマンドをコマンドキューに設定する（Ｓａ２８）。Ｓａ２８のステップにおいて設定された復帰コマンドは、その後のタイマ割込処理（メイン）のコマンド送信処理にてサブ制御部９１に対して送信される。次いで、パラレル入力ポート５１１に入力された各種スイッチ類等の検出信号の入力状態が格納される入力バッファを初期化し（Ｓａ２９）、パラレル出力ポート５１３の出力状態を電断前の状態に復帰し（Ｓａ３０）、各レジスタを電断前の状態、すなわちスタックに保存されている状態に復帰し（Ｓａ３１）、割込を許可して（Ｓａ３２）、電断前の最後に実行していた処理に戻る。
【０３７４】
図５０は、メイン制御部４１が実行するゲーム処理の制御内容を示すフローチャートである。
【０３７５】
ゲーム処理では、ＢＥＴ処理（Ｓｄ１）、内部抽選処理（Ｓｄ２）、リール回転処理（Ｓｄ３）、入賞判定処理（Ｓｄ４）、払出処理（Ｓｄ５）、ゲーム終了時処理（Ｓｄ６）を順に実行し、ゲーム終了時処理が終了すると、再びＢＥＴ処理に戻る。
【０３７６】
Ｓｄ１のステップにおけるＢＥＴ処理では、賭数を設定可能な状態で待機し、遊技状態に応じた規定数の賭数が設定され、スタートスイッチ７が操作された時点でゲームを開始させる処理を実行する。
【０３７７】
Ｓｄ２のステップにおける内部抽選処理では、Ｓｄ１のステップにおけるスタートスイッチ７の検出時にラッチされた内部抽選用の乱数値に基づいて上記した各役への入賞を許容するかどうかを決定する処理を行う。この内部抽選処理では、それぞれの抽選結果に基づいて、ＲＡＭ４１ｃに当選フラグが設定される。
【０３７８】
Ｓｄ３のステップにおけるリール回転処理では、各リール２Ｌ、２Ｃ、２Ｒを回転させる処理、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が検出されたことに応じて対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる処理を実行する。
【０３７９】
Ｓｄ４のステップにおける入賞判定処理では、Ｓｄ３のステップにおいて全てのリール２Ｌ、２Ｃ、２Ｒの回転が停止したと判定した時点で、各リール２Ｌ、２Ｃ、２Ｒに導出された表示結果に応じて入賞が発生したか否かを判定する処理を実行する。
【０３８０】
Ｓｄ５のステップにおける払出処理では、Ｓｄ４のステップにおいて入賞の発生が判定された場合に、その入賞に応じた払出枚数に基づきクレジットの加算並びにメダルの払出等の処理を行う。
【０３８１】
Ｓｄ６のステップにおけるゲーム終了時処理では、次のゲームに備えて遊技状態を設定する処理を実行する。
【０３８２】
また、ゲーム処理では、ゲームの進行制御に応じてコマンドをコマンドキューに設定することで、その後のタイマ割込処理（メイン）のコマンド送信処理にてサブ制御部９１に送信されるようになっている。
【０３８３】
図５１は、メイン制御部４１がＳｄ１のステップにおいて実行するＢＥＴ処理においてゲームを開始可能な状態でスタートスイッチ７の操作、すなわちスタートスイッチ７のｏｆｆからｏｎへの変化が検出されたときに実行する乱数取得処理の制御内容を示すフローチャートである。
【０３８４】
乱数取得処理ではまず、割込を禁止に設定する（Ｓｅ１）、これによりゲームを開始可能な状態でスタートスイッチ７が操作されたにも関わらず、当該スタートスイッチ７の検出信号の入力に伴いラッチされた乱数値が取得されずに電断処理（メイン）が実行されることで、電断復帰時に乱数値が取得されていないにも関わらず、ゲームが開始してしまうことを防止する。
【０３８５】
次いで、他のスイッチがｏｎの状態か否かを判定し（Ｓｅ２）、いずれかのスイッチがｏｎの状態であれば割込を許可して（Ｓｅ４）、ＢＥＴ処理におけるスタートスイッチ７の操作の検出待ちの状態に戻る。
【０３８６】
Ｓｅ２のステップにおいて他のスイッチがいずれもｏｎの状態でなければさらにＲＡＭ４１ｃに設定された賭数の規定数を参照し、ＲＡＭ４１ｃに割り当てられたＢＥＴカウンタの値が規定数であるか、すなわちゲームの開始条件となる賭数が設定されているか否かを判定する（Ｓｅ３）。
【０３８７】
Ｓｅ３のステップにおいてＢＥＴカウンタの値が規定数でなければ、割込を許可して（Ｓｅ４）、ＢＥＴ処理におけるスタートスイッチ７の操作の検出待ちの状態に戻る。
【０３８８】
Ｓｅ３のステップにおいてＢＥＴカウンタの値が規定数であれば、乱数異常が検出されているか否かを判定する（Ｓｅ５）。
【０３８９】
メイン制御部４１は、乱数回路５０８ｂの動作異常（外部クロック周波数異常及び更新異常）を検出する機能を備えており、外部クロック周波数異常が検出された場合には、内部情報レジスタ（ＣＩＦ）のビット３に“１”がセットされ、更新状態の異常が検出された場合には、内部情報レジスタ（ＣＩＦ）のビット７〜４のうちの対応するビットに“１”がセットされるようになっている。このため、Ｓｅ５のステップでは、内部情報レジスタ（ＣＩＦ）ビット３、ビット７〜４の値のいずれかに“１”がセットされているか否かにより乱数異常が検出されているか否かを判定すれば良い。
【０３９０】
Ｓｅ５のステップにおいて乱数異常が検出されている場合には、乱数異常を示すエラーコードをレジスタに設定し（Ｓｅ６）、乱数異常を示すエラーコマンドをコマンドキューに設定した後（Ｓｅ７）、割込を許可して（Ｓｅ８）、エラー処理に移行する。Ｓｅ７のステップにおいて設定されたエラーコマンドは、その後のタイマ割込処理（メイン）のコマンド送信処理にてサブ制御部９１に対して送信される。また、乱数異常エラーは、ＲＡＭ異常エラーと同様、新たに設定値が設定されるまでゲームを進行可能な状態には復帰することがない。
【０３９１】
Ｓｅ５のステップにおいて乱数異常が検出されていない場合には、乱数回路５０８ｂのＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）に格納されている値、すなわちスタートスイッチ７が操作されたタイミングでラッチされた乱数値をＲＡＭ４１ｃに割り当てられた抽選用ワークに設定し（Ｓｅ９）、割込を許可し（Ｓｅ１０）、ゲーム開始時の設定を行う（Ｓｅ１１）。そして、Ｓｅ１１のステップの後、ＢＥＴ処理を終了して図５０のフローチャートに復帰する。すなわちＳｄ２のステップにおける内部抽選処理に移行する。
【０３９２】
図５２は、メイン制御部４１がＳｄ２のステップにおいて実行する内部抽選処理の制御内容を示すフローチャートである。
【０３９３】
内部抽選処理では、まず抽選用ワークに設定された乱数値をレジスタに設定し（Ｓｆ１）、現在の遊技状態等に応じた最初の抽選対象役を設定する（Ｓｆ２）。
【０３９４】
次いで、設定された抽選対象役の現在の遊技状態、設定値等に対応する判定値数を取得し（Ｓｆ３）、取得した判定値数をレジスタに設定されている値に加算し（Ｓｆ４）、加算後の値がオーバーフローしたか否か、すなわち乱数値の総数（６５５３６）を超えたか否かを判定する（Ｓｆ５）。
【０３９５】
Ｓｆ５のステップにおいて加算後の値がオーバーフローしている場合には、対応する役、すなわち現在設定されている抽選対象役の当選フラグを内部当選フラグ格納ワークに設定し（Ｓｆ６）、内部抽選処理を終了し、図５０に示すゲーム処理に復帰し、リール回転処理に移行する。
【０３９６】
Ｓｆ５のステップにおいて加算後の値がオーバーフローしていない場合には、現在の遊技状態、ＲＴに応じた全ての抽選対象役の判定が終了したか否かを判定し（Ｓｆ７）、全ての抽選対象役の判定が終了していない場合には次の抽選対象役を設定し、Ｓｆ３のステップに戻る。
【０３９７】
Ｓｆ７のステップにおいて全ての抽選対象役の判定が終了している場合には、内部抽選処理を終了し、図５０に示すゲーム処理に復帰し、リール回転処理に移行する。
【０３９８】
図５３は、メイン制御部がタイマ割込処理（メイン）において電断を検出したことに応じて実行する電断処理（メイン）の制御内容を示すフローチャートである。
【０３９９】
電断処理（メイン）においては、まず、使用している可能性がある全てのレジスタをスタック領域に退避する（Ｓｍ１）。尚、前述したＩレジスタの値は使用されているが、起動時の初期化に伴って常に同一の固定値が設定されるため、ここでは保存されない。
【０４００】
次いで、破壊診断用データ（本実施例では、５Ａ（Ｈ））をセットして（Ｓｍ２）、パラレル出力ポート５１３を初期化する（Ｓｍ３）。次いでＲＡＭ４１ｃの全ての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるようにＲＡＭパリティ調整用データを計算してＲＡＭ４１ｃにセットし（Ｓｍ４）、ＲＡＭ４１ｃへのアクセスを禁止し（Ｓｍ５）、ループ処理に入る。
【０４０１】
ループ処理では、電圧低下信号の出力状況を監視した状態で待機する（Ｓｍ６）。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理（メイン）からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。
【０４０２】
以上の処理によって、電力供給が停止する場合には、電断処理（メイン）が実行され、破壊診断用データ及びＲＡＭパリティ調整用データがバックアップＲＡＭへストアされ、ＲＡＭアクセスが禁止状態にされ、出力ポートがクリアされる。
【０４０３】
尚、本実施例では、電源処理（メイン）においてチェックデータ（破壊診断用データ及びＲＡＭパリティ調整用データ）の生成や出力ポートクリアなどの処理を終了した後、繰り返し電圧低下信号の入力を確認する電源断待ちループに移行するが、このような電圧低下信号の入力を確認する構成とはしないようにしても良い。この場合、例えば、ウオッチドッグタイマ（ＷＴＤ）５０６ｂをユーザプログラムによって起動できるように設定した上で、電源断待ちループに入るときにウオッチドッグタイマ（ＷＴＤ）５０６ｂを起動させるようにし、スロットマシン１が完全に電源断状態とならず電源の電圧値が完全に落ちきらないときにはウオッチドッグタイマ（ＷＴＤ）５０６ｂからのタイムアウト信号によるリセットが発生するようにしても良い。
【０４０４】
また、本実施例では、スロットマシン１への電源投入時に電源断信号が入力されているか否かを確認し、入力されていれば無限ループに移行し、その無限ループにおいて電圧低下信号の入力を確認し、その入力がなくなるまで無限ループを継続する構成であるが、このような構成において、上記と同様の態様で無限ループに入るときにウオッチドッグタイマ（ＷＴＤ）５０６ｂを起動させ、同様の処理を行うように構成しても良い。
【０４０５】
尚、ウオッチドッグタイマ（ＷＴＤ）５０６ｂを起動させるように設定している場合には（ただし、上記のように電源断待ちループでのみウオッチドッグタイマ（ＷＴＤ）５０６ｂを起動させるものを除く）、正常にＣＰＵ４１ａが動作しているときにはタイムアウトしないように、ウオッチドッグタイマ（ＷＴＤ）５０６ｂをクリアする信号を出力するようにプログラムされる。具体的には、内蔵レジスタエリアに設けられているＷＤＴクリアレジスタ（図示せず）にクリアするための値を書き込むようにプログラムされる。
【０４０６】
本実施例では、ＲＡＭ４１ｃがバックアップ電源によって電源バックアップ（スロットマシン１への電力供給が停止しても所定期間はＲＡＭ４１ｃの内容が保存されこと）されている。本実施例では、電断処理（メイン）において破壊診断用データも電圧低下信号が出力されたときのＲＡＭ４１ｃの内容に基づくＲＡＭパリティ調整用データもＲＡＭ４１ｃのバックアップ領域に保存される。スロットマシン１への電力供給が停止した後、所定期間内に電力供給が復旧したら、メイン制御部４１は、起動処理（メイン）によって、ＲＡＭ４１ｃに保存されているデータに従って、その制御状態を、電力供給が停止した直前の状態に戻すことができる。尚、電力供給停止の期間が所定期間を越えたらＲＡＭパリティが０とならないか、ＲＡＭパリティが０となっても破壊診断用データが破損していることから、その場合には、ＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１が実行される。
【０４０７】
このように、電断処理（メイン）（電力の供給停止のための準備処理）によって、メイン制御部４１の遊技に関する制御状態を電力供給が停止した直前の状態に戻すためのデータが確実にＲＡＭ４１ｃに保存される。よって、停電等による電源断が生じても、所定期間内に電源が復旧すれば、メイン制御部４１の遊技に関する制御状態を電力供給が停止した直前の状態に戻すことができる。
【０４０８】
また、電断処理（メイン）後、電圧低下信号がオフ状態になった場合には、ユーザモードの最初のステップ（起動処理（メイン））に戻る。その場合、電断処理（メイン）が正常に実行されているので、起動処理（メイン）によって制御状態の復旧処理が実行される。よって、電断処理（メイン）を実行した後に電圧低下信号がオフ状態になったときには、遊技の進行を制御する状態に戻る。従って、電源瞬断等が生じても、ゲームの進行に関する処理が停止してしまうようなことはなく、自動的に、ゲームの進行に関する処理が続行される。
【０４０９】
尚、本実施例では、所定の処理（ゲーム処理、タイマ割込処理（メイン））の実行中に所定事象が発生（ＩＡＴ回路５０６ａからＩＡＴ信号を入力、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからタイムアウト信号を入力）したときにＲＡＭ４１ｃ（バックアップＲＡＭ）の記憶内容を初期化する。具体的には、ゲーム処理、タイマ割込処理（メイン）の実行中に、ＩＡＴ回路５０６ａからＩＡＴ信号や、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからタイムアウト信号を入力したときには、電断処理（メイン）が実行されることなく、システムリセットまたはユーザリセット（図４７のステップＳ１００４，Ｓ１０１４参照）が発生することになる。そして、システムリセットが発生した後にはセキュリティチェックを実行した後にステップＳ１００７でユーザモードに移行されて図４９に示す起動処理（メイン）の実行が再び開始され、ユーザリセットが発生した後にはステップＳ１０１５でユーザプログラムの先頭に戻り図４９に示す起動処理（メイン）の実行が再び開始されるのであるが、ＲＡＭ調整用データ及び破壊診断用データのいずれもセットされていないことから、起動処理（メイン）でＲＡＭ異常と判定されてＲＡＭ４１ｃの格納領域のうち、使用中スタック領域を除く全ての格納領域を初期化する初期化１が実行されることになる。
【０４１０】
尚、「所定の処理」とは、スロットマシン１への電源投入時の起動処理（メイン）において設定変更処理や復旧処理が実行された後、遊技可能となった状態で実行されている処理であり、上記に説明したように、具体的には、ゲーム処理、タイマ割込処理（メイン）が該当する。ただし、電源電圧低下により電断処理（メイン）が実行されているときは所定の処理からは除かれる。
【０４１１】
また、本実施例では、電断処理（メイン）を実行した後に所定事象が発生（ＩＡＴ回路５０６ａからＩＡＴ信号を入力、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからタイムアウト信号を入力）したときに、ＲＡＭ４１ｃ（バックアップＲＡＭ）の記憶内容に基づいて制御状態を電断前の状態に復旧させる復旧処理を実行する。具体的には、電圧低下信号を入力したことに基づいて電断処理（メイン）を実行してループ処理を実行しているときに、ちょうどＩＡＴ回路５０６ａからＩＡＴ信号や、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからタイムアウト信号を入力したときには（ただし、ＩＡＴ回路５０６ａからＩＡＴ信号した場合には、何らかの原因で指定エリア外のプログラムを実行している状態となってしまった場合であるので、より正確には、電断処理(メイン）のループ処理に一度移行した後にＩＡＴ回路５０６ａからＩＡＴ信号した場合に相当する）、ＩＡＴ信号やタイムアウト信号を入力したことに基づいてシステムリセットまたはユーザリセット（図４７のステップＳ１００４，Ｓ１０１４参照）が発生することになる。そして、システムリセットが発生した後にはセキュリティチェックを実行した後にステップＳ１００７でユーザモードに移行されて起動処理（メイン）の実行が再び開始され、ユーザリセットが発生した後にはステップＳ１０１５でユーザプログラムの先頭に戻り起動処理（メイン）の実行が再び開始されるのであるが、ＲＡＭ調整用データ及び破壊診断用データの両方がセットされていることから、起動処理（メイン）でＲＡＭ４１ｃが正常であると判定されて復旧処理が実行されることになる。
【０４１２】
以上説明したように、本実施例では、所定事象が発生（本実施例では、ＩＡＴ５０６ａからのＩＡＴ信号の入力、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号の入力）したことに基づいて第１リセット（システムリセット）を発生させるか第２リセット（ユーザリセット）を発生させるかを設定可能である（図１３に示すリセット設定（ＫＲＥＳ）のビット７参照）。そして、第１リセットの発生後にはセキュリティチェックを実行する一方、第２リセットの発生後にはセキュリティチェックを実行しない。そのため、スロットマシン１や遊技店の状況などに応じて所定事象が発生したときに行うリセットの種類を最適なものに設定できるので、メイン制御部４１に関するセキュリティ性を向上させることができる。
【０４１３】
尚、本実施例では、所定事象の発生として、ＩＡＴ５０６ａからのＩＡＴ信号を入力した場合と、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号を入力した場合とを示しているが、本実施例で示したものに限らず、メイン制御部４１をリセットすべき何らかのエラーなどの状況が発生したことに基づいて、所定事象が発生したとしてリセットするものであっても良い。
【０４１４】
また、本実施例では、所定事象の発生には、ウオッチドッグタイマ（ＷＤＴ）５０６ｂのタイムアウトが含まれ、ウオッチドッグタイマ（ＷＤＴ）５０６ｂを起動させるか否かを設定可能である（図１３に示すリセット設定（ＫＲＥＳ）のビット３−０に“００００”を設定する）。そして、ウオッチドッグタイマ（ＷＤＴ）５０６ｂを起動させないと設定した場合であっても、所定事象が発生したことに基づいて第１リセットを発生させるか第２リセットを発生させるかを設定可能である。具体的には、図１３に示すリセット設定（ＫＲＥＳ）において、ビット３−０に“００００”を設定していても、ビット７の設定を行うことによってリセットの種類を設定可能である。そのため、ウオッチドッグタイマ（ＷＤＴ）５０６ｂの設定にかかわらず、所定事象が発生したことに基づいて発生させるリセットの種類の設定を共通化することができる。
【０４１５】
また、本実施例では、所定事象の発生には、指定された領域以外の領域に格納されたプログラムを実行する指定領域外実行（指定エリア外走行禁止（ＩＡＴ）が含まれる。そして、メイン制御部４１は、所定の処理として所定時間毎に発生するタイマ割込処に応じて実行されるタイマ割込処理（メイン）の実行中に指定領域外実行が発生（ＩＡＴ回路５０６ａからＩＡＴ信号を入力）した場合に、ＲＡＭ４１ｃ（バックアップＲＡＭ）の記憶内容を初期化する（ＲＡＭ異常に伴う初期化１）。そのため、意図しないプログラムが実行された場合のセキュリティ性を向上させることができる。
【０４１６】
また、本実施例では、第１リセットを発生させると設定したときに、所定事象が発生して第１リセットを発生させた後、所定事象が発生したことに基づいて第１リセットを発生させるか第２リセットを発生させるかを再度設定する。具体的には、図４７（Ａ）に示すように、システムリセットが発生したときに、ステップＳ１００５が実行されて、メイン制御部４１の各種設定がハードウェア的に再度実行されることにより、システムリセットとするかユーザリセットとするかが再度設定される。そのため、異常な状態から正常な状態に確実に復旧させることができる。
【０４１７】
尚、本実施例では、具体的には、所定事象が発生（ＩＡＴ５０６ａからのＩＡＴ信号の入力、ウオッチドッグタイマ（ＷＤＴ）５０６ｂからのタイムアウト信号の入力）してシステムリセットが発生した後に、内部リセットの設定を再度設定する場合（図４７（Ａ）のステップＳ１００５参照）を示しているが、ユーザリセットが発生した場合にもステップＳ１００５と同様の処理を実行して内部リセットの設定を再度設定するようにしても良い。
【０４１８】
また、本実施例では、１６ビット乱数回路５０８ｂの数値保持手段（ハードラッチ乱数値レジスタやソフトラッチ乱数値レジスタ）が保持する数値データを更新するための乱数用クロック信号（外部クロック信号）の周波数の異常の発生と、数値保持手段が保持する数値データの更新状態とを監視可能な乱数回路監視手段（更新監視回路５３７）を備える。そのため、乱数用クロック信号の周波数の異常の発生を監視するとともに数値データの更新状態も監視できる。また、メイン制御部４１は、スロットマシン１への電源投入時にステップＳ１００１，Ｓ１０１１を実行して乱数回路５０８ａ，５０８ｂに関する設定をハードウェア的に行い、その後に、ユーザプログラムの実行中に乱数を抽出する処理を実行する。すなわち、本実施例では、乱数回路から数値データ（乱数値）を抽出するタイミングよりも前に、乱数回路の監視に関する設定が行われるように構成されているので、スロットマシン１が搭載する乱数回路（１６ビット乱数回路５０８ｂ）に関するセキュリティ性を向上させることができる。また、このようにセキュリティ性の高い乱数回路により生成された乱数を用いて内部抽選、すなわち入賞の発生を許容するか否かが決定されるので、遊技の公平性を高めることができる。
【０４１９】
また、本実施例では、メイン制御部４１が搭載する制御用ＣＰＵ（ＣＰＵ４１ａ）は、第１情報（データ格納領域の上位アドレス）と第２情報（データ格納領域の下位アドレス）とに基づいて、書き込み対象となるデータが書き込まれる領域に対応するアドレスを特定し、特定したアドレスに対応する領域に書き込み対象のデータを書き込む。この場合、書き込み対象のデータを書き込むときに、格納手段（Ｑレジスタ）に格納された特定値（図４８（ａ）の例では、固定値として格納されている「ＦＥＨ」）に基づいて第１情報を特定するとともに、制御命令で指定された第２情報（図４８（ａ）に示す例では、ＬＤＱコマンド（プログラムされている命令の１つ）で指定された「２０Ｈ」）を特定する。
【０４２０】
また、メイン制御部４１が搭載する制御用ＣＰＵ（ＣＰＵ４１ａ）は、同様に第１情報（データ格納領域の上位アドレス）と第２情報（データ格納領域の下位アドレス）とに基づいて、読み出し対象のデータが格納された領域に対応するアドレスを特定し、特定したアドレスに対応する領域から読み出し対象のデータを読み出す。この場合、読み出し対象のデータを読み出すときに、格納手段（Ｑレジスタ）に格納された特定値（図４８（ｂ）に示す例では、固定値として格納されている「Ｆ０Ｈ」）に基づいて第１情報を特定するとともに、制御命令で指定された第２情報（図４８（ｂ）に示す例では、ＬＤＱコマンド（プログラムされている命令の１つ）で指定された「２０Ｈ」）を特定する。
【０４２１】
このように、格納手段（Ｑレジスタ）を用いることにより、データの書き込みや読み出しの際に、データ格納領域のアドレスのうちの固定部分（上位アドレス）を毎回コマンドで指定する必要がなくなるので、データの書き込みまたは読み出しのために処理命令を行う際の無駄（アドレスの共通部分を指定するプログラムの無駄）を削減することができる。
【０４２２】
また、本実施例では、制御用ＣＰＵ（ＣＰＵ４１ａ）が、スロットマシン１への電力供給が開始された後、内蔵レジスタを初期化する前のタイミングで、内蔵レジスタエリアのアドレスの一部を示す値（ＦＥＨ）を特定値として格納手段（Ｑレジスタ）に格納する。このため、内蔵レジスタを初期化する際に、初期化する内蔵レジスタエリアのアドレスを指定するためのプログラムの無駄を削減することができる。
【０４２３】
また、本実施例では、制御用ＣＰＵ（ＣＰＵ４１ａ）が、内蔵レジスタの初期化の後、ＲＡＭ４１ｃへのアクセスが許可されるタイミングで、ＲＡＭ４１ｃに設けられた作業領域に対応するアドレスの一部を示す値（Ｆ０Ｈ）を特定値として格納手段（Ｑレジスタ）に格納する。このため、それ以降にＲＡＭ４１ｃに設けられた作業領域に対応するアドレスを指定するためのプログラムの無駄を削減することができる。
【０４２４】
また、本実施例では、制御用ＣＰＵ（ＣＰＵ４１ａ）が、スロットマシン１への電力供給が開始された後、内蔵レジスタを初期化する前のタイミングで、格納手段（Ｑレジスタ）に、内蔵レジスタエリアのアドレスの一部を示す値（ＦＥＨ）を特定値として設定した後、内蔵レジスタの初期化後、ＲＡＭアクセスが許可されるタイミングで、格納手段（Ｑレジスタ）に格納されている特定値を、ＲＡＭ４１ｃに設けられた作業領域に対応するアドレスの一部を示す値（Ｆ０Ｈ）に変更するようになっている。すなわち制御用ＣＰＵ（ＣＰＵ４１ａ）は、所定の変更条件が成立したときに、格納手段（Ｑレジスタ）に格納されている特定値を変更するようになっており、制御用ＣＰＵ（ＣＰＵ４１ａ）の制御状況に応じて多用するアドレスの一部を示す値に変更させることで、異なる制御状況に応じて指定される頻度の高いアドレスが異なっても、格納手段（Ｑレジスタ）を複数設けることなく、アドレスを指定するためのプログラムの無駄を削減することができる。
【０４２５】
尚、本実施例では、当初Ｑレジスタに格納されていた内蔵レジスタエリアのアドレスの一部を示す値（ＦＥＨ）を、内蔵レジスタの初期化後、ＲＡＭアクセスが許可される際に、ＲＡＭ４１ｃに設けられた作業領域に対応するアドレスの一部を示す値（Ｆ０Ｈ）に変更する構成であるが、少なくとも所定の変更条件が成立することで、格納手段（Ｑレジスタ）に格納されたアドレスの一部を示す特定値を変更可能な構成であれば、上記のように、異なる制御状況に応じて指定される頻度の高いアドレスが異なっても、格納手段（Ｑレジスタ）を複数設けることなく、アドレスを指定するためのプログラムの無駄を削減することができる。
【０４２６】
例えば、エラー状態に制御する際に、Ｑレジスタに格納されている特定値を、エラー状態において読み出される頻度の高いデータ格納領域のアドレス（例えば、エラー状態に制御するエラー処理のプログラムにおけるエラー解除待ちルーチンの先頭アドレス等）の一部を示す値に変更し、その後、エラー状態が解除されたときに、Ｑレジスタに格納されている値、すなわちエラー状態において読み出される回数の多いデータ格納領域のアドレスの一部を示す値を、ＲＡＭ４１ｃに設けられた作業領域に対応するアドレスの一部を示す値（Ｆ０Ｈ）に変更する構成としても良く、このような構成とすることで、遊技の進行が許容される通常の状態と、遊技の進行が不能化されるエラー状態と、で指定される頻度の高いアドレスが異なっても、格納手段（Ｑレジスタ）を複数設けることなく、アドレスを指定するためのプログラムの無駄を削減することができる。
【０４２７】
また、設定変更状態や設定確認状態に制御する際に、Ｑレジスタに格納されている特定値を、エラー状態において読み出される頻度の高いデータ格納領域のアドレス（例えば、設定変更状態に制御する設定変更処理のプログラムにおける変更操作待ちルーチンの先頭アドレスや設定確定待ちルーチンの先頭アドレス、設定確認状態に制御する設定確認処理のプログラムにおける確認終了待ちのルーチンの先頭アドレス等）の一部を示す値に変更し、その後、設定変更状態や設定確認状態が終了し、遊技の進行が許容される通常の状態に移行したときに、Ｑレジスタに格納されている値、すなわちエラー状態において読み出される回数の多いデータ格納領域のアドレスの一部を示す値を、ＲＡＭ４１ｃに設けられた作業領域に対応するアドレスの一部を示す値（Ｆ０Ｈ）に変更する構成としても良く、このような構成とすることで、設定変更状態や設定確認状態と、その後移行する遊技の進行が許容される通常の状態と、で指定される頻度の高いアドレスが異なっても、格納手段（Ｑレジスタ）を複数設けることなく、アドレスを指定するためのプログラムの無駄を削減することができる。
【０４２８】
また、本実施例では、特定値の格納の仕方として、（１）特定値を格納手段に格納する処理と、（２）常に格納手段に特定値が格納されている状態としている構成との両方を備える場合を示している。具体的には、本実施例では、ユーザプログラムの実行が開始され起動処理（メイン）が開始されたときに、ユーザプログラムによりＱレジスタに初期値ＦＥＨを設定する処理が実行される構成とすることもできるし、システムリセット時にハードウェア的に初期化されてＱレジスタｎ値が初期値ＦＥＨに自動設定される構成とすることもできる。例えば、スロットマシン１に対して電源が投入され電力供給が開始されたときに、Ｑレジスタの下位１ビットは０に初期化されるとともに、上位７ビットは反転回路で反転されて全て値１となることによって、Ｑレジスタの初期値としてＦＥＨが自動設定される。
【０４２９】
また、本実施例において、スロットマシン１が搭載するメイン制御部４１において制御命令として使用可能なコマンドには、所定のルールに従ってあるレジスタのデータと他の２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータとの入れ替えを実行可能なＲＬＤコマンドやＲＲＤコマンド（ともにプログラムされている命令の１つである）がある。例えば、ＲＬＤコマンドを用いてレジスタＡのデータと２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータとの入れ替えを実行した場合、レジスタＡの上位４ビットのデータはそのままで、レジスタＡの下位４ビットのデータを２バイトのレジスタで指定されたアドレスの下位４ビットに移し、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータの下位４ビットを２バイトのレジスタで指定されたアドレスの上位４ビットに移し、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータの上位４ビットをレジスタＡの下位４ビットに移すことが可能である。そして、この場合に、例えば、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータとして書き込み不能な領域のデータ（例えば、ＲＯＭエリアのデータ）を指定すれば、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータをそのままにして、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータの上位４ビットをレジスタＡの下位４ビットに反映させる動作のみを実行させることもできる。
【０４３０】
また、例えば、ＲＲＤコマンドを用いてレジスタＡのデータと２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータとの入れ替えを実行した場合、レジスタＡの上位４ビットのデータはそのままで、レジスタＡの下位４ビットのデータを２バイトのレジスタで指定されたアドレスの上位４ビットに移し、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータの上位４ビットを２バイトのレジスタで指定されたアドレスの下位４ビットに移し、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータの下位４ビットをレジスタＡの下位４ビットに移すことが可能である。そして、この場合に、例えば、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータとして書き込み不能な領域のデータ（例えば、ＲＯＭエリアのデータ）を指定すれば、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータのデータをそのままにして、２バイトのレジスタで指定されたアドレスに格納（記憶）されたデータの下位４ビットをレジスタＡの下位４ビットに反映させる動作のみを実行させることもできる。
【０４３１】
本実施例においてメイン制御部４１は、ゲームを進行させるための操作が有効化されるタイミングを遅延させることにより、所定期間にわたりゲームを進行させるための操作が無効化されるフリーズ状態に制御するか否かを決定するフリーズ抽選を行い、フリーズ抽選に当選することで、上記のフリーズ状態に制御する。
【０４３２】
本実施例では、乱数回路５０８ｂのチャネルＲＬ１により生成された乱数値を用いてフリーズ抽選の結果が判定される。
【０４３３】
尚、既に、図２４で説明したように、ＲＬ０ハードラッチ選択レジスタ１（ＲＬ０ＬＳ１）のビット６−４の設定内容によりいずれかの端子からの信号（ラッチ信号）に基づいて、乱数回路５０８ｂのチャネルＲＬ１のＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に乱数値をラッチさせるかが設定されている。また、本実施例では、その設定された端子には、スタートスイッチ７からの検出信号がラッチ信号として入力されるようになっており、スタートスイッチ７が操作されたタイミングで乱数回路５０８ｂのチャネルＲＬ１におけるＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）に乱数値をラッチできるように構成されているが、操作手段からの検出信号によるタイミングで乱数回路５０８ｂのチャネルＲＬ１により生成された乱数値がラッチされるものに限らず、所定のタイミングで乱数回路５０８ｂのチャネルＲＬ１に対応する乱数ソフトラッチレジスタ（ＲＤＳＬ）のビット１（ＲＬ１ＳＬ）に“１”をセットすることでプログラムにて乱数回路５０８ｂのチャネルＲＬ１におけるＲＬ１ソフトラッチ乱数値レジスタ（ＲＬ１ＳＶ）に乱数値をラッチさせてフリーズ抽選の結果判定に用いるようにしても良い。
【０４３４】
このように本実施例では、フリーズ抽選の結果に応じてフリーズ状態に制御されるようになっている。そして、フリーズ抽選にメイン制御部４１が搭載する乱数回路５０８ｂが生成した乱数を利用しているが、乱数回路５０８ｂは、それぞれ別個の乱数を生成するチャネルＲＬ０〜ＲＬ３の４回路を備えており、フリーズ抽選では、乱数回路５０８ｂが生成する乱数のうち内部抽選に用いるチャネルＲＬ０にて生成される乱数とは別のチャネルＲＬ１にて生成される乱数が用いられるので、内部抽選が用いる乱数と、フリーズ抽選が用いる乱数と、が同期してしまうことを防止できる。
【０４３５】
尚、本実施例では、１６ビット乱数回路５０８ｂの異なるチャネル（チャネル０とチャネル１）からそれぞれ乱数値を抽出することにより、内部抽選を行う場合と、フリーズ抽選を行う場合と、で乱数を抽出する乱数値を異ならせる場合を示したが、本実施例で示した態様に限られない。例えば、１６ビット乱数回路５０８ｂの同じチャネルであっても、その同じチャネルで用いる異なるハードラッチ乱数値レジスタから（例えば、同じチャネル０のＲＬ０ハードラッチ乱数値レジスタ０（ＲＬ０ＨＶ０）とＲＬ０ハードラッチ乱数値レジスタ１（ＲＬ０ＨＶ１）とから）乱数値を抽出することにより、抽出する乱数値レジスタを異ならせても良い。
【０４３６】
また、本実施例では、フリーズ抽選が用いる乱数として、１６ビット乱数回路５０８ｂが生成した乱数を利用しているが８ビット乱数回路５０８ａが生成した乱数を利用しても良い。
【０４３７】
また、本実施例では、フリーズ抽選が用いる乱数として、乱数回路５０８ｂが生成した乱数を利用しているが、フリーズ抽選が用いる乱数としてプログラムによって更新されるソフト乱数を用いても良い。
【０４３８】
また、本実施例では、フリーズ状態に制御するか否かを決定するフリーズ抽選に用いる乱数として乱数回路５０８ｂが生成した乱数を利用する構成であるが、遊技者にとっての有利度を決定する抽選や遊技者にとって有利な特典を付与するか否かを決定する抽選に用いる乱数として乱数回路５０８ｂが生成した乱数を利用する構成としても良い。
【０４３９】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０４４０】
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例ついて説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル１枚分を遊技球５個分に対応させることができ、前記実施例１で賭数として３を設定する場合は、１５個の遊技球を用いて賭数を設定するものに相当する。
【０４４１】
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか１種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
【０４４２】
前記実施例では、可変表示装置として外周に複数種の図柄が配列されたリールを回転させることにより図柄が透視窓３に連続的に変化しつつ表示される構成であるが、リールに替えて外周に複数種の図柄が配列されたベルトを移動させることにより図柄が透視窓３に連続的に変化しつつ表示される可変表示装置を適用しても良い。さらに液晶表示器などの画像表示装置に、図柄画像などの識別情報を所定の順番で周期的に移動させる画像を表示させることで表示画面上に識別情報が連続的に変化しつつ表示される可変表示装置を適用しても良い。
【符号の説明】
【０４４３】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
６  ＭＡＸＢＥＴスイッチ
７  スタートスイッチ
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４１  メイン制御部
９１  サブ制御部
５０８ｂ  乱数回路
５２５ｂ  乱数生成回路
５３７  更新監視回路
【図１】
2014176403.tif 000003
【図２】
2014176403.tif 000004
【図３】
2014176403.tif 000005
【図４】
2014176403.tif 000006
【図５】
2014176403.tif 000007
【図６】
2014176403.tif 000008
【図７】
2014176403.tif 000009
【図８】
2014176403.tif 000010
【図９】
2014176403.tif 000011
【図１０】
2014176403.tif 000012
【図１１】
2014176403.tif 000013
【図１２】
2014176403.tif 000014
【図１３】
2014176403.tif 000015
【図１４】
2014176403.tif 000016
【図１５】
2014176403.tif 000017
【図１６】
2014176403.tif 000018
【図１７】
2014176403.tif 000019
【図１８】
2014176403.tif 000020
【図１９】
2014176403.tif 000021
【図２０】
2014176403.tif 000022
【図２１】
2014176403.tif 000023
【図２２】
2014176403.tif 000024
【図２３】
2014176403.tif 000025
【図２４】
2014176403.tif 000026
【図２５】
2014176403.tif 000027
【図２６】
2014176403.tif 000028
【図２７】
2014176403.tif 000029
【図２８】
2014176403.tif 000030
【図２９】
2014176403.tif 000031
【図３０】
2014176403.tif 000032
【図３１】
2014176403.tif 000033
【図３２】
2014176403.tif 000034
【図３３】
2014176403.tif 000035
【図３４】
2014176403.tif 000036
【図３５】
2014176403.tif 000037
【図３６】
2014176403.tif 000038
【図３７】
2014176403.tif 000039
【図３８】
2014176403.tif 000040
【図３９】
2014176403.tif 000041
【図４０】
2014176403.tif 000042
【図４１】
2014176403.tif 000043
【図４２】
2014176403.tif 000044
【図４３】
2014176403.tif 000045
【図４４】
2014176403.tif 000046
【図４５】
2014176403.tif 000047
【図４６】
2014176403.tif 000048
【図４７】
2014176403.tif 000049
【図４８】
2014176403.tif 000050
【図４９】
2014176403.tif 000051
【図５０】
2014176403.tif 000052
【図５１】
2014176403.tif 000053
【図５２】
2014176403.tif 000054
【図５３】
2014176403.tif 000055