(57)【特許請求の範囲】
【請求項１】
所定の始動条件の成立により遊技を実行し、該遊技が特別な結果となる場合に遊技者に特典を付与する特別遊技状態を発生させる遊技制御を行う遊技制御装置を備えた遊技機において、
前記遊技制御装置には、
遊技制御プログラムにより所要の演算処理を行う演算処理手段と、
前記演算処理を行う際に値が記憶されるレジスタと、
前記演算処理手段によって更新される情報が記憶され、当該遊技機への電源供給が停止しても前記記憶された情報の記憶保持が可能な更新情報記憶手段と、
前記遊技制御プログラムを記憶する遊技制御プログラム記憶手段と、
を備え、
前記更新情報記憶手段には、複数バイトのアドレスが割り当てられ、該アドレスにより該更新情報記憶手段に記憶される情報が特定されるように構成されるとともに、
前記更新情報記憶手段には、前記遊技制御プログラムの実行に必要なスタック領域が含まれ、
前記レジスタには、前記アドレスのうちの上位のアドレスを指定可能な上位アドレス指定レジスタが含まれるとともに、
所定の起動信号が発生すると、前記演算処理手段が前記遊技制御プログラムのリセットアドレスに設定された命令を実行する前に、前記上位アドレス指定レジスタとスタックポインタに各々固有のアドレス値が記憶されることを特徴とする遊技機。
【請求項２】
前記遊技制御装置は、
前記更新情報記憶手段に記憶された情報の更新を規制する更新規制手段を備え、
所定の起動信号が発生すると、前記演算処理手段が前記遊技制御プログラムのリセットアドレスに設定された命令を実行する前に、
前記上位アドレス指定レジスタには、前記更新情報記憶手段に割り当てられた先頭アドレスの上位アドレス値が記憶される一方で、
前記スタックポインタには、前記スタック領域の最終を示すアドレスが、上位アドレス値と下位アドレス値を含んで記憶され、
前記上位アドレス指定レジスタに記憶される上位アドレス値と、前記スタックポインタに記憶される上位アドレス値は、互いに異なる値であることを特徴とする請求項１に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レジスタを備えたプロセッサによって制御を行う遊技機に関する。
【背景技術】
【０００２】
従来よりもプログラムコードを削減し、記憶手段の記憶容量を削減するために、ＣＰＵからＩ／Ｏ空間を介してアクセス可能な第１の記憶領域を少なくとも有する記憶手段を備える遊技機が知られている（例えば、特許文献１）。この特許文献１の遊技機では、特許文献１の段落［０１３７］〜［０１４２］に記載があるように、ＬＤ命令、ＩＮ命令、ＯＵＴ命令を適宜使い分けることで、プログラム全体のステート数やプログラムコード量を削減している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８３５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術では、特許文献１の図１３に記載があるように、指定したＲＡＭ領域からレジスタにデータを格納するＬＤ命令や、逆に、レジスタから指定したＲＡＭ領域にデータを格納するＬＤ命令が用いられている。
【０００５】
具体的には、ＲＡＭ領域の２８１０Ｈ番地のデータをＡレジスタに格納するための「ＬＤ  Ａ，（２８１０Ｈ）」、ＡレジスタのデータをＲＡＭ領域の２８１０Ｈ番地に格納するための「ＬＤ  （２８１０Ｈ），Ａ」、ＲＡＭ領域の２８１０Ｈ番地のデータをＨＬレジスタに格納するための「ＬＤ  ＨＬ，（２８１０Ｈ）」、ＨＬレジスタのデータをＲＡＭ領域の２８１０Ｈ番地に格納するための「ＬＤ  （２８１０Ｈ），ＨＬ」などが該当する。
【０００６】
これらの命令は、図１３にも記載があるが、３バイトのプログラムコード量を要する命令である。なお、プログラムコードとは、任意の命令を、命令コード部（オペコード部）とアドレス部（オペランド部）との組み合せを用いて所定バイト数の数値で表現したものである。
【０００７】
命令コード部は、命令同士を識別するために必要なコードであり、例えば、「ＬＤ  Ａ，（２８１０Ｈ）」のような、指定されたＲＡＭ領域のデータをＡレジスタに格納するためのＬＤ命令であれば、「３ＡＨ」などの１バイトの値が割り当てられている。一方、アドレス部はＲＡＭ領域のアドレスを指定するためのコードであり、例えば、２８１０Ｈ番地へのアクセスを指定する場合は、「２８Ｈ」「１０Ｈ」という２バイトの値がプログラムにて設定される。
【０００８】
このようなＬＤ命令は、遊技プログラムにて頻繁に使用されるものであるから、プログラム全体のコード量を削減するためには、命令をできるだけ少ないバイト数で表現できることが好ましいのは言うまでもない。しかしながら、ＲＡＭ領域のアドレスを指定する際には、アドレス部に少なくとも２バイトのコードを割り当てる必要がある上に、命令同士を識別するための命令コード部のコードが少なくとも１バイト必要となるため、このようなＬＤ命令を表現するためのプログラムコードは、２バイト以下に削減することは不可能である。
【０００９】
本発明は、上記のような問題点を解決するためになされたもので、効率良く遊技制御プログラムを作成することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の代表的な一形態では、所定の始動条件の成立により遊技を実行し、該遊技が特別な結果となる場合に遊技者に特典を付与する特別遊技状態を発生させる遊技制御を行う遊技制御装置を備えた遊技機において、前記遊技制御装置には、遊技制御プログラムにより所要の演算処理を行う演算処理手段と、前記演算処理を行う際に値が記憶されるレジスタと、前記演算処理手段によって更新される情報が記憶され、当該遊技機への電源供給が停止しても前記記憶された情報の記憶保持が可能な更新情報記憶手段と、前記遊技制御プログラムを記憶する遊技制御プログラム記憶手段と、を備え、前記更新情報記憶手段には、複数バイトのアドレスが割り当てられ、該アドレスにより該更新情報記憶手段に記憶される情報が特定されるように構成されるとともに、前記更新情報記憶手段には、前記遊技制御プログラムの実行に必要なスタック領域が含まれ、前記レジスタには、前記アドレスのうちの上位のアドレスを指定可能な上位アドレス指定レジスタが含まれるとともに、所定の起動信号が発生すると、前記演算処理手段が前記遊技制御プログラムのリセットアドレスに設定された命令を実行する前に、前記上位アドレス指定レジスタとスタックポインタに各々固有のアドレス値が記憶される。
【発明の効果】
【００１１】
本発明の一形態によれば、効率良く遊技制御プログラムを作成することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施の形態の遊技装置の構成を説明する図である。
【図２】本発明の第１の実施の形態の遊技機の背面図である。
【図３】本発明の第１の実施の形態の遊技盤の正面図である。
【図４】本発明の第１の実施の形態の遊技装置のブロック図である。
【図５】本発明の第１の実施の形態の遊技用演算処理装置（アミューズチップ）のブロック図である。
【図６】本発明の第１の実施の形態の遊技制御装置におけるシリアル送信回路の構成例を示すブロック図である。
【図７】本発明の第１の実施の形態の送信シリアルチャンネル設定レジスタの構成例を示す図である。
【図８】本発明の第１の実施の形態の送信制御レジスタの構成例を示す図である。
【図９】本発明の第１の実施の形態の送信データステータスレジスタの構成例を示す図である。
【図１０】本発明の第１の実施の形態の送信データレジスタ（１段分）の構成例を示す図である。
【図１１】本発明の第１の実施の形態の遊技制御装置に備わる遊技用演算処理装置（アミューズチップ）とその周辺のブロック図である。
【図１２】本発明の第１の実施の形態のＣＰＵコアの内部構成を説明するブロック図である。
【図１３】本発明の第１の実施の形態のフラグレジスタの構成を説明する図である。
【図１４】本発明の第１の実施の形態のユーザワークＲＡＭの一例を示す図である。
【図１５】本発明の第１の実施の形態のユーザワークＲＡＭに割り当てられたワークエリアに格納されるデータの具体例を説明する図であり、保留カウンタ、各種乱数の生成領域及び普図乱数の保存領域を示す図である。
【図１６】本発明の第１の実施の形態のユーザワークＲＡＭに割り当てられたワークエリアに格納されるデータの具体例を説明する図であり、第１特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す図である。
【図１７】本発明の第１の実施の形態のユーザワークＲＡＭに割り当てられたワークエリアに格納されるデータの具体例を説明する図であり、第２特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す図である。
【図１８】本発明の第１の実施の形態のスタック領域の一例を示す図である。
【図１９】本発明の第１の実施の形態のスタック領域の一例を示す図である。
【図２０】本発明の第１の実施の形態のスタック領域の変形例を示す図である。
【図２１】本発明の第１の実施の形態のＣＰＵコアによって実行される遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図であり、変換後のコードデータにアドレス部を含まない命令（変換後のコードデータが命令コード部のみで構成される命令）を示す図である。
【図２２】本発明の第１の実施の形態のＣＰＵコアによって実行される遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図であり、変換後のコードデータに命令コード部とアドレス部の各々を含む命令を示す図である。
【図２３】本発明の第１の実施の形態の各装置（遊技制御装置、払出制御装置、及び演出制御装置）の電源投入時処理のフローチャートである。
【図２４】本発明の第１の実施の形態の遊技制御装置プログラム開始準備処理を説明するフローチャートである。
【図２５】本発明の第１の実施の形態の遊技制御装置メイン処理の前半部のフローチャートである。
【図２６】本発明の第１の実施の形態の遊技制御装置メイン処理の後半部のフローチャートである。
【図２７】本発明の第１の実施の形態の遊技制御装置メイン処理におけるステップ２５０１からステップ２５０２Ｂまでの処理を説明する図である。
【図２８】本発明の第１の実施の形態のディレイ処理を説明する図である。
【図２９】本発明の第１の実施の形態のタイマ割込処理を示すフローチャートである。
【図３０】本発明の第１の実施の形態の遊技制御装置から、演出制御装置及び払出制御装置に初期化指令信号を送信する初期化指令送信処理の手順を示すフローチャートである。
【図３１】本発明の第１の実施の形態の遊技制御装置から、演出制御装置及び払出制御装置にコマンドを送信するためのコマンド送信処理の手順を示すフローチャートである。
【図３２】本発明の第１の実施の形態の電源投入時の遊技制御装置、払出制御装置、及び演出制御装置が行う処理、並びに、遊技制御装置に備わるシリアル送信回路の状態のタイミングチャートである。
【図３３】本発明の第１の実施の形態の遊技制御装置から払出制御装置に送信される排出指令の一例を示す図である。
【図３４】本発明の第１の実施の形態のスイッチの立ち上がりを検出する手順を示すタイムチャートである。
【図３５】本発明の第１の実施の形態の遊技制御装置から演出制御装置に送信される演出制御コマンドの一例を示す図である。
【図３６】本発明の第１の実施の形態の遊技制御装置から演出制御装置に送信される送信データの構成を示す説明図であり、（ａ）は送信データの概略構成を示し、（ｂ）は送信データの詳細構成を示している。
【図３７】本発明の第１の実施の形態の特図ゲーム処理の手順を示すフローチャートである。
【図３８】本発明の第１の実施の形態の特図ゲーム処理におけるゲーム処理番号に基づいた分岐の処理を説明する図である。
【図３９】本発明の第１の実施の形態の始動口ＳＷ監視処理の手順を示すフローチャートである。
【図４０】本発明の第１の実施の形態の特図始動口ＳＷ共通処理の手順を示すフローチャートである。
【図４１】本発明の第１の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。
【図４２】本発明の第１の実施の形態の特図大当り判定処理の手順を示すフローチャートである。
【図４３】本発明の第１の実施の形態の後半変動パターンテーブルである。
【図４４】本発明の第１の実施の形態の前半変動パターンテーブルである。
【図４５】本発明の第１の実施の形態の特図普段処理の手順を示すフローチャートである。
【図４６】本発明の第１の実施の形態の特図１／特図２変動開始処理の手順を示すフローチャートである。
【図４７】本発明の第１の実施の形態における始動記憶をシフトさせる処理のプログラムの一例を示す図であり、Ｋレジスタを利用して記憶容量を削減したプログラムである。
【図４８】本発明の第１の実施の形態における始動記憶をシフトさせる処理のプログラムの一例を示す図であり、従来のプログラムである。
【図４９】本発明の第１の実施の形態の変動表示ゲームにおける画面遷移を説明する図である。
【図５０】本発明の第１の実施の形態の変動表示ゲームにおける画面遷移を説明する図である。
【図５１】本発明の第１の実施の形態の変形例のユーザワークＲＡＭの一例を示す図である。
【図５２】本発明の第２の実施の形態の特図変動表示ゲームを実行するために必要な各種乱数の保留１から４までの保存領域を示す図である。
【図５３】本発明の第２の実施の形態の特図変動表示ゲームを実行するために必要な各種乱数の保留５から８までの保存領域を示す図である。
【図５４】本発明の第２の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。
【図５５】本発明の第２の実施の形態の特図普段処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１４】
なお、以下の実施の形態の説明における前後左右とは、遊技者から見た、つまり遊技盤（遊技機）に向かって見た方向を指すものとする。
【００１５】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の遊技装置６の構成を説明する図である。
【００１６】
遊技装置６は、有価価値を記憶する記憶媒体が挿入されるカードユニット７０及び実際に遊技を行い、遊技媒体を払出可能な遊技機１を備える。
【００１７】
まず、遊技機１について説明する。
【００１８】
遊技機１の前面枠３は、本体枠（外枠）２にヒンジ４によって開閉回動可能に組み付けられる。遊技盤５（図３参照）は前面枠３の表側に形成された収納部（図示省略）に収装される。また、前面枠３には、遊技盤５の前面を覆うカバーガラス（透明部材）を備えたガラス枠１８が取り付けられている。
【００１９】
ガラス枠１８のカバーガラスの周囲には、装飾光が発光される装飾部材９が備えられている。この装飾部材９の内部にはランプやＬＥＤ等からなる装飾装置が備えられている。この装飾装置を所定の発光態様によって発光させることによって、装飾部材９が所定の発光態様で発光する。
【００２０】
ガラス枠１８の左右には、音響（例えば、効果音）を発するスピーカ３０が備えられている。また、ガラス枠１８の上方には照明ユニット１０が備えられている。照明ユニット１０の内部には、装飾装置が備えられている。
【００２１】
照明ユニット１０の右側には、遊技機１のエラー発生や前面枠３の開放をホール店員に通知するためのエラー報知ＬＥＤ２９が備えられている。
【００２２】
前面枠３の下部の開閉パネル２０には図示しない打球発射装置に遊技球を供給する上皿２１が備えられている。さらに、固定パネル２２には灰皿１５、下皿２３及び打球発射装置の操作部２４等が備えられている。下皿２３には、下皿２３に貯まった遊技球を排出するための下皿球抜き機構１６が備えられる。前面枠３下部右側には、ガラス枠１８を施錠するための鍵２５が備えられている。
【００２３】
また、遊技者が操作部２４を回動操作することによって、打球発射装置は、上皿２１から供給される遊技球を発射する。
【００２４】
また、上皿２１の上縁部には、遊技者からの操作入力を受け付けるためのセレクトスイッチ４０及び操作スイッチ４１が備えられている。
【００２５】
遊技者がセレクトスイッチ４０を操作することによって、表示装置８（図３参照）における変動表示ゲームの演出内容を選択することができる。また、遊技者が操作スイッチ４１を操作することによって、表示装置８における変動表示ゲームに、遊技者の操作を介入させた演出を行うことができる。
【００２６】
上皿２１の右上部には、遊技者が遊技媒体を借りる場合に操作する球貸ボタン２６、及び、カードユニット７０からプリペイドカードを排出させるために操作される排出ボタン２７が設けられている。これらのボタン２６、２７の間には、プリペイドカードの残高を表示する残高表示部２８が設けられる。
【００２７】
次に、カードユニット７０について説明する。
【００２８】
カードユニット７０の下部には、プリペイドカード又は会員カード等のカードを挿入可能なカード挿入口７１が設けられる。
【００２９】
プリペイドカード又は会員カード等のカードには、当該カードの一意な識別子、当該カードの所有者（遊技者）の会員情報、及び残高等が記憶されている。会員情報には、カードの所有者の住所、氏名、年齢、及び職業等が含まれる。
【００３０】
カード挿入口７１にプリペイドカード又は会員カード等のカードが挿入された場合、図示しないカードリーダ・ライタによって、カードに記憶された情報が読み出される。そして、当該カードに記憶された残高が、遊技機１の残高表示部２８及びカードユニット７０の中央付近に設けられた残高表示部７２に表示される。
【００３１】
残高表示部７２の上方には、紙幣を挿入可能な紙幣挿入口７３が設けられる。紙幣挿入口７３に挿入された紙幣の有価価値は、カードに残高として記憶される。
【００３２】
紙幣挿入口７３の上方には、動作表示部７４が設けられる。動作表示部７４は、カードユニット７０の動作に対応して色で点灯する。
【００３３】
次に、図２を参照しながら遊技機１の裏面側について説明する。図２は、本発明の第１の実施の形態の遊技機１の背面図である。
【００３４】
遊技機１の裏面側、具体的には、前面枠３の裏面側には、中央に略正方形状の開口部を有する枠状の裏機構盤３１０が取り付けられる。
【００３５】
裏機構盤３１０の上部には、島設備に設けられた補給装置（図示省略）から補給された遊技球を貯留すると共に、貯留した遊技球を流下させる球貯留ユニット３２０が配設される。
【００３６】
裏機構盤３１０の側部（図２中右側）には、球貯留ユニット３２０から流下してきた遊技球を、遊技機前面に配設された上皿２１及び下皿２３に払い出す球排出ユニット３３０が配設される。
【００３７】
裏機構盤３１０の中央部には、遊技を統括的に制御する遊技制御装置１００と、遊技制御装置１００から送信される演出制御指令に基づいて変動表示ゲームの演出を制御する演出制御装置１５０とが配設される。
【００３８】
遊技制御装置１００には、図示しない検査装置に接続される検査装置接続端子１０７が配設される。
【００３９】
裏機構盤３１０の下部には、遊技制御装置１００から送信されるデータに基づいて球排出ユニット３３０の動作を制御し、遊技者に賞球を付与する払出制御装置（付与制御装置）２１０と、電源装置１６０とが配設される。
【００４０】
払出制御装置２１０には、図示しない検査装置に接続される検査装置接続端子２１７及び払出制御装置２１０に発生したエラーの種類を数字で表示するエラーナンバー表示器２２２が配設される。
【００４１】
また、電源装置１６０の右側の裏機構盤３１０には、遊技機１をカードユニット７０に接続するためのカードユニット接続端子３４０が配設される。
【００４２】
次に、遊技盤５について、図３を参照しながら説明する。図３は、本発明の第１の実施の形態の遊技盤５の正面図である。
【００４３】
遊技盤５の表面には、ガイドレール５５で囲われた略円形状の遊技領域５１が形成される。遊技領域５１は、遊技盤５の四方に各々設けられた樹脂製のサイドケース５２及びガイドレール５５によって構成される。遊技領域５１の右下側のサイドケース５２は、前面の中央部が黒色透明の証紙プレート５３で覆われている。
【００４４】
遊技領域５１には、ほぼ中央に表示装置８が設けられるセンターケース３００が配置される。表示装置８はセンターケース３００に設けられた凹部に、センターケース３００の前面より奥まった位置に取り付けられている。すなわち、センターケース３００は表示装置８の表示領域の周囲を囲い、表示装置８の表示領域から突出して設けられている。
【００４５】
また、遊技領域５１の右下の領域には、図４で後述する特図表示器１２０及び普図表示器１２１を一体化した、図柄表示ユニット４５が備えられる。
【００４６】
表示装置８は、例えば、ＬＣＤ（液晶表示器）、ＣＲＴ（ブラウン管）等で表示画面が構成されている。表示画面の画像を表示可能な領域（表示領域）には、複数の変動表示領域が設けられており、各変動表示領域に識別情報（特別図柄）や特図（特別図柄）変動表示ゲームを演出するキャラクタが表示される。表示画面の変動表示領域には、識別情報として割り当てられた三つの特別図柄が変動表示（可変表示）して特図変動表示ゲームが行われる。その他、表示画面には遊技の進行に基づく画像（例えば、大当り表示、ファンファーレ表示、エンディング表示等）が表示される。
【００４７】
センターケース３００の左側には、普通図柄始動ゲート３１が設けられる。センターケース３００の左下側には、三つの一般入賞口３２が備えられ、センターケース３００の右下側には、一つの一般入賞口３２が備えられている。
【００４８】
センターケース３００の下方には、第１始動入賞口３７と、第１始動入賞口３７の直下に配設され、上部に逆「ハ」の字状に開いて遊技球が流入し易い状態に変換する一対の開閉部材を含む普通変動入賞装置３３を備える第２始動入賞口３４とが配置される。そして、遊技球が第１始動入賞口３７又は第２始動入賞口３４に入賞した場合には、補助遊技として特図変動表示ゲームが実行される。すなわち、第１始動入賞口３７又は第２始動入賞口３４に遊技球が入賞することが特図変動表示ゲームを開始するための始動条件となっており、第１始動入賞口３７及び第２始動入賞口３４が当該始動条件を発生させる変動始動入賞装置をなしている。なお、第１始動入賞口３７に遊技球が入賞したことによって実行される特図変動表示ゲームを第１特図変動表示ゲームとし、第２始動入賞口３４に遊技球が入賞したことによって実行される特図変動表示ゲームを第２特図変動表示ゲームとする。
【００４９】
また、センターケース３００に設けられた始動入賞口の下方には、表示装置８の作動結果（特図変動表示ゲームの結果）によって遊技球を受け入れない状態と受け入れ易い状態とに変換可能な特別変動入賞装置（大入賞口）３６が配設される。
【００５０】
遊技機１では、図示しない発射装置から遊技領域５１に向けて遊技球（パチンコ球）が打ち出されることによって遊技が行われる。打ち出された遊技球は、遊技領域５１内の各所に配置された釘や風車等の方向転換部材によって転動方向を変えながら遊技領域５１を流下する。そして、普通図柄始動ゲート３１、一般入賞口３２、第１始動入賞口３７、第２始動入賞口３４、又は特別変動入賞装置３６に入賞するか、遊技領域５１の最下部に設けられたアウト口３９から排出される。
【００５１】
また、第２始動入賞口３４の状態には、普通変動入賞装置３３の開閉によって、遊技球が入賞しやすい状態（入賞容易状態）と遊技球が入賞しにくい状態（非入賞容易状態）とがある。
【００５２】
通常、普通変動入賞装置３３が閉状態の場合には、第２始動入賞口３４は、遊技球が入賞しにくい状態となる。普通図柄始動ゲート３１を遊技球が通過することによって、普図変動表示ゲームが実行され、普図変動表示ゲームの結果が当りとなると、普通変動入賞装置３３が開状態に変換され、第２始動入賞口３４は遊技球が入賞し易い状態となる。
【００５３】
一般入賞口３２への遊技球の入賞は、一般入賞口３２に備えられた入賞口ＳＷ（スイッチ）３２Ａ〜３２Ｎ（図４参照）によって検出される。
【００５４】
第１始動入賞口３７への遊技球の入賞は第１特図始動ＳＷ（スイッチ）３７Ａ（図４参照）によって検出される。この遊技球の通過タイミングによって抽出された各種乱数は、遊技制御装置１００内の特図１始動記憶領域に特別図柄入賞記憶として所定回数（例えば、最大で４回分）を限度に記憶される。
【００５５】
また、第２始動入賞口３４への遊技球の入賞は第２特図始動ＳＷ（スイッチ）３４Ａ（図４参照）によって検出される。この遊技球の通過タイミングによって抽出された各種乱数は、遊技制御装置１００内の特図２始動記憶領域に特別図柄入賞記憶として所定回数（例えば、最大で４回分）を限度に記憶される。
【００５６】
遊技制御装置１００は、これらの特別図柄入賞記憶に基づき、図柄表示ユニット４５を形成する特図表示器１２０（図４参照）にて、第１特図動表示ゲーム及び第２特図動表示ゲームを行う。
【００５７】
ここで特図表示器１２０について説明する。特図表示器１２０は、図示しない第１特図図柄表示部、第１特図入賞記憶数表示部、第２特図図柄表示部、及び第２特図入賞記憶数表示部を有する。
【００５８】
そして、遊技球が第１始動入賞口３７に入賞して特別図柄入賞記憶が発生すると、第１特図入賞記憶数表示部に特別図柄入賞記憶の記憶数が表示され、第１特図図柄表示部にて第１特図変動表示ゲームが実行される。同様に、遊技球が第２始動入賞口３４に入賞して特別図柄入賞記憶が発生すると、第２特図入賞記憶数表示部に特別図柄入賞記憶の記憶数が表示され、第２特図図柄表示部にて第２特図変動表示ゲームが実行される。
【００５９】
なお、第１始動入賞口３７への入賞が所定のタイミングでなされたとき（具体的には、入賞検出時の当り乱数値が当り値であるとき）には、第１特図変動表示ゲームの結果として表示図柄により特別結果態様が導出される。具体的には、第１図柄表示部にて、対応する特定の図柄（例えば、「１」〜「９」までのいずれかの数字等）が停止表示される。なお、第１特図変動表示ゲームがはずれの場合には、第１特図図柄表示部にて、はずれに対応する図柄（例えば「０」等）が停止表示される。
【００６０】
同様に、第２始動入賞口３４への入賞が所定のタイミングでなされたとき（具体的には、入賞検出時の当り乱数値が当り値であるとき）には、第２特図変動表示ゲームの結果として表示図柄により特別結果態様が導出される。具体的には、第２特図図柄表示部にて、対応する特定の図柄（例えば、「１」〜「９」までのいずれかの数字等）が停止表示される。なお、第２特図変動表示ゲームがはずれの場合には、第２特図図柄表示部にて、はずれに対応する図柄（例えば「０」等）が停止表示される。
【００６１】
そして、第１特図変動表示ゲームの結果として特別結果態様が導出された場合、或いは、第２特図変動表示ゲームの結果として特別結果態様が導出された場合には、大当り状態（特別遊技状態）が発生する。このとき、特別変動入賞装置３６は、大入賞口ソレノイド３８（図４参照）への通電によって、所定の時間（例えば、３０秒）だけ、遊技球を受け入れない閉状態から遊技球を受け入れやすい開状態に変換される。すなわち、特別変動入賞装置３６が所定の時間又は所定数の遊技球が入賞するまで大きく開くので、この間遊技者は多くの遊技球を獲得することができるという特典が付与される。
【００６２】
なお、表示装置８においても、図柄表示ユニット４５の特図表示器１２０で実行される第１特図変動表示ゲームと第２特図変動表示ゲームに同期して、飾り特図変動表示ゲームが実行される。このとき、前述した数字等で構成される特別図柄（識別情報）が左（第一特別図柄）、右（第二特別図柄）、中（第三特別図柄）の順に変動表示を開始して、飾り特図変動表示ゲームに関する画像が表示される。
【００６３】
第１特図変動表示ゲーム若しくは第２特図変動表示ゲームが特別結果態様を導出する場合は、表示装置８でも特定態様の図柄が導出されて停止表示する。具体的には、表示装置８では、三つの特別図柄が揃った状態（大当り図柄）で停止する。第１特図変動表示ゲーム及び第２特図変動表示ゲームが特別結果態様を導出しない場合は、表示装置８でも特定態様の図柄を停止表示しないように制御される。
【００６４】
なお、本実施形態では、図柄表示ユニット４５で実行される第１特図変動表示ゲーム及び第２特図変動表示ゲームと、表示装置８で実行される飾り特図変動表示ゲームのいずれをも特図変動表示ゲームとして扱うものとする。
【００６５】
特別変動入賞装置３６への遊技球の入賞は、カウントＳＷ（スイッチ）３６Ａ（図４参照）によって検出される。
【００６６】
普通図柄始動ゲート３１への遊技球の通過は、普図始動ＳＷ（スイッチ）３１Ａ（図４参照）で検出される。この遊技球の通過タイミングによって抽出された普図乱数は、遊技制御装置１００内の普図始動記憶領域に普通図柄入賞記憶として所定回数（例えば、最大で４回分）を限度に記憶される。遊技制御装置１００は、この普通図柄入賞記憶に基づき、図柄表示ユニット４５を形成する普図表示器１２１（図４参照）にて、普図変動表示ゲームを行う。
【００６７】
ここで普図表示器１２１について説明する。普図表示器１２１は、図示しない普図図柄表示部と普図入賞記憶数表示部を有する。前述したように、遊技球が普通図柄始動ゲート３１を通過して普通図柄入賞記憶が発生すると、この普図図柄表示部にて普図変動表示ゲームが実行される。また、普図入賞記憶数表示部には、普通図柄入賞記憶の記憶数が表示される。
【００６８】
そして、遊技球が普通図柄始動ゲート３１を通過して普通図柄入賞記憶が発生すると、普図入賞記憶数表示部に普通図柄入賞記憶の記憶数が表示され、普図図柄表示部にて普図変動表示ゲームが実行される。
【００６９】
なお、普通図柄始動ゲート３１の通過が所定のタイミングでなされたとき（具体的には、通過検出時の当り乱数値が当り値であるとき）には、普図図柄表示部に表示される普通図柄が当り状態で停止し、普図変動表示ゲームが当りとなる。このとき、普通変動入賞装置３３は、普電ソレノイド９０（図４参照）への通電により、第２始動入賞口３４への入口が所定の時間（例えば、０.５秒〜２．９秒の範囲内で予め定められた時間）だけ開放するように変換され、遊技球の第２始動入賞口３４への入賞が許容される。これによって、遊技球が第２始動入賞口３４へ入賞しやすくなり、第２特図変動表示ゲームの始動が容易となる。
【００７０】
このようにして、一般入賞口３２、第１始動入賞口３７、第２始動入賞口３４、又は特別変動入賞装置３６に遊技球が入賞すると、入賞した入賞口の種類に応じた数の賞球が払出制御装置２１０によって制御される払出ユニットから、前面枠３の上皿２１又は下皿２３に排出される。
【００７１】
なお、本実施形態のパチンコ遊技機は、特図変動表示ゲームの結果に対応して（厳密には、特図変動表示ゲームの結果として特図表示器１２０に停止表示される図柄に対応して）、以後の特図変動表示ゲームの当り確率が変化する場合があり、遊技状態は、常時、特図変動表示ゲームが低確率で大当りとなる低確率状態か、当該低確率状態よりも特図変動表示ゲームが大当りとなる確率の高い高確率状態のいずれかに設定されている。なお、低確率状態を通常状態や非確変遊技状態と称したり、高確率状態を確変遊技状態（確変状態）と称したりする場合もある。
【００７２】
さらに、本実施形態のパチンコ遊技機の遊技状態は、特図変動表示ゲームの結果に対応して、普通変動入賞装置３３の開放頻度が変化する場合があり、遊技状態は、常時、普通変動入賞装置３３の開放頻度が低い入賞抑制状態か、当該入賞抑制状態よりも普通変動入賞装置３３の開放頻度が高い入賞促進状態のいずれかに設定されている。なお、入賞抑制状態を通常状態や非時短遊技状態と称したり、入賞促進状態を時短遊技状態（時短状態）と称したりする場合もある。
【００７３】
この入賞促進状態においては、普図変動表示ゲームの実行時間が入賞抑制状態における実行時間より短くなるように制御される（例えば、入賞抑制状態で１０秒に対し、入賞促進状態で１秒）。これによって、単位時間当りの普通変動入賞装置３３の開放回数が実質的に多くなるように制御される。
【００７４】
また、入賞促進状態においては、普図変動表示ゲームが当り結果となって普通変動入賞装置３３が開放される場合に、開放時間が通常遊技状態の開放時間より長くなるように制御されてもよい（例えば、入賞抑制状態で０．５秒に対し、入賞促進状態で２．９秒）。また、入賞促進状態においては、普通図柄変動表示ゲームの１回の当り結果に対して、普通変動入賞装置３３が１回ではなく、複数回（例えば、２回）開放してもよい。さらに、入賞促進状態においては、普図変動表示ゲームの結果が当りとなる確率が入賞抑制状態より高くなるように制御してもよい。すなわち、入賞促進状態では、入賞抑制状態よりも普通変動入賞装置３３の開放頻度が増加し、普通変動入賞装置３３に遊技球が入賞しやすくなり、特図変動表示ゲームの始動が容易となる特典が付与される。
【００７５】
図４は、本発明の第１の実施の形態の遊技装置６のブロック図である。
【００７６】
遊技制御装置１００は、遊技用マイコン（遊技用演算処理装置６００）１０１、入力Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１０５、出力Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１０６及び検査装置接続端子１０７を備える。
【００７７】
遊技用マイコン１０１は、ＣＰＵ１０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０３及びＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０４を備える。
【００７８】
ＣＰＵ１０２は、遊技を統括的に制御する主制御装置であって、遊技制御を行う。ＲＯＭ１０３は、遊技制御のための不変の情報（プログラム、データ等）を記憶する。ＲＡＭ１０４は、遊技制御時にワークエリアとして利用される。
【００７９】
遊技制御装置１００には、遊技用マイコン１０１に一意に設定された識別番号を出力することが可能な検査装置接続端子１０７が設けられている。検査装置接続端子１０７に図示しない検査装置を接続すると、検査装置は遊技機１を識別することができる。
【００８０】
ＣＰＵ１０２は、入力Ｉ／Ｆ１０５を介して各種検出器（第１特図始動ＳＷ３７Ａ、第２特図始動ＳＷ３４Ａ、普図始動ＳＷ３１Ａ、カウントＳＷ３６Ａ、及び入賞口ＳＷ３２Ａ〜入賞口ＳＷ３２Ｎ、オーバーフローＳＷ（スイッチ）１０９、球切れＳＷ（スイッチ）１１０、及び枠開放ＳＷ（スイッチ）１１１）からの検出信号を受けて、大当り抽選等、種々の処理を行う。
【００８１】
オーバーフロースイッチ１０９は、下皿２３に遊技球が所定数以上貯留されていることを検出する。球切れスイッチ１１０は、球貯留ユニット３２０に配設され、球貯留ユニット３２０に貯留される遊技球が所定数以下になることを検出する。枠開放スイッチ１１１は、前面枠３の開放を検出する。
【００８２】
また、ＣＰＵ１０２は、出力Ｉ／Ｆ１０６を介して、普図表示器１２１、特図表示器１２０、普電ＳＯＬ（ソレノイド）９０、大入賞口ＳＯＬ（ソレノイド）３８、払出制御装置２１０及び演出制御装置１５０に指令信号を送信し、遊技を統括的に制御する。
【００８３】
普図表示器１２１は、前述したように、普図変動表示ゲームが表示される。特図表示器１２０は、前述したように、第１特図変動表示ゲームと第２特図変動表示ゲームとが表示される。
【００８４】
普電ＳＯＬ９０は、第２始動入賞口３４に遊技球が入賞可能となるように、第２始動入賞口３４に備えられた開閉部材で構成された普通変動入賞装置３３を所定の時間だけ開放させる。
【００８５】
大入賞口ＳＯＬ３８は、特別変動入賞装置３６の大入賞口を所定の時間だけ、遊技球を受け入れない閉状態（遊技者に不利な状態）から遊技球を受け入れやすい開状態（遊技者に有利な状態）にする。
【００８６】
また、遊技制御装置１００は、遊技機１に関する情報を、外部情報端子１０８を介して、遊技店に設置された情報収集端末や遊技場内部管理装置（図示省略）に出力する。
【００８７】
遊技制御装置１００は、変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等を、演出制御指令信号として、演出制御装置１５０へ送信する。
【００８８】
次に、払出制御装置２１０及び演出制御装置１５０について説明する。
【００８９】
演出制御装置（表示制御装置）１５０は、遊技制御装置１００から入力される各種信号に基づいて、エラー報知ＬＥＤ２９、スピーカ３０、発光により遊技演出を行う装飾部材９（図１）及び表示装置８を制御する。
【００９０】
演出制御装置１５０は、遊技用マイコン（遊技用演算処理装置６００）１５１、ドライバ１５５、音回路１５６、及びＶＤＰ１５７を備える。
【００９１】
遊技用マイコン１５１は、ＣＰＵ１５２、ＲＯＭ１５３及びＲＡＭ１５４を備える。
【００９２】
ＣＰＵ１５２は、演出制御を行う制御装置である。ＲＯＭ１５３は、演出制御に必要な不変の情報（プログラム、データ等）を記憶している。ＲＡＭ１５４は、演出制御時にワークエリアとして利用される。
【００９３】
ドライバ１５５は、ＣＰＵ１５２からの指令により、エラー報知ＬＥＤ２９及び装飾部材９を制御する。音回路１５６は、ＣＰＵ１５２からの指令により、効果音を生成してスピーカ３０から出力する。ＶＤＰ１５７は、ＣＰＵ１５２からの指令により、画像データを生成して表示装置８へ出力する。
【００９４】
払出制御装置２１０は、遊技制御装置１００からの賞球指令信号に基づいて、払出装置の払出モータ２２０を駆動させ、賞球を払い出させるための制御を行う。また、払出制御装置２１０は、カードユニット７０からの貸球要求信号に基づいて、遊技制御装置１００が送信する排出指令信号に基づいて、払出装置の払出モータ２２０を駆動させ、貸球を払い出させるための制御を行う。
【００９５】
払出制御装置２１０は、遊技用マイコン（遊技用演算処理装置６００）２１１、入力Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２１５、入出力Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２１６及び検査装置接続端子２１７を備える。
【００９６】
遊技用マイコン２１１は、ＣＰＵ２１２、ＲＯＭ２１３及びＲＡＭ２１４を備える。
【００９７】
ＣＰＵ２１２は、払い出しを統括的に制御する制御装置であって、払出制御を司る。ＲＯＭ２１３は、払出制御のための不変の情報（プログラム、データ等）を記憶している。ＲＡＭ２１４は、払出制御時にワークエリアとして利用される。
【００９８】
ＣＰＵ２１２は、入力Ｉ／Ｆ２１５を介して払出球検出スイッチ１１２、オーバーフロースイッチ１０９、球切れスイッチ１１０、エラー解除スイッチ２２３、税率設定スイッチ２２６、及び貸出料金設定スイッチ２２７からの入力を受ける。
【００９９】
エラー解除スイッチ２２３は、払出制御装置２１０にエラーが発生した場合に、遊技店の店員等が発生したエラーの原因を解消した際に、遊技店の店員等によって操作され、エラー状態を解除するためのスイッチである。
【０１００】
税率設定スイッチ２２６は、遊技球の貸し出しに対して課税される間接税の税率を設定するスイッチである。貸出料金設定スイッチ２２７は、貸し出される遊技球の有価価値を設定するためのスイッチである。
【０１０１】
また、ＣＰＵ２１２は、入出力Ｉ／Ｆ２１６を介して、払出モータ２２０、発射制御装置２２１、エラーナンバー表示器２２２、税率表示器２２４及び貸出料金表示器２２５に指令信号を送信する。また、ＣＰＵ２１２は、入出力Ｉ／Ｆ２１６を介して遊技制御装置１００から送信された各種信号を受信する。
【０１０２】
払出モータ２２０は、実際に払出装置で遊技球を払い出すために駆動されるモータである。具体的には、払出モータ２２０は、１個の遊技球を貯留可能な凹部を所定個数有するスプロケットを回転させることによって、遊技球を払い出す。
【０１０３】
発射制御装置２２１は、遊技球を遊技盤５に発射するための発射装置を制御する。エラーナンバー表示器２２２は、払出制御装置２１０の裏面側に配設され、払出制御装置２１０で発生したエラーの種類を特定可能に表示する。
【０１０４】
税率表示器２２４は、払出制御装置２１０の裏面側に配設され、税率設定スイッチ２２６によって設定された間接税の税率を表示する。貸出料金表示器２２５は、払出制御装置２１０の裏面側に配設され、貸出料金設定スイッチ２２７によって設定された貸し出される遊技球の有価価値を表示する。
【０１０５】
電源装置１６０は、バックアップ電源１６１、ＲＡＭクリアスイッチ１６２を備える。遊技制御装置１００、演出制御装置１５０、及び払出制御装置２１０は、電源装置１６０に接続される。
【０１０６】
バックアップ電源１６１は、停電時においても、遊技制御装置１００、演出制御装置１５０、及び払出制御装置２１０に電源を供給する。なお、演出制御装置１５０には必ずしも電源を供給しなくてもよく、停電復帰後、遊技制御装置１００からコマンドを送信するようにしてもよい。
【０１０７】
ＲＡＭクリアスイッチ１６２は、遊技制御装置１００に備わるＲＡＭ１０４及び払出制御装置２１０に備わるＲＡＭ２１４に記憶されている情報を初期化するスイッチである。
【０１０８】
また、遊技機１に備わる球貸ボタン２６が操作されると、カードユニット７０は、プリペイドカード又は会員カード等のカードに記憶されている有価価値から貸し出される遊技球分の有価価値を減算して、減算した有価価値の値を遊技機１の残高表示部２８に表示する。また、遊技機１に備わる排出ボタン２７が操作されると、カードユニット７０は、カード挿入口７１に挿入されたカードを排出する。
【０１０９】
遊技制御装置１００に備わる遊技用マイコン１０１と払出制御装置２１０に備わる遊技用マイコン２１１とは、暗号化された暗号化信号（暗号化データ）を双方向通信可能に接続される。また、暗号化されない非暗号化信号（平文データ）については、遊技制御装置１００に備わる遊技用マイコン１０１から払出制御装置２１０に備わる遊技用マイコン２１１に単方向通信が可能に接続される。
【０１１０】
また、遊技制御装置１００に備わる遊技用マイコン１０１と演出制御装置１５０に備わる遊技用マイコン１５１とは、暗号化されない非暗号化信号（平文データ）を遊技制御装置１００から演出制御装置１５０への単方向で通信可能に接続される。
【０１１１】
なお、遊技制御装置１００に備わる遊技用マイコン１０１、演出制御装置１５０に備わる遊技用マイコン１５１及び払出制御装置２１０に備わる遊技用マイコン２１１は、これらの接続に必要なポートを備えている。
【０１１２】
次に、遊技制御装置１００に備わる遊技用マイコン１０１、演出制御装置１５０に備わる遊技用マイコン１５１及び払出制御装置２１０に備わる遊技用マイコン２１１（以下、総称して遊技用演算処理装置６００という）について、図５を用いて詳細に説明する。
【０１１３】
図５は、本発明の第１の実施の形態の遊技用演算処理装置（アミューズチップ）６００のブロック図である。
【０１１４】
遊技用演算処理装置６００はいわゆるアミューズチップ用のＩＣとして製造され、遊技制御を行う遊技領域部６００Ａと情報管理を行う情報領域部６００Ｂとに区分される。
【０１１５】
まず、遊技領域部６００ＡはＣＰＵコア６０１、ユーザプログラムＲＯＭ６０２、ＨＷパラメータＲＯＭ６０３、ユーザワークＲＡＭ６０４、ミラードＲＡＭ６０５、外部バスインターフェース（Ｉ／Ｆ）６０６、バス切替回路６０７、乱数生成回路６０８、クロック生成回路６０９、割込制御回路６１０Ａ、リセット回路６１０Ｂ、アドレスデコーダ６１１、出力制御回路６１２、ブートブロック６１３、復号化・ＲＯＭ書込回路６１４、シリアル送信回路６１５Ａ、シリアル送信回路６１５Ｂ、シリアル受信回路６２５、暗号化送受信回路６１６、及びバス６１７によって構成される。なお、シリアル送信回路６１５Ａ及びシリアル送信回路６１５Ｂを総称して、シリアル送信回路６１５という。
【０１１６】
ＣＰＵコア６０１は、図４のＣＰＵ１０２、ＣＰＵ１５２又はＣＰＵ２１２に相当する。ユーザプログラムＲＯＭ６０２は、図４のＲＯＭ１０３、ＲＯＭ１５３又はＲＯＭ２１３に相当する。また、ユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３を総称して、ＲＯＭ（不揮発性記憶手段）という。
【０１１７】
ユーザワークＲＡＭ６０４は、図４のＲＡＭ１０４、ＲＡＭ１５４又はＲＡＭ２１４に相当する。また、ユーザワークＲＡＭ６０４及びミラードＲＡＭ６０５を総称して、ＲＡＭ（揮発性記憶手段）という。
【０１１８】
ＣＰＵコア６０１は、遊技制御のための演算処理を行う演算処理手段として機能する。ユーザプログラムＲＯＭ６０２は、制御プログラムを格納する。制御プログラムは、遊技用演算処理装置６００が遊技制御装置１００に備わる遊技用マイコン１０１である場合には、遊技の制御を行うための遊技制御プログラムである。また、遊技用演算処理装置６００が払出制御装置２１０に備わる遊技用マイコン２１１である場合には、遊技球の払い出しを行うための払出制御プログラムである。さらに、遊技用演算処理装置６００が演出制御装置１５０に備わる遊技用マイコン１５１である場合には、演出の制御を行うための演出制御プログラムである。
【０１１９】
ＨＷパラメータＲＯＭ６０３は、正当性確認情報を格納する。正当性確認情報とは、遊技用演算処理装置６００の正当性の簡易チェックを行う場合の情報であり、例えば、遊技機１の一意な識別子を示す固有ＩＤ、メーカコード（遊技機１の製造メーカ毎に割り振られた固有の製造メーカの一意な識別子）、遊技機１のランク（１種、２種等）を示すランクコード、製造メーカが遊技機１の種類に設定する機種コード、検査番号を示す検査コード、電源投入時にＲＡＭをバックアップするか否かを示すＲＡＭバックアップコード、税率設定スイッチ２２６によって設定された税率、貸出料金設定スイッチ２２７によって設定された貸出料金等である。また、ＨＷパラメータＲＯＭ６０３には、最初に貸出情報要求を送信した検査装置の一意な識別子である固有ＩＤが一つのみ記憶される。
【０１２０】
第三者機関又は遊技機１の製造メーカがユーザプログラムＲＯＭ６０２にプログラムを書き込む際に、正当性確認情報がＨＷパラメータＲＯＭ６０３に書き込まれる。遊技用演算処理装置６００は、電源立ち上がり時に、ユーザプログラムＲＯＭ６０２に書き込まれたプログラムが正当であるか否かについて簡易チェックを行うことができる。具体的には、遊技用演算処理装置６００の電源立ち上がり時に、遊技用演算処理装置６００自身が演算した演算値と、正当性確認情報（すなわち、第三者機関等によって予め設定された結果値）とを比較判定することで、簡易的な遊技用演算処理装置６００のチェックを行うことが可能になっている。
【０１２１】
ユーザワークＲＡＭ６０４は、遊技領域部６００Ａにおけるプログラムに基づく処理を実行する際にワークエリア（作業領域）として用いられるものである。このユーザワークＲＡＭ６０４には、バックアップ電源１６１（図４）からのバックアップ電源が供給されているので、遊技機１への電源供給が途絶えても、記憶データが保持されるように構成されている。ミラードＲＡＭ６０５は、クロックの立ち下がり時にユーザワークエリアに記憶された情報を複製し、複製した情報を記憶する（ＣＰＵコアがＺ８０の場合には、クロックの立ち上がり時に処理を実行するため、同期して動くことがないようにしている）。
【０１２２】
外部バスインターフェース６０６は、メモリリクエスト信号ＭＲＥＱ、入出力リクエスト信号ＩＯＲＱ、メモリ書込み信号ＷＲ、メモリ読み出し信号ＲＤ及びモード信号ＭＯＤＥなどのインターフェースであり、また、バス切替回路６０７は、１６ビットのアドレス信号Ａ０〜Ａ１５や８ビットのデータ信号Ｄ０〜Ｄ７のインターフェースである。
【０１２３】
例えば、ＭＯＤＥ信号をハイレベルにした状態で、アドレス信号Ａ０〜Ａ１５を順次にインクリメントしながら、データ信号Ｄ０〜Ｄ７を加えると、ユーザプログラムＲＯＭ６０２への書き込みモードとなって遊技機１の製造メーカ又は第三者機関によるプログラムの書き込みが可能になる。なお、書き込みモードはプログラムの書き込みを可能にするものであり、ブートブロック６１３に記憶されるブートプログラムを書き込みできるようにするものではない。
【０１２４】
また、ユーザプログラムＲＯＭ６０２へのプログラムの書き込みが終了すると、ＨＷパラメータＲＯＭ６０３の所定領域に書込終了コードが記録（例えば、所定のコード若しくは所定ビットを物理的に切断することで記録）されるようになっており、ＨＷパラメータＲＯＭ６０３に書込終了コードが記録されている場合には、ユーザプログラムＲＯＭ６０２への新たなプログラムの書き込みができないようになっている。
【０１２５】
乱数生成回路６０８は遊技の実行過程において遊技価値（例えば、大当り）を付加するか否か等に係わる乱数（乱数は、大当りの決定や停止時の図柄の決定等に使用）を生成するもので、一様性乱数を生成する数学的手法（例えば、合同法又はＭ系列法等）を利用している。なお、遊技用演算処理装置６００が払出制御装置２１０に備わる遊技用マイコン２１１である場合には、乱数生成回路６０８は必要ない。
【０１２６】
クロック生成回路６０９は、遊技用演算処理装置６００の外部から入力されたシステムクロック信号を分周して、遊技制御に必要な各種の周期的な信号を生成する。具体的には、ＣＰＵコア１０２を動作させるためのクロック信号、乱数生成回路６０８の乱数カウンタ値を更新するためのクロック信号、及びシリアル送受信を行う際のタイミング信号などを生成する。なお、クロック生成回路６０９は、ＣＴＣ（Counter Timer Circuit）の機能を有しており、ＣＰＵコア１０２にて所定周期（例えば、４ミリ秒）のタイマ割込処理を行わせるためのタイマ割込信号も生成している。
【０１２７】
割込制御回路６１０Ａは、所定の割り込み条件の成立に基づいて、割り込みの発生をＣＰＵコア１０２に知らせる。なお、所定の割り込み条件は、遊技用演算処理装置６００の外部から割込要求信号（ＩＮＴ信号、ＮＭＩ信号）が入力された場合や、クロック生成回路６０９のＣＴＣからタイマ割込信号が出力された場合などが相当する。
【０１２８】
ＣＰＵコア１０２は、ＩＮＴ信号やＮＭＩ信号が入力された場合には、現在実行中の処理を中断して予め定められた割込処理を実行する。なお、ＩＮＴ信号による割込（マスカブル割込）は、プログラムの設定により禁止できるが、ＮＭＩ信号による割込（ノンマスカブル割込）はプログラムの設定により禁止できない。また、ＣＰＵコア１０２は、タイマ割込信号が出力された場合には、図２９に示すタイマ割込処理を実行する。
【０１２９】
また、リセット回路６１０Ｂは、外部から入力されたリセット信号（ＲＳＴ０端子からの信号ＲＳＴ０）を検出すると、遊技用演算処理装置６００の内部に備えられた各回路とＣＰＵコア１０２にリセット信号を伝達する。
【０１３０】
なお、リセット回路６１０Ｂは、セキュリティ回路６３０（図１１参照）としても機能する。このセキュリティ回路６３０は、遊技用演算処理装置６００の内部に備えられた各回路に対して異常なアクセスが発生したことを検出する機能を有しており、異常を検出するとＣＰＵコア１０２にリセット信号を伝達する。
【０１３１】
アドレスデコーダ６１１は、内蔵デバイス及び内蔵コントロール／ステータスレジスタ群のロケーションをメモリマップドＩ／Ｏ方式及びＩ／ＯマップドＩ／Ｏ方式によりデコードする。
【０１３２】
出力制御回路６１２は、アドレスデコーダ６１１からの信号制御を行って外部端子より８ビットのチップセレクト信号（ＣＳ０〜ＣＳ７）を外部に出力するとともに、遊技用演算処理装置６００の内部に備えた回路を選択するチップセレクト信号を発生する機能を有する。ブートブロック６１３は、ブートプログラムを記憶し、電源投入時に遊技用演算処理装置６００の初期化に係わる処理を行う。
【０１３３】
復号化・ＲＯＭ書込回路６１４は、ユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３への書込みモードの際に使用されるもので、モード信号ＭＯＤＥが［Ｈ］レベルになっている間、バス切替回路６０７を介してアドレス信号Ａ０〜Ａ１５やデータ信号Ｄ０〜Ｄ７を取り込み、そのデータ信号Ｄ０〜Ｄ７に含まれる情報（暗号化されたプログラム及び暗号化された変更後の固有ＩＤ）を復号化処理した後、バス６１７を介してユーザプログラムＲＯＭ６０２及びＨＷパラメータＲＯＭ６０３に出力する（書き込む）。
【０１３４】
シリアル送信回路６１５Ａ及びシリアル送信回路６１５Ｂは、暗号化されていない平文データを送信するための回路である。シリアル送信回路６１５Ａは、ＳＩＯＴＸ０端子を介して演出制御装置１５０に接続される。また、シリアル送信回路６１５Ｂは、ＳＩＯＴＸ１端子を介して払出制御装置２１０に接続される。シリアル受信回路６２５は、暗号化されていない平文データを、ＳＩＯＲＸ端子を介して受信するための回路である。
【０１３５】
暗号化送受信回路６１６は、ＮＪＬＩＮＫ端子を介して暗号化された暗号化データを送受信する回路である。例えば、遊技制御装置１００から払出制御装置２１０にデータを送信する場合に使用される、また、遊技制御装置１００と払出制御装置２１０との間は、ＮＪＬＩＮＫ接続で接続され、暗号化送受信回路６１６には、ＮＪＬＩＮＫ信号線が接続される。暗号化送受信回路６１６は、ＮＪＬＩＮＫ信号線を介してデータを送受信する。
【０１３６】
バス６１７はデータバス（図１１のデータバス６６０）、アドレスバス（図１１のアドレスバス６５０）及び制御バスを含むものであり、情報領域部６００Ｂまで延びている。
【０１３７】
次に、遊技用演算処理装置６００における情報管理を行う情報領域部６００Ｂは、ＨＰＧプログラムＲＯＭ６１８、ＩＤプロパティメモリ６１９、バスモニタ回路６２０、ＨＰＧワークＲＡＭ６２１、制御回路６２２、外部通信制御回路６２３、バス６２４、及び遊技領域部６００Ａから延びるバス６１７の一部を含んで構成される。
【０１３８】
ＨＰＧプログラムＲＯＭ６１８には、各種検査動作を行うＨＰＧプログラムが格納される。
【０１３９】
ＩＤプロパティメモリ６１９には、図示しない検査装置から外部通信制御回路６２３を介して受信した要求に基づいて、ＨＷパラメータＲＯＭ６０３に記憶されている情報を図示しない検査装置にすぐに出力できるように、遊技用演算処理装置６００の電源投入時（システムリセット時）にＨＷパラメータに記憶されている情報を複製して記憶する。なお、ＩＤプロパティメモリ６１９は、遊技領域部６００Ａ側及び情報領域部６００Ｂ側の双方よりアクセスが可能な構成になっている。
【０１４０】
バスモニタ回路６２０は、情報領域部６００Ｂ側より遊技領域部６００Ａ側のバス６１７の状態監視及び制御を行う。ここでの制御とは、ＨＷパラメータＲＯＭ６０３の内容をＩＤプロパティメモリ６１９に複写する際のタイミング制御や、ユーザプログラムＲＯＭ６０２に格納されたプログラムを外部に出力する際（遊技領域部６００Ａ側のバス６１７を開放してユーザプログラムＲＯＭ６０２からプログラムを読み込んで情報領域部６００Ｂ側より外部に出力する際）のタイミング制御である。なお、プログラムは、外部通信制御回路６２３で暗号化されてから出力される。
【０１４１】
ＨＰＧワークＲＡＭ６２１は、情報領域部６００Ｂにおけるプログラムに基づく処理を実行する際にワークエリア（作業領域）として用いられるものである。
【０１４２】
制御回路６２２は情報領域部６００Ｂ側を制御するもので、バッファメモリを有している。制御回路６２２は、例えば、バスモニタ回路６２０を介してＣＰＵコア１０２の動作を監視し、非動作中に遊技領域部６００ＡのユーザワークＲＡＭ６０４に記憶された内容をミラードＲＡＭ６０５へコピーする。また、図示しない検査装置からの要求に応答して情報領域部６００ＢのＩＤプロパティメモリ６１９の内容を外部へ転送したり、プログラム要求に応答してバスモニタ回路６２０を介してユーザプログラムＲＯＭ６０２内のプログラムを外部へ転送したりする。制御回路６２２のメモリは、転送時のタイミング調節のために用いられる。
【０１４３】
外部通信制御回路６２３は図示しない検査装置との通信を行うもので、例えば、外部からの指令に基づいて遊技用演算処理装置６００内に格納されている情報（例えば、固有ＩＤ、プログラム、実払出数等）を暗号化した後、外部へ転送する等の処理を行う。
【０１４４】
遊技用演算処理装置６００では、遊技領域部６００Ａと情報領域部６００Ｂがバスモニタ回路６２０を介して独立して動作する。すなわち、情報領域部６００Ｂ側は遊技領域部６００ＡにおけるＣＰＵコア１０２の作動に関係なく（プログラム実行に関係なく）動作可能である。
【０１４５】
なお、図５では図示されていないが、遊技用演算処理装置６００には、図１１にて後述するＲＡＭアクセス規制回路（更新規制手段）６４０を備えている。
【０１４６】
図６は、本発明の第１の実施の形態の遊技制御装置１００におけるシリアル送信回路６１５の構成例を示すブロック図である。
【０１４７】
シリアル送信回路６１５は、送信シリアルチャンネル設定レジスタ６３３、送信データステータスレジスタ６３１、送信制御レジスタ６３２、送信データレジスタ６３５（送信データバッファレジスタ６３５Ａ、送信データシフトレジスタ６３５Ｂ）、ボーレート生成回路（送信速度設定手段）６３４を含んで構成される。
【０１４８】
シリアル送信回路６１５は、出力制御回路６１２から入力された選択信号に基づいて、送信先を選択する。また、リセット信号の入力を受け付けると、各種レジスタに設定された値を０クリアする。
【０１４９】
送信シリアルチャンネル設定レジスタ６３３は、データ送信時の通信速度及び通信フォーマットを指定するレジスタである。送信シリアルチャンネル設定レジスタ６３３には、後述するメイン処理におけるシリアル通信設定処理によって各値が設定される。
【０１５０】
図７は、本発明の第１の実施の形態の送信シリアルチャンネル設定レジスタ６３３の構成例を示す図である。図７に示すように、送信シリアルチャンネル設定レジスタ６３３は、１６ビットで構成されており、ビット０〜１５はすべて書き込み／読み出し可能とされる。
【０１５１】
送信シリアルチャンネル設定レジスタ６３３において、ビット０〜１２には、送信ボーレート（通信速度）を算出するためのボーレート設定値（例えば、分周比）が設定される。
【０１５２】
具体的には、遊技用演算処理装置６００に入力されるシステムクロック（ＭＣＬＫ）の周波数（単位Ｈｚ：ヘルツ）を３２で除した値を、さらに、このボーレート設定値で除した値が、送信ボーレート（１秒間に送信されるデータのビット数）として設定される。例えば、ボーレート設定値として１００を設定すると、システムクロックの周波数が２０ＭＨｚであった場合には、送信ボーレートは、２０,０００,０００÷３２÷１００＝６２５０（ｂｐｓ）となる。
【０１５３】
ビット１３には、送信データ長を８ビットとする場合に“０”が設定され、９ビットとする場合に“１”が設定される。
【０１５４】
ビット１４には、送信データにパリティを付加しない場合に“０”が設定され、パリティを付加する場合に“１”が設定される。ビット１５には、送信データに付加するパリティを偶数パリティとする場合に“０”が設定され、奇数パリティとする場合に“１”が設定される。なお、ビット１５は、ビット１４に“１”（パリティ有り）が設定されている場合に有効となる。
【０１５５】
なお、遊技用演算処理装置６００にリセット信号（ＲＳＴ０）が入力されると、シリアル送信回路６１５がリセットされ、送信シリアルチャンネル設定レジスタ６３３の全ビットが“０”に設定される（図６等も参照）。
【０１５６】
図６の説明に戻り、送信制御レジスタ６３２は、シリアル送信回路６１５の動作を制御するためのレジスタである。
【０１５７】
図８は、本発明の第１の実施の形態の送信制御レジスタ６３２の構成例を示す図である。図８に示すように、送信制御レジスタ６３２は、例えば８ビットで構成され、ビット６は読み出し専用とされ、他のビット０、４、５、７は書き込み／読み出し可能とされる。なお、本実施形態では送信制御レジスタ６３２のビット１〜３は未使用としているため、図８では記載を省略している。
【０１５８】
送信制御レジスタ６３２のビット０には、送信回路（シリアル送信回路６１５）を初期化する場合に“１”が設定される。送信回路が初期化されると送信データレジスタ６３５のデータも含めて全てのレジスタが初期値とされる。
【０１５９】
ビット４には、送信データレジスタ６３５（送信データシフトレジスタ６３５Ｂ）からのデータ送信を禁止する場合に“０”が設定され、データ送信を許可する場合に“１”が設定される。
【０１６０】
ビット５には、送信データレジスタ６３５が空になったときに送信割り込みを要求しない場合に“０”が設定され、送信割り込みを要求する場合に“１”が設定される。
【０１６１】
ビット６には、送信割り込み要求が発生しているか否か（送信割り込み状態）を示す値が設定される。ビット６に“０”が設定されている場合には送信割り込みを要求していない状態であることを示し、“１”が設定されている場合には送信割り込みを要求している状態であることを示す。
【０１６２】
ビット７には、送信データレジスタのビット８の値（データ長が９ビットの場合）が設定される。
【０１６３】
なお、遊技用演算処理装置６００にリセット信号（ＲＳＴ０）が入力されると、シリアル送信回路６１５がリセットされ、送信制御レジスタ６３２の全ビットが“０”に設定される（図６等も参照）。その結果、送信制御レジスタ６３２のビット４が“０”になるので、送信データレジスタ６３５（送信データシフトレジスタ６３５Ｂ）からのデータ送信が禁止され、データ出力がオフされた状態になる。
【０１６４】
図６の説明に戻り、送信データステータスレジスタ６３１は、送信データレジスタ６３５の状態を示すレジスタである。ＣＰＵ１０２は、送信データステータスレジスタ６３１の設定値によって、送信データレジスタ６３５の状態を確認することができる。
【０１６５】
図９は、本発明の第１の実施の形態の送信データステータスレジスタ６３１の構成例を示す図である。送信データステータスレジスタ６３１は、例えば８ビットで構成され、ビット０〜５、７はすべて読み出し専用とされる。なお、本実施形態では送信データステータスレジスタ６３１のビット６は未使用としているため、図９では省略している。
【０１６６】
送信データステータスレジスタ６３１において、ビット０〜５には、送信データの残量を示す値が設定される。例えば、ビット０〜５に“００ｈ”（１６進数の“０”）が設定されていると送信データがないことを示し、“０１ｈ”が設定されていると送信データが１バイト残っていることを示し、“２０ｈ”が設定されていると送信データが３２バイト残っていることを示す。
【０１６７】
ビット７には、送信データレジスタ６３５におけるデータの送信状態を示す値が設定される。ビット７に“１”が設定されているとデータを送信していない状態であることを示し、“０”が設定されているとデータを送信している状態であることを示す。
【０１６８】
なお、遊技用演算処理装置６００にリセット信号（ＲＳＴ０）が入力されると、シリアル送信回路６１５がリセットされ、送信データステータスレジスタ６３１の全ビットが“０”に設定される（図６等も参照）。その結果、送信データステータスレジスタ６３１のビット０〜５が“００ｈ”となり、送信データの残量がない状態となる。
【０１６９】
図６の説明に戻り、送信データレジスタ６３５は、シリアル送信回路６１５が送信するデータを格納するレジスタである。送信データレジスタ６３５は、例えば、１段の送信データシフトレジスタ６３５Ｂと、３１段の送信データバッファレジスタ６３５Ａで構成される。
【０１７０】
図１０は、本発明の第１の実施の形態の送信データレジスタ６３５（１段分）の構成例を示す図である。１段の送信データレジスタ６３５は、例えば８ビットで構成され、ビット０〜７はすべて書き込み専用とされる。
【０１７１】
この送信データレジスタ６３５には、タイマ割り込み処理で生成される制御指令データが格納され、送信制御レジスタのビット４に“１”（送信許可）が設定されていれば、格納された制御指令データは自動的に演出制御装置１５０に送信される。
【０１７２】
制御指令データは、例えば、１バイトのモードデータと１バイトのアクションデータの２バイトで構成されるので、２段の送信データレジスタ６３５に１つの制御指令データが格納されることとなる。そして、本実施形態では、送信データレジスタ６３５を３２段で構成しているので、１回のタイマ割り込み処理で最大１６の制御指令データが生成される場合、これをすべて送信データレジスタ６３５に格納することができる。
【０１７３】
ただし、ＣＰＵ１０２によって、新たな送信データを送信データレジスタ６３５に格納できるのは、送信データステータスレジスタ６３１のビット０〜５の値（送信データの残量を示す値）が“００ｈ”〜“１Ｆｈ”の場合（送信データレジスタ６３５に、０〜３１バイトの未送信データが残っている場合）に限られる。
【０１７４】
送信データステータスレジスタ６３１のビット０〜５の値が“２０ｈ”の場合は、送信データレジスタ６３５に空きがないので、ＣＰＵ１０２によって送信データレジスタ６３５に書き込もうとされたデータは廃棄される。これにより、送信データレジスタ６３５が満杯のときは、誤ってＣＰＵ１０２によるデータ書き込みが発生しても、既に格納されている送信データレジスタ６３５のデータが破壊されないようになっている。
【０１７５】
なお、遊技用演算処理装置６００にリセット信号（ＲＳＴ０）が入力されると、シリアル送信回路６１５がリセットされ、送信データレジスタ６３５の全ビットが“０”に設定される（図６等も参照）。
【０１７６】
図６の説明に戻り、ボーレート生成回路６３４は、クロック生成回路６０９から分周回路６２９を介して出力されるクロック信号（遊技用演算処理装置６００に入力されるシステムクロック（ＭＣＬＫ）を分周した信号）及び送信シリアルチャンネル設定レジスタ６３３に設定されている設定値（ボーレート設定値）に基づいて、シリアル送信回路６１５が用いる送信ボーレートを生成する。このとき、ボーレート生成回路６３４は、クロック信号及びボーレート設定値に基づいて、前述の計算式を用いて送信ボーレートを求める。また、分周回路６２９は、ＣＰＵ１０２にも分周されたクロック信号を入力する。なお、分周回路６２９は、クロック生成回路６０９に含まれるように構成してもよい。
【０１７７】
シリアル送信回路６１５では、送信許可の設定（送信制御レジスタ６３２のビット４を“１”）がなされた後、送信するデータを送信データレジスタ６３５（送信データバッファレジスタ６３５Ａ）に書き込む、又は、送信するデータを送信データレジスタ６３５に書き込んだ後、送信許可の設定がなされると、自動的に送信が開始される。送信が開始されると、送信データバッファレジスタ６３５Ａのデータが送信データシフトレジスタ６３５Ｂに転送され、送信データシフトレジスタ６３５Ｂからシリアル変換されて、最下位ビット（ビット０）から１ビットずつ順次出力される。そして、データの送信が完了すると送信データシフトレジスタ６３５Ｂは空になるので、送信データバッファレジスタ６３５Ａに書き込まれている次のデータが送信データシフトレジスタ６３５Ｂに転送され、出力される。
【０１７８】
したがって、シリアル送信回路６１５では、送信データレジスタ６３５（送信データシフトレジスタ６３５Ｂ、送信データバッファレジスタ６３５Ａ）に書き込まれたデータ（制御指令データ）が、演出制御装置１５０に１ビットずつ順次送信されることとなる。
【０１７９】
このように、シリアル送信回路（制御指令送信手段）６１５は、送信データ（例えば、制御指令データ）を格納する送信データレジスタ６３５を備え、送信データレジスタ６３５に送信データが格納されると、遊技制御装置１００から演出制御装置１５０へ向かう方向に、格納された送信データを１ビットずつ順次送信する（いわゆるシリアル通信）ように構成されている。
【０１８０】
具体的には、送信データレジスタ６３５は、格納されたデータをすぐに送信する送信データシフトレジスタ６３５Ｂと、格納されたデータを保持するとともに、送信データシフトレジスタ６３５Ｂがデータを格納可能な状態（データの送信が完了した状態）となったときに、保持しているデータを送信データシフトレジスタ６３５Ｂに転送する送信データバッファレジスタ６３５Ａと、で構成される。
【０１８１】
これにより、従来のパラレル通信では必須とされていたタイマ割り込み処理における制御指令データの送信処理を省略できるので、ＣＰＵ１０２の負担を軽減することができる。
【０１８２】
また、シリアル通信とすることで、制御指令データを送信するための配線本数を比較的少なくすることができる。
【０１８３】
また、遊技制御装置１００と演出制御装置１５０との間の通信は、遊技制御装置１００から演出制御装置１５０へのみデータを送信可能な単方向通信とされ、遊技制御装置１００にデータは入力されないので、不正が行われることを防止できる。
【０１８４】
なお、本実施形態においては、送信データレジスタ６３５に最大で３２バイトの送信データが格納可能であるが、この３２バイトのデータが、１回のタイマ割り込み処理において全て出力できるように、ボーレート設定値（送信シリアルチャンネル設定レジスタ６３３のビット０〜１２）の値が設定されている。
【０１８５】
具体的には、送信データレジスタ６３５から出力される１バイトあたりのデータ送信に必要な時間Ｔｂと、タイマ割込信号の発生周期Ｆと、送信データレジスタ６３５に格納できるデータの上限バイト数Ｂとの関係が、Ｆ／Ｂ＞Ｔｂとなるように、ボーレート設定値を設定して送信の速度を決めればよい。
【０１８６】
例えば、タイマ割込信号の発生周期Ｆ＝４ミリ秒で、送信データレジスタ６３５に格納できるデータの上限バイト数Ｂ＝３２バイトであれば、Ｆ／Ｂ＝４０００／３２＝１２５マイクロ秒よりも短くなるようにＴｂの値を決定し、遊技用演算処理装置６００に入力されるシステムクロック（ＭＣＬＫ）の周波数を考慮したうえで、ボーレート設定値の値を定めればよい。
【０１８７】
このような構成とすることで、シリアル送信回路（制御指令送信手段、送信手段）６１５は、１回のタイマ割り込み処理において生成される一連の制御指令データをすべて格納することが可能となり、タイマ割り込み毎に生成される制御指令データを確実に送信することができる。
【０１８８】
図１１は、本発明の第１の実施の形態の遊技制御装置１００に備わる遊技用演算処理装置（アミューズチップ）６００とその周辺のブロック図である。
【０１８９】
遊技用演算処理装置６００は、セキュリティ回路６３０、ＣＰＵコア１０２（図１１では６０１）、ＲＡＭアクセス規制回路６４０、ユーザワークＲＡＭ１０４（図１１では６０４）、アドレスデコーダ６１１、出力制御回路６１２、及び、ユーザプログラムＲＯＭ１０３（図１１では６０２）を備える。
【０１９０】
なお、遊技用演算処理装置６００に備わるこれらの回路等は、アドレスバス６５０及びデータバス６６０を介して接続されている。アドレスバス６５０は、Ａ０〜Ａ１５の１６ビットの信号線によって構成され、データバス６６０は、Ｄ０〜Ｄ７の８ビットの信号線によって構成される。
【０１９１】
また、遊技制御装置１００は、演出制御装置１５０に接続されるシリアル送信回路６１５Ａ、及び、払出制御装置２１０に接続されるシリアル送信回路６１５Ｂを備える。
【０１９２】
なお、演出制御装置１５０及び払出制御装置２１０には、シリアル受信回路６２５（図５）に相当する受信回路が備えられていて、シリアル送信回路６１５Ａ、６１５Ｂから出力されたシリアルのデータを、それぞれが受信する構成となっている。
【０１９３】
遊技用演算処理装置６００に電源が投入される際には、ＲＳＴ０端子（図５）を介して電源装置１６０からリセット信号（起動信号）が入力され、リセット回路６１０Ｂ（図５）が作動する。
【０１９４】
セキュリティ回路６３０は、このリセット信号が入力されるとＨＷパラメータＲＯＭ６０３に記憶された正当性確認情報を用いて、セキュリティチェック処理を実行する。このセキュリティチェック処理は、ユーザプログラムＲＯＭ１０３に記憶されたプログラムの正当性の判定を行う処理である。
【０１９５】
セキュリティ回路６３０は、このセキュリティチェック処理を実行している間は、ＣＰＵコア１０２のリセット端子（ＲＥＳ０（負論理））にリセット信号を継続して出力することで、ＣＰＵコア１０２の起動を待機させる。
【０１９６】
ＣＰＵコア１０２は、前述のリセット端子（ＲＥＳ０（負論理））と、書込指令出力端子（ＷＲ（負論理））、及び読出指令出力端子（ＲＤ（負論理））を備える。リセット端子はセキュリティ回路６３０に接続されており、遊技用演算処理装置６００にリセット信号が入力されると、前述のように、セキュリティチェック処理を実行している間、ＣＰＵコア１０２に対するリセット信号がリセット端子に入力される。
【０１９７】
ＣＰＵコア１０２のリセット端子にリセット信号が入力されると、ＣＰＵコア１０２は、ＣＰＵコア１０２に備わるレジスタ（ＲＥＧ）を初期化する。
【０１９８】
また、ＣＰＵコア１０２がユーザワークＲＡＭ１０４にデータの書き込みを指令する書込指令を出力する場合には、ＣＰＵコア１０２の書込指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。同様に、ＣＰＵコア１０２がユーザワークＲＡＭ１０４からデータの読み出しを指令する読出指令を出力する場合には、ＣＰＵコア１０２の読出指令出力端子からは所定値よりも低い電圧のローレベルの信号が出力される。
【０１９９】
つまり、書込指令出力端子及び読出指令出力端子は、通常電圧がハイレベルに維持されており、ユーザワークＲＡＭ１０４への読み書きを行うときにのみ電圧がローレベルになる。
【０２００】
また、ＣＰＵコア１０２は、アドレスバス６５０に指定したアドレスを出力し、データバス６６０を介して指定したアドレスに格納されたデータを入出力する。
【０２０１】
まず、ユーザワークＲＡＭ１０４のデータの読み出しについて説明する。
【０２０２】
ＣＰＵコア１０２から、ユーザワークＲＡＭ１０４の読出指令入力端子（ＲＤ（負論理））に読出指令が入力されると、アドレスバス６５０及びデータバス６６０を介してＣＰＵコア１０２に読出データが出力される。
【０２０３】
このとき、ＣＰＵコア１０２からアドレスバス６５０へは、ユーザワークＲＡＭ１０４のアドレスが出力され、アドレスデコーダ６１１からユーザワークＲＡＭ１０４のチップ選択端子（所謂ＣＳ端子に相当、図示は略）に選択信号が入力されることによって、ユーザワークＲＡＭ１０４が選択される。次いで、選択されたユーザワークＲＡＭ１０４は、アドレスバス６５０が指定する記憶領域のデータをデータバス６６０へ出力する。次いで、ＣＰＵコア１０２は、データバス６６０へ出力されたデータを内部へ取り込む。このような手順により、ＣＰＵコア１０２はユーザワークＲＡＭ１０４からデータを読み出す。
【０２０４】
次に、ユーザワークＲＡＭ１０４へのデータの書き込みについて説明する。
【０２０５】
ＣＰＵコア１０２に備わる書込指令出力端子は、ＲＡＭアクセス規制回路６４０のＯＲゲート回路６４２に備わる二つの入力端子のうち一方の入力端子に接続される。ＯＲゲート回路６４２の他方の入力端子は、ＲＡＭアクセス規制回路６４０のフリップフロップ回路６４１の出力端子（Ｑ（負論理））に接続され、ＯＲゲート回路６４２の出力端子は、ユーザワークＲＡＭ１０４の書込指令入力端子（ＷＲ（負論理））に接続されている。
【０２０６】
また、ユーザワークＲＡＭ１０４の書込指令入力端子に所定値以下の電圧であるローレベルの信号が入力されると、ユーザワークＲＡＭ１０４への書き込みが許容される。
【０２０７】
このため、ＯＲゲート回路６４２の二つの入力端子にそれぞれローレベルの信号が入力されなければ、ユーザワークＲＡＭ１０４への書き込みが許容されない。言い換えれば、ＯＲゲート回路６４２の少なくとも一方の入力端子にハイレベルの信号が入力されていると、ユーザワークＲＡＭ１０４への書き込みが規制（禁止）される。
【０２０８】
ここで、ＲＡＭアクセス規制回路６４０のフリップフロップ回路６４１について説明する。
【０２０９】
フリップフロップ回路６４１は、Ｄ型のフリップフロップ回路であり、入力端子として、データ端子（Ｄ）、リセット端子（Ｒ（負論理））、及び出力イネーブル端子（ＯＥ（負論理））を備えるとともに、出力端子（Ｑ（正論理），Ｑ（負論理））を備える。
【０２１０】
データ端子には、データバス６６０を構成する信号線Ｄ０〜Ｄ７のうち所定の一本の信号線（例えば、Ｄ０）が接続されている。
【０２１１】
リセット端子には電源装置１６０からリセット信号線が接続され、リセット信号が入力されるとリセット端子はローレベルとなる。このときフリップフロップ回路６４１は、出力端子Ｑ（正論理）からローレベルの信号を出力させ、出力端子Ｑ（負論理）からハイレベルの信号を出力させる。出力端子Ｑ（正論理）からの出力と、出力端子Ｑ（負論理）からの出力は、相互に反転するレベルとなっている。
【０２１２】
また、出力イネーブル端子は、出力制御回路６１２から送信された出力イネーブル信号が入力される。出力イネーブル信号がハイレベルの場合には、出力端子から信号の出力が可能な状態となる。
【０２１３】
このフリップフロップ回路６４１に備えた出力端子Ｑ（負論理）からの信号レベルは、ＣＰＵコア１０２によって、自在に設定できるようになっている。この設定は、ＣＰＵコア１０２が、フリップフロップ回路６４１に割り当てられたアドレスの記憶領域に所定のデータを書き込むことで実現される。
【０２１４】
具体的には、ＣＰＵコア１０２によってフリップフロップ回路６４１に割り当てられたアドレスの記憶領域にデータを書き込む処理が行われると、ＣＰＵコア１０２からアドレスバス６５０へは、フリップフロップ回路６４１のアドレスが出力される。次に、アドレスデコーダ６１１から、出力制御回路６１２を介して、フリップフロップ回路６４１の出力イネーブル端子にクロック信号が入力され、出力イネーブル端子の電圧レベルが立ち上がり、ハイレベルとなる。
【０２１５】
このときフリップフロップ回路６４１は、データ端子に入力されている信号を取り込んで、取り込んだ信号を出力端子Ｑ（正論理）から出力し、取り込んだ信号の反転値を出力端子Ｑ（負論理）から出力する。
【０２１６】
また、フリップフロップ回路６４１は、出力制御回路６１２がクロック信号の入力を終了した場合には、出力イネーブル端子の電圧レベルは立ち下がりローレベルとなり、出力端子Ｑ（正論理）及び出力端子Ｑ（負論理）の電圧レベルを保持する。
【０２１７】
また、出力端子Ｑ（負論理）は、ＯＲゲート回路６４２の入力端子に信号を出力する。出力端子Ｑ（正論理）には何も接続されない。
【０２１８】
次に、フリップフロップ回路６４１の入力状態に応じた各種動作について説明する。
【０２１９】
フリップフロップ回路６４１は、前述したように、出力イネーブル端子の電圧レベルの立ち上り、つまり出力イネーブル信号の入力開始時に、データ端子の電圧レベルを読み取り、読み取った電圧レベルの反転値を出力端子Ｑ（負論理）から出力する。
【０２２０】
一方、フリップフロップ回路６４１は、出力イネーブル端子の電圧レベルの立ち下がり、つまり、出力イネーブル信号の入力終了時に、出力イネーブル端子の電源レベルの立ち上がり時の出力端子Ｑ（負論理）からの出力を保持する。
【０２２１】
出力端子Ｑ（負論理）からハイレベルの信号がＯＲゲート回路６４２の入力端子に出力されていると、ＯＲゲート回路６４２の他方の入力端子にローレベル及びハイレベルのいずれの信号が入力されても、ＯＲゲート回路６４２の出力端子からはハイレベルの信号が出力される。
【０２２２】
このため、フリップフロップ回路６４１の出力端子Ｑ（負論理）からハイレベルの信号が出力されていれば、ＯＲゲート回路６４２の他方の入力端子に書込指令信号が入力されても（当該他方の入力端子にローレベルの信号が入力されても）、ユーザワークＲＡＭ１０４の書込指令入力端子にはローレベルが入力されなくなり、ＲＡＭ書込禁止状態が発生する。
【０２２３】
ＲＡＭアクセス規制回路６４０をＲＡＭ書込禁止状態にするかＲＡＭ書込許可状態にするかは、クロック信号がフリップフロップ回路６４１に入力されたときのフリップフロップ回路６４１のデータ端子に入力される電圧レベル、又はリセット信号の入力の有無に基づく。
【０２２４】
前述のようにＣＰＵコア１０２は、出力制御回路６１２を制御してクロック信号の出力を制御でき、データバス６６０の信号線の出力も制御できるので、フリップフロップ回路６４１の出力端子Ｑ（負論理）から出力される信号は、ＣＰＵコア１０２によって制御可能である。言い換えると、ＣＰＵコア１０２は、データバス６６０の信号レベルを制御することによってＲＡＭアクセス規制回路６４０の書込状態を制御できる。
【０２２５】
さらに、前述のようにフリップフロップ回路６４１のリセット端子にリセット信号が入力された場合には、フリップフロップ回路６４１は、出力端子Ｑの電圧レベルをローにするため、出力端子Ｑ（負論理）の電圧レベルはハイになる。このため、フリップフロップ回路６４１にリセット信号が入力された場合には、ＲＡＭアクセス規制回路６４０では、ＲＡＭ書込禁止状態が発生することになる。
【０２２６】
前述のように、出力制御回路６１２が払出制御装置２１０に接続されるシリアル送信回路６１５Ｂにクロック信号を入力すると、シリアル送信回路６１５Ｂは、クロック信号が入力されたタイミングで、データバス６１７からデータを読み取り、読み取ったデータを送信データバッファレジスタ６３５Ａに格納する。そして、送信データバッファレジスタ６３５Ａに格納されたデータを送信データシフトレジスタ６３５Ｂに格納し、払出制御装置２１０に順次出力する。
【０２２７】
なお、前述したセキュリティ回路６３０、ＲＡＭアクセス規制回路６４０、及びシリアル送信回路６１５の起動（リセット）は、電源装置１６０からのリセット信号を、前述のリセット回路６１０Ｂ（図５）を介して受け入れた場合に実行される。ただし、電源装置１６０からのリセット信号は、必ずしもリセット回路６１０Ｂを介して各回路に入力される必要はなく、リセット回路６１０Ｂを経由しない別個の信号線を介して各回路に入力されるような構成でもよい。
【０２２８】
なお、シリアル送信回路６１５（６１５Ａ、６１５Ｂ）においては、図７〜図１０の説明で前述したように、リセット信号によって、演出制御装置１５０や払出制御装置２１０へのデータ出力がオフ状態となる。
【０２２９】
また、払出制御装置２１０は、シリアル送信回路６１５を備えてはいない点が、図６に示した遊技制御装置１００と異なっている。その他の構成は、図１１に示した遊技制御装置１００と同じ構成である。
【０２３０】
また、演出制御装置１５０は、シリアル送信回路６１５を備えてはいない点、さらに、遊技用演算処理装置６００にＲＡＭアクセス規制回路６４０を備えていない点が、図６に示した遊技制御装置１００と異なっている。その他の構成については、図１１に示した遊技制御装置１００と同じ構成である。
【０２３１】
なお、払出制御装置２１０及び演出制御装置１５０に備えたシリアル受信回路６２５は、払出制御装置２１０（又は演出制御装置１５０）のＣＰＵ１０２が起動した後であれば、遊技制御装置１００のシリアル送信回路６１５からの信号を受け入れられる状態となっている。なお、払出制御装置２１０（又は演出制御装置１５０）のシリアル受信回路６２５とＣＰＵ１０２とは、データバス６１７によって相互に接続される構成となっている。
【０２３２】
図１２は、本発明の第１の実施の形態のＣＰＵコア１０２の内部構成を説明するブロック図である。ＣＰＵコア１０２はＺ８０系のＣＰＵとして構成されている。
【０２３３】
図１２に示すＣＰＵコア１０２は、それぞれ８ビットの幅を有する、Ｗレジスタ１２０１Ａ、Ａレジスタ１２０２Ａ、Ｂレジスタ１２０４Ａ、Ｃレジスタ１２０５Ａ、Ｄレジスタ１２０７Ａ、Ｅレジスタ１２０８Ａ、Ｈレジスタ１２１０Ａ、Ｌレジスタ１２１１Ａを備えている。
【０２３４】
これらの汎用レジスタは、Ｗレジスタ１２０１ＡとＡレジスタ１２０２Ａとを組み合わせて、１６ビットの幅を有するＷＡレジスタ１２０３Ａとして使用することも可能である。同様に、Ｂレジスタ１２０４ＡとＣレジスタ１２０５Ａとを組み合わせたＢＣレジスタ１２０６Ａ、Ｄレジスタ１２０７ＡとＥレジスタ１２０８Ａとを組み合わせたＤＥレジスタ１２０９Ａ、Ｈレジスタ１２１０ＡとＬレジスタ１２１１Ａとを組み合わせたＨＬレジスタ１２１２Ａを使用することも可能である。
【０２３５】
なお、これらの汎用レジスタは、１つの汎用レジスタ群（バンク０のレジスタ群）１２２０Ａを形成している。一方、ＣＰＵコア１０２は、バンク０のレジスタ群１２２０Ａに含まれる汎用レジスタと同様の構成を有する、もう１つの汎用レジスタ群（バンク１のレジスタ群）１２２０Ｂを備えている。
【０２３６】
このバンク１のレジスタ群１２２０Ｂには、バンク０のＷレジスタ１２０１Ａ〜Ｌレジスタ１２１１Ａと同一の機能を有する、Ｗレジスタ１２０１Ｂ〜Ｌレジスタ１２１１Ｂを備えている。これらのレジスタも、バンク０同様に、ＷＡレジスタ１２０３Ｂ〜ＨＬレジスタ１２１２Ｂとして、１６ビットのレジスタとして使用することが可能である。
【０２３７】
さらに、ＣＰＵコア１０２は、８ビットの幅を有するフラグレジスタ１２００を備えている。
【０２３８】
フラグレジスタ１２００は、図１３で詳細を説明するが、レジスタを用いた演算結果が格納される。また、フラグレジスタ１２００の、レジスタバンクセレクタ（ＲＢＳ）１３０１（図１３で後述）によって、２つの汎用レジスタ群１２２０Ａ、１２２０Ｂのうちのいずれを、演算対象として用いるかが選択される。
【０２３９】
レジスタバンクセレクタ（ＲＢＳ）１３０１により選択されたレジスタ群に属する各レジスタは、後述の命令解釈実行回路１２４２によって演算に用いられる。一方、選択されていないレジスタ群に属する各レジスタは、レジスタバンクセレクタ（ＲＢＳ）１３０１の値が変更されて選択対象となるまでは、値を保持する。
【０２４０】
また、ＣＰＵコア１０２は、８ビットの幅を有して、上位アドレス指定レジスタとして機能するＫレジスタ１２３０を備えている。このレジスタは、後述の命令解釈実行回路１２４２が、所定の１６ビットのアドレスに記憶されたデータにアクセスする際の上位８ビットのアドレスを指定する上位アドレス指定レジスタである。
【０２４１】
さらに、ＣＰＵコア１０２は、それぞれ１６ビットの幅を有する、ＩＸレジスタ１２３１、ＩＹレジスタ１２３２、スタックポインタとして機能するＳＰレジスタ１２３３、及びプログラムカウンタとして機能するＰＣレジスタ１２３４を備えている。
【０２４２】
ＩＸレジスタ１２３１、ＩＹレジスタ１２３２は、後述の命令解釈実行回路１２４２がデータをアクセスする際のインデックスとして用いられる。スタックポインタ１２３３は、スタックエリア（図１８で後述）にデータを格納する（又はデータを取り出す）際の領域の位置を示す。プログラムカウンタ１２３４は、後述の命令解釈実行回路１２４２で実行されている命令が格納されているアドレスを示している。
【０２４３】
命令解釈実行回路１２４２は、遊技制御プログラムを実行して、ＣＰＵコア１０２内部の各レジスタを用いた演算処理を行う。具体的には、ユーザプログラムＲＯＭ１０３にて、プログラムカウンタ１２３４に示されるアドレスに記憶されたデータを読み出すとともに、読み出したデータをコードと見なして、コードに対応する命令を実行する。
【０２４４】
故に、本実施形態においては、ＣＰＵコア１０２自体を演算処理手段として例示しているが、ＣＰＵコア１０２の内部では、命令解釈実行回路１２４２が主体となって演算処理手段の機能を果たしている。
【０２４５】
なお、命令解釈実行回路１２４２は、遊技制御プログラムの命令に対応して、アクセス回路１２４３、アドレスバス６５０、及びデータバス６６０を介して、ＣＰＵコア１０２外部のユーザプログラムＲＯＭ１０３、ユーザワークＲＡＭ６０４、及び他の回路との間で、データの授受を行う場合もある。
【０２４６】
また、命令解釈実行回路１２４２は、ユーザプログラムＲＯＭ１０３の命令を１つずつ実行する毎に、次の命令が格納されているアドレスをプログラムカウンタ１２３４に格納する。このようにして命令の実行と、プログラムカウンタ１２３４の更新を繰り返すことで、遊技制御プログラムが順次実行される。なお、割込制御回路６１０Ａからの割込信号を受け付けると、プログラムカウンタ１２３４の値は、予め設定された割込処理のアドレスの値に切り替えられる。
【０２４７】
この命令解釈実行回路１２４２及びＣＰＵコア１０２に備える各レジスタは、内部バス１２３５によって、データが授受される。
【０２４８】
初期値設定回路１２４１は、ＣＰＵコア１０２に備える各レジスタに初期値をハード的に設定する回路である。
【０２４９】
内蔵リセット回路１２４０は、セキュリティ回路６３０からのリセット信号を受信すると、初期値設定回路１２４１を起動させ、ＣＰＵコア１０２に備える各レジスタに初期値を設定させたのちに、命令解釈実行回路１２４２を起動させる。
【０２５０】
図１３は、本発明の第１の実施の形態のフラグレジスタ１２００の構成を説明する図である。フラグレジスタ１２００の各ビットの値は、図１２における命令解釈実行回路１２４２によって設定される。
【０２５１】
割込マスタ許可フラグ（ＩＭＦ）１３００は、割込信号による割込処理の許否を設定するフラグであり、セット（値が「１」）で許可、クリア（値が「０」）で禁止となる。
【０２５２】
レジスタバンクセレクタ（ＲＢＳ）１３０１は、図１２における命令解釈実行回路１２４２が演算処理を行う際に、２つの汎用レジスタ群１２２０Ａ、１２２０Ｂのうちのいずれを用いるかを選択するフラグであり、セット（値が「１」）でバンク１のレジスタ群１２２０Ｂ、クリア（値が「０」）でバンク０のレジスタ群１２２０Ａが選択される。
【０２５３】
オーバーフローフラグ（ＶＦ）１３０２は、所定の演算によって演算対象の汎用レジスタに桁溢れ（オーバーフロー）が発生するとセット（値が「１」）され、他の場合はクリア（値が「０」）される。
【０２５４】
サインフラグ（ＳＦ）１３０３は、所定の演算によって演算対象の汎用レジスタの最上位ビットが「１」になるとセット（値が「１」）され、他の場合はクリア（値が「０」）される。
【０２５５】
ハーフキャリーフラグ（ＨＦ）１３０４は、８ビット演算を行った結果として演算対象の汎用レジスタの４ビット目に桁上がり（キャリー）や桁借り（ボロー）が発生するとセット（値が「１」）され、他の場合はクリア（値が「０」）される。
【０２５６】
キャリーフラグ（ＣＦ）１３０５は、所定の演算によって桁上がり（キャリー）や桁借り（ボロー）が発生するとセット（値が「１」）され、他の場合はクリア（値が「０」）される。
【０２５７】
ゼロフラグ（ＺＦ）１３０６は、所定の演算算結果が「０」となった場合にセット（値が「１」）され、他の場合はクリア（値が「０」）される。
【０２５８】
ジャンプステータスフラグ（ＪＦ）１３０７は、キャリーフラグ（ＣＦ）１３０５又はゼロフラグ（ＺＦ）１３０６の少なくとも一方がセットされた場合にはセット（値が「１」）される。若しくは、演算処理を行わない場合であっても、汎用レジスタの値が「００Ｈ」の値になった場合は、セット（値が「１」）される。このような条件をいずれも満たさない場合は、クリア（値が「０」）される。
【０２５９】
図１４は、本発明の第１の実施の形態のユーザワークＲＡＭ１０４の一例を示す図である。
【０２６０】
ユーザワークＲＡＭ１０４は、第１停電復旧領域７０１、ワークエリア７０２、第２停電復旧領域７０３、チェックサム領域７０４、使用禁止領域（アクセス禁止領域）７０５、及びスタック領域７０６を有する。
【０２６１】
ユーザワークＲＡＭ１０４には、アドレス「２８００Ｈ」〜「２９ＦＦＨ」が割り当てられており、第１停電復旧領域７０１にはアドレス「２８００Ｈ」が割り当てられ、ワークエリア７０２にはアドレス「２８０１Ｈ」〜「２９１７Ｈ」が割り当てられ、第２停電復旧領域７０３にはアドレス「２９１８Ｈ」が割り当てられ、チェックサム領域７０４にはアドレス「２９１９Ｈ」が割り当てられ、使用禁止領域７０５にはアドレス「２９１ＡＨ」〜「２９７ＦＨ」が割り当てられ、スタック領域７０６にはアドレス「２９８０Ｈ」〜「２９ＦＦＨ」が割り当てられる。
【０２６２】
ユーザワークＲＡＭ１０４の各領域について説明する。
【０２６３】
第１停電復旧領域７０１及び第２停電復旧領域７０３は、遊技機１への電源供給開始時に参照される情報が格納されており、直前の電源供給停止のとき（停電発生や遊技機１の電源スイッチをオフにしたとき）に、電源遮断の処理が正しく実行されていたか否かを示す情報（電源遮断確認フラグ）が格納されている。
【０２６４】
ワークエリア７０２には、遊技制御で必要な変数等が格納され、図２５及び図２６に示す遊技制御装置メイン処理並びに図２９に示すタイマ割込処理等で、これらの変数が更新される。具体的には、特図変動表示ゲーム及び普図変動表示ゲームの保留数を格納する保留カウンタ、特図変動表示ゲームを実行するために必要な各種乱数の生成領域、普図変動表示ゲームを抽選するために必要な乱数（普図乱数）の生成領域、普図乱数の保存領域、特図変動表示ゲームを実行するために必要な各種乱数の保存領域などがワークエリア７０２に記憶される。これらの詳細については、図１５から図１７を参照して後述する。
【０２６５】
チェックサム領域７０４には、停電発生時に算出されたユーザワークＲＡＭ１０４の第１停電復旧領域７０１、ワークエリア７０２、及び第２停電復旧領域７０３のチェックサムが格納される。
【０２６６】
使用禁止領域７０５は使用されない記憶領域であり、当該領域へのアクセスがあると、セキュリティ回路６３０（図６）によって、ＣＰＵコア１０２がリセットされるようになっている。
【０２６７】
スタック領域７０６には、ＣＰＵコア１０２で演算されているデータの一部を一時的に退避させる場合に、退避データが格納される。また、割込みが発生した場合の戻りアドレスや、サブルーチンや関数を呼び出す場合の戻りアドレスも格納される。
【０２６８】
なお、本実施形態では、ワークエリア７０２のうち遊技制御に用いられる各種乱数の生成及び保存領域の上位アドレスと、スタック領域７０６が割り当てられている領域の上位アドレスが異なるように設定されている。具体的には、ワークエリア７０２の各種乱数の生成及び保存領域の上位アドレスが「２８Ｈ」、スタック領域の上位アドレスが「２９Ｈ」となっており、乱数更新時にスタック領域の値を誤って更新してしまったり、スタック領域更新時に乱数の値を誤って更新してしまったりすることを防止している。
【０２６９】
さらに、上位アドレスが誤って設定されてしまった場合であっても誤作動を生じさせないように、各種乱数の生成及び保存領域の下位アドレスがスタック領域の下位アドレスと重ならないように設定している。
【０２７０】
具体的には、図１５から図１７で後述する、特図変動表示ゲームを実行するための各種乱数（始動記憶）の生成領域（２８２０Ｈ〜２８２７Ｈ）、普図乱数の生成領域（２８２８Ｈ）及び普図乱数の保存領域（２８２ＣＨ〜２８２ＦＨ）、第１特図変動表示ゲームを実行するための各種乱数（始動記憶）の保存領域（２８３０Ｈ〜２８４ＦＨ）、及び、第２特図変動表示ゲームを実行するための各種乱数（始動記憶）の保存領域（２８５０Ｈ〜２８６ＦＨ）などが該当する。これらの領域の上位アドレスを「２８Ｈ」から「２９Ｈ」に置換した領域（即ち２９２０Ｈ〜２９６ＦＨの領域）は、図１４に示すように、使用禁止領域７０５として設定されている。
【０２７１】
図１５から図１７は、本発明の第１の実施の形態のユーザワークＲＡＭ１０４に割り当てられたワークエリア７０２に格納されるデータの具体例を説明する図である。図１５は保留カウンタ、各種乱数の生成領域及び普図乱数の保存領域を示す。図１６は第１特図変動表示ゲームを実行するために必要な各種乱数の保存領域、図１７は第２特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す。
【０２７２】
図１５を参照すると、保留カウンタを格納する領域として２８１ＤＨから２８１ＦＨが割り当てられている。具体的には、第１特図変動表示ゲームの保留記憶数を格納する第１特図保留カウンタ（２８１ＤＨ）、第２特図変動表示ゲームの保留記憶数を格納する第１特図保留カウンタ（２８１ＥＨ）、普図変動表示ゲームの保留記憶数を格納する普図保留カウンタ（２８１ＦＨ）となっている。さらに、特図変動表示ゲームを実行するための各種乱数（始動記憶）の生成領域（２８２０Ｈ〜２８２７Ｈ）、普図乱数の生成領域（２８２８Ｈ）及び普図乱数の保存領域（２８２ＣＨ〜２８２ＦＨ）が割り当てられている。
【０２７３】
特図変動表示ゲームを実行するための各種乱数には、特図変動表示ゲームの大当りを決定するための大当り乱数（２バイト）、特図変動表示ゲームの大当り図柄を決定するための大当り図柄乱数、特図変動表示ゲームの変動パターンを決定するための第１変動Ｐ（パターン）乱数（２バイト）、第２変動Ｐ（パターン）乱数、第３変動Ｐ（パターン）乱数（２バイト）が含まれる。
【０２７４】
図１６を参照すると、第１特図変動表示ゲームを実行するための各種乱数を格納する領域が割り当てられている。本実施形態では、第１特図変動表示ゲームの始動記憶（特図１始動記憶）を最大４回分保持可能となっている。そして、これら乱数値は、特図始動口ＳＷ共通処理（図４０）において設定される。
【０２７５】
具体的には、記憶された特図１始動記憶の保留順に領域が割り当てられる。具体的には、保留１は２８３０Ｈから２８３７Ｈ、保留２は２８３８Ｈから２８３ＦＨ、保留３は２８４０Ｈから２８４７Ｈ及び保留４は２８４８Ｈから２８４ＦＨの各領域が割り当てられている。また、各領域には、前述した特図変動表示ゲームを実行するための各種乱数に応じた領域がさらに割り当てられている。
【０２７６】
そして、保留１個目の特図１始動記憶に対応する第１特図変動表示ゲームが実行される場合には、後述する特図普段処理の特図１変動開始処理（図４５）において、保留１個目の各乱数を取得（一時的に退避）した後に、保留２個目〜４個目の特図１始動記憶に対応する領域に記憶された各乱数を保留１個目〜３個目の特図１始動記憶に対応する領域にシフトする。
【０２７７】
そして、遊技制御装置１００は、後述する特図大当り判定処理（図４２）において、取得した各乱数（一時的に退避していた保留１個目の各乱数）の値と、予め定義された特図１変動表示ゲーム用の大当り判定値とを比較して、特図１変動表示ゲームが大当りか否かを判定し、特図１始動記憶数（第１特図保留カウンタに記憶された値）を１減算する。
【０２７８】
図１７を参照すると、図１６に示した第１特図変動表示ゲームの場合と同様に、第２特図変動表示ゲームを実行するための各種乱数（特図２始動記憶）を格納する領域が割り当てられている。特図２始動記憶に含まれる各種乱数は、特図１始動記憶と同様に処理される。
【０２７９】
図１８及び図１９は、本発明の第１の実施の形態のスタック領域７０６の一例を示す図である。図１８及び図１９では、スタック領域７０６に戻りアドレスや所定のレジスタの値が格納される場合について説明する。
【０２８０】
まず、図１８（Ａ）は、遊技機１に電源が投入された直後の状態であり、スタック領域７０６に何もデータが格納されていない状態を示している。この場合、スタックポインタ（ＳＰ）１２３３は、スタック領域の最終領域（２９ＦＦＨ）をスタックポインタ初期値として示している。
【０２８１】
図１８（Ｂ）は、スタック領域７０６に退避データが格納されたり、割込み発生やサブルーチン呼び出しによって、スタック領域７０６に戻りアドレスなどのデータが格納された状態を示している。この場合、最後にデータ（又はアドレス）が格納された領域の１つ上のアドレスを、スタックポインタ１２３３によって示すことになる。
【０２８２】
なお、スタック領域７０６に戻りアドレスが格納される場合としては、割込みが発生した場合と、後述する「ＣＡＬＬ」命令を実行して通常のサブルーチン呼び出しを行った場合とがあるが、本実施形態では、前者の場合と後者の場合とで、スタック領域７０６に格納されるデータが異なる。
【０２８３】
図１９（Ｃ）は、呼出元のルーチンにて後述する「ＣＡＬＬ」命令を実行して通常のサブルーチン呼び出しを行った場合において、スタック領域７０６にデータが退避する様子を示している。なお、この図は、図１８（Ｂ）の状態にて「ＣＡＬＬ」命令を実行した直後の様子を示している。
【０２８４】
図１８（Ｂ）において、「ＣＡＬＬ」命令を実行すると、スタック領域７０６に、呼出元のルーチンの戻りアドレスが上位バイトと下位バイトに分離して格納される。このとき、最後にアドレスが格納された領域の１つ上のアドレスが、スタックポインタ１２３３によって示される。
【０２８５】
なお、呼出先のサブルーチンの処理の最後にて、後述する「ＲＥＴ」命令が実行されると、この戻りアドレスがプログラムカウンタ１２３４に戻されるとともに、スタックポインタ１２３３の値も、「ＣＡＬＬ」命令実行前の値に戻される（図１８（Ｂ）の状態に戻る）。これにより、呼出元のルーチンに処理を戻すことができる。
【０２８６】
一方、図１９（Ｄ）は、呼出元のルーチンにて割込みが発生して、呼出先の割込処理のルーチンが実行される場合において、スタック領域７０６にデータが退避する様子を示している。なお、図１９（Ｄ）は、図１８（Ｂ）の状態にて割込みが発生した直後の様子を示している。
【０２８７】
図１８（Ｂ）において、割込みが発生すると、スタック領域７０６に、まず、呼出元のルーチンで設定されていたフラグレジスタ１２００の値が格納され、次に、呼出元のルーチン戻りアドレスが上位バイトと下位バイトに分離して格納される。このとき、最後にアドレスが格納された領域の１つ上のアドレスが、スタックポインタ１２３３によって示される。
【０２８８】
なお、呼出先の割込処理ルーチンの最後にて、後述する「ＲＥＴＩ」若しくは「ＲＥＴＮ」命令が実行されると、スタック領域７０６に格納していた戻りアドレスがプログラムカウンタ１２３４に戻され、スタック領域７０６に格納していたフラグレジスタの値も、フラグレジスタ１２００に戻される。さらに、スタックポインタ１２３３の値も、割込みが発生する前の値に戻される（図１８（Ｂ）の状態に戻る）。これにより、呼出元のルーチンに処理を戻すことができる。
【０２８９】
このようにして、スタック領域７０６に格納された戻りアドレス等のデータは、後に格納された戻りアドレスから先に読み出される。
【０２９０】
なお、後述する「ＰＵＳＨ」命令を実行すると、命令で指定されたレジスタの値がスタック領域７０６に格納され、スタックポインタ１２３３の値も、図１９（Ｃ）や図１９（Ｄ）と同様に、最後にデータが格納された領域の１つ上のアドレスを示すことになる。
【０２９１】
一方、後述する「ＰＯＰ」命令を実行すると、スタック領域７０６に格納されていた値を取り出して、命令で指定されたレジスタに格納され、スタックポインタ１２３３の値も、図１９（Ｃ）から図１８（Ｂ）に変化するように、最後にデータが取り出された領域のアドレスを示すことになる。
【０２９２】
このように、本実施形態では、スタック領域７０６において最後にデータが格納されたアドレスの１つ上のアドレス（言い換えれば、最後に取り出されたデータのアドレス）を、スタックポインタ１２３３によって示している。すなわち、現時点でのスタックポインタ１２３３は、次のスタック領域７０６に格納されるデータのアドレスを示している。
【０２９３】
なお、別の方法として、現時点でのスタックポインタ１２３３によって、次にスタック領域７０６から取り出されるデータのアドレスを示すような方法も考えられる。このような変形例を図２０に示す。
【０２９４】
図２０（Ｅ）は、遊技機１に電源が投入された直後の状態であり、スタック領域７０６に何もデータが格納されていない状態を示している。この場合、スタックポインタ（ＳＰ）１２３３は、スタック領域の最終領域（２９ＦＦＨ）の１つ下のアドレス（２Ａ００Ｈ）をスタックポインタ初期値として示している。なお、このスタックポインタ初期値が示す領域は、スタック領域には含まれない領域（本実施形態では、ユーザワークＲＡＭ１０４の記憶領域にも含まれていない領域）である。
【０２９５】
図２０（Ｆ）は、スタック領域７０６に退避データが格納されたり、割込み発生やサブルーチン呼び出しによって、スタック領域７０６に戻りアドレスなどのデータが格納された状態を示している。この場合、最後にデータ（又はアドレス）が格納された領域を、スタックポインタ１２３３によって示すことになる。スタック領域７０６からデータを取りだす場合は、現時点でスタックポインタ１２３３が示しているアドレスからデータを取り出せばよい。
【０２９６】
なお、スタック領域７０６の割り当てが、上位アドレスが同じ領域に限定されている（例えば、２９００Ｈ〜２９ＦＦＨの領域に割り当てられることが限定されている）のであれば、スタックポインタ１２３３は下位のアドレスのみを指定するだけで機能を発揮する。このような構成においては、スタックポインタ１２３３を１バイトのレジスタで構成することが可能であり、図２０の方法よりも、図１８及び図１９の方法にてスタックポインタ１２３３によるアドレス指定を行う構成が効果的である。
【０２９７】
図２１及び図２２は、本発明の第１の実施の形態のＣＰＵコア１０２によって実行される遊技制御プログラムを記述するためのアセンブリ言語の命令を説明する図である。各命令は、対応するコードデータに変換されて、ユーザプログラムＲＯＭ１０３の所定のアドレスに記憶されている。図２１は、変換後のコードデータにアドレス部を含まない命令（変換後のコードデータが命令コード部のみで構成される命令）を示し、図２２は、変換後のコードデータに命令コード部とアドレス部の各々を含む命令を示している。なお、ここで対象となるレジスタは、図１２に示すレジスタである。
【０２９８】
図２１において、命令２１００は、指定するレジスタの値を、Ａレジスタ１２０２Ａに格納する命令である。例えば、「ＬＤ  Ａ，Ｂ」は、Ｂレジスタ１２０４Ａの値を、Ａレジスタ１２０２Ａに格納する命令である。他の「ＬＤ  Ａ，Ｃ」〜「ＬＤ  Ａ，Ｌ」の命令も同様に、対応するＣレジスタ１２０５Ａ〜Ｌレジスタ１２１１Ａから値を抽出して、Ａレジスタ１２０２Ａに格納する命令である。
【０２９９】
命令２１０１は、Ａレジスタ１２０２Ａの値を、指定するレジスタに格納する命令である。例えば、「ＬＤ  Ｂ，Ａ」は、Ａレジスタ１２０２Ａの値を、Ｂレジスタ１２０４Ａの値に格納する命令である。他の「ＬＤ  Ｃ，Ａ」〜「ＬＤ  Ｌ，Ａ」の命令も同様に、Ａレジスタ１２０２Ａから値を抽出して、対応するＣレジスタ１２０５Ａ〜Ｌレジスタ１２１１Ａに格納する命令である。
【０３００】
命令２１０２は、Ａレジスタ１２０２Ａの値と指定するレジスタの値とで論理和演算を行い、演算結果をＡレジスタ１２０２Ａに格納する命令である。例えば、「ＯＲ  Ｂ」は、Ａレジスタ１２０２Ａの値とＢレジスタ１２０４Ａの値とで、各ビット毎に論理和演算を行い、演算結果をＡレジスタ１２０２Ａに格納する命令である。他の「ＯＲ  Ｃ」〜「ＯＲ  Ｌ」の命令も同様に、Ａレジスタ１２０２Ａの値と、対応するＣレジスタ１２０５Ａ〜Ｌレジスタ１２１１Ａの値とで論理和演算を行い、演算結果をＡレジスタ１２０２Ａに格納する命令である。
【０３０１】
命令２１０３の「ＡＤＤ  Ａ，Ａ」は、Ａレジスタ１２０２Ａの値に、同じＡレジスタ１２０２Ａの値を加算して、演算結果をＡレジスタ１２０２Ａに格納する命令である。実質的には、Ａレジスタ１２０２Ａの値が２倍される演算が行われる命令である。命令２１０４の「ＡＤＤ  ＨＬ，ＢＣ」は、ＨＬレジスタ１２１２Ａの値にＢＣレジスタ１２０６Ａの値を加算して、演算結果をＨＬレジスタ１２１２Ａに格納する命令である。
【０３０２】
命令２１０５の「ＰＵＳＨ  ＨＬ」は、ＨＬレジスタ１２１２Ａの値を、スタックエリアに格納する命令である。命令２１０６の「ＰＯＰ  ＨＬ」は、スタックエリアから取り出した値をＨＬレジスタ１２１２Ａの値に格納する命令である。
【０３０３】
命令２１０７の「ＩＮＣ  ＨＬ」は、ＨＬレジスタ１２１２Ａの値を「１」だけ加算する命令である。命令２１０８の「ＤＥＣ  ＨＬ」は、ＨＬレジスタ１２１２Ａの値を「１」だけ減算する命令である。
【０３０４】
命令２１０９の「ＪＰ  （ＨＬ）」は、ＨＬレジスタ１２１２Ａの値をアドレスと見なして、そのアドレス先に分岐する命令である。例えば、ＨＬレジスタ１２１２Ａの値が「１２３４Ｈ」であれば、命令解釈実行回路１２４２は、プログラムカウンタ１２３４の値を「１２３４Ｈ」に変更する。これにより、次に、命令解釈実行回路１２４２が実行する命令は、アドレスが「１２３４Ｈ」となる領域に格納されているコードを変換した命令となる。以降、命令解釈実行回路１２４２は、変更後のアドレス以降の命令を順次実行する。
【０３０５】
命令２１１０は、スタックエリアに格納された値をプログラムカウンタ１２３４に戻すことで、呼び出し先の処理ルーチンから、呼び出し元の処理ルーチンに復帰する命令である。ここで、「ＲＥＴ」は、図２２で後述する「ＣＡＬＬ  ｎｎ」命令の実行により呼び出された処理ルーチンから復帰する命令であり、「ＲＥＴＩ」は、ＩＮＴ割込により呼び出された処理ルーチンから復帰する命令であり、「ＲＥＴＮ」は、ＮＭＩ割込により呼び出された処理ルーチンから復帰する命令である。
【０３０６】
命令２１１１は、割込を受け付けるか否かを設定する命令である。「ＤＩ」は割り込みの禁止を設定する命令であり、「ＥＩ」は割り込みの許可を設定する命令である。
【０３０７】
命令２１１２は、Ｋレジスタ１２３０に格納されている値を上位バイトとし、Ｌレジスタ１２１１Ａに格納されている値を下位バイトとして合成した２バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値を、Ａレジスタ１２０２Ａに設定する命令である。具体的には、「２８０３Ｈ」のアドレスに記憶された値をＡレジスタ１２０２Ａに設定したいときは、予め、Ｋレジスタ１２３０に「２８Ｈ」の値を格納するとともに、Ｌレジスタ１２１１Ａに「０３Ｈ」の値を格納し、その状態で「ＬＤＫ  Ａ，（Ｌ）」という命令を実行する。
【０３０８】
なお、Ａレジスタ１２０２Ａの値を、所望のアドレスの領域に格納する場合は、予め格納先の上位アドレスをＫレジスタ１２３０に設定し、下位アドレスをＬレジスタ１２１１Ａに設定した状態で、図に示す「ＬＤＫ  （Ｌ），Ａ」という形式の命令を実行する。
【０３０９】
命令２１１３の「ＩＮＣ  Ｌ」は、Ｌレジスタ１２１１Ａに格納されている値を「１」だけ加算する命令である。ただし、Ｌレジスタ１２１１Ａの値が「ＦＦＨ」のときに、「ＩＮＣ  Ｌ」命令を実行すると、命令実行後のＬレジスタ１２１１Ａの値が「００Ｈ」になる。
【０３１０】
命令２１１４の「ＤＥＣ  Ｌ」は、Ｌレジスタ１２１１Ａに格納されている値を「１」だけ減算する命令である。ただし、Ｌレジスタ１２１１Ａの値が「００Ｈ」のときに、「ＤＥＣ  Ｌ」命令を実行すると、命令実行後のＬレジスタ１２１１Ａの値が「ＦＦＨ」になる。
【０３１１】
命令２１１５は、図１３で前述したフラグレジスタ１２００の「レジスタバンクセレクタ」のビットに値を設定するための命令である。「ＬＤ  ＲＡＳ，０」は該当ビットに「０」の値を設定する命令であり、「ＬＤ  ＲＡＳ，１」は該当ビットに「１」の値を設定する命令である。
【０３１２】
命令２１０６の「ＰＵＳＨ  ＦＬＧ」は、フラグレジスタ１２００の値を、スタックエリアに格納する命令である。命令２１０７の「ＰＯＰ  ＦＬＧ」は、スタックエリアから取り出した値をフラグレジスタ１２００に格納する命令である。
【０３１３】
図２１に示す命令のうち、図に示すように、命令２１００から命令２１１４までの命令は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部を構成するコードデータに変換される。例えば、「ＬＤ  Ａ，Ｂ」の命令は、「７８Ｈ」という１バイトのコードデータに変換されて、ユーザプログラムＲＯＭ１０３の所定アドレスに記憶されている。
【０３１４】
一方、図２１に示す命令のうち、命令２１１５から命令２１１７までの命令は、ユーザプログラムＲＯＭ１０３に記憶される際に、２バイトの命令コード部を構成するコードデータに変換される。例えば、「ＬＤ  ＲＡＳ，０」は、「ＣＢＨ」「００Ｈ」という２バイトのコードデータに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに記憶されている。
【０３１５】
次に、図２２において、命令２２００は、指定するレジスタに任意の１バイトの値を設定する命令である。図中の「ｎ」はレジスタに設定する値を示しており、例えば、Ａレジスタ１２０２Ａに「４２Ｈ」の値を設定したいときは、「ＬＤ  Ａ，４２Ｈ」という命令になる。
【０３１６】
なお、この命令２２００は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、１バイトのアドレス部とからなる計２バイトのコードデータに変換される。例えば、「ＬＤ  Ａ，４２Ｈ」の命令は、１バイトの命令コード部のデータ「３ＥＨ」と、１バイトのアドレス部のデータ「４２Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに「３ＥＨ」、「４２Ｈ」の順で記憶されている。
【０３１７】
同様に、「ＬＤ  Ｂ，ｎ」は、Ｂレジスタ１２０４Ａに任意の１バイトの値（ｎ）を設定する命令であり、「ＬＤ  Ｋ，ｎ」は、Ｋレジスタ１２３０に任意の１バイトの値（ｎ）を設定する命令である。これらの命令も、１バイトの命令コード部と、１バイトのアドレス部のデータに変換されて、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに記憶されている。
【０３１８】
命令２２０１は、任意のアドレスの領域に記憶されている値を、Ａレジスタ１２０２Ａに設定する命令である。図中の「ｎｎ」は２バイトのアドレス値を示しており、例えば、「２９０１Ｈ」のアドレスに記憶された値をＡレジスタ１２０２Ａに設定したいときは、「ＬＤ  Ａ，（２９０１Ｈ）」という命令になる。
【０３１９】
なお、Ａレジスタ１２０２Ａの値を、任意のアドレスの領域に格納する場合は、図に示すように「ＬＤ  （ｎｎ），Ａ」という形式の命令になる。例えば、Ａレジスタ１２０２Ａの値を「２９０１Ｈ」のアドレスの領域に格納したいときは、「ＬＤ  （２９０１Ｈ），Ａ」という命令になる。
【０３２０】
この命令２２０１は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、２バイトのアドレス部とからなる計３バイトのコードデータに変換される。例えば、「ＬＤ  Ａ，（２９０１Ｈ）」の命令は、１バイトの命令コード部のデータ「３ＡＨ」と、２バイトのアドレス部のデータ「０１Ｈ」「２９Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに、「３ＡＨ」、「０１Ｈ」、「２９Ｈ」の順で記憶されている。
【０３２１】
命令２２０２は、Ｋレジスタ１２３０に格納されている値を上位バイトとし、任意の１バイトの値で示される値を下位バイトとして合成した２バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値を、Ａレジスタ１２０２Ａに設定する命令である。この場合の任意の１バイトの下位アドレスは、図中の「ｎ」に対応している。
【０３２２】
具体的には、「２８０３Ｈ」のアドレスに記憶された値をＡレジスタ１２０２Ａに設定したいときは、予めＫレジスタ１２３０に「２８Ｈ」の値を格納しておき、その状態で「ＬＤＫ  Ａ，（０３Ｈ）」という命令を実行する。
【０３２３】
なお、Ａレジスタ１２０２Ａの値を、所望のアドレスの領域に格納する場合は、予め格納先の上位アドレスをＫレジスタ１２３０に設定した状態で、図に示す「ＬＤＫ  （ｎ），Ａ」という形式の命令を実行する。例えば、Ａレジスタ１２０２Ａの値を「２８０３Ｈ」のアドレスの領域に格納したいときは、Ｋレジスタ１２３０の値を「２８Ｈ」に設定した状態で、「ＬＤＫ  （０３Ｈ），Ａ」という命令を実行する。
【０３２４】
この命令２２０２は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、１バイトのアドレス部とからなる計２バイトのコードデータに変換される。例えば、「ＬＤＫ  Ａ，（０３Ｈ）」の命令は、１バイトの命令コード部のデータ「３ＦＨ」と、１バイトのアドレス部のデータ「０３Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに、「３ＦＨ」、「０３Ｈ」の順で記憶されている。
【０３２５】
命令２２０３は、指定するレジスタに任意の２バイトの値を設定する命令である。図中の「ｎｎ」はレジスタに設定する２バイトの値を示しており、例えば、ＨＬレジスタ１２１２Ａに「５６７８Ｈ」の値を設定したいときは、「ＬＤ  ＨＬ，５６７８Ｈ」という命令になる。
【０３２６】
なお、この命令２２０３は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、２バイトのアドレス部とからなる計２バイトのコードデータに変換される。例えば、「ＬＤ  ＨＬ，５６７８Ｈ」の命令は、１バイトの命令コード部のデータ「２１Ｈ」と、２バイトのアドレス部のデータ「７８Ｈ」「５６Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに「２１Ｈ」、「７８Ｈ」、「５６Ｈ」の順で記憶されている。
【０３２７】
同様に、「ＬＤ  ＳＰ，ｎｎ」は、スタックポインタ１２３３に任意の２バイトの値（ｎ）を設定する命令である。これらの命令も、１バイトの命令コード部と、２バイトのアドレス部のデータに変換されて、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに記憶されている。
【０３２８】
命令２２０４は、任意の連続するアドレスの領域に記憶されている２バイトの値を、ＨＬレジスタ１２１２Ａに設定する命令である。図中の「ｎｎ」は連続する小さいほうのアドレス値を示しており、例えば、「２９０１Ｈ」と「２９０２Ｈ」の各アドレスに記憶された値をＨＬレジスタ１２１２Ａに設定したいときは、「ＬＤ  ＨＬ，（２９０１Ｈ）」という命令になる。このとき、「２９０１Ｈ」のアドレスに格納されている値がＬレジスタ１２１１Ａに格納され、「２９０２Ｈ」のアドレスに格納されている値がＨレジスタ１２１０Ａに格納される。
【０３２９】
なお、ＨＬレジスタ１２１２Ａの値を、任意の連続するアドレスの領域に格納する場合は、図に示すように「ＬＤ  （ｎｎ），ＨＬ」という形式の命令になる。例えば、ＨＬレジスタ１２１２Ａの値を、「２９０１Ｈ」と「２９０２Ｈ」の各アドレスの領域に格納したいときは、「ＬＤ  （２９０１Ｈ），ＨＬ」という命令になる。このとき、Ｌレジスタ１２１１Ａの値が「２９０１Ｈ」のアドレスに格納され、Ｈレジスタ１２１０Ａの値が「２９０２Ｈ」のアドレスに格納される。
【０３３０】
この命令２２０４は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、２バイトのアドレス部とからなる計３バイトのコードデータに変換される。例えば、「ＬＤ  ＨＬ，（２９０１Ｈ）」の命令は、１バイトの命令コード部のデータ「２ＡＨ」と、２バイトのアドレス部のデータ「０１Ｈ」「２９Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに、「２ＡＨ」、「０１Ｈ」、「２９Ｈ」の順で記憶されている。
【０３３１】
命令２２０５は、Ｋレジスタ１２３０に格納されている値を上位バイトとし、任意の１バイトの値で示される値を下位バイトとして合成した２バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値と、当該アドレスに続くアドレスに記憶されている値の各々を、ＨＬレジスタ１２１２Ａに設定する命令である。この場合の任意の１バイトの下位アドレスは、図中の「ｎ」に対応している。
【０３３２】
具体的には、「２８０３Ｈ」及び「２８０４Ｈ」のアドレスに記憶された値をＨＬレジスタ１２１２Ａに設定したいときは、予めＫレジスタ１２３０に「２８Ｈ」の値を格納しておき、その状態で「ＬＤＫ  ＨＬ，（０３Ｈ）」という命令を実行する。これにより、「２８０３Ｈ」のアドレスに格納されている値がＬレジスタ１２１１Ａに格納され、「２８０４Ｈ」のアドレスに格納されている値がＨレジスタ１２１０Ａに格納される。
【０３３３】
なお、ＨＬレジスタ１２１２Ａの値を、所望のアドレスの領域に格納する場合は、予め格納先の上位アドレスをＫレジスタ１２３０に設定した状態で、図に示す「ＬＤＫ  （ｎ），ＨＬ」という形式の命令を実行する。例えば、ＨＬレジスタ１２１２Ａの値を「２８０３Ｈ」及び「２８０４Ｈ」のアドレスの領域に格納したいときは、Ｋレジスタ１２３０の値を「２８Ｈ」に設定した状態で、「ＬＤＫ  （０３Ｈ），ＨＬ」という命令を実行する。
【０３３４】
この命令２２０５は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、１バイトのアドレス部とからなる計２バイトのコードデータに変換される。例えば、「ＬＤＫ  ＨＬ，（０３Ｈ）」の命令は、１バイトの命令コード部のデータ「２ＦＨ」と、１バイトのアドレス部のデータ「０３Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに、「３ＦＨ」、「０３Ｈ」の順で記憶されている。
【０３３５】
命令２２０６は、指定するアドレスに処理を分岐させる命令である。図中の「ｎｎ」は分岐先のアドレスを示しており、例えば、「５６７８Ｈ」のアドレスに処理に分岐させるときは、「ＪＰ  ５６７８Ｈ」という命令になる。この命令を実行すると、命令解釈実行回路１２４２は、指定するアドレスの値をプログラムカウンタ１２３４に設定する。
【０３３６】
なお、この「ＪＰ  ｎｎ」の形式で示される命令は、フラグレジスタ１２００の内容にかかわらず、指定するアドレスに処理を分岐する。フラグレジスタ１２００のゼロフラグ１３０６（図１３）がセットされているときのみ分岐を行いたい場合は「ＪＰ  Ｚ，ｎｎ」の命令を用い、このゼロフラグ１３０６がクリアされているときのみ分岐を行いたい場合は「ＪＰ  ＮＺ，ｎｎ」の命令を用いる。
【０３３７】
なお、この命令２２０６は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、２バイトのアドレス部とからなる計２バイトのコードデータに変換される。例えば、「ＪＰ  ５６７８Ｈ」の命令は、１バイトの命令コード部のデータ「Ｃ３Ｈ」と、２バイトのアドレス部のデータ「７８Ｈ」「５６Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに「Ｃ３Ｈ」、「７８Ｈ」、「５６Ｈ」の順で記憶されている。
【０３３８】
命令２２０７の「ＣＡＬＬ  ｎｎ」は、指定するアドレスの処理を呼び出して、呼び出し先の処理ルーチンに一時的に分岐させる命令である。図中の「ｎｎ」は呼び出し先のアドレスを示しており、例えば、「５６７８Ｈ」のアドレスの処理を呼び出すときは、「ＣＡＬＬ  ５６７８Ｈ」という命令になる。この命令を実行すると、命令解釈実行回路１２４２は、現在実行中の命令の次のステップに位置するアドレスの値を、戻り先のアドレスとしてスタックエリアに格納した上で、分岐先のアドレスの値をプログラムカウンタ１２３４に設定する。
【０３３９】
なお、呼び出し先の処理ルーチンの最終ステップでは、前述の「ＲＥＴ」命令を実行することで、プログラムカウンタ１２３４には、スタックエリアに格納された戻り先のアドレスの値を復帰させることができる。これにより、呼び出し元の処理ルーチンのアドレスに処理を戻すことができる。
【０３４０】
なお、この命令２２０７は、ユーザプログラムＲＯＭ１０３に記憶される際に、１バイトの命令コード部と、２バイトのアドレス部とからなる計２バイトのコードデータに変換される。例えば、「ＣＡＬＬ  ５６７８Ｈ」の命令は、１バイトの命令コード部のデータ「ＣＤＨ」と、２バイトのアドレス部のデータ「７８Ｈ」「５６Ｈ」とに変換され、ユーザプログラムＲＯＭ１０３の連続する所定のアドレスに「Ｃ３Ｈ」、「７８Ｈ」、「５６Ｈ」の順で記憶されている。
【０３４１】
図２３は、本発明の第１の実施の形態の各装置（遊技制御装置１００、払出制御装置２１０、及び演出制御装置１５０）の電源投入時処理のフローチャートである。
【０３４２】
具体的には、図２３（Ａ）は、遊技制御装置１００の電源投入時処理のフローチャートであり、図２３（Ｂ）は、払出制御装置２１０の電源投入時処理のフローチャートであり、図２３（Ｃ）は、演出制御装置１５０の電源投入時処理のフローチャートである。
【０３４３】
最初に、遊技制御装置１００の電源投入時処理（図２３（Ａ））から説明する。この電源投入時処理は、ユーザプログラムＲＯＭ６０２（図５参照）に記憶された遊技制御プログラムによって実行される処理ではなく、遊技制御装置１００に備わる各種ハードウェア（ＣＰＵコア１０２周辺のハードウェア）によって実行される処理である。
【０３４４】
まず、遊技制御装置１００は、電源装置１６０から出力されたリセット信号が伝達される（２３０１）。
【０３４５】
このリセット信号は、電源装置１６０から、セキュリティ回路６３０（図１１参照）、ＲＡＭアクセス規制回路６４０のフリップフロップ回路６４１のリセット端子（図１１参照）、及びシリアル送信回路６１５のリセット端子に入力される。具体的には、これらのリセット端子には、電源が投入されると、所定時間、所定の電圧（例えば、５Ｖ）以下の電圧が印加されることによってリセット信号が入力され、所定時間経過後に所定の電圧が印加されることによって、リセット信号が入力されなくなる。
【０３４６】
なお、セキュリティ回路６３０は、電源装置１６０からリセット信号が入力されると、後述のセキュリティチェック処理が終了するまでＣＰＵコア１０２のリセット端子にリセット信号を出力し続けて、ＣＰＵコア１０２の起動を待機させる。
【０３４７】
そして、シリアル送信回路６１５のリセット端子にリセット信号が入力されると、シリアル送信回路６１５の入力端子及び出力端子の電圧レベルがローに制御され、各種装置（普電ＳＯＬ９０、大入賞口ＳＯＬ３８等）に接続される出力Ｉ／Ｆ１０６のポートをすべて０に設定することにより、シリアル送信回路６１５、及び出力Ｉ／Ｆ１０６がハードウェアにより初期化される（２３０２）。
【０３４８】
次に、ＲＡＭアクセス規制回路６４０によって、ユーザワークＲＡＭ１０４への書き込み規制されるＲＡＭ書込禁止状態が発生する（２３０３）。
【０３４９】
具体的には、図１１で説明したように、フリップフロップ回路６４１のクリア端子にはリセット信号が入力されるため、フリップフロップ回路６４１の出力端子Ｑ（負論理）からハイレベルの信号が出力される状態となる。これにより、ＯＲゲート回路６４２の他方の入力端子にハイレベルの信号が入力されても、ローレベルの信号が入力されても、ユーザワークＲＡＭ１０４の書込指令入力端子にはハイレベルの信号が入力されることになるため、ＲＡＭ書込禁止状態が発生する。このように、電源投入時にＲＡＭ書込禁止状態を発生させることによって、誤ったタイミングでユーザワークＲＡＭ１０４が更新されることを防ぐことが可能となる。
【０３５０】
次に、リセット信号が入力された図１１に示すセキュリティ回路６３０が自己診断処理を実行する（２３０４）。自己診断処理は、セキュリティ回路６３０が初期化されているか否かを判定する処理である。
【０３５１】
そして、自己診断処理によって、セキュリティ回路６３０が初期化されていると判定された場合には、セキュリティ回路６３０は、セキュリティチェック処理を実行する（２３０５）。セキュリティチェック処理は、図１１で説明したように、ＨＷパラメータＲＯＭ６０３（図５参照）に記憶された正当性確認情報を用いて、ユーザプログラムＲＯＭ６０２（図５参照）に記憶されたプログラムの正当性の判定を行う処理である。
【０３５２】
ステップ２３０５の処理で、セキュリティチェック処理を実行すると、遊技制御装置プログラム開始準備処理へ移行する。このとき、セキュリティ回路６３０は、ＣＰＵコア１０２のリセット端子に出力していたリセット信号を停止することで、ＣＰＵコア１０２が起動する。このため、遊技制御装置プログラム開始準備処理は、ＣＰＵコア１０２によって実行される。遊技制御装置プログラム開始準備処理は図２４にて後述する。
【０３５３】
次に、払出制御装置２１０の電源投入時処理（図２３（Ｂ））を説明する。前述したように、払出制御装置２１０は、シリアル送信回路６１５を備えていない点を除き、図１１に示した遊技制御装置１００と同じ構成である。図１１に示す遊技制御装置１００の構成部と同じ構成部については、同じ符号を付与して説明する。
【０３５４】
まず、払出制御装置２１０は、電源装置１６０から出力されたリセット信号が伝達される（２３１１）。なお、ステップ２３１１の処理は、ステップ２３０１の処理と同じである。
【０３５５】
そして、払出制御装置２１０にリセット信号が入力されると、払出制御装置２１０の出力ポート（図４の入出力Ｉ／Ｆ２１６に含まれる）の電圧レベルが０に設定され、各種装置（払出モータ２２０、及び発射制御装置２２１等）に接続される入出力Ｉ／Ｆ２１６のポートがすべて０に設定され、入出力Ｉ／Ｆ２１６がハードウェアにより初期化される（２３１２）。
【０３５６】
次に、払出制御装置２１０のＲＡＭアクセス規制回路６４０によって、ＲＡＭ２１４への書き込み規制されるＲＡＭ書込禁止状態が発生する（２３１３）。なお、ステップ２３１３の処理の具体的な説明は、ステップ２３０３の処理と同じである。
【０３５７】
次に、リセット信号が入力された払出制御装置２１０のセキュリティ回路６３０が自己診断処理を実行する（２３１４）。なお、ステップ２３１４の処理の具体的な説明は、ステップ２３０４の処理と同じである。
【０３５８】
そして、自己診断処理によって、セキュリティ回路６３０が初期化されていると判定された場合には、セキュリティ回路６３０は、セキュリティチェック処理を実行する（２３１５）。なお、ステップ２３１５の処理の具体的な説明は、ステップ２３０５の処理と同じである。
【０３５９】
そして、払出制御装置２１０は、電源投入時の初期化処理を実行する（２３１６）。電源投入時の初期化処理は、ＲＡＭ２１４等を初期化する処理であって、ＣＰＵ２１２によって実行される。また、ＲＡＭ２１４を初期化する前に、ステップ２３１３の処理で発生したＲＡＭ書込禁止状態が解除されて、ＲＡＭ２１４はＲＡＭ書込可能状態となる。
【０３６０】
次に、払出制御装置２１０は、遊技制御装置１００からの指令を受信可能な状態を発生させる（２３１７）。そして、払出制御装置２１０のＣＰＵ２１２は、遊技制御装置１００から送信された指令が初期化指令であるか否かを判定する（２３１９）。ステップ２３１９の処理で、遊技制御装置１００から送信された指令が初期化指令でないと判定された場合には（２３１９の結果が「Ｎ」）、初期化指令が取り込まれるまで待機する。
【０３６１】
一方、遊技制御装置１００から送信された指令が初期化指令であると判定された場合には（２３１９の結果が「Ｎ」）、払出制御装置２１０は通信開始時の初期化処理を実行し（２３２０）、払出制御装置メイン処理へ移行する。
【０３６２】
次に、演出制御装置１５０の電源投入時処理（図２３（Ｃ））を説明する。前述したように、演出制御装置１５０は、シリアル送信回路６１５を備えていない点、及び、遊技用演算処理装置６００がＲＡＭアクセス規制回路６４０を備えていない点以外は、図１１に示した遊技制御装置１００と同じ構成である。図１１に示す遊技制御装置１００の構成部と同じ構成部については、同じ符号を付与して説明する。
【０３６３】
まず、演出制御装置１５０は、電源装置１６０から出力されたリセット信号が伝達される（２３２１）。なお、ステップ２３２１の処理は、ステップ２３０１の処理と同じである。
【０３６４】
そして、演出制御装置１５０にリセット信号が入力されると、演出制御装置１５０の出力ポートがハードウェアにより初期化される（２３２２）。
【０３６５】
そして、演出制御装置１５０は、電源投入時の初期化処理を実行する（２３２３）。電源投入時の初期化処理は、ＲＡＭ１５４等を初期化する処理であって、ＣＰＵ１５２によって実行される。
【０３６６】
次に、演出制御装置１５０は、遊技制御装置１００からの指令を受信可能な状態を発生させる（２３２４）。そして、遊技制御装置１００から送信された指令が初期化指令であるか否かを判定する（２３２６）。
【０３６７】
演出制御装置１５０は、遊技制御装置１００から送信された指令が初期化指令でないと判定された場合には（２３２６の結果が「Ｎ」）、初期化指令が取り込まれるまで待機する。
【０３６８】
一方、演出制御装置１５０は、遊技制御装置１００から送信された指令が初期化指令であると判定された場合（２３２６の結果が「Ｙ」」、演出制御装置１５０は通信開始時の初期化処理を実行し（２３２７）、演出制御装置メイン処理へ移行する。
【０３６９】
図２４は、本発明の第１の実施の形態の遊技制御装置プログラム開始準備処理を説明するフローチャートである。なお、遊技制御装置プログラム開始準備処理の前半（プログラムカウンタ１２３４にリセットアドレスを設定するまでの間）は、ユーザプログラムＲＯＭ６０２（図５参照）に記憶された遊技制御プログラムによって実行される処理ではなく、ＣＰＵコア１０２に備わる初期値設定回路１２４（図１２参照）によって実行される処理である。
【０３７０】
ＣＰＵコア１０２は、セキュリティ回路６３０からのリセット信号を受け入れると、内蔵リセット回路１２４０により、初期値設定回路１２４１を動作させる。このとき、内蔵リセット回路１２４０は、初期値設定回路１２４１が各レジスタに初期値を設定するまで、命令解釈実行回路１２４２の動作を待機させる。
【０３７１】
初期値設定回路１２４１が動作を開始すると、スタックポインタ１２３３に初期値「２９ＦＦＨ」を設定し、Ｋレジスタ１２３０に「２８Ｈ」を設定し、ＨＬレジスタ１２１２Ａにリセットアドレスである「４０００Ｈ」を設定し、他のレジスタには「００Ｈ」の値（１６ビットレジスタには「００００Ｈ」の値）を設定する（２４０１）。なお、リセットアドレスは「００００Ｈ」としてもよい。
【０３７２】
次いで、初期値設定回路１２４１は、プログラムカウンタ１２３４に、リセットアドレスである「４０００Ｈ」の値を設定する（２４０２）。これにより、各レジスタに初期値が設定される。次いで、内蔵リセット回路１２４０は、待機させていた命令解釈実行回路１２４２を動作させると、命令解釈実行回路１２４２は、プログラムカウンタ１２３４が示すアドレス（遊技制御プログラムが記憶されたユーザプログラムＲＯＭ６０２のリセットアドレスに相当）からプログラムの実行を開始する。命令解釈実行回路１２４２がプログラムを実行開始した後の処理は、図２５の遊技制御装置メイン処理にて説明する。
【０３７３】
次に、遊技制御装置１００のＣＰＵ１０２によって実行される遊技制御装置メイン処理を、図２５及び図２６を用いて説明する。
【０３７４】
図２５は、本発明の第１の実施の形態の遊技制御装置メイン処理の前半部のフローチャートであり、図２６は、本発明の第１の実施の形態の遊技制御装置メイン処理の後半部のフローチャートである。なお、これらの処理は遊技制御装置１００によって実行されるが、厳密には、命令解釈実行回路１２４２が、ＣＰＵコア１０２内部の各レジスタを参照しながら、遊技制御プログラムを実行することで実現される。
【０３７５】
まず、遊技制御装置１００は、ＣＰＵ１０２への割込みを禁止する（２５０１）。そして、遊技制御装置１００は、スタックポインタ１２３３（図１２）に初期値「２９ＦＦＨ」を設定する（２５０２Ａ）。これにより、スタックポインタ１２３３の値が「２９ＦＦＨ」でなければ「２９ＦＦＨ」に変更される。なお、スタックポインタ１２３３に初期値「２９ＦＦＨ」が既に設定されていても、再度「２９ＦＦＨ」の値が設定される。
【０３７６】
次いで、遊技制御装置１００は、Ｋレジスタ１２３０に「２８Ｈ」の値を設定する（２５０２Ｂ）。これにより、Ｋレジスタ１２３０の値が「２８Ｈ」でなければ「２８Ｈ」に変更される。なお、Ｋレジスタ１２３０に初期値「２８Ｈ」が既に設定されていても、再度「２８Ｈ」の値が設定される。
【０３７７】
次いで、遊技制御装置１００は、割込モードを設定する（２５０３）。割込モードは、ＣＰＵ１０２が内蔵デバイスからの割込要求の処理を可能とし、また、プログラムにおいて割込要求の処理を実行する位置を設定することを可能とするものである。
【０３７８】
次に、遊技制御装置１００は、入力Ｉ／Ｆ１０５からＲＡＭクリアＳＷ信号の状態を取り込み、取り込んだＲＡＭクリアＳＷ信号の状態をＣＰＵ１０２のレジスタに記憶する（２５０４）。
【０３７９】
そして、遊技制御装置１００は、ＲＡＭ１０４を使用しないディレイ処理を実行する（２５０５）。このディレイ処理は、所定時間、処理を待機させる処理であり、具体的には、チェックサムが算出されない記憶領域にて、所定の数が０になるまでデクリメントし続ける処理である。ディレイ処理は、この所定の数を待機させる時間に対応する時間に設定することによって、所定時間を計時するタイマ計時手段となる。なお、ディレイ処理の詳細については、図２８にて後述する。
【０３８０】
次に、遊技制御装置１００は、再度、入力Ｉ／Ｆ１０５からＲＡＭクリアＳＷ信号の状態を取り込み、取り込んだＲＡＭクリアＳＷ信号の状態をＣＰＵ１０２のレジスタに記憶する（２５０６）。なお、ＣＰＵ１０２が二つのＲＡＭクリア信号の状態を比較できるように、ステップ２５０４の処理でＲＡＭクリアＳＷ信号の状態を記憶するレジスタの領域、及び、ステップ２５０６の処理でＲＡＭクリアＳＷ信号の状態を記憶するレジスタの領域は、異なる領域である。
【０３８１】
次に、遊技制御装置１００は、図２３のステップ２３０３の処理で発生したＲＡＭ書込禁止状態をＲＡＭ書込可能状態にする（２５０７）。
【０３８２】
具体的には、ＣＰＵ１０２の指令によって、フリップフロップ回路６４１のクロック端子にクロック信号を出力制御回路６１２から入力させ、かつ、フリップフロップ回路６４１のデータ端子に接続された信号線の信号レベルをハイレベルにする。これにより、フリップフロップ回路６４１の出力端子Ｑ（正論理）からハイレベルの信号が出力され、出力端子Ｑ（負論理）からローレベルの信号が出力されるため、ＯＲゲート回路６４２の入力端子にローレベルの信号が入力されることにより、ＲＡＭ書込可能状態になる。
【０３８３】
次に、遊技制御装置１００は、スタック領域７０６を使用して、各種設定処理を実行する（２５０８）。この設定処理は、例えば、サブルーチンや関数を呼び出して、遊技制御に必要な各種記憶領域に初期データを設定する処理である。この設定処理において、ＣＰＵ１０２により、図７〜図９で前述した、送信シリアルチャンネル設定レジスタ６３３、送信制御レジスタ６３２、送信データステータスレジスタ６３１の各ビットの初期値が設定されることで、送信ボーレート等の設定が行われる。
【０３８４】
これらのサブルーチンや関数は、遊技制御プログラムに記述した複数の箇所から呼び出される形態となっており、遊技制御プログラムの容量削減に貢献している。一方で、サブルーチンや関数を呼び出す際には、前述したように、戻りアドレスをスタック領域７０６に待避する処理を必要とする。
【０３８５】
そして、遊技制御装置１００は、ステップ２５０４の処理でレジスタに記憶されたＲＡＭクリアＳＷ信号の状態とステップ２５０８の処理でレジスタに記憶されたＲＡＭクリアＳＷ信号の状態とを比較して、どちらのＲＡＭクリアＳＷ信号の状態も、ＲＡＭクリアＳＷ１６２が操作されたことを示しているか否かを判定する（２５０９）。
【０３８６】
ステップ２５０９の処理では、異なるタイミングで取得したＲＡＭクリア信号の状態に基づいてＲＡＭクリアＳＷ１６２が操作されたか否かを判定しているので、ノイズ等による誤判定を防止できる。
【０３８７】
ステップ２５０９の処理で、ＲＡＭクリアＳＷ１６２が操作されたと判定された場合、遊技制御装置１００は、ユーザワークＲＡＭ１０４のすべての記憶領域を初期化する（２５１０）。
【０３８８】
そして、遊技制御装置１００は、初期化指令信号を払出制御装置２１０及び演出制御装置１５０へ送信し（２５１１）、図２６に示すステップ２５１７の処理に進む。
【０３８９】
一方、ステップ２５０９の処理で、ＲＡＭクリアＳＷ１６２が操作されていないと判定された場合、遊技制御装置１００は、ユーザワークＲＡＭ１０４の第１停電復旧領域７０１及び第２停電復旧領域７０３に、電源遮断確認フラグが格納されているか（正確には、電源遮断確認フラグがオンとなっているか）を確認する（２５１２）。
【０３９０】
そして、遊技制御装置１００は、直前の電源供給停止のときに、電源遮断の処理が正しく実行されていたか否かを判定する（２５１３）。具体的には、遊技制御装置１００は、第１停電復旧領域７０１及び第２停電復旧領域７０３の両方に電源遮断確認フラグが格納されている場合には、電源遮断の処理が正しく実行されているものであると判定し、一方、第１停電復旧領域７０１及び第２停電復旧領域７０３の少なくとも一方に電源遮断確認フラグが格納されていない場合（少なくとも一方の電源遮断確認フラグがオフの場合）には、電源遮断の処理が正しく実行されていないと判定する。
【０３９１】
ステップ２５１３の処理で電源遮断の処理が正しく実行されていたと判定された場合には、遊技制御装置１００は、ユーザワークＲＡＭ１０４の第１停電復旧領域７０１、ワークエリア７０２、及び第２停電復旧領域７０３を用いてチェックサムを算出して、算出したチェックサムがチェックサム領域７０４に格納されているチェックサムと一致するか否かを照合する（２５１４）。
【０３９２】
なお、チェックサム領域７０４に格納されているチェックサムは、停電検出時のユーザワークＲＡＭ１０４の第１停電復旧領域７０１、ワークエリア７０２、及び第２停電復旧領域７０３を用いてチェックサムを算出して、格納されたものである。
【０３９３】
つまり、ステップ２５１４の処理は、停電検出時のユーザワークＲＡＭ１０４に格納された情報と電源投入時のユーザワークＲＡＭ１０４に格納された情報とが一致するか否かを照合する処理である。
【０３９４】
そして、ステップ２５１４の処理の照合結果が、算出したチェックサムとチェックサム領域７０４に格納されたチェックサムとが一致するものであるか否かを判定する（２５１５）。
【０３９５】
ステップ２５１４の処理で算出したチェックサムとチェックサム領域７０４に格納されたチェックサムとが一致しないとステップ２５１５の処理で判定された場合、つまり、停電検出時のユーザワークＲＡＭ１０４に格納された情報と電源投入時のユーザワークＲＡＭ１０４に格納された情報とが一致しない場合には、遊技制御装置１００は、ステップ２５１０の処理に進み、ユーザワークＲＡＭ１０４のすべての領域を初期化し、ステップ２５１１の処理にて初期化指令を払出制御装置２１０及び演出制御装置１５０に送信する。
【０３９６】
一方、ステップ２５１４の処理で算出したチェックサムとチェックサム領域７０４に格納されたチェックサムとが一致するとステップ２５１５の処理で判定された場合、つまり、停電検出時のユーザワークＲＡＭ１０４に格納された情報と電源投入時のユーザワークＲＡＭ１０４に格納された情報とが一致する場合には、遊技制御装置１００は、遊技制御装置１００の起動に必要な領域（ユーザワークＲＡＭ１０４の一部の領域）を初期化する（２５１６）。このとき、ユーザワークＲＡＭ１０４の第１停電復旧領域７０１及び第２停電復旧領域７０３の各々にて、電源遮断確認フラグが消去（正確には、各領域にて電源遮断確認フラグがオフ）される。そして、遊技制御装置１００は、初期化指令を払出制御装置２１０及び演出制御装置１５０に送信する（２５１１）。
【０３９７】
これらの処理が完了すると、遊技制御装置１００に関する初期化処理が完了となる。次いで、図２６に示すステップ２５１７の処理に進む。
【０３９８】
次に、ステップ２５１１の処理で初期化指令が払出制御装置２１０及び演出制御装置１５０に送信された後、遊技制御装置１００は、各種時間を計測やタイマ割込みを行うためのＣＴＣ（Counter Timer Circuit）を起動し（２５１７）、遊技制御に関する乱数を生成する乱数生成回路６０８（図５）を初期化する（２５１８）。そして、遊技制御装置１００は、ステップ２５０１の処理で禁止されたＣＰＵ１０２への割込みを許可する（２５１９）。
【０３９９】
次に、遊技制御装置１００は、初期値乱数を更新する初期値乱数更新処理を実行する（２５２０）。初期値乱数とは、遊技制御に関する乱数のカウンタ（例えば、始動入賞口へ入賞したタイミングで取得される乱数のカウンタ）が上限値に達した場合に初期値に戻るが、その初期値を決定するための乱数である。
【０４００】
そして、遊技制御装置１００は、停電検出信号が入力されたか否かを確認し（２５２１）、ステップ２５２１の処理での確認結果が、停電検出信号が入力されたことを示すか否かを判定する（２５２２）。
【０４０１】
遊技制御装置１００は、停電検出信号が入力されていないと判定した場合には（ステップ２５２２の結果が「Ｎ」）、停電は発生していないので、ステップ２５２０の処理に戻る。
【０４０２】
一方、ステップ２５２２の処理で、停電検出信号が入力されたと判定された場合、遊技制御装置１００は、ＣＰＵ１０２への割込みを禁止し（２５２３）、出力Ｉ／Ｆ１０６に備わる出力ポートの電圧レベルをローレベルに設定する（２５２４）。
【０４０３】
次に、遊技制御装置１００は、ユーザワークＲＡＭ１０４の第１停電復旧領域７０１及び第２停電復旧領域７０３に、電源遮断確認フラグを格納（正確には、各領域にて電源遮断確認フラグをオン）し（２５２５）、ユーザワークＲＡＭ１０４の第１停電復旧領域７０１、ワークエリア７０２、及び第２停電復旧領域７０３を用いてチェックサムを算出して、算出したチェックサムをチェックサム領域７０４に格納する（２５２６）。
【０４０４】
次に、遊技制御装置１００は、ＲＡＭアクセス規制回路６４０によってユーザワークＲＡＭ１０４をＲＡＭ書込禁止状態にする（２５２７）。
【０４０５】
具体的には、ＣＰＵ１０２の指令によって、フリップフロップ回路６４１のクロック端子にクロック信号を出力制御回路６１２から入力させ、かつ、フリップフロップ回路６４１のデータ端子に接続された信号線の信号レベルをローレベルにする。これにより、フリップフロップ回路６４１の出力端子Ｑ（正論理）からローレベルの信号が出力され、出力端子Ｑ（負論理）からハイレベルの信号が出力されるため、ＯＲゲート回路６４２の入力端子にハイレベルの信号が入力されることにより、ＲＡＭ書込禁止状態になる。
【０４０６】
そして、遊技制御装置１００は、遊技機１の電源が切れるまで待機する（２５２８）。なお、遊技制御装置１００には、バックアップ電源が接続されているので、停電が発生しても、すぐに電源が切れることはない。
【０４０７】
なお、本実施形態では、ステップ２５１４の処理で電源断時のユーザワークＲＡＭ１０４と電源投入時のユーザワークＲＡＭ１０４との正当性を判定する前のステップ２５０７の処理でＲＡＭ書込可能状態にしたが、ＲＡＭ書込可能状態にするタイミングは、遅くともステップ２５１４の処理の正当性に応じて行われるステップ２５１０又は２５１６の処理におけるユーザワークＲＡＭ１０４の初期化処理の実行直前であればよい。
【０４０８】
このように、遊技機１にて電源供給が遮断した場合には、必要な電源遮断処理を実行した後は、ユーザワークＲＡＭ１０４をＲＡＭ書込禁止状態に設定し、遊技機１にて再度電源供給が復帰したときでも、すぐにユーザワークＲＡＭ１０４をＲＡＭ書込可能状態としないで、ハードウェアに関する初期化処理を一定時間実行し、ステップ２５１４の処理の正当性に応じて行われるステップ２５１０又は２５１６の処理におけるユーザワークＲＡＭ１０４の初期化処理の実行直前になって、ようやくＲＡＭ書込可能状態にすることによって、ユーザワークＲＡＭ１０４の初期化まで不用意なユーザワークＲＡＭ１０４の書き込みを防止できる。
【０４０９】
そのため、ステップ２５１４の処理における正当性判定が行われる直前には、ＲＡＭ書込禁止状態になっているので、電源投入後にユーザワークＲＡＭ１０４に誤った書き込みがなされ、ステップ２５１４の処理で誤った判定がされることを防止できる。
【０４１０】
なお、本実施形態では、ステップ２５０８の処理でスタック領域７０６を用いた各種設定処理を実行するために、ステップ２５１４の処理における正当性判定処理の前のステップ２５０７の処理でＲＡＭ書込可能状態にしている。
【０４１１】
これによって、正当性判定を行う前に正当性判定の対象とはならないスタック領域７０６を用いた各種設定処理を行うことができるようになるため、遊技制御装置１００の各種設定を早い段階で行うことができるので遊技制御装置１００の起動を高速化でき、また、スタック領域７０６を用いるので処理プログラムが共通化でき、プログラム容量を削減できる。
【０４１２】
なお、図１５では、ステップ２５１０又は２５１６の処理でユーザワークＲＡＭ１０４を初期化した後、ステップ２５１５の処理で初期化指令信号を送信しているが、ステップ２５１４における正当性判定の実行前のステップ２５０８の処理の実行後に初期化指令信号を送信してもよい。
【０４１３】
この場合には、ステップ２５１４の処理における正当性判定の実行前であるので、正当性判定に寄与しないスタック領域７０６又はＣＰＵ１０２に備わるレジスタを用いて、初期化指令信号を送信する。
【０４１４】
なお、ＣＰＵ１０２に備わるレジスタを用いなくても、例えば、ユーザワークＲＡＭ１０４とは別個に、遊技制御装置１００に所定のタイマ回路などを設けて、このタイマ回路に備えられた記憶領域を更新させるような方法でも実現可能である。言い換えれば、正当性判定に影響のない記憶領域であれば、どのようなものを用いても適用が可能であり、好ましくは、ユーザワークＲＡＭ１０４と記憶領域とを分離できれば、ＣＰＵ１０２のプログラムも簡素化されるということである。
【０４１５】
ステップ２５１０又は２５１６の処理では、ＲＡＭ１０４の一部領域を初期化する処理であるステップ２５１６の処理が、ＲＡＭ１０４の全領域を初期化する処理であるステップ２５１０の処理よりも実行時間が長いため、ステップ２５１０の処理を実行するかステップ２５１６の処理を実行するかによって、初期化指令信号が送信される時間が異なってしまう。
【０４１６】
ステップ２５１４の処理における正当性判定の実行前に初期化指令信号を送信することによって、ステップ２５１１の処理で初期化指令信号を送信するよりも早く初期化指令信号を送信できる。また、電源投入から一定時間で初期化指令信号を送信することができる。
【０４１７】
図２７は、本発明の第１の実施の形態の遊技制御装置メイン処理（図２５）におけるステップ２５０１からステップ２５０２Ｂまでの処理を説明する図である。ここでは、図１２で前述した各種レジスタ、図２１及び図２２で前述したアセンブリ言語を用いて説明を行うことにする。
【０４１８】
なお、図２７における列２７１０は、遊技制御プログラムが格納されているユーザプログラムＲＯＭ１０３のアドレスを示し、列２７２０は、当該アドレスに格納されているデータを示している。例えば、ユーザプログラムＲＯＭ１０３の「４０００Ｈ」のアドレスには「Ｆ３Ｈ」のデータが格納され、続く「４００１Ｈ」のアドレスには「３１Ｈ」のデータが格納され、続く「４００２Ｈ」のアドレスには「００Ｈ」のデータが格納され、続く「４００３Ｈ」のアドレスには「２ＡＨ」のデータが格納されている。
【０４１９】
行２７０１の「ＤＩ」命令は、遊技制御装置メイン処理（図２５）のステップ２５０１の割込禁止処理に対応し、この命令に対応するコード「Ｆ３Ｈ」の値がアドレス「４０００Ｈ」の領域に格納される。
【０４２０】
行２７０２の命令は、同じくステップ２５０２Ａの処理に対応し、スタックポインタ（ＳＰ）に対応するＳＰレジスタ１２３３に初期アドレスとして「２９ＦＦＨ」を設定する。
【０４２１】
行２７０３の命令は、同じくステップ２５０２Ｂの処理に対応し、Ｋレジスタ１２３０に、上位アドレスのデフォルトの初期値「２８Ｈ」を設定する。このように、Ｋレジスタ１２３０に予め「２８Ｈ」を設定しておくことによって、「２８Ｈ」を上位バイトとし、さらに任意の１バイトの値で示される値を下位バイトとして合成した２バイトの値をアドレスと見なして、そのアドレスの領域に記憶されている値を所定のレジスタに設定することができる。例えば、「２８０３Ｈ」のアドレスに記憶された値をＡレジスタ１２０２Ａに設定したい場合には、「ＬＤＫ  Ａ，（０３Ｈ）」という命令を実行すればよい。こうすることによって、２バイトのアドレスの全てを直接指定する場合よりもコード量を１バイト分削減することができる。特に、特定の領域を指定する頻度が大きいほど削減されるコード量を大きくすることができる。本実施形態では、例えば、変動表示ゲームが実行されるたびにシフトされ、アクセス頻度の多い始動記憶を格納するアドレスを指定する場合に使用される。また、Ｋレジスタを有効に活用するために、これらの始動記憶の上位アドレスは「２８Ｈ」となるように配置されている。
【０４２２】
なお、ユーザプログラムＲＯＭ１０３の「４０００Ｈ」のアドレスは、前述ように、リセットアドレスである。よって、リセット信号の発生時には、まず、この「４０００Ｈ」に配置されたコードの命令が実行され、その後は、以降のアドレスに配置された命令が順次実行される。
【０４２３】
ちなみに、リセット信号が発生すると、初期値設定回路１２４１によってＫレジスタ１２３０に「２８Ｈ」がハード的に設定されるので、行２７０３の命令は、省略（言い換えれば、図２５のステップ２５０２Ｂを省略）することも可能である。ただし、初期値設定回路１２４１が機能せずに、プログラムカウンタ１２３４の値のみがリセットアドレスの値に変更される事態を想定するのであれば、行２７０３の命令を配置しておくことにも意味がある。
【０４２４】
図２８は、本発明の第１の実施の形態のディレイ処理を説明する図である。
【０４２５】
図２８に示すディレイ処理は、図２５のステップ２５０５で実行されるが、当該ディレイ処理を実行している時点では、ユーザワークＲＡＭ１０４の値が更新できないようにＲＡＭ書込禁止状態となっている。これは、直前の停電発生時に格納されたチェックサムと、電源投入直後となる現時点でのチェックサムとの照合を行うためである。
【０４２６】
このため、図２５に示すステップ２５０５におけるディレイ処理では、正当性の判定が行われる記憶領域が含まれたユーザワークＲＡＭ１０４を用いずに、他の記憶領域（正当性判定の対象とならない判定対象外記憶領域）を用いてディレイ処理を実行しなければならない。そこで、本実施形態のディレイ処理は、ＣＰＵコア１０２に備わるレジスタ（汎用レジスタ）を用いて実行される。
【０４２７】
以下に、判定対象外記憶領域を含むユーザワークＲＡＭ１０４の記憶領域をまったく利用せずに、レジスタを用いたディレイ処理を説明する。なお、ＣＰＵコア１０２として、Ｚ８０系のＣＰＵを用いるものとするので、Ｚ８０系のＣＰＵで使用されるレジスタ及びアセンブリ言語を用いて説明を行う。
【０４２８】
なお、図２８における列２８１０は、図２７の列２７１０同様に遊技制御プログラムが格納されているユーザプログラムＲＯＭ１０３のアドレスを示し、列２８２０は、図２７の列２７２０同様に、当該アドレスに格納されているデータを示している。
【０４２９】
まず、行２８０１は、当該ディレイ処理の最初の処理に相当し、ＣＰＵコア１０２のレジスタ（図１１参照）のＨレジスタ及びＬレジスタを１つのペアとして構成したＨＬレジスタに、「０６０３Ｈ」をロードする。具体的には、Ｈレジスタに「０６Ｈ」がロードされ、Ｌレジスタには「０３Ｈ」がロードされる。
【０４３０】
次に、行２８０２を実行し、ＨＬレジスタの値をデクリメント（１減算）する。したがって、行２８０２が最初に実行された後、ＨＬレジスタの値は「０６０２Ｈ」となる。
【０４３１】
続いて、行２８０３を実行し、Ｈレジスタに格納された値をＡレジスタにロードする。そして、行２８０４を実行し、ＡレジスタとＬレジスタとの論理和を算出する。行２８０５では、行２８０４で算出された論理和がゼロでなければ（ＮＺ）、行２８０２（アドレスが４０２３Ｈとなる行）に戻る。したがって、Ｈレジスタ及びＬレジスタの両方が「００Ｈ」となるまで、行２８０２から２８０５までの処理を繰り返すことになる。
【０４３２】
つまり、図２８では、維持タイマとして使用されるＨレジスタ及びＬレジスタに格納された「０６０３Ｈ」（＝１５３９）が「００００Ｈ」になるまでデクリメントされるもので、合計１５３９回デクリメントが行われる。この間、図２５に示す遊技制御装置メイン処理は、ステップ２５０５の処理で待機するため、遊技制御装置１００の起動が遅延することとなる。
【０４３３】
ここで遅延時間を具体的に算出する。遅延時間は、行２８０２から２８０５までの処理を、繰り返し回数（「０６０３Ｈ」＝１５３９）分だけ実行した時間となる。そこで、行２８０３から２８０５までの各行の実行時間を算出する。各行には実行される命令が定義されており、各命令には、実行に必要なＣＰＵのクロックサイクル数（ステート数）が対応している。したがって、１ステート当りの時間を各命令に対応するステート数に乗じることによって各命令の実行時間を算出することができる。
【０４３４】
本発明の第１の実施の形態では、クロック数２０Ｍｈｚを２倍に分周した１０ＭｈｚがＣＰＵの動作クロックとなるため、１／１０００００００＝１００ｎ秒が１ステート当りの処理時間となる。以下、具体的に各行の処理時間を算出する。
【０４３５】
行２８０２で実行されるデクリメント「ＤＥＣ」命令のステート（数）は６となっている。したがって、行２８０２の処理時間は６×１００ｎ秒＝６００ｎ秒となる。同様に、行２８０３で実行されるロード「ＬＤ」命令のステート（数）は４、及び、行２８０４で実行されるロード「ＯＲ」命令のステート（数）は４となっており、それぞれの処理時間は４×１００ｎ秒＝４００ｎ秒となっている。さらに、行２８０５で実行されるジャンプ「ＪＰ」命令のステート（数）は行２８０４の演算結果が非０の場合には１２、０の場合には７となっている。０の場合は遅延時間終了時だけであるため、ステート数を１２とすると、処理時間は１２×１００ｎ秒＝１２００ｎ秒となる。
【０４３６】
以上より、１回の繰り返しにおける処理時間は、６００ｎ秒＋４００ｎ秒＋４００ｎ秒＋１２００ｎ秒＝２６００ｎ秒となる。そして、繰り返し回数は、１５３９回であるため、２６００ｎ秒×１５３９＝４．００１４ｍ秒となり、約４秒の遅延時間となる。したがって、この場合のディレイ処理は、４秒間を計時するタイマ計時手段となっている。
【０４３７】
また、このディレイ処理中は、ユーザワークＲＡＭ１０４へのアクセスが全く行われない。すなわち、正当性の判定が行われる記憶領域が含まれたユーザワークＲＡＭ１０４の値を書き換えることなく、ディレイ処理を実行することができる。
【０４３８】
図２８で説明したように、本実施形態では、ハードウェアを用いずに、正当性判定に寄与しない、つまり、チェックサムを算出しない領域を用いてソフトウェアにより実現（維持タイマを計時）しているので、図２５に示すステップ２５１４の正当性判定を正確に行うことができるとともに、ハードウェアでディレイ処理を実現するよりも安価に実現することができる。
【０４３９】
例えば、ハードウェアでディレイ処理を実現する遊技機として、特開２００２−２２４３９４号公報に開示されるような技術が知られており、この遊技機では、電源が断たれた後の復帰時に、払出しの不都合な状態が解消するまで賞媒体の払出し動作を停止できるようにすること、さらに、賞媒体の払出しに関して遊技者とホール側とでトラブルが発生しないようにすることを目的として、停電からの復帰時に、払出し制御手段が主制御手段よりも先に起動して払出し制御が開始された場合、初期化スイッチが操作されていないため、払出し動作復帰処理が実行され、その後、主制御手段から払出し再開コマンドを受信するまで、払出し動作を停止して、払出し再開可能な状態で待機する構成となっている。
【０４４０】
さらに、この遊技機では、後から起動した主制御手段は補給切れ検出スイッチや満杯検出スイッチからの検出スイッチに基づいて払出しに関するエラーを検出しない場合に、主制御手段から払出し再開コマンドが送信されてくるので、払出し制御手段はその払出し再開コマンド受信をきっかけに払出し動作を再開する構成となっている。
【０４４１】
そして、この遊技機は、主制御手段を、払出し制御手段よりも遅延させて起動させるために、主制御手段（主制御基板３９）に遅延回路９０を設けて、リセット信号発生手段７７からのリセット信号が、払出し制御手段（払出し制御基板４６）に到達するよりも時間ｔだけ遅延して主制御手段に到達するように構成しているので（特開２００２−２２４３９４号公報の段落［００５１］〜［００５３］、図９、図１１参照）、遅延回路９０などのハードウェアが必要であるため、コストが高くなってしまうという問題があった。また、遅延回路９０はハードウェアで構成されているため、遅延の時間値をプログラムで変更できないという問題もあった。
【０４４２】
この場合、遅延回路９０に相当する機能を、主制御手段（主制御基板３９）に設けたＣ
ＰＵを用いてソフトウェアによって実現すれば、コスト面での課題が解決するが、ＣＰＵを用いて遅延時間を計時するためには、主制御手段（主制御基板３９）のバックアップ用メモリ３９ｂを用いなければならず、この場合、主制御手段が起動後にバックアップ用メモリ３９ｂの正当性を確認して、バックアップ用メモリ３９ｂが使用可能な状態になってから遅延時間を計時するので、遊技機全体の起動が遅れてしまうという課題を残していた。そのため、ソフトウェアによって遊技制御装置の起動を従属制御装置の起動よりも遅延させることによってコストダウンを図りつつも、遊技機全体の起動が遅延してしまうことを防止する遊技機が提供されることが望まれていた。
【０４４３】
本実施形態に戻って、ＣＰＵコア１０２で使用できるレジスタの数が少ない場合には、スタック領域を利用してディレイ処理を実行するほうが有効である。ただし、正当性判定の対象となっている第１停電復旧領域７０１、ワークエリア７０２、第２停電復旧領域７０３、チェックサム領域７０４の各記憶領域を、ノイズ等によって書き換えてしまうことを極力防止したいのであれば、ディレイ処理中を通してユーザワークＲＡＭ１０４をＲＡＭ書込禁止状態とし、図２８に示したスタック領域を利用しないディレイ処理を実行するほうが有効ともいえる。
【０４４４】
また、動作クロック数を高く設定することによってＣＰＵによる演算処理速度を高速化することが可能となるが、演算処理速度を高速化すると、ディレイ処理におけるループ回数（図２８では「０６０３Ｈ」＝１５３９回）を高速化した分だけ大きくする必要がある。しかしながら、演算処理速度を高速化しすぎると、ループ回数が大きくなりすぎてしまい、ループ回数を格納するレジスタのバイト数が所定バイト数（例えば、２バイト）を超えてしまい、プログラムの容量が大きくなってしまう。そこで、図２８にて説明したように、ループ回数を格納するレジスタのバイト数が２バイトに収まる（ループ回数が６５５３６回を超えない）ようにＣＰＵ１０２の動作速度（クロック数）を設定することによって、高速通信を実現しながらもプログラム容量の増大を抑えることが可能となる。
【０４４５】
図２９は、本発明の第１の実施の形態のタイマ割込処理を示すフローチャートである。このタイマ割込処理は、遊技制御装置１００のＣＰＵコア１０２によって実行される。
【０４４６】
遊技機の電源が投入されると、遊技制御装置メイン処理（図２５及び図２６参照）が実行される。そして、ステップ２５１７の処理で起動させたＣＴＣによって、所定時間周期（例えば、４ミリ秒周期）でタイマ割込みが発生すると、遊技制御装置１００のＣＰＵ１０２によって、タイマ割込処理が繰り返し実行される。ただし、これらの処理（２９１２〜２９２２の処理）は、割り込み発生毎に必ずしもすべて行なわれなくてもよい。例えば、ステップ２９１２の入出力処理においては、毎回入力信号を監視するが、出力処理は割り込みの発生の１回おきに実行されてもよい。つまり、１回の割り込み処理で一通りの処理をすべて完了するのではなく、この割込処理が複数回繰り返し実行されて一連の遊技制御処理が完了するようにしてもよい。
【０４４７】
本実施形態のタイマ割込処理において、遊技制御装置１００は、まず、レジスタのデータをスタック領域７０６に退避する（１９１１）。ここでは、遊技制御プログラムに記述された命令を実行することにより、ＣＰＵコア１０２の内部のレジスタ（図１２参照）の中から、タイマ割込処理が呼び出される直前の処理（呼出元処理）で使用されていたものを選択して、スタック領域７０６に退避させる処理が行われる。
【０４４８】
ただし、フラグレジスタ１２００（図１２参照）に関しては、図１９の（Ｄ）に示すように、当該タイマ割込処理が開始する時点で既にスタック領域７０６に退避されているので、改めて命令を実行させる必要はない。
【０４４９】
次に、遊技制御装置１００は、入出力処理を実行する（２９１２）。入出力処理は、入力処理と出力処理とを含む。入力処理は、入力Ｉ／Ｆ１０５を介して各種センサ（特図始動ＳＷ３４Ａ、普図始動ＳＷ３１Ａ、カウントＳＷ３６Ａ、入賞口ＳＷ３２Ａ〜３２Ｎ、オーバーフローＳＷ１０９、球切れＳＷ１１０、枠開放ＳＷ１１１など）から入力される信号にチャタリング除去等の処理をし、入力情報を確定する処理である。
【０４５０】
出力処理は、出力Ｉ／Ｆ１０６を介して、特図ゲーム処理（２９１９）及び普図ゲーム処理（２９２０）にて設定されたパラメータに基づいて、特図表示器１２０、普図表示器１２１、普電ＳＯＬ９０、及び大入賞口ＳＯＬ３８を制御するための信号を出力する。
【０４５１】
なお、前述したように、入力処理と出力処理とは１回のタイマ割り込みで同時に実行されなくてもよい。
【０４５２】
次に、遊技制御装置１００は、各種処理で送信バッファにセットされた（コマンド）を演出制御装置１５０及び払出制御装置２１０等に出力するコマンド送信処理を行う（２９１３）。具体的には、演出制御装置１５０に特別図柄変動表示ゲームに係わる演出指令信号（演出コマンド）を出力したり、払出制御装置２１０に排出指令信号（払出指令信号、払出コマンド）を出力したりする。コマンド送信処理の詳細については、図３１にて後述する。なお、払出コマンドについては図３３にて詳細を説明し、演出コマンドについては図３５にて詳細を説明する。
【０４５３】
その後、遊技制御装置１００は、特別図柄変動表示ゲームの当りはずれを判定するための大当り乱数カウンタ（図１５の大当り乱数の生成領域）の値を１ずつ加算する乱数更新処理１を行う（２９１４）。なお、この乱数更新処理１では、特別図柄変動表示ゲームの停止図柄を決定する大当り図柄乱数カウンタ（図１５の大当り図柄乱数の生成領域）の値、普通図柄変動表示ゲームの当りはずれを判定するための普図乱数カウンタ（図１５の普図乱数生成領域）にも１ずつ加算する。
【０４５４】
次に、遊技制御装置１００は、乱数の初期値を更新し、乱数の時間的な規則性を崩すための初期値乱数更新処理を実行する（２９１５）。ステップ２９１５の初期値乱数更新処理は、図２６に示す初期値乱数更新処理（２５２０）と同じなので、説明を省略する。
【０４５５】
そして、遊技制御装置１００は、特別図柄変動表示ゲームに関連した飾り特別図柄変動表示ゲームにおける変動表示パターンを決定する乱数を更新するための変動表示パターン乱数カウンタ（図１５の第１変動Ｐ乱数の生成領域、第２変動Ｐ乱数の生成領域、第３変動Ｐ乱数の生成領域）の値を１ずつ加算する乱数更新処理２を行う（２９１６）。
【０４５６】
次に、遊技制御装置１００は、各入賞口に遊技球が入賞していないかを監視するために、入賞口監視処理を行う（２９１７）。具体的には、第１特図始動ＳＷ３７Ａ、第２特図始動ＳＷ３４Ａ、普図始動ＳＷ３１Ａ、カウントＳＷ３６Ａ、入賞口ＳＷ３２Ａ〜３２Ｎ、から信号の入力があるか否か（遊技球の検出を示す信号が入力されているか否か）を監視する。
【０４５７】
このとき、大当りが発生して特別変動入賞装置３６が開放中であるときには、カウントＳＷ３６Ａにより遊技球の検出数を計数して、特別変動入賞装置３６へ入賞した遊技球の数を計数する。この計数結果が所定数（例えば１０個）になると、特別変動入賞装置３６を閉止して、次のラウンドに更新する処理を行う。
【０４５８】
また、このとき、普図始動ＳＷ３１Ａによる遊技球の検出があれば、普図保留カウンタの値が所定数未満（例えば、「４個」未満）であることを条件に「１」だけ増加させ、普図乱数カウンタ値（図１５の普図乱数生成領域）が、普図保留カウンタに対応する普図始動入賞記憶領域（図１５）に記憶される。
【０４５９】
なお、第１特図始動ＳＷ３７Ａによる遊技球の検出があれば、後述する「始動口ＳＷ監視処理」にて、各種乱数値が、第１特図始動入賞記憶領域（図１６）に記憶される。同様に、第２特図始動ＳＷ３４Ａによる遊技球の検出があれば、後述する「始動口ＳＷ監視処理」にて、各種乱数値が、第２特図始動入賞記憶領域（図１７）に記憶される。
【０４６０】
その後、遊技制御装置１００は、排出球の球詰まりや、各種スイッチ、センサ等の異常などを監視するエラー監視処理を行う（２９１８）。
【０４６１】
その後、遊技制御装置１００は、特別図柄変動表示ゲームに関する処理を行う特図ゲーム処理（２９１９）、普通図柄変動表示ゲームに関する処理を行う普図ゲーム処理（２９２０）を行う。
【０４６２】
特図ゲーム処理（２９１９）は、第１特図始動ＳＷ３７Ａ及び第２特図始動ＳＷ３４Ａで検出された始動入賞口への遊技球の入賞に基づいて抽出され、特別図柄始動入賞記憶に記憶された特別図柄乱数カウンタ値が当りか否か判定し、特図表示器１２０で特別図柄変動表示ゲームを実行する。なお、特図始動入賞記憶には、直ちに前記変動表示ゲームを実行することができない状態で始動入賞口に遊技球が入賞した場合に、抽出された乱数が始動入賞記憶として記憶される。なお、特図ゲーム処理の詳細は、図３７にて後述する。
【０４６３】
また、特図ゲーム処理（２９１９）では、特図表示器１２０の表示に対応する識別情報の変動表示のための処理を行う。抽出された乱数が所定の値であれば、特別図柄に関する当り状態となり、識別情報の変動表示が当り図柄で停止する。また、当り状態になると、特別変動入賞装置３６に遊技球を受け入れやすい開状態になる。
【０４６４】
普図ゲーム処理（２９２０）は、普図始動ＳＷ３１Ａで検出された普通図柄始動ゲート３１への遊技球の通過に基づいて抽出され、普通図柄始動入賞記憶に記憶された普図乱数カウンタ値（２９１７の処理で抽出・記憶された普通図柄変動表示ゲームの結果に関する乱数）が当りか否かを判定し、普図保留カウンタの値を１だけ減算して、普図表示器１２１で普通図柄の変動表示ゲームを実行する。普図乱数カウンタ値が所定の値であれば、普図に関する当り状態となり、普通図柄の変動表示が当り状態で停止するためのパラメータを設定する。
【０４６５】
次に、遊技制御装置１００は、遊技機１に設けられ、遊技に関する各種情報を表示するセグメントＬＥＤ（特図表示器１２０及び普図表示器１２１）に出力する信号を編集する処理を行う（２９２１）。具体的には、特別図柄変動表示ゲームが開始されると、今回開始した特別図柄変動表示ゲームの実行回数を減じた特別図柄入賞記憶数を特図表示器１２０の特図記憶表示部に表示するためのパラメータを編集する。同様に、普通図柄の変動表示ゲームが開始されると、今回開始した普通図柄変動表示ゲームの実行回数を減じた普通図柄入賞記憶数を普図表示器１２１の普図記憶表示器に表示するためのパラメータを編集する。
【０４６６】
その後、遊技制御装置１００は、検査装置接続端子１０７を介して接続される管理用コンピュータに遊技機１の状態を出力するための外部情報を編集する外部情報編集処理を行う（２９２２）。外部情報には、図柄が確定したか、当りであるか、確率変動中であるか、変動時間短縮中であるか、変動表示ゲームのスタート等、変動表示ゲームの進行状態に関連する情報が含まれる。また、エラーが発生したことを示すエラー信号も含まれる。
【０４６７】
次に、遊技制御装置１００は、タイマ割り込み処理の終了を宣言する（２９２３）。
【０４６８】
その後、遊技制御装置１００は、スタック領域７０６に退避していたレジスタを復帰する復帰処理（２９２４）を行う。ここでは、遊技制御プログラムに記述された命令を実行することにより、Ｓ２９１１のステップにて退避したレジスタの値を復帰させる。次いで、禁止設定されていた割り込みの許可設定をする処理を行う（２９２５）。
【０４６９】
そして、タイマ割り込み処理を終了し、遊技制御装置メイン処理（図２５及び図２６）に戻る。ここでは、「ＲＥＴ」命令ではなく「ＲＥＴＩ」命令を実行して、呼出元の処理に戻る。そのため、スタック領域７０６に退避されていたフラグレジスタ１２００（図１２参照）の値も復帰することになり、スタックポインタ１２３３が示す値も、図１９の（Ｄ）から図１８の（Ｂ）の様に変化する。
【０４７０】
なお、タイマ割り込み処理の先頭にて、図２１に示す「レジスタバンクセレクタ」を切り替える命令２１１５（「ＬＤ  ＲＡＳ，０」又は「ＬＤ  ＲＡＳ，１」）を実行することにより、演算対象として用いるレジスタ群（汎用レジスタ群１２２０Ａ、１２２０Ｂ）を切り替えることも可能である。例えば、呼出元の処理では汎用レジスタ群１２２０Ａのレジスタを用いる一方で、当該タイマ割り込み処理では汎用レジスタ群１２２０Ｂのレジスタを用いるように切り替えることも可能である。
【０４７１】
このようなレジスタバンクの切り換えを実行する場合は、タイマ割り込み処理の中では、呼出元の処理とは異なるレジスタ群のレジスタが使用されるため、Ｓ２９１１のステップにてレジスタを退避させるような処理や、Ｓ２９１１のステップにてレジスタを復帰させるような処理は不要である。
【０４７２】
なお、当該タイマ割り込み処理でも、最後に「ＲＥＴＩ」命令を実行するので、スタック領域７０６に退避されていたフラグレジスタ１２００（図１２参照）の値が復帰することになり、フラグレジスタ１２００のレジスタバンクセレクタ（ＲＢＳ）１３０１（図１３参照）の値も呼出前の状態に復帰する。そのため、図２１に示す「レジスタバンクセレクタ」を切り替える命令２１１５（「ＬＤ  ＲＡＳ，０」又は「ＬＤ  ＲＡＳ，１」）は、タイマ割り込み処理の先頭で１回だけ実行すればよい。
【０４７３】
そして、次のタイマ割り込みが発生するまで初期値乱数更新処理等（図２６のステップ２５２０〜２５２２の処理）を繰り返す。
【０４７４】
図３０は、本発明の第１の実施の形態の遊技制御装置１００から、演出制御装置１５０及び払出制御装置２１０に初期化指令信号を送信する初期化指令送信処理の手順を示すフローチャートである。本処理は、図２５のステップ２５１１の初期化指令送信処理に対応する。
【０４７５】
遊技制御装置１００は、まず、演出指令及び排出指令の送信を禁止状態に設定する（３００１）。具体的には、送信制御レジスタ６３２（図８）のビット４を“０”に設定して、送信データレジスタ６３５からの信号の出力を禁止した状態に設定する。
【０４７６】
次に、遊技制御装置１００は、起動時の演出指令を送信データレジスタ６３５に格納する（３００２）。そして、起動時の演出指令がすべて送信データレジスタ６３５に格納されるまで処理を継続する（３００３）。
【０４７７】
遊技制御装置１００は、すべての演出指令が送信データレジスタ６３５に格納されると（３００３の結果が「Ｎ」）、起動時の排出指令を送信データレジスタ６３５に格納する（３００４）。そして、起動時の排出指令がすべて送信データレジスタ６３５に格納されるまで処理を継続する（３００５）。
【０４７８】
最後に、遊技制御装置１００は、ステップ３００１の処理で禁止状態に設定されていた演出指令及び排出指令の送信を許可状態に設定する（３００６）。具体的には、送信制御レジスタ６３２（図８）のビット４を“１”に設定して、送信データレジスタ６３５からの信号の出力を許可した状態に設定する。
【０４７９】
図３１は、本発明の第１の実施の形態の遊技制御装置１００から、演出制御装置１５０及び払出制御装置２１０にコマンドを送信するためのコマンド送信処理の手順を示すフローチャートである。本処理は、図２９のステップ２９１３のコマンド送信処理に対応する。
【０４８０】
遊技制御装置１００は、初期化指令送信処理と同様に送信制御レジスタ６３２（図８）のビット４を“０”に設定して、まず、演出指令及び排出指令の送信を禁止状態に設定する（３１０１）。
【０４８１】
次に、遊技制御装置１００は、送信待ちの演出指令が存在するか否か（今回のタイマ割込処理のタイミングで、演出制御装置１５０に対応する送信データレジスタ６３５に書き込むべきデータが存在するか否か）を判定する（３１０２）。送信待ちの演出指令が存在しない場合には（３１０２の結果が「Ｎ」）、ステップ３１１２以降の排出指令に関する処理を実行する。
【０４８２】
一方、遊技制御装置１００は、送信待ちの演出指令が存在する場合には（３１０２の結果が「Ｙ」）、送信待ちの演出指令に変動開始の演出指令が含まれているか否かを判定する（３１０３）。変動開始の演出指令とは、図３５にて後述する「停止図柄指定コマンド（ＭＯＤＥ＝Ｂ０Ｈ）」と「飾り図柄変動パターン指定コマンド（ＭＯＤＥ＝Ｂ１Ｈ〜ＢＦＨ）」の各々に相当するコマンドであり、演出制御装置１５０は、このコマンドを受信したことを契機に、表示装置８にて変動表示ゲームの実行を開始する。
【０４８３】
遊技制御装置１００は、送信待ちの演出指令に変動開始の演出指令が含まれている場合には（３１０３の結果が「Ｙ」）、変動開始の演出指令を送信データレジスタに格納する（３１０４）。そして、送信待ちの演出指令に含まれているすべての変動開始の演出指令が送信データレジスタに格納されるまで処理を継続する（３１０５）。
【０４８４】
遊技制御装置１００は、送信待ちの演出指令に変動開始の演出指令が含まれていなかった場合（３１０３の結果が「Ｎ」）、又は送信待ちの演出指令に含まれている変動開始の演出指令をすべて送信データレジスタに格納した場合には（３１０５の結果が「Ｙ」）、送信待ちの演出指令に他の演出指令が含まれているか否かを判定する（３１０６）。
【０４８５】
遊技制御装置１００は、送信待ちの演出指令に変動開始以外の演出指令が含まれていない場合には（３１０６の結果が「Ｎ」）、ステップ３１１１の処理を実行し、続いて、排出指令に関する処理を実行する。
【０４８６】
一方、遊技制御装置１００は、送信待ちの演出指令に変動開始以外の演出指令が含まれている場合には（３１０６の結果が「Ｙ」）、送信バッファ（送信データバッファレジスタ６３５Ａ）に空きがあるか否かを判定する（３１０７）。具体的には、送信データステータスレジスタ６３１（図９）のビット０〜５の値（送信データの残量を示す値）が“００ｈ”〜“１Ｆｈ”であれば、空きがあると判定される。
【０４８７】
送信バッファに空きがない場合には（３１０７の結果が「Ｎ」）、送信待ちの演出指令を次回の送信タイミングに持ち越し（３１０８）、ステップ３１１１の処理を実行し、続いて、排出指令に関する処理を実行する。
【０４８８】
遊技制御装置１００は、送信バッファに空きがある場合には（３１０７の結果が「Ｙ」）、送信データレジスタに変動開始以外の演出指令を格納する（３１０９）。そして、送信バッファの空きが無くなるか、すべての演出指令が送信データレジスタに格納されるまで、ステップ３１０７から２１１０までの処理を継続する（３１１０）。
【０４８９】
遊技制御装置１００は、送信待ちの演出指令を送信バッファに格納する処理が終了すると、送信制御レジスタ６３２（図８）のビット４を“１”に設定することで、ステップ３１０１の処理で禁止状態に設定されていた演出指令の送信を許可状態に設定する（３１１１）。
【０４９０】
以上のように、コマンド送信処理において演出指令を演出制御装置１５０に送信する場合、変動開始の演出指令を優先して送信することによって、遊技制御装置１００における変動表示ゲームの進行状態と、演出制御装置１５０における変動表示ゲームの進行状態との時間差が常に固定されたものとなる。そのため、変動表示ゲームが開始される毎にこの時間差が変化するような不具合を防止できるようになり、遊技制御装置１００と演出制御装置１５０とを同期させながら、表示装置８で実行される変動表示ゲームをより確実に実行させることができる。演出指令の送信が終了すると、続いて、排出指令を払出制御装置２１０に送信するための処理を実行する。
【０４９１】
遊技制御装置１００は、まず、ＳＷ制御領域を検査し、賞球排出対象スイッチ（ＳＷ）の立ち上がりがあるか否かを監視する（３１１２）。賞球を排出する入賞口に遊技球が入賞すると、賞球排出対象ＳＷがオンに設定される。そして、遊技制御装置１００は、賞球の排出に該当するスイッチが存在するか否かを判定する（３１１３）。
【０４９２】
なお、ＳＷ制御領域とは、遊技機に備えられた各種スイッチの検出状態を、タイマ割込毎に記憶しておく記憶領域のことである。ここでは、ＳＷ制御領域のうち、遊技球検出によって賞球が排出されるスイッチのみが対象とされ、これら対象となったスイッチのうちで、「立ち上がり情報」がオンとなっているものがあるか否かを判定している。
【０４９３】
遊技制御装置１００は、賞球の排出に該当するスイッチが存在する場合（「立ち上がり情報」がオンとなっている賞球排出対象のＳＷが存在する場合）には（３１１３の結果が「Ｙ」）、オンとなっている賞球排出対象ＳＷの１つを選択し、選択されたＳＷに該当する排出指令を送信データレジスタに格納する（３１１４）。
【０４９４】
次に、その時点で「立ち上がり情報」がオンとなっている賞球排出対象のＳＷが、他にも存在するかを確認する。遊技制御装置１００は、他の賞球排出対象のＳＷがオンになっていれば、オンとなっている賞球排出対象ＳＷの１つをさらに選択し、選択されたＳＷに該当する排出指令を送信データレジスタに格納する。そして、すべての賞球を排出する指令が送信データレジスタに格納されるまで処理を継続する（３１１５）。
【０４９５】
遊技制御装置１００は、賞球の排出に該当するスイッチが存在しない場合には（３１１３の結果が「Ｎ」）、又は賞球の排出に該当するスイッチに対応する排出指令をすべて送信データレジスタに格納した場合には、送信待ちの他の排出指令（払出制御装置２１０へエラー発生やエラー解除を指令するコマンドなど）が存在するか否かを判定する（３１１６）。
【０４９６】
遊技制御装置１００は、送信待ちの他の排出指令が存在しない場合には（３１１６の結果が「Ｎ」）、排出指令に関する送信を許可状態に設定し（３１２１）、呼び出し元に戻る。
【０４９７】
一方、遊技制御装置１００は、送信待ちの他の排出指令が存在する場合には（３１１６の結果が「Ｙ」）、送信バッファに空きがあるか否かを判定する（３１１７）。具体的には、送信データステータスレジスタ６３１（図９）のビット０〜５の値（送信データの残量を示す値）が“００ｈ”〜“１Ｆｈ”であれば、空きがあると判定される。
【０４９８】
送信バッファに空きがない場合には（３１１７の結果が「Ｎ」）、送信待ちの排出指令を次回の送信タイミングに持ち越し（３１１８）、排出指令に関する送信を許可状態に設定し（３１２１）、呼び出し元に戻る。
【０４９９】
遊技制御装置１００は、送信バッファに空きがある場合には（３１１７の結果が「Ｙ」）、送信待ちの排出指令を送信データレジスタに格納する（３１１９）。そして、送信バッファの空きが無くなるか、すべての排出指令が送信データレジスタに格納されるまで、ステップ３１１７から３１２０までの処理を継続する（３１２０）。最後に、排出指令に関する送信を許可状態に設定し（３１２１）、呼び出し元に戻る。
【０５００】
以上のように、本実施形態では、コマンド送信処理において排出指令を払出制御装置２１０に送信する場合に賞球排出指令を、その他の排出指令（エラー発生／解除の指令）よりも優先して送信することによって、賞球排出対象の複数のスイッチが、同一のタイマ割込周期内で同時にオンした場合であっても、確実に賞球を排出させるように構成されている。
【０５０１】
このように、演出指令や賞球排出指令などの制御指令を内容に応じて優先して送信して遊技が円滑に進行するように制御し、さらに、優先されなかった制御指令については次回割込発生時に送信することによって、送信漏れのない正確な指令送信を実現することが可能となる。
【０５０２】
図３２は、本発明の第１の実施の形態の電源投入時の遊技制御装置１００、払出制御装置２１０、及び演出制御装置１５０が行う処理、並びに、遊技制御装置１００に備わるシリアル送信回路６１５の状態のタイミングチャートである。
【０５０３】
リセット信号が払出制御装置２１０に接続されるシリアル送信回路６１５Ｂ及び演出制御装置１５０に接続されるシリアル送信回路６１５Ａに伝達されると、図２３に示すステップ２３０２の処理により、各シリアル送信回路６１５が不定状態（３２０１）から初期状態（３２０２）に移行する。
【０５０４】
この不定状態では、シリアル送信回路６１５（シリアル送信回路６１５Ａ、６１５Ｂ）から出力される信号線のレベルは、ハイレベルであるのかローレベルであるのか保証されない状態である。一方、シリアル送信回路６１５がリセット信号により初期化されて初期状態に遷移すると、シリアル送信回路６１５Ｂからの出力信号はオフを示すレベルに確定される。
【０５０５】
シリアル送信回路６１５の初期状態は、遊技制御装置１００が図２５に示すステップ２５１１の処理で初期化指令を送信するために、初期化指令が各シリアル送信回路６１５に設定されるまで（３２０３）継続する。
【０５０６】
一方、遊技制御装置１００のセキュリティ回路６３０にリセット信号が伝達されると、図２３に示すステップ２３０４の処理で自己診断処理を実行し、ステップ２３０５の処理でセキュリティチェック処理を実行する（３２０４）。セキュリティチェック処理の実行後にＣＰＵ１０２が起動し、ＣＰＵ１０２によって遊技制御装置メイン処理（図２５及び図２６）が実行される。
【０５０７】
ＣＰＵ１０２は、ディレイ処理の実行（３２０６）前に１回目のＲＡＭクリア信号の取り込み（３２０５）と、ディレイ処理の実行後に２回目のＲＡＭクリア信号の取り込み（３２０７）と、を行う。言い換えると、１回目のＲＡＭクリア信号取り込み（３２０５）と２回目のＲＡＭクリア信号取り込み（３２０７）とは、ディレイ処理（３２０６）を挟んで実行される。
【０５０８】
このように、２２０５及び２２０７の各時点で実行されるＲＡＭクリア信号取り込みの間に、ディレイ処理を実行するので、ディレイ処理の間に、１回目のＲＡＭクリア信号取り込みで取り込んだチャタリング除去等を行うことができる。
【０５０９】
ディレイ処理（３２０６）で処理を待機させた後に、図２５に示すステップ２５１６及び１５１０の処理でＲＡＭ１０４の初期化処理を行い（３２０８）、ステップ２５１１の処理で初期化指令を送信してから、通常の遊技制御を行う（３２０９）。
【０５１０】
なお、通常の遊技制御を実行すると、遊技状態に応じて、払出制御指令を払出制御装置２１０に送信するために、払出制御指令が払出制御装置２１０に接続されるシリアル送信回路６１５Ｂに設定される（３２１０）。また、通常の遊技制御の実行中には、遊技状態に応じて、演出制御指令を演出制御装置１５０に送信するために、演出制御指令が演出制御装置１５０に接続されるシリアル送信回路６１５Ａに設定される（３２１１）。
【０５１１】
一方で、払出制御装置２１０のセキュリティ回路にリセット信号が伝達されると、払出制御装置２１０のセキュリティ回路は、図２３に示すステップ２３１４の処理で自己診断処理を実行し、ステップ２３１５の処理でセキュリティチェック処理を実行する（３２１２）。セキュリティチェック処理の実行後にＣＰＵ２１２が起動し、ＣＰＵ２１２によって、図１４のステップ２３１６の処理で電源投入時の初期化処理を実行する（３２１３）。払出制御装置２１０の初期化処理が実行されると、払出制御装置２１０のシリアル受信回路６２５を、遊技制御装置１００からの指令を受信可能な状態にする（３２１４）。
【０５１２】
また、演出制御装置１５０にリセット信号が伝達されると、演出制御装置１５０は、図２３のステップ２３２３の処理で電源投入時の初期化処理を実行する（３２１５）。演出制御装置１５０の初期化処理が実行されると、演出制御装置１５０のシリアル受信回路６２５を、遊技制御装置１００からの指令を受信可能な状態にする（３２１６）。
【０５１３】
遊技制御装置１００は、ディレイ処理を実行することで、ＲＡＭ１０４の初期化処理の実行開始のタイミングを遅延させている。言い換えると、ディレイ処理によって、演出制御装置１５０や払出制御装置２１０へ初期化指令を送信するタイミングを遅延させている。
【０５１４】
このため、ディレイ処理によって、払出制御装置２１０に接続されるシリアル送信回路６１５Ｂ及び演出制御装置１５０に接続されるシリアル送信回路６１５Ａが初期状態を維持する時間を十分に確保し、その間に、払出制御装置２１０及び演出制御装置１５０は、初期化処理を実行し、自身のシリアル受信回路６２５を介して遊技制御装置１００からの指令を受信可能な状態にすることができる。
【０５１５】
したがって、ディレイ処理を設けることで、図２５のように、リセット信号が、遊技制御装置１００、払出制御装置２１０及び演出制御装置１５０に同時に伝達される構成の遊技機であっても、ハードウェア等で構成した遅延回路を設けることなく、各制御装置が起動を開始するタイミングを適切に設定することができる。
【０５１６】
よって、図３２のように、まず、払出制御装置２１０に接続されるシリアル送信回路６１５Ｂ及び演出制御装置１５０に接続されるシリアル送信回路６１５Ａが初期状態に維持され、その状態で、払出制御装置２１０及び演出制御装置１５０のシリアル受信回路６２５が指令受信可能状態になり、次いで、払出制御装置２１０及び演出制御装置１５０に初期化指令を送信させることを確実に実行できるようになる。
【０５１７】
仮に、遊技機１への電源投入直後において、遊技制御装置１００の払出制御装置２１０に接続されるシリアル送信回路６１５Ｂ及び演出制御装置１５０に接続されるシリアル送信回路６１５Ａが初期状態に維持される以前に、払出制御装置２１０若しくは演出制御装置１５０のシリアル受信回路６２５が指令受信可能状態になると、払出制御装置２１０に接続されるシリアル送信回路６１５Ｂ及び演出制御装置１５０に接続されるシリアル送信回路６１５Ａから出力される信号レベルが不安定であるから、払出制御装置２１０若しくは演出制御装置１５０にてこの不安定な信号レベルの情報を、正規な信号であると誤って受信するおそれがあり、誤作動を引き起こす可能性がある。
【０５１８】
また、払出制御装置２１０若しくは演出制御装置１５０のシリアル受信回路６２５が指令受信可能状態になる前に、遊技制御装置１００から、払出制御装置２１０若しくは演出制御装置１５０へ初期化指令を送信してしまうと、払出制御装置２１０や演出制御装置１５０で初期化指令を受信できなくなり、誤作動を引き起こす可能性がある。
【０５１９】
特に、本実施形態の遊技機のように、遊技制御装置１００から払出制御装置２１０へ単方向で指令を送信する構成や、遊技制御装置１００から演出制御装置１５０へ単方向で指令を送信する構成の場合には、指令された情報が正しく送信されているか否かを確認することが困難であるため、初期化時に処理を遅延させることが有効である。
【０５２０】
また、図３２では、ＲＡＭクリア信号の取り込みが２回である例を示したが、複数回であればよい。この複数回の間にディレイ処理を実行することによって、ディレイ処理実行直前のＲＡＭクリア信号取り込みのチャタリング除去等にかかる時間をディレイ処理による遅延時間と重複させることができるので、処理を効率化させることができる。
【０５２１】
図３３は、本発明の第１の実施の形態の遊技制御装置１００から払出制御装置２１０に送信される排出指令の一例を示す図である。
【０５２２】
払出制御装置２１０に送信される排出指令は、払出制御装置２１０を初期化する指令（初期化指令信号）と、賞球を排出する指令（排出指令信号）と、エラーの発生及び解除を通知する指令（エラー通知信号）があり、モード部及びアクション部からなる共通のフォーマットで送信される。
【０５２３】
まず、初期化指令信号について説明すると、初期化指令信号は、モード部が「８０Ｈ」であり、アクション部は「００Ｈ〜７ＦＨ」のいずれかの値となる。初期化指令信号のアクション部は、払出制御装置２１０に設定されている認証コードに対応する値（「００Ｈ〜７ＦＨ」のいずれかの値）となる。この払出制御装置２１０に設定されている認証コードに対応する値は、例えば、ＲＡＭ１０４に設定されているものとする。なお、モード部は「８０Ｈ」以上の値、アクション部には「８０Ｈ」未満の値が設定されており、モード部を受信する場合に「８０Ｈ」未満の値が送信された場合には不正なコマンドが送信されてきたことを判別することが可能となっている。
【０５２４】
初期化指令信号の出力時期は、遊技制御装置１００に電源投入時であり、具体的には、図２５に示すステップ２５１１の処理である。
【０５２５】
次に、排出指令信号について説明する。払出制御装置２１０によって払い出される遊技媒体の個数に対応して、１５個の排出指令信号が用意されている。
【０５２６】
排出指令信号のモード部は「Ａ１Ｈ〜ＡＦＨ」である。なお、このモード部の下位バイトは、排出指令信号が払い出しを指令する遊技媒体の個数と一致する。また、排出指令信号のアクション部は「５ＥＨ〜５０Ｈ」となる。このアクション部は、モード部の各ビットの論理を反転した値となっている。
【０５２７】
例えば、１個の遊技媒体の払い出しを指令する排出指令信号のモード部は「Ａ１Ｈ」であり、アクション部は「５ＥＨ」である。すなわち、排出指令信号は、モード部とアクション部とからなる２バイトのデータで構成されている。
【０５２８】
なお、排出指令信号の出力時期は、一般入賞口３２、第１始動入賞口３７、第２始動入賞口３４、特別変動入賞装置（大入賞口）３６に遊技球が入賞したタイミングで出力される。
【０５２９】
また、払出制御装置２１０は、排出指令信号を受信すると、受信した排出指令信号のモード部の各ビットの論理を反転した値が、アクション部の各ビットの値と一致しなければ、受信した排出指令信号に対応する個数の遊技媒体の払い出しを許可しない。
【０５３０】
最後に、エラー通知信号について説明する。排出指令がエラー発生通知の場合には、モード部にエラーが発生したことを示す「Ｃ０Ｈ」が設定される。また、エラー通知信号のアクション部は、発生したエラーの種類に対応する値（「００Ｈ〜７ＦＨ」のいずれかの値）が設定される。
【０５３１】
排出指令がエラー解除通知の場合には、モード部にエラーが解除されたことを示す「Ｃ１Ｈ」が設定される。また、エラー解除信号のアクション部は、エラー通知信号の場合と同様に、発生したエラーの種類に対応する値（「００Ｈ〜７ＦＨ」のいずれかの値）が設定される。
【０５３２】
図３４は、本発明の第１の実施の形態のスイッチの立ち上がりを検出する手順を示すタイムチャートである。なお、図中のｆは割込周期であり、割込周期の先頭でタイマ割込が発生する。また、ｄは遅延時間を示す。スイッチの立ち上がり、すなわち、スイッチがオンになったか否かの判定は、図２９に示したタイマ割込処理のステップ２９１２の入出力処理で行われる。なお、以下に示す、第１物理レベル、第２物理レベル、論理レベル、立上り情報は、タイマ割込が発生する毎に更新され、遊技機に備えられたスイッチ毎に整理されてＳＷ制御領域（図３１で前述）に記憶される。
【０５３３】
まず、スイッチの立ち上がり時（３４０１）及び立ち下がり時（３４０２）について説明する。ＣＰＵ１０２は、タイマ割込発生時の入出力処理（図２９のステップ２９１２）において、スイッチの検出信号のレベルが、前回設定された第１物理レベルと相違すると（ローレベルからハイレベル、又は、ハイレベルからローレベルに変化）、第１物理レベルを検出信号のレベルに新たに設定する。そして、所定の遅延時間が経過した後、スイッチの検出信号が、前回設定された第２物理レベルと相違する場合には、第２物理レベルを検出信号のレベルに設定する。なお、第１物理レベルと第２物理レベルとは、検出タイミングが異なるだけである。
【０５３４】
このとき、第１物理レベルと、第２物理レベルとが一致していれば、検出信号が変化したものと判断し、論理レベルに当該レベルを設定する。そして、論理レベルがローレベルからハイレベルに変化した場合には、次のタイマ割込発生から遅延時間が経過するまで、立ち上がり情報をオンに設定する。すなわち、立ち上がり情報をオンに設定した後、次のタイマ割込発生でオフに設定する。
【０５３５】
また、本発明の第１の実施の形態では、第１物理レベルと第２物理レベルの信号レベルが相違する場合、すなわち、３４０３に示すように、第１物理レベル検出時と、第２物理レベル検出時とで、スイッチの検出信号のレベルが相違する場合には、ノイズが発生したものとして、論理レベルを変更しないように構成されている。このように構成することによって、ノイズ発生時に誤って立上り情報がオンに設定されることを防ぎ、後述するように、賞球排出指令が誤って払出制御装置２１０に送信されることを防ぐことができる。
【０５３６】
また、本発明の第１の実施の形態では、図３４のタイミングチャートに示した立上り情報がオンとなったスイッチの中に賞球排出対象となるものが含まれている場合は、送信バッファ（図６の送信データバッファレジスタ６３５Ａ）に賞球排出指令が格納されることで、遊技制御装置１００から払出制御装置２１０に賞球排出指令が送信される。また、賞球排出指令は、賞球排出の対象となる入賞スイッチ（図４における、第１特図始動ＳＷ３７Ａ、第２特図始動ＳＷ３４Ａ、カウントＳＷ３６Ａ、及び入賞口ＳＷ３２Ａ〜入賞口ＳＷ３２Ｎ）ごとに定義される。なお、本発明の第１の実施の形態では、賞球排出の対象となる入賞スイッチが１６個備えられている。
【０５３７】
このとき、１回のタイマ割込周期内での送信で、送信バッファ内に格納されたすべての賞球排出指令が送信されないと、次回のタイマ割込発生時に、賞球排出対象のスイッチの立上り情報がオンとなって新たに発生した賞球排出指令を、送信バッファに取り込めない恐れがある。これを防止するには、新たに賞球排出指令が発生する度に、送信バッファに空きがあるか否かを確認して、空きがなければ次回送信時まで賞球排出指令を保持していなければならず、送信できない賞球排出指令を保持するための記憶領域（例えば、前述したＳＷ制御領域の立ち上がり情報を一時的に退避させる領域など）を必要としてしまう。また、送信バッファに格納できなかった賞球排出指令を退避させる処理も必要となってしまう。
【０５３８】
例えば、賞球排出対象のスイッチが５個であり、賞球排出指令のサイズが２バイトであるならば、払出制御装置２１０に指令を送信するためのバッファ（送信データレジスタ６３５）に格納できるデータの最大バイト数を１０バイトとしておけば、同一タイマ割込周期内で賞球排出対象の全てのスイッチが同時にオンしたとしても、全ての賞球排出指令をバッファに取り込むことが出来る。しかしながら、賞球排出対象のスイッチが５個を超えた場合には、バッファにはより多くの容量を必要とすることになる。
【０５３９】
本発明の第１の実施の形態では、送信バッファの容量を３２バイトに設定しているので、賞球排出対象のスイッチが１６個以下であれば、１回の割り込み発生時にすべての賞球排出指令を遊技制御装置１００から払出制御装置２１０に送信できるように構成されている。したがって、送信されなかった賞球排出指令を保持するための記憶領域を必要とせず、また、送信されていない賞球排出指令を退避させる処理も不要となるため、必要な記憶容量を削減し、遊技制御装置１００の制御プログラムを簡略化することができる。
【０５４０】
図３５は、本発明の第１の実施の形態の遊技制御装置１００から演出制御装置１５０に送信される演出制御コマンドの一例を示す図である。
【０５４１】
演出制御装置１５０に送信されるコマンドは、初期化コマンドと通常時のコマンドである演出コマンドとがあり、これらのモード部及びアクション部によって構成される共通のフォーマットで送信される。
【０５４２】
まず、初期化コマンドについて説明する。
【０５４３】
初期化コマンドには、ＲＡＭ１０４のすべての領域が初期化されたか否かを示す電源投入コマンドと、遊技機１のシリーズを特定するためのシリーズ機特定コマンドとが含まれる。また、直前の電源遮断時における遊技機１の遊技状態（低確率状態、高確率状態、入賞抑制状態、入賞促進状態）を通知するコマンドや直前の電源遮断時における特別図柄入賞記憶の数を通知するコマンドも初期化コマンドに含まれる。
【０５４４】
図３５に示すように、ＲＡＭ１０４のすべての領域が初期化されたことを示す電源投入コマンドＡのモード部は「８０Ｈ」であり、アクション部は「０１Ｈ」である。ＲＡＭ１０４のすべての領域が初期化されたこととは、図２５に示すステップ２５１０の処理が実行されたことである。
【０５４５】
一方、ＲＡＭ１０４のすべての領域が初期化されていないこと、つまり、ＲＡＭ１０４の一部の領域が初期化されたことを示す電源投入コマンドＢのモード部は「８０Ｈ」であり、アクション部は「０２Ｈ」である。ＲＡＭ１０４のすべての領域が初期化されていないこと、つまり、ＲＡＭ１０４の一部の領域が初期化されたこととは、図２５に示すステップ２５１６の処理が実行されたことである。
【０５４６】
したがって、図２５に示すステップ２５１０の処理が実行された場合には、ステップ２５１１の処理で、モード部が「８０Ｈ」でアクション部が「０１Ｈ」である電源投入コマンドＡが送信される。図２５に示すステップ２５１６の処理が実行された場合には、ステップ２５１１の処理で、モード部が「８０Ｈ」でアクション部が「０２Ｈ」である電源投入コマンドＡが送信される。
【０５４７】
演出制御装置１５０は、ＲＡＭ１０４のすべての領域が初期化されたことを示す電源投入コマンドＡを受信すると、ＲＡＭ１０４のすべての領域が初期化されたことを表示装置８に表示する。
【０５４８】
また、演出制御装置１５０は、ＲＡＭ１０４のすべての領域が初期化されていないことを示す電源投入コマンドＢを受信すると、ＲＡＭ１０４のすべての領域が初期化されていないことを表示装置８に表示する。
【０５４９】
また、シリーズ機特定コマンドのモード部は「８１Ｈ」であり、アクション部は「０１Ｈ〜７ＦＨ」である。アクション部は、遊技機１のシリーズに対応する「０１Ｈ」〜「７ＦＨ」のいずれかの値である。なお、遊技機１のシリーズに対応する値は、ＲＯＭ１０３に設定されている。
【０５５０】
また、遊技状態（低確率状態、高確率状態、入賞抑制状態、入賞促進状態）を通知するコマンドは、モード部が「９０Ｈ」となっており、アクション部には、直前の電源遮断時における遊技状態別に対応付けられた値が格納される。例えば、低確率状態であればアクション部は「０１Ｈ」であり、高確率状態であればアクション部は「０２Ｈ」となる。演出制御装置１５０は、遊技状態を通知するコマンドを受信すると、遊技状態を報知するための演出を行う。
【０５５１】
また、特別図柄入賞記憶の数を通知する保留情報コマンドは、モード部が「Ａ０Ｈ」となっており、アクション部は「００Ｈ〜０４Ｈ」のいずれかの値である。アクション部は、直前の電源遮断時における始動記憶数（０〜４）に対応した値である。演出制御装置１５０は、保留情報コマンドを受信すると、表示装置８の記憶表示部（図４９で後述する第１記憶表示部４９２０又は第２記憶表示部４９３０）部に、受信した保留情報コマンドに対応する始動記憶数を表示する。
【０５５２】
これらのシリーズ機特定信号、遊技状態を通知するコマンド、及び特別図柄入賞記憶の数を通知するコマンドの出力時期は、電源投入時であり、図２５に示すステップ２５１１の処理で送信される。なお、これらの各信号と電源投入コマンドの出力順序は、いずれが先であっても後であってもよい。さらに、電源投入時に、遊技制御装置１００から演出制御装置１５０へ通知すべき情報が他にもあれば、初期化コマンドとして一緒に送信してもよい。
【０５５３】
次に、各演出コマンドについて説明する。
【０５５４】
まず、表示装置８で実行される変動表示ゲームにおいて、始動口に遊技球が入賞したタイミングで出力され、図柄の変動開始前に実行される演出を指示する変動前演出指定コマンドについて説明する。
【０５５５】
変動前演出指定コマンドのモード部は「Ａ１Ｈ〜ＡＦＨ」であり、アクション部は「０１Ｈ〜７ＦＨ」のいずれかの値である。モード部は前半変動パターン番号に対応し、アクション部は後半変動パターン番号に対応する。
【０５５６】
演出制御装置１５０は、変動前演出指定コマンドを受信すると、表示装置８において識別図柄の変動開始前の演出、例えば、先読み予告としてキャラクタが登場するなどの演出が実行され、その後、図柄の変動表示を開始し、変動表示ゲームを開始する。
【０５５７】
表示装置８で実行される変動表示ゲームにおいて図柄の変動パターンを指示する飾り図柄変動パターン指定コマンドについて説明する。
【０５５８】
飾り図柄変動パターン指定コマンドのモード部は「Ｂ１Ｈ」であり、アクション部は「０１Ｈ〜７ＦＨ」のいずれかの値である。モード部は前半変動パターン番号に対応し、アクション部は後半変動パターン番号に対応する。
【０５５９】
演出制御装置１５０は、飾り図柄変動パターン指定コマンドを受信すると、表示装置８において図柄の変動表示を開始し、変動表示ゲームを開始する。
【０５６０】
飾り図柄変動パターン指定コマンドは、表示装置８において変動表示ゲームの図柄の変動表示を開始するタイミングで送信する。具体的には、表示装置８で変動表示ゲームが終了した場合に始動記憶がある場合、又は表示装置８で変動表示ゲームが実行されていない場合に始動入賞口に遊技球が入賞した場合である。
【０５６１】
次に、表示装置８における変動表示ゲームにおける停止図柄を指定する停止図柄指定コマンドについて説明する。
【０５６２】
停止図柄指定コマンドのモード部は「Ｂ０Ｈ」であり、アクション部は「０１Ｈ〜７ＦＨ」のいずれかの値である。アクション部は、停止図柄に対応する値である。
【０５６３】
演出制御装置１５０は、停止図柄指定コマンドを受信すると、受信した停止図柄指定コマンドに基づいて、表示装置８における変動表示ゲームの停止図柄を特定する。
【０５６４】
停止図柄指定コマンドは、表示装置８の変動表示ゲームの変動表示を開始するときに送信される。
【０５６５】
変動時間が経過し、変動表示中の図柄を停止するための図柄変動停止コマンドについて説明する。
【０５６６】
図柄変動停止コマンドのモード部は「Ｃ０Ｈ」であり、アクション部は「０１Ｈ」である。
【０５６７】
演出制御装置１５０は、図柄変動停止コマンドを受信すると、表示装置８で変動表示している図柄を停止させる。
【０５６８】
図柄変動停止コマンドは、変動時間が経過したタイミングで送信される。
【０５６９】
続いて、特別遊技状態発生中に送信される大当り関連コマンドについて説明する。
【０５７０】
大当り関連演出指令信号のモード部は「Ｄ０Ｈ」であり、アクション部は「０１Ｈ〜７ＦＨ」のいずれかの値である。アクション部は、特別遊技状態の進行状況に応じた値である。
【０５７１】
演出制御装置１５０は、大当り関連コマンドを受信すると、受信した大当り関連コマンドに基づいて、特別遊技状態に関連する演出を行う。
【０５７２】
遊技機１においてエラーが発生した場合にエラーの発生を報知するためのエラー関連コマンドについて説明する。
【０５７３】
エラー関連コマンドのモード部は「７０Ｈ」であり、アクション部は「０１Ｈ〜７ＦＨ」のいずれかの値である。アクション部は発生したエラーに対応した値である。
【０５７４】
演出制御装置１５０は、エラー関連コマンドを受信すると、エラー関連コマンドに基づいて、発生したエラーを報知するための演出を行う。
【０５７５】
エラー関連コマンドは、遊技制御装置１００がエラーを検出したタイミングで送信される。
【０５７６】
なお、前述の遊技状態を通知するコマンド（モード部＝「９０Ｈ」）は、電源投入時だけでなく、通常の遊技中において遊技状態が変化した場合にも送信される。例えば、遊技中において低確率状態が発生したときに、モード部＝「９０Ｈ」かつアクション部＝「０１Ｈ」のコマンドが送信され、遊技中において、高確率状態が発生したときに、モード部＝「９０Ｈ」かつアクション部＝「０２Ｈ」のコマンドが送信される。
【０５７７】
また、前述の特別図柄入賞記憶の数を通知するコマンド（モード部＝「Ａ０Ｈ」）は、電源投入時だけでなく、通常の遊技中において始動入賞口に遊技球が入賞して始動記憶数が増加した場合にも送信される。例えば、遊技中において始動入賞口に遊技球が入賞して始動記憶数が「３」に変化したときには、モード部＝「Ａ０Ｈ」かつアクション部＝「０３Ｈ」の信号が送信される。
【０５７８】
したがって、これらの遊技状態を通知する信号、及び特別図柄入賞記憶の数を通知する信号は、演出コマンドとしても機能することになる。
【０５７９】
なお、前述したように、これらの信号のうち、変動前演出指定コマンドは、他の信号よりも優先して演出制御装置１５０へのデータ送信を行うためのバッファ（送信データレジスタ６３５）に取り込まれる。これにより、遊技制御装置１００における変動表示ゲームの進行状態と、演出制御装置１５０における変動表示ゲームの進行状態との時間差を常に固定させる。
【０５８０】
図３６は、本発明の第１の実施の形態の遊技制御装置１００から演出制御装置１５０に送信される送信データの構成を示す説明図である。図３６（ａ）は送信データの概略構成を示し、図３６（ｂ）は送信データの詳細構成を示している。なお、遊技制御装置１００から払出制御装置２１０に送信される送信データの構成も同様である。
【０５８１】
図３６（ａ）に示すように、１組の制御指令データは、コマンドの分類を識別するためのモードデータＤＣｍと、実行されるコマンドの内容（機能）を示すアクションデータＤＣａで構成される。これらのモードデータＤＣｍ及びアクションデータＤＣａは、図３３の賞球排出指令のＭＯＤＥ及びＡＣＴＩＯＮ、図３５の演出制御コマンドのＭＯＤＥ及びＡＣＴＩＯＮに各々対応する。
【０５８２】
また、本実施形態では、送信バッファに設定されたすべての制御指令データ（最大３２バイト）を１回の割込周期ですべて送信可能となるようにデータの送信速度が設定されている。したがって、遊技制御装置１００の制御プログラムを複雑化させずに、演出制御装置１５０への指令送信を一時的に中断するなどの処理を必要とせず、また、指令送信の遅れなどによって、遊技制御装置１００と演出制御装置１５０の各制御の進行状態がずれないようにすることが可能となる。
【０５８３】
また、図３６（ｂ）に示すように、１組の制御指令データを構成するモードデータＤＣｍ及びアクションデータＤＣａは、８ビットのコマンドデータに、１フレームの開始であることを示すスタートビット、１ビットのパリティデータ、１フレームの終わりであることを示すストップビットが付加され、１フレームを処理単位として送信される。従って、この１フレームの時間が、１バイトあたりのデータ送信時間（送信バッファに格納された制御指令データを１バイト送信するために必要な時間）となる。
【０５８４】
すなわち、本実施形態では、非同期方式（調歩同期式）によるシリアル通信を利用して制御指令データを送信する。
【０５８５】
演出制御装置１５０は、受信した１組の制御指令データ（モードデータＤＣｍ＋アクションデータＤＣａ）を解析し、表示装置８、音回路１５６、装飾制御装置等を制御するための制御データを生成する。
【０５８６】
本実施形態では、１回の割り込み処理で生成された一連の制御指令データを送信するときに、全ての制御指令データを、タイマ割込周期内で一時に送信するようにしている。すなわち、一連の制御指令データを全て送信データレジスタ６３５に格納した後で、シリアル送信回路６１５を送信許可状態として（送信制御レジスタ６３２の送信イネーブルを送信許可に設定）送信を開始する。
【０５８７】
従属制御装置としての演出制御装置１５０は、連続して受信したデータを、一連の制御指令データとして認識する。そして、この一連の制御指令データを処理単位として演出装置（例えば、表示装置８）を制御する。
【０５８８】
これにより、演出制御装置１５０は、タイマ割り込み処理毎に生成された一連の制御指令データを特定でき、１回のタイマ割り込み処理で生成された一連の制御指令データを処理単位として演出装置を制御するので、一連の制御指令データに基づく演出を連続して（タイムラグなく）実行することができる。
【０５８９】
次に、図３７を参照して、図２９のタイマ割込処理における特図ゲーム処理（２９１８）の詳細を説明する。図３７は、本発明の第１の実施の形態の特図ゲーム処理の手順を示すフローチャートである。
【０５９０】
遊技制御装置１００は、第１始動入賞口３７（図３参照）及び普通変動入賞装置３３（図３参照）の第２始動入賞口への遊技球の入賞を監視し、入賞に基づき各種乱数値の記憶を行う始動口ＳＷ監視処理を実行する（３７００）。なお、始動口ＳＷ監視処理についての詳細は、図３９にて後述する。
【０５９１】
遊技制御装置１００は、カウントＳＷ３６Ａ（図３参照）からの入力を監視するカウントスイッチ監視処理を行う（３７０１）。
【０５９２】
遊技制御装置１００は、ステップ３７０６〜３７１２の各処理で設定される特図ゲーム処理タイマが０であるか否かを判定する（３７０２）。
【０５９３】
特図ゲーム処理タイマが０でないと判定された場合には（３７０２の結果が「Ｎ」）、遊技制御装置１００は、特図ゲーム処理タイマを−１更新し（３７０３）、更新された特図ゲーム処理タイマがタイムアップして０になったか否かを判定する（３７０４）。特図ゲーム処理タイマがタイムアップしていない場合には（３７０４の結果が「Ｎ」）、遊技制御装置１００はステップ３７１４の処理を実行する。
【０５９４】
一方、特図ゲーム処理タイマが０であると判定された場合には（３７０２の結果が「Ｙ」）、又は特図ゲーム処理タイマがタイムアップしたと判定された場合には（３７０４の結果が「Ｙ」）、遊技制御装置１００は、ゲーム処理番号を取得し、取得したゲーム処理番号に基づいて実行する処理を選択するゲーム分岐処理を行う（３７０５）。
【０５９５】
ゲーム処理番号が０である場合には、遊技制御装置１００は、特図変動表示ゲームの変動開始を監視し、特図変動表示ゲームの変動開始の設定や演出の設定、特図変動中処理を行うために必要な情報の設定を行う特図普段処理を実行する（３７０６）。特図普段処理では、特図変動表示ゲームの変動に係る情報の設定を行うようになっており、始動記憶に基づく特図変動表示ゲームの実行に伴って始動記憶を１デクリメントする処理や特図変動表示ゲームにおける変動時間の設定処理等を行う。なお、特図普段処理についての詳細は、図４５にて後述する。
【０５９６】
ゲーム処理番号が１である場合には、遊技制御装置１００は、特図表示中処理（３７０８）を行うために必要な情報（特図変動表示ゲームにおける結果の停止表示時間等）の設定を行う特図変動中処理を実行する（３７０７）。
【０５９７】
ゲーム処理番号が２である場合には、遊技制御装置１００は、特図表示中処理を実行する（３７０８）。特図表示中処理では、特図変動表示ゲームの結果が大当りである場合にファンファーレ・インターバル処理（３７０９）を行うために必要な情報が設定され、特図変動表示ゲームの結果がはずれである場合には特図普段処理（３７０６）を行うために必要な情報が設定される。
【０５９８】
ゲーム処理番号が３である場合には、遊技制御装置１００は、特別遊技状態における大入賞口の開放回数の更新等の処理を行うファンファーレ・インターバル処理を実行する（３７０９）。なお、この処理において、ラウンド開始コマンドが設定される。
【０５９９】
ゲーム処理番号が４である場合には、遊技制御装置１００は大入賞口開放中処理を行う（３７１０）。大入賞口開放中処理では、特別遊技状態が最終ラウンドでなければファンファーレ・インターバル処理（３７０９）を行うために必要な情報（インターバルコマンドを含む）が設定され、特別遊技状態が最終ラウンドであれば特別遊技状態の終了画面のコマンド（大当り終了コマンド）の設定や大入賞口残存球処理（３７１１）を行うために必要な情報が設定される。
【０６００】
ゲーム処理番号が５である場合には、遊技制御装置１００は大入賞口残存球処理を行う（３７１１）。大入賞口残存球処理では、特別遊技状態が最終ラウンドである場合に、大入賞口を閉鎖した後に大入賞口内に残存する全ての遊技球がカウントＳＷ４２ｃで検出されるまでの時間が設定される。
【０６０１】
ゲーム処理番号が６である場合には、遊技制御装置１００は大当り終了処理を実行する（３７１２）。大当り終了処理では、特別遊技状態を終了する処理が行われ、特図普段処理（３７０６）を行うために必要な情報が設定される。
【０６０２】
ゲーム処理番号に基づくステップ３７０６〜３７１２の処理を行った後、遊技制御装置１００は、設定された各種データをセーブするテーブルデータセーブ処理を実行する（３７１３）。その後、遊技制御装置１００は、特図１変動表示ゲームのゲーム処理タイマの更新等を行う特図１変動制御処理（３７１４）を実行し、特図２変動表示ゲームのゲーム処理タイマの更新等を行う特図２変動制御処理（３７１５）を実行して、特図ゲーム処理を終了する。
【０６０３】
図３８は、本発明の第１の実施の形態の特図ゲーム処理におけるゲーム処理番号に基づいた分岐の処理を説明する図である。この分岐の処理は、図３７のステップ３７０５で実行され、行３８０１〜行３８０７の命令が順に実行されることになる。ここでは、図１２で前述した各種レジスタ、図２１及び図２２で前述したアセンブリ言語を用いて説明を行うことにする。
【０６０４】
なお、図３８における列３８２１は、遊技制御プログラムが格納されているユーザプログラムＲＯＭ１０３のアドレスを示し、列３８２２は、当該アドレスに格納されているデータを示している。例えば、ユーザプログラムＲＯＭ１０３の「４８００Ｈ」のアドレスには「Ｆ５Ｈ」のデータが格納され、続く「４８０１Ｈ」のアドレスには「０ＣＨ」のデータが格納され、続く「４８０２Ｈ」のアドレスには「４８Ｈ」のデータが格納され、続く「４８０３Ｈ」のアドレスには「３ＡＨ」のデータが格納されている。以降の「４８０４Ｈ」〜「４８０ＢＨ」のアドレスには、「１０Ｈ」、「２８Ｈ」、「８７Ｈ」、‥‥、「０９Ｈ」、「Ｅ９Ｈ」のデータが格納されている。
【０６０５】
さらに、「４８０ＣＨ」と「４８０ＤＨ」のアドレスには「２０Ｈ」と「４８Ｈ」の値が格納されている。この２バイトのデータを１６ビットのデータ（ただし、下位アドレス側と上位アドレス側を入れ替える）として表現したデータ「４８２０Ｈ」は、図３７のステップ３７０６で実行される特図普段処理の先頭アドレスに相当する。同様に、「４８０ＥＨ」と「４８０ＦＨ」のアドレスに格納されるデータを１６ビットで表現した「４８４０Ｈ」は、図３７のステップ３７０７で実行される特図変動中処理の先頭アドレスに相当する。
【０６０６】
以下、「４８１０Ｈ」以降に格納される１６ビットの各データ「４８６０Ｈ」、「４８８０Ｈ」、「４８Ａ０Ｈ」、‥‥は、図３７のステップ３７０８、３７０９、３７１０、‥‥で実行される、特図表示中処理、ファンファーレ・インターバル処理、大入賞口開放処理、‥‥のそれぞれの先頭アドレスに相当する。このようにして、アドレス値４８０ＣＨ〜４８１９Ｈの領域では、各処理の先頭アドレスが処理番号順に格納されることにより、所定の分岐アドレステーブルを構成している。
【０６０７】
行３８０１の命令は、ＨＬレジスタ１２１２Ａに、前述の分岐アドレステーブルの先頭となるアドレス値「４８０ＣＨ」をロードするものである。次に、行３８０２の命令が実行され、Ａレジスタ１２０２Ａにゲーム処理番号（図３７の３７０５参照）がロードされる。次に、行３８０３の命令が実行され、Ａレジスタ１２０２Ａの値が２倍される。
【０６０８】
次に、行３８０４によりＡレジスタ１２０２Ａの値がＣレジスタ１２０５Ａにロードされ、行３８０５によりＢレジスタ１２０４Ａに「０」の値がロードされることで、ＢＣレジスタ１２０６ＡにＡレジスタ１２０２Ａの値が設定される。
【０６０９】
次に、行３８０６によりＨＬレジスタ１２１２ＡにＢＣレジスタ１２０６Ａの値が加算される。これにより、ＨＬレジスタ１２１２Ａには、ゲーム処理番号に対応する処理の分岐先のアドレスが設定される。最後に、行３８０７の「ＪＰ  （ＨＬ）」命令を実行することで、ＨＬレジスタ１２１２Ａが示すアドレスに、処理を移行させる。
【０６１０】
ここで、行３８０１〜行３８０７の各命令と、遊技制御プログラムが格納されているユーザプログラムＲＯＭ１０３に記憶される列３７２２の各データとの関係について説明する。
【０６１１】
遊技制御プログラムを記述するアセンブリ言語の命令は、図２１及び図２２で前述したコードに変換されて、ユーザプログラムＲＯＭ１０３に記憶されている。例えば、行３８０１の「ＬＤ  ＨＬ，４８０ＣＨ」の命令は、「４８００Ｈ」〜「４８０３Ｈ」のアドレスに配置される「Ｆ５Ｈ」、「０ＣＨ」「４８Ｈ」の値に変換されて、ユーザプログラムＲＯＭ１０３に記憶されている。行３８０２〜行３８０７の各命令も、対応するコードに変換されて、ユーザプログラムＲＯＭ１０３の「４８０３Ｈ」〜「４８０ＢＨ」のアドレスに、順に記憶されている。
【０６１２】
なお、行３８０８以降の記述は、特図普段処理、特図変動中処理、特図表示中処理、ファンファーレ・インターバル処理、大入賞口開放処理、‥‥の先頭アドレスの値をプログラム中に配置することを示しており、ユーザプログラムＲＯＭ１０３の「４８０ＣＨ」以降のアドレスに、対応するアドレスデータが設定されることによって、前述の分岐アドレステーブルが構成されることになる。
【０６１３】
このように、ＨＬレジスタに所定の分岐アドレステーブルの先頭アドレス（「４８０ＣＨ」）を設定し、処理番号（ＳＥＱＮＯ）に応じてＨＬレジスタの値を更新することによって、処理番号に応じた処理を実行することができる。したがって、ＨＬレジスタは、分岐アドレス設定レジスタとして機能する。
【０６１４】
なお、「ＪＰ  （ＨＬ）」以外に、特定のレジスタが示す値をアドレスと見なして分岐する命令が存在すれば、そのレジスタは分岐アドレス設定レジスタとして機能することになる。例えば、図２１には図示していないが、ＩＸレジスタ１２３１が示す値のアドレスに処理を分岐させる命令「ＪＰ  （ＩＸ）」を用いていれば、ＩＸレジスタ１２３１は分岐アドレス設定レジスタとして機能していることとなる。
【０６１５】
また、「ＪＰ  （ＨＬ）」命令を用いなくても、ＨＬレジスタが示す値をアドレスと見なして、そのアドレスに処理を分岐させるような方法は、他にもある。例えば、「ＰＵＳＨ  ＨＬ」命令を実行して、一旦スタック領域に７０６にＨＬレジスタの値を格納し、直後に「ＲＥＴ」命令を実行すれば、スタック領域に７０６に格納してあったＨＬレジスタの値がプログラムカウンタ１２３４に格納される。その結果、ＨＬレジスタが示す値のアドレスに処理を分岐させることができる。
【０６１６】
このような方法を用いるのであれば、ＨＬレジスタ１２１２Ａ以外のレジスタを分岐アドレス設定レジスタとして機能させることも可能である。例えば、ＤＥレジスタ１２０９Ａをスタック領域に７０６に格納した直後に「ＲＥＴ」命令を実行すれば、ＤＥレジスタ１２０９Ａが示す値のアドレスに分岐するので、この場合はＤＥレジスタ１２０９Ａが分岐アドレス設定レジスタとして機能することになる。
【０６１７】
次に、図３９を参照して、図３７の特図ゲーム処理における始動口ＳＷ監視処理（３７００）の詳細を説明する。図３９は、本発明の第１の実施の形態の始動口ＳＷ監視処理の手順を示すフローチャートである。
【０６１８】
始動口ＳＷ監視処理では、遊技制御装置１００は、まず第１始動入賞があるか否かの判定を行う（３９００）。第１始動入賞口３７への入賞があるか否かは、第１始動入賞口３７への入賞があった場合に第１特図始動ＳＷ３７Ａから出力される遊技球の検出信号の有無によって判定される。第１始動入賞がない場合には（３９００の結果が「Ｎ」）、遊技制御装置１００はステップ３９０１の処理を実行する。これに対して、第１始動入賞がある場合には（３９００の結果が「Ｙ」）、遊技制御装置１００は特図始動口ＳＷ共通処理（３９０４）を実行し、始動口ＳＷ監視処理を終了する。なお、特図始動口ＳＷ共通処理についての詳細は図４０にて後述する。
【０６１９】
遊技制御装置１００は、普電作動中であるか否かを判定する（３９０１）。具体的には、遊技制御装置１００は、普電（普通電動役物）としての普通変動入賞装置３３の開閉部材が作動し、遊技球の入賞が可能な開状態となっているか否かを判定する。開閉部材が開状態であって普電作動中である場合には（３９０１の結果が「Ｙ」）、遊技制御装置１００はステップ３９０３の処理を実行する。これに対して、開閉部材が閉状態であって普電作動中でない場合には（３９０１の結果が「Ｎ」）、遊技制御装置１００はステップ３９０２の処理を実行する。
【０６２０】
遊技制御装置１００は、不正入賞エラーが発生したか否かを判定する（３９０２）。具体的には、遊技制御装置１００は、普通変動入賞装置３３の開閉部材が閉状態である状態で発生した不正な入賞があるか否かを判定する。なお、普通変動入賞装置３３の開閉部材が閉状態になった後の所定期間に検出された入賞は、不正入賞ではないと判定される。不正入賞エラーが発生している場合には（３９０２の結果が「Ｙ」）、遊技制御装置１００は始動口ＳＷ監視処理を終了する。これに対して、不正入賞エラーが発生していない場合には（３９０２の結果が「Ｎ」）、遊技制御装置１００はステップ３９０３の処理を実行する。
【０６２１】
遊技制御装置１００は、第２始動入賞（普通変動入賞装置３３の第２始動入賞口３４への入賞）があるか否かを判定する（３９０３）。普通変動入賞装置３３の第２始動入賞口３４への入賞があるか否かは、第２始動入賞口３４への入賞があった場合に第２特図始動ＳＷ３４Ａから出力される遊技球の検出信号の有無によって判定される。第２始動入賞がない場合には（３９０３の結果が「Ｎ」）、遊技制御装置１００は、始動口ＳＷ監視処理を終了する。これに対して、第２始動入賞がある場合には（３９０３の結果が「Ｙ」）、遊技制御装置１００は特図始動口ＳＷ共通処理（３９０４）を実行し、始動口ＳＷ監視処理を終了する。
【０６２２】
図４０を参照して、図３９の始動口ＳＷ監視処理における特図始動口ＳＷ共通処理（３９０４）の詳細を説明する。図４０は、本発明の第１の実施の形態の特図始動口ＳＷ共通処理の手順を示すフローチャートである。
【０６２３】
特図始動口ＳＷ共通処理では、遊技制御装置１００は、まず対応する始動入賞フラグを設定する処理を実行する（４０００）。遊技制御装置１００は、第１始動入賞口３７と普通変動入賞装置３３の第２始動入賞口３４のいずれの始動口への入賞により特図始動口ＳＷ共通処理が開始されたかに基づき始動入賞フラグを設定する。始動入賞フラグとしては、第１始動入賞口３７への入賞により特図始動口ＳＷ共通処理が開始された場合は特図１フラグが設定され、普通変動入賞装置３３の第２始動入賞口３４への入賞により特図始動口ＳＷ共通処理が開始された場合は特図２フラグが設定される。以下の処理では、特図１フラグが設定されていれば対応する処理として特図１始動記憶についての処理が行われ、特図２フラグが設定されていれば対応する処理として特図２始動記憶についての処理が行われる。
【０６２４】
遊技制御装置１００は、まず、遊技球が入賞した始動入賞口に対応するフラグを設定する（４０００）。具体的には第１始動入賞口に遊技球が入賞した場合には第１始動入賞フラグを設定し、第２始動入賞口に遊技球が入賞した場合には第２始動入賞フラグを設定する。
【０６２５】
次に、遊技制御装置１００は、対応する保留の数が上限（例えば４）であるか否かを判定する（４００１）。対応する保留の数とは、第１始動入賞口３７に遊技球が入賞した場合には第１特図保留カウンタの値が対象となり、第２始動入賞口３４に遊技球が入賞した場合には第２特図保留カウンタの値が対象となる（ともに図１５参照）。
【０６２６】
このとき、対応する保留の数が上限となっていて、これ以上対応する始動記憶を記憶できない場合には、遊技制御装置１００は本処理を終了して始動口ＳＷ監視処理を終了する。これに対して、対応する保留が上限でない場合には、遊技制御装置１００は、対応する始動記憶数（即ち、第１特図保留カウンタ又は第２特図保留カウンタのうち、入賞した始動口に対応する方）を１インクリメントする処理を実行し（４００２）、その後、ステップ４００３の処理を実行する。
【０６２７】
遊技制御装置１００は、保留数情報を設定する処理を実行する（４００３）。遊技制御装置１００は、対応する始動記憶数が１インクリメントされたことに基づき、始動記憶数の情報である保留数情報を設定する。なお、保留数情報は、始動記憶に関する情報を含む保留情報コマンド（図３５参照）の一つとして後に演出制御装置１５０に送信されるようになっている。その後、遊技制御装置１００は、対応する大当り判定用乱数を取得する処理（４００４）、対応する大当り図柄乱数を取得する処理（４００５）、対応する特図変動表示ゲームの変動パターン乱数を取得する処理（４００６）を実行する。ここでは、図１５に示される、大当り乱数、大当り図柄乱数、第１〜第３変動パターン乱数の各生成領域から、乱数値を取得する。
【０６２８】
遊技制御装置１００は、ステップ４００４〜４００６で取得した各種乱数値を用いて、特図保留情報判定処理を実行する（４００７）。この特図保留情報判定処理の詳細は、図４１を参照して後述する。
【０６２９】
そして、遊技制御装置１００は、対応する大当り判定用乱数を記憶する処理（４００８）、対応する大当り図柄乱数を記憶する処理（４００９）、対応する変動パターン乱数を記憶する処理を実行する（４０１０）。ここでは、遊技制御装置１００は、ステップ４００４〜４００６で取得した各種乱数値を、対応する乱数記憶領域に記憶する。
【０６３０】
対応する乱数記憶領域とは、処理対象の始動口が第１始動入賞口３７であれば、図１６で前述した、第１特図変動表示ゲームを実行するために必要な各種乱数の保存領域のうち、第１特図保留カウンタに対応する領域が該当する。同様に、処理対象の始動口が第２始動入賞口３４であれば、図１７で前述した、第２特図変動表示ゲームを実行するために必要な各種乱数の保存領域のうち、第２特図保留カウンタに対応する領域が該当する。
【０６３１】
例えば、第２始動入賞口３４に遊技球が入賞した結果、ステップ４００２にて第２特図保留カウンタが１インクリメントされて「３」となった場合は、図１７における「保留３の保存領域」に割り当てられた各種乱数の保存領域に、ステップ４００４〜４００６で取得した各種乱数値を記憶することになる。
【０６３２】
次いで、遊技制御装置１００は、保留情報コマンドを設定する処理を実行し（４０１１）、本処理を終了する。保留情報コマンドは、始動口への入賞によって更新された後の保留数（第１特図保留カウンタ又は第２特図保留カウンタの値）を通知するコマンドであり、直後に演出制御装置１５０に送信される（正確には、次回のタイマ割込処理（図２９）のコマンド送信処理（２９１２）が実行されるタイミングで送信される）ようになっている。
【０６３３】
図４１を参照して、図４０の特図始動口ＳＷ共通処理における特図保留情報判定処理（４００７）の詳細を説明する。図４１は、本発明の第１の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。
【０６３４】
特図保留情報判定処理では、乱数記憶領域へ新たに始動記憶が記憶される際に、すなわち、第１始動入賞口３７や第２始動入賞口３４（普通変動入賞装置３３）に遊技球が入賞したタイミングで、当該該始動記憶に対応する結果関連情報の判定が行われる。つまり、特図保留情報判定処理では、新たに記憶された始動記憶に基づく特図変動表示ゲームの開始タイミングより前に、当該始動記憶に対応した結果関連情報の判定を行う先読処理が行われることになる。
【０６３５】
特図保留情報判定処理では、遊技制御装置１００は、まず特図２始動記憶についての処理であるか否かを判定する（４１００）。特図２始動記憶についての処理である場合には（４１００の結果が「Ｙ」）、常に先読み処理を実行するため、遊技制御装置１００はステップ４１０３の処理を実行する。
【０６３６】
これに対して、特図２始動記憶についての処理でない場合（４１００の結果が「Ｎ」）、つまり、特図１始動記憶についての処理である場合には、遊技制御装置１００は、普通変動入賞装置３３の作動状態が抑制状態であるか否かを判定する（４１０１）。普通変動入賞装置３３の作動状態が抑制状態でない場合には（４１０１の結果が「Ｎ」）、遊技制御装置１００は、特図１始動記憶に関連する先読み演出を実行することなく、特図保留情報判定処理を終了する。
【０６３７】
これに対して、普通変動入賞装置３３が抑制状態である場合には、遊技制御装置１００は、大当り中であるか否かを判定する（４１０２）。遊技状態が特別遊技状態であって、大当り中である場合には（４１０２の結果が「Ｙ」）、遊技制御装置１００は、特図１始動記憶に対する先読み演出をせずに、特図保留情報判定処理を終了する。
【０６３８】
これに対して、大当り中でない場合には（４１０２の結果が「Ｎ」）、遊技制御装置１００は、始動記憶に対して大当り乱数が大当り判定値と一致するかを判定し、大当りである場合には大当りの種類や変動パターンを決定する特図大当り判定処理を実行する（４１０３）。なお、特図大当り判定処理についての詳細は、図４２にて後述する。
【０６３９】
遊技制御装置１００は、ステップ４１０３の処理で一時的に記憶される大当り種類を特定する情報及び変動パターンを特定する情報を用いて、変動前演出指定コマンドを設定する（４１０４）。変動前演出指定コマンドは、後述する図４３及び図４４の変動パターンテーブルを用いて設定され、一旦、遊技制御装置１００のＲＡＭ１０４に記憶される。そして、次回のタイマ割込処理（図２９参照）が実行されて、変動前演出指定コマンドが遊技制御装置１００から演出制御装置１５０に送信されると、演出制御装置１５０の変動パターン情報記憶領域に記憶される。
【０６４０】
図４２を参照して、図４１の特図保留情報判定処理における特図大当り判定処理（４１０３）の詳細を説明する。なお、後述の図４６の特図１変動開始処理（特図２変動開始処理）における特図大当り判定処理（４１０３）を実行する際にも、図４２の処理が行われる。図４２は、本発明の第１の実施の形態の特図大当り判定処理の手順を示すフローチャートである。
【０６４１】
特図大当り判定処理では、判定対象の始動記憶の大当り種類及び変動パターンを決定する処理が行われる。なお、図４１の特図保留情報判定処理の特図大当り判定処理を実行する場合は、乱数記憶領域へ新たに記憶された始動記憶が判定対象となるが、図４６の特図１変動開始処理（特図２変動開始処理）の特図大当り判定処理を実行する場合は、変動開始となる始動記憶が判定対象となる。すなわち、特図大当り判定処理は、複数の呼び出し元から参照される共通モジュールとなっている。
【０６４２】
遊技制御装置１００は、まず、特図確変フラグはオンになっているか否かを判定する（４２００）。そして、特図確変フラグがオンの場合には（４２００の結果が「Ｙ」）、遊技制御装置１００は、確変状態における、すなわち特図確率が高確率時の大当り判定を実行する（４２０１）。なお、特図確変フラグは、特図表示中処理（図３７のステップ３７０８）においてオン／オフに設定される。
【０６４３】
特図確変フラグがオンでない場合には（４２００の結果が「Ｎ」）、遊技制御装置１００は、非確変状態、すなわち特図確率が低確率時の大当り判定を実行する（４２０２）。
【０６４４】
次に、遊技制御装置１００は、対応する始動記憶が大当りであるか否かを判定する（４２０３）。すなわち、始動記憶の大当り乱数の値が、大当り判定値と一致するか否かを判定する。
【０６４５】
そして、大当りである場合には（４２０３の結果が「Ｙ」）、遊技制御装置１００は、対応する始動記憶の大当り図柄乱数を用いて、確変大当りや通常大当りといった大当りの種類を決定する（４２０４）。
【０６４６】
これに対し、対応する始動記憶が大当りではない場合には、遊技制御装置１００は、大当りの種類が「はずれ」となったことをＲＷＭに一時的に記憶する（４２０５）。
【０６４７】
続いて、遊技制御装置１００は、対応する始動記憶の特図変動表示ゲームが短時間変動となる条件が成立しているか否かを判定する（４２０６）。ここでは、判定対象が特図２変動表示ゲームの始動記憶である場合は、短時間変動となる条件が成立しているものと見なされる。あるいは、判定対象が特図１変動表示ゲームの始動記憶であっても、当該判定を行う時点における特図１変動表示ゲームの始動記憶数が上限数（ここでは４）となっているか、普通変動入賞装置３３の作動状態が促進状態となっているかのいずれかの状態である場合は、短時間変動となる条件が成立しているものと見なされる。
【０６４８】
そして、短時間変動となる条件が成立する場合には（４２０６の結果が「Ｙ」）、遊技制御装置１００は、対応する始動記憶の第１〜第３変動パターン乱数により短時間変動の変動パターンを決定する（４２０７）。
【０６４９】
これに対し、短時間変動となる条件が成立していない場合には（４２０６の結果が「Ｎ」）、遊技制御装置１００は、対応する始動記憶の第１〜第３変動パターン乱数により長時間変動の変動パターンを決定する（４２０８）。なお、変動パターン決定の仕方の詳細については図４３及び図４４にて後述する。
【０６５０】
最後に、遊技制御装置１００は、はずれを含む大当り種類を特定する情報と、変動パターンを特定する情報を一時的にＲＷＭに記憶する（４２０９）。ここでは、特定する情報とは、変動パターン番号である。その後、遊技制御装置１００は、特図大当り判定処理を終了する。
【０６５１】
図４３及び図４４を参照して、図４２の変動パターンの決定（ステップ４２０７及びステップ４２０８）やステップ４２０９における変動パターン番号の決定について説明する。図４３は、本発明の第１の実施の形態の後半変動パターンテーブルである。また、図４４は、本発明の第１の実施の形態の前半変動パターンテーブルである。
【０６５２】
図４３（Ａ）は、図４２のステップ４２０３の処理において、対応する始動記憶が大当りではないと判定された場合に選択されるテーブルであり、特図変動表示ゲームの後半の変動パターンが決定される。
【０６５３】
まず、対応する始動記憶の第１変動パターン乱数の値に応じて、グループ番号０〜２のいずれかが選択される。ここで、グループ番号「０」は「リーチなし」、番号「１」は「ノーマルリーチ」、番号「２」は「ＳＰリーチ」を示す。「リーチなし」が選択される確率は２７０１／３００１、「ノーマルリーチ」が選択される確率は２９５／３００１、「ＳＰリーチ」が選択される確率は５／３００１である。
【０６５４】
次に、対応する始動記憶の第２変動パターン乱数の値に応じて、後半変動パターン番号０１ｈ〜２３ｈのいずれかが選択される。ここで、後半変動パターン番号「０１ｈ」は「リーチなし変動」で変動時間２秒を示す。後半変動パターン番号１１ｈ〜１３ｈは「ノーマルリーチ」変動であり、番号「１１ｈ」は変動時間９秒の「ノーマルリーチ短変動」、番号「１２ｈ」は変動時間１０秒の「ノーマルリーチ中変動」、番号「１３ｈ」は変動時間１１秒の「ノーマルリーチ長変動」を示す。また、後半変動パターン番号２１ｈ〜２３ｈは「ＳＰリーチ」変動であり、番号「２１ｈ」は変動時間３７秒の「ＳＰリーチ短変動」、番号「２２ｈ」は変動時間３８秒の「ＳＰリーチ中変動」、番号「２３ｈ」は変動時間３９秒の「ＳＰリーチ長変動」を示す。
【０６５５】
図４３（Ｂ）は、図４２のステップ４２０３において、対応する始動記憶が大当りであると判定された場合に選択されるテーブルであり、特図変動表示ゲームの後半の変動パターンが決定される。ここでは、図４３（Ａ）と異なるところを説明する。
【０６５６】
大当りが発生する場合は、後半変動パターンにおいてグループ番号「０」の「リーチなし」が選択されることはない。「ノーマルリーチ」又は「ＳＰリーチ」が選択される。「ノーマルリーチ」が選択される確率は１５０１／３００１、「ＳＰリーチ」が選択される確率は１５００／３００１である。
【０６５７】
なお、「ノーマルリーチ」からさらに第２変動パターン乱数に応じて選択される後半変動パターン番号は、５１ｈ〜５３ｈとなるが、それぞれ１１ｈ〜１３ｈに対応しており、選択される確率も同じである。同様に、「ＳＰリーチ」の後半変動パターン番号は、６１ｈ〜６３ｈ（２１ｈ〜２３ｈに対応）となる。
【０６５８】
このように、変動パターンの決定には、まず、第１変動パターン乱数を用いて後半変動のリーチ種類（なしを含む）を決定し、次に第２変動パターン乱数を用いて後半変動パターン（変動時間）を決定する。そして、後半変動パターンを示す後半変動パターン番号と、第３変動パターン乱数とを用いて、前半変動パターンを決定する（図４４参照）。
【０６５９】
続いて、図４４を参照して、前半変動パターンテーブルについて説明する。
【０６６０】
図４４では、後半変動パターン番号０１ｈ〜６３ｈ毎に設定された振分率に応じて、第３変動パターン乱数を用いて前半変動パターンが決定される。
【０６６１】
前半変動パターンには、「前半キャラクタＡ出現変動」と、「前半キャラクタＢ出現変動」と、「前半キャラクタなし変動」の変動時間を短縮した「前半短縮変動」とがある。それぞれの変動時間は、１０秒、１０秒、１０秒、１秒に設定されている。
【０６６２】
第１変動パターン乱数及び第２変動パターン乱数を用いた結果、後半変動パターンを「ノーマルリーチ変動」とする決定がなされている場合には、第３変動パターン乱数の値が０〜２００の場合に「前半キャラクタＡ出現変動」を選択し、第３変動パターン乱数の値が２０１〜２０５の場合に「前半キャラクタＢ出現変動」を選択し、第３変動パターン乱数の値が２０６〜４００の場合に「前半キャラクタなし変動」を選択する。
【０６６３】
第１変動パターン乱数及び第２変動パターン乱数を用いた結果、後半変動パターンを「ＳＰリーチ変動」とする決定がなされている場合には、必ずキャラクタが出現するように制御され、第３変動パターン乱数の値が０〜２００の場合に「前半キャラクタＡ出現変動」を選択し、第３変動パターン乱数の値が２０１〜４００の場合に「前半キャラクタＢ出現変動」を選択する。
【０６６４】
第１変動パターン乱数及び第２変動パターン乱数を用いた結果、後半変動パターンを「リーチなし変動」とする決定がなされている場合（後半変動パターン番号＝０１ｈの場合）には、第３変動パターン乱数の値が０〜５のときに「前半キャラクタＡ出現変動」が選択される。第３変動パターン乱数の値が６〜４００の場合には、図４２のステップ４２０６における短時間変動の条件が成立しているときに「前半短縮変動」が選択され、この条件が成立していないときは「前半キャラクタなし変動」が選択される。
【０６６５】
本発明の第１の実施の形態では、後半変動パターン番号０１ｈの「リーチなし変動」の場合にのみ、「前半短縮変動」が設定されている。そして、「リーチなし変動」は、大当りの種類が「はずれ」である場合に高い確率で選択される。また、「リーチなし変動」の場合には「前半キャラクタなし変動」が選択される確率は低く、「前半短縮変動」又は「前半キャラクタなし変動」が選択される確率が高い。
【０６６６】
したがって、保留記憶数が多い場合ではずれのときは「リーチなし・前半短縮変動」が選択される確率が高いので、全体の平均変動時間を短縮する。そして、保留記憶数が少ない場合ではずれのときは「リーチなし・前半キャラクタなし変動」が選択される確率が高くなっている。
【０６６７】
これに対して、はずれのときは、リーチを伴う変動（「ノーマルリーチ変動」及び「ＳＰリーチ変動」）や、リーチを伴わない「リーチなし・前半キャラクタＡ出現変動」が選択される確率は低くなっている。なお、特図変動表示ゲームが大当りとなる確率は、低確率時において１／３０１とし、高確率時において１／６１とするものとする。
【０６６８】
本実施形態では、リーチを伴なう変動（「ノーマルリーチ変動」及び「ＳＰリーチ変動」）や、「リーチなし・前半キャラクタＡ出現変動」を、保留記憶数の数に関係なく共通の変動時間が設定された共通変動態様とする。これらの変動態様は、特図の大当り結果と、第１〜第３変動パターン乱数とによって決定されるので、決定処理を行う時点における保留記憶数の数に依存することなく決定されるものである。つまり、同一の保留記憶であれば、特図保留情報判定処理（図４１）の特図大当り判定処理（４１０４）により決定される変動態様と、特図１（特図２）変動開始処理（図４６）の特図大当り判定処理（４６０６）による決定される変動態様とが一致する。
【０６６９】
これに対して、「リーチなし・前半短縮変動」や「リーチなし・前半キャラクタなし変動」は、保留記憶数の数に基づいていずれかが選択される変動パターンであるので、固有変動態様とする。これらの変動態様は、特図の大当り結果と、第１〜第３変動パターン乱数のみならず、決定処理を行う時点における保留記憶数の数に依存して決定されるものである。つまり、同一の保留記憶であっても、特図保留情報判定処理（図４１）の特図大当り判定処理（４１０４）により決定される変動態様と、特図１（特図２）変動開始処理（図４６）の特図大当り判定処理（４６０６）により決定される変動態様とが一致するとは限らない。ただし、前者の処理で決定された変動態様が固有変動態様であれば、後者の処理で決定された変動態様も固有変動態様となるように設定されている。
【０６７０】
なお、これらの前半変動パターンには、前半変動パターン番号が設けられているが、始動入賞時及び変動開始時のどちらのタイミングで決定された前半変動パターンかによって前半変動パターン番号が異なる。
【０６７１】
本テーブルを用いる図４２の特図大当り判定処理は、遊技球が第１始動入賞口３７又は普通変動入賞装置３３の第２始動入賞口に入賞したときに実行される特図保留情報判定処理（図４１）で対象の始動記憶の結果を先読みするために実行され、さらに、後述する特図１（特図２）変動開始処理（図４６）でも実行される。
【０６７２】
これは、始動入賞時と変動開始時とでは、保留記憶数が異なったり、遊技状態が異なったりする。すなわち、始動入賞時と変動開始時とでは、図４２の特図大当り判定処理における処理結果が異なる場合があり、選択される前半変動パターンも異なる場合がある。このため、始動入賞時及び変動開始時のどちらの場合に決定した前半変動パターン番号かが判別できるようにしている。
【０６７３】
ここでは、始動入賞時に決定した前半変動パターン番号の頭文字を「Ａ」とし、変動開始時に決定した前半変動パターン番号の頭文字を「Ｂ」とする。そして、「前半キャラクタＡ出現変動」の場合はＥ／Ｃに続く番号を「１ｈ」とし、「前半キャラクタＢ出現変動」の場合は「２ｈ」とし、「前半キャラクタなし変動」の場合は「３ｈ」とし、「前半短縮変動」の場合は「４ｈ」とする。このように、互いに共通するモジュールを用いる。
【０６７４】
なお、図５０で後述するが、本実施形態では、「前半キャラクタＡ出現変動」では「キャラクタＡ」が出現し、「前半キャラクタＢ出現変動」では「キャラクタＢ」が出現するようになっている。
【０６７５】
次に、図４５を参照して、図３７の特図ゲーム処理における特図普段処理（３７０６）の詳細を説明する。図４５は、本発明の第１の実施の形態の特図普段処理の手順を示すフローチャートである。
【０６７６】
特図普段処理では、遊技制御装置１００は、まず、保留された特図２始動記憶があるか否かを判定する（４５００）。
【０６７７】
特図２始動記憶がある場合には（４５００の結果が「Ｙ」）、遊技制御装置１００は、特図２変動開始処理を実行し（４５０１）、その後、図３７に示した特図ゲーム処理で特図変動中処理が実行されるように特図ゲーム処理番号を１に設定する（４５０４）。
【０６７８】
さらに、遊技制御装置１００は、特図２変動開始処理によって算出され、決定した前半変動パターン及び後半変動パターンに対応する合計変動時間を特図ゲーム処理タイマに設定する処理を実行する（ステップ４５０５）。その後、特図普段処理を終了する。なお、ステップ４５０５の処理で変動時間が特図ゲーム処理タイマに設定されるので、変動時間が経過するまでは、図３７の特図変動中処理（３７０７）は実行されない。
【０６７９】
一方、特図２始動記憶がない場合には（４５００の結果が「Ｎ」）、遊技制御装置１００は、保留された特図１始動記憶があるか否かを判定する（４５０２）。特図１始動記憶がある場合には（４５０２の結果が「Ｎ」）、遊技制御装置１００は、特図１変動開始処理を実行する（４５０３）。その後、遊技制御装置１００は、特図ゲーム処理番号を１に設定する処理を実行する（４５０４）。さらに、特図１変動開始処理で算出され、決定した変動時間を特図ゲーム処理タイマに設定する処理を実行し（４５０５）、特図普段処理を終了する。
【０６８０】
特図１始動記憶がないと判定された場合には（４５０２の結果が「Ｎ」）、遊技制御装置１００は、客待ちデモフラグの設定があるか否かを判定する（４５０６）。客待ちデモフラグの設定がある場合には（４５０６の結果が「Ｙ」）、遊技制御装置１００は特図普段処理を終了する。これに対して、客待ちデモフラグの設定がない場合には（４５０６の結果が「Ｎ」）、遊技制御装置１００は、客待ちデモフラグをセットする処理を実行する（４５０７）。さらに、客待ちデモコマンドの設定を実行し（４５０８）、特図普段処理を終了する。
【０６８１】
なお、ステップ４５０７の処理でセットされた客待ちデモコマンドは、後に演出制御装置１５０に送信される。演出制御装置１５０は、この客待ちデモコマンドの受信に基づき、例えば表示装置８の表示部に客待ちデモ画像を表示する処理を実行する。
【０６８２】
図４５に示したように、本実施形態では、遊技制御装置１００は、特図２始動記憶がある場合に当該特図２始動記憶に基づく特図２変動表示ゲームを、特図１始動記憶に基づく特図１変動表示ゲームよりも優先的に実行する。
【０６８３】
次に、図４６を参照して、図４５の特図普段処理における特図１／特図２変動開始処理（ステップ４５０３、ステップ４５０１）の詳細を説明する。図４６は、本発明の第１の実施の形態の特図１／特図２変動開始処理の手順を示すフローチャートである。
【０６８４】
まず、特図１変動開始処理では、遊技制御装置１００は、第１特図変動表示ゲームに関する各種乱数の保存領域（図１６参照）のうち、次回の変動の対象となる領域、すなわち保留１個目に対応する保留乱数記憶領域を指定する（４６００）。次に、ステップ４６００の処理で指定した記憶領域から大当り乱数、大当り図柄乱数、第１〜第３変動パターン乱数を取得した後、保留１〜３個目に対応する保留乱数記憶領域に、保留２〜４個目に対応する保留乱数記憶領域（次回以降の変動に対応する記憶領域）の各乱数をシフトする（４６０１）。そして、特図１の保留数を１減算し（４６０２）、ステップ４６０６以降の処理を実行する。
【０６８５】
次いで、遊技制御装置１００は、ステップ４６０１の処理で取得した保留１個目の各種乱数を用いて、図４２に示した特図大当り判定処理を実行する（４６０６）。次に、図４２の特図大当り判定処理のステップ４２０９の処理において一時的に記憶した情報を用いて、演出制御装置１５０に送信する飾り図柄変動パターンコマンドを設定する（４６０７）。飾り図柄変動パターンコマンドは、表示装置８で実行される飾り特図変動表示ゲームの内容を決めるコマンドである。
【０６８６】
さらに、遊技制御装置１００は、保留情報コマンドを設定する（４６０８）。前述したように、保留情報コマンドは特図１又は特図２の保留数を通知するコマンドであり、ここでは、特図１又は特図２のうち、変動対象の特図の保留数を設定する。そして、ステップ４６０９において図４５の特図普段処理のステップ４５０５の処理で設定した、決定した変動パターンに対応する変動時間を取得し（４６０９）、その後、特図１変動開始処理を終了する。
【０６８７】
同様に、特図２変動開始処理では、遊技制御装置１００は、前述の特図１変動開始処理のステップ４６００〜４６０２の処理に対応してステップ４６０３〜４６０５の処理を実行する。
【０６８８】
遊技制御装置１００は、第２特図変動表示ゲームに関する各種乱数の保存領域（図１７参照）のうち、次回の変動の対象となる領域、すなわち保留１個目に対応する保留乱数記憶領域を指定する（４６０３）。次に、ステップ４６０３の処理で指定した記憶領域から大当り乱数、大当り図柄乱数、第１〜第３変動パターン乱数を取得した後、保留１〜３個目に対応する保留乱数記憶領域に、保留２〜４個目に対応する保留乱数記憶領域（次回以降の変動に対応する記憶領域）の各乱数をシフトする（４６０４）。そして、特図２の保留数を１減算して（４６０５）、ステップ４６０６以降の処理を実行する。
【０６８９】
なお、ステップ４６０６では、ステップ４６０４の処理で取得した保留１個目の各種乱数を用いて、図４２に示した特図大当り判定処理を実行することになる。
【０６９０】
このように、特図１又は特図２の変動が開始されるときにも特図大当り判定処理が実行されることで、飾り特図変動表示ゲームの表示内容が決定される。
【０６９１】
図４７及び図４８は、本発明の第１の実施の形態における始動記憶をシフトさせる処理のプログラムの一例を示す図である。図４７及び図４８に示すプログラムは、図４６のステップ４６０１の処理に対応する。図４７はＫレジスタを利用してプログラムのコード量を削減したプログラムであって、図４８はＫレジスタを利用しないプログラムである。
【０６９２】
図４７を参照すると、まず、行４７０１に示すように、Ｋレジスタに「２８Ｈ」を設定し、その後、行４７０２に示すように、ＬＤＫ命令によって指定された下位アドレスとＫレジスタに設定された上位アドレスとを組み合わせたアドレスにアクセスする。このように、ＣＰＵコア１０２はＫレジスタに固有の上位アドレスを設定する固有値設定手段をなす。
【０６９３】
前述のように、保留２に対応する始動記憶を保留１に対応する領域にシフトする場合には、図１６に示したように、保留２に対応する始動記憶のアドレス「２８３８Ｈ」〜「２８３ＦＨ」に格納されたデータを、保留１に対応する始動記憶にアドレス「２８３０Ｈ」〜「２８３７Ｈ」に移動させる。行４７０２では、アドレス２８３８Ｈに格納されたデータをＡレジスタに格納し、行４７０３でＡレジスタに格納されたデータをアドレス２８３０Ｈに格納することによってデータを移動させている。同様に、「２８３９Ｈ」〜「２８３ＦＨ」に格納されたデータを、「２８３１Ｈ」〜「２８３７Ｈ」に移動させることによって保留２に対応する始動記憶を保留１に対応する領域にシフトさせる。
【０６９４】
なお、保留３に対応する始動記憶を保留２に対応する始動記憶にシフトさせる処理、及び保留４に対応する始動記憶を保留３に対応する始動記憶にシフトさせる処理も、図に示すように、後半のプログラムによって実行される。
【０６９５】
図４８は、図４７と同様に、始動記憶の消化にともなって、始動記憶をシフトさせる処理のプログラムを示しており、図４７のプログラムを実行した場合と同じ処理が実行される。しかしながら、図４８に示すプログラムでは、２バイトのアドレスを直接指定している（例えば、行４８０２の「２８３８Ｈ」）。
【０６９６】
以上のように、図４７に示すプログラムでは、始動記憶が格納された領域のアドレスを指定するために１バイトの下位アドレスのみを指定すればよい（４７１０）。これに対し、図４８に示すプログラムでは、アドレスの指定に２バイトの容量を要し（４８１０）、図４７に示したプログラムよりも多くの容量を必要とする。したがって、始動記憶を格納する領域のように、連続した領域にデータを格納し、これらのデータにアクセスする場合には、図４７に示したプログラムのように、上位アドレスをＫレジスタに予め保持してデータにアクセスするようにすることによってプログラムの容量を削減することができる。
【０６９７】
また、Ｋレジスタ（上位アドレス指定レジスタ）に固有のアドレス値（「２８Ｈ」）を予め設定しておくことによって、その後、下位アドレスのみ指定すれば所定の領域にアクセスできるため、ＣＰＵ（演算処理手段）の処理負担を軽減することもできる。
【０６９８】
図４９及び図５０は、本発明の第１の実施の形態において、表示装置８で実行される飾り特図変動表示ゲームの画面遷移を説明する図である。
【０６９９】
画面（ａ）は変動開始前の状態を示し、始動記憶が消化されると、画面（ｂ）に示すように、図柄表示領域４９１０にて各識別図柄が変動を開始する。なお、図柄表示領域４９１０の下方には第１記憶表示部４９２０と第２記憶表示部４９３０とが設定される。これらの各記憶表示部には、保留記憶があることを示すマーク（通常の保留記憶表示）４９４０と、保留記憶がないことを示すマーク４９５０が表示される。その後、画面（ｃ）に示すように、左図柄、右図柄の順に識別図柄の変動が停止され、最終的には中図柄の変動が停止して、画面（ｄ）に示すように変動停止した状態となる。
【０７００】
このとき、左図柄と右図柄が同一の図柄で停止した場合には、画面（ｅ）に示すようにリーチ状態となり、その後、中図柄の変動が継続される。そして、変動表示ゲームの結果がはずれの場合には、画面（ｆ）に示すように、左右の識別図柄とは異なる図柄で中図柄が停止する。また、変動表示ゲームの結果が大当りとなる場合には、画面（ｇ）に示すように、左右の識別図柄と同じ識別図柄で中図柄が停止する。変動表示ゲームで大当りとなると、前述したように特別遊技状態に遷移し、遊技者は多くの遊技価値を得ることが可能となる。
【０７０１】
また、画面（ｅ）で示したリーチは、通常のリーチであるが、画面（ｅ）の代わり又は画面（ｅ）に示したリーチの後に、画面（ｈ）に示すように、中図柄が回転して表示されるスーパー（ＳＰ）リーチが発生する場合がある。ＳＰリーチが発生する場合には、通常のリーチと比較して変動表示ゲームの結果が大当りとなる確率が大きくなるように設定されている。
【０７０２】
また、画面（ｉ）は、変動開始後の状態を示しているが、始動記憶のうちの一つに対して先読み報知が実行されている。具体的には、始動入賞時に設定された前半変動パターン番号がキャラクタＡ又はキャラクタＢが出現する前半変動を行うものであった場合に、先読み報知が実行される。このとき、記憶表示部にて、通常の保留記憶表示４９４０とは表示態様が異なる特定の保留記憶表示５０１０が表示されることで、先読みの報知が行われる。
【０７０３】
その後、始動記憶が消化され（画面（ｊ））、先読み報知がなされた始動記憶に基づく変動表示ゲームが開始されると（画面（ｋ））、キャラクタが出現する予告演出が実行される（画面（ｌ）、画面（ｍ））。
【０７０４】
画面（ｌ）ではキャラクタＡ（第１のキャラクタ）５０２０が出現し、画面（ｍ）ではキャラクタＢ（第２のキャラクタ）５０３０が出現している。これらのキャラクタＡとＢは、互いに表示態様が異なるものが好ましい。ただし、互いに表示態様が同じものであっても、出現するキャラクタの大きさ、出現数、移動速度などをキャラクタＡとＢとで各々異ならせるようにして、遊技者に各々が区別できるようにしているものであれば、特に限定はされない。
【０７０５】
本実施形態では、前半変動（一部の識別図柄の変動が停止してリーチ状態が発生する前の状態）でキャラクタが出現するようになっている。その後、左右の識別図柄が停止し、リーチ状態が発生する（画面（ｎ））。このとき、スーパーリーチ若しくは通常のリーチが発生する。なお、このリーチ状態のときに、前述のキャラクタが出現するようにしてもよい。
【０７０６】
なお、本実施形態では、入賞口ＳＷ監視処理（図２９のステップ２９１７）において、普図始動ＳＷ３１Ａによる遊技球の検出があったときに、普図乱数カウンタ値（図１５の普図乱数生成領域）の値を普図始動入賞記憶領域（図１５）に記憶しているが、普図変動表示ゲームに関する乱数であれば、別の乱数を記憶するようにしてもよい。例えば、乱数生成回路６０８にて普図変動表示ゲームに関する乱数を生成（ハード乱数を生成）しておき、普図始動ＳＷ３１Ａによる遊技球の検出があったときに、この生成した乱数を普図始動入賞記憶領域（図１５）に記憶するようにしてもよい。
【０７０７】
また、本実施形態では、特図始動口ＳＷ共通処理（図４０）のステップ４００４〜４００６において、図１５に示される大当り乱数、大当り図柄乱数、第１〜第３変動パターン乱数の各生成領域から乱数値を取得しているが、特図変動表示ゲームに関する乱数であれば、別の乱数を取得するようにしてもよい。例えば、乱数生成回路６０８にて、大当り乱数、大当り図柄乱数、第１〜第３変動パターン乱数の全部又は一部を生成（ハード乱数を生成）しておき、ステップ４００４〜４００６の実行時に、この生成した乱数を取得するようにしてもよい。
【０７０８】
ここで、本発明とは対照的な従来技術と本発明との対比を行う。
【０７０９】
まず、特許文献Ａとして特開２００９−１８３５００号公報に開示されるような遊技機が知られており、この遊技機では、従来よりもプログラムコードを削減し、記憶手段の記憶容量を削減するために、ＣＰＵからＩ／Ｏ空間を介してアクセス可能な第１の記憶領域を少なくとも有する記憶手段を備えている。
【０７１０】
そして、この遊技機では、特許文献Ａの段落［０１３７］〜［０１４２］に記載があるように、ＬＤ命令、ＩＮ命令、ＯＵＴ命令を適宜使い分けることで、プログラム全体のステート数やプログラムコード量を削減している。
【０７１１】
さらに、この遊技機では、特許文献Ａの図１３に記載があるように、指定したＲＡＭ領域からレジスタにデータを格納するＬＤ命令や、逆に、レジスタから指定したＲＡＭ領域にデータを格納するＬＤ命令を用いている。
【０７１２】
具体的には、ＲＡＭ領域の２８１０Ｈ番地のデータをＡレジスタに格納するための「ＬＤ  Ａ，（２８１０Ｈ）」、ＡレジスタのデータをＲＡＭ領域の２８１０Ｈ番地に格納するための「ＬＤ  （２８１０Ｈ），Ａ」、ＲＡＭ領域の２８１０Ｈ番地のデータをＨＬレジスタに格納するための「ＬＤ  ＨＬ，（２８１０Ｈ）」、ＨＬレジスタのデータをＲＡＭ領域の２８１０Ｈ番地に格納するための「ＬＤ  （２８１０Ｈ），ＨＬ」などが該当する。
【０７１３】
これらの命令は、特許文献Ａの図１３にも記載があるが、３バイトのプログラムコード量を要する命令である。なお、プログラムコードとは、任意の命令を、命令コード部（オペコード部）とアドレス部（オペランド部）との組み合せを用いて所定バイト数の数値で表現したものである。
【０７１４】
命令コード部は、命令同士を識別するために必要なコードであり、例えば、「ＬＤ  Ａ，（２８１０Ｈ）」のような、指定されたＲＡＭ領域のデータをＡレジスタに格納するためのＬＤ命令であれば、「３ＡＨ」などの１バイトの値が割り当てられている。一方、アドレス部はＲＡＭ領域のアドレスを指定するためのコードであり、例えば、２８１０Ｈ番地へのアクセスを指定する場合は、「２８Ｈ」「１０Ｈ」という２バイトの値がプログラムにて設定される。
【０７１５】
このようなＬＤ命令は、遊技プログラムにて頻繁に使用されるものであるから、プログラム全体のコード量を削減するためには、命令をできるだけ少ないバイト数で表現できることが好ましいのは言うまでもない。しかしながら、ＲＡＭ領域のアドレスを指定する際には、アドレス部に少なくとも２バイトのコードを割り当てる必要がある上に、命令同士を識別するための命令コード部のコードが少なくとも１バイト必要となるため、このようなＬＤ命令を表現するためのプログラムコードは、２バイト以下に削減することは不可能である。
【０７１６】
そこで本発明は、上記のような問題点を解決するために、遊技制御プログラム全体のコード量を削減することを目的としている。
【０７１７】
例えば、本発明の第１の実施の形態によれば、上位アドレス指定レジスタを用いることにより、ＲＡＭ（更新情報記憶手段）にアクセスするための命令を、少ないバイト数のコードで実現することが可能となる。そのため、遊技制御プログラムに当該命令を用いることで、遊技制御プログラム全体のコード量を削減することが可能となる。
【０７１８】
なお、上位アドレス指定レジスタ自体は１バイトのレジスタであるので、特定アドレスの前後各１２８バイト（又は前後各１２７バイト）の範囲内からデータを取り出すことを目的として、当該特定アドレスを指定するためにわざわざ２バイトのレジスタを用いるような方法と比較すると、アドレス指定のためのレジスタ構成が簡素化されている。
【０７１９】
また、ＲＡＭに記憶された情報の更新を規制するＲＡＭアクセス規制回路を備え、所定の起動信号が発生するとＲＡＭアクセス規制回路によりＲＡＭの更新禁止状態となり、その後、ＣＰＵコアの動作が開始されてＲＡＭの更新禁止状態が解除され、次いで、上位アドレス指定レジスタにより指定されるアドレスに記憶された情報を用いて遊技制御が開始されるので、誤ったタイミングでＲＡＭの値が更新されることを防止できる。
【０７２０】
さらに、本発明の第１の実施の形態によれば、始動記憶などを保持するワークエリアと、スタック領域とが異なる上位アドレスとなる領域に保持されるため、乱数更新時などに誤ってスタック領域に格納されたデータを更新することを防止することができるため、誤動作を防ぐことができる。
【０７２１】
特に、始動記憶を保持する領域（例えば、図１６、図１７、図５２、図５３に例示するような乱数記憶領域、或いは図１５に例示する普図乱数保存領域）は、変動表示ゲームを開始する際に、格納されている乱数がシフトされることになるが、これらの領域の上位アドレスはすべて同一（２８Ｈ）になるように設定されているので、シフトの処理を行う際に上位アドレス指定レジスタの値を変更する必要がなく、処理が簡素化される。
【０７２２】
また、ワークエリアの下位アドレスが一致する領域であって、上位アドレスがスタック領域と同じ領域を使用禁止領域に設定することによって、上位アドレスの値を間違っている状態で始動記憶を更新しようするとＣＰＵがリセットされ、誤作動を防止することができる。
【０７２３】
次に、特許文献Ｂとして特開平１０−０３３８０４号公報に開示されるようなパチンコ機が知られており、パチンコ機の制御装置のプログラムにおいては、遊技状態に対応して異なる命令が実行されるように、プログラム内部で分岐の処理が行われている。この特許文献Ｂでは、段落［００７２］〜［００７３］に記載があるように、プロセスフラグの値に応じて制御を分岐させる処理がなされ、その分岐の際には、基本回路３０のＲＯＭに記憶されているプロセスジャンプテーブル（特許文献Ｂの図１３）を参照して行なわれる。
【０７２４】
一方、パチンコ機の制御装置などに用いられるＣＰＵとして、特許文献Ｃとして特開平１１−２３２０９９号公報号公報に開示されるＺ８０系のＣＰＵが知られている。Ｚ８０系の命令には、特許文献Ｃの段落［００２０］に示されるような「ＪＰ（ＨＬ）」の命令が用意されている。この命令は、ＨＬレジスタに格納された値をアドレスと認識させて、そのアドレスで示されるプログラムの箇所に処理を分岐させるものである。なお、ＣＰＵが起動した時点では、ＨＬレジスタの値は不定な値が格納されている。
【０７２５】
特許文献Ｂの従来技術の遊技機のプログラムにて分岐の処理を行う場合には、特許文献ＣのＣＰＵの「ＪＰ（ＨＬ）」が用いられることがあり、この場合、ＨＬレジスタに分岐先のアドレスの値を格納してから、「ＪＰ（ＨＬ）」の命令を実行する構成となる。
【０７２６】
しかしながら、特許文献Ｂの従来技術の遊技機などは、ノイズ環境に晒されているために、ＣＰＵが暴走する危険を有している。特に、特許文献Ｃのような従来のＣＰＵを用いた場合は、遊技機の電源が投入されてＣＰＵが起動を開始した直後では、ＨＬレジスタの値が不定な値であるために、誤ってプログラム中の「ＪＰ（ＨＬ）」命令が実行された場合には、分岐先が不定なためにＣＰＵが暴走するおそれがあった。
【０７２７】
そこで、本発明は、上記のような問題点を解決するために、ノイズ環境でも正常にＣＰＵを動作させることを目的としている。
【０７２８】
例えば、本発明の第１の実施の形態によれば、固有値設定手段（図１２の初期値設定回路）を備えており、起動信号（リセット信号）が発生すると、固有値設定手段により分岐アドレス設定レジスタに固有のアドレス値が設定されるので、遊技制御プログラム開始直後にノイズ等が発生して、誤って特定の命令を実行してしまった場合であっても、固有のアドレス値で示されるアドレスに処理を分岐させることができる。そのため、遊技制御プログラム開始直後にノイズ等が発生しても、演算処理手段の暴走を防止することができる。
【０７２９】
すなわち、固有のアドレス値で示されるアドレス（例えば、遊技制御プログラムのリセットアドレス）には、演算処理手段が暴走したときに実行すべきプログラムの命令（リセット処理等の命令）が予め配置されているので、遊技制御プログラム開始直後にノイズ等が発生しても対処することが可能となる。
【０７３０】
また、本発明の第１の実施の形態では、分岐アドレス設定レジスタを用いて、特図変動表示ゲームの制御状態（ゲーム処理番号に対応する各遊技状態）に対応した分岐処理を行っているので、制御状態が順次切り替わっても、その都度、切り換えられた制御状態に対応する分岐先の処理が行えるように、効率的な遊技制御プログラムが構成できるようになっている。なお、普図変動表示ゲームの制御状態に対応した分岐処理も、分岐アドレス設定レジスタを用いて行うようにしてもよい。
【０７３１】
さらに、本発明の第１の実施の形態によれば、電源投入時の際に、遊技制御プログラムが開始される前に、初期値設定回路１２４１によってＣＰＵコア１０２に備えるスタックポインタに初期値がハード的に設定される。そのため、遊技制御プログラムの実行が開始された直後にノイズ等が原因で割り込み処理が発生しても、呼出元のルーチンの戻りアドレスをスタック領域に確実に格納することができ、割込処理から呼出元のルーチンに復帰する際にも問題なく処理を継続することができる。
【０７３２】
また、分岐アドレス設定レジスタ（ＨＬレジスタ）にリセットアドレス値が格納された状態で、特定の命令（ＪＰ（ＨＬ））が実行された場合であっても、スタックポインタの値を設定できる。
【０７３３】
なお、遊技制御中に異常が発生して、リセット回路６１０Ｂ（セキュリティ回路６３０）によりＣＰＵコア１０２がリセットされるような場合であっても、ＣＰＵコア１０２の処理がリセットアドレスに戻される。
【０７３４】
この場合、初期値設定回路１２４１によってスタックポインタに初期値がハード的に設定されなくても、ソフトウェアによりスタックポインタに初期値を設定する（図２５の遊技制御装置メイン処理のステップ２５０２Ａ）ので、あらゆるリセット状態に対応してスタックポインタに初期値を設定することが可能となる。なお、同様の理由により、上位アドレス指定レジスタにもソフトウェアによって初期値を設定している（図２５の遊技制御装置メイン処理のステップ２５０２Ｂ）。
【０７３５】
さらに、遊技制御プログラムは、呼出元のルーチンに記述されたＣＡＬＬ命令等の呼出の命令が実行された場合（第１の呼出条件が成立した場合）や、呼出元のルーチンの命令実行中に所定の割込信号が発生した場合（第２の呼出条件が成立した場合）には、呼出元のルーチンに含まれる戻りアドレスの値をスタック領域に格納して、呼出先の処理を移行されるような構成となっている。
【０７３６】
この場合において、後者の所定の割込信号は、呼出元のルーチンの実行中のアドレスとは無関係に発生するものであるので、割込信号が発生した時点におけるフラグレジスタ１２００の値は、呼出先のルーチンの処理中で破壊されないように、スタック領域に退避しておくことが好ましい。
【０７３７】
そこで、後者の第２の呼出条件が成立した場合は、図１９の（Ｄ）に示すように、呼出元のルーチンに含まれる戻りアドレスの値だけでなく、フラグレジスタ１２００の値もスタック領域に格納して、呼出先の処理に移行させている。そのため、後者の第２の呼出条件が成立した場合には、呼出先のルーチンのプログラム中にフラグレジスタをスタック領域に格納するための命令（「ＰＵＳＨ  ＦＬＧ」）を記述しなくても、フラグレジスタの値が自動的にスタック領域に格納されるため、プログラムのコード量を節約することができる。
【０７３８】
これに対して、前者のように、呼出元のルーチンに記述されたＣＡＬＬ命令等の呼出の命令を実行する場合は、呼出元のルーチンで設定されたフラグレジスタ１２００の値を呼出先のルーチンの処理中で破壊してはいけない場合もあるが、呼出先のルーチンの処理中で設定されたフラグレジスタ１２００の値を、呼出元のルーチンに戻して演算に利用することもあり得る。よって、呼出元のルーチンで設定されたフラグレジスタ１２００の値をスタック領域に退避すべきか否かはケースバイケースであることから、呼出先のルーチンのプログラム中に、プログラム中にフラグレジスタ１２００の値をスタック領域に格納する命令（例えば、「ＰＵＳＨ  ＦＬＧ」）を記述して、値を退避するか否かを決定したほうが都合が良い。
【０７３９】
故に、前者の第１の呼出条件が成立した場合は、図１９の（Ｃ）に示すように、呼出元のルーチンに含まれる戻りアドレスの値はスタック領域に格納するものの、フラグレジスタ１２００の値を自動的にスタック領域に格納することはしない。
【０７４０】
なお、図１９の（Ｄ）に示すように、スタック領域には、先にフラグレジスタの値を格納して、後から戻りアドレスの値を設定しているので、戻りアドレスの値を破壊することなくフラグレジスタの値のみを破壊するような事態は発生しない。そのため、呼出先の割込処理ルーチンでフラグレジスタの値が破壊された状態のまま、スムーズに呼出元のルーチンに戻って処理を継続してしまうことはない。
【０７４１】
また、図１９の（Ｄ）に示すように、スタック領域に格納される戻りアドレスの値は２バイト構成であるのに対して、スタック領域に格納されるフラグレジスタの値は１バイト構成となっている。このように、スタック領域に格納される戻りアドレスとフラグレジスタとのバイト数を異ならせることで、呼出先のルーチンで誤ってフラグレジスタの値を戻りアドレスに格納すると、以降の処理では戻りアドレスの取得が不可能となるので、プログラムのバグ等を発見しやすい。
【０７４２】
さらに、図２１に示すように、汎用レジスタのバンクを切り変える機能を有しているので、呼出先のルーチン内でバンクを切り替えることにより、呼出元とは異なるレジスタを活用することができる。
【０７４３】
なお、図１４に示したように、第１の実施の形態では、ユーザワークＲＡＭ１０４において上位アドレスの境界、すなわち、上位アドレスが「２８Ｈ」の領域と「２９Ｈ」の領域との境界を連続してアクセスすることが可能となっていたが、この境界に使用禁止領域を設けるようにしてもよい。
【０７４４】
図５１は、本発明の第１の実施の形態の変形例のユーザワークＲＡＭ１０４の一例を示す図である。図５１に示すユーザワークＲＡＭ１０４には、上位アドレスの境界（ＲＡＭのアドレスが「２８ＦＦＨ」から「２９００Ｈ」に変化する境界線を含んだ領域）に使用禁止領域が設けられている。このように、上位アドレスが変化（「２８Ｈ」から「２９Ｈ」に変化）する境界に使用禁止領域を設けることによって、上位アドレスを変更せずに連続した領域にアクセスしようとすることなどを防ぐことが可能となり、誤作動を防止することができる。
【０７４５】
例えば、このような境界線の前後のエリアに、Ａレジスタ１２０２Ａの値を一括して格納することを考える。この場合、上位アドレス指定レジスタであるＫレジスタ１２３０の値を「２８Ｈ」に固定した状態で、「ＩＮＣ  Ｌ」命令（図２１参照）を実行してＬレジスタ１２１１Ａの値を増加させながら、「ＬＤＫ  （Ｌ），Ａ」の命令（図２１参照）を実行させることになる。
【０７４６】
このとき「ＩＮＣ  Ｌ」命令の実行により、Ｌレジスタ１２１１Ａの値が「ＦＦＨ」から「００Ｈ」に変化するタイミングがある。これは、Ａレジスタ１２０２Ａの値の格納先が境界線を跨ぐタイミングであるが、正しい格納先を指定するためには、以降のＫレジスタ１２３０の値を「２９Ｈ」に変更する必要がある。そのため、本来であれば、遊技プログラムにてＫレジスタ１２３０の値を「２９Ｈ」に変更する命令を実行しなければならないが、プログラム製作者が見落としてしまうおそれがある。
【０７４７】
（第２の実施の形態）
第１の実施の形態では、第２特図変動表示ゲームが第１特図変動表示ゲームよりも優先して実行されるように構成されていたが、第２の実施の形態では、第２特図変動表示ゲーム及び第１特図変動表示ゲームの区別なく、入賞した順序で特図変動表示ゲームが実行される。
【０７４８】
そこで、第１の実施の形態では、始動記憶に大当り乱数、大当り図柄乱数、変動パターン乱数が含まれていたが、第２の実施の形態では、さらに、第１始動入賞口３７に遊技球が入賞したか、第２始動入賞口３４に遊技球が入賞したかを区別する、すなわち、実行される特図変動表示ゲームが第１特図変動表示ゲームであるか、又は、第２特図変動表示ゲームであるかを区別するための特図識別ｂｉｔが始動記憶に含まれる。また、始動記憶の上限も実質的には８個となるので、ユーザワークＲＡＭ１０４において、８ブロック分の乱数の保存領域を確保し、これを保留１〜保留８として割り当てるものとする。
【０７４９】
図５２及び図５３は、本発明の第２の実施の形態の特図変動表示ゲームを実行するために必要な各種乱数の保存領域を示す図であり、図５２は保留１から４、図５３は保留５から８に対応する各種乱数の保存領域を示す。
【０７５０】
本実施形態では、図５２及び図５３に示すように、第３変動パターン乱数を格納する領域の先頭ｂｉｔを特図識別ｂｉｔとする。
【０７５１】
なお、図４０の特図始動口ＳＷ共通処理を実行する際に、ステップ４００４〜４００６で取得した各種乱数値を、ステップ４００８〜４０１０にて対応する乱数記憶領域に記させることになるが、対応する領域が第１の実施の形態とは異なっている。第２の実施形態においての対応する乱数記憶領域とは、第１特図保留カウンタと第２特図保留カウンタとの合算値に対応する領域である。
【０７５２】
例えば、第１始動入賞口３７若しくは第２始動入賞口３４に遊技球が入賞した結果、第１特図保留カウンタと第２特図保留カウンタとの合算値が「２」となった場合は、図５２における「保留２の保存領域」に割り当てられた各種乱数の保存領域に、ステップ４００４〜４００６で取得した各種乱数値を記憶することになる。このとき、第１始動入賞口３７への入賞であれば「保留２の保存領域」の特図識別ｂｉｔには「０」が設定され、第２始動入賞口３４への入賞であれば「保留２の保存領域」の特図識別ｂｉｔには「１」が設定される。
【０７５３】
同様に、第１始動入賞口３７若しくは第２始動入賞口３４に遊技球が入賞した結果、第１特図保留カウンタと第２特図保留カウンタとの合算値が「７」となった場合は、図５３における「保留７の保存領域」に割り当てられた各種乱数の保存領域に、ステップ４００４〜４００６で取得した各種乱数値を記憶することになる。このとき、第１始動入賞口３７への入賞であれば「保留７の保存領域」の特図識別ｂｉｔには「０」が設定され、第２始動入賞口３４への入賞であれば「保留７の保存領域」の特図識別ｂｉｔには「１」が設定される。
【０７５４】
図５４は、本発明の第２の実施の形態の特図保留情報判定処理の手順を示すフローチャートである。なお、第１の実施の形態の特図保留情報判定処理と共通の処理については、図４１と同じ符号を割り当てて記載を省略する。
【０７５５】
本発明の第２の実施の形態では、遊技制御装置１００は、特図１と特図２とを区別せずに始動記憶を扱うので、第１の実施の形態におけるステップ４１００〜ステップ４１０２のような条件を設定せずに無条件で特図大当り判定処理（４１０３）を実行する。
【０７５６】
図５５は、本発明の第２の実施の形態の特図普段処理の手順を示すフローチャートである。なお、第１の実施の形態と共通の処理については、図４５と同じ符号を割り当てて記載を省略する。
【０７５７】
本発明の第２の実施の形態では、特図２始動記憶を優先して消化しない。そこで、まず、遊技制御装置１００は、特図１及び特図２の保留数を合計し（５５００）、合計保留数が０より大きいか否か、すなわち、特図１又は特図２の保留があるか否かを判定する（５５０１）。そして、保留がある場合には、ステップ５５０２において次の保留が特図１の保留であるか否かを判定する。そして、保留が特図１である場合には、特図１変動開始処理（４５０３）を実行する。また、保留が特図１でなく特図２である場合には、特図２変動開始処理（４５０４）を実行する。
【０７５８】
なお、特図１変動開始処理と特図２変動開始処理のいずれの処理を行ったかにかかわらず、図４６の処理において、遊技制御装置１００は、図５２の保留１の保存領域を、次回の変動の対象として指定する（４６００若しくは４６０３）。さらに、この指定された記憶領域から大当り乱数、大当り図柄乱数、第１〜第３変動パターン乱数を取得した後、保留１〜７個目に対応する保留乱数記憶領域（図５２及び図５３）に、保留２〜８個目に対応する保留乱数記憶領域（次回以降の変動に対応する記憶領域：図５２及び図５３参照）の各乱数をシフトし（４６０１若しくは４６０４）、以降の処理（４６０２若しくは４６０５）の処理を実行することになる。
【０７５９】
一方、ステップ５５０１の処理で合計保留数が０の場合には、遊技制御装置１００は、ステップ４５０６以降の処理を実行する。
【０７６０】
このように、本発明の第２の実施の形態によれば、第２特図変動表示ゲームを優先して実行しない場合であっても、第１の実施の形態と同様に、遊技制御プログラム全体のコード量を削減することが可能となる。
【０７６１】
なお、今回開示した実施の形態における補助遊技は、例として、変動表示ゲームを開示しているが、これに限定されるものではない。例えば、遊技の実行中に遊技者にボタン等による選択操作をさせ、その操作入力に対応して遊技結果が導出されるような遊技も含まれる。或いは、遊技の実行中に遊技球やメダルなどの遊技媒体が所定の領域に入賞するか否かの物理的な抽選を行わせ、その抽選結果に対応して遊技結果が導出されるような遊技も含まれる。
【０７６２】
また、今回開示した実施の形態における遊技機には、パチンコ機以外の様々な遊技機が適用可能である。例えば、パチスロ機、アレンボール機、じゃん球遊技機などにも適用が可能である。
【０７６３】
なお、今回開示した実施の形態は、全ての点で例示であって制限的なものではない。また、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。
【産業上の利用可能性】
【０７６４】
以上のように、本発明は、遊技制御装置と遊技制御装置からの指令により制御を行う従属制御装置とを備える遊技機に適用可能である。
【符号の説明】
【０７６５】
１    遊技機
２    本体枠（外枠）
３    前面枠
５    遊技盤
６    遊技装置
８    表示装置
１８    ガラス枠
３１    普通図柄始動ゲート
３２    一般入賞口
３３    普通変動入賞装置
３４    第２始動入賞口
３６    特別変動入賞装置
３７    第１始動入賞口
５１    遊技領域
７０    カードユニット
１００    遊技制御装置
１０１    遊技用マイコン
１０２、６０１    ＣＰＵコア
１０３、６０２    ユーザプログラムＲＯＭ
１０４、６０４    ユーザワークＲＡＭ
１５０    演出制御装置（表示制御装置）
１６０    電源装置
１６１    バックアップ電源
２１０    払出制御装置
６００    遊技用演算処理装置（アミューズチップ）
６０３    ＨＷパラメータＲＯＭ
６０８    乱数生成回路
６０９    クロック生成回路
６１０Ａ    割込制御回路
６１０Ｂ    リセット回路
６１１    アドレスデコーダ
６１８    ＨＰＧプログラムＲＯＭ
６１９    ＩＤプロパティメモリ
６２１    ＨＰＧワークＲＡＭ
６２９    分周回路
６３０    セキュリティ回路
６４０    ＲＡＭアクセス規制回路（更新規制手段）
６４１    フリップフロップ回路
６４２    ＯＲゲート回路
６５０    アドレスバス
６６０    データバス
７０２    ワークエリア
７０５    使用禁止領域（アクセス禁止領域）
７０６    スタック領域
１２００    フラグレジスタ
１２０３Ａ、１２０３Ｂ    ＷＡレジスタ
１２０６Ａ、１２０６Ｂ    ＢＣレジスタ
１２０９Ａ、１２０９Ｂ    ＤＥレジスタ
１２１２Ａ、１２１２Ｂ    ＨＬレジスタ
１２２０Ａ、１２２０Ｂ    汎用レジスタ群
１２３０    Ｋレジスタ
１２３３    スタックポインタ（ＳＰ）レジスタ
１２３４    プログラムカウンタ（ＰＣ）レジスタ
１２４０    内蔵リセット回路
１２４１    初期値設定回路
１２４２    命令解釈実行回路
１２４３    アクセス回路
【図１】
0005643974.tif 000002
【図２】
0005643974.tif 000003
【図３】
0005643974.tif 000004
【図４】
0005643974.tif 000005
【図５】
0005643974.tif 000006
【図６】
0005643974.tif 000007
【図７】
0005643974.tif 000008
【図８】
0005643974.tif 000009
【図９】
0005643974.tif 000010
【図１０】
0005643974.tif 000011
【図１１】
0005643974.tif 000012
【図１２】
0005643974.tif 000013
【図１３】
0005643974.tif 000014
【図１４】
0005643974.tif 000015
【図１５】
0005643974.tif 000016
【図１６】
0005643974.tif 000017
【図１７】
0005643974.tif 000018
【図１８】
0005643974.tif 000019
【図１９】
0005643974.tif 000020
【図２０】
0005643974.tif 000021
【図２１】
0005643974.tif 000022
【図２２】
0005643974.tif 000023
【図２３】
0005643974.tif 000024
【図２４】
0005643974.tif 000025
【図２５】
0005643974.tif 000026
【図２６】
0005643974.tif 000027
【図２７】
0005643974.tif 000028
【図２８】
0005643974.tif 000029
【図２９】
0005643974.tif 000030
【図３０】
0005643974.tif 000031
【図３１】
0005643974.tif 000032
【図３２】
0005643974.tif 000033
【図３３】
0005643974.tif 000034
【図３４】
0005643974.tif 000035
【図３５】
0005643974.tif 000036
【図３６】
0005643974.tif 000037
【図３７】
0005643974.tif 000038
【図３８】
0005643974.tif 000039
【図３９】
0005643974.tif 000040
【図４０】
0005643974.tif 000041
【図４１】
0005643974.tif 000042
【図４２】
0005643974.tif 000043
【図４３】
0005643974.tif 000044
【図４４】
0005643974.tif 000045
【図４５】
0005643974.tif 000046
【図４６】
0005643974.tif 000047
【図４７】
0005643974.tif 000048
【図４８】
0005643974.tif 000049
【図４９】
0005643974.tif 000050
【図５０】
0005643974.tif 000051
【図５１】
0005643974.tif 000052
【図５２】
0005643974.tif 000053
【図５３】
0005643974.tif 000054
【図５４】
0005643974.tif 000055
【図５５】
0005643974.tif 000056