(57)【要約】      （修正有）【課題】出力ポートから出力される出力情報の内容に応じて適切に出力ポートを初期化すること。【解決手段】スロットマシンは、起動時及び電断時に、メイン制御部が備えるパラレル出力ポートのうち出力ポート０、出力ポート７については一の出力ポートのみを初期化する初期化命令により初期化し、パラレル出力ポートのうち出力ポート１，２、出力ポート３，４、出力ポート５,６、出力ポート８，９については複数の出力ポートを初期化する初期化命令により初期化する。【選択図】図１１
2018175375.tif 000002
【特許請求の範囲】
【請求項１】
遊技を行う遊技機において、
信号を出力するための複数の出力ポートと、
複数の出力ポートを初期化する初期化手段とを備え、
前記初期化手段は、所定条件が成立したときに、複数の出力ポートのうち第１出力ポートについては一の出力ポートのみを初期化する初期化命令により初期化し、複数の出力ポートのうち第２出力ポートおよび第３出力ポートについては複数の出力ポートを初期化する初期化命令により初期化する
ことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技を行う遊技機に関する。
【背景技術】
【０００２】
遊技機として、遊技球などの遊技媒体を発射装置によって遊技領域に発射し、遊技領域に設けられている入賞口などの始動入賞領域に遊技媒体が入賞したときに複数種類の識別情報の可変表示が行われるパチンコ遊技機や、所定の賭数を設定し、スタート操作が行われたときに、複数種類の識別情報（例えば、図柄）の可変表示が行われるスロットマシンなどがある。このように識別情報の可変表示を実行可能に構成された遊技機では、可変表示部において識別情報の可変表示の表示結果が所定の表示結果となった場合に、所定の遊技価値（例えば、大当たり状態への移行など）を遊技者に与えるように構成されたものがある。
【０００３】
このような遊技機として、電源の投入時に複数の出力ポートについて初期化を行う遊技機が知られている（例えば、特許文献１）。また、電断時に複数の出力ポートについて１つずつ初期化を行う遊技機が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２-１１９７２１号公報
【特許文献２】特開２００２-２１０１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１，２の遊技機は、出力ポートから出力される出力情報の内容を考慮した初期化が行われてないが、複数の出力ポートを初期化するときは、出力情報の内容に応じて一度に複数の出力ポートを初期化したほうが初期化を効率良く行うことができるため、出力情報の内容に応じて適切に出力ポートを初期化すべきである。
【０００６】
本発明は、このような問題点に着目してなされたものであり、出力ポートから出力される出力情報の内容に応じて適切に出力ポートを初期化することができる遊技機を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機（例えば、スロットマシン１）において、
信号を出力するための複数の出力ポート（例えば、出力ポート０〜出力ポート９）と、
複数の出力ポートを初期化する初期化手段（例えば、メイン制御部４１）とを備え、
前記初期化手段は、所定条件が成立したときに（例えば、起動時、電断時）、複数の出力ポートのうち第１出力ポートについては一の出力ポートのみを初期化する初期化命令により初期化し、複数の出力ポートのうち第２出力ポートおよび第３出力ポートについては複数の出力ポートを初期化する初期化命令により初期化する（例えば、図１１の処理を行う部分、図２５のＳｋ４〜Ｓｋ１１の処理を行う部分）。
この構成によれば、出力ポートから出力される出力情報の内容に応じて適切に出力ポートの初期化することができる。
【０００８】
初期化手段は、第２出力ポートおよび第３出力ポートよりも先に第１出力ポートを初期化する（例えば、図１１のＳｕ１の処理を行う部分、図２５のＳｋ４の処理を行う部分）。
この構成によれば、優先度の高い初期化を早くすることが必要な出力ポートについて個別に初期化することができる。
【０００９】
第２出力ポートおよび第３出力ポートから出力される出力情報は関連した情報である（例えば、図１０に示すように、出力ポート８，９はサブ制御部９１に対するコマンドを送信する部分）。
この構成によれば、関連する出力情報を出力する出力ポートについて、ほぼ同時期に初期化することができる。
【００１０】
出力ポートの出力状態を特定可能な出力状態データを記憶する出力状態データ記憶手段（例えば、ポート出力バッファ）を備え、
初期化手段が初期化を行うとき以外のときは、前記出力状態データ記憶手段の記憶している前記出力状態データを更新してから出力ポートの出力状態を更新し、前記初期化手段が初期化を行うときは、前記出力状態データ記憶手段の記憶している前記出力状態データを更新せずに出力ポートの出力状態を更新する。
この構成によれば、効率よく出力ポートを初期化することができる。
【００１１】
初期化手段は、複数の出力ポートのうち特定出力ポート（例えば、出力ポート８，９）から特定情報（例えば、サブ制御部９１に対するコマンド）が出力されるときは、前記特定情報の出力期間が経過したときに特定出力ポートを初期化する。
この構成によれば、意図しない情報が特定出力ポートから出力されることを防止できる。
【００１２】
設定操作（例えば、リセット/設定スイッチ３８）を検出する設定操作検出手段（例えば、メイン制御部４１）と、
前記設定操作検出手段の状態を特定するための信号が所定状態であるときに、複数種類の設定値のうちからいずれかの設定値を選択することで遊技者に対する有利度を変更可能な設定変更状態に制御可能な設定変更状態制御手段（例えば、図１３の処理を行う部分）と、
割込条件の成立に応じて割込を発生させる割込発生手段（例えば、図２４の処理を行う部分）と、
割込にもとづいて割込処理を実行する割込処理実行手段（例えば、図２４の処理を行う部分）と、
出力ポートから出力されるコマンドを格納するコマンド格納手段（例えば、コマンドキュー）とを備え、
前記割込処理の実行により前記コマンド格納手段が記憶しているコマンドが出力ポートから出力され（例えば、図２４のＳｊ２４の処理を行う部分）、
前記設定変更状態に制御されるときは、前記設定変更状態中の割込が発生する前に前記設定変更状態に関するコマンドを前記コマンド格納手段に記憶させる（例えば、図１３のＳｔ２の処理を行う部分）。
この構成によれば、設定変更状態に関するコマンドをすみやかに出力することができる。
【００１３】
設定操作（例えば、リセット/設定スイッチ３８）を検出する設定操作検出手段（例えば、メイン制御部４１）と、
前記設定操作検出手段の状態を特定するための信号が所定状態であるときに、複数種類の設定値のうちからいずれかの設定値を選択することで遊技者に対する有利度を変更可能な設定変更状態に制御可能な設定変更状態制御手段（例えば、図１３の処理を行う部分）と、
割込条件の成立に応じて割込を発生させる割込発生手段（例えば、図２４の処理を行う部分）と、
割込にもとづいて割込処理を実行する割込処理実行手段（例えば、図２４の処理を行う部分）と、
出力ポートから信号を出力するための出力データを格納する出力データ格納手段（例えば、出力バッファ）とを備え、
前記割込処理の実行により前記出力データ格納手段が記憶している出力データにもとづく信号が出力ポートから出力され（例えば、図２４のＳｊ２３の処理を行う部分）、
前記設定変更状態に制御されるときは、前記設定変更状態中の割込が発生する前に前記設定変更状態に関連して出力する出力データを前記出力データ格納手段に記憶させる（例えば、図１３のＳｔ１の処理を行う部分）。
この構成によれば、設定変更状態に関して出力する出力データをすみやかに出力することができる。
【００１４】
また、上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機（例えば、スロットマシン１）において、
信号を出力するための複数の出力ポート（例えば、出力ポート０〜出力ポート９）と、
複数の出力ポートを初期化する初期化手段（例えば、メイン制御部４１）とを備え、
前記初期化手段は、第１所定条件の成立（例えば、電断時）により複数の出力ポートを初期化するときと第２所定条件の成立（例えば、起動時）により複数の出力ポートを初期化するときとにおいて複数の出力ポートを異なる順序により初期化する（例えば、図１１の処理を行う部分、図２５のＳｋ４〜Ｓｋ１１の処理を行う部分）。
この構成によれば、初期化するときの状況に応じて適切に出力ポートの初期化を実行することができる。
【００１５】
第１所定条件は電力の供給が停止することであり、
初期化手段は、第１所定条件が成立したときに、他の情報よりも優先すべき情報を出力する出力ポートを他の出力ポートよりも優先して初期化する（例えば、図２５のＳｋ４の処理をＳｋ５〜Ｓｋ１１の処理よりも先に行う部分）。
この構成によれば、優先度の高い初期化を早くすることが必要な出力ポートについて個別に初期化をすることができる。
【００１６】
初期化手段は、所定の出力ポート以外の出力ポートについては同一の順序により初期化する（例えば、図１１及び図２５において同一順序により出力ポート７、出力ポート８、出所ポート９を初期化する部分）。
この構成によれば、効率よく出力ポートを初期化することができる。
【００１７】
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。
【図面の簡単な説明】
【００１８】
【図１】本発明が適用された実施例のスロットマシンの正面図である。
【図２】スロットマシンの内部構造を示す斜視図である。
【図３】スロットマシンの構成を示すブロック図である。
【図４】（ａ）は、流路切替ソレノイドをＯＦＦにし状態でのメダルセレクタの断面    図であり、（ｂ）は、（ａ）のＡ−Ａ断面図である。
【図５】（ａ）は、流路切替ソレノイドをＯＮにし状態でのメダルセレクタの断面図    であり、（ｂ）は、（ａ）のＢ−Ｂ断面図である。
【図６】（ａ）（ｂ）は、図４（ａ）のＣ−Ｃ断面図のうち投入メダルセンサの周辺    部であり、（ａ）は、投入メダルセンサ（物理センサ）によりメダルが検出されない    ときの断面図であり、（ｂ）は、投入メダルセンサ（物理センサ）によりメダルが検    出されるときの断面図である。
【図７】メイン制御部が搭載するＲＯＭ及びＲＡＭのメモリマップを示す図である。
【図８】メイン制御部が搭載するＲＯＭ及びＲＡＭのメモリマップの詳細を示す図で    ある。
【図９】遊技領域と非遊技領域との関係を示す図である。
【図１０】出力ポートにおける出力内容を示す図である。
【図１１】メイン制御部が行う起動時設定処理の制御内容を示すフロー図である。
【図１２】メイン制御部が行う初期設定処理の制御内容を示すフロー図である。
【図１３】メイン制御部が行う設定変更処理の制御内容を示すフロー図である。
【図１４】メイン制御部が行うメイン処理の制御内容を示すフロー図である。
【図１５】メイン制御部が行う遊技開始待ち処理の制御内容を示すフロー図である。
【図１６】メイン制御部が行うメダル投入信号処理の制御内容を示すフロー図である    。
【図１７】メイン制御部が行うメダルセンサ処理の制御内容を示すフロー図である。
【図１８】メイン制御部が行うメダルセンサチェック処理の制御内容を示すフロー図    である。
【図１９】メダル投入信号処理及びメダルセンサチェック処理においてメダルの正常    な通過が判定されるメダル投入信号の状態遷移について説明するためのタイミングチ    ャートである。
【図２０】メイン制御部が行う役比モニタ用データ処理の制御内容を示すフロー図で    ある。
【図２１】メイン制御部が行う各状態カウント処理の制御内容を示すフロー図である    。
【図２２】メイン制御部が行う役物比率更新処理の制御内容を示すフロー図である。
【図２３】累計バッファ、６０００回算出用バッファ、総累計算出用バッファの更新    状況を説明するための図である。
【図２４】メイン制御部が行うタイマ割込み処理（メイン）の制御内容を示すフロー    図である。
【図２５】メイン制御部が行う電断処理（メイン）の制御内容を示すフロー図である    。
【図２６】メイン制御部が行う非遊技関連処理の制御内容を示すフロー図である。
【図２７】メイン制御部が行うセンサ監視処理の制御内容を示すフロー図である。
【図２８】メイン制御部が行うセンサ監視処理の制御内容を示すフロー図である。
【図２９】メイン制御部が行う試験信号出力処理の制御内容を示すフロー図である。
【図３０】メイン制御部が行うメダル通過時間タイマ更新処理の制御内容を示すフロ    ー図である。
【図３１】メイン制御部が行う表示モニタ出力データ選択処理の制御内容を示すフロ    ー図である。
【図３２】メイン制御部が行う表示モニタ出力データ選択処理の制御内容を示すフロ    ー図である。
【図３３】役比モニタの点滅制御について説明するための図である。
【図３４】実施例２におけるスロットマシンの内部構造を示す正面図である。
【図３５】遊技機情報表示器の表示例を示す図である。
【図３６】遊技機情報表示器に表示されるデータの集計方法を示す図である。
【図３７】抽出処理において抽出されるデータを示す図である。
【発明を実施するための形態】
【００１９】
本発明に係る遊技機を実施するための形態を実施例に基づいて以下に説明する。
【実施例１】
【００２０】
本発明が適用された遊技機であるスロットマシンの実施例１について図面を用いて説明すると、本実施例のスロットマシン１は、図１に示すように、前面が開口する筐体１ａと、この筐体１ａの側端に回動自在に枢支された前面扉１ｂと、から構成されている。
【００２１】
本実施例のスロットマシン１の筐体１ａの内部には、図２に示すように、外周に複数種の図柄が配列されたリール２Ｌ、２Ｃ、２Ｒ（以下、左リール、中リール、右リール）が水平方向に並設されており、図１に示すように、これらリール２Ｌ、２Ｃ、２Ｒに配列された図柄のうち連続する３つの図柄が前面扉１ｂに設けられた透視窓３から見えるように配置されている。
【００２２】
リール２Ｌ、２Ｃ、２Ｒの外周部には、互いに識別可能な複数種類の図柄（例えば、「７」、「ＢＡＲ」、「スイカ」、「チェリー」、「ベル」、「リプレイ」等）が所定の順序で、それぞれ２１個ずつ描かれている。リール２Ｌ、２Ｃ、２Ｒの外周部に描かれた図柄は、前面扉１ｂの略中央に設けられた透視窓３において各々上中下三段に表示される。
【００２３】
各リール２Ｌ、２Ｃ、２Ｒは、各々対応して設けられたリールモータ３２Ｌ、３２Ｃ、３２Ｒ（図３参照）によって回転されることで、各リール２Ｌ、２Ｃ、２Ｒの図柄が透視窓３に連続的に変化しつつ表示される一方で、各リール２Ｌ、２Ｃ、２Ｒの回転が停止されることで、透視窓３に３つの連続する図柄が表示結果として導出表示されるようになっている。
【００２４】
尚、本実施例のリール２Ｌ、２Ｃ、２Ｒは、リールモータ３２Ｌ、３２Ｃ、３２Ｒを用いて、外周面に複数の図柄が配置されたリール２Ｌ、２Ｃ、２Ｒを回転させることで、遊技者から視認可能な複数の図柄を移動させる変動表示を行うことが可能な構成であるが、複数の図柄を移動させる変動表示を行う手段は、リール以外であっても良く、例えば、外周面に複数の図柄が配置されたベルトを移動させることで変動表示を行うことが可能な構成等であっても良い。
【００２５】
リール２Ｌ、２Ｃ、２Ｒの内側には、リール２Ｌ、２Ｃ、２Ｒそれぞれに対して、基準位置を検出するリールセンサ３３Ｌ、３３Ｃ、３３Ｒと、リール２Ｌ、２Ｃ、２Ｒを背面から照射するリールＬＥＤ５５と、が設けられている。また、リールＬＥＤ５５は、リール２Ｌ、２Ｃ、２Ｒの連続する３つの図柄に対応する１２のＬＥＤからなり、各図柄をそれぞれ独立して照射可能とされている。
【００２６】
また、リールセンサ３３Ｌ、３３Ｃ、３３Ｒは、各リール２Ｌ、２Ｃ、２Ｒについて図柄番号１の図柄の領域の下端が各リールにおける所定位置を通過するときに、検出信号を出力するように配置されており、各リールについて図柄番号１の図柄の領域の下端がリール基準位置となる。
【００２７】
前面扉１ｂの各リール２Ｌ、２Ｃ、２Ｒの手前側（遊技者側）の位置には、液晶表示器５１（図１参照）の表示領域５１ａが配置されている。液晶表示器５１は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域５１ａの透視窓３に対応する透過領域５１ｂ及び透視窓３を介して遊技者側から各リール２Ｌ、２Ｃ、２Ｒが視認できるようになっている。
【００２８】
前面扉１ｂには、図１に示すように、メダルを投入可能なメダル投入部４、メダルが払い出されるメダル払出口９、クレジット（遊技者所有の遊技用価値として記憶されているメダル数）を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作されるＭＡＸＢＥＴスイッチ６、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する（クレジット及び賭数の設定に用いた分のメダルを返却させる）際に操作される精算スイッチ１０、ゲームを開始する際に操作されるスタートスイッチ７、リール２Ｌ、２Ｃ、２Ｒの回転を各々停止する際に操作されるストップスイッチ８Ｌ、８Ｃ、８Ｒ、演出に用いられる演出用スイッチ５６が遊技者により操作可能にそれぞれ設けられている。
【００２９】
尚、本実施例では、回転を開始した３つのリール２Ｌ、２Ｃ、２Ｒのうち、最初に停止するリールを第１停止リールと称し、また、その停止を第１停止と称する。同様に、２番目に停止するリールを第２停止リールと称し、また、その停止を第２停止と称し、３番目に停止するリールを第３停止リールと称し、また、その停止を第３停止あるいは最終停止と称する。
【００３０】
また、前面扉１ｂには、図１に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器１１、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器１２、賭数が１設定されている旨を点灯により報知する１ＢＥＴＬＥＤ１４、賭数が２設定されている旨を点灯により報知する２ＢＥＴＬＥＤ１５、賭数が３設定されている旨を点灯により報知する３ＢＥＴＬＥＤ１６、メダルの投入が可能な状態を点灯により報知する投入要求ＬＥＤ１７、スタートスイッチ７の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効ＬＥＤ１８、ウェイト（前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態）中である旨を点灯により報知するウェイト中ＬＥＤ１９、リプレイゲーム中である旨を点灯により報知するリプレイ中ＬＥＤ２０が設けられた遊技用表示部１３が設けられている。
【００３１】
ＭＡＸＢＥＴスイッチ６の内部には、ＭＡＸＢＥＴスイッチ６の操作による賭数の設定操作が有効である旨を点灯により報知するＢＥＴスイッチ有効ＬＥＤ２１（図３参照）が設けられており、ストップスイッチ８Ｌ、８Ｃ、８Ｒの内部には、該当するストップスイッチ８Ｌ、８Ｃ、８Ｒによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ（図３参照）がそれぞれ設けられており、演出用スイッチ５６の内部には、演出用スイッチ５６の操作が有効である旨を点灯により報知する演出用ＬＥＤ５６ａ（図３参照）が設けられている。
【００３２】
前面扉１ｂの内側には、図２に示すように、所定のキー操作により前面扉１ｂを開放することなく後述するエラー状態及び打止状態を解除するためのリセット操作を検出するリセットスイッチ２３、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器２４、所定の契機に打止状態（リセット操作がなされるまでゲームの進行が規制される状態）に制御する打止機能の有効／無効を選択するための打止スイッチ３６ａ、所定の契機に自動精算処理（クレジットとして記憶されているメダルを遊技者の操作によらず精算（返却）する処理）に制御する自動精算機能の有効／無効を選択するための自動精算スイッチ３６ｂ、メダル投入部４から投入されたメダルの流路を、筐体１ａの内部に設けられた後述のホッパータンク３４ａ（図２参照）側またはメダル払出口９側のいずれか一方に選択的に切り替えるための流路切替ソレノイド３０、メダル投入部４から投入され、ホッパータンク３４ａ側に流下したメダルを検出する投入メダルセンサ３１、投入メダルセンサ３１の上流側で異物の挿入を検出する投入口センサ２６を有するメダルセレクタ２９、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５（図３参照）が設けられている。
【００３３】
筐体１ａの内部には、図２に示すように、前述したリール２Ｌ、２Ｃ、２Ｒ、リールモータ３２Ｌ、３２Ｃ、３２Ｒ（図３参照）、各リール２Ｌ、２Ｃ、２Ｒのリール基準位置をそれぞれ検出可能なリールセンサ３３Ｌ、３３Ｃ、３３Ｒ（図３参照）からなるリールユニット２、外部出力信号を出力するための外部出力基板１０００（図３参照）、メダル投入部４から投入されたメダルを貯留するホッパータンク３４ａ、ホッパータンク３４ａに貯留されたメダルをメダル払出口９より払い出すためのホッパーモータ３４ｂ（図３参照）、ホッパーモータ３４ｂの駆動により払い出されたメダルを検出する払出センサ３４ｃ（図３参照）からなるホッパーユニット３４、電源ボックス１００が設けられている。
【００３４】
ホッパーユニット３４の側部には、ホッパータンク３４ａからあふれたメダルが貯留されるオーバーフロータンク３５が設けられている。オーバーフロータンク３５の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ３５ａ（図３参照）が設けられている。
【００３５】
電源ボックス１００の前面には、図２に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ３７、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率（出玉率）の設定値を変更するための設定スイッチとして機能するリセット／設定スイッチ３８、電源をｏｎ／ｏｆｆする際に操作される電源スイッチ３９が設けられている。
【００３６】
尚、電源ボックス１００は、筐体１ａの内部に設けられており、さらに前面扉１ｂは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス１００の前面に設けられた設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ２３も同様である。特に、設定キースイッチ３７は、キー操作により前面扉１ｂを開放したうえで、さらにキー操作を要することから、遊技店の店員のなかでも、設定キースイッチ３７の操作を行うキーを所持する店員のみ操作が可能とされている。
【００３７】
本実施例のスロットマシン１においてゲームを行う場合には、まず、メダルをメダル投入部４から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはＭＡＸＢＥＴスイッチ６を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインＬＮ（図１参照）が有効となり、スタートスイッチ７の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
【００３８】
入賞ラインとは、各リール２Ｌ、２Ｃ、２Ｒの透視窓３に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図１に示すように、リール２Ｌの中段、リール２Ｃの中段、リール２Ｒの中段、すなわち中段に水平方向に並んだ図柄に跨がって設定された入賞ラインＬＮのみが入賞ラインとして定められている。尚、本実施例では、１本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
【００３９】
また、本実施例では、入賞ラインＬＮに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインＬＮとは別に、無効ラインＬＭ１〜４（ＬＭ１は、左中右リールの各上段にわたるラインであり、ＬＭ２は、左中右リールの各中段にわたるラインであり、ＬＭ３は、左中右リールの各下段にわたるラインであり、ＬＭ４は、左リールの下段、中リールの中段、右リールの上段にわたるラインである。）を設定している。無効ラインＬＭ１〜４は、これら無効ラインＬＭ１〜４に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインＬＭ１〜４のいずれかに入賞ラインＬＮに揃った場合に入賞となる図柄の組合せ（例えば、ベル‐ベル‐ベル）が揃う構成とすることで、入賞ラインＬＮに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。
【００４０】
本実施例では、図１に示すように、リール２Ｌの上段、リール２Ｃの上段、リール２Ｒの上段、すなわち上段に水平方向に並んだ図柄に跨がって設定された無効ラインＬＭ１、リール２Ｌの下段、リール２Ｃの下段、リール２Ｒの下段、すなわち下段に水平方向に並んだ図柄に跨がって設定された無効ラインＬＭ２、リール２Ｌの上段、リール２Ｃの中段、リール２Ｒの下段、すなわち右下がりに並んだ図柄に跨がって設定された無効ラインＬＭ３、リール２Ｌの下段、リール２Ｃの中段、リール２Ｒの上段、すなわち右上がりに並んだ図柄に跨がって設定された無効ラインＬＭ４の４種類が無効ラインＬＭとして定められている。
【００４１】
また、本実施例では、入賞役として、入賞ラインＬＮに役として定められた所定の図柄の組合せ（例えば、「ベル‐スイカ‐チェリー」）が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインＬＭ１〜ＬＭ４のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ（例えば、「スイカ‐スイカ‐スイカ」）が揃うことにより、無効ラインＬＭ１〜ＬＭ４のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインＬＮに揃ったときに無効ラインＬＭ１〜ＬＭ４のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。
【００４２】
ゲームが開始可能な状態でスタートスイッチ７を操作すると、各リール２Ｌ、２Ｃ、２Ｒが回転し、各リール２Ｌ、２Ｃ、２Ｒの図柄が連続的に変動する。この状態でいずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒを操作すると、対応するリール２Ｌ、２Ｃ、２Ｒの回転が停止し、透視窓３に表示結果が導出表示される。
【００４３】
そして全てのリール２Ｌ、２Ｃ、２Ｒが停止されることで１ゲームが終了し、入賞ラインＬＮ上に予め定められた図柄の組合せ（以下、役ともいう）が各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数（本実施例では５０）に達した場合には、メダルが直接メダル払出口９（図１参照）から払い出されるようになっている。また、入賞ラインＬＮ上に、遊技状態の移行を伴う図柄の組合せが各リール２Ｌ、２Ｃ、２Ｒの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
【００４４】
尚、本実施例では、スタートスイッチ７の操作が有効な状態でスタートスイッチ７の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための１単位の制御（ゲーム制御）は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
【００４５】
また、本実施例では、３つのリールを用いた構成を例示しているが、リールを１つのみ用いた構成、２つのリールを用いた構成、４つ以上のリールを用いた構成としても良く、２以上のリールを用いた構成においては、２以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。
【００４６】
また、本実施例におけるスロットマシン１にあっては、ゲームが開始されて各リール２Ｌ、２Ｃ、２Ｒが回転して図柄の変動が開始した後、いずれかのストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに、当該ストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作が行われたときから、対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止するまでの最大停止遅延時間は１９０ミリ秒（ｍｓ）である。
【００４７】
リール２Ｌ、２Ｃ、２Ｒは、１分間に８０回転し、８０×２０（１リール当たりの図柄コマ数）＝１６００コマ分の図柄を変動させるので、１９０ミリ秒の間では最大で４コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ８Ｌ、８Ｃ、８Ｒが操作されたときに表示されている図柄と、そこから４コマ先までにある図柄、合計５コマ分の図柄である。
【００４８】
このため、例えば、ストップスイッチ８Ｌ、８Ｃ、８Ｒのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合は、当該基準とした図柄から４コマ先までの図柄を下段に表示させることができるため、リール２Ｌ、２Ｃ、２Ｒ各々において、ストップスイッチ８Ｌ、８Ｒのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの入賞ライン上に表示されている図柄を含めて５コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
【００４９】
以下では、特に区別する必要がない場合にはリール２Ｌ、２Ｃ、２Ｒを単にリールという場合がある。また、リール２Ｌを左リール、リール２Ｃを中リール、リール２Ｒを右リールという場合がある。また、ストップスイッチ８Ｌ、８Ｃ、８Ｒの操作によりリール２Ｌ、２Ｃ、２Ｒを停止させる操作を停止操作という場合がある。
【００５０】
図３は、スロットマシン１の構成を示すブロック図である。スロットマシン１には、図３に示すように、遊技制御基板４０、演出制御基板９０、電源基板１０１が設けられており、遊技制御基板４０によって遊技の制御が行われ、演出制御基板９０によって遊技状態に応じた演出の制御が行われ、電源基板１０１によってスロットマシン１を構成する電気部品の駆動電源が生成され、各部に供給される。
【００５１】
電源基板１０１には、外部からＡＣ１００Ｖの電源が供給されるとともに、このＡＣ１００Ｖの電源からスロットマシン１を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板４０及び演出制御基板９０に供給されるようになっている。また、電源基板１０１には、前述したホッパーモータ３４ｂ、払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８、電源スイッチ３９が接続されている。
【００５２】
遊技制御基板４０には、前述したＭＡＸＢＥＴスイッチ６、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、精算スイッチ１０、リセットスイッチ２３、打止スイッチ３６ａ、自動精算スイッチ３６ｂ、投入メダルセンサ３１、ドア開放検出スイッチ２５、リールセンサ３３Ｌ、３３Ｃ、３３Ｒが接続されているとともに、電源基板１０１を介して前述した払出センサ３４ｃ、満タンセンサ３５ａ、設定キースイッチ３７、リセット／設定スイッチ３８が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。また、遊技制御基板４０には、前述したクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１、左、中、右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、設定値表示器２４、流路切替ソレノイド３０、リールモータ３２Ｌ、３２Ｃ、３２Ｒが接続されているとともに、電源基板１０１を介して前述したホッパーモータ３４ｂが接続されており、これら電気部品は、遊技制御基板４０に搭載されたメイン制御部４１の制御に基づいて駆動されるようになっている。
【００５３】
遊技制御基板４０には、メインＣＰＵ４１ａ、ＲＯＭ４１ｂ、ＲＡＭ４１ｃ、Ｉ／Ｏポート４１ｄを備えたマイクロコンピュータにより構成され、内部抽選用の乱数を生成する乱数回路等を備えており、遊技の進行に関する処理を行うとともに遊技制御基板４０に搭載された制御回路の各部を直接的または間接的に制御するメイン制御部４１と、遊技制御基板４０に直接または電源基板１０１を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部４１に伝送するスイッチ検出回路４４と、メイン制御部４１から出力されたモータ駆動信号（ステッピングモータの位相信号）をリールモータ３２Ｌ、３２Ｃ、３２Ｒに伝送するモータ駆動回路４５と、メイン制御部４１から出力されたソレノイド駆動信号を流路切替ソレノイド３０に伝送するソレノイド駆動回路４６と、メイン制御部４１から出力されたＬＥＤ駆動信号を遊技制御基板４０に接続された各種表示器やＬＥＤに伝送するＬＥＤ駆動回路４７と、スロットマシン１に供給される電源の電圧を監視して電圧の低下を検出したときに、その旨を示す電圧低下信号をメイン制御部４１に対して出力する電断検出回路４８と、電源投入時または電源遮断時等の電力供給が不安定な状態においてメイン制御部４１にシステムリセット信号を与えるリセット回路４９と、が搭載されている。
【００５４】
メイン制御部４１は、サブ制御部９１に各種のコマンドを送信する。メイン制御部４１からサブ制御部９１へ送信されるコマンドは一方向のみで送られ、サブ制御部９１からメイン制御部４１へ向けてコマンドが送られることはない。
【００５５】
また、Ｉ／Ｏポート４１ｄは、出力ポート０〜９を含み、メイン制御部４１は、出力ポート０及び出力ポート１よりリールモータ３２Ｌ、３２Ｃ、３２Ｒの制御信号を出力可能であり、出力ポート２より左・中・右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒの制御信号、流路切替ソレノイド３０の制御信号を出力可能であり、出力ポート３よりホッパーモータ３４ｂの制御信号、外部出力信号を出力可能であり、出力ポート４及び出力ポート５よりクレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１の制御信号を出力可能であり、出力ポート６より試験信号を出力可能であり、出力ポート７より外部出力信号を出力可能であり、出力ポート８及び出力ポート９よりコマンドを出力可能である。
【００５６】
メイン制御部４１は、メイン処理として遊技制御基板４０に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部４１は、一定時間間隔（本実施例では、約０．５６ミリ秒）毎にタイマ割込処理（メイン）を実行する。尚、タイマ割込処理（メイン）の実行間隔は、メイン処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込処理（メイン）の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込処理（メイン）との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
【００５７】
演出制御基板９０には、演出用スイッチ５６が接続されており、この演出用スイッチ５６の検出信号が入力されるようになっている。また、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置が接続されており、これら演出装置は、演出制御基板９０に搭載されたサブ制御部９１による制御に基づいて駆動されるようになっている。尚、本実施例では、演出制御基板９０に搭載されたサブ制御部９１により、液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５等の演出装置の出力制御が行われる構成であるが、サブ制御部９１とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板９０または他の基板に搭載し、サブ制御部９１がメイン制御部４１からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部９１が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部９１及び出力制御部の双方によって演出装置の出力制御が行われることとなる。また、本実施例では、演出装置として液晶表示器５１、演出効果ＬＥＤ５２、スピーカ５３、５４、リールＬＥＤ５５を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
【００５８】
演出制御基板９０は、サブＣＰＵ９１ａ、ＲＯＭ９１ｂ、ＲＡＭ９１ｃ、Ｉ／Ｏポート９１ｄを備えたマイクロコンピュータにより構成されて演出の制御を行うサブ制御部９１と、演出制御基板９０に接続された液晶表示器５１の表示制御を行う表示制御回路９２と、演出効果ＬＥＤ５２と、リールＬＥＤ５５の駆動制御を行うＬＥＤ駆動回路９３と、スピーカ５３、５４からの音声出力制御を行う音声出力回路９４と、電源投入時またはサブＣＰＵ９１ａからの初期化命令が一定時間入力されないときにサブＣＰＵ９１ａにリセット信号を与えるリセット回路９５と、演出制御基板９０に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路９６と、日付情報及び時刻情報を含む時間情報を出力する時計装置９７と、スロットマシン１に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブＣＰＵ９１ａに対して出力する電断検出回路９８と、その他の回路等、が搭載されている。
【００５９】
サブ制御部９１は、遊技制御基板４０から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板９０に搭載された制御回路の各部を直接的または間接的に制御する。
【００６０】
本実施例のスロットマシン１は、設定値に応じてメダルの払出率が変わる構成である。詳しくは、内部抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は１〜６の６段階からなり、６が最も払出率が高く、５、４、３、２、１の順に値が小さくなるほど払出率が低くなる。すなわち設定値として６が設定されている場合には、遊技者にとって最も有利度が高く、５、４、３、２、１の順に値が小さくなるほど有利度が段階的に低くなる。
【００６１】
設定値を変更するためには、設定キースイッチ３７をｏｎ状態としてからスロットマシン１の電源をｏｎする必要がある。設定キースイッチ３７をｏｎ状態として電源をｏｎすると、設定値表示器２４にＲＡＭ４１ｃから読み出された設定値が表示値として表示され、リセット／設定スイッチ３８の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット／設定スイッチ３８が操作されると、設定値表示器２４に表示された表示値が１ずつ更新されていく（設定値６からさらに操作されたときは、設定値１に戻る）。そして、スタートスイッチ７が操作されると表示値を設定値として確定する。そして、設定キースイッチ３７がｏｆｆされると、確定した表示値（設定値）がメイン制御部４１のＲＡＭ４１ｃに格納され、遊技の進行が可能な状態に移行する。
【００６２】
本実施例のスロットマシン１は、遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインＬＮが有効化される。
【００６３】
そして、本実施例では、全てのリール２Ｌ、２Ｃ、２Ｒが停止した際に、有効化された入賞ライン（本実施例の場合、常に入賞ラインＬＮが有効化されるため、以下では、有効化された入賞ラインＬＮを単に入賞ラインという）上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
【００６４】
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、内部抽選に当選して、当該役の当選フラグがＲＡＭ４１ｃに設定されている必要がある。内部抽選は、メイン制御部４１が、上記した各役への入賞を許容するか否かを、全てのリール２Ｌ、２Ｃ、２Ｒの表示結果が導出される以前（具体的には、スタートスイッチ７の検出時）に乱数を用いて決定するものである。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
【００６５】
また、内部抽選では、特別役と重複して当選する一般役（以下、重複当選役と呼ぶ）が設けられており、内部抽選にて当該重複当選役が当選した場合には、特別役も重複して当選し得るようになっており、当該重複当選役を構成する図柄組合せがリール２Ｌ、２Ｃ、２Ｒに停止することで、特別役が当選している可能性がある旨が示唆されるようになっている。
【００６６】
また、内部抽選では、予め定められた所定の停止順で停止操作が行われる場合にのみ当該役を構成する図柄を入賞ラインＬＮに揃えて停止させ、入賞を発生させることが可能な小役、再遊技役（以下押し順役と呼ぶ場合がある）と、停止順によらず役を構成する図柄を入賞ラインＬＮに揃えて停止させ、入賞を発生させることが可能な小役、再遊技役（非押し順役と呼ぶ場合がある）とが当選し得るようになっている。
【００６７】
また、内部抽選では、当選し得る役として、通常の役とは異なる特殊役（特殊小役または特殊再遊技役）が含まれており、内部抽選にて特殊役が当選することで、規定のゲーム数にわたり後述のアシストタイム（以下、ＡＴという）に制御される権利（以下、ＡＴの権利という）が当選し得るようになっている。
【００６８】
本実施例のスロットマシン１は、メイン制御部４１により、内部抽選結果に応じて遊技者にとって有利となるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作態様を遊技補助表示器１２の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム（以下、ＡＴという）に制御可能となっており、ＡＴに制御される権利が当選し、所定の開始条件（例えば、ＡＴの権利の当選後、所定のゲーム数が経過すること、ＡＴの権利の当選後、所定の図柄組合せがリール２Ｌ、２Ｃ、２Ｒに停止すること等）が成立することで、メイン制御部４１はＡＴの制御を開始して、ＡＴに制御する。そして、ＡＴに制御している場合には、遊技状態に応じたナビ対象役（前述の押し順役のうち該当する役）に当選することにより、ナビ報知を実行して、遊技者にとって有利となるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作態様（押し順、操作タイミング）を報知するとともに、遊技者にとって有利となる操作態様を特定可能なコマンドをサブ制御部９１に対して送信することで、液晶表示器５１等を用いたナビ演出を実行させる。ナビ報知及びナビ演出により報知される操作態様にて、ストップスイッチ８Ｌ、８Ｃ、８Ｒを操作することで、内部抽選にて当選した押し順役を確実に入賞させることができるようになっている。尚、本実施例においてメイン制御部４１は、ＡＴに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
【００６９】
次に、メイン制御部４１が行うリール２Ｌ、２Ｃ、２Ｒの停止制御について説明する。メイン制御部４１は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、当選番号及びＲＯＭ４１ｂに格納されているテーブルインデックス、テーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ８Ｌ、８Ｃ、８Ｒのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ８Ｌ、８Ｃ、８Ｒに対応するリール２Ｌ、２Ｃ、２Ｒの回転を停止させる制御を行う。
【００７０】
本実施例では、滑りコマ数として０〜４の値が定められており、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大５コマの範囲から図柄の停止位置を指定できるようになっている。また、１図柄分リールを移動させるのに１コマの移動が必要であるので、停止操作を検出してから最大４図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大５図柄の範囲から図柄の停止位置を指定できることとなる。
【００７１】
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大４コマの引込範囲で揃えずに停止させる制御が行われることとなる。
【００７２】
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大４コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大４コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、４コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。
【００７３】
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大４コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール２Ｌ、２Ｃ、２Ｒのいずれについても５図柄以内、すなわち４コマ以内の間隔で配置されており、４コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ８Ｌ、８Ｃ、８Ｒの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。
【００７４】
尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。
【００７５】
［メダルセレクタについて］
前面扉１ｂの内側に配置されたメダルセレクタ２９の構造について、図４〜図６に基づいて説明する。尚、以下の説明において、前面扉１ｂの裏面側からメダルセレクタ２９を見た状態を、メダルセレクタ２９の前面側として説明する。
【００７６】
メダルセレクタ２９は、図４及び図５に示すように直方体形状に構成されており、当該メダルセレクタ２９の本体部の上側壁には、当該本体部の内部へメダルが流入可能な流入口１４１が設けられ、本体部の左側壁には、当該本体部の内部からホッパータンク３４ａ側の外部へメダルが流出可能な流出口１４２が設けられ、本体部の下側壁には、当該本体部の内部からメダル払出口９側の外部へメダルを排出可能な排出口１４３が設けられている。そして、メダルセレクタ２９の本体部の内部には、流入口１４１から流出口１４２に連通する正面視略Ｌ字状のメダル流下流路が形成されている。このメダル流下流路の側壁は、図４（ｂ）及び図５（ｂ）に示すように、流下するメダルの上端が下端よりも前方側に傾く姿勢となるように下方から上方にかけて前面側に傾斜している。また、流入口１４１から排出口１４３に連通する正面視略Ｓ字状のメダル流下流路が形成されている。以下、メダルセレクタ２９の本体部の内部のメダル流下流路のうち流入口１４１側の流路をメダル流入流路２９ａ、流出口１４２側の流路をメダル受入流路２９ｂ、排出口１４３側の流路をメダル返却流路２９ｃと呼ぶ。
【００７７】
メダルセレクタ２９では、投入されたメダルの真偽（形状、大きさ、厚み等）が判別されるようになっており、真正なメダルは、流入口１４１から流入した後、メダルセレクタ２９の本体部内部のメダル流入流路２９ａ及びメダル受入流路２９ｂを流下して、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを通過することで、投入メダルセンサ３１ａ〜３１ｃにて検出された後、流出口１４２から流出される。そして、当該メダルは、メダルシュート１４２ａ（図２参照）を介して、ホッパータンク３４ａに導かれるようになっている。一方、偽メダルは、流入口１４１から流入した後、メダル流入流路２９ａの流下中にメダル返却流路２９ｃへ落下させられて、当該メダル返却流路２９ｃを流下し、排出口１４３から流出される。そして、当該メダルは、メダルセレクタ２９の下方に設けられたメダル返却通路（図示略）を介してメダル払出口９（図１参照）から下皿に返却されるようになっている。
【００７８】
また、メダル流入流路２９ａ、メダル受入流路２９ｂ、メダル返却流路２９ｃの合流部分には、メダルセレクタ２９の本体部の前面側に設けられる流路切替ソレノイド３０（図３参照）の励磁に連係して、メダル流入流路２９ａを流下するメダルがメダル受入流路２９ｂへ流入する前に、当該メダルをメダル流入流路２９ａから下方に向けて強制的に落下させて、当該メダルをメダル返却流路２９ｃに流入させるための流路切替板１４７が揺動自在に設けられている。
【００７９】
流路切替板１４７は、流路切替ソレノイド３０が励磁されていない状態、すなわちメダルの受付が許可されていない状態において、図４（ａ）（ｂ）に示すように、メダル流入流路２９ａの下方側が開放状態となり、メダル流入流路２９ａとメダル返却流路２９ｃが連通した状態となるように搖動可能である。また、流路切替ソレノイド３０が励磁されている状態、すなわちメダルの受付が許可されている状態において、図５（ａ）（ｂ）に示すように、流路切替板１４７の上部が図中左方向（矢印Ａ方向）に揺動することで、流路切替板１４７の上端面がメダル流入流路２９ａの底面を構成する状態となり、メダル流入流路２９ａの下方側を閉鎖状態として、メダル流入流路２９ａとメダル返却流路２９ｃが連通しない状態となるように搖動可能に構成されている。このような構成により、流路切替ソレノイド３０が励磁されている状態では、流入口１４１から流入してメダル流入流路２９ａを流下するメダルは流路切替板１４７の上端面に沿って流下し、メダル受入流路２９ｂに流入して流出口１４２から流出されるようになっている。
【００８０】
また、メダル流入流路２９ａの上流側には、流入口１４１から流入したメダルの通過を検出する投入口センサ２６が設けられており、メダル受入流路２９ｂの下流側には、流出口１４２に排出されるメダルの通過を検出する投入メダルセンサ３１ａ〜３１ｃが設けられている。
【００８１】
投入メダルセンサ３１ａ〜３１ｃのうち投入メダルセンサ３１ａ及び３１ｃは、投光部と受光部の間をメダルが通過することにより受光部が投光部からの光の遮断を検知することでメダルの通過を検出するフォトセンサであり、投入メダルセンサ３１ｂは、メダルの通過に連動して動作する可動片１８０の動作を検知器１８３により検知することでメダルの通過を検出する物理センサである。尚、以下、投入メダルセンサ３１ａを投入メダルセンサ１、投入メダルセンサ３１ｂを投入メダルセンサ２、投入メダルセンサ３１ｃを投入メダルセンサ３と呼ぶ場合がある。また、投入メダルセンサ３１ａ〜３１ｃによりメダルの通過が検出される範囲を検出範囲Ａと呼ぶ場合がある。
【００８２】
次に、物理センサである投入メダルセンサ３１ｂの構成について、図４〜図６に基づいて説明する。図６（ａ）（ｂ）は、図４（ａ）のＣ−Ｃ断面図のうち投入メダルセンサ３１ｂの周辺を示す図であり、図６（ａ）は、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過していないときの図であり、図６（ｂ）は、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過しているときの図である。
【００８３】
図４（ａ）、図５（ａ）、図６（ａ）（ｂ）に示すように、メダルセレクタ２９におけるメダル受入流路２９ｂの下流側の下方部分の側壁に、投入メダルセンサ３１ｂの可動片１８０が、メダル受入流路２９ｂに出没可能に設けられている。また、図６（ａ）（ｂ）に示すように、メダル受入流路２９ｂの外部における可動片１８０に対応する位置に、検知器１８３が設置されている。検知器１８３は、検知部１８３ａに投光部と受光部が設けられている。
【００８４】
そして、図６（ａ）に示すように、可動片１８０は、メダル受入流路２９ｂをメダルが通過する際に、メダルが可動片１８０の先端部１８０ｂをメダル受入流路２９ｂ内から退けることにより、可動片１８０の端部に設けられた被検知部１８０ａを、検知部１８３ａの投光部と受光部の間に進入させるようになっており、投光部から受光部へ照射される光が遮断されて、検知器１８３によりメダルの通過が検出されるようになっている。一方、図６（ｂ）に示すように、可動片１８０は、メダル受入流路２９ｂをメダルが通過していない状態では、当該可動片１８０の先端部１８０ｂがメダル受入流路２９ｂ内に突出するように付勢されている。この状態では、可動片１８０の被検知部１８０ａが検知部１８３ａの投光部と受光部の間に進入せず、検知部１８３ａの投光部から受光部に照射される光を遮断することがないので、検知器１８３によりメダルの通過が検出されないようになっている。
【００８５】
［メイン制御部のメモリ領域とプログラムについて］
図７は、メイン制御部４１が用いるメモリ領域のアドレスマップである。図７に示すように、メイン制御部４１が用いるメモリ領域は、ＲＯＭ４１ｂに割り当てられたメモリ領域（００００Ｈ〜７ＦＦＦＨ）と、ＲＡＭ４１ｃに割り当てられたメモリ領域（Ｆ０００Ｈ〜ＦＦＦＦＨ）と、を含む。
【００８６】
ＲＯＭ４１ｂのメモリ領域は、プログラム及び固定データが格納されるプログラム／データ領域（００００Ｈ〜２６ＦＦＨ）と、プログラムのタイトル、バージョン等の任意のデータを設定可能なＲＯＭコメント領域（２７００Ｈ〜２７７ＦＨ）と、後述するＣＡＬＬＶ命令のサブルーチンの上位アドレス及びタイマ割込処理（メイン）の先頭アドレスが設定されるベクタテーブル領域（２７８０Ｈ〜２７Ａ７Ｈ）と、メイン制御部４１の内部機能をハードウェア的に設定するためのパラメータが設定されるＨＷパラメータ領域（２７Ａ８Ｈ〜２７ＦＦＨ）と、アクセスが禁止される未使用領域（２８００Ｈ〜７ＦＦＦＨ）を含む。
【００８７】
ＲＯＭ４１ｂにおけるＨＷパラメータ領域に設定されるパラメータは、プログラム／データ領域で使用するＲＯＭ領域の最終アドレス（ＨＰＲＧＥＮＤ）、アクセス禁止するＲＡＭ領域の開始アドレス（ＨＲＡＭＳＴＡＴ）及び最終アドレス（ＨＲＡＭＥＮＤ）を含む。
【００８８】
ＲＡＭ４１ｃのメモリ領域は、ワークとして使用可能な使用可能領域（Ｆ０００Ｈ〜Ｆ４００Ｈ）と、メイン制御部４１に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域（Ｆ４Ｂ０Ｈ〜Ｆ６ＦＦＨ）と、アクセスが禁止される未使用領域（Ｆ４０１Ｈ〜Ｆ４ＡＦＨ、Ｆ７００Ｈ〜ＦＦＦＦＨ）と、を含む。
【００８９】
図８は、メイン制御部４１のＲＯＭ４１ｂにおけるプログラム／データ領域及びＲＡＭ４１ｃにおける使用可能領域のアドレスマップである。
【００９０】
図８（ａ）に示すように、ＲＯＭ４１ｂにおけるプログラム／データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域１と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域２と、を含む。
【００９１】
尚、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階、を進行させることである。
【００９２】
遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちＲＯＭ４１ｂの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも１６バイト以上の未使用領域１が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【００９３】
また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも１６バイト以上の未使用領域１を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、を記憶領域の違いに応じて容易に特定することができる。
【００９４】
尚、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。
【００９５】
また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【００９６】
また、遊技プログラム領域と、非遊技プログラム領域と、が未使用領域１を挟んで隣接する領域に割り当てられる構成としても良く、このような構成であっても、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【００９７】
また、ＲＯＭ４１ｂのプログラム／データ領域の未使用領域１、２には、全ての領域に０値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域１、２と、を容易に区別することができるとともに、未使用領域１、２に不正なデータが格納されている場合でも容易に発見することができる。
【００９８】
尚、ＲＯＭ４１ｂのプログラム／データ領域の未使用領域１、２における全ての領域に１が格納される構成としても良く、このような構成とした場合でも、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域１、２と、を容易に区別することができるとともに、未使用領域１、２に不正なデータが格納されている場合でも容易に発見することができる。
【００９９】
また、遊技プログラム領域と、非遊技プログラム領域と、が別個の領域に割り当たられた構成であれば、遊技プログラム領域と、非遊技プログラム領域と、が隣接する領域にわら当てられる構成としても良く、このような構成であっても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
【０１００】
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを２進数表記した場合に下位４桁の値が同じ０のアドレス（０Ｈ）から開始するようになっており、ＲＯＭ４１ｂのプログラム／データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。
【０１０１】
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを２進数表記した場合に下位４桁の値が同じ０のアドレスから開始するだけでなく、１６進数表記した場合に下位１桁の値が同じ０のアドレス（０Ｈ）から開始するので、アドレスを２進数表記した場合だけでなく、１６進数表記した場合にも遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することができる。
【０１０２】
尚、遊技プログラム領域及び非遊技プログラム領域がいずれも、アドレスを２進数表記したか、１６進数表記したか、に関わらず、下位Ｎ（Ｎは１以上の自然数）桁が同じ値のアドレスから開始する構成であれば、遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することが可能であり、例えば、下位Ｎ（Ｎは１以上の自然数）桁の値が同じ１のアドレスから開始する構成でも同様の効果が得られるものである。
【０１０３】
図８（ｂ）に示すように、ＲＡＭ４１ｃの使用可能領域は、遊技プログラムがワークとして用いる遊技ＲＡＭ領域と、非遊技プログラムがワークとして用いる非遊技ＲＡＭ領域と、未使用領域４と、を含んでおり、遊技ＲＡＭ領域には、特別ワークと、重要ワークと、一般ワークと、未使用領域３と、遊技プログラムがデータを退避する遊技スタック領域と、が含まれ、非遊技ＲＡＭ領域には、遊技プログラムが参照可能な領域と、遊技プログラムが参照不可能な領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、が含まれる。尚、本実施例では、遊技スタック領域と非遊技スタック領域とをそれぞれ異なる領域に個別に備える構成であるが、遊技プログラム及び非遊技プログラムが共用する一のスタック領域を備える構成としても良い。
【０１０４】
未使用領域３は、遊技プログラム及び非遊技プログラムのいずれも使用しない領域であり、予め定められた容量の遊技ＲＡＭ領域に対して余剰となった領域である。
【０１０５】
また、未使用領域４は、遊技プログラム及び非遊技プログラムのいずれも使用しない１６バイト以上の領域である。遊技ＲＡＭ領域と、非遊技ＲＡＭ領域とが、未使用領域４を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技ＲＡＭ領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技ＲＡＭ領域と、を記憶領域の違いに応じて容易に特定することができる。
【０１０６】
以下では、遊技プログラム領域、遊技データ領域及び遊技ＲＡＭ領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技ＲＡＭ領域をまとめて非遊技領域と称す場合がある。また、未使用領域１及び未使用領域２、未使用領域３及び未使用領域４をまとめて未使用領域と称す場合がある。
【０１０７】
メイン制御部４１は、ＨＷパラメータ領域に設定されるパラメータに基づいて、ＲＯＭ４１ｂのプログラム／データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、ＲＡＭ４１ｃの使用可能領域のうちアクセスが許可に設定されていない領域へのアクセスがあったとき、ＲＯＭ４１ｂのうちプログラム／データ領域以外の領域へのアクセスがあったとき、ＲＡＭ４１ｃのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるので、ＲＯＭ４１ｂの未使用領域や動作とは関係しない領域、ＲＡＭ４１ｃの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
【０１０８】
特に本実施例では、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域（遊技プログラム領域から非遊技データ領域までの領域）へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム／データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１０９】
また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１１０】
尚、プログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、プログラム／データ領域のうち遊技プログラム領域を含む一かたまりの領域（遊技プログラム領域から遊技データ領域までの領域）、非遊技プログラムを含む一かたまりの領域（非遊技プログラム領域から非遊技データ領域までの領域）へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム／データ領域のうち遊技プログラム領域を含む一かたまりの領域（遊技プログラム領域から遊技データ領域までの領域）、非遊技プログラムを含む一かたまりの領域（非遊技プログラム領域から非遊技データ領域までの領域）へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１１１】
また、上記では、プログラム／データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム／データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。
【０１１２】
メイン制御部４１は、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、ＩＡＴ回路５０６ａがＩＡＴ発生信号を出力することで、遊技の進行を不能化させるので、ＲＯＭ４１ｂの未使用領域や動作とは関係しない領域、ＲＡＭ４１ｃの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
【０１１３】
特に本実施例では、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１１４】
また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１１５】
尚、プログラム／データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域１が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域（遊技プログラム領域から非遊技データ領域までの領域）について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム／データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ＲＯＭ４１ｂのうちプログラムによってアクセスが許可されたプログラム／データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、ＨＷパラメータ領域に設定されるパラメータに基づいて、プログラム／データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域（遊技プログラム領域から非遊技データ領域までの領域）について、ＩＡＴ回路５０６ａがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
【０１１６】
また、上記では、プログラム／データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム／データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。
【０１１７】
［プログラムが用いる命令について］
メイン制御部４１が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンとを含む。
【０１１８】
また、メイン制御部４１にプログラム／データ領域に格納されたプログラムを実行させる命令として、ＣＡＬＬ命令を含む。
【０１１９】
ＣＡＬＬ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部４１は、ＣＡＬＬ命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちＣＡＬＬ命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。
【０１２０】
また、ＣＡＬＬ命令は、通常のＣＡＬＬ命令と、特殊なＣＡＬＬ命令であるＣＡＬＬＶ命令と、を含む。通常のＣＡＬＬ命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、ＣＡＬＬＶ命令は、下位アドレスのみを指定することで、ＲＯＭ４１ｂのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であり、通常のＣＡＬＬ命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。
【０１２１】
ＲＳＴ命令は、予め定められた複数の特定アドレスに対応する値を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令であり、上記した通常のＣＡＬＬ命令やＣＡＬＬＶ命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。メイン制御部４１は、ＲＳＴ命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちＲＳＴ命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。
【０１２２】
ジャンプ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたプログラムに移動する命令である。メイン制御部４１は、ジャンプ命令により指定されたアドレスに格納されたプログラムに移動し、移動先のプログラムを実行する。この場合には、ＣＡＬＬ命令やＲＳＴ命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。
【０１２３】
ＲＯＭ４１ｂに格納された遊技プログラムのうち特に使用頻度の高いサブルーチンは、ＲＯＭ４１ｂの遊技プログラム領域のうち先頭アドレスが特定値（例えば００Ｈ）となる領域に格納されている。一方、ＲＯＭ４１ｂのベクタテーブル領域には、ＣＡＬＬＶ命令で呼び出すサブルーチンの上位アドレスとして特定値が設定されている。そして、メイン制御部４１は、先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、ＣＡＬＬＶ命令を用いて下位アドレスのみ指定することで、上位アドレスとしてベクタテーブル領域に設定された特定値を特定し、下位アドレスとして指定された下位アドレスを特定し、上位及び下位を合わせたアドレスに格納されたサブルーチンを呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが特定値として予めベクタテーブルに設定されており、ベクタテーブルに設定された特定値に基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のＣＡＬＬ命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１２４】
本実施例では、ＣＡＬＬＶ命令により用いられるＲＯＭ４１ｂのベクタテーブル領域、及びＲＳＴ命令により用いられるＲＯＭ４１ｂの特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、ＣＡＬＬＶ命令及びＲＳＴ命令では通常のＣＡＬＬ命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能であるため、遊技プログラムにおいてＣＡＬＬＶ命令やＲＳＴ命令を用いることで、当該遊技プログラムのデータ容量を削減することができるようになっている。また、ＲＯＭ４１ｂのベクタテーブル領域及び特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、非遊技プログラムの先頭が格納されないようになっており、ＣＡＬＬＶ命令及びＲＳＴ命令により非遊技プログラムが呼び出されるようになってしまい、遊技プログラムのデータ容量の削減を阻害することがないようになっている。
【０１２５】
尚、ＲＯＭ４１ｂに格納された非遊技プログラムのうち特に使用頻度の高いサブルーチンを、ＲＯＭ４１ｂの非遊技プログラム領域のうち先頭アドレスが特定値となる領域に格納するとともに、ＲＯＭ４１ｂのベクタテーブル領域に、ＣＡＬＬＶ命令で呼び出すサブルーチンの上位アドレスとして特定値を設定し、メイン制御部４１が先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、ＣＡＬＬＶ命令を用いて下位アドレスのみ指定することで、これらのサブルーチンを呼び出して実行する構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のＣＡＬＬ命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１２６】
また、ＣＡＬＬＶ命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部４１の特定のレジスタに設定する構成としても良い。
【０１２７】
また、ＣＡＬＬＶ命令に限らず、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、サブルーチンの格納アドレスが特定可能となる特殊なＣＡＬＬ命令を用いる構成であれば、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれサブルーチンの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたサブルーチンの格納アドレスを特定可能となる特殊なＣＡＬＬ命令を用いる構成であっても、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１２８】
また、ＲＯＭ４１ｂに格納された遊技データのうち特に使用頻度の高い遊技データを、ＲＯＭ４１ｂの遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ＲＯＭ４１ｂのベクタテーブル領域に、特殊なＬＤ命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部４１が先頭アドレスの上位アドレスが特定値となる遊技データを呼び出すときに、特殊なＬＤ命令を用いて下位アドレスのみ指定することで、これらの遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のＬＤ命令に比較して少ないデータ量にて遊技データを呼び出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１２９】
また、ＲＯＭ４１ｂに格納された非遊技データのうち特に使用頻度の高い非遊技データを、ＲＯＭ４１ｂの非遊技データ領域のうち先頭アドレスが特定値となる領域に格納するとともに、ＲＯＭ４１ｂのベクタテーブル領域に、特殊なＬＤ命令で読み出すデータの上位アドレスとして特定値を設定し、メイン制御部４１が先頭アドレスの上位アドレスが特定値となる非遊技データを呼び出すときに、特殊なＬＤ命令を用いて下位アドレスのみ指定することで、これらの非遊技データを読み出す構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のＬＤ命令に比較して少ないデータ量にて非遊技データを呼び出すことが可能となり、これらの非遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１３０】
メイン制御部４１は、システムリセット信号の入力によるシステムリセット、ＷＤＴ（ウォッチドックタイマ、図示略）によるＷＤＴリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値、すなわちＣＡＬＬＶ命令のサブルーチンの上位アドレス及びタイマ割込処理（メイン）の先頭アドレスが、プログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはＦＦＦＦＨ（未使用のベクタテーブル領域に設定される値）であるか、を判定し、ベクタテーブル領域に設定された値がプログラムの設定される領域外を示す値でもなく、ＦＦＦＦＨでもない場合には、起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
【０１３１】
メイン制御部４１にプログラム／データ領域に格納されたデータを読み出す命令としてＬＤ命令を含む。ＬＤ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部４１は、ＬＤ命令により指定されたアドレスに格納されたデータを読み出し、ＬＤ命令により指定されたレジスタに読み出したデータを格納する。
【０１３２】
また、ＬＤ命令は、通常のＬＤ命令と、特殊なＬＤ命令であるＬＤＱ命令と、を含む。通常のＬＤ命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりＲＯＭ４１ｂまたはＲＡＭ４１ｃの特定領域に格納されているデータを読み出す命令であるのに対して、ＬＤＱ命令は、下位アドレスのみを指定することで、前述のＲＡＭ４１ｃの内部機能レジスタ領域における特別なレジスタ（Ｑレジスタ）に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してＲＯＭ４１ｂまたはＲＡＭ４１ｃの特定領域に格納されているデータを読み出して指定されたレジスタに読み出したデータを格納する命令であり、通常のＬＤ命令に比較して少ないデータ量で所定のデータを所定のレジスタに格納することが可能となる。
【０１３３】
メインルーチンまたはサブルーチンにおいてＲＯＭ４１ｂ、ＲＡＭ４１ｃの特定領域に格納されているデータを読み出す場合に、特殊なＬＤ命令であるＬＤＱ命令を用いることで、特定領域を示す全てのアドレス（上位部分及び下位部分）を指定するのではなく、アドレスの下位部分のみを指定して特定領域のデータを読み出すことが可能である。ＬＤＱ命令を用いることで、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のＬＤ命令に比較して少ないデータ量にてデータを読み出すことが可能となり、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１３４】
また、ＲＡＭ４１ｃの遊技ＲＡＭ領域に格納された遊技データのうち特に使用頻度の高い遊技データを、遊技ＲＡＭ領域のうち先頭アドレスが特定値となる領域に格納するとともに、当該特定値を特別なレジスタ（Ｑレジスタ）に遊技データの上位アドレスとして設定し、当該遊技データをメイン制御部４１が読み出すときに、ＬＤＱ命令を用いて下位アドレスのみ指定することで、遊技データを読み出す構成とした場合に、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のＬＤ命令に比較して少ないデータ量にて遊技データを読み出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１３５】
また、メイン制御部４１は、特別なレジスタ（Ｑレジスタ）に設定する値を、メインルーチンまたはサブルーチンにおいて変更することが可能であり、後述するように起動時において行う初期設定処理での内蔵レジスタの設定において、特別なレジスタ（Ｑレジスタ）に、特に遊技プログラムによる使用頻度の高い遊技データの先頭アドレスを示す特定値を設定するようになっている。また、遊技プログラムから非遊技プログラムを呼び出す際には、特別なレジスタ（Ｑレジスタ）に設定する値を退避し、遊技プログラムに復帰した際に、特別なレジスタ（Ｑレジスタ）に設定する値を退避していた値に再び設定するようになっている。これらにより、遊技プログラムが実行されているときには、遊技プログラムによる使用頻度の高い遊技データの先頭アドレスを示す特定値が特別なレジスタ（Ｑレジスタ）に設定されるようになっており、遊技プログラムは、ＬＤＱ命令を用いて使用頻度の高い遊技データを読み出すことができるようになっている。
【０１３６】
尚、特殊なＬＤ命令としてＬＤＱ命令で読み出す際に用いる上位アドレスを、特別なレジスタ（例えば、Ｑレジスタ）以外の所定の記憶領域、例えば、ベクタテーブル領域に設定する構成としても良く、ベクタテーブル領域などの所定の記憶領域に格納された値を用いてアドレスの一部が特定され、アドレスの残りの部分をプログラムにより指定することで、データの格納アドレスが特定可能となる特殊なＬＤ命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、例えば、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なＬＤ命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
【０１３７】
また、本実施例では、Ｑレジスタに特定値として、特定プログラムにおいて用いられる値と同一の値を記憶させる構成であるが、特定プログラムにおいて用いられる値と異なる値を記憶させる構成としても良い。例えば、非特プログラムが呼び出される際に、Ｑレジスタに特定値として特定プログラムにおいて用いられる値と異なる値であって、非遊技プログラムにおける使用頻度の高いデータの記憶されている記憶領域の先頭アドレスの値を記憶させ、非特定プログラムにおいてデータを呼び出す際にＬＤＱ命令を用いることで、非特定プログラムのデータ容量を削減することができる。
【０１３８】
遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。
【０１３９】
遊技プログラムでは、前述のＣＡＬＬ命令やＬＤ命令について、特殊なＣＡＬＬ命令であるＣＡＬＬＶ命令、ＲＳＴ命令、特殊なＬＤ命令であるＬＤＱ命令を含むいずれの命令も使用されることがあり、特殊なＣＡＬＬ命令を用いてアドレスを特定してサブルーチンを呼び出すことも、特殊なＬＤ命令を用いてＲＯＭ４１ｂ、ＲＡＭ４１ｃにおける特定の遊技データ、非遊技データを読み出すことも可能になっている。
【０１４０】
非遊技プログラムでは、前述のＣＡＬＬ命令について、通常のＣＡＬＬ命令が使用される一方、特殊なＣＡＬＬ命令であるＣＡＬＬＶ命令が使用されないようになっており、通常のＣＡＬＬ命令を用いてアドレスを特定してサブルーチンを呼び出すことがある一方で、特殊なＣＡＬＬ命令を用いてサブルーチンを呼び出すことがなく、非遊技プログラムによりＲＯＭ４１ｂにおける遊技プログラム領域にアクセスされてしまうことがないようになっている。
【０１４１】
また、非遊技プログラムでは、前述のＬＤ命令について、通常のＬＤ命令、特殊なＬＤ命令であるＬＤＱ命令も使用されることがあり、通常のＬＤ命令を用いてアドレスを特定して所定のデータを読み出すことも、特殊なＬＤ命令を用いてサブルーチンやデータを読み出すことも可能となっている。
【０１４２】
このように、本実施例では、特殊なＣＡＬＬ命令であるＣＡＬＬＶ命令やＲＳＴ命令により用いられるＲＯＭ４１ｂのベクタテーブル領域及び特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、これらの特殊なＣＡＬＬ命令を用いることで遊技プログラムを呼び出すことが可能になっている。このように特殊なＣＡＬＬ命令により遊技プログラムのみを呼び出すことが可能な場合には、非遊技プログラムにより特殊なＣＡＬＬ命令が用いられることで、非遊技プログラムにより遊技プログラムが呼び出されてしまい、意図しない遊技の進行が行われたり、意図しない遊技プログラムにより遊技データが書き換えられたりしてしまう虞がある。これに対して、非遊技プログラムにより特殊なＣＡＬＬ命令によらず通常ＣＡＬＬ命令によりプログラムを呼び出すことで、ベクタテーブル領域及び特定アドレスの領域を用いないことにより、意図せず遊技プログラムが呼び出されて遊技の進行が行われることを防止できるようになっている。
【０１４３】
また、本実施例では、特殊なＬＤ命令であるＬＤＱ命令は、特別なレジスタ（Ｑレジスタ）に記憶されている特定値を用いて遊技ＲＡＭ領域を特定して、所定の遊技データを読み出すことが可能になっており、非特定プログラムでも特殊なＬＤ命令を使用することで、非特定プログラムのデータ容量を削減しつつ、遊技データを容易に読み出すことができるようになっている。
【０１４４】
尚、特殊なＬＤ命令であるＬＤＱ命令は、特別なレジスタ（Ｑレジスタ）に記憶されている特定値を用いて遊技ＲＡＭ領域を特定して、所定の遊技データを読み出すことが可能になっているが、特殊なＬＤ命令により遊技データを読み出す際に、特別なレジスタ（Ｑレジスタ）の特定値が破損している場合には、遊技ＲＡＭ領域を正常に特定することができず、意図しないデータが読み出されてしまう虞がある。これに対して、非遊技プログラムにより特殊なＬＤ命令であるＬＤＱ命令によらず通常のＬＤ命令によりデータを読み出すようにすることで、遊技プログラムから非遊技プログラムに切り替わったときに特定値が破損した場合でも、非遊技プログラムから遊技ＲＡＭ領域を特定してデータが読み出されるので、意図しないデータが読み出されることを防止できる。
【０１４５】
［遊技の流れについて］
本実施例においてメイン制御部４１のメインＣＰＵ４１ａは、図９に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。
【０１４６】
図９に示すように、メインＣＰＵ４１ａは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技ＲＡＭ領域をワークとして使用し、遊技ＲＡＭ領域の内容を参照及び更新することが可能である。また、メインＣＰＵ４１ａは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技ＲＡＭ領域をワークとして使用し、非遊技ＲＡＭ領域の内容を参照及び更新することが可能である。
【０１４７】
また、メインＣＰＵ４１ａは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技ＲＡＭ領域を更新することはないが、非遊技ＲＡＭ領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技ＲＡＭ領域を更新することはないが、遊技ＲＡＭ領域を参照することは可能である。
【０１４８】
また、遊技プログラムに基づく処理は、非遊技ＲＡＭ領域のうち遊技プログラムに必要な特定の領域（例えば、異常の検知を示すエラーフラグの設定領域等）のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされている。また、非遊技ＲＡＭ領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技ＲＡＭ領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。
【０１４９】
このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技ＲＡＭ領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。
【０１５０】
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてＲＯＭ４１ｂに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
【０１５１】
また、本実施例では、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技ＲＡＭ領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技ＲＡＭ領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。
【０１５２】
また、本実施例では、遊技プログラムに基づく処理は、非遊技ＲＡＭ領域のうち遊技プログラムに必要な特定の領域（例えば、異常の検知を示すエラーフラグの設定領域等）のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技ＲＡＭ領域のうち非遊技プログラムに必要な特定の領域（例えば、内部当選フラグの設定領域、遊技状態の設定領域、ＲＴの設定領域等）のみ参照可能とされているので、遊技プログラムが非遊技ＲＡＭ領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。
【０１５３】
［出力ポートにおける出力内容について］
図１０に示すように、メイン制御部４１が備えるパラレル出力ポートは出力ポート０〜出力ポート９を備えている。
【０１５４】
パラレル出力ポートのうち出力ポート０は、リールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号を出力可能である。
【０１５５】
パラレル出力ポートのうち出力ポート１は、リールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号を出力可能である。なお、本実施形態では、出力ポート０と出力ポート１とを一対として用い、各々のポートからの信号により対象物を駆動させる。具体的には、出力ポート０と出力ポート１との出力端子に同一対象物を割り当て、各ポートから同一の信号を出力することにより、同一対象物を駆動させている。より具体的には、出力ポート０の一部の端子と出力ポート１の一部の端子を用いてリールモータ２Ｃの駆動信号を出力するように構成されている。出力ポート０と出力ポート１のいずれか一方のみの駆動信号ではリールモータ３２Ｃが正常に動作しないため、出力ポート０と出力ポート１とを一対で用いることによりリールモータ３２Ｃを正常に動作させることができる。
【０１５６】
パラレル出力ポートのうち出力ポート２は、左・中・右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ、流路切替ソレノイド３０の制御信号を出力可能である。
【０１５７】
パラレル出力ポートのうち出力ポート３は、ホッパーモータ３４ｂの駆動信号、外部出力信号を出力可能である。
【０１５８】
パラレル出力ポートのうち出力ポート４は、クレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１の制御信号を出力可能である。
【０１５９】
パラレル出力ポートのうち出力ポート５は、クレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０、ＢＥＴスイッチ有効ＬＥＤ２１の制御信号を出力可能である。なお、本実施形態では、出力ポート４と出力ポート５とを一対として用い、各々のポートからの信号により対象物を駆動させる。具体的には、出力ポート４と出力ポート５とから時分割により信号を出力することによって、複数の異なる対象物の駆動タイミングを変化させながら該対象物を順次駆動させるものである。より具体的には、出力ポート４からは上記表示器やＬＥＤの点灯データが出力される。一方、出力ポート５からは上記表示器やＬＥＤのうちいずれを点灯させるのかを特定するデータが出力される。よって、出力ポート４及び出力ポート５を組み合せて各々から制御信号を出力することより上記表示器やＬＥＤを状況に応じて点灯させ、出力ポート４及び出力ポート５から出力する信号を時分割により異ならせることにより、上記表示器やＬＥＤを順次駆動させることが可能になっている。
【０１６０】
パラレル出力ポートのうち出力ポート６は、試験用信号を出力可能である。
【０１６１】
パラレル出力ポートのうち出力ポート７は、外部出力信号を出力可能である。
【０１６２】
パラレル出力ポートのうち出力ポート８は、サブ制御部９１に対するコマンドを出力可能である。
【０１６３】
パラレル出力ポートのうち出力ポート９は、サブ制御部９１に対するコマンドを出力可能である。なお、本実施形態では、出力ポート８と出力ポート９とを一対として用い、各々のポートからのコマンドにより対象物を駆動させる。具体的には、出力ポート８と出力ポート９との各々からコマンドを出力することによって、サブ制御部９１にコマンドの種類に応じた制御を行わせるものである。より具体的には、出力ポート８からはコマンドの種類に応じたデータを示すコマンドデータが出力される。一方、出力ポート９からはサブ制御部９１がコマンドデータを取り込むための演出制御ＩＮＴ信号が出力される。そして、出力ポート８及び出力ポート９の各々からコマンドを出力することにより、サブ制御部９１はメイン制御部４１から受信したコマンドの種類に応じた制御を行うことが可能になっている。
【０１６４】
メイン制御部４１が遊技プログラム及び非遊技プログラムを実行することで行う各種処理の制御内容について、図１１〜図３３に基づいて説明する。
【０１６５】
［メイン制御部４１の起動時の処理と初期設定処理について］
メイン制御部４１が行う起動時の処理と初期設定処理について、図１１及び図１２に基づいて説明する。起動時の処理、初期設定処理は、遊技プログラムに含まれるサブルーチンである。
【０１６６】
メイン制御部４１は、スロットマシン１への電力供給が開始された際に、リセットの発生によりタイマ割込みが禁止に設定された状態で起動し、ＲＯＭ４１ｂに格納されているプログラムに従って各種処理を行う。
【０１６７】
起動した後は、メイン制御部４１は、まず、遊技プログラムに含まれる起動時設定処理を行う。
【０１６８】
図１１に示すように、起動時設定処理はタイマ割込みが禁止された状態で開始され、起動時設定処理では、まず、メイン制御部４１が備えるパラレル出力ポートのうちリールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号が出力される出力ポート０を初期化する初期化命令により出力ポート０を初期化し（Ｓｕ１）、リール２Ｌ、２Ｃ、２Ｒの回転が停止した状態とする。
【０１６９】
次いで、パラレル出力ポートのうちリールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号が出力される出力ポート１を初期化する初期化命令により出力ポート１を初期化するとともに、左・中・右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ及び流路切替ソレノイド３０の制御信号が出力される出力ポート２を初期化する初期化命令により出力ポート２を初期化する（Ｓｕ２）。これにより、リール２Ｌ、２Ｃ、２Ｒの回転が停止した状態とするとともに、流路切替ソレノイド３０への制御信号の出力が停止した状態とする。
【０１７０】
次いで、パラレル出力ポートのうちホッパーモータ３４ｂの駆動信号等が出力される出力ポート３を初期化する初期化命令により出力ポート３を初期化して出力状態をＯＦＦ状態にするとともに、クレジット表示器１１の制御信号等が出力される出力ポート４を初期化する初期化命令により出力ポート４を初期化する（Ｓｕ３）。これにより、ホッパーユニット３４によりメダルの払い出しが停止した状態にするとともに、クレジット表示器１１への制御信号等の出力が停止した状態とする。
【０１７１】
次いで、クレジット表示器１１の制御信号等が出力される出力ポート５を初期化する初期化命令により出力ポート５を初期化するとともに、試験用信号を出力する出力ポート６を初期化する初期化命令により出力ポート６を初期化する（Ｓｕ４）。これにより、クレジット表示器１１の制御信号等及び試験用信号の出力が停止した状態とする。
【０１７２】
次いで、外部出力信号を出力する出力ポート７を初期化する初期化命令により出力ポート７を初期化する（Ｓｕ５）。これにより、外部出力信号の出力が停止した状態とする。
【０１７３】
次いで、サブ制御部９１に対してコマンドを送信する出力ポート８、９を初期化する初期化命令により出力ポート８、９を初期化する（Ｓｕ６）。これにより、コマンドの送信を停止した状態とする。
【０１７４】
以上のように、出力ポート０、出力ポート７については一の出力ポートのみを初期化する初期化命令（例えば、「Ａ」）により初期化を行うのに対し、出力ポート１及び出力ポート２、出力ポート３及び出力ポート４、出力ポート５及び出力ポート６、出力ポート８及び出力ポート９については複数の出力ポートを初期化する初期化命令（例えば、「ＨＬ」）により初期化を行う。このように、出力ポートの出力内容に応じて複数の出力ポートをまとめて初期化するので、全ての出力ポートを一の出力ポートのみを初期化する初期化命令により初期化した場合に比べて初期化のためのプログラムの容量を削減することができる。
【０１７５】
なお、本実施例では、出力ポート０〜９の出力状態を特定可能な出力状態データを記憶するポート出力バッファがＲＡＭ４１ｃの所定領域に設けられている。メイン制御部４１は、起動時及び電断時（図２５のＳｋ４〜Ｓｋ１１参照）に出力ポート０〜９を初期化するときには、ポート出力バッファの出力状態データを更新せずに出力ポート０〜９の出力状態を直接更新することにより、出力ポート０〜９を初期化する。一方、起動時及び電断時（図２５のＳｋ４〜Ｓｋ１１参照）以外のとき（図２４のＳｊ３０の処理を行うとき）に出力ポート０〜９を初期化するときには、ポート出力バッファの出力状態データを更新してから出力ポート０〜９の出力状態を直接更新することにより、出力ポート０〜９を初期化する。
【０１７６】
メイン制御部４１は、起動時設定処理が終了した後は、メイン制御部４１が備える内部レジスタをＲＯＭ４１ｂの所定領域に予め設定されている内蔵レジスタ初期化テーブルに基づいて初期化した、遊技プログラムに含まれる初期設定処理を行う。
【０１７７】
図１２に示すように、初期設定処理はタイマ割込みが禁止された状態で開始され、初期設定処理では、まず、入力ポートの所定領域を参照して（Ｓａ１）、電断検出回路４８から出力される電断検出信号がＯＮ状態であるか否かを判定する（Ｓａ２）。そして、電断検出信号がＯＮ状態である場合には、電断検出信号がＯＦＦ状態となるまで待機する。その後、スロットマシン１の電源電圧が正常となり、電断検出信号がＯＦＦ状態となった後は、ＲＡＭ４１ｃの所定領域のパリティを算出し（Ｓａ３）、スタックポインタに予め定められた初期アドレスを設定する（Ｓａ４）。そして、Ｓａ３のステップにおいて算出したパリティが正常であるか否かを判定し（Ｓａ５）、パリティが正常ある場合には、電断時にＲＡＭ４１ｃの所定領域に設定されたＲＡＭ破壊診断用固定データを取得して（Ｓａ６）、当該ＲＡＭ破壊診断用固定データに基づきＲＡＭ４１ｃの記憶内容が破壊されていないか否かを診断する（Ｓａ７）。
【０１７８】
Ｓａ５のステップにおいてパリティが正常であると判定した場合、及びＳａ７のステップにおいてＲＡＭ４１ｃの記憶内容を診断した場合は、Ｓａ３のステップにおいて算出したＲＡＭのパリティとＳａ７における診断の結果に基づいて、ＲＡＭ４１ｃに異常があるか否かを判定する（Ｓａ８）。尚、ＲＡＭ４１ｃに異常がある場合とは、パリティが正常でない場合、またはパリティが正常であるが記憶内容に異常があると診断した場合である。
【０１７９】
そして、ＲＡＭ４１ｃに異常がある場合には、メイン制御部４１が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させた後（Ｓａ９）、非遊技プログラムに含まれる非遊技ＲＡＭ領域初期化処理を呼び出して行う（Ｓａ１０）。そして、非遊技ＲＡＭ領域初期化処理において、ＲＡＭ４１ｃの非遊技ＲＡＭ領域を初期化した後、初期設定処理に戻る。そして、初期設定処理に戻った際には、Ｓａ９のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、ＲＡＭ領域初期化処理を行う前の状態にフラグレジスタを復帰させる（Ｓａ１１）。
【０１８０】
非遊技ＲＡＭ領域初期化処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰにより示される遊技スタック領域の現在のアドレスの値を、非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時にスタックポインタＳＰにより示されるアドレスとして非遊技ＲＡＭ領域の所定領域に記憶されている値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、上述のフラグレジスタを含むメイン制御部４１が備えるすべてのレジスタの値を、スタックポインタＳＰにより特定される非遊技ＲＡＭ領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、初期化対象ＲＡＭの先頭アドレス（未使用領域４の最初のアドレス）と終了アドレス（非遊技ＲＡＭ領域の最後のアドレス）を指定し、当該先頭アドレスを指定アドレスの初期値として指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象ＲＡＭの先頭アドレスから終了アドレスまでの領域（本実施例では、未使用領域４の最初から非遊技ＲＡＭ領域の最後までの領域）を初期化する。そして、非遊技ＲＡＭ領域初期化処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技ＲＡＭ領域初期化処理を開始したときの状態にすべてのレジスタを復帰させる。その後、非遊技ＲＡＭ領域初期化処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、非遊技ＲＡＭ領域初期化処理を開始したときの状態にスタックポインタＳＰを復帰させて、非遊技ＲＡＭ領域初期化処理を終了させる。
【０１８１】
尚、非遊技ＲＡＭ領域初期化処理において、初期化対象ＲＡＭの先頭アドレスと終了アドレスとを指定することで、初期化対象ＲＡＭの容量を算出し、当該容量分のＲＡＭ領域を初期化対象ＲＡＭの先頭アドレスから順次クリアすることで、初期化対象ＲＡＭの先頭アドレスから終了アドレスまでの領域を初期化する構成としても良い。
【０１８２】
Ｓａ８のステップにおいてＲＡＭ４１ｃに異常がないと判定した場合、及びＳａ１１のステップにおいてレジスタを復帰させた場合は、ＲＡＭ４１ｃに設定されているＲＡＭ破壊診断用固定データをクリアして（Ｓａ１２）、ＲＡＭ４１ｃに異常がある場合に初期化処理を行う対象となる遊技ＲＡＭ領域のアドレスを指定するためのＲＡＭ破壊時初期化開始アドレスを設定する（Ｓａ１３）。その後、入力ポート２を参照して設定キースイッチ３７がＯＮ状態であるか否かを判定する（Ｓａ１４）。
【０１８３】
Ｓａ１４のステップにおいて設定キースイッチ３７がＯＮ状態であると判定した場合は、設定変更処理を行う。設定変更処理では、リセット／設定スイッチ３８及びスタートスイッチ７が所定の手順で操作されることにより設定値が確定され、設定キースイッチ３７がＯＦＦにされたことが検出されることで、設定変更処理を終了して、遊技を進行可能な状態に移行する。また、設定変更処理では、設定変更処理を開始する際に、設定変更処理を開始する旨を示す設定コマンド（開始）をサブ制御部９１に対して送信し、設定変更処理を終了する際に、設定変更処理を終了する旨を示す設定コマンド（終了）するようになっている。また、設定変更処理では、設定変更処理を終了する際に、設定変更時の初期化対象ＲＡＭ領域の先頭アドレスを指定し、メイン処理のＳｂ４７のステップに復帰する。そして、Ｓｂ４７のステップにおいてＲＡＭ初期化処理が行われることで、設定変更時の初期化対象ＲＡＭ領域の先頭アドレスから遊技ＲＡＭ領域の終端のアドレスまでの領域、すなわちすべての遊技ＲＡＭ領域が初期化されるようになっている。尚、ＲＡＭ４１ｃの使用中のスタック領域を除く全ての遊技ＲＡＭ領域を初期する構成としても良い。
【０１８４】
Ｓａ１４のステップにおいて設定キースイッチ３７がＯＮ状態でないと判定した場合は、Ｓａ３のステップにおいて算出したＲＡＭのパリティとＳａ７における診断結果に基づいて、ＲＡＭ４１ｃに異常があるか否かを判定し（Ｓａ１５）、ＲＡＭ４１ｃに異常がないと判定した場合には、外部出力信号を出力するための出力バッファをクリアする（Ｓａ１６）。また、ＲＡＭ４１ｃの所定領域に設定されており、後述のメイン処理においてリールの回転エラーが検出された回数を計数するためのリールエラーカウンタをクリアする（Ｓａ１７）。その後、ＲＡＭ４１ｃの記憶内容に基づいてスタックポインタＳＰに電断時のアドレスを設定することで、スタックポインタを電断時の状態に復帰させ（Ｓａ１８）、ポート入力処理を２回連続で行う（Ｓａ１９、Ｓａ２０）。
【０１８５】
ポート入力処理は、パラレル入力ポート５１１に入力される各種スイッチ類の検出信号等の入力状態に関する入力状態データ（各種スイッチ類の現在の入力状態を示す入力データ、前回と今回の入力データが同じ状態である旨を示す確定データ、前回から確定データが変化した旨を示すエッジデータ）を更新する処理である。ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域には、各種スイッチ類の入力状態データを格納するポート入力バッファ０〜２が設けられており、ポート入力処理により更新される各種スイッチ類の入力状態データは、その種類毎に予め定められたポート入力バッファの所定ビットに格納されるようになっている。ポート入力処理では、パラレル入力ポート５１１の入力ポート０〜２にされる各種スイッチ類の検出状態（ＯＮ状態またはＯＦＦ状態）を入力データとして、ポート入力バッファの所定ビットに格納する。また、前回と今回のポート入力処理での検出状態（ＯＮ状態またはＯＦＦ状態）を比較して、今回と前回の入力データが同じ状態である場合には、今回の入力データの検出状態を示すように確定データを更新する一方、今回と前回の入力データが異なる状態である場合には、前回の確定データを維持する。また、今回と前回の確定データを比較して、確定データがＯＦＦ状態からＯＮ状態に変化した場合には、確定データがＯＦＦ状態からＯＮ状態に変化した旨を示すＯＮエッジデータをポート入力バッファ０〜２の所定ビットに格納し、確定データがＯＮ状態からＯＦＦ状態に変化した場合には、確定データがＯＮ状態からＯＦＦ状態に変化した旨を示すＯＦＦエッジデータをポート入力バッファ０〜２の所定ビットに格納する。ポート入力バッファに格納された各種スイッチ類の入力データ、確定データ、エッジデータは、遊技プログラム及び非遊技プログラムから参照することが可能である。
【０１８６】
また、初期設定処理では、ポート入力処理を２回連続して行うことで、その後、ポート入力処理が行われる際に、初期設定処理が行われた以後の各種スイッチ類の入力状態すなわちスロットマシン１への電力供給が再開された後の各種スイッチ類の入力状態に基づいて、各種スイッチ類の検出信号等の入力状態に関する入力状態データが作成されるので、意図しない入力状況が特定されてしまうことを防止できるようになっている。また、ポート入力処理において、３回以上のポート入力処理により取得された入力データ（例えば、今回、前回及び前々回の入力データ）に基づいて確定データを作成する構成でも良い。このような構成では、確定データを作成するために必要なポート入力処理の回数よりも１回少ない回数連続してポート入力処理を初期設定処理において行う構成とすることで、初期設定処理が行われた後にポート入力処理が行われる際に、初期設定処理が行われた以後の各種スイッチ類の入力状態に基づいて入力状態データを作成させることができる。
【０１８７】
Ｓａ１９及びＳａ２０のステップにおいてポート入力処理を行った後は、所定の入力ポートを参照して（Ｓａ２１）、リセット／設定スイッチ３８がＯＮ状態であるか否かを判定し（Ｓａ２２）、リセット／設定スイッチ３８がＯＮ状態である場合には、当該リセット／設定スイッチ３８がＯＮ状態である旨を示すステータスデータをＲＡＭ４１ｃの所定領域に設定する（Ｓａ２３）。
【０１８８】
Ｓａ２２のステップにおいてリセット／設定スイッチ３８がＯＮ状態でないと判定した場合、及びＳａ２３のステップにおいてステータスデータを設定した後は、電断前の制御状態に復帰した旨を示す復帰コマンドをサブ制御部９１に送信した後（Ｓａ２４）、タイマ割込み処理（メイン）のコマンド送信処理において、ドア開放検出スイッチ２５の検出状態を示すドアコマンドを送信する旨を示すドアコマンド送信フラグをＲＡＭ４１ｃの所定領域に設定する（Ｓａ２５）。コマンド送信処理では、通常、ドア開放検出スイッチ２５の検出状態が変化した場合にドアコマンドを送信するが、ＲＡＭ４１ｃの所定領域にドアコマンド送信フラグが設定されている場合には、ドア開放検出スイッチ２５の検出状態が変化したか否かにかかわらず、ドア開放検出スイッチ２５の検出状態を示すドアコマンドを送信する。
【０１８９】
そして、Ｓａ２５のステップにおいてドアコマンド送信フラグを設定した後は、すべてのレジスタをＲＡＭ４１ｃに記憶されている電断前の状態に復帰させ（Ｓａ２６）、タイマ割込みを許可に設定して（Ｓａ２７）、初期設定処理を終了させてタイマ割込処理（メイン）に移行させた後、スロットマシン１への電力供給が停止される前に実行していたメイン処理における処理に復帰する。
【０１９０】
一方、Ｓａ１５のステップにおいて、ＲＡＭ４１ｃに異常があると判定した場合には、遊技ＲＡＭ初期化処理を行って（Ｓａ２８）、Ｓａ１３のステップにおいて設定したＲＡＭ破壊時初期化開始アドレスからＲＡＭ４１ｃの遊技ＲＡＭ領域の終端までの領域を初期化する。その後、Ｓａ９〜Ｓａ１１のステップまでの処理と同様に、レジスタのうちフラグが設定されるフラグレジスタの値を遊技ＲＡＭ領域の遊技スタック領域に退避させた後（Ｓａ２９）、非遊技プログラムに含まれる非遊技ＲＡＭ領域初期化処理を呼び出して行って（Ｓａ３０）、ＲＡＭ４１ｃのすべての非遊技ＲＡＭ領域を初期化した後、呼び出し元に戻り、Ｓａ２９のステップにおいて退避させたレジスタを復帰させる（Ｓａ３１）。
【０１９１】
Ｓａ３１のステップにおいてレジスタを復帰させた後は、ドアコマンド送信フラグを設定し（Ｓａ３２）、タイマ割込みを許可に設定し（Ｓａ３３）、ＲＡＭ４１ｃに異常がある旨を示すＲＡＭ異常エラーコード（Ｅ８）を所定のレジスタに準備して（Ｓａ３４）、初期設定処理を終了させてエラー処理に移行させる。
【０１９２】
尚、エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード（Ｅ８）を特定可能なエラーコマンドをサブ制御部９１に対して送信し、当該エラーコード（Ｅ８）をＲＡＭ４１ｃの所定領域にその他の処理（例えば、後述するセンサ監視処理等）でも参照可能なエラーフラグとして設定する。また、当該エラーコード（Ｅ８）を遊技補助表示器１２に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード（Ｅ８）に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。ＲＡＭ異常エラーコード（Ｅ８）が所定のレジスタに準備されてエラー状態に移行された場合には、設定キースイッチ３７をＯＮにした状態で電源スイッチ３９を投入することによって、設定変更状態に移行させてすべての遊技ＲＡＭ領域を初期化させることで、ＲＡＭ４１ｃのデータの異常を確実に解消してエラー状態を解除することができるようになっている。一方、設定キースイッチ３７をＯＮ状態にせずに電源スイッチ３９をＯＮにした場合には、ＲＡＭ４１ｃの異常が再び検出されて、再度、エラー状態となる。
【０１９３】
このように、メイン制御部４１は、スロットマシン１への電力供給が開始された後には、初期設定処理を最初に行うようになっており、初期設定処理では、スロットマシン１への電力供給が開始された際のメイン制御部４１の状態に応じて、タイマ割込処理（メイン）、設定変更処理、エラー処理のいずれかに移行させる。そして、これらの処理に移行させる際に、移行させる処理の種類を特定可能なコマンドをサブ制御部９１に対して送信するようになっており、タイマ割込処理（メイン）に移行させる場合すなわちスロットマシン１への電力供給が停止される前の制御状態に復帰した場合には、復帰コマンドをサブ制御部９１に対して送信し、設定変更処理を開始して設定変更状態に移行する場合には、設定コマンド（開始）をサブ制御部９１に対して送信し、ＲＡＭ４１ｃの異常によりエラー処理を開始してエラー状態に移行する場合には、エラーコマンドをサブ制御部９１に対して送信する。
【０１９４】
尚、メイン制御部４１は、初期設定処理から設定変更処理に移行した後は、設定変更状態を経て、ゲームの進行が可能な状態に復帰するようになっており、当該ゲームの進行が可能な状態に復帰する際には、当該設定変更状態が終了されることを特定可能な設定コマンド（終了）をサブ制御部９１に対して送信する一方で、復帰コマンドは送信しない。また、ＲＡＭ４１ｃの異常によりエラー処理に移行した後は、上述のように設定変更処理に移行されてエラー状態が解除されることで、ゲームの進行が可能な状態に復帰するようになっており、エラー処理が終了されてゲームの進行が可能な状態に復帰する場合にも、サブ制御部９１に対して復帰コマンドを送信しない。
【０１９５】
このように、本実施例のメイン制御部４１は、スロットマシン１への電力供給が開始されることで起動し、遊技プログラムに含まれる起動時設定処理を行い、当該起動時設定処理によりすべての出力ポート０〜９を初期化するようになっている。
【０１９６】
また、メイン制御部４１は、起動時設定処理を行った後、遊技プログラムに含まれる初期設定処理を行う。そして、初期設定処理では、ＲＡＭ４１ｃに異常があると判定した場合に、非遊技プログラムに含まれる非遊技ＲＡＭ領域初期化処理を呼び出して、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域を初期化する。また、初期設定処理では、遊技プログラムに含まれるＲＡＭ初期化処理を呼び出して、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域を初期化するようになっており、遊技ＲＡＭ領域は遊技プログラムにより初期化し、非遊技ＲＡＭ領域は非遊技プログラムにより初期化する構成になっている。
【０１９７】
［設定変更処理］
メイン制御部４１が行う設定変更処理の制御内容について、図１３に基づいて説明する。
【０１９８】
図１３に示すように、メイン制御部４１は、まず、設定変更処理中であることを示す外部出力信号（設定変更信号）を出力するための出力データを出力バッファに格納する（Ｓｔ１）。次いで、設定変更処理が開始したことを示す設定変更開始コマンドをコマンドキューに格納する（Ｓｔ２）。次いで、図２４において説明するメイン制御部４１が一定間隔（０．５６ｍｓの間隔）で実行するタイマ割込処理（メイン）の割込を許可する（Ｓｔ３）。割込が許可されると、出力バッファに格納されている出力データに基づいて、図２４のＳｊ２３のセキュリティ信号送信処理により外部出力信号（設定変更信号）が出力される。また、コマンドキューに格納されている設定変更開始コマンドは、図２４のＳｊ２４のコマンド送信処理により送信される。
【０１９９】
次いで、リセット／設定スイッチ３８がオンか否かを判定する（Ｓｔ４）。リセット／設定スイッチ３８がオンの場合には設定値をレジスタにセットする（Ｓｔ９）。リセット／設定スイッチ３８がオフの場合には、スタートスイッチ７がオンか否かを判定する（Ｓｔ５）。
【０２００】
スタートスイッチ７がオンになっていない場合にはＳｔ４の処理に戻る。スタートスイッチ７がオンになっている場合には設定キースイッチ３７がオフになっているか否かを判定する（Ｓｔ６）。設定キースイッチ３７がオフになっていない場合（Ｓｂ１０でＮ）には、設定キースイッチ３７がオンになるまで判定を繰り返す。設定キースイッチ３７がオフになっている場合には、レジスタにセットしている設定値のデータをＲＡＭ４１ｃに格納する（Ｓｔ７）。
【０２０１】
次いで、設定変更処理が終了したことを示す設定変更終了コマンドをコマンドキューに格納して処理を終了する（Ｓｔ８）。コマンドキューに格納されている設定変更終了コマンドは、図２４のＳｊ２４のコマンド送信処理により送信される。
【０２０２】
［メイン処理について］
メイン制御部４１が行うメイン処理の制御内容について、図１４に基づいて説明する。尚、メイン処理は、一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。また、メイン処理は、遊技プログラムに含まれ、複数の処理を含む。以下、特に非遊技プログラムに含まれる旨を示さない処理は、遊技プログラムに含まれる。尚、遊技プログラムにより呼び出される遊技プログラムには、非遊技プログラムを呼び出すものもある。
【０２０３】
図１４に示すように、メイン制御部４１は、まず、レジスタのうち演算結果が格納されるフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させて（Ｓｂ１）、非遊技プログラムに含まれるＲＴ情報出力処理を行った後（Ｓｂ２）、Ｓｂ１のステップにおいて退避させたレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで復帰させる（Ｓｂ３）。
【０２０４】
ＲＴ情報出力処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰにより示される遊技スタック領域の現在のアドレスの値を、非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時にスタックポインタＳＰにより示されるアドレスとして非遊技ＲＡＭ領域の所定領域に記憶されている値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、上述のフラグレジスタを含むメイン制御部４１が備えるすべてのレジスタの値を、スタックポインタＳＰにより特定される非遊技ＲＡＭ領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、遊技ＲＡＭ領域の所定領域に設定されているスロットマシン１の遊技状態に関する情報を参照し、当該遊技状態に関する情報（例えば、ＲＴの状態）を外部出力信号として出力ポート７より出力させるように設定する。そして、ＲＴ情報出力処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、ＲＴ情報出力処理を開始したときの状態にすべてのレジスタを復帰させる。その後、ＲＴ情報出力処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、ＲＴ情報出力処理を開始したときの状態にスタックポインタＳＰを復帰させて、ＲＴ情報出力処理を終了させる。
【０２０５】
Ｓｂ３のステップにおいてレジスタを復帰させた後は、タイマ割込みが１回行われるまで待機する割込み１回待ち処理を行う（Ｓｂ４）。割込み１回待ち処理では、タイマ割込みを許可に設定してタイマ割込み処理（メイン）が１回行われるまで待機する。そして、タイマ割込み処理（メイン）が１回行われたことが特定されることで、当該割込み１回待ち処理を終了する。割込み１回待ち処理を行うことにより、次のタイマ割込み処理（メイン）が行われるまでの時間が最大限に確保されている状態で、割込み１回待ち処理の後に行われる処理を行うことができ、割込み１回待ち処理の後に行われる一連の処理の途中で意図せずタイマ割込みが行われてしまうことを防止できる。Ｓｂ４のステップにおいて割込み１回待ち処理を行うことにより、割込み１回待ち処理の後に行われる遊技開始待ち処理のＳｃ１のステップ〜Ｓｃ１０のステップまでの処理の途中で意図せずタイマ割込みが行われてしまうことを防止して、Ｓｃ１のステップ〜Ｓｃ１０のステップまでの処理を一連の処理として行うことができる。
【０２０６】
そして、タイマ割込み処理（メイン）が行われた後、遊技開始待ち処理を行って（Ｓｂ５）、前の一遊技の制御の終了後から次の一遊技を開始させるまでの処理を行う。遊技開始待ち処理では、メダルの投入等に応じて賭数を設定する処理を行い、規定数の賭数が設定された状態でスタートスイッチ７の操作が検出されることで、次の一遊技を開始させる処理を行う。
【０２０７】
そして、入賞の発生を許容するか否かを決定（内部抽選）するための内部抽選処理を行う（Ｓｂ６）。内部抽選処理では、スロットマシン１において予め設定された設定値（１〜６）やスタートスイッチ７の検出による遊技の開始と同時に取得された内部抽選用の乱数値に基づいて、入賞の発生を許容するか否か（すなわち、表示結果の導出を許容するか否か）を決定する内部抽選を行う。
【０２０８】
その後、Ｓｂ１のステップと同様に、フラグレジスタの値を遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させ（Ｓｂ７）、タイマ割込みを禁止に設定し（Ｓｂ８）、非遊技プログラムに含まれる当選情報出力処理を行って（Ｓｂ９）、内部抽選の抽選結果に関する情報を出力ポートより出力するための設定を行った後、タイマ割込みを許可に設定する（Ｓｂ１０）。そして、Ｓｂ３のステップと同様に、Ｓｂ７のステップにおいて遊技スタック領域に退避させたレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、当選情報出力処理を行う前の状態にフラグレジスタを復帰させる（Ｓｂ１１）。
【０２０９】
当選情報出力処理では、まず、上述のＲＴ情報出力処理と同様にして、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰが示すアドレスの値を非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時に記憶された値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、メイン制御部４１が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、遊技ＲＡＭ領域の所定領域に設定されている内部抽選の抽選結果を参照し、内部抽選における特別役の当選状況、一般役の当選状況を特定可能なデータを、非遊技プログラムである後述の試験信号出力処理から参照可能にＲＡＭ４１ｃの所定領域に設定する。そして、上述のＲＴ情報出力処理と同様にして、当選情報出力処理を開始した際に退避させていたレジスタの値を非遊技スタック領域から順次読み出して、当選情報出力処理を開始したときの状態にすべてのレジスタを復帰させる。その後、当選情報出力処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、当選情報出力処理を開始したときの状態にスタックポインタＳＰを復帰させて、当選情報出力処理を終了させる。尚、当該当選情報出力処理によりＲＡＭ４１ｃの所定領域に設定された特別役の当選状況、一般役の当選状況は、後述の試験信号出力処理にて参照されて、試験信号として出力されるようになっている。
【０２１０】
Ｓｂ１１のステップにおいてレジスタを復帰させた後、演出制御処理（Ｓｂ１２）、フリーズ制御設定処理（Ｓｂ１３）、制御状態コマンド群送信処理（Ｓｂ１４）、遊技開始コマンド送信処理（Ｓｂ１５）を順次行う。演出制御処理では、メイン制御部４１が演出制御を行う際に参照する演出用フラグの設定を行う。フリーズ制御設定処理では、所定終了条件が成立するまで遊技の進行を遅延させるフリーズ制御について、当該フリーズ制御を行う旨の要求の有無を確認して、要求がある場合にフリーズ制御の種類や当該フリーズ制御を行うタイミングをＲＡＭ４１ｃの所定領域に設定する。制御状態コマンド群送信処理では、一遊技の開始時点における各種の制御状態を特定可能な複数のコマンドを含む制御状態コマンド群をサブ制御部９１に対して送信する。遊技開始コマンド送信処理では、一遊技が開始された旨を特定可能な遊技開始コマンドをサブ制御部９１に対して送信する。
【０２１１】
Ｓａ１５のステップにおいて遊技開始コマンド処理と行った後は、Ｓｂ１３のステップにおいてＲＡＭ４１ｃに設定されたフリーズ制御の種類やタイミングに基づいてフリーズ制御を実行するフリーズ実行処理を行う（Ｓｂ１６）。フリーズ実行処理では、Ｓｂ１３のステップにおいて遊技の開始時にフリーズ制御を行う旨が設定されている場合には、フリーズ制御を実行して所定期間にわたり遊技の制御を遅延させる。また、フリーズ制御の種類として、リール２Ｌ、２Ｃ、２Ｒを用いた演出（以下、リール演出と呼ぶ）を伴うフリーズ制御の種類が設定されている場合には、リールモータ３２Ｌ、３２Ｃ、３２Ｒを励磁させる励磁パターンとして演出用加速パターン（例えば、遊技でのリールの回転と異なる方向に回転させる加速パターン、遊技でのリールの回転に比べて遅い速度で、遊技での回転と同じ方向に回転を開始させる加速パターン、リールを振動させる加速パターン等）をＲＡＭ４１ｃの所定領域に設定して、フリーズ制御を行っている期間内においてリール演出を行うように制御する。
【０２１２】
Ｓｂ１６のステップにおいてフリーズ制御実行処理を行った後は、演出制御を行っている旨を示すウェイト中ＬＥＤ１９をＯＮ状態（点灯状態）に制御し（Ｓｂ１７）、前回の遊技におけるリール回転開始時点からの経過時間を計時するためにＲＡＭ４１ｃの所定領域に設定されている一遊技時間管理用タイマを参照して（Ｓｂ１８）、一遊技時間管理用タイマに基づいて前回の遊技におけるリール回転開始時点から一遊技の規定時間（本実施例では４．１秒）が経過したか否かを判定する（Ｓｂ１９）。そして、一遊技の規定時間が経過していないと判定した場合は、一遊技時間管理用タイマに基づいて一遊技の規定時間が経過するまで待機し、一遊技時間管理用タイマに基づいて一遊技規定時間が経過した後に、一遊技時間管理用タイマに予め定められた所定値（本実施例では、４．１秒に対応する値）を設定して、新たにリール回転開始時点からの経過時間の計時を開始させ（Ｓｂ２０）、ウェイト中ＬＥＤ１９をＯＦＦ状態（消灯状態）に制御し（Ｓｂ２１）、リール２Ｌ、２Ｃ、２Ｒの回転制御を開始させる旨を特定可能なリール回転開始コマンドをサブ制御部９１に対して送信するリール回転開始コマンド送信処理を行う（Ｓｂ２２）。一方、Ｓａ１９のステップにおいて一遊技の規定時間が経過していると判定した場合は、直ちに、Ｓｂ２０〜Ｓｂ２２のステップの処理を行う。尚、一遊技時間管理用タイマは、Ｓｂ２０のステップにおいて所定値が設定された後は、所定時間毎に減算されて、遊技におけるリール回転開始時点から一遊技の規定時間（本実施例では４．１秒）が経過したときに、０となるようになっており、一遊技時間管理用タイマが０か否かに基づいて一遊技規定時間が経過したか否かを判定できるようになっている。
【０２１３】
Ｓａ２２のステップにおいてリール回転開始コマンド送信処理を行った後は、リールモータ３２Ｌ、３２Ｃ、３２Ｒを励磁制御する際の励磁パターンとして、遊技用の所定速度でリールを回転制御する通常加速パターンをＲＡＭ４１ｃの所定領域に設定し（Ｓｂ２３）、ＲＡＭ４１ｃに設定されている励磁パターンに基づいてリールモータ３２Ｌ、３２Ｃ、３２Ｒを励磁制御することでリールの回転を開始させるリール起動処理を行う（Ｓｂ２４）。
【０２１４】
そして、ナビ報知処理を行う（Ｓｂ２５）。ナビ報知処理では、ＡＴの制御が行われており、内部抽選にて報知対象役が当選している場合には、当該報知対象役に応じて遊技者にとって有利な停止態様を特定可能なナビ番号を、遊技補助表示器１２に表示させるように制御する一方、ＡＴの制御が行われていない場合には、ナビ番号を遊技補助表示器１２に表示させないように制御する。
【０２１５】
Ｓｂ２５のステップにおいてナビ報知処理を行った後は、リールの停止制御に必要な各種情報をＲＴ状態及び内部抽選の抽選結果に応じて設定するリール停止初期設定処理（Ｓｂ２６）を行う。そして、フリーズ制御処理を行い（Ｓｂ２７）、Ｓｂ１３のステップにおいて、当該タイミングでフリーズ制御を行う旨が設定されている場合には、設定されている種類のフリーズ制御を行う。
【０２１６】
Ｓｂ２７のステップにおいてフリーズ制御処理を行った後は、リールの停止制御を行うリール停止制御処理を行う（Ｓｂ２８）。リール停止制御処理では、回転制御中のリールが所定の定速回転で回転されているかを判定し、定速回転で回転されていないリールがある場合には、リールエラーを検出して、該当するリールについて定速回転まで加速させる励磁パターンを設定して、回転制御中のすべてのリールが定速回転で回転されるように制御する。一方、回転制御中のすべてのリールが定速回転で回転されている場合には、回転制御中のリールの停止操作の受け付けを有効化し、ストップスイッチによる停止操作が行われるまで待機する。そして、停止操作が有効化されているリールについて有効な停止操作が検出されること（停止操作が有効なストップスイッチについてＯＮエッジデータが検出されること）で、有効な停止操作が行われたリールについて、リール停止初期設定処理にて設定された情報等に基づいて所定の停止位置で停止させるリール停止制御を行う。このようなリール停止制御を、回転制御中のリールについて繰り返し行って、すべてのリールの回転を停止させることで、リール停止処理を終了させる。
【０２１７】
そして、リール停止処理を終了させた後は、フリーズ制御処理を行い（Ｓｂ２９）、Ｓｂ１３のステップにおいて、当該タイミングでフリーズ制御を行う旨が設定されている場合には、設定されている種類のフリーズ制御を行う。
【０２１８】
その後、ＲＴ状態チェック処理（Ｓｂ３０）、入賞判定処理（Ｓｂ３１）を行う。ＲＴ状態チェック処理では、リールにＲＴ状態の移行を伴うＲＴ移行図柄の組合せが停止しているか否かを判定し、ＲＴ移行図柄の組合せが停止している場合には、ＲＡＭ４１ｃの所定領域に設定されている現在のＲＴ状態を、当該ＲＴ移行図柄の組合せに応じたＲＴ状態に更新する。入賞判定処理では、内部抽選結果及びリール２Ｌ、２Ｃ、２Ｒに停止している図柄組合せに基づいて不正入賞が発生しているか否かを判定する。
【０２１９】
そして、Ｓａ３１のステップにおける入賞判定処理を行った後は、メダル投入部４からのメダルの投入に関する異常やホッパーからのメダルの払い出しに関する異常が検出されているか否かを判定する投入払出エラーチェック処理を行う（Ｓａ３２）。
【０２２０】
投入払出エラーチェック処理では、払出センサ３４ｃの信号（以下、メダル払出信号と呼ぶ場合がある）の遷移に異常が検出された旨を示す払出エラーフラグや、投入メダルセンサ３１の信号（以下、メダル投入信号と呼ぶ場合がある）の遷移に異常が検出された旨を示す投入エラーフラグが、ＲＡＭ４１ｃの所定領域に設定されているか否かを判定し、払出エラーフラグや投入エラーフラグが設定されていない場合には、投入払出エラーチェック処理を終了させる。一方、払出エラーフラグが設定されている場合には、メダル払出信号の異常が検出された旨を示すエラーコード（Ｅ４）を所定のレジスタに準備して、エラー処理を行う。また、投入エラーフラグがＲＡＭ４１ｃの所定領域に設定されているか否かを判定し、投入エラーフラグが設定されている場合には、メダル投入信号の異常が検出された旨を示すエラーコード（Ｅ５）を所定のレジスタに準備して、エラー処理を行う。
【０２２１】
エラー処理では、所定のレジスタに準備されているエラーコード（Ｅ４、Ｅ５）を特定可能なエラーコマンドをサブ制御部９１に対して送信し、当該エラーコード（Ｅ４、Ｅ５）をＲＡＭ４１ｃの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード（Ｅ４、Ｅ５）を遊技補助表示器１２に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード（Ｅ４、Ｅ５）に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード（Ｅ４）が所定のレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、払出センサ３４ｃの検出状態がＯＦＦ状態であり、かつリセット／設定スイッチ３８またはリセットスイッチ２３がＯＮ状態となったことが成立するまで待機し、当該解除条件が成立することで、エラー状態を解除する旨のエラーコマンド（解除）をサブ制御部９１に対して送信し、エラー処理を終了させて、投入払出エラーチェック処理に戻る。また、エラーコード（Ｅ５）がレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態がＯＦＦ状態であり、かつリセット／設定スイッチ３８またはリセットスイッチ２３がＯＮ状態となったことが成立するまで待機し、当該解除条件が成立することで、エラー状態を解除する旨のエラーコマンド（解除）をサブ制御部９１に対して送信し、エラー処理を終了させて、投入払出エラーチェック処理に戻る。
【０２２２】
そして、メダル払出信号の異常が検出されて移行されたエラー処理、メダル投入信号の異常が検出されて移行されたエラー処理が終了された場合には、エラー処理を実行した旨を示すエラー実行フラグを所定のレジスタに設定し、投入払出エラーチェック処理を終了する。また、払出エラーフラグや投入エラーフラグが設定されておらず、エラー処理に移行しなかった場合には、エラー実行フラグを設定することとなく、投入払出エラーチェック処理を終了する。
【０２２３】
Ｓｂ３２のステップにおいてエラーチェック処理（Ｓｂ３２）を行った後は、割込み１回待ち処理を行い（Ｓｂ３３）、タイマ割込み処理（メイン）が行われるまで待機する。そして、タイマ割込み処理（メイン）が行われた後は、Ｓｂ３のステップやＳｂ７のステップと同様に、フラグレジスタの値を遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させ（Ｓｂ３４）、タイマ割込みを禁止に設定し（Ｓｂ３５）、非遊技プログラムに含まれる役比モニタ用データ処理を行う（Ｓｂ３６）。そして、役比モニタ用データ処理を行った後は、タイマ割込みを許可に設定する（Ｓｂ３７）。
【０２２４】
このように、Ｓｂ３３のステップにおいて割込み１回待ち処理を行った後に、役比モニタ用データ処理（Ｓｂ３６）を行うことで、次のタイマ割込み処理（メイン）が行われるまでの時間が最大限に確保されている状態で、当該役比モニタ用データ処理を行うことができ、当該役比モニタ用データ処理の途中で意図せずタイマ割込みが行われてしまうことを防止できる。また、Ｓｂ３５のステップにおいてタイマ割込みを禁止に設定して、タイマ割込みが禁止された状態で役比モニタ用データ処理を行い、その後のＳｂ３７のステップにおいてタイマ割込みの禁止設定を解除することで、当該役比モニタ用データ処理の途中で意図せずタイマ割込みが行われてしまうことを確実に防止できる。また、Ｓｂ３３のステップにおいて、役比モニタ用データ処理を行うためにタイマ割込みを禁止状態に設定する前に割込み１回待ち処理を行って、タイマ割込み処理（メイン）を行わせることで、タイマ割込みが禁止されている状態（Ｓｂ３５〜Ｓｂ３７）であるときに、タイマ割込みを行うタイミングとなることを防止できる。
【０２２５】
役比モニタ用データ処理では、まず、上述のＲＴ情報出力処理等と同様にして、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰが示すアドレスの値を非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時に記憶された値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、メイン制御部４１が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、非遊技プログラムに含まれる各状態カウント処理を行って、予め定められた所定期間（例えば、現在のゲームから６０００ゲーム前までの期間、現在のゲームから１７５０００ゲーム前までの期間、遊技者にとって有利な状態に制御された区間（有利区間）等）におけるメダルの払い出し枚数に関するデータを更新する。役比モニタ用データ処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、役比モニタ用データ処理を開始したときの状態にすべてのレジスタを復帰させる。その後、役比モニタ用データ処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、役比モニタ用データ処理を開始したときの状態にスタックポインタＳＰを復帰させて、役比モニタ用データ処理を終了させる。
【０２２６】
Ｓｂ３６のステップにおいて役比モニタ用データ処理を行い、Ｓｂ３７のステップにおいてタイマ割込みを許可に設定した後は、Ｓｂ３のステップやＳｂ１１のステップと同様に、Ｓｂ３４のステップにおいて退避させたレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、役比モニタ用データ処理を行う前の状態にフラグレジスタを復帰させる（Ｓｂ３８）。その後、リプレイ中ＬＥＤ２０をＯＦＦ状態（消灯状態）に制御し（Ｓｂ３９）、リプレイ中である旨を示す再遊技中フラグをクリアし（Ｓｂ４０）、遊技補助表示器１２におけるナビ番号の表示をクリアした後（Ｓｂ４１）、当該ゲームの結果として発生した入賞に応じた枚数のメダルを払い出すメダル払出処理を行う（Ｓｂ４２）。
【０２２７】
メダル払出処理では、発生した入賞に応じて、入賞役毎に予め定められた所定枚数のメダルを遊技者に対して付与して、付与するメダル枚数分をクレジットに加算し、クレジットが上限数（本実施例では、５０）に達した場合には、ホッパーモータ３４ｂを駆動させてクレジットに加算されなかった分のメダルをメダル払出口９から払い出す。
【０２２８】
Ｓｂ４２のステップにおいてメダル払出処理を行った後は、フリーズ制御処理を行い（Ｓｂ４３）、Ｓｂ１３のステップにおいて、当該タイミングでフリーズ制御を行う旨が設定されている場合には、設定されている種類のフリーズ制御を行う。
【０２２９】
そして、遊技終了時設定処理を行って（Ｓｂ４４）、再遊技役の図柄組合せがリール２Ｌ、２Ｃ、２Ｒに停止しているか否かを判定し、再遊技役の図柄組合せが停止している場合には、次ゲームにおいて再遊技を行うための賭数を設定する処理（本実施例では、ＲＡＭ４１ｃの所定領域に設定されている再遊技用メダルカウンタに、再遊技用メダルとして３を設定する。）や、再遊技中フラグをＲＡＭ４１ｃの所定領域に設定する処理、リプレイ中ＬＥＤ２０をＯＮ状態（点灯状態）に制御する処理等を行う。
【０２３０】
そして、遊技終了時の出玉制御を行う出玉制御処理を行った後（Ｓｂ４５）、遊技終了時における初期化対象のＲＡＭ４１ｃの領域の先頭アドレスを設定し（Ｓｂ４６）、ＲＡＭ初期化処理を行って（Ｓｂ４７）、当該先頭アドレスからＲＡＭ４１ｃの終端までの領域を初期化する。
【０２３１】
そして、ＲＡＭ４１ｃの所定領域に設定されており、当該ゲームにおける内部抽選の抽選結果を示す当選フラグをクリアした後（Ｓｂ４８）、一遊技が終了した旨を特定可能な遊技終了コマンドをサブ制御部９１に対して送信する遊技終了コマンド送信処理を行い（Ｓｂ４９）、Ｓｂ１のステップに戻り、Ｓｂ１〜Ｓｂ４９のステップを繰り返し行う。メイン処理が一巡することで、一単位の遊技の制御に関する処理が終了することとなり、一単位の遊技毎にメイン処理が繰り返し実行されることとなる。
【０２３２】
このように、本実施例のメイン制御部４１が行うメイン処理は、遊技プログラムに含まれており、非遊技プログラムに含まれる処理、例えば、ＲＴ情報出力処理、当選情報出力処理、役比モニタ用データ処理等を呼び出すようになっている。そして、非遊技プログラムに含まれる処理を呼び出す際には、該当する非遊技プログラムの処理を呼び出す毎に、呼び出し元の遊技プログラム側で、メイン制御部４１が備えるレジスタのうちフラグレジスタの値を遊技スタック領域に記憶させて退避させ、呼び出し先の非遊技プログラム側で、遊技プログラムで使用しているスタックポインタＳＰの値を非遊技ＲＡＭ領域に記憶させて退避するとともに、メイン制御部４１が備えるすべてのレジスタの値を非遊技スタック領域に記憶させて退避させる処理を行う。そして、呼び出された非遊技プログラムに応じた処理（例えば、非遊技ＲＡＭ領域初期化処理において非遊技ＲＡＭ領域を初期化する処理、後述のメダルセンサ処理におけるメダルセンサチェック処理、後述の役比モニタ用データ処理における各状態カウント処理、後述の非遊技関連処理におけるセンサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等）を行うようになっている。
【０２３３】
また、メイン制御部４１は、非遊技プログラムの処理を行った後には、非遊技プログラム側で、当該非遊技プログラムの開始時に非遊技スタック領域に退避させた、すべてのレジスタの値を該当するレジスタに読み込んで当該非遊技プログラムの開始時の状態にレジスタを復帰させるとともに、当該非遊技プログラムの開始時に非遊技ＲＡＭ領域に記憶させたスタックポインタＳＰの値をスタックポインタＳＰに設定して、当該非遊技プログラムの開始時の状態にスタックポインタＳＰを復帰させ、さらに、呼び出し元の遊技プログラム側で、非遊技プログラムの呼び出し前に遊技スタック領域に記憶させたフラグレジスタの値を、該当するフラグレジスタに読み込んで当該非遊技プログラムの呼び出し前の状態にレジスタを復帰させる処理を行うようになっている。
【０２３４】
また、メイン制御部４１は、非遊技プログラムに従って各種処理を行う場合には、上述のＣＡＬＬ命令等を用いて遊技プログラムから非遊技プログラムを呼び出すことで、当該非遊技プログラムに従って各種処理を行い、当該非遊技プログラムに応じた各処理が終了することで、呼び出し元の遊技プログラムに復帰ようになっている。
【０２３５】
［遊技開始待ち処理について］
本実施例のメイン制御部４１が行う遊技開始待ち処理の制御内容について、図１５に基づいて説明する。尚、遊技開始待ち処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。
【０２３６】
図１５に示すように、遊技開始待ち処理では、まず、メダル投入枚数表示処理を行い（Ｓｃ１）、スロットマシン１に投入済みのメダル枚数に応じた１〜３ＢＥＴＬＥＤ１４〜１６をＯＮ状態（点灯状態）に制御する。その後、ホッパータンク３４ａが満タン状態である旨を特定可能なエラーコード（Ｅ１）を所定のレジスタに準備し（Ｓｃ２）、所定のポート入力バッファを参照して、満タンセンサ３５ａの確定データに基づいてホッパータンク３４ａが満タン状態であるか否かを判定する（Ｓｃ３）。
【０２３７】
Ｓｃ３のステップにおいてホッパータンク３４ａが満タン状態であると判定した場合には、エラー処理を行う（Ｓｃ４）。エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード（Ｅ１）を特定可能なエラーコマンドをサブ制御部９１に対して送信し、当該エラーコード（Ｅ１）をＲＡＭ４１ｃの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード（Ｅ１）を遊技補助表示器１２に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード（Ｅ１）に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード（Ｅ１）がレジスタに設定されてエラー状態に移行された場合には、満タンセンサ３５ａの確定データがＯＦＦ状態となるまで待機し、当該満タンセンサ３５ａの確定データがＯＦＦ状態となることで、エラー状態を解除する旨のエラーコマンド（解除）をサブ制御部９１に対して送信し、エラー処理を終了させて、Ｓｃ５のステップへ進む。
【０２３８】
Ｓｃ３のステップにおいてホッパータンク３４ａが満タン状態でないと判定した場合、及びＳｃ４のステップにおけるエラー処理を終了した場合には、ＲＡＭ４１ｃの所定領域に設定されている再遊技用メダルカウンタの値を所定のレジスタに読み込む（Ｓｃ５）。尚、再遊技用メダルカウンタには、前回のメイン処理における遊技終了時設定処理により、前回の遊技の結果に応じた値が設定されており、前回の遊技において再遊技役が入賞して再遊技が付与された場合には、遊技を行うために必要な賭数の規定数に相当する数値（例えば、３）が設定されている一方で、前回の遊技において再遊技が付与されなかった場合には、０が設定されている。
【０２３９】
その後、ＲＡＭ４１ｃの再遊技用メダルカウンタをクリアし（Ｓｃ６）、Ｓｃ５のステップにおいて読み込んだ再遊技用メダルカウンタの値が０より大きいか否か、すなわち再遊技が付与されている否かを判定し（Ｓｃ７）、再遊技が付与されている場合には、メダル投入実行処理を行う（Ｓｃ８）。メダル投入実行処理では、再遊技用メダルカウンタの値を賭数に設定するとともに、１〜３ＢＥＴＬＥＤ１４〜１６をＯＮ状態（点灯状態）に設定して規定数の賭数（本実施例では、３）が設定されている旨を報知する。また、賭数の設定に使用されたメダル枚数を特定可能な投入枚数コマンドをサブ制御部９１に対して送信する。
【０２４０】
Ｓｃ７のステップにおいて再遊技用メダルカウンタの値が０である、すなわち再遊技が付与されていないと判定した場合、及びＳｃ８のステップにおいて再遊技が付与されたことによりメダル投入実行処理を行った後は、メダル手入れ許可設定処理を行う（Ｓｃ９）。メダル手入れ許可設定処理では、ＲＡＭ４１ｃの所定領域に設定されているクレジットの値を参照し、当該クレジットの値が最大値（本実施例では、５０）に達していない場合に、メダル投入部４からのメダルの投入を許可する旨を示すメダル手入れ許可フラグをＲＡＭ４１ｃの所定領域に設定する。
【０２４１】
Ｓｃ９のステップにおいてメダル手入れ許可設定処理を行った後は、割込み１回待ち処理を行う（Ｓｃ１０）。割込み１回待ち処理を行うことで、タイマ割込み処理（メイン）が行われて各種スイッチ類の検出状態やＬＥＤの点灯状態、各種タイマ等が更新されることとなり、これらの各種スイッチ類の検出状態が更新された状態で、その後の処理（例えば、後述のメダル投入払出エラーチェック処理、メダル投入信号処理、操作入力受付処理）を行わせることができる。
【０２４２】
Ｓｃ１０のステップにおいて割込み１回待ち処理を行ってタイマ割込みが１回行われた後は、上述のメイン処理のＳｂ３２のステップと同様の投入払出エラーチェック処理を行う（Ｓｃ１１）。そして、ＲＡＭ４１ｃの所定領域にエラー実行フラグが設定されているか否かに基づいて、エラーチェック処理にてエラー処理が実行されたか否かを判定する（Ｓｃ１２）。
【０２４３】
Ｓｃ１２のステップにおいてエラーチェック処理にてエラー処理が実行されたと判定した場合は、Ｓｃ１０のステップに戻り、Ｓｃ１０〜Ｓｃ１２のステップの各処理を再び行う。その後、メダル払出信号の遷移やメダル投入信号の遷移に異常が検出されない状態で、Ｓｃ１０〜Ｓｃ１２のステップの各処理が行われることで、エラー実行フラグが設定されていない状態で、Ｓｃ１２のステップの処理が行われることとなる。
【０２４４】
一方、Ｓｃ１２のステップにおいてエラー実行フラグが設定されていないと判定した場合は、メダル投入信号処理を行う（Ｓｃ１３）。メダル投入信号処理では、メダル投入信号の遷移に基づいてメダルの投入状況を判定する。そして、正常なメダルの投入が検出された場合は、賭数の設定やクレジットにメダルを受け付けて、メダル投入信号処理を終了する。一方、異常なメダルの投入が検出された場合は、エラーコード（Ｅ５）を準備してエラー処理を行う。その後、エラー状態が解除されてエラー処理が終了されることで、メダル投入信号処理を終了する。
【０２４５】
Ｓｃ１３のステップにおいてメダル投入信号処理を行った後は、各種スイッチの操作を受け付ける有効化して、操作が有効化されているスイッチの操作が行われることで、当該スイッチによる操作を受け付ける操作入力受付処理を行う（Ｓｃ１４）。
【０２４６】
操作入力受付処理では、メダル投入信号の遷移に基づいてメダルが通過中でないときに、ＲＡＭ４１ｃの所定領域に設定されているクレジットが、１以上である場合には、ＭＡＸＢＥＴスイッチ６による操作の受け付けを有効化する。また、メダル投入信号の遷移に基づいてメダルが通過中でないときに、ＲＡＭ４１ｃの所定領域に設定されている賭数が規定数である場合には、スタートスイッチ７による操作の受け付けを有効化する。また、メダル投入信号の遷移に基づいてメダルが通過中でない場合に、精算スイッチ１０及び設定キースイッチ３７による操作の受け付けを有効化する。
【０２４７】
また、操作入力受付処理では、スタートスイッチ７による操作が有効な状態で、スタートスイッチ７の操作が検出された場合には、スタートスイッチ７が操作された旨を示すスタートフラグを所定レジスタに設定した後、流路切替ソレノイド３０をＯＦＦ状態としてメダルの流路をメダル払出口９側に切り替える処理を行う。また、設定キースイッチ３７による操作が有効な状態で、設定キースイッチ３７による操作が検出された場合には、設定値表示器２４に設定値を表示させる設定値表示処理を行う。また、精算スイッチ１０による操作が有効な状態で、精算スイッチ１０による操作が検出された場合には、クレジットに記憶されている分のメダルを遊技者に返却する精算処理を行う。また、ＭＡＸＢＥＴスイッチ６による操作が有効な状態で、ＭＡＸＢＥＴスイッチ６による操作が検出された場合には、クレジットに基づいて可能な範囲で規定数までのメダル枚数を賭数に設定し、賭数に設定した分のメダル枚数をクレジットから減算する処理を行う。操作が検出されたスイッチ類に応じた処理を行った後、操作入力受付処理を終了させる。
【０２４８】
Ｓｃ１４のステップにおいて操作入力受付処理を行った後は、スタートフラグに基づいてスタートスイッチ７による有効な操作が検出されたか否かを判定する（Ｓｃ１５）。所定のレジスタにスタートフラグが設定されておらず、スタートスイッチ７による有効な操作が検出されなかったと判定した場合は、Ｓｃ１６のステップに進み、スタート有効ＬＥＤ１８の点灯状態を制御するＬＥＤ表示処理を行う。
【０２４９】
ＬＥＤ表示処理では、Ｓｃ１４のステップの操作入力受付処理によりスタートスイッチ７による操作が有効に設定されている状態において、リセットスイッチ２３以外のスイッチ類の操作が検出されない場合に、スタート有効ＬＥＤ１８をＯＮ状態（点灯状態）に制御し、スタートスイッチ７による操作が有効に設定されている状態において、リセットスイッチ２３以外のスイッチ類の操作が検出される場合、及びスタートスイッチ７による操作が有効に設定されていない場合に、スタート有効ＬＥＤ１８をＯＦＦ状態（消灯状態）に制御して、スタート有効ＬＥＤ１８の点灯状態によりスタートスイッチ７による操作が有効であるか無効であるかを報知する。
【０２５０】
Ｓｃ１５のステップにおいて、所定のレジスタにスタートフラグが設定されており、スタートスイッチ７による有効な操作が検出されたと判定した場合は、内部抽選用の乱数値を乱数回路４２から取得して、ＲＡＭ４１ｃの所定領域に設定する（Ｓｃ１７）。その後、設定されている賭数を特定可能なメダル投入状態データをＲＡＭ４１ｃの所定領域に設定し（Ｓｃ１８）、スタート有効ＬＥＤ１８をＯＦＦ状態（消灯状態）に設定し（Ｓｃ１９）、メダル手入れ許可フラグをＲＡＭ４１ｃの所定領域からクリアし（Ｓｃ２０）、遊技補助表示器１２における払出枚数の表示をクリアするように制御して（Ｓｃ２１）、遊技開始待ち処理を終了させ、メイン処理に戻る。その後、メイン処理では、Ｓｃ１７のステップにおいて取得された乱数値を用いて内部抽選が行われ、スタートスイッチ７の操作が検出されたことに応じてリール２Ｌ、２Ｃ、２Ｒの回転が開始されることで、一遊技が開始されることとなる。
【０２５１】
次に、本実施例のメイン制御部４１が遊技開始待ち処理から呼び出して行うメダル投入信号処理の制御内容について、図１６に基づいて説明する。尚、メダル投入信号処理は、遊技プログラムに含まれており、遊技プログラムに含まれる遊技開始待ち処理において呼び出されるサブルーチンである。
【０２５２】
図１６に示すように、メダル投入信号処理では、まず、上述の遊技開始待ち処理のメダル手入れ許可設定処理においてメダル投入部４からのメダルの投入を許可する旨を示すメダル手入れ許可フラグが設定されているか否かを判定する（Ｓｄ１）。そして、メダル手入れ許可フラグが設定されていない場合は、メダル投入信号処理を終了して、呼び出し元の遊技開始待ち処理に戻る。一方、メダル手入れ許可フラグが設定されている場合は、ＲＡＭ４１ｃの所定領域に設定されているメダル投入信号状態遷移データを参照する（Ｓｄ２）。メダル投入信号状態遷移データは、投入メダルセンサ３１ａ〜３１ｃの検出信号（以下、メダル投入信号と呼ぶ場合がある）の状態の遷移を特定可能なデータであり、非遊技プログラムに含まれるメダルセンサチェック処理により、投入メダルセンサ３１ａ〜３１ｃの入力データ等に基づいて所定のタイミングで更新されて、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されている。
【０２５３】
そして、Ｓｄ２のステップにおいて参照したメダル投入信号状態遷移データに基づいて、メダルセレクタ２９における投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａ（図４、図５参照）を、メダル投入部４から投入されたメダルが通過中であるか否かを判定する（Ｓｄ３）。投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過中でないと判定した場合は、流路切替ソレノイド３０をＯＮ状態に制御して（Ｓｄ４）、メダル投入部４から投入されたメダルがメダルセレクタ２９内のメダル流入流路２９ａ及びメダル受入流路２９ｂを流下してホッパータンク３４ａに導かれるように、メダル投入部４から投入されたメダルの流路を筐体１ａの内部に設けられたホッパータンク３４ａ側に切替えるように制御する。その後、メダル投入部４からメダルを投入可能である旨を示す投入要求ＬＥＤ１７をＯＮ状態に制御し（Ｓｄ５）、メダル投入信号無視タイマをクリアする（Ｓｄ６）。
【０２５４】
ここで、メダル投入信号無視タイマは、流路切替ソレノイド３０をＯＦＦ状態に設定する際に、少なくとも流路切替ソレノイド３０をＯＦＦ状態とする制御信号の出力を設定してから、当該流路切替ソレノイド３０が作動してメダル投入部４から投入されたメダルの流路がメダル払出口９側に実際に切り替えられるまでの切替時間の経過を計時して、切替時間の計時中には所定処理においてメダル投入信号を無視するように制御するためのタイマである。メダル投入信号無視タイマには、メダルの流路を切り替えるために流路切替ソレノイド３０の制御信号の出力が設定された際に、少なくとも流路切替ソレノイド３０の制御信号の出力設定を行ってから実際にメダルの流路が切り替えられるまでの所定時間（本実施例では、５０４ミリ秒）が設定される。その後、タイマ割込み処理（メイン）によりメダル投入信号無視タイマが減算されて更新され、０となることで切替時間が経過したことを特定できるようになっている。
【０２５５】
Ｓｄ３のステップにおいて投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過中であると判定した場合、及びＳｄ６のステップにおいてメダル投入信号無視タイマをクリアした後は、メイン制御部４１が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させた後（Ｓｄ７）、タイマ割込みを禁止に設定し（Ｓｄ８）、非遊技プログラムに含まれるメダルセンサ処理を行った後（Ｓｄ９）、タイマ割込みを許可に設定し（Ｓｄ１０）、Ｓｄ７のステップにおいて退避させたレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、当選情報出力処理を行う前の状態にフラグレジスタを復帰させる（Ｓｄ１１）。
【０２５６】
メダルセンサ処理では、まず、上述のＲＴ情報出力処理と同様にして、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰが示すアドレスの値を非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定アドレス（前回の非遊技プログラムの終了時に記憶されたアドレス）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、メイン制御部４１が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、メダル投入信号状態遷移データが正常であるか否かを判定する。そして、メダル投入信号状態遷移データが正常である場合には、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを正常に通過した旨を示すメダル通過状態参照データ（正常通過）またはメダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを通過し始めたことを検知した旨を示すメダル通過状態参照データ（メダル検知）、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａでのメダルの通過状態が前回の判定時から変化していない旨を示すメダル通過状態参照データ（変化なし）をＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定する。その後、投入メダルセンサ３１ａ〜３１ｃの入力データに基づいてメダル投入信号状態遷移データを更新する。一方、メダル投入信号状態遷移データに異常がある場合には、メダル投入信号に関する異常が検出された旨を示すエラーコード（Ｅ５）を特定可能なメダル関連エラーデータを非遊技ＲＡＭ領域の所定領域に設定する等の処理を行う。そして、上述のＲＴ情報出力処理と同様にして、メダルセンサ処理を開始した際に退避させていたレジスタの値を非遊技スタック領域から順次読み出して、メダルセンサ処理を開始したときの状態にすべてのレジスタを復帰させる。その後、メダルセンサ処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、メダルセンサ処理を開始したときの状態にスタックポインタＳＰを復帰させて、当選情報出力処理を終了させる。
【０２５７】
Ｓｄ１１のステップにおいてレジスタを復帰させた後には、非遊技ＲＡＭ領域の所定領域を参照してメダル関連エラーデータを所定のレジスタに読み込み（Ｓｄ１２）、エラーコード（Ｅ５）が設定されているか否かを判定する（Ｓｄ１３）。そして、エラーコード（Ｅ５）が設定されている場合すなわちメダル関連エラーデータが所定のレジスタに読み込まれて、エラーコード（Ｅ５）が所定のレジスタに準備されている場合には、エラー処理を行って（Ｓｄ１４）、遊技の進行を不能化するエラー状態に制御する。
【０２５８】
エラー処理では、エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード（Ｅ５）を特定可能なエラーコマンドをサブ制御部９１に対して送信し、当該エラーコード（Ｅ５）をＲＡＭ４１ｃの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード（Ｅ５）を遊技補助表示器１２に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード（Ｅ５）に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード（Ｅ５）が所定のレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態がＯＦＦ状態であり、かつリセット／設定スイッチ３８またはリセットスイッチ２３がＯＮ状態となったことが成立するまで、遊技を進行させる制御を行わずに待機する。そして、当該解除条件が成立することで、エラー状態を解除する旨のエラーコマンド（解除）をサブ制御部９１に対して送信し、エラー処理を終了させてメダル投入信号処理に戻る。
【０２５９】
Ｓｄ１３のステップにおいてメダル関連エラーデータとしてエラーコード（Ｅ５）が設定されていないと判定した場合、及びＳｄ１４のステップのエラー処理が終了した後は、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されているメダル通過状態参照データを参照して（Ｓｄ１５）、メダル通過状態参照データの内容を判定する（Ｓｄ１６、Ｓｄ１７）。
【０２６０】
Ｓｄ１６のステップにおいて、メダル通過状態参照データ（変化なし）が設定されていると判定した場合は、メダル投入信号処理を終了して遊技開始待ち処理に戻る。Ｓｄ１７のステップにおいて、メダル通過状態参照データ（メダル検知）が設定されていると判定した場合は、Ｓｄ１８のステップに進み、Ｓｄ１７のステップにおいて、メダル通過状態参照データ（正常通過）が設定されており、メダル通過状態参照データ（メダル検知）が設定されていないと判定した場合には、Ｓｄ２１のステップへ進む。
【０２６１】
Ｓｄ１７のステップにおいてメダル通過状態参照データ（メダル通過）が設定されていると判定した場合には、投入状況判定処理を行う（Ｓｄ１８）。投入状況判定処理では、ＲＡＭ４１ｃの所定領域に設定されている現在のクレジット数を計数するクレジットカウンタを参照し、当該クレジットカウンタの値がスロットマシン１のクレジットの最大値（本実施例では、５０）より１少ない状況、すなわち次に受け付けるメダルがクレジットに加算可能な最終メダルとなる状況であるか否かを判定する。そして、次に受け付けるメダルがクレジットに加算可能な最終メダルであるか否かを特定可能な最終受付フラグを所定のレジスタに設定して、投入状況判定処理を終了する。
【０２６２】
Ｓｄ１８のステップにおいて投入状況判定処理を行った後は、所定のレジスタに設定されている最終受付フラグに基づいて、次に受け付けるメダルがクレジットに加算可能な最終メダルであると判定される場合には、メダルブロッカオフ処理を行って（Ｓｄ２０）、流路切替ソレノイド３０をＯＦＦ状態に設定することで、メダル投入部４から投入されたメダルの流路をホッパータンク３４ａ側からメダル払出口９側に切り替えて、投入メダルセンサ３１ｃにより検出されているメダルより後にメダル投入部４に投入されたメダルを、メダル返却流路２９ｃを介してメダル払出口９から返却するように制御する。また、メダルブロッカオフ処理では、流路切替ソレノイド３０をＯＦＦ状態に設定した後、遊技ＲＡＭ領域に設定されているメダル投入信号状態遷移データを参照して、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過中か否かを判定し、当該検出範囲Ａをメダルが通過中である場合には、上述のメダル投入信号無視タイマに所定値（本実施例では、５０４ミリ秒に対応する値）を設定して、メダル投入信号無視タイマによる所定時間の計時を開始させる。これにより、メダルブロッカオフ処理の終了後から所定時間にわたり後述のセンサ監視処理において、メダル投入信号の状態にかかわらず、メダル投入信号の異常が判定されてセンサエラー参照データ（投入メダルセンサ）が設定されるようなことがないようになっている。
【０２６３】
Ｓｄ２０のステップにおいてメダルブロッカオフ処理を行った後は、メダル投入信号処理を終了させて遊技開始待ち処理に戻る。一方、最終受付フラグに基づいて、次に受け付けるメダルがクレジットに加算可能な最終メダルでないと判定される場合には、メダルブロッカオフ処理を行わずにメダル投入信号処理を終了させて遊技開始待ち処理に戻る。
【０２６４】
Ｓｄ１７のステップにおいてメダル通過状態参照データ（正常通過）が設定されており、メダル通過状態参照データ（正常通過）が設定されていないと判定した場合には、ポート入力バッファの所定領域を参照して、投入メダルセンサ３１ｂの確定データを取得し（Ｓｄ２１）、当該確定データがＯＮ状態であるか否かを判定する（Ｓｄ２２）。そして、投入メダルセンサ３１ｂの確定データがＯＮ状態であると判定した場合は、ポート入力バッファの所定領域を参照して、投入メダルセンサ３１ｃの入力データを取得し（Ｓｄ２３）、当該入力データがＯＦＦ状態であるか否かを判定する（Ｓｄ２４）。
【０２６５】
Ｓｄ１９のステップにおいて投入メダルセンサ３１ｂの確定データがＯＮ状態でないと判定した場合、及び、投入メダルセンサ３１ｂの確定データがＯＮ状態であり、かつ、Ｓｄ２０のステップにおいて当該投入メダルセンサ３１ｂの入力データがＯＦＦ状態でないと判定した場合、すなわちメダル受入流路２９ｂをメダルが通過中である場合または当該メダル受入流路２９ｂにメダルがない場合には、メダル投入信号処理を終了させる。一方、Ｓｄ２２のステップにおいて投入メダルセンサ３１ｂの確定データがＯＮ状態であると判定し、かつ、Ｓｄ２４のステップにおいて当該投入メダルセンサ３１ｂの入力データがＯＦＦ状態である判定した場合、すなわちメダル受入流路２９ｂにおいて投入メダルセンサ３１ｃがメダルを検出可能な検出位置をメダルが通過し終えたときである場合には、メダル投入処理を行う（Ｓｄ２５）。
【０２６６】
メダル投入処理では、ＲＡＭ４１ｃの所定領域に記憶されている現在設定されている賭数を参照して、規定数の賭数が設定されているか否かを判定する。そして、規定数の賭数が設定されていない場合には、現在の賭数に１加算し、既に、規定数の賭数が設定されている場合には、クレジットカウンタに１加算する。
【０２６７】
Ｓｄ２５のステップにおいてメダル投入処理を行った後は、メダル手入れ許可設定処理を行って（Ｓｄ２６）、クレジットカウンタに基づいてクレジットの値が最大値（本実施例では、５０）に達していない場合に、メダル投入部４からのメダルの投入を許可する旨を示すメダル手入れ許可フラグをＲＡＭ４１ｃの所定領域に設定する。
【０２６８】
Ｓｄ２６のステップにおいてメダル手入れ許可設定処理を行った後、メダル手入れ許可フラグが設定されていない場合は、メダル投入信号無視タイマに予め定められた所定値（本実施例では、５０４ミリ秒に対応する値）を設定してメダル投入信号無視タイマによる所定時間の計時を開始させた後（Ｓｄ２８）、メダル投入信号処理を終了させる。一方、メダル手入れ許可フラグが設定されている場合は、メダル投入信号無視タイマの設定を行わずに、メダル投入信号処理を終了させる。尚、メダル投入信号無視タイマは、Ｓｄ２８のステップにおいて所定値（本実施例では、５０４ミリ秒に対応する値）が設定された後、所定時間毎に減算されて、予め定められた所定時間（本実施例では４．１秒）が経過したときに、０となるようになっておりメダル投入信号無視タイマが０か否かに基づいて所定時間が経過したか否かを判定できるようになっている。
【０２６９】
［メダルセンサ処理及びメダルセンサチェック処理について］
本実施例のメイン制御部４１が行うメダルセンサ処理及びメダルセンサチェック処理の制御内容について、図１７及び図１８に基づいて説明する。尚、メダルセンサ処理は、非遊技プログラムに含まれており、遊技プログラムに含まれるメダル投入信号処理において呼び出されるサブルーチンである。また、メダルセンサチェック処理は、非遊技プログラムに含まれており、非遊技プログラムに含まれるメダルセンサ処理において呼び出されるサブルーチンである。
【０２７０】
図１７に示すように、メダルセンサ処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰの示すアドレスの値を非遊技ＲＡＭ領域の所定領域に記憶させて退避させる（Ｓｅ１）。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時に記憶された値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する（Ｓｅ２）。そして、メイン制御部４１が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる（Ｓｅ３）。その後、非遊技プログラムに含まれるメダルセンサチェック処理を行う（Ｓｅ４）。
【０２７１】
Ｓｅ４のステップにおいてメダルセンサチェック処理を行った後は、Ｓｅ３のステップにおいて退避させていたレジスタの値を非遊技スタック領域から順次読み出して、当選情報出力処理を開始したときの状態にすべてのレジスタを復帰させた後（Ｓｅ５）、Ｓｅ１のステップにおいて非遊技ＲＡＭ領域の所定領域に記憶させて退避させていたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、メダルセンサ処理を開始したときの状態にスタックポインタＳＰを復帰させ（Ｓｅ６）、メダルセンサ処理を終了させて呼び出し元のメダル投入信号処理に戻る。
【０２７２】
図１８に示すように、メダルセンサチェック処理では、まず、ＲＡＭ４１ｃのうち非遊技ＲＡＭ領域の所定領域に設定されているメダル通過状態参照データ及びメダル関連エラー参照データをクリアする（Ｓｆ１、Ｓｆ２）。メダル通過状態参照データは、メダルセンサチェック処理の処理結果として投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａにおけるメダルの通過状態を特定可能なデータであり、当該メダルセンサチェック処理により、投入メダルセンサ３１ａ〜３１ｃの入力データ等に基づいて、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを正常に通過したと判定されたことや、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを通過し始めたことを検知したと判定されたこと、投入メダルセンサ３１ａ〜３１ｃによるメダルの検出状態が前回の判定時から変化していないと判定されたことを特定可能である。メダル通過状態参照データの初期値は、メダルの検出状態が前回の判定時から変化していない旨を示すメダル通過状態参照データ（変化なし）である。また、メダル関連エラー参照データは、メダルセンサチェック処理の処理結果として、投入メダルセンサ３１ａ〜３１ｃの検出信号（以下、メダル投入信号と呼ぶ場合がある）に関する異常（エラーコードＥ５）が検出された旨を特定可能なデータである。また、メダル通過状態参照データ及びメダル関連エラー参照データは、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設定されることで、非遊技プログラムにより参照及び更新が可能である一方で遊技プログラムからは参照のみが可能である。
【０２７３】
Ｓｆ１、Ｓｆ２のステップにおいてメダル通過状態参照データ及びメダル関連エラー参照データをクリアした後、ポート入力バッファの所定領域を参照して投入メダルセンサ３１ａ〜３１ｃの現在データを取得し（Ｓｆ３）、メダル投入信号の状態の遷移が正常であるか否かを判定するための正誤データを、ＲＯＭ４１ｂの所定領域を参照して取得し（Ｓｆ４）、ＲＡＭ４１ｃの所定領域を参照して前回以前のメダルセンタチェック処理において格納されたメダル投入信号状態遷移データを取得する（Ｓｆ５）。
【０２７４】
そして、Ｓｆ５のステップにおいて取得したメダル投入信号状態遷移データとＳｆ４のステップにおいて取得した正誤データを比較して、メダル投入信号状態遷移データが正しいか否かを判定する（Ｓｆ６）。
【０２７５】
Ｓｆ６のステップにおいてメダル投入信号状態遷移データが正しいと判定した場合は、Ｓｆ３のステップにおいて取得した投入メダルセンサ３１ａ〜３１ｃの現在データに基づいてメダル投入信号状態遷移データを更新することで、新たなメダル投入信号状態遷移データを作成してＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に格納する（Ｓｆ７）。
【０２７６】
そして、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されているメダル通過時間タイマを参照し（Ｓｆ８）、Ｓｆ７のステップにおいて更新したメダル投入信号状態遷移データに基づいて、投入メダルセンサ３１ａ〜３１ｃの今回及び前回の検出状態がＯＦＦ状態であるか否かを判定する（Ｓｆ９、Ｓｆ１０）。メダル通過時間タイマは、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過している状態であると判定される期間の継続時間を計時するタイマである。後述のするように、メダル投入信号状態遷移データに基づいて、メダル投入信号がＯＮ状態となったときに計時が開始された後、タイマ割込み処理（メイン）により更新されるようになっている。
【０２７７】
Ｓｆ９、Ｓｆ１０のステップにおいて投入メダルセンサ３１ａ〜３１ｃの今回の検出状態がＯＦＦ状態であり、かつ前回の検出状態がＯＦＦ状態でないと判定した場合、すなわち投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａの内にあったメダルが当該検出範囲を出たことにより、当該投入メダルセンサ３１ａ〜３１ｃの検出状態がＯＮ状態からＯＦＦ状態に変化した可能性がある場合には、Ｓｆ８のステップにおいて参照したメダル通過時間タイマが、投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが正常に通過するために要する正常通過時間範囲の最短値（本実施例では、１０.０８ミリ秒）未満であるか否かを判定する（Ｓｆ１１）。尚、正常通過時間範囲は、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲を通過するために要する時間の実測値や、メダルセレクタ２９のメダル受入流路２９ｂの形状、メダル受入流路２９ｂにおける投入メダルセンサ３１ａ〜３１ｃの配置、投入メダルセンサ３１ａ〜３１ｃの特性等に基づいて予め定められている（本実施例では、１０.０８ミリ秒〜９９.６８ミリ秒の範囲である）。
【０２７８】
そして、Ｓｆ１１のステップにおいてメダル通過時間タイマが正常通過時間範囲の最短値未満でないと判定した場合は、Ｓｆ７のステップにおいて格納されたメダル投入信号状態遷移データをクリアし（Ｓｆ１２）、メダル通過時間タイマをクリアした後（Ｓｆ１３）、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを正常に通過した旨を示すメダル通過状態参照データ（正常通過）をＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定して、メダルセンサチェック処理を終了する。一方、メダル通過時間タイマが正常通過時間範囲の最短値未満でない場合は、後述するＳｆ１９のステップへ進む。
【０２７９】
Ｓｆ９、Ｓｆ１０のステップにおいて投入メダルセンサ３１ａ〜３１ｃの今回及び前回の検出状態がともにＯＦＦ状態であると判定した場合、すなわち投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過しておらず、投入メダルセンサ３１ａ〜３１ｃの検出状態が前回の判定時から変化していない場合には、メダル通過状態参照データがＳｆ１のステップにおいて初期化された状態、すなわちメダル通過状態参照データ（変化なし）がＲＡＭ４１ｃの所定領域に設定されている状態を維持して、メダルセンサチェック処理を終了する。
【０２８０】
Ｓｆ９のステップにおいて投入メダルセンサ３１ａ〜３１ｃの今回の検出状態がＯＦＦ状態でないと判定した場合、すなわち投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過しており、投入メダルセンサ３１ａ〜３１ｃがＯＮ状態である場合には、Ｓｆ８のステップにおいて参照したメダル通過時間タイマが正常通過時間範囲の最大値（本実施例では、９９.６８ミリ秒）を超えたか否かを判定する（Ｓｆ１５）。
【０２８１】
そして、Ｓｆ１５のステップにおいてメダル通過時間タイマが正常通過時間範囲の最大値を超えていないと判定した場合は、メダル通過時間タイマが動作中であるか否かを判定する（Ｓｆ１６）。メダル通過時間タイマが作動中でない場合、すなわち投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａにメダルが新たに進入したことにより、当該投入メダルセンサ３１ａ〜３１ｃの検出状態がＯＦＦ状態からＯＮ状態に変化したときであり、未だメダル通過時間タイマによる計時を開始していないときである場合には、メダル通過時間タイマを０に設定して始動させた後（Ｓｆ１７）、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａを通過し始めたことを検知した旨を示すメダル通過状態参照データ（メダル検知）をＲＡＭ４１ｃの非遊技領域の所定領域に設定して、メダルセンサチェック処理を終了する。一方、Ｓｆ１５のステップにおいてメダル通過時間タイマが正常通過時間範囲の最大値を超えたと判定した場合は、後述するＳｆ１９のステップへ進む。また、Ｓｆ１６のステップにおいてメダル通過時間タイマが作動中であると判定した場合、すなわち投入メダルセンサ３１ａ〜３１ｃの検出範囲Ａをメダルが通過しており、投入メダルセンサ３１ａ〜３１ｃのＯＮ状態が継続されている場合には、メダル通過状態参照データがＳｆ１のステップにおいて初期化された状態、すなわちメダル通過状態参照データ（変化なし）がＲＡＭ４１ｃの所定領域に設定されている状態を維持して、メダルセンサチェック処理を終了する。尚、メダル通過時間タイマは、Ｓｆ１７のステップにおいて０に設定されて始動された後、タイマ割込み処理により所定時間毎に加算されるようになっており、Ｓｆ１７のステップにおいて０に設定されてからの経過時間、すなわちメダル投入信号状態遷移が正しく、かつ投入メダルセンサ３１ａ〜３１ｃがＯＮ状態となったことが判定されたときからの経過時間がメダル通過時間タイマにより計時されるようになっている。
【０２８２】
Ｓｆ６のステップにおいてメダル投入信号状態遷移データが正しくないと判定した場合、Ｓｆ１１のステップにおいてメダル通過時間タイマが正常通過時間範囲の最小値未満であると判定した場合、Ｓｆ１５のステップにおいてメダル通過時間タイマが正常通過時間範囲の最大値を超えたと判定した場合には、メダル投入信号に関して異常が生じている旨を示すメダル関連エラー参照データ（Ｅ５）をＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定し（Ｓｆ１９）、Ｓｆ７のステップにおいてＲＡＭ４１ｃの所定領域に格納したメダル投入信号状態遷移データをクリアし（Ｓｆ２０）、メダル通過時間タイマをクリアして計時を停止させた後（Ｓｆ２１）、メダルセンサチェック処理を終了してメダルセンサ処理に戻る。尚、Ｓｆ１９のステップにおいてメダル関連エラー参照データ（Ｅ５）が設定されて、メダルセンサチェック処理に戻る場合には、その後、遊技プログラムに含まれる遊技開始待ち処理のメダル投入信号処理においてメダル関連エラー参照データ（Ｅ５）が参照されることで、エラー状態に制御されることとなる。
【０２８３】
図１９に示すように、非遊技プログラムに含まれるメダルセンサチェック処理のＳｆ６のステップにおけるメダル投入信号状態遷移が正しいか否かの判定では、投入メダルセンサ１〜３（投入メダルセンサ３１ａ〜３１ｃ）により当該投入メダルセンサ１〜３の検出範囲をメダルが通過し始めたことが検出される際には、投入メダルセンサ１（投入メダルセンサ３１ａ）がＯＦＦ状態からＯＮ状態となった後、投入メダルセンサ２（投入メダルセンサ３１ｂ）がＯＦＦ状態からＯＮ状態となり、その後、投入メダルセンサ３（投入メダルセンサ３１ｂ）がＯＦＦ状態からＯＮ状態となる遷移が、メダル投入信号遷移状態データに基づいて特定される場合に、メダル投入信号状態遷移が正しいと判定されるようになっている。
【０２８４】
また、投入メダルセンサ１〜３により当該投入メダルセンサ１〜３の検出範囲をメダルが通過したことが検出される際には、投入メダルセンサ１がＯＮ状態からＯＦＦ状態となった後、投入メダルセンサ２がＯＮ状態からＯＦＦ状態となり、その後、投入メダルセンサ３がＯＮ状態からＯＦＦ状態となる遷移が、メダル投入信号遷移状態データに基づいて特定される場合、及び投入メダルセンサ１がＯＮ状態からＯＦＦ状態となった後、投入メダルセンサ３がＯＮ状態からＯＦＦ状態となり、その後、投入メダルセンサ２がＯＮ状態からＯＦＦ状態となる遷移が、メダル投入信号遷移状態データに基づいて特定される場合に、メダル投入信号状態遷移が正しいと判定されるようになっている。
【０２８５】
そして、メダルセンサチェック処理では、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ１〜３のいずれかがＯＮ状態であると判定されることで、メダル通過状態参照データ（検知）が設定されることとなる。すなわち、投入メダルセンサ１〜３のうち投入メダルセンサ１が最初にＯＦＦ状態からＯＮ状態に変化する場合に、メダル投入信号遷移状態データが正しいと判定されるので、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ１がＯＮ状態となったときに、メダル通過状態参照データ（検知）が設定されることとなる。
【０２８６】
また、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ１〜３のすべてがＯＮ状態であると判定されることで、メダル通過状態参照データ（正常通過）が設定されることとなる。すなわち、投入メダルセンサ１〜３のうち投入メダルセンサ２が最後にＯＮ状態からＯＦＦ状態に変化する場合、及び投入メダルセンサ３が最後にＯＮ状態からＯＦＦ状態に変化する場合に、メダル投入信号遷移状態データが正しいと判定されるので、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ２及び３がＯＦＦ状態となったときに、メダル通過状態参照データ（正常通過）が設定されることとなる。
【０２８７】
遊技プログラムに含まれるメダル投入信号処理では、Ｓｄ１６及びＳｄ１７のステップによりメダル通過状態参照データ（正常通過）が設定されていると判定した後に、Ｓｄ２１〜Ｓｄ２４のステップにより投入メダルセンサ１〜３の入力データがＯＮ状態からＯＦＦ状態となったことが特定される場合に、その後のメダル投入処理等に進むようになっている。すなわち、メダルセンサチェック処理によりメダル通過状態参照データ（正常通過）が設定された際に、投入メダルセンサ２または３のＯＮ状態からＯＦＦ状態への立下りが検出されることで、正常なメダルの投入が検出されるようになっている。
【０２８８】
［役比モニタ用データ処理について］
本実施例のメイン制御部４１が行う役比モニタ用データ処理の制御内容について、図２０〜図２３に基づいて説明する。尚、役比モニタ用データ処理は、非遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。また、役比モニタ用データ処理は、非遊技プログラムに含まれるサブルーチンである各状態カウント処理を呼び出し、当該各状態カウント処理は、非遊技プログラムに含まれるサブルーチンである役物比率更新処理を更に呼び出すようになっている。
【０２８９】
メイン制御部４１は、過去６０００ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを比率表示として、２桁の７セグメント表示器で構成されるクレジット表示器１１と遊技補助表示器１２に表示させる制御を行う。クレジット表示器１１と遊技補助表示器１２は、遊技の進行に応じた情報が表示される表示器であり、比率表示を常時表示させることができないため、遊技が行われていない状況下で遊技店の店員などにより所定の操作が行われたことにより比率表示を表示させる。
【０２９０】
具体的には、ゲームが行われていないときに、通常施錠されている前面扉１ｂを遊技店の店員が所持する鍵により解錠して開放状態とした上で、筐体１ａの内部に設けられたリセット／設定スイッチ３８を操作すると、メイン制御部４１は、クレジット表示器１１と遊技補助表示器１２における現在の表示内容が切り替えて比率表示の表示を開始させる。
【０２９１】
また、比率表示は、比率表示の種類を示す略記を構成する上位２桁の英数字と、比率を示す下位２桁の数字とからなる４桁の英数字により構成されており、上位２桁の表示内容をクレジット表示器１１に、下位２桁の表示内容を遊技補助表示器１２に表示させ、比率表示の開始から予め定められた表示順で所定時間毎に切り替えて比率表示を表示させる。
【０２９２】
クレジット表示器１１と遊技補助表示器１２とに比率表示を表示させた状態で、前面扉１ｂの閉鎖、スロットマシン１へのメダルの投入、エラーの発生、設定キースイッチ３７の操作、精算スイッチ１０の操作、スロットマシン１への電力供給の停止のいずれかが検出される、比率表示を表示させる前に表示されていた元の表示内容へ切り替えて比率表示を終了させる。
【０２９３】
メイン制御部４１は、メイン処理の遊技終了時設定処理（図１５のＳｂ４４のステップ）において、各リール２Ｌ、２Ｃ、２Ｒに導出された表示結果に応じて入賞が発生したか否かを判定する処理を行った後に、タイマ割込みを禁止に設定し、非遊技プログラムに含まれる役比モニタ用データ処理を実行する。
【０２９４】
図２０に示すように、役比モニタ用データ処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰの示すアドレスの値を非遊技ＲＡＭ領域の所定領域に記憶させて退避させ（Ｓｇ１）、その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時に記憶された値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する（Ｓｇ２）。そして、メイン制御部４１が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる（Ｓｇ３）。そして、非遊技プログラムに含まれる各状態カウント処理（Ｓｇ４）を実行した後、Ｓｇ３のステップにおいて退避させていたレジスタの値を非遊技スタック領域から順次読み出して、役比モニタ用データ処理を開始したときの状態にすべてのレジスタを復帰させた後（Ｓｇ５）、Ｓｇ１のステップにおいて非遊技ＲＡＭ領域の所定領域に記憶させて退避させていたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、役比モニタ用データ処理を開始したときの状態にスタックポインタＳＰを復帰させ（Ｓｇ６）、役比モニタ用データ処理を終了させて呼び出し元のメイン処理に戻り、Ｓｂ３７のステップへ進む。その後、メイン処理では、タイマ割込みが許可されて（Ｓｂ３７）、その後の処理が実行される。
【０２９５】
図２１に示すように、各状態カウント処理では、総累計ゲーム数の加算が可能であるかが判定される（Ｓｈ１）。総累計ゲーム数は、３バイトの記憶領域に格納されており、上限値として１６７７７２１５ゲームまで計数可能である。
【０２９６】
総累計ゲーム数の加算ができない場合は、Ｓｈ２２のステップに進む。総累計ゲーム数の加算ができる場合、ゲームが行われたとして１を加算する（Ｓｈ２〜Ｓｈ４）。前述したとおり、遊技機に用いられるマイクロコンピュータは最大２バイトの値同士の演算しか行うことができないため、この加算は３バイトデータ加算＆格納処理（Ｓｈ４）のサブルーチンを呼び出して実行される。そして、加算した結果、総累計ゲーム数が上限に到達したかが判定される（Ｓｈ４）。総累計ゲーム数が上限値に到達していない場合はＳｈ７のステップへ進む。総累計ゲーム数が上限値に到達している場合、総累計カウント停止フラグに上限値に到達した旨を示す値が設定され（Ｓｈ５、Ｓｈ６）、Ｓｈ７のステップへ進む。なお、前述したＳｈ１のステップでは総累計カウント停止フラグを参照して総累計ゲーム数の加算が可能であるかが判定される。
【０２９７】
Ｓｈ７からのステップでは、総累計ゲーム数が０〜５９９９ゲームの範囲にあるか、６０００〜１７４９９９ゲームの範囲にあるか、１７５０００ゲーム以上の範囲にあるか、が判定される（Ｓｈ７〜Ｓｈ２０）。判定の結果に応じて、それぞれの範囲にあることを示す値を点灯識別セグとして設定する（Ｓｈ８、Ｓｈ１８、Ｓｈ１９）。設定された点灯識別セグは、表示モニタ消化遊技判定フラグに格納される。そして、非遊技プログラムに含まれる役物比率更新処理（Ｓｈ２２）を実行した後に、役比モニタ用データ処理に復帰する。
【０２９８】
図２２に示すように、役物比率更新処理では、まず遊技回数判定用のゲーム回数の１加算を行う（Ｓｉ１）。ここで後述する判定用ゲーム数カウンタに１が加算される。次に今回のゲームで入賞が発生したことにより払出される入賞メダル枚数の加算を行う（Ｓｉ２、Ｓｉ３）。ここで累計バッファ１〜３の総払出カウンタにそれぞれ入賞メダル枚数の加算が行われる。
【０２９９】
累計バッファ１には３バイトの総払出カウンタと３バイトの役物払出カウンタとが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから６０００ゲームに到達すると総払出カウンタと役物払出カウンタを初期値である０に更新し次のゲームは初期値から計数を開始する。
【０３００】
累計バッファ２も累計バッファ１と同様に３バイトの総払出カウンタと３バイトの役物払出カウンタとが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから６０００ゲームに到達すると総払出カウンタと役物払出カウンタを初期値である０に更新し次のゲームは初期値から計数を開始する。但し、計数を開始するゲームは累計バッファ１と２０００ゲームずれている。
【０３０１】
累計バッファ３も累計バッファ１、累計バッファ２と同様に３バイトの総払出カウンタと３バイトの役物払出カウンタとが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから６０００ゲームに到達すると総払出カウンタと役物払出カウンタを初期値である０に更新し次のゲームは初期値から計数を開始する。但し、計数を開始するゲームが累計バッファ１と４０００ゲーム、累計バッファ１と２０００ゲームずれている。
【０３０２】
続いて、総累計払出枚数の加算が可能であるかが判定される（Ｓｉ４）。総累計払出枚数の加算ができない場合は、Ｓｉ１０のステップに進む。総累計払出枚数の加算が可能である場合、総累計払出枚数に入賞メダル枚数の加算が行われる。そして、加算した結果、総累計払出枚数が上限に到達したかが判定される（Ｓｉ７）。総累計払出枚数が上限値に到達していない場合はＳｉ１０のステップへ進む。総累計払出枚数が上限値に到達している場合、総累計カウント停止フラグに上限値に到達した旨を示す値が設定され（Ｓｉ８、Ｓｉ９）、Ｓｉ１０のステップへ進む。なお、総累計払出枚数の加算が可能であるかは総累計カウント停止フラグを参照して判定されるとともに、総累計ゲーム数が上限値に到達したときと、総累計払出枚数が上限値に到達したときとで同じフラグが用いられる。
【０３０３】
Ｓｉ１０、Ｓｉ１１のステップでは遊技において役物が作動しているか否か、つまりＢＢまたはＲＢに制御されている期間であるかが判定される。役物が作動していない場合、Ｓｉ１７に進む。役物が作動している場合、今回のゲームで入賞が発生したことにより払出される入賞メダル枚数を役物作動期間の払出枚数として加算を行う（Ｓｉ１２、Ｓｉ１３）。ここで累計バッファ１〜３の役物払出カウンタにそれぞれ入賞メダル枚数の加算が行われる。
【０３０４】
続いて、総累計役物払出枚数の加算が可能であるかが判定される（Ｓｉ１４）。総累計役物払出枚数の加算ができない場合は、Ｓｉ１７のステップに進む。総累計役物払出枚数の加算が可能である場合、総累計役物払出枚数に入賞メダル枚数の加算が行われ（Ｓｂ１５、１６）、Ｓｉ１７のステップへ進む。なお、総累計役物払出枚数の加算が可能であるかは総累計カウント停止フラグを参照して判定される。
【０３０５】
以上のように更新された総累計払出枚数と総累計役物払出枚数から総累計払出数に対する役物払出比率の算出を行う（Ｓｉ１７、Ｓｉ１８）。そして算出された値が総累計払出数に対する役物払出比率として格納される（Ｓｉ１９）。
【０３０６】
続いて、判定用ゲーム数カウンタを参照して、当該ゲームが更新ゲーム数か否かを判定する（Ｓｉ２０〜Ｓｉ２３）。判定用ゲーム数カウンタは１〜６０００ゲームの間で循環して計数されるカウンタであり、計数を開始してからのゲーム数が２０００ゲーム、４０００ゲーム、６０００ゲームに到達したかを判定するために用いられるカウンタである。上記判定は、判定用カウンタを２０００で除算して余りが生じたか否かにより判定され、余りが生じていた場合、当該ゲームが更新ゲーム数でないとして各状態カウント処理に復帰する。
【０３０７】
判定用カウンタを２０００で除算して余りが生じなかった場合、除算結果の商より当該ゲームが２０００ゲーム、４０００ゲーム、６０００ゲームのいずれの更新ゲームかを特定する（Ｓｉ２４）。そして、累計バッファ１〜３のうち、特定された更新ゲームに対応する累計バッファより総払出カウンタの値を読み出して６０００回算出用バッファに６０００ゲーム累計払出枚数として格納するとともに読み出し元の総払出カウンタを初期値である０に更新する（Ｓｉ２５〜Ｓｉ２７）。同様に特定された更新ゲームに対応する累計バッファより役物払出カウンタの値を読み出して６０００回算出用バッファに６０００ゲーム累計役物払出枚数として格納するとともに読み出し元の役物払出カウンタを初期値である０に更新する（Ｓｉ２８〜Ｓｉ３０）。
【０３０８】
さらに、６０００回算出用バッファに格納された６０００ゲーム累計払出枚数と６０００ゲーム累計役物払出枚数とから６０００ゲーム累計払出枚数に対する役物払出比率の算出を行う。６０００ゲーム累計払出枚数と６０００ゲーム累計役物払出枚数はいずれも３バイトのデータであるため、実施例１のスロットマシンにおいて説明した演算方法により、役物払出比率の算出を行う（Ｓｉ３１、Ｓｉ３２）。そして算出された値が過去６０００ゲーム間の役物払出比率として格納される（Ｓｉ３３）。その後、各状態カウント処理に復帰する。
【０３０９】
総累計払出数に対する役物払出比率、過去６０００ゲーム間の役物払出比率は、表示モニタ用データ選択処理において参照され、遊技店の店員等により所定操作が行われた際に、遊技補助表示器１２に順次表示されることとなる。この際、表示されている比率表示の種類を示す略記は、クレジット表示器１１に表示される。
【０３１０】
図２３を参照して、役比モニタ用データ処理による累計バッファ１〜３及び６０００回算出用バッファ、総累計払出枚数と総累計役物払出枚数が格納される総累計算出用バッファの更新状況を説明する。累計バッファ１〜３、６０００回算出用バッファ及び総累計算出用バッファの記憶内容は工場出荷時または何らかの原因でＲＡＭ４１ｃのデータに異常が生じて初期化されない限りは保持されている。
【０３１１】
各バッファ値が初期化された状態から累計バッファ１と総累計算出用バッファでの計数が開始される。２０００ゲームが経過すると累計バッファ２での計数が開始される。累計バッファ１は計数を継続している。続いて２０００ゲームが経過すると累計バッファ３での計数が開始される。累計バッファ１と累計バッファ２は計数を継続している。
【０３１２】
さらに２０００ゲームが経過すると累計バッファ１での計数期間が６０００ゲームに達する。ここで累計バッファ１の計数内容が６０００回算出用バッファに格納される。そして累計バッファ１の計数内容は初期化され初期値（０）から計数を開始する。
【０３１３】
次の２０００ゲームが経過すると累積バッファ２での計数期間が６０００ゲームに達する。ここで累積バッファ２の計数内容が６０００回算出用バッファに格納される。そして累積バッファ２の計数内容は初期化され初期値（０）から計数を開始する。
【０３１４】
このように累計バッファ１〜３に計数された６０００ゲーム間の計数結果が２０００ゲーム毎に６０００回算出用バッファに格納されていく。なおこの間、総累計算出用バッファの計数結果は初期化されることなく累積して計数が行われている。
【０３１５】
［タイマ割込み処理について］
本実施例のメイン制御部４１が行うタイマ割込み処理（メイン）の制御内容について、図２４に基づいて説明する。尚、タイマ割込み処理（メイン）は、遊技プログラムに含まれるサブルーチンである。
【０３１６】
図２４に示すように、タイマ割込み処理（メイン）では、まず、すべての表レジスタと裏レジスタを交換した後（Ｓｊ１）、タイマ割込を禁止に設定し（Ｓｊ２）、ＲＡＭ４１ｃの所定領域に設定されている電圧低下状態カウンタの値を取得する（Ｓｊ３）。そして、電断検出回路４８から電圧低下信号が入力される入力ポートを参照して（Ｓｊ４）、電圧低下信号が入力されているか否かを判定する（Ｓｊ５）。電圧低下信号が入力されている場合には、電圧低下状態カウンタが予め定められた上限値（本実施例では、４）に達しているか否かを判定し（Ｓｊ６）、電圧低下状態カウンタが上限値に達している場合には、後述する電断処理（メイン）を行う（Ｓｊ７）。
【０３１７】
Ｓｊ５のステップにおいて電圧低下信号が入力されていないと判定した場合、及びＳｊ６のステップにおいて電圧低下状態カウンタが上限値に達していないと判定した場合は、Ｓｊ８のステップに進み、電圧低下状態カウンタを更新する。Ｓｊ５のステップからＳｊ８のステップに進んだ場合には、電圧低下状態カウンタに０を加算することで、現在の値を維持する一方で、Ｓｊ５のステップからＳｊ８のステップに進んだ場合には、電圧低下状態カウンタに１加算するように更新する。
【０３１８】
そして、入力ポートから各種スイッチ類の検出状態を入力し、入力データ、確定データ、エッジデータ（ＯＮエッジデータ及びＯＦＦエッジデータ）を生成するポート入力処理を行う（Ｓｊ９）。その後、メイン制御部４１が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させた後（Ｓｊ１０）、非遊技プログラムに含まれる非遊技関連処理を行う（Ｓｊ１１）。その後、Ｓｊ１０のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、非遊技関連処理を行う前の状態にフラグレジスタを復帰させる（Ｓｊ１２）。
【０３１９】
非遊技関連処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰにより示される遊技スタック領域の現在のアドレスの値を、非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時に、非遊技プログラム用のスタックポインタＳＰにより示されるアドレスとして非遊技ＲＡＭ領域の所定領域に記憶されている値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する。そして、上述のフラグレジスタを含むメイン制御部４１が備えるすべてのレジスタの値を、スタックポインタＳＰにより特定される非遊技ＲＡＭ領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。その後、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常を検出するセンサ監視処理、遊技の結果に関連して発生する試験信号を出力する試験信号出力処理、非遊技プログラムが用いる各種タイマを更新する非遊技関連タイマ更新処理、役比モニタに表示させる出力データを選択する役比モニタ出データ選択処理を順次行う。また、センサ監視処理では、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常が検出した場合に、検出された異常の種類を特定可能なセンサエラー参照データをＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定するようになっている。そして、非遊技関連処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技関連処理を開始したときの状態にすべてのレジスタを復帰させる。その後、非遊技関連処理を開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、非遊技関連処理を開始したときの状態にスタックポインタＳＰを復帰させて、非遊技関連処理を終了させる。
【０３２０】
Ｓｊ１２のステップにおいてフラグレジスタを復帰させた後は、Ｓｊ１１のステップにおける非遊技関連処理により設定されたセンサエラー参照データを参照し（Ｓｊ１３）、今回のタイマ割込みにおける非遊技関連処理により設定されたセンサエラー参照データと、前回のタイマ割込みにおける非遊技関連処理により設定されたセンサエラー参照データの論理和を算出する（Ｓｊ１４）。そして、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域に設定されており、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常が検出されているか否かを特定可能なセンサエラーフラグを、Ｓｊ１４のステップで算出した論理和に基づいて更新する。Ｓｊ１３〜Ｓｊ１５のステップを行うことで、センサエラー参照データに基づいて異常が検出されていることが特定される場合には、センサエラーフラグが異常が検出されていることを示す状態であるか否かにかかわらず、当該異常が検出されている旨を示すように、センサエラーフラグを更新する。一方、センサエラー参照データに基づいて異常が検出されていないことが特定される場合には、センサエラーフラグの状態を維持する。すなわち、センサエラー参照データに基づいて異常が検出されていることが特定される場合には、センサエラー参照データの内容をセンサエラーフラグに反映させる一方で、センサエラー参照データに基づいて異常が検出されていないことや異常が解除されたことが特定される場合には、センサエラー参照データの内容をセンサエラーフラグに反映させないようになっている。
【０３２１】
Ｓｊ１５のステップにおいてセンサエラーフラグを更新した後は、メイン制御部４１の内部に設けられた乱数回路における乱数値を更新する乱数値更新処理を行い（Ｓｊ１６）、メイン制御部４１の内部に設けられたウォッチドッグタイマ（ＷＤＴ）のレジスタをクリアする（Ｓｊ１７）。その後、ＲＡＭ４１ｃの所定領域に設けられ、タイマ割込みに含まれる処理を分岐させるための分岐用カウンタの値を所定のレジスタに読み込み、所定値（本実施例では、１）を加算して更新し、更新された値を、ＲＡＭ４１ｃの所定領域の分岐用カウンタの値として設定する（Ｓｊ１８）。この分岐用カウンタを更新する処理では、当該分岐用カウンタが０〜２である場合は１加算し、分岐用カウンタが３である場合は初期化して０に戻すことで、０〜３の範囲で更新する。すなわち分岐用カウンタの値は、タイマ割込み処理（メイン）が実行される毎に、０→１→２→３→０・・・の順番でループする。そして、分岐用カウンタの値は、タイマ割込み処理（メイン）において実行される各処理において参照され、例えば、分岐用カウンタが所定値となったときに所定の制御を実行する等、各処理内の制御が分岐されることとなる。
【０３２２】
Ｓｊ１８のステップにおいて分岐用カウンタを更新した後、当該分岐用カウンタが４であるか否かを判定し（Ｓｊ１９）、分岐用カウンタが４である場合には、ＲＡＭ４１ｃの所定領域に設定されている所定の各種タイマを更新するタイマ更新処理（Ｓｊ２０）、出力ポートに接続された各種ＬＥＤ等の表示器（クレジット表示器１１、遊技補助表示器１２、１〜３ＢＥＴＬＥＤ１４〜１６、投入要求ＬＥＤ１７、スタート有効ＬＥＤ１８、ウェイト中ＬＥＤ１９、リプレイ中ＬＥＤ２０等）の点灯状態をメイン処理等の各処理による設定に応じてダイナミック点灯させるための点灯信号を設定して送信等を行うに制御するＬＥＤダイナミック表示処理（Ｓｊ２１）を行う。
【０３２３】
Ｓｊ１９のステップにおいて分岐用カウンタが４でないと判定した場合、及びＳｊ２１のステップにおいてＬＥＤダイナミック表示処理を行った後は、外部出力信号のうちメダルが投入された旨を示すメダル投入信号やメダルの払い出しが行われる旨を示すメダル払出信号の出力設定を更新して、スロットマシン１の外部に送信するメダル投入払出信号送信処理（Ｓｊ２２）、外部出力信号のうちセキュリティ信号（ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号）の出力設定を更新して、スロットマシン１の外部に送信するセキュリティ信号送信処理（Ｓｊ２３）、コマンドキューに設定されたドアコマンドや操作終了コマンド等の各種コマンドを送信させる等を行うコマンド送信処理（Ｓｊ２４）を順次行う。
【０３２４】
その後、分岐用カウンタを参照して、当該分岐用カウンタが２であるか否かを判定し（Ｓｊ２５）、分岐用カウンタが２である場合には、リールに関する異常が生じている場合（リールエラー中）に設定されるリールエラーフラグがＲＡＭ４１ｃの所定領域に設定されているか否かに基づいて、リールエラー中であるか否か判定する（Ｓｊ２６）。そして、リールエラー中でない場合は、ゲームの進行状況等に応じて各リールモータ３２Ｌ、３２Ｃ、３２Ｒの励磁パターンの設定等を行ってリールの回転及び停止を制御するリール制御処理を行う（Ｓｊ２７）。
【０３２５】
そして、Ｓｊ２５のステップにおいて分岐用タイマが２でないと判定した場合、Ｓｊ２６のステップにおいてリールエラー中であると判定した場合、及びＳｊ２７のステップにおけるリール制御処理を終了した場合は、リール制御処理により設定された励磁パターンに応じた駆動信号を各リールモータ３２Ｌ、３２Ｃ、３２Ｒに出力されることで、各リールモータ３２Ｌ、３２Ｃ、３２Ｒを所定の制御態様で回転、停止させるリールモータ駆動信号出力処理（Ｓｊ２９）、ソレノイド駆動回路４６に対して制御信号を送信する処理や左・中・右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒの点灯状態を更新する処理等を行うポート出力更新処理（Ｓｊ３０）を順次行った後、すべての表レジスタと裏レジスタを交換し（Ｓｊ３１）、タイマ割込を許可に設定して（Ｓｊ３２）、タイマ割込み処理（メイン）を終了させて、当該タイマ割込み処理（メイン）が開始されたときのメイン処理に復帰させる。
【０３２６】
なお、本実施例では、メイン制御部４１は、Ｓｊ２４の処理において出力ポート８，９からサブ制御部９１に対するコマンドが出力されるときは、コマンドの出力期間が経過したときにＳｊ３０の処理において出力ポート８，９の出力状態を更新することにより出力ポート８，９を初期化する。
【０３２７】
次いで、メイン制御部４１が行う電断処理（メイン）の制御内容について、図２５に基づいて説明する。尚、電断処理（メイン）は、遊技プログラムに含まれるサブルーチンである。
【０３２８】
メイン制御部４１は、上述のタイマ割込処理（メイン）において電圧低下状態が所定時間継続したと判定される場合に電断処理（メイン）を実行する。
【０３２９】
図２５に示すように、電断処理（メイン）では、まず、すべての表レジスタと裏レジスタを交換し（Ｓｋ１）、メイン制御部４１が備えるすべてのレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に所定の順序で記憶させることで退避させ（Ｓｋ２）、スタックポインタＳＰにより示される遊技スタック領域の現在のアドレスを遊技ＲＡＭ領域の所定領域に記憶させることで退避させる（Ｓｋ３）。尚、メイン制御部４１がレジスタの値を記憶させる遊技ＲＡＭ領域の遊技スタック領域やスタックポインタＳＰにより示されるアドレスの値を記憶させる遊技ＲＡＭ領域の所定領域を含む遊技ＲＡＭ領域の所定領域は、バックアップ電源によりバックアップされており、スロットマシン１への電力供給が停止しても、バックアップ電源により電力が供給される限り当該遊技ＲＡＭ領域の記憶内容が保存されるようになっている。
【０３３０】
そして、まず、メイン制御部４１が備えるパラレル出力ポートのうちホッパーモータ３４ｂの駆動信号等が出力される出力ポート３を初期化する初期化命令により出力ポート３を初期化して（Ｓｋ４）、出力状態をＯＦＦ状態にする。これにより、ホッパーユニット３４によりメダルの払い出しが行われている場合には、メダルの払い出しをまず優先的に停止させる。その後、パラレル出力ポートのうちリールモータ３２Ｌ、３２Ｃ、３２Ｒの駆動信号が出力される出力ポート０、１を初期化する初期化命令により出力ポート０、１を初期化して（Ｓｋ５）、リール２Ｌ、２Ｃ、２Ｒが回転制御されている場合には、リール２Ｌ、２Ｃ、２Ｒの回転を停止させる。
【０３３１】
その後、パラレル出力ポートのうち左・中・右停止有効ＬＥＤ２２Ｌ、２２Ｃ、２２Ｒ及び流路切替ソレノイド３０の制御信号が出力される出力ポート２、クレジット表示器１１、遊技補助表示器１２の制御信号等が出力される出力ポート４、５、試験用信号や外部出力信号を出力する出力ポート６、７、サブ制御部９１に対してコマンドを送信する出力ポート８、９を順次初期化して（Ｓｋ６〜Ｓｋ１１）、各種スイッチ類への制御信号等の出力を停止させる。
【０３３２】
Ｓｋ４〜Ｓｋ１１のステップにおいて出力ポート０〜９を初期化した後、ＲＡＭ４１ｃの所定領域に破壊診断用データ（本実施例では、５Ａ（Ｈ））を設定し（Ｓｋ１２）、ＲＡＭ４１ｃの所定領域に設定されているパリティ調整用データをクリアする（Ｓｋ１３）。そして、ＲＡＭ４１ｃのすべての格納領域（未使用領域及び未使用スタック領域を含む）の排他的論理和が０になるように新たなＲＡＭ４１ｃのパリティ調整用データを計算して（Ｓｋ１４）、当該パリティ調整用データをＲＡＭ４１ｃの所定領域に設定し（Ｓｋ１５）、ＲＡＭ４１ｃへのアクセスを禁止に設定し（Ｓｋ１６）、ループ処理に入る。
【０３３３】
ループ処理では、電圧低下信号の出力状況を監視した状態で待機する。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理（メイン）からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。
【０３３４】
以上の処理によって、ＡＣ１００Ｖの電力供給が停止される場合には、電断処理（メイン）が実行され、電断前のレジスタの値が遊技ＲＡＭ領域の遊技スタック領域に退避されるとともに、当該遊技スタック領域を含むＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域の内容もバックアップ電源が供給されることで保持されるため、スロットマシン１への電力供給が再開された際に実行される起動処理（メイン）において、電断前の制御状態に復帰させることが可能となる。さらに電断前の制御状態において停止操作が有効であったか否も特定できるようになっている。
【０３３５】
以上のように、出力ポート２、出力ポート３、出力ポート４、出力ポート５、出力ポート６、出力ポート７については一の出力ポートのみを初期化する初期化命令（例えば、「Ａ」）により初期化を行うのに対し、出力ポート０及び出力ポート１、出力ポート８及び出力ポート９については複数の出力ポートを初期化する初期化命令（例えば、「ＨＬ」）により初期化を行う。このように、出力ポートの出力内容に応じて複数の出力ポートをまとめて初期化するので、全ての出力ポートを一の出力ポートのみを初期化する初期化命令により初期化した場合に比べて初期化のためのプログラムの容量を削減することができる。
【０３３６】
また、起動時（図１１参照）と電断時とで出力ポート０〜９を異なる順序で初期化し、電断時においては、最も優先すべき出力ポート３を優先的に初期化して、電断時に最も優先すべき処理であるメダルの払い出しの停止を行うようになっている。上記したように、出力ポート３からはホッパーモータ３４ｂの駆動信号が出力される。よって、電断時にホッパーモータ３４ｂの駆動信号を停止しない場合には、スロットマシン１が電断するにもかかわらずメダルの払出しが行われてしまい、遊技店や遊技者の利益に対して直接的に影響してしまう。一方、例えば、出力ポート４及び出力ポート５から出力される遊技補助表示器１２の制御信号などは、該制御信号を停止するタイミングが遅れてもホッパーモータ３４ｂの駆動信号を停止するタイミングが遅れたときと比べて遊技店や遊技者の直接的な利益に大きく影響しない。よって、本実施例では、電断時には出力ポート３を優先的に初期化させている。このように、本実施例では、起動時の状況と電断時の状況とに応じた出力ポートを適切に初期化している。なお、本実施例では、遊技者や遊技店の利益に応じて優先して初期化する出力ポートを設定しているが、不正が行われる可能性が高い装置を駆動する出力ポートを優先して初期化するなど、異なる基準により優先して初期化する出力ポートを設定してもよい。
【０３３７】
［非遊技関連処理について］
本実施例のメイン制御部４１が行う非遊技関連処理の制御内容について、図２６〜図２４に基づいて説明する。尚、非遊技関連処理は、非遊技プログラムに含まれており、遊技プログラムに含まれるタイマ割込み処理（メイン）により呼び出されるサブルーチンである。また、非遊技関連処理は、非遊技プログラムに含まれるセンサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、表示モニタ出力データ選択処理を順次呼び出すようになっている。
【０３３８】
図２６に示すように、非遊技関連処理では、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰにより示される遊技スタック領域の現在のアドレスの値を、非遊技ＲＡＭ領域の所定領域に記憶させて退避させる（Ｓｍ１）。その後、当該スタックポインタＳＰの値として非遊技スタック領域の所定値（前回の非遊技プログラムの終了時にスタックポインタＳＰにより示されるアドレスとして非遊技ＲＡＭ領域の所定領域に記憶されている値）を設定することで、スタックポインタＳＰを非遊技プログラム用に設定する（Ｓｍ２）。そして、上述のフラグレジスタを含むメイン制御部４１が備えるすべてのレジスタの値を、スタックポインタＳＰにより特定される非遊技ＲＡＭ領域の非遊技スタック領域に所定の順序で記憶させることで退避させる（Ｓｍ３）。その後、非遊技プログラムに含まれており、投入メダルセンサ３１ａ〜３１ｃ、払出センサ３４ｃの検出信号に異常が発生しているか否かを判定するセンサ監視処理（Ｓｍ４）、スロットマシン１に接続される試験装置に試験用信号を出力する試験信号出力処理（Ｓｍ５）、投入メダルセンサ３１ａ〜３１ｃの検出範囲のメダルの通過時間を計時するタイマを更新するメダル通過時間タイマ更新処理（Ｓｍ６）、役比モニタに表示させる役比データを選択する役比モニタ表示データ選択処理（Ｓｍ７）を順次行う。
【０３３９】
Ｓｍ７のステップにおける役比モニタ表示データ選択処理の処理を行った後は、Ｓｍ３のステップにおいて非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技関連処理を開始したときの状態にすべてのレジスタを復帰させる（Ｓｍ８）。その後、Ｓｍ１のステップにおいて非遊技ＲＡＭ領域の所定領域に退避させた遊技プログラム用のスタックポインタＳＰの値を、スタックポインタＳＰに設定することで、非遊技関連処理を開始したときの状態にスタックポインタＳＰを復帰させて（Ｓｍ９）、非遊技関連処理を終了させて呼び出し元のタイマ割込み処理（メイン）に戻る。
【０３４０】
このように、メイン制御部４１は、非遊技プログラムに含まれる非遊技関連処理に従って各種処理（センサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理）を行う場合には、遊技プログラムに含まれるタイマ割込み処理（メイン）（Ｓｊ１１）から非遊技関連処理を呼び出すことで、当該非遊技関連処理の各種処理を行い、当該各処理が終了することで、呼び出し元のタイマ割込み処理（メイン）に戻るようになっている。
【０３４１】
また、非遊技関連処理では、遊技プログラムであるタイマ割込み処理（メイン）から呼び出された後、まず、スタックポインタＳＰ及びレジスタを退避させる処理を行って、その後、センサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等の複数の処理を行う。そして、これらの処理がすべて終了した後、遊技プログラムから呼び出されたときに退避させたスタックポインタＳＰ及びレジスタを復帰させて、呼び出し元のタイマ割込み処理（メイン）に戻る構成になっている。このような構成すなわち遊技プログラムから１回の呼出処理により呼び出された非遊技プログラムにおいて、複数の処理（例えば、センサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等）を行う構成では、非遊技プログラムにおいて行う複数の各処理毎に、スタックポインタＳＰ及びレジスタを退避させる処理及びこれらを復帰させる処理を行わず、まとめて１回の処理とすることができる。
【０３４２】
また、遊技プログラム（例えば、タイマ割込み処理（メイン））から非遊技プログラム（例えば、非遊技関連処理）を呼び出す際に、遊技プログラム側において、メイン制御部４１が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に記憶させることで退避させた後、非遊技プログラムを呼び出し、当該非遊技プログラムが終了された後に、当該非遊技プログラムを呼び出す前に退避させたフラグレジスタの値を、遊技スタック領域から順次読み出して該当するフラグレジスタに設定することで、非遊技プログラムを呼び出す前の状態にフラグレジスタを復帰させるようになっている。これにより、遊技プログラムは、非遊技プログラムを呼び出すことで、当該非遊技プログラムが演算を行うためにフラグレジスタを使用して、当該フラグレジスタの値を変更させた場合でも、遊技プログラムに復帰した際に、当該非遊技プログラムを呼び出す前の状態にフラグレジスタの値を復帰させて、その後の処理を行うことができるようになっている。
【０３４３】
また、非遊技プログラム（例えば、非遊技関連処理）では、遊技プログラム（例えば、タイマ割込み処理（メイン））により呼び出された際に、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタＳＰにより示される遊技スタック領域の現在のアドレスの値を、非遊技ＲＡＭ領域の所定領域に記憶させて退避させる。そして、非遊技プログラムに応じた所定の処理を行った後、当該非遊技プログラムを終了させる際に、非遊技プログラムを開始した際に非遊技ＲＡＭ領域の所定領域に退避させたスタックポインタＳＰの値をスタックポインタＳＰに設定することで、非遊技プログラムを開始したときの状態にスタックポインタＳＰを復帰させるようになっている。これにより、非遊技プログラムは、当該非遊技プログラムにおいてスタックポインタＳＰを使用して、当該スタックポインタＳＰを変更させた場合でも、非遊技プログラムを終了させる際に、当該非遊技プログラムを開始したときの状態にスタックポインタＳＰを復帰させた状態で、呼び出し元の遊技プログラムに復帰させることができるようになっている。
【０３４４】
また、非遊技プログラム（例えば、非遊技関連処理）では、遊技プログラム（例えば、タイマ割込み処理（メイン））により呼び出された際に、メイン制御部４１が備えるすべてのレジスタの値を、非遊技ＲＡＭ領域の非遊技スタック領域に記憶させることで退避させる。そして、非遊技プログラムに応じた所定の処理を行った後、当該非遊技プログラムを終了させる際に、当該非遊技プログラムを開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、非遊技スタック領域から順次読み出して、該当するレジスタに設定することで、当該非遊技プログラムを開始したときの状態にすべてのレジスタを復帰させるようになっている。これにより、非遊技プログラムは、当該非遊技プログラムにおいて、各種処理を行うためにレジスタを使用して、当該レジスタの値を変更させた場合でも、非遊技プログラムを終了させる際に、当該非遊技プログラムを開始したときの状態にすべてのレジスタの値を復帰させた状態で、呼び出し元の遊技プログラムに復帰させることができるようになっている。
【０３４５】
また、非遊技プログラムでは、遊技プログラムにより呼び出された際に、メイン制御部４１が備える全てのレジスタの値を、非遊技ＲＡＭ領域の非遊技スタック領域に記憶させることで退避させ、当該非遊技プログラムを終了させる際に、非遊技スタック領域に記憶させて退避させていたレジスタの値を該当するレジスタに設定することで、当該非遊技プログラムを開始したときの状態にすべてのレジスタを復帰させるようになっている。遊技プログラムにより使用されていたレジスタの値を、非遊技ＲＡＭ領域の非遊技スタック領域に記憶させて退避させ、当該非遊技スタック領域からレジスタに復帰させるので、遊技スタック領域に全てのレジスタの値を退避させるための領域を設ける必要がなく、遊技スタック領域にはフラグレジスタの値を退避させるための領域のみを設ければ良いので、当該遊技スタック領域の容量を低減することができる。
【０３４６】
また、メイン制御部４１がフラグレジスタの値を退避させる命令に１バイトのプログラム容量を必要とする一方、メイン制御部４１が全てのレジスタの値を退避させる命令に２バイトのプログラム容量を必要とする。そして、遊技プログラムから非遊技プログラムを呼び出す際に、遊技プログラム側において、メイン制御部４１が備えるレジスタのうちフラグレジスタの値を、遊技ＲＡＭ領域の遊技スタック領域に退避させた後、非遊技プログラムを呼び出し、非遊技プログラム側において、全てのレジスタの値を、非遊技ＲＡＭ領域の非遊技スタック領域に退避させるようになっており、遊技プログラム側で全てのレジスタを退避させる場合よりも遊技プログラムのプログラム容量を削減できるようになっている。
【０３４７】
［センサ監視処理について］
図２７に示すように、センサ監視処理では、タイマ割込み処理（メイン）において更新され、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域に設定されるタイマ割込み処理（メイン）の分岐用カウンタを参照して払出センサ３４ｃ、３４ｄの検出状態に異常が生じているか否かを監視する払出センサに関する処理を行うタイミング（分岐用タイマが０であるタイミング）であるか否かを判定する（Ｓｎ１）。そして、払出センサに関する処理を行うタイミングである場合は、Ｓｎ２のステップに進む。一方、払出センサに関する処理をタイミングでない場合は、Ｓｎ１６のステップに進み、投入メダルセンサ３１ａ〜３１ｃの検出状態に異常が生じているか否かを監視する投入センサに関する処理を行う。
【０３４８】
Ｓｎ１のステップにおいて払出センサに関する処理を行うタイミングであると判定した場合は、当該センサ監視処理による監視結果を遊技プログラムに伝達するためにＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されているセンサエラー参照データをクリアする（Ｓｎ２）。そして、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域に設定されており、エラーコードＥ１〜Ｅ５の異常が発生しているか否かを特定可能なエラーフラグを参照して（Ｓｎ３）、エラーコードＥ２、Ｅ３、Ｅ４の異常が発生しているか否かを判定する（Ｓｎ４）。
【０３４９】
Ｓｎ４のステップにおいてエラーコードＥ２、Ｅ３、Ｅ４の異常が発生していると判定した場合は、Ｓｎ１６のステップに進む一方、エラーコードＥ２、Ｅ３、Ｅ４の異常が発生していないと判定した場合は、払出センサ３４ｃ、３４ｄの確定データが記憶されているポート入力バッファの所定領域を参照した後（Ｓｎ５）、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域を参照して、ホッパーユニット３４によりメダルを払い出す払出制御を行っている旨を示す払出中フラグが設定されているか否かを判定する（Ｓｎ６）。
【０３５０】
Ｓｎ６のステップにおいて払出中フラグが設定されていると判定した場合は、Ｓｎ５のステップにおいて参照した払出センサ３４ｃ、３４ｄの確定データに基づいて、払出センサ３４ｃ、３４ｄの一方がＯＮ状態であるか否かを判定し（Ｓｎ７）、払出センサ３４ｃ、３４ｄの一方がＯＮ状態である場合は、払出センサ３４ｃ、３４ｄのエッジデータが記憶されているポート入力バッファの所定領域を参照し（Ｓｎ８）、エッジデータ（ＯＮエッジデータまたはＯＦＦエッジデータ）が設定されているか否かを判定する（Ｓｎ９）。
【０３５１】
そして、Ｓｎ７のステップにおいて払出センサ３４ｃ、３４ｄの一方がＯＮ状態であり、かつＳｎ７のステップにおいてエッジデータが設定されていると判定した場合、すなわちホッパーユニット３４から払出された１枚のメダルが払出センサ３４ｃ、３４ｄの検出範囲を通過し始めたとき、またはホッパーユニット３４から払出された１枚のメダルが払出センサの検出範囲を通過し終えたときである場合は、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されているセンサチェックタイマ１を初期化して０に設定し（Ｓｎ１０）、新たなメダルの通過時間の計時を開始させる。そして、Ｓｎ９のステップにおいてエッジデータが設定されていないと判定した場合、及びＳｎ１０のステップにおいてセンサチェックタイマ１を初期化した後は、センサチェックタイマ１に１を加算して更新する（Ｓｎ１１）。
【０３５２】
センサチェックタイマ１は、払出センサ３４ｃ、３４ｄの検出範囲をメダルが通過し始めたときから通過し終えたときまでの時間と、払出センサ３４ｃ、３４ｄの検出範囲をメダルが通過し終えたときから次のメダルが通過し始めたときまでの時間とを計時するためのタイマである。センサ監視処理におけるＳｎ１１のステップにより更新されることにより、センサチェックタイマ１は、払出中フラグが設定されている期間すなわちホッパーユニット３４によりメダルの払出制御が行われている期間中において、払出センサに関する処理を行うタイミング（タイマ割込み処理（メイン）４回毎に１回のタイミングであり、２．２４ミリ秒）毎に更新されるようになっている。
【０３５３】
Ｓｎ７のステップにおいて払出センサ３４ｃ、３４ｄの一方がＯＮ状態であり、かつＳｎ９のステップにおいてエッジデータが設定されていないと判定した場合、すなわちメダル払出制御がホッパーユニット３４から払出された１枚のメダルが払出センサ３４ｃ、３４ｄの検出範囲を通過中である場合、または払出制御中において１枚のメダルが払出された後、次のメダルが払出されるまでの間の期間である場合は、センサチェックタイマ１を一単位時間（本実施例では、２．２４ミリ秒）分加算して更新する（Ｓｎ１１）。
【０３５４】
そして、Ｓｎ１１のステップにおいてセンサチェックタイマ１を更新した後、当該センサチェックタイマ１の値が予め定められた監視時間の最大値（本実施例では、１１.２０ミリ秒）を超えたか否かを判定する（Ｓｎ１２）。
【０３５５】
ここで、センサチェックタイマ１の監視時間の最大値は、少なくともホッパーユニット３４により払出されてメダルが払出センサ３４ｃ、３４ｄの検出範囲を通過し始めてから通過し終えるまでに要する時間の最大値、及び、ホッパーユニット３４により払い出されたメダルが払出センサ３４ｃ、３４ｄの検出範囲を通過し終えた後、次のメダルがホッパーユニット３４により払い出されて、払出センサ３４ｃ、３４ｄの検出範囲を通過し始めるまでに要する時間のうち長い方の時間以上の時間に設定されている。これにより、メダルを払い出す払出制御が行われている期間において、センサチェックタイマ１に基づいて、少なくとも、払出センサ３４ｃ、３４ｄの検出状態がＯＮ状態で継続し得る時間、及び払出センサ３４ｃ、３４ｄの検出状態がＯＦＦ状態で継続し得る時間よりも長い期間が経過したか否かが判定されるようになっている。
【０３５６】
Ｓｎ１２のステップにおいてセンサチェックタイマ１の値が監視時間の最大値を超えたと判定した場合は、払出センサ３４ｃ、３４ｄの検出状態に基づいて異常が検出された旨を示すセンサエラー参照データ（払出センサ）をＲＡＭ１４ｃの非遊技ＲＡＭ領域の所定領域に設定した後（Ｓｎ１３）、センサチェックタイマ１を初期化して０に設定し（Ｓｎ１４）、新たなメダルの通過時間の計時を開始させて、Ｓｎ１４のステップにおいて設定したセンサチェックタイマ１の値（０）をＲＡＭ４１ｃの所定領域に格納して（Ｓｎ１５）、Ｓｎ１７のステップに進む。一方、ｊ１２のステップにおいてセンサチェックタイマ１の値が監視時間の最大値を超えていないと判定した場合には、当該センサチェックタイマ１の値をＲＡＭ４１ｃの所定領域に格納して（Ｓｎ１５）、Ｓｎ１７のステップに進む。
【０３５７】
また、Ｓｎ６のステップにおいて払出中フラグが設定されていると判定した場合であり、Ｓｎ７のステップにおいて払出センサ３４ｃ、３４ｄの一方がＯＮ状態でないと判定した場合は、Ｓｎ８〜Ｓｎ１３のステップの処理を行うことなく、Ｓｎ１４のステップに進むことで、センサエラー参照データをＳｎ２のステップにおいてクリアした状態で維持して、Ｓｎ１４のステップへ進み、センサチェックタイマ１を初期化して０に設定した後、当該Ｓｎ１４のステップにおいて設定したセンサチェックタイマ１の値（０）をＲＡＭ４１ｃの所定領域に格納して（Ｓｎ１５）、Ｓｎ１７のステップに進む。
【０３５８】
また、Ｓｎ６のステップにおいて払出中フラグが設定されていないと判定した場合は、Ｓｎ５のステップにおいて参照した払出センサ３４ｃ、３４ｄの確定データに基づいて、払出センサ３４ｃ、３４ｄの双方がＯＦＦ状態であるか否かを判定し（Ｓｎ１６）、払出センサ３４ｃ、３４ｄの双方がＯＦＦ状態である場合は、Ｓｎ７のステップに進む。そして、Ｓｎ７のステップにおいて払出センサ３４ｃ、３４ｄの一方がＯＮ状態でないと判定されることで、センサエラー参照データ（払出センサ）を設定せずに、Ｓｎ１７のステップに進むこととなる。
【０３５９】
一方で、Ｓｎ６のステップにおいて払出中フラグが設定されていないと判定した場合であって、Ｓｎ１６のステップにおいて払出センサ３４ｃ、３４ｄの双方がＯＦＦ状態でないと判定した場合は、Ｓｎ１３のステップに進み、センサエラー参照データ（払出センサ）をＲＡＭ１４ｃの非遊技ＲＡＭ領域の所定領域に設定した後、センサチェックタイマ１を初期化し（Ｓｎ１４）、当該センサチェックタイマ１の値をＲＡＭ４１ｃの所定領域に記憶させて（Ｓｎ１５）、Ｓｎ１７のステップに進む。
【０３６０】
以上のＳｎ１〜１６のステップの処理が行われることで、払出センサ３４ｃ、３４ｄの検出状態に基づいてメダルの払い出しに関する異常が生じているか否かを判定する払出センサに関する処理が行われることとなり、当該処理が行われた後は、Ｓｎ１７のステップ以降の処理を行うことで、投入センサに関する処理を払出センサに関する処理に続けて行うようになっている。
【０３６１】
図２８に示すように、センサ監視処理における投入センサに関する処理では、まず、メダル投入部４からのメダルの投入を許可する旨を示すメダル手入れ許可フラグがＲＡＭ４１ｃの所定領域に設定されているか否かを判定し（Ｓｎ１７）、メダル手入れ許可フラグが設定されていない場合は、センサ監視処理を終了させて、呼び出し元の非遊技関連処理に戻る。
【０３６２】
Ｓｎ１７のステップにおいてメダル手入れ許可フラグが設定されていると判定した場合は、ＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域を参照し（Ｓｎ１８）、投入メダルセンサ３１ａ〜３１ｃや払出センサ３４ｃに関する異常（以下、メダルセンサエラーと呼ぶ場合がある）が検出されているか否かを特定可能なセンサエラーフラグが設定されているか否かに基づいて、メダルセンサエラー中であるか否かを判定する（Ｓｎ１９）。そして、メダルセンサエラー中である場合は、センサ監視処理を終了させて、呼び出し元の非遊技関連処理に戻る。
【０３６３】
Ｓｎ１９のステップにおいてメダルセンサエラー中でないと判定した場合は、遊技ＲＡＭ領域におけるポート入力バッファに設定されている投入メダルセンサ３１ａ〜３１ｃ（図２９中では、投入メダルセンサ１、２、３）の現在データを参照し（Ｓｎ２０）、投入メダルセンサ３１ａ〜３１ｃがＯＮ状態であるか否かを判定する（Ｓｎ２１）。
【０３６４】
Ｓｎ２１のステップにおいて投入メダルセンサ３１ａ〜３１ｃがＯＮ状態であると判定した場合は、投入メダルセンサ３１ａ〜３１ｃのＯＮ状態をＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に退避させ（Ｓｎ２２）、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されているセンサチェックタイマ２を参照して、当該センサチェックタイマ２が０であるか否かを判定する（Ｓｎ２３）。
【０３６５】
センサチェックタイマ２は、投入メダルセンサ３１ａ〜３１ｃの検出範囲をメダルが通過し始めたときから通過し終えたときまでの時間を計時するためのタイマである。センサ監視処理におけるＳｎ２７のステップにより更新されることにより、センサチェックタイマ１は、投入メダルセンサ３１ａがＯＮ状態である期間において、センサ監視処理が行われるタイミング（タイマ割込み処理（メイン）毎であり、０．５６ミリ秒）毎に更新されるようになっている。
【０３６６】
Ｓｎ２３のステップにおいてセンサチェックタイマ２が０あると判定した場合は、Ｓｎ２０のステップにおいて参照した投入メダルセンサ３１ｂ、３１ｃ（図２９中では、投入メダルセンサ２、３）がＯＮ状態であるか否かを判定し（Ｓｎ２４）、投入メダルセンサ３１ｂ、３１ｃがＯＮ状態でない場合は、ＲＡＭ４１ｃの所定領域にメダル投入信号処理により設定されるメダル投入信号無視タイマに基づいて、メダル投入信号を参照しないメダル投入信号無視時間内（本実施例では、流路切替ソレノイド３０によるメダルの流路の切替制御を開始してから５０４ミリ秒内）であるか否かを判定し（Ｓｎ２５）、当該メダル投入信号無視時間内でない場合は、センサチェックタイマ２に一単位時間（本実施例では、０．５６ミリ秒）分加算して更新し（Ｓｎ２６）、加算後のセンサチェックタイマ２の値が、投入メダルセンサ３１ａの検出範囲をメダルが正常に通過するために要する正常通過時間範囲の最大値（本実施例では、９９.６８ｍ）を超えたか否かを判定する（Ｓｎ２７）。尚、正常通過時間範囲は、メダルが投入メダルセンサ３１ａ〜３１ｃの検出範囲を通過するために要する時間の実測値や、メダルセレクタ２９のメダル受入流路２９ｂの形状、メダル受入流路２９ｂにおける投入メダルセンサ３１ａ〜３１ｃの配置、投入メダルセンサ３１ａ〜３１ｃの特性等に基づいて予め定められている（本実施例では、１０.０８ミリ秒〜９９.６８ミリ秒の範囲である）。
【０３６７】
そして、Ｓｎ２７のステップにおいてセンサチェックタイマ２の値が正常通過時間範囲の最大値を超えたと判定した場合、Ｓｎ２４のステップにおいて投入メダルセンサ３１ｂ、３１ｃがＯＮ状態であると判定した場合は、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいて異常が検出された旨を示すセンサエラー参照データ（投入メダルセンサ）をＲＡＭ１４ｃの非遊技ＲＡＭ領域の所定領域に設定した後（Ｓｎ２８）、センサチェックタイマ２を初期化して０に設定して（Ｓｎ２９）、新たなメダルの通過時間の計時を開始させる。そして、センサ監視処理を終了させて呼び出し元の非遊技関連処理に戻る。
【０３６８】
また、Ｓｎ２１のステップにおいて投入メダルセンサ３１ａ〜３１ｃがＯＮ状態でないと判定した場合、Ｓｎ２６のステップにおいてメダル投入信号無視タイマに基づいてメダル投入信号無視時間内でないと判定した場合、Ｓｎ２７のステップにおいてセンサチェックタイマ２の値が正常通過時間範囲の最大値を超えていないと判定した場合は、当該センサチェックタイマ２の値をＲＡＭ４１ｃの所定領域に格納して（Ｓｎ３０）、センサ監視処理を終了させて呼び出し元の非遊技関連処理に戻る。
【０３６９】
このように、センサ監視処理では、Ｓｎ１〜Ｓｎ１６のステップの処理が行われることで、払出センサに関する処理が行われて、払出センサ３４ｃ、３４ｄの検出状態に基づいてメダルの払い出しに関する異常が生じているか否かが判定されることとなり、Ｓｎ１７〜Ｓｎ３０のステップの処理が行われることで、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいてメダルの投入に関する異常が生じているか否かが判定されるようになっている。
【０３７０】
また、センサ監視処理では、払出センサに関する処理を行うことで、メダルの払い出しに関する異常が生じているか否かを判定した後、判定の結果にかかわらず、投入センサに関する処理を続けて行って、メダルの投入に関する異常が生じているか否かの判定を行うようになっている。
【０３７１】
［試験信号出力処理について］
メイン制御部４１が行う試験信号出力処理について、図２９に基づいて説明する。メイン制御部４１は、上述のセンサ監視処理を行った後、続けて試験信号処理を行う。
【０３７２】
図２９に示すように、試験信号出力処理では、まず、メイン処理によりＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域に設定される一遊技時間管理用タイマを参照し（Ｓｐ１）、一遊技時間管理用タイマの値が所定値（本実施例では、一遊技時間管理用タイマによる計時を開始させるときの値であり、４.１秒に対応する値）であるか否かを判定する（Ｓｐ２）。尚、当該試験号出力処理を呼び出した非遊技関連処理の更に呼び出し元であるタイマ割込み処理（メイン）が行われる前に、メイン処理のＳｂ２０のステップが行われていた場合に、一遊技時間管理用タイマの値が所定値に設定されている。
【０３７３】
Ｓｐ２のステップにおいて一遊技時間管理用タイマが初期値であると判定した場合に、タイマ割込み処理（メイン）によりＲＡＭ４１ｃの遊技ＲＡＭ領域の所定領域に設定される分岐用カウンタを参照し（Ｓｐ３）、当該分岐用カウンタが所定値（本実施例では、３）である場合には、ＲＡＭ４１ｃの所定領域に設定されている試験信号出力タイマに予め定められた所定値（試験装置に対して出力する出力データ数に応じた値であり、本実施例では、一の出力データを特定可能な試験信号の出力を継続させる時間（（２２．４ミリ秒）×出力データ数（４））を設定して計時を開始させる（Ｓｐ４）。一方、Ｓｐ２のステップにおいて一遊技時間管理用タイマが初期値でないと判定した場合、Ｓｐ３のステップにおいて分岐用タイマが３でないと判定した場合、Ｓｐ４のステップにおいて試験信号出力タイマを設定した後は、試験信号として出力する出力データが記憶されているＲＡＭ４１ｃの所定領域を特定するための出力データアドレスの初期アドレスを取得する（Ｓｐ５）。尚、出力データは、内部抽選における特別役の当選状況、一般役の当選状況を特定可能なデータである。また、当該出力データは、上述のメイン処理のＳｂ９のステップにおいて行われる当選情報出力処理により、ＲＡＭ４１ｃの所定領域に設定されている。
【０３７４】
その後、試験信号出力タイマの値を参照して（Ｓｐ６）、試験信号出力タイマによる所定時間の計時が終了しているか否かを判定する（Ｓｐ７）。そして、試験信号出力タイマが０でなく試験信号出力タイマによる所定時間の計時が終了していない場合は、出力データ固定モードが設定されているか否かを判定する（Ｓｐ８）。出力データ固定モードは、上述のメイン処理のＳｂ２のステップにおいて行われるＲＴ情報出力処理により設定される出力データを試験信号として出力する場合に設定される。
【０３７５】
そして、出力データ固定モードが設定されていない場合は、試験信号出力タイマを１単位時間（本実施例では、０．５６ミリ秒）分減算して更新させた後（Ｓｐ９）、Ｓｐ６のステップにおいて参照した試験信号出力タイマの値を所定値（本実施例では、一の出力データを特定可能な試験信号の出力を継続させる時間（２２．４ミリ秒）に相当する値）で除算したときの余り値が０であるか否かを判定する（Ｓｐ１０）。そして、余り値が０である場合は、Ｓｐ５のステップに戻り、Ｓｐ９のステップにおいて更新した試験信号出力タイマの値に基づいてＳｐ５〜Ｓｐ１０のステップの処理を行う。一方、余り値が０でない場合は、Ｓｐ６のステップにおいて参照した試験信号出力タイマの値を所定値（本実施例では、一の出力データを特定可能な試験信号の出力を継続させる時間（２２．４ミリ秒）に対応する値）で除算したときの商を算出し、Ｓｐ５のステップにおいて取得した初期アドレスの出力データアドレスに商の値を加算して（Ｓｐ１１）、Ｓｐ１２のステップに進む。そして、出力データアドレスを更に１アドレス分進めて、当該出力データアドレスに基づいて特定されるＲＡＭ４１ｃの所定領域に記憶されている出力データを取得する（Ｓｐ１３）。
【０３７６】
また、Ｓｐ８のステップにおいて出力データ固定モードが設定されていると判定した場合は、Ｓｐ１２のステップに進み、Ｓｐ６のステップにおいて設定した初期アドレスの出力データアドレスを１アドレス分進めて（Ｓｐ１２）、当該出力データアドレスに基づいて特定されるＲＡＭ４１ｃの所定領域に記憶されている出力データを取得する（Ｓｐ１３）。
【０３７７】
その後、Ｓｐ１３のステップにおいて取得した出力データを試験信号出力として設定し（Ｓｐ１４）、試験信号出力を出力ポート６に設定して出力させる（Ｓｐ１５）。また、Ｓｐ７のステップにおいて、Ｓｐ６のステップにおいて参照した試験信号出力タイマの値が０であると判定した場合は、試験信号出力をＯＦＦ状態に設定し（Ｓｐ１６）、試験信号出力を出力ポート６に設定して出力させる（Ｓｐ１５）。Ｓｐ１５のステップにおいて試験信号の出力を設定した後は、試験信号出力処理を終了させて呼び出し元の非遊技関連処理に戻る。
【０３７８】
このような制御により、メイン制御部４１は、一遊技時間管理用タイマが初期値に設定されて始動されたとき、すなわち遊技としてリール２Ｌ、２Ｃ、２Ｒの回転制御が開始されたときかた、所定期間（本実施例では、８９.６ミリ秒（２２.４ミリ秒×４））にわたり試験信号を出力ポート６から出力させるようになっている。
【０３７９】
また、メイン制御部４１は、試験信号として、内部抽選における一般役及び特別役の当選状況を特定可能な４つの出力データを、所定時間（本実施例では、２２．４ミリ秒）毎に順次切り替えられて出力ポート６より出力させるようになっている。
【０３８０】
次に、メイン制御部４１が行うメダル通過時間タイマ更新処理について、図３０に基づいて説明する。メイン制御部４１は、上述の試験信号出力処理を行った後、続けてメダル通過時間タイマ更新処理を行う。
【０３８１】
図３０に示すように、メダル通過時間タイマ更新処理では、まず、非遊技プログラムに含まれるメダルセンサ処理により、ＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定されているメダル通過時間タイマを参照し、当該メダル通過時間タイマの値が０であるか否かを判定する（Ｓｑ１）。
【０３８２】
メダル通過時間タイマの値が０である場合、すなわちメダルセンサ処理により投入メダルセンサ３１ａ〜３１ｃの検出範囲をメダルが通過する時間を計時していない場合は、メダル通過時間タイマ更新処理を終了して、呼び出し元の非遊技関連処理に戻る。
【０３８３】
一方、メダル通過時間タイマの値が０でない場合、すなわちメダルセンサ処理により投入メダルセンサ３１ａ〜３１ｃの検出範囲をメダルが通過する時間を計時している場合は、メダル通過時間タイマに所定値を加算することで更新した後（Ｓｑ２）、メダル通過時間タイマ更新処理を終了して、呼び出し元の非遊技関連処理に戻る。
【０３８４】
［表示モニタ出力データ選択処理について］
メイン制御部４１が行う表示モニタ出力データ選択処理について、図３１及び図３２に基づいて説明する。メイン制御部４１は、上述のメダル通過時間タイマ更新処理を行った後、続けて表示モニタ出力データ選択処理を行う。
【０３８５】
表示モニタ出力データ選択処理は、メイン制御部４１により０．５６ミリ秒毎に行われるタイマ割込処理（メイン）においてポート入力処理の後に開始され、タイマ割込処理（メイン）のＬＥＤダイナミック表示処理で用いられるＬＥＤの点灯データを設定する処理である。また、表示モニタ出力データ選択処理は、表示モニタ出力データ選択処理（１）（図３１参照）及び表示モニタ出力データ選択処理（２）（図３２参照）により構成され（以下、表示モニタ出力データ選択処理（１）及び（２）をまとめて表示モニタ出力データ選択処理と呼ぶ場合がある）、表示モニタ出力データ選択処理（１）において表示モニタ出力データ選択処理（２）が呼び出されて実行されるようになっている。
【０３８６】
図３１に示すように、表示モニタ出力データ選択処理（１）が開始されると、遊技ＲＡＭ領域に格納されているクレジット表示器１１と遊技補助表示器１２、及び１ＢＥＴＬＥＤ１４などの点灯用データを非遊技ＲＡＭ領域の点灯用データ格納領域にコピーする（Ｓｒ１〜Ｓｒ４）。
【０３８７】
続いて、メダルが投入可能な状態であるかが、遊技メダルブロッカーの状態によって判定される。ゲーム中やエラー中、設定変更や設定確認が行われている状態では遊技メダルブロッカーがオフとなっており、メダルを投入することができない。メダルが投入可能な状態でなければ、後述するＳｒ８のステップでのリセット／設定スイッチ３８の操作の判定が行われることなくＳｒ１３のステップに進み、表示モニタフラグにオフデータが設定される。メダルが投入可能な状態であればＳｒ６のステップに進む。
【０３８８】
Ｓｒ６のステップでは、前面扉１ｂの開放状態を検出するドア開放検出スイッチ２５の状態を参照して前面扉１ｂが開放状態であるかが判定される。前面扉１ｂが開放状態でない場合、後述するＳｒ８のステップでのリセット／設定スイッチ３８の操作の判定が行われることなくＳｒ１３のステップに進み、表示モニタフラグにオフデータが設定される。前面扉１ｂが開放状態である場合、Ｓｒ７のステップに進む。
【０３８９】
Ｓｒ７のステップでは、遊技ＲＡＭ領域に格納されている投入済みメダル数の値を参照して賭数が設定されているかが判定される。賭数が設定されている場合、後述するＳｒ８のステップでのリセット／設定スイッチ３８の操作の判定が行われることなくＳｒ１３のステップに進み、表示モニタフラグにオフデータが設定される。賭数が設定されていない場合、Ｓｒ８のステップに進む。
【０３９０】
Ｓｒ８のステップでは、リセット／設定スイッチ３８が操作されているかが判定される。リセット／設定スイッチ３８が操作されていない場合、Ｓｒ１５のステップに進み、後述する表示モニタフラグの内容の判定が行われる。リセット／設定スイッチ３８が操作されている場合、Ｓｒ９のステップに進んで、クレジット表示器１１と遊技補助表示器１２に比率表示を行うための設定が行われる。
【０３９１】
クレジット表示器１１と遊技補助表示器１２に比率表示を行うための設定として、表示モニタ選択用タイマと表示モニタ表示内容ベクタの初期化を行う（Ｓｒ９〜Ｓｒ１１）。続いて、表示モニタフラグにオンデータを設定し（Ｓｒ１２、Ｓｒ１４）、表示モニタフラグの内容の判定を行うためＳｒ１５のステップに進む。なお、表示モニタ選択用タイマは一の比率表示を表示する所定期間（例えば５秒）を計測するためのタイマであり、当該所定期間の計時を開始する際に、当該所定期間に相当する値（本実施例では、８９２７）が初期値として設定された後、タイマ割込み処理（メイン）が行われる毎に一単位時間（本実施例では、０．５６ミリ秒）分減算され、当該表示モニタ選択用タイマの値が０となることで所定期間の経過が計時されるようになっている。また、表示モニタ表示内容ベクタは所定順序で切り替えて表示される比率表示の種類を特定するためのデータである。
【０３９２】
具体的に、表示モニタ表示内容ベクタに設定されるデータとして、「０」に総累計ゲーム数に対する有利区間割合が対応し、「１」に過去６０００ゲーム間の連役払出比率が対応し、「２」に過去６０００ゲーム間の役物払出比率が対応し、「３」に総累計払出数に対する連役払出比率が対応し、「４」に総累計払出数に対する役物払出比率が対応している。但し、本実施例では、比率表示をクレジット表示器１１及び遊技補助表示器１２に表示させる際には、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、総累計払出数に対する連役払出比率の算出及び表示は行われない。
【０３９３】
Ｓｒ１５、Ｓｒ１６のステップでは表示モニタフラグの値が取得されて、オンデータが設定されているかオフデータが設定されているかの判定が行われる。表示モニタフラグは比率表示が行われる場合にオンデータが設定され、比率表示が行われない場合にオフデータが設定されている。
【０３９４】
Ｓｒ１６のステップにおいて表示モニタフラグにオフデータが設定されていると判定された場合、以降のステップが実行されることなく、タイマ割込処理（メイン）に復帰する。なお、タイマ割込処理（メイン）におけるＳｄ１５のＬＥＤダイナミック表示処理では、非遊技ＲＡＭ領域の点灯用データ格納領域に格納されている点灯用データを参照して、クレジット表示器１１と遊技補助表示器１２、及び１ＢＥＴＬＥＤ１４などを点灯させる。Ｓｒ１６以降のステップが実行されることなく、タイマ割込処理（メイン）に復帰した場合、非遊技ＲＡＭ領域の点灯用データ格納領域にはＳｒ1〜Ｓｒ４のステップでコピーされた遊技ＲＡＭに格納されていた点灯データ、つまり比率表示が行われないときに表示されるその他の表示（クレジット表示器１１によるクレジット数の表示、遊技補助表示器１２による払出枚数の表示等）を行う点灯データが格納されている。従って、その他の表示がクレジット表示器１１と遊技補助表示器１２、及び１ＢＥＴＬＥＤ１４などで行われる。
【０３９５】
図３２を参照して、Ｓｒ１６のステップにおいて表示モニタフラグにオンデータが設定されていると判定された場合に実行される表示モニタ出力データ選択処理（２）を説明する。
【０３９６】
表示モニタ出力データ選択処理（２）では、まず、表示モニタ選択用タイマを更新して、比較値に達しているかが判定される（Ｓｓ１〜Ｓｓ４）。表示モニタ選択用タイマが比較値に達していない場合、Ｓｓ７のステップに進む。表示モニタ選択用タイマが比較値に達している場合、表示モニタ選択用タイマが０クリアされるとともに、比率表示の種類を切り替えるために表示モニタ表示内容ベクタが更新され（Ｓｓ５、Ｓｓ６）、Ｓｓ７のステップに進む。
【０３９７】
Ｓｓ７からのステップでは、表示モニタ表示内容ベクタの値より７ＳＥＧ表示モニタ出力用テーブルに格納されたデータを読み出して、クレジット表示器１１に現在表示中の表示内容を示す略記（例えば、表示順１の過去６０００ゲーム間の有利区間比率が表示されている場合には、「１Ａ」）を表示するためのデータが取得される（Ｓｓ７〜Ｓｓ１０）。
【０３９８】
続いて、表示モニタ消化遊技判定フラグを参照して、総累計ゲーム数が５９９９ゲームを超えているかを判定する（Ｓｓ１１、Ｓｓ１２）。
【０３９９】
総累計ゲーム数が５９９９ゲームを超えていない場合、現在表示中の表示内容を示す略記を点滅させるために表示モニタ選択用タイマが取得され、該タイマ値を０．３秒にあたる値で除算して点灯期間か消灯期間かが判定される（Ｓｓ１３〜Ｓｓ１５）。消灯期間と判定された場合（演算結果が奇数の場合）、現在表示中の表示内容を示す略記を表示するためのデータとしてクリアデータが取得され、クレジット表示器１１に対応する点灯用データ格納領域に格納され（Ｓｓ１６、Ｓｓ１７）、クレジット表示器１１が消灯される。また、点灯期間と判定された場合（演算結果が偶数の場合）、先に取得された現在表示中の表示内容を示す略記を表示するためのデータがクレジット表示器１１に対応する点灯用データ格納領域に格納され（Ｓｓ１７）、クレジット表示器１１に現在表示中の表示内容を示す略記が表示される。これにより、総累計ゲーム数が５９９９ゲームを超えていない場合、クレジット表示器１１に現在表示中の表示内容を示す略記が０．３秒間隔で点灯消灯を繰り返す。
【０４００】
総累計ゲーム数が５９９９ゲームを超えている場合、一律に先に取得された現在表示中の表示内容を示す略記を表示するためのデータがクレジット表示器１１に対応する点灯用データ格納領域に格納され（Ｓｓ１７）、クレジット表示器１１に現在表示中の表示内容を示す略記が表示される。これにより、総累計ゲーム数が５９９９ゲームを超えている場合、クレジット表示器１１に現在表示中の表示内容を示す略記が点滅することなく表示される。
【０４０１】
次に、前述の略記に対応する現在表示すべき比率を表示するためのデータとして一旦、「−−」を表示するためのデータが取得される（Ｓｓ１８）。そして、表示モニタ表示内容ベクタを参照していずれの比率を表示するかが判定される（Ｓｓ２０、Ｓｓ２１）。
【０４０２】
ここで、表示モニタ表示内容ベクタに累計ゲーム数に対する有利区間割合に対応する値、過去６０００ゲーム間の連役払出比率に対応する値、総累計払出数に対する連役払出比率に対応する値が格納されている場合、これらの割合や比率の元となるデータは集計されていない。このため、Ｓｓ３８のステップに進み、「−−」を表示するためのデータが遊技補助表示器１２への表示内容として点灯用データ格納領域に格納され、タイマ割込処理（メイン）に復帰する。前述したとおり、タイマ割込処理（メイン）におけるＳｄ１５のＬＥＤダイナミック表示処理では、非遊技ＲＡＭ領域の点灯用データ格納領域に格納されている点灯用データを参照して、クレジット表示器１１と遊技補助表示器１２、及び１ＢＥＴＬＥＤ１４などを点灯させる。従って、クレジット表示器１１と遊技補助表示器１２には総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、総累計払出数に対する連役払出比率のいずれかを示す略記と「−−」が表示されることになる。
【０４０３】
続いて、役物比率の規定割合（しきい値）となる７０％が設定される（Ｓｓ２２）。比率表示は表示値が規定割合を超える場合には通常と異なる表示態様で行われる。なお、表示値が規定割合を超える場合、表示値を点滅表示する。
【０４０４】
そして、過去６０００ゲーム間の役物払出比率が格納された領域のアドレスが初期値としてセットされるとともに、該初期値に対して表示モニタ表示内容ベクタの値を用いて演算を行い、過去６０００ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とから表示モニタ表示内容ベクタの値に対応した役物払出比率が取得される（Ｓｓ２３〜Ｓｓ２５）。
【０４０５】
そして、取得した役物払出比率と設定された規定割合とを比較し、取得した役物払出比率がしきい値以上の値である場合、点滅表示を行うための設定がなされる（Ｓｓ２６〜Ｓｓ２９）。
【０４０６】
さらに、取得した役物払出比率にもとづいて遊技補助表示器１２の１０の位、１の位の各々に表示するデータを特定する（Ｓｓ３０〜Ｓｓ３２）。さらに、点滅表示を行うための設定がなされているかを判定する（Ｓｓ３３）。点滅表示を行うための設定がなされていない場合、特定されたデータが遊技補助表示器１２への表示内容として点灯用データ格納領域に格納され、タイマ割込処理（メイン）に復帰する。前述したとおり、タイマ割込処理（メイン）におけるＳｄ１５のＬＥＤダイナミック表示処理では、非遊技ＲＡＭ領域の点灯用データ格納領域に格納されている点灯用データを参照して、クレジット表示器１１と遊技補助表示器１２、及び１ＢＥＴＬＥＤ１４などを点灯させる。従って、クレジット表示器１１と遊技補助表示器１２には、過去６０００ゲーム間の役物払出比率を示す略記と過去６０００ゲーム間の役物払出比率、または総累計払出数に対する役物払出比率を示す略記と総累計払出数に対する役物払出比率が表示されることになる。
【０４０７】
点滅表示を行うための設定がなされている場合は、総累計ゲーム数が５９９９ゲームを超えていない場合と同様に、役物払出比率を点滅させるために表示モニタ選択用タイマが取得され、該タイマ値を０．３秒にあたる値で除算して点灯期間か消灯期間かが判定される（Ｓｓ３４〜Ｓｓ３６）。点灯期間である場合、遊技補助表示器１２への表示内容として役物比率を表示するためのデータが点灯用データ格納領域に格納され、タイマ割込処理（メイン）に復帰する。消灯期間である場合、役物比率を表示するためのデータとしてクリアデータが取得される。そして、遊技補助表示器１２への表示内容としてクリアデータが点灯用データ格納領域に格納され（Ｓｓ３７、Ｓｓ３８）、タイマ割込処理（メイン）に復帰する。
【０４０８】
これにより、役物払出比率がしきい値以上の値である場合、クレジット表示器１１と遊技補助表示器１２には、過去６０００ゲーム間の役物払出比率を示す略記と過去６０００ゲーム間の役物払出比率、または総累計払出数に対する役物払出比率を示す略記と総累計払出数に対する役物払出比率が表示されるとともに、遊技補助表示器１２に表示される役物払出比率を示す数値が０．３秒間隔で点灯消灯を繰り返すこととなる。
【０４０９】
具体的には、図３３に示すように、クレジット表示器１１に表示させる比率表示の種類を示す略記を、０．３秒間隔で繰り返し点灯消灯させる点滅制御（オン‐オフ制御）を行う際には、一の比率表示を表示する期間（例えば５秒）を計測するための表示モニタ選択用タイマの値（本実施例では、８９２７〜０）を、０．３秒にあたる値（本実施例では、５３６）で除算して得られる商が偶数である場合、すなわち２進数表記で最下位ビットの値が０である場合は、クレジット表示器１１の出力データとしてクリアデータを設定することで、クレジット表示器１１を消灯状態に制御する。一方、表示モニタ選択用タイマの値を、０．３秒にあたる値で除算して得られる商が奇数である場合、すなわち２進数表記で最下位ビットの値が１である場合は、クレジット表示器１１の出力データとして役物比率の略記を表示するためのデータを設定することで、クレジット表示器１１を点灯状態に制御する。
【０４１０】
また、遊技補助表示器１２に役物払出比率を示す数値を、０．３秒間隔で繰り返し点灯消灯させる点滅制御を行う際には、略記を点滅制御する場合と同様に、表示モニタ選択用タイマの値（本実施例では、８９２７〜０）を、０．３秒にあたる値（本実施例では、５３６）で除算して、得られる商が偶数である場合は、遊技補助表示器１２の出力データとしてクリアデータを設定することで、クレジット表示器１１を消灯状態に制御する。一方、表示モニタ選択用タイマの値を、０．３秒にあたる値で除算して得られる商が奇数である場合は、遊技補助表示器１２の出力データとして役物比率の略記を表示するためのデータを設定することで、クレジット表示器１１を点灯状態に制御する。
【０４１１】
このように、本実施例のメイン制御部４１は、表示モニタ選択用タイマの値に対して特定値（０．３秒に対応する５３６）を用いた演算の結果（例えば、表示モニタ選択用タイマの値を特定値で除算した商）に基づいてクレジット表示器１１及び遊技補助表示器１２の出力データを設定する制御を、表示モニタ用データ選択処理を行う毎、すなわちタイマ割込み処理（メイン）を行う毎に繰り返し行うことで、クレジット表示器１１及び遊技補助表示器１２での表示を点滅制御するようになっている。
【０４１２】
また、メイン制御部４１は、表示モニタ選択用タイマの値に対して特定値を用いた演算の結果に基づいてクレジット表示器１１及び遊技補助表示器１２の出力データを設定する制御を、表示モニタ用データ選択処理を行う毎に繰り返し行うことで、クレジット表示器１１及び遊技補助表示器１２の表示を点滅制御するようになっており、当該点滅制御において、表示モニタ選択用タイマの初期値に対して特定値を用いた演算の結果に基づいて行う制御すなわち点滅制御の最初の制御をオフ制御とするようになっている。
【０４１３】
また、当該点滅制御において、表示モニタ選択用タイマの最終値（０）に対して特定値を用いた演算の結果に基づいて行う制御すなわち点滅制御の最後の制御をオフ制御とするようになっている。
【０４１４】
以上のように、本実施例のメイン制御部４１は、役比モニタ用データ処理により総累計ゲーム数が達している範囲を特定可能な点灯識別セグが表示モニタ消化遊技判定フラグに格納する。そして、過去６０００ゲーム間の役物払出比率や総累計ゲーム数に対する役物払出比率の略記をクレジット表示器１１に表示させるとともに、略記に対応する役物払出比率を示す数値を遊技補助表示器１２に表示させる場合に、表示モニタ消化遊技判定フラグに格納された点灯識別セグに基づいて、総累計ゲーム数が０〜５９９９ゲームの範囲であるときには、クレジット表示器１１での役物払出比率の略記の表示を点灯消灯に繰り返し制御する点滅制御を行い、総累計ゲーム数が６０００ゲーム以上の範囲であるときには、クレジット表示器１１での役物払出比率の略記の表示を点滅させることなく点灯させるように制御する。クレジット表示器１１での略記の表示を点滅制御することにより、集計が６０００ゲームに到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。ここで、メイン制御部４１が役物払出比率の略記の表示を点滅制御する累計ゲーム数の範囲（本実施例では、０〜５９９９ゲーム）は、スロットマシン１の設計値に応じて定められるものであり、少なくともスロットマシン１において役物払出比率が概ね設計値に収束するために必要なゲーム数までの範囲である。
【０４１５】
尚、本実施例では、メイン制御部４１は、比率表示として、過去６０００ゲーム間の役物払出比率及び総累計払出数に対する役物払出比率の算出を行い、クレジット表示器１１及び遊技補助表示器１２に表示させることが可能である一方で、比率表示として、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、総累計払出数に対する連役払出比率を算出せず、クレジット表示器１１及び遊技補助表示器１２に表示させない構成であるが、比率表示として、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、総累計払出数に対する連役払出比率等の比率表示を算出して表示させる構成としても良い。例えば、比率表示として総累計ゲーム数に対する有利区間割合を表示させる構成では、有利区間割合が概ねスロットマシンの設計値に収束する規定ゲーム数（例えば、１７５０００ゲーム）に累計ゲーム数が達するまでは、クレジット表示器１１及び遊技補助表示器１２における当該有利区間割合の表示を点滅制御し、規定ゲーム数に累計ゲーム数が達した以降は、当該有利区間割合の表示を点滅させずに点灯させるように制御することが好ましい。また、例えば、比率表示として総累計払出数に対する連役払出比率や過去６０００ゲーム間の連役払出比率を表示させる構成では、連役払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数（例えば、１７５００ゲーム）に累計ゲーム数が達するまでは、クレジット表示器１１及び遊技補助表示器１２における当該連役払出比率の表示を点滅制御し、規定ゲーム数に累計ゲーム数が達した以降は、当該連役払出比率の表示を点滅させずに点灯させるように制御することが好ましい。
【０４１６】
［作用効果について］
従来の遊技機として、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にＲＯＭに割り当てられた構成のものがある。このような構成では、遊技プログラムにおいて、非遊技プログラムに含まれる処理を実行する度に、遊技プログラムから非遊技プログラムを呼び出すようにすると、何度も遊技プログラムと非遊技プログラムとを行き来することとなり、処理が複雑化するという問題が生じる。
【０４１７】
これに対して、本実施例の遊技機であるスロットマシン１は、プログラムが記憶される記憶領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備え、ＲＯＭ４１ｂの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、遊技プログラムであるタイマ割込み処理から非遊技プログラムである非遊技関連処理の１回の呼出により該非遊技プログラムにおいて複数種類の異常判定（メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定）を行う構成である。このような構成では、遊技の進行に係る遊技プログラムが記憶されるＲＯＭ４１ｂの遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶されるＲＯＭ４１ｂの非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムからの１回の非遊技プログラムの呼出により該非遊技プログラムにおいて複数種類の異常判定が行われるため、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
【０４１８】
尚、本実施例では、遊技プログラムに含まれるタイマ割込み処理から呼び出される非遊技プログラムに含まれる非遊技関連処理において、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定の２種類の異常の判定を行う構成であるが、遊技プログラムから１回の呼出により呼び出される非遊技プログラムにおいて、３種類以上の複数種類の異常の判定を行う構成でも良い。
【０４１９】
また、本実施例では、遊技プログラムから非遊技プログラムを呼び出す構成であり、非遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれ、複数種類の異常の判定を行う非遊技関連処理を呼び出す構成であるが、複数種類の異常の判定を行う非遊技プログラムを呼び出す遊技プログラムとして、タイマ割込み処理以外の遊技プログラムに含まれる処理を適用しても良い。
【０４２０】
また、本実施例では、遊技プログラムに含まれるタイマ割込み処理から呼び出される非遊技プログラムに含まれる非遊技関連処理において、一のサブルーチンであるセンサ監視処理を行うことで、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行う構成すなわち一のサブルーチンにより複数種類の異常の判定を行う構成であるが、遊技プログラムにより呼び出される非遊技プログラムが複数のサブルーチンにより構成され、サブルーチン毎に一種類の異常の判定を行う構成、例えば、非遊技関連処理において、メダルの払い出しに関する異常の判定を行う第１サブルーチンと、メダルの投入に関する異常の判定を行う第２サブルーチンが行われることで、複数種類の異常の判定を行う構成でも良い。このような構成では、複数種類の異常判定を行う処理を異常判定の種類毎にそれぞれサブルーチンとして設定することで、プログラムの管理が容易となる。
【０４２１】
本実施例のスロットマシン１は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備える構成であり、遊技プログラムであるタイマ割込み処理から非遊技プログラムである非遊技関連処理を呼び出すときに、遊技プログラムにて用いていたレジスタ及びスタックポインタＳＰを退避させるとともに、非遊技プログラムから遊技プログラムに復帰するときに、退避したレジスタ及びスタックポインタＳＰを復帰させる構成である。このような構成では、遊技プログラムから非遊技プログラムを呼び出すに際して、遊技プログラムにて用いていたレジスタ及びスタックポインタＳＰのデータが破損してしまうことを防止できる。
【０４２２】
本実施例のスロットマシン１は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、データを一時的に記憶可能な記憶領域を有するＲＡＭ４１ｃと、を備え、ＲＡＭ４１ｃは、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技ＲＡＭ領域と、を含み、遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれる非遊技関連処理を１回呼出すことにより、該非遊技関連処理において複数種類の異常判定として、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行って、当該異常判定の結果を特定可能なセンサエラー参照データを非遊技ＲＡＭ領域に記憶させ、非遊技関連処理からタイマ割込み処理に復帰したときに、該遊技プログラムであるタイマ割込み処理では、他の処理を行うことなく、非遊技ＲＡＭ記憶領域に記憶されたセンサエラー参照データを参照する構成である。このような構成では、非遊技プログラムによる異常判定の結果を他の処理を行うよりも前に参照するため、異常判定の結果をいち早く遊技プログラムが行う処理に反映させることができる。また、異常判定を行う非遊技プログラムから遊技プログラムに復帰後、他の処理を行うよりも前にセンサエラー参照データを参照するため、最新のセンサエラー参照データが反映されたエラーフラグに基づいて他の処理を行わせることができる。
【０４２３】
本実施例のスロットマシン１は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備え、遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれる非遊技関連処理を１回呼出すことにより、該非遊技関連処理において複数種類の異常判定として、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行う構成であり、非遊技関連処理では、メダルの払い出しに関する異常の判定を行って異常が判定された場合でも、メダルの払い出しに関する異常の判定の後に、メダルの投入に関する異常の判定を続けて行う構成である。このような構成では、遊技プログラムであるタイマ割込み処理から呼び出される非遊技プログラムである非遊技関連処理において、メダルの払いだしに関する異常の判定を行って異常が判定されたか否かに関わらず、他の種類の異常であるメダルの投入に関する異常についても判定を行うことができる。
【０４２４】
尚、本実施例では、遊技プログラムに含まれるタイマ割込み処理から呼び出される非遊技プログラムに含まれる非遊技関連処理において、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定の２種類の異常の判定を行う構成であるが、遊技プログラムから１回の呼出により呼び出される非遊技プログラムにおいて、２種類以上の複数種類の異常の判定を行う構成でも良く、このような構成においては、非遊技プログラムにおいて行われる複数種類の異常の判定のうち一の種類の異常が判定されても他の種類の異常判定を続けて行う構成とすることで、いずれかの種類の異常が判定されたか否かに関わらず、他の種類の異常についても異常判定を行うことができる。
【０４２５】
本実施例のスロットマシン１は、遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれる非遊技関連処理を１回呼出すことにより、該非遊技関連処理において複数種類の異常判定として、遊技媒体であるメダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行う構成である。このような構成では、遊技媒体であるメダルの払い出しに関する異常判定と、メダルの投入に関する異常判定と、を１回の非遊技プログラムの呼出により行うことができる。
【０４２６】
本実施例の遊技機であるスロットマシン１は、プログラムが記憶される記憶領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備え、ＲＯＭ４１ｂの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、遊技プログラム（タイマ割込み処理）からの１回の非遊技プログラム（非遊技関連処理）の呼出により該非遊技プログラムにおいて、異常判定（センサ監視処理におけるメダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定）、スロットマシン１に接続される外部機器へ出力される外部出力信号のうち試験装置へ出力される試験信号の出力制御（試験信号出力処理）、遊技の履歴に基づく状態である役比を所定表示器（クレジット表示器１１、遊技補助表示器１２）に表示させる表示制御（役比モニタ表示データ選択処理）を含む複数の制御を行う構成である。このような構成では、遊技の進行に係る遊技プログラムが記憶されるＲＯＭ４１ｂの遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶されるＲＯＭ４１ｂの非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムからの１回の非遊技プログラムの呼出により該非遊技プログラムにおいて異常判定、試験信号の出力制御、遊技の履歴に基づく状態である役比を所定表示器に表示させる表示制御を含む複数の制御が行われるため、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
【０４２７】
尚、本実施例では、メイン制御部４１は、遊技プログラム（タイマ割込み処理）からの１回の非遊技プログラム（非遊技関連処理）の呼出により該非遊技プログラムにおいて、複数の制御として、異常判定（センサ監視処理におけるメダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定）、試験装置へ出力される試験信号の出力制御（試験信号出力処理）、遊技の履歴に基づく状態である役比を所定表示器に表示させる表示制御（役比モニタ表示データ選択処理）、タイマを更新する制御（メダル通過時間タイマ更新処理）を行う構成であるが、１回の非遊技プログラムの呼出により少なくとも２種類以上の制御を行う構成でも良く、遊技プログラムからの１回の非遊技プログラムの呼出により、例えば、異常判定及び試験信号の出力制御を行う構成、異常判定及び役比を所定表示器に表示させる表示制御を行う構成、試験信号の出力制御及び役比を所定表示器に表示させる表示制御を行う構成、異常判定及びタイマを更新する制御を行う構成等でも良い。これらの構成でも、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
【０４２８】
また、本実施例では、メイン制御部４１は、遊技プログラム（タイマ割込み処理）からの１回の非遊技プログラム（非遊技関連処理）の呼出により該非遊技プログラムにおいて異常判定、試験装置へ出力される試験信号の出力制御、遊技の履歴に基づく状態である役比を所定表示器に表示させる表示制御を含む複数の制御を行う構成であり、当該異常判定では、２種類の異常判定（メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定）を行う構成であるが、異常判定において１種類の異常判定を行う構成としても良いし、３種類以上の複数の異常判定を行う構成としても良い。このような構成でも、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
【０４２９】
本実施例のスロットマシン１は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備える構成であり、遊技プログラムに含まれるタイマ割込み処理から非遊技プログラムに含まれる非遊技関連処理の１回の呼出により該非遊技関連処理において異常判定（メダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定）を行う処理であるセンサ監視処理及び試験装置へ出力される試験信号の出力制御を行う処理である試験信号出力処理を行う構成であり、該非遊技関連処理において、センサ監視処理及び試験信号出力処理がそれぞれサブルーチンとして呼び出される構成である。このような構成では、異常判定を行う処理及び外部機器へ出力される外部出力信号の出力制御を行う処理がそれぞれサブルーチンとして設定されているため、プログラムの管理が容易となる。
【０４３０】
本実施例のスロットマシン１は、遊技プログラムであるタイマ割込み処理から非遊技プログラムである非遊技関連処理の１回の呼出により該非遊技プログラムにおいて異常判定（例えば、メダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定）を行う処理であるセンサ監視処理及び試験信号の出力制御を行う処理である試験信号出力処理を行う構成であり、非遊技プログラムにおける試験信号出力処理では、遊技プログラムの処理ではオンデータやオフデータが設定されることのない出力ポート（本実施例では、出力ポート６）すなわち遊技プログラムの処理で用いられない出力ポートを用いて試験信号の出力状態を設定する構成である。このような構成では、非遊技プログラムにおける試験信号出力処理によって、遊技プログラムの処理によって出力状態が制御される信号が意図せずに出力状態に制御されてしまうことを防止できる。
【０４３１】
本実施例のスロットマシン１は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備える構成であり、遊技プログラムに含まれるタイマ割込み処理から非遊技プログラムに含まれる非遊技関連処理の１回の呼出により該非遊技関連処理において異常判定（メダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定）を行う処理であるセンサ監視処理及び遊技の履歴に基づく状態である役比を所定表示器（クレジット表示器１１、遊技補助表示器１２）に表示させる表示制御を行う表示モニタ用データ選択処理を行う構成であり、該非遊技関連処理において、センサ監視処理及び表示モニタ用データ選択処理がそれぞれサブルーチンとして呼び出される構成である。このような構成では、異常判定を行う処理及び役比の表示制御を行う処理がそれぞれサブルーチンとして設定されているため、プログラムの管理が容易となる。
【０４３２】
本実施例のスロットマシン１は、クレジット表示器１１に、クレジットを示す数字または役比の種類を示す数字及び記号のいずれかを表示させることが可能であるとともに、遊技補助表示器１２に、払い出されるメダルの払出枚数を示す数字、ナビ報知によるナビ番号を示す数字、エラーコード、または役比の比率を示す数字のいずれかを表示させることが可能であり、遊技プログラムは、遊技の状態を示す表示としてクレジット、払出枚数、ナビ番号、エラーコードを、遊技プログラム領域に記憶されている表示データを用いて表示する表示制御を行い、非遊技プログラムは、遊技の履歴に基づく状態を示す表示として役比の種類及び比率を、非遊技プログラム領域に記憶されている表示データを用いて表示する表示制御を行う構成であり、非遊技プログラムにおける遊技の履歴に基づく状態を表示させる表示制御で用いる表示データと、遊技プログラムにおいて遊技の状態を表示させる表示制御で用いる表示データと、が共通の表示態様（例えば、数字「０」〜「９」）を表示させるものであっても、遊技プログラム領域と、非遊技プログラム領域と、にそれぞれ表示データが記憶されている構成である。このような構成では、非遊技プログラムにおける遊技の履歴に基づく状態を表示させる役比の表示制御では、非遊技プログラム領域に記憶された表示データを用い、遊技プログラムにおいて遊技の状態を表示させるクレジット等の表示制御では、遊技プログラム領域に記憶された表示データを用いることで、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
【０４３３】
本実施例のスロットマシン１は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備える構成であり、遊技プログラムに含まれるタイマ割込み処理から非遊技プログラムに含まれる非遊技関連処理の１回の呼出により該非遊技関連処理においてスロットマシン１に接続される外部機器へ出力される外部出力信号のうち試験装置へ出力される試験信号の出力制御を行う処理である試験信号出力処理及び遊技の履歴に基づく状態である役比を所定表示器（クレジット表示器１１、遊技補助表示器１２）に表示させる表示制御を行う表示モニタ用データ選択処理を行う構成であり、該非遊技関連処理において、試験信号出力処理及び表示モニタ用データ選択処理がそれぞれサブルーチンとして呼び出される構成である。このような構成では、試験信号の出力制御を行う処理及び役比の表示制御を行う処理がそれぞれサブルーチンとして設定されているため、プログラムの管理が容易となる。
【０４３４】
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にＲＯＭに割り当てられた構成のものがある。このような構成では、遊技プログラムで用いる遊技データの記憶領域と、非遊技プログラムで用いる非遊技データの記憶領域と、についても別個の領域に割り当てられているが、遊技プログラムにおいて非遊技データを参照する処理を実行する度に、遊技プログラムから非遊技データ領域のデータを参照することとすると、遊技プログラムから何度も遊技データ領域と非遊技データ領域の双方にアクセスする必要があり、処理が複雑化するという問題が生じる。
【０４３５】
これに対して、本実施例の遊技機であるスロットマシン１は、プログラムを記憶可能な記憶領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、データを一時的に記憶可能な記憶領域を有するＲＡＭ４１ｃと、を備え、ＲＯＭ４１ｂの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、ＲＡＭ４１ｃの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技ＲＡＭ領域と、を含み、非遊技プログラムである非遊技関連処理のセンサ監視処理において、異常判定としてメダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定を行うとともに、これらの異常判定の結果に基づいて非遊技ＲＡＭ領域に記憶されている第１異常データとしてセンサエラー参照データを更新し、非遊技関連処理を呼び出した遊技プログラムであるタイマ割込み処理（メイン）では、非遊技関連処理から遊技プログラムに復帰したときに、非遊技ＲＡＭ領域に記憶されている第１異常データを参照して、該第１異常データに基づいて遊技ＲＡＭ領域に記憶されている第２異常データとしてセンサエラーフラグを更新可能であり、その後行われる遊技プログラムであるメイン処理では、遊技ＲＡＭ領域に記憶されている第２異常データを参照して、遊技の進行を不能化するエラー状態に移行させるか否かを判断する構成である。
【０４３６】
このような構成では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられ、さらに遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技ＲＡＭ領域と、が別個に割り当てられた構成において、遊技プログラムでは、非遊技プログラムから遊技プログラムに復帰したときに、非遊技データ領域に記憶されている第１異常データを参照して、該第１異常データに基づいて遊技データ領域に記憶されている第２異常データを更新し、さらに遊技プログラムでは、遊技データ領域に記憶されている第２異常データを参照して、遊技の進行を不能化するエラー状態に移行させるか否かを判断するので、一度、非遊技データ領域の第１異常データを参照し、遊技データ領域の第２異常データを更新することで、その後行われるメイン処理等の遊技プログラムにおいて、異常判定に関連する処理を行う毎に何度も非遊技データ領域の第１異常データにアクセスすることなく、非遊技プログラムによる異常判定の結果を参照することが可能となるため、遊技プログラムから非遊技データ領域を参照する頻度を極力減らすことができる。
【０４３７】
本実施例のスロットマシン１は、非遊技プログラムである非遊技関連処理から遊技プログラムであるタイマ割込み処理に復帰したときに、非遊技ＲＡＭ領域に記憶されている第１異常データとしてメダル関連エラー参照データを参照して、該第１異常データに基づいて遊技ＲＡＭ領域に記憶されている第２異常データとしてセンサエラーフラグを更新可能な構成であり、非遊技プログラムから遊技プログラムに復帰したときに、非遊技ＲＡＭ領域に記憶されている第１異常データを参照して、当該第１異常データと遊技ＲＡＭ領域に記憶されているセンサエラーフラグの論理和を演算して、当該演算結果に応じてセンサエラーフラグを更新することで、該第１異常データから異常の発生が特定される場合には第２異常データを更新し、該第１異常データから異常の発生が特定されない場合には第２異常データを更新しない構成である。このような構成では、第１異常データから異常の発生が特定される場合には第２異常データが更新され、第１異常データから異常の発生が特定されない場合には第２異常データが更新されないので、異常が発生した後、異常が解消されて非遊技プログラムで第１異常データが更新された場合でも、遊技プログラム側で異常の発生が確認されるまでは、第２異常データから異常の発生を特定することができる。
【０４３８】
本実施例のスロットマシン１は、遊技プログラムであるタイマ割込み処理（メイン）により呼び出される非遊技プログラムである非遊技関連処理において、異常判定を行って該異常判定の結果を特定可能な第１異常データとしてメダル関連エラー参照データを非遊技ＲＡＭ領域に記憶させる構成であり、遊技プログラムであるタイマ割込み処理（メイン）は、非遊技プログラムである非遊技関連処理から遊技プログラムに復帰したときに、他の処理を行うことなく、非遊技ＲＡＭ領域に記憶されている第１異常データとしてメダル関連エラー参照データを参照し、該第１異常データに基づいて遊技ＲＡＭ領域に記憶されている第２異常データとしてセンサエラーフラグを更新可能である構成である。このような構成では、非遊技プログラムによる異常判定の結果を他の処理を行うよりも前に参照するため、異常判定の結果をいち早く遊技プログラムが行う処理に反映させることができる。また、このような構成では、非遊技関連処理が行われた後に、他の処理により、第１異常データに基づいて更新される前の第２異常データを用いた処理が行われてしまうことを防止できる。
【０４３９】
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にＲＯＭに割り当てられた構成のものがある。このような構成では、遊技プログラムによる信号出力と、非遊技プログラムによる信号出力と、を共通の出力ポートを用いて行った場合に、非遊技プログラムによって設定された信号の出力データが残ってしまうことにより、遊技プログラムによる出力信号として出力されてしまう虞がある。
【０４４０】
これに対して、本実施例の遊技機であるスロットマシン１は、プログラムを記憶可能な記憶領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、信号を出力するための出力ポート０〜９と、を備え、ＲＯＭ４１ｂの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、出力ポート０〜９は、遊技プログラムにおいて出力データ、例えば、リールモータ３２Ｌ、３２Ｃ、３２Ｒの制御信号や流路切替ソレノイド３０の制御信号、クレジット表示器１１の制御信号、サブ制御部９１へのコマンド等が設定され、非遊技プログラムにおいては出力データが設定されることのない第１出力ポート（出力ポート０〜５、７〜９）と、非遊技プログラムにおいて出力データ、例えば、試験信号等が設定され、遊技プログラムにおいては出力データが設定されることのない第２出力ポート（出力ポート６）と、を含み、第１出力ポート及び第２出力ポートの初期化は遊技プログラムである起動時設定処理や電断処理（メイン）から行う構成である。このような構成では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムにおいて出力データが設定され、非遊技プログラムにおいては出力データが設定されることのない第１出力ポートと、非遊技プログラムにおいて出力データが設定され、遊技プログラムにおいては出力データが設定されることのない第２出力ポートと、をそれぞれ別個に備えるので、非遊技プログラムによって設定された信号の出力データが残ってしまうことにより、遊技プログラムによる出力信号として出力されてしまうようなことがなく、遊技プログラムによる制御と非遊技プログラムによる制御の独立性を担保することができるとともに、第１出力ポート及び前記第２出力ポートの初期化は遊技プログラムから行うことで、出力ポートの初期化に際しての制御を簡素化できる。
【０４４１】
本実施例のスロットマシン１は、遊技プログラムにおいて出力データが設定され、非遊技プログラムにおいては出力データが設定されることのない第１出力ポート（出力ポート０〜５、７〜９）と、非遊技プログラムにおいて出力データが設定され、遊技プログラムにおいては出力データが設定されることのない第２出力ポート（出力ポート６）と、を備える構成であり、遊技プログラムは、初期化条件として、スロットマシン１への電力供給が開始されたこと、電断が検出されたことが成立したときに、第１出力ポート及び第２出力ポートの初期化を行う構成である。このような構成では、初期化条件が成立したときの制御を簡素化できる。
【０４４２】
本実施例のスロットマシン１は、遊技プログラムにおいて出力データが設定され、非遊技プログラムにおいては出力データが設定されることのない第１出力ポート（出力ポート０〜５、７〜９）と、非遊技プログラムにおいて出力データが設定され、遊技プログラムにおいては出力データが設定されることのない第２出力ポート（出力ポート６）と、を備える構成であり、第２出力ポートから試験信号を出力する構成である。このような構成では、遊技を進行するために必須とならない試験信号を出力するための制御を非遊技プログラムにおいて行うことで、遊技プログラムの容量を削減することができる。
【０４４３】
本実施例のスロットマシン１は、データを一時的に記憶可能な記憶領域を有するＲＡＭ４１ｃを備え、当該ＲＡＭ４１ｃの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技ＲＡＭ領域と、を含み、遊技ＲＡＭ領域は、遊技プログラムであり、初期設定処理やメイン処理から呼び出すＲＡＭ初期化処理によって初期化し、非遊技ＲＡＭ領域は、非遊技プログラムであり、初期設定処理から呼び出す非遊技ＲＡＭ領域初期化処理によって初期化する構成である。このような構成では、遊技プログラムと非遊技プログラムでは、遊技データと、非遊技データと、を互いに参照することは可能であるが、初期化を含め、互いに書き換えを不能とすることで、遊技プログラムによる制御と非遊技プログラムによる制御の独立性を担保することができる。
【０４４４】
本実施例のスロットマシン１は、データを一時的に記憶可能な記憶領域を有するＲＡＭ４１ｃを備え、当該ＲＡＭ４１ｃの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技ＲＡＭ領域と、を含み、設定変更処理が行われる場合には、遊技ＲＡＭ領域初期化処理を行うことで、遊技ＲＡＭ領域を初期化する一方で非遊技ＲＡＭ領域を初期化しない構成である。このような構成では、遊技ＲＡＭ領域の初期化を伴う設定変更処理が行われる場合でも、非遊技ＲＡＭ領域が初期化されることがないので、非遊技ＲＡＭ領域に記憶されている記憶内容、例えば、遊技の履歴に基づく状態である役比を所定表示器に表示させるためのデータ等が初期化されてしまうことを防止できる。
【０４４５】
本実施例のスロットマシン１は、データを一時的に記憶可能な記憶領域を有するＲＡＭ４１ｃを備え、当該ＲＡＭ４１ｃの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技ＲＡＭ領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技ＲＡＭ領域と、を含み、非遊技ＲＡＭ領域は、初期設定処理においてＲＡＭパリティやＲＡＭ破壊診断用固定データを用いてＲＡＭ４１ｃの異常を判定し、ＲＡＭ４１ｃの記憶内容に異常があると判定したときに、遊技ＲＡＭ領域初期化処理及び非遊技ＲＡＭ領域初期化処理を行うことで、ＲＡＭ４１ｃのすべての領域を初期化する構成である。このような構成では、ＲＡＭ４１ｃに記憶されている内容に異常があり、遊技の制御が正常に行われない虞がある場合にＲＡＭ４１ｃの非遊技ＲＡＭ領域を初期化することができる。また、ＲＡＭ４１ｃに記憶されている内容に異常がある場合に、非遊技ＲＡＭ領域を初期化するので、設定変更がされても初期化されない非遊技ＲＡＭ領域に記憶されている記憶内容、例えば、遊技の履歴に基づく状態である役比を所定表示器に表示させるためのデータ等を正常化させて、非遊技ＲＡＭ領域に記憶されている記憶内容に基づく処理の正常な動作を担保することができる。
【０４４６】
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にＲＯＭに割り当てられた構成のものがある。このような構成では、非遊技プログラムにおいてメダルの通過の不正を検知しているが、遊技プログラムにおいては投入されたメダルの通過のみを判定しているため、非遊技プログラムが正常に動作しなかった場合に、不正が行われていてもメダルの通過が判定されてしまう虞がある。
【０４４７】
これに対して、本実施例の遊技機であるスロットマシン１は、プログラムを記憶可能な記憶領域を有するＲＯＭ４１ｂと、当該ＲＯＭ４１ｂに記憶されたプログラムに基づいて制御を行うメイン制御部４１と、を備え、ＲＯＭ４１ｂの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、遊技プログラムにおいて第１条件として、投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態であり、かつ入力データがＯＦＦ状態であること、すなわち入力データがＯＮ状態からＯＦＦ状態に変化したことが成立することで、遊技媒体であるメダルの通過を検出する第１検出処理（メダル投入信号処理）を行い、非遊技プログラムにおいて第２条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態からＯＦＦ状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第２検出処理（メダルセンサチェック処理）を行い、遊技プログラムでは、第１検出処理及び第２検出処理の双方で遊技媒体の通過が検出されたときに賭け数及びクレジットに加算する遊技媒体が通過したことを判定する構成である。
【０４４８】
このような構成では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムにおいて第１条件が成立することで遊技媒体の通過を検出する第１検出処理、及び遊技プログラムにおいて第２条件が成立することで遊技媒体の通過を検出する第２検出処理の双方で遊技媒体の通過が検出されたときに遊技媒体の通過を判定するので、遊技プログラムの容量を増やすことなく、遊技媒体の通過を適切に判定することができる。
【０４４９】
本実施例のスロットマシン１は、第１条件として、投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態であり、かつ入力データがＯＦＦ状態であることが成立することで、遊技媒体であるメダルの通過を検出する第１検出処理（メダル投入信号処理）を行い、第２条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態からＯＦＦ状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第２検出処理（メダルセンサチェック処理）を行う構成であり、第２条件は、第１条件よりも多くの情報を含むメダル投入信号の状態遷移に基づいて成立する構成である。このような構成では、遊技プログラムの容量を増やすことなく、遊技媒体の通過に係る不正を排除することができる。
【０４５０】
本実施例のスロットマシン１は、非遊技プログラムであるメダルセンサチェック処理において、第２条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態からＯＦＦ状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第２検出処理（メダルセンサチェック処理）を行う構成であり、第２検出処理により遊技媒体の通過が正常に検出されなかったときに異常と判定して、メダル関連エラー参照データ（Ｅ５）を設定する構成である。このような構成では、遊技プログラムの容量を増やすことなく、遊技媒体の通過に係る不正を検知することができる。
【０４５１】
本実施例のスロットマシン１は、第１条件として、投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態であり、かつ入力データがＯＦＦ状態であることが成立することで、遊技媒体であるメダルの通過を検出する第１検出処理（メダル投入信号処理）を行い、第２条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態からＯＦＦ状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第２検出処理（メダルセンサチェック処理）を行う構成であり、第１検出処理及び第２検出処理において、共通の投入メダルセンサ３１ａ〜３１ｃを用いて遊技媒体の通過を検出する構成である。このような構成では、共通のセンサを対象として遊技プログラムと非遊技プログラムの双方で遊技媒体の通過を検出するため、遊技プログラムの容量を増やすことなく、遊技媒体の通過を適切に判定することができる。
【０４５２】
本実施例のスロットマシン１は、一定期間毎に定期処理を実行するタイマ割込み処理（メイン）により、投入メダルセンサ３１ａ〜３１ｃの検出状態を取得可能であり、第１条件として、投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態であり、かつ入力データがＯＦＦ状態であることが成立することで、遊技媒体であるメダルの通過を検出する第１検出処理（メダル投入信号処理）を行い、第２条件として、投入メダルセンサ３１ａ〜３１ｃの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ３１ｂまたは３１ｃの確定データがＯＮ状態からＯＦＦ状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第２検出処理（メダルセンサチェック処理）を行う構成であり、第１検出処理及び第２検出処理では、同じタイマ割込み処理（メイン）にて取得された投入メダルセンサ３１ａ〜３１ｃの検出状態を用いて遊技媒体の通過を検出する構成である。このような構成では、同じタイマ割込み処理（メイン）にて取得した投入メダルセンサ３１ａ〜３１ｃの検出状態を用いて遊技プログラムと非遊技プログラムの双方で遊技媒体の通過を検出するため、遊技プログラムの容量を増やすことなく、遊技媒体の通過を適切に判定することができる。
【０４５３】
従来の遊技機では、例えば、リールのバックライトを点滅させる等、オンとオフを繰り返す制御を行う構成のものがある。このような構成では、リールのバックライトのオンとオフを繰り返す制御を行うために、所定回の割込毎に点灯と消灯を繰り返すデータに基づいて制御しており、そのためのデータを必要とする。
【０４５４】
これに対して、本実施例の遊技機であるスロットマシン１のメイン制御部４１は、所定時間にわたり電子部品、例えば、７セグメント表示器で構成されるクレジット表示器１１、遊技補助表示器１２のオン制御とオフ制御とを繰り返す制御を行うことが可能であり、所定時間を計測するためのタイマ値を更新するとともに、該タイマ値と特定値を用いて演算し、演算の結果に応じてオン制御とオフ制御とを切り替える構成である。このような構成では、所定時間を計測するためのタイマ値と特定値を用いて演算し、演算の結果に応じてオン制御とオフ制御とを切り替えるので、切り替えのためのデータを別個に必要としないため、オン制御とオフ制御とを繰り返す制御を行うためのデータ容量を削減することができる。
【０４５５】
尚、本実施例では、メイン制御部４１は、電子部品として７セグメント表示器で構成されるクレジット表示器１１、遊技補助表示器１２に対してオン制御とオフ制御を行って、点滅させることが可能な構成であるが、メイン制御部４１は、電子部品として７セグメント表示器以外の発光手段、例えば、ＬＥＤやランプ（本実施例では、ウェイト中ＬＥＤ１９やリプレイ中ＬＥＤ２０、演出効果ＬＥＤ５２等）や、ソレノイド等で動作する動作手段、バイブレータなどの振動手段などを適用する構成でも良い。
【０４５６】
また、本実施例では、メイン制御部４１が、電子部品のオン制御とオフ制御を行う際に、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替える構成であるが、サブ制御部９１やその他の制御手段が、タイマ値と特定値を用いた演算の結果に応じて、所定の電子部品のオン制御とオフ制御を行う構成でも良い。
【０４５７】
本実施例のメイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返す制御を行う構成であり、タイマ値を特定値で除算し、除算した商の最下位ビットの値によってオン制御とオフ制御とを切り替える構成である。このような構成では、簡単な処理でオン制御とオフ制御とを切り替えることができる。
【０４５８】
尚、本実施例では、メイン制御部４１は、タイマ値を特定値で除算し、除算した商の最下位ビットの値によってオン制御とオフ制御とを切り替える構成であるが、タイマ値を特定値で除算する以外の演算、例えば、タイマ値を所定ビット数シフトさせて得られる値の最下位ビットの値によってオン制御とオフ制御とを切り替える構成でも良いし、四則演算を行う構成でも良い。
【０４５９】
本実施例のメイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返す制御を行う構成であり、タイマ値が更新される毎に特定値を用いて演算する構成である。このような構成では、簡単な処理でオン制御とオフ制御とを切り替えることができる。
【０４６０】
尚、本実施例では、メイン制御部４１は、タイマ値が更新される毎に特定値を用いて演算する構成であるが、タイマ値の更新が所定回数行われる毎に特定値を用いて演算する構成でも良い。このような構成では、演算の回数を削減して処理負担を軽減できる。
【０４６１】
本実施例のメイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返す制御を行う構成であり、電子部品は、７セグメント表示器で構成されるクレジット表示器１１、遊技補助表示器１２、遊技機情報表示器５０などの発光手段である。このような構成では、所定時間にわたり発光手段を点滅させる場合のデータ容量を削減することができる。
【０４６２】
本実施例のメイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返すオン‐オフ制御を行う構成であり、当該オン‐オフ制御において、タイマ値の初期値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成である。このような構成では、オン制御の状態である電子部品に対して、オン‐オフ制御を開始させる場合でも、当該オン‐オフ制御を開始させるときにまずオフ制御を行った後、オン制御とオフ制御を繰り返すので、オン‐オフ制御を開始したことを認識させることができる。
【０４６３】
尚、本実施例では、メイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品に対してオン‐オフ制御を行う構成であり、当該オン‐オフ制御において、タイマ値の初期値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成であるが、メイン制御部４１は、タイマ値の初期値に対する特定値を用いた演算の結果によって行われる制御をオン制御とする構成でも良く、このような構成では、電子部品に対してオン‐オフ制御を開始する前に、一旦、電子部品をオフ制御した後、当該オン‐オフ制御を開始する構成とすることで、当該オン‐オフ制御を開始したことを認識させることができる。
【０４６４】
本実施例のメイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返すオン‐オフ制御を行う構成であり、タイマ値の最終値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成である。このような構成では、所定時間にわたる電子部品に対するオン‐オフ制御の終了時の制御をオフ制御とすることで、当該オン‐オフ制御の終了後に、電子部品をオン状態とする制御が行われる場合（例えば、クレジット表示器１１及び遊技補助表示器１２において、表示モニタ用データ選択処理により役物の比率表示を表示させる制御を行った後、当該比率表示を表示させる前に表示されていた表示内容（例えば、クレジット、払出枚数、エラーコード）を再び表示させる場合や、複数種類の比率表示のうち一の比率表示を表示させた後、他の比率表示を表示させる場合等）でも、オフ制御を行った後にオン状態とする制御を行うこととなるので、オン‐オフ制御とその後のオン制御との区切りを認識させることができる。
【０４６５】
尚、本実施例では、メイン制御部４１は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品に対してオン‐オフ制御を行う構成であり、当該オン‐オフ制御において、タイマ値の最終値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成であるが、メイン制御部４１は、タイマ値の最終値に対する特定値を用いた演算の結果によって行われる制御をオン制御とする構成でも良く、このような構成では、電子部品に対するオン‐オフ制御を終了するときに、電子部品をオフ制御する構成とすることで、当該オン‐オフ制御とその後のオン制御との区切りを認識させることができる。
【０４６６】
本実施例のスロットマシン１は、小役の入賞に伴い所定枚数のメダルを付与し、特別役の入賞に伴い遊技者にとって有利に制御し、予め定められた特定期間、例えば、過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間等において付与されたメダルの総数である総累計払出数を計数することや、特定期間のうち有利に制御された期間（ＢＢ、ＲＢ）において付与されたメダルの総数である役物払出枚数を計数することが可能であり、計数された総累計払出数に占める役物払出枚数により計数された役物払出枚数の割合である役物払出比率を算出し、算出された役物払出比率を特定可能にクレジット表示器１１及び遊技補助表示器１２に表示することが可能な構成であり、特定期間（本実施例では、６０００ゲーム）に到達するタイミングが異なる複数の累計バッファ１〜３を有しており、特定期間に到達する毎に該当するカウンタの計数値を用いて役物払出比率を算出し、累計バッファ１〜３による計数開始から最初に特定期間に到達するまでの期間において、役物払出比率の表示を点滅させる構成である。このような構成では、クレジット表示器１１及び遊技補助表示器１２に表示された役物払出比率が正常な値ではないことを認識させることができる。また、特定期間に到達するタイミングが異なる複数の累計バッファ１〜３をそれぞれ有しているため、最初の累計バッファが特定期間に一度到達した後は、当該累計バッファが次回特定期間に到達するまで待つことなく、他の累計バッファが特定期間に到達する毎に、役物払出比率を最新の情報に更新させることができる。
【０４６７】
尚、本実施例１では、メイン制御部４１は、過去６０００ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを比率表示として、クレジット表示器１１及び遊技補助表示器１２に表示させることが可能な構成であるが、実施例１でも実施例２と同様に、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する有利区間払出比率を算出して、これらの割合や比率をクレジット表示器１１及び遊技補助表示器１２に表示させることが可能な構成としても良い。
【０４６８】
本実施例のスロットマシン１は、起動時及び電断時に、メイン制御部４１が備えるパラレル出力ポートのうち出力ポート０、出力ポート７については一の出力ポートのみを初期化する初期化命令により初期化し、パラレル出力ポートのうち出力ポート１，２、出力ポート３，４、出力ポート５,６、出力ポート８，９については複数の出力ポートを初期化する初期化命令により初期化する。このような構成では、出力ポートから出力される出力情報の内容に応じて適切に出力ポートの初期化することができる。
【０４６９】
本実施例のスロットマシン１は、出力ポート１，２、出力ポート３，４、出力ポート５,６、出力ポート８，９よりも先に出力ポート０を初期化し、出力ポート８，９よりも先に出力ポート７を初期化する。このような構成では、優先度の高い初期化を早くすることが必要な出力ポートについて個別に初期化することができる。
【０４７０】
出力ポート８，９はサブ制御部９１に対するコマンドを送信する。このような構成では、関連する出力情報を出力する出力ポートについて、ほぼ同時期に初期化することができる。
【０４７１】
メイン制御部４１は、起動時及び電断時に出力ポート０〜９を初期化するときには、ポート出力バッファの出力状態データを更新せずに出力ポート０〜９の出力状態を直接更新することにより、出力ポート０〜９を初期化する。一方、起動時及び電断時以外のときに出力ポート０〜９を初期化するときには、ポート出力バッファの出力状態データを更新してから出力ポート０〜９の出力状態を直接更新することにより、出力ポート０〜９を初期化する。このような構成では、効率よく出力ポートを初期化することができる。
【０４７２】
メイン制御部４１は、出力ポート８，９からサブ制御部９１に対するコマンドが出力されるときは、コマンドの出力期間が経過したときに出力ポート８，９の出力状態を更新することにより出力ポート８，９を初期化する。このような構成では、意図しない情報が特定出力ポートから出力されることを防止できる。
【０４７３】
設定変更状態中の割込が発生する前に設定変更開始コマンドをコマンドキューに格納する。このような構成では、設定変更開始コマンドをすみやかに出力することができる。
【０４７４】
設定変更状態中の割込が発生する前に外部出力信号である設定変更信号を出力するための出力データを出力バッファに格納する。このような構成では、設定変更信号をすみやかに出力することができる。
【０４７５】
電断時と起動時とにおいて出力ポート０〜９を異なる順序により初期化する。このような構成では、初期化するときの状況に応じて適切に出力ポートの初期化を実行することができる。
【０４７６】
電断時に、他の情報よりも優先すべき情報を出力であるホッパーモータ３４ｂの駆動信号を出力する出力ポート３を他の出力ポートよりも優先して初期化する。このような構成では、優先度の高い初期化を早くすることが必要な出力ポートについて個別に初期化をすることができる。
【０４７７】
起動時と電断時において、同一順序により出力ポート７、出力ポート８、出所ポート９を初期化する。このような構成では、効率よく出力ポートを初期化することができる。
【０４７８】
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。
【０４７９】
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル１枚分を遊技球５個分に対応させることができ、前記実施例で賭数として３を設定する場合は、１５個の遊技球を用いて賭数を設定するものに相当する。
【０４８０】
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか１種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。
【０４８１】
また、前記実施例及び変形例では、本発明が遊技機の一例であるスロットマシン１に適用された例が示されていたが、本発明はこれに限定されるものではなく、遊技機の他の一例であり、遊技領域に遊技球を発射することにより遊技を行うパチンコ遊技機であって、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にＲＯＭに割り当てられた構成である遊技機等においても適用可能である。また、パチンコ遊技機であって、演出用ＬＥＤを点滅させる等、電子部品についてオンとオフを繰り返す制御を行う構成である遊技機等においても適用可能である。
【実施例２】
【０４８２】
本発明が適用されたスロットマシンの実施例２について説明する。尚、本実施例のスロットマシンの構成は、前述した実施例１と同一の構成を含むため、ここでは異なる点について主に説明する。
【０４８３】
実施例１のメイン制御部４１は、役比モニタ用データ処理により集計された、過去６０００ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを比率表示として、クレジット表示器１１及び遊技補助表示器１２に表示させることが可能な構成であるが、実施例２のメイン制御部４１は、遊技制御基板４０に７セグメント表示器で構成される遊技機情報表示器５０を備え、過去６０００ゲーム間の役物払出比率や総累計払出数に対する役物払出比率などの比率表示を、遊技機情報表示器５０に表示させる構成である。
【０４８４】
また、実施例１のメイン制御部４１は、比率表示として、役比モニタ用データ処理により、過去６０００ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを表示させる構成であるが、実施例２のメイン制御部４１は、比率表示として、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を表示させる構成である。
【０４８５】
また、実施例１のメイン制御部４１は、６０００ゲーム分のメダルの払い出しに関するデータを計数可能な３つの累計バッファ１〜３を用いて、比率表示を行うためのデータを集計する構成であるが、実施例２のメイン制御部４１は、１セットで２バイトのデータを格納可能なバッファが１５セット設けられている５つのリングバッファを用いて、比率表示を行うためのデータを集計する構成である。
【０４８６】
以下、本実施例２のスロットマシン１について、図３４〜図３６に基づいて説明する。図３４に示すように、遊技制御基板４０が筐体１ａの内部の所定位置に取り付けられた状態において、遊技制御基板４０の正面側（遊技者側）の下部には７セグメント表示器で構成される遊技機情報表示器５０が配置されている。遊技機情報表示器５０は、遊技制御基板４０が基板ケース１２０ａに封入されている状態で、当該基板ケース１２０ａの外部から表示内容を視認可能となっており、メイン制御部４１により集計され、遊技機情報表示器５０に表示されるスロットマシン１における有利区間割合等の情報を、店員等が認識できるようになっている。
【０４８７】
このため、前面扉１ｂを開放した状態において基板ケース１２０ａを介して遊技機情報表示器５０の表示内容が視認できるようになっている。また、筐体１ａの内部では、遊技機情報表示器５０の表示内容の視認性が妨げられないようになっている。詳しくは、遊技機情報表示器５０の表示側の位置に、スロットマシン１に設けられたリール等の部品全般、他の基板等が設けられることがなく、遊技機情報表示器５０の表示側の位置を、スロットマシン１に設けられた電子部品同士を接続する配線が通過しないようになっている。また、遊技機情報表示器５０を搭載した遊技制御基板４０を収納する基板ケース１２０ａにおいて、封印シールや開封者を記入するための記入部、スロットマシン１や遊技制御基板４０の管理情報や管理履歴等の情報が表示されるラベル、当該ラベルが貼着される貼着部、当該情報が印字、刻印される表示部、放熱穴、放熱用のファン等の部品などが遊技機情報表示器５０の表示側の位置を避けて設けられている。
【０４８８】
また、基板ケース１２０ａは、遊技制御基板４０を収容した後封止されるようになっており、封止された状態では、痕跡を残すことなく封止を解除して開放することができないようになっている。封止する方法としては、封止片をワンウェイネジで封止したり、ケースの一部を溶着したり、剥がした跡が残る封印シールを貼着したりする方法などがある。これにより、遊技機情報表示器５０と遊技制御基板４０とを接続する接続線を断線させて、基板ケース１２０ａに封入された遊技制御基板４０に搭載されている遊技機情報表示器５０が正しく表示内容を表示することができないようにしたり、遊技機情報表示器５０の表示面にシール等を貼着して視認性を阻害するような不正が行われることを防止できる。
【０４８９】
メイン制御部４１は、図３５に示すように、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を遊技機情報表示器５０に表示させる制御を行う。
【０４９０】
過去６０００ゲーム間の有利区間割合とは、過去６０００ゲーム間においてＡＴに関連する有利区間に制御されたゲーム数の割合である。ＡＴに関連する有利区間とは、ＡＴ非当選の状態においてＡＴに当選したときから、当選したＡＴに伴うＡＴの制御が全て終了し、非ＡＴに移行するまでの期間である。総累計ゲーム数に対する有利区間割合は、工場出荷時或いは何らかの原因でＲＡＭ４１ｃのデータが初期化されてからの累計ゲーム数である総累計ゲーム数に対してＡＴに関連する有利区間に制御されたゲーム数の割合である。過去６０００ゲーム間の連役払出比率とは、過去６０００ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去６０００ゲーム間において制御されたＢＢ中に払い出されたメダル数の累計である連役払出枚数の比率である。過去６０００ゲーム間の役物払出比率とは、過去６０００ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去６０００ゲーム間において制御されたＢＢ中及びＲＢ中に払い出されたメダル数の累計である役物払出枚数の比率である。過去６０００ゲーム間の有利区間払出比率とは、過去６０００ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去６０００ゲーム間において制御されたＡＴに関連する有利区間中に払い出されたメダル数の累計である有利区間払出枚数の比率である。総累計払出数に対する連役払出比率とは、工場出荷時或いは何らかの原因でＲＡＭ４１ｃのデータが初期化されてからのメダルの払出枚数の累計である総累計払出数に占める工場出荷時或いは何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までにおいて制御されたＢＢ中に払い出されたメダル数の累計である連役払出枚数の比率である。総累計払出数に対する役物払出比率とは、総累計払出数に占める工場出荷時或いは何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までにおいて制御されたＢＢ中及びＲＢ中に払い出されたメダル数の累計である役物払出枚数の比率である。総累計払出数に対する有利区間払出比率とは、総累計払出数に占める工場出荷時或いは何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までにおいて制御されたＡＴに関連する有利区間中に払い出されたメダル数の累計である有利区間払出枚数の比率である。
【０４９１】
尚、本実施例では、ボーナスとして、ＲＢと、ＲＢが連続して作動するＢＢのみを搭載する構成であるが、全ての種類の小役の入賞が許容されるが、一部のリールについて引込が制限されるＣＴ、ＣＴが連続して作動するＣＢを搭載する構成であっても良く、ＣＴを搭載する場合には、ＣＴ中に払い出されたメダル数は、役物払出比率に反映され、ＣＢを搭載する場合には、ＣＢ中に払い出されたメダル数は、連役払出比率に反映されることとなる。
【０４９２】
メイン制御部４１は、電源投入後、電力供給が停止するまでの期間において過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を、図３５に示す表示順にて所定期間（本実施例では、３０秒間）毎に切り替えて遊技機情報表示器５０に表示させる。
【０４９３】
この際、遊技機情報表示器５０には、上位２桁に現在表示中の表示内容を示す略記（例えば、表示順１の過去６０００ゲーム間の有利区間比率が表示されている場合には、「１Ａ」）が表示される。現在表示中の表示内容を示す略記は、表示される２桁のうち最下位の桁の表示内容が数字以外の文字（本実施例では、「Ａ」「Ｃ」「Ｆ」の英字）となっており、遊技機情報表示器５０において、略記及び割合、比率が表示されているときに、略記の数字部分が、割合、比率と隣り合うことがないようになっている。これにより、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
【０４９４】
また、この際、遊技機情報表示器５０には、下２桁に前述の略記に対応する現在表示すべき割合、比率（以下、表示すべきデータと呼ぶ場合がある）が表示され、いずれのデータについても％で表示されるようになっている。遊技機情報表示器５０の下２桁に表示されるデータとして、０〜９９％が表示されることとなるが、本実施例では、遊技機情報表示器５０の下２桁双方を用いて表示すべきデータを表示するようになっており、例えば、表示すべきデータが１桁の場合には、遊技機情報表示器５０の下２桁のうち上位の桁に「０」を表示する一方で、下位の桁に表示すべきデータの値を表示する（例えば、５％を表示する場合には、遊技機情報表示器５０の下２桁に「０５」を表示する）。また、表示すべきデータが２桁の場合には、遊技機情報表示器５０の下２桁に表示すべきデータを表示する（例えば、１５％を表示する場合には、遊技機情報表示器５０の下２桁に「１５」を表示する）。このように、遊技機情報表示器５０に表示すべきデータが、１桁であるか２桁であるかにかかわらず、遊技機情報表示器５０の下２桁双方を用いて表示すべきデータを表示することで、割合、比率の表示内容が誤認されてしまうことを防止できる。また、１桁であるか２桁であるかにかかわらず、遊技機情報表示器５０の下２桁双方を用いて表示すべきデータを表示することで、常に遊技機情報表示器５０の下２桁にいずれかのデータが表示されることとなり、例えば、下２桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
【０４９５】
尚、現在表示中の表示内容を示す略記を、表示される２桁のうち最上位の桁の表示内容が数字以外の文字（例えば、「Ａ１」）となるようにして、遊技機情報表示器５０における下２桁に当該略記を表示させるとともに、遊技機情報表示器５０における上２桁に現在表示すべきデータ（例えば、過去６０００ゲーム間の有利区間比率）を表示させる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
【０４９６】
また、遊技機情報表示器５０における下２桁、上２桁のいずれに略記と現在表示すべきデータとを表示させるかにかかわらず、略記を表示する２桁と、現在表示すべきデータを表示する２桁の色彩を異ならせる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
【０４９７】
また、本実施例のメイン制御部４１は、有利区間割合、連役払出比率、役物払出比率、有利区間払出比率、連役払出比率、役物払出比率、有利区間払出比率を、図３５に示す表示順にて所定期間毎に切り替えて表示させる際に、これらの表示が一巡し終えるまでの一の期間内においては、ゲームが進行されて、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させる。詳しくは、これらの表示が一巡し終えるまでの一の期間内において、ゲームが進行されて、これらの値が新たな値に更新され得る場合には、新たな値を演算してＲＡＭ４１ｃの所定領域に記憶させるが、遊技機情報表示器５０に表示内容を表示させるための出力バッファに当該新たな値を設定することなく、元の値を設定することで、遊技機情報表示器５０における表示を元の値を用いて一巡させ、一巡の表示が終了したときから、新たな値を出力バッファに設定することで、その後、新たな値で表示を行うようにしても良いし、これらの表示が一巡し終えるまでの一の期間内において、これらの値が新たな値に更新され得る場合には、新たな値を求めるための演算を行うことを制限して、遊技機情報表示器５０における表示を一巡させ、一巡の表示が終了した際に、新たな値を求めるための演算を行い、その後、当該新たな値を用いて遊技機情報表示器５０における表示を行うようにしても良い。このようにすることで、遊技機情報表示器５０における表示内容が一巡するまでの期間において、異なる時期に演算された有利区間割合等の表示内容が混在してしまうことを防止できる。
【０４９８】
また、メイン制御部４１は、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合が規定割合（例えば、７０％）を超える場合には、通常と異なる表示態様（例えば、通常が常時点灯であれば点滅点灯等）にて有利区間割合を表示する。また、メイン制御部４１は、過去６０００ゲーム間の連役払出比率、総累計払出数に対する連役払出比率が規定割合（例えば、６０％）を超える場合には、通常と異なる表示態様（例えば、通常が常時点灯であれば点滅点灯等）にて連役払出比率を表示する。また、メイン制御部４１は、過去６０００ゲーム間の役物払出比率、総累計払出数に対する役物払出比率が規定割合（例えば、７０％）を超える場合には、通常と異なる表示態様（例えば、通常が常時点灯であれば点滅点灯等）にて役物払出比率を表示する。また、メイン制御部４１は、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する有利区間払出比率が規定割合（例えば、８０％）を超える場合には、通常と異なる表示態様（例えば、通常が常時点灯であれば点滅点灯等）にて有利区間払出比率を表示する。
【０４９９】
このように有利区間割合、連役払出比率、役物払出比率、有利区間払出比率が規定割合を超えると、通常と異なる表示態様にて表示されるようになっており、射幸性が高い状態に制御されている可能性があることを警告できるようになっている。
【０５００】
また、メイン制御部４１は、過去６０００ゲーム間の有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率を遊技機情報表示器５０に表示させる場合において、過去のゲーム数が６０００ゲームに到達していない状態であるときには、例えば、遊技機情報表示器５０の上位２桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、集計が６０００ゲームに到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
【０５０１】
また、メイン制御部４１は、総累計ゲーム数に対する有利区間割合を遊技機情報表示器５０に表示させる場合において、過去のゲーム数が有利区間割合が概ねスロットマシンの設計値に収束する規定ゲーム数（例えば、１７５０００ゲーム）に到達していない状態であるときには、例えば、遊技機情報表示器５０の上位２桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、有利区間割合が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
【０５０２】
また、メイン制御部４１は、総累計払出数に対する連役払出比率を遊技機情報表示器５０に表示させる場合において、過去のゲーム数が連役払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数（例えば、１７５００ゲーム）に到達していない状態であるときには、例えば、遊技機情報表示器５０の上位２桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、連役払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
【０５０３】
また、メイン制御部４１は、総累計払出数に対する役物払出比率を遊技機情報表示器５０に表示させる場合において、過去のゲーム数が役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数（例えば、６０００ゲーム）に到達していない状態であるときには、例えば、遊技機情報表示器５０の上位２桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
【０５０４】
また、メイン制御部４１は、総累計払出数に対する有利区間払出比率を遊技機情報表示器５０に表示させる場合において、過去のゲーム数が有利区間払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数（例えば、１７５０００ゲーム）に到達していない状態であるときには、例えば、遊技機情報表示器５０の上位２桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、有利区間払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
【０５０５】
尚、メイン制御部４１は、６０００ゲームに到達していない状態では、遊技機情報表示器５０の下位２桁に「００」を表示し、６０００ゲームに到達した以降の状態では、遊技機情報表示器５０の下位２桁に表示すべき割合、比率を表示する、すなわち６０００ゲームに到達した以降の状態では、遊技機情報表示器５０の下位２桁の表示態様を、６０００ゲーム以降の表示態様とは異なる表示態様とする構成とすることが好ましく、このような構成とすることで、６０００ゲームに到達していない状態では、遊技機情報表示器５０の上位２桁の表示（例えば、「１Ａ」）により特定される有利区間割合等の集計が６０００ゲームに到達していないことが認識でき、表示されている割合、比率に偏りが生じている可能性が認識できる。また、６０００ゲームに到達していない状態では、遊技機情報表示器５０の下位２桁に「００」を表示する構成とすることで、６０００ゲームに到達していない状態では、常に遊技機情報表示器５０の下２桁にデータが表示されることとなり、例えば、下２桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
【０５０６】
また、メイン制御部４１は、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合（総払出枚数より役物払出枚数、連役払出枚数、有利区間払出枚数が多い場合、格納された値がある一定のデータ形式（０１繰り返しなど）である場合等）には、異常と判定されたデータ及び当該データに関連するデータを初期化し、遊技機情報表示器５０に異常が検知された旨の表示（例えば、「ＦＦＦＦ」）をさせて、その旨を報知するようになっており、これらのデータの算出が正常に行われていないことを認識できるようになっている。
【０５０７】
尚、異常と判定されたデータ及び当該データに関連するデータを初期化する際には、例えば、過去６０００ゲーム間に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率のうちの少なくともいずれか１つが異常と判定された場合には、これら全てに関するデータを初期化するようにしても良いし、一部のデータのみを初期化するようにしても良い。総累計ゲーム数に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率のうちの少なくともいずれか１つが異常と判定された場合には、これらの全てに関するデータを初期化するようにしても良いし、一部データのみを初期化するようにしても良い。また、過去６０００ゲーム間に対するデータの一部に異常が判定された際に、過去６０００ゲーム間及び総累計ゲーム数に対するデータの全てを初期化したり、逆に、総累計ゲーム数に対するデータの一部に異常が判定された際に、過去６０００ゲーム間及び総累計ゲーム数に対するデータの全てを初期化するようにしても良い。
【０５０８】
また、過去６０００ゲーム間及び総累計ゲーム数に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合には、その旨を報知し、その後、所定の操作（例えば、スタートスイッチ７、ストップスイッチ８Ｌ、８Ｃ、８Ｒ、設定キースイッチ３７等のスイッチ類が所定の手順で操作されること）されることで、当該データに関する初期化を行うようにしても良い。
【０５０９】
また、異常が判定された旨の報知では、上述のように、遊技機情報表示器５０に異常が検知された旨の表示（例えば、「ＦＦＦＦ」）をさせて、その旨を報知しても良いし、異常が判定された際に、その旨を特定可能なコマンドをサブ制御部９１に対して送信し、サブ制御部９１側において液晶表示器５１等により異常が判定された旨を報知させるようにしても良い。
【０５１０】
また、メイン制御部４１は、データの収集を開始してから６０００ゲームに到達するまでの期間、すなわち過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率等を算出するためのデータが不十分な期間において、遊技機情報表示器５０の表示内容が、データの収集を開始してから６０００ゲーム以降の表示態様とは異なる態様で表示されるようになっており、表示内容を算出するためのデータが不十分な期間であることを認識できるようになっている。
【０５１１】
尚、本実施例では、電源投入後、電力供給が停止するまでの期間において過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率が、所定期間毎に切り替えて表示されるようになっているが、前面扉１ｂの開放状態が検出されている場合のみ表示されるようにしたり、所定の操作スイッチ（例えばリセット／設定スイッチ３８）の操作が検出されている場合のみ表示されるようにしたり、ゲーム中でないときに表示されるようにしたり、設定変更状態や設定確認中に表示されるようにしたり、電源投入後から所定期間のみ表示されるようにしたりしても良い。また、所定期間毎に自動で切り替わるのではなく、所定の操作がされる毎に表示内容が切り替わるようにしても良い。
【０５１２】
また、本実施例では、遊技機情報表示器５０の表示内容を算出するために用いるデータ異常が判定されたことや表示内容を算出するためのデータが不十分な期間であることが遊技機情報表示器５０を用いて報知される構成であるが、その旨を特定可能なコマンドをサブ制御部９１に送信し、サブ制御部９１が制御する表示器や演出装置にて確認できるようにしても良い。
【０５１３】
また、本実施例では、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率が、遊技機情報表示器５０に表示される構成であるが、これらの表示に加えて設定変更によってＲＡＭ４１ｃが初期化されたこと、スロットマシン１に設けられた配線（バックアップ電源の配線等）の断線検出があったときなどに、その旨が認識可能となる内容が遊技機情報表示器５０に表示されるようにしても良い。
【０５１４】
特に、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされた場合、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたりしたこと（例えば、ＡＴ中のＲＴ２、ＲＴ３において、故意にＲＴ１移行再遊技やＳＢを入賞させたり、特定図柄を停止させてＲＴ１に移行させる操作が行われる場合、すなわち故意に遊技者にとって相対的に有利な遊技状態から不利な遊技状態に移行された場合等）を検出した場合、及び、遊技機情報表示器５０が断線等が生じたことにより正常に接続されていない可能性を検出した場合には、その旨を特定可能に報知する。このようにすることで、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることを認識することができる。
【０５１５】
また、後述するように総累計データのオーバーフローを回避する処理において、当該総累計データ等を初期化した場合には、その旨を特定可能に、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合とは異なる態様で、報知することが好ましく、このようにすることで、オーバーフローを回避する処理より総累計データが初期化されたことを、有利区間割合等として正しい情報が表示されないようにするための不正な操作による初期化とは、別に認識させることができる。
【０５１６】
尚、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合には、その旨を検出して当該検出の履歴をメイン制御部４１側で記録し、当該検出時には報知することなく、その後、所定の操作（例えば、スタートスイッチ７やストップスイッチ８Ｌ、８Ｃ、８Ｒ、設定キースイッチ３７等のスイッチ類を所定の手順で操作すること、遊技制御基板４０に検査用端末等の所定の外部機器を接続すること等）が行われることで、これらの履歴を、メイン制御部４１側に設けられた表示器（例えば、遊技機情報表示器５０等）やサブ制御部９１側に設けられた表示器（例えば、液晶表示器５１等）、スロットマシン１の外部の表示器等により確認できるようにしても良い。
【０５１７】
また、設定変更がされたこと、断線検出がされたこと、遊技機情報表示器５０の接続不良が発生して有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されない可能性があること、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があること、をサブ制御部９１が制御する表示器や演出装置にて確認できるようにしても良い。また、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたこと、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることが検出されたことの履歴をサブ制御部９１側で記録し、所定の操作でこれらの履歴を確認できるようにしても良い。
【０５１８】
次に、メイン制御部４１が、これらの情報を表示するためのデータの集計、計算方法について説明する。
【０５１９】
メイン制御部４１は、上述の有利区間割合等のスロットマシン１に関する情報を集計して計算し、当該計算結果に基づく情報を、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる処理として遊技機情報表示処理を実行することが可能である。遊技機情報表示処理を行うためのプログラムは、前述の非遊技プログラムに含まれており、遊技機情報表示処理を実行する際にメイン制御部４１が用いる各種データは、ＲＯＭ４１ｂの非遊技データ領域に記憶されている。また、メイン制御部４１は、当該遊技機情報表示処理を実行する際に、ＲＡＭ４１ｃの非遊技ＲＡＭ領域をワークとして使用するようになっている。尚、メイン制御部４１が遊技機情報表示処理を実行する際に使用する当該非遊技ＲＡＭ領域は、バックアップ電源によりバックアップされており、スロットマシン１への電力供給が停止しても、バックアップ電源により電力が供給される限り当該非遊技ＲＡＭ領域の記憶内容が保存されるようになっている。また、メイン制御部４１は、上述のように設定値を変更する操作が行われることで、ＲＡＭ４１ｃの遊技ＲＡＭ領域に記憶されているデータは初期化されることとなるが、遊技機情報表示処理を実行する際に使用する当該非遊技ＲＡＭ領域は、設定値を変更する操作が行われる際や他の遊技ＲＡＭ領域について初期化条件が成立した際にも、初期化対象とされないようになっており、特に、上述の有利区間割合等のスロットマシン１に関する情報を集計し、計算し、表示させるためのデータが初期化されることがないようになっている。
【０５２０】
［遊技機情報表示器に表示されるデータの集計方法について］
図３６に示すように、メイン制御部４１のＲＡＭ４１ｃにおける非遊技ＲＡＭ領域の所定領域には、スロットマシン１において行われたゲーム回数を計数可能なゲーム回数カウンタ、１ゲーム毎に１加算され、特定期間（本実施例では、６０００ゲーム）が経過する毎に初期化される第１のゲーム数カウンタ、１ゲーム毎に１加算され、特定期間（本実施例では、６０００ゲーム）を所定数（本実施例では、１５）で分割した所定期間（本実施例では、４００ゲーム）が経過する毎に初期化される第２のゲーム数カウンタ、１ゲーム毎に１加算されるが初期化されることがない第３のゲーム数カウンタが設けられている。また、１セット分のデータを計数可能な第１〜第５のデータ計数バッファ、１セットで２バイトのデータを格納可能なバッファが１５セット設けられている第１〜第５のリングバッファが設定されている。
【０５２１】
メイン制御部４１は、第１〜第５のデータ計数バッファ及び第１〜第５のリングバッファを用いて、特定期間（本実施例では、６０００ゲーム）において付与されたメダルの総枚数である総払出枚数、特定期間（本実施例では、６０００ゲーム）においてＢＢまたはＲＢに制御されている期間に付与されたメダルの枚数である役物払出枚数、特定期間（本実施例では、６０００ゲーム）においてＢＢに制御されている期間に付与されたメダルの枚数である連役払出枚数、特定期間（本実施例では、６０００ゲーム）においてＡＴに制御される有利区間（ＡＴに当選した後、ＡＴに制御されてからＡＴの残りゲーム数が０となりＡＴの制御が終了されるまでの期間）において付与されたメダルの枚数である有利区間払出枚数、特定期間（本実施例では、６０００ゲーム）においてＡＴに制御される有利区間（ＡＴに当選した後、ＡＴに制御されてからＡＴの残りゲーム数が０となりＡＴの制御が終了されるまでの期間）のゲーム数である遊技区間ゲーム回数を計数することが可能である。
【０５２２】
具体的には、メイン制御部４１は、小役の入賞に伴いメダルの払い出しが行われた場合には、第１のデータ計数バッファに、払い出されたメダルの枚数を加算し、ＢＢまたはＲＢに制御されている期間において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第２のデータ計数バッファに加算し、ＢＢに制御されている期間において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第３のデータ計数バッファに加算し、ＡＴに制御される有利区間（ＡＴに当選した後、ＡＴに制御されてからＡＴの残りゲーム数が０となりＡＴの制御が終了されるまでの期間）において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第４のデータ計数バッファに加算し、ＡＴに制御される有利区間（ＡＴに当選した後、ＡＴに制御されてからＡＴの残りゲーム数が０となりＡＴの制御が終了されるまでの期間）においてゲームが行われた際に、第５のデータ計数バッファに１ゲームを加算する。尚、本実施例では、メイン制御部４１は、小役入賞の発生が判定されたタイミングで、第１〜第４のデータ計数バッファにメダル数を加算する構成であるが、第１〜第４のデータ計数バッファにメダル数が加算されるタイミングは、小役入賞の発生により実際にメダルが付与されたタイミング（クレジットの加算または実際のメダルの払出の検出）でも良い。
【０５２３】
そして、第２のゲーム数カウンタに基づいて、所定期間が経過したことが特定される毎に、第１〜第５のリングバッファの所定のセットのバッファ（前回更新されたセット＋１セット目のバッファ、初回または前回更新されたセットが１５セット目の場合は１セット目のバッファ）を初期化し、第１〜第５のデータ計数カウンタ値を、第１〜第５のリングバッファの所定のセットのバッファに加算するとともに、第１〜第５のデータ計数バッファ値を、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた３バイトの集計データ領域Ａ’〜Ｄ’、Ｆ’にそれぞれ加算する。また、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた３バイトの集計データ領域ａ’〜ｄ’、ｆ’を初期化し、第１〜第５のリングバッファの１セット目から１５セット目までの全てのセットのバッファのデータを、対応する集計データ領域ａ’〜ｄ’、ｆ’に順次加算する。その後、第１〜第５のデータバッファを初期化する。また、集計データ領域Ｅ’を第３のゲーム数カウンタの値に更新する。
【０５２４】
これらの処理を行うことにより、所定期間毎に、第１〜第５のリングバッファの所定のセットのバッファのデータ、集計データ領域ａ’〜ｄ’、ｆ’、Ａ’〜Ｆ’がそれぞれ最新の情報に更新されることとなる。
【０５２５】
また、メイン制御部４１は、所定期間が経過したことが特定される毎に、集計データ領域ａ’〜ｄ’、Ａ’〜Ｄ’をそれぞれ最新の情報に更新した後、当該集計データ領域のうち集計データ領域ａ’、Ａ’に設定されているデータが３バイトに達しているか否かを判定して、３バイトに達していないデータについては、当該集計データ領域ａ’、Ａ’のデータをＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域ａ、Ａに設定する。一方、３バイトに達しているデータについて所定の１６ビット分のデータを抽出する抽出処理を行い、抽出されたデータを対応する二次演算データ領域ａ、Ａに設定する。図３７（ａ）に示すように、抽出処理では、集計データ領域のデータを参照して、最上位の位を特定し、当該最上の位を示す最上位データをＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定する。そして、当該最上位の位以下の１６ビットのデータを抽出する。
【０５２６】
また、当該集計データ領域のうちｂ’〜ｄ’については、集計データ領域ｂ’〜ｄ’のデータにそれぞれ１００を乗算した値を、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた３バイトの一次演算データ領域ｂ”〜ｄ”にそれぞれ設定する。その後、集計データ領域ａについて抽出処理が行われたか否かを参照し、集計データ領域ａについて抽出処理が行われていない場合には、当該集計データ領域ｂ”〜ｄ”のデータをＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域ｂ〜ｄに設定する。一方、集計データ領域ａについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域ａの抽出処理において特定された最上位を特定し、当該最上位以下の１６ビット分のデータを抽出して、二次演算データ領域ｂ〜ｄに設定する。
【０５２７】
また、当該集計データ領域のうちＢ’〜Ｄ’については、集計データ領域Ｂ’〜Ｄ’のデータにそれぞれ１００を乗算した値を、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた３バイトの一次演算データ領域Ｂ”〜Ｄ”にそれぞれ設定する。その後、集計データ領域Ａについて抽出処理が行われたか否かを参照し、集計データ領域Ａについて抽出処理が行われていない場合には、当該集計データ領域Ｂ”〜Ｄ”のデータをＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域Ｂ〜Ｄに設定する。一方、集計データ領域Ａについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域Ａの抽出処理において特定された最上位を特定し、当該最上位以下の１６ビット分のデータを抽出して、二次演算データ領域Ｂ〜Ｄに設定する。
【０５２８】
そして、メイン制御部４１は、二次演算データ領域ｂのデータを、二次演算データ領域ａのデータで除算することで、特定期間（本実施例では、６０００ゲーム）における総払出枚数の割合を算出し、二次演算データ領域ｃのデータを、二次演算データ領域ａのデータで除算することで、特定期間（本実施例では、６０００ゲーム）における役物出枚数の割合を算出し、二次演算データ領域ｃのデータを、二次演算データ領域ａのデータで除算することで、特定期間（本実施例では、６０００ゲーム）における連役出枚数の割合を算出し、二次演算データ領域ｄのデータを、二次演算データ領域ａのデータで除算することで、特定期間（本実施例では、６０００ゲーム）における有利区間払出枚数の割合を算出する。
【０５２９】
また、二次演算データ領域Ｂのデータを、二次演算データ領域Ａのデータで除算することで、スロットマシン１における累計の総払出枚数の割合を算出し、二次演算データ領域Ｂのデータを、二次演算データ領域Ａのデータで除算することで、スロットマシン１における累計の役物出枚数の割合を算出し、二次演算データ領域Ｃのデータを、二次演算データ領域Ａのデータで除算することで、スロットマシン１における累計の連役出枚数の割合を算出し、二次演算データ領域Ｄのデータを、二次演算データ領域Ａのデータで除算することで、スロットマシン１における累計の有利区間払出枚数の割合を算出する。
【０５３０】
また、メイン制御部４１は、所定期間が経過したことが特定される毎に、集計データ領域ｆ’、Ｅ’、Ｆ’をそれぞれ最新の情報に更新した後、当該集計データ領域のうち集計データ領域Ｅ’に設定されているデータが３バイトに達しているか否かを判定して、３バイトに達していない場合には、当該集計データ領域Ｅ’のデータをＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域Ｅに設定する。一方、３バイトに達している場合には抽出処理を行い、抽出されたデータを対応する二次演算データ領域Ｅに設定する。図３７（ｂ）に示すように、抽出処理では、集計データ領域のデータを参照して、最上位の位を特定し、当該最上の位を示す最上位データをＲＡＭ４１ｃの非遊技ＲＡＭ領域の所定領域に設定する。そして、当該最上位の位以下の１６ビットのデータを抽出する。
【０５３１】
また、当該集計データ領域ｆ’については、集計データ領域ｆ’のデータに１００を乗算した値を、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた３バイトの一次演算データ領域ｆ”に設定する。その後、集計データ領域ｆ”に設定されているデータが３バイトに達しているか否かを判定して、３バイトに達していない場合には、当該集計データ領域ｆ”のデータをＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域ｆに設定する。一方、３バイトに達している場合には抽出処理を行い、抽出されたデータを対応する二次演算データ領域ｆに設定する。
【０５３２】
また、集計データ領域ｆについて抽出処理が行われたか否かを参照し、集計データ領域ｆについて抽出処理が行われていない場合には、所定期間のゲーム数である６０００をＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域ｇに設定する。一方、集計データ領域ｆについて抽出処理が行われている場合には、所定期間のゲーム数である６０００について抽出処理を行い、集計データ領域ｆの抽出処理において特定された最上位を特定し、当該最上位以下の１６ビット分のデータを抽出して、二次演算データ領域ｇに設定する。
【０５３３】
また、当該集計データ領域Ｆ’については、集計データ領域Ｆ’のデータに１００を乗算した値を、ＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた３バイトの一次演算データ領域Ｆ”に設定する。その後、集計データ領域Ｅについて抽出処理が行われたか否かを参照し、集計データ領域Ｅについて抽出処理が行われていない場合には、当該集計データ領域Ｆ”のデータをＲＡＭ４１ｃの非遊技ＲＡＭ領域に設けられた２バイトの二次演算データ領域Ｆに設定する。一方、集計データ領域Ｅについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域Ｅの抽出処理において特定された最上位を特定し、当該最上位以下の１６ビット分のデータを抽出して、二次演算データ領域Ｆに設定する。
【０５３４】
そして、メイン制御部４１は、二次演算データ領域Ｆのデータを、二次演算データ領域Ｅのデータで除算することで、スロットマシン１における総累計のゲーム数における有利区間ゲーム回数の割合を算出し、二次演算データ領域ｆのデータを、二次演算データ領域ｇで除算することで、所定期間における有利区間ゲーム回数の割合を算出する。
【０５３５】
メイン制御部４１は、所定時間毎に、二次演算データ領域の該当領域を参照して、所定期間の総払出枚数の割合、総累計の総払出枚数の割合、所定期間の連役払出枚数の割合、所定期間の役物払出枚数の割合、所定期間の有利区間払出枚数の割合、総累計の連役払出枚数の割合、総累計の役物払出枚数の割合、総累計の有利区間払出枚数の割合を特定して、遊技機情報表示器５０の出力バッファに設定することで、遊技機情報表示器５０に表示させる。
【０５３６】
メイン制御部４１は、所定期間が経過したときに、第１〜第５リングバッファのデータに基づいて二次演算データを算出する、すなわち所定期間が経過する毎に、二次演算データを更新するので、所定期間が経過するまでは前回算出された二次演算データが維持され、当該二次演算データに基づいて、遊技機情報表示器５０に総払出枚数等を表示させるので、前回の所定期間が経過した後、次の所定期間が経過するまでは、前回の所定期間が経過したときの、総払出枚数等が遊技機情報表示器５０に表示されることとなる。
【０５３７】
尚、所定時間毎に、上述の総払出枚数等に加えて、所定期間の有利区間ゲーム回数、累計の有利区間ゲーム回数を特定して、遊技機情報表示器５０の出力バッファに設定することで、遊技機情報表示器５０に表示させる構成としても良い。
【０５３８】
また、本実施例では、３バイトからなる総累計データがオーバーフローし得る場合、すなわち総支払枚数等のデータが３バイト以上の数値に達し得る場合には、オーバーフローを回避する処理を実行して、一度関連するデータを消去する。
【０５３９】
詳しくは、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを初期化する。この際、規定数に達した総累計データに関連するデータは、演算に用いられる全てのデータ（本実施例では、総支払枚数、役物払出枚数、連役払出枚数、ゲーム回数、有利区間ゲーム回数の集計データの全て）を初期化するようにしても良いし、相対的に関連性の高い一部データ（例えば、総累計データとして総払出枚数の集計データＡ’が規定数に達した場合には、連役払出比率、役物払出比率、有利区間払出比率の演算の際に集計データＡ’とともに用いられる連役払出枚数の集計データＢ’比率、役物払出枚数の集計データＣ’、有利区間払出枚数の集計データＤ’、総累計データとしてゲーム数の集計データＥ’が規定数に達した場合には、有利区間割合（Ｆ／Ｅ）の演算の際に集計データＥ’とともに用いられる有利区間ゲーム回数の集計データＦ’）を初期化するようにしても良い。
【０５４０】
尚、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを、所定の比率で減少させる（例えば、総累計データを現在の値を０．５倍する等）ことで、総累計データのオーバーフローを回避するようにしても良く、この際に、規定数に達した総累計データ及び当該総累計データに関連するデータの全てのデータを所定の比率で減少させるようにしても良いし、規定数に達した総累計データ及び当該総累計データと相対的に関連性の高い一部データを所定の比率で減少させるようにしても良い。
【０５４１】
また、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを初期化または減少等する場合において、総累計データの規定数は、総累計データの最大値（ＲＡＭ４１ｃの各集計データ領域（３バイト）に格納可能な値の最大値）であっても良いし、総累計データの最大値よりも小さな所定の値（３バイト内で切りの良い値、例えば、「１６００００００（１０進数）」等）であっても良い。
【０５４２】
また、本実施例では、３バイトからなる総累計データがオーバーフローし得る場合、すなわち総支払枚数等のデータが３バイト以上の数値に達し得る場合には、オーバーフローを回避する処理として、一度関連するデータを消去する構成であるが、関連するデータを消去せずに、計数を停止する構成であっても良い。
【０５４３】
また、これら遊技機情報表示器５０に表示されるデータは、１ゲーム毎に実施するようにしても良いし、入賞が発生したゲームだけ実施するようにしても良い。
【０５４４】
遊技機に用いられるマイクロコンピュータは小数点以下の演算を行うことができないため、本実施例では、以下の第１の演算方法を用いて演算を行っている。第１の演算方法においては、まず、分子の値を１００倍する。そしてこの１００倍した値を分母の値で除算する。これにより小数点以下の演算を行うことなく割合を算出することができる。つまり、被除数を１００倍することにより、小数点以下２桁までの演算結果を求められるようにしている。ここで、小数点以下３桁までの演算結果を求める場合１０００倍すれば良い。
【０５４５】
尚、小数点以下の演算を行うことができないマイクロコンピュータが行う演算方法としては、以下の第２の演算方法を用いても良い。第２の演算方法では、まず、分母の値を１００で除算する。そしてこの１００で除算した値で分子の値を除算する。これにより小数点以下の演算を行うことなく割合を算出することができる。つまり、除数を１００で除算することにより、小数点以下２桁までの演算結果を求められるようにしている。ここで、小数点以下３桁までの演算結果を求める場合１０００で除算すれば良い。
【０５４６】
また、遊技機に用いられるマイクロコンピュータは最大２バイトの値同士の演算しか行うことができない。従って、本実施例では、演算を容易にするために、下位ビットを必要に応じて切り捨てるようになっている。このような演算方法を用いることで遊技機において用いられるマイクロコンピュータでの演算が容易になる一方で誤差が生じる。ただし、算出するための期間が長くなることにより誤差は縮小され、本来の数値に近似することとなる。このため、本実施例では、演算の対象となる値が２バイト以下の場合には、下位ビットを切り捨てることなく、そのままの値を用いて演算を行い、演算の対象となる値が２バイトを超える場合に、下位ビットを切り捨てた値を用いて演算を行うようになっている。
【０５４７】
従来のスロットマシンでは、予め定められた設計値に基づいて遊技者にとって有利な状態に制御されるようになっている。
【０５４８】
しかしながら、このような従来の方法では、遊技店に設置された後は、予め定められた設計値に基づいて有利な状態に制御されているか否かを確認することが困難であった。
【０５４９】
これに対して本実施例では、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率が算出され、遊技機情報表示器５０に表示されるので、スロットマシン１が市場に出荷された後も予め定められた設計値に基づいて有利な状態に制御されているか否かを確認することができる。
【０５５０】
また、本実施例では、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において有利期間（有利区間）に制御されたゲーム数の割合である有利区間比率が算出され、遊技機情報表示器５０に表示されるので、市場に出荷された後も射幸性の度合いとなる情報を確認することができる。
【０５５１】
尚、本実施例では、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において有利区間に制御されたゲーム数の割合である有利区間比率が算出され、遊技機情報表示器５０に表示される構成であるが、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）においてＢＢ、ＲＢ等のボーナスに制御されたゲーム数の割合が算出され、遊技機情報表示器５０に表示される構成としても良く、このような構成でも市場に出荷された後も射幸性の度合いとなる情報を確認することができる。
【０５５２】
また、本実施例では、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）の連役払出比率、役物払出比率、有利区間払出比率を算出する際に、これらの元となるデータが所定条件を満たすか否かに応じて異なる算出方法により連役払出比率、役物払出比率、有利区間払出比率を算出するので、これらの元となるデータに合わせて最適な算出方法を選択することができる。例えば、特定期間における払出総数、特定期間の有利区間における払出総数が、２バイト以内であれば、算出の元となるデータを加工することなくそのまま用いて連役払出比率、役物払出比率、有利区間払出比率を算出する一方、特定期間における払出総数、特定期間の有利区間における払出総数が、２バイトを超える場合であれば、算出の元となるデータを２バイト以内のデータに加工してから連役払出比率、役物払出比率、有利区間払出比率を算出することで、誤差の少ない最適な算出方法にて連役払出比率、役物払出比率、有利区間払出比率を算出することができる。
【０５５３】
尚、本実施例では、第１の期間（過去６０００ゲーム間）において付与されたメダルの総数に占める第１の期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率、第２の期間（工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める第２の期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率が算出され、それぞれ遊技機情報表示器５０に表示されるとともに、第１の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合にも、第２の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合にも、共通の算出方法により連役払出比率、役物払出比率、有利区間払出比率が算出される構成であるが、第１の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する方法と、第２の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する方法とが異なる構成としても良い。例えば、上記の例では、連役払出比率、役物払出比率、有利区間払出比率を算出するにあたり、分子を１００倍して結果が％となるようにしているが、分母を１／１００倍して結果が％となるようにすると、第１の期間における総払出枚数は、２バイト以内に収めることができる。このような構成においては、第１の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合には、算出の元となるデータを加工することなくそのまま用いて連役払出比率、役物払出比率、有利区間払出比率を算出する一方、第２の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合には、算出の元となるデータを２バイト以内のデータに加工してから連役払出比率、役物払出比率、有利区間払出比率を算出することで、用いるデータの容量に応じて最適な方法で連役払出比率、役物払出比率、有利区間払出比率を算出することができるようになる。
【０５５４】
また、本実施例では、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）の連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いるデータが、特定期間における総払出枚数、特定期間における有利区間の総払出枚数とは別個に記憶されるので、特定期間の連役払出比率、役物払出比率、有利区間払出比率を簡単な手順で算出することができる。
【０５５５】
また、本実施例では、特定ゲーム数（６０００ゲーム）の期間における連役払出比率、役物払出比率、有利区間払出比率を算出するにあたり、特定ゲーム数を所定数（１５）で分割した所定ゲーム数（４００ゲーム）の期間の総払出枚数、所定ゲーム数の期間の役物払出枚数、所定ゲーム数の期間の連役払出枚数、所定ゲーム数の期間の有利区間払出枚数をそれぞれ記憶する１５セットのバッファからなるリングバッファを備え、これらリングバッファに記憶された総払出枚数、役物払出枚数、連役払出枚数、有利区間払出枚数をそれぞれ合算することで、特定ゲーム数の期間における総払出枚数、役物払出枚数、連役払出枚数、有利区間払出枚数を算出し、特定ゲーム数（６０００ゲーム）の期間における連役払出比率、役物払出比率、有利区間払出比率を算出するようになっており、直近の特定ゲーム数における連役払出比率、役物払出比率、有利区間払出比率を容易に算出することができる。
【０５５６】
また、本実施例では、特定ゲーム数（６０００ゲーム）の期間における有利区間割合を算出するにあたり、特定ゲーム数を所定数（１５）で分割した所定ゲーム数（４００ゲーム）の期間の有利区間のゲーム数をそれぞれ記憶する１５セットのバッファからなるリングバッファを備え、これらリングバッファに記憶された有利区間のゲーム数を合算することで、特定ゲーム数の期間における有利区間のゲーム数を算出し、特定ゲーム数（６０００ゲーム）の期間における有利区間のゲーム数を算出するようになっており、直近の特定ゲーム数における有利区間のゲーム数を容易に算出することができる。
【０５５７】
また、本実施例では、遊技制御基板４０は、透明な樹脂を成形した基板ケース１２０ａに収容された状態で筐体１ａに取り付けられており、遊技機情報表示器５０は、遊技制御基板４０が基板ケース１２０ａに収容され、筐体１ａに取り付けられた状態で、基板ケース１２０ａを介してその表示内容を視認できるようなっている。また、基板ケース１２０ａは、遊技制御基板４０を収容した後封止されるようになっており、封止された状態では、痕跡を残すことなく封止を解除して開放することができないようになっている。このため、遊技機情報表示器５０に不正な細工がされることを防止できる。
【０５５８】
また、本実施例では、ＲＡＭ４１ｃに遊技の進行に応じたデータが記憶される遊技ＲＡＭ領域と、遊技機情報表示器５０に役払出比率、役物払出比率、有利区間払出比率等を表示するために用いられるデータが記憶される非遊技ＲＡＭ領域と、を備え、設定変更状態への移行等によりＲＡＭ４１ｃの初期化条件が成立した場合に、遊技ＲＡＭ領域のデータは初期化される一方、非遊技ＲＡＭ領域のデータは初期化されないので、初期化条件が成立した場合でも、それ以前のデータを加味して役払出比率、役物払出比率、有利区間払出比率等を算出して表示することができる。
【０５５９】
本実施例では、メイン制御部４１により、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる構成であり、遊技機情報表示器５０は、遊技制御基板４０が基板ケース１２０ａに封入されている状態で、当該基板ケース１２０ａの外部から表示内容を視認可能となっているとともに、遊技制御基板４０に封入された基板ケース１２０ａは、筐体１ａの内部に配置されるようになっており、筐体１ａの内部は、遊技機情報表示器５０の視認性を妨げないように構成されているため、スロットマシン１の前面扉１ｂを開放するだけで遊技機情報表示器５０の表示を確認することが可能であり、遊技機情報表示器５０の表示に基づいて、設計値に基づいて有利な状態に制御されているか否かを容易に確認することができる。
【０５６０】
本実施例では、メイン制御部４１により、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる構成であり、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたり、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたり、遊技機情報表示器５０に接続不良が生じたりしたこと、すなわち有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることを検出するようになっており、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が遊技機情報表示器５０により適正に表示されなくなる可能性のある事象が発生したことが検知されるので、これらの情報が適正に表示されないようにする不正を防止できる。
【０５６１】
本実施例では、メイン制御部４１により、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる構成であり、連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いる総支払枚数等のデータが３バイト以上の数値に達する場合には、オーバーフローを回避する処理を実行して、一度関連するデータを消去することで、連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いる総支払枚数等のデータが上限値を超えることが回避されるため、連役払出比率等を算出する際に用いる総支払枚数等のデータが上限値を超えてしまう状況に至っても、連役払出比率、役物払出比率、有利区間払出比率を算出して、これらの情報を遊技機情報表示器５０に表示させることができる。
【０５６２】
本実施例では、メイン制御部４１により、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる構成であり、メイン制御部４１は、遊技機情報表示器５０において連役払出比率、役物払出比率、有利区間払出比率等の情報を、所定の表示順にて周期的（本実施例では、３０秒毎）に切り替えて表示するようになっており、これら連役払出比率等の表示が一巡し終えるまでの一の期間内においては、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させるので、遊技機情報表示器５０において連役払出比率等の多くの情報を効率良く表示することができるとともに、一の周期で表示される複数種類の情報として同時期に更新された情報が表示されるので、一の周期中に異なる時期の情報が混在してしまうことを防止できる。
【０５６３】
本実施例では、メイン制御部４１により、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる構成であり、メイン制御部４１は、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが正常か否かを判定し、これらのデータの少なくともいずれかに異常と判定された場合には、異常と判定されたデータ及び当該データに関連するデータを初期化し、異常が検知された旨の表示（例えば、「ＦＦＦＦ」）を遊技機情報表示器５０にさせて、その旨を報知するようになっているので、有利区間割合等を算出するのに必要なデータが初期化されたことで、これらのデータの算出が正常に行われておらず、有利区間割合等が正常な値ではない可能性を認識させることができる。
【０５６４】
尚、メイン制御部４１は、ＲＡＭ４１ｃの異常が検出された場合には、過去６０００ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去６０００ゲーム間の連役払出比率、過去６０００ゲーム間の役物払出比率、過去６０００ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが記憶される非遊技ＲＡＭ領域を初期化する構成としても良く、このような構成とすることで、これらのデータのうち異常が生じているデータを特定せずに、簡素な処理で、これらのデータを新たに算出させることができる。
【０５６５】
本実施例では、メイン制御部４１により、特定期間（過去６０００ゲーム間、工場出荷時または何らかの原因でＲＡＭ４１ｃのデータが初期化されてから現在までの期間）において付与されたメダルの総数に占める特定期間における有利期間（ＢＢ、ＲＢ、有利区間）において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板４０に搭載された遊技機情報表示器５０に表示させる構成であり、メイン制御部４１は、ゲームの進行に応じて小役入賞の発生が判定されたタイミング、すなわち、メダルが払い出される小役の図柄組合せリールに停止されたときに、メダルが実際に払い出されて、払い出しが完了するのを待つことなく、データ計数バッファにメダル数を加算するので、小役の入賞に伴う払い出しが完了するのを待つことなく連役払出比率、役物払出比率、有利区間払出比率の算出に用いられるデータを更新することができる。
【０５６６】
尚、本実施例では、メイン制御部４１は、ゲームの進行に応じて小役入賞の発生が判定されたタイミングで、データ計数バッファにメダル数を加算する構成であるが、データ計数バッファにメダル数が加算されるタイミングは、小役入賞の発生により実際にメダルが付与されたタイミング（クレジットの加算または実際のメダルの払出の検出）とする構成であっても良く、このような構成とすることで、メダルが払い出される小役の図柄組合せリールに停止されたときに、メダルが実際に払い出されて、払い出しが完了してから、連役払出比率、役物払出比率、有利区間払出比率の算出に用いられるデータを更新することができる。
【０５６７】
以上、本発明の実施例２を説明してきたが、本発明はこの実施例２に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例１と同一もしくは類似する構成については、実施例１で説明したものと同様の効果を有するものである。また、実施例１について例示した変形例についても実施例２に適用可能である。
【符号の説明】
【０５６８】
１  スロットマシン
２Ｌ、２Ｃ、２Ｒ  リール
６  ＭＡＸＢＥＴスイッチ
７  スタートスイッチ
８Ｌ、８Ｃ、８Ｒ  ストップスイッチ
４１  メイン制御部
９１  サブ制御部
【図１】
2018175375.tif 000003
【図２】
2018175375.tif 000004
【図３】
2018175375.tif 000005
【図４】
2018175375.tif 000006
【図５】
2018175375.tif 000007
【図６】
2018175375.tif 000008
【図７】
2018175375.tif 000009
【図８】
2018175375.tif 000010
【図９】
2018175375.tif 000011
【図１０】
2018175375.tif 000012
【図１１】
2018175375.tif 000013
【図１２】
2018175375.tif 000014
【図１３】
2018175375.tif 000015
【図１４】
2018175375.tif 000016
【図１５】
2018175375.tif 000017
【図１６】
2018175375.tif 000018
【図１７】
2018175375.tif 000019
【図１８】
2018175375.tif 000020
【図１９】
2018175375.tif 000021
【図２０】
2018175375.tif 000022
【図２１】
2018175375.tif 000023
【図２２】
2018175375.tif 000024
【図２３】
2018175375.tif 000025
【図２４】
2018175375.tif 000026
【図２５】
2018175375.tif 000027
【図２６】
2018175375.tif 000028
【図２７】
2018175375.tif 000029
【図２８】
2018175375.tif 000030
【図２９】
2018175375.tif 000031
【図３０】
2018175375.tif 000032
【図３１】
2018175375.tif 000033
【図３２】
2018175375.tif 000034
【図３３】
2018175375.tif 000035
【図３４】
2018175375.tif 000036
【図３５】
2018175375.tif 000037
【図３６】
2018175375.tif 000038
【図３７】
2018175375.tif 000039