(57)【特許請求の範囲】
【請求項１】
マイクロプロセッサを備えた遊技台であって、
前記遊技台は、ぱちんこ機またはスロットマシンであり、
前記マイクロプロセッサは、ＣＰＵを内蔵するマイクロプロセッサであり、
前記マイクロプロセッサは、ＲＯＭを内蔵するマイクロプロセッサであり、
前記ＲＯＭは、複数種類の命令で構成された制御プログラムが記憶されており、
前記ＣＰＵは、複数種類のレジスタを有し、
前記複数種類のレジスタのうちの一のレジスタ（以下、「第三のレジスタ」という。）は、フラグレジスタであり、
前記第三のレジスタは、複数のビットから構成されるレジスタであり、
前記複数のビットのうちの一のビット（以下、「第一のビット」という。）は、第一のゼロフラグとして機能するビットであり、
前記複数のビットのうちの一のビット（以下、「第二のビット」という。）は、第二のゼロフラグとして機能するビットであり、
前記ＣＰＵは、前記複数種類の命令を実行可能であり、
前記複数種類の命令のうちの一の命令（以下、「第一の命令」という。）は、ジャンプ先アドレスを特定可能に構成された演算＆ジャンプ命令であり、
前記第一の命令は、前記複数種類のレジスタのうちの一のレジスタ（以下、「第一のレジスタ」という。）の値に基づいて動作することを特定可能に構成されており、
前記ＣＰＵは、前記第一の命令を受け付けた場合に、前記第一のレジスタの値が０ではない場合に、前記第一のゼロフラグおよび前記第二のゼロフラグ（以下、「２つのゼロフラグ」という。）をクリアし、前記ジャンプ先アドレスにジャンプする動作を実行するように構成され、
前記ＣＰＵは、前記第一の命令を受け付けた場合に、前記第一のレジスタの値が０である場合に、前記２つのゼロフラグをセットし、該第一の命令の後続の命令を実行するように構成されており、
前記第一のレジスタは、アキュムレータおよび汎用レジスタのうちの一方のレジスタであり、
前記複数種類の命令のうちの一の命令（以下、「第二の命令」という。）は、演算＆リターン命令であり、
前記第二の命令は、前記複数種類のレジスタのうちの一のレジスタ（以下、「第二のレジスタ」という。）の値に基づいて動作することを特定可能に構成されており、
前記ＣＰＵは、前記第二の命令を受け付けた場合に、前記第二のレジスタの値が０である場合に、前記２つのゼロフラグをセットし、呼び出し元の処理に復帰する動作を実行するように構成され、
前記ＣＰＵは、前記第二の命令を受け付けた場合に、前記第二のレジスタの値が０ではない場合に、前記２つのゼロフラグをクリアし、該第二の命令の後続の命令を実行するように構成されており、
前記第二のレジスタは、前記アキュムレータおよび前記汎用レジスタのうちの一方のレジスタであり、
前記ＣＰＵは、複数種類の前記汎用レジスタ（以下、「複数種類の汎用レジスタ」という。）を備えており、
前記複数種類の汎用レジスタとは、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタ、Ｂ’レジスタ、Ｃ’レジスタ、Ｄ’レジスタ、Ｅ’レジスタ、Ｈ’レジスタおよびＬ’レジスタの１２種類のレジスタのことであり、
前記ＣＰＵによって、前記遊技台の遊技制御が行われる、
ことを特徴とする遊技台。
【請求項２】
請求項１に記載の遊技台であって、
前記第一のビットと前記第二のビットは、前記複数のビットのうちの別のビットである、
ことを特徴とする遊技台。
【請求項３】
請求項１または２に記載の遊技台であって、
主制御手段と、
払出制御手段と、を備え、
前記遊技制御は、前記主制御手段による制御（以下、「主制御」という。）および前記払出制御手段による制御（以下、「払出制御」という。）を含む制御であり、
前記主制御手段は、前記払出制御手段に対してコマンド信号を送信可能であり、
前記マイクロプロセッサは、前記主制御手段および前記払出制御手段のうちの少なくとも一方の手段に設けられており、
前記ＣＰＵによって、前記主制御および前記払出制御のうちの少なくとも一方の制御が行われる、
ことを特徴とする遊技台。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回胴遊技機（スロットマシン）や弾球遊技機（パチンコ機）に代表される遊技台に関する。
【背景技術】
【０００２】
従来の遊技台（例えば、スロットマシン、パチンコ機）は、図柄表示部の有効入賞ラインに沿って所定の図柄の組合せを停止表示させることで、遊技者が所定の利益を獲得できるように構成されていたり、遊技領域に設けられた所定の入賞口に遊技球を進入させることで、遊技者が所定の利益を獲得できるように構成されている。
このような遊技台では、遊技の興趣が高められなければ遊技者に飽きられることから遊技制御が複雑になる傾向にある。さらに、遊技者による不正な行為、静電気ノイズなどの外乱、プログラムのコーディングミスなど様々な要因で、遊技制御が不安定になる場合があるが、このような問題点を解決するために、リセット受信からソフト起動までの時間をランダム化させる遊技台が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３４１６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載の遊技台では、電源投入時の不正行為を有効に阻止することができるものの、マイクロプロセッサに関しては他の機能についても更なる改良が求められている。
【０００５】
本発明は、このような従来の問題点を解決するためになされたものであって、改良したマイクロプロセッサが搭載された遊技台を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的は、
マイクロプロセッサを備えた遊技台であって、
前記遊技台は、ぱちんこ機またはスロットマシンであり、
前記マイクロプロセッサは、ＣＰＵを内蔵するマイクロプロセッサであり、
前記マイクロプロセッサは、ＲＯＭを内蔵するマイクロプロセッサであり、
前記ＲＯＭは、複数種類の命令で構成された制御プログラムが記憶されており、
前記ＣＰＵは、複数種類のレジスタを有し、
前記複数種類のレジスタのうちの一のレジスタ（以下、「第三のレジスタ」という。）は、フラグレジスタであり、
前記第三のレジスタは、複数のビットから構成されるレジスタであり、
前記複数のビットのうちの一のビット（以下、「第一のビット」という。）は、第一のゼロフラグとして機能するビットであり、
前記複数のビットのうちの一のビット（以下、「第二のビット」という。）は、第二のゼロフラグとして機能するビットであり、
前記ＣＰＵは、前記複数種類の命令を実行可能であり、
前記複数種類の命令のうちの一の命令（以下、「第一の命令」という。）は、ジャンプ先アドレスを特定可能に構成された演算＆ジャンプ命令であり、
前記第一の命令は、前記複数種類のレジスタのうちの一のレジスタ（以下、「第一のレジスタ」という。）の値に基づいて動作することを特定可能に構成されており、
前記ＣＰＵは、前記第一の命令を受け付けた場合に、前記第一のレジスタの値が０ではない場合に、前記第一のゼロフラグおよび前記第二のゼロフラグ（以下、「２つのゼロフラグ」という。）をクリアし、前記ジャンプ先アドレスにジャンプする動作を実行するように構成され、
前記ＣＰＵは、前記第一の命令を受け付けた場合に、前記第一のレジスタの値が０である場合に、前記２つのゼロフラグをセットし、該第一の命令の後続の命令を実行するように構成されており、
前記第一のレジスタは、アキュムレータおよび汎用レジスタのうちの一方のレジスタであり、
前記複数種類の命令のうちの一の命令（以下、「第二の命令」という。）は、演算＆リターン命令であり、
前記第二の命令は、前記複数種類のレジスタのうちの一のレジスタ（以下、「第二のレジスタ」という。）の値に基づいて動作することを特定可能に構成されており、
前記ＣＰＵは、前記第二の命令を受け付けた場合に、前記第二のレジスタの値が０である場合に、前記２つのゼロフラグをセットし、呼び出し元の処理に復帰する動作を実行するように構成され、
前記ＣＰＵは、前記第二の命令を受け付けた場合に、前記第二のレジスタの値が０ではない場合に、前記２つのゼロフラグをクリアし、該第二の命令の後続の命令を実行するように構成されており、
前記第二のレジスタは、前記アキュムレータおよび前記汎用レジスタのうちの一方のレジスタであり、
前記ＣＰＵは、複数種類の前記汎用レジスタ（以下、「複数種類の汎用レジスタ」という。）を備えており、
前記複数種類の汎用レジスタとは、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタ、Ｂ’レジスタ、Ｃ’レジスタ、Ｄ’レジスタ、Ｅ’レジスタ、Ｈ’レジスタおよびＬ’レジスタの１２種類のレジスタのことであり、
前記ＣＰＵによって、前記遊技台の遊技制御が行われる、
ことを特徴とする遊技台
によって達成される。
【発明の効果】
【０００７】
本発明によれば、改良したマイクロプロセッサが搭載された遊技台を実現できる。
【図面の簡単な説明】
【０００８】
【図１】パチンコ機を正面側（遊技者側）から見た外観斜視図である。
【図２】パチンコ機を背面側から見た外観図である。
【図３】遊技盤を正面から見た略示正面図である。
【図４】制御部の回路ブロック図を示したものである。
【図５】（ａ）特図の停止図柄態様の一例を示したものである。（ｂ）装飾図柄の停止図柄態様の一例を示したものである。（ｃ）普図の停止表示図柄の一例を示したものである。
【図６】主制御部３００から基本回路３０２の主要部のみを抜き出して示した図である。
【図７】（ａ）ＣＰＵ３０４のメモリマップを示した図である。（ｂ）（ａ）に示すメモリマップのうちのＲＷＭ領域の詳細を示した図である。（ｃ）ＣＰＵ３０４のＩ／Ｏマップを示した図である。
【図８】初期化処理の流れを示すフローチャートである。
【図９】システムリセット後の起動処理のタイムチャートである。
【図１０】主制御部メイン処理の流れを示すフローチャートである。
【図１１】（ａ）初期設定１で行うＴレジチェック処理の流れを示すフローチャートである。（ｂ）Ｔレジチェック処理のプログラムリストの一例である。
【図１２】（ａ）変形例に係るＴレジチェック処理の流れを示すフローチャートである。（ｂ）変形例に係るＴレジチェック処理のプログラムリストの一例である。
【図１３】図１１（ｂ）のプログラムリストからＬＤ命令のみを抜き出して示した図である。
【図１４】主制御部タイマ割込処理の流れを示すフローチャートである。
【図１５】（ａ）第１副制御部のＣＰＵが実行するメイン処理のフローチャートである。（ｂ）第１副制御部のコマンド受信割込み処理のフローチャートである。（ｃ）第１副制御部のタイマ割込処理のフローチャートである。（ｄ）第１副制御部の画像制御処理のフローチャートである。
【図１６】（ａ）第２副制御部５００のＣＰＵ５０４が実行するメイン処理のフローチャートである。（ｂ）第２副制御部５００のコマンド受信割込処理のフローチャートである。（ｃ）第２副制御部５００のタイマ割込処理のフローチャートである。
【図１７】ＲＯＭ３０６に記憶されるデータの一例を示した図である。
【図１８】主制御部３００の命令データの構成の一例を示した図である。
【図１９】（ａ）主制御部３００の命令データの上位ビットと下位ビットを示した図である。（ｂ）命令データテーブルの一例を示した図である。
【図２０】ＣＡＬＬ命令によるアドレスの移動の一例を概念的に示したものである。
【図２１】ＣＡＬＬ命令の命令データと補足データの一例を示した図である。
【図２２】（ａ）ＥＸＥＳＵＢ命令の構成の一例を示した図である。（ｂ）図１９（ｂ）の空き領域に対してＥＸＥＳＵＢ命令を割り当てた命令データテーブルを示した図である。
【図２３】ＥＸＥＳＵＢ命令によるアドレスの移動の一例を概念的に示した図である。
【図２４】ＥＸＥＳＵＢ命令によるサブルーチンの先頭アドレスの呼び出しの一例を示したものである。
【図２５】ＥＸＥＳＵＢ命令の命令データと補足データの一例を示した図である。
【図２６】主制御部タイマ割込処理の制御プログラムの一例を示したプログラムリストである。
【図２７】ＲＯＭ領域が、ＥＸＥＳＵＢ命令によって呼び出すことのできる領域よりも、制御プログラムデータが記憶されているＲＯＭ制御領域が広くなるように構成されている場合を示した図である。
【図２８】（ａ）（ｂ）ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）によって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張した場合の一例を示した図である。
【図２９】（ａ）特図２状態更新処理および特図１状態更新処理の制御プログラムの一部を抜き出したものである。（ｂ）普図状態更新処理の制御プログラムの一部を抜き出したものである。（ｃ）従来のメモリ読み出し処理の一部を抜き出したものである。（ｄ）ＲＡＭエリア（ＲＷＭ領域）に設けた変数領域の一部を示した図である。（ｅ）本実施形態に係るメモリ読み出し処理の一部を抜き出したものである。
【図３０】図２９（ｃ）に示す従来のメモリ読出し処理の機械語と、図２９（ｅ）に示す本実施形態に係るメモリ読出し処理の機械語と、を比較した図である。
【図３１】特図１関連抽選処理の流れを示すフローチャートである。
【図３２】（ａ）テーブル選択用テーブルの一例を示した図である。（ｂ）第１変動パターン選択テーブルの一例を示した図である。（ｃ）第２変動パターン選択テーブルの一例を示した図である。（ｄ）ＲＷＭ領域のアドレスＦ０４０Ｈ〜Ｆ０４２Ｈに対応するＲＡＭ３０８の記憶領域に設けられる保留数記憶領域、乱数１記憶領域、乱数２記憶領域を示した図である。
【図３３】主制御部３００のＲＯＭ３０６に記憶されるデータテーブルの定義の一部と、ＲＡＭ３０８に設けられる変数格納領域の定義の一部を示したプログラムリストの一例である。
【図３４】特別図柄変動時間抽選処理の流れを示すフローチャートである。
【図３５】特別図柄変動時間抽選処理のプログラムリストの一例である。
【図３６】制御部３００（のＣＰＵ３０４）が備える命令の一部と、その説明を示した図である。
【図３７】（ａ）主制御部３００の命令データの上位ビットと下位ビットを示した図である。（ｂ）命令データテーブルの一例を示した図である。
【図３８】テーブル選択用テーブル、第１変動パターン選択テーブル、および第２変動パターン選択テーブルの変形例を示した図である。
【図３９】変形例に係る特別図柄変動時間抽選処理の流れを示すフローチャートである。
【図４０】（ａ）ＲＯＭ３０６に記憶される初期設定データテーブルの一例を示した図である。（ｂ）初期設定処理後のＲＡＭ３０８の記憶領域の一部を示した図である。（ｃ）初期設定処理の流れを示すフローチャートである。
【図４１】初期設定処理のプログラムリストの一例である。
【図４２】（ａ）主制御部３００が備える第２特殊命令の一部を示した図である。（ｂ）第２特殊命令を実行する前後のフラグレジスタの状態を示した図である。
【図４３】ＣＰＪＲ命令を用いた処理の一例を示した図である。
【図４４】（ａ）従来の命令を用いたプログラムの一例を示した図である。（ｂ）ＣＰＪＲ命令を用いたプログラムの一例である。
【図４５】ＣＰＪＲ命令を用いた他の処理の一例を示した図である。
【図４６】処理Ｖを含む、ＣＰＪＲ命令を用いた他の処理の一例を示した図である。
【図４７】ＣＰＲＴ命令を用いた処理の一例を示した図である。
【図４８】（ａ）ＣＰＲＴ命令を用いたプログラムの一例である。（ｂ）従来の命令を用いたプログラムの一例を示した図である。
【図４９】主制御部３００が備える第３特殊命令の一部を示した図である。
【図５０】「ＲＥＳｍＺ  ｎ、ｒ」命令の具体例を示した図である。
【図５１】「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令の具体例を示した図である。
【図５２】主制御部３００の命令マップのうち、ＲＥＳ命令に該当する部分を抜き出して示した図である。
【図５３】変形例１に係るＲＥＳ命令を示した図である。
【図５４】変形例１に係るＲＥＳ命令の具体例を示した図である。
【図５５】変形例１に係るＲＥＳ命令を用いたプログラムの一例を示した図である。
【図５６】変形例２に係るＲＥＳ命令を示した図である。
【図５７】変形例２に係るＲＥＳ命令の具体例を示した図である。
【図５８】変形例２に係るＲＥＳ命令の具体例を示した図である。
【図５９】主制御部３００の命令マップのうち、変形例２に係るＲＥＳ命令に該当する部分を抜き出して示した図である。
【図６０】ＲＥＳ命令の他の変形例を示した図である。
【図６１】（ａ）所定ビットのアクセスを禁止しないＲＥＳ命令を備えた場合の命令マップと、所定ビットのアクセスを禁止するＲＥＳ命令を備えた場合の命令マップを示した図である。（ｂ）ＲＥＳ命令の第１オペランドの数値の大小と、ＲＥＳ命令の命令マップの並び順を異ならせた例を示した図である。
【図６２】（ａ）ユーザプログラムの一部であるプログラム起動設定処理の一例を示した図である。（ｂ）ユーザプログラムの一部である電源投入時設定処理の一例を示した図である。
【図６３】主制御部タイマ割込処理に相当するユーザプログラムの一部を示した図である。
【図６４】主制御部３００が備える第４特殊命令の内容と、主制御部３００のＲＯＭ領域を示した図である。
【図６５】主制御部３００の命令マップのうち、第４特殊命令に係るＲＳＴ命令に該当する部分を抜き出して示した図である。
【図６６】スロットマシンを正面側（遊技者側）から見た外観斜視図である。
【図６７】前面扉を開けた状態のスロットマシンを示す正面図である。
【図６８】制御部の回路ブロック図を示したものである。
【図６９】（ａ）各リール（左リール、中リール、右リール）に施される図柄の配列を平面的に展開して示した図である。（ｂ）入賞役（作動役を含む）の種類、各入賞役に対応する図柄組合せ、各入賞役の作動または払出を示した図である。
【図７０】主制御部メイン処理の流れを示すフローチャートである。
【図７１】主制御部タイマ割込処理の流れを示すフローチャートである。
【図７２】（ａ）第１副制御部のＣＰＵ１４０４が実行するメイン処理のフローチャートである。（ｂ）第１副制御部のコマンド受信割込処理のフローチャートである。（ｃ）第１副制御部のタイマ割込処理のフローチャートである。
【図７３】（ａ）第２副制御部のＣＰＵ１５０４が実行するメイン処理のフローチャートである。（ｂ）第２副制御部のコマンド受信割込処理のフローチャートである。（ｃ）第２副制御部のタイマ割込処理のフローチャートである。（ｄ）第２副制御部の画像制御処理のフローチャートである。
【図７４】本発明の他の適用例を示した図である。
【図７５】マイクロプロセッサ３０００を用いた場合の基本回路３０２の一構成例を示す図である。
【図７６】リセットの流れを示すフローチャートである。
【図７７】図７５に示す乱数生成回路３１８の内部構成図である。
【図７８】図７７に示すノイズフィルタ３１８５による処理の一例を示す図である。
【図７９】図７７に示す乱数更新回路３１８３の詳細を示す図である。
【図８０】乱数生成範囲の最大値が設定されていない場合において出力される乱数の範囲を示す図である。
【図８１】図８０とは異なる最大値が設定された場合に出力される乱数の範囲を示す図である。
【図８２】最大値と最小値を設定した乱数生成範囲において、乱数を取得することができる範囲を示す図である。
【図８３】本実施形態の遊技台で使用される乱数の導出源を表で示す図である。
【図８４】割込み制御回路３１００の内部レジスタ３１０１に用意された第１内部情報レジスタを説明するための図である。
【図８５】周波数監視回路３１８２における異常の検出例を示す図である。
【図８６】乱数監視回路３１８４における異常の検出例を示す図である。
【図８７】乱数が一巡する周期とタイマ割込みの周期を比較した図である。
【図８８】主制御部メイン処理の流れを示すフローチャートである。
【図８９】主制御部メイン処理における初期設定２の流れを示すフローチャートである。
【図９０】ステップＳ１０５３における乱数生成回路初期設定処理の流れを示すフローチャートである。
【図９１】主制御部タイマ割込処理の流れを示すフローチャートである。
【図９２】（ａ）普図関連抽選処理の流れを示すフローチャートである。（ｂ）普図抽選テーブルを示す図である。
【図９３】特図関連抽選処理の流れを示すフローチャートである。
【図９４】（ａ）特図抽選テーブルを示す図である。（ｂ）停止図柄抽選テーブルを示す図である。
【図９５】デバイス監視処理の流れを示すフローチャートである。
【図９６】ステップＳ２１７における入賞受付処理のうち、特図当選乱数および普図当選乱数を取得する処理の流れを示した図である。
【図９７】（ａ）電源オフの場合の動作を示す図である。（ｂ）瞬断の場合の動作を示す図である。
【図９８】乱数生成範囲の問題点を示す図である。
【図９９】図７９で説明した乱数更新回路３１８３の変形例を示す図である。
【図１００】払出制御部メイン処理の流れを示すフローチャートである。
【図１０１】払出制御部タイマ割り込み処理の流れを示すフローチャートである。
【図１０２】割込み制御回路３１００の内部レジスタ３１０１に用意された第２内部情報レジスタを説明するための図である。
【図１０３】割込み制御回路３１００の内部レジスタ３１０１に用意された第３内部情報レジスタを説明するための図である。
【図１０４】割込み制御回路３１００の内部レジスタ３１０１に用意された第４内部情報レジスタを説明するための図である。
【図１０５】システムリセットの流れを乱数更新との関係を含めて示す図である。
【図１０６】（ａ）遊技制御プログラムの初期設定で実行される処理を模式的に示した図である。（ｂ）（ａ）の処理の概念を説明するための図である。
【図１０７】図７５に示すマイクロプロセッサ３０００のリセット制御回路３１４の変形例を示した図である。
【図１０８】主制御部３００と第１副制御部４００とのうち主制御部３００のみでＷＤＴ３１４１のタイムアウトが生じた場合の例を示すタイミングチャートである。
【図１０９】（ａ）主制御部の構成の第１変形例を示した図である。（ｂ）主制御部の構成の第２変形例を示した図である。（ｃ）ランダム遅延回路３１７、電圧監視回路３３８、およびＷＤＴ３１４を有して構成されたリセット回路の構成例を示した図である。
【図１１０】（ａ）図１０９（ｃ）の第１変形例を示した図である。（ｂ）図１０９（ｃ）の第２変形例を示した図である。
【図１１１】（ａ）図１０９（ｃ）に示すリセット回路の第３変形例を示した図である。（ｂ）ＣＰＵ３０４に接続される各種ＩＣの一部を示した図である。
【図１１２】図１１１（ｂ）に示すリセット信号出力端子ＸＲＳＴＯの接続の第１変形例を示した図である。
【図１１３】図４を用いて説明した基本回路３０２と、この基本回路３０２に接続される各種ＩＣの一部を示した図である。
【図１１４】（ａ）固定延長時間の設定例を示したものである。（ｂ）ランダム延長時間の設定例を示したものである。
【図１１５】ＷＤＴ３１４のタイムアウト時間の設定例を示したものである。
【図１１６】（ａ）〜（ｄ）リセット出力端子ＸＳＲＳＴＯ端子の出力信号の変化と、セキュリティモードの状態変化を示した図である。
【図１１７】（ａ）、（ｂ）固定延長処理の終了タイミングと、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するタイミングが一致するが、ランダム延長時間が異なる例を示した図である。（ｃ）、（ｄ）固定延長処理の終了タイミングと、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するタイミングが一致するが、固定延長時間が異なる例を示した図である。
【図１１８】固定延長処理を契機にリセット出力信号を変化させる例を示した図である。
【図１１９】アドレス信号、データ信号、制御信号、およびリセット出力信号の変化と、セキュリティモードの状態変化を示した図である。
【図１２０】（ａ）外部リセット後の他の出力信号の状態変化を示した図である。（ｂ）内部リセット後の他の出力信号の状態変化を示した図である。
【図１２１】（ａ）外部リセット後の他の出力信号の状態変化の他の例を示した図である。（ｂ）内部リセット後の他の出力信号の状態変化の他の例を示した図である。
【図１２２】（ａ）外部リセット後のセキュリティモードの開始タイミングの例を示した図である。（ｂ）内部リセット後のセキュリティモードの開始タイミングの例を示した図である。
【図１２３】本発明の基本概念を示した図である。
【図１２４】（ａ）図２を用いて説明した電源基板１８２、払出基板１７０、および主基板１５６の接続例を示した図である。（ｂ）（ａ）に対応する従来の接続態様を示した図である。
【図１２５】変形例に係る主制御部メイン処理の流れを示すフローチャートであり、上記図１０に対応するフローチャートである。
【図１２６】主制御部メイン処理における初期設定２の流れを示すフローチャートである。
【図１２７】本発明に係る所定の出力端子の信号出力の一例を説明するための図である。
【図１２８】本発明に係る所定の出力端子の信号出力の一例を説明するための図である。
【図１２９】ユーザリセット時におけるシステムクロック信号、アドレス信号、データ信号、制御信号、およびリセット出力信号の変化を示した図である。
【図１３０】主制御部における電断時処理の流れを示すフローチャートである。
【図１３１】図７０のステップＳ２１０１における初期設定処理のフローチャートである。
【図１３２】図７５に示すタイマ回路３１１の構成を詳しく示したブロック図である。
【図１３３】図７５に示すカウンタ回路３１２の構成を詳しく示したブロック図である。
【図１３４】制御レジスタ３１２１を詳しく説明するための図である。
【図１３５】図７（ａ）に示すメモリマップ上における内蔵ＲＡＭエリアや内蔵レジスタエリアの読み込みや書き込みタイミングを説明するためのタイミングチャートである。
【図１３６】図７（ｂ）に示すＩ／Ｏマップ上における内蔵レジスタエリアの読み込みや書き込みタイミングを説明するためのタイミングチャートである。
【図１３７】図７５に示すマイクロプロセッサ３０００内部におけるカウンタ回路３１２への信号の流れを内部のみ示す図である。
【図１３８】カウンタ回路０を不定期な更新とする例を示した図である。
【図１３９】カウンタ回路０をカウンタ回路１の更新ソースとする変形例１を示した図である。
【図１４０】カウンタ回路０とカウンタ回路１で２バイトカウンタとして機能させる変形例２を示した図である。
【図１４１】カウンタ回路０の更新ソースをカウンタ回路１の更新ソースとする変３１例を示した図である。
【図１４２】カウンタ回路０とカウンタ回路１を相互にカスケード接続する変形例４を示す図である。
【図１４３】マイクロプロセッサ３０００（基本回路）の外部における外部メモリの読み込みや書き込みチップセレクトタイミングを説明するためのタイミングチャートである。
【図１４４】外部Ｉ／Ｏの読み込みや書き込みチップセレクトタイミングを説明するためのタイミングチャートである。
【図１４５】図７５に示すマイクロプロセッサ３０００内部におけるカウンタ回路３１２への信号の流れを内部のみ示す図である。
【図１４６】主制御部タイマ割込処理の流れを示すフローチャートである。
【図１４７】（ａ）第１副制御部のＣＰＵが実行するメイン処理のフローチャートである。（ｂ）第１副制御部のコマンド受信割込み処理のフローチャートである。（ｃ）第１副制御部のタイマ割込処理のフローチャートである。（ｄ）第１副制御部の画像制御処理のフローチャートである。
【図１４８】（ａ）第２副制御部５００のＣＰＵ５０４が実行するメイン処理のフローチャートである。（ｂ）第２副制御部５００のコマンド受信割込処理のフローチャートである。（ｃ）第２副制御部５００のタイマ割込処理のフローチャートである。
【図１４９】コマンド設定送信処理の流れを示すフローチャートである。
【図１５０】大当り中用コマンド送信処理の流れを示すフローチャートである。
【図１５１】ブロック転送処理の流れを示すフローチャートである。
【図１５２】（ａ）〜（ｄ）大当り遊技中に参照されるコマンドテーブルの一例を示した図である。
【図１５３】本発明の特徴部分のみを抜き出して示したフローチャートである。
【図１５４】（ａ）、（ｂ）本発明の特徴部分を上記図１５３と異なる視点で示したフローチャートである。
【図１５５】本発明の特徴部分に対応する従来技術の処理の流れを示したフローチャートであり、上記図１５３に対応するフローチャートである。
【図１５６】（ａ）本発明に係る大当り中用コマンド送信処理においてブロック転送を行う場合の所要時間を示した図であり。（ｂ）従来技術に係る大当り中用コマンド送信処理においてブロック転送を行う場合の所要時間を示した図である。
【図１５７】補正時間待機処理の配置場所の例を示したフローチャートである。
【図１５８】割込み処理の流れを模式的に示した図である。
【図１５９】コマンド設定送信処理の流れを示すフローチャートである。
【図１６０】（ａ）〜（ｆ）遊技中に参照されるコマンドテーブルの一例を示した図である。
【図１６１】主制御部３００が備える第５特殊命令の一部と、その説明を示した図である。
【図１６２】第５特殊命令のバイト数とステート数を比較した図である。
【図１６３】ＺフラグやＳＺフラグを変化させる命令の一例を示した図である。
【図１６４】タイマ更新処理の流れを示すフローチャートである。
【図１６５】（ａ）本発明に係るタイマ更新処理のプログラムの一例を示した図である。（ｂ）従来のタイマ更新処理のプログラムの一例を示した図である。
【図１６６】（ａ）表示図柄抽選の流れを示すフローチャートである。（ｂ）抽選準備処理の流れを示すフローチャートである。（ｃ）データ選択処理の流れを示すフローチャートである。
【図１６７】本発明に係る抽選準備処理のプログラムの一例を示した図である。
【図１６８】抽選処理の流れを示すフローチャートである。
【図１６９】本発明に係る抽選処理のプログラムの一例を示した図である。
【図１７０】従来の抽選処理のプログラムの一例を示した図である。
【図１７１】払出要求数送信処理の流れを示すフローチャートである。
【図１７２】本発明に係る払出要求数送信処理のプログラムの一例を示した図である。
【図１７３】本発明の概要を示した図である。
【図１７４】本発明の変形例を示した図である。
【図１７５】本発明の他の概要を示した図である。
【図１７６】ＷＡＲＵ命令の変形例を示した図である。
【図１７７】パチンコ機を正面側（遊技者側）から見た外観斜視図である。
【図１７８】遊技盤を正面から見た略示正面図である。
【図１７９】パチンコ機を背面側から見た外観斜視図である。
【図１８０】（ａ）特図の停止表示態様の一例を示したものである。（ｂ）装飾図柄の一例を示したものである。（ｃ）普図の停止表示態様の一例を示したものである。
【図１８１】制御部の回路ブロック図を示したものである。
【図１８２】基本回路の内部構成図である。
【図１８３】基本回路に接続される乱数用水晶発振器とシステム用水晶発振器の配線パターンの一例を示した回路ブロック図である。
【図１８４】乱数回路の内部構成図である。
【図１８５】乱数回路が備える周波数監視回路の内部構成図である。
【図１８６】主制御部メイン処理の流れを示すフローチャートである。
【図１８７】主制御部タイマ割り込み処理の流れを示すフローチャートである。
【図１８８】入賞受付処理の流れを示すフローチャートである。
【図１８９】特図状態更新処理の流れを示すフローチャートである。
【図１９０】払出制御部メイン処理の流れを示すフローチャートである。
【図１９１】（ａ）払出制御部タイマ割り込み処理の流れを示すフローチャートである。（ｂ）ストローブ割り込み処理の流れを示すフローチャートである。
【図１９２】（ａ）副制御部メイン処理の流れを示すフローチャートである。（ｂ）コマンド入力処理の流れを示すフローチャートである。（ｃ）変動パターン選択処理の流れを示すフローチャートである。（ｄ）図柄停止処理の流れを示すフローチャートである。（ｅ）ストローブ割り込み処理の流れを示すフローチャートである。（ｆ）チャンスボタン割り込み処理の流れを示すフローチャートである。（ｇ）変数更新割り込み処理の流れを示すフローチャートである。
【図１９３】基本回路が搭載されるパッケージの外観斜視図であり、同図（ｂ）は、パッケージの視認非容易部の近傍を示す側面図である。
【図１９４】（ａ）基本回路が搭載されるパッケージの平面図である。（ｂ）パッケージの端子と下側基板のみを抜き出して示す外観斜視図である。
【図１９５】（ａ）変形例１に係るパッケージの下側基板の一部分を示す外観斜視図である。（ｂ）変形例２に係るパッケージの下側基板の一部分を示す外観斜視図である。（ｃ）変形例３に係るパッケージの下側基板の一部分を示す外観斜視図である。（ｄ）変形例４に係るパッケージの下側基板の一部分を示す外観斜視図である。
【図１９６】（ａ）変形例５に係るパッケージの外観斜視図である。（ｂ）変形例６に係るパッケージの外観斜視図である。（ｃ）変形例７に係るパッケージの外観斜視図である。（ｄ）変形例８に係るパッケージの外観斜視図である。
【図１９７】（ａ）、（ｂ）スリット状の切欠き部を形成したパッケージの一例を示した外観斜視図である。
【図１９８】（ａ）円弧状の切欠き部を形成したパッケージの一例を示した外観斜視図である。（ｂ）、（ｃ）切欠き部を拡大して示す部分拡大図である。
【図１９９】（ａ）切欠き部の上面にシールが貼付されたパッケージの一例を示した外観斜視図である。（ｂ）パッケージを折り曲げた様子を示す外観斜視図である。（ｃ）折り曲げた後のパッケージを示す外観斜視図である。
【図２００】（ａ）〜（ｅ）変形例に係るパッケージの平面図である。（ｆ）〜（ｇ）変形例に係るパッケージを長手方向から見た側面図である。
【図２０１】（ａ）ＩＣソケットの外観斜視図である。（ｂ）ＩＣソケットにパッケージを実装した状態を示す外観斜視図である。
【図２０２】パッケージの端子配置例を示す平面図である。
【図２０３】（ａ）変形例１に係るＩＣソケットの外観斜視図である。（ｂ）ＩＣソケットにパッケージを実装した状態を示す外観斜視図である。
【図２０４】（ａ）変形例２に係るＩＣソケットの外観斜視図である。（ｂ）ＩＣソケットのソケット端子が実装される基板の平面図である。
【図２０５】（ａ）図２０４（ａ）におけるＡ−Ａ線に沿った断面を模式的に示した図である。（ｂ）図２０４（ａ）におけるＢ−Ｂ線に沿った断面を模式的に示した図である。
【図２０６】変形例１に係るコネクト部とソケット端子の断面を模式的に示した図である。
【図２０７】変形例２に係るコネクト部とソケット端子の断面を模式的に示した図である。
【図２０８】（ａ）変形例３に係るＩＣソケットの外観斜視図である。（ｂ）変形例４に係るＩＣソケットの外観斜視図である。（ｃ）変形例５に係るＩＣソケットの外観斜視図である。
【図２０９】ＩＣソケットを基板に実装した例を示した外観斜視図である。
【図２１０】（ａ）ＩＣソケットが実装されるランドと、これらのランドと乱数用水晶発振器およびシステム用水晶発振器を接続する信号線の一例を示した図である。（ｂ）ランド近傍の部分拡大図である。
【図２１１】ＩＣソケットの外縁を説明するための図である。
【図２１２】基板１００２を側方から見た側面図である。
【図２１３】変形例１に係る配線パターンを示した図である。
【図２１４】（ａ）変形例２に係る配線パターンを示した図である。（ｂ）変形例３に係る配線パターンを示した図である。
【図２１５】変形例４に係る配線パターンを示した図である。
【図２１６】（ａ）変形例５に係る配線パターンを示した図である。（ｂ）、（ｃ）変形例５に係る配線パターンを変更した図である。
【図２１７】変形例６に係る配線パターンを示した図である。
【図２１８】上述のＩＣソケットを実装する基板の平面図である。
【図２１９】変形例１に係る基板の平面図である。
【図２２０】変形例２に係る基板の平面図である。
【図２２１】変形例３に係る基板の平面図である。
【図２２２】スロットマシンの外観斜視図を示したものである。
【図２２３】主制御部の回路ブロック図を示したものである。
【図２２４】副制御部の回路ブロック図を示したものである。
【図２２５】主制御部のメイン処理の流れを示すフローチャートである。
【図２２６】遊技メダル投入処理の流れを示すフローチャートである。
【図２２７】乱数取得処理の流れを示すフローチャートである。
【図２２８】タイマ割込み処理の流れを示すフローチャートである。
【図２２９】電源基板１８２、払出基板１７０、および主基板１５６間の電源供給例を示す図である。
【図２３０】主基板１５６内の電源供給例を示す図である。
【図２３１】電源基板１８２と主基板１５６内の電源供給例を示す図である。
【図２３２】主基板１５６内の電源供給例を示す図である。
【図２３３】パチンコ機１００の電源投入後の起動処理のタイムチャートである。
【図２３４】図２３３の破線の楕円Ｏで囲んだ範囲を拡大した監視電圧を示す図である。
【図２３５】ＷＤＴ３１４の最初のリスタート処理が時刻Ｔ−低電圧より後に実行されるようにしたＷＤＴの駆動方法（その１）を示す図である。
【図２３６】ＷＤＴ３１４の最初のリスタート処理が時刻Ｔ−低電圧より後に実行されるようにしたＷＤＴの駆動方法（その２）を示す図である。
【図２３７】ＷＤＴ３１４の最初のリスタート処理が時刻Ｔ−低電圧より後に実行されるようにしたＷＤＴの駆動方法（その３）を示す図である。
【図２３８】主制御部メイン処理の流れを示すフローチャートである。
【図２３９】主制御部メイン処理における遅延処理の流れを示すフローチャートである。
【図２４０】主制御部メイン処理における遅延処理の流れを示すフローチャートである。
【図２４１】主制御部メイン処理の流れを示すフローチャートである。
【図２４２】主制御部メイン処理における遅延処理の流れを示すフローチャートである。
【図２４３】主制御部タイマ割込処理の流れを示すフローチャートである。
【図２４４】主制御部タイマ割込処理におけるデバイス監視処理の流れを示すフローチャートである。
【図２４５】乱数生成回路から１６ビット乱数値をＲＡＭ３０８に取込む手順を示す図である。
【図２４６】乱数生成回路から１６ビット乱数値をＲＡＭ３０８に取込む手順を示す図である。
【図２４７】（ａ）は、図２４５および図２４６に示す乱数取込み（取得）手順において実行される乱数取得判定処理を示すフローチャートである。（ｂ）は、図２４５および図２４６に示す乱数取込み（取得）手順において実行される乱数取得処理を示すフローチャートである。
【図２４８】（ａ）は、図２４５および図２４６に示す乱数取込み（取得）手順において実行される図２４７（ａ）に示す乱数取得判定処理をより詳細に説明するフローチャートである。（ｂ）は、図２４５および図２４６に示す乱数取込み（取得）手順において実行される図２４７（ｂ）に示す乱数取得処理をより詳細に説明するフローチャートである。
【図２４９】所定のソフトラッチ乱数値レジスタに乱数生成回路９００６から逐次入力される１６ビット乱数値を直接取込む方法を示す図である。
【図２５０】図２４９に示す乱数直接取込みにおいて実行される乱数取得判定／取得処理を示すフローチャートである。
【図２５１】図２４９に示す乱数直接取込み（取得）手順において実行される図２５０に示す乱数取得判定／取得処理をより詳細に説明するフローチャートである。
【図２５２】図２４５や図２４６に示した乱数値取込みの手順を記述したプログラムコードの一例を示す図である。
【図２５３】図２４９に示した乱数値直接取込みの手順を記述したプログラムコードの一例を示す図である。
【図２５４】第三の命令を用いることの利点について説明する図である。
【図２５５】（ａ）は大当り判定テーブルの一例を、（ｂ）は高確率状態移行判定テーブルの一例を、（ｃ）はタイマ番号決定テーブルの一例を、それぞれ示した図である。
【図２５６】（ａ）は払出要求数テーブルの一例を、（ｂ）は払出加工テーブルの一例を、（ｃ）はタイマ制御データテーブルの一例を、（ｄ）はジャンプテーブルの一例を、（ｅ）は復元データテーブルの一例を、それぞれ示した図である。
【図２５７】同パチンコ機の主制御部リセット割り込み処理の流れを示したフローチャートである。
【図２５８】同パチンコ機の機能限定ウェイト処理の流れを示したフローチャートである。
【図２５９】同パチンコ機の主制御部タイマ割り込み処理の流れを示したフローチャートである。
【図２６０】同パチンコ機の払出要求数送信処理の流れを示したフローチャートである。
【図２６１】同パチンコ機のタイマ更新処理の流れを示したフローチャートである。
【図２６２】同パチンコ機のコマンド設定送信処理の流れを示したフローチャートである。
【図２６３】同パチンコ機の基本コマンド設定送信処理の流れを示したフローチャートである。
【図２６４】同パチンコ機のコマンド送信処理の流れを示したフローチャートである。
【図２６５】同パチンコ機の復帰コマンド設定処理の流れを示したフローチャートである。
【図２６６】同パチンコ機の払出制御部リセット処理の流れを示したフローチャートである。
【図２６７】同パチンコ機のコマンド解析処理の流れを示したフローチャートである。
【図２６８】同パチンコ機のコマンド受信割り込み処理の流れを示したフローチャートである。
【図２６９】同パチンコ機の払出制御部タイマ割り込み処理の流れを示したフローチャートである。
【図２７０】１６ビット乱数回路の内部構成図である。
【図２７１】８ビット乱数回路の内部構成図である。
【図２７２】主制御部メイン処理の流れを示すフローチャートであり、図２７２（ａ）はプログラム起動設定処理の流れを示すフローチャートであり、図２７２（ｂ）は、電源投入時処理の流れを示すフローチャートであり、図２７２（ｃ）は、初期設定２の流れを示すフローチャートである。
【図２７３】主制御部メイン処理における遅延処理の流れを示すフローチャートである。
【図２７４】主制御部タイマ割込処理の流れを示すフローチャートである。
【図２７５】主制御部タイマ割込処理におけるデバイス監視処理の流れを示すフローチャートである。
【図２７６】本実施形態の遊技台（パチンコ機）で使用される乱数の導出源を表で示す図である。
【図２７７】本実施形態の遊技台（スロットマシン）で使用される乱数の導出源を表で示す図である。
【図２７８】（ａ）は、基本回路５３０２が搭載されるパッケージ１０１００ａおよびパッケージ１０１００ｂの平面図である。（ｂ）は、パッケージ１０１００ａおよびパッケージ１０１００ｂを接続部材１０１００ｃを用いて接続した形状を示す平面図である。（ｃ）は、同側面図である。（ｄ）は、同斜視図である。
【図２７９】（ａ）は、基本回路５３０２が搭載されるパッケージ１０１２０ａおよびパッケージ１０１２０ｂを接続配線部１０１２０ｃで接続した形状を示す平面図である。（ｂ）は、同側面図である。（ｃ）は、同斜視図である。
【図２８０】図２７８（ｂ）、（ｃ）、（ｄ）に示すパッケージ１０１００ａおよびパッケージ１０１００ｂを接続部材１０１００ｃで一体化して収容ケース１０１０３で覆った状態を示す図である。
【図２８１】図２７９（ａ）、（ｂ）、（ｃ）に示すパッケージ１０１２０ａおよびパッケージ１０１２０ｂを接続配線部１０１２０ｃで一体化して収容ケース１０１０４で覆った状態を示す図である。
【図２８２】特図始動口ポートの状態と乱数取得との関係を示す図である。
【図２８３】特図始動口ポートの状態と乱数取得との関係を示す図である。
【図２８４】実施形態７の変形例に係るパチンコ機（遊技台）に用いられるカウンタ回路３１２について説明する図である。
【図２８５】ＣＰＵ３０４によって実行される処理Ａ〜処理Ｄを示す図である。
【図２８６】ＣＰＵ３０４によって実行される処理Ａ〜処理Ｄを示す図である。
【図２８７】割込み初期設定レジスタの設定例を示す図である。
【図２８８】割込み要求が発生した場合のジャンプ先アドレスとＲＳＴ命令でのジャンプ先アドレスとの関連について説明する図である。
【図２８９】実施形態８の変形例について説明する図である。
【発明を実施するための形態】
【０００９】
＜実施形態１＞
以下、図面を用いて、本発明の実施形態１に係る遊技台（パチンコ機１００）について詳細に説明する。
【００１０】
＜全体構成＞
まず、図１を用いて、本発明の実施形態１に係るパチンコ機１００の全体構成について説明する。なお、同図はパチンコ機１００を正面側（遊技者側）から見た外観斜視図である。
【００１１】
パチンコ機１００は、外部的構造として、外枠１０２と、本体１０４と、前面枠扉１０６と、球貯留皿付扉１０８と、発射装置１１０と、遊技盤２００と、をその前面に備える。
【００１２】
外枠１０２は、遊技機設置営業店に設けられた設置場所（島設備等）へと固定させるための縦長方形状から成る木製の枠部材である。本体１０４は、内枠と呼ばれ、外枠１０２の内部に備えられ、ヒンジ部１１２を介して外枠１０２に回動自在に装着された縦長方形状の遊技機基軸体となる部材である。また、本体１０４は、枠状に形成され、内側に空間部１１４を有している。また、本体１０４が開放された場合、本体１０４の開放を検出する不図示の内枠開放センサを備える。
【００１３】
前面枠扉１０６は、ロック機能付きで且つ開閉自在となるようにパチンコ機１００の前面側となる本体１０４の前面に対しヒンジ部１１２を介して装着され、枠状に構成されることでその内側を開口部とした扉部材である。なお、この前面枠扉１０６には、開口部にガラス製又は樹脂製の透明板部材１１８が設けられ、前面側には、スピーカ１２０や枠ランプ１２２が取り付けられている。前面枠扉１０６の後面と遊技盤２００の前面とで遊技領域１２４を区画形成する。また、前面枠扉１０６が開放された場合、前面枠扉１０６の開放を検出する不図示の前面枠扉開放センサを備える。
【００１４】
球貯留皿付扉１０８は、パチンコ機１００の前面において本体１０４の下側に対して、ロック機能付きで且つ開閉自在となるように装着された扉部材である。球貯留皿付扉１０８は、複数の遊技球（以下、単に「球」と称する場合がある）が貯留可能で且つ発射装置１１０へと遊技球を案内させる通路が設けられている上皿１２６と、上皿１２６に貯留しきれない遊技球を貯留する下皿１２８と、遊技者の操作によって上皿１２６に貯留された遊技球を下皿１２８へと排出させる球抜ボタン１３０と、遊技者の操作によって下皿１２８に貯留された遊技球を遊技球収集容器（俗称、ドル箱）へと排出させる球排出レバー１３２と、遊技者の操作によって発射装置１１０へと案内された遊技球を遊技盤２００の遊技領域１２４へと打ち出す球発射ハンドル１３４と、遊技者の操作によって各種演出装置２０６の演出態様に変化を与えるチャンスボタン１３６と、チャンスボタン１３６を発光させるチャンスボタンランプ１３８と、遊技店に設置されたカードユニット（ＣＲユニット）に対して球貸し指示を行う球貸操作ボタン１４０と、カードユニットに対して遊技者の残高の返却指示を行う返却操作ボタン１４２と、遊技者の残高やカードユニットの状態を表示する球貸表示部１４４と、を備える。また、下皿１２８が満タンであることを検出する不図示の下皿満タンセンサを備える。
【００１５】
発射装置１１０は、本体１０４の下方に取り付けられ、球発射ハンドル１３４が遊技者に操作されることによって回動する発射杆１４６と、遊技球を発射杆１４６の先端で打突する発射槌１４８と、を備える。
【００１６】
遊技盤２００は、前面に遊技領域１２４を有し、本体１０４の空間部１１４に臨むように、所定の固定部材を用いて本体１０４に着脱自在に装着されている。なお、遊技領域１２４は、遊技盤２００を本体１０４に装着した後、開口部から観察することができる。
【００１７】
図２は、図１のパチンコ機１００を背面側から見た外観図である。パチンコ機１００の背面上部には、上方に開口した開口部を有し、遊技球を一時的に貯留するための球タンク１５０と、この球タンク１５０の下方に位置し、球タンク１５０の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置１５２に導くためのタンクレール１５４とを配設している。
【００１８】
払出装置１５２は、筒状の部材からなり、その内部には、不図示の払出モータとスプロケットと払出センサとを備えている。スプロケットは、払出モータによって回転可能に構成されており、タンクレール１５４を通過して払出装置１５２内に流下した遊技球を一時的に滞留させると共に、払出モータを駆動して所定角度だけ回転することにより、一時的に滞留した遊技球を払出装置１５２の下方へ１個ずつ送り出すように構成している。
【００１９】
払出センサは、スプロケットが送り出した遊技球の通過を検知するためのセンサであり、遊技球が通過しているときにハイまたはローの何れか一方の信号を、遊技球が通過していないときはハイまたはローの何れか他方の信号を払出制御部６００へ出力する。なお、この払出センサを通過した遊技球は、不図示の球レールを通過してパチンコ機１００の表側に配設した上皿１２６に到達するように構成しており、パチンコ機１００は、この構成により遊技者に対して球の払い出しを行う。
【００２０】
払出装置１５２の図中左側には、遊技全般の制御処理を行う主制御部３００を構成する主基板１５６を収納する主基板ケース１５８、主制御部３００が生成した処理情報に基づいて演出に関する制御処理を行う第１副制御部４００を構成する第１副基板１６０を収納する第１副基板ケース１６２、第１副制御部４００が生成した処理情報に基づいて演出に関する制御処理を行う第２副制御部５００を構成する第２副基板１６４を収納する第２副基板ケース１６６、遊技球の払出に関する制御処理を行う払出制御部６００を構成するとともに遊技店員の操作によってエラーを解除するエラー解除スイッチ１６８を備える払出基板１７０を収納する払出基板ケース１７２、遊技球の発射に関する制御処理を行う発射制御部６３０を構成する発射基板１７４を収納する発射基板ケース１７６、各種電気的遊技機器に電源を供給する電源制御部６６０を構成するとともに遊技店員の操作によって電源をオンオフする電源スイッチ１７８と電源投入時に操作されることによってＲＷＭクリア信号を主制御部３００に出力するＲＷＭクリアスイッチ１８０とを備える電源基板１８２を収納する電源基板ケース１８４、および払出制御部６００とカードユニットとの信号の送受信を行うＣＲインターフェース部１８６を配設している。
【００２１】
図３は、遊技盤２００を正面から見た略示正面図である。遊技盤２００には、外レール２０２と内レール２０４とを配設し、遊技球が転動可能な遊技領域１２４を区画形成している。
【００２２】
遊技領域１２４の略中央には、演出装置２０６を配設している。この演出装置２０６には、略中央に装飾図柄表示装置２０８を配設し、その周囲に、普通図柄表示装置２１０と、第１特別図柄表示装置２１２と、第２特別図柄表示装置２１４と、普通図柄保留ランプ２１６と、第１特別図柄保留ランプ２１８と、第２特別図柄保留ランプ２２０と、高確中ランプ２２２を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
【００２３】
演出装置２０６は、演出可動体２２４を動作して演出を行うものであり、詳細については後述する。装飾図柄表示装置２０８は、装飾図柄ならびに演出に用いる様々な表示を行うための表示装置であり、本実施例では液晶表示装置（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）によって構成する。この装飾図柄表示装置２０８は、左図柄表示領域２０８ａ、中図柄表示領域２０８ｂ、右図柄表示領域２０８ｃおよび演出表示領域２０８ｄの４つの表示領域に分割し、左図柄表示領域２０８ａ、中図柄表示領域２０８ｂおよび右図柄表示領域２０８ｃはそれぞれ異なった装飾図柄を表示し、演出表示領域２０８ｄは演出に用いる画像を表示する。さらに、各表示領域２０８ａ、２０８ｂ、２０８ｃ、２０８ｄの位置や大きさは、装飾図柄表示装置２０８の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置２０８として液晶表示装置を採用しているが、液晶表示装置でなくとも、種々の演出や種々の遊技情報を表示可能に構成されていればよく、例えば、ドットマトリクス表示装置、７セグメント表示装置、有機ＥＬ（ＥｌｅｃｔｒｏＬｕｍｉｎｅｓｃｅｎｃｅ）表示装置、リール（ドラム）式表示装置、リーフ式表示装置、プラズマディスプレイ、プロジェクタを含む他の表示デバイスを採用してもよい。
【００２４】
普図表示装置２１０は、普図の表示を行うための表示装置であり、本実施例では７セグメントＬＥＤによって構成する。第１特図表示装置２１２および第２特図表示装置２１４は、特図の表示を行うための表示装置であり、本実施例では７セグメントＬＥＤによって構成する。
【００２５】
普図保留ランプ２１６は、保留している普図変動遊技（詳細は後述）の数を示すためのランプであり、本実施例では、普図変動遊技を所定数（例えば、２つ）まで保留することを可能としている。第１特図保留ランプ２１８および第２特図保留ランプ２２０は、保留している特図変動遊技（詳細は後述）の数を示すためのランプであり、本実施例では、特図変動遊技を所定数（例えば、４つ）まで保留することを可能としている。高確中ランプ２２２は、遊技状態が大当りが発生し易い高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を大当りが発生し難い低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
【００２６】
また、この演出装置２０６の周囲には、所定の球進入口、例えば、一般入賞口２２６と、普図始動口２２８と、第１特図始動口２３０と、第２特図始動口２３２と、可変入賞口２３４を配設している。
【００２７】
一般入賞口２２６は、本実施例では遊技盤２００に複数配設しており、この一般入賞口２２６への入球を所定の球検出センサ（図示省略）が検出した場合（一般入賞口２２６に入賞した場合）、払出装置１５２を駆動し、所定の個数（例えば、１０個）の球を賞球として上皿１２６に排出する。上皿１２６に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口２２６に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球（遊技球）」と呼ぶ。
【００２８】
普図始動口２２８は、ゲートやスルーチャッカーと呼ばれる、遊技領域１２４の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤２００の左側に１つ配設している。普図始動口２２８を通過した球は一般入賞口２２６に入球した球と違って、遊技島側に排出することはない。球が普図始動口２２８を通過したことを所定の球検出センサが検出した場合、パチンコ機１００は、普図表示装置２１０による普図変動遊技を開始する。
【００２９】
第１特図始動口２３０は、本実施例では遊技盤２００の中央に１つだけ配設している。この第１特図始動口２３０への入球を所定の球検出センサが検出した場合、後述する払出装置１５２を駆動し、所定の個数（例えば、３個）の球を賞球として上皿１２６に排出するとともに、第１特図表示装置２１２による特図変動遊技を開始する。なお、第１特図始動口２３０に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。
【００３０】
第２特図始動口２３２は、電動チューリップ（電チュー）と呼ばれ、本実施例では第１特図始動口２３０の真下に１つだけ配設している。この第２特図始動口２３２は、左右に開閉自在な羽根部材２３２ａを備え、羽根部材２３２ａの閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置２１０が当り図柄を停止表示した場合に羽根部材２３２ａが所定の時間間隔、所定の回数で開閉する。第２特図始動口２３２への入球を所定の球検出センサが検出した場合、払出装置１５２を駆動し、所定の個数（例えば、４個）の球を賞球として上皿１２６に排出するとともに、第２特図表示装置２１４による特図変動遊技を開始する。なお、第２特図始動口２３２に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。
【００３１】
可変入賞口２３４は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技盤２００の中央部下方に１つだけ配設している。この可変入賞口２３４は、開閉自在な扉部材２３４ａを備え、扉部材２３４ａの閉鎖中は球の入球が不可能であり、特図変動遊技に当選して特図表示装置が大当り図柄を停止表示した場合に扉部材２３４ａが所定の時間間隔（例えば、開放時間２９秒、閉鎖時間１．５秒）、所定の回数（例えば１５回）で開閉する。可変入賞口２３４への入球を所定の球検出センサが検出した場合、払出装置１５２を駆動し、所定の個数（例えば、１５個）の球を賞球として上皿１２６に排出する。なお、可変入賞口２３４に入球した球は、パチンコ機１００の裏側に誘導した後、遊技島側に排出する。
【００３２】
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材２３６や、遊技釘２３８を複数個、配設していると共に、内レール２０４の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機１００の裏側に誘導した後、遊技島側に排出するためのアウト口を設けている。
【００３３】
このパチンコ機１００は、遊技者が上皿１２６に貯留している球を発射レールの発射位置に供給し、遊技者の操作ハンドルの操作量に応じた強度で発射モータを駆動し、発射杆１４６および発射槌１４８によって外レール２０２、内レール２０４を通過させて遊技領域１２４に打ち出す。そして、遊技領域１２４の上部に到達した球は、打球方向変換部材２３６や遊技釘２３８等によって進行方向を変えながら下方に落下し、入賞口（一般入賞口２２６、可変入賞口２３４）や始動口（第１特図始動口２３０、第２特図始動口２３２）に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口２２８を通過するのみでアウト口２４０に到達する。
【００３４】
＜演出装置２０６＞
次に、パチンコ機１００の演出装置２０６について説明する。
【００３５】
この演出装置２０６の前面側には、遊技球の転動可能な領域にワープ装置２４２およびステージ２４４を配設し、遊技球の転動不可能な領域に演出可動体２２４を配設している。また、演出装置２０６の背面側には、装飾図柄表示装置２０８および遮蔽装置２４６（以下、扉と称する場合がある）を配設している。すなわち、演出装置２０６において、装飾図柄表示装置２０８および遮蔽手段は、ワープ装置２４２、ステージ２４４、および演出可動体２２４の後方に位置することとなる。
【００３６】
ワープ装置２４２は、演出装置２０６の左上方に設けたワープ入口２４２ａに入った遊技球を演出装置２０６の前面下方のステージ２４４にワープ出口２４２ｂから排出する。ステージ２４４は、ワープ出口２４２ｂから排出された球や遊技盤２００の釘などによって乗り上げた球などが転動可能であり、ステージ２４４の中央部には、通過した球が第１特図始動口２３０へ入球し易くなるスペシャルルート２４４ａを設けている。
【００３７】
演出可動体２２４は、本実施形態では人間の右腕の上腕と前腕を模した上腕部２２４ａと前腕部２２４ｂとからなり、肩の位置に上腕部２２４ａを回動させる不図示の上腕モータと肘の位置に前腕部２２４ｂを回動させる不図示の前腕モータを備える。演出可動体２２４は、上腕モータと前腕モータによって装飾図柄表示装置２０８の前方を移動する。
【００３８】
遮蔽装置２４６は、格子状の左扉２４６ａおよび右扉２４６ｂからなり、装飾図柄表示装置２０８および前面ステージ２４４の間に配設する。左扉２４６ａおよび右扉２４６ｂの上部には、不図示の２つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉２４６ａおよび右扉２４６ｂは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段は、左扉２４６ａおよび右扉２４６ｂを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置２０８を視認し難いように遮蔽する。左扉２４６ａおよび右扉２４６ｂを開いた状態ではそれぞれの内側端部が装飾図柄表示装置２０８の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置２０８の表示の全てを視認可能である。また、左扉２４６ａおよび右扉２４６ｂは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左扉２４６ａおよび右扉２４６ｂは、格子の孔から後方の装飾図柄表示装置２０８の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置２０８による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ（遮蔽し）、後方の装飾図柄表示装置２０８を全く視認不可にしてもよい。
【００３９】
＜制御部＞
次に、図４を用いて、このパチンコ機１００の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
【００４０】
パチンコ機１００の制御部は、大別すると、主に遊技の進行（例えば、遊技者による操作の検出、遊技状態の遷移、遊技媒体の払出制御、当否判定など）を制御する主制御部３００と、主制御部３００が送信するコマンド信号（以下、単に「コマンド」と呼ぶ）に応じて主に演出の制御を行う第１副制御部４００と、第１副制御部４００より送信されたコマンドに基づいて各種機器を制御する第２副制御部５００と、主制御部３００が送信するコマンドに応じて主に遊技球の払い出しに関する制御を行う払出制御部６００と、遊技球の発射制御を行う発射制御部６３０と、パチンコ機１００に供給される電源を制御する電源制御部６６０と、によって構成している。
【００４１】
＜主制御部＞
まず、パチンコ機１００の主制御部３００について説明する。
【００４２】
主制御部３００は、主制御部３００の全体を制御する基本回路３０２を備えており、この基本回路３０２には、ＣＰＵ３０４と、制御プログラムや各種データを記憶するためのＲＯＭ３０６と、一時的にデータを記憶するためのＲＡＭ３０８と、各種デバイスの入出力を制御するためのＩ／Ｏ３１０と、時間や回数等を計測するためのカウンタタイマ３１２と、プログラム処理の異常を監視するＷＤＴ３１４を搭載している。なお、ＲＯＭ３０６やＲＡＭ３０８については他の記憶装置を用いてもよく、この点は後述する第１副制御部４００についても同様である。この基本回路３０２のＣＰＵ３０４は、水晶発振器３１６ｂが出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【００４３】
また、基本回路３０２には、水晶発振器３１６ａが出力するクロック信号を受信する度に０〜６５５３５の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路３１８（この回路には２つのカウンタを内蔵しているものとする）と、所定の球検出センサ、例えば各始動口、入賞口、可変入賞口を通過する遊技球を検出するセンサや、前面枠扉開放センサや内枠開放センサや下皿満タンセンサを含む各種センサ３２０が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路３１８および基本回路３０２に出力するためのセンサ回路３２２と、所定の図柄表示装置、例えば第１特図表示装置２１２や第２特図表示装置２１４の表示制御を行うための駆動回路３２４と、所定の図柄表示装置、例えば普図表示装置２１０の表示制御を行うための駆動回路３２６と、各種状態表示部３２８（例えば、普図保留ランプ２１６、第１特図保留ランプ２１８、第２特図保留ランプ２２０、高確中ランプ２２２等）の表示制御を行うための駆動回路３３０と、所定の可動部材、例えば第２特図始動口２３２の羽根部材２３２ａや可変入賞口２３４の扉部材２３４ａ等を開閉駆動する各種ソレノイド３３２を制御するための駆動回路３３４を接続している。
【００４４】
なお、第１特図始動口２３０に球が入賞したことを球検出センサ３２０が検出した場合には、センサ回路３２２は球を検出したことを示す信号をカウンタ回路３１８に出力する。この信号を受信したカウンタ回路３１８は、第１特図始動口２３０に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第１特図始動口２３０に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路３１８は、第２特図始動口２３２に球が入賞したことを示す信号を受信した場合も同様に、第２特図始動口２３２に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第２特図始動口２３２に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
【００４５】
さらに、基本回路３０２には、情報出力回路３３６を接続しており、主制御部３００は、この情報出力回路３３６を介して、外部のホールコンピュータ（図示省略）等が備える情報入力回路３５０にパチンコ機１００の遊技情報（例えば、遊技状態）を出力する。
【００４６】
また、主制御部３００には、電源制御部６６０から主制御部３００に供給している電源の電圧値を監視する電圧監視回路３３８を設けており、この電圧監視回路３３８は、電源の電圧値が所定の値（本実施例では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を基本回路３０２に出力する。
【００４７】
また、主制御部３００には、電源が投入されると起動信号（リセット信号）を出力する起動信号出力回路（リセット信号出力回路）３４０を設けており、ＣＰＵ３０４は、この起動信号出力回路３４０から起動信号を入力した場合に、遊技制御を開始する（詳細は後述する）。
【００４８】
また、主制御部３００は、第１副制御部４００にコマンドを送信するための出力インタフェースと、払出制御部６００にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、第１副制御部４００および払出制御部６００との通信を可能としている。なお、主制御部３００と第１副制御部４００および払出制御部６００との情報通信は一方向の通信であり、主制御部３００は第１副制御部４００および払出制御部６００にコマンド等の信号を送信できるように構成しているが、第１副制御部４００および払出制御部６００からは主制御部３００にコマンド等の信号を送信できないように構成している。
【００４９】
＜副制御部＞
次に、パチンコ機１００の第１副制御部４００について説明する。第１副制御部４００は、主に主制御部３００が送信したコマンド等に基づいて第１副制御部４００の全体を制御する基本回路４０２を備えており、この基本回路４０２には、ＣＰＵ４０４と、制御プログラムや各種演出データを記憶するためのＲＯＭ４０６と、一時的にデータを記憶するためのＲＡＭ４０８と、各種デバイスの入出力を制御するためのＩ／Ｏ４１０と、時間や回数等を計測するためのカウンタタイマ４１２を搭載している。この基本回路４０２のＣＰＵ４０４は、水晶発信器４１４が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。なお、ＲＯＭ４０６は、制御プログラムと各種演出データとを別々のＲＯＭに記憶させてもよい。
【００５０】
また、基本回路４０２には、スピーカ１２０（およびアンプ）の制御を行うための音源ＩＣ４１６と、各種ランプ４１８（例えば、チャンスボタンランプ１３８）の制御を行うための駆動回路４２０と、遮蔽装置２４６の駆動制御を行うための駆動回路４３２と、遮蔽装置２４６の現在位置を検出する遮蔽装置センサ４３０と、チャンスボタン１３６の押下を検出するチャンスボタン検出センサ４２６と、遮蔽装置センサ４３０やチャンスボタン検出センサ４２６からの検出信号を基本回路４０２に出力するセンサ回路４２８と、ＣＰＵ４０４からの信号に基づいてＲＯＭ４０６に記憶された画像データ等を読み出してＶＲＡＭ４３６のワークエリアを使用して表示画像を生成して装飾図柄表示装置２０８に画像を表示するＶＤＰ４３４（ビデオ・ディスプレイ・プロセッサー）と、を接続している。
【００５１】
次に、パチンコ機１００の第２副制御部５００について説明する。第２副制御部５００は、第１副制御部４００が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第２副制御部５００の全体を制御する基本回路５０２を備えており、この基本回路５０２は、ＣＰＵ５０４と、一時的にデータを記憶するためのＲＡＭ５０８と、各種デバイスの入出力を制御するためのＩ／Ｏ５１０と、時間や回数等を計測するためのカウンタタイマ５１２を搭載している。基本回路５０２のＣＰＵ５０４は、水晶発振器５１４が出力する所定周期のクロック信号をシステムクロックとして入力して動作し、第２副制御部５００の全体を制御するための制御プログラム及びデータ、画像表示用のデータ等が記憶されたＲＯＭ５０６が設けられている。
【００５２】
また、基本回路５０２には、演出可動体２２４の駆動制御を行うための駆動回路５１６と、演出可動体２２４の現在位置を検出する演出可動体センサ４２４と、演出可動体センサ４２４からの検出信号を基本回路５０２に出力するセンサ回路５１８と、遊技盤用ランプ５３２の制御を行うための遊技盤用ランプ駆動回路５３０と、遊技台枠用ランプ５４２の制御を行うための遊技台枠用ランプ駆動回路５４０と、遊技盤用ランプ駆動回路５３０と遊技台枠用ランプ駆動回路５４０との間でシリアル通信による点灯制御を行うシリアル通信制御回路５２０と、を接続している。
【００５３】
＜払出制御部、発射制御部、電源制御部＞
次に、パチンコ機１００の払出制御部６００、発射制御部６３０、電源制御部６６０について説明する。
【００５４】
払出制御部６００は、主に主制御部３００が送信したコマンド等の信号に基づいて払出装置１５２の払出モータ６０２を制御すると共に、払出センサ６０４が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部６０６を介して、パチンコ機１００とは別体で設けられたカードユニット６０８との通信を行う。
【００５５】
発射制御部６３０は、払出制御部６００が出力する、発射許可または停止を指示する制御信号や、球発射ハンドル１３４内に設けた発射強度出力回路が出力する、遊技者による球発射ハンドル１３４の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆１４６および発射槌１４８を駆動する発射モータ６３２の制御や、上皿１２６から発射装置１１０に球を供給する球送り装置６３４の制御を行う。
【００５６】
電源制御部６６０は、パチンコ機１００に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部３００、第１副制御部４００等の各制御部や払出装置１５２等の各装置に供給する。さらに、電源制御部６６０は、外部からの電源が断たれた後も所定の部品（例えば主制御部３００のＲＡＭ３０８等）に所定の期間（例えば１０日間）電源を供給するための蓄電回路（例えば、コンデンサ）を備えている。なお、本実施形態では、電源制御部６６０から払出制御部６００と第２副制御部５００に所定電圧を供給し、払出制御部６００から主制御部３００と第２副制御部５００と発射制御部６３０に所定電圧を供給しているが、各制御部や各装置に他の電源経路で所定電圧を供給してもよい。
【００５７】
＜図柄の種類＞
次に、図５（ａ）〜（ｃ）を用いて、パチンコ機１００の第１特別図柄表示装置２１２、第２特別図柄表示装置２１４、装飾図柄表示装置２０８、普通図柄表示装置２１０が停止表示する特図および普図の種類について説明する。同図（ａ）は特図の停止図柄態様の一例を示したものである。
【００５８】
第１特図始動口２３０に球が入球したことを第１始動口センサが検出したことを条件として特図１変動遊技が開始され、第２特図始動口２３２に球が入球したことを第２始動口センサが検出したことを条件として特図２変動遊技が開始される。特図１変動遊技が開始されると、第１特別図柄表示装置２１２は、７個のセグメントの全点灯と、中央の１個のセグメントの点灯を繰り返す「特図１の変動表示」を行う。また、特図２変動遊技が開始されると、第２特別図柄表示装置２１４は、７個のセグメントの全点灯と、中央の１個のセグメントの点灯を繰り返す「特図２の変動表示」を行う。これらの「特図１の変動表示」および「特図２の変動表示」が本発明にいう図柄の変動表示の一例に相当する。そして、特図１の変動開始前に決定した変動時間（本発明にいう変動時間が相当）が経過すると、第１特別図柄表示装置２１２は特図１の停止図柄態様を停止表示し、特図２の変動開始前に決定した変動時間（これも本発明にいう変動時間が相当）が経過すると、第２特別図柄表示装置２１４は特図２の停止図柄態様を停止表示する。したがって、「特図１の変動表示」を開始してから特図１の停止図柄態様を停止表示するまで、あるいは「特図２の変動表示」を開始してから特図２の停止図柄態様を停止表示するまでが本発明にいう図柄変動停止表示の一例に相当し、以下、この「特図１又は２の変動表示」を開始してから特図１又は２の停止図柄態様を停止表示するまでの一連の表示を図柄変動停止表示と称する。後述するように、図柄変動停止表示は複数回、連続して行われることがある。同図（ａ）には、図柄変動停止表示における停止図柄態様として「特図Ａ」から「特図Ｊ」までの１０種類の特図が示されており、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
【００５９】
「特図Ａ」は１５ラウンド（１５Ｒ）特別大当り図柄であり、「特図Ｂ」は１５Ｒ大当り図柄である。本実施形態のパチンコ機１００では、後述するように、特図変動遊技における大当りか否かの決定はハードウェア乱数の抽選によって行い、特別大当りか否かの決定はソフトウェア乱数の抽選によって行う。大当りと特別大当りの違いは、次回の特図変動遊技で、大当りに当選する確率が高い（特別大当り）か低い（大当り）かの違いである。以下、この大当りに当選する確率が高い状態のことを特図高確率状態と称し、その確率が低い状態のことを特図低確率状態と称する。また、１５Ｒ特別大当り遊技終了後および１５Ｒ大当り遊技終了後はいずれも時短状態に移行する。時短については詳しくは後述するが、時短状態に移行する状態のことを普図高確率状態と称し、時短状態に移行しない状態のことを普図低確率状態と称する。１５Ｒ特別大当り図柄である「特図Ａ」は、特図高確率普図高確率状態であり、１５Ｒ大当り図柄である「特図Ｂ」は、特図低確率普図高確率状態である。これらの「特図Ａ」および「特図Ｂ」は、遊技者に付与する利益量が相対的に大きな利益量になる図柄である。
【００６０】
「特図Ｃ」は突然確変と称される２Ｒ大当り図柄であり、特図高確率普図高確率状態である。すなわち、１５Ｒである「特図Ａ」と比べて、「特図Ｃ」は２Ｒである点が異なる。「特図Ｄ」は突然時短と称される２Ｒ大当り図柄であり、特図低確率普図高確率状態である。すなわち、１５Ｒである「特図Ｂ」と比べて、「特図Ｄ」は２Ｒである点が異なる。
【００６１】
「特図Ｅ」は隠れ確変と称される２Ｒ大当り図柄であり、特図高確率普図低確率状態である。「特図Ｆ」は突然通常と称される２Ｒ大当り図柄であり、特図低確率普図低確率状態である。これら「特図Ｅ」および「特図Ｆ」はいずれも、２Ｒであるとともに、時短状態に移行しない状態である。
【００６２】
「特図Ｇ」は第１小当り図柄であり、「特図Ｈ」は第２小当り図柄であり、何れも特図低確率普図低確率状態である。ここにいう小当りは、２Ｒ時短無し大当りと同じものに相当する。すなわち、この「特図Ｇ」、「特図Ｈ」は「特図Ｆ」と同じ状態であるが、両者では装飾図柄表示装置２０８に表示される演出が異なり、あえて、同じ状態でも「特図Ｇ」、「特図Ｈ」と「特図Ｆ」を設けておくことで、遊技の興趣を高めている。
【００６３】
また、「特図Ｉ」は第１はずれ図柄であり、「特図Ｊ」は第２はずれ図柄であり、遊技者に付与する利益量が相対的に小さな利益量になる図柄である。
【００６４】
なお、本実施形態のパチンコ機１００には、１５Ｒ特別大当り図柄として「特図Ａ」以外の図柄も用意されており、１５Ｒ大当り図柄等の他の図柄についても同様である。
【００６５】
図５（ｂ）は装飾図柄の一例を示したものである。本実施形態の装飾図柄には、「装飾１」〜「装飾１０」の１０種類がある。第１特図始動口２３０または第２特図始動口２３２に球が入賞したこと、すなわち、第１特図始動口２３０に球が入球したことを第１始動口センサが検出したこと、あるいは第２特図始動口２３２に球が入球したことを第２始動口センサが検出したことを条件にして、装飾図柄表示装置２０８の左図柄表示領域２０８ａ、中図柄表示領域２０８ｂ、右図柄表示領域２０８ｃの各図柄表示領域に、「装飾１」→「装飾２」→「装飾３」→・・・・「装飾９」→「装飾１０」→「装飾１」→・・・の順番で表示を切り替える「装飾図柄の変動表示」を行う。そして、「特図Ｂ」の１５Ｒ大当りを報知する場合には、図柄表示領域２０８ａ〜２０８ｃに１５Ｒ大当りに対応する、同じ装飾図柄が３つ並んだ図柄組合せ（例えば「装飾１−装飾１−装飾１」や「装飾２−装飾２−装飾２」等）を停止表示する。「特図Ａ」の１５Ｒ特別大当りを報知する場合には、同じ奇数の装飾図柄が３つ並んだ図柄組合せ（例えば「装飾３−装飾３−装飾３」や「装飾７−装飾７−装飾７」等）を停止表示する。
【００６６】
また、「特図Ｅ」の隠れ確変と称される２Ｒ大当り、「特図Ｆ」の突然通常と称される２Ｒ大当り、あるいは「特図Ｇ」の第１小当り、「特図Ｈ」の第２小当りを報知する場合には、「装飾１−装飾２−装飾３」を停止表示する。さらに、「特図Ｃ」の突然確変と称される２Ｒ大当り、あるいは「特図Ｄ」の突然時短と称される２Ｒ大当りを報知する場合には、「装飾１−装飾３−装飾５」を停止表示する。一方、「特図Ｉ」の第１はずれ、「特図Ｊ」の第２はずれを報知する場合には、図柄表示領域２０８ａ〜２０８ｃに同図（ｂ）に示す図柄組合せ以外の図柄組合せを停止表示する。
【００６７】
図５（ｃ）は普図の停止表示図柄の一例を示したものである。本実施形態の普図の停止表示態様には、当り図柄である「普図Ａ」と、外れ図柄である「普図Ｂ」の２種類がある。普図始動口２２８を球が通過したことを上述のゲートセンサが検出したことに基づいて、普通図柄表示装置２１０は、７個のセグメントの全点灯と、中央の１個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図Ａ」を停止表示し、普図変動遊技の外れを報知する場合には「普図Ｂ」を停止表示する。この同図（ｃ）においても、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
【００６８】
＜主制御部の基本回路＞
次に、上述の主制御部３００の基本回路３０２について詳細に説明する。図６は、主制御部３００から基本回路３０２の主要部のみを抜き出して示した図である。
【００６９】
主制御部３００の基本回路３０２は、主制御部３００全体の制御を行うＣＰＵ３０４と、ＣＰＵ３０４が実行する制御プログラムやＣＰＵ３０４が参照する各種データを記憶するためのＲＯＭ３０６と、ＣＰＵ３０４が一時的にデータを記憶するためのＲＡＭ３０８と、を有している。
【００７０】
＜主制御部のＣＰＵの内蔵レジスタ＞
ＣＰＵ３０４は、カウンタ回路、タイマ回路、シリアル通信回路、乱数回路、演算回路、リセット／割込みコントローラ等を制御するための制御レジスタのほか、ＣＰＵ３０４が制御プログラムを実行する際に使用するレジスタなどの内蔵レジスタを備える。内蔵レジスタには、本発明の特徴点の一つであるＴレジスタ（特殊レジスタ）と、汎用レジスタと、プログラムカウンタ（ＰＣ）、命令レジスタ等が含まれる。汎用レジスタの種類は特に限定されないが、本実施形態では、Ｉレジスタ、Ａレジスタ、Ｆレジスタ、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタの８ビットレジスタを備えており、ＢレジスタとＣレジスタ、ＤレジスタとＥレジスタ、ＨレジスタとＬレジスタは、それぞれ、１６ビット長の演算が可能なＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタの１６ビットレジスタ（ペアレジスタ）としても機能するように構成されている。
【００７１】
また、本実施形態では、内蔵デバイスが出力する割込みベクタ（所定のデバイスから読み込んだ割込みベクタ）の値を下位８ビット、Ｉレジスタ（割込みベクタレジスタ、インタラプトレジスタ）の内容を上位８ビットとした合計１６ビットのアドレスを、割込処理のアドレスとして読み込んで、後述する割込処理に分岐（ジャンプ）するように構成している。例えば、Ｉレジスタの値が００Ｈ、割込みベクタの値が６０Ｈのときに割込処理の要求が発生した場合には、００６０Ｈ（上位バイトがＩレジスタの００Ｈ、下位バイトが割込みベクタの６０Ｈ）で示されるアドレスに記憶された値（例えば、１２Ｈ）を下位バイト、続く００６１Ｈで示されるアドレスに記憶された値（例えば、０４Ｈ）を上位バイトとする２バイトのアドレス（例えば、０４１２Ｈ）がＰＣにロードされ、このアドレスを先頭アドレスとする割込処理に分岐（ジャンプ）するように構成している。
【００７２】
Ｆレジスタは、命令が実行されると、その実行結果に従ってＦレジスタ内のビット７から順にＳフラグ（サインフラグ）、Ｚフラグ（ゼロフラグ）、ＳＺフラグ（セカンドゼロフラグ）、Ｈフラグ（ハーフキャリフラグ）、ビット３（空きビット）、Ｐ／Ｖフラグ（パリティ／オーバーフローフラグ）、Ｎフラグ（サブトラクトフラグ）、Ｃフラグ（キャリーフラグ）の各フラグが、１または０に変化したり、あるいは変化しなかったりする。ＳＺフラグは、Ｚフラグが変化する命令ではＺフラグ同様に変化するとともに、Ｚ８０互換命令の全てのＬＤ命令、全ての１６ビット算術演算命令（ＩＮＣ命令、ＤＥＣ命令も含む）、ローテートシフト命令のＲＬＣＡ命令、ＲＬＡ命令、ＲＲＣＡ命令、ＲＲＡ命令、「ＩＮ  Ａ，（ｎ）」命令で変化する。
【００７３】
なお、１６ビット演算命令のＡＤＣ命令、ＳＢＣ命令は、Ｚフラグが変化し、他の命令ではＺフラグは変化せず、１６ビット演算命令の全てでＳＺフラグは変化する。また、「ＩＮ  Ａ，（ｎ）」命令は、ＳＺフラグが変化し、Ｚフラグが変化しない。Ｆレジスタ内のＳＺフラグや空きビットの位置は上記したビット以外のビットであってもよい。なお、後述する特殊命令の場合にＳＺフラグが変化しないようにしてもよい。
【００７４】
また、本実施形態では、Ａ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌの各汎用レジスタ（主レジスタ）に対応する補助レジスタ（裏レジスタ）として、Ａ´、Ｆ´、Ｂ´、Ｃ´、Ｄ´、Ｅ´、Ｈ´、Ｌ´の各汎用レジスタを備えているが、特殊レジスタであるＴレジスタのみ補助レジスタを備えていない。よって、Ｔレジスタの使用用途は限定され、Ｔレジスタの使用頻度は汎用レジスタに比べて低くなるため、不用意にＴレジスタの値が書き換えられてしまうような事態（Ｔレジスタの内容が破壊されてしまうような事態）を未然に防止できる場合がある。なお、補助レジスタの値は各種命令によって直接読み書きすることができず、特殊な交換命令（ＥＸ命令、ＥＸＸ命令）によって主レジスタの値と補助レジスタの値を交換することのみが許されている。ここでは、説明の便宜上、レジスタの値をＰＵＳＨ命令・ＰＯＰ命令等の命令で変更し易いレジスタを汎用レジスタとしたが、これに限らず、Ａレジスタ（アキュムレータ）とＦレジスタ（フラグレジスタ）など特別な役割を持つレジスタを汎用レジスタに含めなくてもよい。
【００７５】
また、ここでは、ＴレジスタをＣＰＵ３０４に内蔵する例を示したが、例えば、ＣＰＵ３０４の外部に設けてもよいし、ＣＰＵ３０４とは別体のＲＡＭ３０８の一部に設けてもよい。すなわち、Ｔレジスタは、制御プログラムを記憶するための記憶手段（本実施形態ではＲＯＭ３０６）と物理的に異なる場所に設けられていることが好ましい。さらには、Ｔレジスタに（後述する）特定の値を書き込む処理を行う制御部と、ＲＯＭ３０６から制御プログラムを読み出して遊技制御を行う制御部と、が異なることが好ましい。制御部を異ならせることで、制御プログラムの改造と特定の値の不正取得の両方を行うことを困難にすることができるためである。
【００７６】
＜主制御部のＣＰＵのメモリ空間とＩ／Ｏ空間＞
次に、図７を用いて、主制御部３００のＣＰＵ３０４のメモリ空間とＩ／Ｏ空間について説明する。なお、同図（ａ）はＣＰＵ３０４のメモリマップを示した図であり、同図（ｂ）はＣＰＵ３０４のＩ／Ｏマップを示した図である。
【００７７】
主制御部３００のＣＰＵ３０４は、上述の内蔵レジスタ、ＲＯＭ３０６、ＲＡＭ３０８などにアクセスするためのメモリ空間と、上述のＩ／Ｏ３１０との間で制御信号の入出力を行うためのＩ／Ｏ空間を有している。具体的には、同図（ａ）のメモリマップに示すように、主制御部３００のＲＯＭ３０６のアドレス／データ信号線は、メモリ空間のＲＯＭ領域（本実施形態では、００００Ｈ〜２ＦＦＦＨ（Ｈは１６進数を示す。以下、同じ）のうち、００００Ｈ〜２ＦＢＦＨ。２ＦＣ０Ｈ〜２ＦＦＦＨはプログラム管理エリア）に割り当てられ、ＣＰＵ３０４は、このＲＯＭ領域を指定してＲＯＭ３０６からのデータの読み出しを行う。また、本実施形態では、ＲＯＭ領域を第一領域〜第八領域の８つの領域に分けて管理を行っており、第一領域は００００Ｈから始まる領域としている。
【００７８】
また、内蔵レジスタのアドレス／データ信号線は、メモリ空間のレジスタエリア（本実施形態では、ＦＥ００Ｈ〜ＦＥＢＦＨ）に割り当てられ、ＣＰＵ３０４は、このレジスタエリアを介して内蔵レジスタからのデータの読み出しやレジスタへのデータの書き込みを行う。
【００７９】
また、ＲＡＭ３０８のアドレス／データ信号線は、メモリ空間のＲＷＭ領域（本実施形態では、Ｆ０００Ｈ〜Ｆ３ＦＦＨ）に割り当てられ、ＣＰＵ３０４は、このＲＷＭ領域を指定してＲＡＭ３０８からのデータの読み出しやＲＡＭ３０８へのデータの書き込みを行う。なお、メモリ空間の他の領域（本実施形態では、３０００Ｈ〜ＥＦＦＦＨ、Ｆ４００Ｈ〜ＦＤＦＦＨ、ＦＥＣ０Ｈ〜ＦＦＦＦＨ）は非使用領域とされている。
【００８０】
また、同図（ｂ）のＩ／Ｏマップに示すように、主制御部３００のＩ／Ｏ３１０は、Ｉ／Ｏ空間のワークエリア（本実施形態では、００Ｈ〜ＢＦＨ）に割り当てられ、ＣＰＵ３０４は、このＩ／Ｏ空間を介して、Ｉ／Ｏ３１０との間で制御信号の入出力を行う。なお、Ｉ／Ｏ空間の他の領域（本実施形態では、Ｃ０Ｈ〜ＦＦＨ）は非使用領域とされている。
【００８１】
＜初期化処理＞
次に、図８を用いて、主制御部３００の初期化処理について説明する。なお、同図は初期化処理の流れを示すフローチャートである。
【００８２】
上述したように、主制御部３００には、電源が投入されると起動信号（システムリセット信号）を出力する起動信号出力回路（リセット信号出力回路）３４０を設けている。この起動信号を入力した基本回路３０２のＣＰＵ３０４は、後述するセキュリティモードまたはユーザモードに移行する前に、この初期化処理を実行する。
【００８３】
具体的には、ステップＳ５１では、ＣＰＵ３０４に内蔵されたＴレジスタに、特定の値（本実施形態では、上述のＲＷＭ領域の先頭アドレスＦ０００Ｈの上位バイトであるＦ０Ｈ）を記憶する。ステップＳ５２では、Ｔレジスタ以外の他のレジスタに初期値をセットした後にステップＳ５３に進み、後述する主制御部メイン処理を実行する。
【００８４】
なお、Ｔレジスタに記憶する特定の値はＦ０Ｈに限定されないことは言うまでもなく、例えば、上述のレジスタエリアの先頭アドレス（本実施形態ではＦＥ００Ｈ）の上位バイトであるＦＥＨをＴレジスタに記憶するように構成すれば、後述するＲＡＭ３０８へのアクセスと同様の原理で、内蔵レジスタへのアクセス効率を高めることができる場合がある。また、第一のタイミングではＴレジスタにＲＷＭ領域の先頭アドレスの上位バイトを設定し、その後（または、その前）の第二のタイミングでＴレジスタにレジスタエリアの先頭アドレスの上位バイトを設定するように構成してもよい。また、所定条件が成立している場合（例えば、所定の端子にＬレベルの信号が入力されている場合）にはＴレジスタにＲＷＭ領域の先頭アドレスの上位バイトを設定し、所定条件が成立していない場合には、Ｔレジスタにレジスタエリアの先頭アドレスの上位バイトを設定するように構成してもよい。
【００８５】
また、この初期化処理において制御プログラムによらずに（自動的に）ＴレジスタにＲＷＭ領域の先頭アドレスの上位バイトを設定（または／およびＴレジスタにレジスタエリアの先頭アドレスの上位バイトを設定）し、この初期化処理後に制御プログラム（例えば、後述するステップＳ１０１の初期設定１処理、ステップＳ１０７の初期設定２処理、ステップＳ１１３の初期化処理など）によって（手動で）Ｔレジスタにレジスタエリアの先頭アドレスの上位バイトを設定（または／およびＴレジスタにＲＷＭ領域の先頭アドレスの上位バイトを設定）するように構成してもよい。
【００８６】
ここで、上述のリセット割込みには、システムリセット割込み（システムリセット端子に一定期間のリセット信号を入力するなど、外部イベントが要因となって行われるリセット割込み）と、ユーザリセット割込み（ユーザリセット端子に一定期間のリセット信号を入力するなど、外部イベントが要因となって行われるリセット割り込みや、ＷＤＴのタイムアウトや指定エリア外のアクセスなど、内部イベントが要因となって行われるリセット割込み）の２種類の割込みがある。システムリセット割込みによるリセットでは、制御レジスタや汎用レジスタを含む全ての内部回路が初期化され（例えば、レジスタに応じた初期値（例えばＩレジスタに００Ｈがセットされる））、ユーザリセット割込みによるリセットでは、内部回路の一部が初期化される。
【００８７】
図９は、システムリセット後の起動処理のタイムチャートである。システムリセット（ＸＳＲＳＴ端子に所定期間（例えば、システムクロックの４周期分の期間）以上のＬレベルの信号が入力された後にＨレベルの信号が入力された場合）による初期化処理を実行した後は、所定条件が成立している場合（例えば、所定の端子にＬレベルの信号が入力されている場合）はセキュリティモードに移行し、所定条件が成立していない場合はユーザモードに移行する。ここで、セキュリティモードは、ユーザプログラムの認証を行うモードである。具体的には、システムリセット入力時にユーザプログラムを基に計算された認証コードが正しいかどうかの再計算を行い、結果（セキュリティチェックの結果）がＯＫ（異常なし）の場合、このモードを終了して自動的にユーザモードに移行可能とし、セキュリティチェックの結果がＮＧ（異常あり）の場合、ＣＰＵ３０４が停止するように構成している。なお、認証コードは、ＲＯＭ書き込み時にユーザプログラム（以下、「制御プログラム」と称する場合がある）とともにＲＯＭ３０６に書き込まれる。
【００８８】
このセキュリティモードにおいてセキュリティチェックが終了した後、一定の期間の経過を待つ固定延長処理（以下、「固定遅延機能」ともいう）が終了したときにＸＲＳＴＯ端子からＨレベルのリセット出力を出力し、その後、ランダムな期間の経過を待つランダム延長処理（以下、「ランダム遅延機能」ともいう）が終了した場合にユーザモードに移行するように構成されている（固定延長処理とランダム延長処理を合わせて「セキュリティモード延長処理」や「セキュリティモード延長機能」ともいう）。ユーザモードは、ＲＯＭのリセットアドレス（上述のＲＯＭ領域の第一領域の先頭アドレスである００００Ｈ）からユーザプログラムを実行するモードであり、後述する主制御部メイン処理が開始される。なお、本実施形態では、ＣＰＵ３０４がユーザプログラムを実行する際に１回の処理（１ステート）で命令レジスタに読みこむデータのバイト長を１バイト（８ビット）長としているが、１ステート当りのデータ長は特に限定されず、例えば、１６ビット長や３２ビット長でもよい。
【００８９】
また、本実施形態では、上述の初期化処理はセキュリティモードやユーザモードへの移行前に（自動的に（制御プログラムによらずに））実行されるように構成しているが、セキュリティモードやユーザモードへの移行後に実行されるよう構成してもよい。また、リセットの種類（ユーザリセット割込みの場合には割込み要因の種類）によって、初期化処理の実行タイミングが異なるように構成してもよい。
【００９０】
具体的には、直前に発生したリセット要因を管理するためのレジスタ（内蔵レジスタのうちの一つである）を参照して、直前に発生したリセット要因が（１）システムリセットであるか否か、（２）ＷＤＴのタイムアウトによるユーザリセットであるか否か、（３）指定エリア外のアクセスによるユーザリセットであるか否か、を判定し、判定結果に応じて初期化処理の実行タイミングを決定するように構成してもよい。また、初期化処理でセットされる特定の値と初期値は、リセットの種類やレジスタの種類によって異なるように構成してもよい（例えば、汎用レジスタはシステムリセットでもユーザリセットでも初期値として００Ｈがセットされ、Ｔレジスタはシステムリセット時は特定の値としてＦ０Ｈがセットされるがユーザリセット時は初期化されないように構成してもよい）。
【００９１】
また、セキュリティモードの時間は、設定した時間分だけ延長することも、ランダムな時間分だけ延長することも可能である。ランダムな時間分だけ延長することにより、不正行為者はユーザプログラムの開始タイミングが狙いにくくなる場合がある。また、ユーザリセット（例えばＷＤＴのタイムアウトによるリセット）からユーザプログラムの実行開始までの時間をランダムな時間に設定可能な構成としてもよい。このような構成とすれば、ユーザプログラムの開始タイミングを狙った不正行為を未然に防止できる場合がある。
【００９２】
＜主制御部メイン処理＞
次に、図１０を用いて、主制御部３００のＣＰＵ３０４が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
【００９３】
ステップＳ１０１では、初期設定１を行う。この初期設定１では、ＣＰＵ３０４のスタックポインタ（ＳＰ）へのスタック初期値の設定（仮設定）、割込マスクの設定、Ｉ／Ｏ３１０の初期設定、ＲＡＭ３０８に記憶する各種変数の初期設定、ＷＤＴ３１４の起動やタイマアウト時間の設定、Ｔレジチェック処理（詳細は後述）等を行う。本実施形態では、ＷＤＴ３１４のタイムアウト時間として３２．８ｍｓに相当する数値を初期値として設定する。なお、ここでは、ＷＤＴ３１４の起動とタイムアウト時間の設定を、主制御部メイン処理のメインループに入る直前で行う例を示したが、例えば、上述の初期化処理など、他の処理の中で行ってもよい。また、ステップＳ１０３では、ＷＤＴ３１４のカウンタの値をクリアし、ＷＤＴ３１４による時間計測を再始動（リスタート）する。なお、ＷＤＴ３１４のクリア＆リスタートをメインループ開始直後に行う例を示したが、例えば、後述する主制御部タイマ割込処理の中で定期的に行ってもよい。
【００９４】
また、図示は省略するが、基本回路３０２は、ＷＤＴ３１４を制御するレジスタとして、スタートレジスタとクリアレジスタを備えている。スタートレジスタは、ＷＤＴ３１４の起動／停止を制御するための８ビット長のレジスタであり、ＷＤＴ３１４を起動するときには起動を指示する値（例えば、ＣＣＨ）を設定し（書き込み）、ＷＤＴ３１４を停止するときには停止を指示する値（例えば、３３Ｈ）を設定するように構成されている。
【００９５】
また、このスタートレジスタは、リセット時にプログラム管理エリアに「ソフトウェアによる起動」を設定（選択）したときに有効となるレジスタであり、その場合、停止を指示する値（例えば、３３Ｈ）が初期値として設定される。したがって、「ソフトウェアによる起動」を設定（選択）したときにＷＤＴ３１４を起動するためには、遊技制御プログラムによって（手動で）起動を指示する値（例えば、ＣＣＨ）を設定する必要がある。一方、リセット時に「ソフトウェアによる起動」を設定（選択）しなかったときは、スタートレジスタには、起動を指示する値（例えば、ＣＣＨ）が遊技制御プログラムによらずに（自動的に）初期値として設定され、遊技制御プログラムによらずに（自動的に）ＷＤＴ３１４が起動される。
【００９６】
クリアレジスタは、ＷＤＴ３１４のクリアとリスタートを制御するための８ビット長のレジスタであり、所定の第一の値（例えば、５５Ｈ）を設定した後に、所定の第二の値（例えば、ＡＡＨ）を設定したときにＷＤＴ３１４がクリアされ、直後にリスタートされる。なお、クリアレジスタの値を読み込んだときは、所定の固定値（例えば、ＦＦＨ）が読みだされる。また、詳細は後述するが、本実施形態では、ＣＰＵ３０４の所定記憶領域に、４ビット長の設定値データ００００Ｂ〜１０００Ｂのいずれかを予め設定することによって、ＷＤＴ３１４のタイムアウト時間を自由に設定できるように構成されている（図１１５参照）。なお、ＷＤＴが手動起動される前（停止された状態で）にクリアレジスタに第一の値、第二の値の順に値が設定されたとしてもＷＤＴ３１４は上記したクリアとリスタートの処理を実行しないように構成されている。
【００９７】
ステップＳ１０５では、低電圧信号がオンであるか否か、すなわち、電圧監視回路３３８が、電源制御部６６０から主制御部３００に供給している電源の電圧値が所定の値（本実施形態では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合（ＣＰＵ３０４が電源の遮断を検知した場合）にはステップＳ１０３に戻り、低電圧信号がオフの場合（ＣＰＵ３０４が電源の遮断を検知していない場合）にはステップＳ１０７に進む。なお、電源が投入された直後で未だ上記所定の値（９Ｖ）に達しない場合にもステップＳ１０３に戻り、供給電圧がその所定の値以上になるまで、ステップＳ１０５は繰り返し実行される。
【００９８】
ステップＳ１０７では、初期設定２を行う。この初期設定２では、後述する主制御部タイマ割込処理を定期毎に実行するための周期を決める数値をカウンタタイマ３１２に設定する処理、Ｉ／Ｏ３１０の所定のポート（例えば試験用出力ポート、第１副制御部４００への出力ポート）からクリア信号を出力する処理、ＲＡＭ３０８への書き込みを許可する設定等を行う。
【００９９】
ステップＳ１０９では、電源の遮断前（電断前）の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合（主制御部３００の基本回路３０２を初期状態にする場合）には初期化処理（ステップＳ１１３）に進む。
【０１００】
具体的には、最初に、電源基板に設けたＲＷＭクリアスイッチ１８０を遊技店の店員などが操作した場合に送信されるＲＡＭクリア信号がオン（操作があったことを示す）であるか否か、すなわちＲＡＭクリアが必要であるか否かを判定し、ＲＡＭクリア信号がオンの場合（ＲＡＭクリアが必要な場合）には、基本回路３０２を初期状態にすべくステップＳ１１３に進む。一方、ＲＡＭクリア信号がオフの場合（ＲＡＭクリアが必要でない場合）には、ＲＡＭ３０８に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路３０２を初期状態にすべくステップＳ１１３に進み、電源ステータスの情報がサスペンドを示す情報である場合には、ＲＡＭ３０８の所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値（例えば０）であるか否か（チェックサムの結果が正常であるか否か）を判定する。そして、チェックサムの結果が特定の値（例えば０）の場合（チェックサムの結果が正常である場合）には電断前の状態に復帰すべくステップＳ１１１に進み、チェックサムの結果が特定の値（例えば０）以外である場合（チェックサムの結果が異常である場合）には、パチンコ機１００を初期状態にすべくステップＳ１１３に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップＳ１１３に進む。
【０１０１】
ステップＳ１１１では、復電時処理を行う。この復電時処理では、電断時にＲＡＭ３０８に設けられたスタックエリアに記憶しておいたスタックポインタの値を読み出し、スタックポインタに再設定（本設定）する。また、後述するように、電断時にＲＡＭ３０８に設けられたレジスタ退避領域に記憶しておいた所定のレジスタの値を読み出し、これらのレジスタに再設定した後、割込許可（ＥＩ）の設定を行う。以降、ＣＰＵ３０４が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機１００は電源断時の状態に復帰する。すなわち、電断直前にタイマ割込処理（後述）に分岐する直前に行った（ステップＳ１１５内の所定の）命令の次の命令から処理を再開する。
【０１０２】
本実施形態に係るＣＰＵ３０４は、ＰＵＳＨ命令として、「ＰＵＳＨ  ＴＩ」命令、「ＰＵＳＨ  ＡＬＬ」命令、「ＰＵＳＨ  ＧＲＰ」命令を備えている。「ＰＵＳＨ  ＴＩ」命令は、Ｔ、Ｉレジスタに記憶されている値を上述のスタックエリアに退避させる命令であり、具体的には、ＰＵＳＨ命令実行時のスタックポインタをＳＰとした場合、ＰＵＳＨ命令実行時にＴレジスタに記憶されている値を、（ＳＰ−１）で示されるアドレスに退避させ、ＰＵＳＨ命令実行時にＩレジスタに記憶されている値を、（ＳＰ−２）で示されるアドレスに退避させる。また、「ＰＵＳＨ  ＡＬＬ」命令は、ＰＵＳＨ命令実行時にＴ、Ｉ、Ａ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌ、ＩＸＨ、ＩＸＬ、ＩＹＨ、ＩＹＬレジスタに記憶されている値を、この順番でスタックエリアに退避させる命令である。また、「ＰＵＳＨ  ＧＲＰ」命令は、ＰＵＳＨ命令実行時にＡ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタに記憶されている値を、この順番でスタックエリアに退避させる命令である。
【０１０３】
また、ＣＰＵ３０４は、ＰＯＰ命令として、「ＰＯＰ  ＴＩ」命令、「ＰＯＰ  ＡＬＬ」命令、「ＰＯＰ  ＧＲＰ」命令を備えている。「ＰＯＰ  ＴＩ」命令は、スタックエリアに記憶されている値をＴ、Ｉレジスタに復帰させる（ＲＡＭ３０８の記憶領域からＴ、Ｉレジスタにデータをロードする）命令であり、具体的には、ＰＯＰ命令実行時のスタックポインタをＳＰとした場合、ＰＯＰ命令実行時に（ＳＰ−１）で示されるアドレスに記憶されている値をＴレジスタに復帰させ、ＰＯＰ命令実行時に（ＳＰ−２）で示されるアドレスに記憶されている値をＩレジスタに復帰させる。また、「ＰＯＰ  ＡＬＬ」命令は、ＰＯＰ命令実行時にスタックエリアに記憶されている値を、Ｔ、Ｉ、Ａ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌ、ＩＸＨ、ＩＸＬ、ＩＹＨ、ＩＹＬレジスタに復帰させる命令である。また、「ＰＵＳＨ  ＧＲＰ」命令は、ＰＯＰ命令実行時にスタックエリアに記憶された値を、Ａ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタに復帰させる命令である。
【０１０４】
なお、Ｔレジスタをスタックエリアから復帰させるためには、「ＰＯＰ  ＴＩ」命令を使用する必要があるが、Ｉレジスタを使用しない場合でも、Ｉレジスタにもスタックエリアの値が復帰されてしまうことになる。このように、Ｔレジスタをオペランドとする命令の汎用性を無くすことによって（使い難くすることによって）、Ｔレジスタをオペランドとする命令が多用されることを未然に防ぐことができ、Ｔレジスタの値が不用意に書き替ってしまうような事態（Ｔレジスタの内容が破壊されてしまうような事態）を回避できる場合がある。
【０１０５】
また、ＣＰＵ３０４は、割込み要求の受付を許可する命令（ＥＩ命令）と、割込み要求の受付を禁止する命令（ＤＩ命令）を備えており、上述の「ＰＯＰ  ＴＩ」命令は、ＤＩ命令によって割込み要求の受付が禁止されている場合にのみ実行するように構成され、ＥＩ命令によって割込み要求の受付が許可されている場合に実行しないように構成されている。このように、割込み要求の受付が許可されている状態において「ＰＯＰ  ＴＩ」命令の実行しないように構成すれば、「ＰＯＰ  ＴＩ」命令の実行によって、割込みベクタレジスタやインタラプトレジスタとして機能するＩレジスタに、スタックエリアから予期しない値が復帰されてしまうおそれがなく、割込み処理を確実に実行することで信頼性の高い遊技制御を行うことができる場合がある。
【０１０６】
また、ＣＰＵ３０４は、上述の命令の他にも、８ビットロード（転送）命令、１６ビットロード（転送）命令、スタック操作命令（１６ビットロード命令の一種）、８ビット算術論理演算命令、１６ビット算術論理演算命令、乗算・除算命令、アキュムレータ操作命令、ＭＰＵコントロール命令、交換命令、ブロック転送命令、ブロックサーチ命令、ビット操作命令、ローテート・シフト命令、無条件ジャンプ命令・条件付きジャンプ命令、コール命令・リターン命令、入出力命令、複合命令などを備えている。
【０１０７】
本実施形態では、電断時には、「ＰＵＳＨ  ＧＲＰ」命令によってＴ、Ｉレジスタを含まない、Ａ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタの値をスタックエリアに退避（記憶）させ、復電時には、「ＰＯＰ  ＧＲＰ」命令によってＴ、Ｉレジスタを含まない、Ａ、Ｆ、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタの値をスタックエリアから復帰させるように構成しており、Ｔレジスタについては「ＰＵＳＨ  ＧＲＰ」命令による退避と「ＰＯＰ  ＧＲＰ」命令による復帰の両方ができないように構成している（これらの命令のオペランドとしてＴレジスタが指定できないように構成している）。また、本実施形態では、加算命令（ＩＮＣ命令）や減算命令（ＤＥＣ命令）のオペランドとしてもＴレジスタが指定できないように構成している。後述するように、ＴレジスタはＲＡＭ３０８へのアクセスにおいて重要な役割を果たす特殊レジスタであるが、コーディングミスなどによってＴレジスタに予期しない値が設定されてしまうような事態を確実に回避することができ、安定した遊技制御が可能である。また、ＴレジスタについてはＰＵＳＨ命令による退避とＰＯＰ命令による復帰の両方を行わないため、電断時や復帰時の処理を速めることができる場合がある。
【０１０８】
また、主制御部３００における基本回路３０２に搭載されているＲＡＭ３０８には、送信情報記憶領域が設けられている。このステップＳ１１１では、その送信情報記憶領域に、復電コマンドをセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部３００のタイマ割込処理におけるステップＳ２３３において、第１副制御部４００へ送信される。また、ステップＳ１１６では、ＲＡＭクリアの場合はＲＡＭクリアした後に、ＲＡＭクリアしない場合は各レジスタへデータを復帰させた後に、ＷＤＴ３１４の起動開始を行う。
【０１０９】
ステップＳ１１３では、初期化処理を行う。この初期化処理では、割込禁止（ＤＩ）の設定、スタックポインタへのスタック初期値の設定（本設定）、ＲＡＭ３０８の全ての記憶領域の初期化などを行う。さらにここで、主制御部３００のＲＡＭ３０８に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部３００の初期化処理（ステップＳ１１３）が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部３００のタイマ割込処理におけるステップＳ２３３において、第１副制御部４００へ送信される。また、ステップＳ１１４では、ＲＡＭクリアの場合はＲＡＭクリアした後に、ＲＡＭクリアしない場合は各レジスタへデータを復帰させた後に、ＷＤＴ３１４の起動開始を行う。
【０１１０】
ステップＳ１１５では、割込禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための２つの初期値生成用乱数カウンタと、普図タイマ乱数値、および特図タイマ乱数値それぞれを生成するための２つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が０〜１００とすると、ＲＡＭ３０８に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に１を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に１を加算した結果が１０１であれば０を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。なお、初期値生成用乱数カウンタは、後述するステップＳ２０７でも更新する。主制御部３００は、所定の周期ごとに開始するタイマ割込処理を行っている間を除いて、ステップＳ１１５の処理を繰り返し実行する。
【０１１１】
＜Ｔレジチェック処理＞
図１１（ａ）は、初期設定１で行うＴレジチェック処理の流れを示すフローチャートであり、同図（ｂ）は、Ｔレジチェック処理のプログラムリストの一例である。
【０１１２】
このＴレジチェック処理のステップＳ１３１では、Ｔレジスタの値をＡレジスタにセットし（ＬＤ  Ａ，Ｔ）、次のステップＳ１３２では、Ａレジスタの値が特定の値（Ｆ０Ｈ）に一致するか否かを判定し（ＳＵＢ  Ｆ０Ｈ、ＪＰ  Ｚ，ＳＥＩＪＹＯＵ）、一致しない場合（異常の場合；Ａレジスタの値から特定の値（Ｆ０Ｈ）を減算した値が０以外の値となりＺフラグが０になった場合）にはステップＳ１３３に進み、一致した場合（正常の場合；Ａレジスタの値から特定の値（Ｆ０Ｈ）を減算した値が０となりＺフラグが１になった場合）には、Ｔレジスタの値が正常であると判定してＴレジチェック処理を終了し、後続の処理に進む。ステップＳ１３３では、Ｔレジスタの値が異常であると判定してＴレジスタに特定の値（Ｆ０Ｈ）をセットした後に（ＬＤ  Ｔ，Ｆ０Ｈ）、Ｔレジチェック処理を終了して後続の処理に進む。
【０１１３】
なお、Ｔレジチェック処理は図１１に示す処理に限定されるものではなく、例えば、図１２に示すような処理でもよい。図１２（ａ）は、変形例に係るＴレジチェック処理の流れを示すフローチャートであり、同図（ｂ）は、変形例に係るＴレジチェック処理のプログラムリストの一例である。
【０１１４】
この変形例に係るＴレジチェック処理では、上記ステップＳ１３３の処理に替えて、ステップＳ１３５のエラー処理を行うように構成している。具体的には、ステップＳ１３２においてＡレジスタの値が特定の値（Ｆ０Ｈ）に一致しないと判定した場合（異常の場合；Ａレジスタの値から特定の値（Ｆ０Ｈ）を減算した値が０以外の値となりＺフラグが０になった場合）にはステップＳ１３５に進みエラー処理を行う（ＳＵＢ  Ｆ０Ｈ、ＪＰ  ＮＺ，ｍｏＥｒｒｏｒ）。このエラー処理の内容は特に限定されないが、例えば、無限ループに入って後続の主制御部メイン処理を実行しないように構成したり、後続の主制御部メイン処理において液晶表示装置やスピーカなどを用いてエラーを報知したりすることが考えられる。なお、Ｔレジチェック処理の実行タイミングは初期設定１に限らない。また、Ｔレジチェック処理の実行タイミングは初期設定１（ＷＤＴリスタート前、低電圧信号〜処理前）でのみ実行するようにしてもよい。
【０１１５】
＜ＬＤ命令＞
次に、主制御部３００が備えるＬＤ命令について説明する。ＬＤ命令（ＬＤ  ＯＰ１，ＯＰ２）は、第１オペランドＯＰ１で示されるレジスタに、第２オペランドＯＰ２で示されるレジスタに記憶された値（または、第２オペランドＯＰ２で示されるイミディエイト値（即値または直値ともいう。以下同じ）を記憶するための命令である。例えば、上述のＴレジチェック処理の実行前にＴレジスタにＦ０Ｈが記憶されている状態で「ＬＤ  Ａ，Ｔ」の命令を実行した場合、Ａレジスタには第２オペランドで示されるＴレジスタに記憶された値、すなわちＦ０Ｈが記憶される。また、「ＬＤ  Ａ，Ｆ０Ｈ」の命令を実行した場合にも、Ａレジスタには第２オペランドで示されるイミディエイト値、すなわちＦ０Ｈが記憶される。
【０１１６】
一方、第１オペランドＯＰ１をＴレジスタとするＬＤ命令では、第２オペランドはイミディエイト値に限定されており、第２オペランドにレジスタを設定することは禁止されている（機械語にアセンブルされる過程でエラーとなりアセンブルすることができない）。ＣＰＵ３０４用のアセンブラでエラーが発生するのは、ＣＰＵ３０４に当該命令が備えられていないからである。上記ＬＤ命令の場合と同様に、例えば既述のＴレジスタに関する「ＰＵＳＨ  ＧＲＰ」命令による退避と「ＰＯＰ  ＧＲＰ」命令による復帰の両方ができないように構成している（これらの命令のオペランドとしてＴレジスタが指定できないように構成している）というのは、アセンブリでエラーとなることであり、ＣＰＵ３０４用の命令のオペランドとして指定できない、つまり、ＣＰＵ３０４はＴレジスタに関し「ＰＵＳＨ  ＧＲＰ」命令と「ＰＯＰ  ＧＲＰ」命令を備えていないのである。
したがって、上述のＴレジチェック処理で説明したように、第２オペランドをイミディエイト値とするＬＤ命令（先の例では「ＬＤ  Ｔ，Ｆ０Ｈ」）のプログラミング（コーディング）は認められるが、第２オペランドにレジスタを設定するＬＤ命令（例えば「ＬＤ  Ｔ，Ａ」）のプログラミング（コーディング）は認められない。このように、第１オペランドＯＰ１をＴレジスタとするＬＤ命令では、Ｔレジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、Ｔレジスタに対して他のレジスタを介してデータを転送できないように構成されているので、Ｔレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。
【０１１７】
図１３はプログラムリストからＬＤ命令のみを抜き出して示した図である。この例では、５つのＬＤ命令を使用しているが、例えば、（４）のＬＤ命令「ＬＤ  Ｂ，Ａ」の実行後にＢレジスタに記憶される値についてデバッグでトレースを行う場合を考える。この場合、ＬＤ命令「ＬＤ  Ｂ，Ａ」の第２オペランドであるＡレジスタについて、プログラムリストを遡ってトレースすることが必要であるが、例えば、「ＬＤ  Ａ」という検索キーでプログラムリストの検索を行った場合、（１）のＬＤ命令「ＬＤ  Ａ，Ｂ」に加えて（３）のＬＤ命令「ＬＤ  Ａ，Ｈ」がヒットすることになる。すなわち、第１オペランドにＡレジスタを設定したＬＤ命令は、第２オペランドにレジスタを設定することと、第２オペランドをイミディエイト値とすることの両方が認められているため使用頻度が高く、コーディングの見直し作業や、デバッグ（例えば、Ａレジスタのトレースなど）の効率を低下させる一因となり得る。なお、ここでは、最も利用頻度が高いＡレジスタについて説明したが、Ｔレジスタを除く他のレジスタを利用した場合にも同様のことが言える。
【０１１８】
一方、第１オペランドにＴレジスタを設定したＬＤ命令は、第２オペランドにレジスタを設定することが禁止され、第２オペランドをイミディエイト値とすることのみが認められているため、Ａレジスタを利用したＬＤ命令よりも相対的に使用頻度が低く、コーディングの見直し作業や、デバッグ（例えば、Ｔレジスタのトレースなど）の効率を高めることが可能となり、制御プログラムの開発効率が向上する場合がある。なお、Ｔレジスタは、ＩＮＣ命令やＤＥＣ命令（算術論理演算命令）でＴレジスタの値を変化させることを可能にしてもよい。
【０１１９】
＜主制御部タイマ割込処理＞
次に、図１４を用いて、主制御部３００のＣＰＵ３０４が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
【０１２０】
主制御部３００は、所定の周期（本実施形態では約２ｍｓに１回）でタイマ割込信号を発生するカウンタタイマ３１２を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。なお、タイマ割込み周期は設定により適宜変更することが可能である。
【０１２１】
ステップＳ２０１では、タイマ割込開始処理を行う。このタイマ割込開始処理では、ＣＰＵ３０４の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
【０１２２】
ステップＳ２０３では、ＷＤＴ３１４のカウント値が初期設定値（本実施形態では３２．８ｍｓ）を超えてＷＤＴ割込が発生しないように（処理の異常を検出しないように）、ＷＤＴを定期的に（本実施形態では、主制御部タイマ割込の周期である約２ｍｓに１回）リスタートを行う。
【０１２３】
ステップＳ２０５では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、Ｉ／Ｏ３１０の入力ポートを介して、上述の前面枠扉開放センサや内枠開放センサや下皿満タンセンサ、各種の球検出センサを含む各種センサ３２０の検出信号を入力して検出信号の有無を監視し、ＲＡＭ３０８に各種センサ３２０ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前々回のタイマ割込処理（約４ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ３０８に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をＲＡＭ３０８に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理（約２ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ３０８に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
【０１２４】
また、ステップＳ２０５では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去３回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約２ｍｓという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップＳ２０５では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して２回記憶されている場合には、入賞があったと判定する。図４に示す主制御部３００のＲＯＭ３０６には、入賞判定パターン情報（本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報）が記憶されている。このステップＳ２０５では、各々の球検出センサにおいて過去３回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報（本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報）と一致した場合に、一般入賞口２２６、可変入賞口２３４、第１特図始動口２３０、および第２特図始動口２３２への入球、または普図始動口２２８の通過があったと判定する。すなわち、これらの入賞口２２６、２３４やこれらの始動口２３０、２３２、２２８への入賞があったと判定する。例えば、一般入賞口２２６への入球を検出する一般入賞口センサにおいて過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口２２６へ入賞があったと判定し、以降の一般入賞口２２６への入賞に伴う処理を行うが、過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口２２６への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部３００のＲＯＭ３０６には、入賞判定クリアパターン情報（本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報）が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去３回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。なお、入賞判定パターン情報は上記例に限らず適宜変更してもよい。例えば、入賞判定パターン情報として、前々回の１つ前の回での検出信号無し、前々回検出信号有り、前回検出信号有り、今回検出信号有りであってもよいし、前々回の１つ前の回での検出信号有り、前々回検出信号有り、前回検出信号有り、今回検出信号無しであってもよい。
【０１２５】
ステップＳ２０７およびステップＳ２０９では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップＳ１１５で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部３００で使用する、普図当選乱数値、特図１乱数値、および特図２乱数値をそれぞれ生成するための２つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が０〜１００とすると、ＲＡＭ３０８に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に１を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に１を加算した結果が１０１であれば０を元の乱数カウンタ記憶領域に記憶する。また、取得した値に１を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、０〜１００の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に１を加算した結果が、ＲＡＭ３０８に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値（例えば７）である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に１周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。また、普図当選乱数値生成用の乱数カウンタが次に１周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが１周したことを判定するための初期値記憶領域をＲＡＭ３０８に設けている。なお、本実施形態では特図１の乱数値を取得するためのカウンタと特図２の乱数値を取得するためのカウンタとを別に設けたが、同一のカウンタを用いてもよい。
【０１２６】
ステップＳ２１１では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部３００で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【０１２７】
ステップＳ２１３では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置２１０に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、第１特別図柄表示装置２１２に図柄を変動・停止表示する時間を計時するための特図１表示図柄更新タイマ、第２特図表示装置２１４に図柄を変動・停止表示する時間を計時するための特図２表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
【０１２８】
ステップＳ２１５では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口２２６、２３４や始動口２３０、２３２、２２８に入賞があった場合に、ＲＡＭ３０８に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、１を加算して、元の賞球数記憶領域に設定する。
【０１２９】
また、ステップＳ２１７では、入賞受付処理を行う。この入賞受付処理では、第１特図始動口２３０、第２特図始動口２３２、普図始動口２２８および可変入賞口２３４への入賞があったか否かを判定する。ここでは、ステップＳ２０５における入賞判定パターン情報と一致するか否かの判定結果を用いて判定する。第１特図始動口２３０へ入賞があった場合且つＲＡＭ３０８に設けた対応する保留数記憶領域が満タンでない場合、カウンタ回路３１８の当選用カウンタ値記憶用レジスタから値を特図１当選乱数値として取得するとともに特図１乱数値生成用の乱数カウンタから値を特図１乱数値として取得して対応する乱数値記憶領域に格納する。第２特図始動口２３２へ入賞があった場合且つＲＡＭ３０８に設けた対応する保留数記憶領域が満タンでない場合、カウンタ回路３１８の当選用カウンタ値記憶用レジスタから値を特図２当選乱数値として取得するとともに特図２乱数値生成用の乱数カウンタから値を特図２乱数値として取得して対応する乱数値記憶領域に格納する。普図始動口２２８へ入賞があった場合且つＲＡＭ３０８に設けた対応する保留数記憶領域が満タンでない場合、普図当選乱数値生成用の乱数カウンタから値を普図当選乱数値として取得して対応する乱数値記憶領域に格納する。可変入賞口２３４へ入賞があった場合には、可変入賞口用の入賞記憶領域に、可変入賞口２３４に球が入球したことを示す情報を格納する。
【０１３０】
ステップＳ２１９では、払出要求数送信処理を行う。なお、払出制御部６００に出力する出力予定情報および払出要求情報は、例えば１バイトで構成しており、ビット７にストローブ情報（オンの場合、データをセットしていることを示す）、ビット６に電源投入情報（オンの場合、電源投入後一回目のコマンド送信であることを示す）、ビット４〜５に暗号化のための今回加工種別（０〜３）、およびビット０〜３に暗号化加工後の払出要求数を示すようにしている。
【０１３１】
ステップＳ２２１では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの１つの処理を行う。例えば、普図変動表示の途中（上述する普図表示図柄更新タイマの値が１以上）における普図状態更新処理では、普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置２１０は普図の変動表示（普図変動遊技）を行う。
【０１３２】
また、普図変動表示時間が経過したタイミング（普図表示図柄更新タイマの値が１から０になったタイミング）における普図状態更新処理では、当りフラグがオンの場合には、当り図柄の表示態様となるように普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、外れ図柄の表示態様となるように普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行う。また、主制御部３００のＲＡＭ３０８には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯・消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置２１０は、当り図柄（図５（ｃ）に示す普図Ａ）および外れ図柄（図５（ｃ）に示す普図Ｂ）いずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間（例えば５００ｍ秒間）、その表示を維持するためにＲＡＭ３０８に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。
【０１３３】
また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）における普図状態更新処理では、ＲＡＭ３０８の設定領域に普図作動中を設定するとともに、所定の開放期間（例えば２秒間）、第２特図始動口２３２の羽根部材２３２ａの開閉駆動用のソレノイド（３３２）に、羽根部材２３２ａを開放状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
【０１３４】
また、所定の開放期間が終了したタイミング（羽根開放時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、所定の閉鎖期間（例えば５００ｍ秒間）、羽根部材の開閉駆動用のソレノイド３３２に、羽根部材を閉鎖状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
【０１３５】
また、所定の閉鎖期間が終了したタイミング（羽根閉鎖時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、ＲＡＭ３０８の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果が外れであれば、後述するように、普図外れフラグがオンされる。この普図外れフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）における普図状態更新処理でも、ＲＡＭ３０８の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップＳ２２３に移行するようにしている。
【０１３６】
ステップＳ２２３では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第２特図始動口２３２の開閉制御を行っておらず（普図の状態が非作動中）、且つ、保留している普図変動遊技の数が１以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはＲＡＭ３０８に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置２１０に普図を変動表示する時間を１つ選択し、この変動表示時間を、普図変動表示時間として、ＲＡＭ３０８に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、ＲＡＭ３０８に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から１を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
【０１３７】
次いで、特図１および特図２それぞれについての特図状態更新処理を行うが、最初に、特図２についての特図状態更新処理（特図２状態更新処理）を行う（ステップＳ２２５）。この特図２状態更新処理は、特図２の状態に応じて、次の８つの処理のうちの１つの処理を行う。例えば、特図２変動表示の途中（上述の特図２表示図柄更新タイマの値が１以上）における特図２状態更新処理では、第２特別図柄表示装置２１４を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、第２特別図柄表示装置２１４は特図２の変動表示（特図２変動遊技）を行う。また、コマンド設定送信処理（ステップＳ２３３）で回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。
【０１３８】
また、主制御部３００のＲＡＭ３０８の当否判定結果記憶領域には、１５Ｒ大当りフラグ、２Ｒ大当りフラグ、第１小当りフラグ、第２小当りフラグ、第１はずれフラグ、第２はずれフラグ、特図確率変動フラグ、および普図確率変動フラグそれぞれのフラグが用意されている。特図２変動表示時間が経過したタイミング（特図２表示図柄更新タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、１５Ｒ大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には図５（ａ）に示す特図Ａ、１５Ｒ大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図Ｂ、２Ｒ大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には特図Ｃ、２Ｒ大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図Ｄ、２Ｒ大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグはオンの場合には特図Ｅ、２Ｒ大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグもオフの場合には特図Ｆ、第１小当りフラグがオンの場合には特図Ｇ、第２小当りフラグがオンの場合には特図Ｈ、第１はずれフラグがオンの場合には特図Ｉ、第２はずれフラグがオンの場合には特図Ｉそれぞれの態様となるように、第２特別図柄表示装置２１４を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、ＲＡＭ３０８の設定領域に特図２停止表示中であることを表す設定を行う。この制御を行うことで、第２特別図柄表示装置２１４は、１５Ｒ特別大当り図柄（特図Ａ）、１５Ｒ大当り図柄（特図Ｂ）、突然確変図柄（特図Ｃ）、突然時短図柄（特図Ｄ）、隠れ確変図柄（特図Ｅ）、突然通常図柄（特図Ｆ）、第１小当り図柄（特図Ｇ）、第２小当り図柄（特図Ｈ）、第１はずれ図柄（特図Ｉ）、および第２はずれ図柄（特図Ｊ）のいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間（例えば５００ｍ秒間）その表示を維持するためにＲＡＭ３０８に設けた特図２停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図２が所定期間停止表示され、特図２変動遊技の結果が遊技者に報知される。また、ＲＡＭ３０８に設けられた時短回数記憶部に記憶された時短回数が１以上であれば、その時短回数から１を減算し、減算結果が１から０となった場合は、特図確率変動中（詳細は後述）でなければ、時短フラグをオフする。さらに、大当り遊技中（特別遊技状態中）にも、時短フラグをオフする。
【０１３９】
また、コマンド設定送信処理（ステップＳ２３３）で回転停止設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶するとともに、変動表示を停止する図柄が特図２であることを示す特図２識別情報を、後述するコマンドデータに含める情報としてＲＡＭ３０８に追加記憶してから処理を終了する。
【０１４０】
また、特図２変動遊技の結果が大当りであれば、後述するように、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング（特図２停止時間管理用タイマの値が１から０になったタイミング）における特図２状態更新処理では、ＲＡＭ３０８の設定領域に特図２作動中を設定するとともに、所定の入賞演出期間（例えば３秒間）すなわち装飾図柄表示装置２０８による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにＲＡＭ３０８に設けた特図２待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ２３３）で入賞演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【０１４１】
また、所定の入賞演出期間が終了したタイミング（特図２待機時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、所定の開放期間（例えば２９秒間、または可変入賞口２３４に所定球数（例えば１０球）の遊技球の入賞を検出するまで）可変入賞口２３４の扉部材２３４ａの開閉駆動用のソレノイド（３３２）に、扉部材２３４ａを開放状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ２３３）で大入賞口開放設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【０１４２】
また、所定の開放期間が終了したタイミング（扉開放時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、所定の閉鎖期間（例えば１．５秒間）可変入賞口２３４の扉部材２３４ａの開閉駆動用のソレノイド（３３２）に、扉部材２３４ａを閉鎖状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ２３３）で大入賞口閉鎖設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【０１４３】
また、この扉部材の開放・閉鎖制御を所定回数（本実施例では１５ラウンドか２ラウンド）繰り返し、終了したタイミングで開始する特図２状態更新処理では、所定の終了演出期間（例えば３秒間）すなわち装飾図柄表示装置２０８による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにＲＡＭ３０８に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、普図確率変動フラグがオンに設定されていれば、この大当り遊技の終了と同時に、ＲＡＭ３０８に設けられた時短回数記憶部に時短回数１００回をセットするともに、ＲＡＭ３０８に設けられた時短フラグをオンする。なお、その普図確率変動フラグがオフに設定されていれば、時短回数記憶部に時短回数をセットすることもなく、また時短フラグをオンすることもない。ここにいう時短とは、特図変動遊技における大当りを終了してから、次の大当りを開始するまでの時間を短くするため、パチンコ機が遊技者にとって有利な状態になることをいう。この時短フラグがオンに設定されていると、普図高確率状態である。普図高確率状態では普図低確率状態に比べて、普図変動遊技に大当りする可能性が高い。また、普図高確率状態の方が、普図低確率状態に比べて普図変動遊技の変動時間および特図変動遊技の変動時間は短くなる。さらに、普図高確率状態では普図低確率状態に比べて、第２特別始動口２３２の一対の羽根部材２３２ａの１回の開放における開放時間が長くなりやすい。加えて、普図高確率状態では普図低確率状態に比べて、一対の羽根部材２３２ａは多く開きやすい。また、上述のごとく、時短フラグは、大当り遊技中（特別遊技状態中）にはオフに設定される。したがって、大当り遊技中には、普図低確率状態が維持される。これは、大当り遊技中に普図高確率状態であると、大当り遊技中に可変入賞口２３４に所定の個数、遊技球が入球するまでの間に第２特図始動口２３２に多くの遊技球が入球し、大当り中に獲得することができる遊技球の数が多くなってしまい射幸性が高まってしまうという問題があり、これを解決するためのものである。
【０１４４】
さらに、コマンド設定送信処理（ステップＳ２３３）で終了演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【０１４５】
また、所定の終了演出期間が終了したタイミング（演出待機時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、ＲＡＭ３０８の設定領域に特図２非作動中を設定する。さらに、特図２変動遊技の結果が外れであれば、後述するように、はずれフラグがオンされる。このはずれフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング（特図２停止時間管理用タイマの値が１から０になったタイミング）における特図２状態更新処理でも、ＲＡＭ３０８の設定領域に特図２非作動中を設定する。特図２非作動中の場合における特図２状態更新処理では、何もせずに次のステップＳ２２７に移行するようにしている。
【０１４６】
続いて、特図１についての特図状態更新処理（特図１状態更新処理）を行う（ステップＳ２２７）。この特図１状態更新処理では、特図１の状態に応じて、上述の特図２状態更新処理で説明した各処理を行う。この特図１状態更新処理で行う各処理は、上述の特図２状態更新処理で説明した内容の「特図２」を「特図１」と読み替えた処理と同一であるため、その説明は省略する。なお、特図２状態更新処理と特図１状態更新処理の順番は逆でもよい。
【０１４７】
ステップＳ２２５およびステップＳ２２７における特図状態更新処理が終了すると、今度は、特図１および特図２それぞれについての特図関連抽選処理を行う。ここでも先に、特図２についての特図関連抽選処理（特図２関連抽選処理）を行い（ステップＳ２２９）、その後で、特図１についての特図関連抽選処理（特図１関連抽選処理）を行う（ステップＳ２３１）。これらの特図関連抽選処理についても、主制御部３００が特図２関連抽選処理を特図１関連抽選処理よりも先に行うことで、特図２変動遊技の開始条件と、特図１変動遊技の開始条件が同時に成立した場合でも、特図２変動遊技が先に変動中となるため、特図１変動遊技は変動を開始しない。また、装飾図柄表示装置２０８による、特図変動遊技の大当り判定の結果の報知は、第１副制御部４００によって行われ、第２特図始動口２３２への入賞に基づく抽選の抽選結果の報知が、第１特図始動口２３０への入賞に基づく抽選の抽選結果の報知よりも優先して行われる。
【０１４８】
ステップＳ２３３では、コマンド設定送信処理を行い、各種のコマンドが第１副制御部４００に送信される。なお、第１副制御部４００に送信する出力予定情報は例えば１６ビットで構成しており、ビット１５はストローブ情報（オンの場合、データをセットしていることを示す）、ビット１１〜１４はコマンド種別（本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、大当りラウンド数指定コマンド、復電コマンドなどコマンドの種類を特定可能な情報）、ビット０〜１０はコマンドデータ（コマンド種別に対応する所定の情報）で構成している。
【０１４９】
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、１５Ｒ大当りフラグや２Ｒ大当りフラグの値、特図確率変動フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、１５Ｒ大当りフラグや２Ｒ大当りフラグの値、特図確率変動フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、特図確率変動フラグの値などを含み、大当りラウンド数指定コマンドの場合であれば特図確率変動フラグの値、大当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第１特図始動口２３０への入賞の有無、第２特図始動口２３２への入賞の有無、可変入賞口２３４への入賞の有無などを含む。
【０１５０】
また、上述の回転開始設定送信処理では、コマンドデータにＲＡＭ３０８に記憶している、１５Ｒ大当りフラグや２Ｒ大当りフラグの値、特図確率変動フラグの値、特図１関連抽選処理および特図２関連抽選処理で選択したタイマ番号、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。上述の回転停止設定送信処理では、コマンドデータにＲＡＭ３０８に記憶している、１５Ｒ大当りフラグや２Ｒ大当りフラグの値、特図確率変動フラグの値などを示す情報を設定する。上述の入賞演出設定送信処理では、コマンドデータに、ＲＡＭ３０８に記憶している、入賞演出期間中に装飾図柄表示装置２０８・各種ランプ４１８・スピーカ１２０に出力する演出制御情報、特図確率変動フラグの値、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。上述の終了演出設定送信処理では、コマンドデータに、ＲＡＭ３０８に記憶している、演出待機期間中に装飾図柄表示装置２０８・各種ランプ４１８・スピーカ１２０に出力する演出制御情報、特図確率変動フラグの値、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。上述の大入賞口開放設定送信処理では、コマンドデータにＲＡＭ３０８に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。上述の大入賞口閉鎖設定送信処理では、コマンドデータにＲＡＭ３０８に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。また、このステップＳ２３３では一般コマンド特図保留増加処理も行われる。この一般コマンド特図保留増加処理では、コマンドデータにＲＡＭ３０８の送信用情報記憶領域に記憶している特図識別情報（特図１または特図２を示す情報）、予告情報（事前予告情報、偽事前予告情報、または事前予告無情報のいずれか）を設定する。
【０１５１】
第１副制御部４００では、受信した出力予定情報に含まれるコマンド種別により、主制御部３００における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
【０１５２】
ステップＳ２３５では、外部出力信号設定処理を行う。この外部出力信号設定処理では、ＲＡＭ３０８に記憶している遊技情報を、情報出力回路３３６を介してパチンコ機１００とは別体の情報入力回路３５０に出力する。
【０１５３】
ステップＳ２３７では、デバイス監視処理を行う。このデバイス監視処理では、ステップＳ２０５において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、所定のエラーの有無、例えば前面枠扉開放エラーの有無または下皿満タンエラーの有無などを監視し、前面枠扉開放エラーまたは下皿満タンエラーを検出した場合に、第１副制御部４００に送信すべき送信情報に、前面枠扉開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド３３２を駆動して第２特図始動口２３２や、可変入賞口２３４の開閉を制御したり、表示回路３２４、３２６、３３０を介して普通図柄表示装置２１０、第１特別図柄表示装置２１２、第２特別図柄表示装置２１４、各種状態表示部３２８などに出力する表示データを、Ｉ／Ｏ３１０の出力ポートに設定する。また、払出要求数送信処理（ステップＳ２１９）で設定した出力予定情報を出力ポート（Ｉ／Ｏ３１０）を介して第１副制御部４００に出力する。
【０１５４】
ステップＳ２３９では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ２４３に進み、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ２４１に進む。
【０１５５】
ステップＳ２４１では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップＳ２０１で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割込許可の設定などを行い、その後、主制御部メイン処理に復帰する。
【０１５６】
一方、ステップＳ２４３では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてＲＡＭ３０８の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。
【０１５７】
＜第１副制御部４００の処理＞
次に、図１５を用いて、第１副制御部４００の処理について説明する。なお、同図（ａ）は、第１副制御部４００のＣＰＵ４０４が実行するメイン処理のフローチャートである。同図（ｂ）は、第１副制御部４００のストローブ割込み処理のフローチャートである。同図（ｃ）は、第１副制御部４００のタイマ変数更新割込処理のフローチャートである。同図（ｄ）は、第１副制御部４００の画像制御処理のフローチャートである。
【０１５８】
まず、同図（ａ）のステップＳ３０１では、各種の初期設定を行う。電源投入が行われると、まずＳ３０１で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、ＲＡＭ４０８内の記憶領域の初期化処理等を行う。
【０１５９】
ステップＳ３０３では、タイマ変数が１０以上か否かを判定し、タイマ変数が１０となるまでこの処理を繰り返し、タイマ変数が１０以上となったときには、ステップＳ３０５の処理に移行する。ステップＳ３０５では、タイマ変数に０を代入する。
【０１６０】
ステップＳ３０７では、コマンド処理を行う。第１副制御部４００のＣＰＵ４０４は、主制御部３００からコマンドを受信したか否かを判別する。
【０１６１】
ステップＳ３０９では、演出制御処理を行う。例えば、Ｓ３０７で新たなコマンドがあった場合には、このコマンドに対応する演出データをＲＯＭ４０６から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。
【０１６２】
ステップＳ３１１では、チャンスボタンの押下を検出していた場合、ステップＳ３０９で更新した演出データをチャンスボタンの押下に応じた演出データに変更する処理を行う。ステップＳ３１３では、Ｓ３０９で読み出した演出データの中にＶＤＰ４３４への命令がある場合には、この命令をＶＤＰ４３４に出力する（詳細は後述）。
【０１６３】
ステップＳ３１５では、Ｓ３０９で読み出した演出データの中に音源ＩＣ４１６への命令がある場合には、この命令を音源ＩＣ４１６に出力する。ステップＳ３１７では、Ｓ３０９で読み出した演出データの中に各種ランプ４１８への命令がある場合には、この命令を駆動回路４２０に出力する。
【０１６４】
ステップＳ３１９では、Ｓ３０９で読み出した演出データの中に遮蔽装置２４６への命令がある場合には、この命令を駆動回路４３２に出力する。ステップＳ３２１では、Ｓ３０９で読み出した演出データの中に第２副制御部５００に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、Ｓ３０３へ戻る。
【０１６５】
次に、同図（ｂ）を用いて、第１副制御部４００のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第１副制御部４００が、主制御部３００が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップＳ４０１では、主制御部３００が出力したコマンドを未処理コマンドとしてＲＡＭ４０８に設けたコマンド記憶領域に記憶する。
【０１６６】
次に、同図（ｃ）を用いて、第１副制御部４００のＣＰＵ４０４によって実行する第１副制御部タイマ割込処理について説明する。第１副制御部４００は、所定の周期（本実施例では２ｍｓに１回）でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
【０１６７】
第１副制御部タイマ割込処理のステップＳ５０１では、第１副制御部メイン処理におけるステップＳ３０３において説明したＲＡＭ４０８のタイマ変数記憶領域の値に、１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ３０３において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。
【０１６８】
第１副制御部タイマ割込処理のステップＳ５０３では、ステップＳ３１９で設定された第２副制御部５００への制御コマンドの送信や、演出用乱数値の更新処理等を行う。
【０１６９】
次に、同図（ｄ）を用いて、第１副制御部４００のメイン処理におけるステップＳ３１３の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。
【０１７０】
ステップＳ６０１では、画像データの転送指示を行う。ここでは、ＣＰＵ４０４は、まず、ＶＲＡＭ４３６の表示領域Ａと表示領域Ｂの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された１フレームの画像が装飾図柄表示装置２０８に表示される。次に、ＣＰＵ４０４は、ＶＤＰ４３４のアトリビュートレジスタに、位置情報等テーブルに基づいてＲＯＭ座標（ＲＯＭ４０６の転送元アドレス）、ＶＲＡＭ座標（ＶＲＡＭ４３６の転送先アドレス）などを設定した後、ＲＯＭ４０６からＶＲＡＭ４３６への画像データの転送開始を指示する命令を設定する。ＶＤＰ４３４は、アトリビュートレジスタに設定された命令に基づいて画像データをＲＯＭ４０６からＶＲＡＭ４３６に転送する。その後、ＶＤＰ４３６は、転送終了割込信号をＣＰＵ４０４に対して出力する。
【０１７１】
ステップＳ６０３では、ＶＤＰ４３４からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップＳ６０５に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップＳ６０５では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、ＣＰＵ４０４は、ステップＳ６０１でＶＲＡＭ４３６に転送した画像データに基づいてＶＲＡＭ４３６の表示領域ＡまたはＢに表示画像を形成するために、表示画像を構成する画像データの情報（ＶＲＡＭ４３６の座標軸、画像サイズ、ＶＲＡＭ座標（配置座標）など）をＶＤＰ４３４に指示する。ＶＤＰ４３４はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。
【０１７２】
ステップＳ６０７では、描画指示を行う。この描画指示では、ＣＰＵ４０４は、ＶＤＰ４３４に画像の描画開始を指示する。ＶＤＰ４３４は、ＣＰＵ４０４の指示に従ってフレームバッファにおける画像描画を開始する。
【０１７３】
ステップＳ６０９では、画像の描画終了に基づくＶＤＰ４３４からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップＳ６１１に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップＳ６１１では、ＲＡＭ４０８の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント（＋１）して処理を終了する。
【０１７４】
＜第２副制御部５００の処理＞
次に、図１６を用いて、第２副制御部５００の処理について説明する。なお、同図（ａ）は、第２副制御部５００のＣＰＵ５０４が実行するメイン処理のフローチャートである。同図（ｂ）は、第２副制御部５００のコマンド受信割込処理のフローチャートである。同図（ｃ）は、第２副制御部５００のタイマ割込処理のフローチャートである。
【０１７５】
まず、同図（ａ）のステップＳ７０１では、各種の初期設定を行う。電源投入が行われると、まずＳ７０１で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、ＲＡＭ５０８内の記憶領域の初期化処理等を行う。
【０１７６】
ステップＳ７０３では、タイマ変数が１０以上か否かを判定し、タイマ変数が１０となるまでこの処理を繰り返し、タイマ変数が１０以上となったときには、ステップＳ７０５の処理に移行する。
【０１７７】
ステップＳ７０５では、タイマ変数に０を代入する。ステップＳ７０７では、コマンド処理を行う。第２副制御部５００のＣＰＵ５０４は、第１副制御部４００のＣＰＵ４０４からコマンドを受信したか否かを判別する。ステップＳ７０９では、演出制御処理を行う。例えば、Ｓ７０７で新たなコマンドがあった場合には、このコマンドに対応する演出データをＲＯＭ５０６から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。
【０１７８】
ステップＳ７１１では、第１副制御部４００からの遊技盤用ランプ５３２や遊技台枠用ランプ５４２への命令がある場合には、この命令をシリアル通信制御回路５２０に出力する。
【０１７９】
ステップＳ７１３では、第１副制御部４００からの演出可動体２２４への命令がある場合には、この命令を駆動回路５１６に出力し、Ｓ７０３に戻る。
次に、同図（ｂ）を用いて、第２副制御部５００のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第２副制御部５００が、第１副制御部４００が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップＳ８０１では、第１副制御部４００が出力したコマンドを未処理コマンドとしてＲＡＭ５０８に設けたコマンド記憶領域に記憶する。
【０１８０】
次に、同図（ｃ）を用いて、第２副制御部５００のＣＰＵ５０４によって実行する第２副制御部タイマ割込処理について説明する。第２副制御部５００は、所定の周期（本実施例では２ｍｓに１回）でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
【０１８１】
第２副制御部タイマ割込処理のステップＳ９０１では、第２副制御部メイン処理におけるステップＳ７０３において説明したＲＡＭ５０８のタイマ変数記憶領域の値に、１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ７０３において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。第２副制御部タイマ割込処理のステップＳ９０３では、演出用乱数値の更新処理等を行う。
【０１８２】
＜主制御部のＲＯＭ＞
次に、図１７を用いて、主制御部３００のＲＯＭ３０６に記憶されるデータの種類について説明する。なお、同図は、上述のＲＯＭ３０６に記憶されるデータの一例を示した図である。
【０１８３】
ＲＯＭ３０６の記憶領域に対応するＲＯＭ領域（本実施形態では、００００Ｈ〜２ＦＦＦＨの１６Ｋバイト領域）は、ＲＯＭ制御領域（本実施形態では、００００Ｈ〜０ＢＢ０Ｈ）、非使用領域（本実施形態では、０ＢＢ１Ｈ〜０ＦＦＦＨ）、ＲＯＭデータ領域（本実施形態では、１０００Ｈ〜１８ＦＤＨ）およびその他領域（本実施形態では、１８ＦＥＨ〜２ＦＦＦＨ）で構成されている。このＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域には、ＣＰＵ３０４が実行する複数種類の命令それぞれに対応する命令データ（オペコード）やＣＰＵ３０４がそれぞれの命令を実行するために必要な補足データ（オペランド）によって構成される制御プログラム用のデータ（単に、制御プログラムデータと称する場合がある）が記憶され、非使用領域に対応するＲＯＭ３０６の記憶領域には、特定値（本実施形態では、００Ｈ）が一律に記憶され、ＲＯＭデータ領域に対応するＲＯＭ３０６の記憶領域には、上記の制御プログラムによって参照される参照データ（例えば、上述の各種抽選データ）が記憶されている。また、その他領域に対応するＲＯＭ３０６の記憶領域には、制御プログラムを管理するための管理データ（例えば、制御プログラムデータの最終アドレスを示すデータ）などが記憶されている。なお、本実施形態では、ＲＯＭ領域の各々のアドレスに対応するＲＯＭ３０６の記憶領域には、１バイト（８ビット）のデータが記憶可能であり、上述の各データ（命令データ、補足データ、参照データ、管理データ）が１バイトを超えるバイト数（例えば、２バイト）のデータである場合には、ＲＯＭ制御領域の連続する複数のアドレスに対応するＲＯＭ３０６の記憶領域に１バイト毎に分割して記憶している。
【０１８４】
また、制御プログラムは、複数のサブルーチンによって構成されており、後述するＣＡＬＬ命令やＥＸＥＳＵＢ（ＥＸＥＣＵＴＥ  ＳＵＢＲＯＵＴＩＮＥ）命令などによってサブルーチンの先頭アドレスに移動して、当該サブルーチンを順次実行することが可能になっている。
【０１８５】
ところで、遊技台の分野では、制御プログラムの検査効率化の観点から、制御プログラムデータを記憶する記憶領域を制限する必要があり、本実施形態では、上述の通りＲＯＭ制御領域を００００Ｈ〜０ＢＢ０Ｈに制限している。また、不正改造の抑止の観点から、制御プログラムデータ間に非使用領域や非使用のデータを設けないようにＲＯＭ制御領域の若いアドレスに詰めて制御用プログラムデータを記憶する必要があるため、開発段階で非使用となった制御プログラムデータの記憶領域を埋めるために別の制御プログラムデータを分割して割り当てるなどの作業が発生し、結果としてサブルーチンを呼び出す制御プログラムデータが多数必要となってくる。さらに、制御プログラムの開発効率を向上させるためや、制御プログラムのデバッグ作業等のメンテナンス作業を簡便にするためにもサブルーチンを多用しているため、サブルーチンを呼び出す制御プログラムデータが多数必要となってくる。
【０１８６】
このような開発環境の中で遊技の興趣を高めることを可能にするためには、ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域に記憶されている従来の制御プログラムデータ（例えば、上述のサブルーチンを呼び出す制御プログラムデータ）を圧縮し、ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域に新しい制御プログラムデータを追加することが可能な記憶領域を確保することが必要となってくる。
【０１８７】
特に、所定の周期（例えば、１０ｍｓ）毎に所定の処理を実行するタイマ割込み処理を実行するための制御プログラムには、複数の遊技制御処理のうちランダムに発生する複数の外部情報（各センサの変化等）を検出する処理（例えば、入力ポート状態更新処理（ステップＳ２０５））や外部情報の検出結果に基づいた処理（例えば、デバイス監視処理（ステップＳ２３７））など多くのサブルーチンを呼び出すための制御プログラムデータが含まれているため、このタイマ割込み処理を実行するための制御プログラムに含まれるサブルーチンを呼び出す制御プログラムデータの圧縮が必要となってくる。
【０１８８】
また、安定した遊技制御をおこなえるようにするためには、上述のタイマ割込み処理を重点的に安定化させなければならない。具体的には、コーディングミスを抑止すること、所定の周期（例えば、１０ｍｓ）毎に所定の処理を実行させるために（リアルタイム性を確保するために）処理速度を向上させることなどが必須となるため、サブルーチンを呼び出す制御プログラムに関する工夫が必要となる（詳細は後述する）。
【０１８９】
＜主制御部の命令データ＞
次に、主制御部３００の命令データについて説明する。図１８は、主制御部３００の命令データの構成の一例を示した図である。また、図１９（ａ）は、主制御部３００の命令データの上位ビットと下位ビットを示した図であり、同図（ｂ）は、命令データテーブルの一例を示した図である。
【０１９０】
主制御部３００の命令データは、例えば、命令データが１バイト（８ビット）のデータによって構成される場合には、最大で２５６パターン定義することが可能である。なお、定義された命令データはＲＯＭ３０６に記憶されているものではなく、ＣＰＵ３０４にハード的に組み込まれているものである。また、１バイトの命令データについて、各々を上位４ビットと下位４ビットによって分類分けすると、上記パターンと命令データの関係性は、図１９（ｂ）に示される通りとなる。例えば、「ＩＮＣ  ＢＣ（ＢＣレジスタを１つ加算する命令）」に使用されるＩＮＣ（命令データ）は、上位ビット０Ｈ（００００Ｂ）、下位ビット３Ｈ（００１１Ｂ）に割り当てられ、「ＤＥＣ  Ｂ（Ｂレジスタを１つ減算する命令）」に使用されるＤＥＣ（命令データ）は、上位ビット０Ｈ（００００Ｂ）、下位ビット５Ｈ（０１０１Ｂ）に割り当てられている。
【０１９１】
なお、１バイト長で定義可能な２５６パターンの命令データを上回るパターン数の命令データを割り当てる方法として、例えば、上記１バイトで定義される２５６パターンのうち１パターンに対してさらに新たな１バイトで定義される２５６パターンを対応付けることで最大５１１パターン（２５５パターン（１バイトの命令データ）＋２５６パターン（２バイトの命令データ））の命令データを定義する方法があるが、拡張した命令データは、２バイトのデータによって構成されるため、この命令を使用すると、上述の１バイトの命令データを使用するよりもＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域を圧迫してしまう。
【０１９２】
そこで、本実施形態では、図１９（ｂ）の太線で囲った領域、すなわち、上位ビット１Ｈ（０００１Ｂ）と下位ビット８Ｈ（１０００Ｂ）〜ＦＨ（１１１１Ｂ）の組合せと、上位ビット３Ｈ（００１１Ｂ）と下位ビット８Ｈ（１０００Ｂ）〜ＦＨ（１１１１Ｂ）の組合せからなる領域を、後述するＥＸＥＳＵＢ命令を割り当てるための特別な領域としている。このように、従来、命令データが割り当てられていない、または、割り当てられていた命令データが削除された空き領域を特別な領域として利用することで、限られたハードウェア資源（例えば、１バイトで定義可能なパターン（２５６パターン））を有効利用することができ、命令データによるＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域の圧迫を抑制することができる。
【０１９３】
また、命令データは、アセンブル後の機械語のチェックを簡便にするためにも役割ごとにグループ化（一の上位ビットに対して連続する複数の下位ビットの組合せからなる領域、または、一の下位ビットに対して連続する複数の上位ビットの組合せからなる領域に、同系統の役割を持つ命令データを割り当てる）して命令データテーブルに割り当てている（例えば、上位ビット８Ｈ（１０００Ｂ）と下位ビット０Ｈ（００００Ｂ）〜７Ｈ（０１１１Ｂ）の組合せで定義される部分におけるＡＤＤ命令）。近年では、チップの開発負担を軽減するため、従来の命令データテーブルに割り当てている命令データの削減、または削減した命令データを割り当てていた部分への新たな命令データを追加するなどしてチップの開発を行う。このため、アセンブル後の機械語のチェックを簡便にしつつも、データ圧縮のために命令データを新たに追加する際には、追加する同系統の命令データをグループにして割り当てていく必要があり、本実施形態では、ＥＸＥＳＵＢ命令をグループにして特別な領域に割り当てることで解決を図っている。さらに、小分けされた特別な領域に対して新たな命令データを効率良く割り当てるためには、追加する命令データのグループを小分けのグループにして割り当てていく必要があり、本実施形態では、さらに、ＥＸＥＳＵＢ命令を小分けのグループにして小分けされた特別な領域に割り当てることで解決を図っている。
【０１９４】
＜ＣＡＬＬ命令＞
次に、上述の制御プログラムの一つであるＣＡＬＬ命令について説明する。図２０は、ＣＡＬＬ命令によるアドレスの移動の一例を概念的に示したものであり、図２１は、ＣＡＬＬ命令の命令データと補足データの一例を示したものである。
【０１９５】
例えば、実行中の制御プログラムのアドレスが０７００Ｈで、移動先のサブルーチンの先頭アドレスが０３ＦＦＨの場合には、図２０の符号Ｘで示すように、両者の相対アドレス（移動元のアドレスと移動先のアドレスの差）は、０３０１Ｈ（＝０７００Ｈ−０３ＦＦＨ）であり、この相対アドレスは２バイトのデータで表現可能である。ここで、この制御プログラムをＣＡＬＬ命令によって表現すると、図２１（ａ）に示すように、ＣＡＬＬ命令を示す１バイトの命令データと移動先のアドレスを示す２バイトの補足データで合計３バイトの制御プログラムデータが必要となる。
【０１９６】
また、実行中の制御プログラムのアドレスが０７００Ｈで、移動先のサブルーチンの先頭アドレスが０７５ＦＨの場合には、図２０の符号Ｙで示すように、両者の相対アドレスは、００５ＦＨ（＝０７５ＦＨ−０３ＦＦＨ）であり、この相対アドレスは１バイトのデータで表現可能である。この場合であっても、この制御プログラムをＣＡＬＬ命令によって表現すると、図２１（ｂ）に示すように、ＣＡＬＬ命令を示す１バイトの命令データと移動先のアドレスを示す２バイトの補足データで合計３バイトの制御プログラムデータが必要である。
【０１９７】
すなわち、ＣＡＬＬ命令を実行するための制御プログラムは、移動先のアドレス（２バイトで定義可能な記憶領域（００００Ｈ〜ＦＦＦＦＨ）内の任意のアドレス）に関わらず、３バイトの制御プログラムデータが必要となる。
【０１９８】
なお、ＣＡＬＬ命令を実行する際にＣＰＵ３０４は、具体的に、ＰＣレジスタ（プログラムカウンタ）に記憶されているデータ（２バイト）をスタックエリアに記憶させる処理を実行した後に、ＣＡＬＬ命令を実行するための補足データ（移動先のサブルーチンの先頭アドレスを示すデータ（２バイト））をＰＣレジスタ（プログラムカウンタ）に記憶させる処理（サブルーチンの先頭アドレスに移動）を実行することで、サブルーチンを呼び出すことが可能となる。
【０１９９】
＜ＥＸＥＳＵＢ命令＞
次に、上述の制御プログラムの一つであるＥＸＥＳＵＢ命令について説明する。図２２（ａ）は、ＥＸＥＳＵＢ命令の構成の一例を示した図であり、同図（ｂ）は、図１９（ｂ）の空き領域に対してＥＸＥＳＵＢ命令を割り当てた命令データテーブルを示した図である。
【０２００】
ＥＸＥＳＵＢ命令は、上述のＣＡＬＬ命令同様にサブルーチンを呼び出すことが可能となる命令という点では同じであるが、命令データ／補足データの構造および制御プログラムデータに必要な記憶容量が異なる（詳細は後述する）。
【０２０１】
＜ＥＸＥＳＵＢ命令／命令データ＞
ＥＸＥＳＵＢ命令の命令データは、本実施形態では、最上位ビット７（ＭＳＢ）から最下位ビット０（ＬＳＢ）の順番で、ビット７の０（固定値）、ビット６の０（固定値）、ビット５のα（可変値）、ビット４の１（固定値）、ビット３の１（固定値）、ビット２のβ（可変値）、ビット１のγ（可変値）、ビット０のδ（可変値）の合計８ビット（１バイト）で構成されている。すなわち、ＥＸＥＳＵＢ命令は上述の可変値を変えることによって定義されるパターン（２の４乗＝１６パターン）の命令データとなる。なお、ビット５のα、ビット２のβ、ビット１のγおよびビット０のδの合計４ビットのデータであるｍは、０Ｈ〜ＦＨの数値範囲を表現可能であり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報（バイナリ形式）の一部である。
【０２０２】
また、ＥＸＥＳＵＢ命令の命令データは、上述の通り、命令データテーブルのうちの同図（ｂ）に示す太線で囲った領域、すなわち、上位ビット１Ｈ（０００１Ｂ）と下位ビット８Ｈ（１０００Ｂ）〜ＦＨ（１１１１Ｂ）の組合せと、上位ビット３Ｈ（００１１Ｂ）と下位ビット８Ｈ（０１１１Ｂ）〜ＦＨ（１１１１Ｂ）の組合せからなる空き領域（従来、命令データが割り当てられていない、または、割り当てられていた命令データが削除された領域）に割り当てられる。
【０２０３】
なお、上述の通り、ＥＸＥＳＵＢ命令の命令データが、可変値のビットと可変値のビットの間に、固定値のビットが入るように構成されていることにより、ＥＸＥＳＵＢ命令の命令データをグループ化しつつ、上述の空き領域に割り当てることが可能になる。よって、ＥＸＥＳＵＢ命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。
【０２０４】
さらに、上述の通り、ＥＸＥＳＵＢ命令の命令データが、１または複数の固定値のビット（例えば、上記のビット４、ビット３）を挟んで上位にある可変値のビット数（例えば、１（上記のビット５））と比較して当該固定値のビットを挟んで下位にある可変値のビット数（例えば、３（上記のビット２、ビット１、ビット０））が大きくなる（記憶容量が大きくなる）ように構成されていることにより、ＥＸＥＳＵＢ命令の命令データをグループ化しつつも、きめ細かく上述の空き領域に割り当てることが可能になる。よって、限られたハードウェア資源（例えば、１バイトで定義可能なパターン（２５６パターン））を有効利用することができ、命令データの圧縮によるＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。なお、１または複数の固定値のビットを挟んで下位にある可変値のビット数と比較して当該固定値を挟んで上位にある可変値のビット数が大きくなる（記憶容量が大きくなる）ように構成した場合であっても、上述の効果を奏する。
【０２０５】
なお、上述の可変値α、β、γおよびδとＥＸＥＳＵＢ命令の命令データのビット７〜０の対応関係は上述の対応関係に限らず、例えば、ビット４に可変値αを対応させ、同様に、ビット２に可変値β、ビット１に可変地γ、ビット０に可変値δを対応させてもよく、上述した対応関係であればよい。
【０２０６】
さらに、命令データを構成する可変値α、β、γおよびδの順序は、任意の順序としてもよいが、上述の順序（上位ビットから順にα、β、γ、δ）、すなわち、後述するアドレスｍｎのｍを上位ビットからα、β、γ、δの順に並べることで定義可能になる順序とすることで、ＥＸＥＳＵＢ命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。
【０２０７】
＜ＥＸＥＳＵＢ命令／補足データ＞
ＥＸＥＳＵＢ命令の補足データは、本実施形態では、００Ｈ〜ＦＦＨの数値範囲を示す８ビットのデータであるｎで構成されている。
よって、ＥＸＥＳＵＢ命令は、命令データに含まれる４ビットのデータであるｍと、８ビットの補足データであるｎを、この順番で並べて（ｍを上位、ｎを下位として）構成される合計１２ビットのアドレスｍｎによって定義可能なアドレス領域（００００Ｈ〜０ＦＦＦＨ）に先頭アドレスを持つサブルーチンを呼び出すことができる命令となる。すなわち、ｎは呼び出すサブルーチンの先頭アドレスを識別可能な識別情報（バイナリ形式）から、当該識別情報の一部（ｍ）を除いた情報の少なくとも一部である。
【０２０８】
＜ＥＸＥＳＵＢ命令／サブルーチンの呼び出し＞
図２３は、ＥＸＥＳＵＢ命令によるアドレスの移動の一例を概念的に示した図である。本実施形態では、ｍ（４ビットのデータ）は、同図（ａ）に示すように、ＲＯＭ領域のアドレス００００Ｈ〜２ＦＦＦＨのうち、上位１バイトの下位４ビット（０Ｈ〜ＦＨ）を示し、ｎ（８ビットのデータ）は、同図（ｂ）に示すように、上位アドレスｍによって表現される１００Ｈ単位の記憶領域（０ｍ００Ｈ〜０ｍＦＦＨ：ｍ＝０Ｈ〜ＦＨ）を１ブロックとしたときに、当該１ブロック内のアドレス（００Ｈ〜ＦＦＨ）を示す値である。
【０２０９】
なお、移動先のアドレスを設定可能なアドレス領域を、ｎまたはｍのいずれのデータを上位アドレスのデータとして定義しても、後述する制御プログラムデータの削減の効果は得られるが、上述の通り、命令データに含まれるｍを上位アドレスのデータとして定義することで、図２３（ａ）に示すように、アドレス領域に対してＥＸＥＳＵＢ命令の命令データをグループ化して対応付けることができ、コーディングミスを抑制することができる。
【０２１０】
また、ＥＸＥＳＵＢ命令の命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータであるｍを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止されるため、コーディングミスを抑制することができる。
【０２１１】
図２４は、ＥＸＥＳＵＢ命令によるサブルーチンの先頭アドレスの呼び出しの一例を示したものであり、図２５は、ＥＸＥＳＵＢ命令の命令データと補足データの一例を示した図である。
【０２１２】
例えば、実行中の制御プログラムのアドレスが０７００Ｈで、移動先のサブルーチンの先頭アドレスが０３ＦＦＨの場合を挙げる。この制御プログラムをＣＡＬＬ命令で表現すると、上述の通り、図２４の符号Ｘ´で示す両者の相対アドレス（移動元のアドレスと移動先のアドレスの差）は、０３０１Ｈ（＝０７００Ｈ−０３ＦＦＨ）であり、この相対アドレスは２バイトのデータで表現可能であり、１バイトの命令データと２バイトの補足データで合計３バイトの制御プログラムデータが必要である。
【０２１３】
一方、この制御プログラムをＥＸＥＳＵＢ命令で表現すると、移動先のアドレスへの移動は概念的にＸ´´で示すものとなり、この相対アドレスは、１バイトのデータで表現可能な００ＦＦＨ（＝０３ＦＦＨ−０３００Ｈ）となる。すなわち、ＥＸＥＳＵＢ命令は、図２５（ａ）に示すように、０００１１０１１Ｂで表される１バイトの命令データと、１１１１１１１１Ｂで表される１バイトの補足データで合計２バイトの制御プログラムデータが必要となる。
【０２１４】
また、実行中の制御プログラムのアドレスが０７００Ｈで、呼び出し先のサブルーチンの先頭アドレスが０７５ＦＨの場合を挙げる。この場合は、この制御プログラムがＣＡＬＬ命令またはＥＸＥＳＵＢ命令のいずれで表現する場合であっても、上述の通り、図２４の符号Ｙ´で示すように、両者の相対アドレスは、１バイトで表現可能な００５ＦＨ（＝０Ｃ５ＦＨ−０Ｃ００Ｈ）であり、この相対アドレスは１バイトのデータで表現可能であるが、この制御プログラムをＣＡＬＬ命令で表現すると、１バイトの命令データと２バイトの補足データで合計３バイトの制御プログラムデータが必要となる。
【０２１５】
一方、この制御プログラムをＥＸＥＳＵＢ命令で表現すると、図２５（ｂ）に示すように、０００１１１１１Ｂで表される１バイトの命令データと、０１０１１１１１Ｂで表される１バイトの補足データの合計２バイトの制御プログラムデータが必要となり、上述のＣＡＬＬ命令よりも、１命令当りのデータを１バイト削減することができる。
【０２１６】
よって、ＥＸＥＳＵＢ命令を実行するための制御プログラムは、移動先のアドレス（１２ビットで定義可能な記憶領域（００００Ｈ〜０ＦＦＦＨ）内の任意のアドレス）に関わらず、２バイトの制御プログラムデータが必要となり、上述のＣＡＬＬ命令よりも、１命令当りの制御プログラムデータを１バイト削減することができる。
【０２１７】
すなわち、サブルーチンを呼び出す制御プログラムに上述のＥＸＥＳＵＢ命令を用いることで、従来のサブルーチンを呼び出す制御プログラム（例えば、ＣＡＬＬ命令）を圧縮することができ、ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域に記憶されている従来の制御プログラムデータを圧縮することが可能となる。
【０２１８】
なお、ＥＸＥＳＵＢ命令を実行する際にＣＰＵ３０４は、具体的に、ＰＣレジスタ（プログラムカウンタ）に記憶されているデータ（２バイト）をスタックエリアに記憶させる処理を実行した後に、ＥＸＥＳＵＢ命令を実行するための補足データ（移動先のサブルーチンの先頭アドレスを示すデータ（２バイト））をＰＣレジスタ（プログラムカウンタ）に記憶させる処理（サブルーチンの先頭アドレスに移動）を実行することで、サブルーチンを呼び出すことが可能となる。
【０２１９】
また、サブルーチンを呼び出す制御プログラムに上述のＥＸＥＳＵＢ命令を用いることで、上述制御プログラムの圧縮に起因して従来（例えば、ＣＡＬＬ命令）よりもサブルーチンを呼び出す制御プログラムの処理速度を向上させる（ステート数を少なくする）ことができる。
【０２２０】
さらに、上述のように、ＲＯＭ領域は、上述のＥＸＥＳＵＢ命令によって呼び出すことができる領域（本実施形態では、００００Ｈ〜０ＦＦＦＨ）に対応するＲＯＭ３０６の記憶領域に、全ての制御プログラムデータが記憶されるようにＲＯＭ制御領域（本実施形態では、００００Ｈ〜０ＢＢ１Ｈ）を設け、少なくとも、上述のＥＸＥＳＵＢ命令によって呼び出すことができる領域（本実施形態では、００００Ｈ〜０ＦＦＦＨ）から、制御プログラムデータが記憶されているＲＯＭ制御領域（本実施形態では、００００Ｈ〜０ＢＢ１Ｈ）を除いた領域（本実施形態では、０ＢＢ１Ｈ〜０ＦＦＦＨ）を、非使用領域となるように構成されるとともに、非使用領域の後にＲＯＭデータ領域が続くように構成されている。
【０２２１】
このようにＲＯＭ領域を構成した遊技台において、サブルーチンを呼び出す制御プログラムに上述のＥＸＥＳＵＢ命令を用いる（ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域にＥＸＥＳＵＢ命令の制御プログラムデータを記憶する）ことで、ＣＰＵ３０４が制御プログラムデータおよび非使用データを除くデータを命令データとして直接読み込むことがないため、補足データのコーディングミスによるＣＰＵ３０４の誤作動を防止できる場合がある。
【０２２２】
＜制御プログラムの一例＞
図２６は、上述の主制御部タイマ割込処理の制御プログラムの一例を示したプログラムリストである。なお、「＊＊」はＥＸＥＳＵＢ命令の補足データを示す。
【０２２３】
ＣＰＵ３０４は、タイマ割込み処理を開始すると、まずＷＤＴをリスタートする処理を実行し、所定の処理（詳細は省略）を実行し、その後、ＥＸＥＳＵＢ命令（１）〜（１８）を用いて、それぞれ、以下のサブルーチンを読み出す処理を実行する。入力ポート状態更新処理、基本乱数初期値更新処理、基本乱数更新処理、演出乱数更新処理、タイマ更新処理、入賞口カウンタ更新処理、入賞受付処理、払出要求数送信処理、普図状態更新処理、普図関連抽選処理特図先読み制御処理、特図２状態更新処理、特図１状態更新処理、特図２関連抽選処理、特図１関連抽選処理、コマンド設定送信処理、外部出力信号設定処理、デバイス監視処理、を実行し、その他の処理（詳細は省略）を実行する。なお、詳細は省略するが、上述のＥＸＥＳＵＢ命令（１）〜（１８）によって呼び出されるサブルーチンの先頭アドレスはＲＯＭ制御領域（本実施形態では、００００Ｈ〜０ＢＢ０Ｈ）に含まれている。
【０２２４】
このように、タイマ割込み処理におけるサブルーチンを呼び出す制御プログラムに上述のＥＸＥＳＵＢ命令を用いる（ＲＯＭ制御領域のうちタイマ割り込み処理の領域に対応するＲＯＭ３０６の記憶領域にＥＸＥＳＵＢ命令の制御プログラムデータを記憶する）ことで、タイマ割込み処理を安定化させることができる。
【０２２５】
ところで、遊技台の開発では、一般的に従来の制御プログラムの一部を変更（削除や追加など）することで新たな遊技台を開発している。特に、遊技制御の安定化を図るためにできるだけ制御プログラムの変更は避けることが望まれる。
【０２２６】
よって、ＲＯＭ領域（例えば、タイマ割込み処理の領域）におけるサブルーチンを呼び出す制御プログラムすべてに、上述のＥＸＥＳＵＢ命令を用いる必要はなく、必要（例えば、上述の制御プログラムデータの圧縮の要求の有無）に応じて適宜用いればよい。さらに、上述のＥＸＥＳＵＢ命令は、従来の１バイトの命令データと２バイトの補足データで構成される３バイト命令の制御プログラムデータ（例えば、ＣＡＬＬ命令）を、１バイトの命令データと１バイトの補足データで構成される２バイト命令の制御プログラムデータに圧縮した制御プログラムであるが、命令データと補足データで構成される制御プログラムを圧縮する制御プログラムであればよい。すなわち、ＥＸＥＳＵＢ命令は、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報（バイナリ形式）の一部を含んで構成される命令データと、当該識別情報から当該命令データに含まれた識別情報を除いた情報の少なくとも一部で構成される補足データとで構成される制御プログラムであればよく、さらに言えば、上述の命令データおよび補足データそれぞれが、ＣＰＵ３０４が一回の処理で読み込むデータ長（例えば、８ビット）の整数倍であればよい。
【０２２７】
＜ＲＯＭ制御領域の変形例＞
図２７は、ＲＯＭ領域が、上述のＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）によって呼び出すことができる領域（本実施形態では、００００Ｈ〜０ＦＦＦＨ）よりも、制御プログラムデータが記憶されているＲＯＭ制御領域（本実施形態では、００００Ｈ〜１１Ｂ８Ｈ）が広くなるように構成されている場合を示した図である。また、図２８（ａ）および（ｂ）は、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）によって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張した場合の一例を示した図である。
【０２２８】
例えば、図２７に示すように、ＲＯＭ制御領域（本実施形態では、００００Ｈ〜１１Ｂ８Ｈ）が、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）で呼び出すことができるサブルーチンの先頭アドレスの領域（本実施形態では、００００Ｈ〜０ＦＦＦＨ）より広い場合、ＲＯＭ制御領域は、ＥＸＥＳＵＢ対象領域（本実施形態では、００００Ｈ〜０ＦＦＦＨ）と、ＥＸＥＳＵＢ非対象領域（例えば、１０００Ｈ〜１１Ｂ８Ｈ）で構成されることとなる。
【０２２９】
この場合、ＥＸＥＳＵＢ非対象領域に対応するアドレスを先頭アドレスに持つサブルーチンを呼び出す命令に上述のＣＡＬＬ命令を用いて補ったとしても、上述の通り、遊技の興趣を高めることを可能にしつつ、安定した遊技制御を実現することは可能である。
【０２３０】
しかし、図２８に示すように、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）によって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張することで、上述の効果をより高めることが可能になる。
【０２３１】
具体的な手段としては、図２８（ａ）および（ｂ）に示すように、後述する可変値σを用いて、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）に要する記憶容量を維持しつつ、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データを拡張するものである。なお、以下は、同図に新たに追加した可変値σについて説明することとする。
【０２３２】
可変値σは、ＥＸＥＳＵＢ命令（後述のＥＸＥＳＵＢｍ´ｎ）を拡張するために用いられ、図２８（ａ）に示すように、ＥＸＥＳＵＢ命令（後述のＥＸＥＳＵＢｍ´ｎ）の命令データ（本実施形態では、８ビット）のビット６を構成する値であり、呼び出すサブルーチンの先頭アドレスを示すアドレスｍ´ｎのうちｍ´の値に応じて変化するものである。
【０２３３】
また、命令データテーブルには、図２８（ｂ）に示すように、可変値σによって拡張されたＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍ´ｎ）が、同図（ｂ）に示す太線で囲った領域、すなわち、上位ビット５Ｈ（０１０１Ｂ）と下位ビット８Ｈ（１０００Ｂ）および９Ｈ（１００１Ｂ）の組合せからなる空き領域に割り当てられている。
【０２３４】
ここで、ｍ´は、図２２（ａ）で示したｍと同一の役割を持つデータであるが、上述のｍがビット５のα、ビット２のβ、ビット１のγおよびビット０のδの合計４ビットのデータであったのに対して、ｍ´はビット６のσ、ビット５のα、ビット２のβ、ビット１のγおよびビット０のδの合計５ビットのデータである点が異なり、ｍ´は、００Ｈ〜１１Ｈの数値範囲を表現可能なデータであり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報（バイナリ形式）の一部である。
【０２３５】
このように、上述のＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データのビット６に可変値σを設けたＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍ´ｎ）を用いて、アドレスｍｎによって定義可能なアドレス領域（０００Ｈ〜ＦＦＦＨ）を拡張（アドレスｍ´ｎによって定義可能なアドレス領域を００００Ｈ〜１１ＦＦＨに）することで、上述のＥＸＥＳＵＢ非対象領域に対応するアドレスを先頭アドレスに持つサブルーチンをＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍ´ｎ）を用いて呼び出すことができる。
【０２３６】
なお、上述の可変値σ、α、β、γおよびδとＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍ´ｎ）の命令データのビット７〜０の対応関係は上述の対応関係に限らず、例えば、ビット５に可変値σを対応させ、同様に、ビット４に可変値α、ビット２に可変値β、ビット１に可変地γ、ビット０に可変値δを対応させてもよく、図２２を用いて説明した対応関係と同じであればよい。
【０２３７】
さらに、命令データを構成する可変値σ、α、β、γおよびδの順序は、任意の順序としてもよいが、上述の順序（上位ビットから順にσ、α、β、γ、δ）、すなわち、後述するアドレスｍ´ｎのｍ´を上位ビットからσ、α、β、γ、δの順に並べることで定義可能になる順序とすることで、ＥＸＥＳＵＢ命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。
【０２３８】
このように、上述のＲＯＭ制御領域（例えば、００００Ｈ〜１１Ｂ８Ｈ）に対応させて上述のＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍ´ｎ）の命令データを設けることで、ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。
【０２３９】
ところで、図１７および図２７で示したように、制限されたＲＯＭ制御領域の中でも開発された遊技台ごとに設けられたＲＯＭ制御領域が異なる場合があるが、このような遊技台それぞれに対して、上述のＥＸＥＳＵＢｍｎまたはＥＸＥＳＵＢｍ´ｎそれぞれを命令データとして備えているＣＰＵを使い分けて開発を行うことは、開発工数およびコストの観点からも無駄であるとともに、コーディングミスの原因ともなり、安定した遊技制御の実現を困難にしてしまうこととなる。よって、図１７で示したＲＯＭ制御領域を持つ遊技台であっても、ＥＸＥＳＵＢ命令にＥＸＥＳＵＢｍ´ｎを用いた方が望ましい。
【０２４０】
この場合であっても、ＥＸＥＳＵＢｍ´ｎによって呼び出すことができる領域（本実施形態では、００００Ｈ〜１１ＦＦＨ）よりも、制御プログラムデータが記憶されているＲＯＭ制御領域（本実施形態では、００００Ｈ〜０ＢＢ１Ｈ）が狭くなるように構成されているため、少なくとも、上述のＥＸＥＳＵＢｍ´ｎによって呼び出すことができる領域から、制御プログラムデータが記憶されているＲＯＭ制御領域を除いた領域（本実施形態では、０ＢＢ１Ｈ〜１１ＦＦＨ）を、hituka用領域で構成するとともに、非使用領域の後にＲＯＭデータ領域が続くように構成すればよい。
【０２４１】
＜特図状態更新処理、普図状態更新処理＞
次に、図２９を用いて、上述の特図２状態更新処理（ステップＳ２２５）、特図１状態更新処理（ステップＳ２２７）、普図状態更新処理（ステップＳ２２１）の制御プログラムの一部について説明する。なお、同図（ａ）は特図２状態更新処理および特図１状態更新処理の制御プログラムの一部を抜き出したものであり、同図（ｂ）は普図状態更新処理の制御プログラムの一部を抜き出したものである。
【０２４２】
例えば、同図（ａ）に示す特図状態更新処理では、まず最初に、「ＬＤ  Ｌ，Ｌｏｗ．ｖｂＴｏｋｕｚｕＳｔａｔｕｓ」の命令を実行することによって、同図（ｄ）においてｖｂＴｏｋｕｚｕＳｔａｔｕｓとして定義されたアドレス（この例では、ＲＡＭ３０８に設けた特図ステータス用記憶領域を示すアドレスであるＦ０６０Ｈ）の下位バイト（この例では、６０Ｈ）をＬレジスタに記憶する。
【０２４３】
続いて、「ＪＰ  ｍｏＲｅａｄＭｅｍｏｒｙ」の命令を実行することによって、同図（ｃ）に示すｍｏＲｅａｄＭｅｍｏｒｙ（メモリ読出し処理）に移動し、当該処理を実行する。このメモリ読み出し処理では、まず最初に「ＬＤ  Ｈ，Ｆ０Ｈ」の命令を実行することによってＨレジスタにＦ０Ｈを記憶した後、「ＬＤ  Ａ，（ＨＬ）」の命令を実行することによってＨＬレジスタで示されるアドレス（この例では、Ｆ０６０Ｈ）の内容（この例では、特図ステータス）をＡレジスタに記憶する。続いて、「ＡＮＤ  Ａ」の命令を実行した後に、読み出し元の特図状態更新処理に戻る。なお、同図（ｂ）に示す普図状態更新処理も共通のサブルーチンであるｍｏＲｅａｄＭｅｍｏｒｙ（メモリ読出し処理）を利用することによって、ＲＡＭ３０８の普図ステータス用記憶領域に記憶された普図ステータスの読みだしを行う。このように、同図（ｃ）に示す従来のメモリ読出し処理を利用した場合には、「ＬＤ  Ｈ，Ｆ０Ｈ」という命令により、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位（Ｆ０Ｈ）が解析され、不正行為を誘発するおそれがある。このため、本実施形態では、同図（ｃ）に示す従来のメモリ読出し処理に替えて、同図（ｅ）に示すメモリ読出し処理を採用する。
【０２４４】
この本実施形態に係るメモリ読出し処理では、「ＬＤ  Ａ，Ｔ」の命令を実行することによって、Ｔレジスタの値をＡレジスタに記憶するが、上述のように、Ｔレジスタには特定の値（Ｆ０Ｈ）が記憶されているため、ＡレジスタにはＦ０Ｈが記憶される。以降の処理は従来の処理と同様であるが、イミディエイト値を利用する代わりにＴレジスタを利用しているため、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位（Ｆ０Ｈ）が解析されるおそれが少なく、不正行為を未然に防止できる場合がある。また、イミディエイト値を利用した場合には、例えば、Ｆ０ＨをＦ１Ｈと間違って入力するなど、コーディングミスの可能性が高くなるが、Ｔレジスタを利用すればコーディングミスを未然に防止できる場合がある。
【０２４５】
図３０は、図２９（ｃ）に示す従来のメモリ読出し処理の機械語と、図２９（ｅ）に示す本実施形態に係るメモリ読出し処理の機械語と、を比較した図である。従来のメモリ読出し処理における１行目の「ＬＤ  Ｈ，Ｆ０Ｈ」命令をアセンブルした場合、機械語は「２６Ｆ０Ｈ」となり「Ｆ０Ｈ」を含むため、従来のメモリ読出し処理では、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位（Ｆ０Ｈ）が解析されてしまうおそれがある。一方、本実施形態のメモリ読出し処理における１行目の「ＬＤ  Ａ，Ｔ」命令をアセンブルした場合、機械語は「ＥＤ０１Ｈ」となり「Ｆ０Ｈ」を含まないため、本実施形態のメモリ読出し処理では、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位（Ｆ０Ｈ）が解析されるおそれが極めて低く、不正行為を未然に防止できる場合がある。
【０２４６】
＜特図１関連抽選処理＞
次に、図３１を用いて、上述の主制御部タイマ割込処理における特図１関連抽選処理について説明する。なお、同図は、特図１関連抽選処理の流れを示すフローチャートである。
【０２４７】
ステップＳ１００１では、特別図柄乱数移行処理を行う。この特別図柄乱数移行処理では、一次記憶した乱数値を、ＲＡＭ３０８に設けた特別図柄関連抽選乱数の格納領域に移行（記憶）する。ステップＳ１００２では、特別図柄当り抽選処理を行う。この特別図柄当り抽選処理では、上述の特図乱数値（特図１乱数値、特図２乱数値）と、ＲＯＭ３０６に予め記憶している特別図柄抽選データを比較する抽選を行い、当該抽選結果に応じて、上述の１５Ｒ大当りフラグ、２Ｒ大当りフラグ、第１小当りフラグ、第２小当りフラグ、第１はずれフラグ、第２はずれフラグ、特図確率変動フラグ、および普図確率変動フラグなどを設定し、特別図柄遊技状態を変動中に設定する。
【０２４８】
ステップＳ１００３では、表示図柄抽選処理を行う。この表示図柄抽選処理では、ＲＡＭ３０８に記憶している表示図柄判定乱数と、ＲＯＭ３０６に予め記憶している表示図柄抽選データを比較する抽選を行い、当該抽選結果に応じて、１５Ｒ特別大当り図柄（特図Ａ）、１５Ｒ大当り図柄（特図Ｂ）、突然確変図柄（特図Ｃ）、突然時短図柄（特図Ｄ）、隠れ確変図柄（特図Ｅ）、突然通常図柄（特図Ｆ）、第１小当り図柄（特図Ｇ）、第２小当り図柄（特図Ｈ）、第１はずれ図柄（特図Ｉ）、および第２はずれ図柄（特図Ｊ）のいずれか一つの図柄を設定する。
【０２４９】
ステップＳ１００４では、特別図柄変動時間抽選処理を行う（詳細は後述する）。ステップＳ１００５では、特別図柄変動時間設定処理を行う。この特別図柄変動時間設定処理では、上記ステップＳ１００４の特別図柄変動時間抽選処理で取得した変動パターン（パターン番号）に応じたタイマを特別図柄変動タイマとして設定（記憶）する。ステップＳ１００６では、特別図柄保留内情報移行処理を行う。この特別図柄保留内情報移行処理では、特別図柄保留内情報を変動順が先の格納領域に移行（記憶）した後に処理を終了する。
【０２５０】
なお、ここでは一例として、上述の主制御部タイマ割込処理における特図１関連抽選処理（ステップＳ２３１）について説明したが、例えば、特図２関連抽選処理（ステップＳ２２９）や普図関連抽選処理（ステップＳ２２３）についても同様の処理を適用することができる。
【０２５１】
＜主制御部のデータテーブルと変数記憶領域＞
次に、図３２および図３３を用いて、主制御部３００のＲＯＭ３０６に記憶されるデータテーブルの一部と、ＲＡＭ３０８に設けられる変数記憶領域の一部について説明する。  
【０２５２】
＜テーブル選択用テーブル＞
図３２（ａ）は、テーブル選択用テーブルの一例を示した図であり、図３３は、主制御部３００のＲＯＭ３０６に記憶されるデータテーブルの定義の一部と、ＲＡＭ３０８に設けられる変数格納領域の定義の一部を示したプログラムリストの一例である。
【０２５３】
図３２（ａ）に示すテーブル選択用テーブルには、後述する第１変動パターン選択テーブルが記憶されるＲＯＭ３０６のアドレスを示す飛先アドレスが、特図変動遊技の保留数毎に０個用〜３個用の４つに区分けされて記憶されている。具体的には、ＲＯＭデータ領域のアドレス１６００Ｈ〜１６０１Ｈに対応するＲＯＭ３０６の２バイトの記憶領域には、保留数が０の場合に参照する第１変動パターン選択テーブルの飛先アドレスとして１７４ＦＨが記憶されている（１６００    ＤＥＦＢ  １７４ＦＨ）。また、ＲＯＭデータ領域のアドレス１６０２Ｈ〜１６０３Ｈに対応するＲＯＭ３０６の２バイトの記憶領域には、保留数が１の場合に参照する第１変動パターン選択テーブルの飛先アドレスとして１７４ＦＨが記憶されている（１６０２    ＤＥＦＢ  １７４ＦＨ）。また、ＲＯＭデータ領域のアドレス１６０４Ｈ〜１６０５Ｈに対応するＲＯＭ３０６の２バイトの記憶領域には、保留数が２の場合に参照する第１変動パターン選択テーブルの飛先アドレスとして１７４ＦＨが記憶されている（１６０４    ＤＥＦＢ  １７４ＦＨ）。また、ＲＯＭデータ領域のアドレス１６０６Ｈ〜１６０７Ｈに対応するＲＯＭ３０６の２バイトの記憶領域には、保留数が３の場合に参照する第１変動パターン選択テーブルの飛先アドレスとして１７５５Ｈが記憶されている（１６０６    ＤＥＦＢ  １７５５Ｈ）。
【０２５４】
＜第１変動パターン選択テーブル＞
図３２（ｂ）は、第１変動パターン選択テーブルの一例を示した図である。この第１変動パターン選択テーブルには、当該テーブルのアドレスと、後述する第２変動パターン選択テーブルが記憶されたアドレスとの差（オフセット）と、乱数の個数が記憶されている。具体的には、ＲＯＭデータ領域のアドレス１７５０Ｈに対応するＲＯＭ３０６の１バイトの記憶領域には、オフセットとしてＡＥＨが記憶されているとともに、このアドレスに連続する１７５１Ｈに対応するＲＯＭ３０６の１バイトの記憶領域には、乱数の個数として２０が記憶され（１７５０Ｈ    ＤＥＦＢ  ＡＥＨ，２０）、以降のＲＯＭデータ領域のアドレス１７５２Ｈ〜１７５９Ｈに対応するＲＯＭ３０６の記憶領域には、図３２（ｂ）および図３３に示すように、１バイト長のオフセットと、１バイト長の乱数の個数が交互に連続して記憶されている。なお、第１変動パターン選択テーブルにおいて乱数の個数は１０進数で示している。
【０２５５】
＜第２変動パターン選択テーブル＞
図３２（ｃ）は、第２変動パターン選択テーブルの一例を示した図である。この第２変動パターン選択テーブルには、パターン番号と、乱数の個数が記憶されている。具体的には、ＲＯＭデータ領域のアドレス１８００Ｈに対応するＲＯＭ３０６の１バイトの記憶領域には、パターン番号として０１Ｈが記憶されているとともに、このアドレスに連続する１８０１Ｈで示される１バイトの領域には、乱数の個数として２５５が記憶され（１８００Ｈ    ＤＥＦＢ  ０１Ｈ，２５５）、以降のＲＯＭデータ領域のアドレス１８０２Ｈ〜１８０ＦＨに対応するＲＯＭ３０６の記憶領域には、図３２（ｃ）および図３３に示すように、１バイト長のパターン番号と、１バイト長の乱数の個数が交互に連続して記憶されている。なお、第２変動パターン選択テーブルにおいて乱数の個数は１０進数で示している。
【０２５６】
＜変数記憶領域＞
図３２（ｄ）は、ＲＷＭ領域のアドレスＦ０４０Ｈ〜Ｆ０４２Ｈに対応するＲＡＭ３０８の記憶領域に設けられる保留数記憶領域、乱数１記憶領域、乱数２記憶領域を示した図である。ＲＷＭ領域のアドレスＦ０４０Ｈに対応するＲＡＭ３０８の１バイトの記憶領域には保留数記憶領域が設けられ（Ｆ０４０    ｖｂＨｏｒｙｕｕＳＰ１  ＤＥＦＳ  １）、この保留数記憶領域には保留数が記憶される。また、アドレスＦ０４１Ｈに対応するＲＡＭ３０８の１バイトの記憶領域には乱数１記憶領域が設けられ（Ｆ０４１    ｖｂＲｎｄＨｅｎｄｏｕ１  ＤＥＦＳ  １）、この乱数１記憶領域には乱数１が記憶される。また、アドレスＦ０４２Ｈに対応するＲＡＭ３０８の１バイトの記憶領域には乱数２記憶領域が設けられ（Ｆ０４２    ｖｂＲｎｄＨｅｎｄｏｕ２  ＤＥＦＳ  １）、この乱数２記憶領域には乱数２が記憶される。
【０２５７】
＜特別図柄変動時間抽選処理＞
次に、図３４および図３５を用いて、上述の特図１関連抽選処理における特別図柄変動時間抽選処理について説明する。なお、図３４は、特別図柄変動時間抽選処理の流れを示すフローチャートであり、図３５は、特別図柄変動時間抽選処理のプログラムリストの一例である。
【０２５８】
ステップＳ１１０１では、演出用乱数取得処理を行う。この演出用乱数取得処理では、上述の特図１関連抽選処理で取得した特図１乱数値（０〜２５５）を、上述の乱数値１記憶領域（ＲＷＭ領域のアドレスＦ０４１Ｈ）に記憶し、上述の特図２関連抽選処理で取得した特図２乱数値（０〜２５５）を、上述の乱数値２記憶領域（ＲＷＭ領域のアドレスＦ０４２Ｈ）に記憶する。
【０２５９】
次のステップＳ１１０２では、上述のテーブル選択用テーブル（図３２（ａ））の先頭アドレス（本実施形態では、１６００Ｈ）を、ＨＬレジスタに転送する（ＬＤ  ＨＬ，ｔａｂｌｅＳｅｌｅｃｔＴａｂｌｅ）。これにより、ＨＬレジスタに１６００Ｈが記憶される。
【０２６０】
次のステップＳ１１０３では、上述の保留数記憶領域（ＲＷＭ領域のアドレスＦ０４０Ｈ）に記憶された保留数を、Ａレジスタに転送する（ＬＤＴ  Ａ，（４０Ｈ））。ここで、「ＬＤＴ  Ａ、（ｎ：イミディエイト値）」命令は、図３６に示すように、Ｔレジスタを上位、イミディエイト値を下位で示すアドレスのデータをＡレジスタにロードする命令である。本実施形態では、ＴレジスタにＦ０Ｈを記憶しているため、「ＬＤＴ  Ａ，（４０Ｈ）」命令を実行した場合、Ｔレジスタ（Ｆ０Ｈ）を上位、イミディエイト値（４０Ｈ）を下位で示すアドレス（Ｆ０４０Ｈ）のデータ、すなわち保留数記憶領域に記憶された保留数がＡレジスタにロード（転送）される。例えば、保留数記憶領域に記憶された保留数が２の場合には、Ａレジスタに０２Ｈがロード（転送）される。
【０２６１】
次のステップＳ１１０４では、Ａレジスタの値にＡレジスタの値を加算する（ＡＤＤ  Ａ，Ａ）。先の例では、Ａレジスタの値（０２Ｈ）にＡレジスタの値（０２Ｈ）を加算することによってＡレジスタに０４Ｈが記憶される。次のステップＳ１１０５では、ＨＬレジスタにＡレジスタの値を加算する（ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ａ）。詳細は後述するが、ＡＤＤＴＷＯＯＮＥ命令（ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ａ）は、ＨＬレジスタに記憶された２バイト長の値に、Ａレジスタに記憶された１バイト長の値を加算するための命令である。先の例では、ＨＬレジスタ（１６００Ｈ）にＡレジスタの値（０４Ｈ）を加算することによってＨＬレジスタに１６０４Ｈが記憶される。
【０２６２】
次のステップＳ１１０６では、ＨＬレジスタが示すアドレスの値をＤＥレジスタに転送する（ＬＤＴＷＯ  ＤＥ，（ＨＬ））。ここで、「ＬＤＴＷＯ  ＤＥ，（ＨＬ）」命令は、図３６に示すように、ＨＬレジスタが示すアドレスのデータをＤＥレジスタにロードする命令である。先の例では、ＨＬレジスタが示すアドレス（１６０４Ｈ）の値（１７４ＦＨ）をＤＥレジスタに転送することによってＤＥレジスタには１７４ＦＨが記憶される。
【０２６３】
次のステップＳ１１０７では、ＤＥレジスタの値とＨＬレジスタの値を交換する（ＥＸ  ＤＥ，ＨＬ）。先の例では、ＤＥレジスタの値（１７４ＦＨ）とＨＬレジスタの値（１６０４Ｈ）を交換することによって、ＨＬレジスタには１７４ＦＨが記憶され、ＤＥレジスタには１６０４Ｈが記憶される。
【０２６４】
次のステップＳ１１０８では、上述の乱数１記憶領域に記憶された乱数１（特別図柄変動時間判定乱数１）をＡレジスタに転送する（ＬＤＴ  Ａ，（４１Ｈ））。本実施形態では、ＴレジスタにＦ０Ｈを記憶しているため、「ＬＤＴ  Ａ，（４１Ｈ）」命令を実行した場合、Ｔレジスタ（Ｆ０Ｈ）を上位、イミディエイト値（４１Ｈ）を下位で示すアドレス（Ｆ０４１Ｈ）のデータ、すなわち乱数１記憶領域に記憶された乱数１がＡレジスタにロード（転送）される。例えば、乱数１記憶領域に記憶された乱数１が２５０の場合には、Ａレジスタに２５０が記憶される。
【０２６５】
次のステップＳ１１０９では、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレスに格納された値をＢＣレジスタに転送する（ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ））。詳細は後述するが、「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令は、ＨＬレジスタに記憶された２バイト長の値に１を加算し、加算後のＨＬレジスタの値で示されるアドレスに記憶された１バイト長の値を、ＢＣレジスタのうちの下位のＣレジスタに記憶した後に、ＨＬレジスタに記憶された２バイト長の値にさらに１を加算し、加算後のＨＬレジスタの値で示されるアドレスに記憶された１バイト長の値を、ＢＣレジスタのうちの上位のＢレジスタに記憶するための命令である。先の例では、ＨＬレジスタに記憶された２バイト長の値（１７４ＦＨ）に１を加算し、加算後のＨＬレジスタの値（１７５０Ｈ）で示されるアドレスに記憶された１バイト長の値（ＡＥＨ）を、ＢＣレジスタのうちの下位のＣレジスタに記憶した後に、ＨＬレジスタに記憶された２バイト長の値にさらに１を加算し、加算後のＨＬレジスタの値（１７５１Ｈ）で示されるアドレスに記憶された１バイト長の値（２０）を、ＢＣレジスタのうちの上位のＢレジスタに記憶する。
【０２６６】
次のステップＳ１１１０では、Ａレジスタの値からＢレジスタの値を減算する（ＳＵＢ  Ｂ）。先の例では、Ａレジスタの値（２５０）からＢレジスタの値（２０）を減算する。次のステップＳ１１１１では、ステップＳ１１１０の減算の結果、キャリーが発生したか否か、すなわち減算の結果が負の値になったかどうかを判定し、該当する場合にはステップＳ１１１２に進み、該当しない場合には該当するまでステップＳ１１０９〜Ｓ１１１１の処理を繰り返し実行する（ＪＰ  ＮＣ，ＬＯＯＰ０１）。先の例では、ステップＳ１１０９〜Ｓ１１１１の処理を３回繰り返すことによってキャリーが発生し、ステップＳ１１１２に進む際には、Ｂレジスタの値が８、Ｃレジスタ値がＢ０Ｈ、ＨＬレジスタの値が１７５５Ｈになる。
【０２６７】
次のステップＳ１１１２では、ＨＬレジスタの値にＣレジスタの値を加算する（ＡＤＤＴＷＯＯＮＥ）。先の例では、ＨＬレジスタの値（１７５５Ｈ）にＣレジスタの値（Ｂ０Ｈ）を加算することによってＨＬレジスタには１８０５Ｈが記憶される。次のステップＳ１１１３では、上述の乱数２記憶領域（本実施形態では、Ｆ０４２Ｈ）に記憶された乱数２（特別図柄変動時間判定乱数２）をＡレジスタに転送する（ＬＤＴ  Ａ，（４２Ｈ））。本実施形態では、ＴレジスタにＦ０Ｈを記憶しているため、「ＬＤＴ  Ａ，（４２Ｈ）」命令を実行した場合、Ｔレジスタ（Ｆ０Ｈ）を上位、イミディエイト値（４２Ｈ）を下位で示すアドレス（Ｆ０４２Ｈ）のデータ、すなわち乱数２記憶領域に記憶された乱数２がＡレジスタにロード（転送）される。例えば、乱数２が１４８の場合には、Ａレジスタに１４８が記憶される。
【０２６８】
次のステップＳ１１１４では、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレスに格納された値をＢＣレジスタに転送する（ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ））。先の例では、ＨＬレジスタに記憶された２バイト長の値（１８０５Ｈ）に１を加算し、加算後のＨＬレジスタの値（１８０６Ｈ）で示されるアドレスに記憶された１バイト長の値（０４Ｈ）を、ＢＣレジスタのうちの下位のＣレジスタに記憶した後に、ＨＬレジスタに記憶された２バイト長の値にさらに１を加算し、加算後のＨＬレジスタの値（１８０７Ｈ）で示されるアドレスに記憶された１バイト長の値（１２８）を、ＢＣレジスタのうちの上位のＢレジスタに記憶する。
【０２６９】
次のステップＳ１１１５では、Ａレジスタの値からＢレジスタの値を減算する（ＳＵＢ  Ｂ）。先の例では、Ａレジスタの値（１４８）からＢレジスタの値（１２８）を減算する。次のステップＳ１１１６では、ステップＳ１１１５の減算の結果、キャリーが発生したか否か、すなわち減算の結果が負の値になったかどうかを判定し、該当する場合にはステップＳ１１１７に進み、該当しない場合には該当するまでステップＳ１１１４〜Ｓ１１１６の処理を繰り返し実行する（ＪＰ  ＮＣ，ＬＯＯＰ０２）。先の例では、ステップＳ１１１４〜Ｓ１１１６の処理を２回繰り返すことによってキャリーが発生し、ステップＳ１１１７に進む際には、Ｂレジスタの値が３２、Ｃレジスタの値が０５Ｈ、ＨＬレジスタの値が１８０９Ｈになる。ステップＳ１１１７では、その他の処理を行った後に処理を終了する。なお、ここでは一例として、特図１や特図２に関する処理について説明したが、例えば、普図の保留数や乱数値についても同様の処理を適用することができる。
【０２７０】
＜主制御部の特殊命令＞
次に、図３６および図３７を用いて、主制御部３００が備える特殊命令について説明する。なお、図３６は、主制御部３００が備える命令の一部と、その説明を示した図である。また、図３７（ａ）は、主制御部３００の命令データの上位ビットと下位ビットを示した図であり、同図（ｂ）は、命令データテーブルの一例を示した図である。
【０２７１】
＜特殊命令／ＬＤＴ命令＞
特殊命令の一つである「ＬＤＴ  Ａ、（ｎ：イミディエイト値）」命令は、上述のとおり、Ｔレジスタを上位、イミディエイト値を下位で示すアドレスのデータをＡレジスタにロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップＳ１１０３では、「ＬＤＴ  Ａ、（４０Ｈ）」命令を実行することによって、Ｔレジスタ（Ｆ０Ｈ）を上位、イミディエイト値（４０Ｈ）を下位で示すアドレス（Ｆ０４０Ｈ）のデータ、すなわち保留数記憶領域に記憶された保留数をＡレジスタにロード（転送）している。
【０２７２】
また、図示はしないが、主制御部３００は、さらに、Ａレジスタに記憶されたデータを、Ｔレジスタを上位、イミディエイト値を下位で示すアドレスにロードするための「ＬＤＴ  （ｎ：イミディエイト値），Ａ」命令を備えている。一方、Ｔレジスタを上位、汎用レジスタ（例えば、Ｈレジスタ）を下位で示すアドレスのデータをＡレジスタにロードする命令（例えば、「ＬＤＴ  Ａ，Ｈ」のような命令）や、Ａレジスタに記憶されたデータを、Ｔレジスタを上位、汎用レジスタ（例えば、Ｈレジスタ）を下位で示すアドレスにロードするための命令（例えば、「ＬＤＴ  Ｈ，Ａ」のような命令）は備えていない。
【０２７３】
すなわち、ＬＤＴ命令によって指定可能なアドレスの下位バイトは、イミディエイト値に限定されており、汎用レジスタを指定することは禁止されている（機械語にアセンブルされる過程でエラーとなりアセンブルすることができない）。このため、ＬＤＴ命令では、プログラムリストの確認などを行う際にアドレスの確認が容易となる上に、Ｔレジスタの値（アドレスの上位バイト）を不用意に変更することができなくなる結果、コーディングミスや不具合の発生を減少させることができる場合がある。
【０２７４】
＜特殊命令／ＬＤＴＷＯ命令＞
特殊命令の一つである「ＬＤＴＷＯ  ＯＰ１，（ＯＰ２）」命令は、上述のとおり、第２オペランドＯＰ２で示される２つのレジスタが示すアドレスのデータを第１オペランドＯＰ１で示される２つのレジスタにロードする命令であり、「ＬＤＴＷＯ  （ＯＰ２），ＯＰ１」命令は、第２オペランドＯＰ２で示される２つのレジスタが示すアドレスに第１オペランドＯＰ１で示される２つのレジスタのデータをロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップＳ１１０６では、「ＬＤＴＷＯ  ＤＥ，（ＨＬ）」命令を実行することによって、ＨＬレジスタが示すアドレス（１６０４Ｈ）の値（１７４ＦＨ）をＤＥレジスタにロード（転送）してＤＥレジスタには１７４ＦＨを記憶している。ＯＰ２がＨＬレジスタではないＢＣレジスタまたはＤＥレジスタである場合、ＯＰ１がＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ、ＩＸレジスタ、ＩＹレジスタとなり、ＯＰ２がＨＬレジスタである場合のみ、ＯＰ１がＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ、ＡＣレジスタ、ＡＥレジスタ、ＢＤレジスタ、ＩＸレジスタ、ＩＹレジスタとなる。ＬＤＴＷＯ命令は、ＡレジスタやＨＬレジスタを保護するのに適している。
【０２７５】
また、ＬＤＴＷＯ命令では、必要なステート数は１４ステート、必要なバイト数は２バイトである。一方、従来の命令によってＬＤＴＷＯ命令と同様の処理を行う場合には、図３６に示すように、必要なステート数は１４ステート（＝４＋６＋４）、必要なバイト数は３バイト（＝１＋１＋１）である。したがって、ＨＬレジスタが示すアドレスのデータをＤＥレジスタにロードする場合にＬＤＴＷＯ命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているＲＯＭの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。
【０２７６】
＜特殊命令／ＡＤＤＴＷＯＯＮＥ命令＞
特殊命令の一つであるＡＤＤＴＷＯＯＮＥ命令（ＡＤＤＴＷＯＯＮＥ  ＯＰ１，ＯＰ２）は、第１オペランドＯＰ１で示される２つのレジスタに記憶された２バイト長の値に、第２オペランドＯＰ２で示されるレジスタに記憶された１バイト長の値（または、第２オペランドＯＰ２で示される１バイト長のイミディエイト値）を加算するための命令である。ＡＤＤＴＷＯＯＮＥ命令の命令コードの上位１バイトは固定値（この例ではＥＤＨ）とし、下位バイトは、命令データテーブルの上位ビット４Ｈ（０１００Ｂ）と下位ビット０Ｈ（００００Ｂ）〜２Ｈ（００１０Ｂ）の組合せと、命令データテーブルの上位ビット４Ｈ（０１００Ｂ）と下位ビット４Ｈ（０１００Ｂ）〜７Ｈ（０００１Ｂ）、９Ｈ（１００１Ｈ）の組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令（隠し命令）を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、本実施形態では、特殊命令の命令コードを２バイト長としているが、命令コードのバイト長は特に限定されず、例えば１バイト長でもよい。また、ＡＤＤＴＷＯＯＮＥ命令のうちの特定の命令（例えば、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ａ」命令）のみ、他のＡＤＤＴＷＯＯＮＥ命令よりも命令コードが短く（例えば、１バイト長）てもよい。また、「ＡＤＤＴＷＯＯＮＥ  ＯＰ１，Ａ」命令のうちの特定の命令（例えば、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ａ」命令）のみ、他のＡＤＤＴＷＯＯＮＥ命令よりも命令コードが短く（例えば、１バイト長）てもよい。この場合、該命令の利便性を高めることができる。
【０２７７】
「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｃ」命令を例に挙げると、第１オペランドで示されるペアレジスタＨＬに記憶された２バイト長の値に、第２オペランドで示されるＣレジスタに記憶された１バイト長の値を加算する場合に使用される命令であり、例えば、上述の特別図柄変動時間抽選処理のステップＳ１１１２では、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｃ」を実行することによって、ＨＬレジスタに記憶された２バイト長の値（１７５５Ｈ）に、Ｃレジスタに記憶された１バイト長の値（Ｂ０Ｈ）を加算することによって、ＨＬレジスタの値を１８０５Ｈに更新している。なお、ＡＤＤＴＷＯＯＮＥ命令（ＡＤＤＴＷＯＯＮＥ  ＯＰ１，ＯＰ２）は、キャリーが発生し難いが、ＨＬレジスタに記憶された２バイト長の値（例えば、ＦＦ０１Ｈ）にＣレジスタに記憶された１バイト長の値（例えば、ＦＦＨ）を加算する場合には、キャリーが発生する。すなわち、ＡＤＤＴＷＯＯＮＥ命令（ＡＤＤＴＷＯＯＮＥ  ＯＰ１，ＯＰ２）を実行後にキャリーが発生する場合には、ＨレジスタがＦＦＨであると判断することができる。
【０２７８】
また、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｃ」命令では、必要なステート数は８ステート、必要なバイト数は２バイトである。一方、従来の命令によって「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｃ」命令と同様の処理を行う場合には、図３６に示すように、必要なステート数は２２ステート（＝４＋４＋１０＋４）、必要なバイト数は６バイト（＝１＋１＋３＋１）である。したがって、ＨＬレジスタに記憶された２バイト長の値にＣレジスタに記憶された１バイト長の値を加算する場合に「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｃ」命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているＲＯＭの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。
【０２７９】
また、従来ＣＰＵに実行可能に備えられている８ビット演算命令では、「ＡＤＤ  Ａ，Ｅ」命令のように、加算結果（「ＳＵＢ  Ａ，Ｅ」命令の場合は減算結果）をＡレジスタに入れるしかなかったが、ＡＤＤＴＷＯＯＮＥ命令を実行して「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｅ」命令とすることで「ＡＤＤ  Ｌ，Ｅ」を可能にしており、Ａレジスタを使用せずに温存することができる（使用用途が広いＡレジスタを他の命令で使用することが可能となる結果、プログラム容量を削減できる場合がある）。また、「ＬＤ  Ｈ，００Ｈ」命令を実行してＨレジスタに００Ｈを転送した後に、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｅ」命令を実行してＬレジスタにＥレジスタの値を加算して「ＳＲＬ  Ｈ」命令を実行してＬレジスタが桁あふれしたかどうかをキャリーフラグが立ったか否かで確認することでＡレジスタを使用せずに温存することができる（使用用途が広いＡレジスタを他の命令で使用することが可能となる結果、プログラム容量を削減できる場合がある）。
【０２８０】
すなわち、「ＡＤＤ  Ａ，Ｌ」命令は実行可能であり、「ＡＤＤ  Ｌ，Ａ」命令は実行不可能であるが、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ａ」命令を実行可能にした命令セットを備えたことにより、命令セットにおける命令数を１つ増やすだけで、８ビット演算の加算結果を格納可能なレジスタを増やすことができるとともに、１６ビット−８ビット演算も可能にしており、命令セットを１命令増やすだけで２つの機能を実現可能としている。
【０２８１】
換言すると、加算命令「特定のレジスタペア←特定のレジスタペア＋特定のレジスタ」を命令セットに含むとともに、特定のレジスタペアの下位側のレジスタを８ビット演算のアキュムレータとは異なるレジスタとした。
【０２８２】
従来では、命令セットにおける命令数を増やしたくなかったため、１６ビット演算と８ビット演算しか搭載せず、さらに１６ビットのアキュムレータは複数のレジスタペアのうちの特定レジスタペアのみとし、８ビットのアキュムレータは複数のレジスタのうちの特定レジスタのみとしていたが、上記構成により、少ない命令数の増加で複数の機能を実現することができる。
【０２８３】
また、ＨＬレジスタが０か否かを確認するために従来では、「ＬＤ  Ａ，Ｈ」命令でＨレジスタの値をＡレジスタに転送した後に「ＯＲ  Ａ，Ｌ」命令を実行後に０フラグが立つか否かでＨＬレジスタが０か否かを確認していた。すなわち、８ビット演算を実行して０か否かを確認しているため、８ビット演算のアキュムレータ（この場合はＡレジスタ）を使用してしまっていた。しかし、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，ｎ（００Ｈ）」命令後に０フラグが立つか否かを確認することによってＡレジスタを使用しないで済む。すなわち、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，ｎ」命令は、１６ビットレジスタペアに８ビットの直値を加算する機能と、１６ビットレジスタペアが０か否かを確認する機能と、Ａレジスタを温存する機能とを備えている。また、命令に直値を使用しているので、プログラムソースの可読性を向上できる。
【０２８４】
＜特殊命令／ＩＮＣＴＥＮＳＯＵ命令＞
特殊命令の一つであるＩＮＣＴＥＮＳＯＵ命令（ＩＮＣＴＥＮＳＯＵ  ＯＰ１，ＯＰ２）は、第２オペランドＯＰ２で示される２つのレジスタに記憶された２バイト長の値に１を加算し、加算後の２つのレジスタの値で示されるアドレスに記憶された１バイト長の値を、第１オペランドＯＰ１で示される２つのレジスタのうちの下位のレジスタに記憶した後に、第２オペランドＯＰ２で示される２つのレジスタに記憶された２バイト長の値にさらに１を加算し、加算後の２つのレジスタの値で示されるアドレスに記憶された１バイト長の値を、第１オペランドＯＰ１で示される２つのレジスタのうちの上位のレジスタに記憶するための命令である。ＩＮＣＴＥＮＳＯＵ命令の命令コードの上位１バイトは固定値（この例ではＥＤＨ）とし、下位バイトは、命令データテーブルの上位ビット１Ｈ（０００１Ｂ）と下位ビット８Ｈ（１０００Ｂ）〜９Ｈ（１０００１Ｂ）の組合せと、命令データテーブルの上位ビットＤＨ（１１０１Ｂ）と下位ビット４Ｈ（０１００Ｂ）〜６Ｈ（０１１０Ｂ）の組合せに割り当てている。本例では、第１オペランドＯＰ１にアキュムレータを含む機械命令のコードを連番（例えば、「ＩＮＣＴＥＮＳＯＵ  ＡＣ，（ＨＬ）」命令のコードがＥＤＤ４Ｈ、「ＩＮＣＴＥＮＳＯＵ  ＡＥ，（ＨＬ）」のコードがＥＤＤ５Ｈ）にしている。また、第１オペランドＯＰ１にアキュムレータを含む命令のうちの特定のＩＮＣＴＥＮＳＯＵ命令の機械命令のコード（例えば、「ＩＮＣＴＥＮＳＯＵ  ＡＥ，（ＨＬ）」命令のコードがＥＤＤ５Ｈ）と、第１オペランドＯＰ１にアキュムレータを含まない命令のうちの特定のＩＮＣＴＥＮＳＯＵ命令の機械命令のコード（例えば、「ＩＮＣＴＥＮＳＯＵ  ＢＤ，（ＨＬ）」命令のコードがＥＤＤ６Ｈ）を連番にしている。また、第１オペランドＯＰ１にアキュムレータを含まずペアレジスタを含む命令のうちの複数のＩＮＣＴＥＮＳＯＵ命令の機械命令のコード（例えば、「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令のコードがＥＤ１８Ｈ、「ＩＮＣＴＥＮＳＯＵ  ＤＥ，（ＨＬ）」命令のコードがＥＤ１９Ｈ）と、第１オペランドＯＰ１にアキュムレータを含まない命令のうちの特定のＩＮＣＴＥＮＳＯＵ命令の機械命令のコード（例えば、「ＩＮＣＴＥＮＳＯＵ  ＢＤ，（ＨＬ）」命令のコードがＥＤＤ６Ｈ）とを離れた番号にしている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令（隠し命令）を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。
【０２８５】
「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令を例に挙げると、第２オペランドで示されるペアレジスタＨＬに記憶された２バイト長の値に１を加算し、加算後のペアレジスタＨＬの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、第１オペランドで示されるペアレジスタＢＣのうちの下位のレジスタＣに記憶した後に、第２オペランドで示されるペアレジスタＨＬに記憶された２バイト長の値にさらに１を加算し、加算後のペアレジスタＨＬの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、第１オペランドで示されるペアレジスタＢＣのうちの上位のレジスタＢに記憶するための命令である。ＩＮＣＴＥＮＳＯＵ命令は、ＨＬレジスタの値で示されるアドレスの次以降のアドレスに格納されている値をレジスタに転送するのに適している。また、ＩＮＣＴＥＮＳＯＵ命令は、該命令実行後にＨＬレジスタに記憶された値が示すアドレスに格納された値に基づいて該命令を繰り返すか否かの判断処理を行う場合、繰り返すと判断した場合には該命令でＨＬレジスタにプラス１することでＨＬレジスタに記憶された値が示すアドレスを次のアドレスにできるために該命令を使用するのに適している。
【０２８６】
例えば、上述の特別図柄変動時間抽選処理のステップＳ１１０９では、「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」を実行することによって、ＨＬレジスタに記憶された２バイト長の値（１７４ＦＨ）に１を加算し、加算後のＨＬレジスタの値（１７５０Ｈ）で示されるアドレスに記憶された１バイト長の値（ＡＥＨ）を、ＢＣレジスタのうちの下位のＣレジスタに記憶した後に、ＨＬレジスタに記憶された２バイト長の値にさらに１を加算し、加算後のＨＬレジスタの値（１７５１Ｈ）で示されるアドレスに記憶された１バイト長の値（２０）を、ＢＣレジスタのうちの上位のＢレジスタに記憶している。
【０２８７】
また、「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令では、必要なステート数は１４ステート、必要なバイト数は２バイトである。一方、従来の命令によってＩＮＣＴＥＮＳＯＵ命令と同様の処理を行う場合には、図３６に示すように、必要なステート数は２６ステート（＝６＋７＋６＋７）、必要なバイト数は４バイト（＝１＋１＋１＋１）である。したがって、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレスに格納された値をＢＣレジスタに転送する場合に「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているＲＯＭの記憶領域を有効に利用することができる場合がある。
【０２８８】
また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。特に、本実施形態では、ステップＳ１１０９〜Ｓ１１１１のループ処理、またはステップＳ１１１４〜Ｓ１１１６のループ処理においてＩＮＣＴＥＮＳＯＵ命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。
【０２８９】
＜特殊命令／ＴＥＮＳＯＵＩＮＣ命令＞
特殊命令の一つであるＴＥＮＳＯＵＩＮＣ命令（ＴＥＮＳＯＵＩＮＣ  ＯＰ１，ＯＰ２）は、第２オペランドＯＰ２で示される２つのレジスタの値で示されるアドレスに記憶された１バイト長の値を、第１オペランドＯＰ１で示される２つのレジスタのうちの下位のレジスタに記憶し、第２オペランドＯＰ２で示される２つのレジスタに記憶された２バイト長の値に１を加算した後に、第２オペランドＯＰ２で示される２つのレジスタの値で示されるアドレスに記憶された１バイト長の値を、第１オペランドＯＰ１で示される２つのレジスタのうちの上位のレジスタに記憶し、第２オペランドＯＰ２で示される２つのレジスタに記憶された２バイト長の値にさらに１を加算するための命令である。ＴＥＮＳＯＵＩＮＣ命令の命令コードの上位１バイトは固定値（この例ではＥＤＨ）とし、下位バイトは、命令データテーブルの上位ビット１Ｈ（０００１Ｂ）と下位ビット６Ｈ（０１１０Ｂ）〜７Ｈ（０１１１Ｂ）の組合せと、命令データテーブルの上位ビットＤＨ（１１０１Ｂ）と下位ビット０Ｈ（００００Ｂ）〜２Ｈ（００１０Ｂ）の組合せに割り当てている。本例では、第１オペランドＯＰ１にアキュムレータを含む機械命令のコードを連番（例えば、「ＴＥＮＳＯＵＩＮＣ  ＡＣ，（ＨＬ）」命令のコードがＥＤＤ０Ｈ、「ＴＥＮＳＯＵＩＮＣ  ＡＥ，（ＨＬ）」のコードがＥＤＤ１Ｈ）にしている。また、第１オペランドＯＰ１にアキュムレータを含む命令のうちの特定のＴＥＮＳＯＵＩＮＣ命令の機械命令のコード（例えば、「ＴＥＮＳＯＵＩＮＣ  ＡＥ，（ＨＬ）」命令のコードがＥＤＤ１Ｈ）と、第１オペランドＯＰ１にアキュムレータを含まない命令のうちの特定のＴＥＮＳＯＵＩＮＣ命令の機械命令のコード（例えば、「ＴＥＮＳＯＵＩＮＣ  ＢＤ，（ＨＬ）」命令のコードがＥＤＤ２Ｈ）を連番にしている。また、第１オペランドＯＰ１にアキュムレータを含まずペアレジスタを含む命令のうちの複数のＴＥＮＳＯＵＩＮＣ命令の機械命令のコード（例えば、「ＴＥＮＳＯＵＩＮＣ  ＢＣ，（ＨＬ）」命令のコードがＥＤ１６Ｈ、「ＴＥＮＳＯＵＩＮＣ  ＤＥ，（ＨＬ）」命令のコードがＥＤ１７Ｈ）と、第１オペランドＯＰ１にアキュムレータを含まない命令のうちの特定のＴＥＮＳＯＵＩＮＣ命令の機械命令のコード（例えば、「ＴＥＮＳＯＵＩＮＣ  ＢＤ，（ＨＬ）」命令のコードがＥＤＤ２Ｈ）とを離れた番号にしている。また、ＴＥＮＳＯＵＩＮＣ命令とＩＮＣＴＥＮＳＯＵ命令は、同一の第１オペランドＯＰ１の命令はＴＥＮＳＯＵＩＮＣ命令のほうがＩＮＣＴＥＮＳＯＵ命令よりも番号が若い（例えば、「ＴＥＮＳＯＵＩＮＣ  ＢＣ，（ＨＬ）」命令のコードがＥＤ１６Ｈ、「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令のコードがＥＤ１８Ｈ）。また、第１オペランドＯＰ１にアキュムレータを含むＴＥＮＳＯＵＩＮＣ命令の機械命令のコード（例えば、「ＴＥＮＳＯＵＩＮＣ  ＡＣ，（ＨＬ）」命令のコードがＥＤＤ０Ｈ）と、第１オペランドＯＰ１にアキュムレータを含むＩＮＣＴＥＮＳＯＵ命令の機械命令のコード（例えば、「ＩＮＣＴＥＮＳＯＵ  ＡＣ，（ＨＬ）」命令のコードがＥＤＤ４Ｈ）とは離れた番号、および／またはＴＥＮＳＯＵＩＮＣ命令とＩＮＣＴＥＮＳＯＵ命令以外の命令の機械命令のコード（例えば、コードＥＤＤ３Ｈ）の前後にしている。
【０２９０】
「ＴＥＮＳＯＵＩＮＣ  ＢＣ，（ＨＬ）」命令を例に挙げると、第２オペランドで示されるペアレジスタＨＬの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、第１オペランドで示されるペアレジスタＢＣのうちの下位のレジスタＣに記憶し、第２オペランドで示されるペアレジスタＨＬに記憶された２バイト長の値に１を加算した後に、第２オペランドで示されるペアレジスタＨＬの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、第１オペランドで示されるペアレジスタＢＣのうちの上位のレジスタＢに記憶し、第２オペランドで示されるペアレジスタＨＬに記憶された２バイト長の値にさらに１を加算するための命令である。ＴＥＮＳＯＵＩＮＣ命令は、ＨＬレジスタの値で示されるアドレス以降のアドレスに格納されている値をレジスタに転送するのに適している。また、ＴＥＮＳＯＵＩＮＣ命令は、該命令を実行後にＢレジスタの値が０か否かで該命令を繰り返すか否かの判断処理を行う場合、繰り返すと判断した場合には判断前にＨＬレジスタにプラス１されているために該命令を使用するのに適している。また、繰り返し処理を行わない場合にもＴＥＮＳＯＵＩＮＣ命令後はＨＬレジスタの値をプラス１した状態で次の処理を行うことができるので該命令を使用するのに適している。
【０２９１】
また、「ＴＥＮＳＯＵＩＮＣ  ＢＣ，（ＨＬ）」命令では、必要なステート数は１４ステート、必要なバイト数は２バイトである。一方、従来の命令によってＴＥＮＳＯＵＩＮＣ命令と同様の処理を行う場合には、図３６に示すように、必要なステート数は２６ステート（＝７＋６＋７＋６）、必要なバイト数は４バイト（＝１＋１＋１＋１）である。したがって、ＨＬレジスタの値で示されるアドレスと次のアドレスに格納された値をＢＣレジスタに転送する場合に「ＴＥＮＳＯＵＩＮＣ  ＢＣ，（ＨＬ）」命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているＲＯＭの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。なお、ＩＮＣＴＥＮＳＯＵ命令とＴＥＮＳＯＵＩＮＣ命令は、ＣＰＵに両方実行可能に備えるようにしても良いし、何れか一方のみ実行可能に備えるようにしてもよい。
【０２９２】
＜特殊命令／ＣＰＴ命令＞
特殊命令の一つである「ＣＰＴ  Ａ，（ｎ：イミディエイト値）」命令は、Ａレジスタの内容と、Ｔレジスタを上位、イミディエイト値を下位で示すアドレスのデータを比較する命令であり、例えば、ＴレジスタにＦ０Ｈが記憶された状態で「ＣＰＴ  Ａ，（４０Ｈ）」を実行した場合、Ａレジスタの内容と、Ｔレジスタを上位、イミディエイト値を下位で示すアドレス（Ｆ０４０Ｈ）のデータが比較される。
＜特殊命令／ＡＤＤＯＮＥＴＷＯ命令＞
特殊命令の一つであるＡＤＤＯＮＥＴＷＯ命令（ＡＤＤＯＮＥＴＷＯ  ＯＰ１，ＯＰ２）は、第１オペランドＯＰ１で示されるレジスタに記憶された１バイト長の値に、第２オペランドＯＰ２で示される２つのレジスタに記憶された２バイト長の値（または、第２オペランドＯＰ２で示される２バイト長のイミディエイト値）を加算するための命令である。ＡＤＤＯＮＥＴＷＯ命令の命令コードの上位１バイトは固定値（この例ではＥＤＨ）とし、下位バイトは、命令データテーブルの上位ビット４Ｈ（０１００Ｂ）と下位ビットＡＨ（１０１０Ｂ）の組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令（隠し命令）を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、ＡＤＤＯＮＥＴＷＯ命令（ＡＤＤＯＮＥＴＷＯ  ＯＰ１，ＯＰ２）は、キャリーが発生し易く、Ａレジスタに記憶された１バイト長の値（例えば、００Ｈ）にＨＬレジスタに記憶された２バイト長の値（例えば、０１００Ｈ）を加算する場合には、キャリーが発生する。すなわち、Ｈレジスタが００Ｈ以外である場合にＡＤＤＯＮＥＴＷＯ命令（ＡＤＤＯＮＥＴＷＯ  ＯＰ１，ＯＰ２）を実行することでキャリーを発生させることができる。なお、ＡＤＤＴＷＯＯＮＥ命令とＡＤＤＯＮＥＴＷＯ命令は、ＣＰＵに両方備えるようにしても良いし、何れか一方のみ備えるようにしてもよい。
【０２９３】
＜特殊命令／ＳＵＢＴＷＯＯＮＥ命令＞
特殊命令の一つであるＳＵＢＴＷＯＯＮＥ命令（ＳＵＢＴＷＯＯＮＥ  ＯＰ１，ＯＰ２）は、第１オペランドＯＰ１で示される２つのレジスタに記憶された２バイト長の値から、第２オペランドＯＰ２で示されるレジスタに記憶された１バイト長の値（または、第２オペランドＯＰ２で示される１バイト長のイミディエイト値）を減算するための命令である。ＳＵＢＴＷＯＯＮＥ命令の命令コードの上位１バイトは固定値（この例ではＥＤＨ）とし、下位バイトは、命令データテーブルの上位ビット４Ｈ（０１００Ｂ）と下位ビット８Ｈ（１０００Ｂ）の組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令（隠し命令）を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、ＳＵＢＴＷＯＯＮＥ命令（ＳＵＢＴＷＯＯＮＥ  ＯＰ１，ＯＰ２）は、キャリーが発生し難いが、ＨＬレジスタに記憶された２バイト長の値（例えば、０００１Ｈ）からＡレジスタに記憶された１バイト長の値（例えば、ＦＦＨ）を減算する場合には、キャリーが発生する。すなわち、ＳＵＢＴＷＯＯＮＥ命令（ＳＵＢＴＷＯＯＮＥ  ＯＰ１，ＯＰ２）を実行後にキャリーが発生する場合には、Ｈレジスタが００Ｈであると判断することができる。
【０２９４】
＜データテーブルの変形例＞
次に、図３８を用いて、上述のデータテーブルの変形例について説明する。なお、同図は、テーブル選択用テーブル、第１変動パターン選択テーブル、および第２変動パターン選択テーブルの変形例を示した図であり、上記図３２に相当する図である。
【０２９５】
同図（ｂ）に示す第１変動パターン選択テーブルでは、上記図３２（ｂ）に示す第１変動パターン選択テーブルに対して、乱数の個数の項目を乱数の上限の項目に変更している。また、同図（ｃ）に示す第２変動パターン選択テーブルでは、上記図３２（ｃ）に示す第２変動パターン選択テーブルに対して、乱数の個数の値を変更している。
【０２９６】
＜特別図柄変動時間抽選処理の変形例＞
次に、図３９を用いて、上記図３４に示す特別図柄変動時間抽選処理の変形例について説明する。なお、同図は、変形例に係る特別図柄変動時間抽選処理の流れを示すフローチャートである。
【０２９７】
この変形例に係る特別図柄変動時間抽選処理では、上記図３４に示す特別図柄変動時間抽選処理の「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令を用いたステップＳ１１０９の処理やステップＳ１１１４の処理を、「ＩＮＣＴＥＮＳＯＵ  ＡＣ，（ＨＬ）」命令を用いたステップＳ１１５０の処理やステップＳ１１５２の処理に変更するとともに、ステップＳ１１５１、Ｓ１１５３において、上述のＣＰＴ命令を利用している。
【０２９８】
具体的には、ステップＳ１１５０では、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレスに格納された値をＡＣレジスタに転送する（ＩＮＣＴＥＮＳＯＵ  ＡＣ，（ＨＬ））。例えば、ＨＬレジスタの値が１７４ＦＨの場合には、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレス（１７５０Ｈ、１７５１Ｈ）に格納された値をＡＣレジスタに転送することによって、Ａレジスタに１９を、ＣレジスタにＡＥＨを記憶する。
【０２９９】
次のステップＳ１１５１では、「ＣＰＴ  Ａ，（４１Ｈ）」を実行することによって、Ａレジスタの内容と、Ｔレジスタ（Ｆ０Ｈ）を上位、イミディエイト値（４１Ｈ）を下位で示すアドレス（Ｆ０４１Ｈ）のデータ、すなわち、上述の乱数１記憶領域に記憶された乱数１と、を比較する（Ａレジスタの値から乱数１を減算する）。次のステップＳ１１５４では、ステップＳ１１５１の比較（減算）の結果、キャリーが発生しないか否か、すなわち減算の結果が正の値になったかどうかを判定し、該当する場合にはステップＳ１１１２に進み、該当しない場合には該当するまでステップＳ１１５０〜Ｓ１１５１の処理を繰り返し実行する。
【０３００】
また、ステップＳ１１５２では、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレスに格納された値をＡＣレジスタに転送する（ＩＮＣＴＥＮＳＯＵ  ＡＣ，（ＨＬ））。例えば、ＨＬレジスタの値が１７ＦＦＨの場合には、ＨＬレジスタの値で示されるアドレスの次の連続した２つのアドレス（１８００Ｈ、１８０１Ｈ）に格納された値をＡＣレジスタに転送することによって、Ａレジスタに２５５を、Ｃレジスタに０１Ｈを記憶する。
【０３０１】
次のステップＳ１１５３では、「ＣＰＴ  Ａ，（４２Ｈ）」を実行することによって、Ａレジスタの内容と、Ｔレジスタ（Ｆ０Ｈ）を上位、イミディエイト値（４２Ｈ）を下位で示すアドレス（Ｆ０４２Ｈ）のデータ、すなわち、上述の乱数２記憶領域に記憶された乱数２を比較する（Ａレジスタの値から乱数２を減算する）。次のステップＳ１１５５では、ステップＳ１１５３の比較（減算）の結果、キャリーが発生しないか否か、すなわち減算の結果が正の値になったかどうかを判定し、該当する場合にはステップＳ１１１７に進み、該当しない場合には該当するまでステップＳ１１５２〜Ｓ１１５３の処理を繰り返し実行する。
【０３０２】
＜初期設定処理＞
次に、図４０および図４１を用いて、上述の主制御部メイン処理の初期設定２（ステップＳ１０７）で実行される初期設定処理について説明する。なお、図４０（ａ）は、ＲＯＭ３０６に記憶される初期設定データテーブルの一例を示した図であり、同図（ｂ）は、初期設定処理後のＲＡＭ３０８の記憶領域の一部を示した図であり、同図（ｃ）は、初期設定処理の流れを示すフローチャートである。また、図４１は、初期設定処理のプログラムリストの一例である。
【０３０３】
ステップＳ１２０１では、上述のＴＥＮＳＯＵＩＮＣ命令（「ＴＥＮＳＯＵＩＮＣ  ＢＤ，（ＨＬ）」によって、ＨＬレジスタの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、ＢＤレジスタのうちの下位のＤレジスタに記憶し、ＨＬレジスタに記憶された２バイト長の値に１を加算した後に、ＨＬレジスタの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、ＢＣレジスタのうちの上位のＢレジスタに記憶し、ＨＬレジスタに記憶された２バイト長の値にさらに１を加算する。例えば、ＨＬレジスタに、同図（ａ）に示す初期設定データテーブルの先頭アドレスである１００ＤＨを設定した場合には、ＤレジスタにはＦ０Ｈが、Ｂレジスタには３が記憶される。
【０３０４】
次のステップＳ１２０２では、上述のＴＥＮＳＯＵＩＮＣ命令（「ＴＥＮＳＯＵＩＮＣ  ＡＥ，（ＨＬ）」によって、ＨＬレジスタの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、ＡＥレジスタのうちの下位のＥレジスタに記憶し、ＨＬレジスタに記憶された２バイト長の値に１を加算した後に、ＨＬレジスタの値で示されるアドレス（ＨＬ）に記憶された１バイト長の値を、ＡＥレジスタのうちの上位のＡレジスタに記憶し、ＨＬレジスタに記憶された２バイト長の値にさらに１を加算する。例えば、先の例では、Ｅレジスタには、１００ＦＨに記憶されている値である１７Ｈが、Ａレジスタには、１０１０に記憶されている値である０１Ｈが記憶され、ＨＬレジスタの値は１０１１Ｈに更新される。
【０３０５】
次のステップＳ１２０３では、Ａレジスタの値をＤＥレジスタの値で示されるアドレス（ＤＥ）に記憶する。先の例では、Ａレジスタの値である０１Ｈを、ＤＥレジスタの値で示されるアドレスであるＲＡＭ３０８のＦ０１７Ｈに記憶する（同図（ｂ）参照）。
【０３０６】
次のステップＳ１２０４では、Ｂレジスタの値から１を減算し、減算結果が０になるまでステップＳ１２０２〜Ｓ１２０３の処理を繰り返し実行し（ステップＳ１２０２の処理のアドレスまで相対ジャンプして処理を実行し）、減算結果が０になった場合にはステップＳ１２０５に進む。
【０３０７】
先の例では、Ｂレジスタが２の場合には、ステップＳ１２０２の処理により、Ｅレジスタには、１０１１Ｈに記憶されている値である２０Ｈが、Ａレジスタには、１０１２Ｈに記憶されている値である１６Ｈが記憶され、ＨＬレジスタの値は１０１３Ｈに更新され、ステップＳ１２０３の処理により、Ａレジスタの値である１６Ｈを、ＤＥレジスタの値で示されるアドレスであるＲＡＭ３０８のＦ０２０Ｈに記憶する（同図（ｂ）参照）。
【０３０８】
また、Ｂレジスタが１の場合には、ステップＳ１２０２の処理により、Ｅレジスタには、１０１３Ｈに記憶されている値である３ＡＨが、Ａレジスタには、１０１４Ｈに記憶されている値である０６Ｈが記憶され、ＨＬレジスタの値は１０１５Ｈに更新され、ステップＳ１２０３の処理により、Ａレジスタの値である０６Ｈを、ＤＥレジスタの値で示されるアドレスであるＲＡＭ３０８のＦ０３ＡＨに記憶する（同図（ｂ）参照）。なお、上記Ｆ０１７Ｈ、Ｆ０２０Ｈ、Ｆ０３ＡＨに記憶する遊技設定（遊技制御に用いる各種情報）としては、例えば電源ステータス、払出制御コマンド加工種別、表示器表示ステータスなどが挙げられ、また、遊技設定の数は、複数でもよいし、１つのみでもよい。また、初期設定処理（ｍｏＤａｔａＳｅｔ）は、処理開始時のＨＬレジスタの値を異ならせることにより（ＨＬレジスタに設定するアドレスを、初期設定データテーブルとは異なる他のテーブルの先頭アドレスなどに設定することにより）、複数の処理から呼び出し可能な（例えば、ＨＬレジスタを引数として呼び出し可能な）汎用的なデータ設定処理モジュールとして扱ってもよい。この場合、プログラム容量の削減や処理速度の向上を図ることができる。
【０３０９】
この初期設定処理では、ステップＳ１２０１、Ｓ１２０２でＴＥＮＳＯＵＩＮＣ命令を使用しているため、ステート数を従来の２６ステートから１４ステートに削減することができ、処理時間を短縮することができる上に、バイト数を従来の４バイトから２バイトに削減することができ、プログラム容量を削減することができる。特に、この例では、ステップＳ１２０２〜Ｓ２０４のループ処理においてＴＥＮＳＯＵＩＮＣ命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。
【０３１０】
また、ＴＥＮＳＯＵＩＮＣ命令の中でも、Ａレジスタ（アキュムレータ）と他のレジスタのペアをオペランドとする命令（本実施形態では、ＴＥＮＳＯＵＩＮＣ  ＡＣ，（ＨＬ）、ＴＥＮＳＯＵＩＮＣ  ＡＥ，（ＨＬ））は、Ａレジスタの値を変更すると同時に、ペアレジスタ（本実施形態では、ＢＣレジスタとＤＥレジスタ）の上位バイトのレジスタ（本実施形態では、ＢレジスタとＤレジスタ）を固定しつつ、ペアレジスタの下位バイトのレジスタ（本実施形態では、ＣレジスタとＥレジスタ）の値だけを変更することができるため、従来よりも高度なプログラミングが可能で、プログラム容量の削減や処理速度の向上を図ることができる。
【０３１１】
また、ＴＥＮＳＯＵＩＮＣ命令の中でも、第１のペアレジスタ（本実施形態では、ＢＣレジスタ）の上位バイトのレジスタ（本実施形態では、Ｂレジスタ）と、第２のペアレジスタ（本実施形態では、ＤＥレジスタ）の上位バイトのレジスタ（本実施形態では、Ｄレジスタ）のペアをオペランドとする命令（本実施形態では、ＴＥＮＳＯＵＩＮＣ  ＢＤ，（ＨＬ））は、第１のペアレジスタと第２のペアレジスタの上位バイトのレジスタの値のみを変更することができるため、従来よりも高度なプログラミングが可能で、プログラム容量の削減や処理速度の向上を図ることができる。
【０３１２】
また、ＴＥＮＳＯＵＩＮＣ命令の中でも、オペランドにＢレジスタを含む命令（本実施形態では、ＴＥＮＳＯＵＩＮＣ  ＢＣ，（ＨＬ）、ＴＥＮＳＯＵＩＮＣ  ＢＤ，（ＨＬ））を利用し、かつ、上述の初期設定処理のステップＳ１２０２〜Ｓ１２０４のループ処理のように、Ｂレジスタによってループ処理の回数を判定するように構成すれば、ループ処理のプログラム容量の削減や処理速度の向上を図ることができる。
【０３１３】
なお、ＣＰＵ３０４は、ＴＥＮＳＯＵＩＮＣ命令とＩＮＣＴＥＮＳＯＵ命令両方を実行可能であり、遊技制御プログラムは第一の命令（ＴＥＮＳＯＵＩＮＣ）によるテーブルサーチと第二の命令（ＩＮＣＴＥＮＳＯＵ）によるテーブルサーチの両方を実行するようにしてもよい。
【０３１４】
「テーブルサーチ」は一般的な用語どおりの意味としてもよく、例えば、一または複数の行と一または複数の列から構成されたテーブル（例えば、図３２、図３８の第１変動パターン選択テーブル・第２変動パターン選択テーブル、図４０の初期設定データテーブル）から対応する行を探し出し、その行の一または複数の列の値を取り出す処理を示してもよいし、探し出した行のテーブル内の行の位置（例えば行番号）を導出する処理としてもよい。同様に対応する列を探し出し、その列の一または複数の行の値を取り出す処理を示すものとしてもよいし、探し出した列のテーブル内の列の位置（例えば列番号）を導出する処理としてもよい。
【０３１５】
ここで対応する行を探し出す処理は、探している一または複数の値が、テーブル内の特定の行における一または複数の特定の列の値と一致または関係する場合に、当該特定の行を対応する行とするような処理としてもよい。対応する列を探し出す処理も同様としてもよい。
【０３１６】
＜主制御部の第２特殊命令＞
次に、主制御部３００が備える第２特殊命令について説明する。図４２（ａ）は、主制御部３００が備える第２特殊命令の一部を示した図である。
【０３１７】
＜第２特殊命令／ＣＰＲＴ命令（演算＋リターン命令）＞
第２特殊命令の一つである「ＣＰＲＴＺ  ｒ」命令（または、「ＣＰＲＴＺ  （ｒｒ）」命令）は、オペランドｒが示すレジスタ（または、オペランド（ｒｒ）が示すペアレジスタｒｒに格納されたアドレス）に記憶された値から０を減算し、Ｚフラグが１にセットされる状態の場合（減算結果が０の場合。以下、同じ）に、スタックポインタＳＰが示すスタック領域ＳＰに記憶されたデータをプログラムカウンタＰＣの下位アドレスに、また、スタックポインタＳＰが示すスタック領域ＳＰ＋１に記憶されたデータをプログラムカウンタＰＣの上位アドレスにそれぞれロード（復帰）した後にスタックポインタＳＰを２つ加算してからＺフラグを１にセットし、Ｚフラグが０にクリアされる状態の場合（減算結果が０以外の場合。以下、同じ）に、後続の処理のアドレスをプログラムカウンタＰＣにセットしてからＺフラグを０にクリアする命令である。なお、プログラムカウンタＰＣをセットするタイミングとＺフラグを０にクリアするタイミングは、逆でもよいし、同時でもよい。
【０３１８】
また、「ＣＰＲＴＮＺ  ｒ」命令（または、「ＣＰＲＴＮＺ  （ｒｒ）」命令）は、オペランドｒが示すレジスタ（または、オペランド（ｒｒ）が示すペアレジスタｒｒに格納されたアドレス）に記憶された値から０を減算し、Ｚフラグが０にクリアされる状態の場合に、スタックポインタＳＰが示すスタック領域ＳＰに記憶されたデータをプログラムカウンタＰＣの下位アドレスに、また、スタックポインタＳＰが示すスタック領域ＳＰ＋１に記憶されたデータをプログラムカウンタＰＣの上位アドレスにそれぞれロード（復帰）した後にスタックポインタＳＰを２つ加算してからＺフラグを０にクリアし、Ｚフラグが１にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタＰＣにセットしてからＺフラグを１にセットする命令である。なお、オペランドｒが示すレジスタとしては、Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタなどが挙げられ、オペランドｒｒが示すペアレジスタとしては、ＢＣ、ＤＥ、ＨＬなどが挙げられる（次のＣＰＪＲ命令も同様）。
【０３１９】
＜第２特殊命令／ＣＰＪＲ命令（演算＋ジャンプ命令）＞
第２特殊命令の一つである「ＣＰＪＲＺ  ｒ、ｅ」命令（または、「ＣＰＪＰＺ  （ｒｒ）、ｅ」命令）は、オペランドｒが示すレジスタ（または、オペランド（ｒｒ）が示すペアレジスタｒｒに格納されたアドレス）に記憶された値から０を減算し、Ｚフラグが１にセットされる状態の場合にプログラムカウンタＰＣ＋ｅ（ｅは＋１２７〜−１２８の数値）が示すアドレスにジャンプしてからＺフラグを１にセットし、Ｚフラグが０にクリアされる状態の場合に、後続の処理のアドレスをプログラムカウンタＰＣにセットしてからＺフラグを０にクリアする命令である。また、「ＣＰＪＲＮＺ  ｒ、ｅ」命令（または、「ＣＰＪＰＮＺ  （ｒｒ）、ｅ」命令）は、オペランドｒが示すレジスタ（または、オペランドｒｒが示すペアレジスタ）に記憶された値から０を減算し、Ｚフラグが０にクリアされる状態の場合にプログラムカウンタＰＣ＋ｅ（ｅは＋１２７〜−１２８の数値）が示すアドレスにジャンプしてからＺフラグを０にクリアし、Ｚフラグが１にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタＰＣにセットしてからＺフラグを１にセットする命令である。
【０３２０】
また、「ＣＰＪＲＣ  ｒ、ｎ、ｅ」命令（または、「ＣＰＪＲＣ  （ｒｒ）、ｎ、ｅ」命令）は、オペランドｒが示すレジスタ（または、オペランド（ｒｒ）が示すペアレジスタｒｒに格納されたアドレス）に記憶された値からｎ（８ビット長のイミディエイト値）を減算し、Ｃフラグが１にセットされる状態の場合（減算結果が０の場合。以下、同じ）に、プログラムカウンタＰＣ＋ｅ（ｅは＋１２７〜−１２８の数値）が示すアドレスにジャンプしてからＣフラグを１にセットし、Ｃフラグが０にクリアされる状態の場合（減算結果が０以外の場合。以下、同じ）に、後続の処理のアドレスをプログラムカウンタＰＣにセットしてからＣフラグを０にセットする命令である。また、「ＣＰＪＲＮＣ  ｒ、ｎ、ｅ」命令（または、「ＣＰＪＲＮＣ  （ｒｒ）、ｎ、ｅ」命令）は、オペランドｒが示すレジスタ（または、オペランド（ｒｒ）が示すペアレジスタｒｒに格納されたアドレス）に記憶された値からｎ（８ビット長のイミディエイト値）を減算し、Ｃフラグが０にクリアされる状態の場合に、プログラムカウンタＰＣ＋ｅ（ｅは＋１２７〜−１２８の数値）が示すアドレスにジャンプしてからＣフラグを０にクリアし、Ｃフラグが１にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタＰＣにセットしてからＣフラグを１にセットする命令である。
【０３２１】
図４２（ｂ）は、第２特殊命令を実行する前後のフラグレジスタの状態を示した図である。主制御部３００は、Ｓフラグ、Ｚフラグ、ＳＺフラグ、Ｈフラグ、、Ｐ／Ｖフラグ、Ｎフラグ、Ｃフラグを有する８ビットのフラグレジスタを備えている。このフラグレジスタに含まれるＳフラグ、Ｚフラグ、ＳＺフラグ、Ｈフラグ、Ｃフラグは、第２特殊命令の実行や、その他の算術論理演算命令の実行によって１にセットされるか０にクリアされる。
【０３２２】
＜ＣＰＪＲ命令を用いた処理＞
次に、ＣＰＪＲ命令を用いた処理について説明する。図４３は、ＣＰＪＲ命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、処理Ｘを実行した後に、ＣＰＪＲ命令を実行し、所定条件が成立した場合に処理Ｚにジャンプする処理を行い、所定条件が成立しなかった場合に後続の処理Ｙを実行する処理を行う。
【０３２３】
ここで、「所定条件が成立した場合」とは、上述の「ＣＰＪＲＺ  ｒ、ｅ」命令（または、「ＣＰＪＲＺ  （ｒｒ）、ｅ」命令）であれば、Ｚフラグが１にセットされる状態となった場合であり、上述の「ＣＰＪＰＮＺ  ｒ、ｅ」命令（または、「ＣＰＪＲＮＺ  （ｒｒ）、ｅ」命令）であれば、Ｚフラグが０にクリアされる状態になった場合である。また、上述の「ＣＰＪＲＣ  ｒ、ｎ、ｅ」命令（または、「ＣＰＪＰＣ  （ｒｒ）、ｎ、ｅ」命令）であれば、Ｃフラグが１にセットされる状態になった場合であり、「ＣＰＪＲＮＣ  ｒ、ｎ、ｅ」命令（または、「ＣＰＪＰＮＣ  （ｒｒ）、ｎ、ｅ」命令）であれば、Ｃフラグが０にクリアされる状態になった場合である。
【０３２４】
また、ＣＰＪＲ命令の実行前に行われる処理Ｘにおけるフラグレジスタの内容が第１の内容αであった場合、ＣＰＪＲ命令の実行により、後続の処理Ｙ、処理Ｚにおけるフラグレジスタの内容は第２の内容βに変化する。しかしながら、本実施形態では、ＣＰＪＲ命令の実行中にフラグレジスタの内容を参照しないことに加えて、ＣＰＪＲ命令の実行後の処理Ｙ、処理Ｚでも、ＣＰＪＲ命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。
【０３２５】
このように、ＣＰＪＲ命令の実行中にフラグレジスタの内容を参照しないことに加えて、ＣＰＪＲ命令の実行によりフラグレジスタの内容を変化させるが、ＣＰＪＲ命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。なお、この例では、ＣＰＪＲ命令の実行中にフラグレジスタの内容を参照しないように構成したが、ＣＰＪＲ命令の実行中にはフラグレジスタの内容を参照し、ＣＰＪＲ命令の実行後に行う所定の処理においてはＣＰＪＲ命令の実行前に変化したフラグレジスタの内容を参照することなく処理を行うように構成しても、同様の効果を得ることができる場合がある（以下、同様）。
【０３２６】
図４４（ａ）は、従来の命令を用いたプログラムの一例を示した図であり、同図（ｂ）は、ＣＰＪＲ命令を用いたプログラムの一例である。例えば、Ａレジスタの値が０であるか０以外であるかを判定し、Ａレジスタの値が０の場合に所定の処理にジャンプするプログラムを組む場合、同図（ａ）に示す従来のプログラムでは、（１−１）に示すＡＮＤ命令（ＡＮＤ  Ａ）と、（１−２）に示すＪＲ命令（ＪＲ  Ｚ、ＩＴｍｒＲｎｗＣｔｌ０２０）の２つの命令によって実現する必要があるが、同図（ｂ）に示す本実施形態のプログラムでは、（２−１）に示す１つのＣＰＪＲ命令（ＣＰＪＲＺ  Ａ、ＩＴｍｒＲｎｗＣｔｌ０２０）だけで同一の処理を実現している。
【０３２７】
このように、所定条件が成立するか否かを判定し、所定条件が成立した場合に所定の処理にジャンプするプログラムを組む場合にＣＰＪＲ命令を用いれば、従来よりもプログラムコードを減らすことができ、限られたメモリを有効に活用できる場合がある。
【０３２８】
また、同図（ｂ）に示す本実施形態のプログラムでは、（２−１）に示すＣＰＪＲ命令（ＣＰＪＲＺ  Ａ、ＩＴｍｒＲｎｗＣｔｌ０２０）の実行後の処理Ｙ、処理Ｚでは、ＣＰＪＲ命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。このように、ＣＰＪＲ命令の実行によりフラグレジスタの内容を変化させる一方で、ＣＰＪＲ命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３２９】
なお、同図（ｂ）に示す本実施形態のプログラムの処理Ｚに続く処理Ｖでは、ＣＰＪＲ命令の実行後に他の命令（この例では、「ＯＲ  （ＨＬ）」命令）によって変化したフラグレジスタの内容（この例では、Ｚフラグの内容）に基づいた処理（この例では、ＪＲ命令）を行っている。このように、フラグレジスタの内容を参照しない処理Ｚとフラグレジスタの内容を参照する処理Ｖを連続させれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３３０】
さらに、この例では、処理ＺでＬＤ命令（ロード命令）を実行しているが、ＬＤ命令は命令の実行後にＺフラグを変化させずにＳＺフラグを変化させる命令の一つであるため、「ＬＤ  Ａ、（ＨＬ）」命令の実行後にはＺフラグは変化しないが、ＳＺフラグが変化する。一方、その後の処理Ｖでは「ＪＲ  Ｚ、ＩＴｍｒＲｎｗＣｔＬ０４０」を実行しているが、ここでは、処理Ｚの「ＬＤ  Ａ、（ＨＬ）」命令の実行によって変化していないＺフラグを参照して分岐処理を行っている。
【０３３１】
このように、ＳＺフラグとＺフラグを含む複数のフラグの値を変化させる第１の命令（例えば、ＣＰＪＲ命令）を実行し、当該フラグを参照しない第２の命令（例えば、ＤＥＣ  Ａ命令）を実行し、ＺフラグとＳＺフラグのうちいずれか一方のみが変化する第３の命令（例えば、ＬＤ命令）を実行し、変化しない方（変化した方）のフラグを参照する第４の命令（例えば、ＪＲ  Ｚ命令）を実行するように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３３２】
図４５は、ＣＰＪＲ命令を用いた他の処理の一例を示した図である。同図に示す第一のモジュールでは、処理Ｘを実行した後に、ＣＰＪＲ命令を実行し、所定条件が成立した場合に、第一のモジュールとは異なる第二のモジュールにジャンプして処理Ｚを行い、所定条件が成立しなかった場合に後続の処理Ｙを実行している。このように、ＣＰＪＲ命令を用いて所定条件が成立した場合に所定の処理にジャンプするプログラムを組む場合には、同一のモジュール内の処理だけではなく、他のモジュールの処理にジャンプさせてもよい。
【０３３３】
図４６は、上述の処理Ｖを含む、ＣＰＪＲ命令を用いた他の処理の一例を示した図である。同図に示す第二のモジュールでは、処理Ｚを実行した後に、算術論理演算命令を実行し、当該命令の実行によって変化したフラグレジスタの内容γに基づいて分岐処理を行っている。このように、ＣＰＪＲ命令の実行によって変化したフラグレジスタに基づいた処理は行わず、ＣＰＪＲ命令以外の命令（この例では、算術論理演算命令）の実行によって変化したフラグレジスタに基づいた処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３３４】
＜ＣＰＲＴ命令を用いた処理＞
次に、ＣＰＲＴ命令を用いた処理について説明する。図４７は、ＣＰＲＴ命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、ＣＡＬＬ命令を実行して第二のモジュールを呼び出し、呼び出し先の第二のモジュールで処理Ｘを実行した後に、ＣＰＲＴ命令を実行し、所定条件が成立した場合に呼び出し元の第一のモジュールに戻って処理Ｚを行い、所定条件が成立しなかった場合に後続の処理Ｙを実行している。
【０３３５】
ここで、「所定条件が成立した場合」とは、上述の「ＣＰＲＴＺ  ｒ」命令（または、「ＣＰＲＴＺ  （ｒｒ）」命令）であれば、Ｚフラグが１にセットされる状態になった場合であり、上述の「ＣＰＲＴＮＺ  ｒ」命令（または、「ＣＰＲＴＮＺ  （ｒｒ）」命令）であれば、Ｚフラグが０にクリアされる状態になった場合である。
【０３３６】
また、ＣＰＲＴ命令の実行前に行われる処理Ｘにおけるフラグレジスタの内容が第１の内容αであった場合、ＣＰＲＴ命令の実行により、後続の処理Ｙ、処理Ｚにおけるフラグレジスタの内容は第２の内容βに変化する。しかしながら、ＣＰＲＴ命令の実行中にフラグレジスタを参照しないことに加えて、ＣＰＲＴ命令の実行後の処理Ｙ、処理Ｚでも、ＣＰＲＴ命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。
【０３３７】
このように、ＣＰＲＴ命令の実行中にフラグレジスタを参照しないことに加えて、ＣＰＲＴ命令の実行によりフラグレジスタの内容を変化させる一方で、ＣＰＲＴ命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３３８】
図４８（ａ）は、ＣＰＲＴ命令を用いたプログラムの一例を示した図であり、同図（ｂ）は、従来の命令を用いたプログラムの一例である。例えば、Ａレジスタの値が０であるか０以外であるかを判定し、Ａレジスタの値が０の場合に所定の処理にリターン（復帰）するプログラムを組む場合、同図（ｂ）に示す従来のプログラムでは、（１−１）に示すＡＮＤ命令（ＡＮＤ  Ａ）と（１−２）に示すＲＥＴ命令（ＲＥＴ  Ｚ）の２つの命令によって実現する必要があるが、同図（ａ）に示す本実施形態のプログラムでは、（２−１）に示す１つのＣＰＲＴ命令（ＣＰＲＴＺ  Ａ）だけで同一の処理を実現している。
【０３３９】
このように、所定条件が成立するか否かを判定し、所定条件が成立した場合に所定の処理にリターン（復帰）するプログラムを組む場合にＣＰＲＴ命令を用いれば、従来よりもプログラムコードを減らすことができ、限られたメモリを有効に活用できる場合がある。
【０３４０】
また、同図（ａ）に示す本実施形態のプログラムでは、（２−１）に示すＣＰＲＴ命令（ＣＰＲＴＺ  Ａ）の実行後の処理Ｙ、処理Ｚでは、ＣＰＲＴ命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。このように、ＣＰＲＴ命令の実行によりフラグレジスタの内容を変化させる一方で、ＣＰＲＴ命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３４１】
なお、同図（ａ）に示す本実施形態のプログラムの処理Ｚに続く処理Ｖでは、ＣＰＲＴ命令の実行後に他の命令によって変化したフラグレジスタの内容に基づいた処理を行っている。このように、フラグレジスタの内容を参照しない処理Ｚとフラグレジスタの内容を参照する処理Ｖを連続させれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。
【０３４２】
＜主制御部の第３特殊命令＞
次に、主制御部３００が備える第３特殊命令について説明する。図４９は、主制御部３００が備える第３特殊命令の一部を示した図である。
【０３４３】
＜第３特殊命令／ＲＥＳ命令＞
第３特殊命令の一つである「ＲＥＳｍＺ  ｎ、ｒ」命令（ｍは０〜７の数値）は、第２オペランドｒで示されるレジスタに記憶されている値のうち、ｍで示されるビットのアクセスを禁止するとともに、第１オペランドで示されるビットｎ（ｎは、ｍを除く０〜７の数値）を０にリセットする命令である。また、「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令（ｍは０〜７の数値）は、第２オペランド（ｒｒ）で示されるペアレジスタｒｒに格納されたアドレスに記憶されているアドレスに格納された値のうち、ｍで示されるビットのアクセスを禁止するとともに、第１オペランドで示されるｎビット（ｎは、ｍを除く０〜７の数値）を０にリセットする命令である。
【０３４４】
例えば、図５０（ａ）に示すように、「ＲＥＳ２Ｚ  ２、Ｌ」命令は、第２オペランドＬで示されるＬレジスタに記憶されている値のうち、ｍで示されるビット（この例では、ビット２）のアクセスを禁止するとともに、第１オペランドで示されるビット２を０にリセットする命令であり、この命令ではＬレジスタのビット２は０にリセットされない。一方、同図（ｂ）に示すように、「ＲＥＳ２Ｚ  ４、Ｌ」命令は、第２オペランドＬで示されるＬレジスタに記憶されている値のうち、ｍで示されるビット（この例では、ビット２）のアクセスを禁止するとともに、第１オペランドで示されるビット４を０にリセットする命令であり、この命令では、Ｌレジスタのビット２のアクセスは禁止されるがビット４は０にリセットされる。
【０３４５】
また、図５１（ａ）に示すように、「ＲＥＳ２Ｚ  ２、（ＨＬ）」命令は、第２オペランド（ＨＬ）で示されるペアレジスタＨＬに記憶されているアドレス（この例では、Ｆ０１０Ｈ）に格納された値のうち、ｍで示されるビット（この例では、ビット２）のアクセスを禁止するとともに、第１オペランドで示されるビット２を０にリセットする命令であり、この命令では、Ｆ０１０Ｈに格納されている値のビット２は０にリセットされない。一方、同図（ｂ）に示すように、「ＲＥＳ２Ｚ  ４、（ＨＬ）」命令は、第２オペランド（ＨＬ）で示されるペアレジスタＨＬに記憶されているアドレス（この例では、Ｆ０１０Ｈ）に格納された値のうち、ｍで示されるビット（この例では、ビット２）のアクセスを禁止するとともに、第１オペランドで示されるビット４を０にリセットする命令であり、この命令では、Ｆ０１０Ｈに格納されている値のビット２のアクセスは禁止されるがビット４が０にリセットされる。
【０３４６】
このようなＲＥＳ命令によれば、所定のビットのアクセスを禁止しつつ、同時に他のビットを０にリセットすることができるため、所定のビットの数値を保護することができ、所定のビットが予期しない数値に変化して不具合を起こすような事態を未然に防止できる場合がある。
【０３４７】
図５２は、主制御部３００の命令マップのうち、ＲＥＳ命令に該当する部分を抜き出して示した図である。上述のとおり、「ＲＥＳ２Ｚ  ２、Ｌ」命令と「ＲＥＳ２Ｚ  ２、（ＨＬ）」命令は、ビット２のアクセスが禁止されビット２がリセットできない命令であるため（実質的に意味の無い命令であるため）、同図の太線の四角で示すように、「ＲＥＳ２Ｚ  ２、Ｌ」命令に該当する２５Ｈの部分と、「ＲＥＳ２Ｚ  ２、（ＨＬ）」命令に該当する２６Ｈの部分は空き領域とされている。このように、命令マップの一部に空き領域を設けることによって、命令マップを使ったプログラム（機械語）の解析を困難にすることができる場合がある。
【０３４８】
＜ＲＥＳ命令の変形例１＞
図５３は、変形例１に係るＲＥＳ命令を示した図である。ＲＥＳ命令の変形である「ＲＥＳｍＺ  ｎ、ｒ」命令（ｍは１〜２５４の１０進数の数値）は、第２オペランドｒで示されるレジスタに記憶されている値のうち、１０進数のｍを１バイトの２進数に変換したときに１がセットされるビットのアクセスを禁止するとともに、第１オペランドで示されるビットｎ（ｎは、ｍを１バイトの２進数に変換したときに１がセットされないビット）を０にリセットする命令である。また、「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令（ｍは１〜２５４の１０進数の数値）は、第２オペランドｒｒで示されるペアレジスタに記憶されているアドレスに格納された値のうち、１０進数のｍを１バイトの２進数に変換したときに１がセットされるビットのアクセスを禁止するとともに、第１オペランドで示されるｎビット（ｎは、ｍを２進数に変換したときに１がセットされないビット番号）を０にリセットする命令である。
【０３４９】
例えば、図５４（ａ）に示すように、「ＲＥＳ２Ｚ  ４、Ｌ」命令は、第２オペランドＬで示されるレジスタＬに記憶されている値のうち、１０進数の２を１バイトの２進数に変換したときに１がセットされるビット（この例では、ビット１）のアクセスを禁止するとともに、第１オペランドで示されるビット４を０にリセットする命令である。また、同図（ｂ）に示すように、「ＲＥＳ３Ｚ  ４、Ｌ」命令は、第２オペランドＬで示されるレジスタＬに記憶されている値のうち、１０進数の３を１バイトの２進数に変換したときに１がセットされるビット（この例では、ビット１、ビット０）のアクセスを禁止するとともに、第１オペランドで示されるビット４を０にリセットする命令である。
【０３５０】
図５５は、変形例１に係るＲＥＳ命令を用いたプログラムの一例を示した図である。上述のとおり、「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令（ｍは１〜２５４の１０進数の数値）は、第２オペランド（ｒｒ）で示されるペアレジスタｒｒに記憶されているアドレスに格納された値のうち、１０進数のｍを１バイトの２進数に変換したときに１がセットされるビットのアクセスを禁止するとともに、第１オペランドで示されるｎビット（ｎは、ｍを２進数に変換したときに１がセットされないビット番号）を０にリセットする命令である。
【０３５１】
したがって、同図の（３−１）に示す「ＲＥＳ２５１Ｚ  ２（＝ｅｂＣＳ２０ｐｎＳＧｔ）、（ＨＬ）」命令は、第２オペランド（ＨＬ）で示されるペアレジスタＨＬに記憶されているアドレス（この例では、Ｆ０９６Ｈ（＝ｖ０ｐｔＣＳ２））に格納された値のうち、１０進数の２５１を１バイトの２進数に変換したときに１がセットされるビット（この例では、ビット０〜１、３〜７）のアクセスを禁止するとともに、第１オペランドで示されるビット（この例では、ビット２）を０にリセットする命令である。
【０３５２】
このようなＲＥＳ命令によれば、所定のビットのアクセスを禁止しつつ、同時に他のビットを０にリセットすることができるため、所定のビットの数値を保護することができ、従来のビット操作命令（例えば、ＣＬＲ命令、ＳＥＴ命令、ＲＥＳ命令、ＢＩＴ命令など）のように、コーディングミスなどによって所定のビットが予期しない数値に変更されてしまうような事態を未然に防止でき、デバックやテストの作業を短縮化でき、また、安定した遊技制御を行うことができる場合がある。また、アクセスを禁止するビットを１０進数の数値で指定することができるため、プログラムの解析を困難にすることができる場合がある。
【０３５３】
＜ＲＥＳ命令の変形例２＞
図５６は、変形例２に係るＲＥＳ命令を示した図である。ＲＥＳ命令の変形である「ＲＥＳｍＺ  ｎ、ｒ」命令（ｍは０〜７の数値）は、第２オペランドｒで示されるレジスタを含むペアレジスタに記憶されている値のうち、ｍで示されるビットのアクセスを禁止するとともに、第１オペランドで示されるビットｎ（ｎは、ｍを除く０〜８の数値）を０にリセットする命令である。また、「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令（ｍは０〜７の数値）は、第２オペランド（ｒｒ）で示されるペアレジスタｒｒに記憶されているアドレスと、このアドレスに連続するアドレスに格納された２バイト長の値のうち、ｍで示されるビットのアクセスを禁止するとともに、第１オペランドで示されるビットｎ（ｎは、ｍを除く０〜８の数値）を０にリセットする命令である。
【０３５４】
例えば、図５７に示すように、「ＲＥＳ２Ｚ  ８、Ｌ」命令は、第２オペランドＬで示されるレジスタＬを含むペアレジスタＨＬに記憶されている値のうち、２で示されるビット（ビット２）のアクセスを禁止するとともに、第１オペランドで示されるビット８（この例では、ＨＬレジスタの上位バイトであるＨレジスタのビット０）を０にリセットする命令である。
【０３５５】
また、図５８に示すように、「ＲＥＳ２Ｚ  ８、（ＨＬ）」命令は、第２オペランド（ＨＬ）で示されるペアレジスタＨＬに記憶されているアドレス（この例では、Ｆ０１０Ｈ）と、このアドレスに連続するアドレス（この例では、Ｆ０１１Ｈ）に格納された２バイト長の値のうち、２で示されるビット（ビット２）のアクセスを禁止するとともに、第１オペランドで示されるビット８（この例では、Ｆ０１０Ｈに連続するＦ０１１Ｈに格納された値のビット０値）を０にリセットする命令である。
【０３５６】
図５９は、主制御部３００の命令マップのうち、変形例２に係るＲＥＳ命令に該当する部分を抜き出して示した図である。上述のとおり、「ＲＥＳ２Ｚ  ２、Ｌ」命令と「ＲＥＳ２Ｚ  ２、（ＨＬ）」命令は、ビット２のアクセスが禁止されビット２がリセットできない命令であるため、同図に太線の四角で示すように、これらの命令に替えて、「ＲＥＳ２Ｚ  ８、Ｌ」命令と「ＲＥＳ２Ｚ  ８、（ＨＬ）」命令を割り当てている。このように、命令マップの一部の並び順を不規則にすることによって、プログラム（機械語）の解析を困難にすることができる場合がある。
【０３５７】
＜ＲＥＳ命令の他の変形例＞
図６０は、ＲＥＳ命令の他の変形例を示した図である。例えば、同図（ａ）に示すＲＥＳ命令では、上述の変形例１の「ＲＥＳｍＺ  ｎ、ｒ」命令または「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令（ｍは１〜２５４の１０進数の数値）において、数値ｍに０が指定できるように変更し、０を指定した場合には全てのビットのアクセスを許可するように構成している。また、同図（ｂ）に示すＲＥＳ命令では、上述の変形例１の「ＲＥＳｍＺ  ｎ、ｒ」命令または「ＲＥＳｍＺ  ｎ、（ｒｒ）」命令（ｍは１〜２５４の１０進数の数値）において、数値ｍの指定が省略できるように変更し、指定を省略した場合には全てのビットのアクセスを許可するように構成している。
【０３５８】
図６１（ａ）は、所定ビットのアクセスを禁止しないＲＥＳ命令を備えた場合の命令マップと、所定ビットのアクセスを禁止するＲＥＳ命令を備えた場合の命令マップを示した図である。このように、所定ビットのアクセスを禁止しないＲＥＳ命令を備えた場合と、所定ビットのアクセスを禁止するＲＥＳ命令を備えた場合で命令マップの一部の並び順を変更することによって、プログラム（機械語）の解析を困難にすることができる場合がある。
【０３５９】
また、同図（ｂ）は、ＲＥＳ命令の第１オペランドの数値の大小と、ＲＥＳ命令の命令マップの並び順を異ならせた例を示した図である。このように、ＲＥＳ命令の第１オペランドの数値が８→１→２→３→４→５→６→７と不規則に並ぶようにＲＥＳ命令を命令マップに割り当てることによって、プログラム（機械語）の解析を困難にすることができる場合がある。
【０３６０】
＜ユーザプログラムの具体例＞
次に、上述のユーザプログラムの具体例について説明する。上述のとおり、主制御部３００のＣＰＵ３０４がユーザモードに移行すると、ＲＯＭ領域の第一領域の先頭アドレスである００００Ｈ以降に記憶された命令が順次、実行されてユーザプログラムが開始される。
【０３６１】
図６２（ａ）は、ユーザプログラムの一部であるプログラム起動設定処理の一例を示した図であり、同図（ｂ）は、ユーザプログラムの一部である電源投入時設定処理の一例を示した図である。同図に示すユーザプログラムでは、最初にプログラム起動設定処理（アドレス００００Ｈ〜０００５Ｈに記憶された命令）が実行されることによって、スタックポインタや割込みモードの設定が行われ、その後に電源投入時設定処理（アドレス００６２Ｈ）にジャンプするように構成されている。電源投入時処理では、アドレス００６２Ｈ以降に記憶された命令が順次、実行されることによって、ＷＤＴへの動作許可及び初期値の設定や、電源電圧の監視処理が行われる。
【０３６２】
図６３は、上述の主制御部タイマ割込処理に相当するユーザプログラムの一部を示した図である。主制御部３００の基本回路３０２は、カウンタタイマ３１２からタイマ割込信号が入力された場合に、同図に示すような割込みベクトルテーブルを参照し、割込みベクトルテーブルに定義されたアドレスにジャンプするように構成されており、この例では、タイマ割込みに対応して定義されたアドレス０４０ＡＨにジャンプするように構成されている。主制御部タイマ割込処理では、アドレス０４０ＡＨ以降に記憶された命令が順次、実行されることによって、レジスタの退避や、同図（１）〜（１８）に示す各種処理が、この順番で行われる。
【０３６３】
＜主制御部の第４特殊命令＞
次に、主制御部３００が備える第４特殊命令について説明する。図６４は、主制御部３００が備える第４特殊命令の内容と、主制御部３００のＲＯＭ領域を示した図である。
【０３６４】
＜第４特殊命令／ＲＳＴ命令＞
第４特殊命令の一つである「ＲＳＴ」命令は、固定のアドレスをプログラムカウンタＰＣに設定することによって、固定のアドレスにジャンプするための命令である。
【０３６５】
本実施形態では、プログラムカウンタＰＣにストアされるアドレスが異なる８種類のＲＳＴ命令を備えており、ＲＳＴ命令の命令データは、５ビットの命令コード（オペコード）と、３ビットのオペランドによって構成されている。具体的には、命令データＣＦＨ〜ＦＦＨの７種類のＲＳＴ命令のビット７〜６、２〜０の５ビットは、ＲＳＴ命令の命令コード（オペコード）を、それ以外のビット５〜３の３ビット（太線で囲まれた部分）は、オペランドとして、各々のＲＳＴ命令の実行によって分岐することが可能なジャンプ先のアドレスの一部（この例では、ジャンプ先のアドレスのビット５〜３を示す。アドレスのビット２〜０は１固定）を示している。
【０３６６】
例えば、命令データＣＦＨのＲＳＴ命令のビット５〜３は、００１Ｂであるため、ジャンプ先のアドレスのビット５〜３が００１Ｂで、ビット２〜０が０（固定）、すなわち０００８Ｈであることを示しており、命令データＤ７ＨのＲＳＴ命令のビット５〜３は０１０Ｂであるため、ジャンプ先のアドレスのビット５〜３が０１０Ｂで、ビット２〜０が０（固定）、すなわち００１０Ｈであることを示している。また、その他のＲＳＴ命令のジャンプ先のアドレスは図に示す通りである。
【０３６７】
一方、命令データＣ７ＨのＲＳＴ命令のビット７〜６、２〜０の５ビットは、ＲＳＴ命令の命令コード（オペランド）を示しており、それ以外のビット５〜３の３ビット（太線で囲まれた部分）は、このＲＳＴ命令の実行によって分岐することが可能なジャンプ先のアドレス（この例では、ビット５〜３に格納される数値０００Ｂからは予測が不可能な００４０Ｈ）を示している。すなわち、この命令データＣ７ＨのＲＳＴ命令では、仮に機械語に基づいてオペコードやオペランドを解析できたとしても、当該ＲＳＴ命令の実行によって分岐することが可能なジャンプ先のアドレスを解析することが極めて困難とされている。
【０３６８】
また、これらのＲＳＴ命令の命令データは、上述の通り、５ビットの命令コード（オペコード）と３ビットのオペランドによって構成されているため、ユーザはオペランドを自由に設定することができず（ＲＳＴ命令によって分岐することが可能なジャンプ先のアドレスを自由に設定することができず）、上述の８種類のＲＳＴ命令によって分岐することが可能なジャンプ先のアドレスを選択することだけが許されている。
【０３６９】
なお、この例では、命令データにオペランドを含めることによって、当該命令によって分岐することが可能なジャンプ先のアドレスを規制する例を示したが、命令データにオペランドを含めなくてもよい。例えば、「ＲＳＴ  ００４０Ｈ」のように、オペコード（ＲＳＴ）とオペランド（００４０Ｈ）を別々に構成した上で、指定可能なアドレス以外のアドレス（例えば、００００Ｈ）がオペランドとして設定された場合にアセンブルエラーにして機械語に変換できないように構成するなど、設定可能なオペランドを制限してもよい。また、命令データにオペランドを含む構成を採用した場合でも、指定可能なアドレス以外のアドレスがオペランドとして設定された場合にアセンブルエラーにして機械語に変換できないように構成するなど、設定可能なオペランドを制限してもよい。
【０３７０】
すなわち、本実施形態に係るＲＳＴ命令では８種類のアドレス（０００８Ｈ、００１０Ｈ、００１８Ｈ、００２０Ｈ、００２８Ｈ、００３０Ｈ、００３８Ｈ、００４０Ｈ）だけにジャンプすることが可能となっており、例えば、ＲＳＴ命令によってＲＯＭ領域の第一領域の先頭アドレス００００Ｈにジャンプすることができないように構成されている。このため、不正プログラムを組み込んで先頭アドレスにジャンプさせる（ユーザプログラムを先頭アドレスから開始させて不正に初期状態とする）ような行為を未然に防止できる場合がある。
【０３７１】
また、命令データＣ７ＨのＲＳＴ命令では、命令データには含まれない数値である００４０Ｈをジャンプ先のアドレスとしているため、逆アセンブルなどによってジャンプ先のアドレスやプログラムの流れを特定することが極めて困難で、不正なプログラム改造を未然に防止できる場合がある。また、ＲＳＴ命令では、図６５の命令マップに示すように、命令コードの順番を昇順（Ｃ７Ｈ→ＣＦＨ→…）に設定しているのに対して、ジャンプ先のアドレスの順番（００４０Ｈ→０００８Ｈ→…）を昇順にはしないように構成しているため、命令の分析を行うことが極めて困難で、不正なプログラム改造を未然に防止できる場合がある。
【０３７２】
＜実施形態２＞
以下、図面を用いて、本発明の実施形態２に係る遊技台（スロットマシン１１００）について詳細に説明する。
【０３７３】
＜全体構成＞
まず、図６６を用いて、本発明の実施形態２に係るスロットマシン１１００の全体構成について説明する。なお、同図はスロットマシン１１００を正面側（遊技者側）から見た外観斜視図である。
【０３７４】
同図に示すスロットマシン１１００は、本体１１０１と、本体１１０１の正面に取り付けられ、本体１１０１に対して開閉可能な前面扉１１０２と、を備える。本体１１０１の中央内部には、（図示省略）外周面に複数種類の図柄が配置されたリールが３個（左リール１１１０、中リール１１１１、右リール１１１２）収納され、スロットマシン１１００の内部で回転できるように構成されている。これらのリール１１１０乃至１１１２はステッピングモータ等の駆動装置により回転駆動される。
【０３７５】
本実施形態において、各図柄は帯状部材に等間隔で適当数印刷され、この帯状部材が所定の円形筒状の枠材に貼り付けられて各リール１１１０乃至１１１２が構成されている。リール１１１０乃至１１１２上の図柄は、遊技者から見ると、図柄表示窓１１１３から縦方向に概ね３つ表示され、合計９つの図柄が見えるようになっている。そして、各リール１１１０乃至１１１２を回転させることにより、遊技者から見える図柄の組み合せが変動することとなる。つまり、各リール１１１０乃至１１１２は複数種類の図柄の組合せを変動可能に表示する表示装置として機能する。なお、このような表示装置としてはリール以外にも液晶表示装置等の電子画像表示装置も採用できる。また、本実施形態では、３個のリールをスロットマシン１１００の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
【０３７６】
各々のリール１１１０乃至１１１２の背面には、図柄表示窓１１１３に表示される個々の図柄を照明するためのバックライト（図示省略）が配置されている。バックライトは、各々の図柄ごとに遮蔽されて個々の図柄を均等に照射できるようにすることが望ましい。なお、スロットマシン１１００内部において各々のリール１１１０乃至１１１２の近傍には、投光部と受光部から成る光学式センサ（図示省略）が設けられており、この光学式センサの投光部と受光部の間をリールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の図柄の回転方向の位置を判断し、目的とする図柄が入賞ライン上に表示されるようにリール１１１０乃至１１１２を停止させる。
【０３７７】
入賞ライン表示ランプ１１２０は、有効となる入賞ライン１１１４を示すランプである。有効となる入賞ラインは、遊技媒体としてベットされたメダルの数によって予め定まっている。入賞ライン１１１４は５ラインあり、例えば、メダルが１枚ベットされた場合、中段の水平入賞ラインが有効となり、メダルが２枚ベットされた場合、上段水平入賞ラインと下段水平入賞ラインが追加された３本が有効となり、メダルが３枚ベットされた場合、右下り入賞ラインと右上り入賞ラインが追加された５ラインが入賞ラインとして有効になる。なお、入賞ライン１１１４の数については５ラインに限定されるものではなく、また、例えば、メダルが１枚ベットされた場合に、中段の水平入賞ライン、上段水平入賞ライン、下段水平入賞ライン、右下り入賞ラインおよび右上り入賞ラインの５ラインを有効な入賞ラインとして設定してもよく、ベット数に関係なく、一律に同一数の入賞ラインを有効な入賞ラインとして設定してもよい。
【０３７８】
告知ランプ１１２３は、例えば、後述する内部抽選において特定の入賞役（具体的には、ボーナス）に内部当選していること、または、ボーナス遊技中であることを遊技者に知らせるランプである。遊技メダル投入可能ランプ１１２４は、遊技者が遊技メダルを投入可能であることを知らせるためのランプである。再遊技ランプ１１２２は、前回の遊技において入賞役の一つである再遊技に入賞した場合に、今回の遊技が再遊技可能であること（メダルの投入が不要であること）を遊技者に知らせるランプである。リールパネルランプ１１２８は演出用のランプである。
【０３７９】
ベットボタン１１３０乃至１１３２は、スロットマシン１１００に電子的に貯留されているメダル（クレジットという）を所定の枚数分投入するためのボタンである。本実施形態においては、ベットボタン１１３０が押下される毎に１枚ずつ最大３枚まで投入され、ベットボタン１１３１が押下されると２枚投入され、ベットボタン１１３２が押下されると３枚投入されるようになっている。以下、ベットボタン１１３２はＭＡＸベットボタンとも言う。なお、遊技メダル投入ランプ１１２９は、投入されたメダル数に応じた数のランプを点灯させ、規定枚数のメダルの投入があった場合、遊技の開始操作が可能な状態であることを知らせる遊技開始ランプ１１２１が点灯する。
【０３８０】
メダル投入口１１４１は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、ベットボタン１１３０乃至１１３２により電子的に投入することもできるし、メダル投入口１１４１から実際のメダルを投入（投入操作）することもでき、投入とは両者を含む意味である。貯留枚数表示器１１２５は、スロットマシン１１００に電子的に貯留されているメダルの枚数を表示するための表示器である。遊技情報表示器１１２６は、各種の内部情報（例えば、ボーナス遊技中のメダル払出枚数）を数値で表示するための表示器である。払出枚数表示器１１２７は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。貯留枚数表示器１１２５、遊技情報表示器１１２６、および、払出枚数表示器１１２７は、７セグメント（ＳＥＧ）表示器とした。
【０３８１】
スタートレバー１１３５は、リール１１１０乃至１１１２の回転を開始させるためのレバー型のスイッチである。即ち、メダル投入口１１４１に所望するメダル枚数を投入するか、ベットボタン１１３０乃至１１３２を操作して、スタートレバー１１３５を操作すると、リール１１１０乃至１１１２が回転を開始することとなる。スタートレバー１１３５に対する操作を遊技の開始操作と言う。
【０３８２】
ストップボタンユニット１１３６には、ストップボタン１１３７乃至１１３９が設けられている。ストップボタン１１３７乃至１１３９は、スタートレバー１１３５の操作によって回転を開始したリール１１１０乃至１１１２を個別に停止させるためのボタン型のスイッチであり、各リール１１１０乃至１１１２に対応づけられている。以下、ストップボタン１１３７乃至１１３９に対する操作を停止操作と言い、最初の停止操作を第１停止操作、次の停止操作を第２停止操作、最後の停止操作を第３停止操作という。なお、各ストップボタン１１３７乃至１１３９の内部に発光体を設けてもよく、ストップボタン１１３７乃至１１３９の操作が可能である場合、該発光体を点灯させて遊技者に知らせることもできる。
【０３８３】
メダル返却ボタン１１３３は、投入されたメダルが詰まった場合に押下してメダルを取り除くためのボタンである。精算ボタン１１３４は、スロットマシン１１００に電子的に貯留されたメダル、ベットされたメダルを精算し、メダル払出口１１５５から排出するためのボタンである。ドアキー孔１１４０は、スロットマシン１１００の前面扉１１０２のロックを解除するためのキーを挿入する孔である。ストップボタンユニット１１３６の下部には、機種名の表示と各種証紙の貼付とを行うタイトルパネル１１６２が設けられている。タイトルパネル１１６２の下部には、メダル払出口１１５５、メダルの受け皿１１６１が設けられている。
【０３８４】
音孔１１８０はスロットマシン１１００内部に設けられているスピーカの音を外部に出力するための孔である。前面扉１１０２の左右各部に設けられたサイドランプ１１４４は遊技を盛り上げるための装飾用のランプである。前面扉１１０２の上部には演出装置１１６０が配設されており、演出装置１１６０の上部には音孔１１４３が設けられている。この演出装置１１６０は、水平方向に開閉自在な２枚の右シャッタ１１６３ａ、左シャッタ１１６３ｂからなるシャッタ（遮蔽装置）１１６３と、このシャッタ１１６３の奥側に配設された液晶表示装置１１５７（演出画像表示装置）を備えており、右シャッタ１１６３ａ、左シャッタ１１６３ｂが液晶表示装置１１５７の手前で水平方向外側に開くと液晶表示装置１１５７の表示画面がスロットマシン１１００正面（遊技者側）に出現する構造となっている。なお、液晶表示装置でなくとも、種々の演出画像や種々の遊技情報を表示可能な表示装置であればよく、例えば、複数セグメントディスプレイ（７セグディスプレイ）、ドットマトリクスディスプレイ、有機ＥＬディスプレイ、プラズマディスプレイ、リール（ドラム）、或いは、プロジェクタとスクリーンとからなる表示装置等でもよい。また、表示画面は、方形をなし、その全体を遊技者が視認可能に構成している。本実施形態の場合、表示画面は長方形であるが、正方形でもよい。また、表示画面の周縁に不図示の装飾物を設けて、表示画面の周縁の一部が該装飾物に隠れる結果、表示画面が異形に見えるようにすることもできる。表示画面は本実施形態の場合、平坦面であるが、曲面をなしていてもよい。
【０３８５】
図６７は、前面扉１０２を開けた状態のスロットマシン１１００を示す正面図である。本体１１０１は、上面板１２６１、左側の側面板１２６０、右側の側面板１２６０、下面板１２６４および背面板１２４２で囲われ、前面に開口する箱体である。本体１１０１の内部には、背面板１２４２の上部に設けた通風口１２４９と重ならない位置に、内部に主制御基板を収納した主制御基板収納ケース１２１０が配置され、この主制御基板収納ケース１２１０の下方に、３つのリール１１１０乃至１１１２が配置されている。主制御基板収納ケース１２１０及びリール１１１０乃至１１１２の側方、即ち向って左側の側面板１２６０には、内部に副制御基板を収納した副制御基板収納ケース１２２０が配設してある。また、向かって右側の側面板１２６０には、主制御基板に接続されて、スロットマシン１１００の情報を外部装置に出力する外部集中端子板１２４８が取り付けられている。
【０３８６】
そして、下面板１２６４には、メダル払出装置１１８０（バケットに溜まったメダルを払出す装置）が配設され、このメダル払出装置１１８０の上方、即ちリール１１１０乃至１１１２の下方には、電源基板を有する電源装置１２５２が配設され、電源装置１２５２正面には電源スイッチ１２４４を配設している。電源装置１２５２は、スロットマシン１１００に外部から供給される交流電源を直流化し、所定の電圧に変換して後述する主制御部１３００、副制御部１４００、１５００等の各制御部、各装置に供給する。さらには、外部からの電源が断たれた後も所定の部品（例えば主制御部１３００のＲＡＭ１３０８等）に所定の期間（例えば１０日間）電源を供給するための蓄電回路（例えばコンデンサ）を備えている。
【０３８７】
メダル払出装置１１８０の右側には、メダル補助収納庫１２４０が配設してあり、この背後にはオーバーフロー端子が配設されている（図示省略）。電源装置１２５２には、電源コード１２６４を接続する電源コード接続部が設けられ、ここに接続された電源コード１２６４が、本体１１０１の背面板１２４２に開設した電源コード用穴１２６２を通して外部に延出している。
【０３８８】
前面扉１１０２は、本体１１０１の左側の側面板１２６０にヒンジ装置１２７６を介して蝶着され、図柄表示窓１１１３の上部には、演出装置１１６０、および、この演出装置１１６０を制御する演出制御基板（図示省略）、上部スピーカ１２７２、を設けている。図柄表示窓１１１３の下部には、投入されたメダルを選別するためのメダルセレクタ１１７０、このメダルセレクタ１１７０が不正なメダル等をメダル受皿１１６１に落下させる際にメダルが通過する通路１２６６等を設けている。さらに、音孔１１８０に対応する位置には低音スピーカ１２７７を設けている。
【０３８９】
図６８を用いて、スロットマシン１１００の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
【０３９０】
スロットマシン１１００の制御部は、大別すると、主に遊技の進行（例えば、遊技者による操作の検出、遊技状態の遷移、遊技媒体の払出制御、当否判定など）を制御する主制御部１３００と、主制御部１３００が送信するコマンド信号（以下、単に「コマンド」と呼ぶ）に応じて、主に演出の制御を行う第１副制御部１４００と、第１副制御部１４００より送信されたコマンドに基づいて各種機器を制御する第２副制御部１５００と、によって構成されている。
【０３９１】
＜主制御部＞
まず、スロットマシン１１００の主制御部１３００について説明する。主制御部１３００は、主制御部１３００の全体を制御する基本回路１３０２を備えており、この基本回路１３０２には、ＣＰＵ１３０４と、制御プログラムデータ、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等を記憶するためのＲＯＭ１３０６と、一時的にデータを記憶するためのＲＡＭ１３０８と、各種デバイスの入出力を制御するためのＩ／Ｏ１３１０と、時間や回数等を計測するためのカウンタタイマ１３１２と、ＷＤＴ（ウォッチドックタイマ）１３１４を搭載している。なお、ＲＯＭ１３０６やＲＡＭ１３０８については他の記憶装置を用いてもよく、この点は後述する第１副制御部１４００や第２副制御部５００についても同様である。この基本回路１３０２のＣＰＵ１３０４は、水晶発振器１３１４が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。さらには、ＣＰＵ１３０４は、電源が投入されるとＲＯＭ１３０６の所定エリアに格納された分周用のデータをカウンタタイマ１３１２に送信し、カウンタタイマ１３１２は受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに割り込み要求をＣＰＵ１３０４に送信する。ＣＰＵ１３０４は、この割込み要求を契機に各センサ等の監視や駆動パルスの送信を実行する。例えば、水晶発振器１３１４が出力するクロック信号を８ＭＨｚ、カウンタタイマ１３１２の分周値を１／２５６、ＲＯＭ１３０６の分周用のデータを４７に設定した場合、割り込みの基準時間は、２５６×４７÷８ＭＨｚ＝１．５０４ｍｓとなる。
【０３９２】
主制御部１３００は、０〜６５５３５の範囲で数値を変動させるハードウェア乱数カウンタとして使用している乱数値生成回路１３１６と、電源が投入されると起動信号（リセット信号）を出力する起動信号出力回路１３３８を備えており、ＣＰＵ１３０４は、この起動信号出力回路１３３８から起動信号が入力された場合に、遊技制御を開始する（後述する主制御部メイン処理を開始する）。
【０３９３】
また、主制御部１３００には、センサ回路１３２０を備えており、ＣＰＵ１３０４は、割り込み時間ごとに各種センサ１３１８（ベットボタン１１３０センサ、ベットボタン１１３１センサ、ベットボタン１１３２センサ、メダル投入口１１４１から投入されたメダルのメダル受付センサ、スタートレバー１１３５センサ、ストップボタン１１３７センサ、ストップボタン１１３８センサ、ストップボタン１１３９センサ、精算ボタン１１３４センサ、メダル払出装置１１８０から払い出されるメダルのメダル払出センサ、リール１１１０のインデックスセンサ、リール１１１１のインデックスセンサ、リール１１１２のインデックスセンサ、等）の状態を監視している。
【０３９４】
なお、センサ回路１３２０がスタートレバーセンサのＨレベルを検出した場合には、この検出を示す信号を乱数発生回路１３１６に出力する。この信号を受信した乱数発生回路１３１６は、そのタイミングにおける値をラッチし、抽選に使用する乱数値を格納するレジスタに記憶する。
【０３９５】
メダル受付センサは、メダル投入口１１４１の内部通路に２個設置されており、メダルの通過有無を検出する。スタートレバー１１３５センサは、スタートレバー１１３５内部に２個設置されており、遊技者によるスタート操作を検出する。ストップボタン１１３７センサ、ストップボタン１１３８センサ、および、ストップボタン１１３９は、各々のストップボタン１１３７乃至１１３９に設置されており、遊技者によるストップボタンの操作を検出する。
【０３９６】
ベットボタン１１３０センサ、ベットボタン１１３１センサ、および、ベットボタン１１３２センサは、メダル投入ボタン１１３０乃至１１３２のそれぞれに設置されており、ＲＡＭ１３０８に電子的に貯留されているメダルを遊技への投入メダルとして投入する場合の投入操作を検出する。精算ボタン１１３４センサは、精算ボタン１１３４に設けられている。精算ボタン１１３４が一回押されると、電子的に貯留されているメダルを精算する。メダル払出センサは、メダル払出装置１１８０が払い出すメダルを検出するためのセンサである。なお、以上の各センサは、非接触式のセンサであっても接点式のセンサであってもよい。
【０３９７】
リール１１１０のインデックスセンサ、リール１１１１のインデックスセンサ、および、リール１１１２のインデックスセンサは、各リール１１１０乃至１１１２の取付台の所定位置に設置されており、リールフレームに設けた遮光片が通過するたびにＬレベルになる。ＣＰＵ１３０４は、この信号を検出すると、リールが１回転したものと判断し、リールの回転位置情報をゼロにリセットする。
【０３９８】
主制御部１３００は、リール装置１１１０乃至１１１２に設けたステッピングモータを駆動する駆動回路１３２２、投入されたメダルを選別するメダルセレクタ１１７０に設けたソレノイドを駆動する駆動回路１３２４、メダル払出装置１１８０に設けたモータを駆動する駆動回路１３２６、各種ランプ１３３８（入賞ライン表示ランプ１１２０、告知ランプ１１２３、遊技メダル投入可能ランプ１１２４、再遊技ランプ１１２２、遊技メダル投入ランプ１１２９は、遊技開始ランプ１１２１、貯留枚数表示器１１２５、遊技情報表示器１１２６、払出枚数表示器１１２７）を駆動する駆動回路１３２８を備えている。
【０３９９】
また、基本回路１３０２には、情報出力回路１３３４（外部集中端子板１２４８）を接続しており、主制御部１３００は、この情報出力回路１３３４を介して、外部のホールコンピュータ（図示省略）等が備える情報入力回路１６５２にスロットマシン１１００の遊技情報（例えば、遊技状態）を出力する。
【０４００】
また、主制御部１３００は、電源管理部（図示しない）から主制御部１３００に供給している電源の電圧値を監視する電圧監視回路１３３０を備えており、電圧監視回路１３３０は、電源の電圧値が所定の値（本実施例では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を基本回路１３０２に出力する。
【０４０１】
また、主制御部１３００は、第１副制御部１４００にコマンドを送信するための出力インタフェースを備えており、第１副制御部１４００との通信を可能としている。なお、主制御部１３００と第１副制御部１４００との情報通信は一方向の通信であり、主制御部１３００は第１副制御部１４００にコマンド等の信号を送信できるように構成しているが、第１副制御部１４００からは主制御部１３００にコマンド等の信号を送信できないように構成している。
【０４０２】
＜副制御部＞
次に、スロットマシン１１００の第１副制御部１４００について説明する。第１副制御部１４００は、主制御部１３００が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第１副制御部１４００の全体を制御する基本回路１４０２を備えており、この基本回路１４０２は、ＣＰＵ１４０４と、一時的にデータを記憶するためのＲＡＭ１４０８と、各種デバイスの入出力を制御するためのＩ／Ｏ１４１０と、時間や回数等を計測するためのカウンタタイマ１４１２を搭載している。基本回路１４０２のＣＰＵ１４０４は、水晶発振器１４１４が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。ＲＯＭ４０６は、第１副制御部１４００の全体を制御するための制御プログラム及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータ等を記憶する。
【０４０３】
ＣＰＵ１４０４は、所定のタイミングでデータバスを介してＲＯＭ１４０６の所定エリアに格納された分周用のデータをカウンタタイマ１４１２に送信する。カウンタタイマ１４１２は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに割り込み要求をＣＰＵ１４０４に送信する。ＣＰＵ１４０４は、この割込み要求のタイミングをもとに、各ＩＣや各回路を制御する。
【０４０４】
また、第１副制御部１４００には、音源ＩＣ１４１８を設けており、音源ＩＣ１４１８に出力インタフェースを介してスピーカ１２７２、１２７７を設けている。音源ＩＣ１４１８は、ＣＰＵ１４０４からの命令に応じてアンプおよびスピーカ１２７２、１２７７から出力する音声の制御を行う。音源ＩＣ１４１８には音声データが記憶されたＳ−ＲＯＭ（サウンドＲＯＭ）が接続されており、このＲＯＭから取得した音声データをアンプで増幅させてスピーカ１２７２、１２７７から出力する。
【０４０５】
また、第１副制御部１４００には、駆動回路１４２２が設けられ、駆動回路１４２２に入出力インタフェースを介して各種ランプ１４２０（上部ランプ、下部ランプ、サイドランプ１１４４、タイトルパネル１１６２ランプ、等）が接続されている。
【０４０６】
また、ＣＰＵ１４０４は、出力インタフェースを介して第２副制御部１５００へ信号の送受信を行う。第２副制御部１５００は、演出画像表示装置１１５７の表示制御を含む演出装置１１６０の各種制御を行う。なお、第２副制御部１５００は、例えば、液晶表示装置１１５７の表示の制御を行う制御部、各種演出用駆動装置の制御を行う制御部（例えば、シャッタ１１６３のモータ駆動を制御する制御部）とするなど、複数の制御部で構成するようにしてもよい。
【０４０７】
第２副制御部１５００は、第１副制御部１４００が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第２副制御部１５００の全体を制御する基本回路１５０２を備えており、この基本回路１５０２は、ＣＰＵ１５０４と、一時的にデータを記憶するためのＲＡＭ１５０８と、各種デバイスの入出力を制御するためのＩ／Ｏ１５１０と、時間や回数等を計測するためのカウンタタイマ１５１２と、を搭載している。基本回路１５０２のＣＰＵ１５０４は、水晶発振器１５１４が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。ＲＯＭ５０６は、第２副制御部１５００の全体を制御するための制御プログラム及びデータ、画像表示用のデータ等を記憶する。
【０４０８】
ＣＰＵ１５０４は、所定のタイミングでデータバスを介してＲＯＭ１５０６の所定エリアに格納された分周用のデータをカウンタタイマ１５１２に送信する。カウンタタイマ１５１２は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに割り込み要求をＣＰＵ１４０４に送信する。ＣＰＵ１５０４は、この割込み要求のタイミングをもとに、各ＩＣや各回路を制御する。
【０４０９】
また、第２副制御部１５００には、シャッタ１１６３のモータを駆動する駆動回路１５３０を設けており、駆動回路１５３０には出力インタフェースを介してシャッタ１１６３を設けている。この駆動回路１５３０は、ＣＰＵ１５０４からの命令に応じてシャッタ１１６３に設けたステッピングモータ（図示省略）に駆動信号を出力する。また、第２副制御部１５００には、センサ回路１５３２を設けており、センサ回路１５３２には入力インタフェースを介してシャッタセンサ１５３８を接続している。ＣＰＵ１５０４は、割り込み時間ごとにシャッタセンサ１５３８状態を監視している。
【０４１０】
また、第２副制御部１５００には、ＶＤＰ１５３４（ビデオ・ディスプレイ・プロセッサー）を設けており、このＶＤＰ１５３４には、バスを介してＲＯＭ１５０６、ＶＲＡＭ１５３６が接続されている。ＶＤＰ１５３４は、ＣＰＵ１５０４からの信号に基づいてＲＯＭ１５０６に記憶された画像データ等を読み出し、ＶＲＡＭ１５３６のワークエリアを使用して表示画像を生成し、演出画像表示装置１１５７に画像を表示する。
【０４１１】
＜図柄配列＞
次に、図６９（ａ）を用いて、上述の各リール１１１０乃至１１１２に施される図柄配列について説明する。なお、同図は、各リール（左リール１１１０、中リール１１１１、右リール１１１２）に施される図柄の配列を平面的に展開して示した図である。
【０４１２】
各リール１１１０乃至１１１２には、同図の右側に示す複数種類（本実施形態では８種類）の図柄が所定コマ数（本実施形態では、番号０〜２０の２１コマ）だけ配置されている。また、同図の左端に示した番号０〜２０は、各リール１１１０乃至１１１２上の図柄の配置位置を示す番号である。例えば、本実施形態では、左リール１１１０の番号１のコマには「リプレイ」の図柄、中リール１１１１の番号０のコマには「ベル」の図柄、右リール１１１２の番号２のコマには「スイカ」の図柄、がそれぞれ配置されている。
【０４１３】
＜入賞役の種類＞
次に、図６９（ｂ）を用いて、スロットマシン１１００の入賞役の種類について説明する。なお、同図は入賞役（作動役を含む）の種類、各入賞役に対応する図柄組合せ、各入賞役の作動または払出を示している。
【０４１４】
本実施形態における入賞役のうち、ビッグボーナス（ＢＢ１、ＢＢ２）および、レギュラーボーナス（ＲＢ）はボーナス遊技に移行する役として、また、再遊技（リプレイ）は新たにメダルを投入することなく再遊技が可能となる役として、それぞれ入賞役とは区別され「作動役」と呼ばれる場合があるが、本実施形態における「入賞役」には、作動役である、ビッグボーナス、レギュラーボーナス、再遊技が含まれる。また、本実施形態における「入賞」には、メダルの配当を伴わない（メダルの払い出しを伴わない）作動役の図柄組合せが有効ライン上に表示される場合も含まれ、例えば、ビッグボーナス、レギュラーボーナス、再遊技への入賞が含まれる。
【０４１５】
スロットマシン１１００の入賞役には、ビッグボーナス（ＢＢ１、ＢＢ２）と、レギュラーボーナス（ＲＢ）と、小役（チェリー、スイカ、ベル）と、再遊技（リプレイ）がある。なお、入賞役の種類は、これに限定されるものではなく、任意に採用できることは言うまでもない。
【０４１６】
「ビッグボーナス（ＢＢ１、ＢＢ２）」（以下、単に、「ＢＢ」と称する場合がある）は、入賞により特別遊技であるビッグボーナス遊技（ＢＢ遊技）が開始される特別役（作動役）である。対応する図柄組合せは、ＢＢ１が「白７−白７−白７」、ＢＢ２が「青７−青７−青７」である。また、ＢＢ１、ＢＢ２についてはフラグ持越しを行う。すなわち、ＢＢ１、ＢＢ２に内部当選すると、これを示すフラグが立つ（主制御部１３００のＲＡＭ１３０８の当否判定結果記憶領域に記憶される）が、その遊技においてＢＢ１、ＢＢ２に入賞しなかったとしても、入賞するまで内部当選を示すフラグが立った状態が維持され、次遊技以降でもＢＢ１、ＢＢ２に内部当選中となり、ＢＢ１に対応する図柄組み合わせ「白７−白７−白７」、ＢＢ２に対応する図柄組み合わせ「青７−青７−青７」が、揃って入賞する状態にある。
【０４１７】
「レギュラーボーナス（ＲＢ）」は、入賞によりレギュラーボーナス遊技（ＲＢ遊技）が開始される特殊役（作動役）である。対応する図柄組合せは、「ボーナス−ボーナス−ボーナス」である。なお、ＲＢについても上述のＢＢと同様にフラグ持越しを行う。但し、（詳細は後述するが）ビッグボーナス遊技（ＢＢ遊技）においては、レギュラーボーナス遊技（ＲＢ遊技）が内部当選することや、図柄組み合わせが入賞ライン上に表示されること、を開始条件とせずに、ビッグボーナス遊技の開始後からレギュラーボーナス遊技を開始し、１回のレギュラーボーナス遊技を終了した場合には次のレギュラーボーナス遊技をすぐに開始するような自動的にレギュラーボーナス遊技を開始させる設定としてもよい。  「小役（チェリー、スイカ、ベル）」（以下、単に、「チェリー」、「スイカ」、「ベル」と称する場合がある）は、入賞により所定数のメダルが払い出される入賞役で、対応する図柄組合せは、チェリーが「チェリー−ＡＮＹ−ＡＮＹ」、スイカが「スイカ−スイカ−スイカ」、ベルが「ベル−ベル−ベル」である。また、対応する払出枚数は同図に示す通りである。なお、「チェリー−ＡＮＹ−ＡＮＹ」の場合、左リール１１１０の図柄が「チェリー」であればよく、中リール１１１１と右リール１１１２の図柄はどの図柄でもよい。
【０４１８】
「再遊技（リプレイ）」は、入賞により次回の遊技でメダル（遊技媒体）の投入を行うことなく遊技を行うことができる入賞役（作動役）であり、メダルの払出は行われない。なお、対応する図柄組合せは、再遊技は「リプレイ−リプレイ−リプレイ」である。
＜遊技状態の種類＞
次に、スロットマシン１１００の遊技状態の種類について説明する。遊技状態とは、抽選などにおいて選択する抽選データの種別を識別するための情報である。本実施形態では、スロットマシン１１００の遊技状態は、通常遊技と、ＢＢ遊技と、ＲＢ遊技と、ビッグボーナス（ＢＢ）およびレギュラーボーナス（ＲＢ）の内部当選遊技と、に大別した。但し、内部当選遊技は、通常遊技に含まれる区分けであってもよい。  
＜通常遊技＞
通常遊技に内部当選する入賞役には、ビッグボーナス（ＢＢ）と、レギュラーボーナス（ＲＢ）と、再遊技（リプレイ）と、小役（チェリー、スイカ、ベル）がある。
【０４１９】
「ビッグボーナス（ＢＢ）」は、入賞により特別遊技であるビッグボーナス遊技（ＢＢ遊技）が開始される特別役（作動役）である。レギュラーボーナス（ＲＢ）」は、入賞によりレギュラーボーナス遊技（ＲＢ遊技）を開始する特殊役（作動役）である。「再遊技（リプレイ）」は、入賞により次回の遊技でメダルの投入を行うことなく遊技を行うことができる入賞役（作動役）であり、メダルの払出も行われない。「小役」は、入賞により所定数のメダルが払い出される入賞役である。なお、各々の役の内部当選確率は、通常遊技に用意された抽選データから、各々の役に対応付けされた抽選データの範囲に該当する数値データを、内部抽選時に取得される乱数値の範囲の数値データ（例えば６５５３５）で除した値で求められる。通常遊技に用意された抽選データは、予めいくつかの数値範囲に分割され、各数値範囲に各々の役やハズレを対応付けしている。内部抽選を実行した結果得られた乱数値が、何れの役に対応する抽選データに対応する値であったかを判定し、内部抽選役を決定する。この抽選データは少なくとも１つの役の当選確率を異ならせた設定１〜設定６が用意され、遊技店の係員等はいずれかの設定値を任意に選択し、設定することができる。
【０４２０】
通常遊技は、内部抽選の結果が概ねハズレ（ビッグボーナス（ＢＢ）、レギュラーボーナス（ＲＢ）、再遊技（リプレイ）および小役に当選していない）となる設定、又は、停止表示結果がいずれの役の図柄組合せに該当しないハズレの停止表示結果が概ね導出される設定がされており、獲得するメダルの総数が、投入したメダルの総数に満たない遊技状態になっている。よって、遊技者にとっては不利益となる遊技状態である。但し、予め定めた条件を満たした場合（例えば、特定の図柄組み合わせが表示された場合）には、再遊技の内部当選の確率を上昇させる変動をさせてもよい遊技状態であり、この場合、遊技に用いられるメダルの消費が抑えられ、小役の入賞によって所定数のメダルが払い出されることにより、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態になり、遊技者にとっては利益となる遊技状態になる場合がある。
【０４２１】
＜ＢＢ遊技＞
ＢＢ遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、ＢＢ遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。ＢＢ遊技は、本実施形態では、ビッグボーナス（ＢＢ）の入賞により開始され、ＲＢ遊技（後述する）を連続して繰り返し実行可能になっており、遊技中に予め定められた一の数（例えば、４６５枚）を超えるメダルが獲得された場合に終了する。但し、ＢＢ遊技はＲＢ遊技を複数回数実行可能であればよく、例えば、ＲＢ遊技を開始する役（図柄組み合わせは例えば、リプレイ−リプレイ−リプレイ）を設定し、この役が内部当選した場合、または、入賞した場合に、ＲＢ遊技を開始するように設定してもよい。さらには、ＢＢ遊技は、ＢＢ遊技中のＲＢ遊技を除くＢＢ一般遊技を予め定めた回数（例えば、３０回）実行した場合、または、ＢＢ遊技中に実行したＲＢ遊技の回数が予め定めた回数に達した場合（例えば、３回）に終了するようにしてもよい。
【０４２２】
＜ＲＢ遊技＞
ＲＢ遊技は、遊技者にとっては利益となる遊技状態になるように設定されている。つまり、ＲＢ遊技は、獲得するメダルの総数が、投入したメダルの総数を超える遊技状態となる。ＲＢ遊技は、本実施形態では、レギュラーボーナス（ＲＢ）の入賞により開始され、予め定めた一の役が内部当選の確率を上昇させる変動（例えば、「設定１」「通常遊技」に設定された「小役１」の内部当選確率１／１５を、予め定めた一の値である内部当選確率１／１．２に上昇させる）をし、予め定めた一の数（例えば、８回）の入賞があった場合に終了する。ＲＢ遊技は、予め定めた回数（少なくとも２回）の入賞があった場合（例えば、８回）、または、ＲＢ遊技中に実行したＲＢ遊技の回数が予め定めた回数に達した場合（例えば、８回）に終了するようにしてもよい。上述したＢＢ遊技は、ＲＢ遊技を複数回数実行可能であるので、一回のＲＢ遊技を行った場合には、ＢＢ遊技で得られるメダルの総数よりも少ないメダル数を獲得して終了することとなる。
【０４２３】
＜ビッグボーナス（ＢＢ）およびレギュラーボーナス（ＲＢ）の内部当選遊技＞
ビッグボーナス（ＢＢ）およびレギュラーボーナス（ＲＢ）の内部当選遊技に内部当選する入賞役には、再遊技（リプレイ）と、小役がある。ビッグボーナス（ＢＢ）およびレギュラーボーナス（ＲＢ）は内部当選することはなく、ビッグボーナス（ＢＢ）かレギュラーボーナス（ＲＢ）に対応する図柄組み合わせを入賞させることが可能となっている遊技状態である。
【０４２４】
但し、ビッグボーナス（ＢＢ）およびレギュラーボーナス（ＲＢ）に内部当選した次遊技から、再遊技の内部当選の確率を変動させてもよく、例えば、再遊技の内部当選の確率を上昇させる変動をさせて、ビッグボーナス（ＢＢ）およびレギュラーボーナス（ＲＢ）対応する図柄組み合わせが入賞するまでの間は、獲得するメダルの総数が、投入したメダルの総数とほぼ同じとなる遊技状態とし、通常遊技と比べると遊技者にとっては利益となる遊技状態としてもよい。なお、ＢＢ遊技、ＲＢ遊技は両者とも遊技者にとって利益となる遊技状態であるため、総じて、ボーナス遊技、又は、特別遊技と称する場合がある。
【０４２５】
＜主制御部メイン処理＞
次に、図７０を用いて、主制御部１３００のＣＰＵ１３０４が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
【０４２６】
上述したように、主制御部１３００には、電源が投入されると起動信号（リセット信号）を出力する起動信号出力回路（リセット信号出力回路）１３３８を設けている。この起動信号を入力した基本回路１３０２のＣＰＵ１３０４は、リセット割込によりリセットスタートしてＲＯＭ１３０６に予め記憶している制御プログラムに従って、この主制御部メイン処理を実行する。
【０４２７】
電源投入が行われると、まず、ステップＳ２１０１で各種の初期設定を行う。この初期設定では、ＣＰＵ１３０４のスタックポインタ（ＳＰ）へのスタック初期値の設定、割込禁止の設定、Ｉ／Ｏ１３１０の初期設定、ＲＡＭ１３０８に記憶する各種変数の初期設定、ＷＤＴ１３１４への動作許可及び初期値の設定等を行う。ステップＳ２１０３ではメダル投入・スタート操作受付処理を実行する。ここではメダルの投入の有無をチェックし、メダルの投入に応じて入賞ライン表示ランプ１１２０を点灯させる。なお、前回の遊技で再遊技に入賞した場合は、前回の遊技で投入されたメダル枚数と同じ数のメダルを投入する処理を行うので、遊技者によるメダルの投入が不要となる。また、スタートレバー１１３５が操作されたか否かのチェックを行い、スタートレバー１１３５の操作があればステップＳ２１０５へ進む。
【０４２８】
ステップＳ２１０５では投入されたメダル枚数を確定し、有効な入賞ラインを確定する。ステップＳ２１０７では後述する主制御部タイマ割込み処理で格納された乱数値を取得する。ステップＳ２１０９では、現在の遊技状態に応じてＲＯＭ１３０６に格納されている入賞役抽選テーブルを読み出し、これとステップＳ２１０７で取得した乱数値とを用いて内部抽選を行う。内部抽選の結果、いずれかの入賞役（作動役を含む）に内部当選した場合、その入賞役のフラグがＯＮになる。ステップＳ２１１１では内部抽選結果に基づき、リール停止データを選択する。なお、本実施形態では乱数値生成回路１３１６から取得した乱数をそのまま内部抽選に使用するように構成しているが、取得した乱数を加工し、加工した乱数を使用して内部抽選を行うように構成してもよい。
【０４２９】
ステップＳ２１１３では全リール１１１０乃至１１１２の回転を開始させる。ステップＳ２１１５では、ストップボタン１１３７乃至１１３９の受け付けが可能になり、いずれかのストップボタンが押されると、押されたストップボタンに対応するリール１１１０乃至１１１２の何れかをステップＳ２１１１で選択したリール停止制御データに基づいて停止させる。全リール１１１０乃至１１１２が停止するとステップＳ２１１７へ進む。ステップＳ２１１７では、入賞判定を行う。ここでは、有効化された入賞ライン１１１４上に、何らかの入賞役に対応する図柄組合せが表示された場合にその入賞役に入賞したと判定する。例えば、有効化された入賞ライン上に「ベル−ベル−ベル」が揃っていたならばベル入賞と判定する。ステップＳ２１１９では払い出しのある何らかの入賞役に入賞していれば、その入賞役に対応する枚数のメダルを入賞ライン数に応じて払い出す。ステップＳ２１２１では遊技状態制御処理を行う。遊技状態制御処理では、通常遊技、ＢＢ遊技、ＲＢ遊技、内部当選遊技、の各遊技状態の移行に関する処理を行い、それらの開始条件、終了条件の成立により、遊技状態を移行する。以上により１ゲームが終了する。以降ステップＳ２１０３へ戻って上述した処理を繰り返すことにより遊技が進行することになる。
【０４３０】
＜主制御部１３００タイマ割込処理＞
次に、図７１を用いて、主制御部１３００のＣＰＵ１３０４が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
【０４３１】
主制御部１３００は、所定の周期（本実施形態では約２ｍｓに１回）でタイマ割込信号を発生するカウンタタイマ１３１２を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。
【０４３２】
ステップＳ２２０１では、タイマ割込開始処理を行う。このタイマ割込開始処理では、ＣＰＵ１３０４の各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップＳ２２０３では、ＷＤＴ１３１４のカウント値が初期設定値（本実施形態では３２．８ｍｓ）を超えてＷＤＴ割込が発生しないように（処理の異常を検出しないように）、ＷＤＴ１３１４を定期的に（本実施形態では、主制御部タイマ割込の周期である約２ｍｓに１回）リスタートを行う。
【０４３３】
ステップＳ２２０５では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、Ｉ／Ｏ１３１０の入力ポートを介して、各種センサ１３１８のセンサ回路１３２０の検出信号を入力して検出信号の有無を監視し、ＲＡＭ１３０８に各種センサ１３１８ごとに区画して設けた信号状態記憶領域に記憶する。より具体的には、この信号状態記憶領域それぞれに対して前々回、前回、今回の割込み時における検出信号の有無を記憶している。
【０４３４】
ステップＳ２２０７では、各種遊技処理を行う。具体的には、割込みステータスを取得し（各種センサ１３１８からの信号に基づいて各種割込みステータスを取得する）、この割込みステータスに従った処理を行う。例えば、この割込みステータスが遊技開始のためのスタートレバー操作を待っている状態を示す場合、上述した信号記憶領域のうちスタートレバーの操作を検出するためのセンサに対応する領域を参照し、前々回、前回、今回の割込み時における検出信号の有無のパターンが予め定められた判定パターンと一致した場合に乱数値生成回路１３１６の内部抽選用のチャンネルの乱数をラッチするためのラッチ信号を出力する処理（具体的には、ソフトラッチレジスタ３１８６の内部抽選用のチャンネルに対応する領域に所定の値を書き込む処理）を実行するとともに、このラッチ信号によってラッチされた乱数を取得するためのリード信号を出力する処理(具体的には、図７７に示す乱数レジスタ３１８８のうちの特図１のチャンネルに対応する乱数レジスタに対してリード信号を出力する処理)を実行してラッチされている乱数を取得して対応する乱数値記憶領域に格納する。なお、本実施形態では、スタートレバーの操作があったか否かの判定として、前々回、前回および今回の検出信号が予め定められた判定パターン情報と一致した否かを判定していたが、このような方法に限らず、例えば、前回および今回の検出信号が予め定められた入賞判定パターン情報（例えば、前回検出信号なし、今回検出信号あり（いわゆるアップエッジ））と一致したか否かを判定するように構成してもよい。すなわち、スタートレバーの操作を検出するためのセンサの検出信号の有無を監視し、この監視結果の履歴が予め定められたパターンと一致したか否かを判定するように構成すればよい。
また、本実施形態では、乱数値生成回路１３１６から乱数を取得する方法として内部抽選用のチャンネルの乱数をラッチするためのラッチ信号を出力する処理を行った後にラッチした乱数を取得するリード信号を出力する方法を採用しているが、内部抽選用のチャンネルの乱数を直読みする処理（具体的には、乱数レジスタ３１８８の値を直接リードする処理）を実行して取得するようにしてもよい。
また、本実施形態では、内部抽選用の乱数を取得するためのリード信号を出力する処理（乱数レジスタ３１８８の値を直接リードする処理とは異なる）を主制御部タイマ割込み処理において実行するように構成しているが、この処理に関しては上述した主制御部メイン処理の内部抽選を行う直前に実行するように構成してもよい。
また、内部抽選用の乱数を取得するためのリード信号を出力する処理とともに、主制御部タイマ割込み処理において内部抽選処理を行うように構成してもよい。
ステップＳ２２０９では、タイマ更新処理を行う。各種タイマをそれぞれの時間単位により更新する。
【０４３５】
ステップＳ２２１１では、コマンド設定送信処理を行い、各種のコマンドが第１副制御部１４００に送信される。なお、第１副制御部１４００に送信する出力予定情報は本実施形態では１６ビットで構成しており、ビット１５はストローブ情報（オンの場合、データをセットしていることを示す）、ビット１１〜１４はコマンド種別（本実施形態では、基本コマンド、スタートレバー受付コマンド、演出抽選処理に伴う演出コマンド、リール１１１０乃至１１１２の回転を開始に伴う回転開始コマンド、ストップボタン１１３７乃至１１３９の操作の受け付けに伴う停止ボタン受付コマンド、リール１１１０乃至１１１２の停止処理に伴う停止位置情報コマンド、メダル払出処理に伴う払出枚数コマンド及び払出終了コマンド、遊技状態を示すコマンド等）、ビット０〜１０はコマンドデータ（コマンド種別に対応する所定の情報）で構成されている。第１副制御部１４００では、受信した出力予定情報に含まれるコマンド種別により、主制御部１３００における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
【０４３６】
ステップＳ２２１３では、外部出力信号設定処理を行う。この外部出力信号設定処理では、ＲＡＭ１３０８に記憶している遊技情報を、情報出力回路１３３４を介してスロットマシン１１００とは別体の情報入力回路１６５２に出力する。
【０４３７】
ステップＳ２２１５では、デバイス監視処理を行う。このデバイス監視処理では、まずはステップＳ２２０５において信号状態記憶領域に記憶した各種センサ１３１８の信号状態を読み出して、メダル投入異常及びメダル払出異常等に関するエラーの有無を監視し、エラーを検出した場合には（図示省略）エラー処理を実行させる。さらに、現在の遊技状態に応じて、メダルセレクタ１１７０（メダルセレクタ１１７０内に設けたソレノイドが動作するメダルブロッカ）、各種ランプ１３３８、各種の７セグメント（ＳＥＧ）表示器の設定を行う。
【０４３８】
ステップＳ２２１７では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ２２２１に進み、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ２２１９に進む。
なお、本実施形態では、電源の遮断を判定する処理（ステップＳ２２１７）および電断処理（ステップＳ２２２１）を主制御部の割込み制御において実行しているが、必ずしも主制御部の割込み制御で行う必要はなく、低電圧信号の入力に基づいて強制割込みを発生させ、この強制割込みによって電断処理が実行されるように構成してもよい。ただし、このように強制割込みによって実行される電断処理では、本実施形態における電断処理（ステップＳ２２２１）の処理に加え、上述したタイマ割込み開始処理（ステップＳ２２０１）において実行されるＣＰＵ１３０４の各レジスタの値をスタック領域に一時的に退避する処理も同時に実行する必要がある。
【０４３９】
ステップＳ２２１９では、タイマ割込終了処理を終了する各種処理を行う。このタイマ割込終了処理では、ステップＳ２２０１で一時的に退避した各レジスタの値を元の各レジスタに設定等行う。その後、主制御部メイン処理に復帰する。一方、ステップＳ２２２１では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてＲＡＭ１３０８の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。
【０４４０】
＜第１副制御部４００の処理＞
次に、図７２を用いて、第１副制御部１４００の処理について説明する。なお、同図（ａ）は、第１副制御部１４００のＣＰＵ１４０４が実行するメイン処理のフローチャートであり、同図（ｂ）は、第１副制御部１４００のコマンド受信割込処理のフローチャートである。また、同図（ｃ）は、第１副制御部１４００のタイマ割込処理のフローチャートである。
【０４４１】
まず、同図（ａ）のステップＳ２３０１では、各種の初期設定を行う。電源投入が行われると、まずステップＳ２３０１で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、ＲＡＭ１４０８内の記憶領域の初期化処理等を行う。
【０４４２】
ステップＳ２３０３では、タイマ変数が１０以上か否かを判定し、タイマ変数が１０となるまでこの処理を繰り返し、タイマ変数が１０以上となったときには、ステップＳ２３０５の処理に移行する。ステップＳ２３０５では、タイマ変数に０を代入する。ステップＳ２３０７では、コマンド処理を行う。コマンド処理では第１副制御部１４００のＣＰＵ１４０４は、主制御部１３００からコマンドを受信したか否かを判別する。
【０４４３】
ステップＳ２３０９では、演出制御処理を行う。この演出制御処理では、例えば、ステップＳ２３０７で新たなコマンドがあった場合には、このコマンドに対応する処理を行う。この処理には、例えば、演出データをＲＯＭ１４０６から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行うことが含まれる。
【０４４４】
ステップＳ２３１１では、ステップ２３０９の処理結果に基づいて音制御処理を行う。例えば、ステップＳ２３０９で読み出した演出データの中に音源ＩＣ１４１８への命令がある場合には、この命令を音源ＩＣ１４１８に出力する。ステップＳ２３１３では、ステップ２３０９の処理結果に基づいてランプ制御処理を行う。例えば、ステップＳ２３０９で読み出した演出データの中に各種ランプ１４２０への命令がある場合には、この命令を駆動回路１４２２に出力する。
【０４４５】
ステップＳ２３１５では、ステップ２３０９の処理結果に基づいて第２副制御部５００に制御コマンドを送信する設定を行う情報出力処理を行う。例えば、ステップＳ２３０９で読み出した演出データの中に第２副制御部１５００に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、ステップＳ２３０３へ戻る。
【０４４６】
次に、同図（ｂ）を用いて、第１副制御部１４００のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第１副制御部１４００が、主制御部１３００が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップＳ２４０１では、主制御部１３００が出力したコマンドを未処理コマンドとしてＲＡＭ１４０８に設けたコマンド記憶領域に記憶する。
【０４４７】
次に、同図（ｃ）を用いて、第１副制御部１４００のＣＰＵ１４０４によって実行する第１副制御部タイマ割込処理について説明する。第１副制御部１４００は、所定の周期（本実施形態では２ｍｓに１回）でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
【０４４８】
ステップＳ２５０１では、第１副制御部メイン処理におけるステップＳ２３０３において説明したＲＡＭ１４０８のタイマ変数記憶領域の値に、１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ２３０３において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。ステップＳ２５０３では、ステップＳ２３１５で設定された第２副制御部１５００への制御コマンドの送信や、演出用乱数値の更新処理等を行う。
【０４４９】
＜第２副制御部５００の処理＞
次に、図７３を用いて、第２副制御部１５００の処理について説明する。なお、同図（ａ）は、第２副制御部１５００のＣＰＵ１５０４が実行するメイン処理のフローチャートであり、同図（ｂ）は、第２副制御部１５００のコマンド受信割込処理のフローチャートである。また、同図（ｃ）は、第２副制御部１５００のタイマ割込処理のフローチャートであり、同図（ｄ）は、第２副制御部１５００の画像制御処理のフローチャートである。
【０４５０】
まず、同図（ａ）のステップＳ２６０１では、各種の初期設定を行う。電源投入が行われると、まずステップＳ２６０１で初期化処理が実行される。この初期化処理では、入出力ポート初期設定や、ＲＡＭ１５０８内の記憶領域の初期化処理等を行う。
【０４５１】
ステップＳ２６０３では、タイマ変数が１０以上か否かを判定し、タイマ変数が１０となるまでこの処理を繰り返し、タイマ変数が１０以上となったときには、ステップＳ２６０５の処理に移行する。ステップＳ２６０５では、タイマ変数に０を代入する。ステップＳ２６０７では、コマンド処理を行う。コマンド処理では第２副制御部１５００のＣＰＵ１５０４は、第１副制御部１４００のＣＰＵ１４０４からコマンドを受信したか否かを判別する。ステップＳ２６０９では、演出制御処理を行う。この演出制御処理では、例えば、ステップＳ２６０７で新たなコマンドがあった場合には、このコマンドに対応する処理を行う。この処理には、例えば、演出データをＲＯＭ１５０６から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行うことが含まれる。
【０４５２】
ステップＳ２６１１では、ステップＳ２６０９の処理結果に基づいてシャッタ制御処理を行う。例えば、ステップＳ２６０９で読み出した演出データの中にシャッタ制御の命令がある場合には、この命令に対応するシャッタ制御を行う。ステップＳ２６１３では、ステップＳ２６０９の処理結果に基づいて画像制御処理を行う。例えば、ステップＳ２６０９読み出した演出データの中に画像制御の命令がある場合には、この命令に対応する画像制御を行い（詳細は後述する）、ステップＳ２６０３へ戻る。
【０４５３】
次に、同図（ｂ）を用いて、第２副制御部１５００のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第２副制御部１５００が、第１副制御部１４００が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップＳ２７０１では、第１副制御部１４００が出力したコマンドを未処理コマンドとしてＲＡＭ１５０８に設けたコマンド記憶領域に記憶する。
【０４５４】
次に、同図（ｃ）を用いて、第２副制御部１５００のＣＰＵ１５０４によって実行する第２副制御部タイマ割込処理について説明する。第２副制御部１５００は、所定の周期（本実施形態では２ｍｓに１回）でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
【０４５５】
ステップＳ２８０１では、第２副制御部メイン処理におけるステップＳ２６０３において説明したＲＡＭ１５０８のタイマ変数記憶領域の値に、１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ２６０３において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。ステップＳ２８０３では、演出用乱数値の更新処理等を行う。
【０４５６】
次に、同図（ｄ）を用いて、第２副制御部１５００のメイン処理におけるステップＳ２６１３の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。
【０４５７】
ステップＳ２９０１では、画像データの転送指示を行う。ここでは、ＣＰＵ１５０４は、まず、ＶＲＡＭ１５３６の表示領域Ａと表示領域Ｂの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された１フレームの画像が演出画像表示装置１１５７に表示される。次に、ＣＰＵ１５０４は、ＶＤＰ１５３４のアトリビュートレジスタに、位置情報等テーブルに基づいてＲＯＭ座標（ＲＯＭ１５０６の転送元アドレス）、ＶＲＡＭ座標（ＶＲＡＭ１５３６の転送先アドレス）などを設定した後、ＲＯＭ１５０６からＶＲＡＭ１５３６への画像データの転送開始を指示する命令を設定する。ＶＤＰ１５３４は、アトリビュートレジスタに設定された命令に基づいて画像データをＲＯＭ１５０６からＶＲＡＭ１５３６に転送する。その後、ＶＤＰ１５３４は、転送終了割込信号をＣＰＵ１５０４に対して出力する。
【０４５８】
ステップＳ２９０３では、ＶＤＰ１５３４からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップＳ２９０５に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップＳ２９０５では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、ＣＰＵ１５０４は、ステップＳ２９０１でＶＲＡＭ１５３６に転送した画像データに基づいてＶＲＡＭ１５３６の表示領域ＡまたはＢに表示画像を形成するために、表示画像を構成する画像データの情報（ＶＲＡＭ１５３６の座標軸、画像サイズ、ＶＲＡＭ座標（配置座標）など）をＶＤＰ１５３４に指示する。ＶＤＰ１５３４はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。
【０４５９】
ステップＳ２９０７では、描画指示を行う。この描画指示では、ＣＰＵ１５０４は、ＶＤＰ１５３４に画像の描画開始を指示する。ＶＤＰ１５３４は、ＣＰＵ１５０４の指示に従ってフレームバッファにおける画像描画を開始する。ステップＳ２９０９では、画像の描画終了に基づくＶＤＰ１５３４からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップＳ２９１１に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップＳ２９１１では、ＲＡＭ１５０８の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント（＋１）して処理を終了する。
【０４６０】
このようなスロットマシン１１００の主制御部１３００に対しても、次に説明する本発明の特徴点の一つ、複数、または全てを適用することができる。
【０４６１】
以上説明したように、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技の進行を中心とした遊技制御を行うＣＰＵ（例えば、ＣＰＵ３０４（またはＣＰＵ１３０４）を有する主制御部（例えば、主制御部３００（または主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記ＣＰＵは、第一レジスタ（例えば、「ＰＯＰ  ＴＩ命令」、「ＰＵＳＨ  ＴＩ命令」などのロード命令で使うことができるが、演算命令では使うことができない（演算命令によって直接、自身の値を変化させることができない）Ｔレジスタ）と第二レジスタ（例えば、Ａレジスタ、Ｆレジスタ、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタ、およびこれらの裏レジスタ）を備えるとともに、前記第一レジスタに前記第二レジスタを介してデータを転送する命令（例えば「ＬＤ  Ｔ，Ａ」命令のように、ＴレジスタにＡレジスタを介して直接、データを転送する命令）を備えず、前記第一レジスタに直値（イミディエイト値や即値ともいう）によりデータを設定する命令（例えば、「ＬＤ  Ｔ，Ｆ０Ｈ」命令）を備えることを特徴とする遊技台である。
【０４６２】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、第一のレジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、第一のレジスタに対して他のレジスタを介してデータを転送できないように構成されているので、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一レジスタは直値によるデータの転送のみが認められているため、レジスタを介したデータの転送と直値によるデータの転送の両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業や、デバッグ（例えば、Ｔレジスタのトレースなど）の効率を高めることが可能となる。
【０４６３】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、ＣＰＵを有し、遊技制御を行う遊技制御手段を備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、マイクロコンピュータに内蔵され、前記ＣＰＵは、少なくとも特定レジスタ（例えば、Ｔレジスタ）を備え、前記ＣＰＵは、前記特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有する遊技台である。
【０４６４】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、ロード命令では特定レジスタに対して直値以外にデータをセットできないので、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができ、安定した遊技制御を行うことができる。また、特定レジスタにセットしているデータをソースコード上で目視で容易に確認することができるため、コーディングの見直し作業やデバッグの効率を高めることができ、従来よりもミスの発生を大幅に減らすことができ、安定した遊技制御を行うことができる。また、特定レジスタは直値によるデータのセットのみが認められているため、レジスタを介したデータのセットと直値によるデータのセットの両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業やデバッグ（例えば、Ｔレジスタのトレースなど）の効率を高めることができる場合がある。
【０４６５】
なお、本発明は、「プログラミングの際にロード命令を用いない」ことを特徴とするものではなく、「ＣＰＵは、特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有する」ため、「プログラミングの際に、特定レジスタについては直値により値をセットするロード命令しか用いることができない」ことを特徴としている。
【０４６６】
すなわち、本発明では、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いようとしても、ＣＰＵ自体がそのようなロード命令を実行（理解）する機能を有していないため、通常は、アセンブラ言語を機械語にアセンブルする過程で、ＣＰＵが実行（理解）できない命令として排除され、機械語に変換できないように構成される。このため、プログラマーは、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いたくても、用いることができない。なお、本明細書では、アセンブリ言語を使ってプログラミングを行う例を示しているが、機械語を使ってプログラミングを行った場合も事情は同じで、プログラマーは、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いたくても、ＣＰＵが実行（理解）できない以上、当該命令を用いることができない。
【０４６７】
このような理由により、本発明では、上述の顕著な効果を得ることができるが、従来技術では、ロード命令に関して本発明のような制約がないため、プログラマーは、プログラミングの際に、特定レジスタに他のレジスタを介して値をセットするロード命令を自由に用いることができる。「プログラミングの際にロード命令を用いるか否か（記述するか否か）は、プログラムの内容等に基づく必要に応じて当業者が適宜選択し得る事項である」ため、プログラマーは、特定レジスタに他のレジスタを介して値をセットするロード命令を用いるか否かを適宜選択することができるが、従来技術では当該命令を用いることができるという選択肢がある以上、上述の本発明特有の顕著な効果と同等の効果を確実に得ることはできない。
【０４６８】
また、仮にプログラミングの際には当該命令を用いないというルールを策定したとしても、ルールを守るか守らないかはプログラマー（人間）に依存することであり、本発明のように、特定レジスタに他のレジスタを介して値をセットするロード命令の使用を１００％排除できるものでもない。
【０４６９】
さらに、特定レジスタに他のレジスタを介して値をセットするロード命令を自由に用いることができる環境では、通常は、アセンブラ言語を機械語にアセンブルする過程で、ＣＰＵが実行（理解）できる命令として、当該命令を機械語に変換できるように構成される。このため、従来技術においては、プログラマーは、プログラミングの際に、たとえ特定レジスタに他のレジスタを介して値をセットするロード命令を用いないように注意していたとしても、アセンブラの最適化などによって当該命令に相当する機械語にアセンブルされてしまう可能性を１００％排除することができない。
【０４７０】
また、前記第二レジスタは、一の特定レジスタ（例えば、Ａレジスタ）と複数の非特定レジスタ（例えば、Ｆレジスタ、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタ、およびこれらの裏レジスタ）で構成されており、前記ＣＰＵは、前記非特定レジスタに前記第一レジスタを介してデータを転送する命令（例えば、「ＬＤ  Ｂ，Ｔ」命令のように、ＢレジスタにＴレジスタを介してデータを転送する命令）を備えず、前記特定レジスタに前記第一レジスタを介してデータを転送する命令（例えば、「ＬＤ  Ａ，Ｔ」命令）を備えてもよい。
【０４７１】
このような構成とすれば、第一のレジスタを他のレジスタに比べて使いにくくすることができるため、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。
【０４７２】
また、前記第一レジスタおよび前記第二レジスタは、８ビット長の値を記憶可能な８ビットレジスタであり、前記非特定レジスタは、他のレジスタと合わせて１６ビット長の演算が可能なレジスタの組み合わせ（例えば、ＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ）を構成可能なレジスタであるが、前記第一レジスタは、他のレジスタと合わせて前記１６ビット長の演算が可能なレジスタの組み合わせを構成不可能なレジスタであってもよい。
【０４７３】
このような構成とすれば、第一のレジスタを他のレジスタに比べて使いにくくすることができるため、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。なお、Ｔレジスタは、他のレジスタと合わせて１６ビット長の演算が可能なレジスタの組み合わせを構成不可能であるが、上述の通り、「ＰＵＳＨ  ＴＩ」命令や、「ＰＯＰ  ＴＩ」命令では、Ｉレジスタと合わせて１６ビット長の退避・復帰が可能である。換言すれば、Ｔレジスタは、演算命令のオペランドとしては利用できないが、転送命令のオペランドとしては利用することができるレジスタである。
【０４７４】
また、前記遊技制御に用いるデータを記憶する記憶手段を備え、前記記憶手段は、前記ＣＰＵが実行するプログラムを記憶するＲＯＭ（例えば、ＲＯＭ３０６（またはＲＯＭ１３０６））と、前記ＣＰＵが前記遊技制御を行う際に用いるデータを一時記憶可能なＲＡＭ（例えば、ＲＡＭ３０８（またはＲＡＭ１３０８））と、を少なくとも有し、前記ＣＰＵは、前記遊技制御を開始する前（例えば、「電源投入後、主制御部３００のＣＰＵ３０４がユーザプログラム（制御プログラム）を実行する前」、「システムリセット後、主制御部３００のＣＰＵ３０４がユーザプログラム（制御プログラム）を実行する前」、「セキュリティモードに移行した直後」、「セキュリティチェックの結果がＯＫとなってユーザモードに移行した直後」、「システムリセットによる初期化処理の期間中」など）に、前記ＲＡＭの先頭アドレスのうちの上位アドレスを示す特定の値（例えば、Ｆ０Ｈ）を、（前記プログラムによらずに、）前記第一レジスタに設定してもよい。
【０４７５】
このような構成とすれば、ＲＡＭのデータを読み書きする場合には、第一のレジスタをＲＡＭの上位アドレスを示す値として固定することで、ＲＡＭの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。
【０４７６】
また、ＣＰＵと、遊技制御プログラムが記憶されたＲＯＭと、データを一時記憶可能なＲＡＭと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、少なくとも特定のレジスタを有し、前記ＲＡＭの先頭アドレスの上位バイトは、前記ＲＯＭの先頭アドレスの上位バイトよりも大きく、前記ＣＰＵは、前記特定のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有し、前記ＣＰＵは、前記特定のレジスタに値をセットする機能のうち、前記ロード命令を受けたことに基づいて行われるもの以外のものとしては、前記ＲＡＭの先頭アドレスの上位バイトと同じ値を初期値としてセットする機能を少なくとも有していてもよい。
【０４７７】
このような構成とすれば、ＲＡＭの上位アドレスを示す値を特定レジスタの初期値としてセットすることで、ＲＡＭのデータを読み書きする場合には、ＲＡＭの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することができる。しかも、特定レジスタには、初期値以外では、ロード命令による直値だけしかセットすることができないので、特定レジスタの値を不用意に変更することができなくなる結果、アドレスの設定ミスや、ＲＡＭへのデータの読み書きミスなどの発生を回避することができ、安定した遊技制御を行うことができる。また、頻繁に演算に用いられることにより、意図しない演算結果が記憶されたレジスタ経由で、間違った値が特定のレジスタにセットされることを防止できるとともに、初期値としてＲＡＭの先頭アドレスの上位バイトと同じ値が特定のレジスタにセットされるので、電源投入後、特定のレジスタを用いてＲＡＭのアクセスを行う場合であれば、特定のレジスタに値をセットする操作をせずに、特定のレジスタを用いてＲＡＭのアクセスを行うことが可能になり、当該「ＲＡＭのアクセスを行う」ことについて、特定のレジスタの値が誤っていることから意図しないアドレスの情報をアクセスしてしまうといった不具合の防止効果をさらに高めることができる。
【０４７８】
また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、ＣＰＵのユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード（例えば、セキュリティモード）と、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。
【０４７９】
また、前記ＲＡＭは、第一エリア（例えば、Ｆ０００Ｈ〜Ｆ３ＦＦＨのワークエリア（または、Ｉ／ＯマップドＩ／Ｏ方式でアクセス可能なエリア））と第二エリア（例えば、７ＦＥ０Ｈ〜７ＦＦＦＨのスタックエリア（または、メモリマップドＩ／Ｏ方式でアクセス可能なエリア））を有して構成されており、前記特定の値は、前記第一エリアの上位アドレス（Ｆ０Ｈ）を示す値であってもよい。
【０４８０】
このような構成とすれば、ＲＡＭの第一エリアのデータを読み書きする場合には、第一のレジスタをＲＡＭの第一エリアの上位アドレスを示す値として固定することで、ＲＡＭの第一エリアの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一エリアの上位アドレスを固定することによって、第一エリアの読み書きを行うつもりが誤って第二エリアの読み書きを行ってしまうようなミスを未然に防止できる場合がある。
【０４８１】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技の進行を中心とした遊技制御を行うＣＰＵ（例えば、ＣＰＵ３０４（またはＣＰＵ１３０４）と、前記遊技制御に用いるデータを記憶する記憶手段と、を備えた遊技台であって、前記記憶手段は、前記ＣＰＵが実行するプログラムを記憶するＲＯＭ（例えば、ＲＯＭ３０６（またはＲＯＭ１３０６））と、前記ＣＰＵが前記遊技制御を行う際に用いるデータを一時記憶可能なＲＡＭ（例えば、ＲＡＭ３０８（またはＲＡＭ１３０８））と、を少なくとも有し、前記ＣＰＵは、前記遊技制御を開始する前（例えば、「電源投入後、主制御部３００のＣＰＵ３０４がユーザプログラム（制御プログラム）を実行する前」、「システムリセット後、主制御部３００のＣＰＵ３０４がユーザプログラム（制御プログラム）を実行する前」、「セキュリティモードに移行した直後」、「セキュリティチェックの結果がＯＫとなってユーザモードに移行した直後」、「システムリセットによる初期化処理の期間中」など）に、前記ＲＡＭの先頭アドレスのうちの上位アドレスを示す特定の値（例えば、Ｆ０Ｈ）を、（前記プログラムによらずに、）特定レジスタ（例えば、ＲＯＭ３０６とは別体のＣＰＵ３０４に内蔵されたＴレジスタ）に設定することを特徴とする遊技台である。
【０４８２】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、ＲＡＭのデータを読み書きする場合には、特定レジスタをＲＡＭの上位アドレスを示す値として固定することで、ＲＡＭの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。
【０４８３】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、ＣＰＵと、遊技制御プログラムを記憶するＲＯＭと、データを一時記憶可能なＲＡＭと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、少なくとも特定レジスタを備え、前記ＲＡＭの先頭アドレスの上位バイトは、前記ＲＯＭの先頭アドレスの上位バイトよりも大きく、前記遊技制御プログラムによらずに、前記ＲＡＭの先頭アドレスの上位バイトと同じ値が、初期値として前記特定レジスタにセットされることを特徴とする遊技台である。
【０４８４】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、遊技制御プログラム内でＲＡＭのアドレスの上位バイトを記述する必要がなくなるので、不正行為者にプログラムを不正に解析されたとしてもＲＡＭのアドレスが特定困難である上に、遊技制御プログラムを書き換えただけでは遊技を思い通りに制御することができないため、遊技制御プログラムの書き換えによる不正行為を効果的に防止することができる。また、ＲＡＭのデータを読み書きする場合には、特定レジスタをＲＡＭの上位アドレスを示す値として固定することで、ＲＡＭの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる。
【０４８５】
また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、ＣＰＵのユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード（例えば、セキュリティモード）と、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。
【０４８６】
また、前記ＣＰＵは、非特定レジスタ（例えば、Ａレジスタ、Ｆレジスタ、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタ、およびこれらの裏レジスタ）をさらに備えるとともに、前記特定レジスタに前記非特定レジスタを介してデータを転送する命令（例えば「ＬＤ  Ｔ，Ａ」命令のように、ＴレジスタにＡレジスタを介してデータを転送する命令）を備えず、前記特定レジスタに直値によりデータを設定する命令（例えば、「ＬＤ  Ｔ，Ｆ０Ｈ」命令）を備えてもよい。
【０４８７】
このような構成とすれば、特定レジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、特定レジスタに対して他のレジスタを介してデータを転送できないように構成されているので、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、特定レジスタは直値によるデータの転送のみが認められているため、レジスタを介したデータの転送と直値によるデータの転送の両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業や、デバッグ（例えば、Ｔレジスタのトレースなど）の効率を高めることが可能となる。
【０４８８】
また、前記ＣＰＵは、前記特定レジスタに直値によりデータを転送する命令に基づいて、前記特定レジスタに前記特定の値を転送することができるようにしてもよい。
【０４８９】
このような構成とすれば、ループ処理などで汎用レジスタの空きがなくなった場合に臨時的に特定レジスタを使用した後に、初期値に戻すことができ、利便性を高めることができる。
【０４９０】
また、前記ＣＰＵは、前記ＲＡＭから前記特定レジスタにデータを転送する命令に基づいて、前記特定レジスタに前記特定の値を転送（例えば、「ＰＯＰ  ＴＩ」命令による転送）することができるように構成してもよい。
【０４９１】
このような構成とすれば、特定レジスタを特定の処理に使用することが可能となり、特定レジスタの利便性を高めることができる場合がある。
【０４９２】
また、前記ＲＡＭは、第一エリア（例えば、Ｆ０００Ｈ〜Ｆ３ＦＦＨのワークエリア（または、Ｉ／ＯマップドＩ／Ｏ方式でアクセス可能なエリア））と第二エリア（例えば、７ＦＥ０Ｈ〜７ＦＦＦＨのスタックエリア（または、メモリマップドＩ／Ｏ方式でアクセス可能なエリア））を有して構成されており、前記特定の値は、前記第一エリアの上位アドレス（Ｆ０Ｈ）を示す値であってもよい。
【０４９３】
このような構成とすれば、ＲＡＭの第一エリアのデータを読み書きする場合には、特定レジスタをＲＡＭの第一エリアの上位アドレスを示す値として固定することで、ＲＡＭの第一エリアの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一エリアの上位アドレスを固定することによって、第一エリアの読み書きを行うつもりが誤って第二エリアの読み書きを行ってしまうようなミスを未然に防止できる場合がある。
【０４９４】
また、前記ＣＰＵは、所定の割込み条件が成立したことに基づいて実行される割込み処理（例えば、主制御部メイン処理）を実行可能であるとともに、電源投入後、最初の前記割込み処理を実行する前に、前記特定レジスタに前記特定の値が設定されているかを判定する処理（例えば、Ｔレジチェック処理）を実行してもよい。なお、「電源投入後、最初の前記割込み処理を実行する前」の例としては、他にも、「電源投入後、主制御部メイン処理のステップＳ１０５の低電圧状態の確認前」や、「電源投入後、主制御部メイン処理のステップＳ１０９の電断前の状態に復帰する否かの確認前」や、「電源投入後、第１副制御部の立ち上りの確認前」などを挙げることができる。また、「判定する処理」の結果に応じて、上記図１１に示すように、特定レジスタに特定の値を設定したり、上記図１２に示すように、エラー処理を実行してもよい。
【０４９５】
このような構成とすれば、特定レジスタの値を確認することで遊技台が正常動作をしているか否かを判断できる場合がある。
【０４９６】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、複数のアドレスそれぞれで示される記憶領域（例えば、ＲＯＭ領域）に制御プログラムデータを含む複数種類のデータ（例えば、非使用データや参照データ）を記憶したＲＯＭ（例えば、ＲＯＭ３０６）と、前記ＲＯＭに記憶された前記制御プログラムデータに基づいて所定の周期毎に実行される割込み処理（例えば、主制御部タイマ割込み処理）を含む複数種類の遊技制御処理を実行するＣＰＵ（例えば、ＣＰＵ３０４）と、を備え、前記ＲＯＭは、１又は複数の前記制御プログラムデータであって、前記ＣＰＵが実行する複数種類の命令それぞれに対応した命令データ（オペコード）と、１又は複数の前記制御プログラムデータであって、前記ＣＰＵが該命令を実行するために必要な補足データ（オペランド）と、を記憶し、該命令データであって、特定のアドレス（例えば、サブルーチンの先頭のアドレス）を識別可能にする特定識別情報（例えば、サブルーチンの先頭のアドレスをバイナリ形式で表現した情報）の一部である第１の識別情報を示す第１のアドレスデータ（例えば、ｍ）および該第１のアドレスデータと異なる別データ（例えば、ＥＸＥＳＵＢ命令の命令データからｍを除いたデータ）で構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記ＣＰＵに読み込ませる特定命令（例えば、ＥＸＥＳＵＢ命令）に対応した特定命令データ（例えば、ＥＸＥＳＵＢ命令の命令データ）と、該補足データであって、該特定識別情報から該第１の識別情報を除いた情報のうちの少なくとも一部である第２の識別情報を示す第２のアドレスデータ（例えば、ｎ）で構成され、前記ＣＰＵが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように（例えば、ＲＯＭ制御領域のうちタイマ割り込み処理の領域に対応するＲＯＭ３０６の記憶領域（タイマ割込み処理に対応したアドレスで示される記憶領域）に）記憶していることを特徴とする遊技台である。
【０４９７】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、命令データに含まれる第１のアドレスデータｍを上位アドレスのデータとして定義することで、アドレス領域に対して命令データをグループ化して対応付けることができ、コーディングミスを抑制することができる場合がある。また、命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止される場合があるため、コーディングミスを抑制することができる場合がある。また、従来のサブルーチンを呼び出す制御命令（例えば、ＣＡＬＬ命令）を圧縮することができ、ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域に記憶されている従来の制御プログラムデータを圧縮することが可能となる。また、制御プログラムの圧縮に起因して従来（例えば、ＣＡＬＬ命令）よりもサブルーチンを呼び出す制御プログラムの処理速度を向上させる（ステート数を少なくする）ことができる場合がある。
【０４９８】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、複数のアドレスそれぞれで示される記憶領域に制御プログラムデータおよび該制御プログラムデータに基づいて参照される参照データを含む複数種類のデータを記憶したＲＯＭと、前記ＲＯＭに記憶された前記制御プログラムデータおよび前記参照データに基づいて所定の周期毎に実行される割込み処理を含む複数種類の遊技制御処理を実行するＣＰＵと、を備え、前記ＲＯＭは、１又は複数の前記制御プログラムデータであって、前記ＣＰＵが実行する複数種類の命令それぞれに対応した命令データと、１又は複数の前記制御プログラムデータであって、前記ＣＰＵが該命令を実行するために必要な補足データと、を記憶し、前記命令データであって、特定のアドレスを識別可能にする特定識別情報の一部である第１の識別情報を示す第１のアドレスデータおよび該第１のアドレスデータと異なる別データで構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記ＣＰＵに読み込ませる特定命令に対応した特定命令データと、前記補足データであって、前記特定識別情報から前記第１の識別情報を除いた情報である第２の識別情報を示す第２のアドレスデータで構成され、前記ＣＰＵが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように記憶し、前記特定命令の実行により前記ＣＰＵが読み込み可能な特定の記憶領域に全ての前記制御プログラムデータを記憶し、全ての制御プログラムデータが記憶された前記特定の記憶領域とは異なる記憶領域に、前記参照データを記憶していることを特徴とする遊技台である。
【０４９９】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、ＣＰＵが特定命令を実行する際に、誤って参照データを読み込んでしまい、当該参照データに基づいて意図しない遊技制御処理を行ってしまうような事態を未然に防止することができ、遊技制御の安定化を図ることができる。また、特定命令は、特定の記憶領域に記憶された全ての制御プログラムデータを読み込み可能に構成されているため、制御プログラムデータにおける呼出元と呼出先の配置（記憶場所）が制限されることがなく、制御プログラムの設計に自由度を持たせることができる。また、遊技台の分野においては、複数種類の遊技台において制御プログラムデータ（例えば、使用頻度の高いサブルーチン）を共用する一方で、各遊技台の仕様や性能に応じて参照データ（例えば、抽選値や演出データ）を異ならせることが一般的であるため、遊技台に特に好適である。
【０５００】
また、複数のアドレスそれぞれで示される記憶領域に制御プログラムデータおよび該制御プログラムデータに基づいて参照される参照データを含む複数種類のデータを記憶したＲＯＭと、前記ＲＯＭに記憶された前記制御プログラムデータおよび前記参照データに基づいて所定の周期毎に実行される割込み処理を含む複数種類の遊技制御処理を実行するＣＰＵと、を備え、前記ＲＯＭは、１又は複数の前記制御プログラムデータであって、前記ＣＰＵが実行する複数種類の命令それぞれに対応した命令データと、１又は複数の前記制御プログラムデータであって、前記ＣＰＵが該命令を実行するために必要な補足データと、を記憶し、前記命令データであって、特定のアドレスを識別可能にする特定識別情報の一部である第１の識別情報を示す第１のアドレスデータおよび該第１のアドレスデータと異なる別データで構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記ＣＰＵに読み込ませる特定命令に対応した特定命令データと、前記補足データであって、前記特定識別情報から前記第１の識別情報を除いた情報である第２の識別情報を示す第２のアドレスデータで構成され、前記ＣＰＵが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように記憶し、前記特定命令の実行により前記ＣＰＵが読み込み可能な特定の記憶領域に全ての前記制御プログラムデータを記憶し、全ての制御プログラムデータが記憶された前記特定の記憶領域とは異なる記憶領域に、前記参照データを記憶していてもよい。
【０５０１】
このような構成とすれば、ＣＰＵが特定命令を実行する際に、誤って参照データを読み込んでしまい、当該参照データに基づいて意図しない遊技制御処理を行ってしまうような事態を未然に防止することができ、遊技制御の安定化を図ることができる。また、特定命令は、特定の記憶領域に記憶された全ての制御プログラムデータを読み込み可能に構成されているため、制御プログラムデータにおける呼出元と呼出先の配置（記憶場所）が制限されることがなく、制御プログラムの設計に自由度を持たせることができる。また、遊技台の分野においては、複数種類の遊技台において制御プログラムデータ（例えば、使用頻度の高いサブルーチン）を共用する一方で、各遊技台の仕様や性能に応じて参照データ（例えば、抽選値や演出データ）を異ならせることが一般的であるため、遊技台に特に好適である。
【０５０２】
また、前記ＲＯＭは、少なくとも前記第１の識別情報、前記第２の識別情報の順序に定義することにより前記特定のアドレスを識別可能にする前記特定識別情報（例えば、ｍｎ）のうち、前記第１の識別情報を示す前記第１のアドレスデータおよび前記別データで構成される前記特定命令データと、該特定識別情報のうち前記第２の識別情報を示す前記第２のアドレスデータで構成される前記特定補足データと、を前記割込み処理で実行される命令に対応するように記憶してもよい。
【０５０３】
このような構成とすれば、命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止されるため、コーディングミスを抑制することができる場合がある。
【０５０４】
また、前記ＲＯＭは、少なくとも前記第１のアドレスデータの一部である第１の構成データ（例えば、ＥＸＥＳＵＢ命令の命令データのビット７）、前記別データの少なくとも一部である第２の構成データ（例えば、ＥＸＥＳＵＢ命令の命令データのビット６〜３）、前記第１のアドレスデータから該第１の構成データを除いた第３の構成データ（例えば、ＥＸＥＳＵＢ命令の命令データのビット２〜０）の順序で構成された前記特定命令データをを前記割込み処理で実行される命令に対応するように記憶してもよい。
【０５０５】
このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源（例えば、１バイトで定義可能なパターン（２５６パターン））を有効利用することができ、命令データの圧縮によるＲＯＭ制御領域に対応するＲＯＭの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。
【０５０６】
また、前記第３の構成データ（例えば、ＥＸＥＳＵＢ命令の命令データのビット２〜０）が前記第１の構成データ（例えば、ＥＸＥＳＵＢ命令の命令データのビット７）と比較してデータ容量が大きくなる、または、前記第１の構成データが前記第３の構成データと比較してデータ容量が大きくなる（例えば、３ビットに対して１ビット）ように構成された前記特定命令データを前記割込み処理で実行される命令に対応するように記憶してもよい。
【０５０７】
このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源（例えば、１バイトで定義可能なパターン（２５６パターン））を有効利用することができ、命令データの圧縮によるＲＯＭ制御領域に対応するＲＯＭの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。
【０５０８】
また、前記ＲＯＭは、前記特定命令の実行により前記ＣＰＵが読み込み可能なデータが記憶されている特定の記憶領域（例えば、００００Ｈ〜０ＦＦＦＨや００００Ｈ〜１１ＦＦＨ）に全ての前記制御プログラムデータを記憶するとともに、該特定の記憶領域から前記制御プログラムデータが記憶された制御記憶領域（例えば、ＲＯＭ制御領域に対応するＲＯＭ３０６の記憶領域）を除いた記憶領域（例えば、非使用領域に対応するＲＯＭ３０６の記憶領域）の全てに前記遊技制御処理の実行に使用されない非使用データ（例えば、００Ｈ）を記憶するようにしてもよい。
【０５０９】
このような構成とすれば、ＣＰＵ３０４が非使用データおよび制御プログラムデータを除くデータ（例えば、参照データや管理データ）を直接命令データとして読み込まれることがないため、補足データのコーディングミスによるＣＰＵ３０４の誤作動を防止できる場合がある。
【０５１０】
また、前記ＲＯＭは、複数のアドレスそれぞれで示される記憶領域に特定のデータ長（例えば、１バイト（８ビット））で表される複数種類のデータを記憶するものであり、前記ＣＰＵは、前記ＲＯＭの記憶された一のアドレスに示される記憶領域に記憶されたデータを一処理毎に読み込むことで前記割込み処理を含む複数種類の遊技制御処理を実行するものであり、前記ＲＯＭは、さらに、前記特定のデータ長の２以上の整数倍である第１のデータ長（例えば、２バイト（１６ビット））で表現される前記特定のアドレスを識別可能な前記特定識別情報の一部である前記第１の識別情報を示す前記第１のアドレスデータおよび前記別データで構成される前記特定命令データと、該第１のデータ長よりも前記特定のデータ長の整数倍のデータ長だけ短い第２のデータ長（例えば、１バイト（８ビット））で表現される前記第２のアドレスデータで構成される前記特定補足データと、を前記割込み処理で実行される命令に対応するように記憶してもよい。
【０５１１】
このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源（例えば、１バイトで定義可能なパターン（２５６パターン））を有効利用することができ、命令データの圧縮によるＲＯＭ制御領域に対応するＲＯＭの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。
【０５１２】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１０）は、複数の制御プログラムデータで構成される制御プログラムを記憶しているＲＯＭ（例えば、ＲＯＭ３０６）と、前記制御プログラムに基づいて遊技制御を実行するＣＰＵ（例えば、ＣＰＵ３０４）と、を備え、前記ＲＯＭは、前記複数の制御プログラムデータのうち、第１のデータ（例えば、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データにおける、ビット６およびビット７）、第２のデータ（例えば、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データにおける、ビット５（α））、第３のデータ（例えば、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データにおける、ビット３およびビット４）、第４のデータ（例えば、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データにおける、ビット０（δ）、ビット１（γ）、ビット２（β））、第５のデータ（例えば、ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データにおける、補足データ（ｎ））を含んで構成された特定の制御プログラムデータ（ＥＸＥＳＵＢ命令（ＥＸＥＳＵＢｍｎ）の命令データを、少なくとも、該第２のデータ、該第３のデータ、該第４のデータ、順番に並べて（例えば、アドレスの若い順番）記憶するものであり、前記ＣＰＵは、前記特定の制御プログラムデータを読み込んだ場合に、前記第１および第３のデータを用いて特定される第１の命令（例えば、サブルーチンの先頭のアドレスを呼び出す命令）と、前記第２のデータ、前記第４のデータおよび前記第５のデータを用いて特定される第２の命令（例えば、呼び出すサブルーチンの先頭アドレスを特定する命令）と、で特定される特定命令（例えば、ＥＸＥＳＵＢ命令）を所定周期で実行される割込処理（例えば、タイマ割込み処理）中に実行することを特徴とする遊技台とも言える。
【０５１３】
なお、前記ＲＯＭは、前記第１のデータと前記第２のデータの間、前記第２のデータと前記第３のデータの間および前記第３のデータと前記第４のデータの間のうち少なくともいずれか１つのデータ間に別のデータを含んで構成される前記特定の制御プログラムデータを記憶するものであってもよいが、前記ＲＯＭは、前記第１のデータ、前記第２のデータ、前記第３のデータおよび前記第４のデータでのみで構成される前記特定の制御プログラムデータを記憶するものであると、よりアセンブル後の機械語のチェックが簡便になり、コーディングミスを抑制することができる。
【０５１４】
また、前記第１のデータ、前記第２のデータ、第３のデータおよび前記第４のデータを合わせたデータ長と、前記第４のデータのデータ長を同一のデータ長（例えば、１バイト（８ビット）長）としてもよい。さらに、前記ＣＰＵが一度に読み込むデータのデータ長と前記第４のデータのデータ長を同一のデータ長としても良い。
【０５１５】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、プログラムデータおよび一時的なデータを記憶する記憶手段（例えば、ＲＯＭ３０６、ＲＡＭ３０８（またはＲＯＭ１３０６、ＲＡＭ１３０８））と、前記記憶手段に記憶されているデータを用いて遊技の進行を中心とした遊技制御を行う主制御部（例えば、主制御部３００（または、主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記主制御部は、第一のビット長（例えば、８ビット長）からなる複数のレジスタ（例えば、Ａレジスタ、Ｆレジスタ、Ｂレジスタ、Ｃレジスタ、Ｄレジスタ、Ｅレジスタ、Ｈレジスタ、Ｌレジスタ、Ｔレジスタ）を有し、前記第一のビット長の倍のビット長である第二のビット長（例えば、１６ビット長）の演算が可能なレジスタの組み合わせである前記複数のレジスタ（例えば、ＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ）のうちの第一のレジスタと第二のレジスタ（例えば、ＨレジスタとＬレジスタ）に格納された値によって示される前記記憶手段における第一のアドレス（例えば、１７５０Ｈ）、および該第一のアドレスと連続する第二のアドレス（例えば、１７５１Ｈ）に格納された第一の値（例えば、ＡＥＨ）と第二の値（例えば、１９）を、前記複数のレジスタのうちの第三のレジスタ（例えば、Ｃレジスタ）と第四のレジスタ（例えば、Ａレジスタ）にそれぞれ転送する所定の命令（例えば、「ＩＮＣＴＥＮＳＯＵ  ＡＣ，（ＨＬ）」命令）を備え、該所定の命令を前記遊技制御（例えば、特別図柄変動時間抽選処理）において実行し、前記第三のレジスタと前記第四のレジスタは、前記第二のビット長の演算が可能なレジスタの組み合わせ（ＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ）とは異なることを特徴とする遊技台である。なお、「第一のアドレスと連続する第二のアドレス」は第一のアドレスよりも大きなアドレスに限定されず、第一のアドレスよりも小さなアドレスでもよく、先の例では、第一アドレスが１７５０Ｈ、第二アドレスが１７４ＦＨでもよい。
【０５１６】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、１回の命令によって、連続して配置されたアドレスに格納された２つのデータを、レジスタペアを構成しない２種類のレジスタに格納することができるため、プログラム容量を削減することができ、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、処理時間を短縮でき、安定した遊技制御を行うことができる場合がある。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。また、第三のレジスタと第四のレジスタとはレジスタペアではないため、１６ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる場合がある。
【０５１７】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、少なくとも第一から第四のレジスタを備え、上位レジスタおよび下位レジスタからなるレジスタペアを用いた処理を実行可能であるＣＰＵと、遊技制御プログラムを記憶するＲＯＭと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、第一の命令と第二の命令を含む複数の命令を実行可能であり、少なくとも前記第一のレジスタと前記第二のレジスタの二つのレジスタの組み合わせは、前記レジスタペアのうちの所定のレジスタペアであり、前記第三のレジスタと前記第四のレジスタの少なくともいずれかは、前記上位レジスタであり、前記第一の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスが示す領域に格納された第一の値が前記第四のレジスタにセットされ、該第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第二のアドレスと連続するアドレスを示す値になり、前記第二の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第四のレジスタにセットされ、該第二のアドレスと連続する第三のアドレスが示す領域に格納された第三の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第三のアドレスを示す値になり、前記ＣＰＵは、前記レジスタペアとは異なる前記第三のレジスタと前記第四のレジスタの二つのレジスタの組み合わせに前記ＲＯＭに格納された値を一命令でセットすることが可能であるとともに、前記所定のレジスタペアの値を変化させる所定の機能としては、前記第一の命令を受けたことに基づいて値をセットする第一の機能と前記第二の命令を受けたことに基づいて値をセットする第二の機能の二つのみを有することを特徴とする遊技台である。
【０５１８】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、レジスタペアよりも汎用性の低い第三のレジスタと第四のレジスタの二つの組み合わせに値を一命令でセットする機能を限定したため、遊技者の利益に係る値を不正に改ざんする不正行為を不正者が行い難くすることができる。また、第一の命令と第二の命令を前後の処理に応じて使い分けることができ、遊技制御プログラムの容量を削減することができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる。また、第三のレジスタと第四のレジスタはレジスタペアよりも汎用性が低いため、プログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる。また、命令の実行中に割込み処理が発生し、割込み処理によって命令実行途中のレジスタの値が意図しない値に書き換えられてしまったり、命令の実行が妨げられて処理が遅延してしまうといったことがなく、安定した遊技制御を行うことができる場合がある。
【０５１９】
また、少なくとも第一から第四のレジスタを備え、上位レジスタおよび下位レジスタからなるレジスタペアを用いた処理を実行可能であるＣＰＵと、遊技制御プログラムを記憶するＲＯＭと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、第一の命令と第二の命令を含む複数の命令を実行可能であり、少なくとも前記第一のレジスタと前記第二のレジスタの二つのレジスタの組み合わせは、前記レジスタペアのうちの所定のレジスタペアであり、前記第三のレジスタと前記第四のレジスタの少なくともいずれかは、前記上位レジスタであり、前記第一の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスが示す領域に格納された第一の値が前記第四のレジスタにセットされ、該第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第二のアドレスと連続するアドレスを示す値になり、前記第二の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第四のレジスタにセットされ、該第二のアドレスと連続する第三のアドレスが示す領域に格納された第三の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第三のアドレスを示す値になり、前記ＣＰＵは、前記レジスタペアとは異なる前記第三のレジスタと前記第四のレジスタの二つのレジスタの組み合わせに前記ＲＯＭに格納された値を一命令でセットすることが可能であるとともに、前記所定のレジスタペアの値を変化させる所定の機能としては、前記第一の命令を受けたことに基づいて値をセットする第一の機能と前記第二の命令を受けたことに基づいて値をセットする第二の機能の二つを少なくとも有し、前記ＣＰＵは、少なくとも特定レジスタを備え、前記ＣＰＵは、前記特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有していてもよい。
【０５２０】
このような構成とすれば、レジスタペアよりも汎用性の低い第三のレジスタと第四のレジスタの二つの組み合わせに値を一命令でセットする機能を限定したため、遊技者の利益に係る値を不正に改ざんする不正行為を不正者が行い難くすることができる。また、第一の命令と第二の命令を前後の処理に応じて使い分けることができ、遊技制御プログラムの容量を削減することができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる。また、第三のレジスタと第四のレジスタはレジスタペアよりも汎用性が低いため、プログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる。また、命令の実行中に割込み処理が発生し、割込み処理によって命令実行途中のレジスタの値が意図しない値に書き換えられてしまったり、命令の実行が妨げられて処理が遅延してしまうといったことがなく、安定した遊技制御を行うことができる。
【０５２１】
また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせを構成してもよい（例えば、Ｂレジスタは、１６ビット長の演算が可能なレジスタペアであるＢＣレジスタを構成する）。
【０５２２】
このような構成とすれば、１６ビット演算を行うレジスタペアの一方のレジスタの値を固定にすることができ、所定の命令前に設定した一方のレジスタの値を退避することなく所定の命令後の処理で使用することができプログラム容量を削減することができる場合がある。また、１６ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑えることができる場合がある。
【０５２３】
また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせの上位レジスタであってもよい（例えば、Ｂレジスタは、１６ビット長の演算が可能なレジスタペアであるＢＣレジスタの上位レジスタである）。
【０５２４】
このような構成とすれば、１６ビット演算を行うレジスタペアの上位８ビットの値を変更することができ、レジスタペアで示されるアドレスの上位を変更して所定の命令後の処理で使用することができる場合がある。例えば、第三のレジスタと第四のレジスタの各々を違う処理に利用（例えば、一方をＩＮＣＴＥＮＳＯＵ命令で利用し、他方をループ処理の回数をカウントするためのカウンタとして利用）することができ、数の限られたレジスタを有効に活用することができる。また、１６ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑えることができる場合がある。
【０５２５】
また、前記所定の命令は、前記第一のレジスタと前記第二のレジスタのうちの下位レジスタの値に所定値加算する処理（例えば、ＨＬレジスタに２を加算する処理）を含んでいてもよい。
【０５２６】
このような構成とすれば、所定の命令終了後に所定のアドレスから所定値加算されたアドレスの値をレジスタに設定した状態で次の処理を行うことができ、例えば、アドレスを１加算する命令を所定値回実行するようなプログラムに比べ、プログラム容量を削減できる場合がある。
【０５２７】
また、前記第一のアドレスは、前記所定の命令を実行する前の前記第一のレジスタと前記第二のレジスタに格納された値によって示されるアドレス（例えば、１７４ＦＨ）の次のアドレス（例えば、１７５０Ｈ）であってもよい。
【０５２８】
このような構成とすれば、繰り返し処理の際に最初にアドレスを指定することができ、繰り返し処理を抜けた際には所定の命令前のアドレスから所定値加算されたアドレスの値をレジスタに設定した状態で次の処理を行うことができる。特に、２種類のデータを交互に記憶したデータテーブルを利用する場合には、データテーブルから所望のデータを素早く読みだすことが可能となる。
【０５２９】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、プログラムデータおよび一時的なデータを記憶する記憶手段（例えば、ＲＯＭ３０６、ＲＡＭ３０８（またはＲＯＭ１３０６、ＲＡＭ１３０８））と、前記記憶手段に記憶されているデータを用いて遊技の進行を中心とした遊技制御を行う主制御部（例えば、主制御部３００（または、主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記主制御部は、第一のビット長（例えば、８ビット長）の値を記憶可能な第一のレジスタ（例えば、Ｃレジスタ）および前記第一のビット長の整数倍の第二のビット長（例えば、１６ビット長）の値を記憶可能な第二のレジスタ（例えば、ＨＬレジスタ）を含む複数のレジスタ（例えば、ＢＣレジスタ、ＤＥレジスタ、ＨＬレジスタ）を有し、前記第二のレジスタの値に前記第一のレジスタの値を加算して前記第二のレジスタに格納する所定の命令（例えば、「ＡＤＤＴＷＯＯＮＥ  ＨＬ，Ｃ」命令）を備え、該所定の命令を前記遊技制御（例えば、特別図柄変動時間抽選処理）において実行することを特徴とする遊技台である。なお、第二のレジスタは、第一のビット長の整数倍の第二のビット長の値を記憶可能であればよく、例えば、第一のレジスタのビット長が４ビットである場合には４の倍数（４、８、１２、…）をビット長とするレジスタでもよく、第一のレジスタのビット長が１６ビットである場合には１６の倍数（１６、３２、６４、…）をビット長とするレジスタでもよい。
【０５３０】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、桁上がり処理を別途行う必要がないため、プログラム容量を削減することができ、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、処理時間を短縮でき、安定した遊技制御を行うことができる場合がある。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。さらに、ビット長が異なるレジスタ同士の加算演算を行うことができるため、例えば、従来は１６ビット長のレジスタペアを２つ使用して行っていた加算演算を、１６ビット長のレジスタペアと８ビット長のレジスタで行うことができる場合があり、数の限られたレジスタを有効に活用することができる。
【０５３１】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、８ビット長の値を記憶可能な第一から第三のレジスタを少なくとも備えるＣＰＵを備え、前記ＣＰＵは、１６ビット長の値を記憶可能な第四のレジスタを少なくとも備え、前記ＣＰＵは、前記第一のレジスタおよび前記第二のレジスタからなるレジスタペアを用いた処理を実行可能であり、前記ＣＰＵを内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、前記第四のレジスタの値に前記第三のレジスタの値を加算して該第四のレジスタに加算結果をセットすることが可能な第一の命令を実行可能であり、前記第一の命令は、前記レジスタペアの値に前記第三のレジスタの値を加算して該レジスタペアに加算結果をセットすることが可能であり、前記ＣＰＵは、前記レジスタペアの値から前記第三のレジスタの値を減算して該レジスタペアに減算結果をセットする第二の命令を実行可能であり、前記ＣＰＵにおける前記１６ビット長の前記レジスタペアに対して前記８ビット長の値を加減算する機能は、前記第一の命令および前記第二の命令の両方によって実現されるが、前記ＣＰＵにおける前記１６ビット長の前記第四のレジスタに対して前記８ビット長の値を加減算する機能は、前記第一の命令によってのみ実現されることを特徴とする遊技台である。
【０５３２】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、ビット長が異なるレジスタの値同士の加減算を行うことができるため、例えば、従来は１６ビット長のレジスタペアを２つ使用して行っていた加減算を、１６ビット長のレジスタペアと８ビット長のレジスタで行うことができる場合があり、数の限られたレジスタを有効に活用することができる。しかも、レジスタの値同士で加減算を行うため、ＲＡＭなどを用いた場合に比べて加減算の処理時間を短縮でき、安定した遊技制御を行うことができる。また、第四のレジスタを用いた加減算を第一の命令のみで実行可能に構成することにより、遊技者の利益に係る値を不正に改ざんする不正行為（例えば、レジスタペアに対して有利な数値を加算するような命令を不正に埋め込むような行為）を不正者が行い難くすることができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減できるため、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる場合がある。
【０５３３】
また、少なくとも第一から第四のレジスタを備え、上位レジスタおよび下位レジスタからなるレジスタペアを用いた処理を実行可能であるＣＰＵと、遊技制御プログラムを記憶するＲＯＭと、を内蔵するマイクロコンピュータを備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、第一の命令と第二の命令を含む複数の命令を実行可能であり、少なくとも前記第一のレジスタと前記第二のレジスタの二つのレジスタの組み合わせは、前記レジスタペアのうちの所定のレジスタペアであり、前記第三のレジスタと前記第四のレジスタの少なくともいずれかは、前記上位レジスタであり、前記第一の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスが示す領域に格納された第一の値が前記第四のレジスタにセットされ、該第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第二のアドレスと連続するアドレスを示す値になり、前記第二の命令が実行されたことに基づいて、前記所定のレジスタペアに格納された値によって示される第一のアドレスと連続する第二のアドレスが示す領域に格納された第二の値が前記第四のレジスタにセットされ、該第二のアドレスと連続する第三のアドレスが示す領域に格納された第三の値が前記第三のレジスタにセットされ、該所定のレジスタペアの値が該第三のアドレスを示す値になり、前記ＣＰＵは、前記レジスタペアとは異なる前記第三のレジスタと前記第四のレジスタの二つのレジスタの組み合わせに前記ＲＯＭに格納された値を一命令でセットすることが可能であるとともに、前記所定のレジスタペアの値を変化させる所定の機能としては、前記第一の命令を受けたことに基づいて値をセットする第一の機能と前記第二の命令を受けたことに基づいて値をセットする第二の機能の二つを少なくとも有し、前記ＣＰＵは、少なくとも特定レジスタを備え、前記ＣＰＵは、前記特定レジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるものとしては、直値により値をセットする機能のみを有していてもよい。
【０５３４】
このような構成とすれば、レジスタペアよりも汎用性の低い第三のレジスタと第四のレジスタの二つの組み合わせに値を一命令でセットする機能を限定したため、遊技者の利益に係る値を不正に改ざんする不正行為を不正者が行い難くすることができる。また、第一の命令と第二の命令を前後の処理に応じて使い分けることができ、遊技制御プログラムの容量を削減することができる。また、第一の命令と第二の命令とを従来の命令で構成した場合と比較して遊技制御プログラムの容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることができる。また、第三のレジスタと第四のレジスタはレジスタペアよりも汎用性が低いため、プログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる。また、命令の実行中に割込み処理が発生し、割込み処理によって命令実行途中のレジスタの値が意図しない値に書き換えられてしまったり、命令の実行が妨げられて処理が遅延してしまうといったことがなく、安定した遊技制御を行うことができる。
【０５３５】
また、前記第一のレジスタ（例えば、Ｃレジスタ）は、第二のビット長の演算が可能なレジスタ（例えば、ＢＣレジスタ）の組み合わせの下位レジスタであってもよい。
【０５３６】
このような構成とすれば、レジスタペアの上位８ビットの値を固定にすることができ、１６ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる場合がある。また、レジスタペアの上位レジスタと下位レジスタの各々を違う処理に利用（例えば、一方をＡＤＤＴＷＯＯＮＥ命令で利用し、他方をループ処理の回数をカウントするためのカウンタとして利用）することができ、数の限られたレジスタを有効に活用することができる。
【０５３７】
また、前記主制御部は、前記第二のレジスタ（例えば、ＨＬレジスタ）に格納された値によって示される所定のアドレスに基づく連続する２つのアドレスに格納された第一の値と第二の値を、前記複数のレジスタのうちの前記第一のレジスタ（例えば、Ｃレジスタ）と第三のレジスタ（例えば、Ｂレジスタ）にそれぞれ転送する所定の第二の命令（例えば、「ＩＮＣＴＥＮＳＯＵ  ＢＣ，（ＨＬ）」命令）を備え、該所定の第二の命令を実行した後、前記所定の命令を行ってもよい。
【０５３８】
このような構成とすれば、連続する２つのアドレスに格納された値の何れかを第一レジスタに加算することで、所定のアドレスに関連したアドレスを示す値を第一レジスタに設定した状態で次の処理を行うことができ、プログラム容量を削減できる場合がある。
【０５３９】
また、前記主制御部は、前記所定の第二の命令を実行した後に所定の判定処理（例えば、上記ステップＳ１１１０〜Ｓ１１１１に示すような、Ｂレジスタ（第三のレジスタ）から特定の値（ＲＡＭの所定記憶領域に記憶された値など）を減算してキャリーが発生するか否かを判定する処理）を行い、該所定の判定処理の結果が所定の値のときに（例えば、キャリーが発生したときに）前記所定の命令を行ってもよい。
【０５４０】
このような構成とすれば、所定の判定処理の結果が所定の値のときに、所定のアドレスに関連したアドレスを示す値を第一レジスタに設定した状態で次の処理を行うことができ、プログラム容量を削減できる場合がある。
【０５４１】
また、前記主制御部は、前記所定の命令を行った後、再度前記所定の第二の命令と前記所定の判定処理を実行してもよい（例えば、上記ステップＳ１１０９でＩＮＣＴＥＮＳＯＵ命令を実行し、上記ステップＳ１１１２でＡＤＤＴＷＯＯＮＥ命令を実行した後に、上記ステップＳ１１１４でＩＮＣＴＥＮＳＯＵ命令を再度実行し、上記ステップＳ１１１６でＢレジスタから特定の値を減算してキャリーが発生するか否かを判定する）。
【０５４２】
このような構成とすれば、例えば、２段階抽選の２回目のテーブルアドレスを設定することができ、２段階抽選のプログラムを見やすく作ることができ、コーディングミスやバグの発生を抑制できる場合がある。
【０５４３】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技制御を行うＣＰＵを有する主制御部（例えば、主制御部３００（または、主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記ＣＰＵは、所定のフラグ（例えば、Ｚフラグ、ＳＺフラグ）を備え、前記主制御部は、第一の処理と第二の処理の間に実行される処理であって、前記第一の処理において第一の内容であった前記フラグの内容を、前記第二の処理の開始前に第二の内容に変化させる第三の処理を実行し、前記第二の処理は、前記第三の処理の実行結果が所定の結果である場合に行われる処理であって、前記第二の内容に変化した前記フラグを参照しない処理（例えば、ＣＰＲＴ命令、ＣＰＪＲ命令）であることを特徴とする遊技台である。
【０５４４】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、フラグの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。このため、安定した遊技制御をおこなうことができ、遊技の公平性を担保することができる場合がある。
【０５４５】
また、前記第三の処理は、前記第一の内容であった前記フラグを参照しない処理であってもよい。
【０５４６】
このような構成とすれば、フラグの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。このため、安定した遊技制御をおこなうことができ、遊技の公平性を担保することができる場合がある。
【０５４７】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技制御を行うＣＰＵを有する主制御部（例えば、主制御部３００（または、主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記ＣＰＵは、記憶手段（例えば、ＲＯＭ３０６、ＲＡＭ３０８、レジスタ、プログラムカウンタ）の所定領域へのアクセスが規制された命令（例えば、ＲＥＳ命令、ＲＳＴ命令）を備え、前記命令を前記遊技制御において実行することを特徴とする遊技台である。
【０５４８】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、所定領域のアクセスを禁止することができるため、所定領域を保護することができ、所定領域の内容が予期しない数値に変化して不具合を起こすような事態を未然に防止できる場合がある。
【０５４９】
また、前記命令は、前記所定領域を除いた領域のうち予め定められた特定領域へのアクセスが可能な命令であってもよい。
【０５５０】
このような構成とすれば、所定領域のアクセスを禁止しつつ、同時に特定領域の内容を読み書きすることができるため、所定領域の内容を保護することができるとともに、プログラム設計の自由度を低下させることがない。
【０５５１】
また、前記ＣＰＵは、前記所定領域へのアクセスが可能な命令をさらに備えてもよい。このような構成とすれば、所定領域のアクセスを禁止しつつ、同時に特定領域の内容を読み書きすることができるため、所定領域の内容を保護することができるとともに、プログラム設計の自由度を低下させることがない。
【０５５２】
また、前記命令を、前記記憶手段の所定領域にジャンプすることができないように構成すれば、不正プログラムを組み込んでユーザプログラムの先頭アドレスにジャンプさせる（ユーザプログラムを先頭アドレスから開始させて不正に初期状態とする）ような行為を未然に防止できる場合がある。
【０５５３】
なお、本発明に係る遊技台は、上述のパチンコ機１００やスロットマシン１１００に限定されない。したがって、例えば、上記実施形態では、リトルエンディアンのＣＰＵの例を示したが、ビッグエンディアンのＣＰＵに適用することもできる。また、８ビットＣＰＵに限定されず、１６ビットＣＰＵ、３２ビットＣＰＵ等にも適用できる。また、命令の名称は上記実施形態で示した名称に限定されるものではない。
【０５５４】
また、主制御部３００のＣＰＵ３０４（または、主制御部１３００のＣＰＵ１３０４）に適用した例を示したが、他の制御部のＣＰＵに適用してもよい。また、記憶手段は、ＲＯＭ、ＲＡＭに限定されず、他の記憶手段を適用してもよい。
【０５５５】
また、図７４（ａ）に示す、「紙幣投入口２０００２に紙幣を投入し、ベット２０００４およびスタート２０００６操作に基づいて抽選を実行し、抽選結果を抽選結果表示装置２０００８で表示し、当選時には特典コイン数を残クレジット数に加算し、キャッシュアウト２０００９が選択された場合には、レシート発行機２００１０から残クレジット数に対応するコードが記載されたレシートを発行するカジノマシン２００００」に本発明を適用してもよい。また、アレンジボール遊技機や、じゃん球遊技機、スマートボール等に適当してもよい。
【０５５６】
また、同図（ｂ）に示すように、本発明の構成を含む制御部を備えている携帯電話機２０１００、同図（ｃ）に示すように、本発明の構成を含む制御部を備えているポータブルゲーム機２０２００、本発明の構成を含む制御部を備えている家庭用テレビゲーム機２０３００、に本発明を適用してもよい。
【０５５７】
より具体的には、同図（ｂ）における携帯電話機２０１００は、遊技者によって操作される操作部と、ゲームに関するデータを携帯電話回線を通して取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部と、を備えている。
【０５５８】
また、同図（ｃ）におけるポータブルゲーム機２０２００は、遊技者によって操作される操作部と、ゲームに関するデータを所定の記憶媒体（ＤＶＤ等）から取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部と、を備えている。
【０５５９】
また、同図（ｃ）における家庭用テレビゲーム機２０３００は、遊技者によって操作される操作部と、ゲームに関するデータを所定の記憶媒体（ＤＶＤ等）から取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部を備えている。
【０５６０】
さらには、同図（ｄ）に示すように、本発明の構成を含む制御部を備えるデータサーバ２０４００に適用してもよい。このデータサーバ２０４００からインターネット回線を介して同図（ｄ）に示す家庭用テレビゲーム機２０３００に本発明の構成を含むプログラムコードをダウンロードするような場合がある。また、パチンコ機等の実機の動作を家庭用ゲーム機用として擬似的に実行するようなゲームプログラムにおいても、本発明を適用することができる。
【０５６１】
また、本発明に係る遊技台は、封入式遊技機に適用することもできる。また、主制御部、第１副制御部、および第２副制御部をワンチップで構成してもよいし、主制御部と第１副制御部で双方向の通信が可能に構成してもよい。また、主制御部と第１副制御部で双方向の通信を可能とする一方で、第１副制御部から第２副制御部への通信は一方向の通信としてもよい。
【０５６２】
＜実施形態３＞
次に、図面を用いて、本発明の実施形態３に係るパチンコ機について詳細に説明する。
【０５６３】
＜主制御部の基本回路の構成例＞
次に、図７５を用いて、主制御部３００の基本回路３０２の構成例について説明する。同図は、マイクロプロセッサ３０００を用いた場合の基本回路３０２の一構成例を示す図である。
【０５６４】
図７５に示すマイクロプロセッサ３０００には、本発明にいう電気的制御手段の一例に相当し、図４に示す基本回路３０２の機能と、図４に示す乱数生成回路３１８の機能を有するものである。なお、図７５では、図４に示す構成に対応する部分を、図４で用いた符号と同じ符号を付して説明する。
【０５６５】
図７５に示すマイクロプロセッサ３０００には、ＣＰＵ３０４、ＲＯＭ（内蔵ＲＯＭ）３０６、ＲＡＭ（内蔵ＲＡＭ）３０８、外部バス制御回路３１１０、パラレル入力ポート３１０２、アドレスデコード回路３１０３、タイマ回路３１１、カウンタ回路３１２、リセット制御回路３１４に加え、割込み制御回路３１００、クロック回路３２００、乱数生成回路３１８が備えられており、これら全てが内部バス３３００を介して互いに接続されている。内蔵ＲＯＭ３０６は、記憶部の一例に相当する。なお、外部バス制御回路３１１０、パラレル入力ポート３１０２、アドレスデコード回路３１０３の３つが、図４のＩ／Ｏ３１０に相当するものである。
【０５６６】
以下、上記説明した各部の詳細について説明する。まず、ＣＰＵ３０４、ＲＯＭ３０６、ＲＡＭ３０８については、図４にて説明した通りである。外部バス制御回路３１１０は、ＩＯリクエスト端子（ＸＩＯＲＱ端子）、メモリリクエスト端子（ＸＭＲＥＱ端子）、リード信号端子（ＸＲＤ端子）、ライト信号端子（ＸＷＲ端子）、１６ビット幅のアドレス出力端子（Ａ０端子〜Ａ１５端子）、および８ビット幅の入出力端子であるデータ入出力端子（Ｄ０端子〜Ｄ７端子）を有する。本実施形態では、このうちデータ入出力端子（Ｄ０端子〜Ｄ７端子）は、図４に示す各駆動回路３２４，３２６，３３０，３３４へのデータ出力と、各周辺制御回路からのデータ入力に用いられている。このデータ入出力端子（Ｄ０端子〜Ｄ７端子）によるデータの入出力先は、アドレス出力端子（Ａ０端子〜Ａ１５端子）から出力されるアドレス信号、およびアドレスデコード回路３１０３から出力されるチップセレクト信号を用いて切り替えられる。
【０５６７】
パラレル入力ポート３１０２は、４つの入力端子（Ｐ０端子〜Ｐ３端子）を有する。これらの入力端子（Ｐ０端子〜Ｐ３端子）は、図４に示すセンサ回路３２２に接続されており、センサ回路３２２からの信号の入力に用いられている。本実施形態では、第１特図始動口２３０への入球を検出する球検出センサからの信号がＰ０端子に入力され、第２特図始動口２３２への入球を検出する球検出センサからの信号がＰ１端子に入力され、普図始動口２２８への入球を検出する球検出センサからの信号がＰ２端子に入力される。また、センサ回路３２２からの信号は、乱数生成回路３１８が生成する乱数をＣＰＵ３０４に取得させるためのラッチ信号として、乱数生成回路３１８に出力する。この動作については後述する。
【０５６８】
アドレスデコード回路３１０３は、１４の出力端子（ＸＣＳ０端子〜ＸＣＳ１３端子）を有する。この出力端子（ＸＣＳ０端子〜ＸＣＳ１３端子）は、マイクロプロセッサ３０００の外部にある周辺制御回路に接続されており、外部バス制御回路３１１０のデータ入出力端子（Ｄ０端子〜Ｄ７端子）から出力されるデータの送信先を切り替えるためのチップセレクト信号等の出力に用いられている。
【０５６９】
タイマ回路３１１は、時間の計測に用いられる。なお、タイマ回路３１１は設定された計測時間を過ぎると、タイムアウト信号をカウンタ回路３１２に出力する。一方、カウンタ回路３１２は、各種信号の立ち上がり（あるいは立ち下がり）の回数の計測に用いられる。このカウンタ回路で計測される信号には、マイクロプロセッサ３０００のシステムクロックの他、上記タイマ回路からのタイムアウト信号、メモリの読み書き信号、メモリリクエスト信号、外部入出力の信号、割込みに対する応答信号等も計測することができる。
【０５７０】
リセット制御回路３１４は、システムリセット入力端子（ＸＳＲＳＴ端子）と、リセット出力端子（ＸＲＳＴＯ端子）の２つの端子を有する。このシステムリセット入力端子（ＸＳＲＳＴ端子）は電圧監視回路３３８に接続されている。このシステムリセット入力端子（ＸＳＲＳＴ端子）からシステムリセット信号（例えば一定時間Ｌレベルの信号）が入力されると、リセット制御回路３１４は、マイクロプロセッサ３０００の内部の回路に対してこのシステムリセット信号を出力するとともに、マイクロプロセッサ３０００の外部にある周辺制御回路に対してリセット出力端子（ＸＲＳＴＯ端子）からリセット信号（例えば、ＬレベルからＨレベルへの立ち上がり信号）が出力される。この場合、マイクロプロセッサ３０００では、システムリセットと称する処理が実行され、各回路が初期化される。このシステムリセットが実行される一例として、電源投入時が挙げられる。なお、このシステムリセットについては後述する。
【０５７１】
また、リセット制御回路３１４は、ウォッチドッグタイマ（ＷＤＴ）３１４１（復帰指示手段の一例に相当）、および指定エリア外走行禁止回路３１４２を備えている。ＷＤＴ３１４１がタイムアウトになった場合や、ＣＰＵ３０４が所定の範囲以外のアドレスを参照（指定エリア外走行）した場合には、リセット制御回路３１４は、マイクロプロセッサ３０００の内部の回路に対してシステムリセット信号およびユーザリセット信号のいずれかを出力する。なお、システムリセット信号およびユーザリセット信号のどちらを出力するかは、ＲＯＭ３０６内のプログラム管理エリア（詳細は後述）の設定に従う。また、マイクロプロセッサ３０００の外部にある周辺制御回路に対しては、リセット出力端子（ＸＲＳＴＯ端子）からリセット信号が出力される。
【０５７２】
マイクロプロセッサ３０００では、設定によって上記のシステムリセットか、あるいはユーザリセットと称する処理のいずれかを実行させることができる。なお、ユーザリセットでは、各回路が必要に応じて初期化される。このユーザリセットについては後述する。
【０５７３】
上記指定エリア外走行は、プログラムが想定外の動作をしていることを意味する。この場合、ＣＰＵ３０４が本来プログラムとして扱われるはずのないコードにより動作することになる。このような状況は、プログラムミスによる所謂暴走した状態の他に、何らかの不正によって生じている可能性がある。この場合、上記のシステムリセットの処理により、正常な動作に復帰させることができるようになっている。また、ＷＤＴ３１４１がタイムアウトになった場合としては、プログラムミスによる暴走した状態や、電圧降下によりＣＰＵ３０４が本来設計した動作を行うことができなくなった場合等がある。この場合にも、上記のシステムリセットの処理により、正常な動作に復帰させることができるようになっている。
【０５７４】
割込み制御回路３１００は、外部入力や内部状態の変化に応じて適宜処理を実行させるために割込みを発生させる。この割込み処理には、例えば外部からの入力（センサによる信号）を受け付けた場合に実行する処理がある。本実施形態では、乱数生成回路３１８が、乱数を取得するためのラッチ信号を受信した際にも、割込み処理を実行（割込みを発生）させることができるようになっている。なお、割込み制御回路３１００は、内部情報レジスタ３１０１を備えており、この内部情報レジスタ３１０１には、乱数生成回路３１８で乱数更新周期を決める外部クロック（カウントクロック）の周期の異常、および乱数の更新に関するの異常、さらに、直前に発生したリセット要因の情報等が格納される。なお、この内部情報レジスタ３１０１は、異常検出情報保持手段の一例に相当する。
【０５７５】
クロック回路３２００は、図４に示す水晶発振器３１６ｂ（以下、システム用水晶発振器３１６ｂと称する場合がある）から外部クロック入力端子（ＥＸ端子）を介して入力される外部クロック（この例では、２４ＭＨｚのクロック）を所定の分周比（この例では、１／２）で分周し、分周後のシステムクロック（この例では、１２ＭＨｚのクロック）をこのマイクロプロセッサ３０００内部の各回路に供給する。また、このシステムクロックをシステムクロック出力端子（ＣＬＫＯ端子）を介してマイクロプロセッサ３０００外部の周辺制御回路に出力する。
乱数生成回路３１８は、乱数を更新するためのクロック信号（カウントクロック）を用いて、乱数のラッチ信号を受信したときにこの更新された乱数を乱数レジスタ内に保持するものである。本実施形態では、水晶発振器３１６ａから外部クロック入力端子（ＲＣＫ端子）を介して入力される外部クロック信号を所定の分周比（この例では、１／２）で分周してこのカウントクロックに用いているが、マイクロプロセッサ３０００内部のクロック信号を用いることもでき、この場合は水晶発振器３１６ａは不要となる。乱数レジスタに保持された値は、乱数として読み出して使用することができる。なお、乱数レジスタから乱数を読み出すと、乱数レジスタが次の乱数をラッチすることを許容する許容状態とすることができる。この乱数生成回路３１８の詳細は後述する。
【０５７６】
続いて、図７６を用いて、リセットが実行された場合の処理の流れについて説明する。同図は、リセットの流れを示すフローチャートである。このフローチャートは、リセット制御回路３１４にシステムリセット信号が入力された場合、ＷＤＴ３１４１がタイムアウトになった場合、あるいは指定エリア外走行を検知した場合に、マイクロプロセッサ３０００の各回路で実行される処理である。
【０５７７】
最初のステップＳＨ０１では、実行されるリセット動作が、システムリセット動作か否か判定される。マイクロプロセッサ３０００で実行されるリセット動作には、システムリセット動作とユーザリセット動作の２つがある。ここで、システムリセット動作を実行する場合には、ステップＳＨ０３に進む。このシステムリセット動作は本発明にいう復帰処理の一例に相当する。また、システムリセット動作でないリセット動作、すなわちユーザリセット動作を実行する場合には、ステップＳＨ１１に進む。
【０５７８】
ステップＳＨ０３では、第１内部回路初期化処理が実行される。この第１内部回路初期化処理は、ＣＰＵ３０４のコアや内蔵レジスタ（タイマ回路３１１、カウンタ回路３１２、パラレル入力ポート３１０２、ＲＡＭ３０８アクセスプロテクトレジスタ、割込み制御回路３１００、乱数生成回路３１８を制御するレジスタ）の値を初期化する。この第１内部回路初期化処理が終了すると、ステップＳＨ０５に進む。
【０５７９】
ステップＳＨ０５では、セキュリティチェック処理が実行される。このセキュリティチェック処理では、ユーザプログラムを基に計算された値が、ＲＯＭ３０６のプログラム管理エリアに記憶されている認証コードを表す値と一致するか否かの判定を行う。すなわち、認証コードが正しいか否かの再計算を行う。ここにいうユーザプログラムが、本発明にいう記憶部（内蔵ＲＯＭ３０６）に記憶された内容の一例に相当し、内蔵ＲＯＭ３０６のプログラム管理エリアに記憶されている認証コードが、本発明にいう所定の認証情報の一例に相当する。認証コードが正しい場合にはステップＳＨ０７に進み、そうでない場合にはＣＰＵ３０４の動作を停止させる。本実施形態の遊技台では、このようにしてセキュリティチェックを行なうため、遊技台により安定した制御を行なわせることができる。
【０５８０】
ステップＳＨ０７では、固定延長処理が実行される。この固定延長処理では、予め設定した固定時間（例えば、ＲＯＭ３０６のプログラム管理エリア内のセキュリティ時間設定の０〜２ビットを用いて設定）だけセキュリティモードを延長する。例えば、ｎをプログラム管理エリアに設定された時間とし、システムクロックをＳＣＬＫとした場合に、３ｎ×２＾２４／ＳＣＬＫ秒だけ延長する。なお、この延長時間の経過時にＸＲＳＴＯ端子からリセット信号を出力させる。その後ステップＳＨ０９に進む。
【０５８１】
ステップＳＨ０９では、ランダム延長処理が実行される。このランダム延長処理では、予めランダムに選択されたランダム時間（例えば、プログラム管理エリア内のセキュリティ時間設定の３〜４ビットを用いて設定）だけセキュリティモードを延長する。例えばショートモードが設定されている場合には０〜Ｓμ秒、ミドルモードが設定されている場合には０〜Ｍμ秒、ロングモードが設定されている場合には、０〜Ｌμ秒それぞれ延長する（Ｓ＜Ｍ＜Ｌ）。この処理が終了するとユーザモードに移行し、ＣＰＵ３０４は、メモリマップの００００Ｈ番地から処理を開始する。本実施形態では、主制御部３００のメイン処理が開始されることになる。
【０５８２】
一方、ステップＳＨ０１で、ユーザリセット動作を実行する場合に進むステップＳＨ１１では、第２内部回路初期化処理が実行される。この第２内部回路初期化処理は、ＣＰＵ３０４のコアや、乱数生成回路３１８を制御するレジスタを除く内蔵レジスタ（タイマ回路３１１、カウンタ回路３１２、パラレル入力ポート３１０２、ＲＡＭ３０８アクセスプロテクトレジスタ、割込み制御回路３１００）の値を初期化する。すなわち、この第２内部回路初期化処理では、乱数生成回路３１８を制御するレジスタの値はリセット前の状態が維持される。この第２内部回路初期化処理が終了すると、ユーザモードに移行し、ＣＰＵ３０４は、メモリマップの００００Ｈ番地から処理を開始する。本実施形態では、主制御部３００のメイン処理が開始されることになる。
【０５８３】
＜乱数生成回路＞
次に、図７７を用いて、図７５に示すマイクロプロセッサ３０００の乱数生成回路３１８の詳細について説明する。同図は、図７５に示す乱数生成回路３１８の内部構成図である。
【０５８４】
乱数生成回路３１８は、それぞれ異なる乱数を生成する４つの乱数生成チャンネルＣＨ１〜ＣＨ４を備えている。なお、各チャンネル回路の内部構成は同一であるため、図７７では、１つの乱数生成チャンネルＣＨ１を示し、残りの乱数生成チャンネルＣＨ２〜ＣＨ４については、図示を簡略化している。以下の説明では、この乱数生成チャンネルＣＨ１を中心に乱数生成回路３１８について説明する。
【０５８５】
乱数生成回路３１８は、初期設定レジスタ３１８１と、周波数監視回路３１８２と、乱数更新回路３１８３と、乱数監視回路３１８４と、ノイズフィルタ３１８５と、ソフトラッチレジスタ３１８６と、ラッチ選択レジスタ３１８７と、乱数レジスタ３１８８と、乱数ラッチフラグレジスタ３１８９と、乱数割込み制御レジスタ３１８０を備えている。なお、周波数監視回路３１８２および乱数監視回路３１８４は、更新異常検出手段の一例に相当する。
【０５８６】
初期設定レジスタ３１８１には、ＲＣＫ端子からの外部クロック信号とシステムクロック（内部クロック信号）のうち、いずれのクロック信号を乱数更新回路３１８３で使用するかを決めるクロック選択情報が、プログラム管理エリア内の情報に基づいて設定される。ＲＣＫ端子からの外部クロック信号とシステムクロック（内部クロック信号）は乱数更新回路３１８３の手前に設けられたマルチプレクサに入力される。初期設定レジスタ３１８１が上記クロック選択情報に従って更新クロック選択信号をこのマルチプレクサに入力することにより、この更新クロック選択信号によって選択されたクロック信号が乱数更新回路３１８３に入力されるようになっている。なお、外部クロック信号が選択されている場合、所定の分周比（この例では、１／２）で分周されたクロック信号が乱数更新回路３１８３に入力される。なお、分周されたクロック信号が、内部クロックよりも低い周波数でない場合には使用することができない。なお、本実施形態では、外部クロック信号が選択されているものとして説明を続ける。
【０５８７】
周波数監視回路３１８２は、内部クロック信号および外部クロック信号の周期を監視し、この周期が一定でなくなった場合に、クロック信号に異常があることを示す情報を、内部情報レジスタ３１０１に出力する。
【０５８８】
乱数更新回路３１８３は、初期設定レジスタ３１８１によって選択されたクロック信号が入力され、このクロック信号の周期に従って乱数を更新する。更新した乱数の値は、乱数監視回路３１８４および乱数レジスタ３１８８にそれぞれ出力される。この乱数更新回路３１８３の詳細については、図７９〜図８２を用いて後述する。
【０５８９】
なお、乱数値の更新は、乱数更新回路３１８３に最大値が設定されないＣＨについては、ユーザモードに移行した時に開始（自動開始）されるように構成される一方、乱数更新回路３１８３に最大値が設定されるＣＨについては、最大値が設定された時に開始（手動開始）されるように構成されている。すなわち、乱数の最大値は、乱数生成チャンネルＣＨ１〜ＣＨ４で個別に設定可能である。また、最大値が設定されないＣＨおよび最大値が設定されるＣＨともに一度更新が開始されると電源供給が断たれるかシステムリセットが発生した場合にのみ更新が停止されるものであり、予期せぬ異常が発生した場合を除きこれらの事象以外では更新を停止することができないように構成されている。
さらに、最大値が設定されるＣＨに関しては、乱数更新回路３１８３に設けられた最大値設定レジスタに最大値が設定されたことに基づいて更新が開始され、この最大値設定レジスタはシステムリセットごとに一回のみライト可能なレジスタ（システムリセット時には初期化（更新範囲の最大値であるＦＦＦＦＨが初期値として設定される）され、ユーザリセット発生時にはユーザリセット発生前に設定されていた値が維持されるレジスタ）である。すなわち、乱数が更新されている場合にユーザプログラムで最大値設定レジスタをライトする処理が実行されたとしても、最大値設定レジスタが更新されることがなく、乱数生成回路３１８３はその影響を受けないように構成されている。一方、リードに関してはユーザプログラムで自由にすることができるように構成されている。
【０５９０】
また、１６ビット乱数値および８ビット乱数値の一方を初期値が設定可能に構成し、他方を初期値が設定不可能に構成してもよいし、乱数が正常に更新されているか否かについて一方を監視可能とし、他方を監視不能としてもよい。また、後述する内部リセットの場合と外部リセットの場合で乱数値の初期値を異ならせてもよく（例えば、内部リセット時の初期値は３３Ｈ、外部リセット時の初期値はＣＣＨ）、この場合、ユーザプログラムの初期設定などにおいて、乱数値の初期値に基づいてリセットの種類を判別し、リセットの種類に合わせた処理を実行してもよい。
【０５９１】
乱数監視回路３１８４は、乱数更新回路３１８３からの入力に基づいて、乱数が正常に更新されているか否かを監視する。乱数の更新に異常がある場合、この乱数の更新に異常があることを示す情報を、内部情報レジスタ３１０１に出力する。
【０５９２】
なお、上記の説明では、乱数生成回路３１８の内部に周波数監視回路３１８２および乱数監視回路３１８４が設けられている構成であったが、乱数生成回路３１８の外部に設けてもよい。また、上記の説明では、乱数更新回路３１８３とは別に周波数監視回路３１８２および乱数監視回路３１８４が設けられている構成であったが、乱数更新回路３１８３の内部にこれらの回路を設けてもよい。
【０５９３】
ノイズフィルタ３１８５には、Ｐ０端子〜Ｐ３端子からの入力が、パラレル入力ポート３１０２を介してラッチ信号として入力される。なお、図７７では、Ｐ３端子、およびそのＰ３端子に接続された回路等は図示省略している。上述のごとく、Ｐ０端子には、第１特図始動口２３０への入球を検出する球検出センサからの信号が入力され、Ｐ１端子には、第２特図始動口２３２への入球を検出する球検出センサからの信号が入力され、Ｐ２端子には、普図始動口２２８への入球を検出する球検出センサからの信号が入力される。さらに、ノイズフィルタ３１８５には、初期設定レジスタ３１８１によって選択されたクロック信号が入力される。このクロック信号を利用して、Ｐ０端子〜Ｐ３端子からの入力に生じるノイズを除去した上で、ラッチ信号を検出する。このラッチ信号が検出されると、ハードラッチ信号が乱数レジスタ３１８８の手前に設けられたマルチプレクサに出力される。なお、このノイズ除去の詳細については、図７８を用いて後述する。
【０５９４】
ソフトラッチレジスタ３１８６には、乱数レジスタ３１８８から乱数をラッチすることを示す情報がＣＰＵ３０４からの指示によって適宜設定される。この情報が、ソフトラッチ信号として乱数レジスタ３１８８の手前に設けられたマルチプレクサに出力される。
【０５９５】
ラッチ選択レジスタ３１８７には、乱数レジスタ３１８８の手前に設けられたマルチプレクサからハードラッチ信号とソフトラッチ信号の何れを出力させるか、すなわち、乱数レジスタ３１８８にどちらのラッチ信号を入力するのかを示す情報が、ＣＰＵ３０４からの指示によって適宜設定される。この情報を設定することにより、ハードラッチ信号とソフトラッチ信号を適宜使用して、乱数を取得することができる。
【０５９６】
乱数レジスタ３１８８には、３つの信号が入力される。１つ目の信号は、乱数更新回路３１８３から出力された乱数を表す信号である。２つ目の信号は、手前に設けられたマルチプレクサから出力された乱数ラッチ信号（ハードラッチ信号とソフトラッチ信号のうち、ラッチ選択レジスタ３１８７で設定された信号）である。３つ目の信号は、乱数の読み取りを示すリード信号である。
【０５９７】
乱数レジスタ３１８８には、乱数更新回路３１８３によって更新された乱数を示す信号が常に入力されている。ここで、乱数ラッチ信号が入力されると、この入力タイミングにおける乱数が乱数レジスタ３１８８内にラッチ（保持）される。このとき、乱数レジスタ３１８８からは、乱数がラッチされていることを示すセット信号が、乱数ラッチフラグレジスタ３１８９に出力される。このときＣＰＵ３０４は、ラッチされている乱数を取得することができる。なお、ＣＰＵ３０４により乱数が取得されると、乱数レジスタ３１８８にリード信号が入力される。この信号により新たな乱数ラッチ信号が入力された場合に乱数をラッチすることを許容する許容状態となる。換言すれば、一度乱数をラッチすると、リード信号が入力されるまで新たに乱数をラッチすることができない非許容状態となる。なお、リード信号が入力されてもラッチされている乱数は保持し続けるため、ＣＰＵ３０４はラッチされている同一のタイミングでラッチされた乱数を何度でも取得することができる。このように構成することで乱数ラッチ信号を出力するセンサ回路におけるチャタリングの影響を押さえることができる。なお、リード信号が入力されたことを示すクリア信号が乱数ラッチフラグレジスタ３１８９に出力される。また、図７７に示すように、乱数レジスタ３１８８が複数あることにより、同じ乱数更新回路から生成された乱数を様々なタイミングで取得することができる。
【０５９８】
乱数ラッチフラグレジスタ３１８９には、乱数レジスタ３１８８に乱数がラッチされているか否かを示す情報が記憶される。なお、乱数ラッチフラグレジスタ３１８９は、乱数レジスタ３１８８にラッチされた乱数（１６ビット乱数の全てまたは一部や、８ビット乱数の全てまたは一部）が読み出されたときに自動的にクリアされるように構成してもよいし、ＣＰＵによってクリアするように構成してもよい。
【０５９９】
乱数割込み制御レジスタ３１８０には、乱数レジスタ３１８８に乱数が保持された際に割込み制御回路に割込みを発生させるか否かを示す情報が設定される。この情報は乱数レジスタ３１８８毎に設定することができる。例えば、第１特図始動口２３０への入球により乱数発生チャンネルＣＨ１の乱数がラッチされた場合には、割込みを発生させ、第２特図始動口２３２への入球により乱数発生チャンネルＣＨ２の乱数がラッチされた場合には、割込みを発生させない、というような設定をすることができる。
【０６００】
上記説明した乱数生成回路３１８を用いて、本実施形態では、普図始動口２８２、第１特図始動口２３０、第２特図始動口２３２のそれぞれに入球したタイミングで乱数を取得する。なお、任意のタイミングでＣＰＵ３０４に乱数を取得させるように、プログラムを実行させることもできる。さらに異なる乱数生成チャンネルを使用してそれぞれ独立の乱数を取得し、それぞれのチャンネル毎に乱数生成範囲の最大値を設定することができる。
【０６０１】
なお、本実施形態では、個別のチャンネルに対して乱数生成範囲を変更することができ、設定されていない場合には所定の最大値（例えば６５５３５）が適用される例について説明したが、これ以外に例えば、乱数生成範囲を変更する場合に全てのチャンネルに対して乱数生成範囲を設定することを必要とする構成であってもよい。
【０６０２】
なお、普図始動口２８２に入球したタイミングで取得された乱数は、後述する普図当選乱数として用いられる。また、第１特図始動口２３０に入球したタイミングで取得された乱数は、加工（例えば、乱数生成回路とは異なる回路（例えば、基本回路３０２やカウンタ回路３１２）でカウントアップ（ダウン）される値を乱数に加算（減算）する処理など）されて、後述する特図１当選乱数として用いられる。さらに、第２特図始動口２３２に入球したタイミングで取得された乱数は、加工されて、後述する特図２当選乱数として用いられる。
【０６０３】
なお、乱数の加工は、第１特図始動口２３０および第２特図始動口２３２に入球したタイミングで取得される乱数に限らず、他の契機（例えば、普図始動口２８２へに入球したタイミングなど）によって取得される乱数に対して行ってもよい。さらに、上述した乱数生成範囲の最大値を設定する場合においては、設定した最大値に応じた加工（例えば、この最大値を超えない値を乱数に加算する処理など）すれば良い。
【０６０４】
また、乱数の加工は必ずしも行う必要はないが、乱数の加工を行うことは乱数の狙いうちの防止に有効に働く。例えば加工した後の乱数が更新されたか否かをＣＰＵ３０４によって監視した場合、乱数生成回路３１８内での乱数の更新が正常に行われているか否かを正確に判断することができない。このように、乱数を加工する場合には、上述の乱数監視回路３１８４による乱数の更新の監視がより有効に働くこととなる。
【０６０５】
続いて、図７８を用いてノイズフィルタ３１８５の動作について説明する。同図は、図７７に示すノイズフィルタ３１８５による処理の一例を示す図である。
【０６０６】
上述したように、ノイズフィルタ３１８５には、Ｐ０端子〜Ｐ３端子からの入力が、パラレル入力ポート３１０２を介してラッチ信号として入力され、初期設定レジスタ３１８１によって選択されたクロック信号が入力される。このノイズフィルタ３１８５は、例えば図７８に示すように、クロック信号のダウンエッジ（ＨレベルからＬレベルへの立ち下り信号）が４回連続で入力されるまで、Ｐ０端子〜Ｐ３端子からの入力信号がＨレベルであれば、ハードウェアラッチ信号を出力するように構成されている。単純に信号の立ち上がりおよび立ち下がりだけを基にハードウェアラッチ信号を出力すると、ノイズが入った場合にもハードウェアラッチ信号が出力されてしまう。このため、上記のようにクロック信号を用いて、一定期間のセンサ信号を検出させることで、ノイズによりハードウェアラッチ信号が出力されてしまわないように構成されている。
【０６０７】
上記説明では、Ｐ０端子〜Ｐ３端子からの入力によりハードラッチ信号を出力させる例について説明したが、例えば、Ｐ０端子〜Ｐ３端子からの入力を一度ＣＰＵ３０４で受け付けた上で乱数を取得する方法もある。この場合には、ハードラッチ信号ではなく、ソフトラッチレジスタ３１８６から出力されたソフトラッチ信号により、乱数をラッチさせることになる。この場合、上記ノイズフィルタによる処理と同様の処理がＣＰＵ３０４により実行される。すなわち、Ｐ０端子〜Ｐ３端子からの入力が所定期間継続したか否かを判定し、これを満たす場合にＰ０端子〜Ｐ３端子からの入力が正しく行われたと判定する。その後、ソフトラッチ信号を出力するようにソフトラッチレジスタ３１８６を設定する。
【０６０８】
次に、図７９を用いて、図７７に示す乱数更新回路３１８３の詳細について説明する。同図は、図７７に示す乱数更新回路３１８３の詳細を示す図である。
【０６０９】
図７９（ａ）に示す乱数更新回路３１８３は、カウンタ回路３１８３ａと、スタート値選択回路３１８３ｂと、最大値設定レジスタ３１８３ｃを備えている。なお、図７７では、乱数更新回路３１８３に対して外部クロック信号および内部クロック信号のいずれかが乱数更新のための更新クロック信号として入力されることが示されているが、この図７９に示す乱数更新回路３１８３には、さらにＣＰＵ３０４から最大値データが入力される。
【０６１０】
カウンタ回路３１８３ａからは、乱数（乱数データ）が出力される。この乱数の初期値は、スタート値選択回路３１８３ｂに設定されている。この初期値には、固定値（例えば０）、プログラム管理エリア内に記憶されているマイクロプロセッサ３０００のＩＤナンバーを基にした値、および、乱数生成範囲内で抽選された値のいずれかが設定される。
【０６１１】
カウンタ回路３１８３ａには、更新クロック信号の１クロック毎に１が加算されるカウンタが設けられており、このカウンタの値に、スタート値選択回路３１８３ｂから入力された乱数の初期値を加えた値を乱数として出力する。
【０６１２】
カウンタ回路３１８３ａから出力される乱数の最大値は、最大値設定レジスタ３１８３ｃに設定されている。なお、乱数の最大値は、ＣＰＵ３０４からの命令に従って最大値設定レジスタ３１８３ｃに設定される。図７９（ｂ）には、この最大値が設定されている１６ビットのレジスタが示されている。ＣＰＵ３０４から最大値を設定する命令がない場合の初期値は、ＦＦＦＦＨ（６５５３５）である。なお、この最大値設定レジスタ３１８３ｃの変わりに、例えば、ＲＯＭ３０６のプログラム管理エリア内に最大値を設定する領域を設け、設定された最大値を参照する構成であってもよい。
【０６１３】
カウンタ回路３１８３ａは、出力する乱数が最大値を超えた場合、この最大値に１を加えた値を減算した上で、この値を乱数として出力する。例えば最大値が６５５３５の場合において、初期値とカウンタの値を足した値が、６５５３４、６５５３５、６５５３６、６５５３７の順に更新されるとすると、出力される乱数は、６５５３４、６５５３５、０（６５５３６−（６５５３５＋１））、１（６５５３７−（６５５３５＋１））のようになる。すなわち、最大値を超えると出力される乱数が０に戻ることになる。
【０６１４】
また、カウンタ回路３１８３ａの内部に設けられたカウンタの値が、最大値レジスタ３１８３ｃに設定された最大値になると、このカウンタの値が０にクリアされるとともに、カウンタ回路３１８３ａからスタート値選択回路３１８３ｂに乱数の出力が一巡したことを示す信号（一巡信号）が出力される。この一巡信号を受けたスタート値選択回路３１８３ｂでは、乱数の初期値が更新される。この際更新される初期値が、最大値設定レジスタ３１８３ｃに設定されている乱数の最大値を超えている場合、例えば、固定値を用いたり、一度現在の乱数の最大値を乗じてから設定可能な乱数生成範囲の最大値（６５５３５）で除算した値を用いることにより、乱数の最大値を超えない値（乱数生成範囲内の値）が初期値として再設定される。無論、最初からこの再設定方法などを用いて、乱数生成範囲内の値が初期値として設定されるようにしてもよい。
【０６１５】
なお、本実施形態では、最大値設定レジスタ３１８３ｃに設定された最大値は、カウンタ回路３１８３ａからの出力が一巡した時点で自動的に更新されるが、例えばＣＰＵ３０４からの更新命令が来た時点で更新されるようにしてもよい。
【０６１６】
ここで、上記の乱数生成の範囲を図８０および図８１を用いて説明する。図８０は、乱数生成範囲の最大値が設定されていない場合（デフォルトの状態）において出力される乱数の範囲を示す図である。また、図８１は、図８０とは異なる最大値が設定された場合に出力される乱数の範囲を示す図である。
【０６１７】
まず、図８０（ａ）ではｎ周期目（ｎ−１回目の一巡信号が出力された直後）の状況について説明する。図８０（ａ）には、０〜６５５３５の乱数生成範囲が示されている。また、出力される乱数の初期値がスタート値（Ｘ）として示されている。
【０６１８】
乱数更新回路３１８３からは、更新クロックの１クロック毎に乱数が更新されて出力される。より具体的には、最初にスタート値（Ｘ）が出力され、その後１クロック毎に、Ｘ＋１、Ｘ＋２の順で更新された乱数が出力される。この乱数の値が乱数生成範囲の最大値である６５５３５になると、上記説明した処理によって、次に出力される乱数は０に戻る。その後、１、２、の順で更新された乱数が出力され、Ｘ−１が出力された時点でこの乱数生成範囲を一巡したことになる。なお、このとき、乱数更新回路３１８３内のカウンタ回路３１８３ａのカウンタの値は最大値と同じ値になっている。スタート値選択回路３１８３ｂに乱数の出力が一巡したことを示す信号（一巡信号）が出力される。
【０６１９】
続いて１クロックが入力されると、乱数更新回路３１８３の出力はｎ＋１周期目（ｎ回目の一巡信号が出力された直後）に入る。このｎ＋１周期目の状況について、図８０（ｂ）を用いて説明する。まず、乱数更新回路３１８３内のカウンタ回路３１８３ａのカウンタの値は０にクリアされる。また、スタート値選択回路３１８３ｂでは、新たな初期値が設定される。図８０（ｂ）には、この新たな初期値がスタート値（Ｘ´）として示されている。この新たな初期値と、カウンタ回路３１８３ａのカウンタの値により、上記説明した流れと同様の流れで乱数が出力される。
【０６２０】
次に、図８１（ａ）では、図８０に示す乱数生成範囲の最大値よりも小さい最大値が設定された場合のｎ周期目（ｎ−１回目の一巡信号が出力された直後）の状況について説明する。図８１（ａ）には、０〜６５５３５のうち、設定された最大値によって図８０（ａ）に示す乱数生成範囲よりも狭くなった乱数生成範囲が示されている。なお、出力されない乱数の範囲が左下がりのハッチングで示されている。また、出力される乱数の初期値がスタート値（Ｙ）として示されている。
【０６２１】
図８０を用いて説明した状況と同様に、乱数更新回路３１８３からは、最初にスタート値（Ｙ）が出力され、その後１クロック毎に、Ｙ＋１、Ｙ＋２の順で更新された乱数が出力される。この乱数の値が設定された最大値になると、上記説明した処理によって、次に出力される乱数は０に戻る。すなわち、左下がりのハッチングで示された範囲の乱数は出力されない。その後、１、２、の順で更新された乱数が出力され、Ｙ−１が出力された時点でこの乱数生成範囲を一巡したことになる。なお、このとき、乱数更新回路３１８３内のカウンタ回路３１８３ａのカウンタの値は設定された最大値と同じ値になっている。スタート値選択回路３１８３ｂに乱数の出力が一巡したことを示す信号（一巡信号）が出力される。
【０６２２】
続いて１クロックが入力されると、乱数更新回路３１８３の出力はｎ＋１周期目（ｎ回目の一巡信号が出力された直後）に入る。このｎ＋１周期目の状況について、図８１（ｂ）を用いて説明する。図８０（ｂ）を用いて説明した場合と同様、乱数更新回路３１８３内のカウンタ回路３１８３ａのカウンタの値は０にクリアされる。また、スタート値選択回路３１８３ｂでは、新たな初期値が設定される。図８１（ｂ）には、この新たな初期値がスタート値（Ｙ´）として示されている。この新たな初期値と、カウンタ回路３１８３ａのカウンタの値により、上記説明した流れと同様の流れで乱数が出力される。
【０６２３】
なお、上記のように乱数生成チャンネルの最大値を適切に設定する以外に、例えば、ある乱数生成チャンネルでは乱数の最大値が６５５３５であるが、別の乱数生成チャンネルでは乱数の最大値が２５５である、というように、チャンネル毎に乱数生成範囲を予め異ならせておいてもよい。この場合には、必要とされる乱数生成範囲に応じてチャンネルを選択すればよい。この場合には、最大値設定レジスタの容量削減や、最大値設定の処理負担を軽減することができる。さらに、予め設定可能な最大値を複数設定した上で、これらの中から適切な最大値を選択して設定するようにしても、最大値設定レジスタの容量削減や、最大値設定の処理負担を軽減することができる。
【０６２４】
以上、乱数更新回路３１８３の乱数の出力について説明した。以下この乱数更新回路３１８３の変形例について図８２を用いて説明する。同図は、最大値と最小値を設定した乱数生成範囲において、乱数を取得することができる範囲を示す図である。
【０６２５】
図７９から図８１の例では、乱数生成範囲の最大値を変更する例について説明したが、例えば、最小値を設定できるものであってもよい。さらに、最大値だけでなく最小値を設定するレジスタを用意し、図８２（ａ）に示すように、最小値、最大値を設定し、乱数生成範囲を設定できるものであってもよい。加えて、図８２（ｂ）に示すように、複数の乱数生成範囲を設定できるものであってもよい。すなわち、出力される乱数の範囲を設定出来る構成であればよい。また、上記説明では、説明を分かり易くするため出力される乱数が１ずつ増加する例について説明したが、これ以外の乱数の更新方法であってもよい。
【０６２６】
以下、図８３を用いて本実施形態の遊技台で使用される乱数と、その主な導出源について説明する。同図は、本実施形態の遊技台で使用される乱数の導出源を表で示す図である。なお、この図で示される各乱数は、後述のフローチャートで用いられる。
【０６２７】
まず、特図１当選乱数、特図２当選乱数、および普図当選乱数は、上記乱数生成回路３１８の乱数生成チャンネルＣＨ１〜ＣＨ４によって生成される乱数が基になる。この値を必要に応じて適宜加工してこれらの乱数として使用する。
【０６２８】
大当り用特図乱数、小当り用特図乱数、およびハズレ用特図乱数は、後述する主制御部タイマ割込み処理において生成される。すなわちこれらの乱数は、所謂ソフトウェア乱数である。なお、これらの乱数を生成する際に用いられる初期値生成用乱数は、主制御部メイン処理および主制御部タイマ割込み処理で生成される。
【０６２９】
特図変動時間決定用乱数、および普図変動時間決定用乱数は、カウンタ回路３１２の値を乱数として用いる。本実施形態のカウント回路３１２は、マイクロプロセッサ３０００のシステムクロックの他、上記タイマ回路からのタイムアウト信号、メモリの読み書き信号、メモリリクエスト信号、外部入出力の信号等もカウンタの対象として用いることができる。このため、これらを組み合わせることで規則性のない値を導出させ、上記の乱数に使用している。演出用乱数は、主制御部メイン処理および主制御部タイマ割込み処理で生成される。
【０６３０】
次に、図８４を用いて、図７５に示す割込み制御回路３１００に設けられた内部情報レジスタ３１０１の詳細について説明する。上述したように、内部情報レジスタ３１０１には、乱数生成回路３１８で乱数更新周期を決める外部クロック（カウントクロック）の周期の異常、および生成された乱数値の異常、さらに、直前に発生したユーザリセットのリセット要因の情報等が格納される。この内部レジスタ３１０１には、第１内部情報レジスタと第２内部情報レジスタと、第３内部情報レジスタとが用意されている。
【０６３１】
図８４は、割込み制御回路３１００の内部レジスタ３１０１に用意された第１内部情報レジスタを説明するための図である。図８４（ａ）には、第１内部情報レジスタのうち、乱数生成回路３１８の異常を示す情報が記憶される範囲が示されている。この範囲は８ビットで構成されており、図８４（ｂ）には、これらの各ビットがどのような情報を示すものかが表で示されている。
【０６３２】
ＣＰＵ３０４は、後述するタイマ割込みが実行される度にこの第１内部情報レジスタの内容を確認する（図９５のステップＳ３２３５ａ）。この内容は、異常が発生した場合に遊技の進行を止める等の処理を行うか否かの判定に用いられる。例えば、本実施形態では、乱数生成回路３１８で異常が検出されると、入賞受付処理が実行されないように構成されている（図９５のステップＳ３２３５ｃおよび図９６参照）。この他、球の打ち出しを行わないようにしたり、払出しを行わないようにしたり、あるいは、変動タイマの減算を行わないようにしてもよい。特に、乱数更新に異常があった場合、乱数更新回路３１８３に大電流が流れている状態（ラッチアップ状態）である可能性があるため、一度電源をオフにすることを報知するようにしてもよい。
【０６３３】
ビット番号０は、乱数生成回路３１８の外部クロック（更新クロック）の異常を示すビットであり、０は異常なし、１は異常ありを示す。ビット番号１〜４は、乱数生成回路３１８で生成された乱数の異常を、各チャンネル毎に示すビットであり、０は異常なし、１は異常ありを示す。ビット番号５〜７は、不使用（０に固定）である。
【０６３４】
第１内部情報レジスタの値が１である場合、ＣＰＵ３０４から読み出されると０に設定（クリア）される。なお、内部情報レジスタはＣＰＵ３０４に一度に読み出されるため、第１内部情報レジスタが保持している値を０に設定（クリア）したい場合は、ＣＰＵ３０４に第１内部情報レジスタの値を読み出した後に読み出した値を破棄すれば良い。また、上述の通り、システムリセットおよびユーザリセットのいずれかの処理が実行された場合に、この内部情報レジスタは、ＣＰＵ３０４から読み出された場合と同様に各ビットは０に設定（クリア）されることとなる。
【０６３５】
以上、乱数生成回路３１８の異常がどのように記憶されているかについて説明したが、この例と同様に上記リセット要因を示す情報（システムリセットおよびユーザリセットのうちのいずれのリセットが発生したのかを識別可能な情報）についても、第１内部情報レジスタに記憶されている。なお、上記説明では、乱数生成チャンネルの異常をビット番号１〜４によってそれぞれのチャンネル毎に表していたが、１つのビットによっていずれかのチャンネルで異常が起きたか否かを表すようにしてもよい（全てのチャンネルで共通にしてもよい）。なお、本実施形態では、内部情報レジスタ３１０１が割込み制御回路３１００内に設けられているが、他の回路に設けられているものであってもよい。なお、割込み制御回路３１００の内部レジスタ３１０１に用意された第２内部情報レジスタおよび第３内部情報レジスタについては後述する。
【０６３６】
次に、図７７に示す周波数監視回路３１８２における異常の検出例について、図８５を用いて説明する。同図は、周波数監視回路３１８２における異常の検出例を示す図である。図８５には、一番上からそれぞれ、正常時の動作、異常時の動作例１（異常時１）、異常時の動作例２（異常時２）が示されている。これらの例では、マイクロプロセッサ３０００の内部クロックと、乱数生成回路３１８に入力される外部クロック（ＲＣＫ）に加え、外部クロックの１周期に対する内部クロックの周期の比率が示されている。この検出動作では、外部クロックと内部クロックの周期の比率を監視し、この比率が変化した場合を異常として検出する。
【０６３７】
図８５（ａ）に示す正常時の例では、外部クロックの１周期の間に内部クロックが２．５周期ある状態が継続している。すなわち、外部クロックと内部クロックの周期の比率が変化しないため、異常を示す情報は出力されない。
【０６３８】
次に、図８５（ｂ）に示す異常時の動作例１（異常時１）では、外部クロックの１周期の間に内部クロックが４．５周期ある状態が示されている。図８５（ａ）に示す状態からこの図８５（ｂ）に示す状態になった場合には、この時点で異常を示す情報が出力される。
【０６３９】
次に、図８５（ｃ）に示す異常時の動作例２（異常時２）の最初には、外部クロックの１周期の間に内部クロックが０．５周期ある状態が示されている。仮に、図８５（ａ）に示す状態からこの図８５（ｃ）の最初の状態になった場合には、この時点で異常を示す情報が出力される。さらに、図８５（ｃ）には、外部クロックの１周期の間に内部クロックが０．５周期ある状態に続き、外部クロックの１周期の間に内部クロックが２．５周期ある状態が継続している。この周期の比率が変化した時点でも異常を示す情報が出力される。
【０６４０】
上記の例では、外部クロックと内部クロックのいずれか一方の周期が異常になると、異常を示す情報が出力されることになる。すなわち、内部クロックを乱数の更新クロックとして使用した場合でも、異常を検出することができる。なお、外部クロックと内部クロックの比率が同じであれば、双方の周波数が変更されても異常を示す情報が出力されない。この場合、例えばプログラム管理エリア内に外部クロック又は内部クロックの周波数を示す情報を記憶させておき、この情報を用いて外部クロック又は内部クロックの異常を検出させることも可能である。なお、更新クロックの異常を検出する方法は上述した方法に限らず、更新クロックの周期の異常を検出可能な方法であれば他の方法を採用しても良い。
【０６４１】
続いて、図７７に示す乱数監視回路３１８４における異常の検出例について、図８６を用いて説明する。同図は、乱数監視回路３１８４における異常の検出例を示す図である。この検出例では、１回の乱数の更新毎に更新前後の乱数を比較し、同じ乱数が生成されていないか否かをチェックする。仮に同じ乱数が生成されている場合には、異常を示す情報が出力される。図８６（ａ）の例では、更新前後で同じ乱数が生成されていないため、異常を示す情報は出力されない。これに対して、図８６（ｂ）の例では、更新の途中で同じ乱数が生成されており（乱数４が２回生成されている）、この時点（２回目の４が出力された時点）で異常を示す情報が出力される。なお、上記の例では、乱数が更新される度にチェックを行っているが、この乱数更新周期よりも長い所定の周期毎でチェックさせてもよい。
【０６４２】
上記説明したように乱数生成回路３１８では、周波数監視回路３１８２と乱数監視回路３１８４から異常を示す情報が内部情報レジスタ３１０１に対して出力される。また、内部情報レジスタ３１０１の値は、タイマ割込み毎にＣＰＵ３０４によって読み出される。
【０６４３】
このように周波数監視回路３１８２および乱数監視回路３１８４の双方を用いて乱数生成回路３１８の異常を監視することで、更新クロックの周波数に異常があるが、乱数の更新には異常がない異常状態（乱数監視回路３１８４のみでは検出できない異常状態）と、更新クロックの周波数に異常がないが、乱数の更新には異常がある異常状態の双方の異常状態を的確に把握することが可能になり、遊技制御の安定化を図ることができる。
【０６４４】
従来の遊技台では、遊技者に有利な抽選結果が導出されやすくなるように抽選に用いられる乱数に狙いを定めて不正が行われることがあり、遊技の公平性を担保することが困難になっている。しかし、本実施形態の遊技台によれば、上記の乱数生成回路３１８によって抽選に用いられる乱数の異常を把握したうえで対処することができるため、乱数の狙いうちを抑止して遊技の公平性を担保することができる。なお、周波数監視回路３１８２および乱数監視回路３１８４は内部情報レジスタ３１０１に記憶されている情報に関わらず継続してそれぞれ監視を行っている。
【０６４５】
ここで、内部情報レジスタ３１０１の値が、乱数生成回路３１８により生成される乱数が一巡する周期（乱数生成範囲内の全ての値を各１回出力するのに必要な期間、以下、乱数一巡周期と称する）だけ保持され、その後クリアされる構成であった場合の問題点について図８７を用いて説明する。同図は、乱数が一巡する周期とタイマ割込みの周期を比較した図である。図８７の一番上には、一番下に示すタイマ割込み周期ｔ４よりも長い乱数一巡周期ｔ１が示されている。また、図８７の上から二番目および三番目には、タイマ割込み周期ｔ４よりも短い乱数一巡周期ｔ２およびｔ３がそれぞれ示されている。
【０６４６】
上述したように内部情報レジスタ３１０１の内容はタイマ割込み毎に確認される。例えば乱数一巡周期が、図８７に示す乱数一巡周期ｔ１のようにタイマ割込み周期ｔ４よりも長い場合、内部情報レジスタ３１０１に保持された値がクリアされる前にこの値を読み取ることができる。しかし、本実施形態では、乱数生成範囲の最大値を設定することができるため、これに従って乱数一巡周期が短くなってしまう事態が生じ得る。例えば乱数一巡周期が、図８７に示す乱数一巡周期ｔ２およびｔ３のようにタイマ割込み周期ｔ４よりも短い場合、内部情報レジスタ３１０１に保持された値を読み取る前にこの値がクリアされる場合がある。すなわち、ＣＰＵ３０４が異常を示す情報を取得することが出来なくなる場合がある。
【０６４７】
本実施形態では、内部情報レジスタ３１０１の値が一旦セットされると、この値が読みとられるまでその値が保持される。すなわち、正常に戻ったか否かにかかわらずこの値が維持される。さらに、ＣＰＵ３０４がこの値を読み取ると、読み取られた部分の値がクリアされるようになっている。このため、上記のように乱数一巡周期が変わってしまったとしても、内部情報レジスタ３１０１から異常を示す情報を取得することができる。なお、異常を示す値が読み取られた後に、異常が継続していれば再度異常を示す値がセットされる。
【０６４８】
＜主制御部メイン処理＞
次に、図８８を用いて、図４に示す主制御部３００のＣＰＵ３０４が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
【０６４９】
この主制御部メイン処理は上述のユーザモードにおける処理に相当し、システムリセットがかかった場合でも、ユーザリセットがかかった場合でも実行される処理である。図４に示す主制御部３００のＲＡＭ３０８には、大当り用特図１乱数カウンタ、小当り用特図１乱数カウンタ、ハズレ用特図１乱数カウンタ、およびこれらのカウンタの特図２用のカウンタが設けられている。また、そのＲＡＭ３０８には、特図１の保留数、特図１当選乱数、大当り用特図１乱数、小当り用特図１乱数、ハズレ用特図１乱数、特図１当否判定結果、特図１決定結果、特図１変動時間、およびこれらの、保留数や乱数や結果の特図２用のものがそれぞれ記憶される。またＲＡＭ３０８には、当否判定（抽選）の開始を保留することができる最大数（この例では４つ）の領域に区分けされた保留記憶部が特図１と特図２で別々に用意されている。特図１の保留記憶部には、後述するように、特図１当選乱数、大当り用特図１乱数、小当り用特図１乱数、ハズレ用特図１乱数、および特図１変動時間決定用乱数の５つの乱数を１セットにしてこれら５つの乱数が入賞順（保留順）に１セットずつ１領域ごとに格納される。
【０６５０】
上述したように、図４に示す主制御部３００には、電源が投入されると起動信号（リセット信号）を出力する起動信号出力回路（リセット信号出力回路）３４０を設けている。この起動信号を入力した基本回路３０２のＣＰＵ３０４は、リセット割込によりリセットスタートしてＲＯＭ３０６に予め記憶している制御プログラムに従って図８８に示す主制御部メイン処理を実行する。
【０６５１】
ステップＳ３００１では、初期設定１を行う。この初期設定１では、ＣＰＵ３０４のスタックポインタ（ＳＰ）へのスタック初期値の設定（仮設定）、割込マスクの設定、Ｉ／Ｏ３１０の初期設定、ＲＡＭ３０８に記憶する各種変数の初期設定等を行う。
【０６５２】
ステップＳ３００３では、低電圧信号がオンであるか否か、すなわち、電圧監視回路３３８が、電源制御部６６０が第２副制御部５００を介して主制御部３００に供給している電源の電圧値が所定の値（本実施形態では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合（ＣＰＵ３０４が電源の遮断を検知した場合）には繰り返しこのステップＳ３００３を実行し、低電圧信号がオフの場合（ＣＰＵ３０４が電源の遮断を検知していない場合）にはステップＳ３００５に進む。なお、電源が投入された直後で未だ上記所定の値（９Ｖ）に達しない場合にも、供給電圧がその所定の値以上になるまでステップＳ３００３は繰り返し実行される。ステップＳ３００５では、初期設定２を行う。
【０６５３】
図８９は、主制御部メイン処理における初期設定２の流れを示すフローチャートである。まず、ステップＳ３０５１では、カウンタ回路３１２に最大値や更新ソースを決める数値を設定する処理等、カウンタ回路３１２に関する設定処理を行う。なお、後述する主制御部タイマ割込処理を定期毎に実行するための周期を決める数値をタイマ回路３１１に設定する処理等、タイマ回路３１１に関する設定処理も併せて行う。ステップＳ３０５２では、第１副制御部４００への出力ポートからクリア信号を出力する処理を行い、ステップＳ３０５３に進む。ステップＳ３０５３では乱数生成回路初期設定処理を行い、次いで、ステップＳ３０５４でＲＡＭ３０８への書き込みを許可する設定を行って、この初期設定２は終了になる。
【０６５４】
図９０は、ステップＳ３０５３における乱数生成回路初期設定処理の流れを示すフローチャートである。この乱数生成回路初期設定処理は、上述のユーザモードにおいて行われる、図７７に示す乱数生成回路３１８の初期設定処理である。まず、乱数の取り得る範囲（乱数生成範囲）範囲の設定を行い（ステップＳ３０５３ａ）、ステップＳ３０５３ｂに進む。上述のごとく、図７７に示す乱数生成回路３１８では、生成する乱数の最大幅は０〜６５５３５であり、この最大幅が乱数生成範囲のデフォルトになり、ここでは、図７９〜図８２を用いて詳細に説明したように、その乱数生成範囲をデフォルトとは異なる範囲に設定することができる。図８８に示す主制御部メイン処理は、リセット（システムリセットまたはユーザリセット）がかかる度に実行される処理であるため、乱数生成範囲の設定もリセットがかかる度に実行される。このようにすることで、図９８、図９９を用いて後述する乱数生成範囲の異常による問題を防止することができる。
【０６５５】
ステップＳ３０５３ｂでは、図７７に示す乱数レジスタ３１８８の読み出しを行うとともに、読み出した乱数を破棄する処理を行い、ステップＳ３０５３ｃに進む。この処理によって、乱数生成範囲のリセットがかかるごとに乱数レジスタ３１８８が乱数をラッチすることを許容する許容状態になる。この許容状態においては、仮に異常の可能性がある乱数が乱数レジスタに残っている場合でもすぐに乱数を更新させることができるため、異常の可能性がある乱数の使用を防止することができる。
【０６５６】
本実施形態では、乱数生成回路３１８では、特図当選乱数の元になる乱数と普図当選乱数とを生成するが、制御状態に応じて出力チャンネルが異なる。すなわち、特図当選乱数の元になる乱数は、非確率変動中（特図低確率状態）にはチャンネルＣＨ１から出力され、確率変動中（特図高確率状態）にはチャンネルＣＨ２から出力される。また、普図当選乱数は、普図低確率状態（非電サポ中）にはチャンネルＣＨ３から出力され、普図高確率状態（電サポ中）にはチャンネルＣＨ４から出力される。なお、乱数生成回路３１８は、特図当選乱数そのものを生成するものであってもよいし、特図当選乱数の元になる乱数を生成するものであってもよい。また、普図当選乱数そのものを生成するものであってもよいし、普図当選乱数の元になる乱数を生成するものであってもよい。ステップＳ３０５３ｃでは、これら４チャンネル総てのチャンネルについてステップＳ３０５３ａとステップＳ３０５３ｂが実行されたか否かを判定し、全チャンネルについて終了していなければ、ステップＳ３０５３ａに戻り、１チャンネルごとに未了のチャンネルについて処理を行う。なお、乱数生成範囲の設定は、状態に応じて使用されているチャンネルのみを実行してもよいし、乱数生成範囲を設定されるチャンネルのみ実行するようにしてもよい。一方、全チャンネルについて終了していれば、この乱数生成回路初期設定処理は終了になる。
【０６５７】
なお、主制御部のタイマ割込みはこの時点では禁止されており、乱数生成回路初期設定処理はタイマ割込み許可前に行っていることになるため、新たに乱数がラッチされたとしても各種抽選に使用されることはなく、抽選処理の安定化を図ることができる。
【０６５８】
ところで、本実施例では、システムリセットが発生した（乱数の更新が停止されている）場合、および例えばユーザリセットが発生した場合のようにユーザプログラムが最初から実行される（乱数の更新が行われている）場合のいずれの場合であっても必ず乱数回路初期化処理が実行されるように構成されている。必ずしもこのように構成する必要はないが、このように構成することで、ユーザプログラムの解析結果と乱数生成回路３１８の動作が合わなくなるため、基本回路３０２の動作の解析が困難になり、不正を防止することができる。従って、不正により基本回路３０２の動作が不安定にされることがなく、遊技制御の安定化を図ることができる。仮に、不正により基本回路３０２の動作が解析された場合、遊技者に有利な操作が行われてしまう虞があるが、上記の構成であればこのような不正が防止できるため、遊技制御の安定化を図ることができる。
【０６５９】
さらに、乱数生成回路３１８が乱数更新を行うか否かに関わらず、ＣＰＵ３０４に乱数生成回路初期設定処理を実行する指示を行わせた場合、ユーザリセットが実行された場合の処理を統一することができる。すなわち、ユーザリセット後に不安定な状態となった場合にも分岐処理を行わずにすむため、遊技制御の安定化を図ることができる。なお、上述した内容はユーザリセットがかかった場合について述べたが、システムリセットがかかった場合についても同様の効果を得ることができる。
なお、上述した通り、本実施例では、システムリセットが発生した場合と、ユーザリセット等が発生した場合とで乱数生成回路初期設定処理の処理内容が同一となっているが、この処理内容をシステムリセットが発生した場合と、ユーザリセット等が発生した場合とで異ならせるようにしてもよい。具体的には、ユーザリセットが発生した場合には、最大値を設定する処理（最大値設定レジスタにＲＯＭ３０６に記憶されている対応ＣＨの最大値をライトする処理）を実行する一方で、ユーザリセット等が発生した時には、最大値を確認する処理（最大値設定レジスタの値をリードしてＲＯＭ３０６に記憶されている対応するＣＨの最大値と比較する処理）を行うとともに、最大値が一致しなかった場合には所定の処理（例えば、遊技の進行を停止させる処理、外部に異常を示す信号を送信する処理、異常を報知する処理、異常が発生したことを記憶する処理など）を実行するように構成してもよい。なお、システムリセットが発生したのかユーザリセット等が発生したのかを識別方法としては、内部情報レジスタ（詳細は後述）に記憶されている情報を参照するようにすればよい。
【０６６０】
図８８に示す主制御部メイン処理におけるステップＳ３００７では、電源の遮断前（電断前）の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合（主制御部３００の基本回路３０２を初期状態にする場合）にはＲＷＭクリア処理（ステップＳ３０１３）に進む。
【０６６１】
具体的には、最初に、図２に示す電源基板１８２に設けたＲＡＭクリアスイッチ１８０を遊技店の店員などが操作した場合に送信されるＲＡＭクリア信号がオン（操作があったことを示す）であるか否か、すなわちＲＡＭクリアが必要であるか否かを判定し、ＲＡＭクリア信号がオンの場合（ＲＡＭクリアが必要な場合）には、基本回路３０２を初期状態にすべくステップＳ３０１３に進む。一方、ＲＡＭクリア信号がオフの場合（ＲＡＭクリアが必要でない場合）には、ＲＡＭ３０８に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路３０２を初期状態にすべくステップＳ３０１３に進み、電源ステータスの情報がサスペンドを示す情報である場合には、ＲＡＭ３０８の所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が、電断前にＲＡＭ３０８に設定した値と一致するか否か（チェックサムの結果が正常であるか否か）を判定する。そして、チェックサムの結果が特定の値の場合（チェックサムの結果が正常である場合）には電断前の状態に復帰すべくステップＳ３００９に進み、チェックサムの結果が特定の値以外である場合（チェックサムの結果が異常である場合）には、パチンコ機１００を初期状態にすべくステップＳ３０１３に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップＳ３０１３に進む。
【０６６２】
ステップＳ３００９では、データ書き戻し処理を行う。このデータ書き戻し処理では、電断時にＲＡＭ３０８に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタの値を読み出し、スタックポインタに再設定（本設定）する。また、電断時にＲＡＭ３０８に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割込許可の設定を行う。以降、ＣＰＵ３０４が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機１００は電源断時の状態に復帰する。すなわち、電断直前にタイマ割込処理（後述）に分岐する直前に行った命令の次の命令から処理を再開する。また、図４に示す主制御部３００における基本回路３０２に搭載されているＲＡＭ３０８には、送信情報記憶領域が設けられている。このステップＳ３００９では、その送信情報記憶領域に、復電コマンドをセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部３００のタイマ割込処理におけるステップＳ２３１において、第１副制御部４００へ送信される。
【０６６３】
ステップＳ３０１１では、ＷＤＴ３１４１を起動させる処理を行う。ここでは、ＷＤＴ３１４１の起動許可及び初期値の設定等を行う。なお、本実施形態では、ＷＤＴ３１４１に、初期値として３２．８ｍｓに相当する数値を設定する。
【０６６４】
ステップＳ３０１３では、ＲＷＭクリア処理を行う。このＲＷＭクリア処理では、ＲＡＭ３０８の全ての記憶領域の初期化を行う。また、主制御部のタイマ割込み許可の設定、スタックポインタへのスタック初期値の設定（本設定）なども併せて行う。さらにここで、主制御部３００のＲＡＭ３０８に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部３００のＲＷＭクリア処理（ステップＳ３０１３）が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部３００のタイマ割込処理におけるステップＳ２３１において、第１副制御部４００へ送信される。ステップＳ３０１５では、ステップＳ３０１１と同様、ＷＤＴ３１４１を起動させる処理を行う。
なお、本実施例では、少なくともタイマ割込み許可の設定を行った後の主制御部メイン処理においてＷＤＴ３１４１のリスタートを行わず、後述する主制御部タイマ割込処理でのみＷＤＴ３１４１のリスタート（詳細は後述）を行うように構成するとともに、主制御部のタイマ割込み許可の設定後にＷＤＴ３１４１を起動させる処理を行うように構成している。このように構成することで、正常に主制御部のタイマ割込処理が実行されている場合にのみＷＤＴ３１４１のカウント値が初期設定値（本実施形態では３２．８ｍｓ）を超えることなく（ＷＤＴ３１４１割込が発生せずに）、その後の処理が行われるようになる。特に、主制御部メイン処理で乱数生成回路から乱数を取得（ラッチされた乱数の取得のみ、または乱数のラッチおよびラッチされた乱数の取得）する遊技台においては、主制御部に異常がある場合（主制御部タイマ割込処理が正常に実行されてない場合）に乱数が取得されてしまうことを防止することができる。
【０６６５】
ステップＳ３０１７では、基本乱数初期値更新処理を行う。ここにいう基本乱数とは、ソフトウェア乱数である、大当り用特図乱数、小当り用特図乱数、およびハズレ用特図乱数が相当する。なお、各乱数には特図１用の乱数と特図２用の乱数が存在するが、以降の説明では、特に断りを入れない限り両者を区別することなく単に特図として説明する。この基本乱数初期値更新処理では、大当り用特図乱数カウンタ、小当り用特図乱数カウンタ、およびハズレ用特図乱数カウンタそれぞれの初期値を生成するための初期値生成用乱数カウンタを更新する。各カウンタがＲＡＭ３０８に設けられている。なお、初期値生成用乱数カウンタは、後述するステップＳ２０４でも更新する。
【０６６６】
ステップＳ３０１９では演出乱数更新処理を行う。ここにいう演出乱数もソフトウェア乱数であって、この演出乱数は、演出を決定する元になる乱数のことであり、本実施形態では、後述する先読み予告を実行するか否かを抽選する際に用いられる乱数等が相当する。この演出乱数更新処理では、ＲＡＭ３０８に設けられた演出乱数カウンタを更新する。なお、演出乱数カウンタは、後述するステップＳ２１１でも更新する。
【０６６７】
主制御部３００は、所定の周期ごとに開始するタイマ割込処理を行っている間を除いて、ステップＳ３０１７およびステップＳ３０１９の処理を繰り返し実行する。これらのステップＳ３０１７およびステップＳ３０１９は、主処理の一例に相当する。
【０６６８】
＜主制御部タイマ割込処理＞
次に、図９１を用いて、主制御部３００のＣＰＵ３０４が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
【０６６９】
図４に示す主制御部３００は、所定の周期（本実施形態では約４ｍｓに１回）でタイマ割込信号を発生するタイマ回路３１１を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。
【０６７０】
ステップＳ３２０１では、タイマ割込スタート処理を行う。このタイマ割込スタート処理では、ＣＰＵ３０４の各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップＳ３２０３では、ＷＤＴ３１４１のカウント値が初期設定値（本実施形態では３２．８ｍｓ）を超えてＷＤＴ３１４１割込が発生しないように（処理の異常を検出しないように）、ＷＤＴ３１４１を定期的に（本実施形態では、主制御部タイマ割込の周期である約４ｍｓに１回）リスタートを行う。
【０６７１】
ステップＳ３２０５では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、Ｉ／Ｏ３１０の入力ポートを介して、各種の球検出センサを含む図４に示す各種センサ３２０の検出信号を入力して検出信号の有無を監視し、ＲＡＭ３０８に各種センサ３２０ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前回のタイマ割込処理（約８ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ３０８に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をＲＡＭ３０８に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理（約４ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ３０８に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
【０６７２】
また、ステップＳ３２０５では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去３回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約４ｍｓという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップＳ３２０５では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して２回記憶されている場合には、入賞があったと判定する。図４に示す主制御部３００のＲＯＭ３０６には、入賞判定パターン情報（本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報）が記憶されている。このステップＳ３２０５では、各々の球検出センサにおいて過去３回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報（本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報）と一致した場合に、一般入賞口２２６、可変入賞口２３４、第１特図始動口２３０、および第２特図始動口２３２への入球、または普図始動口２２８の通過があったと判定する。すなわち、これらの入賞口２３４、２３０やこれらの始動口２３０、２３２、２２８への入賞があったと判定する。例えば、一般入賞口２２６への入球を検出する一般入賞口センサにおいて過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口２２６へ入賞があったと判定し、以降の一般入賞口２２６への入賞に伴う処理を行うが、過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口２２６への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部３００のＲＯＭ３０６には、入賞判定クリアパターン情報（本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報）が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去３回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。なお、本実施形態では、一般入賞口２２６、可変入賞口２３４、第１特図始動口２３０、第２特図始動口２３２、普図始動口２２８へ入賞があったか否かの判定として、前々回、前回および今回の検出信号が予め定められた入賞判定パターン情報と一致した否かを判定していたが、このような方法に限らず、例えば、前回および今回の検出信号が予め定められた入賞判定パターン情報（例えば、前回検出信号なし、今回検出信号あり（いわゆるアップエッジ））と一致したか否かを判定するように構成してもよい。すなわち、球検出センサからの検出信号の有無を監視し、この監視結果の履歴が予め定められたパターンと一致したか否かを判定するように構成すればよい。
【０６７３】
ステップＳ３２０７およびステップＳ３２０９では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップＳ３０１７で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部３００で使用する、大当り用特図乱数、小当り用特図乱数、およびハズレ用特図乱数それぞれを生成するための乱数カウンタを更新する。例えば、大当り用特図乱数として取り得る数値範囲が０〜１００とすると、ＲＡＭ３０８に設けた大当り用特図乱数を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に１を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に１を加算した結果が１０１であれば０を元の乱数カウンタ記憶領域に記憶する。また、取得した値に１を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、０〜１００の数値範囲で変動する大当り用特図乱数生成用の乱数カウンタから値を取得し、取得した値に１を加算した結果が、ＲＡＭ３０８に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値（例えば７）である場合に、大当り用特図乱数生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、大当り用特図乱数生成用の乱数カウンタにセットすると共に、大当り用特図乱数生成用の乱数カウンタが次に１周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。なお、本実施形態では特図１に関する乱数を取得するためのカウンタと特図２に関する乱数を取得するためのカウンタとを別々に設けているが、同一のカウンタを用いてもよい。
【０６７４】
ステップＳ３２１１では、演出乱数更新処理を行う。この演出乱数更新処理では、上記ステップＳ３０１９と同様に、主制御部３００で使用する演出用乱数を生成するための乱数カウンタを更新する。ステップＳ３２１３では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置２１０に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、第１特図表示装置２１２に図柄を変動・停止表示する時間を計時するための特図１表示図柄更新タイマ、第２特図表示装置２１４に図柄を変動・停止表示する時間を計時するための特図２表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
【０６７５】
ステップＳ３２１５では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口２３４、２３０や始動口２３０、２３２、２２８に入賞があった場合に、ＲＡＭ３０８に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、１を加算して、元の賞球数記憶領域に設定する。
【０６７６】
また、ステップＳ３２１７では、入賞受付処理を行う。この入賞受付処理では、第１特図始動口２３０に入賞があり、且つ、保留している特図１変動遊技の数が所定数（本実施形態では４）未満である場合には、所定の始動情報を取得する。すなわち、保留数が所定数未満であれば、図４に示す乱数生成回路３１８から、特図１当選乱数の元になるハードウェア乱数を得、加工を施すことによって特図１当選乱数を取得する。この特図１当選乱数を取得する処理をより具体的に説明すると、乱数生成回路３１８の特図１に対応するチャンネルの乱数をラッチするためのラッチ信号を出力する処理（具体的には、ソフトラッチレジスタ３１８６の特図１のチャンネルに対応する領域に所定の値を書き込む処理）を実行するとともに、このラッチ信号によってラッチされた乱数を取得するためのリード信号を出力する処理(具体的には、乱数レジスタ３１８８のうちの特図１のチャンネルに対応する乱数レジスタに対してリード信号を出力する処理)を実行してラッチされている乱数を取得するとともに、取得した乱数を加工（例えば、ユーザプログラムで生成しているソフトウェア乱数を加算する処理）する処理である。なお、第２特図始動口２３２に入賞があった場合も同様の処理を実行する。なお、本実施形態では、乱数生成回路３１８から乱数を取得する方法として特図１および２に対応するチャンネルの乱数をラッチするためのラッチ信号を出力する処理を行った後にラッチした乱数を取得するリード信号を出力する方法を採用しているが、特図１および２に対応するチャンネルの乱数を直読みする処理（具体的には、乱数レジスタ３１８８の値を直接リードする処理）を実行して取得するようにしてもよい。さらに、本実施形態では、特図１および２のラッチされた乱数を取得するためのリード信号を出力する処理（乱数レジスタ３１８８の値を直接リードする処理とは異なる）を主制御部タイマ割込み処理において実行するように構成しているが、この処理に関しては上述した主制御部メイン処理において実行するように構成してもよく、この場合は、後述する特図関連抽選処理を合わせて主制御部メイン処理において実行するように構成すればよく、特図１および２に対応するチャンネルの乱数値を直読みする処理を実行する場合においては、特図関連抽選処理のみを主制御部メイン処理おいて実行するように構成すればよい。また、本実施形態では、特図１当選乱数および特図２当選乱数それぞれを、乱数生成回路３１８から取得した乱数を加工して導出しているが、このような場合に限らず、乱数生成回路３１８から取得した乱数を特図１当選乱数および特図２当選乱数としてもよい。また、ＲＡＭ３０８に設けた乱数カウンタ記憶領域から、大当り用特図１乱数、小当り用特図１乱数、およびハズレ用特図１乱数を取得する。大当り用特図１乱数、小当り用特図１乱数、およびハズレ用特図１乱数は、ＲＡＭ３０８に設けられたソフトウェア乱数カウンタから導出されたソフトウェア乱数を加工した値（ソフトウェア乱数の値＋Ｒレジスタの値＋１）である。さらに、図４に示すカウンタ回路３１２から特図１変動時間決定用乱数を取得する。図４に示す乱数生成回路３１８、カウンタ回路３１２、ＲＡＭ３０８に設���られたソフトウェア乱数カウンタ、および乱数加工を施す主制御部３００を併せたものが、始動情報を生成して導出するものであり、始動情報導出手段（第１の始動情報導出手段，第２の始動情報導出手段）の一例に相当する。ここで取得された各種乱数（始動情報）は、ＲＡＭ３０８に設けた特図１の保留記憶部の、入賞順（保留順）に応じた空いている領域に、１セットの始動情報として記憶される。この特図１の保留記憶部は、第１特図始動口２３０（第１の始動領域）に遊技球が進入した場合に取得した始動情報を所定の第１上限個数（ここでは４個）まで記憶可能な第１の始動情報記憶手段に相当する。このとき各種乱数（始動情報）をＲＡＭ３０８に設けた一時領域に一旦記憶し、その一時領域に記憶された値を特図１の保留記憶部に記憶してもよく、この場合、一時領域を第１の始動情報記憶手段としてもよいし、特図１の保留記憶部および一時領域を第１の始動情報記憶手段としてもよい。また、主制御部３００のＣＰＵ３０４は、ＲＡＭ３０８に記憶されている特図１の保留数の値に１を加算し、特図１の保留数が１増加する。したがって、主制御部３００のＣＰＵ３０４が保留手段の一例に相当する。また、特図２についても、特図１と同様に始動情報である各乱数を取得し、取得した乱数をＲＡＭ３０８に設けた特図２の保留記憶部に、１セットの始動情報として同様に記憶され、さらに、ＲＡＭ３０８に記憶されている特図２の保留数の値に１を加算する。特図２の保留記憶部は、第２特図始動口２３２（第２の始動領域）に遊技球が進入した場合に取得した始動情報を所定の第２上限個数（ここでは４個）まで記憶可能な第２の始動情報記憶手段に相当する。このとき各種乱数（始動情報）をＲＡＭ３０８に設けた一時領域に一旦記憶し、その一時領域に記憶された値を特図２の保留記憶部に記憶してもよく、この場合一時領域を第２の始動情報記憶手段としてもよいし、特図２の保留記憶部および一時領域を第２の始動情報記憶手段としてもよい。
【０６７７】
また、普図始動口２２８を球が通過したことを検出し、且つ、保留している普図変動遊技の数が所定数（本実施形態では４）未満の場合には、そのタイミングで、図４に示す乱数生成回路３１８から普図当選乱数を所得し、ＲＡＭ３０８に設けた特図用とは別の乱数記憶領域に記憶する。この乱数生成回路３１８から普図当選乱数を取得する点についても、さらに後述する。
【０６７８】
また、この入賞受付処理では、所定の球検出センサにより、第１特図始動口２３０、第２特図始動口２３２、普図始動口２２８、または可変入賞口２３４の入賞（入球）を検出した場合に、第１副制御部４００に送信すべき送信情報に、第１特図始動口２３０、第２特図始動口２３２、普図始動口２２８、および可変入賞口２３４の入賞（入球）の有無を示す入賞受付情報を設定する。なお、特図の始動情報にしても普図の始動情報にしても、保留数がそれぞれの所定数以上であれば始動情報を取得せずに、ステップＳ３２１９に進む。
【０６７９】
ステップＳ３２１９では、払出要求数送信処理を行う。図４に示す払出制御部６００に出力する出力予定情報および払出要求情報は１バイトで構成しており、ビット７にストローブ情報（オンの場合、データをセットしていることを示す）、ビット６に電源投入情報（オンの場合、電源投入後一回目のコマンド送信であることを示す）、ビット４〜５に暗号化のための今回加工種別（０〜３）、およびビット０〜３に暗号化加工後の払出要求数を示すようにしている。
【０６８０】
ステップＳ３２２１では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの１つの処理を行う。例えば、普図変動表示の途中（上述する普図表示図柄更新タイマの値が１以上）における普図状態更新処理では、普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置２１０は普図の変動表示（普図変動遊技）を行う。
【０６８１】
また、普図変動表示時間が経過したタイミング（普図表示図柄更新タイマの値が１から０になったタイミング）における普図状態更新処理では、当りフラグがオンの場合には、当り図柄の表示態様となるように普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、ハズレ図柄の表示態様となるように普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行う。また、主制御部３００のＲＡＭ３０８には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯・消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置２１０は、当り図柄（図５（ｃ）に示す普図Ａ）およびハズレ図柄（図５（ｃ）に示す普図Ｂ）いずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間（例えば５００ｍ秒間）、その表示を維持するためにＲＡＭ３０８に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。
【０６８２】
また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）における普図状態更新処理では、ＲＡＭ３０８の設定領域に普図作動中を設定するとともに、所定の開放期間（例えば２秒間）、第２特図始動口２３２の羽根部材２３２１の開閉駆動用のソレノイド（３３２）に、羽根部材２３２１を開放状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。このようにして一対の羽根部材２３２１の開放制御を行う主制御部３００のＣＰＵ３０４が、可変始動領域制御を行う可変始動領域制御手段の一例に相当する。一方、非電サポ状態であれば、ＲＡＭ３０８の設定領域に普図非作動中を設定するとともに、第２特図始動口２３２の羽根部材２３２１の開閉駆動用のソレノイド（３３２）には、何ら信号を出力しない。こうすることで、羽根部材２３２１は閉じた状態のままになる。なお、羽根部材２３２１を閉じた状態に維持するための信号を必ず出力するようにしてもよい。
【０６８３】
また、電サポ状態であった場合には、所定の開放期間が終了したタイミング（羽根開放時間管理用タイマの値が１から０になったタイミング）で開始する処理では、所定の閉鎖期間（例えば０．１秒間）、羽根部材２３２１の開閉駆動用のソレノイド（３３２）に、羽根部材２３２１を閉鎖状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
【０６８４】
また、電サポ状態であった場合には、所定の閉鎖期間が終了したタイミング（羽根閉鎖時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理において、ＲＡＭ３０８の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果がハズレであれば、後述するように、普図ハズレフラグがオンされる。この普図ハズレフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）における普図状態更新処理でも、ＲＡＭ３０８の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップＳ３２２３に移行するようにしている。続いて、ステップＳ３２２３では普図関連抽選処理を実行する。
【０６８５】
図９２（ａ）は、普図関連抽選処理の流れを示すフローチャートである。図９２（ａ）に示す普図関連抽選処理では、まず、普図保留情報があるか否かを判定する（ステップＳ３２２３ａ）。ここにいう普図保留情報とは、普図の保留数を指す。すなわち、ここでは、保留している普図変動遊技の数が１以上であるか否かを判定する。なお、普図の保留数をデータとして持っていなくとも、例えば、保留に対応した乱数（普図当選乱数）を普図保留情報として認識するようにしても良い。普図保留情報がなければ、この普図関連抽選処理は終了になり、普図保留情報があればステップＳ３２２３ｂに進む。ステップＳ３２２３ｂでは、普図変動遊技が行われているか否かを判定し、行われていればこの普図関連抽選処理は終了になり、行われていなければステップＳ３２２３ｃに進む。ステップＳ３２２３ｃでは、第２特図始動口２３２の開閉制御が行われているか否か（普図作動中か否か）を判定し、普図作動中であればこの普図関連抽選処理は終了になり、普図非作動中であればステップＳ３２２３ｄに進む。ステップＳ３２２３ｄでは、上述の乱数記憶領域に記憶している普図当選乱数に基づいた乱数抽選を行う。
【０６８６】
図９２（ｂ）は、普図抽選テーブルを示す図である。このテーブルは、主制御部３００のＲＯＭ３０６に記憶されている。主制御部３００のＣＰＵ３０４は、ＲＡＭ３０８の乱数記憶領域から普図当選乱数を取り出し、時短フラグを参照し、時短フラグがオンであれば普図高確率状態（電サポ中）であるため、取得した普図当選乱数から普図高確率状態の普図当選データを引き、キャリーが発生した場合（普図当選乱数よりも普図当選データの値が大きい場合）は普図当選とし、キャリーが発生しなかった場合は普図ハズレになる。すなわち、普図当選乱数範囲は０〜９になる。普図高確率状態では、普図当選乱数は、図７７に示す乱数生成回路３１８のチャンネルＣＨ４から出力される。このチャンネルＣＨ４には、図９０に示す乱数生成回路初期設定処理における乱数生成範囲の設定（ステップＳ３０５３ａ）において０〜９の乱数生成範囲が設定されており、普図高確率状態の普図当選乱数の取り得る範囲は０〜９になる。したがって、普図高確率状態における普図当選確率は１／１になる。一方、時短フラグがオフであれば普図低確率状態（非電サポ中）であるため、取得した普図当選乱数から、普図高確率状態のデータと同じ普図低確率状態の普図当選データを引き、キャリーが発生した場合（普図当選乱数よりも普図当選データの値が大きい場合）は普図当選とし、キャリーが発生しなかった場合は普図ハズレになる。すなわち、普図低確率状態の場合でも普図当選乱数範囲は０〜９になる。普図低確率状態では、普図当選乱数は、図７７に示す乱数生成回路３１８のチャンネルＣＨ３から出力される。このチャンネルＣＨ３には、乱数生成範囲の設定（ステップＳ３０５３ａ）において０〜９９９の乱数生成範囲が設定されており、普図低確率状態の普図当選乱数の取り得る範囲は０〜９９９になる。したがって、普図低確率状態における普図当選確率は１／１００になる。
【０６８７】
本実施形態では、普図当選乱数の取り得る範囲（乱数生成範囲）を、デフォルトの０〜６５５３５から０〜９９９に制限することで大当り確率を、きりのよい１／１００にすることができる。また、普図当選データを、普図高確率状態と普図低確率状態で同じ値にすることができる。乱数生成範囲を制限せずに確率を決定することは開発工数の増大を招くとともに誤った確率設計の原因となってしまう場合がある。特に、一の契機に基づいて複数回の抽選を行う場合に煩雑さはより顕著になってしまう。よって、乱数生成範囲を制限することは開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。また、普図当選データを、普図高確率状態と普図低確率状態で共通化することも、開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。
【０６８８】
普図抽選に当選した場合にはＲＡＭ３０８に設けた当りフラグをオンに設定する。ハズレ（不当選）の場合には、当りフラグをオフに設定する。また、普図抽選の結果に関わらず、図４に示すカウンタ回路３１２から普図変動時間決定用乱数を取得し、取得した普図変動時間決定用乱数に基づいて複数の変動時間のうちから普図表示装置２１０に普図を変動表示する時間を１つ選択し、この変動表示時間を、普図変動表示時間として、ＲＡＭ３０８に設けた普図変動時間記憶領域に記憶する。普図変動時間決定用乱数値を用いた抽選で複数の変動時間のうちから普図変動時間を１つ選択する主制御部３００のＣＰＵ３０４が、抽選手段の一例に相当する。ここで、普図変動時間の抽選処理は、普図の当りか否かを抽選する当否判定とは異なる。なお、保留している普図変動遊技の数は、ＲＡＭ３０８に設けた普図保留数記憶領域に記憶するようにしており、ステップＳ３２２３ｅを実行するたびに、保留している普図変動遊技の数から１を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また、カウンタ回路３１２からの普図変動時間決定用乱数の取得は、普図始動口２２８への入賞時に行ってもよい。
【０６８９】
ステップＳ３２２３ｅでは、上述の乱数記憶領域から、先の普図抽選に使用した普図当選乱数を消去し、この普図関連抽選処理は終了になる。続いて、特図先読み処理（ステップＳ３２２５）が実行される。この先読み処理では、まず、ＲＡＭ３０８に設けられた特図１の保留記憶部内の特図１当選乱数を先読みするか、あるいは特図２の保留記憶部内の特図２当選乱数を先読みする。なお、ここでの先読みとは始動情報を当否判定（本抽選）の前に先に読むことを意味するが、以降の先読み処理では、先読みという言葉を、先（当否判定（本抽選）の結果）を読むという意味で使用することがある。このステップＳ３２２５では、後述する特図関連処理（ステップＳ３２２９）で用いる図９４（ａ）に示す特図抽選テーブルの内容と同じ内容の事前判定用テーブルを用い、先読みした特図当選乱数に基づく当否判定の事前判定を行う。なお、特図関連処理では、特図抽選テーブルを用いて特図変動遊技の当否判定を改めて行い、ここでの判定結果は、あくまで事前判定の結果になる。当否判定の事前判定では、「大当り」という結果か、あるいは「大当り」以外という結果が導出され、「大当り」という結果の場合には、ＲＡＭ３０８に設けられた特図１の保留記憶部内の大当り用特図１乱数を先読みするか、あるいは特図２の保留記憶部内の大当り用特図２乱数を先読みする。続いて、ステップＳ３２２９の特図関連処理で用いる図９４（ｂ）に示す停止図柄抽選テーブルの内容と同じ内容の事前判定用テーブルを用い、先読みした大当り用特図乱数に基づく特図の停止図柄の事前判定を行う。
【０６９０】
なお、特図関連処理では、停止図柄抽選テーブルを用いて特図の停止図柄の抽選を改めて行い、ここでの判定結果は、あくまで事前判定の結果になる。こうして、特図の停止図柄を事前判定すると、先読み予告の実行可否抽選を行う。この先読み予告は、特図関連抽選処理（ステップＳ３２２９）が実行される前、すなわち当否判定が行われる前に、当該特図関連抽選処理で行われる当否判定の結果が大当り（ここではより限定して１５Ｒの大当り（１５Ｒ特別大当りか１５Ｒ大当り））になることを予告するための報知である。ここでの先読み予告には、停止図柄の事前判定結果が１５Ｒの大当り図柄（特図Ａまたは特図Ｂ）でなくても、１５Ｒの大当りになるかのように偽りで予告する偽の先読み予告も含まれる。すなわち、先読み予告は、当否判定の結果が１５Ｒ大当りになる可能性があることを表したり、遊技者に示唆する事前報知、あるいは当否判定の結果が１５Ｒ大当りになることを遊技者に期待させる事前報知であるといえる。先読み予告の実行可否抽選を行うタイミングで、ＲＡＭ３０８に設けられた演出乱数カウンタから演出乱数（例えば、取り得る範囲は０〜９９）を取得し、取得した演出乱数に基づいて実行可否抽選を行う。なお、停止図柄の事前判定結果を第１副制御部４００に送信し、この実行可否抽選は、第１副制御部４００が行うようにしてもよい。
【０６９１】
次に、特図１および特図２それぞれについての特図状態更新処理（ステップＳ３２２７）を行うが、最初に、特図２についての特図状態更新処理を行い、次いで、特図１についての特図状態更新処理を行う。特図２状態更新処理は、特図２の状態に応じて、次の８つの処理のうちの１つの処理を行う。例えば、特図２変動表示の途中（上述の特図２表示図柄更新タイマの値が１以上）における特図２状態更新処理では、第２特別図柄表示装置２１４を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、第２特別図柄表示装置２１４は特図２の変動表示（特図２変動遊技）を行う。また、コマンド設定送信処理（ステップＳ３２３１）で一般コマンド回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。
【０６９２】
また、主制御部３００のＲＡＭ３０８には、１５Ｒ大当りフラグ、２Ｒ大当りフラグ、第１小当りフラグ、第２小当りフラグ、第１ハズレフラグ、第２ハズレフラグ、確変フラグ、および時短フラグそれぞれのフラグが用意されている。特図２変動表示時間が経過したタイミング（特図２表示図柄更新タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、後述する特図関連抽選処理における特図決定結果（特図の停止図柄態様）に基づいて第２特図表示装置２１４を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、ＲＡＭ３０８の設定領域に特図２停止表示中であることを表す設定を行う。この制御を行うことで、第２特別図柄表示装置２１４は、１５Ｒ特別大当り図柄（特図Ａ）、１５Ｒ大当り図柄（特図Ｂ）、２Ｒ特別大当り図柄（特図Ｃ）、突然時短図柄（特図Ｄ）、隠れ確変図柄（特図Ｅ）、突然通常図柄（特図Ｆ）、第１小当り図柄（特図Ｇ）、第２小当り図柄（特図Ｈ）、第１ハズレ図柄（特図Ｉ）、および第２ハズレ図柄（特図Ｊ）のいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間（例えば５００ｍ秒間）その表示を維持するためにＲＡＭ３０８に設けた特図２停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図２が所定期間停止表示され、特図２変動遊技の結果が遊技者に報知される。また、ＲＡＭ３０８に設けられた電サポ回数記憶部に値がセットされている場合には、その値が１以上であれば、その時短回数から１を減算し、減算結果が１から０となった場合は、特図確率変動中でなければ、時短フラグをオフする。さらに、大当り遊技中や小当り遊技中にも、時短フラグをオフする。すなわち、主制御部３００のＣＰＵ３０４は、大当り遊技状態中および小当り遊技状態中（第二の制御状態中）である場合に、非電サポ状態（第一の進入率制御状態）に移行させる。
【０６９３】
また、後述するコマンド設定送信処理（ステップＳ３２３１）で一般コマンド回転停止設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶するとともに、変動表示を停止する図柄が特図２であることを示す特図２識別情報を、後述するコマンドデータに含める情報としてＲＡＭ３０８に追加記憶してから処理を終了する。
【０６９４】
また、特図２変動遊技の結果が大当りであれば、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング（特図２停止時間管理用タイマの値が１から０になったタイミング）における特図２状態更新処理では、ＲＡＭ３０８の設定領域に特図２作動中を設定するとともに、所定の入賞演出期間（例えば３秒間）すなわち装飾図柄表示装置２０８による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにＲＡＭ３０８に設けた特図２待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ３２３１）で一般コマンド入賞演出設定送信処理を実行させるために上述の送信情報記憶領域に５Ｈを送信情報（コマンド種別）として追加記憶する。
【０６９５】
また、所定の入賞演出期間が終了したタイミング（特図２待機時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、所定の開放期間（例えば２９秒間、または可変入賞口２３４に所定球数（例えば１０球）の遊技球の入賞を検出するまで）可変入賞口２３４の扉部材２３４１の開閉駆動用のソレノイド（３３２）に、扉部材２３４１を開放状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ３２３１）で一般コマンド大入賞口開放設定送信処理を実行させるために上述の送信情報記憶領域に７Ｈを送信情報（コマンド種別）として追加記憶する。
【０６９６】
また、所定の開放期間が終了したタイミング（扉開放時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、所定の閉鎖期間（例えば１．５秒間）可変入賞口２３４の扉部材２３４１の開閉駆動用のソレノイド（３３２）に、扉部材２３４１を閉鎖状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ３２３１）で大入賞口閉鎖設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【０６９７】
また、この扉部材の開放・閉鎖制御を所定回数（本実施例では１５ラウンドか２ラウンド）繰り返し、終了したタイミングで開始する特図２状態更新処理では、所定の終了演出期間（例えば３秒間）すなわち装飾図柄表示装置２０８による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにＲＡＭ３０８に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。
【０６９８】
以上説明したように、主制御部３００のＣＰＵ３０４は、大当り遊技状態中に、可変入賞口２３４の扉部材２３４１の開閉状態の変化制御を行う可変入賞制御手段の一例に相当する。なお、主制御部３００のＲＯＭ３０６には、可変入賞口２３４の扉部材２３４１の開閉パターンが記憶されており、主制御部３００のＣＰＵ３０４は、そのＲＯＭ３０６から、特図変動遊技の当否判定に応じた開閉パターンを取得する。
【０６９９】
また、主制御部３００のＣＰＵ３０４は、特図決定結果が表す停止図柄態様に基づいて、大当り遊技の終了と同時に、ＲＡＭ３０８に設けられた確変フラグや時短フラグをオンに設定する。すなわち、主制御部３００のＣＰＵ３０４は、後述する特図抽選処理で特図決定結果が「特図Ａ」や「特図Ｃ」である場合には確変フラグと時短フラグの双方をオンに設定する。また、特図決定結果が「特図Ｅ」である場合には確変フラグと時短フラグのうち確変フラグのみをオンに設定する。さらに、特図決定結果が「特図Ｂ」や「特図Ｄ」である場合には確変フラグと時短フラグのうち時短フラグのみをオンに設定するとともにＲＡＭ３０８に設けられた電サポ回数記憶部に電サポ回数１００回をセットする。確変フラグがオンに設定されていると、特図高確率状態（確率変動中）であり、大当り遊技終了後に大当りに当選する確率が高くなっている状態（特図高確率状態）である。一方、確変フラグがオンに設定されていない（オフに設定されている）と、特図低確率状態である。したがって、確変フラグの設定状態は、当否判定（特図の抽選）の結果に影響を与える。また、時短フラグがオンに設定されていると電サポ状態であり、電チューが開きやすい（例えば当りやすい）、一回の当りに基づく開放時間が長い、一回の当りに基づく開放回数が多いなど可変始動領域制御が遊技者に有利になるように行われる。反対に、時短フラグがオフに設定されていると非電サポ状態であり、可変始動領域制御が遊技者に不利になるように行われる。したがって、時短フラグの設定状態は、可変始動領域制御にも影響を与える。よって、確変フラグおよび／または時短フラグの設定状態を表す情報は、遊技制御情報の一例に相当し、主制御部３００のＣＰＵ３０４は遊技制御情報決定手段の一例に相当する。
【０７００】
さらに、コマンド設定送信処理（ステップＳ３２３１）で一般コマンド終了演出設定送信処理を実行させるために上述の送信情報記憶領域に６Ｈを送信情報（コマンド種別）として追加記憶する。
【０７０１】
また、所定の終了演出期間が終了したタイミング（演出待機時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、ＲＡＭ３０８の設定領域に特図２非作動中を設定する。さらに、特図２変動遊技の結果がハズレであれば、ハズレフラグがオンされる。このハズレフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング（特図２停止時間管理用タイマの値が１から０になったタイミング）における特図２状態更新処理でも、ＲＡＭ３０８の設定領域に特図２非作動中を設定する。特図２非作動中の場合における特図２状態更新処理では、何もせずに次の処理に移行するようにしている。
【０７０２】
特図２状態更新処理が終了すると、特図１状態更新処理を行う。この特図１状態更新処理では、特図１の状態に応じて、上述の特図２状態更新処理で説明した各処理を行う。この特図１状態更新処理で行う各処理は、上述の特図２状態更新処理で説明した内容の「特図２」を「特図１」と読み替えた処理と同一であるため、その説明は省略する。なお、特図２状態更新処理と特図１状態更新処理の順番は逆でもよい。
【０７０３】
ステップＳ３２２７における特図状態更新処理が終了すると、今度は、特図１および特図２それぞれについての特図関連抽選処理を行う。この特図関連抽選処理を実行する主制御部３００のＣＰＵ３０４が当否判定手段の一例に相当する。主制御部３００は、最初に特図２についての処理（特図２関連抽選処理）を行い、その後、特図１についての処理（特図１関連抽選処理）を行う。このように、主制御部３００が特図２関連抽選処理を特図１関連抽選処理よりも先に行うことで、同じタイミングで、第１特図始動口２３０に遊技球が進入したことに基づいて始動情報を取得し、かつ第２特図始動口２３２に遊技球が進入したことに基づいて始動情報を取得した場合や、特図２変動遊技の開始条件と、特図１変動遊技の開始条件が同時に成立した場合や、特図２変動遊技の開始条件と特図１変動遊技の開始条件の両方が成立している場合でも、特図２変動遊技が先に変動中となるため、特図１変動遊技は変動を開始しない。すなわち、本実施形態のパチンコ機１００は、特図２優先変動を行うものであり、第２特図始動口２３２への入賞に基づく抽選（特図２の当否判定）を、第１特図始動口２３０への入賞に基づく抽選（特図１の当否判定）よりも優先して行う。言い換えれば、本実施形態のパチンコ機１００では、第１の特別始動領域に遊技球が進入した場合に第１の乱数記憶領域に乱数を最大保留数まで格納し、第２の特別始動領域に遊技球が入賞した場合に第２の乱数記憶領域に乱数を最大保留数まで格納する入賞記憶部と、前記第１の乱数記憶領域および前記第２の乱数記憶領域の両方に乱数が記憶されている場合に、前記第１の乱数記憶領域に前記乱数が記憶された時期および前記第２の乱数記憶領域に前記乱数が記憶された時期とは無関係に該第２の乱数記憶領域に記憶されている乱数に基づいて当否判定を行うとともに、前記第１の乱数記憶領域に乱数が記憶されておらず、かつ前記第２の乱数記憶領域に乱数が記憶されている場合には、該第２の乱数記憶領域に記憶されている乱数に基づいて当否判定を行い、前記第２の乱数記憶領域に乱数が記憶されておらず、かつ前記第１の乱数記憶領域に乱数が記憶されている場合には、該第１の乱数記憶領域に記憶されている乱数に基づいて当否判定を行う当否判定手段を備えている。また、第１特図表示装置２１２あるいは第２特図表示装置２１４による特図変動遊技の大当り判定の結果の報知は、主制御部３００で行われ、第２特図始動口２３２への入賞に基づく当否判定の結果報知が、第１特図始動口２３０への入賞に基づく当否判定の結果報知よりも優先して行われ、当否判定が行われていない始動情報として、特図１の始動情報と特図２の始動情報のうちの特図１の始動情報のみが残っている状態で、特図２の始動情報が新たに記憶された場合には、新たに記憶された特図２の始動情報に基づく当否判定の結果の報知が、既に記憶されていた特図１の始動情報に基づく当否判定の結果の報知よりも先に行われる。また、始動情報を取得する始動情報取得手段は、第１の始動情報記憶手段および第２の始動情報記憶手段のうちの両方に始動情報が記憶されている場合には、該第２の始動情報記憶手段から始動情報を取得し、該第１の始動情報記憶手段および該第２の始動情報記憶手段のうちの一方に始動情報が記憶されている場合には、始動情報が記憶されている始動情報記憶手段から始動情報を取得するものである。なお、特図２状態更新処理に続いて先に特図２関連抽選処理を行い、それから、特図１状態更新処理を行い、その後、特図１関連抽選処理を行うようにしてもよい。
【０７０４】
図９３は、特図関連抽選処理の流れを示すフローチャートである。この図９３に示す特図関連抽選処理では、特図１と特図２を区別しないで示しているが、先に特図２についてステップＳ３２２９ａ〜ステップＳ３２２９ｆまでの処理を行い、その後、特図１についてステップＳ３２２９ａ〜ステップＳ３２２９ｆまでの処理を行う。ここでは、特図２と特図１を区別しないで説明する。
【０７０５】
図９３に示す特図関連抽選処理では、まず、特図保留情報があるか否かを判定する（ステップＳ３２２９ａ）。ここにい特図保留情報とは、特図の保留数を指す。すなわち、ここでは、保留している特図変動遊技の数が１以上であるか否かを判定する。なお、特図の保留数をデータとして持っていなくとも、例えば、保留に対応した乱数（特図当選乱数）を特図保留情報として認識するようにしても良い。特図保留情報がなければ、この特図関連抽選処理は終了になり、特図保留情報があればステップＳ３２２９ｂに進む。ステップＳ３２２９ｂでは、特図表示装置（２１２，２１４）が特図変動表示中であるか、または停止表示中であるか否かを判定し、いずれかの表示中である場合には、この特図関連抽選処理は終了になり、いずれの表示中でもない場合には、ステップＳ３２２９ｃに進む。ステップＳ３２２９ｃでは、特図作動中であるか否かを判定し、特図作動中であれば、この特図関連抽選処理は終了になり、特図非作動中であれば、ステップＳ３２２９ｄに進む。
【０７０６】
ステップＳ３２２９ｄでは特図抽選処理を行う。ここではまず、ＲＡＭ３０８に設けられた特図の保留記憶部から、最も過去に格納した始動情報である１セット分の乱数（特図当選乱数、大当り用特図乱数、小当り用特図乱数、ハズレ用特図乱数、および特図変動時間決定用乱数）を取り出し、その保留記憶部にまだ格納されている始動情報（乱数のセット）を、今記憶されている領域から隣の領域に移し替える。すなわち、最も過去に格納した始動情報を特図の保留記憶部から取り出し、さらに特図の保留記憶部に始動情報が格納されていれば、Ｎ番目に古い始動情報を特図２の保留記憶部におけるＮ−１番目に古い始動情報として設定したことになる。また、ＲＡＭ３０８に記憶している保留数を１減算する。ＲＡＭ３０８の特図の保留記憶部から１セット分の乱数（特図当選乱数、大当り用特図乱数、小当り用特図乱数、ハズレ用特図乱数、および特図変動時間決定用乱数）を取り出す処理を行う主制御部３００のＣＰＵ３０４が、始動情報取得手段の一例に相当する。
【０７０７】
図９４（ａ）は特図抽選テーブルを示す図である。このテーブルは、主制御部３００のＲＯＭ３０６に記憶されている。
【０７０８】
主制御部３００のＣＰＵ３０４は、ＲＡＭ３０８の保留記憶部から始動情報を取り出すと、確変フラグを参照し、確変フラグがオンであれば確率変動中（特図高確率状態）であるため、取得した特図当選乱数から確率変動中の特図大当り当選データを引き、キャリーが発生した場合（特図当選乱数よりも特図当選データの値が大きい場合）は特図大当りに当選とし、キャリーが発生しなかった場合は特図大当りには不当選になる。すなわち、特図大当り当選乱数範囲は０〜１２４になる。確率変動中では、特図当選乱数の元になる乱数は、図７７に示す乱数生成回路３１８のチャンネルＣＨ２から出力される。このチャンネルＣＨ２には、図９０に示す乱数生成回路初期設定処理における乱数生成範囲の設定（ステップＳ３０５３ａ）において０〜４９９９の乱数生成範囲が設定されており、確率変動中の特図当選乱数の取り得る範囲は０〜４９９９になる。したがって、確率変動中における特図大当りの当選確率は１／４０になる。
【０７０９】
一方、確変フラグがオフであれば非確率変動中（特図低確率状態）であるため、取得した特図当選乱数から、確率変動中のデータと同じ非確率変動中の特図大当り当選データを引き、キャリーが発生した場合（特図当選乱数よりも特図当選データの値が大きい場合）は特図大当りに当選とし、キャリーが発生しなかった場合は特図大当りには不当選になる。すなわち、非確率変動中でも特図大当り当選乱数範囲は０〜１２４になる。非確率変動中では、特図当選乱数の元になる乱数は、図７７に示す乱数生成回路３１８のチャンネルＣＨ１から出力される。このチャンネルＣＨ１には、乱数生成範囲の設定（ステップＳ３０５３ａ）において０〜４９９９９の乱数生成範囲が設定されており、非確率変動中の特図当選乱数の取り得る範囲は０〜４９９９９になる。したがって、非確率変動中における特図大当りの当選確率は１／４００になる。
【０７１０】
本実施形態では、特図当選乱数の取り得る範囲（乱数生成範囲）を、デフォルトの０〜６５５３５から０〜４９９９９に制限することで大当り確率を、きりのよい１／４００にすることができる。また、特図大当り当選データを、確率変動中と非確率変動中で同じ値にすることができる。乱数生成範囲を制限せずに確率を決定することは開発工数の増大を招くとともに誤った確率設計の原因となってしまう場合がある。特に、一の契機に基づいて複数回の抽選を行う場合に煩雑さはより顕著になってしまう。よって、乱数生成範囲を制限することは開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。また、特図大当り当選データを、確率変動中と非確率変動中で共通化することも、開発工数を削減するとともに、抽選処理の安定化を図ることができるといえる。
【０７１１】
図９４（ａ）では、特図大当りの抽選テーブルしか示していないが、特図小当りの当選データとして所定の値が用意されている。主制御部３００のＣＰＵ３０４は、取得した特図当選乱数から特図大当り当選データを引き、キャリーが発生しなかった場合（特図当選乱数よりも特図当選データの値が小さい場合）には、今度は、特図大当り当選データを引いた値から特図小当り当選データを引き、ここでキャリーが発生した場合（特図当選乱数よりも特図小当り当選データの値が大きい場合）は特図小当りに当選とし、ここでもキャリーが発生しなかった場合はハズレになる。なお、ハズレの当選データを別途設けておいてもよい。こうして、特図の「大当り」、「小当り」、「ハズレ」が判定され、判定結果を特図当否判定結果として得る。なお、保留している特図変動遊技の数は、ＲＡＭ３０８に設けた特図保留数記憶領域に記憶するようにしており、ステップＳ３２２９ｄを実行するたびに、保留している特図変動遊技の数から１を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。
【０７１２】
次いで、図９３に示す特図関連抽選処理では、特図当否判定結果に基づいて特図の停止図柄をソフトウェア乱数を用いて抽選する（ステップＳ３２２９ｅ）。図９４（ｂ）は、停止図柄抽選テーブルを示す図である。このテーブルも、主制御部３００のＲＯＭ３０６に記憶されている。この停止図柄抽選テーブルは、当否判定結果ごとに特図の停止図柄態様（図５（ａ）参照）に対応した図柄当選データが規定されている。また、同図（ｂ）には、当選確率も示されている。
【０７１３】
主制御部３００のＣＰＵ３０４は、当否判定結果が大当りの場合であれば、ＲＡＭ３０８の保留記憶部から先に取得した１セット分の乱数のうちの大当り用特図乱数（取り得る数値範囲は０〜９９）から特図Ａ、特図Ｂ、・・・特図Ｆの順序で各停止図柄に対応した図柄当選データを徐々に減算し、キャリーが発生した場合の停止図柄を特図決定結果とする。また、当否判定結果が小当りの場合であれば、ＲＡＭ３０８の保留記憶部から先に取得した１セット分の乱数のうちの小当り用特図乱数（取り得る数値範囲は０〜９９）から特図Ｇの図柄当選データを引き、キャリーが発生した場合は「特図Ｇ」に当選とし、キャリーが発生しなかった場合には、特図Ｇの図柄当選データを引いた値からさらに特図Ｈの図柄当選データを引き、ここではキャリーが発生するため「特図Ｈ」に当選とする。なお、特図Ｈの図柄当選データを引く前に、「特図Ｈ」に当選したと判定してもよい。このようにして、当否判定結果が小当りの場合には、特図決定結果として「特図Ｇ」または「特図Ｈ」を決定する。さらに、当否判定結果がハズレの場合であれば、ＲＡＭ３０８の保留記憶部から先に取得した１セット分の乱数のうちのハズレ用特図乱数（取り得る数値範囲は０〜９９）から特図Ｉの図柄当選データを引き、キャリーが発生した場合は「特図Ｉ」に当選とし、キャリーが発生しなかった場合には、特図Ｉの図柄当選データを引いた値からさらに特図Ｊの図柄当選データを引き、ここではキャリーが発生するため「特図Ｊ」に当選とする。なおここでも、特図Ｊの図柄当選データを引く前に、「特図Ｊ」に当選したと判定してもよい。このようにして、当否判定結果がハズレの場合には、特図決定結果として「特図Ｉ」または「特図Ｊ」を決定する。なお、第１副制御部４００では、ここで決定された特図決定結果に応じた装飾図柄の組合せである停止図柄態様を決定する。
【０７１４】
また、ＲＡＭ３０８の保留記憶部から先に取得した１セット分の乱数のうちの特図変動時間決定用乱数（取り得る数値範囲は０〜２５５）を取得し、取得した特図変動時間決定用乱数を用いた抽選で、、特図決定結果に基づいて、複数の変動時間のうちから特図表示装置（２１２，２１４）に特図を変動表示する時間（特図変動時間）を１つ選択する。なお、第１副制御部４００では、ここで決定された特図変動時間に応じた装飾図柄表示装置２０８の演出態様を決定する。特図変動時間決定用乱数値を用いた抽選で複数の変動時間のうちから特図変動時間を１つ選択する主制御部３００のＣＰＵ３０４も、抽選手段の一例に相当する。ここで、特図変動時間の抽選処理は、特図の大当りか否かを抽選する当否判定とは異なり、特図の図柄を決定する抽選とも異なる、演出に関する抽選処理に相当する。すなわち、制御状態の変更とは無関係であって、賞球の払出にも無関係な抽選処理である。
【０７１５】
ステップＳ３２２９ｆでは、ＲＡＭ３０８の保留記憶部から先に取得した１セット分の乱数を消去し、この特図関連抽選処理は終了になる。ステップＳ３２２９の特図関連抽選処理に続いて行われるステップＳ３２３１では、コマンド設定送信処理を行い、各種のコマンドが第１副制御部４００に送信される。なお、第１副制御部４００に送信する出力予定情報は本実施形態では１６ビットで構成しており、ビット１５はストローブ情報（オンの場合、データをセットしていることを示す）、ビット１１〜１４はコマンド種別（本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、当りラウンド数指定コマンド、復電コマンド、ＲＡＭクリアコマンド、特図保留増加コマンド、普図保留増加コマンドなどコマンドの種類を特定可能な情報）、ビット０〜１０はコマンドデータ（コマンド種別に対応する所定の情報）で構成している。
【０７１６】
具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、特図停止図柄を表す情報、制御状態を表す情報（時短フラグおよび確変フラグの設定状態を表す情報）、特図変動時間を表す情報などを示す情報を含み、図柄変動停止コマンドの場合であれば、特図停止図柄を表す情報（特図決定結果）、制御状態を表す情報などを含み、入賞演出開始コマンドおよび終了演出開始コマンドの場合であれば、制御状態を表す情報などを含み、当りラウンド数指定コマンドの場合であれば制御状態を表す情報、当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第１特図始動口２３０への入賞の有無、第２特図始動口２３２への入賞の有無、可変入賞口２３４への入賞の有無などを含む。
【０７１７】
また、上述の一般コマンド回転開始設定送信処理では、コマンドデータにＲＡＭ３０８に記憶している、特図停止図柄を表す情報（特図決定結果）、制御状態を表す情報、特図変動時間を表す情報、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。
【０７１８】
上述の一般コマンド回転停止設定送信処理では、コマンドデータにＲＡＭ３０８に記憶している、特図停止図柄を表す情報（特図決定結果）、制御状態を表す情報などを示す情報を設定する。上述の一般コマンド入賞演出開始設定送信処理では、コマンドデータに、ＲＡＭ３０８に記憶している、入賞演出期間中に装飾図柄表示装置２０８・各種ランプ４１８・スピーカ１２０に出力する演出制御情報、制御状態を表す情報、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。入演出開始コマンドを受信した第１副制御部４００は、その入演出開始コマンドに基づいて第２副制御部５００に入賞演出制御コマンドを送信する。入賞演出制御コマンドを受信した第２副制御部５００は、装飾図柄表示装置２０８に、大当り遊技が開始されることを遊技者に報知する画像を所定のオープニング演出期間（例えば３秒間）表示させ、大当り遊技が開始する。
【０７１９】
上述の一般コマンド終了演出開始設定送信処理では、コマンドデータに、ＲＡＭ３０８に記憶している、演出待機期間中に装飾図柄表示装置２０８・各種ランプ４１８・スピーカ１２０に出力する演出制御情報、制御状態を表す情報、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。終了演出開始コマンドを受信した第１副制御部４００は、その終了演出開始コマンドに基づいて第２副制御部５００に終了演出制御コマンドを送信する。終了演出制御コマンドを受信した第２副制御部５００は、装飾図柄表示装置２０８に大当りを終了することを遊技者に報知する画像を所定の終了演出期間（例えば３秒間）表示させ、大当り遊技が終了する。
【０７２０】
上述の一般コマンド大入賞口開放設定送信処理では、コマンドデータに、ＲＡＭ３０８に記憶している当りラウンド数、現在のラウンド数、制御状態を表す情報などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンドデータに、ＲＡＭ３０８に記憶している現在のラウンド数、制御状態を表す情報、保留している第１特図変動遊技または第２特図変動遊技の数などを示す情報を設定する。
【０７２１】
また、このステップＳ３２３１では一般コマンド特図保留増加処理も行われる。この一般コマンド特図保留増加処理では、特図保留増加コマンドのコマンドデータにＲＡＭ３０８の送信用情報記憶領域に記憶している特図識別情報（特図１または特図２を示す情報）、制御状態を表す情報、事前判定した特図１あるいは特図２の情報を設定する。
【０７２２】
さらに、このステップＳ３２３１では一般コマンド普図保留増加処理も行われる。この一般コマンド普図保留増加処理では、普図保留増加コマンドのコマンドデータに、制御状態を表す情報等を設定する。また、主制御部３００から第１副制御部４００には、普図絡みのコマンドとして、普図の変動表示が開始した（する）ことを表す普図変動開始コマンドも送信される。なお、主制御部３００から第１副制御部４００には、普図の変動表示が停止した（する）ことを表す普図変動停止コマンドや、一対の羽根部材２３２１が開放を開始した（する）ことを表す電チュー開放開始コマンドや、一対の羽根部材２３２１が閉鎖した（する）ことを表す電チュー閉鎖コマンドを送信するようにしてもよい。
【０７２３】
第１副制御部４００では、受信した出力予定情報に含まれるコマンド種別により、主制御部３００における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。また、第１副制御部４００では、コマンドに含まれている当りラウンド数と現在のラウンド数に基づき、当り全ラウンドが終了するまでの残りラウンド数を取得する。
【０７２４】
また、このコマンド設定送信処理では、図４に示す払出制御部６００にもコマンドを送信する。払出制御部６００に出力する出力予定情報および払出要求情報は１バイトで構成しており、ビット７にストローブ情報（オンの場合、データをセットしていることを示す）、ビット６に電源投入情報（オンの場合、電源投入後一回目のコマンド送信であることを示す）、ビット４〜５に暗号化のための今回加工種別（０〜３）、およびビット０〜３に暗号化加工後の払出要求数を示すようにしている。
【０７２５】
次に、図９１に示す主制御部タイマ割込処理では、外部出力信号設定処理（ステップＳ３２３３）を行う。この外部出力信号設定処理では、ＲＡＭ３０８に記憶している遊技情報を、情報出力回路３３６を介してパチンコ機１００とは別体の情報入力回路３５０に出力する。ステップＳ３２３５では、デバイス監視処理を行う。
【０７２６】
図９５は、デバイス監視処理の流れを示すフローチャートである。まず、ステップＳ３２３５ａでは、内部情報レジスタ３１０１の情報を取得する。なお、このステップＳ３２３５ａはタイマ割込み毎に実行されるため、内部情報レジスタ３１０１の情報はタイマ割込み毎に取得されることになる。
【０７２７】
ステップＳ３２３５ｂでは、ステップＳ３２３５ａで取得した情報に基づいて、乱数生成回路３１８に異常があるか否かを判定する。なお、ここでの乱数生成回路の異常とは、周波数監視回路３１８２の異常および乱数監視回路３１８４の異常の双方を指す。ここで、異常があると判定された場合にはステップＳ３２３５ｃに進み、異常があると判定されなかった場合にはステップＳ３２３５ｅに進む。
【０７２８】
ステップＳ３２３５ｃでは、乱数生成回路異常フラグをオンに設定する。なお、このフラグはＲＡＭ３０８内に記憶されている。より具体的には、周波数監視回路３１８２の異常を示すフラグおよび乱数監視回路３１８４の異常を示すフラグがある。以下では、これらのフラグを総称して乱数生成回路異常フラグと称する場合がある。
【０７２９】
続いて実行されるステップＳ３２３５ｄでは、乱数生成回路異常フラグ設定コマンドの送信準備が実行され、ステップＳ３２３５ｅに進む。なお、この乱数生成回路異常フラグ設定コマンドは、周波数監視回路３１８２の異常か、乱数監視回路３１８４の異常か識別可能な情報を含むコマンドである。
【０７３０】
ステップＳ３２３５ｅでは、その他デバイス監視処理が実行される。例えば、上述のステップＳ３２０５において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無または下皿満タンエラーの有無などを監視し、ガラス枠開放エラーまたは下皿満タンエラーを検出した場合に、第１副制御部４００に送信すべき送信情報に、ガラス枠開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、図４に示す各種ソレノイド３３２を駆動して第２特図始動口２３２や、可変入賞口２３４の開閉を制御したり、駆動回路３２４、３２６、３３０を介して普通図柄表示装置２１０、第１特図表示装置２１２、第２特図表示装置２１４、各種状態表示部３２８などに出力する表示データを、Ｉ／Ｏ３１０の出力ポートに設定する。また、払出要求数送信処理（ステップＳ３２１９）で設定した出力予定情報をＩ／Ｏ３１０の出力ポートを介して第１副制御部４００に出力する。これらの処理が終了すると、このステップＳ３２３５のデバイス監視処理は終了になる。
【０７３１】
続いて実行されるステップＳ３２３７では、電源の遮断（電断）を検出したか否かを判定するために、低電圧信号がオンであるか否かを判定する。そして、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ３２３９に進み、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ３２４１に進む。
【０７３２】
ステップＳ３２３９では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップＳ３２０１で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行い、その後、図８８に示す主制御部メイン処理に復帰する。一方、ステップＳ３２４１では、復電時に電断時の状態に復帰するための電断時処理を行う。なお、本実施形態では、電源の遮断を判定する処理（ステップＳ３２３７）および電断処理（ステップＳ３２４１）を主制御部の割込み制御において実行しているが、必ずしも主制御部の割込み制御で行う必要はなく、低電圧信号の入力に基づいて強制割込みを発生させ、この強制割込みによって電断処理が実行されるように構成してもよい。ただし、このように強制割込みによって実行される電断処理では、本実施形態における電断処理（ステップＳ３２４１）の処理に加え、上述したタイマ割込み開始処理（Ｓ３２０１）において実行されるＣＰＵ３０４の各レジスタの値をスタック領域に一時的に退避する処理も同時に実行する必要がある。
【０７３３】
図１３０は、主制御部における電断時処理の流れを示すフローチャートである。
この電断時処理では、まず、スタックポインタを復帰データとしてＲＡＭ３０８の所定の領域に退避し（ステップＳ３４３１）、次いで、ＲＡＭ３０８に設けた電源ステータス記憶領域に記憶した電源ステータスをサスペンドを示す情報に更新する（ステップＳ３４３２）。続いて、ＲＡＭ３０８の所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果をＲＡＭ３０８に設定する（ステップＳ３４３３）。最後に、ＲＡＭ３０８へのアクセスを禁止に設定し（ステップＳ３４３４）、この電断時処理は終了になり、やがてパチンコ機１００は電断する。なお、電圧が完全に低下する前に復帰した場合には、図７５に示すリセット制御回路３１４内に設けられたＷＤＴ３１４１がタイムアウトすることによってリセット制御回路３１４によりリセットがかかり設定されたリセット動作（ここではシステムリセット）が実行される。
以上説明した主制御部タイマ割込み処理も、主処理の一例に相当する。
【０７３４】
続いて、図９１に示す入賞受付処理（ステップＳ３２１７）のうち、特図当選乱数および普図当選乱数を取得する処理について説明する。図９６は、ステップＳ３２１７における入賞受付処理のうち、特図当選乱数および普図当選乱数を取得する処理の流れを示した図である。
【０７３５】
ステップＳ３２１７ａでは、乱数生成回路異常フラグがオンに設定されているか否かを判定する。このフラグは、図９５のステップＳ３２３５ｃで設定されるフラグであり、乱数更新用のクロックの周波数に異常があった場合や、図７７に示す乱数更新回路３１８３で更新される乱数が正常に更新されなかった場合等に、対応するフラグがオンに設定される。このフラグがオンに設定されている場合には、この入賞受付処理は終了になり、異常がなかった場合にはステップＳ３２１７ｂに進む。
【０７３６】
ステップＳ３２１７ｂでは、第１特図始動口２３０に入賞したことを表す特図１の入球信号があり、且つ、保留している特図変動遊技の数が所定数（本実施形態では４）未満であるか否かを判定し、否定的な場合にはステップＳ３２１７ｆへ進み、肯定的な場合にはステップＳ３２１７ｃに進む。ステップＳ３２１７ｃでは、ＲＡＭ３０８に用意された確変フラグを参照し、確率変動中（特図高確率状態）か否かを判定する。確変フラグがオフに設定されていれば、非確率変動中（特図低確率状態）であり、ステップＳ３２１７ｄが実行される。このステップＳ３２１７ｄでは、乱数生成回路３１８のチャンネルＣＨ１の乱数レジスタから乱数を取得する。本実施形態では乱数をラッチする契機となる入球信号とは別に、ＣＰＵに同様の信号が送られ、ＣＰＵはその信号を受信したことに基づいて所定のチャンネル（ここではＣＨ１）における信号に対応する乱数レジスタからラッチされている乱数を取得する。ＣＰＵ３０４は、取得した乱数にＲレジスタの値を加算し、さらに１を加えた値を特図１当選乱数として得、ステップＳ３２１７ｆに進む。なお、ＣＰＵ３０４は、図９０に示すステップＳ３０５３ａにおいて設定された乱数生成範囲を認識しており、その乱数生成範囲に基づいて加算処理を行う。すなわち、加算した値が乱数生成範囲の最大値を超える場合には当該乱数生成範囲の最小値に残りの値を加算する。
【０７３７】
一方、確変フラグがオンに設定されていれば、確率変動中であり、ステップＳ３２１７ｅが実行される。このステップＳ３２１７ｅでは、乱数生成回路３１８のチャンネルＣＨ２の乱数レジスタから乱数を取得し、ステップＳ３２１７ｄと同様に、ＣＰＵ３０４は、取得した乱数にＲレジスタの値を加算し、さらに１を加えた値を特図１当選乱数として得、ステップＳ３２１７ｆに進む。
【０７３８】
ステップＳ３２１７ｆでは、第２特図始動口２３２に入賞したことを表す特図２の入球信号があり、且つ、保留している特図変動遊技の数が所定数（本実施形態では４）未満であるか否かを判定し、否定的な場合にはステップＳ３２１７ｊへ進み、肯定的な場合にはステップＳ３２１７ｇに進む。ステップＳ３２１７ｇでも、ステップＳ３２１７ｃと同様に、ＲＡＭ３０８に用意された確変フラグを参照し、確変フラグがオフに設定されていれば（非確率変動中であれば）、乱数生成回路３１８のチャンネルＣＨ１の乱数レジスタから乱数を取得し、ステップＳ３２１７ｄと同様に、ＣＰＵ３０４は、取得した乱数にＲレジスタの値を加算し、さらに１を加えた値を、ここでは特図２当選乱数として得（ステップＳ３２１７Ｈ）、ステップＳ３２１７ｊに進む。一方、確変フラグがオンに設定されていれば（確率変動中であれば）、乱数生成回路３１８のチャンネルＣＨ２の乱数レジスタから乱数を取得し、同じくステップＳ３２１７ｄと同様に、ＣＰＵ３０４は、取得した乱数にＲレジスタの値を加算し、さらに１を加えた値を特図２当選乱数として得（ステップＳ３２１７ｉ）、ステップＳ３２１７ｊに進む。
【０７３９】
ステップＳ３２１７ｊでは、普図始動口２２８に入賞したことを表す普図の入球信号があり、且つ、保留している普図変動遊技の数が所定数（本実施形態では２）未満であるか否かを判定し、否定的な場合には入賞受付処理は終了になり、肯定的な場合にはステップＳ３２１７ｋに進む。ステップＳ３２１７ｋでは、ＲＡＭ３０８に用意された時短フラグを参照し、時短フラグがオフに設定されていれば、普図低確率状態（非電サポ中）であり、ステップＳ３２１７ｌが実行される。ステップＳ３２１７ｌでは、乱数生成回路３１８のチャンネルＣＨ３の乱数レジスタから普図当選乱数として乱数を取得し、この入賞受付処理は終了になる。一方、時短フラグがオンに設定されていれば、普図高確率状態（電サポ中）であり、ステップＳ３２１７ｍが実行される。ステップＳ３２１７ｍでは、乱数生成回路３１８のチャンネルＣＨ４の乱数レジスタから普図当選乱数として乱数を取得し、入賞受付処理は終了になる。
【０７４０】
ここで、上記説明した内容を踏まえて、遊技台への電圧供給が低下した場合の動作について説明する。例えば大当り中の状態で停電などによって電源が切られた場合、再度電源投入によって遊技台が初期状態になると、遊技者にとって著しく不利益な状態になる。このような事態にならないよう、コンデンサに蓄えられた電力により遊技台の状態を保持する電断時処理（図９１のステップＳ３２４１）が実行される。この電断時処理は、電源が切られた場合の他、静電気などの要因により供給電圧が一時的に低下した場合にも実行される。以下、電源が切られた場合（以下、電源オフと称する）の動作と、供給電圧が一時的に低下した場合（以下、瞬断と称する）の動作について、図９７を用いて説明する。同図（ａ）は、電源オフの場合の動作を示す図であり、（ｂ）は、瞬断の場合の動作を示す図である。
【０７４１】
電源が切られた場合、電圧が供給されなくなる（電断発生）が、すぐに電圧は０にはならず、コンデンサに蓄えられた電力により供給電圧が徐々に降下する。供給電圧が所定の電圧（本実施形態では９Ｖ）まで効果すると電圧監視回路３３８から低電圧信号がＣＰＵ３０４に送信される。この信号を受信したことにより、主制御部タイマ割込み処理のステップＳ３２３７により電断が発生したと判定され、ステップＳ３２４１の電断時処理が実行される。図９７（ａ）には、電断が発生してから供給電圧が９Ｖに降下するまで通常処理が実行され、供給電圧が９Ｖになった時点で電断時処理が開始されていることが示されている。この電断時処理により、ＲＡＭ３０８の内部に遊技台の状態を示すデータが記憶される。なお、本実施形態では、この電断時処理の実行に必要な時間（主制御部電断時処理猶予時間）を十分確保することができるコンデンサが備えられている。その後、電断時処理が終了すると、そのまま待機状態になる。その後電源の供給が再開されない場合、電圧が０に落ちて遊技台の動作が停止する。
【０７４２】
一方、瞬断の場合にも、電圧監視回路３３８から低電圧信号がＣＰＵ３０４に送信されることにより、上記電断時処理が実行された後、そのまま待機状態になる。図９７（ｂ）には、一時的な電圧降下により、電断時処理が開始されていることが示されている。ここで、電圧が動作電圧まで回復しても、待機状態が継続する。この待機状態が継続していると、主制御部３００のリセット制御回路３１４のＷＤＴ３１４１がリスタートされず（図９１のステップＳ３２０３が実行されない）、ＷＤＴ３１４１がタイムアウトする。このことによりリセット制御回路３１４はシステムリセット信号を出力する。その後、図８８に示す主制御部メイン処理が再開すると、電断時処理で記憶されていたデータに基づいてステップＳ３００９のデータ書き戻し処理を含む復帰処理（ステップＳ３００９〜ステップＳ３０１１）が実行される。図９７（ｂ）には、ＷＤＴ３１４１のタイムアウトによるリセット信号が送信されたことにより、待機状態から復帰処理（リセット処理）に移っていることが示されている。この復帰処理により遊技台の状態が電断時処理前の状態に復帰する。なお、ここで、電断時処理で記憶されていたデータに不具合があった場合は、電断時処理前の状態に復帰できないと判定され、ＲＡＭ３０８の内容がクリアされる（図８８のステップＳ３０１３）。
【０７４３】
次に、本実施形態の乱数生成回路３１８により、乱数の生成範囲を設定することの効果について説明し、その後問題点について説明する。上述したように本実施形態の遊技台が有する乱数生成回路３１８では、抽選結果の基になる乱数の生成範囲を設定することができる。この機能を利用して、遊技状態の設定が容易になる。
【０７４４】
まず、乱数生成範囲が０〜６５５３５の場合について説明する。例えば、これらの乱数が当りかハズレのいずれかに対応している場合に、当選確率が１／４００（０．２５％）になるように設計しようとしたとする。生成される乱数は６５５３６通りあるが、６５５３６の１／４００を計算すると１６３．８４となり、整数にならない。仮にこの数字に近い１６４通りの乱数を当りに対応させた場合、厳密には１／４００の当選確率にならない。
【０７４５】
ここで、上記の乱数生成範囲が０〜４９９９９に設定されたとする。上記の場合と同様に当選確率が１／４００（０．２５％）になるようにするには、生成される乱数５００００通りの１／４００、すなわち１２５通りの値を当りに対応させればよい。例えば、５００００通り乱数のうち０〜１２４までの値を当りに対応させ、それ以外の１２５〜４９９９９の値をハズレに対応付けることで、当選確率を１／４００にすることができる。すなわち、当選確率が設計値通り（例えば１／４００）になるように、乱数生成範囲（例えば０〜４９９９９）および当りに対応する乱数の範囲（例えば０〜１２４）をそれぞれ設定することができる。
【０７４６】
以上説明したように、乱数生成範囲を適切に設定することによって、所望の当選確率を設定することができる。これによって、例えば小当りに対応する乱数生成範囲を除外して大当りに対応する乱数生成範囲を残したり、あるいは大当りに対応する乱数生成範囲の半分に該当する乱数が生成されないようにすることも可能である。特に図８２を用いて説明したような乱数生成範囲が設定できれば、最大値だけを設定する場合と比較して遊技台の設計が容易になる。このため、乱数生成範囲を設定することは、遊技台の設計において有用であると言える。
【０７４７】
次に、乱数生成範囲を異ならせることにより、当選確率を変更する方法について説明する。例えば、０〜４９９９９の乱数生成範囲のうち、０〜１２４までの値を当りに対応させた状態から、乱数生成範囲の最大値を４９９９９から２４９に変更したとする。この場合、０〜１２４までの値が当りに対応し、１２５〜２４９までの値がハズレに対応し、当選確率は１／２になる。すなわち、当り又はハズレに対応する値を固定したまま乱数生成範囲だけを異ならせることにより、当選確率を容易に変更することができる。なお、上記説明では、よりわかり易くするために、当りの範囲を偏らせた例について説明したが、当りの範囲が偏っていなくてもよい。
【０７４８】
生成された乱数に基づいて当りかハズレかを判定する方法として、これらの対応を定めたテーブルを用意しておき、これを使用する方法が考えられる。しかし、この方法で当選確率を変更しようとした場合、当選確率に対応するテーブルをそれぞれ用意しておき、遊技の状態に応じてこれらを使い分ける処理を実行させる必要がある。上記説明した方法では、当り又はハズレに対応する値を定めたテーブルが一つですむため、メモリの容量負担が少なくて済む。当然のことながら、テーブルを切り替える処理は不要である。
【０７４９】
なお、本実施形態では、乱数生成範囲の異なる複数の乱数生成チャンネルを用意し、これらを使い分けることにより遊技中の当選確率を変更しているが、一つのチャンネルに対して適宜乱数生成範囲を変更する構成を用いて当選確率を変更させてもよい。また、本実施形態では、乱数を加工した上で抽選に用いる場合があるが、この場合、加工を考慮したうえで対応するテーブルを用意すればよい。
【０７５０】
ここで、図９８を用いて、乱数生成範囲が意図せずに変更されてしまった場合の問題について説明する。同図は、乱数生成範囲の問題点を示す図である。例えば、静電気等の要因によって上述した瞬断が生じ、その後復帰処理（ユーザリセット）が実行されたとする。この場合、乱数生成回路３１８の内部レジスタは、そのまま復帰処理以前の状態が維持される。ところが、電圧の変化によって内部レジスタの情報が書き換わる可能性がある。これによって乱数生成範囲が意図せずに変更されると、当選確率が変わってしまうことになる。
【０７５１】
例えば、非確率変動状態において、図９８（ａ）の上段に示すように、０〜４９９９９の乱数生成範囲が設定されており、さらにこのうち０〜１２４（左下がりのハッチングで示す範囲）が当りに対応する乱数であるとする。この状態で静電気等の要因が生じ、乱数生成範囲が０〜２５０になったとする。この場合、当選確率が１／４００から１／２になってしまうため、店側にとっては大きな損害になってしまう。
【０７５２】
また、確率変動状態において、図９８（ｂ）の上段に示すように、０〜４９９９の乱数生成範囲が設定されており、さらにこのうち０〜１２４（左下がりのハッチングで示す範囲）が当りに対応する乱数であるとする。この状態で静電気等の要因が生じ、乱数生成範囲が０〜５９９９９になったとする。この場合、当選確率が１／４０から１／４８０になってしまうため、遊技者にとって著しく不利益になる。
【０７５３】
上記の例で説明したように、乱数が生成される数値範囲を任意の数値範囲に制限する手法を用いて抽選処理を行うと、何らかの異常で制限した数値範囲が変化した場合に抽選処理の不安定化を招いてしまうという問題が生じる。
【０７５４】
このような事態を防止するため、本実施形態の遊技台では、図９０のステップＳ３０５３ａにおいて、乱数生成範囲を復帰処理の要因が発生した直前の状態に設定し直す処理を実行させる。このように再度乱数生成範囲を設定し直すことによって、上記のような問題が生じないようにすることができる。すなわち、乱数が生成される数値範囲を任意の数値範囲に制限する手法を用いて抽選処理を行いつつも、抽選処理の不安定化を招くことを抑止することができる。
【０７５５】
なお、本実施形態では、遊技台の起動時に乱数生成範囲が設定されるため、復帰処理の要因が発生した直前の状態が、初期状態と同じであるが、例えば、遊技中に乱数生成範囲を変更可能な構成の場合には、直前の状態に戻す処理が実行されればよい。
【０７５６】
また、本実施形態のように、乱数生成範囲が設定されていたチャンネルに対しては乱数生成範囲を設定し直すとともに、乱数生成範囲が設定されていないチャンネルに対しては乱数生成範囲を設定し直さない構成の場合、初期化されるチャンネルと初期化されないチャンネルが存在することになる。この場合、基本回路３０２の外部からチャンネルが初期化されたか否かがわからないため、不正を防止する効果がある。
【０７５７】
さらに、本実施形態の遊技台では、図９０のステップＳ３０５３ｂにおいて、乱数レジスタ３１８８をラッチすることを許容する許容状態にしている。このようにすることで、乱数レジスタ３１８８にラッチされている乱数に異常があった場合に、この乱数が使用される頻度を下げることができる。この際乱数ラッチフラグレジスタ３１８９の内容は、乱数レジスタ３１８８が乱数をラッチすることが可能な状態であることを示す情報に書き換えられる。なお、本実施形態では、ユーザプログラムによって、乱数レジスタ３１８８を許容状態にすることと、乱数生成範囲の設定を同時に実行している（図８９参照）が、ハードウェアを用いて許容状態にするようにしてもよい。なお、本実施形態の遊技台では乱数レジスタ３１８８が許容状態になっても新たに乱数をラッチするまでは乱数は残った状態になるが、可能であれば乱数レジスタ３１８８の値を所定の値に設定（例えば０に設定）するようにしてもよい。この場合には、異常の可能性がある乱数を使用させないようにすることができる。
【０７５８】
上記説明した再設定は、ＷＤＴ３１４１によるユーザリセットが実行された場合には、そのユーザリセットが実行されてから、駆動電圧の判定（図８８のステップＳ３００３）を経て実行される（図８９のステップＳ３０５３）。この判定処理に要する時間は電圧の供給具合に依存するため、一定ではない。このため再設定を反映した乱数が出力され始めるタイミングにランダム性を持たせることができ、不正防止に効果がある。なお上述した、ＣＰＵ３０４からの更新命令が来た時点で乱数の最大値を更新する構成の場合にも、同様の効果がある。
【０７５９】
なお、上記の説明では、電圧の変化によって生じる問題およびその対処法についての一例について説明したが、他にも例えば乱数生成回路３１８のスタート値選択回路３１８３ｂ内の値が書き換わってしまう可能性もある。この場合、本来生成されるはずのない値が、乱数更新回路３１８３から出力されてしまう虞がある。このような問題に対しても、上記の乱数生成範囲の例と同様に、スタート値選択回路３１８３ｂ内の値を復帰処理の要因が発生した直前の状態に設定し直す処理を実行させることにより、上記のような問題が生じないようにすることができる。また、乱数生成範囲に応じて、別途スタート値選択回路３１８３ｂ内の値を設定し直すようにしてもよい。すなわち、乱数生成回路３１８で設定可能な値を必要に応じて適切に設定し直す処理を実行させることにより、電圧の変化により異常な動作を起こさないようにすることができる。
【０７６０】
また、電圧の変化以外にも、例えば、指定エリア外走行によって予期せぬ動作が生じた場合にも、上記のような問題が生じる虞がある。特に、指定エリア外走行の場合は、プログラムミス等によって同じ状況が再現される可能性が高く、電圧が変化した場合よりも不正をしやすくなる虞がある。従って、本実施形態では、指定エリア外走行が生じた場合でも、図９０のステップＳ３０５３ａおよびステップＳ３０５３ｂによる再設定を行うようにしている。
【０７６１】
ここで、上記説明を踏まえて、図８８の主制御部メイン処理におけるＷＤＴ３１４１の起動開始のタイミング（ステップＳ３０１１、ステップＳ３０１５）について説明を補足する。通常ＷＤＴでは、プログラムの実行とは独立してカウントアップが行われている。この構成により、プログラムの実行に何らかの問題があっても、これに影響されずにリセット動作（ユーザリセット）を実行することができる。このため、ＷＤＴは初期設定時に起動（再起動）される必要がある。しかし、この起動タイミングによっては、問題が生じることがある。この問題について、図８８におけるステップＳ３００１の初期設定１の直後にＷＤＴを起動する場合を例に挙げて説明する。
【０７６２】
ユーザリセットによってＲＡＭ３０８に復帰用のデータが記憶されている状態で、主制御部メイン処理が開始されたとする。まず、ステップＳ３００１によって初期設定１が実行され、次いでＷＤＴが起動する。次に、駆動電圧が十分確保されるまでステップＳ３００３による待機処理が実行される。
【０７６３】
例えば供給電圧の不安定に起因して上記のユーザリセットが実行された場合等に、この待機処理の実行時間が長くなる場合がある。ここで待機処理に時間がかかると、後のステップＳ３００７やステップＳ３００９の実行中にＷＤＴがタイムアウトして、再度ユーザリセットが実行されてしまう場合がある。この場合、再度主制御部メイン処理が最初から実行されるため、ＲＡＭ３０８に記憶されている復帰用のデータがレジスタに戻されるまでの処理時間が長くなってしまう。
【０７６４】
さらに、例えばステップＳ３００９において、ＲＡＭ３０８のデータをレジスタに戻すとともに、ＲＡＭ３０８のデータを消去する処理が実行されている場合には、ＲＡＭ３０８のデータの一部が消去されている状態でユーザリセットが実行される可能性もある。この場合には、再度主制御部メイン処理が最初から実行されても、ＲＡＭ３０８の復帰用のデータは不完全なものであり、ステップＳ３００７で復帰可能と判定されないことになる。仮にステップＳ３００７で復帰可能と判定されてもステップＳ３００９のデータ書き戻し処理で完全にユーザリセット前の状態に復帰させることができない。
【０７６５】
このような問題を回避するため、本実施形態では、ＷＤＴ３１４１によるタイムアウトではシステムリセットを実行するようにしているが、本実施形態ではさらに、ＷＤＴ３１４１によるタイムアウトでユーザリセットを実行してもよいように、駆動電圧の判定後から主制御部タイマ割込み処理が許可されるまでの間にＷＤＴ３１４１を起動するように構成している（ステップＳ３０１１、ステップＳ３０１５）。なお、上記構成は一例であり、ユーザリセット後に主制御部メイン処理が開始されてから、主制御部タイマ割込み処理が許可されるまでの間にＷＤＴ３１４１がタイムアウトしないように、ＷＤＴ３１４１を起動させるようにすることが好ましい。また、ユーザリセットが行われてから、主制御部によって遊技の進行が開始される（本実施形態では、主制御部メイン処理のステップＳ３０１７〜ステップＳ３０１９が開始され、かつ、主制御部タイマ割込み処理が開始される）までの間に、ＷＤＴ３１４１がタイムアウトしないように、ＷＤＴ３１４１を起動させることが好ましい。特に、ユーザリセット後に遊技を復帰させるための処理（遊技の進行を開始可能にするための処理）に、液晶画像表示装置（装飾図柄表示装置）の初期設定処理を実行させるための待機処理が含まれる場合には、上記の問題がより生じやすくなるため、上記説明したタイミングでのＷＤＴ３１４１の起動がより効果的である。さらに、主制御部タイマ割込み処理の最初の処理において、ＷＤＴ３１４１を起動させるようにしても、上記の問題を回避することができる。なお、上記説明ではユーザリセットが実行された場合を例に説明しているが、システムリセットが実行された場合であっても同様である。
【０７６６】
ここで、図９９を用いて、図７９で説明した乱数更新回路３１８３の変形例について説明する。同図は、図７９で説明した乱数更新回路３１８３の変形例を示す図である。この図９９（ａ）に示す乱数更新回路３１８３ｎは、図７９で説明した乱数更新回路３１８３に、乱数列変更回路３１８３ｄを加えたものである。
【０７６７】
乱数列変更回路３１８３ｄは、予め内部に複数の乱数テーブルが設けられている。図９９（ｂ）には、６５５３６個の乱数の並びを予め定めた複数の乱数列が示されている。これらの複数の乱数列を使用する際には、同じ乱数列を継続して使用するか、一つの乱数列を一周した時点で別の乱数列に変更するかを設定することができる。さらに、別の乱数列に変更する場合には、指示がなくても自動的に変更を行うか、あるいはその都度変更を指示するか否かを設定することができる。なお、カウンタ回路３１８３ａから一巡信号を受けた時点で、一つの乱数列を一周したと判定される。
【０７６８】
乱数列変更回路３１８３ｄ内で使用する乱数列が決定されると、カウンタ回路３１８３ａから出力されるカウント値に従って、この乱数列から値が取り出される。この取り出された値が乱数として出力される。例えば図９９（ｂ）において、乱数列Ｂを使用することが決定した場合に、カウント値「５」が入力されると、乱数として「９８０６」が出力さ  れる（図９９（ｂ）の太枠で示す部分参照）。
【０７６９】
ここで、最大値設定レジスタ３１８３ｃに最大値が設定された場合における処理の例について説明する。図８１では、最大値設定レジスタ３１８３ｃに設定された最大値に従ってカウント回路３１８３ａから出力される値の範囲が変更される例について説明した。なお、この図８１では、このカウント回路３１８３ａから出力される値をそのまま乱数として用いていた。ここでは、カウント回路３１８３ａから出力される値を乱数ではなくカウント値として用い、乱数列変更回路３１８３ｄに入力する。
【０７７０】
例えば、最大値が９９９９に設定された場合、０〜９９９９のカウント値がカウント回路３１８３ａから出力されることになる。ここで、乱数列変更回路３１８３ｄには、最大値設定レジスタ３１８３ｃから最大値データを取得させ、乱数列の値のうち最大値を超える値を削除して空いた部分を詰める処理を実行させる。この処理により０〜９９９９の値をランダムに並べた乱数列が用意されることになる。この乱数列を用いて上記カウント値に対応する値を乱数として出力させると、乱数生成範囲を０〜９９９９とする乱数を出力させることができる。なお、上記方法は一例であり、例えば、カウント値に対応する値を乱数列から参照したときに最大値を超えている場合には以降の値を順次参照し、参照された値が最大値を超えない値であればその値を出力する、というように他の方法を用いてもよい。
【０７７１】
ここで、上記の乱数更新回路３１８３ｎを用いた場合における、乱数監視回路３１８４における異常の検出例について説明する。この場合には、１回の乱数の更新前後においてカウンタ回路３１８３ａから出力されるカウント値の値を比較し、同じカウント値が出力されていないか否かをチェックする。仮に同じカウント値が出力された場合には、異常を示す情報が出力される。なお、チェックのタイミングについては、この乱数更新周期よりも長い所定の周期毎であってもよい。なお、乱数監視回路３１８４に乱数列変更回路３１８３ｄから出力される乱数を監視させてもよいが、上記したようにカウンタ回路３１３８ａから出力されるカウント値を監視するようにすることで監視精度を高めるとともに、監視負担を低減することができる。
【０７７２】
また、図７７に示す乱数生成回路３１８において説明したことと同様に、乱数生成回路３１８の外部に乱数監視回路３１８３ｎを設けてもよく、また、乱数更新回路３１８３ｎの内部に乱数監視回路３１８４を設けてもよい。
【０７７３】
次に、図１００を用いて、図４に示す払出制御部６００が実行する払出制御部メイン処理について説明する。なお、同図は払出制御部メイン処理の流れを示すフローチャートである。
【０７７４】
図４に示す払出制御部６００は、ＣＰＵ、ＲＡＭ、ＲＯＭ、Ｉ／Ｏポート、および電圧監視回路を備えている。払出制御部６００が備える電圧監視回路も、主制御部３００が備える電圧監視回路と同じく、電源管理部６５０から払出制御部６００に供給している電源の電圧値が所定の値（本実施形態では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を払出制御部６００のＣＰＵに出力する。なお、主制御部３００の電圧監視回路３３８から低電圧信号が出力されていても、この払出制御部６００の電圧監視回路からは低電圧信号は出力されていないことはある。
【０７７５】
払出制御部６００には、主制御部３００のＣＰＵ３０４から電源投入情報を含めたコマンドが送信されてくる。このコマンドを受信したことに基づいて、払出制御部６００のＣＰＵは、払出制御部メイン処理を開始する。なお、主制御部３００のＣＰＵ３０４から電源投入情報を含めたコマンドを受信する前に払出制御部メイン処理を開始してもよく、該コマンドを受信するまで所定の処理（例えば、後述するステップＳ３６０３〜ステップＳ３６１０）を実行せずにスキップするようにしてもよい。
【０７７６】
まず、ステップＳ３５０１では、初期設定１を行う。この初期設定１では、払出制御部６００のＣＰＵのスタックポインタ（ＳＰ）へのスタック初期値の設定等を行う。ステップＳ３５０２では、払出制御部６００の電圧監視回路から低電圧信号が出力されているか否か、すなわち低電圧信号がオンであるか否かを判定する。低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ３５０２の処理を繰り返し実行し、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ３５０３に進む。
【０７７７】
ステップＳ３５０３では、初期設定２を行う。この初期設定２では、後述する払出制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマに設定する処理、払出制御部６００のＲＡＭへの書き込みを許可する設定、Ｉ／Ｏポートの初期設定等を行う。
【０７７８】
ステップＳ３５０４では、電源の遮断前（電断前）の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合（パチンコ機１００を初期状態にする場合）にはステップＳ３５０６に進み、電断前の状態に復帰する場合にはステップＳ３５０５に進む。具体的には、このステップＳ３５０４でも、主制御部３００メイン処理のステップＳ３００９と同様な処理が行われ、ＲＡＭクリアが必要な場合には、パチンコ機１００を初期状態にすべくステップＳ３５０６に進む。一方、ＲＡＭクリアが必要でない場合には、払出制御部６００のＲＡＭから電源ステータスの情報を読み出し、電源ステータスの情報が、サスペンドを示す情報でない場合にはパチンコ機１００を初期状態にすべくステップＳ３５０６に進み、サスペンドを示す情報である場合には払出制御部６００のＲＡＭについてチェックサムを実行し、チェックサムの結果が正常である場合には電断前の状態に復帰すべくステップＳ３５０５に進み、チェックサムの結果が異常である場合には、パチンコ機１００を初期状態にすべくステップＳ３５０６に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップＳ３５０６に進む。
【０７７９】
ステップＳ３５０５では、復電時処理を行う。この復電時処理では、払出制御部６００のＲＡＭの記憶領域のうち、復電時にクリアすべき記憶領域（コマンドを格納するためのコマンドバッファ、エラー状態を記憶するためのエラーステータスなどを除く記憶領域）の初期化などを行う。
【０７８０】
ステップＳ３５０６では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、払出制御部６００のＲＡＭの所定の領域（例えば、全ての記憶領域）の初期化などを行う。
【０７８１】
ステップＳ３５０７では、初期設定３を行う。この初期設定３では、払出制御部６００のＲＡＭに設けたエラーステータス記憶領域に記憶したエラーステータスのうち、不正払出エラーと払出超過エラー以外の情報をクリアしたり、割り込み許可の設定などを行う。
【０７８２】
ステップＳ３５０８では、主制御部３００から入力したデータの中に未解析データがあるか無いかを判定し、未解析データがある場合にはステップＳ３５０９でコマンド解析処理を行い、未解析データがない場合にはステップＳ３５１０に進む。
【０７８３】
ステップＳ３５１０では、ステップＳ３５０２と同じく、低電圧信号がオフであるか否かを監視し、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ３５０８に戻り、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ３５１１に進む。
【０７８４】
ステップＳ３５１１では、電断時処理を行う。この電断時処理では、払出制御部６００のＲＡＭに設けたスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、払出制御部６００のＲＡＭの所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム（電断時チェックサム）として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、払出制御部６００のＲＡＭへの書き込みを禁止する設定などを行う。なお、ステップＳ３５１１の後にステップＳ３５０２と同じく低電圧信号がオフであるか否かを監視する処理を行い、低電圧信号がオフの場合（電源の遮断を検知していない場合）には払出し制御部メイン処理の先頭（ステップＳ３５０１）に戻るようにしてもよい。
【０７８５】
＜払出制御部タイマ割り込み処理＞
次に、図１０１を用いて、払出制御部６００のＣＰＵが実行する払出制御部タイマ割り込み処理について説明する。なお、同図は払出制御部タイマ割り込み処理の流れを示すフローチャートである。
【０７８６】
払出制御部６００は、所定の周期（本実施形態では１ｍｓに１回）でタイマ割り込みを発生するカウンタ回路も備えており、このタイマ割り込みを契機として払出制御部タイマ割り込み処理を所定の周期で開始する。
【０７８７】
ステップＳ３６０１では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、払出制御部６００のＣＰＵの各レジスタの値をスタック領域に一時的に退避する処理などを行う。払出制御部６００には、ウォッチドッグタイマ（ＷＤＴ）も用意されている。ステップＳ３６０２ではこのＷＤＴのリスタートを行う。
【０７８８】
ステップＳ３６０３では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、払出制御部６００のＩ／Ｏポートの値を取得して、図４に示す払出センサ６０４等の状態などを検出する。ステップＳ３６０４では、タイマ更新処理を行う。このタイマ更新処理では、払出報知用ＬＥＤの点灯／消灯時間、図４に示す払出モータ６０２の駆動／非駆動時間などを計時するためのタイマなどを含む各種タイマを更新する。
【０７８９】
ステップＳ３６０５では、エラー監視処理を行う。払出制御部６００のＩ／Ｏポートには、主制御部３００から、下皿満タンエラー信号やガラス枠開放エラー信号等の各種のエラー信号が送られてくる。払出制御部６００のＲＡＭには、エラーステータス記憶領域や、遊技媒体貸出情報記憶領域や、払出完了数チェック記憶領域や、モータ駆動量記憶領域が設けられている。エラーステータス記憶領域には、各エラー信号に対応した情報が記憶される。このエラー監視処理では、各種のエラー信号がオンか否かを判定し、オンの場合には、エラーステータス記憶領域に対応したエラーを示す情報を記憶し、オフの場合には、エラーステータス記憶領域に対応したエラーの解除を示す情報を記憶する。また、主制御部３００と払出制御部６００との間の通信が可能かどうかを、主制御部からのコマンドが所定時間（例えば１０００ｍｓ）継続して受信できないか否かで判定し、エラーステータス記憶領域に、通信可能な場合には通信可能であることを示す情報を、反対に通信不可能な場合には通信不可能であること（主制御通信エラー）を示す情報を記憶する。加えて、図４に示すカードユニット（ＣＲユニット）６０８と払出制御部６００との間の通信が可能かどうかについても、カードユニット６０８からの信号が所定時間（例えば１０００ｍｓ）継続して受信できないか否かで判定し、エラーステータス記憶領域に、通信可能な場合には通信可能であることを示す情報を、反対に通信不可能な場合には通信不可能であること（ＣＲユニット未接続エラー）を示す情報を記憶する。また、払出制御部６００のＩ／Ｏポートには、エラー解除信号も送られてくる。このエラー監視処理では、エラー解除信号がオンであるか否かも判定し、エラー解除信号がオンである場合には、エラーステータス記憶領域に記憶している情報を初期化して、エラーを解除する。
【０７９０】
ステップＳ３６０６では、ＣＲユニット通信処理を行う。このＣＲユニット通信処理では、図４に示すインターフェース部６０６から遊技媒体貸出信号を受信して遊技媒体貸出信号センサ信号がオンであるか否かを判定し、遊技媒体貸出信号がオンの場合（インターフェース部６０６からの球貸要求を入力した場合）には、ＲＡＭに設けた遊技媒体貸出情報記憶領域に遊技媒体の貸出要求があったことを示す情報を記憶する。
【０７９１】
ステップＳ３６０７では、払出動作管理処理を行う。上述のエラーステータス記憶領域には、不正払出エラーの情報や払出超過エラーの情報も記憶されている。この払出動作管理処理では、エラーステータス記憶領域から不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合には、図４に示す払出センサ６０４からの信号（以下、払出センサ信号と称する場合がある）に基づいて払出個数の監視を行う。すなわち、所定のエラーが発生している場合には払出モータ６０２の駆動停止、すなわち払出装置からの賞媒体（例えば遊技球）の払出を停止するようにしている。具体的には、払出センサ６０４の信号を検出して払出センサ信号がオンであるか否かを判定し、払出センサ信号がオンの場合（払出センサを球が通過した場合）には払出完了数チェックに１を加算して払出完了数チェック記憶領域に記憶する。また、賞球および貸出球の要求が無いときに払出センサ信号がオンになった場合には、上述のエラーステータス記憶領域に不正払出エラーを示す情報を記憶し、賞球数または貸出球数が各々の要求数を超え、その超過数が所定数以上になった場合には、上述のエラーステータス記憶領域に払出超過エラーを示す情報を記憶する。
【０７９２】
また、上述のエラーステータス記憶領域から、下皿満タンエラーを表す情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、払出開始監視処理、初期位置検索動作処理、通常払出動作処理、リトライ動作処理、逆回転動作処理のいずれかの処理を行う。
【０７９３】
上述のごとく、払出装置１５２は、払出モータ６０２によって回転可能に構成されたスプロケットを備えている。このスプロケットは、タンクレール１５４を通過して払出装置１５２内に流下した遊技球を一時的に滞留させると共に、払出モータ６０２を駆動して所定角度だけ回転することにより、一時的に滞留した遊技球を払出装置１５２の下方へ１個ずつ送り出す。払出開始監視処理では、貸出要求数、および賞球要求数が０であり、次賞球要求数が０以外の場合は、賞球要求数に次賞球要求数をセットし、次賞球要求数をクリアする。また、払出モータ６０２の位置が不確定の場合（動作モードが初期位置検索動作モードの場合）には、払出完了数チェックから１を減算して払出完了数チェック記憶領域に記憶し、払出モータ６０２の位置が確定している場合（動作モードが通常払出動作モードの場合）には、払出完了数チェックとして払出完了数チェック記憶領域に０を設定する。また、賞球要求数を、払出モータ６０２を駆動する量（モータ駆動量）に変換し、これをＲＡＭに設けたモータ駆動量記憶領域に記憶すると共に、ＲＡＭに設けたモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをＩ／Ｏポートを介して、払出モータ６０２を制御するモータ制御回路に出力する。これにより、モータ制御回路は払出モータ６０２のモータの励磁位置を所定回変化させてスプロケットを正方向に回転駆動する。
【０７９４】
初期位置検索動作処理および通常払出動作処理では、払出モータ６０２の駆動終了後に、払出完了数チェック記憶領域から払出完了チェックを読み出し、払出完了チェックが０  の場合には、払出開始監視処理を実行する準備を行い、払出完了チェックが０以外の場合には、エラーステータス記憶領域に払出装置エラーを示す情報を設定すると共に、リトライ動作処理を実行する準備を行う。
【０７９５】
リトライ動作処理では、所定の時間が経過するのを待ち（リトライ動作開始待ちタイマが０になるのを待ち）、リトライ動作開始待ちタイマが０になった場合には、逆回転動作処理を実行する準備を行う。逆回転操作処理では、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、逆転を示すモータ駆動制御データをＩ／Ｏポートを介してモータ制御回路に出力する。これにより、モータ制御回路は払出モータ６０２の励磁位置を所定回変化させてスプロケットを逆回転駆動する。また、逆回転操作処理では、払出モータ６０２の駆動終了後に払出開始監視処理を実行する準備を行う。
【０７９６】
ステップＳ３６０８では、払出モータ駆動監視処理を行う。この払出モータ駆動監視処理では、駆動開始監視処理、加速駆動処理、定速駆動処理、ブレーキ駆動処理、駆動終了処理のいずれかの処理を行う。
【０７９７】
駆動開始監視処理では、上述のエラーステータス記憶領域から下皿満タンエラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合には、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをＩ／Ｏポートを介してモータ制御回路に出力する。これにより、モータ制御回路は払出モータ６０２の励磁位置を所定回変化させスプロケットを正方向に回転駆動する。
【０７９８】
加速駆動処理および定速駆動処理では、スプロケットの初期位置検索動作中、または、逆回転動作中の場合を除き、払出モータ６０２の励磁位置を１６回変化させるごとに払出完了数チェックから１を減算して払出完了数チェック記憶領域に記憶する。また、更新後の払出完了数チェックが−４未満になった場合には、ブレーキ駆動処理を実行する準備を行う。さらに、上述の遊技媒体貸出情報記憶領域から遊技媒体貸出情報を読み出して、遊技媒体の貸出要求があったことを示す情報の有無を判定し、遊技媒体の貸出要求があったことを示す情報がある場合（賞球の払出中にインターフェース部６０６からの球貸要求を入力した場合）にも、ブレーキ駆動処理を実行する準備を行う。ブレーキ駆動処理では、所定の時間が経過するのを待ち（モータ駆動管理タイマが０になるのを待ち）、モータ駆動管理タイマが０になった場合には、駆動終了処理を実行する準備を行い、駆動終了処理では、モータ駆動の後処理を行う。
【０７９９】
ステップＳ３６０９では、外部出力信号設定処理を行う。この外部出力信号設定処理では、払出制御部６００のＲＡＭに記憶している遊技情報（例えば払出センサ信号を入力するたびに出力する賞球信号）を、情報出力回路（図示せず）を介してパチンコ機１００とは別体の情報入力回路３５０に出力する。
【０８００】
ステップＳ３６１０では、ポート出力処理を行う。このポート出力処理では、払出制御部６００のＩ／Ｏポートから、図４に示す発射制御部６３０に発射を許可する発射許可信号を出力する。ただし、上述の主制御通信エラーやＣＲユニット未接続エラーが生じている場合には、発射許可信号を出力しない状態に設定する。したがって、主制御部３００が電断し、払出制御部６００には電力が供給されている状態では、上述のステップＳ３６０５において主制御通信エラーが認められ、このポート出力処理で、発射許可信号を出力しない状態に設定される。
【０８０１】
ステップＳ３６１１では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップＳ３６０１で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行い、払出制御部タイマ割り込み処理は終了になる。
【０８０２】
＜第２内部情報レジスタ＞
続いて、図８４に第１内部情報レジスタを示した割込み制御回路３１００の第２内部情報レジスタについて説明する。図１０２は、割込み制御回路３１００の内部情報レジスタ３１０１に用意された第２内部情報レジスタを説明するための図である。
【０８０３】
図１０２に示すように、第２内部情報レジスタは８ビットのレジスタであるが、７〜３ビット目は「０」が設定されたままであり、使用されていない。また、２〜０ビット目は、初期値は「０」である。
【０８０４】
本実施形態では、電源投入によって、電圧監視回路３３８からシステムリセット信号がリセット制御回路３１４に入力される。すると、リセット制御回路３１４からは、マイクロプロセッサ３０００の内部の回路に対し内部バス３３００を介して、システムリセット信号１が出力される。また、本実施形態では、ＷＤＴ３１４１がタイムアウトになった場合には、リセット制御回路３１４からは、マイクロプロセッサ３０００の内部の回路に対し内部バス３３００を介して、ＷＤＴのタイムアウト信号が出力されたことを表すシステムリセット信号２が出力される。さらに、ＣＰＵ３０４が所定の範囲以外のアドレスを参照（指定エリア外走行）した場合には、リセット制御回路３１４からは、マイクロプロセッサ３０００の内部の回路に対し内部バス３３００を介して、指定エリア外走行禁止信号が出力されたことを表すシステムリセット信号３が出力される。
【０８０５】
割込み制御回路３１００は、内部バス３３００を介してシステムリセット信号１を取得すると、２ビット目に「１」を設定する。すなわち、第１内部情報レジスタの２ビット目は、直前に発生したリセット要因が電源投入によるリセットであることを示すビットに相当する。
【０８０６】
また、割込み制御回路３１００は、内部バス３３００を介してシステムリセット信号２を取得すると、１ビット目に「１」を設定する。すなわち、第１内部情報レジスタの１ビット目は、直前に発生したリセット要因がＷＤＴ３１４１のタイムアウトであることを示すビットに相当する。
【０８０７】
さらに、割込み制御回路３１００は、内部バス３３００を介してシステムリセット信号３を取得すると、０ビット目に「１」を設定する。すなわち、第１内部情報レジスタの０ビット目は、直前に発生したリセット要因がＣＰＵ３０４の指定エリア外走行であることを示すビットに相当する。各ビットの値は、ＣＰＵ３０４がその値を読み取るとクリアされる（初期値の「０」になる）ようになっている。なお、この第２内部情報レジスタを、図８４に示す第１内部情報レジスタで構成してもよい。
【０８０８】
＜第３内部情報レジスタ＞
図１０３は、割込み制御回路３１００の内部情報レジスタ３１０１に用意された第３内部情報レジスタを説明するための図である。図１０３に示すように、第３内部情報レジスタも８ビットのレジスタであるが、７〜２ビット目は「０」が設定されたままであり、使用されていない。
【０８０９】
図１０３に示す第３内部情報レジスタの１ビット目は、ＷＤＴ３１４１がタイムアウトした場合に、ユーザリセット動作を行わせるか、あるいはシステムリセット動作を行わせるかを設定するためのビットである。ユーザリセット動作を行わせる場合には「０」を設定し、システムリセット動作を行わせる場合には「１」を設定する。
【０８１０】
また、０ビット目は、ＣＰＵ３０４の指定エリア外走行が生じた場合に、ユーザリセット動作を行わせるか、あるいはシステムリセット動作を行わせるかを設定するためのビットである。このビットでも、ユーザリセット動作を行わせる場合には「０」を設定し、システムリセット動作を行わせる場合には「１」を設定する。
【０８１１】
ここで説明した１ビット目と０ビット目それぞれに設定される値は、内蔵ＲＯＭ３０６のプログラム管理エリアに記憶されている。プログラム管理エリアに記憶されているこれらの値は、図８８に示す主制御部メイン処理における初期設定２（ステップＳ３００７）において、プログラム管理エリアから呼び出され、１ビット目と０ビット目それぞれに設定される。本実施形態では、いずれのビットにもシステムリセット動作を行わせる「１」が設定される。なお、１ビット目にユーザリセット動作を行わせる「０」を設定し、０ビット目にシステムリセット動作を行わせる「１」を設定してもよい。また、１ビット目にシステムリセット動作を行わせる「１」を設定し、０ビット目にユーザリセット動作を行わせる「０」を設定してもよい。
【０８１２】
なお、この第３内部情報レジスタも、図８４に示す第１内部情報レジスタの空きビット（未使用ビット）で構成してもよく、あるいは、上述の図１０２に示す第２内部情報レジスタの空きビット（未使用ビット）で構成してもよい。また、リセット発生時には、ＲＯＭ３０６のプログラム管理エリアに記憶されたリセット動作設定データの値を直接参照するようにしてもよい。この場合、第３内部情報レジスタに値を設定する処理は行わなくてもよい。
【０８１３】
＜第４内部情報レジスタ＞
図１０４は、割込み制御回路３１００の内部レジスタ３１０１に用意された第４内部情報レジスタを説明するための図である。図１０４に示すように、第４内部情報レジスタは８ビットのレジスタであるが、７〜２ビット目は「０」が設定されたままであり、使用されていない。
【０８１４】
この第４内部情報レジスタの１ビット目は、乱数生成回路３１８の外部クロック（更新クロック）ＲＣＫの異常を示すビットである。更新クロックに異常がある場合には、第４内部情報レジスタの１ビット目から「１（異常あり）」の情報が読みだされ、更新クロックに異常がない場合には、第４内部情報レジスタの１ビット目から「０（異常なし）」の情報が読みだされる。
【０８１５】
また、０ビット目は、リセットが発生した場合に、直前のリセット要因がシステムリセット（電源投入によるリセット）であるか否かを示すためのビットである。割込み制御回路３１００は、内部バス３３００を介してシステムリセット信号１を取得すると、この０ビット目に「１」を設定する。直前のリセット要因がシステムリセットである場合には、第４内部情報レジスタの０ビット目から「１（システムリセット発生）」の情報が読みだされ、直前のリセット要因がシステムリセットでない場合（リセット要因がＷＤＴ３１４１のタイムアウトである場合、または、リセット要因がＣＰＵ３０４の指定エリア外走行である場合）には、第４内部情報レジスタの０ビット目から「０（システムリセット未発生）」の情報が読みだされる。
【０８１６】
＜その他の内部情報レジスタ＞
また、図示は省略するが、マイクロプロセッサ３０００は、ＷＤＴ３１４１を制御するレジスタとして、スタートレジスタとクリアレジスタを備えている。スタートレジスタは、ＷＤＴ３１４１の起動／停止を制御するための８ビット長のレジスタであり、ＷＤＴ３１４１を起動するときには起動を指示する値（例えば、ＣＣＨ）を設定し（書き込み）、ＷＤＴ３１４１を停止するときには停止を指示する値（例えば、３３Ｈ）を設定するように構成されている。
【０８１７】
また、このスタートレジスタは、リセット時にプログラム管理エリアに「ソフトウェアによる起動」を設定（選択）したときに有効となるレジスタであり、その場合、停止を指示する値（例えば、３３Ｈ）が初期値として設定される。したがって、「ソフトウェアによる起動」を設定（選択）したときにＷＤＴ３１４１を起動するためには、遊技制御プログラムによって（手動で）起動を指示する値（例えば、ＣＣＨ）を設定する必要がある。一方、リセット時に「ソフトウェアによる起動」を設定（選択）しなかったときは、スタートレジスタには、起動を指示する値（例えば、ＣＣＨ）が遊技制御プログラムによらずに（自動的に）初期値として設定され、遊技制御プログラムによらずに（自動的に）ＷＤＴ３１４１が起動される。
【０８１８】
クリアレジスタは、ＷＤＴ３１４１のクリアとリスタートを制御するための８ビット長のレジスタであり、所定の第一の値（例えば、５５Ｈ）を設定した後に、所定の第二の値（例えば、ＡＡＨ）を設定したときにＷＤＴ３１４１がクリアされ、直後にリスタートされる。なお、クリアレジスタの値を読み込んだときは、所定の固定値（例えば、ＦＦＨ）が読みだされる。
【０８１９】
ここでもう一度、システムリセットの流れについて、乱数更新との関係を含めて説明する。図１０５は、システムリセットの流れを乱数更新との関係を含めて示す図である。これまで、静電気などの要因により瞬断が生じた場合に、ＷＤＴ３１４１のタイムアウトによってリセット制御回路３１４からシステムリセット信号（ここではシステムリセット信号２）が出力され、リセット動作が行われることを説明した。また、ＷＤＴ３１４１のタイムアウトに限らず、例えば、ＣＰＵ３０４の指定エリア外走行が生じた場合などにも、リセット制御回路３１４からシステムリセット信号（ここではシステムリセット信号３）が出力され、リセット動作が行われる。このリセット動作では、遊技台はセキュリティモードに移行し、セキュリティチエック処理（図７６に示すステップＳＨ０５）が実行される。
【０８２０】
ＷＤＴ３１４１のタイムアウトやＣＰＵ３０４の指定エリア外走行は、遊技処理の正常な進行を妨げる異常の一例に相当する。また、システムリセット信号２およびシステムリセット信号３は復帰指示の一例に相当する。さらに、図７６に示すリセット制御回路３１４は、上記異常を検出する異常検出部の一例に相当する。
【０８２１】
なお、図１０５では、図示省略したが、セキュリティモードではまず、図７６に示すステップＳＨ０３の第１内部回路初期化処理が実行され、ＣＰＵ３０４のコアやタイマ回路３１１、カウンタ回路３１２、パラレル入力ポート３１０２、ＲＡＭ３０８アクセスプロテクトレジスタ、割込み制御回路３１００、乱数生成回路３１８を制御するレジスタといった内蔵レジスタの値が初期化される。なお、乱数生成回路３１８を制御するレジスタが初期化されることから、乱数更新範囲が再設定されるとともに、乱数値の初期値も再設定される。ＣＰＵ３０４の指定エリア外走行が生じたときは特に、乱数更新範囲に何らかの影響が及ぼされている可能性があるため、乱数更新範囲の再設定を行うことが好ましい。
【０８２２】
続いて、固定延長処理（ステップＳＨ０７）が行われ、この固定延長処理が終了すると、リセット制御回路３１４は、マイクロプロセッサ３０００の外部にある周辺制御回路に対して、リセット出力端子（ＸＲＳＴＯ端子）からリセット信号を出力する。すなわち、ＸＲＳＴＯ端子からのリセット信号（リセット出力）は、固定延長処理の終了後（セキュリティモード中）に出力され、ユーザモードの開始とは異なるタイミングで出力される。
【０８２３】
次に、ランダム延長処理（ステップＳＨ０９）が行われ、遅延処理の時間が不定になる。ランダム延長処理が終了すると、遊技台はユーザモードに移行し、遊技制御用プログラム（ここでは主制御部メイン処理）が開始される。
【０８２４】
この遊技制御用プログラムでは、最初に、各種の初期設定（図８８に示すステップＳ３００１〜ステップＳ３０１５）が行われる。この初期設定では、図１０６（ａ）に示すように、上述の第４内部情報レジスタの１ビット目から「更新クロック異常を示すビット」の値を読み出した後に、読み出した値を汎用レジスタにセットする（書き込む）処理を実行する一方で、第４内部情報レジスタの０ビット目から「リセット要因がシステムリセットであるか否かを示すビット」を読み出す処理は実行するが、読み出した値を汎用レジスタにセットする（書き込む）処理を実行しないように構成している。
【０８２５】
換言すると、同図（ｂ）に示すように、マイクロプロセッサ３０００は、第１の要因（例えば、乱数生成回路３１８の更新クロックの状態）に基づいて変化する内部情報レジスタのビット（例えば、第４内部情報レジスタのビット１）の値を読み出して、読み出した値を汎用レジスタにセットする（書き込む）一方で、第１の要因とは異なる第２の要因（例えば、リセット要因）に基づいて変化する内部情報レジスタのビット（例えば、第４内部情報レジスタのビット０）の値を読み出すが、読み出した値を汎用レジスタにセットしない（書き込まない）ように構成されている。
【０８２６】
初期設定を終えると、続いて、ソフトウェア乱数の更新処理（ステップＳ３０１７およびステップＳ３０１９）が行われ、次いで、最初に発生する大当りの乱数取得タイミングに到達する。ここで、最初に発生する大当りの乱数取得タイミングに乱数を不正に取得されると、強制的に大当りにされてしまうことがある。しかしながら、ランダム延長処理によって遅延処理の時間が不定になっているため、上述のリセット出力を不正にとらえて、最初に発生する大当りの乱数取得のタイミングを図ろうとしても、上記所定時間も不定になり、不正行為を防止することができる。
【０８２７】
図１０７は、上記図７５に示すマイクロプロセッサ３０００のリセット制御回路３１４の変形例を示した図である。この変形例に係るリセット回路１３１４は、図７５に示すリセット制御回路３１４が備える指定エリア外走行禁止回路３１４２、ウォッチドックタイマ（ＷＤＴ）３１４１に替えて、信号出力タイミング制御回路１３１４ａを備えている。この信号出力タイミング制御回路１３１４ａは、２つのリセット入力端子ＸＳＲＳＴ１、リセット入力端子ＸＳＲＳＴ２から入力するリセット入力信号に基づいて、リセット出力端子ＸＲＳＴＯから出力するリセット出力信号の出力タイミングを決定するための回路である。
【０８２８】
図１０８は、主制御部３００と第１副制御部４００とのうち主制御部３００のみでＷＤＴ３１４１のタイムアウトが生じた場合の例を示すタイミングチャートである。図１０８に示すタイミングチャートでは、図の左から右に向かって時間（Ｔ）が経過していく。図の左端の状態では、主制御部３００にも第１副制御部４００にも１２Ｖの電圧が供給され、主制御部３００も第１副制御部４００も通常処理を行っている。この例では、主制御部３００は特図の変動表示を開始し、第１副制御部４００は、主制御部３００による特図変動表示の開始に合わせて、ここでは不図示の第２副制御部５００を介して、装飾図柄表示装置２０８に装飾図柄の変動表示を開始させる。図１０８に示すタイミングチャートにおける（ａ）〜（ｇ）の符号は、符号が記された位置のタイミングを示すものであり、図１０８の下方には、そのタイミングにおける装飾図柄表示装置２０８の様子が示されている。
【０８２９】
主制御部３００が特図変動表示を開始して間もなく主制御部３００では瞬断が生じ、一時的な電圧降下により、電断時処理が行われ、待機状態に移行する。図９７（ｂ）を用いて説明したように、待機状態では、主制御部３００のＷＤＴ３１４１がリスタートされず、ＷＤＴ３１４１がタイムアウトする。リセット制御回路３１４からは、ＷＤＴ３１４１のタイムアウトに基づいてシステムリセット信号２が出力される。
【０８３０】
システムリセット信号２が出力されたことにより、主制御部３００は、図７６に示すリセット処理を開始する。主制御部３００では、このリセット処理で、第１内部回路初期化処理（ステップＳＨ０３）が実行された後に、セキュリティチェック処理（ステップＳＨ０５）が実行される。そして、セキュリティチェック処理が終了してもユーザモード（図８８に示す主制御部メイン処理）にはすぐには移行せず、遅延処理が行われ、リセット処理が継続する。この遅延処理では、図７６に示す固定延長処理（ステップＳＨ０７）が実行される。なお、上述のごとく、固定延長処理が終了すると、リセット制御回路３１４は、マイクロプロセッサ３０００の外部にある周辺制御回路に対して、リセット出力端子（ＸＲＳＴＯ端子）からリセット信号を出力するが、このリセット信号は、第１副制御部４００に送信されるものではない。さらに、遅延処置では、ランダム延長処理（ステップＳＨ０９）が実行され、最大３０秒のランダム時間だけさらに、ユーザモードへの移行が遅延される。これらステップＳＨ０７およびステップＳＨ０９は、本発明にいう遅延処理の一例に相当する。
【０８３１】
また、上述のごとく、電断時処理が開始されてから所定時間（例えば、１０００ｍｓ）が経過するまでに、図４に示す払出制御部６００が主制御部３００からのコマンドを受信できない場合には、発射制御部６３０への発射許可信号の出力を停止する。
【０８３２】
一方、この例では、主制御部３００では瞬断が生じたものの、第１副制御部４００には継続して１２Ｖの電圧が供給されており、主制御部３００が電断時処理やリセット処理を行っている間も、第１副制御部４００は通常処理を継続する。この結果、演出実行手段は演出を続けており、装飾図柄表示装置２０８でも、装飾図柄の変動表示が継続されており、主制御部３００が電断時処理を開始して間もない（ｂ）のタイミングでは、左図柄表示領域２０８ａで装飾図柄の停止表示が行われる（いわゆる左図柄停止）。また、（ｃ）のタイミングでは、右図柄表示領域２０８ｃで装飾図柄の停止表示が行われ（いわゆる右図柄停止）、リーチ状態になる。続いて、（ｄ）のタイミングでは、スペシャルリーチ（ここではいわゆるトリプルリーチ）に発展し、（ｅ）のタイミングでは、リーチはずれ演出が一旦行われ、（ｆ）のタイミングでは、装飾図柄の組合せ（ここでは「装飾５−装飾４−装飾５」）が揺れ変動している。第１副制御部４００は、主制御部３００から図柄変動停止コマンドが送られてきたことに基づいて、装飾図柄の組合せを完全停止させて確定停止を行う。ところが、主制御部３００が電断時処理やリセット処理を行っている間は、第１副制御部４００には主制御部３００からコマンドが送信されない。
【０８３３】
この結果、特図の変動時間が経過しても揺れ変動が継続することになる。いつまでも続く揺れ変動を見た遊技者は、パチンコ機１００が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。すなわち、従来の遊技台では、遊技中に静電気などによる瞬間的な電圧低下でリセットが発生した場合にリセット処理を行なう技術が考案されているが、リセット処理には僅かな時間しかかからないため、遊技店側がリセットの発生を把握できず、遊技台に安定した制御を行なわせることができなかったが、本実施形態の遊技台によれば、遊技制御の開始を遅延させることで、遊技者を介してリセットの発生を遊技店員が把握できる。また、リセットの発生を遊技店員が把握できるため、リセットの発生要因を排除する（例えば、遊技台裏の配線等を離す）などして遊技台に安定した制御を行なわせることができる。さらに、この例では、リーチはずれ演出が行われているが、リーチ当り演出が行われてから揺れ変動がいつも以上に継続した場合には、大当りを期待していた遊技者に対して、パチンコ機１００が壊れ、有利な状態にならないように変化してしまったのではないかといった遊技者の不安を一層煽ることができ、遊技者に店員を呼び出させ、遊技店員に瞬断が発生したことを知らせることができる場合がある。
【０８３４】
また、リセット処理が行われている期間は、発射許可信号の出力が停止されており、発射装置１１０からの遊技球の発射ができない。そのため、装飾図柄表示装置２０８による表示は継続しているのに、図１に示す球発射ハンドル１３４をいくら操作しても遊技球が発射されず、遊技者は、パチンコ機１００が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。すなわち、遅延処理中は発射を停止させることで、遊技者を介してリセットの発生を遊技店員が把握できる場合がある。
【０８３５】
さらに、ＸＲＳＴＯ信号が立ち下がるタイミングで主制御部３００の各回路（例えば、駆動回路３２４〜３３４）にクリア信号が出力され、電断時処理やリセット処理が行われている期間は、主制御部３００が駆動する、普図表示装置２１０や、第１特図表示装置２１２や、第２特図表示装置２１４や、普図保留ランプ２１６や、第１特図保留ランプ２１８や、第２特図保留ランプ２２０や、高確中ランプ２２２等の遊技表示手段も表示されず、これらの非表示に気付いた、遊技者は、パチンコ機１００が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。特に、普図保留ランプ２１６や、第１特図保留ランプ２１８や、第２特図保留ランプ２２０や、高確中ランプ２２２といった遊技者が獲得した権利に基づく状態を表示する表示器が、非表示になると、パチンコ機１００が壊れて、こらまで獲得した権利が消滅してしまったのではないかといった遊技者の不安を一層煽ることができ、遊技者に店員を呼び出させ、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。また、見方を変えれば、店員に遊技客に対してお詫びをする機会が与えられ、遊技客とのコミニュケーションが図れ、アットホームな遊技店を実現する手助けになる可能性がある。
【０８３６】
主制御部３００では、ランダム延長処理（ステップＳＨ０９）が終了すると、ここで初めてユーザモードに移行し、通常処理（図８８に示す主制御部メイン処理）が開始される。図８８に示す主制御部メイン処理では、主制御部３００への供給電圧が１２Ｖまで復帰しているため、図８９に示す初期設定２が行われ、第１副制御部４００には、ここで初めてクリア信号が出力される（ステップＳ３０５２）。第１副制御部４００は、クリア信号を受信すると各種の初期設定を行う。この初期設定で、装飾図柄表示装置２０８に初期設定時の画面（デフォルト画面）を表示させる。なお、ＷＤＴ３１４１でタイムアウトが生じた場合にも、装飾図柄表示装置２０８にはデフォルト画面が表示される。図１０８に示す（ｇ）のタイミングでは、装飾図柄表示装置２０８に「お待ち下さい。」という文字表示がなされている。すなわち、装飾図柄表示装置２０８の画面は、いつまでたっても終わらなかった揺れ変動から「お待ち下さい。」という文字表示の画面に切り替わり、この一連の表示を見ていた遊技者は、パチンコ機１００が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断が発生したことを知らせることができる場合がある。
【０８３７】
なお、主制御部メイン処理が開始されると、主制御部３００から払出制御部６００にもコマンドが送信されるようになり、発射制御部６３０へ発射許可信号が出力されて、遊技球の発射ができるようになる。
【０８３８】
この例では、主制御部３００がリセット処理から通常処理に移行するタイミングは、装飾図柄の組合せの揺れ変動中（（ｆ）のタイミング以降）であったが、揺れ変動前（（ｆ）のタイミングより前）であっても、装飾図柄表示装置２０８にはデフォルト画面が表示される。
【０８３９】
以上説明した図１０８では、ＷＤＴ３１４１のタイムアウトが生じた場合の例であったが、ＣＰＵ３０４の指定エリア外走行が生じた場合にも同様に、遊技者を介してリセットの発生を遊技店員が把握でき、遊技台に安定した制御を行なわせることができる。また、リセットがかかるようなその他の異常が生じた場合でも、システムリセット動作を行わせるようにしておけば、システムリセット中に遅延処理が実行され、遊技者を介してリセットの発生を遊技店員が把握でき、遊技台に安定した制御を行なわせることができる場合がある。
【０８４０】
以上の説明では、『電源の遮断が検出されるまで繰り返し実行される主処理（例えば、ステップＳ３０１７、Ｓ３０１９、および主制御部タイマ割込み処理）を含む遊技に関する遊技処理を実行する遊技制御部（例えば、主制御部３００）、および前記遊技制御部が前記遊技処理を実行中に該遊技処理の正常な進行を妨げる異常（例えば、ＷＤＴ３１４１のタイムアウトやＣＰＵ３０４の指定エリア外走行）を検出したことに基づいて復帰指示（例えば、システムリセット信号２，３）を行う異常検出部（例えば、リセット制御回路３１４）が設けられた電気的制御手段（例えば、マイクロプロセッサ３０００）を備え、前記遊技制御部（例えば、主制御部３００）は、前記復帰指示に基づいて前記遊技処理の実行を中止するものであって、前記電気的制御手段（例えば、マイクロプロセッサ３０００）は、前記遊技制御部が前記遊技処理の実行を開始するための復帰処理（例えば、システムリセット動作）を前記復帰指示に基づいて行い、該復帰処理を実行している最中に該遊技処理の開始を遅延させる遅延処理（例えば、ステップＳＨ０７，ＳＨ０９）を実行するものであることを特徴とする遊技台。』についての説明がなされている。
【０８４１】
ここで、前記遊技処理の遊技処理プログラムを記憶した記憶部（例えば、内蔵ＲＯＭ３０６）を備え、前記電気的制御手段は、前記遊技処理の実行を再開するための初期化処理（例えば、ステップＳＨ０３の第１内部回路初期化処理）を前記復帰指示に基づいて行うものであって、前記遊技制御部は、前記復帰指示に基づいて前記遊技処理の実行を中止し、前記初期化処理が行われた後、前記記憶部から前記遊技処理プログラムを順次読み出して前記遊技処理を再開するものであって、前記電気的制御手段は、前記初期化処理を完了してから前記遊技処理を開始するまでの間に、該遊技処理の開始時期を遅延させる遅延処理を実行するものであってもよい。すなわち、ここにいう復帰処理は、初期化処理と遅延処理を併せた処理になる。
【０８４２】
また、電源の遮断が検出されるまで繰り返し実行される主処理を含む遊技に関する遊技処理を実行する遊技制御手段と、前記遊技制御手段が前記遊技処理を実行中に該遊技処理の進行を妨げる異常を検出したことに基づいて復帰指示を行う異常検出手段とを備え、前記遊技制御手段は、前記復帰指示に基づいて前記遊技処理の実行を中止し、該遊技処理の実行を再開するための復帰処理を行うものであって、該復帰処理を実行している最中に該遊技処理の再開を遅延させる遅延処理を実行するものであることを特徴とする遊技台。の態様であってもよい。この態様によれば、前記電気的制御手段といった、ハードウェア処理とソフトウェア処理の双方を行うことができる手段に代えて、遊技制御手段といったソフトウェア処理のみを行う手段によって、上記復帰処理を行い、その復帰処理を実行している最中に上記遅延処理を実行する。なお、前記遊技処理の遊技処理プログラムを記憶した第１記憶部と、前記復帰処理の復帰プログラムを記憶した第２記憶部とを備え、前記遊技制御手段は、前記１記憶部から前記遊技処理プログラムを順次読み出して前記遊技処理を実行するものであって、前記電気的制御手段は、前記復帰プログラムにしたがって前記復帰処理を実行するものであってもよい。
【０８４３】
この場合、安定した遊技制御を行うことができる場合がある。すなわち、遊技制御の開始を遅延させることで、遊技者を介してリセットの発生を遊技店員が把握できる場合がある。また、リセットの発生を遊技店員が把握できるため、リセットの発生要因（例えば、静電気を発する電気部品）を特定して対処する（例えば、遊技台裏の配線の配置等を見直す）ことができ、遊技台に安定した制御を行なわせることができる場合がある。また、復帰処理中は遊技処理が行われないため、リセット発生時に遊技領域を転動していた遊技球が復帰処理中に第１特図始動口２３０に進入したとしても進入に基づく処理が行われず、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。また、遊技店員は、遊技球を第１特図始動口２３０などに手で入れることによって、遊技台の状態を確認することができる場合がある。また、復帰処理中は遊技処理が行われないため、本体１０４または前面枠扉１０６を開放したとしても開放に基づく処理が行われず、遊技店員が本体１０４または前面枠扉１０６を開放することで、遊技台の状態を確認することができる場合がある。
【０８４４】
また、これまでの説明において、『前記電気的制御手段（例えば、マイクロプロセッサ３０００）は、異常が発生したか否かを判定するセキュリティチェック処理を前記復帰処理中に行う（例えば、ステップＳＨ０５のセキュリティチェック処理を行う）ものであることを特徴とする遊技台。』についても説明がなされている。
【０８４５】
この場合、復帰処理中にセキュリティチェック処理も行うため、復帰処理が行われている間の時間を有効に活用することができるとともに、セキュリティを向上させることが出来る場合がある。
【０８４６】
なお、前記異常検出部は、前記異常のうちの第１の異常（例えば、ＣＰＵ３０４の指定エリア外走行）があったことに基づいて前記復帰指示のうちの第１の復帰指示（例えば、システムリセット信号）を出力し、前記異常のうちの第２の異常（例えば、ＷＤＴ３１４１のタイムアウト）があったことに基づいて前記復帰指示のうちの第２の復帰指示（例えば、ユーザリセット信号）を出力し、前記電気的制御手段は、前記第１の復帰指示に基づいて前記復帰処理を実行している最中に前記遅延処理を実行し、前記第２の復帰指示に基づいて前記復帰処理を実行している最中に前記遅延処理を実行しないものであってもよい。
【０８４７】
この場合、異常の種類に応じて遊技処理が開始されるまでの時間が異なるため、遊技店員が異常の種類を判別することができる場合がある。
【０８４８】
また、前記第１の異常は、前記第２の異常よりも異常度が高いものであってもよい。
【０８４９】
この場合、異常度の高い第１の異常が発生したときに復帰処理で遅延処理が行われるため、遊技店員は異常度が高い異常に基づくリセットが発生したことを確認することができる場合がある。
【０８５０】
また、前記電気的制御手段は、前記第１の復帰指示に基づいて前記復帰処理を実行している最中に前記セキュリティチェック処理を実行し、前記第２の復帰指示に基づいて前記復帰処理を実行している最中に前記セキュリティチェック処理を実行しないものであってもよい。
【０８５１】
なお、遊技領域に向けて遊技球を発射する発射手段（例えば、発射装置１１０）を備え、前記発射手段は、前記遅延処理が実行されている間は遊技球の発射を停止するものであってもよい。
【０８５２】
この場合、遊技者は、パチンコ機１００が壊れたのではないかと不安に思い、遊技店の店員を呼ぶことが期待でき、遊技店員に瞬断やリセットが発生したことを知らせることができる場合がある。すなわち、遅延処理中は発射を停止させることで、遊技者を介してリセットの発生を遊技店員が把握できる場合がある。
【０８５３】
また、前記遊技処理の遊技処理プログラムを記憶した記憶部（例えば、内蔵ＲＯＭ３０６）を備え、前記遊技制御部（例えば、主制御部３００）は、前記記憶部から前記遊技処理プログラムを読み出して前記遊技処理を実行するものであって、前記記憶部（例えば、内蔵ＲＯＭ３０６）は、この記憶部に記憶された内容（例えば、ユーザプログラム）に基づいて得られる所定の認証情報（例えば、認証コード）を格納したものであり、前記電気的制御手段（例えば、マイクロプロセッサ３０００）は、前記記憶部に記憶されている内容に基づいて前記認証情報を前記復帰処理中に取得し、取得した認証情報が該記憶部に格  納されている前記所定の認証情報に一致するか否かの判定を該復帰処理中に行う（例えば、ステップＳＨ０５のセキュリティチェック処理を行う）ものであってもよい。
【０８５４】
この場合、復帰処理中に所定の認証情報に一致するか否かの判定を行うため、復帰処理が行われている間の時間を有効に活用することができるとともに、セキュリティを向上させることが出来る場合がある。
【０８５５】
なお、前記電気的制御手段は、取得した認証情報が該記憶部に格納されている前記所定の認証情報に一致したことに基づいて、前記遅延処理を実行するものであってもよい。
【０８５６】
また、前記遊技制御部は、取得した認証情報が該記憶部に格納されている前記所定の認証情報に不一致であったことに基づいて、動作を停止するものであってもよい。
【０８５７】
また、前記電気的制御手段は、前記遊技処理の開始を、予め定まった時間遅延させる第一遅延処理（例えば、ステップＳＨ０７の固定延長処理）、および変更可能な時間遅延させる第二遅延処理（例えば、ステップＳＨ０９のランダム延長処理）のうち少なくともいずれか一方の処理を行うものであってもよい。
【０８５８】
また、前記電気的制御手段は、前記遊技処理の開始を予め定まった時間遅延させる第一遅延処理を行った後で、外部に対してリセット指示（例えば、リセット出力端子（ＸＲＳＴＯ端子）からリセット信号）を出力し、その後、該遊技処理の開始を変更可能な時間遅延させる第二遅延処理処理を行うものであってもよい。ここにいう変更可能時間とは、前記電気的制御手段の製造時や設定時に、複数の用意された時間の中から選択された時間であってもよいし、任意に変えられる時間であってもよい。
【０８５９】
この場合、遊技処理の開始タイミングと外部に対してのリセット指示の出力タイミングとが異なるため、有利な乱数が取得可能な最初のタイミングを不正者が解析困難にすることができ、不正者の不正行為を防止することができる場合がある。
【０８６０】
また、前記遊技制御部は、前記遊技処理の中で、所定の数値範囲（例えば、乱数生成範囲）で数値を繰り返し更新し更新した数値を用いて所定の抽選処理（例えば、特図の当否判定）を実行するものであって、前記電気的制御手段は、前記復帰処理の中で、前記数値を初期化する（例えば、ステップＳＨ０３の第１内部回路初期化処理を実行する）ものであってもよい。
【０８６１】
また、前記遊技制御部によって制御される遊技表示手段（例えば、普図表示装置２１０や、第１特図表示装置２１２や、第２特図表示装置２１４や、普図保留ランプ２１６や、第１特図保留ランプ２１８や、第２特図保留ランプ２２０や、高確中ランプ２２２）を備え、前記遊技表示手段は、前記遅延処理が実行されている間は非表示になるものであってもよい。
【０８６２】
この場合、遊技表示手段の表示が行われるはずが行われないため、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。また、遊技店員は、遊技球を第１始動口２３０などに手で入れることによって、遊技台の状態を確認することができる場合がある。
【０８６３】
また、遊技球が進入可能な第１の状態と、該第１の状態より遊技球な進入困難な第２の状態とに変化可能な可変入賞手段（例えば、第２特図始動口２３２、可変入賞口２３４）を備え、前記可変入賞手段は、前記第１の状態の場合に前記復帰指示があったことに基づいて前記第２の状態に変化するものであってもよい。
【０８６４】
この場合、可変入賞手段が第１の状態であるべきなのに第２の状態となるため、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。また、遊技店員は、遊技球を第１始動口２３０などに手で入れることによって、遊技台の状態を確認することができる場合がある。なお、前記可変入賞手段は、前記第１の状態の場合に前記復帰指示があったことに基づいて該第１の状態を維持するものであってもよい。この場合、予め定められた所定時間（例えば、開放時間）以上第１の状態となるため、遊技者に不安を抱かせて遊技店員を呼び易くすることが出来る場合がある。
【０８６５】
また、前記遊技制御部からの指示に基づいて演出を実行する演出実行手段（例えば、装飾図柄表示装置２０８）を備え、前記演出実行手段は、前記遅延処理が実行されている間も演出を継続するものであってもよい。ここで、前記演出実行手段は、前記遊技表示手段よりも大きな表示領域を有するものであってもよい。
【０８６６】
この場合、遅延処理中に遊技者を退屈させないようにすることができる場合がある。    また、前記電気的制御手段は、前記復帰指示に基づいて、第１復帰処理と第２復帰処理を選択的に実行するものであり、前記第１復帰処理の復帰動作を記憶した第１復帰動作記憶部と、前記第２復帰処理の復帰動作を記憶した第２復帰動作記憶部と、を備え、前記電気的制御手段は、前記第１復帰処理を選択した場合には前記第１復帰動作記憶部に記憶された復帰動作にしたがって前記第１復帰処理を実行し、前記第２復帰処理を選択した場合には前記第２復帰動作記憶部に記憶された復帰動作にしたがって前記第２復帰処理を実行するものであってもよい。
【０８６７】
また、前記遊技制御部は、前記遊技処理の中で、所定の数値範囲で数値を繰り返し更新し更新した数値を用いて所定の抽選処理を実行するものであって、前記電気的制御手段は、前記復帰指示に基づいて、前記数値を初期化する第１復帰処理（例えば、ステップＳＨ０３の第１内部回路初期化処理）と、該数値を該復帰指示がなされる前の値に保持する第２復帰処理（例えば、ステップＳＨ１１の第２内部回路初期化処理）を選択的に実行するものであってもよい。
【０８６８】
また、本発明を所定数の遊技球を循環して使用する封入式遊技機に適用してもよい。また、主制御部３００と副制御部４００は双方向通信でもよいし、主制御部３００と副制御部４００の機能を備えた１つの制御部を代わりに設けてもよい。
【０８６９】
従来より、遊技台として、遊技盤の遊技領域に遊技球の落下の方向に変化を与える障害物や、遊技球が入賞可能な入賞口、始動口、可変入賞口などを設け、これらに遊技球が入賞すると賞球を払い出すなど遊技者に特典が与えられるようにした弾球遊技機（パチンコ機）が知られている。この弾球遊技機では、遊技球が始動口へ進入したことに基づいて当否判定の抽選処理を行い、当否判定の結果に応じて、可変入賞口を所定時間開放させる等、遊技者に有利な遊技状態を発生させるようにしている。
【０８７０】
また、メダル（遊技媒体）を投入してスタートレバーを操作することでリールを回転させるとともに、内部抽選によって役を内部決定し、ストップボタンを操作することでリールを停止させたときに、図柄表示窓上に内部決定に応じて予め定められた図柄の組み合わせが表示されると役が成立し、メダルの払い出しを伴う役が成立した場合には、規定数のメダルを払い出すなど遊技者に特典が与えられるようした回胴遊技機（スロットマシン）も知られている。
【０８７１】
ところで、遊技店の営業中に、遊技台の電気系統に異常が発生し、遊技台の電源が遮断（電断）することがある。電源断した遊技台は、その後、遊技に支障がないように即座に自動的に復電する（電源が投入される）。このため、遊技台が電断したことに遊技店側がその場では気づかないことがある。また、遊技台のプログラムが想定外の動作をした場合等、何らかの異常が生じた場合には、一旦リセットがかかる。しかしながらリセットがかかるような異常が生じた場合でも、遊技に支障がないように即座に自動的に復帰する。
【０８７２】
遊技台の電気系統に異常が発生した原因や、リセットがかかるような異常が生じた原因としては、様々なことが考えられ、遊技店側としては電断が生じたことや、リセットがかかるような異常が生じたことを、その場で把握したい場合がある。
【０８７３】
一方、上記遊技台によれば、電気系統の異常が発生したことや、リセットがかかるような異常が生じたことを、遊技店側がその場で把握する機会を生じさせやすい。また、遊技制御の開始を遅延させることで、遊技者を介してリセットの発生を遊技店員が把握でき、遊技店員がリセットの発生要因を特定して対処する（例えば、遊技台裏の配線の配置等を見直す）ことができ、遊技台に安定した制御を行なわせることができる場合がある。
【０８７４】
以下、これまで説明したことも含めて付記する。
【０８７５】
（付記１）
遊技に関する複数種類の処理を含む遊技制御を行う遊技制御手段と、
前記遊技制御手段の処理の進行に関する異常を検出するとともに、該異常を検出した場合には前記遊技制御手段に復帰指示を行う異常検出手段と、
前記遊技制御手段および前記異常検出手段に所定の電圧を供給する電圧供給手段と、を備えた遊技台であって、
前記遊技制御手段は、
前記異常検出手段から前記復帰指示を受けたことに基づいて行われる復帰処理と、該復帰処理の後に開始され、所定の終了条件が成立するまで繰り返し実行される主処理と、を行い、
前記復帰処理は、前記遊技制御の開始を遅延させる遅延処理を含むことを特徴とする遊技台。
【０８７６】
（付記２）
乱数を生成するものであって、該乱数が生成される数値範囲である乱数生成範囲を設定可能な乱数生成手段（乱数生成回路３１８等）と、
前記乱数生成手段により生成された乱数を用いる抽選処理を含む、遊技に関する複数種類の処理を行う遊技制御手段（ＣＰＵ３０４等）と、
前記遊技制御手段の処理の進行に関する異常があるか否かを検出する処理を実行するとともに、該異常を検出した場合には前記遊技制御手段の処理を特定の処理から再開させて前記遊技制御手段の処理を正常に復帰させるための復帰指示（システムリセット又はユーザリセット）を前記遊技制御手段に対して行う異常検出手段（リセット制御回路３１４等）と、を備え、
前記乱数生成手段は、
前記乱数生成範囲を設定するための乱数範囲設定指示を前記遊技制御手段から受けたことに基づいて前記乱数生成範囲を更新する生成範囲更新処理（図８９のステップＳ３０５３）を実行するものであり、
前記遊技制御手段は、
前記異常検出手段から前記復帰指示を受けた際に、該復帰指示が行われる前に設定された前記乱数生成範囲と同じ数値範囲を前記乱数生成範囲として設定するための前記乱数範囲設定指示を前記乱数生成手段に対して行う（図８９のステップＳ３０５３）ものであることを特徴とする遊技台（パチンコ機１００やスロットマシン１１００）。
【０８７７】
（付記３）
付記２記載の遊技台であって、
前記異常検出手段は、
所定の開始条件が成立したことに基づいて経過時間の計測を開始し、該経過時間が特定時間を超えたか否かを判定するとともに、該経過時間が特定時間を超えたと判定したことに基づいて前記遊技制御手段に復帰指示を行う（図７５のＷＤＴ３１４１の説明参照）ものであることを特徴とする遊技台。
【０８７８】
（付記４）
所定の数値範囲で所定の周期ごとに更新され、遊技に関する抽選に用いられる乱数を生成する乱数生成手段（乱数生成回路３１８等）と、
前記乱数の更新に関する異常を検出する更新異常検出手段（周波数監視回路３１８２と乱数監視回路３１８４）と、
前記異常検出手段により前記異常が検出されたことに基づいて、所定条件が成立するまで前記異常検出手段により前記異常が検出されたことを示す異常検出情報を保持する異常検出情報保持手段（内部情報レジスタ３１０１）と、
所定のタイミングで前記異常検出情報保持手段を参照し、前記異常検出情報保持手段により前記異常検出情報が保持されていたことに基づいて、所定の異常対応処理を実行する異常対応処理手段（ＣＰＵ３０４と図９５のデバイス監視処理および入賞受付処理）と、を備えたことを特徴とする遊技台。
【０８７９】
（付記５）
付記４記載の遊技台であって、
前記異常検出情報保持手段は、
前記異常検出情報を保持している状態において前記異常対応処理手段により参照されたことに基づいて、前記異常検出情報が消去されるものであること（内部情報レジスタの説明参照）を特徴とする遊技台。
【０８８０】
＜主制御部の第１変形例＞
図１０９（ａ）は、主制御部の構成の第１変形例を示した図である。この例では、ＣＰＵ３０４は、リセット信号入力端子ＸＳＲＳＴを備え、このリセット信号入力端子ＸＳＲＳＴには、ランダム遅延回路３１７が接続されている。なお、端子名称の先頭に付した「Ｘ」の文字は、端子に入出力する信号がローアクティブであることを示しているが、ハイアクティブでもよいことは言うまでもない（以下同様）。
【０８８１】
また、ランダム遅延回路３１７の入力端子には、電圧監視回路３３８が出力する低電圧信号と、ＷＤＴ３１４が出力するＷＤＴ起動信号の２つが入力されている。電圧監視回路３３８は、電源制御部６６０から主制御部３００に供給している電源の電圧値が所定の値（本実施形態では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号（例えば、Ｌレベルの信号）を出力する。また、ＷＤＴ３１４は、ＷＤＴのタイムアウトによってＷＤＴ起動信号（例えば、Ｌレベルの信号）を出力する。
【０８８２】
ランダム遅延回路３１７は、電圧監視回路３３８が出力する低電圧信号、または、ＷＤＴ３１４が出力するＷＤＴ起動信号を入力端子から入力した後、ランダムに選択した遅延時間の経過を待って、当該入力信号をＣＰＵ３０４のリセット信号入力端子ＸＳＲＳＴに向けて出力する。図９を用いて説明したように、ＣＰＵ３０４は、リセット信号入力端子ＸＳＲＳＴに所定期間（例えば、システムクロックの４周期分の期間）以上のＬレベルの信号が入力された後にＨレベルの信号が入力された場合にシステムリセット（初期化）される。このため、この例では、ＣＰＵ３０４は、電圧監視回路３３８が出力する低電圧信号、または、ＷＤＴ３１４が出力するＷＤＴ起動信号のいずれかに遅延時間を付加した信号に基づいてシステムリセット（初期化）される。
【０８８３】
＜主制御部の第２変形例＞
図１０９（ｂ）は主制御部の構成の第２変形例を示した図である。この例では、ＷＤＴ３１４が出力するＷＤＴ起動信号を、ランダム遅延回路３１７を介さずにＣＰＵ３０４のリセット信号入力端子ＸＳＲＳＴに向けて直接、出力するように構成している。このため、この例では、ＣＰＵ３０４は、電圧監視回路３３８が出力する低電圧信号の出力タイミングを遅延時間だけ遅延させた信号、または、ＷＤＴ３１４が出力するＷＤＴ起動信号（遅延時間なし）に基づいてシステムリセット（初期化）される。
【０８８４】
同図（ｃ）は、上述のランダム遅延回路３１７、電圧監視回路３３８、およびＷＤＴ３１４を有して構成されたリセット回路の構成例を示した図である。この例では、ＣＰＵ３０４を、（１）ＷＤＴ３１４が出力するＷＤＴ起動信号（遅延時間なし）に基づいてシステムリセット、（２）ＷＤＴ３１４が出力するＷＤＴ起動信号にランダム遅延回路３１７で選択した遅延時間だけ出力タイミングを遅延させた信号に基づいてシステムリセット、（３）ＷＤＴ３１４が出力するＷＤＴ起動信号をリセット信号入力端子ＸＳＲＳＴに入力させずに低電圧信号のみに基づいてシステムリセット、の３つの状態のいずれかをＣＰＵ３０４が選択可能に構成している。また、ランダム遅延回路３１７によって付加される遅延時間の設定が可能で、ＷＤＴ起動信号に付加する遅延時間と低電圧信号に付加する遅延時間を個別に設定可能に構成している。これらの選択や設定、ＷＤＴ３１４のスタートやリセットは、例えば、ＣＰＵ３０４のデータ入出力端子Ｄ０〜Ｄ７を介してリセット回路に内蔵したレジスタに設定値を書き込んだり、リセット回路の所定の入力端子に所定のレベルの信号（設定値に対応する信号）を入力したりすることで行われる。
【０８８５】
＜リセット回路の第１変形例＞
図１１０（ａ）は、図１０９（ｃ）に示すリセット回路の第１変形例を示した図である。この例では、リセット回路に内蔵された第一ＷＤＴ３１４ａとは別に、ＣＰＵ３０４にも第二ＷＤＴ３１４ｂを内蔵している。そして、ＣＰＵ３０４は、リセット信号入力端子ＸＳＲＳＴに入力するリセット信号によってシステムリセット（外部リセット）を行うか、内蔵する第二ＷＤＴ３１４ｂのタイムアウトによってシステムリセット（内部リセット）を行うか、の選択が可能なレジスタを備えている。
【０８８６】
＜リセット回路の第２変形例＞
同図（ｂ）は、図１０９（ｃ）に示すリセット回路の第２変形例を示した図である。この例では、ＣＰＵ３０４が、リセット回路に内蔵していたランダム遅延回路３１７を内蔵しているとともに、リセット信号出力端子ＸＲＳＴＯを備えている。そして、ＣＰＵ３０４は、外部リセットに基づいてリセット信号出力端子ＸＲＳＴＯからリセット信号を出力するか、内部リセットに基づいてリセット信号出力端子ＸＲＳＴＯからリセット信号を出力するか、の選択が可能なレジスタを備えている。また、ＣＰＵ３０４は、リセット信号出力端子ＸＲＳＴＯから出力するリセット信号に、ランダム遅延回路３１７が選択する遅延時間を付与するか否かの選択が可能なレジスタも備えており、また、外部リセットに基づくリセット信号の出力タイミングを遅延させるための遅延時間と、内部リセットに基づくリセット信号の出力タイミングを遅延させるための遅延時間を個別に設定可能に構成している。
【０８８７】
＜リセット回路の第３変形例＞
図１１１（ａ）は、図１０９（ｃ）に示すリセット回路の第３変形例を示した図である。この例では、電圧監視回路３３８から出力される低電圧信号の出力タイミングを遅延させる遅延時間を設定するための第１ランダム遅延回路３１７ａと、ＷＤＴが出力するＷＤＴ起動信号の出力タイミングを遅延させる遅延時間を設定するための第２ランダム遅延回路３１７ｂと、を別に設けている。すなわち、この例では、ＣＰＵ３０４を、（１）電圧監視回路３３８が出力する低電圧信号に、第１ランダム遅延回路３１７ａで選択した遅延時間だけ出力タイミングを遅延させた信号に基づいてシステムリセット、（２）ＷＤＴ３１４が出力するＷＤＴ起動信号に、第２ランダム遅延回路３１７ｂで選択した遅延時間だけ出力タイミングを遅延させた信号に基づいてシステムリセット、（３）ＷＤＴ３１４が出力するＷＤＴ起動信号（遅延時間なし）に基づいてシステムリセット、の３つの状態のいずれかをＣＰＵ３０４が選択可能に構成している。また、低電圧信号やＷＤＴ起動信号の出力タイミングを遅延させるための各々の遅延時間を第１ランダム遅延回路３１７ａ、第２ランダム遅延回路３１７ｂによって個別に設定可能に構成している。これらの選択や設定、ＷＤＴ３１４のスタートやリセットは、例えば、ＣＰＵ３０４のデータ入出力端子Ｄ０〜Ｄ７を介してリセット回路に内蔵したレジスタに設定値を書き込んだり、リセット回路の所定の入力端子に所定のレベルの信号（設定値に対応する信号）を入力したりすることで行われる。
【０８８８】
＜リセット信号出力端子の接続の一例＞
図１１１（ｂ）は、ＣＰＵ３０４に接続される各種ＩＣの一部を示した図である。この例では、ＣＰＵ３０４は、リセットに関連する端子として、同図（ａ）に示す電圧監視回路３３８が出力する低電圧信号に基づいて生成されるリセット信号が入力されるリセット信号入力端子ＸＳＲＳＴ１と、同図（ａ）に示すＷＤＴ３１４が出力するＷＤＴ起動信号に基づいて生成されるリセット信号が入力されるリセット信号入力端子ＸＳＲＳＴ２と、リセット信号を出力するためのリセット信号出力端子ＸＲＳＴＯの３つの端子を備える。
【０８８９】
図９を用いて説明したように、ＣＰＵ３０４は、リセット信号入力端子ＸＳＲＳＴ１（またはリセット信号入力端子ＸＳＲＳＴ２）に所定期間（例えば、システムクロックの４周期分の期間）以上のＬレベルの信号が入力された後に、当該入力端子にＨレベルの信号が入力された場合にシステムリセット（初期化）される。
【０８９０】
また、リセット信号出力端子ＸＲＳＴＯには、複数（この例では４つ）のＩＣ１１〜ＩＣ１４の入力端子と、他の回路の入力端子が接続されている。ここで、ＩＣ１１〜ＩＣ１４や他の回路としては、例えば、アドレスデコーダやフリップフロップ等のロジックＩＣ、図４に示される各種回路・ＩＣ・装置（例えば、乱数値生成回路、起動信号出力回路、駆動回路、音源ＩＣ、センサ回路、遮蔽装置、装飾図柄表示装置）を適用することができる。また、ＩＣ１１〜ＩＣ１４や他の回路の入力端子としては、回路全体を初期化するためのリセット信号が入力されるリセット端子や、回路の一部を初期化するための信号が入力されるＣＬＲ端子などを適用することができる。
【０８９１】
＜リセット信号出力端子の接続の第１変形例＞
図１１２は、図１１１（ｂ）に示すリセット信号出力端子ＸＲＳＴＯの接続の第１変形例を示した図である。この例では、ＣＰＵ３０４は、上述のリセット信号出力端子ＸＲＳＴＯをＩＣ１１の入力端子９に接続することに加えて、８本のデータ信号端子Ｄ０〜Ｄ７を、ＩＣ１１のデータ信号入力端子１〜入力端子８の各々に接続している。また、ＩＣ１１は、データ信号入力端子１〜入力端子８の各々に対応する出力端子１〜８を備えており、これらの出力端子１〜８を、図示しない第１副制御部４００のＣＰＵ４０４の８本のデータ信号入力端子に接続している。すなわち、ＣＰＵ３０４のデータ信号線が、ＩＣ１１を介して第１副制御部４００のＣＰＵ４０４に入力されており、ＣＰＵ３０４と第１副制御部４００のＣＰＵ４０４は、ＩＣ１１を介して通信可能に構成されている。なお、ＣＰＵ３０４とＣＰＵ４０４を、ＩＣ１１に加えて（または替えて）、上述のＩＣ１２〜ＩＣ１４の一部または全てを介して通信可能に構成してもよい。また、ＣＰＵ３０４とＣＰＵ４０４を、これらのＩＣ１１〜ＩＣ１４に加えて（または替えて）、中継基板を介して通信可能に構成してもよい。
【０８９２】
＜リセット信号出力端子の接続の第２変形例＞
図１１３は、図４を用いて説明した基本回路３０２と、この基本回路３０２に接続される各種ＩＣの一部を示した図である。なお、ここでは、主制御部３００の基本回路３０２について説明するが、主制御部３００の基本回路３０２に替えて（または、加えて）第１副制御部４００の基本回路４０２、第２副制御部５００の基本回路５０２、その他の制御部（例えば、払出制御部６００）の基本回路に相当する回路に適用することもできる。
【０８９３】
基本回路３０２は、リセットに関連する端子として、上述のリセット信号入力端子ＸＳＲＳＴとリセット信号出力端子ＸＲＳＴＯの２つの端子を備える。リセット信号入力端子ＸＳＲＳＴには、ＩＣ０１（例えば、上述のリセット回路や電源監視回路）の出力端子が接続されており、図９を用いて説明したように、基本回路３０２のＣＰＵ３０４は、リセット信号入力端子ＸＳＲＳＴに所定期間（例えば、システムクロックの４周期分の期間）以上のＬレベルの信号が入力された後にＨレベルの信号が入力された場合にシステムリセット（初期化）される。
【０８９４】
また、リセット信号出力端子ＸＲＳＴＯには、複数（この例では４つ）のＩＣ１１〜ＩＣ１４の入力端子と、他の回路の入力端子が接続されている。ここで、ＩＣ１１〜ＩＣ１４や他の回路としては、例えば、アドレスデコーダやフリップフロップ等のロジックＩＣ、図４に示される各種回路・ＩＣ・装置（例えば、乱数値生成回路、起動信号出力回路、駆動回路、音源ＩＣ、センサ回路、遮蔽装置、装飾図柄表示装置）を適用することができる。また、ＩＣ１１〜ＩＣ１４や他の回路の入力端子としては、回路全体を初期化するためのリセット信号が入力されるリセット端子や、回路の一部を初期化するための信号が入力されるＣＬＲ端子などを適用することができる。
【０８９５】
＜固定延長時間とランダム延長時間＞
次に、図１１４を用いて、システムリセット後に基本回路３０２によって実行される固定延長処理とランダム延長処理の時間設定について説明する。図９を用いて説明したように、ＣＰＵ３０４は、セキュリティモードにおいてセキュリティチェック処理→固定延長処理→ランダム延長処理の順番で各々の処理を実行した後、ユーザモードに移行し、遊技制御用プログラムを実行するように構成されている。本実施形態では、固定延長処理の処理時間（固定延長時間）とランダム延長処理の処理時間（ランダム延長時間）の各々をＣＰＵ３０４に予め設定することによって、セキュリティモード（＝セキュリティチェック処理＋固定延長処理＋ランダム延長処理）の時間を、設定した時間分だけ延長することが可能である。
【０８９６】
図１１４（ａ）は固定延長時間の設定例を示したものである。この例では、ＣＰＵ３０４の所定記憶領域に、３ビット長の設定値データ０００Ｂ〜１１１Ｂのいずれかを予め設定することによって、同図に示す時間だけ固定延長時間を延長できるように構成されている。なお、この例では、設定値データが１１１Ｂの場合を除き、固定延長時間は、「２の２２乗×（１／ＳＣＬＫ）×設定値データ」の計算式によって算出される。
【０８９７】
例えば、設定値データを０００Ｂに設定した場合には、システムクロックＳＣＬＫの周波数とは無関係に固定延長時間が０（延長しない）に設定され、設定値データを００１Ｂに設定した場合、システムクロックＳＣＬＫの周波数が８ＭＨｚのときは固定延長時間が約５２５ｍｓ（＝２の２２乗×（１／８ＭＨｚ）×１）に設定され、システムクロックＳＣＬＫの周波数が１０ＭＨｚのときは固定延長時間が約４２０ｍｓ（＝２の２２乗×（１／１０ＭＨｚ）×１）に設定され、システムクロックＳＣＬＫの周波数が１２ＭＨｚのときは固定延長時間が約３５０ｍｓ（＝２の２２乗×（１／１２ＭＨｚ）×１）に設定される。
【０８９８】
なお、この例では、固定延長時間をシステムクロックＳＣＬＫに基づいて算出する例を示したが、例えば、他の設定値（例えば、後述するランダム延長時間）などに基づいて算出してもよいし、システムクロックＳＣＬＫと他の設定値の両方に基づいて算出してもよい。また、システムクロックＳＣＬＫと固定延長時間を反比例の関係にする例を示したが、両者が比例関係にあってもよい。また、設定値データが１１１Ｂの場合には、システムクロックＳＣＬＫの周波数とは無関係に固定延長時間を共通の約３００００ｍｓに設定する例を示したが、設定値データが１１１Ｂの場合も上述の計算式によって算出してもよいし、最大値を設定してもよい。また、設定値データのデータ長は３ビットに限定されず、延長時間の種類を増やしてもよい。また、固定延長時間に０を含めずに０より大きい時間に限定してもよい（ＣＰＵ３０４が必ず固定延長処理を実行するものとしてもよい）。また、内部リセットと外部リセットで、異なる固定延長時間の設定を可能に構成してもよい。
【０８９９】
図１１４（ｂ）はランダム延長時間の設定例を示したものである。この例では、ＣＰＵ３０４の所定記憶領域に、２ビット長の設定値データ００Ｂ〜１１Ｂのいずれかを予め設定することによって、同図に示す時間だけランダム延長時間を延長することができるように構成されている。例えば、設定値データを００Ｂに設定した場合、システムクロックＳＣＬＫの周波数とは無関係にランダム延長時間が０（延長しない）に設定され、設定値データを０１Ｂに設定した場合、システムクロックＳＣＬＫの周波数が８ＭＨｚのときはランダム延長時間が０〜０．５ｍｓのランダムな時間（ＣＰＵ３０４のコアによってランダムに選択された時間）に設定され、システムクロックＳＣＬＫの周波数が１０ＭＨｚのときはランダム延長時間が０〜０．４ｍｓのランダムな時間に設定され、システムクロックＳＣＬＫの周波数が１２ＭＨｚのときはランダム延長時間が０〜０．３ｍｓのランダムな時間に設定される。
【０９００】
なお、この例では、ランダム延長時間をシステムクロックＳＣＬＫによって変化させる例を示したが、異なるシステムクロックＳＣＬＫ間で同一に設定してもよい。また、他の設定値（例えば、上述の固定延長時間）などに基づいて算出してもよいし、システムクロックＳＣＬＫと他の設定値の両方に基づいて算出してもよい。また、設定値データのデータ長は２ビットに限定されず、延長時間の種類を増やしてもよい。また、ランダム延長時間に０を含めずに０より大きい時間に限定してもよい（ＣＰＵ３０４が必ずランダム延長処理を実行するものとしてもよい）。また、内部リセットと外部リセットで、異なるランダム延長時間の設定を可能に構成してもよい。また、固定延長時間とランダム延長時間の一方について基準クロックを可変とし、他方については基準クロックを固定に構成してもよい。
【０９０１】
＜ＷＤＴタイムアウト時間＞
次に、図１１５を用いて、ＷＤＴ３１４のタイムアウト時間設定について説明する。なお、同図はＷＤＴ３１４のタイムアウト時間の設定例を示したものである。この例では、ＣＰＵ３０４の所定記憶領域に、４ビット長の設定値データ００００Ｂ〜１０００Ｂのいずれかを予め設定することによって、同図に示す時間だけタイムアウト時間を設定できるように構成されている。例えば、設定値データを００００Ｂに設定した場合には、システムクロックＳＣＬＫの周波数とは無関係にタイムアウト時間が禁止（ＷＤＴを使用しない）に設定され、設定値データを０００１Ｂに設定した場合、システムクロックＳＣＬＫの周波数が８ＭＨｚのときはタイムアウト時間が約６５ｍｓに設定され、システムクロックＳＣＬＫの周波数が１０ＭＨｚのときはタイムアウト時間が約５２ｍｓに設定され、システムクロックＳＣＬＫの周波数が１２ＭＨｚのときはタイムアウト時間が約４４ｍｓに設定される。
【０９０２】
なお、この例では、タイムアウト時間をシステムクロックＳＣＬＫによって変化させる例を示したが、異なるシステムクロックＳＣＬＫ間で同一に設定してもよい。また、他の設定値（例えば、上述の固定延長時間やランダム延長時間）などに基づいて算出してもよいし、システムクロックＳＣＬＫと他の設定値の両方に基づいて算出してもよい。また、設定値データのデータ長は４ビットに限定されず、タイムアウト時間の種類を増やしてもよい。また、タイムアウト時間が上述の固定延長時間よりも小さくなるように設定しているが、タイムアウト時間が上述の固定延長時間よりも大きくなるように設定してもよい。
【０９０３】
＜リセット出力信号とセキュリティモード＞
次に、上述のリセット出力端子ＸＳＲＳＴＯの出力信号の変化と、セキュリティモードの状態変化との関係について説明する。図１１６（ａ）に示す例は、上記図９と同一の状態を示しており、リセット入力端子ＸＳＲＳＴに所定期間以上のＬレベルの信号が入力された後にＨレベルの信号が入力されたことによってセキュリティモードに移行している。そして、このセキュリティモードにおいて、最初にセキュリティチェック処理が実行され、次に、上述の固定延長時間の設定に応じた期間の経過を待つ固定延長処理が実行され、当該固定延長処理が終了したときにリセット出力端子ＸＲＳＴＯからＨレベルの信号を出力し、その後、上述のランダム延長時間の設定に応じたランダムな期間の経過を待つランダム延長処理が終了した場合にユーザモードに移行し、遊技制御用プログラムの実行が開始されている。すなわち、この例では、固定延長処理の終了タイミング（＝ランダム延長処理の開始タイミング）と、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するタイミングを一致させている。
【０９０４】
また、図１１６（ｂ）に示す例は、固定延長処理が終了した後、所定時間が経過したときにリセット出力端子ＸＲＳＴＯからＨレベルの信号を出力し、その後、ランダム延長処理が終了した場合にユーザモードに移行し、遊技制御用プログラムの実行が開始されている。すなわち、この例では、固定延長処理が終了した後、ランダム延長処理が終了してユーザモードに移行する前（遊技制御用プログラムの実行が開始される前）にリセット出力端子ＸＲＳＴＯからＨレベルの信号を出力している。なお、所定時間（固定延長処理が終了してから、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するまでの時間）は、固定時間でもよいし可変時間でもよい。また、固定時間を採用した場合には、例えば、固定延長処理が終了してから、システムクロックＳＣＬＫが所定クロック（例えば、４クロック）経過した後のシステムクロックＳＣＬＫ立上がりエッジ（または、立下りエッジ）までの時間を、所定時間に設定してもよい。また、可変時間を採用した場合には、システムリセットの度に所定時間をランダムな時間に変化させてもよい。
【０９０５】
＜ランダム延長時間を変化させる場合＞
図１１７（ａ）、（ｂ）は、固定延長処理の終了タイミング（＝ランダム延長処理の開始タイミング）と、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するタイミングが一致するが、ランダム延長時間が異なる例を示した図である。すなわち、同図（ａ）と（ｂ）では、固定延長時間の設定値が同一（例えば、設定値＝００１Ｂ、ＳＣＬＫ＝約８ＭＨｚ）であるとともに、ランダム延長時間の設定値も同一（例えば、設定値＝０１Ｂ、ＳＣＬＫ＝８ＭＨｚ）であるが、同図（ａ）では、ランダム延長時間の数値範囲（例えば、０〜０．５ｍｓ）から時間Ａ１（例えば、０．２ｍｓ）が選択されている一方で、同図（ｂ）では、ランダム延長時間の数値範囲（例えば、０〜０．５ｍｓ）から、時間Ａ１よりも長い時間Ａ２（例えば、０．３ｍｓ）が選択されている。なお、この例では、ランダム延長時間の数値範囲として０〜０．５ｍｓを選択しているため、ランダム延長時間が０（ランダム延長時間無し）になる場合も含まれている。
【０９０６】
このように、固定延長時間やランダム延長時間の設定が同じであってもランダム延長時間（Ａ１、Ａ２）を変化させることによって、リセット出力端子ＸＲＳＴＯのＨレベル信号出力から、ユーザモードが開始されるまでの時間（Ａ１、Ａ２）を、システムリセットの度に変化させることができる。このため、リセット信号出力端子ＸＲＳＴＯに接続されたＩＣ１１〜ＩＣ１４や他の回路にＨレベルの信号を出力してから（ＩＣ１１〜ＩＣ１４や他の回路を起動したり初期化してから）、遊技制御用プログラムが実行されるまでの時間を変化させることができ、ＣＰＵ３０４の各端子からの出力信号やＣＰＵ３０４の周辺ＩＣの動作などを手掛かりにして遊技制御用プログラムの実行タイミング（例えば、当否判定の抽選タイミング）を把握するような不正行為を未然に防止できる場合がある。なお、この例では、ランダム延長時間の設定値を同一にしたが、両者のランダム延長時間の設定値を異ならせてもよい。
【０９０７】
＜固定延長時間を変化させる場合＞
図１１７（ｃ）、（ｄ）は、固定延長処理の終了タイミング（＝ランダム延長処理の開始タイミング）と、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するタイミングが一致するが、固定延長時間が異なる例を示した図である。すなわち、同図（ｃ）と（ｄ）では、ランダム延長時間の設定値データは同一（例えば、設定値＝０１Ｂ、ＳＣＬＫ＝８ＭＨｚ）であり、同図（ａ）および（ｂ）でランダム延長時間の数値範囲（例えば、０〜０．５ｍｓ）から同一の時間Ａ１（例えば、０．２ｍｓ）が設定される一方で、同図（ｃ）では、固定延長時間を時間Ｂ１（例えば、設定値＝００１Ｂ、ＳＣＬＫ＝８ＭＨｚ、約５２５ｍｓ）、同図（ｄ）では、固定延長時間を時間Ｂ１よりも長い時間Ｂ２（例えば、設定値＝０１０Ｂ、ＳＣＬＫ＝８ＭＨｚ、約１０５０ｍｓ）に設定している（Ｂ１＜Ｂ２）。
【０９０８】
このように、ランダム延長時間（Ａ１）が同じであっても固定延長時間（Ｂ１、Ｂ２）を変化させることによって、固定延長処理が開始されてからユーザモードが開始されるまでの時間（Ｃ１、Ｃ２）を変化させることができる。このため、ＣＰＵ３０４のシステムリセットから遊技制御用プログラムが実行されるまでの時間をシステムリセットの度に変化させることができ、ＣＰＵ３０４のリセット入力端子ＸＳＲＳＴに入力するリセット信号などを手掛かりにして遊技制御用プログラムの実行タイミング（例えば、当否判定の抽選タイミング）を把握するような不正行為を未然に防止できる場合がある。なお、図１０９では、固定延長時間とランダム延長時間の一方を異ならせる例を示したが、両者が異なるようにすれば、遊技制御用プログラムの実行タイミングを把握するような不正行為を、より確実に防止できる場合がある。
【０９０９】
＜固定延長処理を契機にリセット出力信号を変化させる場合＞
図１１８は、固定延長処理を契機にリセット出力信号を変化させる例を示した図である。この例では、固定延長処理の開始タイミング（＝セキュリティチェック処理の終了タイミング）と、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するタイミングを一致させている。なお、固定延長処理を契機にリセット出力信号を変化させればよいため、例えば、固定延長処理の開始前（例えば、固定延長処理の開始タイミングから２００ｍｓ前）にリセット出力信号を出力してもよいし、固定延長時間の設定値に応じて遅延時間を決定し、当該遅延時間の経過を待ってからリセット出力信号を出力してもよい。また、内部リセット（内蔵するＷＤＴのタイムアウトに基づくリセット）か、外部リセット（ＸＳＲＳＴ端子への信号入力に基づくリセット）かを判別し、当該リセットの種類に応じてリセット出力信号の出力タイミングを決定してもよい。
【０９１０】
また、過去のリセットの種類を記憶する記憶手段を備え、当該記憶手段に記憶されたリセットの種類の履歴に基づいてリセット出力信号の出力タイミングを変化させてもよく、例えば、内部リセットが複数回連続した場合には、リセット出力信号の出力タイミングを前回よりも遅らせたり早めたりしてもよい。
【０９１１】
＜他の出力信号とセキュリティモード＞
図１１９は、ＣＰＵ３０４から出力されるアドレス信号、データ信号、制御信号、およびリセット出力信号の変化と、セキュリティモードの状態変化を示した図である。この例では、ＣＰＵ３０４は、固定延長処理が終了したとき（ランダム延長処理を開始したとき）にリセット出力端子ＸＲＳＴＯからＨレベルの信号を出力するとともに、同じタイミングで外部のＩＣ（例えば、ＲＯＭ３０６、ＲＡＭ３０８）との間でデータのリード（またはライト）を開始している。このため、この例では、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力すると同時に、アドレス信号Ａ０〜Ａ１５端子から１６ビットのアドレス情報（この例では、００００Ｈ）の出力を開始し、制御信号ＸＭ１端子からアドレス情報のラッチタイミング（外部のＩＣがアドレス情報を取り込むタイミング）を示す制御信号を出力し、続けて、データ信号Ｄ０〜Ｄ７端子から８ビットのデータ情報（この例では、オペコード）の出力を開始し、制御信号ＸＭ１端子からデータ情報のラッチタイミング（外部のＩＣがデータ情報を取り込むタイミング）を示す制御信号を出力している。
【０９１２】
なお、この例では、リセット出力端子ＸＲＳＴＯからＨレベルの信号を出力すると同時にアドレス信号と制御信号の出力を開始しているが、例えば、リセット出力よりも前にアドレス信号と制御信号の出力を開始してもよいし、リセット出力よりも後（例えば、セキュリティモードからユーザモードに移行した直後）にアドレス信号と制御信号の出力を開始してもよい。なお、ＸＭ１端子から出力する制御信号は、例えば、ＣＰＵ３０４のマシンサイクルを示す出力信号でもよいし、メモリ空間やＩ／Ｏ空間へのリクエスト出力信号でもよいし、リードサイクルやライトサイクルを示す出力信号でもよい。
【０９１３】
図１２０（ａ）は外部リセット後の他の出力信号の状態変化を示した図であり、同図（ｂ）は内部リセット後の他の出力信号の状態変化を示した図である。この例では、外部リセットの場合には、ランダム延長処理よりも所定時間Ａ１だけ前に、アドレス信号Ａ０〜Ａ１５端子から１６ビットのアドレス情報（この例では、００００Ｈ）の出力を開始し、制御信号ＸＭ１端子からアドレス情報のラッチタイミングを示す制御信号を出力している。一方、内部リセットの場合には、ランダム延長処理よりも所定時間Ａ２（Ａ２＞Ａ１）だけ前に、アドレス信号Ａ０〜Ａ１５端子から１６ビットのアドレス情報（この例では、００００Ｈ）の出力を開始し、制御信号ＸＭ１端子からアドレス情報のラッチタイミングを示す制御信号を出力している。すなわち、この例では、外部リセットと内部リセットで、アドレス信号Ａ０〜Ａ１５端子の信号出力と、制御信号ＸＭ１端子の信号出力のタイミングを異ならせている。
【０９１４】
また、内部リセットの場合には、ＷＤＴ３１４のタイムアウト直後に、アドレス信号Ａ０〜Ａ１５端子から１６ビットのアドレス情報（この例では、Ｅ０００Ｈ）の出力を行うように構成し、外部リセット直後のアドレス情報（例えば、００００Ｈ）と異ならせている。なお、内部リセット直後に出力するアドレス情報と、外部リセット直後に出力するアドレス情報を同一に設定してもよい。
【０９１５】
図１２１（ａ）は外部リセット後の他の出力信号の状態変化の他の例を示した図であり、同図（ｂ）は内部リセット後の他の出力信号の状態変化の他の例を示した図である。この例では、内部リセットの場合には、外部リセットのリセット解除時間Ｂ１よりも長い時間Ｂ２の経過を待って、内部リセットを解除するように設定している。なお、本構成と、上記図１１５を用いて説明した各構成を組み合わせて実現してもよい。
【０９１６】
＜セキュリティモードの開始タイミング＞
図１２２（ａ）は外部システムリセット後のセキュリティモードの開始タイミングの一例を示した図であり、同図（ｂ）は内部システムリセット後のセキュリティモードの開始タイミングの一例を示した図である。この例では、外部システムリセットの場合には、当該外部システムリセットの要因が発生してから（例えば、リセット入力信号ＸＳＲＳＴの立下りエッジを検出してから）、時間Ｃ１（例えば、システムクロックＳＣＬＫの４クロック分の時間）が経過した後にセキュリティモードが開始されるように構成している。一方、内部システムリセットの場合には、内部リセットの要因が発生してから（例えば、ＷＤＴタイマがタイムアウトしてから）、時間Ｃ２（例えば、システムクロックＳＣＬＫの１クロック分の時間）が経過した後にセキュリティモードが開始されるように構成している。
【０９１７】
なお、この例では、外部リセットの要因が発生してからセキュリティモードが開始されるまでの時間Ｃ１を、内部リセットの要因が発生してからセキュリティモードが開始されるまでの時間Ｃ２よりも長くしているが（Ｃ１＞Ｃ２）、外部リセットの要因が発生してからセキュリティモードが開始されるまでの時間Ｃ１を、内部リセットの要因が発生してからセキュリティモードが開始されるまでの時間Ｃ２よりも短くしてもよい（Ｃ１＜Ｃ２）。
【０９１８】
また、上述の例では、セキュリティモードに含まれるランダム延長処理の実行時間（ランダム延長時間）や固定延長処理（固定延長時間）をリセットの要因によらずに自由に設定可能としたが、例えば、外部リセットと内部リセットで、ランダム延長時間の設定用レジスタと固定延長時間の設定用レジスタをそれぞれ一種類だけ備えるように構成し、外部リセットと内部リセットで、ランダム延長時間や固定延長時間を個別に設定することを禁止してもよい（共通の設定だけを許可してもよい）。
【０９１９】
図１２３は、本発明の基本概念を示した図である。本発明では、第１の事象に基づいて第２の事象を開始するときに、第１の事象が第１の要因に起因する場合と、第１の事象が第２の要因に起因する場合と、で第２の事象を開始するタイミングを異ならせることができる。
【０９２０】
例えば、上記図１２２を用いて説明したセキュリティモードの開始タイミングについて考えると、第１の事象（リセット）に基づいて第２の事象（セキュリティモード）を開始する場合に、第１の事象が第１の要因（外部システムリセット）に起因する場合と、第１の事象が第２の要因（内部システムリセット）に起因する場合と、で第２の事象（セキュリティモード）を開始するタイミングを異ならせることができる。このため、第１の要因（外部システムリセット）が発生してから第２の事象（セキュリティモード）が開始されるまでの時間Ｃ１を、第２の要因（内部システムリセット）が発生してから第２の事象（セキュリティモード）が開始されるまでの時間Ｃ２よりも長くしたり（Ｃ１＞Ｃ２）、第１の要因（外部システムリセット）が発生してから第２の事象（セキュリティモード）が開始されるまでの時間Ｃ１を、第２の要因（内部システムリセット）が発生してから第２の事象（セキュリティモード）が開始されるまでの時間Ｃ２よりも短くすることができる。
【０９２１】
また、セキュリティモードを開始するタイミングを異ならせることができるため、その後に実行されるユーザモードを開始するタイミングも異ならせることも可能となる。例えば、第１の事象が第１の要因に起因する場合と、第１の事象が第２の要因に起因する場合と、でセキュリティモードの実行時間が同じであっても、セキュリティモードを開始するタイミングを異ならせれば、第１の事象が第１の要因に起因する場合と、第１の事象が第２の要因に起因する場合と、でユーザモードを開始するタイミングを異ならせることができる。
【０９２２】
また、第１の事象が第１の要因に起因する場合と、第１の事象が第２の要因に起因する場合と、でセキュリティモードを開始するタイミングを異ならせなくても、セキュリティモードの実行時間を異ならせれば、第１の事象が第１の要因に起因する場合と、第１の事象が第２の要因に起因する場合と、でユーザモードを開始するタイミングを異ならせることができる。
【０９２３】
＜他の実施形態＞
次に、他の実施形態に係るパチンコ機について説明する。本実施形態に記載した複数の構成のうち、１つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。
【０９２４】
例えば、図１２４（ａ）は、図２を用いて説明した電源基板１８２、払出基板１７０、および主基板１５６の接続例を示した図である。電源基板１８２は、ＲＡＭクリアスイッチ１８０と、このＲＡＭクリアスイッチ１８０の操作が検出された場合に、検出信号を出力するための検出信号出力端子と、を備える。電源基板１８２のＣＰＵは、ＲＡＭクリアスイッチ１８０の操作の有無を定期的に検出し、検出結果（例えば、操作ありの場合にはＨレベルの信号、操作なしの場合にはＬレベルの信号）を検出信号出力端子から払出基板１７０に向けて出力する。
【０９２５】
払出基板１７０は、電源基板１８２の検出信号出力端子に接続される検出信号入力端子と、この検出信号入力端子を介して取得したＲＡＭクリアスイッチ１８０の操作情報を一時的に記憶するためのＲＡＭクリアスイッチ操作情報一時憶手段１７１（例えば、ＲＡＭ、ＣＰＵのレジスタ、フリップフロップ）と、このＲＡＭクリアスイッチ操作情報一時憶手段１７１に記憶された操作情報を出力するための操作情報出力端子と、を備える。払出基板１７０のＣＰＵは、電源投入後やシステムリセット後の初期処理などにおいて、検出信号入力端子に入力された信号を検出し、ＲＡＭクリアスイッチ１８０が操作されているか否かを示す操作情報（例えば、Ｈレベルの信号を検出した場合には操作ありを示す１の情報、Ｌレベルの信号を検出した場合には操作無しの情報を示す０の情報）をＲＡＭクリアスイッチ操作情報一時憶手段１７１の所定記憶領域に記憶するとともに、当該操作情報に対応する情報（例えば、操作ありの操作情報の場合にはＨレベルの信号、操作無しの操作情報の場合にはＬレベルの信号）を操作情報出力端子から主基板１５６に向けて出力する。
【０９２６】
主基板１５６は、払出基板１７０の操作情報出力端子に接続される操作情報入力端子（上述のＩ／Ｏ４１０）と、ＲＡＭクリアタイミング報知用ＬＥＤ１５５と、を備える。主基板１５６に搭載されたＣＰＵ３０４は、初期設定において、ＲＡＭクリアタイミング報知用ＬＥＤ１５５を点灯させた後に（ＲＡＭクリアが可能であることを報知した後に）、操作情報入力端子（Ｉ／Ｏ３１０）の入力信号を確認し、Ｈレベルの信号を検出した場合には、ＲＡＭ３０８の所定領域の初期化（ＲＡＭクリア）を行う。
【０９２７】
図１２５は、変形例に係る主制御部メイン処理の流れを示すフローチャートであり、上記図１０に対応するフローチャートである。なお、図１０に示すフローチャートと同一の部分については同一の符号を付し、その説明は省略する。また、図１２６は、主制御部メイン処理における初期設定２の流れを示すフローチャートである。
【０９２８】
ＣＰＵ３０４は、初期設定２のステップＳ１２８において、ＲＡＭクリアタイミング報知用ＬＥＤ１５５を点灯させた後に（ＲＡＭクリアが可能であることを報知した後に）、操作情報入力端子（Ｉ／Ｏ３１０）の入力信号を確認し、ＲＡＭクリアスイッチ１８０が操作されているか否かを示す操作情報（例えば、Ｈレベルの信号を検出した場合には操作ありを示す１の情報、Ｌレベルの信号を検出した場合には操作無しの情報を示す０の情報）をＲＡＭ３０８の所定記憶領域に記憶する。
【０９２９】
また、初期設定２の実行後のステップＳ１０９の判定処理では、最初に、ＲＡＭ３０８に操作ありを示す１の情報が記憶されているか否かを判定し、該当する場合（ＲＡＭクリアが必要な場合）には、基本回路３０２を初期状態にすべくステップＳ１１３に進む。一方、操作なしを示す０の情報が記憶されている場合（ＲＡＭクリアが必要でない場合）には、ＲＡＭ３０８に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路３０２を初期状態にすべくステップＳ１１３に進み、電源ステータスの情報がサスペンドを示す情報である場合には、ＲＡＭ３０８の所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値（例えば０）であるか否か（チェックサムの結果が正常であるか否か）を判定する。そして、チェックサムの結果が特定の値（例えば０）の場合（チェックサムの結果が正常である場合）には電断前の状態に復帰すべくステップＳ１１１に進み、チェックサムの結果が特定の値（例えば０）以外である場合（チェックサムの結果が異常である場合）には、パチンコ機を初期状態にすべくステップＳ１１３に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップＳ１１３に進む。
【０９３０】
図１２４に戻って、同図（ｂ）は、図１２４（ａ）に対応する従来の接続態様を示した図である。従来の接続態様では、主基板１５６において上述の固定延長時間として設定データ１１１Ｂ（約３０秒）を設定した場合、セキュリティーモードが終了してユーザモードに移行し、遊技制御用プログラムが開始されるのは、最低でも約３０秒後となる。このため、主基板１５６の遊技制御用プログラムにおいて操作情報入力端子（Ｉ／Ｏ４１０）に入力される信号を検出する構成を採用した場合、ＲＡＭクリアスイッチ１８０が最低でも約３０秒以上操作され続けなければ、ＲＡＭクリアスイッチ１８０の操作の有無を検出することができない上に、外部からは、主基板１５６がＲＡＭクリアスイッチ１８０の操作を検出するタイミングさえも知ることができない。
【０９３１】
これに対して、同図（ａ）に示す本実施形態に係る接続態様では、遊技店の店員などは、ＲＡＭクリアタイミング報知用ＬＥＤ１５５の点灯／消灯を確認することでＲＡＭクリアが可能な状態か否かを即座に判断することができる。このため、ＲＡＭクリアタイミング報知用ＬＥＤ１５５の点灯を待ってＲＡＭクリアスイッチ１８０を操作することで、確実にＲＡＭクリアを行うことができる上に、ＲＡＭクリアスイッチ１８０を長時間に亘って操作し続けるような煩わしさからも解放され、利便性を高めることができる場合がある。また、ＲＡＭクリアタイミング報知用ＬＥＤ１５５の点灯前（ＣＰＵ３０４の遊技制御用プログラムが開始される前に）にＲＡＭクリアスイッチ１８０が操作されてしまった場合でも、払出基板１７０のＣＰＵが起動していれば操作情報を払出基板１７０が記憶することが可能である。このため、主基板１５６は、払出基板１７０のＲＡＭクリアスイッチ操作情報一時憶手段１７１に記憶された操作情報に基づいて、の遊技制御用プログラムの開始後にＲＡＭクリアを確実に実行することができる場合がある。
【０９３２】
なお、本実施形態では、電源基板１８２、払出基板１７０、および主基板１５６の間の信号の入出力を入出力端子を介して行う例を示したが、例えば、通信線を介した制御コマンドの送受信によるものでもよい。また、ＲＡＭクリアスイッチ１８０は、電源基板１８２に配置される例に限定されず、例えば、払出基板１７０に配置してもよい。
【０９３３】
＜主制御部の他の命令＞
次に、主制御部３００が備える他の命令について説明する。なお、以降の説明において、「ｒ」、「ｓ」、「ｓｓ」、または「ｑｑ」は任意のレジスタを表す略号であり、「ｋ」はＴレジスタとペアになる下位アドレスを表す略号であり、「ｎ」は８ビット長の数値（１６進数）を表す略号であり、「ｍｎ」は１６ビット長の数値（１６進数）を表す略号であり、「（  ）」はカッコ内の値が示すアドレスのデータを表す略号である。
【０９３４】
＜他の命令／８ビットロード命令＞
８ビットロード命令は、８ビット長のデータを所定記憶領域にロードする命令であり、例えば、ＬＤ命令、ＬＤＴ命令、またはＣＬＲＴ命令などが該当する。
【０９３５】
例えば、（ＬＤ  Ａ，Ｔ）命令は、Ｔレジスタに記憶されたデータを、Ａレジスタにロードする命令であり、（ＬＤ  Ｔ，ｎ）命令は、８ビット長の数値ｎを、Ｔレジスタにロードする命令である。
【０９３６】
（ＬＤＴ  Ａ，（ｒ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを下位バイトとするアドレスに記憶されたデータを、Ａレジスタにロードする命令であり、（ＬＤＴ  Ａ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、Ａレジスタにロードする命令であり、（ＬＤＴ  ｒ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）にロードする命令である。
【０９３７】
（ＬＤＴ  （ｒ），Ａ）命令は、Ａレジスタに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを下位バイトとするアドレスにロードする命令であり、（ＬＤＴ  （ｋ），Ａ）命令は、Ａレジスタに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、（ＬＤＴ  （ｋ），ｒ）命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令である。
【０９３８】
（ＬＤＴ  （ｋ），（ｓｓ））命令は、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ，ＨＬ）に記憶されたデータが示すアドレスに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、（ＬＤＴ  （ｋ），（ＨＬ＋ｖ））命令は、ＨＬレジスタに記憶されたデータにｖで示されるデータ（ｖ＝１〜７）を加算した加算結果が示すアドレスに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、（ＬＤＴ  （ｋ），（ＨＬ＋ｄ））命令は、ＨＬレジスタに記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令であり、（ＬＤＴ  （ｓｓ），（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ，ＨＬ）に記憶されたデータが示すアドレスにロードする命令である。
【０９３９】
（ＬＤＴ  （ＨＬ＋ｖ），（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ＨＬレジスタに記憶されたデータにｖで示されるデータ（ｖ＝１〜７）を加算した加算結果が示すアドレスにロードする命令であり、（ＬＤＴ  （ＨＬ＋ｄ），（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ＨＬレジスタに記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスにロードする命令であり、（ＬＤＴ  （ｋ），ｎ）命令は、ｎで示される値を、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令である。
【０９４０】
（ＣＬＲＴ  （ｋ））命令は、数値の０を、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードする命令である。
【０９４１】
＜他の命令／１６ビットロード命令＞
１６ビットロード命令は、１６ビット長のデータを所定記憶領域にロードする命令であり、例えば、ＬＤＴ命令、ＬＤＷＴ命令、ＣＬＲ命令、ＣＬＲＷＴ命令などが該当する。具体的には、（ＬＤＴ  ＢＣ，ｎ）命令は、Ｔレジスタに記憶されたデータをＢレジスタにロードし、かつ、ｎで示される数値をＣレジスタにロードする命令であり、（ＬＤＴ  ＤＥ，ｎ）命令は、Ｔレジスタに記憶されたデータをＤレジスタにロードし、かつ、ｎで示される数値をＥレジスタにロードする命令であり、（ＬＤＴ  ＨＬ，ｎ）命令は、Ｔレジスタに記憶されたデータをＨレジスタにロードし、かつ、ｎで示される数値をＬレジスタにロードする命令である。
【０９４２】
（ＬＤＴ  ＩＸ，ｎ）命令は、Ｔレジスタに記憶されたデータを１６ビット長のＩＸレジスタの上位８ビットにロードし、かつ、ｎで示される数値を１６ビット長のＩＸレジスタの下位８ビットにロードする命令であり、（ＬＤＴ  ＩＹ，ｎ）命令は、Ｔレジスタに記憶されたデータを１６ビット長のＩＹレジスタの上位バイトにロードし、かつ、ｎで示される数値を１６ビット長のＩＹレジスタの下位バイトにロードする命令である。
【０９４３】
（ＬＤＴ  ｓｓ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）の上位バイトにロードし、かつ、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスに記憶されたデータを、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）の下位バイトにロードする命令である。
【０９４４】
（ＬＤＴ  ｑｑ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の上位バイトにロードし、かつ、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスに記憶されたデータを、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の下位バイトにロードする命令である。
【０９４５】
（ＬＤＴ  ＨＬ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを、ＨＬレジスタのＬレジスタにロードし、かつＴレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスに記憶されたデータを、ＨＬレジスタのＨレジスタにロードする命令である。
【０９４６】
（ＬＤＴ  （ｋ），ｓｓ）命令は、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ，ＨＬ）の下位バイトに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつｓｓで示されるペアレジスタ（ＢＣ，ＤＥ，ＨＬ）の上位バイトに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスにロードする命令である。
【０９４７】
（ＬＤＴ  （ｋ），ｑｑ）命令は、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の下位バイトに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の上位バイトに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスにロードする命令である。
【０９４８】
（ＬＤＴ  （ｋ），ＨＬ）命令は、Ｌレジスタに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつＨレジスタに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスにロードする命令である。
【０９４９】
（ＬＤＷＴ  （ｒ），ｍｎ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを下位バイトとするアドレスにロードし、かつ１６ビットの数値であるｍｎ＋１で示されるアドレスに記憶されたデータを、Ｔレジスタに記憶されたデータを上位バイト、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを下位バイトとするアドレスに１を加算したアドレスにロードする命令である。
【０９５０】
（ＣＬＲ  （ｓｓ））命令は、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）に数値の０を記憶する命令であり、（ＣＬＲＷ  （ｓｓ））命令は、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ，ＨＬ）に記憶されたデータが示すアドレスに数値の０を記憶するとともに、当該アドレスに１を加算したアドレスに数値の０を記憶する命令であり、（ＣＬＲＷ  （ｑｑ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータが示すアドレスに数値の０を記憶するとともに、当該アドレスに１を加算したアドレスに数値の０を記憶する命令であり、（ＣＬＲＷ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに、数値の０を記憶する命令である。
【０９５１】
（ＣＬＲＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに、数値の０を記憶する命令であり、（ＣＬＲＷＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスにロードし、かつ、数値の０を、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに１を加算したアドレスに数値の０を記憶する命令である。
【０９５２】
このように、ｓｓで示されるレジスタ（ＢＣ，ＤＥ）や、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）は、（ＣＬＲ  （ｓｓ））命令、（ＣＬＲＷ  （ｓｓ））命令、（ＣＬＲＷ  （ｑｑ＋ｄ））命令のオペランドとして指定が可能である。一方、Ｔレジスタ（特殊レジスタ）は、ＣＬＲＴ命令またはＣＬＲＷＴ命令のオペランドとしてのみ指定が可能であることに加えて、オペランドの一部（本実施形態では、ｋで示されるアドレスの下位１バイト）は直値でのみ指定が可能である。このため、Ｔレジスタの値が予期せずに０にクリアされてしまったり、Ｔレジスタに予期しない値が記憶されてしまうような事態を未然に防止できる場合がある。
【０９５３】
＜他の命令／スタック操作命令＞
スタック操作命令は、スタック領域にデータを退避したり、スタック領域からデータを復帰したりするための命令であり、例えば、ＰＵＳＨ命令、ＰＯＰ命令などが該当する。
【０９５４】
例えば、（ＰＵＳＨ  ｓｓ）命令は、ｓｓで示されるペアレジスタ（ＡＦ，ＢＣ，ＤＥ，ＨＬ）の上位バイトに記憶されたデータを、（ＳＰ（スタックポインタ）−１）で示されるアドレスに退避し、かつ、ｓｓで示されるペアレジスタ（ＡＦ，ＢＣ，ＤＥ，ＨＬ）の下位バイトに記憶されたデータを、（ＳＰ−２）で示されるアドレスに退避した後に、ＳＰから２を減算する命令である。また、（ＰＵＳＨ  ＴＩ）命令は、Ｔレジスタに記憶されたデータを、（ＳＰ−１）で示されるアドレスに退避し、かつ、Ｉレジスタに記憶されたデータを、（ＳＰ−２）で示されるアドレスに退避した後に、ＳＰから２を減算する命令である。また、（ＰＵＳＨ  ｑｑ）命令は、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の上位バイトに記憶されたデータを、（ＳＰ−１）で示されるアドレスに退避し、かつ、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の下位バイトに記憶されたデータを、（ＳＰ−２）で示されるアドレスに退避した後に、ＳＰから２を減算する命令である。
【０９５５】
（ＰＵＳＨ  ＡＬＬ）命令は、全てのレジスタ（Ｔ，Ｉ，Ａ，Ｆ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ，ＩＸの上位バイト，ＩＸの下位バイト，ＩＹの上位バイト，ＩＹの下位バイト）に記憶されたデータを、この順番で１バイトずつスタック領域に退避した後に、ＳＰから１４（レジスタの総数）を減算する命令である。また、（ＰＵＳＨ  ＧＰＲ）命令は、一部のレジスタ（Ａ，Ｆ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを、この順番で１バイトずつスタック領域に退避した後に、ＳＰから８を減算する命令である。
【０９５６】
（ＰＯＰ  ｓｓ）命令は、ＳＰで示されるアドレスに記憶されたデータを、ｓｓで示されるペアレジスタ（ＡＦ，ＢＣ，ＤＥ，ＨＬ）の上位バイトに復帰し、かつ、（ＳＰ＋１）で示されるアドレスに記憶されたデータを、ｓｓで示されるペアレジスタ（ＡＦ，ＢＣ，ＤＥ，ＨＬ）の下位バイトに復帰した後に、ＳＰに２を加算する命令である。また、（ＰＯＰ  ＴＩ）命令は、ＳＰで示されるアドレスに記憶されたデータを、Ｉレジスタに復帰し、かつ、（ＳＰ＋１）で示されるアドレスに記憶されたデータを、Ｔレジスタに復帰した後に、ＳＰに２を加算する命令である。また、（ＰＯＰ  ｑｑ）命令は、ＳＰで示されるアドレスに記憶されたデータを、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の下位バイトに復帰し、かつ、（ＳＰ＋１）で示されるアドレスに記憶されたデータを、ｑｑで示されるペアレジスタ（ＩＸ，ＩＹ）の上位バイトに復帰した後に、ＳＰに２を加算する命令である。
【０９５７】
（ＰＯＰ  ＡＬＬ）命令は、ＳＰ、（ＳＰ＋１）、…、（ＳＰ＋１２）、（ＳＰ＋１３）に記憶されたデータを、この順番で全てのレジスタ（ＩＹの下位バイト，ＩＹの上位バイト，ＩＸの下位バイト，ＩＸの上位バイト，Ｌ，Ｈ，Ｅ，Ｄ，Ｃ，Ｂ，Ｆ，Ａ，Ｉ，Ｔ）に１バイトずつ復帰（ＩＹの下位バイト←（ＳＰ）、ＩＹの上位バイト←（ＳＰ＋１）、…、Ｉ←（ＳＰ＋１２）、Ｔ←（ＳＰ＋１３））した後に、ＳＰに１４を加算する命令である。また、（ＰＯＰ  ＧＰＲ）命令は、ＳＰ、（ＳＰ＋１）、…、（ＳＰ＋６）、（ＳＰ＋７）に記憶されたデータを、この順番で一部のレジスタ（Ｌ，Ｈ，Ｅ，Ｄ，Ｃ，Ｂ，Ｆ，Ａ）に１バイトずつ復帰（Ｌ←（ＳＰ）、Ｈ←（ＳＰ＋１）、…、Ｆ←（ＳＰ＋６）、Ａ←（ＳＰ＋７））した後に、ＳＰに８を加算する命令である。
【０９５８】
＜他の命令／算術論理演算命令＞
算術論理演算命令は、各種の論理演算を行うための命令であり、例えば、ＡＤＤ命令、ＳＵＢ命令、ＡＮＤＴ命令、ＯＲＴ命令、ＸＯＲＴ命令、ＣＰＴ命令、ＩＮＣ命令、ＩＮＣＴ命令、ＩＮＣＷＴ命令、ＤＥＣ命令、ＤＥＣＴ命令、ＤＥＣＷＴ命令などが該当する。
【０９５９】
例えば、（ＡＤＤ  Ａ，ｒ）命令は、Ａレジスタに記憶されたデータと、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを加算し、加算結果をＡレジスタに記憶する命令であり、（ＡＤＤＴ  ｒ，（ｋ））命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを加算し、加算結果をｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶する命令である。
【０９６０】
例えば、（ＳＵＢ  ｒ）命令は、Ａレジスタに記憶されたデータから、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを減算し、減算結果をＡレジスタに記憶する命令であり、（ＳＵＢＴ  ｒ，（ｋ））命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、減算結果をｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶する命令である。
【０９６１】
例えば、（ＡＮＤＴ  （ｋ））命令は、Ａレジスタに記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理積（ＡＮＤ）を算出し、演算結果をＡレジスタに記憶する命令であり、（ＡＮＤＴ  ｒ，（ｋ））命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理積（ＡＮＤ）を算出し、演算結果をｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶する命令である。
【０９６２】
（ＯＲＴ  （ｋ））命令は、Ａレジスタに記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理和（ＯＲ）を算出し、演算結果をＡレジスタに記憶する命令であり、（ＯＲＴ  ｒ，（ｋ））命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の論理和（ＯＲ）を算出し、演算結果をｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）記憶する命令である。
【０９６３】
（ＸＯＲＴ  （ｋ））命令は、Ａレジスタに記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の排他的論理和（ＸＯＲ）を算出し、演算結果をＡレジスタに記憶する命令であり、（ＸＯＲＴ  ｒ，（ｋ））命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータと、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータと、の排他的論理和（ＸＯＲ）を算出し、演算結果をｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶する命令である。
【０９６４】
（ＣＰＴ  （ｋ））命令は、Ａレジスタに記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、演算結果がオーバーフローした場合に所定のフラグを１にセットする一方で、オーバーフローしなかった場合に所定のフラグを０にクリアするとともに、Ｓフラグ、Ｚフラグ、ＴＺフラグ、Ｈフラグ、またはキャリーフラグ（Ｃフラグ）に記憶された値を０から１（または１から０）に変化させる命令である。（ＣＰＴ  ｒ，（ｋ））命令は、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、演算結果がオーバーフローした場合に所定のフラグを１にセットする一方で、オーバーフローしなかった場合に所定のフラグを０にクリアするとともに、Ｓフラグ、Ｚフラグ、ＴＺフラグ、Ｈフラグ、またはキャリーフラグ（Ｃフラグ）に記憶された値を０から１（または１から０）に変化させる命令である。
【０９６５】
（ＩＮＣ  Ｔ）命令は、Ｔレジスタに記憶されたデータに１を加算する命令であり、（ＩＮＣＴ  （ｒ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを下位バイトとするアドレスに記憶されたデータに１を加算する命令であり、（ＩＮＣＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータに１を加算する命令である。また、（ＩＮＣＷＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに１を加算したアドレスに記憶された２バイト長のデータに１を加算する命令である。
【０９６６】
（ＤＥＣ  Ｔ）命令は、Ｔレジスタに記憶されたデータから１を減算する命令であり、（ＤＥＣＴ  （ｒ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを下位バイトとするアドレスに記憶されたデータから１を減算する命令であり、（ＤＥＣＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから１を減算する命令である。また、（ＩＮＣＷＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに１を加算したアドレスに記憶された２バイト長のデータから１を減算する命令である。
【０９６７】
＜他の命令／ローテート  シフト命令＞
算術論理演算命令は、各種の論理演算を行うための命令であり、例えば、ＲＬＣ命令、ＲＬＣＴ命令、ＲＲＣ命令、ＲＲＣＴ命令、ＲＬ命令、ＲＬＴ命令、ＲＲ命令、ＲＲＴ命令、ＳＬＡ命令、ＳＬＡＴ命令、ＳＲＡ命令、ＳＲＡＴ命令、ＳＲＬ命令、ＳＲＬＴ命令などが該当する。
【０９６８】
例えば、（ＲＬＣ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを左に（ＬＳＢからＭＳＢ側に）１ビットだけローテートし、ＭＳＢからシフトアウトされたビットをＬＳＢとキャリーフラグに記憶する命令であり、（ＲＬＣ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを左に１ビットだけローテートし、ＭＳＢからシフトアウトされたビットをＬＳＢとキャリーフラグに記憶する命令であり、（ＲＬＣ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを左に１ビットだけローテートし、ＭＳＢからシフトアウトされたビットをＬＳＢとキャリーフラグに記憶する命令であり、（ＲＬＣＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを左に１ビットだけローテートし、ＭＳＢからシフトアウトされたビットをＬＳＢとキャリーフラグに記憶する命令である。
【０９６９】
（ＲＲＣ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを右に（ＭＳＢからＬＳＢ側に）１ビットだけローテートし、ＬＳＢからシフトアウトされたビットをＭＳＢとキャリーフラグに記憶する命令であり、（ＲＲＣ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを右に１ビットだけローテートし、ＬＳＢからシフトアウトされたビットをＭＳＢとキャリーフラグに記憶する命令であり、（ＲＲＣ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを右に１ビットだけローテートし、ＬＳＢからシフトアウトされたビットをＭＳＢとキャリーフラグに記憶する命令であり、（ＲＲＣＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に１ビットだけローテートし、ＬＳＢからシフトアウトされたビットをＭＳＢとキャリーフラグに記憶する命令である。
【０９７０】
（ＲＬ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを左に（ＬＳＢからＭＳＢ側に）１ビットだけローテートし、キャリーフラグに記憶されていたビットをＬＳＢに記憶し、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令であり、（ＲＬ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを左に１ビットだけローテートし、キャリーフラグに記憶されていたビットをＬＳＢに記憶し、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令であり、（ＲＬ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを左に１ビットだけローテートし、キャリーフラグに記憶されていたビットをＬＳＢに記憶し、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令であり、（ＲＬＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを左に１ビットだけローテートし、キャリーフラグに記憶されていたビットをＬＳＢに記憶し、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令である。
【０９７１】
（ＲＲ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを右に（ＭＳＢからＬＳＢ側に）１ビットだけローテートし、キャリーフラグに記憶されていたビットをＭＳＢに記憶し、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令であり、（ＲＲ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを右に１ビットだけローテートし、キャリーフラグに記憶されていたビットをＭＳＢに記憶し、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令であり、（ＲＲ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを右に１ビットだけローテートし、キャリーフラグに記憶されていたビットをＭＳＢに記憶し、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令であり、（ＲＲＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に１ビットだけローテートし、キャリーフラグに記憶されていたビットをＭＳＢに記憶し、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶する命令である。
【０９７２】
（ＳＬＡ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを左に（ＬＳＢからＭＳＢ側に）１ビットだけシフトし、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＬＳＢに０を記憶する命令であり、（ＳＬＡ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを左に１ビットだけシフトし、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＬＳＢに０を記憶する命令であり、（ＳＬＡ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを左に１ビットだけシフトし、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＬＳＢに０を記憶する命令であり、（ＳＬＡＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを左に１ビットだけシフトし、ＭＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＬＳＢに０を記憶する命令である。
【０９７３】
（ＳＲＡ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを右に（ＭＳＢからＬＳＢ側に）１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに直前のＭＳＢの値を記憶する命令であり、（ＳＬＡ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを右に１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに直前のＭＳＢの値を記憶する命令であり、（ＳＬＡ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを右に１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに直前のＭＳＢの値を記憶する命令であり、（ＳＬＡＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに直前のＭＳＢの値を記憶する命令である。
【０９７４】
（ＳＲＬ  ｒ）命令は、ｒで示されるレジスタ（Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを右に（ＭＳＢからＬＳＢ側に）１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに０を記憶する命令であり、（ＳＲＬ  （ＨＬ））命令は、ＨＬレジスタに記憶されたデータを右に１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに０を記憶する命令であり、（ＳＲＬ  （ｑｑ＋ｄ））命令は、ｑｑで示されるレジスタ（ＩＸ，ＩＹ）に記憶されたデータにｄで示されるデータ（ｄ＝８〜１２７、−１〜−１２８）を加算した加算結果が示すアドレスに記憶されたデータを右に１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに０を記憶する命令であり、（ＳＲＬＴ  （ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを右に１ビットだけシフトし、ＬＳＢからシフトアウトされたビットをキャリーフラグに記憶し、ＭＳＢに０を記憶する命令である。
【０９７５】
＜他の命令／ビット操作命令＞
ビット操作命令は、ビット単位で各種の操作を行うための命令であり、例えば、ＢＩＴＴ命令、ＳＥＴＴ命令、ＲＥＳＴ命令などが該当する。
【０９７６】
例えば、（ＢＩＴＴ  ｂ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを反転して所定のフラグに記憶する命令であり、（ＳＥＴＴ  ｂ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータに１をセットする命令であり、（ＲＥＳＴ  ｂ，（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータに０をセットする命令である。
【０９７７】
＜他の命令／演算＆ジャンプ命令＞
演算＆ジャンプ命令は、演算と当該演算の演算結果に基づく分岐処理を行うための命令であり、例えば、ＪＣＰＴ命令や、ＪＴＴ命令や、ＪＢＩＴＴ命令などが該当する。
【０９７８】
例えば、（ＪＣＰＴ  Ｚ，Ａ、（ｋ），ｅ）命令は、Ａレジスタに記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、Ｚフラグが１の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが０の場合には後続の命令を実行させる命令であり、（ＪＣＰＴ  ＮＺ，Ａ、（ｋ），ｅ）命令は、Ａレジスタに記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、Ｚフラグが０の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが１の場合には後続の命令を実行させる命令である。
【０９７９】
（ＪＣＰＴ  Ｃ，Ａ、（ｋ），ｅ）命令は、Ａレジスタに記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、キャリーフラグが１の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、キャリーフラグが０の場合には後続の命令を実行させる命令であり、（ＪＣＰＴ  ＮＣ，Ａ、（ｋ），ｅ）命令は、Ａレジスタに記憶されたデータから、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータを減算し、キャリーフラグが０の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、キャリーフラグが１の場合には後続の命令を実行させる命令である。
【０９８０】
（ＪＣＰＴ  Ｚ，（ｋ），ｓｓ，ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに１を加算したアドレスに記憶された２バイトのデータから、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）に記憶された２バイトのデータを減算し、Ｚフラグが１の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが０の場合には後続の命令を実行させる命令であり、（ＪＣＰＴ  ＮＺ，（ｋ），ｓｓ，ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに１を加算したアドレスに記憶された２バイトのデータから、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）に記憶された２バイトのデータを減算し、Ｚフラグが０の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが１の場合には後続の命令を実行させる命令である。
【０９８１】
（ＪＣＰＴ  Ｃ，（ｋ），ｓｓ，ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに１を加算したアドレスに記憶された２バイトのデータから、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）に記憶された２バイトのデータを減算し、キャリーフラグが１の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、キャリーフラグが０の場合には後続の命令を実行させる命令であり、（ＪＣＰＴ  ＮＣ，（ｋ），ｓｓ，ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスと、当該アドレスに１を加算したアドレスに記憶された２バイトのデータから、ｓｓで示されるペアレジスタ（ＢＣ，ＤＥ）に記憶された２バイトのデータを減算し、キャリーフラグが０の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、キャリーフラグが１の場合には後続の命令を実行させる命令である。
【０９８２】
（ＪＴＴ  Ｚ，（ｋ）ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の０を減算し、Ｚフラグが１の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが０の場合には後続の命令を実行させる命令であり、（ＪＴＴ  ＮＺ，（ｋ）ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の０を減算し、Ｚフラグが０の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが１の場合には後続の命令を実行させる命令である。
【０９８３】
（ＪＢＩＴＴ  Ｚ，ｂ，（ｋ），ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータのうち、ｂで示されるビットの反転データをＺフラグに記憶し、Ｚフラグが１の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが０の場合には後続の命令を実行させる命令であり、（ＪＢＩＴＴ  ＮＺ，ｂ，（ｋ），ｅ）命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータのうち、ｂで示されるビットの反転データをＺフラグに記憶し、Ｚフラグが０の場合にはｅで示されるアドレスをＰＣ（プログラムカウンタ）にロードし（ｅで示されるアドレスに分岐し）、Ｚフラグが１の場合には後続の命令を実行させる命令である。
【０９８４】
＜他の命令／演算＆リターン命令＞
演算＆リターン命令は、演算と当該演算の演算結果に基づく復帰処理を行うための命令であり、例えば、ＲＴＴ命令などが該当する。
【０９８５】
例えば、（ＲＴＴ  Ｚ、（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の０を減算し、Ｚフラグが１の場合にはＳＰと（ＳＰ＋１）に記憶されたアドレスをＰＣ（プログラムカウンタ）にロードし（ＳＰと（ＳＰ＋１）で示されるアドレスに復帰し）、Ｚフラグが０の場合には後続の命令を実行させる命令であり、（ＲＴＴ  ＮＺ、（ｋ））命令は、Ｔレジスタに記憶されたデータを上位バイト、ｋで示されるレジスタに記憶されたデータを下位バイトとするアドレスに記憶されたデータから、数値の０を減算し、Ｚフラグが０の場合にはＳＰと（ＳＰ＋１）に記憶されたアドレスをＰＣ（プログラムカウンタ）にロードし（ＳＰと（ＳＰ＋１）で示されるアドレスに復帰し）、Ｚフラグが１の場合には後続の命令を実行させる命令である。
【０９８６】
＜他の命令／複合命令＞
複合命令は、複数の処理を一つにした命令であり、例えば、ＩＮＣＰＬＤ命令、ＩＮＣＰＷＬＤ命令、ＤＥＣＰＬＤ命令、ＤＥＣＰＷＬＤ命令などが該当する。
【０９８７】
（ＩＮＣＰＬＤ  Ａ，ｒ）命令は、Ａレジスタに記憶されたデータから、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを減算し、キャリーフラグが１の場合にＡレジスタに記憶されたデータに１を加算し、キャリーフラグが０の場合にＡレジスタに０を記憶する命令であり、（ＩＮＣＰＬＤ  （ＨＬ），ｒ）命令は、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータから、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを減算し、キャリーフラグが１の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータに１を加算し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータに０を記憶する命令である。
【０９８８】
（ＩＮＣＰＬＤ  Ａ，ｎ）命令は、Ａレジスタに記憶されたデータから、数値ｎを減算し、キャリーフラグが１の場合にＡレジスタに記憶されたデータに１を加算し、キャリーフラグが０の場合にＡレジスタに０を記憶する命令であり、（ＩＮＣＰＬＤ  （ＨＬ），ｎ）命令は、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータから、数値ｎを減算し、キャリーフラグが１の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータに１を加算し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータに０を記憶する命令である。
【０９８９】
（ＩＮＣＰＬＤ  ＨＬ，ｍｎ）命令は、ＨＬレジスタに記憶されたデータから、数値ｍｎを減算し、キャリーフラグが１の場合にＨＬレジスタに記憶されたデータに１を加算し、キャリーフラグが０の場合にＨＬレジスタに０を記憶する命令であり、（ＩＮＣＰＷＬＤ  （ＨＬ），ｍｎ）命令は、ＨＬレジスタに記憶されたデータが示すアドレスと、ＨＬレジスタに記憶されたデータ＋１が示すアドレスに記憶されたデータから、数値ｍｎを減算し、キャリーフラグが１の場合に、ＨＬレジスタに記憶されたデータが示すアドレスと、ＨＬレジスタに記憶されたデータ＋１が示すアドレスに記憶されたデータに１を加算し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータが示すアドレスと、ＨＬレジスタに記憶されたデータ＋１が示すアドレスに記憶されたデータに０を記憶する命令である。
【０９９０】
（ＤＥＣＰＬＤ  Ａ，ｒ）命令は、Ａレジスタに記憶されたデータから１を減算し、キャリーフラグが１の場合に、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータをＡレジスタに記憶し、キャリーフラグが０の場合に、Ａレジスタから１を減算す命令であり、（ＤＥＣＰＬＤ  （ＨＬ），ｒ）命令は、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータから、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを減算し、キャリーフラグが１の場合に、ｒで示されるレジスタ（Ｂ，Ｃ，Ｄ，Ｅ，Ｈ，Ｌ）に記憶されたデータを、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータに記憶し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータから１を減算する命令である。
【０９９１】
（ＤＥＣＰＬＤ  Ａ，ｎ）命令は、Ａレジスタに記憶されたデータから、数値ｎを減算し、キャリーフラグが１の場合に、Ａレジスタに数値ｎを記憶し、キャリーフラグが０の場合に、Ａレジスタに記憶されたデータから１を減算する命令であり、（ＤＥＣＰＬＤ  （ＨＬ），ｎ）命令は、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータから、数値ｎを減算し、キャリーフラグが１の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータに数値ｎを記憶し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータが示すアドレスに記憶されたデータから１を減算する命令である。
【０９９２】
（ＤＥＣＰＬＤ  ＨＬ，ｍｎ）命令は、ＨＬレジスタに記憶されたデータから、数値ｍｎを減算し、キャリーフラグが１の場合に、ＨＬレジスタに数値ｍｎを記憶し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータから１を減算する命令であり、（ＤＥＣＰＷＬＤ  （ＨＬ），ｍｎ）命令は、ＨＬレジスタに記憶されたデータが示すアドレスと、ＨＬレジスタに記憶されたデータ＋１が示すアドレスに記憶されたデータから、数値ｍｎを減算し、キャリーフラグが１の場合に、ＨＬレジスタに記憶されたデータが示すアドレスと、ＨＬレジスタに記憶されたデータ＋１が示すアドレスに記憶されたデータに数値ｍｎを記憶し、キャリーフラグが０の場合に、ＨＬレジスタに記憶されたデータが示すアドレスと、ＨＬレジスタに記憶されたデータ＋１が示すアドレスに記憶されたデータから１を減算する命令である。
【０９９３】
例えば、上述の主制御部メイン処理の基本乱数初期値更新処理（ステップＳ１１５）において、Ａレジスタに普図タイマ乱数値、数値ｎに普図タイマ乱数値の最大値（例えば、１００）をそれぞれ記憶（ロード）した後に、（ＩＮＣＰＬＤ  Ａ，ｎ）命令を実行すれば、キャリーフラグが１の場合、すなわち、普図タイマ乱数値が最大値ではない場合には、普図タイマ乱数値に１を加算し、キャリーフラグが０の場合、すなわち、普図タイマ乱数値が最大値になった場合には、普図タイマ乱数値に０を記憶することができる。このため、（ＩＮＣＰＬＤ  Ａ，ｎ）命令だけで、普図タイマ乱数値の更新を容易に行うことができ、プログラム容量の削減や、処理速度の向上を図ることができる場合がある。
【０９９４】
また、上述の主制御部メイン処理の基本乱数初期値更新処理（ステップＳ１１５）において、Ａレジスタに普図タイマ乱数値、数値ｎに普図タイマ乱数値の最大値（例えば、１００）をそれぞれ記憶（ロード）した後に、（ＤＥＣＰＬＤ  Ａ，ｎ）命令を実行すれば、キャリーフラグが１の場合、すなわち、普図タイマ乱数値が負の値になった場合には、普図タイマ乱数値に普図タイマ乱数値の最大値を記憶し、キャリーフラグが０の場合、すなわち、普図タイマ乱数値が負の値ではない場合には、普図タイマ乱数値から１を減算することができる。このため、（ＤＥＣＰＬＤ  Ａ，ｎ）命令だけで、普図タイマ乱数値の更新を容易に行うことができ、プログラム容量の削減や、処理速度の向上を図ることができる場合がある。なお、この例では、Ａレジスタのみで乱数値を更新する例を示したが、他のレジスタ（例えば、Ｒレジスタ）を併用したり、ハードウェア乱数値を併用してもよい。
【０９９５】
以上説明したように、上記実施形態に係る遊技台は、ＣＰＵ（例えば、ＣＰＵ３０４）と、遊技制御プログラムが少なくとも記憶されているＲＯＭ（例えば、ＲＯＭ３０６）と、を少なくとも内蔵するマイクロプロセッサ（例えば、基本回路３０２）を備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記マイクロプロセッサは、少なくとも所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）を有し、前記マイクロプロセッサは、少なくともランダム延長機能（例えば、ランダム延長処理）を有し、前記ランダム延長機能は、前記遊技制御プログラムの実行開始タイミングをランダムに変化させることが可能なものであり、前記所定の出力端子からの出力は、少なくとも所定のタイミングで第一のレベルから該第一のレベル（例えば、ローレベルの信号）よりも高い第二のレベル（例えば、ハイレベルの信号）に変化するものであり、前記所定のタイミングは、前記ランダム延長機能の実行前である、ことを特徴とする遊技台である。
【０９９６】
また、上記実施形態に係る遊技台は、ＣＰＵ（例えば、ＣＰＵ３０４）と、遊技制御プログラムを記憶するＲＯＭ（例えば、ＲＯＭ３０６）と、を少なくとも内蔵するマイクロプロセッサ（例えば、基本回路３０２）を備えた遊技台であって、前記マイクロプロセッサは、少なくとも所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）を有し、前記マイクロプロセッサは、前記所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）からの所定の信号出力（例えば、リセット出力信号出力）の立上りタイミングまたは立下りタイミング（例えば、ローレベル信号からハイレベル信号に変化させる立上りタイミング）を、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の開始前に実行可能である、ことを特徴とする遊技台である。
【０９９７】
図１２７および図１２８は、本発明に係る所定の出力端子の信号出力の一例を説明するための図である。同図には、所定の出力端子の一例であるリセット出力端子ＸＲＳＴＯの出力信号の電圧変化と、本発明に係る第一のレベルであるか否かを判断するための基準電圧であるローレベルしきい値電圧ＶＬと、本発明に係る第二のレベルであるか否かを判断するための基準電圧であるハイレベルしきい値電圧ＶＨを示している。
【０９９８】
この例では、リセット出力端子ＸＲＳＴＯの出力信号の電圧がローレベルしきい値電圧ＶＬよりも低い場合には第一のレベル（ローレベル）と規定し、リセット出力端子ＸＲＳＴＯから出力する電圧がハイレベルしきい値電圧ＶＨよりも高い場合には第二のレベル（ハイレベル）と規定している。なお、この例では、ローレベルしきい値電圧ＶＬとハイレベルしきい値電圧ＶＨにヒステリシスを持たせているが、本発明はこれに限定されず、例えば、ローレベルしきい値電圧ＶＬとハイレベルしきい値電圧ＶＨを同一の電圧（例えば、ハイレベルの最高電圧が５Ｖ、ローレベルの最低電圧が０Ｖの場合に、両者の平均の２．５Ｖ）に設定してもよい。
【０９９９】
図１２７（ａ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始後に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行中に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。同図（ｂ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始とほぼ同時に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行中に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。
【１０００】
また、同図（ｃ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始前に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行中に、ランダム延長処理の実行開始後に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。同図（ｄ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始前に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行開始とほぼ同時に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。
【１００１】
一方、同図（ｅ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始前に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行開始前に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。図１２８（ａ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了後に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了後に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。また、同図（ｂ）では、リセット出力端子ＸＲＳＴＯの出力信号の電圧を、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了とほぼ同時に、第一のレベル（ローレベル）の電圧からローレベルしきい値電圧ＶＬを超える電圧に変化させた後に、ランダム延長処理の実行開始前、かつ、固定延長処理の実行終了後に、さらにハイレベルしきい値電圧ＶＨを超える電圧に変化させて第二のレベル（ハイレベル）に変化させている。
【１００２】
また、前記マイクロプロセッサは、前記所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）からの所定の信号出力（例えば、リセット出力信号出力）を、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の終了前（または、ランダム遅延処理中）に実行可能であっても、同様の効果を得ることができる。
【１００３】
上記実施形態に係る遊技台によれば、所定の信号出力のタイミングと遊技制御プログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理（例えばソフト乱数の更新処理、初期値更新処理等）の狙い撃ちを防止することができる場合がある。
【１００４】
また、前記所定の出力端子はリセット信号を出力可能な端子であってもよい。このような構成とすれば、例えば、リセット信号を所定の電子部品に接続した場合、遊技制御前に電子部品が動作可能となり、不正な電波を送信した場合に電子部品が動作してしまうため、不正行為を発見しやすくなる場合がある。また、遊技制御プログラムの開始前に電子部品が動作可能なので、電子部品の作動開始タイミングと、遊技制御プログラムの実行開始タイミングとが異なると思わせることにより、遊技制御処理の特定の処理の狙い撃ちを防止することができる場合がある。
【１００５】
また、少なくとも、セキュリティモードおよびユーザモードを備え、前記遊技制御プログラムは、前記ユーザモードで実行されるユーザプログラムであってもよい。
【１００６】
このような構成とすれば、所定の信号出力のタイミングとユーザプログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理（例えばソフト乱数の更新処理、初期値更新処理等）の狙い撃ちを防止することができる場合がある。
【１００７】
また、前記遊技制御プログラムの実行開始は、システムリセットおよびユーザリセットのうちの少なくともいずれか一方を受け付けた後でおこなわれるものであってもよい。
【１００８】
このような構成とすれば、システムリセットまたはユーザリセットの度に所定の信号出力のタイミングと遊技制御プログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理（例えばソフト乱数の更新処理、初期値更新処理等）の狙い撃ちを防止することができる場合がある。
【１００９】
また、少なくとも所定の入力端子を有する所定の電子部品（例えば、ＩＣ１１〜ＩＣ１４）を備え、前記所定の入力端子（例えば、リセット入力端子）は、前記所定の出力端子からの前記所定の信号を入力可能な端子であってもよい。
【１０１０】
このような構成とすれば、遊技制御プログラムの開始前に電子部品が動作可能なので、電子部品の作動開始タイミングと、遊技制御プログラムの実行開始タイミングとが異なると思わせることにより、遊技制御処理の特定の処理の狙い撃ちを防止することができる場合がある。
【１０１１】
図１２９は、ユーザリセット時におけるシステムクロック信号、アドレス信号、データ信号、制御信号、およびリセット出力信号の変化を示した図である。上述のとおり、本実施形態のユーザリセットには、ＷＤＴのタイムアウトによるユーザリセットと、指定エリア外のアクセスによるユーザリセットの２種類があり、プログラム管理エリアの設定により、ユーザリセットを有効に設定している場合に機能する。
【１０１２】
ＷＤＴのタイムアウトによるユーザリセットは、ＷＤＴタイムアウト信号に基づいて発生するリセットであり、当該リセット中はアドレス信号として第一の固定値（例えば、Ｅ０００Ｈ）を出力するように構成している。一方、指定エリア外のアクセスによるユーザリセットは、指定エリア外走行禁止信号に基づいて発生するリセットであり、当該リセット中はアドレス信号として第二の固定値（例えば、８０００Ｈなど、Ｅ０００Ｈ以外の値）を出力するように構成している。
【１０１３】
ユーザリセットが発生すると、ＣＰＵコア、タイマ回路、演算回路、入出力ポート、通信回路、割込みコントローラなどが初期化され、リセットアドレス（００００Ｈ）よりユーザプログラム（遊技制御プログラム）の実行を開始し、起動されていたウォッチドッグタイマも制御プログラムによらずに（自動的に）クリア＆リスタートされる。
【１０１４】
このように、前記マイクロプロセッサは、所定の条件が成立した場合（例えば、図１１５に示すタイムアウト時間が経過した場合）に、所定の信号（例えば、ＷＤＴ起動信号（ＷＤＴタイムアウト信号）や、ＣＰＵ内部の信号）を少なくとも発生させることが可能なウォッチドッグタイマ（例えば、ＷＤＴ３１４、第一ＷＤＴ３１４ａ、第二ＷＤＴ３１４ｂ）と、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な指定エリア外走行禁止回路（例えば、指定エリア外走行禁止回路３１４２）と、を少なくとも有し、前記指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、前記ウォッチドッグタイマのカウンタが停止している期間が少なくとも含まれていてもよい。
【１０１５】
なお、本発明に係る「ウォッチドッグタイマのカウンタが停止している」には、カウンタが一時的に停止している場合、カウンタが初期値や０に設定された後にカウンタが一時的に停止している場合、カウンタのカウントは継続するが、カウンタがタイムアウトする前にカウンタをクリア＆リスタートし続けることによってカウンタが実質的に停止する（タイムアウトさせない）場合、カウンタの値をセキュリティチェック時間の最大処理時間よりも長く設定し、セキュリティチェック中のタイムアウトを回避することによってカウンタが実質的に停止する（タイムアウトさせない）場合などが含まれる。また、「ウォッチドッグタイマのカウンタが停止している期間」には、指定エリア外走行禁止信号の発生から当該信号の発生直後までの期間、指定エリア外走行禁止信号の発生後からシステムクロックが所定クロック経過した後（例えば、指定エリア外走行禁止信号の発生後からシステムクロックの１クロック後の立ち下がりエッジまたは立ち上がりエッジまで）、リセット出力端子ＸＲＳＴＯの出力信号の立上りまでの期間の一部やすべてなども含まれる。また、ＷＤＴをマイコンに内蔵し、ＷＤＴタイムアウトが発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、ＷＤＴ用カウンタが停止している期間が少なくとも含まれ、ＷＤＴをマイコンに内蔵し、指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、ＷＤＴ用カウンタが停止している期間が少なくとも含まれる。
【１０１６】
このような構成とすれば、指定エリア外走行禁止信号に基づくリセット処理を行う際に、ウォッチドッグタイマのタイムアウトを制御プログラムによらずに（自動的に）停止させることができ、指定エリア外走行禁止信号に基づくリセット処理を迅速に行うことができる場合がある。
【１０１７】
また、本実施形態に係るパチンコ機１００は、ＣＰＵ（例えば、ＣＰＵ３０４）と、遊技制御プログラムが少なくとも記憶されているＲＯＭ（例えば、ＲＯＭ３０６）と、を少なくとも備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、所定の条件が成立した場合（例えば、図１１５に示すタイムアウト時間が経過した場合）に、所定の信号（例えば、ＷＤＴ起動信号（ＷＤＴタイムアウト信号）や、ＣＰＵ内部の信号）を少なくとも発生させるウォッチドッグタイマ（例えば、ＷＤＴ３１４、第一ＷＤＴ３１４ａ、第二ＷＤＴ３１４ｂ）を備え、前記ＣＰＵは、前記所定の信号の発生を契機として前記遊技制御プログラムを所定のアドレス（例えば、図６２に示す００００Ｈ番地）から実行可能であり、前記所定の信号の発生から前記遊技制御プログラムの実行開始までの時間を調整可能に構成されている、ことを特徴とする遊技台である。
【１０１８】
本実施形態に係るパチンコ機１００によれば、遊技制御用プログラムが実行されるまでの時間を変化させることができ、遊技制御用プログラムの実行タイミング（例えば、当否判定の抽選タイミング）を把握するような不正行為を未然に防止でき、安定した遊技制御をおこなうことができる場合がある。
【１０１９】
なお、本発明に係るウォッチドッグタイマは、ＣＰＵと別体のもの、ＣＰＵに内蔵のもの、の両方を含み、前者の場合、リセット信号はウォッチドッグタイマからＣＰＵに入力されるため信号線が外部に露出するが、後者の場合、リセット信号はＣＰＵ内部で配線されるため信号線は外部には露出しない。したがって、後者の場合には、ＷＤＴのタイムアウトに基づいてリセット信号が発生したか否か（ＣＰＵにリセットがかかったか否か）を隠蔽することができ、遊技制御用プログラムの実行タイミングを把握するような不正行為を、より確実に防止できる場合がある。
【１０２０】
また、前記ＣＰＵと前記ＲＯＭを少なくとも内蔵するマイクロプロセッサ（例えば、基本回路３０２）を備え、前記マイクロプロセッサは、少なくとも所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）を有し、前記所定の出力端子は、少なくとも所定のタイミングで立ち上がることが可能なものであり、前記所定のタイミングは、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の開始前であってもよい。
【１０２１】
このような構成とすれば、所定の信号出力のタイミングと遊技制御プログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理（例えばソフト乱数の更新処理、初期値更新処理等）の狙い撃ちを防止することができる場合がある。
【１０２２】
また、前記ＣＰＵは、所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）からの信号（例えば、リセット出力信号出力）の出力の立上りタイミングまたは立下りタイミング（例えば、ローレベル信号からハイレベル信号に変化させる立上りタイミング）を、前記遊技制御プログラムの実行開始前に行われるランダム遅延処理の開始前に実行可能であってもよい。
【１０２３】
このような構成とすれば、遊技制御用プログラムが実行されるまでの時間を変化させながらも、リセット信号の発生から所定の信号の出力までの時間を一定にすることができ、安定した遊技制御をおこなうことができる場合がある。
【１０２４】
また、前記所定の出力端子はリセット信号を出力可能な端子であってもよい。このような構成とすれば、例えば、リセット信号を所定の電子部品に接続した場合、遊技制御前に電子部品が動作可能となり、不正な電波を送信した場合に電子部品が動作してしまうため、不正行為を発見しやすくなる場合がある。また、遊技制御プログラムの開始前に電子部品が動作可能なので、電子部品の作動開始タイミングと、遊技制御プログラムの実行開始タイミングとが異なると思わせることにより、遊技制御処理の特定の処理の狙い撃ちを防止することができる場合がある。
【１０２５】
また、少なくとも、セキュリティモードおよびユーザモードを備え、前記遊技制御プログラムは、前記ユーザモードで実行されるユーザプログラムであってもよい。
【１０２６】
このような構成とすれば、所定の信号出力のタイミングとユーザプログラムの実行開始タイミングをずらすことが可能なため、遊技制御処理の特定の処理（例えばソフト乱数の更新処理、初期値更新処理等）の狙い撃ちを防止することができる場合がある。
【１０２７】
また、リセット要因を示す所定の情報（例えば、直前に発生したリセット要因がシステムリセットであるか否かを示す情報）が少なくともセットされるレジスタ（例えば、図１０４に示す第４内部情報レジスタ）を備え、前記遊技制御プログラムは、前記所定の情報に基づく処理（例えば、第４内部情報レジスタから読み出した情報を汎用レジスタに書き込む処理）を含まないように（実行しないように）構成してもよい。
【１０２８】
このような構成とすれば、故意にＣＰＵのリセットを発生させて特定の処理（例えばソフト乱数の更新処理、初期値更新処理等）の実行タイミングなどを狙うような不正行為を防止できる場合がある。
【１０２９】
また、前記マイクロプロセッサは、前記ウォッチドッグタイマと、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な指定エリア外走行禁止回路（例えば、指定エリア外走行禁止回路３１４２）と、を少なくとも有し、前記指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、前記ウォッチドッグタイマのカウンタが停止している期間が少なくとも含まれていてもよい。
【１０３０】
このような構成とすれば、指定エリア外走行禁止信号に基づくリセット処理を行う際に、ウォッチドッグタイマのタイムアウトを制御プログラムによらずに（自動的に）停止させることができ、指定エリア外走行禁止信号に基づくリセット処理を迅速に行うことができる場合がある。
【１０３１】
また、本実施形態に係るパチンコ機１００は、ＣＰＵ（例えば、ＣＰＵ３０４）と、遊技制御プログラムが少なくとも記憶されているＲＯＭ（例えば、ＲＯＭ３０６）と、を少なくとも備えた遊技台であって、前記遊技台は、パチンコ機またはスロットマシンであり、前記ＣＰＵは、少なくとも特定のレジスタ（例えば、Ｔレジスタ）を備え、前記遊技制御プログラムは、所定の処理（例えば、図３１に示す特図１関連抽選処理）と、該所定の処理から呼び出される所定のサブ処理（例えば、図３４のステップＳ１１０３の「保留数記憶領域（ＲＷＭ領域のアドレスＦ０４０Ｈ）に記憶された保留数を、Ａレジスタに転送する処理」）を少なくとも含み、前記所定の処理は、第一の処理と第二の処理（例えば、図３１に示す、特別図柄乱数移行処理、特別図柄当り抽選処理、表示図柄抽選処理、特別図柄変動時間抽選処理、特別図柄変動時間設定処理、特別図柄保留内情報移行処理のうちの２つの処理である第一の処理と第二の処理）を少なくとも含み、前記所定のサブ処理は、前記第一の処理と前記第二の処理の両方から呼び出され、前記特定のレジスタを用いた処理は、前記所定のサブ処理で少なくとも実行可能であることを特徴とする遊技台である。
【１０３２】
なお、本発明に係る第一の処理は、主制御部メイン処理（メインループ処理）から呼び出される処理（例えば、図１０の主制御部メイン処理に示す各処理）、本発明に係る第二の処理は、主制御部タイマ割込処理（タイマ割込処理）から呼び出される処理（例えば、図１４の主制御部タイマ割込処理に示す各処理）でもよく、本発明に係る所定のサブ処理は、これらの主制御部メイン処理から呼び出される処理と、主制御部タイマ割込処理から呼び出される処理の両方から呼び出されるものでもよい。
【１０３３】
本実施形態に係るパチンコ機１００によれば、２つの異なる処理（第一の処理と第二の処理）から呼び出されるサブ処理において、共通の特定のレジスタを用いた処理を実行するため、遊技制御プログラムを簡素化することができ、プログラムのコード量を従来よりも減らすことができる上に、コーディングミスの発生を減少させることができ、安定した遊技制御を行うことができる場合がある。
【１０３４】
また、前記ＣＰＵは、所定の命令（例えば、図６４に示すＲＳＴ命令）を少なくとも実行可能であり、前記所定の命令は、該命令が実行された処理から、予め定められたアドレス（例えば、０００８Ｈ、００１０Ｈ、００１８Ｈ、００２０Ｈ、００２８Ｈ、００３０Ｈ、００３８Ｈ、００４０Ｈの８種類のアドレス）に配置された処理のみを呼出可能な命令であり、前記所定のサブ処理は、前記第一の処理と前記第二の処理の両方から前記所定の命令を用いて呼出可能な処理のうちの一つであってもよい。
【１０３５】
このような構成とすれば、遊技制御プログラムの解析や改ざんが困難となるため、不正にサブ処理を読み出すプログラムを組み込んで不正な利益を得ようとする行為や、不正にＲＡＭに記憶された内部情報を取得するような行為を未然に防止できる場合がある。
【１０３６】
また、前記ＣＰＵは、前記特定のレジスタに値をセットする機能のうち、ロード命令を受けたことに基づいて行われるもの以外のものとして、所定の値を初期値としてセットする機能（例えば、８ビットロード（転送）命令、１６ビットロード（転送）命令、スタック操作命令（１６ビットロード命令の一種）、複合命令など）を少なくとも有してもよい。
【１０３７】
このような構成とすれば、遊技制御プログラムの設計の自由度を高めることができ、安定した遊技制御を行うことができる場合がある。
【１０３８】
また、演出制御を行う演出制御手段（例えば、第１副制御部４００または第２副制御部５００）を備え、前記ＣＰＵは、前記演出制御手段に搭載されず、遊技制御を行う遊技制御手段（例えば、主制御部３００）にのみに搭載されていてもよい。また、演出制御を行う演出制御手段（例えば、第１副制御部４００または第２副制御部５００）と、払出制御を行う払出制御手段（例えば、払出制御部６００）と、を備え、前記ＣＰＵは、前記演出制御手段に搭載されず、遊技制御を行う遊技制御手段（例えば、主制御部３００）および前記払出制御手段のうちの少なくとも一方に搭載されていてもよい。
【１０３９】
このような構成とすれば、遊技制御プログラムの解析や改ざんを、より困難にすることができる場合がある。
【１０４０】
また、前記ＣＰＵと前記ＲＯＭを少なくとも内蔵するマイクロプロセッサ（例えば、基本回路３０２）を備え、前記マイクロプロセッサは、少なくとも所定の出力端子（例えば、リセット出力端子ＸＲＳＴＯ）を有し、前記所定の出力端子は、少なくとも所定のタイミング（例えば、ランダム延長機能の実行前）で立ち上がることが可能なものであり、前記マイクロプロセッサは、所定の条件が成立した場合（例えば、図１１５に示すタイムアウト時間が経過した場合）に、所定の信号（例えば、ＷＤＴ起動信号（ＷＤＴタイムアウト信号）や、ＣＰＵ内部の信号）を少なくとも発生させることが可能なウォッチドッグタイマ（例えば、ＷＤＴ３１４、第一ＷＤＴ３１４ａ、第二ＷＤＴ３１４ｂ）と、正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて、指定エリア外走行禁止信号を少なくとも発生させることが可能な指定エリア外走行禁止回路（例えば、指定エリア外走行禁止回路３１４２）と、を少なくとも有し、前記指定エリア外走行禁止信号が発生してから前記所定のタイミングの間に開始されるセキュリティチェック中に、前記ウォッチドッグタイマのカウンタが停止している期間が少なくとも含まれていてもよい。
【１０４１】
このような構成とすれば、指定エリア外走行禁止信号に基づくリセット処理を行う際に、ウォッチドッグタイマのタイムアウトを制御プログラムによらずに（自動的に）停止させることができ、指定エリア外走行禁止信号に基づくリセット処理を迅速に行うことができる場合がある。
【１０４２】
また、所定の周期で数値を変化させる乱数回路と、所定の抽出条件が成立したことに基づいて前記乱数回路から数値を抽出し、少なくとも該数値に基づいて遊技に関する抽選を行う処理を含む遊技制御処理を行うためのＣＰＵと、前記遊技制御処理の内容が予め記憶されているＲＯＭと、一時的にデータを記憶するためのＲＡＭと、を含んで構成されたマイクロコンピューターを備え、前記ＣＰＵは、電源が遮断される場合に実行される処理であって、前記ＲＡＭの所定領域に当該処理が行われたことを示す所定のデータを記憶させる処理を含む電断時処理を行い、前記ＣＰＵは、前記所定のデータが記憶されている場合には、前記ＲＡＭ領域を初期化する初期化処理を行うことなく前記遊技制御処理を復帰させることが可能である一方、前記所定のデータが記憶されていない場合には、該初期化処理を行うことなく前記遊技制御処理を復帰させることが不可能であり、前記マイクロコンピューターは、電源が投入された場合に入力される起動信号が入力されてから前記遊技制御処理が開始されるまでの時間の長さをランダムに変動させる時間変動処理を行う時間変動用回路、および正当な指定エリア以外の記憶領域のコードが実行されたことに基づいて指定エリア外走行禁止信号を発生させる指定エリア外走行禁止回路を、含んで構成され、前記ＣＰＵは、前記起動信号が入力されたことに基づいて実行されるシステムリセットの場合には、前記マイクロコンピューターによって、前記ＲＯＭが記憶している前記遊技制御処理の内容に異常がないかをチェックする処理および前記時間変動処理を含むセキュリティチェックが行われた後に、前記遊技制御処理を開始し、前記ＣＰＵは、前記指定エリア外走行禁止信号が発生したことに基づいて実行されるユーザリセットの場合には、前記マイクロコンピューターによって、前記セキュリティチェックが行われないことで、前記時間変動処理が行われず、前記遊技制御処理を開始し、前記システムリセットおよび前記ユーザリセットのいずれの場合であっても、前記ＣＰＵによって前記電断処理が行われず、前記所定領域に前記所定のデータが記憶されないことを特徴とする遊技台としてもよい。
【１０４３】
次に、図１３１を用いて、図７０のステップＳ２１０１における初期設定処理の詳細について説明する。同図は、図７０のステップＳ２１０１における初期設定処理のフローチャートである。
【１０４４】
まず、最初に実行されるステップＳ２１０１ａでは、初期設定１を行う。この初期設定１では、ＣＰＵ１３０４のスタックポインタ（ＳＰ）へのスタック初期値の設定（仮設定）、割込マスクの設定、Ｉ／Ｏ１３１０の初期設定、ＲＡＭ１３０８に記憶する各種変数の初期設定等を行う。
【１０４５】
ステップＳ２１０１ｂでは、低電圧信号がオンであるか否か、すなわち、電圧監視回路１３３０が、主制御部１３００に供給されている電源の電圧値が所定の値（本実施形態では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合（ＣＰＵ１３０４が電源の遮断を検知した場合）には繰り返しこのステップＳ２１０１ｂを実行し、低電圧信号がオフの場合（ＣＰＵ１３０４が電源の遮断を検知していない場合）にはステップＳ２１０１ｃに進む。なお、電源が投入された直後で未だ上記所定の値（９Ｖ）に達しない場合にも、供給電圧がその所定の値以上になるまでステップＳ２１０１ｂは繰り返し実行される。
【１０４６】
ステップＳ２１０１ｃでは、初期設定２を行う。この処理の詳細は、図８９を用いて説明した内容と同様であるため、説明を省略する。
【１０４７】
ステップＳ２１０１ｄでは、設定キースイッチがオンであるか否か判定される。ここで、設定キースイッチとは、スロットマシン１１００における遊技者の有利度（例えば１〜６まで６種類の有利度）を設定するためのスイッチである。このスイッチがオンである場合にはステップＳ２１０１ｉに進み、そうでない場合にはステップＳ２１０１ｅに進む。
【１０４８】
ステップＳ２１０１ｅでは、ＲＡＭ１３０８に記憶されているデータに異常があるか否か判定される。ここで判定されるデータは、スロットマシン１１００の電源が落されるかあるいは上述の瞬断によってＲＡＭ１３０８に退避されたデータである（図７１のステップＳ２２２１参照）。すなわち、ＲＡＭ１３０８にデータが確実に退避されているか否かが、このステップＳ２１０１ｅで判定される。なお、この処理の詳細は、図８８のステップＳ３００７において説明した内容と同様である。このデータに異常がある場合にはステップＳ２１０１ｋに進み、異常がない場合にはステップＳ２１０１ｆに進む。
【１０４９】
ステップＳ２１０１ｆでは、強制ＲＷＭクリアがＯＮ状態か否かを判定する。具体的には、電源が投入され、ＲＷＭクリアボタン（不図示）が長押し（例えば、５秒以上の押下）されたことに基づき、強制ＲＷＭクリアのＯＮ状態とする。そして、強制ＲＷＭクリアがＯＮ状態の場合はステップＳ２１０１ｊに移行し、ＯＦＦ状態の場合はステップＳ２１０１ｇに進む。
【１０５０】
ステップＳ２１０１ｇでは、ＲＡＭ１３０８に記憶されたデータをＣＰＵ１３０４のレジスタに書き戻し、レジスタの状態を電断処理が実行される直前の状態に復帰させる処理が実行される。なお、この処理の詳細は、図８８のステップＳ３００９において説明した内容と同様である。この処理の後ステップＳ２１０１ｈに進む。
【１０５１】
ステップＳ２１０１ｈでは、ＷＤＴ１３１４を起動させる処理を行う。ここでは、ＷＤＴ１３１４の起動許可及び初期値の設定等を行う。なお、本実施形態では、ＷＤＴ１３１４に、初期値として３２．８ｍｓに相当する数値を設定する。その後、この初期設定処理を終了する。
【１０５２】
ステップＳ２１０１ｄにおいて、設定キースイッチがオンの場合に進むステップＳ２１０１ｉでは、設定キーの状態に従って設定値変更処理が実行される。その後、ステップＳ２１０１ｊに進む。
【１０５３】
ステップＳ２１０１ｊでは、ＲＷＭクリア処理を行う。この処理の詳細は、図８８のステップＳ３１０３において説明した内容と同様である。この処理の後、ステップＳ２１０１ｈに進む。
【１０５４】
ステップＳ２１０１ｅにおいて、ＲＡＭ１３０８のデータに異常があると判定された場合に進むステップＳ２１０１ｋでは、ＲＷＭエラー処理を行う。このＲＷＭエラー処理では、使用スタックエリアを除く全てのＲＡＭ（ＲＷＭ）１３０８の記憶領域をクリアする準備などを行った後に、無限ループ状態に移行する。なお、この状態からは、電源を入れなおした後、設定キースイッチを操作することで遊技が開始できるようになる。
【１０５５】
図１３２は、図７５に示すタイマ回路３１１の構成を詳しく示したブロック図である。
【１０５６】
タイマ回路３１１は、８ビットのプログラマブルカウンタを３チャネル内蔵している。すなわち、図１３２に示すように、３つのタイマ回路（タイマ回路０〜２）が用意されている。各タイマ回路は、ダウンカウンタ回路であって、それぞれ独立した動作モードの設定が可能である。これら３つのタイマ回路の構成はいずれも同じであるため、ここではタイマ回路０を用いて説明する。
【１０５７】
タイマ回路３１１は、プリスケーラレジスタ３１１１、制御レジスタ３１１２、カウンタ設定レシジスタ３１１３、およびカウンタレジスタ３１１４の４種類のレジスタと、プリスケーラ３１１５と、８ビットカウンタ３１１６を有する。
【１０５８】
このタイマ回路３１１は、プリスケーラレジスタ３１１１で選択されたカウントクロックを８ビットカウンタ３１１６のクロック源とする。プリスケーラレジスタ３１１１は、８ビットカウンタ３１１６を動作させるためのクロック数を選択する８ビットのレジスタである。このプリスケーラレジスタ３１１１に、初期値である「００Ｈ」を設定した場合には、８ビットカウンタ３１１６を動作させるためのカウントクロックは停止になる。「０１Ｈ」を設定した場合には、カウントクロックはシステムクロック（ＳＣＬＫ）になる。また、カウントクロックは、「０２Ｈ」を設定した場合にはシステムクロック／２になり、「０３Ｈ」を設定した場合にはシステムクロック／３になり、・・・「ＦＥＨ」を設定した場合にはシステムクロック／２５４になり、「ＦＦＨ」を設定した場合にはシステムクロック／２５５になる。
【１０５９】
制御レジスタ３１１２は、割込みフラグ３１１０のモニタ、割込みの許可や禁止、割込みフラグ３１１０のクリア、８ビットカウンタ３１１６の各種動作条件を設定する８ビットのレジスタである。
【１０６０】
このタイマ回路３１１では、カウンタ設定レジスタ３１１３にカウント値を書き込むことによって、８ビットカウンタ３１１６のダウンカウントが開始される。カウンタ設定レジスタ３１１３は、８ビットカウンタ３１１６のカウント値を設定するレジスタである。なお、設定値に「００Ｈ」を書き込んだ場合は、８ビットカウンタ３１１６は動作しない。
【１０６１】
カウンタレジスタ３１１４は、ＣＰＵレジスタリード信号の入力タイミングに合わせて８ビットカウンタ３１１６の値を読み出すためのレジスタである。
【１０６２】
８ビットカウンタ３１１６がタイムアウトすると、タイムアウト信号が８ビットカウンタ３１１６からカウンタ回路３１２に出力される。なお、割込みが許可されている場合には、割込みフラグ３１１０から割込み信号が割込み制御回路３１００に出力される。また、８ビットの制御レジスタの０ビット目に、「０」を設定しておくと、ワンタイムモード（初期値）になり、タイムアウト発生後、８ビットカウンタ３１１６は動作を停止するが、「１」を設定しておくと、リピートモードになり、タイムアウト発生後も、８ビットカウンタ３１１６は継続して動作を行い、タイムアウト信号が定期的に出力される。
【１０６３】
以上説明した、各レジスタの設定値は、内蔵ＲＯＭ３０６のプログラムデータエリアに記憶されている。プログラムデータエリアに記憶されている各設定値は、図８８に示す主制御部メイン処理における初期設定２（ステップＳ３００５）において、プログラムデータエリアから呼び出され、各レジスタに設定されるか、あるいは主制御部メイン処理や図９１に示す主制御部割込処理において呼び出され、各レジスタに設定される。
【１０６４】
図１３２に示すタイマ回路３１１では、プリスケーラレジスタ３１１１に、初期値の「００Ｈ」を設定しておくか、あるいはカウンタ設定レジスタ３１１３に「００Ｈ」を書き込んでおけば、８ビットカウンタ３１１６はダウンカウントを開始せず、タイムアウト信号は出力されない。
【１０６５】
図１３３は、図７５に示すカウンタ回路３１２の構成を詳しく示したブロック図である。
【１０６６】
カウンタ回路３１２は、８ビットのプログラマブルカウンタを４チャネル内蔵している。すなわち、図１３３に示すように、４つのカウンタ回路（カウンタ回路０〜３）が用意されている。各カウンタ回路は、アップカウンタ回路であって、それぞれ独立した動作モードの設定が可能である。これら４つのカウンタ回路の構成はいずれも同じであるため、ここではカウンタ回路０を用いて説明する。
【１０６７】
カウンタ回路は、制御レジスタ３１２１、８ビットカウンタ３１２２、カウンタ設定レジスタ３１２３、およびカウンタレジスタ３１２４を有する。制御レジスタ３１２１は、内部バスを流れる各種の信号を取得可能であり、図１３３には、制御レジスタ３１２１が、８種類の信号を取得可能であることが示されている。これら８種類の信号は、システムクロック信号（ＳＣＬＫ）、図１３２に示すタイマ回路０〜２それぞれからのタイムアウト信号、ＣＰＵコアのメモリリクエスト信号（ＸＭＲＥＱ信号）、ＣＰＵコアのライト信号（ＸＷＲ信号）、ＣＰＵコアのＩＯリクエスト信号（ＸＩＯＲＱ信号）、およびＣＰＵコアの割込み要求応答信号（マスカブル割込みアクノリッジサイクル；ＸＩＮＴＡＣＫ信号）である。制御レジスタ３１２１は、８ビットカウンタ３１２２を動作させるためのクロック源を選択する８ビットのレジスタである。すなわち、８本の信号線から入力されるいずれの信号をクロック源にするかを選択するものである。また、制御レジスタ３１２１は、８ビットカウンタ３１２２の許可や禁止を設定するレジスタでもある。
【１０６８】
図１３４は、制御レジスタ３１２１を詳しく説明するための図である。
【１０６９】
図１３４に示すように、制御レジスタ３１２１は８ビットのレジスタである。５〜７ビット目は「０」が設定されたままであり、使用されていない。
【１０７０】
４ビット目は８ビットカウンタ３１２２の許可や禁止を設定するビットである。この４ビット目に、初期値である「０」が設定されると８ビットカウンタ３１２２は動作を停止し、「１」が設定されると８ビットカウンタ３１２２は動作を開始する。
【１０７１】
３ビット目は８ビットカウンタ３１２２のカスケード接続を設定するビットである。詳細は後述するが、カウンタ回路０の８ビットカウンタ３１２２と、カウンタ回路１の８ビットカウンタ３１２２はカスケード接続が可能であり、カウンタ回路２の８ビットカウンタ３１２２と、カウンタ回路３の８ビットカウンタ３１２２もカスケード接続が可能である。すなわち、カウンタ回路０の８ビットカウンタ３１２２と、カウンタ回路１の８ビットカウンタ３１２２が第１の組になっており、カウンタ回路２の８ビットカウンタ３１２２と、カウンタ回路３の８ビットカウンタ３１２２が第２の組になっている。同一組内で、いずれか一方の制御レジスタ３１２１の３ビット目に「１」が設定されると、カスケード接続が優先される。すなわち、他方の制御レジスタ３１２１の３ビット目に「０」が設定されていても、カスケード接続が設定され、「１」は「０」より優先される設定値である。
【１０７２】
２〜０ビット目は、８ビットカウンタ３１２２のクロック源を設定するビットである。すなわち、カウンタ回路３１２の更新源になる信号を設定するためのビットである。この２〜０ビット目に、初期値の「０００」が設定されるとシステムクロック信号（ＳＣＬＫ）が８ビットカウンタ３１２２のクロック源になり、「００１」が設定されるとタイマ回路０からのタイムアウト信号がクロック源になり、「０１０」が設定されるとタイマ回路１からのタイムアウト信号がクロック源になり、「０１１」が設定されるとタイマ回路２からのタイムアウト信号がクロック源になる。システムクロック信号（ＳＣＬＫ）は、制御レジスタ３１２１に定期的に入力される信号である。また、タイマ回路３１１をリピートモードに設定しておくと、タイムアウト信号が制御レジスタ３１２１に定期的に入力される。一方、メモリリクエスト信号（ＸＭＲＥＱ信号）、ライト信号（ＸＷＲ信号）、ＩＯリクエスト信号（ＸＩＯＲＱ信号）、割込み要求応答信号（ＸＩＮＴＡＣＫ信号）は、制御レジスタ３１２１に不定期的に入力される信号である。２〜０ビット目に、「１００」が設定されるとライト信号（ＸＷＲ信号）が８ビットカウンタ３１２２のクロック源になり、「１０１」が設定されるとメモリリクエスト信号（ＸＭＲＥＱ信号）がクロック源になり、「１１０」が設定されるとＩＯリクエスト信号（ＸＩＯＲＱ信号）がクロック源になり、「１１１」が設定されると割込み要求応答信号（ＸＩＮＴＡＣＫ信号）がクロック源になる。このクロック源を設定する設定値は、内蔵ＲＯＭ３０６のプログラムデータエリアに記憶されており、図８８に示す主制御部メイン処理における初期設定２（ステップＳ３００５）において、プログラムデータエリアから呼び出され、制御レジスタ３１２１に設定される。なお、基本回路の内部的には、内蔵ＲＡＭ３０８への信号は、メモリリクエスト信号（ＸＭＲＥＱ信号）とＩＯリクエスト信号（ＸＩＯＲＱ信号）とのうち、メモリマップド方式を採用した場合には、メモリリクエスト信号（ＸＭＲＥＱ信号）が用いられ、ＩＯマップド方式を採用した場合にはＩＯリクエスト信号（ＸＩＯＲＱ信号）が用いられる。以上説明したように、制御レジスタ３１２１の２ビット目が、定期的に入力される信号をクロック源とした（第２の条件とした）場合には「０」であり、不定期的に入力される信号をクロック源とした（第１の条件とした）場合には「１」であり、所定ビット目の一例に相当する。こうしておくことで、開発者や設定者は、制御レジスタ３１２１の２ビット目を見るだけで、クロック源に定期に入力される信号が用いられているか否かを確認することができる。なお、制御レジスタ３１２１は、上記構成に限定されず、例えば、７ビット目が空きビット、６ビット目が８ビットカウンタ３１２２の許可や禁止を設定するビット（０：動作停止、１：動作開始（初期値））、５ビット目がＣＰＵコアのマスカブル割込みアクノリッジサイクルで更新するかを設定するビット（０：更新する、１：更新しない（初期値））、４ビット目がＣＰＵコアのＸＩＯＲＱ信号で更新するかを設定するビット（０：更新する、１：更新しない（初期値））、３ビット目がＣＰＵコアのＸＭＲＥＱ信号で更新するかを設定するビット（０：更新する、１：更新しない（初期値））、２ビット目がＣＰＵコアのＸＷＲ信号で更新するかを設定するビット（０：更新する、１：更新しない（初期値））、１〜０ビット目がどのタイマの信号で更新するかを設定するビット（００：タイマ回路０からのタイムアウト信号、０１：タイマ回路１からのタイムアウト信号、１０：タイマ回路２からのタイムアウト信号、１１：未選択（初期値））、のように構成してもよく、５〜０ビットに全て１が書き込まれた場合に更新源としてシステムクロック信号（ＳＣＬＫ）が設定されるようにしてもよく、カウンタ回路１の制御レジスタ３１２１の１〜０ビット目が００の場合にはタイマ回路０からのタイムアウト信号に代えてカウンタ回路０の８ビットカウンタ３１２２のタイムアウト信号を更新源としてもよく、カウンタ回路３の制御レジスタ３１２１の１〜０ビット目が００の場合にはタイマ回路２からのタイムアウト信号に代えてカウンタ回路０の８ビットカウンタ３１２２のタイムアウト信号を更新源としてもよい。また、カウンタ回路０はＳＣＬＫ、カウンタ回路１はＸＷＲ信号、カウンタ回路２はＸＭＲＥＱ信号、カウンタ回路３はＸＩＯＲＱ信号を更新源として自動的に起動されるものであってもよく、更新範囲を０〜２５５としてもよい（カウンタ設定レジスタ３１２３に初期値として２５５を設定してもよい）。この場合、電源立ち上げ時には、プログラムによって更新源やカウント値を設定するよりも前にカウント動作を行い、カウント動作中にプログラムによって更新源の設定（変更）やカウント値の設定（変更）を行うようにしてもよい。この場合、カウント動作中に更新源やカウント値を変更することで不正者による有利な値の取得を困難にできる場合がある。なお、カウンタ回路３１２は、更新源としてシステムクロック信号（ＳＣＬＫ）を設定した場合に、他の更新源（ＸＷＲ信号、ＸＭＲＥＱ信号、ＸＩＯＲＱ信号、タイマ回路０のタイムアウト信号、タイマ回路１のタイムアウト信号、タイマ回路２のタイムアウト信号）を設定不可能であってもよい。換言すると、カウンタ回路は、複数の更新源のうちの第一の更新源を設定した場合に、第一の更新源を除く他の更新源を設定不可能であってもよい。
また、カウンタ回路３１２は、更新源としてＸＷＲ信号、ＸＭＲＥＱ信号、ＸＩＯＲＱ信号、タイマ回路ｎのタイムアウト信号のうちの少なくとも２以上の更新源を設定可能であってもよい。換言すると、カウンタ回路は、複数の更新源のうちの第一の更新源を除く第二の更新源と第三の更新源を共に設定可能であってもよい。
【１０７３】
また、カウンタ設定レジスタ３１２３は、アップカウンタ回路である８ビットカウンタ３１２２のカウント値（最大値）を設定する８ビットのレジスタである。本実施形態では、０〜２５５のカウント値を設定することができ、「２５５」を書き込んだ場合には、カウント値として最大値の２５５が設定される。この場合には０〜２５５が所定の数値範囲になる。なお、設定値に「００」を設定した場合には、８ビットカウンタの動作を停止するようにしてもよい。なお、各カウンタ回路は、ダウンカウンタ回路であってもよく、ダウンカウンタ回路である場合には、カウンタ設定レジスタ３１２３は、最小値を設定するレジスタになる。
【１０７４】
カウンタレジスタ３１２４は、ＣＰＵレジスタリード信号の入力タイミングに合わせて８ビットカウンタ３１２２の値を読み出すためのレジスタである。
【１０７５】
以上説明した、各レジスタの設定値は、内蔵ＲＯＭ３０６のプログラムデータエリアに記憶されている。プログラム管理エリアに記憶されている各設定値は、図８８に示す主制御部メイン処理における初期設定２（ステップＳ３００５）において、プログラムデータエリアから呼び出され、各レジスタに設定されるか、あるいは主制御部メイン処理や図９１に示す主制御部割込処理において呼び出され、各レジスタに設定される。カウンタ設定レジスタ３１２３にカウント値が書き込まれると、８ビットカウンタ３１２２の値が「００Ｈ」にクリアされ、その後、制御レジスタ３１２１の４ビット目に「１」が書き込まれると、選択されたクロック源で８ビットカウンタ３１２２のアップカウントが開始される。
【１０７６】
以上説明したカウンタ回路３１２は、数値更新手段の一例に相当する。なお、８ビットカウンタ３１１６の値をＣＰＵレジスタリード信号の入力に応じて読み出す構成を示したが、これに限定されるものではなく、ハードラッチ乱数値レジスタとハードラッチ選択レジスタを備えてもよく、８ビットカウンタ３１１６の値をハードラッチ乱数値レジスタに常に入力するようにしてもよく、パラレル入力ポートを介してＰＩ０〜ＰＩ５信号がそれぞれ入力されるハードラッチ選択レジスタからのラッチ信号がハードラッチ乱数値レジスタに入力された場合に値をラッチ（保持）するようにしてもよく、値のラッチによるセット信号と値の取得によるクリア信号が入力されるフラグレジスタを備えてもよい。また、この場合、ハードラッチ選択レジスタは、外部端子入力による８ビットカウンタ３１１６の値の取込み条件の設定（０：値を読み込まないと次の値をラッチしない（初期値）、１：値を読み込まなくても次の値をラッチ）、どの外部端子入力で８ビットカウンタ３１１６の値を取り込むかの設定（ＰＩ０〜ＰＩ５信号）を設定可能に構成してもよい。なお、他の構成において、乱数生成回路３１８や乱数回路５３１６で乱数を生成することに代えてカウンタ回路３１２で乱数を生成するようにしてもよい。
【１０７７】
続いて、図７（ａ）に示すメモリマップ上における内蔵ＲＡＭエリアや内蔵レジスタエリアの読み込みや書き込みタイミングについて説明する。
【１０７８】
図１３５は、図７（ａ）に示すメモリマップ上における内蔵ＲＡＭエリアや内蔵レジスタエリアの読み込みや書き込みタイミングを説明するためのタイミングチャートである。
【１０７９】
図１３５では、図の左から右に向かって時間（Ｔ）が経過していく（以降のタイミングチャートにおいても同じ）。この図１３５に示すタイミングチャートには、上から順にシステムクロック出力信号（ＣＬＫＯ）、１６本の信号線によって入出力されるアドレス入出力信号（Ａ０〜Ａ１５）、メモリリクエスト信号（ＸＭＲＥＱ）、読み込み時のリード信号（ＸＲＤ）、読み込み時の内蔵ＲＡＭエリアや内蔵レジスタエリアからのデータ出力信号（Ｄ０〜Ｄ７）、書き込み時のライト信号（ＸＷＲ）、および書き込み時の内蔵ＲＡＭエリアや内蔵レジスタエリアへのデータ出力信号（Ｄ０〜Ｄ７）が示されている。なお、破線はハイインピーダンス状態を表す。
【１０８０】
アドレス入出力信号（Ａ０〜Ａ１５）は、図７（ａ）のメモリマップにおいて読み書きするアドレスを指定している。メモリリクエスト信号（ＸＭＲＥＱ）がＬレベルのときに読み書きが許可され、リード信号（ＸＲＤ）がＬレベルのときに読み込みが許可され、ライト信号（ＸＷＲ）もＬレベルのときに書き込みが許可される。したがって、メモリリクエスト信号（ＸＭＲＥＱ）がＬレベルかつリード信号（ＸＲＤ）もＬレベルのときに、アドレス入出力信号（Ａ０〜Ａ１５）で指定されたアドレスを読み込むことができ、メモリリクエスト信号（ＸＭＲＥＱ）がＬレベルかつライト信号（ＸＷＲ）もＬレベルのときに、アドレス入出力信号（Ａ０〜Ａ１５）で指定されたアドレスに書き込むことができるが、各信号では時間的ズレが生じている。しかも、クロック出力信号（ＣＬＫＯ）は定期的な信号であるのに対して、制御レジスタ３１２１に入力される、メモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）は、プログラムに従って任意のタイミングで出力される不定期な信号であり、定期的なクロック出力信号（ＣＬＫＯ）に対して同期していないことがわかる。言い換えれば、メモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）は、ＣＰＵ３０４が内蔵メモリや内蔵レジスタとのやり取りのための命令（所定の命令）に基づいて不定期に出力する信号である。より詳細に説明すると、ＣＰＵ３０４は、内蔵ＲＯＭ３０６のデータの読み出し（例えば、ＬＤ  Ａ，（ＲＯＭ＿ＡＤＤ０１）命令）でメモリリクエスト信号（ＸＭＲＥＱ）を出力し、内蔵ＲＡＭ３０８とのデータの読み出しや書き込み（例えば、ＬＤ  （ＲＡＭ＿ＡＤＤ０１），Ａ命令）でメモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）を出力する。上述のごとく、本実施形態では、これら不定期に発生するメモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）をカウンタ回路３１２の更新ソースとして利用することができる。不定期に発生するメモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）は所定の信号の一例に相当する。
【１０８１】
続いて、図７（ｂ）に示すＩ／Ｏマップ上における内蔵レジスタエリアの読み込みや書き込みタイミングについて説明する。
【１０８２】
図１３６は、図７（ｂ）に示すＩ／Ｏマップ上における内蔵レジスタエリアの読み込みや書き込みタイミングを説明するためのタイミングチャートである。
【１０８３】
この図１３６に示すタイミングチャートでも、上から順に各信号が示されており、図１３５に示すメモリリクエスト信号（ＸＭＲＥＱ）に代えてＩＯリクエスト信号（ＸＩＯＲＱ）が示されている。なおここでも、破線はハイインピーダンス状態を表す。
【１０８４】
また、アドレス入出力信号（Ａ０〜Ａ１５）は、図７（ｂ）のメモリマップにおいて読み書きするアドレスを指定している。ＩＯリクエスト信号（ＸＩＯＲＱ）がＬレベルのときに読み書きが許可され、リード信号（ＸＲＤ）がＬレベルのときに読み込みが許可され、ライト信号（ＸＷＲ）もＬレベルのときに書き込みが許可される。したがって、ＩＯリクエスト信号（ＸＩＯＲＱ）がＬレベルかつリード信号（ＸＲＤ）もＬレベルのときに、アドレス入出力信号（Ａ０〜Ａ１５）で指定されたアドレスを読み込むことができ、ＩＯリクエスト信号（ＸＩＯＲＱ）がＬレベルかつライト信号（ＸＷＲ）もＬレベルのときに、アドレス入出力信号（Ａ０〜Ａ１５）で指定されたアドレスに書き込むことができるが、ここでも各信号では時間的ズレが生じている。しかも、制御レジスタ３１２１に入力される、ＩＯリクエスト信号（ＸＩＯＲＱ）やライト信号（ＸＷＲ）も、プログラムに従って任意のタイミングで出力される不定期な信号であり、定期的なクロック出力信号（ＣＬＫＯ）に対して同期していないことがわかる。言い換えれば、ＩＯリクエスト信号（ＸＩＯＲＱ）も、ＣＰＵ３０４が内蔵メモリや内蔵レジスタとのやり取りのための命令（所定の命令）に基づいて不定期に出力する信号である。より詳細に説明すると、ＣＰＵ３０４は、ＩＮ命令やＯＵＴ命令の際にＩＯリクエスト信号（ＸＩＯＲＱ）を出力する。上述のごとく、本実施形態では、これら不定期に発生するＩＯリクエスト信号（ＸＩＯＲＱ）も 
カウンタ回路３１２の更新ソースとして利用することができる。不定期に発生するＩＯリクエスト信号（ＸＩＯＲＱ）も所定の信号の一例に相当する。
【１０８５】
図１３７は、図７５に示すマイクロプロセッサ３０００内部におけるカウンタ回路３１２への信号の流れを内部のみ示す図である。
【１０８６】
この図１３７には、ＣＰＵ３０４、マイクロプロセッサ３０００に内蔵されたＲＯＭ３０６（以下、単に内蔵ＲＯＭ３０６と称する）、同じくマイクロプロセッサ３０００に内蔵されたＲＡＭ３０８（以下、単に内蔵ＲＡＭ３０８と称する）、タイマ回路３１１、カウンタ回路３１２、割込み制御回路３１００、およびクロック回路３２０が内部バス３３００を介して互いに接続されている様子が示されている。
【１０８７】
また、メモリマップド方式を採用した場合には、メモリリクエスト信号（ＸＭＲＥＱ信号）が、ＣＰＵ３０４から内蔵ＲＯＭ３０６や内蔵ＲＡＭ３０８に送られ、カウンタ回路３１２にも取得されることが示され、Ｉ／Ｏマップド方式を採用した場合には、ＩＯリクエスト信号（ＸＩＯＲＱ信号）が、ＣＰＵ３０４から内蔵ＲＡＭ３０８に送られ、カウンタ回路３１２にも取得されることが示されている。ライト信号（ＸＷＲ信号）は、ＣＰＵ３０４から内蔵ＲＡＭ３０８に送られ、カウンタ回路３１２にも取得されることが示されている。なお、本実施形態では、カウンタ回路３１２の８ビットカウンタ３１２２のクロック源としてリード信号（ＸＲＤ）は選択できないが、カウンタ回路３１２はリード信号（ＸＲＤ）も取得可能であり、そのリード信号（ＸＲＤ）をクロック源として利用してもよい。さらに、割込み制御回路３１００からＣＰＵ３０４に送られる割込み要求信号（ＸＩＮＴ信号）を受けてＣＰＵ３０４から割込み制御回路３１００に割込み要求応答信号（ＸＩＮＴＡＣＫ信号）が出力される。割込み要求信号は、定期的に出力されるものもあれば不定期に出力されるもの（例えばハードウェア割込み）もあり、割込み要求応答信号（ＸＩＮＴＡＣＫ信号）は、結局のところ不定期に出力される信号になり、所定の信号の一例に相当する。図１３７では、この割込み要求応答信号（ＸＩＮＴＡＣＫ信号）がカウンタ回路３１２に取得されることも示されている。また、タイマ回路３１１に含まれるタイマ回路０〜２それぞれからのタイムアウト信号は、カウンタ回路３１２に送られ、クロック回路３２０からはシステムクロック信号（ＳＣＬＫ）がカウンタ回路３１２に送られる。不定期に発生するメモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）やＩＯリクエスト信号（ＸＩＯＲＱ）や割込み要求応答信号（ＸＩＮＴＡＣＫ信号）を出力するＣＰＵ３０４は、信号出力手段としての一機能を担っている。また、内蔵ＲＯＭ３０６や内蔵ＲＡＭ３０８は、記憶手段の一例に相当する。
【１０８８】
図１３８は、カウンタ回路０を不定期な更新とする例を示した図である。
【１０８９】
図１３８の上方には機能ブロック図が示され、下方にはソースコードが示されている（以下、図１４２まで同じ）。このソースコードでは、カウンタ回路０はＰＣＣ０で表され、カウンタ回路１はＰＣＣ１で表されている（以下、同じ）。カウンタ回路０のカウンタ設定レジスタ３１２３にも、カウンタ回路１のカウンタ設定レジスタ３１２３にも、カウント値として最大値の「２５５」が設定されている。また、カウンタ回路０の制御レジスタ３１２１には「０００１０１０１」が設定されており、４ビット目に動作開始を表す「１」が設定され、２〜０ビット目には、８ビットカウンタ３１２２のクロック源をメモリリクエスト信号（ＸＭＲＥＱ信号）とする「１０１」が設定されている。一方、カウンタ回路１の制御レジスタ３１２１には「０００１０００１」が設定されており、４ビット目に動作開始を表す「１」が設定され、２〜０ビット目には、８ビットカウンタ３１２２のクロック源をタイマ回路０からのタイムアウト信号とする「００１」が設定されている。さらに、いずれの制御レジスタ３１２１にも、３ビット目にはカスケード接続未設定を表す「０」が設定されており、この例では、カウンタ回路０とカウンタ回路１はカスケード接続されていない。なお、図１３８に示すソースコードでは、タイマ回路０はＰＴＣ０で表されており、タイマ回路０のプリスケーラレジスタ３１１１で、システムクロックを１／２４０に分周し、タイマ回路０の８ビットカウンタ３１１６のクロック源にすることが設定されている。
【１０９０】
図１３８に示す例では、カウンタ回路０の８ビットカウンタ３１２２が不定期なメモリリクエスト信号（ＸＭＲＥＱ信号）で更新される。一方、カウンタ回路１の８ビットカウンタ３１２２は定期的なタイマ回路０からのタイムアウト信号で更新される。
【１０９１】
各カウンタ回路３１２のカウンタレジスタ３１２４は、ＣＰＵレジスタリード信号の入力タイミングに合わせて８ビットカウンタ３１２２の値を読み出し、ＣＰＵ３０４は、カウンタレジスタ３１２４が読み出した値を内部バスを介して取得する。この例では、カウント回路０のカウント値を、特図変動時間決定用乱数値として用いる。
【１０９２】
図１３９は、カウンタ回路０をカウンタ回路１の更新ソースとする変形例１を示した図である。以下、図１３８に示す例との相違点を中心に説明し、図１３８に示す例と同じ点は説明を省略することがある。
【１０９３】
図１３９に示すカウンタ回路０の制御レジスタ３１２１には「０００１１１０１」が設定されており、３ビット目にはカスケード接続の設定を表す「１」が設定されている。一方、カウンタ回路１の制御レジスタ３１２１には「０００１０００１」が設定されており、３ビット目にはカスケード接続未設定を表す「０」が設定されている。上述のごとく、カウンタ回路０とカウンタ回路１の組では、いずれか一方の制御レジスタ３１２１の３ビット目に「１」が設定されていると、カスケード接続が設定される。したがって、図１３９に示すカウンタ回路０とカウンタ回路１はカスケード接続されている。制御レジスタ３１２１の３ビット目に「１」が設定されたカウンタ回路０は、０から２５５までカウントアップするカウンタ回路であり、カウント値が２５５に達し、さらにカウント値を１更新する場合には、カウンタ回路１に桁溢れ信号（特定信号）を送り、カウント値を０に戻す。カウンタ回路１は、定期的なタイマ回路０からのタイムアウト信号で更新されるが、カウンタ回路０からの桁溢れ信号によっても更新され、カウンタ回路１の更新ソースが複数となり、カウンタ回路１のランダム性が増す。しかも、カウンタ回路０は、不定期なメモリリクエスト信号（ＸＭＲＥＱ信号）で更新されるカウンタ回路であるため、桁溢れ信号も不定期に送られてくる信号になる。なお、カウンタ回路１の更新ソースを不定期な更新ソース（例えば、ＸＷＲ信号等）にすれば、ランダム性をより高めることができる。この例では、カウント回路１のカウント値を、特図変動時間決定用乱数値として用いる。
【１０９４】
なお、この例では、「１」が設定された方のカウンタ回路から桁溢れ信号が出力されるが、これに限らず、桁溢れ信号を出力するカウンタ回路を予め定めておいてもよい。
【１０９５】
図１４０は、カウンタ回路０とカウンタ回路１で２バイトカウンタとして機能させる変形例２を示した図である。以下、図１３９に示す例との相違点を中心に説明し、図１３９に示す例と同じ点は説明を省略することがある。
【１０９６】
図１４０に示すカウンタ回路１の制御レジスタ３１２１には「０００１００１０」が設定されており、２〜０ビット目には、８ビットカウンタ３１２２のクロック源をタイマ回路１からのタイムアウト信号とする「０１０」が設定されている。したがって、図１４０に示すカウンタ回路１の８ビットカウンタ３１１６は、タイマ回路１からのタイムアウト信号が入力されると更新される。さらに、図１４０に示すソースコードでは、タイマ回路１はＰＴＣ１で表されており、タイマ回路１のプリスケーラレジスタ３１１１には、タイマ回路１の８ビットカウンタ３１１６を動作させるためのカウントクロックを停止させる「０」が設定されている。このため、タイマ回路１の８ビットカウンタ３１１６からはタイムアウト信号は出力されず、カウンタ回路１は、クロック源としてタイマ回路１からのタイムアウト信号が設定されてはいるものの、そのタイムアウト信号をクロック源にしては更新されない。しかしながら、図１３９に示す例と同じく、カウンタ回路１には、カウンタ回路０から桁溢れ信号が送られ、カウンタ回路１は、この桁溢れ信号によって更新される。すなわち、カウンタ回路１は、カウンタ回路０からの桁溢れ信号のみをクロック源（更新源）にする。このように、タイマ回路１のカウントクロックを停止することで、実質的にカウンタ回路１の更新ソースをカウンタ回路０の桁溢れのみとすることができ、カウンタ回路０とカウンタ回路１のカウンタ値を用いて２バイトカウンタとして利用することができる。この例では、カウンタ回路０とカウンタ回路１の組によるカウント値を、特図変動時間決定用乱数値として用いる。
【１０９７】
図１４１は、カウンタ回路０の更新ソースをカウンタ回路１の更新ソースとする変形例３を示した図である。以下、図１３９に示す例との相違点を中心に説明し、図１３９に示す例と同じ点は説明を省略することがある。
【１０９８】
図１４１に示すカウンタ回路０のカウンタ設定レジスタ３１２３には、カウント値として「０」が設定されており、カウンタ回路０の最大値は０になる。すなわち、カウンタ回路０では所定の数値範囲が１になる。この結果、メモリリクエスト信号（ＸＭＲＥＱ信号）がカウンタ回路０に入力されるたびに桁溢れ信号がカウンタ回路１に出力され、カウンタ回路０の更新ソースをカウンタ回路１の更新ソースとしても扱うことができ、カウンタ回路１のランダム性が増す。また、カウンタ回路１の更新ソースを不定期な信号（例えば、ＸＷＲ信号等）にすることで、ランダム性がさらに増す。この例でも、カウント回路１のカウント値を、特図変動時間決定用乱数値として用いる。
【１０９９】
図１４２は、カウンタ回路０とカウンタ回路１を相互にカスケード接続する変形例４を示す図である。以下、図１３９に示す例との相違点を中心に説明し、図１３９に示す例と同じ点は説明を省略することがある。
【１１００】
図１４２に示すカウンタ回路０の制御レジスタ３１２１にも「０００１１１０１」が設定されており、３ビット目にはカスケード接続の設定を表す「１」が設定されている。また、図１４２に示すカウンタ回路１の制御レジスタ３１２１には「０００１１１１０」が設定されており、３ビット目にはカスケード接続の設定を表す「１」が設定され、２〜０ビット目には、不定期に入力されるライト信号（ＸＷＲ信号）をクロック源とする「１００」が設定されている。したがって、この例では、一組の組を構成する両カウンタ回路でカスケード接続の設定が行われており、互いに桁溢れ信号の送受信を行う。すなわち、カウンタ回路０では、カウント値が２５５に達し、さらにカウント値を１更新する場合には、カウンタ回路１にカウンタ回路０の桁溢れ信号を送り、カウンタ回路１でも、カウント値が２５５に達し、さらにカウント値を１更新する場合には、カウンタ回路０にカウンタ回路１の桁溢れ信号を送る。この結果、カウンタ回路０とカウンタ回路１がそれぞれ更新ソースが複数になり、両カウンタ回路のランダム性が増す。この例では、カウンタ回路０のカウント値を普図変動時間決定用乱数値として用い、カウント回路１のカウント値を特図変動時間決定用乱数値として用いる。
【１１０１】
以上説明したカウンタ回路３１２では、カウント値の更新にランダム性を持たせることができる。カウンタ回路３１２のカウント値は、普図変動時間決定用乱数値や特図変動時間決定用乱数値として用いられ、抽選処理のランダム性を高めることができる。
【１１０２】
続いて、他の実施形態について説明する。以下、既に述べた実施形態との相違点を中心に説明し、既に述べた実施形態と同じ点は説明を省略することがある。 
【１１０３】
今まで説明した実施形態では、マイクロプロセッサ３０００（基本回路）の内部における内蔵ＲＡＭエリアや内蔵レジスタエリアを対象にしていたが、本実施形態では、マイクロプロセッサ３０００（基本回路）の外部における外部メモリや外部レジスタ、および外部の周辺機器や周辺回路を対象にする。
【１１０４】
図１４３は、マイクロプロセッサ３０００（基本回路）の外部における外部メモリの読み込みや書き込みチップセレクトタイミングを説明するためのタイミングチャートである。
【１１０５】
この図１４３に示すタイミングチャートには、上から順にシステムクロック出力信号（ＣＬＫＯ）、８本の信号線によって入出力されるアドレス入出力信号（Ａ０〜Ａ１５）、メモリリクエスト信号（ＸＭＲＥＱ）、読み込み時のリード信号（ＸＲＤ）、読み込み時のチップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）、読み込み時の外部メモリからのデータ入力信号（Ｄ０〜Ｄ７）、書き込み時のライト信号（ＸＷＲ）、書き込み時のチップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）、および書き込み時の外部メモリへのデータ出力信号（Ｄ０〜Ｄ７）が示されている。なお、破線はハイインピーダンス状態を表す。
【１１０６】
読み込み時のチップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）によって読み込むべきチップセットが選択され、選択されたチップセットにおける読み込むべきアドレスがアドレス入出力信号（Ａ０〜Ａ１５）によって指定される。また、書き込み時のチップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）によって書き込むべきチップセットが選択され、選択されたチップセットにおける書き込むべきアドレスがアドレス入出力信号（Ａ０〜Ａ１５）によって指定される。また、メモリリクエスト信号（ＸＭＲＥＱ）がＬレベルのときに読み書きが許可され、読み込み時のリード信号（ＸＲＤ）がＬレベルのときに読み込みが許可され、書き込み時のライト信号（ＸＷＲ）もＬレベルのときに書き込みが許可される。したがって、メモリリクエスト信号（ＸＭＲＥＱ）がＬレベルかつリード信号（ＸＲＤ）もＬレベルのときに、選択されたチップセットから指定されたアドレスのデータを読み込むことができ、メモリリクエスト信号（ＸＭＲＥＱ）がＬレベルかつライト信号（ＸＷＲ）もＬレベルのときに、選択されたチップセットの指定されたアドレスにデータを書き込むことができるが、各信号では時間的ズレが生じている。しかも、クロック出力信号（ＣＬＫＯ）は定期的な信号であるのに対して、メモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）は、プログラムに従って任意のタイミングで出力される不定期な信号、すなわち、外部メモリとのやり取りのために不定期に発生する信号であり、定期的なクロック出力信号（ＣＬＫＯ）に対して同期していないことがわかる。本実施形態でも、これら不定期に発生するメモリリクエスト信号（ＸＭＲＥＱ）やライト信号（ＸＷＲ）が制御レジスタ３１２１に入力され、これら不定期の信号をカウンタ回路３１２の更新ソースとして利用することができる。
【１１０７】
続いて、マイクロプロセッサ３０００（基本回路）の外部の周辺機器や周辺回路（外部Ｉ／Ｏ）に対する入出力について説明する。
【１１０８】
図１４４は、外部Ｉ／Ｏの読み込みや書き込みチップセレクトタイミングを説明するためのタイミングチャートである。
【１１０９】
この図１４４に示すタイミングチャートでも、上から順に各信号が示されており、図１３５に示すメモリリクエスト信号（ＸＭＲＥＱ）に代えてＩＯリクエスト信号（ＸＩＯＲＱ）が示されている。なおここでも、破線はハイインピーダンス状態を表す。
【１１１０】
また、読み込み時のチップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）によって読み込むべきチップセットが選択され、選択されたチップセットにおける読み込むべきアドレスがアドレス入出力信号（Ａ０〜Ａ１５）によって指定される。また、書き込み時のチップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）によって書き込むべきチップセットが選択され、選択されたチップセットにおける書き込むべきアドレスがアドレス入出力信号（Ａ０〜Ａ１５）によって指定される。また、ＩＯリクエスト信号（ＸＩＯＲＱ）がＬレベルのときに読み書きが許可され、読み込み時のリード信号（ＸＲＤ）がＬレベルのときに読み込みが許可され、書き込み時のライト信号（ＸＷＲ）もＬレベルのときに書き込みが許可される。したがって、ＩＯリクエスト信号（ＸＩＯＲＱ）がＬレベルかつリード信号（ＸＲＤ）もＬレベルのときに、選択されたチップセットから指定されたアドレスのデータを読み込むことができ、ＩＯリクエスト信号（ＸＩＯＲＱ）がＬレベルかつライト信号（ＸＷＲ）もＬレベルのときに、選択されたチップセットの指定されたアドレスにデータを書き込むことができるが、ここでも各信号では時間的ズレが生じている。しかも、クロック出力信号（ＣＬＫＯ）は定期的な信号であるのに対して、ＩＯリクエスト信号（ＸＩＯＲＱ）やライト信号（ＸＷＲ）は、プログラムに従って任意のタイミングで出力される不定期な信号、すなわち、外部の周辺機器や周辺回路（外部Ｉ／Ｏ）とのやり取りのために不定期に発生する信号であり、定期的なクロック出力信号（ＣＬＫＯ）に対して同期していないことがわかる。第２実施形態でも、これら不定期に発生するＩＯリクエスト信号（ＸＩＯＲＱ）やライト信号（ＸＷＲ）が制御レジスタ３１２１に入力され、これら不定期の信号をカウンタ回路３１２の更新ソースとして利用することができる
図１４５は、図７５に示すマイクロプロセッサ３０００内部におけるカウンタ回路３１２への信号の流れを内部のみ示す図である。
【１１１１】
この図１４５には、ＣＰＵ３０４、タイマ回路３１１、カウンタ回路３１２、割込み制御回路３１００、クロック回路３２０、外部バス制御回路３１１０、およびアドレスデコーダ回路３１０３が内部バス３３００を介して互いに接続されている様子が示されている。また、図１４５には、その他回路４０００も示されている。その他回路４０００には、マイクロプロセッサ３０００の外部の周辺機器や周辺回路（例えば、図４に示す主制御部３００の各駆動回路３２４、３２６、３３０、３３４等）が相当する。
【１１１２】
また、メモリリクエスト信号（ＸＭＲＥＱ信号）は、ＣＰＵ３０４からその他回路４０００の内蔵ＲＯＭや内蔵ＲＡＭに送られ、カウンタ回路３１２にも取得されることが示され、ＩＯリクエスト信号（ＸＩＯＲＱ信号）は、ＣＰＵ３０４からその他回路４０００の内蔵レジスタに送られ、カウンタ回路３１２にも取得されることが示されている。また、チップセレクト信号（ＸＣＳ０〜ＸＣＳ１３）は、ＣＰＵ３０４からその他回路４０００の内蔵ＲＯＭや内蔵ＲＡＭや内蔵レジスタに送られ、カウンタ回路３１２にも取得されることが示されている。ライト信号（ＸＷＲ信号）は、ＣＰＵ３０４からその他回路４０００の内蔵ＲＡＭや内蔵レジスタに送られ、カウンタ回路３１２にも取得されることが示されている。なお、本実施形態でも、カウンタ回路３１２の８ビットカウンタ３１２２のクロック源としては、先の実施形態と同じ信号が用いられ、リード信号（ＸＲＤ）は選択できないが、カウンタ回路３１２はリード信号（ＸＲＤ）も取得可能であり、そのリード信号（ＸＲＤ）をクロック源として利用してもよい。さらに、不定期に出力される割込み要求応答信号（ＸＩＮＴＡＣＫ信号）もカウンタ回路３１２に取得されることが示されている。また、タイマ回路３１１に含まれるタイマ回路０〜２それぞれからのタイムアウト信号は、カウンタ回路３１２に送られ、クロック回路３２０からはシステムクロック信号（ＳＣＬＫ）がカウンタ回路３１２に送られる。
【１１１３】
この第２実施形態においても、カウンタ回路３１２の更新にランダム性を持たせることができる。カウント回路３１２のカウント値は、普図変動時間決定用乱数値や特図変動時間決定用乱数値として用いられ、抽選処理のランダム性を高めることができる。
【１１１４】
なお、以上説明した実施形態では、カウンタ回路３１２のカウント値を、普図変動時間決定用乱数値や特図変動時間決定用乱数値として用いているが、普図の当りや特図の大当りか否かを抽選する当否判定や、特図の図柄を決定する抽選に用いてもよい。すなわち、制御状態の変更に関係する抽選や、賞球の払出に関係する抽選に用いてもよい。あるいは、その他の演出に関する抽選処理（例えば、先読み予告の実行可否抽選）に用いてもよい。
【１１１５】
＜主制御部タイマ割込処理＞の変形例
次に、図１４６を用いて、主制御部３００のＣＰＵ３０４が実行する主制御部タイマ割込処理の変形例について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。
【１１１６】
主制御部３００は、所定の周期（本実施形態では約４ｍｓに１回）でタイマ割込信号を発生するカウンタタイマ３１２を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。
【１１１７】
ステップＳ４２０１では、タイマ割込開始処理を行う。このタイマ割込開始処理では、ＣＰＵ３０４の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
【１１１８】
ステップＳ４２０３では、ＷＤＴ３１４のカウント値が初期設定値（本実施形態では３２．８ｍｓ）を超えてＷＤＴ割込が発生しないように（処理の異常を検出しないように）、ＷＤＴを定期的に（本実施形態では、主制御部タイマ割込の周期である約４ｍｓに１回）リスタートを行う。
【１１１９】
ステップＳ４２０５では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、Ｉ／Ｏ３１０の入力ポートを介して、上述の前面枠扉開放センサや内枠開放センサや下皿満タンセンサ、各種の球検出センサを含む各種センサ３２０の検出信号を入力して検出信号の有無を監視し、ＲＡＭ３０８に各種センサ３２０ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前回のタイマ割込処理（約４ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ３０８に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をＲＡＭ３０８に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理（約４ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ３０８に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
【１１２０】
また、ステップＳ４２０５では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去３回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約４ｍｓという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップＳ４２０５では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して２回記憶されている場合には、入賞があったと判定する。図４に示す主制御部３００のＲＯＭ３０６には、入賞判定パターン情報（本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報）が記憶されている。このステップＳ４２０５では、各々の球検出センサにおいて過去３回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報（本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報）と一致した場合に、一般入賞口２２６、可変入賞口２３４、第１特図始動口２３０、および第２特図始動口２３２への入球、または普図始動口２２８の通過があったと判定する。すなわち、これらの入賞口２２６、２３４やこれらの始動口２３０、２３２、２２８への入賞があったと判定する。例えば、一般入賞口２２６への入球を検出する一般入賞口センサにおいて過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口２２６へ入賞があったと判定し、以降の一般入賞口２２６への入賞に伴う処理を行うが、過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口２２６への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部３００のＲＯＭ３０６には、入賞判定クリアパターン情報（本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報）が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去３回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。なお、本実施形態では、入賞口２２６、２３４や始動口２３０、２３２、２２８へ入賞があったか否かの判定として、前々回、前回および今回の検出信号が予め定められた入賞判定パターン情報と一致した否かを判定していたが、このような方法に限らず、例えば、前回および今回の検出信号が予め定められた入賞判定パターン情報（例えば、前回検出信号なし、今回検出信号あり（いわゆるアップエッジ））と一致したか否かを判定するように構成してもよい。すなわち、球検出センサからの検出信号の有無を監視し、この監視結果の履歴が予め定められたパターンと一致したか否かを判定するように構成すればよい。
【１１２１】
ステップＳ４２０７およびステップＳ４２０９では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップＳ１１５で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部３００で使用する、普図当選乱数値を生成するためのカウンタと、特図１乱数値および特図２乱数値それぞれを加工するためのカウンタ（以下、特図当選乱数加工用カウンタ）を更新する。例えば、普図当選乱数値として取り得る数値範囲が０〜１００とすると、ＲＡＭ３０８に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に１を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に１を加算した結果が１０１であれば０を元の乱数カウンタ記憶領域に記憶する。また、取得した値に１を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、０〜１００の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に１を加算した結果が、ＲＡＭ３０８に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値（例えば７）である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に１周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。また、普図当選乱数値生成用の乱数カウンタが次に１周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが１周したことを判定するための初期値記憶領域をＲＡＭ３０８に設けている。なお、本実施形態では特図１の乱数値および特図２の乱数値を加工するためのカウンタを同一のカウンタとして設けたが、それぞれ異なるカウンタとしてもよい。
【１１２２】
ステップＳ４２１１では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部３００で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【１１２３】
ステップＳ４２１３では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置２１０に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、第１特別図柄表示装置２１２に図柄を変動・停止表示する時間を計時するための特図１表示図柄更新タイマ、第２特図表示装置２１４に図柄を変動・停止表示する時間を計時するための特図２表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
【１１２４】
ステップＳ４２１５では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口２２６、２３４や始動口２３０、２３２、２２８に入賞があった場合に、ＲＡＭ３０８に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、１を加算して、元の賞球数記憶領域に設定する。
【１１２５】
また、ステップＳ４２１７では、入賞受付処理を行う。この入賞受付処理では、第１特図始動口２３０、第２特図始動口２３２、普図始動口２２８および可変入賞口２３４への入賞があったか否かを判定する。ここでは、ステップＳ４２０５における入賞判定パターン情報と一致するか否かの判定結果を用いて判定する。第１特図始動口２３０へ入賞があった場合、且つＲＡＭ３０８に設けた対応する保留数記憶領域が満タンでない場合には、乱数生成回路３１８の特図１に対応するチャンネルの乱数をラッチするためのラッチ信号を出力する処理（具体的には、ソフトラッチレジスタ３１８６の特図１のチャンネルに対応する領域に所定の値を書き込む処理）を実行するとともに、このラッチ信号によってラッチされた乱数を取得するためのリード信号を出力する処理(具体的には、乱数レジスタ３１８８のうちの特図１のチャンネルに対応する乱数レジスタに対してリード信号を出力する処理)を実行してラッチされている乱数を取得して対応する乱数値記憶領域に格納し、さらに、特図当選乱数加工用カウンタから値を取得して対応する乱数値記憶領域に格納する。第２特図始動口２３２へ入賞があった場合も第１特図始動口へ入賞があった場合と同様の処理を実行する。なお、本実施形態では、乱数生成回路３１８から乱数を取得する方法として特図１および２に対応するチャンネルの乱数をラッチするためのラッチ信号を出力する処理を行った後にラッチした乱数を取得するリード信号を出力する方法を採用しているが、特図１および２に対応するチャンネルの乱数を直読みする処理（具体的には、乱数レジスタ３１８８の値を直接リードする処理）を実行して取得するようにしてもよい。続いて普図始動口２２８へ入賞があった場合、且つＲＡＭ３０８に設けた対応する保留数記憶領域が満タンでない場合、普図当選乱数値生成用の乱数カウンタから値を普図当選乱数値として取得して対応する乱数値記憶領域に格納する。可変入賞口２３４へ入賞があった場合には、可変入賞口用の入賞記憶領域に、可変入賞口２３４に球が入球したことを示す情報を格納する。なお、本実施形態では、特図１および２のラッチされた乱数を取得するためのリード信号を出力する処理（乱数レジスタ３１８８の値を直接リードする処理とは異なる）を主制御部タイマ割込み処理において実行するように構成しているが、この処理に関しては上述した主制御部メイン処理において実行するように構成してもよく、この場合は、後述する特図関連抽選処理を合わせて主制御部メイン処理において実行するように構成すればよいく、特図１および２に対応するチャンネルの乱数値を直読みする処理を実行する場合においては、特図関連抽選処理のみを主制御部メイン処理おいて実行するように構成すればよい。
【１１２６】
ステップＳ４２１９では、払出要求数送信処理を行う。なお、払出制御部６００に出力する出力予定情報および払出要求情報は、例えば１バイトで構成しており、ビット７にストローブ情報（オンの場合、データをセットしていることを示す）、ビット６に電源投入情報（オンの場合、電源投入後一回目のコマンド送信であることを示す）、ビット４〜５に暗号化のための今回加工種別（０〜３）、およびビット０〜３に暗号化加工後の払出要求数を示すようにしている。
【１１２７】
ステップＳ４２２１では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの１つの処理を行う。例えば、普図変動表示の途中（上述する普図表示図柄更新タイマの値が１以上）における普図状態更新処理では、普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置２１０は普図の変動表示（普図変動遊技）を行う。
【１１２８】
また、普図変動表示時間が経過したタイミング（普図表示図柄更新タイマの値が１から０になったタイミング）における普図状態更新処理では、当りフラグがオンの場合には、当り図柄の表示態様となるように普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、外れ図柄の表示態様となるように普通図柄表示装置２１０を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行う。また、主制御部３００のＲＡＭ３０８には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯・消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置２１０は、当り図柄（図５（ｃ）に示す普図Ａ）および外れ図柄（図５（ｃ）に示す普図Ｂ）いずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間（例えば５００ｍ秒間）、その表示を維持するためにＲＡＭ３０８に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。
【１１２９】
また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）における普図状態更新処理では、ＲＡＭ３０８の設定領域に普図作動中を設定するとともに、所定の開放期間（例えば２秒間）、第２特図始動口２３２の羽根部材２３２ａの開閉駆動用のソレノイド（３３２）に、羽根部材２３２ａを開放状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
【１１３０】
また、所定の開放期間が終了したタイミング（羽根開放時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、所定の閉鎖期間（例えば５００ｍ秒間）、羽根部材の開閉駆動用のソレノイド３３２に、羽根部材を閉鎖状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
【１１３１】
また、所定の閉鎖期間が終了したタイミング（羽根閉鎖時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、ＲＡＭ３０８の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果が外れであれば、後述するように、普図外れフラグがオンされる。この普図外れフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）における普図状態更新処理でも、ＲＡＭ３０８の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップＳ４２２３に移行するようにしている。
【１１３２】
ステップＳ４２２３では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第２特図始動口２３２の開閉制御を行っておらず（普図の状態が非作動中）、且つ、保留している普図変動遊技の数が１以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはＲＡＭ３０８に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置２１０に普図を変動表示する時間を１つ選択し、この変動表示時間を、普図変動表示時間として、ＲＡＭ３０８に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、ＲＡＭ３０８に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から１を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
【１１３３】
次いで、特図１および特図２それぞれについての特図状態更新処理を行うが、最初に、特図２についての特図状態更新処理（特図２状態更新処理）を行う（ステップＳ４２２５）。この特図２状態更新処理は、特図２の状態に応じて、次の８つの処理のうちの１つの処理を行う。例えば、特図２変動表示の途中（上述の特図２表示図柄更新タイマの値が１以上）における特図２状態更新処理では、第２特別図柄表示装置２１４を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。この制御を行うことで、第２特別図柄表示装置２１４は特図２の変動表示（特図２変動遊技）を行う。また、コマンド設定送信処理（ステップＳ４２３３）で回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。
【１１３４】
また、主制御部３００のＲＡＭ３０８の当否判定結果記憶領域には、１５Ｒ大当りフラグ、２Ｒ大当りフラグ、第１小当りフラグ、第２小当りフラグ、第１はずれフラグ、第２はずれフラグ、特図確率変動フラグ、および普図確率変動フラグそれぞれのフラグが用意されている。特図２変動表示時間が経過したタイミング（特図２表示図柄更新タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、１５Ｒ大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には図５（ａ）に示す特図Ａ、１５Ｒ大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図Ｂ、２Ｒ大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には特図Ｃ、２Ｒ大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図Ｄ、２Ｒ大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグはオンの場合には特図Ｅ、２Ｒ大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグもオフの場合には特図Ｆ、第１小当りフラグがオンの場合には特図Ｇ、第２小当りフラグがオンの場合には特図Ｈ、第１はずれフラグがオンの場合には特図Ｉ、第２はずれフラグがオンの場合には特図Ｉそれぞれの態様となるように、第２特別図柄表示装置２１４を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、ＲＡＭ３０８の設定領域に特図２停止表示中であることを表す設定を行う。この制御を行うことで、第２特別図柄表示装置２１４は、１５Ｒ特別大当り図柄（特図Ａ）、１５Ｒ大当り図柄（特図Ｂ）、突然確変図柄（特図Ｃ）、突然時短図柄（特図Ｄ）、隠れ確変図柄（特図Ｅ）、突然通常図柄（特図Ｆ）、第１小当り図柄（特図Ｇ）、第２小当り図柄（特図Ｈ）、第１はずれ図柄（特図Ｉ）、および第２はずれ図柄（特図Ｊ）のいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間（例えば５００ｍ秒間）その表示を維持するためにＲＡＭ３０８に設けた特図２停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図２が所定期間停止表示され、特図２変動遊技の結果が遊技者に報知される。また、ＲＡＭ３０８に設けられた時短回数記憶部に記憶された時短回数が１以上であれば、その時短回数から１を減算し、減算結果が１から０となった場合は、特図確率変動中（詳細は後述）でなければ、時短フラグをオフする。さらに、大当り遊技中（特別遊技状態中）にも、時短フラグをオフする。
【１１３５】
また、コマンド設定送信処理（ステップＳ４２３３）で回転停止設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶するとともに、変動表示を停止する図柄が特図２であることを示す特図２識別情報を、後述するコマンドデータに含める情報としてＲＡＭ３０８に追加記憶してから処理を終了する。
【１１３６】
また、特図２変動遊技の結果が大当りであれば、後述するように、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング（特図２停止時間管理用タイマの値が１から０になったタイミング）における特図２状態更新処理では、ＲＡＭ３０８の設定領域に特図２作動中を設定するとともに、所定の入賞演出期間（例えば３秒間）すなわち装飾図柄表示装置２０８による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにＲＡＭ３０８に設けた特図２待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ４２３３）で入賞演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【１１３７】
また、所定の入賞演出期間が終了したタイミング（特図２待機時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、所定の開放期間（例えば２９秒間、または可変入賞口２３４に所定球数（例えば１０球）の遊技球の入賞を検出するまで）可変入賞口２３４の扉部材２３４ａの開閉駆動用のソレノイド（３３２）に、扉部材２３４ａを開放状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ４２３３）で大入賞口開放設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【１１３８】
また、所定の開放期間が終了したタイミング（扉開放時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、所定の閉鎖期間（例えば１．５秒間）可変入賞口２３４の扉部材２３４ａの開閉駆動用のソレノイド（３３２）に、扉部材２３４ａを閉鎖状態に保持する信号を出力するとともに、ＲＡＭ３０８に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理（ステップＳ４２３３）で大入賞口閉鎖設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【１１３９】
また、この扉部材の開放・閉鎖制御を所定回数（本実施例では１５ラウンドか２ラウンド）繰り返し、終了したタイミングで開始する特図２状態更新処理では、所定の終了演出期間（例えば３秒間）すなわち装飾図柄表示装置２０８による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにＲＡＭ３０８に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、普図確率変動フラグがオンに設定されていれば、この大当り遊技の終了と同時に、ＲＡＭ３０８に設けられた時短回数記憶部に時短回数１００回をセットするともに、ＲＡＭ３０８に設けられた時短フラグをオンする。なお、その普図確率変動フラグがオフに設定されていれば、時短回数記憶部に時短回数をセットすることもなく、また時短フラグをオンすることもない。ここにいう時短とは、特図変動遊技における大当りを終了してから、次の大当りを開始するまでの時間を短くするため、パチンコ機が遊技者にとって有利な状態になることをいう。この時短フラグがオンに設定されていると、普図高確率状態である。普図高確率状態では普図低確率状態に比べて、普図変動遊技に大当りする可能性が高い。また、普図高確率状態の方が、普図低確率状態に比べて普図変動遊技の変動時間および特図変動遊技の変動時間は短くなる。さらに、普図高確率状態では普図低確率状態に比べて、第２特別始動口２３２の一対の羽根部材２３２ａの１回の開放における開放時間が長くなりやすい。加えて、普図高確率状態では普図低確率状態に比べて、一対の羽根部材２３２ａは多く開きやすい。また、上述のごとく、時短フラグは、大当り遊技中（特別遊技状態中）にはオフに設定される。したがって、大当り遊技中には、普図低確率状態が維持される。これは、大当り遊技中に普図高確率状態であると、大当り遊技中に可変入賞口２３４に所定の個数、遊技球が入球するまでの間に第２特図始動口２３２に多くの遊技球が入球し、大当り中に獲得することができる遊技球の数が多くなってしまい射幸性が高まってしまうという問題があり、これを解決するためのものである。
【１１４０】
さらに、コマンド設定送信処理（ステップＳ４２３３）で終了演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。
【１１４１】
また、所定の終了演出期間が終了したタイミング（演出待機時間管理用タイマの値が１から０になったタイミング）で開始する特図２状態更新処理では、ＲＡＭ３０８の設定領域に特図２非作動中を設定する。さらに、特図２変動遊技の結果が外れであれば、後述するように、はずれフラグがオンされる。このはずれフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング（特図２停止時間管理用タイマの値が１から０になったタイミング）における特図２状態更新処理でも、ＲＡＭ３０８の設定領域に特図２非作動中を設定する。特図２非作動中の場合における特図２状態更新処理では、何もせずに次のステップＳ４２２７に移行するようにしている。
【１１４２】
続いて、特図１についての特図状態更新処理（特図１状態更新処理）を行う（ステップＳ４２２７）。この特図１状態更新処理では、特図１の状態に応じて、上述の特図２状態更新処理で説明した各処理を行う。この特図１状態更新処理で行う各処理は、上述の特図２状態更新処理で説明した内容の「特図２」を「特図１」と読み替えた処理と同一であるため、その説明は省略する。なお、特図２状態更新処理と特図１状態更新処理の順番は逆でもよいし、第１特図始動口２３０または第２特図始動口２３２への入賞順序（入球順序）にしたがって、入賞（入球）の早い特図に対応する特図状態更新処理を優先して実行してもよい。
【１１４３】
ステップＳ４２２５およびステップＳ４２２７における特図状態更新処理が終了すると、今度は、特図１および特図２それぞれについての特図関連抽選処理を行う。ここでも先に、特図２についての特図関連抽選処理（特図２関連抽選処理）を行い（ステップＳ４２２９）、その後で、特図１についての特図関連抽選処理（特図１関連抽選処理）を行う（ステップＳ４２２９）。より具体的には、特図１および特図２それぞれにおいて、乱数生成回路３１８から取得した乱数値を、特図当選乱数加工用カウンタから取得した乱数値を用いて加工（例えば、乱数生成回路３１８から取得した乱数値に対して特図当選乱数加工用カウンタから取得した乱数値を加算する処理）を行い、加工された乱数値を用いて抽選を行う。なお、本実施例では、特図１および特図２それぞれにおいて、乱数生成回路３１８から取得した乱数値を特図当選乱数加工用カウンタから取得した乱数値を用いて加工するように構成しているが、このような加工を行うことなく、乱数生成回路から取得した乱数値を直に使用して特図関連抽選処理を行うように構成してもよい。すなわち、乱数生成回路３１８から取得した乱数値を用いた特図関連抽選処理を行うように構成すればよい。これらの特図関連抽選処理についても、主制御部３００が特図２関連抽選処理を特図１関連抽選処理よりも先に行うことで、特図２変動遊技の開始条件と、特図１変動遊技の開始条件が同時に成立した場合でも、特図２変動遊技が先に変動中となるため、特図１変動遊技は変動を開始しない。また、装飾図柄表示装置２０８による、特図変動遊技の大当り判定の結果の報知は、第１副制御部４００によって行われ、第２特図始動口２３２への入賞に基づく抽選の抽選結果の報知が、第１特図始動口２３０への入賞に基づく抽選の抽選結果の報知よりも優先して行われる。
【１１４４】
ステップＳ４２３３では、コマンド設定送信処理を行う。詳細は後述するが、このコマンド設定送信処理では、各種のコマンドを第１副制御部４００に送信する処理を行う。なお、第１副制御部４００では、主制御部３００から受信した出力予定情報に含まれるコマンド種別により、主制御部３００における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
【１１４５】
ステップＳ４２３５では、外部出力信号設定処理を行う。この外部出力信号設定処理では、ＲＡＭ３０８に記憶している遊技情報を、情報出力回路３３６を介してパチンコ機１００とは別体の情報入力回路３５０に出力する。
【１１４６】
ステップＳ４２３７では、デバイス監視処理を行う。このデバイス監視処理では、ステップＳ４２０５において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、所定のエラーの有無、例えば前面枠扉開放エラーの有無または下皿満タンエラーの有無などを監視し、前面枠扉開放エラーまたは下皿満タンエラーを検出した場合に、第１副制御部４００に送信すべき送信情報に、前面枠扉開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド３３２を駆動して第２特図始動口２３２や、可変入賞口２３４の開閉を制御したり、表示回路３２４、３２６、３３０を介して普通図柄表示装置２１０、第１特別図柄表示装置２１２、第２特別図柄表示装置２１４、各種状態表示部３２８などに出力する表示データを、Ｉ／Ｏ３１０の出力ポートに設定する。また、払出要求数送信処理（ステップＳ４２１９）で設定した出力予定情報を出力ポート（Ｉ／Ｏ３１０）を介して第１副制御部４００に出力する。
【１１４７】
ステップＳ４２３９では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ４２４３に進み、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ４２４１に進む。
【１１４８】
ステップＳ４２４１では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップＳ４２０１で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割込許可の設定などを行い、その後、主制御部メイン処理に復帰する。
【１１４９】
一方、ステップＳ４２４３では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてＲＡＭ３０８の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。
【１１５０】
＜第１副制御部４００の処理＞
次に、図１４７を用いて、第１副制御部４００の処理について説明する。なお、同図（ａ）は、第１副制御部４００のＣＰＵ４０４が実行するメイン処理のフローチャートである。同図（ｂ）は、第１副制御部４００のストローブ割込み処理のフローチャートである。同図（ｃ）は、第１副制御部４００のタイマ変数更新割込処理のフローチャートである。同図（ｄ）は、第１副制御部４００の画像制御処理のフローチャートである。
【１１５１】
まず、同図（ａ）のステップＳ４３０１では、各種の初期設定を行う。電源投入が行われると、まずＳ４３０１で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、ＲＡＭ４０８内の記憶領域の初期化処理等を行う。
【１１５２】
ステップＳ４３０３では、タイマ変数が１０以上か否かを判定し、タイマ変数が１０となるまでこの処理を繰り返し、タイマ変数が１０以上となったときには、ステップＳ４３０５の処理に移行する。ステップＳ４３０５では、タイマ変数に０を代入する。
【１１５３】
ステップＳ４３０７では、コマンド処理を行う。第１副制御部４００のＣＰＵ４０４は、主制御部３００からコマンドを受信したか否かを判別する。
【１１５４】
ステップＳ４３０９では、演出制御処理を行う。例えば、ステップＳ４３０７で新たなコマンドがあった場合には、このコマンドに対応する演出データをＲＯＭ４０６から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。
【１１５５】
ステップＳ４３１１では、チャンスボタンの押下を検出していた場合、ステップＳ４３０９で更新した演出データをチャンスボタンの押下に応じた演出データに変更する処理を行う。ステップＳ４３１３では、ステップＳ４３０９で読み出した演出データの中にＶＤＰ４３４への命令がある場合には、この命令をＶＤＰ４３４に出力する（詳細は後述）。
【１１５６】
ステップＳ４３１５では、ステップＳ４３０９で読み出した演出データの中に音源ＩＣ４１６への命令がある場合には、この命令を音源ＩＣ４１６に出力する。ステップＳ４３１７では、ステップＳ４３０９で読み出した演出データの中に各種ランプ４１８への命令がある場合には、この命令を駆動回路４２０に出力する。
【１１５７】
ステップＳ４３１９では、ステップＳ４３０９で読み出した演出データの中に遮蔽装置２４６への命令がある場合には、この命令を駆動回路４３２に出力する。ステップＳ４３２１では、ステップＳ４３０９で読み出した演出データの中に第２副制御部５００に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、ステップＳ４３０３へ戻る。
【１１５８】
次に、同図（ｂ）を用いて、第１副制御部４００のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第１副制御部４００が、主制御部３００が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップＳ４４０１では、主制御部３００が出力したコマンドを未処理コマンドとしてＲＡＭ４０８に設けたコマンド記憶領域に記憶する。
【１１５９】
次に、同図（ｃ）を用いて、第１副制御部４００のＣＰＵ４０４によって実行する第１副制御部タイマ割込処理について説明する。第１副制御部４００は、所定の周期（本実施例では２ｍｓに１回）でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
【１１６０】
第１副制御部タイマ割込処理のステップＳ４５０１では、第１副制御部メイン処理におけるステップＳ４３０３において説明したＲＡＭ４０８のタイマ変数記憶領域の値に、１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ４３０３において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。
【１１６１】
第１副制御部タイマ割込処理のステップＳ４５０３では、ステップＳ４３１９で設定された第２副制御部５００への制御コマンドの送信や、演出用乱数値の更新処理等を行う。
【１１６２】
次に、同図（ｄ）を用いて、第１副制御部４００のメイン処理におけるステップＳ４３１３の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。
【１１６３】
ステップＳ４６０１では、画像データの転送指示を行う。ここでは、ＣＰＵ４０４は、まず、ＶＲＡＭ４３６の表示領域Ａと表示領域Ｂの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された１フレームの画像が装飾図柄表示装置２０８に表示される。次に、ＣＰＵ４０４は、ＶＤＰ４３４のアトリビュートレジスタに、位置情報等テーブルに基づいてＲＯＭ座標（ＲＯＭ４０６の転送元アドレス）、ＶＲＡＭ座標（ＶＲＡＭ４３６の転送先アドレス）などを設定した後、ＲＯＭ４０６からＶＲＡＭ４３６への画像データの転送開始を指示する命令を設定する。ＶＤＰ４３４は、アトリビュートレジスタに設定された命令に基づいて画像データをＲＯＭ４０６からＶＲＡＭ４３６に転送する。その後、ＶＤＰ４３６は、転送終了割込信号をＣＰＵ４０４に対して出力する。
【１１６４】
ステップＳ４６０３では、ＶＤＰ４３４からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップＳ４６０５に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップＳ４６０５では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、ＣＰＵ４０４は、ステップＳ４６０１でＶＲＡＭ４３６に転送した画像データに基づいてＶＲＡＭ４３６の表示領域ＡまたはＢに表示画像を形成するために、表示画像を構成する画像データの情報（ＶＲＡＭ４３６の座標軸、画像サイズ、ＶＲＡＭ座標（配置座標）など）をＶＤＰ４３４に指示する。ＶＤＰ４３４はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。
【１１６５】
ステップＳ４６０７では、描画指示を行う。この描画指示では、ＣＰＵ４０４は、ＶＤＰ４３４に画像の描画開始を指示する。ＶＤＰ４３４は、ＣＰＵ４０４の指示に従ってフレームバッファにおける画像描画を開始する。
【１１６６】
ステップＳ４６０９では、画像の描画終了に基づくＶＤＰ４３４からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップＳ４６１１に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップＳ４６１１では、ＲＡＭ４０８の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント（＋１）して処理を終了する。
【１１６７】
＜第２副制御部５００の処理＞
次に、図１４８を用いて、第２副制御部５００の処理について説明する。なお、同図（ａ）は、第２副制御部５００のＣＰＵ５０４が実行するメイン処理のフローチャートである。同図（ｂ）は、第２副制御部５００のコマンド受信割込処理のフローチャートである。同図（ｃ）は、第２副制御部５００のタイマ割込処理のフローチャートである。
【１１６８】
まず、同図（ａ）のステップＳ４７０１では、各種の初期設定を行う。電源投入が行われると、まずＳ４７０１で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、ＲＡＭ５０８内の記憶領域の初期化処理等を行う。
【１１６９】
ステップＳ４７０３では、タイマ変数が１０以上か否かを判定し、タイマ変数が１０となるまでこの処理を繰り返し、タイマ変数が１０以上となったときには、ステップＳ４７０５の処理に移行する。
【１１７０】
ステップＳ４７０５では、タイマ変数に０を代入する。ステップＳ４７０７では、コマンド処理を行う。第２副制御部５００のＣＰＵ５０４は、第１副制御部４００のＣＰＵ４０４からコマンドを受信したか否かを判別する。ステップＳ４７０９では、演出制御処理を行う。例えば、Ｓ４７０７で新たなコマンドがあった場合には、このコマンドに対応する演出データをＲＯＭ５０６から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。
【１１７１】
ステップＳ４７１１では、第１副制御部４００からの遊技盤用ランプ５３２や遊技台枠用ランプ５４２への命令がある場合には、この命令をシリアル通信制御回路５２０に出力する。
【１１７２】
ステップＳ４７１３では、第１副制御部４００からの演出可動体２２４への命令がある場合には、この命令を駆動回路５１６に出力し、Ｓ４７０３に戻る。次に、同図（ｂ）を用いて、第２副制御部５００のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第２副制御部５００が、第１副制御部４００が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップＳ４８０１では、第１副制御部４００が出力したコマンドを未処理コマンドとしてＲＡＭ５０８に設けたコマンド記憶領域に記憶する。
【１１７３】
次に、同図（ｃ）を用いて、第２副制御部５００のＣＰＵ５０４によって実行する第２副制御部タイマ割込処理について説明する。第２副制御部５００は、所定の周期（本実施例では２ｍｓに１回）でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。
【１１７４】
第２副制御部タイマ割込処理のステップＳ４９０１では、第２副制御部メイン処理におけるステップＳ４７０３において説明したＲＡＭ５０８のタイマ変数記憶領域の値に、１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ４７０３において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。第２副制御部タイマ割込処理のステップＳ４９０３では、演出用乱数値の更新処理等を行う。
【１１７５】
＜コマンド設定送信処理＞
次に、上述の主制御部タイマ割込処理におけるコマンド設定送信処理（ステップＳ４２３３）について説明する。図１４９は、コマンド設定送信処理の流れを示すフローチャートである。
【１１７６】
このコマンド設定送信処理のステップＳ４２３３ａでは、大当り中用コマンド送信処理を行う。詳細は後述するが、この大当り中用コマンド送信処理では、大当り遊技中に第１副制御部４００に送信するコマンドの設定を行う。また、次のステップＳ４２３３ｂでは、その他のコマンド（例えば、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、復電コマンドなど）を設定するコマンド設定送信処理を行った後に、処理を終了する。
【１１７７】
＜大当り中用コマンド送信処理＞
次に、上述のコマンド設定送信処理における大当り中用コマンド送信処理（ステップＳ４２３３ａ）について説明する。図１５０は、大当り中用コマンド送信処理の流れを示すフローチャートである。
【１１７８】
この大当り中用コマンド送信処理のステップＳ５１０１では、ＲＡＭ３０８に設けたコマンド格納領域をクリア（初期化）する。また、ステップＳ５１０２では、大当り遊技の進行状況（大当り遊技の開始時、ラウンド開始時、ラウンド終了時、大当り遊技の終了時など）や、大当り時の特図の種類などに基づいて、ＲＯＭ３０６に予め記憶している複数種類のコマンドデータの中から、特定のコマンドデータを抽出する。また、抽出したコマンドデータが記憶されている記憶領域の先頭番地を、ＲＡＭ３０８に設けた転送元番地記憶領域に転送元番地として設定（記憶）する。なお、ここでは、転送元番地を一時的に記憶する記憶手段としてＲＡＭ３０８を適用しているが、レジスタなどの他の記憶手段を適用してもよい（以下に説明する転送先番地や転送数なども同様である）。
【１１７９】
次に、ステップＳ５１０３では、コマンド格納領域の先頭番地を、ＲＡＭ３０８に設けた転送先番地記憶領域に転送先番地として設定（記憶）し、ステップＳ５１０４では、コマンドデータのバイト数を、ＲＡＭ３０８に設けた転送数記憶領域に転送数として設定（記憶）する。
【１１８０】
ステップＳ５１０５では、ブロック転送処理を行う。詳細は後述するが、このブロック転送処理では、転送元番地に設定された記憶領域に記憶されたデータを、転送先番地に設定された記憶領域に転送する処理等を行う。ステップＳ５１０６では、コマンド格納領域に転送されたコマンドを第１副制御部４００に送信した後に処理を終了する。なお、コマンドを第１副制御部４００に送信する処理は、上述の主制御部メイン処理で実行してもよい。
【１１８１】
＜ブロック転送処理＞
次に、上述の大当り中用コマンド送信処理におけるブロック転送処理（ステップＳ５１０５）について説明する。図１５１は、ブロック転送処理の流れを示すフローチャートである。
【１１８２】
このブロック転送処理のステップＳ５２０１では、上述の転送数に応じて補正時間を設定する。詳細は、図１５６を用いて説明するが、例えば、転送数が１の場合には、転送数が１の場合に要するブロック転送処理の処理時間と、転送数が３の場合に要するブロック転送処理の処理時間との差を補正時間として設定し、転送数が２の場合には、転送数が２の場合に要するブロック転送処理の処理時間と、転送数が３の場合に要するブロック転送処理の処理時間との差を補正時間として設定する。
【１１８３】
ステップＳ５２０２では、コマンドデータのうち、上述の転送元番地が示す記憶領域に記憶されたデータを、コマンド格納領域のうち、上述の転送先番地が示す記憶領域に転送する。ステップＳ５２０３では、転送元番地を１つ加算し、ステップＳ５２０４では、転送先番地を１つ加算する。
【１１８４】
また、ステップＳ５２０５では、転送数から１を減算し、ステップＳ５２０６では、減算後の転送数が０であるか否かを判定し、該当する場合（コマンドデータの転送が全て完了した場合）にはステップＳ５２０７に進み、該当しない場合（コマンドデータの転送が残っている場合）にはステップＳ５２０２に戻ってブロック転送処理を継続する。ステップＳ５２０７では、ステップＳ５２０１で設定した補正時間が経過するのを待ってから処理を終了する。
【１１８５】
＜コマンドテーブル＞
次に、ＲＯＭ３０６に予め記憶されるコマンドテーブルについて説明する。図１５２（ａ）〜（ｄ）は、大当り遊技中に参照されるコマンドテーブルの一例を示した図である。
【１１８６】
これらのコマンドテーブルは、ＲＯＭ３０６に予め記憶されており、固定長（この例では、１バイト長）の先頭番地と、固定長（この例では、１バイト長）のバイト数と、可変長のコマンドデータ（この例では、１バイト長のコマンド識別子と、可変長のコマンドパラメータ）で構成される。
【１１８７】
先頭番地は、コマンドデータのうち、１バイト目のコマンドデータ（この例では、コマンド識別子）が記憶されるＲＯＭ３０６の番地を示しており、例えば、同図（ａ）に示す大当り開始コマンド１の１バイト目のコマンドデータ（１１Ｈ）は、ＲＯＭ３０６の番地１００に記憶されていることを示している。また、バイト数は、コマンドデータのデータ長を示しており、例えば、同図（ａ）に示す大当り開始コマンド１のコマンドデータのデータ長は２バイトであることを示している。
【１１８８】
同図（ａ）は、大当り遊技の開始時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、大当り遊技の開始時に送信される大当り開始コマンド１〜６の２バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（１１Ｈ）は、大当り開始コマンドであることを示している。また、コマンドデータの２バイト目には、大当り図柄識別用情報が記憶され、それぞれ、０１Ｈは特図Ａ、０２Ｈは特図Ｂ、０３Ｈは特図Ｃ、０４Ｈは特図Ｄ、０５Ｈは特図Ｅ、０６Ｈは特図Ｆであることを示している。
【１１８９】
同図（ｂ）は、大当り遊技のラウンド開始時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、大当り遊技のラウンド開始時に送信されるラウンド開始コマンド１〜２９の３バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（１２Ｈ）は、ラウンド開始コマンドであることを示している。また、コマンドデータの２バイト目には、大当り図柄識別用情報が記憶され、それぞれ、０１Ｈは特図Ａ、０２Ｈは特図Ｂ、０３Ｈは特図Ｃ、０４Ｈは特図Ｄ、０５Ｈは特図Ｅ、０６Ｈは特図Ｆであることを示している。また、コマンドデータの３バイト目には、ラウンド数識別用情報が記憶され、ラウンド数を１６進数で示している。
【１１９０】
同図（ｃ）は、大当り遊技のラウンド終了時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、大当り遊技のラウンド終了時に送信されるラウンド終了コマンド１〜１５の２バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（１３Ｈ）は、ラウンド終了コマンドであることを示している。また、コマンドデータの２バイト目には、ラウンド数識別用情報が記憶され、ラウンド数を１６進数で示している。
【１１９１】
同図（ｄ）は、大当り遊技の終了時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、大当り遊技の終了時に送信される大当り終了コマンド１の１バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（１４Ｈ）は、大当り終了コマンドであることを示している。なお、この大当り終了コマンドはコマンドパラメータが無いコマンドである。
【１１９２】
＜本発明と従来技術との対比＞
次に、本発明と従来技術の違いについて説明する。図１５３は、本発明の特徴部分のみを抜き出して示したフローチャートである。
【１１９３】
同図に示すように、上述の大当り中用コマンド送信処理のうち、ステップＳ５１０４の処理（転送数に応じて補正時間を設定する処理）の直後から、ステップＳ５１０６の処理（コマンド送信処理）の直前までに実行されるブロック転送処理は、処理Ｘ、処理Ｙ、処理Ｚの３つに分けて考えることができる。
【１１９４】
処理Ｘは、ステップＳ５２０１の処理（転送数に応じて補正時間を設定する処理）の直後から、ステップＳ５２０６の処理（転送数が０であるか否かを判定し、判定結果に応じてステップＳ５２０２またはＳ５２０７にジャンプする処理：以下、条件分岐処理と称する場合がある）の直前までに実行される処理であり、ステップＳ５２０２〜Ｓ５２０５の複数の処理で構成される。処理Ｙは、ステップＳ５２０６の処理（条件分岐処理）の直前から、このステップＳ５２０６の処理（条件分岐処理）の直後までの処理、すなわち、ステップＳ５２０６の処理（条件分岐処理）で構成される。処理Ｚは、ステップＳ５２０６の処理（条件分岐処理）の直後から、ステップＳ５２０７の処理（補正時間待機処理）を少なくとも含み、ステップＳ５１０６の処理（コマンド送信処理）の直前までの処理で構成される。
【１１９５】
図１５４（ａ）、（ｂ）は、本発明の特徴部分を上記図１５３とは異なる視点で示したフローチャートである。同図（ａ）に示すように、上述の大当り中用コマンド送信処理は、ステップＳ５３０１〜Ｓ５３０５の処理に分けて考えることができる。具体的には、ステップＳ５３０１は、第１の処理の準備処理（条件設定処理）であり、例えば、上記図１５３のステップＳ５２０１の処理（転送数に応じて補正時間を設定する処理）などが該当する。
【１１９６】
また、ステップＳ５３０２は、第１の処理（条件分岐処理）であり、例えば、上記図１５３のステップＳ５２０６の処理（条件分岐処理）が該当する。ステップＳ５３０３は、第２の処理（第１の処理内容）であり、例えば、上記図１５３のステップＳ５２０２〜Ｓ５２０５の複数の処理（処理Ｘのうち、ステップＳ５２０６の処理（条件分岐処理）の後に実行される処理Ｘ）が該当する。
【１１９７】
また、ステップＳ５３０４は、第２の処理（第２の処理内容）であり、例えば、上記図１５３のステップＳ５２０７の処理（補正時間待機処理）を少なくとも含んだ、ステップＳ５１０６の処理（コマンド送信処理）の直前までの処理（処理Ｚ）が該当する。なお、このステップＳ５３０４の第２の処理（第２の処理内容）には、同図（ｂ）に示すように、条件分岐処理から第３の処理に分岐（ジャンプ）だけの処理も含まれ、演算命令、入出力命令、ロード命令のように、レジスタ、メモリ、スタック、Ｉ／Ｏなどを操作する命令には限定されない。
【１１９８】
また、第１の処理と第２の処理は、複数の命令（例えば、所定の条件を判断する第１の命令、条件が成立した場合に処理Ａを実行する第２の命令、条件が成立しなかった場合に処理Ｂを実行する第３の命令）で構成する場合に限定されず、単一の命令（例えば、所定の条件を判断し、条件が成立した場合に処理Ａを実行し、条件が成立しなかった場合に処理Ｂを実行する命令）で実行可能に構成してもよい。このように、一つの命令で第１の処理と第２の処理を実行可能とすれば、第１の処理と第２の処理に対応するプログラムコード量を削減することができたり、第１の処理と第２の処理を実行するために必要なステート数を削減できる場合がある。
【１１９９】
さらに、単一の命令のバリエーションとして、例えば、所定の条件を判断し、条件が成立した場合に処理Ｂを実行し、条件が成立しなかった場合に処理Ａを実行する命令を備えれば、所定の条件に応じて命令を使い分けることができ、プログラムを簡素化することができる場合がある。また、所定の演算を行い、演算結果が第１の結果の場合に処理Ａを実行し、演算結果が第２の結果の場合に処理Ｂを実行する命令や、所定の演算を行い、演算結果が第１の結果の場合に処理Ｂを実行し、演算結果が第２の結果の場合に処理Ａを実行する命令を備えれば、コーディングの利便性が高まり、プログラムの開発期間を短縮化できる場合がある。また、所定の条件を判断し、条件が成立した場合に処理Ａに分岐し、条件が成立しなかった場合に処理Ｂに分岐する命令や、所定の演算を行い、演算結果が第１の結果の場合に処理Ａに分岐し、演算結果が第２の結果の場合に処理Ｂに分岐する命令を備えてもよい。
【１２００】
また、ステップＳ５３０５は、第３の処理であり、例えば、上記図１５３のステップＳ５１０６の処理（コマンド送信処理）が該当する。なお、第３の処理の処理内容は特に限定されず、上述の第２の処理（第１の処理内容）および第２の処理（第２の処理内容）の直後に実行される処理であればよい。
【１２０１】
一方、図１５５は、本発明の特徴部分に対応する従来技術の処理の流れを示したフローチャートであり、上記図１５３に対応するフローチャートである。この従来技術の処理を上記図１５３のフローチャートと同様に考えると、上述の大当り中コマンド送信処理に相当する処理のうち、ステップＳ５４０１の処理（転送数としてコマンドのバイト数を設定する処理）の直後から、ステップＳ５４０７の処理（コマンド送信処理）の直前までに実行される処理は、処理Ｘ´、処理Ｙ´、処理Ｚ´の３つに分けて考えることができる。
【１２０２】
処理Ｘ´は、ステップＳ５４０１の処理（転送数としてコマンドのバイト数を設定する処理）の直後から、ステップＳ５４０６の処理（転送数が０であるか否かを判定し、判定結果に応じてステップＳ５４０２またはＳ５４０７にジャンプする処理：以下、条件分岐処理と称する場合がある）の直前までに実行される処理であり、ステップＳ５４０２〜Ｓ５４０５の複数の処理で構成される。処理Ｙは、ステップＳ５４０６の処理（条件分岐処理）の直前から、このステップＳ５４０６の処理（条件分岐処理）の直後までの処理、すなわち、ステップＳ５４０６の処理（条件分岐処理）で構成される。処理Ｚは、ステップＳ５４０６の処理（条件分岐処理）の直後から、ステップＳ５４０７の処理（コマンド送信処理）の直前までの処理で構成される。
【１２０３】
図１５６（ａ）は、本発明に係る大当り中用コマンド送信処理においてブロック転送を行う場合の所要時間を示した図であり、同図（ｂ）は、従来技術に係る大当り中用コマンド送信処理においてブロック転送を行う場合の所要時間を示した図である。
【１２０４】
同図（ｂ）に示すように、従来技術に係る大当り中用コマンド送信処理では、ステップＳ５４０１において転送バイト数として１を設定した場合、第１の処理（処理Ｙ´）のみを行うため、所要時間の合計は処理Ｙ´（１回）の処理時間Ｔ１となる。また、ステップＳ５４０１において転送バイト数として２を設定した場合、第１の処理（処理Ｙ´）を２回と、第２の処理（処理Ｘ´のうち、ステップＳ５４０６の処理（条件分岐処理）の後に実行される処理Ｘ´）を１回行うため、所要時間の合計は処理Ｙ´（２回）の処理時間Ｔ１×２と処理Ｘ´（１回）の処理時間Ｔ２を合算した処理時間Ｔ１×２＋Ｔ２となる。また、ステップＳ５４０１において転送バイト数として３を設定した場合、第１の処理（処理Ｙ´）を３回と、第２の処理（処理Ｘ´のうち、ステップＳ５４０６の処理（条件分岐処理）の後に実行される処理Ｘ´）を２回行うため、所要時間の合計は処理Ｙ´（１回）の処理時間Ｔ１×３と処理Ｘ´（２回）の処理時間Ｔ２×２を合算した処理時間Ｔ１×３＋Ｔ２×２となる。
【１２０５】
すなわち、従来技術に係る大当り中用コマンド送信処理では、転送バイト数によって処理時間が異なっている。このため、転送バイト数の違いによる処理時間の差を考慮した作業をしなければならず、作業が煩雑になり開発期間の短縮化が極めて困難である。
【１２０６】
一方、本発明に係る大当り中用コマンド送信処理では、ステップＳ５１０４において転送バイト数として１を設定した場合、第１の処理（処理Ｙ）と、第２の処理（処理Ｚに含まれる補正時間待機処理）を行うため、所要時間の合計は処理Ｙ（１回）の処理時間Ｔ３と、処理Ｚに含まれる補正時間待機処理の処理時間Ｔ３×２＋Ｔ４×２（２バイト分）を合算した処理時間Ｔ３×３＋Ｔ４×２となる。また、ステップＳ５１０４において転送バイト数として２を設定した場合、第１の処理（処理Ｙ）を２回と、第２の処理（処理Ｘのうち、ステップＳ５２０６の処理（条件分岐処理）の後に実行される処理Ｘ）を１回と、第２の処理（処理Ｚに含まれる補正時間待機処理）を行うため、所要時間の合計は処理Ｙ（１回）の処理時間Ｔ３×２と、処理Ｘ（１回）の処理時間Ｔ４と、処理Ｚに含まれる補正時間待機処理の処理時間Ｔ３＋Ｔ４（１バイト分）を合算した処理時間Ｔ３×３＋Ｔ４×２となる。また、ステップＳ５１０４において転送バイト数として３を設定した場合、第１の処理（処理Ｙ）を３回と、第２の処理（処理Ｘのうち、ステップＳ１２０６の処理（条件分岐処理）の後に実行される処理Ｘ）を２回行うため、所要時間の合計は処理Ｙ（１回）の処理時間Ｔ３×３と、処理Ｘ（２回）の処理時間Ｔ４×２を合算した処理時間Ｔ３×３＋Ｔ４×２となる。
【１２０７】
すなわち、本発明に係る大当り中用コマンド送信処理では、転送バイト数に関わらず処理時間が同一（Ｔ３×３＋Ｔ４×２）となっている。このため、上述の従来技術の課題を解決することが可能であり、具体的には、転送バイト数の違いによる処理時間の差がなくなり、デバックやテストで確認しなければならないパターンが大幅に削減できるため、デバックやテストの作業時間を短縮することができる上に、処理時間の差を考慮する必要がなくなるため、プログラム設計を簡素化することができる。
【１２０８】
また、第１の処理と第２の処理に続く第３の処理の開始タイミング（第１の処理を開始する直前のタイミングを基準として、第３の処理が開始されるタイミング）を転送バイト数に関わらず同一にすることができるため、転送バイト数の違いによる第３の処理の開始タイミングの差がなくなり、デバックやテストで確認しなければならないパターンが大幅に削減できるため、デバックやテストの作業時間を短縮することができる上に、開始タイミングの差を考慮する必要がなくなるため、プログラム設計を簡素化することができる。
【１２０９】
なお、上記図１５３および１５４では、補正時間待機処理を第２の処理に含める例を示したが、補正時間待機処理は、第１の処理準備処理（条件設定処理）の直後から第３の処理の直前までに実行すればよく、図１５７（ａ）、（ｂ）に示すように、補正時間待機処理を、補正時間待機処理配置位置１〜７で示される位置のいずれかに配置してもよい。
【１２１０】
＜割込み処理の処理時間＞
次に、割込み処理の処理時間について説明する。図１５８（ａ）、（ｂ）は割込み処理の流れを模式的に示した図である。割込み処理が複数の処理（例えば、処理１、処理２、処理３、・・・、処理Ｘ）で構成されている場合、各々の処理の処理時間は割込みタイミングによって異なるため、例えば、同図（ａ）に示す例では、割込みタイミング１に比べて、割込みタイミング２における処理１、処理２、処理３の処理時間が短くなっている結果、これらの処理の後に実行される処理Ｘの実行開始タイミングが、割込みタイミング１と割込みタイミング２で異なっている。また、同図（ｂ）に示す例では、割込みタイミング１に比べて、割込みタイミング２における処理２処理時間が短くなっている結果、これらの処理の後に実行される処理Ｘの実行開始タイミングが、割込みタイミング１と割込みタイミング２で異なっている。
【１２１１】
このような割込み処理（例えば、上述の主制御部タイマ割込処理）を設計する場合、この割込み処理によって割り込まれる処理（例えば、上述の主制御部メイン処理）のリアルタイム性を確保するために、割込み処理の最大処理時間を考慮する必要がある。例えば、同図（ａ）、（ｂ）の上段に示す割込みタイミング１が最大処理時間を示していると仮定すると、他の割込みタイミングでの処理が全て同図（ａ）、（ｂ）の下段に示す割込みタイミング２のように、割込みタイミング１の最大処理時間以内に収まるかどうか、さらには、処理Ｘが同一のタイミングで実行開始できるかどうかなどを検証しなければならない。
【１２１２】
上述のとおり、従来技術に係る大当り中用コマンド送信処理では、転送バイト数によって処理時間が異なっている。このため、このような処理を割込み処理に含めた場合には、デバッグやテストにおいて転送バイト数の違いによる処理時間の差を考慮した作業をしなければならず、作業が煩雑になり開発期間の短縮化が極めて困難である。
【１２１３】
一方、本発明に係る大当り中用コマンド送信処理では、転送バイト数に関わらず処理時間が同一となっている。このため、このような処理を割込み処理に含めた場合でも、当該処理については処理時間の差を考慮する必要が無く、デバックやテストで確認しなければならないパターンが大幅に削減できるため、デバックやテストの作業時間を短縮することができる上に、処理時間の差を考慮する必要がなくなるため、プログラム設計を簡素化することができる。
【１２１４】
さらに、タイマ割込み処理は、通常、予め定めた所定の周期で実行できるように設計されるが、予期しない事象が発生した場合（例えば、割込み処理に含まれる処理の一部に想定以上の処理時間がかかってしまった場合や、優先順位の高い割込み処理によって想定以上の待ち時間が発生してしまった場合など）には、いわゆる揺らぎ（ジッター）が生じてしまうことがある。このような揺らぎが発生した場合、所定の周期で実行されるべき処理が実行できない事態が生じうるが、本発明によれば、割込み処理内の処理時間の統一を図ることができるため、このような時間の揺らぎを無くし、処理の実行開始タイミングを同一にすることができる場合がある。
【１２１５】
特に、パチンコ機１００においては、上記ステップＳ４２０５の入力ポート状態更新処理（球検出センサの検出信号を入力して検出信号の有無を監視する処理）や、スロットマシン１１００においては、ステップＳ２２０５の入力ポート状態更新処理（各種センサ１３１８のセンサ回路１３２０の検出信号を入力して検出信号の有無を監視する処理）や、ステップＳ２２１１のコマンド設定送信処理（各種モータに関する制御データを他の制御部に送信する処理）などの実行開始タイミングを割込みタイミングによらずに同一にすることが可能となるため、遊技制御の安定化を図ることができ、遊技の公平性を担保できる場合がある。
【１２１６】
＜コマンド設定送信処理＞
次に、上述の図７１に示す主制御部タイマ割込処理におけるコマンド設定送信処理（ステップＳ２２１１）について説明する。図１５９は、コマンド設定送信処理の流れを示すフローチャートである。
【１２１７】
このコマンド設定送信処理のステップＳ２２１１ａでは、ＲＡＭ１３０８に設けたコマンド格納領域をクリア（初期化）する。また、ステップＳ２２１１ｂでは、遊技の進行状況（遊技開始時、レバー受付時、左リール停止時、中リール停止時、右リール停止時、全リール停止時ど）などに基づいて、ＲＯＭ１３０６に予め記憶している複数種類のコマンドデータの中から、特定のコマンドデータを抽出する。また、抽出したコマンドデータが記憶されている記憶領域の先頭番地を、ＲＡＭ１３０８に設けた転送元番地記憶領域に転送元番地として設定（記憶）する。なお、ここでは、転送元番地を一時的に記憶する記憶手段としてＲＡＭ１３０８を適用しているが、レジスタなどの他の記憶手段を適用してもよい（以下に説明する転送先番地や転送数なども同様である）。
【１２１８】
次に、ステップＳ２２１１ｃでは、コマンド格納領域の先頭番地を、ＲＡＭ１３０８に設けた転送先番地記憶領域に転送先番地として設定（記憶）し、ステップＳ２２１１ｄでは、コマンドデータのバイト数を、ＲＡＭ１３０８に設けた転送数記憶領域に転送数として設定（記憶）する。
【１２１９】
ステップＳ２２１１ｅでは、ブロック転送処理を行う。なお、このブロック転送処理は、上記図１５１を用いて説明したブロック転送処理と同一であるため説明は省略する。ステップＳ２２１１ｆでは、コマンド格納領域に転送されたコマンドを第１副制御部１４００に送信した後に処理を終了する。なお、コマンドを第１副制御部１４００に送信する処理は、上述の主制御部メイン処理で実行してもよい。
【１２２０】
＜コマンドテーブル＞
次に、ＲＯＭ１３０６に予め記憶されるコマンドテーブルについて説明する。図１６０（ａ）〜（ｄ）は、遊技中に参照されるコマンドテーブルの一例を示した図である。
【１２２１】
これらコマンドテーブルは、ＲＯＭ１３０６に予め記憶されており、固定長（この例では、１バイト長）の先頭番地と、固定長（この例では、１バイト長）のバイト数と、可変長のコマンドデータ（この例では、１バイト長のコマンド識別子と、可変長のコマンドパラメータ）で構成される。
【１２２２】
先頭番地は、コマンドデータのうち、１バイト目のコマンドデータ（この例では、コマンド識別子）が記憶されるＲＯＭ１３０６の番地を示しており、例えば、同図（ａ）に示す遊技開始コマンド１の１バイト目のコマンドデータ（Ａ１Ｈ）は、ＲＯＭ１３０６の番地１０００に記憶されていることを示している。また、バイト数は、コマンドデータのデータ長を示しており、例えば、同図（ａ）に示す遊技開始コマンド１のコマンドデータのデータ長は２バイトであることを示している。
【１２２３】
同図（ａ）は、遊技開始時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、遊技開始時に送信される遊技開始コマンド１〜２の２バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（Ａ１Ｈ）は、遊技開始コマンドであることを示している。また、コマンドデータの２バイト目には、再遊技識別用情報が記憶され、それぞれ、０１Ｈは再遊技作動あり、０２Ｈは再遊技作動無しであることを示している。
【１２２４】
同図（ｂ）は、レバー（スタートレバー１１３５）の受付時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、レバー受付時に送信されるレバー受付コマンド１〜１２の３バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（Ａ３Ｈ）は、レバー受付コマンドであることを示している。また、コマンドデータの２バイト目には、遊技状態識別用情報が記憶され、それぞれ、０１Ｈは通常状態中、０２ＨはＢＢ中、０３ＨはＲＢ中、０４Ｈはボーナス内部当選中であることを示している。また、コマンドデータの３バイト目には、当選役識別用情報が記憶され、それぞれ、０１Ｈはハズレ、０２Ｈは小役、０３Ｈは再遊技役、０４ＨはＲＢ、０５ＨはＢＢであることを示している。
【１２２５】
同図（ｃ）は、左リール１１０の停止時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、左リール１１０の停止時に送信される左リール停止コマンド１の１バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（Ａ４Ｈ）は、左リール停止コマンドであることを示している。なお、この左リール停止コマンドはコマンドパラメータが無いコマンドである。
【１２２６】
同図（ｄ）は、中リール１１１の停止時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、中リール１１１の停止時に送信される中リール停止コマンド１の１バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（Ａ５Ｈ）は、中リール停止コマンドであることを示している。なお、この中リール停止コマンドはコマンドパラメータが無いコマンドである。
【１２２７】
同図（ｅ）は、右リール１１２の停止時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、右リール１１２の停止時に送信される右リール停止コマンド１の１バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（Ａ６Ｈ）は、右リール停止コマンドであることを示している。なお、この右リール停止コマンドはコマンドパラメータが無いコマンドである。
【１２２８】
同図（ｆ）は、全リール停止時に参照されるコマンドテーブルの一例である。このコマンドテーブルには、全リール１１０〜１１２の停止時に送信される全リール停止コマンド１〜５の２バイト長のコマンドデータが規定され、コマンドデータの１バイト目に記憶されたコマンド識別子（Ａ７Ｈ）は、全リール停止コマンドであることを示している。また、コマンドデータの２バイト目には、当選役識別用情報が記憶され、それぞれ、０１Ｈはハズレ、０２Ｈは小役、０３Ｈは再遊技役、０４ＨはＲＢ、０５ＨはＢＢであることを示している。
【１２２９】
このようなスロットマシン１１００の主制御部１３００に対しても、次に説明する本発明の特徴点の一つ、複数、または全てを適用することができる。
【１２３０】
以上説明したように、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技に関する複数の処理を実行する遊技制御手段（例えば、主制御部３００（または主制御部１３００）を備えた遊技台であって、前記遊技制御手段は、第一処理（例えば、図１５４（ａ）の第１の処理）、該第一処理の要求に応じて処理の内容が第一の内容および第二の内容のうちの一方の内容となる第二処理（例えば、図１５４（ａ）の第２の処理）、第三処理（例えば、図１５４（ａ）の第３の処理）の順に処理を実行し、前記第二処理の内容が前記第一の内容（例えば、図１５４（ａ）の第１の処理内容）および前記第二の内容（例えば、図１５４（ａ）の第２の処理内容）のうちいずれの場合であっても同一のタイミングで（例えば、図１５４（ａ）の第１の処理の準備処理（条件設定処理）の開始直前を基準として、第３の処理が開始されるタイミングが同一のタイミングで、または、図１５４（ａ）の第１の処理（条件分岐処理）の開始直前を基準として、第３の処理が開始されるタイミングが同一のタイミングで、など）前記第三処理の実行を開始することを特徴とする遊技台である。
【１２３１】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、第２の処理の内容が違っていても第２の処理の処理時間の差をなくすことができ、デバックやテストで確認しなければならないパターンが大幅に削減できるため、デバックやテストの作業時間を短縮することができる上に、処理時間の差を考慮する必要がなくなるため、プログラム設計を簡素化することができる場合がある。また、遊技制御手段において処理状況に応じた分岐処理を行いつつも、遊技制御の安定化を図ることができる場合がある。
【１２３２】
また、前記遊技制御手段は、前記第三処理として前記第二処理の内容に応じて第三の内容および第四の内容のうち一方の内容を実行し、前記第二処理において前記第一の内容を実行した場合には、前記第三処理として前記第三の内容を実行し、前記第二処理において前記第二の内容を実行した場合には、前記第三処理として前記第四の内容を実行してもよい。
【１２３３】
このような構成とすれば、分岐処理の結果、異なる処理が実行される場合においても遊技制御の安定化を図ることができる場合がある。
なお、本実実施形態に係るパチンコ機１００においては大当り中用コマンド送信処理を例に挙げ、本実施形態に係るスロットマシン１１００においては、コマンド設定送信処理を例に挙げたが、このような処理に限らず、様々な処理や命令に適用可能である。
【１２３４】
＜主制御部の第２特殊命令＞
次に、主制御部３００が備える第５特殊命令について説明する。図１６１は、主制御部３００が備える第５特殊命令の一部と、その説明を示した図である。
【１２３５】
＜第５特殊命令／ＷＡＲＵ命令＞
第５特殊命令の一つである「ＷＡＲＵ  ｒ、Ａ、ｎ（ｎ：イミディエイト値）」命令は、第３オペランドが示す数値ｎで第２オペランドが示すＡレジスタに記憶されたデータを除算し、除算結果の商を第１オペランドｒが示すレジスタ（Ｂ、Ｃ、Ｄ、Ｅ、Ｈ、Ｌレジスタのいずれかのレジスタ）に格納し、除算結果の余りを第２オペランドが示すＡレジスタに格納する命令である。また、除算結果の余りが０の場合にＺフラグ、ＳＺフラグが１にセットされ、除算結果の余りが０以外の場合にＺフラグ、ＳＺフラグが０にセットされる。また、除数が０の場合にＣフラグが１にセットされ、かつ商と余りがＦＦＨ（２バイトの場合はＦＦＦＦＨ）となり、除数が０以外の場合にＣフラグが０にセットされる。
【１２３６】
また、「ＷＡＲＵ  Ａ、ｒ」命令は、第２オペランドが示すレジスタｒに記憶されたデータで第１オペランドが示すＡレジスタに記憶されたデータを除算し、除算結果の商を第１オペランドが示すＡレジスタに格納し、除算結果の余りを第２オペランドが示すレジスタｒに格納する命令である。また、「ＷＡＲＵ  ｓｓ、ＨＬ」命令は、第２オペランドが示すペアレジスタＨＬに記憶されたデータで第１オペランドが示すｓｓレジスタ（ＢＣ、ＤＥレジスタ）に記憶されたデータを除算し、除算結果の商を第１オペランドが示すｓｓレジスタに格納し、除算結果の余りを第２オペランドが示すペアレジスタＨＬに格納する命令である。また、「ＷＡＲＵ  ＨＬ、ｓｓ」命令は、第２オペランドが示すペアレジスタｓｓ（ＢＣ、ＤＥレジスタ）に記憶されたデータで第１オペランドが示すＨＬレジスタに記憶されたデータを除算し、除算結果の商を第１オペランドが示すＨＬレジスタに格納し、除算結果の余りを第２オペランドが示すペアレジスタｓｓに格納する命令である。
【１２３７】
＜第５特殊命令／ＪＰ命令＞
第５特殊命令の一つである「ＪＰ  ＳＺ、ｍｎ命令」は、ＳＺフラグが１の場合にｍｎが示すアドレスにジャンプし、ＳＺフラグが０の場合に後続の処理を継続する命令であり、「ＪＰ  ＮＳＺ、ｍｎ命令」は、ＳＺフラグが０の場合にｍｎが示すアドレスにジャンプし、ＳＺフラグが１の場合に後続の処理を継続する命令である。
【１２３８】
＜第５特殊命令／ＪＲ命令＞
第５特殊命令の一つである「ＪＲ  ＳＺ、ｅ命令」は、ＳＺフラグが１の場合にプログラムカウンタＰＣ＋ｅが示すアドレスにジャンプし、ＳＺフラグが０の場合に後続の処理を継続する命令であり、「ＪＲ  ＮＳＺ、ｍｎ命令」は、ＳＺフラグが０の場合にプログラムカウンタＰＣ＋ｅが示すアドレスにジャンプし、ＳＺフラグが１の場合に後続の処理を継続する命令である。
【１２３９】
＜第５特殊命令／ＣＡＬＬ命令＞
第５特殊命令の一つである「ＣＡＬＬ  ＳＺ、ｍｎ命令」は、ＳＺフラグが１の場合に、プログラムカウンタＰＣに記憶された上位アドレスをスタックポインタＳＰ−１が示すスタック領域に、また、プログラムカウンタＰＣに記憶された下位アドレスをスタックポインタＳＰ−２が示すスタック領域にそれぞれストア（退避）した後、ｍｎが示すアドレスにジャンプし、ＳＺフラグが０の場合に後続の処理を継続する命令である。また、「ＣＡＬＬ  ＮＳＺ、ｍｎ命令」は、ＳＺフラグが０の場合に、プログラムカウンタＰＣに記憶された上位アドレスをスタックポインタＳＰ−１が示すスタック領域に、また、プログラムカウンタＰＣに記憶された下位アドレスをスタックポインタＳＰ−２が示すスタック領域にそれぞれストア（退避）した後、ｍｎが示すアドレスにジャンプし、ＳＺフラグが１の場合に後続の処理を継続する命令である。
【１２４０】
＜第５特殊命令／ＲＥＴ命令＞
第５特殊命令の一つである「ＲＥＴ  ＳＺ命令」は、ＳＺフラグが１の場合に、スタックポインタＳＰが示すスタック領域ＳＰに記憶されたデータをプログラムカウンタＰＣの下位アドレスに、また、スタックポインタＳＰが示すスタック領域ＳＰ＋１に記憶されたデータをプログラムカウンタＰＣの上位アドレスにそれぞれロード（復帰）した後にスタックポインタＳＰを２つ加算し、ＳＺフラグが０の場合に後続の処理を継続する命令である。また、「ＲＥＴ  ＮＳＺ命令」は、ＳＺフラグが０の場合に、スタックポインタＳＰが示すスタック領域ＳＰに記憶されたデータをプログラムカウンタＰＣの下位アドレスに、また、スタックポインタＳＰが示すスタック領域ＳＰ＋１に記憶されたデータをプログラムカウンタＰＣの上位アドレスにそれぞれロード（復帰）した後にスタックポインタＳＰを２つ加算し、ＳＺフラグが１の場合に後続の処理を継続する命令である。
【１２４１】
＜第５特殊命令／バイト数・ステート数＞
図１６２は、第５特殊命令のバイト数とステート数を比較した図である。同図に示すように、ＪＰ命令およびＣＡＬＬ命令は、Ｚフラグをオペランドとする命令と、ＳＺフラグをオペランドとする命令でバイト数とステート数が異なっており、Ｚフラグをオペランドとする命令よりも、ＳＺフラグをオペランドとする命令のほうがバイト数が１バイト、ステート数が４ステート多くなっている。一方、ＪＲ命令およびＲＥＴ命令は、Ｚフラグをオペランドとする命令と、ＳＺフラグをオペランドとする命令でバイト数とステート数が同じになっている。
【１２４２】
＜Ｚフラグ、ＳＺフラグ＞
図１６３は、ＺフラグやＳＺフラグを変化させる命令の一例を示した図である。主制御部３００は、命令の実行後にＺフラグとＳＺフラグを同じ値に変化させる命令と、命令の実行後にＺフラグを変化させずにＳＺフラグを変化させる命令と、命令の実行後にＺフラグを変化させてＳＺフラグを変化させない命令と、を備えている。例えば、第５特殊命令の一つであるＷＡＲＵ命令は、命令の実行後にＺフラグとＳＺフラグを同じ値に変化させる命令の一つであり、特殊命令の一つであるＩＮＣＴＥＮＳＯＵ命令は、命令の実行後にＺフラグを変化させずにＳＺフラグを変化させる命令の一つである。
【１２４３】
＜タイマ更新処理＞
次に、図１６４を用いて、上述の主制御部タイマ割込処理におけるタイマ更新処理（ステップＳ２１３）について説明する。なお、同図は、タイマ更新処理の流れを示すフローチャートである。
【１２４４】
ステップＳ５５０１では、ＲＡＭ３０８に設けた更新タイマ数（更新が必要なタイマの数）を取得し、ステップＳ５５０２では、更新の対象とするタイマ（更新対象タイマ）が記憶されているＲＡＭ３０８の記憶領域の先頭アドレスを設定する。また、ステップＳ５５０３では、更新対象タイマの値が０か０以外かを判定し、０以外の場合にはステップＳ５５０４に進み、０の場合にはステップＳ５５０５に進む。
【１２４５】
ステップＳ５５０４では、更新対象タイマを更新し、ステップＳ５５０５では、未更新のタイマがあるか無いかを判定し、未更新のタイマがある場合にはステップＳ５５０３に戻って他のタイマの更新を継続し、未更新のタイマが無い場合には処理を終了する。
【１２４６】
図１６５（ａ）は、本発明に係るタイマ更新処理のプログラムの一例を示した図であり、同図１６５（ｂ）は、従来のタイマ更新処理のプログラムの一例を示した図である。
【１２４７】
従来のタイマ更新処理のプログラムでは、上記ステップＳ５５０３において更新対象タイマの値が０か０以外かを判定する場合、まず、プログラムの（１−３）で示す「ＬＤ  Ａ、（ＨＬ）」命令を実行することによって、ＨＬレジスタで示されるアドレスに記憶された更新対象タイマの値を、Ａレジスタにロード（格納）する。続いて、プログラムの（１−４）で示す「ＡＮＤ  Ａ」命令を実行することによって、Ａが０の場合にはＺフラグを変化させ、Ａが０以外の場合にはＺフラグを変化させないように構成し、次のプログラムの（１−５）で示す、Ｚフラグを第１オペランドとするＪＲ命令で、Ｚフラグが変化している場合（Ａが０の場合）には、ＪＲ命令の第２オペランドで示されるアドレスにジャンプし、Ｚフラグが変化していない場合（Ａが０以外の場合）には、後続の処理（この例では、ＤＥＣ命令）を実行するようにしている。
【１２４８】
一方、本発明に係るタイマ更新処理のプログラムで同様の判定を行う場合、まず、従来のタイマ更新処理のプログラムと同様に、プログラムの（１−１）で示す「ＬＤ  Ａ、（ＨＬ）」命令を実行することによって、ＨＬレジスタで示されるアドレスに記憶された更新対象タイマの値を、Ａレジスタにロード（格納）する。ここで、ＬＤ命令（ロード命令）は、上記図１６２に示す通り、命令の実行後にＺフラグを変化させずにＳＺフラグを変化させる命令の一つであるため、「ＬＤ  Ａ、（ＨＬ）」命令の実行後にはＺフラグは変化しないが、ＳＺフラグが変化する。続いて、本発明では、プログラムの（１−２）で示す、ＳＺフラグを第１オペランドとするＪＲ命令で、ＳＺフラグが変化している場合には、ＪＲ命令の第２オペランドで示されるアドレスにジャンプし、ＳＺフラグが変化していない場合には、後続の処理（この例では、ＤＥＣ命令）を実行するようにしている。
【１２４９】
すなわち、本発明に係るタイマ更新処理のプログラムでは、従来のタイマ更新処理のプログラムの（１−４）で示す「ＡＮＤ  Ａ」命令（Ａレジスタの値が０か否かを確認する処理）が不要となる。このため、従来よりもプログラムのコード量を減らすことができる上に、処理速度を高めることができ、遊技制御を安定して行うことができる。
【１２５０】
＜表示図柄抽選処理＞
次に、図１６６を用いて、上述の特図１関連抽選処理における表示図柄抽選（ステップＳ１００３）について説明する。なお、同図は、表示図柄抽選の流れを示すフローチャートである。
【１２５１】
同図（ａ）に示す表示図柄抽選処理のステップＳ５６０１では、ＲＯＭ３０６に設けた表示図柄抽選テーブルのアドレス（テーブルアドレス）を取得する。また、ステップＳ５６０２では、抽選準備処理を行い、ステップＳ５６０３では、抽選処理を行う。ステップＳ５６０４では、当り種別情報設定処理を行った後に処理を終了する。
【１２５２】
また、同図（ｂ）に示す抽選準備処理のステップＳ５６１１では、オフセット値を取得し、ステップＳ５６１２では、取得済みの表示図柄抽選テーブルのアドレスを１つ加算して更新する。ステップＳ５６１３では、データ選択処理を行い、ステップＳ５６１４では、データ選択処理の結果である取得値が０か０以外かを判定し、０の場合には処理を終了し、０以外の場合にはステップＳ５６１５に進む。ステップＳ５６１５では、抽選用乱数値を取得した後に処理を終了する。
【１２５３】
また、同図（ｃ）に示すデータ選択処理のステップＳ５６２１では、テーブルアドレスにオフセット値を加算し、ステップＳ５６２２では、テーブルアドレスの値をＡレジスタに転送する。また、ステップＳ５６２３では、Ａレジスタの値を１つ減算し、ステップＳ５６２４では、テーブルアドレスの値をＡレジスタに転送した後に処理を終了する。
【１２５４】
図１６７は、本発明に係る抽選準備処理のプログラムの一例を示した図である。本発明に係る抽選準備処理のプログラムでは、プログラムの（３−１）で示すＲＳＴ命令を実行することによって、データ選択処理にジャンプし、このデータ選択処理のプログラムの（３−３）で示す「ＤＥＣ  Ａ」命令を実行することによって、Ａレジスタの値を１つ減算する。ここで、８ビットＤＥＣ命令は、上記図１６２に示す通り、命令の実行後にＺフラグとＳＺフラグを同じ値に変化させる命令の一つであるため、「ＤＥＣ  Ａ」命令の実行後にはＺフラグとＳＺフラグが同じ値に変化する。
【１２５５】
続いて、プログラムの（３−４）で示す「ＬＤ  Ａ、（ＨＬ）」命令を実行することによって、テーブルアドレスの値をＡレジスタに転送する。ここで、ＬＤ命令（ロード命令）は、上記図１６２に示す通り、命令の実行後にＺフラグを変化させずにＳＺフラグを変化させる命令の一つであるため、「ＬＤ  Ａ、（ＨＬ）」命令の実行後にはＺフラグは変化しないが、ＳＺフラグが変化する。
【１２５６】
続いて、プログラムの（３−５）で示す「ＲＥＴ」命令を実行することによって、抽選準備処理のプログラムの（３−１）で示すＲＳＴ命令の直後に戻り、（３−２）で示す「ＲＥＴ  Ｚ」命令を実行する。ここで、「ＲＥＴ  Ｚ命令」は、Ｚフラグが１の場合に、スタックポインタＳＰが示すスタック領域ＳＰに記憶されたデータをプログラムカウンタＰＣの下位アドレスに、また、スタックポインタＳＰが示すスタック領域ＳＰ＋１に記憶されたデータをプログラムカウンタＰＣの上位アドレスにそれぞれロード（復帰）した後にスタックポインタＳＰを２つ加算し、Ｚフラグが０の場合に後続の処理を継続する命令である。すなわち、（３−２）で示す「ＲＥＴ  Ｚ」命令では、（３−３）で示す「ＤＥＣ  Ａ」命令の実行後には変化するが、次の（３−４）で示す「ＬＤ  Ａ、（ＨＬ）」命令の実行後には変化しないＺフラグに応じて、表示図柄抽選処理に復帰する処理か、後続の処理を継続する処理のいずれかの処理を行う。
【１２５７】
＜抽選処理＞
次に、図１６８を用いて、上述の表示図柄抽選における抽選処理（ステップＳ５６０３）について説明する。なお、同図は、抽選処理の流れを示すフローチャートである。
【１２５８】
ステップＳ５７０１では、表示図柄抽選用乱数値を取得し、ステップＳ５７０２では、ステップＳ５７０１で取得した乱数値を除算する。ステップＳ５７０３では、ＲＯＭ３０８に記憶している抽選データアドレスを取得し、ステップＳ５７０４では、ステップＳ５７０３で取得した抽選データアドレスに除算結果の商を加算する。ステップＳ５７０５では、除算結果の余りをＡレジスタに転送し、ステップＳ５７０６では、Ａレジスタの値と２を比較する。
【１２５９】
ステップＳ５７０７では、Ｚフラグが１か０かを判定し、０の場合にはステップＳ５７０８に進み、１の場合にはステップＳ５７１４に進む。ステップＳ５７０８では、Ａレジスタの値と１を比較し、ステップＳ５７０９では、Ｚフラグが１か０かを判定し、０の場合にはステップＳ５７１０に進み、１の場合にはステップＳ５７１２に進む。
【１２６０】
ステップＳ５７１０では、抽選データアドレスの値をＡレジスタに転送し、次のステップＳ５７１１では、抽選結果データをＡレジスタにセットして処理を終了する。また、ステップＳ５７１２では、抽選データアドレスの値をＡレジスタに転送し、次のステップＳ５７１３では、抽選結果データをＡレジスタにセットして処理を終了する。また、ステップＳ５７１４では、抽選データアドレスの値をＡレジスタに転送し、次のステップＳ５７１５では、抽選結果データをＡレジスタにセットして処理を終了する。
【１２６１】
図１６９は、本発明に係る抽選処理のプログラムの一例を示した図であり、図１７０は、従来の抽選処理のプログラムの一例を示した図である。
【１２６２】
本発明に係る抽選準備処理のプログラムでは、ＲＯＭエリアに記憶された抽選テーブルに示されるように、３つの抽選値Ｎ、Ｍ、Ｌ（Ｎ、Ｍ、Ｌは正の整数）に対して「Ｎ×６×６＋Ｍ×６＋Ｌ」の計算式からなる演算を施すことによって、１バイトのＲＯＭに対して３つの抽選値を対応付けして記憶している。このため、図１７０に示す、１バイトのＲＯＭに対して１つの抽選値を対応付けして記憶するような従来の抽選テーブルに比べ、メモリ容量を１／３に削減することができる。
【１２６３】
また、本発明に係る抽選準備処理のプログラムでは、１バイトのＲＯＭに対して３つの抽選値を対応付けして記憶した抽選テーブルから抽選値を取得するために、抽選値Ｌに対しては、（５−１）で示されるようにＷＡＲＵ命令を１回実行し、抽選値Ｍに対しては、（５−２）で示されるようにＷＡＲＵ命令を２回実行し、抽選値Ｎに対しては、（５−３）で示されるようにＷＡＲＵ命令を３回実行している。
【１２６４】
＜払出要求数送信処理＞
次に、図１７１を用いて、上述の主制御部タイマ割込処理における払出要求数送信処理（ステップＳ２１９）について説明する。なお、同図は、払出要求数送信処理の流れを示すフローチャートである。
【１２６５】
ステップＳ５８０１では、払出要求があるか無いかを判定し、払出要求がある場合にはステップＳ５８０２に進み、払出要求が無い場合には処理を終了する。ステップＳ５８０２では、送信対象となる払出要求カウンタを１つ減算し、ステップＳ５８０３では、送信対象に応じた賞球数コマンドデータを取得し、ステップＳ５８０４では、払出制御部６００に送信する賞球コマンドを設定する。
【１２６６】
ステップＳ５８０５では、賞球数にメイン賞球数カウンタの値を加算し、ステップＳ５８０６では、賞球数を除算する。また、ステップＳ５８０７では、メイン賞球数カウンタを更新し、ステップＳ５８０８では、メイン賞球情報信号出力要求数を更新した後に処理を終了する。
【１２６７】
図１７２は、本発明に係る払出要求数送信処理のプログラムの一例を示した図である。このプログラムの（５−１）で示すＬＤ命令では、メイン賞球数カウンタが記憶されているＲＡＭ３０８のアドレス（この例では、Ｆ０６０Ｈ）をＨＬレジスタに格納し、次の（５−２）で示すＡＤＤ命令では、Ａレジスタの値（賞球数）に、ＨＬレジスタが示すアドレスに記憶されたメイン賞球カウンタの値（メイン賞球数）を加算している。
【１２６８】
また、次の（５−３）で示すＷＡＲＵ命令では、第３オペランドが示す数値（この例では、１０）で第２オペランドが示すＡレジスタに記憶されたデータを除算し、除算結果の商を第１オペランドｒが示すレジスタ（この例では、Ｃレジスタ）に格納し、除算結果の余りを第２オペランドが示すＡレジスタに格納する。例えば、Ａレジスタに記憶されたデータが２３である場合、Ｃレジスタには、２３（Ａレジスタに記憶されたデータ）÷１０（第３オペランドが示す数値）の除算の商である２がＣレジスタに格納され、除算の余りである３がＡレジスタに格納される。
【１２６９】
また、次の（５−４）で示すＬＤ命令では、Ａレジスタに記憶されたデータ（除算の商。先の例では３）を、ＲＡＭ３０８のアドレスＦ０６０Ｈに記憶されたメイン賞球カウンタに、次回の賞球数として格納し、次の（５−５）〜（５−８）に示す命令では、Ｃレジスタに記憶されたデータ（除算の余り。先の例では２）を、ＲＡＭ３０８のアドレスＦ０６１Ｈに記憶されたメイン賞球情報信号出力要求数記憶領域に、メイン賞球情報信号出力要求数として格納する。
【１２７０】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技制御を行うＣＰＵ（例えば、ＣＰＵ３０４（または、ＣＰＵ１３０４））を有する主制御部（例えば、主制御部３００（または、主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記ＣＰＵは、第一のフラグと第二のフラグとを有するフラグレジスタと、前記第一のフラグと前記第二のフラグとを処理実行結果に基づいて同じ値に変化させる第一の処理と、処理実行結果に基づいて前記第一のフラグの値を変化させず前記第二のフラグの値を変化させる第二の処理と、を備え、前記第一の処理と前記第二の処理とを前記遊技制御において実行することを特徴とする遊技台である。
【１２７１】
例えば、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）の主制御部は、図１７３に示すように、フラグＡとフラグＢとを有し、フラグＡとフラグＢとを処理実行結果に基づいて同じ値βに変化させる第一の処理と、処理実行結果に基づいてフラグＡの値を変化させずフラグＢの値をγに変化させる第二の処理と、を備え、前記第１の処理と前記第２の処理とを前記遊技制御において実行する。
【１２７２】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、遊技の興趣を高めることを可能にしつつ、安定した遊技制御をおこなうことができる。すなわち、第二の処理実行後は第二の処理実行前の第一のフラグの値が保護されるため、その後の処理で第一のフラグの値を活用することができ、他のレジスタに第一のフラグの値を退避させる無駄な処理をする必要が無く、レジスタを占有せず且つプログラム容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる。また、第一の処理実行後は第一のフラグと第二のフラグが同じ値に変化するため、いずれかのフラグの値を用いて処理を実行したとしても同じ結果を得ることができ、状況に応じた適切な処理を選択してプログラムを記述することができ、プログラム容量や処理速度などを最適化することができる場合がある。
【１２７３】
また、前記ＣＰＵは、前記第一の処理において、処理実行結果が第一の値であることに基づいて前記第一のフラグと前記第二のフラグを第二の値に変化させ、処理実行結果が前記第一の値と異なることに基づいて前記第一のフラグと前記第二のフラグを前記第一の値に変化させ、前記第二の処理において、処理実行結果が前記第一の値であることに基づいて前記第二のフラグを前記第二の値に変化させ、処理実行結果が前記第一の値と異なることに基づいて前記第二のフラグを第一の値に変化させてもよい。
【１２７４】
このような構成とすれば、第一の処理実行後は第一のフラグと第二のフラグが処理実行結果に基づく同じ値に変化するため、いずれかのフラグの値を用いて処理を実行したとしても同じ結果を得ることができ、状況に応じた適切な処理を選択してプログラムを記述することができ、プログラム容量や処理速度などを最適化することができる場合がある。
【１２７５】
また、所定ビット長の特定レジスタを有し、前記ＣＰＵは、前記第一の処理において、処理実行結果を前記特定レジスタに格納し、前記特定レジスタの値が前記第一の値であることに基づいて前記第一のフラグと前記第二のフラグを前記第二の値に変化させ、前記特定レジスタの値が前記第一の値と異なることに基づいて前記第一のフラグと前記第二のフラグを前記第一の値に変化させ、前記第二の処理において、処理実行結果を前記特定レジスタに格納し、前記特定レジスタの値が前記第一の値であることに基づいて前記第二のフラグを前記第二の値に変化させ、前記特定レジスタの値が前記第一の値と異なることに基づいて前記第二のフラグを前記第一の値に変化させてもよい。
【１２７６】
このような構成とすれば、第一の処理実行後は第一のフラグと第二のフラグが特定レジスタの値に基づく同じ値に変化するため、いずれかのフラグの値を用いて処理を実行したとしても同じ結果を得ることができ、状況に応じた適切な処理を選択してプログラムを記述することができ、プログラム容量や処理速度などを最適化することができる場合がある。
【１２７７】
また、前記第一の処理の実行によって変化した前記第一のフラグの値に基づいて第一の処理を行う処理と、前記第一の処理の実行によって変化した前記第二のフラグの値に基づいて前記第一の処理と同じ処理を行う処理とを備えてもよい。
【１２７８】
例えば、図１７４（ａ）に示すように、第一の処理（ＳＵＢ命令）の実行によって変化した第一のフラグ（Ｚフラグ）の値に基づいて第一の処理（分岐処理）を行う第三の処理（ＺフラグをオペランドとするＪＲ命令）と、同図（ｂ）に示すように、第一の処理（ＳＵＢ命令）の実行によって変化した第二のフラグ（ＳＺフラグ）の値に基づいて第一の処理と同じ処理（分岐処理）を行う第四の処理（ＳＺフラグをオペランドとするＪＲ命令）とを備えてもよい。
【１２７９】
このような構成とすれば、異なるフラグの変化に基づいて同一の処理を実行することができ、処理に応じて第三の処理と第四の処理を使い分けることができる場合がある。特に、第三の処理と第四の処理のバイト数とステート数を同じにすれば、プログラムのチェックや、デバックやテストなどの作業が容易になる場合がある。
【１２８０】
また、前記ＣＰＵは、前記第一のフラグの値を判定する第三の処理と、前記第二のフラグの値を判定する第四の処理と、を備え、前記第三の処理において、前記第一のフラグの値が前記第一の値または前記第二の値であるか否かを判定し、前記第四の処理において、前記第一のフラグの値が前記第一の値または前記第二の値であるか否かを判定してもよい。
【１２８１】
このような構成とすれば、第一の処理実行後は第一のフラグの値と第二のフラグの値が同じとなるので、第一の処理実行後に第三の処理と第四の処理を使い分けることで、プログラムの容量や可読性を向上させることができる場合がある。また、第二の処理実行後は第二の処理実行前の第一のフラグの値が保護されるため、第三の処理で第一のフラグの値を活用することができ、他のレジスタに第一のフラグの値を退避させる無駄な処理をする必要が無く、レジスタを占有せず且つプログラム容量を削減でき、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。
【１２８２】
また、前記第二の処理実行後に前記第四の処理を実行すれば、第四の処理で第二の処理の実行結果を判定することができるので、第二の処理の実行結果を確認する処理（第一のフラグを変化させる処理）を省くことができ、プログラム容量を削減することができる場合がある。
【１２８３】
また、前記ＣＰＵは、前記第三の処理または前記第四の処理において、前記判定結果が真である場合に所定のアドレスに移行してもよく、また、前記判定結果が真のときより偽の方が処理速度が速い場合、前記第三の処理と前記第四の処理のサイズ（バイト数）と速さ（ステート数）が同一であれば（例えば、ＪＲ命令、ＲＥＴ命令）、プログラムコード量や処理速度を気にすることなく処理を使い分けることができる場合がある。
【１２８４】
また、前記判定結果が真のときと偽のときとで処理速度が同じ場合、前記第三の処理のほうが前記第四の処理よりサイズと速さが小さくてもよい（例えば、ＪＰ命令）。また、前記第二の処理は、上記実施形態で示した処理に限定されず、例えば、ロード命令、１６ビットのＡＤＤ命令、ＩＮＣ命令、ＤＥＣ命令、直値を入れるＩＮ命令、Ａレジスタ専用のローテートシフト命令などでもよい。
【１２８５】
また、前記ＣＰＵが前記第二の処理を実行した後の前記第一のフラグは、該第二の処理を実行する前の値を維持するものであってもよい。
【１２８６】
また、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、遊技制御を行うＣＰＵ（例えば、ＣＰＵ３０４（または、ＣＰＵ１３０４））を有する主制御部（例えば、主制御部３００（または、主制御部１３００））と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部（例えば、第１副制御部４００、第２副制御部５００（または、第１副制御部１４００、第２副制御部１５００））と、を備えた遊技台であって、前記ＣＰＵは、複数種類のフラグを備えた所定のフラグレジスタと複数のレジスタを有し、前記複数のレジスタのうちの第一のレジスタと第二のレジスタの少なくとも何れかに格納された値を所定の値で所定の演算を行い、前記演算の第一の結果を前記第一のレジスタに格納し、前記演算の第二の結果を前記第二のレジスタに格納し、前記演算の第二の結果である前記第二のレジスタに格納された値に基づいて前記複数種類のフラグのうちの特定のフラグの値を変化させる所定の処理を備え、該所定の処理を前記遊技制御において実行することを特徴とする遊技台である。
【１２８７】
例えば、本実施形態に係るパチンコ機１００（またはスロットマシン１１００）は、図１７５に示すように、Ｚフラグと複数の記憶部１、記憶部２を有し、記憶部１と記憶部２の少なくとも何れかに格納された値７を所定の値３で除算を行い、除算結果の商２を前記記憶部１に格納し、除算結果の余り１を前記記憶部２に格納し、前記記憶部２に格納された値に基づいてＺフラグを１から０に変化させる除算処理を備え、該除算処理を前記遊技制御において実行する。
【１２８８】
本実施形態に係るパチンコ機１００（またはスロットマシン１１００）によれば、遊技の興趣を高めることを可能にしつつ、安定した遊技制御をおこなうことができる。すなわち、第二のレジスタに格納された値（第二の結果）に基づいて複数種類のフラグの何れかの値が変化するので、プログラムを注意して作成でき、コーディングミスやバグを抑制することができ、安定した遊技制御をおこなうことができる場合がある。また、第一の結果と第二の結果をそれぞれレジスタに格納するため、所定の処理後に２つの結果を利用してその他の処理を行うことができ、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。
【１２８９】
また、前記所定の処理は、前記第二のレジスタに格納された値が第一の値であることに基づいて第二の値を前記フラグレジスタに格納し、前記第二のレジスタに格納された値が前記第一の値と異なることに基づいて前記複数種類のフラグのうちの前記特定のフラグの値を前記第一の値に変化させてもよい。
【１２９０】
このような構成とすれば、第二のレジスタに格納された処理実行結果（第二の結果）に基づく値に基づいて特定のフラグの値が変化するので、プログラムを注意して作成でき、コーディングミスやバグを抑制することができ、安定した遊技制御をおこなうことができる場合がある。
【１２９１】
また、前記ＣＰＵは、前記所定の処理において、前記演算の第一の結果である前記第一のレジスタに格納された値に関わらずに前記演算の第二の結果である前記第二のレジスタに格納された値に基づいて前記複数種類のフラグのうちの特定のフラグの値を変化させてもよい。
【１２９２】
また、前記所定の処理は、第一のオペランドが特定値の場合に、第二のオペランドと第三のオペランドで指定したレジスタを所定の値に変化させるとともに、前記所定の処理で変化する複数種類のフラグのうちの前記特定のフラグ以外のフラグを変化させる処理でもよい。
【１２９３】
例えば、図１７６（ａ）に示すＷＡＲＵ命令は、第一のオペランド（三番目のオペランド）が特定値（０）の場合に、第二のオペランド（一番目のオペランド）と第三のオペランド（二番目のオペランド）で指定したレジスタ（Ｃレジスタ、Ａレジスタ）を所定の値（ＦＦＨ）に変化させるとともに、前記所定の処理で変化する複数種類のフラグのうちの特定のフラグ以外のフラグ（Ｃフラグ）を変化させる処理でもよい。
【１２９４】
このような構成とすれば、同図（ｂ）に示すような２つの処理で実現するよりも、処理数を削減できるため、処理時間を早くすることができ、プログラムコード量も削減できる場合がある。また、指定した２つのレジスタに所定の値を１処理で格納することができ、プログラムの可読性を向上させることができる場合がある。
【１２９５】
なお、Ｃフラグ（キャリーフラグ）は、足し算（例えば、ＡＤＤ命令、ＩＮＣ命令）実行時の桁落ち、引き算（例えば、ＳＵＢ命令、ＤＥＣ命令）実行時の桁借り、ローテートシフト命令（例えば、ＲＬＣＡ命令）実行時のＣフラグに入る値が１のときなどで値が１に変化するため、特定の処理（例えば、ＡＤＤ命令、ＤＥＣ命令、ＲＬＣＡ命令）と前記所定の処理（ＷＡＲＵ命令）とではＣフラグの変化条件が異なる。また、被除数を特定値（０）の除数で除算した場合、第一のレジスタおよび第二のレジスタの値における演算前の値がつぶされて（演算前の値に関わらず上書きして）同一の特定の値（ＦＦＨ）になる。また、前記所定の値は、前記所定の処理の演算結果として、前記第二のオペランド（一番目のオペランド）と前記第三のオペランド（二番目のオペランド）で指定したレジスタ（Ｃレジスタ、Ａレジスタ）に格納する値として取りえない値（除算の結果として、商と余りが取り得ない値（例えば、商と余りが両方ともＦＦＨ））であってもよい。
【１２９６】
また、前記所定の処理は、最後に指定されるオペランドの値で最後から２番目に指定されるオペランドの値に対して前記所定の演算を行い、最初に指定されるオペランドである前記第一のレジスタに前記演算の第一の結果を格納し、最初から２番目に指定されるオペランドである前記第二のレジスタに前記演算の第二の結果を格納し、前記演算の第一の結果である前記第一のレジスタに格納された値に関わらずに前記演算の第二の結果である前記第二のレジスタに格納された値に基づいて前記複数種類のフラグの何れかの値を変化させるものであってもよい。
【１２９７】
この場合、最初から２番目に指定されるオペランドである第二のレジスタの値に基づいて複数種類のフラグの何れかの値が変化するので、プログラムを注意して作成でき、コーディングミスやバグを抑制することができ、安定した遊技制御をおこなうことができる場合がある。
【１２９８】
また、前記最後に指定するオペランドの値が前記所定の値であってもよい。この場合、プログラムの可読性を向上させることができる場合がある。
【１２９９】
また、プログラムデータおよび一時的なデータを記憶する記憶手段（例えば、ＲＯＭ３０６、ＲＡＭ３０８（またはＲＯＭ１３０６、ＲＡＭ１３０８））の所定のアドレスが示す領域に複数のデータを含み、前記ＣＰＵは、前記所定の処理を所定回数行って該所定回数に応じた前記複数のデータの何れかを取得するものであってもよい。
【１３００】
この場合、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。
【１３０１】
また、前記ＣＰＵは、前記所定の処理を行った後、前記第一のレジスタに格納した値を前記記憶手段の第一の特定アドレスが示す領域に格納し、前記第二のレジスタに格納した値を前記第一の特定アドレスに隣接する第二の特定アドレスが示す領域に格納するものであってもよい。
【１３０２】
この場合、プログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。
【１３０３】
以下、図面を用いて、本発明の実施形態４に係るパチンコ機（遊技台）について詳細に説明する。
【１３０４】
＜全体構成＞
まず、図１７７を用いて、パチンコ機５１００の全体構成について説明する。なお、同図はパチンコ機５１００を正面側（遊技者側）から見た外観斜視図である。
【１３０５】
パチンコ機５１００は、ガラス製または樹脂製の透明板部材５１５２および透明部材保持枠（ガラス枠）５１５４からなる扉部材５１５６の奥側に視認可能に配設した後述する遊技盤(盤面)５１０２を備えている。
【１３０６】
また、発射杆５１３８および発射槌５１４０の下方には、発射杆５１３８を制御して遊技領域５１０４に向けて球の発射強度の操作を行うための操作ハンドル５１４８を配設していると共に、貯留皿５１４４の下方には、貯留皿５１４４に貯留できない溢れ球を貯留するための下皿５１５０を設けている。
【１３０７】
図１７８は、遊技盤５１０２を正面から見た略示正面図である。遊技盤５１０２には、外レール５１０６と内レール５１０８とを配設し、遊技球（以下、単に「球」と称する場合がある。）が転動可能な遊技領域５１０４を区画形成している。
【１３０８】
遊技領域５１０４の略中央には、演出装置５２００を配設している。この演出装置５２００には、略中央に横長の装飾図柄表示装置５１１０を配設し、その周囲に、普通図柄表示装置５１１２と、特別図柄表示装置５１１４と、普通図柄保留ランプ５１１６と、特別図柄保留ランプ５１１８と、高確中ランプ５１２０を配設している。なお、以下、普通図柄を「普図」、特別図柄を「特図」と称する場合がある。
【１３０９】
演出装置５２００は、可動部を動作して演出を行うものであり、詳細については後述する。装飾図柄表示装置５１１０は、装飾図柄ならびに演出に用いる様々な画像を表示するための表示装置であり、本実施例では液晶表示装置（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）によって構成する。この装飾図柄表示装置５１１０は、左図柄表示領域５１１０ａ、中図柄表示領域５１１０ｂ、右図柄表示領域５１１０ｃおよび演出表示領域５１１０ｄの４つの表示領域に分割し、左図柄表示領域５１１０ａ、中図柄表示領域５１１０ｂおよび左図柄表示領域５１１０ｃはそれぞれ異なった装飾図柄を表示し、演出表示領域５１１０ｄは演出に用いる画像を表示する。さらに、各表示領域５１１０ａ、５１１０ｂ、５１１０ｃ、５１１０ｄの位置や大きさは、装飾図柄表示装置５１１０の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置５１１０は、液晶表示装置に代えて、ドットマトリクス表示装置、７セグメント表示装置、ＥＬ（ＥｌｅｃｔｒｏＬｕｍｉｎｅｓｃｅｎｃｅ）表示装置、ドラム式表示装置、リーフ式表示装置等他の表示デバイスを採用してもよい。
【１３１０】
普図表示装置５１１２は、普図の表示を行うための表示装置であり、本実施例では７セグメントＬＥＤによって構成する。特図表示装置５１１４は、特図の表示を行うための表示装置であり、本実施例では７セグメントＬＥＤによって構成する。
【１３１１】
普図保留ランプ５１１６は、保留している普図変動遊技の数を示すためのランプであり、本実施例では、普図変動遊技を２つまで保留することを可能としている。特図保留ランプ５１１８は、保留している特図変動遊技の数を示すためのランプであり、本実施例では、特図変動遊技を４つまで保留することを可能としている。高確中ランプ５１２０は、遊技状態が高確率状態（後述する大当り遊技の当選確率を通常の確率よりも高く設定した遊技状態）であること、または高確率状態になることを示すためのランプであり、遊技状態を低確率状態（後述する大当り遊技の当選確率を通常の確率に設定した遊技状態）から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。
【１３１２】
また、この演出装置５２００の周囲には、一般入賞口５１２２と、普図始動口５１２４と、第１特図始動口５１２６と、第２特図始動口５１２８と、可変入賞口５１３０を配設している。一般入賞口５１２２は、本実施例では遊技盤５１０２に複数配設しており、この一般入賞口５１２２への入球を所定の球検出センサ（図示省略）が検出した場合（一般入賞口５１２２に入賞した場合）、後述する払出装置５５２を駆動し、所定の個数（本実施例では１０個）の球を賞球として貯留皿５１４４に排出する。貯留皿５１４４に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口５１２２に入球した球は、パチンコ機５１００の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を「賞球」、遊技者に貸し出す球を「貸球」と区別して呼ぶ場合があり、「賞球」と「貸球」を総称して「球（遊技球）」と呼ぶ。
【１３１３】
普図始動口５１２４は、ゲートやスルーチャッカーと呼ばれる、遊技領域の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤５１０２の左側に１つ配設している。普図始動口５１２４を通過した球は一般入賞口５１２２に入球した球と違って、遊技島側に排出することはない。球が普図始動口５１２４を通過したことを所定の玉検出センサが検出した場合、パチンコ機５１００は、普図表示装置５１１２による普図変動遊技を開始する。 
【１３１４】
第１特図始動口５１２６は、本実施例では遊技盤５１０２の中央に１つだけ配設している。この第１特図始動口５１２６への入球を所定の球検出センサが検出した場合、後述する払出装置５５２を駆動し、所定の個数（本実施例では３個）の球を賞球として貯留皿５１４４に排出するとともに、特図表示装置５１１４による特図変動遊技を開始する。なお、第１特図始動口５１２６に入球した球は、パチンコ機５１００の裏側に誘導した後、遊技島側に排出する。
【１３１５】
第２特図始動口５１２８は、電動チューリップ（電チュー）と呼ばれ、本実施例では第１特図始動口５１２６の真下に１つだけ配設している。この第２特図始動口５１２８は、左右に開閉自在な羽根を備え、羽根の閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置５１１２が当り図柄を停止表示した場合に羽根が所定の時間間隔、所定の回数で開閉する。第２特図始動口５１２８への入球を所定の球検出センサが検出した場合、後述する払出装置５５２を駆動し、所定の個数（本実施例では５個）の球を賞球として後述する貯留皿５１４４に排出するとともに、特図表示装置５１１４による特図変動遊技を開始する。なお、第２特図始動口５１２８に入球した球は、パチンコ機５１００の裏側に誘導した後、遊技島側に排出する。
【１３１６】
可変入賞口５１３０は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技盤５１０２の中央部下方に１つだけ配設している。この可変入賞口５１３０は、開閉自在な扉部材を備え、扉部材の閉鎖中は球の入球が不可能であり、特図変動遊技に当選し、特図表示装置５１１４が大当り図柄を停止表示した場合に扉部材が所定の時間間隔（例えば、開放時間２９秒、閉鎖時間１．５秒）、所定の回数（例えば１５回）で開閉する。可変入賞口５１３０への入球を所定の球検出センサが検出した場合、後述する払出装置５５２を駆動し、所定の個数（本実施例では１５球）の球を賞球として貯留皿５１４４に排出する。なお、可変入賞口５１３０に入球した球は、パチンコ機５１００の裏側に誘導した後、遊技島側に排出する。
【１３１７】
さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材５１３２や、遊技釘５１３４を複数個、配設していると共に、内レール５１０８の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機５１００の裏側に誘導した後、遊技島側に排出するためのアウト口５１３６を設けている。
【１３１８】
このパチンコ機５１００は、遊技者が貯留皿５１４４に貯留している球を発射レール５１４２の発射位置に供給し、遊技者の操作ハンドル５１４８の操作量に応じた強度で発射モータ６０２を駆動し、発射杆５１３８および発射槌５１４０によって外レール５１０６、内レール５１０８を通過させて遊技領域５１０４に打ち出す。そして、遊技領域５１０４の上部に到達した球は、打球方向変換部材５１３２や遊技釘５１３４等によって進行方向を変えながら下方に落下し、入賞口（一般入賞口５１２２、可変入賞口５１３０）や始動口（第１特図始動口５１２６、第２特図始動口５１２８）に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口５１２４を通過するのみでアウト口５１３６に到達する。
【１３１９】
＜演出装置＞
次に、パチンコ機５１００の演出装置５２００について説明する。この演出装置５２００の前面側には、ワープ装置５２３０およびステージを配設し、演出装置５２００の背面側には、装飾図柄表示装置５１１０および遮蔽手段５２５０を配設している。すなわち、演出装置５２００において、装飾図柄表示装置５１１０および遮蔽手段５２５０は、ワープ装置５２３０およびステージの後方に位置することとなる。
【１３２０】
ワープ装置５２３０は、演出装置５２００の左上方に設けた入球口５２３２に入った遊技球を演出装置５２００の前面下方の前面ステージ５２３４に排出し、さらに、前面ステージ５２３４に排出した遊技球が前面ステージ５２３４の中央部後方に設けた第２の入球口５２３６に入った場合は、遊技球を、第１特図始動口５１２６の上方である演出装置５２００の下部中央に設けた排出口５２３８から第１特図始動口５１２６に向けて排出するものである。この排出口５２３８から排出した遊技球は特図始動口５１２６に入球しやすくなっている。
【１３２１】
遮蔽手段５２５０は、格子状の左扉５２５０ａおよび右扉５２５０ｂからなり、装飾図柄表示装置５１１０および前面ステージ５２３４の間に配設する。左扉５２５０ａおよび右扉５２５０ｂの上部には、図示しない２つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉５２５０ａおよび右扉５２５０ｂは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段５２５０は、左右扉５２５０ａ、５２５０ｂを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置５１１０を視認し難いように遮蔽する。左右扉５２５０ａ、５２５０ｂを開いた状態ではそれぞれの内側端部が装飾図柄表示装置５１１０の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置５１１０の表示の全てを視認可能である。また、左右扉５２５０ａ、５２５０ｂは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左右扉５２５０ａ、５２５０ｂは、格子の孔から後方の装飾図柄表示装置５１１０の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置５１１０による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ（遮蔽し）、後方の装飾図柄表示装置５１１０を全く視認不可にしてもよい。
【１３２２】
図１７９は、パチンコ機５１００を背面側から見た外観斜視図である。パチンコ機５１００の背面上部には、上方に開口した開口部を有し、球を一時的に貯留するための球タンク５１５２と、この球タンク５１５２の下方に位置し、球タンク５１５２の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置５１５４に導くためのタンクレール５１５３とを配設している。
【１３２３】
払出装置５１５４は、筒状の部材からなり、その内部には、スプロケット５１５７と払出センサ５１５８とを備えている。スプロケット５１５７は、モータによって回転可能に構成されており、タンクレール５１５３を通過して払出装置５１５４内に落下した球を一時的に滞留させると共に、モータを駆動して所定角度だけ回転することにより、一時的に滞留した球を払出装置５１５４の下方へ１個ずつ送り出すように構成している。
【１３２４】
払出センサ５１５８は、スプロケット５１５７が送り出した球の通過を検知するためのセンサであり、球が通過しているときにオンの信号を出力し、球が通過していないときはオフの信号を出力する。なお、この払出センサ５１５８を通過した球は、図示しない球レールを通過してパチンコ機５１００の表側に配設した貯留皿５１４４に到達するように構成しており、パチンコ機５１００は、この構成により遊技者に対して球の払い出しを行う。
【１３２５】
払出装置５１５４の左側には、後述する主制御部５３００を構成する主基板５１６１と、後述する副制御部５４００を構成するサブ基板５１６４とを配設している。また、これら主基板５１６１やサブ基板５１６４の下方には、後述する発射制御部５６００を構成する発射基板５１６６と、後述する電源管理部５６５０を構成する電源基板５１６２と、後述する払出制御部５５５０を構成する払出基板５１６５と、この払出基板５１６５に接続したＣＲインターフェース部５１６３とを配設している。
【１３２６】
＜図柄の種類＞
次に、図１８０（ａ）〜（ｃ）を用いて、パチンコ機５１００の特図表示装置５１１４、装飾図柄表示装置５１１０、普図表示装置５１１２が停止表示する特図および普図の種類について説明する。
【１３２７】
同図（ａ）は特図の停止表示態様の一例を示したものである。本実施例の特図の停止表示態様には、大当り図柄である「特図１」と、特別大当り図柄である「特図２」と、外れ図柄である「特図３」の３種類がある。第１特図始動口５１２６または第２特図始動口５１２８に球が入賞したことを所定の球検出センサが検出したことを条件として特図変動遊技を開始した場合には、特図表示装置５１１４は、７個のセグメントの全点灯と、中央の１個のセグメントの点灯を繰り返す「特図の変動表示」を行う。そして、特図の変動開始前に決定した変動時間が経過すると、特図変動遊技の当選を報知する場合には「特図１」または「特図２」を停止表示し、特図変動遊技の外れを報知する場合には「特図３」を停止表示する。なお、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。
【１３２８】
同図（ｂ）は装飾図柄の一例を示したものである。本実施例の装飾図柄には、「装飾１」〜「装飾１０」の１０種類がある。第１特図始動口５１２６または第２特図始動口５１２８に球が入賞したことを所定の球検出センサが検出したことを条件にして、装飾図柄表示装置５１１０の左図柄表示領域５１１０ａ、中図柄表示領域５１１０ｂ、右図柄表示領域５１１０ｃの各図柄表示領域に、「装飾１」→「装飾２」→「装飾３」→・・・・「装飾９」→「装飾１０」→「装飾１」→・・・の順番で表示を切り替える「装飾図柄の変動表示」を行う。そして、大当りを報知する場合には、図柄表示領域５１１０ａ〜５１１０ｃに大当りに対応する図柄組合せ（本実施例では、同一の数字の装飾図柄の組合せ（例えば、「装飾２−装飾２−装飾２」））を停止表示し、特別大当りを報知する場合には、特別大当りに対応する図柄組合せ（本実施例では、同一の奇数番号数字の装飾図柄の組合せ（例えば、「装飾１−装飾１−装飾１」））を停止表示する。なお、大当りに対応する図柄の組合せを停止表示した場合には、大当り遊技または特別大当り遊技を開始し、特別大当りに対応する図柄の組合せを停止表示した場合には、特別大当り遊技を開始する。また、外れを報知する場合には、図柄表示領域５１１０ａ〜５１１０ｃに大当りに対応する図柄組合せ以外の図柄組合せを停止表示した後で、保留している装飾図柄の変動表示があれば、その変動表示を開始する。
【１３２９】
同図（ｃ）は普図の停止表示態様の一例を示したものである。本実施例の普図の停止表示態様には、当り図柄である「普図１」と、外れ図柄である「普図２」の２種類がある。普図始動口５１２４を球が通過したことを所定の球検出センサが検出したことを条件として普図表示遊技を開始した場合には、普図表示装置５１１２は、７個のセグメントの全点灯と、中央の１個のセグメントの点灯を繰り返す「普図の変動表示」を行う。そして、普図変動遊技の当選を報知する場合には「普図１」を停止表示し、普図変動遊技の外れを報知する場合には「普図２」を停止表示する。
【１３３０】
＜制御部＞
次に、図１８１を用いて、このパチンコ機５１００の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。
【１３３１】
パチンコ機５１００の制御部は、大別すると、遊技の中枢部分を制御する主制御部５３００と、主制御部５３００が送信するコマンド信号（以下、単に「コマンド」と呼ぶ）に応じて、主に演出の制御を行う副制御部５４００と、主制御部５３００が送信するコマンドに応じて、主に遊技球の払い出しに関する制御を行う払出制御部５５５０と、遊技球の発射制御を行う発射制御部５６００と、パチンコ機５１００に供給される電源を制御する電源管理部５６５０によって構成している。
【１３３２】
＜主制御部＞
まず、パチンコ機５１００の主制御部５３００について説明する。主制御部５３００は、主制御部５３００の全体を制御する基本回路５３０２を備えており、この基本回路５３０２には、ＣＰＵ５３０４と、制御プログラムや各種データを記憶するためのＲＯＭ５３０６と、一時的にデータを記憶するためのＲＡＭ５３０８と、各種デバイスの入出力を制御するためのＩ／Ｏ５３１０と、時間や回数等を計測するためのカウンタタイマ５３１２と、ＷＤＴ（ウォッチドッグタイマ）５３１３を搭載している。なお、ＲＯＭ５３０６やＲＡＭ５３０８については他の記憶手段を用いてもよく、この点は後述する副制御部５４００についても同様である。この基本回路５３０２のＣＰＵ５３０４は、水晶発振器５３１４ｂが出力する外部クロックをクロック回路５３４０（図１８２参照。詳細は後述）で所定の分周比（この例では、１／２）で分周したシステムクロックＳＣＬＫを、基本クロックとして入力して動作する。
【１３３３】
また、基本回路５３０２には、水晶発振器５３１４ａが出力する乱数用クロックＲＣＫを受信する度に０〜６５５３５の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路（乱数回路）５３１６を搭載している（詳細は後述する）。
【１３３４】
また、基本回路５３０２には、各始動口、入賞口の入り口および可変入賞口の内部に設けた球検出センサを含む各種センサ５３１８が出力する信号を受信し、増幅結果や基準電圧との比較結果を基本回路５３０２に出力するためのセンサ回路５３２０と、特図表示装置５１１４の表示制御を行うための表示回路５３２２と、普図表示装置５１１２の表示制御を行うための表示回路５３２４と、各種状態表示部５３２６（普図保留ランプ５１１６、特図保留ランプ５１１８、高確中ランプ５１１８等）の表示制御を行うための表示回路５３２８と、第２特図始動口５１２８や可変入賞口５１３０等を開閉駆動する各種ソレノイド５３３０を制御するためのソレノイド回路５３３２と、電源が投入されるとＣＰＵ５３０４に対して起動信号（リセット信号）を出力する起動信号出力回路（リセット信号出力回路）５３３８を接続している。
【１３３５】
なお、第１特図始動口５１２６に球が入賞したことを球検出センサ５３１８が検出した場合には、センサ回路５３２０は球を検出したことを示す信号をカウンタ回路５３１６に出力する。この信号を受信したカウンタ回路５３１６は、第１特図始動口５１２６に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第１特図始動口５１２６に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路５３１６は、第２特図始動口５１２８に球が入賞したことを示す信号を受信した場合も同様に、第２特図始動口５１２８に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第２特図始動口５１２８に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路５３１６は、普図始動口５１２４に球が入賞したことを示す信号を受信した場合も同様に、普図始動口５１２４に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、普図始動口５１２４に対応する内蔵のカウンタ値記憶用レジスタに記憶する。
【１３３６】
さらに、基本回路５３０２には、情報出力回路５３３４を接続しており、主制御部５３００は、この情報出力回路５３３４を介して、外部のホールコンピュータ（図示省略）等が備える情報入力回路５６５２にパチンコ機５１００の遊技情報（例えば、遊技状態）を出力する。
【１３３７】
また、主制御部５３００は、副制御部５４００にコマンドを送信するための出力インタフェースと、払出制御部５５５０にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、副制御部５４００および払出制御部５５５０との通信を可能としている。なお、主制御部５３００と副制御部５４００および払出制御部５５０との情報通信は一方向の通信であり、主制御部５３００は副制御部５４００および払出制御部５５５０にコマンド等の信号を送信できるように構成しているが、副制御部５４００および払出制御部５５５０からは主制御部５３００にコマンド等の信号を送信できないように構成している。 
【１３３８】
＜副制御部＞
次に、パチンコ機５１００の副制御部５４００について説明する。副制御部５４００は、主に主制御部５３００が送信したコマンド等に基づいて副制御部５４００の全体を制御する基本回路５４０２を備えており、この基本回路５４０２には、ＣＰＵ５４０４と、制御プログラムや各種データを記憶するためのＲＯＭ５４０６と、一時的にデータを記憶するためのＲＡＭ５４０８と、各種デバイスの入出力を制御するためのＩ／Ｏ５４１０と、時間や回数等を計測するためのカウンタタイマ５４１２を搭載している。この基本回路５４０２のＣＰＵ５４０４は、水晶発振器５４１４が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。
【１３３９】
また、基本回路５４０２には、スピーカ５４１６（およびアンプ）の制御を行うための音源ＩＣ５４１８と、各種ランプ５４２０の制御を行うための表示回路５４２２と、演出装置５２００の演出用可動体等を駆動する駆動装置であるソレノイドまたはモータ等が含まれる各種演出用駆動装置５４２４の制御を行うための演出用駆動装置制御回路５４２６と、装飾図柄表示装置（液晶表示装置）５１１０および遮蔽手段５２５０の制御を行うための副制御部５５００と、チャンスボタン５１４６の押下を検出して信号を出力するチャンスボタン検出回路５３８０を接続している。
【１３４０】
＜払出制御部、発射制御部、電源管理部＞
次に、パチンコ機５１００の払出制御部５５５０、発射制御部５６００、電源管理部５６５０について説明する。払出制御部５５５０は、主に主制御部５３００が送信したコマンド等の信号に基づいて払出装置５５５２を制御すると共に、払出センサ５５５４が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部５５５６を介して、パチンコ機５１００とは別体で設けられたカードユニット５６５４との通信を行う。
【１３４１】
発射制御部５６００は、払出制御部５５５０が出力する、発射許可または停止を指示する制御信号や、操作ハンドル５１４８内に設けた発射強度出力回路が出力する、遊技者による発射ハンドル５１４８の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆５１３８および発射槌５１４０を駆動する発射モータ５６０２の制御や、貯留皿５１４４から発射レール５１４２に球を供給する球送り装置５６０４の制御を行う。
【１３４２】
電源管理部５６５０は、パチンコ機５１００に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部５３００、副制御部５４００等の各制御部や払出装置５５５２等の各装置に供給する。さらに、電源管理部５６５０は、外部からの電源が断たれた後も所定の部品（例えば主制御部５３００のＲＡＭ５３０８等）に所定の期間（例えば１０日間）電源を供給するための蓄電回路（例えばコンデンサ）を備えている。
【１３４３】
＜主制御部の基本回路＞
次に、図１８２を用いて、主制御部５３００の基本回路５３０２について詳細に説明する。なお、同図は基本回路の内部構成図である。
【１３４４】
基本回路５３０２は、上述のＣＰＵ５３０４、ＲＯＭ（内蔵ＲＯＭ）５３０６、ＲＡＭ（内蔵ＲＡＭ）５３０８、カウンタタイマ５３１２（タイマ回路５３１２ａ、カウンタ回路５３１２ｂ）、カウンタ回路（乱数回路）５３１６、Ｉ／Ｏ５３１０（外部バス制御回路５３１０ａ、ＷＤＴ５３１３内蔵のリセット制御回路５３１０ｂ、パラレル入力ポート５３１０ｃ、アドレスデコード回路５３１０ｄ）、に加えて、クロック回路５３４０などを備える。
【１３４５】
クロック回路５３４０は、上述の水晶発振器５３１４ｂ（以下、システム用水晶発振器５３１４ｂと称する場合がある）からＥＸ端子を介して入力される外部クロックＥＸ（この例では、２４ＭＨｚのクロック）を所定の分周比（この例では、１／２）で分周し、分周後のシステムクロックＳＣＬＫ（この例では、１２ＭＨｚのクロック）をＣＰＵコアや内部の各回路に供給する回路である。乱数回路５３１６は、詳細は後述するが、上述の水晶発振器５３１４ａ（以下、乱数用水晶発振器５３１４ａと称する場合がある）からＲＣＫ端子を介して入力される乱数用クロックＲＣＫ（この例では、１０ＭＨｚのクロック）に基づいてカウント値のカウントを行って乱数値を発生させるための回路である。なお、本実施例では、乱数用クロックＲＣＫの周波数を、システムクロックＳＣＬＫの周波数（この例では、１２ＭＨｚ）未満であって、後述する主制御部タイマ割り込み処理の周期としてカウンタ・タイマ５３１２に設定する周期（この例では２ｍｓ）以上の周波数に設定している。
【１３４６】
図１８３は、基本回路５３０２に接続される乱数用水晶発振器５３１４ａとシステム用水晶発振器５３１４ｂの配線パターンの一例を示した回路ブロック図である。
【１３４７】
本実施例では、基本回路５３０２とシステム用水晶発振器５３１４ｂを結ぶ信号線Ｌｓの長さを、基本回路５３０２と乱数用水晶発振器５３１４ａを結ぶ信号線Ｌｒの長さよりも短く設定している（Ｌｒ＞Ｌｓ）。このような構成により、システム用水晶発振器５３１４ｂを基本回路５３０２の近傍に配置することができ、且つ、基本回路５３０２とシステム用水晶発振器５３１４ｂを結ぶ信号線Ｌｓの長さを短くすることができるため、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。
【１３４８】
また、クロック信号の供給源と供給先を結ぶ信号線の長さは、クロック信号に外乱が加わらないようになるべく短く設定するのが一般的であるが、基本回路５３０２と乱数用水晶発振器５３１４ａを結ぶ信号線Ｌｒの長さを敢えて長めに設定し、信号線Ｌｒを通る乱数用クロックＲＣＫの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックＲＣＫの信号に基づいてカウント値のカウントを行う乱数回路５３１６のカウント値の更新タイミングにバラツキを与え、乱数回路５３１６が生成する乱数値のランダム性をさらに高めることができる。
【１３４９】
さらに、基本回路５３０２とシステム用水晶発振器５３１４ｂを結ぶ信号線Ｌｓの長さと、基本回路５３０２と乱数用水晶発振器５３１４ａを結ぶ信号線Ｌｒの長さを異ならせることにより、基本回路５３０２近傍の部品の配置の自由度を高めることができる。
【１３５０】
＜乱数回路＞
次に、図１８４および図１８５を用いて、基本回路５３０２が備える乱数回路（カウンタ回路）５３１６について詳細に説明する。なお、図１８４は乱数回路の内部構成図であり、図１８５は乱数回路が備える周波数監視回路の内部構成図である。
【１３５１】
乱数回路５３１６は、乱数回路ＣＨ１〜ＣＨ４の４つの乱数回路を備える。なお、乱数回路ＣＨ２〜４の内部構成は、乱数回路ＣＨ１と同一であるため、図示は省略している。
【１３５２】
乱数回路ＣＨ１〜ＣＨ４は、乱数更新回路５３１６ｇに取り込まれた乱数値を格納するための乱数レジスタ５３１６ｂと、乱数レジスタ５３１６ｂに乱数値が取り込まれたことを示すための乱数ラッチフラグレジスタ５３１６ｃと、乱数割込みを制御するための乱数割込み制御レジスタ５３１６ｄと、乱数更新回路５３１６ｇにおいて乱数値が正常に更新されたかどうかを更新毎に監視し、更新に異常があった場合に乱数値異常信号を出力する乱数監視回路５３１６ｅと、この乱数監視回路５３１６ｅから乱数値異常信号が入力された場合に乱数値異常信号状態ビットを１にセットする内部情報レジスタ５３１６ｆと、を有して構成されている。なお、乱数監視回路５３１６ｅは、乱数更新回路５３１６ｇに内蔵してもよいし、乱数回路ＣＨ１〜ＣＨ４で共通に設けてもよい（共通に設ける場合には、ＣＨ１〜ＣＨ４が識別できるようにフラグを設けてもよいし、フラグを共通に設けてもよい）。
【１３５３】
この乱数回路５３１６は、各チャネル毎に異なった乱数列を持つ２種類の１６ビット乱数値を発生させることが可能であるとともに、ＲＯＭ５３０６の所定領域に設けた乱数使用設定、乱数初期設定、乱数取込設定の内容を変更することによって、乱数回路ＣＨ１〜ＣＨ４の使用／未使用、初期値・乱数列変更方法の選択、乱数値の更新周期、乱数値の取り込み方法、割込条件などを変更することが可能である。本実施例では、Ｐ０端子は第１特図始動口５１２６に入球があった場合に出力される特図１始動口入球検出信号、Ｐ１端子は第２特図始動口５１２８に入球があった場合に出力される特図２始動口入球検出信号、Ｐ２端子は普図始動口５１２４に入球があった場合に出力される普図始動口入球検出信号がそれぞれ入力されるようにセンサ回路５３２０と接続されているが、これに限定されない。
【１３５４】
また、乱数回路ＣＨ１〜ＣＨ４は、周波数監視回路５３１６ａを備えている。この周波数監視回路５３１６ａは、図１８５に拡大して示すように、上述のクロック回路５３４０から出力されるシステムクロックＳＣＬＫが入力される平滑回路と、上述の水晶発振器５３１４ａからＲＣＫ端子を介して入力される乱数用クロックＲＣＫが入力される平滑回路と、平滑後のシステムクロックＳＣＬＫの周波数と乱数用クロックＲＣＫの周波数を比較し、ＲＣＫの周波数がシステムクロックＳＣＬＫの周波数以下（ＲＣＫ＝＜ＳＣＬＫ）である場合に、乱数用クロックＲＣＫの周波数が異常になったと判定し内部情報レジスタのクロック信号状態ビットを１にセットする比較器と、を備えている。
【１３５５】
主制御部５３００のＣＰＵ５３０４は、所定のタイミングで、内部情報レジスタの乱数値異常信号状態ビットとクロック信号状態ビットを参照する。そして、乱数値異常信号状態ビットが１にセットされている場合（乱数更新回路５３１６ｇにおいて乱数値の更新に異常があった場合）には、乱数更新回路５３１６ｇに何らかの異常が発生したと判定し、乱数値異常信号状態ビットが０にセットされている場合には、乱数更新回路５３１６ｇが正常であると判定する。
【１３５６】
また、内部情報レジスタのクロック信号状態ビットが１にセットされている場合（乱数用クロックＲＣＫの周波数がシステムクロックＳＣＬＫの周波数以下（ＲＣＫ＝＜ＳＣＬＫ）である場合）には、乱数用クロックＲＣＫに何らかの異常（例えば、乱数回路５３１６と水晶発振器５３１４ａとを結ぶ配線パターンの断線）が発生したと判定し、内部情報レジスタのクロック信号状態ビットが０にセットされている場合（乱数用クロックＲＣＫの周波数がシステムクロックＳＣＬＫの周波数より大きい（ＲＣＫ＞ＳＣＬＫ）場合）には、乱数用クロックＲＣＫが正常であると判定する。
【１３５７】
なお、本実施例では、乱数用クロックＲＣＫの周波数がシステムクロックＳＣＬＫの周波数以下（ＲＣＫ＝＜ＳＣＬＫ）である場合に乱数用クロックＲＣＫの異常と判定しているが、本発明はこれに限定されず、例えば、異常と判定する閾値を複数種類設け、この複数種類の閾値の中から１つの閾値を選択可能に構成してもよい。また、システムクロックＳＣＬＫの周波数や、乱数用クロックＲＣＫの周波数は、本実施例で示した数値に限定されるものではない。たとえば、所定の情報（たとえばＲＯＭに記憶された情報）に基づいて、ＲＣＫ＝＜２×ＳＣＬＫ、ＲＣＫ＝＜１／２×ＳＣＬＫなど、異常の判定方式を設定できるようにしてもよい。なお、理想的には、１２ＭＨｚのシステムクロックＳＣＬＫに対して、１０ＭＨｚの乱数用クロックＲＣＫが３ＭＨｚ以下（システムクロックの１／４以下）の周波数になった場合に異常とすることが望ましい。
【１３５８】
＜主制御部メイン処理＞
次に、図１８６を用いて、主制御部５３００のＣＰＵ５３０４が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。
【１３５９】
上述したように、主制御部５３００には、電源が投入されると起動信号（リセット信号）を出力する起動信号出力回路（リセット信号出力回路）５３３８を設けている。この起動信号を入力した基本回路５３０２のＣＰＵ５３０４は、リセット割り込みによりリセットスタートしてＲＯＭ５３０６に予め記憶している制御プログラムに従って処理を実行する。
【１３６０】
ステップＳ６１０１では、初期設定１を行う。この初期設定１では、ＣＰＵ５３０４のスタックポインタ（ＳＰ）へのスタック初期値の設定、割り込みマスクの設定、Ｉ／Ｏポート５３１０の初期設定、ＲＡＭ５３０８に記憶する各種変数の初期設定、ＷＤＴ５３１３への動作許可及び初期値の設定等を行う。なお、本実施例では、ＷＤＴ５３１３に、初期値として３２．８ｍｓに相当する数値を設定する。
【１３６１】
ステップＳ６１０２では、ＷＤＴ５３１３のカウンタの値をクリアし、ＷＤＴ５３１３による時間計測を再始動する。
【１３６２】
ステップＳ６１０３では、低電圧信号がオンであるか否か、すなわち、電圧監視回路５３３６が、電源管理部５６５０から主制御部５３００に供給している電源の電圧値が所定の値（本実施例では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合（ＣＰＵ５３０４が電源の遮断を検知した場合）にはステップＳ６１０２に戻り、低電圧信号がオフの場合（ＣＰＵ５３０４が電源の遮断を検知していない場合）にはステップＳ６１０４に進む。
【１３６３】
ステップＳ６１０４では、初期設定２を行う。この初期設定２では、後述する主制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマ５３１２に設定する処理、Ｉ／Ｏ５３１０の所定のポート（例えば試験用出力ポート、副制御部５４００への出力ポート）からクリア信号を出力する処理、ＲＡＭ５３０８への書き込みを許可する設定等を行う。
【１３６４】
ステップＳ６１０５では、電源の遮断前（電断前）の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合（主制御部５３００の基本回路５３０２を初期状態にする場合）にはステップＳ６１０７に進む。同様に電源ステータスの情報が「サスペンド（電断時処理が行われたことを示す情報）」以外の情報を示している場合にもステップＳ６１０８に進む。
【１３６５】
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるＲＡＭクリア信号がオン（操作があったことを示す）であるか否か、すなわちＲＡＭクリアが必要であるか否かを判定し、ＲＡＭクリア信号がオンの場合（ＲＡＭクリアが必要な場合）には、基本回路５３０２を初期状態にすべくステップＳ６１０７に進む。一方、ＲＡＭクリア信号がオフの場合（ＲＡＭクリアが必要でない場合）は、ＲＡＭ５３０８に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路５３０２を初期状態にすべくステップＳ６１０７に進み、電源ステータスの情報がサスペンドを示す情報である場合には、ＲＡＭ５３０８の所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値（例えば０）であるか否か（チェックサムの結果が正常であるか否か）を判定する。そして、チェックサムの結果が特定の値（例えば０）の場合（チェックサムの結果が正常である場合）には電断前の状態に復帰すべくステップＳ６１０６に進み、チェックサムの結果が特定の値（例えば０）以外である場合（チェックサムの結果が異常である場合）には、パチンコ機５１００を初期状態にすべくステップＳ６１０７に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップＳ６１０７に進む。
【１３６６】
ステップＳ６１０６では、復電時処理を行う。この復電時処理では、電断時にＲＡＭ５３０８に設けられたスタックポインタ退避領域に記憶しておいたスタックポインタを読み出し、スタックポインタに再設定する。また、電断時にＲＡＭ５３０８に設けられたレジスタ退避領域に記憶しておいた各レジスタの値を読み出し、各レジスタに再設定した後、割り込み許可の設定を行う。以降、ＣＰＵ５３０４が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機５１００は電源断時の状態に復帰する。すなわち、電断直前にタイマ割り込み処理（後述）に分岐する直前に行った（ステップＳ６１０８、ステップＳ６１０９内の所定の）命令の次の命令から処理を再開する。
【１３６７】
ステップＳ６１０７では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、ＲＡＭ５３０８の全ての記憶領域の初期化などを行う。
【１３６８】
ステップＳ６１０８では、割り込み禁止の設定を行った後、基本乱数更新処理を行う。この基本乱数更新処理では、普図タイマ乱数値、特図タイマ乱数値をそれぞれ生成するための２つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が０〜２０とすると、ＲＡＭ５３０８に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に１を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に１を加算した結果が２１であれば０を元の乱数カウンタ記憶領域に記憶する。他の乱数カウンタもそれぞれ同様に更新する。また、この基本乱数更新処理の終了後に割り込み許可の設定を行ってステップＳ６１０９に進む。
【１３６９】
ステップＳ６１０９では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部５３００で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【１３７０】
主制御部５３００は、所定の周期ごとに開始するタイマ割り込み処理を行っている間を除いて、ステップＳ６１０８およびＳ６１０９の処理を繰り返し実行する。
【１３７１】
＜主制御部タイマ割り込み処理＞
次に、図１８７を用いて、主制御部５３００のＣＰＵ５３０４が実行する主制御部タイマ割り込み処理について説明する。なお、同図は主制御部タイマ割り込み処理の流れを示すフローチャートである。
【１３７２】
主制御部５３００は、所定の周期（本実施例では約２ｍｓに１回）でタイマ割り込み信号を発生するカウンタ・タイマ５３１２を備えており、このタイマ割り込み信号を契機として主制御部タイマ割り込み処理を所定の周期で開始する。
【１３７３】
ステップＳ６２０１では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、ＣＰＵ５３０４の各レジスタの値をスタック領域に一時的に退避する処理などを行う。
【１３７４】
ステップＳ６２０２では、ＷＤＴ５３１３のカウント値が初期設定値（本実施例では３２．８ｍｓ）を超えてＷＤＴ割り込みが発生しないように（処理の異常を検出しないように）、ＷＤＴを定期的に（本実施例では、主制御部タイマ割り込みの周期である約２ｍｓに１回）リスタートを行う。
【１３７５】
ステップＳ６２０３では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、Ｉ／Ｏ５３１０の入力ポートを介して、上述のガラス枠５１５４が開放状態または閉鎖状態のいずれの状態であるかを検出するための開放センサ、上述の下皿５１５０が球で一杯になったか否かを検出するための下皿満タンセンサ、および複数の球検出センサを含む各種センサ５３１８の検出信号を入力して検出信号の有無を監視し、ＲＡＭ５３０８に各種センサ５３１８ごとに区画して設けた信号状態記憶領域に記憶する。本実施例では、前々回のタイマ割り込み処理（約４ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ５３０８に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をＲＡＭ５３０８に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割り込み処理（約２ｍｓ前）で検出した各々の球検出センサの検出信号の有無の情報を、ＲＡＭ５３０８に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。
【１３７６】
ステップＳ６２０４およびステップＳ６２０５では、大当り種別用乱数更新処理および基本乱数更新処理を行う。これらの大当り種別用乱数更新処理および基本乱数更新処理では、次に主制御部５３００で使用する大当り種別用乱数等を更新する。なお、更新の方法は上述のステップＳ６１０８およびＳ６１０９と同様である。
【１３７７】
ステップＳ６２０６では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部５３００で使用する演出用乱数値を生成するための乱数カウンタを更新する。
【１３７８】
ステップＳ６２０７では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置５１１２に図柄を変動・停止表示する時間を計時するための普図表示図柄更新タイマ、特別図柄表示装置５１１４に図柄を変動・停止表示する時間を計時するための特図表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。
【１３７９】
ステップＳ６２０８では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口（一般入賞口５１２２、第１、第２特図始動口５１２６、５１２８、および可変入賞口５１３０）に入賞（入球）があった場合に、ＲＡＭ５３０８に各入賞口ごとに設けた賞球数記憶領域の値を読み出し、１を加算して、元の賞球数記憶領域に設定する。なお、乱数用クロックＲＣＫが異常であっても入賞に対する賞球払出数の増加を制限する理由がないため、後述するステップＳ６２０９のように乱数用クロックＲＣＫに異常がある場合でも特別な処理を行わないが、不正者に対する懲罰的な意味で乱数用クロックＲＣＫに異常がある場合に賞球数を加算しない等の所定の処理を行ってもよい。また、次のステップＳ６２０９では、入賞受付処理を行う（詳細は後述する）。ステップＳ６２１０では、払出要求数送信処理を行う。なお、払出制御部５５０に出力する出力予定情報および払出要求情報は１バイトで構成しており、ビット７にストローブ情報（オンの場合、データをセットしていることを示す）、ビット６に電源投入情報（オンの場合、電源投入後一回目のコマンド送信であることを示す）、ビット４〜５に今回加工種別（０〜３）、およびビット０〜３に加工後の払出要求数を示すようにしている。
【１３８０】
ステップＳ６２１１では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの１つの処理を行う。例えば、普図変動中（後述する普図汎用タイマの値が１以上）における普図状態更新処理では、普図表示装置５１１２を構成する７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
【１３８１】
また、普図変動表示時間が経過したタイミング（普図表示図柄更新タイマの値が１から０になったタイミング）における普図状態更新処理では、当りフラグがオンの場合には、上述の普図１の態様となるように普図表示装置５１１２を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行い、当りフラグがオフの場合には、上述の普図２の態様となるように普図表示装置５１１２を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行うと共に、その後、所定の停止表示期間（例えば５００ｍ秒間）その表示を維持するためにＲＡＭ５３０８に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により普図の停止表示を行い、普図変動遊技の結果を遊技者に報知するようにしている。
【１３８２】
また、所定の停止表示期間が終了したタイミング（普図停止時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、当りフラグがオンの場合には、所定の開放期間（例えば２秒間）、第２特図始動口５１２８の羽根部材の開閉駆動用のソレノイド５３３０に、羽根部材を開放状態に保持する信号を出力するとともに、ＲＡＭ５３０８に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。
【１３８３】
また、所定の開放期間が終了したタイミング（羽根開放時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、所定の閉鎖期間（例えば５００ｍ秒間）、羽根部材の開閉駆動用のソレノイド５３３０に、羽根部材を閉鎖状態に保持する信号を出力するとともに、ＲＡＭ５３０８に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。
【１３８４】
また、所定の閉鎖期間を経過したタイミング（羽根閉鎖時間管理用タイマの値が１から０になったタイミング）で開始する普図状態更新処理では、普図の状態を非作動中に設定する。普図の状態が非作動中の場合における普図状態更新処理では、何もせずに次のステップＳ６２１２に移行するようにしている。
【１３８５】
ステップＳ６２１２では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第２特図始動口５１２８の開閉制御を行っておらず（普図の状態が非作動中）、且つ、保留している普図変動遊技の数が１以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはＲＡＭ５３０８に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置５１１２に普図を変動表示する時間を１つ選択し、この変動表示時間を、普図変動表示時間として、ＲＡＭ５３０８に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、ＲＡＭ５３０８に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から１を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。
【１３８６】
ステップＳ６２１３では、特図状態更新処理を行う（詳細は後述する）。ステップＳ６２１４では、特図関連抽選処理を行う。この特図関連抽選処理では、特図変動遊技および可変入賞口５１３０の開閉制御を行っておらず（特図の状態が非作動中）、且つ、保留している特図変動遊技の数が１以上である場合に、大当り判定テーブル、高確率状態移行判定テーブル、タイマ番号決定テーブルなどを使用した各種抽選のうち、最初に大当り判定を行う。具体的には、ステップＳ６２０３で乱数値記憶領域に記憶した特図当選乱数値が、大当り判定テーブルの第１特図始動口用抽選データの数値範囲であるか否かを判定し、特図当選乱数値が第１特図始動口用抽選データの数値範囲である場合には、特図変動遊技の当選と判定してＲＡＭ５３０８に設けた大当りフラグの格納領域に大当りとなることを示す情報を設定する（ここで、大当りの情報をＲＡＭ５３０８に設定することを大当りフラグをオンに設定するという）。一方、特図当選乱数値が第１特図始動口用抽選データの数値範囲以外である場合には、特図変動遊技の外れと判定してＲＡＭ５３０８に設けた大当りフラグの格納領域に外れとなることを示す情報を設定する（ここで、外れの情報をＲＡＭ５３０８に設定することを大当りフラグをオフに設定するという）。なお、保留している特図変動遊技の数は、ＲＡＭ５３０８に設けた特図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している特図変動遊技の数から１を減算した値を、この特図保留数記憶領域に記憶し直すようにしている。また、当り判定に使用した乱数値を消去する。
【１３８７】
大当りフラグにオンを設定した場合には、次に確変移行判定を行う。具体的には、大当り種別用乱数が、移行判定乱数の数値範囲であるか否かを判定し、特図乱数値が抽選データの数値範囲である場合には、ＲＡＭ５３０８に設けた確変（確率変動）フラグの格納領域に、特別大当り遊技を開始することを示す情報を設定する。（ここで、特別大当り遊技開始の情報をＲＡＭ５３０８に設定することを確変フラグをオンに設定するという）。一方、大当り種別用乱数が抽選データの数値範囲以外である場合には、上述の確変フラグの格納領域に、大当り遊技を開始することを示す情報を設定する（ここで、大当り遊技開始の情報をＲＡＭ５３０８に設定することを確変フラグをオフに設定するという）。
【１３８８】
大当り判定の結果に関わらず、次にタイマ番号を決定する処理を行う。具体的には、上述の特図タイマ乱数値生成用の乱数カウンタの値を特図タイマ乱数値として取得する。大当りフラグの値、および取得した特図タイマ乱数値を含むタイマ乱数の数値範囲に対応するタイマ番号を選択し、ＲＡＭ５３０８に設けた所定のタイマ番号格納領域に記憶する。さらに、そのタイマ番号に対応する変動時間を、特図変動表示時間として、上述の特図表示図柄更新タイマに記憶し、コマンド設定送信処理（ステップＳ６２１５）で一般コマンド回転開始設定送信処理を実行させるために上述の送信情報記憶領域に０１Ｈを送信情報（一般情報）として追加記憶してから処理を終了する。
【１３８９】
ステップＳ６２１５では、コマンド設定送信処理を行う。なお、副制御部５４００および払出制御部５５０に送信する出力予定情報（コマンド）は１６ビットで構成しており、ビット１５はストローブ情報（オンの場合、データをセットしていることを示す）、ビット１１〜１４はコマンド種別（００Ｈの場合は基本コマンド、０１Ｈの場合は図柄変動開始コマンド、０４Ｈの場合は図柄変動停止コマンド、０５Ｈの場合は入賞演出開始コマンド、０６Ｈの場合は終了演出開始コマンド、０７Ｈの場合は大当りラウンド数指定コマンド、０ＥＨの場合は復電コマンド、０ＦＨの場合はＲＡＭクリアコマンド、１０Ｈの場合は乱数クロック異常コマンドをそれぞれ示すなど、コマンドの種類を特定可能な情報）、ビット０〜１０はコマンドデータ（コマンド種別に対応する所定の情報）で構成している。
【１３９０】
具体的には、ストローブ情報はコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、大当りフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、大当りフラグの値、確変フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、確変フラグの値などを含み、大当りラウンド数指定コマンドの場合であれば確変フラグの値、大当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第１特図始動口５１２６への入賞の有無、第２特図始動口５１２８への入賞の有無、可変入賞口５１３０への入賞の有無などを含む。
【１３９１】
また、上述の一般コマンド回転開始設定送信処理では、コマンド種別に０１Ｈ、コマンドデータにＲＡＭ５３０８に記憶している大当りフラグの値、確変フラグの値、特図関連抽選処理で選択したタイマ番号、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド回転停止設定送信処理では、コマンド種別に０４Ｈ、コマンドデータにＲＡＭ５３０８に記憶している大当りフラグの値、確変フラグの値などを示す情報を設定する。上述の一般コマンド入賞演出設定送信処理では、コマンド種別に０５Ｈ、コマンドデータにＲＡＭ５３０８に記憶している入賞演出期間中に装飾図柄表示装置５１１０・各種ランプ５４２０・スピーカ５４１６に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド終了演出設定送信処理では、コマンド種別に０６Ｈ、コマンドデータにＲＡＭ５３０８に記憶している演出待機期間中に装飾図柄表示装置５１１０・各種ランプ５４２０・スピーカ５４１６に出力する演出制御情報、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口開放設定送信処理では、コマンド種別に０７Ｈ、コマンドデータにＲＡＭ５３０８に記憶している大当りラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。上述の一般コマンド大入賞口閉鎖設定送信処理では、コマンド種別に０８Ｈ、コマンドデータにＲＡＭ５３０８に記憶している大当りラウンド数、確変フラグの値、保留している特図変動遊技の数などを示す情報を設定する。副制御部５４００では、受信した出力予定情報に含まれるコマンド種別により、主制御部５３００における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。
【１３９２】
ステップＳ６２１６では、外部出力信号設定処理を行う。この外部出力信号設定処理では、ＲＡＭ５３０８に記憶している遊技情報を、情報出力回路５３３４を介してパチンコ機５１００とは別体の情報入力回路５６５２に出力する。
【１３９３】
ステップＳ６２１７では、デバイス監視処理を行う。このデバイス監視処理では、ステップＳ６２０３において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、ガラス枠開放エラーの有無または下皿満タンエラーの有無などを監視し、ガラス枠開放エラーまたは下皿満タンエラーを検出した場合に、副制御部５４００に送信すべき送信情報に、ガラス枠開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド５３３０を駆動して第２特図始動口５１２８や、可変入賞口５１３０の開閉を制御したり、表示回路５３２２、５３２４、５３２８を介して普図表示装置５１１２、特図表示装置５１１４、各種状態表示部５３２６などに出力する表示データを、Ｉ／Ｏ５３１０の出力ポートに設定する。また、払出要求数送信処理（ステップＳ６２１０）で設定した出力予定情報を出力ポート５３１０を介して副制御部５４００に出力する。
【１３９４】
ステップＳ６２１８では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ６２２０に進み、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ６２１９に進む。
【１３９５】
ステップＳ６２１９では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップＳ６２０１で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
【１３９６】
ステップＳ６２２０では、電源管理部５６５０から主制御部５３００に供給している電源の電圧値を監視する電圧監視回路が、所定の値以下である場合に電圧が低下したことを示す電圧低下信号を出力しているか否か、すなわち電源の遮断を検知したか否かを監視し、電源の遮断を検知した場合には、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてＲＡＭ５３０８の所定の領域に退避し、入出力ポートの初期化等の電断処理を行う。また、電源ステータスを「サスペンド」に設定する。
【１３９７】
＜入賞受付処理＞
次に、図１８８を用いて、上述の主制御部タイマ割り込み処理における入賞受付処理について説明する。なお、同図は入賞受付処理の流れを示すフローチャートである。
【１３９８】
ステップＳ６３０１〜ステップＳ６３０３では、前々回第１特図始動口検出信号記憶領域、前回第１特図始動口検出信号記憶領域、および今回第１特図始動口検出信号記領域の各記憶領域に記憶した第１特図始動口球検出センサの検出信号の有無の情報を比較し、第１特図始動口球検出センサにおける過去３回分の検出信号の有無の情報が予め定めた入賞パターン情報と一致するか否かを判定する。そして、第１特図始動口球検出センサにおいて過去３回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報（本実施例では、今回第１特図始動口検出信号がオン、前回第１特図始動口検出信号がオン、前々回第１特図始動口検出信号がオフであることを示す情報）と一致した場合に、第１特図始動口５１２６への入球があったと判定する。例えば、第１特図始動口球検出センサにおいて過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、第１特図始動口５１２６への入球があったと判定し、以降の第１特図始動口５１２６への入球に伴う処理を行うが、過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の第１特図始動口５１２６の入球に伴う処理を行わずに処理を終了する。
【１３９９】
ステップＳ６３０４では、上述の内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップＳ６３０５の処理を実行することなくステップＳ６３０６に進み、乱数用クロックの周波数に異常がない場合には、ステップＳ６３０５に進む。
【１４００】
ステップＳ６３０５では、カウンタ回路（乱数回路）５３１６から乱数を取得する。より具体的には、第１特図始動口５１２６に入賞があり、且つ、保留している特図変動遊技の数が４未満である場合には、第１特図始動口５１２６に対応するカウンタ回路５３１６の乱数値レジスタから取り出した値を特図当選乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから取り出した値を特図乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図乱数値として取得し、ＲＡＭ５３０８に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。
【１４０１】
ステップＳ６３０６〜ステップＳ６３０８では、前々回第２特図始動口検出信号記憶領域、前回第２特図始動口検出信号記憶領域、および今回第２特図始動口検出信号記領域の各記憶領域に記憶した第２特図始動口球検出センサの検出信号の有無の情報を比較し、第２特図始動口球検出センサにおける過去３回分の検出信号の有無の情報が予め定めた入賞パターン情報と一致するか否かを判定する。そして、第２特図始動口球検出センサにおいて過去３回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報（本実施例では、今回第２特図始動口検出信号がオン、前回第２特図始動口検出信号がオン、前々回第２特図始動口検出信号がオフであることを示す情報）と一致した場合に、第２特図始動口５１３０への入球があったと判定する。例えば、第２特図始動口球検出センサにおいて過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、第２特図始動口５１２８への入球があったと判定し、以降の第２特図始動口５１２８への入球に伴う処理を行うが、過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の第２特図始動口５１２８の入球に伴う処理を行わずに処理を終了する。
【１４０２】
ステップＳ６３０９では、上述の内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップＳ６３１０の処理を実行することなくステップＳ６３１１に進み、乱数用クロックの周波数に異常がない場合には、ステップＳ６３１０に進む。
【１４０３】
ステップＳ６３１０では、カウンタ回路（乱数回路）５３１６から乱数を取得する。より具体的には、第２特図始動口５１２８に入賞があり、且つ、保留している特図変動遊技の数が４未満である場合には、第２特図始動口５１２８に対応するカウンタ回路５３１６の乱数値レジスタから取り出した値を特図当選乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図当選乱数値として取得する。また、上述の特図乱数値生成用の乱数カウンタから取り出した値を特図乱数値として取得、または取り出した値に「所定の加工」を行なった値を特図乱数値として取得し、ＲＡＭ５３０８に設けた乱数値記憶領域に特図当選乱数値と共に記憶する。
【１４０４】
ステップＳ６３１１〜ステップＳ６３１３では、前々回普図始動口検出信号記憶領域、前回普図始動口検出信号記憶領域、および今回普図始動口検出信号記領域の各記憶領域に記憶した普図始動口球検出センサの検出信号の有無の情報を比較し、普図始動口球検出センサにおける過去３回分の検出信号の有無の情報が予め定めた入賞パターン情報と一致するか否かを判定する。そして、普図始動口球検出センサにおいて過去３回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報（本実施例では、今回普図始動口検出信号がオン、前回普図始動口検出信号がオン、前々回普図始動口検出信号がオフであることを示す情報）と一致した場合に、普図始動口５１２４を球が通過したと判定する。例えば、普図始動口球検出センサにおいて過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、普図始動口５１２４の球の通過があったと判定し、以降の普図始動口５１２４の球の通過に伴う処理を行うが、過去３回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の普図始動口５１２４の球の通過に伴う処理を行わずに処理を終了する。
【１４０５】
ステップＳ６３１４では、上述の内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップＳ６３１５の処理を実行することなく処理を終了し、乱数用クロックの周波数に異常がない場合には、ステップＳ６３１５に進む。
【１４０６】
ステップＳ６３１５では、カウンタ回路（乱数回路）５３１６から乱数を取得する。より具体的には、普図始動口５１２４に入賞があり、且つ、保留している普図変動遊技の数が２未満である場合には、普図始動口５１２４に対応するカウンタ回路５３１６の乱数値レジスタから値を普図当選乱数値として取得する。また、上述の普図乱数値生成用の乱数カウンタから値を普図乱数値として取得し、ＲＡＭ５３０８に設けた乱数値記憶領域に普図当選乱数値と共に記憶する。
【１４０７】
なお、本実施例においては、ＣＰＵ５３０４は、各種始動口検出信号に入力がオン→オンと、最低で１回の割込み周期分の期間（本実施例では２ｍｓ）を経なければカウンタ回路５３１６の乱数値レジスタの値をラッチしないように構成されている。一方、乱数値レジスタは、各種始動口検出信号が入力された場合のラッチ信号は、乱数用クロックＲＣＫの４周期分のオンレベルの信号を経なければラッチが行われないようになっている。本実施例では乱数用クロックＲＣＫは１０ＭＨｚであるため、最大でも０．４μｓ＋０．１μｓ＝０．５μｓ未満でラッチは完了する。すなわち、上記ステップＳ６３０５などで乱数値レジスタから値を取得する前に各種始動口検出信号によるラッチは確実に終了しているように 
構成されている。
【１４０８】
＜特図状態更新処理＞
次に、図１８９を用いて、上述の主制御部タイマ割り込み処理における特図状態更新処理について説明する。なお、同図は特図状態更新処理の流れを示すフローチャートである。
【１４０９】
ステップＳ６４０１では、内部情報レジスタのクロック信号状態ビットを参照し、乱数用クロックの周波数に異常があるか無いかを判定する。そして、乱数用クロックの周波数に異常がある場合にはステップＳ６４０２〜Ｓ６４０９の処理を実行することなく、ステップＳ６４１０に進み、乱数用クロックの周波数に異常がない場合には、ステップＳ６４０２に進む。
【１４１０】
ステップＳ６４０２では、特図変動中であるか否かを判定し、該当する場合にはステップＳ６４０３に進み、該当しない場合にはステップＳ６４０６に進む。ステップＳ６４０３では、特図表示装置５１１２を構成する７セグメントＬＥＤが、前回は消灯であったか否かを判定し、前回が消灯の場合はステップＳ６４０５に進んで７セグメントＬＥＤを点灯し、前回が点灯の場合はステップＳ６４０４に進んで７セグメントＬＥＤを消灯する。これにより、７セグメントＬＥＤの点灯と消灯を繰り返す点灯・消灯駆動制御を行う。
【１４１１】
ステップＳ６４０６では、特図変動停止であるか否かを判定し、該当する場合にはステップＳ６４０７に進み、該当しない場合は処理を終了する。
【１４１２】
ステップＳ６４０７では、大当りフラグの情報に応じて特図を停止表示する。具体的には、大当りフラグがオンで確変フラグがオフの場合には特図表示装置５１１４に、上述の特図１、大当りフラグがオンで確変フラグがオンの場合には特図表示装置５１１４に、上述の特図２、大当りフラグがオフの場合には、上述の特図３の態様となるように特図表示装置５１１２を構成する７セグメントＬＥＤの点灯・消灯駆動制御を行う。
【１４１３】
ステップ４０８では、停止表示期間を設定する。具体的には、所定の停止表示期間（例えば５００ｍ秒間）、特図の表示を維持するためにＲＡＭ５３０８に設けた特図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により特図の停止表示をおこない、特図変動遊技の結果を遊技者に報知するようにしている。
【１４１４】
ステップＳ６４０９では、停止コマンドの出力設定を行った後、処理を終了する。具体的には、コマンド設定送信処理（上記ステップＳ６２１５）で一般コマンド回転停止設定送信処理を実行させるために上述の送信情報記憶領域に０２Ｈを送信情報（一般情報）として追加記憶する。
【１４１５】
また、図示はしないが、所定の停止表示期間が終了したタイミング（特図停止時間管理用タイマの値が１から０になったタイミング）で開始する特図状態更新処理では、大当りフラグがオンの場合には、所定の入賞演出期間（例えば３秒間）すなわち装飾図柄表示装置５１１０による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにＲＡＭ５３０８に設けた特図待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、所定の入賞演出期間が終了したタイミング（特図待機時間管理用タイマの値が１から０になったタイミング）で開始する特図状態更新処理では、所定の開放期間（例えば２９秒間、または可変入賞口５１３０に所定球数（例えば１０球）の遊技球の入賞を検出するまで）可変入賞口５１３０の扉部材の開閉駆動用のソレノイド５３３０に、扉部材を開放状態に保持する信号を出力するとともに、ＲＡＭ５３０８に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、所定の開放期間が終了したタイミング（扉開放時間管理用タイマの値が１から０になったタイミング）で開始する特図状態更新処理では、所定の閉鎖期間（例えば１．５秒間）可変入賞口５１３０の扉部材の開閉駆動用のソレノイド５３３０に、扉部材を閉鎖状態に保持する信号を出力するとともに、ＲＡＭ５３０８に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、この扉部材の開放・閉鎖制御を所定回数（例えば１５ラウンド）繰り返し、終了したタイミングで開始する特図状態更新処理では、所定の終了演出期間（例えば３秒間）すなわち装飾図柄表示装置５１１０による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにＲＡＭ５３０８に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、所定の終了演出期間が終了したタイミング（演出待機時間管理用タイマの値が１から０になったタイミング）で開始する特図状態更新処理では、特図の状態を非作動中に設定する。
【１４１６】
ステップＳ６４１０では、大当りフラグをオフ（ハズレ）に設定し、ステップＳ６４１１では、特図の変動を停止する。また、次のステップＳ６４１２では、コマンド設定送信処理（上記ステップＳ６２１５）で乱数用クロック異常による停止設定送信処理を実行させるために上述の送信情報記憶領域に１０Ｈを送信情報（一般情報）として追加記憶して処理を終了する。なお、乱数用クロックＲＣＫに異常があった場合は、特図または／および普図の表示を消してもよい。
【１４１７】
＜払出制御部メイン処理＞
次に、図１９０を用いて、払出制御部５５５０が実行する払出制御部メイン処理について説明する。なお、同図は払出制御部メイン処理の流れを示すフローチャートである。
【１４１８】
払出制御部５５５０には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した払出制御部５４００のＣＰＵは、リセット割り込みによりリセットスタートしてＲＯＭに予め記憶している制御プログラムに従って処理を実行する。
【１４１９】
ステップＳ６５０１では、初期設定１を行う。この初期設定１では、ＣＰＵのスタックポインタ（ＳＰ）へのスタック初期値の設定等を行う。
【１４２０】
ステップＳ６５０２では、低電圧信号がオンであるか否か、すなわち、電圧監視回路が、電源管理部５６５０から払出制御部５５５０に供給している電源の電圧値が所定の値（本実施例では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ６５０２の処理を繰り返し実行し、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ６５０３に進む。
【１４２１】
ステップＳ６５０３では、初期設定２を行う。この初期設定２では、後述する払出制御部タイマ割り込み処理を定期毎に実行するための周期を決める数値をカウンタ・タイマに設定する処理、ＲＡＭへの書き込みを許可する設定、Ｉ／Ｏポートの初期設定等を行う。
【１４２２】
ステップＳ６５０４では、電源の遮断前（電断前）の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合（パチンコ機５１００を初期状態にする場合）にはステップＳ６５０６に進み、電断前の状態に復帰する場合にはステップＳ６５０５に進む。
【１４２３】
具体的には、最初に、電源基板に設けた操作部を遊技店の店員などが操作した場合に送信されるＲＡＭクリア信号がオン（操作があったことを示す）であるか否か、すなわちＲＡＭクリアが必要であるか否かを判定し、ＲＡＭクリア信号がオンの場合（ＲＡＭクリアが必要な場合）には、パチンコ機５１００を初期状態にすべくステップＳ６５０６に進む。一方、ＲＡＭクリア信号がオフの場合（ＲＡＭクリアが必要でない場合）は、ＲＡＭに設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、パチンコ機５１００を初期状態にすべくステップＳ６５０６に進み、電源ステータスの情報がサスペンドを示す情報である場合には、ＲＡＭの所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値（例えば０）であるか否か（チェックサムの結果が正常であるか否か）を判定する。そして、チェックサムの結果が０の場合（チェックサムの結果が正常である場合）には電断前の状態に復帰すべくステップＳ６５０５に進み、チェックサムの結果が０以外である場合（チェックサムの結果が異常である場合）には、パチンコ機５１００を初期状態にすべくステップＳ６５０６に進む。同様に電源ステータスの情報が「サスペンド」以外の情報を示している場合にもステップＳ６５０６に進む。
【１４２４】
ステップＳ６５０５では、復電時処理を行う。この復電時処理では、ＲＡＭの記憶領域のうち、復電時にクリアすべき記憶領域（コマンドを格納するためのコマンドバッファ、エラー状態を記憶するためのエラーステータスなどを除く記憶領域）の初期化などを行う。
【１４２５】
ステップＳ６５０６では、初期化処理を行う。この初期化処理では、割り込み禁止の設定、スタックポインタへのスタック初期値の設定、ＲＡＭの所定の領域（例えば、全ての記憶領域）の初期化などを行う。
【１４２６】
ステップＳ６５０７では、初期設定３を行う。この初期設定３では、ＲＡＭに設けたエラーステータス記憶領域に記憶したエラーステータスのうち、不正払出エラーと払出超過エラー以外の情報をクリアしたり、割り込み許可の設定などを行う。
【１４２７】
ステップＳ６５０８では、主制御部５３００から入力したデータの中に未解析データがあるか無いかを判定し、未解析データがある場合にはステップＳ６５０９でコマンド解析処理を行い、未解析データがない場合にはステップＳ６５１０に進む。
【１４２８】
ステップＳ６５１０では、低電圧信号がオフであるか否かを監視し、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ６５０８に戻り、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ６５１１に進む。
【１４２９】
ステップＳ６５１１では、電断時処理を行う。この電断時処理では、ＲＡＭに設けたスタックポインタ退避領域に現在のスタックポインタの値を記憶し、上述の電源ステータス記憶領域にサスペンドを示す情報を設定する。また、ＲＡＭの所定の領域（例えば全ての領域）に記憶している１バイトデータを初期値が０である１バイト構成のレジスタに全て加算し、チェックサム算出用数値記憶領域に記憶している値からその加算した結果を減算した値をチェックサム（電断時チェックサム）として算出し、算出した電断時チェックサムを上述のチェックサム算出用数値記憶領域に記憶し、ＲＡＭへの書き込みを禁止する設定などを行う。
【１４３０】
ステップＳ６５１２では、低電圧信号がオンであるか否かを監視し、低電圧信号がオンの場合（電源の遮断を検知した場合）にはステップＳ６５１２の処理を繰返し実行して低電圧信号がオフになるのを待ち、低電圧信号がオフの場合（電源の遮断を検知していない場合）にはステップＳ６５０１に戻り、払出制御部リセット割り込み処理を最初から開始する。
【１４３１】
＜払出制御部タイマ割り込み処理＞
次に、図１９１（ａ）を用いて、払出制御部５５５０のＣＰＵが実行する払出制御部タイマ割り込み処理について説明する。なお、同図は払出制御部タイマ割り込み処理の流れを示すフローチャートである。
【１４３２】
払出制御部５５５０は、所定の周期（本実施例では１ｍｓに１回）でタイマ割り込みを発生するカウンタ・タイマを備えており、このタイマ割り込みを契機として払出制御部タイマ割り込み処理を所定の周期で開始する。
【１４３３】
ステップＳ６６０１では、タイマ割り込みスタート処理を行う。このタイマ割り込みスタート処理では、ＣＰＵの各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップＳ６６０２では、ポート入力管理処理を行う。このポート入力管理処理では、Ｉ／Ｏポートの値を取得して、各種センサの状態などを検出する。
【１４３４】
ステップＳ６６０３では、タイマ更新管理処理を行う。このタイマ更新管理処理では、払出報知用ＬＥＤの点灯／消灯時間、モータ駆動／非駆動時間などを計時するためのタイマなどを含む各種タイマを更新する。
【１４３５】
ステップＳ６６０４では、エラー管理処理を行う。このエラー管理処理では、主制御部５３００から乱数クロック異常コマンドを受信しているか否かを判定し、該当する場合にはＲＡＭに設けたエラーステータス記憶領域に乱数クロック異常を示す情報を記憶する。また、Ｉ／Ｏポートに入力する皿満杯信号を検出して皿満杯信号がオンであるか否かを判定し、皿満杯信号がオンの場合（下皿５１５０が球で一杯になっている場合）には、ＲＡＭに設けたエラーステータス記憶領域に皿満杯エラーを示す情報を記憶し、皿満杯信号がオフの場合（下皿５１５０に球を貯留する空きができた場合）には、エラーステータス記憶領域に皿満杯エラーの解除を示す情報を記憶する。また、主制御部５３００と払出制御部５５５０との間の通信回線が断線などにより通信可能かどうかを検出し、通信可能な場合には、ＲＡＭに設けたエラーステータス記憶領域に通信可能であることを示す情報を、また通信不可能な場合には通信不可能であることを示す情報を記憶する。また、エラー管理処理では、Ｉ／Ｏポートに入力するエラー解除スイッチ信号を検出してエラー解除信号がオンであるか否かを判定し、エラー解除信号がオンである場合には、エラーステータス記憶領域に記憶している、乱数クロック異常を示す情報、不正払出エラーの情報、または、払出超過エラーの情報を初期化して、これらのエラーを解除する。
【１４３６】
なお、乱数クロック異常を示す情報に関しては、他のエラーと異なりエラー解除スイッチ信号を検出した場合でもエラーが解除されないようにしてもよい。なぜなら、乱数クロック異常の場合は、エラーを復帰した場合に保留された特図の変動を行うとして、その特図抽選にかかる乱数の信頼性が極めて低いため、エラー解除で復帰させて変動後の遊技を行わせたくない場合があるためである。また、「複数の異常状態があり、第１の種類の異常状態は異常解除入力により異常状態を解除可能に設けられ、第２の種類の異常状態は異常解除入力により異常状態を解除不能に設けられ、第２の種類の異常状態は少なくとも乱数クロックの異常状態を含む」ことは、他の制御部やスロットマシンにも適用できる。この場合、「第２の種類の異常状態は、電源断時にもバックアップにより第２の種類の異常状態の記憶が保持されるようにし」てもよく、さらに「第２の種類の異常状態の記憶は、第２の種類の異常状態を含む複数の記憶情報の初期化により記憶を解除できるようにし」てもよく、さらに「複数の記憶情報は、遊技者の利益に関わる情報」を含んでもよく、さらに「遊技者の利益に関わる情報は乱数クロックに基づいて生成される乱数に基づいて抽選により決定される情報」であってもよい。これにより、乱数クロック異常を確実に報知できると共に、乱数クロックに異常があった場合に、乱数クロックにより基づいて抽選された利益を確実にクリアすることができるため、乱数クロック周波数の異常により遊技店が不利益を被ることを防止することができる。
【１４３７】
ステップＳ６６０５では、ＣＲユニット通信管理処理を行う。このＣＲユニット通信管理処理では、上述のエラーステータス記憶領域に乱数クロック異常を示す情報が記憶されているか否かを判定し、乱数クロック異常を示す情報が記憶されている場合には、遊技媒体の貸出を行わないようにする。また、ＣＲユニットに対してカードを返却する信号を出力しないようにする。具体的には、遊技媒体の貸出処理を飛ばしたり、ＣＲユニットの返却処理を飛ばしたりする。一方、乱数クロック異常を示す情報が記憶されていない場合には、インターフェース部５５５６から遊技媒体貸出信号を受信して遊技媒体貸出信号センサ信号がオンであるか否かを判定し、遊技媒体貸出信号がオンの場合（インターフェース部５５５６からの球貸要求を入力した場合）には、ＲＡＭに設けた遊技媒体貸出情報記憶領域に遊技媒体の貸出要求があったことを示す情報を記憶する。
【１４３８】
ステップＳ６６０６では、払出管理処理を行う。この払出管理処理では、上述のエラーステータス記憶領域から、乱数クロック異常を示す情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、センサ回路を介して入力する払出センサの信号（以下、払出センサ信号と称する場合がある）に基づいて払出個数の監視を行う。すなわち、所定のエラー（ここでは、いずれかのエラー）が発生している場合にはモータの駆動、すなわち払出装置からの賞媒体（例えば遊技球）の払出を停止するようにしている。
【１４３９】
また、上述のエラーステータス記憶領域から、乱数クロック異常を示す情報、皿満杯エラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、払出開始監視処理、初期位置検索動作処理、通常払出動作処理、リトライ動作処理、逆回転動作処理のいずれかの処理を行う。
【１４４０】
払出開始監視処理では、貸出要求数、および賞球要求数が０であり、次賞球要求数が０以外の場合は、賞球要求数に次賞球要求数をセットし、次賞球要求数をクリアする。また、スプロケットを駆動するモータの位置が不確定の場合（動作モードが初期位置検索動作モードの場合）には、払出完了数チェックから１を減算して払出完了数チェック記憶領域に記憶し、スプロケットを駆動するモータの位置が確定している場合（動作モードが通常払出動作モードの場合）には、払出完了数チェックとして払出完了数チェック記憶領域に０を設定する。また、賞球要求数を、スプロケットのモータを駆動する量（モータ駆動量）に変換し、これをＲＡＭに設けたモータ駆動量記憶領域に記憶すると共に、ＲＡＭに設けたモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをＩ／Ｏポートを介してモータ制御回路に出力する。これにより、モータ制御回路はスプロケットのモータの励磁位置を所定回変化してスプロケットを正方向に回転駆動する。
【１４４１】
初期位置検索動作処理および通常払出動作処理では、モータの駆動終了後に、払出完了数チェック記憶領域から払出完了チェックを読み出し、払出完了チェックが０の場合には、払出開始監視処理を実行する準備を行い、払出完了チェックが０以外の場合には、エラーステータス記憶領域に払出装置エラーを示す情報を設定すると共に、リトライ動作処理を実行する準備を行う。
【１４４２】
リトライ動作処理では、所定の時間が経過するのを待ち（リトライ動作開始待ちタイマが０になるのを待ち）、リトライ動作開始待ちタイマが０になった場合には、逆回転動作処理を実行する準備を行う。逆回転操作処理では、上述のモータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、逆転を示すモータ駆動制御データをＩ／Ｏポートを介してモータ制御回路に出力する。これにより、モータ制御回路はスプロケットのモータの励磁位置を所定回変化してスプロケットを逆回転駆動する。また、逆回転操作処理では、モータの駆動終了後に払出開始監視処理を実行する準備を行う。
【１４４３】
ステップＳ６６０７では、モータ駆動管理処理を行う。このモータ駆動管理処理では、駆動開始監視処理、加速駆動処理、定速駆動処理、ブレーキ駆動処理、駆動終了処理のいずれかの処理を行う。
【１４４４】
駆動開始監視処理では、上述のエラーステータス記憶領域から、乱数クロック異常を示す情報、皿満杯エラーの情報、不正払出エラーの情報、および払出超過エラーの情報を読み出し、いずれのエラーも発生していない場合に、モータ制御データテーブルを参照してモータ駆動量に対応するモータ駆動制御データを選択し、正転を示すモータ駆動制御データをＩ／Ｏポートを介してモータ制御回路に出力する。これにより、モータ制御回路はスプロケットのモータの励磁位置を所定回変化してスプロケットを正方向に回転駆動する。
【１４４５】
加速駆動処理および定速駆動処理では、スプロケットが初期位置検索動作中、または、逆回転動作中の場合を除き、モータの励磁位置を１６回変化させるごとに払出完了数チェックから１を減算して払出完了数チェック記憶領域に記憶する。また、更新後の払出完了数チェックが−４未満になった場合には、ブレーキ駆動処理を実行する準備を行う。さらに、上述の遊技媒体貸出情報記憶領域から遊技媒体貸出情報を読み出して、遊技媒体の貸出要求があったことを示す情報の有無を判定し、遊技媒体の貸出要求があったことを示す情報がある場合（賞球の払出中にインターフェース部５５５６からの球貸要求を入力した場合）にも、ブレーキ駆動処理を実行する準備を行う。
【１４４６】
ブレーキ駆動処理では、所定の時間が経過するのを待ち（モータ駆動管理タイマが０になるのを待ち）、モータ駆動管理タイマが０になった場合には、駆動終了処理を実行する準備を行い、駆動終了処理では、モータ駆動の後処理を行う。
【１４４７】
ステップＳ６６０８では、ＬＥＤ管理処理を行う。このＬＥＤ管理処理では、エラーステータス記憶領域の乱数クロック異常を示す情報が異常を示している場合には、乱数用クロックの周波数に異常が発生していることを遊技者に報知するためのＬＥＤを点灯させ、エラーステータス記憶領域の乱数クロック異常を示す情報が異常を示していない場合には、そのＬＥＤを消灯させる。また、エラーステータス記憶領域の不正払出エラー情報が不正払出エラーが発生中であることを示している場合には、不正払出エラーが発生していることを遊技者に報知するためのＬＥＤを点灯させるとともに、不正払出エラーが発生していないことを示している場合にはそのＬＥＤを消灯させる。また、エラーステータス記憶領域の払出超過エラー情報が払出超過エラーが発生中であることを示している場合には、払出超過エラーが発生していることを遊技者に報知するためのＬＥＤを点灯させるとともに、払出超過エラーが発生していないことを示している場合にはそのＬＥＤを消灯させる。
【１４４８】
ステップＳ６６０９では、信号出力管理処理を行う。この信号出力管理処理では、ＲＡＭに記憶している遊技情報（例えば払出センサ信号を入力するたびに出力する賞球信号）を、情報出力回路（図示省略）を介してパチンコ機５１００とは別体の情報入力回路（図示省略）に出力する。
【１４４９】
ステップＳ６６１０では、タイマ割り込みエンド処理を行う。このタイマ割り込みエンド処理では、ステップＳ６６０１で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割り込み許可の設定などを行う。
【１４５０】
＜ストローブ割り込み処理＞
次に、図１９１（ｂ）を用いて、払出制御部５５５０のＣＰＵが実行するストローブ割り込み処理について説明する。なお、同図はストローブ割り込み処理の流れを示すフローチャートである。 
【１４５１】
払出制御部５５５０には主制御部５３００が出力するストローブ信号が入力されており、主制御部５３００が払出制御部５５５０に対してコマンドを送信すると、このストローブ信号が払出制御部５５５０に入力され、払出制御部５５５０のＣＰＵにストローブ割り込みが通知される。
【１４５２】
ストローブ割り込みを検出した払出制御部５５５０のＣＰＵは、ストローブ割り込み処理を実行し、ステップＳ６７０１において主制御部５３００から受信したコマンドをＲＡＭの所定記憶領域に記憶する。
【１４５３】
＜副制御部メイン処理＞
次に、図１９２（ａ）を用いて、副制御部５４００のＣＰＵ５４０４が実行する副制御部メイン処理について説明する。なお、同図は副制御部メイン処理の流れを示すフローチャートである。
【１４５４】
副制御部５４００には、電源が投入されるとリセット信号を出力するリセット信号出力回路を設けている。このリセット信号を入力した基本回路５４０２のＣＰＵ５４０４は、リセット割り込みによりリセットスタートしてＲＯＭ４０６に予め記憶した制御プログラムに従って処理を実行し、まず、ステップＳ６８０１で各種の初期設定を行う。この初期設定では、入出力ポートの初期設定や、各種変数の初期化等を行う。ステップＳ６８０２では、コマンド入力処理（詳細は後述）を行う。
【１４５５】
ステップＳ６８０３では、Ｉ／Ｏ５４１０の出力ポートを介して副制御部５５００にコマンドを出力する。ステップＳ６８０４では、後述するタイマ変数記憶領域の値が１０以上であるか否かを判定する。タイマ変数記憶領域の値が１０以上である場合はステップＳ６８０５に進み、タイマ変数記憶領域の値が１０未満である場合にはステップＳ６８０２に進む。ステップＳ６８０５では、タイマ変数記憶領域に０を格納する。
【１４５６】
ステップＳ６８０６では、演出データ更新処理を行う。この演出データ更新処理では、後述するコマンド記憶領域の内容を確認し、主制御部５３００から乱数クロック異常コマンドを受信しているか否かを判断する。そして、乱数クロック異常コマンドを受信している場合には、装飾図柄表示装置５１１０、遮蔽手段５２５０、スピーカ５４１６、各種ランプ５４２０および演出装置５２００の演出用可動体等によって乱数クロックが異常であることを外部に報知するための動作制御データの更新を行う。一方、乱数クロック異常コマンドを受信していない場合には、後述する変動パターン選択処理で記憶する変動番号、仮停止図柄の組合せ、および停止図柄の組合せの種別の更新を行うと共に、装飾図柄の変動表示を開始してからの経過時間に基づいて装飾図柄表示装置５１１０、遮蔽手段５２５０、スピーカ５４１６、各種ランプ５４２０および演出装置５２００の演出用可動体等による演出を制御するための動作制御データの更新を行う。
【１４５７】
ステップＳ６８０６では、決定された演出情報が示している態様で装飾図柄変動表示を行うように次回実行する上記ステップＳ６８０３の処理で副制御部５５００に出力するコマンド（例えば左に装飾７を停止することを指示するコマンドや遮蔽手段５２５０を動作させるコマンド等）をＲＡＭ５４０８に設けた液晶コマンド格納領域に格納する等、後述するステップＳ６８０７、Ｓ６８０８、Ｓ６８０９によるスピーカ５４１６、各種ランプ５４２０、および演出用可動体を制御する準備を行う。また、所定の条件が成立している場合には所定の演出を実行するか否か、例えばチャンスボタンを用いた演出を行うか否か等の抽選を行う。
【１４５８】
ステップＳ６８０７では、音出力処理を行う。この音出力処理では、上記ステップＳ６８０６で取得したスピーカ制御用の情報に含まれるスピーカ５４１６に出力する音声データをＩ／Ｏ５４１０の出力ポートに設定し、スピーカ５４１６の出力制御を音源ＩＣ５４１８に行わせる。例えば、上記ステップＳ６８０６で乱数クロックが異常であることを外部に報知するための動作制御データがセットされている場合には、乱数クロックが異常であることをスピーカ５４１６を用いて音声（例えば、警告音）で報知させる。
【１４５９】
ステップＳ６８０８では、ランプ制御処理を行う。このランプ制御処理では、上記ステップＳ６８０６で取得した各種ランプ制御用の情報に含まれる各種ランプ５４２０に出力するランプの点灯・消灯を示すデータ等をＩ／Ｏ５４１０の出力ポートに設定し、各種ランプ５４２０の点灯や消灯の制御を表示回路５４２２に行わせる。例えば、上記ステップ８０６で乱数クロックが異常であることを外部に報知するための動作制御データがセットされている場合には、乱数クロックが異常であることを各種ランプ５４２０を用いて光（例えば、点滅表示）で報知させる。
【１４６０】
ステップＳ６８０９では、演出用駆動装置制御処理を行う。この演出用駆動装置制御処理では、上記ステップＳ６８０６で取得した演出用可動体の制御用の情報に含まれる動作タイミングを示すデータ等をＩ／Ｏ５４１０の出力ポートに設定し、演出用可動体等を駆動する各種演出用駆動装置５４２４の制御を演出用駆動装置制御回路５４２６に行わせる。例えば、上記ステップＳ６８０６で乱数クロックが異常であることを外部に報知するための動作制御データがセットされている場合には、乱数クロックが異常であることを演出用可動体を用いて動き（例えば、停止）で報知させる。
【１４６１】
副制御部５４００は、後述するストローブ処理、チャンスボタン処理、または副制御部タイマ割り込み処理による中断を除いて、以降、ステップＳ６８０２〜Ｓ６８０９の処理を繰り返し実行する。
【１４６２】
＜コマンド入力処理＞
次に、図１９２（ｂ）を用いて、上記副制御部メイン処理におけるコマンド入力処理について説明する。同図はコマンド入力処理の流れを示すフローチャートである。
【１４６３】
ステップＳ６８１０では、後述するコマンド記憶領域の内容を確認し、未処理のコマンドが残っているか否かを判断する。そして、コマンド記憶領域に未処理のコマンドが残っている場合にはステップＳ６８１２に進み、コマンド記憶領域に未処理のコマンドが残っていない場合には処理を終了して副制御部メイン処理に復帰する。
【１４６４】
図１９２（ｃ）は変動パターン選択処理の流れを示すフローチャートであり、同図（ｄ）は図柄停止処理の流れを示すフローチャートである。ステップＳ６８２１では、コマンド記憶領域に記憶している未処理コマンドのうちの次に処理するべき未処理コマンドの種類に基づいて、図１９２（ｃ）に示す変動パターン選択処理（例えば未処理コマンドが上記図柄変動開始コマンドに基づいて実行する）や、同図（ｄ）に示す図柄停止処理等を行う。未処理コマンドに基づく処理は他にも備えている。例えば、大当り中に可変入賞口５１３０の開放制御を開始するたびに主制御部５３００が出力し、大当り開始後の可変入賞口５１３０の開放回数を示す情報を含むラウンド開始コマンドが未処理コマンドである場合に行うラウンド開始処理等である。その他の処理は、ここでは割愛する。
【１４６５】
変動パターン選択処理のステップＳ６８２１では、未処理コマンドに含まれている上記大当りフラグの値、確変フラグの値、およびタイマ番号を抽出し、ＲＡＭ５４０８のそれぞれの記憶領域に記憶する。また、上述の変動番号選択テーブルや図柄決定テーブルを参照して演出データ（本実施例では変動番号、仮停止図柄・停止図柄の組合せ等）を選択し、これをＲＡＭ５４０８に設けた記憶領域に記憶した後、処理を終了する。
【１４６６】
図柄停止処理のステップＳ６８４１では、上記図柄記憶領域に記憶している停止図柄の組合せを構成する３つの装飾図柄を装飾図柄表示装置５１１０の左、中、右図柄表示領域５１１０ａ〜５１１０ｃの３つの表示領域に表示するように設定して処理を終了する。また、上記ラウンド開始処理では未処理コマンドに含まれている上記大当り開始後の可変入賞口５１３０の開放回数を示す情報を抽出し、ＲＡＭ５４０８の記憶領域に記憶する。
【１４６７】
＜ストローブ割り込み処理＞
次に、図１９２（ｅ）を用いて、副制御部５４００のストローブ割り込み処理について説明する。なお、同図はストローブ割り込み処理の流れを示すフローチャートである。
【１４６８】
このストローブ割り込み処理は、副制御部５４００が、主制御部５３００が出力するストローブ信号を検出した場合に実行する処理である。ストローブ割り込み処理のステップＳ６８６１では、主制御部５３００が出力したコマンドを未処理コマンドとしてＲＡＭ５４０８に設けた上記コマンド記憶領域に記憶する。
【１４６９】
＜チャンスボタン割り込み処理＞
次に、図１９２（ｆ）を用いて、副制御部５４００のチャンスボタン割り込み処理について説明する。なお、同図はチャンスボタン割り込み処理の流れを示すフローチャートである。
【１４７０】
このチャンスボタン割り込み処理は、副制御部５４００がチャンスボタン検出回路５３６４によってチャンスボタン５１４６の操作を検出した場合に実行する処理である。
【１４７１】
チャンスボタン割り込み処理のステップＳ６８８１では、ＲＡＭ５４０８の検知カウンタ記憶領域に記憶している、チャンスボタン５１４６の押下回数を計測するための検知カウンタから値を取得し、取得した値に１を加算してから元の検知カウンタ記憶領域に記憶する。
【１４７２】
＜変数更新割り込み処理＞
次に、図１９２（ｇ）を用いて、副制御部５４００のＣＰＵ５４０４によって実行する変数更新割り込み処理について説明する。なお、同図は変数更新割り込み処理の流れを示すフローチャートである。
【１４７３】
副制御部５４００は、所定の周期（本実施例では２ｍｓに１回）でタイマ割り込みを発生するハードウェアタイマを備えており、このタイマ割り込みを契機として、変数更新割り込み処理を所定の周期で実行する。
【１４７４】
変数更新割り込み処理のステップＳ６９０１では、ＲＡＭ５４０８のタイマ変数記憶領域の値に１を加算して元のタイマ変数記憶領域に記憶する。従って、ステップＳ６３０４において、タイマ変数の値が１０以上と判定されるのは２０ｍｓ毎（２ｍｓ×１０）となる。
【１４７５】
＜基本回路３０２のパッケージ＞
次に、上述の主制御部５３００の基本回路５３０２が搭載されるパッケージについて詳細に説明する。図１９３（ａ）は、基本回路５３０２が搭載されるパッケージ５６８０の外観斜視図であり、同図（ｂ）は、パッケージ５６８０の視認非容易部の近傍を示す側面図である。
【１４７６】
パッケージ５６８０の短手方向両側には、パッケージ５６８０の長手方向に沿って複数の端子５６８２が配置されているが、パッケージ（マイクロコンピュータ）５６８０は、端子５６８２を設けることで該端子５６８２によって、該マイクロコンピュータ５６８０の裏面における第一の領域（例えば、裏面下方の空間）、該裏面に対向する前記基板の表面における第二の領域（例えば、表面上方の空間）および前記裏面と前記表面との間の空間における第三の領域（例えば、ＩＣソケットを介してマイクロコンピュータを基板に実装する場合には、ＩＣソケットの表面や裏面近傍の空間を含む）のうちの少なくとも一つである特定の領域を視認困難にする視認非容易部５６８０ａと、端子５６８２を設けないことによって、視認非容易部５６８０ａよりも特定の領域を視認容易にする視認容易部５６８０ｂと、を有して構成されている。
【１４７７】
このような構成により、視認容易部５６８０ｂを通してパッケージ５６８０の一方側（例えば、表側）から他方側（例えば、裏側）を視認することが可能となるため、例えば、パッケージ５６８０の裏側や、パッケージ５６８０と基板（またはＩＣソケット）の隙間などに不正な回路を後付けするような不正行為を容易に発見することができ、不正行為を未然に防止できる場合がある。
【１４７８】
特に、この例では視認容易部５６８０ｂを短手方向側面に設けているため、長手方向側面に設けた場合に比べ、パッケージ５６８０の裏側の中でも特に視認することが難しく、かつ不正部品などが取付し易い裏側中央近傍を間近で視認することが可能となり、より確実に不正行為を防止できる場合がある。さらに、視認容易部５６８０ｂを長手方向の中央部近傍に設けているため、長手方向の端部近傍に設けた場合に比べ、パッケージ５６８０の裏側の広い範囲をいろいろな角度から視認することが可能で、より確実に不正行為を防止できる場合がある。なお、視認容易部を長手方向側面にも設ければ、視認範囲をさらに広げることができ、より確実に不正行為を防止できる場合がある。
【１４７９】
＜パッケージの変形例＞
次に、パッケージ５７００の変形例について説明する。図１９４（ａ）は、基本回路５３０２が搭載されるパッケージ５７００の平面図であり、同図（ｂ）は、パッケージ５７００の端子と下側基板のみを抜き出して示す外観斜視図である。
【１４８０】
パッケージ５７００は、板状体の上側基板５７０２および下側基板５７０４と、これらの上側基板５７０２および下側基板５７０４の間に挟まれるように配置される基本回路（ＣＰＵコア）５３０２と、この基本回路５３０２の接続端子の各々にボンディングワイヤを介して接続される複数の端子（リードフレーム）５７０６と、を備えており、複数の端子５７０６が短手方向両側に長手方向に沿って配設されたＤＩＰ（Dual Inline Package）である。パッケージ５７００の上側基板５７０２および下側基板５７０４の各々は、透明部材からなる視認容易部５７０２ａ、５７０４ａと、非透明部材からなる視認非容易部５７０２ｂ、５７０４ｂを、長手方向に交互に配置して構成されている。なお、上側基板５７０２における視認容易部５７０２ａと下側基板５７０４における視認容易部５７０４ａは、長手方向の同じ位置に積層され、上側基板５７０２における視認非容易部５７０２ｂと下側基板５７０４における視認非容易部５７０４ｂは、長手方向の同じ位置に積層されている。
【１４８１】
このような構成により、視認容易部５７０２ａ、５７０４ａを通してパッケージ５７００の一方側（例えば、表側）から他方側（例えば、裏側）を視認することが可能となるため、例えば、パッケージ５７００の裏側や、パッケージ５７００と基板（またはＩＣソケット）の隙間などに不正な回路を後付けするような不正行為を容易に発見することができ、不正行為を未然に防止できる場合がある。
【１４８２】
なお、視認容易部５７０２ａ、５７０４ａは、パッケージ５７００の裏側が視認可能な部材で構成されていればよく、例えば、全体が半透明部材で構成されていてもよく、また、少なくとも一部が透明部材や半透明部材で構成され、他の部位が非透明部材で構成されていてもよい。また、視認非容易部５７０２ｂ、５７０４ｂは、パッケージ５７００の裏側が視認不能または視認困難な部材で構成されていればよく、例えば、全体が視認不能または視認困難な半透明部材で構成されていてもよい。また、視認容易部５７０２ａ、５７０４ａと視認非容易部５７０２ｂ、５７０４ｂを、長手方向の同じ位置に交互に配置したが、例えば、視認容易部５７０２ａ、５７０４ａのみでパッケージを形成してもよく、また、視認容易部５７０２ａ、５７０４ａと視認非容易部５７０２ｂ、５７０４ｂを、短手方向に交互に配置してもよい。
【１４８３】
＜パッケージの変形例／変形例１＞
次に、パッケージ５７００の変形例について説明する。図１９５（ａ）は変形例１に係るパッケージ５７１０の下側基板５７１４（５７１４ａ、５７１４ｂ）の一部分を示す外観斜視図である。この変形例１に係るパッケージ５７１０の下側基板５７１４（図示はしないが上側基板も同様の構成である。以降の変形例も同じ）は、透明部材からなる視認容易部５７１４ａと、非透明部材からなる視認非容易部５７１４ｂを長手方向に交互に配置している点はパッケージ５７００と同様であるが、視認容易部５７１４ａにおける端子５７１６の配置態様と、視認非容易部５７１４ｂにおける端子５７１６の配置態様を異ならせている。
【１４８４】
具体的には、視認容易部５７１４ａにおいては、視認容易部５７１４ａの長手方向の長さＬ１に対して１つの端子５７１６を配置し、視認非容易部５７１４ｂにおいては、視認容易部５７１４ａの長手方向の長さＬ１（この例では、視認容易部５７１４ａの長手方向の長さＬ１と同じ長さ）に対して３つの端子５７１６を略等間隔に配置しており、視認非容易部５７１４ｂにおける端子５７１６の数（この例では３つ）よりも、視認容易部５７１４ａにおける端子５７１６の数（この例では１つ）が少なくなるように構成している。
【１４８５】
換言すれば、視認容易部５７１４ａに配置された端子５７１６と、視認非容易部５７１４ｂに配置された端子５７１６のうち、最も視認容易部５７１４ａに近い端子５７１６との間の距離Ｌ２と、視認非容易部５７１４ｂに配置された複数の端子５７１６の間の距離Ｌ３が異なっており、距離Ｌ３よりも距離Ｌ２が長くなるように構成している。
【１４８６】
このような構成により、端子５７１６の数が少ない（視認を妨げる部材が少ない）視認容易部５７１４ａを通してパッケージ５７１０の一方側から他方側を確実に視認できるとともに、端子５７１６の数が多くても視認性に影響を与えない視認非容易部５７１４ｂに多くの端子５７１６を配置することができる場合がある。また、隣接する端子のノイズの影響を受けやすい信号線を、端子密度の低い視認容易部５７１４ａに配置された端子５７１６に優先的に接続すれば、視認性を確保しながらも、同時に、ノイズなどに起因する誤作動を未然に防止できる場合がある。
【１４８７】
＜パッケージの変形例／変形例２＞
図１９５（ｂ）は、変形例２に係るパッケージ５７２０の下側基板５７２４（５７２４ａ、５７２４ｂ）の一部分を示す外観斜視図である。この変形例２に係るパッケージ５７２０の基板は、透明部材からなる視認容易部５７２４ａと、非透明部材からなる視認非容易部５７２４ｂを長手方向に交互に配置している点はパッケージ５７００と同様であるが、視認非容易部５７２４ｂには複数（この例では３つ）の端子５７２６を配置しているのに対して、視認容易部５７２４ａには端子５７２６を１つも配置しないように構成している。
【１４８８】
このような構成により、視認容易部５７２４ａにおける視認性をより一層確保でき、パッケージ５７２０の一方側から他方側を確実に視認できる場合がある。また、隣接する端子のノイズの影響を受けやすい複数の信号線を、視認容易部５７２４ａの一方の側（例えば、同図の右側）の視認非容易部５７２４ｂの端子５７２６と、視認容易部５７２４ａの他方の側（例えば、同図の左側）の視認非容易部５７２４ｂの端子５７２６と、に離間して接続すれば、視認性を確保しながらも、同時に、ノイズなどに起因する誤作動を未然に防止できる場合がある。
【１４８９】
＜パッケージの変形例／変形例３＞ 
図１９５（ｃ）は、変形例３に係るパッケージ５７３０の下側基板５７３２（５７３２ａ、５７３２ｂ）の一部分を示す外観斜視図である。この変形例３に係るパッケージ５７３０の基板は、非透明部材からなる視認非容易部５７３２ｂの一部に、透明部材からなる立方体形状の視認容易部５７３２ａを形成するとともに、視認非容易部５７３２ｂには複数（この例では３つ）の端子５７３６を配置しているが、視認容易部５７３２ａには端子５７３６を１つも配置しないように構成している。
【１４９０】
このような構成により、視認容易部と視認非容易部を長手方向に交互に配置する場合に比べ、パッケージ５７３０の基板のコストを低減することができるとともに、視認容易部５７３２ａを通してパッケージ５７３０の一方側から他方側を視認することができる。
【１４９１】
なお、視認容易部５７３２ａは、パッケージ５７３０の基板の短手方向両側に形成してもよいし、短手方向片側のみに形成してもよいが、両側に形成すれば、視認性をより高めることができる場合がある。また、視認容易部５７３２ａの数は一つでもよいし、複数でもよいが、複数形成すれば、視認性をより高めることができる場合がある。
【１４９２】
＜パッケージの変形例／変形例４＞
図１９５（ｄ）は、変形例４に係るパッケージ５７４０の下側基板５７４２（５７４２ａ、５７４２ｂ）の一部分を示す外観斜視図である。この変形例４に係るパッケージ５７４０の基板は、非透明部材からなる視認非容易部５７４２ｂの一部に、内方に窪んだ矩形状の切欠き部５７４２ｃを形成しており、切欠き部５７４２ｃを形成していない部位には複数（この例では３つ）の端子５７４６を配置しているが、切欠き部５７４２ｃには端子５７４６を１つも配置しないように構成している。
【１４９３】
このような構成により、視認容易部と視認非容易部を別部材で構成する場合に比べ、パッケージ５７４０の基板のコストを低減することができるとともに、切欠き部５７４２ｃを通してパッケージ５７４０の一方側から他方側を視認することができる。
【１４９４】
なお、切欠き部５７４２ｃは、パッケージ５７４０の基板の短手方向両側に形成してもよいし、短手方向片側のみに形成してもよいが、両側に形成すれば、視認性をより高めることができる場合がある。また、切欠き部５７４２ｃの数は一つでもよいし、複数でもよいが、複数形成すれば、視認性をより高めることができる場合がある。
【１４９５】
また、パッケージ５７４０に切欠き部５７４２ｃを形成することによってパッケージ５７４０の強度が低下し、例えば、基板やＩＣソケットなどに実装された状態のパッケージ５７４０を取り外す際にパッケージ５７４０が破損しやすい状態（折れやすい状態）となるが、変形例４に係るパッケージ５７４０では、敢えてパッケージ５７４０の強度を低下させ、取り外しを困難にすることで、パッケージ５７４０が不正に取り外されて細工が施されるような不正行為を未然に防止できるように構成している。
【１４９６】
＜パッケージの変形例／変形例５＞
図１９６（ａ）は、変形例５に係るパッケージ５７５０の外観斜視図である。この変形例５に係るパッケージ５７５０の基板は、全体が非透明部材で構成されている。また、平面視左側の一端部近傍と他端部近傍の各々に、内方に窪んだ矩形状の切欠き部５７５２を形成する一方で、平面視右側の中央近傍に、同形状の切欠き部５７５２を１つ形成し、３つの切欠き部５７５２には端子５７５６を１つも配置しないように構成している。
【１４９７】
このような構成により、視認容易部と視認非容易部を別部材で構成する場合に比べ、パッケージ５７５２の基板のコストを低減することができるとともに、平面視左側に配置する切欠き部５７５２の数および配置場所と、平面視右側に配置する切欠き部５７５２の数および配置場所を異ならせているため、例えば、右側から視認できない場所を左側から視認することができる場合があり、一層、視認性を高めることができる場合がある。
【１４９８】
＜パッケージの変形例／変形例６＞
図１９６（ｂ）は、変形例６に係るパッケージ５７６０の外観斜視図である。この変形例６に係るパッケージ５７６０の基板（上側基板５７６４、下側基板５７６２）は、全体が非透明部材で構成されている。また、パッケージ５７６０の長手方向中央近傍に、内方に窪んだ細径部５７６５を形成しており、上側基板５７６４と下側基板５７６２は、この細径部５７６５に向かって短手方向と厚み方向の外径が徐々に細くなる先細り形状とされている。また、細径部５７６５は、パッケージ５７６０全体の部位の中で最も厚みが薄く幅が狭い部位とされている。
【１４９９】
このような構成により、視認容易部と視認非容易部を別部材で構成する場合に比べ、パッケージ５７６０の基板のコストを低減することができるとともに、細径部５７６５の周囲の空間を通してパッケージ５７６０の一方側から他方側を様々な角度から視認でき、視認性を高めることができる場合がある。
【１５００】
なお、細径部５７６５は、パッケージ５７６０の長手方向中央近傍以外の位置に形成してもよいし、複数形成してもよいが、細径部５７６５を複数形成すれば、視認性をより高めることができる場合がある。
【１５０１】
また、パッケージ５７６０に細径部５７６５を形成することによってパッケージ５７６０の強度が低下し、例えば、基板やＩＣソケットなどに実装された状態のパッケージ５７６０を取り外す際にパッケージ５７６０が破損しやすい状態（折れやすい状態）となるが、変形例６に係るパッケージ５７６０では、敢えてパッケージ５７６０の強度を低下させ、取り外しを困難にすることで、パッケージ５７６０が不正に取り外されて細工が施されるような不正行為を未然に防止できるように構成している。
【１５０２】
＜パッケージの変形例／変形例７＞
図１９６（ｃ）は、変形例７に係るパッケージ５７７０の外観斜視図である。この変形例７に係るパッケージ５７７０の基板（上側基板５７７４、下側基板５７７２）は、全体が非透明部材で構成されている。また、平面視左側および右側の長手方向中央近傍に、上側基板５７７４と下側基板５７７２の間に挟まれて長手方向中央近傍に配置されている基本回路５３０２を跨ぐようにして、内方に窪んだ矩形状の切欠き部５７７５を対向するように形成し、切欠き部５７７５には端子５７７６を１つも配置しないように構成している。
【１５０３】
このような構成により、視認容易部と視認非容易部を別部材で構成する場合に比べ、パッケージ５７７０の基板のコストを低減することができるとともに、平面視左側および右側に配置された複数の切欠き部５７７５を通してパッケージ５７７０の一方側から他方側を様々な角度から視認でき、視認性を高めることができる場合がある。
【１５０４】
また、平面視左側および右側の長手方向の同じ位置に切欠き部５７７５を形成することによってパッケージ５７７０の強度が低下し、基板やＩＣソケットなどに実装された状態のパッケージ５７７０を取り外す際にパッケージ５７７０が破損しやすい状態（折れやすい状態）となるが、変形例７に係るパッケージ５７７０では、敢えてパッケージ５７７０の強度を低下させ、取り外しを困難にすることで、パッケージ５７７０が不正に取り外されて細工が施されるような不正行為を未然に防止できるように構成している。
【１５０５】
＜パッケージの変形例／変形例８＞
図１９６（ｄ）は、変形例８に係るパッケージ５７８０の外観斜視図である。この変形例８に係るパッケージ５７８０の基板の平面視右側の端部には、ラウンド加工されたラウンド部５７８０ａを形成しており、このラウンド部５７８０ａには端子５７８６を配置しない一方で、基板の平面視左側の端部には、ラウンド部５７８０ａに相当するラウンド加工を施さずに端子５７８６を配置するように構成している。すなわち、変形例８に係るパッケージ５７８０では、基板の平面視右側に配置される端子５７８６の数よりも、パッケージ５７８０の基板の平面視左側に配置される端子５７８６の数が多くなるように構成している。
【１５０６】
このような構成により、ラウンド部５７８０ａの有無を手掛かりにパッケージ５７８０の向きを容易に確認することが可能となり、ＩＣソケットへの逆挿しなどを未然に防止することができる上に、ラウンド部５７８０ａによって形成される空間を通してパッケージ５７８０の一方側から他方側を視認できる場合がある。なお、変形例８に係るパッケージ５７８０では、上述の変形例７に係るパッケージ５７７０のように切欠き部５７７５を形成していないが、ラウンド部５７８０ａに加えて（または替えて）、同一形状（または異なる形状）の切欠き部を形成してもよい。すなわち、他の実施例に係るパッケージの構成のうち、一つ、複数、または全ての構成を本実施例に適用してもよい（他の実施例についても同様）。
【１５０７】
＜パッケージのその他の変形例＞
図１９７（ａ）、（ｂ）は、スリット状の切欠き部を形成したパッケージの一例を示した外観斜視図である。同図（ａ）に示すパッケージには、隣接する端子の間にスリット状の切欠き部を複数（この例では、３つ）形成しており、同図（ｂ）に示すパッケージには、隣接する端子の間にスリット状の切欠き部を１つ形成している。このような構成によっても、切欠き部を通してパッケージの下方の空間を視認することができる。
【１５０８】
また、図１９８（ａ）は、円弧状の切欠き部を形成したパッケージの一例を示した外観斜視図である。上述の例では、同図（ｂ）に示すように、パッケージに矩形状の切欠き部を設けたが、この場合、切欠き部の加工が容易となる上に、パッケージの外形は矩形状であることが多いため、切欠き部を設けてもデザイン上で違和感を与えることが少ない。一方、同図（ａ）、（ｃ）に示すような円弧状の切欠き部を設けた場合、デザイン性を高めることができる上に、切欠き部を他の部位に比べて目立たせることができるため、パッケージを検査する際などに注目を集めやすい場合がある。
【１５０９】
また、図１９９（ａ）は、切欠き部の上面に、型番などを表すシールが貼付されたパッケージの一例を示した外観斜視図である。この例では、同図（ｂ）に示すように、パッケージをＩＣソケットや基板などから取り外そうとして切欠き部を中心としてパッケージが折れ曲がった場合などに、同図（ｃ）に示すように、その痕跡がシールに残るように構成しているため、パッケージの取り外しが行われた否かを即座に判定できる場合がある。なお、型番などを切欠き部の上面に直接、印字(印刷）してもよく、この場合、パッケージをＩＣソケットや基板などから取り外そうとして切欠き部を中心としてパッケージが折れ曲がったときに、印字部分の文字の形状が崩れたり、塗装が落ちたりすることにより、不正行為の痕跡を確実に残すことができる場合がある。
【１５１０】
また、図２００（ａ）〜（ｇ）は、パッケージの形状の変形例を示した図であり、同図（ａ）〜（ｅ）は変形例に係るパッケージの平面図、同図（ｆ）〜（ｇ）は変形例に係るパッケージを長手方向から見た側面図である。
【１５１１】
例えば、同図（ａ）に示すように、パッケージの長手方向中央近傍の両側に、内方に窪んだ平面視三角形状の切欠き部を形成してもよいし、同図（ｂ）に示すように、同図（ａ）の切欠き部に加えて、パッケージの底面に内方に窪んだ矩形状の切欠き部を形成してもよい。また、同図（ｃ）に示すように、パッケージの長手方向端部近傍の両側に、内方に窪んだ平面視三角形状の切欠き部を形成してもよいし、同図（ｄ）に示すように、パッケージの長手方向一方側の端部近傍に、内方に窪んだ平面視三角形状の切欠き部を形成する一方で、長手方向他方側の端部近傍に、同形状の切欠き部を形成してもよい。
【１５１２】
また、同図（ｅ）に示すように、パッケージの長手方向一方側の端部近傍に、内方に窪んだ平面視三角形状の切欠き部を長手方向に複数並べて形成する一方で、長手方向他方側の端部近傍に、同形状の切欠き部を長手方向に複数並べて形成してもよい。さらに、同図（ｆ）に示すように、パッケージの厚み方向の片面に、内方に窪んだ切欠き部を形成してもよいし、同図（ｇ）に示すように、パッケージの厚み方向の両面に、内方に窪んだ切欠き部を形成してもよい。
【１５１３】
＜ＩＣソケット＞
次に、上述の変形例４に係るパッケージ５７４０が実装されるＩＣソケットの一例について説明する。図２０１（ａ）は、ＩＣソケット５８５０の外観斜視図であり、同図（ｂ）は、ＩＣソケット５８５０にパッケージ５７４０を実装した状態を示す外観斜視図である。
【１５１４】
ＩＣソケット５８５０は、矩形状の３つの開口部５８５２ａが形成された板状体のベース５８５２と、このベース５８５２の長手方向両側に配置された複数のソケット端子５８５４と、を有して構成されている。ベース５８５２の長手方向両側には、パッケージ５７４０の端子５７４６に相当する位置に、この端子５７４６を挿入・固定するための円筒形状の複数のコネクト部５８５２ｂが形成され、このコネクト部５８５２ｂの各々からは、パッケージ５７４０の実装面とは反対方向に向けて棒状のソケット端子５８５４が突出形成されている。このような構成により、パッケージ５７４０をＩＣソケット５８５０に実装した場合（パッケージ５７４０の端子５７４６を、ＩＣソケット５８５０のコネクト部５８５２ｂに挿入・固定した場合）に、パッケージ５７４０の端子５７４６と、ＩＣソケット５８５０のソケット端子５８５４が電気的に接続される。
【１５１５】
また、ＩＣソケット５８５０の開口部５８５２ａの一つは、パッケージ５７４０の切欠き部５７４２ｃに相当する位置に形成されており、パッケージ５７４０をＩＣソケット５８５０に実装した場合でも、切欠き部５７４２ｃを通してパッケージ５７４０の一方側から他方側（例えば、パッケージ５７４０の正面視上側から下側のみならず、パッケージ５７４０の正面視斜め上側からパッケージ５７４０の下方空間の一部）を視認することができる。
【１５１６】
特に、ＩＣソケット５８５０のソケット端子５８５４は、ＩＣソケット５８５０を基板に実装した場合に、ベース５８５２を基板から所定高さに浮かせて保持するだけの長さを有しているため、ソケット端子５８５４の側方からパッケージ５７４０の下側の空間を視認することができることに加えて、切欠き部５７４２ｃを通した視認性をより高めることができる場合がある。また、パッケージ５７４０をＩＣソケット５８５０に実装した場合に、パッケージ５７４０の端子５７４６が、パッケージ５７４０をＩＣソケット５８５０の実装面から所定高さに浮かせて保持するだけの長さを有していれば、パッケージ５７４０の端子５７４６の側方からパッケージ５７４０の下側の空間を視認することができることに加えて、切欠き部５７４２ｃを通した視認性をより高めることができる場合がある。
【１５１７】
＜パッケージの端子＞
次に、変形例９に係るパッケージ５７９０の主要な端子について説明する。図２０２は、パッケージ５７９０の端子配置例を示す平面図である。なお、詳細は後述するが、同図における○（丸印）は、パッケージ５７９０が実装されるＩＣソケットのソケット端子の位置（または、パッケージ５７９０がＩＣソケットを介さずに基板に実装される場合には、基板のランドの位置）を示している。
【１５１８】
同図に示すように、パッケージ５７９０の平面視左側には、端子番号１〜３５の３５個の端子を上から下に向かって一列に配置し、パッケージ５７９０の平面視右側には、端子番号３６〜７１の３６個の端子を下から上に向かって一列に配置しているパッケージ５７９０の端子番号１〜端子番号１７の領域には、１６本のアドレスバスＡ１５〜Ａ０のうちの８本の上位アドレスバスＡ１５〜Ａ８が配置されている。これらの上位アドレスバスＡ１５〜Ａ８は、それぞれ端子番号１５、１３、１１、９、７、５、３、１に配置されており、端子番号１５から端子番号１にかけて一つ置きに配置されている。また、端子番号１〜端子番号１７の領域には、２つのグランド電位端子ＶＳＳ５、ＶＳＳ１が配置されており、グランド電位端子ＶＳＳ５は端子番号１〜端子番号１７の領域の中央近傍（端子番号１１）に、また、グランド電位端子ＶＳＳ１は端子番号１８に最も近い位置（端子番号１７）に、それぞれ配置されている。
【１５１９】
また、パッケージ５７９０の端子番号５４〜端子番号７１の領域には、１６本のアドレスバスＡ１５〜Ａ０のうちの８本の下位アドレスバスＡ７〜Ａ０が配置されている。これらの上位アドレスバスＡ７〜Ａ０は、それぞれ端子番号５５、５７、５９、６１、６３、６５、６７、６９に配置されており、端子番号５５から端子番号６９にかけて一つ置きに配置されている。また、端子番号５４〜端子番号７１の領域には、２つのグランド電位端子ＶＳＳ４、ＶＳＳ３が配置されており、グランド電位端子ＶＳＳ４は端子番号５３から最も遠い位置（端子番号７１）に、また、グランド電位端子ＶＳＳ３は端子番号５３に最も近い位置（端子番号５４）に、それぞれ配置されている。
【１５２０】
また、パッケージ５７９０の端子番号１８〜端子番号３５の領域には、正電源端子ＶＤＤ１と、内蔵ＲＡＭのバックアップ用電源端子ＶＢＢと、グランド電位端子ＶＳＳ２が配置されており、正電源端子ＶＤＤ１は端子番号１７から２番目に近い位置（端子番号１９）に、また、バックアップ用電源端子ＶＢＢ１はＶＤＤ１の隣、すなわち端子番号１７から３番目に近い位置（端子番号２０）に、また、グランド電位端子ＶＳＳ２は端子番号１７から最も遠い位置（端子番号３５）に、それぞれ配置されている。さらに、パッケージ５７９０の端子番号１７に最も近い位置（端子番号１８）には、クロック入力端子ＥＸが配置されている。
【１５２１】
また、パッケージ５７９０の端子番号３６〜端子番号５３の領域には、正電源端子ＶＤＤ２５、ＶＤＤ２と、グランド電位端子ＶＳＳ６が配置されており、正電源端子ＶＤＤ２５は端子番号５４に最も近い位置（端子番号５３）に、また、正電源端子ＶＤＤ２はＶＤＤ２５の隣、すなわち端子番号５４に２番目に近い位置（端子番号５２）に、また、グランド電位端子ＶＳＳ６は端子番号３６〜端子番号５３の領域の中央近傍（端子番号４４）に、それぞれ配置されている。さらに、パッケージ５７９０の端子番号５４から遠い端子番号３６から端子番号４３には、８本のデータ入出力バスＤ７〜Ｄ０が配置されている。
【１５２２】
＜ＩＣソケットの変形例／変形例１＞
次に、ＩＣソケットの変形例について説明する。図２０３（ａ）は変形例１に係るＩＣソケット５８６０の外観斜視図であり、同図（ｂ）は、ＩＣソケット５８６０にパッケージ５７４０を実装した状態を示す外観斜視図である。
【１５２３】
変形例１に係るソケット５８６０は、上述のソケット５８５０が有する開口部５８５２ａを備えていない点が異なっている。このような開口部５８５２ａを備えないソケット５８６０にパッケージ５７４０を実装した場合でも、パッケージ５７４０が切欠き部５７４２ｃを備えているため、切欠き部５７４２ｃを通してパッケージ５７４０の一方側から他方側を視認することができる。
【１５２４】
特に、パッケージ５７４０の端子５７４６が、パッケージ５７４０をＩＣソケット５８６０に実装した場合に、パッケージ５７４０をＩＣソケット５８６０から所定高さに浮かせて保持するだけの長さを有していれば、パッケージ５７４０の端子５７４６の側方からパッケージ５７４０の下側空間を視認することができることに加えて、切欠き部５７４２ｃを通した視認性をより高めることができる場合がある。一方、パッケージ５７４０とＩＣソケット５８６０との間に形成される空間は、電子部品が配置できるほどの高さを有していないため、視認性を確保しながらも、同時に、不正な電子部品の取り付けなどを難しくしている。
【１５２５】
＜ＩＣソケットの変形例／変形例２＞
次に、ＩＣソケットの変形例について説明する。図２０４（ａ）は変形例２に係るＩＣソケット５８７０の外観斜視図であり、同図（ｂ）は、ＩＣソケット５８７０のソケット端子が実装される基板の平面図である。
【１５２６】
変形例２に係るＩＣソケット５８７０は、ベース５８７２に対するソケット端子５８７４の配置態様が上述のＩＣソケット５８５０、５８６０と異なっている。具体的には、ＩＣソケット５８７０では、パッケージの端子が挿入されるコネクト部５８７２ｂが長手方向全域に亘って略等間隔に直線状に配置されているのに対して、各々のコネクト部５８７２ｂから突出形成されるソケット端子５８７４が長手方向全域に亘って千鳥状に配置されている。また、同図（ｂ）に示すように、ＩＣソケット５８７０が実装される基板５８７８には、ＩＣソケット５８７０のソケット端子５８７４の配置態様に合わせてランド５８７８ａが千鳥状に配置・形成されている。
【１５２７】
＜コネクト部とソケット端子＞
図２０５（ａ）は、図２０４（ａ）におけるＡ−Ａ線に沿った断面を模式的に示した図であり、図２０５（ｂ）は、図２０４（ａ）におけるＢ−Ｂ線に沿った断面を模式的に示した図である。図２０５（ａ）に示すように、複数のソケット端子５８７４のうち、ＩＣソケット５８７０の短手方向内側に突出するソケット端子５８７４は、コネクト部５８７２ｂの軸心Ｌａから短手方向内側方向に所定距離Ｌ８だけ離れた位置にある軸心Ｌｂを有し、ＩＣソケット５８７０の短手方向外側端面から所定距離Ｌ９だけ離れた位置に配置されている。一方、図２０５（ｂ）に示すように、複数のソケット端子５８７４のうち、ＩＣソケット５８７０の短手方向外側に突出するソケット端子５８７４は、コネクト部５８７２ｂの軸心Ｌａから短手方向外側方向に所定距離Ｌ８だけ離れた位置にある軸心Ｌｃを有し、ＩＣソケット５８７０の短手方向外側端面から所定距離Ｌ１０（Ｌ１０＜Ｌ９）だけ離れた位置に配置されている。
【１５２８】
また、この例では、コネクト部５８７２ｂの長さとソケット端子５８７４の長さは、ＩＣソケット５８７０全体で同一長さとされている。すなわち、ＩＣソケット５８７０を基板に実装し、ＩＣソケット５８７０にパッケージを実装した場合に、パッケージの端子とコネクタ部５８７２ｂとの接点と、ソケット端子５８７４と基板の接点の２つの接点間の距離は、ＩＣソケット５８７０全体でほぼ同一長さになるように構成されている。
【１５２９】
＜コネクト部とソケット端子の変形例／変形例１＞
図２０６（ａ）、（ｂ）は、変形例１に係るコネクト部とソケット端子の断面を模式的に示した図であり、それぞれ図２０５（ａ）、（ｂ）に相当する図である。変形例１に係るコネクト部には、図２０６（ａ）に示す第１コネクト部５８８０と、同図（ｂ）に示す第２コネクト部５８８２の２種類があり、互いに形状が異なっている。なお、図示は省略するが、この例では、パッケージの端子が挿入される第１コネクト部５８８０、第２コネクト部５８８２がＩＣソケットの長手方向全域に亘って略等間隔に直線状に配置されているのに対して、第１コネクト部５８８０、第２コネクト部５８８２から突出形成されるソケット端子５８８４がＩＣソケットの長手方向全域に亘って千鳥状に配置されている。
【１５３０】
第１コネクト部５８８０は、軸心Ｌｄに沿ってＩＣソケットの表面から裏面まで真っ直ぐに延びる直線形状からなる。また、第２コネクト部５８８２は、軸心Ｌｄに沿ってＩＣソケットの表面から裏面に向かって真っ直ぐに延びる第１直線部と、この第１直線部を基端として裏面に向かって斜めに延びる屈曲部と、この屈曲部を基端として軸心Ｌｄとは異なる軸心Ｌｅに沿ってＩＣソケットの裏面まで真っ直ぐに延びる第２直線部と、によって構成されている。一方、ソケット端子５８８４の長さは全て同一長さとされており、第１コネクタ部５８８０に接続されるソケット端子５８８４は、第１コネクタ部５８８０と同じ軸心Ｌｄ上に第１コネクタ部５８８０を基端として延出形成され、第２コネクタ部５８８２に接続されるソケット端子５８８４は、第２コネクタ部５８８２の第２直線部と同じ軸心Ｌｅ上に第２コネクタ部５８８２の第２直線部を基端として延出形成されている。
【１５３１】
したがって、この例では、第１コネクト部５８８０の長さＬ１１とソケット端子５８８４の長さの合計は、第２コネクト部５８８２の長さＬ１２（Ｌ１２＞Ｌ１１）とソケット端子５８８４の長さの合計よりも短くなっている。すなわち、このような構成を備えるＩＣソケットを基板に実装し、ＩＣソケットにパッケージを実装した場合に、パッケージの端子と第１コネクタ部５８８０との接点と、ソケット端子５８８４と基板の接点の２つの接点間の距離は、パッケージの端子と第２コネクタ部５８８２との接点と、ソケット端子５８８４と基板の接点の２つの接点間の距離よりも短くなるように構成されている。
【１５３２】
＜コネクト部とソケット端子の変形例／変形例２＞
図２０７（ａ）〜（ｄ）は、変形例２に係るコネクト部とソケット端子の断面を模式的に示した図である。同図（ａ）、（ｂ）に示す第１コネクト部５８９２、第２コネクト部５８９３は、ＩＣソケットの表面から裏面に向かって真っ直ぐに延びる直線部と、この直線部を基端として裏面まで斜めに延びる屈曲部と、によって構成されており、同図（ａ）に示す第１コネクト部５８９２と同図（ｂ）に示す第２コネクト部５８９３で屈曲部の屈曲方向を反対にしている。なお、図示は省略するが、この例では、パッケージの端子が挿入される第１コネクト部５８９２、第２コネクト部５８９３の各々の直線部が、ＩＣソケットの長手方向全域に亘って略等間隔に直線状に配置されているのに対して、第１コネクト部５８９２、第２コネクト部５８９３の各々の屈曲部を基端として突出形成されるソケット端子５８９４が、ＩＣソケットの長手方向全域に亘って千鳥状に配置されている。
【１５３３】
一方、同図（ｃ）、（ｄ）に示すコネクト部５８９５は、ＩＣソケットの表面から裏面まで真っ直ぐに延びる直線形状からなる。また、第１ソケット端子５８９６と第２ソケット端子５８９７は、コネクト部５８９５を基端として斜めに延びる屈曲部と、この屈曲部を基端としてＩＣソケットの厚み方向に真っ直ぐに延びる直線部と、によって構成されており、同図（ｃ）に示す第１ソケット端子５８９６と同図（ｄ）に示す第２ソケット端子５８９７で屈曲部の屈曲方向を反対にしている。なお、図示は省略するが、この例では、パッケージの端子が挿入されるコネクト部５８９５が、ＩＣソケットの長手方向全域に亘って略等間隔に直線状に配置されているのに対して、第１ソケット端子５８９６と第２ソケット端子５８９７が、ＩＣソケットの長手方向全域に亘って千鳥状に配置されている。
【１５３４】
＜ＩＣソケットの変形例／変形例３＞
図２０８（ａ）は変形例３に係るＩＣソケット５９００の外観斜視図である。上述のＩＣソケット５８５０では、実装されるパッケージ５７４０の切欠き部５７４２ｃに相当する位置に開口部を形成したが、この例のように、実装されるパッケージ５７４０の切欠き部５７４２ｃに相当する位置に、ＩＣソケット５９００の両側をつなぐ補強部材５９００ａを設けてもよい。また、上述のＩＣソケット５８５０では、パッケージ５７４０の切欠き部５７４２ｃに相当する位置に、コネクト部やソケット端子を配置しないように構成したが、この例のように、パッケージ５７４０の切欠き部５７４２ｃに相当する位置に、コネクト部５９００ｂやソケット端子５９００ｃを配置してもよい。このような構成とすれば、パッケージの一方側から他方側の視認性を確保しつつ、ＩＣソケットの強度を高めたり、ソケット端子の本数を増やしたりすることができる場合がある。また、コネクト部５９００ｂやソケット端子５９００ｃを配置することによって、パッケージ５７４０とＩＣソケット５９００との間に電子部品などを挿入して取り付けることが困難となるため、不正行為を未然に防止できる場合がある。
【１５３５】
＜ＩＣソケットの変形例／変形例４＞
図２０８（ｂ）は変形例４に係るＩＣソケット５９１０の外観斜視図である。この例のように、実装されるパッケージ５７４０の切欠き部５７４２ｃに相当する位置に、切欠き部５７４２ｃの形状や大きさに合わせた凹部５９１０ａを形成してもよい。このような構成とすれば、パッケージの切欠き部だけでなくＩＣソケット５９１０の凹部５９１０ａを通してパッケージの一方側から他方側を視認でき、視認性を高めることができる場合がある。
【１５３６】
＜ＩＣソケットの変形例／変形例５＞
図２０８（ｃ）は変形例５に係るＩＣソケット５９２０の外観斜視図である。この例のように、パッケージ５７４０の切欠き部５７４２ｃに相当する位置に、切欠き部５７４２ｃの形状や大きさに合わせた（例えば、切欠き部５７４２ｃに嵌合する形状で透明部材からなる）凸部５９２０ａを形成してもよい。このような構成とすれば、凸部５９２０ａによってパッケージとの間に隙間を作らないようにすることで、パッケージの裏に不正器具などが設置されることを未然に防止できる場合があり、特に、凸部５９２０ａを透明部材や半透明部材で構成すれば、凸部５９２０ａを通してパッケージの一方側から他方側を視認でき、不正器具などが設置されたことを容易に発見できる場合がある。なお、ＩＣパッケージの形状は、同図（ａ）〜（ｃ）に示すように、パッケージの形状に合わせた形状に限定されず、例えば、ＩＣパッケージが実装される基板の形状に合わせた形状（例えば、基板が凸部を備える場合に、この凸部と相補的形状を有する凹部を備えるＩＣソケットなど）としてもよい。
【１５３７】
また、図２０９（ａ）、（ｂ）は、ＩＣソケットを基板に実装した例を示した外観斜視図である。同図（ａ）に示す例では、ＩＣソケット５９３０の厚みを、基板５９３２に実装されている、その他の電子部品の厚みよりも薄くしている。このような構成とすれば、ＩＣソケット５９３０にパッケージを実装した場合でも、他の電子部品によってパッケージを見ずらくし、パッケージの存在を分かりにくくすることができるため、パッケージに対する不正行為を防止できる場合がある。また、上述の視認容易部や切欠き部が配置される、ＩＣソケットの短手方向には、電子部品を配置しないように構成しているため、視認容易部や切欠き部を介して、ＩＣソケットに実装されたパッケージの裏側などを確実に視認できる場合がある。
【１５３８】
また、同図（ｂ）に示す例では、ＩＣソケット５９４０の厚みを、ＩＣソケット５９４０の長手方向一方側の基板５９４２上に実装されている複数の電子部品５９４４の厚みよりも厚くしている。このような構成とすれば、ＩＣソケット５９４０の長手方向一方側からＩＣソケット５９４０を観察した場合に、ＩＣソケット５９４０の存在が確認し易くなるため、パッケージの実装や取り外しが容易となり、作業性を高めることができる場合がある。また、同図（ａ）の例に比べて、パッケージの熱を基板５９４２外部に逃がしやすくなるため、熱に起因する不具合を未然に防止できる場合がある。なお、この例では、電子部品５９４４の配置場所をＩＣソケット５９４０の長手方向一方側としたが、長手方向両側でもよいし、長手方向以外の方向でもよい。
【１５３９】
また、ＩＣソケット５９４０の長手方向のうち、ＩＣソケット５９４０の延長上には、電子部品を配置しないことが好ましい。このような構成とすれば、ＩＣソケットの長手方向から、ＩＣソケットに実装されたパッケージの裏側などを視認できる場合がある。
【１５４０】
また、同図（ｃ）に示すように、基板５９５０の表面を覆う透明部材からなる上ケース５９５３と、基板５９５０の裏面を覆う下ケース５９５４を備える場合、上ケース５９５３における、基板５９５０に実装されたＩＣソケット５９５１やパッケージ５９５２が配置される位置に、ＩＣソケット５９５１やパッケージ５９５２に向かって凹んだ凹部５９５３ａを形成してもよい。このような構成とすれば、上ケース５９５３によって基板５９５０が保護されているような場合でも、ＩＣソケット５９５１やパッケージ５９５２の裏側を確実に視認できる場合がある。
【１５４１】
＜配線パターン＞
次に、上述のＩＣソケットが実装される基板の配線パターンについて説明する。図２１０（ａ）は、ＩＣソケットが実装されるランドと、これらのランドと乱数用水晶発振器５３１４ａおよびシステム用水晶発振器５３１４ｂを接続する信号線の一例を示した図であり、同図（ｂ）は、ランド近傍の部分拡大図である。また、図２１１は、ＩＣソケットの外縁を説明するための図である。
【１５４２】
この例では、基板１００２上に、ＩＣソケットが実装される（ＩＣソケットのソケット端子が接続される）複数のランド６００４ａ、６００４ｂ（一部のみ図示）が形成されているとともに、ＩＣソケットの実装部から所定の距離を置いて、乱数用水晶発振器５３１４ａとシステム用水晶発振器５３１４ｂが実装されている。ランド６００４ａ、６００４ｂは、基板６００２に実装されるＩＣソケットのソケット端子に対応して配置されており、この例では、ＩＣソケットが基板６００２に実装された場合のＩＣソケットの外縁を表す外縁ラインＯＬから所定距離Ｌ２１だけ離れた位置を中心とする円形状の外側ランド６００４ａと、外縁ラインＯＬから所定距離Ｌ２２（Ｌ２２＞Ｌ２１）だけ離れた位置を中心とする円形状の内側ランド６００４ｂの２種類がある。
【１５４３】
ここで、「ＩＣソケットの外縁」とは、図２１１に示すように、基板６００２に実装された状態におけるＩＣソケット６００１の短手方向外側の面６００１ａを含む仮想平面ＶＰをいい、この仮想平面ＶＰと基板６００２の表面とが交わって形成される線が、上述の外縁ラインＯＬである。
【１５４４】
システム用水晶発振器５３１４ｂは、第１信号線６００６を介して外側ランド６００４ａに接続され、乱数用水晶発振器５３１４ａは、第２信号線６００８を介して内側ランド６００４ｂに接続されている。第１信号線６００６の長さは、システム用水晶発振器５３１４ｂの外部クロックＥＸ端子から外縁ラインＯＬまでの距離Ｌ２０と、外縁ラインＯＬから外側ランド６００４ａ（この例では、ＩＣソケットのコネクト部を介してパッケージのＥＸ端子に接続されるランド）の中心までの距離Ｌ２１を足した数値となり、第２信号線６００８の長さは、乱数用水晶発振器５３１４ａの乱数用クロックＲＣＫ端子から外縁ラインＯＬまでの距離Ｌ２０と、外縁ラインＯＬから内側ランド６００４ｂ（この例では、ＩＣソケットのコネクト部を介してパッケージのＲＣＫ端子に接続されるランド）の中心までの距離Ｌ２２を足した数値となる。すなわち、この例では、第１信号線６００６の長さ（Ｌ２０＋Ｌ２１）よりも、第２信号線６００８の長さ（Ｌ２０＋Ｌ２２）を長くしている。さらに、この例では、外側ランド６００４ａからパッケージのＥＸ端子までの距離よりも、内側ランド６００４ｂからパッケージのＲＣＫ端子までの距離が近くなるように、すなわち、内側ランド６００４ｂからパッケージのＲＣＫ端子を通って入力する乱数用クロックＲＣＫの信号が、パッケージから発生するノイズなどの影響を受けやすいように設定している。
【１５４５】
また、図２１２は、基板６００２を側方から見た側面図である。第１信号線６００６は、平板状の基板表面に沿ってシステム用水晶発振器５３１４ｂとＩＣソケットを高低差なく真っ直ぐに接続しており、第２信号線６００８は、平板状の基板表面に沿って乱数用水晶発振器５３１４ａとＩＣソケットを高低差無く真っ直ぐに接続している。
【１５４６】
このような構成により、システム用水晶発振器５３１４ｂをパッケージ（基本回路５３０２）の近傍に配置することができ、且つ、パッケージとシステム用水晶発振器５３１４ｂを結ぶ第１信号線６００６の長さを短くすることができるため、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。
【１５４７】
また、クロック信号の供給源と供給先を結ぶ信号線の長さは、クロック信号に外乱が加わらないようになるべく短く設定するのが一般的であるが、基本回路５３０２と乱数用水晶発振器５３１４ａを結ぶ第２信号線６００８の長さを敢えて長めに設定し、第２信号線６００８を通る乱数用クロックＲＣＫの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックＲＣＫの信号に基づいてカウント値のカウントを行う乱数回路５３１６のカウント値の更新タイミングにバラツキを与え、乱数回路５３１６が生成する乱数値のランダム性をさらに高めることができる。
【１５４８】
特に、第１信号線６００６のうち、ＩＣソケットによって隠れない部位（システム用水晶発振器５３１４ｂの外部クロックＥＸ端子から外縁ラインＯＬまでの信号線）と、第２信号線６００８のうち、ＩＣソケットによって隠れない部位（乱数用水晶発振器５３１４ａの乱数用クロックＲＣＫ端子から外縁ラインＯＬまでの信号線）は同じ長さに設定されているため、一見しただけでは第２信号線６００８の長さが長めに設定されていることを把握することができない。このため、不正行為者が不正行為を行う可能性が高まるおそれがあるが、乱数用クロックＲＣＫの信号の異常を検出することができるため、不正行為を確実に発見できる。
【１５４９】
＜配線パターンの変形例／変形例１＞
図２１３は、変形例１に係る配線パターンを示した図である。この例では、基板６０１２上に、ＩＣソケットが実装される外側ランド６０１４ａ、内側ランド６０１４ｂ（一部のみ図示）が形成されているとともに、（乱数用水晶発振器５３１４ａを兼ねる）システム用水晶発振器５３１４ｂが実装されている。
【１５５０】
システム用水晶発振器５３１４ｂは、第１信号線６０１６を介して外側ランド６０１４ａに接続されるとともに、第２信号線６０１８を介して内側ランド６０１４ｂに接続される。第１信号線６０１６の長さは、システム用水晶発振器５３１４ｂの外部クロックＥＸ端子から外縁ラインＯＬまでの距離Ｌ３０と、外縁ラインＯＬから外側ランド６０１４ａ（この例では、ＩＣソケットのコネクト部を介してパッケージのＲＣＫ端子に接続されるランド）の中心までの距離Ｌ３１を足した数値となり、第２信号線６０１８の長さは、システム用水晶発振器５３１４ｂの外部クロックＥＸ端子から外縁ラインＯＬまでの距離Ｌ３２（Ｌ３２＞Ｌ３０）と、外縁ラインＯＬから内側ランド６０１４ｂ（この例では、ＩＣソケットのコネクト部を介してパッケージのＲＣＫ端子に接続されるランド）の中心までの距離Ｌ３３（Ｌ３３＞Ｌ３１）を足した数値となる。すなわち、この例では、第１信号線６０１６の長さ（Ｌ３０＋Ｌ３１）よりも、第２信号線６０１８の長さ（Ｌ３２＋Ｌ３３）を長くしている。
【１５５１】
このような構成により、システム用水晶発振器５３１４ｂをパッケージ（基本回路５３０２）の近傍に配置することができ、且つ、パッケージとシステム用水晶発振器５３１４ｂを結ぶ第１信号線６０１６の長さを短くすることができるため、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。 
【１５５２】
また、クロック信号の供給源と供給先を結ぶ信号線の長さは、クロック信号に外乱が加わらないようになるべく短く設定するのが一般的であるが、第２信号線６０１８の長さを敢えて長めに設定し、第２信号線６０１８を通る乱数用クロックＲＣＫの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックＲＣＫの信号に基づいてカウント値のカウントを行う乱数回路５３１６のカウント値の更新タイミングにバラツキを与え、乱数回路５３１６が生成する乱数値のランダム性をさらに高めることができる。
【１５５３】
また、第１信号線６０１６と第２信号線６０１８の一部を共有化することによって、配線パターンを簡素化できる場合がある。
【１５５４】
＜配線パターンの変形例／変形例２、３＞
図２１４（ａ）は、変形例２に係る配線パターンを示した図である。この例は、上記図２１０（ａ）に示した配線パターンと略同一であるが、システム用水晶発振器５３１４ｂが接続される外側ランド６００４ａと、乱数用水晶発振器５３１４ａが接続される内側ランド６００４ｂとの間に、２つの外側ランド６００４ａを配置している。そして、一方の外側ランド６００４ａをパッケージの第１の電源端子（例えば、上述の正電源端子ＶＤＤ１）に接続し、他方の外側ランド６００４ａをパッケージの第２の電源端子（例えば、上述のバックアップ用電源端子ＶＢＢ）に接続する点が異なっている。
【１５５５】
一方、同図（ｂ）は、変形例３に係る配線パターンを示した図である。この例は、同図（ａ）に示した配線パターンと類似しているが、パッケージの第１の電源端子に接続された外側ランド６００４ａからの電源線６０３３を、スルーホールを介して基板６０３２の裏面に配線し、パッケージの第２の電源端子に接続された外側ランド６００４ａからの電源線６０３４を、基板６０３２の表面に乱数値水晶発振器５３１４ａの近傍を通して配線している。
【１５５６】
このような構成により、第１信号線６００６を通る外部クロックＥＸの信号が電源線による影響を受けにくくすることができ、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。
【１５５７】
また、第２信号線６００８の近傍に電源線６０３４を配線して第２信号線６００８を通る乱数用クロックＲＣＫの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックＲＣＫの信号に基づいてカウント値のカウントを行う乱数回路５３１６のカウント値の更新タイミングにバラツキを与え、乱数回路５３１６が生成する乱数値のランダム性をさらに高めることができる。
【１５５８】
＜配線パターンの変形例／変形例４＞
図２１５は、変形例４に係る配線パターンを示した図である。この例では、システム用水晶発振器５３１４ｂが接続されるランド６０４４ｂの上側に配置されたランド６０４４ａが、パッケージのグランド端子（例えば、上述のグランド電位端子ＶＳＳ１）に接続されているとともに、システム用水晶発振器５３１４ｂが接続されるランド６０４４ｂの下側に配置されたランド６０４４ｃが、パッケージの第１の電源端子（例えば、上述の正電源端子ＶＤＤ１）に接続されている。また、乱数用水晶発振器５３１４ａが接続されるランド６０４４ｅの上側に配置されたランド６０４４ｄが、パッケージの第２の電源端子（例えば、上述のバックアップ用電源端子ＶＢＢ）に接続されているとともに、乱数用水晶発振器５３１４ａが接続されるランド６０４４ｅの下側に配置されたランド６０４４ｆが、パッケージの制御信号線（例えば、チップセレクト端子）に接続されている。 
【１５５９】
このように、第１信号線６００６の近傍に信号の変化が少ない線（電源線、グランド線）を配置することで、第１信号線６００６を通る外部クロックＥＸの信号が影響を受けにくくすることができ、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。
【１５６０】
また、第２信号線６００８の近傍に信号の変化が多い線（制御信号線）を配置することで、第２信号線６００８を通る乱数用クロックＲＣＫの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックＲＣＫの信号に基づいてカウント値のカウントを行う乱数回路５３１６のカウント値の更新タイミングにバラツキを与え、乱数回路５３１６が生成する乱数値のランダム性をさらに高めることができる。
【１５６１】
＜配線パターンの変形例／変形例５＞
図２１６（ａ）は、変形例５に係る配線パターンを示した図である。この例では、基板上の外縁ラインＯＬから所定距離Ｌ４１だけ離れた位置に、３つのランド６０４０ａ、６０４０ｂ、６０４０ｃが配置され、ランド６０４０ａがグランド線６０４２に接続され、ランド６０４０ｂがシステム用水晶発振器のシステムクロック線６０４４に接続され、ランド６０４０ｃが電源線６０４６に接続されている。また、グランド線６０４２が接続されたランド６０４０ａの外縁と、システムクロック線６０４４が接続されたランド６０４０ｂの外縁との間の距離Ｗ１と、システムクロック線６０４４が接続されたランド６０４０ｂの外縁と、電源線６０４６が接続されたランド６０４０ｃの外縁との間の距離Ｗ１が同一距離とされている。
【１５６２】
これに対して、同図（ｂ）に示す例では、基板上の外縁ラインＯＬから所定距離Ｌ４１だけ離れた位置に、グランド線６０４２が接続されたランド６０４０ａと、電源線６０４６が接続されたランド６０４０ｃが配置され、基板上の外縁ラインＯＬから所定距離Ｌ４２（Ｌ４２＞Ｌ４１）だけ離れた位置に、システムクロック線６０４４が接続されたランド６０４０ｂが配置されている。また、ランド６０４０ｂをランド６０４０ａ、６０４０ｃよりも外縁ラインＯＬから離れた位置に配置することによって、グランド線６０４２が接続されたランド６０４０ａの外縁と、システムクロック線６０４４の外縁との間の距離Ｗ２と、システムクロック線６０４４の外縁と、電源線が接続されたランド６０４０ｃの外縁との間の距離Ｗ２の両方を、同図（ａ）に示す距離Ｗ１よりも長くしている。
【１５６３】
また、同図（ｃ）に示す例では、基板上の外縁ラインＯＬから所定距離Ｌ４２だけ離れた位置に、グランド線６０４２が接続されたランド６０４０ａと、電源線６０４６が接続されたランド６０４０ｃが配置され、基板上の外縁ラインＯＬから所定距離Ｌ４１（Ｌ４１＜Ｌ４２）だけ離れた位置に、システムクロック線６０４４が接続されたランド６０４０ｂが配置されている。また、ランド６０４０ａ、６０４０ｃをランド６０４０ｂよりも外縁ラインＯＬから離れた位置に配置することによって、グランド線６０４２の外縁と、システムクロック線６０４４が接続されたランド６０４０ｂの外縁との間の距離Ｗ２と、システムクロック線６０４４が接続されたランド６０４０ｂと、電源線６０４６の外縁との間の距離Ｗ２の両方を、同図（ａ）に示す距離Ｌａよりも長くしている。
【１５６４】
同図（ｂ）、（ｃ）に示す構成によれば、システムクロック線６０４４を、グランド線６０４２や電源線６０４６から、ランドの膨らみに相当する距離だけ離れた位置に配置することができ、システムクロック線６０４４を通る外部クロックＥＸの信号が影響を受けにくくすることができ、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。また、この例では、グランド線６０４２の外縁と、システムクロック線６０４４が接続されたランド６０４０ｂの外縁との間の距離と、システムクロック線６０４４が接続されたランド６０４０ｂと、電源線６０４６の外縁との間の距離を同じ距離Ｗ２としたが、例えば、一方を他方よりも長くしてもよい。
【１５６５】
＜配線パターンの変形例／変形例６＞
図２１７は、変形例６に係る配線パターンを示した図である。この例では、基板上の外縁ラインＯＬから所定距離Ｌ５１だけ離れた位置に、２つのランド６０５０ａ、６０５０ｂが配置され、基板上の外縁ラインＯＬから所定距離Ｌ５２（Ｌ５２＞Ｌ５１）だけ離れた位置に、１つのランド６０５０ｃが配置されている。また、ランド６０５０ａはシステム用水晶発振器５３１４ｂの外部クロックＥＸ端子に接続されており、両者を接続する信号線は屈曲されずに直線形状とされている。一方、ランド６０５０ｃは乱数用水晶発振器５３１４ｂの乱数用クロックＲＣＫ端子に接続されており、両者を接続する信号線は途中で屈曲されている。
【１５６６】
このような構成により、システム用水晶発振器５３１４ｂをパッケージ（基本回路５３０２）の近傍に配置することができ、且つ、パッケージとシステム用水晶発振器５３１４ｂを結ぶ第１信号線６０５２の長さを短くすることができるため、システム用水晶発振器５３１４ｂから出力される外部クロックＥＸの信号を、安定して基本回路５３０２のクロック回路５３４０に供給することができるとともに、この外部クロックＥＸの信号に基づいて生成されるシステムクロックＳＣＬＫの信号も、安定してＣＰＵコアや内部の各回路に供給することができる。
【１５６７】
また、クロック信号の供給源と供給先を結ぶ信号線の長さは、クロック信号に外乱が加わらないようになるべく短く設定するのが一般的であるが、基本回路５３０２と乱数用水晶発振器５３１４ａを結ぶ第２信号線６０５４の長さを敢えて長めに設定し、第２信号線６０５４を通る乱数用クロックＲＣＫの信号が外乱の影響を受けやすいように構成することによって、乱数用クロックＲＣＫの信号に基づいてカウント値のカウントを行う乱数回路５３１６のカウント値の更新タイミングにバラツキを与え、乱数回路５３１６が生成する乱数値のランダム性をさらに高めることができる。
【１５６８】
＜基板＞
図２１８は、上述のＩＣソケットを実装する基板の平面図である。同図に示す基板６０５０は、ＩＣソケットのソケット端子を実装するための複数のランド６０５２を有する矩形状のＩＣソケット実装部６０５４を４つ備えるとともに、このＩＣソケット実装部６０５４の周囲をグランド領域６０５６としている。また、複数のランド６０５２のうち、パッケージのグランド端子に接続される２つのランド６０５２ａは、信号線などを介することなく、直接、グランド領域６０５６と連通されている。なお、本実施形態に係る基板は、部品面でもよく、ハンダ面でもよい。
【１５６９】
このような構成により、基板とランドを接続するグランド線を従来よりも削減できる場合がある上に、回路変更などによってグランド電位が取りたい場合にグランド電位を取りやすくすることができ、利便性を高めることができる場合がある。
【１５７０】
＜基板の変形例／変形例１＞
図２１９は、変形例１に係る基板の平面図である。同図に示す基板６０６０は、ＩＣソケットのソケット端子を実装するための複数のランド６０６２を有する４つのＩＣソケット実装部６０６４を備えるとともに、基板６０６０に実装されるＩＣソケットの一方側から他方側を跨ぐようにして電源領域６０６８が配置されている。また、複数のランド６０６２のうち、パッケージの電源端子にされる２つのランド６０６２ａは、信号線などを介することなく、直接、電源領域６０６８と連通されている。
【１５７１】
このような構成により、基板とランドを接続する電源線を従来よりも削減できる場合がある上に、回路変更などによって電源が取りたい場合に電源を取りやすくすることができ、利便性を高めることができる場合がある。
【１５７２】
＜基板の変形例／変形例２＞
図２２０は、変形例２に係る基板の平面図である。同図に示す基板６０７０は、ＩＣソケットのソケット端子を実装するための複数のランド６０７２を有する矩形状の４つのＩＣソケット実装部６０７４を備えているとともに、これらのＩＣソケット実装部６０７４の各々には、複数（この例では４つ）のランド６０７２が千鳥状に配置されている。また、この例では、複数のランド６０７２のうち、ＩＣソケットの外側に配置されたソケット端子に対応するランドのみを、基板６０７０に実装された電子部品などに接続し、内側に配置されたランドは、電子部品などに接続せずに未使用としている。なお、この例では、ランドが千鳥状に配置された実装部を４つ備えたが、４つの実装部のうちの一つ、複数、または全ての実装部においてランドを千鳥状に配置してもよく、また、実装部の数も４つに限定されない。
【１５７３】
このような構成により、隣接する信号線の間に所定の距離を設けることができ、他の信号線によるノイズなどの影響を減らすことができる上に、回路設計が容易になる場合がある。
【１５７４】
＜基板の変形例／変形例３＞
図２２１は、変形例３に係る基板の平面図である。同図に示す基板６０８０は、ＩＣソケットのソケット端子を実装するための複数（この例では１６）のランド６０８２を備えており、これらのランド６０８２が千鳥状に配置されている。また、この例では、複数のランド６０８２のうち、ＩＣソケットの外側に配置されたソケット端子に対応するランドのみを、基板６０８０に実装された電子部品などに接続し、内側に配置されたランドは、電子部品などに接続せずに未使用としている。また、この例では、基板６０８０の全ての領域のうち、複数のランド６０８２と、電子部品などへの配線を除いた領域をグランド領域６０８４としている。
【１５７５】
このような構成により、基板とランドを接続するグランド線を従来よりも削減できる場合がある上に、回路変更などによってグランド電位が取りたい場合にグランド電位を取りやすくすることができ、利便性を高めることができる場合がある。また、隣接する信号線の間に所定の距離を設けることができ、他の信号線によるノイズなどの影響を減らすことができる上に、回路設計が容易になる場合がある。
【１５７６】
以上説明したように、本実施形態に係るパチンコ機５１００は、遊技制御を行う遊技制御用のマイクロコンピュータ（例えば、図１９３（ａ）に示すパッケージ５６８０）が設けられた基板を有する主制御手段（例えば、主制御部５３００）と、前記主制御手段の遊技制御に基づいて遊技の演出制御を行う副制御手段（例えば、第１副制御部５４００）と、を備えた遊技台であって、前記マイクロコンピュータは、端子（例えば、端子５６８２）を設けることで該端子によって、該マイクロコンピュータの裏面における第一の領域、該裏面に対向する前記基板の表面における第二の領域および前記裏面と前記表面との間の空間における第三の領域のうちの少なくとも一つである特定の領域を視認困難にする視認非容易部（例えば、視認非容易部５６８０ａ）と、前記端子を設けないことによって、前記視認非容易部よりも前記特定の領域を視認容易にする視認容易部（例えば、視認容易部６８０ｂ）と、を有して構成されていることを特徴とする遊技台である。
【１５７７】
換言すれば、前記マイクロコンピュータは、端子を設けることで該端子によって視認困難となる範囲を有する視認非容易部と、前記端子を設けないことで前記非視認容易部よりも視認困難となる範囲が狭くなる視認容易部と、を有して構成されていることを特徴とする遊技台である。なお、本発明に係る「視認困難」とは、特定の領域を完全に見ることができない場合（視認が不可能な場合）に限定されず、視認容易部に比べて特定の領域が僅かに視認し難い状態も含む概念である。一方、本発明に係る「視認容易」とは、特定の領域を全て見ることができる場合に限定されず、視認非容易部に比べて特定の領域が僅かに視認し易い状態も含む概念である。また、本発明に係る「特定の領域」は、マイクロコンピュータの端子の表面や、マイクロコンピュータの端子と基板間を接続するためのＩＣソケットの表面などを含む概念である。
【１５７８】
本実施形態に係るパチンコ機５１００によれば、視認容易部を通して遊技制御用マイクロコンピュータの裏側近傍の特定の領域を視認することができ、マイクロコンピュータの裏側などに不正部品を取り付けるような不正行為を未然に防止することができる場合がある。また、視認非容易部によって特定の領域の存在をメーカやパチンコ店以外の人には知られ難くする一方で、視認容易部によってメーカやパチンコ店の人には特定の領域に不正部品が設けられていないかどうかを確認しやすくすることができ、不正改造を防止できる場合がある。
また、前記視認非容易部における端子は、前記マイクロコンピュータの短手方向両側にのみ設けられていてもよい（例えば、図１９６（ｂ）に示すパッケージ５７６０、図１９６（ｃ）に示すパッケージ５７７０などを参照）。
【１５７９】
このような構成とすれば、短手方向両側の視認容易部を通して遊技制御用マイクロコンピュータの裏側近傍の特定の領域を様々な角度から視認することができるため、さらに不正部品などを見つけることが容易となる場合がある。
【１５８０】
また、前記視認容易部（例えば、図１９５（ｃ）に示す視認非容易部５７３２ａ、図１９５（ｄ）に示す切欠き部５７４２ｃ、図１９７（ａ）、（ｂ）に示すスリット、図１９６（ｄ）に示すラウンド部５７８０ａ、図１９８（ａ）に示す円弧状の切欠き部）が、前記遊技制御用マイクロコンピュータの短手方向片側に設けられていてもよい。
【１５８１】
このような構成とすれば、短手方向片側の視認容易部を通して遊技制御用マイクロコンピュータの裏側近傍の特定の領域を視認することができるため、さらに不正部品などを見つけることが容易となる場合がある。
【１５８２】
また、前記遊技制御用マイクロコンピュータには長手方向に沿って複数の端子が配置され、前記視認容易部（例えば、図１９６（ｂ）に示す細径部５７６５、図１９６（ｃ）に示す切欠き部５７７５、図１９６（ａ）、（ｂ）に示すスリット）が、前記端子間に設けられていてもよい。
【１５８３】
このような構成とすれば、多くの端子を配置することが可能でありながら、端子間の視認容易部を通して遊技制御用マイクロコンピュータの裏側近傍の特定の領域を視認することができるため、さらに不正部品などを見つけることが容易となる場合がある。
【１５８４】
また、前記視認容易部（例えば、図１９６（ｂ）に示す細径部５７６５、図１９６（ｃ）に示す切欠き部５７７５、図２００（ａ）〜（ｃ）に示す平面視三角形状の切欠き部）が、前記短手方向両側に対向して設けられていてもよい。
【１５８５】
このような構成とすれば、対向配置された視認容易部を通して遊技制御用マイクロコンピュータの裏側を視認することができるため、さらに不正部品などを見つけることが容易となる場合がある。
【１５８６】
なお、上記実施形態においては、遊技球を遊技媒体としたパチンコ機の例を示したが、本発明はこれに限定されるものではなく、例えば、以下に説明するような、メダル（コイン）を遊技媒体としたスロットマシンなどにも適用可能である。
【１５８７】
＜全体構成＞
まず、図２２２を用いて、他の例に係るスロットマシン６１００の全体構成について説明する。なお、同図はスロットマシン６１００の外観斜視図を示したものである。
【１５８８】
スロットマシン６１００は、略箱状の本体６１０１と、この本体６１０１の前面開口部に取り付けられた前面扉６１０２とを有して構成されている。スロットマシン６１００の本体６１０１の中央内部には、外周面に複数種類の図柄が所定コマ数だけ配置されたリールが３個（左リール６１１０、中リール６１１１、右リール６１１２）収納され、スロットマシン６１００の内部で回転できるように構成されている。各図柄は帯状部材に等間隔で適当数印刷され、この帯状部材が所定の円形枠材に貼り付けられて各リール６１１０乃至６１１２が構成されている。リール６１１０乃至６１１２上の図柄は、遊技者から見ると、図柄表示窓６１１３から縦方向に概ね３つ表示され、合計９つの図柄が見えるようになっている。そして、各リール６１１０乃至６１１２を回転させることにより、遊技者から見える図柄の組み合せが変動することとなる。なお、本実施例１では、３個のリールをスロットマシン６１００の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
【１５８９】
また、図柄表示窓６１１３の外枠には、点滅や点灯などの点灯制御によって、後述する有効ラインや入賞ラインを報知するためのライン表示ＬＥＤ（図示省略）が配置されている。
【１５９０】
さらに、スロットマシン６１００内部において各々のリール６１１０乃至６１１２の近傍には、投光部と受光部からなる光学式センサ（図示省略）が設けられており、この光学式センサの投光部と受光部の間を、リールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の図柄の回転方向の位置を判断し、目的とする図柄が入賞ライン６１１４上に表示されるようにリール６１１０乃至６１１２を停止させる。
【１５９１】
入賞ライン表示ランプ６１２０は、有効となる入賞ラインを示すランプである。有効となる入賞ラインは、スロットマシン６１００に投入されたメダルの数によって予め定まっている。５本の入賞ライン６１１４のうち、例えば、メダルが１枚投入された場合、中段の水平入賞ラインが有効となり、メダルが２枚投入された場合、上段水平入賞ラインと下段水平入賞ラインが追加された３本が有効となり、メダルが３枚投入された場合、右下り入賞ラインと右上り入賞ラインが追加された５本が入賞ラインとして有効になる。なお、入賞ライン１１４の数については５本に限定されるものではない。
【１５９２】
スタートランプ６１２１は、リール６１１０乃至６１１２が回転することができる状態にあることを遊技者に知らせるランプである。再遊技ランプ６１２２は、前回の遊技において入賞役の一つである再遊技役に入賞した場合に、今回の遊技が再遊技可能であること（メダルの投入が不要であること）を遊技者に知らせるランプである。告知ランプ６１２３は、内部抽選において、特定の入賞役（例えば、ＢＢ（ビッグボーナス）やＲＢ（レギュラーボーナス）等のボーナス）に内部当選していることを遊技者に知らせるランプである。メダル投入ランプ６１２４は、メダルの投入が可能であることを知らせるランプである。払出枚数表示器６１２５は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。遊技回数表示器６１２６は、メダル投入時のエラー表示や、ビッグボーナスゲーム中（ＢＢゲーム中）の遊技回数、所定の入賞役の入賞回数等を表示するための表示器である。貯留枚数表示器６１２７は、スロットマシン６１００に電子的に貯留されているメダルの枚数を表示するための表示器である。リールパネルランプ６１２８は、演出用のランプである。
【１５９３】
メダル投入ボタン６１３０、６１３１は、スロットマシン６１００に電子的に貯留されているメダルを所定の枚数分投入するためのボタンである。本実施例１においては、メダル投入ボタン６１３０が押下される毎に１枚ずつ最大３枚まで投入され、メダル投入ボタン６１３１が押下されると３枚投入されるようになっている。メダル投入口６１３４は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、メダル投入ボタン６１３０又は６１３１により電子的に投入することもできるし、メダル投入口６１３４から実際のメダルを投入することもできる。精算ボタン６１３２は、スロットマシン６１００に電子的に貯留されたメダル及びベットされたメダルを精算し、メダル払出口６１５５よりメダル受皿６１５６に排出するためのボタンである。メダル返却ボタン６１３３は、投入されたメダルが詰まった場合に押下してメダルを取り除くためのボタンである。
【１５９４】
スタートレバー６１３５は、遊技の開始操作を行うためのレバー型のスイッチである。即ち、メダル投入口６１３４に所望する枚数のメダルを投入して、スタートレバー６１３５を操作すると、これを契機としてリール６１１０乃至６１１２が回転し、遊技が開始される。ストップボタン６１３７乃至６１３９は、スタートレバー６１３５の操作によって回転を開始したリール６１１０乃至６１１２に対する停止操作を行うためのボタンであり、各リール６１１０乃至６１１２に対応して設けられている。そして、いずれかのストップボタン６１３７乃至６１３９を操作すると対応するいずれかのリール６１１０乃至６１１２が停止することになる。
【１５９５】
ドアキー孔６１４０は、スロットマシン６１００の前面扉６１０２のロックを解除するためのキーを挿入する孔である。メダル払出口６１５５は、メダルを払出すための払出口である。メダル受皿６１５６は、メダル払出口６１５５から払出されたメダルを溜めるための器である。なお、メダル受皿６１５６は、本実施例１では発光可能な受皿を採用している。
【１５９６】
上部ランプ６１５０、サイドランプ６１５１、中央ランプ６１５２、腰部ランプ６１５３、下部ランプ６１５４は、遊技を盛り上げるための装飾用のランプである。演出装置６１９０は、例えば開閉自在な扉装置（シャッター）６１６３が前面に取り付けられた液晶表示装置を含み、この演出装置６１９０には、例えば小役告知等の各種の情報が表示される。音孔６１６０は、スロットマシン６１００内部に設けられているスピーカの音を外部に出力するための孔である。タイトルパネル６１６２には、スロットマシン６１００を装飾するための図柄が描かれる。
【１５９７】
＜主制御部３００＞
次に、図２２３および図２２４を用いて、このスロットマシン６１００の制御部の回路構成について詳細に説明する。
【１５９８】
スロットマシン６１００の制御部は、大別すると、遊技の中枢部分を制御する主制御部６３００と、主制御部６３００より送信されたコマンドに応じて各種機器を制御する副制御部６４００と、副制御部６４００より送信されたコマンドに応じて液晶表示装置６１５７や扉装置６１６３を制御する扉・液晶画面表示制御部６４９０によって構成されている。
【１５９９】
＜主制御部＞
まず、図２２３を用いて、スロットマシン６１００の主制御部６３００について説明する。なお、同図は主制御部６３００の回路ブロック図を示したものである。
【１６００】
主制御部６３００は、主制御部６３００の全体を制御するための演算処理装置であるＣＰＵ６３１０や、ＣＰＵ６３１０が各ＩＣや各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、その他、以下に述べる構成を有する。クロック補正回路６３１４は、水晶発振器６３１１から発振されたクロックを分周してＣＰＵ６３１０に供給する回路である。例えば、水晶発振器６３１１の周波数が１２ＭＨｚの場合に、分周後のクロックは６ＭＨｚとなる。ＣＰＵ６３１０は、クロック補正回路６３１４により分周されたクロックをシステムクロックとして受け入れて動作する。
【１６０１】
また、ＣＰＵ６３１０には、センサやスイッチの状態を常時監視するためのタイマ割り込み処理の周期やモータの駆動パルスの送信周期を設定するためのタイマ回路６３１５がバスを介して接続されている。ＣＰＵ６３１０は、電源が投入されると、データバスを介してＲＯＭ６３１２の所定エリアに格納された分周用のデータをタイマ回路６３１５に送信する。タイマ回路６３１５は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をＣＰＵ６３１０に送信する。ＣＰＵ６３１０は、この割込み要求を契機に、各センサ等の監視や駆動パルスの送信を実行する。例えば、ＣＰＵ６３１０のシステムクロックを６ＭＨｚ、タイマ回路６３１５の分周値を１／２５６、ＲＯＭ６３１２の分周用のデータを４４に設定した場合、この割り込みの基準時間は、２５６×４４÷６ＭＨｚ＝１．８７７ｍｓとなる。
【１６０２】
さらに、ＣＰＵ６３１０には、各ＩＣを制御するためのプログラム、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等の各種データを記憶しているＲＯＭ６３１２や、一時的なデータを保存するためのＲＡＭ６３１３が接続されている。これらのＲＯＭ６３１２やＲＡＭ６３１３については他の記憶手段を用いてもよく、この点は後述する副制御部６４００においても同様である。また、ＣＰＵ６３１０には、外部の信号を受信するための入力インタフェース６３６０が接続され、割込み時間ごとに入力インタフェース６３６０を介して、スタートレバーセンサ６３２１、ストップボタンセンサ６３２２、メダル投入ボタンセンサ６３２３、精算スイッチセンサ６３２４、メダル払い出しセンサ６３２６、電源判定回路６３２７の状態を検出し、各センサを監視している。
【１６０３】
メダル投入センサ６３２０は、メダル投入口６１３４に投入されたメダルを検出するためのセンサである。スタートレバーセンサ６３２１はスタートレバー６１３５の操作を検出するためのセンサである。ストップボタンセンサ６３２２はストップボタン６１３７乃至６１３９のいずれかが押された場合、どのストップボタンが押されたかを検出するためのセンサである。メダル投入ボタンセンサ６３２３はメダル投入ボタン６１３０、６１３１のいずれかが押下された場合、どのメダル投入ボタンが押されたかを検出するためのセンサである。精算スイッチセンサ６３２４は、精算ボタン６１３２に設けられており、精算ボタン６１３２が一回押されると、貯留されているメダル及びベットされているメダルが精算されて払い出されることになる。メダル払い出しセンサ６３２６は、払い出されるメダルを検出するためのセンサである。電源判定回路６３２７は、スロットマシン６１００に供給される電源の遮断を検出するための回路である。
【１６０４】
ＣＰＵ６３１０には、更に、入力インタフェース６３６１、出力インタフェース６３７０、６３７１がアドレスデコード回路６３５０を介してアドレスバスに接続されている。ＣＰＵ６３１０は、これらのインタフェースを介して外部のデバイスと信号の送受信を行っている。入力インタフェース６３６１には、インデックスセンサ６３２５が接続されている。インデックスセンサ６３２５は、各リール６１１０乃至６１１２の取付台の所定位置に設置されており、リール６１１０乃至６１１２に設けた遮光片がこのインデックスセンサ６３２５を通過するたびにハイレベルになる。ＣＰＵ６３１０は、この信号を検出すると、リールが１回転したものと判断し、リールの回転位置情報をゼロにリセットする。出力インタフェース６３７０には、リールを駆動させるためのモータを制御するリールモータ駆動部６３３０と、ホッパー（バケットにたまっているメダルをメダル払出口６１５５から払出すための装置。）のモータを駆動するためのホッパーモータ駆動部６３３１と、遊技ランプ６３４０（具体的には、入賞ライン表示ランプ６１２０、スタートランプ６１２１、再遊技ランプ６１２２、告知ランプ６１２３、メダル投入ランプ６１２４等）と、７セグメント（ＳＥＧ）表示器６３４１（払出枚数表示器６１２５、遊技情報表示器６１２６、貯留枚数表示器６１２７等）が接続されている。
【１６０５】
また、ＣＰＵ６３１０には、乱数発生回路６３１７がデータバスを介して接続されている。乱数発生回路６３１７は、水晶発振器６３１１及び水晶発振器６３１６から発振されるクロックに基づいて、一定の範囲内で値をインクリメントし、そのカウント値をＣＰＵ６３１０に出力することのできるインクリメントカウンタであり、後述する入賞役の内部抽選をはじめ各種抽選処理に使用される。
【１６０６】
また、図示はしないが、主制御部６３００は、クロック補正回路６３１４から入力するシステムクロックの周波数と乱数発生回路６３１７に入力する乱数用クロックの周波数を比較し、乱数用クロックの周波数がシステムクロック以下の周波数である場合に、内部情報レジスタのクロック信号状態ビットを１にセットする周波数発生回路を備えている。主制御部６３００のＣＰＵ６３１０は、内部情報レジスタのクロック信号状態ビットが１にセットされている場合（乱数用クロックの周波数がシステムクロックの周波数以下である場合）には、乱数用クロックに何らかの異常（例えば、乱数発生回路６３１７と水晶発振器６３１６とを結ぶ配線パターンの断線）が発生したと判定し、内部情報レジスタのクロック信号状態ビットが０にセットされている場合（乱数用クロックの周波数がシステムクロックの周波数未満である場合）には、乱数用クロックが正常であると判定する。また、図示はしないが、主制御部６３００は、外部の照合機と接続し、チップの照合（チップの真贋についてのチェック）を行う照合用ブロックブロックを備える。また、乱数発生回路６３１７から水晶発振器６３１６までの第１信号線が、クロック補正回路６３１４から水晶発振器６３１１までの第２信号線よりも長くなるように配線している。
【１６０７】
ＣＰＵ６３１０のデータバスには、副制御部６４００にコマンドを送信するための出力インタフェース６３７１が接続されている。主制御部６３００と副制御部６４００との情報通信は一方向の通信であり、主制御部６３００は副制御部６４００へコマンドを送信するが、副制御部６４００から主制御部６３００へ何らかのコマンド等を送信することはできない。
【１６０８】
＜副制御部４００＞
次に、図２２４を用いて、スロットマシン６１００の副制御部６４００について説明する。なお、同図は副制御部６４００の回路ブロック図を示したものである。
【１６０９】
副制御部６４００は、主制御部６３００より送信された主制御コマンド等に基づいて副制御部６４００の全体を制御する演算処理装置であるＣＰＵ６４１０や、ＣＰＵ６４１０が各ＩＣ、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。クロック補正回路６４１４は、水晶発振器６４１１から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてＣＰＵ６４１０に供給する回路である。
【１６１０】
また、ＣＰＵ６４１０にはタイマ回路６４１５がバスを介して接続されている。ＣＰＵ６４１０は、所定のタイミングでデータバスを介してＲＯＭ６４１２の所定エリアに格納された分周用のデータをタイマ回路６４１５に送信する。タイマ回路６４１５は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をＣＰＵ６４１０に送信する。ＣＰＵ６４１０は、この割込み要求のタイミングをもとに、各ＩＣや各回路を制御する。 
【１６１１】
また、ＣＰＵ６４１０には、副制御部６４００の全体を制御するための命令及びデータ、ライン表示ＬＥＤの点灯パターンや各種表示器を制御するためのデータが記憶されたＲＯＭ６４１２や、データ等を一時的に保存するためのＲＡＭ６４１３が各バスを介して接続されている。
【１６１２】
さらに、ＣＰＵ６４１０には、外部の信号を送受信するための入出力インタフェース６４６０が接続されており、入出力インタフェース６４６０には、図柄表示窓６１１３の外枠に配設され、点滅や点灯などの点灯制御によって有効ラインや入賞ラインを報知するためのライン表示ＬＥＤ６４２０、前面扉６１０２の開閉を検出するための扉センサ６４２１、ＲＡＭ６４１３のデータをクリアにするためのリセットスイッチ６４２２が接続されている。
【１６１３】
ＣＰＵ６４１０には、データバスを介して主制御部６３００から主制御コマンドを受信するための入力インタフェース６４６１が接続されており、入力インタフェース６４６１を介して受信したコマンドに基づいて、遊技全体を盛り上げる演出処理等が実行される。また、ＣＰＵ６４１０のデータバスとアドレスバスには、音源ＩＣ６４８０が接続されている。音源ＩＣ６４８０は、ＣＰＵ６４１０からの命令に応じて音声の制御を行う。また、音源ＩＣ６４８０には、音声データが記憶されたＲＯＭ６４８１が接続されており、音源ＩＣ６４８０は、ＲＯＭ６４８１から取得した音声データをアンプ６４８２で増幅させてスピーカ６４８３から出力する。ＣＰＵ６４１０には、主制御部６３００と同様に、外部ＩＣを選択するためのアドレスデコード回路６４５０が接続されており、アドレスデコード回路６４５０には、主制御部６３００からのコマンドを受信するための入力インタフェース６４６１、時計ＩＣ６４２３、７セグメント表示器６４４０への信号を出力するための出力インタフェース６４７２等が接続されている。
【１６１４】
時計ＩＣ６４２３が接続されていることで、ＣＰＵ６４１０は、現在時刻を取得することが可能である。７セグメント表示器６４４０は、スロットマシン６１００の内部に設けられており、たとえば副制御部６４００に設定された所定の情報を遊技店の係員等が確認できるようになっている。更に、出力インタフェース６４７０には、デマルチプレクサ６４１９が接続されている。デマルチプレクサ６４１９は、出力インタフェース６４７０から送信された信号を各表示部等に分配する。即ち、デマルチプレクサ６４１９は、ＣＰＵ６４１０から受信されたデータに応じて上部ランプ６１５０、サイドランプ６１５１、中央ランプ６１５２、腰部ランプ６１５３、下部ランプ６１５４、リールパネルランプ６１２８、タイトルパネルランプ６１７０、払出口ストロボ６１７１を制御する。タイトルパネルランプ６１７０は、タイトルパネル６１６２を照明するランプであり、払出口ストロボ６１７１は、メダル払い出し口６１５５の内側に設置されたストロボタイプのランプである。なお、ＣＰＵ４６１０は、扉・液晶画面制御部６４９０への信号送信は、デマルチプレクサ６４１９を介して実施する。扉・液晶画面制御部６４９０は、液晶表示装置６１５７及び扉装置６１６３を制御する制御部である。
【１６１５】
＜メイン処理＞
次に、図２２５を用いて、主制御部６３００のメイン処理について説明する。なお、同図は、主制御部６３００のメイン処理の流れを示すフローチャートである。
【１６１６】
遊技の基本的制御は、主制御部６３００のＭａｉｎＣＰＵ６３１０が中心になって行い、電源断等を検知しないかぎり、ＭａｉｎＣＰＵ６３１０が同図のメイン処理を繰り返し実行する。
【１６１７】
ステップＳ７１０１では、初期設定１を行う。この初期設定１では、ＣＰＵ６３１０のスタックポインタ（ＳＰ）へのスタック初期値の設定、割り込みマスクの設定、ＲＡＭ６３１３に記憶する各種変数の初期設定、ウォッチドックタイマ（ＷＤＴ）への動作許可及び初期値の設定等を行う。ステップＳ７１０２では、ＷＤＴのカウンタの値をクリアし、ＷＤＴによる時間計測を再始動する。
【１６１８】
ステップＳ７１０３では、低電圧信号がオンであるか否か、すなわち、電圧判定回路６３２７が、主制御部６３００に供給している電源の電圧値が所定の値（本実施例では９Ｖ）未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合（ＣＰＵ６３１０が電源の遮断を検知した場合）にはステップＳ７１０２に戻り、低電圧信号がオフの場合（ＣＰＵ６３１０が電源の遮断を検知していない場合）にはステップＳ７１０４に進む。
【１６１９】
ステップＳ７１０４では、初期設定２を行う。この初期設定２では、後述するタイマ割り込み処理を定期毎に実行するための周期を決める数値をタイマ回路６３１５に設定する処理、ＲＡＭ６３１３の書き込みを許可する設定等を行う。
【１６２０】
ステップ１１０５では、設定キーセンサの状態に基づいて設定キーを受け付けているか否かを判断する。そして、設定キーを受け付けている場合にはステップＳ７１０６の設定変更処理に進み、設定キーを受け付けていない場合にはステップＳ７１０７に進む。
【１６２１】
ステップＳ７１０６では、設定変更処理を行う。この設定変更処理では、最初に、機能限定ウェイトの設定を解除すると共に、割込み許可の設定を行った後、設定値の変更を行う。
【１６２２】
ステップＳ７１０７では、電断前（電源の遮断前）の状態に復帰するか否かを判断する。そして、電断前の状態に復帰する場合にはステップＳ７１０８に進み、そうでない場合にはステップＳ７１１０に進む。
【１６２３】
ステップＳ７１０８では、（後述する）タイマ割込み処理において割込み機能を所定時間ウェイトさせるべく、機能限定ウェイトの設定を行った後（ＲＡＭ６３１３の所定記憶領域に機能限定中であることを示す情報を記憶した後）、ステップＳ７１０９では、スタックポインタに、電断時に記憶したスタックポインタを再設定するなど、復電時の処理を行って処理を終了する。
【１６２４】
ステップＳ７１１０では、遊技メダル投入処理を行う。詳細は後述するが、この遊技メダル投入処理では、機能限定ウェイトの設定を解除すると共に、割込み許可の設定を行った後、メダル投入に関する処理を行う。
【１６２５】
ステップＳ７１１１では、遊技のスタート操作に関する処理を行う。ここでは、スタートレバーセンサ６３２１の状態に基づいてスタートレバー６１３５が操作されたか否かのチェックを行い、スタート操作されたと判断した場合は、投入されたメダル枚数を確定する。ステップＳ７１１２では、乱数取得処理を行う（詳細は後述する）。ステップＳ７１１３では、ステップＳ７１１２で取得した乱数値と、ＲＯＭ６３１２に格納した抽選データを用いて、入賞役の内部抽選を行う。
【１６２６】
ステップＳ７１１４では、リール回転開始処理により、全リール６１１０〜６１１２の回転を開始する。この際、ステップＳ７１１３の内部抽選の結果等に基づき、リール６１１０〜６１１２の停止位置を規定したリール停止制御テーブルを選択する。
【１６２７】
ステップＳ７１１５では、ストップボタンセンサ６３２２の状態に基づいてストップボタン６１３７〜６１３９が操作されたか否かのチェックを行い、ストップボタン６１３７〜６１３９が操作されたと判断した場合は、ステップＳ７１１４で選択したリール停止制御テーブルに基づいて、押されたストップボタン６１３７〜６１３９に対応するリール６１１０〜６１１２の回転を停止する。そして、インデックスセンサ６３２５の状態に基づいて全リール６１１０〜６１１２が停止したか否かを判定し、全リール６１１０〜６１１２が停止した場合にはステップＳ７１１６に進み、そうでない場合にはストップボタン６１３７〜６１３９が操作され全リール６１１０〜６１１２が停止するのを待つ。
【１６２８】
ステップＳ７１１６では、ストップボタン６１３７〜６１３９が押されることによって停止した全リール６１１０〜６１１２の図柄の入賞判定を行う。ここでは、有効化された入賞ライン６１１４上に、内部当選した役またはフラグ持越し中の役に対応する図柄組合せが揃った（表示された）場合にその役に入賞したと判定する。ステップＳ７１１７では、メダル払出処理を行う。このメダル払出処理では、払い出しのある何らかの役に入賞していれば、その役に対応する枚数のメダルを払い出す。ステップＳ７１１８では、遊技を終了するための制御や、遊技状態を移行するための制御を行う。例えば、ＢＢ入賞やＲＢ入賞の場合に次回からＢＢ遊技またはＲＢ遊技が開始できるように準備し、それらの最終遊技では、次回から通常遊技が開始できるように準備する。
【１６２９】
以上により１遊技が終了し、以降、このメイン処理を繰り返すことにより遊技が進行することになる。
【１６３０】
＜遊技メダル投入処理＞
次に、図２２６を用いて、上記メイン処理における遊技メダル投入処理について説明する。なお、同図は遊技メダル投入処理の流れを示すフローチャートである。
【１６３１】
ステップＳ７３０１では、内部情報レジスタのクロック信号状態ビットを参照し、クロック信号状態ビットが１にセットされているか否かを判定する。そして、クロック信号状態ビットが１にセットされている場合（乱数用クロックＲＣＫに異常がある場合）はステップＳ７３０２に進み、そうでない場合はステップＳ７３０３に進む。
【１６３２】
ステップＳ７３０２では、乱数用クロックＲＣＫに異常がある旨の情報を他の制御部（例えば、副制御部６４００）に送信するために、乱数用クロックの異常による停止コマンドの出力設定をした後、処理を終了する。なお、この乱数用クロックの異常による停止コマンドを受信した副制御部６４００は、乱数用クロックの異常を、液晶表示装置６１５７による表示、スピーカ６４８４による音声、扉装置（可動物）６１６３による動きなどによって報知する。
【１６３３】
ステップＳ７３０３では、遊技メダルの投入の有無を確認し、遊技メダルが投入された場合にはステップＳ７３０４に進んで賭け枚数増加処理を行い、遊技メダルが投入されていない場合にはステップＳ７３０５に進む。
【１６３４】
ステップＳ７３０５では、精算ボタンの操作の有無を確認し、精算ボタンの操作があった場合にはステップＳ７３０６に進んで遊技媒体の精算処理を行い、精算ボタンの操作が無かった場合にはステップＳ７３０７に進む。
【１６３５】
ステップＳ７３０７では、遊技メダルの賭け枚数が０より大きいか否かを判定し、該当する場合にはステップＳ７３０８に進み、該当しない場合にはステップＳ７３０１に戻る。
【１６３６】
ステップＳ７３０８では、スタート操作の有無を確認し、スタート操作があった場合には処理を終了し、スタート操作が無い場合にはステップＳ７３０１に戻る。
【１６３７】
＜乱数取得処理＞
次に、図２２７を用いて、上記メイン処理における乱数取得処理について説明する。なお、同図は乱数取得処理の流れを示すフローチャートである。
【１６３８】
ステップＳ７４０１では、内部情報レジスタのクロック信号状態ビットを参照し、クロック信号状態ビットが１にセットされているか否かを判定する。そして、クロック信号状態ビットが１にセットされている場合（乱数用クロックＲＣＫに異常がある場合）はステップＳ７４０２に進み、そうでない場合はステップＳ７４０３に進む。
【１６３９】
ステップＳ７４０２では、乱数用クロックＲＣＫに異常がある旨の情報を他の制御部（例えば、副制御部６４００）に送信するために、乱数用クロックの異常による停止コマンドの出力設定をした後、処理を終了する。なお、この乱数用クロックの異常による停止コマンドを受信した副制御部６４００は、乱数用クロックの異常を、液晶表示装置６１５７による表示、スピーカ６４８４による音声、扉装置（可動物）６１６３による動きなどによって報知する。次のステップＳ７４０３では、乱数発生回路６３１７から乱数を取得した後に、処理を終了する。
【１６４０】
＜タイマ割込み処理＞
次に、図２２８を用いて、主制御部６３００のＭａｉｎＣＰＵ６３１０が実行するタイマ割込み処理について説明する。なお、同図はタイマ割込み処理の流れを示すフローチャートである。
【１６４１】
ＭａｉｎＣＰＵ６３１０は、所定の周期（本実施例では約１．５０４ｍｓに１回）でタイマ割込みを発生させるハードウェアタイマを備えており、タイマ割込み処理を、タイマ割込みを契機として所定の周期で実行する。
【１６４２】
ステップＳ７２０１では、ＭａｉｎＣＰＵ６３１０の各レジスタをスタックに退避する。ステップＳ７２０２では、入力ポートの値を取得して、各種センサ（メダル投入センサ６３２０、スタートレバーセンサ６３２１、ストップボタンセンサ６３２２、メダル払出センサ６３２６など）の状態を検出する。より具体的には、メダル投入センサ６３２０、スタートレバーセンサ６３２１、ストップボタンセンサ６３２２、メダル払出センサ６３２６などの複数のセンサが出力する信号を入力し、これら複数のセンサからの出力がそれぞれオンかオフかを判定する。
【１６４３】
ステップＳ７２０３では、割込み機能が限定中であるか否か、すなわち、上記メイン処理において機能限定ウェイトを設定しているか否か（ＲＡＭ６３１３の所定記憶領域に機能限定中であることを示す情報を記憶しているか否か）を判断する。そして、割込み機能が限定中である場合（機能限定ウェイトを設定している場合）にはステップＳ７２０４〜Ｓ７２０８の処理を行うことなくステップＳ７２０９に進み、割込み機能が限定中でない場合（機能限定ウェイトを設定していない場合）にはステップＳ７２０４に進む。
【１６４４】
ステップＳ７２０４では、遊技メダル投入受付処理を行う。詳細は後述するが、この遊技メダル投入受付処理では、現在の遊技状態や、一遊技に必要な規定メダル数などに基づいて、遊技メダルの投入に関する処理を行う。
【１６４５】
ステップＳ７２０５では、リール６１１０〜６１１２の回転制御や停止制御などのリール制御処理を行い、ステップＳ７２０６では、その他の処理を行う。ステップＳ７２０７では、遊技ランプ６３４０（上部ランプ６１５０、サイドランプ６１５１、中央ランプ６１５２、腰部ランプ６１５３、下部ランプ６１５４、受皿ランプ６１５６など）に出力するデータの更新を行う。 
【１６４６】
ステップＳ７２０８では、常時エラー監視処理を行う。この常時エラー監視処理では、上記ステップ１２０２で検出したメダル払出センサ６３２６などの状態に基づいて、ホッパーなどのエラーの監視と、エラーの検出情報の更新を行う。
【１６４７】
ステップＳ７２０９では、集中端子板信号設定処理を行う。この集中端子板信号設定処理では、ＲＡＭ６３１３に記憶したセキュリティ状態情報などに基づいて状態複合信号を生成し、シリアル出力する。また、ＲＡＭ６３１３に記憶したメダル投入情報などに基づいてメダル投入信号、メダル払出信号、外部信号１〜４を生成し、パラレル出力する。
【１６４８】
ステップＳ７２１０では、７ＳＥＧ表示器６３４１に出力するデータの設定を行い、ステップＳ７２１１では、リールモータ制御部６３３０やホッパーモータ制御部６３３１などに出力するデータの設定を行う。また、内部情報レジスタのクロック信号状態ビットを参照し、内部情報レジスタのクロック信号状態ビットが１にセットされている場合（乱数用クロックの周波数がシステムクロックの周波数以下である場合）には、乱数用クロックに何らかの異常（例えば、乱数発生回路６３１７と水晶発振器６３１６とを結ぶ配線パターンの断線）が発生したと判定し、７ＳＥＧ表示器６３４１を用いてエラーを示す情報を表示する。一方、内部情報レジスタのクロック信号状態ビットが０にセットされている場合（乱数用クロックの周波数がシステムクロックの周波数未満である場合）には、乱数用クロックが正常であると判定し、次のステップＳ７２１２に進む。
【１６４９】
ステップＳ７２１２では、副制御部６４００に制御コマンドを出力し、ステップＳ７２１３では、ＲＡＭ６３１３に記憶している各種のカウンタタイマ（例えば、上述のセキュリティ信号出力待機タイマなど）を更新する。
【１６５０】
ステップＳ７２１４では、上述の電圧低下信号がオンであるか否か、すなわち、スロットマシン６１００に所定の電圧が供給されているか否かを判断する。そして、電圧低下信号がオンである場合（スロットマシン６１００に所定の電圧が供給されていない場合）にはステップＳ７２１７に進み、電圧低下信号がオフである場合（スロットマシン６１００に所定の電圧が供給されている場合）にはステップＳ７２１５に進む。
【１６５１】
ステップＳ７２１５では、ステップＳ７２０１で退避したレジスタを復帰し、ステップＳ７２１６では、割込みを許可する設定を行う。
【１６５２】
ステップＳ７２１７〜Ｓ７２２０では、電断処理を行う。より具体的には、ステップＳ７２１７では、現在のスタックポインタを保存し、ステップＳ７２１８では、電源ステータスを「電断」に更新する。また、ステップＳ７２１９では、ＲＡＭ６３１３に記憶した値を用いてチェックサムを計算・設定し、ステップＳ７２２０では、ＲＡＭ６３１３の書き込みを禁止に設定した後、無限ループとなる。
【１６５３】
このようなスロットマシン６１００のＣＰＵ６３１０やＣＰＵ６４１０（のパッケージ）に上述の本発明を適用すれば、視認容易部を通して遊技制御用マイクロコンピュータの裏側を視認することができ、マイクロコンピュータの裏側などに不正部品を取り付けるような不正行為を未然に防止することができる場合がある。
【１６５４】
なお、本発明に係る遊技台は、上記実施形態に係るパチンコ機やスロットマシンに限定されず、例えば、封入式遊技機に適用することもできる。また、主制御部、第１副制御部、および第２副制御部をワンチップで構成してもよいし、主制御部と第１副制御部で双方向の通信が可能に構成してもよい。また、主制御部と第１副制御部で双方向の通信を可能とする一方で、第１副制御部から第２副制御部への通信は一方向の通信としてもよい。
【１６５５】
また、本発明の実施の形態に記載された作用および効果は、本発明から生じる最も好適な作用および効果を列挙したに過ぎず、本発明による作用および効果は、本発明の実施の形態に記載されたものに限定されるものではない。また、実施例に記載した複数の構成のうち、１つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。
【１６５６】
＜実施形態５＞
以下、図面を用いて、本発明の実施形態５に係るパチンコ機（遊技台）について詳細に説明する。
【１６５７】
図２２９は、図２を用いて説明した電源基板１８２、払出基板１７０、および主基板１５６間の電源供給例を示している。図２２９（ａ）に示す例では、各種電気的遊技機器に電源を供給する電源制御部６６０を備える電源基板１８２から電源ラインｐｌ０１と電源ラインｐｌ０２とが引き出され、電源ラインｐｌ０１と電源ラインｐｌ０２が共に、遊技球の払出に関する制御処理を行う払出制御部６００を備える払出基板（払出制御基板）１７０に接続されている。電源投入後に一定時間経過したら電源ラインｐｌ０１にはＤＣ（直流）１２Ｖの電圧が印加され、電源ラインｐｌ０２にはＤＣ１２Ｖと異なる直流電圧が印加される。払出基板１７０からは電源ラインｐｌ０３が引き出され、電源ラインｐｌ０３は、遊技全般の制御処理を行う主制御部３００を構成する主基板（主制御基板）１５６に接続されている。電源ラインｐｌ０３は払出基板１７０内で電源ラインｐｌ０１に接続されている。従って、電源投入後に一定時間経過したら主基板１５６には払出基板１７０を介して電源基板１８２からＤＣ１２Ｖの電圧が供給される。なお、これらの電圧値は一例であって、駆動する回路によってこれらと異なる電圧値の電圧を印加するようにしてももちろんよい。
【１６５８】
図２２９（ｂ）に示す例では、電源基板１８２から電源ラインｐｌ０４と電源ラインｐｌ０５、および電源ラインｐｌ０６が引き出されている。電源ラインｐｌ０４は主基板１５６に接続されている。電源ラインｐｌ０５と電源ラインｐｌ０６は共に、払出基板１７０に接続されている。電源投入後に一定時間経過したら電源ラインｐｌ０４と電源ラインｐｌ０５にはＤＣ１２Ｖの電圧が印加され、電源ラインｐｌ０６にはＤＣ１２Ｖと異なる直流電圧が印加される。つまり、電源投入後に一定時間経過したら主基板１５６には払出基板１７０を介さずに、電源基板１８２から直接にＤＣ１２Ｖの電圧が供給される。
【１６５９】
図２２９（ｃ）に示す例では、電源基板１８２から電源ラインｐｌ０７、電源ラインｐｌ０８、電源ラインｐｌ０９、および電源ラインｐｌ１０が引き出されている。電源ラインｐｌ０７と電源ラインｐｌ０８は主基板１５６に接続されている。電源ラインｐｌ０９と電源ラインｐｌ１０は共に、払出基板１７０に接続されている。電源投入後に一定時間経過したら電源ラインｐｌ０７と電源ラインｐｌ０９にはＤＣ１２Ｖの電圧が印加され、電源ラインｐｌ０８にはＤＣ５Ｖの電圧が印加され、電源ラインｐｌ１０にはＤＣ５Ｖ／１２Ｖとは異なる直流電圧が印加される。つまり、電源投入後に一定時間経過したら主基板１５６には払出基板１７０を介さずに、電源基板１８２から直接にＤＣ５ＶとＤＣ１２Ｖの２種類の電圧が供給される。
【１６６０】
図２３０は、主基板１５６内の電源供給例を示している。本例では図２２９（ａ）に示す構成を用いて説明する。払出基板１７０から引き出された電源ラインｐｌ０３は主基板１５６内に引き込まれて、ＤＣ−ＤＣコンバータ７００１の入力端子に接続されている。ＤＣ−ＤＣコンバータ７００１は電源ラインｐｌ０３に印加されたＤＣ１２Ｖの電圧をＤＣ５Ｖに変換する機能を有している。ＤＣ−ＤＣコンバータ７００１で生成されたＤＣ５Ｖの電圧は電源ラインｐｌ１１に印加される。
【１６６１】
電源ラインｐｌ１１には複数の分岐ラインが接続されており、所定の分岐ラインがリセットＩＣ７００３の電源端子Ａに接続されている。電源投入後に一定時間経過したら電源端子ＡにＤＣ５Ｖの電圧が駆動電圧として印加され、これによりリセットＩＣ７００３が駆動される。また、電源ラインｐｌ１１から分岐した別の分岐ラインがマイコン（ＣＰＵ）３０４の電源端子Ｆに接続されている。電源投入後に一定時間経過したら電源端子ＦにＤＣ５Ｖの電圧がマイコン３０４の駆動電圧として印加される。なお、リセットＩＣ７００３とマイコン３０４の駆動電圧は同じでなく異なっていてもよい。また、リセットＩＣ７００３やマイコン３０４の駆動電圧の電圧値自体と電源ラインｐｌ１１に印加される電圧の電圧値が同じでなく異なっているようにいてもよい。
【１６６２】
リセットＩＣ７００３の信号入力端子Ｂは別の分岐ラインを介して電源ラインｐｌ１１に接続されている。リセットＩＣ７００３は、信号入力端子Ｂの端子電圧をモニタして、マイコン３０４の端子Ｆに印加されるマイコン３０４の駆動電圧の状態を把握するようになっている。一方、リセットＩＣ７００３の信号入力端子Ｃは所定の分岐ラインを介して電源ラインｐｌ０３に接続されている。リセットＩＣ７００３は、信号入力端子Ｃの端子電圧をモニタして、電源ラインｐｌ０３に印加されている電圧の状態を把握するようになっている。
【１６６３】
リセットＩＣ７００３には少なくとも２つの信号出力端子Ｄ、Ｅが設けられている。信号出力端子Ｄからはリセット信号（起動信号）が出力され、信号出力端子Ｅからは低電圧信号が出力される。リセットＩＣ７００３は、信号入力端子Ｂの端子電圧がマイコン３０４の動作保証電圧（例えば、４．５Ｖ）を超えていないと判断したら、信号出力端子Ｄに出力しているリセット信号をネゲート（無効）状態にする。一方、信号入力端子Ｂの端子電圧がマイコン３０４の動作保証電圧を超えたと判断したら、信号出力端子Ｄに出力しているリセット信号をアサート（有効）状態にする。つまり、信号入力端子Ｂの端子電圧がマイコン３０４の動作保証電圧（例えば、４．５Ｖ）を超えていない場合に、信号出力端子Ｄに出力されているリセット信号がネゲート状態になり、信号入力端子Ｂの端子電圧がマイコン３０４の動作保証電圧を超えた場合には、信号出力端子Ｄに出力されているリセット信号がアサート状態になる。なお、リセットＩＣ７００３の端子の数は任意であり図示のものは一例示であり、説明に必要な端子を図示しているだけであって、端子の数、配置位置は図示のものと同じでもよいし同じでなくてもよい。
【１６６４】
リセットＩＣ７００３の信号出力端子Ｄは、信号ラインｐｌ１２を介してマイコン３０４の信号入力端子Ｇに接続されている。信号入力端子Ｇはシステムリセット（ＸＳＲＳＴ）端子として用いられている。このため、信号ラインｐｌ１２に出力されているリセット信号がアサート状態になると、マイコン３０４はセキュリティモードに移行する。このように、リセットＩＣ７００３は、信号出力端子Ｄがリセット信号出力端子として機能して図４に示す起動信号出力回路３４０としての役割を果たしている。
【１６６５】
リセットＩＣ７００３は、信号入力端子Ｃの端子電圧が所定の電圧値（例えば、９Ｖ）を超えていないと判断したら、信号出力端子Ｅに出力している低電圧信号をアサート状態にする。一方、信号入力端子Ｃの端子電圧が所定の電圧値を超えたと判断したら、信号出力端子Ｅに出力している低電圧信号をネゲート状態にする。
【１６６６】
リセットＩＣ７００３の信号出力端子Ｅは、信号ラインｐｌ１３を介してマイコン３０４の信号入力端子Ｈに接続されている。信号入力端子Ｈはデータ端子Ｄ０〜Ｄ７のいずれか１つのデータ端子として用いられている。例えば、マイコン３０４は、信号ラインｐｌ１３に出力されている低電圧信号がネゲート状態になるまで、例えば図１０のステップＳ１０３とステップＳ１０５の処理を繰り返す。このように、リセットＩＣ７００３は、信号出力端子Ｅが定電圧信号出力端子として機能して図４に示す電圧監視回路３３８としての役割を果たしている。
【１６６７】
この例では信号ラインｐｌ１３上の低電圧信号がアサート状態からネゲート状態（あるいはその逆）になるときの信号入力端子Ｃの所定の閾値電圧値を９Ｖとしているがこれに限られない。例えば図１４に示す主制御部タイマ割込処理のステップＳ２３９およびステップＳ２４３における電断検出から電断処理に要する期間中にマイコン３０４が電断処理を継続できる電圧が電源端子Ｆに印加されていればよい。ＤＣ−ＤＣコンバータ７００１から電源ラインｐｌ１１に出力されるＤＣ５Ｖ電圧は、ＤＣ−ＤＣコンバータ７００１に入力する電源ラインｐｌ０３のＤＣ１２Ｖ電圧が７Ｖ程度に低下する辺りから徐々に低下を始める。そこで、信号入力端子Ｃの端子電圧が所定の電圧値（例えば、９Ｖ）未満になると、信号出力端子Ｅに出力している低電圧信号をネゲート状態からアサート状態にするようにしている。所定の電圧値として例えば９Ｖを用いれば、電源ラインｐｌ１１の電圧が徐々に低下しても主制御部タイマ割込処理のステップＳ２３９およびステップＳ２４３における電断検出から電断処理に要する期間中にマイコン３０４が動作を継続できる。
【１６６８】
図２３１は、電源基板１８２と主基板１５６内の電源供給例を示している。図２３０に示す電源供給構成と比較して説明すると、図２３０で主基板１５６内に配置されていたＤＣ−ＤＣコンバータ７００１とリセットＩＣ７００３が、図２３１に示す構成では電源基板１８２上に配置されている。これにより、電源ラインｐｌ１１と信号ラインｐｌ１２およびｐｌ１３は電源基板１８２および主基板１５６の間を跨いで配線されている。このような構成によれば、ＤＣ５Ｖ、ＤＣ１２Ｖ、およびその他の電圧値の電源を電源基板１８２で全て供給可能になるので、主基板１５６や払出基板１７０に電源供給用回路を設ける必要がなくなり、基板上の回路レイアウトに余裕を持たせることができる場合がある。
【１６６９】
図２３２は、主基板１５６内の電源供給例を示している。図２３２（ａ）は、ＣＰＵ３０４の外部マスカブル割込み端子ＸＩＮＴと外部ノンマスカブル割込み端子ＸＮＭＩに電源ラインｐｌ１１の分岐ラインを接続して、両端子ＸＩＮＴおよびＸＮＭＩにＤＣ５Ｖの電圧を常時印加している状態を示している。こうすることにより、両端子ＸＩＮＴおよびＸＮＭＩに入力する割込み信号は常にネゲート状態を維持するため、割込み端子による外部割込みを使用しない場合には、ノイズ等による誤動作を確実に防止することができる。図２３２（ｂ）に示す構成は、図２３０に示す構成におけるＣＰＵ３０４の端子Ｈが外部ノンマスカブル割込み端子ＸＮＭＩとして機能している場合を例示している。なお、割込み端子の符号のＸは、ローアクティブを示しておりＬ信号が入力されてアサート状態となるが、ハイアクティブでアサート状態になる回路の場合はＬ信号（例えば、０Ｖ）を常に入力させるようにする。
【１６７０】
図２３３は、パチンコ機１００の電源投入後の起動処理のタイムチャートである。図中左から右に向かって時間の経過を表している。図下段から中段に示す動作モード、ＸＲＳＴＯ端子、およびＸＳＲＳＴ端子は図９に示すものと同一である。図中段から上段に向かっては低電圧信号、マイコン電圧、および監視電圧を示している。低電圧信号は、例えば図２３０に示すリセットＩＣ７００３の端子Ｅから信号ラインｐｌ１３を介してＣＰＵ３０４の端子Ｈ（所定のＤ端子）に出力される信号である。マイコン電圧は、例えば図２３０に示すＣＰＵ３０４の電源端子Ｆに印加される電源ラインｐｌ１１上の電圧レベルを示している。監視電圧は、リセットＩＣ７００３の信号入力端子Ｃに入力する電源ラインｐｌ０３に印加された電圧である。
【１６７１】
図２３３に示すように、電源投入後、システムリセット信号がアサート状態になりＸＳＲＳＴ端子の信号レベルがＨになった時刻Ｔ−ＸＳＲＳＴで、監視電圧は例えば約７Ｖ、マイコン電圧は例えば約４．５Ｖになっている。システムリセット信号がアサート状態になるとセキュリティモードに移行し、セキュリティチェック処理に続きランダム延長処理が実行される。本例ではセキュリティチェックが終了した後でランダム延長処理が開始する前にＸＲＳＴＯ端子のリセット信号がアサート状態になる。ランダム延長処理の終了後にユーザモードに移行し、遊技制御用プログラムが実行されて主制御部メイン処理が開始される。
【１６７２】
電源投入後に監視電圧は所定の電圧値まで徐々に上昇する。それに伴いマイコン電圧も上昇し、システムリセット信号出力直後にほぼ５Ｖの電源電圧が得られる。監視電圧はその後も上昇し破線で示す閾値電圧レベル（下限電圧であり、例えば９Ｖ）Ｓを超えた時刻Ｔ−低電圧で低電圧信号がアサート状態からネゲート状態となる。さらに所定時間経過すると監視電圧は所定の電圧値（ＣＰＵ３０４の動作電圧値以上、電源ラインの上限電圧未満の所定の電圧）としてほぼ１２Ｖとなる。本例ではＷＤＴ３１４を自動起動させておりユーザモード開始直後からＷＤＴ３１４が自動起動される。その後、主制御部メイン処理のステップＳ１０３でＷＤＴ３１４のクリア＆リスタート処理が繰り返し実行される。図２３３ではＷＤＴ３１４の起動直後の最初のＷＤＴクリア＆リスタートを例示している。
【１６７３】
図２３４は、図２３３の破線の楕円Ｏで囲んだ範囲を拡大した監視電圧（電源ラインｐｌ０３に印加されている電圧）を示している。図２３４（ａ）、（ｂ）は図中左から右に向かって時間の経過を表している。縦方向は監視電圧の電圧値が７Ｖ〜１２Ｖまでを１Ｖ刻みで示している。図２３４（ａ）は監視電圧の理想的な上昇を示している。図２３４（ｂ）はＷＤＴ３１４のクリア＆リスタートにより生じる問題を説明する図である。図２３４（ａ）に示すように理想的には時刻Ｔ１で監視電圧が閾値電圧（９Ｖ）を超え、その後監視電圧がさらに上昇する途中で主制御部３００の最初のタイマ割込処理が開始される。監視電圧は時刻Ｔですでに閾値電圧を超えているためリセットＩＣの端子Ｅから出力される低電圧信号は最初のタイマ割込処理が開始時点ですでにネゲート状態になっている。このため最初の主制御部タイマ割込処理での電断検出の判断処理（ステップＳ２３９）では電断状態は検出されない。
【１６７４】
一方、図２３４（ｂ）はＷＤＴ３１４が自動起動した後に、主制御部メイン処理のステップＳ１０３で実行されるＷＤＴ３１４のクリア＆リスタートが繰り返し実行されている状態を示している。図２３４（ｂ）に示すようにＷＤＴ３１４のクリア＆リスタート処理が発生する度に電源ラインｐｌ０３に印加された電圧に電圧降下（ノイズ）現象が生じている。このＷＤＴ３１４のクリア＆リスタートの繰り返し処理が電源ラインｐｌ０３に印加される電圧が上昇を始める初期の段階から行われると、電圧降下の積み重ねが多くなるため、監視電圧が最初に閾値電圧を超える時刻Ｔ２が図２３４（ａ）に示す時刻Ｔ１より遅くなってしまう。このように、ＷＤＴ３１４のクリア＆リスタートの繰り返しが電源ラインｐｌ０３の印加電圧を所定電圧にまで上昇させるのを遅らせてしまい、主制御部メイン処理の処理時間が無用に長くなってしまうという問題を有している。
【１６７５】
さらに、時刻Ｔ２で監視電圧が閾値を超えてリセットＩＣ７００３の信号出力端子Ｅの低電圧信号はアサート状態からネゲート状態になっても、初回の主制御部タイマ割込処理におけるＷＤＴクリア＆リスタートにより監視電圧に電圧降下が生じると、主制御部タイマ割込み処理の電断検出の判断処理（ステップＳ２３９）の時点で、再び監視電圧が閾値レベル未満に低下してリセットＩＣ７００３の信号出力端子Ｅの低電圧信号がネゲート状態からアサート状態に戻ってしまう。こうなると、最初の主制御部タイマ割込処理の電断検出の判断処理（ステップＳ２３９）で電断状態と判断されてしまうため、電断処理（ステップＳ２４３）が実行されてしまう場合が生じ得る。